(57)【要約】【課題】  電子文書の印刷を最適化することである。【解決手段】  電子文書印刷の最適化方法である。該方法は、通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信する段階と、第１の印刷データの前記１つ以上の部分をラスタライズすることにより前記第１の印刷データの少なくとも１つの処理時間を決定する段階と、前記第１の印刷データの１つ以上の部分を処理する時間に基づき、前記第１の電子文書の処理時間を予測する段階と、１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置する段階と、前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直す段階とを有する。【選択図】      図１
2007193808.tif 000002
【特許請求の範囲】
【請求項１】
電子文書印刷の最適化方法であって、
通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信する段階と、
第１の印刷データの前記１つ以上の部分をラスタライズすることにより前記第１の印刷データの少なくとも１つの処理時間を決定する段階と、
前記第１の印刷データの１つ以上の部分を処理する時間に基づき、前記第１の電子文書の処理時間を予測する段階と、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置する段階と、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直す段階とを有する方法。
【請求項２】
電子文書印刷の最適化方法であって、
通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信する段階と、
前記第１の電子文書の処理時間を予測する段階と、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置する段階と、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直す段階とを有する方法。
【請求項３】
前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直す段階は、前記第１の印刷データが前記処理キュー中にあった時間の長さと前記１つ以上の追加的印刷データが前記処理キュー中にあった時間の長さに基づき、前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直す段階をさらに有する、請求項２に記載の方法。
【請求項４】
前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直す段階は、前記処理キュー中の前記第１の印刷データと前記１つ以上の印刷データのうち少なくとも１つの印刷データの指定された優先度に基づき、前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直す段階をさらに有する、請求項２に記載の方法。
【請求項５】
前記通信ネットワークを介して、前記第１のデータを受信したクライアント装置から、前記指定された優先度を示すデータを受信する段階をさらに有する、請求項４に記載の方法。
【請求項６】
前記指定された優先度を示すデータは、前記クライアント装置において少なくとも前記印刷データの優先度をユーザが要求したことに応答して、前記通信ネットワークを介して、前記クライアント装置から送信される、請求項５に記載の方法。
【請求項７】
前記電子文書の予測処理時間を示すデータをクライアント装置に提供する段階をさらに有する、請求項２に記載の方法。
【請求項８】
前記処理キュー中の前記第１の印刷データの位置と前記第１の電子文書の予測処理時間とを示すデータをクライアント装置に提供する段階をさらに有する、請求項２に記載の方法。
【請求項９】
請求項２に記載の方法であって、前記第１の電子文書の処理時間を予測する段階は、
前記第１の印刷データの１つ以上の部分を処理する時間を決定する段階と、
前記第１の印刷データの前記１つ以上の部分の処理時間に基づき、前記第１の電子文書を表す前記第１の印刷データの全ての部分の予測処理時間を計算する段階とを有する方法。
【請求項１０】
前記処理キューから印刷データを選択する段階と、前記選択された印刷データを印刷プロセスにより処理させる段階とを有する、請求項２に記載の方法。
【請求項１１】
前記処理キューから印刷データを選択する段階は、前記処理キュー中の前記印刷データの順序に基づき前記処理キューから印刷データを選択する段階を含む、請求項１０に記載の方法。
【請求項１２】
電子文書印刷の最適化方法であって、
通信ネットワークを介して、クライアント装置から第１の電子文書の少なくとも一部を表す印刷データを受信する段階と、
前記印刷データの処理時間を予測する段階と、
前記電子文書の予測処理時間を示すデータを前記クライアントに提供する段階とを有する方法。
【請求項１３】
請求項１２に記載の方法であって、前記印刷データの処理時間を予測する段階は、
前記印刷データの１つ以上の部分の処理時間を決定する段階と、
前記印刷データの１つ以上の部分の処理時間に基づき、前記第１の電子文書を表す前記印刷データの全ての部分の予測処理時間を計算する段階とを有する方法。
【請求項１４】
前記印刷データの１つ以上の部分の処理時間を決定する段階は、前記印刷データの前記１つ以上の部分をラスタライズする段階を有する、請求項１３に記載の方法。
【請求項１５】
請求項１２に記載の方法であって、さらに、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記印刷データを配置する段階と、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づいて前記処理キューを並べ直す段階とをさらに有する方法。
【請求項１６】
前記処理キュー中の前記第１の印刷データの位置を示すデータをクライアント装置に提供する段階をさらに有する、請求項１５に記載の方法。
【請求項１７】
請求項１２に記載の方法であって、さらに、
前記処理キュー中前記印刷データの順序に基づき前記処理キューから印刷データを選択する段階と、
前記印刷プロセスにより前記選択した印刷データを処理させる段階とを有する方法。
【請求項１８】
印刷データを処理して電子文書の印刷バージョンを生成させるように構成された印刷プロセスを有する印刷装置であって、
通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信し、
第１の印刷データの前記１つ以上の部分をラスタライズすることにより前記第１の印刷データの少なくとも１つの処理時間を決定し、
前記第１の印刷データの１つ以上の部分を処理する時間に基づき、前記第１の電子文書の処理時間を予測し、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置し、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直すように構成されている印刷装置。
【請求項１９】
印刷データを処理して電子文書の印刷バージョンを生成させるように構成された印刷プロセスを有する印刷装置であって、
通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信し、
前記第１の電子文書の処理時間を予測し、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置し、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直すように構成されている印刷装置。
【請求項２０】
前記第１の印刷データが前記処理キュー中にあった時間の長さと前記１つ以上の追加的印刷データが前記処理キュー中にあった時間の長さに基づき、前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直すようにさらに構成された、請求項１９に記載の印刷装置。
【請求項２１】
前記処理キュー中の前記第１の印刷データと前記１つ以上の印刷データのうち少なくとも１つの印刷データの指定された優先度に基づき、前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直すようにさらに構成された、請求項１９に記載の印刷装置。
【請求項２２】
前記通信ネットワークを介して、前記第１のデータを受信したクライアント装置から、前記指定された優先度を示すデータを受信するようにさらに構成されている、請求項２１に記載の印刷装置。
【請求項２３】
前記指定された優先度を示すデータは、前記クライアント装置において少なくとも前記印刷データの優先度をユーザが要求したことに応答して、前記通信ネットワークを介して、前記クライアント装置から送信される、請求項２２に記載の印刷装置。
【請求項２４】
前記第１の電子文書の予測処理時間を示すデータをクライアント装置に提供するようにさらに構成されている、請求項１９に記載の印刷装置。
【請求項２５】
前記処理キュー中の前記第１の印刷データの位置と前記第１の電子文書の予測処理時間とを示すデータをクライアント装置に提供するようにさらに構成されている、請求項１９に記載の印刷装置。
【請求項２６】
請求項１９に記載の印刷装置であって、
前記第１の印刷データの１つ以上の部分を処理する時間を決定し、
前記第１の印刷データの前記１つ以上の部分の処理時間に基づき、前記第１の電子文書を表す前記第１の印刷データの全ての部分の予測処理時間を計算することにより、前記第１の印刷データの予測処理時間を決定するようにさらに構成されている印刷装置。
【請求項２７】
前記処理キューから印刷データを選択し、前記選択された印刷データを印刷プロセスにより処理させるようにさらに構成されている、請求項１９に記載の印刷装置。
【請求項２８】
前記処理キュー中の前記印刷データの順序に基づき、前記処理キューから印刷データを選択する、請求項２７に記載の印刷装置。
【請求項２９】
印刷データを処理して電子文書の印刷バージョンを生成させるように構成された印刷プロセスを有する印刷装置であって、
通信ネットワークを介して、クライアント装置から第１の電子文書の少なくとも一部を表す印刷データを受信し、
前記第１の電子文書の処理時間を予測し、
前記電子文書の予測処理時間を示すデータを前記クライアントに提供する印刷装置。
【請求項３０】
請求項２９に記載の印刷装置であって、
前記第１の印刷データの１つ以上の部分の処理時間を決定する段階と、
前記第１の印刷データの前記１つ以上の部分の処理時間に基づき、前記第１の電子文書を表す前記第１の印刷データの全ての部分の予測処理時間を計算することにより、前記第１の印刷データの予測処理時間を決定するようにさらに構成されている印刷装置。
【請求項３１】
前記第１の印刷データの１つ以上の部分の処理時間の決定は、前記電子文書を表す前記第１の印刷データの前記１つ以上の部分のラスタライズを含む、請求項３０に記載の印刷装置。
【請求項３２】
請求項２９に記載の印刷装置であって、さらに、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューを有し、
前記印刷装置は、
前記第１の印刷データを前記処理キューに配置し、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づいて前記処理キューを並べ直すようにさらに構成されている、印刷装置。
【請求項３３】
前記処理キュー中の前記第１の印刷データの位置を示すデータをクライアント装置に提供するようにさらに構成されている、請求項３２に記載の印刷装置。
【請求項３４】
請求項２９に記載の印刷装置であって、
前記処理キュー中前記印刷データの順序に基づき前記処理キューから印刷データを選択し、
前記印刷プロセスにより前記選択した印刷データを処理させるようにさらに構成されている印刷装置。
【請求項３５】
電子文書の印刷を最適化するためのコンピュータ読み取り可能媒体であって、１つ以上のプロセッサにより処理された時、
通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信させ、
第１の印刷データの前記１つ以上の部分をラスタライズすることにより前記第１の印刷データの少なくとも１つの処理時間を決定させ、
前記第１の印刷データの１つ以上の部分を処理する時間に基づき、前記第１の電子文書の処理時間を予測させ、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置させ、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直させる命令を担った媒体。
【請求項３６】
電子文書の印刷を最適化するためのコンピュータ読み取り可能媒体であって、１つ以上のプロセッサにより処理された時、
通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信させ、
前記第１の電子文書の処理時間を予測させ、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置させ、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直させる命令を担った媒体。
【請求項３７】
請求項３６に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記第１の印刷データが前記処理キュー中にあった時間の長さと前記１つ以上の追加的印刷データが前記処理キュー中にあった時間の長さに基づき、前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直させる追加的命令をさらに有する媒体。
【請求項３８】
請求項３６に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記処理キュー中の前記第１の印刷データと前記１つ以上の印刷データのうち少なくとも１つの印刷データの指定された優先度に基づき、前記処理キュー中の前記第１の印刷データと前記１つ以上の追加的印刷データを並べ直させる追加的命令をさらに有する媒体。
【請求項３９】
請求項３８に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記通信ネットワークを介して、前記第１のデータを受信したクライアント装置から、前記指定された優先度を示すデータを受信させる追加的命令をさらに有する媒体。
【請求項４０】
前記指定された優先度を示すデータは、前記クライアント装置において少なくとも前記印刷データの優先度をユーザが要求したことに応答して、前記通信ネットワークを介して、前記クライアント装置から送信される、請求項３９に記載のコンピュータ読み取り可能媒体。
【請求項４１】
請求項３６に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記電子文書の予測処理時間を示すデータを前記クライアントに提供させる追加的命令をさらに有する媒体。
【請求項４２】
請求項３６に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記処理キュー中の前記第１の印刷データの位置と前記第１の電子文書の予測処理時間とを示すデータをクライアント装置に提供させる追加的命令をさらに有する媒体。
【請求項４３】
請求項３６に記載のコンピュータ読み出し可能媒体であって、前記印刷データの処理時間の予測は、
前記第１の印刷データの１つ以上の部分を処理する時間の決定と、
前記第１の印刷データの前記１つ以上の部分の処理時間に基づき、前記第１の電子文書を表す前記第１の印刷データの全ての部分の予測処理時間を計算することにより、前記第１の印刷データの予測処理時間の決定を含む媒体。
【請求項４４】
請求項３６に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記処理キューから印刷データを選択させ、前記選択された印刷データを印刷プロセスにより処理させる追加的命令をさらに有する媒体。
【請求項４５】
請求項４４に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記処理キュー中前記印刷データの順序に基づき前記処理キューから印刷データを選択させる追加的命令をさらに有する媒体。
【請求項４６】
電子文書の印刷を最適化するためのコンピュータ読み取り可能媒体であって、１つ以上のプロセッサにより処理された時、
通信ネットワークを介して、クライアント装置から第１の電子文書の少なくとも一部を表す印刷データを受信させ、
前記第１の電子文書の処理時間を予測させ、
前記電子文書の予測処理時間を示すデータを前記クライアントに提供させる命令を担う媒体。
【請求項４７】
請求項４６に記載のコンピュータ読み出し可能媒体であって、前記印刷データの処理時間の予測は、
前記第１の印刷データの１つ以上の部分の処理時間の決定と、
前記第１の印刷データの前記１つ以上の部分の処理時間に基づき、前記第１の電子文書を表す前記第１の印刷データの全ての部分の予測処理時間を計算することにより、前記第１の印刷データの予測処理時間の決定とを含む印刷装置。
【請求項４８】
前記第１の印刷データの１つ以上の部分の処理時間の決定は、前記第１の印刷データの前記１つ以上の部分のラスタライズを有する、請求項４７に記載の媒体。
【請求項４９】
請求項４８に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キューに前記第１の印刷データを配置させ、
前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づいて前記処理キューを並べ直させる追加的命令をさらに有する媒体。
【請求項５０】
請求項４９に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記処理キュー中の前記第１の印刷データの位置を示すデータをクライアント装置に提供させる追加的命令をさらに有する媒体。
【請求項５１】
請求項４６に記載のコンピュータ読み取り可能媒体であって、前記１つ以上のプロセッサにより処理されると、
前記処理キュー中前記印刷データの順序に基づき前記処理キューから印刷データを選択させ、
前記印刷プロセスにより前記選択した印刷データを処理させる追加的命令をさらに有する媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷装置に関し、特に電子文書の最適化印刷方法に関する。
【背景技術】
【０００２】
このセクションで説明するアプローチは、達成しようとすることができるものであるが、必ずしも以前に思いついたものや達成しようと試みたものではない。それゆえ、特に注意しない限り、このセクションに記載したアプローチはいずれもこのセクションに記載したことをもって先行技術であると考えるべきではない。
【０００３】
電子文書を印刷するユーザは、印刷プロセスの状態を確認できることを望んでいる。印刷技術の普及に伴い、ユーザは、電子文書がプリンタに受信されたことを確認することができる。例えば、オペレーティングシステム（ＯＳ）の印刷システムは、印刷ジョブを処理する時にページ数とファイルサイズを検出する機能を有し、この情報をユーザにレポートできる。しかし、電子文書のサイズや印刷ページ数は、その文書の印刷にどのくらい時間がかかるかを示す正確な指標ではない。例えば、テキスト文書の場合、比較的サイズが大きくページ数が多い文書でも非常に早く処理される。一方、画像やマルチカラー文書の場合、サイズが比較的小さくページ数が少ない文書でも印刷には非常に長い時間がかかることがある。残念ながら、印刷装置は、電子文書の印刷にどのくらい時間がかかるかを正確にレポートする機能を、現在のところ有していない。
【０００４】
さらに、多くの場合、複数のユーザが印刷装置に複数の文書を送るが、その文書はテキストのみのものもあれば、大きな画像の場合もある。入来する文書を整理するため、通常、印刷装置はＦＩＦＯ（first-in-first-out）で順序づけされる印刷キューを有する。すなわち、印刷文書は受信された順序で印刷または処理をされる。こうしたシナリオでは、ユーザは、１ページのテキスト文書を送った場合でも、その前に送られたすべての文書が印刷されるまで待たなければならない。場合によっては、キュー内の他のすべての文書の処理時間が長いため、１ページを印刷するだけでも、待ち時間が思いもよらず長いことがある。
【０００５】
この問題を解決する方法の１つは、ユーザに印刷キュー内の優先度を管理させることである。そうすれば、ユーザはキュー内の文書のジョブ優先度を変更できる。しかし、この方法の欠点は、各ユーザがジョブの優先度を手作業で設定しなければならないことである。さらに、すべてのユーザが文書の優先度を設定すると、上記の問題は解決できない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上から、電子文書の印刷を最適化する必要がある。
【課題を解決するための手段】
【０００７】
電子文書の最適化印刷をする方法を提供する。本方法は、様々な場合や実施形態に適用可能であり、電子文書の処理時間の予測とクライアント装置への予測処理時間のレポートを含む。印刷データの処理時間の予測には、その印刷データの少なくとも一部の処理が含まれる。さらに、本方法では、処理キュー内の印刷データの予測処理時間に基づき、また処理キュー内の各印刷データのイン・キュー時間に基づき、その処理キュー内の印刷データを並べ直す。さらに、ユーザが指示した優先度は、処理キュー内の印刷データの並べ直しに織り込まれるか、あるいは最適化プロセス全体をバイパスしてもよい。ここに説明する方法は、印刷装置、印刷サーバ、クライアント装置等、この方法を利用できる装置で実施することができる。
【０００８】
本発明の一態様によると、印刷装置は、印刷データを処理し電子文書の印刷バージョンを生成させるように構成された印刷プロセスを含む。本印刷装置は、通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信するようにも構成されている。本印刷装置は、さらに、第１の電子文書の予測処理時間を求め、１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キュー中に前記第１の印刷データを配置するように構成されている。本印刷装置は、さらに、前記第１の電子文書の予測処理時間と前記１つ以上の追加的電子文書の１つ以上の予測処理時間とに基づき、前記処理キュー中の前記印刷データと前記１つ以上の追加的印刷データを並べ直すように構成されている。
【０００９】
本発明の他の態様によると、印刷装置は、印刷データを処理し電子文書の印刷バージョンを生成させるように構成された印刷プロセスを含む。本印刷装置は、通信ネットワークを介して、第１の電子文書の少なくとも一部を表す第１の印刷データを受信するようにも構成されている。本印刷装置は、さらに、第１の印刷データの１つ以上の部分をラスタライズすることにより、及び第１の印刷データの１つ以上の部分を処理する時間に基づき、第１の印刷データの１つ以上の部分を処理する時間を決定し、第１の電子文書の予測処理時間を求めるように構成されている。本印刷装置は、さらに、１つ以上の追加的電子文書を表す１つ以上の追加的印刷データを有する処理キュー中に第１の印刷データを配置し、第１の電子文書の予測処理時間と１つ以上の追加的電子文書の１つ以上の予測処理時間に基づき、処理キュー中の第１の印刷データと１つ以上の追加的印刷データを並べ直すように構成されている。
【００１０】
本発明の他の態様によると、印刷装置は、印刷データを処理し電子文書の印刷バージョンを生成させるように構成された印刷プロセスを含む。本印刷装置は、また、通信ネットワークを介してクライアント装置から処理する第１の電子文書を表す印刷データを受信し、第１の電子文書の予測処理時間を求め、第１の電子文書の予測処理時間を示すデータをクライアント装置に提供するように構成されている。
【００１１】
他の態様では、本発明は、上記のステップを実行するように構成されたコンピュータ実施の方法及びコンピュータ読み取り可能媒体を含む。
【発明の効果】
【００１２】
以上から、電子文書の印刷を最適化することができる。
【発明を実施するための最良の形態】
【００１３】
本発明は、添付した図面において実施例によって示すが、本発明を限定するものではない。同じ参照数字は同じ要素を示す。
【００１４】
以下の詳細な説明では、説明を目的として、本発明を完全に理解してもらうために、具体的な詳細事項を開示した実施形態例を記載する。しかし、言うまでもなく、本発明はこれらの詳細がなくても実施することができる。他の場合では、ブロック図に周知の構造とデバイスを示すが、これは本発発明が不明瞭になることを避けるためである。本発明の様々な態様を以下次のセクションで説明する。
I.  概要
II.  構成の概要
III.  電子文書の処理時間の予測
IV.  処理キュー内の印刷データの並べ直し
Ａ．予測処理時間に基づく並べ直し
Ｂ．イン・キュー時間と予測処理時間に基づく並べ直し
Ｃ．印刷データのイン・キュー時間、予測処理時間、及び指定優先度に基づく並べ直し
V.  実施メカニズム
Ｉ．概要
電子文書の最適化印刷をする方法を提供する。本方法は、様々な場合や実施形態に適用可能であり、電子文書の処理時間の予測とクライアント装置への予測処理時間のレポートを含む。電子文書の処理時間を予測するため、電子文書を表す印刷データの少なくとも一部を処理することもある。さらに、本方法では、処理キュー内の印刷データにより表された電子文書の予測処理時間に基づき、また処理キュー内の各印刷データのイン・キュー時間に基づき処理キュー内の印刷データを並べ直す。さらに、ユーザが指示した優先度は、処理キュー内の印刷データの並べ直しに織り込まれるか、あるいは最適化プロセス全体をバイパスしてもよい。ここに説明する方法は、印刷装置、印刷サーバ、クライアント装置等、この方法を利用できる装置で実施することができる。
【００１５】
ＩＩ．構成の概要
図１には、一実施形態による、電子文書の最適化印刷を提供するシステムが示されている。本システムは、クライアント装置１０１と印刷装置１１０とを含み、これらはネットワーク１０５に通信可能に結合している。ネットワーク１０５は、クライアント装置１０１と印刷装置１１０との間のデータの交換を提供する任意の媒体またはメカニズムにより実現される。ネットワーク１０５の例としては、これに限定されないが、ネットワークであるローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イーサネット（登録商標）、インターネット等や、地上波リンク、衛星波リンク、または無線リンク等が含まれる。代替的または追加的に、クライアント装置１０１と印刷装置１１０は通信リンクを介して直接接続されていてもよい。一実施形態によると、クライアント装置１０１は電子文書の処理を要求する任意の装置であり、パーソナルコンピュータ（ＰＣ）やハンドヘルド装置等である。印刷装置１１０は、一般的にはラスタライズモジュール１１２等の複数の構成要素から構成され、印刷データの少なくとも一部を受信し処理し、電子文書またはその部分を処理する時間を判断する。さらに、印刷装置１１０は処理キュー１１４を有し、クライアント装置１０１から受信した任意の印刷データの処理を管理する。キュー管理部１１６は、処理キュー１１４中のデータをモニターし、並べ直しするように構成されている。このように、キュー管理部１１６は、印刷データを処理する順序を変更し、電子文書の最適化印刷を可能とすることができる。また、印刷装置１１０は、タイミングメカニズム１１８を有し、電子文書の処理の際にカウンターとして時間または動作の経過を追跡する。印刷装置１１０は予測ロジック１２０も有する。この予測ロジック１２０は、電子文書を表す印刷データをすべて処理するのにかかる時間の長さを予測する機能を有する。
【００１６】
他の実施形態では、ラスタライズモジュール１１２、処理キュー１１４、キュー管理部１１６、タイミングメカニズム１１８、及び予測ロジック１２０のいずれかは別の場所にあってもよく、複数の装置上にあってもよい。このように、印刷装置１１０は、クライアント装置１０１から印刷データを受信して、ネットワーク１０５上にある離れたラスタライズモジュールに命令して印刷データの部分を処理する時間を判断してもよい。ラスタライズモジュールは、例えば、ネットワーク１０５を介してアクセスするウェブサービスの一部であってもよい。ウェブサービスは印刷装置１１０に課されたいかなるメモリ制約にも制約されない。印刷装置１１０は、外部リソースを借りて印刷データを処理してもよい。このように、リソースは印刷装置１１０に設けられている必要はなく、説明する最適化プロセスは、ネットワークや通信リンクを介して任意数の要素により実行されてもよい。
【００１７】
一実施形態では、クライアント装置１０１は、印刷データを印刷装置１１０に送信し、その印刷データが表す電子文書を印刷させる。一実施形態では、印刷装置１１０は、印刷データを受信し、電子文書を印刷して印刷装置１１０の出力トレーに出力する。あるいは、印刷装置１１０は、他の任意のやり方で電子文書を印刷することができる。例えば、これらに限定されるわけではないが、他の印刷装置に印刷データを送信して印刷させたり、電話回線を介してファクシミリ装置に印刷データを送信してそのファクシミリ装置に印刷させたりすることができる。
【００１８】
図２には、一実施形態による、電子文書の最適化印刷を提供する第２のシステムが示されている。本システムは、クライアント装置２０２、２０４と、印刷装置２２２、２２４及び２２６と、印刷サーバ２１０とを含む。これらの構成要素は互いに通信できるようにネットワーク２０５に結合されている。ネットワーク２０５は、クライアント装置２０２−２０４と印刷サーバ２１０と印刷装置２２２−２２６との間のデータの交換を提供する任意の媒体またはメカニズムにより実現される。ネットワーク２０５の例としては、これに限定されないが、ネットワークであるローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イーサネット（登録商標）、インターネット等や、地上波リンク、衛星波リンク、または無線リンク等が含まれる。他の実施形態では、クライアント装置２０２と２０４が印刷サーバ２１０に通信リンクを介して直接接続され、さらに印刷サーバ２１０が適当な通信チャネルを用いて印刷装置２２２と２２４に直接接続されていてもよい。
【００１９】
一実施形態では、印刷サーバ２１０は、印刷装置１１０と同様に、ラスタライズモジュール２１２、処理キュー２１４、ロードバランスモジュール２１６、タイミングメカニズム２１８、及び予測ロジック２２０を有する。ラスタライズモジュール２１２は、印刷装置１１０に関して説明したラスタライズモジュールと同一であってもよい。また、一実施形態では、処理キュー２１４は印刷装置１１０の処理キューと同一であってもよい。しかし、他の実施形態では、印刷サーバ２１０は任意数の印刷装置の複数の処理キューを扱うように構成されていてもよい。さらに、一実施形態では、タイミングメカニズム２１８と予測ロジック２２０は、タイミングメカニズム１１８と予測ロジック１２０と同一であってもよい。また、他の実施形態では、タイミングメカニズム２１８と予測ロジック２２０は、ネットワーク２０５を介して複数のクライアント装置２０２−２０４からの複数の電子文書を同時に処理するタイミングと予測を取り扱うように構成されていてもよい。
【００２０】
さらに、一実施形態では、ロードバランスモジュール２１６は、キュー管理部１１６の機能（例えば、処理キュー２１４の並べ直しと監視）を実行する複数の構成要素を有する。他の実施形態では、負荷バランスモジュール２１６は、追加的に、印刷装置２２２、２２４と通信し、印刷装置２２２、２２４を選択し、印刷装置２２２、２２４の間の印刷負荷をバランスさせる複数の構成要素を有していてもよい。例えば、印刷装置２２２はカラープリンタであり、印刷装置２２４は白黒プリンタであってもよい。さらに、印刷装置２２６は高解像度グラフィックス用の印刷装置であってもよい。一実施形態では、負荷バランスモジュール２１６は、印刷装置２２２−２２６間で、受信した印刷データの負荷をバランスするように機能する。さらに、負荷バランスモジュール２１６は、印刷する電子文書のタイプに基づき、印刷データをプリンタに割り当てる機能を有していてもよい。このように、暗い案装置２０２が高解像度グラフィック文書を表す印刷データを送信すると、負荷バランスモジュール２１６が、その印刷データが印刷装置２２６に確実に送られるようにする。このように、印刷サーバ２１０は、各電子文書の予測された処理時間に基づき、いくつかの印刷装置の間で印刷データを最適に割り当てる能力を有する。よって、キュー管理部１１６とはことなり、負荷バランスモジュール２１６は、印刷データにより表された電子文書の予測処理時間に基づき処理キュー２１４中の印刷データを並べ直す（re-order）だけではなく、各印刷装置２２２−２２６のリソースと互換性に従って印刷データを割り当てる。
【００２１】
ラスタライズモジュール１１２、２１２と、プロセスキュー１１４、２１４と、タイミングメカニズム１１８、２１８と、予測ロジック１２０、２２０と、キュー管理部１１６と、負荷バランスモジュール２１６とを、印刷装置１１０と印刷サーバ２１０の場合にそれぞれ説明した。これらのモジュールは、それぞれのモジュールに関連する機能を実行する他の任意の装置に配置されていてもよい。さらに、別の実施形態では、ラスタライズモジュール、負荷バランスモジュール、及び処理キューは別々の装置に配置されてもよい。このように、例えば、ラスタライズモジュール２１２は、ウェブサービスを用いて印刷装置２２２によりアクセスされてもよい。ウェブサービスが電子文書の印刷の最適化に必要な任意のモジュールを提供する。この実施形態では、印刷装置１１０が印刷データを受信するとき、印刷装置はウェブサービスにコンタクトしてその印刷データの印刷を最適化してもよい。また、各クライアント装置２０２、２０４は、上に説明したモジュールをホストして、印刷の最適化を実行してから、印刷データを印刷サーバ２１０または印刷装置１１０に送信してもよい。それゆえ、電子文書の印刷の最適化プロセスは、例えば、クライアント装置２０２、２０４、印刷サーバ２１０、印刷装置２２２−２２６、または上で説明したプロセスを実行する能力を有する他の任意の装置を含む任意数の装置で実行することができる。さらに、印刷装置１１０と印刷サーバ２１０を特定の構成要素を参照して説明したが、説明したプロセスは本発明を実行できる任意数の構成要素により実行してもよい。
【００２２】
ＩＩＩ．電子文書の処理時間の予測
クライアント装置１０１のユーザは、電子文書の印刷を望む時、その電子文書を選択し、クライアント装置１０１にその電子文書を表す印刷データを印刷装置１１０または印刷サーバ２１０に送信させる。一実施形態では、印刷装置１１０または印刷サーバ２１０のいずれかは、クライアント装置から電子文書を表す印刷データを受信すると、その電子文書の予測処理時間を決定する。一実施形態では、電子文書の予測処理時間を決定するため、印刷装置１１０または印刷サーバ２１０は、その電子文書を表す印刷データの１つ以上の部分の処理時間を決定する。
【００２３】
電子文書の実際の処理時間は、通常、電子文書の印刷要求が受信された時間からその電子文書の印刷バージョンができて印刷装置のトレーに出力されるまでの、電子文書の印刷にかかる時間として定義される。一般的には、処理時間の大部分は印刷データのラスタライズ（rasterization）に費やされる。ラスタライズは、２次元画像がベクトル・ベース・フォーマットから印刷装置（例えば、印刷装置１１０等）に出力するピクセルまたはドットに変換されるプロセスである。このように、電子文書の処理時間を正しく予測するために、電子文書を表す印刷データのラスタライズ（rasterization）を考慮する。
【００２４】
一実施形態では、印刷装置１１０と印刷サーバ２１０は、それぞれ、印刷するために印刷データを処理するラスタライズモジュール１１２と２１２を有する。印刷装置１１０と印刷サーバ２１０のラスタライズモジュール１１２と２１２は、電子文書全体の処理時間を予測するため、印刷データの１つ以上の部分を処理するように構成されている。このように、印刷データ全体を処理して時間を費やすより、印刷装置１１０と印刷サーバ２１０のラスタライズモジュール１１２と２１２は、予測ロジック１２０または２２０に電子文書の処理時間を予測する十分な情報を提供する軽い処理を実行するように構成されてもよい。このように、一実施形態では、ラスタライズモジュール１１２または２１２は、印刷データをクライアント装置１０１から受信すると、印刷データの少なくとも一部をラスタライズしてその印刷データのその部分の処理を開始する。他の実施形態では、印刷データの一部を処理する他の方法を使用して、印刷データ全体の処理時間を予測してもよいことに留意すべきである。
【００２５】
図３を参照して、一実施形態では、印刷データ３００は部分Ａ、Ｂ、Ｃ及びＤで表される。ラスタライズモジュール１１２または２１２が印刷データ３００の１つ以上の部分Ａ−Ｄの処理を開始すると、タイミングメカニズム１１８または２１８がその印刷データのその１つ以上の部分を処理するのにどのくらい時間がかかるか、経過を追跡（track）する。印刷データの一部が処理されると、予測ロジック１２０または２２０は、タイミングメカニズム１１８または２１８とラスタライズモジュール１１２または２１２からの情報を用いて、電子文書を表す印刷データ全部を処理するのにかかる時間の長さを予測する。例えば、一実施形態では、ラスタライズモジュール１１２または２１２は、クライアント装置１０１から印刷データ３００を受信すると、部分Ａのみを処理してもよい。あるいは、ラスタライズモジュール１１２または２１２は、部分ＢとＤを処理してもよい。さらに、ラスタライズモジュール１１２または２１２は、部分の任意の組み合わせを処理するように構成されていてもよい。
【００２６】
一実施形態では、ラスタライズモジュール１１２または２１２は、クライアント装置１０１から印刷データ３００に関する情報を受信することにより、印刷データ３００の部分の任意の組み合わせを処理するように構成されている。例えば、クライアント装置１０１は、部分Ａにはテキストが多く部分Ｄは高解像度のグラフィックスを含んでいるとの情報を提供することもできる。さらに、他の実施形態では、印刷データ３００のどの部分を処理するかに関する決定は、予測ロジック１２０または２２０によりなされてもよい。予測ロジック１２０または２２０は、ラスタライズモジュールに印刷データ３００の部分を処理するように要求することもできる。また、ラスタライズモジュール１１２または２１２は、印刷データ３００の部分をランダムに処理してもよい。ラスタライズモジュール１１２または２１２は、許容できる任意の方法と任意の構成要素を用いて、印刷データ３００の部分の任意の組み合わせを処理するように構成されていてもよい。
【００２７】
例えば、ラスタライズモジュール１１２または２１２が任意の部分Ａ−Ｄを処理している時、タイミングメカニズム１１８または２１８は、ラスタライズモジュールがその部分を処理するのにどのくらい時間がかかるかの経過を追跡する。一実施形態では、ラスタライズモジュール１１２または２１２は、部分Ａの処理をいつ始めていつ終えたかを、タイミングメカニズム１１８または２１８に通知する。一実施形態では、カウンターメカニズムを用いて、タイミングメカニズム１１８または２１８は、ラスタライズモジュール１１２または２１２が部分Ａの処理を完了するのにどのくらい時間がかかるかの経緯を追跡することができる。タイミングメカニズム１１８または２１８が１つ以上の部分の処理時間を追跡した後、予測ロジック１２０または２２０は、印刷データ３００の全ての部分の処理時間の予測を開始することができる。
【００２８】
例えば、タイミングメカニズム１１８または２１８が、部分Ａを処理するのに３秒かかると判断するとする。予測ロジック１２０または２２０は、部分Ａの処理時間である３秒に印刷データ３００の部分の全数を単にかけて、すべての部分Ａ−Ｄの処理時間を予測する。この実施形態では、印刷データ３００の予測処理時間は、１２秒である。ここでは、印刷データ３００の各部分の処理にはほぼ等しい時間が必要であると仮定している。場合によっては、この仮定は正しくない。例えば、印刷データ３００の部分に含まれるデータの量またはタイプは異なり、ラスタライズにかかる時間の長さが異なるかも知れない。それ故、一実施形態では、印刷データ３００の１つ以上の部分の処理に必要な時間の長さと、印刷データ３００のこれらの部分のその他の部分に対するサイズと組成に基づき、様々な経験則を用いて印刷データ３００全体の処理時間の長さを予測する。
【００２９】
場合によっては、ラスタライズモジュール１１２または２１２は、印刷データ３００のすべてを処理するのにかかる時間の長さを正しく予測するために、２つ以上の部分を処理する。このように、ラスタライズモジュール１１２または２１２は、印刷データの任意数の部分を処理するように構成されてもよい。一般的に、ラスタライズモジュール１１２または２１２により処理される部分が多くなればなるほど、予測は正確になり、処理部分が少なくなれば予測は不正確になる。例えば、印刷データ３００の部分Ａがテキストを含み、部分Ｂ−Ｄがラスタライズに時間がかかる高解像度画像を含むと仮定する。ラスタライズモジュール１１２または２１２が部分Ａのみを処理してＡ−Ｄの処理時間を予測すると、高品質画像の処理には長時間かかることを考えると、印刷データ全体の予測処理時間は正確ではないであろう。しかし、例えば、ラスタライズモジュール１１２または２１２が部分ＡとＤを処理すると、予測処理時間はより正確になるであろう。あるいは、印刷データの処理時間の予測には、複数の要因が係わる。その要因には、印刷データの一部を処理またはラスタライズするオーバーヘッド時間、印刷装置における遅延またはエラー、印刷装置の機械的スピード、及び電子文書の処理時間に影響するだろうその他の要因等が含まれるが、これに限定はされない。
【００３０】
この精度を与えることにより、予測ロジック１２０または２２０が印刷データ３００のすべてを処理する時間をより正確に予測するように、ラスタライズモジュール１１２または２１２を構成してもよい。さらに、上に示したように、印刷データ３００のどの部分を処理するかの決定は、ラスタライズモジュール１１２または２１２を設定して印刷データ３００の１つ以上の部分を処理させることができる任意の構成要素によりなされてもよい。あるいは、他の実施形態では、ラスタライズモジュール自体が、印刷データ３００のどの部分を処理するか決定できてもよい。
【００３１】
他の実施形態では、電子文書全体を表す印刷データの処理時間を一旦予測すると、電子文書の処理を要求したクライアント装置にその予測時間をレポートする。よって、クライアント装置１０１が印刷装置１１０に印刷データを送信すると、印刷装置１１０は、その電子文書の予測処理時間を判断すると、クライアント装置１０１にその予測処理時間を通知する。一実施形態では、電子文書の予測処理時間を表す情報がユーザのためにクライアント装置のユーザインターフェイス上に表示される。
【００３２】
また、最適化プロセスにわたって、印刷装置１１０は、クライアント装置１０１に電子文書の予測処理時間をレポートし続けることもできる。これは、例えば、印刷装置の故障や優先度が高い別の印刷データが入ったことにより、元の予測処理時間がもはや正確でなくなった場合等に有用である。上記の機能は印刷装置１１０に関して説明したが、同じことは印刷サーバ２１０や上記機能を実行できるその他の任意の装置やメカニズムにも言える。
【００３３】
ＩＶ．処理キュー内の印刷データの並べ直し
図４Ａを参照して、一実施形態では、電子文書を表す印刷データをクライアント装置１０１、２０２、または２０４等のクライアント装置から受信すると、その印刷データはラスタライズモジュール１１２または２１２により処理される。印刷データを受信した印刷装置１１０または印刷サーバ２１０は、上に説明したプロセスにより電子文書の予測処理時間を求める。電子文書の予測処理時間を求めると、電子文書の印刷最適化が可能である。一実施形態では、印刷装置１１０と印刷サーバ２１０の両方がそれぞれ処理キュー１１４と２１４を含む。印刷データは一旦受信されると、処理キューの「末尾」に置かれる。処理キューの「先頭」は処理キューに入った最初の印刷データを表す。このように、ファーストイン・ファーストアウト（first-in first-out）で、処理キューの先頭にある任意の印刷データが印刷装置１１０により次に印刷されるか、印刷サーバ２１０により他の印刷装置に送信される。一方、処理キューの末尾にある任意の印刷データは最後に処理される。
【００３４】
Ａ．予測処理時間に基づく並べ直し
一実施形態では、電子文書の予測処理時間を用いて処理キュー中の印刷データを並べ替える（re-order）。図４Ａを参照して、一実施形態によると、予測処理時間に基づく処理キューの並べ替えを表すフローチャートを示した。ステップ４０２において、印刷装置１１０または印刷サーバ２１０はクライアント装置から印刷データを受信する。電子文書を表す印刷データを受信すると、ステップ４０４において、電子文書の予測処理時間を図３に示したラスタライズモジュールを用いて求める。この時点で、ステップ４０５Ａでは、任意的に予測処理時間をクライアント装置にレポートする。電子文書の予測処理時間を求めると、ステップ４０６において、印刷データを処理キュー１１４または２１４に配置する。処理キュー１１４または２１４は、それ以前に送信された印刷データを保持していてもよい。このように、最適化を実行することなく、後でクライアント装置から受信した任意の印刷データは、キューの「末尾」に配置される。
【００３５】
さらに、他の実施形態によると、任意的に、処理キュー１１４または２１４中の印刷データの相対的位置をクライアント装置に報告してもよい。このように、ステップ４０６において処理キュー１１４または２１４中に印刷データを配置した後、ステップ４０５Ｂにおいて処理キュー１１４または２１４中の印刷データの位置をクライアントにレポートする。さらに、他の実施形態では、処理キュー１１４または２１４中の印刷データの位置を最適化プロセスの全体にわたり任意の時点でレポートしてもよい。よって、他の実施形態によると、以下に説明するように、ステップ４０８の後で、処理キュー１１４または２１４中の印刷データの相対的位置をクライアント装置に報告してもよい。このように、キュー管理部１１６または負荷バランスモジュール２１６は、ここに説明する並べ直し（re-ordering）プロセスにより処理キュー１１４または２１４中の印刷データの順序を最初に予測して、ステップ４０５Ｂにおいてクライアント装置にレポートするように構成することもできる。
【００３６】
図５は、最適化プロセスの異なる時点における処理キューを表すテーブルを示すブロック図である。例えば、一実施形態では、テーブル５０２、５０４、５０６、及び５０８は、異なる時点における処理キューを表す。さらに、各テーブル中の「先頭」のラベルを付した行は、キューの先頭を表し、言い換えると、次に印刷される予定の印刷データを表す。「先頭」行の上の別の行は、キューの先頭に始まり上方向に、処理キュー中にある印刷データ数に応じて、各行が順番に印刷される。例として、テーブル５０２、５０４、５０６、及び５０８中の各印刷データ１−６は、処理する電子文書全体を表すことに注意せよ。
【００３７】
処理キューの最適化なしに、各印刷データ（すなわち電子文書）がファーストイン・ファーストアウトで印刷される。しかし、ステップ４０８において、処理キュー中の印刷データは、その印刷データにより表された各電子文書の予測処理時間に基づき並べ直される（re-order）。一実施形態では、印刷データを処理キュー中に配置すると、キュー管理部１１６または負荷バランスモジュール２１６は、ラスタライズモジュール１１２または２１２により事前に計算された印刷データの予測処理時間を表す情報を受信する。キュー管理部は、処理キュー中の各印刷データの予測処理時間を比較し、処理キューを並べ替えて（re-order）、予測処理時間が最も短い印刷データを処理キューの先頭にする。
【００３８】
よって、図５を参照して、テーブル５０２において、印刷データ１が印刷装置１１０または印刷サーバ２１０により最初に受信された印刷データであり、その後印刷データ２、３、４及び５が受信されたと仮定する。テーブル５０２によると、印刷データ５は予測処理時間が１秒であるが、印刷データ１は予測処理時間が５秒である。よって、キュー管理部１１６または負荷バランスモジュール２１６は、印刷データ５を処理キューの先頭に配置する。次に、印刷データ４が印刷データ５のすぐ上に配置される。印刷データ４の予測処理時間が次に短いからである。このように、処理キュー中の印刷データが並べ直される（re-ordered）。さらに、他の実施形態では、新しいジョブが到着するたびに、キュー管理部１１６または負荷バランスモジュール２１６が処理キュー中のすべての印刷データの予測処理時間を比較し、印刷データの順序を再計算する。予測処理時間が秒単位であるとして本発明の実施形態を説明したが、本方法はこのような場合だけではなく、実施に応じて時間の単位は任意でよい。
【００３９】
Ｂ．イン・キュー時間と予測処理時間に基づく並べ直し
別の実施形態では、電子文書の最適化印刷は、全ての印刷データの予測処理時間と各印刷データが処理キュー中で待っている時間の長さの両方に基づいて、処理キュー中の印刷データを並べ替えることにより、実現することもできる。かかる実施形態では、図４Ｂを参照して、ステップ４２２−４２６において、印刷データが受信され、その印刷データにより表される電子文書の予測処理時間が求められ、印刷データが処理キュー１１４または２１４中に配置される。また、ステップ４２５Ａにおいて、印刷装置１１０または印刷サーバ２１０は、その電子文書の予測処理時間をクライアント装置にレポートしてもよい。さらに、別の実施形態では、ステップ４２５Ｂにおいて、印刷装置１１０または印刷サーバ２１０は、印刷キュー１１４または２１４中の印刷データの位置を、クライアント装置にレポートする。
【００４０】
印刷データを処理キュー中に配置した後、ステップ４２８において、各印刷データのイン・キュー時間（in-queue  time）を用いて、処理キュー中の各印刷データの重みづけ時間を求める。各印刷データのイン・キュー時間は、各印刷データがキューに入ってから処理キュー中にいた時間の実際の長さを表す。一実施形態では、キュー管理部１１６または負荷バランスモジュール２１６は、各印刷データが処理キュー中にいた時間の長さを追跡する１つ以上の構成要素を有する。印刷データを印刷されるたびに、または印刷データが処理キューに入れられるたびに、キュー管理部１１６または負荷バランスモジュール２１６は、処理キュー中の各印刷データのイン・キュー時間を更新する。
【００４１】
図５を参照して、テーブル５０４において、印刷データ１−４のイン・キュー時間Ｑｎは１である。各印刷データ１−４は、テーブル５０２の処理キューにもあったからである。しかし、印刷データ５が印刷された後、印刷データ１−４はイン・キュー時間Ｑｎの間、処理キューで待っている。一実施形態では、イン・キュー時間Ｑｎは、最後に印刷された印刷データｎの予測処理時間と比した時間の長さである。よって、テーブル５０４では、印刷データ１−４のイン・キュー時間Ｑｎは、印刷データ５の予測処理時間である。次に、印刷データ４が印刷された後、テーブル５０６では、印刷データ１−３のイン・キュー時間はそれぞれ３である。この３は、印刷データ５の予測処理時間及び印刷データ４の予測処理時間を表す。この印刷データ５と印刷データ４は両方とも印刷データ１−３の前に印刷されたものである。
【００４２】
処理キュー中の印刷データのイン・キュー時間Ｑｎは、最後に印刷された印刷データｎの予測処理時間Ｐｎに関して説明したが、任意の印刷データが処理キュー中で待っている時間の長さを示す他の任意の値としてもよい。例えば、一実施形態では、イン・キュー時間Ｑｎは、任意の印刷データｎが処理キューに入ってから印刷された印刷データの数であってもよい。
【００４３】
一実施形態では、印刷データのイン・キュー時間を用いて、キュー管理部１１６または負荷バランスモジュール２１６が各印刷データの重みＷｎを生成する。キュー管理部１１６または負荷バランスモジュール２１６は、任意の印刷ジョブｎの重みＷｎをその印刷ジョブの予測処理時間Ｐｎと結合し、重みづけ時間Ｔｎを生成する。一実施形態では、このプロセスはＴｎ＝Ｗｎ×Ｐｎとまとめられる。
【００４４】
一実施形態では、任意の印刷データｎのＷｎは、その印刷データのイン・キュー時間Ｑｎに反比例する。このように、テーブル５０６において、印刷データ１のイン・キュー時間Ｑｎは３である。それゆえ、印刷データ１の重みＷｎは０．７（１−Ｑｎ／１０）である。しかし、他の実施形態では、各印刷データｎの重みＷｎは、印刷データのイン・キュー時間Ｑｎを考慮する適当な任意の方法を用いて計算することができる。
【００４５】
重みづけ時間Ｔｎを計算した後、キュー管理部１１６または負荷バランスモジュール２１６は、重みづけ時間Ｔｎを用いてどの印刷データを処理キューの先頭に送るかを判断する。このように、ステップ４３０において、処理キューは、その中の各印刷データの重みづけ時間Ｔｎに基づき、並べ直される。さらに、処理キューを並べ直すと、任意的に、ステップ４２５Ｂにおいて、処理キュー中の印刷データの相対的な位置をクライアント装置にレポートしてもよい。よって、クライアント装置を使用しているユーザは、最適化プロセス中、処理キュー中の印刷ジョブの相対的位置について、常にアップデートされる。
【００４６】
再び図５を参照するが、テーブル５０４において、新しい印刷データ６が処理キューに入っている。印刷データ６を処理キューに初期配置した後、キュー管理部１１６または負荷バランスモジュール２１６も処理キュー中のすべての印刷データの並べ替えにおいて、印刷データ６も考慮に入れる。このように、テーブル５０４では、印刷データ６は予測処理時間Ｐｎが２であるとレポートされている。しかし、印刷データ６は処理キューに配置されたばかりなので、印刷データ６のイン・キュー時間Ｑｎは０である。よって、印刷データ６の重みは、最初の計算では１である。印刷データの重みＷｎを予測処理時間Ｐｎと結合することにより、キュー管理部１１６または負荷バランスモジュール２１６は、印刷データ６の重みづけ時間Ｔｎが２であると判断する。このように、印刷データ１−３が印刷データ６よりも長く処理キューにいても、印刷データ６が処理キューの先頭により近く配置される。印刷データの重みづけ時間Ｔｎの方が短いからである。よって、テーブル５０６では、印刷データ６が処理キューの先頭にある。
【００４７】
このように、処理キューの最適化は、ラスタライズモジュール１１２または２１２によりレポートされた各印刷データの予測処理時間Ｐｎと、各印刷データのイン・キュー時間Ｑｎの両方を用いて、実行される。
【００４８】
Ｃ．印刷データのイン・キュー時間、予測処理時間、及び指定優先度に基づく並べ直し
他の実施形態では、追加的要因を使用して処理キューに含まれる印刷データを並べ直してもよい。例えば、クライアント装置は、優先度が高いと指定して印刷データを送信してもよい。このシナリオでは、印刷データの優先度を異なる２つの方法を用いて扱うことができる。一方法では、印刷データの優先度は処理キューより優先され、優先される任意の印刷データは、受信されると自動的に処理される。
【００４９】
他の方法では、任意の印刷データについて指定された任意の優先度を処理キューの並べ直しで考慮する。一実施形態では、指定された優先度を任意の印刷データの重みＷｎで考慮する。例えば、テーブル５０６において、印刷データ２は、予測処理時間が４であり、重みが０．７であるので、印刷データ２の重みづけ時間は２．８になる。しかし、ジョブ２に指定された優先度があれば、印刷データ２の重みＷｎを例えば０．５に変更し、印刷データ２の重みづけ時間Ｔｎは２となる。それゆえ、指定された優先度を並べ直しプロセスで考慮すると、印刷データ２は処理キューで印刷データ３より前に行く。
【００５０】
図４Ｃを参照して、印刷データのイン・キュー時間、予測処理時間、及び指定優先度に基づく印刷データの並べ直しプロセスを示すフロー図を示した。ステップ４４２−４４６において、印刷装置１１０または印刷サーバ２１０がクライアント装置は、クライアント装置から印刷データを受信し、その印刷データにより表された電子文書の予測処理時間を求め、その印刷データを処理キューに配置する。また、印刷装置１１０または印刷サーバ２１０は、その電子文書の予測処理時間をクライアント装置にレポートしてもよい。さらに、別の実施形態では、ステップ４４５Ｂにおいて、印刷装置１１０または印刷サーバ２１０は、印刷キュー中の印刷データの位置を、クライアント装置にレポートしてもよい。
【００５１】
次に、ステップ４４８において、印刷装置１１０または印刷サーバ２１０がクライアント装置は、受信した印刷データに優先度が指定されているか判断する。一実施形態では、クライアント装置は、印刷データを印刷装置１１０または印刷サーバ２１０に送信する時、印刷データの任意の指定優先度を表す情報も送信する。印刷装置１１０または印刷サーバ２１０は、印刷データが指定優先度を有することを検知した場合、ステップ４４９Ａにおいて、その印刷データの指定優先度を最適化プロセスで考慮するか決定する。例えば、一実施形態では、印刷データの指定優先度を表す情報は、その印刷データの優先度が高く、いかなる最適化プロセスもバイパスすべきことを示していてもよい。その場合、ステップ４４９Ｃにおいて、その印刷データはすぐに処理キューの先頭に送られる。あるいは、その印刷データは、すぐに印刷するため、印刷装置の印刷モジュールに直接送られる。この時点で、任意的に、ステップ４４５Ｂにおいて、処理キュー中の印刷データの位置をクライアント装置にレポートしてもよい。
【００５２】
さもなければ、印刷データに指定された優先度が最適化プロセスのバイパスを要求していない場合、プロセスはステップ４４９Ｂに進み、印刷装置１１０または印刷サーバ２１０が指定優先度を考慮してその受信した印刷データｎの重みＷｎを決める。
【００５３】
ステップ４５０において、イン・キュー時間Ｑｎを印刷データｎの重みＷｎに加え、重みＷｎは印刷データのイン・キュー時間と指定優先度の両方を表すようにする。このように、一実施形態では、イン・キュー時間Ｑｎと指定優先度の両方を考慮した重みＷｎは、イン・キュー時間Ｑｎのみを考慮した重みＷｎよりも小さくなる。重みＷｎが低いと、任意の印刷データｎの予測処理時間Ｐｎと結合した時、重みづけ時間Ｔｎは常に短くなる。よって、ステップ４５２において、キュー管理部１１６または負荷バランスモジュール２１６は、各印刷データの重みづけ時間Ｔｎにより、処理キュー中の印刷データを並べ直す。さらに、処理キューを並べ直すと、任意的に、ステップ４４５Ｂにおいて、処理キュー中の印刷データの相対的な位置をクライアント装置にレポートしてもよい。よって、クライアント装置を使用しているユーザは、最適化プロセス中、処理キュー中の印刷ジョブの相対的位置について、常にアップデートされる。このように、任意の印刷データｎの指定優先度を最適化プロセスで考慮してもよい。
【００５４】
Ｖ．実施メカニズム
図６は、本発明の一実施形態を実装するコンピュータシステム６００を示すブロック図である。コンピュータシステム６００は、情報をやりとりする通信メカニズムすなわちバス６０２と、バス６０４に結合した情報を処理するプロセッサ６０２とを有する。コンピュータシステム６００は、さらに、情報とプロセッサ６０４により実行される命令とを格納する、バス６０２に結合したランダムアクセスメモリ（ＲＡＭ）またはその他のダイナミック記憶装置等のメインメモリ６０６を含む。メインメモリ６０６は、プロセッサ６０４による命令の実行中に、一時的変数やその他の中間情報を記憶するために使用されてもよい。コンピュータシステム６００は、さらに、プロセッサ６０４のために静的な情報と命令とを記憶する、バス６０２に結合された読み出し専用メモリ（ＲＯＭ）６０８その他の静的記憶デバイスを含む。記憶デバイス６１０である磁気ディスクや光ディスク等が、情報と命令を格納するために設けられ、バス６０２に結合される。
【００５５】
コンピュータユーザに情報を表示するため、コンピュータシステム６００は、バス６０２を介して、ディスプレイ６１２である陰極線管（ＣＲＴ）等に結合されてもよい。プロセッサ６０４に情報とコマンド選択を送るために、英数字その他のキーを含む入力装置６１４がバス６０２に結合される。他のタイプのユーザ入力装置として、マウス、トラックボール、またはカーソル方向キー等であるカーソル制御６１６がある。これらは、プロセッサ６０４に方向情報とコマンド選択を送り、ディスプレイ６１２上のカーソルの動きを制御する。この入力装置は、典型的には２つの軸、すなわち第１の軸（例えばｘ軸）と第２の軸（例えばｙ軸）で２自由度を有し、これにより平面内の点を特定することができる。
【００５６】
本発明は、個々に説明した方法を実装するためのコンピュータシステム６００の使用にも関する。本発明の一実施形態によると、これらの方法のコンピュータシステム６００による実行は、メインメモリ６０６に含まれる１つ以上の命令の１つ以上のシーケンスをプロセッサ６０４が実行することにより行われる。かかる命令は、他の機械読み取り可能媒体である記憶デバイス６１０等から、メインメモリ６０６に読み込まれてもよい。メインメモリ６０６に含まれる命令シーケンスの実行により、プロセッサ６０４はここに説明したプロセスステップを実行する。他の実施形態では、本発明の実装には、ソフトウェア命令に替えて、またはこれと組み合わせて、ソフトウェアがハードウェアに組み込まれた回路を使用してもよい。このように、本発明の実施形態は、ハードウェア回路とソフトウェアの特定の組み合わせに限定はされない。
【００５７】
ここで、「機械読み取り可能媒体」との用語は、機械に特定のやり方で動作させるデータを提供するいかなる媒体も指す。コンピュータシステム６００を用いて実装した一実施形態では、例えば、プロセッサ６０４が実行する命令を提供するために、様々な機械読み取り可能媒体が使用される。かかる媒体は、不揮発性媒体、揮発性媒体、伝送媒体等の多数の形式をとることができるが、これらに限定はされない。不揮発媒体には、例えば、光ディスクまたは磁気ディスクが含まれ、記憶デバイス６１０等である。揮発性媒体には、ダイナミックメモリであるメインメモリ６０６等が含まれる。伝送媒体には、同軸ケーブル、銅ワイヤ、光ファイバが含まれ、バス６０２を含むワイヤも含まれる。伝送媒体は、音波や光波であって、無線通信や赤外線データ通信中に生成されるものの形態を取ることもできる。かかる媒体はすべて有体物であり、その媒体により担われる命令がそれを読み取る物理的メカニズムにより検出可能でなければならない。
【００５８】
機械読み取り可能媒体の一般的な形態には次のものが含まれる。例えば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、その他の磁気媒体、ＣＤ−ＲＯＭその他の光媒体、パンチカード、紙テープ、その他の穴のパターンを有する物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、その他のメモリチップまたはカートリッジ、以下に説明する搬送波、コンピュータが読み取れるその他のいかなる媒体。
【００５９】
プロセッサ６０４が実行する１つ以上の命令の１つ以上のシーケンスの搬送には、機械読み取り可能媒体の様々な形態が使用される。例えば、命令は最初にリモートのコンピュータの磁気ディスク上に担われていてもよい。リモートコンピュータは、その命令をそのダイナミックメモリにロードして、モデムを用いて電話回線を介してその命令を送信することができる。コンピュータシステム６００にあるモデムが、電話回線上のデータを受信し、赤外トランスミッタを用いてそのデータを赤外信号に変換することができる。赤外検出器が赤外信号で搬送されたそのデータを受信して、適当な回路がそのデータをバス６０２に載せることができる。バス６０２は、そのデータをメインメモリ６０６に送り、プロセッサ６０４はそのメインメモリ６０６から命令を読み出して実行する。メインメモリ６０６が受け取った命令は、プロセッサ６０４が実行する前か後に、任意的に、記憶デバイス６１０に記憶されてもよい。
【００６０】
コンピュータシステム６００は、バス６０２に結合した通信インターフェイス６１８も含む。通信インターフェイス６１８は、ローカルネットワーク６２２に接続されたネットワークリンク６２０に結合した双方向データ通信を提供する。例えば、通信インターフェイス６１８は、統合デジタルサービスネットワーク（ＩＳＤＮ）カードまたはモデムであって、対応するタイプの電話回線へのデータ通信接続を提供してもよい。他の例として、通信インターフェイス６１８は、ローカルエリアネットワーク（ＬＡＮ）カードであって、互換性のあるＬＡＮへのデータ通信接続を提供してもよい。無線リンクで実装してもよい。かかる実装では、通信インターフェイス６１８は、いろいろなタイプの情報を表すデジタルデータストリームを搬送する電気的、電磁気的、または光学的信号を送受信する。
【００６１】
ネットワークリンク６２０は、一般的には、１つ以上のネットワークを介して他のデータデバイスへのデータ通信を提供する。例えば、ネットワークリンク６２０は、ホストコンピュータ６２４またはインターネットサービスプロバイダ（ＩＳＰ）６２６により運営されているデータ機器へのローカルネットワーク６２２を介した通信を提供する。ＩＳＰ６２６は、これに対して、現在は一般的に「インターネット」６２８と呼ばれている、世界規模のパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク６２２とインターネット６２８は、両方とも、デジタルデータストリームを担う電気的、電磁気的、または光学的信号を使用する。様々なネットワーク中の信号やネットワークリンク６２０と通信インターフェイス６１８上の信号は、コンピュータシステム６００との間でデジタルデータを搬送し、情報を伝送する搬送波の形態例である。
【００６２】
コンピュータシステム６００は、ネットワーク、ネットワークリンク６２０、及び通信インターフェイス６１８を介して、メッセージを送信しプログラムコードを含むデータを受信することができる。インターネットの例では、サーバ６３０は、インターネット６２８、ＩＳＰ６２６、ローカルネットワーク６２２、及び通信インターフェイス６１８を介して、要求されたアプリケーションプログラムのコードを送信してもよい。
【００６３】
受信したコードは、受信しつつプロセッサ６０４により実行されてもよいし、後で実行するために記憶デバイス６１０またはその他の不揮発性記憶装置に記憶されてもよい。このように、コンピュータシステム６００は、搬送波の形態でアプリケーションコードを取得してもよい。
【００６４】
上記の通り明細書では、実施ごとに代わり得る多数の詳細を参照して本発明の実施形態を説明した。このように、本発明であり、出願人が本発明であると意図しているものを示すのは、願書に添付した特許請求の範囲であり、特許後の訂正も含め特許された請求項である。かかる請求項に含まれる用語についてここで明示的に記載した定義は、請求項で使用されるかかる用語の意味を司るものである。よって、請求項中に明示的に含まれていない限定、要素、特性、特徴、利益、または属性は、いかなる方法によっても、かかる請求項の範囲を限定するものではない。したがって、明細書と図面は例示であって限定ではないと考えるべきである。
【図面の簡単な説明】
【００６５】
【図１】本発明の一実施形態による、最適化された印刷装置を含む最適化された印刷システムの概略を示すブロック図である。
【図２】本発明の一実施形態による、最適化された印刷サーバを含む最適化された印刷システムの実施例を示すブロック図である。
【図３】本発明の一実施形態によるラスタライズモジュールの実施例を示すブロック図である。
【図４Ａ】本発明の一実施形態による、処理キュー内の印刷データの並べ直し方法を示すフロー図である。
【図４Ｂ】本発明の一実施形態による、処理キュー内の印刷データの第２の並べ直し方法を示すフロー図である。
【図４Ｃ】本発明の一実施形態による、処理キュー内の印刷データの第３の並べ直し方法を示すフロー図である。
【図５】本発明の一実施形態による、並べ替えプロセスの異なる段階における処理キューを示すブロック図である。
【図６】本発明の実施形態を実現するコンピュータシステムを示すブロック図である。
【符号の説明】
【００６６】
１０１  クライアント装置
１０５  ネットワーク
１１０  印刷装置
１１２  ラスタライズモジュール
１１４  処理キュー
１１６  キュー管理部
１１８  タイミングメカニズム
１２０  予測ロジック
２０２、２０４  クライアント装置
２０５  ネットワーク
２１０  印刷サーバ
２１２  ラスタライズモジュール
２１４  処理キュー
２１６  ロードバランスモジュール
２１８  タイミングメカニズム
２２０  予測ロジック
２２２、２２４、２２６  印刷装置
６０２  バス
６０４  プロセッサ
６０６  メインメモリ
６０８  ＲＯＭ
６１０  記憶装置
６１２  ディスプレイ
６１４  入力装置
６１６  カーソル制御
６１８  通信インターフェイス
６２０  ネットワークリンク
６２２  ローカルネットワーク
６２４  ホスト
６２６  ＩＳＰ
６２８  インターネット
６３０  サーバ
【図１】
2007193808.tif 000003
【図２】
2007193808.tif 000004
【図３】
2007193808.tif 000005
【図４Ａ】
2007193808.tif 000006
【図４Ｂ】
2007193808.tif 000007
【図４Ｃ】
2007193808.tif 000008
【図５】
2007193808.tif 000009
【図６】
2007193808.tif 000010