專利名稱:打印系統(tǒng)及其控制方法和打印方法、主設(shè)備及所用打印機的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種打印系統(tǒng),該打印系統(tǒng)通過使用雙向接口連接打印機和包括用于錯誤恢復(fù)的頁存儲器的主設(shè)備。
背景技術(shù):
在包括主設(shè)備和打印機的打印系統(tǒng)中,為了從錯誤例如卡紙中恢復(fù),通過向打印機提供頁存儲器,從而當(dāng)錯誤例如卡紙發(fā)生時,打印頁存儲器中存儲的數(shù)據(jù)的方法通常用于錯誤恢復(fù)。
在這種錯誤恢復(fù)方法中,除非打印機包括具有能夠存儲至少一頁的打印數(shù)據(jù)的存儲能力的存儲器,否則錯誤恢復(fù)是不可能的。此外,為了使打印機在打印機引擎的最大打印速度下打印,必須并行地進行多頁紙張的輸送、打印和排出。因而,除非打印機包括具有能夠存儲大約3到6頁的打印數(shù)據(jù)的存儲能力的存儲器,否則錯誤恢復(fù)是不可能的。因而,尤其是在高分辨率的或者用于大的數(shù)據(jù)容量的彩色打印機的情況下,需要海量存儲器,用于存儲一頁的打印數(shù)據(jù),因而引起增加打印機的成本的問題。
為了解決這個問題,其中借助于提供具有用于錯誤恢復(fù)的頁存儲器的主設(shè)備把打印機的存儲容量減到最小的技術(shù)是公知的(例如見日本專利公開第8-258375和9-282114號)。
不過,這些技術(shù)具有使打印機性能變劣的問題,這是因為,在直到一個打印作業(yè)完成的期間,打印機都被占據(jù),從而阻止被另一個打印作業(yè)中斷,因而,打印機必須被連續(xù)地占用,直到打印作業(yè)的最后頁被排出,打印操作正常地結(jié)束。此外,另一個打印作業(yè)的頁不能被連續(xù)地打印,因而引起在作業(yè)之間的停機時間。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明把作業(yè)之間的停機時間減到最小。
按照本發(fā)明的一個方面,提供一種打印系統(tǒng),其包括用于錯誤恢復(fù)的頁存儲器的至少一個主設(shè)備;打印機;以及用于連接主設(shè)備和打印機的雙向接口,其中主設(shè)備包括命令裝置,用于當(dāng)打印作業(yè)開始時,命令打印機改變到被占用狀態(tài),并且當(dāng)打印作業(yè)的打印數(shù)據(jù)傳送完成時,命令打印機改變?yōu)榭粘鰻顟B(tài),而不等待來自打印機的打印完成通知;以及打印機包括用于響應(yīng)來自主設(shè)備的指令使打印機改變?yōu)檎加脿顟B(tài)和空出狀態(tài)之一的裝置。
按照本發(fā)明的另一個方面,提供一種用于控制打印系統(tǒng)的方法。該打印系統(tǒng)包括具有用于錯誤恢復(fù)的頁存儲器的至少一個主設(shè)備、打印機以及用于連接主設(shè)備和打印機的雙向接口,方法包括以下步驟在主設(shè)備開始打印作業(yè)之前命令打印機改變?yōu)檎加脿顟B(tài);在完成打印作業(yè)的打印數(shù)據(jù)傳送之后,命令打印機改變?yōu)榭粘鰻顟B(tài)而不等待來自打印機的打印完成通知;以及響應(yīng)來自主設(shè)備的指令,使打印機改變?yōu)檎加脿顟B(tài)和空出狀態(tài)之一。
按照本發(fā)明的另一個方面,提供一種打印方法,該方法包括以下步驟在向打印機傳送打印作業(yè)數(shù)據(jù)之前向打印機傳送占用請求;當(dāng)完成打印作業(yè)的數(shù)據(jù)傳送時,向打印機發(fā)送空出請求;以及在向打印機發(fā)送空出請求之后,監(jiān)視打印機的狀態(tài);以及當(dāng)檢測到錯誤時,在向打印機傳送打印作業(yè)數(shù)據(jù)之前,向打印機傳送占用請求。
按照本發(fā)明的另一個方面,提供一種程序,用于執(zhí)行上述的打印方法。
按照本發(fā)明的另一個方面,提供一種主設(shè)備,其包括第一裝置,用于在向打印機傳送打印作業(yè)數(shù)據(jù)之前向打印機發(fā)送占用請求;第二裝置,用于當(dāng)?shù)谝谎b置完成打印作業(yè)數(shù)據(jù)傳送時向打印機發(fā)送空出請求;以及第三裝置,用于在向打印機發(fā)送空出請求之后監(jiān)視打印機的狀態(tài);并且當(dāng)檢測到錯誤時,在向打印機傳送打印作業(yè)數(shù)據(jù)之前傳送占用請求。
按照本發(fā)明的另一個方面,提供一種打印方法,包括以下步驟當(dāng)收到占用請求時確定是否檢測到錯誤作業(yè);當(dāng)檢測到錯誤作業(yè)時,則確定發(fā)送占用請求的作業(yè)是否和錯誤作業(yè)匹配;以及當(dāng)發(fā)送占用請求的作業(yè)和錯誤作業(yè)匹配時,發(fā)送正常響應(yīng),以及當(dāng)發(fā)送占用請求的作業(yè)和錯誤作業(yè)不匹配時發(fā)送錯誤響應(yīng)。
按照本發(fā)明的另一個方面,提供一種程序,其允許計算機執(zhí)行上述的打印方法。
按照本發(fā)明的另一個方面,提供一種打印機,其包括用于當(dāng)收到占用請求時確定是否檢測到錯誤作業(yè)的裝置;用于當(dāng)檢測到錯誤作業(yè)時,確定發(fā)送占用請求的作業(yè)是否和錯誤作業(yè)匹配的裝置;以及用于當(dāng)發(fā)送占用請求的作業(yè)和錯誤作業(yè)匹配時,發(fā)送正常響應(yīng),當(dāng)發(fā)送占用請求的作業(yè)和錯誤作業(yè)不匹配時發(fā)送錯誤響應(yīng)的裝置。
按照本發(fā)明的另一個方面,提供一種打印機,其包括第一裝置,其響應(yīng)來自第一作業(yè)的占用請求,把第一作業(yè)設(shè)置為打印機占用狀態(tài),并響應(yīng)來自第一作業(yè)的空出請求,撤銷第一作業(yè)的占用狀態(tài);以及第二裝置,其在由第二作業(yè)占用打印機的期間,響應(yīng)第一作業(yè)中的錯誤撤銷第二作業(yè)的打印機占用狀態(tài)。
按照本發(fā)明的另一個方面提供一種打印方法,所述方法包括響應(yīng)來自第一作業(yè)的打印機占用請求,把第一作業(yè)設(shè)置為打印機占用狀態(tài);響應(yīng)來自第一作業(yè)的空出請求,撤銷第一作業(yè)的占用狀態(tài);以及在由第二作業(yè)占用打印機的期間,響應(yīng)第一作業(yè)中的錯誤,撤銷第二作業(yè)的占用狀態(tài)。
按照本發(fā)明的另一個方面,提供一種程序,其允許計算機執(zhí)行上述打印方法的各個步驟。
按照本發(fā)明的另一個方面,提供一種信息處理設(shè)備,其包括第一命令裝置,用于當(dāng)打印作業(yè)開始時,命令打印機改變?yōu)楸徽加脿顟B(tài),在打印作業(yè)的打印數(shù)據(jù)傳送完成之后,命令打印機改變?yōu)榭粘鰻顟B(tài),而不等待來自打印機的打印完成通知;以及第二命令裝置,用于在由第一命令裝置把打印機改變?yōu)榭粘鰻顟B(tài)之后,進行狀態(tài)監(jiān)視,并當(dāng)檢測到錯誤時命令打印機改變?yōu)楸徽加脿顟B(tài)。
按照本發(fā)明的另一個方面,提供一種打印方法,所述方法包括當(dāng)開始打印作業(yè)時命令打印機改變到占用狀態(tài);在完成打印作業(yè)的打印數(shù)據(jù)的傳輸之后命令打印機改變到空出狀態(tài)而不等待來自打印機的打印完成通知;在打印機改變?yōu)榭粘鰻顟B(tài)之后進行狀態(tài)監(jiān)視;以及,當(dāng)檢測到錯誤時命令打印機改變?yōu)檎加脿顟B(tài)。
按照本發(fā)明的另一個方面,提供一種程序,其允許計算機執(zhí)行上述的打印方法。
由下面結(jié)合附圖進行的優(yōu)選實施方式的說明可以清楚地看出本發(fā)明的其它特征和優(yōu)點。
圖1是表示在本發(fā)明的第一實施方式中的主設(shè)備的配置的方框圖;圖2是表示在第一實施方式中的打印機的配置的示意的方框圖;圖3是表示在第一實施方式中作業(yè)管理信息的數(shù)據(jù)結(jié)構(gòu)的例子的方框圖;圖4是表示在第一實施方式中的語言監(jiān)視器的處理的流程圖;圖5是表示圖4所示的數(shù)據(jù)傳輸處理的詳細(xì)的流程圖;圖6是表示狀態(tài)監(jiān)視處理的詳細(xì)流程圖;圖7是表示圖1所示的打印機中的指令處理流程圖;圖8是表示圖1所示的打印機的打印的流程圖;圖9是表示在本發(fā)明的第二實施方式中的語言監(jiān)視器的處理的流程圖;圖10是表示在第二實施方式中的打印機的打印的流程圖;圖11表示當(dāng)發(fā)生錯誤時由作業(yè)占用狀態(tài)到作業(yè)空出狀態(tài)的改變。
具體實施例方式
下面參照
本發(fā)明的示例性實施方式。下面的實施方式說明一種方法,其中,在通過借助于雙向接口連接多個主設(shè)備和打印機而形成的系統(tǒng)中,在從主設(shè)備向打印機發(fā)送的打印作業(yè)之間的停機時間被減到最小。
第一實施方式圖1是表示在本發(fā)明的第一實施方式中主設(shè)備的配置的方框圖。參見圖1,計算機1(或計算機11),例如個人計算機或工作站,作為主設(shè)備,并具有硬件(未示出)例如中央處理單元(CPU)、硬盤、軟盤驅(qū)動器、鍵盤、監(jiān)視器和網(wǎng)絡(luò)接口。操作系統(tǒng)2(或操作系統(tǒng)12)管理計算機1(或計算機11)的硬件和例如應(yīng)用程序的軟件模塊、打印機驅(qū)動器、語言監(jiān)視器和網(wǎng)絡(luò)端口驅(qū)動器。
應(yīng)用程序3(或應(yīng)用程序13)例如是軟件,例如文字處理軟件,其響應(yīng)用戶的指令進行文件準(zhǔn)備或打印。打印機驅(qū)動器(driver)4(或打印機驅(qū)動器14)通過操作系統(tǒng)2(或操作系統(tǒng)12)接收應(yīng)用程序3發(fā)送的打印指令,并把打印指令轉(zhuǎn)換成可由語言監(jiān)視器5(或語言監(jiān)視器15)和打印機7編譯的打印機指令,這在后面進行說明。語言監(jiān)視器5(或語言監(jiān)視器15)接收從打印機驅(qū)動器4(或打印機驅(qū)動器14)輸出的打印機指令,并通過網(wǎng)絡(luò)端口驅(qū)動器6(或網(wǎng)絡(luò)端口驅(qū)動器16)把打印指令傳送到打印機7,這在后面進行說明。
在第一實施方式中,根據(jù)從應(yīng)用程序3(或應(yīng)用程序13)發(fā)出的打印指令,打印機驅(qū)動器4(或打印機驅(qū)動器14)把數(shù)據(jù)轉(zhuǎn)換成壓縮的圖像數(shù)據(jù),并將壓縮的圖像數(shù)據(jù)和頁開始指令以及圖像數(shù)據(jù)結(jié)束指令一起輸出,所述頁開始指令用于指定紙大小、圖像數(shù)據(jù)的行長度、以及圖像數(shù)據(jù)的行數(shù),所述圖像數(shù)據(jù)結(jié)束指令表示圖像數(shù)據(jù)的結(jié)束。
在計算機1(或計算機11)的存儲器中定義頁緩沖器,其細(xì)節(jié)將在后面說明,所述頁緩沖器存儲來自打印機驅(qū)動器4(或打印機驅(qū)動器14)的壓縮的圖像數(shù)據(jù)。
網(wǎng)絡(luò)端口驅(qū)動器6(或網(wǎng)絡(luò)端口驅(qū)動器16)通過網(wǎng)絡(luò)接口向打印機7發(fā)送由語言監(jiān)視器5(或語言監(jiān)視器15)輸出的打印機指令。此外,當(dāng)接收到來自打印機7的狀態(tài)時,網(wǎng)絡(luò)端口驅(qū)動器6(或16)輸出該狀態(tài)到語言監(jiān)視器5(或語言監(jiān)視器15)。打印機7接收從網(wǎng)絡(luò)端口驅(qū)動器6(或網(wǎng)絡(luò)端口驅(qū)動器16)輸出的打印機指令,并按照打印指令進行打印。
圖2是表示在第一實施方式中的打印機7的配置的示意方框圖。在第一實施方式中,電子照像激光束打印機被描述為打印機7。不過,本發(fā)明不僅可以應(yīng)用于電子照相激光束打印機,而且能夠用于噴墨打印機。
參見圖2,打印機7包括網(wǎng)絡(luò)接口21,其控制通過網(wǎng)絡(luò)和計算機1(或11)的數(shù)據(jù)通信。例如,網(wǎng)絡(luò)接口21接收來自計算機1(或11)的上述的打印機指令,并向計算機1(或11)發(fā)送打印機狀態(tài)。FIFO(先進先出)存儲器22存儲由網(wǎng)絡(luò)接口21接收的壓縮的圖像數(shù)據(jù)。譯碼器電路23從FIFO存儲器22讀出壓縮的圖像數(shù)據(jù),將讀出的圖像數(shù)據(jù)譯碼,并向打印機引擎24輸出譯碼的圖像數(shù)據(jù)(后面說明)。響應(yīng)來自控制電路25(后面說明)的指令,打印機引擎24按照由譯碼電路23輸出的圖像數(shù)據(jù)進行打印。控制電路25例如由單芯片的CPU構(gòu)成,用于控制網(wǎng)絡(luò)接口21、FIFO存儲器22、譯碼電路23和打印機引擎24。
下面說明由上述的計算機1和11以及打印機7構(gòu)成的打印系統(tǒng)的打印操作的概況。
當(dāng)操作者使用計算機1內(nèi)的應(yīng)用程序3命令打印機7打印文件時,通過操作系統(tǒng)2從應(yīng)用程序3向打印機驅(qū)動器4發(fā)送打印指令。這允許打印機驅(qū)動器4根據(jù)應(yīng)用程序3發(fā)出的打印指令進行轉(zhuǎn)換并壓縮成壓縮的圖像數(shù)據(jù)(位圖數(shù)據(jù)),并和頁開始指令以及圖像數(shù)據(jù)結(jié)束指令一道輸出,所述頁開始指令用于指定紙大小、圖像數(shù)據(jù)的行長度、以及圖像數(shù)據(jù)的行數(shù),所述圖像數(shù)據(jù)結(jié)束指令表示圖像數(shù)據(jù)的結(jié)束。
在從打印機驅(qū)動器4輸出打印指令并且操作系統(tǒng)2通知語言監(jiān)視器5作業(yè)開始之后,操作系統(tǒng)2向語言監(jiān)視器5按順序發(fā)送由打印機驅(qū)動器4輸出的打印機指令。當(dāng)語言監(jiān)視器5開始打印作業(yè)時,其通過網(wǎng)絡(luò)端口驅(qū)動器6向打印機7發(fā)送占用請求指令。
當(dāng)這使得語言監(jiān)視器5成功地占用打印機7時,從操作系統(tǒng)2接收的打印機指令通過網(wǎng)絡(luò)端口驅(qū)動器6按順序傳遞給打印機7。在向打印機7傳遞圖像數(shù)據(jù)指令之前,語言監(jiān)視器5傳遞狀態(tài)請求指令,獲得打印機7的狀態(tài),確認(rèn)可以發(fā)送圖像數(shù)據(jù)指令。在語言監(jiān)視器5完成一頁的打印機指令的傳遞之后,語言監(jiān)視器5發(fā)送打印請求指令。
此外,當(dāng)在打印機7中的控制電路25通過網(wǎng)絡(luò)接口21收到打印請求指令時,控制電路25命令打印引擎24開始打印。這使得打印引擎24輸送紙張,并且當(dāng)所述紙到達一個預(yù)定位置時請求輸出圖像數(shù)據(jù)。響應(yīng)圖像數(shù)據(jù)輸出的請求,譯碼電路23從FIFO存儲器22中讀出壓縮的圖像數(shù)據(jù),并向打印引擎24輸出借助于譯碼獲得的原始圖像數(shù)據(jù)。此時,從FIFO存儲器22讀出的圖像數(shù)據(jù)被從FIFO存儲器22中刪除。
此后,當(dāng)語言監(jiān)視器5從打印機7獲得表示打印已經(jīng)正常完成的狀態(tài)時,在打印機7中的相應(yīng)的頁存儲器被釋放。當(dāng)語言監(jiān)視器5從打印機7獲得表示打印尚未正常完成的狀態(tài)時,語言監(jiān)視器5則嘗試從打印尚未正常完成的頁開始再次發(fā)送。
在語言監(jiān)視器5以上述方式完成一個打印作業(yè)中的所有頁的打印機指令的傳送之后,語言監(jiān)視器5不等待紙的完全排出便發(fā)送一個空出指令。此外,在語言監(jiān)視器5發(fā)出空出指令之后,語言監(jiān)視器5繼續(xù)獲得打印機7的狀態(tài)。當(dāng)獲得的狀態(tài)表示頁的打印已經(jīng)正常完成時,在打印機7中的相應(yīng)的頁存儲器被釋放。當(dāng)語言監(jiān)視器5檢測到錯誤時,語言監(jiān)視器5便再次發(fā)送占用請求指令,并嘗試恢復(fù)錯誤的頁。
下面參照圖3說明由語言監(jiān)視器5管理的作業(yè)管理信息的數(shù)據(jù)結(jié)構(gòu)。
圖3是表示在第一實施方式中作業(yè)管理信息的數(shù)據(jù)結(jié)構(gòu)的例子。如圖3所示,作業(yè)隊列數(shù)據(jù)(作業(yè)隊列)301表示作業(yè)管理信息310的開始地址。作業(yè)管理信息310包括形成鏈表的下一個作業(yè)數(shù)據(jù)(下一個作業(yè))。當(dāng)由操作系統(tǒng)2報告作業(yè)開始時,則下一個作業(yè)數(shù)據(jù)(下一個作業(yè))311在鏈表的末尾鏈接新的作業(yè)管理信息。
當(dāng)前作業(yè)數(shù)據(jù)(當(dāng)前作業(yè))302表示尚未被傳遞的作業(yè)管理信息的開始地址。當(dāng)一個作業(yè)中的所有頁的打印機指令傳送完成時,根據(jù)下一個作業(yè)(下一個作業(yè))數(shù)據(jù)311,當(dāng)前作業(yè)數(shù)據(jù)(當(dāng)前作業(yè))302被更新,從而表示下一個作業(yè)管理信息。
作業(yè)管理信息310包括用于識別作業(yè)的作業(yè)編號數(shù)據(jù)(作業(yè)號)313。響應(yīng)占用請求指令由打印機7報告的編號被存儲在作業(yè)編號數(shù)據(jù)(作業(yè)編號)313中。作業(yè)管理信息310還包括表示由作業(yè)管理信息310管理的頁管理信息320的開始地址的頁隊列數(shù)據(jù)(頁隊列)312。頁管理信息320包括形成鏈表的下一頁數(shù)據(jù)(下一頁)321。當(dāng)一頁的圖像數(shù)據(jù)從操作系統(tǒng)2被發(fā)送時,下一頁數(shù)據(jù)(下一頁)321便在鏈表的末尾鏈接新的頁管理信息。
當(dāng)前頁數(shù)據(jù)(當(dāng)前頁)303表示尚未完成發(fā)送的頁管理信息的開始地址。當(dāng)一頁的所有的打印機指令發(fā)送完成時,當(dāng)前頁數(shù)據(jù)(當(dāng)前頁)303被更新,以便根據(jù)這個頁管理信息的下一頁數(shù)據(jù)(下一頁)表示下一頁管理信息的地址。
頁管理信息320還包括用于識別頁的頁編號數(shù)據(jù)(頁編號)322。從在占用請求時間確定的基準(zhǔn)頁編號的下一個開始的順序號被設(shè)置在頁編號數(shù)據(jù)(頁編號)322中。頁管理信息320包括緩沖器數(shù)據(jù)(緩沖器)323,其表示由頁管理信息320管理的頁緩沖器數(shù)據(jù)(頁緩沖器)330的開始地址。在頁緩沖器數(shù)據(jù)(頁緩沖器)330中,設(shè)置用于形成頁的連續(xù)的打印機指令。
當(dāng)前指令數(shù)據(jù)(當(dāng)前指令)304表示其傳送尚未完成的打印機指令的開始地址。當(dāng)一個打印機指令被發(fā)送時,當(dāng)前指令數(shù)據(jù)(當(dāng)前指令)304被更新,以便表示下一個打印機指令。
當(dāng)語言監(jiān)視器5從打印機7收到表示由當(dāng)前頁數(shù)據(jù)(當(dāng)前頁)303表示的頁的打印已經(jīng)正常完成的狀態(tài)時,語言監(jiān)視器5便釋放頁緩沖器數(shù)據(jù)(頁緩沖器)330和與該頁相關(guān)的頁管理信息320,并更新在作業(yè)管理信息310中的頁隊列數(shù)據(jù)(頁隊列)312,以便表示下一個頁管理信息。隨后,由當(dāng)前指令數(shù)據(jù)(當(dāng)前指令)304表示的所有的打印機指令,以及由當(dāng)前作業(yè)數(shù)據(jù)(當(dāng)前作業(yè))302表示的作業(yè)管理信息310內(nèi)的頁隊列數(shù)據(jù)(頁隊列)312表示的所有頁的打印都正常結(jié)束,因而允許所有的頁管理信息320被釋放。此后,用于這個作業(yè)的作業(yè)管理信息310被釋放,并且當(dāng)前作業(yè)數(shù)據(jù)(當(dāng)前作業(yè))302被更新,以便表示下一個作業(yè)管理信息的地址。
下面參照圖4說明在第一實施方式中的語言監(jiān)視器5的處理的細(xì)節(jié)。
圖4是表示在第一實施方式中的語言監(jiān)視器5的處理的流程圖。在步驟S1,語言監(jiān)視器5進行狀態(tài)監(jiān)視處理(后面參照圖6說明),獲得打印機7的狀態(tài)。在步驟S2,通過參考在步驟S1獲得的狀態(tài),語言監(jiān)視器5確定是否發(fā)生錯誤。當(dāng)錯誤發(fā)生時,語言監(jiān)視器5進行步驟S3,設(shè)置所有的作業(yè)和每一頁都處于不傳送狀態(tài)。具體地說,在圖3所示的當(dāng)前作業(yè)數(shù)據(jù)(當(dāng)前作業(yè))302中,設(shè)置被存儲在作業(yè)隊列數(shù)據(jù)(作業(yè)隊列)301中的作業(yè)管理信息310的地址。在當(dāng)前頁數(shù)據(jù)(當(dāng)前頁)303中,設(shè)置在作業(yè)管理信息310的頁隊列數(shù)據(jù)(頁隊列)312中存儲的頁管理信息320的地址。此外,在當(dāng)前指令數(shù)據(jù)(當(dāng)前指令)304中,設(shè)置在頁管理信息320的緩沖器數(shù)據(jù)(緩沖器)323中存儲的頁緩沖器的開始地址。當(dāng)在步驟S2確定未發(fā)生錯誤時,語言監(jiān)視器5的處理進入步驟S4。
在步驟S4,語言監(jiān)視器5確定是否檢測到不被傳送的作業(yè)。如果沒有檢測到不被傳送的作業(yè),則語言監(jiān)視器5返回S1,并等待操作系統(tǒng)2報告作業(yè)開始。如果檢測到不被傳送的作業(yè),則語言監(jiān)視器5進入步驟S5,并發(fā)送占用請求指令。當(dāng)發(fā)送占用請求指令時,語言監(jiān)視器5報告作為參數(shù)的作業(yè)管理信息310的作業(yè)編號。作業(yè)編號數(shù)據(jù)(作業(yè)編號)313的初始值是0。因而,當(dāng)最初這個作業(yè)占用打印機7時,語言監(jiān)視器5報告0。
在步驟S6,語言監(jiān)視器5收到對占用請求指令的響應(yīng)。如果收到的響應(yīng)不是正常的響應(yīng),則表示打印機7的占用失敗,語言監(jiān)視器5的處理返回步驟S1,并嘗試占用打印機7。如果收到的響應(yīng)是正常響應(yīng),則報告的作業(yè)編號被記錄在作業(yè)編號數(shù)據(jù)(作業(yè)編號)313中并被存儲在當(dāng)前占用打印機7的作業(yè)的作業(yè)編號(未示出)中。在步驟S7,語言監(jiān)視器5進行狀態(tài)監(jiān)視處理。
在步驟S8,通過參考在步驟S7獲得的狀態(tài),語言監(jiān)視器5確定是否發(fā)生錯誤。如果未發(fā)生錯誤,則語言監(jiān)視器5進入步驟S9,并確定打印機7是否正在打印。如果打印機7未正在打印,則語言監(jiān)視器5進入步驟S10,并設(shè)置0作為傳送頁的編號。在步驟S11,語言監(jiān)視器5傳送數(shù)據(jù)清除指令。此時,設(shè)置0作為頁編號的初始值。
在步驟S9,如果打印機7正在打印,則語言監(jiān)視器5進入步驟S12。在步驟S12,通過參考在步驟S7獲得的狀態(tài),語言監(jiān)視器5設(shè)置打印開始頁編號作為傳送頁編號。在步驟S13,語言監(jiān)視器5進行數(shù)據(jù)傳送處理,這在后面參照圖5進行說明。當(dāng)在處理中的作業(yè)中的所有頁的傳送完成時,這是正常情況,或者檢測到錯誤時,數(shù)據(jù)傳送處理結(jié)束,語言監(jiān)視器5進入步驟S14。在步驟S14,通過參考在步驟S13獲得的最近狀態(tài),語言監(jiān)視器5確定是否發(fā)生錯誤。如果沒有發(fā)生錯誤,則處理中的作業(yè)中的所有頁的傳送結(jié)束。因而,語言監(jiān)視器5進入步驟S15,并傳送空出指令。此時,清除當(dāng)前占用打印機7的作業(yè)的作業(yè)編號。然后,語言監(jiān)視器5的處理返回步驟S1。
此后,執(zhí)行由步驟S1,S2和S4形成的循環(huán)。當(dāng)在作業(yè)中的所有頁的打印正常結(jié)束時,在步驟S1中的狀態(tài)監(jiān)視處理中執(zhí)行作業(yè)結(jié)束處理。在作業(yè)中的所有頁的打印正常結(jié)束之前,當(dāng)發(fā)生錯誤時,語言監(jiān)視器5進行步驟S3-S5,占用打印機7,并從發(fā)生錯誤的頁重試數(shù)據(jù)傳送。
在作業(yè)中的所有頁的打印正常完成之前向語言監(jiān)視器5報告下一個作業(yè)的開始時,語言監(jiān)視器5進行到步驟S5,并占用打印機7用于上述的處理。如果不發(fā)生錯誤,則在步驟S13,語言監(jiān)視器5進行新的作業(yè)中的數(shù)據(jù)傳送。
此后,在步驟S8或S14,如果錯誤發(fā)生,則語言監(jiān)視器5處理步驟S16,并設(shè)置作業(yè)和頁為不被傳送狀態(tài)。在步驟S17,通過參考獲得的最近的狀態(tài),語言監(jiān)視器5確定在打印機狀態(tài)中的開始作業(yè)編號是否和當(dāng)前占用打印機7的作業(yè)的作業(yè)編號匹配。如果兩個編號彼此匹配,則語言監(jiān)視器5進入步驟S10,并從發(fā)生錯誤的頁重試數(shù)據(jù)傳送。
在另一方面,如果兩個編號不匹配,即當(dāng)新的作業(yè)在結(jié)束前一個作業(yè)之前開始,并且在前一個作業(yè)的頁打印中發(fā)生錯誤時,語言監(jiān)視器5則進入步驟S15,并在返回步驟S1之前發(fā)送空出指令。
此后,語言監(jiān)視器5進入步驟S1,并嘗試占用打印機7。如后所述,如果在打印機7中的開始作業(yè)是由相應(yīng)的主設(shè)備發(fā)出的作業(yè),則立即允許占用打印機7,并從發(fā)生錯誤的頁重試數(shù)據(jù)傳送。如果不是,則占用被拒絕,直到在打印機7中的開始作業(yè)在進行錯誤恢復(fù)之后正常完成。
圖5是表示圖4所示的步驟S13中的數(shù)據(jù)傳輸處理的詳細(xì)的流程圖。在步驟S30中,確定是否檢測到要被傳輸?shù)拇蛴?shù)據(jù)。如果打印數(shù)據(jù)未被檢測到,則處理立即結(jié)束。如果打印數(shù)據(jù)已被檢測到,則處理進入步驟S31,使傳送頁編號加1,并將其設(shè)置在頁管理信息320中的頁編號數(shù)據(jù)(頁編號)322中。在步驟S32,進行狀態(tài)監(jiān)視處理。在步驟S33,確定是否發(fā)生錯誤。如果發(fā)生錯誤,則狀態(tài)監(jiān)視處理立即結(jié)束,如果未發(fā)生錯誤,則處理進入步驟S34,并通過參考在步驟S32獲得的打印機狀態(tài),確定是否可以發(fā)送打印數(shù)據(jù)。
如果在步驟S34確定打印數(shù)據(jù)可被發(fā)送,則處理進入步驟S37,并發(fā)送打印數(shù)據(jù)。在步驟S38,確定是否對一頁的數(shù)據(jù)發(fā)送結(jié)束。如果對一頁的數(shù)據(jù)發(fā)送尚未結(jié)束,則處理返回步驟S32,并繼續(xù)發(fā)送當(dāng)前發(fā)送頁的數(shù)據(jù)。如果對一頁的數(shù)據(jù)發(fā)送結(jié)束,則處理進入步驟S9,并確定是否發(fā)出關(guān)于這一頁的打印請求。如果已經(jīng)發(fā)出打印請求,則處理返回步驟S30,并進行下一頁的數(shù)據(jù)發(fā)送。如果打印請求沒有發(fā)出,則處理進入步驟S40。在步驟S40,發(fā)送打印請求指令,處理返回步驟S30。
如果在步驟S34確定打印數(shù)據(jù)不能被發(fā)送,則處理進入步驟S35,并確定是否已經(jīng)發(fā)出對這一頁的打印請求。如果確定對這一頁的打印請求已經(jīng)發(fā)出,則處理返回步驟S32,并且語言監(jiān)視器5等待打印數(shù)據(jù)成為可發(fā)送的。如果確定對這一頁的打印請求尚未發(fā)出,則處理進入步驟S36。在步驟S36,通過參考在步驟S32獲得的打印機狀態(tài),確定前一頁的圖像數(shù)據(jù)的輸出是否完成。如果在步驟S36確定前一頁圖像數(shù)據(jù)的輸出未完成,則語言監(jiān)視器5返回步驟S32,并等待打印數(shù)據(jù)成為可發(fā)送的,因為前一頁的圖像數(shù)據(jù)的一部分存儲在打印機7中的FIFO存儲器22中。
如果在步驟S36確定前一頁的圖像數(shù)據(jù)的輸出已經(jīng)完成,則處理進入步驟S41,因為在打印機7中的FIFO存儲器22根本沒有存儲前一頁的圖像數(shù)據(jù),因而不可能具有空出的存儲容量。在步驟S41,發(fā)送打印請求指令,處理進入步驟S32。
圖6是表示狀態(tài)監(jiān)視處理的詳細(xì)流程圖。在步驟S51,向打印機7發(fā)送狀態(tài)請求指令,并確定是否發(fā)生錯誤。如果發(fā)生錯誤,則立即結(jié)束狀態(tài)監(jiān)視處理。如果未發(fā)生錯誤,則狀態(tài)監(jiān)視處理進入步驟S53,并確定是否檢測到完成的打印頁。
具體地說,為了確定是否檢測到完成的打印頁,狀態(tài)監(jiān)視處理比較收到的狀態(tài)中的完成的打印頁的頁編號和頁管理信息320的頁編號數(shù)據(jù)(頁編號)322。如果檢測到相等的頁編號,則確定該頁的打印已完成。如果沒有檢測到相等的頁編號,則狀態(tài)監(jiān)視處理立即結(jié)束。如果檢測到相等的頁編號,則狀態(tài)監(jiān)視處理進入步驟S56,并刪除相應(yīng)于該頁的頁緩沖器數(shù)據(jù)(頁緩沖器)330和頁管理信息320。
在步驟S57,確定已完成打印的頁所屬的作業(yè)的所有頁的打印是否完成。如果打印尚未完成,則狀態(tài)監(jiān)視處理立即結(jié)束。如果打印已完成,則狀態(tài)監(jiān)視處理進入步驟S58,并刪除關(guān)于該作業(yè)的作業(yè)管理信息310,狀態(tài)監(jiān)視處理結(jié)束。
下面參照圖7說明由打印機7中的控制電路25執(zhí)行的指令處理,打印機7接收來自上述的語言監(jiān)視器5的打印機指令。
圖7是表示打印機7中的指令處理流程圖。在步驟S101,處理等待網(wǎng)絡(luò)接口21接收打印機指令。當(dāng)網(wǎng)絡(luò)接口21收到打印機指令時,處理進入步驟S102,并確定收到的指令是否被識別為占用請求指令。如果收到的指令被識別為占用請求指令,則處理進入步驟S121,并確定打印機7是否當(dāng)前被占用。如果打印機7被占用,則處理進入步驟S126,并在返回步驟S101之前發(fā)送錯誤響應(yīng)。
如果打印機7當(dāng)前未被占用,則處理進入步驟S122,確定是否檢測到錯誤,即,是否檢測到其值不為0的錯誤的作業(yè)編號。如果未檢測到錯誤的作業(yè),則處理進入步驟S123,把下一個作業(yè)編號設(shè)置為占用作業(yè)編號。在步驟S124,下一個作業(yè)編號加1。下一個作業(yè)編號的初始值是1。在步驟S125,和占用作業(yè)編號一道傳送正常響應(yīng),處理返回步驟S101。
如果在步驟S122確定檢測到錯誤的作業(yè),則處理進入步驟S141,確定錯誤的作業(yè)編號是否和附加在占用請求指令上的作業(yè)編號匹配。如果兩個編號不互相匹配,則處理進入步驟S145,并在返回步驟S101之前發(fā)送錯誤響應(yīng)。如果兩個編號互相匹配,則處理進入步驟S142,并設(shè)置錯誤作業(yè)編號為占用作業(yè)編號。在步驟S143,錯誤作業(yè)編號被清除。在步驟S144,和占用作業(yè)編號一道接收正常響應(yīng),處理返回步驟S101。
如果在步驟S102確定接收的指令不是占用請求指令,則處理進入步驟S103,確定接收的指令是否是數(shù)據(jù)清除指令。如果接收的指令是數(shù)據(jù)清除指令,則處理進入步驟S131,并在返回步驟S101之前進行數(shù)據(jù)清除處理。具體地說,在這個數(shù)據(jù)清除處理中,存儲在FIFO存儲器22中的圖像數(shù)據(jù)和存儲在控制電路25中的工作區(qū)域內(nèi)的頁開始指令被清除,由數(shù)據(jù)清除指令指定的頁編號被設(shè)置為打印開始頁編號、圖像輸出完成頁編號或打印完成頁編號。
在步驟S103,如果接收的指令不是數(shù)據(jù)清除指令,則處理進入步驟S104,確定接收的指令是否被識別為打印數(shù)據(jù)指令。如果接收的指令是打印數(shù)據(jù)指令,則處理進入步驟S132,并在返回步驟S101之前進行打印數(shù)據(jù)處理。具體地說,在這個打印數(shù)據(jù)處理中,如果收到作為打印數(shù)據(jù)指令的圖像數(shù)據(jù)指令,則圖像數(shù)據(jù)被存儲到FIFO存儲器22中。此外,如果收到頁開始指令,則圖像數(shù)據(jù)被存儲到控制電路25的工作區(qū)域中。
如果在步驟S104確定收到的指令不是打印數(shù)據(jù)指令,則處理進入步驟S105,確定收到的指令是否是打印請求指令。如果收到的指令是打印請求指令,則處理進入步驟S133,并在返回步驟S101之前進行打印開始請求處理。在這個打印開始請求處理中,具體地說,請求打印引擎24響應(yīng)已經(jīng)收到的頁開始指令開始打印,并使打印開始頁編號加1。
如果在步驟S105確定接收的指令不是打印請求指令,則處理進入步驟S106,確定接收的指令是否被識別為狀態(tài)請求指令。如果接收的指令是狀態(tài)請求指令,則處理進入步驟S134,并通過發(fā)送狀態(tài)響應(yīng)報告打印機狀態(tài)。報告的打印機狀態(tài)包括開始作業(yè)編號、錯誤狀態(tài)、打印開始頁編號、圖像輸出完成頁編號,以及打印完成頁編號。然后處理返回步驟S101。
如果在步驟S106確定收到的指令不是狀態(tài)請求指令,則表示收到空出指令。因而,處理進入步驟S135,并清除占用作業(yè)編號,處理返回步驟S101。
下面參照圖8說明和上述指令處理并行地執(zhí)行的打印處理。
圖8是表示在第一實施方式中的打印機7的打印處理的流程圖。在步驟S201,確定是否檢測到正常打印的頁。如果未檢測到正常打印的頁,則打印處理進入步驟S211。如果檢測到正常打印的頁,則打印處理進入步驟S202,使打印完成頁編號加1。在步驟S203,確定正常打印的頁所屬的作業(yè)的所有頁的打印是否完成。如果所有頁的打印尚未正常完成,則打印處理進入步驟S211(后面說明)。如果所有頁的打印已經(jīng)正常完成,則打印處理進入步驟S204,并執(zhí)行開始作業(yè)終止處理。在步驟S205,確定是否檢測到未完成的作業(yè)。如果檢測到未完成的作業(yè),則打印處理進入步驟S206,更新開始作業(yè)編號。此后,打印處理進入步驟S211。如果未檢測到未完成的作業(yè),則打印處理進入步驟S207,并清除開始作業(yè)編號。打印處理進入步驟S211。
在步驟S211,確定是否檢測到。如果未檢測到在其上完成圖像輸出的頁,則打印處理直接進入步驟S221。如果檢測到其上完成圖像輸出的頁,則打印處理進入步驟S212。在步驟S212,使圖像輸出完成頁編號加1,并且打印處理進入步驟S221。
在步驟S221,確定是否發(fā)生錯誤。如果錯誤尚未發(fā)生,則打印處理返回步驟S201。如果發(fā)生錯誤,則打印處理進入步驟S222,進行不是開始作業(yè)的一個作業(yè)的發(fā)送處理。在步驟S223,確定是否開始作業(yè)當(dāng)前占用打印機7,即,是否開始作業(yè)編號和占用作業(yè)編號彼此匹配。如果開始作業(yè)當(dāng)前占用打印機7,則打印處理返回步驟S201,如果開始作業(yè)當(dāng)前未占用打印機7,則打印處理進入步驟S224。在步驟S224,開始作業(yè)編號被設(shè)置為錯誤作業(yè)編號,并打印處理返回步驟S201。
如上所述,按照第一實施方式,當(dāng)主設(shè)備完成一個打印作業(yè)中的所有頁的傳送時,借助于空出打印機7而不等待發(fā)出完成通知,可以立即開始下一個打印作業(yè)的數(shù)據(jù)傳輸,因而消除作業(yè)之間的停機時間。此外,借助于使主設(shè)備具有用于錯誤恢復(fù)的頁存儲器,即使發(fā)生錯誤,也可以進行正確的錯誤恢復(fù)。
第二實施方式下面參照
本發(fā)明的第二實施方式的細(xì)節(jié)。在第一實施方式中,當(dāng)和占用打印機7的一個打印作業(yè)不同的打印作業(yè)相關(guān)的錯誤發(fā)生時,打印機7被主設(shè)備命令改變?yōu)榭粘鰻顟B(tài)。不過,在第二實施方式中,當(dāng)和與占用打印機7的打印作業(yè)不同的作業(yè)相關(guān)的錯誤發(fā)生時,打印機7便強迫撤銷空出狀態(tài)。
在第二實施方式中,主設(shè)備和打印機7和圖1、圖2所示主設(shè)備和打印機的配置相同,因而,省略其詳細(xì)說明。
和第一實施方式類似,在第二實施方式中,根據(jù)圖3所示的作業(yè)管理信息,語言監(jiān)視器5管理打印作業(yè)。
下面參照圖11說明當(dāng)錯誤發(fā)生時,打印機7從作業(yè)占用狀態(tài)到空出狀態(tài)的改變。
在時刻T1,打印機7響應(yīng)作業(yè)A的占用請求被作業(yè)A占用。在時刻T2,當(dāng)基于作業(yè)A的傳送完成時,作業(yè)A的占用被撤銷。
在時刻T3,響應(yīng)作業(yè)B的占用請求,打印機7被作業(yè)B占用。此后,當(dāng)在時刻T4檢測到作業(yè)A中的錯誤時,在第一實施方式中在時刻T5,響應(yīng)來自主設(shè)備的指令,作業(yè)B的占用被撤銷。此外,在第二實施方式中在時刻T6,作業(yè)B的占用被打印機7撤銷。
在周期T7,打印機7只接受來自作業(yè)A的占用請求。例如,如果在時刻T8收到來自作業(yè)C的占用請求,則該占用請求不被打印機7接受。
在時刻T9,作業(yè)A根據(jù)其占用請求占用打印機7,進行錯誤恢復(fù)。此后,當(dāng)基于作業(yè)A的傳送在時刻T10完成時,作業(yè)A的占用被撤銷。
接著,因為作業(yè)B的占用中途(在時刻T4)被撤銷,作業(yè)B請求占用并占用打印機7以便再次傳送。當(dāng)在時刻T12完成基于作業(yè)B的傳送時,作業(yè)B的占用被撤銷。
下面參照圖9說明在第二實施方式中語言監(jiān)視器5的處理的細(xì)節(jié)。圖9所示的步驟S301-S316和第一實施方式中圖4所示的步驟S1-S16的相同。因而,下面只說明第二實施方式的不同的部分。
圖9是表示在第二實施方式中語言監(jiān)視器5的處理的流程圖。和第一實施方式類似,在由操作系統(tǒng)2通知語言監(jiān)視器5作業(yè)開始后,并向打印機7發(fā)送占用請求指令之后,在打印一個作業(yè)中的所有頁正常完成之前,當(dāng)語言監(jiān)視器5被通知下一個作業(yè)開始時,語言監(jiān)視器5占用打印機7,并進行新的作業(yè)的數(shù)據(jù)傳送處理。當(dāng)在狀態(tài)監(jiān)視處理期間發(fā)生錯誤時,語言監(jiān)視器5的處理從步驟S308或S314到步驟S316。
在步驟S316,語言監(jiān)視器5設(shè)置該作業(yè)和每頁成為不被發(fā)送狀態(tài)。在步驟S317,通過參考獲得的最近的狀態(tài),語言監(jiān)視器5確定當(dāng)前占用打印機7的作業(yè)的作業(yè)編號是否是0。如果當(dāng)前占用打印機7的作業(yè)的作業(yè)編號不是0,則表示打印機7繼續(xù)被占用,并且語言監(jiān)視器5的處理進入步驟S310,并從發(fā)生錯誤的頁重試數(shù)據(jù)傳送。
如果當(dāng)前占用打印機7的作業(yè)的作業(yè)編號是0,則表示在前面一個不同的作業(yè)中的錯誤使打印機7空出,并且語言監(jiān)視器5的處理返回步驟S301。此后,在步驟S305,語言監(jiān)視器5嘗試占用打印機7。換句話說,如果在打印機7中的開始作業(yè)是由主設(shè)備發(fā)出的作業(yè),則占用立即被允許,并且從發(fā)生錯誤的頁重試數(shù)據(jù)傳送。如果不是,則占用被拒絕,直到在錯誤恢復(fù)之后開始作業(yè)正常完成。
下面說明在第二實施方式中打印機7的打印處理。由打印機7中的控制電路25執(zhí)行的指令處理和參照圖7所述的第一實施方式的指令處理相同。因而,省略在第二實施方式中的指令處理的說明。
下面參照圖10說明和上述的指令處理并行執(zhí)行的打印處理。圖10所示的步驟S401-S407、S411-S412、S421-S424和第一實施方式的圖8所示的步驟S201-S207、S211-S212和S221-S224相同,因而,下面只說明不同的部分。
圖10是表示第二實施方式中打印機7的打印處理的流程圖。和第一實施方式類似,當(dāng)在頁的打印開始和作業(yè)結(jié)束而檢查打印機7之后,進行結(jié)束處理或執(zhí)行不同于開始作業(yè)的作業(yè)。確定開始作業(yè)是否當(dāng)前正在占用打印機7,即,開始作業(yè)的編號和占用作業(yè)編號是否相互匹配。如果開始作業(yè)沒有占用打印機7,則打印處理進行步驟S424,并設(shè)置開始作業(yè)編號為錯誤的作業(yè)編號。在步驟S425,通過設(shè)置“0”作為占用的作業(yè)編號,所述占用被強制撤銷,并且打印處理返回步驟S401。
如上所述,按照第二實施方式,當(dāng)和未占用打印機7的不同的作業(yè)相關(guān)的錯誤發(fā)生時,則打印機7強制撤銷所述的占用,因而把作業(yè)之間的停機時間減到最短。
本發(fā)明可用于由多個設(shè)備(例如主計算機,接口裝置,讀取器,打印機等)構(gòu)成的系統(tǒng),也適用于單個的設(shè)備(例如復(fù)印機,傳真機等)。
此外,可以向一個系統(tǒng)或設(shè)備提供含有實現(xiàn)上述實施方式中功能的記錄介質(zhì),該記錄介質(zhì)含有實現(xiàn)上述功能的軟件的程序代碼,并且在所述系統(tǒng)或設(shè)備中的計算機(CPU或MPU(微處理單元))讀出并執(zhí)行在記錄介質(zhì)上的程序代碼。
在這種情況下,從記錄介質(zhì)讀出的程序代碼本身實現(xiàn)上述實施方式中的功能。
用于提供程序代碼的記錄介質(zhì)的類型的例子包括,例如軟盤、硬盤、光盤、磁光盤CD-ROM(致密盤-ROM)、CD-R(致密盤-可記錄的)、磁帶、非易失存儲器和只讀存儲器。
此外,通過執(zhí)行由計算機讀出的程序代碼,不僅能夠?qū)崿F(xiàn)上述實施方式中的功能,而且在所述計算機上運行的操作系統(tǒng)(或其類似物)能夠根據(jù)程序代碼的指令執(zhí)行所有的實際處理或一部分的實際處理,因而所述的處理實現(xiàn)上述實施方式中的功能。
此外,在從記錄介質(zhì)讀出的程序代碼被寫入存儲器中之后,該存儲器由被插入計算機中的內(nèi)插板或和計算機相連的內(nèi)插單元提供,內(nèi)插板或內(nèi)插單元中提供的CPU(或其類似物)執(zhí)行所有的實際處理或一部分的實際處理,因而所述的處理實現(xiàn)上述實施方式中的功能。
按照本發(fā)明的上述實施方式,在作業(yè)之間的停機時間可以被減到最小因而可以改善打印系統(tǒng)的性能。
雖然參照目前認(rèn)為是優(yōu)選的實施方式對本發(fā)明進行了說明,但是應(yīng)當(dāng)理解,本發(fā)明不限于披露的實施方式。與此相反,本發(fā)明旨在覆蓋被包括在所附權(quán)利要求的構(gòu)思和范圍內(nèi)的各種改型和等效的結(jié)構(gòu)。下面的權(quán)利要求的范圍應(yīng)當(dāng)給予最寬的解釋,使得包括所有這些改變和等效結(jié)構(gòu)與功能。
本申請要求在2003年12月15日申請的日本專利申請第2003-416727號、在2004年5月31日申請的日本專利申請第2004-161573號的優(yōu)先權(quán),這些專利申請通過引用并入本申請中。
權(quán)利要求
1.一種打印系統(tǒng),其包括包括用于錯誤恢復(fù)的頁存儲器的至少一個主設(shè)備;打印機;以及用于連接所述主設(shè)備和所述打印機的雙向接口,其中所述主設(shè)備包括命令裝置,用于當(dāng)打印作業(yè)開始時,命令打印機改變到被占用狀態(tài),并且當(dāng)打印作業(yè)的打印數(shù)據(jù)傳送完成時,命令打印機改變?yōu)榭粘鰻顟B(tài),而不等待來自打印機的打印完成通知;以及所述打印機包括用于響應(yīng)來自主設(shè)備的指令使打印機改變?yōu)檎加脿顟B(tài)和空出狀態(tài)之一的裝置。
2.如權(quán)利要求1所述的打印系統(tǒng),其中在命令打印機改變?yōu)檎加脿顟B(tài)之后,所述主設(shè)備監(jiān)視打印機的狀態(tài);以及當(dāng)頁打印正常完成時所述主設(shè)備釋放頁存儲器。
3.如權(quán)利要求1所述的打印系統(tǒng),其中在命令打印機改變?yōu)榭粘鰻顟B(tài)之后,所述主設(shè)備監(jiān)視打印機的狀態(tài);以及當(dāng)檢測到錯誤時,所述主設(shè)備命令打印機改變?yōu)檎加脿顟B(tài),并重新傳送發(fā)生錯誤的頁的打印數(shù)據(jù)。
4.如權(quán)利要求1所述的打印系統(tǒng),其中在命令打印機改變?yōu)檎加脿顟B(tài)之后,所述主設(shè)備監(jiān)視打印機的狀態(tài);以及當(dāng)檢測到和不同的打印作業(yè)相關(guān)的錯誤時,所述主設(shè)備命令打印機改變?yōu)榭粘鰻顟B(tài)。
5.如權(quán)利要求1所述的打印系統(tǒng),其中當(dāng)一頁未被正常地打印時,打印機拒絕來自另一主設(shè)備的改變?yōu)檎加脿顟B(tài)的指令,該另一主設(shè)備和所述命令打印機打印所述頁的主設(shè)備不同。
6.如權(quán)利要求1所述的打印系統(tǒng),其中當(dāng)檢測到和未占用打印機的不同的打印作業(yè)相關(guān)的錯誤時,所述打印機改變?yōu)榭粘鰻顟B(tài)。
7.一種用于控制打印系統(tǒng)的方法,所述打印系統(tǒng)包括具有用于錯誤恢復(fù)的頁存儲器的至少一個主設(shè)備、打印機以及用于連接所述主設(shè)備和所述打印機的雙向接口,所述方法包括以下步驟在主設(shè)備開始打印作業(yè)之前命令打印機改變?yōu)檎加脿顟B(tài);在完成所述打印作業(yè)的打印數(shù)據(jù)傳送之后,命令打印機改變?yōu)榭粘鰻顟B(tài)而不等待來自打印機的打印完成通知;以及響應(yīng)來自主設(shè)備的指令,使打印機改變?yōu)檎加脿顟B(tài)和空出狀態(tài)之一。
8.一種打印方法,所述方法包括以下步驟在向打印機傳送打印作業(yè)數(shù)據(jù)之前向打印機傳送占用請求;當(dāng)完成所述打印作業(yè)的數(shù)據(jù)傳送時,向打印機發(fā)送空出請求;以及在向打印機發(fā)送空出請求之后,監(jiān)視打印機的狀態(tài);以及當(dāng)檢測到錯誤時,在向打印機傳送打印作業(yè)數(shù)據(jù)之前,向打印機傳送占用請求。
9.一種程序,用于允許計算機執(zhí)行權(quán)利要求8所述的方法。
10.一種主設(shè)備,其包括第一裝置,用于在向打印機傳送打印作業(yè)數(shù)據(jù)之前向打印機發(fā)送占用請求;第二裝置,用于當(dāng)所述第一裝置完成打印作業(yè)數(shù)據(jù)傳送時向打印機發(fā)送空出請求;以及第三裝置,用于在向打印機發(fā)送空出請求之后監(jiān)視打印機的狀態(tài);并且當(dāng)檢測到錯誤時,在向打印機傳送打印作業(yè)數(shù)據(jù)之前傳送占用請求。
11.一種打印方法,包括以下步驟當(dāng)收到占用請求時確定是否檢測到錯誤作業(yè);當(dāng)檢測到錯誤作業(yè)時,則確定發(fā)送所述占用請求的作業(yè)是否和錯誤作業(yè)匹配;以及當(dāng)發(fā)送占用請求的作業(yè)和錯誤作業(yè)匹配時,發(fā)送正常響應(yīng),以及當(dāng)發(fā)送所述占用請求的作業(yè)和錯誤作業(yè)不匹配時發(fā)送錯誤響應(yīng)。
12.一種程序,其允許計算機執(zhí)行權(quán)利要求11所述的方法。
13.一種打印機,其包括用于當(dāng)收到占用請求時確定是否檢測到錯誤作業(yè)的裝置;用于當(dāng)檢測到錯誤作業(yè)時,確定發(fā)送所述占用請求的作業(yè)是否和錯誤作業(yè)匹配的裝置;以及用于當(dāng)發(fā)送占用請求的作業(yè)和錯誤作業(yè)匹配時,發(fā)送正常響應(yīng),當(dāng)發(fā)送所述占用請求的作業(yè)和錯誤作業(yè)不匹配時發(fā)送錯誤響應(yīng)的裝置。
14.如權(quán)利要求13所述的打印機,其中當(dāng)發(fā)送占用請求的作業(yè)和錯誤作業(yè)不匹配時,所述打印機改變?yōu)榭粘鰻顟B(tài)。
15.一種打印機,其包括第一裝置,其響應(yīng)來自第一作業(yè)的占用請求,把所述第一作業(yè)設(shè)置為打印機占用狀態(tài),并響應(yīng)來自所述第一作業(yè)的空出請求,撤銷所述第一作業(yè)的占用狀態(tài);以及第二裝置,其在由第二作業(yè)占用打印機的期間,響應(yīng)第一作業(yè)中的錯誤,撤銷所述第二作業(yè)的打印機占用狀態(tài)。
16.如權(quán)利要求15所述的方法,其中所述第二裝置響應(yīng)第一作業(yè)中的錯誤,撤銷第二作業(yè)的占用狀態(tài),并且在由第二作業(yè)占用打印機的期間內(nèi)只接收來自第一作業(yè)的占用請求。
17.一種打印方法,所述方法包括以下步驟響應(yīng)來自第一作業(yè)的打印機占用請求,把所述第一作業(yè)設(shè)置為打印機占用狀態(tài);響應(yīng)來自所述第一作業(yè)的空出請求,撤銷第一作業(yè)的占用狀態(tài);以及在由第二作業(yè)占用打印機的期間,響應(yīng)第一作業(yè)中的錯誤,撤銷所述第二作業(yè)的占用狀態(tài)。
18.如權(quán)利要求17所述的打印方法,其中撤銷第二作業(yè)的占用狀態(tài)還包括只接受來自第一作業(yè)的占用請求。
19.一種程序,其允許計算機執(zhí)行權(quán)利要求18所述的方法。
20.一種程序,其允許計算機執(zhí)行權(quán)利要求17所述的方法。
21.一種信息處理設(shè)備,其包括第一命令裝置,用于當(dāng)打印作業(yè)開始時,命令打印機改變?yōu)楸徽加脿顟B(tài),在打印作業(yè)的打印數(shù)據(jù)傳送完成之后,命令打印機改變?yōu)榭粘鰻顟B(tài),而不等待來自打印機的打印完成通知;以及第二命令裝置,用于在由第一命令裝置把打印機改變?yōu)榭粘鰻顟B(tài)之后,進行狀態(tài)監(jiān)視,并當(dāng)檢測到錯誤時命令打印機改變?yōu)楸徽加脿顟B(tài)。
22.一種打印方法,所述方法包括當(dāng)開始打印作業(yè)時命令打印機改變到占用狀態(tài);在完成所述打印作業(yè)的打印數(shù)據(jù)的傳輸之后,命令打印機改變到空出狀態(tài)而不等待來自打印機的打印完成通知;在打印機改變?yōu)榭粘鰻顟B(tài)之后進行狀態(tài)監(jiān)視;以及當(dāng)檢測到錯誤時命令打印機改變?yōu)檎加脿顟B(tài)。
23.一種程序,其允許計算機執(zhí)行權(quán)利要求22所述的方法。
全文摘要
本申請公開了一種打印方法,當(dāng)開始打印作業(yè)時,主設(shè)備命令打印機改變?yōu)楸徽加脿顟B(tài),以便把作業(yè)之間的停機時間減到最小。在打印機響應(yīng)來自所述主設(shè)備的指令改變?yōu)楸徽加脿顟B(tài),并且主設(shè)備完成打印作業(yè)的傳送之后,所述主設(shè)備命令打印機改變?yōu)榭粘鰻顟B(tài)而不等待來自打印機的打印完成通知。響應(yīng)來自主設(shè)備的命令,打印機改變?yōu)榭粘鰻顟B(tài)。
文檔編號G06F3/12GK1628990SQ20041009870
公開日2005年6月22日 申請日期2004年12月14日 優(yōu)先權(quán)日2003年12月15日
發(fā)明者坂本陽一 申請人:佳能株式會社