以下、図面を参照して本発明の実施の形態を説明する。
(第1の実施の形態)
図1は、本発明の一実施の形態に係る画像処理装置を含む印刷システムの構成を示す図である。印刷システム104には、LAN等のネットワーク100を通じてパソコン等の端末装置である情報処理装置101が少なくとも1つ接続される。情報処理装置101はネットワーク100上に複数存在してもよい。ユーザは情報処理装置101上でプリンタドライバや印刷管理アプリケーションを動作させる。印刷システム104は、互いに通信可能に接続される画像処理装置105と画像形成装置106とを有する。画像処理装置105と画像形成装置106とは専用のネットワークケーブル111と専用のビデオケーブル112とで接続される。画像処理装置105は、一般にはプリンタコントローラと呼ばれる装置である。画像形成装置106は画像を形成する機能を有する例えばMFP(Multi-Function Printer)である。
情報処理装置101のプリンタドライバは、印刷ジョブを作成する。画像処理装置105は情報処理装置101からネットワーク100を介して投入される印刷ジョブを解釈し、印刷ジョブから抜き出した印刷の設定をまとめた印刷データを作成する。また、画像処理装置105は同じ印刷ジョブを基に画像データを作成する。画像処理装置105はネットワークケーブル111を介して印刷データを画像形成装置106に投入する。画像形成装置106は、投入された印刷データを解釈し、ビデオケーブル112を介して画像データの投入を要求する。その要求に応じて、画像処理装置105はビデオケーブル112を介して画像データを画像形成装置106へ投入する。それぞれのデータが投入されると、印刷システム104は情報処理装置101から投入された印刷ジョブを印刷する。
また画像処理装置105は、印刷システム104を管理し、画像処理装置105の管理情報だけでなく、画像形成装置106の管理情報も統括している。本実施の形態において、管理情報には、SNMPを利用したMIBを使っている。管理情報の1つ1つはオブジェクトと呼ばれる。オブジェクトはそれぞれが別の意味を持っており、情報処理装置101のプリンタドライバ等でその意味を解釈してユーザに提示される。以降でそれぞれの装置を説明する。
図2は、情報処理装置101の内部構成(ハードウェア)を示すブロック図である。情報処理装置101は、CPU201、RAM202、プログラムROM203、ネットワークIF204、HDD205及び操作部206を備える。CPU201は、システムバス200を介して情報処理装置101内の各部の制御、演算、及び、記憶装置に格納されたプログラムの実行を行う。RAM202は装置動作時における一時記憶領域やワークメモリとして利用される。プログラムROM203には電源起動時のプログラムが格納される。ネットワークIF204はネットワーク100と低位のレベルの接続を司るネットワークインターフェースである。
HDD205は大容量の記憶装置(ハードディスク)であり、CPU201により実行される各種制御プログラムを格納している。HDD205には情報処理装置101が管理する各種設定情報を格納することができる。情報処理装置101は必要に応じてそれら設定情報をHDD205から読み出して使用したり、外部あるいは操作部206を通じて要求された設定値情報の変更をHDD205に書き込んだりすることができる。操作部206はディスプレイ、キーボード、マウスなどからなる。
図3は、情報処理装置101のソフトウェアモジュールの構成を示すブロック図である。情報処理装置101は制御部301、操作モジュール302、管理部(マネージャ)303、送受信部304、作成モジュール305を有する。各々のソフトウェアモジュールはRAM202に展開され、プログラムにより呼び出されてCPU201上で実行される。なお必要に応じてCPU201は設定情報等をHDD205に保存する。
制御部301は、操作部206を介してユーザにより入力された設定と情報処理装置101内で作られる印刷ジョブの制御とを行う。操作モジュール302は、操作部206を制御するためのソフトウェアであり、ユーザによって入力された各種操作指示を制御部301に伝えたり、操作部206が備えるディスプレイ等の表示機器に制御部301の情報を表示したりする。管理部303は、制御部301からの指示に応じて、作成モジュール305が要望する管理情報を受け取り、管理情報の取得を要求するための「取得要求」を準備する。管理部303はさらに、送受信部304を介して印刷システム104と通信する。送受信部304は、ネットワークIF204を制御するためのソフトウェアであり、印刷システム104からジョブの印刷状況を受信したり、自身以外の情報処理装置101と通信を行ったりする。
作成モジュール305は、プリンタドライバや印刷ジョブ管理アプリケーションである。本実施の形態では、作成モジュール305は、プリンタドライバの画面にて、情報処理装置101がどのように管理情報を要求するかを示す。作成モジュール305は、操作モジュール302を介したユーザの指示を基に印刷ジョブを作成し、プリント指示を行う。印刷ジョブの状況や印刷システム104の情報は、SNMPを用いて印刷システム104のMIBとパケット通信することで取得される。印刷システム104は、作成モジュール305に向けて対応しているMIBの管理情報の一覧を提示している。作成モジュール305は、この管理情報の一覧を基に印刷システム104の状態を取得し、操作モジュール302を介してユーザに印刷システム104の状態を通知する。
図4は、情報処理装置101におけるプリンタドライバのユーザインターフェース画面である。情報処理装置101からプリンタドライバにより印刷ジョブを印刷システム104に送信する行程について説明する。プリンタドライバは、プリント動作を指示するためのGUI(Graphical User Interface)であり、これを用いてユーザは所望の設定パラメータを指示して、所望の画像イメージをプリンタ等の送信先に送ることが可能となる。
このプリンタドライバのウィンドウ401の中の設定項目として、送信先選択カラム402は、ターゲットとなる出力先を選択する選択カラムであり、一般的には画像処理装置105あるいは画像形成装置106が指定される。ステータス表示403は、送信先選択カラム402で選択された出力先の状態を表示する表示部分である。ここに表示される値は、必要とする管理情報をプリンタドライバが一定時間ごとに管理部303に通知することで取得される。具体的には、本実施の形態では、管理部303が印刷システム104から取得する管理情報は、プリンタの状態を示すMIBの値(hrPrinterStatus)である。
ページ設定カラム404は、印刷ジョブの中から出力ページを選択する設定カラムであり、ここでの指定により、情報処理装置101上で動作するアプリケーションソフトで作成された画像イメージのどのページを出力するかが決定される。部数設定カラム405は部数を指定するのに用いられる。プロパティキー406は、送信先選択カラム402で選択された送信先デバイスに関する詳細設定を行うのに用いられる。ユーザは、ここをクリックすると、別画面にてそのデバイス固有の設定情報を入力し、特殊な画像処理、例えば、細かい色再現やシャープネス調整を行うことが可能となる。
所望の設定が済めば、OKキー407の押下により印刷指示が開始される。OKキー407は、管理部303が印刷システム104から取得した管理情報(hrPrinterStatus)が印刷可能状態(Idle)のときに有効となる。また、ステータス表示403がオフラインの時はOKキー407はグレーアウトとなり押すことができない。印刷指示を取り消す場合には、ユーザはキャンセルキー408により印刷を取りやめることができる。このように、情報処理装置101の作成モジュール305は、表示するユーザインターフェースごとに必要な管理情報を印刷システム104に確認し、印刷システム104と連動して動作する。
図5は、画像処理装置105の内部構成(ハードウェア)を示すブロック図である。画像処理装置105は、CPU501、RAM502、プログラムROM503、ネットワークIF504、HDD505、ビデオIF506及び操作部507を備える。CPU501は、システムバスを介して画像処理装置105内の各部の制御、演算、及び、記憶装置に格納されたプログラムの実行を行う。RAM502は装置動作時における一時記憶領域やワークメモリとして利用される。プログラムROM503には電源起動時のプログラムが格納される。ネットワークIF504は、ネットワーク100と低位のレベルの接続を司ると共に、ネットワークケーブル111との接続も司るネットワークインターフェースである。HDD505は、大容量の記憶装置であり、CPU501により実行される各種制御プログラムを格納している。HDD505には、画像処理装置105が管理する各種設定情報を格納することができる。画像処理装置105は必要に応じてそれら設定情報をHDD505から読み出して使用したり、外部あるいは操作部507を通じて要求された設定値情報の変更をHDD505に書き込んだりする。ビデオIF506はビデオケーブル112との接続を司るデータ転送インターフェースである。操作部507はモニタ、キーボード、マウスなどからなる。
図6は、画像処理装置105のソフトウェアモジュールの構成を示すブロック図である。画像処理装置105は、ジョブ制御部601、操作モジュール602、送受信部603、解釈部604、画像処理部605、送受信部606、情報制御部607、解析部608、代理部(エージェント)609、管理部(マネージャ)610、保存部611を有する。各々のソフトウェアモジュールはRAM502に展開され、プログラムにより呼び出されてCPU501上で実行される。なお必要に応じてCPU501は設定情報等をHDD505に保存する。
ジョブ制御部601は、操作部507を介してユーザにより入力された設定と情報処理装置101から送られる印刷ジョブの情報とを基に印刷ジョブの管理制御を行う。操作モジュール602は、操作部507を制御するためのソフトウェアである。操作モジュール602は、ユーザによって入力された各種操作指示をジョブ制御部601に伝えたり、タッチパネルなどの表示機器に操作モジュール602を介してジョブ制御部601の情報を表示したりする。送受信部603は、ネットワークIF504を制御するためのソフトウェアであり、各情報処理装置101や画像形成装置106と通信する。送受信部603はまた、情報処理装置101から投入される印刷ジョブをHDD505に保存したり、ジョブ解析後の印刷データをネットワークケーブル111を介して画像形成装置106に投入したりする。解釈部604はジョブ制御部601からの指示に応じて、HDD505に保存された印刷ジョブを解釈し、ジョブの設定を取得する。画像処理部605はジョブ制御部601からの指示に応じて印刷ジョブを基に画像データを作りHDD505に保存する。送受信部606はビデオIF506を制御するためのソフトウェアであり、画像処理装置105が準備した画像データをビデオケーブル112を介して画像形成装置106に送信する。
情報制御部607は、送受信部603を介して受信した管理情報の取得要求から、その種別(種類)を判別し、適切な管理元(取得先)に取得を要求するといった、管理情報の解析、判断、管理等に関する制御を行う。本実施の形態では、管理情報にはSNMPを用いたMIBが用いられる。代理部609は、情報処理装置101から送られる取得要求の問い合わせを受信するためのもので、複数の情報処理装置101からの取得要求を受信することが可能である。解析部608は、情報処理装置101から送られる取得要求から、その管理情報の種別を確認する。管理部610は、情報処理装置101からの取得要求が、画像形成装置106からの情報を取得する要求だったとき、画像形成装置106から管理情報を取得する。保存部611は、管理部610が画像形成装置106から取得した管理情報を、情報制御部607からの指示に応じてHDD505に保存する。
画像処理装置105が有する管理情報のデータベースの詳細については図10で後述する。概略としては、画像処理装置105が管理するプリンタの状態を示す管理情報をプリンタ状態「hrPrinterStatus」とする。情報処理装置101からの取得要求を受けたときに、画像形成装置106が印刷可能状態であるか、画像データを印刷しているか(印刷中)で、プリンタ状態「hrPrinterStatus」の設定が変わる。プリンタ状態「hrPrinterStatus」は、画像形成装置106から取得したプリンタの状態を示す管理情報(hrPrinterStatus)を基に設定される。画像形成装置106が印刷可能状態であったときは、プリンタ状態「hrPrinterStatus」に「Idle」が設定される。画像形成装置106が画像データを印刷しているときには、プリンタ状態「hrPrinterStatus」に「Printing」が設定される。画像処理装置105が画像形成装置106と通信できないときには、プリンタ状態「hrPrinterStatus」に「Offline」が設定される。
図7は、画像形成装置106の内部構成を示すブロック図である。画像形成装置106は、コントローラ701、プリンタエンジン702、スキャナ703、操作ユニット704を有する。プリンタエンジン702は、エンジンIF709を介して受け取った画像データを用紙に印刷する。スキャナ703は画像形成装置106の画像データ入力デバイスの1つである。入力データはリーダーIF708を介してHDD707に保存される。操作ユニット704はボタン、タッチパネルなどからなり、ユーザはこれらを用いて画像形成装置106に各種操作指示を行う。
コントローラ701は、CPU705、メモリ706、HDD707、リーダーIF708、エンジンIF709、ネットワークIF710及びビデオIF711を有する。CPU705はシステムバス712を介して画像形成装置106内の各部の制御、演算、及び、記憶装置に格納されたプログラムの実行を行う。メモリ706は装置動作時における一時記憶領域やワークメモリとして利用される。HDD707は大容量の記憶装置であり、CPU705により実行される各種制御プログラムを格納している。HDD707には、画像形成装置106が管理する各種設定情報を格納することができる。CPU705は必要に応じてそれら設定情報をHDD707から読み出して使用したり、外部あるいは操作ユニット704を通じて要求された設定値情報の変更をHDD707に書き込んだりする。ネットワークIF710は、ネットワークケーブル111と低位のレベルの接続を司り、ネットワークケーブル111を介して画像処理装置105と通信する。ビデオIF711は、画像処理装置105で形成された画像データをビデオケーブル112を介して受け取り、HDD707に保存する。エンジンIF709は、プリンタエンジン702との通信、制御を司る。
図8は、画像形成装置106のソフトウェアモジュールの構成を示すブロック図である。各々のソフトウェアモジュールはメモリ706に展開され、プログラムにより呼び出されCPU705上で実行される。なお必要に応じてCPU705は設定情報などをHDD707に保存する。画像形成装置106は、送受信部801、制御部802、解釈部803、操作モジュール804、画像処理部805、送信部806、印刷部807、制御部808、代理部(エージェント)809、解析部810及び保存部811を有する。
送受信部801は、ネットワークIF710、ビデオIF711を制御するためのソフトウェアであり、画像形成装置106に送信されてきた印刷データと画像データを受信し、HDD707に保存する。制御部802は、各ソフトウェアモジュールの動きを制御したり判断したりすることで、画像形成装置106の印刷を制御する。解釈部803は、制御部802からの指示に応じて、HDD707に保存された印刷データを解釈し、印刷データからジョブの設定を取得する。解釈部803はまた、ジョブの設定をHDD707に保存する。操作モジュール804は、ユーザによって入力された各種操作指示を制御部802に伝える。制御部802は、操作モジュール804を介してタッチパネルなどの表示機器に情報を表示する。画像処理部805は、制御部802からの指示に応じて、画像データの送信要求を画像処理装置105に送り、HDD707に保存される画像データと解釈部803によって取得されたジョブ設定とを関連付け、HDD707に保存する。
送信部806は、エンジンIF709を制御するためのソフトウェアであり、プリンタエンジン702にジョブ設定と画像データを送信する。印刷部807はプリンタエンジン702を制御するためのソフトウェアであり、プリンタエンジン702は受け取ったジョブ設定を使用して画像データを印刷する。制御部808は、送受信部801を介して受信した、画像処理装置105から送られた管理情報の取得要求から、その種別を判断し、管理制御を行う。代理部809は、画像処理装置105から送られた管理情報の取得要求を受信する。解析部810は、画像処理装置105から送られた管理情報の取得要求から、その管理情報の種別を確認する。保存部811は、制御部808を介して指示される制御部802からの指示に応じて、画像形成装置106の管理情報をHDD707に保存する。例えば、保存部811は、プリンタエンジン702が印刷可能状態になったときには、プリンタの状態を示す管理情報(hrPrinterStatus)にIdleを設定する。保存部811は、プリンタエンジン702が画像データを印刷しているときには、プリンタの状態を示す管理情報(hrPrinterStatus)にPrintingを設定する。
次に、画像処理装置105による管理情報の取得制御について、図9~図12を用いて説明する。
図9は、画像処理装置105における管理情報の取得要求の受け付け処理のフローチャートである。このフローチャートにかかわるプログラムは画像処理装置105のRAM502に展開され、CPU501により実行されることで実現される。なお、必要に応じてCPU501は設定情報などをHDD505に保存する。図9の処理は、情報処理装置101からデータを受信すると開始される。なお、ステップS903、S905、S906で、情報制御部607は、本発明における決定手段としての役割を果たす。また、ステップS904、S908、S909で、送受信部603は、本発明における送信手段としての役割を果たす。
情報処理装置101の作成モジュール305から管理情報の取得要求が画像処理装置105に投入されると、送受信部603はその取得要求を受信し、HDD505に保存する。ここで送受信部603は本発明における受信手段に該当する。ステップS901で、情報制御部607は、情報処理装置101から送信された管理情報の取得要求がHDD505に保存されたか否かを判別する。そして情報制御部607は、情報処理装置101から送信された管理情報の取得要求がHDD505に保存されるまでその判別を繰り返し、取得要求がHDD505に保存されると、処理をステップS902に進める。
ステップS902では、情報制御部607は、解析部608に上記取得要求を解析させる。具体的には、解析部608は、取得要求のデータを確認し、情報処理装置101が要望している管理情報のオブジェクトIDを取得する。解析部608は、印刷システム104が対応している全ての管理情報を管理するデータベースをHDD505に保持させている。図10は、HDD505に保持される管理情報データベースの一例を示す図である。
図10に示すデータベースにおいて管理情報は固有の番号を割り振られて管理される。この固有の番号をオブジェクトIDと呼ぶ。オブジェクトIDは「.」で区切られた数字の組み合わせからなっており、数字の先頭から順番に確認していくことによりその管理情報が何を表わすかを確認することができる。例えば、印刷システム104の名称(sysName)に関連する情報であれば「1.3.6.1.2.1.1.5」が割り当てられている。このデータベースには、印刷システム104が管理している画像処理装置105と画像形成装置106の全ての管理情報が記載されている。データベースにおいて、画像処理装置105が管理するものは値H101が「1」に設定され、画像形成装置106において管理情報の中身(値)が変化し得るものは値H102が「1」に設定されている。以降、値H102が「0」に設定された管理情報を「静的な管理情報」と称し、値H102が「1」に設定された管理情報を「動的な管理情報」と称することもある。また、このデータベースには管理情報の値H103を保存することも可能である。オブジェクトIDに付随する値H101、H102によって、対応する管理情報の種別が判別される。なお、HDD505は、画像形成装置106の管理情報の少なくとも一部と、画像処理装置105の管理情報とを記憶する、本発明における記憶手段に該当する。
図9のステップS903で、解析部608は、情報制御部607からの指示に応じて、HDD505に保存された取得要求のオブジェクトIDを解析し、それを基にデータベースを確認する。そして解析部608は、管理情報の種別が画像処理装置105の管理情報を示すか否かを判別する。値H101が「1」であるとき、管理情報の種別が画像処理装置105の管理情報を示すと判別され、値H101が「0」であるとき、管理情報の種別が画像形成装置106の管理情報を示すと判別される。
ステップS903の判別の結果、管理情報の種別が画像処理装置105の管理情報を示す(H101=1)場合は、処理をテップS904に進める。ステップS904で、情報制御部607は、HDD505のデータベースに保存されている値H103を取得し、それを代理部609に渡し、送受信部603を介して情報処理装置101へ通知(送信)する。これにより、管理情報の種別が画像処理装置105の管理情報を示す場合に、要求された管理情報がHDD505から取得される。そして、取得した管理情報が、取得要求に対する応答として情報処理装置101に送信される。その後、図9の処理は終了する。
ステップS903の判別の結果、管理情報の種別が画像形成装置106の管理情報を示す(H101=0)場合は、さらに、管理情報の種別に応じて、要求された管理情報を画像形成装置106またはHDD505のいずれから取得するかが決定される。すなわち、まず、ステップS905で、解析部608は、情報制御部607からの指示に応じて、管理情報の値が変化するものか否かを判別する。その判別の結果、管理情報の値が変化するものではない場合(H102=0)は、処理はステップS906に進む。ステップS906では、情報制御部607は、今回の要求に応じた管理情報取得が、画像処理装置105の電源が入ってから画像形成装置106との初めての管理情報取得に該当するか否かを判別する。これは送受信部603に確認することで判別され、電源オン後に画像形成装置106から管理情報の取得を1回もしていない場合は、初めての管理情報取得に該当すると判別される。
ステップS906の判別の結果、初めての管理情報取得になる場合は、ステップS907で、情報制御部607は、管理部610に画像形成装置106の管理情報の取得を依頼する。これにより、管理部610は、画像形成装置106の代理部809に、要求に応じた管理情報の取得要求を出し、画像形成装置106から管理情報を取得する。そして、ステップS908では、取得された管理情報を管理部610がHDD505に保存すると共に、管理情報を代理部609に渡し、送受信部603を介して情報処理装置101へ通知する。これにより、要求された管理情報の種別が静的な管理情報を示し且つ、電源がオンされた後の最初の管理情報の取得となる場合は、要求された管理情報が画像形成装置106から取得される。その後、図9の処理は終了する。一方、ステップS906の判別の結果、初めての管理情報取得に該当しない場合は、要求に応じた管理情報が既にHDD505に保存されていると判断できる。そこで、管理部610は、ステップS904を実行する。これにより、要求された管理情報の種別が静的な管理情報を示し且つ、HDD505に記憶されている場合は、要求された管理情報がHDD505から取得される。
ステップS905の判別の結果、管理情報の値が変化するものである場合(H102=1)は、管理部610は、処理をステップS909に進める。ステップS909では、管理部610は、情報制御部607からの指示に応じて、要求に対応する管理情報を画像形成装置106から取得すると共に、その管理情報を送受信部603を介して情報処理装置101に通知する。これにより、要求された管理情報の種別が動的な管理情報を示す場合は、要求された管理情報が画像形成装置106から取得される。
本実施の形態によれば、管理情報の種別に応じて、要求された管理情報を画像処理装置105(のHDD505)から取得するかそれとも、画像形成装置106から取得するかという取得先が決定される。そして、決定された取得先から取得した管理情報が、取得要求に対する応答として情報処理装置101に送信される。このような仕組みにより、画像処理装置105と画像形成装置106との間で繰り返される不要な管理情報の取得要求を無くすことができる。従来は、印刷ジョブが投入される度に、または定期的に、画像形成装置106に問い合わせていたが、本実施の形態では、管理情報の種別によっては問い合わせしない。よって、無駄な通信を抑制して処理負荷の軽減及び通信帯域の有効活用を図ることができる。
(第2の実施の形態)
第1の実施の形態では、情報制御部607は、情報処理装置101から管理情報の取得要求を受けると、その管理情報の種別に基づいて管理情報の取得先を決定した。特に、管理情報の種別が画像処理装置105の管理情報を示す場合は、情報制御部607は、画像形成装置106ではなく画像処理装置105から管理情報を取得した。これにより、従来の、画像処理装置105が一律に画像形成装置106から管理情報を取得するという動作を改め、管理情報の不要な取得動作を抑制した。
しかし、それでもなお、画像処理装置105と画像形成装置106との間で、不要な管理情報の取得のための通信は存在する。例えば、情報処理装置101が要求する管理情報が画像形成装置106から取得すべき管理情報であっても、さほどリアルタイム性を必要としない値の場合には、必須でない通信が発生する。そこで、第1の実施の形態に対して図11を加えて第2の実施の形態を説明する。図9については、ステップS909の処理を変更する。
図11は、第2の実施の形態における動的管理情報取得処理のフローチャートである。この処理は、図9において、ステップS909に代わるサブルーチンとして実行される。従って、主に図9及び図11を参照して動的管理情報取得処理を説明する。その他の構成は第1の実施の形態と同様である。
上述したように、情報処理装置101の作成モジュール305はプリンタドライバである。ユーザからの入力に応じて、情報処理装置101の制御部301は、作成モジュール305を起動する。作成モジュール305の動作は、印刷システム104のMIBの管理情報の一覧を基に設計される。前述したプリンタドライバは、GUI(図4)においてプロパティキー406がクリックされると、別画面にてそのデバイス固有の設定情報を表示する。この設定情報の1つに、サービスマンの名称(prtGeneralServicePerson)がある。これは、印刷システム104をメンテナンスするサービスマンの名称を規定するものであり、画像形成装置106が管理する管理情報である。画像形成装置106の制御部808は、操作モジュール804を介してユーザから入力されたサービスマンの名称を画像形成装置106の管理情報(prtGeneralServicePerson)に保存する(図10参照)。ユーザが入力するサービスマンの名称は、その性質上、印刷システム104の購入時、またはサービス担当が変わったときに変更され、さほど頻繁に変わるものではない。また、サービスマンの名称は画像形成装置106から送られてくる管理情報の中でプリンタの状態やステータス通知と比べてさほどリアルタイム性は要求されない。この管理情報は一定の間隔で確実に更新されればその価値を十分に発揮するものである。
プロパティキー406が押されたとき、プリンタドライバは別画面にサービスマンの名称を表示する。作成モジュール305は、管理部303に印刷システム104の管理情報(prtGeneralServicePerson)の取得を要求する。画像処理装置105の代理部609は、管理部303から送られる管理情報の取得要求を受信し、HDD505にその取得要求を保存する。画像処理装置105の解析部608は、情報制御部607からの指示に応じて、HDD505に保存された取得要求から管理情報を確認する。サービスマンの名称(prtGeneralServicePerson)は、画像形成装置106が管理する管理情報であり値が変化する情報でもある(図10参照)。つまり、サービスマンの名称の値H101は「0」であり値H102は「1」であるため、管理部610は情報制御部607からの指示に応じて画像形成装置106から管理情報を取得する。このように、ユーザからのプロパティキー406の入力に応じて別画面が表示される度に、管理部303はサービスマンの名称(prtGeneralServicePerson)を画像形成装置106に要求する。
このような実装にした場合、画像処理装置105と画像形成装置106との間で、不要な管理情報取得要求が起こる。第1の実施の形態においては、リアルタイム性がさほど要求されない管理情報であっても、画像形成装置106の管理情報を要求する取得要求を受けると画像処理装置105と画像形成装置106との間で取得のための通信が発生する。特に情報処理装置101がユーザからの指示によりプロパティキー406のオンオフを頻繁に繰り返すような場合、画像処理装置105の管理情報が変化していなくても、管理情報の取得が頻繁に行われ、処理負荷が大きい。
そこで、第2の実施の形態では、画像処理装置105の情報制御部607からの指示により、保存部611が画像形成装置106の管理情報をHDD505におけるデータベースの管理情報の値H103に保存する。情報処理装置101からの取得要求を受けて、保存部611が画像形成装置106の管理情報を保存した時から一定の時間が経過したときに、情報制御部607は管理情報の値H103を削除、すなわち、管理情報を消去する。さらに画像処理装置105の情報制御部607がデータベースに保存されている管理情報の値H103の有無を確認することで、画像処理装置105が画像形成装置106に頻繁に管理情報を取得しにいくことを防ぐ。これにより画像処理装置105と画像形成装置106との間に発生する必須でない通信を抑制する。
図11で、動的管理情報取得処理による管理情報の更新制御の具体例を説明する。本実施の形態では、情報制御部607はHDD505に保存されている管理情報の値H103を一定の保存時間(所定時間)が経過したときに削除する。情報制御部607は、操作モジュール602を介してユーザから入力される時間を保存時間としてHDD505に保存する。
まず、ステップS1101で、解析部608は、情報制御部607からの指示に応じて前回に情報処理装置101から送られた管理情報の取得要求で要求された管理情報が、HDD505に保存されているか否かを判別する。具体的には、解析部608は、要求された管理情報について、前回の取得要求を受けてから今回の取得要求を受けるまでの間に保存時間が経過しているかを確認することによって、要求された管理情報がHDD505に保存されているか否かを判別する。保存時間が経過していれば、要求された管理情報はHDD505から消去されているからである。なお、要求された管理情報がHDD505に保存されているかどうかを単純に判別してもよい。あるいは、ステップS1101で、保存時間が経過していたと判別された時点で、要求された管理情報の値H103を削除すると共に、要求された管理情報がHDD505に保存されていないと判別するようにしてもよい。
ステップS1101の判別の結果、要求された管理情報が、HDD505に保存されていない(保存時間が経過している)場合は、画像処理装置105は、ステップS1102、S1103で、図9のステップS907、S908と同様の処理を実行する。これにより、要求された管理情報の種別が動的な管理情報を示し且つHDD505に記憶されていない場合は、要求された管理情報が画像形成装置106から取得される。その後、図11の処理は終了する。一方、要求された管理情報が、HDD505に保存されている(保存時間が経過してない)場合は、画像処理装置105は、ステップS1104で、図9のステップS904と同様の処理を実行する。すなわち、情報制御部607は、保存部611が保存した管理情報の値H103をHDD505のデータベースから取得し、それを代理部609に渡し、送受信部603を介して情報処理装置101へ通知(送信)する。これにより、要求された管理情報の種別が動的な管理情報を示し且つHDD505に記憶されている場合は、要求された管理情報がHDD505から取得される。その後、図11の処理は終了する。
本実施の形態によれば、無駄な通信を抑制して処理負荷の軽減及び通信帯域の有効活用を図ることに関し、第1の実施の形態と同様の効果を奏することができる。特に、情報処理装置101から頻繁に送られてくる同じ管理情報の取得要求により発生する画像処理装置105と画像形成装置106との間の不要な取得要求を抑制することができる。
(第3の実施の形態)
上記第2の実施の形態では、画像処理装置105のデータベースに画像形成装置106から取得した管理情報を一定期間保持することで、情報処理装置101から頻繁に送られてくる同じ管理情報の取得要求により発生する不要な取得要求を抑制できた。しかしこの構成を実装してもなお、印刷システム104において不要な取得要求が発生する場合がある。それは、画像形成装置106の状態によっては、画像形成装置106が管理情報の値を更新していないときがあるからである。そこで、第2の実施の形態に対して図11に代えて図12を加えて第3の実施の形態を説明する。
図12は、第3の実施の形態における動的管理情報取得処理のフローチャートである。この処理は、図9において、ステップS909に代わるサブルーチンとして実行される。従って、主に図9及び図12を参照して動的管理情報取得処理を説明する。その他の構成は第2の実施の形態と同様である。
図10に一部を例示したように、印刷システム104の管理情報には、画像形成装置106の給紙段情報(prtInputMediaTable)を扱うものがある。この給紙段情報は、画像形成装置106に複数存在する給紙段の情報を示している。給紙段情報はテーブル形式で表現されており、給紙段それぞれに割り当てられたインデックスの番号をオブジェクトIDの最後に設定することで、給紙段に設定された複数の管理情報を一括して取得できるようにしている。「InputMediaWeight」は、給紙段に設定されている用紙の坪量である。「InputMediaRemainingCapacity」は、給紙段に設定されている用紙の残量である。
画像形成装置106で印刷するときに作成モジュール305から投入された印刷ジョブに設定されている給紙段から用紙が供給されるため、給紙段情報(prtInputMediaTable)が変化する可能性が高い。給紙段情報のそれぞれの値は画像形成装置106が管理する値であって変化する値でもあるため、値H101は「0」に設定され、値H102は「1」に設定されている。本実施の形態では、画像処理装置105は、画像形成装置106のプリンタの状態が印刷中であるときに、画像形成装置106から管理情報を取得する。例えば、画像形成装置106が印刷しているとき(hrPrinterStatusがPrinting)、画像形成装置106の給紙段情報(prtInputMediaTable)の値は、給紙段に載置された用紙が印刷に使われるため変化する(減少する)。この状態で、情報処理装置101から管理情報の取得要求として給紙段情報(prtInputMediaTable)の取得要求が来た場合、画像処理装置105は、画像形成装置106から、最新の管理情報を取得する。取得した値は画像処理装置105のデータベースに保存されると共に、情報処理装置101に通知される。
一方、画像形成装置106が印刷中でなく印刷可能状態のとき(hrPrinterStatusがIdle)、画像形成装置106の給紙段情報の値は変化しない。この状態で、情報処理装置101から管理情報の取得要求として給紙段情報(prtInputMediaTable)の取得要求が来た場合、画像処理装置105は、画像形成装置106の管理情報を取得しない。その代わりに、画像処理装置105はデータベースに既に保存している管理情報を、情報処理装置101に通知する。従って、画像処理装置105は、画像形成装置106の印刷状態を確認し、画像形成装置106が管理情報を更新していないときは、画像処理装置105のHDD505のデータベースに保持している値を情報処理装置101に通知する。これにより、管理情報の取得のための不要な通信が発生することを防ぐ。
図12で、動的管理情報取得処理による管理情報の更新制御の具体例を説明する。図12のステップS1201~S1203、S1208の処理は、図11のステップS1101~S1103、S1104と実質的に同様の処理となる。従って、図11に対してステップS1204~S1207を挿入したものが図12のフローチャートとなる。本実施の形態では、第2の実施の形態(図11)と同様に、情報制御部607はHDD505に保存されている管理情報の値H103を一定の保存時間(所定時間)が経過したときに削除する。情報制御部607は、操作モジュール602を介してユーザから入力される時間を保存時間としてHDD505に保存する。
ステップS1201では、解析部608は、図11のステップS1101と同様の処理を実行する。ステップS1201の判別の結果、要求された管理情報が、HDD505に保存されていない(保存時間が経過している)場合は、画像処理装置105は、ステップS1202、S1203で、図11のステップS1102、S1103と同様の処理を実行する。その後、図12の処理は終了する。一方、要求された管理情報が、HDD505に保存されている(保存時間が経過してない)場合は、ステップS1204で、情報制御部607は、プリンタの状態(印刷状態)を示す管理情報(hrPrinterStatus)を確認する。なお、SNMPを用いたMIBでは、管理情報の変化が発生したとき、代理部(SNMPエージェント)が、予め登録された管理情報管理部(SNMPマネージャ)に、変化があった管理情報を通知する仕組み(Trap)が存在する。本実施の形態では、画像形成装置106の代理部809が画像処理装置105の管理部610にプリンタの状態を示す管理情報を通知する。Trapにより通知された管理情報は、保存部611がHDD505内のデータベースに保存する。本実施の形態で、画像形成装置106がTrapで通知する値は、プリンタの状態を示す管理情報(hrPrinterStatus)だけである。
次に、ステップS1205で、情報制御部607は、ステップS1204で確認したプリンタの状態が印刷中であるか否かを判別する。その判別の結果、プリンタの状態が印刷中である場合は、画像処理装置105は、ステップS1206、S1207で、図9のステップS907、S908と同様の処理を実行する。これにより、要求された管理情報の種別が動的な管理情報を示し且つHDD505に記憶されている場合であっても、画像形成装置106が印刷中であれば、要求された管理情報が画像形成装置106から取得される。その後、図12の処理は終了する。
一方、ステップS1205の判別の結果、ステップS1204で確認したプリンタの状態が印刷中でない場合は、情報制御部607は、ステップS1208で、図11のステップS1104と同様の処理を実行する。これにより、要求された管理情報の種別が動的な管理情報を示し且つHDD505に記憶されている場合に、画像形成装置106が印刷中でないならば、要求された管理情報がHDD505から取得される。その後、図12の処理は終了する。
本実施の形態によれば、無駄な通信を抑制して処理負荷の軽減及び通信帯域の有効活用を図ることに関し、第1の実施の形態と同様の効果を奏することができる。特に、画像処理装置105は、画像形成装置106での管理情報の更新動作をプリンタの状態から判断し、管理情報を取得しても値が更新されていないと判断されるときは管理情報を画像形成装置106から取得しないようにした。これにより、画像形成装置106が管理情報の値を更新していないような場合に、画像処理装置105と画像形成装置106との間の通信帯域を一層効率的に利用できる。
なお、本実施の形態においては、画像形成装置106から取得した管理情報は画像処理装置105のデータベースに保存してから、情報処理装置101に通知するとした。しかし、これに限定されるものではなく、例えば、管理情報(hrPrinterStatus)がPrintingになったとき、データベースに保存せずに情報処理装置101に直接通知するといった方法を採用してもよい。また、本実施の形態では、画像処理装置105は、Trapで通知されるプリンタの状態が「印刷中」になったときに画像形成装置106から管理情報を取得するとした。しかしこれに限定されるものでない。例えば、プリンタの状態を定期的に取得する仕組みを画像処理装置105が有するように構成し、前回保持している値か今回取得した値がPrintingであるときに画像形成装置106から管理情報を取得するという方法を使用してもよい。
(第4の実施の形態)
SNMPを用いたMIBには、管理情報管理部(SNMPマネージャ)が管理情報を取得する仕組みが3種類存在する。その1つ目の取得方法をGetと呼び、2つ目の取得方法をGetNextと呼ぶ。GetNextは、管理情報管理部から指定されたオブジェクトIDの値の次の値を取得し通知するものである。3つ目の取得方法をGetBulkと呼ぶ。第1、第2、第3の実施の形態では、情報処理装置101から投入された取得要求(リクエスト)がGetだったときの画像処理装置105のオブジェクト取得の動作を説明した。しかし、本発明の適用は、取得要求がGetリクエストである場合に限定されず、取得要求がGetNextリクエスト、GetBulkリクエストである場合にも適用可能である。これは、既に説明した実施の形態だけでなく後述する各実施の形態にも適宜応用が可能である。
第4の実施の形態では、取得要求がGetNext、GetBulkだった場合の画像処理装置105(印刷システム104)の動きを説明する。なお、GetBulkは、比較するオブジェクトIDが、指定されたオブジェクトIDの次のオブジェクトIDであるという点でGetNextと同様の特徴を持つ。すなわち、GetBulkは、GetNextとGetNextを一定回数繰り返すものの組み合わせに相当する。そのため、GetBulkでの動作説明については詳細な説明を省略する。
図13は、HDD505に保持される管理情報データベースの一例を示す図である。図10で前述したが、画像処理装置105の解析部608は、印刷システム104が対応している全ての管理情報を管理するデータベースをHDD505に保持させている。図10では、管理情報の値H103を1つ持つオブジェクトについて説明した。図13では、1つのオブジェクトに対して複数の管理情報の値を持つオブジェクトについて示している。例えば、画像形成装置106の給紙段を示すオブジェクトは給紙段ごとに設定された用紙の種類や用紙サイズを表すことが可能である。図13で示したそれぞれの給紙段の情報を示す列を、SNMPの仕様ではインデックスと呼ぶ。解析部608は前述した例以外のオブジェクトについても複数個の管理情報の値をインデックスの番号で管理する。解析部608は、図13の左側から順に、管理情報の値H103をインデックス1、管理情報の値H104をインデックス2、管理情報の値H105をインデックス3として管理する。
それぞれの管理情報はオブジェクトIDと呼ばれる固有の番号で管理されている。この固有の番号とインデックスの番号を組み合わせることでそのインデックスの管理情報を指定することができる。例えば、hrDeviceTypeのインデックス2の値を取得するためには、オブジェクトIDとして次の取得要求を代理部609に投入すればよい。すなわち、「1.3.6.1.2.1.host(25).hrDevice(3).hrDeviceTable(2).hrDeviceEntry(1). hrDeviceType(2).インデックス番号(2)」を設定する取得要求を投入すればよい。つまり「1.3.6.1.2.1.25.3.2.1.2.2」を設定する取得要求を代理部609に投入すればよい。印刷システム104にオブジェクトID「1.3.6.1.2.1.25.3.2.1.2.2」を指定して取得要求を送ると、画像処理装置105の管理情報の値であるhrDeviceDiskStorageを取得することができる。
SNMPの仕様においてインデックスが表すものに明確な決まりがあるわけではない。情報処理装置101の作成モジュール305は管理情報の一覧情報を基にhrDeviceTypeのインデックスの値やhrDeviceDescriptionに書かれた文字列の値を取得することで、そのオブジェクトの内容を確認することが可能である。作成モジュール305は管理情報の一覧を基に、取得した内容を確認しながら次に取得するインデックスを判断していく。
本実施の形態における解析部608は、情報処理装置101に対して管理情報の値を通知するために、印刷システム104の管理情報として、画像処理装置105の管理情報と画像形成装置106の管理情報の全ての管理情報の一覧を持つ。図10、図13に示す管理情報は、画像処理装置105のHDD505に保存された画像処理装置105が持つ管理情報の値と画像形成装置106が持つ管理情報の値を持っている。これは上記各実施の形態で示したように、画像処理装置105の管理情報の一覧に、一時的に画像形成装置106の管理情報の値が保存されているためである。なお、画像処理装置105が持つ印刷システム104の管理情報の一覧の情報は画像処理装置105の管理情報の一覧だけを持つと構成してもよい。、画像処理装置105が持つ印刷システム104の管理情報の一覧の情報は画像形成装置106から取得する管理情報の一覧だけを持つ構成としてもよい。このとき、画像処理装置105は、一覧に含まれない管理情報を取得できた場合、それは画像処理装置105の管理情報であると判断し、一覧情報と別に用意した画像処理装置105の管理情報を参照する構成としてもよい。
本実施の形態では、印刷システム104が管理する管理情報の値には、画像処理装置105の管理情報と画像形成装置106の管理情報が混在している。さらにその混在はオブジェクト単位に限ったものではなく、オブジェクトやインデックスに関わらず値が混在して管理情報に存在する可能性がある。従って、解析部608は、管理情報の一覧として、インデックス単位ごとに画像処理装置105が持つ情報か、値が変化するかを調べるパラメータを有している(値H106、H107)。前述のパラメータ(値H101、H102)と同様に、データベースにおいて、画像処理装置105が管理するものは値H106が「1」に設定され、画像形成装置106において管理情報の中身(値)が変化し得るものは値H107が「1」に設定されている。以降、値H107が「0」に設定された管理情報を「静的な管理情報」と称し、値H107が「1」に設定された管理情報を「動的な管理情報」と称することもある。
図14は、代理部609(SNMPエージェント)が管理する管理情報の例を示す図である。図14で、SNMPの取得要求の動作の違いと書き込み要求を説明する。代理部609は、投入されたGetコマンドを受け付けると、指定されたオブジェクトIDの値を代理部609が管理する管理情報から取得する。Getコマンドで指定されたオブジェクトIDが「1」であった場合、代理部609はオブジェクトAの値であるインデックス1に格納された値1を取得して情報処理装置101へ返答する。インデックスを持つオブジェクトBの値であっても指定されたオブジェクトIDはインデックスの番号を含む固有の値であるため、代理部609は1つのオブジェクトIDから1つの値を取得し通知することができる。オブジェクトCのインデックス2の値を取得するためには、管理部303は代理部609に対して「2.1.2」の値を要求すればよい。代理部609は指定された「2.1.2」の値である値3を返答する。
GetNextコマンドを受け付けると、代理部609は、指定されたオブジェクトIDの値の次の値を取得する。例えば、指定されたオブジェクトIDが「1」であった場合、代理部609は管理している管理情報の中から存在する次のオブジェクトIDの値を返す。図14の場合、オブジェクトCのインデックス1の値「2.1.1」のオブジェクトIDと値2を返答する。もし、次のオブジェクトID「2.1.1」が何らかの原因で取得できない場合、代理部609は存在するオブジェクトを返答する。このとき、代理部は「2.1.2」の値が取得できれば、存在しているオブジェクトID「2.1.2」と値3を返答する。もし、以降のオブジェクトIDのすべてが存在しない場合、代理部609はNoSuchNameを返答する。
GetBulkコマンドを受け付けた場合、代理部609は設定されたオプションによって2種類の取得動作を選択的に行う。1つ目のオプションはnon-repeatersである。管理部303によってこのオプションには繰り返し取得を行わない回数が数字で設定される。このオプションが設定されていると、代理部609は、GetBulkに対して前述のGetNextの動きを行う。non-repeatersオプションに値が設定されているとき、代理部609は次のように動作する。代理部609は、取得要求に設定されているオブジェクトIDに含まれるオブジェクトIDの先頭からnon-repeatersの数だけ次のオブジェクトIDと値を管理部303へ返答する。取得要求に設定されるオブジェクトIDは複数個指定可能である。代理部609は、取得要求に指定された複数個のオブジェクトIDごとに先頭からオブジェクトを返答する。
2つ目のオプションはmax-repetitionsである。このオプションには管理部303によって取得を繰り返す回数が数字で設定される。このオプションが設定されていると、代理部609は、管理部303から指定されたオブジェクトIDの次のオブジェクトIDの値を含む、max-repetitionsで指定された回数だけ、オブジェクトIDを次のものに進めながら値を繰り返し取得する。例えばmax-repetitionsに2と書かれておりオブジェクトIDに「2.2.1」が設定されていた場合、代理部609は「2.2.2」のオブジェクトIDと値6を、続いて「2.2.3」のオブジェクトIDと値7を返答する。
これら2つのオプションは1つのGetBulkによる取得要求に一緒に設定されていても、代理部609は問題なく返答する。代理部609は、取得要求に指定された複数個のオブジェクトIDについて先頭からnon-repeatersの値の数だけ次のオブジェクトのIDと値を返答する。さらに代理部609は、以降のオブジェクトIDについてはmax-repetitionsの値だけ値を取得して返答する動作をとる。いずれのオプションの場合にも、代理部609は、オブジェクトIDの次あるいはその後の値を取得して返答することが特徴である。従って、図15のフローチャートではコマンドがGetNextである場合についてのみ説明し、コマンドがGetBulkである場合については説明を省略する。
ところで、上記各実施の形態においては、管理情報の取得要求を受信し、受信された取得要求によって要求された管理情報の種別に応じて、取得先が決定される方法を説明した。しかし、管理情報の取得要求ではなく、情報処理装置101から管理情報の書き込み要求を受信し、受信された書き込み要求によって要求された管理情報の種別に応じて書き込み先が決定される構成を採用してもよい。これは後述する各実施の形態にも適用可能である。
まず、SNMPのMIBにおいて、管理部303が代理部609に設定されている管理情報の値を変更するためには書き込み要求Set(SNMPにおけるSetリクエスト)を用いる。情報処理装置101が、画像処理装置105の代理部609が管理している管理情報の値を変更するためには、取得要求と同様に、オブジェクトIDとインデックス番号を用いて書き込み先を指定する。例えば、図14の例において、管理部303がオブジェクトEのインデックス3の値を値10から値12に書き換えるためには、オブジェクトIDとして「2.3.3」を指定し、書き込む値として値12を設定して代理部609に書き込み要求Setを投入する。
代理部609は書き込み要求Setを受信すると、オブジェクトIDを確認し、代理部609が管理する管理情報を参照し、もし、指定されたオブジェクトIDが存在すれば書き換えを行う。代理部609は書き換えが正常に終了した場合、その応答としてオブジェクトID「2.3.3」と書き込み後の値である値12を返答する。書き込みができなかった場合の代理部609の応答は条件によって異なる。MIBが読み出し専用の場合、代理部609はnoSuchNameを応答する。
このように、投入された要求で指定されたオブジェクトIDの種類が画像処理装置105の管理情報か画像形成装置106の管理情報かを判断し、管理情報を確認する宛先を切り替える仕組みは、取得要求でも書き込み要求でも同じである。従って、書き込み要求の場合の具体例の記載は省略するが、書き込み要求を受信した場合でも本発明は適用される。
図15は、GetNextに対応した動的管理情報取得処理のフローチャートである。このフローチャートにかかわるプログラムは画像処理装置105のRAM502に展開され、CPU501により実行されることで実現される。なお、必要に応じてCPU501は設定情報などをHDD505に保存する。図15の処理は、情報処理装置101からデータを受信すると開始される。
図14で説明したように、情報処理装置101から送られてくる管理情報の取得要求は複数種類存在する。取得要求がGetである場合については既に説明した。情報処理装置101が取得要求GetにオブジェクトIDを指定し投入すると、代理部609(SNMPエージェント)はそのオブジェクトIDの値が存在するかを確認する。存在すれば、代理部609はオブジェクトIDとともに管理情報の値を返答する。一方、取得要求GetNextに対しては、代理部609は、指定されたオブジェクトIDの次のオブジェクトが存在するかを確認する。代理部609が返答するオブジェクトIDと値は、取得要求に指定されたオブジェクトIDと値ではない。代理部609はオブジェクトIDに指定された次のオブジェクトIDと値を返答する。
図15のステップS1501、S1502では、情報制御部607は、図9のステップS901、S902と同様の処理を実行する。ステップS1503において、解析部608は、保存された取得要求の種類を確認し、取得要求がGetNextであるか否かを判別する。その判別の結果、取得要求がGetNextでない場合は、取得要求がGetであると判断されるので、情報制御部607は、ステップS1509(後述する図16)でGet処理を実行して、図15の処理を終了させる。一方、取得要求がGetNextである場合は、ステップS1504で、解析部608は期待オブジェクトIDを取得する。期待オブジェクトIDは、取得要求に設定されたオブジェクトIDの次のオブジェクトIDである。解析部608は管理情報データベース(図13)の一覧を参照して期待オブジェクトIDを求める。なお、前述したとおり、取得要求がGetNextまたはGetBulkの場合は情報処理装置101の管理部303が指定したオブジェクトIDの値を代理部609が返答すればよいわけではない。従って、情報処理装置101の管理部303から指定されたオブジェクトIDを判定するために、解析部608は期待オブジェクトIDを保持する。
次に、ステップS1505において、情報制御部607は、画像処理装置105内の管理情報の一覧を確認し、期待オブジェクトIDの値が画像形成装置106の情報か否かを判別する。そして、期待オブジェクトIDの値が画像形成装置106の情報でない場合は、期待オブジェクトIDが画像処理装置105の値であるので、情報制御部607は処理をステップS1508へ進める。ステップS1508では、情報制御部607は、HDD505のデータベースに保存されている値を取得し、それを代理部609に渡し、送受信部603を介して情報処理装置101へ通知(送信)する。
一方、期待オブジェクトIDの値が画像形成装置106の情報である場合は、ステップS1506において、管理部610は情報処理装置101から指定されたオブジェクトIDを指定して画像形成装置106に取得要求を行う。印刷システム104が情報処理装置101に返答する管理情報は、画像処理装置105の管理情報と画像形成装置106の管理情報を組み合わせたものである。本実施の形態では印刷システム104が情報処理装置101に伝える管理情報が、画像処理装置105の管理情報と画像形成装置106の管理情報の両者の論理和(OR)と同じである場合を想定している。印刷システム104の管理情報が、上記両者の論理和(OR)であるとすれば、上記両者に差が存在しないため、画像形成装置106から取得した返答オブジェクトIDはすべて情報処理装置101に通知しても問題ない。そこで、ステップS1507において、画像処理装置105の管理部610が画像形成装置106に確認した返答オブジェクトIDと値を、代理部609が情報処理装置101へ送受信部603を介して通知する。
図16は、図15のステップS1509で実行されるGet処理のフローチャートである。ステップS1601~S1607の処理は、図9のステップS903~S909と同様であるので、その説明を省略する。
本実施の形態によれば、無駄な通信を抑制して処理負荷の軽減及び通信帯域の有効活用を図ることに関し、第1の実施の形態と同様の効果を奏することができる。
(第5の実施の形態)
第4の実施の形態では、印刷システム104が情報処理装置101に伝える管理情報が、画像処理装置105の管理情報と画像形成装置106の管理情報の論理和(OR)と同じである場合を想定した。しかし、情報処理装置101に伝える管理情報が、上記論理和(OR)よりも小さい場合があり得る。第5の実施の形態では、このような場合も考慮して処理を分ける。
図17は、GetNextに対応した動的管理情報取得処理のフローチャートである。このフローチャートにかかわるプログラムは画像処理装置105のRAM502に展開され、CPU501により実行されることで実現される。なお、必要に応じてCPU501は設定情報などをHDD505に保存する。図17の処理は、情報処理装置101からデータを受信すると開始される。この処理では、具体的には、画像形成装置106の管理情報が、画像処理装置105が持つ管理情報とは異なるオブジェクトを持ち、印刷システム104として、代理部609が情報処理装置101にオブジェクトIDと値を返答しない場合を想定している。
ステップS1701~S1706、S1708、S1709の処理は、図15のS1501~S1506、S1508、S1509の処理と同様である。ただし、ステップS1708では、情報制御部607は、情報処理装置101の管理部303にオブジェクトIDと値を代理部609が返答したことを示す通知フラグを記録(フラグオン)する。ステップS1706の後、ステップS1707では、情報制御部607は、後述するGetNext処理(図18)を実行する。概略としては、情報制御部607は、期待オブジェクトIDと、画像形成装置106に対して画像処理装置105が行った取得要求の結果から得られた返答オブジェクトIDとを比較する。そしてその比較結果に応じて、情報制御部607は、取得要求で指定されたオブジェクトIDの返答を情報処理装置101へ行う。その動作の詳細は図18で後述する。
次に、ステップS1710において、情報制御部607は、通知フラグを確認することで、情報処理装置101から要求された取得要求に対して代理部609が値を通知したか否かを判別する。通知フラグがオンになっていると、値を通知したと判別される。その判別の結果、情報制御部607は、代理部609が値の通知をしていなければ、処理をステップS1702に戻す。これにより、解析部608は再び取得要求に指定されたオブジェクトIDの確認へ移行する。このときのオブジェクトIDには、画像形成装置106から取得した返答オブジェクトIDが割り当てられている。一方、代理部609が値の通知をしていれば、情報制御部607は、図17の処理を終了させる。
図18は、図17のステップS1707で実行されるGetNext処理のフローチャートである。ステップS1801において、画像処理装置105の情報制御部607は、画像形成装置106から返答された返答オブジェクトIDが期待オブジェクトIDと同じか否かを判別する。返答オブジェクトIDと期待オブジェクトIDとが同じである場合は、ステップS1802で、代理部609は、情報処理装置101に対して返答オブジェクトIDと値を通知する。このとき、情報制御部607は、通知フラグを記録(フラグオン)する。
一方、返答オブジェクトIDが期待オブジェクトIDと違っている場合は、ステップS1803で、情報制御部607は、返答オブジェクトIDが期待オブジェクトIDより小さい値であるか否かを判別する。前述した通り、オブジェクトIDはオブジェクトやインデックスごとに固有の値である。従って、取得された返答オブジェクトIDが想定していた期待オブジェクトIDよりも前に位置する場合、つまり返答オブジェクトIDが小さい場合、画像形成装置106だけが持つ管理情報が取得されたことになる。そこで、返答オブジェクトIDが期待オブジェクトIDより小さい値である場合は、管理部610は、印刷システム104の管理情報を取得するため、ステップS1804で、画像形成装置106から得られた返答オブジェクトIDをオブジェクトIDに入れる。その後、画像処理装置105は、ステップS1710を経て再度、画像形成装置106から値を取得する準備に移行する。
ステップS1803の判別の結果、返答オブジェクトIDが期待オブジェクトIDより小さくない場合は、画像形成装置106の管理情報からオブジェクトIDの値を取得できなかったと判断できる。そこで、管理部610は、期待オブジェクトIDとNull値を情報処理装置101に通知する。このとき、情報制御部607は、通知フラグを記録(フラグオン)する。ステップS1802、S1804、S1805の後、図18の処理は終了する。
本実施の形態によれば、無駄な通信を抑制して処理負荷の軽減及び通信帯域の有効活用を図ることに関し、第1の実施の形態と同様の効果を奏することができる。
(第6の実施の形態)
第4の実施の形態では、情報処理装置101から投入された取得要求がGetNextやGetBulkであったとき、画像処理装置105は管理情報の一覧を参照した。そして画像処理装置105は、返答されると期待されるオブジェクトIDの種類に応じて、要求された管理情報を画像処理装置105から取得するか画像形成装置106から取得するかを決定した。その際、情報処理装置101から投入された取得要求に含まれるオブジェクトIDは変更せずに、決定された装置を宛先として取得要求GetNextを行うことで、印刷システム104の管理情報を整えることが可能とされた。
しかし、印刷システム104の管理情報を整えるためには第4の実施の形態で説明した以外の方法も考えられる。第6の実施の形態では、画像処理装置105の解析部608がGetNextやGetBulkに設定されているオブジェクトIDを印刷システム104の管理情報の一覧と照らし合わせ、期待オブジェクトIDを求める。そして、管理部610は、取得要求をGetに変換して管理情報の取得を行うようにする。以下、図19でその詳細を説明する。
図19は、GetNextに対応した動的管理情報取得処理のフローチャートである。このフローチャートにかかわるプログラムは画像処理装置105のRAM502に展開され、CPU501により実行されることで実現される。なお、必要に応じてCPU501は設定情報などをHDD505に保存する。図19の処理は、情報処理装置101からデータを受信すると開始される。
ステップS1901~S1905、S1906、S1907の処理は、図17のステップS1701~S1705、S1709、S1708の処理と同様である。ステップS1908において、管理部610は、取得要求をGetに変換して、期待オブジェクトIDの値を画像形成装置106から取得する。ステップ1909において、情報制御部607は、画像形成装置106から期待オブジェクトIDが返答されたか(返答が存在するか)否かを判別する。そして、画像形成装置106から期待オブジェクトIDが返答されない場合は、ステップS1910において、情報制御部607は次のオブジェクトIDを取得するために、期待オブジェクトIDをオブジェクトIDに入れる。代理部609が情報処理装置101の管理部303にオブジェクトIDを通知していない場合、情報制御部607は後述のステップS1912で処理をステップS1902に戻す。すなわち、再度、期待オブジェクトIDが求められ、情報制御部607は管理情報の一覧を用いて判別を行う。一方、期待オブジェクトIDが返答された場合は、ステップS1911で、代理部609は、送受信部603を介して返答オブジェクトIDと値を情報処理装置101へ通知する。このとき、情報制御部607は、通知フラグを記録(フラグオン)する。
ステップS1912では、情報制御部607は、通知フラグを確認することで、情報処理装置101にオブジェクトIDと値を通知したか否かを判別する。通知フラグがオンになっていると、値を通知したと判別される。その判別の結果、情報制御部607は、代理部609が値の通知をしていなければ、処理をステップS1902に戻す。これにより、オブジェクトIDの取得が再度行われる。一方、代理部609が値の通知をしていれば、情報制御部607は、図19の処理を終了させる。
本実施の形態によれば、無駄な通信を抑制して処理負荷の軽減及び通信帯域の有効活用を図ることに関し、第1の実施の形態と同様の効果を奏することができる。
(第7の実施の形態)
第4の実施の形態では、印刷システム104が情報処理装置101に伝える管理情報が、画像処理装置105の管理情報と画像形成装置106の管理情報の論理和(OR)と同じと想定した場合のGetNextの処理を示した。第5の実施の形態では、印刷システム104の管理情報に含まれない管理情報を画像形成装置106の管理情報が持つ場合のGetNextの動作を示した。しかし、印刷システム104の管理情報と、画像処理装置105、画像形成装置106の各管理情報の関係は、それぞれのバージョンアップなどにより変化することが考えられる。そこで、第7の実施の形態では、画像処理装置105の情報制御部607が、起動時に画像形成装置106の管理情報を代理部809に確認し、印刷システム104の管理情報に含まれない画像形成装置106独自の管理情報が追加されているかを判断する。そしてその判断結果に応じて、情報制御部607は取得要求GetNextに対応する処理を決める。
図20は、印刷システム起動時における管理情報取得処理のフローチャートである。このフローチャートにかかわるプログラムは画像処理装置105のRAM502に展開され、CPU501により実行されることで実現される。なお、必要に応じてCPU501は設定情報などをHDD505に保存する。図20の処理は、画像処理装置105が起動すると開始される。
ステップS2001において、画像処理装置105の管理部610は、取得要求GetNextを用いて、画像形成装置106の代理部809から画像形成装置106の管理情報を取得する。すなわち、管理部610は、HDD505に保存されている印刷システムの管理情報の一覧から画像形成装置106の管理情報の最初のオブジェクトIDを取得し、画像形成装置106の代理部809に対して取得要求GetNextをくりかえし送信する。これにより、画像形成装置106の管理情報の一覧が取得される。
ステップ2002において、情報制御部607は、HDD505に保存されている印刷システム104の管理情報の一覧と画像形成装置106の管理情報の一覧とを比較する。そして情報制御部607は、印刷システム104に含まれない管理情報、すなわち画像形成装置106独自の管理情報が存在するかを判別する。具体的には、情報制御部607は、画像処理装置105の管理情報と画像形成装置106の管理情報の論理和(OR)と印刷システム104の管理情報の一覧とを比較し、両者に違いがあるか否かを判別する。
その判別の結果、情報制御部607は、両者に違いがある場合は、画像形成装置106の独自の管理情報が存在するので、処理をステップS2004へ進める一方、両者が同じである場合は、処理をステップS2003へ進める。ステップS2003では、情報制御部607は、前述した第4の実施の形態の処理(図15)を実行する。ステップS2004では、情報制御部607は前述した第5の実施の形態(図17)の処理を実行する。その後、図20の処理は終了する。
本実施の形態によれば、無駄な通信を抑制して処理負荷の軽減及び通信帯域の有効活用を図ることに関し、第1の実施の形態と同様の効果を奏することができる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。