以下に、本発明を実施するための形態について図面を参照して詳細に説明する。なお、図中同一または相当する部分には同じ符号を付す。本実施の形態では、情報家電機器としてテレビおよびレコーダを用いた例について説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るプログラム更新システムの構成例を示す図である。プログラム更新システム100は、ネットワーク制御装置1と、ネットワーク接続装置2と、テレビ3Aおよびレコーダ3B(以下、総称する場合は、情報家電機器3という)と、冷蔵庫5A、空調機5Bおよび炊飯器5C(以下、総称する場合は、家電機器5という)と、で構成される。ネットワーク制御装置1および情報家電機器3は、ネットワーク6に接続する。家電機器5は、ネットワーク接続装置2を介してネットワーク6に接続する。ネットワーク6は、例えば宅内ネットワークなどのローカルエリアネットワークである。
家電機器5は、主機能を動作させる実行プログラムを記憶する。情報家電機器3は、家電機器5の実行プログラムを受信して記憶する。また、情報家電機器3は、放送波受信アンテナ101が受信した放送波からデジタル信号を得る。放送波には家電機器5の更新プログラムが重畳されており、情報家電機器3は、放送波から得たデジタル信号から映像データ、音声データや番組データと、家電機器5の更新プログラムとを抽出する。情報家電機器3は、これらの映像データ、音声データや番組データを用い、自身の主機能を動作させる実行プログラムに従って、主機能を実行する。
ネットワーク制御装置1は、情報家電機器3が取得した更新プログラムの機器種別と同じ機器種別の家電機器5が記憶する実行プログラムの版の情報を受信し、更新プログラムの版と実行プログラムの版とを比較する。更新プログラムの版の方が新しい場合、当該家電機器5をプログラム更新の対象とする。以下、プログラム更新の対象となる家電機器5を対象家電機器という。ネットワーク制御装置1は、対象家電機器が記憶する実行プログラムを情報家電機器3に受信させて記憶させ、対象家電機器と同じ機器種別の更新プログラムを情報家電機器3から対象家電機器に送信させる。実施の形態1では、ネットワーク制御装置1が、本発明のプログラム更新制御装置である。対象家電機器は、情報家電機器3から更新プログラムを受信すると、実行プログラムを更新プログラムに書き換え、書き換えられた更新プログラムを実行プログラムとして動作を開始する。
ネットワーク制御装置1は、更新プログラムに書き換えられた後の対象家電機器の動作を監視し、異常を検知すると、情報家電機器3が記憶する更新前の実行プログラムを、異常を検知した対象家電機器に送信させる。対象家電機器は、情報家電機器3から更新前の実行プログラムを受信すると、更新プログラムを更新前の実行プログラムに書き換え、書き換えられた更新前の実行プログラムで動作を開始する。なお、対象家電機器の動作を監視して異常を検知したときに、情報家電機器3が記憶する更新前の実行プログラムを、異常を検知した対象家電機器に送信するプログラム復旧処理は、プログラム更新システム100とは別のシステムが行ってもよい。
図1の例のように、ネットワーク制御装置1が中継器102を介して、インターネット等の公衆回線からなるクラウド103に接続し、外部のサーバ装置104と通信可能な場合には、サーバ装置104が家電機器5の更新プログラムを記憶しており、ネットワーク制御装置1に配信する構成にしてもよい。この場合、情報家電機器3は、ネットワーク制御装置1を介して家電機器5の更新プログラムを取得する。このとき、情報家電機器3は、ネットワーク制御装置1に配信された更新プログラムがネットワーク6に接続されている家電機器5と同じ機器種別の更新プログラムであるか否かをネットワーク制御装置1に問い合わせ、ネットワーク6に接続された家電機器5と同じ機器種別の更新プログラムのみを取得してもよい。これにより、情報家電機器3のメモリを効率よく使用することができる。
家電機器5は、冷蔵庫5A、空調機5Bおよび炊飯器5Cに限らず、洗濯機、乾燥機、照明、給湯機、食器洗い機、IHクッキングヒーターなど、ネットワーク接続装置2と接続可能で、主機能を動作させる実行プログラムを記憶する家電機器であればよい。図1の例では、家電機器5を3台で記載しているが、家電機器5は1台以上であればよく、ネットワーク接続装置2には2台以上の家電機器5が接続されてもよい。また、図1の例では、情報家電機器3を2台で記載しているが、情報家電機器3は1台以上であればよい。サーバ装置104が家電機器5の更新プログラムをネットワーク制御装置1に配信しない場合は、ネットワーク制御装置1は、中継器102を介してクラウド103に接続しなくてもよい。
図2は、実施の形態1に係るネットワーク制御装置の機能構成例を示す図である。ネットワーク制御装置1は、通信部11と、更新機器特定部12と、プログラム退避部13と、プログラム更新部14と、機器異常検知部15と、プログラム復旧部16とを備える。通信部11はネットワーク6に接続し通信を行う。ネットワーク制御装置1が中継器102を介してクラウド103に接続し、外部のサーバ装置104と通信可能な構成の場合は、通信部11は中継器102に接続し通信を行う。
更新機器特定部12は、通信部11を介して、家電機器5の更新プログラムの有無を情報家電機器3に問い合わせる。情報家電機器3が家電機器5の更新プログラムを記憶している場合、更新機器特定部12は、通信部11を介して、情報家電機器3から更新プログラムの機器種別および版の情報を受信する。更新機器特定部12は、情報家電機器3から更新プログラムの機器種別および版の情報を受信すると、通信部11を介して、更新プログラムの機器種別と同じ機器種別の家電機器5が記憶する実行プログラムの版をネットワーク接続装置2に問い合わせる。更新機器特定部12は、通信部11を介して、ネットワーク接続装置2から、更新プログラムの機器種別と同じ機器種別の家電機器5を識別する識別子と実行プログラムの版の情報を受信する。更新機器特定部12は、情報家電機器3から受信した更新プログラムの版とネットワーク接続装置2から受信した実行プログラムの版とを比較し、更新プログラムの版の方が新しい場合、当該家電機器5を対象家電機器と特定する。
更新機器特定部12によって対象家電機器が特定されると、プログラム退避部13は、通信部11を介して、対象家電機器の実行プログラムを情報家電機器3に受信させて記憶させるプログラム退避指示をネットワーク接続装置2に送信する。プログラム退避指示には、対象家電機器を識別する識別子が含まれる。プログラム更新部14は、通信部11を介して、情報家電機器3への実行プログラムの送信が完了したことを通知するプログラム退避完了通知をネットワーク接続装置2から受信すると、通信部11を介して、対象家電機器と同じ機器種別の更新プログラムを対象家電機器に送信させるプログラム更新指示を情報家電機器3に送信する。プログラム更新指示には、対象家電機器を識別する識別子が含まれる。
機器異常検知部15は、通信部11を介して、更新プログラムの送信が完了したことを通知するプログラム更新完了通知を情報家電機器3から受信すると、通信部11を介して、更新プログラムに書き換えられた後の対象家電機器の動作を監視する。機器異常検知部15が対象家電機器の異常を検知すると、プログラム復旧部16は、通信部11を介して、情報家電機器3が記憶する更新前の実行プログラムを対象家電機器に送信させるプログラム復旧指示を情報家電機器3に送信する。プログラム復旧指示には、異常を検知した対象家電機器を識別する識別子が含まれる。機器異常検知部15は、通信部11を介して、実行プログラムの復旧が完了したことを通知するプログラム復旧完了通知を情報家電機器3から受信すると、対象家電機器の動作の監視を停止する。また、機器異常検知部15は、更新プログラムに書き換えられた後の対象家電機器の異常を検知しないまま決められた時間が経過すると、実行プログラムの更新が成功したと判断し、対象家電機器の動作の監視を停止する。あるいは、機器異常検知部15は、常時、家電機器5の動作を監視していてもよい。プログラム復旧処理をプログラム更新システム100とは別のシステムが行う場合には、ネットワーク制御装置1は機器異常検知部15およびプログラム復旧部16を備えなくてよい。
図3は、実施の形態1に係るネットワーク接続装置の機能構成例を示す図である。ネットワーク接続装置2は、ネットワーク通信部21と、家電機器通信部22と、データ書込制御部23と、データ読出制御部24と、データ格納部25とを備える。ネットワーク通信部21はネットワーク6に接続し通信を行う。家電機器通信部22は、家電機器5と接続し、通信を行う。ネットワーク接続装置2が家電機器5に接続されると、まず、データ書込制御部23は、家電機器5から識別子の情報を受信し、当該識別子に対応付けられた機器種別と実行プログラムの版とを示す家電機器情報がデータ格納部25にあるか否かを判定する。接続された家電機器5の家電機器情報がデータ格納部25にない場合には、家電機器通信部22を介して、接続された家電機器5に機器種別と実行プログラムの版とを要求する。データ書込制御部23は、家電機器通信部22を介して、接続された家電機器5から機器種別と実行プログラムの版の情報を受け取ると、当該家電機器5の識別子に対応付けて家電機器情報としてデータ格納部25に書き込む。
データ読出制御部24は、ネットワーク通信部21を介して、ネットワーク制御装置1から、更新プログラムの機器種別と同じ機器種別の家電機器5の実行プログラムの版の問い合わせを受信すると、データ格納部25が記憶する家電機器情報を参照し、更新プログラムの機器種別と同じ機器種別の家電機器5があるか否かを判定する。同じ機器種別の家電機器5がある場合、データ読出制御部24は、データ格納部25が記憶する家電機器情報から当該家電機器5の実行プログラムの版の情報を読み出し、ネットワーク通信部21を介して、当該家電機器5の識別子と共にネットワーク制御装置1に送信する。
データ読出制御部24は、ネットワーク通信部21を介して、ネットワーク制御装置1からプログラム退避指示を受信すると、プログラム退避指示に含まれる対象家電機器の識別子とデータ格納部25が記憶する家電機器情報に含まれる識別子とを照合し、対象家電機器と接続されているか否かを判定する。対象家電機器と接続されている場合には、データ読出制御部24は、家電機器通信部22を介して、対象家電機器に実行プログラムを要求する。データ書込制御部23は、対象家電機器から実行プログラムを受け取るごとに、データ格納部25に一時記憶する。データ読出制御部24は、データ格納部25に一時記憶された対象家電機器の実行プログラムを読み出し、ネットワーク通信部21を介して、情報家電機器3に送信する。データ読出制御部24は、すべての実行プログラムを情報家電機器3に送信したら、ネットワーク通信部21を介して、ネットワーク制御装置1にプログラム退避完了通知を送信する。
データ書込制御部23は、ネットワーク通信部21を介して、情報家電機器3から更新プログラムを受信すると、更新プログラムに対応付けられた対象家電機器の識別子とデータ格納部25が記憶する家電機器情報に含まれる識別子とを照合し、対象家電機器と接続されているか否かを判定する。対象家電機器と接続されている場合には、データ書込制御部23は、情報家電機器3から受信した更新プログラムをデータ格納部25に一時記憶する。データ読出制御部24は、データ格納部25に一時記憶された家電機器5の更新プログラムを読み出し、家電機器通信部22を介して、対象家電機器に渡す。
図4は、実施の形態1に係る家電機器の機能構成例を示す図である。家電機器5は、家電制御部51と、書込制御部52と、プログラム記憶部53と、読出制御部54とを備える。家電制御部51は、ネットワーク接続装置2との間のインターフェースとしての機能を有する。また、家電制御部51は、読出制御部54がプログラム記憶部53から読み出した実行プログラムに従って、家電機器5の主機能を実行する。読出制御部54は、家電制御部51を介して、ネットワーク接続装置2から実行プログラムを要求されると、プログラム記憶部53から実行プログラムを読み出して、家電制御部51を介して、ネットワーク接続装置2に渡す。書込制御部52は、家電制御部51を介して、ネットワーク接続装置2から受け取った更新プログラムをプログラム記憶部53に書き込んで、実行プログラムを更新プログラムに書き換える制御を行う。家電制御部51は、書込制御部52によって、プログラム記憶部53が記憶する実行プログラムが更新プログラムに書き換えられると、実行プログラムのリセットを行い、書き換えられた更新プログラムを実行プログラムとして動作を開始する。
図5は、実施の形態1に係る情報家電機器の機能構成例を示す図である。情報家電機器3は、ネットワーク通信部31と、放送波受信部32と、分離部33と、書込制御部34と、記憶部35と、プログラム読出制御部36と、情報家電制御部37とを備える。ネットワーク通信部31はネットワーク6に接続し通信を行う。放送波受信部32は、放送波受信アンテナ101が受信した放送波からデジタル信号を得る。分離部33は、放送波受信部32が取得したデジタル信号から映像データ、音声データや番組データと、家電機器5の更新プログラムとを抽出する。書込制御部34は、分離部33が抽出した各種データと家電機器5の更新プログラムとを記憶部35に書き込む制御を行う。また、記憶部35は、情報家電機器3の主機能を動作させる実行プログラムを記憶する。なお、放送波には情報家電機器3の更新プログラムも重畳されており、分離部33は、放送波から得たデジタル信号から、さらに情報家電機器3の更新プログラムを抽出する構成にしてもよい。この場合、書込制御部34は、分離部33が抽出した情報家電機器3の更新プログラムをさらに記憶部35に書き込んで、情報家電機器3の実行プログラムを更新プログラムに書き換える制御を行う。
プログラム読出制御部36は、ネットワーク通信部31を介して、ネットワーク制御装置1から家電機器5の更新プログラムの有無の問い合わせを受信すると、記憶部35に家電機器5の更新プログラムがあるか否かを判定する。ある場合には、プログラム読出制御部36は、記憶部35から家電機器5の更新プログラムの機器種別および版の情報を読み出し、ネットワーク通信部31を介して、ネットワーク制御装置1に送信する。ない場合には、プログラム読出制御部36は、ネットワーク通信部31を介して、家電機器5の更新プログラムがない通知をネットワーク制御装置1に送信する。書込制御部34は、ネットワーク通信部31を介して、ネットワーク接続装置2から対象家電機器の実行プログラムを受信すると記憶部35に書き込む。ネットワーク通信部31および書込制御部34は、本発明の実行プログラム受信部である。
プログラム読出制御部36は、ネットワーク通信部31を介して、ネットワーク制御装置1からプログラム更新指示を受信すると、記憶部35から対象家電機器と同じ機器種別の更新プログラムを読み出して対象家電機器の識別子を対応付け、ネットワーク通信部31を介して、ネットワーク接続装置2に送信する。プログラム読出制御部36は、すべての更新プログラムをネットワーク接続装置2に送信したら、ネットワーク通信部31を介して、ネットワーク制御装置1にプログラム更新完了通知を送信する。また、プログラム読出制御部36は、記憶部35からネットワーク接続装置2に送信完了した更新プログラムを削除する。ネットワーク通信部31およびプログラム読出制御部36は、本発明の更新プログラム送信部である。
プログラム読出制御部36は、ネットワーク通信部31を介して、ネットワーク制御装置1からプログラム復旧指示を受信すると、記憶部35から異常を検知した対象家電機器の更新前の実行プログラムを読み出し、ネットワーク通信部31を介して、ネットワーク接続装置2に送信する。プログラム読出制御部36は、更新前のすべての実行プログラムをネットワーク接続装置2に送信したら、ネットワーク通信部31を介して、ネットワーク制御装置1にプログラム復旧完了通知を送信する。ネットワーク通信部31およびプログラム読出制御部36は、本発明の実行プログラム送信部である。また、情報家電制御部37は、プログラム読出制御部36が記憶部35から読み出した情報家電機器3の主機能の実行プログラムや映像データ、音声データ、番組データなどに基づいて、情報家電機器3の主機能を実行する。なお、情報家電機器3の主機能の実行プログラムは記憶部35ではなく外部のサーバ装置などから取得してもよい。
ネットワーク通信部31、放送波受信部32、分離部33および書込制御部34が実行する、家電機器5の実行プログラムを受信して記憶部35に記憶させ、かつ、家電機器5の更新プログラムを取得する機能は、情報家電機器3の副機能である。ネットワーク通信部31およびプログラム読出制御部36が実行する、同じ機器種別の家電機器5に更新プログラムを送信する機能や、異常を検知した対象家電機器の更新前の実行プログラムを送信する機能は、副機能に関係する機能である。放送波受信部32、分離部33、プログラム読出制御部36、情報家電制御部37が実行する情報家電機器3の主機能は、副機能とは無関係である。
図6は、実施の形態1に係るネットワーク制御装置の動作の一例を示すフローチャートである。ネットワーク制御装置1が起動すると処理を開始する。ネットワーク制御装置1の更新機器特定部12は、通信部11を介して、家電機器5の更新プログラムの有無を情報家電機器3に問い合わせる(ステップS11)。通信部11を介して、情報家電機器3から家電機器5の更新プログラムがない通知を受信した場合(ステップS12;YES)、処理はステップS24に移行する。情報家電機器3から家電機器5の更新プログラムがない通知を受信しない場合(ステップS12;NO)、更新機器特定部12は、通信部11を介して、情報家電機器3から家電機器5の更新プログラムの機器種別および版の情報を受信する(ステップS13)。更新機器特定部12は、通信部11を介して、更新プログラムの機器種別と同じ機器種別の家電機器5が記憶する実行プログラムの版をネットワーク接続装置2に問い合わせる(ステップS14)。通信部11を介して、ネットワーク接続装置2から、更新プログラムの機器種別と同じ機器種別の家電機器5を識別する識別子と実行プログラムの版の情報を受信すると(ステップS15)、更新機器特定部12は、情報家電機器3から受信した家電機器5の更新プログラムの版と、ネットワーク接続装置2から受信した実行プログラムの版とを比較し、対象家電機器があるか否かを判定する(ステップS16)。
対象家電機器がない場合(ステップS16;NO)、処理はステップS24に移行する。対象家電機器がある場合(ステップS16;YES)、プログラム退避部13は、通信部11を介して、対象家電機器の実行プログラムを情報家電機器3に受信させて記憶させるプログラム退避指示をネットワーク接続装置2に送信する(ステップS17)。プログラム更新部14は、情報家電機器3への実行プログラムの送信が完了したことを通知するプログラム退避完了通知をネットワーク接続装置2から受信しない場合(ステップS18;NO)、ステップS18を繰り返して、プログラム退避完了通知を待機する。プログラム更新部14は、通信部11を介して、プログラム退避完了通知をネットワーク接続装置2から受信すると(ステップS18;YES)、通信部11を介して、対象家電機器と同じ機器種別の更新プログラムを対象家電機器に送信させるプログラム更新指示を情報家電機器3に送信する(ステップS19)。機器異常検知部15は、更新プログラムの送信が完了したことを通知するプログラム更新完了通知を情報家電機器3から受信しない場合(ステップS20;NO)、ステップS20を繰り返して、プログラム更新完了通知を待機する。機器異常検知部15は、通信部11を介して、プログラム更新完了通知を情報家電機器3から受信すると(ステップS20;YES)、通信部11を介して、更新プログラムに書き換えられた後の対象家電機器の動作を監視する。
機器異常検知部15が決められた時間以内に対象家電機器の異常を検知しない場合(ステップS21;NO)、処理はステップS24に移行する。機器異常検知部15が決められた時間以内に対象家電機器の異常を検知すると(ステップS21;YES)、プログラム復旧部16は、通信部11を介して、情報家電機器3が記憶する更新前の実行プログラムを対象家電機器に送信させるプログラム復旧指示を情報家電機器3に送信する(ステップS22)。機器異常検知部15は、実行プログラムの復旧が完了したことを通知するプログラム復旧完了通知を情報家電機器3から受信しない場合(ステップS23;NO)、ステップS23を繰り返して、プログラム復旧完了通知を待機する。機器異常検知部15は、通信部11を介して、プログラム復旧完了通知を情報家電機器3から受信すると(ステップS23;YES)、対象家電機器の動作の監視を停止する。ネットワーク制御装置1の電源がOFFになっていなければ(ステップS24;NO)、処理はステップS11に戻り、ステップS11〜ステップS24を繰り返す。ネットワーク制御装置1の電源がOFFになると(ステップS24;YES)、処理を終了する。プログラム復旧処理をプログラム更新システム100とは別のシステムが行う場合には、ネットワーク制御装置1はステップS21〜ステップS23を実行しなくてよい。
図7は、実施の形態1に係る情報家電機器の動作の一例を示すフローチャートである。情報家電機器3が起動すると処理を開始する。情報家電機器3のプログラム読出制御部36は、ネットワーク制御装置1から家電機器5の更新プログラムの有無の問い合わせを受信しない場合(ステップS31;NO)、ステップS31を繰り返して、更新プログラムの有無の問い合わせを待機する。プログラム読出制御部36は、ネットワーク通信部31を介して、ネットワーク制御装置1から家電機器5の更新プログラムの有無の問い合わせを受信すると(ステップS31;YES)、記憶部35に家電機器5の更新プログラムがあるか否かを判定する(ステップS32)。ない場合には(ステップS32;NO)、プログラム読出制御部36は、ネットワーク通信部31を介して、家電機器5の更新プログラムがない通知をネットワーク制御装置1に送信して(ステップS33)、ステップS45に移行する。ある場合には(ステップS32;YES)、プログラム読出制御部36は、記憶部35から家電機器5の更新プログラムの機器種別および版の情報を読み出し、ネットワーク通信部31を介して、ネットワーク制御装置1に送信する(ステップS34)。
書込制御部34は、ネットワーク接続装置2から対象家電機器の実行プログラムを受信しない場合(ステップS35;NO)、ステップS35を繰り返して、対象家電機器の実行プログラムを待機する。書込制御部34は、ネットワーク通信部31を介して、ネットワーク接続装置2から対象家電機器の実行プログラムを受信すると(ステップS35;YES)、記憶部35に書き込む(ステップS36)。プログラム読出制御部36は、ネットワーク制御装置1からプログラム更新指示を受信しない場合(ステップS37;NO)、ステップS37を繰り返して、プログラム更新指示を待機する。プログラム読出制御部36は、ネットワーク通信部31を介して、ネットワーク制御装置1からプログラム更新指示を受信すると(ステップS37;YES)、記憶部35から対象家電機器と同じ機器種別の更新プログラムを読み出し、ネットワーク通信部21を介して、ネットワーク接続装置2に送信する(ステップS38)。プログラム読出制御部36は、更新プログラムの送信が完了していない場合(ステップS39;NO)、ステップS38およびステップS39を繰り返す。プログラム読出制御部36は、更新プログラムの送信が完了すると(ステップS39;YES)、ネットワーク通信部31を介して、ネットワーク制御装置1にプログラム更新完了通知を送信する(ステップS40)。このとき、プログラム読出制御部36は、記憶部35からネットワーク接続装置2に送信完了した更新プログラムを削除する。
プログラム読出制御部36が、決められた時間以内にネットワーク制御装置1からプログラム復旧指示を受信しない場合(ステップS41;NO)、処理はステップS45に移行する。プログラム読出制御部36は、ネットワーク通信部31を介して、決められた時間以内にネットワーク制御装置1からプログラム復旧指示を受信すると(ステップS41;YES)、記憶部35から異常を検知した対象家電機器の更新前の実行プログラムを読み出し、ネットワーク通信部31を介して、対象家電機器に送信する(ステップS42)。プログラム読出制御部36は、更新前の実行プログラムの送信が完了していない場合(ステップS43;NO)、ステップS42およびステップS43を繰り返す。プログラム読出制御部36は、更新プログラムの送信が完了すると(ステップS43;YES)、ネットワーク通信部31を介して、ネットワーク制御装置1にプログラム復旧完了通知を送信する(ステップS44)。情報家電機器3の電源がOFFになっていなければ(ステップS45;NO)、処理はステップS31に戻り、ステップS31〜ステップS45を繰り返す。ネットワーク制御装置1の電源がOFFになると(ステップS45;YES)、処理を終了する。プログラム復旧処理をプログラム更新システム100とは別のシステムが行う場合には、情報家電機器3は、ステップS41〜ステップS44を実行しなくてもよい。プログラム読出制御部36が記憶部35から対象家電機器に送信完了した更新プログラムを削除するのは、ネットワーク制御装置1からプログラム復旧指示を受信しなかったとき(ステップS41;NO)でもよい。
図8は、実施の形態1に係るネットワーク接続装置の家電機器への接続時の動作の一例を示すフローチャートである。ネットワーク接続装置2が家電機器5に接続されると開始する。データ書込制御部23は、家電機器通信部22を介して、家電機器5から識別子の情報を受け取る(ステップS51)。データ書込制御部23は、受け取った識別子に対応付けられた機器種別と実行プログラムの版とを示す家電機器情報がデータ格納部25にあるか否かを判定する(ステップS52)。家電機器情報がデータ格納部25にある場合には(ステップS52;YES)、処理を終了する。家電機器情報がデータ格納部25にない場合には(ステップS52;NO)、家電機器通信部22を介して、接続された家電機器5に機器種別と実行プログラムの版とを要求する(ステップS53)。データ書込制御部23は、接続された家電機器5から機器種別と実行プログラムの版の情報を受け取らない場合(ステップS54;NO)、ステップS54を繰り返して、家電機器5の機器種別と実行プログラムの版の情報を待機する。データ書込制御部23は、家電機器通信部22を介して、接続された家電機器5から機器種別と実行プログラムの版の情報を受け取ると(ステップS54;YES)、当該家電機器5の識別子に対応付けて家電機器情報としてデータ格納部25に書き込み(ステップS55)、処理を終了する。
ネットワーク制御装置1は、ネットワーク接続装置2に更新プログラムの機器種別と同じ機器種別の家電機器5が記憶する実行プログラムの版を問い合わせる際、すべてのネットワーク接続装置2に問い合わせのコマンドを送信する。
図9は、実施の形態1に係るネットワーク制御装置から送信されるコマンドの一例を示す図である。ネットワーク制御装置1から送信されるコマンドは、コマンドの内容を示す命令情報(例えば、更新プログラムの機器種別と同じ機器種別の家電機器5の実行プログラムの版の問い合わせや、プログラム退避指示)、および、命令の対象となる家電機器5を識別する識別情報(例えば、機器種別や識別子)で構成される。ネットワーク接続装置2は、ネットワーク制御装置1から受信した問い合わせ(指示)のコマンドに含まれる識別情報を参照し、自身が接続している家電機器5に対する問い合わせ(指示)か否かを判断する。
図10は、実施の形態1に係るネットワーク接続装置の動作の一例を示すフローチャートである。家電機器5が接続されたネットワーク接続装置2が起動すると処理を開始する。ネットワーク接続装置2のデータ読出制御部24は、ネットワーク制御装置1から、更新プログラムの機器種別と同じ機器種別の家電機器5の実行プログラムの版の問い合わせを受信しない場合(ステップS61;NO)、ステップS61を繰り返して、実行プログラムの版の問い合わせを待機する。データ読出制御部24は、ネットワーク通信部21を介して、ネットワーク制御装置1から、更新プログラムの機器種別と同じ機器種別の家電機器5の実行プログラムの版の問い合わせを受信すると(ステップS61;YES)、問い合わせのコマンドに含まれる識別情報が示す機器種別と、データ格納部25が記憶する家電機器情報の機器種別と照合し、機器種別が一致するか否かを判定する(ステップS62)。機器種別が一致しない場合(ステップS62;NO)、処理はステップS64に移行する。機器種別が一致する場合(ステップS62;YES)、データ読出制御部24は、データ格納部25が記憶する家電機器情報から機器種別が一致した家電機器5の実行プログラムの版の情報を読み出しネットワーク通信部21を介して、当該家電機器5の識別子と実行プログラムの版の情報をネットワーク制御装置1に送信する(ステップS63)。
データ読出制御部24は、ネットワーク制御装置1からプログラム退避指示を受信しない場合(ステップS64;NO)、ステップS64を繰り返して、プログラム退避指示を待機する。データ読出制御部24は、ネットワーク通信部21を介して、ネットワーク制御装置1からプログラム退避指示を受信すると(ステップS64;YES)、プログラム退避指示に含まれる対象家電機器の識別子とデータ格納部25が記憶する家電機器情報に含まれる識別子とを照合し、対象家電機器と接続されているか否かを判定する(ステップS65)。対象家電機器と接続されていない場合(ステップS65;NO)、処理はステップS71に移行する。対象家電機器と接続されている場合(ステップS65;YES)、データ読出制御部24は、家電機器通信部22を介して、対象家電機器に実行プログラムを要求する(ステップS66)。
データ書込制御部23は、対象家電機器から実行プログラムを受け取ると(ステップS67)、データ格納部25に一時記憶する。データ読出制御部24は、データ格納部25に一時記憶された対象家電機器の実行プログラムを読み出し、ネットワーク通信部21を介して、情報家電機器3に送信する(ステップS68)。実行プログラムの送信が完了していない場合(ステップS69;NO)、データ書込制御部23およびデータ読出制御部24は、ステップS67〜ステップS69を繰り返す。データ読出制御部24は、すべての実行プログラムを情報家電機器3に送信し、実行プログラムの送信が完了したら(ステップS69;YES)、ネットワーク通信部21を介して、ネットワーク制御装置1にプログラム退避完了通知を送信する(ステップS70)。
データ書込制御部23は、情報家電機器3から更新プログラムを受信しない場合(ステップS71;NO)、ステップS71を繰り返して、更新プログラムを待機する。データ書込制御部23は、ネットワーク通信部21を介して、情報家電機器3から更新プログラムを受信すると(ステップS71;YES)、更新プログラムに対応付けられた対象家電機器の識別子とデータ格納部25が記憶する家電機器情報に含まれる識別子とを照合し、対象家電機器と接続されているか否かを判定する(ステップS72)。対象家電機器と接続されていない場合(ステップS72;NO)、処理はステップS75に移行する。対象家電機器と接続されている場合(ステップS72;YES)、データ書込制御部23は、情報家電機器3から受信した更新プログラムをデータ格納部25に一時記憶する。
データ読出制御部24は、データ格納部25に一時記憶された家電機器5の更新プログラムを読み出し、家電機器通信部22を介して、対象家電機器に渡す(ステップS73)。更新プログラムの引渡が完了していない場合(ステップS74;NO)、データ書込制御部23およびデータ読出制御部24は、ステップS71〜ステップS74を繰り返す。データ読出制御部24がすべての更新プログラムを対象家電機器に渡し、更新プログラムの引渡が完了すると(ステップS74;YES)、ネットワーク接続装置2の電源がOFFになっていなければ(ステップS75;NO)、処理はステップS61に戻り、ステップS61〜ステップS75を繰り返す。ネットワーク制御装置1の電源がOFFになると(ステップS75;YES)、処理を終了する。
図11は、実施の形態1に係る家電機器の動作の一例を示すフローチャートである。家電機器5が起動すると処理を開始する。家電機器5の読出制御部54は、ネットワーク接続装置2から実行プログラムを要求されない場合(ステップS81;NO)、ステップS81を繰り返して実行プログラムの要求を待機する。読出制御部54は、家電制御部51を介して、ネットワーク接続装置2から実行プログラムを要求されると(ステップS81;YES)、プログラム記憶部53から実行プログラムを読み出して、家電制御部51を介して、ネットワーク接続装置2に渡す(ステップS82)。読出制御部54は、実行プログラムの引渡が完了していない場合(ステップS83;NO)、ステップS82およびステップS83を繰り返す。読出制御部54がすべての実行プログラムをネットワーク接続装置2に渡し、実行プログラムの引渡が完了すると(ステップS83;YES)、書込制御部52は、ネットワーク接続装置2から更新プログラムを受信しない場合(ステップS84;NO)、ステップS84を繰り返して、更新プログラムを待機する。
書込制御部52は、ネットワーク通信部21を介して、ネットワーク接続装置2から更新プログラムを受け取ると(ステップS84;YES)、受け取った更新プログラムをプログラム記憶部53に書き込む(ステップS85)。書込制御部52は、更新プログラムへの書換が完了していない場合(ステップS86;NO)、ステップS84〜ステップS86を繰り返す。書込制御部52がすべての更新プログラムをプログラム記憶部53に書き込み、更新プログラムへの書換が完了すると(ステップS86;YES)、家電制御部51は、実行プログラムのリセットを行い(ステップS87)、書き換えられた更新プログラムを実行プログラムとして動作を開始する(ステップS88)。家電機器5の電源がOFFになっていなければ(ステップS89;NO)、処理はステップS81に戻り、ステップS81〜ステップS89を繰り返す。ネットワーク制御装置1の電源がOFFになると(ステップS89;YES)、処理を終了する。
以上説明したように実施の形態1のプログラム更新システム100によれば、家電機器5の実行プログラムを受信して記憶し、かつ、家電機器5の更新プログラムを取得する副機能、ならびに、副機能とは無関係な主機能を有する情報家電機器3を用いて家電機器5のプログラム更新を行うことで、家電機器5にバックアップのためのプログラム領域が不要となり、ネットワーク6上にプログラムが正常に更新された同じ機器種別の装置がなくても、製品のコストアップをせずに、家電機器5のプログラム更新が可能になる。
また、プログラム更新システム100では、実行プログラムを更新する前に家電機器5の更新前の実行プログラムを情報家電機3に記憶させるように構成したので、万が一、更新に失敗したとしても元の実行プログラムに戻して復旧することができる。プログラム更新システム100では、家電機器5の更新プログラムおよび更新前の家電機器5の実行プログラムを情報家電機器3で一元管理することができる。
(実施の形態2)
図12は、本発明の実施の形態2に係るネットワーク制御装置の機能構成例を示す図である。実施の形態2のプログラム更新システムは、実施の形態1のプログラム更新システム100と同様の構成である。実施の形態2のネットワーク制御装置1は、更新機器特定部12およびプログラム退避部13を備えず、プログラム更新部14が通信部11を介して、家電機器5の更新プログラムの有無を情報家電機器3に問い合わせる。情報家電機器3が家電機器5の更新プログラムを記憶している場合、プログラム更新部14は、通信部11を介して、情報家電機器3から更新プログラムの機器種別および版の情報を受信する。プログラム更新部14は、情報家電機器3から更新プログラムの機器種別および版の情報を受信すると、ネットワーク接続装置2に実行プログラムの更新の要否を問い合わせる。更新の要否の問い合わせには、更新プログラムの機器種別および版の情報が含まれる。プログラム更新部14は、更新必要の通知を受信した場合、ネットワーク接続装置2からのプログラム退避完了通知を待機する。更新必要の通知には、対象家電機器を識別する識別子が含まれる。プログラム更新部14は、通信部11を介して、ネットワーク接続装置2からプログラム退避完了通知を受信すると、情報家電機器3にプログラム更新指示を送信する。プログラム更新指示には、対象家電機器を識別する識別子が含まれる。
図13は、実施の形態2に係るネットワーク接続装置の機能構成例を示す図である。ネットワーク接続装置2は、ネットワーク通信部21と、家電機器通信部22と、データ書込制御部23と、データ読出制御部24と、データ格納部25とに加え、更新機器特定部26を備える。更新機器特定部26は、ネットワーク通信部21を介して、ネットワーク制御装置1から、更新の要否の問い合わせを受信すると、データ格納部25が記憶する家電機器情報の機器種別と、更新の要否の問い合わせに含まれる更新プログラムの機器種別とを照合し、機器種別が一致するか否かを判定する。機器種別が一致する場合、更新機器特定部26は、データ格納部25が記憶する家電機器情報から機器種別が一致する家電機器5の実行プログラムの版の情報を読み出し、更新の要否の問い合わせに含まれる更新プログラムの版と比較する。更新プログラムの版の方が古いまたは版が同じ場合、更新機器特定部26は、更新不要と判定し、更新不要の通知をネットワーク制御装置1に送信する。更新プログラムの版の方が新しい場合、更新機器特定部26は、更新必要と判定し、当該家電機器5を対象家電機器と特定する。更新機器特定部26は、ネットワーク通信部21を介して、対象家電機器を識別する識別子を含む更新必要の通知をネットワーク制御装置1に送信する。
更新機器特定部26が対象家電機器を特定すると、データ読出制御部24は、家電機器通信部22を介して、対象家電機器に実行プログラムを要求する。データ書込制御部23は、対象家電機器から実行プログラムを受け取るごとに、データ格納部25に一時記憶する。データ読出制御部24は、データ格納部25に一時記憶された対象家電機器の実行プログラムを読み出し、ネットワーク通信部21を介して、情報家電機器3に送信する。データ読出制御部24は、すべての実行プログラムを情報家電機器3に送信したら、ネットワーク通信部21を介して、ネットワーク制御装置1にプログラム退避完了通知を送信する。データ書込制御部23およびデータ読出制御部24は、本発明のプログラム退避部である。
データ書込制御部23は、ネットワーク通信部21を介して、情報家電機器3から更新プログラムを受信すると、更新プログラムに対応付けられた対象家電機器の識別子とデータ格納部25が記憶する家電機器情報に含まれる識別子とを照合し、対象家電機器と接続されているか否かを判定する。対象家電機器と接続されている場合には、データ書込制御部23は、情報家電機器3から受信した更新プログラムをデータ格納部25に一時記憶する。データ読出制御部24は、データ格納部25に一時記憶された家電機器5の更新プログラムを読み出し、家電機器通信部22を介して、対象家電機器に渡す。実施の形態2では、ネットワーク制御装置1およびネットワーク接続装置2が、本発明のプログラム更新制御装置である。
図14は、実施の形態2に係るネットワーク制御装置の動作の一例を示すフローチャートである。ネットワーク制御装置1が起動すると処理を開始する。ネットワーク制御装置1のプログラム更新部14は、通信部11を介して、家電機器5の更新プログラムの有無を情報家電機器3に問い合わせる(ステップS91)。通信部11を介して、情報家電機器3から家電機器5の更新プログラムがない通知を受信した場合(ステップS92;YES)、処理はステップS102に移行する。情報家電機器3から家電機器5の更新プログラムがない通知を受信しない場合(ステップS92;NO)、プログラム更新部14は、通信部11を介して、情報家電機器3から家電機器5の更新プログラムの機器種別および版の情報を受信する(ステップS93)。プログラム更新部14は、通信部11を介して、ネットワーク接続装置2に実行プログラムの更新の要否を問い合わせる(ステップS94)。更新不要の通知を受信した場合(ステップS95;NO)、処理はステップS102に移行する。更新必要の通知を受信すると(ステップS95;YES)、ネットワーク接続装置2からプログラム退避完了通知を受信しない場合(ステップS96;NO)、ステップS96を繰り返して、プログラム退避完了通知を待機する。ステップS96〜ステップS101は、図6に示すフローチャートのステップS18〜ステップS23と同様である。ネットワーク制御装置1の電源がOFFになっていなければ(ステップS102;NO)、処理はステップS91に戻り、ステップS91〜ステップS102を繰り返す。ネットワーク制御装置1の電源がOFFになると(ステップS102;YES)、処理を終了する。
図15は、実施の形態2に係るネットワーク制御装置から送信されるコマンドの一例を示す図である。ネットワーク制御装置1から送信されるコマンドは、コマンドの内容を示す命令情報(例えば、実行プログラムの更新の要否の問い合わせ)、命令の対象となる家電機器5を識別する識別情報(例えば、機器種別)、および、付加情報(例えば、更新プログラムの機器種別と版)で構成される。ネットワーク接続装置2は、ネットワーク制御装置1から受信した問い合わせのコマンドに含まれる識別情報を参照し、自身が接続している家電機器5に対する問い合わせか否かを判断する。
図16は、実施の形態2に係るネットワーク接続装置の動作の一例を示すフローチャートである。家電機器5が接続されたネットワーク接続装置2が起動すると処理を開始する。ネットワーク接続装置2の更新機器特定部26は、ネットワーク制御装置1から、更新の要否の問い合わせを受信しない場合(ステップS111;NO)、ステップS111を繰り返して、更新の要否の問い合わせを待機する。更新機器特定部26は、ネットワーク通信部21を介して、ネットワーク制御装置1から、更新の要否の問い合わせを受信すると(ステップS111;YES)、問い合わせのコマンドに含まれる識別情報が示す機器種別と、データ格納部25が記憶する家電機器情報の機器種別と照合し、機器種別が一致するか否かを判定する(ステップS112)。機器種別が一致しない場合(ステップS112;NO)、処理はステップS121に移行する。機器種別が一致する場合(ステップS112;YES)、更新機器特定部26は、データ格納部25が記憶する家電機器情報から機器種別が一致する家電機器5の実行プログラムの版の情報を読み出し、更新の要否の問い合わせに含まれる更新プログラムの版と比較する。
更新プログラムの版の方が古いまたは版が同じ場合、更新機器特定部26は、更新が不要と判定して(ステップS113;NO)、更新不要の通知をネットワーク制御装置1に送信し(ステップS114)処理はステップS121に移行する。更新プログラムの版の方が新しい場合、更新機器特定部26は、更新必要と判定し(ステップS113;YES)、当該家電機器5を対象家電機器と特定する。更新機器特定部26は、ネットワーク通信部21を介して、対象家電機器を識別する識別子を含む更新必要の通知をネットワーク制御装置1に送信する(ステップS115)。ステップS116〜ステップS124は、図10に示すフローチャートのステップS66〜ステップS74と同様である。ネットワーク接続装置2の電源がOFFになっていなければ(ステップS125;NO)、処理はステップS111に戻り、ステップS111〜ステップS125を繰り返す。ネットワーク接続装置2の電源がOFFになると(ステップS125;YES)、処理を終了する。
本実施の形態では、本発明のプログラム更新制御装置の機能をネットワーク制御装置1およびネットワーク接続装置2が分担するが、ネットワーク接続装置2がプログラム更新制御装置のすべての機能を備えてもよい。この場合、ネットワーク接続装置2は、ネットワーク通信部21と、家電機器通信部22と、データ書込制御部23と、データ読出制御部24と、データ格納部25と、更新機器特定部26とに加え、ネットワーク制御装置1のプログラム更新部14に相当する機能構成を有する。ネットワーク接続装置2は、さらに、ネットワーク制御装置1の機器異常検知部15およびプログラム復旧部16に相当する機能構成を有してもよい。あるいは、ネットワーク制御装置1および情報家電機器3の両方がプログラム更新制御装置のすべての機能を備えてもよい。
以上説明したように実施の形態2のプログラム更新システムによれば、ネットワーク制御装置1の一部の機能をネットワーク接続装置2が備えることにより、ネットワーク制御装置1の負荷を分散することができる。ネットワーク制御装置1のすべての機能をネットワーク接続装置2が備える場合には、ネットワーク制御装置1が不要となり、省スペース化とコストの低減ができる。ネットワーク接続装置2がネットワーク制御装置1と同じ機能をすべて備える場合には、ネットワーク制御装置1が故障しても家電機器5の実行プログラムの更新が実施できる。
(実施の形態3)
図17は、本発明の実施の形態3に係るプログラム更新システムの構成例を示す図である。実施の形態3のプログラム更新システム200は、実施の形態1のプログラム更新システム100の構成要素のうち、ネットワーク制御装置1を含まない。
図18は、実施の形態3に係る情報家電機器の機能構成例を示す図である。情報家電機器3は、ネットワーク通信部31と、放送波受信部32と、分離部33と、書込制御部34と、記憶部35と、プログラム読出制御部36と、情報家電制御部37とに加え、更新機器特定部38と、プログラム退避部39と、プログラム更新部40と、機器異常検知部41と、プログラム復旧部42とを備える。更新機器特定部38と、プログラム退避部39と、プログラム更新部40と、機器異常検知部41と、プログラム復旧部42とは、ネットワーク制御装置1の更新機器特定部12と、プログラム退避部13と、プログラム更新部14と、機器異常検知部15と、プログラム復旧部16とに相当する。
図19は、実施の形態3に係る情報家電機器の動作の一例を示すフローチャートである。情報家電機器3が起動すると処理を開始する。情報家電機器3の書込制御部34が家電機器5の更新プログラムを記憶部35に書き込まない場合(ステップS131;NO)、ステップS131を繰り返して、家電機器5の更新プログラムの書き込みを待機する。書込制御部34が家電機器5の更新プログラムを記憶部35に書き込むと(ステップS131;YES)、更新機器特定部38は、ネットワーク通信部31を介して、更新プログラムの機器種別と同じ機器種別の家電機器5が記憶する実行プログラムの版をネットワーク接続装置2に問い合わせる(ステップS132)。ネットワーク通信部31を介して、ネットワーク接続装置2から、更新プログラムの機器種別と同じ機器種別の家電機器5を識別する識別子と実行プログラムの版の情報を受信すると(ステップS133)、更新機器特定部38は、記憶部35に書き込まれた家電機器5の更新プログラムの版と、ネットワーク接続装置2から受信した実行プログラムの版とを比較し、対象家電機器があるか否かを判定する(ステップS134)。
対象家電機器がない場合(ステップS134;NO)、処理はステップS144に移行する。対象家電機器がある場合(ステップS134;YES)、プログラム退避部39は、ネットワーク通信部31を介して、対象家電機器の実行プログラムを情報家電機器3に受信させて記憶させるプログラム退避指示をネットワーク接続装置2に送信する(ステップS135)。プログラム退避部39は、ネットワーク接続装置2から対象家電機器の実行プログラムを受信しない場合(ステップS136;NO)、ステップS136を繰り返して、対象家電機器の実行プログラムを待機する。プログラム退避部39は、ネットワーク通信部31を介して、ネットワーク接続装置2から対象家電機器の実行プログラムを受信すると(ステップS136;YES)、書込制御部34を介して、記憶部35に書き込む(ステップS137)。
プログラム更新部40は、情報家電機器3への実行プログラムの送信が完了したことを通知するプログラム退避完了通知をネットワーク接続装置2から受信しない場合(ステップS138;NO)、ステップS138を繰り返して、プログラム退避完了通知を待機する。プログラム更新部40は、ネットワーク通信部31を介して、プログラム退避完了通知を対象家電機器から受信すると(ステップS138;YES)、プログラム読出制御部36を介して、記憶部35から対象家電機器と同じ機器種別の更新プログラムを読み出し、ネットワーク通信部21を介して、ネットワーク接続装置2に送信する(ステップS139)。プログラム更新部40は、更新プログラムの送信が完了していない場合(ステップS140;NO)、ステップS139およびステップS140を繰り返す。更新プログラムの送信が完了すると(ステップS140;YES)、機器異常検知部41は、ネットワーク通信部31を介して、プログラム更新完了通知を情報家電機器3から受信すると、ネットワーク通信部31を介して、更新プログラムに書き換えられた後の対象家電機器の動作を監視する。
機器異常検知部41が決められた時間以内に対象家電機器の異常を検知しない場合(ステップS141;NO)、処理はステップS144に移行する。機器異常検知部41が決められた時間以内に対象家電機器の異常を検知すると(ステップS141;YES)、プログラム復旧部42は、プログラム読出制御部36を介して、記憶部35から異常を検知した対象家電機器の更新前の実行プログラムを読み出し、ネットワーク通信部31を介して、対象家電機器に送信する(ステップS142)。プログラム復旧部42は、更新前の実行プログラムの送信が完了していない場合(ステップS143;NO)、ステップS142およびステップS143を繰り返す。更新プログラムの送信が完了すると(ステップS143;YES)、対象家電機器の動作の監視を停止する。情報家電機器3の電源がOFFになっていなければ(ステップS144;NO)、処理はステップS131に戻り、ステップS131〜ステップS144を繰り返す。情報家電機器3の電源がOFFになると(ステップS144;YES)、処理を終了する。
なお、プログラム更新システム200がネットワーク制御装置1を備え、ネットワーク制御装置1および情報家電機器3で、プログラム更新制御装置の機能を分担してもよい。あるいは、プログラム更新システム200がネットワーク制御装置1を備え、ネットワーク制御装置1および情報家電機器3の両方がプログラム更新制御装置のすべての機能を備えてもよい。
以上説明したように実施の形態3のプログラム更新システム200によれば、ネットワーク制御装置1のすべての機能を情報家電機器3が備えることにより、ネットワーク制御装置1が不要となり、省スペース化とコストの低減ができる。プログラム更新システム200がネットワーク制御装置1を備え、ネットワーク制御装置1および情報家電機器3で機能を分担する場合には、ネットワーク制御装置1の負荷を分散することができる。また、プログラム更新システム200がネットワーク制御装置1を備え、情報家電機器3がネットワーク制御装置1と同じ機能をすべて備える場合には、ネットワーク制御装置1が故障しても家電機器5の実行プログラムの更新が実施できる。
(実施の形態4)
図20は、本発明の実施の形態4に係る家電機器の機能構成例を示す図である。実施の形態4では、ネットワーク接続装置2の機能を家電機器5が備える。家電機器5は、家電制御部51と、書込制御部52と、プログラム記憶部53と、読出制御部54とに加え、ネットワーク通信部55と、データ書込制御部56と、データ読出制御部57と、データ格納部58とを備える。ネットワーク通信部55と、データ書込制御部56と、データ読出制御部57と、データ格納部58とは、ネットワーク接続装置2のネットワーク通信部21と、データ書込制御部23と、データ読出制御部24と、データ格納部25とに相当する。データ格納部58には、家電機器5自身の識別子に対応付けられた機器種別と実行プログラムの版とを示す家電機器情報があらかじめ記憶されている。
ネットワーク通信部55はネットワーク6に接続し通信を行う。データ読出制御部57は、ネットワーク通信部55を介して、ネットワーク制御装置1から、更新プログラムの機器種別と同じ機器種別の家電機器5の実行プログラムの版の問い合わせを受信すると、データ格納部58が記憶する家電機器情報を参照し、自身が更新プログラムの機器種別と同じ機器種別であるか否かを判定する。同じ機器種別である場合、データ読出制御部57は、データ格納部58が記憶する家電機器情報から自身の実行プログラムの版の情報を読み出し、ネットワーク通信部55を介して、自身の識別子と共にネットワーク制御装置1に送信する。
データ読出制御部57は、ネットワーク通信部55を介して、ネットワーク制御装置1からプログラム退避指示を受信すると、プログラム退避指示に含まれる対象家電機器の識別子とデータ格納部58が記憶する家電機器情報に含まれる自身の識別子とを照合し、自身が対象家電機器であるか否かを判定する。対象家電機器である場合、家電制御部51を介して、読出制御部54に実行プログラムを要求する。読出制御部54は、実行プログラムを要求されると、プログラム記憶部53から実行プログラムを読み出して、家電制御部51を介して、データ書込制御部56に渡す。データ書込制御部56は、読出制御部54から実行プログラムを受け取るごとに、データ格納部58に一時記憶する。データ読出制御部57は、データ格納部58に一時記憶された実行プログラムを読み出し、ネットワーク通信部55を介して、情報家電機器3に送信する。データ読出制御部57は、すべての実行プログラムを情報家電機器3に送信したら、ネットワーク通信部55を介して、ネットワーク制御装置1にプログラム退避完了通知を送信する。
データ書込制御部56は、ネットワーク通信部55を介して、情報家電機器3から更新プログラムを受信すると、更新プログラムに対応付けられた対象家電機器の識別子とデータ格納部58が記憶する家電機器情報に含まれる識別子とを照合し、自身が対象家電機器であるか否かを判定する。対象家電機器である場合、データ書込制御部56は、情報家電機器3から受信した更新プログラムをデータ格納部58に一時記憶する。データ読出制御部57は、データ格納部58に一時記憶された家電機器5の更新プログラムを読み出し、家電制御部51を介して、書込制御部52に渡す。書込制御部52は、データ読出制御部57から受け取った更新プログラムをプログラム記憶部53に書き込んで、実行プログラムを更新プログラムに書き換える制御を行う。家電制御部51は、書込制御部52によって、プログラム記憶部53が記憶する実行プログラムが更新プログラムに書き換えられると、実行プログラムのリセットを行い、書き換えられた更新プログラムを実行プログラムとして動作を開始する。
以上説明したように実施の形態4の家電機器5によれば、ネットワーク接続装置2の機能を家電機器5に取り込むことにより、ネットワーク接続装置2と家電機器5のインターフェース部分が統合でき、装置に供給する電源や筐体も共通で済むため、ネットワーク接続機能を備えない家電機器5とネットワーク接続装置2とを別々に備える場合よりも省スペース化とコストの低減ができる。
図21は、本発明の実施の形態に係るネットワーク制御装置、ネットワーク接続装置、情報家電機器および家電機器のハードウェア構成の一例を示す図である。ネットワーク制御装置1、ネットワーク接続装置2、情報家電機器3および家電機器5は、それぞれの装置を制御するハードウェア構成としてプロセッサ111、メモリ112、インターフェース113を備える。これらの装置の各機能は、プロセッサ111がメモリ112に記憶されたプログラムを実行することにより実現される。インターフェース113は各装置を接続し、通信を確立させるためのものであり、必要に応じて複数の種類のインターフェースから構成されてもよい。図21では、プロセッサ111およびメモリ112をそれぞれ1つで構成する例を示しているが、複数のプロセッサ111および複数のメモリ112が連携して各機能を実行してもよい。
また、上述の機能を、OS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合等には、OS以外の部分のみを媒体に格納してもよい。
さらに、搬送波に各プログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、オペレーティングシステムの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成してもよい。
上記の実施の形態では、情報家電機器3はテレビ3Aおよびレコーダ3Bであったが、これに限らず、パーソナルコンピュータやHEMSコントローラなど、家電機器5の実行プログラムを受信して記憶し、かつ、家電機器5の更新プログラムを取得する副機能、ならびに、副機能とは無関係な主機能を有する情報家電機器であれば何でもよい。パーソナルコンピュータやHEMSコントローラなどの場合、ネットワーク制御装置1を介して、外部のサーバ装置などから家電機器5の更新プログラムを取得する構成にしてもよいし、パーソナルコンピュータやHEMSコントローラ自身がインターネットなどのネットワークに接続し、外部のサーバ装置などから家電機器5の更新プログラムを取得してもよい。
上記の実施の形態では、プログラム更新システム100および200は冷蔵庫5A、空調機5Bおよび炊飯器5Cといったように、異なる機器種別の家電機器5を備えるが、同じ機器種別の家電機器5のみを備える場合や、家電機器5が1台である場合には、更新プログラムの機器種別を考慮しなくてもよい。
上記の実施の形態では、家電機器5の実行プログラムの版と、同じ機器種別の家電機器5の更新プログラムの版とを比較して、更新プログラムの版の方が新しい家電機器5を、実行プログラムを更新する対象である対象家電機器として特定するが、情報家電機器3が取得した家電機器5の更新プログラムをネットワーク6に接続するすべての家電機器5に配信する構成にし、ネットワーク接続装置2または家電機器5は、配信された更新プログラムが同じ機器種別であるときのみ家電機器5の実行プログラムを更新してもよい。あるいは、情報家電機器3がネットワーク6に接続されるすべての家電機器5の機器種別の情報を保持している場合には、取得した家電機器5の更新プログラムのうち、同じ機器種別の更新プログラムを各家電機器5に配信する構成にしてもよい。