(57)【要約】      （修正有）【課題】ホームゲートウェイ装置を用いてユーザに動的にサービスを提供する場合において、センタサーバからホームゲートウェイ装置に配信されたサービスの正当性を確認する。【解決手段】ホームゲートウェイ装置１０にインストールするサービスにそのサービスを自動的に実行するか、ユーザの実行決定を待って実行するかを判断するための識別子を付与する。また悪意のあるサーバから送付されたサービスを実行しないようサービスをインストールする際は、まず当該サービスをインストールするために必要な情報のみをかえすインストーラをホームゲートウェイ装置に配布し、ホームゲートウェイ装置１０にて当該サービスを実行する際に、再度センタサーバに実行可否を確認した後、サービス実体を取得し実行する。【選択図】図１
2011003110.tif 000002
【特許請求の範囲】
【請求項１】
ホームゲートウェイ装置とサービス管理サーバを備えたネットワークシステムであって、
前記サービス管理サーバは、
前記ホームゲートウェイ装置にサービスのインストーラを送信し、
前記ホームゲートウェイ装置は、
該インストーラをユーザの許可なしで自動実行するか、ユーザにインストール可否を問合せるかを決定し、
自動実行の場合には、サービス本体を前記サービス管理サーバから取得してインストールし、ユーザにインストール可否を問合せる場合は、ユーザの許可を得てから前記サービス本体を取得しインストールすることを特徴とするネットワークシステム。
【請求項２】
請求項１記載のネットワークシステムであって、
前記サービス管理サーバから前記ホームゲートウェイ装置に送信されるインストーラにユーザの許可なしで自動実行するか、ユーザにインストール可否を問合せるかを決定するための識別子が付加されていることを特徴とするネットワークシステム。
【請求項３】
請求項１記載のネットワークシステムであって、
前記ホームゲートウェイ装置がインストーラから取得した情報を用いて前記サービス管理サーバにサービス本体を取得する際に、前記サービス管理サーバにて該ホームゲートウェイ装置を利用するユーザの再認証を行い認証された場合に該サービス本体を該ホームゲートウェイ装置に送信することを特徴とするネットワークシステム。
【請求項４】
請求項1記載のネットワークシステムであって、
前記ホームゲートウェイ装置がインストーラから取得した情報を用いて前記サービス管理サーバにサービス本体を取得する際に、前記ホームゲートウェイ装置が該インストーラを識別するための識別子と該インストーラのハッシュ値を要求に付加して送信し、前記インストーラのハッシュ値と、前記ホームゲートウェイ装置から受信したインストーラを識別子によって特定されるサービス管理サーバ内に格納されたサービスインストーラのハッシュ値を比較し、値が等しい場合に該サービス本体をホームゲートウェイ装置に送信することを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホームゲートウェイ装置におけるサービス提供システムに関する。
【背景技術】
【０００２】
現在、家庭内のネットワーク(ホームネットワーク)と外部ネットワーク(一般的にはインターネット)を接続するゲートウェイ機器としてホームゲートウェイが利用されている。
【０００３】
現状、ホームゲートウェイにて提供されている機能は、家庭内LANのルータとなり家庭内の情報家電間の通信の仲介や、家庭内の情報家電へのADSLやFTTHなどの広帯域回線を利用したインターネット接続の提供、外部ネットワークからの不正なアクセスを遮断するファイアウォール機能及び、SIPを用いたVoIP(Voice Over IP)によるIP電話程度である。
【０００４】
上記に示したようにホームゲートウェイには、ホームネットワークと外部ネットワークの境界に位置し、家庭内で常時起動し、ホームネットワーク内の情報家電が全て接続するといった特徴があり、今後家庭内の情報家電をまとめるホームサーバとしての役割が期待される。例えばホームネットワークに接続された機器の動的検出や自動設定、外部ネットワークからの家庭内の情報家電への動的なアクセス制御、ホームネットワーク上の複数の機器とアプリケーションを組合わせた総合的なサービスを提供するといったことが考えられる。
【０００５】
以上の観点から、ホームゲートウェイの家庭内での重要性は今後より高まると考えられ、ユーザへの新規機能やサービスを随時提供していくことを考えると、これら新規機能やサービスを動的に提供できることが必須となる。
【０００６】
ホームゲートウェイでの統合的なサービス提供に関する標準化としては、特にネットワークサービスのためのJAVAベースのコンピュータ環境の標準化を進めるOSGi(Open Services Gateway Initiative)が挙げらる。OSGiは、プラットフォームであるフレームワークとその上である特定の機能を実現するバンドルと呼ばれる機能モジュール群で構成されたJava言語に基づくサービスプラットフォームであり、OSGi Alliance によって標準化されている。
【０００７】
OSGiフレームワークは、機器の動作を止めることなく新しいサービスやデータの追加、及びサービスの機能変更を可能とするミドルウェアである。センタに配置されたセンタサーバよりホームゲートウェイなどの宅内機器にバンドルと単位での遠隔インストール(PUSH)が可能である。また宅内機器からセンタサーバ側からバンドルを取得しインストール(PULL)することも可能である。
【０００８】
各バンドルは、バンドル内に実装されたオブジェクトをOSGiのフレームワーク上に公開することで、他のバンドルとの情報の交換が可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
OSGiを利用することで、ホームゲートウェイにおける動的なサービスの追加/削除が可能である。しかしながら、現状のフレームワークではユーザへのサービス提供という観点での考慮が十分ではない。
【００１０】
そのため、センタサーバからインストールされたバンドルが、ファームウェアの更新等のユーザに対して実行の可否を確認することなく実行すべきものなのか、一般的なサービス等のユーザが主体的に実行の可否を決定するといった処理が必要となるものかを区別しきれないという課題がある。
【００１１】
またバンドル１つではある１つの機能を有するのみであり、ある特定のサービスをユーザに提供するためには当該サービスを実現するために必要な複数バンドルをホームゲートウェイにインストール及び実行しなければならないという課題がある。
【００１２】
さらに、セキュリティの観点から、ユーザ主体でバンドルを実行する場合に、偽のセンタサーバからインストールされたバンドルを実行しないようにしなければならない。
【課題を解決するための手段】
【００１３】
本発明では、ホームゲートウェイ装置にインストールするサービスにそのサービスを自動的に実行するか、ユーザの実行決定を待って実行するかを判断するための識別子を付与する。また悪意のあるサーバから送付されたサービスを実行しないようサービスをインストール際は、まず当該サービスをインストールするために必要なバンドルおよび設定情報のみを返すインストーラをホームゲートウェイ装置に配布し、ホームゲートウェイ装置にて当該サービスを実行する際に、再度センタサーバに実行可否の確認した後、サービスを実体を取得し、実行する。
【発明の効果】
【００１４】
本発明によると、サービスの実行レベルに応じて、ホームゲートウェイ装置にて、ユーザの許可なしにサービスを自動実行するか、ユーザに実行選択させるかが認識可能となり、ユーザに対するサービス提供が容易となる。また本発明によると、インストーラ内に格納されたサービスを提供するために必要なバンドルの情報より、複数のバンドルをインストール及び実行することが可能となり、ユーザに対するサービス提供が容易となる。
【００１５】
さらに本発明によると、サービス実行時に再度センタサーバとの間で実行可否確認を行うことで、偽のセンタサーバからインストールされたサービスの実行を防ぐことが可能である。
【図面の簡単な説明】
【００１６】
【図１】システム構成図
【図２】サービス管理サーバの構成図
【図３】ユーザ情報ＤＢの構成例
【図４（ａ）】サービス情報リストの構成例
【図４（ｂ）】バンドル情報リストの構成例
【図５】サービスインストーラＤＢの構成例
【図６】サービスボディＤＢの構成例
【図７】ホームゲートウェイ装置の構成図
【図８】ホームゲートウェイ装置の動作フロー図
【図９】自動実行サービスがインストールされた場合の動作シーケンス図
【図１０】ユーザの実行許可が必要なサービスがインストールされた場合の動作シーケンス図
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について図面を参照して説明する。
【実施例１】
【００１８】
本実施例における第1の実施形態について説明する。本実施形態では、ホームゲートウェイ装置にサービスをインストールした際の、サービスの実行レベルに応じたサービス実行に関して説明する。
【００１９】
本実施例におけるシステムの構成を図１に示す。ホームゲートウェイ装置１０はホームネットワークと回線事業者ＮＷ１３との境界に配置され、宅内に存在する情報家電機器と、外部ネットワークとの通信を仲介する。また、ホームゲートウェイ装置１０上にて情報家電機器制御等のサービスを家庭内から家庭内のユーザに提供する。ホームゲートウェイ装置は、起動時にホームゲートウェイ装置を識別するための識別子や、前記ホームゲートウェイ装置を利用するユーザのユーザ情報（ユーザＩＤ、及びユーザパスワード）等を利用して、ユーザ認証サーバ１１でホームゲートウェイ装置の認証した後に、回線事業者ＮＷに接続される。
【００２０】
サービス管理サーバ１２は、ホームゲートウェイ装置にサービス提供するサーバであり、ホームゲートウェイ装置に提供可能なサービスの管理や、各ホームゲートウェイ装置にて実行されているサービスの情報を管理する。
【００２１】
ここで、サービスとは、サービスのインストール情報を保持するサービスインストーラと、サービスの実体となる複数のバンドルとに分割される。サービスインストーラには、当該サービスを識別するための識別子であるサービスＩＤ、サービスインストーラＩＤ、当該サービスを実行するために必要なバンドルのリスト及び、当該サービスを実行するに当たりユーザの許可の有無を示す起動レベルを示す情報が付与される。
【００２２】
前記当該外サービスを実行するために必要なバンドルのリストは、  前記バンドルを識別するためのバンドルＩＤのリストからなる。
【００２３】
上記サービスＩＤ及びバンドルＩＤは、事前にサービス管理サーバを持つサービス提供事業者（ここでは回線事業者）に対して、実際にサービス若しくはバンドルを作成するベンダとが契約をし、各ベンダ毎に異なるサービスＩＤ若しくはバンドルＩＤを配布しているものとする。これにより、ベンダ間でＩＤが重複するといった問題を防げる。これらのＩＤは、Javaにおけるパッケージ名でも良いし、サービス提供事業者が一意に決定する識別子であってもよい。
【００２４】
図２にサービス管理サーバ１２の構成例を示す。サービス管理サーバは、通信制御部２１を介して配下のホームゲートウェイ装置と通信を実施する。サービス管理部２２が、新規サービスの追加の追加、各ホームゲートウェイ装置へのサービスの配布、各ホームゲートウェイにインストール及び実行されている（or実行された）サービス及びバンドルの情報を管理する。
【００２５】
ユーザ情報ＤＢ２３は、各ホームゲートウェイ装置を利用しているユーザの情報及び当該ホームゲートウェイ装置にインストール及び実行されているサービス及びバンドルを記憶するデータベースである。
【００２６】
サービスインストーラＤＢ２４は、サービスのインストーラとなるプログラムの情報を管理するデータベールである。バンドルＤＢ２５はサービス本体のプログラムの情報を管理するデータベースである。サービスインストーラＤＢ２４及びバンドルＤＢ２５にて管理されるプログラムは、サービス保存部２６に記憶される。
【００２７】
図３はサービス管理サーバが保持するユーザ情報ＤＢ２３の構成例である。ユーザ情報ＤＢは、ホームゲートウェイ装置１台につき１つのユーザ情報ＤＢ・エントリ３１が保存される。ユーザ情報ＤＢ・エントリ３１はさらに、各ホームゲートウェイ装置を識別するための情報を格納するユーザＩＤフィールド３２と、当該ホームゲートウェイ装置にインストール及び実行されているサービスのリストを格納するサービス情報リスト３３、当該ホームゲートウェイ装置にインストール若しくは実行されているバンドル情報リスト３４から構成される。
【００２８】
図４（ａ）は、サービス情報リスト３３の構成例を示す。サービス情報リスト３３は、複数のサービス情報リスト・エントリ４１から構成され、１つのエントリが１つのサービス対応する。サービス情報リスト・エントリ４１は、さらにサービスの識別子であるサービスＩＤを格納するサービスＩＤフィールドと、当該サービスの状態を示すサービス状態フィールド４３からなる。サービス状態フィールドにて示される情報は、当該エントリのサービスＩＤフィールドに格納されるサービスＩＤによって識別されるサービスの状態を示すものであり、インストール(未実行)、実行中といった状態を示す情報が格納される。サービス状態フィールド４３に格納される情報は、文字列でもあって良いし、各状態を別の記号若しくは数値に置き換えた値を格納するのでも良い。
【００２９】
図４（ｂ）は、バンドル情報リスト３４の構成例を示す。バンドル情報リスト３４は、複数のバンドル情報リスト・エントリ４４から構成され、1つのエントリが１つのバンドルに対応する。バンドル情報リスト・エントリ４５は、さらにバンドルの識別子であるバンドルＩＤを格納するバンドルＩＤフィールド４５と、当該バンドルの状態を示すバンドル状態フィールド４６からなる。バンドル状態フィールド４６にて示される情報は、当該エントリのバンドルＩＤフィールドに格納されるバンドルＩＤによって識別されるバンドルの実行状態を示すものであり、インストール(未実行)、実行中といった状態を示す情報が格納される。バンドル状態フィールド４３に格納される情報は、文字列でもあって良いし、各状態を別の記号若しくは数値に置き換えた値を格納するのでも良い。前記バンドル情報リストエントリに格納されるバンドルＩＤは、当該バンドル情報リストに対応するユーザＩＤで識別されたホームゲートウェイ装置上でインストール若しくは実行されているバンドルのみであってもよいし、サービス管理サーバ１２にて管理される全てのバンドルＩＤに関して、バンドル状態を格納しているのでも良い。
【００３０】
図５は、サービスインストーラＤＢ２４の構成例を示す。本データベースには、ベンダが作成したサービスインストーラ用のバンドルの情報が格納される。サービスインストーラＤＢ２４は、さらにサービスインストーラＤＢ・エントリ５１から構成される。サービスインストーラＤＢ・エントリはサービスを識別するための識別子を格納するサービスＩＤフィールド４２と、サービスインストーラを識別するための識別子を格納するためのサービスインストーラＩＤフィールド５２、及び当該サービスインストーラのプログラムの実体を示すファイル名を格納するフィールド５３からなる。サービスインストーラＤＢ・エントリの１つのエントリは、サービスインストーラＩＤ毎に存在する。つまり、１つのサービスＩＤに対して複数のエントリが存在する。これにより同一サービスで異なるバージョンのインストーラを管理する。
【００３１】
図６は、バンドルＤＢ２５の構成例を示す。本データベースには、サービスを提供するために必要な機能を実現するバンドルの情報が格納される。バンドルＤＢ２５は、さらにバンドルＤＢ・エントリ６１から構成される。バンドルＤＢ・エントリ６１は、バンドルを識別するための識別子を格納するためのバンドルＩＤフィールド６２、及び当該バンドルのの実体を示すファイル名を格納するフィールド６３からなる。
【００３２】
図７は、本発明におけるホームゲートウェイ装置１０の構成例である。ホームゲートウェイ装置１０は、通信制御部２１を介して、サービス管理サーバ１２と通信を行う。サービス制御部７１は、サービス管理サーバ１２から受信したサービスインストーラにより、サービスの実行制御を行う機能を有する。サービス表示部７２は、サービス制御部での実行制御結果に応じて、ユーザに応じてサービスの実行状況を表示するための機能を有する。例えば、ユーザの実行許可が必要なサービスを一覧を表示し、ユーザがあるサービスの実行を選択した場合に、サービス制御部にそのサービスのサービスＩＤを送信するといった機能を有する。
【００３３】
サービス蓄積部７３は、サービス管理サーバ１２から受信したサービスインストーラ及び、ホームゲートウェイ装置上で実行中のサービスの実体であるバンドルのデータを格納している記憶装置である。
【００３４】
ユーザ認証情報７４は、あるサービスを実行する際に、当該サービスがサービス管理サーバによって登録された正式なサービスかを確認するために利用する情報であり、ユーザＩＤ及びユーザパスワードから構成される。
【００３５】
サービス情報管理部７５、当該ホームゲートウェイ装置にて実行されているサービス及びバンドルの情報を格納する。サービス管理部７５で格納されるサービス及びバンドルの情報は、図４（ａ）で示したサービス情報リスト、及び図４（ｂ）で示したバンドル情報リストと同様である。
【００３６】
サービス起動レベル設定情報７６は、サービス管理サーバからインストールされたサービスを自動的に実行するか否かの決定に使用される情報である。サービス起動レベル設定情報は、システム更新(重要度高)、システム更新(重要度低)、一般アプリケーション(実行済：課金無)、一般アプリケーション（未実行：課金無）、一般アプリケーション(実行済：課金無)、一般アプリケーション（未実行：課金無）等の項目に対しての自動可否に関して、予めユーザが選択した情報が格納されている。
【００３７】
図８はホームゲートウェイ装置のサービス制御部７１が、サービス管理サーバからインストーラを受信した場合の処理のフローを示したものである。以下、図８を参照して処理のフローを説明する。サービス管理サーバ１２より、サービスインストーラを受信したホームゲートウェイ装置のサービス制御部７１（８００１）は、受信したサービスインストーラから当該サービスインストーラに付与されたサービスの実行レベルを示す情報を取り出す（８００２）。次にサービス起動レベル設定情報と、サービス情報管理部７５に格納されたサービス情報リストから得られるサービスの実行情報から、実行レベルの取得の結果を判断する（８００３）。事前のユーザの自動実行可否の選択の結果、ユーザの実行許可が必要なサービスの場合は、前記受信したサービスをインストーラをサービス蓄積部に格納した後、サービス表示部に実行可能なサービスとして表示するよう指示する（８００５）。実行レベルの判断の結果、事前のユーザの自動実行可否の選択の結果、ユーザの実行許可を待つことなく実行すべきものに関しては、まず、当該インストーラの正当性を確認するため、サービス管理サーバに対してユーザ認証情報、当該サービスインストーラから取得したサービスＩＤ、及びサービスインストーラのハッシュ値を送信する（８００６）。サービス管理サーバからの応答を受信し（８００７）、サービス管理サーバからの応答を確認する（８００８）。
【００３８】
応答結果、当該サービスが実行不可の場合、当該サービスのインストーラを削除し（８００９）、終了する。当該サービスが実行可の場合、当該サービスインストーラから取得したバンドルＩＤにて識別されるサービスの実体プログラムであるバンドルを要求する（８０１０）。そしてサービス管理サーバからバンドルを受信（８０１１）、実行し（８０１２）、前記実行したサービス及びバンドルをと共にホームゲートウェイのサービス情報管理部及びサービス管理サーバに登録する（８０１３）。
【００３９】
サービス制御部ではまた、サービス表示部に表示追加したサービスがユーザの選択により実行許可された場合は、８００３〜８０１３の処理によりサービスの正当性確認及びサービスの実行、登録を実施する。
【００４０】
図９に、ユーザの実行許可を必要としないサービスにおけるシーケンス図を示す。まず、サービス管理サーバに新規にサービスが登録され、ホームゲートウェイ装置に対して、サービスインストーラが送信される。サービス管理サーバからサービスインストーラを受信したホームゲートウェイ装置は、サービスインストーラに付加された起動レベル情報と、ホームゲートウェイに格納されたサービス起動レベル設定情報及びホームゲートウェイのサービス情報管理部に格納されたサービス情報リストよりユーザの実行可否を判断する。ここではユーザの実行許可を必要としないサービスであると判断し、前記受信したサービスインストーラから、サービスＩＤを取得し、ユーザ認証情報と前記取得したサービスＩＤをサービス管理サーバに送信する（Ｓ９０２）。ホームゲートウェイ装置よりサービスの認証確認を受信したサービス管理サーバは、受信したユーザ認証情報を用いてサービスを要求したユーザの正当性を確認すると共に、ホームゲートウェイ装置から受信したサービスＩＤ及びサービスインストーラのハッシュ値を用いて実行しているサービスインストーラの確認を実施する（Ｓ９０３）。ユーザ認証サーバでの認証の結果、認証され（Ｓ９０４）、かつ前記Ｓ９０３でのサービスインストーラの正当性が確認されると、サービス管理サーバは、ホームゲートウェイ装置に対して当該サービスが実行可であることを返信する（Ｓ９０５）。サービス管理サーバからサービスを実行可とのメッセージ受信したホームゲートウェイ装置は、サービス管理サーバからインストーラに付与された当該サービスのバンドルＩＤにて識別されるバンドをを受信、受信したサービスを実行すると共に、前記実行したサービス及びバンドルの情報を該ホームゲートウェイ装置内のサービス情報管理部に格納すると共に、サービス管理サーバに登録する（Ｓ９０６〜Ｓ９０８）。
【００４１】
図１０に、ユーザの実行許可を必要とするサービスにおける処理のシーケンス図を示す。まず、サービス管理サーバに新規にサービスが登録され、ホームゲートウェイ装置に対して、サービスインストーラが送信される。サービス管理サーバからサービスインストーラを受信したホームゲートウェイ装置は、サービスインストーラに付加された起動レベル情報を取得し、ユーザの実行許可を必要とするサービスであると判断し、新規実行可能なサービスとしてサービス表示部に当該サービスの情報を表示するように指示すると共に、前記受信したサービスインストーラをサービス蓄積部に格納する（Ｓ１００１）。それからサービス表示部にてユーザからサービス実行の選択がなされると（Ｓ１００２）、ユーザ表示部より前記選択されたサービスの情報が、サービス制御部に送信され、前記選択されたサービスの実行処理が開始される。以降の動作は図９で示した処理と同様であるため、省略する。
【００４２】
なお本実施例では、サービスを実現するために必要なバンドルの情報がＳ９０１にてサービス管理サーバからホームゲートウェイ装置に送信されるサービスインストーラ内に格納されているものとして説明したが、サービスインストーラのバンドル情報を含むバンドルのインストール実行部分が自動起動レベル情報と分割されていてもよい。この場合、サービスの管理サービスのインストーラ送信の際には、サービス管理サーバから当該サービスを識別するための識別子であるサービスＩＤ、サービスインストーラＩＤ、当該サービスを実行するに当たりユーザの許可の有無を示す起動レベルを示す情報が付与したサービスインストーラが送信され、ホームゲートウェイ装置とサービス管理サーバ間でのサービス実行可否の確認後、サービス管理サーバからのサービス実行可のメッセージ(Ｓ９０６)に併せて、サービスの実行に必要なバンドル情報を含むバンドルのインストール実行部分がホームゲートウェイ装置に送付される。前記サービスの実行に必要なバンドル情報を含むバンドルのインストール実行部分を受信したホームゲートウェイ装置が、インストール実行部分を実行することで実際にサービスを提供するために必要なバンドルをサービス管理サーバから取得し実行する。
【符号の説明】
【００４３】
１０  ホームゲートウェイ装置
１１  ユーザ認証サーバ
１２  サービス管理サーバ
１３  回線事業者ＮＷ
２１  通信制御部
２２  サービス管理部
２３  ユーザ情報ＤＢ
２４  サービスインストーラＤＢ
２５  サービスボディＤＢ
２６  サービス保存部
７１  サービス制御部
７２  サービス表示部
７３  サービス蓄積部
７４  ユーザ認証情報
７５  サービス情報管理部
７６  サービス起動レベル設定情報
【図１】
2011003110.tif 000003
【図２】
2011003110.tif 000004
【図３】
2011003110.tif 000005
【図４（ａ）】
2011003110.tif 000006
【図４（ｂ）】
2011003110.tif 000007
【図５】
2011003110.tif 000008
【図６】
2011003110.tif 000009
【図７】
2011003110.tif 000010
【図８】
2011003110.tif 000011
【図９】
2011003110.tif 000012
【図１０】
2011003110.tif 000013