(57)【要約】【課題】複数のアプリケーションから環境変数の値が操作される場合に、環境変数の値に不整合等が生じることを防止する。【解決手段】ＯＳプラットフォーム１００上にＪａｖａ（登録商標）ＶＭ１１０が設けられ、複数のアプリケーション１２０が前記ＪａｖａＶＭ１１０上で実行可能に構成されると共に、前記アプリケーション１２０の実行環境に依存する環境変数であるキー１１３ａの値を各アプリケーション１２０から操作可能に構成されたプリンタ１であって、前記キー１１３ａに対する操作を仲介するプロパティ操作仲介部１１５を備え、前記プロパティ操作仲介部１１５は、前記キー１１３ａを操作するアプリケーション１２０に専用の専用キー１１３ｄを生成し、この専用キー１１３ａの値に対して操作を実行する構成とした。【選択図】図２
2007206869.tif 000002
【特許請求の範囲】
【請求項１】
ＯＳプラットフォーム上に仮想マシンが設けられ、複数のアプリケーションプログラムが前記仮想マシン上で実行可能に構成されると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能に構成された情報処理装置であって、
前記環境変数に対する操作を仲介する操作仲介手段を備え、
前記操作仲介手段は、前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行する
ことを特徴とする情報処理装置。
【請求項２】
前記操作仲介手段は、前記環境変数および値を複製して前記専用の環境変数を生成する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記仮想マシンには前記環境変数および値が複数記録されてなるシステムプロパティが設けられると共に、前記アプリケーションプログラムには識別子が予め付与され、
前記操作仲介手段は、
前記アプリケーションプログラムの識別子を前記環境変数に付して前記専用の環境変数を生成すると共に、前記専用の環境変数の値に前記環境変数の値を複製し、これら専用の環境変数および値を前記システムプロパティに追加し、この専用の環境変数の値に対して操作を実行する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記仮想マシンは、前記アプリケーションプログラムを読み込む複数のローダを備えると共に、各ローダには識別子が予め付与され、
前記操作仲介手段は、前記環境変数を操作するアプリケーションプログラムを読み込んだローダに専用の環境変数を生成し、この環境変数の値に対して操作を実行する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
ＯＳプラットフォーム上に仮想マシンを設け、複数のアプリケーションプログラムを前記仮想マシン上で実行可能に構成すると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能にした情報処理装置の情報処理方法であって、
前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行する
ことを特徴とする情報処理装置の情報処理方法。
【請求項６】
ＯＳプラットフォーム上に仮想マシンを設け、複数のアプリケーションプログラムを前記仮想マシン上で実行可能に構成すると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能にした情報処理装置を、
前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行する手段
として機能させることを特徴とするプログラム。
【請求項７】
ＯＳプラットフォーム上に仮想マシンを設け、複数のアプリケーションプログラムを前記仮想マシン上で実行可能に構成すると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能にした情報処理装置を、
前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行する手段
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムおよび記録媒体に係り、特に、ＯＳプラットフォーム上の仮想マシンで種々のアプリケーションプログラムを実行させるための技術に関する。
【背景技術】
【０００２】
近年、デジタルカメラやプリンタなどのデジタル家電製品や、ファクシミリ装置や携帯電話などの通信機器とった様々な機器には組込型のコンピュータが組み込まれている。このような機器の中には、コンピュータのＯＳ（Operating System）プラットフォーム上で仮想マシン（Virtual Machine）を動作させ、プラットフォーム独立の実行形式のコード（いわゆる「バイトコード（中間コード）」）を仮想マシンに実行させて、ＯＳプラットフォームの違いに依存しないアプリケーションプログラム（以下、単に「アプリケーション」と言う）の実行環境を実現しているものがある。これによれば、アプリケーション開発者がＯＳプラットフォームの違いを意識する必要がないため、アプリケーション開発の労力の低減が図られる（例えば、特許文献１参照）。
【０００３】
上記の仮想マシンとしては、Ｊａｖａ（登録商標）仮想マシンが広く用いられている。Ｊａｖａ仮想マシンは、特定のファイルフォーマット、すなわちクラスファイルフォーマットのプログラムを認識して実行するものであり、また、クラスファイルは、Ｊａｖａ仮想マシンの命令（又は上記バイトコード）を保持したものである。Ｊａｖａの仕様においては、Ｊａｖａ仮想マシンのバージョン情報やインストールディレクトリといった実行環境に依存する種々の情報（環境変数）をまとめてシステムプロパティとして管理しており、ある環境変数の値を複数のクラスファイルから参照、設定できるようになっている。
また、Ｊａｖａ仮想マシンでは、ＯＳＧｉフレームワークを用いてＪａｖａ仮想マシン上で複数の複数のＪａｖａアプリケーション（以下、単に「アプリケーション」と言う）を動作させている。このＯＳＧｉフレームワークでは、アプリケーションを複数のクラスファイルの集合体として取り扱っており、上位システムプロパティを通じて複数のアプリケーションからシステムプロパティを参照・設定することができるようになっている。
（例えば、特許文献１参照）。
【特許文献１】特開２００５−２８４７２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、システムプロパティの同一の環境変数に対して、複数のアプリケーションのそれぞれが値を設定すると、環境変数に不整合等が生じて正常に動作しないアプリケーションが発生する。このため、単独のＪａｖａアプリケーションとして問題なく動作しているアプリケーションを、上記ＯＳＧｉフレームワークで動作可能に移植するためには、システムプロパティを利用しているプログラムソースを修正する必要があった。
本発明は、上述した事情に鑑みてなされたものであり、複数のアプリケーションから環境変数の値が操作される場合に、環境変数の値に不整合等が生じることを防止できる情報処理装置、情報処理方法、プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、ＯＳプラットフォーム上に仮想マシンが設けられ、複数のアプリケーションプログラムが前記仮想マシン上で実行可能に構成されると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能に構成された情報処理装置であって、前記環境変数に対する操作を仲介する操作仲介手段を備え、前記操作仲介手段は、前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行することを特徴とする。
【０００６】
本発明によれば、環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行するため、複数のアプリケーションプログラムが同一の環境変数の値を操作する場合であっても、アプリケーションプログラムが互いに独立した環境変数の値を操作するため、環境変数の値に不整合等が生じることがない。
【０００７】
ここで、上記発明において、前記操作仲介手段は、前記環境変数および値を複製して前記専用の環境変数を生成することが望ましい。
また、上記発明において、前記仮想マシンには前記環境変数および値が複数記録されてなるシステムプロパティが設けられると共に、前記アプリケーションプログラムには識別子が予め付与され、前記操作仲介手段は、前記アプリケーションプログラムの識別子を前記環境変数に付して前記専用の環境変数を生成すると共に、前記専用の環境変数の値に前記環境変数の値を複製し、これら専用の環境変数および値を前記システムプロパティに追加し、この専用の環境変数の値に対して操作を実行することも望ましい。
また、上記発明において、前記仮想マシンは、前記アプリケーションプログラムを読み込む複数のローダを備えると共に、各ローダには識別子が予め付与され、前記操作仲介手段は、前記環境変数を操作するアプリケーションプログラムを読み込んだローダに専用の環境変数を生成し、この環境変数の値に対して操作を実行することも望ましい。
【０００８】
上記目的を達成するために、本発明は、ＯＳプラットフォーム上に仮想マシンを設け、複数のアプリケーションプログラムを前記仮想マシン上で実行可能に構成すると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能にした情報処理装置の情報処理方法であって、前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行することを特徴とする。
【０００９】
上記目的を達成するために、本発明は、ＯＳプラットフォーム上に仮想マシンを設け、複数のアプリケーションプログラムを前記仮想マシン上で実行可能に構成すると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能にした情報処理装置を、前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行する手段として機能させることを特徴とするプログラムを提供する。
【００１０】
上記目的を達成するために、本発明は、ＯＳプラットフォーム上に仮想マシンを設け、複数のアプリケーションプログラムを前記仮想マシン上で実行可能に構成すると共に、前記アプリケーションプログラムの実行環境に依存する環境変数の値を各アプリケーションプログラムから操作可能にした情報処理装置を、前記環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行する手段として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
本発明に係る情報処理方法、情報処理プログラムおよび記録媒体によれば、本発明に係る情報処理装置と同様に、環境変数を操作するアプリケーションプログラムに専用の環境変数を生成し、この環境変数の値に対して操作を実行するため、複数のアプリケーションプログラムが同一の環境変数の値を操作する場合であっても、アプリケーションプログラムが互いに独立した環境変数の値を操作するため、環境変数の値に不整合等が生じることがない。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施の形態について説明する。
（第１実施の形態）
図１は、本実施の形態に係るネットワークプリンタ（以下、単に「プリンタ」と言う）１の概略構成を示す図である。この図に示すように、プリンタ１は、大別すると、制御部１０と、印字ユニット１１と、拡張スロット１２と、ネットワークカード１３と、フラッシュＲＯＭ１４とを有している。
【００１２】
制御部１０は、プリンタ１の各部を中枢的に制御するものであり、演算処理プロセッサとしてのＣＰＵ２０と、このＣＰＵ２０により実行される制御プログラム（いわゆるファームウェア）が格納されるＲＯＭ２１と、ＣＰＵ２０のワークエリアとして機能して演算結果や各種データを一時的に格納するＲＡＭ２２とを有している。
印字ユニット１１は、制御部１０の制御に基づいて記録用紙への印字を実行するものであり、図示せぬ給紙機構、印字ヘッド等の一般的なプリンタが有する印字（印刷）機構を備えて構成されている。拡張スロット１２は、プリンタ１に内設され、当該プリンタ１の機能を拡張するためのカード型の回路が挿脱されるソケットであり、この拡張スロット１２には、上記ネットワークカード１３が挿着されている。
【００１３】
ネットワークカード１３は、データ通信部３０と周辺機器接続部３１とを有し、建物内に敷設されたＬＡＮ等のネットワーク２を介して他の通信端末（例えばパーソナルコンピュータ）３とデータ通信する機能、および、周辺機器を接続する機能を有するものである。すなわち、上記データ通信部３０は、ＴＣＰ／ＩＰ等の所定の通信プロトコルに基づいて信号処理するネットワークコントローラ３２と、有線または無線にてネットワーク２に接続される通信Ｉ／Ｆ３３とを有して構成されている。また、周辺機器接続部３１は、キーボードやマウス、カードリーダ等の周辺機器を接続するためのものであり、例えばＵＳＢ規格やＩＥＥＥ１３９４規格等の所定規格に準拠して信号処理を実行する接続Ｉ／Ｆコントローラ３４と、周辺機器４の接続口たる複数（図示例では２つ）の接続コネクタ３５を備えている。上記接続Ｉ／Ｆコントローラ３４は、接続コネクタ３５に接続されている周辺機器４の情報（以下、「デバイス情報」という）を各周辺機器４から取得することで、これらの周辺機器４を管理する、いわゆるホスト機能を有している。
【００１４】
フラッシュＲＯＭ１４は、書き換え可能な不揮発性メモリであり、各種のアプリケーションが格納されている。これらのアプリケーションは、例えばメモリカード等の記録媒体５０に記録されて配布され、或いは、ネットワーク２等の電気通信回線を通じて配布され、そして、このようにして配布されたアプリケーションがフラッシュＲＯＭ１４にインストール可能に構成されている。また、制御部１０のＲＯＭ２１に格納される制御プログラムもアプリケーションと同様に、記録媒体５０、或いは、ネットワーク２等の電気通信回線を介して配布可能であり、このように配布された制御プログラムがＲＯＭ２１にインストール可能に構成されている。
【００１５】
上記フラッシュＲＯＭ１４等に格納されるアプリケーションとしては、印刷実行するユーザの認証のための認証アプリケーションや複数のプリンタで処理を分散（例えば、１００部の印刷を５台のプリンタで２０部ずつ印刷させる等）して行わせるクラスタプリント（分散印刷）アプリケーション、印刷対象の画像に対して処理を行う画像処理アプリケーション、プリンタ１のステータスを通信端末３などに通知する状態管理アプリケーションなどの各種のアプリケーションがあり、これらのアプリケーションの実行環境について以下に詳述する。
【００１６】
図２は、プリンタ１のアプリケーション実行環境を示すソフトウェア概略構成図である。この図に示すように、プリンタ１の制御部１０には、ＯＳプラットフォーム１００上にインタプリタ環境であるソフトウェアプラットフォーム１０１が構成されている。こソフトウェアプラットフォーム１０１は、Ｊａｖａプラットフォームのランタイム環境として構成されており、インタプリタとしてのＪａｖａＶＭ（Ｊａｖａ仮想マシン）１１０、ライブラリ１１１およびフレームワーク群１１２を備えて構成されている。
ライブラリ１１１は標準のＡＰＩライブラリとプリンタ１に専用のライブラリを含んで構成されており、ＯＳプラットフォーム１００が提供する抽象化された各種コンピュータ資源を、さらにソフトウェアプラットフォーム１０１専用のモデルによって抽象化して、この上で動作するアプリケーションのための実行環境を提供する。
【００１７】
フレームワーク群１１２はＯＳＧｉ（Open Service Gateway initiative）フレームワーク１１２ａを含んで構成されており、このＯＳＧｉフレームワーク１１２ａは単一のＪａｖａＶＭ１１０上に複数の上述した各種のアプリケーション１２０を動作させる。また、ＯＳＧｉフレームワーク１１２ａは、アプリケーション１２０のライフサイクルの管理やアプリケーション間通信機能などを提供する。このＯＳＧｉフレームワーク１１２ａ上には、複数のシステムサービスがプリインストールされている。システムサービスには、新たなアプリケーションを追加したり更新したり削除したりするためのサービス管理サービスや、Ｓｅｒｖｌｅｔインタフェースにしたがって実装されたＪａｖａクラスを通信端末３等のクライアントのブラウザから操作可能なＷｅｂアプリケーションとして動作させるためのＨＴＴＰサービスのほか、複数のアプリケーション１２０からＪａｖａＶＭ１００が備えるシステムプロパティ１１３を操作可能にするサービスが予め用意されており、複数のアプリケーション１２０からシステムプロパティ１１３を参照・設定等の操作ができるようになっている。システムプロパティ１１３は、図３に示すように、実行環境に依存する変数である環境変数（以下、「キー」と言う）１１３ａと、そのキーの値１１３ｂとの対応を記録するものである。
【００１８】
さらに、このＪａｖａＶＭ１００には、プロパティ操作仲介部１１５が設けられている。プロパティ操作仲介部１１５は、ＯＳＧｉフレームワーク１１２ａとシステムプロパティ１１３との間に介在して、ＯＳＧｉフレームワーク１１２ａがアプリケーション１２０からシステムプロパティ１１３のキー１１３ａに対する参照や設定等の操作を受け付けた場合、このＯＳＧｉフレームワーク１１２ａに代わってシステムプロパティ１１３を操作し、その結果をＯＳＧｉフレームワーク１１２ａに戻すものである。
このプロパティ操作仲介部１１５は、アプリケーション１２０の識別やシステムプロパティ１１３に対するアクセス権を管理するために、アプリ管理データ１３０を備えて構成されている。
【００１９】
図４はアプリ管理データ１３０の構成を模式的に示す図である。
アプリ管理データ１３０は、システムプロパティ１１３の各キー１１３ａへのアクセス権をアプリケーション１２０ごとに管理するためのものである。すなわち、本実施形態では、アプリケーション１２０ごとに識別子としてのアプリケーションＩＤが付与されており、アプリ管理データ１３０には、アプリケーションＩＤごとにアクセス権設定データ１３１が設けられている。このアクセス権設定データ１３１は、アプリケーション１２０がアクセスするキー１１３ａと、そのキー１１３ａに対するアクセス権１１３ｃとの対応を規定するものであり、アクセス権１１３ｃとしては、例えば読み込み（参照）のみを許可する「Ｒｅａｄ」、読み込みおよび書き込みを許可する「Ｒｅａｄ／Ｗｒｉｔｅ」等が設定されている。上記アプリケーションＩＤは、アプリケーション１２０がインストールされたときに例えばプロパティ操作仲介部１１５により付与されて管理される。
【００２０】
そして、プロパティ操作仲介部１１５は、ＯＳＧｉフレームワーク１１２ａに代わってシステムプロパティ１１３を操作する場合、同一のキー１１３ａに対して各アプリケーション１２０から重複して値が設定されるのを防止すべく、操作対象のキー１１３ａを複製してアプリケーション１２０に専用の新たなキー（以下、「専用キー」と言う）１１３ａｄを生成し、この専用キー１１３ｄに対して操作を行うこととしている。
【００２１】
図５はプロパティ操作仲介部１１５によるシステムプロパティ操作処理を示すフローチャートである。この図に示すように、アプリケーション１２０がシステムプロパティ１１３のキー１１３ａに対して操作を要求した場合、その操作要求がＯＳＧｉフレームワーク１１２ａを介してプロパティ操作仲介部１１５に入力されて、このプロパティ操作仲介部１１５に受け付けられる（ステップＳａ１）。上記操作要求は、操作対象のキー１１３ａを「ｘｘｘ」とした場合、Ｊａｖａにおいては、
System.getProperty("xxx");
というコマンドを用いて行われる。
【００２２】
プロパティ操作仲介部１１５は、操作要求を受け付けると、当該操作要求を出したアプリケーション１２０のアプリケーションＩＤをアプリ管理データ１３０に基づいて特定し（ステップＳａ２）、このアプリケーションＩＤに基づいて、操作対象のキー１１３ａをアプリケーション１２０に専用の専用キー１１３ｄ（図６参照）に変換し（ステップＳａ３）、その専用キー１１３ｄに対して操作を実行する。具体的には、アプリケーションＩＤが「００１」であり、操作対象のキー１１３ａが「ｘｘｘ」である場合、プロパティ操作仲介部１１５は、操作対象のキー１１３ａ（「ｘｘｘ」）を専用キー１１３ｄ（「００１.ｘｘｘ」すなわち「ＩＤ．キー」）に変換する。（この結果、上記コマンドは、System.getProperty("0001.xxx");として扱われることになる。）
【００２３】
次いで、プロパティ操作仲介部１１５は、システムプロパティ１１３の中から専用キー１１３ｄを検索して専用キー１１３ｄがあるか否かを判断し（ステップＳａ４）、専用キー１１３ｄがシステムプロパティ１１３に無い場合には（ステップＳａ４：Ｎｏ）、操作対象のキー１１３ａがシステムプロパティ１１３にあるか否かを判断する（ステップＳａ５）。この判断の結果、操作対象のキー１１３ａがシステムプロパティ１１３にある場合には（ステップＳａ５：Ｙｅｓ）、プロパティ操作仲介部１１５は、システムプロパティ１１３に新たに専用キー１１３ｄを追加すると共に、当該専用キー１１３ｄの値に、上記操作対象のキー１１３ａの値１１３ｂをコピー（複製）する（ステップＳａ６）。
【００２４】
そして、プロパティ操作仲介部１１５は、上記ステップＳａ４の判断の結果、専用キー１１３ｄがシステムプロパティ１１３にあった場合（ステップＳａ４：Ｙｅｓ）、又は、上記ステップＳａ６にて専用キー１１３ｄをシステムプロパティ１１３に追加した後、この専用キー１１３ｄとその値に対して、アプリケーション１２０から受け付けた操作を実行する（ステップＳａ７）。この操作にあっては、プロパティ操作仲介部１１５は、アプリ管理データ１３０に基づいて、操作対象のキー１１３ａに対するアクセス権１１３ｃに従った操作のみを許可して実行する。そして操作が完了した後、プロパティ操作仲介部１１５は、その操作結果を戻り値としてＯＳＧｉフレームワーク１１２ａに戻し（ステップＳａ８）、本処理を終了する。また、上記ステップＳａ５の判断の結果、操作対象のキー１１３ａがシステムプロパティ１１３にない場合には（ステップＳａ５：Ｎｏ）、プロパティ操作仲介部１１５は、処理手順をステップＳａ８に進め、操作対象のキー１１３ａがシステムプロパティ１１３に存在しない事を示す値（例えば「Ｎｕｌｌ」）を戻し値としてＯＳＧｉフレームワーク１１２ａに戻し、本処理を終了する。
【００２５】
これにより、図６に示すように、システムプロパティ１１３には、アプリケーション１２０ごとに、アプリケーションＩＤに基づいた専用キー１１３ｄが追加される。そして、アプリケーション１２０がシステムプロパティ１１３のキー１１３ａを操作する場合には、そのキー１１３ａに対応する専用キー１１３ｄに対して操作が行われることとなり、複数のアプリケーション１２０がシステムプロパティ１１３の同一のキー１１３ａを操作する場合であっても、それぞれ独立した専用キー１１３ｄに対して操作が行われるため、キー１１３ａの値に不整合等が生じるのが防止される。
【００２６】
（第２実施の形態）
上述した第１実施の形態では、システムプロパティ１１３にアプリケーション１２０ごとに専用の専用キー１１３ｄを追加し、この専用キー１１３ｄに対して操作を実行する構成について説明した。これに対して、本実施の形態では、システムプロパティ１１３に専用キー１１３ｄを追加するのではなく、アプリケーション１２０ごとに専用の上記システムプロパティ（以下、「専用システムプロパティ」と言う）１１４を生成し、その専用システムプロパティ１１４に対して操作を実行することとしている。
【００２７】
図７は本実施形態に係るプリンタ１のアプリケーション実行環境を示すソフトウェア概略構成図である。なお、以下の説明では、第１実施の形態と同じ構成要素については同一の符号を付し、その説明を省略する。
図７に示すように、ＪａｖａＶＭ１１０には複数のクラスローダ１１６が設けられている。クラスローダ１１６は、各アプリケーション１２０のクラスをＲＡＭ２１等のメモリにロード（読み込む）するものである。すなわち、各アプリケーション１２０がＪａｖａＶＭ１１０上で実行される際には、いずれかのクラスローダ１１６により読み込まれて実行される。
【００２８】
これらのクラスローダ１１６には予め識別ＩＤが付与されており、この識別ＩＤが本実施形態のプロパティ操作仲介部１１５Ａにより管理されており、また、図８に示すように、クラスローダ１１６ごとに専用の専用プロパティ１１４が予め設けられている。そして、アプリケーション１２０からシステムプロパティ１１３に対して操作要求がなされた場合、プロパティ操作仲介部１１５Ａは、この専用プロパティ１１４に対して操作を実行することとしている。なお、図８には、専用プロパティ１１４にキー１１３ａが記録されている態様を示しているが、専用プロパティ１１４が生成された当初はキー１１３ａは空となっている。
【００２９】
図９はプロパティ操作仲介部１１５Ａによるシステムプロパティ操作処理を示すフローチャートである。この図に示すように、プロパティ操作仲介部１１５Ａは、操作要求を受け付けると（ステップＳｂ１）、アプリケーション１２０をロードしたクラスローダ１１６の識別ＩＤを特定し（ステップＳｂ２）、この識別ＩＤに専用のクラスオブジェクトである専用プロパティ１１４に対して操作を実行する。この結果、システムプロパティ１１３に対する操作は、プロパティ操作仲介部１１５Ａによって生成された専用プロパティ１１４に対する操作として扱われるため、アプリケーション１２０が実行した「System.getProperty("xxx");」というコマンドは、専用プロパティ１１４のオブジェクト名を「Properties001」とした場合、「Properties001.getProperty("xxx");」として扱われることになる。
【００３０】
すなわち、プロパティ操作仲介部１１５Ａは、操作対象のキー１１３ａが専用プロパティ１１４にあるか否かを判断し（ステップＳｂ３）、操作対象のキー１１３ａがない場合には（ステップＳｂ３：Ｎｏ）、システムプロパティ１１３の中に操作対象のキー１１３ａがあるか否かを判断する（ステップＳｂ４）。操作対象のキー１１３ａがシステムプロパティ１１３にある場合には（ステップＳｂ４：Ｙｅｓ）、プロパティ操作仲介部１１５Ａは、専用プロパティ１１４に操作対象のキー１１３ａおよびその値を複製して追加する（ステップＳｂ５）。
【００３１】
そして、プロパティ操作仲介部１１５Ａは、上記ステップＳｂ３の判断の結果、操作対象のキー１１３ａが専用プロパティ１１４にあった場合（ステップＳｂ３：Ｙｅｓ）、又は、上記ステップＳｂ５にて操作対象のキー１１３ａを専用プロパティ１１４に追加した場合に、複製したキー１１３ａとその値に対して、アプリケーション１２０から受け付けた操作を実行する（ステップＳｂ６）。この操作にあっては、プロパティ操作仲介部１１５Ａは、アプリ管理データ１３０に基づいて、操作対象のキー１１３ａに対するアクセス権１１３ｃに従った操作のみを許可して実行する。そして操作が完了した後、プロパティ操作仲介部１１５Ａは、その操作結果を戻り値としてＯＳＧｉフレームワーク１１２ａに戻し（ステップＳｂ７）、本処理を終了する。また、上記ステップＳｂ４の判断の結果、操作対象のキー１１３ａがシステムプロパティ１１３にない場合には（ステップＳｂ４：Ｎｏ）、プロパティ操作仲介部１１５Ａは、処理手順をステップＳｂ７に進め、操作対象のキー１１３ａがシステムプロパティ１１３に存在しない事を示す値（例えば「Ｎｕｌｌ」）を戻し値としてＯＳＧｉフレームワーク１１２ａに戻し、本処理を終了する。
【００３２】
このように、本実施の形態によれば、アプリケーションプログラム１２０をロードするクラスローダ１１６ごとに専用プロパティ１１４を設け、この専用プロパティ１１４に対してシステムプロパティ１１３の操作を実行するため、複数のアプリケーション１２０がシステムプロパティ１１３の同一のキー１１３ａを操作する場合であっても、それぞれ独立した専用プロパティ１１４のキー１１３ａに対して操作が行われるため、キー１１３ａの値に不整合等が生じるのが防止される。
【００３３】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施の形態では、組込機器の一態様としてプリンタ１を例示したがこれに限らず、例えば、ファクシミリやプロジェクタ等の電子機器にも適用可能である。
さらに、上述した実施の形態では、プリンタ１の制御部１０が各種アプリケーション１２０を実行する構成としたが、これに限らず、ネットワークカード１３の例えばネットワークコントローラ３２が各種アプリケーション１２０を実行する構成としても良い。
このような構成においては、ネットワークカード１３をプリンタ１に挿着するだけで、プリンタ１の制御プログラムを特に変更を加えることなく、種々のアプリケーション１２０をインストールして実行することが可能となり、プリンタ１の機能を柔軟に拡張することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１実施形態に係るネットワークプリンタの構成図。
【図２】アプリケーション実行環境を示すソフトウェア概略構成図。
【図３】システムプロパティの概略図。
【図４】アプリ管理データの概略図。
【図５】第１実施形態のシステムプロパティ操作処理のフローチャート。
【図６】第１実施形態の動作を説明するための図。
【図７】本発明の第２実施形態に係るネットワークプリンタの構成図。
【図８】専用プロパティの概略図。
【図９】第２実施形態のシステムプロパティ操作処理のフローチャート。
【符号の説明】
【００３５】
１…ネットワークプリンタ（プリンタ）、１０…制御部、１３…ネットワークカード、１００…ＯＳプラットフォーム、１０１…ソフトウェアプラットフォーム、１１０…ＪａｖａＶＭ、１１３…システムプロパティ、１１３ａ…キー（環境変数）、１１３ｄ…専用キー、１１４…専用システムプロパティ、１１５、１１５Ａ…プロパティ操作仲介部、１２０…アプリケーションプログラム。
【図１】
2007206869.tif 000003
【図２】
2007206869.tif 000004
【図３】
2007206869.tif 000005
【図４】
2007206869.tif 000006
【図５】
2007206869.tif 000007
【図６】
2007206869.tif 000008
【図７】
2007206869.tif 000009
【図８】
2007206869.tif 000010
【図９】
2007206869.tif 000011