(57)【要約】【課題】  機器管理装置からの取得要求に対して、複数の制御装置が持つ機器情報を重複なく一元的に管理できる形式で応答可能とする。【解決手段】  情報処理システムは、画像処理装置と、画像処理装置に接続されるとともに画像処理装置に対して処理の指示を行うコントローラとを備える。コントローラの第２の機器状態管理部は、外部の機器管理装置から機器情報の取得要求を受けたときに、画像処理装置から第１の機器情報を取得し、第１の機器情報に含まれるが第２の機器情報には含まれない機器情報を、第２の機器情報にマージして第３の機器情報を生成し、第３の機器情報を機器管理装置に出力する。【選択図】  図５
2020091370.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置と、前記画像処理装置に接続されるとともに前記画像処理装置に対して処理の指示を行うコントローラとを備える情報処理システムであって、
前記画像処理装置は、
前記画像処理装置の処理に関する機器情報である第１の機器情報を記憶する第１の記憶部と、
前記第１の機器情報を管理するとともに、前記コントローラからの要求に応じて前記第１の機器情報を出力する第１の機器状態管理部と、を備え、
前記コントローラは、
前記コントローラおよび前記画像処理装置の前記処理に関する機器情報である第２の機器情報を記憶する第２の記憶部と、
前記第２の機器情報を管理する第２の機器状態管理部と、を備え、
前記第２の機器状態管理部は、
外部の機器管理装置から機器情報の取得要求を受けたときに、前記画像処理装置から前記第１の機器情報を取得し、
前記第１の機器情報に含まれるが前記第２の機器情報には含まれない機器情報を、前記第２の機器情報にマージして第３の機器情報を生成し、
前記第３の機器情報を前記機器管理装置に出力する
ことを特徴とする情報処理システム。
【請求項２】
前記第２の機器状態管理部は、
前記画像処理装置から取得した前記第１の機器情報と、前記第２の機器情報にいずれも含まれる前記機器情報を判断し、
取得した前記第１の機器情報のうちから前記第２の機器情報に含まれる機器情報を除外し、前記第１の機器情報と前記第２の機器情報をマージする
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第２の機器状態管理部は、
前記画像処理装置から取得した前記第１の機器情報と、前記第２の機器情報にいずれも含まれる前記機器情報を判断し、
前記第２の機器情報において前記第１の機器情報と共通する機器情報が示している状態を、前記第１の機器情報に基づいて更新する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記第１の機器状態管理部は、
前記第１の機器情報のうち前記第２の機器情報においても管理される機器情報を除外して、前記コントローラに前記第１の機器情報を出力する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記第１の機器情報および第２の機器情報は、前記画像処理装置が処理するジョブに関するジョブ情報であり、前記ジョブの状態を示す情報および前記ジョブの属性を示す情報の少なくともいずれかを含む
ことを特徴とする請求項１乃至４のいずれか一項に記載の情報処理システム。
【請求項６】
前記第１の機器情報および第２の機器情報は、ＭＩＢ(Management Information Base)によって構成される
ことを特徴とする請求項５に記載の情報処理システム。
【請求項７】
画像処理装置と、前記画像処理装置に接続されるとともに前記画像処理装置に対して処理の指示を行うコントローラとを備える情報処理システムにおけるコントローラの制御方法であって、
前記コントローラは、
外部の機器管理装置から機器情報の取得要求を受けたときに、前記画像処理装置から前記画像処理装置の処理に関する前記第１の機器情報を取得する工程と、
前記第１の機器情報に含まれるが、前記コントローラおよび前記画像処理装置の前記処理に関する前記第２の機器情報には含まれない機器情報を、前記第２の機器情報にマージして第３の機器情報を生成する工程と、
前記第３の機器情報を前記機器管理装置に出力する工程と、を実行する
ことを特徴とする方法。
【請求項８】
画像処理装置と、前記画像処理装置に接続されるとともに前記画像処理装置に対して処理の指示を行うコントローラとを備える情報処理システムにおけるコントローラのプログラムであって、
前記コントローラに、
外部の機器管理装置から機器情報の取得要求を受けたときに、前記画像処理装置から前記画像処理装置の処理に関する前記第１の機器情報を取得する工程と、
前記第１の機器情報に含まれるが、前記コントローラおよび前記画像処理装置の前記処理に関する前記第２の機器情報には含まれない機器情報を、前記第２の機器情報にマージして第３の機器情報を生成する工程と、
前記第３の機器情報を前記機器管理装置に出力する工程と、を実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、コントローラの制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、画像形成装置の稼働状況を把握して印刷ジョブのスケジューリングや消耗品の管理を行うため、ＳＮＭＰ等のプロトコルを用いて画像形成装置等の各種の管理対象デバイスを管理・監視する機器管理装置が数多く普及している。
【０００３】
ネットワークに接続された管理対象デバイスをＳＮＭＰによって管理する機器管理装置は、各管理対象デバイスが持つＭＩＢと呼ばれる管理情報ベースから所望の情報を取得する。これにより、機器管理装置は、管理対象デバイスの機器構成や設定値、消耗品残量、ジョブ履歴等を含む機器情報の確認を行う。ＭＩＢ(Management Information Base)を構成する管理対象の情報は、オブジェクト識別子(OID:Object IDentifier)と呼ばれる。機器管理装置は所望のＯＩＤ単位でＭＩＢにアクセスすることで上記の機器管理を行う。また、機器管理装置は、所定の値をＯＩＤに書き込むことによって設定変更やシャットダウン等の機器操作をリモートで行うこともできる。
【０００４】
ジョブ履歴情報を管理するＭＩＢの例としては、ＲＦＣ(Request For Comment)で規定された標準ＭＩＢであるＪｏｂ  Ｍｏｎｉｔｏｒｉｎｇ  ＭＩＢ（ＪｏｂＭＩＢ）が知られている（非特許文献１参照）。ＪｏｂＭＩＢでは、処理が完了したジョブの情報に加え、デバイスが処理中のアクティブなジョブの情報や状態も取得できる。
【０００５】
一方、ＰＯＤ(Print On Demand)等の商業印刷の分野においては、高機能化および高画質化を目的として、複合機（ＭＦＰ）等の画像形成装置本体を制御するコントローラとは別に、外部コントローラを接続する構成が普及している。外部コントローラは、印刷ジョブの画像処理および管理を専用に行うコントローラであり、受信した印刷ジョブの解析を行って生成した画像データを、ネットワーク等で接続された画像形成装置に送信して出力指示を行う。これにより、画像形成装置本体では行えないような高画質の画像処理を実現している。また、上記のＭＩＢによる機器情報を管理可能に構成されている外部コントローラも広く知られている。
【０００６】
上記のような画像形成装置に複数のコントローラ（制御装置）が接続されたシステムに対する機器管理装置からの機器情報取得方法については、例えば、特許文献１に示す方法が挙げられる。
特許文献１では、第１制御装置（基本制御装置）において、要求されている機器情報を第１制御装置が記憶しているか判断し、記憶していない場合は第２制御装置である拡張制御装置に要求情報を送信する。そして、第２制御装置が保持している機器情報を第１制御装置に送信し、第１制御装置は受信した拡張制御装置の機器情報を要求元である機器管理装置に応答する。このような構成により、振分機能によって処理要求情報が振り分けされた制御装置が保持する機器情報のみならず、他の制御装置が保持している機器情報をも取得できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１４２８６１
【非特許文献】
【０００８】
【非特許文献１】ＲＦＣ２７０７  Ｊｏｂ  Ｍｏｎｉｔｏｒｉｎｇ  ＭＩＢ  Ｖ１．０
【発明の概要】
【発明が解決しようとする課題】
【０００９】
画像形成装置に複数の制御装置が接続されたシステムにおいて、システム全体としてのジョブ履歴の一元的な管理が要求される場合がある。しかし、機器情報は複数の制御装置でそれぞれ独立に管理され、各制御装置において同じ種類だが異なる内容の機器情報を保持していることもある。
そのため、機器管理装置からの取得要求に対して、複数の制御装置が持つ機器情報を重複なく一元的に管理できる形式で応答を得ることは困難であった。
【課題を解決するための手段】
【００１０】
本発明の一例である情報処理システムは、画像処理装置と、画像処理装置に接続されるとともに画像処理装置に対して処理の指示を行うコントローラとを備える。
画像処理装置は、画像処理装置の処理に関する機器情報である第１の機器情報を記憶する第１の記憶部と、第１の機器情報を管理するとともに、コントローラからの要求に応じて第１の機器情報を出力する第１の機器状態管理部と、を備える。コントローラは、コントローラおよび画像処理装置の処理に関する機器情報である第２の機器情報を記憶する第２の記憶部と、第２の機器情報を管理する第２の機器状態管理部と、を備える。
第２の機器状態管理部は、外部の機器管理装置から機器情報の取得要求を受けたときに、画像処理装置から第１の機器情報を取得し、第１の機器情報に含まれるが第２の機器情報には含まれない機器情報を、第２の機器情報にマージして第３の機器情報を生成し、第３の機器情報を機器管理装置に出力する。
【発明の効果】
【００１１】
本発明の一例である情報処理システムによれば、機器管理装置からの取得要求に対して、複数の制御装置が持つ機器情報を重複なく一元的に管理できる形式で応答することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態における情報処理システムの全体構成例を示す図である。
【図２】（Ａ）はＭＦＰのハードウェア構成例を示す図であり、（Ｂ）は外部コントローラのハードウェア構成例を示す図である。
【図３】ＭＦＰおよび外部コントローラ等のソフトウェア構成例を示す図である。
【図４】（Ａ）〜（Ｃ）は第１実施形態の機器情報（ジョブ履歴情報）の一例を示す図である。
【図５】ジョブ履歴情報の取得要求に対する応答処理の例を示すシーケンス図である。
【図６】図５に示す外部コントローラの処理手順を説明するフローチャートである。
【図７】図６のＳ６０６の処理の詳細を説明するフローチャートである。
【図８】（Ａ）〜（Ｄ）は第２実施形態の機器情報の一例を示す図である。
【図９】第２実施形態における外部コントローラの処理手順を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１４】
＜第１実施形態＞
（情報処理システムの全体構成）
図１は、本発明の一実施形態における情報処理システムの全体構成例を示す図である。図１において、外部コントローラ１０１、機器管理装置１１２およびクライアントＰＣ(Personal Computer)１１１は、それぞれ有線ＬＡＮ(Local Area Network)１１０によって接続されている。機器管理装置１１２は、ＭＩＢによる機器情報の管理を行う。
【００１５】
図１に示す外部コントローラ１０１は、ＬＡＮケーブル１１４を介してＭＦＰ(Multifunction Peripheral)１００と接続されている。
ＭＦＰ１００は、画像処理装置の一例であって、外部コントローラ１０１を経由して印刷ジョブや機器情報の取得要求を受け取る。また、ＭＦＰ１００は、外部コントローラ１０１に対して印刷完了通知や機器情報の応答を返す。また、ＭＦＰ１００は無線ＬＡＮインターフェースを備え、Ｗｉ−ＦｉＤｉｒｅｃｔ等によってモバイル端末１１３から直接印刷指示を受け付けることもできるように構成されている。さらに、ＭＦＰ１００は、スキャナおよびＦＡＸモデムを備え、スキャナやＦＡＸモデムを用いてコピージョブやＦＡＸ送受信ジョブの処理もできるように構成されている。
【００１６】
外部コントローラ１０１は、ＬＡＮ１１０を介して接続されているクライアントＰＣ１１１や他の不図示の端末から印刷ジョブを受信する。外部コントローラ１０１は、ＰＤＬ(Page Description Language)等の所定の形式に基づいて印刷ジョブの解析を行って画像データを生成し、ＬＡＮケーブル１１４を介してＭＦＰ１００に画像データを送信する。また、外部コントローラ１０１は、機器管理装置１１２からの機器情報の取得要求に応じて、外部コントローラ１０１自身が保持する機器情報を応答する。一方、外部コントローラ１０１は、所定の機器情報についてはＭＦＰ１００に対して取得要求を行い、その応答結果を参照して機器情報を更新した上で応答を返す。
【００１７】
機器管理装置１１２は、例えばＭＩＢマネージャを備えた機器管理サーバである。機器管理装置１１２は、ＬＡＮで接続された外部コントローラ１０１を含む複数のデバイス（不図示）からＭＩＢ形式の機器情報を取得し、機器管理装置１１２自身の表示部（不図示）に表示することができる。本実施形態における機器情報としては、少なくとも印刷ジョブ履歴を含むものとする。また、外部コントローラ１０１から取得した印刷ジョブ履歴には、外部コントローラ１０１を経由してＭＦＰ１００に入力された印刷ジョブ以外の印刷ジョブも含むものとする。
【００１８】
（ＭＦＰ１００のハードウェア構成）
図２（Ａ）は、ＭＦＰ１００のハードウェア構成例を示す図である。
ＭＦＰ１００は、制御部２００と、操作部２１０と、プリンタエンジン（以下、プリンタとも称する）２１１、スキャナ２１２を有する。制御部２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ＨＤＤ２０４、操作部Ｉ／Ｆ２０５、プリンタＩ／Ｆ２０６、スキャナＩ／Ｆ２０７、有線ＬＡＮ  Ｉ／Ｆ２０８、無線ＬＡＮ  Ｉ／Ｆ２０９を有する。なお、ＣＰＵは、Central Processing Unitの略であり、ＲＡＭは、Random access memoryの略である。ＲＯＭは、Read Only Memoryの略であり、ＨＤＤは、Hard Disk Driveの略である。
【００１９】
ＣＰＵ２０１を含む制御部２００は、ＭＦＰ１００全体の動作を制御する。ＣＰＵ２０１は、ＲＯＭ２０３あるいはＨＤＤ２０４に記憶された制御プログラムを読み出して実行し、通信制御や画像処理などの各種制御を行う。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等の一時領域として用いられる。ＲＯＭ２０３およびＨＤＤ２０４は、データ、各種プログラムおよび各種情報テーブルなどを記憶する不揮発性の記憶媒体である。なお、ＨＤＤ２０４は、プリントやコピー処理によって生成される画像データや、印刷ジョブ履歴を含む機器情報を一時的に記憶するためにも用いられる。
【００２０】
操作部Ｉ／Ｆ２０５は、操作部２１０と制御部２００とを接続する。操作部２１０は、入力手段および表示手段を兼ねたタッチパネルとして構成されている。したがって、操作部２１０は、ＭＦＰ１００に対する各種設定を行う設定画面や、機器情報の表示を行う表示装置として機能するとともに、ユーザからの入力を受ける。
【００２１】
プリンタＩ／Ｆ２０６は、プリンタ２１１と制御部２００とを接続する。プリンタ２１１は、プリンタＩ／Ｆ２０６を介して入力された画像データに基づいて、既知の電子写真方式により不図示の給紙カセットから給紙されたシート上に画像形成を行う。
【００２２】
スキャナＩ／Ｆ２０７は、スキャナ２１２と制御部２００とを接続する。スキャナ２１２は、載置された原稿を読み取り、画像データを生成する。スキャナ２１２が生成した画像データは、プリンタ２１１での印刷、ＨＤＤ２０４への記憶、あるいは有線ＬＡＮ  Ｉ／Ｆ２０８や無線ＬＡＮ  Ｉ／Ｆ２０９を介した外部装置への送信に供される。
【００２３】
また、ＣＰＵ２０１は、有線ＬＡＮ  Ｉ／Ｆ２０８を介して外部コントローラ１０１との通信を実現する。さらに、ＣＰＵ２０１は、無線ＬＡＮ  Ｉ／Ｆ２０９を介してモバイル端末１１３やその他の無線デバイスとの通信を実現する。
【００２４】
（外部コントローラ１０１のハードウェア構成）
図２（Ｂ）は、外部コントローラ１０１のハードウェア構成例を示す図である。
外部コントローラ１０１は、制御部２２０および操作部２２７を有する。制御部２２０は、ＣＰＵ２２１、ＲＡＭ２２２、ＲＯＭ２２３、ＨＤＤ２２４、操作部Ｉ／Ｆ２２５、有線ＬＡＮ  Ｉ／Ｆ２２６，２２８を有する。なお、図２（Ｂ）において、図２（Ａ）のＭＦＰ１００の同名の要素と同様の要素については詳細な説明を省略し、両者の間で相違する部分を主に説明する。
【００２５】
外部コントローラ１０１のＣＰＵ２２１は、ＲＯＭ２２３あるいはＨＤＤ２２４に記憶された制御プログラムを読み出して実行する。これにより、ＣＰＵ２２１は、印刷ジョブの画像処理に加え、ＭＦＰ１００への出力指示や、機器情報取得要求に応答するための通信制御を含む各種制御を実行する。
【００２６】
外部コントローラ１０１とＭＦＰ１００との相違としては、外部コントローラ１０１にはプリンタ２１１やスキャナ２１２が接続されないので、これらを接続するＩ／Ｆや制御プログラムが存在しない。一方、外部コントローラ１０１は、有線ＬＡＮ  Ｉ／Ｆを複数備え、有線ＬＡＮ  Ｉ／Ｆ２２６を介してＭＦＰと、有線ＬＡＮ  Ｉ／Ｆ２２８を介してＬＡＮ１１０とそれぞれ接続される。
なお、外部コントローラ１０１の操作部２２７は、入力手段および表示手段を兼ねたタッチパネルとして構成される。しかし、外部コントローラ１０１に表示部Ｉ／Ｆを別途設けることで、外部コントローラ１０１が外付けの表示装置を接続可能に構成されていてもよい。
【００２７】
（ＭＦＰ１００の制御部２００のソフトウェア構成）
図３は、ＭＦＰ１００および外部コントローラ１０１等のソフトウェア構成例を示す図である。図３においては、ＭＦＰ１００の制御部２００で実行されるソフトウェアの構造と、外部コントローラ１０１の制御部２２０で実行されるソフトウェアの構造とをそれぞれブロック図で示している。
【００２８】
ＭＦＰ１００の制御部２００で実行されるソフトウェアは、ＣＰＵ２０１がＲＯＭ２０３またはＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０２に読み込んだ後、プログラムが実行されることで実現される。
【００２９】
制御部２００は、操作制御部Ａ３０１、ジョブ制御部Ａ３０２、印刷処理部Ａ３０３、スキャン処理部３０４、データ記憶部Ａ３０５、ＦＡＸ処理部３０６を有する。また、制御部２００は、環境設定部Ａ３０７、ジョブ履歴管理部Ａ３０８、入出力制御部Ａ３０９、機器状態管理部Ａ３１０を有する。
【００３０】
操作制御部Ａ３０１は、操作部２１０にユーザ向けの画面イメージを表示させる。また、操作制御部Ａ３０１は、ユーザの操作を検知するとともに、画面上に表示したボタン等の画面部品に紐づけられた処理を実行する。
【００３１】
データ記憶部Ａ３０５は、ＭＦＰの他の制御部からの要求に基づき、設定値等のデータをＲＯＭ２０３やＨＤＤ２０４、あるいはＲＡＭ２０２の各記憶装置に記憶させる処理、あるいは設定値等のデータを各記憶装置から読み出す処理を行う。例えば、ユーザが何らかの機器設定を変更したい場合、操作部２１０にユーザが入力した内容を操作制御部Ａ３０１が検知し、操作制御部Ａ３０１からの要求でデータ記憶部Ａ３０５が設定値として記憶装置に記憶させる。
【００３２】
環境設定部Ａ３０７は、データ記憶部Ａ３０５によって記憶された設定値に従い、システム起動時や設定変更検出時にＩＰアドレスなどのネットワーク設定を行う。また、環境設定部Ａ３０７は、ＭＦＰ１００が備えるプリントやコピー機能のための各種設定を行う。
【００３３】
ジョブ制御部Ａ３０２は、ＭＦＰ１００が備えるコピー、プリント、ファイル送信などの機能の実行処理を、ジョブという単位で総合的に制御する。
印刷処理部Ａ３０３は、ジョブ制御部Ａ３０２からの指示に従い、受信した印刷データを解釈し画像データを生成するＰＤＬインタプリタを備える。印刷処理部Ａ３０３は、プリンタＩ／Ｆ２０６を介して紙媒体に画像を印刷することで、画像データを出力する。
スキャン処理部３０４は、ジョブ制御部Ａ３０２からの指示に従い、スキャナＩ／Ｆ２０７を介して、設置された原稿を読み込む。読み込まれた原稿は、スキャン画像としてＨＤＤ２０４に記憶される。
【００３４】
ここで、処理対象がコピー機能の印刷ジョブである場合、印刷処理部Ａ３０３は、スキャン処理部３０４が記憶したスキャン画像を読み出して紙媒体に印刷する処理を行う。また、処理対象がＦＡＸ機能の受信ジョブである場合、印刷処理部Ａ３０３は、ＦＡＸ処理部３０６が受信した画像データを読み出して紙媒体に印刷する処理を行う。
【００３５】
例えば、コピー機能を実行する場合は操作制御部Ａ３０１がコピー機能の開始要求を検知し、ジョブ制御部Ａ３０２にコピーを指示する。ジョブ制御部Ａ３０２はスキャン処理部３０４に原稿読み取りを指示し、スキャン画像を取得する。ジョブ制御部Ａ３０３は印刷処理部Ａ３０３に印刷を指示し、コピー結果として印刷された紙媒体を出力する。
【００３６】
ジョブ履歴管理部Ａ３０８は、上記のようにジョブ制御部Ａ３０２が制御したプリントやコピー等の各ジョブの履歴を管理するために、ジョブ制御部Ａ３０２からジョブ開始や終了時に受け取る通知に基づいて、ジョブ履歴情報の生成や更新処理を行う。
【００３７】
ここで、ジョブ履歴情報はＨＤＤ２０４に保持される。ジョブ履歴情報は、各印刷ジョブが持つジョブ名称や出力ページ数等のジョブ属性の他、処理開始時刻や終了時刻、ステータス、状態遷移要因などの情報を含む。ジョブ履歴情報のステータスは、処理中／完了等のジョブ状態を示し、ジョブ履歴情報の状態遷移要因は、正常終了／キャンセル操作等のイベントを示す。
【００３８】
本実施形態において制御部２００は、外部コントローラ１０１から入力された印刷ジョブに加え、モバイル端末からＷｉ−Ｆｉ経由で投入された印刷ジョブや、コピー、ＦＡＸ受信等のＭＦＰ１００が直接入力を受け付けるジョブを管理の対象とする。また、ジョブ履歴に記憶されるジョブの種類としては、上記のジョブ状態が完了を示す実行済のジョブ、上記のジョブ状態が処理中を示すカレントジョブ、印刷キューに投入されて処理開始を待機するホールド中のジョブを含む。
【００３９】
機器状態管理部Ａ３１０は、機器情報管理を行うネットワークアプリケーションである。例えば、機器状態管理部Ａ３１０は、外部コントローラ１０１からの要求に応じて、ＭＦＰ１００の機器構成や消耗品、およびジョブ履歴の情報を収集して出力する。
【００４０】
本実施形態の機器状態管理部Ａ３１０は、ＲＦＣ１１５７に定義されたＳＮＭＰプロトコルに従って、機器情報を管理情報ベース（ＭＩＢ）の形式で管理するＳＮＭＰエージェントとして構成されている。ＳＮＭＰは、Simple Network Management Protocolの略である。ここで、ＭＩＢを構成する機器情報のテーブルは、機器状態管理部Ａ３１０によってＲＡＭ２０２上に記憶される。そして、外部からの取得要求に応じて、要求に該当するＯＩＤを示す機器情報が入出力制御部Ａ３０９から応答データとして出力される。
【００４１】
一例として、機器状態管理部Ａ３１０は、“ｓｙｓＤｅｓｃｒ”というＯＩＤの取得要求（ＧｅｔＲｅｑｕｅｓｔ）を受け取ると、ＭＦＰの機種名を示す文字列として機器情報テーブル内に記憶されている該当ＭＩＢ値を取得して応答を返す。なお、上記の“ｓｙｓＤｅｓｃｒ”は、ＲＦＣ１２１３で規定された機器のシステム名称を示す文字列であり、ＭＩＢのツリー構造の位置は“１．３．６．１．２．１．１．１”と表記される。
【００４２】
また、要求された機器情報がジョブ履歴を示すＯＩＤである場合は、機器状態管理部Ａ３１０は、ジョブ履歴管理部Ａ３０８に問い合わせて得られたジョブ履歴情報に基づいてＭＩＢ形式のジョブ履歴情報（ＪｏｂＭＩＢ）を生成して応答する。ＪｏｂＭＩＢの具体例については、図４を参照して後述する。
【００４３】
（外部コントローラ１０１の制御部２２０のソフトウェア構成）
外部コントローラ１０１の制御部２２０で実行されるソフトウェアは、ＣＰＵ２２１がＲＯＭ２２３またはＨＤＤ２２４に記憶されたプログラムをＲＡＭ２２２に読み込んだ後、プログラムが実行されることで実現される。
【００４４】
図３に示す外部コントローラ１０１に関し、ＭＦＰ１００と同様の処理を行うソフトウェア要素には同様の名称を付し、名称の末尾に符号Ｂを付すことで両者を区別する。なお、図３の外部コントローラ１０１のソフトウェア要素について、ＭＦＰ１００のソフトウェア要素と共通する部分の説明は省略し、両者の間で相違する部分を主に説明する。
【００４５】
制御部２２０は、操作制御部Ｂ３２１、ジョブ制御部Ｂ３２２、印刷処理部Ｂ３２３、入出力制御部Ｂ３２４、データ記憶部Ｂ３２５、環境設定部Ｂ３２６、ジョブ履歴管理部Ｂ３２７、機器状態管理部Ｂ３２８を有する。
【００４６】
ここで、外部コントローラ１０１は、ＰＤＬによるプリント機能のみを備え、スキャナ機能およびＦＡＸ機能を備えていない。そのため、制御部２２０には、スキャン処理部３０４、ＦＡＸ処理部３０６に対応する要素は存在しない。また、データ記憶部Ｂ３２５には、スキャナ機能およびＦＡＸ機能に関連する設定値は記憶されていない。
【００４７】
ジョブ制御部Ｂ３２２は、外部コントローラ１０１が備える印刷機能の実行処理をジョブ単位で行う。
印刷処理部Ｂ３２３は、ＭＦＰ１００の印刷処理部Ａ３０３と同様に、ジョブ制御部Ｂ３２２からの指示に従って、受信した印刷データを解釈して画像データを生成するＰＤＬインタプリタを備える。しかし、印刷処理部Ｂ３２３は、入出力制御部Ｂ３２４を経由して生成した画像データをＭＦＰ１００に出力する点で、印刷処理部Ａ３０３と異なる。
【００４８】
ジョブ履歴管理部Ｂ３２７は、ジョブ制御部Ｂ３２２が制御した印刷ジョブの履歴を管理する。ジョブ履歴管理部Ｂ３２７は、外部コントローラ１０１が制御する印刷ジョブのみを管理の対象とする点で、ジョブ履歴管理部Ａ３０８と異なる。また、ジョブ履歴管理部Ｂ３２７は、画像データのＭＦＰ１００への出力処理が完了した時点で当該ジョブを完了状態に遷移するように管理する点で、ジョブ履歴管理部Ａ３０８とは管理が異なる。
【００４９】
機器状態管理部Ｂ３２８は、機器管理装置１１２からの要求に応じて外部コントローラ１０１の機器情報をＭＩＢ形式で管理するＳＮＭＰエージェントである。機器状態管理部Ｂ３２８は、ＭＦＰ１００の機器状態管理部Ａ３１０と同様に、ジョブ履歴管理部Ｂ３２７に問い合わせて得られたジョブ履歴情報に基づいてＭＩＢ形式のジョブ履歴を生成する。加えて、本実施形態の機器状態管理部Ｂ３２８は、ＭＦＰ１００に対してＪｏｂＭＩＢの取得要求を行う。そして、機器状態管理部Ｂ３２８は、その取得要求の応答として得られたＭＩＢ値を自身が管理するＪｏｂＭＩＢに加えることで、ＭＦＰ１００を含む全体のジョブ履歴の取得要求に応答する。
上記のジョブ履歴の取得応答処理の詳細は、図５〜図７を用いて後述する。
【００５０】
（機器管理装置１１２のソフトウェア構成）
また、図３に示す機器状態監視部３３０は、機器管理装置１１２上で動作するネットワークアプリケーションである。機器状態監視部３３０は、外部コントローラ１０１を含むネットワーク上に接続された機器に対し、ＳＮＭＰによるＭＩＢの取得や設定を指示し、機器管理を行うＭＩＢマネージャである。
【００５１】
（機器情報の説明）
次に、本実施形態の機器情報（ジョブ履歴情報）を詳細に説明する。
図４は、本実施形態の外部コントローラ１０１が、機器状態監視部３３０からの取得要求に応じて生成し、応答するＪｏｂＭＩＢの構成例を示している。
【００５２】
ＭＩＢによるデータ表現方法は一般的に、特定の属性を示すＯＩＤについて、管理対象となる構成をインデックスとして１つのテーブルを成す構造となる。そのため、ジョブ履歴の一覧情報についても、ある特定のジョブに関する属性を取得するには、複数のＯＩＤ別のテーブルから、当該ジョブに割り当てられるインデックスによってジョブを特定した上で、所望のジョブ属性を取得する必要がある。
ＲＦＣ２７０７で規定されるｊｏｂＭＩＢのツリー構成を以下に示す。
【００５３】
【表１】
2020091370.tif 000003
【００５４】
図４（Ａ）に示すテーブルは、ＪｏｂＭＩＢによって表現されるジョブ履歴情報のうち、アクティブなジョブを管理するためのテーブルであり、jmGeneralTableの一部を構成する。
図４（Ａ）のテーブル４０４において、カラム４０１は現在処理中のアクティブなジョブの数を示すＯＩＤ（jmGeneralNumberOfActiveJobs）である。テーブル４０４は、管理対象の単位であるジョブセット毎に割り当てられるインデックス４０２（jmGeneralJobSetIndex）によってエントリ（行）が分かれる。本実施形態の例では、外部コントローラ１０１が管理するジョブはjmGeneralJobSetIndex=100（４０５の上の行）として列挙される。同様に、ＭＦＰ１００が管理するジョブはjmGeneralJobSetIndex=101（４０５の行）として列挙されるものとする。
そして、各エントリの最後には属性値４０３が格納されている。図４（Ａ）のテーブル４０４では、外部コントローラ１０１が管理するアクティブなジョブ数は２（４０５の上の行）、ＭＦＰ１００が管理するアクティブなジョブ数は０（４０５の行）である例を示している。
【００５５】
一般的に、複数のエントリを持つＭＩＢのツリー構造上の属性値は、対象のＯＩＤに続くインデックスによってエントリを階層化し、”=”に続けて属性値を記述することでもテーブル構造を表現できる。例えば、テーブル４０４の上の行についてはjmGeneralNumberOfActiveJobs.100=2のように表現される。
【００５６】
図４（Ａ）のテーブル４０６（jmGeneralOldestActiveJobIndex）は、ＪｏｂＭＩＢ内で最も古いアクティブなジョブのインデックス（jmJobIndex）を示すＯＩＤである。
また、図４（Ａ）のテーブル４０９（jmGeneralNewestActiveJobIndex）は、ＪｏｂＭＩＢ内で最も新しいアクティブなジョブのインデックスを持つＯＩＤである。これらの管理情報についても、管理対象の単位であるジョブセット毎に割り当てられるインデックス４０２（jmGeneralJobSetIndex）によってエントリが分かれる。
【００５７】
図４（Ａ）では、外部コントローラ１０１が管理するアクティブなジョブのインデックスは１２００（４０７の行）〜１２０１（４１０の行）となる例を示している。一方、図４（Ａ）では、ＭＦＰ１００が管理するアクティブなジョブは存在せず、インデックス＝０（４０８、４１１の行）となる例を示している。
【００５８】
図４（Ｂ）は、本実施形態におけるＪｏｂＭＩＢに含まれる基本ジョブ属性のテーブルの一例を示す。図４（Ｂ）においては、テーブル４１６のカラム４１２がジョブ状態（jmJobState）を、テーブル４１７がジョブのオーナ名（jmJobOwner）の場合をそれぞれ示しており、これらはjmJobTableの一部を構成している。
【００５９】
図４（Ｂ）のジョブ属性についても、管理対象の単位であるジョブセット毎に割り当てられるインデックス４１３（jmGeneralJobSetIndex）によってエントリが分かれる。
図４（Ｂ）において、外部コントローラ１０１が管理するジョブは、jmJobIndex=1200またはjmJobIndex=1201のエントリである（テーブル４１６の上から１〜２行のカラム４１４参照）。例えば、当該エントリは、ジョブ処理中の場合は“Processing”を示す値を持つ（テーブル４１６の最上行のカラム４１５参照）。
同様に、ＭＦＰ１００が処理したジョブは非アクティブなjmJobIndex=100のエントリのみである（テーブル４１６の最下行のカラム４１４参照）。例えば、当該エントリは、正常終了を意味する“Completed”に相当する値を持つ（テーブル４１６の最下行のカラム４１５参照）。
【００６０】
なお、ジョブのインデックスjmJobIndexは、ジョブ制御部Ａ３０２またはジョブ制御部Ｂ３２２によって、ジョブ受付番号に基づいて一意となるように割り当てられる。
【００６１】
図４（Ｃ）は、その他のジョブ属性として、ジョブ種別を示す属性（jobServiceType）がＪｏｂＭＩＢを構成するテーブルの一例を示す。このテーブルは、jmAttributeTableの一部を構成している。
【００６２】
ＪｏｂＭＩＢにおいては、値の型を示す属性４１８に続き、ジョブセット４１９、ジョブを特定するためのインデックス４２０をエントリとするテーブルで表現される。属性４１８はjmAttributeValueAsIntegerであり、ジョブセット４１９はjmGeneralJobSetIndexであり、インデックス４２０はjmJobIndexである。
カラム４２２は、一つのジョブについて複数の値を持つ場合に区別するためのインデックス（jmAttributeInstanceIndex）である。カラム４２２において、ジョブ種別は各ジョブにつき単一の値となるため、jmAttributeInstanceIndexは１固定となる。
【００６３】
ここで、外部コントローラ１０１は印刷ジョブのみを管理する。そのため、図４（Ｃ）において、jmGeneralJobSetIndex=100をエントリに持つジョブ（jmJobIndex=1200およびjmJobIndex=1201）のジョブ種別は、どちらも“ｐｒｉｎｔ”を示す値を持つ。これらのジョブのジョブ種別は、テーブル４２４の上から１〜２行のカラム４２３に示される。
一方、図４（Ｃ）において、ＭＦＰ１００が管理するジョブについては、コピージョブを意味する”ｐｒｉｎｔ＋ｓｃａｎ”に相当する値を持つ例を示している（テーブル４２４の最下行のカラム４２３参照）。
【００６４】
ここで、本実施形態におけるＭＦＰ１００の機器状態管理部Ａ３１０は、外部コントローラ１０１からの機器状態の取得要求に対して、ジョブ種別に関わらず管理している全てのジョブに関するジョブ履歴情報を返す。このとき、ジョブセットは外部コントローラ１０１と区別可能なようにjmGeneralJobSetIndex=101としてジョブ履歴情報を生成する。
【００６５】
そして、外部コントローラ１０１の機器状態管理部Ｂ３２８は、ＭＦＰ１００から取得した上記のジョブ履歴情報を、自身が管理するジョブ履歴情報（jmGeneralJobSetIndex=100）に追加し、ジョブ履歴情報をマージする。機器状態管理部Ｂ３２８は、機器状態監視部３３０からの取得要求に対して、上記のようなマージ後のジョブ履歴情報を応答する。このとき、本実施形態の機器状態管理部Ｂ３２８は、ＭＦＰ１００から取得したジョブ履歴情報のうち、ジョブ種別が“ｐｒｉｎｔ”を示すものを除外する。
【００６６】
（情報処理システムの動作例）
次に、図５〜図７を参照しつつ、本実施形態における情報処理システムの動作例を説明する。
【００６７】
図５は、外部コントローラ１０１およびＭＦＰ１００が、機器状態監視部３３０（以下、ＭＩＢマネージャとも称する）から受信したジョブ履歴情報の取得要求に対して応答するまでの手順を示したシーケンス図である。
【００６８】
まず、Ｓ５０１において、ＭＩＢマネージャ３３０は、ＳＮＭＰのＧｅｔオペレーションを用いて外部コントローラに対してジョブ履歴情報の取得要求を行う。ここでは、ＳＮＭＰのＧｅｔＲｅｑｕｅｓｔオペレーションを用いて、ＭＩＢマネージャ３３０が特定のＯＩＤ単位でジョブ履歴情報を取得する例を示す。しかし、ＭＩＢマネージャ３３０は、ＧｅｔＢｕｌｋＲｅｑｕｅｓｔオペレーションを用いてＭＩＢツリーの辞書順に並ぶ複数のＯＩＤをまとめて取得しても良い。
【００６９】
Ｓ５０２において、外部コントローラ１０１の機器状態管理部Ｂ３２８は、上記のＧｅｔＲｅｑｕｅｓｔに応答して、ＭＦＰ１００に対してジョブ履歴情報の取得を要求する。すなわち、機器状態管理部Ｂ３２８は、Ｓ５０１での要求と同一のＯＩＤを指定して、接続されているＭＦＰ１００に対してＧｅｔＲｅｑｕｅｓｔ要求を行う。
【００７０】
Ｓ５０３において、ＭＦＰ１００の機器状態管理部Ａ３１０は、外部コントローラ１０１からのＧｅｔＲｅｑｕｅｓｔに対して、ジョブ履歴管理部Ａ３０８からジョブ履歴情報を得る。そして、機器状態管理部Ａ３１０は、上記のジョブ履歴情報に基づいてＭＩＢ形式のジョブ履歴情報を生成するとともに、外部コントローラ１０１にＧｅｔＲｅｓｐｏｎｓｅにてジョブ履歴情報の応答を返す。ここで、図４に示したように、ＭＦＰ１００が返すジョブ履歴情報はjmGeneralJobSetIndex=101となるインデックスを持つものとする。
【００７１】
Ｓ５０４において、機器状態管理部Ｂ３２８は、ＭＦＰ１００から上記のＧｅｔＲｅｑｕｅｓｔの応答を受ける。
続いて、Ｓ５０５において、機器状態管理部Ｂ３２８は、外部コントローラ１０１自身が管理するジョブ履歴情報として、要求されたＯＩＤのＭＩＢ情報を生成する。なお、外部コントローラ１０１が生成するジョブ履歴情報は、図４に示したようにjmGeneralJobSetIndex=100となるインデックスを持つ。
【００７２】
Ｓ５０６において、機器状態管理部Ｂ３２８は、ＭＦＰ１００から取得した上記のＭＩＢ情報を、自身が管理するジョブ履歴情報に追加してマージする。そして、機器状態管理部Ｂ３２８は、ＧｅｔＲｅｓｐｏｎｓｅにてＭＩＢマネージャ３３０に対してマージ後のジョブ履歴情報の応答を返す。
以上の手順により、ＭＩＢマネージャ３３０は、ジョブ履歴情報を受けることができる。以上で、図５の説明を終了する。
【００７３】
図６は、図５で示したシーケンスにおいて、外部コントローラ１０１が行う処理手順を示したフローチャートである。ここで、図６のフローチャートに示す各処理は、ＣＰＵ２２１がＲＯＭ２２３またはＨＤＤ２２４に記憶されたプログラムをＲＡＭ２２２に読み込んだ後、プログラムを実行することで実現される。
【００７４】
Ｓ６０１において、機器状態管理部Ｂ３２８は、ＳＮＭＰによる外部装置からの要求があるまで待機する（Ｓ６０１の判定がＮｏの場合のループ）。具体的には、外部コントローラ１０１は、入出力制御部Ｂ３２４が受信したネットワークパケットを解析し、ＳＮＭＰパケットの要求を受信したとき（Ｓ６０１の判定がＹｅｓの場合）に、機器状態管理部Ｂ３２８に処理を依頼する。
【００７５】
Ｓ６０２において、機器状態管理部Ｂ３２８は、受信したパケットがｊｏｂＭＩＢ配下のＭＩＢの取得要求（ジョブ履歴情報の取得要求）であるかを判定する。ＭＩＢの取得要求以外である場合（Ｓ６０２の判定がＮｏの場合）にはＳ６０８に処理が移行し、外部コントローラ１０１は、他のＭＩＢに対する処理として規定された応答を行い、図６の処理を終了する。
【００７６】
一方、受信したパケットがＭＩＢの取得要求である場合（Ｓ６０２の判定がＹｅｓの場合）にはＳ６０３に処理が移行する。Ｓ６０３において、機器状態管理部Ｂ３２８は要求された同一のＯＩＤとジョブ種別を示すＯＩＤを指定して、ＭＦＰ１００に対してＧｅｔＲｅｑｕｅｓｔ要求を行う。その後、Ｓ６０４に処理が移行する。
【００７７】
Ｓ６０４において、機器状態管理部Ｂ３２８は、上記の要求に対する応答としてＭＦＰ１００からＧｅｔＲｅｓｐｏｎｓｅパケット（ＭＦＰ１００のジョブ履歴情報）が得られるまで待機する（Ｓ６０４の判定がＮｏの場合）。この待機中にＳ６０９のタイムアウトの判定が行われる。
【００７８】
Ｓ６０４の待機中に所定の時間を超過した場合（Ｓ６０９の判定がＹｅｓの場合）には、Ｓ６１０において外部コントローラ１０１は外部装置に対してエラーを応答し、図６の処理を終了する。具体的には、Ｓ６１０の処理では、ＧｅｔＲｅｓｐｏｎｓｅオペレーションのパラメータとして、ｅｒｒｏｒ−ｓｔａｔｕｓ＝ｇｅｎＥｒｒを設定したパケットを外部コントローラ１０１が送信する。
Ｓ６０４の待機中に所定の時間を超過していない場合（Ｓ６０９の判定がＹｅｓの場合）には、機器状態管理部Ｂ３２８は、ＭＦＰ１００からの応答を待つためにＳ６０４の処理に戻る。
【００７９】
外部コントローラ１０１がＭＦＰ１００からＧｅｔＲｅｓｐｏｎｓｅパケットの応答を受け取る（Ｓ６０４の判定がＹｅｓの場合）と、Ｓ６０５に処理が移行する。
Ｓ６０５において、機器状態管理部Ｂ３２８は、ジョブ履歴管理部Ｂ３２７に問い合わせて得られたジョブ履歴情報に基づいて、要求されたＯＩＤに対するＭＩＢ形式のジョブ履歴情報を生成する。
【００８０】
ここで、要求されたＯＩＤがジョブ状態を示すjmJobStateであれば、生成されるジョブ履歴情報は、図４（Ｂ）のテーブル４１６（符号４１２〜４１５）に示したような内容となる。
一方、ＭＦＰ１００が生成するジョブ履歴情報には、Ｓ６０５の処理の時点ではジョブ種別が“ｐｒｉｎｔ”のジョブ情報も含まれている。しかし、要求されたＯＩＤと合わせて取得したジョブ種別の情報に基づいて、後述するＳ６０６にてジョブ種別が“ｐｒｉｎｔ”のジョブは除外される。そして、生成されるジョブ履歴情報は、最終的には図４（Ｂ）のテーブル４１６に示したような内容となる。
【００８１】
続いて、Ｓ６０６において、機器状態管理部Ｂ３２８は、Ｓ６０３の要求に応じて取得したＭＦＰ１００のジョブ履歴情報を、Ｓ６０５で生成した自身が管理するジョブ履歴情報に追加し、ジョブ履歴情報をマージする。このＳ６０６の処理の詳細は、図７を用いて後述する。
そして、Ｓ６０７において、機器状態管理部Ｂ３２８は、外部装置に対してマージ後のジョブ履歴情報（Ｓ６０６）を応答する。その後、図６の処理は終了する。なお、Ｓ６０７において応答するＳＮＭＰパケットには、正常終了を示すステータス（ｅｒｒｏｒ−ｓｔａｔｕｓ＝ｎｏＥｒｒ）がセットされる。
以上で、図６の説明を終了する。
【００８２】
図７は、図６に示すＳ６０６の詳細を説明したフローチャートである。
図７のフローチャートに示す各処理も、図６の場合と同様に、ＣＰＵ２２１がＲＯＭ２２３またはＨＤＤ２２４に記憶されたプログラムをＲＡＭ２２２に読み込んだ後、プログラムを実行することで実現される。
【００８３】
Ｓ７０１において、機器状態管理部Ｂ３２８は、ＭＦＰ１００から取得したＭＩＢ形式のジョブ履歴情報を１エントリずつ読み出す。そして、機器状態管理部Ｂ３２８は、上記の１エントリ内のjmJobIndexが示すジョブのインデックスを取得する。
【００８４】
Ｓ７０２において、機器状態管理部Ｂ３２８は、ジョブ履歴情報に残りのエントリがあるかを判定する。残りのエントリがない場合（Ｓ７０２の判定がＮｏの場合）には、図７の処理が終了する。一方、残りのエントリが存在する場合（Ｓ７０２の判定がＹｅｓの場合）には、Ｓ７０３に処理が移行する。
【００８５】
Ｓ７０３において、機器状態管理部Ｂ３２８は、図６のＳ６０３の要求に対するＭＦＰ１００からの応答として受信した、ジョブ種別を示すＭＩＢ情報（jobServiceType）を参照する。そして、機器状態管理部Ｂ３２８は、上記のジョブ種別を示すＭＩＢ情報（jobServiceType）から、Ｓ７０１で取得したjmJobIndexと同一のジョブのジョブ種別を取得する。
【００８６】
Ｓ７０４において、機器状態管理部Ｂ３２８は、取得した上記のジョブ種別が“ｐｒｉｎｔ”であるかを判定する。ジョブ種別が“ｐｒｉｎｔ”である場合（Ｓ７０４の判定がＹｅｓの場合）にはマージの除外対象として扱い、Ｓ７０１に処理が戻る。したがって、本実施形態においては、ジョブ履歴情報の印刷ジョブに関しては外部コントローラ１０１側の情報が使用される。
一方、ジョブ種別が“ｐｒｉｎｔ”以外である場合（Ｓ７０４の判定がＮｏの場合）には、Ｓ７０５に処理が移行する。
【００８７】
Ｓ７０５において、機器状態管理部Ｂ３２８は、受信したＭＩＢ情報を、外部コントローラ１０１が関与しないコピーやＦＡＸジョブとして、外部コントローラ１０１が生成したジョブ履歴情報に追加する。これにより、ＭＦＰ１００のジョブ履歴情報と外部コントローラ１０１のジョブ履歴情報のマージが行われる。その後、Ｓ７０１に処理が戻る。
以上で、図７の説明を終了する。
【００８８】
以上のように、本実施形態の情報処理システムにおいては、複数の制御装置２００、２２０が同一の機器情報をそれぞれで生成・管理する。本実施形態においては、上記の構成および処理手順により、それぞれの制御装置２００、２２０が管理する機器情報をマージして、外部の機器管理装置１１２に一つの情報として応答することが可能となる。
そのため、機器管理装置１１２においては、外部コントローラ１０１およびＭＦＰ１００のジョブ履歴情報を一元的に管理することが可能となる。
また、本実施形態では、標準ＭＩＢであるＪｏｂＭＩＢでジョブ履歴情報を一元的に管理できるので、外部コントローラ１０１やＭＦＰ１００の提供元が異なるマルチベンダ環境においても上記の機能を提供できるという利点がある。
【００８９】
＜第２実施形態の説明＞
上記の第１実施形態の構成では、外部コントローラ１０１が扱わないコピーやＦＡＸのジョブ履歴情報についても、ＭＦＰ１００から受信したジョブ履歴情報をマージすることで外部コントローラ１０１が取得可能である。しかし、上記の第１実施形態においては、外部コントローラ１０１のジョブ履歴情報では、印刷ジョブに関してＭＦＰ１００側の処理状況を反映できていなかった。
【００９０】
そこで、第２実施形態では、外部コントローラ１０１とＭＦＰ１００のそれぞれが同一対象のジョブを管理するプリント機能に関し、これらの制御装置の状況を反映可能とする構成について説明する。
なお、第２実施形態および後述する第３実施形態において情報処理システムおよびその要素の基本構成は第１実施形態と同様であるので、重複説明は省略する。
【００９１】
図８は、第２実施形態において外部コントローラ１０１またはＭＦＰ１００が生成するＪｏｂＭＩＢの構成例を示す図である。図８については図４と相違する部分を主に説明し、第１実施形態と同様の部分の詳細な説明は省略する。
【００９２】
図８（Ａ）は、外部コントローラ１０１が管理するjmGeneralTableの一部を示している。
図８（Ａ）において符号８０１〜８０３のカラムは、図４（Ａ）の符号４０１〜４０３のカラムにそれぞれ相当する。また、図８（Ａ）のテーブル８０４、８０６は、図４（Ａ）のテーブル４０６、４０９にそれぞれ相当する。ただし、ＭＦＰ１０１が生成するプリント以外のジョブ履歴情報については、第１実施形態と同様で良いため図示および説明は省略する。図８（Ａ）では、外部コントローラ１０１が処理中であるアクティブな印刷ジョブは存在しない例を示している。
【００９３】
図８（Ｂ）は、外部コントローラ１０１が生成するジョブ履歴情報（基本ジョブ属性）の一例を示している。
図８（Ｂ）において符号８０８〜８１１のカラムは、図４（Ｂ）の符号４１２〜４１５のカラムにそれぞれ相当する。図８（Ｂ）では、外部コントローラ１０１からＭＦＰ１００に当該ジョブ（jmJobIndex=1200、1201）の投入が完了している例を示す。そのため、図８（Ｂ）においては、どちらも完了（“Completed”）を示す値がステータスとしてセットされている（テーブル８１２のカラム８１１の１〜２行参照）。
【００９４】
図８（Ｃ）は、外部コントローラ１０１の取得要求に応じてＭＦＰ１００が生成するジョブ履歴情報の一例を示している。
図８（Ｃ）において符号８１７のテーブルは、図４（Ｂ）の符号４１６のテーブルの最下行のエントリに相当する。また、図８（Ｃ）の符号８１３〜８１６のカラムは、図４（Ｂ）の符号４１２〜４１５のカラムにそれぞれ相当する。
【００９５】
ＭＦＰ１００で管理される印刷ジョブは外部コントローラ１０１とは非同期で処理される。そのため、ＭＦＰ１００で管理される印刷ジョブには、外部コントローラ１０１が認識するjmJobIndexとは異なる値が割り当てられる。
【００９６】
図８（Ｃ）では、jmJobIndex=2および3の２つのジョブがジョブ履歴情報として存在している例を示している。テーブル８１７の上のエントリでは、jmJobIndex=2の印刷ジョブは、ＭＦＰ１００においても完了（“Completed”）である例を示す。また、テーブル８１７の下のエントリでは、jmJobIndex=3の印刷ジョブは、処理中（“Processing”）である例を示している。
【００９７】
ここで、第２実施形態においては、外部コントローラ１０１がＭＦＰ１００に印刷ジョブを投入する際に、外部コントローラ１０１は印刷ジョブに識別子を割り当てる。この識別子は、外部コントローラ１０１が管理する印刷ジョブと、ＭＦＰ１００が外部コントローラ１０１から受信した印刷ジョブとの同一性を判断するために用いられる。
【００９８】
第２実施形態において、ＭＦＰ１００は、外部コントローラ１０１が印刷ジョブに割り当てた上記の印刷ジョブの識別子をジョブ属性として記憶する。ＭＦＰ１００は、外部コントローラ１０１からジョブ属性（serverAssignedJobName）の取得を要求された際に、上記の印刷ジョブの識別子を応答する。
【００９９】
図８（Ｃ）の符号８２２で示すエントリでは、ＭＦＰ１００が管理するジョブ（jmJobIndex=2）は、外部コントローラ１０１が管理する印刷ジョブ（1200）に対応することを示している。同様に、図８（Ｃ）の符号８２３で示すエントリでは、ＭＦＰ１００が管理するジョブ（jmJobIndex=3）は、外部コントローラ１０１が管理する印刷ジョブ（1201）に対応することを示している。
【０１００】
このように第２実施形態の外部コントローラ１０１は、上記のserverAssignedJobNameのＭＩＢ情報を照会することで、ＭＦＰ１００から得られるジョブ履歴情報と自身が管理するジョブ履歴情報の対応関係を知ることができる。
【０１０１】
図８（Ｄ）は、外部コントローラ１０１によって更新されたジョブ履歴情報の一例を示している。
外部コントローラ１０１は、上記のserverAssignedJobNameのＭＩＢ情報に基づいて、図８（Ｂ）に示したジョブ状態（jmJobState）のジョブ履歴情報を更新する。これにより、図８（Ｄ）に示すジョブ履歴情報が生成される。
【０１０２】
図８の例では、外部コントローラ１０１がjmJobIndex=1200として管理したジョブは、ＭＦＰ１００ではjmJobIndex=2として管理されている。また、ＭＦＰ１００において、当該ジョブのジョブ状態も”Complete”である（図８（Ｃ）参照）。そのため、図８（Ｄ）のテーブル８２４に関し、外部コントローラ１０１は、図８（Ｂ）に示すカラム８１１の上の行に対応するジョブ状態の情報を更新しない。
【０１０３】
一方、外部コントローラ１０１がjmJobIndex=1201として管理したジョブは、ＭＦＰ１００ではjmJobIndex=3として管理されている。ＭＦＰ１００において、当該ジョブのジョブ状態は”Processing”である（図８（Ｃ）参照）。そのため、図８（Ｄ）のテーブル８２４に関し、外部コントローラ１０１は、図８（Ｂ）に示すカラム８１１の下の行に対応するジョブ状態の情報を”Processing”に更新する。
【０１０４】
次に、第２実施形態における情報処理システムの動作例を説明する。
第２実施形態の情報処理システムにおいて、ＭＦＰ１００、外部コントローラ１０１およびＭＩＢマネージャ３３０の基本的な動作は、図５、図６と同様である。ただし、第２実施形態においては、外部コントローラ１０１のＳ６０６における処理が、第１実施形態の図７に示す処理手順と相違する。
【０１０５】
以下、図９を参照しつつ、第２実施形態の外部コントローラ１０１が行う処理手順を説明する。この図９は、第１実施形態の図７の処理手順に対応するものである。図９の処理のうち、Ｓ９０１〜Ｓ９０４、およびＳ９０９の各ステップは、図７のＳ７０１〜Ｓ７０４、およびＳ７０５と同様であるため、重複説明を省略する。
【０１０６】
図９のＳ９０４の判定において、ジョブ種別が“ｐｒｉｎｔ”である場合（Ｓ９０４の判定がＹｅｓの場合）には、Ｓ９０５に処理が移行する。
Ｓ９０５において、機器状態管理部Ｂ３２８は、ＭＦＰ１０１からジョブ履歴情報としてさらにserverAssignedJobNameを取得する。
【０１０７】
Ｓ９０６において、機器状態管理部Ｂ３２８は、図８の説明で示したように、serverAssignedJobNameのＭＩＢ情報から、ＭＦＰ１００が管理するジョブに対応する外部コントローラ１０１のジョブを検索する。これにより、機器状態管理部Ｂ３２８は、外部コントローラ１０１におけるjmJobIndexを特定する。
【０１０８】
Ｓ９０７において、機器状態管理部Ｂ３２８は、ＭＦＰ１００が管理するジョブと、これに対応する外部コントローラ１０１のジョブとを比較し、両者のステータスに差異があるか判定する。ステータスに差異がない場合（Ｓ９０７の判定がＮｏの場合）には、Ｓ９０１に処理が戻る。
一方、ステータスに差異がある場合（Ｓ９０７の判定がＹｅｓの場合）には、Ｓ９０８に処理が移行する。
Ｓ９０８において、機器状態管理部Ｂ３２８は、ＭＦＰ１００が管理するジョブのステータスに基づいて、これに対応する外部コントローラ１０１のジョブのステータスを更新する。その後、Ｓ９０１に処理が戻る。
【０１０９】
ここで、Ｓ９０６〜Ｓ９０８の処理を、図８の例に基づいて具体的に説明する。
図８（Ｃ）のserverAssignedJobNameで示すように、ＭＦＰ１００でjmJobIndex=3として管理されるジョブは、外部コントローラ１０１のjmJobIndex=1201として管理されるジョブに対応することが分かる。
機器状態管理部Ｂ３２８は、図８（Ｂ）に示すテーブルのjmJobIndex=1201のエントリにおけるjmJobStateのジョブ状態（当該エントリのカラム８１１）を参照する（Ｓ９０６）。そして、機器状態管理部Ｂ３２８は、上記の外部コントローラ１０１側のジョブ状態が、対応関係にある図８（Ｃ）のジョブ状態と差異があるか判定する（Ｓ９０７）。
【０１１０】
上記のジョブにおいて、図８（Ｃ）のジョブ状態は”Processing”であり、図８（Ｂ）のジョブ状態は”Completed”である。この場合、Ｓ９０７の判定はＹｅｓとなり、機器状態管理部Ｂ３２８は、外部コントローラ１０１側のジョブ状態を、図８（Ｄ）に示すように”Processing”に更新する（Ｓ９０８）。
【０１１１】
第２実施形態においても、第１実施形態と同様に、ＭＦＰ１００のジョブ履歴情報と外部コントローラ１０１のジョブ履歴情報のマージが行われる。
例えば、外部コントローラ１０１では、ＭＦＰ１００に画像データを出力し終えた時点で管理対象の印刷ジョブは完了となる。しかし、ＭＦＰ１００においては、用紙切れや用紙詰まり（ジャム）、機器故障、消耗品枯渇、印刷データ不正等に起因する各種エラーなど、様々な要因で印刷が期待通りに完了できない場合も想定できる。
【０１１２】
この点に関し、第２実施形態においては、ＭＦＰ１００のジョブ履歴情報によって、外部コントローラ１０１のジョブ履歴情報の状態を更新する。そのため、第２実施形態では、外部コントローラ１０１とＭＦＰ１００に跨って管理対象となる印刷ジョブに関し、ＭＦＰ１００側の処理状況が反映されたジョブ履歴情報を機器管理装置３３０が取得できる。
【０１１３】
＜第３実施形態の説明＞
第１および第２実施形態においては、外部コントローラ１０１からのジョブ履歴の取得要求に対し、ＭＦＰ１００は印刷ジョブを含む全てのジョブ履歴情報を返している。そして、外部コントローラ１０１側でジョブ履歴情報を取捨選択している。しかし、本発明はこれに限らずＭＦＰ１００側でジョブ履歴情報を選択する場合にも適用可能である。
【０１１４】
以下、ＭＦＰ１００側でジョブ履歴情報を選択する場合の構成を、第３実施形態として説明する。
第３実施形態において、ＭＦＰ１００の機器状態管理部Ａ３１０は、外部コントローラ１０１からの機器状態の取得要求に対して、ジョブ種別が“ｐｒｉｎｔ”ではないジョブに関するジョブ履歴情報のみを返す。ここで、ＭＦＰ１００は、ＳＮＭＰのＧｅｔＲｅｑｕｅｓｔを受信した際、送信元のＩＰアドレスに基づいて外部コントローラ１０１からの要求であるか否かを判断するように構成すればよい。
【０１１５】
一方、第３実施形態の外部コントローラ１０１において、機器状態管理部Ｂ３２８は、受信したＭＩＢ情報を、外部コントローラ１０１が関与しないコピーやＦＡＸジョブとして、外部コントローラ１０１が生成したジョブ履歴情報に追加する。これにより、第３実施形態においても、ＭＦＰ１００のジョブ履歴情報と外部コントローラ１０１のジョブ履歴情報のマージが行われる。このマージ後のジョブ履歴情報は、第１実施形態のものと同様である。
【０１１６】
第３実施形態においては、ＭＦＰ１００から受信したジョブ履歴情報を自身が管理するジョブ履歴情報に追加する際、ジョブ種別による追加の要否を判断する処理（図７のＳ７０４の判断）が外部コントローラ１０１で不要となる。
したがって、第３実施形態の構成によると、外部コントローラ１０１には変更を加えることなく、それぞれの制御装置２００、２２０が管理する機器情報をマージして、外部の機器管理装置３３０に一つの情報として応答することが可能となる。
【０１１７】
ここで、第３実施形態のＭＦＰ１００は、情報処理システムに外部コントローラ１０１が接続されているか否かに応じて、出力するジョブ履歴情報を切り替える。具体的には、外部コントローラ１０１が接続されている場合、ＭＦＰ１００は、上記のようにジョブ種別が“ｐｒｉｎｔ”ではないジョブに関するジョブ履歴情報のみを返す。一方、外部コントローラ１０１が接続されていない場合、ＭＦＰ１００は、全てのジョブに関するジョブ履歴情報を返す。
なお、外部コントローラ１０１が接続されているか否かは、上記のように、ＳＮＭＰのＧｅｔＲｅｑｕｅｓｔを受信した際、送信元のＩＰアドレスに基づいてＭＦＰ１００が判断すればよい。
【０１１８】
＜実施形態の変形例＞
上述の実施形態では、画像処理装置の一例として、印刷、スキャン、ＦＡＸ等の機能を備えるＭＦＰの例を挙げて説明した。しかし、画像処理装置は、スキャン、ＦＡＸ等の機能を有しない画像形成装置であってもよい。
【０１１９】
上述の実施形態において、ＭＦＰ１００が外部コントローラ１０１に送信するジョブ履歴情報には、外部コントローラ１０１を介さずにＭＦＰ１００に直接投入されたジョブのジョブ履歴情報が含まれていてもよい。上記のジョブとしては、モバイル端末１１３から無線でＭＦＰ１００に投入された印刷ジョブや、ＵＳＢ(Universal Serial Bus)等をＭＦＰ１００に接続してなされたメモリダイレクトプリントの印刷ジョブが挙げられる。上記以外にも、ＭＦＰ１００が複数のネットワークＩ／Ｆを有するときに、外部コントローラ１０１以外から投入したジョブについても同様である。
なお、外部コントローラ１０１から投入されたジョブか否かは、第２実施形態で示したように、外部コントローラ１０１がＭＦＰ１００に印刷ジョブを投入する際に印刷ジョブに対して割り当てる識別子の有無によって判定することが可能である。
【０１２０】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１２１】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【０１２２】
１００  ＭＦＰ
１０１  外部コントローラ
１１２  機器管理装置
３０８  ジョブ履歴管理部Ａ（ＭＦＰ）
３１０  機器状態管理部Ａ（ＭＦＰ）
３２７  ジョブ履歴管理部Ｂ（外部コントローラ）
３２８  機器状態管理部Ｂ（外部コントローラ）
３３０  ＭＩＢマネージャ（機器管理装置）
【図１】
2020091370.tif 000004
【図２】
2020091370.tif 000005
【図３】
2020091370.tif 000006
【図４】
2020091370.tif 000007
【図５】
2020091370.tif 000008
【図６】
2020091370.tif 000009
【図７】
2020091370.tif 000010
【図８】
2020091370.tif 000011
【図９】
2020091370.tif 000012