專利名稱:信息處理裝置及該信息處理裝置中的打印數(shù)據(jù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及從服務(wù)器獲取打印數(shù)據(jù)并執(zhí)行打印處理的信息處理裝置、該信息處理裝置中的打印數(shù)據(jù)處理方法。
背景技術(shù):
近來,云服務(wù)進(jìn)入實踐,并公開了將打印服務(wù)器用作因特網(wǎng)上的打印服務(wù)功能。通過在大規(guī)模數(shù)據(jù)中心安裝打印服務(wù)器,云服務(wù)不需要管理每個客戶的硬件,并且可容易地根據(jù)服務(wù)器負(fù)荷增加資源。云服務(wù)的使用需要這樣一種環(huán)境執(zhí)行拉式打印功能以經(jīng)由因特網(wǎng)從打印服務(wù)器獲取打印機的打印數(shù)據(jù)、將其傳送至打印機、并進(jìn)行打印。一般來說,打印系統(tǒng)需要加快第一個打印,并在不需要使用戶等待的情況下開始打印。由此,拉式打印系統(tǒng)可通過在獲取打印數(shù)據(jù)之后將打印數(shù)據(jù)傳送至打印機來加快第一個打印。然而,因特網(wǎng)線路較窄,并且在打印數(shù)據(jù)向打印機的傳送期間頻繁地發(fā)生網(wǎng)絡(luò)斷開。當(dāng)網(wǎng)絡(luò)在打印數(shù)據(jù)的傳送期間斷開時,打印機已經(jīng)開始打印該打印數(shù)據(jù),并中途排出紙張。日本專利特開第2007-272833號公報公開了如下方法保持由打印機已經(jīng)打印完的頁數(shù),并在網(wǎng)絡(luò)斷開之后的重新連接中,向客戶端通知打印完成頁數(shù)??蛻舳丝色@知打印完成頁,并從還未排出的頁開始打印。然而,即使在生成打印錯誤時通知排出的頁并且要再次打印還未排出的剩余頁, 如日本專利特開第2007-272833號公報所述,仍將具有打印錯誤的打印作業(yè)和從中間頁開始的重新打印作業(yè)作為不同的打印作業(yè)來處理。可能在重新打印之前中斷另一打印作業(yè), 延長了期望打印處理的總時間。
發(fā)明內(nèi)容
本發(fā)明的一方面在于消除傳統(tǒng)技術(shù)中的上述問題。本發(fā)明提供一種防止當(dāng)檢測到網(wǎng)絡(luò)線路的斷開時生成打印錯誤的信息處理裝置,以及該信息處理裝置中的打印數(shù)據(jù)處理方法。本發(fā)明在其第一方面提供一種信息處理裝置,其能夠連接至管理打印數(shù)據(jù)的服務(wù)器和基于打印數(shù)據(jù)進(jìn)行打印的打印機,該信息處理裝置包括接收單元,被配置為接收來自所述服務(wù)器的打印數(shù)據(jù);傳送控制單元,被配置為將所述接收單元接收到的打印數(shù)據(jù)按照每次傳送第一數(shù)據(jù)大小的方式向所述打印機傳送;以及檢測單元,被配置為檢測所述服務(wù)器和所述信息處理裝置之間的斷開,其中當(dāng)所述檢測單元檢測到斷開時,所述傳送控制單元將打印數(shù)據(jù)按照每次傳送第二數(shù)據(jù)大小的方式向所述打印機傳送打印數(shù)據(jù),所述第二數(shù)據(jù)大小小于所述第一數(shù)據(jù)大小。本發(fā)明在其第二方面提供一種信息處理裝置中執(zhí)行的打印數(shù)據(jù)處理方法,所述信息處理裝置能夠連接至管理打印數(shù)據(jù)的服務(wù)器和基于打印數(shù)據(jù)進(jìn)行打印的打印機,所述打印數(shù)據(jù)處理方法包括接收步驟,接收來自服務(wù)器的打印數(shù)據(jù);傳送控制步驟,將在所述接收步驟中接收到的打印數(shù)據(jù)按照每次傳送第一數(shù)據(jù)大小的方式向所述打印機傳送;以及檢測步驟,檢測所述服務(wù)器和所述信息處理裝置之間的斷開,其中當(dāng)在所述檢測步驟中檢測到斷開時,在所述傳送控制步驟中將打印數(shù)據(jù)按照每次傳送第二數(shù)據(jù)大小的方式向所述打印機傳送,所述第二數(shù)據(jù)大小小于所述第一數(shù)據(jù)大小。本發(fā)明可防止當(dāng)檢測到網(wǎng)絡(luò)線路的斷開時生成打印錯誤。從以下參照附圖對示例性實施例的描述中,本發(fā)明的其他特征將變得清楚。
圖I是示出第一實施例中的打印系統(tǒng)的總體配置的框圖2是示出客戶端、打印服務(wù)器和打印機的硬件配置的框圖3是示出打印系統(tǒng)的配置的框圖4是示出打印服務(wù)器的軟件配置的框圖5是例示在客戶端的Web瀏覽器上顯示的Web窗口的示圖6是示出拉式打印應(yīng)用的軟件配置的框圖7是例示打印隊列信息和傳送緩沖器信息的示圖8是示出通過打印機獲取打印數(shù)據(jù)并執(zhí)行該打印數(shù)據(jù)的序列的流程圖9是示出控制向控制器的傳送處理的序列的流程圖10是示出當(dāng)確定到打印服務(wù)器的連接異常結(jié)束時執(zhí)行的處理序列的流程圖
圖11是示出第二實施例中的打印系統(tǒng)的總體配置的框圖12是示出拉式打印服務(wù)器的硬件配置的框圖;以及
圖13是示出打印系統(tǒng)的配置的框圖。
具體實施例方式現(xiàn)在參照附圖,在下文中詳細(xì)描述本發(fā)明的優(yōu)選實施例??衫斫?,以下實施例的目的并非限制本發(fā)明的要求的保護(hù)范圍,并且在根據(jù)本發(fā)明解決問題的手段方面不一定需要根據(jù)以下實施例所述的所有方面的組合。注意,相同標(biāo)號指示相同部分,并且將省略其重復(fù)描述。<第一實施例><總體系統(tǒng)配置>圖I是示出根據(jù)本發(fā)明的實施例中的打印系統(tǒng)的總體配置的框圖。如圖I所示, 客戶端101、102和103、打印服務(wù)器104、以及打印機105、106、107和108經(jīng)由網(wǎng)絡(luò)109、110 和111連接。如圖I所示,該實施例假設(shè)連接了多個客戶端和多個打印機。網(wǎng)絡(luò)109至111 是如因特網(wǎng)之類的LAN、WAN、電話線、專用數(shù)字線、ATM、幀中繼線、電纜電視線、數(shù)據(jù)廣播無線電信道等中的任一個。網(wǎng)絡(luò)109至111可通過他們的組合實現(xiàn)。網(wǎng)絡(luò)109至111足以發(fā)送和接收數(shù)據(jù)。從客戶端101至103到打印服務(wù)器104和打印機105至108的通信功能可以不同于從打印機105至108到打印服務(wù)器104的通信功能。客戶端101至103由臺式 PC、筆記本PC、移動PC或PDA (個人數(shù)字助理)等形成??蛻舳?01至103可以是結(jié)合程序執(zhí)行環(huán)境的移動電話。客戶端101至103結(jié)合這樣的環(huán)境,在該環(huán)境中執(zhí)行例如Web瀏覽器(因特網(wǎng)瀏覽器、Wffff瀏覽器或使用萬維網(wǎng)的瀏覽器)的程序。打印服務(wù)器104從客戶端101至103的Web瀏覽器接收用于識別要打印的文檔的信息,以及至輸出目的地打印機的打印請求。然后,打印服務(wù)器104向客戶端101至103的Web瀏覽器發(fā)送回響應(yīng)窗口,該響應(yīng)窗口包含發(fā)出打印指令的打印命令??蛻舳?01至103的Web瀏覽器向指定的打印機發(fā)出所接收到的打印命令。在從客戶端101至103的Web瀏覽器接收到打印命令時,打印機105至108從打印服務(wù)器104獲取要打印的文檔數(shù)據(jù),并打印他們。<硬件配置>圖2是示出對于客戶端101至103、打印服務(wù)器104、和打印機105至108共同的硬件配置的框圖。參照圖2,CPU 202控制整個裝置。CPU 202控制執(zhí)行硬盤(HDD)205中存儲的應(yīng)用程序、OS等,并在RAM 203中臨時存儲執(zhí)行這些程序所需要的信息、文件等。ROM 204存儲例如基本I/O程序等的程序,以及各種數(shù)據(jù)(例如用于打印處理的打印數(shù)據(jù)和打印機信息)。RAM 203用作CPU 202的主存儲器、作業(yè)區(qū)等。HDD 205用作大容量存儲器,并存儲例如Web瀏覽器等的應(yīng)用程序、打印服務(wù)器程序、OS、以及相關(guān)程序等。顯示器206顯示從鍵盤207輸入的命令、打印機狀態(tài)等。接口(I/F)208用于連接打印機、USB設(shè)備、和外圍設(shè)備。當(dāng)用戶輸入指令時,使用鍵盤207。打印系統(tǒng)的打印服務(wù)器中的數(shù)據(jù)經(jīng)由系統(tǒng)總線201通信。NIC(網(wǎng)絡(luò)接口卡)209經(jīng)由I/F 208和網(wǎng)絡(luò)109至111 與外部裝置交換數(shù)據(jù)。這個配置僅是示例,并且本發(fā)明不限于圖2所示的配置示例。例如, 數(shù)據(jù)和程序的存儲目的地可根據(jù)他們的特征改變?yōu)镽OM、RAM、或HDD。每個打印機105至108中的控制器222控制打印機。CPU 210控制整個裝置,并綜合控制對與系統(tǒng)總線218連接的各個設(shè)備的訪問??刂苹赗OM 212中存儲的控制程序等, 或基于經(jīng)由盤控制器(DKC 216)連接的外部存儲器223中存儲的控制程序、資源數(shù)據(jù)(資源信息)等。RAM 211用作CPU 210的主存儲器、工作區(qū)等,并且可通過與擴展端口(未示出)連接的可選RAM來擴展存儲器容量。HDD 213用作大容量存儲器,并存儲拉式打印應(yīng)用程序、相關(guān)程序等。操作面板221包括用于執(zhí)行拉式打印操作的用戶接口和拉式打印機切換按鈕。操作面板221還包括用于執(zhí)行如下操作的按鈕和諸如液晶屏或LED 214等的顯示單元,所示操作為設(shè)置與打印機105至108對應(yīng)的操作模式等,顯示與打印機105至108 對應(yīng)的操作狀態(tài),以及執(zhí)行例如復(fù)制指定的操作。NIC(網(wǎng)絡(luò)接口卡)219與外部裝置交換數(shù)據(jù)。圖2所示的打印引擎220采用已知的打印技術(shù),并利用例如電子照相方法(激光束方法)、噴墨方法、和升華(熱傳輸)方法進(jìn)行處理。光柵控制器215將PDL語言或PDF語言的打印數(shù)據(jù)轉(zhuǎn)換成圖像數(shù)據(jù)。設(shè)備接口(I/F) 217用于經(jīng)由USB等連接外部設(shè)備?!创蛴∠到y(tǒng)的配置〉圖3是示出注重軟件的打印系統(tǒng)的配置的框圖。打印服務(wù)器104包括用于管理打印作業(yè)的打印作業(yè)管理服務(wù)306。打印作業(yè)管理服務(wù)306將由另一服務(wù)或另一程序輸入的文檔數(shù)據(jù)等作為打印數(shù)據(jù)在存儲裝置307中進(jìn)行管理。打印數(shù)據(jù)的數(shù)據(jù)格式是例如PDL或 PDF0存儲裝置307是例如打印服務(wù)器104中包含的HDD、外部連接的HDD、或網(wǎng)絡(luò)存儲裝置等的存儲設(shè)備。Web應(yīng)用302創(chuàng)建在各個客戶端101至103上運行的Web瀏覽器301上可顯示的 Web頁,并響應(yīng)于來自Web瀏覽器301的請求而發(fā)送回所創(chuàng)建的Web頁。響應(yīng)于來自拉式打印應(yīng)用304的打印作業(yè)獲取請求,Web服務(wù)303發(fā)送回打印數(shù)據(jù),并接收打印作業(yè)的狀態(tài)。 各個打印機105至108中的拉式打印應(yīng)用304從Web瀏覽器301接受打印請求。打印作業(yè)管理服務(wù)306、打印機管理服務(wù)305、Web應(yīng)用302、和Web服務(wù)303是獨立的程序,并且可安排在分立的信息處理裝置中。這個情況下,各個程序安裝于網(wǎng)絡(luò)連接的信息處理裝置中,并彼此通信。這些程序可安裝于一個信息處理裝置中。認(rèn)證服務(wù)308保持認(rèn)證信息,所述認(rèn)證信息包括訪問打印服務(wù)器104的用戶名、密碼和認(rèn)證口令。認(rèn)證服務(wù)308是在認(rèn)證服務(wù)器(未示出)中實現(xiàn)的應(yīng)用。在從Web瀏覽器 301或拉式打印應(yīng)用304接收請求時,對應(yīng)的Web應(yīng)用302或Web服務(wù)303向認(rèn)證服務(wù)308 發(fā)送認(rèn)證請求。通過將來自Web瀏覽器301上顯示的登錄Web頁的登錄請求中包含的用戶名和密碼與認(rèn)證服務(wù)308中保持的用戶名和密碼進(jìn)行核對來執(zhí)行認(rèn)證。如果認(rèn)證成功,則認(rèn)證服務(wù)308發(fā)出與經(jīng)過認(rèn)證的用戶相關(guān)的認(rèn)證令牌。如果必要,則將認(rèn)證令牌發(fā)送至打印服務(wù)器104、客戶端101至103、和打印機105至108?!创蛴》?wù)器〉圖4是示出打印服務(wù)器104的軟件配置的框圖。注意,打印服務(wù)器104的軟件模塊存儲于圖2所示的打印服務(wù)器104的HDD 205中。如上所述,這些軟件模塊通過CPU 202 加載至RAM 203中并執(zhí)行。打印服務(wù)器104的打印作業(yè)管理服務(wù)306中的打印數(shù)據(jù)管理單元401管理打印數(shù)據(jù)。在從Web服務(wù)303接收打印數(shù)據(jù)獲取請求時,打印數(shù)據(jù)管理單元401 從存儲裝置307獲取指定的打印數(shù)據(jù),并將其傳送至Web服務(wù)303。打印作業(yè)信息管理單元402管理存儲裝置307中管理的打印數(shù)據(jù)的打印作業(yè)信息。作業(yè)信息由多條信息形成, 例如客戶端作業(yè)ID、設(shè)備作業(yè)ID、文檔名、作業(yè)類型、打印狀態(tài)、接受日期和時間、最終打印日期和時間、用戶名、頁數(shù)、頁大小、和打印數(shù)據(jù)鏈接目的地??蛻舳俗鳂I(yè)ID唯一地識別客戶端發(fā)出的打印作業(yè)。設(shè)備作業(yè)ID是通過拉式打印應(yīng)用304發(fā)出的設(shè)備中的作業(yè)ID。作業(yè)類型指示例如PDL或TOF的數(shù)據(jù)格式。打印狀態(tài)指示例如等待、傳送、打印、正常結(jié)束和錯誤結(jié)束等的狀態(tài)。文檔名是圖5(稍后描述)所示的文檔列表窗口 500中的文檔名502。打印機管理服務(wù)305中的打印機信息管理單元403管理由打印服務(wù)器104管理的打印機105至108的打印機信息。打印機信息包括例如打印機名稱、MAC地址、和URI。打印機名稱是Web瀏覽器301上圖5 (稍后描述)所不的打印機列表窗口 510中的打印機名稱512上顯示的信息。MAC地址是用于唯一識別各個打印機的信息。URI是用作拉式打印應(yīng)用304接受打印請求的終點的信息。Web應(yīng)用302中的會話管理單元404將來自Web瀏覽器301的請求作為會話管理, 其中認(rèn)證服務(wù)308已建立了針對所述Web瀏覽器301的認(rèn)證。頁生成單元405響應(yīng)于來自Web瀏覽器301的請求創(chuàng)建圖5 (稍后描述)所示的Web窗口,并將其發(fā)送回Web瀏覽器 301。請求接受單元406從Web瀏覽器301接受事件登記請求、打印請求等。Web服務(wù)303中的請求接受單元409從拉式打印應(yīng)用304接受打印數(shù)據(jù)獲取請求以及打印作業(yè)狀態(tài)。當(dāng)請求接受單元409接受打印數(shù)據(jù)獲取請求時,打印作業(yè)獲取單元407 向打印作業(yè)管理服務(wù)306發(fā)送打印數(shù)據(jù)獲取請求。當(dāng)請求接受單元409接受打印作業(yè)狀態(tài)時,打印狀態(tài)接收單元408將其狀態(tài)通知給打印作業(yè)管理服務(wù)306。打印作業(yè)管理服務(wù)306 指定所通知的打印作業(yè),并更新狀態(tài)?!碬eb 窗口〉圖5是例示W(wǎng)eb窗口的示圖,所述Web窗口由打印服務(wù)器104的Web應(yīng)用302創(chuàng)建并顯示在各個客戶端101至103的Web瀏覽器301上。當(dāng)Web瀏覽器301向打印服務(wù)器 104發(fā)送作業(yè)列表請求時,打印服務(wù)器104創(chuàng)建文檔列表窗口 500,并將其發(fā)送回Web瀏覽器301。文檔列表窗口 500包括作業(yè)選擇復(fù)選框501、文檔名502、狀態(tài)503和打印按鈕504。 作業(yè)選擇復(fù)選框501用于選擇要打印的作業(yè)(這個示例中為文檔)。當(dāng)Web瀏覽器301檢測到打印按鈕504的按下時,向打印服務(wù)器104發(fā)送由作業(yè)選擇復(fù)選框501選擇的文檔的列表。在接受文檔列表時,打印服務(wù)器104創(chuàng)建打印機列表窗口 510,并將其發(fā)送回Web瀏覽器301。打印機列表窗口 510包括打印機選擇單選按鈕511、打印機名稱512和打印按鈕 513。當(dāng)Web瀏覽器301檢測到打印按鈕513的按下時,向打印服務(wù)器104發(fā)送由打印機選擇單選按鈕511選擇的打印機信息。在接受打印機信息時,打印服務(wù)器104創(chuàng)建打印設(shè)置窗口 520,并將其發(fā)送回Web瀏覽器301。打印設(shè)置窗口 520用于設(shè)置打印屬性521。當(dāng)Web瀏覽器301檢測到打印按鈕522的按下時,將用戶指定的打印屬性521發(fā)送至打印服務(wù)器104。打印服務(wù)器104向打印數(shù)據(jù)添加指定的打印屬性信息。打印服務(wù)器 104向Web瀏覽器301發(fā)送由腳本531描述的窗口 530,所述腳本531用于向打印機選擇單選按鈕511指定的打印機發(fā)送事件登記請求和打印請求。窗口 530是用于事件登記請求和打印請求的窗口的html結(jié)構(gòu)的示例。當(dāng)Web瀏覽器301具有Java Script跨域通信功能
或等同功能時,執(zhí)行腳本531,以向拉式打印應(yīng)用304發(fā)送事件登記請求和打印請求。〈拉式打印應(yīng)用〉圖6是示出拉式打印應(yīng)用304的軟件配置的框圖。注意,拉式打印應(yīng)用304的軟件模塊存儲于各個打印機105至108的HDD 213中。如上所述,這些軟件模塊由CPU 210 加載于RAM 211中并執(zhí)行。拉式打印應(yīng)用304中的Web服務(wù)接受單元610接受來自Web瀏覽器301的事件登記請求、打印請求等。在接收事件登記請求時,Web服務(wù)接受單元610向打印控制單元616 通知事件登記信息。事件登記信息包括事件傳輸目的地的URI以及用于識別客戶端的客戶端ID。在接收打印請求時,Web服務(wù)接受單元610向打印作業(yè)獲取單元612通知打印請求信息。打印請求信息包括打印數(shù)據(jù)獲取目的地的URI 701、認(rèn)證令牌702、客戶端ID 703、和客戶端作業(yè)ID 704。在接收來自打印作業(yè)獲取單元612的打印數(shù)據(jù)獲取請求時,web服務(wù)發(fā)送單元611 從Web服務(wù)303獲取打印數(shù)據(jù),并將其傳送至打印作業(yè)獲取單元612。Web服務(wù)發(fā)送單元 611接收來自打印控制單元616的狀態(tài)通知請求,并向web服務(wù)303通知打印作業(yè)的狀態(tài)。 打印作業(yè)獲取單元612通過打印隊列信息700管理打印數(shù)據(jù)的獲取。打印隊列信息700包括關(guān)于打印作業(yè)的隊列信息,所述隊列信息包括URI 701、認(rèn)證令牌702、客戶端ID 703、客戶端作業(yè)ID 704和設(shè)備作業(yè)ID 705。URI 701指示打印數(shù)據(jù)保存目的地。在該實施例中,例如,登記Web服務(wù)303的URI。認(rèn)證服務(wù)308發(fā)布認(rèn)證令牌702。將認(rèn)證令牌702添加至所獲取的打印作業(yè),并且認(rèn)證服務(wù)308響應(yīng)于來自Web服務(wù) 303的請求來確認(rèn)匹配??蛻舳薎D 703用于識別客戶端。在該實施例中,例如,將Web服務(wù)的URI登記為客戶端ID。客戶端作業(yè)ID 704用于識別客戶端發(fā)布的作業(yè)。在該實施例中,例如,將打印服務(wù)器104發(fā)布的UUID(通用唯一標(biāo)識符)登記為客戶端作業(yè)ID。設(shè)備作業(yè)ID 705用于識別設(shè)備發(fā)布的作業(yè)。在該實施例中,例如,通過拉式打印應(yīng)用304按接受打印請求的順序,將從I開始的整數(shù)遞增所獲得的值進(jìn)行登記。打印作業(yè)獲取單元612在打印隊列信息 700的末端登記從Web服務(wù)接受單元610通知的打印請求信息。從打印請求傳送的信息包括URI 701、認(rèn)證令牌702、客戶端ID 703和客戶端作業(yè)ID 704。打印作業(yè)獲取單元612經(jīng)由Web服務(wù)發(fā)送單元611從在打印隊列信息700的開始處的打印作業(yè)信息獲取打印數(shù)據(jù)。 在該實施例中,從登記在URI 701的Web服務(wù)303獲取打印數(shù)據(jù)。打印作業(yè)獲取單元612 向打印作業(yè)發(fā)送單元615發(fā)送所獲取的打印數(shù)據(jù)。稍后將描述當(dāng)獲取打印數(shù)據(jù)時的處理序列。拉式打印控制器613管理拉式打印應(yīng)用304的總體操作。經(jīng)由拉式打印控制器613發(fā)布針對各個單元的操作指令等。打印作業(yè)發(fā)送單元615接受從打印作業(yè)獲取單元612發(fā)送的打印數(shù)據(jù),并將其保持在傳送緩沖器中。然后,打印作業(yè)發(fā)送單元615將傳送緩沖器中保存的打印數(shù)據(jù)發(fā)送至控制器222,以執(zhí)行打印處理。當(dāng)在傳送緩沖器中保存打印數(shù)據(jù)時,在接收打印數(shù)據(jù)的同時將打印數(shù)據(jù)傳送至控制器222。因此,傳送緩沖器保存打印數(shù)據(jù)的一部分。打印作業(yè)發(fā)送單元615保持傳送緩沖器信息710,并基于傳送緩沖器信息710控制打印數(shù)據(jù)的傳送。傳送緩沖器信息710包括緩沖器大小711、接收完成大小712、延遲傳送緩沖器大小713、最大傳送大小714和延遲傳送大小715。緩沖器大小711是打印作業(yè)發(fā)送單元615 中保持的傳送緩沖器的大小。接收完成大小712是已經(jīng)被接收并保存于傳送緩沖器中的累積數(shù)據(jù)的大小。延遲傳送緩沖器大小713是開始向控制器222的延遲傳送的緩沖器大小的閾值。最大傳送大小714是向控制器222的傳送大小(第一數(shù)據(jù)大小的示例)。延遲傳送大小715是小于延遲傳送中的最大傳送大小的傳送大小(第二數(shù)據(jù)大小的示例)。延遲傳送是被執(zhí)行以將打印數(shù)據(jù)從最大傳送大小714改變?yōu)楦〈笮∫栽谙蚩刂破?22傳送打印數(shù)據(jù)時延長向控制器222的傳送時間并防止超時的傳送控制。稍后將描述使用傳送緩沖器信息710的打印數(shù)據(jù)傳送處理控制序列。打印控制單元616保持從Web服務(wù)接受單元610通知的事件登記信息。事件登記信息保持事件傳輸目的地的URI、用于識別客戶端的客戶端ID等。打印控制單元616從控制器222接收從打印作業(yè)發(fā)送單元615向控制器222傳送的打印作業(yè)的狀態(tài)。打印控制單元616經(jīng)由Web服務(wù)發(fā)送單元611向事件發(fā)送目的地URL通知打印作業(yè)狀態(tài)。在該實施例中,事件發(fā)送目的地URL是例如Web服務(wù)303。由于打印作業(yè)狀態(tài)通知包括客戶端作業(yè)ID 和設(shè)備作業(yè)ID,所以打印服務(wù)器104可指定打印作業(yè)?!蠢酱蛴⌒蛄小祱D8是示出通過拉式打印應(yīng)用304從打印服務(wù)器104獲取打印數(shù)據(jù)并處理他的打印數(shù)據(jù)處理序列的流程圖。圖8中所示的處理通過由打印機的CPU 210將圖2所示的打印機的HDD 213中存儲的程序加載至打印機的RAM 211中并執(zhí)行該程序而執(zhí)行。將以打印機 105作為打印機的示例進(jìn)行說明。在步驟S801中,拉式打印應(yīng)用304向打印服務(wù)器104發(fā)出打印數(shù)據(jù)獲取請求。同時,從打印序列信息700的開始依次執(zhí)行打印數(shù)據(jù)獲取請求。在步驟S802中,拉式打印應(yīng)用304在打印機105的打印作業(yè)發(fā)送單元615中保持的傳送緩沖器信息710的接收完成大小712中設(shè)置“O”。在步驟S803中,拉式打印應(yīng)用304初始化傳送緩沖器信息710。在步驟S804中,拉式打印應(yīng)用304開始向打印機105的控制器222的打印數(shù)據(jù)傳送處理。稍后將參照圖9描述步驟S804中的處理。即使在步驟S805和后續(xù)步驟中的處理期間,仍繼續(xù)在步驟S804中開始的向控制器222的打印數(shù)據(jù)傳送處理。在步驟S805中,拉式打印應(yīng)用304確定到打印服務(wù)器104的連接是正常結(jié)束、異常結(jié)束(斷開)、還是連接仍舊繼續(xù)。稍后將參照圖10描述當(dāng)確定到打印服務(wù)器104的連接異常結(jié)束時的處理。在該實施例中,例如通過確定是否正常執(zhí)行TCP/IP通信協(xié)議的結(jié)束處理,來確定到打印服務(wù)器104的連接是否正?;虍惓=Y(jié)束。如果在步驟S805中拉式打印應(yīng)用304確定到打印服務(wù)器104的連接正常結(jié)束,則確定所有打印數(shù)據(jù)的接收完成,并結(jié)束處理。如果在步驟S805中拉式打印應(yīng)用304確定到打印服務(wù)器104的連接繼續(xù),則進(jìn)行至步驟S806。在步驟S806中,拉式打印應(yīng)用304根據(jù)傳送緩沖器信息710的緩沖器大小711和接收完成大小712,確定傳送緩沖器是否具有空閑空間。步驟S806中的確定處理例如通過將緩沖器大小711和接收完成大小712相比較來執(zhí)行。如果在接收打印數(shù)據(jù)時接收完成大小712變?yōu)榇笥诰彌_器大小711,則拉式打印應(yīng)用304確定傳送緩沖器沒有空閑空間,并且將處理返回至步驟S805。如果即使在接收打印數(shù)據(jù)時接收完成大小712仍然小于緩沖器大小711,則拉式打印應(yīng)用304確定傳送緩沖器具有空閑空間,并進(jìn)行至步驟S807。在步驟S807中,打印機105接收來自打印服務(wù)器104的打印數(shù)據(jù)。在步驟S808 中,拉式打印應(yīng)用304將在步驟S807中接收的打印數(shù)據(jù)的大小添加至接收完成大小712。 在步驟S809中,拉式打印應(yīng)用304將步驟S807中接收的打印數(shù)據(jù)添加至傳送緩沖器。之后,拉式打印應(yīng)用304將處理返回至步驟S805。如上所述,如圖8所示,該實施例中的打印機105在從打印服務(wù)器104接收打印數(shù)據(jù)的同時將傳送緩沖器中保存的打印數(shù)據(jù)傳送至打印機105的控制器222。圖9是示出圖8的步驟S804中的處理序列的流程圖。圖9所示的處理通過由打印機的CPU 210將圖2所示的打印機的HDD 213中存儲的程序加載至打印機的RAM 211中并執(zhí)行該程序而執(zhí)行。在步驟S901中,拉式打印應(yīng)用304確定打印機105是否連接至打印服務(wù)器104。 如果拉式打印應(yīng)用304確定打印機105沒有連接至打印服務(wù)器104,則結(jié)束處理。如果拉式打印應(yīng)用304確定打印機105連接至打印服務(wù)器104,則進(jìn)行至步驟S902。在步驟S902 中,拉式打印應(yīng)用304確定是否保存要傳送至傳送緩沖器的數(shù)據(jù)。在步驟S902的處理中, 例如,可確定傳送緩沖器信息710的接收完成大小712是否大于O。如果拉式打印應(yīng)用304 確定要傳送至傳送緩沖器的數(shù)據(jù)沒有被保存,則將該處理返回至步驟S901。如果拉式打印應(yīng)用304確定保存了要傳送至傳送緩沖器的數(shù)據(jù),則進(jìn)行至步驟S903。在步驟S903中,拉式打印應(yīng)用304確定步驟S801中到打印服務(wù)器104的連接是否繼續(xù)。如果拉式打印應(yīng)用304確定到打印服務(wù)器104的連接繼續(xù),則進(jìn)行至步驟S904。 如果拉式打印應(yīng)用304確定到打印服務(wù)器104的連接沒有繼續(xù),則進(jìn)行至步驟S906。在步驟S904中,拉式打印應(yīng)用304確定傳送緩沖器中保存并要傳送的打印數(shù)據(jù)是否小于基準(zhǔn)閾值。在該實施例中,例如,確定接收完成大小712是否小于延遲傳送緩沖器大小713。如果拉式打印應(yīng)用304確定要傳送的打印數(shù)據(jù)小于基準(zhǔn)閾值,則進(jìn)行至步驟S905, 以確定最大傳送大小714作為向控制器222的傳送大小。如果拉式打印應(yīng)用304確定要傳送的打印數(shù)據(jù)等于或大于基準(zhǔn)閾值,則進(jìn)行至步驟S907,以確定延遲傳送大小715作為向控制器222的傳送大小。再參照步驟S903,如果在步驟S903中拉式打印應(yīng)用304確定到打印服務(wù)器104的連接沒有繼續(xù),則在步驟S906中確定到打印服務(wù)器104的連接是正常結(jié)束還是異常結(jié)束。步驟S906中的確定可通過例如確定是否正常執(zhí)行了 TCP/IP通信協(xié)議的結(jié)束處理來作出。 如果在步驟S906中拉式打印應(yīng)用304確定到打印服務(wù)器104的連接正常結(jié)束,則執(zhí)行步驟 S905所述的處理。如果拉式打印應(yīng)用304確定到打印服務(wù)器104的連接異常結(jié)束,則執(zhí)行步驟S907所述的處理。在步驟S905或S907中確定從傳送緩沖器向控制器222的傳送大小之后,在步驟 S908中,拉式打印應(yīng)用304從傳送緩沖器獲取步驟S905或S907中確定的傳送大小的打印數(shù)據(jù)。在步驟S909中,拉式打印應(yīng)用304向控制器222傳送所獲取的傳送大小的打印數(shù)據(jù) (步驟S909)。在步驟S909的傳送處理的結(jié)束之后,拉式打印應(yīng)用304將處理返回至步驟 S902。如上所述,根據(jù)該實施例,如果從打印機105到打印服務(wù)器104的連接在到控制器 222的傳送處理(步驟S804)期間結(jié)束,則檢測到連接的結(jié)束(步驟S903)。此外,確定連接是否在接收打印數(shù)據(jù)的完成時正常結(jié)束或由于線路斷開等異常結(jié)束(步驟S906)。即,在該實施例中,當(dāng)?shù)酱蛴》?wù)器104的連接在到控制器的傳送處理期間異常結(jié)束時,減小向控制器222的傳送數(shù)據(jù)的大小,直到開始連接重試處理(稍后描述)。這能夠防止發(fā)生向控制器222的傳送處理的超時。在該實施例中,即使當(dāng)從打印機105到打印服務(wù)器104的連接繼續(xù)時,如果在步驟S904中確定傳送緩沖器中保存的打印數(shù)據(jù)的量小于閾值,則減小向控制器222的傳送數(shù)據(jù)的大小。因此,即使當(dāng)從打印服務(wù)器104的打印數(shù)據(jù)的接收速率由于線路問題等降低并且要傳送的數(shù)據(jù)量減少時,也能夠防止發(fā)生向控制器222的傳送處理的超時。圖10是示出當(dāng)拉式打印應(yīng)用304在圖8的步驟S805中確定到打印服務(wù)器104的連接異常結(jié)束時執(zhí)行的處理序列的流程圖。圖10所示的處理通過由打印機的CPU 210將圖2所示的打印機的HDD 213中存儲的程序加載至打印機的RAM 211中并執(zhí)行該程序來執(zhí)行。在步驟S1001中,拉式打印應(yīng)用304檢測到打印服務(wù)器104的連接的異常結(jié)束。在該實施例中,例如,將沒有正常執(zhí)行TCP/IP通信協(xié)議的結(jié)束處理的連接的結(jié)束檢測為異常結(jié)束。如果拉式打印應(yīng)用304確定到打印服務(wù)器104的連接異常結(jié)束,則在步驟S1002至 S1006中,重試到打印服務(wù)器104的連接。拉式打印應(yīng)用304保持重試計數(shù)和重試間隔作為初始值。重試計數(shù)和重試間隔可根據(jù)網(wǎng)絡(luò)環(huán)境而改變。在該實施例中,當(dāng)執(zhí)行重試處理時,首先在步驟S1003中,拉式打印應(yīng)用304參照打印隊列信息700以確定打印作業(yè)是否在拉式打印的執(zhí)行期間的作業(yè)之后被登記。如果拉式打印應(yīng)用304確定打印作業(yè)之后被登記,則進(jìn)行至步驟S1004。在步驟S1004中,拉式打印應(yīng)用304從控制器222獲取打印期間的打印作業(yè)信息并參照該打印作業(yè)信息。拉式打印應(yīng)用304可從打印服務(wù)器104獲取打印作業(yè)信息。在步驟S1004中,拉式打印應(yīng)用304確定打印期間的打印作業(yè)是否具有例如訂釘或裝訂的整理設(shè)定(finishing setting)。如果拉式打印應(yīng)用304確定打印期間的打印作業(yè)具有整理設(shè)定,則進(jìn)行至步驟S1005,并向打印服務(wù)器104發(fā)送打印數(shù)據(jù)獲取請求以重試連接。在步驟S1005中,拉式打印應(yīng)用304向打印服務(wù)器104通知接收完成大小712。在接收到接收完成大小712時,打印服務(wù)器104將打印數(shù)據(jù)當(dāng)中的在接收完成大小712之后的打印數(shù)據(jù)作為響應(yīng)發(fā)送回打印機105。如果在步驟S1004中拉式打印應(yīng)用304確定打印期間的打印作業(yè)不具有整理設(shè)定,則進(jìn)行至步驟S1007,而不進(jìn)行重試。再參照步驟S1003,如果在步驟S1003拉式打印應(yīng)用304確定后續(xù)沒有登記打印作業(yè),則執(zhí)行步驟S1005所述的處理。更具體地說,如果打印期間的打印作業(yè)具有整理設(shè)定, 則拉式打印應(yīng)用304重試連接,而不中斷打印。這是因為如果在具有整理設(shè)定的打印作業(yè)中發(fā)生打印錯誤,則需要從第一頁開始執(zhí)行重新打印。在該實施例中,當(dāng)后續(xù)存在打印作業(yè)并且打印期間的打印作業(yè)具有整理設(shè)定時, 重試連接(在步驟S907的處理中,將傳送大小設(shè)置為較小)。這能夠防止由于打印錯誤而從第一頁重新開始打印。如果打印期間的打印作業(yè)不具有整理設(shè)定,則打印作業(yè)由于錯誤結(jié)束,而不進(jìn)行連接重試(稍后要描述的步驟S1014)。同樣,如果后續(xù)存在打印作業(yè)并且打印期間的打印作業(yè)不具有整理設(shè)定,則打印作業(yè)由于錯誤結(jié)束,而不進(jìn)行連接重試(稍后要描述的步驟S1014)。在步驟S1007中,拉式打印應(yīng)用304確定到打印服務(wù)器104的重新連接是否成功。 如果拉式打印應(yīng)用304確定到打印服務(wù)器104的重新連接失敗,則在步驟S1013中向打印服務(wù)器104通知關(guān)于具有打印錯誤的打印作業(yè)的打印中使用的排紙托盤的信息。要使用的排紙托盤信息從控制器222獲取。在該實施例中,打印服務(wù)器104接受與打印錯誤對應(yīng)的排紙托盤信息,并且可將排隊的排紙托盤信息改變?yōu)榕c對應(yīng)于打印錯誤的排紙托盤不同的排紙托盤。即,可在具有打印錯誤的打印作業(yè)和后續(xù)的打印作業(yè)之間切換排出目的地。這能夠防止由于打印錯誤中途排出紙張的打印作業(yè)的輸出物與后續(xù)的打印作業(yè)的輸出物的混合。在步驟S1014中,拉式打印應(yīng)用304結(jié)束打印期間的打印數(shù)據(jù)的數(shù)據(jù)傳送,并向打印服務(wù)器104通知指示由于錯誤使得打印作業(yè)結(jié)束的狀態(tài)。如果在步驟S1007中拉式打印應(yīng)用304確定到打印服務(wù)器104的重新連接成功, 則在步驟S1008、S1009、S1010、S1011和S1012的處理中接收打印數(shù)據(jù)。步驟S1008至S1012 的處理的描述與圖8的步驟S805至S809的處理的描述相同。在該實施例中,當(dāng)?shù)酱蛴》?wù)器104的連接異常結(jié)束時,將向控制器222的傳送大小改變?yōu)檠舆t傳送大小715 (設(shè)置為盡可能小),以降低傳送速率,維持到控制器222的連接。在維持到控制器222的連接的同時,重試到打印服務(wù)器104的連接。如果重新連接成功,可向控制器222傳送后續(xù)打印數(shù)據(jù)??刂破?22可接收連續(xù)傳送的打印數(shù)據(jù),而不管到打印服務(wù)器104的連接的異常結(jié)束或重試。因此,打印作業(yè)可繼續(xù)打印,而不會由于超時生成錯誤。打印服務(wù)器104和拉式打印應(yīng)用304有時連接至不同于網(wǎng)絡(luò)109至111的網(wǎng)絡(luò)。 在這種情況下,從打印服務(wù)器104的打印數(shù)據(jù)獲取速率降低,向控制器222的打印數(shù)據(jù)傳送速率增加,并且沒有打印數(shù)據(jù)保留在傳送緩沖器中,因此生成打印錯誤。根據(jù)本發(fā)明,當(dāng)傳送緩沖器大小變?yōu)檩^小時,將向控制器222的傳送大小改變?yōu)檠舆t傳送大小715,以降低傳送速率。這能夠防止生成打印錯誤,同時保持傳送緩沖器。<第二實施例>作為第二實施例將說明第一實施例中的拉式打印應(yīng)用304被布置為與打印機105 至108獨立的服務(wù)器的情況。<總體系統(tǒng)配置>圖11是示出第二實施例中的打印系統(tǒng)的總體配置的框圖。拉式打印服務(wù)器1101 至1103針對一個或多個打印機105至108執(zhí)行拉式打印。連接拉式打印服務(wù)器1101至1103執(zhí)行拉式打印的打印機105至108,作為通過對應(yīng)拉式打印服務(wù)器1101至1103可訪問的網(wǎng)絡(luò)段(network segment)。例如,網(wǎng)絡(luò)110和111是獨立的段,并且拉式打印服務(wù)器 1101不能夠連接至打印機106,因此不能夠執(zhí)行拉式打印。相反,打印機105與拉式打印服務(wù)器1101屬于相同的網(wǎng)絡(luò),所以拉式打印服務(wù)器1101可與其連接并執(zhí)行拉式打印。以下, 只要不需要區(qū)分拉式打印服務(wù)器1101至1103,則將它們統(tǒng)稱為拉式打印服務(wù)器1100。<硬件配置>圖12是示出打印系統(tǒng)中的拉式打印服務(wù)器1100的硬件配置的框圖。系統(tǒng)總線 1201至接口 1209的說明與圖2中的系統(tǒng)總線201至接口 209的說明相同?!创蛴∠到y(tǒng)的配置〉圖13是示出第二實施例中的打印系統(tǒng)的配置的框圖。各個拉式打印服務(wù)器1101 至1103上運行的拉式打印應(yīng)用1104對應(yīng)于第一實施例中的拉式打印應(yīng)用304。拉式打印服務(wù)器1101至1103通過接受來自Web瀏覽器301的打印請求,從打印服務(wù)器104獲取打印數(shù)據(jù),并將他們傳送至打印機105至108來執(zhí)行拉式打印?!蠢酱蛴?yīng)用1104〉拉式打印應(yīng)用1104的軟件配置與圖6所示的拉式打印應(yīng)用304的軟件配置相同。 拉式打印應(yīng)用1104的軟件模塊存儲于圖12所示的HDD 1205中,通過CPU 1202加載至RAM 1203中并執(zhí)行。將說明第一實施例中的拉式打印應(yīng)用304與第二實施例中的拉式打印應(yīng)用1104 之間的區(qū)別。首先,拉式打印應(yīng)用1104可執(zhí)行到多個打印機的拉式打印。通過設(shè)置作為接受針對各個打印機的事件登記請求命令和打印請求的終點(end point)的URI,管理針對各個打印機的諸如打印隊列信息700的信息,并執(zhí)行傳送處理來實現(xiàn)到多個打印機的拉式打印。打印服務(wù)器104保持打印機之間不同的終點URI作為打印機信息,并且不需要知曉打印機105至108和拉式打印服務(wù)器1100中的哪一個是連接目的地。拉式打印服務(wù)器1100 經(jīng)由網(wǎng)絡(luò)連接至打印機105至108。因此,經(jīng)由網(wǎng)絡(luò)109至111,將打印數(shù)據(jù)傳送至打印機 105至108的控制器222。<其他實施例>還可以由讀出并執(zhí)行記錄在存儲裝置上的程序來執(zhí)行上述實施例的功能的系統(tǒng)或設(shè)備的計算機(或諸如CPU或MPU等的設(shè)備),來實現(xiàn)本發(fā)明的各方面;并且可以利用由通過例如讀出并執(zhí)行記錄在存儲裝置上的程序來執(zhí)行上述實施例的功能的系統(tǒng)或設(shè)備的計算機來執(zhí)行各步驟的方法,來實現(xiàn)本發(fā)明的各方面。為此,例如經(jīng)由網(wǎng)絡(luò)或從充當(dāng)存儲裝置的各種類型的記錄介質(zhì)(例如,計算機可讀介質(zhì))將程序提供給計算機。雖然參照示例性實施例對本發(fā)明進(jìn)行了描述,但是應(yīng)當(dāng)理解,本發(fā)明不局限于所公開的示例性實施例。應(yīng)當(dāng)對所附權(quán)利要求的范圍給予最寬的解釋,以使所述范圍涵蓋所有的此類變型例、等同結(jié)構(gòu)和功能。
權(quán)利要求
1.一種信息處理裝置,其能夠連接至管理打印數(shù)據(jù)的服務(wù)器和基于打印數(shù)據(jù)進(jìn)行打印的打印機,該信息處理裝置包括接收單元,被配置為接收來自所述服務(wù)器的打印數(shù)據(jù);傳送控制單元,被配置為將所述接收單元接收到的打印數(shù)據(jù)按照每次傳送第一數(shù)據(jù)大小的方式向所述打印機傳送;以及檢測單元,被配置為檢測所述服務(wù)器和所述信息處理裝置之間的斷開,其中,當(dāng)所述檢測單元檢測到斷開時,所述傳送控制單元將打印數(shù)據(jù)按照每次傳送第二數(shù)據(jù)大小的方式向所述打印機傳送,所述第二數(shù)據(jù)大小小于所述第一數(shù)據(jù)大小。
2.如權(quán)利要求I所述的信息處理裝置,該信息處理裝置還包括確定單元,被配置為確定所述接收單元接收到的打印數(shù)據(jù)的大小是否小于閾值,其中,在所述確定單元確定所述接收單元接收到的打印數(shù)據(jù)的大小小于閾值的情況下,所述傳送控制單元將打印數(shù)據(jù)按照每次傳送第二數(shù)據(jù)大小的方式向所述打印機傳送。
3.如權(quán)利要求I所述的信息處理裝置,該信息處理裝置還包括重新連接單元,被配置為當(dāng)所述檢測單元檢測到斷開時執(zhí)行所述服務(wù)器和所述信息處理裝置之間的重新連接;以及請求單元,被配置為請求所述服務(wù)器向所述信息處理裝置發(fā)送所述接收單元接收到的打印數(shù)據(jù)后續(xù)的打印數(shù)據(jù),直到檢測到斷開為止。
4.如權(quán)利要求3所述的信息處理裝置,其中,所述打印數(shù)據(jù)具有整理設(shè)定。
5.一種信息處理裝置中執(zhí)行的打印數(shù)據(jù)處理方法,所述信息處理裝置能夠連接至管理打印數(shù)據(jù)的服務(wù)器和基于打印數(shù)據(jù)進(jìn)行打印的打印機,所述打印數(shù)據(jù)處理方法包括接收步驟,接收來自所述服務(wù)器的打印數(shù)據(jù);傳送控制步驟,將在所述接收步驟中接收到的打印數(shù)據(jù)按照每次傳送第一數(shù)據(jù)大小的方式向所述打印機傳送;以及檢測步驟,檢測所述服務(wù)器和所述信息處理裝置之間的斷開,其中,當(dāng)在所述檢測步驟中檢測到斷開時,在所述傳送控制步驟中將打印數(shù)據(jù)按照每次傳送第二數(shù)據(jù)大小的方式向所述打印機傳送,所述第二數(shù)據(jù)大小小于所述第一數(shù)據(jù)大小。
全文摘要
本發(fā)明提供一種信息處理裝置及該信息處理裝置中的打印數(shù)據(jù)處理方法。所述信息處理裝置能夠連接至管理打印數(shù)據(jù)的服務(wù)器和基于打印數(shù)據(jù)進(jìn)行打印的打印機,所述信息處理裝置接收來自所述服務(wù)器的打印數(shù)據(jù),并且按照每次傳送第一數(shù)據(jù)大小的方式向所述打印機傳送接收到的打印數(shù)據(jù)。當(dāng)檢測到所述服務(wù)器和所述信息處理裝置之間的斷開時,所述信息處理裝置按照每次傳送第二數(shù)據(jù)大小的方式向所述打印機傳送打印數(shù)據(jù),所述第二數(shù)據(jù)大小小于所述第一數(shù)據(jù)大小。
文檔編號G06F3/12GK102591598SQ20111033602
公開日2012年7月18日 申請日期2011年10月28日 優(yōu)先權(quán)日2010年10月29日
發(fā)明者堤健介 申請人:佳能株式會社