(57)【特許請求の範囲】
【請求項１】
所定のインタフェースを介して第１構成情報を取得する構成情報取得部と、インストールされたアプリの構成情報を示す第２構成情報を当該アプリから取得してファイルとして記憶装置に保存するアプリ情報管理部と、を備える情報処理装置であって、
前記構成情報取得部による、前記所定のインタフェースを介して、前記第１構成情報を取得する第１取得手段と、
前記構成情報取得部による、前記記憶装置に保存されている前記ファイルから前記第２構成情報を取得する第２取得手段と、
前記第１取得手段により取得された前記第１構成情報を含む所定のプロトコルに準拠した送信用データを作成する作成手段と、を有し、
前記作成手段は、前記送信用データに、前記第２取得手段により取得された前記第２構成情報を追記し、
前記第２構成情報が追記された送信用データは、前記所定のプロトコルで外部の装置に送信され、
前記構成情報取得部は、前記所定のインタフェースを介して前記アプリから前記第２構成情報を取得できないことを特徴とする情報処理装置。
【請求項２】
前記第１取得手段により取得された前記第１構成情報を第１ファイルとして保存する第１保存手段と、
前記第２取得手段により取得された前記第２構成情報を第２ファイルとして保存する第２保存手段と、
前記所定のプロトコルで外部の装置に送信された送信用データで用いた情報を含む前記第１ファイルと前記第２ファイルとから生成されたハッシュ値を保存する第３保存手段と、を更に有し、
前記作成手段は、新たに保存された第１ファイルと第２ファイルとから生成されるハッシュ値が、前記第３保存手段により前回の送信の際に保存されたハッシュ値と違いがある場合に、前記送信用データを作成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第３保存手段は、前記第１ファイルと前記第２ファイルとの両方から生成された１つのハッシュ値を保存することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定のプロトコルはＳＯＡＰであり、前記送信用データはＸＭＬで記述されることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１構成情報は、前記情報処理装置が備えるコントローラ、プリンタ、及びフィニッシャの少なくともいずれかの情報を含むことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第２構成情報は、前記アプリのインストール情報及びバージョン情報の少なくともいずれかを含むことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
所定のインタフェースを介して第１構成情報を取得する構成情報取得部と、インストールされたアプリの構成情報を示す第２構成情報を当該アプリから取得してファイルとして記憶装置に保存するアプリ情報管理部と、を備える情報処理装置における制御方法であって、
前記構成情報取得部による、前記所定のインタフェースを介して、前記第１構成情報を取得する第１取得工程と、
前記構成情報取得部による、前記記憶装置に保存されている前記ファイルから前記第２構成情報を取得する第２取得工程と、
前記第１取得工程で取得された前記第１構成情報を含む所定のプロトコルに準拠した送信用データを作成する作成工程と、を有し、
前記送信用データに、前記第２取得工程で取得された前記第２構成情報がさらに追記され、
前記第２構成情報が追記された送信用データは、前記所定のプロトコルで外部の装置に送信され、
前記構成情報取得部は、前記所定のインタフェースを介して前記アプリから前記第２構成情報を取得できないことを特徴とする制御方法。
【請求項８】
コンピュータを、請求項１乃至６のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
電子機器の構成情報には様々な種類があり、これには例えば、ファームウェアのバージョン情報やライセンス情報のインストール情報などが含まれ、これらは、その電子機器を制御する制御部が構成情報として保持している。また、プリンタエンジンを含む電子機器の構成情報には、プリンタエンジンのバージョン情報や、そのプリンタエンジンに接続されているアクセサリのバージョン情報などが含まれ、これらは、プリンタエンジンの構成情報としてプリンタエンジンが保持している。そして、このような電子機器では、制御部が保持している構成情報とプリンタエンジンが保持している構成情報は、共通のＩ／Ｆを介して制御部が取得することができる。
【０００３】
電子機器における、これ以外の構成情報として、例えばＪＡＶＡアプリのインストール情報やバージョン情報などがある。ＪＡＶＡアプリをインストールして実行できる電子機器は、そのＪＡＶＡアプリを動作させるための仮想マシン、ＪＡＶＡプラットフォームを搭載している。そして他のメーカが開発したＪＡＶＡアプリをその電子機器にインストールすることにより、その電子機器に様々な機能を追加することができる。その場合、新たに追加されたＪＡＶＡアプリのインストール情報やバージョン情報などは仮想マシンが保持している情報となる。例えば特許文献１には、デバイスインタフェースを介してプリンタから受け取ったイベントに応じて、マークアップ言語記述のデータをＨＴＴＰ／ＳＯＡＰでサーバに送信する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−７２９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の例では、ＪＡＶＡのフレームワークにはＪＡＶＡアプリを集中管理する仕組みがない。即ち、他のメーカが開発して、後で追加されたＪＡＶＡアプリは、その電子機器の共通Ｉ／Ｆで接続されていないため、制御部は共通のＩ／Ｆを介してＪＡＶＡアプリの構成情報を取得することができない。このように新たに追加されたＪＡＶＡアプリの構成情報を取得するためには、ＪＡＶＡアプリごとに共通Ｉ／Ｆを追加しなければならない。このためには制御部のファームウェアを更新する必要があり、その構成情報を取得するのが難しかった。
【０００６】
本発明の目的は、上記従来技術の課題を解決することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
所定のインタフェースを介して第１構成情報を取得する構成情報取得部と、インストールされたアプリの構成情報を示す第２構成情報を当該アプリから取得してファイルとして記憶装置に保存するアプリ情報管理部と、を備える情報処理装置であって、
前記構成情報取得部による、前記所定のインタフェースを介して、前記第１構成情報を取得する第１取得手段と、
前記構成情報取得部による、前記記憶装置に保存されている前記ファイルから前記第２構成情報を取得する第２取得手段と、
前記第１取得手段により取得された前記第１構成情報を含む所定のプロトコルに準拠した送信用データを作成する作成手段と、を有し、
前記作成手段は、前記送信用データに、前記第２取得手段により取得された前記第２構成情報を追記し、
前記第２構成情報が追記された送信用データは、前記所定のプロトコルで外部の装置に送信され、
前記構成情報取得部は、前記所定のインタフェースを介して前記アプリから前記第２構成情報を取得できないことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、情報処理装置に、例えばＪＡＶＡアプリが新たに追加されるたびにそのアプリの構成情報を取得するためのインタフェースを追加することなく、そのアプリの構成情報と、共通のインタフェースで取得されるその他の情報を纏めて送信することができる。
【００１０】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１１】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係るＭＦＰを含むシステムの全体構成を説明する図。
【図２】実施形態１に係るＭＦＰのハードウェア構成を説明するブロック図。
【図３】実施形態１に係るＭＦＰのソフトウェア構成を説明するブロック図。
【図４】実施形態１に係るＭＦＰのソフトウェアとＪＡＶＡアプリとの関係を説明するブロック図。
【図５】本発明の実施形態１に係るＭＦＰにおける構成情報の一例を示す図。
【図６】本発明の実施形態１に係るＭＦＰの構成情報を送信するためのＸＭＬ／ＳＯＡＰデータの一例を示す図。
【図７】本発明の実施形態１に係るＭＦＰと監視サーバとの通信シーケンスの一例を説明する図。
【図８】本発明の実施形態１に係るＭＦＰにおけるＪＡＶＡアプリの構成情報の取得処理を説明するフローチャート。
【図９】本発明の実施形態１に係るＭＦＰの制御部による構成情報の取得処理を説明するフローチャート。
【図１０】本発明の実施形態１に係るＭＦＰによる構成情報の送信処理を説明するフローチャート。
【図１１】本発明の実施形態２に係るＭＦＰで構成情報を送信するためのＸＭＬ／ＳＯＡＰデータの一例を示す図。
【図１２】本発明の実施形態２に係るＭＦＰによる構成情報の送信処理を説明するフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
［実施形態１］
図１は、本発明の実施形態１に係るＭＦＰ１０１を含むシステムの全体構成を説明する図である。
【００１４】
ＭＦＰ１０１は、実施形態１に係るデバイス装置（情報処理装置）の一例である複合機（multi-function peripheral）で、ＬＡＮ１０３及びプロキシサーバ１０２を介してインターネット１１０と接続されている。ＰＣ（パーソナルコンピュータ）１０５は、ＬＡＮ１０６及びプロキシサーバ１０４を介してインターネット１１０と接続されている。監視サーバ１０８は、ＬＡＮ１０９及びプロキシサーバ１０７を介してインターネット１１０と接続されており、複合機１０１から送信されるデバイス構成情報を受信するとともに、ＭＦＰ１０１のエラーの監視や制御を行っている。ＰＣ１０５は、Ｗｅｂブラウザを利用できるＰＣであり、インターネット１１０を介して監視サーバ１０８にアクセスすることができる。
【００１５】
尚、実施形態１では、インターネット環境としているが、インターネット環境でなくても良く、またプロキシサーバも特になくてもかまわない。また、システムにおけるデバイスやＰＣの数などは、本実施形態１に限定されるものではない。
【００１６】
図２は、実施形態１に係るＭＦＰ１０１のハードウェア構成を説明するブロック図である。
【００１７】
ＣＰＵ２０２を含む制御部２０１は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２０２は、ＲＯＭ２０４に記憶されたブートプログラムを実行してＨＤＤ２０５に格納されているプログラムをＲＡＭ２０３に展開し、そのプログラムを実行することにより、後述するフローチャートで示すような各種制御を行う。ＨＤＤ（ハードディスクドライブ）２０５に格納されているプログラムは、仮想マシン上で動作するＪＡＶＡアプリを制御するプログラムを含む。ＲＡＭ２０３は、ＣＰＵ２０２の主メモリ、ワークエリア等の一時領域として用いられる。ＨＤＤ２０５は、データや各種プログラム、及び各種情報テーブル等を記憶している。
【００１８】
プリンタＩ／Ｆ２０６は、プリンタ（プリンタエンジン）２０７と制御部２０１とを接続する。プリンタ２０７は、プリンタＩ／Ｆ２０６を介して入力された印刷データに基づいて、不図示の給紙カセットから給紙されたシートに画像を印刷する。スキャナＩ／Ｆ２０８は、スキャナ２０９と制御部２０１とを接続する。スキャナ２０９は、原稿の画像を読み取り、その原稿画像の画像データを生成する。こうして制御部２０１が、スキャナ２０９が生成した画像データをスキャナＩ／Ｆ２０８を介して受け取り、それをプリンタ２０７に出力して印刷することにより複写機能が達成される。また制御部２０１は、その画像データをＨＤＤ２０５に記憶し、有線ＬＡＮＩ／Ｆ２１２、ＬＡＮ１０３等を介して外部装置に送信することもできる。操作パネルＩ／Ｆ２１０は、操作パネル２１１と制御部２０１とを接続する。操作パネル２１１はタッチパネル機能を有する表示部、及び各種ハードキー等を備え、ユーザの操作を受付けるとともに、ユーザに対して各種メッセージや警告などの表示を行う。有線ＬＡＮＩ／Ｆ２１２は、ＬＡＮケーブル２１３を介してＬＡＮ１０３に接続され、ネットワークを介して外部装置と通信を実行する。この通信によって、ＭＦＰ１０１は外部装置から印刷データを受信すると、その受信した印刷データに基づいてプリンタ２０７により印刷処理を実行する。また、スキャナ２０９が生成した画像データを、有線ＬＡＮＩ／Ｆ２１２、ＬＡＮ１０３を介して外部装置に送信可能である。
【００１９】
尚、実施形態１に係るＭＦＰ１０１は、１つのＣＰＵ２０２がＲＡＭ２０３に展開したプログラムを実行して後述するフローチャートに示す各処理を実行するとして説明するが、他の態様であっても構わない。例えば、複数のＣＰＵと複数のメモリとが協働して後述するフローチャートに示す各処理を実行するようにしても良い。
【００２０】
図３は、実施形態１に係るＭＦＰ１０１のソフトウェア構成を説明するブロック図である。尚、この図３に示す各機能部は、ＣＰＵ２０２がＨＤＤ２０５に記憶されたプログラムをＲＡＭ２０３に展開して実行することによって実現される。
【００２１】
構成情報取得部３０１は、制御部情報管理部３０２、プリンタ情報管理部３０５、スキャナ情報管理部３０６、ＪＡＶＡアプリ情報管理部３０７から構成情報を取得する。制御部情報管理部３０２は、制御部２０１で管理する構成情報を保持しており、また、構成情報取得部３０１が取得した構成情報を保存して管理する。構成情報取得部３０１は、制御部情報管理部３０２から制御部の構成情報、プリンタ２０７からプリンタの構成情報、スキャナ２０９からスキャナの構成情報、及びＪＡＶＡアプリ情報管理部３０７から仮想マシンの構成情報を取得する。
【００２２】
Ｗｅｂサービス制御部３０３はＷｅｂサービスクライアントとして、各種メッセージを生成し、通信部３０４を介してネットワークにメッセージを送信するように指示する。通信部３０４は有線ＬＡＮＩ／Ｆ２１２が実行する通信を制御する。プリンタ情報管理部３０５は、プリンタ２０７が管理する構成情報を保持している。スキャナ情報管理部３０６は、スキャナ２０９が管理する構成情報を保持している。ＪＡＶＡアプリ情報管理部３０７は、仮想マシンで管理する構成情報を保持している。
【００２３】
図４は、実施形態１に係るＭＦＰ１０１のソフトウェアとＪＡＶＡアプリとの関係を説明するブロック図である。図４において、前述の図３と共通する部分は同じ参照番号で示している。
【００２４】
ここではＭＦＰ１０１のソフトウェアの構成を３階層で示し、第１階層４０１はプリンタ２０７及びスキャナ２０９の階層であり、プリンタ情報管理部３０５とスキャナ情報管理部３０６を含む。第２階層４０２は制御部２０１の階層であり、構成情報取得部３０１と制御部情報管理部３０２とを含む。第３階層４０３は仮想マシンの階層であり、ＪＡＶＡアプリ情報管理部３０７とＪＡＶＡアプリＡ４０４とＪＡＶＡアプリＢ４０５を含んでいる。
【００２５】
ここで構成情報取得部３０１は、制御部情報管理部３０２、プリンタ情報管理部３０５、スキャナ情報管理部３０６と共通Ｉ／Ｆ４０６で接続されているため、それぞれの構成情報を取得できる。またＪＡＶＡアプリ情報管理部３０７とＪＡＶＡアプリＡ４０４は、共通Ｉ／Ｆ４０６で接続されているため、ＪＡＶＡアプリ情報管理部３０７はＪＡＶＡアプリＡ４０４の構成情報を取得できる。しかし、サードパーティが開発したＪＡＶＡアプリＢ４０５のように、後で追加されたＪＡＶＡアプリは、共通Ｉ／Ｆ４０６で接続されていない。このため構成情報取得部３０１は、共通Ｉ／Ｆ４０６を介してＪＡＶＡアプリＢ４０５の構成情報を取得できない。
【００２６】
そこで実施形態１では、構成情報取得部３０１は、ＪＡＶＡアプリ情報管理部３０７が取得したＪＡＶＡアプリＢ４０５の構成情報を共通Ｉ／Ｆ４０６を介して取得する。これにより構成情報取得部３０１は、後で追加されて共通Ｉ／Ｆ４０６に接続されていないＪＡＶＡアプリの構成情報であっても、ＪＡＶＡアプリ情報管理部３０７を介して取得することができる。
【００２７】
図５は、本発明の実施形態１に係るＭＦＰ１０１における構成情報の一例を示す図である。
【００２８】
図５（Ａ）は、制御部情報管理部３０２、プリンタ情報管理部３０５及びスキャナ情報管理部３０６が保持及び管理している構成情報の一例を示す。カテゴリ５０１は、項目５０２と値５０３で示すデータが、どのカテゴリに属しているかを示す。カテゴリの「ｃｏｎｔｒｏｌｌｅｒ」と「ｌｉｃｅｎｓｅ」は、制御部情報管理部３０２が保持している構成情報である。またカテゴリ「ｐｒｉｎｔｅｒ」と「ｆｉｎｉｓｈｅｒ」は共に、プリンタ情報管理部３０５が保持している情報である。これら構成情報は構成情報取得部３０１が、各対応する部から取得し、ＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルとしてＨＤＤ２０５に保存する。
【００２９】
図５（Ｂ）は、ＪＡＶＡアプリ情報管理部３０７が保持及び管理している構成情報の一例を示す。ここではカテゴリはいずれも「Ｊａｖａ」で、ＪＡＶＡアプリ情報管理部３０７が保持している情報であることを示している。この構成情報は、構成情報取得部３０１がＪＡＶＡアプリ情報管理部３０７から収集して、ＪＡＶＡ＿ＩＮＦＯ．ｃｓｖとしてＨＤＤ２０５に保存する。尚、本例はあくまで一例であり、これに限定されるものではない。
【００３０】
図６は、本発明の実施形態１に係るＭＦＰ１０１の構成情報を送信するためのＸＭＬ／ＳＯＡＰデータの一例を示す図である。
【００３１】
図６（Ａ）は、このＭＦＰ１０１の構成情報を管理サーバ１０８に送信するときのＸＭＬ／ＳＯＡＰデータ、ｐｏｓｔＤｅｖｉｃｅＣｏｎｆｉｇの一例を示す。ここでは図５（Ａ）を参照して説明したＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルと、図５（Ｂ）のＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルの情報を結合して送信する。図において、参照番号６０１は、図５（Ａ）のＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルの情報を示し、参照番号６０２は、図５（Ｂ）のＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルの情報を示している。
【００３２】
図６（Ｂ）は、図６（Ａ）のｐｏｓｔＤｅｖｉｃｅＣｏｎｆｉｇに対するレスポンスのｐｏｓｔＤｅｖｉｃｅＣｏｎｆｉｇＲｅｓｐｏｎｓｅの一例を示す。
【００３３】
このＸＭＬデータの中に、受信結果（result）の記述が含まれている。尚、ＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルの情報を送信しＲｅｓｐｏｎｓｅを受信した後に、ＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルの情報を送信してもよい。尚、本例では、ＸＭＬ／ＳＯＡＰを例に説明したが、それ以外のデータ構造でも構わない。またＸＭＬ／ＳＯＡＰでも、同様の意味をなすＸＭＬデータであれば、これに限定されるものではない。
【００３４】
図７は、本発明の実施形態１に係るＭＦＰ１０１と監視サーバ１０８との通信シーケンスの一例を説明する図である。
【００３５】
ＭＦＰ１０１は、監視サーバ１０８に管理されているデバイスであり、ＭＦＰ１０１は特定のタイミングで、ＭＦＰ１０１の構成情報を監視サーバ１０８に送信する。図７において、ＭＦＰ１０１は７０１で、構成情報「ｐｏｓｔＤｅｖｉｃｅＣｏｎｆｉｇ」を送信するメソッドを監視サーバ１０８に送信する。これにより監視サーバ１０８は、７０２で、ＭＦＰ１０１に対して「ｐｏｓｔＤｅｖｉｃｅＣｏｎｆｉｇ」に対する応答「ｐｏｓｔＤｅｖｉｃｅＣｏｎｆｉｇＲｅｓｐｏｎｓｅ」を送信する。
【００３６】
図８は、本発明の実施形態１に係るＭＦＰ１０１におけるＪＡＶＡアプリの構成情報の取得処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ２０５に格納されており、実行時、ＣＰＵ２０２が、そのプログラムをＲＡＭ２０３に展開して実行することにより、このフローチャートで示す処理が達成される。
【００３７】
まずＳ８０１でＣＰＵ２０２はＪＡＶＡアプリ情報管理部３０７として機能し、各ＪＡＶＡアプリからＪＡＶＡアプリの構成情報を取得する。次にＳ８０２に進みＣＰＵ２０２はＪＡＶＡアプリ情報管理部３０７として機能し、そのＪＡＶＡアプリの構成情報をＪＡＶＡ＿ＰＦ．ｃｓｖファイルとしてＨＤＤ２０５に保存して、この処理を終了する。
【００３８】
これにより、例えばＪＡＶＡアプリのインストール情報やバージョン情報などの仮想マシンが保持している構成情報は、ＪＡＶＡ＿ＰＦ．ｃｓｖファイルとして保存される。
【００３９】
図９は、本発明の実施形態１に係るＭＦＰ１０１の制御部２０１による構成情報の取得処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ２０５に格納されており、実行時、ＣＰＵ２０２がそのプログラムをＲＡＭ２０３に展開して実行することにより、このフローチャートで示す処理が達成される。以下、図３に示す機能をＣＰＵ２０２が実行するものとして説明する。
【００４０】
まずＳ９０１でＣＰＵ２０２は構成情報取得部３０１として機能し、共通Ｉ／Ｆを介して制御部情報管理部３０２から制御部２０１の構成情報を取得する。次にＳ９０２に進みＣＰＵ２０２は構成情報取得部３０１として機能し、Ｓ９０１で取得した制御部２０１の構成情報をＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルとしてＨＤＤ２０５に保存する。次にＳ９０３に進みＣＰＵ２０２は構成情報取得部３０１として機能し、共通Ｉ／Ｆを介してプリンタ情報管理部３０５からプリンタ２０７の構成情報を取得する。そしてＳ９０４に進みＣＰＵ２０２は構成情報取得部３０１として機能し、プリンタ２０７の構成情報をＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルに追加して保存する。次にＳ９０５に進みＣＰＵ２０２は構成情報取得部３０１として機能し、図８のＳ８０２で保存したＪＡＶＡ＿ＰＦ．ｃｓｖファイルからＪＡＶＡアプリの構成情報を取得する。そしてＳ９０６に進みＣＰＵ２０２は構成情報取得部３０１として機能し、ＪＡＶＡアプリの構成情報をＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルとしてＨＤＤ２０５に保存して、この処理を終了する。
【００４１】
これにより、制御部２０１とプリンタ２０７の構成情報がＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルに、仮想マシンが保持している構成情報はＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルとして保存される。尚、ここでは図５と図６に対応して、スキャナ２０９の構成情報は記憶していないが、カテゴリ「scanner」の情報があれば、ＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルに追加して保存される。
【００４２】
図１０は、本発明の実施形態１に係るＭＦＰ１０１による構成情報の送信処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ２０５に格納されており、実行時、ＣＰＵ２０２が、そのプログラムをＲＡＭ２０３に展開して実行することにより、このフローチャートで示す処理が達成される。以下、図３に示す機能をＣＰＵ２０２が実行するものとして説明する。
【００４３】
まずＳ１００１でＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、ＭＦＰ１０１の起動時に生成されたＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイル、及びＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルからハッシュ関数を通じてハッシュ値を生成する。次にＳ１００２に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、Ｓ１００１で生成したハッシュ値と、前回起動時に保存されたハッシュ値とを比較する。ここで前回起動時のハッシュ値と差分がある場合はＳ１００３に進み、差分がない場合は、送信すべき構成情報が無いため、そのままこの処理を終了する。尚、ここでは、複数のｃｓｖファイルで、変更があるかどうか判定するために、これら複数のファイルのハッシュ値を求めて、前回起動時のハッシュ値と比較しているが、本発明はこれに限定されない。例えば、各ファイルごとに、その内容を比較して、変更されているかかどうか判定しても良い。また或いは各ファイルの更新日時に基づいて、そのファイルが更新されているかどうか判定してもよい。
【００４４】
Ｓ１００３でＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、ＭＦＰ１０１の起動時に生成されたＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルを読み込む。次にＳ１００４に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、ＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルを送信するためのＳＯＡＰ／ＸＭＬデータを作成する。次にＳ１００５に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、図９のＳ９０６で保存されたＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルを読み込む。そしてＳ１００６に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、例えば図６（Ａ）の６０２で示すように、変更されたＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルの内容を示すＳＯＡＰ／ＸＭＬデータを追記で作成する。次にＳ１００７に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、Ｓ１００１で生成したハッシュ値を保存する。そしてＳ１００８に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、Ｓ１００６で作成したＳＯＡＰ／ＸＭＬデータを通信部３０４に渡して管理サーバ１０８に送信して、この処理を終了する。
【００４５】
以上説明したように実施形態１によれば、制御部の構成情報とＪＡＶＡアプリの構成情報のいずれかで変更があったときは、制御部の構成情報とＪＡＶＡアプリの構成情報のＳＯＡＰ／ＸＭＬデータを管理サーバに送信する。
【００４６】
これにより、共通Ｉ／Ｆを介して取得した構成情報とＪＡＶＡアプリの構成情報とをまとめて送信できる。また構成情報が変更されないときは、構成情報を管理サーバに送信しないのでネットワークのトラフィックの増大を防止できる。
【００４７】
［実施形態２］
次に本発明の実施形態２について説明する。上述の実施形態１では、複数のｃｓｖファイル内の１項目でも変化があった場合に、全てのファイルの全ての項目の構成情報を送信した。これに対して実施形態２では、ｃｓｖファイル内の変化があった項目に対し、同じカテゴリの構成情報だけを送信する。尚、実施形態２に係るＭＦＰ１０１の構成は、前述の実施形態１に係るＭＦＰ１０１と同様であるため、その説明を省略する。
【００４８】
図１１は、本発明の実施形態２に係るＭＦＰ１０１が構成情報を送信するためのＸＭＬ／ＳＯＡＰデータの一例を示す図である。
【００４９】
図１１は、ＭＦＰ１０１の構成情報を送信するときのＸＭＬ／ＳＯＡＰデータ、ｐｏｓｔＤｅｖｉｃｅＣｏｎｆｉｇの一例を示す。実施形態２では、前述の図５（Ｂ）のＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルの情報の「ｒｕｉ」のｖａｌｕｅのみ変化があったとして、カテゴリが「ｊａｖａ」の情報だけを抜粋して送信する。即ち、ＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルの情報の「ｒｕｉ」のｖａｌｕｅが「０００．０１」から「００．０２」に変更されている。図１１の参照番号１１０１は、図６（Ａ）の参照番号６０２で示すカテゴリが「ｊａｖａ」の情報に対応している。
【００５０】
ここで制御部２０１の構成情報とプリンタ２０７の構成情報は静的な情報であり、ファームウェアが変わらない限り、変化しない情報である。これに対してＪＡＶＡアプリの情報は、動的に変化する情報であり、ファームウェアが変わらない場合でも変化する。このように、その値が変更された、動的に変化する構成情報だけを送信することで、ネットワークのトラフィックを減らすことができ、監視サーバ１０８の負荷を軽減できる。
【００５１】
図１２は、本発明の実施形態２に係るＭＦＰ１０１による構成情報の送信処理を説明するフローチャートである。尚、この処理を実行するプログラムはＨＤＤ２０５に格納されており、実行時、ＣＰＵ２０２が、そのプログラムをＲＡＭ２０３に展開して実行することにより、このフローチャートで示す処理が達成される。以下、図３に示す機能をＣＰＵ２０２が実行するものとして説明する。
【００５２】
まずＳ１２０１でＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、ＭＦＰ１０１の起動時に生成されたＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルとＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルからカテゴリごとにハッシュ関数を通じてハッシュ値を生成する。次にＳ１２０２に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、カテゴリごとに生成したハッシュ値と、前回の起動時に保存されたハッシュ値とを比較する。そして、これらハッシュ値に差分があると判定するとＳ１２０３に進むが、全てのカテゴリで差分がない場合と判定すると、この処理を終了する。
【００５３】
Ｓ１２０３でＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、差分のあるカテゴリを特定し、そのカテゴリを一時的に保持する。次にＳ１２０４に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、ＭＦＰ１０１の起動時に生成されたＳＹＳＴＥＭ＿ＩＮＦＯ．ｃｓｖファイルを読み込む。次にＳ１２０５に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、差分のあるカテゴリだけのＳＯＡＰ／ＸＭＬデータを作成する。次にＳ１２０６に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、Ｓ９０６で保存されたＪＡＶＡ＿ＩＮＦＯ．ｃｓｖファイルを読み込む。そしてＳ１２０７に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、差分のあるカテゴリだけのＳＯＡＰ／ＸＭＬデータを追記で作成する。そしてＳ１２０８に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、Ｓ１２０１で生成したハッシュ値を保存する。次にＳ１２０９に進みＣＰＵ２０２はＷｅｂサービス制御部３０３として機能し、Ｓ１２０７で作成したＳＯＡＰ／ＸＭＬデータを通信部３０４に渡してこの処理を終了する。尚、カテゴリごとに差分を確認して送信するだけでなく、ファイルごとに差分を確認して送信してもよいし、項目ごとに差分を確認して送信してもよい。
【００５４】
以上説明したように実施形態２によれば、制御部の構成情報とＪＡＶＡアプリの構成情報のカテゴリの構成情報が変更されているときは、その変更されたカテゴリの構成情報のＳＯＡＰ／ＸＭＬデータだけを管理サーバに送信する。
【００５５】
これにより、共通Ｉ／Ｆを介して取得した構成情報とＪＡＶＡアプリの構成情報とを送信できる。また構成情報が変更されないときは、構成情報を管理サーバに送信しないのでネットワークのトラフィックの増大を防止できる。また構成情報が変更されても、その変更されたカテゴリの構成情報だけを管理サーバに送信するので、ネットワークのトラフィックの増大を防止できる。
【００５６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５７】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００５８】
１０１…ＭＦＰ、１０２、１０４、１０７…プロキシサーバ、１０３、１０６、１０９…ＬＡＮ、１０５…ＰＣ、１０８…監視サーバ、１１０…インターネット
【図１】
0006663257.tif 000002
【図２】
0006663257.tif 000003
【図３】
0006663257.tif 000004
【図４】
0006663257.tif 000005
【図５】
0006663257.tif 000006
【図６】
0006663257.tif 000007
【図７】
0006663257.tif 000008
【図８】
0006663257.tif 000009
【図９】
0006663257.tif 000010
【図１０】
0006663257.tif 000011
【図１１】
0006663257.tif 000012
【図１２】
0006663257.tif 000013