(57)【要約】【課題】  処理対象のデータの特性に応じた最適な処理タイミングの決定条件となる閾値を時期に応じて動的に設定すること。【解決手段】  情報処理装置と当該情報処理装置からの指示に基づく特定処理を実行する機器とを含む情報処理システムであって、特定処理に係るデータである処理対象データのデータ量の判定に用いる閾値を、機器における処理の履歴情報に基づいて算出し保持する閾値保持部と、閾値を補正するための係数である補正係数を履歴情報が取得された時期ごとに算出し保持する閾値係数保持部と、閾値を指示に関連する時期により特定される補正係数により補正した現在閾値を算出して保持する現在閾値算出部と、データ量と現在閾値とに基づいて、指示に基づく特定処理の実行時期を判定する時刻指定判定部と、判定された実行時期に基づいて特定処理を実行する実行部と、を有する情報処理システムによる。【選択図】図６
2019053398.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置と当該情報処理装置からの指示に基づく特定処理を実行する機器とを含む情報処理システムであって、
前記特定処理に係るデータである処理対象データのデータ量の判定に用いる閾値を、前記機器における処理の履歴情報に基づいて算出し保持する閾値保持部と、
前記閾値を補正するための係数である補正係数を前記履歴情報が取得された時期ごとに算出し保持する閾値係数保持部と、
前記閾値を前記指示に関連する時期により特定される前記補正係数により補正した現在閾値を算出して保持する現在閾値算出部と、
前記データ量と前記現在閾値とに基づいて、前記指示に基づく前記特定処理の実行時期を判定する時刻指定判定部と、
判定された前記実行時期に基づいて前記特定処理を実行する実行部と、
を有する、
ことを特徴とする情報処理システム。
【請求項２】
前記時刻指定判定部は、前記特定処理の前記実行時期を即時とするか、保留して指定時とするか、の判定をし、
前記実行部は、前記指定時を経過したときに、保留されている前記特定処理を実行する、
請求項１記載の情報処理システム。
【請求項３】
前記閾値係数保持部は、前記機器の稼働率の月および日ごとの偏りを補正するように前記補正係数を算出する、
請求項１または２記載の情報処理システム。
【請求項４】
前記特定処理の完了までに要する処理時間が所要時間を超えるときに前記時刻指定判定部において当該特定処理の実行を指定時とするための第二閾値を入力する第二閾値入力部を有し、
前記時刻指定判定部は、前記データ量と前記現在閾値と前記第二閾値と、に基づいて、前記実行時期を判定する、
請求項１乃至３のいずれか一項に記載の情報処理システム。
【請求項５】
前記実行時期を即時に固定する実行時期設定値の入力を受け付けて保持する入力部を有し、
前記時刻指定判定部は、前記実行時期設定値に基づいて前記実行時期を判定する、
請求項１乃至４のいずれか一項に記載の情報処理システム。
【請求項６】
前記時刻指定判定部において判定された前記実行時期を前記機器のユーザに通知するユーザ通知部を有する、
請求項１乃至５のいずれか一項に記載の情報処理システム。
【請求項７】
情報処理装置と当該情報処理装置からの指示に基づく特定処理を実行する機器における情報処理方法であって、
前記特定処理に係る処理対象データのデータ量の判定に用いる閾値を、前記機器における処理の履歴情報に基づいて算出して保持し、
前記閾値を補正するための補正係数を、前記履歴情報を時系列で区別して時期ごとに算出して保持し、
前記指示の時期に係る前記補正係数と前記閾値とに基づく現在閾値を算出して保持し、
前記データ量と前記現在閾値とに基づいて、前記指示に係る前記特定処理の実行時期を判定し、
判定された前記実行時期に基づいて前記特定処理を実行する、
ことを特徴とする情報処理方法。
【請求項８】
外部からの指示に基づき印刷処理を含む特定処理を実行する情報処理装置であって、
前記特定処理に係る処理対象データのデータ量の判定に用いる閾値を、過去の特定処理の履歴情報に基づいて算出し保持する閾値保持部と、
前記閾値を補正するための補正係数を、前記履歴情報を時系列で区別して時期ごとに算出し保持する閾値係数保持部と、
前記指示の時期に係る前記補正係数と前記閾値とに基づく現在閾値を算出して保持する現在閾値算出部と、
前記データ量と前記現在閾値とに基づいて、前記指示に係る前記特定処理の実行時期を判定する時刻指定判定部と、
判定された前記実行時期に基づいて前記特定処理を実行する実行部と、
を有する、
ことを特徴とする情報処理装置。
【請求項９】
外部からの指示に基づき印刷処理を含む特定処理を実行する情報処理装置に、
前記特定処理に係る処理対象データのデータ量の判定に用いる閾値を、過去の特定処理の履歴情報に基づいて算出し保持する閾値保持ステップと、
前記閾値を補正するための補正係数を、前記履歴情報を時系列で区別して時期ごとに算出し保持する閾値係数保持ステップと、
前記指示の時期に係る前記補正係数と前記閾値とに基づく現在閾値を算出して保持する現在閾値算出ステップと、
前記データ量と前記現在閾値とに基づいて、前記指示に係る前記特定処理の実行時期を判定する時刻指定判定ステップと、
判定された前記実行時期に基づいて前記特定処理を実行する実行ステップと、
を実行させる、
ことを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、情報処理装置、情報処理プログラムに関する。
【背景技術】
【０００２】
複数のクライアントＰＣ（Personal Computer）と画像処理装置であるプリンタとを通信ネットワークにより接続して構成される情報処理システムが知られている。このようなシステムは、ネットワークプリンティングシステムと呼ばれ、当該システムのユーザにおける全体のパフォーマンスの体感を向上させるための工夫がなされている。例えば、処理対象となる印刷ジョブのデータ量が多い場合に、当該印刷ジョブの処理（実行）のタイミングを即時にするのではなく、別の時間帯にまとめて行うように時刻指定にするなど、データ量に応じて実行タイミングを制御する工夫がなされる。
【０００３】
その他の工夫として、印刷ジョブの実行中に、より優先度が高い他の印刷ジョブが生じた場合、現在実行中の印刷ジョブを保留するか否かをクライアントが選択できるようにし、優先度が高い印刷ジョブの優先処理を可能にする方法も知られている（特許文献１を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されているような処理方法では、保留される印刷ジョブのユーザと優先する印刷ジョブのユーザが異なる場合には、保留されたユーザは当該システム全体の処理パフォーマンスが低下したように感じる可能性がある。また、ユーザの少ない時間帯になるまで印刷ジョブを保留する場合であっても、常に夜間帯が最適な実行タイミングとは限らない。
【０００５】
例えば、ネットワークプリンタの利用環境や季節などによっては、保留した印刷ジョブをまとめて実行する最適なタイミングとはならず、年末や年度末、月末などは、平時よりも印刷ジョブが集中することもある。この場合は、平時であれば集中しない時間帯（夜間）に保留しておいた印刷ジョブの処理をまとめて実行しても、ユーザ全体のパフォーマンスの体感が低下する可能性がある。
【０００６】
すなわち、従来の技術を用いて印刷ジョブの実行タイミングを制御しても、一律の判定条件に基づく、またはユーザの任意選択によるものとなるので、時期を問わずユーザ全体のパフォーマンスの体感の低下を抑制することについて課題がある。
【０００７】
本発明は、処理対象のデータの特性に応じた最適な処理タイミングの決定条件となる閾値を時期に応じて動的に設定することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の一態様は、情報処理装置と当該情報処理装置からの指示に基づく特定処理を実行する機器とを含む情報処理システムであって、前記特定処理に係るデータである処理対象データのデータ量の判定に用いる閾値を、前記機器における処理の履歴情報に基づいて算出し保持する閾値保持部と、前記閾値を補正するための係数である補正係数を前記履歴情報が取得された時期ごとに算出し保持する閾値係数保持部と、前記閾値を前記指示に関連する時期により特定される前記補正係数により補正した現在閾値を算出して保持する現在閾値算出部と、前記データ量と前記現在閾値とに基づいて、前記指示に基づく前記特定処理の実行時期を判定する時刻指定判定部と、判定された前記実行時期に基づいて前記特定処理を実行する実行部と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、処理対象のデータの特性に応じた最適な処理タイミングの決定条件となる閾値を時期に応じて動的に設定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態であるネットワークプリントシステムの全体構成を示すシステム図である。
【図２】本実施形態に係るクライアント端末のハードウェア構成図である。
【図３】本実施形態に係るプリンタのハードウェア構成図である。
【図４】本実施形態に係るクライアント端末が備えるドライバプログラムの例を示すブロック図である。
【図５】本実施形態に係るプリンタが備える機能構成の例を示す機能ブロック図である。
【図６】本実施形態に係るドライバプログラムの機能構成の例を示す機能ブロック図である。
【図７】本実施形態に係るネットワークプリントシステムにおける処理の例を示すシーケンス図である。
【図８】本実施形態に係るネットワークプリントシステムにおける処理の別の例を示すシーケンス図である。
【図９】本実施形態に係るネットワークプリントシステムにおける処理のさらに別の例を示すシーケンス図である。
【図１０】本実施形態に係るネットワークプリントシステムにおける処理のさらに別の例を示すシーケンス図である。
【図１１】本実施形態に係るネットワークプリントシステムに用いられる印刷ジョブ履歴の構成例を示す図である。
【図１２】本実施形態に係るネットワークプリントシステムに用いられる時刻指定印刷閾値の算出に用いられる情報の例を示す図である。
【図１３】本実施形態に係るネットワークプリントシステムに用いられる印刷データサイズ上限値の算出に用いられる情報の例を示す図である。
【図１４】本実施形態に係るネットワークプリントシステムに用いられる月の係数係の構成例を示す図である。
【図１５】本実施形態に係るネットワークプリントシステムに用いられる日の係数係の構成例を示す図である。
【図１６】本実施形態に係るネットワークプリントシステムに用いられる最適な印刷時刻の算出に用いられる情報の例を示す図である。
【図１７】本発明に係るネットワークプリントシステムにおける印刷処理の流れの例を示すフローチャートである。
【図１８】本発明に係るプリンタＵＩにおいて表示される画面の例を示す図である。
【図１９】本発明に係るドライバＵＩにおいて表示される画面の例を示す図である。
【図２０】本発明に係るユーザ通知画面の例を示す図である。
【発明を実施するための形態】
【００１１】
［ネットワークプリントシステム１のシステム構成］
本発明に係る情報処理システム、情報処理方法、情報処理装置、情報処理プログラムの実施形態について、図面を参照しながら説明する。図１は、情報処理システムの実施形態であるネットワークプリントシステム１の全体構成を示すシステム図である。本実施形態において、ネットワークプリントシステム１は、一般的なコンピュータの実施形態であるクライアント端末１００と、特定の情報処理を実行する情報処理装置として動作する機器の一種であり画像形成装置であるプリンタ２００と、それぞれ通信ネットワーク３００に接続して構成される。なお、ネットワークプリントシステム１は、クライアント端末１００とプリンタ２００を、それぞれ複数台備えていてもよい。
【００１２】
クライアント端末１００に対するユーザの所定の操作により、クライアント端末１００からプリンタ２００に対する印刷処理が要求されると、クライアント端末１００が「印刷ジョブ」をプリンタ２００に送信する。プリンタ２００は、当該印刷ジョブを受信し、当該印刷ジョブにふくまれる印刷データに基づく印刷処理を実行する。クライアント端末１００からプリンタ２００に印刷ジョブを送信する処理を制御するプリンタドライバ１１１は、一般的にはクライアント端末１００が備える。このプリンタドライバ１１１は、プリンタ２００に対して印刷ジョブの実行タイミングを指示するコマンドと共に、当該印刷ジョブをプリンタ２００に送信する。
【００１３】
クライアント端末１００とプリンタ２００を接続する通信ネットワーク３００は、例えばＬＡＮ（Local Area Network）等である。なお、通信ネットワーク３００は、各装置を接続し、互いに通信できるものであれば、その方式等に制限はなく、適宜、運用形態に適した方式を用いることができる。
【００１４】
プリンタ２００は、例えばＭＦＰ（Multi-Function Peripheral）であって、ユーザの要求に応じて様々な機能を提供する。本実施形態においては、ユーザがクライアント端末１００を操作して「印刷処理」を要求した場合に、印刷ジョブを実行するものとする。すなわち、当該プリンタ２００は外部の情報処理装置からの指示に基づき印刷処理を含む特定の情報処理である特定処理を実行する機器である。以下、本発明に係る実施形態の説明として、特定処理の例には印刷処理を用いる。なお、プリンタ２００に代えて、ユーザの要求に応じて所定の機能を実現する機器を用いてもよい。当該機器は、例えば、処理対象データの特性（データ量、データ内容）によってユーザの全体のパフォーマンスに対する体感が影響を受けるような情報処理を実行する装置を含むものとする。
【００１５】
ネットワークプリントシステム１は、複数のクライアント端末１００と、プリンタ２００と、を接続し、クライアント端末１００からプリンタ２００に指示される印刷ジョブの実行タイミングを、時期に応じた最適なものに設定する。この設定に必要となる判定条件（閾値）を動的に決定し、これを設定する機能を備える。
【００１６】
例えば、プリンタ２００が、プリンタ２００の過去の稼働実績を分析して、処理対象となる印刷ジョブに含まれるデータサイズに基づくプリンタ２００における稼働率や処理に要する時間から最適な時期を設定するための判定条件を算出する。プリンタ２００に印刷ジョブを渡すクライアント端末１００は、印刷ジョブが新たに指示された時期に応じてプリンタ２００から判定条件（閾値）を取得する。そして、新たな印刷ジョブのデータサイズに基づいて、最適な実行時期を判定した結果から設定した印刷ジョブをネットワークプリンタに渡す。これによって、時期により変動するプリンタ２００の稼働状態に照らして最も効率的に印刷ジョブを処理できる時間帯にデータ量の多い印刷ジョブを実行させることができるようになる。
【００１７】
なお、閾値の算出は、情報処理装置としてのクライアント端末１００が行ってもよい。この場合、プリンタ２００が保持しているジョブ履歴をクライアント端末１００が取得して閾値の算出を行う。また、あるクライアント端末１００が算出した閾値を、ネットワークプリントシステム１全体で共有化できるようにしてもよい。
【００１８】
なお、ネットワークプリントシステム１の過去の稼働状況を示す情報であるジョブ履歴は、ＰＤＬ（Page Description Language）の種別、印刷ジョブに含まれる印刷データサイズ、当該ジョブを処理するときに要した時間（印刷に要した時間）、印刷実行日時（時期）、などを含む情報群である。
【００１９】
［クライアント端末１００のハードウェア構成］
次に、図２を用いてクライアント端末１００のハードウェア構成について説明する。図２に示すように、本実施形態に係るクライアント端末１００は、一般的なコンピュータと同様の構成を含む。すなわち、クライアント端末１００は、ＣＰＵ（Central Processing Unit）１０１、ＲＡＭ（Random Access Memory）１０２、ＲＯＭ（Read only Memory）１０３、ＨＤＤ（Hard Disk Drive）１０４及びＩ／Ｆ（インタフェース）装置１０５がバス１０８を介して接続されている。また、Ｉ／Ｆ装置１０５には表示装置１０６と入力装置１０７が接続されている。
【００２０】
ＣＰＵ１０１は演算手段であり、クライアント端末１００の動作の全体を制御する。ＲＡＭ１０２は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０１が情報を処理する際の作業領域として用いられる。ＲＯＭ１０３は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ１０４は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Operating System）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００２１】
Ｉ／Ｆ装置１０５は、バス１０８と各種のハードウェアやネットワーク等を接続し制御する。表示装置１０６は、例えばＬＣＤ（Liquid Crystal Display）であって、ユーザがクライアント端末１００の状態を確認するための視覚的ユーザインタフェースである。入力装置１０７は、キーボードやマウス等、ユーザがクライアント端末１００に情報を入力するためのユーザインタフェースである。
【００２２】
クライアント端末１００は、上記のようなハードウェア構成において、ＲＯＭ１０３やＨＤＤ１０４などにコンピュータプログラムが読み出されて、ＣＰＵ１０１の制御に従って動作することにより、ソフトウェア制御部が構成される。当該ソフトウェア制御部と、上記のハードウェア構成との組み合わせによって、本実施形態に係るクライアント端末１００が備える機能を実現する機能ブロックが構成される。
【００２３】
［プリンタ２００のハードウェア構成］
次に、プリンタ２００のハードウェア構成について図３を用いて説明する。プリンタ２００は、コントローラ２１０とエンジン部２２０とを備え、これらがＰＣＩ（Peripheral Component Interface）バス２３０を介して接続される構成を備える。
【００２４】
コントローラ２１０は、プリンタ２００全体の制御と描画、通信、操作表示部２４０からの入力を制御する機能を備える。
【００２５】
エンジン部２２０は、ＰＣＩバス２３０に接続可能なプリンタエンジンであり、白黒プロッタ、カラープロッタ、スキャナ、ファックスユニット等を備える。また、誤差拡散やガンマ変換等の画像処理を行う機能も備える。
【００２６】
コントローラ２１０は、ＣＰＵ２１１と、ノースブリッジ（ＮＢ）２１２と、システムメモリ（ＭＥＭ−Ｐ）２１３と、サウスブリッジ（ＳＢ）２１４と、ローカルメモリ（ＭＥＭ−Ｃ）２１５と、ＡＳＩＣ（Application Specific Integrated Circuit）２１６と、ＨＤＤ（Hard Disk Drive）２１８とを備え、ＮＢ２１２とＡＳＩＣ２１６との間をＡＧＰ（Accelerated Graphics Port）バス２１７で接続した構成を備える。なお、ＭＥＭ−Ｐ２１３は、ＲＯＭ２１３ａとＲＡＭ２１３ｂとを備える。
【００２７】
ＣＰＵ２１１は、プリンタ２００の動作を制御する。また、ＣＰＵ２１１は、ＮＢ２１２、ＭＥＭ−Ｐ２１３及びＳＢ２１４を備えるチップセットを介して他の機器との接続を制御する。
【００２８】
ＮＢ２１２は、ＣＰＵ２１１をＭＥＭ−Ｐ２１３、ＳＢ２１４、ＡＧＰバス２１７と、各々接続させるためのブリッジであり、ＭＥＭ−Ｐ２１３に対するデータの読み書き（データの読み出しと書き込み）などを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを備える。
【００２９】
ＭＥＭ−Ｐ２１３はシステムメモリであって、プログラムやデータの格納用メモリとして用いる読み出し専用のＲＯＭ２１３ａと、プログラムやデータの書き込み及び読み出し可能なメモリであるＲＡＭ２１４ｂとを備える。
【００３０】
ＳＢ２１４は、ＮＢ２１２と周辺デバイスとを接続するためのブリッジであり、ＰＣＩバスを介してＮＢ２１２と接続されている。このＰＣＩバス２３０には、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００３１】
ＡＳＩＣ２１６は、画像処理用のハードウェア要素を備える画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰバス２１７、ＨＤＤ２０６及びおよびＭＥＭ−Ｃ２１５をそれぞれ接続するブリッジとして機能する。また、ＡＳＩＣ２１６は、いずれもＰＣＩターゲット、ＡＧＰマスタ、アービタ（ＡＲＢ）、ＭＥＭ−Ｃ２１５を制御するメモリコントローラ、ハードウェアロジック等により画像データの回転等を行う複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部２２０との間でＰＣＩバス２３０を介したデータ転送をおこなうＰＣＩユニットとを備える。ＡＳＩＣ２１６には、ＰＣＩバス２３０を介してＦＣＵ（Facsimile Control Unit）２５０、ＵＳＢ（Universal Serial Bus）２６０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers １３９４）Ｉ／Ｆ２７０が接続される。なお、操作表示部２４０はＡＳＩＣ２１６に直接接続されている。
【００３２】
ＭＥＭ−Ｃ２１５は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。
【００３３】
ＨＤＤ２０６は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。また、ＨＤＤ２０６は、プリンタ２００で実行されるアプリケーションのライセンスファイルが保存される。
【００３４】
ＡＧＰバス２１７は、グラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ２１３に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速化する。
【００３５】
［クライアント端末１００が備える印刷管理プログラム群］
次に、本実施形態に係るクライアント端末１００による印刷処理の実行を制御する印刷管理プログラム群の例について図４を用いて説明する。図４に示すように、クライアント端末１００はプリンタ２００における印刷処理の実行を制御するための印刷管理プログラム群（制御プログラム）として、ＣＵＰＳ（Common Unix Printing System）といわれる印刷管理システム１１０を備える。印刷管理システム１１０は、文書作成用ソフトウェアなどのアプリケーション１２０から、印刷処理の指示を受け付けて、当該印刷処理の指示の対象となる印刷データを受け取り、プリンタ２００に対して当該データを出力する処理を実行する。
【００３６】
印刷管理システム１１０は、少なくとも、画像処理プログラムの実施形態であるプリンタドライバ１１１と、プリンタ設定情報保持ファイル１１２と、スプーラ１１５と、フィルタパイプライン形成情報ファイル１１６と、データ変換モジュール１１７と、バックエンドモジュール１１８と、を有している。
【００３７】
スプーラ１１５は、印刷処理を実行するときに、フィルタパイプライン形成情報ファイル１１６を参照して処理コストの低いフィルタパイプラインを形成する。なお、「フィルタパイプラインを形成する」とは、印刷データのデータ形式を変換するデータ変換モジュール１１７を所定の順番に並べる処理をいう。
【００３８】
フィルタパイプライン形成情報ファイル１１６は、フィルタパイプラインを形成するための情報として、データ変換モジュール１１７ごとに、入力データ形式、出力データ形式、処理コストの情報を保存している。
【００３９】
データ変換モジュール１１７は、アプリケーション１２０から受け取った印刷データのデータ形式を変換する処理を実行する。データ変換モジュール１１７は、様々な入力形式と出力形式に対応するために、複数のものが用意されている。例えばＰＤＦからＰｏｓｔｓｃｒｉｐｔ（登録商標）への変換を実行するもの、ＰＤＦからラスターデータへの変換を実行するもの、ラスターデータからｔｉｆｆ形式に変換するものなど、様々な形式のデータを様々な形式のデータに変換する。
【００４０】
バックエンドモジュール１１８は、プリンタ２００との通信処理を実行する。したがって、クライアント端末１００とプリンタ２００との間で用いられる通信プロトコルごとに実行ファイルが区別されている。
【００４１】
プリンタドライバ１１１は、プリンタ設定情報書換モジュール１１３と、印刷データ生成モジュール１１４と、を有している。
【００４２】
プリンタ設定情報保持ファイル１１２は、印刷管理システム１１０や、プリントキューの情報を保存するデータファイルである。ここで、プリントキューとは、印刷処理に使用する印刷プロトコルと、印刷プロトコルによる接続先のアドレスと、使用するプリンタ記述ファイル（ＰＰＤ：PostScript Printer Description）の種類を示す情報と、を含み、プリンタ２００毎に設定される情報群をいう。なお、プリンタ記述ファイル（ＰＰＤ）は、プリンタ２００の固有の構成に既存した情報を保持するデータファイルである。
【００４３】
プリンタ設定情報書換モジュール１１３は、プリントキューを作成するために、プリンタ設定情報保持ファイル１１２を書き換えるプログラムである。プリンタ設定情報書換モジュール１１３は、一般的にプリンタ２００を提供するメーカが開発して提供する。
【００４４】
印刷データ生成モジュール１１４は、一般的にプリンタ２００のメーカが提供するものである。すなわち、プリンタドライバ１１１には、プリンタ２００に対応する印刷データ生成モジュール１１４が複数含まれている。印刷データ生成モジュール１１４は、データ変換モジュール１１７におけるデータ変換が実行された後のデータについて、プリンタベンダー独自の印刷データ形式への変換、ベンダー独自の印刷コマンドの付加などを実行する。処理対象の印刷データに対して使用される印刷データ生成モジュール１１４を指定する情報は、プリンタ設定情報保持ファイル１１２に定義されている。
【００４５】
印刷管理システム１１０が稼働しているクライアント端末１００は、他のクライアント端末１００からの印刷ジョブに基づいて、適切なプリンタ２００に印刷データを送る処理を実行する、いわゆるプリンタサーバとして機能する。
【００４６】
［プリンタ２００の機能構成］
次に、プリンタ２００の機能構成について図５を用いて説明する。プリンタ２００は、印刷ジョブ処理部２１と、印刷ジョブ保留部２２と、ジョブ履歴保存部２３と、現在閾値算出部２４と、閾値保持部２５、閾値係数保持部２６と、問い合わせ受付部２７と、設定値保存部２８と、プリンタＵＩ部２９と、を有する。
【００４７】
プリンタＵＩ部２９は、「規定の時間」、「稼働率の上限」、「印刷時刻」を入力するためのユーザインタフェースを提供する。ここで「規定の時間」とは、印刷ジョブに係る印刷所要時間に基づいて時刻指定印刷とするか否かを判定するための第二閾値である。印刷所要時間が規定の時間を超える場合、印刷ジョブを即時印刷ではなく時刻指定印刷にする。「稼働率」とは、プリンタ２００が実際に印刷処理を実行している時間の割合をいう。印刷時刻とは、これを経過したときに、保留されている印刷ジョブに係る印刷処理を開始する時刻をいう。なお印刷時刻は、ジョブの履歴から最適な時刻を計算して、ユーザに提案してもよい。プリンタＵＩ部２９は、第二閾値を入力する第二閾値入力部を構成する。
【００４８】
設定値保存部２８は、プリンタＵＩ部２９を介してユーザから入力された「規定の時間」、「稼働率の上限」、「印刷時刻」を設定値として保持する。また、設定値保存部２８は、入力された「規定の時間」を超えることになる印刷ジョブのサイズ（データサイズ）を算出し、これを「規定のサイズ」として保持する。
【００４９】
問い合わせ受付部２７は、プリンタドライバ１１１からの問い合わせを受けて、「現在の閾値」、および設定値保存部２８に保持されている「規定のサイズ」と「印刷時刻」をプリンタドライバ１１１に返す。
【００５０】
現在閾値算出部２４は、プリンタドライバ１１１から印刷ジョブが送られてきたタイミングに相当する「現在の時間帯」を当該印刷ジョブである指示に関連する時期として、この時期に基づいて、当該時期に係る閾値と、月の係数と、日の係数と、を特定する。特定された閾値と係数に基づいて、当該印刷ジョブに対して適用する、印刷ジョブのサイズの閾値（規定のサイズ）を算出する。ここで算出された閾値は、現在閾値算出部２４において保持される。
【００５１】
印刷ジョブ処理部２１は、プリンタドライバ１１１から受け取った印刷データにおいて、印刷時刻が指定されているかどうかを判定し、判定結果に応じて印刷処理を実行する実行部である。印刷時刻が指定されているかどうかの判定は、印刷時刻を指定するコマンドが印刷データにあるかどうかを判定することで行う。印刷ジョブ処理部２１は、一連の印刷にかかった時間を計測する。
【００５２】
印刷ジョブ保留部２２は、印刷時刻が設定された印刷ジョブを、当該時刻まで保留する。指定された時刻になったら、保留状態を解除して、当該印刷ジョブの処理を開始する。
【００５３】
ジョブ履歴保存部２３は、閾値を計算するための情報として、処理を行った印刷ジョブの履歴情報（ジョブ履歴）を時系列で区別した時期ごとに蓄積する。
【００５４】
閾値保持部２５は、曜日、時間帯において最適な印刷ジョブの閾値を、過去のジョブ履歴から算出し、算出した値を保持する。具体的には、各曜日、各時間帯の閾値に対して、閾値係数保持部２６に保持されている「月の係数」と、「日の係数」を乗算し、算出された値を「現在の閾値」として保持する。
【００５５】
閾値係数保持部２６は、「月の係数」と「日の係数」を保持する。「月の係数」は、プリンタ２００の全体の稼働率に対する各月の稼働率における偏りを示す係数であって、過去のジョブ履歴に基づいて算出される。「日の係数」は、プリンタ２００の全体の稼働率に対する各日の稼働率における偏りを示す係数であって、過去のジョブ履歴に基づいて算出される。「月の係数」および「日の係数」は閾値を補正して「現在の閾値」を算出するための補正係数である。
【００５６】
［プリンタドライバ１１１の機能構成］
次に、プリンタドライバ１１１の機能構成について図６を用いて説明する。プリンタドライバ１１１は、ドライバＵＩ部１１と、問い合わせ部１２と、印刷データサイズ取得部１３と、時刻指定判定部１４と、ユーザ通知部１５と、印刷データ処理部１６と、を有する。
【００５７】
ドライバＵＩ部１１は、即時印刷の指定を入力するためのユーザインタフェースを提供する。図１９は、ドライバＵＩ部１１によってユーザに提示される即時印刷指定画面１９１の例である。図１９に示すように、即時印刷指定画面１９が備える「即時印刷」のチェックボックスがチェックされている場合、印刷ジョブの実行は保留されることなく即時的に実行される。すなわち、「即時印刷」のチェックボックスは、実行時期設定値を規定するインタフェースであって、これがチェックされていると実行時期が固定される。言い換えると、即時印刷指定画面１９において「即時印刷」のチェックボックスがチェックされていない場合、印刷ジョブの実行は、閾値を用いた判定によって制御される。
【００５８】
問い合わせ部１２は、プリンタ２００に対して、現在の閾値と、規定のサイズと、印刷時刻と、を問い合わせる。また、問い合わせ部１２は、プリンタ２００に問い合わせにより取得した上記の各値を保持する。
【００５９】
印刷データサイズ取得部１３は、印刷データのサイズを取得し、値を保持する。
【００６０】
時刻指定判定部１４は、即時印刷設定の有無、印刷データのサイズ、現在の閾値、規定のサイズから、時刻指定印刷するかどうかを判定する。
【００６１】
ユーザ通知部１５は、時刻指定印刷する場合に、その旨をユーザへ伝達するために、ダイアログボックスなどでユーザへメッセージを表示する。
【００６２】
印刷データ処理部１６は、アプリケーション１２０から受け取った印刷データに対して、時刻指定印刷などの印刷コマンドを印刷データへ付加して、プリンタ２００に対する印刷データを送信する。
【００６３】
［プリンタ設定値を変更するシーケンス］
次に、ネットワークプリントシステム１において実行される処理の流れについて図面を用いて説明する。まず、プリンタ２００に対して設定値を変更するときに実行される処理の流れについて説明する。図７に示すように、ユーザが入力する「規定の時間」「稼働率の上限」「印刷時刻の設定」の値を引数として、プリンタＵＩ部２９から設定値保存部２８に対して、各値に対する設定値の保存を指示する。
【００６４】
図１８は、プリンタＵＩ２９においてユーザに定時される設定値入力画面２９１の例を示す図である。図１８に示すように、設定値入力画面２９１は、「規定の時間」を秒数で入力する為のテキストボックスと、「稼働率の上限」を数字で入力するためのテキストボックスと、「印刷時刻」の“時”と“分”を入力するためのスピン付きのテキストボックスと、を備える。各入力欄に所定の情報を入力し、ＯＫボタンを操作することにより、設定値保存部２８に対して、各値（パラメータ）に対する設定値が保存される。
【００６５】
［プリンタ２００がプリンタドライバ１１１へ応答するシーケンス］
次に、ネットワークプリントシステム１において実行される処理であって、プリンタ２００がプリンタドライバ１１１からの問い合わせに応答する処理の流れについて説明する。図８に示すように、まず、プリンタドライバ１１１から問い合わせ受付部２７に対して「現在の閾値」を問い合わせると、問い合わせ受付部２７が現在閾値算出部２４に対して「現在の閾値」を要求する（Ｓ８０１）。
【００６６】
現在閾値算出部２４は、閾値保持部２５に対して「現在の閾値」を算出するための、その曜日と、その時間帯の「閾値」を問い合わせる（Ｓ８０２）。続いて、現在閾値算出部２４は、閾値係数保持部２６に対して「月の係数」を問い合わせる（Ｓ８０３）。また、現在閾値算出部２４は、閾値係数保持部２６に対して「日の係数」を問い合わせる（Ｓ８０４）。続いて、現在閾値算出部２４は、「閾値」と「月の係数」と「日の係数」とを掛け合わせて「現在の閾値」を算出し、算出された「現在の閾値」を問い合わせ受付部２７に通知する（Ｓ８０５）。
【００６７】
次に、問い合わせ受付部２７は、設定値保存部２８に対して、「規定のサイズ」と「印刷時刻」を問い合わせる（Ｓ８０６）。その後、問い合わせ受付部２７は、プリンタドライバ１１１に対して「現在の閾値」、「規定のサイズ」、「印刷時刻」を返す（Ｓ８０７）。
【００６８】
［プリンタ２００がプリンタドライバ１１１へ印刷データを受け取ったシーケンス］
次に、ネットワークプリントシステム１において、プリンタ２００がプリンタドライバ１１１から印刷データを受け取った後の処理の流れについて説明する。図９に示すように、まず、プリンタドライバ１１１から受け取った印刷データを、印刷ジョブ処理部２１が解釈して、時刻指定印刷の設定がされているか否かを判定する（Ｓ９０１）。
【００６９】
印刷データに時刻指定印刷の設置がなされていた場合について説明する。この場合、印刷ジョブ処理部２１は、印刷ジョブ保留部２２に対して印刷ジョブの保留を依頼する（Ｓ９０２）。実際の印刷処理を開始する前には、印刷ジョブ処理部２１は、印刷処理にかかる時刻を計測する（Ｓ９０３）。その後、印刷ジョブ処理部２１は、印刷処理を実行する（Ｓ９０４）。
【００７０】
印刷処理を終了した印刷ジョブ処理部２１は、ジョブ履歴保存部２３に対して、当該印刷を実行した「ユーザ名」、印刷を実行した「日時」、印刷ジョブに係る「ＰＤＬの種類」、実際に「印刷に要した時間」を引数として、印刷ジョブ履歴の保存を依頼する（Ｓ９０５）。
【００７１】
印刷ジョブ処理部２１は、印刷処理が終了し、印刷ジョブ履歴を保存した後に、ジョブ履歴保存部２３に対してジョブ履歴更新処理を指示する（Ｓ９０６）。続いて、ジョブ履歴保存部２３は、閾値保持部２５に対して「閾値」の更新処理を依頼する（Ｓ９０７）。閾値保持部２５は、「閾値」を算出して更新するための演算処理に用いる稼働率の上限を設定値保存部２８に対して問い合わせる（Ｓ９０８）。続いて、ジョブ履歴保存部２３は、閾値係数保持部２６に対して「月の係数」の更新処理を依頼する（Ｓ９０９）。続いて、ジョブ履歴保存部２３は、設定値保存部２８に対して、「規定のサイズ」の更新を依頼する（Ｓ９１０）。
【００７２】
［印刷実行時のプリンタドライバ１１１の処理シーケンス］
次に、ネットワークプリントシステム１が印刷処理を実行するときのプリンタドライバ１１１における処理の流れについて説明する。図１０に示すように、まず、クライアント端末１００において印刷処理を実行するための操作が行われた場合を想定する。この場合、プリンタドライバ１１１の問い合わせ部１２がプリンタ２００に対して「現在の閾値」、「規定のサイズ」、「印刷時刻」の問い合わせを実行する（Ｓ１００１）。
【００７３】
Ｓ１００１の後において、問い合わせ部１２は、時刻指定判定部１４に対して、「現在の閾値」と「規定のサイズ」と「印刷時刻」と、を引数として時刻指定をするかどうかの判定を依頼する（Ｓ１００２）。続いて、時刻指定判定部１４が印刷データサイズ取得部１３に対して印刷データのサイズの取得を依頼する（Ｓ１００３）。Ｓ１００３によって、時刻指定判定部１４は印刷処理の対象とされる印刷データのデータサイズを取得する。
続いて、時刻指定判定部１４は、ドライバＵＩ部１１に対して、即時印刷設定の指定がされているか否かを問い合わせる（Ｓ１００４）。Ｓ１００４によって、時刻指定判定部１４は即時印刷の設定がなされているか否かを示す情報を取得する。
【００７４】
続いて、時刻指定判定部１４は、Ｓ１００４において取得した即時印刷の設定、Ｓ１００３において取得した印刷データのデータサイズ、「現在の閾値」、および「規定のサイズ」を元に、時刻指定印刷するかどうかを判定する（Ｓ１００５）。時刻指定印刷をする場合、時刻指定判定部１４は、ユーザ通知部１５に対して、ユーザへ時刻指定印刷を行うことの通知を依頼する（Ｓ１００６）。ユーザ通知部１５は、Ｓ１００６における依頼に基づいて、ダイアログ画面などを表示してユーザへ時刻指定印刷を行うことを通知する（Ｓ１００７）。図２０は、Ｓ１００７においてクライアント端末１００の表示装置１０６に表示される印刷時刻変更通知画面１５１の例である。図２０に示すように、印刷時刻変更通知画面１５１には、印刷処理の対象を明示するファイル名、および指定された時刻が識別できる状態で表示される。
【００７５】
また、時刻指定判定部１４は、時刻指定印刷をすることになった印刷データを印刷データ処理部１６に対して引数として渡すときに、指定された印刷時刻も引数として渡す（Ｓ１００８）。印刷データ処理部１６は、Ｓ１００８において渡された指定時刻を引数とする時刻指定コマンドを印刷データに追加する（Ｓ１００９）。印刷データ処理部１６は、時刻指定コマンドが追加された印刷データをプリンタ２００へ送信する（Ｓ１０１０）。
【００７６】
以上説明したとおり、ネットワークプリントシステム１における印刷処理は、プリンタドライバ１１１がプリンタ２００から取得したデータに基づいて時刻指定印刷とするか否かの判定を動的に行うことができる。
【００７７】
次に、ネットワークプリントシステム１において用いられる各種データについて説明する。
【００７８】
≪印刷ジョブ履歴２３１≫
図１１は、プリンタ２００が有するジョブ履歴保存部に保存される情報の一例を説明する図である。図１１に示すように印刷ジョブ履歴２３１は、プリンタ２００が印刷処理を実行する度に、１つのレコードが形成される。印刷ジョブ履歴２３１を構成する各レコードには、印刷ジョブを一意に識別するための「ジョブＩＤ」、プリンタ２００を利用するユーザを一意に識別するための「ユーザ名」、印刷ジョブを実行したタイミングを示す「日時」、当該印刷ジョブに用いられたＰＤＬの種別を示す「ＰＤＬ」、当該印刷ジョブのデータ量を示す「ジョブサイズ」、当該印刷ジョブの実行の要した時間を示す「印刷所要時間」、が含まれる。
【００７９】
≪ジョブ履歴保存部２３に保存される情報≫
図１２は、プリンタ２００が有するジョブ履歴保存部２３に保存される情報の一例を説明する図である。図１２は、「規定のサイズ」を算出するために印刷ジョブ履歴２３１から抜き出した判定用データ２５１の例である。図１２において、判定用データ２５１は、便宜上、ＰＤＬの種別毎に区別して構成されている。判定用データ２５１は、印刷ジョブ履歴２３１から「ＰＤＬの種類」と「ジョブサイズ」と「印刷所要時間」とを抜き出したものである。
【００８０】
「規定のサイズ」は、印刷ジョブのサイズがそれ以上の大きさだった場合に、時刻指定印刷とするための閾値である。プリンタ２００には、「規定の時間」という設定値が保持されている。「規定の時間」とは、印刷所要時間がその時間を超える場合、時刻指定印刷とするための閾値である。規定の時間はプリンタ２００に設定される値である。
【００８１】
判定用データ２５１に保持されている印刷所要時間は、印刷ジョブ履歴２３１に保持されているものである。すなわち、この「印刷所要時間」は、実際に印刷処理を実行してみなければ定まらないデータである。そこでまず、判定用データ２５１に保持されている過去の印刷履歴から、規定の時間以上かかる可能性のある印刷サイズを求める。具体的には、ＰＤＬごとに、過去の印刷処理において、「既定の時間」よりも処理時間を要した印刷ジョブの中で、ジョブサイズが最も小さいもののジョブサイズを特定する。
【００８２】
例えば、図１２に例示によれば、ＰＤＬの種類が「ＰＳ３」（以下、ＰＳと表記することがある。）と「ＰＣＬ  ＸＬ」（以下、ＰＣＬと表記することがある。）の二種類であって、プリンタ２００に設定されている「規定の時間」が１２０秒の場合について説明する。ＰＳの場合は、符号２５１１にて示したデータ（ジョブサイズが１９，８７２ＫＢ）が規定の時間を超えて、かつ、最も小さいジョブサイズになる。このジョブサイズが、ＰＳの場合の「規定のサイズ」として設定される。また、ＰＣＬの場合は、符号２５１２にて示したデータ（ジョブサイズが１６，６１３ＫＢ）が規定の時間を超えて、かつ、最も小さいジョブサイズになる。このジョブサイズが、ＰＣＬの「規定のサイズ」として設定される。
【００８３】
≪閾値の算出方法≫
次に、ネットワークプリントシステム１において用いられる「閾値」の算出方法について説明する。閾値とは、プリンタ２００が一定の稼働率以上にならないようにするための、即時印刷を行う印刷ジョブの、データサイズの上限である。閾値を超えるデータサイズを有する印刷ジョブは、時刻指定印刷となる。なお、時刻指定印刷において指定される印刷時刻の特定方法は後述する。
【００８４】
閾値は、ＰＤＬの種別ごと、プリンタ２００が印刷処理を実行する曜日ごと、および時間帯ごとに設定される。具体的には、印刷ジョブ履歴２３１に基づいて、ＰＤＬごとに、曜日と時間帯によるプリンタ２００の平均稼働率を算出し、各ＰＤＬの平均稼働率を合算した値を算出する。この算出値をプリンタ２００の全体稼働率とする。この全体稼働率を上限とした場合、当該プリンタ２００の稼働率が全体稼働率以下となる様に、印刷所要時間の大きい印刷ジョブから順に除外していく。全体稼働率以下となったとき、除外した印刷ジョブのうち、ＰＤＬごとに最も小さいデータサイズの「ジョブサイズ」を、ＰＤＬごとの閾値として設定する。ここで、除外した印刷ジョブがなければ、そのＰＤＬではジョブサイズの閾値は設定しない。
【００８５】
例えば、曜日が「月曜日」であって、時間帯が「１０時から１１時」における平均稼働率が図１３（ａ）に示すようであったとする。そして、「月曜日」の「１０時から１１時」において実行された印刷ジョブに係る印刷ジョブ履歴から、印刷所要時間の値が大きい十に並べたものが図１３（ｂ）および図１３（ｃ）に示すようであったとする。この図１３（ａ）および図１３（ｂ）の例示を用いて「月曜日」の「１０時から１１時」の時間帯に係る閾値を算出する例を説明する。なお、計算を簡単にするために、印刷所要時間は分単位としているが、ミリ秒単位など、もっと細かい単位を使用してもよい。
【００８６】
ＰＤＬごとの平均稼働率は、月曜日の１０時から１１時にプリンタ２００が受け付けた印刷ジョブのＰＤＬごとの合計印刷所要時間を、１０時から１１時の間に印刷ジョブ履歴（ログ）を記録した時間の合計で割った値となる。時刻指定印刷と判定され、夜間などに印刷を実行したジョブについても、１０時から１１時にプリンタ２００が受け付けた印刷ジョブであれば、１０時から１１の間の印刷ジョブとして印刷所要時間に含んで計算する。
【００８７】
図１３（ａ）に示すように、１０時から１１時の間で印刷ジョブのログを記録した時間が６２０分（６２０ｍ）であって、合計印刷所要時間がＰＳの場合が１５５（１５５ｍ）、ＰＣＬの場合が１８６分（１８６ｍ）である。この場合、ＰＤＬ毎の平均稼働率と、プリンタ２００の全体稼働率は、以下のように算出される。
【００８８】
ＰＳ３に係る平均稼働率は、２５％（＝１５５÷６２０×１００）となる。ＰＣＬに係る平均稼働率は、３０％（＝１８６÷６２０×１００）となる。そこで、プリンタ２００の全体稼働率は、５５％（＝２５％＋３０％）となる。
【００８９】
続いて、プリンタ２００の全体稼働率が稼働率の上限として定める５０％を下回るまで、印刷所要時間の大きい印刷ジョブから順に除外しながら、プリンタ２００の全体稼働率の計算を繰り返す。
【００９０】
すなわち、図１３（ｂ）と図１３（ｃ）の印刷ジョブの中で、符号２５５１にて示した「印刷所要時間＝１０ｍ」のものを除外して、各ＰＤＬにおける平均稼働率を再計算する。この場合、ＰＳに係る平均稼働率は変わらず２５％であるが、ＰＣＬに係る平均稼働率は２８．４％（＝（１８６―１０）÷６２０×１００）となる。そこで、プリンタ２００の全体稼働率は、５３．４％（＝２５％＋２８．４％）となる。この場合、全体平均稼働率が稼働率の上限を下回っていないため、次に印刷所要時間が大きい印刷ジョブを除外する。
【００９１】
すなわち、図１３（ｂ）と図１３（ｃ）の印刷ジョブの中で、符号２５５２にて示した「印刷所要時間＝９ｍ」のものを除外して平均稼働率を再計算する。この場合、ＰＳに係る平均稼働率は変わらず（２５％）、ＰＣＬに係る平均稼働率は２６．９％（＝（１８６―１０−９）÷６２０×１００）となる。したがって、プリンタ２００の全体稼働率は、５１．９％（＝２５％＋２６．９％）となり、まだ、全体平均稼働率が稼働率の上限を下回っていない。そこで、次に印刷所要時間が大きい印刷ジョブをさらに除外する。
【００９２】
すなわち、図１３（ｂ）と図１３（ｃ）の印刷ジョブの中で、符号２５５３にて示した「印刷所要時間＝９ｍ」のものを除外して平均稼働率を再計算する。この場合、ＰＳに係る平均稼働率は変わらず（２５％）、ＰＣＬに係る平均稼働率は２５．５％（＝（１８６―１０−９−９）÷６２０×１００）となる。したがって、プリンタ２００の全体稼働率は、５０．５％（＝２５％＋２５．５％）となり、まだ、全体平均稼働率が稼働率の上限を下回っていない。そこで、次に印刷所要時間が大きい印刷ジョブをさらに除外する。
【００９３】
すなわち、図１３（ｂ）と図１３（ｃ）の印刷ジョブの中で、符号２５４１にて示した「印刷所要時間＝８ｍ」のものを除外して平均稼働率を再計算する。この場合、ＰＳに係る平均稼働率は２３．７％（＝（１５５−８）÷６２０×１００）となり、ＰＣＬに係る平均稼働率は２５．５％となる。この場合、プリンタ２００の全体稼働率は、４９．２％（＝２３．７％＋２５．５％）となる。ここで、全体平均稼働率が稼働率の上限を下回るので、この数値に至るまでに除外された各ＰＤＬの印刷ジョブのうち、最も小さいジョブサイズを「閾値」とする。この場合、ＰＳに係る閾値は「２００ＭＢ」、ＰＣＬに係る閾値は「２９０ＭＢ」となる。
【００９４】
以上のように、ＰＤＬごとの閾値が算出される。このＰＤＬごとの閾値に対して、月の係数と日の係数を掛け合わせることで「現在の閾値」を算出することができる。
【００９５】
≪月の係数≫
次に、月の係数の算出方法について説明する。図１４は、プリンタ２００が有するジョブ履歴保存部に保存される情報の一例を説明する図である。月の係数は、月の稼働率を全体の稼働率で除算することで算出される値である。例えば、図１４（ａ）に示す様に、１月のログ記録時間が「２５５ｈ」、合計印刷所要時間が「３６ｈ」とする。また、全体のログ記録時間が「６００ｈ」、合計印刷所要時間が「１００ｈ」とする。この場合、１月の係数は「０．８（（＝３６÷２２５）÷（１２０÷６００））」となる。なお、合計印刷所要時間が０時間の場合は、その月の係数は「１」とする。上記のように、各月の係数が算出された結果が、図１４（ｂ）に示すように、月ごとの係数として、閾値係数保持部２６に保持される。
【００９６】
≪日の係数≫
次に、日の係数の算出方法について説明する。図１５は、プリンタ２００が有するジョブ履歴保存部に保存される情報の一例を説明する図である。日の係数は、その日の稼働率を全体の稼働率で除算することで算出される値である。例えば、図１５（ａ）に示すように、３１日の合計印刷所要時間が「６．５ｈ」、３１日のログ記録時間が「２５ｈ」、全体の合計印刷所要時間が「１２０ｈ」、全体のログ記録時間が「６００ｈ」とする。この場合、３１日の係数は「１．３（＝（６．５÷２５）÷（１２０÷６００））」となる。なお、合計印刷所要時間が０時間の場合、その日の係数は「１」とする。上記のように、各日の係数が算出された結果が、図１５（ｂ）に示すように、日毎の係数として、閾値係数保持部２６に保持される。
【００９７】
［最適な印刷時刻を算出する方法］
次に、プリンタＵＩ部２９を介して印刷時刻を設定するときに、印刷ジョブ履歴から最適な時刻を計算する例について説明する。
【００９８】
図１６は、ジョブ履歴保存部２３に保存されている印刷ジョブ履歴に基づく、連続した時間帯ごとのログ記録時間、合計印刷所要時間、平均稼働率を一覧にしたデータの例である。図１６は、３時間を「連続した時間帯」の単位とした例である。この場合、３時間単位の平均稼働率を、１時間ごとに算出する。すなわち、０時から３時までのログ記録時間等を算出した場合、次には、１時から４時までのログ記録時間等を算出する。このように、連続した時間帯に係るログ記録時間等を、所定の時間ごとに算出し、結果として、平均稼働率が最も低い時間を最適な印刷時刻とする。この場合、最適な印刷時刻とは、当該時間帯の開始時刻とする。
【００９９】
以上のように、連続した時間帯で印刷ジョブ履歴を捉えてから最適な印刷時刻を算出とするのは、データサイズの大きい印刷ジョブをまとめて処理するためには、ある程度の時間を要するからである。すなわち、データサイズの大きな印刷ジョブの処理が終了するまでに十分な時間を確保できる時間帯を特定するために、連続した時間帯で印刷ジョブ履歴を捉えるようにする。なお、図１６に例示したように、平均稼働率が最低値となる時間帯が複数存在するときには、最低平均稼働率がより多く連続している時間帯の開始時刻を最適な印刷時刻として設定する。図１６の例であれば、平均稼働率の最低値は「０％」であって、この値が０時から７時まで連続している。この場合、当該時間帯の開始時刻である０時を最適な印刷時刻とする。
【０１００】
［処理フロー］
次に、ネットワークプリントシステム１において実行される印刷処理のフローについて図１７を用いて説明する。この処理フローは、プリンタドライバ１１１の時刻指定判定部１４が、即時印刷を行うか、時刻指定印刷を行うかの判断を行う処理について説明している。
【０１０１】
まず、印刷管理システム１１０かプリンタドライバ１１１に対して印刷データが通知されると、時刻指定判定部１４が、当該印刷データのデータサイズを取得し、合わせて、即時印刷の設定が予めなされているから否かを取得する（Ｓ１７０１）。すでに説明したとおり、ユーザはドライバＵＩを介して即時印刷の設定を有効にすることができる。したがって、即時印刷の設定が有効になっている場合（Ｓ１７０１：Ｙｅｓ）、当該印刷ジョブに対する処理は即時印刷とすることが確定する。そこで、即時印刷処理を実行する（Ｓ１７０４）。なお、即時印刷処理とは、印刷ジョブを保留せずに即実行する処理をいう。すなわち、即時印刷の設定が有効になっている場合は、プリンタ２００の過去の稼働状況から分析されて導出された最適な実行タイミングが別のタイミングであったとしても、即実行する。
【０１０２】
Ｓ１７０１において、即時印刷の設定が無効の場合（Ｓ１７０１：ＮＯ）、印刷データのデータサイズが規定のサイズを超えるか否かの判定を行う（Ｓ１７０２）。印刷データのデータサイズが規定のサイズを超える場合（Ｓ１７０２：Ｙｅｓ）、当該印刷ジョブに対する処理は時刻指定印刷とすることが確定する。そこで、時刻指定印刷処理を実行する（Ｓ１７０５）。なお、時刻指定印刷処理とは、プリンタＵＩ部２９を介して予め設定された「印刷時刻」において印刷ジョブの処理を実行する。印刷データのデータサイズが規定のサイズを超えない場合（Ｓ１７０２：Ｎｏ）、印刷データサイズが現在の閾値（プリンタ２００から取得した現在の閾値）を超えるか否かの判定を行う（Ｓ１７０３）。
【０１０３】
印刷データのデータサイズが現在の閾値を超える場合は（Ｓ１７０３：ＹＥＳ）、当該印刷ジョブに対する処理は時刻指定印刷とすることが確定する。そこで、時刻印刷処理を実行する（Ｓ１７０５）。印刷データのデータサイズが現在の閾値を超えない場合は（Ｓ１７０３：ＮＯ）、当該印刷ジョブに対する処理は即時印刷とすることが確定する。そこで、即時印刷処理を実行する（Ｓ１７０４）。
【０１０４】
以上説明をした本実施形態によれば、印刷データのサイズに一定の閾値を設けて、当該閾値よりもデータサイズが大きい印刷ジョブに対する印刷処理は、夜間などにまとめて印刷できるようにする。ここで、閾値はプリンタ２００の稼働状況に基づいて、「月」、「日」、「曜日」、「時間帯」に対して最適な値を算出するための演算処理を実行する。この演算処理の結果、データ量の多い印刷ジョブの処理中に他のジョブが処理できない状況をプリンタ２００の稼働状況において最適な条件で減少させることができ、他のユーザ全体のパフォーマンスの体感をより向上させることができる。
【０１０５】
なお、以上説明をした実施形態は、本発明の範囲を限定するものではない。例えば、クライアント端末１００が、印刷ジョブ処理部２１、印刷ジョブ保留部２２、現在閾値算出部２４、閾値保持部２５、閾値係数保持部２６、設定値保存部２８に相当する機能をそなえてもよい。また、ネットワークプリントシステム１を構成する複数のクライアント端末１００のそれぞれに、同様の機能をそなえてもよいし、一部の機能を分散して備え、強調して動作させるようにしてもよい。
【符号の説明】
【０１０６】
１      ネットワークプリントシステム
１１    ドライバＵＩ部
１２    問い合わせ部
１３    印刷データサイズ取得部
１４    時刻指定判定部
１５    ユーザ通知部
１６    印刷データ処理部
１９    即時印刷指定画面
２１    印刷ジョブ処理部
２２    印刷ジョブ保留部
２３    ジョブ履歴保存部
２４    現在閾値算出部
２５    閾値保持部
２６    閾値係数保持部
２７    問い合わせ受付部
２８    設定値保存部
２９    プリンタＵＩ部
１００  クライアント端末
１１０  印刷管理システム
１１１  プリンタドライバ
１１２  プリンタ設定情報保持ファイル
１１３  プリンタ設定情報書換モジュール
１１４  印刷データ生成モジュール
１１５  スプーラ
１１６  フィルタパイプライン形成情報ファイル
１１７  データ変換モジュール
１１８  バックエンドモジュール
１２０  アプリケーション
２００  プリンタ
【先行技術文献】
【特許文献】
【０１０７】
【特許文献１】特開平９−２８２１２１号公報
【図１】
2019053398.tif 000003
【図２】
2019053398.tif 000004
【図３】
2019053398.tif 000005
【図４】
2019053398.tif 000006
【図５】
2019053398.tif 000007
【図６】
2019053398.tif 000008
【図７】
2019053398.tif 000009
【図８】
2019053398.tif 000010
【図９】
2019053398.tif 000011
【図１０】
2019053398.tif 000012
【図１１】
2019053398.tif 000013
【図１２】
2019053398.tif 000014
【図１３】
2019053398.tif 000015
【図１４】
2019053398.tif 000016
【図１５】
2019053398.tif 000017
【図１６】
2019053398.tif 000018
【図１７】
2019053398.tif 000019
【図１８】
2019053398.tif 000020
【図１９】
2019053398.tif 000021
【図２０】
2019053398.tif 000022