(57)【特許請求の範囲】
【請求項１】
画像形成装置とネットワークで接続され、当該画像形成装置における印刷ジョブの処理状況の通知をうける印刷制御装置であって、
前記画像形成装置のカウンタ情報を管理するデータベースと、
前記画像形成装置よりカウンタ情報を定期的に取得する取得手段と、
前記取得手段により取得したカウンタ情報に基づき前記データベースを更新する更新手段と、
前記画像形成装置における印刷ジョブに基づく処理の開始通知に応じて、前記取得手段による定期的なカウンタ情報の取得を停止する停止手段と、
前記画像形成装置における印刷ジョブに基づく処理の終了通知に応じて、前記停止手段により停止した前記取得手段による定期的なカウンタ情報の取得を再開する再開手段とを備え、
前記更新手段は、前記停止手段によって前記定期的なカウンタ情報の取得が停止されている間、前記画像形成装置から取得する前記印刷ジョブの処理状況の通知を利用して、前記データベースで管理されるカウンタ情報を更新することを特徴とする印刷制御装置。
【請求項２】
前記画像形成装置からのカウンタ情報の取得を定期的に行うか否かを設定する設定手段を、更に備え、
前記取得手段は、
前記設定手段により前記画像形成装置からのカウンタ情報の取得を定期的に行うと設定された場合に、定期的にカウンタ情報の取得を行い、
前記設定手段により前記画像形成装置からのカウンタ情報の取得を定期的に行わないと設定された場合に、当該設定されたタイミングにおいて１度のカウンタ情報の取得を行うことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記画像形成装置における印刷ジョブの処理状況は、前記画像形成装置が１枚排紙した情報と前記画像形成装置が印刷を終了した旨の情報とのいずれかを含むことを特徴とする請求項１又は２に記載の印刷制御装置。
【請求項４】
前記画像形成装置が電源オフに移行する際に、前記設定手段による設定に関わらず、前記取得手段は、前記画像形成装置からのカウンタ情報の取得を行うことを特徴とする請求項２又は３に記載の印刷制御装置。
【請求項５】
画像形成装置とネットワークで接続され、カウンタ情報を管理するデータベースを有し、当該画像形成装置における印刷ジョブの処理状況の通知をうける印刷制御装置において実行される印刷制御方法であって、
前記印刷制御装置の取得手段が、前記画像形成装置よりカウンタ情報を定期的に取得する取得工程と、
前記印刷制御装置の更新手段が、前記取得工程により取得したカウンタ情報に基づき前記データベースを更新する更新工程と、
前記印刷制御装置の停止手段が、前記画像形成装置における印刷ジョブに基づく処理の開始通知に応じて、前記取得工程による定期的なカウンタ情報の取得を停止する停止工程と、
前記印刷制御装置の再開手段が、前記画像形成装置における印刷ジョブに基づく処理の終了通知に応じて、前記停止工程により停止した前記取得工程による定期的なカウンタ情報の取得を再開する再開工程とを備え、
前記更新工程は、前記停止工程によって前記定期的なカウンタ情報の取得が停止されている間、前記画像形成装置から取得する前記印刷ジョブの処理状況の通知を利用して、前記データベースで管理されるカウンタ情報を更新することを特徴とする印刷制御方法。
【請求項６】
画像形成装置とネットワークで接続され、当該画像形成装置における印刷ジョブの処理状況の通知をうけるための印刷制御プログラムであって、
前記画像形成装置よりカウンタ情報を定期的に取得する取得手段と、
前記取得手段により取得したカウンタ情報に基づき、前記画像形成装置のカウンタ情報を管理するデータベースを更新する更新手段と、
前記画像形成装置における印刷ジョブに基づく処理の開始通知に応じて、前記取得手段による定期的なカウンタ情報の取得を停止する停止手段と、
前記画像形成装置における印刷ジョブに基づく処理の終了通知に応じて、前記停止手段により停止した前記取得手段による定期的なカウンタ情報の取得を再開する再開手段としてコンピュータを機能させ、
前記更新手段は、前記停止手段によって前記定期的なカウンタ情報の取得が停止されている間、前記画像形成装置から取得する前記印刷ジョブの処理状況の通知を利用して、前記データベースで管理されるカウンタ情報を更新することを特徴とする印刷制御プログラム。
【請求項７】
画像形成装置とネットワークで接続され、当該画像形成装置における印刷ジョブの処理状況の通知をうける印刷制御装置であって、
前記画像形成装置のトナー残量情報を管理するデータベースと、
前記画像形成装置よりトナー残量情報を定期的に取得する取得手段と、
前記取得手段により取得したトナー残量情報に基づき前記データベースを更新する更新手段と、
前記画像形成装置における印刷ジョブに基づく処理の開始通知に応じて、前記取得手段による定期的なトナー残量情報の取得を停止する停止手段と、
前記画像形成装置における印刷ジョブに基づく処理の終了通知に応じて、前記停止手段により停止した前記取得手段による定期的なトナー残量情報の取得を再開する再開手段とを備え、
前記更新手段は、前記停止手段によって前記定期的なトナー残量情報の取得が停止されている間、前記画像形成装置から取得する前記印刷ジョブの処理状況の通知を利用して、前記データベースで管理されるトナー残量情報を更新することを特徴とする印刷制御装置。
【請求項８】
画像形成装置とネットワークで接続され、トナー残量情報を管理するデータベースを有し、当該画像形成装置における印刷ジョブの処理状況の通知をうける印刷制御装置において実行される印刷制御方法であって、
前記印刷制御装置の取得手段が、前記画像形成装置よりトナー残量情報を定期的に取得する取得工程と、
前記印刷制御装置の更新手段が、前記取得工程により取得したトナー残量情報に基づき前記データベースを更新する更新工程と、
前記印刷制御装置の停止手段が、前記画像形成装置における印刷ジョブに基づく処理の開始通知に応じて、前記取得工程による定期的なトナー残量情報の取得を停止する停止工程と、
前記印刷制御装置の再開手段が、前記画像形成装置における印刷ジョブに基づく処理の終了通知に応じて、前記停止工程により停止した前記取得工程による定期的なトナー残量情報の取得を再開する再開工程とを備え、
前記更新工程は、前記停止工程によって前記定期的なトナー残量情報の取得が停止されている間、前記画像形成装置から取得する前記印刷ジョブの処理状況の通知を利用して、前記データベースで管理されるトナー残量情報を更新することを特徴とする印刷制御方法。
【請求項９】
画像形成装置とネットワークで接続され、当該画像形成装置における印刷ジョブの処理状況の通知をうけるための印刷制御プログラムであって、
前記画像形成装置よりトナー残量情報を定期的に取得する取得手段と、
前記取得手段により取得したトナー残量情報に基づき、前記画像形成装置のトナー残量情報を管理するデータベースを更新する更新手段と、
前記画像形成装置における印刷ジョブに基づく処理の開始通知に応じて、前記取得手段による定期的なトナー残量情報の取得を停止する停止手段と、
前記画像形成装置における印刷ジョブに基づく処理の終了通知に応じて、前記停止手段により停止した前記取得手段による定期的なトナー残量情報の取得を再開する再開手段としてコンピュータを機能させ、
前記更新手段は、前記停止手段によって前記定期的なトナー残量情報の取得が停止されている間、前記画像形成装置から取得する前記印刷ジョブの処理状況の通知を利用して、前記データベースで管理されるトナー残量情報を更新することを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置の有するデータを取得し、画像形成装置のデータベースとの同期を行う印刷制御装置に関する。
【背景技術】
【０００２】
従来から、ＳＮＭＰ（Ｓｉｍｐｌｅ Ｎｅｔｗｏｒｋ Ｍａｎａｇｅｍｅｎｔ Ｐｒｏｔｏｃｏｌ)とＭＩＢ（Ｍａｎａｇｅｍｅｎｔ Ｉｎｆｏｒｍａｔｉｏｎ Ｂａｓｅ）を用いてネットワークデバイスを管理する方法が広く知られている。ＳＮＭＰとは、ネットワークに接続された機器類をネットワーク経由で管理する為に用いられるプロトコルである。ＳＮＭＰによるネットワーク管理は、ネットワーク管理を行う監視端末（監視する側）であるＳＮＭＰマネージャと、管理対象機器（監視される側）であるＳＮＭＰエージェントとの構成によって実現される。以下、ＳＮＭＰマネージャを単にマネージャともいい、ＳＮＭＰエージェントを単にエージェントともいう。そのような構成において、マネージャからエージェントにリクエストされると、エージェントはマネージャにレスポンスを返信するという通信が行われる。
【０００３】
ＭＩＢとは、ＳＮＭＰに対応したネットワーク機器に存在し、ネットワーク機器についての管理情報を含むデータベースをいう。ＭＩＢは複数のオブジェクトで構成されており、それぞれのオブジェクトに対して格納されるべき情報の定義がされていて、ＭＩＢを実装する機器は、その定義に従って情報を設定することができる。マネージャからのリクエストに対して、エージェントは、リクエストされたＭＩＢのオブジェクトが保持する値をレスポンスとして返信する。マネージャは、返信されたレスポンスを解析することで、管理対象とするネットワーク機器がどのような装置であって、どのような機能を有するのかということを検出することができる。
【０００４】
一般的に、画像形成装置と印刷制御装置は、ＳＮＭＰに対応している場合が多い。そのような場合には、例えば、印刷制御装置と画像形成装置はエージェントとして動作し、マネージャとしてのクライアントＰＣ等からのリクエストに返信することができる。ここで、印刷制御装置がエージェントとして動作する場合には、まず、印刷制御装置はマネージャとして動作して画像形成装置から情報を取得する。そのような情報としては、例えば、残り紙情報、トナーの残量情報、カウンタ情報等の画像形成装置に関する情報が挙げられる。次に、印刷制御装置は、そのような情報を画像形成装置から取得し、印刷制御装置自身のＭＩＢのオブジェクトに設定し、その後、クライアントＰＣ等からのリクエストに返信する。
【０００５】
ここで、印刷制御装置が画像形成装置から情報を取得するタイミングは、オブジェクト毎に異なっているので、適切なタイミングにより取得処理が行われる必要がある。例えば、印刷制御装置が起動した際に、画像形成装置からオブジェクトを１回のみ取得する方法がある。また、印刷制御装置が、画像形成装置に対してポーリングを行うことによって、画像形成装置からオブジェクトを取得する方法がある。更に、画像形成装置から状態変更を示すイベントが送信されたことを検出した場合に、オブジェクトを取得する方法がある。印刷制御装置は、それらの方法を組み合わせることによって、印刷制御装置自身のＭＩＢのオブジェクトの値を適切なタイミングによって更新することができる。
【０００６】
しかしながら、例えば、印刷制御装置が画像形成装置に印刷データを送信している場合に、ポーリングが行われると、印刷データのパケットと衝突を起こす可能性が高くなってしまう。従来、衝突が発生した場合に、印刷データのパケットの再送が発生し、その結果、印刷全体としてのパフォーマンスの低下を引き起こしてしまう問題があった。
【０００７】
また、従来において、印刷制御装置は、印刷制御装置に設定されているポーリング周期によって画像形成装置とデータの同期を行っている。従って、印刷制御装置が次のポーリングを行う直前には、既に画像形成装置のＭＩＢ情報が更新されている場合も考えられる。そのような場合に、ネットワーク上のマネージャが、印刷制御装置にＭＩＢの取得リクエストを送信してしまうと、印刷制御装置がレスポンスする値が、実際の状態と異なっているおそれがある。その結果、マネージャは、印刷制御装置から常に新しいＭＩＢの値を取得することができなくなってしまう。
【０００８】
特許文献１には、マネージャ及び各エージェントが参照するＭＩＢの設定内容の不一致を防ぐことができるネットワーク管理システムが開示されている。このネットワーク管理システムによると、人手を介することなくエージェントとマネージャがそれぞれ保持するネットワーク定義情報の同一性を維持することができると記載されている。しかしながら、マネージャとエージェント間で、印刷データといったＭＩＢの更新以外のデータが通信されている場合に、ネットワークの負荷を低減することについては特に記載されていない。
【特許文献１】特開２００２−１４９５０９号公報（段落［００２１］）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、上記の点に鑑み、本発明は、画像形成装置の印刷パフォーマンスを低下させることなく、印刷制御装置のＭＩＢ情報を柔軟に更新することができる印刷制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明に係る印刷制御装置は、画像形成装置とネットワークで接続され、当該画像形成装置における印刷ジョブの処理状況の通知をうける印刷制御装置であって、画像形成装置のカウンタ情報を管理するデータベースと、画像形成装置よりカウンタ情報を定期的に取得する取得手段と、取得手段により取得したカウンタ情報に基づきデータベースを更新する更新手段と、画像形成装置における印刷ジョブに基づく処理の開始通知に応じて、取得手段による定期的なカウンタ情報の取得を停止する停止手段と、画像形成装置における印刷ジョブに基づく処理の終了通知に応じて、停止手段により停止した取得手段による定期的なカウンタ情報の取得を再開する再開手段とを備え、更新手段は、停止手段によって定期的なカウンタ情報の取得が停止されている間、画像形成装置から取得する印刷ジョブの処理状況の通知を利用して、データベースで管理されるカウンタ情報を更新することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、画像形成装置の印刷パフォーマンスを低下させることなく、印刷制御装置のＭＩＢ情報を柔軟に更新することができる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明を実施するための最良の形態について、図面を参照しながら詳しく説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【００１３】
図１は、本発明の実施形態に係る印刷制御装置を含むデータベース同期システムの構成を示す図である。図１に示すように本システムは、印刷制御装置１０１と、画像形成装置１０２と、端末装置１０３とを含んでいる。また、それぞれの機器は、例えば、ＬＡＮであるネットワーク１０４によって接続されている。また、印刷制御装置１０１と画像形成装置１０２とは、専用伝送路１０５によって接続されている。
【００１４】
図２は、図１に示す印刷制御装置１０１の内部構成を示すブロック図である。印刷制御装置１０１は、図２に示すコネクタ２０２及び２０３によってネットワーク１０４と接続される。ＮＩＣ部２０５は、印刷制御装置１０１が、ネットワーク１０４と低位レイヤでの接続を可能とする第１のネットワークインタフェースとしてのＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ)である。ＲＩＰ処理部２０６は、受信したＰＤＬ等の印刷言語、又は、ＪＢＩＧなどで圧縮された特定のデータフォーマットをラスタイメージ化する。エンコード部２０７は、ラスタイメージ化されたデータを画像形成装置１０２がサポートする形式の印刷データ又はデータフォーマットに変換する。ＮＩＣ部２０８は、低位レイヤレベルの接続を可能とする第２のネットワークインタフェースとしてのＮＩＣ部である。ＨＤＤ部２０９は、ＮＩＣ部２０５で受信した印刷データを一時的に保管（スプール）しておく、又は、ＲＩＰ後の圧縮データを一時的に保管しておくハードディスクドライブである。第１メモリ部２１０は、ＲＩＰ処理部２０６の画像展開処理において用いられる。ＣＰＵ部２１１は、印刷制御装置全体を制御する。第２メモリ部２１２は、ＣＰＵ部２１１がデータを一時的に保存する保存領域として用いられる。操作部２１３は、ボタン、キー、タッチパネル等を有し、印刷制御装置１０１のオペレーションを行う。表示部２１４は、オペレータに画像や文字によって情報を伝える。Ｉボード部２１５は、イメージインタフェースボードであり、コネクタ２０４によって専用伝送路１０５に接続される。画像データは、Ｉボード部２１５とコネクタ２０４を介して専用伝送路１０５によって転送されることができる。
【００１５】
ここで、端末装置１０３と印刷制御装置１０１と画像形成装置１０２との間のデータの流れについて説明する。
【００１６】
端末装置１０３から送信されたデータパケットは、ネットワーク１０４を介して、印刷制御装置１０１に伝搬される。伝播されたデータパケットは、印刷制御装置１０１のＮＩＣ部２０５において受信処理が行われる。ＮＩＣ部２０５において受信されたデータパケットはＴＣＰ／ＩＰプロトコルに準じていて、ＴＣＰ又はＵＤＰパケットが使われている場合には、パケットのヘッダ情報部に宛先ポート番号が含まれている。ここで、宛先ポート番号とは、データパケットを受信した装置におけるどのプログラム又はプロセスにデータを送るべきかを示す情報をいう。そのため、一般的には、通信プロトコルやプログラム毎に異なるポート番号が割り振られている。例えば、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ)＝Ｐｏｒｔ２１、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）＝Ｐｏｒｔ２５、 ＳＮＭＰ＝Ｐｏｒｔ１６１等が規定されている。従って、受信したデータパケットのヘッダに含まれるポート番号を調査し、印刷処理に対応するポート番号か否かを判定することにより、そのデータパケットが印刷データであるか、又は、制御データであるか、又は、他のデータであるかを判定することができる。従って、本実施形態において、ＮＩＣ部２０５は、受信したデータパケットのヘッダから宛先ポート番号を抽出し、その宛先ポート番号に基づいてデータパケットが印刷データであるか、又は、制御データであるかを判定することができる。ここで、印刷データであると判定された場合には、ＣＰＵ部２１１により制御され、ＨＤＤ部２０９に受信したデータが書き込まれる。そのようなことは、データの転送速度を向上させる等を目的とするキューイング（スプール）として一般的に行われている。
【００１７】
ＨＤＤ部２０９に記憶されたデータは、ＣＰＵ部２１１により指示され、ＲＩＰ処理部２０６に読み出される。一方、キューイングが行われなかった印刷データは、ＣＰＵ部２１１により指示され、直接、ＲＩＰ処理部２０６に転送される。ＲＩＰ処理部２０６に送信された印刷データは、ＲＩＰ処理部２０６においてラスタイメージ化処理が行われる。次に、エンコード部２０７において、予め設定されている画像形成装置１０２が解釈可能なデータ形式と受信したデータのデータ形式とに基づいて、画像形成装置１０２が解釈可能なデータ形式へのエンコードが行われる。ここで、解釈可能なデータ形式は、ユーザによって操作部２１３から指定された値を画像形成装置１０２と通信することによって取得されるようにしても良い。エンコード処理は必要に応じて行われるので、エンコード処理の必要が無ければスキップするようにしても良い。エンコード処理後のデータ形式は、画像形成装置１０２が解釈可能なデータ形式であり、例えば、特定の印刷言語形式、又は、ＪＢＩＧ等特定の方法で圧縮されたデータフォーマット等、画像形成装置１０２が内蔵する解釈手段の能力によって異なっている。必要に応じてエンコード処理されたデータは、ＮＩＣ部２０５によって再びデータパケット化され、コネクタ２０２から送出される。送出されたパケットは、ネットワーク１０４を介して画像形成装置１０２に送信される。
【００１８】
データパケットを受信した画像形成装置１０２は、画像形成装置１０２が有する印刷処理手順に従って、紙などの記録媒体に印刷処理を行う。ここで、他のデータ転送方法として、エンコード部２０７からＩボード部２１５に転送され、コネクタ２０４と専用伝送路１０５を介して、コネクタを介して画像形成装置１０２に送られるようにしても良い。画像形成装置１０２から端末装置１０３に後述するリーダ部３０３からスキャンされた画像データを送信する場合には、データパケットが、ネットワーク１０４に送出され、端末装置１０３に送信される。
【００１９】
図３は、画像形成装置１０２の構成を示すブロック図である。図３に示すように、画像形成装置１０２は、本体３０１と画像入出力制御部３０５を含んでいる。本体３０１は、操作部３０２、リーダ部３０３、プリンタ部３０４を含んでいる。操作部３０２は、本体３０１及び画像入出力制御部３０５を操作する場合に用いられる。リーダ部３０３は、原稿の画像を読み取り、原稿画像に応じた画像データをプリンタ部３０４及び画像入出力制御部３０５に出力する。プリンタ部３０４は、リーダ部３０３及び画像入出力制御部３０５から受信した画像データに応じた画像を記録紙上に記録する。
【００２０】
画像入出力制御部３０５は、リーダ部３０３に接続されており、インタフェース部３０６、画像メモリ３０７、制御部３０８、ＨＤＤ３０９を含んでいる。ＨＤＤ３０９は、例えば、アドレス帳、操作履歴、ユーザ設定、ＩＤ設定、ネットワーク設定等の画像形成装置１０２の設定データを保存するハードディスクである。インタフェース部３０６は、印刷制御装置１０１と画像形成装置１０２の制御部３０８とのインタフェースである。インタフェース部３０６は、印刷制御装置１０１から転送された画像を示すコードデータをプリンタ部３０４で記録できる画像データに展開し、制御部３０８に出力する。なお、インタフェース部３０６は、イーサネット（登録商標）等のネットワークインタフェースであり、印刷制御装置１０１とネットワークを介して接続されるように構成されても良い。また、パラレルインタフェース、ＵＳＢインタフェース等が用いられて、印刷制御装置１０１とインタフェースケーブル等を介して直接接続されるように構成されてもよい。その場合に、１本ケーブルで構成されても良いし、多数のケーブルで構成されても良い。制御部３０８は、ＣＰＵ、ＲＯＭ、ＲＡＭを含んでいる。制御部３０８のＣＰＵが、ＲＯＭ又は他の記憶媒体に格納されたプログラムをＲＡＭ上にロードして実行し、リーダ部３０３、インタフェース部３０６、画像メモリ３０７等のそれぞれの間におけるデータ通信を制御する。ここで、図３において、ＨＤＤ３０９ではなく、不揮発性メモリを構成しデータを保存するようにしても良い。
【００２１】
次に、図４及び図５を参照しながら、印刷制御装置１０１と画像形成装置１０２との間におけるＳＮＭＰ通信の流れについて説明する。図４は、印刷制御装置の内部のＳＮＭＰに関係するモジュール構成を示す図である。印刷制御装置１０１は、ＳＮＭＰマネージャ４０５の機能を含んでいる。ＳＮＭＰマネージャ４０５は、ＳＮＭＰのパケットを生成し、画像形成装置１０２が保持するＭＩＢオブジェクトの値を取得することができる。また、画像形成装置１０２が保持するデータを変更することもできる。ＳＮＭＰマネージャ４０５により生成されたパケットは、ＳＮＭＰ解析部４０２に送られ、ＳＮＭＰデータをネットワークに転送するようにデータ加工される。データ加工されたＳＮＭＰデータは、プロトコル解析部４０１に送られ、ＳＮＭＰパケットのヘッダが付加され、ＮＩＣ部２０８に送られ、専用伝送路１０５を介して画像形成装置１０２に送信される。
【００２２】
図５は、画像形成装置の内部のＳＮＭＰに関係するモジュール構成を示す図である。図４の説明において送信されたＳＮＭＰパケットは、図５に示す画像形成装置１０２のインタフェース部３０６で受信する。受信されたＳＮＭＰパケットは、プロトコル解析部４０６に送られる。プロトコル解析部４０６において、受信されたＳＮＭＰパケットデータが解析され、ＳＮＭＰプロトコルのみが抽出されてＳＮＭＰ解析部４０７に送られる。プロトコル解析部４０６は、ＳＮＭＰデータ以外の通信制御用データやファイルアクセス用データ、印刷用データ等、様々なデータも扱い、各種データに応じたプロトコルを解析することができる。それらの解析の結果、適したモジュールにデータが転送されるが、それらの処理の詳細については説明を省略する。ＳＮＭＰ解析部４０７は、プロトコル解析部４０６において抽出されたＳＮＭＰパケットを解析し、パケットデータに格納されているＡＳＮ．１で記述されるＭＩＢデータを内部処理可能な形に解析する。解析されたＭＩＢデータはＳＮＭＰエージェント４０８に送られる。
【００２３】
なお、ＭＩＢのオブジェクト名は、ＩＳＯ及びＣＣＩＴＴで管理されるオブジェクトの名前空間である。ＭＩＢ４０９は、画像形成装置１０２の各種情報が格納されているデータベースであり、ＭＩＢ更新モジュール４１０は、画像形成装置１０２の各種値をＭＩＢ４０９に格納する。ＳＮＭＰエージェント４０８は、ＳＮＭＰパケットの解析により、要求されたＭＩＢ４０９に格納されているデータに対して要求された操作を行う。例えば、要求された操作が、値の取得である場合には、ＳＮＭＰエージェント４０８は、要求されたＭＩＢのオブジェクトの値をＭＩＢ４０９から取得し、返信データを作成する。また、要求された操作が、値の設定である場合には、ＳＮＭＰエージェント４０８は、ＭＩＢ４０９の値を更新し、更新処理の成功又は失敗を返り値とした返信データを作成する。
【００２４】
ＳＮＭＰエージェント４０８は、作成した返信データを、ＳＮＭＰ解析部４０７に送る。ＳＮＭＰ解析部４０７において、作成された返信データは、ＳＮＭＰにて送信可能なデータフォーマットに変換され、プロトコル解析部４０６に送られる。プロトコル解析部４０６においては、ネットワークに送信可能なパケットヘッダを付加し、インタフェース部３０６に順次送られ、印刷制御装置１０１にデータを返信する。
【００２５】
印刷制御装置１０１のＮＩＣ部２０８で受信されたネットワークパケットは、プロトコル解析部４０１、ＳＮＭＰ解析部４０２を介し、ＳＮＭＰマネージャ４０５が受信する。受信されたパケットから取得したデータは、ＳＮＭＰマネージャ４０５が要求した操作に応じて処理される。例えば、値の取得を要求していた場合には、取得が成功したか否かを判断し、成功したと判断された場合に、印刷制御装置１０１のＭＩＢ４０４に格納する。その結果、画像形成装置１０２のＭＩＢデータと印刷制御装置１０１のＭＩＢデータとを同期することができる。また、値の設定を要求していた場合には、成功したか否かが判断される。なお、ＭＩＢデータの同期を行う目的以外に、印刷制御装置１０１中の他のモジュールが画像形成装置１０２のＭＩＢデータを取得する場合があるが、本実施形態においては説明を省略する。
【００２６】
端末装置１０３は、印刷制御装置１０１のＭＩＢに格納されている値を取得する場合に、ＳＮＭＰパケットを印刷制御装置１０１に送信する。送信されたパケットが印刷制御装置１０１のＮＩＣ部２０５に到達すると、プロトコル解析部４０１、ＳＮＭＰ解析部４０２を介し、ＳＮＭＰエージェント４０３に送られる。ＳＮＭＰエージェント４０３は、端末装置１０３が要求している操作及びＭＩＢオブジェクトを解析し、ＭＩＢ４０４を操作し、要求している操作を行う。操作後、ＳＮＭＰ送信データを作成する。作成された送信データは、ＳＮＭＰ解析部４０２、プロトコル解析部４０１を介して、ＮＩＣ部２０５から端末装置１０３に返信される。
【００２７】
図６は、カウンタ情報を保持しているＭＩＢ（以下、カウンタＭＩＢともいう）のオブジェクトのテーブルの概略を示す図である。本実施形態において、ＭＩＢのオブジェクトとして、画像形成装置の内部のカウンタ情報を格納するＭＩＢオブジェクト（以下、カウンタＭＩＢオブジェクトともいう）がある。各カウンタＭＩＢオブジェクトには、印刷した紙の種類、サイズ、両面片面、白黒、カラー等が定義されているので、画像形成装置は、現在保持しているカウンタ情報を定義された各オブジェクトに格納することができる。マネージャである印刷制御装置は、そのようなＭＩＢのオブジェクトを取得することによって、画像形成装置の使用状態を確認することができ、また、課金や印刷制限を行うことができる。
【００２８】
カウンタＭＩＢには、ユーザの使用方法に応じて２種類のモードがある。１つは、「ＳｎａｐＳｈｏｔ＝ＯＦＦ」と設定されたモードである。そのモードにおいては、常に、各カウンタ情報は変動している。従って、画像形成装置１０２の内部のカウンタが変更された場合には、カウンタＭＩＢにも値が反映される。このモードは、カウンタ情報間の整合性は更新のタイミングや取得のタイミングによって保証されないが、ある一定の情報のみを取得する場合、例えば、白黒カウンタのみ取得する場合において用いられる。
【００２９】
１つは、「ＳｎａｐＳｈｏｔ＝ＯＮ」と設定されたモードである。そのモードにおいて、「ＳｎａｐＳｈｏｔ＝ＯＮ」と設定した時点で、各カウンタのＭＩＢ情報を固定する。マネージャが「ＳｎａｐＳｈｏｔ＝ＯＮ」と設定した時点における画像形成装置１０２が保持している全カウンタ情報をカウンタＭＩＢに書き出す。その場合に、再度、「ＳｎａｐＳｈｏｔ＝ＯＦＦ」と設定されたモードとならない限り変更されない。このモードは、カウンタ情報間の値の整合性が保たれるので、例えば、１日の終わりに１度全カウンタＭＩＢの情報を取得したい場合に用いられる。
【００３０】
印刷制御装置１０１が保持しているカウンタＭＩＢのオブジェクトに設定する値は、画像形成装置１０２が保持している値であるので、画像形成装置１０２から取得し、印刷制御装置１０１に値をそのまま設定する必要がある。しかしながら、画像形成装置１０２におけるカウンタＭＩＢの更新のタイミングは、「ＳｎａｐＳｈｏｔ」のモードにより異なる。既に説明したように、「ＳｎａｐＳｈｏｔ＝ＯＦＦ」の場合には動的に更新されるので、印刷制御装置１０１は、画像形成装置１０２のカウンタＭＩＢの情報を常に収集する必要がある。その場合に、印刷制御装置１０１は、画像形成装置１０２に対して一定時間毎にポーリングによる定期的な通信を実行し、このカウンタＭＩＢの同期を行わなければならない。
【００３１】
図６において「Ｃｏｕｎｔｅｒ」で示されるカウンタＭＩＢは、「ＳｎａｐＳｈｏｔ」、「ＳｎａｐＳｈｏｔＤａｔｅＴｉｍｅ」、「Ｄｉｓｐｌａｙ」、「Ｓｔａｔｉｏｎａｒｙ」の４個のオブジェクトを含んでいる。
【００３２】
ここで、それぞれのオブジェクトについて説明する。「ＳｎａｐＳｈｏｔ」は、カウンタＭＩＢの更新方法を指定するオブジェクトである。本実施形態において、ＳＮＭＰマネージャは、「ＳｎａｐＳｈｏｔ」に、値として「ｖａｌｉｄ」又は「ｉｎｖａｌｉｄ」を設定（Ｓｅｔ）することができる。ここで、ＳＮＭＰマネージャが、「ＳｎａｐＳｈｏｔ」に「Ｖａｌｉｄ」を設定すると、画像形成装置１０２は、保持しているカウンタ情報に関する値を「Ｄｉｓｐｌａｙ」と「Ｓｔａｔｉｏｎａｒｙ」に設定する。
【００３３】
「Ｄｉｓｐｌａｙ」と「Ｓｔａｔｉｏｎａｒｙ」は、画像形成装置１０２の保持しているカウンタ情報を格納するオブジェクトである。「Ｄｉｓｐｌａｙ」には、ユーザが画像形成装置１０２が保持している各種のカウンタオブジェクトから選択して、ＭＩＢオブジェクトが作成される。即ち、図６に示す「ＣｏｕｎｔｅｒＡ」〜「ＣｏｕｎｔｅｒＣ」のように、ユーザが選択したカウンタＭＩＢのオブジェクトのみが、「Ｄｉｓｐｌａｙ」の下位のオブジェクトして配置される。「Ｓｔａｔｉｏｎａｒｙ」には、画像形成装置１０２が保持しているカウンタオブジェクトから、画像形成装置１０２が選択して、ＭＩＢオブジェクトが作成される。即ち、図６に示す「Ｃｏｕｎｔｅｒ１」〜「Ｃｏｕｎｔｅｒ３」のように、「Ｓｔａｔｉｏｎａｒｙ」の下位には、いつも決まったＭＩＢのオブジェクトが配置される。
【００３４】
再び、「ＳｎａｐＳｈｏｔ」に設定する値について説明する。「ＳｎａｐＳｈｏｔ」に「ｖａｌｉｄ」が設定されると設定された時点の値が保持され、「ＳｎａｐＳｈｏｔ」の値が更新されない限り、「Ｄｉｓｐｌａｙ」、「Ｓｔａｔｉｏｎａｒｙ」の値は更新されない。一方、ＳＮＭＰマネージャが、「ＳｎａｐＳｈｏｔ」に「ｉｎｖａｌｉｄ」を設定すると、画像形成装置１０２は、画像形成装置１０２自身のカウンタ情報に関する値が変更された場合に、「Ｄｉｓｐｌａｙ」、「Ｓｔａｔｉｏｎａｒｙ」の値が更新される。即ち、「ＳｎａｐＳｈｏｔ」に「ｉｎｖａｌｉｄ」が設定されると、図６に示すカウンタＭＩＢが、動的に更新される状態となる。また、ＳＮＭＰマネージャは、「ＳｎａｐＳｈｏｔ」の値を取得（Ｇｅｔ）することもできる。
【００３５】
「ＳｎａｐＳｈｏｔＤａｔｅＴｉｍｅ」は、ＳＮＭＰマネージャが「ＳｎａｐＳｈｏｔ」に「ｖａｌｉｄ」を設定した時間を格納するオブジェクトである。「ＳｎａｐＳｈｏｔＤａｔｅＴｉｍｅ」は画像形成装置１０２によって値が設定されるので、ＳＮＭＰマネージャは、値を取得（Ｇｅｔ）することはできるが、設定（Ｓｅｔ）することはできない。
【００３６】
次に、本実施形態における印刷制御装置１０１の起動処理について説明する。図７は、本実施形態における印刷制御装置の起動処理の手順を示すフローチャートである。まず、印刷制御装置１０１が起動し、ステップＳ７０１において、印刷制御装置１０１と接続される画像形成装置１０２が探索される。画像形成装置１０２の探索は、例えば、Ｐｉｎｇや独自プロトコルやＳＮＭＰ等によって、又は、それらが組み合わせられて行なわれる。画像形成装置１０２が発見されると、ステップＳ７０２に進み、画像形成装置１０２からカウンタＭＩＢのオブジェクトの値を取得する。例えば、ＳＮＭＰプロトコルのＧｅｔオペレーション（ＧｅｔＲｅｑｕｅｓｔやＧｅｔＮｅｘｔＲｅｑｕｅｓｔ等）が用いられて画像形成装置からオブジェクトの値が取得される。次に、ステップＳ７０３において、カウンタＭＩＢのオブジェクトの値が正しく取得されたか否かが判定される。ここで、取得されたと判定された場合には、ステップＳ７０４に進む。一方、ステップＳ７０３において、画像形成装置１０２から取得されなかったと判定された場合には、ステップＳ７０６に進む。ステップＳ７０３の判定は、例えば、Ｇｅｔオペレーションが成功したか否かに基づいて判定されても良い。ステップＳ７０４において、画像形成装置１０２から取得されたＭＩＢオブジェクトと、同じＭＩＢオブジェクトを印刷制御装置１０１に作成する。ステップＳ７０５において、ステップＳ７０２で画像形成装置１０２から取得された値が、ステップＳ７０４で印刷制御装置１０１に作成されたＭＩＢオブジェクトの値として設定される。次に、ステップＳ７０６において、印刷制御装置１０１に作成する必要があるカウンタＭＩＢのオブジェクトについて、全ての処理が終了したか否かが判定される。ここで、全てのＭＩＢオブジェクトが作成されたと判定された場合には、ステップＳ７０７に進む。一方、全てのＭＩＢオブジェクトが作成されていないと判定された場合には、次のオブジェクトを指定して、ステップＳ７０２に戻る。即ち、ステップＳ７０２〜Ｓ７０５を繰り返すことによって、画像形成装置１０２に構成されている全てのＭＩＢオブジェクトを、印刷制御装置１０１に作成する。印刷制御装置１０１に画像形成装置１０２の全てのＭＩＢオブジェクトが作成されると、ステップＳ７０７に進み、本起動処理を終了し、印刷制御装置１０１のカウンタＭＩＢの変更の待ち受けの状態となる。
【００３７】
本フローチャート示す手順によって、印刷制御装置１０１に画像形成装置１０２の全てのＭＩＢオブジェクトが作成され、本実施形態に係るＭＩＢの更新（アップデート）を行う状態となる。例えば、画像形成装置１０２から取得されたＭＩＢオブジェクト「ＳｎａｐＳｈｏｔ」の値が「ｖａｌｉｄ」である場合には、印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」に「ｖａｌｉｄ」が設定されている。更に、その場合に、「ＳｎａｐＳｈｏｔＤａｔａＴｉｍｅ」には、画像形成装置１０２の「ＳｎａｐＳｈｏｔ」に「Ｖａｌｉｄ」が書き込まれた時刻情報が設定されている。一方、画像形成装置１０２から取得された値が「ｉｎｖａｌｉｄ」である場合には、印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」に「ｉｎｖａｌｉｄ」が設定されている。
【００３８】
次に、本実施形態における印刷制御装置１０１のカウンタＭＩＢのアップデート方法について説明する。図８は、本実施形態における印刷制御装置のカウンタＭＩＢのアップデート処理の手順を示すフローチャートである。図７に示すように印刷制御装置１０１の起動処理が終了し、イベント待ち受け開始の状態となると、ステップＳ８０１において、印刷制御装置１０１のカウンタＭＩＢをアップデートするトリガとなるイベントが発生したか否かが判定される。本実施形態においては、印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」に値がＳｅｔされたイベント、ポーリング時間が経過したか否かを示すイベント、又は、印刷ジョブが投入されたというイベントとを待ち受ける。いずれかのイベントが発生した場合に、ステップＳ８０２に進む。一方、待ち受けているイベントが発生しない限り、ステップＳ８０１においてこれらのイベントを待ち続ける。
【００３９】
ステップＳ８０２において、「ＳｎａｐＳｈｏｔ」に値がＳｅｔされたイベントが発生したか否かが判定される。ここで、「ＳｎａｐＳｈｏｔ」に値がＳｅｔされたイベントが発生したと判定されると、ステップＳ８０３に進み、一方、イベントが発生しなかったと判定された場合には、ステップＳ８１５に進む。ステップＳ８０３において、印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」にＳｅｔされた値が「Ｖａｌｉｄ」又は「Ｉｎｖａｌｉｄ」であるかが判定される。ここで、Ｓｅｔされた値が「ｉｎｖａｌｉｄ」である場合には、ステップＳ８０４に進む。ステップＳ８０４においては、カウンタＭＩＢポーリングをＯＮとする。カウンタＭＩＢポーリングをＯＮとすることによって、印刷制御装置１０１は、画像形成装置１０２のカウンタＭＩＢを一定時間間隔で取り続ける。その場合に、取得する時間間隔は、予め印刷制御装置１０１に設定されていても良いし、ユーザが印刷制御装置１０１又は画像形成装置１０２のユーザインタフェースによって入力して設定するようにしても良い。また、印刷制御装置１０１の他のＭＩＢオブジェクトにポーリング時間を設定しておいても良い。ステップＳ８０４において、カウンタＭＩＢポーリングをＯＮに設定した後、ステップＳ８０５に進み、印刷制御装置１０１が画像形成装置１０２の「ＳｎａｐＳｈｏｔ」に「ｉｎｖａｌｉｄ」をＳｅｔする。ステップＳ８０５においては、画像形成装置１０２に「ｉｎｖａｌｉｄ」をＳｅｔしているが、カウンタＭＩＢポーリングを行う度に「ｖａｌｉｄ」をＳｅｔし、画像形成装置１０２の値を更新するようにしても良い。ステップＳ８０５において、画像形成装置１０２に「ｉｎｖａｌｉｄ」がＳｅｔされると、ステップＳ８０６に進む。ステップＳ８０６において、印刷制御装置１０１は、画像形成装置１０２のカウンタＭＩＢの値を全てＧｅｔする。値の取得に成功すると、ステップＳ８０７に進み、ステップＳ８０６において画像形成装置１０２からＧｅｔした各カウンタＭＩＢオブジェクトの有する値を、印刷制御装置１０１の同じＭＩＢオブジェクトの値に設定する。例えば、図６に示す画像形成装置１０２の「ＣｏｕｎｔｅｒＡ」であれば、印刷制御装置１０１の「ＣｏｕｎｔｅｒＡ」に値が設定される。値の設定が終了すると、ステップＳ８０１の待ち受け状態に戻り、次のイベントを待ち受ける。
【００４０】
再び、ステップＳ８０３を説明する。印刷制御装置１０１のＭＩＢオブジェクト「ＳｎａｐＳｈｏｔ」にＳｅｔされた値が「ｖａｌｉｄ」である場合には、ステップＳ８０８に進む。印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」が「ｖａｌｉｄ」にＳｅｔされた時は、カウンタＭＩＢをポーリングによって常に同期させておく必要がないので、ステップＳ８０８において、カウンタＭＩＢポーリングをＯＦＦとし、ステップＳ８０９に進む。
【００４１】
ステップＳ８０９において、印刷制御装置１０１は、画像形成装置１０２の「ＳｎａｐＳｈｏｔＤａｔｅＴｉｍｅ」をＧｅｔして、その値を保存しておく。Ｇｅｔに成功したら、ステップＳ８１０に進み、印刷制御装置１０１は、画像形成装置１０２の「ＳｎａｐＳｈｏｔ」に「ｖａｌｉｄ」をＳｅｔする。Ｓｅｔが成功したら、ステップＳ８１１に進む。ステップＳ８１１において、印刷制御装置１０１は、画像形成装置１０２の「ＳｎａｐＳｈｏｔＤａｔｅＴｉｍｅ」を、再度Ｇｅｔする。値が正常に取得されると、ステップＳ８０９において取得された値とは別に保存する。保存が終了すると、ステップＳ８１２に進み、「ＳｎａｐＳｈｏｔＤａｔｅＴｉｍｅ」の値が更新されたか否かが判定される。本実施形態においては、ステップＳ８０９とステップＳ８１１で取得された「ＳｎａｐＳｈｏｔＤａｔｅＴｉｍｅ」の値を比較し、同じであるか異なっているかを判定することによって、ステップＳ８１２の判定が行われる。ここで、値が異なっていると判定された場合には、画像形成装置１０２のカウンタＭＩＢが更新されたことになるので、ステップＳ８１３に進む。一方、値が同じであると判定された場合には、画像形成装置１０２のＭＩＢオブジェクトの値が更新されていないので、ステップＳ８１０に戻る。ステップＳ８１３において、印刷制御装置１０１は画像形成装置１０２のカウンタＭＩＢの値をＧｅｔし、ステップＳ８１４に進む。ステップＳ８１４において、画像形成装置１０２からＧｅｔした各カウンタＭＩＢの値を、印刷制御装置１０１の同じＭＩＢオブジェクトの値に設定する。例えば、図６に示す画像形成装置１０２の「ＣｏｕｎｔｅｒＡ」であれば、印刷制御装置１０１の「ＣｏｕｎｔｅｒＡ」に設定する。値の設定が終了すると、ステップＳ８０１の待ち受け状態に戻り、次のイベントを待ち受ける。
【００４２】
以上の手順により、クライアントが端末装置１０３から印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」に「Ｖａｌｉｄ」をＳｅｔした場合に、カウンタＭＩＢポーリングを行うことなく、印刷制御装置１０１のＭＩＢを更新することができる。その結果、画像形成装置１０２のカウンタＭＩＢが静的に更新される場合において、ポーリングが行われないので、印刷制御装置１０１と画像形成装置１０２との間のネットワーク負荷を低減することができる。
【００４３】
再び、ステップＳ８０２について説明する。ステップＳ８０２において、「ＳｎａｐＳｈｏｔ」に値がＳｅｔされたイベントが発生したと判定されなかった場合にステップＳ８１５に進む。ステップＳ８１５において、カウンタＭＩＢを更新するためのポーリングの一定時間が経過したか否かが判定される。ここで、一定時間が経過したと判定された場合には、ステップＳ８１６に進む。ステップＳ８１６において、印刷制御装置１０１は、画像形成装置１０２のカウンタＭＩＢの値をＧｅｔする。印刷制御装置１０１は、画像形成装置１０２のカウンタＭＩＢの値を取得すると、ステップＳ９０３に進み、ステップＳ８１７において画像形成装置からＧｅｔした各カウンタＭＩＢの値を、印刷制御装置１０１の同じＭＩＢオブジェクトの値に設定する。例えば、図６に示す画像形成装置１０２のＭＩＢオブジェクト「ＣｏｕｎｔｅｒＡ」であれば、印刷制御装置１０１の「ＣｏｕｎｔｅｒＡ」に設定する。ここで、ステップＳ８１６の前に、画像形成装置１０２のＭＩＢオブジェクト「ＳｎａｐＳｈｏｔ」に「Ｖａｌｉｄ」を書き込んでも良い。即ち、画像形成装置１０２のカウンタＭＩＢを静的に更新させて、ステップＳ８０９〜Ｓ８１２を行って、画像形成装置１０２のカウンタＭＩＢの更新を確認するようにしても良い。印刷制御装置１０１のＭＩＢオブジェクトの値の設定が終了すると、ステップＳ８０１の待ち受け状態に戻り、次のイベントを待ち受ける。
【００４４】
再び、ステップＳ８１５について説明する。ステップＳ８１５において、カウンタＭＩＢを更新するためのポーリングの一定時間が経過していないと判定された場合には、ステップＳ８１８に進む。ステップＳ８１８において、印刷制御装置１０１が、端末装置１０３から印刷ジョブを投入されて印刷処理の開始通知がされることにより印刷開始状態となっているか否かが判定される。ここで、印刷開始状態となっていると判定された場合には、ステップＳ８１９に進む。一方、印刷開始状態となっていないと判定された場合には、ステップＳ８０１の待ち受け状態に戻り、次のイベントを待ち受ける。
【００４５】
ステップＳ８１９以降の処理は、印刷制御装置１０１がポーリングの一定時間内で印刷開始状態となった場合のカウンタＭＩＢの同期フローである。従って、印刷制御装置１０１のＭＩＢオブジェクト「ＳｎａｐＳｈｏｔ」に「ｉｎｖａｌｉｄ」が設定されている場合が対象となる。「Ｓｎａｐｓｈｏｔ」の値が「ｖａｌｉｄ」の場合は、同期する必要がないので印刷中の同期処理は必要ない。即ち、印刷制御装置１０１は、印刷中に印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」に「ｖａｌｉｄ」がＳｅｔされた場合には、画像形成装置１０２との同期処理を実行しなくても良い。従って、ステップＳ８１９において、印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」の値が「ｖａｌｉｄ」の場合には、ステップＳ８０１の待ち受け状態に戻り、次のイベントを待ち受ける。
【００４６】
一方、ステップＳ８１９において、印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」の値が「ｉｎｖａｌｉｄ」である場合には、ステップＳ８２０に進む。ステップＳ８２０において、カウンタＭＩＢポーリングをＯＦＦとし、ポーリングを停止する。次に、ステップＳ８２１において、印刷制御装置１０１は、画像形成装置１０２のカウンタＭＩＢの値をＧｅｔする。値の取得に成功したら、ステップＳ８２２に進み、ステップＳ８２１において画像形成装置１０２からＧｅｔした各カウンタＭＩＢの値を、印刷制御装置１０１の同じＭＩＢオブジェクトの値に設定する。例えば、図６に示す画像形成装置１０２の「ＣｏｕｎｔｅｒＡ」であれば、印刷制御装置１０１の「ＣｏｕｎｔｅｒＡ」に設定する。図８に示すように、ステップＳ８２１及びＳ８２２において、一度、画像形成装置１０２のカウンタＭＩＢとの値の同期を行っている。しかしながら、図７に示す起動処理において、印刷制御装置１０１に画像形成装置１０２のカウンタＭＩＢを作成しているので、ステップＳ８２１及び８２２はなくても良い。同期が終了すると、ステップＳ８２３に進む。
【００４７】
ステップＳ８２３において、印刷制御装置１０１は、画像形成装置１０２が送信するイベントパケットを待ち受ける。印刷制御装置１０１は、端末装置１０３より送信された印刷ジョブを受信すると、この印刷ジョブを画像形成装置１０２に送信するデータ形式に変更する処理を行い、印刷ジョブを画像形成装置１０２に送信する。印刷制御装置１０１は、印刷制御装置１０１自身が送信した印刷ジョブが正常に処理されたかを追跡して確認するために、画像形成装置１０２にイベントの送信を設定する。画像形成装置１０２がジョブ処理で発生する各種イベントを印刷制御装置１０１に通知するために、印刷制御装置１０１は、イベントの通知先と通知するイベントを画像形成装置１０２に予め設定しておく。本実施形態においては、画像形成装置１０２が、１ジョブを終了した時とジョブ中に１枚排紙した時にイベントの通知を印刷制御装置１０１に行うように指定されている。ステップＳ８２３において、印刷制御装置１０１は、画像形成装置１０２から送信されるイベントパケット（以下、イベントとする）を待ち受ける。即ち、イベントパケットとは、印刷ジョブの処理状況を示すパケットともいえる。このイベントの待ち受けは、通常、印刷制御装置１０１の印刷タスクにより行われているので、低レイヤネットワークからコピーして取得するか、印刷制御装置１０１の印刷プロセスからイベント内のデータを取得することにより実現される。ステップＳ８２３において印刷制御装置１０１が画像形成装置１０２から送信されたイベントを取得すると、ステップＳ８２４に進み、取得したイベントが１ページの印刷の終了を表すイベントか否かが判定される。ここで、１ページが終了したイベントであると判定された場合には、ステップＳ８２５に進む。ステップＳ８２５において、イベントパケットから印刷結果の情報が取得される。
【００４８】
ここで、画像形成装置１０２が送信するイベントパケットの構造について説明する。図９は、１ページ終了後に画像形成装置が送信するイベントパケットの構造例を示す図である。図９に示すように、イベントパケットには、ジョブＩＤ（印刷ジョブのＩＤ）、全印刷枚数（全印刷枚数）、印刷枚数（印刷済み枚数）の情報が含まれている。また、他に、印刷方法（ＰＤＬ／ＣＯＰＹ等）、面数(面付け数)、全面数（全体の面付け数）、カラーモード（白黒／カラー等）、印刷サイズ（Ａ４等）の情報が含まれている。図９に示す各項目の値は、印刷プロセスによって自由に設定されることができる。
【００４９】
再び、図８を説明する。ステップＳ８２５において、情報の取得が終了すると、ステップＳ８２６に進む。ステップＳ８２６において、イベントパケットから取得した情報により、印刷制御装置１０１のカウンタＭＩＢのどの値を更新するかを求める。図９に示すイベントを取得した場合には、カウンタＭＩＢは、Ｔｏｔａｌカウント、白黒カウント、ラージカウンタ、両面トータル、ＰＤＬカウントをインクリメントして更新する。例えば、取得されたイベントの印刷済み枚数が、現在、印刷制御装置１０１に保持されている枚数より大きいのであれば、そのインクリメント分が求められる。そのようにして、どのカウンタＭＩＢオブジェクトをどの程度、更新するべきかが計算された後、ステップＳ８２７に進む。ステップＳ８２７において、ステップＳ８２６で求められた結果より、印刷制御装置１０１のカウンタＭＩＢの値を更新する。全てのカウンタＭＩＢの値を更新した後、ステップＳ８２３に戻り、画像形成装置１０２から送信される次のイベントパケットを待ち受ける。
【００５０】
一方、ステップＳ８２４において取得したイベントが、１ページが終了したイベントでない場合には、ステップＳ８２８に進む。ステップＳ８２８においては、取得したイベントが、印刷ジョブの終了した旨を示す情報であるか否かが判定される。ここで、印刷ジョブの終了した旨を示す情報であると判定されることで印刷ジョブに基づく処理の終了通知がされた場合には、ステップＳ８２９に進む。ステップＳ８２９において、ステップＳ８２０においてＯＦＦとされたカウンタＭＩＢポーリングを再びＯＮに戻して再開し、ステップＳ８０１の待ち受け状態に戻り、次のイベントを待ち受ける。また、ステップＳ８２８において、印刷終了のイベントでないと判定された場合には、ステップＳ８２３に戻り、画像形成装置１０２が送信する次のにイベントパケットを待ち受ける。図８に示すフローチャートにおいて、ステップＳ８０２以降の処理が行われている間に、ステップＳ８０１において待ち受けているイベントが発生した場合には、該イベントを保存しておいても良い。その場合に、ステップＳ８０２以降の処理が終了しステップ８０１に戻った際に、保存されたイベントを処理する。
【００５１】
以上のように、本実施形態においては、印刷制御装置１０１が、画像形成装置１０２とカウンタＭＩＢの同期をとるための定期的なカウンタ情報の取得（ポーリング）を行っている際に印刷ジョブが投入されると、一旦、そのカウンタ情報の取得を停止する。その場合に、印刷制御装置１０１は、画像形成装置１０２から送信されるイベントの情報を利用して、印刷制御装置１０１のＭＩＢオブジェクトの値を更新する。その結果、印刷制御装置１０１と画像形成装置１０２との間の印刷パフォーマンスを低下させることなく、印刷制御装置のＭＩＢ情報を柔軟に更新することができる。
【００５２】
次に、印刷制御装置１０１のトナー残量、紙残量等、消耗品関連のＭＩＢをアップデートする方法について説明する。図１０は、第２の実施形態におけるＭＩＢをアップデートする処理の手順を示すフローチャートである。トナー残量については、オブジェクト「ｐｒｔＭａｒｋｅｒＬｉｆｅＣｏｕｎｔ」に設定され、紙残量については、オブジェクト「ＰｒｔＩｎｐｕｔＣｕｒｒｅｎｔＬｅｖｅｌ」に設定されている。図７に示す起動処理が終了し、待ち受け開始の状態となると、ステップＳ１００１において、印刷制御装置１０１のＭＩＢをアップデートするトリガとなるイベントが発生したか否かが判定される。本実施形態においては、印刷制御装置１０１のポーリング時間が経過したか否かを示すイベント、又は、印刷ジョブが投入されたというイベントとを待ち受ける。いずれかのイベントが発生した場合に、ステップＳ１００２に進む。一方、待ち受けているイベントが発生しない限り、ステップＳ１００１においてこれらのイベントを待ち続ける。
【００５３】
ステップＳ１００２において、ＭＩＢを同期するためのポーリングの一定時間が経過したか否かが判定される。ここで、一定時間が経過したと判定された場合には、ステップＳ１００３に進む。ステップＳ１００３において、印刷制御装置１０１は、画像形成装置１０２のＭＩＢ値をＧｅｔする。値を取得すると、ステップＳ１００４に進み、ステップＳ１００３において画像形成装置１０２からＧｅｔした各ＭＩＢオブジェクトの値を、印刷制御装置１０１の同じオブジェクトの値に設定する。例えば、画像形成装置１０２のＭＩＢオブジェクト「ＰｒｔＭａｒｋｅｒＬｉｆｅＣｏｕｎｔ．１．１」であれば、印刷制御装置１０１のＭＩＢオブジェクト「ＰｒｔＭａｒｋｅｒＬｉｆｅＣｏｕｎｔ．１．１」に設定する。ＭＩＢの値の設定が終了すると、ステップＳ１００１に戻り、次のイベントを待ち受ける。
【００５４】
ステップＳ１００２において、ＭＩＢの更新のためのポーリングの一定時間が経過していないと判定された場合には、ステップＳ１００５に進む。ステップＳ１００５において、印刷制御装置１０１が、端末装置１０３から印刷ジョブを投入されて印刷状態になっているか否かが判定される。ここで、印刷状態となっていると判定された場合には、ステップＳ１００６に進む。一方、印刷状態となっていないと判定された場合には、ステップＳ１００１に戻り、次のイベントを待ち受ける。
【００５５】
ステップＳ１００６において、まず、ＭＩＢポーリングをＯＦＦとしてポーリングを停止する。ＭＩＢポーリングをＯＦＦに設定後、ステップＳ１００７に進む。ステップＳ１００７において、印刷制御装置１０１は、画像形成装置１０２のＭＩＢ値をＧｅｔする。値を取得すると、ステップＳ１００８に進む。ステップＳ１００８において、画像形成装置１０２からＧｅｔした各ＭＩＢオブジェクトの値を、印刷制御装置１０１の同じオブジェクトの値に設定する。例えば、画像形成装置１０２のＭＩＢオブジェクト「ＰｒｔＭａｒｋｅｒＬｉｆｅＣｏｕｎｔ．１．１」であれば、印刷制御装置１０１の「ＰｒｔＭａｒｋｅｒＬｉｆｅＣｏｕｎｔ．１．１」に設定する。ステップＳ１００７及びＳ１００８において、画像形成装置１０２とのＭＩＢ値の同期を行っているが、必ずしもこのフローは必要ではない。図７に示す起動処理において、印刷制御装置１０１に画像形成装置１０２のＭＩＢを作成しているので、ステップＳ１００７及び１００８はなくても良い。ステップＳ１００８において、ＭＩＢの値の同期が終了すると、ステップＳ１００９に進む。
【００５６】
ステップＳ１００９において、印刷制御装置１０１は、画像形成装置１０２が送信するイベントパケットを待ち受ける。印刷制御装置１０１は、端末装置１０３から送信された印刷ジョブを受信すると、印刷ジョブを画像形成装置１０２に送信するデータ形式に変更する処理を行い、印刷ジョブを画像形成装置１０２に送信する。印刷制御装置１０１は、送信した印刷ジョブが正常に処理されたかを追跡し確認するために、画像形成装置１０２にイベントの送信を設定する。画像形成装置１０２がジョブ処理で発生する各種イベントを印刷制御装置１０１に通知するために、印刷制御装置１０１は、イベントの通知先と通知するイベントを予め画像形成装置１０２に設定しておく。本実施形態においては、画像形成装置１０２が、１ジョブを終了した時とジョブ中に１枚排紙した際に印刷制御装置１０１にイベントの通知を行うように指定されている。
【００５７】
ステップＳ１００９において、印刷制御装置１０１は、イベントパケットを待ち受ける。このイベントの待ち受けは、通常、印刷制御装置１０１の印刷タスクにより行われるので、低レイヤネットワークからコピーして取得するか、印刷制御装置１０１の印刷プロセスからイベント内のデータを取得することができる。
【００５８】
ステップＳ１００９において画像形成装置１０２が送信したイベントを取得すると、ステップＳ１０１０に進み、取得したイベントが１ページの印刷の終了を表すイベントか否かが判定される。ここで、１ページが終了したイベントであると判定された場合には、ステップＳ１０１１に進む。ステップＳ１０１１において、イベントパケットから印刷結果の情報を取得する。画像形成装置１０２が送信するイベントパケットの構造については、図９における説明と同様である。
【００５９】
ステップＳ１０１１において情報の取得が終了すると、ステップＳ１０１２に進む。ステップＳ１０１２においては、印刷制御装置１０１のＭＩＢオブジェクトに該当する値を取得する。この取得は、ＭＩＢから取得せずに、他のデータ領域から取得するようにしても良い。
【００６０】
印刷制御装置１０１の値の取得が終了すると、ステップＳ１０１３に進む。ステップＳ１０１３において、ページ情報から設定値が計算される。ＭＩＢオブジェクト「ＰｒｔＭａｒｋｅｒＬｉｆｅＣｏｕｎｔ」は、画像形成装置１０２のトナー残量情報の値を保持している。カラーモードにより印刷するとどれだけのトナー減量が発生するかが、予め印刷制御装置１０１に設定されている。また、そのようなトナー減量についての情報は、画像形成装置１０２から取得するようにしても良い。例えば、１枚、白黒印刷を行った時の黒トナー減量が「３」の場合には、印刷制御装置１０１が保持している黒トナー残量から「３」を減算する。ＭＩＢに設定する値の計算が終了すると、ステップＳ１０１４に進む。
【００６１】
ステップＳ１０１４において、ステップＳ１０１３で計算された値を印刷制御装置１０１のＭＩＢに設定するか否かが判定される。ＭＩＢオブジェクトには、動的に値が更新されるオブジェクト（「ＰｒｔＭａｒｋｅｒＬｉｆｅＣｏｕｎｔ」）とある閾値になると更新されるオブジェクト（「ＰｒｔＩｎｐｕｔＣｕｒｒｅｎｔＬｅｖｅｌ」）とがある。前者のＭＩＢの値の場合には、ステップＳ１０１５に進む。後者の場合は、計算された値がＭＩＢの値を変化させる閾値を超えていなければ、印刷制御装置１０１のＭＩＢの値を更新せず、ステップＳ１００９に戻り、次のイベントを待ち受ける。一方、閾値になっていた場合には、ステップＳ１０１５に進む。ステップＳ１０１５においては、ステップＳ１０１４において計算された値を印刷制御装置１０１の該当するＭＩＢの値に設定し、ステップＳ１００９に戻り、次のイベントを待ち受ける。本実施形態において、閾値は、印刷制御装置１０１に予め設定されていても良いし、画像形成装置１０２から取得するようにしても良い。画像形成装置１０２の更新もある閾値によって判断されるので、実際の値と閾値の値に差異がある場合が考えられる。従って、ステップＳ１００７において、ＭＩＢに設定されている値ではなく、画像形成装置１０２の他のデータ領域に設定されている正確な値を取得するようにしても良い。
【００６２】
再び、ステップＳ１０１０について説明する。取得したイベントが、１ページが終了したイベントでないと判定された場合には、ステップＳ１０１６に進む。ステップＳ１０１６において、取得したイベントがジョブの終了イベントか否かが判定される。ここで、ジョブの終了イベントであると判定された場合には、ステップＳ１０１７に進む。ステップＳ１０１７において、ステップＳ１００６においてＯＦＦとされたＭＩＢポーリングを再びＯＮとし、ステップＳ１００１の待ち受け状態に戻り、次のイベントを待ち受ける。一方、ステップＳ１０１６において、印刷終了のイベントでないと判定された場合には、ステップＳ１００９に戻り、画像形成装置１０２が送信する次のイベントパケットを待ち受ける。
【００６３】
更に、本発明における印刷制御装置１０１は、例えば、管理対象の画像形成装置１０２が電源オフに移行（シャットダウン）する場合における機能拡張が可能である。そのような場合に、印刷制御装置１０１の「ＳｎａｐＳｈｏｔ」の値が「ｖａｌｉｄ」、「ｉｎｖａｌｉｄ」のいずれであっても、画像形成装置１０２から受信した電源オフに移行する旨の通知に応じて、画像形成装置１０２のＭＩＢ情報等の取得を行う。これは、画像形成装置１０２の電源がオフになると情報取得が行えなくなるので、最新の情報で更新しておくといったことを目的としている。
【００６４】
本発明にはプログラム（印刷制御プログラム）コードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるコンピュータ読み取り可能なメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態に係る印刷制御装置を含むデータベース同期システムの構成を示す図である。
【図２】図１に示す印刷制御装置の内部構成を示すブロック図である。
【図３】画像形成装置の構成を示すブロック図である。
【図４】ＳＮＭＰに関係する印刷制御装置のモジュール構成を示す図である。
【図５】ＳＮＭＰに関係する画像形成装置のモジュール構成を示す図である。
【図６】カウンタＭＩＢのオブジェクトのテーブルの概略を示す図である。
【図７】本実施形態における印刷制御装置の起動処理の手順を示すフローチャートである。
【図８】第１の実施形態における印刷制御装置のカウンタＭＩＢのアップデート処理の手順を示すフローチャートである。
【図９】１ページ終了後に画像形成装置が送信するイベントパケットの構造例を示す図である。
【図１０】第２の実施形態における印刷制御装置のＭＩＢをアップデートする処理の手順を示すフローチャートである。
【符号の説明】
【００６６】
１０１  印刷制御装置
１０２  画像形成装置
１０３  端末装置
１０４  ネットワーク
１０５  専用伝送路
２０２、２０３、２０４  コネクタ
２０５、２０８  ＮＩＣ部
２０６  ＲＩＰ処理部
２０７  エンコード部
２０９  ＨＤＤ部
２１０  第１メモリ部
２１１  ＣＰＵ部
２１２  第２メモリ部
２１３  操作部
２１４  表示部
２１５  Ｉボード部
３０１  本体
３０２  操作部
３０３  リーダ部
３０４  プリンタ部
３０５  画像入出力制御部
３０６  インタフェース部
３０７  画像メモリ
３０８  制御部
３０９  ＨＤＤ
４０１、４０６  プロトコル解析部
４０２、４０７  ＳＮＭＰ解析部
４０３、４０８  ＳＮＭＰエージェント
４０４、４０９  ＭＩＢ
４０５  ＳＮＭＰマネージャ
４１０  ＭＩＢ更新モジュール
【図１】
0004966876.tif 000002
【図２】
0004966876.tif 000003
【図３】
0004966876.tif 000004
【図４】
0004966876.tif 000005
【図５】
0004966876.tif 000006
【図６】
0004966876.tif 000007
【図７】
0004966876.tif 000008
【図８】
0004966876.tif 000009
【図９】
0004966876.tif 000010
【図１０】
0004966876.tif 000011