(57)【要約】【課題】ファームウェアを更新するためのシステム構成が簡単で、運用コストを削減するためのファームウェア更新技術を提供する。【解決手段】本発明では、構内ネットワークを介して接続される情報家電装置に対して、当該情報家電装置で用いられるファームウェアを送信するゲートウェイ装置において、複数の情報家電装置それぞれのファームウェアと、複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルを管理している。また、ゲートウェイ装置は、複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを特定し、この対象通信プロトコルを用いて対象の情報家電装置と通信を実行し、ファームウェアをそれに送信する。【選択図】図３
2013068987.tif 000002
【特許請求の範囲】
【請求項１】
構内ネットワークを介して接続される情報家電装置に対して、当該情報家電装置で用いられるファームウェアを送信するゲートウェイ装置であって、
複数の情報家電装置それぞれのファームウェアと、前記複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルを格納するメモリと、
前記複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを前記メモリから取得して、当該対象通信プロトコルを用いて、前記対象の情報家電装置に前記ファームウェアを送信するプロセッサと、
を有することを特徴とするゲートウェイ装置。
【請求項２】
請求項１において、
前記プロセッサは、前記対象の情報家電装置の対象通信プロトコルを前記メモリに有しているか判断し、有していない場合には、前記対象の情報家電装置のメーカのサイトから前記対象通信プロトコルを取得することを特徴とするゲートウェイ装置。
【請求項３】
請求項１において、
前記プロセッサは、前記対象の情報家電装置から、前記ファームウェアの適用の成否の結果を受信し、外部ネットワークを介して接続される管理サーバに前記結果を送信することを特徴とするゲートウェイ装置。
【請求項４】
請求項１に記載のゲートウェイ装置と、
前記ゲートウェイ装置と前記構内ネットワークを介して接続される複数の情報家電装置と、
前記ゲートウェイ装置と外部ネットワークを介して接続され、前記ゲートウェイ装置に、前記複数の情報家電装置の少なくとも１つで用いられるファームウェアを送信する管理サーバと、を含み、
前記ゲートウェイ装置は、前記メモリにおいて、前記管理サーバから送信されてきたファームウェアを格納することを特徴するファームウェア配信システム。
【請求項５】
請求項４において、
前記管理サーバは、前記配信したファームウェアを含むソフトウェアモジュールに対する動作命令を前記ゲートウェイ装置に対して送信するためのユーザインタフェースを表示装置に表示し、さらに、前記ゲートウェイ装置から、前記配信したファームウェアを含むソフトウェアモジュールの現時点での状態に関する情報を取得して、当該状態に関する情報を前記ユーザインタフェースに表示することを特徴とするファームウェア配信システム。
【請求項６】
請求項５において、
前記プロセッサは、前記対象の情報家電装置の対象通信プロトコルを前記メモリに有しているか判断し、有していない場合には、前記対象の情報家電装置のメーカのサイトから前記対象通信プロトコルを取得することを特徴とするファームウェア配信システム。
【請求項７】
請求項５において、
前記プロセッサは、前記対象の情報家電装置から、前記ファームウェアの適用の成否の結果を受信し、前記外部ネットワークを介して接続される前記管理サーバに前記結果を送信し、
前記管理サーバは、受信した前記結果を前記ファームウェアの状態に関する情報として前記ユーザインタフェースに表示することを特徴とするファームウェア配信システム。
【請求項８】
管理サーバと、当該管理サーバと外部ネットワークを介して接続されたゲートウェイ装置と、当該ゲートウェイ装置と構内ネットワークを介して接続された複数の情報家電装置と、を含む情報配信システムにおける情報配信方法であって、
前記管理サーバが、前記ゲートウェイ装置に、前記複数の情報家電装置の少なくとも１つで用いられるファームウェアを送信するステップと、
前記ゲートウェイ装置が、前記管理サーバから送信されてきたファームウェアをメモリに格納し、前記複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルとともに管理するステップと、
前記ゲートウェイ装置が、前記複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを前記メモリから取得して、当該対象通信プロトコルを用いて、前記対象の情報家電装置に前記ファームウェアを送信するステップと、
を有することを特徴とする情報配信方法。
【請求項９】
請求項８において、
さらに、前記ゲートウェイ装置が、前記対象の情報家電装置の対象通信プロトコルを前記メモリに有しているか判断し、有していない場合には、前記対象の情報家電装置のメーカのサイトから前記対象通信プロトコルを取得するステップを含むことを特徴とする情報配信方法。
【請求項１０】
請求項８において、
さらに、前記ゲートウェイ装置が、前記対象の情報家電装置から、前記ファームウェアの適用の成否の結果を受信し、外部ネットワークを介して接続される管理サーバに前記結果を送信するステップを含むことを特徴とする情報配信方法。
【請求項１１】
請求項１０において、
さらに、前記管理サーバが、前記配信したファームウェアを含むソフトウェアモジュールに対する動作命令を前記ゲートウェイ装置に対して送信するためのユーザインタフェースを表示装置に表示するステップと、
前記管理サーバが、前記ゲートウェイ装置から、前記配信したファームウェアの現時点での状態に関する情報として、前記結果を前記ユーザインタフェースに表示するステップと、
を含むことを特徴とする情報配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ装置、ファームウェア配信システム、及び情報配信方法に関し、例えば、情報家電装置のソフトウェア更新に関する技術である。
【背景技術】
【０００２】
装置を動作させるためのソフトウェア更新技術として、アプリケーションやソフトウェアモジュールの更新技術やより下位レイヤのＯＳやライブラリファイルを含むファームウェアを更新する技術が知られている。
【０００３】
例えば、非特許文献１は、OSGiバンドルと呼ばれるJavaソフトウェアをモジュール化し、モジュールを更新する技術を開示している。また、非特許文献2は、ソフトウェアモジュールを配信するための通信手順を開示しており、OSGiバンドルの配信等に使われる。さらに、特許文献１は、ファームウェアの更新技術の例を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−７９４３８号公報
【非特許文献】
【０００５】
【非特許文献１】OSGi Service Platform Release 4: http://www.osgi.org/Release4/Download
【非特許文献２】TR-069 Amendment3:http://www.broadband-forum.org/technical/download/TR-069_Amendment-3.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ゲートウェイ装置上のソフトウェアモジュールとゲートウェイ装置に接続された装置のファームウェアを配信・更新する場合やゲートウェイ上のソフトウェアモジュールを更新する場合、例えば、非特許文献１の方法ではＴＲ−０６９という通信プロトコルを用いてOSGiバンドルという形式のソフトウェアモジュールを配信・更新することになる。したがって、ゲートウェイ装置に繋がったデバイスのファーム配信は、それぞれのデバイスの通信プロトコルとファームウェアの形式で配信することになる。つまり、上記従来技術の構成によれば、ローカルネットワークに接続されている情報家電装置等のファームウェアの更新の場合にも、各情報家電装置で用いられる通信プロトコルに従ってファームウェアを配信して更新しなければならないことになっている。したがって、このような構成の場合には、ゲートウェイ上のOSGiバンドルを配信するサーバとゲートウェイ装置に繋がったデバイスのファームウェアを配信するサーバと２種類のサーバシステムが必要になり、サーバ構築と運用管理が煩雑となるという課題がある。
【０００７】
また、情報家電装置のファームウェア更新の際には、通信プロトコルが異なる情報家電装置毎に異なるため、情報家電装置毎に専用のファームウェア配信用のサーバを設置しなければならず、システム構築及び運用に掛かるコストが過大となってしまう。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、ファームウェアを更新するためのシステム構成が簡単で、運用コストを削減するためのファームウェア更新技術を提供するためのものである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明では、構内ネットワークを介して接続される情報家電装置に対して、当該情報家電装置で用いられるファームウェアを送信するゲートウェイ装置において、複数の情報家電装置それぞれのファームウェアと、複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルを管理している。また、ゲートウェイ装置は、複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを特定し、この対象通信プロトコルを用いて対象の情報家電装置と通信を実行し、ファームウェアをそれに送信する。
【００１０】
なお、本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【００１１】
また、本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【００１２】
本発明によれば、情報家電装置ごとにファームウェアの配信サーバを設置する必要がなく、ファームウェア更新のためのシステム構成が簡単で、運用コストを削減することができるようになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態による情報配信システムの概略構成を示す図である。
【図２】管理サーバのソフトウェア構成を示す図である。
【図３】ゲートウェイ装置のソフトウェア構成を示す図である。
【図４】情報家電装置のソフトウェア構成を示す図である。
【図５】ソフトウェアモジュールのフォーマット構成を示す図である。
【図６】ファームウェア更新モジュールの内部構成を示す図である。
【図７】ソフトウェアモジュール受付モジュールの機能実装の内部構成を示す図である。
【図８】ソフトウェアモジュール構成データベースが管理する情報の例を示す図である。
【図９】更新受付・適用機能の処理を説明するためのフローチャートである。
【図１０】ファームウェア更新モジュールのアクティベータの処理を説明するためのフローチャートである。
【図１１】更新中継モジュールの処理を説明するためのフローチャートである。
【図１２】ソフトウェアモジュール配信機能によるＧＵＩの構成例を示す図である。
【図１３】全体の処理の流れを説明するための図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１５】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【００１６】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
【００１７】
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、ＤＢ、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００１８】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００１９】
以下では各「機能」や各「モジュール」の処理について説明を行うが、機能やモジュールは、それらを実現するプログラムがプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語（動作主体）とした説明となっているが、「機能」や「モジュール」を動作主体としてもよい。また、「機能」「モジュール」「プログラム」を主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現しても良い。各種機能やモジュールを実現するためのプログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００２０】
＜情報配信システム＞
図１は、本発明の実施形態による情報配信システム（ファームウェア配信システム）の概略構成を示す図である。情報配信システム１００は、管理サーバ１１０と、ゲートウェイ装置１３０と、少なくとも１つの情報家電装置１５０−１乃至１５０−ｎと、少なくとも１つのメーカサイト（計算機）１６０−１乃至１６０−ｎと、マッチングサーバ１７０と、を有している。管理サーバ１１０と、ゲートウェイ装置１３０と、メーカサイト１６０−１乃至１６０−ｎと、マッチングサーバ１７０とは、インターネット１２０を介して接続されている。ゲートウェイ装置１３０と、各情報家電装置１５０−１乃至１５０−ｎとは、構内ネットワーク１４０（ホームネットワーク）を介して接続されている。
【００２１】
管理サーバ１１０は、インターネット１２０を経由して図５で構成が説明されるソフトウェアモジュールをゲートウェイ装置１３０に配布・インストール・アンインストールする機能を持つサーバである。管理サーバ１１０は、ネットワーク通信機能を有するコンピュータとしてのハードウェア構成を有し、例えば、様々な制御・演算処理を実行するＣＰＵ（Central Processing Unit：単にプロセッサと言うこともできる）１１０１と、制御・演算処理のためにデータを格納するＲＡＭ１１０２と、ネットワークインタフェース１１０３と、各種データ、パラメータ、プログラム、配信すべきファームウェアやソフトウェアモジュールを格納するＨＤＤ１１０４と、を有している。管理サーバ１１０は、図示された構成以外にもその他のメモリ（ＲＯＭやキャッシュ）や情報入出力デバイス（表示装置、プリンタ、キーボードやポインティングデバイス）等を含んでいても良い。なお、メモリ内のソフトウェア構成は図２に示されており、詳細については後述する。
【００２２】
ゲートウェイ装置１３０は、ソフトウェアを動作させる機能を持ち、構内ネットワーク１４０とインターネット１２０を仲介する装置である。ソフトウェアモジュールをインストールすることでゲートウェイ装置１３０の機能を拡張することができるようになっている。ゲートウェイ装置１３０は、ＣＰＵ１３０１と、ＲＡＭ１３０２と、ＲＯＭ１３０３と、ネットワークインタフェース１３０４と、ＨＤＤ１３０５と、を有している。ゲートウェイ装置１３０のソフトウェア構成は図３に示されており、詳細については後述する。
【００２３】
情報家電装置１５０−１乃至１５０−ｎは、構内ネットワーク１４０に接続された、テレビや録画機等の家電装置であり、通信機能を有するコンピュータと同様の構成を有し、例えば、ＣＰＵ１５０１と、ＲＡＭ１５０２と、ネットワークインタフェース１５０３と、フラッシュメモリ１５０５４、情報入出力デバイス１５０５と、を有している。最低限備えるべきソフトウェア構成（機能）は図４に示されており、詳細については後述する。
【００２４】
メーカサイト１６０−１乃至１６０−ｎは、自社の情報家電装置（情報家電装置１５０−１乃至１５０−ｎに対応）の情報（情報家電装置との通信に用いられる通信プロトコルを含む）を管理している。
【００２５】
マッチングサーバ１７０は、各情報家電装置のメーカの情報（アクセス先情報となるＵＲＬを含む）を管理しており、ゲートウェイ装置１３０からの問合せに応答して、当該メーカの情報をゲートウェイ装置１３０に通知する機能を有している。
【００２６】
＜管理サーバのソフトウェア構成＞
図２は、管理サーバ１１０のソフトウェア構成（機能）を示す図である管理サーバ１１０は、少なくともソフトウェアモジュール登録機能２２０と、ソフトウェアモジュール配信機能２３０と、を有している。それぞれの機能はＣＰＵ１１０１が該当するプログラムを実行することによって実現される。
【００２７】
ソフトウェアモジュール登録機能２２０は、ネットワークインタフェース（Webインタフェース等）１１０３を通じて、ソフトウェアモジュール（情報家電装置で起動するファームウェアを含む）を管理サーバ１１０に保存する機能である。
【００２８】
また、ソフトウェアモジュール配信機能２３０は、ソフトウェアモジュール登録機能２２０によって保存されたソフトウェアモジュールの一覧を表示し、ゲートウェイ装置に対して、ソフトウェアモジュールの配布、インストール、アンインストール、更新（の指示）をするための機能である。当該機能の詳細については図１２を参照して後述する。
【００２９】
＜ゲートウェイ装置のソフトウェア構成＞
図３は、ゲートウェイ装置１３０のソフトウェア構成を示す図である。ゲートウェイ装置１３０は、ソフトウェア構成として、ソフトウェアモジュール管理フレームワーク３１０と、ソフトウェアモジュール群３２０と、ソフトウェアモジュール構成データベース３３０と、を有している。
【００３０】
ソフトウェアモジュール管理フレームワーク３１０は、ソフトウェアモジュール群３２０に含まれるソフトウェアモジュール（図５や図６の構成を有する）を管理するためのものであり、インストール・アンインストール機能３１１と、起動・停止機能３１２と、アップデート機能３１３と、状態取得機能３１４を有している。これら各機能は、対応するプログラムをＣＰＵ１３０１によって実行することにより実現される。
【００３１】
インストール・アンインストール機能３１１は、ゲートウェイ装置のファイルシステム（ＨＤＤ１３０５内）にソフトウェアモジュールを展開してインストールしたり、アンインストールしたりする機能である。
【００３２】
起動・停止機能３１２は、既にインスストールされて動作可能となっているソフトウェアモジュールを起動したり、動作しているソフトウェアモジュールを停止したりする機能である。アップデートされる前のソフトウェアモジュールの起動及び停止とは異なるものであることに注意すべきである。
【００３３】
アップデート機能３１３は、インストールされた（ファイルシステムに展開された）ソフトウェアモジュール（新バージョン）で既存のソフトウェアモジュール（旧バージョン）を更新するために、旧バージョンのソフトウェアモジュールを停止して、新バージョンのソフトウェアモジュールの起動を順番に行う機能である。
【００３４】
状態取得機能３１４は、ソフトウェアモジュール構成データベース３３０に格納されたデータを取得する機能である。
【００３５】
なお、上述したように、ここでインストールとは、ソフトウェアモジュールに含まれるファイル群をファイルシステムに展開するだけであり、インストールされたソフトウェアモジュールの機能自体は起動しない。したがって、既存のソフトウェアモジュールのバージョンアップ版をインストールする場合は、ファイルは展開されるが、動作中のソフトウェアモジュールは旧バージョンのもののままである。動作中のソフトウェアモジュールを更新するためには、更新版のインストール後、起動・停止機能３１２により、停止してから起動するか、更新機能３１３により、停止・起動指示を出す必要がある。以上のような機能を持つソフトウェアモジュール管理フレームワークの例としては、OSGiフレームワークがある。
【００３６】
ソフトウェアモジュール管理フレームワーク３１０の管理対象として、ソフトウェアモジュール群３２０がある。ソフトウェアモジュール群３２０は、例えば、ソフトウェアモジュール受付モジュール３２１と、更新中継モジュール３２２と、ファームウェア更新モジュール３２３と、各種ソフトウェアモジュール（ソフトウェアモジュールＡやソフトウェアモジュールＢ等）３２４乃至３２５と、を含んでいる。このような複数のソフトウェアモジュールは、ファイルシステム（ＨＤＤ１３０５）上に展開され、ソフトウェアモジュール構成データベース３３０にてバージョン番号・モジュール名・展開されているファイルパスが管理されている。
【００３７】
ソフトウェアモジュール受付モジュール３２１は、管理サーバ１１０と通信し、ソフトウェアモジュールやファームウェアのデータ（新規データ或いは更新用データ）を受け取る機能を有する。そして、ソフトウェアモジュール受付モジュール３２１は、受け取ったモジュールのインストールや旧バージョンのモジュールのアンインストールの命令、ソフトウェアモジュールの起動・停止の命令、ソフトウェアモジュールのアップデートの命令を管理サーバ１１０から受け取り、それらの命令をソフトウェアモジュール管理フレームワーク３１０のそれぞれの機能に仲介する。
【００３８】
更新中継モジュール３２２は、各情報家電装置１５０−１乃至１５０−ｎとの通信方法を規定する通信プロトコルを管理し、対応する通信プロトコルによって各情報家電装置に対して新バージョンのファームウェアを配信する機能を有している。また、更新中継モジュール３２２は、どのような情報家電装置が構内ネットワーク１４０に接続されているか管理すると共に、構内ネットワーク１４０を監視してどのような情報家電が新たに接続されたかを検知し、それぞれの情報家電装置に対応する通信プロトコルを、情報家電装置に対応付けて管理する。なお、更新中継モジュール３２２は、新たに接続された情報家電装置について通信プロトコルの情報を有していない場合、マッチングサーバ１７０に問い合わせて、接続された情報家電装置の情報（メーカ名や製品番号等）に対応するメーカサイトの情報（ＵＲＬ）を取得する。そして、更新中継モジュール３２２は、当該取得したメーカサイトに対して、新たに接続された情報家電装置の通信プロトコルを送信するように要求する。更新中継モジュールは、当該要求に応答してメーカサイトから送信されてきた通信プロトコルを受信し、情報家電装置と対応付けて管理する。
【００３９】
ファームウェア更新モジュール３２３は、管理サーバ１１０から受け取った情報家電装置の新バージョンのファームウェアデータを管理する機能を有し、各情報家電装置毎に設けられている。ファームウェア更新モジュール３２３の内部構成については図６を参照して後述する。
【００４０】
ソフトウェアモジュールＡ３２４は、例えば、情報家電装置１５０−１乃至１５０−ｎのＯＮ／ＯＦＦを制御する機能を有する。また、ソフトウェアモジュールＢ３２５は、例えば、ゲートウェイ装置１３０の障害を監視して検出する機能を有する。ソフトウェアモジュールの機能はこれらに限られず、必要に応じて様々な機能を実現する際にインストールすることが可能である。
【００４１】
ソフトウェアモジュール構成データベース３３０は、ソフトウェアモジュールのバージョン番号などを管理するためのデータベースである。内部構成については図８を参照して後述する。
【００４２】
＜情報家電装置が保持する機能及び情報＞
図４は、情報家電装置１５０−１乃至１５０−ｎが最低限備えるべき機能及び情報を示す図である。各情報家電装置は、更新受付・適用機能４１０と、ファームウェアデータ４２０と、フラッシュＲＯＭ４３０に格納された機器ＩＤ（識別子）、メーカ情報、鍵情報等を、有している。
【００４３】
更新受付・適用機能４１０は、ファームウェアの更新データをネットワーク経由で受信するためのインタフェースと、受信したファームウェアをフラッシュＲＯＭ４３０に書き込む機能を持つ。
【００４４】
ファームウェア４２０は、情報家電１５０を動作させるためのソフトウェア一式であり、フラッシュＲＯＭ４３０に書き込まれていても良い。
【００４５】
＜ソフトウェアモジュールの内部構成＞
図５は、ソフトウェアモジュール管理フレームワーク３１０上が管理するソフトウェアモジュール（ソフトウェアモジュール受付モジュール３２１、ファームウェア更新モジュール以外のモジュール）の内部構成を示す図である。
【００４６】
ソフトウェアモジュールは、バージョン情報５１０と、モジュール名５１１と、ソフトウェアモジュール本体５３０と、データファイル５４０と、を構成要素として有している。
【００４７】
バージョン情報５１０は、ソフトウェアモジュールのバージョン番号を示す情報である。モジュール名５２０は、ソフトウェアモジュールの名称である。
【００４８】
ソフトウェアモジュール本体５３０は、ソフトウェアモジュールのプログラムロジックを格納しており、アクティベータ５３１及び機能実装５３２を含んでいる。アクティベータ５３１には、ソフトウェアモジュール管理フレームワーク３１０からソフトウェアモジュールが起動した時に呼ばれるプログラムロジックが記述されている。機能実装５３２はソフトウェアモジュールが本来目的とする機能が記述されている。
【００４９】
データファイル５４０は、ソフトウェアモジュールが利用するデータ（例えば、ソフトウェアモジュールの設定ファイルやメタ情報）を格納している。
【００５０】
各ソフトウェアモジュールのフォーマットは共通しており、モジュールごとに機能実装５３２とデータファイル５４０の内容が異なっているだけである。従って、各ソフトウェアモジュールの管理が容易となるという利点がある。
【００５１】
＜ファームウェア更新モジュールの内部構成＞
図６は、ファームウェア更新モジュール３２３の内部構成を示す図である。ファームウェア更新モジュール３２３の内部構成は、基本的に通常のソフトウェアモジュールと同じ構成となっている。ただし、アクティベータ６３０のロジックとして、更新中継呼び出し機能６３１が記述されていることのみが通常のソフトウェアモジュールと異なる点である。また、ファームウェア更新モジュール３２３は、構内ネットワーク１４０に接続されている情報家電装置１５０−１乃至１５０−ｎの台数分設けられている。
【００５２】
バージョン情報６１０は、ファームウェアのバージョン番号を示す情報である。モジュール名６２０は、情報家電装置名に対応した名前となっている。
【００５３】
ソフトウェアモジュール本体は、更新中継モジュール３２２の機能を呼び出すための更新中継呼び出し（モジュール）６３１と機能実装６４０を有している。ファームウェア更新モジュール３２３の機能は、主に、新バージョンのファームウェアをファームウェアデータ６５１に書き込み、更新中継モジュール３２２を呼び出して新しいファームウェアデータをそれに受け渡すだけであるため、機能実装６４０は実質的に意味をなすものではない。
【００５４】
データファイル６５０は、情報家電装置１５０−１乃至１５０−ｎのためのファームウェアデータ６５１を格納している。
【００５５】
なお、更新中継呼び出し（モジュール）６３１によって呼び出された更新中継モジュール３２２は、新バージョンのファームウェアデータをファームウェア更新モジュール３２３から受け取り、対応する情報家電装置と該当する通信プロトコルを用いて通信して、当該新バージョンのファームウェアデータを当該情報家電装置に送信する。
【００５６】
また、このように、ファームウェア更新モジュール３２３は、通常のソフトウェアモジュールと同じフォーマット（図５参照）を採るため、ファームウェア更新モジュール３２３を通常のソフトウェアモジュールと同じように取り扱うことができる。よって、管理サーバ１１０における管理も容易となっている。
【００５７】
＜ソフトウェアモジュール受付モジュールの機能の詳細＞
図７は、ソフトウェアモジュール受付モジュール３２１の中にある機能実装の構成を示す図である。
【００５８】
ソフトウェアモジュール受付モジュール３２１は、ソフトウェアモジュール受付（機能）７１１と、インストール・アンインストール命令受付（機能）７１２と、起動・停止命令受付（機能）７１３と、アップデート命令受付（機能）７１４と、状態返却（機能）７１５と、を有している。
【００５９】
ソフトウェアモジュール受付７１１は、管理サーバ１１０から送信されるソフトウェアモジュールを受信する機能である。
【００６０】
インストール・アンインストール命令受付は、管理サーバ１１０から、インストール・アンインストール指示を受け取り、インストール・アンインストール機能３１１を呼び出すことで、ソフトウェアモジュール群３２０に対してソフトウェアモジュールをインストールしたり、名前を指定してアンインストールしたりする機能である。
【００６１】
起動・停止命令受付７１３は、管理サーバ１１０から、ソフトウェアモジュール群３２０の中のソフトウェアモジュールを起動・停止命令を受け付け、起動・停止機能３１２を呼び出す機能である。
【００６２】
アップデート命令受付７１４は、管理サーバ１１０から、ソフトウェアモジュールアップデート命令を受け付け、アップデート機能３１３を呼び出す機能である。
【００６３】
状態返却７１５は、管理サーバ１１０に対して、状態取得機能３１４を呼出、それが取得した各モジュールの状態を送信する機能である。
【００６４】
＜ソフトウェアモジュール構成データベースの構成＞
図８は、ソフトウェアモジュール構成データベース３３０の構成を示す図である。ソフトウェアモジュール構成データベース３３０は、ソフトウェアモジュール群３２０の情報を管理している。図８ではテーブル形式を採用しているが、この形式に限られるものではない。
【００６５】
バージョン８１０は、ソフトウェアモジュール或いはファームウェアのバージョンの情報を示している。モジュール名８２０は、対応するソフトウェアモジュール或いはファームウェアの名称を示している。モジュール展開パス８３０は、モジュール内のソフトウェアモジュール本体５３０およびデータファイル５４０が実際に格納されているファイルパスを表している。
【００６６】
＜更新受付・適用機能の処理＞
図９は、情報家電装置１５０−１乃至１５０−ｎにおける更新受付・適用機能４１０の処理を説明するためのフローチャートである。各ステップの処理は、基本的に、各情報家電装置１５０−１乃至１５０−ｎのＣＰＵ１５０１と更新受付・適用機能４１０が協働して実行する。
【００６７】
ゲートウェイ装置１３０の更新中継モジュールからネットワーク１４０を介して、対応するファームウェアデータを受信すると（ステップ９１０）、更新受付・適用機能４１０を用いて、受信したファームウェアデータをフラッシュＲＯＭ４３０或いは所定のメモリに書き込む（ステップ９２０）。
【００６８】
また、更新受付・適用機能４２０は、システム再起動の命令に応答して、情報家電装置を再起動し、受信した新しいファームウェアを適用する（ステップ９３０）。なお、再起動の命令は、新バージョンのファームウェアをフラッシュＲＯＭ４３０に書き込まれることを検知して自動に発行されるようにしても良いし、ユーザによって入力されるようにしても良い。システム再起動により、フラッシュＲＯＭ４３０に書き込まれたファームウェア上のプログラムがメモリにロードされる。
【００６９】
そして、更新受付・適用機能４２０は、更新成否の結果をファームウェアデータ送信元（ゲートウェイ装置１３０の更新中継モジュール３２２）に通知する（ステップ９４０）。
【００７０】
＜ファームウェア更新モジュールにおける処理＞
図１０は、ファームウェア更新モジュール３２３の処理の詳細、具体的にはアクティベータ６３０内に設けられた更新中継呼び出し６３１の動作を説明するためのフローチャートである。各ステップの処理は、基本的に、ゲートウェイ装置１３０のＣＰＵ１３０１とファームウェア更新モジュール３２３の各機能が協働して実行する。
【００７１】
アクティベータ６３０は、管理サーバ１１０からのファームウェア更新命令（つまり、ファームウェア更新モジュールの更新命令）を受け取ると、ファームウェアデータ６５１をデータファイル６５０から取り出す（ステップ１０１０）。
【００７２】
次に、アクティベータ６３０は、更新中継呼び出し（機能）６３１を起動させる。そして、更新中継呼び出し機能６３１は、ステップ１０１０で取り出したファームウェアデータ６５１を更新中継モジュール３２２に渡す（ステップ１０２０）。
【００７３】
＜更新中継モジュールにおける処理＞
図１１は、更新中継モジュール３２２の処理の詳細を説明するためのフローチャートである。この処理は、実際にはソフトウェアモジュール中の機能実装（５３２に相当）の部分に記述されている。各ステップの処理は、基本的に、ゲートウェイ装置１３０のＣＰＵ１３０１と更新中継モジュール３２２の各機能が協働して実行する。
【００７４】
更新中継モジュール３２２は、更新中継呼び出し機能６３１から新しいバージョンのファームウェアデータを受け取る（ステップ１１１０）と、当該ファームウェアデータを情報家電装置１５０−１乃至１５０−ｎの何れかに送信する（ステップ１１２０）。ここで、更新中継モジュール３２２は、受け取ったファームウェアが情報家電装置１５０−１乃至１５０−ｎのうちどの情報家電装置に対応するものであるか、図示しないファームウェア管理情報を参照して判断し、該当する情報家電装置との通信に使用する通信プロトコルを特定する。ファームウェア管理情報に該当する通信プロトコルが存在しない場合には、上述のようにマッチングサーバ１７０と通信して当該情報家電装置のメーカサイトの情報（ＵＲＬ等）を取得し、そのメーカサイトから当該情報家電装置との通信で使用される通信プロトコルを取得するようになっている。
【００７５】
そして、該当する情報家電装置（１５０−１乃至１５０−ｎの１つ）でファームウェア更新の処理が実行され、更新中継モジュール３２２は、送信されてきたファームウェア更新結果を該当する情報家電装置から受信する（ステップ１１３０）。
【００７６】
また、更新中継モジュール３２２は、当該更新結果を、対応するファームウェアの送信先であるファームウェア更新モジュール３２３（更新中継呼び出し機能６３１）に受け渡す（ステップ１１４０）。なお、更新結果を受け取ったファームウェア更新モジュール３２３は、ソフトウェアモジュール受付モジュール３２１を介して、当該更新結果を管理サーバ１１０に送信することになっている。これにより、管理サーバ１１０は、配信したファームウェアの更新状況（更新の成否）を管理することができるようになる。
【００７７】
＜ソフトウェアモジュール配信機能の具体例＞
図１２は、管理サーバ１１０におけるソフトウェアモジュール配信機能２３０によって表示される管理画面例（ＧＵＩ（Graphical User Interface））を示す図である。当該管理画面には、ソフトウェアモジュール登録機能２２０によって登録されたソフトウェアモジュール一覧とその状態が表示されるとともに、ゲートウェイ装置１３０に所定の指示を出すことができるようになっている。
【００７８】
例えば、UpdateModule１２１０については、バージョン番号が３．１のソフトウェアモジュールがゲートウェイ装置１３０上で起動していることが分かる。そして、ゲートウェイ装置１３０上の状態については、管理サーバ１１０がゲートウェイ装置１３０のソフトウェアモジュール受付モジュール３２１の状態返却機能７１５を呼び出すことで取得することができる。
【００７９】
また、管理者が「配布」ボタン１２４０を押すと、ソフトウェアモジュールがゲートウェイ装置１３０に送信され、ソフトウェアモジュール受付モジュール３２１のソフトウェアモジュール受付（機能）７１１を介してインストール・アンインストール命令受付７１２が呼び出され、ソフトウェアモジュールをインストールすることができるようになる。
【００８０】
さらに、管理者が「起動・停止」ボタン１２５０を押すと、ソフトウェアモジュール受付モジュール３２１の起動・停止命令受付７１３が呼び出され、該当するソフトウェアモジュールを起動したり停止したりすることができる。
【００８１】
また、管理者が「更新」ボタン１２６０を押すと、ソフトウェアモジュール受付モジュール３２１のアップデート命令受付７１４が呼び出され、該当するソフトウェアモジュールを停止した後に起動することが出来る。
【００８２】
＜処理全体の概要＞
図１３は、全体の処理の概要（流れ）を説明するための図である。なお、処理の前提として、ゲートウェイ装置１３０では既にファームウェア更新モジュール（モジュール名FirmwareA,バージョン3.0）が動作しているとする。
【００８３】
まず、情報家電の新しいファームウェアのデータを含む図６のような構成のファームウェア更新モジュール（モジュール名FirmWareA,バージョン3.1とする）が作成され、管理サーバ１１０のＨＤＤ１１０４に登録される。すると、ソフトウェアモジュール配信機能の管理画面において、FirmWareA（バージョン3.1）１２３０が表示される。状態は「登録」となっており、ゲートウェイ装置１３０にはまだ配布されていない。登録後に、ソフトウェアモジュール配信機能の管理画面の「配布」ボタン１２４０が押下されると、ファームウェア更新モジュール（ファームウェア：FirmWareAバージョン3.1）がゲートウェイ装置１３０に送信され、ソフトウェアモジュール受付７１１を介してゲートウェイ装置１３０はデータを受信する（ステップ１３１０）。そして、管理サーバ１１０はインストール・アンインストール命令受付７１２を呼び出す。
【００８４】
ゲートウェイ装置１３０では、ステップ１３１０で受信したファームウェア更新モジュール（ファームウェア）がゲートウェイ装置１３０にインストールされる（ステップ１３２０）。この段階では、ファームウェアは更新されていないため、ゲートウェイ装置１３０で動作しているファームウェア更新モジュール３２３はバージョン3.0のものである。
【００８５】
一方、管理者が、ソフトウェアモジュール配信機能の管理画面におけるFirmWareAバージョン3.1_１２３０の「更新」ボタン１２６０を押すと、更新命令が生成され、ゲートウェイ装置１３０に送信される（ステップ１３３０）。
【００８６】
ゲートウェイ装置１３０では、更新命令がソフトウェアモジュール受付モジュール３２１のアップデート命令受付７１４によって受け付けられ、アップデート機能３１３が呼ばれる。その結果、バージョン３．０のファームウェア更新モジュールは停止し、インストールされた「バージョン３．１」のファームウェア更新モジュールが動作し始める（ステップ１３４０）。
【００８７】
続いて、ファームウェア更新モジュール３２３の起動時に動作するアクティベータ６３０が動作する（ステップ１３５０）。ファームウェア更新モジュール３２３のアクティベータ６３０では図１０の処理が実行される。その結果、更新中継モジュール３２２にステップ１３１０で作成された新しいバージョンのファームウェアデータが渡る。
【００８８】
そして、更新中継モジュール３２２において、図１１の処理が行われ、新しいバージョンのファームウェアデータが、対応する情報家電装置（１５０−１乃至１５０−ｎのいずれか）に送信される（ステップ１３６０）。
【００８９】
新しいバージョンのファームウェアデータを受信した情報家電装置では、図９のように、受信したファームウェアデータをフラッシュＲＯＭに書き込まれ、情報家電装置のファームウェアが更新される(ステップ１３７０）。
【００９０】
そして、更新結果がゲートウェイ装置１３０を介して管理サーバ１１０に通知される。当該通知（更新が正常終了した場合）がなされると、図１２のFirmWareAバージョン3.1_１２３０の「状態」が「登録」から「起動」に変わる。これにより、管理サーバ１１０を操作する管理者は、ファームウェアが正しく更新されたことを知ることが出来る。
【００９１】
＜まとめ＞
（１）本発明の実施形態では、ゲートウェイ装置に、各情報家電装置のファームウェアを管理するファームウェア更新モジュールと、情報家電装置と通信して対応するファームウェアを情報家電装置に送信する更新中継モジュールとを設けている。また、更新中継モジュールは、各情報家電装置との通信に用いる、それぞれの通信プロトコルを管理している。そして、更新中継モジュールは、ファームウェア（新バージョン）の送信先の情報家電装置との通信に用いる通信プロトコルを用いて対象の情報家電装置にファームウェアを送信する。このようにすることにより、情報家電装置毎にファームウェア配信用のサーバを設置する必要がなく、運用が簡単であり、システム構築のためのコストも削減できるようになる。
【００９２】
更新中継モジュールは、新バージョンのファームウェアの送信先である対象情報家電装置の通信プロトコルを有していない場合、対象情報家電装置のメーカのサイトと通信して、そこから対象の通信プロトコルを取得する。このようにすることにより、構内ネットワークに接続されて間もない情報家電装置のため、その通信プロトコルをゲートウェイ装置が有していなくても（以前にファームウェアを更新したことがない場合でも）、必要な通信プロトコルを取得して対象の情報家電装置と通信を実行することができるため、システム運用に支障を来たすことがなく、有利である。つまり、情報家電装置毎にファームウェア配信サーバを設置する場合には、ファームウェアの更新を実際にサーバが設置されるまで停止しなければならないが、本発明によればそのような不都合は解消できる。
【００９３】
新バージョンのファームウェアを受信した情報家電装置は、そのファームウェアを適用して更新処理を実行し、更新処理が成功したか否かを更新中継モジュールに通知する。通知を受けた更新中継モジュールは、（ソフトウェアモジュール受付モジュールを介して）管理サーバに更新処理の結果を通知する。当該結果を受信した管理サーバは、それをＧＵＩ上に表示する。このようにすることにより、管理サーバを操作する管理者は、各情報家電装置でのファームウェアの更新状況を一元的に管理することができるようになる。また、更新が適正に行われなかった場合には、その原因を特定して対策を即座に打つことも可能となる。なお、このＧＵＩ上では、ファームウェアだけでなく管理サーバからゲートウェイ装置に送信した各ソフトウェアモジュールの動作状況も表示されるため、ファームウェアだけでなく、ゲートウェイ装置全体の状態を容易に管理することが可能となる。
【００９４】
本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００９５】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００９６】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【００９７】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウェアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【００９８】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【００９９】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び／又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【０１００】
１００・・・情報配信システム（ファームウェア配信システム）
１１０・・・管理サーバ
１２０・・・インターネット
１３０・・・ゲートウェイ装置
１４０・・・構内ネットワーク
１５０−１〜１５０−ｎ・・・情報家電装置
１６０−１〜１６０−ｎ・・・メーカサイト
１７０・・・マッチングサーバ
【図１】
2013068987.tif 000003
【図２】
2013068987.tif 000004
【図３】
2013068987.tif 000005
【図４】
2013068987.tif 000006
【図５】
2013068987.tif 000007
【図６】
2013068987.tif 000008
【図７】
2013068987.tif 000009
【図８】
2013068987.tif 000010
【図９】
2013068987.tif 000011
【図１０】
2013068987.tif 000012
【図１１】
2013068987.tif 000013
【図１２】
2013068987.tif 000014
【図１３】
2013068987.tif 000015