(57)【要約】      （修正有）【課題】複数の仮想マシンが構築されたシステムにおいて、システム内の管理情報を提供できる画像処理装置。【解決手段】画像処理装置は、複数の仮想マシンが動作する装置であって、情報提供アプリ５１が動作する仮想マシン２１２が、各仮想マシン上で管理する提供可能な情報の有無を判定する判定手段７１と、判定結果に基づき、情報提供アプリ５１から要求された出力情報が、自身の仮想マシン２１２と異なる他の仮想マシン２１１の管理情報であった場合、仮想マシン間通信により、他の仮想マシン２１１に対して、情報取得を要求する要求手段４１２２と、を有し、他の仮想マシン２１１が、仮想マシン上で動作する情報取得モジュール４２１により、同仮想マシン上で動作する情報管理モジュール３１から取得した情報を、仮想マシン間通信により、要求元の仮想マシン２１２に応答する応答手段４１２１を有している。【選択図】図７
2011034453.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンが動作する画像処理装置であって、
仮想マシン上で情報を管理する情報管理モジュールと、
前記情報管理モジュールで管理される情報を取得する情報取得モジュールと、
各仮想マシン上で動作し、前記複数の情報取得モジュールに対して共通の仮想マシン間通信を行う通信部と、を有し、
情報提供アプリが動作する仮想マシンが、
起動時に当該装置に構築された各仮想マシン上で管理する提供可能な情報の有無を判定する判定手段と、
前記判定手段による判定結果に基づき、前記情報提供アプリから要求された出力情報が、自身の仮想マシンと異なる他の仮想マシンの管理情報であった場合、前記通信部を介した仮想マシン間通信により、他の仮想マシンに対して、情報取得を要求する要求手段と、
を有し、
前記他の仮想マシンが、
受け付けた前記要求手段による取得要求に応じて、仮想マシン上で動作する前記情報取得モジュールにより、同仮想マシン上で動作する前記情報管理モジュールから取得した情報を、前記通信部を介した仮想マシン間通信により、要求元の仮想マシンに応答する応答手段を有することを特徴とする画像処理装置。
【請求項２】
前記情報提供アプリが動作する仮想マシンが、
前記判定手段による判定結果に基づき、前記情報提供アプリから要求された出力情報が自身の仮想マシンの管理情報であった場合、仮想マシン上で動作する前記情報取得モジュールにより、同仮想マシン上で動作する前記情報管理モジュールから情報を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、
起動時に当該装置に構築された各仮想マシン上で動作する前記情報管理モジュールの検索結果に基づき、各仮想マシン上で管理する提供可能な情報の有無を判定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記判定手段は、
前記通信部を介した仮想マシン間通信により、前記他の仮想マシン上で動作する前記情報管理モジュールを検索し、検索結果に基づき、前記他の仮想マシン上で管理する提供可能な情報の有無を判定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判定手段は、
前記検索結果に基づき、各仮想マシン上で動作する前記情報管理モジュールにより管理される情報を提供可能な情報と判定することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記情報提供アプリが動作する仮想マシンが、
各仮想マシン上で動作し、前記情報提供アプリと前記複数の情報取得モジュールとのインタフェース部を生成するインタフェース生成手段を有し、
前記インタフェース生成手段は、
前記判定手段による判定結果に基づき、各仮想マシン上に前記インタフェース部を生成することを特徴とする請求項１ないし５のいずれか一項に記載の画像処理装置。
【請求項７】
前記情報提供アプリは、
出力情報に係る操作画面を生成する画面生成手段を有し、
前記画面生成手段は、
前記インタフェース生成手段により生成されたインタフェース部を介して受け取った、前記判定手段による判定結果に基づき、各仮想マシン上で管理する提供可能な情報を選択指定可能な画面を生成することを特徴とする請求項１ないし６のいずれか一項に記載の画像処理装置。
【請求項８】
前記情報提供アプリは、
前記画面生成手段により生成された操作画面を介して、指定された出力情報を、指定された所定の出力形式に従って情報出力を行う出力実行手段を有し、
前記出力実行手段は、
前記インタフェース生成手段により生成されたインタフェース部を介して受け取った、前記情報取得モジュールにより取得された情報を出力することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
複数の仮想マシンが動作するシステム環境において、仮想マシン上で情報を管理する情報管理モジュールと、前記情報管理モジュールで管理される情報を取得する情報取得モジュールと、各仮想マシン上で動作し、前記複数の情報取得モジュールに対して共通の仮想マシン間通信を行う通信部と、を有する画像処理装置における情報提供方法であって、
情報提供アプリが動作する仮想マシンにおいて、
起動時に当該装置に構築された各仮想マシン上で管理する提供可能な情報の有無を判定する判定手順と、
前記判定手順による判定結果に基づき、前記情報提供アプリから要求された出力情報が、自身の仮想マシンと異なる他の仮想マシンの管理情報であった場合、前記通信部を介した仮想マシン間通信により、他の仮想マシンに対して、情報取得を要求する要求手順と、
を有し、
前記他の仮想マシンにおいて、
受け付けた前記要求手順による取得要求に応じて、仮想マシン上で動作する前記情報取得モジュールにより、同仮想マシン上で動作する前記情報管理モジュールから取得した情報を、前記通信部を介した仮想マシン間通信により、要求元の仮想マシンに応答する応答手順を有することを特徴とする情報提供方法。
【請求項１０】
複数の仮想マシンが動作するシステム環境において、仮想マシン上で情報を管理する情報管理モジュールと、前記情報管理モジュールで管理される情報を取得する情報取得モジュールと、各仮想マシン上で動作し、前記複数の情報取得モジュールに対して共通の仮想マシン間通信を行う通信部と、を有する画像処理装置における情報提供プログラムであって、
コンピュータを、
情報提供アプリが動作する仮想マシンにおいて、
起動時に当該装置に構築された各仮想マシン上で管理する提供可能な情報の有無を判定する判定手段と、
前記判定手段による判定結果に基づき、前記情報提供アプリから要求された出力情報が、自身の仮想マシンと異なる他の仮想マシンの管理情報であった場合、前記通信部を介した仮想マシン間通信により、他の仮想マシンに対して、情報取得を要求する要求手段として機能させ、
前記他の仮想マシンにおいて、
受け付けた前記要求手段による取得要求に応じて、仮想マシン上で動作する前記情報取得モジュールにより、同仮想マシン上で動作する前記情報管理モジュールから取得した情報を、前記通信部を介した仮想マシン間通信により、要求元の仮想マシンに応答する応答手段として機能させる情報提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の仮想マシンが動作可能な画像処理装置に関し、特に、仮想マシン間で行うデータ通信により機器内部で保持する各種情報を提供する技術に関するものである。
【背景技術】
【０００２】
１台の物理コンピュータ上に、あたかもコンピュータが複数稼働しているかのような疑似システムを構築する仮想化技術は既に知られている。このような仮想化技術により実現される擬似的な情報処理システム環境（論理コンピュータ）を、仮想マシン（ＶＭ：Virtual Machine）と言う（例えば「特許文献１」参照）。
【０００３】
上記仮想化技術は、近年、ＰＣ（Personal Computer）環境だけでなく、複合機（ＭＦＰ：Multifunction Peripheral）などの画像処理装置にも、動作環境の１つとして採用されている。例えば、次のような動作環境が構築されている。画像処理装置では、２つの仮想マシン環境が動作し、第１仮想マシン上で画像処理の主要機能を実行する。一方、第２仮想マシン上ではカスタマイズ機能を含む拡張機能を実行する。
【０００４】
このように、画像処理装置に仮想化技術を採用する理由には、画像処理に係る主要機能のロバストネス性を確保する点がある。
【０００５】
拡張機能を実現するソフトウェアには、サードベンダなどの他社が開発したものが含まれ、主要機能と異なり、他のソフトウェアとの協働など、何らかの原因で障害が発生する可能性がある。また、障害が発生しても、メーカが対応することができないため、障害対応に時間がかかってしまう恐れがある。このようなことから、画像処理装置では、主要機能と拡張機能とを異なる仮想マシン上で動作させることで、万が一、拡張機能に障害が発生した場合であっても、その障害が主要機能の処理に影響を及ぼすことがない動作環境の提供が望まれる。
【０００６】
ところで、画像処理装置では、機器や機能に関する各種情報について、搭載操作パネルへの表示や画像形成機能による印刷（各種出力）を行うことができる。各種情報には、例えば動作設定や動作状態を含む機器情報やインストール状態や使用可能状態を含む機能情報（ソフトウェア情報）がある。画像処理装置は、情報出力が要求されると、出力要求された情報を収集し、収集した情報を指定形式に従って出力する。これにより、画像処理装置は、機器内部で保持する各種情報を提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の情報提供方法では、複数の仮想マシンが構築されたシステム環境において、以下の点が考慮されていない。
【０００８】
ユーザが出力要求する全ての情報が、必ずしも単一の仮想マシン上で管理される情報とは限らず、複数の仮想マシンが構築されたシステムでは、複数の仮想マシンを対象に情報収集を行わなければならない場合がある。
【０００９】
そこで、仮想マシンごとの管理情報に応じた異なる情報取得手段を有する方法が考えられる。しかしこの方法では、ユーザが、仮想マシンで管理する情報種に応じて情報取得手段を使い分けて情報出力を行わなければならない。これはユーザにとって利便性が悪い。
【００１０】
また別の方法としては、各仮想マシン上の管理情報を統一し、同じ情報取得手段を有する構成が考えられる。しかしこの方法では、仮想マシンで重複した情報管理を行うことになり、記憶領域（記憶リソース）を無駄に消費することに繋がる。特に、仕様上、リソースに制限のある画像処理装置では、適応し辛く、現実的な対応策ではない。
【００１１】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、複数の仮想マシンが構築されたシステムにおいて、記憶リソースの消費を抑制し、１つの仮想マシン上で動作するアプリケーションを介してシステム内の管理情報を提供できる画像処理装置、情報提供方法、及び情報提供プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明に係る画像処理装置は、複数の仮想マシンが動作する画像処理装置であって、仮想マシン上で情報を管理する情報管理モジュールと、前記情報管理モジュールで管理される情報を取得する情報取得モジュールと、各仮想マシン上で動作し、前記複数の情報取得モジュールに対して共通の仮想マシン間通信を行う通信部と、を有し、情報提供アプリが動作する仮想マシンが、起動時に当該装置に構築された各仮想マシン上で管理する提供可能な情報の有無を判定する判定手段と、前記判定手段による判定結果に基づき、前記情報提供アプリから要求された出力情報が、自身の仮想マシンと異なる他の仮想マシンの管理情報であった場合、前記通信部を介した仮想マシン間通信により、他の仮想マシンに対して、情報取得を要求する要求手段と、を有し、前記他の仮想マシンが、受け付けた前記要求手段による取得要求に応じて、仮想マシン上で動作する前記情報取得モジュールにより、同仮想マシン上で動作する前記情報管理モジュールから取得した情報を、前記通信部を介した仮想マシン間通信により、要求元の仮想マシンに応答する応答手段を有している。
【００１３】
また、上記目的を達成するため、本発明に係る画像処理装置は、前記情報提供アプリが動作する仮想マシンが、前記判定手段による判定結果に基づき、前記情報提供アプリから要求された出力情報が自身の仮想マシンの管理情報であった場合、仮想マシン上で動作する前記情報取得モジュールにより、同仮想マシン上で動作する前記情報管理モジュールから情報を取得する。
【００１４】
このような構成によって、本発明に係る画像処理装置は、起動時に、当該装置に構築された各仮想マシン上で管理する提供可能な情報を確認する。その後、画像処理装置は、要求された情報提供に応じて、次のような確認結果に基づく情報取得を行う。まず画像処理装置は、情報提供アプリが動作する仮想マシンの管理情報が要求された場合、同仮想マシン上で動作する情報管理プログラムから情報を取得する。また画像処理装置は、他の仮想マシンの管理情報が要求された場合、仮想マシン間通信により、他の仮想マシン上で動作する情報管理プログラムから情報を取得する。画像処理装置は、このようにして取得した情報を、要求時に指定された出力形式に従って提供する。
【００１５】
これによって、本発明に係る画像処理装置では、複数の仮想マシンが構築されたシステムにおいて、仮想マシン上でシステム内の情報を得るために、情報の管理・取得に係るソフトウェアを、情報提供を行う仮想マシン上で動作させる必要がない。つまり、システムを構成する各仮想マシンにおいて、ソフトウェア構成を重複させる必要がない。その結果、記憶リソースの消費を抑制でき、１つの仮想マシン上で動作するアプリケーションを介して各仮想マシン上の管理情報を取得・提供できる。
【００１６】
上記目的を達成するため、本発明に係る情報提供方法は、複数の仮想マシンが動作するシステム環境において、仮想マシン上で情報を管理する情報管理モジュールと、前記情報管理モジュールで管理される情報を取得する情報取得モジュールと、各仮想マシン上で動作し、前記複数の情報取得モジュールに対して共通の仮想マシン間通信を行う通信部と、を有する画像処理装置における情報提供方法であって、情報提供アプリが動作する仮想マシンにおいて、起動時に当該装置に構築された各仮想マシン上で管理する提供可能な情報の有無を判定する判定手順と、前記判定手順による判定結果に基づき、前記情報提供アプリから要求された出力情報が、自身の仮想マシンと異なる他の仮想マシンの管理情報であった場合、前記通信部を介した仮想マシン間通信により、他の仮想マシンに対して、情報取得を要求する要求手順と、を有し、前記他の仮想マシンにおいて、受け付けた前記要求手順による取得要求に応じて、仮想マシン上で動作する前記情報取得モジュールにより、同仮想マシン上で動作する前記情報管理モジュールから取得した情報を、前記通信部を介した仮想マシン間通信により、要求元の仮想マシンに応答する応答手順を有している。
【００１７】
このような手順によって、本発明に係る情報提供方法は、起動時に、当該装置に構築された各仮想マシン上で管理する提供可能な情報を確認し、その後、情報提供アプリが動作する仮想マシンの管理情報が要求された場合には、同仮想マシン上で動作する情報管理プログラムから情報を取得するとともに、他の仮想マシンの管理情報が要求された場合には、仮想マシン間通信により、他の仮想マシン上で動作する情報管理プログラムから情報を取得し、これらの取得情報を、要求時に指定された出力形式に従って提供すると言う動作を実現する。
【００１８】
これによって、本発明に係る情報提供方法は、記憶リソースの消費を抑制し、１つの仮想マシン上で動作するアプリケーションを介して各仮想マシン上の管理情報を出力可能な環境を提供できる。
【発明の効果】
【００１９】
本発明によれば、当該装置に構築された各仮想マシン上で管理する提供可能な情報を確認し、情報提供アプリが動作する仮想マシンと異なる仮想マシンの管理情報が要求された場合には、仮想マシン間通信により、情報を管理する他の仮想マシンから要求情報を取得することで、複数の仮想マシンが構築されたシステムにおいて、記憶リソースの消費を抑制し、１つの仮想マシン上で動作するアプリケーションを介してシステム内の管理情報を提供可能な画像処理装置、情報提供方法、及び情報提供プログラムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態に係る画像処理装置のハードウェア構成例を示す図である。
【図２】本発明の第１の実施形態に係る複数の仮想マシンが構築されたシステム構成例を示す図である。
【図３】従来の仮想マシンにおいて情報提供を実現するソフトウェア構成例（その１）を示す図である。
【図４】従来の仮想マシンにおいて情報提供を実現するソフトウェア構成例（その２）を示す図である。
【図５】本発明の第１の実施形態に係る複数の仮想マシンが構築されたシステムのソフトウェア構成例を示す図である。
【図６】本発明の第１の実施形態に係る情報取得モジュール群の構成を示す図である。
【図７】本発明の第１の実施形態に係る情報提供機能の構成例を示す図である。
【図８】本発明の第１の実施形態に係る提供可能情報の登録を行う処理手順例を示すシーケンス図である。
【図９】本発明の第１の実施形態に係る情報出力の操作画面表示を行う処理手順例を示すシーケンス図である。
【図１０】本発明の第１の実施形態に係る情報出力の操作画面例を示す図である。
【図１１】本発明の第１の実施形態に係る指定出力情報の提供を行う処理手順例を示すシーケンス図（その１）である。
【図１２】本発明の第１の実施形態に係る指定出力情報の提供を行う処理手順例を示すシーケンス図（その２）である。
【図１３】本発明の変形例に係る複数の仮想マシンが構築されたシステムのソフトウェア構成例を示す図である。
【図１４】本発明の変形例に係る出力定義データの例を示す図である。
【図１５】本発明の変形例に係る情報出力の操作画面表示を行う処理手順例を示すシーケンス図である。
【図１６】本発明の変形例に係る情報出力の操作画面例を示す図である。
【図１７】本発明の変形例に係る指定出力情報の提供を行う処理手順例を示すシーケンス図である。
【発明を実施するための形態】
【００２１】
以下、本発明の好適な実施の形態（以下「実施形態」と言う）について、図面を用いて詳細に説明する。
【００２２】
［第１の実施形態］
＜ハードウェア構成＞
図１は、本実施形態に係る画像処理装置１００のハードウェア構成例を示す図である。
図１に示すように、画像処理装置１００は、コントローラ１１０、操作パネル１２０、プロッタ１３０、及びスキャナ１４０などを備え、それぞれが相互にバスＢで接続されている。
【００２３】
操作パネル１２０は、表示部及び入力部を備えており、機器情報などの各種情報をユーザに提供したり、動作設定や動作指示などの各種ユーザ操作を受け付けたりする。プロッタ１３０は、画像形成部を備えており、用紙に出力画像を形成する。例えば出力画像を形成する方式には、電子写真方式やインクジェット方式などがある。スキャナ１４０は、原稿を光学的に読み取り、読み取り画像を生成する。
【００２４】
コントローラ１１０は、ＣＰＵ（Central Processing Unit）１１１、記憶装置１１２、ネットワークＩ／Ｆ１１３、及び外部記憶Ｉ／Ｆ１１４などを備えており、それぞれが相互にバスＢで接続されている。
【００２５】
ＣＰＵ１１１は、プログラムを実行することにより各種機能の実現や装置全体を制御する。また記憶装置１１２は、上記プログラムや各種データ（例えば「画像データ」）を格納し保持する。例えば記憶装置１１２には、揮発性のメモリであるＲＡＭ（Random Access Memory）、不揮発性のメモリであるＲＯＭ（Read Only Memory）、及び大容量の記憶領域を備えたＨＤＤ（Hard Disk Drive）などがある。ＲＡＭは、ＣＰＵ１１１のワークエリア（プログラムやデータが一時的に読み出される記憶エリア）として機能する。ＲＯＭやＨＤＤは、プログラムや各種データの格納先として用いられる。これにより、画像処理装置１００では、ＣＰＵ１１１がＲＯＭに格納されたプログラムをＲＡＭ上に読み出し、プログラムを実行する。
【００２６】
ネットワークＩ／Ｆ１１３は、画像処理装置１００をネットワークなどの所定のデータ伝送路に接続するためのインタフェースである。外部記憶Ｉ／Ｆ１１４は、外部記憶装置にあたる記録媒体１１４ａを接続するためのインタフェースである。例えば外部記憶装置には、ＳＤメモリカード（SD Memory Card）やＵＳＢ（Universal Serial Bus）メモリなどがある。これにより、画像処理装置１００は、外部記憶Ｉ／Ｆ１１４を介して、記録媒体１１４ａに格納されたプログラムやデータを読み取る。
【００２７】
画像処理装置１００では、上記ハードウェア構成により、例えばＲＯＭやＨＤＤからＲＡＭ上に読み出したプログラムをＣＰＵ１１１により実行することで、１又は複数の搭載機能（例えば「印刷」や「原稿読み取り」などの画像処理機能）を動作させることができる。
【００２８】
＜システム構成＞
図２は、本実施形態に係る複数の仮想マシンが構築されたシステム構成例を示す図である。図２には、１台の物理コンピュータ上に２つの仮想マシンが動作するシステム構成が示されている。
【００２９】
図２に示すように、仮想マシン環境は、ＯＳ（Operating System）１０上で仮想マシン環境を実現するプログラムを動作させることで実現される。本実施形態では、組み込み型システムの開発環境として使用頻度の高いＪａｖａ（登録商標：以下略）ＶＭ（Java Virtual Machine）２１を動作させることで実現している。なおＯＳ１０は、組み込み系の基本ソフトウェアであり、例えばＬｉｎｕｘ（登録商標：以下略）などがある。
【００３０】
複数の仮想マシン環境は、ＯＳ１０上で複数のＪａｖａＶＭ２１を動作させることで実現できる。本実施形態では、ＪａｖａＶＭ２１１及び２１２（２つのＪａｖａＶＭ２１）を動作させることで、第１及び第２仮想マシン環境（２つの仮想マシン環境）を実現している。以降では、ＪａｖａＶＭ２１１及び２１２を「第１仮想マシン２１１及び第２仮想マシン２１２」に置き換え説明する。また、第１仮想マシン２１１及び第２仮想マシン２１２を総称する際には、「仮想マシン２１」とする。同様に、各仮想マシン上で動作するソフトウェア（例えば「プログラム」や「データ」）及び使用される記憶領域についても、同じソフトウェア名や記憶領域名を総称する際には、共通する名称と参照符号を用いることとする。
【００３１】
仮想マシン２１は、仮想マシン上でＪａｖａコンポーネント２２を動作させるためのヒープメモリ２１１を有している。ヒープメモリ２１１は、仮想マシン上で動作するアプリケーションが自由に確保できるメモリ領域である。このように、複数の仮想マシン２１が構築されたシステムでは、仮想マシン２１ごとに独立したヒープメモリ２１１を有することから、処理停止などの障害が発生しても、互いのシステムに影響を及ぼすことがない。
【００３２】
仮想マシン上で動作するＪａｖａコンポーネント２２には、プラットフォーム及びアプリケーション（図中のＪａｖａプラットフォーム２２１及びＪａｖａアプリケーション２２２）の各機能を実現するための複数のＪａｖａプログラムが含まれる。Ｊａｖａプラットフォーム２２１は、仮想マシン２１が実現するシステム（動作環境）の標準機能として動作する。またＪａｖａアプリケーション２２２は、上記基本機能を利用し、例えばユーザが実行したい作業を実施する機能（仮想マシン環境におけるユーザ提供機能）として動作する。Ｊａｖａアプリケーション２２２は、提供する機能構成に応じてインストール／アンインストールが可能である。
【００３３】
以上のように、本実施形態に係る画像処理装置１００には、複数の仮想マシン２１が動作する環境を構築することができる。
【００３４】
＜仮想マシン間における情報提供機能＞
本実施形態に係る情報提供機能について説明する。
【００３５】
本実施形態に係る画像処理装置１００では、起動時に、当該装置に構築された各仮想マシン上で管理する提供可能な情報を確認する。その後、画像処理装置は、要求された情報提供に応じて、次のような確認結果に基づく情報取得を行う。まず画像処理装置は、情報提供アプリが動作する仮想マシンの管理情報が要求された場合、同仮想マシン上で動作する情報管理プログラムから情報を取得する。また画像処理装置は、他の仮想マシンの管理情報が要求された場合、仮想マシン間通信により、他の仮想マシン上で動作する情報管理プログラムから情報を取得する。画像処理装置は、このようにして取得した情報を、要求時に指定された出力形式に従って提供する。画像処理装置１００は、このような情報提供機能を有している。
【００３６】
ここで、複数の仮想マシン２１が構築されたシステムにおける従来の情報提供機能について説明する。
【００３７】
図３は、従来の仮想マシン２１において情報提供を実現するソフトウェア構成例（その１）を示す図である。図３には、機器情報及び搭載ソフトウェア情報を提供する情報提供機能を実現するソフトウェア構成例が示されている。
【００３８】
図３に示すように、機器情報は、第１仮想マシン２１１上で動作する機器情報管理プログラム３１により管理され、機器情報出力用アプリケーションＡＰ１により提供される。また搭載ソフトウェア情報は、第２仮想マシン２１２上で動作する搭載ソフトウェア情報管理プログラム３２により管理され、搭載ソフトウェア情報出力用アプリケーションＡＰ２により提供される。なお上記各情報管理プログラム３１，３２は、各仮想マシン上で動作するＪａｖａコンポーネント２２のＪａｖａプラットフォーム２２１に含まれるプログラムである。また上記各アプリケーションＡＰ１，ＡＰ２は、Ｊａｖａコンポーネント２２のＪａｖａアプリケーション２２２に含まれるアプリケーションソフトウェアである。
【００３９】
このようなソフトウェア構成には、次のような理由がある。ユーザが提供を要求する全ての情報が、必ずしも単一の仮想マシン（第１仮想マシン２１１又は第２仮想マシン２１２のどちらか一方）の管理情報とは限らず、複数の仮想マシン２１が構築されたシステム環境では、複数の仮想マシン２１を対象に情報収集を行わなければならない場合がある。
【００４０】
そのため、上述したように、仮想マシン２１ごとの管理情報に応じた異なる情報取得手段を有するソフトウェア構成となる。しかしこの構成では、ユーザが、仮想マシン２１で管理する情報種に応じて情報取得手段を使い分けて情報出力を行わなければならない。つまり、従来のソフトウェア構成では、得たい情報が第１仮想マシン２１１又は第２仮想マシン２１２のどちらの管理情報かを考えなければならない。例えば、機器情報を得たい場合には、機器情報が第１仮想マシン２１１で管理されていることから、第１仮想マシン２１１上で機器情報出力用アプリケーションＡＰ１を動作させて情報取得することになる。また搭載ソフトウェア情報を得たい場合には、搭載ソフトウェア情報が第２仮想マシン２１２で管理されていることから、第２仮想マシン２１２上で搭載ソフトウェア情報出力用アプリケーションＡＰ２を動作させて情報取得することになる。これはユーザにとって利便性が悪い。
【００４１】
また別のソフトウェア構成としては、各仮想マシン上の管理情報を統一し、同じ情報取得手段を有する構成が考えられる。例えば図４に示すようなソフトウェア構成である。
【００４２】
図４は、従来の仮想マシン２１において情報提供を実現するソフトウェア構成例（その２）を示す図である。図４には、機器情報及び搭載ソフトウェア情報を第２仮想マシン２１２上で提供する情報提供機能を実現するソフトウェア構成例が示されている。
【００４３】
このようなソフトウェア構成では、例えば第２仮想マシン２１２上で動作する機器情報出力用アプリケーションＡＰ１２及び搭載ソフトウェア情報出力用アプリケーションＡＰ２を介して、機器情報及び搭載ソフトウェア情報を提供することができる。つまり、１つの仮想マシン上で動作する各種情報を出力するためのアプリケーション（以下「情報提供アプリ」と言う）を介して各仮想マシン（第１仮想マシン２１１及び第２仮想マシン２１２）の管理情報を提供できる。しかしこの構成では、仮想マシン２１で重複した情報管理を行うことになり、記憶領域（記憶リソース）を無駄に消費することになる。例えば図４の場合には、第１仮想マシン２１１の管理情報である機器情報が、第２仮想マシン２１２でも管理されており、第２仮想マシン２１２における有限な記憶リソースが無駄に消費されることになる。特に、仕様上、リソースに制限のある画像処理装置１００では、適応し辛く、現実的な対応策ではない。
【００４４】
そこで、本実施形態に係る画像処理装置１００では、当該装置に構築された第１仮想マシン２１１及び第２仮想マシン２１２上で管理する提供可能な情報を確認する。画像処理装置１００は、情報提供アプリが動作する第２仮想マシン２１２と異なる第１仮想マシン２１１の管理情報が要求された場合、上記確認結果に基づき、仮想マシン間通信を行い、情報を管理する仮想マシン２１１（他の仮想マシン）から要求情報を取得する。
【００４５】
上記情報提供機能は、次に示すソフトウェア構成により実現される。
図５は、本実施形態に係る複数の仮想マシン２１が構築されたシステムのソフトウェア構成例を示す図である。図５には、第２仮想マシン２１２上で動作する情報提供アプリを介して、第１仮想マシン２１１上の管理情報である機器情報及び第２仮想マシン２１２上の管理情報である搭載ソフトウェア情報を提供するソフトウェア構成例が示されている。
【００４６】
図５に示すように、各仮想マシン上で動作するＪａｖａコンポーネント２２のＪａｖａプラットフォーム２２１には、画像処理装置１００が提供する各種機能を実現するためのＪａｖａモジュール群２２１ａが含まれる。
【００４７】
画像処理装置１００が有する情報提供機能は、これらＪａｖａモジュール群２２１ａに含まれるプログラムが動作することにより実現される。そのため、Ｊａｖａモジュール群２２１ａは、所定のデータ操作を行い、各種情報を管理するモジュール群３０（以下「情報管理モジュール群３０」と言う）と、要求に応じて、情報管理モジュール群３０から各種情報を取得するモジュール群４０（以下「情報取得モジュール群４０」と言う）とを有している。
【００４８】
情報管理モジュール群３０及び情報取得モジュール４０群は、管理情報ごとに一対の関係で用意されている。例えば第１仮想マシン２１１上で動作するＪａｖａモジュール群２２１ａ１には、機器情報を管理する機器情報管理プログラム３１と、機器情報を取得する機器情報取得プログラム４２１とが用意されている。また第２仮想マシン２１２上で動作するＪａｖａモジュール群２２１ａ２には、搭載ソフトウェア情報を管理する搭載ソフトウェア情報管理プログラム３２と、搭載ソフトウェア情報を取得する搭載ソフトウェア情報取得プログラム４２２とが用意されている。
【００４９】
このように、本実施形態では、情報管理モジュール群３０と情報取得モジュール群４０とを管理情報ごとに一対の関係で用意し、異なるプログラムで構成することで、情報取得モジュール群４０の追加・削除により、管理情報を提供するか否かを制御することができる。
【００５０】
さらに本実施形態では、機器情報取得プログラム４２１や搭載ソフトウェア情報取得プログラム４２２と言った管理情報固有のモジュールと異なる情報取得プログラム（共通部）４１を有している。この情報取得プログラム（共通部）４１は、管理情報共通のモジュールである。
【００５１】
情報取得プログラム（共通部）４１が動作することにより実現される機能には、例えば、情報提供アプリのインタフェースを司る機能や、各仮想マシン上で管理する提供可能な情報を登録する機能などがある。なお、これらの機能については、情報提供機能を構成する機能部の説明において後述する。
【００５２】
図６は、本実施形態に係る情報取得モジュール群４０の構成を示す図である。
図６に示すように、管理情報固有のモジュールである情報取得プログラム４２（以下「情報取得プログラム（固有部）」と言う）は、情報取得プログラム（共通部）４１を継承して作成されたプログラムである。Ｊａｖａのようなオブジェクト指向型のプログラミング言語には、機能的な集合の概念を記述することができる。一般的にこれを継承と言う。このような方法でプログラミングを行うと、作成したプログラムが、継承元のプログラムが実現する機能（クラスの機能）を受け継いで動作できる。このことから、情報取得プログラム（固有部）４２は、情報取得プログラム（共通部）４１により実現される上記機能を受け継いで動作できる。
【００５３】
このように、本実施形態では、情報管理モジュール群３０及び情報取得モジュール群４０などの各仮想マシン上の管理情報に依存する情報提供に係る固有機能と、管理情報に依存しない情報提供に係る共通機能とが、連係動作することにより、情報取得に係る処理を実現している。また、情報提供に係る固有機能と共通機能とを、異なるモジュールにより構成することで、管理情報単位で情報提供機能の追加・削除などを容易に行うことができる。
【００５４】
図５に戻り、要求に応じた情報提供を行う情報提供アプリについて説明する。
図５には、情報提供アプリである情報出力用アプリケーション５１が、第２仮想マシン２１２上で動作するソフトウェア構成例が示されている。情報出力用アプリケーション５１は、ＳＤＫ（Software Development Kit）アプリケーションであり、Ｊａｖａアプリケーション２２２２の１つとして実装されている。
【００５５】
ＳＤＫアプリケーションは、ソフトウェアを開発する際に使用できる命令や関数の集合であるＳＤＫ  ＡＰＩ２２１ｂを用いて開発され、ユーザへの個別対応機能（カスタマイズ機能）などを実現するソフトウェアである。ＳＤＫアプリケーションは、ＳＤＫ  ＡＰＩ２２１ｂを介して、プラットフォームが有するＪａｖａモジュール群２２１ａ２により実現される機能を利用する。これにより、例えば情報出力用アプリケーション５１は、ＳＤＫ  ＡＰＩ２２１ｂを介して、Ｊａｖａモジュール群２２１ａ２の情報取得プログラム（共通部）４１２により実現される機能を利用し、要求に応じた情報提供を行うことができる。
【００５６】
本実施形態に係る画像処理装置１００では、このようなソフトウェア構成により、複数の仮想マシン２１が構築されたシステムにおいて、仮想マシン上でシステム内の情報を得るために、情報の管理・取得に係るソフトウェアを、情報提供を行う仮想マシン上で動作させる必要がない。つまり、システムを構成する第１仮想マシン２１１及び第２仮想マシン２１２において、ソフトウェア構成を重複させる必要がない。その結果、本実施形態では、複数の仮想マシン２１が構築されたシステムにおいて、記憶リソースの消費を抑制し、１つの仮想マシン上で動作するアプリケーションを介してシステム内の管理情報を提供できる。
【００５７】
以下に、上記情報提供機能の構成とその動作について説明する。
図７は、本実施形態に係る情報提供機能の構成例を示す図である。図７には、図５と同様に、第２仮想マシン２１２上で動作する情報出力用アプリケーション５１を介して、第１仮想マシン２１１上の管理情報である機器情報及び第２仮想マシン２１２上の管理情報である搭載ソフトウェア情報を提供する機能構成例が示されている。
【００５８】
上述したように、本実施形態に係る画像処理装置１００が有する情報提供機能は、各仮想マシン上で動作する情報管理モジュール群３０、情報取得モジュール群４０、及び情報提供アプリ（情報出力用アプリケーション５１）により実現される。よって、図７には、これらのソフトウェアが有する機能部が示されている。以降では、各仮想マシン上で機能する機能部の機能名を総称する際には、共通する名称と参照符号を用いることとする。
【００５９】
図７に示すように、第１仮想マシン２１１上では、管理情報固有部として機能する機器情報管理プログラム３１及び機器情報取得プログラム４２１と、管理情報共通部として機能する情報取得プログラム（共通部）４１１とが動作する。
【００６０】
機器情報管理プログラム３１は、機器情報を管理する手段として機能する。また機器情報取得プログラム４２１は、機器情報を取得する手段として機能する。
【００６１】
情報取得プログラム（共通部）４１１は、仮想マシン間通信部４１２１を有し、第２仮想マシン２１２と通信する手段として機能する。本実施形態では、第１仮想マシン２１１と第２仮想マシン２１２との間の通信にＲＭＩ（Remote Method Invocation）を用いる例を示す。ＲＭＩとは、異なる仮想マシン間でオブジェクト同士がメッセージをやりとりするための通信手段である。
【００６２】
一方、第２仮想マシン２１２上では、管理情報固有部として機能する搭載ソフトウェア情報管理プログラム３２及び搭載ソフトウェア情報取得プログラム４２２と、管理情報共通部として機能する情報取得プログラム（共通部）４１２と、情報提供部として機能する情報出力用アプリケーション５１とが動作する。
【００６３】
搭載ソフトウェア情報管理プログラム３２は、搭載ソフトウェア情報を管理する手段として機能する。また搭載ソフトウェア情報取得プログラム４２２は、搭載ソフトウェア情報を取得する手段として機能する。
【００６４】
情報取得プログラム（共通部）４１２は、仮想マシン間通信部４１２２を有し、第１仮想マシン２１１と通信する手段として機能する。つまり、仮想マシン間通信は、第１仮想マシン２１１上で機能する仮想マシン間通信部４１２１と、第２仮想マシン２１２上で機能する仮想マシン間通信部４１２２とにより実現される。
【００６５】
さらに情報取得プログラム（共通部）４１２は、インタフェース生成部４１１及びプログラム管理部４１３を有し、情報提供部と管理情報固有部とのインタフェースを生成する手段及び各仮想マシン上で管理する提供可能な情報を登録する手段として機能する。
【００６６】
インタフェース生成部４１１は、情報出力用アプリケーション５１と情報取得モジュール群４０とのインタフェースを生成する機能部である。インタフェース生成部４１１は、画像処理装置１００に構築された全ての仮想マシン２１上に上記インタフェースを生成する。
【００６７】
具体的な生成動作は、次の通りである。本実施形態に係る画像処理装置１００のシステムを例にすると、インタフェース生成部４１１は、まず自身が機能する第２仮想マシン２１２上にインタフェース部６１２を生成する。続いて、インタフェース生成部４１１は、仮想マシン間通信部４１２２を介して第１仮想マシン２１１（他の仮想マシン）にインタフェースの生成を要求する。その結果、第１仮想マシン２１１上には、インタフェース部６１１が生成される。インタフェース生成部４１１は、実行結果として得られたインタフェース生成結果を、後述するプログラム管理部４１３に渡し、利用登録を行う。
【００６８】
画像処理装置１００では、この機能により、情報出力用アプリケーション５１が、生成されたインタフェースを介して、各仮想マシン上で動作する機器情報取得プログラム３１及び搭載ソフトウェア情報取得プログラム３２にアクセスする前処理が完了する。
【００６９】
プログラム管理部４１３は、各仮想マシン上で管理する提供可能な情報に対応する情報管理プログラム（情報管理モジュール群４０）を管理する機能部である。
【００７０】
具体的な管理動作は、次の通りである。プログラム管理部４１３は、各仮想マシン上で動作する情報管理プログラムを検索し、その検索結果に基づき、各仮想マシン上で管理する提供可能な情報の有無を判断する。そのため、プログラム管理部４１３は、情報有無の判定を行う情報有無判定部７１を有している。情報有無判定部７１は、検索結果から、仮想マシン２１上に動作する情報管理プログラムが存在すれば、提供可能な情報があると判断する。プログラム管理部４１３は、情報有無判定結果に基づき、仮想マシン２１上で動作する情報管理プログラムに係る情報を登録する。
【００７１】
本実施形態に係る画像処理装置１００のシステムを例にすると、プログラム管理部４１３は、まず自身が機能する第２仮想マシン２１２上で動作する情報管理プログラムを検索する。その結果、検索結果として搭載ソフトウェア情報管理プログラム３２の情報を得る。続いて、プログラム管理部４１３は、仮想マシン間通信部４１２２を介して第１仮想マシン２１１に情報管理プログラムの検索を要求する。その結果、検索結果として機器情報管理プログラム３１の情報を得る。これにより、プログラム管理部４１３は、情報有無判定部７１により、各仮想マシン上で管理する提供可能な情報が、機器情報及び搭載ソフトウェア情報であると判断する。続いて、プログラム管理部４１３は、機器情報管理プログラム３１及び搭載ソフトウェア情報管理プログラム３２の情報（登録プログラム情報）を所定の記憶領域（例えば「ＲＡＭ」）に格納する。登録プログラム情報には、例えば情報管理プログラムが動作する仮想マシン２１の情報（動作場所に係る情報）などが含まれている。これにより、プログラム管理部４１３は、各仮想マシン上で管理する提供可能な情報に対応する情報管理プログラムを、登録プログラム情報により管理する。
【００７２】
画像処理装置１００では、この機能により、システム内で管理する情報の中から、インタフェースを介して情報出力用アプリケーション５１に提供可能な情報を特定する前処理が完了する。
【００７３】
本実施形態に係る画像処理装置１００では、プログラム管理部４１３により、１つの仮想マシン上に、各仮想マシン上で動作する情報管理プログラムの情報を集約し、システム内に分散して管理されている提供可能な情報を登録する。
【００７４】
これにより、システムを構成する第１仮想マシン２１１及び第２仮想マシン２１２において、情報の管理・取得に係るソフトウェア構成を重複させる必要がなく、記憶リソースの消費を抑制できる。
【００７５】
また、第２仮想マシン２１２上で動作する情報出力用アプリケーション５１は、画面生成部５１１、要求受付部５１２、及び出力実行部５１３を有し、情報出力に係る操作画面を生成する手段、出力要求を受け付ける手段、及び指示された情報出力を実行する手段として機能する。
【００７６】
画面生成部５１１は、インタフェース部６１２を介して、プログラム管理部４１３で管理する登録プログラム情報に基づき、提供可能な情報から出力情報を選択するなどの情報出力に係る操作画面を生成する機能部である。
【００７７】
要求受付部５１２は、生成された画面を介して、選択指定及び／又は入力された操作情報を受け取り、情報出力に係る要求を受け付ける機能部である。要求受付部５１２により受け取る操作情報には、例えば情報出力要求における指定出力情報や指定出力形式などがある。要求受付部５１２は、インタフェース部６１２を介して、受け取った操作情報を要求に応じた処理を行う所定の機能部に渡す。
【００７８】
出力実行部５１３は、インタフェース部６１２を介して指示された情報出力を実行する機能部である。出力実行部５１３は、情報出力の実行が指示されたときに、インタフェース部６１２を介して受け取った、機器情報取得プログラム３１及び搭載ソフトウェア情報取得プログラム３２からの取得情報を、指定された形式に従って出力する。
【００７９】
画像処理装置１００では、これらの機能部により、ユーザが所望する情報提供を行う。
【００８０】
このように、本実施形態に係る情報提供機能は、上記各機能部が連係動作することにより実現される。
【００８１】
次に、情報提供機能の詳細な動作（機能部群の連係動作）について、処理手順を示すシーケンス図を用いて説明する。
【００８２】
情報提供機能は、画像処理装置１００に搭載（インストール）されるプログラム（情報提供に係るソフトウェア）が、ＣＰＵ１１１により、格納先（例えば「ＲＯＭ」）からＲＡＭ上に読み出され、以下の処理が実行されることで実現される。なお以降には、この情報提供処理を３つの処理（処理１，２，３）に分けて順に説明する。
【００８３】
《処理１》
以下に、各仮想マシン上で管理する提供可能な情報の登録処理について説明する。
【００８４】
図８は、本実施形態に係る提供可能情報の登録を行う処理手順例を示すシーケンス図である。なお、画像処理装置１００の起動時には、第１仮想マシン２１１上で、機器情報管理プログラム３１、機器情報取得プログラム４２１、及び情報取得プログラム（共通部）４１１が実行される。また、第２仮想マシン２１２上では、搭載ソフトウェア情報管理プログラム３２、搭載ソフトウェア情報取得プログラム４２２、情報取得プログラム（共通部）４１２、及び情報出力用アプリケーション５１が実行される。
【００８５】
上記点を踏まえ、画像処理装置１００では、第２仮想マシン２１２上で次のような処理が開始される。
【００８６】
インタフェース生成部４１１は、自身が機能する第２仮想マシン２１２上にインタフェース部６１２を生成し（ステップＳ１０１１）、生成したインタフェース部６１２から生成結果を得る。インタフェース生成部４１１は、得られた生成結果をプログラム管理部４１３に渡し、インタフェース部６１２の利用登録を行う（ステップＳ１０２１）。
【００８７】
また、インタフェース生成部４１１は、自身が機能する第２仮想マシン２１２以外に、動作中の他の仮想マシン（第１仮想マシン２１１）が存在する場合、次のような処理を行う。インタフェース生成部４１１は、インタフェース部６１２を介して第１仮想マシン２１１にインタフェースの生成を要求する（ステップＳ１０１２）。インタフェース部６１２は、要求に従って仮想マシン間通信部４１２２に生成要求の送信を指示する（ステップＳ１０２２）。仮想マシン間通信部４１２２は、第１仮想マシン２１１と通信（ＲＭＩ通信）を行い、生成要求を送信する（ステップＳ１０３２）。
【００８８】
このようにして第２仮想マシン２１２から送信された生成要求は、第１仮想マシン２１１上で情報取得プログラム（共通部）４１１が実行されることで機能する仮想マシン間通信部４１２１により受信される。
【００８９】
仮想マシン間通信部４１２１は、受信した生成要求に従って、第１仮想マシン２１１上にインタフェース部６１１を生成し（ステップＳ１０４２）、生成したインタフェース部６１２から生成結果を得る。仮想マシン間通信部４１２１は、第２仮想マシン２１２と通信（ＲＭＩ通信）を行い、生成要求への応答として生成結果を送信する（ステップＳ１０５２）。
【００９０】
このようにして第１仮想マシン２１１から送信された生成結果は、第２仮想マシン２１２上の仮想マシン間通信部４１２２により受信される。
【００９１】
仮想マシン間通信部４１２２は、受信した生成結果を、インタフェース６１２を介して、要求元のインタフェース生成部４１１に渡す。
【００９２】
インタフェース生成部４１１は、得られた生成結果をプログラム管理部４１３に渡し、インタフェース部６１１の利用登録を行う（ステップＳ１０６２）。
【００９３】
続いて、プログラム管理部４１３は、各仮想マシン上で動作する情報管理プログラムを検索し、その検索結果に基づき、情報有無判定部７１により、各仮想マシン上で管理する提供可能な情報の有無を判断する（ステップＳ２０１）。
【００９４】
プログラム管理部４１３は、自身が機能する第２仮想マシン２１２上で動作する情報管理プログラムを検索し（ステップＳ２０２１）、検索結果として搭載ソフトウェア情報管理プログラム３２の情報を得る。
【００９５】
また、プログラム管理部４１３は、自身が機能する第２仮想マシン２１２以外に、動作中の他の仮想マシン（第１仮想マシン２１１）が存在する場合、次のような処理を行う。プログラム管理部４１３は、インタフェース部６１２を介して第１仮想マシン２１１に情報管理プログラムの検索を要求する（ステップＳ２０２２）。インタフェース部６１２は、要求に従って仮想マシン間通信部４１２２に検索要求の送信を指示する（ステップＳ２０３２）。仮想マシン間通信部４１２２は、第１仮想マシン２１１と通信（ＲＭＩ通信）を行い、検索要求を送信する（ステップＳ２０４２）。
【００９６】
このようにして第２仮想マシン２１２から送信された検索要求は、第１仮想マシン２１１上の仮想マシン間通信部４１２１により受信される。
【００９７】
仮想マシン間通信部４１２１は、受信した検索要求に従い、インタフェース部６１１を介して、第１仮想マシン２１１上で動作する情報管理プログラムを検索し（ステップＳ２０５２，２０６２）、検索結果として機器情報管理プログラム３１の情報を得る。仮想マシン間通信部４１２１は、第２仮想マシン２１２と通信（ＲＭＩ通信）を行い、検索要求への応答として検索結果を送信する（ステップＳ２０７２）。
【００９８】
このようにして第１仮想マシン２１１から送信された検索結果は、第２仮想マシン２１２上の仮想マシン間通信部４１２２により受信される。
【００９９】
仮想マシン間通信部４１２２は、受信した検索結果を、インタフェース６１２を介して、要求元のプログラム管理部４１３に渡す。
【０１００】
プログラム管理部４１３は、検索結果として得られた機器情報管理プログラム３１及び搭載ソフトウェア情報管理プログラム３２の情報を所定の記憶領域（例えば「ＲＡＭ」）に格納し、各仮想マシン上で管理する提供可能な情報に対応する情報管理プログラムを登録する（ステップＳ２０８）。
【０１０１】
《処理２》
以下に、情報出力に係る操作画面の生成処理について説明する。
【０１０２】
図９は、本実施形態に係る情報出力の操作画面表示を行う処理手順例を示すシーケンス図である。ここで言う「情報出力の操作画面」は、画像処理装置１００の起動終了後（上記処理１が終了後）、例えばユーザが、画像処理装置１００が備える操作パネル１２０に表示された情報出力を指示する操作ボタンを押下したときに表示される。また、本実施形態では、上記情報出力の指示を、情報出力用アプリケーション５１が動作する第２仮想マシン２１２側で受け付ける。
【０１０３】
上記点を踏まえ、画像処理装置１００では、第２仮想マシン２１２上で動作する情報取得プログラム（共通部）４１２により、次のような処理が開始される。
【０１０４】
インタフェース部６１２は、第２仮想マシン２１２上で受け付けた上記情報出力の指示に連動して、情報出力に係る操作画面の表示要求を受け付ける（ステップＳ３０１）。
【０１０５】
インタフェース部６１２は、表示要求を受け付けると、プログラム管理部４１３に登録プログラム情報の取得を要求する（ステップＳ３０２）。すなわち、インタフェース部６１２は、上記ステップＳ２０８において所定の記憶領域に格納した情報管理プログラムの情報（登録プログラム情報）の取得を要求する。
【０１０６】
プログラム管理部４１３は、取得要求に従って、提供可能な情報に対応して登録されている情報管理プログラムの登録プログラム情報を取得し（ステップＳ３０３）、取得情報を要求元のインタフェース部６１２に渡す。
【０１０７】
インタフェース部６１２は、取得情報に基づき、情報出力用アプリケーション５１が実行されることで機能する画面生成部５１１に画面表示を要求する（ステップＳ３０４）。このとき、インタフェース部６１２は、操作画面上に表示する選択指定可能な出力情報として、画面生成部５１１に取得情報を渡す。
【０１０８】
その結果、画面生成部５１１は、例えば図１０に示すような情報出力に係る操作画面を生成し、操作パネル１２０に表示する（ステップＳ３０５）。
【０１０９】
図１０は、本実施形態に係る情報出力の操作画面例を示す図である。
例えば、画面生成部５１１では、インタフェース部６１２から、第１仮想マシン２１１上で動作する機器情報管理プログラム３１及び第２仮想マシン２１２上で動作する搭載ソフトウェア情報管理プログラム３２の各情報が渡された場合、図１０（Ａ）に示すような操作画面を生成する。また、画面生成部５１１では、インタフェース部６１２から、第１仮想マシン２１１上で動作する機器情報管理プログラム３１の情報が渡された場合、図１０（Ｂ）に示すような操作画面を生成する。
【０１１０】
つまり、情報出力に係る操作画面上に表示される選択指定可能な出力情報は、プログラム管理部４１３に登録された情報管理プログラムで管理する情報にあたる。
【０１１１】
ユーザは、このようにして表示された操作画面上で、出力情報及び出力形式（例えば「印刷」や「電子メール送信」）を指定し、情報出力の実行（情報提供）を指示する。
【０１１２】
《処理３》
以下に、指定された出力情報の取得処理及び取得情報の出力処理について説明する。以下に説明する情報取得処理及び情報出力処理には、出力情報として第１仮想マシン２１１上の管理情報が指定された場合と、第２仮想マシン２１２上の管理情報が指定された場合とに大別できる。
【０１１３】
本実施形態に係る画像処理装置１００では、第２仮想マシン２１２上で情報出力用アプリケーション５１が動作する。このことから、出力情報として第２仮想マシン２１２上の管理情報が指定された場合の情報取得処理では、仮想マシン間通信を行わず、指定された出力情報が取得される。一方、出力情報として第１仮想マシン２１１上の管理情報が指定された場合の情報取得処理では、仮想マシン間通信を行い、指定された出力情報を取得する。
【０１１４】
図１１は、本実施形態に係る指定出力情報の提供を行う処理手順例を示すシーケンス図（その１）である。図１１には、出力情報として第２仮想マシン２１２上で管理される搭載ソフトウェア情報が指定された場合の情報取得処理及び情報出力処理の例が示されている。また、本実施形態では、操作画面を介して受け付けた上記情報出力に係る指定及び実行指示を、情報出力用アプリケーション５１が動作する第２仮想マシン２１２側で受け付ける。
【０１１５】
上記点を踏まえ、画像処理装置１００では、第２仮想マシン２１２上で動作する情報出力用アプリケーション５１により、次のような処理が開始される。
【０１１６】
要求受付部５１２は、第２仮想マシン２１２上で受け付けた上記情報出力の実行指示に連動して、情報出力要求を受け付ける（ステップＳ４０１）。
【０１１７】
要求受付部５１２は、情報出力要求を受け付けると、インタフェース部６１２に指定された情報出力を指示する（ステップＳ４０２）。このとき、要求受付部５１２は、操作画面を介して受け付けた指定出力情報及び指定出力形式情報を、インタフェース部６１２に渡す。
【０１１８】
インタフェース部６１２は、情報出力指示を受け付けると、プログラム管理部４１３に、指定された出力情報に対応する情報管理プログラムの登録プログラム情報の取得を要求する（ステップＳ４０３）。本実施形態では、インタフェース部６１２は、指示されたときに要求受付部５１２から受け取った搭載ソフトウェア情報の識別子（指定出力情報）に基づき、所定の記憶領域に格納した情報管理プログラムの情報（登録プログラム情報）の中から、搭載ソフトウェア情報管理プログラム３２の登録プログラム情報（該当する情報管理プログラムの情報）の取得を要求する。
【０１１９】
プログラム管理部４１３は、取得要求に従って、搭載ソフトウェア情報管理プログラム３２の登録プログラム情報を取得し（ステップＳ４０４）、取得情報を要求元のインタフェース部６１２に渡す。
【０１２０】
続いて、インタフェース部６１２は、取得情報に基づき、搭載ソフトウェア情報取得プログラム４２２に、搭載ソフトウェア情報（指定出力情報）の取得を要求する（ステップＳ５０１）。このとき、インタフェース部６１２は、取得要求されたときに受け取った取得情報に含まれる情報管理プログラムの動作場所に係る情報（第２仮想マシン２１２の情報）に基づき、搭載ソフトウェア情報管理プログラム３２と一対の関係にある情報取得プログラムを特定する。これにより、インタフェース部６１２は、特定した搭載ソフトウェア情報取得プログラム４２２に、搭載ソフトウェア情報の取得を要求する。
【０１２１】
搭載ソフトウェア情報取得プログラム４２２は、取得要求に従って、搭載ソフトウェア情報管理プログラム３２から搭載ソフトウェア情報を取得し（ステップＳ５０２，Ｓ５０３）、取得情報を要求元のインタフェース部６１２に渡す。
【０１２２】
続いて、インタフェース部６１２は、情報出力用アプリケーション５１が実行されることで機能する出力実行部５１３に、指定された出力形式に従った情報出力の実行を指示する（ステップＳ６０１）。このとき、インタフェース部６１２は、取得情報及び指定出力形式情報を出力実行部５１３に渡し、情報出力の実行を指示する。
【０１２３】
出力実行部５１３は、実行指示を受け付けると、指定された出力形式に従って、搭載ソフトウェア情報を含む出力データを生成する（ステップＳ６０２）。出力実行部５１３は、例えば、指定出力形式情報に「印刷」が指定されている場合、搭載ソフトウェア情報を含むＰＤＦ（Portable Document Format）データを生成する。また、指定出力形式情報に「電子メール送信」が指定されている場合には、予め設定しておいた送信先情報（メールアドレス）及び本文に搭載ソフトウェア情報を含む電子メールデータ（例えば拡張子が「*.pst」、「*.msg」、「*eml」などのデータ）を生成する。
【０１２４】
出力実行部５１３は、出力データが生成すると、情報出力を実行する（ステップＳ６０３）。出力実行部５１３は、例えば、指定出力形式情報に「印刷」が指定されている場合、画像処理装置１００が備えるプロッタ１３０により印刷を実行する。また、指定出力形式情報に「電子メール送信」が指定されている場合には、画像処理装置１００が備えるネットワークＩ／Ｆ１１３を介して電子メール送信を実行する。
【０１２５】
図１２は、本実施形態に係る指定出力情報の提供を行う処理手順例を示すシーケンス図（その２）である。図１２には、出力情報として第１仮想マシン２１１上で管理される機器情報が指定された場合の情報取得処理及び情報出力処理の例が示されている。
【０１２６】
要求受付部５１２は、第２仮想マシン２１２上で受け付けた上記情報出力の実行指示に連動して、情報出力要求を受け付ける（ステップＳ７０１）。
【０１２７】
要求受付部５１２は、情報出力要求を受け付けると、インタフェース部６１２に指定された情報出力を指示する（ステップＳ７０２）。このとき、要求受付部５１２は、操作画面を介して受け付けた指定出力情報及び指定出力形式情報を、インタフェース部６１２に渡す。
【０１２８】
インタフェース部６１２は、情報出力指示を受け付けると、プログラム管理部４１３に、指定された出力情報に対応する情報管理プログラムの登録プログラム情報の取得を要求する（ステップＳ７０３）。本実施形態では、インタフェース部６１２は、指示されたときに要求受付部５１２から受け取った機器情報の識別子（指定出力情報）に基づき、所定の記憶領域に格納した情報管理プログラムの情報（登録プログラム情報）の中から、機器情報管理プログラム３１の登録プログラム情報（該当する情報管理プログラムの情報）の取得を要求する。
【０１２９】
プログラム管理部４１３は、取得要求に従って、搭載ソフトウェア情報管理プログラム３１の登録プログラム情報を取得し（ステップＳ７０４）、取得情報を要求元のインタフェース部６１２に渡す。
【０１３０】
続いて、インタフェース部６１２は、取得情報に基づき、指定された出力情報が、自身が機能する第２仮想マシン２１２以外の他の仮想マシン（第１仮想マシン２１１）で管理される情報の場合、次のような処理を行う。インタフェース部６１２は、仮想マシン間通信部４１２２に、機器情報（指定出力情報）の取得要求の送信を指示する（ステップＳ８０１）。仮想マシン間通信部４１２２は、第１仮想マシン２１１と通信（ＲＭＩ通信）を行い、取得要求を送信する（ステップＳ８０２）。
【０１３１】
このようにして第２仮想マシン２１２から送信された取得要求は、第１仮想マシン２１１上の仮想マシン間通信部４１２１により受信される。
【０１３２】
仮想マシン間通信部４１２１は、受信した取得要求に従い、インタフェース部６１１を介して、第１仮想マシン２１１上で動作する機器情報取得プログラム４２１に、機器情報（指定出力情報）の取得を要求する（ステップＳ８０４）。このとき、インタフェース部６１１は、取得要求されたときに受け取った取得情報に含まれる情報管理プログラムの動作場所に係る情報（第１仮想マシン２１１の情報）に基づき、機器情報管理プログラム３２と一対の関係にある情報取得プログラムを特定する。これにより、インタフェース部６１１は、特定した機器情報取得プログラム４２１に、機器情報の取得を要求する。
【０１３３】
機器情報取得プログラム４２１は、取得要求に従って、機器情報管理プログラム３１から機器情報を取得し（ステップＳ８０５，Ｓ８０６）、取得情報を要求元のインタフェース部６１１に渡す。仮想マシン間通信部４１２１は、第２仮想マシン２１２と通信（ＲＭＩ通信）を行い、取得要求への応答として取得情報を送信する（ステップＳ８０７）。
【０１３４】
このようにして第１仮想マシン２１１から送信された取得情報は、第２仮想マシン２１２上の仮想マシン間通信部４１２２により受信される。
【０１３５】
仮想マシン間通信部４１２２は、受信した取得情報をインタフェース６１２に渡す。
【０１３６】
続いて、インタフェース部６１２は、情報出力用アプリケーション５１が実行されることで機能する出力実行部５１３に、指定された出力形式に従った情報出力の実行を指示する（ステップＳ９０１）。このとき、インタフェース部６１２は、取得情報及び指定出力形式情報を出力実行部５１３に渡し、情報出力の実行を指示する。
【０１３７】
出力実行部５１３は、実行指示を受け付けると、指定された出力形式に従って、機器情報を含む出力データを生成する（ステップＳ９０２）。出力実行部５１３は、例えば、指定出力形式情報に「印刷」が指定されている場合、機器情報を含むＰＤＦデータを生成する。また、指定出力形式情報に「電子メール送信」が指定されている場合には、予め設定しておいた送信先情報（メールアドレス）及び本文に機器情報を含む電子メールデータを生成する。
【０１３８】
出力実行部５１３は、出力データが生成すると、情報出力を実行する（ステップＳ６０３）。出力実行部５１３は、例えば、指定出力形式情報に「印刷」が指定されている場合、画像処理装置１００が備えるプロッタ１３０により印刷を実行する。また、指定出力形式情報に「電子メール送信」が指定されている場合には、画像処理装置１００が備えるネットワークＩ／Ｆ１１３を介して電子メール送信を実行する。
【０１３９】
本実施形態に係る画像処理装置１００では、このような処理により、ユーザが所望する情報提供を行う。
【０１４０】
＜まとめ＞
以上のように、本実施形態に係る画像処理装置１００によれば、起動時に、当該装置に構築された各仮想マシン上で管理する提供可能な情報を確認する。その後、画像処理装置１００は、要求された情報提供に応じて、次のような確認結果に基づく情報取得を行う。
【０１４１】
画像処理装置１００は、情報提供アプリ（情報出力用アプリケーション５１）が動作する仮想マシン２１（第２仮想マシン２１２）の管理情報（搭載ソフトウェア情報）が要求された場合、同仮想マシン上で動作する情報管理プログラム（搭載ソフトウェア情報管理プログラム３２）から情報を取得する。
【０１４２】
また画像処理装置１００は、他の仮想マシン２１（第１仮想マシン２１１）の管理情報（機器情報）が要求された場合、仮想マシン間通信（ＲＭＩ通信）により、他の仮想マシン上で動作する情報管理プログラム（機器情報管理プログラム３１）から情報を取得する。
【０１４３】
画像処理装置１００は、このようにして取得した情報を、要求時に指定された出力形式に従って提供する。
【０１４４】
これによって、画像処理装置１００は、複数の仮想マシン２１が構築されたシステムにおいて、記憶リソースの消費を抑制し、１つの仮想マシン上で動作するアプリケーションを介してシステム内の管理情報を提供できる。本実施形態では、具体的に次の通りである。第１仮想マシン２１１及び第２仮想マシン２１２が構築されたシステムにおいて、記憶リソースの消費を抑制し、第２仮想マシン２１２上で動作する情報出力用アプリケーション５１を介してシステム内の管理情報、すなわち、第１仮想マシン２１１上で管理される機器情報及び第２仮想マシン２１２上で管理される搭載ソフトウェア情報を提供できる。
【０１４５】
［変形例］
ここからは、上記実施形態の変形例について説明する。
【０１４６】
＜仮想マシン間における情報提供機能＞
図１３は、本変形例に係る複数の仮想マシンが構築されたシステムのソフトウェア構成例を示す図である。
【０１４７】
上記実施形態で図１１を用いて示したソフトウェア構成と、図１３に示す本変形例に係るソフトウェア構成との違いは、管理情報ごとに、提供可能な情報の内容が所定の形式に従って定義された出力定義データ８０が用意されている点である。図１３には、管理情報である機器情報及び搭載ソフトウェア情報に対応して、情報出力用アプリケーション５１が動作する第２仮想マシン２１２が、ＸＭＬ（eXtensible Markup Language）形式の機器情報用出力定義データ８１及び搭載ソフトウェア情報用出力定義データ８２を保持する例が示されている。
【０１４８】
図１４は、本変形例に係る出力定義データ８０の例を示す図である。
図１４に示すように、出力定義データ８０は、主に、対応する情報取得プログラム（固有部）４２の種別を識別するプログラム種別情報と、提供する情報の名称・カテゴリを示す１又は複数の内容情報とが、所定のタグにより定義され、互いに関連付けられている。
【０１４９】
具体的には、次の通りである。プログラム種別情報は、タグ"＜information-set＞"により定義されている。内容情報は、タグ"＜information type＞"によりカテゴリが定義され、タグ"＜information name＞"により名称が定義されている。また内容情報は、プログラム種別情報を定義するタグ内に、複数定義することができる。つまり、対応する情報取得プログラム（固有部）４２から提供する情報を複数定義することができる。
【０１５０】
図１４（Ａ）には、機器情報用出力定義データ８１のデータ例が示されている。この機器情報用出力定義データ８１には、プログラム種別情報に「機器情報」が定義されており、機器情報取得プログラム４２１が情報提供に係るソフトウェアとして対応付けられている。またプログラム種別情報を定義するタグ内には、２つの内容情報が定義されている。１つ目の内容情報には、カテゴリに「ＭＦＰ」、名称に「機種モデル名」及び「製造番号」が定義されており、２つ目の内容情報には、カテゴリに「ＳＵＰＰＬＹ」、名称に「黒トナー残量」及び「第１給紙トレイ用紙残量」が定義されている。
【０１５１】
図１４（Ｂ）には、搭載ソフトウェア情報用出力定義データ８２のデータ例が示されてる。この搭載ソフトウェア情報用出力定義データ８２には、プログラム種別情報に「搭載ソフトウェア情報」が定義されており、搭載ソフトウェア情報取得プログラム４２２が情報提供に係るソフトウェアとして対応付けられている。またプログラム種別情報を定義するタグ内には、２つの内容情報が定義されている。１つ目の内容情報には、カテゴリに「ソフトウェア」、名称に「ソフトウェア名」及び「プロダクトキー」が定義されており、２つ目の内容情報には、カテゴリに「ＶＥＲＳＩＯＮ」、名称に「バージョン」が定義されている。
【０１５２】
これら出力定義データ８０は、対応付けられた情報取得プログラム（固有部）４２（プログラム種別情報により定義されたプログラム）により読み込まれる。情報取得プログラム（固有部）４２は、出力定義データ８０の定義内容（データ内の内容情報）に従って、情報出力用アプリケーション５１を介して情報提供を制御する。例えば、機器情報用出力定義データ８１の場合には、機器情報取得プログラム４２１から、画像処理装置１００の機器情報のうち、機種モデル名、製造番号、黒トナー残量、及び第１給紙トレイ用紙残量に係る各種情報が提供される。また、搭載ソフトウェア情報用出力定義データ８２の場合には、搭載ソフトウェア情報取得プログラム４２２から、画像処理装置１００の搭載ソフトウェア情報のうち、ソフトウェア名、プロダクトキー、及びバージョンに係る各種情報が提供される。
【０１５３】
このように、本変形例では、情報取得プログラム（固有部）４２が情報管理プログラムから取得する情報を外部データとして定義可能な構成とすることで、管理情報として提供可能な情報の変更を、外部データの追加・削除・更新により、容易に対応することができる。
【０１５４】
なお、これら出力定義データ８０は、必ずしも情報取得プログラム（固有部）４２と一対の関係である必要はない。例えば、１つの情報取得プログラム（固有部）４２に対して、複数の出力定義データ８０を対応付けた構成であってもよい。
【０１５５】
次に、本変形例に係る情報提供機能の動作について説明する。なお、本変形に係る情報提供機能の構成については、第１の実施形態に示した構成と同じであるため、ここでの説明は省略する。また以降には、上述したソフトウェア構成により、第１の実施形態に示した処理手順と異なる点についてのみ説明する。
【０１５６】
《処理２》
以下に、情報出力に係る操作画面の生成処理について説明する。
【０１５７】
図１５は、本変形例に係る情報出力の操作画面表示を行う処理手順例を示すシーケンス図である。画像処理装置１００では、第２仮想マシン２１２上で動作する情報取得プログラム（共通部）４１２により、次のような処理が開始される。
【０１５８】
インタフェース部６１２は、第２仮想マシン２１２上で受け付けた情報出力の指示に連動して、情報出力に係る操作画面の表示要求を受け付ける（ステップＳ１００１）。
【０１５９】
インタフェース部６１２は、表示要求を受け付けると、プログラム管理部４１３に登録プログラム情報の取得を要求する（ステップＳ１００２）。すなわち、インタフェース部６１２は、所定の記憶領域に格納した情報管理プログラムの情報（登録プログラム情報）の取得を要求する。
【０１６０】
プログラム管理部４１３は、取得要求に従って、提供可能な情報に対応して登録されている情報管理プログラムの登録プログラム情報を取得する（ステップＳ１００３）。
【０１６１】
またプログラム管理部４１３は、取得した登録プログラム情報に基づき、対応付けて保持される出力定義データ８０を読み取り、データ内に定義される出力定義情報（内容情報）を取得する。本変形例では、取得した登録プログラム情報に、機器情報管理プログラム３１及び搭載ソフトウェア情報管理プログラム３２に係る情報が含まれる。このことから、プログラム管理部４１３は、機器情報管理プログラム３１と一対の関係にある機器情報取得プログラム４２１が対応付けられた機器情報用出力定義データ８１から、機器情報の出力に係る定義情報を取得する（ステップＳ１００４）。また、プログラム管理部４１３は、搭載ソフトウェア情報管理プログラム３２と一対の関係にある搭載ソフトウェア情報取得プログラム４２２が対応付けられた搭載ソフトウェア情報用出力定義データ８２から、搭載ソフトウェア情報の出力に係る定義情報を取得する（ステップＳ１００５）。
【０１６２】
プログラム管理部４１３は、これらの取得情報（登録プログラム情報及び出力定義情報）を要求元のインタフェース部６１２に渡す。
【０１６３】
インタフェース部６１２は、取得情報に基づき、情報出力用アプリケーション５１が実行されることで機能する画面生成部５１１に画面表示を要求する（ステップＳ１００６）。このとき、インタフェース部６１２は、操作画面上に表示する選択指定可能な出力情報として、画面生成部５１１に取得情報を渡す。
【０１６４】
その結果、画面生成部５１１は、例えば図１６に示すような情報出力に係る操作画面を生成し、操作パネル１２０に表示する（ステップＳ１００７）。
【０１６５】
図１６は、本変形例に係る情報出力の操作画面例を示す図である。
例えば、画面生成部５１１では、インタフェース部６１２から、第１仮想マシン２１１上で動作する機器情報管理プログラム３１及び第２仮想マシン２１２上で動作する搭載ソフトウェア情報管理プログラム３２の各情報が渡された場合、図１６に示すような操作画面を生成する。
【０１６６】
図１６に示す操作画面例では、機器情報内のサプライ情報、搭載ソフトウェア情報のバージョン情報及び有効期限情報が、選択指定可能な出力情報として表示されている。このような選択指定可能な出力情報が表示される場合には、機器情報用出力定義データ８１に、機器情報のうち提供可能な情報としてサプライ情報が定義され、搭載ソフトウェア情報用出力定義データ８２には、搭載ソフトウェア情報のうち提供可能な情報としてバージョン情報及び有効期限情報が定義されている場合である。
【０１６７】
このように、本変形例では、出力定義データ８０の定義内容により提供情報を制御することができる。
【０１６８】
《処理３》
以下に、指定された出力情報の取得処理及び取得情報の出力処理について説明する。
【０１６９】
図１７は、本変形例に係る指定出力情報の提供を行う処理手順例を示すシーケンス図である。第１の実施形態に示した処理手順（図１１）と本変形例に係る処理手順との違いは、情報出力用アプリケーション５１が実行されることで機能する出力実行部５１３の動作である。
【０１７０】
インタフェース部６１２は、情報出力用アプリケーション５１が実行されることで機能する出力実行部５１３に、指定された出力形式に従った情報出力の実行を指示する（ステップＳ１１０１）。
【０１７１】
出力実行部５１３は、実行指示を受け付けると、指定された出力形式に従って、機器情報を含む出力データを生成する（ステップＳ１１０２）。本変形例では、取得した登録プログラム情報に、機器情報管理プログラム３１及び搭載ソフトウェア情報管理プログラム３２に係る情報が含まれる。このことから、出力実行部５１３は、機器情報管理プログラム３１と一対の関係にある機器情報取得プログラム４２１が対応付けられた機器情報用出力定義データ８１から、指定出力形式情報に基づく機器情報の出力形式に係る定義情報を取得する（ステップＳ１１０３）。また、出力実行部５１３は、搭載ソフトウェア情報管理プログラム３２と一対の関係にある搭載ソフトウェア情報取得プログラム４２２が対応付けられた搭載ソフトウェア情報用出力定義データ８２から、指定出力形式情報に基づく搭載ソフトウェア情報の出力形式に係る定義情報を取得する（ステップＳ１１０４）。
【０１７２】
出力実行部５１３は、例えば、指定出力形式情報に「印刷」が指定されている場合、機器情報を含むＰＤＦデータを生成する。また、指定出力形式情報に「電子メール送信」が指定されている場合には、予め設定しておいた送信先情報（メールアドレス）及び本文に機器情報を含む電子メールデータ（例えば拡張子が「*.pst」、「*.msg」、「*eml」などのデータ）を生成する。
【０１７３】
出力実行部５１３は、出力データが生成すると、情報出力を実行する（ステップＳ１１０５）。出力実行部５１３は、例えば、指定出力形式情報に「印刷」が指定されている場合、画像処理装置１００が備えるプロッタ１３０により印刷を実行する。また、指定出力形式情報に「電子メール送信」が指定されている場合には、画像処理装置１００が備えるネットワークＩ／Ｆ１１３を介して電子メール送信を実行する。
【０１７４】
このように、本変形例では、出力定義データ８０の定義内容により提供情報の出力形式を制御することができる。
【０１７５】
＜まとめ＞
以上のように、本変形例に係る画像処理装置１００では、第１の実施形態と同様に、複数の仮想マシン２１が構築されたシステムにおいて、記憶リソースの消費を抑制し、１つの仮想マシン上で動作するアプリケーションを介してシステム内の管理情報を提供できる。さらに、本変形例では、管理情報として提供可能な情報の変更を、出力定義データ８０の追加・削除・更新により、容易に対応することができる。
【０１７６】
ここまで、上記実施形態の説明を行ってきたが、実施形態に係る画像処理装置１００が有する「仮想マシン間における情報提供機能」は、図を用いて説明を行った各処理手順を動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、ＣＰＵ１１１により実行されることで実現される。
【０１７７】
上記プログラムは、コンピュータが読み取り可能な記録媒体１１４ａに格納することができる。上記記録媒体１１４ａには、例えばＳＤメモリカード（SD Memory Card）及びＵＳＢメモリ（Universal Serial Bus Memory）などがある。
【０１７８】
よって、上記プログラムは、上記記録媒体１１４ａに記憶させることで、記録媒体１１４ａを読み取り可能な外部記憶Ｉ／Ｆ１１４などを介して画像処理装置１００にインストールすることができる。また画像処理装置１００は、ネットワークＩ／Ｆ１１３を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０１７９】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１８０】
１０      ＯＳ（表示装置側）
１１      ブラウザ
１２      Ｆｌａｓｈ  Ｐｌａｙｅｒ
１３      ソフトキーボード
２０      ＯＳ（画像処理装置側）
２１      ＪａｖａＶＭ（１：第１仮想マシン側、２：第２仮想マシン側）
２１１    ヒープメモリ
２２      Ｊａｖａコンポーネント
２２１    Ｊａｖａプラットフォーム
２２１ａ  Ｊａｖａモジュール群
２２１ｂ  ＳＤＫ  ＡＰＩ
２２２    Ｊａｖａアプリケーション
３０    情報管理モジュール群（１：第１仮想マシン側、２：第２仮想マシン側）
３１    機器情報管理プログラム（１：第１仮想マシン側、２：第２仮想マシン側）
３２    搭載ソフトウェア情報管理プログラム
４０    情報取得モジュール群（１：第１仮想マシン側、２：第２仮想マシン側）
４１    情報取得プログラム（共通部）
４１１  インタフェース生成部
４１２  仮想マシン間通信部（１：第１仮想マシン側、２：第２仮想マシン側）
４１３  プログラム管理部
４２    情報取得プログラム（固有部）
４２１  機器情報取得プログラム
４２２  搭載ソフトウェア情報取得プログラム
４２３  ＸＸＸＸ情報取得プログラム
５１    情報出力用アプリケーション
５１１  画面生成部
５１２  要求受付部
５１３  出力実行部
６１    インタフェース部（１：第１仮想マシン側、２：第２仮想マシン側）
７１    情報有無判定部
８０    出力定義データ
８１    機器情報用出力定義データ
８２    搭載ソフトウェア情報出力定義データ
１００  画像処理装置
１１０  コントローラ
１１１  ＣＰＵ（中央処理装置）
１１２  記憶装置
１１３  ネットワークＩ／Ｆ
１１４  外部記憶Ｉ／Ｆ（ａ：記録媒体）
１２０  表示装置
１３０  プロッタ（画像形成部）
１４０  スキャナ（読み取り部）
ＡＰ１  機器情報出力用アプリケーション
ＡＰ２  搭載ソフトウェア情報出力用アプリケーション
【先行技術文献】
【特許文献】
【０１８１】
【特許文献１】特開２００６−５１６７６９号公報
【図１】
2011034453.tif 000003
【図２】
2011034453.tif 000004
【図３】
2011034453.tif 000005
【図４】
2011034453.tif 000006
【図５】
2011034453.tif 000007
【図６】
2011034453.tif 000008
【図７】
2011034453.tif 000009
【図８】
2011034453.tif 000010
【図９】
2011034453.tif 000011
【図１０】
2011034453.tif 000012
【図１１】
2011034453.tif 000013
【図１２】
2011034453.tif 000014
【図１３】
2011034453.tif 000015
【図１４】
2011034453.tif 000016
【図１５】
2011034453.tif 000017
【図１６】
2011034453.tif 000018
【図１７】
2011034453.tif 000019