JP4857102B2 - 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体 - Google Patents

情報処理装置、ジョブ処理方法、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP4857102B2
JP4857102B2 JP2006346199A JP2006346199A JP4857102B2 JP 4857102 B2 JP4857102 B2 JP 4857102B2 JP 2006346199 A JP2006346199 A JP 2006346199A JP 2006346199 A JP2006346199 A JP 2006346199A JP 4857102 B2 JP4857102 B2 JP 4857102B2
Authority
JP
Japan
Prior art keywords
print
transfer
job
connection
management unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006346199A
Other languages
English (en)
Other versions
JP2008158767A (ja
Inventor
勇人 松ヶ下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006346199A priority Critical patent/JP4857102B2/ja
Priority to US11/924,355 priority patent/US8553254B2/en
Priority to KR1020070119926A priority patent/KR101197915B1/ko
Priority to EP07121290.6A priority patent/EP1939723B1/en
Priority to CN2007101864877A priority patent/CN101206560B/zh
Publication of JP2008158767A publication Critical patent/JP2008158767A/ja
Application granted granted Critical
Publication of JP4857102B2 publication Critical patent/JP4857102B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1261Job scheduling, e.g. queuing, determine appropriate device by using alternate printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • G06F3/1263Job scheduling, e.g. queuing, determine appropriate device based on job priority, e.g. re-arranging the order of jobs, e.g. the printing sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1273Print job history, e.g. logging, accounting, tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、コンピュータの負荷を軽減し効率的に印刷ジョブ又は印刷デバイスを管理する為の仕組みに関する。
ネットワーク上に印刷ジョブを分散し、複数のプリンタを用いて高速印刷を実現する分散印刷技術が特許文献1等により知られている。この特許文献1によれば、複数に分散された印刷ジョブの状態をパーソナルコンピュータ等のジョブ発行元で収集し、各印刷ジョブの状態をパーソナルコンピュータで平行して管理することが開示されている。
特開2001−290623号公報
しかし、例えば、ネットワークで接続された全国各拠点に存在する大量の印刷デバイスに大量の印刷ジョブを投入し印刷を行うケースがある。数台の印刷デバイスならまだしも、例えば数百台の印刷デバイスの監視を行おうとすると、特許文献1に開示される監視方法では現実的ではない。数百台の印刷デバイスを平行して監視するのは処理負荷が非常に大きくなる。又は、著しく監視を行うコンピュータのコストを上昇させてしまう。
本発明は上記問題点に鑑みてなされたものであり、複数の印刷デバイスと通信可能な情報処理装置であって、前記印刷デバイスに転送すべき印刷ジョブの出力先となる印刷デバイスであって状態情報の取得対象となる印刷デバイスを監視対象キューに順次登録する第1登録手段と、前記転送すべき印刷ジョブの出力先となる印刷デバイスを転送キューに順次登録する第2登録手段と、前記監視対象キューに登録された、前記監視対象キューへの印刷デバイスの登録順序である第1登録順序に従い、印刷デバイスとの接続を行い印刷デバイスからの前記状態情報を取得する状態監視手段と、前記転送キューに登録された、印刷ジョブの転送に係わる印刷デバイスの第2登録順序に従い、印刷ジョブの転送を行わせる転送制御手段と、前記状態監視手段は、前記転送制御手段により印刷ジョブの転送が完了していなくとも、前記第1登録順序に従い、印刷デバイスとの接続を順次切り替え、印刷デバイスから取得される状態情報を取得することを特徴とする。
本発明によれば、例えば、複数の各印刷デバイスに大量の印刷ジョブを投入した場合等に、監視側の印刷デバイス又は印刷ジョブの監視負荷を軽減し、必要以上にコンピュータのコストを上昇させる必要がない。
[実施例1]
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の印刷システムの構成を示すブロック図である。なお、本システムにおけるネットワークプリンタは、複数台接続されていることを仮定している。
図1において、デバイス104A、104B、104Nは印刷デバイス(以下デバイスと呼ぶ)である。各印刷デバイスには図示省略したネットワークインタフェースを介しネットワーク102に接続されている。印刷管理サーバコンピュータ101から転送される印字データを含む印刷ジョブを解析して1ページずつドットイメージに変換し印刷を行なう。なお、ここでの、印刷ジョブとは、ページ記述言語等の描画データ、及び、印刷レイアウト設定などの印字に係る各種ジョブ設定データを含めた総称を指す。また、デバイス104A、104B、104Nとしては、電子写真方式を採用したレーザービームプリンタやインクジェット方式を採用したインクジェットプリンタ等を適宜適用することができる。
またデバイス104A、104B、104Nは、印刷ジョブのスケジュール管理や、後述する印刷ジョブの履歴の保持や印刷ジョブの各種状態管理を行うデバイススケジューラ103を含む。
このデバイススケジューラ103については、例えば、専用ハードウェアで構成することができる。また、EAP(Embedded Application Platform)と呼ばれるデバイス内部に用意されたプラットフォームでアプリケーションを実行させることにより構成することもできる。また、デバイススケジューラ103は、ハードウェアとソフトウェアの協働により構成もできるし、デバイス104A、104B、104Nと相互通信可能に接続された情報処理装置において処理の一部を実行させ同等の機能を実現するようにしても良い。また、予め印刷デバイスに内蔵させても良いし、オプションとして機能追加する形態でも良い。
101は本実施形態の印刷管理サーバコンピュータ(以下、印刷管理サーバと呼ぶ)としての情報処理装置である。印刷管理サーバは、ネットワークケーブルによって、ネットワーク102に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク102の使用状態を監視したりする。印刷管理サーバ101は、ネットワーク102に接続されている複数のプリンタを管理している。構成としては、印刷管理サーバ101は、一般的な情報処理装置であり、印刷管理サービスが実行可能に格納されている。
<ハードウェア構成図>
図2は、図1で示した印刷管理サーバ101とデバイス104が接続される様子を簡易的に表したものであり、夫々の、ハードウェア構成を説明するブロック図である。
CPU201は、ROM203のプログラム用ROMに記憶された、或いはハードディスク211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。OSとはコンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各フローチャートの処理はこのプログラムの実行により実現できる。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は各種データを記憶するハードディスク(HD)211やフロッピー(登録商標)ディスク(FD)等におけるデータアクセスを制御する。PRTC208は、接続されたデバイス104との間の信号の交換を制御する。NC212はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。尚、NC212は、PRTC208と区別して示されているが、PRTC208と協働しネットワーク通信手段として機能するので、PRTCに含めるよう考えることもできる。
次に、デバイス104の構成について説明する。図示するように、デバイス104において、1301はプリンタCPUであり、ROM1302や、外部メモリ1303に記憶された制御プログラムに基づいてシステムバス1304に接続される各ブロックを制御する。CPU1301の処理により生成された画像信号が、印刷部I/F1305を介して、印刷部(プリンタエンジン)1306に出力情報として出力される。また、CPU1301は、入力部1307を介して印刷管理サーバ101との通信処理が可能となっており、デバイス104内の情報等を印刷管理サーバ101に通知できる。
ROM1302内のプログラムROMには、CPU1301の制御プログラム等を記憶している。ROM1302内のフォント用ROMには、出力情報を生成する際に使用するフォントデータ等を記憶している。ROM1302内のデータ用ROMには、ハードディスク等の外部メモリ1303がないプリンタの場合、印刷管理サーバ101上で利用される各種情報を記憶している。
RAM1308は、CPU1301の主メモリや、ワークエリア等として機能するRAMであり、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。また、RAM1308は、出力情報展開領域(ビットマップデータ展開領域)、環境データ格納領域(印刷ジョブ設定、印刷ジョブの状態情報等)、NVRAM等に用いられる。上述したハードディスク(HD)、ICカード等の外部メモリ1303は、メモリコントローラ(MC)1309によりアクセスを制御される。外部メモリ1303は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作パネル1311は操作のためのスイッチ及びLED表示器等で構成されている。
図3は、図2に示したRAM202のメモリマップの一例を示す図であり、印刷管理サービスが、RAM202にロードされ実行可能となった状態のメモリマップである。
外部メモリ211から直接RAM202にロードして実行させても良い。さらに、印刷管理サービスをプログラムROM203に記憶しておき、これをメモリマップの一部となすように構成し、直接CPU201で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することも出来る。
印刷管理サービスは、印刷管理サーバにおいては、印刷ジョブを転送したり、印刷ジョブの印刷先の変更を指示したり、印刷順序を変更したりする指示をするための制御を行う。
301は基本I/Oプログラムを記憶するための領域である。基本I/Oプログラムは、印刷管理サーバ101の電源がONされたときに、外部メモリ211からOSがRAM202に読み込まれ、OSの動作を開始させるIPL(イニシャルプログラムローディング)機能などを有しているプログラムである。
302はOS(オペレーティングシステム)を記憶する領域であり、303は印刷管理サービスを記憶する領域である。304は、関係データを記憶する領域である。305はワークエリアで、CPU201が各種のプログラムを実行するための領域である。
<ソフトウェア構成図>
次に、本プリントシステムの印刷管理サーバ101のソフトウェア構成について説明する。図4は、印刷管理サーバ101におけるソフトウェア構成の一例を示す図である。また、各ブロックで示されたソフトウェア構成は、図2のCPU201がROM、HDD等に記憶される各種プログラムを実行することにより実現される機能を示す。
通常、Microsoft(登録商標) Wordなどの一般的なアプリケーション401は印刷の指示を受け付けると、一連の描画コマンドをOSを介して生成する。OSを介して生成された描画コマンドを受け取ったプリンタドライバ402は、一連の描画コマンドに基づいてデバイス104A〜104Nで解釈可能なPDLファイルを含む印刷ジョブを生成する。また、デバイス104A〜104Nの各々の機種が異なる場合には、場合によっては、各々のデバイスに対応するプリンタドライバ402A〜402Nが、印刷管理サーバ101に具備されることもある。
そして、プリンタドライバ402は、デバイスへ生成した印刷ジョブを転送するために該生成した印刷ジョブのデータをプリントスプーラ403に渡す。ここではOSをウィンドウズ(登録商標)と仮定しているのでプリントスプーラ403はウィンドウズ(登録商標)スプーラである。但し、本発明を適用するコンピュータのOSはWindows(登録商標)に限定されるものではなく、描画命令を備えるものであれば他のOSも適用可能であることは言うまでもない。
プリントスプーラ403は、ユーザがユーザインタフェースを介して選択し指示したジョブ制御ポートモニタ404に印刷ジョブを渡して、デバイス104A〜104Nのデバイスに転送させる手順をとる。
ここでは、ユーザは予め印刷管理サービス405に印刷ジョブを転送する、ジョブ制御ポートモニタ404を指定して印刷を指示したものとして説明を進める。
また、プリンタドライバインタフェースを介して設定された用紙サイズ、ステイプル指示等の印刷設定情報も、ジョブ制御ポートモニタ404に通知される。ジョブ制御ポートモニタ404は上位から渡された印刷ジョブのみならず通知された印刷設定情報も印刷管理サービス405に通知する。
印刷管理サーバ101、又は、印刷管理サーバ101が利用可能なネットワーク102上の別の情報処理装置のカスタマイズアプリケーション406は、API407を介し、印刷管理サービス405に印刷ジョブを投入する。なお、APIとはAPI:Application Program Interfaceの略語である。
印刷管理サービス405は、外部アプリケーションとのインタフェースであるAPI407と、印刷管理部410と、接続管理部420と、印刷ジョブの各デバイスへの転送を制御する転送管理部430と含む。これらの各機能ブロックはソフトウェア的に構成されているものとして示すが、何れかの機能ブロックをハードウェア的に構成しても同様の機能を得ることができる。
印刷管理部410は、現在のジョブ状況を保持するジョブ管理部411と、複数のプリントキューを管理するプリントキュー管理部412と、複数のプリンタポートを管理するプリンタポート管理部413とを含む。各構成部の機能は後述で詳しく説明する。
接続管理部420は、現在のデバイスに係る状態を保持するデバイス管理部421と、デバイスとの接続順序を管理する接続順序制御部422と、それら順序を保持する接続順序リストとを備える。本発明の特徴である、印刷先(状態監視先)の切り替え処理を制御している。この印刷先の切り替え処理の制御の詳細は後述で説明する。
転送管理部430は、現在の各デバイスに対する転送状況を保持する転送接続管理部431と、印刷ジョブを各デバイスに転送する複数の転送部432と、それら順序を保持する転送接続順序リストとを備え、特徴的な、転送接続順制御の処理を実現している。この転送管理部430が転送すべき印刷ジョブの出力先となる印刷デバイスを転送接続順序リストに順次登録する手段として機能する。制御処理の詳細は後述する。
<プリントキュー情報>
図5は、ジョブ制御ポートモニタ404からプリントキュー(印刷管理部410の最左上部)で受け付けた印刷ジョブの動作を決めるプリントキュー情報500を示す図である。このプリントキュー情報500は何れかのタイミングで事前にプリントキューに対応して設定されているものとする。
ここで、プリントキュー情報500の設定内容である、プリンタ名501、プリンタドライバ名502、ポート名503、及びバックアッププリンタ名504について説明する。
プリンタ名501は、WindowS(登録商標)のプリンタオブジェクトの名前を示しており、プリンタオブジェクト毎に異なる名前であり、プリンタオブジェクトを識別することができる。プリンタドライバ名502は、プリンタオブジェクトに設定されているプリンタドライバの名前である。ポート名503は、プリンタ名に対応するプリンタポートの名称である。バックアッププリンタ名504は、代行印刷、負荷分散印刷処理等の場合に使用される代行印刷するためのプリンタの名前であり、図5の例のように複数登録可能である。
印刷ジョブ投入先のデバイスで紙なし等エラーが発生すると、印刷ジョブを受け付けたプリントキューとプリントキュー情報に設定されている複数のバックアッププリンタを用いて負荷分散印刷処理を行う。具体的には、印刷ジョブを受け付けたプリントキューとプリントキュー情報に設定されている複数のバックアッププリンタの中から、順次転送可能なデバイスに印刷ジョブを転送又は移動し代行印刷を行う。ここで、転送可能なプリンタの決定方法としては、最初に転送可能と判定されるデバイス、予め決められた優先度に従うデバイスを抽出する方法が取られる。
<プリンタポート情報>
図6は各プリンタへ印刷ジョブを転送するときの動作を決めるプリンタポート情報600を示す図である。図4の印刷管理部410の最左下部の各プリンタポートに対応付けられて何れかのタイミングで事前にプリントキューに対応して設定されているものとする。プリンタアドレス601は、印刷ジョブ転送先のデバイスのネットワークアドレスであり、対応するデバイスのIPアドレス又は名前解決(DNS:Domain Name System)で使用されるネームが関連付けられている。プリンタモデル602は、印刷ジョブ転送先のデバイスの種別を示すプリンタモデル名であり、プリンタモデルの違いによる動作差異が発生した際には、プリンタモデルごとの定義を作成し差異を吸収する。この差異吸収に係る処理の詳細な説明は個々では省略する。プロトコル603はデバイスへ印刷ジョブを転送する際の通信プロトコルであり、例えばLPRと呼ばれる、相互通信しながら印刷ジョブを転送するプロトコルや、印刷ジョブを直接転送するRAWプロトコル等がある。LPRとはLine PRinter deamon Protocolの略字である。
本印刷システムの特徴的な設定として、プリンタポート情報600に設定されているデバイス又はジョブ監視にかかわる設定がある。印刷先切り替えモード604は後述のフローチャートで詳しく説明する印刷先切り替えに係る設定フィールドである。連続監視時間605、連続転送数606は、印刷切り替えを行う条件である。連続監視時間605は、デバイス又は印刷ジョブを連続して監視する上限時間を示す。また、連続転送数606は、同じデバイスに対して連続して印刷ジョブを幾つ転送するかの条件を示す。尚、印刷先の切り替え条件として、連続監視時間605、連続転送数606が示されているが、これに、限定されるものではない。例えば、印刷ジョブ転送サイズ等、各種、特定の条件を含めることができる。
<ジョブ情報>
図7は一般アプリケーション401もしくはカスタマイズアプリケーション406から投入される印刷ジョブのジョブ情報700であり、HDD211に保存され、ジョブ管理部411によって管理される情報である。
カスタマイズアプリケーション406からジョブが投入される場合には、図4中のAPI407経由で印刷管理部410に印刷ジョブが入力される。一方、一般アプリケーション経由では、ジョブ制御ポートモニタ404経由で印刷管理部410に印刷ジョブが入力される。印刷管理部410は印刷ジョブを入力するとそれに対応するジョブ情報700を生成し、プリントキューに生成したジョブ情報700を登録する。また、印刷ジョブの実体のデータはジョブ情報700に関連付けられ、図4に図示される如くHDD211に保存される。
ジョブ情報700には、ドキュメント名701、印刷管理サービスで発行されるジョブID702、印刷したユーザ名703、ページ数704、ジョブ状態705等が含まれる。また、同ジョブ情報700には、デバイス内で生成されるデバイスジョブID706、スケジューリングの順序を決定する優先度707、完了結果708、および完了時間709も含まれる。
ジョブ状態705は、そのときのジョブの状態によって、例えばスプール中、転送中、印刷中、停止中、印刷完了などの状態をとる。
<接続順序リスト800>
図8は図4で示した接続順序リスト800の一例である。この接続順序リスト800には、監視対象となるデバイスの識別子及び各デバイスの付属情報が基本的にFIFOで登録されている。この接続順序リスト800又は接続順序リスト800に基づく設定の事を、印刷管理サーバ101による監視対象の順序を管理する為の設定ということで、監視対象キューと呼ぶこともある。そして、この接続順序リスト800におけるデバイスの登録順序に従い、順次、デバイスに関連する状態の監視を実行する。
なお、ここでの”接続”とは上述の接続管理部420の管理に基づく、通信セッションの確立のことを指し、該通信セッションの中で、各種状態の取得や要求等を行うことができる。また、印刷デバイスの監視を中断するとは、確立された通信セッションを切断することを指す。図8に示される接続順序リスト800は、後述の図15のS1502で更新される。
接続順序リスト800の横方向の項目には、接続対象プリンタ名、各プリンタキューに登録されている未転送のジョブ数、接続優先度、接続状態、今回の接続ですでに転送したジョブ数である転送済みジョブ数が設定されている。図8中では、1乃至3の接続順番において、デバイスと接続中であり、4番目以降では接続待機中であることが示されている。また、接続中、接続待機中にも、一旦接続を切断し再度の接続を待機する「確認待ち」の状態もある。この「確認待ち」は広義で接続待機中に含まれる。
そして上述の接続管理部420は、この接続順序リスト800に登録(設定)された情報を元に接続順序を決定する。処理の詳細は後述にて説明する。
<転送接続順序リスト900>
図9は図4の430で示した転送接続順序リストの一例である。この、転送接続順序リスト900には、印刷ジョブの転送対象となるデバイスの識別子及び各デバイスへの転送付属情報が基本的にFIFOで登録されている。そして、この転送接続順序リスト900におけるデバイスの登録順序に従い、順次デバイスへ印刷ジョブの転送を実行する。即ち、転送すべき印刷ジョブの出力先となる印刷デバイスが順次登録される転送キューとして機能する。
転送接続順序リスト900の横方向の項目には、接続対象のプリンタ名、転送接続の優先度、転送接続状態で構成される。転送接続管理部431は、転送接続順序リスト900にリストされた情報を元に転送接続順序を決定する。処理の詳細は後述する。
<印刷デバイスの機能ブロック図>
図10は図1で示したデバイス104A〜104Nの構成の一例を示す図である。なお、図中ではハードウェアブロックとソフトウェアブロックとが混在しているが、何れもデバイスの特定の機能を示す。
デバイスコントローラ1001はデバイスの制御を行うモジュールであり、ハードウェアの状態や、投入された印刷ジョブの状態の管理、制御を行う。先の図2で説明したCPU1301及び印刷部I/F1305等に相当する。また、デバイスがMFP(Multi Function Printer)と呼ばれる印刷、コピー、FAX、スキャン等の複数の機能を備える複合機であれば、該デバイスコントローラ1001はそれらの機能を統合的に管理、制御するモジュールに該当する。
デバイスストレージ1002は、デバイス内に具備、又は相互通信可能に接続された永続記憶領域、もしくは永続記憶装置であり、RAMもしくはHDDといったデータ記憶手段によって実現される。
また前述したように、デバイス104A〜104Nは印刷ジョブのスケジュール管理や、後述する印刷ジョブ履歴の保持及び管理を行うデバイススケジューラ103を備えている。デバイススケジューラ103は、接続管理部1011、スケジュール管理部1012、イベント管理部1013、履歴管理部1014で構成される。
接続管理部1011は、印刷管理サービス405との通信を行う複数の接続部および、印刷管理サービス405との接続状況や、印刷管理サービス405から登録されているイベント情報を保持する、後述する接続リスト1100を備える。
スケジュール管理部1012は、印刷管理サービス405から受け付けた印刷ジョブのリストを管理する部分である。後述するスケジュールリスト1200および、それら印刷ジョブを制御するジョブ制御部を含み、印刷ジョブのスケジューリングを行う。
イベント管理部1013は、デバイスコントローラ1001が持つハードウェアの状態を保持し、デバイスコントローラ1001からハードウェア状態の変化を受け付ける。そして、スケジュール管理部1013および接続管理部1011を経由して接続している印刷管理サービス405に情報を通知する。
またデバイスコントローラ1001内の印刷ジョブ状態の変化を受け付け、スケジュール管理部1012に通知する。通知を受けたスケジュール管理部1012はスケジュールリストに含まれるジョブ状態を更新し、接続している印刷管理サービス405に通知するよう接続管理部1011に依頼する。
履歴管理部1014は、印刷ジョブの完了履歴を管理するモジュールであり、接続管理部1011の指示によって、デバイスストレージ1002に履歴ファイルを生成、読み書き、削除を行う。それら履歴ファイルは履歴管理部1014によって操作される履歴管理ファイルによって管理される。これら印刷ジョブ履歴の管理処理の詳細は後述する。
尚、図10中には示されていないが、デバイス104A〜104Nの各々には、例えば、記録媒体への像形成を行うプリンタエンジン及びプリンタエンジンの各種情報を検知するセンサ機構等も具備されている。これら、プリンタエンジン等については、図3で説明した通りである。
<デバイス側における接続リスト1100>
図11は接続管理部1011によって生成される接続リスト1100(以降、接続リスト)の一例である。接続リスト1100にはデバイススケジューラ103に通信セッションを張って接続しているコンピュータの固有IDが登録されている。接続リスト1100には複数のコンピュータ(固有ID)が含まれているが、この中の1つが、図1の印刷管理サーバ101である。ここで留意する点として、接続リスト1100へのコンピュータの登録順番は印刷順番を定義するものではない。印刷順番は後述するスケジュールリスト1200に基づき決定される。以下、接続リスト1100について、具体的に説明する。
接続リストは、管理ID、印刷管理サービスから通知されるユニークである固有ID、デバイスコントローラから通知されるイベントを要求するかを設定するイベント登録フィールド、及び印刷ジョブ履歴機能を利用するかを設定する履歴モードフィールドからなる。以下では、履歴機能を利用する設定を前提として説明する。
また固有IDは、本実施形態ではUUID(Universally Unique IDentifier)と呼ばれる、16進数32桁の数値を用いたが、接続するサービス毎にユニークに識別可能な手段であれば手法は問わない。
<デバイス側におけるスケジュールリスト>
図12はデバイスのスケジュール管理部1012によって生成されるスケジュールリスト1200の一例である。スケジュール管理部1012には、接続リスト1100に含まれるコンピュータからの印刷ジョブがどのような順番で処理されるかを示すリストである。図12のスケジュールリスト1200では、順番1乃至3に同じコンピュータ(印刷ジョブ発行元)からの印刷ジョブが登録されている。
スケジュールリストは、印刷順序、接続リストと共通である固有ID、デバイスコントローラ1001より通知されるデバイスジョブID、ジョブ状態および、図7で示したジョブ情報が含まれる。スケジュールリストはスケジュールを受けた順序およびジョブ情報に含まれる優先度707によってスケジューリングされる。
<デバイス側における履歴管理ファイル>
図13には履歴管理部1014によって生成される履歴管理ファイル1300および履歴ファイル1320が示されている。
履歴管理ファイル1300は、生成された各履歴ファイル情報1310(以後、履歴ファイル情報)のリストである。履歴ファイル情報1310には、履歴ファイルのバージョン1311、最終更新日1312、接続リスト(図11)と共通の固有ID1313、およびデバイスストレージ1002に保存されている履歴ファイル名1314が含まれる。この履歴ファイル名1314は履歴ファイルを特定する為の情報として機能する。履歴ファイルには、バージョン1321および図7で示したジョブ情報700が複数個保存される。
本実施形態では、デバイススケジューラ103により、上述の図13のような履歴情報が生成される。印刷デバイス内で印刷ジョブの状態が変化したことを検知し、印刷ジョブ状態が変化したことを通知すべき印刷管理サーバ101が接続中(監視対象)でなくとも対応出来る。つまり通知すべきジョブ状態変化通知を保存しているので、印刷管理サーバ101から再度ジョブ状態の取得の要求を受けた場合でも、保存しているジョブ状態を通知することが可能となる。
<印刷ジョブ実行フロー>
次に、本発明の特徴である、印刷管理サーバ101のよる、大量の複数デバイスの監視および大量の複数印刷ジョブの投入、完了までの追跡を実現するための処理を説明する。
まず、概略の述べると、印刷要求に応じて、図14のフローチャートが実行され、ジョブ制御ポートモニタ404によりプリントキュー管理部412が呼び出される。そして、プリントキュー管理部412によりプリンタポート管理部413が呼び出され、図15のフローチャートが実行される。
図15のフローチャートでは、プリントポート管理部413は、接続管理部420にデバイスとの接続に係る処理を依頼し、接続管理部420に図16、図17のフローチャートを夫々実行させる。
そして、接続管理部420は、図16のフローチャートにより接続先又は接続先候補の各デバイスの状態を監視し、また、図17のフローチャートにより印刷ジョブの転送処理を行う。
図18、19、20のフローチャートは、図17のフローチャートにおける転送処理の詳細を示す。接続管理部420は、図18、19、20のフローチャートにより、特定の各種条件成立を判定し、接続順序リスト800のデバイス登録に基づく接続先デバイスの切り替え処理を行う。
また、図21のフローチャートは、図16の各デバイスの状態監視に基づき行われる代行印刷処理(S1614)の詳細を示す。
また、図22のフローチャートは、転送管理部430において前述した転送接続管理処理の詳細を示す。図18のフローチャートにおける転送依頼を受け、図22のフローチャートにより印刷ジョブが転送される。以下、各フローチャートの詳細を説明する。
<印刷管理サーバ101の処理>
図14は、一般アプリケーション401より印刷ジョブを投入された時の、ジョブ制御ポートモニタ404及びプリントキュー管理部412の処理を示したフローチャートである。また、カスタマイズアプリケーション406は生成した印刷ジョブを、ジョブ制御ポートモニタ404と同様の処理によりAPI407を経由してプリントキュー管理部412に投入する。
まずS1401で、ジョブ制御ポートモニタ404は、プリントスプーラ403よりジョブを受け付け、S1402で、プリントキュー管理部412へジョブ追加通知を行う。この際、プリンタ名を通知する。引き続きジョブ制御ポートモニタ404は、プリントキュー管理部412よりジョブIDが付与されたジョブファイル名を受け付け、S1404でジョブを指定されたファイル名でHDD211に保存する。
次にS1405でジョブ制御ポートモニタ404は、プリントキュー管理部412へジョブのスケジュール依頼を通知する。この際、S1403でプリントキュー管理部412から受けたジョブIDを通知する。S1406で、ジョブファイルのHDD211への保存が終了すると、S1407でジョブ制御ポートモニタ404はプリントキュー管理部412へジョブ生成完了を通知し、処理を終了する。この際にも、S1403でプリントキュー管理部412から受けたジョブIDを通知する。
プリントキュー管理部412は、S1411で、ジョブ制御ポートモニタ404からジョブ追加通知を受け付けると、S1412でジョブIDを発行する。そして引き続きS1413でプリンタポートへジョブ追加通知を行う。この際、発行したジョブIDを通知する。次に、S1414で、プリンタポート管理部413よりジョブファイル名を受け付け、S1415でジョブ制御ポートモニタ404へ通知する。
プリントキュー管理部412は、そしてS1416でジョブ制御ポートモニタ404からジョブスケジュール通知を受け付けると、S1417でプリンタポート管理部413へジョブスケジュール通知を行う。この際、プリントキュー管理部412はプリンタポート管理部413へS1412で発行したジョブIDを通知する。
S1418で、プリントキュー管理部412はジョブ制御ポートモニタ404からジョブ生成完了通知を受け付けると、S1409でプリンタポート管理部413へジョブ生成完了通知を行い、処理を終了する。この際にも、S1412で発行したジョブIDを通知する。
図15は、S1413でプリントキュー管理部412より印刷ジョブが投入された時の、プリンタポート管理部413の処理を示したフローチャートである。
まず、S1501で、プリンタポート管理部413は、プリントキュー管理部412よりジョブ追加通知を受け付けると、S1502で接続管理部420から該プリンタが既に接続処理済みでデバイス状態を取得しているかを確認する。デバイス状態を取得済みでない場合、即ち、デバイスと接続していない場合は、S1503で接続管理部420へ接続開始を通知する。その際、印刷要求の際に指定されたプリンタに基づくプリンタポート情報を通知する。
次にプリンタポート管理部413は、S1504で受け付けたジョブIDからジョブファイル名を発行し、S1505でプリントキュー管理部412へ印刷ジョブに対応するファイル名を通知する。
S1506で、プリンタポート管理部413が、プリントキュー管理部412よりスケジュール依頼の通知を受け付けると、S1507で接続管理部420へスケジュール通知を行い、処理を終了する。この際に、プリンタポート管理部413は、プリントキュー管理部412より通知されたジョブIDを、接続管理部420へ通知する。
図16は、プリンタポート管理部413より接続開始を通知された時の、接続管理部420の処理を示したフローチャートである。
接続管理部420は、S1601でプリントポート管理部413より接続開始通知を受け付けると、S1602で接続順序リスト登録処理により、図8で説明した接続順序リスト800の最後尾に該接続情報を登録する。このS1602で、印刷デバイスに転送すべき印刷ジョブの出力先となる印刷デバイスであって状態情報の取得対象となる印刷デバイスを監視対象キューである接続順序リストに順次登録される。このS1602の処理により図8の順序リスト800(接続順序リスト800ともいう)が更新される。なお、S1602では監視対象キューへの再登録処理として最後尾に登録する例を説明したがこれに限定されない。デバイスに再度接続できる形態であれば最後尾でなくとも良い。例えば、再登録する際に登録対象に所定の優先度を与え、該優先度に従う最前位置に登録される形態でも良い。また、印刷要求で指定デバイスへ転送すべき印刷ジョブが順次生成された場合には、印刷ジョブの出力先のデバイスを監視対象キューとしての接続順序リスト800に順次接続情報が登録されることとなる。
次にS1603で接続順序リスト800内の接続している監視接続デバイス数と設定された監視最大接続数とを比較する。ここで接続数が監視最大接続数に達している場合は、次に監視接続デバイス数と転送接続順序リスト900内の転送接続デバイス数との合計と、設定された最大接続数とを比較する。ここで合計接続数が最大接続数に達している場合は、S1604でデバイス状態を「接続待機中」とし、S1609へ処理を移行する。一方、接続数および合計接続数が各々監視最大接続数および最大接続数に達していない場合は、デバイス管理部421において接続処理を実行する。
接続処理を開始したデバイス管理部421では、S1605でプリンタポートに対応するデバイススケジューラ103に対して接続通知を行う。より具体的には接続順序リスト800(監視対象キュー)の印刷デバイスの登録順序に従い、印刷デバイスとの接続を行い印刷デバイスからの状態情報を取得する。詳細な状態の取得処理は後述のフローチャートで説明する。なおこの際、設定された固有IDを通知する。接続成功後、S1606でデバイス管理部421はデバイススケジューラ103に対してイベント登録を行なう。そして、S1607で、デバイス管理部421は、S1607でデバイススケジューラ103から通知されるデバイス状態変化イベントの受信を待つ。
デバイス管理部421は、S1608でデバイススケジューラ103よりデバイス状態を取得、又はS1604でデバイス状態を待機中に設定すると、S1608で内部で管理しているデバイス状態を更新する。次にS1610で更新したデバイス状態をプリンタポート管理部413へ通知する。
なお、S1606、S1607のデバイス状態の取得方法としては、例えば、監視対象のデバイスへのポーリング及びポーリング応答待機処理と置き換えても良い。このS1606、S1607の処理は、接続順序リスト800に登録された監視対象デバイスの各種情報をネットワークを介して監視できる方法であれば、各種デバイス監視のための構成を適用することができる。
S1611でデバイス管理部421は、更新したデバイス状態が「切断」又は「接続待機中」であるかを判断し、何れかの状態に該当する場合は処理を終了する。一方、何れのデバイス状態にも該当しない場合は、S1612でデバイス状態が「エラー」に該当するかを判断する。ここでの「エラー」とは、印刷出力を続行できない状態を指すものであり、例えば、用紙・トナー等の消耗品切れや、用紙ジャムや、ソフトウェアハングアップ等を指す。S1612で「エラー」に該当しないと判断した場合はS1607へ処理を戻す。一方S1612で「エラー」に該当すると判断した場合は、S1613で、取得したプリンタポート情報にバックアッププリンタが設定されているかを判断する。バックアッププリンタが設定されている場合は、S1614で後述の図20で詳しく説明する代行印刷処理へ処理を移し、処理を終了する。一方、バックアッププリンタが設定されていない場合はS1607へ処理を戻す。
図17は、図15のフローチャートに従いプリンタポート管理部413よりスケジュール依頼を通知された時の、接続管理部420の処理を示すフローチャートである。このプリンタポート管理部413からのスケジュール通知は、上に説明した、図15のフローチャートのS1507に対応する。
S1701で、接続管理部420は、プリンタポート管理部413よりスケジュール通知を受け付ける。S1702で、デバイス管理部421において、デバイスとの接続を行うデバイス状態を取得済みかを判断する。より具体的には、S1702でデバイス状態が「切断」でないか判断する。デバイス状態を取得済みでない、即ち、デバイス状態が「切断」の場合は、S1703でデバイスとの接続を待つ。一方、S1703でYESと判定する場合には、S1704で、接続順序リストの未転送ジョブ数をカウントアップする。
次にS1705で、デバイス管理部421は、該デバイス状態が「接続待機中」であるかを判断する。デバイス状態が「接続待機中」であった場合は、S1706でスケジュールされる印刷ジョブの優先度設定を確認し、優先度が通常より高い場合はS1707で接続順序制御部422において接続順序リスト変更処理を行う。接続順序リスト変更処理では該接続の接続順序リストの優先度設定を変更し「接続待機中」のリストを優先度順にソートし、S1708で転送接続を優先的に行うために転送接続管理部431へ転送接続順序リスト900の順序変更依頼を行った後に処理を終了する。スケジュールされる印刷ジョブの優先度が通常以下であった場合は処理を終了する。
なお、接続順序制御部422で行われる接続順序リスト変更処理において、設定される優先度は、スケジュールされている全てのジョブの優先度の合計、もしくは最大を用いることも可能であるし、もしくは平均を用いることも可能である。つまりは、接続順序を優先する条件のポリシーをどこに設定するかによって、振る舞いが決定される。例えば、ジョブの優先度の合計を用いた場合は、各デバイスにスケジュールされたジョブの優先度の合計値を記憶しておき、ジョブがスケジュールされるたびに加算および、接続順序リストを該値によってソートすることが考えられる。
一方、デバイス管理部421は、S1705の判断によって、該デバイス状態が「接続待機中」に該当しない場合は、S1708で後述する転送処理を開始する。また、デバイス状態が「確認待ち」である場合には、デバイス管理部421は、S1705でNOと判断する。
図18は、デバイス管理部421において、ジョブ転送処理が開始されたときの、デバイス管理部421の処理を示したフローチャートである。より具体的には、デバイスの監視を中断すべきかを判断する為に、特定の条件成立を判断し、特定の条件が成立しておらず、監視対象を変更しないと判断場合に転送接続管理部431に対して印刷ジョブの転送依頼を行う処理を示す。尚、ここでのジョブ転送依頼処理とは、印刷ジョブの転送を転送接続管理部431へ依頼する処理、及び、印刷ジョブのスケジュール要求の処理等、印刷ジョブの転送に係わる各種処理を含む広義の言葉とする。
まずS1801は、デバイス管理部421は、プリンタポートに対応するデバイススケジューラ103に対してスケジュール登録をジョブ情報と共に通知する。
次にS1802で、デバイス管理部421は該デバイスの連続監視タイマを開始する。次にS1803でこの連続監視タイマがタイムアップしたかを判断する。該判断はプリンタポート情報600に設定された連続監視時間制限数に達したかを判断することにより行う。S1803で、タイムアップしていると判断場合は、印刷デバイスの監視を中断すべく、S1804で後述の図19ので説明する印刷先切り替え処理を実行する。
S1803で、タイムアップしていないと判断した場合には、S1805でデバイススケジューラ103からジョブ状態変化イベントを受信したかを判断する。S1805でジョブ状態変化イベントを受信していない場合は、S1806でタイマをカウントアップしS1803へ処理を戻す。
S1807では、デバイス管理部421は、デバイススケジューラ103からジョブ状態変化イベントを受信すると、連続監視タイマをリセットし、受信したイベントがスケジュールアップ、つまり印刷許可であるかをS1808で判断する。受信したジョブ状態変化イベントがスケジュールアップでない場合は、S1809でプリントキューに登録されている印刷ジョブが全て印刷完了しているかを判断する。まだ印刷完了していないジョブが登録されている場合はS1803へ処理を戻す。現在注目しているプリントキューに登録されている印刷ジョブが全て印刷完了している場合は、印刷デバイスの監視を中断すべく、S1810で図19の印刷先切り替え処理を行った後に処理を終了する。
デバイス管理部421は、S1808でデバイススケジューラ103よりスケジュールアップを受信したと判断すると、S1811で接続順序リスト内の未転送ジョブ数をカウントダウン、転送済みジョブ数をカウントアップする。次にS1812で該ジョブの状態を「転送中」に変更し、プリンタポート管理部413に通知する。次にS1813で転送接続管理部431に印刷ジョブの転送開始を依頼する。この際、デバイス管理部421は、転送接続管理部431に転送先のプリンタポート情報およびジョブIDを通知する。ここでの転送開始の依頼として本実施例では、転送接続管理部431で管理している転送接続順序リスト900へ転送待ち状態として登録している。この際、すでに転送接続順序リスト900へ登録されている場合は、登録されているプリンタ情報の未転送ジョブ数をカウントアップする。また、この転送開始の依頼方法としては、転送接続管理部431へのメッセージ通知処理として実現することも可能である。
デバイス管理部421は、S1811でカウントアップされた転送済みジョブ数とプリンタポート情報に設定されている連続転送数と比較する。S1814の判定で連続転送数に達している場合は、S1815で、印刷デバイスの監視を中断すべく、図19の印刷先切り替え処理を実行する。後で詳しく説明するがS1814でNOと判断すると、図19のフローを実行し、S1903でYES(言い換えれば他の待機している登録ジョブがある)と判定するとS1909で最後尾に回す候補のデバイスにおける印刷未完了の印刷ジョブの存在を調べる。印刷未完了の印刷ジョブの存在があると判断するとS1911で最後尾に登録する。そして、S1915で次順(接続中以外のものであり、図8では上から4つ目の順序4が該当)の接続処理を開始指示する。図19のフローチャートで最終的にS1915が実行されることにより、印刷ジョブの転送が完了していなくとも、接続順序リスト800の登録順序に従い、印刷デバイスとの接続を順次切り替え、印刷デバイスから取得される状態情報を取得できる。
転送済みジョブ数が連続転送数に達していない場合は、S1816で未転送ジョブがまだ残っているかを判断し、残っていない場合は、S1815で図19の印刷先切り替え処理を実行する。一方、S1816の判断でまだ未転送のジョブが残っている場合はS1802に処理を戻す。
図19は、印刷先切り替え処理が開始された時の、デバイス管理部421による印刷デバイスの監視中断、及び、監視中断したデバイスを監視対象キュー(接続順序リスト800)に再登録する処理を示したフローチャートである。
まず、デバイス管理部421は、S1901で、印刷先切り替え処理を開始すると、接続順序リストの連続送信数をリセットし、次にS1902で連続監視タイマをリセットする。
デバイス管理部421は、S1903で接続順序リストに現在「接続待機中」又は「確認待ち」の状態のデバイスがあるかを判断し。該当するデバイスが接続順序リストにない場合は、S1904でプリントキューに完了していないジョブがあるかを判断する。S1905で完了していないジョブが存在する場合は印刷切り替え処理の呼び元に処理を戻す。また、完了していないジョブが存在しない場合は、S1906で連続監視タイマを停止し、S1907でデバイススケジューラ103に登録しているイベントの抹消を指示する。そしてS1908でデバイススケジューラ103に切断を通知しデバイス状態を「切断」に更新して処理を終える。
一方、S1903の判断で、デバイス管理部421は、接続順序リストに現在「接続待機中」もしくは「確認待ち」の状態のデバイスがあった場合は、S1909で監視対象(監視中断対象)のプリントキューに印刷が完了していない他のジョブがあるかを判断する。S1909の判断で印刷が完了していないジョブが存在する場合は、S1910でデバイス状態を「確認待ち」に変更し、S1911で接続順序リストの最後尾にリストを移動する。なお、S1911では監視対象キューへの再登録処理として最後尾に登録する例を説明したがこれに限定されない。デバイスに再度接続できる形態であれば最後尾でなくとも良い。例えば、再登録する際に登録対象に所定の優先度を与え、該優先度に従う最前位置に登録される形態でも良い。このS1911の処理により、一旦監視を中断したデバイスについても再度監視対象キュー(接続順序リスト800)の後尾に再登録するので、サイド、監視対象キューに登録された登録状況に従いデバイスを監視できる。
そしてS1912で連続監視タイマを停止し、S1913で、印刷デバイスの監視を中断すべく、デバイススケジューラ103に登録しているイベントの抹消を指示する。そしてS1914でデバイススケジューラ103に切断を通知し、S1915で接続順序リストの次順にリストされているデバイスへの接続処理開始を指示しデバイス状態を「切断」として処理を終える。
図20は、デバイス管理部421において、図8の接続順序リスト800の次順の接続処理が指示されたときの、デバイス管理部421の処理を示したフローチャートである。この図20の処理は、一旦、監視が中断され印刷監視対象キューに再登録され、再度接続処理が行われた場合の処理にも対応する。
デバイス管理部421は、まずS2001で接続順序リスト800の次順にリストされているデバイスの状態が「確認待ち」であるかを判断する。「確認待ち」でなかった場合は通常の接続処理を行うため、図16のポイント16−1(S1605)へ遷移する。一方「確認待ち」であった場合は、S2002でプリンタポート(印刷管理部410の最左下部)に対応するデバイススケジューラ103に対して接続を行う。より具体的にはS1605と同様に接続順序リスト800(監視対象キュー)の印刷デバイスの登録順序に従い、印刷デバイスとの接続を行い印刷デバイスからの状態情報を取得する。この際、設定された固有IDを通知する。接続成功後、S2003でデバイス管理部421は履歴取得通知をデバイススケジューラ103に通知し、デバイススケジューラ103が保持している履歴を取得する。このS2003の取得処理に対応するデバイス側の処理は後述の図24で詳しく説明する。S2004で次に取得した履歴を基にジョブ状態(図7のジョブ情報の705、708、709等)を更新する。
次にデバイス管理部421は、S2005で転送接続管理部431より当該プリンタへの転送状況を確認する。S2006で転送状況が転送エラーであったかを判断し、YESつまり転送に失敗している状況であれば、S2007で図16のS1613と同様の判断によって代行印刷するか決定する。S2007の判断によって代行印刷が実行される場合は、S2008で転送接続順序リスト900から当該プリンタへの接続情報を削除し、S2009で図21の代行印刷処理へと処理を移す。また、S2007で代行しない判断がされた場合においても、S2010で転送接続順序リスト900から当該プリンタへの接続情報を削除し印刷ジョブの状態をエラーとして次のS2012へと処理を移す。
S2006の判断において、転送がエラーで無い場合はS2011で、転送が正常完了したかどうかを判断する。NOの場合、つまり転送中であるか若しくは転送接続順序リスト900に未登録であった場合はS2012へと処理を移す。S2011で転送完了と判断された場合は、S2010で転送接続順序リスト900から当該プリンタの接続情報を削除し、S2012へと処理を移す。
S2012でデバイス管理部421は更新されたジョブ状態からプリントキューに登録されている全てのジョブが完了したかを判断する。全てのジョブが完了している場合はS2013で接続順序リストから該デバイスの情報を削除する、次にS2014でデバイススケジューラ103に登録しているイベントの抹消を通知する。そしてS2015でデバイススケジューラ103に切断を通知し、デバイスとの接続状態を「切断」として処理を終える。
デバイス管理部421は、プリントキューに登録されているジョブが全て完了していない場合は、S2016でデバイススケジューラ103にイベント登録を通知し、図18のポイント18および図16のポイント16−2へ遷移する。遷移後は、少なくとも図16、図18のフローチャートの処理が以後並行して実行される。
図21は、デバイス管理部421において、代行印刷処理が実行されたときの、デバイス管理部421の処理を示したフローチャートである。
デバイス管理部421は、代行印刷処理が開始されると、S2101でエラー発生デバイスに対応するプリントキューに登録されている全てのジョブを一時停止する。次にS2102でプリンタポート情報に設定されているバックアッププリンタ情報を取得する。次にS2103でプリンタキューに登録されている全てのジョブを代行先のプリンタにスケジュール登録する。次にS2104で代行元のプリンタキューに登録されている全てのジョブを削除し、削除されたジョブの状態を完了状態とする。そして、S2105で、代行先のデバイスを接続順序リスト800の「接続待機中」又は「確認待ち」の最前列に挿入する。最後にS2106で印刷先切り替え処理を実行し代行印刷処理を実現する。
<印刷ジョブの転送制御処理>
図22は、転送接続管理部431において行われるプリンタへの印刷ジョブ転送を制御する処理を示したフローチャートである。また転送接続順序リスト900(転送キュー)に登録された、印刷ジョブの転送に係わる印刷デバイスの登録順序に従い、印刷ジョブの転送を行わせる処理に対応する。
転送接続管理部431ではS2201で転送接続順序リスト900の上位から順次、対応する転送部432の転送状況を確認し、S2202で転送がエラーしているかを判断する。ここで転送エラーであった場合は、まずS2203において転送接続順序リスト900の該プリンタに対する転送状況を転送エラーとし、S2201での確認対象から除外する。そして、その後に、S2204でデバイス管理部421へ監視接続の順位を上げるよう依頼を行い、転送接続順序リスト900の次順確認のためにS2201へ処理を戻す。
S2202において転送がエラーでない場合はS2205で転送が完了しているかを確認する。転送が完了していた場合はS2206で未転送ジョブがあるかを判断し、無い場合はS2207にて転送状況を完了とし、S2203と同様S2201での確認対象から除外したのちに処理をS2201へ戻す。S2206にて未転送ジョブがある場合は転送状況を転送中で継続し(S2207)、次のジョブの転送を開始する。つまりS2208において転送部432にてジョブIDを元にジョブデータの転送を開始し(S2209)、転送接続順序リスト900の次順確認のためにS2201へ処理を戻す。
S2205にて転送完了していない場合は、S2210において未接続状態かを判断する。ここでNO、つまり転送中であった場合はそのままS2201の転送接続順序リスト900の次順確認へと処理を戻す。S2210において未接続状態だった場合は、S2211にて新規に転送接続可能かを判断する。転送接続不可能であった場合は、S2201へ処理を戻す。S2211において転送接続可能であると判断された場合は、S2208で転送接続順序リスト900の該プリンタに対する転送状況を転送中とする。そして、S2209で転送開始のために対応する転送部432を生成し印刷ジョブの実際の転送を行う。このS2209の処理で、転送接続順序リスト900(転送キュー)に登録された、印刷ジョブの転送に係わる印刷デバイスの登録順序に従う実際の印刷ジョブの転送が行われる。
次に、S2210において生成した転送部432へプリンタポート情報およびジョブIDを通知して転送を開始し、次順確認のためにS2201へ処理を戻す。
ここで、S2211における接続可能かの判断は、転送接続順序リスト900内の接続している転送接続デバイス数と設定された転送最大接続数とを比較する。ここで接続数が転送最大接続数に達している場合は、次に転送接続デバイス数と接続順序リスト800内の監視接続デバイス数との合計と、設定された最大接続数とを比較する。ここで合計接続数が最大接続数に達している場合は、接続不可能と判断する。一方、接続数および合計接続数が各々転送最大接続数および最大接続数に達していない場合は、接続可能と判断する。転送管理部431では、上記のように転送接続順序リスト900の登録順序に従って順次転送状況に応じた処理を行うことによって、プリンタへの印刷ジョブ転送順序を制御する。
この図22のフローチャートはS1914、S1915の処理に依存せず実行でき、S1804、S1815等の印刷先切り替え処理が行われた場合にも、印刷ジョブを転送中の印刷デバイスへの印刷ジョブの転送を継続させることができる。
<転送接続と監視接続との関係>
図25は上記印刷先切り替えの様子を示した模式図である。図25上図ではデバイス104Aに対して監視接続しつつ転送接続を行いジョブ転送している。また、104Bに対しても同様である。
また図26は、図25における印刷先切り替えが発生したときの接続順序リスト800と転送接続順序リスト900の遷移例を示す図である。
監視接続処理(2501、2504)では、まず先に説明したフローチャートに従って説明する。図16のフローチャートにおけるS1607においてデバイススケジューラ103よりデバイス状態が変化したことを知らせるイベントの受信を待つ。そして、イベント受信した結果を元にS1614の代行印刷処理を行ったり、S1611の判断により切断もしくは接続待機中へと移行して終了したりし、ステップS1607に戻る。この監視接続処理では、実際の転送接続による印刷ジョブの転送が終了しなくとも監視接続を順次各デバイスに対して行う。
監視接続中であることが、図26の接続順序リスト800におけるリスト2601において順序1のデバイス104Aに対する状態と順序2のデバイス104Bに対する状態が接続中であることによって示される。
また、転送処理では、まず図18のフローチャートにおけるS1805においてデバイススケジューラ103よりジョブ状態が変化したことを知らせるイベントの受信を待つ。そして、イベント受信した結果を元にS1808の判断によりスケジュールアップ後の転送接続処理を行う。またS1809の判断によりスケジュールした全てのジョブの転送処理が完了し印刷先切り替え処理を行ったり、又はS1803へ戻るという処理を行う。
転送接続処理(2502)では、図22のフローチャートにおけるS2201において転送部432から転送状況を確認し、確認した結果を元にS2203の転送エラー処理を行ったりする。また、S2206の判断により転送を全て完了して確認対象からはずしたり、もしくはステップS2201に戻る処理も行う。
この状況は、図26の転送接続順序リスト900におけるリスト2603において順序1のデバイス104Aに対する状態と順序2のデバイス104Bに対する状態が転送中であることによって示される。
ここでデバイス104Aに対する連続して転送したジョブ数が予め設定されている連続転送数に達した場合つまりは図18のS1814においてNoと判断された場合に印刷切り替え処理が発生する。もしくは連続監視時間に達した場合つまりは図18のS1803においてYesと判断された場合に図19の印刷切り替え処理が発生する。そして、印刷切り替え処理が発生した場合に結果図25下図の状態へ移行する。この際、デバイス104Aへの転送接続の状態が転送中だった場合は、デバイス104Aへの転送接続は継続したまま監視接続のみ切断し、次順(接続していない図25ではデバイス104C)への監視接続を開始する。
これは、図19のフローチャートにおけるS1903において、図26の接続順序リスト800におけるリスト2601の順序3にデバイス104Cへの状態が接続待機中であることを判断し、S1909に遷移することで実現される。
この時、デバイス104Aへのジョブは全て完了していないため、S1910、S1911を経て図26の接続順序リスト800におけるリスト2602の順序4に、接続状態を確認待ちとして挿入される。そして、図20の次順接続処理においてデバイス104Cへの接続処理を行うことで実現される。
また、デバイス104Aへの転送が完了していないため、図22の転送処理は転送を継続し(2503)、完了まで定期的に転送状況を確認することになる。よって図26の2604にある通り転送接続順序リスト900は遷移しない。
このデバイス104Aへの転送接続の状態が転送中である場合とは、例えば、1セッションの接続中に、複数ジョブをまとめて送信するようなジョブのグルーピング送信や、非常にデータ量の大きいジョブであり、転送に時間を要する場合等が考えられる。 図27は、別の印刷先切り替えの様子を示した模式図である。図25の2505で示される監視接続(図27の2703、2705)の処理により、図27に示されるような、転送接続を伴わないスケジュールアップ(2704、2706)をデバイススケジューラ103から取得できる。
<デバイススケジューラ103の処理>
図23は、デバイススケジューラ103において、履歴保存処理が発生したときの処理フローである。
S2301で、デバイススケジューラ103は、デバイスコントローラ1001からジョブの完了イベントを受信すると、対応する固有IDを特定する。そして、S2302で特定された固有IDをキーに接続リスト(図11)の登録を確認する。
次にジョブの投入元、つまりはジョブの完了イベントの通知先がイベント登録しているかをS2303で判断する。より具体的には、完了イベントに対応する固有IDと接続リストに含まれる固有IDとを比較して一致するか否かを判断する。
登録されている判断した場合はS2304で、完了イベント通知を、接続している複数又は単数のコンピュータから固有IDをキーに該当するコンピュータに通知する。そして、処理を終了する。
ジョブの完了イベントの通知先がイベント登録していない、又は接続していない場合は、S2305で履歴管理ファイルの中にS2301で特定した完了イベントに対応する固有IDに対応する履歴ファイル情報が登録されているかを判断する。
登録されている場合は、S2306で、履歴ファイル情報から紐付けられる(1314の履歴ファイル名により)履歴ファイルの最後尾に完了イベントを追記する。ここで追記される完了イベントとはジョブが終了しという履歴である。
登録されていない場合は、S2307で履歴ファイルを新規作成して、完了イベントを追加する。最後にS2308で履歴管理ファイルに新規作成した履歴ファイルを登録し処理を終了する。
図24は、デバイススケジューラ103において、印刷管理サービス405より履歴取得依頼を受け付けたときの処理フローである。
まず、S2401でデバイススケジューラ103は、印刷管理サービスより履歴取得依頼を受け付ける。この履歴取得依頼は図20のS2003の処理に対応する。受信した履歴取得要求には固有IDが含まれており、図12のスケジュールリストを参照することにより、S2402で、履歴管理ファイルから固有IDが一致する履歴ファイルを検索する。そして、S2403で、検索により見つけ出された履歴ファイルよりジョブ完了イベントを生成して印刷管理サービスに通知する。この履歴ファイルには、少なくとも、監視中断時に印刷が完了していないジョブの印刷処理結果(印刷完了または印刷未終了)が含まれる。
このように上記の各フローチャートを実行することにより、印刷管理サーバ101にかかる負荷を大幅に軽減することができる。一台のサーバをもって大量のデバイスの監視および大量の印刷ジョブの投入、完了までの追跡が可能となる。結果、印刷管理サーバ101に要する大幅なコスト削減を実現できる。
例えば、上記実施形態と同様の効果を奏するために、遠隔の各拠点に配置される各デバイスに投入された印刷ジョブを一元的に管理する場合、各拠点にプリントサーバを配置しそれらプリントサーバを統合的に管理する統合サーバを更に配置する方法も考えられる。この構成では、統合サーバの負荷を軽減できる。しかしながら、各拠点に配置されるプリントサーバの設置コスト、管理コストが高く、またプリントサーバでトラブルが発生したときに、統合サーバで把握、管理することが困難である。また、複数の拠点のプリントサーバで生成されるジョブ情報を集計する等の新たな処理が発生する。また、デバイスの変更が発生した場合に、各プリントサーバと統合サーバの情報の整合性を保つ煩雑な作業も想定される。本実施形態によれば、例えば上述のような、遠隔の各拠点に配置される各デバイスに投入された印刷ジョブを一元的に管理する場合でも、印刷ジョブの状態監視を行うプリントサーバのコストを抑えることができる。
<転送接続と監視接続との詳細説明>
また、図28、及び図29は本発明の印刷システムの特徴である、転送接続および監視接続の二元管理について説明する模式図である。
図28では、デバイス104Aおよび104Bに対して転送部432より印刷ジョブが転送されており、同時にデバイス104C、104Dより各デバイス管理部421に対して印刷履歴(2803、2804)が通知されている。
このように、印刷ジョブの転送接続(2801、2802)とデバイス状態の監視接続(2803、2804)を別管理、つまり二元管理することで、並行に印刷処理および印刷管理処理を行うことが可能となる。
本実施形態においては、監視接続数と転送接続数との各々を設定することができる。図29では、例えば最大接続数の制限が4(2901、2902、2903、2904)である場合を説明している。デバイス104Aおよび104Bに対して転送接続、デバイス104Cに対して転送接続および監視接続している状況であり、転送接続数3、監視接続数1である状況を示している。監視接続と転送接続が一元管理されている場合は両者の数が等しくなり、例えば転送接続2、監視接続2という状況になる。本発明では、転送接続と監視接続の別管理を実現しているため、4という限られた接続数の中で、より転送効率を高めるための処理、つまりは転送接続のほうが、監視接続より多い状況を実現することが可能である。これは最大接続数に制限がある中で、監視接続数と転送接続数が別々に管理、つまりは二元管理されていることによって実現される。ここで監視接続数に設定された値が図16のS1603での監視接続数が最大数に達しているかの判断に用いられる。また転送接続数に設定された値が図22のS2211での転送接続が可能かの判断に用いられる。
[実施例2]
この転送最大接続数、監視接続最大数および最大接続数はユーザが予め設定画面を介して任しに設定した特定の数に従い決定されるものとする。この最大接続数、転送最大接続数および監視最大接続数を印刷システムの環境に応じた設定値に変更することで、例えば、監視に重きを置くか、転送に重きを置くかといったシステムのポリシーに応じた設定をすることが可能となる。
[他の実施の形態]
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本実施形態における印刷システムの全体構成を示すブロック図である。 図1で示した印刷管理サーバ101及びデバイス104のハードウェア構成の一例を示すブロック図である。 図2で示したRAM202のメモリマップの一例を示す図である。 図1で示した印刷管理サーバコンピュータ102のソフトウェア構成の一例を示すブロック図である。 プリントキュー情報を模式的に示した図である。 プリンタポート情報を模式的に示した図である。 ジョブ情報を模式的に示した図である。 図4で示した接続順序リストを模式的に示した図である。 図4で示した転送接続順序リストを模式的に示した図である。 図1で示したデバイススケジューラ103およびデバイス104の構成の一例を示すブロック図である。 図10で示した接続リストを模式的に示した図である。 図10で示したスケジュールリストを模式的に示した図である。 図10で示した履歴ファイル及び履歴管理ファイルを示す図である。 ジョブ制御ポートモニタ404およびプリントキュー管理部412の処理を示したフローチャートである。 プリンタポート管理部413の処理を示したフローチャートである。 接続管理部420の接続開始処理を示したフローチャートである。 接続管理部420のスケジュール処理を示したフローチャートである。 デバイス管理部421のジョブ転送処理を示したフローチャートである。 デバイス管理部421の印刷先切り替え処理を示したフローチャートである。 デバイス管理部421の接続順序リストの次順の接続処理を示したフローチャートである。 デバイス管理部421の代行印刷処理を示したフローチャートである。 転送接続管理部431の転送処理を示したフローチャートである。 デバイススケジューラ103の履歴保存処理を示したフローチャートである。 デバイススケジューラ103の履歴取得処理を示したフローチャートである。 本実施形態における印刷システムの印刷先切り替え処理を様子を示す模式図である。 接続順序リスト800と転送接続順序リスト900の遷移例を示す図である。 本実施形態における印刷システムの印刷先切り替え処理を様子を示す模式図である。 本実施形態における印刷システムの特徴を表す模式図である。 本実施形態における印刷システムの特徴を表す模式図である。
符号の説明
101 印刷管理サーバコンピュータ
102 イーサネット(登録商標)
103 デバイス
104 デバイススケジューラ
401 一般アプリケーション
402 プリンタドライバ
403 プリントスプーラ
404 ジョブ制御ポートモニタ
405 印刷管理サービス
406 カスタマイズアプリケーション
407 API
410 印刷管理部
420 接続管理部
430 転送部
1001 デバイスコントローラ

Claims (8)

  1. 複数の印刷デバイスと通信可能な情報処理装置であって、
    前記印刷デバイスに転送すべき印刷ジョブの出力先となる印刷デバイスであって状態情報の取得対象となる印刷デバイスを監視対象キューに順次登録する第1登録手段と、
    前記転送すべき印刷ジョブの出力先となる印刷デバイスを転送キューに順次登録する第2登録手段と、
    前記監視対象キューに登録された、前記監視対象キューにおける印刷デバイスの登録順序である第1登録順序に従い、印刷デバイスとの接続を行い印刷デバイスからの前記状態情報を取得する状態監視手段と、
    前記転送キューに登録された、印刷ジョブの転送に係わる印刷デバイスの第2登録順序に従い、印刷ジョブの転送を行わせる転送制御手段と、
    前記状態監視手段は、前記転送制御手段により印刷ジョブの転送が完了していなくとも、前記第1登録順序に従い、印刷デバイスとの接続を順次切り替え、印刷デバイスから取得される状態情報を取得することを特徴とする情報処理装置。
  2. 前記転送制御手段は、前記状態監視手段により、前記状態情報を取得する印刷デバイスの切替が行われた場合にも、印刷ジョブを転送中の印刷デバイスへの印刷ジョブの転送を継続させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記状態監視手段による接続数と前記転送制御手段による接続数との各々を設定する接続数設定手段を有することを特徴とする請求項1又は2に記載の情報処理装置。
  4. 複数の印刷デバイスと通信可能な情報処理装置におけるジョブ処理方法であって、
    前記印刷デバイスに転送すべき印刷ジョブの出力先となる印刷デバイスであって状態情報の取得対象となる印刷デバイスを監視対象キューに順次登録する第1登録工程と、
    前記転送すべき印刷ジョブの出力先となる印刷デバイスを転送キューに順次登録する第2登録工程と、
    前記監視対象キューに登録された、前記監視対象キューにおける印刷デバイスの登録順序である第1登録順序に従い、印刷デバイスとの接続を行い印刷デバイスからの前記状態情報を取得する状態監視工程と、
    前記転送キューに登録された、印刷ジョブの転送に係わる印刷デバイスの第2登録順序に従い、印刷ジョブの転送を行わせる転送制御工程と、
    前記状態監視工程は、前記転送制御工程により印刷ジョブの転送が完了していなくとも、前記第1登録順序に従い、印刷デバイスとの接続を順次切り替え、印刷デバイスから取得される状態情報を取得することを特徴とするジョブ処理方法。
  5. 前記転送制御工程は、前記状態監視工程において、前記状態情報を取得する印刷デバイスの切替が行われた場合にも、印刷ジョブを転送中の印刷デバイスへの印刷ジョブの転送を継続させることを特徴とする請求項4に記載のジョブ処理方法。
  6. 前記状態監視工程における接続数と前記転送制御工程における接続数との各々を設定する接続数設定工程を有することを特徴とする請求項4又は5に記載のジョブ処理方法。
  7. 請求項4乃至6のいずれか1項に記載のジョブ処理方法をコンピュータに実行させる為のプログラム。
  8. 請求項7に記載のプログラムをコンピュータ可読の形態で記憶した記憶媒体。
JP2006346199A 2006-12-22 2006-12-22 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体 Expired - Fee Related JP4857102B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006346199A JP4857102B2 (ja) 2006-12-22 2006-12-22 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体
US11/924,355 US8553254B2 (en) 2006-12-22 2007-10-25 Means to reduce a load on a computer and efficiently manage printing jobs or printing devices jobs
KR1020070119926A KR101197915B1 (ko) 2006-12-22 2007-11-22 정보 처리 장치, 잡 처리 방법 및 기억 매체
EP07121290.6A EP1939723B1 (en) 2006-12-22 2007-11-22 Information-processing apparatus, method, program and storage medium of processing jobs
CN2007101864877A CN101206560B (zh) 2006-12-22 2007-11-22 信息处理设备和处理作业的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006346199A JP4857102B2 (ja) 2006-12-22 2006-12-22 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2008158767A JP2008158767A (ja) 2008-07-10
JP4857102B2 true JP4857102B2 (ja) 2012-01-18

Family

ID=39186837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006346199A Expired - Fee Related JP4857102B2 (ja) 2006-12-22 2006-12-22 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体

Country Status (5)

Country Link
US (1) US8553254B2 (ja)
EP (1) EP1939723B1 (ja)
JP (1) JP4857102B2 (ja)
KR (1) KR101197915B1 (ja)
CN (1) CN101206560B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804629B2 (en) * 2006-03-14 2010-09-28 Xerox Corporation System and method for estimating toner usage for a printing system
JP4827615B2 (ja) * 2006-05-29 2011-11-30 キヤノン株式会社 情報処理装置、印刷システム、監視方法、プログラム及び記憶媒体
JP5319237B2 (ja) * 2008-10-28 2013-10-16 キヤノン株式会社 印刷システム及びその制御方法
US8806611B2 (en) * 2008-12-02 2014-08-12 At&T Intellectual Property I, L.P. Message administration system
JP2011165009A (ja) * 2010-02-10 2011-08-25 Canon Inc 印刷ジョブ管理装置及び印刷ジョブ管理方法及び画像形成装置
JP2012074923A (ja) * 2010-09-29 2012-04-12 Brother Ind Ltd 多機能機及びコンピュータプログラム
JP5644449B2 (ja) * 2010-12-06 2014-12-24 ソニー株式会社 機器制御装置、機器制御装置の登録方法およびプログラム
JP5223995B1 (ja) * 2012-11-28 2013-06-26 富士ゼロックス株式会社 印刷制御装置、データ管理方法およびプログラム
JP5288040B1 (ja) 2012-11-28 2013-09-11 富士ゼロックス株式会社 印刷管理装置、画像形成システムおよびプログラム
JP6299101B2 (ja) * 2013-07-26 2018-03-28 株式会社リコー サービス提供システム、サービス提供方法及びプログラム
KR101672368B1 (ko) 2014-05-21 2016-11-17 주식회사 이지몬 트라이플렉스 모드 기능을 제공하는 스마트 콘센트를 이용한 전원관리시스템 및 스마트 콘센트, 트라이플렉스 모드 기능을 제공하는 스마트 멀티탭을 이용한 전원관리시스템 및 스마트 멀티탭
CN105450533A (zh) * 2015-11-30 2016-03-30 上海斐讯数据通信技术有限公司 路由器的***选择方法及所适用的路由器
JP7176235B2 (ja) * 2018-06-06 2022-11-22 富士フイルムビジネスイノベーション株式会社 情報処理装置、ワークフローシステム及びプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129337A (ja) * 1993-11-04 1995-05-19 Fuji Xerox Co Ltd マルチプリンタ管理システム
US6452692B1 (en) * 1996-12-02 2002-09-17 Sun Microsystems, Inc. Networked printer server
JP4817474B2 (ja) * 1998-03-17 2011-11-16 キヤノン株式会社 データ処理装置およびデ―タ処理方法およびコンピュ―タが読み出し可能なプログラムを格納した記憶媒体
US7202962B2 (en) * 1998-03-19 2007-04-10 Oce-Technologies B.V. Scan and print processing in a network system having a plurality of devices
JP2000132354A (ja) * 1998-10-23 2000-05-12 Canon Inc プリンタの管理装置及び管理方法
US7027169B1 (en) * 1999-03-31 2006-04-11 Minolta Co., Ltd. System for efficiently distributing print jobs
JP3639772B2 (ja) * 1999-06-30 2005-04-20 キヤノン株式会社 情報処理装置および印刷システムおよび印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3845789B2 (ja) * 1999-08-19 2006-11-15 カシオ計算機株式会社 印刷制御装置、及び記録媒体
US6856416B1 (en) * 1999-11-03 2005-02-15 Toshiba Tech Corporation Dynamic load balancing for a tandem printing system
JP3492271B2 (ja) * 2000-01-31 2004-02-03 キヤノン株式会社 端末装置、電源制御方法及び記憶媒体
WO2001061460A1 (fr) * 2000-02-21 2001-08-23 Seiko Epson Corporation Systeme de mediation pour impression en reseau
JP3788184B2 (ja) 2000-04-07 2006-06-21 セイコーエプソン株式会社 分散印刷制御装置および分散印刷制御方法並びに記録媒体
JP2002149510A (ja) * 2000-11-09 2002-05-24 Matsushita Electric Ind Co Ltd サーバ装置
JP4420421B2 (ja) * 2001-03-19 2010-02-24 キヤノン株式会社 情報処理装置およびその制御方法
EP1524124A4 (en) * 2002-07-19 2006-05-10 Seiko Epson Corp PRINTING SYSTEM
US7610411B2 (en) * 2003-06-23 2009-10-27 Sharp Kabushiki Kaisha Information processing device, line concentrator, network information processing system having the line concentrator, information processing program and storage medium
JP2005026853A (ja) * 2003-06-30 2005-01-27 Toshiba Corp 表示情報の無線接続切換えシステム
KR100529335B1 (ko) * 2003-07-09 2005-11-17 삼성전자주식회사 네트워크 인쇄 제어 방법 및 장치와 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체
JP2005122275A (ja) * 2003-10-14 2005-05-12 Canon Inc 情報処理装置及び方法及びプログラム
JP4006392B2 (ja) * 2003-12-03 2007-11-14 キヤノン株式会社 情報処理装置、及び、制御プログラム
JP4018622B2 (ja) * 2003-12-10 2007-12-05 キヤノン株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム並びに記憶媒体
JP3927949B2 (ja) * 2003-12-10 2007-06-13 キヤノン株式会社 情報処理装置、負荷分散印刷方法、プログラム、及び記憶媒体
KR100594713B1 (ko) * 2003-12-15 2006-06-30 삼성전자주식회사 여러개의 인쇄 잡을 효율적으로 인쇄하기 위한 스풀링제어 장치 및 그의 스풀링 제어 방법
JP3854963B2 (ja) * 2003-12-15 2006-12-06 キヤノン株式会社 情報処理装置、印刷システム、負荷分散印刷方法、及び制御プログラム
US20060196006A1 (en) * 2004-07-06 2006-09-07 Willis Douglas G Articulated caster
US7548335B2 (en) * 2005-02-25 2009-06-16 Microsoft Corporation Print job queuing and scheduling systems and methods
US7907292B2 (en) * 2005-05-13 2011-03-15 Ricoh Company, Limited Terminal device for performing print processing, method of controlling the same, and computer product
US20060274370A1 (en) * 2005-06-03 2006-12-07 Seiko Epson Corporation Control technology used in distributed printing for printing control device and printer
JP4971610B2 (ja) * 2005-09-01 2012-07-11 キヤノン株式会社 デバイスドライバを管理するためのプログラムおよび方法と情報処理装置
JP2007122093A (ja) * 2005-10-24 2007-05-17 Canon Inc 印刷制御装置及び印刷制御方法ならびに印刷制御方法を実行するプログラム

Also Published As

Publication number Publication date
US8553254B2 (en) 2013-10-08
EP1939723B1 (en) 2018-01-10
CN101206560B (zh) 2010-09-22
EP1939723A3 (en) 2013-06-12
KR101197915B1 (ko) 2012-11-06
US20080151304A1 (en) 2008-06-26
KR20080059038A (ko) 2008-06-26
CN101206560A (zh) 2008-06-25
JP2008158767A (ja) 2008-07-10
EP1939723A2 (en) 2008-07-02

Similar Documents

Publication Publication Date Title
JP4857102B2 (ja) 情報処理装置、ジョブ処理方法、プログラム及び記憶媒体
JP4827615B2 (ja) 情報処理装置、印刷システム、監視方法、プログラム及び記憶媒体
JP4533228B2 (ja) 画像処理装置および画像処理方法および画像処理プログラム
JP4514201B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP5319237B2 (ja) 印刷システム及びその制御方法
JP5078423B2 (ja) ワークフロー管理サーバ及び方法
JP2010204746A (ja) 印刷制御装置及び制御方法及びプログラム
JP2008059372A (ja) 印刷制御装置およびその方法
JP2006056069A (ja) 印刷制御装置および印刷制御方法
JP2008097226A (ja) 情報処理装置及び情報処理方法
JP7512095B2 (ja) 印刷システム
JP2009037488A (ja) 印刷ジョブの制御方法及びその印刷システムと情報処理装置と印刷装置
JP2009178942A (ja) プリンタ選択システム
JP2006195531A (ja) 画像記録システム
JP2008107921A (ja) プルプリントサーバとその制御方法
KR100643758B1 (ko) 인쇄순서제어가 가능한 네트워크 인쇄장치 및 그의인쇄순서제어방법
JP2007025970A (ja) プルプリントシステム
JP4618778B2 (ja) 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム
JP2007004680A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP2005333447A (ja) 情報処理装置
JP2008059371A (ja) 印刷制御装置およびその方法
JP2006031439A (ja) 画像記録システム
JP2016018534A (ja) サーバ、ジョブ管理システム、ジョブ管理方法及びプログラム
JP2006164155A (ja) 印刷装置、ネットワーク接続装置、印刷制御方法及び印刷制御プログラム
JP2019181732A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091221

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111025

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111031

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4857102

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees