説明

ゲートウェイ装置、ファームウェア配信システム、及び情報配信方法

【課題】ファームウェアを更新するためのシステム構成が簡単で、運用コストを削減するためのファームウェア更新技術を提供する。
【解決手段】本発明では、構内ネットワークを介して接続される情報家電装置に対して、当該情報家電装置で用いられるファームウェアを送信するゲートウェイ装置において、複数の情報家電装置それぞれのファームウェアと、複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルを管理している。また、ゲートウェイ装置は、複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを特定し、この対象通信プロトコルを用いて対象の情報家電装置と通信を実行し、ファームウェアをそれに送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲートウェイ装置、ファームウェア配信システム、及び情報配信方法に関し、例えば、情報家電装置のソフトウェア更新に関する技術である。
【背景技術】
【0002】
装置を動作させるためのソフトウェア更新技術として、アプリケーションやソフトウェアモジュールの更新技術やより下位レイヤのOSやライブラリファイルを含むファームウェアを更新する技術が知られている。
【0003】
例えば、非特許文献1は、OSGiバンドルと呼ばれるJavaソフトウェアをモジュール化し、モジュールを更新する技術を開示している。また、非特許文献2は、ソフトウェアモジュールを配信するための通信手順を開示しており、OSGiバンドルの配信等に使われる。さらに、特許文献1は、ファームウェアの更新技術の例を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−79438号公報
【非特許文献】
【0005】
【非特許文献1】OSGi Service Platform Release 4: http://www.osgi.org/Release4/Download
【非特許文献2】TR-069 Amendment3:http://www.broadband-forum.org/technical/download/TR-069_Amendment-3.pdf
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、ゲートウェイ装置上のソフトウェアモジュールとゲートウェイ装置に接続された装置のファームウェアを配信・更新する場合やゲートウェイ上のソフトウェアモジュールを更新する場合、例えば、非特許文献1の方法ではTR−069という通信プロトコルを用いてOSGiバンドルという形式のソフトウェアモジュールを配信・更新することになる。したがって、ゲートウェイ装置に繋がったデバイスのファーム配信は、それぞれのデバイスの通信プロトコルとファームウェアの形式で配信することになる。つまり、上記従来技術の構成によれば、ローカルネットワークに接続されている情報家電装置等のファームウェアの更新の場合にも、各情報家電装置で用いられる通信プロトコルに従ってファームウェアを配信して更新しなければならないことになっている。したがって、このような構成の場合には、ゲートウェイ上のOSGiバンドルを配信するサーバとゲートウェイ装置に繋がったデバイスのファームウェアを配信するサーバと2種類のサーバシステムが必要になり、サーバ構築と運用管理が煩雑となるという課題がある。
【0007】
また、情報家電装置のファームウェア更新の際には、通信プロトコルが異なる情報家電装置毎に異なるため、情報家電装置毎に専用のファームウェア配信用のサーバを設置しなければならず、システム構築及び運用に掛かるコストが過大となってしまう。
【0008】
本発明はこのような状況に鑑みてなされたものであり、ファームウェアを更新するためのシステム構成が簡単で、運用コストを削減するためのファームウェア更新技術を提供するためのものである。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明では、構内ネットワークを介して接続される情報家電装置に対して、当該情報家電装置で用いられるファームウェアを送信するゲートウェイ装置において、複数の情報家電装置それぞれのファームウェアと、複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルを管理している。また、ゲートウェイ装置は、複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを特定し、この対象通信プロトコルを用いて対象の情報家電装置と通信を実行し、ファームウェアをそれに送信する。
【0010】
なお、本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【0011】
また、本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【0012】
本発明によれば、情報家電装置ごとにファームウェアの配信サーバを設置する必要がなく、ファームウェア更新のためのシステム構成が簡単で、運用コストを削減することができるようになる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態による情報配信システムの概略構成を示す図である。
【図2】管理サーバのソフトウェア構成を示す図である。
【図3】ゲートウェイ装置のソフトウェア構成を示す図である。
【図4】情報家電装置のソフトウェア構成を示す図である。
【図5】ソフトウェアモジュールのフォーマット構成を示す図である。
【図6】ファームウェア更新モジュールの内部構成を示す図である。
【図7】ソフトウェアモジュール受付モジュールの機能実装の内部構成を示す図である。
【図8】ソフトウェアモジュール構成データベースが管理する情報の例を示す図である。
【図9】更新受付・適用機能の処理を説明するためのフローチャートである。
【図10】ファームウェア更新モジュールのアクティベータの処理を説明するためのフローチャートである。
【図11】更新中継モジュールの処理を説明するためのフローチャートである。
【図12】ソフトウェアモジュール配信機能によるGUIの構成例を示す図である。
【図13】全体の処理の流れを説明するための図である。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【0015】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【0016】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
【0017】
なお、以後の説明では「テーブル」形式によって本発明の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、DB、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等について単に「情報」と呼ぶことがある。
【0018】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【0019】
以下では各「機能」や各「モジュール」の処理について説明を行うが、機能やモジュールは、それらを実現するプログラムがプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主語(動作主体)とした説明となっているが、「機能」や「モジュール」を動作主体としてもよい。また、「機能」「モジュール」「プログラム」を主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現しても良い。各種機能やモジュールを実現するためのプログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【0020】
<情報配信システム>
図1は、本発明の実施形態による情報配信システム(ファームウェア配信システム)の概略構成を示す図である。情報配信システム100は、管理サーバ110と、ゲートウェイ装置130と、少なくとも1つの情報家電装置150−1乃至150−nと、少なくとも1つのメーカサイト(計算機)160−1乃至160−nと、マッチングサーバ170と、を有している。管理サーバ110と、ゲートウェイ装置130と、メーカサイト160−1乃至160−nと、マッチングサーバ170とは、インターネット120を介して接続されている。ゲートウェイ装置130と、各情報家電装置150−1乃至150−nとは、構内ネットワーク140(ホームネットワーク)を介して接続されている。
【0021】
管理サーバ110は、インターネット120を経由して図5で構成が説明されるソフトウェアモジュールをゲートウェイ装置130に配布・インストール・アンインストールする機能を持つサーバである。管理サーバ110は、ネットワーク通信機能を有するコンピュータとしてのハードウェア構成を有し、例えば、様々な制御・演算処理を実行するCPU(Central Processing Unit:単にプロセッサと言うこともできる)1101と、制御・演算処理のためにデータを格納するRAM1102と、ネットワークインタフェース1103と、各種データ、パラメータ、プログラム、配信すべきファームウェアやソフトウェアモジュールを格納するHDD1104と、を有している。管理サーバ110は、図示された構成以外にもその他のメモリ(ROMやキャッシュ)や情報入出力デバイス(表示装置、プリンタ、キーボードやポインティングデバイス)等を含んでいても良い。なお、メモリ内のソフトウェア構成は図2に示されており、詳細については後述する。
【0022】
ゲートウェイ装置130は、ソフトウェアを動作させる機能を持ち、構内ネットワーク140とインターネット120を仲介する装置である。ソフトウェアモジュールをインストールすることでゲートウェイ装置130の機能を拡張することができるようになっている。ゲートウェイ装置130は、CPU1301と、RAM1302と、ROM1303と、ネットワークインタフェース1304と、HDD1305と、を有している。ゲートウェイ装置130のソフトウェア構成は図3に示されており、詳細については後述する。
【0023】
情報家電装置150−1乃至150−nは、構内ネットワーク140に接続された、テレビや録画機等の家電装置であり、通信機能を有するコンピュータと同様の構成を有し、例えば、CPU1501と、RAM1502と、ネットワークインタフェース1503と、フラッシュメモリ15054、情報入出力デバイス1505と、を有している。最低限備えるべきソフトウェア構成(機能)は図4に示されており、詳細については後述する。
【0024】
メーカサイト160−1乃至160−nは、自社の情報家電装置(情報家電装置150−1乃至150−nに対応)の情報(情報家電装置との通信に用いられる通信プロトコルを含む)を管理している。
【0025】
マッチングサーバ170は、各情報家電装置のメーカの情報(アクセス先情報となるURLを含む)を管理しており、ゲートウェイ装置130からの問合せに応答して、当該メーカの情報をゲートウェイ装置130に通知する機能を有している。
【0026】
<管理サーバのソフトウェア構成>
図2は、管理サーバ110のソフトウェア構成(機能)を示す図である管理サーバ110は、少なくともソフトウェアモジュール登録機能220と、ソフトウェアモジュール配信機能230と、を有している。それぞれの機能はCPU1101が該当するプログラムを実行することによって実現される。
【0027】
ソフトウェアモジュール登録機能220は、ネットワークインタフェース(Webインタフェース等)1103を通じて、ソフトウェアモジュール(情報家電装置で起動するファームウェアを含む)を管理サーバ110に保存する機能である。
【0028】
また、ソフトウェアモジュール配信機能230は、ソフトウェアモジュール登録機能220によって保存されたソフトウェアモジュールの一覧を表示し、ゲートウェイ装置に対して、ソフトウェアモジュールの配布、インストール、アンインストール、更新(の指示)をするための機能である。当該機能の詳細については図12を参照して後述する。
【0029】
<ゲートウェイ装置のソフトウェア構成>
図3は、ゲートウェイ装置130のソフトウェア構成を示す図である。ゲートウェイ装置130は、ソフトウェア構成として、ソフトウェアモジュール管理フレームワーク310と、ソフトウェアモジュール群320と、ソフトウェアモジュール構成データベース330と、を有している。
【0030】
ソフトウェアモジュール管理フレームワーク310は、ソフトウェアモジュール群320に含まれるソフトウェアモジュール(図5や図6の構成を有する)を管理するためのものであり、インストール・アンインストール機能311と、起動・停止機能312と、アップデート機能313と、状態取得機能314を有している。これら各機能は、対応するプログラムをCPU1301によって実行することにより実現される。
【0031】
インストール・アンインストール機能311は、ゲートウェイ装置のファイルシステム(HDD1305内)にソフトウェアモジュールを展開してインストールしたり、アンインストールしたりする機能である。
【0032】
起動・停止機能312は、既にインスストールされて動作可能となっているソフトウェアモジュールを起動したり、動作しているソフトウェアモジュールを停止したりする機能である。アップデートされる前のソフトウェアモジュールの起動及び停止とは異なるものであることに注意すべきである。
【0033】
アップデート機能313は、インストールされた(ファイルシステムに展開された)ソフトウェアモジュール(新バージョン)で既存のソフトウェアモジュール(旧バージョン)を更新するために、旧バージョンのソフトウェアモジュールを停止して、新バージョンのソフトウェアモジュールの起動を順番に行う機能である。
【0034】
状態取得機能314は、ソフトウェアモジュール構成データベース330に格納されたデータを取得する機能である。
【0035】
なお、上述したように、ここでインストールとは、ソフトウェアモジュールに含まれるファイル群をファイルシステムに展開するだけであり、インストールされたソフトウェアモジュールの機能自体は起動しない。したがって、既存のソフトウェアモジュールのバージョンアップ版をインストールする場合は、ファイルは展開されるが、動作中のソフトウェアモジュールは旧バージョンのもののままである。動作中のソフトウェアモジュールを更新するためには、更新版のインストール後、起動・停止機能312により、停止してから起動するか、更新機能313により、停止・起動指示を出す必要がある。以上のような機能を持つソフトウェアモジュール管理フレームワークの例としては、OSGiフレームワークがある。
【0036】
ソフトウェアモジュール管理フレームワーク310の管理対象として、ソフトウェアモジュール群320がある。ソフトウェアモジュール群320は、例えば、ソフトウェアモジュール受付モジュール321と、更新中継モジュール322と、ファームウェア更新モジュール323と、各種ソフトウェアモジュール(ソフトウェアモジュールAやソフトウェアモジュールB等)324乃至325と、を含んでいる。このような複数のソフトウェアモジュールは、ファイルシステム(HDD1305)上に展開され、ソフトウェアモジュール構成データベース330にてバージョン番号・モジュール名・展開されているファイルパスが管理されている。
【0037】
ソフトウェアモジュール受付モジュール321は、管理サーバ110と通信し、ソフトウェアモジュールやファームウェアのデータ(新規データ或いは更新用データ)を受け取る機能を有する。そして、ソフトウェアモジュール受付モジュール321は、受け取ったモジュールのインストールや旧バージョンのモジュールのアンインストールの命令、ソフトウェアモジュールの起動・停止の命令、ソフトウェアモジュールのアップデートの命令を管理サーバ110から受け取り、それらの命令をソフトウェアモジュール管理フレームワーク310のそれぞれの機能に仲介する。
【0038】
更新中継モジュール322は、各情報家電装置150−1乃至150−nとの通信方法を規定する通信プロトコルを管理し、対応する通信プロトコルによって各情報家電装置に対して新バージョンのファームウェアを配信する機能を有している。また、更新中継モジュール322は、どのような情報家電装置が構内ネットワーク140に接続されているか管理すると共に、構内ネットワーク140を監視してどのような情報家電が新たに接続されたかを検知し、それぞれの情報家電装置に対応する通信プロトコルを、情報家電装置に対応付けて管理する。なお、更新中継モジュール322は、新たに接続された情報家電装置について通信プロトコルの情報を有していない場合、マッチングサーバ170に問い合わせて、接続された情報家電装置の情報(メーカ名や製品番号等)に対応するメーカサイトの情報(URL)を取得する。そして、更新中継モジュール322は、当該取得したメーカサイトに対して、新たに接続された情報家電装置の通信プロトコルを送信するように要求する。更新中継モジュールは、当該要求に応答してメーカサイトから送信されてきた通信プロトコルを受信し、情報家電装置と対応付けて管理する。
【0039】
ファームウェア更新モジュール323は、管理サーバ110から受け取った情報家電装置の新バージョンのファームウェアデータを管理する機能を有し、各情報家電装置毎に設けられている。ファームウェア更新モジュール323の内部構成については図6を参照して後述する。
【0040】
ソフトウェアモジュールA324は、例えば、情報家電装置150−1乃至150−nのON/OFFを制御する機能を有する。また、ソフトウェアモジュールB325は、例えば、ゲートウェイ装置130の障害を監視して検出する機能を有する。ソフトウェアモジュールの機能はこれらに限られず、必要に応じて様々な機能を実現する際にインストールすることが可能である。
【0041】
ソフトウェアモジュール構成データベース330は、ソフトウェアモジュールのバージョン番号などを管理するためのデータベースである。内部構成については図8を参照して後述する。
【0042】
<情報家電装置が保持する機能及び情報>
図4は、情報家電装置150−1乃至150−nが最低限備えるべき機能及び情報を示す図である。各情報家電装置は、更新受付・適用機能410と、ファームウェアデータ420と、フラッシュROM430に格納された機器ID(識別子)、メーカ情報、鍵情報等を、有している。
【0043】
更新受付・適用機能410は、ファームウェアの更新データをネットワーク経由で受信するためのインタフェースと、受信したファームウェアをフラッシュROM430に書き込む機能を持つ。
【0044】
ファームウェア420は、情報家電150を動作させるためのソフトウェア一式であり、フラッシュROM430に書き込まれていても良い。
【0045】
<ソフトウェアモジュールの内部構成>
図5は、ソフトウェアモジュール管理フレームワーク310上が管理するソフトウェアモジュール(ソフトウェアモジュール受付モジュール321、ファームウェア更新モジュール以外のモジュール)の内部構成を示す図である。
【0046】
ソフトウェアモジュールは、バージョン情報510と、モジュール名511と、ソフトウェアモジュール本体530と、データファイル540と、を構成要素として有している。
【0047】
バージョン情報510は、ソフトウェアモジュールのバージョン番号を示す情報である。モジュール名520は、ソフトウェアモジュールの名称である。
【0048】
ソフトウェアモジュール本体530は、ソフトウェアモジュールのプログラムロジックを格納しており、アクティベータ531及び機能実装532を含んでいる。アクティベータ531には、ソフトウェアモジュール管理フレームワーク310からソフトウェアモジュールが起動した時に呼ばれるプログラムロジックが記述されている。機能実装532はソフトウェアモジュールが本来目的とする機能が記述されている。
【0049】
データファイル540は、ソフトウェアモジュールが利用するデータ(例えば、ソフトウェアモジュールの設定ファイルやメタ情報)を格納している。
【0050】
各ソフトウェアモジュールのフォーマットは共通しており、モジュールごとに機能実装532とデータファイル540の内容が異なっているだけである。従って、各ソフトウェアモジュールの管理が容易となるという利点がある。
【0051】
<ファームウェア更新モジュールの内部構成>
図6は、ファームウェア更新モジュール323の内部構成を示す図である。ファームウェア更新モジュール323の内部構成は、基本的に通常のソフトウェアモジュールと同じ構成となっている。ただし、アクティベータ630のロジックとして、更新中継呼び出し機能631が記述されていることのみが通常のソフトウェアモジュールと異なる点である。また、ファームウェア更新モジュール323は、構内ネットワーク140に接続されている情報家電装置150−1乃至150−nの台数分設けられている。
【0052】
バージョン情報610は、ファームウェアのバージョン番号を示す情報である。モジュール名620は、情報家電装置名に対応した名前となっている。
【0053】
ソフトウェアモジュール本体は、更新中継モジュール322の機能を呼び出すための更新中継呼び出し(モジュール)631と機能実装640を有している。ファームウェア更新モジュール323の機能は、主に、新バージョンのファームウェアをファームウェアデータ651に書き込み、更新中継モジュール322を呼び出して新しいファームウェアデータをそれに受け渡すだけであるため、機能実装640は実質的に意味をなすものではない。
【0054】
データファイル650は、情報家電装置150−1乃至150−nのためのファームウェアデータ651を格納している。
【0055】
なお、更新中継呼び出し(モジュール)631によって呼び出された更新中継モジュール322は、新バージョンのファームウェアデータをファームウェア更新モジュール323から受け取り、対応する情報家電装置と該当する通信プロトコルを用いて通信して、当該新バージョンのファームウェアデータを当該情報家電装置に送信する。
【0056】
また、このように、ファームウェア更新モジュール323は、通常のソフトウェアモジュールと同じフォーマット(図5参照)を採るため、ファームウェア更新モジュール323を通常のソフトウェアモジュールと同じように取り扱うことができる。よって、管理サーバ110における管理も容易となっている。
【0057】
<ソフトウェアモジュール受付モジュールの機能の詳細>
図7は、ソフトウェアモジュール受付モジュール321の中にある機能実装の構成を示す図である。
【0058】
ソフトウェアモジュール受付モジュール321は、ソフトウェアモジュール受付(機能)711と、インストール・アンインストール命令受付(機能)712と、起動・停止命令受付(機能)713と、アップデート命令受付(機能)714と、状態返却(機能)715と、を有している。
【0059】
ソフトウェアモジュール受付711は、管理サーバ110から送信されるソフトウェアモジュールを受信する機能である。
【0060】
インストール・アンインストール命令受付は、管理サーバ110から、インストール・アンインストール指示を受け取り、インストール・アンインストール機能311を呼び出すことで、ソフトウェアモジュール群320に対してソフトウェアモジュールをインストールしたり、名前を指定してアンインストールしたりする機能である。
【0061】
起動・停止命令受付713は、管理サーバ110から、ソフトウェアモジュール群320の中のソフトウェアモジュールを起動・停止命令を受け付け、起動・停止機能312を呼び出す機能である。
【0062】
アップデート命令受付714は、管理サーバ110から、ソフトウェアモジュールアップデート命令を受け付け、アップデート機能313を呼び出す機能である。
【0063】
状態返却715は、管理サーバ110に対して、状態取得機能314を呼出、それが取得した各モジュールの状態を送信する機能である。
【0064】
<ソフトウェアモジュール構成データベースの構成>
図8は、ソフトウェアモジュール構成データベース330の構成を示す図である。ソフトウェアモジュール構成データベース330は、ソフトウェアモジュール群320の情報を管理している。図8ではテーブル形式を採用しているが、この形式に限られるものではない。
【0065】
バージョン810は、ソフトウェアモジュール或いはファームウェアのバージョンの情報を示している。モジュール名820は、対応するソフトウェアモジュール或いはファームウェアの名称を示している。モジュール展開パス830は、モジュール内のソフトウェアモジュール本体530およびデータファイル540が実際に格納されているファイルパスを表している。
【0066】
<更新受付・適用機能の処理>
図9は、情報家電装置150−1乃至150−nにおける更新受付・適用機能410の処理を説明するためのフローチャートである。各ステップの処理は、基本的に、各情報家電装置150−1乃至150−nのCPU1501と更新受付・適用機能410が協働して実行する。
【0067】
ゲートウェイ装置130の更新中継モジュールからネットワーク140を介して、対応するファームウェアデータを受信すると(ステップ910)、更新受付・適用機能410を用いて、受信したファームウェアデータをフラッシュROM430或いは所定のメモリに書き込む(ステップ920)。
【0068】
また、更新受付・適用機能420は、システム再起動の命令に応答して、情報家電装置を再起動し、受信した新しいファームウェアを適用する(ステップ930)。なお、再起動の命令は、新バージョンのファームウェアをフラッシュROM430に書き込まれることを検知して自動に発行されるようにしても良いし、ユーザによって入力されるようにしても良い。システム再起動により、フラッシュROM430に書き込まれたファームウェア上のプログラムがメモリにロードされる。
【0069】
そして、更新受付・適用機能420は、更新成否の結果をファームウェアデータ送信元(ゲートウェイ装置130の更新中継モジュール322)に通知する(ステップ940)。
【0070】
<ファームウェア更新モジュールにおける処理>
図10は、ファームウェア更新モジュール323の処理の詳細、具体的にはアクティベータ630内に設けられた更新中継呼び出し631の動作を説明するためのフローチャートである。各ステップの処理は、基本的に、ゲートウェイ装置130のCPU1301とファームウェア更新モジュール323の各機能が協働して実行する。
【0071】
アクティベータ630は、管理サーバ110からのファームウェア更新命令(つまり、ファームウェア更新モジュールの更新命令)を受け取ると、ファームウェアデータ651をデータファイル650から取り出す(ステップ1010)。
【0072】
次に、アクティベータ630は、更新中継呼び出し(機能)631を起動させる。そして、更新中継呼び出し機能631は、ステップ1010で取り出したファームウェアデータ651を更新中継モジュール322に渡す(ステップ1020)。
【0073】
<更新中継モジュールにおける処理>
図11は、更新中継モジュール322の処理の詳細を説明するためのフローチャートである。この処理は、実際にはソフトウェアモジュール中の機能実装(532に相当)の部分に記述されている。各ステップの処理は、基本的に、ゲートウェイ装置130のCPU1301と更新中継モジュール322の各機能が協働して実行する。
【0074】
更新中継モジュール322は、更新中継呼び出し機能631から新しいバージョンのファームウェアデータを受け取る(ステップ1110)と、当該ファームウェアデータを情報家電装置150−1乃至150−nの何れかに送信する(ステップ1120)。ここで、更新中継モジュール322は、受け取ったファームウェアが情報家電装置150−1乃至150−nのうちどの情報家電装置に対応するものであるか、図示しないファームウェア管理情報を参照して判断し、該当する情報家電装置との通信に使用する通信プロトコルを特定する。ファームウェア管理情報に該当する通信プロトコルが存在しない場合には、上述のようにマッチングサーバ170と通信して当該情報家電装置のメーカサイトの情報(URL等)を取得し、そのメーカサイトから当該情報家電装置との通信で使用される通信プロトコルを取得するようになっている。
【0075】
そして、該当する情報家電装置(150−1乃至150−nの1つ)でファームウェア更新の処理が実行され、更新中継モジュール322は、送信されてきたファームウェア更新結果を該当する情報家電装置から受信する(ステップ1130)。
【0076】
また、更新中継モジュール322は、当該更新結果を、対応するファームウェアの送信先であるファームウェア更新モジュール323(更新中継呼び出し機能631)に受け渡す(ステップ1140)。なお、更新結果を受け取ったファームウェア更新モジュール323は、ソフトウェアモジュール受付モジュール321を介して、当該更新結果を管理サーバ110に送信することになっている。これにより、管理サーバ110は、配信したファームウェアの更新状況(更新の成否)を管理することができるようになる。
【0077】
<ソフトウェアモジュール配信機能の具体例>
図12は、管理サーバ110におけるソフトウェアモジュール配信機能230によって表示される管理画面例(GUI(Graphical User Interface))を示す図である。当該管理画面には、ソフトウェアモジュール登録機能220によって登録されたソフトウェアモジュール一覧とその状態が表示されるとともに、ゲートウェイ装置130に所定の指示を出すことができるようになっている。
【0078】
例えば、UpdateModule1210については、バージョン番号が3.1のソフトウェアモジュールがゲートウェイ装置130上で起動していることが分かる。そして、ゲートウェイ装置130上の状態については、管理サーバ110がゲートウェイ装置130のソフトウェアモジュール受付モジュール321の状態返却機能715を呼び出すことで取得することができる。
【0079】
また、管理者が「配布」ボタン1240を押すと、ソフトウェアモジュールがゲートウェイ装置130に送信され、ソフトウェアモジュール受付モジュール321のソフトウェアモジュール受付(機能)711を介してインストール・アンインストール命令受付712が呼び出され、ソフトウェアモジュールをインストールすることができるようになる。
【0080】
さらに、管理者が「起動・停止」ボタン1250を押すと、ソフトウェアモジュール受付モジュール321の起動・停止命令受付713が呼び出され、該当するソフトウェアモジュールを起動したり停止したりすることができる。
【0081】
また、管理者が「更新」ボタン1260を押すと、ソフトウェアモジュール受付モジュール321のアップデート命令受付714が呼び出され、該当するソフトウェアモジュールを停止した後に起動することが出来る。
【0082】
<処理全体の概要>
図13は、全体の処理の概要(流れ)を説明するための図である。なお、処理の前提として、ゲートウェイ装置130では既にファームウェア更新モジュール(モジュール名FirmwareA,バージョン3.0)が動作しているとする。
【0083】
まず、情報家電の新しいファームウェアのデータを含む図6のような構成のファームウェア更新モジュール(モジュール名FirmWareA,バージョン3.1とする)が作成され、管理サーバ110のHDD1104に登録される。すると、ソフトウェアモジュール配信機能の管理画面において、FirmWareA(バージョン3.1)1230が表示される。状態は「登録」となっており、ゲートウェイ装置130にはまだ配布されていない。登録後に、ソフトウェアモジュール配信機能の管理画面の「配布」ボタン1240が押下されると、ファームウェア更新モジュール(ファームウェア:FirmWareAバージョン3.1)がゲートウェイ装置130に送信され、ソフトウェアモジュール受付711を介してゲートウェイ装置130はデータを受信する(ステップ1310)。そして、管理サーバ110はインストール・アンインストール命令受付712を呼び出す。
【0084】
ゲートウェイ装置130では、ステップ1310で受信したファームウェア更新モジュール(ファームウェア)がゲートウェイ装置130にインストールされる(ステップ1320)。この段階では、ファームウェアは更新されていないため、ゲートウェイ装置130で動作しているファームウェア更新モジュール323はバージョン3.0のものである。
【0085】
一方、管理者が、ソフトウェアモジュール配信機能の管理画面におけるFirmWareAバージョン3.1_1230の「更新」ボタン1260を押すと、更新命令が生成され、ゲートウェイ装置130に送信される(ステップ1330)。
【0086】
ゲートウェイ装置130では、更新命令がソフトウェアモジュール受付モジュール321のアップデート命令受付714によって受け付けられ、アップデート機能313が呼ばれる。その結果、バージョン3.0のファームウェア更新モジュールは停止し、インストールされた「バージョン3.1」のファームウェア更新モジュールが動作し始める(ステップ1340)。
【0087】
続いて、ファームウェア更新モジュール323の起動時に動作するアクティベータ630が動作する(ステップ1350)。ファームウェア更新モジュール323のアクティベータ630では図10の処理が実行される。その結果、更新中継モジュール322にステップ1310で作成された新しいバージョンのファームウェアデータが渡る。
【0088】
そして、更新中継モジュール322において、図11の処理が行われ、新しいバージョンのファームウェアデータが、対応する情報家電装置(150−1乃至150−nのいずれか)に送信される(ステップ1360)。
【0089】
新しいバージョンのファームウェアデータを受信した情報家電装置では、図9のように、受信したファームウェアデータをフラッシュROMに書き込まれ、情報家電装置のファームウェアが更新される(ステップ1370)。
【0090】
そして、更新結果がゲートウェイ装置130を介して管理サーバ110に通知される。当該通知(更新が正常終了した場合)がなされると、図12のFirmWareAバージョン3.1_1230の「状態」が「登録」から「起動」に変わる。これにより、管理サーバ110を操作する管理者は、ファームウェアが正しく更新されたことを知ることが出来る。
【0091】
<まとめ>
(1)本発明の実施形態では、ゲートウェイ装置に、各情報家電装置のファームウェアを管理するファームウェア更新モジュールと、情報家電装置と通信して対応するファームウェアを情報家電装置に送信する更新中継モジュールとを設けている。また、更新中継モジュールは、各情報家電装置との通信に用いる、それぞれの通信プロトコルを管理している。そして、更新中継モジュールは、ファームウェア(新バージョン)の送信先の情報家電装置との通信に用いる通信プロトコルを用いて対象の情報家電装置にファームウェアを送信する。このようにすることにより、情報家電装置毎にファームウェア配信用のサーバを設置する必要がなく、運用が簡単であり、システム構築のためのコストも削減できるようになる。
【0092】
更新中継モジュールは、新バージョンのファームウェアの送信先である対象情報家電装置の通信プロトコルを有していない場合、対象情報家電装置のメーカのサイトと通信して、そこから対象の通信プロトコルを取得する。このようにすることにより、構内ネットワークに接続されて間もない情報家電装置のため、その通信プロトコルをゲートウェイ装置が有していなくても(以前にファームウェアを更新したことがない場合でも)、必要な通信プロトコルを取得して対象の情報家電装置と通信を実行することができるため、システム運用に支障を来たすことがなく、有利である。つまり、情報家電装置毎にファームウェア配信サーバを設置する場合には、ファームウェアの更新を実際にサーバが設置されるまで停止しなければならないが、本発明によればそのような不都合は解消できる。
【0093】
新バージョンのファームウェアを受信した情報家電装置は、そのファームウェアを適用して更新処理を実行し、更新処理が成功したか否かを更新中継モジュールに通知する。通知を受けた更新中継モジュールは、(ソフトウェアモジュール受付モジュールを介して)管理サーバに更新処理の結果を通知する。当該結果を受信した管理サーバは、それをGUI上に表示する。このようにすることにより、管理サーバを操作する管理者は、各情報家電装置でのファームウェアの更新状況を一元的に管理することができるようになる。また、更新が適正に行われなかった場合には、その原因を特定して対策を即座に打つことも可能となる。なお、このGUI上では、ファームウェアだけでなく管理サーバからゲートウェイ装置に送信した各ソフトウェアモジュールの動作状況も表示されるため、ファームウェアだけでなく、ゲートウェイ装置全体の状態を容易に管理することが可能となる。
【0094】
本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0095】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【0096】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ(又はCPUやMPU)が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【0097】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウェアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0098】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【0099】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。記述された実施形態の多様な態様及び/又はコンポーネントは、データを管理する機能を有するコンピュータ化ストレージシステムに於いて、単独又は如何なる組み合わせでも使用することが出来る。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【0100】
100・・・情報配信システム(ファームウェア配信システム)
110・・・管理サーバ
120・・・インターネット
130・・・ゲートウェイ装置
140・・・構内ネットワーク
150−1〜150−n・・・情報家電装置
160−1〜160−n・・・メーカサイト
170・・・マッチングサーバ

【特許請求の範囲】
【請求項1】
構内ネットワークを介して接続される情報家電装置に対して、当該情報家電装置で用いられるファームウェアを送信するゲートウェイ装置であって、
複数の情報家電装置それぞれのファームウェアと、前記複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルを格納するメモリと、
前記複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを前記メモリから取得して、当該対象通信プロトコルを用いて、前記対象の情報家電装置に前記ファームウェアを送信するプロセッサと、
を有することを特徴とするゲートウェイ装置。
【請求項2】
請求項1において、
前記プロセッサは、前記対象の情報家電装置の対象通信プロトコルを前記メモリに有しているか判断し、有していない場合には、前記対象の情報家電装置のメーカのサイトから前記対象通信プロトコルを取得することを特徴とするゲートウェイ装置。
【請求項3】
請求項1において、
前記プロセッサは、前記対象の情報家電装置から、前記ファームウェアの適用の成否の結果を受信し、外部ネットワークを介して接続される管理サーバに前記結果を送信することを特徴とするゲートウェイ装置。
【請求項4】
請求項1に記載のゲートウェイ装置と、
前記ゲートウェイ装置と前記構内ネットワークを介して接続される複数の情報家電装置と、
前記ゲートウェイ装置と外部ネットワークを介して接続され、前記ゲートウェイ装置に、前記複数の情報家電装置の少なくとも1つで用いられるファームウェアを送信する管理サーバと、を含み、
前記ゲートウェイ装置は、前記メモリにおいて、前記管理サーバから送信されてきたファームウェアを格納することを特徴するファームウェア配信システム。
【請求項5】
請求項4において、
前記管理サーバは、前記配信したファームウェアを含むソフトウェアモジュールに対する動作命令を前記ゲートウェイ装置に対して送信するためのユーザインタフェースを表示装置に表示し、さらに、前記ゲートウェイ装置から、前記配信したファームウェアを含むソフトウェアモジュールの現時点での状態に関する情報を取得して、当該状態に関する情報を前記ユーザインタフェースに表示することを特徴とするファームウェア配信システム。
【請求項6】
請求項5において、
前記プロセッサは、前記対象の情報家電装置の対象通信プロトコルを前記メモリに有しているか判断し、有していない場合には、前記対象の情報家電装置のメーカのサイトから前記対象通信プロトコルを取得することを特徴とするファームウェア配信システム。
【請求項7】
請求項5において、
前記プロセッサは、前記対象の情報家電装置から、前記ファームウェアの適用の成否の結果を受信し、前記外部ネットワークを介して接続される前記管理サーバに前記結果を送信し、
前記管理サーバは、受信した前記結果を前記ファームウェアの状態に関する情報として前記ユーザインタフェースに表示することを特徴とするファームウェア配信システム。
【請求項8】
管理サーバと、当該管理サーバと外部ネットワークを介して接続されたゲートウェイ装置と、当該ゲートウェイ装置と構内ネットワークを介して接続された複数の情報家電装置と、を含む情報配信システムにおける情報配信方法であって、
前記管理サーバが、前記ゲートウェイ装置に、前記複数の情報家電装置の少なくとも1つで用いられるファームウェアを送信するステップと、
前記ゲートウェイ装置が、前記管理サーバから送信されてきたファームウェアをメモリに格納し、前記複数の情報家電装置それぞれとの通信で用いる複数の通信プロトコルとともに管理するステップと、
前記ゲートウェイ装置が、前記複数の情報家電装置のうち、ファームウェアを送信すべき対象の情報家電装置を特定し、当該対象の情報家電装置で用いられる対象通信プロトコルを前記メモリから取得して、当該対象通信プロトコルを用いて、前記対象の情報家電装置に前記ファームウェアを送信するステップと、
を有することを特徴とする情報配信方法。
【請求項9】
請求項8において、
さらに、前記ゲートウェイ装置が、前記対象の情報家電装置の対象通信プロトコルを前記メモリに有しているか判断し、有していない場合には、前記対象の情報家電装置のメーカのサイトから前記対象通信プロトコルを取得するステップを含むことを特徴とする情報配信方法。
【請求項10】
請求項8において、
さらに、前記ゲートウェイ装置が、前記対象の情報家電装置から、前記ファームウェアの適用の成否の結果を受信し、外部ネットワークを介して接続される管理サーバに前記結果を送信するステップを含むことを特徴とする情報配信方法。
【請求項11】
請求項10において、
さらに、前記管理サーバが、前記配信したファームウェアを含むソフトウェアモジュールに対する動作命令を前記ゲートウェイ装置に対して送信するためのユーザインタフェースを表示装置に表示するステップと、
前記管理サーバが、前記ゲートウェイ装置から、前記配信したファームウェアの現時点での状態に関する情報として、前記結果を前記ユーザインタフェースに表示するステップと、
を含むことを特徴とする情報配信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2013−68987(P2013−68987A)
【公開日】平成25年4月18日(2013.4.18)
【国際特許分類】
【出願番号】特願2011−205169(P2011−205169)
【出願日】平成23年9月20日(2011.9.20)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】