(57)【要約】      （修正有）【課題】効率的な処理が可能な印刷スケジューリングシステム及び方法を提供する。【解決手段】印刷をスケジューリングするシステム及び方法は、印刷装置に使用されるスプールがフルのときは、印刷ジョブ関連情報によって、印刷装置に関連するリクエストテーブルの複数のエントリーのうちの少なくとも一つが更新される。優先度は、リクエトテーブルのエントリーと関連づけられ、また、エントリーされた印刷ジョブは、印刷装置に使用されるスプールがフルではなく、かつ、リクエストテーブルにおける印刷ジョブに対応するエントリーが最も高い優先度を有する場合は、印刷ジョブ要求があったときに、スプールされる。開示される本実施形態の方法は、既存のプロトコルに最小限の変更を加えて、印刷ジョブの秩序ある処理工程をタイミングよく提供する。【選択図】図３
2008276757.tif 000002
【特許請求の範囲】
【請求項１】
処理するための印刷ジョブをスケジューリングする方法であって、
印刷装置に使用されるスプールがフルのときは、印刷ジョブ関連情報によって、前記印刷装置に関連するリクエストテーブルの複数のエントリーのうちの少なくとも一つを更新する工程と、
優先度を、前記リクエストテーブルの複数のエントリーのうちの前記少なくとも一つと関連づける工程と、及び、
前記印刷装置に使用される前記スプールがフルではなく、かつ、前記リクエストテーブルにおける前記印刷ジョブに対応するエントリーが最も高い優先度を有する場合は、印刷ジョブ要求があったときに、前記印刷ジョブをスプールする工程と、
を有する方法。
【請求項２】
請求項１の方法において、前記複数のエントリーのうちの少なくとも一つを更新する工程は、
前記印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程と、
前記リクエストテーブルから、スプールされたジョブに関連するエントリーを削除する工程と、及び、
前記リクエストテーブルが、前記印刷ジョブに対応するエントリーを含まない場合は、前記印刷ジョブ関連情報を含むエントリーを追加する工程と、
のうちの一以上を更に有する。
【請求項３】
請求項２の方法において、前記印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程は、
前記印刷ジョブのためのエントリーに関連する有効期限をリセットする工程と、及び、
前記リクエストテーブルから期限切れのエントリーを削除する工程と、
のうちの一以上を更に有する。
【請求項４】
請求項１の方法において、前記優先度を前記リクエストテーブルのエントリーに関連づける工程は、前記印刷ジョブ関連情報を用いて、各エントリーの優先度を決定する工程を更に有する。
【請求項５】
請求項４の方法において、前記印刷ジョブ関連情報は、前記印刷ジョブのプリントヘッダから取得される。
【請求項６】
請求項４の方法において、前記印刷ジョブ関連情報は、
前記印刷ジョブが前記印刷装置に最初に受信された時刻、
前記印刷ジョブのサイズ、
前記印刷ジョブを送信する装置の識別情報、及び、
前記印刷ジョブを送信するユーザの識別情報、
のうちの一以上を有する。
【請求項７】
請求項２の方法において、前記有効期限は一定である。
【請求項８】
請求項２の方法において、前記有効期限は、
以前の期間における、前記印刷装置により受信された前記印刷ジョブの時間的な分布、
前記印刷装置により受信された前記印刷ジョブの平均サイズ、
現在時刻、及び、
前記印刷装置により現在印刷されている前記印刷ジョブのサイズ、
のうちの一以上に基づき、動的に変化する。
【請求項９】
請求項１の方法において、前記印刷装置は、
ネットワークに接続されたプリンタ、及び、
ネットワークに接続されたプリンタに接続されたプリントコントローラ、
のうちの一以上を有してもよい。
【請求項１０】
請求項１の方法において、前記印刷スプール及び前記リクエストテーブルは、物理的に別々のメモリに格納される。
【請求項１１】
請求項１の方法において、前記印刷スプール及び前記リクエストテーブルは、共通の物理メモリにおける論理的に別々の区域に格納される。
【請求項１２】
プロセッサにより実施される際に、処理するための印刷ジョブをスケジューリングする方法の工程を実行する命令を格納する、コンピュータにより読み取り可能な媒体であって、前記工程は、
印刷装置に使用されるスプールがフルのときは、印刷ジョブ関連情報によって、前記印刷装置に関連するリクエストテーブルの複数のエントリーのうちの少なくとも一つを更新する工程と、
優先度を、前記リクエストテーブルの複数のエントリーのうちの前記少なくとも一つと関連づける工程と、及び、
前記印刷装置に使用される前記スプールがフルではなく、かつ、前記リクエストテーブルにおける前記印刷ジョブに対応するエントリーが最も高い優先度を有する場合は、印刷ジョブ要求があったときに、前記印刷ジョブをスプールする工程と、
を有するコンピュータにより読み取り可能な媒体。
【請求項１３】
請求項１２のコンピュータにより読み取り可能な媒体において、前記複数のエントリーのうちの少なくとも一つを更新する工程は、
前記印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程と、
前記リクエストテーブルから、スプールされたジョブに関連するエントリーを削除する工程と、及び、
前記リクエストテーブルが、前記印刷ジョブに対応するエントリーを含まない場合は、前記印刷ジョブ関連情報を含むエントリーを追加する工程と、
のうちの一以上を更に有する。
【請求項１４】
請求項１３のコンピュータにより読み取り可能な媒体において、前記印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程は、
前記印刷ジョブのためのエントリーに関連する有効期限をリセットする工程と、及び、
前記リクエストテーブルから期限切れのエントリーを削除する工程と、
のうちの一以上を更に有する。
【請求項１５】
請求項１２のコンピュータにより読み取り可能な媒体において、前記優先度を前記リクエストテーブルのエントリーに関連づける工程は、前記印刷ジョブ関連情報を用いて、各エントリーの優先度を決定する工程を更に有する。
【請求項１６】
請求項１２のコンピュータにより読み取り可能な媒体において、前記印刷ジョブ関連情報は、
前記印刷ジョブが前記印刷装置に最初に受信された時刻、
前記印刷ジョブのサイズ、
前記印刷ジョブを送信する装置の識別情報、及び、
前記印刷ジョブを送信するユーザの識別情報、
のうちの一以上を有する。
【請求項１７】
複数の印刷ジョブ生成装置に接続された少なくとも一つの印刷装置を備えたシステムであって、前記印刷装置及び前記複数の印刷ジョブ生成装置は、処理するための印刷ジョブをスケジューリングする方法の工程を実行し、前記工程は、
印刷装置に使用されるスプールがフルのときは、印刷ジョブ関連情報によって、前記印刷装置に関連するリクエストテーブルの複数のエントリーのうちの少なくとも一つを更新する工程と、
優先度を、前記リクエストテーブルの複数のエントリーのうちの前記少なくとも一つと関連づける工程と、及び、
前記印刷装置に使用される前記スプールがフルではなく、かつ、前記リクエストテーブルにおける前記印刷ジョブに対応するエントリーが最も高い優先度を有する場合は、印刷ジョブ要求があったときに、前記印刷ジョブをスプールする工程と、
を有するシステム。
【請求項１８】
請求項１７のシステムにおいて、前記複数のエントリーのうちの少なくとも一つを更新する工程は、
前記印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程と、
前記リクエストテーブルから、スプールされたジョブに関連するエントリーを削除する工程と、及び、
前記リクエストテーブルが、前記印刷ジョブに対応するエントリーを含まない場合は、前記印刷ジョブ関連情報を含むエントリーを追加する工程と、
のうちの一以上を更に有する。
【請求項１９】
請求項１７のシステムにおいて、前記印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程は、
前記印刷ジョブのためのエントリーに関連する有効期限をリセットする工程と、及び、
前記リクエストテーブルから期限切れのエントリーを削除する工程と、
のうちの一以上を更に有する。
【請求項２０】
請求項１７のシステムにおいて、前記優先度を前記リクエストテーブルのエントリーに関連づける工程は、前記印刷ジョブ関連情報を用いて、各エントリーの優先度を決定する工程を更に有する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システムの管理の分野に関し、特に、印刷スケジューリングシステム及び方法に関する。
【背景技術】
【０００２】
印刷装置及び印刷システムは、現代のオフィス環境、家庭、ホーム・オフィス環境等の至る所に存在している。印刷装置のコストが減少し続けていることから、ユーザは、多くの環境においてプリンタをより自由に選択することができるようになっている。大きなオフィスシステムでは、プリントサーバは、複数のプリンタと対になることができ、また、送信装置及びプリンタから様々なアクティビティを引き受けうる。例えば、プリントサーバは、一以上のプリンタがビジーであるときは、ジョブを待ち行列に入れて、指定されたプリンタに後からジョブを転送することができる。
【０００３】
プリントサーバは、付加的なメモリ及びファームウェアを必要として、印刷装置のコストを大幅に増加させる可能性がある。したがって、プリントサーバは、しばしば機能が限られた従前のコンピュータを用いて実行される。しかし、より大きな又は高価な印刷装置では、サーバの機能は印刷装置に内蔵されうる。プリントサーバが別々のコンピュータで実行されるとすれば、別々の設定、ネットワーク管理組織及び管理が必要とされるため、コスト及びシステムのネットワーク管理組織の複雑さは増大する。
【０００４】
コストの低いプリンタが優位を占める小企業又は家庭環境では、プリントサーバにより提供される機能性及び利便性が不足する可能性がある。更に、コストの低いプリンタは、一般にメモリが限られているため、プリントスプール容量が低い。プリントスプールは、後の処理のために、プリントジョブをメモリに記憶しておく処理である。印刷ジョブがスプールされるとき、印刷ジョブは、印刷装置により、後の処理のためにメモリに記憶される。プリントスプールメモリは、プリンタ、プリンタコントローラ又はプリントサーバに備えられうる。
【０００５】
プリントスプールは、印刷ジョブのバックグラウンドでの処理を可能にすると共に、他の機能が実行できるように送信装置を解放する。送信装置、プリントクライアント又は単にクライアントは、コンピュータ、カメラ、又は印刷装置のサービスを必要とする他のいかなる装置であってもよい。プリントスプールがフルになったときは、送信装置は待機し、印刷装置が新たなジョブを受信することができるまで、ランダムな間隔で再試行する。このような状況において、次の試行の間、送信装置がジョブをスプールすることができる保証はない。例えば、送信装置の次の試行に先立って、前に存在する一つ以上の印刷ジョブが完了した場合は、他のコンピュータ及び／又は装置は、その間にプリントスプールを新たなジョブで満たすことができる。
【０００６】
前記「スプールフル（spool full）」問題は、プリンタ又はプリンタのプール（pool）が、多数の装置によって共有されている、又は文書処理環境等、大量に印刷する環境の共有とされている場合は、悪化する可能性がある。前記「スプールフル」問題は、より小さいスプールメモリを備えたより低コストの装置が共有されている場合に、より頻繁に起きるが、装置に送信される印刷ジョブの数や種類によって、より大きな印刷装置にも起きる可能性がある。印刷ジョブがタイミングよく処理される保証がないため、前記「スプールフル」問題は、ユーザを非常に苛立たせる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように、印刷ジョブのスケジューリング及び効率的な処理を可能とし、印刷ジョブを送信及び／又は受信するための既存のプロトコルを用いて動作するシステム、方法及びインタフェイスが必要とされている。
【課題を解決するための手段】
【０００８】
一部の実施形態では、処理するための印刷ジョブをスケジューリングする方法は、印刷装置に使用されるスプールがフルのときは、印刷ジョブ関連情報によって、印刷装置に関連するリクエストテーブルの複数のエントリーのうちの少なくとも一つを更新する。優先度は、リクエストテーブルの複数のエントリーのうちの少なくとも一つと関連づけられ、印刷ジョブは、印刷装置に使用されるスプールがフルではなく、かつ、リクエストテーブルにおける印刷ジョブに対応するエントリーが最も高い優先度を有する場合は、印刷ジョブ要求があったときに、スプールされる。印刷スプール及びリクエストテーブルは、物理的に別々のメモリに格納されてもよく、共通の物理メモリにおける論理的に別々の区域に格納されてもよい。
【０００９】
複数のエントリーのうちの少なくとも一つを更新する工程は、印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程と、リクエストテーブルから、スプールされたジョブに関連するエントリーを削除する工程と、及び、リクエストテーブルが、印刷ジョブに対応するエントリーを含まない場合は、印刷ジョブ関連情報を含むエントリーを追加する工程と、のうちの一以上を更に有する。また、印刷ジョブのためのエントリーに付随する有効期限情報を更新する工程は、印刷ジョブのためのエントリーに関連する有効期限をリセットする工程と、及び、リクエストテーブルから期限切れのエントリーを削除する工程と、のうちの一以上を更に有してもよい。
【００１０】
有効期限は一定でもよく、以前の期間における、印刷装置により受信された印刷ジョブの時間的な分布、印刷装置により受信された印刷ジョブの平均サイズ、現在時刻、及び、印刷装置により現在印刷されている前記印刷ジョブのサイズ、のうちの一以上に基づき、動的に変化してもよい。
【００１１】
優先度は、印刷ジョブ関連情報を用いることにより、リクエストテーブルのエントリーと関連づけられて、各エントリーの優先度を決定してもよい。印刷ジョブ関連情報は、印刷ジョブのプリントヘッダから取得されてもよく、また、印刷ジョブが印刷装置に最初に受信された時刻、印刷ジョブのサイズ、印刷ジョブを送信する装置の識別情報、及び、印刷ジョブを送信するユーザの識別情報、のうちの一以上を有してもよい。
【発明を実施するための最良の形態】
【００１２】
図１は、印刷アカウンティングシステムの例示的なブロック図を示す。本発明に適合するコンピュータソフトウェアアプリケーションは、図１に示すように、従来の通信プロトコル及び／又はデータポートインタフェイスを用いて情報をやり取りさせるコミュニケーションリンクを介して接続された、一以上のネットワーク・コンピュータ又はプリンタに配備されてもよい。
【００１３】
図１に示すように、例示的なシステム１００は、コンピュータデバイス１１０及びサーバ１３０を含んでいる。更に、コンピュータデバイス１１０及びサーバ１３０は、接続部１２０を介して通信することができる。接続部１２０は、ネットワーク１４０を通過してもよく、一例としては、インターネットであってもよい。コンピュータデバイス１１０は、コンピュータワークステーション、デスクトップコンピュータ、ラップトップコンピュータ又はネットワーク化された環境で用いられうる他のいかなるコンピュータデバイスであってもよい。サーバ１３０は、コンピュータデバイス１１０及び他の装置（図示せず）にも接続可能なプラットフォームであってもよい。コンピュータデバイス１１０及びサーバ１２０は、例示的な印刷装置１６０−１及び１６０−２等の印刷装置１６０の制御及び設定を可能にするソフトウェア（図示せず）を実行可能であってもよい。
【００１４】
コンピュータデバイス１１０は、取り外し可能なメディアドライブ１５０を含んでもよい。取り外し可能なメディアドライブ１５０は、例えば、３．５インチフロッピードライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＯＭドライブ、ＣＤ±ＲＷ若しくはＤＶＤ±ＲＷドライブ及び／又は本発明の実施形態に適合する他のいかなる取り外し可能なメディアドライブであってもよい。一部の実施形態では、ソフトウェアアプリケーションの一部が取外し可能なメディアにあり、取り外し可能なメディアドライブ１５０を用いるコンピュータデバイス１１０によって読み取り、実行されてもよい。一部の実施形態では、アプリケーションによって生成された結果及び報告が、取り外し可能なメディアに記憶されてもよい。
【００１５】
接続部１２０は、コンピュータデバイス１１０、サーバ１３０及びプリンタ１６０−２を接続する。接続部１２０は、従来の通信プロトコル及び／又はデータポートインタフェイスを用いて、有線接続又は無線接続として実施される。一般に、接続部１２０は、装置間のデータ送信を可能とするいかなる通信チャネルとされてもよい。例えば、一つの実施形態では、装置は、適当な接続部１２０を介してデータ送信するための、ＵＳＢ、ＳＣＳＩ、ＦＩＲＥＷＩＲＥ及び／若しくはＢＮＣポート等の従来のデータポートを備えてもよい。通信リンクは、無線リンク、有線リンク、又はコンピュータデバイス１１０、サーバ１３０及びプリンタ１６０−２の間の通信を可能とする本発明の実施形態に適合したいかなる連係であってもよい。
【００１６】
ネットワーク１４０は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）又はインターネットを含んでもよい。本発明の一部の実施形態では、ネットワーク１４０を介して送信された情報は、送信中のデータのセキュリティを保証するために暗号化されてもよい。
【００１７】
例示的な印刷装置１６０−２は、ネットワークプリンタであってもよく、接続部１２０を介してネットワーク１４０に接続されてもよい。一部の実施形態では、例示的な印刷装置１６０−１等の印刷装置は、ローカル又は専用のプリンタであってもよく、コンピュータデバイス１１０及び／又はサーバ１２０及び／又は例示的なデジタルカメラ１８５等の他の周辺機器に直接接続されてもよい。デジタルカメラ１８５は、ＰｉｃｔＢｒｉｄｇｅ等のプロトコルを直接用いて、又はコンピュータ１１０を介して、印刷装置１６０−１と通信可能であってもよい。図１に示すように、例示的な印刷装置１６０−２等の印刷装置は、フラッシュデバイス、ＵＳＢドライブ、又は他の記憶装置１８０と接続するためのポートを備えてもよい。システム１００は、本発明の実施形態に準じて、複数の印刷装置及び他の周辺機器（図示せず）を備えてもよい。
【００１８】
印刷装置１６０は、ハードウェア、ファームウェア又はソフトウェア、又はそれらの組合せにより制御されてもよい。印刷装置１６０は、印刷装置１６０の動作を制御することができる、例示的なプリントコントローラ１７５−１及び１７５−２等の一以上の印刷制御ボードを含んでもよい。印刷装置１６０は、プリントコントローラ１７５のメモリ装置に記録されたファームウェア又はソフトウェアにより制御されてもよい。一般に、プリントコントローラ１７５は、内蔵の又は外部の印刷装置であってもよい。一部の実施形態では、印刷装置１６０は、一部において、コンピュータデバイス１１０又はサーバ１２０で動作するソフトウェアによって制御されてもよい。
【００１９】
例示的な印刷装置１６０−２等の印刷装置は、コンソール１９０−１及び１９０−２等のコンソール、又は、設定オプションを設定させ、他のメッセージを表示させる他のインタフェイスを含んでもよい。一部の実施形態では、印刷装置１６０に接続されたコンピュータに対して、ディスプレイ又はモニタ上のユーザインタフェイスを用いて、一以上の設定オプションが設定されてもよい。例えば、印刷装置１６０−１に一以上の設定オプションを設定するユーザインタフェイスが、コンピュータ１１０に接続されたモニタ１９０−３に表示されてもよい。プリンタ１６０−２に設定オプションを設定するユーザインタフェイスは、サーバ１３０で動作するソフトウェアを用いて、モニタ１９０−３に表示されてもよい。
【００２０】
一部の実施形態では、印刷装置１７０に関する設定パラメータは、ユーザが設定することができるようにしてもよい。例えば、印刷解像度、原稿サイズ、カラーオプション及び他の設定パラメータは、ユーザが設定することができるようにしてもよい。ユーザが、原稿のバッチ処理をさせるために、給紙トレイ及びオートドキュメントフィーダの使用を指定できるようにしてもよい。また、ユーザが、印刷装置１６０にログインして、印刷装置１６０でソフトウェア及びハードウェアに様々な機能を実行させる管理機能を実行することができるようにしてもよい。一部の実施形態では、ログイン処理にパスワード又は他のユーザ認証機構を要することとしてもよい。
【００２１】
本発明のコンピュータソフトウェアアプリケーションは、図１に示す例示的なコンピュータ又はプリンタのいずれに配備されてもよい。例えば、コンピュータデバイス１１０は、プリンタ１６０−１の動作を制御及び／又は監視することができるソフトウェアを実行することができる。独立したアプリケーションが、その設定に基づき、プリンタ１６０−２において同時に実行されてもよい。他の例では、プリントコントローラ１７５−１にあるアプリケーションは、コンピュータ１１０を用いるが、印刷装置１６０−１において実行されるように構成されてもよい。一般に、アプリケーションは、全体として又は一部として、システムにおける一以上のコンピュータ、プリントコントローラ又はプリンタにおいて実行されてもよい。
【００２２】
図２は、印刷ジョブに含まれる、例示的なプリントヘッダ情報２００を示している。ユーザが原稿を印刷しようとするとき、印刷装置１６０に送信される印刷ジョブは、ヘッダを含んでもよい。ヘッダは、ユーザ、送信装置又はクライアントを識別するために用いられ、装置構成及びジョブ処理情報を含んでもよい。例えば、ユーザ情報は、ユーザログインＩＤ、ユーザ名及びユーザアカウントに関連するその他の情報を含んでもよい。クライアント情報は、クライアント名、ネットワークアドレス及びポート番号等のクライアントについての情報を含んでもよい。一部の実施形態では、クライアントのネットワークアドレスは、ＴＣＰ／ＩＰアドレスによって特定されてもよい。一般に、送信装置又はクライアントのリストは、コンピュータ１１０、サーバ１３０、カメラ１８５又はプリンタ１６０にジョブを送信することができる他の周辺機器等のいかなる印刷ジョブ生成装置を含むことも可能である。
【００２３】
ジョブ情報は、ジョブ名及び／又は識別子、及び依頼時刻を含んでもよい。一部の実施形態では、ジョブＩＤ番号は、クライアントで動作するプリントドライバによって印刷ジョブに割り当てられる固有の識別子であってもよい。プリントヘッダ情報２００は、色、画像、レンダリング及びメディア情報等の印刷ジョブの処理に関連する情報を含んでもよい。例えば、画像関連情報は、明度及びコントラスト等の輝度情報、及び／又は彩度等の色度情報を含んでもよい。レンダリング情報は、画像及びテキストのためのハーフトーニング（half-toning）及びスムージング（smoothing）オプションに関連する情報を含むことができる。メディア情報は、用紙サイズ、用紙の向き、用紙トレイ、ステープル及び／又はコレーティング（collating）オプション等のメディアタイプについての情報を含むことができる。
【００２４】
一般に、プリントヘッダ情報２００の種類は、プリンタ及びページ記述言語（ＰＤＬ）の機能に応じて異なる可能性がある。ＰＤＬは、PostScript、Adobe PDF、HP PCL、Microsoft XPSやそれらの異体字（variant）及び原稿のページを記述するのに用いられる他のいかなる言語も含みうる。一部の実施形態では、独占的なＰＤＬ及び／又は標準記述言語の修正版及び／又は拡張版が用いられうる。
【００２５】
図３は、例示的な印刷のスケジューリング方法を記載したフローチャート３００している。フローチャート３００が示す例示的な方法は、印刷装置１６０及び／又はプリントコントローラ１７５のうちの一以上により実行されうる。ステップ３１０において、送信装置は、例示的な印刷装置１６０等の印刷装置にジョブを送信する。ステップ３１５において、印刷装置は、スプールがフルになっているか否かチェックする。スプールがフルの場合は、印刷装置は、ジョブに関する情報を、例示的なリクエストテーブル４００等のリクエストテーブルに追加してもよい。一部の実施形態では、リクエストテーブル４００は、スプールされていない印刷装置１６０により受信されたジョブのリストを含んでもよい。リクエストテーブル４００のエントリーは、印刷装置１６０により受信された（ただし、まだスプールされていない）特定のジョブに対応しうる。
【００２６】
図４は、例示的なリクエストテーブル４００を示している。例示的なリクエストテーブルは、特定の印刷ジョブに関連する情報の保持に用いられうる。新たなジョブに関連する詳細な事項は、印刷装置１６０のためのプリントスプールがフルになったときに加えられてもよい。一部の実施形態では、リクエストテーブル４００は、二重のエントリーを防止するため、新たなジョブに関連する詳細な事項が加えられる前にチェックされてもよい。ジョブが処理された場合、又は同じジョブに関する他の要求が特定の時間内に受信されない場合は、ジョブに関連するエントリーは削除されてもよい。
【００２７】
リクエストテーブル４００は、クライアントＩＤ、ジョブＩＤ、ジョブサイズ、ユーザＩＤ、ジョブ要求が受信された時刻及び／又は印刷ジョブに関する他のパラメータ等の一以上のフィールドを含んでもよい。リクエストテーブル４００のフィールドは、クライアント、ユーザ及び／又はジョブに関連する他の情報についての付加的な情報を含むこともできる。一般に、プリントヘッダ情報により与えられる又はプリントヘッダ情報に関連するいかなる関連情報も、リクエストテーブル４００のフィールドとして用いられうる。例示的なリクエストフィールド４００は、印刷装置１６０、プリントコントローラ１７５及び／又は印刷装置１６０又はプリントコントローラ１７５に接続されるメモリ装置における別個の論理メモリ又は物理メモリにあってもよい。一部の実施形態では、リクエストテーブル４００のためのメモリは、新たな要求が加えられ、保留されているジョブが処理される時に、割り当てられ、また割り当てが解除されてもよい。
【００２８】
ステップ３１５では、印刷装置１６０のためのスプールがチェックされる。印刷装置１６０のためのスプールがフルでない場合は、その後、ステップ３３０において、リクエストテーブル４００がチェックされ、リクエストテーブル４００にエントリーがあるか否かが判断されてもよい。ステップ３６０において、リクエストテーブル４００にエントリーがない場合は、ジョブがスプールされてもよい。ステップ３３０におけるリクエストテーブル４００のチェックにより、例示的なリクエストテーブル４００にエントリーがあると判断された場合は、その後、リクエストテーブル４００は、期限切れのエントリーのためにチェックされてもよい。期限切れのエントリーは、ステップ３３５において削除されてもよい。
【００２９】
リクエストテーブル４００のいかなるエントリーも、有効期限と関連づけられてもよい。前記有効期限は、テーブルにおけるエントリーが、それらが削除される前に保留のままとされる時間の長さを決定するものであってもよい。例えば、リクエストテーブル４００におけるエントリーの有効期限を、１０分と設定することができる。リクエストテーブル４００におけるエントリーが１０分以上保留にされている場合は、そのエントリーは削除されてもよい。一部の実施形態では、前記有効期限は、システム管理者又は印刷装置の製造業者によって設定され、又は、初期値に予め設定されてもよい。一部の実施形態では、前記初期値は、ジョブサイズの分布、印刷要求の頻度、時刻、現在の時刻より以前の期間におけるジョブの分布、一日におけるジョブの時間分布等の、印刷ジョブに関連する統計値に基づき、ランタイムにおいて変更されてもよい。例えば、印刷要求の数がより多い日中は、有効期限をより長く設定してもよい。他の例としては、印刷装置１６０が大きい印刷ジョブを印刷しているところであれば、前記有効期限は増大されてもよい。印刷装置１６０は、保持している及び／又は提供される統計値に基づき、ランタイムにおいて前記有効期限を自動的に変更するように構成されてもよい。前記有効期限は、システム管理者により変更されてもよい。
【００３０】
ステップ３４０において、例示的なリクエストテーブル４００は、現在受信されているジョブのためのエントリーが既に存在するか否かを判断するためにチェックされる。例示的なリクエストテーブル４００が、現在のジョブのためのエントリーを既に有している場合は、その後、ステップ３４５において、現在のジョブに関連するエントリーが最も高い優先度を有するか否かチェックされる。
【００３１】
エントリーの優先度は、ステップ３４５において、リクエストテーブル４００のエントリーに関連するジョブ関連情報を用いて判断されてもよい。例えば、最も早く受信されたジョブが最も高い優先度を割り当てられても、すなわち早い者勝ちの原則で処理されてもよい。他の例としては、ジョブのサイズによって優先度が付けられてもよい。更に、ジョブのユーザ又は送信装置（クライアント）によって優先度が付けられてもよい。一部の実施形態では、リクエストテーブル４００のエントリーは、一以上の基準に従って分類されてから優先度を判断されてもよい。一部の実施形態では、ステップ３４５において、リクエストテーブルのエントリーの優先度が動的に算出されて、最も優先度の高いジョブが判断されてもよい。このように、各エントリーの優先度は、ステップ３４５の例示的な手続が呼び出されるごとに、定められた基準に基づいて算出されてもよい。一般に、ジョブに優先度を付けて、リクエストテーブル４００のエントリーに関連した優先度を判断するためには、種々のスキームが用いられる。ステップ３６５において、現在のジョブ（最も高い優先度を有すると判断されている）のためのエントリーは、リクエストテーブル４００から削除されてもよい。前記ジョブは、その後、ステップ３６０においてスプールされてもよい。
【００３２】
例示的なリクエストテーブル４００のチェック（ステップ３４０）により、現在受信されているジョブのためのエントリーがないとされた場合は、ステップ３２５において、リクエストテーブル４００にエントリーが追加されてもよい。ステップ３２５では、現在のジョブのためのエントリーが作成されてもよく、このエントリーにはジョブの識別子及びジョブに関連する他の詳細事項が含まれてもよい。次に、ステップ３２８において、「ビジー」信号が送信装置に送信され、現在はジョブを処理することができないことを示す。送信装置は、その後一回以上、印刷装置１６０にジョブを再送してもよい。ビジー信号は、送信装置及び印刷装置１６０の間で確立された適当なプロトコルを用いて、接続部１２０又はネットワーク１４０を介して送信されてもよい。
【００３３】
現在のジョブのエントリーの（ステップ３４５での）チェックにより、現在のジョブが最も高い優先度を有しないと判断された場合は、ステップ３５５において、そのジョブの有効期限がリセットされてもよい。ジョブが印刷装置１６０にスプールされることなく受信されるたびに、リクエストテーブル４００におけるジョブの有効期限がリセットされると、ジョブは保留のままとされる。ステップ３２８において、「ビジー」信号が送信装置に送信され、現在はジョブを処理することができないことを示す。新たなジョブが印刷装置１６０により受信されると、図３に示す処理が繰り返される。
【００３４】
本発明の実施形態に従った方法が、プログラムモジュール、ハードウェアモジュール又はプログラム及びハードウェアモジュールの組合せを用いて適宜実現されうることに留意されたい。このようなモジュールは、実施される際に、図示された例示的なフローチャートを参照して開示される工程及び特徴を含む、ここに記述する工程及び特徴を実行しうる。上述した及び添付の図面に図示された工程、段階及び手順は、当業者が本発明を実施することができるように十分に開示されている。更に、本発明の実施形態を実施するために用いられうる多くのコンピュータ、印刷装置及びオペレーティングシステムが存在することから、これらの多くの異なるコンピュータに適用することができる詳細なコンピュータプログラムを提供することはできなかった。特定のコンピュータの各ユーザには、ユーザのニーズ及び目的に最も有用な言語、ハードウェア及びツールがわかるだろう。
【００３５】
上述した本発明の特徴及び側面は、様々な環境で実施されうる。このような環境及び関連アプリケーションは、特に、本発明の各種の処理及び動作を実行するために構成されてもよく、又は、それらは汎用コンピュータ、若しくは適切な機能性を提供するプログラムコードにより選択的に作動又はリセットされたローカルコンピューティングプラットフォームを含む多機能印刷装置を含んでもよい。ここに開示される処理は、いかなる印刷装置、特定のコンピュータ又は他の装置に本質的に関連するものではなく、これらの処理の過程は、ハードウェア、ソフトウェア及び／又はファームウェアの適切な組合せにより実施されてもよい。例えば、各種の汎用機械が、本発明の教示に従って書かれたプログラムにより使用されてもよく、又は、必要な方法及び技術を実行するように特殊化された印刷装置又はシステムを再構成又は構成するのがより便宜だろう。
【００３６】
本発明の実施形態は、本発明の実施形態の方法及び処理に基づき、各種のコンピュータ実施動作を実行するためのプログラム命令又はプログラムコードを含む、コンピュータにより読み取り可能な媒体にも関連する。プログラム命令は、本発明の目的のために特別に設計及び構成されたものであってもよく、又は、コンピュータソフトウェアの分野の当業者に周知であって、入手可能なものであってもよい。プログラム命令の例は、例えば、コンパイラによって生成されるマシンコード及びコンピュータがインタープリターを用いて実行することができる高水準コードを含むファイルを含んでもよい。
【００３７】
本発明の他の実施形態は、明細書の考慮及びここに開示された発明の実施により当業者において明らかとなるであろう。明細書及び実施例は例示的なものにすぎず、本発明の真の範囲及び要旨は後述の特許請求の範囲により示される。発明自体は、以下の特許請求の範囲のみによって限定される。
【図面の簡単な説明】
【００３８】
【図１】図１は、例示的な印刷スケジューリングシステムのブロック図を示す。
【図２】図２は、プリントヘッダに含まれる例示的な標準的情報を示す。
【図３】図３は、例示的な印刷スケジューリング方法が記載されたフローチャートを示す。
【図４】図４は、印刷ジョブに対応するエントリーを備えた例示的なテーブルを示す。
【図１】
2008276757.tif 000003
【図２】
2008276757.tif 000004
【図３】
2008276757.tif 000005
【図４】
2008276757.tif 000006
【外国語明細書】
2008276757000001.pdf
2008276757000002.pdf
2008276757000003.pdf
2008276757000004.pdf