以下、本発明の実施の形態について図面を参照しながら詳細に説明する。この場合、画像処理装置としてのホストコンピュータと、画像形成装置としてのプリンタとを接続することによって形成された画像処理システムについて説明する。
図2は本発明の第1の実施の形態における画像処理システムを示すブロック図である。
図に示されるように、ホストコンピュータPCi(1、2、…、x、…、n)とプリンタ50とが接続され、画像処理システムが構成される。該画像処理システムにおいて、各ホストコンピュータPCiは、順次、プリンタ50のステータス情報の確認、すなわち、ポーリングを行う(まず、ホストコンピュータPC1がプリンタ50にステータス情報の確認を行い、次に、ホストコンピュータPC2がプリンタ50にステータス情報の確認を行い、その次に、ホストコンピュータPC3がプリンタ50にステータス情報の確認を行い、…)ようになっている。
所定のホストコンピュータ、例えば、ホストコンピュータPCxが送信したジョブについてプリンタ50が処理、本実施の形態においては、印刷を行っているときに、プリンタ50において障害が発生すると、プリンタ50は、どのホストコンピュータから送信されたジョブについて印刷を行っているときに障害が発生したかを判断し、処理中のジョブ(以下「処理中ジョブ」という。)の送信元であるホストコンピュータPCxに、障害が発生したこと、及び発生した障害の内容を表す情報である障害情報を送信し、ホストコンピュータPCxの表示装置の画面上に障害情報をポップアップで表示(アラーム表示)を行う。
この場合、ホストコンピュータPCx以外のホストコンピュータPC1、PC2、…、PCx−1、PCx+1、…、PCnが、プリンタ50に対してポーリングを行っても、処理中ジョブの送信元ではないので、障害情報は送信されない。
次に、前記構成の画像処理システムの詳細について説明する。
図1は本発明の第1の実施の形態におけるホストコンピュータの説明図である。
図に示されるように、ホストコンピュータPCiとプリンタ50とが、ネットワークケーブルによって、所定のネットワーク、本実施の形態においては、Transmission Control Protocol/Internet Protocol(以下「TCP/IP」という。)に従ったTCP/IPネットワークを介して接続される。
前記ホストコンピュータPCiは、ホストコンピュータPCiの本体、すなわち、装置本体10、並びに該装置本体10に接続された表示装置30及び入力装置40を備える。前記表示装置30は、例えば、モニタであり、前記表示装置30の画面に各種の情報を表示することによって、該情報を操作者に通知することができる。また、入力装置40は、例えば、キーボード、マウス等であり、操作者は入力装置40を操作することによって、ホストコンピュータPCiを動作させることができる。
前記装置本体10は、データ処理用のアプリケーション11、プリントスプーラ12、プリンタドライバ13、プリントモニタ14、ポートモニタ15、状態監視部20及び計時機構部16を備える。なお、前記プリンタドライバ13、状態監視部20等は、ホストコンピュータPCiにインストールされたアプリケーションによって構成される。
前記アプリケーション11は、操作者によって、表示装置30、入力装置40等が使用されて印刷の指示が行われると、保有するアプリケーションデータ11aに基づいて、プリントスプーラ12が受付可能なコマンド、すなわち、描画コマンド(例えば、Graphic Device Interfaceコマンド)を作成し、プリントスプーラ12に送信(発行)する。
該プリントスプーラ12は、アプリケーション11から描画コマンドを受信すると、該描画コマンドをプリンタドライバ13に送信し、該プリンタドライバ13は、プリントスプーラ12から受信した描画コマンドに対応させて、プリンタ50で印刷可能な画像データを生成し、プリントスプーラ12に送信する。続いて、該プリントスプーラ12は、受信した画像データを蓄積するとともに、蓄積した画像データを順次プリントモニタ14に送信する。
該プリントモニタ14は、ホストコンピュータPCiからプリンタ50に画像データを送信するための送信処理部として機能し、プリントスプーラ12から受信した画像データを順次ポートモニタ15に送信する。該ポートモニタ15は、ポート通信部(Port9100通信部)15aを備え、該ポート通信部15aによってプリンタ50に画像データを送信する。なお、前記ポート通信部15aは、TCP/IPに従ってプリンタ50の所定のポート、本実施の形態においては、ポート番号9100に対して通信を行う。
前記状態監視部20は、プリンタ50の状態を周期的に監視し、プリンタ50において障害が発生すると、プリンタ50から障害情報を受信し、受信した障害情報を表示装置30の画面にポップアップによって表示して、操作者に障害の発生を通知する。
前記計時機構部16は、状態監視部20がプリンタ50を周期的に監視するタイミングを採るために計時を行い、時刻情報を発生させる。
なお、状態監視部20にプリンタドライバ情報及びコンピュータ名が、プリンタドライバ13にコンピュータ名が入力される。前記プリンタドライバ情報は、状態監視部20が動作を開始する際に、プリンタドライバ13のインストールに伴って登録された情報であり、操作者が、複数のプリンタの中から所定のプリンタ50を選択する際に参照される。また、コンピュータ名は、ホストコンピュータPCiが、前記TCP/IPネットワークに接続される際に登録されたホストコンピュータPCiの名称であり、前記TCP/IPネットワーク上において、各ホストコンピュータPCiは一つのコンピュータ名を有する。
次に、前記状態監視部20について説明する。
図3は本発明の第1の実施の形態における状態監視部の説明図、図4は本発明の第1の実施の形態における障害情報を表示するためのポップアップの例を示す図、図5は本発明の第1の実施の形態におけるステータスコード情報部の記録内容を示す図、図6は本発明の第1の実施の形態におけるプリンタを選択するためのポップアップの例を示す図である。
図3に示されるように、状態監視部20は、障害通知部21、通知条件判定部22、識別情報検出部としての処理中ジョブコンピュータ名判定部23、状態判定部としてのステータス判定部24、ステータスコード情報部25、画像形成装置選択部としてのプリンタドライバ選択部26、情報監視部としてのステータス監視部27、IPアドレス保存部28、及び画像形成装置情報取得部としてのプリンタ情報取得部29を備える。
前記障害通知部21は、プリンタ50から障害情報が送信されると、図4に示されるように、表示装置30(図1)に形成された障害表示画面としてのポップアップ70に、障害情報を障害の内容を表すメッセージ70aによって表示することにより、障害の発生を操作者に通知する。
そのために、前記通知条件判定部22は、ステータス判定部24から送信されたメッセージ70a、及び前記処理中ジョブコンピュータ名判定部23から送信された処理中ジョブコンピュータ名に基づいて、障害通知部21にメッセージ70aを送信するかどうかを判断する。なお、前記処理中ジョブコンピュータ名は、プリンタ50において現在処理されているジョブの画像データの送信元のホストコンピュータPCiの名称を表し、ホストコンピュータPCiを特定するための識別情報を構成する。
また、ステータスコード情報部25には、図5に示されるように、プリンタ50の状態をコード化して表すステータスコード25a、プリンタ50の状態が障害であるかどうか(障害であるか、又は通常であるか)を表す障害種別25b、及び前記ステータスコード25aに該当するメッセージ25cが登録(記録)される。
そして、前記ステータス判定部24は、ステータス監視部27からステータスコード25aを受信すると、ステータスコード情報部25を参照し、ステータスコード25aに対応するメッセージ25cを読み出し、ポップアップ70に表示するメッセージ70aとして通知条件判定部22に送信する。
前記ステータス監視部27は、計時機構部16から受信した時刻情報に基づいて、周期的にプリンタ情報取得部29に対して前記ステータスコード25aの取得を要求する。
また、前記プリンタドライバ選択部26は、状態監視部20が起動された際に、プリンタドライバ情報を読み込み、ホストコンピュータPCiにインストールされたすべてのプリンタドライバ13を読み出し、図6に示されるようなプリンタ選択画面としてのポップアップ80を表示装置30に形成し、状態の監視を行いたいプリンタ50を操作者に選択させ、選択されたプリンタ50に割り当てられたポートモニタ15のIPアドレスを読み込んでIPアドレス保存部28に記録する。
そのために、前記ポップアップ80においては、図6に示されるように、ホストコンピュータPCiにインストールされたプリンタドライバ13のうちの、ポートモニタ15がTCP/IPのポート番号9100に出力を行うように設定されたプリンタドライバ13が、選択表示部としてのプリンタ選択メニュー80aにドロップダウンによって表示される。操作者がプリンタ50を選択した後、操作要素としての決定ボタン80bを押すと、状態の監視を行いたいプリンタ50が選択される。
また、前記処理中ジョブコンピュータ名判定部23は、プリンタ情報取得部29に対して、処理中ジョブコンピュータ名の取得を要求(指示)し、プリンタ50から取得した処理中ジョブコンピュータ名と、当該ホストコンピュータPCiのコンピュータ名とを比較し、比較結果を通知条件判定部22に送信する。
前記プリンタ情報取得部29は、ステータス監視部27及び処理中ジョブコンピュータ名判定部23からの要求に応じて、IPアドレス保存部28からIPアドレスを読み出し、プリンタ50に送信することによって、SNMP通信部29aにプリンタ50の情報を取得させる。前記SNMP通信部29aは、プリンタ情報取得部29から指定されたIPアドレスに基づいて、プリンタ50から前記情報を取得し、処理中ジョブコンピュータ名を取得する。
なお、SNMP通信部29aは、TCP/IPネットワーク上において、ホストコンピュータPCiによって、定期的に様々な情報を自動的に収集したり、ネットワーク管理を行ったりするためのプロトコル(Simple Network Management Protocol)に従って通信を行う。
次に、プリンタ50について説明する。
図7は本発明の第1の実施の形態におけるプリンタの説明図、図8は本発明の第1の実施の形態におけるプリンタステータスコード情報部の記録内容を示す図である。
図に示されるように、プリンタ50は、画像データを受信する受信部としてのプリンタポート通信部51、命令判定部としてのコンピュータ名コマンド検出部52、画像データに基づいて画像を形成する画像形成部としての画像データ印刷処理部53、処理中ジョブコンピュータ名保存部54、プリンタSNMP通信部55、要求情報判定部56、プリンタステータス通知部57、ステータス管理部58、プリンタステータスコード情報部59、及び処理中ジョブコンピュータ名通知部60を備える。
前記プリンタポート通信部51は、ホストコンピュータPCiから画像データを受信し、前記コンピュータ名コマンド検出部52は、画像データ印刷処理部53において画像形成中の画像データを解析し、画像データの先頭にあるコンピュータ名コマンドを検出し、コンピュータ名を取得する。なお、コンピュータ名コマンドは、コンピュータ名をプリンタ50に通知するためのコマンドである。
前記画像データ印刷処理部53は、コンピュータ名コマンド検出部52が検出した画像データにおけるコンピュータ名コマンド以降の画像データに対して画像編集を行い、印刷を行う。
前記処理中ジョブコンピュータ名保存部54は、コンピュータ名コマンド検出部52が取得したコンピュータ名を処理中ジョブコンピュータ名として記録したり、画像データ印刷処理部53が画像データについて印刷を終了したタイミングで、処理中ジョブコンピュータ名をクリアするためにNULL文字(一般的には数値の零(0))を記録したりするための記録部であり、初期状態においては、NULL文字が記録されている。処理中ジョブコンピュータ名通知部60は、処理中ジョブコンピュータ名保存部54を参照して処理中ジョブコンピュータ名を読み出し、プリンタSNMP通信部55を介してホストコンピュータPCiに送信する。
前記プリンタSNMP通信部55は、ホストコンピュータPCiから受信した要求を要求情報判定部56に送信し、該要求情報判定部56は、プリンタSNMP通信部55から受信した要求を判定し、プリンタステータス通知部57及び処理中ジョブコンピュータ名通部60に送信する。
前記プリンタステータス通知部57は、プリンタSNMP通信部55から受信した要求に基づいて、プリンタステータスコード情報部59からステータス管理部58を介して受信したステータスコード59bを読み込み、該ステータスコード59bをプリンタSNMP通信部55を介してホストコンピュータPCiに送信する。そのために、前記ステータス管理部58は、プリンタステータス通知部57から前記要求を受信し、プリンタステータスコード情報部59を参照して、プリンタ50の状態を表すプリンタ状態59a及びステータスコード59bに変換する。また、前記プリンタステータスコード情報部59には、図8に示されるように、プリンタ状態59a、及び該プリンタ状態59aをコード化して表すステータスコード59bが記録される。
なお、前記ステータス管理部58は、プリンタ50において障害が発生したことを検出するための障害発生検出部として機能し、前記プリンタステータス通知部57は、障害が発生したことが検出されたときに、ステータスコード59bを画像データの送信元のホストコンピュータPCiに送信する障害情報送信部として機能する。
そして、前記処理中ジョブコンピュータ名通知部60は、プリンタSNMP通信部55から受信した要求に基づいて、処理中ジョブコンピュータ名保存部54から処理中ジョブコンピュータ名を読み出し、該処理中ジョブコンピュータ名をプリンタSNMP通信部55を介してホストコンピュータPCiに送信する。
次に、前記構成の画像処理システムの動作について説明する。
まず、プリンタ50を監視するための前準備の動作について説明する。
図9は本発明の第1の実施の形態におけるプリンタの状態を監視するためのホストコンピュータの前準備の動作を示すフローチャートである。
まず、ホストコンピュータPCi(図1)において動作しているアプリケーション11が有するアプリケーションデータ11aについてプリンタ50によって印刷を行うために、ホストコンピュータPCiの図示されない導入処理手段は、導入処理を行い、プリンタドライバ13をインストールする。
ところで、ホストコンピュータPCiにプリンタドライバ13をインストールする際に、画像データの出力先としてポートモニタ15を指定する必要がある。本実施の形態においては、例えば、Microsoft社のオペレーティングシステムであるWindows(登録商標)XPに標準で用意されるTCP/IPのPort9100によって通信を行うために、ポートモニタ15として“標準TCP/IPポートモニタ”が指定されているものとする。
そして、“標準TCP/IPポートモニタ”を指定する際に、操作者は、画像データについて印刷を行ったり、プリンタ50の状態を監視したりしてプリンタ50のIPアドレスを登録する。この場合、プリンタドライバ13によって生成された画像データは、このIPアドレスで指定されたプリンタ50のポート番号9011に対して出力される。
次に、前記導入処理手段は、状態監視部20をホストコンピュータPCiにインストールする。そして、状態監視部20をインストールした後、プリンタ50の起動時に、プリンタドライバ選択部26(図3)は、プリンタドライバ情報を参照することによって、各プリンタドライバ13のうちの、ポートモニタ15として“標準TCP/IPポートモニタ”が指定されたものだけをポップアップ80(図6)上に表示する。
続いて、操作者が、ポップアップ80上に表示されたプリンタ50うちのプリンタ選択メニュー80aによって状態を監視したいプリンタ50を選択し、決定ボタン80bを押すと、プリンタドライバ選択部26は、プリンタ50に割り当てられた“標準TCP/IPポートモニタ”のIPアドレスを読み出し、IPアドレス保存部28に記録する。そして、前記IPアドレスは、SNMP通信部29aを介してプリンタ50から情報を取得するために使用される。
次に、フローチャートについて説明する。
ステップS1 プリンタドライバ13をインストールする。
ステップS2 ポートモニタ15に“標準TCP/IPポートモニタ”を指定する。
ステップS3 ポートモニタ15にIPアドレスを登録する。
ステップS4 状態監視部20をインストールする。
ステップS5 監視するプリンタ50を選択する。
ステップS6 プリンタ50のIPアドレスを読み出し、処理を終了する。
次に、アプリケーション11が有するアプリケーションデータ11aによって、画像データが生成され、プリントモニタ14に送信されるまでの動作について説明する。
図10は本発明の第1の実施の形態における画像データをプリンタモニタに送信する動作を示すフローチャートである。
まず、操作者が入力装置40(図1)を操作して、アプリケーション11が有するアプリケーションデータ11aについて印刷を開始するための指示を行うと、アプリケーション11は、アプリケーションデータ11aを変換することによって描画コマンドを生成し、該描画コマンドをプリントスプーラ12に送信する。
続いて、プリントスプーラ12はアプリケーション11から受信した描画コマンドをプリンタドライバ13に送信し、該プリンタドライバ13は、アプリケーション11から受信した描画コマンドをプリンタ50で印刷可能な画像データに変換して画像データを生成する。
また、前記プリンタドライバ13は、コンピュータ名を読み込み、プリンタ50で解析可能なコンピュータ名コマンドを作成する。なお、該コンピュータ名コマンドは、例えば、コンピュータ名をPC1とした場合、@PJL AUXJOBINFO DATA=“ComputerName=PC1”のように作成される。
次に、プリンタドライバ13は、コンピュータ名コマンドを画像データの先頭に埋め込み、画像データをプリントスプーラ12に送信する。該プリントスプーラ12は、プリンタドライバ13から画像データを受信すると、該画像データの先頭のコンピュータ名コマンドの有無を認識することなく、そのまま画像データをスプール(蓄積)する。
そして、プリントスプーラ12は、画像データのスプールと並行してプリントモニタ14にジョブを開始する旨、例えば、“ジョブ開始”を通知し、スプールした画像データをプリントモニタ14に送信する。続いて、プリントモニタ14にすべての画像データが送信されると、プリントスプーラ12は、プリントモニタ14にジョブを終了した旨、例えば、“ジョブ終了”を通知する。
次に、フローチャートについて説明する。
ステップS11 印刷を開始するための指示を行う。
ステップS12 描画コマンドを生成する。
ステップS13 描画コマンドをプリントスプーラ12に送信する。
ステップS14 描画コマンドをプリントスプーラ12から受信する。
ステップS15 画像データを作成する。
ステップS16 コンピュータ名コマンドを作成する。
ステップS17 コンピュータ名コマンドを画像データに埋め込む。
ステップS18 画像データをプリントスプーラ12に送信する。
ステップS19 画像データをスプールする。
ステップS20 プリントモニタ14に“ジョブ開始”を通知する。
ステップS21 スプールした画像データをプリントモニタ14に送信する。
ステップS22 すべての画像データを送信したかどうかを判断する。すべての画像データを送信した場合はステップS23に進み、送信していない場合はステップS21に戻る。
ステップS23 プリントモニタ14に“ジョブ終了”を通知し、処理を終了する。
次に、すべての画像データがプリンタ50に送信されるまでのプリントモニタ14及びポートモニタ15の動作について説明する。
図11は本発明の第1の実施の形態における画像データをプリンタに送信する動作を示すフローチャートである。
まず、プリントモニタ14(図1)は、プリントスプーラ12からの“ジョブ開始”の通知を待機する状態で起動され、“ジョブ開始”の通知を受信すると、プリントスプーラ12から画像データを受信し、受信した画像データをポートモニタ15に送信する。
続いて、ポートモニタ15である“標準TCP/IPポート”にはあらかじめIPアドレスが登録されているので、プリントモニタ14から受信した画像データを、ポート通信部15aを介して、プリンタ50のIPアドレスのポート(ポート番号9100)にそのまま送信する。
そして、プリントモニタ14は、プリントスプーラ12から“ジョブ終了”の通知を受信すると、それ以上画像データが送信されないことを認識し、処理を待機状態に戻す。
次に、フローチャートについて説明する。
ステップS31 “ジョブ開始”の通知を受信したかどうかを判断する。“ジョブ開始”の通知を受信した場合はステップS32に進み、受信していない場合はリターンする。
ステップS32 画像データをポートモニタ15に送信する。
ステップS33 画像データをポートに送信する。
ステップS34 “ジョブ終了”の通知を受信したかどうかを判断する。“ジョブ終了”の通知を受信した場合はリターンし、受信していない場合はステップS32に戻る。
次に、プリンタ50が画像データを受信してから印刷を行うまでの動作について説明する。
図12は本発明の第1の実施の形態におけるプリンタの動作を示すフローチャートである。
まず、プリンタポート通信部51(図7)はホストコンピュータPCiから画像データを受信すると、該画像データをコンピュータ名コマンド検出部52に送信する。該コンピュータ名コマンド検出部52は、プリンタポート通信部51から画像データを受信すると、該画像データを解析し、画像データの先頭にあるコンピュータ名コマンドを検出し、該コンピュータ名コマンドからコンピュータ名を取得する。例えば、画像データの先頭に@PJL AUXJOBINFO DATA=“ComputerName=PC1”というコンピュータ名コマンドがあった場合、コンピュータ名コマンドから“PC1”がコンピュータ名として取得される。
続いて、前記コンピュータ名コマンド検出部52は、取得したコンピュータ名を処理中ジョブコンピュータ名として処理中ジョブコンピュータ名保存部54に記録し、保存するとともに、コンピュータ名コマンド以降の画像データを、画像データ印刷処理部53に送信する。
続いて、画像データ印刷処理部53は、受信した画像データを印刷ハードウェア(印刷機構)が印刷することができるデータ形式に変換し、印刷処理を行い、印刷ハードウェアによる印刷が終了すると、処理中ジョブコンピュータ名保存部54にNULL文字を書き込み、保存された処理中ジョブコンピュータ名を消去する。
次に、フローチャートについて説明する。
ステップS41 画像データを受信する。
ステップS42 コンピュータ名コマンドを検出したかどうかを判断する。コンピュータ名コマンドを検出した場合はステップS43に、検出していない場合はステップS44に進む。
ステップS43 コンピュータ名を保存する。
ステップS44 印刷処理を行う。
ステップS45 印刷が終了するのを待機し、印刷が終了した場合はステップS46に進む。
ステップS46 保存した処理中ジョブコンピュータ名を消去し、処理を終了する。
次に、ホストコンピュータPCiがプリンタ50に発生した障害を検出し、操作者に障害の発生を通知する動作について説明する。
図13は本発明の第1の実施の形態におけるプリンタにおいて障害が発生したときのホストコンピュータの動作を示すフローチャートである。
まず、ステータス監視部27(図3)は、計時機構部16から時刻を読み込み、該時刻と前回読み込んだ時刻との差を求めることによって読込周期を算出する。なお、本実施の形態においては、例えば、前記読込周期を10秒とする。
続いて、ステータス監視部27は、読込周期である10秒が経過すると、プリンタ情報取得部29に対してプリンタ50からステータスコード59b(図8)を取得するように要求する。そして、プリンタ情報取得部29は、SNMP通信部29aを介してプリンタ50に対してステータスコード59bを通知するよう要求する。
なお、本実施の形態において、前記SNMP通信部29aを介してステータスコード59bを取得する際には、周辺機器がSNMPを使用して外部に情報を通知する方法として、Request For Comment1213として規定されているManagement Information Base2(以下「MIB2」という。)が使用される。該MIB2においては、ホストコンピュータPCi(図7)が、取得しようとする情報を特定するための特定指標であるIDをプリンタ50に送信すると、該プリンタ50からIDに該当する情報を取得することができる。本実施の形態においては、ステータスコード59bを取得するためのIDは、例えば、“1.3.6.1.4.2001.1.1.1.1.2.10.10”と定義される。
次に、ステータス監視部27は、プリンタ情報取得部29を介してプリンタ50からステータスコード59bを受信すると、ステータスコード59bをステータス判定部24に送信する。ステータス判定部24は、受信したステータスコード59bの判定を行う。そのために、ステータス判定部24は、ステータスコード情報部25を参照し、受信したステータスコード59bと同じステータスコード25a(図5)に対応する障害種別25b及びメッセージ25cを読み出す。
このとき、受信したステータスコード59bが、例えば、“10001”である場合、障害種別25bは“通常”であり、メッセージ25cは“オンライン待機”であるので、ステータス判定部24は、プリンタ50において障害が発生していないと判断し、通知条件判定部22に該当するメッセージ25cを送信するとともに、障害の発生なしの通知を行う。
前記通知条件判定部22は、障害の発生なしの通知を受けると、障害通知部21に“表示終了”の通知を行う。該障害通知部21は、“表示終了”の通知を受けると、表示装置30(図1)上にメッセージ70a(図4)を表示していた場合、その表示を閉じる。また、前記ステータス監視部27は、ステータスコード59bの読込周期の経過を待機し、再び計時機構部16から時刻を読み込む処理に戻る。
これに対して、受信したステータスコード59bが、例えば、“40021”である場合、障害種別25bは“障害”であり、メッセージ25cは“カバーオープン”であるので、ステータス判定部24は、プリンタ50において障害が発生したと判断し、通知条件判定部22に該当するメッセージ25cを送信するとともに、障害の発生の通知を行う。なお、この場合、ステータスコード59bは障害情報としてプリンタ50からホストコンピュータPCiに送信される。
前記通知条件判定部22は、障害の発生の通知を受けると、処理中ジョブコンピュータ名判定部23に、プリンタ50において処理されているジョブの画像データに付加されている処理中ジョブコンピュータ名とコンピュータ名とが一致しているかどうかを確認するよう指示を送る。前記処理中ジョブコンピュータ名判定部23は、前記指示を受けると、プリンタ情報取得部29に対してプリンタ50から処理中ジョブコンピュータ名を取得するように要求する。
そして、プリンタ情報取得部29は、要求に従ってIPアドレス保存部28に記録されたIPアドレス及びMIB2のIDをSNMP通信部29aに送信することによって、プリンタ50に処理中ジョブコンピュータ名を通知するよう要求する。この際、使用するMIB2のIDは、例えば、“1.3.6.1.4.1.2699.1.1.1.1.1.1.4.1”とする。
そして、プリンタ情報取得部29は、SNMP通信部29aを介してプリンタ50から処理中ジョブコンピュータ名を受信すると、それがNULL文字であった場合も含め、処理中ジョブコンピュータ名を処理中ジョブコンピュータ名判定部23に送信する。なお、本実施の形態においては、例えば、受信した処理中ジョブコンピュータ名を“PC1”とする。
続いて、処理中ジョブコンピュータ名判定部23は、NULL文字でない処理中ジョブコンピュータ名を受信した場合、処理中ジョブコンピュータ名を確認し、処理中ジョブコンピュータ名とホストコンピュータPCiのコンピュータ名とを比較し、処理中ジョブコンピュータ名とホストコンピュータPCiのコンピュータ名とが一致するかどうか、すなわち、コンピュータ名が一致するかどうかを判断する。コンピュータ名が一致する場合、処理中ジョブコンピュータ名判定部23は、通知条件判定部22に“コンピュータ名一致”を、一致しない場合は“コンピュータ名不一致”を通知する。例えば、プリンタ50から受信した処理中ジョブコンピュータ名が“PC1”であり、ホストコンピュータPCiのコンピュータ名が“PC2”である場合、処理中ジョブコンピュータ名判定部23は通知条件判定部22に“コンピュータ名一致”の通知を行う。
なお、NULL文字である処理中ジョブコンピュータ名を受信した場合、処理中ジョブコンピュータ名判定部23は、通知条件判定部22に“処理中ジョブコンピュータ名不明”を通知する。
そして、通知条件判定部22は、処理中ジョブコンピュータ名判定部23から“コンピュータ名一致”の通知を受けると、ステータス判定部24から受信したメッセージ25cと共に障害通知部21に“表示”の通知を行い、ステータス監視部27は、ステータスコード59bの読込周期の経過を待機し、再び計時機構部16から時刻を読み込む処理に戻る。
続いて、障害通知部21は、通知条件判定部22から“表示”の通知と共に受信したメッセージ25cを、表示装置30のポップアップ70に障害の発生を表すメッセージ70aとして表示する。なお、メッセージ70aが既に表示されていた場合、障害通知部21は、メッセージ70aを“表示”の通知と共に受けたメッセージ25cに置き換える。そして、例えば、受けたメッセージ25cが“カバーオープン”である場合は、“カバーオープン”のメッセージ70aがポップアップ70に表示される。
また、通知条件判定部22は、処理中ジョブコンピュータ名判定部23から“コンピュータ名不一致”又は“処理中ジョブコンピュータ名不明”の通知を受けると、障害通知部21には何も通知しない。そして、ステータス監視部27は、ステータスコード59bの読込周期の経過を待機し、再び計時機構部16から時刻を読み込む処理に戻る。
このように、本実施の形態においては、ホストコンピュータPCiからプリンタ50に対してステータスコード59bが要求され、ステータスコード59bに基づいて、プリンタ50において障害が発生したかどうかを判断することができる。
次に、フローチャートについて説明する。
ステップS51 時刻を読み込む。
ステップS52 10秒が経過したかどうかを判断する。10秒が経過した場合はステップS53に進み、経過していない場合はリターンする。
ステップS53 ステータスコード59bを取得するよう要求する。
ステップS54 MIB2によりステータスコード59bを通知するよう要求する。
ステップS55 ステータスコード59bの判定を行う。障害が発生していない場合はステップS56に、障害が発生している場合はステップS59に進む。
ステップS56 障害の発生なしを通知する。
ステップS57 “表示終了”を通知する。
ステップS58 表示用のメッセージ70aの表示を閉じ、リターンする。
ステップS59 障害の発生を通知する。
ステップS60 処理中ジョブコンピュータ名を取得するよう要求する。
ステップS61 MIB2により処理中ジョブコンピュータ名を通知するよう要求する。
ステップS62 処理中ジョブコンピュータ名を確認する。
ステップS63 コンピュータ名が一致するかどうかを判断する。コンピュータ名が一致する場合はステップS64に進み、一致しない場合はリターンする。
ステップS64 “表示”を通知する。
ステップS65 “カバーオープン”のメッセージ70aを表示し、リターンする。
次に、プリンタ50がステータスコード59b及び処理中ジョブコンピュータ名をホストコンピュータPCiに送信する動作について説明する。
図14は本発明の第1の実施の形態におけるプリンタがホストコンピュータにステータスコード及び処理中ジョブコンピュータ名を送信する動作を示すフローチャートである。
まず、プリンタ50(図7)のプリンタSNMP通信部55は、MIB2によってホストコンピュータPCiからの要求を受信すると、該要求を要求情報判定部56に送信する。該要求情報判定部56は、MIB2のIDに基づいて要求の判定を行い、ステータスコード59b(図8)の要求であることが判断されると、プリンタステータス通知部57にステータスコード59bを通知するよう指示を送る。そして、プリンタステータス通知部57は前記指示を受けると、ステータス管理部58にステータスコード59bを読み出すよう要求する。
続いて、ステータス管理部58は、ステータスコード59bの要求を受信すると、プリンタ50の状態に該当するステータスコード59bをプリンタステータスコード情報部59から読み出し、ステータスコード59bをプリンタステータス通知部57に送信する。
そして、例えば、プリンタ50に発生した障害がカバーオープンである場合、ステータス管理部58は、ステータスコード情報部59を参照し、プリンタ状態59aを検出すると、それに該当するステータスコード59bとして“40021”を読み出す。この場合、ステータス管理部58によって、プリンタ50において障害が発生したことが検出される。
次に、プリンタステータス通知部57は、読み出したステータスコード59bをプリンタSNMP通信部55を介してホストコンピュータPCiに送信する。そして、例えば、ステータス管理部58から受信したステータスコード59bが“40021”である場合、プリンタSNMP通信部55は、“40021”をMIB2によってホストコンピュータPCiに通知する。
一方、要求情報判定部56において、要求が処理中ジョブコンピュータ名の要求であることが判断されると、要求情報判定部56は、処理中ジョブコンピュータ名通知部60に、処理中ジョブコンピュータ名を通知するよう指示を送る。そして、処理中ジョブコンピュータ名通知部60は前記指示を受けると、処理中ジョブコンピュータ名保存部54から処理中ジョブコンピュータ名を読み出し、プリンタSNMP通信部55を介してホストコンピュータPCiに送信する。そして、例えば、処理中ジョブコンピュータ名保存部54から読み出された処理中ジョブコンピュータ名が“PC1”である場合、プリンタSNMP通信部55は、“PC1”をMIB2によってホストコンピュータPCiに通知する。
次に、フローチャートについて説明する。
ステップS71 MIB2による要求を受信したかどうかを判断する。MIB2による要求を受信した場合はステップS72に進み、受信していない場合はリターンする。
ステップS72 要求の判定を行う。処理中ジョブコンピュータ名の要求である場合はステップS73に、ステータスコード59bの要求である場合はステップS76に進む。
ステップS73 処理中ジョブコンピュータ名を通知するよう指示する。
ステップS74 “PC1”を読み出す。
ステップS75 MIB2によって“PC1”を通知し、リターンする。
ステップS76 ステータスコード59bを通知するよう指示する。
ステップS77 ステータスコード“40021”と判別する。
ステップS78 MIB2によって“40021”を通知し、リターンする。
このように、本実施の形態においては、状態監視部20(図1)を使用することによって、同じプリンタ50を監視しているホストコンピュータPCiが複数あった場合、プリンタ50において障害が発生しても、その場合、プリンタ50が処理を行っているジョブの画像データを送信したホストコンピュータPCiのコンピュータ名と、MIB2で取得した処理中ジョブコンピュータ名とが一致するが、他のホストコンピュータPCiのコンピュータ名とMIB2で取得した処理中ジョブコンピュータ名とは一致しないので、前記コンピュータ名と処理中ジョブコンピュータ名とが一致したホストコンピュータPCiだけにステータスコード59bが送信され、コンピュータ名と処理中ジョブコンピュータ名とが一致したホストコンピュータPCiの表示装置30の画面上だけに障害情報を表すメッセージ70a(図4)が表示され、他のホストコンピュータPCiの表示装置30にはメッセージ70aが表示されない。
したがって、操作者がホストコンピュータPCiを操作してプリンタ50による所定の処理、本実施の形態においては、印刷の処理を行っていて、プリンタ50において障害が発生した場合に、プリンタ50を使用していない他の操作者にとって予期しない表示が行われることがなくなる。その結果、他の操作者が他のホストコンピュータPCiを操作して行っている作業を妨害することがない。
なお、本実施の形態においては、処理中ジョブの送信元のホストコンピュータPCiに障害情報を送信し、送信元のホストコンピュータPCiだけの表示装置30の画面上に障害情報を表示するようになっているが、送信元のホストコンピュータPCiだけでなく、障害が発生するときまでにプリンタ50に送信され、処理待ちの状態のジョブの送信元のホストコンピュータにも障害情報を送信し、他のホストコンピュータには障害情報を送信しないようにすることができる。
ところで、一般的に、プリンタにおいては、障害が発生すると、画像データを受信するためのインタフェースがオフラインにされ、画像データの受信が行われない状態になり、障害が復旧すると、再びインタフェースがオンラインにされ、画像データの受信を行うことができる状態になる。
本実施の形態におけるプリンタ50においても、同様に、例えば、カバーオープン等の障害が発生すると、画像データの受信に使用されるプリンタポート通信部51がオフラインにされ、画像データの受信が行われない状態になり、障害が復旧すると、再びプリンタポート通信部51がオンラインにされ、画像データの受信を行うことができる状態になる。
したがって、画像データがプリンタ50に送信される以前からプリンタ50に障害が発生し、オフラインとなっている状態で、ホストコンピュータPCiからポートモニタ15を介して画像データの送信を行うと、プリンタ50は画像データを最初から受信しないことになる。
この場合、プリンタ50は、画像データ中にあるコンピュータ名コマンドも受信していないので、状態監視部20がプリンタ50のステータスコード59bを取得し、障害の発生を検出しても、ステータスコード59bを取得した後で処理中ジョブコンピュータ名をMIB2で取得する際に、処理中ジョブコンピュータ名判定部23はプリンタ50からNULL文字の処理中ジョブコンピュータ名を受信することになり、ホストコンピュータPCiのコンピュータ名と一致しないので、その結果、表示装置30の画面上にメッセージ70aが表示されない。
すなわち、最初からプリンタ50に障害が発生している状態で、操作者が印刷の操作を行った場合は、表示装置30の画面上には障害情報が何も表示されないことになる。
そこで、ホストコンピュータPCiからプリンタ50に画像データを送信する前に、プリンタ50において障害が発生した場合でも、ホストコンピュータPCiの表示装置30の画面上に障害が発生している旨のメッセージ70aを表示することができるようにした本発明の第2の実施の形態について説明する。なお、第1の実施の形態と同じ構造を有するものについては、同じ符号を付与し、同じ構造を有することによる発明の効果については同実施の形態の効果を援用する。また、プリンタ50の構造は第1の実施の形態と同じであるので、図7を援用し、プリンタ50の構造についての説明は省略する。
図15は本発明の第2の実施の形態におけるホストコンピュータの説明図、図16は本発明の第2の実施の形態における状態監視部の説明図である。
この場合、画像処理装置としてのホストコンピュータPCiから画像形成装置としてのプリンタ50に画像データが送信される前に、プリンタ50において障害が発生したかどうかが判断され、プリンタ50において障害が発生した場合、ホストコンピュータPCiからプリンタ50に画像データが送信されているかどうかが判断され、画像データが送信されている場合には、表示装置30に、プリンタ50において障害が発生している旨の表示がされる。また、画像データが送信されていない場合には、仮に、プリンタ50において障害が発生していても、表示装置30にはその旨の表示は行われない。
そのために、本実施の形態において、送信処理部としてのプリントモニタ14は、プリントスプーラ12から受信した画像データを順次ポートモニタ15に送信する動作管理部14b、及びプリントモニタ14が“待機中”であるか、又は“動作中”であるかを表す動作情報(例えば、フラグ)を記録するための動作情報部14aを備える。この場合、“待機中”は、画像データをプリンタ50に送信するのを待機していることを、“動作中”は画像データをプリンタ50に送信していることを表す。なお、“待機中”においては、画像形成部としての画像データ印刷処理部53(図7)における画像形成待ちの画像データがプリントモニタ14に保持される。
前記動作管理部14bは、情報監視部20が、プリントモニタ14の動作を確認するために、動作管理部14bに対して動作の確認要求(“待機中”であるか、又は“動作中”であるかの確認の要求)を行うと、動作情報部14aの情報、すなわち、動作情報を読み込み、状態監視部20に送信する。なお、プリントモニタ14が“待機中”である場合、動作情報は、“待機中”である旨の通知が行われ、“待機中通知”の状態に置かれ、プリントモニタ14が“動作中”である場合、動作情報は、“動作中”である旨の通知が行われ、“動作中通知”の状態に置かれる。また、初期状態において、前記動作情報は、“待機中通知”の状態に置かれる。
前記状態監視部20には、ステータス監視部27と接続させて前回検出ステータスコード保存部91が配設され、該前回検出ステータスコード保存部91に、前回のプリンタ50の状態を表す前回取得したステータスコード59b(図8)、すなわち、前回検出ステータスコードが記録される。なお、初期状態において、前回検出ステータスコード保存部91には前回検出ステータスコードとして“0”が記録される。
前記ステータス監視部27は、計時機構部16からの時刻情報によって周期的にプリンタ情報取得部29にステータスコード59bの取得を要求し、ステータスコード59bを取得すると、前回検出ステータスコード保存部91から前回検出ステータスコードを読み出し、前記ステータスコード59bと前回検出ステータスコードとを比較し、ステータスコード59bと前回検出ステータスコードとが一致しない場合、ステータスコード59bを、前回検出ステータスコード保存部91に書き込むとともに、状態判定部としてのステータス判定部24に送信する。
次に、前記構成の画像処理システムの動作について説明する。
まず、プリントモニタ14の動作について説明する。
図17は本発明の第2の実施の形態におけるプリントモニタの動作を示すフローチャートである。
この場合、プリントモニタ14(図15)は、プリントスプーラ12からの“ジョブ開始”の通知を待機する状態で起動され、この状態で、状態監視部20による動作の確認要求があるかどうかを判断する。状態監視部20による動作の確認要求がある場合、動作管理部14bは、動作情報部14aを参照し、プリントモニタ14が“待機中”であるか、又は“動作中”であるかを確認する。すなわち、動作情報部14aの動作情報が“待機中通知”の状態に置かれている場合、プリントモニタ14は“待機中”であると判断され、動作情報部14aの動作情報が“動作中通知”の状態に置かれている場合、プリントモニタ14は“動作中”であると判断される。
前記動作情報部14aの動作情報が“動作中通知”の状態に置かれている場合、動作管理部14bは、状態監視部20に“動作中”を通知し、動作情報部14aの動作情報が“待機中通知”の状態に置かれている場合、動作管理部14bは、状態監視部20に“待機中”を通知する。なお、動作情報部14aの動作情報が“動作中通知”の状態に置かれている場合、動作管理部14bは、状態監視部20に“動作中”を通知した後、動作情報部14aを初期状態に戻すために、動作情報を“待機中通知”の状態に変更する。
このようにして、状態監視部20は、プリントモニタ14が“待機中”であるか、又は“動作中”であるかを確認することができる。
次に、プリントモニタ14がプリントスプーラ12からの“ジョブ開始”の通知を受信すると、動作管理部14bは、動作情報部14aの動作情報を“動作中通知”の状態に変更する。そして、その後、状態監視部20による動作の確認要求があると、動作管理部14bは、状態監視部20に“動作中”を通知する。
また、プリントモニタ14がプリントスプーラ12から“ジョブ開始”の通知を受けるのに伴って、動作管理部14bは、プリントスプーラ12から受信した画像データをポートモニタ15に送信する。
該ポートモニタ15は、プリントモニタ14から画像データを受信すると、該画像データをプリンタ50のポート番号9100のポートにそのまま送信し、プリントモニタ14は、プリントスプーラ12から“ジョブ終了”の通知を受信することによって、それ以上画像データが送信されないことを認識し、プリントモニタ14を、“ジョブ開始”の通知を受けるための待機状態に戻す。
なお、“ジョブ終了”の通知を受信し、プリントモニタ14を、“ジョブ開始”の通知を受けるための待機状態に戻したときに、動作情報部14aの動作情報は“待機中通知”の状態に変更されない。これは、ジョブの画像データのデータ量が少ない場合、状態監視部20が動作管理部14bに対して動作の確認要求を行う周期の間に、プリントモニタ14が“ジョブ開始”の通知によって起動され、“ジョブ終了”の通知によって待機状態に戻ってしまうことがあるが、その場合でも、状態監視部20による動作の確認要求があったときに、“動作中”を一回は通知することができるようにするためである。
したがって、プリンタ50において障害が発生した場合に、表示装置30に確実に障害情報を表示することができる。
これに対して、ジョブの画像データのデータ量が多い場合、プリントモニタ14が“ジョブ開始”の通知によって起動され、“ジョブ終了”の通知によって待機状態に戻るまでに、状態監視部20が動作管理部14bに対して複数回にわたり、動作の確認要求を行うことになる。ところが、前述されたように、動作情報部14aの動作情報が“動作中通知”の状態に置かれている場合、動作管理部14bは、状態監視部20に“動作中”を通知した後、動作情報部14aの動作情報が“待機中通知”の状態に変更されるので、状態監視部20による動作の確認要求があるたびに、“動作中”が通知されることがなくなる。
したがって、プリンタ50において障害が発生した場合に、表示装置30に繰り返し障害情報が表示されるのを防止することができる。
次に、フローチャートについて説明する。
ステップS81 “ジョブ開始”の通知を受信したかどうかを判断する。“ジョブ開始”の通知を受信した場合はステップS87に、受信していない場合はステップS82に進む。
ステップS82 状態監視部20による動作の確認要求があるかどうかを判断する。状態監視部20による動作の確認要求がある場合はステップS83に進み、確認要求がない場合はリターンする。
ステップS83 “動作中通知”の状態であるかどうかを判断する。“動作中通知”の状態である場合はステップS85に、状態でない場合はステップS84に進む。
ステップS84 “待機中”を通知し、リターンする。
ステップS85 “動作中”を通知する。
ステップS86 “待機中通知”の状態に変更し、リターンする。
ステップS87 “動作中通知”の状態に変更する。
ステップS88 状態監視部20による動作の確認要求があるかどうかを判断する。状態監視部20による動作の確認要求がある場合はステップS89に、確認要求がない場合はステップS90に進む。
ステップS89 “動作中”を通知する。
ステップS90 画像データをポートモニタ15に送信する。
ステップS91 画像データをポートに送信する。
ステップS92 “ジョブ終了”の通知を受信したかどうかを判断する。“ジョブ終了”の通知を受信した場合はリターンし、受信していない場合はステップS88に戻る。
次に、ホストコンピュータPCiがプリンタ50に発生した障害を検出し、操作者に障害の発生を通知する動作について説明する。
図18は本発明の第2の実施の形態におけるプリンタにおいて障害が発生したときのホストコンピュータの動作を示す第1のフローチャート、図19は本発明の第2の実施の形態におけるプリンタにおいて障害が発生したときのホストコンピュータの動作を示す第2のフローチャートである。
まず、ステータス監視部27(図16)は、計時機構部16から時刻を読み込み、該時刻と前回読み込んだ時刻との差を求めることによって読込周期を算出する。なお、本実施の形態においては、例えば、前記読込周期を10秒とする。
続いて、ステータス監視部27は、読込周期である10秒が経過すると、プリンタ情報取得部29に対してプリンタ50からステータスコード59b(図8)を取得するように要求する。そして、プリンタ情報取得部29は、SNMP通信部29aを介してプリンタ50に対してステータスコード59bを通知するよう要求する。
前記SNMP通信部29aを介してステータスコード59bを取得する際には、周辺機器がSNMPを使用して外部に情報を通知する方法として、MIB2が使用される。
次に、ステータス監視部27は、プリンタ情報取得部29を介してプリンタ50からステータスコード59bを取得すると、前回検出ステータスコード保存部91から前回検出ステータスコードを読み出し、取得したステータスコード59bと前回検出ステータスコードとを比較する。
そして、取得したステータスコード59bと前回検出ステータスコードとが一致する場合、ステータス監視部27は、ステータスコード59bの読込周期の経過を待機し、再び計時機構部16から時刻を読み込む処理に戻る。
また、取得したステータスコード59bと前回検出ステータスコードとが一致しない場合、ステータス監視部27は、ステータスコード59bを次回の比較用に前回検出ステータスコード保存部91に保存する。
次に、ステータス監視部27は、ステータスコード59bをステータス判定部24に送信し、ステータス判定部24は、受信したステータスコード59bの判定を行う。そのために、ステータス判定部24は、ステータスコード情報部25を参照し、受信したステータスコード59bと同じステータスコード25a(図5)に対応する障害種別25b及びメッセージ25cを読み出す。
なお、例えば、受信したステータスコード59bが、例えば、“40021”である場合、障害種別25bは“障害”であり、メッセージ25cは“カバーオープン”であるので、ステータス判定部24は、プリンタ50に障害が発生したと判断し、通知条件判定部22に該当するメッセージ25cを送信するとともに、障害の発生の通知を行う。なお、この場合、ステータスコード59bは障害情報としてプリンタ50からホストコンピュータPCiに送信される。
前記通知条件判定部22は、障害の発生の通知を受信すると、“待機中通知”の状態であるか又は“動作中通知”の状態であるかによって、プリントモニタ14が“待機中”であるか又は“動作中”であるかを判断し、プリントモニタ14が“動作中”である場合は、ステータス判定部24から受信したメッセージ25cと共に障害通知部21に“表示”の通知を行い、ステータス監視部27は、ステータスコード59bの読込周期の経過を待機し、再び計時機構部16から時刻を読み込む処理に戻る。
続いて、障害通知部21は、通知条件判定部22から“表示”の通知と共に受信したメッセージ25cを、表示装置30(図15)のポップアップ70(図4)に、プリンタ50で障害が発生した旨のメッセージ70aとして表示する。そして、例えば、受信したメッセージ25cが“カバーオープン”である場合は、“カバーオープン”のメッセージ70aがポップアップ70に表示される。
したがって、操作者は、プリンタ50に画像データを送信した後、プリンタ50において障害が発生したことを迅速に知ることができる。
一方、前記通知条件判定部22は、プリントモニタ14が“待機中”である場合、プリントモニタ14によってホストコンピュータPCiからプリンタ50への画像データの送信が行われていないと判断し、処理中ジョブコンピュータ名判定部23に、プリンタ50において処理されているジョブの画像データに付加されている処理中ジョブコンピュータ名とコンピュータ名とが一致しているかどうかを確認するよう指示を送る。そして、前記処理中ジョブコンピュータ名判定部23は、前記指示を受けると、プリンタ情報取得部29に対してプリンタ50から処理中ジョブコンピュータ名を取得するよう要求する。
前記プリンタ情報取得部29は、要求に従って、プリンタ50に処理中ジョブコンピュータ名を通知するよう要求する。そして、プリンタ情報取得部29は、SNMP通信部29aを介してプリンタ50から処理中ジョブコンピュータ名を受信すると、それがNULL文字であった場合も含め、処理中ジョブコンピュータ名を処理中ジョブコンピュータ名判定部23に送信する。なお、本実施の形態においては、例えば、受信した処理中ジョブコンピュータ名を“PC1”とする。
続いて、処理中ジョブコンピュータ名判定部23は、NULL文字でない処理中ジョブコンピュータ名を受信した場合、処理中ジョブコンピュータ名を確認し、処理中ジョブコンピュータ名とホストコンピュータPCiのコンピュータ名とを比較し、処理中ジョブコンピュータ名とホストコンピュータPCiのコンピュータ名とが一致するかどうか、すなわち、コンピュータ名が一致するかどうかを判断する。コンピュータ名が一致する場合、処理中ジョブコンピュータ名判定部23は通知条件判定部22に“コンピュータ名一致”を、一致しない場合は“コンピュータ名不一致”を通知する。
なお、NULL文字である処理中ジョブコンピュータ名を受信した場合、処理中ジョブコンピュータ名判定部23は、通知条件判定部22に“処理中ジョブコンピュータ名不明”を通知する。
そして、通知条件判定部22は、処理中ジョブコンピュータ名判定部23から“コンピュータ名一致”の通知を受けると、ステータス判定部24から受信したメッセージ25cと共に障害通知部21に“表示”の通知を行い、ステータス監視部27は、ステータスコード59bの読込周期の経過を待機し、再び計時機構部16から時刻を読み込む処理に戻る。
続いて、障害通知部21は、通知条件判定部22から“表示”の通知と共に受信したメッセージ25cを、表示装置30のポップアップ70にメッセージ70aとして表示する。なお、メッセージ70aが既に表示されていた場合、障害通知部21は、メッセージ70aを“表示”の通知と共に受けたメッセージ25cに置き換える。そして、例えば、受けたメッセージ25cが“カバーオープン”である場合は、“カバーオープン”のメッセージ70aがポップアップ70に表示される。
この場合、操作者は、プリントモニタ14が“待機中”であっても、プリンタ50に画像データを送信した後に、プリンタ50において障害が発生したことを迅速に知ることができる。
また、プリンタ50に障害が発生していないと判断されると、ステータス判定部24は、通知条件判定部22に障害の発生なしの通知を行う。
該通知条件判定部22は、障害の発生なしの通知を受けると、障害通知部21に“表示終了”の通知を行い、ステータス監視部27は、ステータスコードの読込周期の経過を待機し、再び計時機構部16から時刻を読み込む処理に戻る。そして、障害通知部21は“表示終了”の通知を受けると、表示装置30上に表示用メッセージ70aをポップアップ表示していた場合、その表示を閉じる。
したがって、画像データの送信元のホストコンピュータPCi以外のホストコンピュータPCiにおいて、表示装置30に障害情報が表示されることがなくなる。
このように、本実施の形態においては、操作者が入力装置40を操作して印刷を開始するための指示を行った場合には、ホストコンピュータPCiからプリンタ50に画像データが送信されていなくても、プリントモニタ14の動作を確認するようになっているので、表示装置30に障害情報を確実に表示することができる。
また、他の操作者が他のホストコンピュータPCiを使用して印刷を行ったときに、プリンタ50において障害が発生した場合には、当該ホストコンピュータPCiの表示装置30に障害情報が表示されることはないが、その後、当該ホストコンピュータPCiからプリンタ50に画像データが送信したときに、プリントモニタ14が“動作中”になるので、当該ホストコンピュータPCiの表示装置30に障害情報が表示される。
次に、フローチャートについて説明する。
ステップS101 時刻を読み込む。
ステップS102 10秒が経過したかどうかを判断する。10秒が経過した場合はステップS103に進み、経過していない場合はリターンする。
ステップS103 ステータスコード59aを取得するよう要求する。
ステップS104 MIB2によりステータスコード59aを通知するよう要求する。
ステップS105 前回検出ステータスコードとの比較を行う。一致である場合はリターンし、不一致である場合はステップS106に進む。
ステップS106 取得したステータスコード59aを次回の比較用に保存する。
ステップS107 ステータスコード59aの判定を行う。障害が発生していない場合はステップS108に、障害が発生している場合はステップS111に進む。
ステップS108 障害の発生なしを通知する。
ステップS109 “表示終了”を通知する。
ステップS110 表示用のメッセージ70aの表示を閉じ、リターンする。
ステップS111 障害の発生を通知する。
ステップS112 プリントモニタ14が“動作中”であるかどうかを判断する。プリントモニタ14が“動作中”である場合はステップS117に、“動作中”でない場合はステップS113に進む。
ステップS113 処理中ジョブコンピュータ名を取得するよう要求する。
ステップS114 処理中ジョブコンピュータ名を通知するよう要求する。
ステップS115 処理中ジョブコンピュータ名を確認する。
ステップS116 コンピュータ名が一致するかどうかを判断する。コンピュータ名が一致する場合はステップS117に進み、一致しない場合はリターンする。
ステップS117 “表示”を通知する。
ステップS118 “カバーオープン”のメッセージ70aを表示し、リターンする。
なお、本発明は前記各実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。