(57)【要約】  【課題】  画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラ経由で画像形成装置側へと出力する際に、コマンドを含む印字ジョブが長期間にわたって印刷スプーラのキューに残らないようにすること。  【解決手段】  被管理PC1は、送信ポートのステータスが送信不可でない場合に(S357:NO)、印刷スプーラへデータ出力することにより(S359)、送信不可であるにもかかわらず印刷スプーラへデータ出力してしまうことを未然に防止する。また、送信ポートがエラーを表示することになる時間T1より短い時間T2が経過した時点で印刷スプーラからのデータ出力が完了していなければ(S361:NO、S363:YES)、印刷スプーラからのデータ出力をキャンセルすることにより(S365)、エラーの表示も防止する。データ出力のキャンセルしても、10回まで(S367:YES)、S355の処理へと戻り、印刷スプーラからのデータ出力を再度試みる。【選択図】  図６
2005196573.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられているシステムにおいて、前記画像形成装置側で管理されている画像形成装置情報を、前記コンピュータが前記画像形成装置から取得する処理を、前記コンピュータに実行させるためのプログラムであって、
前記コンピュータが実行する手順として、
前記印刷スプーラに前記出力データを与えた場合に、該出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあるか否かを判定する状態判定手順と、
該状態判定手順において、前記出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあると判定した場合に、前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手順と、
前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手順と
を含むことを特徴とする情報取得処理プログラム。
【請求項２】
前記画像形成装置情報は、前記画像形成装置の交換部品の使用度合に関する情報を含む
ことを特徴とする請求項１に記載の情報取得処理プログラム。
【請求項３】
前記画像形成装置情報は、前記画像形成装置の消耗品の消耗度合に関する情報を含む
ことを特徴とする請求項１または請求項２に記載の情報取得処理プログラム。
【請求項４】
前記画像形成装置情報は、前記画像形成装置における異常の発生回数に関する情報を含む
ことを特徴とする請求項１〜請求項３のいずれかに記載の情報取得処理プログラム。
【請求項５】
前記状態判定手順は、前記入出力Ｉ／Ｆのステータスを参照し、該ステータスがデータ通信可を示すステータスであること、または、該ステータスがデータ通信不可を示すステータスでないことのいずれかを第１の条件とし、少なくとも前記第１の条件が成立した場合に、前記印刷スプーラが前記出力データを直ちに前記画像形成装置へと出力可能な状態にあると判定する手順
であることを特徴とする請求項１〜請求項４のいずれかに記載の情報取得処理プログラム。
【請求項６】
前記状態判定手順は、前記キューに保管された印字ジョブの数を取得し、該ジョブ数が０であることを第２の条件とし、前記第１の条件および前記第２の条件が成立した場合に、前記印刷スプーラが前記出力データを直ちに前記画像形成装置へと出力可能な状態にあると判定する手順
であることを特徴とする請求項５に記載の情報取得処理プログラム。
【請求項７】
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられているシステムにおいて、前記画像形成装置側で管理されている画像形成装置情報を、前記コンピュータが前記画像形成装置から取得する処理を、前記コンピュータに実行させるためのプログラムであって、
前記コンピュータが実行する手順として、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手順と、
該情報要求手順において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手順と、
該出力完了判定手順において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手順と、
前記出力完了判定手順において、前記出力を完了していないと判定した場合に、前記コマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手順と
を含むことを特徴とする情報取得処理プログラム。
【請求項８】
前記印字ジョブには、前記印刷スプーラによって割り当てられるジョブＩＤが付与されており、
前記出力完了判定手順は、
前記第１の期間が経過したときに、前記コマンドの含まれる印字ジョブに対して付与されたジョブＩＤに基づき、当該ジョブＩＤを持つ判定対象印字ジョブが前記キューに残っているか否かを検出する印字ジョブ検出手順と、
該印字ジョブ検出手順において、前記判定対象印字ジョブが残っていないことを検出した場合に、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了していると判定する手順と
を含むことを特徴とする請求項７に記載の情報取得処理プログラム。
【請求項９】
前記第１の期間は、前記出力データを前記入出力Ｉ／Ｆを介して前記画像形成装置へと出力できない場合に、前記入出力Ｉ／Ｆが通信のタイムアウトを検出することになる第２の期間よりも、短い期間とされている
ことを特徴とする請求項７または請求項８に記載の情報取得処理プログラム。
【請求項１０】
前記削除指令手順を実行した後、前記コマンドを再び前記印刷スプーラに与えるため、前記情報要求手順を再実行するように制御する再実行制御手順
を含むことを特徴とする請求項７〜請求項９のいずれかに記載の情報取得処理プログラム。
【請求項１１】
前記再実行制御手順による制御の結果、前記情報要求手順から前記削除指令手順に至る手順を、複数回にわたって繰り返し実行した場合に、前記再実行制御手順による制御を中止して、エラーが発生したことを報知するエラー報知手順
を含むことを特徴とする請求項１０に記載の情報取得処理プログラム。
【請求項１２】
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられているシステムにおいて、前記画像形成装置側で管理されている画像形成装置情報を、前記コンピュータが前記画像形成装置から取得する処理を、前記コンピュータに実行させるためのプログラムであって、
前記コンピュータが実行する手順として、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するための複数のコマンドを１つずつ処理対象にして、前記複数のコマンドすべてを処理するため、コマンドの数と同数の処理を繰り返すように制御する複数コマンド処理制御手順を有し、
さらに、前記複数コマンド処理制御手順による繰り返し処理中には、
処理対象となっている１つのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手順と、
該情報要求手順において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手順と、
該出力完了判定手順において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手順と、
前記出力完了判定手順において、前記出力を完了していないと判定した場合に、前記複数コマンド処理制御手順による繰り返し処理を中断させる中断制御手順と
を含むことを特徴とする情報取得処理プログラム。
【請求項１３】
前記出力完了判定手順において、前記出力を完了していないと判定した場合に、前記処理対象となっている１つのコマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手順と、
前記削除指令手順を実行した後、前記処理対象となっている１つのコマンドをあらためて前記印刷スプーラに与えるため、前記情報要求手順を再実行するように制御する再実行制御手順と、
前記情報要求手順から前記削除指令手順に至る手順を、複数回にわたって繰り返し実行した場合に、前記再実行制御手順による制御を中止して、エラーが発生したことを報知するエラー報知手順と、
該エラー報知手順によってエラーを報知した場合に、本処理を中断するか否かを利用者に入力させる指示入力手順とを含み、
前記中断制御手順は、前記指示入力手順において利用者が本処理を中断する旨の指示を入力した場合に、前記複数コマンド処理制御手順による繰り返し処理を中断させる手順である
ことを特徴とする請求項１２に記載の情報取得処理プログラム。
【請求項１４】
前記指示入力手順は、本処理を継続するか否かを利用者に入力させる手順でもあり、
さらに、前記指示入力手順において利用者が本処理を継続する旨の指示を入力した場合に、前記処理対象となっている１つのコマンドについての処理を終え、前記複数コマンド処理制御手順による処理対象となるコマンドを変更し、該変更後のコマンドについて、前記複数コマンド処理制御手順による繰り返し処理中の各手順を実行するように制御する再開制御手順
を備えていることを特徴とする請求項１３に記載の情報取得処理プログラム。
【請求項１５】
画像形成装置が接続されており、さらに、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するコンピュータであって、
前記印刷スプーラに前記出力データを与えた場合に、該出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあるか否かを判定する状態判定手段と、
該状態判定手段において、前記出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあると判定した場合に、前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と
を備えていることを特徴とするコンピュータ。
【請求項１６】
画像形成装置が接続されており、さらに、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するコンピュータであって、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記コマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手段と
を備えていることを特徴とするコンピュータ。
【請求項１７】
画像形成装置が接続されており、さらに、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するコンピュータであって、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するための複数のコマンドを１つずつ処理対象にして、前記複数のコマンドすべてを処理するため、コマンドの数と同数の処理を繰り返すように制御する複数コマンド処理制御手段を有し、
さらに、前記複数コマンド処理制御手段による繰り返し処理中に機能する手段として、
処理対象となっている１つのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記複数コマンド処理制御手段による繰り返し処理を中断させる中断制御手段と
を備えていることを特徴とするコンピュータ。
【請求項１８】
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記コンピュータが、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するように構成されたシステムであって、
前記コンピュータは、
前記印刷スプーラに前記出力データを与えた場合に、該出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあるか否かを判定する状態判定手段と、
該状態判定手段において、前記出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあると判定した場合に、前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と
を備えていることを特徴とする情報取得処理システム。
【請求項１９】
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記コンピュータが、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するように構成されたシステムであって、
前記コンピュータは、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記コマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手段と
を備えていることを特徴とする情報取得処理システム。
【請求項２０】
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記コンピュータが、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するように構成されたシステムであって、
前記コンピュータは、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するための複数のコマンドを１つずつ処理対象にして、前記複数のコマンドすべてを処理するため、コマンドの数と同数の処理を繰り返すように制御する複数コマンド処理制御手段を有し、
さらに、前記複数コマンド処理制御手段による繰り返し処理中に機能する手段として、
処理対象となっている１つのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記複数コマンド処理制御手段による繰り返し処理を中断させる中断制御手段と
を備えていることを特徴とする情報取得処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータが、コンピュータに接続された画像形成装置から、画像形成装置側で管理されている画像形成装置情報を取得する情報取得処理を、コンピュータに実行させるための情報取得処理プログラム、前記情報取得処理を実行するコンピュータ、および前記情報取得処理を実行するコンピュータと当該コンピュータに接続された画像形成装置とを備えた情報取得処理システムに関する。
【背景技術】
【０００２】
従来、コンピュータが、当該コンピュータに接続された画像形成装置から、当該画像形成装置側で管理されている画像形成装置情報を取得する技術が知られている（例えば、下記特許文献１参照）。
【０００３】
下記特許文献１に記載のシステムにおいては、コンピュータが、当該コンピュータに接続された画像形成装置から、当該画像形成装置側で管理されている画像形成装置情報を取得しており、さらに、取得した情報をネットワークを介して管理コンピュータに対して提供し、この情報の提供を受けた管理コンピュータが、ネットワーク上のコンピュータに接続された画像形成装置に関する情報を統括的に管理している。
【特許文献１】特開２０００−２９３３２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記特許文献１に記載の如き技術において、コンピュータが画像形成装置から情報を取得する際に使われる手法として、コンピュータ側から画像形成装置側へプリンタジョブ言語（ＰＪＬ；Printer Job Language）で記述されたコマンド（以下、ＰＪＬコマンドともいう）を与え、画像形成装置側から返される情報をコンピュータ側でリードバックする、という手法が知られている。ＰＪＬは、画像形成装置が備える各種機能の制御を可能とするコマンド言語で、Hewlett-Packard社において開発され、その後他社でも採用された周知のものである。このようなＰＪＬコマンドを画像形成装置に与える場合、ＰＪＬコマンドは、通常、印刷スプーラ経由で画像形成装置へと出力される。
【０００５】
ここで、このようなＰＪＬコマンドを印刷スプーラ経由で画像形成装置へ出力する処理は、通常、バックグラウンドで処理されている。また、印刷スプーラのキューに他の印字ジョブがたまっていなければ、通常、ＰＪＬコマンドはごく短時間で処理されて印刷スプーラのキューから消える。そのため、このようなＰＪＬコマンドの出力処理が行われていることを、多くの利用者は意識していない。
【０００６】
しかし、ＰＪＬコマンドを印刷スプーラ経由で画像形成装置へ出力する際、その前に処理すべき印字ジョブが、印刷スプーラのキューにたまっていたり、画像形成装置側のエラー（例えば、紙切れ等）が原因で、印刷スプーラから画像形成装置への出力ができない状況になっていたりすると、ＰＪＬコマンドがいつまでも印刷スプーラのキューに残っている状態になる。
【０００７】
そのため、キューに残っているＰＪＬコマンドが生成された理由を知らない利用者にとっては、見覚えのない印字ジョブがキューに入れられていることになり、そのまま放置してよいのか、削除すべきものなのか、対応に困る場合があった。また、近年は、コンピュータウィルスに注意している利用者も多いため、見覚えのない印字ジョブがキューに入れられていると、コンピュータウィルスが原因で発生した印字ジョブではないかと考えさせる等、利用者に余計な心配をさせてしまうおそれもあった。
【０００８】
本発明は、上記問題を解決するためになされたものであり、その目的は、画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラ経由で画像形成装置側へと出力する際に、コマンドを含む印字ジョブが長期間にわたって印刷スプーラのキューに残らないようにすることにある。
【課題を解決するための手段】
【０００９】
以下、本発明において採用した特徴的構成について説明する。
本発明の情報取得処理プログラムは、
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられているシステムにおいて、前記画像形成装置側で管理されている画像形成装置情報を、前記コンピュータが前記画像形成装置から取得する処理を、前記コンピュータに実行させるためのプログラムであって、
前記コンピュータが実行する手順として、
前記印刷スプーラに前記出力データを与えた場合に、該出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあるか否かを判定する状態判定手順と、
該状態判定手順において、前記出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあると判定した場合に、前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手順と、
前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手順と
を含むことを特徴とする。
【００１０】
この情報取得処理プログラムに従ってコンピュータが上記各手順を実行すると、コンピュータは、まず、印刷スプーラに出力データを与えた場合に、その出力データを印刷スプーラが直ちに画像形成装置へと出力可能な状態にあるか否かを判定する。この判定において、出力データを印刷スプーラが直ちに画像形成装置へと出力可能な状態にあると判定した場合に、コンピュータは、画像形成装置に対して画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラに与える。そのため、印刷スプーラが出力データを画像形成装置へ出力できない状態にあるにもかかわらずコマンドを印刷スプーラに与えてしまうものとは異なり、印刷スプーラに与えられたコマンドは、直ちに画像形成装置へと出力されて、印字ジョブはキューから消える。後は、コンピュータが、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。
【００１１】
したがって、このような手順を備えた情報取得処理プログラムによれば、利用者にとって見覚えのない印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００１２】
なお、以上説明した情報取得処理プログラムは、さらに次のような特徴を有するものであると望ましい。
まず、前記画像形成装置情報は、前記画像形成装置の交換部品の使用度合に関する情報を含むものであるとよい。
【００１３】
このような画像形成装置情報を取得する手順を備えた情報取得処理プログラムであれば、画像形成装置の交換部品の使用度合に関する情報が取得できるので、利用者が参照してメンテナンスの必要性を判断することができる。
【００１４】
また、前記画像形成装置情報は、前記画像形成装置の消耗品の消耗度合に関する情報を含むものであるとよい。
このような画像形成装置情報を取得する手順を備えた情報取得処理プログラムであれば、画像形成装置の消耗品の消耗度合に関する情報が取得できるので、これも利用者が参照してメンテナンスの必要性を判断することができる。
【００１５】
また、前記画像形成装置情報は、前記画像形成装置における異常の発生回数に関する情報を含むものであるとよい。
このような画像形成装置情報を取得する手順を備えた情報取得処理プログラムであれば、画像形成装置における異常の発生回数に関する情報が取得できるので、利用者が参照して、異常の発生原因の除去や修理の必要性の判断などを行うことができる。
【００１６】
また、本発明の情報取得処理プログラムにおいて、前記状態判定手順は、前記入出力Ｉ／Ｆのステータスを参照し、該ステータスがデータ通信可を示すステータスであること、または、該ステータスがデータ通信不可を示すステータスでないことのいずれかを第１の条件とし、少なくとも前記第１の条件が成立した場合に、前記印刷スプーラが前記出力データを直ちに前記画像形成装置へと出力可能な状態にあると判定する手順であるとよい。
【００１７】
このような状態判定手順を備えた情報取得処理プログラムであれば、印刷スプーラと画像形成装置との間に介在している入出力Ｉ／Ｆが、通信可能な状態にあることを少なくとも１つの条件として判定を行うので、入出力Ｉ／Ｆが通信不能な状態にあるにもかかわらずコマンドを印刷スプーラに与えてしまうことがない。
【００１８】
この場合、さらに、前記状態判定手順は、前記キューに保管された印字ジョブの数を取得し、該ジョブ数が０であることを第２の条件とし、前記第１の条件および前記第２の条件が成立した場合に、前記印刷スプーラが前記出力データを直ちに前記画像形成装置へと出力可能な状態にあると判定する手順であってもよい。
【００１９】
このような状態判定手順を備えた情報取得処理プログラムであれば、キューに保管された印字ジョブの数が０であることを少なくとも１つの条件として判定を行うので、既にキューに別の印字ジョブが保管された状態になっているにもかかわらずコマンドを印刷スプーラに与えてしまうことがない。
【００２０】
また、本発明の情報取得処理プログラムは、
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられているシステムにおいて、前記画像形成装置側で管理されている画像形成装置情報を、前記コンピュータが前記画像形成装置から取得する処理を、前記コンピュータに実行させるためのプログラムであって、
前記コンピュータが実行する手順として、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手順と、
該情報要求手順において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手順と、
該出力完了判定手順において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手順と、
前記出力完了判定手順において、前記出力を完了していないと判定した場合に、前記コマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手順と
を含むことを特徴とする。
【００２１】
この情報取得処理プログラムに従ってコンピュータが上記各手順を実行すると、コンピュータは、まず、画像形成装置に対して画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラに与える。そして、コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、印刷スプーラがコマンドの画像形成装置への出力を完了しているか否かを判定する。第１の期間は、印刷スプーラがデータを受け取ってから画像形成装置側への出力を終えるまでに要する標準的な時間を考慮し、通常であれば出力を完了するのに十分であろうと思われる期間を任意に決めればよい。この判定において、出力を完了したと判定した場合には、コンピュータが、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。一方、出力を完了していないと判定した場合、コンピュータは、コマンドが含まれる印字ジョブをキューから削除することを、印刷スプーラに対して指令する。そのため、第１の期間が経過した後もコマンドが含まれる印字ジョブをキューから削除しないものとは異なり、第１の期間が経過すれば、コマンドの画像形成装置への出力が完了していなくても、印字ジョブはキューから削除される。
【００２２】
したがって、このような手順を備えた情報取得処理プログラムによれば、少なくとも第１の期間が経過した後は、利用者にとって見覚えのない印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００２３】
なお、以上説明した情報取得処理プログラムは、さらに次のような特徴を有するものであると望ましい。
まず、本発明の情報取得処理プログラムにおいて、前記印字ジョブに、前記印刷スプーラによって割り当てられるジョブＩＤが付与されていれば、前記出力完了判定手順は、前記第１の期間が経過したときに、前記コマンドの含まれる印字ジョブに対して付与されたジョブＩＤに基づき、当該ジョブＩＤを持つ判定対象印字ジョブが前記キューに残っているか否かを検出する印字ジョブ検出手順と、該印字ジョブ検出手順において、前記判定対象印字ジョブが残っていないことを検出した場合に、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了していると判定する手順とを含むものであるとよい。
【００２４】
このような出力完了判定手順を備えた情報取得処理プログラムであれば、コンピュータは、第１の期間が経過したときに、ジョブＩＤに基づいて判定対象印字ジョブがキューに残っているか否かを検出するので、例えば印字ジョブとして保管されたデータの内容に基づいて判定対象印字ジョブがキューに残っているか否かを検出するようなものに比べ、判定対象印字ジョブがキューに残っているか否かを、より簡単に検出することができる。
【００２５】
また、本発明の情報取得処理プログラムにおいて、前記第１の期間は、前記出力データを前記入出力Ｉ／Ｆを介して前記画像形成装置へと出力できない場合に、前記入出力Ｉ／Ｆが通信のタイムアウトを検出することになる第２の期間よりも、短い期間とされているとよい。
【００２６】
このような情報取得処理プログラムであれば、出力データを入出力Ｉ／Ｆを介して画像形成装置へと出力できない場合に、入出力Ｉ／Ｆが通信のタイムアウトを検出することになる第２の期間が経過する前に第１の期間が経過することになる。そのため、第１の期間が経過すれば、コマンドの画像形成装置への出力が完了していなくても、印字ジョブはキューから削除され、その結果、入出力Ｉ／Ｆが通信のタイムアウトを検出する状況にはならないことになる。したがって、入出力Ｉ／Ｆが通信のタイムアウトを検出した際に、エラーメッセージ等を出力するように構成されたコンピュータにおいても、そのようなエラーメッセージ等が出力されるのを防止できるので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００２７】
また、本発明の情報取得処理プログラムは、前記削除指令手順を実行した後、前記コマンドを再び前記印刷スプーラに与えるため、前記情報要求手順を再実行するように制御する再実行制御手順を含むものであってもよい。
【００２８】
このような再実行制御手順を備えた情報取得処理プログラムであれば、コンピュータは、コマンドをキューから削除した場合でも、同じコマンドを再び印刷スプーラに与えることができる。したがって、印刷スプーラ側から画像形成装置側へのデータ出力が一時的にできない状況になっていた場合、その状況下で印刷スプーラに与えられたコマンドがキューからの削除対象となったとしても、その後の状況に変化があり、印刷スプーラ側から画像形成装置側へのデータ出力ができる状況になった場合には、所期の画像形成装置情報を取得することができる。
【００２９】
この場合、本発明の情報取得処理プログラムは、さらに、前記再実行制御手順による制御の結果、前記情報要求手順から前記削除指令手順に至る手順を、複数回にわたって繰り返し実行した場合に、前記再実行制御手順による制御を中止して、エラーが発生したことを報知するエラー報知手順を含むものであってもよい。
【００３０】
このようなエラー報知手順を備えた情報取得処理プログラムであれば、コンピュータは、キューからのコマンドの削除とキューへのコマンドの再投入とを、複数回にわたって繰り返し実行した後に、エラーが発生したことを報知する。したがって、キューへのコマンドの再投入を試みることなくエラーが発生したことを報知するものほど、利用者に煩わしい思いをさせることがなく、しかも、エラーが発生したことを報知しないまま、単にキューへのコマンドの再投入を繰り返すものとは異なり、画像形成装置の状態その他の確認が必要な状況にあることを、適切なタイミングで利用者に伝えることができる。
【００３１】
さらに、本発明の情報取得処理プログラムは、
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられているシステムにおいて、前記画像形成装置側で管理されている画像形成装置情報を、前記コンピュータが前記画像形成装置から取得する処理を、前記コンピュータに実行させるためのプログラムであって、
前記コンピュータが実行する手順として、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するための複数のコマンドを１つずつ処理対象にして、前記複数のコマンドすべてを処理するため、コマンドの数と同数の処理を繰り返すように制御する複数コマンド処理制御手順を有し、
さらに、前記複数コマンド処理制御手順による繰り返し処理中には、
処理対象となっている１つのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手順と、
該情報要求手順において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手順と、
該出力完了判定手順において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手順と、
前記出力完了判定手順において、前記出力を完了していないと判定した場合に、前記複数コマンド処理制御手順による繰り返し処理を中断させる中断制御手順と
を含むことを特徴とする。
【００３２】
この情報取得処理プログラムに従ってコンピュータが上記各手順を実行すると、コンピュータは、複数のコマンドを１つずつ処理対象にして、コマンドの数と同数の処理を繰り返す。この繰り返し処理の中で、コンピュータは、処理対象となっている１つのコマンドを印刷スプーラに与える。そして、コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、印刷スプーラがコマンドの画像形成装置への出力を完了しているか否かを判定する。第１の期間は、印刷スプーラがデータを受け取ってから画像形成装置側への出力を終えるまでに要する標準的な時間を考慮し、通常であれば出力を完了するのに十分であろうと思われる期間を任意に決めればよい。この判定において、出力を完了したと判定した場合には、コンピュータが、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。一方、出力を完了していないと判定した場合、コンピュータは、繰り返し処理を中断させる。そのため、１つのコマンドについて、上記第１の期間が経過するような状況下では、以降、未処理のコマンドが残っていたとしても、繰り返し処理は中断される。
【００３３】
したがって、このような手順を備えた情報取得処理プログラムによれば、少なくとも第１の期間が経過した後は、さらに繰り返し処理を継続することがないので、複数のコマンドと同数の処理を無条件に繰り返してしまうものとは異なり、印刷スプーラ側から画像形成装置側への出力が不能な状況下で、複数の印字ジョブをキューにため込んでしまうことがない。よって、利用者にとって見覚えのない複数の印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００３４】
なお、以上説明した情報取得処理プログラムは、さらに次のような特徴を有するものであると望ましい。
まず、前記出力完了判定手順において、前記出力を完了していないと判定した場合に、前記処理対象となっている１つのコマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手順と、前記削除指令手順を実行した後、前記処理対象となっている１つのコマンドをあらためて前記印刷スプーラに与えるため、前記情報要求手順を再実行するように制御する再実行制御手順と、前記情報要求手順から前記削除指令手順に至る手順を、複数回にわたって繰り返し実行した場合に、前記再実行制御手順による制御を中止して、エラーが発生したことを報知するエラー報知手順と、該エラー報知手順によってエラーを報知した場合に、本処理を中断するか否かを利用者に入力させる指示入力手順とを含み、前記中断制御手順は、前記指示入力手順において利用者が本処理を中断する旨の指示を入力した場合に、前記複数コマンド処理制御手順による繰り返し処理を中断させる手順であるとよい。
【００３５】
このような情報取得処理プログラムであれば、コンピュータは、上述した繰り返し処理の中で、印刷スプーラがコマンドの画像形成装置への出力を完了していないと判定した場合、繰り返し処理を中断させるに当たって、以下の各手順を実行する。
【００３６】
すなわち、まず、コンピュータは、コマンドが含まれる印字ジョブをキューから削除することを、印刷スプーラに対して指令する。そして、コマンドをキューから削除した場合、同じコマンドを再び印刷スプーラに与える。そして、キューからのコマンドの削除とキューへのコマンドの再投入とを、複数回にわたって繰り返し実行した場合は、エラーが発生したことを報知する。そして、エラーを報知した場合に、本処理を中断するか否かを利用者に入力させる。そして、利用者が本処理を中断する旨の指示を入力した場合に、繰り返し処理を中断させることになる。
【００３７】
したがって、第１の期間が経過した後もコマンドが含まれる印字ジョブをキューから削除しないものとは異なり、第１の期間が経過すれば、コマンドの画像形成装置への出力が完了していなくても、印字ジョブはキューから削除されるので、そのような印字ジョブがいつまでもキューに入れられている状況にはならない。また、印字ジョブが削除された場合でも、同じコマンドが再び印刷スプーラに与えられることになるので、印刷スプーラ側から画像形成装置側へのデータ出力ができる状況になった場合には、所期の画像形成装置情報を取得することができる。さらに、キューからのコマンドの削除とキューへのコマンドの再投入とを、複数回にわたって繰り返し実行した後には、エラーが発生したことを報知するので、画像形成装置の状態その他の確認が必要な状況にあることを、適切なタイミングで利用者に伝えることができる。しかも、エラーを報知した場合は、本処理を中断するか否かを利用者に入力させ、利用者が本処理を中断する旨の指示を入力した場合に、繰り返し処理を中断させるので、この繰り返し処理を強制的に中断させてしまうものとは異なり、利用者の意志を確認してから、繰り返し処理の中断を行うことができる。
【００３８】
加えて、この場合、前記指示入力手順は、本処理を継続するか否かを利用者に入力させる手順でもあり、さらに、前記指示入力手順において利用者が本処理を継続する旨の指示を入力した場合に、前記処理対象となっている１つのコマンドについての処理を終え、前記複数コマンド処理制御手順による処理対象となるコマンドを変更し、該変更後のコマンドについて、前記複数コマンド処理制御手順による繰り返し処理中の各手順を実行するように制御する再開制御手順を備えていてもよい。
【００３９】
このような情報取得処理プログラムであれば、エラーを報知した場合に、利用者は、本処理の中断の他に、本処理の継続も選択できるようになり、利用者が本処理を継続する旨の指示を入力した場合は、処理対象となっている１つのコマンドについての処理を終え、処理対象となるコマンドを別の未処理コマンドに変更し、変更後のコマンドについて、繰り返し処理中の各手順を実行する。
【００４０】
したがって、エラー発生時における未処理のコマンドすべてに対する処理の中断を行わなくても、エラー発生時における処理対象コマンドのみ処理を中止し、利用者の判断次第で、他の未処理のコマンドについては、処理を継続することができる。
【００４１】
次に、本発明のコンピュータは、
画像形成装置が接続されており、さらに、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するコンピュータであって、
前記印刷スプーラに前記出力データを与えた場合に、該出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあるか否かを判定する状態判定手段と、
該状態判定手段において、前記出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあると判定した場合に、前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と
を備えていることを特徴とする。
【００４２】
このコンピュータにおいて、状態判定手段は、印刷スプーラに出力データを与えた場合に、その出力データを印刷スプーラが直ちに画像形成装置へと出力可能な状態にあるか否かを判定する。ここで、状態判定手段が、出力データを印刷スプーラが直ちに画像形成装置へと出力可能な状態にあると判定した場合、情報要求手段は、画像形成装置に対して画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラに与える。そのため、印刷スプーラが出力データを画像形成装置へ出力できない状態にあるにもかかわらずコマンドを印刷スプーラに与えてしまうものとは異なり、印刷スプーラに与えられたコマンドは、直ちに画像形成装置へと出力されて、印字ジョブはキューから消える。後は、情報取得手段が、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。
【００４３】
したがって、このコンピュータによれば、利用者にとって見覚えのない印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００４４】
また、本発明のコンピュータは、
画像形成装置が接続されており、さらに、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するコンピュータであって、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記コマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手段と
を備えていることを特徴とする。
【００４５】
このコンピュータにおいて、情報要求手段は、画像形成装置に対して画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラに与える。そして、出力完了判定手段は、コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、印刷スプーラがコマンドの画像形成装置への出力を完了しているか否かを判定する。第１の期間は、印刷スプーラがデータを受け取ってから画像形成装置側への出力を終えるまでに要する標準的な時間を考慮し、通常であれば出力を完了するのに十分であろうと思われる期間を任意に決めればよい。ここで、出力完了判定手段が、出力を完了したと判定した場合には、情報取得手段が、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。一方、出力完了判定手段が、出力を完了していないと判定した場合、削除指令手段は、コマンドが含まれる印字ジョブをキューから削除することを、印刷スプーラに対して指令する。そのため、第１の期間が経過した後もコマンドが含まれる印字ジョブをキューから削除しないものとは異なり、第１の期間が経過すれば、コマンドの画像形成装置への出力が完了していなくても、印字ジョブはキューから削除される。
【００４６】
したがって、このコンピュータによれば、少なくとも第１の期間が経過した後は、利用者にとって見覚えのない印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００４７】
また、本発明のコンピュータは、
画像形成装置が接続されており、さらに、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するコンピュータであって、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するための複数のコマンドを１つずつ処理対象にして、前記複数のコマンドすべてを処理するため、コマンドの数と同数の処理を繰り返すように制御する複数コマンド処理制御手段を有し、
さらに、前記複数コマンド処理制御手段による繰り返し処理中に機能する手段として、
処理対象となっている１つのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記複数コマンド処理制御手段による繰り返し処理を中断させる中断制御手段と
を備えていることを特徴とする。
【００４８】
このコンピュータにおいて、複数コマンド処理制御手段は、複数のコマンドを１つずつ処理対象にして、コマンドの数と同数の処理を繰り返す。この繰り返し処理の中で、情報要求手段は、処理対象となっている１つのコマンドを印刷スプーラに与える。そして、出力完了判定手段は、コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、印刷スプーラがコマンドの画像形成装置への出力を完了しているか否かを判定する。第１の期間は、印刷スプーラがデータを受け取ってから画像形成装置側への出力を終えるまでに要する標準的な時間を考慮し、通常であれば出力を完了するのに十分であろうと思われる期間を任意に決めればよい。ここで、出力完了判定手段が、出力を完了したと判定した場合には、情報取得手段が、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。一方、出力完了判定手段が、出力を完了していないと判定した場合、中断制御手段は、繰り返し処理を中断させる。そのため、１つのコマンドについて、上記第１の期間が経過するような状況下では、以降、未処理のコマンドが残っていたとしても、繰り返し処理は中断される。
【００４９】
したがって、このコンピュータによれば、少なくとも第１の期間が経過した後は、さらに繰り返し処理を継続することがないので、複数のコマンドと同数の処理を無条件に繰り返してしまうものとは異なり、印刷スプーラ側から画像形成装置側への出力が不能な状況下で、複数の印字ジョブをキューにため込んでしまうことがない。よって、利用者にとって見覚えのない複数の印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００５０】
次に、本発明の情報取得処理システムは、
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記コンピュータが、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するように構成されたシステムであって、
前記コンピュータは、
前記印刷スプーラに前記出力データを与えた場合に、該出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあるか否かを判定する状態判定手段と、
該状態判定手段において、前記出力データを前記印刷スプーラが直ちに前記画像形成装置へと出力可能な状態にあると判定した場合に、前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と
を備えていることを特徴とする。
【００５１】
この情報取得処理システムにおいて、コンピュータは上記各手段を備えており、それら各手段のうち、状態判定手段は、印刷スプーラに出力データを与えた場合に、その出力データを印刷スプーラが直ちに画像形成装置へと出力可能な状態にあるか否かを判定する。ここで、状態判定手段が、出力データを印刷スプーラが直ちに画像形成装置へと出力可能な状態にあると判定した場合、情報要求手段は、画像形成装置に対して画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラに与える。そのため、印刷スプーラが出力データを画像形成装置へ出力できない状態にあるにもかかわらずコマンドを印刷スプーラに与えてしまうものとは異なり、印刷スプーラに与えられたコマンドは、直ちに画像形成装置へと出力されて、印字ジョブはキューから消える。後は、情報取得手段が、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。
【００５２】
したがって、この情報取得処理システムによれば、利用者にとって見覚えのない印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００５３】
また、本発明の情報取得処理システムは、
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記コンピュータが、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するように構成されたシステムであって、
前記コンピュータは、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するためのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記コマンドが含まれる印字ジョブを前記キューから削除することを、前記印刷スプーラに対して指令する削除指令手段と
を備えていることを特徴とする。
【００５４】
この情報取得処理システムにおいて、コンピュータは上記各手段を備えており、それら各手段のうち、情報要求手段は、画像形成装置に対して画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラに与える。そして、出力完了判定手段は、コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、印刷スプーラがコマンドの画像形成装置への出力を完了しているか否かを判定する。第１の期間は、印刷スプーラがデータを受け取ってから画像形成装置側への出力を終えるまでに要する標準的な時間を考慮し、通常であれば出力を完了するのに十分であろうと思われる期間を任意に決めればよい。ここで、出力完了判定手段が、出力を完了したと判定した場合には、情報取得手段が、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。一方、出力完了判定手段が、出力を完了していないと判定した場合、削除指令手段は、コマンドが含まれる印字ジョブをキューから削除することを、印刷スプーラに対して指令する。そのため、第１の期間が経過した後もコマンドが含まれる印字ジョブをキューから削除しないものとは異なり、第１の期間が経過すれば、コマンドの画像形成装置への出力が完了していなくても、印字ジョブはキューから削除される。
【００５５】
したがって、この情報取得処理システムによれば、少なくとも第１の期間が経過した後は、利用者にとって見覚えのない印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【００５６】
また、本発明の情報取得処理システムは、
コンピュータと該コンピュータに接続された画像形成装置とを備え、前記コンピュータには、前記画像形成装置への出力データを、該出力データが含まれる印字ジョブとしてキューに入れて一時的に保管するとともに、該キューに保管された印字ジョブを順次処理して、該印字ジョブに含まれる前記出力データを入出力Ｉ／Ｆを介して前記画像形成装置へと出力する印刷スプーラが設けられており、前記コンピュータが、前記画像形成装置側で管理されている画像形成装置情報を、前記画像形成装置から取得する処理を実行するように構成されたシステムであって、
前記コンピュータは、
前記画像形成装置に対して前記画像形成装置情報の提供を要求するための複数のコマンドを１つずつ処理対象にして、前記複数のコマンドすべてを処理するため、コマンドの数と同数の処理を繰り返すように制御する複数コマンド処理制御手段を有し、
さらに、前記複数コマンド処理制御手段による繰り返し処理中に機能する手段として、
処理対象となっている１つのコマンドを、前記出力データとして前記印刷スプーラに与える情報要求手段と、
該情報要求手段において前記印刷スプーラに前記コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、前記印刷スプーラが前記コマンドの前記画像形成装置への出力を完了しているか否かを判定する出力完了判定手段と、
該出力完了判定手段において、前記出力を完了したと判定した場合に、前記コマンドによる要求に応じて前記画像形成装置から前記コンピュータへと返される前記画像形成装置情報を、前記画像形成装置から取得する情報取得手段と、
前記出力完了判定手段において、前記出力を完了していないと判定した場合に、前記複数コマンド処理制御手段による繰り返し処理を中断させる中断制御手段と
を備えていることを特徴とする。
【００５７】
この情報取得処理システムにおいて、コンピュータは上記各手段を備えており、それら各手段のうち、複数コマンド処理制御手段は、複数のコマンドを１つずつ処理対象にして、コマンドの数と同数の処理を繰り返す。この繰り返し処理の中で、情報要求手段は、処理対象となっている１つのコマンドを印刷スプーラに与える。そして、出力完了判定手段は、コマンドを与えてから、あらかじめ定められた第１の期間が経過したときに、印刷スプーラがコマンドの画像形成装置への出力を完了しているか否かを判定する。第１の期間は、印刷スプーラがデータを受け取ってから画像形成装置側への出力を終えるまでに要する標準的な時間を考慮し、通常であれば出力を完了するのに十分であろうと思われる期間を任意に決めればよい。ここで、出力完了判定手段が、出力を完了したと判定した場合には、情報取得手段が、送信したコマンドに対する応答を受信することで、所期の画像形成装置情報を取得することができる。一方、出力完了判定手段が、出力を完了していないと判定した場合、中断制御手段は、繰り返し処理を中断させる。そのため、１つのコマンドについて、上記第１の期間が経過するような状況下では、以降、未処理のコマンドが残っていたとしても、繰り返し処理は中断される。
【００５８】
したがって、この情報取得処理システムによれば、少なくとも第１の期間が経過した後は、さらに繰り返し処理を継続することがないので、複数のコマンドと同数の処理を無条件に繰り返してしまうものとは異なり、印刷スプーラ側から画像形成装置側への出力が不能な状況下で、複数の印字ジョブをキューにため込んでしまうことがない。よって、利用者にとって見覚えのない複数の印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【発明の効果】
【００５９】
以上説明した通り、本発明によれば、画像形成装置情報の提供を要求するためのコマンドを、印刷スプーラ経由で画像形成装置側へと出力する際に、コマンドを含む印字ジョブが長期間にわたって印刷スプーラのキューに残らないようにすることができる。したがって、利用者にとって見覚えのない複数の印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【発明を実施するための最良の形態】
【００６０】
次に、本発明の実施形態について一例を挙げて説明する。
図１は、複数のパーソナルコンピュータを、ＬＡＮ（Local Area Network）を介して相互に接続したネットワークシステムを示すブロック図である。
【００６１】
本発明の実施形態として例示する情報取得処理システムは、パーソナルコンピュータ１、１’、１”…上において作動するシステムとして構成され、パーソナルコンピュータ１、１’、１”…に接続されたプリンタ３、３’、３”…から、各３、３’、３”…において管理、更新されているプリンタ情報を取得する処理を行うようになっている。
【００６２】
また、本実施形態において、パーソナルコンピュータ１、１’、１”…は、パーソナルコンピュータ２からの要求に応じて、プリンタ３、３’、３”…から取得したプリンタ情報を、パーソナルコンピュータ２に対して提供するようになっている。そして、パーソナルコンピュータ２は、パーソナルコンピュータ１、１’、１”…から提供されるプリンタ情報を取得し、ネットワーク上のパーソナルコンピュータ１、１’、１”…に接続されたプリンタ３、３’、３”…のプリンタ情報を管理する。
【００６３】
なお、以下の説明においては、プリンタ情報を管理するパーソナルコンピュータ２を管理ＰＣ２、管理ＰＣ２によって管理されるパーソナルコンピュータ１、１’、１”…を被管理ＰＣ１、１’、１”…と称する。
【００６４】
被管理ＰＣ１は、図２に示すように、ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３等を中心に構成された制御部１０１と当該制御部１０１と各種デバイスとを接続するためのＩ／Ｆ部１０２とを備えてなる本体部１１、キーボードやポインティングデバイスなどの入力部１２、ディスプレイなどの表示部１３、およびハードディスクなどの補助記憶部１４を備えている。
【００６５】
本体部１１には、ＯＳ（Operating System）としてＷｉｎｄｏｗｓ（登録商標）が搭載され、プリンタＩ／Ｆ機能部１２１、ＬＡＮＩ／Ｆ機能部１２２、印刷スプーラ１２３など、アプリケーションから共通して利用される機能は、ＯＳの一部として実装されたソフトウェアモジュールによって構成されている。また、この他、キーボード入力、画面出力といった入出力機能やハードディスクやメモリの管理などの機能もＯＳによって提供される。なお、同等の機能を実現できれば、被管理ＰＣ１には、他のＯＳ（例えば、Ｌｉｎｕｘ（登録商標）、ＭａｃＯＳ（登録商標）等）が搭載されていても構わないが、以下の説明においては、被管理ＰＣ１が、Ｗｉｎｄｏｗｓ（登録商標）によって提供される各種機能を有するとの前提で説明を続ける。
【００６６】
本体部１１のＩ／Ｆ部１０２としては、上述の入力部１２、表示部１３、および補助記憶部１４とのＩ／Ｆの他、ＬＡＮカードなどのＬＡＮ  Ｉ／Ｆ１１４、ＵＳＢ（Universal Serial Bus）ポートあるいはパラレルポートなどのプリンタＩ／Ｆ１１５が設けられ、ＬＡＮ  Ｉ／Ｆ１１４に接続されたＬＡＮケーブルを介して被管理ＰＣ１はＬＡＮに接続され、プリンタＩ／Ｆ１１５に接続されたプリンタケーブルを介して被管理ＰＣ１とプリンタ３とが接続されている。
【００６７】
この被管理ＰＣ１には、被管理ＰＣ１に接続されたプリンタ３からプリンタ情報を取得し、そのプリンタ情報を管理ＰＣ２に対して提供する機能を実現するためのソフトウェアがインストールされ、このソフトウェアがＣＰＵ１１１上で動作することにより、プリンタ情報取得部１２４として機能するように構成されている。
【００６８】
なお、被管理ＰＣ１’、１”…は、被管理ＰＣ１と同様に構成され、被管理ＰＣ１と同等の機能を有するものなので、詳細な説明を省略する。
管理ＰＣ２も、基本的には被管理ＰＣ１と同様に構成されたものであり、本体部２１、入力部２２、表示部２３、補助記憶部２４等を備え、本体部２１には、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）が搭載されている。管理ＰＣ２についても、同等の機能を実現できれば、他のＯＳ（例えば、Ｌｉｎｕｘ（登録商標）、ＭａｃＯＳ（登録商標）等）が搭載されていても構わないが、以下の説明においては、管理ＰＣ２が、Ｗｉｎｄｏｗｓ（登録商標）によって提供される各種機能を有するとの前提で説明を続ける。
【００６９】
この管理ＰＣ２には、被管理ＰＣ１、１’、１”…等のネットワーク上のコンピュータに対し、それら各コンピュータに接続されたプリンタ３、３’、３”…に関する情報の提供を要求するとともに、その要求に応じて他のコンピュータから提供されるプリンタ情報を一括して管理する機能を実現するためのソフトウェアがインストールされている。
【００７０】
プリンタ３、３’、３”…は、管理ＰＣ２による管理対象となる被管理プリンタである。これらプリンタ３、３’、３”…は、いずれもプリンタジョブ言語（ＰＪＬ；Printer Job Language）に対応したものである。
【００７１】
次に、被管理ＰＣ１において実行されるプリンタ情報取得部１２４の処理について、図３のフローチャートに基づいて説明する。この処理は、被管理ＰＣ１の起動に伴って開始される処理である。なお、この処理は、被管理ＰＣ１’、１”…においても同様に実行されるが、ここでは被管理ＰＣ１において実行される処理を例に挙げながら説明を続ける。
【００７２】
本処理を開始すると、被管理ＰＣ１は、まず、ローカルプリンタのリストを作成する（Ｓ１０１）。この処理では、被管理ＰＣ１に接続されているすべてのプリンタ（本実施形態の場合、プリンタ３）がリストに登録される。続いて、Ｓ１０１の処理で作成されたリストから、プリンタを抽出して（Ｓ１０３）、抽出されたプリンタに対応する処理スレッドを作成する（Ｓ１０５）。これらＳ１０３およびＳ１０５の処理は、上記リストに登録されたプリンタの総数に対応する回数だけ繰り返される（Ｓ１０７：ＮＯ）。その結果、本処理の他に、プリンタ総数と同数の処理スレッドにおける処理が並列に実行される状態になる。本実施形態の場合、被管理ＰＣ１にはプリンタ３が１台だけ接続されているので、Ｓ１０５の処理では１つの処理スレッドが新たに作成されることになる。なお、新たに作成された処理スレッドでは、各処理スレッドの対象プリンタからプリンタ情報（例えば、ドラム交換時期など、交換部品の使用度合に関する情報、トナーないしインク残量、記録用紙残量など、消耗品の消耗度合に関する情報、紙詰まり回数など、異常の発生回数に関する情報、その他プリンタ３側において管理、更新される各種情報）を取得して、データベース（以下、ＤＢと略称する）である補助記憶部１４内の結果ファイル１３３に記録する処理などが行われるが、詳しい処理内容については後述する。
【００７３】
さて、プリンタ総数と同数の処理スレッドを作成したら（Ｓ１０７：ＹＥＳ）、続いて、設定ファイル１３４から設定時刻を読み取って、設定時刻までの時間を計算し（Ｓ１０９）、Ｓ１０９の処理で算出した時間をタイマーにセットする（Ｓ１１１）。設定ファイル１３４は、補助記憶部１４内に記憶されているファイルであり、この設定ファイル１３４には、管理者が任意に設定する設定時刻が記録されている。このタイマーは、Ｓ１１１の処理後、Ｓ１０９の処理で算出した時間が経過するとタイマーイベントを発生させる。
【００７４】
続いて、被管理ＰＣ１は、関連イベントの発生を待ち（Ｓ１１３）、発生したイベントがプリンタ追加イベントであれば（Ｓ１１５：ＹＥＳ）、リストにプリンタを追加して（Ｓ１１７）、追加されたプリンタに対応する処理スレッドを作成する（Ｓ１１９）。プリンタ追加イベントは、例えば周知のプラグアンドプレイ機能等により、プリンタの電源ＯＮやケーブルの挿し込みを検出した場合に発生するイベントである。このプリンタ追加イベントの発生により、新たに利用可能なプリンタが追加されたことがわかるので、Ｓ１１９の処理により対象プリンタに対応する処理スレッドを作成することにより、Ｓ１０５の処理において作成した処理スレッドと同等の処理を行う処理スレッドを追加する。なお、Ｓ１１９の処理を終えたらＳ１１３の処理へと戻る。
【００７５】
一方、Ｓ１１５の処理による判定の結果、発生したイベントがプリンタ追加イベントでなかった場合（Ｓ１１５：ＮＯ）、発生したイベントがタイマーイベントであれば（Ｓ１２１：ＹＥＳ）、読み込み／ＤＢ化処理２を実行する（Ｓ１２３）。ここで発生するタイマーイベントは、先に説明したＳ１０９およびＳ１１１の処理によるものである。Ｓ１２３の読み込み／ＤＢ化処理２では、被管理ＰＣ１に接続されているすべてのプリンタから状態を取得してデータベース（ＤＢ）に記録する処理などが行われるが、詳しい処理内容については後述する。そして、タイマーに２４時間をセットして（Ｓ１２５）、２４時間後に再びタイマーイベントが発生する状態とし、Ｓ１１３の処理へと戻る。
【００７６】
また、Ｓ１２１の処理による判定の結果、発生したイベントがタイマーイベントでなかった場合（Ｓ１２１：ＮＯ）、発生したイベントが終了指示イベントであれば（Ｓ１２７：ＹＥＳ）、本処理を終了する。終了指示イベントは、利用者が入力部１２を利用して所定の終了操作を行った際に発生するイベントである。一方、終了指示イベントでなければ（Ｓ１２７：ＮＯ）、Ｓ１１３の処理へと戻り、再び関連イベントの発生を待つ状態になる。すなわち、被管理ＰＣ１が作動状態にある場合、利用者が終了操作を行わない限り、本処理が終了することはなく、本処理は被管理ＰＣ１上の常駐プロセスとして実行され続けることになる。
【００７７】
さて、次に上記Ｓ１０５およびＳ１１９の各処理において作成される処理スレッドの処理（以下、スレッド処理という）について、図４のフローチャートに基づいて説明する。このスレッド処理は、上述の通り、被管理ＰＣ１に接続されたプリンタの総数と同数が並列に実行され、それら複数のスレッド処理は、それぞれが一つのプリンタに対応するスレッド処理となっている。
【００７８】
このスレッド処理を開始すると、被管理ＰＣ１は、プリンタ関連イベントの発生を待ち（Ｓ２０１）、発生したイベントがプリンタ削除イベントであれば（Ｓ２０３：ＹＥＳ）、リストからプリンタを削除して（Ｓ２０５）、本スレッド処理を終了する。プリンタ削除イベントは、プリンタの電源ＯＦＦやケーブルの抜き取りを検出した場合に発生するイベントである。このプリンタ削除イベントの発生により、それまで利用可能であったプリンタが削除されたことがわかるので、Ｓ２０５の処理により、対象プリンタに対応する不要な処理スレッドを終了させる。
【００７９】
一方、Ｓ２０３の処理において、発生したイベントがプリンタ削除イベントでなかった場合（Ｓ２０３：ＮＯ）、発生したイベントが印字終了イベントであれば（Ｓ２０７：ＹＥＳ）、本スレッド処理に対応するプリンタを出力先とする印字ジョブを列挙する（Ｓ２０９）。具体的には、Ｓ２０９の処理時点においてキュー１３１に入れられている印字ジョブに関する情報（印字ジョブ情報）が、プリンタ情報取得部１２４が印刷スプーラ１２３（図２参照）から情報を取得し、リストアップされる。キュー１３１は、１つのプリンタに対してリクエストされた印字ジョブが補助記憶部１４（あるいはＲＡＭ１１３）に記憶され、ＯＳによって順序づけて管理された集合体である。そして、リストアップされた印字ジョブ情報を参照してジョブ数を計数し（Ｓ２１１）、そのジョブ数が設定値Ｎ以下かどうかをチェックする（Ｓ２１３）。
【００８０】
本実施形態においては、設定値Ｎ＝０とされており、Ｓ２１３の処理ではジョブ数が０かどうかがチェックされることになる。ジョブ数が０かどうかをチェックするための具体的な手順は、最も基本的には、Ｓ２０９の処理によってリストアップされた印字ジョブ情報の数が０であるかどうかを調べるだけでもよい。ただし、本実施形態の場合、Ｓ２０９の処理によってリストアップされる印字ジョブ情報内には、ジョブステータスという項目があり、一つの印字ジョブにおいて出力データの送信が完了すると、まずジョブステータスに「送信済み」という情報がセットされ、その後、ＯＳ側で管理する所定のタイミングで印字ジョブ情報そのものが消去されるようになっている。そのため、Ｓ２０９の処理によってリストアップされた印字ジョブ情報が１つだけ存在する場合でも、その印字ジョブ情報内のジョブステータスに「送信済み」という情報がセットされていれば、該当するジョブは既に存在しないものと見なすことができる。そこで、本実施形態におけるＳ２１３の処理では、リストアップされた印字ジョブ情報の数が０の場合はもちろんのこと、印字ジョブ情報の数が１の場合でも、印字ジョブ情報内のジョブステータスが「送信済み」となっていれば、ジョブ数が０であると判定する。
【００８１】
Ｓ２１３の処理において、ジョブ数が設定値Ｎ以下の場合は（Ｓ２１３：ＹＥＳ）、読み取り／ＤＢ化処理１を実行する（Ｓ２１５）。このＳ２１５の読み取り／ＤＢ化処理１は、詳しくは図５のフローチャートに示すような処理になる。
【００８２】
読み取り／ＤＢ化処理１を開始すると、被管理ＰＣ１は、まず、本処理が対象とするプリンタについて排他制御を開始する（Ｓ３０１）。ここで、排他制御は、同一プリンタに対する処理を、別スレッドや他のプロセスから同時に行ってしまうことを防ぐためのものである。既にプリンタに対する処理が行われていた場合、排他制御に失敗してエラーが返されるので、そのまま本処理を終了する。すなわち、以降の処理は、対象プリンタに対する排他制御が実施できる場合にのみ実行されることになる。排他制御に成功した場合、対象プリンタをオープンする（Ｓ３０３）。
【００８３】
続いて、コマンドファイル１３２からコマンドを取り出す（Ｓ３０５）。コマンドファイル１３２は、補助記憶部１４内に記憶されているファイルであり、このコマンドファイル１３２には、プリンタジョブ言語（ＰＪＬ）によって記述された複数のコマンド（例えば、トナーないしインク残量を調べるためのコマンド、記録用紙残量を調べるためのコマンド、ドラム交換時期を調べるためのコマンドなど）が記録されている。Ｓ３０５の処理では、それら複数のコマンドの中から一つのコマンドが取り出される。
【００８４】
そして、そのコマンドを対象プリンタに送信する処理を実行する（Ｓ３０７）。このＳ３０７の送信処理は、詳しくは図６のフローチャートに示すような処理になる。
送信処理１を開始すると、被管理ＰＣ１は、まず、第１送信タイムアウト時間Ｔ１を取得する（Ｓ３５１）。この第１送信タイムアウト時間Ｔ１は、ＯＳのプリンタＩ／Ｆ機能部１２１において送信エラーの判定基準として利用されている時間で、例えば６０秒程度が設定されている。なお、この第１送信タイムアウト時間Ｔ１は、被管理ＰＣ１の管理者が任意に変更可能な時間ではあるが、本システム以外のアプリケーションなどがプリンタＩ／Ｆ機能部１２１を利用する場合にも参照される時間なので、本システムにとってのみ好都合な時間を設定することはできない場合が多い。
【００８５】
続いて、被管理ＰＣ１は、第１送信タイムアウト時間Ｔ１に基づいて、第２送信タイムアウト時間Ｔ２を算出する（Ｓ３５３）。この第２送信タイムアウト時間Ｔ２は、上述の第１送信タイムアウト時間Ｔ１とは異なり、後述する処理の中で本システムのみが参照する時間であり、印刷スプーラ１２３がＰＪＬコマンドを受け取ってからプリンタ３側への出力を終えるまでに要する標準的な時間を考慮し、通常であれば出力を完了するのに十分であろうと思われる時間とされる。本実施形態の場合、第１送信タイムアウト時間Ｔ１が１０秒以上であれば、第２送信タイムアウト時間Ｔ２としては、第１送信タイムアウト時間Ｔ１よりも１０秒少ない時間（Ｔ２＝Ｔ１−１０（秒））が算出される。また、第１送信タイムアウト時間Ｔ１が１０秒以下であれば、第２送信タイムアウト時間Ｔ２としては、第１送信タイムアウト時間Ｔ１よりも１秒少ない時間（Ｔ２＝Ｔ１−１（秒））が算出される。
【００８６】
そして、被管理ＰＣ１は、送信ポートのステータスを取得する（Ｓ３５５）。このＳ３５５の処理は、送信ポートの種別によって具体的な処理が異なり、例えば、送信ポートがパラレルポートの場合は、ＢＵＳＹ信号に基づいて送信可能／不可のステータスを取得することになり、ＵＳＢポートの場合は、１２８４ステータスのＦＬＴ、ＳＬＣＴに基づいて送信可能／不可のステータスを取得することになる。
【００８７】
送信ポートのステータスを取得したら、被管理ＰＣ１は、送信不可かどうかをチェックし（Ｓ３５７）、送信不可でなければ（Ｓ３５７：ＮＯ）、印刷スプーラ１２３へデータ出力を行う（Ｓ３５９）。すなわち、上記Ｓ３０５の処理において取り出されたＰＪＬコマンドを出力データとし、この出力データを印刷スプーラ１２３へと出力する。その結果、印刷スプーラ１２３側では、ＰＪＬコマンドを受け取り、受け取ったＰＪＬコマンドを印字ジョブとしてキュー１３１に格納する。その際、この印字ジョブには、印刷スプーラが管理するジョブＩＤが付与される。
【００８８】
印刷スプーラ１２３は、通常、キュー１３１に格納されている印字ジョブについて、キュー１３１への投入順序や印字ジョブ毎に設定された優先度を参照して処理順序を決定し、その処理順序に従って印字ジョブを処理する。この処理によって、各印字ジョブに含まれる出力データは、指定されている送信ポート（プリンタＩ／Ｆ１１５）を介してプリンタへと出力されることになる。キュー１３１に格納されている印字ジョブが複数あった場合、処理順序が先になっている印字ジョブについての処理が終わるまで、処理順序が後になっている印字ジョブについての処理は開始されないことになる。
【００８９】
しかし、本実施形態においては、先に説明したＳ２１３の処理でジョブ数が０以下の場合に、Ｓ３５９の処理へと移行するので、Ｓ３５９の処理に伴って印刷スプーラ１２３がキュー１３１に格納した印字ジョブが最優先で処理される可能性はきわめて高い。しかも、Ｓ３５５〜Ｓ３５７の処理で、送信ポートのステータスを取得し、送信不可でない場合にのみ、Ｓ３５９の処理へと移行するので、送信ポートの状態に起因して印刷スプーラ１２３が送信を開始できない状態になる可能性はきわめて低い。したがって、Ｓ３５９の処理で印刷スプーラ１２３に渡されたＰＪＬコマンドは、多くの場合、送信ポートを介して直ちにプリンタ３側へと出力されることになる。
【００９０】
さて、Ｓ３５９の処理を終えた後、被管理ＰＣ１は、印刷スプーラ１２３からのデータ出力が完了したか否かをチェックする（Ｓ３６１）。具体的には、印刷スプーラ１２３からキュー１３１に格納されている印字ジョブすべてのジョブＩＤを取得し、取得したジョブＩＤの中に、Ｓ３５９の処理に伴って印刷スプーラ１２３がキュー１３１に格納した印字ジョブに付与されたジョブＩＤが残っていないかどうかをチェックする。ここで、被管理ＰＣ１は、ジョブＩＤが残っていなければデータ出力が完了したと判定し、ジョブＩＤが残っていればデータ出力が完了していないと判定することになる。
【００９１】
データ出力が完了していた場合は（Ｓ３６１：ＹＥＳ）、送信成功となり、図６に示した送信処理を終えることになる。また、データ出力が完了していなかった場合でも（Ｓ３６１：ＮＯ）、Ｓ３５９の処理を実行してからの経過時間が第２送信タイムアウト時間Ｔ２に達していなければ（Ｓ３６３：ＮＯ）、Ｓ３６１の処理へと戻る。これにより、Ｓ３６１〜Ｓ３６３の処理が繰り返されることになり、この繰り返し処理の実行中に、印刷スプーラ１２３がデータ出力を完了すれば（Ｓ３６１：ＹＥＳ）、送信成功となり、図６に示した送信処理を終えることになる。
【００９２】
一方、Ｓ３６１〜Ｓ３６３の処理が繰り返される中で、印刷スプーラ１２３がデータ出力を完了しない場合に（Ｓ３６１：ＮＯ）、Ｓ３５９の処理を実行してからの経過時間が第２送信タイムアウト時間Ｔ２に達すると（Ｓ３６３：ＮＯ）、被管理ＰＣ１は、印刷スプーラ１２３からのデータ出力をキャンセルする（Ｓ３６５）、具体的には、Ｓ３５９の処理に伴って印刷スプーラ１２３がキュー１３１に格納した印字ジョブを、キュー１３１から削除するように、印刷スプーラ１２３に対して指令する。また、必要があれば、送信ポートやプリンタ３に対しても印字ジョブのキャンセルを指令する。
【００９３】
このように第２送信タイムアウト時間Ｔ２に達したところで、印字ジョブをキャンセルすると、何らかの事情で印字ジョブを処理できない状態になっている場合でも、第１送信タイムアウト時間Ｔ１が経過する前に印字ジョブがキャンセルされる。そのため、送信できないまま第１送信タイムアウト時間Ｔ１が経過した場合に送信ポート側（プリンタＩ／Ｆ機能部１２１）から出力されることになるエラーメッセージは、出力されないことになる。つまり、Ｓ３６３〜Ｓ３６５の処理により、ＯＳが標準で出力することになっているエラーメッセージ（エラーダイアログ）が表示部１３に出力されるのを未然に回避しており、これにより、本処理のようなバックグラウンドでの処理がなされていることを知らない利用者に、余計な心配をかけないようにしている。
【００９４】
なお、このＳ３６５の処理への移行を伴う処理は、１０回までリトライするようになっており、具体的には、リトライ回数が１０回未満の場合は（Ｓ３６７：ＹＥＳ）、Ｓ３５５の処理へと戻る。その結果、Ｓ３６５の処理において削除されることになった印字ジョブと同一内容の印字ジョブが、Ｓ３５９の処理を再実行することで再びキュー１３１に格納されることになる。そして、この印字ジョブについて、印刷スプーラ１２３がデータ出力を完了すれば（Ｓ３６１：ＹＥＳ）、送信成功となり、図６に示した送信処理を終えることになる。一方、リトライ回数が１０回に達した場合は（Ｓ３６７：ＮＯ）、ここで初めてエラーメッセージ（エラーダイアログ）を表示するとともに、利用者に指示を入力させる（Ｓ３６９）。
【００９５】
ここで、利用者は入力部１２での操作により、「スキップ」、「キャンセル」、「リトライ」のいずれかを択一的に選択することができる。そして、利用者が「スキップ」または「キャンセル」を選択した場合は、送信失敗となり、図６に示した送信処理を終えることになる。一方、利用者が「リトライ」を選択した場合は、Ｓ３５５の処理へと戻る。その結果、Ｓ３６５の処理において削除されることになった印字ジョブと同一内容の印字ジョブが、Ｓ３５９の処理を再実行することで再びキュー１３１に格納されることになる。そして、この印字ジョブについて、印刷スプーラ１２３がデータ出力を完了すれば（Ｓ３６１：ＹＥＳ）、送信成功となり、図６に示した送信処理を終えることになる。
【００９６】
さて、以上説明したＳ３５９〜Ｓ３６７の処理は、Ｓ３５５の処理において送信不可ではないと判定された場合の処理であったが、この他、Ｓ３５５の処理において送信不可であると判定されることもある（Ｓ３５７：ＹＥＳ）。この場合は、６０回までリトライするようになっており、具体的には、リトライ回数が６０回未満の場合は（Ｓ３８１：ＹＥＳ）、１０秒間待機して（Ｓ３８３）、Ｓ３５５の処理へと戻る。したがって、１０秒毎に６０回までは送信ポートのステータスがチェックされることになり、この繰り返し処理の中で送信可能となった場合は、先に説明したＳ３５９以降の処理へと移行することになる。一方、リトライ回数が６０回に達した場合は（Ｓ３８１：ＮＯ）、Ｓ３６９の処理へと移行する。なお、Ｓ３６９の処理以降の処理は、先に説明した通りの処理となるので、ここでの説明は省略する。
【００９７】
以上説明したＳ３５１〜Ｓ３８３の処理を終えると、処理結果としては、送信成功の場合、送信失敗（利用者によるスキップ指示）の場合、および送信失敗（利用者によるキャンセル指示）の場合があるものの、いずれの場合とも図５に示したＳ３０７の処理を終えたことになる。
【００９８】
そこで、被管理ＰＣ１は、送信成功であったか否かをチェックし（Ｓ３０８）、送信成功であった場合は（Ｓ３０８：ＹＥＳ）、対象プリンタから送信されてくる情報（プリンタ情報）を受信する（Ｓ３０９）。このＳ３０９の処理は、被管理ＰＣ１側においてプリンタ側から返されるプリンタ情報をリードバックする処理であるが、より具体的な処理方法は対象プリンタによっても異なる。例えば、対象プリンタがパラレルポートを介して接続されている場合は、プリンタ情報取得部１２４がＯＳのプリンタＩ／Ｆ機能部１２１を通じて、まず被管理ＰＣ１側へ返される情報の有無をチェックした後、情報が存在する場合にその情報の受信を行う。また、対象プリンタがＵＳＢポートを介して接続されている場合は、プリンタ情報取得部１２４がＯＳのプリンタＩ／Ｆ機能部１２１を通じて、まず情報の受信を行った後、情報量が０であった場合に再び情報の受信を繰り返す、といった処理になる。ただし、いずれの場合も最終的には何らかのデータを受信するので、そのデータが有効データであるかどうかをチェックし（Ｓ３１１）、有効データでない場合は（Ｓ３１１：ＮＯ）、Ｓ３０９の処理をやり直し、有効データであった場合は（Ｓ３１１：ＹＥＳ）、プリンタから受信したプリンタ情報をＤＢ（結果ファイル１３３）に書き込む（Ｓ３１３）。このＳ３１３の処理により、補助記憶部１４内に確保されたＤＢ（結果ファイル１３３）には、Ｓ３０７の処理によって対象プリンタに対して要求した１コマンド分の要求に対応する応答情報が記録されることになる。
【００９９】
これらＳ３０５〜Ｓ３１３の処理は、全コマンド終了まで繰り返し実行される（Ｓ３１５：ＮＯ）。この繰り返し処理において、Ｓ３０５の処理では、コマンドファイル１３２に記録された複数のコマンドが順に取り出される。そして、それら複数のコマンドすべてが処理（プリンタ側へ送信）されると、全コマンド終了となる（Ｓ３１５：ＹＥＳ）。その結果、補助記憶部１４内に確保されたＤＢ（結果ファイル１３３）には、対象プリンタに対して要求した全コマンド分の要求に対応する応答情報が記録されることになる。その後は、対象プリンタの排他制御を終了し（Ｓ３１７）、対象プリンタをクローズして（Ｓ３１９）、本処理を終える。
【０１００】
一方、上記Ｓ３０８の処理において、送信成功でなかった場合は（Ｓ３０８：ＮＯ）、送信失敗を示すエラー情報をＤＢ（結果ファイル）に書き込む（Ｓ３３１）。ここでエラー情報を書き込む対象となるコマンドは、上記Ｓ３０５の処理で取り出された一つのＰＪＬコマンドになる。
【０１０１】
そして、先に説明したＳ３７１の処理で送信失敗（スキップ）に移行していた場合、Ｓ３３３の処理においてスキップと判定され（Ｓ３３３：スキップ）、Ｓ３１５の処理へと移行する。その結果、全コマンド終了までは（Ｓ３１５：ＮＯ）、Ｓ３０５〜Ｓ３１３の処理を繰り返することになる。つまり、エラーとなったコマンドのみスキップし、次のコマンドの処理へと移行するのである。
【０１０２】
また、先に説明したＳ３７１の処理で送信失敗（キャンセル）に移行していた場合、Ｓ３３３の処理においてキャンセルと判定され（Ｓ３３３：キャンセル）、Ｓ３１７の処理へと移行する。その結果、対象プリンタの排他制御を終了し（Ｓ３１７）、対象プリンタをクローズして（Ｓ３１９）、本処理を終えることになる。つまり、エラーとなったコマンド以降のすべてのコマンドについての処理を中止するのである。
【０１０３】
以上説明したＳ３０１〜Ｓ３１９の処理を終えると、図４に示したＳ２１５の処理（読み取り／ＤＢ化処理１）を終えたことになり、その後は、Ｓ２０１の処理へと戻る。また、Ｓ２１１の処理で計数したジョブ数が設定値Ｎを超える場合（Ｓ２１３：ＮＯ）、Ｓ２１５の処理は実行せず、そのままＳ２０１の処理へと戻る。
【０１０４】
したがって、以上説明したスレッド処理は、利用可能なプリンタが存在する場合に、そのプリンタに対応する処理スレッドが作成されてから処理を開始し、プリンタ削除イベントの発生に伴って処理を終了することになる。そして、その処理の開始から終了までの間において、印字終了イベントが発生するたびに印字ジョブ数を調べ、印字ジョブ数が設定値Ｎ以下であれば、対象プリンタからプリンタ情報を取得、そのプリンタ情報を補助記憶部１４内に確保されたＤＢ（結果ファイル１３３）に書き込むのである。
【０１０５】
このように印字終了イベントが発生するたびに印字ジョブ数を調べれば、印字終了イベントの発生とは無関係に印字ジョブ数を調べるのに比べ、印字ジョブ数が設定値Ｎ以下とるタイミングを見逃しにくくなり、対象プリンタからプリンタ情報を取得する機会が増えることになる。また、本実施形態の場合、設定値Ｎ＝０となっているので、印字ジョブ数が０となった時にだけ、Ｓ２１５の処理により対象プリンタからプリンタ情報を取得する。そのため、印字処理完了までに時間を要する印字ジョブが先にキュー１３１に入れられていることが原因で、対象プリンタからプリンタ情報を取得するまでに時間を要することはない。
【０１０６】
ところで、上記スレッド処理によるＤＢ（結果ファイル１３３）への情報記録は、上述の通り、印字ジョブ数が０となった時にのみ実施されるので、理論的には、絶え間なく印字ジョブが発生しているような環境下では、なかなか印字ジョブ数が０とならず、その結果、上記スレッド処理だけでは、ＤＢ（結果ファイル１３３）への情報記録がなされないということも起こり得る。しかし、本システムにおいては、このスレッド処理に加え、上記Ｓ１０９〜Ｓ１１１、およびＳ１２１〜Ｓ１２５の処理も実行することにより、事前に設定された設置時刻となった場合には、ＤＢ（結果ファイル１３３）への情報記録を実施するようになっている。
【０１０７】
より詳しく説明すると、先に説明した通り、本システムでは、Ｓ１０９およびＳ１１１の処理により、設定時刻が到来するとタイマーイベントが発生するようになっており、タイマーイベントが発生した場合は、Ｓ１２３の処理（読み込み／ＤＢ化処理２）を実行するようになっている。このＳ１２３の処理は、詳しくは図７のフローチャートに示すような処理になる。
【０１０８】
読み込み／ＤＢ化処理２を開始すると、被管理ＰＣ１は、まずリストよりプリンタを抽出し（Ｓ４０１）、抽出したプリンタを出力先とする印字ジョブを計数し（Ｓ４０３）、そのジョブ数が０かどうかをチェックする（Ｓ４０５）。このＳ４０３およびＳ４０５の処理は、先に説明したＳ２１１およびＳ２１３の処理と同等の方法で実施するとよい。
【０１０９】
Ｓ４０５の処理による判定の結果、ジョブ数が０でない場合は（Ｓ４０５：ＮＯ）、読み取り／ＤＢ化処理１を実行してから（Ｓ４０７）、Ｓ４０９の処理へと進み、一方、ジョブ数が０であった場合は（Ｓ４０５：ＹＥＳ）、Ｓ４０７の読み取り／ＤＢ化処理１を実行することなく、Ｓ４０９の処理へと進む。
【０１１０】
このＳ４０７の読み取り／ＤＢ化処理１は、先に説明したＳ２１５の処理（詳しくはＳ３０１〜Ｓ３１９の処理）と同様の処理なので、ここでの詳細な説明は省略するが、Ｓ２１５の処理と同様に、対象プリンタからプリンタ情報を取得、そのプリンタ情報を補助記憶部１４内に確保されたＤＢ（結果ファイル１３３）に書き込む処理が実行される。以上のようにジョブ数が０でない場合に読み取り／ＤＢ化処理１を実行するのは、印字ジョブ数が０とならない環境下でも、本処理によってＤＢ（結果ファイル１３３）への情報記録を行うためである。一方、ジョブ数が０であった場合に読み取り／ＤＢ化処理１を実行しないのは、ジョブ数が０となった時点で、先に説明したスレッド処理による情報記録がなされているはずであり、その後、対象プリンタの状態には変化がないと考えられるためである。
【０１１１】
ここでの読み取り／ＤＢ化処理１は、印字ジョブがある状態にて実行されるため、ＰＪＬコマンドを送信した場合、それに伴って生成される印字ジョブは、先にキュー１３１に入っていた印字ジョブの最後に付加される。そのため、その後のリードバックデータに関しても、先にキュー１３１に溜まっていた印字ジョブがすべて終了するまでは返されることがない。
【０１１２】
なお、Ｓ４０９の処理へと進んだ際に、リスト上の全プリンタに対する処理が終了していなければ（Ｓ４０９：ＮＯ）、Ｓ４０１への処理へと戻る。これにより、Ｓ４０１〜Ｓ４０９の処理が被管理ＰＣ１に接続されたプリンタの総数と同数回分だけ繰り返され、その後、リスト上の全プリンタに対する処理が終了するので（Ｓ４０９：ＹＥＳ）、本処理を終了する。
【０１１３】
このように、被管理ＰＣ１においては、印字終了イベントが発生した際、印字ジョブ数がＮ以下（本実施形態では０）となった場合には、Ｓ２１５の処理が実行されて、対象プリンタから迅速にプリンタ情報が取得される一方、設定時刻が到来する毎に、印字ジョブ数がＮ以下（本実施形態では０）とならなくても、Ｓ４０７の処理が実行されて、対象プリンタから確実にプリンタ情報が取得される。
【０１１４】
次に、管理ＰＣ２おいて実行される処理について、図８のフローチャートに基づいて説明する。この処理は、管理ＰＣ２の起動に伴って開始される処理である。
本処理を開始すると、管理ＰＣ２は、まずデータ処理を実行する（Ｓ６０１）。このデータ処理は、先に説明した被管理ＰＣ１での処理により被管理ＰＣ１がプリンタ３から取得・ＤＢに記録したプリンタ情報を、管理ＰＣ２側で利用するための処理で、詳しくは図９のフローチャートに示すような処理になる。
【０１１５】
この処理では、まず、管理ＰＣ２が、被管理ＰＣの抽出を行う（Ｓ７０１）。Ｓ７０１の処理では、複数の被管理ＰＣ１、１’、１”…の中から、処理対象となる一つの被管理ＰＣが抽出される。ここでは、被管理ＰＣ１が抽出されたものとして、以降の説明を続ける。続いて、管理ＰＣ２が、ネットワーク越しに被管理ＰＣからファイルの読み込みを行う（Ｓ７０３）。ここで読み込まれるファイルは、先に説明した被管理ＰＣ１によるＳ３１３の処理において、プリンタから受信したプリンタ情報を書き込んだＤＢ（結果ファイル１３３）であり、このファイルは、他のＰＣからのネットワーク越しの読み取りを許可する属性が、被管理ＰＣ１側において付与されている。すなわち、被管理ＰＣ１は、管理ＰＣ２から要求があった場合に、補助記憶部１４のＤＢから読み取ったプリンタ情報を管理ＰＣ２に対して提供できるように構成されている。
【０１１６】
続いて、読み取ったファイル中に含まれているプリンタ情報を、管理ＰＣ２側での管理に適したフォーマットに変換したり、あるいは管理ＰＣ２側での表示や印刷に適した形態としたりするために、プリンタ情報に対してデータ処理を施す（Ｓ７０５）。より具体的には、管理ＰＣ２側で管理する情報（例えば、本処理の開始時刻やファイルアクセス時刻などのログ情報）を付加する処理や、読み取り処理のデータ中のビットのオン／オフや数値コードによって示されている情報を、記号、画像あるいはメッセージなどの可視情報に変換する処理などが行われる。次に、全ての被管理ＰＣに対し上記処理を行ったか判断し（Ｓ７０７）、上記処理を行っていない他の被管理ＰＣ（例えば被管理ＰＣ１’、１”…）が残っていれば（Ｓ７０７：ＮＯ）、Ｓ７０１の処理へと戻り、他の被管理ＰＣに対しても同様の処理を行う。
【０１１７】
そして、全ての被管理ＰＣに対し上記処理を行ったら（Ｓ７０７：ＹＥＳ）、Ｓ７０５の処理によってデータ処理された情報を、補助記憶部２４内のファイルに出力したり、表示部２３に表示する処理を行う（Ｓ７０９）。このＳ７０９の処理により、管理ＰＣ２側においてプリンタ３のプリンタ情報を表示することができる。また、後から補助記憶部２４内のファイルを参照することもできる。したがって、利用者は、ドラム交換時期などの交換部品の使用度合に関すする情報、トナーないしインク残量、記録用紙残量など、消耗品の消耗度合に関する情報、紙詰まりなどの異常の発生回数に関する情報、その他プリンタ側において管理、更新される各種情報を得ることができる。そして、この情報をもとに、利用者は、交換部品、消耗部品の交換時期の判定、メンテナンス、修理の必要性を、各プリンタを廻ることなく管理ＰＣ２の操作のみで判断することができるのである。なお、この処理の好ましい変形例として、消耗度合などの情報を、あらかじめ設定された閾値と比較することにより、交換などの処理が必要であるか否かを自動的に判断し、必要ありと認められた場合にその旨を知らしめる処理を行うこともできる。
【０１１８】
表示部２３の表示は、利用者が入力部２２を利用して所定の操作を行うことにより終了させることができ、これにより、本処理も終了する。
こうしてＳ７０１〜Ｓ７０９の処理を終了すると、図８におけるＳ６０１の処理を終えたことになり、引き続いて管理ＰＣ２は、設定ファイルから調査設定時刻を読み込んで（Ｓ６０３）、次に調査設定時刻が到来するまでの時間を計算、算出した時間をタイマーにセットする（Ｓ６０５）。設定ファイルは、補助記憶部２４内に記憶されているファイルであり、この設定ファイルには、管理者が任意に設定する調査設定時刻が記録されている。タイマーは、Ｓ６０５の処理後、Ｓ６０５の処理で算出した時間が経過するとタイマーイベントを発生させるものである。
【０１１９】
続いて、管理ＰＣ２は、関連イベントの発生を待ち（Ｓ６０７）、発生したイベントがタイマーイベントであれば（Ｓ６０９：ＹＥＳ）、タイマーに２４時間をセットして（Ｓ６１１）、２４時間後に再びタイマーイベントが発生する状態とし、データ処理を実行する（Ｓ６１３）。このデータ処理は、先に説明したＳ６０１の処理と同様の処理で、詳しくは図９のフローチャートに示すような処理になるが、この処理については既に説明したので、ここでは説明を省略する。
【０１２０】
また、Ｓ６０９の処理による判定の結果、発生したイベントがタイマーイベントでなかった場合（Ｓ６０９：ＮＯ）、利用者が入力部２２を利用して所定の操作を行うことにより、データ処理の起動を手動で指示したのであれば（Ｓ６１５：ＹＥＳ）、この場合も上記データ処理を実行する（Ｓ６１３）。
【０１２１】
さらに、Ｓ６１５の処理による判定の結果、利用者による手動起動ではなかった場合（Ｓ６１５：ＮＯ）、あるいは、上記Ｓ６１３のデータ処理を終えた場合、発生したイベントが終了指示イベントであれば（Ｓ６１７：ＹＥＳ）、本処理を終了する。終了指示イベントは、利用者が入力部２２を利用して所定の終了操作を行った際に発生するイベントである。一方、終了指示イベントでなければ（Ｓ６１７：ＮＯ）、Ｓ６０７の処理へと戻り、再び関連イベントの発生を待つ状態になる。すなわち、管理ＰＣ２が作動状態にある場合、利用者が終了操作を行わない限り、本処理が終了することはなく、本処理は管理ＰＣ２上の常駐プロセスとして実行され続けることになる。
【０１２２】
なお、本実施形態において、Ｓ６０５の処理によってセットされる調査設定時刻は、先に説明したＳ１１１の処理によって被管理ＰＣ１、１’、１”…においてセットされる時刻よりも１０分程度遅い時刻とされている。このような時刻を管理ＰＣ２側で設定すると、被管理ＰＣ１、１’、１”…側でタイマーイベントが発生した後、１０分程度遅れて管理ＰＣ２側でタイマーイベントが発生するため、この１０分の間に被管理ＰＣ１、１’、１”…側でプリンタ情報が最新の状態に更新されている可能性が高くなるものと期待できる。すなわち、被管理ＰＣ１、１’、１”…側と管理ＰＣ２側とでほぼ同時にタイマーイベントが発生するような設定にした場合、もしくは管理ＰＣ２側で被管理ＰＣ１、１’、１”…側よりも早くタイマーイベントが発生するような設定にした場合、管理ＰＣ２側から被管理ＰＣ１、１’、１”…側のファイルを読み取った後に、被管理ＰＣ１、１’、１”…側のファイルが更新されることがある。この場合、管理ＰＣ２側で取得したプリンタ情報は、必ずしも最新の状態ではない可能性が高くなるが、これに対し、本実施形態の如く構成すれば、被管理ＰＣ１、１’、１”…側のファイルが更新された後に、管理ＰＣ２側から被管理ＰＣ１、１’、１”…側のファイルを読み取るので、管理ＰＣ２側で取得したプリンタ情報は、最新の状態になっている可能性が高いのである。
【０１２３】
以上説明したように、上記情報取得処理システムにおいて、被管理ＰＣ１は、まず、「印刷スプーラ１２３に出力データを与えた場合に、その出力データを印刷スプーラ１２３が直ちにプリンタ３へと出力可能な状態にあるか否か」を、Ｓ３５５〜Ｓ３５７の処理によって判定する。この判定において、「出力データを印刷スプーラ１２３が直ちに画像形成装置へと出力可能な状態にある」と判定した場合に、被管理ＰＣ１は、Ｓ３５９の処理を実行することにより、プリンタ３に対してプリンタ情報の提供を要求するためのＰＪＬコマンドを、印刷スプーラ１２３に与える。そのため、印刷スプーラが出力データをプリンタへ出力できない状態にあるにもかかわらずＰＪＬコマンドを印刷スプーラに与えてしまうものとは異なり、印刷スプーラ１２３に与えられたコマンドは、直ちにプリンタ３へと出力されて、印字ジョブはキュー１３１から消える。後は、被管理ＰＣ１が、Ｓ３０９〜Ｓ３１１の処理を実行することで、送信したＰＪＬコマンドに対する応答を受信し、所期のプリンタ情報を取得することができる。
【０１２４】
また、被管理ＰＣ１は、Ｓ２０９〜Ｓ２１３の処理を実行することで、キュー１３１に保管された印字ジョブの数を取得し、該ジョブ数が０である場合に、Ｓ２１５の処理を実行するので、キュー１３１に保管された印字ジョブの数が０であることも、印刷スプーラ１２３にＰＪＬコマンドを与えるか否かを切り分ける条件となっている。つまり、既にキュー１３１に別の印字ジョブが保管された状態になっているにもかかわらずＰＪＬコマンドを印刷スプーラ１２３に与えてしまうことがなく、印刷スプーラ１２３に与えられたコマンドは、直ちにプリンタ３へと出力されて、印字ジョブはキュー１３１から消えることになる。
【０１２５】
したがって、このような情報取得処理システムによれば、利用者にとって見覚えのない印字ジョブがキュー１３１に入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【０１２６】
また、この情報取得処理システムにおいて、被管理ＰＣ１は、Ｓ３６１〜Ｓ３６３の処理により、ＰＪＬコマンドを印刷スプーラ１２３に与えてから、第２送信タイムアウト時間Ｔ２（本発明でいう第１の期間）が経過したときに、印刷スプーラ１２３がＰＪＬコマンドのプリンタ３への出力を完了しているか否かを判定する。この判定において、出力を完了したと判定した場合には、被管理ＰＣ１が、Ｓ３０９〜Ｓ３１１の処理を実行することで、送信したＰＪＬコマンドに対する応答を受信し、所期のプリンタ情報を取得することができる。一方、出力を完了していないと判定した場合、被管理ＰＣ１は、Ｓ３６５の処理を実行することにより、ＰＪＬコマンドが含まれる印字ジョブをキュー１３１から削除することを、印刷スプーラ１２３に対して指令する。そのため、第２送信タイムアウト時間Ｔ２が経過した後もＰＪＬコマンドが含まれる印字ジョブをキュー１３１から削除しないものとは異なり、第２送信タイムアウト時間Ｔ２が経過すれば、ＰＪＬコマンドのプリンタ３への出力が完了していなくても、印字ジョブはキュー１３１から削除される。
【０１２７】
したがって、この情報取得処理システムによれば、少なくとも第２送信タイムアウト時間Ｔ２が経過した後は、利用者にとって見覚えのない印字ジョブがキューに入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【０１２８】
また、第２送信タイムアウト時間Ｔ２は、送信ポートが通信のタイムアウトを検出することになる第１送信タイムアウト時間Ｔ１（本発明でいう第２の期間）よりも、短い期間とされているので、送信ポートが通信のタイムアウトを検出した際に、エラーメッセージ等を出力するように構成された被管理ＰＣ１においても、そのようなエラーメッセージ等が出力されるのを防止できるので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【０１２９】
また、Ｓ３６５の処理を実行した場合でも、１０回まではＳ３５５の処理へと戻るように構成されているので、被管理ＰＣ１は、ＰＪＬコマンドをキュー１３１から削除した場合でも、同じコマンドを再び印刷スプーラ１２３に与えることができる。したがって、印刷スプーラ１２３側からプリンタ３側へのデータ出力が一時的にできない状況になっていた場合、その状況下で印刷スプーラ１２３に与えられたＰＪＬコマンドがキュー１３１からの削除対象となったとしても、その後の状況に変化があり、印刷スプーラ１２３側からプリンタ３側へのデータ出力ができる状況になった場合には、所期のプリンタ情報を取得することができる。
【０１３０】
しかも、被管理ＰＣ１は、キュー１３１からのＰＪＬコマンド（を含む印字ジョブ）の削除とキュー１３１へのＰＪＬコマンド（を含む印字ジョブ）の再投入とを、１０回にわたって繰り返し実行した後、なお問題があれば、Ｓ３６９の処理へと移行することで、エラーが発生したことを報知する。したがって、キュー１３１へのＰＪＬコマンドの再投入を試みることなくエラーが発生したことを報知するものほど、利用者に煩わしい思いをさせることがなく、しかも、エラーが発生したことを報知しないまま、単にキュー１３１へのＰＪＬコマンドの再投入を繰り返すものとは異なり、プリンタ３の状態その他の確認が必要な状況にあることを、適切なタイミングで利用者に伝えることができる。
【０１３１】
さらに、この情報取得処理システムにおいて、被管理ＰＣ１は、Ｓ３０５〜Ｓ３１５の処理により、複数のコマンドを１つずつ処理対象にして、コマンドの数と同数の処理を繰り返す。この繰り返し処理の中で、被管理ＰＣ１は、Ｓ３５９の処理により、処理対象となっている１つのＰＪＬコマンドを印刷スプーラ１２３に与える。そして、Ｓ３６１〜Ｓ３６３の処理を実行することにより、ＰＪＬコマンドを与えてから、第１送信タイムアウト時間Ｔ１が経過したときに、印刷スプーラ１２３がＰＪＬコマンドのプリンタ３への出力を完了しているか否かを判定する。この判定において、出力を完了したと判定した場合には、被管理ＰＣ１が、Ｓ３０９〜Ｓ３１１の処理を実行することで、送信したコマンドに対する応答を受信し、所期のプリンタ情報を取得することができる。一方、出力を完了していないと判定した場合、被管理ＰＣ１は、Ｓ３０８，Ｓ３３１，Ｓ３３３の処理を経て、Ｓ３１７の処理へと移行することができ、この場合、繰り返し処理を中断させる。そのため、１つのコマンドについて、上記第１送信タイムアウト時間Ｔ１が経過するような状況下では、利用者の指示に応じて、以降、未処理のＰＪＬコマンドが残っていたとしても、繰り返し処理は中断される。
【０１３２】
したがって、少なくとも第１送信タイムアウト時間Ｔ１が経過した後、Ｓ３６９の処理において利用者がキャンセル操作をすることで、さらに繰り返し処理を継続することがないので、複数のＰＪＬコマンドと同数の処理を無条件に繰り返してしまうものとは異なり、印刷スプーラ１２３側からプリンタ３側への出力が不能な状況下で、複数の印字ジョブをキュー１３１にため込んでしまうことがない。よって、利用者にとって見覚えのない複数の印字ジョブがキュー１３１に入れられている状況にはならないので、利用者が対応に困ったり、利用者に余計な心配をさせるおそれがない。
【０１３３】
また、Ｓ３６９の処理において利用者はスキップ（本発明でいう継続）を指示することができ、この場合、Ｓ３３３の処理からＳ３１５の処理へと移行することで、処理対象となっている１つのＰＪＬコマンドについての処理を終え、Ｓ３０５の処理へと戻ることで、処理対象となるＰＪＬコマンドを変更し、その変更後のＰＪＬコマンドについて、Ｓ３０５〜Ｓ３１５の繰り返し処理中の各手順を実行するように制御するので、利用者は、本処理の中断の他に、本処理の継続も選択できる。
【０１３４】
したがって、エラー発生時における未処理のＰＪＬコマンドすべてに対する処理の中断を行わなくても、エラー発生時における処理対象ＰＪＬコマンドのみ処理を中止し、利用者の判断次第で、他の未処理のＰＪＬコマンドについては、処理を継続することができる。
【０１３５】
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、画像形成装置の例として、ＰＪＬコマンドに対応した単機能のプリンタ３を例示したが、ＰＪＬコマンドに対応した画像形成装置であれば、画像形成装置の具体的構成は限定されない。一例を挙げれば、プリンタ機能に加えて、ファクシミリ機能、コピー機能、イメージスキャナ機能などを兼ね備えた複合機などにおいても、ＰＪＬコマンドに対応したものが知られており、このような複合機も本発明でいう画像形成装置に含まれる。
【０１３６】
また、上記実施形態においては、コマンドの一例として、ＰＪＬコマンドを例示したが、コンピュータと画像形成装置との間で同様のコマンドおよび画像形成装置情報をやり取りできるのであれば、ＰＪＬに準拠したコマンドである必要はない。
【０１３７】
また、上記実施形態では、被管理ＰＣ１においてプリンタ３から取得したプリンタ情報を管理ＰＣ２側に提供し、管理ＰＣ２側において、すべての被管理ＰＣ１、１’、１”…から集めたプリンタ情報を管理する例を示したが、被管理ＰＣ１においてプリンタ３から取得したプリンタ情報を、被管理ＰＣ１自身で管理する場合にも、本発明の構成を採用することができる。
【０１３８】
また、上記実施形態においては、キュー１３１に保管された印字ジョブの数を取得し、該ジョブ数が０である場合に、Ｓ２１５の処理を実行していたが、ジョブ数が０でない場合に、他の印字ジョブをＰＡＵＳＥ状態としてから、Ｓ２１５の処理を実行するように構成してもよい。あるいは、他の印字ジョブに最低の優先度を設定するとともに、ＰＪＬコマンドを投入してから、そのＰＪＬコマンドに最高の優先度を設定し、Ｓ２１５の処理を実行するように構成してもよい。このように構成すれば、ジョブ数が０でない場合でも、ＰＪＬコマンドを優先的に印刷スプーラから出力できる。
【図面の簡単な説明】
【０１３９】
【図１】上記実施形態において例示したハードウェアの構成を示すブロック図である。
【図２】被管理ＰＣの構成を示すブロック図である。
【図３】被管理ＰＣにおける主処理のフローチャートである。
【図４】被管理ＰＣにおけるスレッド処理のフローチャートである。
【図５】被管理ＰＣにおける読み取り／ＤＢ化処理１のフローチャートである。
【図６】被管理ＰＣにおける送信処理のフローチャートである。
【図７】被管理ＰＣにおける読み込み／ＤＢ化処理２のフローチャートである。
【図８】管理ＰＣにおける主処理のフローチャートである。
【図９】管理ＰＣにおけるデータ処理のフローチャートである。
【符号の説明】
【０１４０】
１、１’、１”・・・被管理ＰＣ（パーソナルコンピュータ）、２・・・管理ＰＣ（パーソナルコンピュータ）、３、３’、３”・・・プリンタ、１１，２１・・・本体部、１２，２２・・・入力部、１３，２３・・・表示部、１４，２４・・・補助記憶部、１０１・・・制御部、１０２・・・Ｉ／Ｆ部、１１１・・・ＣＰＵ、１１２・・・ＲＯＭ、１１３・・・ＲＡＭ、１２１・・・プリンタＩ／Ｆ機能部、１２２・・・ＬＡＮ  Ｉ／Ｆ機能部、１２３・・・キュー制御機能部、１２４・・・プリンタ情報取得部、１３１・・・キュー、１３２・・・コマンドファイル、１３３・・・結果ファイル（データベース）、１３４・・・設定ファイル。
【図１】
2005196573.tif 000003
【図２】
2005196573.tif 000004
【図３】
2005196573.tif 000005
【図４】
2005196573.tif 000006
【図５】
2005196573.tif 000007
【図６】
2005196573.tif 000008
【図７】
2005196573.tif 000009
【図８】
2005196573.tif 000010
【図９】
2005196573.tif 000011