專利名稱:分支辦公室直接打印的制作方法
分支辦公室直接打印
背景技術:
大型組織可以在位于中央辦公室的打印服務器中合并打印管理。集中式打印服務器有助于打印機配置和管理。在使用這樣的系統時,分支辦公室中的客戶端計算機向打印服務器上的遠程假脫機程序(spooler)發送打印作業。打印服務器然后向分支辦公室中的本地打印機發送打印作業。這引起如下情形在網絡上向處于總部的打印服務器發送打印作業,然后向分支辦公室中的打印機回傳打印作業。這樣的操作浪費昂貴的廣域網帶寬并且特別在高延時鏈路上減慢打印作業。因而,需要如下打印方法和裝置,這些方法和裝置保持集中式打印服務器的優點、 但是克服由于通過集中式打印服務器傳送打印作業所致的一個或者多個問題。
發明內容
根據本發明的實施例,用于由客戶端計算機打印的方法和裝置在在集中式打印服務器處進行打印機配置和管理之時減少網絡使用和打印延遲。打印服務器控制對分支辦公室打印模式的啟用。在啟用分支辦公室打印模式時,客戶端計算機向分支辦公室中的所選打印機直接發送假脫機的打印數據。在禁用分支辦公室打印模式時,客戶端計算機向集中式打印服務器發送假脫機的打印數據,并且打印服務器向所選打印機傳送打印數據。打印服務器在兩種操作模式中針對客戶端計算機執行配置和管理功能。打印服務器可以在每個隊列的基礎上啟用和禁用分支辦公室打印模式。根據本發明的第一方面,提供一種用于由客戶端計算機打印的方法。該方法包括 客戶端計算機從用戶接收打印請求;客戶端計算機從打印服務器確定是否啟用分支辦公室打印模式;如果分支辦公室打印模式確定為啟用,則客戶端計算機通過向選擇的打印機直接打印來執行打印請求;并且如果分支辦公室打印模式確定為禁用,則客戶端計算機通過通過打印服務器向選擇的打印機打印來執行打印請求。根據本發明的第二方面,一種客戶端計算機被配置成執行打印請求。該客戶端計算機包括處理器和存儲器設備,存儲器設備包括打印假脫機程序,以保持打印數據、接收打印請求、從打印服務器確定是否啟用分支辦公室打印模式、如果分支辦公室打印模式確定為啟用則通過向選擇的打印機直接發送打印數據來繼續打印而如果分支辦公室打印模式確定為禁用則通過通過打印服務器向選擇的打印機發送打印數據來繼續打印。根據本發明的第三方面,提供一種用于通過打印服務器控制打印的方法。該方法包括打印服務器從管理員接收用于指定的打印隊列的分支辦公室打印模式選擇;打印服務器針對指定的打印隊列啟用分支辦公室打印模式;打印服務器從客戶端計算機接收對打印請求的指示;并且打印服務器向客戶端計算機通知啟用分支辦公室打印模式。前文是所附權利要求限定的本發明的非限制性發明內容。
附圖未意欲按比例繪制。在附圖中,在各圖中圖示的每個相同或者接近相同部件由同樣的標號表示。為求清楚,可能未在每幅圖中標注每個部件。在附圖中 圖1是圖示了通過集中式打印服務器打印的常規計算機系統的示意框圖; 圖2是根據本發明實施例的計算機系統的示意框圖,其中從客戶端計算機向本地打印機直接發送假脫機的打印數據;
圖3是圖示了客戶端計算機和打印服務器的部件的根據本發明實施例的計算機系統的示意框圖3A是示出了根據本發明實施例的客戶端打印假脫機程序和打印機的示意框圖; 圖4是根據本發明實施例的客戶端計算機執行的過程的流程圖; 圖5是圖示了不同打印隊列的操作的根據本發明實施例的計算機系統的示意框圖; 圖6是根據本發明實施例的打印服務器執行的過程的流程圖;并且圖7是可以實施為客戶端計算機或者打印服務器的計算設備的示意框圖。
具體實施例方式在圖1中示出了利用遠程打印服務器的常規計算機系統的示意框圖。公司或者其他實體可以在兩個或者更多地理位置具有辦公室。分支辦公室10可以包括客戶端計算機 20,22,24等和打印機30。總部辦公室或者其他辦公室可以包括控制客戶端計算機20、22、 24向打印機30打印的遠程打印服務器40。在操作中,計算設備20從用戶接收針對打印作業的請求。客戶端計算機20向遠程打印服務器40通知打印請求并且向遠程打印服務器40發送也稱為假脫機的數據的打印數據。遠程打印服務器40然后向打印機30發送用于打印作業的假脫機的數據用于打印。 遠程打印服務器40控制針對每個客戶端計算機20、22和24的打印配置和管理。如上文所示,向遠程打印服務器40發送打印作業、然后返回到分支辦公室10中的打印機30可能浪費網絡帶寬并且可能造成打印延遲。在圖2中示出了根據本發明實施例的計算機系統100的示意框圖。分支辦公室10 可以包括客戶端計算機120、122、124等和打印機130。總部辦公室或者其他辦公室可以包括遠程打印服務器140。在圖2中示出了與本發明的操作相關的計算機系統100的部件。將理解分支辦公室10可以包括更多或者更少客戶端計算機、附加打印機和本領域技術人員已知的其他部件。另外,總部辦公室可以包括除了遠程打印服務器140之外的部件。計算機系統100也可以包括多于一個分支辦公室和多于一個打印服務器。分支辦公室10和遠程打印服務器 140通常在不同地理位置,盡管這并非本發明的操作要求。根據本發明實施例,打印服務器140控制對分支辦公室打印模式的啟用和禁用。 在分支辦公室打印模式由打印服務器140啟用時,客戶端計算機120向分支辦公室10中的打印機130直接發送假脫機的打印數據。在客戶端計算機120從用戶接收打印請求時,客戶端計算機120向打印服務器140發送對打印請求的指示。打印服務器140確定是否已經為打印機130啟用分支辦公室打印模式并且相應地通知客戶端計算機120。在禁用分支辦公室打印模式時,客戶端計算機120向打印機130直接發送假脫機的打印數據。客戶端計算機120在分支辦公室打印模式中未向遠程打印服務器140發送假脫機的打印數據。打印服務器140控制用于客戶端計算機120的打印配置和管理。下文更具體地描述分支辦公室打印。在圖3中更具體地示出了計算機系統100。客戶端計算機120包括打印假脫機程序150,并且打印服務器140包括打印假脫機程序160。打印假脫機程序150和打印假脫機程序160交換用于客戶端計算機120的打印配置和管理信息。打印服務器140的打印假脫機程序160控制打印配置和管理并且對改變打印機設置的請求做出響應。如圖3中進一步所示,打印服務器140從用戶如管理員接收打印模式選擇。打印模式選擇控制對分支辦公室打印模式的啟用和禁用。在啟用分支辦公室打印模式時,從打印假脫機程序150向遠程打印機130直接發送打印作業。在禁用分支辦公室打印模式時, 從打印假脫機程序150向打印假脫機程序160發送打印作業,然后打印假脫機程序160向遠程打印機130發送打印作業。分支辦公室打印模式的禁用狀態可以稱為“正常”打印模式。客戶端計算機120從用戶接收在遠程打印機130處打印一項打印作業的打印請求。在禁用分支辦公室打印模式時,從客戶端計算機120中的打印假脫機程序150向打印服務器140中的打印假脫機程序160發送打印作業PJ1。然后從打印假脫機程序160向遠程打印機130發送打印作業PJ1。在啟用分支辦公室打印模式時,從客戶端計算機120中的打印假脫機程序150向遠程打印機130直接發送打印作業PJ2。如圖3中所示,未向打印服務器140發送打印作業PJ2。如下文所述,打印服務器140可以在每個隊列的基礎上啟用分支辦公室打印模式。因此,在相同或者不同的分支辦公室中不同遠程打印機可以在不同模式中操作。另外, 客戶端計算機120可以在某些境況之下(例如在客戶端計算機120與分支辦公室打印不兼容時或者如果有沖突的打印機設置生效)忽略如打印服務器140設置的分支辦公室打印模式。在圖3A中更具體示出了客戶端計算機120中的打印假脫機程序150。本地打印機170接收打印作業。向CSR模塊180供應打印數據,該CSR模塊執行對打印數據的再現。 在分支辦公室打印模式中向打印機130直接發送再現的數據。在圖4的流程圖中示出了根據本發明實施例的客戶端計算機120執行的打印過程。已經從圖4省略了在打印時涉及到的常規動作以便有助于理解本發明。將理解可以在本發明的打印過程內包括附加動作。參照圖3中所示和以上所述的計算機系統100描述圖 4的過程。在動作200中,客戶端計算機120從用戶接收打印請求。打印請求可以指定將由所選打印機打印的打印作業。在許多實例中,所選打印機為默認打印機并且無需用戶的具體選擇。向客戶端計算機120的打印假脫機程序150轉發打印作業。客戶端計算機120在動作202中開始與打印服務器140同步。在動作204中,客戶端計算機120從打印服務器 140確定是否啟用分支辦公室打印。分支辦公室打印可以利用現有打印假脫機程序軟件中的現有CSR (客戶側再現)功能。CSR允許打印作業再現由客戶端計算機進行,因此允許客戶端計算機在打印時繞過打印服務器。此外,CSR保證與CSR兼容的任何打印機驅動器將與分支辦公室打印兼容。分支辦公室打印構建于客戶端計算機中的打印假脫機程序150的現有客戶側再現功能上。CSR通過包括由本地打印假脫機程序管理的本地打印機(有時稱為“GUID打印機”)來實施遠程打印機連接。本地打印機在效果上是遠程打印機的鏡像并且具有與遠程打印機相同的驅動器、形式、設置和數據。這允許在向遠程打印機打印中涉及到的大量工作在客戶端計算機上本地地進行。本地打印機與遠程打印機之間的不同在于端口。遠程打印機的端口是與本地 (USB,LPT)端口或者與網絡設備(例如經由TCP或者WSD)通信的標準端口。本地打印機的端口使用CSR端口監視器來與打印服務器140而不是物理打印機通信。CSR端口監視器向打印服務器140傳送來自客戶端計算機120的再現的打印作業,并且打印服務器140向實際打印機傳送假脫機的數據。根據本發明的實施例,本地打印機上的CSR端口監視器可以被可以與物理打印機通信的“實際”端口監視器替換。從打印服務器140復制并且在本地打印機上設置端口監視器設置。然后,客戶側再現知道如何與打印機直接通信而無需在打印過程中涉及打印服務器。在打印服務器140上在每個隊列或者每個連接的基礎上配置分支辦公室打印。在這些實施例中,未在客戶端計算機啟用或者禁用分支辦公室打印。可以按照在打印服務器上設置的值實現配置。客戶端計算機120周期性地(或者在流逝的時間段之后或者在檢測到打印服務器上的改變時)同步在遠程服務器140上設置的值。在變量“繞過服務器”設置成非零值時,針對連接啟用分支辦公室打印。然而,如果客戶端計算機與分支辦公室打印不兼容或者如果有沖突的設置生效,則該客戶端計算機可以忽略這一設置。連接設置涉及設置由本地打印假脫機程序150管理的本地打印機。這一過程的部分包括向打印機分配端口。對于正常打印和分支辦公室打印這二者,端口默認為CSR端口監視器。作為設置的最后步驟,同步CSR緩存同步向本地打印機復制所有遠程打印機設置。 在這一點,端口設置從CSR端口監視器改變成在打印服務器140上使用的端口設置。打印假脫機程序150的客戶側再現功能確定如何配置用于連接的端口并且保持本地打印機與關聯的遠程打印隊列同步。如果管理員改變遠程打印機上的端口設置,則向客戶端計算機傳播它們。端口的配置基于分支辦公室打印模式在動作204中確定為針對連接是啟用還是禁用。如果啟用分支辦公室打印模式,并且如果遠程端口設置不同于本地端口設置,則使本地設置與遠程端口設置同步。如果禁用分支辦公室打印模式,則本地端口設置被設置成CSR 端口監視器以允許連接的正常操作。在動作220中,客戶端計算機120在確定禁用分支辦公室打印之后確定本地端口是否被設置成CSR。如果本地端口設置成CSR,則該過程進入動作224。如果本地端口未設置成CSR,則客戶端計算機120在動作222中將本地端口設置成 CSR0該過程然后進入動作224,其中客戶端計算機120通過打印服務器140打印。值“啟用分支辦公室打印”確定是否針對連接啟用分支辦公室打印。如果這個值為零或者未設置,則禁用分支辦公室打印模式。如果這個值設置成非零值,那么假如無其他設置沖突并且尚未確定連接與分支辦公室打印不兼容,則啟用分支辦公室打印模式。客戶端計算機120在動作206中通過向打印服務器進行遠程數據調用來取回遠程端口設置。可以通過針對TCP (傳輸控制協議)和WSD (用于設備的網上服務)協議進行必需數據調用來確定遠程端口的類型。首先,客戶端計算機嘗試取回TCP端口數據,然后是 WSD端口數據。如果這兩樣均未成功,則端口不兼容,并且不能針對連接啟用分支辦公室打印模式。端口設置成CSR端口監視器,并且客戶端計算機回復正常打印。在取回TCP端口數據時,打印服務器返回包含遠程TCP端口配置的數據結構。在取回WSD端口數據時,打印服務器返回包含遠程WSD端口配置的數據結構。在取回遠程端口設置之后,取回本地打印機當前端口設置。然后,比較本地和遠程端口設置。如果端口設置不同,則本地打印機被重新配置成使用與打印服務器相同的端口設置。如果在動作208中確定遠程端口設置和本地端口設置是相同的,則無需改變本地端口并且同步是完全的。該過程然后進入動作212。如果在動作208中確定遠程端口設置和本地端口設置不同,則在動作210中更新本地端口設置以匹配遠程端口設置。此外,如果必要則加載關聯的端口監視器。向本地端口監視器添加與遠程端口匹配的新端口。在已經向本地端口監視器添加新端口之后,可以在本地打印機上設置新端口,并且可以從本地端口監視器移除舊端口。在動作212中,客戶端計算機120向遠程打印機130直接打印。如果來自打印服務器140的遠程設置指示已經針對連接禁用分支辦公室打印模式或者確定分支辦公室打印與客戶端計算機120不兼容,則配置連接用于通過CSR端口監視器的正常打印。如這里所用,“正常”打印是指其中通過打印服務器向遠程打印機發送打印作業的打印。CSR同步管理器可以在輪詢模式中運行,從而它從打印服務器周期地取回設置。因為分支辦公室打印功能使用CSR同步管理器來同步端口設置,所以有可能存在這樣的時間窗其中客戶端計算機端口設置與打印服務器端口設置不同步。如果客戶端計算機將在這個窗口期間向分支辦公室打印機發送打印作業,則該作業將失敗。為了消除這個問題,客戶端計算機120在每個打印作業開始時利用同步緩存同步。這保證端口設置在需要時是最新的。為了減少性能影響,同步功能可以限于端口信息, 并且可以不執行完全打印機同步。在其他實施例中,可以周期地(例如在固定時間間隔之后打印作業時)而不是與每個打印作業一起執行端口同步。后退到正常打印模式可以在一個或者多個以下條件之下出現(1)如果遠程打印服務器與分支辦公室打印不兼容;(2)如果遠程端口設置與分支辦公室打印不兼容(非TCP 或者非WSD端口);(3)如果打印驅動器與正常CSR操作不兼容;(4)如果已經在遠程打印隊列上啟用服務器側再現;(5)如果已經在遠程打印隊列上啟用“保持打印的作業”;以及(6) 如果在遠程打印隊列上啟用“打印機池(Printer Pooling)”(即遠程打印隊列與多個端口關聯)。在客戶端計算機后退到正常打印時,可以記錄事件,以出于管理的目的說明原因。在圖5中示出了根據本發明實施例的計算機系統300。計算機系統300包括客戶端計算機120、客戶端計算機122、遠程打印機130、遠程打印機310和打印服務器140。客戶端計算機120和122以及遠程打印機130和310可以在分支辦公室中,并且打印服務器 140可以在總部辦公室中。打印服務器140包括用于遠程打印機130的打印隊列320和用于遠程打印機310 的打印隊列322。將理解打印服務器140可以包括用于多于兩個遠程打印機的打印隊列。管理員控制模塊330從管理員接收輸入并且控制打印隊列320和打印隊列322的打印模式。 具體而言,管理員控制模塊330可以控制針對打印隊列320和322中的每一個是啟用還是禁用分支辦公室打印模式。打印服務器140也控制對客戶端計算機120和122中的每一個的配置和管理。
在圖5的實例中,管理員控制模塊330已經針對遠程打印機130啟用分支辦公室打印模式并且已經針對遠程打印機310禁用分支辦公室打印模式。將理解,可以在管理員或者其他用戶的控制之下按照需要啟用和禁用用于每個遠程打印機的打印模式。因而在客戶端計算機120接收在遠程打印機130處打印的打印請求時,從打印服務器140確定分支辦公室打印模式為啟用,并且打印作業PJlO直接被發送至遠程打印機130,而不發送至打印服務器140。在客戶端計算機120接收向遠程打印機130打印的請求時,從打印服務器 140確定分支辦公室打印模式為禁用,并且打印作業PJll直接被發送至打印服務器140中的打印隊列322,以便從打印隊列322轉發至遠程打印機310。類似地,在客戶端計算機122 接收向遠程打印機130打印的打印請求時,從打印服務器140確定分支辦公室打印模式為啟用。因而從客戶端計算機122向遠程打印機130直接發送打印作業PJ20而不向打印服務器140發送打印作業PJ20。在客戶端計算機122接收向遠程打印機310打印的請求時,從打印服務器140確定分支辦公室打印模式為禁用,并且向打印隊列322發送打印作業PJ21, 以便從打印隊列322向遠程打印機310轉發。可以觀察到,針對每個打印機啟用或者禁用分支辦公室打印模式并且每個客戶端計算機根據將被利用的遠程打印機的打印模式來打印。在圖6中示出了打印服務器140根據本發明實施例進行的過程的流程圖。示出了在控制分支辦公室打印模式中涉及的動作。將理解該過程可以在本發明的范圍內包括附加動作。在動作400中,打印服務器140從管理員或者其他用戶接收打印模式選擇。打印模式選擇指定將針對其啟用或者禁用分支辦公室打印模式的遠程打印機。將理解在打印服務器140而不是在客戶端計算機處啟用或者禁用分支辦公室打印模式。在動作402中,打印服務器140響應于在動作402中接收的打印模式選擇針對指定的打印隊列啟用或者禁用分支辦公室打印模式。打印模式保持啟用或者禁用直至被管理員改變為止。在動作406中,打印服務器140從客戶端計算機接收向指定的打印隊列打印的打印請求的指示。在動作408中,打印服務器140向客戶端計算機通知所選打印模式和將在傳送假脫機的打印數據時使用的端口設置。在啟用分支辦公室打印模式的情況下,客戶端計算機如上文所述與打印服務器140的端口設置同步并且向指定的遠程打印機直接發送打印作業。在這一情況下,打印服務器140未接收假脫機的打印數據。在動作410中,在禁用分支辦公室打印模式時,打印服務器140從客戶端計算機接收假脫機的打印數據并且將打印數據放入針對指定的遠程打印機的打印隊列中。然后從打印服務器140向遠程打印機發送打印數據。如上文所述,打印服務器140建立客戶端計算機120在分支辦公室打印模式和正常打印模式中的端口設置。另外,打印服務器140控制分支辦公室打印模式和正常打印模式中的打印配置和管理。例如打印服務器140可以在每個隊列的基礎上控制打印機設置和打印機性質。客戶端計算機的用戶可以根據打印服務器140設置的默認值來改變打印作業設置,但是不能改變打印隊列設置。另外,因為打印模式由打印服務器140控制,所以客戶端計算機的用戶不知道是在利用分支辦公室打印模式還是在利用正常打印模式。圖7圖示了本發明可以實施于其上的適當計算系統環境1000的實例。計算系統環境1000僅為適當計算環境的一個實例而并不旨在暗示對本發明的用途或者功能的范圍的限制。計算環境1000也不應解釋為具有與示例操作環境1000中所示部件中的任一個部件或者組合有關的相關性或者要求。本發明可與諸多其他通用或者專用計算系統環境或者配置一起操作。可以適合與本發明一起使用的公知計算系統、環境和/或配置的實例包括但不限于個人計算機、服務器計算機、手持或者膝上型設備、多處理器系統、基于微處理器的系統、機頂盒、可編程消費型電子設備、網絡PC、小型計算機、大型計算機、包括任何上述系統或者設備的分布式計算環境等。可以在計算機執行的計算機可執行指令(例如程序模塊)的一般背景中描述本發明。一般而言,程序模塊包括執行特定任務或者實施特定抽象數據類型的例程、程序、對象、 部件、數據結構等。本發明也可以實施于其中任務由通過通信網絡鏈接的遠程處理設備執行的分布式計算環境中。在分布式計算環境中,程序模塊可以位于包括存儲器存儲設備的本地和遠程計算機存儲介質中。參照圖7,一種用于實施本發明的示例系統包括形式為計算機1010的通用計算設備。計算機1010的部件可以包括但不限于處理單元1020、系統存儲器1030以及將包括系統存儲器的各種系統部件耦合到處理單元1020的系統總線1021。系統1021可以是包括存儲器總線或存儲器控制器、外圍總線和使用各種總線架構中的任一種的本地總線的若干類型總線結構中的任一種。舉例而言而非限制,這樣的架構包括工業標準架構(ISA)總線、微信道架構(MCA)總線、增強型ISA (EISA)總線、視頻電子標準協會(VESA)本地總線和也稱為Mezzanine總線的外圍部件互連(PCI)總線。計算機1010通常包括各種計算機可讀介質。計算機可讀介質可以是計算機1010 可以訪問的任何可用介質并且包括易失性和非易失性介質、可移動和不可移動介質。舉例而言而無限制,計算機可讀介質可以包括計算機存儲介質。計算機存儲介質包括以用于存儲信息(例如計算機可讀指令、數據結構、程序模塊或者其他數據)的任何方法或者技術實施的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括但不限于RAM、R0M、 EEPR0M、閃存或者其他存儲器技術、⑶-ROM、數字萬用盤(DVD)或者其他光盤存儲裝置、磁盒、磁帶、磁盤存儲裝置或者其他磁存儲設備或者任何可以用來存儲所需信息并且可以由計算機1010存取的其他介質。也應當在計算機可讀存儲介質的范圍內包括任何上述介質的組合。系統存儲器1030包括形式為易失性和/或非易失性存儲器(例如只讀存儲器 (ROM) 1031和隨機存取存儲器(RAM) 1032)的計算機存儲介質。基本輸入/輸出系統1033 (BIOS)(其包含有助于例如在啟動期間在計算機1010內的元件之間傳送信息的基本例程) 典型地存儲于ROM 1031中。RAM 1032典型地包含處理單元1020立即可訪問和/或當前操作的數據和/或程序模塊。舉例而言而非限制,圖7圖示了操作系統1034、應用程序1035、 其他程序模塊1036和程序數據1037。計算機1010也可以包括其他可移動/不可移動易失性/非易失性計算機存儲介質。僅舉例而言,圖7圖示了從或者向不可移動、非易失性磁介質讀取或者寫入的硬盤驅動器1040、從或者向可移動、非易失性磁盤1052讀取或者寫入的磁盤驅動器1051以及從或者向可移動、非易失性光盤1056 (例如CD ROM或者其他光學介質)讀取或者寫入的光盤驅動器1055。可以在示例操作環境中使用的其他可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限于磁帶盒、閃存卡、數字萬用盤、數字視頻帶、固態RAM、固態ROM等。 硬盤驅動器1041通常通過不可移動存儲器接口(例如接口 1040)連接到系統總線1021,并且磁盤驅動器1051和光盤驅動器1055通常由可移動存儲器接口(例如接口 1050)連接到系統總線1021。上文討論和圖7中圖示的驅動器及其關聯的計算機存儲介質提供對計算機可讀指令、數據結構、程序模塊和用于計算機1010的其他數據的存儲。在圖7中,例如圖示了硬盤驅動器1041存儲操作系統1044、應用程序1045、其他程序模塊1046和程序數據1047。 注意這些部件可以與操作系統1034、應用程序1035、其他程序模塊1036和成像數據1037 相同或者不同。這里向操作系統1044、應用程序1045、其他程序模塊1046和程序數據1047 給予不同標號以圖示它們至少為不同副本。用戶可以通過輸入設備(例如鍵盤1062和指示設備1061 (常稱為鼠標、跟蹤球或者觸墊))向計算機1010內輸入命令和信息。其他輸入設備可以包括麥克風1063、操縱桿、 寫字板1064、碟形衛星天線、掃描儀等。這些和其他輸入設備經常通過用戶輸入接口 1060 (該接口耦合到系統總線)連接到處理單元1020,但是可以不被其他接口和總線結構(例如并行端口、游戲端口或者通用串行總線(USB))連接。監視器1091或者其他類型的顯示設備也經由接口(例如視頻接口 1090)連接到系統1021。除了監視器之外,計算機也可以包括可以通過輸出外圍接口 1095連接的其他外圍輸出設備(例如揚聲器1097和打印機1096)。計算機1010可以使用到一個或者多個遠程計算機(例如遠程計算機1080)的邏輯連接在聯網環境中操作。遠程計算機1080可以是個人計算機、服務器、路由器、網絡PC、對等設備或者其他常見網絡節點并且通常包括上文相對于計算機1010描述的單元中的多個或者所有單元,盡管已經在圖7中僅圖示存儲器存儲設備1081。圖7中所描繪的邏輯連接包括局域網(LAN) 1071和廣域網(WAN) 1073以及無線鏈路(例如經由與天線一起的無線接口 1098),但是也可以包括其他網絡。這樣的聯網環境在辦公室、企業范圍的計算機網絡、內部網和因特網中司空見慣。盡管示出了無線接口 1098直接連接到系統總線1021,但是認識到,無線接口 1098可以經由網絡接口 1070連接到系統總線1021。在使用于LAN聯網環境中時,計算機1010通過網絡接口或者適配器1070連接到 LAN 1071。在使用于WAN聯網環境中時,計算機1010通常包括調制解調器1072或者用于通過WAN 1073 (例如因特網)建立通信的其他裝置。可以在內部或者外部的調制解調器1072 可以經由用戶輸入接口 1060或者其他適當機制連接到系統總線1021。在聯網環境中,相對于計算機1010描繪的程序模塊或者其部分可以存儲于遠程存儲器存儲設備中。舉例而言而非限制,圖7圖示了遠程應用程序1085駐留于存儲器設備1081上。將理解所示網絡連接為示例性的并且可以使用其他在計算機之間建立通信鏈路的手段。已經這樣描述了本發明的至少一個實施例的若干方面,將理解,本領域技術人員將容易想到各種變更、修改和改進。這樣的變更、修改和改進旨在于作為本公開內容的部分并且旨在在本發明的精神和范圍內。因而前文描述和附圖僅為舉例。可以用多種方式中的任何方式實施本發明的上述實施例。例如可以使用硬件、軟件或者其組合來實施這些實施例。在用軟件實施時,可以在任何適當處理器或者處理器的集合(無論是在單個計算機中提供還是分布于多個計算機之間)上執行軟件代碼。這樣的處理器可以實施為集成電路而一個或者多個處理器在集成電路部件中。盡管可以使用任何適當形式的電路來實施處理器。另外應當理解可以用多種形式中的任何形式(例如機架式計算機、桌面型計算機、 膝上型計算機或者寫字板計算機)具體化計算機。此外,計算機可以具體化于一般未視作計算機、但是具有適當處理能力的設備(包括個人數字助理(PDA)、智能電話或者任何其他適當便攜或者固定電子設備)中。計算機也可以具有一個或者多個輸入和輸出設備。這些設備尤其可以用來呈現用戶接口。可以用來提供用戶接口的輸出設備的實例包括用于視覺地呈現輸出的打印機或者顯示屏以及用于可聽地呈現輸出的揚聲器或者其他發聲設備。可以用于用戶接口的輸入設備的實例包括鍵盤和指示設備(例如鼠標、觸墊和數字化寫字板)。作為另一實例,計算機可以通過語音識別或者以其他可聽格式接收輸入信息。這樣的計算機可以由任何適當形式的一個或者多個網絡(包括局域網或者廣域網 (例如企業網或者因特網))互連。這樣的網絡可以基于任何適當技術并且可以根據任何適當協議來操作并且可以包括無線網絡、有線網絡或者光纖網絡。這里概括的各種方法或者過程也可以編碼為可在運用各種操作系統或者平臺中的任一操作系統或者平臺的一個或者多個處理器上執行的軟件。此外,這樣的軟件可以使用多種適當編程語言和/或編程或者腳本編寫工具中的任何語言和/或工具來寫并且也可以編譯為在框架機(framework machine)或者虛擬機上執行的可執行機器語言代碼或者中間代碼。就這一點而言,本發明可以具體化為用一個或者多個程序編碼的一個計算機可讀存儲介質(或者多個計算機可讀介質)(例如計算機存儲器、一個或者多個軟盤、緊致盤 (CD)、光盤、數字視頻盤(DVD)、磁帶、閃存、現場可編程門陣列或者其他半導體器件中的電路配置或者其他非瞬態有形計算機存儲介質),所述程序在一個或者多個計算機或者其他處理器上執行時實現如下方法,這些方法實施上文討論的本發明的各種實施例。一個或者多個計算機可讀存儲介質可以是可傳送的,從而存儲于其上的一個或者多個程序可以加載到一個或者多個不同計算機或者其他處理器上以實施如上文討論的本發明的各種方面。如這里所用,術語“非瞬態計算機可讀存儲介質”僅涵蓋可以視為制造品(即制造的產品)或者機器的計算機可讀介質。取而代之或者除此之外,本發明還可以具體化為除了計算機可讀存儲介質之外的計算機可讀介質,例如傳播信號。這里使用術語“程序”或者“軟件”來廣義地指代任何類型的計算機代碼或者計算機可執行指令集,該計算機代碼或者計算機可執行指令集可以用來對計算機或者其他處理器進行編程以實施如上文討論的本發明的各種方面。此外還應當理解,根據這一實施例的一個方面,在執行時執行本發明方法的一個或者多個計算機程序無需駐留于單個計算機或者處理器上,但是可以用模塊方式分布于多個不同計算機或者處理器之間以實施本發明的各種方面。計算機可執行指令可以是由一個或者多個計算機或者其他設備執行的多種形式 (例如程序模塊)。一般而言,程序模塊包括執行特定任務或者實施特定抽象數據類型的例程、程序、對象、部件、數據結構等。通常可以在各種實施例中按照需要組合或者分布程序模塊的功能。數據結構也可以以任何適當形式存儲于計算機可讀介質中。為了簡化說明,數據結構可以示為具有通過數據結構中的位置來相關的域。同樣可以通過為域分配在計算機可讀介質中具有位置的如下存儲來實現這樣的關系,該存儲傳達域之間的關系。然而任何適當機制可以用來在數據結構的域中的信息之間建立關系(包括通過使用指針、標簽或者其他在數據元之間建立關系的機制)。本發明的各種方面可以單獨地、組合地或者以未在前文所述實施例中特別討論的各種布置使用,因此其不限于其用于前面描述中所闡述及附圖中所圖示的部件的布置和細節。例如在一個實施例中描述的方面可以以任何方式與在其他實施例中描述的方面組合。本發明也可以具體化為一種方法(已經提供了它的實例)。作為方法的部分而進行的動作可以用任何適當方式排序。因而可以構造如下實施例,在這些實施例中以與所說明的不同的順序進行動作(可以包括同時執行一些動作,盡管在圖示的實施例中示出為順序的動作)。在權利要求中使用諸如“第一”、“第二”、“第三”等順序術語來修改權利要求要素本身并未意味著一個權利要求要素相對于另一權利要求要素而言的任何優先、居先或者順序、或者執行方法動作的時間順序,而是僅用作如下標記,這些標記用于區別具有某一名稱的一個權利要求要素與具有相同名稱的另一要素(但是針對順序術語的使用)以區別權利要求要素。這里所用的措詞和術語也用于描述而不應視為限制。這里“包括”或者“具有”、 “包含”、“涉及”及其變型的使用意味著涵蓋其后列舉的項目及其等效項目以及附加項目。
權利要求
1.一種用于由客戶端計算機(120)打印的方法,包括由客戶端計算機(120)從用戶接收(200)打印請求;由所述客戶端計算機(120)從打印服務器(140)確定(240)是否啟用分支辦公室打印模式;如果所述分支辦公室打印模式確定為啟用,則所述客戶端計算機(120)通過向選擇的打印機(130)直接打印(212)來執行所述打印請求;并且如果所述分支辦公室打印模式確定為禁用,則所述客戶端計算機(120)通過通過所述打印服務器(140)向所述選擇的打印機(130)打印(224)來執行所述打印請求。
2.如權利要求1所述的方法,還包括如果啟用所述分支辦公室打印模式,則同步所述客戶端計算機和所述打印服務器的打印機設置。
3.如權利要求2所述的方法,其中同步打印機設置包括確定客戶端計算機設置和打印服務器設置是否匹配,如果所述客戶端計算機和打印服務器設置匹配,則繼續向所述選擇的打印機直接打印,并且如果所述客戶端計算機和打印服務器設置不匹配,則更新所述客戶端計算機設置以匹配所述打印服務器設置并且繼續向所述選擇的打印機直接打印。
4.如權利要求1所述的方法,其中繼續直接打印包括向所述選擇的打印機發送打印數據而不向所述打印服務器發送所述打印數據。
5.如權利要求1所述的方法,還包括從所述打印服務器接收打印機設置以便在所述分支辦公室打印模式中使用。
6.如權利要求1所述的方法,其中針對所述打印服務器的每個打印隊列啟用或者禁用所述分支辦公室打印模式。
7.一種客戶端計算機(120),其配置成執行打印請求,包括處理器(1020)和存儲器設備(1041,1052,1056),該存儲器設備包括打印假脫機程序(150),用于保持打印數據、接收(200)打印請求、從打印服務器(140) 確定(204)是否啟用分支辦公室打印模式、如果所述分支辦公室打印模式確定為啟用則通過向選擇的打印機(130)直接發送所述打印數據來繼續打印(212)、而如果所述分支辦公室打印模式確定為禁用則通過通過所述打印服務器(140)向所述選擇的打印機(130)發送所述打印數據來繼續打印(224)。
8.如權利要求7所述的客戶端計算機,其中所述打印假脫機程序被配置成如果啟用所述分支辦公室打印模式則同步所述客戶端計算機和所述打印服務器的打印機設置。
9.如權利要求8所述的客戶端計算機,其中所述打印假脫機程序被配置成通過以下來同步打印機確定客戶端計算機設置和打印服務器設置是否匹配,如果所述客戶端計算機和打印服務器設置匹配,則繼續向所述選擇的打印機直接打印,并且如果所述客戶端計算機和打印服務器設置不匹配,則更新所述客戶端計算機設置以匹配所述打印服務器設置并且繼續向所述選擇的打印機直接打印。
10.如權利要求7所述的客戶端計算機,其中所述打印假脫機程序被配置成從所述打印服務器接收打印機設置以便在所述分支辦公室打印模式中使用。
全文摘要
用于由客戶端計算機打印的方法和裝置在在集中式打印服務器處進行打印配置和管理時減少了網絡使用和打印延遲。打印服務器控制對分支辦公室打印模式的啟用。在啟用分支辦公室打印模式時,客戶端計算機向分支辦公室中的所選打印機直接發送假脫機的打印數據。在禁用分支辦公室打印模式時,客戶端計算機向集中式打印服務器發送假脫機的打印數據,并且打印服務器向所選打印機傳送打印數據。打印服務器在兩種操作模式中針對客戶端計算機執行配置和管理功能。打印服務器可以在每個隊列的基礎上啟用和禁用分支辦公室打印模式。
文檔編號G06F3/12GK102436361SQ201110367778
公開日2012年5月2日 申請日期2011年11月18日 優先權日2010年11月19日
發明者莫里斯 A., 馬克薩 A., 凱 J., 埃爾馬克 J., 德施 J., 勞 R. 申請人:微軟公司