(57)【要約】      （修正有）【課題】動作環境を設定する設定情報のセキュリティ向上を図る。【解決手段】ソフトウェアモジュール実行機器のミドルウェアは、前記ミドルウェアの動作環境の設定に関する設定情報を管理する設定情報管理部を有し、前記設定情報は、オペレーティングシステムにより保持され、前記設定情報管理部は、ソフトウェアモジュール毎に前記設定情報へのアクセス権限を規定するパーミッション情報に基づいて、前記設定情報へのアクセス権限を判定する権限判定部２１２を有し、前記パーミッション情報は、前記ソフトウェアモジュールが前記設定情報に対して行う操作に応じてアクセス権限を規定し、前記権限判定部２１２は、前記パーミッション情報に基づいて、各ソフトウェアモジュールが前記設定情報に対して許容される操作を判定する。【選択図】図３
2015031989.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムと、当該オペレーティングシステム上においてソフトウェアモジュールのプラットフォームとして動作するミドルウェアとを有するソフトウェアモジュール実行機器であって、
前記ミドルウェアは、
前記ミドルウェアの動作環境の設定に関する設定情報を管理する設定情報管理部を有し、
前記設定情報は、前記オペレーティングシステムにより保持され、
前記設定情報管理部は、ソフトウェアモジュール毎に前記設定情報へのアクセス権限を規定するパーミッション情報に基づいて、前記設定情報へのアクセス権限を判定する権限判定部を有し、
前記パーミッション情報は、前記ソフトウェアモジュールが前記設定情報に対して行う操作に応じてアクセス権限を規定し、
前記権限判定部は、前記パーミッション情報に基づいて、各ソフトウェアモジュールが前記設定情報に対して許容される操作を判定する
ソフトウェアモジュール実行機器。
【請求項２】
前記設定情報は、複数種類存在し、
前記パーミッション情報は、更に、ソフトウェアモジュールが操作を行う前記設定情報の種類に応じてアクセス権限を規定している
請求項１記載のソフトウェアモジュール実行機器。
【請求項３】
前記設定情報管理部は、階層型データモデルに基づいて前記設定情報を管理している
請求項１または請求項２記載のソフトウェアモジュール実行機器。
【請求項４】
前記ソフトウェアモジュールは、
前記設定情報管理部に対して前記設定情報へのアクセス要求を行うアクセス要求モジュールと、前記設定情報管理部から前記設定情報にアクセスする際に必要となるソフトウェアインターフェースを生成可能なインターフェース生成モジュールとを含み、
前記設定情報管理部は、更に、前記権限判定部により前記アクセス要求モジュールに前記設定情報へのアクセス権限があると判定された場合、前記インターフェース生成モジュールに前記ソフトウェアインターフェースの生成を要求する生成要求を送り、前記権限判定部により前記アクセス要求モジュールに前記設定情報へのアクセス権限がないと判定された場合、前記インターフェース生成モジュールに前記生成要求を送らないインターフェース生成要求部を有し、
前記インターフェース生成モジュールは、前記インターフェース生成要求部から前記生成要求を受け取った場合、前記ソフトウェアインターフェースを生成し、前記生成要求を受け取らない場合、前記ソフトウェアインターフェースを生成しない
請求項１から請求項３のいずれか１項に記載のソフトウェアモジュール実行機器。
【請求項５】
前記アクセス要求モジュールは、自己を介して前記設定情報にアクセス可能な外部端末を識別できる外部端末識別情報を保有しており、外部端末からのアクセス要求を受け取ると、前記外部端末識別情報に基づいて、アクセス要求元の外部端末が前記設定情報にアクセス可能か否かを判定する
請求項４記載のソフトウェアモジュール実行機器。
【請求項６】
前記ソフトウェアモジュールは、認証情報が付与され、
前記設定情報管理部は、更に、前記認証情報に基づいて、前記ソフトウェアモジュールを前記ミドルウェア上で動作させるか否かを判定する認証部を有する
請求項１から請求項５のいずれか１項に記載のソフトウェアモジュール実行システム。
【請求項７】
前記ソフトウェアモジュールは、公開鍵暗号化方式により暗号化され、
前記設定情報管理部は、更に、暗号化された前記ソフトウェアモジュールを、前記ソフトウェアモジュールの供給元が発行する公開鍵を用いて復号する復号部を有する
請求項１から請求項６のいずれか１項に記載のソフトウェアモジュール実行機器。
【請求項８】
前記ソフトウェアモジュールは、その提供元を識別できる識別情報が付与され、
前記設定情報管理部は、更に、前記パーミッション情報に登録されていない新たなソフトウェアモジュールが前記ミドルウェア上で動作する際、当該新たなソフトウェアモジュールから取得した識別情報と、当該新たなソフトウェアモジュールに付与すべきアクセス権限に関する情報とに基づいて、パーミッション情報を新たに作成するパーミッション情報作成部を備える
請求項１から請求項７のいずれか１項に記載のソフトウェアモジュール実行機器。
【請求項９】
前記ミドルウェアは、
オペレーティングシステム上で動作する少なくとも１つの仮想マシンと、
前記仮想マシン上において前記ソフトウェアモジュールのプラットフォームとして動作するフレームワークとから構成される
請求項１から請求項８のいずれか１項に記載のソフトウェアモジュール実行機器。
【請求項１０】
オペレーティングシステム上においてソフトウェアモジュールのプラットフォームとして動作するソフトウェアモジュール実行プログラムであって、
前記ソフトウェアモジュール実行プログラムは、
前記オペレーティングシステムにより保持された、自己の動作環境の設定に関する設定情報を管理する設定情報管理ステップを含み、
前記設定情報管理ステップでは、ソフトウェアモジュール毎に前記設定情報へのアクセス権限を規定するパーミッション情報に基づいて、前記設定情報へのアクセス権限を判定する権限判定ステップを含み、
前記パーミッション情報は、前記ソフトウェアモジュールが前記設定情報に対して行う操作に応じてアクセス権限を規定し、
前記権限判定ステップでは、更に、前記パーミッション情報に基づいて、各ソフトウェアモジュールが前記設定情報に対して許容される操作を判定する
ソフトウェアモジュール実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアモジュール実行機器およびソフトウェアモジュール実行プログラムに関する。
【背景技術】
【０００２】
従来、遠隔から各種サービスを配信する標準規格の策定を目的として設立されたＯＳＧｉ（Ｏｐｅｎ  Ｓｅｒｖｉｃｅ  Ｇａｔｅｗａｙ  Ｉｎｉｔｉａｔｉｖｅ）が提唱するフレームワークとして、ＯＳＧｉフレームワークが提供されている（非特許文献１〜４参照）。
【０００３】
このＯＳＧｉフレームワークは、Ｊａｖａ（登録商標）仮想マシン上で動作する。また、このＯＳＧｉフレームワーク上で動作するソフトウェアモジュールは、バンドルと呼ばれ、仮想マシンを停止させることなく、ＯＳＧｉフレームワークへの追加または削除が可能となっている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＯＳＧｉ  Ｓｅｒｖｉｃｅ  Ｐｌａｔｆｏｒｍ  Ｓｅｒｖｉｃｅ  Ｃｏｍｐｅｎｄｉｕｍ  Ｔｈｅ  ＯＳＧｉ  Ａｌｌｉａｎｃｅ  Ｒｅｌｅａｓｅ４，Ｖｅｒｓｉｏｎ４．３  Ｊａｎｕａｒｙ  ２０１２、ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｓｇｉ．ｏｒｇ／Ｄｏｗｎｌｏａｄ／Ｆｉｌｅ？ｕｒｌ＝／ｄｏｗｎｌｏａｄ／ｒ４ｖ４３／ｏｓｇｉ．ｃｍｐｎ−４３０．ｐｄｆ
【非特許文献２】Ｒｅｑｕｉｒｅｍｅｎｔｓ  ｆｏｒ  Ｓｏｆｔｗａｒｅ  Ｍｏｄｕｌａｒｉｔｙ  ｏｎ  ｔｈｅ  Ｈｏｍｅ  Ｇａｔｅｗａｙ  ＲＤ００８−Ｒ３  Ｈｏｍｅ  Ｇａｔｅｗａｙ  Ｉｎｉｔｉａｔｉｖｅ  Ｊｕｎｅ  ２０１１、ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｈｏｍｅｇａｔｅｗａｙｉｎｉｔｉａｔｉｖｅ．ｏｒｇ／ｐｕｂｌｉｓ／ＲＤ−００８−Ｒ３．ｐｄｆ
【非特許文献３】ＵＲＬ：ｈｔｔｐ：／／ｄｚ．ｐｒｏｓｙｓｔ．ｃｏｍ／ｐｄｏｃ／ｍＢＳ＿Ｅｘｔ／ｕｍ／ｍｅｇ／ｄｅｖｅｌｏｐｅｒ／ｏｓｇｉ／ｄｍｔ＿ａｄｍｉｎ／ｄｍｔ＿ａｄｍｉｎ．ｈｔｍｌ
【非特許文献４】ＵＲＬ：ｈｔｔｐ：／／ｄｚ．ｐｒｏｓｙｓｔ．ｃｏｍ／ｐｄｏｃ／ｍＢＳ＿Ｅｘｔ／ｕｍ／ｍｅｇ／ａｐｉ／ｉｎｆｏ／ｄｍｔｒｅｅ／ｓｅｃｕｒｉｔｙ／ＤｍｔＰｅｒｍｉｓｓｉｏｎ．ｈｔｍｌ
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のＯＳＧｉフレームワークでは、バンドル毎に当該フレームワークが管理する、動作環境を設定する設定情報へのアクセス権限を設定することができなかったので、当該設定情報のセキュリティが十分でなかった。
【０００６】
そこで、本発明は、動作環境を設定する設定情報のセキュリティ向上を図ることができるソフトウェアモジュール実行機器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るソフトウェアモジュール実行機器は、オペレーティングシステムと、当該オペレーティングシステム上においてソフトウェアモジュールのプラットフォームとして動作するミドルウェアとを有するソフトウェアモジュール実行機器であって、ミドルウェアが、ミドルウェアの動作環境の設定に関する設定情報を管理する設定情報管理部を有し、設定情報が、オペレーティングシステムにより保持され、設定情報管理部が、ソフトウェアモジュール毎に設定情報へのアクセス権限を規定するパーミッション情報に基づいて、設定情報へのアクセス権限を判定する権限判定部を有し、パーミッション情報が、ソフトウェアモジュールが設定情報に対して行う操作に応じてアクセス権限を規定し、権限判定部が、パーミッション情報に基づいて、各ソフトウェアモジュールが設定情報に対して許容される操作を判定する。
【０００８】
なお、本発明は、このような特徴的なソフトウェアモジュール実行機器として実現することができるだけでなく、かかるソフトウェアモジュール実行機器で行われる特徴的な処理をステップとする方法として実現したり、かかるステップをコンピュータに実行させるためのプログラムとして実現したりすることができる。また、上記ソフトウェアモジュール実行機器の一部または全部を実現する半導体集積回路として実現したり、上記ソフトウェアモジュール実行機器を含むシステムとして実現したりすることができる。更に、上記プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記憶させることができる。
【発明の効果】
【０００９】
本発明に係るソフトウェアモジュール実行機器は、動作環境を設定する設定情報のセキュリティ向上を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るサービスゲートウェイの一使用例を示す図である。
【図２】実施形態に係るサービスゲートウェイの構造を示す模式図である。
【図３】実施形態に係るサービスゲートウェイの動作説明図である。
【図４】実施形態に係るサービスゲートウェイのブロック図である。
【図５】実施形態に係るサービスゲートウェイの動作を示すシーケンス図である。
【図６】実施形態に係るパーミッション情報を示す概念図である。
【図７】実施形態に係るサービスゲートウェイの動作を示すシーケンス図である。
【図８】実施形態に係るサービスゲートウェイの動作を示すシーケンス図である。
【図９】実施形態に係るサービスゲートウェイの動作を示すシーケンス図である。
【図１０】変形例に係るサービスゲートウェイとサーバとの動作を示すシーケンス図である。
【図１１】変形例に係るパーミッション情報を示す概念図である。
【発明を実施するための形態】
【００１１】
［実施形態の要旨］
従来から、ＯＳＧｉ技術は、例えば、サービスゲートウェイにも適用されつつある。ここでは、例えば、ホーム機器の業者は、自社の供給するホーム機器の制御ロジックをモジュール化してなるソフトウェアモジュールを作成する。そして、業者は、当該ソフトウェアモジュールを自社のサーバからホーム機器を購入した各家庭に設置されたサービスゲートウェイに配信する。これにより、各家庭では、サービスゲートウェイに配信されたソフトウェアを用いて購入したホーム機器を動かすことが可能となる。
こうすることにより、ホーム機器の業者からすれば、例えば、制御ロジックのバージョンアップ等の必要性が生じた場合、自社のサーバから各家庭のサービスゲートウェイに新たなソフトウェアモジュールを配信するだけでよい。従って、ホーム機器の業者にとって、新たなサービスを提供し易くなるという利点がある。
【００１２】
ところで、サービスゲートウェイは、新たなホーム機器に対応すべくネイティブが保持している設定情報等を適宜追加変更しなければならない場合がある。この場合、サービスゲートウェイに接続された端末から、ネイティブが保持する設定情報を操作するためのバンドル（ローカルマネージャ）を介して設定情報の追加変更等を行うこととなる。
【００１３】
しかしながら、従来のＯＳＧｉフレームワークでは、バンドル毎に設定情報へのアクセス権限を設定することができなかった。従って、不正なバンドルが、設定情報へのアクセスを試行した場合、当該不正なバンドルにより設定情報が改鼠されてしまう虞がある。
【００１４】
本発明の実施形態は、上記事由に鑑みてなされたものであり、その要旨としては、少なくとも以下（１）〜（９）に示す構成が含まれる。
【００１５】
（１）ある観点から見た本発明の実施形態に係るソフトウェアモジュール実行機器は、オペレーティングシステムと、当該オペレーティングシステム上においてソフトウェアモジュールのプラットフォームとして動作するミドルウェアとを有するソフトウェアモジュール実行機器であって、ミドルウェアが、ミドルウェアの動作環境の設定に関する設定情報を管理する設定情報管理部を有し、設定情報が、オペレーティングシステムにより保持され、設定情報管理部が、ソフトウェアモジュール毎に設定情報へのアクセス権限を規定するパーミッション情報に基づいて、設定情報へのアクセス権限を判定する権限判定部を有し、パーミッション情報が、ソフトウェアモジュールが前記設定情報に対して行う操作に応じてアクセス権限を規定し、権限判定部が、パーミッション情報に基づいて、各ソフトウェアモジュールが設定情報に対して許容される操作を判定する。
【００１６】
本構成によれば、設定情報管理部が、複数のソフトウェアモジュールそれぞれの設定情報へのアクセス権限を示すパーミッション情報に基づいて、ソフトウェアモジュール毎に設定情報へのアクセス権限を判定する権限判定部を有し、ソフトウェアモジュールが設定情報にアクセスして行う操作のうち許容できる操作をソフトウェアモジュール毎に規定することができる。これにより、ソフトウェアモジュール毎に、当該ソフトウェアモジュールが設定情報にアクセスして行う操作のうち許容できる操作を適宜制限することができるので、不正なソフトウェアモジュールからの設定情報へのアクセスを制限できるので、設定情報のセキュリティ向上を図ることができる。
また、不正なソフトウェアモジュールから設定情報が改鼠されることにより、仮想マシンの動作環境が損なわれ、ソフトウェアモジュール実行機器の動作が不安定になるのを抑制できる。
【００１７】
（２）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記設定情報が、複数種類存在し、上記パーミッション情報が、更に、ソフトウェアモジュールが操作を行う設定情報の種類に応じてアクセス権限を規定しているものであってもよい。
本構成によれば、ソフトウェアモジュールが設定情報にアクセスして行う操作のうち許容できる操作を、設定情報の種類に応じて、適宜制限することができる。従って、複数種類の設定情報が存在する場合、各設定情報についてその種類に応じて異なるセキュリティレベルで管理することが可能となる。
【００１８】
（３）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記設定情報管理部が、階層型データモデルに基づいて上記設定情報を管理しているものであってもよい。
本構成によれば、設定情報１２ａの規模が大きくなった場合でも設定情報１２ａの管理に必要なメモリ等の資源が比較的少なくて済むという利点がある。
【００１９】
（４）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記ソフトウェアモジュールが、上記設定情報管理部に対して上記設定情報へのアクセス要求を行うアクセス要求モジュールと、設定情報管理部から設定情報にアクセスする際に必要となるソフトウェアインターフェースを生成可能なインターフェース生成モジュールとを含むものであってもよい。そして、設定情報管理部が、更に、上記権限判定部によりアクセス要求モジュールに設定情報へのアクセス権限が付与されていると判定された場合、インターフェース生成モジュールに前記ソフトウェアインターフェースの生成を要求する生成要求を送る生成要求部を有するものであってもよい。また、生成要求部は、権限判定部によりアクセス要求モジュールに設定情報へのアクセス権限が付与されていないと判定された場合、インターフェース生成モジュールに生成要求を送らないものであってもよい。また、インターフェース生成モジュールが、生成要求部から生成要求を受け取った場合、ソフトウェアインターフェースを生成し、生成要求を受け取らない場合、ソフトウェアインターフェースを生成しないものであってもよい。
【００２０】
本構成によれば、生成要求部が、アクセス要求モジュールに設定情報へのアクセス権限が付与されていると判定された場合、インターフェース生成モジュールに生成要求を送り、アクセス要求モジュールに設定情報へのアクセス権限が付与されていないと判定された場合、インターフェース生成モジュールに生成要求を送らない。そして、インターフェース生成モジュールは、生成要求部から生成要求を受け取った場合、ソフトウェアインターフェースを生成し、生成要求を受け取らない場合、ソフトウェアインターフェースを生成しない。これにより、インターフェース生成モジュールにおいて無駄にソフトウェアインターフェースの生成が行われないので、インターフェース生成モジュールにおける処理量の低減を図ることができる。従って、ソフトウェアモジュール実行機器における処理負荷の軽減を図ることができる。
【００２１】
（５）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記アクセス要求モジュールが、自己を介して上記設定情報にアクセス可能な外部端末を識別できる外部端末識別情報を保有しており、外部端末からのアクセス要求を受け取ると、外部端末識別情報に基づいて、アクセス要求元の外部端末が設定情報にアクセス可能か否かを判定するものであってもよい。
本構成によれば、不正な外部端末による識別情報へのアクセスが制限されるので、識別情報のセキュリティ向上を図ることができる。
【００２２】
（６）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記ソフトウェアモジュールに、認証情報が付与され、上記設定情報管理部が、更に、認証情報に基づいて、ソフトウェアモジュールをフレームワーク上で動作させるか否かを判定する認証部を有するものであってもよい。
本構成によれば、認証部が、認証情報に基づいて、ソフトウェアモジュールをフレームワーク上で動作させるか否かを判定する。これにより、認証情報が付与されていないソフトウェアモジュールがフレームワーク上で動作することを防止できる。従って、非正規のソフトウェアモジュールが設定情報にアクセスするのを防止できる。
【００２３】
（７）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記ソフトウェアモジュールが、公開鍵暗号化方式により暗号化され、上記設定情報管理部が、更に、暗号化されたソフトウェアモジュールを、ソフトウェアモジュールの供給元が発行する公開鍵を用いて復号する復号部を有するものであってもよい。
本構成によれば、非正規のソフトウェアモジュールがフレームワーク上で動作することを防止できる。
【００２４】
（８）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記ソフトウェアモジュールにその提供元を識別できる識別情報が付与され、上記設定情報管理部が、更に、上記パーミッション情報に登録されていない新たなソフトウェアモジュールが上記フレームワーク上で動作する際、当該新たなソフトウェアモジュールから取得した識別情報と、当該新たなソフトウェアモジュールに付与すべきアクセス権限に関する情報とに基づいて、パーミッション情報を新たに作成するパーミッション情報作成部を備えるものであってもよい。
本構成によれば、ソフトウェアモジュールの提供元が新たに生じた場合、新たに生じた提供元に対する、設定情報へのアクセス権限の設定が容易になる。
【００２５】
（９）また、本発明の実施形態に係るソフトウェアモジュール実行機器は、上記ミドルウェアが、上記オペレーティングシステム上で動作する少なくとも１つの仮想マシンと、仮想マシン上において上記ソフトウェアモジュールのプラットフォームとして動作するフレームワークとから構成されるものであってもよい。
本構成によれば、例えば、オペレーティングシステムが、マルチプロセッシング方式に対応できれば、オペレーティングシステム上で動作する複数の仮想マシン上それぞれにおいて、各別にフレームワークを動作させることができる。
【００２６】
（１０）他の観点から見た本発明に係るソフトウェアモジュール実行プログラムは、オペレーティングシステム上においてソフトウェアモジュールのプラットフォームとして動作するソフトウェアモジュール実行プログラムであって、ソフトウェアモジュール実行プログラムが、オペレーティングシステムにより保持された、自己の動作環境の設定に関する設定情報を管理する設定情報管理ステップを含み、設定情報管理ステップでは、ソフトウェアモジュール毎に設定情報へのアクセス権限を規定するパーミッション情報に基づいて、設定情報へのアクセス権限を判定する権限判定ステップを含み、パーミッション情報は、ソフトウェアモジュールが設定情報に対して行う操作に応じてアクセス権限を規定し、権限判定ステップでは、更に、パーミッション情報に基づいて、各ソフトウェアモジュールが設定情報に対して許容される操作を判定する。
【００２７】
［実施形態の詳細］
以下、本発明の好ましい実施形態について図面を参照しながら説明する。
［１．実施形態１］
＜１＞構成
図１は、本実施形態に係るサービスゲートウェイ（ソフトウェアモジュール実行機器）１の一使用例を示している。
この使用例では、サービスゲートウェイ１やホーム機器２０１，２０２が、一般家屋３０１内に設置されている。そして、サービスゲートウェイ１は、ホーム機器２０１，２０２や端末２０３にＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ｌ１１，Ｌ１２，Ｌ１３を介して接続されている。また、サービスゲートウェイ１は、例えば、ホーム機器の業者が所有するサーバ２にＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を通じて接続されている。
【００２８】
＜サービスゲートウェイ＞
サービスゲートウェイ１は、コンピュータ（演算処理部）とメモリ（記憶部）とを有して構成されている。そして、サービスゲートウェイ１の各機能は、コンピュータがメモリに記憶された所定のコンピュータプログラムを実行することにより実現されている。また、コンピュータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等を含んで構成されている。
【００２９】
図２は、サービスゲートウェイ１の構造を示す模式図である。
サービスゲートウェイ１では、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１２上に実現されたＪａｖａ（登録商標）仮想マシン１３が動作する。そして、仮想マシン１３上において、各種バンドルのプラットフォームとして動作するフレームワーク１４が実現されている。サービスゲートウェイ１は、仮想マシン１３とフレームワーク１４とから構成されるミドルウェアを有している。
また、本実施形態では、フレームワーク１４上で、ローカルマネージャ２２，プロトコルアダプタ２３，データプラグインバンドル３１，実行プラグインバンドル３２、プロキシバンドル３３が動作する。
【００３０】
ＯＳ１２は、サービスゲートウェイ１の設定情報１２ａを保有している。この設定情報１２ａは、仮想マシン１３の動作環境を設定するものである。また、設定情報１２ａは、例えば、ＯＳ１２上で動作するネイティブアプリケーション等により作成されたものである。
【００３１】
フレームワーク１４は、サービスゲートウェイ１の設定情報１２ａを管理するデバイス管理ツリー管理部（設定情報管理部）２１を有する。このデバイス管理ツリー管理部２１は、階層型データモデル（デバイス管理ツリー）に基づいて、設定情報１２ａを管理している。このように、設定情報１２ａの管理にデバイス管理ツリーを採用していることにより、設定情報１２ａの規模が大きくなった場合でも設定情報１２ａの管理に必要なメモリ等の資源が比較的少なくて済むという利点がある。
また、デバイス管理ツリー管理部２１は、バンドル毎に設定情報１２ａへのアクセス権限を判定する権限判定部２１２を備えている。
【００３２】
ローカルマネージャ（アクセス要求モジュール）２２は、設定情報１２ａを操作するために、デバイス管理ツリー管理部２１に対して設定情報１２ａへのアクセスを要求するバンドルである。例えば、ユーザが、端末２０３において、サービスゲートウェイ１の設定情報１２ａを操作するアプリケーションソフトウェアを起動させると、当該アプリケーションソフトウェアに対応するローカルマネージャ２２が起動する。
【００３３】
プロトコルアダプタ２３は、サービスゲートウェイ１や当該サービスゲートウェイ１にＬＡＮを介して接続されたホーム機器２０１，２０２を制御するための管理プロトコルを提供するバンドルである。この管理プロトコルとしては、例えば、ＯＭＡ  ＤＭやＴＲ−０６９等が挙げられる。例えば、ユーザが、外部のサーバ２（外部端末）において、サービスゲートウェイ１の設定情報１２ａを遠隔操作するアプリケーションソフトウェアを起動させると、当該アプリケーションソフトウェアに対応するプロトコルアダプタ２３が起動する。
【００３４】
また、このプロトコロアダプタ２３は、自己を介して設定情報１２ａにアクセス可能な外部端末を識別できる外部端末識別情報を保有している。そして、外部端末（例えば、サーバ２）からのアクセス要求を受け取ると、外部端末識別情報に基づいて、アクセス要求元の外部端末（例えば、サーバ２）が設定情報１２ａにアクセス可能か否かを判定する。
これにより、不正な外部端末による識別情報１２ａへのアクセスが制限されるので、識別情報１２ａのセキュリティ向上を図ることができる。
【００３５】
データプラグインバンドル３１、実行プラグインバンドル３２およびプロキシバンドル３３は、ローカルマネージャ２２やプロトコルアダプタ２３が設定情報１２ａにアクセスする際に必要となるソフトウェアインターフェースを提供するバンドル（インターフェース生成モジュール）である。フレームワーク１４上で動作するバンドルは、データプラグインバンドル３１、実行プラグインバンドル３２およびプロキシバンドル３３が提供するソフトウェアインターフェースを利用しない限り、ＯＳ１２の保有する設定情報１２ａにアクセスできないようになっている。
【００３６】
図３は、サービスゲートウェイの動作説明図である。
デバイス管理ツリーは、図３の一例に示すように、ルート「Ｄｅｖｉｃｅ」の下に「ＩＰ」、「ＤＮＳ」、「ＰＰＰ」、「Ｔｉｍｅ」、「ＭａｎａｇｅｍｅｎｔＳｅｒｖｅｒ」等のサブツリーが設けられている。例えば、サブツリー「ＩＰ」（サブツリー２）には、サービスゲートウェイ１のＩＰアドレスを示すデータ「ＩＰＡｄｒｅｓｓ」やサブネットマスクを示すデータ「Ｓｕｂｎｅｔｍａｓｋ」等が登録されている。
【００３７】
例えば、設定情報１２ａが、デバイス管理ツリーにおける、サブツリー「ＭａｎａｇｅｍｅｎｔＳｅｒｖｅｒ」（サブツリー１）に対応しているとする。そして、ローカルマネージャ２２やプロトコルアダプタ２３が、サブツリー１に登録されているデータにアクセスしたとする。
【００３８】
この場合、ローカルマネージャ２２がサブツリー１にアクセスしたことに起因して、データプラグインバンドル３１およびプロキシバンドル３３が動作する。そして、ローカルマネージャ２２やプロトコルアダプタ２３が設定情報１２ａにアクセスする際に必要となるソフトウェアインターフェースが生成される。これにより、ローカルマネージャ２２やプロトコルアダプタ２３が、ＯＳ１２の保持する設定情報１２ａへのアクセスが可能となる。
【００３９】
図４は、サービスゲートウェイ１のブロック図である。
デバイス管理ツリー管理部２１は、第１機能生成部２１１と、第１インターフェース２１３と、権限判定部２１２とを備える。
第１機能生成部２１１は、デバイス管理ツリー管理部２１の各種機能部を生成する。第１機能生成部２１１は、第１インターフェース２１３および権限判定部２１２を生成する。この第１機能生成部２１１は、ローカルマネージャ２２がアクセスしようとしているサブツリーに対応する第１インターフェース２１３を生成する。
【００４０】
第１インターフェース２１３は、ローカルマネージャ２２がデータプラグインバンドル３１との間でデータ授受を可能とするためのソフトウェアモジュールである。
権限判定部２１２は、パーミッション情報２１２ａを保持しており、当該パーミッション情報２１２ａに基づいて、ローカルマネージャ２２毎に設定情報１２ａへのアクセス権限を判定する。この権限判定部２１２の動作の詳細は後述する。
【００４１】
データプラグインバンドル３１は、第２機能生成部３１１と、第２インターフェース３１２とを備える。
第２機能生成部３１１は、データプラグインバンドル３１の各種機能部を生成する。本実施形態では、第２機能生成部３１１が、デバイス管理ツリー管理部２１の第１機能生成部２１１からインターフェース生成要求を受け取ると、第２インターフェース３１２を生成する。
【００４２】
第２インターフェース３１２は、デバイス管理ツリー管理部２１とデータプラグインバンドル３１との間でのデータ授受を可能にするためのソフトウェアインターフェースである。具体的には、第２インターフェース３１２は、デバイス管理ツリー管理部２１の第１インターフェース２１３との間でデータの授受を行う。
【００４３】
プロキシバンドル３２は、第３機能生成部３３１と、第３インターフェース３３２と、ソケット３３３とを備える。
第３機能生成部３３１は、プロキシバンドル３２の各種機能部を生成する。本実施形態では、第３機能生成部３３１が、第２インターフェース３１２からインターフェース生成要求を受け取ると、第３インターフェース３３２を生成する。
【００４４】
第３インターフェース３３２は、データプラグインバンドル３１とプロキシバンドル３３との間でのデータ授受を可能にするためのソフトウェアインターフェースである。具体的には、第３インターフェース３３２は、データプラグインバンドル３１の第２インターフェース３１２との間でデータの授受を行う。
【００４５】
ソケット３３３は、プロキシバンドル３３からＯＳ１２の設定情報１２ａにアクセス可能とするためのソフトウェアインターフェースである。ソケット３３３は、第３インターフェース３３２が生成されると自動的に生成される。
【００４６】
＜２＞動作
次に、本実施形態に係るサービスゲートウェイの動作の詳細について説明する。
ここでは、ローカルマネージャ２２またはプロトコルアダプタ２３が、ＯＳ１２の保有する設定情報１２ａにアクセスするための準備を行う準備動作と、設定情報１２ａを操作する本動作とに分けて説明する。
ローカルマネージャ２２またはプロトコルアダプタ２３が、設定情報１２ａにアクセスする場合、上記準備動作が行われてから上記本動作が行われる。
【００４７】
＜２−１＞準備動作
まず、ローカルマネージャ２２またはプロトコルアダプタ２３が、ＯＳ１２の保有する設定情報１２ａにアクセスするための準備を行う準備動作について説明する。ここでは、ローカルマネージャ２２には、設定情報１２ａに対して少なくとも１つの操作を行う権限（アクセス権限）が付与されているものとする。
【００４８】
図５は、サービスゲートウェイ１の準備動作を示すシーケンス図である。ここでは、第１機能生成部２１１が、予め、パーミッション情報２１２ａを作成しているとともに、権限判定部２１２および第１インターフェース２１３も生成されているものとする。
まず、ローカルマネージャ２２が、デバイス管理ツリー管理部２１の第１機能生成部２１１に対して、サブツリー１へのアクセス要求を行う（ステップＳ１）。このアクセス要求は、例えば、ユーザが端末２０３において設定情報１２ａを操作するアプリケーションソフトウェアを起動し、ローカルマネージャ２２が起動した後直ちに行われる。
【００４９】
第１機能生成部２１１は、ローカルマネージャ２２からのアクセス要求を受けると、データプラグインバンドル３１の第２機能生成部３１１に対して、第２インターフェース３１２を生成するよう要求するインターフェース生成要求（生成要求）を送る（ステップＳ２）。ここにおいて、第１機能生成部２１１は、ソフトウェアインターフェースである第２インターフェースの生成を要求する生成要求を送る生成要求部として機能する。
また、第１機能生成部２１１は、ローカルマネージャ２２に設定情報１２ａへのアクセス権限が付与されているか否かを判定する。そして、第１機能生成部２１１は、ローカルマネージャ２２に設定情報１２ａへのアクセス権限が付与されていると判定し、データプラグインバンドル３１にインターフェース生成要求を送る。
【００５０】
第２機能生成部３１１は、第１機能生成部２１１からインターフェース生成要求を受けると、第２インターフェース３１２を生成する（ステップＳ３）。そして、第２インターフェース３１２は、プロキシバンドル３３の第３機能生成部３３１に対して、第３インターフェース３３２を生成するよう要求するインターフェース生成要求を行う（ステップＳ４）。
【００５１】
第３機能生成部３３１は、第２機能生成部３１２からインターフェース生成要求を受けると、第３インターフェース３３２を生成する（ステップＳ５）。その後、第３インターフェース３３２は、ソケット３３３を生成する（ステップＳ６）。
【００５２】
その後、第２インターフェース３１２は、第３インターフェース３３２に対して、コネクション要求を行う（ステップＳ７）。
【００５３】
第３インターフェース３３２は、第２インターフェース３１２からコネクション要求を受けると、ソケット３３３を介してＯＳ１２にコネクション要求を行う（ステップＳ８，Ｓ９）。このようにして、ローカルマネージャ２２とＯＳ１２との間において、ストリーム型通信が確立する。
【００５４】
なお、以上の説明では、ローカルマネージャ２２がサブツリー１へのアクセス要求を行う例について説明したが、プロトコルアダプタ２３がサブツリー１へのアクセス要求を行う場合も同様である。プロトコルアダプタ２３がサブツリー１へのアクセス要求を行う場合については説明を省略する。
【００５５】
ところで、第１機能生成部２１１は、ローカルマネージャ２２に設定情報１２ａへのアクセス権限が付与されていないと判定された場合、データプラグインバンドル３１にインターフェース生成要求を送らない。また、データプラグインバンドル３１は、第１機能生成部２１１からインターフェース生成要求を受け取らない場合、第２インターフェース３１２を生成しない。
【００５６】
これにより、データプラグインバンドル３１において無駄に第２インターフェース３１２の生成が行われないので、データプラグインバンドル３１における処理量の低減を図ることができる。従って、サービスゲートウェイ１における処理負荷の軽減を図ることができる。
【００５７】
＜２−２＞本動作
次に、ＯＳの保有する設定情報１２ａを操作する本動作について説明する。
ここでは、権限判定部２１２が、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２からの各種操作要求を第１インターフェース２１３に対して行うか否かを判定する。
【００５８】
図６は、パーミッション情報２１２ａの一例を示す概念図である。
パーミッション情報２１２ａは、ローカルマネージャ２２について、設定情報１２ａに対して行う操作に基づいてアクセス権限を規定している。図６の例では、ローカルマネージャ２２として、識別情報「Ａ」、「Ｂ」、「Ｃ」が付与されたものが存在するとする。以下、識別情報「Ａ」，「Ｂ」，「Ｃ」それぞれに対応するローカルマネージャ２２を「２２Ａ」，「２２Ｂ」，「２２Ｃ」と表記する。
このように、パーミッション情報２１２ａが、ローカルマネージャ２２Ａ，２２Ｂ，２２Ｃそれぞれについて、許容される操作を規定している。これにより、ローカルマネージャ２２Ａ，２２Ｂ，２２Ｃが、設定情報１２ａにアクセスして行う操作のうち許容できる操作をローカルマネージャ２２Ａ，２２Ｂ，２２Ｃ毎に規定することができる。
【００５９】
ローカルマネージャ２２Ａは、設定情報１２ａに対して「追加」、「削除」、「取得」、「更新」の権限が付与されている。ここで、「追加」は、ＯＳ１２が保持する設定情報１２ａに新たな設定情報を追加する権限である。「削除」は、ＯＳ１２が保持する設定情報１２ａを削除する権限である。「取得」は、ＯＳ１２が保持する設定情報１２ａを取得する権限である。「更新」は、ＯＳ１２が保持する設定情報１２ａを新たな情報に更新する権限である。
【００６０】
図７は、ローカルマネージャ２２Ａが設定情報１２ａを操作する場合の動作を示すシーケンス図である。ここでは、ローカルマネージャ２２Ａが、ＯＳ１２の保有する設定情報１２ａに対して「追加」、「削除」、「取得」、「更新」の４種類の操作を行う場合について説明する。
ローカルマネージャ２２Ａが、設定情報１２ａに新たな設定情報の追加を行うとする。この場合、ローカルマネージャ２２Ａは、デバイス管理ツリー管理部２１の権限判定部２１２に対して、設定追加要求および設定情報を送る（ステップＳ１１）。
【００６１】
一方、権限判定部２１２は、設定追加要求および設定情報を受け取ると、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２Ａが設定追加要求を行う権限を有するか否かのチェックを行う。そして、権限判定部２１２は、ローカルマネージャ２２Ａに「追加」権限が付与されていると判定すると、第１インターフェース２１３に、設定追加要求および設定情報を渡す（ステップＳ１２）。
その後、第１インターフェース２１２は、データプラグインバンドル３１の第２インターフェース３１２に対して、設定追加要求を行うとともに追加する設定情報を渡す（ステップＳ１３）。
【００６２】
第２インターフェース３１２は、第１インターフェース２１２から設定追加要求を受けるとともに設定情報を取得すると、プロキシバンドル３３の第３インターフェース３３２に対して、設定追加要求を行うとともに設定情報を渡す（ステップＳ１４）。
【００６３】
そして、第３インターフェース３３２は、ソケット３３３を介してＯＳ１２に設定追加要求を行うとともに設定情報を渡す（ステップＳ１５，Ｓ１６）。すると、ＯＳ１２は、自己が保有する設定情報１２ａに新たな設定情報を追加する（ステップＳ１７）。
【００６４】
また、ローカルマネージャ２２Ａが、ＯＳ１２に対して設定情報１２ａの一部または全部の削除の要求を行うとする。この場合、ローカルマネージャ２２Ａは、デバイス管理ツリー管理部２１の権限判定部２１２に対して、設定削除要求を送る（ステップＳ１８）。
【００６５】
一方、権限判定部２１２は、設定削除要求を受け取ると、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２Ａが設定削除要求を行う権限を有するか否かのチェックを行う。そして、権限判定部２１２は、ローカルマネージャ２２Ａに「削除」権限が付与されていると判定すると、第１インターフェース２１３に設定削除要求を渡す（ステップＳ１９）。
その後、第１インターフェース２１３は、データプラグインバンドル３１の第２インターフェース３１２に対して、設定削除要求を行う（ステップＳ２０）。
【００６６】
第２インターフェース３１２は、第１インターフェース２１２から設定削除要求を受けると、プロキシバンドル３３の第３インターフェース３３２に対して、設定削除要求を行う（ステップＳ２１）。
【００６７】
そして、第３インターフェース３３２は、ソケット３３３を介してＯＳ１２に設定削除要求を行う（ステップＳ２２，Ｓ２３）。すると、ＯＳ１２は、自己が保有する設定情報１２ａの一部または全部を削除する（ステップＳ２４）。
【００６８】
また、ローカルマネージャ２２Ａが、ＯＳ１２に対して設定情報１２ａの取得要求を行うとする。この場合、ローカルマネージャ２２Ａは、デバイス管理ツリー管理部２１の権限判定部２１２に対して、設定情報取得要求を送る（ステップＳ２５）。
【００６９】
一方、権限判定部２１２は、設定情報取得要求を受け取ると、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２Ａが設定情報取得要求を行う権限を有するか否かのチェックを行う。そして、権限判定部２１２は、ローカルマネージャ２２Ａに「取得」権限が付与されていると判定すると、第１インターフェース２１３に設定情報取得要求を渡す（ステップＳ２６）。
その後、第１インターフェース２１３は、データプラグインバンドル３１の第２インターフェース３１２に対して、設定情報取得要求を行う（ステップＳ２７）。
【００７０】
第２インターフェース３１２は、第１インターフェース２１２から設定情報取得要求を受けると、プロキシバンドル３３の第３インターフェース３３２に対して、設定情報取得要求を行う（ステップＳ２８）。
【００７１】
そして、第３インターフェース３３２は、ソケット３３３を介してＯＳ１２に設定情報取得要求を行う（ステップＳ２９，Ｓ３０）。すると、ＯＳ１２は、デバイス管理ツリー管理部２１により設定された所定の記憶領域に格納されている設定情報を、ソケット３３３を介してプロキシバンドル３３の第３インターフェース３３２に渡す（ステップＳ３１，Ｓ３２）。
【００７２】
第３インターフェース３３２は、ＯＳ１２から取得した設定情報を、データプラグインバンドル３１の第２インターフェース３１２に渡す（ステップＳ３３）。そして、第２インターフェース３１２は、第３インターフェース３３２から取得した設定情報を、デバイス管理ツリー管理部２１の第１インターフェース２１２に渡す（ステップＳ３４）。その後、ローカルマネージャ２２は、第１インタ―フェース２１２から設定情報を取得する（ステップＳ３５）。
【００７３】
また、ローカルマネージャ２２Ａが、ＯＳ１２に対して設定情報１２ａの更新の要求を行うとする。この場合、ローカルマネージャ２２Ａは、デバイス管理ツリー管理部２１の権限判定部２１２に対して、設定更新要求および新たな設定情報を送る（ステップＳ３６）。
【００７４】
一方、権限判定部２１２は、設定更新要求を受け取ると、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２Ａが設定更新要求を行う権限を有するか否かのチェックを行う。そして、権限判定部２１２は、ローカルマネージャ２２Ａに「更新」権限が付与されていると判定すると、第１インターフェース２１３に設定更新要求および設定情報を渡す（ステップＳ３７）。
その後、第１インターフェース２１２は、データプラグインバンドル３１の第２インターフェース３１２に対して、設定更新要求を行うとともに新たな設定情報を渡す（ステップＳ３８）。
【００７５】
第２インターフェース３１２は、第１インターフェース２１２から設定更新要求を受けると、プロキシバンドル３３の第３インターフェース３３２に対して、設定更新要求を行うとともに新たな設定情報を渡す（ステップＳ３９）。
【００７６】
そして、第３インターフェース３３２は、ソケット３３３を介してＯＳ１２に設定更新要求を行うとともに新たな設定情報を渡す（ステップＳ４０，Ｓ４１）。すると、ＯＳ１２は、自己が保有する設定情報１２ａを、新たな設定情報に更新する（ステップＳ４２）。
以上説明したように、ローカルマネージャ２２Ａは、ＯＳ１２の保持する設定情報１２ａに対して「追加」、「削除」、「取得」、「更新」の４種類の操作全てを行うことができる。
【００７７】
図８は、ローカルマネージャ２２Ｂから設定情報１２ａの操作を行う場合の動作を示すシーケンス図である。ここでは、ローカルマネージャ２２Ｂが、ＯＳ１２の保有する設定情報１２ａに対して「追加」、「削除」、「取得」、「更新」の４種類の操作を行う場合について説明する。
なお、ローカルマネージャ２２Ｂが、ＯＳ１２に対して設定情報の追加要求、或いは、設定情報の取得要求を行う場合の動作は、ローカルマネージャ２２Ａの場合と同様なのでここでは詳細な説明は省略する。
【００７８】
ローカルマネージャ２２Ｂが、ＯＳ１２に対して設定情報１２ａの一部または全部の削除の要求を行うとする。この場合、ローカルマネージャ２２Ｂは、デバイス管理ツリー管理部２１の権限判定部２１２に対して、設定削除要求を送る（ステップＳ４３）。
一方、権限判定部２１２は、設定削除要求を受け取ると、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２Ｂが設定削除要求を行う権限を有するか否かのチェックを行う。そして、権限判定部２１２は、ローカルマネージャ２２Ｂに「削除」権限が付与されていないと判定すると、ローカルマネージャ２２Ｂから取得した設定情報取得要求を破棄する（ステップＳ４４）。
【００７９】
また、ローカルマネージャ２２Ｂが、ＯＳ１２に対して設定情報１２ａの更新要求を行うとする。この場合、ローカルマネージャ２２Ｂは、デバイス管理ツリー管理部２１の権限判定部２１２に対して、設定更新要求および追加する設定情報を送る（ステップＳ４５）。
一方、権限判定部２１２は、設定削除要求を受け取ると、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２Ｂが設定削除要求を行う権限を有するか否かのチェックを行う。そして、権限判定部２１２は、ローカルマネージャ２２Ｂに「更新」権限が付与されていないと判定すると、ローカルマネージャ２２Ｂから取得した設定削除要求を破棄する（ステップＳ４６）。
【００８０】
図９は、ローカルマネージャ２２Ｃから設定情報１２ａの操作を行う場合の動作を示すシーケンス図である。ここでは、ローカルマネージャ２２Ｃが、ＯＳ１２の保有する設定情報１２ａに対して「追加」、「削除」、「取得」、「更新」の４種類の操作を行う場合について説明する。
なお、ローカルマネージャ２２Ｃが、ＯＳ１２に対して設定情報の取得を要求する場合の動作は、ローカルマネージャ２２Ａ，２２Ｂの場合と同様なのでここでは詳細な説明は省略する。また、ローカルマネージャ２２Ｃが、ＯＳ１２に対して設定情報の削除や更新を要求する場合の動作も、ローカルマネージャ２２Ｂの場合と同様なのでここでは詳細な説明は省略する。
【００８１】
ローカルマネージャ２２Ｃが、ＯＳ１２に対して設定情報の追加を要求したとする。この場合、ローカルマネージャ２２Ｃは、デバイス管理ツリー管理部２１の権限判定部２１２に対して、設定追加要求および追加する設定情報を送る（ステップＳ４７）。
一方、権限判定部２１２は、設定追加要求および設定情報を受け取ると、パーミッション情報２１２ａに基づいて、ローカルマネージャ２２Ｃが設定追加要求を行う権限を有するか否かのチェックを行う。そして、権限判定部２１２は、ローカルマネージャ２２Ｃに「追加」権限が付与されていないと判定すると、ローカルマネージャ２２Ｃから取得した設定追加要求を破棄する（ステップＳ４８）。
【００８２】
以上説明したように、ローカルマネージャ２２Ｂ，２２Ｃは、ＯＳ１２の保持する設定情報１２ａに対して自己に権限が付与されていない操作（例えば、「追加」、「削除」、「更新」）を行おうとしたとする。この場合、権限判定部２１２が、要求元のローカルマネージャ２２Ｂ，２２Ｃに付与されていない権限に対応する操作要求を破棄する。
【００８３】
＜３＞まとめ
結局、本実施形態に係るサービスゲートウェイ１では、デバイス管理ツリー管理部（設定情報管理部）２１が、権限判定部２１２を有する。そして、権限判定部２１２は、パーミッション情報に基づいて、バンドル（ローカルマネージャ２２やプロトコルアダプタ２３）毎に設定情報１２ａへのアクセス権限を判定する。ここで、パーミッション情報とは、設定情報１２ａに対する複数のバンドルそれぞれのアクセス権限を示すものである。
これにより、ローカルマネージャ２２やプロトコルアダプタ２３毎に設定情報１２ａへのアクセス制御を行うことができるので、不正なローカルマネージャ２２や不正なプロトコルアダプタ２３による設定情報１２ａへのアクセスを制限できる。従って、設定情報１２ａのセキュリティ向上を図ることができる。
【００８４】
また、不正なローカルマネージャ２２やプロトコルアダプタ２３から設定情報１２ａが改鼠されることにより、仮想マシン１３の動作環境が損なわれ、サービスゲートウェイ１の動作が不安定になるのを抑制できる。
【００８５】
［２．変形例］
（１）実施形態に係るサービスゲートウェイ１において、データ管理ツリー管理部２１が、ローカルマネージャ２２が正規のベンダから提供されたものであるか否かを認証する認証部を備えるものであってもよい。なお、フレームワーク１４が有するものであってもよい。
例えば、ベンダから提供されるローカルマネージャ２２それぞれにベンダ固有のパスワードを付与しておけばよい。そして、認証部が、正規のベンダ固有のパスワードに関するパスワードリストを保持し、当該パスワードリストに基づいて、ローカルマネージャ２２に付与されたパスワードが正規のベンダから提供されたものか否かを判定するようにすればよい。
本構成によれば、非正規のユーザから提供されたローカルマネージャ２２による設定情報１２ａへのアクセスが制限されるので、設定情報１２ａのセキュリティ向上を図ることができる。
【００８６】
（２）また、実施形態に係るサービスゲートウェイ１において、データ管理ツリー管理部２１が、ベンダから非対称鍵暗号化方式により暗号化されたローカルマネージャ２２を取得するようにしてもよい。
図１０は、本変形例に係るサービスゲートウェイ１とサーバ２との動作を示すシーケンス図である。ここにおいて、サービスゲートウェイ１は、サーバ２において暗号化されたローカルマネージャ２２を復号する復号部を備える。この復号部は、例えば、データ管理ツリー管理部２１が有する。
ここでは、まず、ローカルマネージャ２２のベンダ側に設置されたサーバ２が、ベンダ固有の公開鍵と秘密鍵とを生成する（ステップＳ６１）。次に、サービスゲートウェイ１が、サーバ２から配信された公開鍵を取得する（ステップＳ６２）。
【００８７】
一方、サーバ２では、サービスゲートウェイ１に配信しようとするローカルマネージャ２２を秘密鍵で暗号化する（ステップＳ６３）。そして、サーバ２は、暗号化したローカルマネージャ２２をサービスゲートウェイ１に送る（ステップＳ６４）。
そして、サービスゲートウェイ１は、サーバ２から取得した、暗号化されたローカルマネージャ２２を、公開鍵を用いて復号する（ステップＳ６５）。その後、サービスゲートウェイ１は、ローカルマネージャ２２をフレームワーク２１上にインストールする（ステップＳ６６）。
【００８８】
本構成によれば、不正ベンダから提供されたローカルマネージャがフレームワーク１４にインストールされるのを防止できる。従って、不正ベンダから提供されたローカルマネージャによる設定情報１２ａへのアクセスを抑制できる。
【００８９】
（３）実施形態では、デバイス管理ツリー管理部２１の第１機能生成部２１１が、予め作成されたパーミッション情報２１２ａを保有する権限判定部２１２を予め生成しておく例について説明した。但し、第１機能生成部２１１がパーミッション情報２１２ａを作成するタイミングおよび権限判定部２１２を生成するタイミングは、これに限定されるものではない。
例えば、予め作成されたパーミッション情報２１２ａに登録されていない新たなローカルマネージャ２２がフレームワーク２１にインストールされた際、第１機能生成部２１１が、パーミッション情報２１２ａを新たに作成するようにしてもよい。そして、パーミッション情報２１２ａが新たに作成されたときに、第１機能生成部２１１が、新たに作成したパーミッション情報２１２ａを保有する権限判定部２１２を生成するようにしてもよい。
【００９０】
ここにおいて、まず、第１機能生成部２１１が、ローカルマネージャ２２からローカルマネージャ２２の提供元を識別できる識別情報を取得する。
次に、第１機能生成部２１１は、サービスゲートウェイ１のユーザに対して当該ローカルマネージャ２２に付与すべきアクセス権限に関する情報ついて問い合わせる。例えば、第１機能生成部２１１が、端末２０３を通じてユーザに問い合わせを行うようにすればよい。
そして、第１機能生成部２１１が、ユーザから新たなローカルマネージャ２２に付与すべきアクセス権限に関する情報を取得すると、上記識別情報と取得したアクセス権限に関する情報とに基づいて、パーミッション情報２１２ａを新たに作成する。
その後、第１機能生成部２１１が、新たに作成したパーミッション情報２１２ａを保有する権限判定部２１２を生成する。
【００９１】
本構成によれば、ローカルマネージャ２２の提供元が新たに生じた場合、新たに生じた提供元に対する設定情報１２ａへのアクセス権限の設定が容易になる。
【００９２】
（４）実施形態では、ＯＳ１２上において１つの仮想マシン１３が動作する例について説明したが、ＯＳ１２上で動作する仮想マシンは必ずしも１つに限定されるものではない。
例えば、ＯＳ１２が、マルチプロセッシング方式に対応できるものであれば、当該ＯＳ１２が、複数の仮想マシンを同時に動作させるものであってもよい。
本構成によれば、複数の仮想マシン上それぞれにおいて、各別にフレームワークを動作させることができる。
【００９３】
（５）実施形態では、サービスゲートウェイ１において、設定情報１２ａが１種類だけ存在する場合について説明した。但し、設定情報は、複数種類存在していてもよい。そして、権限判定部２１２が保有するパーミッション情報が、ローカルマネージャ２２毎に、設定情報の種類に基づいてアクセス権限を規定していてもよい。
【００９４】
図１１は、本変形例に係るパーミッション情報の一例を示す概念図である。
パーミッション情報は、実施形態と同様に、ローカルマネージャ２２について、設定情報に対して行う操作に基づいてアクセス権限を規定している。図６の例では、ローカルマネージャ２２として、識別情報「Ａ」、「Ｂ」、「Ｃ」が付与されたものが存在し、設定情報として、識別情報「Ｐ」、「Ｑ」、「Ｒ」が付与されたものが存在するとする。以下、識別情報「Ａ」，「Ｂ」，「Ｃ」それぞれに対応するローカルマネージャ２２を「２２Ａ」，「２２Ｂ」，「２２Ｃ」と表記し、識別情報「Ｐ」、「Ｑ」、「Ｒ」それぞれに対応する設定情報を「１２Ｐ」、「１２Ｑ」、「１２Ｒ」と表記する。
図１１に示すように、パーミッション情報は、ローカルマネージャ２２Ａ，２２Ｂ，２２Ｃおよび設定情報１２Ｐ，１２Ｑ，１２Ｒそれぞれについて、許容される操作を規定している。
【００９５】
ローカルマネージャ２２Ａは、設定情報１２Ｐに対して「追加」、「削除」、「取得」、「更新」の権限が付与されている。ここで、「追加」、「削除」、「取得」、「更新」の内容は、実施形態で説明した内容と同じである。
また、ローカルマネージャ２２Ａは、設定情報１２Ｑに対して「追加」、「取得」の権限のみが付与されており、「削除」、「更新」の権限は付与されていない。
更に、ローカルマネージャ２２Ａは、設定情報１２Ｒに対して「取得」の権限のみが付与されており、「追加」、「削除」、「更新」の権限は付与されていない。
【００９６】
ローカルマネージャ２２Ｂは、設定情報１２Ｐ，１２Ｑ，１２Ｒ全てに対して「追加」、「取得」の権限のみが付与されており、「削除」、「更新」の権限は付与されていない。
【００９７】
ローカルマネージャ２２Ｃは、設定情報１２Ｐに対して「追加」、「削除」、「取得」、「更新」の権限が付与されているが、設定情報１２Ｑ，１２Ｒに対しては、「取得」の権限のみが付与されている。
以上のように、本変形例に係るサービスゲートウェイでは、ローカルマネージャ２２の種類のみならず、設定情報の種類によっても各設定情報へのアクセス権限を変えている。
【００９８】
本構成によれば、ローカルマネージャ２２が設定情報にアクセスして行う操作のうち許容できる操作を、設定情報（１２Ｐ，１２Ｑ，１２Ｒ）の種類に応じて、適宜制限することができる。従って、複数種類の設定情報が存在する場合、各設定情報についてその種類に応じて異なるセキュリティレベルで管理することが可能となる。
【００９９】
［３．付記］
なお、今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１００】
１        サービスゲートウェイ（ソフトウェアモジュール実行機器）
２        サーバ（外部端末）
１２      ＯＳ（オペレーティングシステム）
１２ａ    設定情報
１３      仮想マシン
１４      フレームワーク
２１      デバイス管理ツリー管理部（設定情報管理部）
２２      ローカルマネージャ（アクセス要求モジュール）
２３      プロトコルアダプタ
３１      データブラグインバンドル（インターフェース生成モジュール）
３２      実行プラグインバンドル
３３      プロキシバンドル（インターフェース生成モジュール）
２０１，２０２  ホーム機器
２０３    端末
２１１    第１機能生成部
２１２    権限判定部
２１２ａ  パーミッション情報
２１３    第１インターフェース
３０１    一般家屋
３１１    第２機能生成部
３１２    第２インターフェース
３３１    第３機能生成部
３３２    第３インターフェース
３３３    ソケット
【図１】
2015031989.tif 000003
【図２】
2015031989.tif 000004
【図３】
2015031989.tif 000005
【図４】
2015031989.tif 000006
【図５】
2015031989.tif 000007
【図６】
2015031989.tif 000008
【図７】
2015031989.tif 000009
【図８】
2015031989.tif 000010
【図９】
2015031989.tif 000011
【図１０】
2015031989.tif 000012
【図１１】
2015031989.tif 000013