説明

サービス提供システム

【課題】ホームゲートウェイ装置を用いてユーザに動的にサービスを提供する場合において、センタサーバからホームゲートウェイ装置に配信されたサービスの正当性を確認する。
【解決手段】ホームゲートウェイ装置10にインストールするサービスにそのサービスを自動的に実行するか、ユーザの実行決定を待って実行するかを判断するための識別子を付与する。また悪意のあるサーバから送付されたサービスを実行しないようサービスをインストールする際は、まず当該サービスをインストールするために必要な情報のみをかえすインストーラをホームゲートウェイ装置に配布し、ホームゲートウェイ装置10にて当該サービスを実行する際に、再度センタサーバに実行可否を確認した後、サービス実体を取得し実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホームゲートウェイ装置におけるサービス提供システムに関する。
【背景技術】
【0002】
現在、家庭内のネットワーク(ホームネットワーク)と外部ネットワーク(一般的にはインターネット)を接続するゲートウェイ機器としてホームゲートウェイが利用されている。
【0003】
現状、ホームゲートウェイにて提供されている機能は、家庭内LANのルータとなり家庭内の情報家電間の通信の仲介や、家庭内の情報家電へのADSLやFTTHなどの広帯域回線を利用したインターネット接続の提供、外部ネットワークからの不正なアクセスを遮断するファイアウォール機能及び、SIPを用いたVoIP(Voice Over IP)によるIP電話程度である。
【0004】
上記に示したようにホームゲートウェイには、ホームネットワークと外部ネットワークの境界に位置し、家庭内で常時起動し、ホームネットワーク内の情報家電が全て接続するといった特徴があり、今後家庭内の情報家電をまとめるホームサーバとしての役割が期待される。例えばホームネットワークに接続された機器の動的検出や自動設定、外部ネットワークからの家庭内の情報家電への動的なアクセス制御、ホームネットワーク上の複数の機器とアプリケーションを組合わせた総合的なサービスを提供するといったことが考えられる。
【0005】
以上の観点から、ホームゲートウェイの家庭内での重要性は今後より高まると考えられ、ユーザへの新規機能やサービスを随時提供していくことを考えると、これら新規機能やサービスを動的に提供できることが必須となる。
【0006】
ホームゲートウェイでの統合的なサービス提供に関する標準化としては、特にネットワークサービスのためのJAVAベースのコンピュータ環境の標準化を進めるOSGi(Open Services Gateway Initiative)が挙げらる。OSGiは、プラットフォームであるフレームワークとその上である特定の機能を実現するバンドルと呼ばれる機能モジュール群で構成されたJava言語に基づくサービスプラットフォームであり、OSGi Alliance によって標準化されている。
【0007】
OSGiフレームワークは、機器の動作を止めることなく新しいサービスやデータの追加、及びサービスの機能変更を可能とするミドルウェアである。センタに配置されたセンタサーバよりホームゲートウェイなどの宅内機器にバンドルと単位での遠隔インストール(PUSH)が可能である。また宅内機器からセンタサーバ側からバンドルを取得しインストール(PULL)することも可能である。
【0008】
各バンドルは、バンドル内に実装されたオブジェクトをOSGiのフレームワーク上に公開することで、他のバンドルとの情報の交換が可能である。
【発明の概要】
【発明が解決しようとする課題】
【0009】
OSGiを利用することで、ホームゲートウェイにおける動的なサービスの追加/削除が可能である。しかしながら、現状のフレームワークではユーザへのサービス提供という観点での考慮が十分ではない。
【0010】
そのため、センタサーバからインストールされたバンドルが、ファームウェアの更新等のユーザに対して実行の可否を確認することなく実行すべきものなのか、一般的なサービス等のユーザが主体的に実行の可否を決定するといった処理が必要となるものかを区別しきれないという課題がある。
【0011】
またバンドル1つではある1つの機能を有するのみであり、ある特定のサービスをユーザに提供するためには当該サービスを実現するために必要な複数バンドルをホームゲートウェイにインストール及び実行しなければならないという課題がある。
【0012】
さらに、セキュリティの観点から、ユーザ主体でバンドルを実行する場合に、偽のセンタサーバからインストールされたバンドルを実行しないようにしなければならない。
【課題を解決するための手段】
【0013】
本発明では、ホームゲートウェイ装置にインストールするサービスにそのサービスを自動的に実行するか、ユーザの実行決定を待って実行するかを判断するための識別子を付与する。また悪意のあるサーバから送付されたサービスを実行しないようサービスをインストール際は、まず当該サービスをインストールするために必要なバンドルおよび設定情報のみを返すインストーラをホームゲートウェイ装置に配布し、ホームゲートウェイ装置にて当該サービスを実行する際に、再度センタサーバに実行可否の確認した後、サービスを実体を取得し、実行する。
【発明の効果】
【0014】
本発明によると、サービスの実行レベルに応じて、ホームゲートウェイ装置にて、ユーザの許可なしにサービスを自動実行するか、ユーザに実行選択させるかが認識可能となり、ユーザに対するサービス提供が容易となる。また本発明によると、インストーラ内に格納されたサービスを提供するために必要なバンドルの情報より、複数のバンドルをインストール及び実行することが可能となり、ユーザに対するサービス提供が容易となる。
【0015】
さらに本発明によると、サービス実行時に再度センタサーバとの間で実行可否確認を行うことで、偽のセンタサーバからインストールされたサービスの実行を防ぐことが可能である。
【図面の簡単な説明】
【0016】
【図1】システム構成図
【図2】サービス管理サーバの構成図
【図3】ユーザ情報DBの構成例
【図4(a)】サービス情報リストの構成例
【図4(b)】バンドル情報リストの構成例
【図5】サービスインストーラDBの構成例
【図6】サービスボディDBの構成例
【図7】ホームゲートウェイ装置の構成図
【図8】ホームゲートウェイ装置の動作フロー図
【図9】自動実行サービスがインストールされた場合の動作シーケンス図
【図10】ユーザの実行許可が必要なサービスがインストールされた場合の動作シーケンス図
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して説明する。
【実施例1】
【0018】
本実施例における第1の実施形態について説明する。本実施形態では、ホームゲートウェイ装置にサービスをインストールした際の、サービスの実行レベルに応じたサービス実行に関して説明する。
【0019】
本実施例におけるシステムの構成を図1に示す。ホームゲートウェイ装置10はホームネットワークと回線事業者NW13との境界に配置され、宅内に存在する情報家電機器と、外部ネットワークとの通信を仲介する。また、ホームゲートウェイ装置10上にて情報家電機器制御等のサービスを家庭内から家庭内のユーザに提供する。ホームゲートウェイ装置は、起動時にホームゲートウェイ装置を識別するための識別子や、前記ホームゲートウェイ装置を利用するユーザのユーザ情報(ユーザID、及びユーザパスワード)等を利用して、ユーザ認証サーバ11でホームゲートウェイ装置の認証した後に、回線事業者NWに接続される。
【0020】
サービス管理サーバ12は、ホームゲートウェイ装置にサービス提供するサーバであり、ホームゲートウェイ装置に提供可能なサービスの管理や、各ホームゲートウェイ装置にて実行されているサービスの情報を管理する。
【0021】
ここで、サービスとは、サービスのインストール情報を保持するサービスインストーラと、サービスの実体となる複数のバンドルとに分割される。サービスインストーラには、当該サービスを識別するための識別子であるサービスID、サービスインストーラID、当該サービスを実行するために必要なバンドルのリスト及び、当該サービスを実行するに当たりユーザの許可の有無を示す起動レベルを示す情報が付与される。
【0022】
前記当該外サービスを実行するために必要なバンドルのリストは、 前記バンドルを識別するためのバンドルIDのリストからなる。
【0023】
上記サービスID及びバンドルIDは、事前にサービス管理サーバを持つサービス提供事業者(ここでは回線事業者)に対して、実際にサービス若しくはバンドルを作成するベンダとが契約をし、各ベンダ毎に異なるサービスID若しくはバンドルIDを配布しているものとする。これにより、ベンダ間でIDが重複するといった問題を防げる。これらのIDは、Javaにおけるパッケージ名でも良いし、サービス提供事業者が一意に決定する識別子であってもよい。
【0024】
図2にサービス管理サーバ12の構成例を示す。サービス管理サーバは、通信制御部21を介して配下のホームゲートウェイ装置と通信を実施する。サービス管理部22が、新規サービスの追加の追加、各ホームゲートウェイ装置へのサービスの配布、各ホームゲートウェイにインストール及び実行されている(or実行された)サービス及びバンドルの情報を管理する。
【0025】
ユーザ情報DB23は、各ホームゲートウェイ装置を利用しているユーザの情報及び当該ホームゲートウェイ装置にインストール及び実行されているサービス及びバンドルを記憶するデータベースである。
【0026】
サービスインストーラDB24は、サービスのインストーラとなるプログラムの情報を管理するデータベールである。バンドルDB25はサービス本体のプログラムの情報を管理するデータベースである。サービスインストーラDB24及びバンドルDB25にて管理されるプログラムは、サービス保存部26に記憶される。
【0027】
図3はサービス管理サーバが保持するユーザ情報DB23の構成例である。ユーザ情報DBは、ホームゲートウェイ装置1台につき1つのユーザ情報DB・エントリ31が保存される。ユーザ情報DB・エントリ31はさらに、各ホームゲートウェイ装置を識別するための情報を格納するユーザIDフィールド32と、当該ホームゲートウェイ装置にインストール及び実行されているサービスのリストを格納するサービス情報リスト33、当該ホームゲートウェイ装置にインストール若しくは実行されているバンドル情報リスト34から構成される。
【0028】
図4(a)は、サービス情報リスト33の構成例を示す。サービス情報リスト33は、複数のサービス情報リスト・エントリ41から構成され、1つのエントリが1つのサービス対応する。サービス情報リスト・エントリ41は、さらにサービスの識別子であるサービスIDを格納するサービスIDフィールドと、当該サービスの状態を示すサービス状態フィールド43からなる。サービス状態フィールドにて示される情報は、当該エントリのサービスIDフィールドに格納されるサービスIDによって識別されるサービスの状態を示すものであり、インストール(未実行)、実行中といった状態を示す情報が格納される。サービス状態フィールド43に格納される情報は、文字列でもあって良いし、各状態を別の記号若しくは数値に置き換えた値を格納するのでも良い。
【0029】
図4(b)は、バンドル情報リスト34の構成例を示す。バンドル情報リスト34は、複数のバンドル情報リスト・エントリ44から構成され、1つのエントリが1つのバンドルに対応する。バンドル情報リスト・エントリ45は、さらにバンドルの識別子であるバンドルIDを格納するバンドルIDフィールド45と、当該バンドルの状態を示すバンドル状態フィールド46からなる。バンドル状態フィールド46にて示される情報は、当該エントリのバンドルIDフィールドに格納されるバンドルIDによって識別されるバンドルの実行状態を示すものであり、インストール(未実行)、実行中といった状態を示す情報が格納される。バンドル状態フィールド43に格納される情報は、文字列でもあって良いし、各状態を別の記号若しくは数値に置き換えた値を格納するのでも良い。前記バンドル情報リストエントリに格納されるバンドルIDは、当該バンドル情報リストに対応するユーザIDで識別されたホームゲートウェイ装置上でインストール若しくは実行されているバンドルのみであってもよいし、サービス管理サーバ12にて管理される全てのバンドルIDに関して、バンドル状態を格納しているのでも良い。
【0030】
図5は、サービスインストーラDB24の構成例を示す。本データベースには、ベンダが作成したサービスインストーラ用のバンドルの情報が格納される。サービスインストーラDB24は、さらにサービスインストーラDB・エントリ51から構成される。サービスインストーラDB・エントリはサービスを識別するための識別子を格納するサービスIDフィールド42と、サービスインストーラを識別するための識別子を格納するためのサービスインストーラIDフィールド52、及び当該サービスインストーラのプログラムの実体を示すファイル名を格納するフィールド53からなる。サービスインストーラDB・エントリの1つのエントリは、サービスインストーラID毎に存在する。つまり、1つのサービスIDに対して複数のエントリが存在する。これにより同一サービスで異なるバージョンのインストーラを管理する。
【0031】
図6は、バンドルDB25の構成例を示す。本データベースには、サービスを提供するために必要な機能を実現するバンドルの情報が格納される。バンドルDB25は、さらにバンドルDB・エントリ61から構成される。バンドルDB・エントリ61は、バンドルを識別するための識別子を格納するためのバンドルIDフィールド62、及び当該バンドルのの実体を示すファイル名を格納するフィールド63からなる。
【0032】
図7は、本発明におけるホームゲートウェイ装置10の構成例である。ホームゲートウェイ装置10は、通信制御部21を介して、サービス管理サーバ12と通信を行う。サービス制御部71は、サービス管理サーバ12から受信したサービスインストーラにより、サービスの実行制御を行う機能を有する。サービス表示部72は、サービス制御部での実行制御結果に応じて、ユーザに応じてサービスの実行状況を表示するための機能を有する。例えば、ユーザの実行許可が必要なサービスを一覧を表示し、ユーザがあるサービスの実行を選択した場合に、サービス制御部にそのサービスのサービスIDを送信するといった機能を有する。
【0033】
サービス蓄積部73は、サービス管理サーバ12から受信したサービスインストーラ及び、ホームゲートウェイ装置上で実行中のサービスの実体であるバンドルのデータを格納している記憶装置である。
【0034】
ユーザ認証情報74は、あるサービスを実行する際に、当該サービスがサービス管理サーバによって登録された正式なサービスかを確認するために利用する情報であり、ユーザID及びユーザパスワードから構成される。
【0035】
サービス情報管理部75、当該ホームゲートウェイ装置にて実行されているサービス及びバンドルの情報を格納する。サービス管理部75で格納されるサービス及びバンドルの情報は、図4(a)で示したサービス情報リスト、及び図4(b)で示したバンドル情報リストと同様である。
【0036】
サービス起動レベル設定情報76は、サービス管理サーバからインストールされたサービスを自動的に実行するか否かの決定に使用される情報である。サービス起動レベル設定情報は、システム更新(重要度高)、システム更新(重要度低)、一般アプリケーション(実行済:課金無)、一般アプリケーション(未実行:課金無)、一般アプリケーション(実行済:課金無)、一般アプリケーション(未実行:課金無)等の項目に対しての自動可否に関して、予めユーザが選択した情報が格納されている。
【0037】
図8はホームゲートウェイ装置のサービス制御部71が、サービス管理サーバからインストーラを受信した場合の処理のフローを示したものである。以下、図8を参照して処理のフローを説明する。サービス管理サーバ12より、サービスインストーラを受信したホームゲートウェイ装置のサービス制御部71(8001)は、受信したサービスインストーラから当該サービスインストーラに付与されたサービスの実行レベルを示す情報を取り出す(8002)。次にサービス起動レベル設定情報と、サービス情報管理部75に格納されたサービス情報リストから得られるサービスの実行情報から、実行レベルの取得の結果を判断する(8003)。事前のユーザの自動実行可否の選択の結果、ユーザの実行許可が必要なサービスの場合は、前記受信したサービスをインストーラをサービス蓄積部に格納した後、サービス表示部に実行可能なサービスとして表示するよう指示する(8005)。実行レベルの判断の結果、事前のユーザの自動実行可否の選択の結果、ユーザの実行許可を待つことなく実行すべきものに関しては、まず、当該インストーラの正当性を確認するため、サービス管理サーバに対してユーザ認証情報、当該サービスインストーラから取得したサービスID、及びサービスインストーラのハッシュ値を送信する(8006)。サービス管理サーバからの応答を受信し(8007)、サービス管理サーバからの応答を確認する(8008)。
【0038】
応答結果、当該サービスが実行不可の場合、当該サービスのインストーラを削除し(8009)、終了する。当該サービスが実行可の場合、当該サービスインストーラから取得したバンドルIDにて識別されるサービスの実体プログラムであるバンドルを要求する(8010)。そしてサービス管理サーバからバンドルを受信(8011)、実行し(8012)、前記実行したサービス及びバンドルをと共にホームゲートウェイのサービス情報管理部及びサービス管理サーバに登録する(8013)。
【0039】
サービス制御部ではまた、サービス表示部に表示追加したサービスがユーザの選択により実行許可された場合は、8003〜8013の処理によりサービスの正当性確認及びサービスの実行、登録を実施する。
【0040】
図9に、ユーザの実行許可を必要としないサービスにおけるシーケンス図を示す。まず、サービス管理サーバに新規にサービスが登録され、ホームゲートウェイ装置に対して、サービスインストーラが送信される。サービス管理サーバからサービスインストーラを受信したホームゲートウェイ装置は、サービスインストーラに付加された起動レベル情報と、ホームゲートウェイに格納されたサービス起動レベル設定情報及びホームゲートウェイのサービス情報管理部に格納されたサービス情報リストよりユーザの実行可否を判断する。ここではユーザの実行許可を必要としないサービスであると判断し、前記受信したサービスインストーラから、サービスIDを取得し、ユーザ認証情報と前記取得したサービスIDをサービス管理サーバに送信する(S902)。ホームゲートウェイ装置よりサービスの認証確認を受信したサービス管理サーバは、受信したユーザ認証情報を用いてサービスを要求したユーザの正当性を確認すると共に、ホームゲートウェイ装置から受信したサービスID及びサービスインストーラのハッシュ値を用いて実行しているサービスインストーラの確認を実施する(S903)。ユーザ認証サーバでの認証の結果、認証され(S904)、かつ前記S903でのサービスインストーラの正当性が確認されると、サービス管理サーバは、ホームゲートウェイ装置に対して当該サービスが実行可であることを返信する(S905)。サービス管理サーバからサービスを実行可とのメッセージ受信したホームゲートウェイ装置は、サービス管理サーバからインストーラに付与された当該サービスのバンドルIDにて識別されるバンドをを受信、受信したサービスを実行すると共に、前記実行したサービス及びバンドルの情報を該ホームゲートウェイ装置内のサービス情報管理部に格納すると共に、サービス管理サーバに登録する(S906〜S908)。
【0041】
図10に、ユーザの実行許可を必要とするサービスにおける処理のシーケンス図を示す。まず、サービス管理サーバに新規にサービスが登録され、ホームゲートウェイ装置に対して、サービスインストーラが送信される。サービス管理サーバからサービスインストーラを受信したホームゲートウェイ装置は、サービスインストーラに付加された起動レベル情報を取得し、ユーザの実行許可を必要とするサービスであると判断し、新規実行可能なサービスとしてサービス表示部に当該サービスの情報を表示するように指示すると共に、前記受信したサービスインストーラをサービス蓄積部に格納する(S1001)。それからサービス表示部にてユーザからサービス実行の選択がなされると(S1002)、ユーザ表示部より前記選択されたサービスの情報が、サービス制御部に送信され、前記選択されたサービスの実行処理が開始される。以降の動作は図9で示した処理と同様であるため、省略する。
【0042】
なお本実施例では、サービスを実現するために必要なバンドルの情報がS901にてサービス管理サーバからホームゲートウェイ装置に送信されるサービスインストーラ内に格納されているものとして説明したが、サービスインストーラのバンドル情報を含むバンドルのインストール実行部分が自動起動レベル情報と分割されていてもよい。この場合、サービスの管理サービスのインストーラ送信の際には、サービス管理サーバから当該サービスを識別するための識別子であるサービスID、サービスインストーラID、当該サービスを実行するに当たりユーザの許可の有無を示す起動レベルを示す情報が付与したサービスインストーラが送信され、ホームゲートウェイ装置とサービス管理サーバ間でのサービス実行可否の確認後、サービス管理サーバからのサービス実行可のメッセージ(S906)に併せて、サービスの実行に必要なバンドル情報を含むバンドルのインストール実行部分がホームゲートウェイ装置に送付される。前記サービスの実行に必要なバンドル情報を含むバンドルのインストール実行部分を受信したホームゲートウェイ装置が、インストール実行部分を実行することで実際にサービスを提供するために必要なバンドルをサービス管理サーバから取得し実行する。
【符号の説明】
【0043】
10 ホームゲートウェイ装置
11 ユーザ認証サーバ
12 サービス管理サーバ
13 回線事業者NW
21 通信制御部
22 サービス管理部
23 ユーザ情報DB
24 サービスインストーラDB
25 サービスボディDB
26 サービス保存部
71 サービス制御部
72 サービス表示部
73 サービス蓄積部
74 ユーザ認証情報
75 サービス情報管理部
76 サービス起動レベル設定情報

【特許請求の範囲】
【請求項1】
ホームゲートウェイ装置とサービス管理サーバを備えたネットワークシステムであって、
前記サービス管理サーバは、
前記ホームゲートウェイ装置にサービスのインストーラを送信し、
前記ホームゲートウェイ装置は、
該インストーラをユーザの許可なしで自動実行するか、ユーザにインストール可否を問合せるかを決定し、
自動実行の場合には、サービス本体を前記サービス管理サーバから取得してインストールし、ユーザにインストール可否を問合せる場合は、ユーザの許可を得てから前記サービス本体を取得しインストールすることを特徴とするネットワークシステム。
【請求項2】
請求項1記載のネットワークシステムであって、
前記サービス管理サーバから前記ホームゲートウェイ装置に送信されるインストーラにユーザの許可なしで自動実行するか、ユーザにインストール可否を問合せるかを決定するための識別子が付加されていることを特徴とするネットワークシステム。
【請求項3】
請求項1記載のネットワークシステムであって、
前記ホームゲートウェイ装置がインストーラから取得した情報を用いて前記サービス管理サーバにサービス本体を取得する際に、前記サービス管理サーバにて該ホームゲートウェイ装置を利用するユーザの再認証を行い認証された場合に該サービス本体を該ホームゲートウェイ装置に送信することを特徴とするネットワークシステム。
【請求項4】
請求項1記載のネットワークシステムであって、
前記ホームゲートウェイ装置がインストーラから取得した情報を用いて前記サービス管理サーバにサービス本体を取得する際に、前記ホームゲートウェイ装置が該インストーラを識別するための識別子と該インストーラのハッシュ値を要求に付加して送信し、前記インストーラのハッシュ値と、前記ホームゲートウェイ装置から受信したインストーラを識別子によって特定されるサービス管理サーバ内に格納されたサービスインストーラのハッシュ値を比較し、値が等しい場合に該サービス本体をホームゲートウェイ装置に送信することを特徴とするネットワークシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4(a)】
image rotate

【図4(b)】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−3110(P2011−3110A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2009−147179(P2009−147179)
【出願日】平成21年6月22日(2009.6.22)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】