(57)【要約】【課題】多量の印刷データを情報処理装置から印刷装置に送信する場合においても、高パフォーマンスかつ信頼度の高い印刷処理を実現することができる情報処理装置を提供する。【解決手段】印刷装置と通信して、情報処理装置が印刷装置に対して生成したそれぞれの印刷ジョブのステータスを取得し、それぞれの印刷ジョブのステータスの一覧として保持する第１の取得手段と、印刷装置と通信して、印刷装置が保持するそれぞれの印刷ジョブについての情報を取得し、印刷装置が保持するそれぞれの印刷ジョブの一覧として保持する第２の取得手段と、保持された一覧を参照し、情報処理装置が印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、若しくは、印刷装置が保持する印刷ジョブが予め定められた閾値以上である場合に、印刷ジョブの送信を停止する停止手段とを備える。【選択図】図１０
2010128989.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置における印刷処理のための印刷ジョブを生成し、前記印刷装置に送信する情報処理装置であって、
前記印刷装置と通信して、前記情報処理装置が前記印刷装置に対して生成したそれぞれの印刷ジョブのステータスを取得し、それぞれの印刷ジョブのステータスの一覧として保持する第１の取得手段と、
前記印刷装置と通信して、前記印刷装置が保持するそれぞれの印刷ジョブについての情報を取得し、前記印刷装置が保持するそれぞれの印刷ジョブの一覧として保持する第２の取得手段と、
前記第１の取得手段と前記第２の取得手段とによって保持された一覧を参照し、前記情報処理装置が前記印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、若しくは、前記印刷装置が保持する印刷ジョブが予め定められた閾値以上である場合に、印刷ジョブの送信を停止する停止手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記印刷ジョブのステータスとは、印刷中状態、印刷待ち状態、ジョブ処理中状態、ジョブ処理待ち状態、転送中状態、転送待ち状態のうち、少なくとも１つを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷装置が保持する印刷ジョブについての情報とは、ユーザ名と、ページ数と、データサイズと、排紙先トレイと、印刷終了予測時刻と、印刷優先度とのうち、少なくとも１つを含むことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記停止手段は、更に、前記第２の取得手段によって保持された一覧を参照して、前記印刷装置が保持するそれぞれの印刷ジョブにより指定されている排紙先トレイの数とそれぞれの印刷ジョブに対応するユーザ名の数とを比較する比較手段を備え、
前記情報処理装置が前記印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、前記印刷装置が保持する印刷ジョブが予め定められた閾値以上であるか、若しくは、前記ユーザ名の数が前記排紙先トレイの数より大きい場合に、印刷ジョブの送信を停止することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の情報処理装置と、
ネットワークを介して前記情報処理装置と接続される前記印刷装置とを含む情報処理システム。
【請求項６】
印刷装置における印刷処理のための印刷ジョブを生成し、前記印刷装置に送信する情報処理装置において実行される情報処理方法であって、
前記情報処理装置の第１の取得手段が、前記印刷装置と通信して、前記情報処理装置が前記印刷装置に対して生成したそれぞれの印刷ジョブのステータスを取得し、それぞれの印刷ジョブのステータスの一覧として保持する第１の取得工程と、
前記情報処理装置の第２の取得手段が、前記印刷装置と通信して、前記印刷装置が保持するそれぞれの印刷ジョブについての情報を取得し、前記印刷装置が保持するそれぞれの印刷ジョブの一覧として保持する第２の取得工程と、
前記情報処理装置の停止手段が、前記第１の取得工程と前記第２の取得工程とにおいて保持された一覧を参照し、前記情報処理装置が前記印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、若しくは、前記印刷装置が保持する印刷ジョブが予め定められた閾値以上である場合に、印刷ジョブの送信を停止する停止工程と
を備えることを特徴とする情報処理方法。
【請求項７】
印刷装置における印刷処理のための印刷ジョブを生成し、前記印刷装置に送信するための情報処理プログラムであって、
前記印刷装置と通信して、前記印刷装置に対して生成したそれぞれの印刷ジョブのステータスを取得し、それぞれの印刷ジョブのステータスの一覧として保持する第１の取得手段と、
前記印刷装置と通信して、前記印刷装置が保持するそれぞれの印刷ジョブについての情報を取得し、前記印刷装置が保持するそれぞれの印刷ジョブの一覧として保持する第２の取得手段と、
前記第１の取得手段と前記第２の取得手段とによって保持された一覧を参照し、前記印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、若しくは、前記印刷装置が保持する印刷ジョブが予め定められた閾値以上である場合に、印刷ジョブの送信を停止する停止手段と
してコンピュータを機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷のための印刷ジョブを処理する情報処理装置、方法、プログラム、システムに関する。
【背景技術】
【０００２】
従来、印刷制御装置へ大量の印刷データを転送して印刷する印刷システムにおいて、印刷制御装置のデータバスの幅や容量、受信バッファの容量などの制限に応じて、印刷データの転送量を調節することで印刷制御装置の負荷を軽減する技術が実現されている。（特許文献１）。
【０００３】
また、印刷制御装置における印刷データの蓄積量に応じて、印刷制御装置から、印刷データの転送を要求する信号または印刷データの転送停止を要求する信号を送信する技術が実現されている（特許文献２）。
【特許文献１】特開平０９−０７３３７４号公報
【特許文献２】特開平１０−２３１３２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した印刷システムが印刷データの転送量を調節する技術においては、複数の印刷システムにおいて１つの印刷制御装置が存在する構成で、印刷制御装置へ大量の印刷データを転送するようなケースがある。そのようなケースにおいて、転送量を調節するタイミングによっては、印刷データを転送できない印刷システムが発生する場合がある。すなわち、特定の印刷システムに処理が偏ってしまうおそれがある。
【０００５】
また、印刷制御装置が印刷データの蓄積量を判断する手段および印刷データの転送要求・転送停止要求の信号を送信する手段により印刷データの転送量を調節する技術においては、印刷制御装置が上述の技術を有しない場合も考えられる。そのような場合には、印刷システムから印刷データを大量に転送してしまうため、印刷制御装置の負荷が大きくなる。
【０００６】
そこで、上記の点に鑑み、本発明は、多量の印刷データを情報処理装置から印刷装置に送信する場合においても、高パフォーマンスかつ信頼度の高い印刷処理を実現することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る情報処理装置は、印刷装置における印刷処理のための印刷ジョブを生成し、前記印刷装置に送信する情報処理装置であって、前記印刷装置と通信して、前記情報処理装置が前記印刷装置に対して生成したそれぞれの印刷ジョブのステータスを取得し、それぞれの印刷ジョブのステータスの一覧として保持する第１の取得手段と、前記印刷装置と通信して、前記印刷装置が保持するそれぞれの印刷ジョブについての情報を取得し、前記印刷装置が保持するそれぞれの印刷ジョブの一覧として保持する第２の取得手段と、前記第１の取得手段と前記第２の取得手段とによって保持された一覧を参照し、前記情報処理装置が前記印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、若しくは、前記印刷装置が保持する印刷ジョブが予め定められた閾値以上である場合に、印刷ジョブの送信を停止する停止手段とを備えることを特徴とする。
【０００８】
また、本発明に係る情報処理装置は、印刷装置における印刷処理のための印刷ジョブを生成し、前記印刷装置に送信する情報処理装置において実行される情報処理方法であって、前記印刷装置と通信して、前記情報処理装置が前記印刷装置に対して生成したそれぞれの印刷ジョブのステータスを取得し、それぞれの印刷ジョブのステータスの一覧として保持する第１の取得工程と、前記印刷装置と通信して、前記印刷装置が保持するそれぞれの印刷ジョブについての情報を取得し、前記印刷装置が保持するそれぞれの印刷ジョブの一覧として保持する第２の取得工程と、前記第１の取得工程と前記第２の取得工程とにおいて保持された一覧を参照し、前記情報処理装置が前記印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、若しくは、前記印刷装置が保持する印刷ジョブが予め定められた閾値以上である場合に、印刷ジョブの送信を停止する停止工程とを備えることを特徴とする。
【０００９】
更に、本発明に係る情報処理プログラムは、印刷装置における印刷処理のための印刷ジョブを生成し、前記印刷装置に送信するための情報処理プログラムであって、前記印刷装置と通信して、前記印刷装置に対して生成したそれぞれの印刷ジョブのステータスを取得し、それぞれの印刷ジョブのステータスの一覧として保持する第１の取得手段と、前記印刷装置と通信して、前記印刷装置が保持するそれぞれの印刷ジョブについての情報を取得し、前記印刷装置が保持するそれぞれの印刷ジョブの一覧として保持する第２の取得手段と、前記第１の取得手段と前記第２の取得手段とによって保持された一覧を参照し、前記印刷装置に対して送信済みのジョブ数が予め定められた閾値以上であるか、若しくは、前記印刷装置が保持する印刷ジョブが予め定められた閾値以上である場合に、印刷ジョブの送信を停止する停止手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、印刷制御装置における印刷データの総量および情報処理装置から転送済みの印刷データの総量に応じて、印刷制御装置への印刷データの転送を制御する。そのことにより、複数の情報処理装置が１つの印刷制御装置へ大量の印刷データを転送する場合においても、高パフォーマンスかつ信頼度の高い印刷処理を実現することができる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【実施例１】
【００１２】
＜情報処理システムの構成例＞
図１は、本発明にかかわる情報処理システムの全体構成を示す図である。なお、以下の説明における情報処理システム全体の環境は本発明の説明を理解し易くするためのものであり、本発明はこれらの環境に限定されるものではない。
【００１３】
同図において、１０１、１０２、１０３は、ネットワーク１０６に接続され、相互に通信可能なネットワークコンピュータ（以下、単にコンピュータと略す）である。典型的にはパーソナルコンピュータ（ＰＣ。情報処理装置）であり、それぞれイーサネット（登録商標）などのネットワークケーブルによってネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能である。
【００１４】
コンピュータ１０１、１０２、１０３はコンピュータ１０１、１０２、１０３において生成した印刷ジョブデータ（以下、単にジョブデータという）をプリンタ１０４、１０５に転送する機能を有する。また、コンピュータ１０１、１０２、１０３はプリンタ１０４、１０５が受信して処理または保存しているジョブデータの情報を、ネットワーク１０６を介して取得して表示、編集することが可能である。
【００１５】
１０４、１０５は、印刷制御装置としてのネットワークプリンタ（以下、単にプリンタと略す）である。プリンタ１０４、１０５は、不図示のネットワークインタフェースを介してネットワーク１０６と接続されており、コンピュータ１０１〜１０３から送信されてくる印字データを含むジョブデータを解析し、１ページずつドットイメージに変換して印刷する。
【００１６】
また、コンピュータ１０１〜１０３から受信したジョブデータをプリンタ１０４、１０５のユーザインタフェースに表示したり、コンピュータ１０１、１０２、１０３へメールなどによって送信したり、図示しないファクシミリ装置などにＦＡＸ送信したりする。
以下、プリンタ１０４、１０５を区別する必要がある場合にはそれぞれプリンタＡ、プリンタＢと記す。なお、各プリンタの機能は相違するものであってもよい。
【００１７】
また、１０６はネットワークであり、コンピュータ１０１、１０２、１０３やプリンタ１０４、１０５等と接続している。
【００１８】
＜ネットワークコンピュータのハードウェア構成例＞
図２は、コンピュータ１０１、１０２、１０３の構成を説明するブロック図である。図２において、２００は装置全体の制御を行うＣＰＵである。ＣＰＵ２００は、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施例の情報処理プログラム等を実行する。また、ＣＰＵ２００は、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御も行う。
【００１９】
２０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２０】
２０３は記憶媒体読み込み手段としてのフロッピディスクドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて、記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータにロードすることができる。２０４は記憶媒体であるフロッピディスク（ＦＤ）であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。なお、記憶媒体はＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２１】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、情報処理プログラム、関連プログラム等を格納している。
【００２２】
２０６は指示入力手段であるキーボードであり、ユーザがコンピュータに対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００２３】
２０８はシステムバスであり、コンピュータ内のデータの流れを司るものである。
２０９は外部との入出力手段であるインタフェースであり、インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００２４】
なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データやプログラムの格納先は、その特徴に応じてＲＯＭ、ＲＡＭ、ＨＤなどで変更することも可能である。
【００２５】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる本発明の情報処理システムを制御する情報処理プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００２６】
なお、本実施例では、情報処理プログラムおよび関連データをＦＤ２０４から直接、ＲＡＭ２０２にロードして実行させる例を示す。しかしながら、これ以外にも、情報処理プログラムを動作させる度に、既に情報処理プログラムがＦＤ２０４からインストールされているＨＤ２０５から、ＲＡＭ２０２にロードするようにしてもよい。
【００２７】
また、本情報処理プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤＲ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本情報処理プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接、ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２８】
３０１は基本Ｉ／Ｏプログラムであり、コンピュータの電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムである。３０２はオペレーティングシステム（ＯＳ）であり、３０３は情報処理プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本情報処理プログラムを実行する領域が確保されている。
【００２９】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施例で説明する情報処理プログラム、４０４はその関連データである。情報処理プログラム４０３は、本実施例で説明するフローチャートに基づいてプログラム化したものである。
【００３０】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、本実施例で説明する情報処理プログラムおよび関連データが格納されている。
【００３１】
＜本実施例におけるソフトウェア構成例＞
図６は、本実施例の情報処理装置における情報処理システムの構成を機能モジュール毎に示した構成図である。各モジュールは本発明の請求項における各手段を実現するための機能を有し、図１０および図１１の処理を実行する。
【００３２】
６０１は、後述するジョブ管理表示部６０３が表示するユーザインタフェース（図示せず）からユーザが指示した印刷データと出力設定情報（印刷部数やページ数、出力用紙サイズ、排紙先トレイ、優先度など）を受け付けるジョブ受付部である。なお、ジョブ受付部６０１は、ジョブ管理表示部６０３からのジョブの受付だけでなく、図示しない外部のアプリケーションから印刷データと出力設定情報を受け付けるようにしてもよい。
【００３３】
６０２は、ジョブ受付部６０１が受け付けた印刷データと出力設定情報から出力先プリンタで処理可能なジョブデータ（図７）を生成するジョブ生成部である。
【００３４】
６０３は、後述する図１２に示すようなユーザインタフェースを表示するジョブ管理表示部である。ジョブ管理表示部６０３では、本実施例の情報処理システムが管理可能なジョブデータのプリンタでの処理状況を表示する。また、ユーザは図示しないユーザインタフェースから、印刷データと出力設定情報を指定して印刷実行の指示を行うことができる。
【００３５】
６０４は、ジョブ生成部６０２から受け取ったジョブデータのスケジューリングを行い、送信キュー６０６へジョブデータを順次出力するスプーラである。スプーラ６０４は、出力先プリンタへジョブを送信する際にジョブ追跡部６０７により発行されたジョブ追跡用ＩＤを出力設定情報に付与する。また、スプーラ６０４は、ジョブデータ記憶部６０５にジョブデータを格納して管理する。
【００３６】
６０５は、スプーラ６０４が受け付けたジョブデータや、過去にスプーラ６０４を経由してプリンタへ送信したジョブデータを記憶するジョブデータ記憶部である。記憶したジョブデータは再印刷などに利用される。
【００３７】
６０６は、スプーラ６０４から受け付けたジョブデータをキューイングしてデータ送受信部６１１を経由して出力先プリンタへジョブデータを送信する送信キューである。送信キュー６０６はジョブ追跡部６０７やプリンタジョブ情報管理部６０９から受信した情報により、図１０に示すようなキューの停止・再開（ジョブ送信の停止・再開）の制御を行う。
【００３８】
なお、キューの停止や再開に利用する既定値（制限値）の情報は情報処理システム内にあらかじめ（図示しないファイルなどに）定義しておき、送信キュー６０６によって読み込まれる。
【００３９】
６０７は、スプーラ６０４からの指示によりユニークなジョブ追跡用ＩＤを発行するジョブ追跡部である。また、ジョブ追跡部６０７では、図８に示すようなジョブ追跡情報リスト８００を生成し、スプーラ６０４から出力先プリンタへ送出されたジョブデータの処理状況を追跡する。追跡情報は、ジョブ管理表示部６０３へ通知され、ジョブ管理表示部６０３によりユーザインタフェースへ表示される。
【００４０】
６０８は、図８に示すようなジョブ追跡情報リスト８００を記憶するジョブ追跡情報記憶部である。ジョブ追跡情報リスト８００はジョブ追跡部６０７がジョブデータの処理状況を追跡するために使用する。
【００４１】
６０９は、データ送受信部６１１を経由してプリンタ１０４、１０５からプリンタ内で処理中のジョブ情報を取得して管理するプリンタジョブ情報管理部である。プリンタジョブ情報管理部６０９では、図１２に示すシーケンスで取得したジョブ情報を記録した図９に示すようなプリンタジョブ情報リスト９００を生成してプリンタジョブ情報記憶部６１０へ格納する。
【００４２】
６１０は、図９に示すようなプリンタジョブ情報リスト９００を記憶するプリンタジョブ情報管理部である。
【００４３】
６１１は、ネットワーク１０６を介してプリンタ１０４、１０５へジョブデータを送信したり、プリンタ１０４、１０５から情報を受信したりするデータ送受信部である。
【００４４】
＜本実施例におけるジョブデータの例＞
図７は、本実施例の情報処理システムにおいて、ジョブ生成部６０２が生成してプリンタ１０４、１０５へ送信するジョブデータ７００のフォーマットを示す図である。ジョブデータ７００は本発明において、プリンタ１０４、１０５で印刷を実行するために必要なデータを含んでおり、情報処理システムがジョブデータの処理状況を追跡するために必要なジョブ追跡用ＩＤも含んでいる。
【００４５】
７０１は、ジョブデータをプリンタ１０４、１０５へ送信するために必要な情報や送信するジョブデータの情報を含むヘッダ情報である。
【００４６】
７０２は、プリンタ１０４、１０５へ指示を行う出力設定を含む出力設定情報である。出力設定情報はジョブ管理表示部６０３でユーザが指示した出力設定情報から生成する。すなわち、出力設定には例えば印刷部数やページ数、出力用紙サイズ、排紙先、優先度などが含まれる。また、ジョブ追跡部６０７が生成したジョブ追跡用ＩＤもここに設定される。
【００４７】
７０３にはプリンタ１０４、１０５に描画させる出力データの描画情報が含まれる。なお、ジョブデータ７００は上記形式に限定されるものではなく、印刷対象となる出力データの出力設定情報と描画情報を識別できるものであればどのような形式でもよい。
【００４８】
＜本実施例におけるジョブ追跡情報リストの例＞
図８は、本実施例における情報処理システムのジョブ追跡情報記憶部６０８に記憶されるジョブ追跡情報リスト８００の一例を示す図である。ジョブ追跡情報リスト８００は、プリンタ１０４、１０５へコンピュータ自らが送信したジョブデータの処理状況を追跡するための情報を保持している。ここで、他のコンピュータから送信されたジョブデータの情報は、含まれていない。
【００４９】
ジョブ追跡情報リスト８００には、ジョブ名８０１、ジョブＩＤ８０２、機器内ジョブＩＤ８０３、プリンタ８０４、ステータス８０５などが登録されている。
【００５０】
ジョブ名８０１は、ジョブデータに割り当てられたジョブデータの名称を示す情報である。ジョブ名８０１は、例えばユーザが指定したものであってもよいし、印刷データの名称でもよい。主に、ジョブ管理表示部６０３が表示するジョブリストにおいて、ユーザがジョブデータを識別するために利用される情報である。
【００５１】
ジョブＩＤ８０２は、情報処理システムにおいて、ジョブデータを追跡するためにジョブ追跡部６０７が一意に割り当てた識別情報（ジョブ追跡用ＩＤ）である。機器内ジョブＩＤ８０３は、プリンタ１０４、１０５においてジョブデータに割り当てられた識別情報である。
【００５２】
プリンタ１０４、１０５に対して、ジョブデータの情報の問い合わせやジョブデータの操作を行う際には、機器内ジョブＩＤ８０３によりジョブデータを指定する。プリンタ８０４は、ジョブデータに対して出力処理などが実行される出力先プリンタ名（プリンタオブジェクトの名称）を示す情報である。
【００５３】
ステータス８０５は、ジョブデータの処理ステータスを示す情報である。例えば、本実施例において、「ジョブ処理待ち状態」、「ジョブ処理中状態」、「印刷待ち状態」、「印刷中状態」のステータスはプリンタ内にジョブが存在し、プリンタ内で処理を待っていたり、処理が実行されていることを示す。また、「ジョブ転送待ち状態」、「ジョブ転送中状態」は、まだ、コンピュータ１０１〜１０３からプリンタ１０４、１０５にジョブデータが転送されていないことを示す。これらのステータスは、例えば、ジョブ追跡部６０７が図１１に示すようなシーケンスによりプリンタ１０４、１０５と通信することにより取得する（このような処理は、本実施例における第１の取得手段の一例である）。
【００５４】
＜本実施例におけるプリンタジョブ情報リストの例＞
図９は、本実施例の情報処理システムのプリンタジョブ情報記憶部６１０に記憶されるプリンタジョブ情報リスト９００の一覧の例を示す図である。プリンタジョブ情報リスト９００の情報は、プリンタジョブ情報管理部６０９が図１１に示すようなシーケンスによりプリンタ１０４、１０５から取得する。なお、プリンタジョブ情報リスト９００には、プリンタ１０４、１０５に存在するすべてのジョブについての情報が登録される。つまり、他のコンピュータから送信したジョブデータの情報も含まれている。
【００５５】
プリンタジョブ情報リスト９００には、プリンタ９０１、機器内ジョブＩＤ９０２、ジョブＩＤ９０３、ジョブ名９０４、ユーザ名９０５、ページ数９０６、サイズ９０７、排紙先９０８、印刷終了予測時刻９０９、優先度９１０などが登録されている。
【００５６】
プリンタ９０１、機器内ジョブＩＤ９０２、ジョブＩＤ９０３、ジョブ名９０４については、それぞれプリンタ８０４、機器内ジョブＩＤ８０３、ジョブＩＤ８０２、ジョブ名８０１と同様の情報である。
【００５７】
ユーザ名９０５は、プリンタ１０４、１０５へ送信したジョブデータのオーナー名（送信者）である。この情報は、プリンタ１０４、１０５に送信されたジョブデータ７００の出力設定情報７０２に記述されている情報である。
【００５８】
ページ数９０６は、ジョブデータ７００の出力データ７０３における総ページ数を示す情報である。この情報は、プリンタ１０４、１０５に送信されたジョブデータ７００の出力設定情報７０２に記述された情報でもよいし、プリンタ１０４、１０５が出力データ７０３から判断するようにしても良い。
【００５９】
サイズ９０７は、ジョブデータ７００の出力データ７０３の総データサイズを示す情報である。この情報は、プリンタ１０４、１０５に送信されたジョブデータ７００の出力設定情報７０２に記述された情報でもよいし、プリンタ１０４、１０５が出力データ７０３から判断するようにしても良い。
【００６０】
排紙先９０８は、プリンタ１０４、１０５で印刷処理を実行した結果、生成される出力物の排紙先を示す情報である。この情報は、プリンタ１０４、１０５に送信されたジョブデータ７００の出力設定情報７０２に記述された情報である。
【００６１】
印刷終了予測時刻９０９は、ジョブデータの印刷処理が完了する時刻を示す情報である。この情報は、プリンタ１０４、１０５がジョブデータのページ数などの情報から計算した値である。
【００６２】
優先度９１０は、ジョブデータの印刷優先度を示す情報である。プリンタ１０４、１０５は、この情報をもとにジョブデータの処理の順番を決定する。この情報は、プリンタ１０４、１０５に送信されたジョブデータ７００の出力設定情報７０２に記述された情報である。
【００６３】
これらの情報は、例えば、プリンタジョブ情報管理部６０９が図１１に示すようなシーケンスによりプリンタ１０４、１０５と通信することにより取得する（このような処理は、本実施例における第２の取得手段の一例である）。
【００６４】
＜本実施例における情報処理システムの処理シーケンス＞
図１０は、本実施例において、プリンタ１０４、１０５内のジョブデータの数と、コンピュータ１０１、１０２、１０３が自ら送信したジョブデータの数とに応じて、送信キュー６０６においてジョブデータの送信制御を行う処理の手順を示す図である。
【００６５】
各フローに係るプログラムは、コンピュータ１０１、１０２、１０３のハードディスク（ＨＤ）２０５に格納されており、ＲＡＭ２０２に読み出され、ＣＰＵ２００により実行される。なお、本シーケンスでは、図１に示すコンピュータ１０１からプリンタＡへのジョブ送信制御を例として説明する。
【００６６】
ステップＳ１００１において、プリンタジョブ情報管理部６０９は、プリンタＡからジョブデータ情報の取得を行うタイミング（ポーリングのタイミング）であるかを判断する。なお、本実施例においては、特定の時間間隔で情報の取得を行うポーリングを使用しているが、プリンタＡからのイベント通知により、ジョブデータ情報の取得を行うようにしてもよい。
【００６７】
ステップＳ１００２において、プリンタジョブ情報管理部６０９およびジョブ追跡部６０７は、プリンタＡから図１１に示すシーケンスでジョブデータ情報を取得する。次に、プリンタジョブ情報記憶部６１０およびジョブ追跡情報記憶部６０８に記憶されているプリンタジョブ情報リスト９００およびジョブ追跡情報リスト８００が、取得したジョブデータ情報により更新される。ここで、ジョブデータ情報により、新たにリストを生成するようにしても良い。プリンタジョブ情報リスト９００の内容が更新または生成された場合には、送信キュー６０６へプリンタジョブ情報リスト９００の内容を通知する。
【００６８】
ステップＳ１００３において、送信キュー６０６は、プリンタジョブ情報管理部６０９から受信した情報から、プリンタＡ内のキューに保持されているジョブ数をカウントし、情報処理システムで予め定められたジョブ数に達しているか否かを判断する。ここで、予め定められたジョブ数以上の場合には、ステップＳ１００４へ処理を移行する。一方、予め定められたジョブ数より少ない場合には、ステップＳ１０１０へ処理を移行する。
【００６９】
ステップＳ１００４において、送信キュー６０６は、ジョブ追跡部６０７によりジョブ追跡情報記憶部６０８に格納されているジョブ追跡情報リスト８００の情報を取得する。その後、コンピュータ１０１からプリンタＡへ送信済み（ステータス８０５が「ジョブ処理待ち状態」、「ジョブ処理中状態」、「印刷待ち状態」、「印刷中状態」）のジョブ数をカウントする。
【００７０】
ステップＳ１００５において、送信キュー６０６は、ステップＳ１００４でカウントした送信済みのジョブ数が０個であるか否かを判断する。ここで、０個の場合には、ステップＳ１００６へ処理を移行する。一方、０個ではない場合には、ステップＳ１００９へ処理を移行する。なお、本実施例では、ジョブ数の判断の際の閾値を０個としているが、１個以上の場合でも適用可能である。また、閾値を情報処理システムで予め定められた値として、その閾値以上であるか未満であるかで判断を行うようにしても良い。その場合に、閾値以上であれば、ステップＳ１００９に進み、未満であれば、ステップＳ１００６に進む。
【００７１】
ステップＳ１００６において、送信キュー６０６は、ステップＳ１００３でカウントしたプリンタＡにおけるジョブ数がプリンタＡで処理可能なジョブ数の上限値以下であるか否かを判断する。ここで、上限値未満である場合には、ステップＳ１００７へ処理を移行する。一方、上限値以上である場合には、ステップＳ１００９へ処理を移行する。なお、プリンタＡで処理可能なジョブ数は、情報処理システムで予め定められるようにしても良い。また、コンピュータ１０１がプリンタＡから取得するようにしてもよい。
【００７２】
ステップＳ１００７において、送信キュー６０６は、スプーラ６０４から受信してキューイングしたジョブが存在するか否かを判断する。ここで、存在する場合には、ステップＳ１００８へ処理を移行する。一方、存在しない場合には、ステップＳ１００９へ処理を移行する。
【００７３】
ステップＳ１００８において、送信キュー６０６は、データ送受信部６１１を介して、ジョブデータをプリンタＡへ１個送信する。ここで、送信するジョブ数は、例えば情報処理システムで予め決められたジョブ数としてもよい。若しくは、プリンタＡで処理可能なジョブ数の上限に達していなければ、２個以上送信するようにしてもよい。
【００７４】
ステップＳ１００９において、送信キュー６０６は、現在送信中のジョブデータ以降のジョブデータに対して、ジョブデータの送信処理を停止する。
【００７５】
ステップＳ１０１０において、送信キュー６０６は、送信キュー６０６におけるジョブデータの送信処理が停止されているか否かを判断する。ここで、停止されている場合には、ステップＳ１０１１へ処理を移行する。一方、停止されていない場合には、本処理を終了し、次のポーリングのタイミングまで待機する。
【００７６】
ステップＳ１０１１において、送信キュー６０６は、送信キュー６０６におけるジョブデータの送信処理を再開して本処理を終了し、次のポーリングのタイミングまで待機する。
【００７７】
以上のように、本実施例においては、コンピュータからプリンタに送信済みのジョブが０個（即ち、プリンタにおいて処理されている）であることと、プリンタにおけるジョブ数がプリンタの処理可能なジョブ数の上限に達していないことが確認される。その確認の後に、送信キューに保持されているジョブデータをプリンタに送信するので、ジョブデータを送信する際に、その送信のタイミングにおいてプリンタのキューのフル状態による送信失敗のリスクを低減することができる。
【００７８】
＜本実施例における情報処理システムのジョブデータ情報取得シーケンス＞
図１１は、本実施例において、プリンタジョブ情報管理部６０９がプリンタ１０４、１０５からジョブデータの情報を取得し、ジョブ追跡情報リスト８００とプリンタジョブ情報リスト９００を作成する処理の手順を示す図である。図１１においては、コンピュータ１０１、１０２、１０３とプリンタ１０５、１０６との間での情報の送受信について説明している。なお、本シーケンスでは、コンピュータ１０１とプリンタＡの情報の送受信を例として説明する。
【００７９】
ステップＳ１１０１において、コンピュータ１０１のプリンタジョブ情報管理部６０９は、ポーリングのタイミングになると、プリンタＡ内に存在するジョブデータリストの取得要求をプリンタＡへ送信する。
【００８０】
ステップＳ１１０２において、プリンタＡは、上述の取得要求に応じてジョブＩＤと機器内ジョブＩＤを含むジョブデータのリストをコンピュータ１０１へ送信する。
【００８１】
コンピュータ１０１のプリンタジョブ情報管理部６０９は、受信したジョブデータリストの情報をプリンタジョブ情報リスト９００へ登録する。更に、ステップＳ１１０３において、機器内ジョブＩＤを使って各ジョブデータの他の情報（ジョブ名やユーザ名、ページ数、サイズ、排紙先、終了予測時刻など）の取得要求をプリンタＡへ送信する。
【００８２】
ステップＳ１１０４において、プリンタＡは、その取得要求に応じて、ジョブデータの情報をコンピュータ１０１へ送信する。
【００８３】
コンピュータ１０１のプリンタジョブ情報管理部６０９は、受信したジョブデータの情報をプリンタジョブ情報リスト９００へ登録する。コンピュータ１０１のジョブ追跡部６０７は、プリンタジョブ情報管理部６０９からプリンタジョブ情報リスト９００の情報を取得し、ジョブ追跡情報リスト８００のジョブＩＤ８０２からコンピュータ１０１から送信したジョブデータを検索する。また、ジョブ追跡部６０７は、機器内ジョブＩＤ９０２の情報をジョブ追跡情報リスト８００へ登録する。
【００８４】
ステップＳ１１０５において、コンピュータ１０１のジョブ追跡部６０７は、機器内ジョブＩＤ８０３を用いて、各ジョブデータのステータスの取得要求をプリンタＡへ送信する。
【００８５】
ステップＳ１１０６において、プリンタＡは、その取得要求に応じて、ジョブデータのステータスをコンピュータ１０１へ送信する。コンピュータ１０１のジョブ追跡部６０７は、受信したステータスをジョブ追跡情報リスト８００へ登録する。
【００８６】
＜本実施例におけるジョブ管理のユーザインタフェース＞
図１２は、本実施例の情報処理システムにおいてジョブ管理表示部６０３が表示するユーザインタフェースの一例を示す図である。ジョブ管理表示部６０３は、ジョブ追跡情報リスト８００の情報をジョブデータの処理状況として表示する。これにより、ユーザは、コンピュータからプリンタ１０４、１０５へ送信したジョブデータの処理状況を確認することができ、また、必要に応じてジョブデータに対する操作を行うことができる。また、図１２の左に示すツリーから各プリンタオブジェクトのノードを選択することで、プリンタオブジェクトごとのジョブの処理状況を表示することが可能である（不図示）。
【００８７】
さらに、ユーザは特定のメニューを選択することで、印刷データと出力設定情報を指定して印刷実行の指示を行うことができる。
【００８８】
以上のように、本実施例においては、プリンタ１０４、１０５のジョブデータの数と、コンピュータ自らが送信したジョブデータの数とに応じて、コンピュータの送信キューの送信制御を行う。その結果、プリンタの負荷が高まることで、ユーザが投入したジョブがキャンセルされることがなくなり、効率的かつ信頼度の高い印刷処理を実現できる。
【００８９】
第１の実施例においては、プリンタ内およびコンピュータ内のジョブデータの数に応じて送信制御を行う方法を説明した。しかしながら、ジョブデータの数だけではなく、ジョブデータのページ数やサイズによって送信制御を行う方法にも、本発明を適用することができる。つまり、既定のページ数やサイズ以上の場合は送信キューを停止し、既定値以下であれば、送信キューの送信処理を再開することにより、送信制御を行う。
【００９０】
また、印刷処理の終了予測時刻によって送信制御を行う方法にも、本発明を適用することができる。すなわち、プリンタ内のジョブデータの数が既定値以上の場合でも、プリンタでの印刷処理の終了までの時間が既定値以下であれば、送信キューを停止しない。これにより、ジョブデータがスムーズに処理され続けている間はジョブデータを送信し続けるので、印刷処理をより効率的に行うことが可能となる。
【００９１】
さらに、ジョブデータの優先度によって送信制御を行う方法にも、本発明を適用することができる。すなわち、ジョブデータに関連付けられた優先度が既定値以上の場合には、プリンタで処理可能なジョブ数の上限値に達していなければ、ジョブデータを送信する。これにより、優先度の高いジョブに対して送信を停止することなく、優先的に印刷を行うことができる。
【実施例２】
【００９２】
第１実施例においては、プリンタ内およびコンピュータから送信したジョブデータの数に応じて、送信制御を行う方法を説明した。しかしながら、送信ユーザとプリンタの排紙先（排紙トレイ）の数に応じて送信制御を行う場合にも、本発明を適用することができる。
【００９３】
以下、本実施例において、送信ユーザとプリンタの排紙先の数とに応じて、送信制御を行う場合を、第１の実施例と異なる部分について、図面を参照しながら詳細に説明する。
【００９４】
＜本実施例における情報処理システムの処理シーケンス＞
図１３は、本実施例において、プリンタ１０４、１０５内のジョブ数と、コンピュータ１０１、１０２、１０３が自ら送信したジョブデータの状況とに応じて、送信キュー６０６でジョブデータの送信制御を行う処理の手順を示すフローチャートである。
【００９５】
各フローに係るプログラムは、コンピュータ１０１、１０２、１０３のハードディスク２０５に格納されており、ＲＡＭ２０２に読み出され、ＣＰＵ２００により実行される。なお、本シーケンスの例では、コンピュータ１０１からプリンタＡへの送信制御を例として説明する。
【００９６】
ステップＳ１３０１において、プリンタジョブ情報管理部６０９は、プリンタＡからジョブデータ情報の取得を行うタイミング（ポーリングのタイミング）であるかを判断する。なお、本実施例において、特定の時間間隔で情報の取得を行うポーリングを用いているが、プリンタＡからのイベントによりジョブデータ情報の取得を行うようにしてもよい。
【００９７】
ステップＳ１３０２において、プリンタジョブ情報管理部６０９とジョブ追跡部６０７は、プリンタＡから図１１に示すシーケンスでジョブデータ情報を取得する。その後、プリンタジョブ情報記憶部６１０およびジョブ追跡情報記憶部６０８に記憶されているプリンタジョブ情報リスト９００およびジョブ追跡情報リスト８００が、取得したジョブデータ情報によって更新される。ここで、ジョブデータ情報により、新たにリストを生成するようにしても良い。プリンタジョブ情報リスト９００の内容が更新または生成された場合には、送信キュー６０６へプリンタジョブ情報リスト９００の内容が通知される。
【００９８】
ステップＳ１３０３において、送信キュー６０６がプリンタジョブ情報管理部６０９から受信した情報からジョブ数をカウントし、情報処理システムで予め定められたジョブ数に達しているか否かを判断する。ここで、予め定められたジョブ数以上の場合には、ステップＳ１３０４へ処理を移行する。一方、予め定められたジョブ数より少ない場合には、ステップＳ１３１１へ処理を移行する。
【００９９】
ステップＳ１３０４において、送信キュー６０６は、ジョブ追跡部６０７によりジョブ追跡情報記憶部６０８に格納されているジョブ追跡情報リスト８００の情報を取得する。更に、送信キュー６０６は、コンピュータ１０１からプリンタＡへ送信済み（ステータス８０５が「ジョブ処理待ち状態」、「ジョブ処理中」、「印刷待ち状態」、「印刷中状態」）のジョブ数をカウントする。
【０１００】
ステップＳ１３０５において、送信キュー６０６は、ステップＳ１３０４でカウントした送信済みのジョブ数が０個であるか否かを判断する。ここで、０個の場合には、ステップＳ１３０６へ処理を移行する。一方、０個ではない場合には、ステップＳ１３１０へ処理を移行する。なお、本実施例では、ジョブ数の判断の閾値を０個としているが、１個以上の場合でも適用可能である。また、閾値を情報処理システムで予め定められた値として、その閾値以上であるか未満であるかで判断を行うようにしても良い。その場合に、閾値以上であれば、ステップＳ１３１０に進み、未満であれば、ステップＳ１３０６に進む。
【０１０１】
ステップＳ１３０６において、送信キュー６０６は、ステップＳ１３０３でカウントしたプリンタＡにおけるジョブ数がプリンタＡで処理可能なジョブ数の上限値以下であるか否かを判断する。ここで、上限値未満である場合には、ステップＳ１３０７へ処理を移行する。一方、上限値以上である場合には、ステップＳ１３１０へ処理を移行する。なお、プリンタＡで処理可能なジョブ数は、情報処理システムで予め定められるようにしても良い。また、コンピュータ１０１がプリンタＡから取得するようにしてもよい。
【０１０２】
ステップＳ１３０７において、送信キュー６０６は、プリンタジョブ情報リスト９００のユーザ名９０５から、プリンタＡへジョブデータを送信しているユーザ数をカウントし、さらに、排紙先９０８から指定されている排紙先の数をカウントする。ここで、プリンタＡへジョブデータを送信しているユーザ数は、プリンタジョブ情報リスト９００において、各ジョブに対応するユーザの数となる。
【０１０３】
送信キュー６０６は、上述の２つのカウントした数を比較し、カウントしたユーザ数が排紙先の数より少ないか否かを判断する。ここで、少ない場合には、ステップＳ１３０８へ処理を移行する。一方、ユーザ数が排紙先の数以上の場合には、ステップＳ１３１０へ処理を移行する。なお、本実施例においては、排紙先９０８の数から判断を行わずに、プリンタＡから現在空いている排紙先を取得し、この情報から判断するようにしてもよい。
【０１０４】
ステップＳ１３０８において、送信キュー６０６は、スプーラ６０４から受信してキューイングしたジョブデータが存在するか否かを判断する。ここで、存在する場合には、ステップＳ１３０９へ処理を移行する。一方、存在しない場合には、ステップＳ１３１０へ処理を移行する。
【０１０５】
ステップＳ１３０９において、送信キュー６０６は、データ送受信部６１１を介して、ジョブデータをプリンタＡへ１個送信する。ここで、送信するジョブ数は、例えば情報処理システムで予め決められたジョブ数としてもよい。又は、プリンタＡで処理可能なジョブ数の上限に達していなければ、２個以上送信するようにしてもよい。
【０１０６】
ステップＳ１３１０において、送信キュー６０６は、現在送信中のジョブデータ以降のジョブデータに対して、ジョブデータの送信処理を停止する。
【０１０７】
ステップＳ１３１１において、送信キュー６０６は、送信キュー６０６におけるジョブデータの送信処理が停止されているか否かを判断する。ここで、停止されている場合には、ステップＳ１３１２へ処理を移行する。一方、停止されていない場合には、本処理を終了し、次のポーリングのタイミングまで待機する。
【０１０８】
ステップＳ１３１２において、送信キュー６０６は、送信キュー６０６におけるジョブデータの送信処理を再開して本処理を終了し、次のポーリングのタイミングまで待機する。
【０１０９】
本発明には、プログラム（情報処理プログラム）コードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合に、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される。
【図面の簡単な説明】
【０１１０】
【図１】本発明における情報処理システムのシステム構成図である。
【図２】図１におけるコンピュータの概略構成を示すブロック図である。
【図３】図２におけるＲＡＭに、図４に示すＦＤからプログラムを展開したときのメモリマップである。
【図４】図２におけるＦＤ内部のデータを表すメモリマップである。
【図５】本発明におけるＦＤドライブに対して挿入されるＦＤとの関係を示す図である。
【図６】本発明における情報処理システムのソフトウェア構成の例を示す図である。
【図７】本発明におけるジョブデータのフォーマットを示す図である。
【図８】本発明における情報処理システムが管理するジョブ追跡情報リストのフォーマットを示す図である。
【図９】本発明における情報処理システムが管理するプリンタジョブ情報リストのフォーマットを示す図である。
【図１０】本発明の情報処理システムがジョブ送信制御処理を示すフローチャートである。
【図１１】本発明の情報処理システムがジョブ追跡情報リストおよびプリンタジョブ情報記憶リストを作成するまでの処理を示すシーケンスである。
【図１２】本発明における情報処理システムでプリンタの管理を行うユーザインタフェースを示した図である。
【図１３】本発明の実施例２において情報処理システムがジョブ送信制御処理を示すフローチャートである。
【符号の説明】
【０１１１】
１０１、１０２、１０３  コンピュータ
１０４、１０５  プリンタ
【図１】
2010128989.tif 000003
【図２】
2010128989.tif 000004
【図３】
2010128989.tif 000005
【図４】
2010128989.tif 000006
【図５】
2010128989.tif 000007
【図６】
2010128989.tif 000008
【図７】
2010128989.tif 000009
【図８】
2010128989.tif 000010
【図９】
2010128989.tif 000011
【図１０】
2010128989.tif 000012
【図１１】
2010128989.tif 000013
【図１２】
2010128989.tif 000014
【図１３】
2010128989.tif 000015