(57)【要約】      （修正有）【課題】複数の機器が相互に関連して動作するシステムのソフトウェアを更新するにあたって、相互に関連した動作が行えなくなってしまうことを防ぐ。【解決手段】  パレットディスプレイ３１は、無線ＬＡＮを介してメディアレシーバ２２にソフトウェアの更新を要求する（Ｓ１２）。メディアレシーバ２２は、インターネットを介してサーバ６１にアクセスし（Ｓ５３）、自分自身とパレットディスプレイ３１のソフトウェアをダウンロードし（Ｓ６２）、パレットディスプレイ３１のソフトウェアを、パレットディスプレイ３１に供給する（Ｓ６３）。パレットディスプレイ３１とメディアレシーバ２２は、自分自身がソフトウェアのバージョンを更新することができたとしても、他方がバージョンを更新することができなかった場合には、バージョンを元のバージョンに戻す。【選択図】図７
2006146495.tif 000002
【特許請求の範囲】
【請求項１】
情報を処理する第１の機器と、
前記第１の機器と関連して情報を処理する第２の機器とを備え、
前記第１の機器は、ネットワークを介して接続されているサーバから前記第１の機器が更新する第１のソフトウェアと前記第２の機器が更新する第２のソフトウェアをダウンロードし、前記第２のソフトウェアを前記第２の機器に送信するとともに、前記第１のソフトウェアを記憶し、
前記第２の機器は、前記第１の機器から受信した前記第２のソフトウェアを記憶し、
前記第１の機器の前記第１のソフトウェアによる起動時に不具合が発生した場合、並びに前記第２の機器の前記第２のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第１の機器と前記第２の機器は、それぞれ更新前のソフトウェアを復元する
ことを特徴とする情報処理システム。
【請求項２】
情報を処理する第１の機器と、
前記第１の機器と関連して情報を処理する第２の機器と
を備える情報処理システムの情報処理方法において、
前記第１の機器は、ネットワークを介して接続されているサーバから前記第１の機器が更新する第１のソフトウェアと前記第２の機器が更新する第２のソフトウェアをダウンロードし、前記第２のソフトウェアを前記第２の機器に送信するとともに、前記第１のソフトウェアを記憶し、
前記第２の機器は、前記第１の機器から受信した前記第２のソフトウェアを記憶し、
前記第１の機器の前記第１のソフトウェアによる起動時に不具合が発生した場合、並びに前記第２の機器の前記第２のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第１の機器と前記第２の機器は、それぞれ更新前のソフトウェアを復元する
ことを特徴とする情報処理方法。
【請求項３】
他の情報処理装置と関連して情報を処理する情報処理装置において、
ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロード手段と、
前記第１のソフトウェアを記憶する記憶手段と、
前記第２のソフトウェアを前記他の情報処理装置に送信する送信手段と、
前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元手段と
を備えることを特徴とする情報処理装置。
【請求項４】
前記復元手段は、前記他の情報処理装置に前記第２のソフトウェアを送信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、前記他の情報処理装置に前記第２のソフトウェアを送信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生したとする
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記復元手段は、一定回数以上起動しても前記第１のソフトウェアの起動ができなかった場合、または前記情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョンが一致しない場合、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生したとする
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記記憶手段は、前記第１のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、
前記情報処理装置は、前記記憶手段に前記第１のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第１のソフトウェアに書き換える書き換え手段をさらに備え、
前記復元手段は、前記第１のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第１のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも１つを前記他の情報処理装置と同期させる同期手段をさらに備える
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記他の情報処理装置から前記ソフトウェアの更新の要求を受け付ける受付手段をさらに備え、
前記ダウンロード手段は、前記受付手段が前記ソフトウェアの更新の要求を受け付けたとき、前記第１のソフトウェアと前記第２のソフトウェアをダウンロードする
ことを特徴とする請求項３に記載の情報処理装置。
【請求項９】
他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、
ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップと、
前記第１のソフトウェアを記憶する記憶ステップと、
前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップと、
前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップと、
前記第１のソフトウェアを記憶する記憶ステップと、
前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップと、
前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１１】
他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップと、
前記第１のソフトウェアを記憶する記憶ステップと、
前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップと、
前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項１２】
他の情報処理装置と関連して情報を処理する情報処理装置において、
前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信手段と、
前記第２のソフトウェアを記憶する記憶手段と、
前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元手段と
を備えることを特徴とする情報処理装置。
【請求項１３】
前記復元手段は、前記他の情報処理装置から前記第２のソフトウェアを受信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、前記他の情報処理装置から前記第２のソフトウェアを受信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、または前記他の情報処理装置から前記第２のソフトウェアを受信する前に更新後期待されていたバージョンのソフトウェアが前記他の情報処理装置に設定されていない場合、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生したとする
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記復元手段は、一定回数以上起動しても前記第２のソフトウェアの起動ができなかった場合、または前記情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョンが一致しない場合、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生したとする
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
前記記憶手段は、前記第２のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、
前記情報処理装置は、前記記憶手段に前記第２のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第２のソフトウェアに書き換える書き換え手段をさらに備え、
前記復元手段は、前記第２のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第２のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１６】
前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも１つを前記他の情報処理装置と同期させる同期手段をさらに備える
ことを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記他の情報処理装置に前記ソフトウェアの更新を要求する要求手段をさらに備える
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１８】
他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、
前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップと、
前記第２のソフトウェアを記憶する記憶ステップと、
前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップと
を含むことを特徴とする情報処理方法。
【請求項１９】
他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップと、
前記第２のソフトウェアを記憶する記憶ステップと、
前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項２０】
他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップと、
前記第２のソフトウェアを記憶する記憶ステップと、
前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、関連して動作する複数の機器のソフトウェアを確実に更新することができるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
例えば、携帯電話機は、ソフトウェア（コンピュータプログラム）により各種の制御が行われることが多い。係る携帯電話機においてその機能を変更する場合、ソフトウェア自体を変更する必要がある。例えば、ソフトウェア供給装置から最寄りの基地局を介して、携帯電話機のソフトウェアを更新することが提案されている（例えば、特許文献１）。
【０００３】
【特許文献１】特開２００１−７８２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示の発明においては、ソフトウェアの更新が個々の機器毎に独立に行われるため、複数の機器が相互に関連して動作するような場合、複数の機器が相互に関連した動作を行うことができなくなってしまう恐れがあった。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、複数の関連する機器が、関連する動作を実行可能なようにソフトウェアを更新することができるようにするものである。
【課題を解決するための手段】
【０００６】
請求項１の情報処理システムは、情報を処理する第１の機器と、前記第１の機器と関連して情報を処理する第２の機器とを備え、前記第１の機器は、ネットワークを介して接続されているサーバから前記第１の機器が更新する第１のソフトウェアと前記第２の機器が更新する第２のソフトウェアをダウンロードし、前記第２のソフトウェアを前記第２の機器に送信するとともに、前記第１のソフトウェアを記憶し、前記第２の機器は、前記第１の機器から受信した前記第２のソフトウェアを記憶し、前記第１の機器の前記第１のソフトウェアによる起動時に不具合が発生した場合、並びに前記第２の機器の前記第２のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第１の機器と前記第２の機器は、それぞれ更新前のソフトウェアを復元することを特徴とする。
【０００７】
請求項２の情報処理方法は、情報を処理する第１の機器と、前記第１の機器と関連して情報を処理する第２の機器とを備える情報処理システムの情報処理方法において、前記第１の機器は、ネットワークを介して接続されているサーバから前記第１の機器が更新する第１のソフトウェアと前記第２の機器が更新する第２のソフトウェアをダウンロードし、前記第２のソフトウェアを前記第２の機器に送信するとともに、前記第１のソフトウェアを記憶し、前記第２の機器は、前記第１の機器から受信した前記第２のソフトウェアを記憶し、前記第１の機器の前記第１のソフトウェアによる起動時に不具合が発生した場合、並びに前記第２の機器の前記第２のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第１の機器と前記第２の機器は、それぞれ更新前のソフトウェアを復元することを特徴とする。
【０００８】
請求項３の情報処理装置は、他の情報処理装置と関連して情報を処理する情報処理装置において、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロード手段と、前記第１のソフトウェアを記憶する記憶手段と、前記第２のソフトウェアを前記他の情報処理装置に送信する送信手段と、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元手段とを備えることを特徴とする。
【０００９】
前記復元手段は、他の情報処理装置に第２のソフトウェアを送信した後の他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、他の情報処理装置に第２のソフトウェアを送信する前に更新後期待されていた他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、他の情報処理装置の第２のソフトウェアの起動時に不具合が発生したとするようにすることができる。
【００１０】
前記復元手段は、一定回数以上起動しても第１のソフトウェアの起動ができなかった場合、または情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ情報処理装置ソフトウェアの現在のバージョンと、他の情報処理装置にソフトウェアを送信する前に更新後期待されていた情報処理装置のソフトウェアのバージョンが一致しない場合、情報処理装置の第１のソフトウェアの起動時に不具合が発生したとするようにすることができる。
【００１１】
前記記憶手段は、第１のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、情報処理装置は、記憶手段に第１のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前のソフトウェアから第１のソフトウェアに書き換える書き換え手段をさらに備え、復元手段は、第１のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、第１のソフトウェアから更新前のソフトウェアにさらに書き換えることで更新前のソフトウェアを復元するようにすることができる。
【００１２】
前記ソフトウェアの記憶、指定の書き換え、およびソフトウェアの起動のうちの少なくとも１つを他の情報処理装置と同期させる同期手段をさらに備えるようにすることができる。
【００１３】
前記他の情報処理装置からソフトウェアの更新の要求を受け付ける受付手段をさらに備え、ダウンロード手段は、受付手段がソフトウェアの更新の要求を受け付けたとき、第１のソフトウェアと第２のソフトウェアをダウンロードするようにすることができる。
【００１４】
請求項９の情報処理方法は、他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップと、前記第１のソフトウェアを記憶する記憶ステップと、前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップと、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップとを含むことを特徴とする。
【００１５】
請求項１０の記録媒体のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップと、前記第１のソフトウェアを記憶する記憶ステップと、前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップと、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップとを含むことを特徴とする。
【００１６】
請求項１１のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップと、前記第１のソフトウェアを記憶する記憶ステップと、前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップと、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップとをコンピュータに実行させることを特徴とする。
【００１７】
請求項１２の情報処理装置は、他の情報処理装置と関連して情報を処理する情報処理装置において、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信手段と、前記第２のソフトウェアを記憶する記憶手段と、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元手段とを備えることを特徴とする。
【００１８】
前記復元手段は、他の情報処理装置から第２のソフトウェアを受信した後の他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、他の情報処理装置から第２のソフトウェアを受信する前に更新後期待されていた他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、または他の情報処理装置から第２のソフトウェアを受信する前に更新後期待されていたバージョンのソフトウェアが他の情報処理装置に設定されていない場合、他の情報処理装置の第１のソフトウェアの起動時に不具合が発生したとするようにすることができる。
【００１９】
前記復元手段は、一定回数以上起動しても第２のソフトウェアの起動ができなかった場合、または情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ情報処理装置のソフトウェアの現在のバージョンと、他の情報処理装置にソフトウェアを送信する前に更新後期待されていた情報処理装置のソフトウェアのバージョンが一致しない場合、情報処理装置の第１のソフトウェアの起動時に不具合が発生したとするようにすることができる。
【００２０】
前記記憶手段は、第２のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、情報処理装置は、記憶手段に第２のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前のソフトウェアから第２のソフトウェアに書き換える書き換え手段をさらに備え、復元手段は、第２のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、第２のソフトウェアから更新前のソフトウェアにさらに書き換えることで更新前のソフトウェアを復元するようにすることができる。
【００２１】
前記ソフトウェアの記憶、指定の書き換え、およびソフトウェアの起動のうちの少なくとも１つを他の情報処理装置と同期させる同期手段をさらに備えるようにすることができる。
【００２２】
前記他の情報処理装置にソフトウェアの更新を要求する要求手段をさらに備えるようにすることができる。
【００２３】
請求項１８の情報処理方法は、他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップと、前記第２のソフトウェアを記憶する記憶ステップと、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップとを含むことを特徴とする。
【００２４】
請求項１９の記録媒体のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップと、前記第２のソフトウェアを記憶する記憶ステップと、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップとを含むことを特徴とする。
【００２５】
請求項２０のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップと、前記第２のソフトウェアを記憶する記憶ステップと、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップとをコンピュータに実行させることを特徴とする。
【００２６】
本発明においては、第１の機器は、ネットワークを介して接続されているサーバから第１の機器が更新する第１のソフトウェアと第２の機器が更新する第２のソフトウェアをダウンロードし、第２のソフトウェアを第２の機器に送信するとともに、第１のソフトウェアを記憶する。そして、第２の機器は、第１の機器から受信した第２のソフトウェアを記憶する。第１の機器と第２の機器は、第１の機器の第１のソフトウェアによる起動時に不具合が発生した場合、それぞれ更新前のソフトウェアを復元するとともに、第２の機器の第２のソフトウェアによる起動時に不具合が発生した場合においても、それぞれ更新前のソフトウェアを復元する。
【００２７】
他の本発明においては、ネットワークを介してサーバにアクセスし、情報処理装置が更新する第１のソフトウェアと他の情報処理装置が更新する第２のソフトウェアがダウンロードされ、第１のソフトウェアが記憶され、第２のソフトウェアが他の情報処理装置に送信される。情報処理装置の第１のソフトウェアの起動時に不具合が発生した場合、並びに他の情報処理装置の第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、情報処理装置の更新前のソフトウェアが復元されるとともに、他の情報処理装置に更新前のソフトウェアを復元させる。
【００２８】
さらに他の本発明においては、他の情報処理装置が他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアが他の情報処理装置から受信され、第２のソフトウェアが記憶される。他の情報処理装置の第１のソフトウェアの起動時に不具合が発生した場合、並びに情報処理装置の第２のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、情報処理装置の更新前のソフトウェアが復元される。
【発明の効果】
【００２９】
本発明によれば、機器のソフトウェアを更新することができる。特に、関連して動作する複数の機器のソフトウェアを、関連して動作することが不可能にならないように更新することが可能となる。
【００３０】
そのようなシステムを実現することが可能となる。
【００３１】
本発明によれば、情報処理装置のソフトウェアを更新することができる。特に、他の情報処理装置のソフトウェアをも更新させることができる。また、他の情報処理装置との関連する動作を確保することが可能となる。
【００３２】
さらに、本発明によれば、自分自身のソフトウェアを他の情報処理装置を介して更新することができる。特に、他の情報処理装置との関連する動作を確保可能なソフトウェアを更新することが可能となる。
【発明を実施するための最良の形態】
【００３３】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００３４】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００３５】
請求項１の情報処理システム（例えば、図１のシステム11）は、情報（例えば、画像情報）を処理する第１の機器（例えば、図１のメディアレシーバ22）と、前記第１の機器と関連して情報を処理する第２の機器（例えば、図１のパレットディスプレイ31）とを備え、前記第１の機器は、ネットワーク（例えば、図１のインターネット12）を介して接続されているサーバ（例えば、図１のサーバ61）から前記第１の機器が更新する第１のソフトウェアと前記第２の機器が更新する第２のソフトウェアをダウンロードし（例えば、図７のステップS62）、前記第２のソフトウェアを前記第２の機器に送信するとともに（例えば、図７のステップS63）、前記第１のソフトウェアを記憶し（例えば、図７のステップS66）、前記第２の機器は、前記第１の機器から受信した前記第２のソフトウェアを記憶し（例えば、図７のステップS19）、前記第１の機器の前記第１のソフトウェアによる起動時に不具合が発生した場合、並びに前記第２の機器の前記第２のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第１の機器と前記第２の機器は、それぞれ更新前のソフトウェアを復元する（例えば、図７のステップS24,S71）ことを特徴とする。
【００３６】
請求項２の情報処理方法は、情報（例えば、画像情報）を処理する第１の機器（例えば、図１のメディアレシーバ22）と、前記第１の機器と関連して情報を処理する第２の機器（例えば、図１のパレットディスプレイ31）とを備える情報処理システム（例えば、図１のシステム11）の情報処理方法において、前記第１の機器は、ネットワーク（例えば、図１のインターネット12）を介して接続されているサーバ（例えば、図１のサーバ61）から前記第１の機器が更新する第１のソフトウェアと前記第２の機器が更新する第２のソフトウェアをダウンロードし（例えば、図７のステップS62）、前記第２のソフトウェアを前記第２の機器に送信するとともに（例えば、図７のステップS63）、前記第１のソフトウェアを記憶し（例えば、図７のステップS66）、前記第２の機器は、前記第１の機器から受信した前記第２のソフトウェアを記憶し（例えば、図７のステップS19）、前記第１の機器の前記第１のソフトウェアによる起動時に不具合が発生した場合、並びに前記第２の機器の前記第２のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第１の機器と前記第２の機器は、それぞれ更新前のソフトウェアを復元する（例えば、図７のステップS24,S71）ことを特徴とする。
【００３７】
請求項３の情報処理装置は、他の情報処理装置（例えば、図１のパレットディスプレイ31）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のメディアレシーバ22）において、ネットワーク（例えば、図１のインターネット12）を介してサーバ（例えば、図１のサーバ61）にアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロード手段（例えば、図３３のステップS318の処理を実行する図４のソフトウェアアップデータ部403）と、前記第１のソフトウェアを記憶する記憶手段（例えば、図３３のステップS325の処理を実行する図４のファームウェアライタ部404）と、前記第２のソフトウェアを前記他の情報処理装置に送信する送信手段（例えば、図３３のステップS320の処理を実行する図４のソフトウェアアップデータ部403）と、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS331で再起動処理が失敗したと判定された場合）、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する（例えば、図３５のステップS408の処理を実行する）とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる（例えば、図３４のステップS340の処理を実行する）復元手段（例えば、図４のブートセレクタ部406とソフトウェアアップデータ部403）とを備えることを特徴とする。
【００３８】
前記復元手段は、前記他の情報処理装置に前記第２のソフトウェアを送信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョン（例えば、図３４のステップS339のpost_version_B）と、前記他の情報処理装置に前記第２のソフトウェアを送信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョン（例えば、図３４のステップS339のdesired_version_B）とを比較し、両者が一致しない場合（例えば、図３４のステップS339でNOと判定された場合）、前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生したとする。
【００３９】
前記復元手段は、一定回数以上起動しても前記第１のソフトウェアの起動ができなかった場合（例えば、図３５のステップS405でYESと判定された場合）、または前記情報処理装置のソフトウェアの現在のバージョン（例えば、図３５のステップS419におけるcurrent_version_A）が、ソフトウェア更新開始時のバージョン（例えば、図３５のステップS419におけるpre_version_A）より大きく（例えば、図３５のステップS419でYESと判定され）、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョン（例えば、図３５のステップS420のdesired_version_A）が一致しない場合（図３５のステップS420でNOと判定された場合）、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生したとする。
【００４０】
前記記憶手段は、前記第１のソフトウェアを更新前のソフトウェアと異なる領域（例えば、図４の不揮発性メモリ405のバンク222Aまたはバンク222B）に記憶させ、前記情報処理装置は、前記記憶手段に前記第１のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第１のソフトウェアに書き換える書き換え手段（例えば、図３３のステップS328の処理を実行する図４のブートセレクタ部406）をさらに備え、前記復元手段は、前記第１のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第１のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する（例えば、図３５のステップS408）。
【００４１】
前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも１つを前記他の情報処理装置と同期させる同期手段（例えば、図３３のステップS324,S327,S329の処理を実行する図４のソフトウェアアップデータ部403）をさらに備える。
【００４２】
前記他の情報処理装置から前記ソフトウェアの更新の要求を受け付ける受付手段（例えば、図３２のステップS302の処理を実行する図４のソフトウェアアップデータ部403）をさらに備え、前記ダウンロード手段は、前記受付手段が前記ソフトウェアの更新の要求を受け付けたとき、前記第１のソフトウェアと前記第２のソフトウェアをダウンロードする。
【００４３】
請求項９の情報処理方法は、他の情報処理装置（例えば、図１のパレットディスプレイ31）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のメディアレシーバ22）の情報処理方法において、ネットワーク（例えば、図１のインターネット12）を介してサーバ（例えば、図１のサーバ61）にアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップ（例えば、図３３のステップS318）と、前記第１のソフトウェアを記憶する記憶ステップ（例えば、図３３のステップS325）と、前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップ（例えば、図３３のステップS320）と、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS331で再起動処理が失敗したと判定された場合）、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する（例えば、図３５のステップS408）とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップ（例えば、図３４のステップS340）とを含むことを特徴とする。
【００４４】
請求項１０の記録媒体のプログラムは、他の情報処理装置（例えば、図１のパレットディスプレイ31）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のメディアレシーバ22）のプログラムにおいて、ネットワーク（例えば、図１のインターネット12）を介してサーバ（例えば、図１のサーバ61）にアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップ（例えば、図３３のステップS318）と、前記第１のソフトウェアを記憶する記憶ステップ（例えば、図３３のステップS325）と、前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップ（例えば、図３３のステップS320）と、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS331で再起動処理が失敗したと判定された場合）、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する（例えば、図３５のステップS408）とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップ（例えば、図３４のステップS340）とを含むことを特徴とする。
【００４５】
請求項１１のプログラムは、他の情報処理装置（例えば、図１のパレットディスプレイ31）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のメディアレシーバ22）のプログラムにおいて、ネットワーク（例えば、図１のインターネット12）を介してサーバ（例えば、図１のサーバ61）にアクセスし、前記情報処理装置が更新する第１のソフトウェアと前記他の情報処理装置が更新する第２のソフトウェアをダウンロードするダウンロードステップ（例えば、図３３のステップS318）と、前記第１のソフトウェアを記憶する記憶ステップ（例えば、図３３のステップS325）と、前記第２のソフトウェアを前記他の情報処理装置に送信する送信ステップ（例えば、図３３のステップS320）と、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS331で再起動処理が失敗したと判定された場合）、並びに前記他の情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３４のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する（例えば、図３５のステップS408）とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップ（例えば、図３４のステップS340）とをコンピュータに実行させることを特徴とする。
【００４６】
請求項１２の情報処理装置は、他の情報処理装置（例えば、図１のメディアレシーバ22）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のパレットディスプレイ31）において、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信手段（例えば、図３６のステップS507の処理を実行する図５のソフトウェアアップデータ部501）と、前記第２のソフトウェアを記憶する記憶手段（例えば、図３６のステップS512の処理を実行する図５のファームウェアライタ部502）と、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS524またはステップS525でNOと判定された場合）、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS518で再起動処理が成功しなかったと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元手段（例えば、図３８のステップS608の処理を実行する図５のブートセレクタ部504）とを備えることを特徴とする。
【００４７】
前記復元手段は、前記他の情報処理装置から前記第２のソフトウェアを受信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョン（例えば、図３７のステップS525のpost_version_A）と、前記他の情報処理装置から前記第２のソフトウェアを受信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョン（例えば、図３７のステップS525のdesired_version_A）とを比較し、両者が一致しない場合（例えば、図３７のステップS525でNOと判定された場合）、または前記他の情報処理装置から前記第２のソフトウェアを受信する前に更新後期待されていたバージョン（例えば、図３７のステップS524のdesired_version_A）のソフトウェアが前記他の情報処理装置に設定されていない場合（例えば、図３７のステップS524でNOと判定された場合）、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生したとする。
【００４８】
前記復元手段は、一定回数以上起動しても前記第２のソフトウェアの起動ができなかった場合（例えば、図３８のステップS605でYESと判定された場合）、または前記情報処理装置のソフトウェアの現在のバージョン（例えば、図３８のステップS620におけるcurrent_version_B）が、ソフトウェア更新開始時のバージョン（例えば、図３８のステップS620におけるpre_version_B）より大きく（例えば、図３８のステップS620でYESと判定され）、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョン（例えば、図３８のステップS621のdesired_version_B）が一致しない場合（図３８のステップS621でNOと判定された場合）、前記情報処理装置の前記第１のソフトウェアの起動時に不具合が発生したとする。
【００４９】
前記記憶手段は、前記第２のソフトウェアを更新前のソフトウェアと異なる領域（例えば、図５の不揮発性メモリ503のバンク352Aまたはバンク352B）に記憶させ、前記情報処理装置は、前記記憶手段に前記第２のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第２のソフトウェアに書き換える書き換え手段（例えば、図３７のステップS515の処理を実行する図５のブートセレクタ部504）をさらに備え、前記復元手段は、前記第２のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第２のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する（例えば、図３８のステップS608）。
【００５０】
前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも１つを前記他の情報処理装置と同期させる同期手段（例えば、図３６のステップS511,S514,S516の処理を実行する図５のソフトウェアアップデータ部501）をさらに備える。
【００５１】
前記他の情報処理装置に前記ソフトウェアの更新を要求する要求手段（例えば、図３６のステップS502の処理を実行する図５のソフトウェアアップデータ部501）をさらに備える。
【００５２】
請求項１８の情報処理方法は、他の情報処理装置（例えば、図１のメディアレシーバ22）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のパレットディスプレイ31）の情報処理方法において、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップ（例えば、図３６のステップS507）と、前記第２のソフトウェアを記憶する記憶ステップ（例えば、図３６のステップS512）と、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS524またはステップS525でNOと判定された場合）、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS518で再起動処理が成功しなかったと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップ（例えば、図３８のステップS608）とを含むことを特徴とする。
【００５３】
請求項１９の記録媒体のプログラムは、他の情報処理装置（例えば、図１のメディアレシーバ22）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のパレットディスプレイ31）のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップ（例えば、図３６のステップS507）と、前記第２のソフトウェアを記憶する記憶ステップ（例えば、図３６のステップS512）と、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS524またはステップS525でNOと判定された場合）、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS518で再起動処理が成功しなかったと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップ（例えば、図３８のステップS608）とを含むことを特徴とする。
【００５４】
請求項２０のプログラムは、他の情報処理装置（例えば、図１のメディアレシーバ22）と関連して情報（例えば、画像情報）を処理する情報処理装置（例えば、図１のパレットディスプレイ31）のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第１のソフトウェアとともにダウンロードした第２のソフトウェアを前記他の情報処理装置から受信する受信ステップ（例えば、図３６のステップS507）と、前記第２のソフトウェアを記憶する記憶ステップ（例えば、図３６のステップS512）と、前記他の情報処理装置の前記第１のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS524またはステップS525でNOと判定された場合）、並びに前記情報処理装置の前記第２のソフトウェアの起動時に不具合が発生した場合（例えば、図３７のステップS518で再起動処理が成功しなかったと判定された場合）のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップ（例えば、図３８のステップS608）とをコンピュータに実行させることを特徴とする。
【００５５】
図１は、本発明を適用した情報処理システムの構成例を表している。この情報処理システム１は、メディアレシーバ２２とパレットディスプレイ３１−１乃至３１−３よりなるシステム１１を有している。このメディアレシーバ２２は、アンテナ２４介して放送信号を受信、復調し、復調した映像信号と音声信号（コンテンツ情報）をPDP（Plasma Display）パネル２１に出力する。メディアレシーバ２２はまた、復調したコンテンツ情報を、アンテナ２３から無線LAN（Local Area Network）４１を介して、パレットディスプレイ３１−１乃至３１−３に伝送する。
【００５６】
この実施の形態の場合、パレットディスプレイ３１−１乃至３１−３の３台で構成されているが、その台数は任意である。パレットディスプレイ３１−１は、アンテナ３２−１を介してメディアレシーバ２２からのコンテンツ情報を受信し、表示させる。図示は省略するが、同様に、パレットディスプレイ３１−２，３１−３も、それぞれ専用のアンテナ３２−２，３２−３を介してコンテンツ情報を実施し、表示する（以下、アンテナ３２−１乃至３２−３を個々に区別する必要がない場合、単にアンテナ３２と表示する）。パレットディスプレイ３１−１乃至３１−３は、システム１１を構成するメディアレシーバ２２に対応するように構成されている。すなわち、対応しない他のメディアレシーバ２２が存在したとしても、パレットディスプレイ３１は対応しないメディアレシーバからの信号は表示しないように構成されている。
【００５７】
すなわち、メディアレシーバ２２と対応するパレットディスプレイ３１−１乃至３１−３（以下、これらのパレットディスプレイ３１−１乃至３１−３を個々に区別する必要がない場合、単に、パレットディスプレイ３１と称する）は、相互に関連する動作を行うものである。以下、メディアレシーバ２２を機器Ａ、また、パレットディスプレイ３１を機器Ｂとも称する。
【００５８】
メディアレシーバ２２はまた、ネットワークの一種としてのインターネット１２を介して、サーバシステム１３に接続されている。サーバシステム１３は、この実施の形態の場合、サーバ６１とサーバ６２により構成されている。サーバ６１はソフトウェアを記憶しており、そのソフトウェアをメディアレシーバ２２に伝送する（ダウンロードさせる）機能を有する。サーバ６２は認証機能を有し、ソフトウェアをダウンロードする相手側の機器であるメディアレシーバ２２を認証する。この実施の形態においては、サーバ６１とサーバ６２を区別して図示したが、これを１台のサーバで構成することももちろん可能である。以下の説明においては、説明を簡略化するため、サーバ６１が認証機能も有するものとする。
【００５９】
無線LAN４１としては、Wi-Fi（Wireless Fidelity ）Alliance が定めたIEEE（Institute of Electrical and Electronics Engineers ）802.11a/b/g 等を利用することができる。この場合、通信可能距離は１０メートル前後となる。
【００６０】
図２は、メディアレシーバ２２の構成例を表している。CPU（Central Processing Unit）１０１は、システムの制御を行う。コンパニオンチップ（Companion Chip）１０２は、内部IC間におけるデータの送受信を行う。DRAM（Dynamic Random Access Memory）１０３は、プログラム実行時に必要とされる揮発性ワークメモリを構成する。ヒューマンインターフェースドライバ（Human Interface Driver）１０４は、ユーザとのやり取りを実現するブロックである。NORフラッシュメモリ１０６は、電源投入時、一番始めに起動されるプログラム（ブートローダ２１１）を格納する不揮発性メモリである。
【００６１】
NANDフラッシュメモリ１０７は、ブートプログラムの起動後に実行されるソフトウェアプログラムを格納する不揮発性メモリであり、ソフトウェア更新時に切り替えられるバンク２２２Ａ，２２３Ｂを記憶するほか、ソフトウェアバージョンデータベース部２２１を有する。ソフトウェアデータベース部２２１には、ソフトウェア更新に用いられるバージョン情報、ソフトウェア更新情報といったパラメータが格納されている。また、バンク２２２Ａとバンク２２２Ｂのどちらを起動のためのものとして利用するかを規定するブートパラメータ２２４も記憶されている。
【００６２】
チューナ１１４は、アンテナ２４を介して受信した放送信号としてのＲＦ信号を受信、デコードし（NTSC方式などの映像信号および音声信号（以下、ＡＶ信号と称する）に変換し）、PDPパネル２２に出力し、表示させる。チューナ１１５は、アンテナ２４を介して受信したRF信号をデコードし、メディアプロセッサ１１３に出力する。メディアプロセッサ１１３は、チューナ１１５からのＡＶ信号をTCP/IP（Transmission Control Protocol/Internet Protocol）ネットワーク上へ配信可能なパケットにエンコードする。具体的には、無線LAN４１を介して、パレットディスプレイ３１と通信可能なデータを生成する。メディアプロセッサ１１３はまた、TCP/IPパケットをデコードし、そのＡＶ信号をPDPパネル２１に出力する。
【００６３】
メディアアクセスコントロール（Media Access Control）１１１，１０９は、OSI（Open Systems Interconnection ）参照モデルのデータリンク層に相当し、Ethernet（登録商標）におけるデータの送受信単位であるフレームの送受信方法や形式の誤り検出を実現する。PHY１１０，１１２は、ケーブルコネクタ等電気信号を規定する物理層である。メディアアクセスコントロール１１１は、メディアプロセッサ１１３により生成されたパケットを、PHY１１２からインターネット１２を介して出力する。また図示せぬサーバからインターネット１２を介して配信されたストリーミングコンテンツは、PHY１１２とメディアアクセスコントロール１１１を介して、メディアプロセッサ１１３により受信される。メディアプロセッサ１１３は、このストリーミングコンテンツのパケットをデコードし、PDPパネル２１に出力し、表示させる。
【００６４】
また、メディアコントロール１１１は、メディアプロセッサ１１３により生成されたパケットを、PHY１１２を介してインターネット１２に出力する。
【００６５】
メディアアクセスコントロール１０９は、PHY１１０を介して、アンテナ２３から無線LAN４１に、メディアプロセッサ１１３により生成されたパケットを送信する。また、無線LAN４１を介して送信されてきたパケットは、アンテナ２３を介してPHY１１０により受信され、メディアアクセスコントロール１０９により処理された後、CPU１０１またはメディアプロセッサ１１３により処理される。
【００６６】
ローカルバス１０５は、コンパニオンチップ１０２、NORフラッシュメモリ１０６、NANDフラッシュメモリ１０７、およびリムーバブルメモリ１２１を相互に接続している。PCIバス１０８は、コンパニオンチップ１０２、メディアプロセッサ１１３、メディアアクセスコントロール１０９，１１１を相互に接続している。
【００６７】
図３は、パレットディスプレイ３１の構成例を表している。メディアアクセスコントロール３１９は、PHY３２０とアンテナ３２から無線LAN４１を介してメディアレシーバ２２と通信する。メディアアクセスコントロール３１９は、メディアレシーバ２２のメディアアクセスコントロール１０９と、また、PHY３２０は、メディアレシーバ２２のPHY１１０と基本的に同様の機能を有している。
【００６８】
DRAM３１２はメディアレシーバ２２のDRAM１０３と、また、ヒューマンインターフェースドライバ３１３はメディアレシーバ２２のヒューマンインターフェースドライバ１０４と、基本的に同様の機能を有している。DSP（Digital Signal Processor）３１１は、ヒューマンインターフェースドライバ３１３を介して入力されるユーザの指示に基づいて各部を制御する。また、DSP３１１は、メディアレシーバ２２のメディアプロセッサ１１３と同様の機能を有している。
【００６９】
NORフラッシュメモリ３１５はメディアレシーバ２２のNORフラッシュメモリ１０６に対応する機能を有し、ブートローダ３３１を記憶する。NANDフラッシュメモリ３１６は、バンク３５２Ａ，３５２Ｂと、ソフトウェアバージョンデータベース部３５１を有する。このバンク３５２Ａ，３５２Ｂとソフトウェアバージョンデータベース部３５１は、メディアレシーバ２２のNANDフラッシュメモリ１０７におけるバンク２２２Ａ，２２２Ｂとソフトウェアバージョンデータベース部２２１に対応する構成となっている。EEPROM３１７は、ブートパラメータ３６１を記憶している。
【００７０】
ローカルバス３１４は、DSP３１１、NORフラッシュメモリ３１５、NANDフラッシュメモリ３１６、EEPROM３１７、およびリムーバブルメモリ３２１を相互に接続している。PCIバス３１８は、DSP３１１とメディアアクセスコントロール３１９を相互に接続している。
【００７１】
図４は、メディアレシーバ２２の機能的構成例を表している。このメディアレシーバ２２は、ネットワークインターフェース部４０１、ソフトウェアダウンロードクライアント部４０２、ソフトウェアアップデータ部４０３、ファームウェアライタ部４０４、および不揮発性メモリ４０５を有する。不揮発性メモリ４０５には、更新前のソフトウェアと更新後のソフトウェアを記憶するバンク２２２Ａ，２２２Ｂとソフトウェアバージョンデータベース部２２１が形成される。ソフトウェアバージョンデータベース部２２１にはソフトウェアバージョンなどが記憶される。
【００７２】
メディアレシーバ２２はさらに、ブートセレクタ部４０６、ソフトウェアバージョン管理部４０７、リモートコミュニケータ部４０８、ワイヤレスネットワークインターフェース部４０９、ユーザインターフェース部４１０、および処理部４１１を有している。
【００７３】
ネットワークインターフェース部４０１は、インターネット１２を介して、TCP/IPで通信する。ソフトウェアダウンロードクライアント部４０２は、サーバ６１からソフトウェアをダウンロードする。ソフトウェアダウンロードクライアント部４０２はまた、サーバ６１との機器認証機能も有する。ソフトウェアアップデータ部４０３は、ソフトウェア更新処理の実際の制御や新旧ソフトウェアの判別処理を行う。ユーザインターフェース部４１０は、ユーザとのインターフェース処理を行う。処理部４１１は、ユーザインターフェース部４１０からの指示に基づいて（ユーザからの指示に基づいて）、各種の処理を実行する。
【００７４】
リモートコミュニケータ部４０８は、機器Ｂ（パレットディスプレイ３１）とのコマンドのやり取り、およびサーバ６１からダウンロードしたソフトウェアを機器Ｂに転送する機能を有する。ワイヤレスネットワークインターフェース部４０９は、無線LAN４１を介した無線通信を行う。ファームウェアライタ部４０４は、ダウンロードしたソフトウェアおよび各デバイスのファームウェアを、不揮発メモリ４０５に書き込む処理を行う。
【００７５】
ブートセレクタ部４０６は、ブートパラメータ２２４を記憶し、現行のソフトウェアと更新されたソフトウェアを切り替える。ソフトウェアバージョン管理部４０７は、ソフトウェアのバージョンの管理を行う。
【００７６】
図５は、パレットディスプレイ３１の機能的構成例を表している。パレットディスプレイ３１は、ソフトウェアアップデータ部５０１、ファームウェアライタ部５０２、不揮発性メモリ５０３、ブートセレクタ部５０４、ソフトウェアバージョン管理部５０５、リモートコミュニケータ部５０６、ワイヤレスネットワークインターフェース部５０７、ユーザインターフェース部５０８、および処理部５０９を有している。
【００７７】
これらの各部の機能は、図４のメディアレシーバ２２における対応する名称のブロックと同一の機能を基本的に有している。メディアレシーバ２２における対応する名称のブロックと若干異なる機能を有する部分もあるが、その差異については、以下の動作において説明する。
【００７８】
以下、本発明の実施の形態の動作について説明するが、その前に、各処理において現われる変数について図６を参照して説明する。
【００７９】
DeviceID_A は、システムにおける機器Ａ（いまの場合、メディアレシーバ２２）固有のIDを表わす。pre_version_A は、機器Ａのソフトウェア更新開始時のソフトウェアバージョンを表わす。desired_version_A は、機器Ａのソフトウェア更新後、期待されるソフトウェアバージョンを表わす。current_version_A は、機器Ａの現在起動中のソフトウェアバージョンを表わす。post_version_A は、ソフトウェア更新相互認証確認要求時に機器Ｂ（いまの場合、パレットディスプレイ３１）へ送信される機器Ａの現在のソフトウェアバージョンを表わす。
【００８０】
DeviceID_B は、システムにおける機器Ｂ固有のIDを表わす。pre_version_B は、機器Ｂのソフトウェア更新開始時のソフトウェアバージョンを表わす。desired_version_B は、機器Ｂのソフトウェア更新後、期待されるソフトウェアバージョンを表わす。current_version_B は、機器Ｂの現在起動中のソフトウェアバージョンを表わす。post_version_B は、ソフトウェア更新相互認証確認要求時に機器Ａへ応答する機器Ｂの現在のソフトウェアバージョンを表わす。
【００８１】
以下に、パレットディスプレイ３１とメディアレシーバ２２、並びにサーバ６１の動作について説明するが、最初に図７を参照して、それらの相互の関係について説明する。メディアレシーバ２２のより詳細な処理については、図３２乃至図３４を参照して説明し、パレットディスプレイ３１のより詳細な処理については、図３６乃至図３８を参照して説明する。また、説明を簡単にするため、パレットディスプレイ３１は１台のみとする。
【００８２】
まず、メディアレシーバ２２において、画像を表示する処理について説明する。ユーザインターフェース部４１０は、ユーザからの指示に基づいて、処理部４１１を制御し、指定された放送チャンネルのＲＦ信号を受信させる。具体的には、ユーザより所定の放送チャンネルの受信が指示されると、チューナ１１４は、アンテナ２４を介して受信したＲＦ信号をデコードし、その放送チャンネルのNTSC方式のＡＶ信号をPDPパネル２１に出力し、表示させる。
【００８３】
これにより、ユーザが希望する放送チャンネルのＡＶ信号に基づく画像と音声が視聴可能となる。
【００８４】
次に、パレットディスプレイ３１のユーザが、所定の放送チャンネルの画像を視聴する場合の動作について説明する。この場合、ユーザが所定の放送チャンネルの受信を指示すると、ユーザインターフェース部５０８は、処理部５０９に所定の放送チャンネルの受信を指令する。このとき、処理部５０９は、ユーザより指示された放送チャンネルのＡＶ信号の送信をメディアレシーバ２２に要求する。この要求は、リモートコミュニケータ部５０６とワイヤレスネットワークインターフェース部５０７を介して、アンテナ３２から無線LAN４１に送信される。具体的には、DSP３１１により生成された要求は、メディアアクセスコントロール３１９、PHY３２０を介してアンテナ３２から無線LAN４１に出力される。
【００８５】
メディアレシーバ２２において、無線LAN４１を介して入力された要求は、ワイヤレスネットワークインターフェース部４０９とリモートコミュニケータ部４０８を介して、処理部４１１に入力される。処理部４１１は、この要求に基づいて、指定された放送チャンネルのＲＦ信号をデコードする。
【００８６】
具体的には、メディアレシーバ２２は、無線LAN４１とアンテナ２３を介してパレットディスプレイ３１からの要求を受信する。アンテナ２３を介して受信された要求は、PHY１１０とメディアアクセスコントロール１０９を介してCPU１０１に入力される。CPU１０１は、この供給された要求に基づいて、チューナ１１５を制御し、指定された放送チャンネルのＲＦ信号を受信し、デコードさせる。
【００８７】
リモートコミュニケータ部４０８は、処理部４１１により処理されたパケットを、ワイヤレスネットワークインターフェース部４０９を介して、無線LAN４１へ出力する。このパケットは、無線LAN４１を介して、パレットディスプレイ３１に受信される。
【００８８】
具体的には、チューナ１１５は、指定された放送チャンネルのＲＦ信号をデコードし、メディアプロセッサ１１３に出力する。メディアプロセッサ１１３は、入力されたＡＶ信号をパケット化し、メディアアクセスコントロール１０９およびPHY１１０を介して無線LAN４１に出力する。
【００８９】
パレットディスプレイ３１においては、ワイヤレスネットワークインターフェース部５０７とリモートコミュニケータ部５０６を介して、メディアレシーバ２２より送信されてきたパケットが受信され、処理部５０９に供給され、処理される。
【００９０】
具体的には、PHY３２０、メディアアクセスコントロール３１９を介して受信されたパケットが、DSP３１１によりデコードされ、NTSC方式のＡＶ信号とされて、表示部３２２に出力され、表示される。
【００９１】
このようにして、パレットディスプレイ３１のユーザが指定した放送チャンネルの画像と音声が、表示部３２２に表示、出力される。
【００９２】
以上のようにして、例えば、家庭内の居間などに配置されているメディアレシーバ２２とPDPパネル２１により、居間にいる家族が画像を視聴することができるとともに、２階の子供部屋に配置されているパレットディスプレイ３１により、その部屋にいる子供がメディアレシーバ２２と同一または異なる放送チャンネルの画像を視聴することが可能となる。パレットディスプレイ３１は可搬型とされ、任意の部屋で使用することができる。
【００９３】
次に、ソフトウェアを更新する場合の処理について説明する。ソフトウェアの更新は、パレットディスプレイ３１とメディアレシーバ２２のいずれからも行うことができる。最初に、図７を参照して、パレットディスプレイ３１からソフトウェアの更新を要求する場合の処理について説明する。
【００９４】
ステップＳ１１において、ソフトウェアアップデータ部５０１は、ユーザインターフェース部５０８からのユーザの指示に基づいて、ソフトウェア更新の要求があったとき機器間相互認証処理を行う。すなわち、この要求があったときソフトウェアアップデータ部５０１は、リモートコミュニケータ部５０６、ワイヤレスネットワークインターフェース部５０７を介して、メディアレシーバ２２と通信する。
【００９５】
メディアレシーバ２２においては、ステップＳ５１において、ソフトウェアアップデータ部４０３が、ワイヤレスネットワークインターフェース部４０９とリモートコミュニケータ部４０８を介して、パレットディスプレイ３１と無線LAN４１を介して通信する。そして、パレットディスプレイ３１のソフトウェアアップデータ部５０１と、メディアレシーバ２２のソフトウェアアップデータ部４０３は機器間相互認証処理を行う。
【００９６】
機器間相互認証処理において、相手側が正しい機器であると認証された場合、以下の処理が実行されるが、相手側が適正な装置ではないと判定された場合には、以下の処理は実行されないことになる。
【００９７】
機器間相互認証が適正に行われた場合、ステップＳ１２において、ソフトウェアアップデータ部５０１は、メディアレシーバ２２に対してソフトウェア更新開始要求を送信する。このソフトウェア更新開始要求は、リモートコミュニケータ部５０６とワイヤレスネットワークインターフェース５０７を介して、メディアレシーバ２２に送信される。
【００９８】
図８は、このようにして送信されるソフトウェア更新開始要求のプロトコルフォーマットの例を表している。この例においては、Commannd , DeviceID , CurrentSoftwareVersion 、および DesiredSoftwareVersion の４つのパラメータにより要求が構成されている。パラメータCommannd はコマンド名を表し、例えば、RequestStartSoftwareUpdate とされる。DeviceID は、ソフトウェア更新開始要求を出力する機器のＩＤを表し（今の場合、機器ＢのＩＤを表す）、例えば、SRP000010020 とされる。パラメータCurrentSoftwareVersion は、この開始要求を出力する機器Ｂの現在のソフトウェアのバージョンを表し、例えば、1.0.0.0 とされる。この機器Ｂの現在のソフトウェアバージョンがpre_version_B となる。パラメータDesiredSoftwareVersion は、更新開始要求を出力する機器Ｂの最新のソフトウェアバージョンを表わす。
【００９９】
図９は、このようにして、パレットディスプレイ３１からメディアレシーバ２２に送信されるソフトウェア更新開始要求メッセージの具体的な例を表している。
【０１００】
コマンド名としてRequestStartSoftwareUpdate が、DeviceID として機器Ｂ固有のＩＤが、さらにCurrentSoftwareVersion として1.0.0.0 が、それぞれ記述されている。
【０１０１】
ステップＳ５２において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１が出力したソフトウェア更新開始要求を、ワイヤレスネットワークインターフェース部４０９とリモートコミュニケータ部４０８を介して受信する。
【０１０２】
ステップＳ５３において、ソフトウェアアップデータ部４０３は、サーバ６１に対する接続をソフトウェアダウンロードクライアント部４０２に指示する。ソフトウェアダウンロードクライアント部４０２は、この指示に基づいて、ネットワークインターフェース部４０１からインターネット１２を介して、SSL（Secure Socket Layer）通信によりサーバ６１と接続する。
【０１０３】
同様に、サーバ６１は、ステップＳ９１において、SSL通信によりメディアレシーバ２２と接続する。
【０１０４】
ソフトウェアダウンロードクライアント部４０２は、ネットワークインターフェース部４０１を介して、ステップＳ５４において、サーバ６１との接続後、ダウンロードサービスを提供してもらうための機器認証要求を行う。図１０は、この機器認証要求のプロトコルフォーマットの例を表わしている。この要求には、同図に示されるように、パラメータとしてCommannd , DeviceID 、およびPassPhrase が含まれている。Commannd は、例えば、RequestDeviceAuthentication とされ、DeviceID は、この要求を出力する機器ＡのＩＤ（メディアレシーバ２２の固有のＩＤ）、例えば、SRM000010324 とされる。PassPhrase は、機器認証用のパスフレーズあり、例えば、89dfsZasfowiau398adfa0fas8d90g とされる。
【０１０５】
メディアレシーバ２２とサーバ６１との間の機器認証は、セキュリティ上安全な通信路を確保するためのものであり必須ではない。
【０１０６】
ステップＳ９２において、サーバ６１は、メディアレシーバ２２からの機器認証要求を受信すると、ステップＳ９３において、メディアレシーバ２２に対して、機器認証応答を出力する。
【０１０７】
図１１は、この機器認証応答のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd は、例えば、RequestDeviceAuthentication とされ、パラメータResponseCode は、例えば、AuthenticationSuccess とされる。このResponseCode は、リクエストに対する応答を意味する。またパラメータSessionKey は、例えば、000012092093242 とされる。
【０１０８】
ステップＳ５５において、メディアレシーバ２２のソフトウェアダウンロードクライアント部４０２は、ネットワークインターフェース部４０１を介して、サーバ６１からの機器認証応答を受信する。ステップＳ５６において、ソフトウェアダウンロードクライアント部４０２は、サーバ６１に対して、ソフトウェアリスト要求を送信する。図１２は、このソフトウェアリスト要求のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd は、例えば、RequestDownloadFile とされ、セッションキーを表わすパラメータSessionKey は、例えば、000012092093242 とされる。パラメータRequestFilename は、ダウンロードするファイル名を表わし、例えば、SoftwareList.txt とされる。
【０１０９】
例えば、メディアレシーバ２２とそれに対応するパレットディスプレイ３１のメーカが運用するサーバ６１は、過去に製造販売されたメディアレシーバ２２とそれに対応するパレットディスプレイ３１が使用しているソフトウェアを管理しており、また、各メディアレシーバ２２と対応するパレットディスプレイ３１が、その後使用可能となった（バージョンアップされた）ソフトウェアを管理している。ステップＳ９４において、サーバ６１は、メディアレシーバ２２からのソフトウェアリスト要求を受信すると、使用可能なバージョンのソフトウェアを調べる。ステップＳ９５において、サーバ６１は、調べた結果を、ソフトウェアリスト要求の応答として返す。
【０１１０】
図１３は、このソフトウェアリスト要求の応答のプロトコルフォーマットの例を表している。図１３の例においては、パラメータCommannd は、例えば、ResponseDownloadFile とされ、要求に対する応答を表わすパラメータResponseCode は、例えば、ＯＫとされる。また、パラメータFileSize は、ダウンロードするファイルのサイズ（バイト数）を表わすが、例えば、1024000 とされる。パラメータData は、そのソフトウェアのデータである。
【０１１１】
図１４は、このようにして、サーバ６１からメディアレシーバ２２に対して送信されるソフトウェアリストの具体的な例を表している。この例においては、ソフトウェアを更新する機器を表わすDeviceID として機器ＡのＩＤが記述され、その現在のソフトウェアのVersion は1.0.0.3 とされている。この機器Ａが更新可能なファームウェアの数を表すパラメータNumOfFirmwares は１とされ、そのFirmwareID も１とされている。FirmwareName は、SystemImage.bin とされ、FirmwareVersionは、2.0.0.5 とされている。FirmwareSizeは1024000 バイトとされ、FirmwareCRC32 は、0x5E1234E5 とされている。
【０１１２】
また、ソフトウェアを更新する対応する機器である機器Ｂに関しては、現在のバージョンは1.0.0.0 とされている。この機器Ｂが更新可能なファームウェアの数NumOfFirmwares は１、FirmwareID は１とされている。そのFirmwareName はFirmware.bin とされ、FirmwareVersionは2.0.0.1 とされている。また、FirmwareSizeは12345678バイトとされている。FirmwareCRC32 は0x98765432 とされている。
【０１１３】
メディアレシーバ２２のソフトウェアダウンロードクライアント部４０２は、ステップＳ５７において、サーバ６１から送信されてきたソフトウェアリストを受信する。図１４に示されるように、このリストには、機器が更新可能なソフトウェアの数（NumOfFirmwares ）、名称（FirmwareName ）、サイズ（FirmwareSize ）、CRC（FirmwareCRC32 ）などが記述されている。
【０１１４】
ソフトウェアダウンロードクライアント部４０２は、ソフトウェアリストを取得したした後、機器Ａ（自分自身）が現在起動中のソフトウェアバージョン（pre_version_A ）とサーバ６１からのソフトウェアリストに記載されているソフトウェアバージョン（desired_version_A ）（図１４における機器ＡのFirmwareVersion ）を比較して、最新のソフトウェアが存在するか否かを判別する。同様に、機器Ｂ（パレットディスプレイ３１）から送信されてきたソフトウェアバージョン（pre_version_B ）（ステップＳ５２で受信した図８の要求に記述されているCurrentSoftwareVersion ）と、サーバ６１からのソフトウェアリストの機器Ｂの更新可能なソフトウェアバージョン（desired_version_B ）（図１４における機器ＢのFirmwareVersion ）を比較して、最新のソフトウェアが存在するか否かを判別する。なお、この判別では、バージョンの値がより大きい方が最新のバージョンであるとされる。サーバ６１からのリストのソフトウェアと現行のソフトウェアのバージョンが同一であれば、ソフトウェアは更新する必要がないため、処理は終了される。
【０１１５】
また、ステップＳ５７において、サーバ６１からソフトウェアリストを受信したとき、メディアレシーバ２２のソフトウェアバージョン管理部４０７は、ソフトウェアバージョンデータベース部２２１に、更新前と更新後のソフトウェアバージョン情報（pre_version_A ，pre_version_B ，desired_version_A ，desired_version_B ）をソフトウェア更新処理後のバージョン確認が正常に終了するまで保持させる。
【０１１６】
機器Ａと機器Ｂの両方の最新の（バージョンの値がより大きい）ソフトウェアが存在する場合（少なくとも、一方の最新のバージョンがある場合も含めるようにしてもよい）、ステップＳ５８において、ソフトウェアアップデータ部４０３は、パレットディスプレイ３１に対して、ソフトウェア更新開始応答（ステップＳ５２で、パレットディスプレイ３１から受信したソフトウェア更新開始要求に対応する応答）を送信する。図１５は、この場合のソフトウェア更新開始応答のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd はResponseStartSoftwareUpdate とされている。リクエスト（要求）に対する結果を表わすパラメータResponseCode は、この場合、ACKとされる。また、相手先の機器を表わすDeviceID は、機器Ｂ固有のＩＤとされ、今の場合、SRP000010020 とされている。機器Ｂの現在のソフトウェアバージョンを表わすパラメータCurrentSoftwareVersion は、今の場合、1.0.0.0 （ステップＳ５２で受信されたパレットディスプレイ３１からの要求（図８）に記述されていた値）とされている。機器Ｂの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、この例の場合、2.0.0.1 （ステップＳ５７で、サーバ６１から受信したソフトウェアリスト（図１４）に記述されていた値）とされている。送信先の機器を表わすDeviceID は、今の場合、機器Ａ固有のＩＤであるSRM000010324 とされている。機器Ａの現在のソフトウェアバージョンを表わすパラメータCurrentSoftwareVersion は、1.0.0.3 とされている。機器Ａの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.5 （ステップＳ５７で、サーバ６１から受信したソフトウェアリスト（図１４）に記述されていた値）とされている。
【０１１７】
図１６は、ソフトウェア更新開始応答メッセージの具体的な例を表している。この例においては、機器Ａのソフトウェアの現在のバージョンを表わすパラメータCurrentVersion は1.0.0.3とされ、最近のソフトウェアのバージョンを表わすパラメータDesiredVersion は2.0.0.5とされている。
【０１１８】
また、機器ＢのパラメータCurrentVersion は1.0.0.0 とされ、パラメータDesiredVersion は、2.0.0.1とされている。
【０１１９】
ステップＳ１３において、パレットディスプレイ３１のソフトウェアアップデータ部５０１は、メディアレシーバ２２から送信されてきたソフトウェア更新開始応答を受信する。このとき、パレットディスプレイ３１のソフトウェアバージョン管理部５０５は、ソフトウェアバージョンデータベース部３５１に、更新前と更新後のソフトウェアバージョン情報（pre_version_A ，pre_version_B ，desired_version_A ，desired_version_B ）をソフトウェア更新処理後のバージョン確認が正常に終了するまで保持させる。
【０１２０】
ステップＳ５９において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１にソフトウェアリストを転送する。図１７には、このソフトウェアリスト転送要求のプロトコルフォーマットの例が示されている。この例においては、コマンド名を表すパラメータCommannd は、RequestTransferFirmwareList とされる。送信するファームウェアの数を表すパラメータFirmwareNumber は、この例の場合、１とされている。
【０１２１】
また、パラメータFirmwareID ，FirmwareName ，FirmwareVersion ，FirmwareSize 、および FirmwareCRC32 は、送信されるファームウェアの数の分（図１７の例の場合、FirmwareNumberが１であるので１回）だけ繰り返される。
【０１２２】
FirmwareID は、ファームウェアのＩＤを表し、FirmwareName は、ファームウェアの名称を表す。例えば、この例では、Firmware.bin とされている。パラメータFirmwareVersion は、ファームウェアのバージョンを表し、この例の場合、2.0.0.1とされている。ファームウェアのサイズを表すパラメータFirmwareSize は、この例の場合、1024000とされている。チェックサムを表すFirmwareCRC32 は、この例の場合、0x5E1234E5 とされている。
【０１２３】
このように、このソフトウェアリストには、ファイル数（FirmwareNumber ）、ファイル名（FirmwareName ）、サイズ（FirmwareSize ）、およびCRC（FirmwareCRC32 ）などが含まれている。
【０１２４】
ステップＳ１４において、パレットディスプレイ３１のソフトウェアアップデータ部５０１は、メディアレシーバ２２からのソフトウェアリストを受信すると、ステップＳ１５において応答を返す。このソフトウェアリスト転送要求の応答のプロトコルフォーマットの例が図１８に示されている。
【０１２５】
図１８の例においては、コマンド名を表すパラメータCommannd は、ResponseTransferFirmwareList とされている。また、リクエストに対する結果であることを表すパラメータResponseCode は、ACKとされている。
【０１２６】
メディアレシーバ２２のソフトウェアアップデータ部４０３は、ステップＳ６０において、パレットディスプレイ３１からの応答を受信すると、ステップＳ６１において、ソフトウェアダウンロード要求をサーバ６１へ出力する。
【０１２７】
この場合におけるソフトウェアダウンロード要求のプロトコルフォーマットは、図１２に示される場合のフォーマットと同一とされる。
【０１２８】
ステップＳ９６において、サーバ６１は、メディアレシーバ２２からのソフトウェアダウンロード要求を受信すると、ステップＳ９７において、メディアレシーバ２２に対して応答を返す。この場合におけるソフトウェアダウンロード要求の応答のプロトコルフォーマットは、図１３に示す場合と同様とされる。すなわち、これにより、ソフトウェアがダウンロードされる。
【０１２９】
ステップＳ６２において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、サーバ６１からの応答を受信する（ソフトウェアを受信する）。そして、ステップＳ６３において、ソフトウェアアップデータ部４０３は、ソフトウェアをパレットディスプレイ３１に転送する。図１９は、この場合におけるソフトウェア転送要求のプロトコルフォーマットの例を表している。コマンド名を表すパラメータCommannd は、この例の場合、RequestTransferFirmware とされている。ファームウェアＩＤを表すパラメータFirmwareID は、この例の場合、１とされている。ファームウェア名を表すパラメータFirmwareName は、この例の場合、Firmware.bin とされている。転送サイズを表すパラメータSize は、1024とされ、シーケンス番号を表すパラメータSequenceNumber は、この例の場合、１とされている。
【０１３０】
図２０は、ソフトウェア転送要求の具体的な例を表している。この例においては、Firmwareのidは１とされ、name はFirmware.bin とされ、サイズは1024とされ、crc32 は1234CDEF とされている。また、sequence は１とされている。また、Data には所定のバイナリデータが記述される。
【０１３１】
ステップＳ１６において、パレットディスプレイ３１のソフトウェアアップデータ部５０１は、メディアレシーバ２２からのソフトウェア転送要求を受信する（ソフトウェアを受信する）。ステップＳ１７において、ソフトウェアアップデータ部５０１は、メディアレシーバ２２に対して応答を返す。図２１は、この場合におけるソフトウェア転送応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はResponseTransferFirmware とされている。転送結果を表すパラメータResponseCode は、ACK とされている。ファームウェアＩＤを表すパラメータFirmwareID は１とされ、シーケンス番号を表すパラメータSequenceNumber は１とされている。
【０１３２】
図２２は、ソフトウェア転送応答の具体的な例を表している。この例においては、パラメータFirmwareのidは１、sequence は１とされている。また、Result は、ＯＫとされている。
【０１３３】
ステップＳ６４において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１からの応答を受信する。
【０１３４】
以上のような処理が繰り返し実行されて、ソフトウェアが順次転送される。
【０１３５】
以上のようにして、すべてのソフトウェアが、メディアレシーバ２２からパレットディスプレイ３１に転送された後、ステップＳ６５において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、ソフトウェア書き込み処理をパレットディスプレイ３１と同期して実行するために、ソフトウェア書き込み開始要求をパレットディスプレイ３１に出力する。図２３は、この場合におけるソフトウェア書込開始要求のプロトコルフォーマットの例を表している。コマンド名を表すパラメータCommannd は、この例の場合、RequestFirmwareWrite とされている。ファームウェアＩＤを表すパラメータFirmwareID は、この例の場合、１とされている。ファームウェア名を表すパラメータFirmwareName は、この例の場合、Firmware.bin とされている。そして、ステップＳ６６において、ファームウェアライタ部４０４は、ソフトウェア書き込み処理を実行する。このとき、新たに更新されるソフトウェアは、バンク２２２Ａ，バンク２２２Ｂのうちの、現在のソフトウェアが記憶されていない方に書き込まれる。これにより、書き込み途中に電源がオフされたとしても、更新前のバンクには影響しないため、異常終了に対して堅牢なシステムを実現することができる。
【０１３６】
同様に、ステップＳ１８において、パレットディスプレイ３１のソフトウェアアップデータ部５０１は、ソフトウェア書き込み開始要求をメディアレシーバ２２から受信すると、ステップＳ１９において、ファームウェアライタ部５０２は、ソフトウェア書き込み処理を実行する。この場合にも、バンク３５２Ａ，３５２Ｂのうち更新前のソフトウェアが記憶されていない方に更新用のソフトウェアが書き込まれる。このため、書き込み途中に電源がオフされたとしても、更新前のバンクには影響しないため、異常終了に対して堅牢なシステムを実現することができる。
【０１３７】
また、ソフトウェア書き込み処理がメディアレシーバ２２とパレットディスプレイ３１との間で同期して行われるため、一方だけが成功し、他方が失敗して、両方の間でソフトウェアに関して整合がとれなくなるような事態の発生が抑制される。
【０１３８】
ソフトウェア書き込み処理が終了すると、ステップＳ２０において、ソフトウェアアップデータ部５０１は、メディアレシーバ２２に対して、ソフトウェア書き込み終了応答を送信する。図２４は、この場合におけるソフトウェア書込終了応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はResponseFirmwareWrite とされている。転送結果を表すパラメータResponseCode は、ACK またはNYETとされる。ファームウェアＩＤを表すパラメータFirmwareID は１とされている。パラメータFirmwareName は、Firmware.bin とされている。ステップＳ６７において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、メディアレシーバ２２とパレットディスプレイ３１の両方において、ソフトウェアの書き込み処理が同期して行われたことを確認する（それぞれのバンクに、更新用のソフトウェアが記憶されたことを確認する）。そして、ステップＳ６８において、ソフトウェアアップデータ部４０３は、やはり同期処理のため、パレットディスプレイ３１に対して、ソフトウェア更新適用開始要求を送信する。このソフトウェア更新適用要求のプロトコルフォーマットの例が、図２５に示されている。この例においては、コマンド名を表すパラメータCommannd は、RequestFirmwareUpdate とされている。
【０１３９】
ステップＳ６９において、ブートセレクタ部４０６は、ソフトウェア適用処理を実行する。すなわち、起動するソフトウェアを指定するブートパラメータとしては、バンク２２２Ａ，２２２Ｂのうち、更新前のソフトウェアが記憶されている方が記述されているので、これを更新後の（これから実行する）ソフトウェアが記憶されているバンクに書き換える。これにより、ソフトウェアの再起動は、更新用バンクに記述されているソフトウェアについて行われることになる。
【０１４０】
ステップＳ２１において、ソフトウェアアップデータ部５０１が、メディアレシーバ２２からのソフトウェア更新適用開始要求を受信すると、ステップＳ２２において、ブートセレクタ部５０４は、ソフトウェア適用処理を同期して実行する。この場合にも、ブートセクタ部５０４は、更新用バンクからソフトウェアを起動するように、ブートパラメータを書き換える。
【０１４１】
ソフトウェア適用処理が完了すると、ステップＳ２３において、ソフトウェアアップデータ部５０１は、ソフトウェア再起動を同期して実行するために、ソフトウェア更新適用完了応答をメディアレシーバ２２に送信する。このソフトウェア更新適用完了応答のプロトコルフォーマットの例が、図２６に示されている。同図に示されるように、コマンド名を表すパラメータCommannd は、この例においては、ResponseFirmwareUpdate とされている。そして、リクエストに対する結果を表すパラメータResponseCode は、ACK とされている。
【０１４２】
ステップＳ７０において、メディアレシーバ２２のソフトウェアアップデータ部４０３が、パレットディスプレイ３１からのソフトウェア更新適用完了応答を受信すると、ステップＳ７１において、ブートセレクタ部４０６は、ソフトウェア再起動処理を実行する。上述したように、ステップＳ６９の処理でブートパラメータが書き換えられているので、この更新処理は、更新用ソフトウェアについて実行される。詳細は後述するが、再起動後、ソフトウェアの書き換え処理の失敗や何らかの原因により、一定回数以上ソフトウェアが正常に起動できなかった場合、ソフトウェアの復元処理が行われる。ソフトウェアの復元処理は、更新前のバンクから起動し直すように、ブートパラメータを書き換えることにより行われる。
【０１４３】
ブートセレクタ部４０６は、自分自身のソフトウェア更新処理が正常に行われたかを判別する。正常に書き換えが行われたかの判別は、再起動時のソフトウェアバージョン（current_version_A ）とソフトウェアバージョンデータベース部２２１に保持している更新後のソフトウェアのバージョン（desired_version_A ）とを比較することで行われる。両者が等しい場合には、更新処理が成功したものと判定され、そうでなければ、更新処理が失敗したものと判定される。
【０１４４】
ステップＳ２３において、ソフトウェア更新適用完了応答がメディアレシーバ２２に送信された後、ステップＳ２４において、パレットディスプレイ３１においても、ブートセレクタ部５０４によりソフトウェア再起動処理が実行される。その処理は、メディアレシーバ２２におけるソフトウェア再起動処理と同様である。
【０１４５】
以上のようにして、ソフトウェア再起動処理が実行された後、ステップＳ２５とステップＳ７２において、パレットディスプレイ３１のソフトウェアアップデータ部５０１とメディアレシーバ２２のソフトウェアアップデータ部４０３は、相互に機器間相互認証を行う。
【０１４６】
自分自身のソフトウェアバージョンが正しく更新されたことを確認した後、ステップＳ２６において、ソフトウェアアップデータ部５０１は、メディアレシーバ２２に対して、ソフトウェアバージョン確認要求を送信する。このソフトウェアバージョン確認要求のプロトコルフォーマットの例が、図２７に示されている。コマンド名を表すパラメータCommannd は、この例の場合、RequestConfirmSoftwareVersion とされている。また、この要求は、機器Ｂから送信されるので、DeviceIDには、機器Ｂ固有のＩＤであるSRP000010020 が記述されている。さらに、機器Ｂの現在のソフトウェアバージョン（更新後のバージョン）を表すPostSoftwareVersion は、2.0.0.1とされている。
【０１４７】
図２８は、ソフトウェアバージョン確認要求の具体的な例を表している。この例においては、コマンド名は、RequestConfirmSoftwareVersion とされている。DeviceIDとして機器ＢのＩＤが記述され、そのCurrentVersion は、2.0.0.1 とされている。
【０１４８】
メディアレシーバ２２において、ソフトウェアアップデータ部４０３が、ステップＳ７３において、パレットディスプレイ３１からのソフトウェアバージョン確認要求を受信すると、ステップＳ７４において、ソフトウェアアップデータ部４０３は、パレットディスプレイ３１に対して、ソフトウェアバージョン確認応答を送信する。図２９は、このソフトウェアバージョン確認応答のプロトコルフォーマットの例を表している。コマンド名を表すパラメータCommannd は、この例の場合、ResponseConfirmSoftwareVersion とされている。また、リクエストに対する結果を表すパラメータResponseCode は、ACK とされている。DeviceID は、今の例の場合、機器Ａ固有のＩＤであるSRM000010324 が記述されている。機器Ａの現在のソフトウェアバージョン（更新後のバージョン）を表すパラメータPostSoftwareVersion は、2.0.0.5とされている。
【０１４９】
図３０は、ソフトウェアバージョン確認応答の具体的な例を表している。この例においては、コマンド名はResponseConfirmSoftwareVersion とされ、Result はＯＫとされている。また、DeviceIDには、機器Ａの固有のＩＤが記述されている。そして、そのCurrentVersion は、2.0.0.5 とされている。
【０１５０】
ステップＳ７３において、ソフトウェアバージョン確認要求を受信すると、ソフトウェアアップデータ部４０３は、機器Ｂの更新後のソフトウェアバージョン（desired_version_B ）（ステップＳ５７でソフトウェアバージョンデータベース部２２１に保持させたdesired_version_B （図１６の機器Ｂのdesired_version_B ））と、ステップＳ７３で機器Ｂから受信したソフトウェアバージョン（post_version_B）（図２８の機器Ｂのcurrent_version ）が一致した場合、相手方のソフトウェアの更新の成功が確認され、自分自身の成功はステップＳ７１で確認しているので、お互いにソフトウェア更新は成功したものと判定する。
【０１５１】
メディアレシーバ２２が、ファームウェア更新処理に成功しても、パレットディスプレイ３１が、ファームウェア更新処理に失敗した場合（パレットディスプレイ３１の更新前に期待されたバージョンと更新後のバージョンに不一致が生じて、パレットディスプレイ３１が、ソフトウェア更新に失敗したものと判定した場合）、メディアレシーバ２２は、更新処理前のバージョン（pre_version_A ）にソフトウェアを復元する。その結果、メディアレシーバ２２とパレットディスプレイ３１が実質的に関連した動作ができなくなるような事態の発生が抑制される。再起動後のソフトウェアバージョンの確認が行われ、両者のバージョンがソフトウェア更新前に戻るまで、同様の処理が繰り返される。すべての機器の復元処理が完了して初めて、ソフトウェア更新処理が終了される。これにより、ファームウェア書き換え失敗時にも、ソフトウェアの整合性を保持することが可能となる。
【０１５２】
メディアレシーバ２２は、すべての機器がソフトウェアの更新処理に成功したのを確認した後、ステップＳ７４において、ソフトウェアバージョン確認要求にACKで応答する。ACKを返す以前に、パレットディスプレイ３１の電源がオフされたとしても、再度、ソフトウェアバージョン確認要求に、ACKを返すようにすれば問題が発生しない。
【０１５３】
ステップＳ２７において、ソフトウェアアップデーア部４０３は、メディアレシーバ２２からのソフトウェアバージョン確認応答を受信する。
【０１５４】
以上のようにして処理が行われた後、ステップＳ２８とステップＳ７５において、それぞれ、パレットディスプレイ３１とメディアレシーバ２２において、ソフトウェア更新処理完了処理が実行される。
【０１５５】
メディアレシーバ２２とパレットディスプレイ３１の間のトランザクション中に、何らかの原因により、更新処理の中断を余儀なくされた場合、ソフトウェア更新中止要求が送信される。また、更新処理中は、お互いに処理が進んでいることを確認し合い、ある一定時間以上メディアレシーバ２２とパレットディスプレイ３１との間の通信応答がない場合、ソフトウェア更新に失敗したものとして、双方のシステムを復元する処理が行われる。
【０１５６】
このほか例外処理として、次のようなものがある。すなわち、ソフトウェアのダウンロード中に、インターネット接続および無線通信が一定時間以上切断された場合は、両方ともソフトウェア更新を中止して、システムを復元する。ソフトウェア書き換え後、新しいソフトウェアの起動に一定回数以上失敗した場合にも、ソフトウェアの不具合、もしくはハードウェアの障害として、ソフトウェア更新に失敗したものと判定して、更新前のソフトウェアに復元する処理が実行される。
【０１５７】
図３１は、以上のソフトウェアを更新する場合における、不揮発性メモリ４０５のデータの書き換えの原理を表している。
【０１５８】
同図に示されるように、当初、バンク２２２Ａには、システム１としてバージョン1.0.0.3 のソフトウェアが記憶されている。そして、ブートパラメータとしては、システム１が記述されている。システム２を記憶するための他方のバンク２２２Ｂには、まだソフトウェアは記憶されていない。
【０１５９】
そして、ソフトウェアバージョンデータベース部２２１には、ステップＳ５７の処理により、ソフトウェアバージョンデータベース書き換え処理が行われる。この例においては、機器Ａの更新前のバージョンは1.0.0.3 、更新後のバージョンは2.0.0.5 とされている。また、機器Ｂの更新前のバージョンは1.0.0.0 、更新後のバージョンは2.0.0.1 とされている。
【０１６０】
ステップＳ６２において、ソフトウェアがダウンロードされると、ステップＳ６６において、その更新用のソフトウェアはバンク２２２Ｂにシステム２として記憶される。
【０１６１】
そして、ステップＳ６９の処理で、ブートパラメータ２２４が、システム１からシステム２に更新される。さらに、ステップＳ７３において、ソフトウェアバージョンデータベース部２２１の書き換え処理が行われる。この例の場合、機器Ａの更新前のバージョンが2.0.0.5とされ、更新後のバージョンは「なし」とされる。そして、機器Ｂの更新前のバージョンは2.0.0.1とされ、更新後のバージョンは「なし」とされる。
【０１６２】
次に、メディアレシーバ２２とパレットディスプレイ３１の個々の処理の詳細について説明する。最初に、図３２乃至図３４のフローチャートを参照して、メディアレシーバ２２の処理の詳細について説明する。
【０１６３】
ステップＳ３０１において、ソフトウェアアップデータ部４０３は、機器Ｂ（パレットディスプレイ３１）との間で機器間相互認証をする。この処理は、図７のステップＳ５１の処理に対応する。次に、ステップＳ３０２において、ソフトウェアアップデータ部４０３は、機器Ｂからソフトウェア更新開始要求を受信する。この処理は、図７のステップＳ５２の処理に対応する。ステップＳ３０３において、ソフトウェアアップデータ部４０３は、サーバ６１と接続する。この接続処理は、SSL通信により行われる。この処理は、図７のステップＳ５３の処理に対応する。
【０１６４】
ステップＳ３０４において、ソフトウェアダウンロードクライアント部４０２は、サーバ６１と接続できたかを判定する。サーバ６１と接続できた場合には、ステップＳ３０５において、ソフトウェアダウンロードクライアント部４０２は、機器認証要求をサーバ６１に送信する。この処理は、図７のステップＳ５４の処理に対応する。ステップＳ３０６において、ソフトウェアダウンロードクライアント部４０２は、機器認証応答をサーバ６１から受信する。この処理は、図７のステップＳ５５の処理に対応する。
【０１６５】
ステップＳ３０７において、ソフトウェアダウンロードクライアント部４０２は、ダウンロードサービスを提供してもらえるかを判定する。この判定は、パラメータResponseCode （図１１）から判定することができる（このコードがAuthenticationSuccess であればダウンロードサービスの提供を受けることが可能と判定される）。
【０１６６】
ダウンロードサービスをサーバ６１から提供してもらえる場合には、ステップＳ３０８において、ソフトウェアダウンロードクライアント部４０２は、サーバ６１に対してソフトウェアリストを要求する。この処理は、図７のステップＳ５６の処理に対応する。次に、ステップＳ３０９において、ソフトウェアダウンロードクライアント部４０２は、応答（ソフトウェアリスト）をサーバ６１から受信する。この処理は、図７のステップＳ５７の処理に対応する。次に、ステップＳ３１０において、ソフトウェアアップデータ部４０３は、ステップＳ３０９の処理で受信したソフトウェアリストを解析する。そして、ステップＳ３１１において、ソフトウェアアップデータ部４０３は、解析の結果、最新ソフトウェアが存在するかを判定する。最新ソフトウェアが存在するか否かは、より大きい値のバージョンのソフトウェアが存在するか否かから判定することができる。
【０１６７】
ステップＳ３０４において、サーバ６１と接続できないと判定された場合、ステップＳ３０７において、サーバ６１からダウンロードサービスを提供してもらえないと判定された場合、並びに、ステップＳ３１１において、最新ソフトウェアが存在しないと判定された場合、処理はステップＳ３１２に進み、ソフトウェアアップデータ部４０３は、エラー処理を実行する。そして、ソフトウェア更新処理が終了される。
【０１６８】
ステップＳ３１１で、最新のソフトウェアが存在すると判定された場合には、ステップＳ３１３において、ソフトウェアアップデータ部４０３は、ソフトウェア更新パラメータを設定する。具体的には、例えば、desired_version_A に、機器Ａのソフトウェア更新後に期待されるソフトウェアバージョン（ステップＳ３０９で受信したソフトウェアリストに記述されている）が記述される。そして、desired_version_B に、機器Ｂのソフトウェア更新後に期待されるソフトウェアバージョン（ステップＳ３０９で受信したソフトウェアリストに記述されている）が記述される。さらに、pre_version_A に機器Ａのソフトウェア更新開始時のソフトウェアバージョンが記述され、pre_version_B に機器Ｂのソフトウェア更新開始時のソフトウェアバージョン（ステップＳ３０２で機器Ｂから受信した要求に記述されている）が記述される。そしてさらに、ソフトウェア更新フラグが更新中と設定される。
【０１６９】
ステップＳ３１４において、ソフトウェアアップデータ部４０３は、機器Ｂ（パレットディスプレイ３１）にソフトウェア更新開始応答を送信する。この処理は、図７のステップＳ５８の処理に対応する。ステップＳ３１５において、ソフトウェアアップデータ部４０３は、ソフトウェアリストを機器Ｂに転送する。この処理は、図７のステップＳ５９の処理に対応する。
【０１７０】
ステップＳ３１６において、ソフトウェアアップデータ部４０３は、機器Ｂからソフトウェア転送に対するACK（応答）信号を受信する。この処理は、図７のステップＳ６０の処理に対応する。ステップＳ３１７において、ソフトウェアアップデータ部４０３は、サーバ６１にソフトウェアダウンロードを要求する。この処理は、図７のステップＳ６１の処理に対応する。次に、ステップＳ３１８において、ソフトウェアアップデータ部４０３は、サーバ６１からの応答（ソフトウェア）を受信する。この処理は、図７のステップＳ６２の処理に対応する。
【０１７１】
次に、ステップＳ３１９において、ソフトウェアアップデータ部４０３は、ステップＳ３１８においてダウンロードしたソフトウェアは、機器Ｂのものかを判定する。ダウンロードしたソフトウェアが機器Ｂのものである場合には、ステップＳ３２０において、ソフトウェアアップデータ部４０３は、ソフトウェアを機器Ｂへ転送する（ソフトウェア転送要求を出力する）。この処理は、図７のステップＳ６３の処理に対応する。次に、ステップＳ３２１において、ソフトウェアアップデータ部４０３は、機器Ｂからソフトウェアの転送に対するACKを受信する。この処理は、図７のステップＳ６４の処理に対応する。
【０１７２】
ステップＳ３１９において、ダウンロードしたソフトウェアが機器Ｂのものではないと判定された場合、すなわち、機器Ａのものである場合、ステップＳ３２２において、ソフトウェアアップデータ部４０３は、ソフトウェアを機器Ａのメモリに保存する。この記憶は一時的なものであり、バンク２２２Ａまたは２２２Ｂへの書き込みは、後述するステップＳ３２５で行われる。
【０１７３】
ステップＳ３２１またはステップＳ３２２の処理の後、ステップＳ３２３において、ソフトウェアアップデータ部４０３は、更新用のソフトウェアをすべてダウンロードしたかを判定する。まだ、すべての更新用のソフトウェアをダウンロードしていない場合には、処理はステップＳ３１７に戻り、それ以降の処理が繰り返し実行される。
【０１７４】
更新用ソフトウェアをすべてダウンロードしたと判定された場合、ステップＳ３２４において、ソフトウェアアップデータ部４０３は、同期処理のための機器Ｂにソフトウェア書き込み要求を送信する。この処理は、図７のステップＳ６５の処理に対応する。次に、ステップＳ３２５において、ファームウェアライタ部４０４は、機器Ａのソフトウェア書き込み処理を実行する。すなわち、ステップＳ２２２で一時的に記憶された更新用のソフトウェアが、バンク２２２Ａと２２２Ｂのうちの、更新前のソフトウェアが記憶されている方に書き込まれる。この処理は、図７のステップＳ６６の処理に対応する。
【０１７５】
次に、ステップＳ３２６において、ソフトウェアアップデータ部４０３は、機器ＢからACK を受信したかを判定し、受信していない場合、受信するまで待機する。この処理は、図７のステップＳ６７の処理に対応する。
【０１７６】
機器ＢからACKを受信したと判定された場合、ステップＳ３２７において、ソフトウェアアップデータ部４０３は、同期処理のため、機器Ｂにソフトウェア更新適用開始要求を送信する。この処理は、図７のステップＳ６８の処理に対応する。ステップＳ３２８において、ソフトウェアアップデータ部４０３は、機器Ａのソフトウェア適用処理を実行する。すなわち、ブートパラメータが、ステップＳ３２５の処理で更新用のソフトウェアが記憶されたバンクを指示するように書き換えられる。この処理は、図７のステップＳ６９の処理に対応する。次に、ステップＳ３２９において、ソフトウェアアップデータ部４０３は、機器Ｂからソフトウェア更新適用完了応答を受信する。この処理は、図７のステップＳ７０の処理に対応する。
【０１７７】
次に、ステップＳ３３０において、ブートセレクタ部４０６は、ソフトウェア再起動処理を実行する。ソフトウェア再起動処理の詳細は、図３５のフローチャートを参照して後述するが、これにより、ブートパラメータで設定されたバンクに記憶されている更新用のソフトウェアが起動される。この処理は、図７のステップＳ７１の処理に対応する。ステップＳ３３１において、ブートセレクタ部４０６は、再起動処理は成功したかを判定する。再起動処理が成功した場合、ステップＳ３３２において、ブートセレクタ部４０６は、ソフトウェア更新中であるのかを判定する。この判定は、ステップＳ３１３で設定されているフラグに基づいて行われる。ソフトウェアが更新中ではないと判定された場合には、処理は通常動作として終了される。ソフトウェア更新中である場合には、ステップＳ３３３において、リモートコミュニケータ部４０８はワイヤレスネットワークインターフェース部４０９を介して機器Ｂの接続を待つ。そして、ステップＳ３３４において、リモートコミュニケータ部４０８は機器Ｂと接続する。
【０１７８】
次に、ステップＳ３３５において、ソフトウェアアップデータ部４０３は、機器間相互認証をする。この処理は、図７のステップＳ７２の処理に対応する。ステップＳ３３６において、ソフトウェアアップデータ部４０３は、パレットディスプレイ３１からソフトウェアバージョン確認要求を受信する。この処理は、図７のステップＳ７３の処理に対応する。
【０１７９】
ソフトウェアバージョン確認要求を受信したとき、ステップＳ３３７において、ソフトウェアアップデータ部４０３は、機器Ｂにdesired_version_Bは設定されているかを判定する。機器Ｂにdesired_version_B が設定されていない場合、ステップＳ３３０（後述する図３５のステップＳ４２２）において、desired_version_B にundef が設定されているので、この設定に基づいてこの判定が行われる。desired_version_B が設定されていない場合には、ステップＳ３３８において、ソフトウェアアップデータ部４０３は、ソフトウェアバージョン確認応答（NAK）をパレットディスプレイ３１（機器Ｂ）に送信する。その後、処理はステップＳ３３３に戻り、それ以降の処理が繰り返し実行される。
【０１８０】
ステップＳ３３７において、desired_version_B が設定されていると判定された場合、ステップＳ３３９において、ソフトウェアアップデータ部４０３は、desired_version_B がpost_version_B と等しいかを判定する。post_version_B は、ステップＳ３３６でパレットディスプレイ３１から受信された要求（図２８）に記述されているCurrentVersion である。両者が等しくない場合には、ステップＳ３４０において、ソフトウェアアップデータ部４０３は、パレットディスプレイ３１にソフトウェアバージョン確認応答（NAK）を送信する。その後、処理は後述する図３５のステップＳ４０７に進む。
【０１８１】
ステップＳ３３１において、再起動処理が成功しなかったと判定された場合にも、処理は、後述する図３５のステップＳ４０７に進む。詳細は後述するが、ステップＳ４０７以降でソフトウェア復元処理が実行される。すなわち、ソフトウェア更新処理は中止され、更新前のソフトウェアの再起動処理が行われる。
【０１８２】
ステップＳ３３９において、desired_version_B がpost_version_B と等しいと判定された場合（機器Ｂのソフトウェアの更新が成功した（機器Ａのソフトウェアの更新も成功している）場合）、ステップＳ３４１において、ソフトウェアアップデータ部４０３は、ソフトウェアバージョン確認応答（ACK）をパレットディスプレイ３１に送信する。この処理は、図７のステップＳ７４の処理に対応する。さらに、ステップＳ３４２において、ソフトウェアアップデータ部４０３は、ソフトウェア更新処理確定処理を実行する。具体的には、pre_version_A にcurrent_version_A を設定する。さらに、ソフトウェア更新フラグがオフに設定される。この処理は、図７のステップＳ７５の処理に対応する。以上で、ソフトウェア更新処理が正常終了とされる。
【０１８３】
次に、図３５のフローチャートを参照して、図３４のステップＳ３３０におけるソフトウェア再起動処理の詳細について説明する。ステップＳ４０１において、ブートセレクタ部４０６は、ブートロムを読み込む。ブートロムには上述したように、ブートパラメータが記述されている。ステップＳ４０２において、ブートセレクタ部４０６は、起動回数を読み込む。この起動回数を表わす変数は、当初０に設定（リセット）されている。
【０１８４】
ブートセレクタ部４０６は、ステップＳ４０４で、ステップＳ４０１で読み込んだブートロムに記述されているブートプログラムを実行する。ステップＳ４０３において、ブートセレクタ部４０６は、ソフトウェア更新中であるかを判定する。この判定は、ステップＳ３４２で設定されるソフトウェア更新フラグに基づいて行われる。ソフトウェアを更新中である場合には、ステップＳ４０５において、ブートセレクタ部４０６は、ステップＳ４０３で読み込んだ起動回数があらかじめ設定してある一定回数以上かを判定する。起動回数が一定回数以上である場合には、ステップＳ４０６において、ブートセレクタ部４０６は、ファームウェア書き換え失敗とする。そして、ステップＳ４０７，Ｓ４０８のソフトウェア復元処理が実行される。すなわち、ステップＳ４０７において、ブートセレクタ部４０６は、起動回数を０にリセットする。さらに、ステップＳ４０８において、ブートセレクタ部４０６は、ブートパラメータを変更する。すなわち、更新前のプログラムを実行するようにブートパラメータが書き換えられる。ステップＳ４０９において、ブートセレクタ部４０６は、ブートパラメータに記述されているバンクに記憶されているソフトウェアを再起動する処理を実行する。その後処理はステップＳ４０１に戻り、それ以降の処理が繰り返し実行される。
【０１８５】
ステップＳ４０５において、起動回数が一定回数以上ではないと判定された場合、並びに、ステップＳ４０４において、ソフトウェアが更新中ではないと判定された場合、ステップＳ４１０において、ブートセレクタ部４０６は、起動回数を１だけインクリメントする。そして、ステップＳ４１１において、ブートセレクタ部４０６は、ブートパラメータを読み込む。ステップＳ４１２において、ブートセレクタ部４０６は、システム１もしくはシステム２のプログラムを読み込む。システム１とシステム２のいずれのプログラムが読み込まれるかは、ステップＳ４１１で読み込んだブートパラメータに設定されていることになる。
【０１８６】
ステップＳ４１３において、ブートセレクタ部４０６は、メインプログラムを実行する。すなわち、ステップＳ４１２で読み込んだプログラムが実行されることになる。ステップＳ４１４において、ブートセレクタ部４０６は、ハードウェアを自己診断する。ステップＳ４１５において、ブートセレクタ部４０６は、ステップＳ４１４の自己診断の結果、ソフトウェアは正常に起動したかを判定する。ソフトウェアが正常に起動していない場合には、処理はステップＳ４０１に戻り、それ以降の処理が繰り返し実行される。
【０１８７】
ステップＳ４１５において、ソフトウェアが正常に起動したと判定された場合、ステップＳ４１６において、ブートセレクタ部４０６は、起動回数を０にリセットする。ステップＳ４１７において、ブートセレクタ部４０６は、今、ソフトウェアは更新中であるかを判定し、ソフトウェア更新中である場合には、ソフトウェアバージョン管理部４０７は、ステップＳ４１８において、バージョンをソフトウェアバージョンデータベース部２２１から読み込む。そして、ステップＳ４１９において、ソフトウェアバージョン管理部４０７は、current_version_A とpre_version_A の値を比較し、前者が後者より大きいかを判定する。current_version_A がpre_version_A より大きい場合には、ステップＳ４２０において、ソフトウェアバージョン管理部４０７は、desired_version_A とcurrent_version_A が等しいかを判定する。両者が等しい場合には（最終的に、ソフトウェアが最新のバージョンに更新されていると判定されるので）、ステップＳ４２１において、ソフトウェアバージョン管理部４０７は、再起動処理成功として処理を終了させる。
【０１８８】
current_version_A がpre_version_A より大きくても、ステップＳ４２０において、desired_version_A とcurrent_version_A が等しくないと判定された場合には、結局、ソフトウェアは最新のバージョンに更新されていないので、再起動処理失敗として処理は終了される。
【０１８９】
ステップＳ４１９において、current_version_A がpre_version_A と等しいか、それより小さいと判定された場合には、ソフトウェアは最新のバージョンに更新されていないので、ステップＳ４２２において、ソフトウェアバージョン管理部４０７は、バージョンパラメータをリセットする。具体的には、desired_version_A をundef とする。このundef は、設定が行われていないことを意味する。同様に、desired_version_B もundef とされる。さらに、ソフトウェア更新フラグはオフされる。
【０１９０】
ステップＳ４２３において、ソフトウェアバージョン管理部４０７は、ソフトウェア更新処理を失敗とする。しかし、ソフトウェアの更新は失敗したものの、ソフトウェアの起動自体は成功したので、ステップＳ４２４において、ブートセレクタ部４０６は正常起動として処理を終了する。
【０１９１】
ステップＳ４１７において、ソフトウェアが更新中ではないと判定された場合にも、ステップＳ４２４において、ブートセレクタ部４０６は正常起動として処理を終了する。
【０１９２】
ステップＳ４２１，Ｓ４２４の処理が行われた場合、図３４のステップＳ３３１で再起動処理は成功したと判定され、ステップＳ４２０でＮＯと判定された場合には、再起動処理は失敗したと判定される。
【０１９３】
次に、図３６と図３７のフローチャートを参照して、パレットディスプレイ３１（機器Ｂ）のソフトウェア更新処理の詳細について説明する。ステップＳ５０１において、ソフトウェアアップデータ部５０１は、機器間相互認証する。この処理は、図７のステップＳ１１の処理に対応する。ステップＳ５０２において、ソフトウェアアップデータ部５０１は、機器Ａにソフトウェア更新開始要求を送信する。この処理は、図７のステップＳ１２の処理に対応する。ステップＳ５０３において、ソフトウェアアップデータ部５０１は、機器Ａからソフトウェア更新開始応答を受信する。この処理は、図７のステップＳ１３の処理に対応する。
【０１９４】
ステップＳ５０４において、ソフトウェアバージョン管理部５０５は、ソフトウェア更新パラメータを設定する。具体的には、パラメータの設定として、例えば、desired_version_A に、機器Ａのソフトウェア更新後に期待されるソフトウェアバージョンが記述され、desired_version_B に、機器Ｂのソフトウェア更新後に期待されるソフトウェアバージョンが記述される。さらに、pre_version_A に、機器Ａから通知された（図１６の）機器Ａのソフトウェアバージョンが記述され、pre_version_B に、機器Ｂのソフトウェア更新開始時のソフトウェアバージョンcurrent_version_Bが記述される。さらに、ソフトウェア更新フラグは、更新中と設定される。
【０１９５】
ステップＳ５０５において、ソフトウェアアップデータ部５０１は、機器Ａからソフトウェアリストを取得する。この処理は、図７のステップＳ１４の処理に対応する。ステップＳ５０６において、ソフトウェアアップデータ部５０１は、機器ＡにACK を送信する。この処理は、図７のステップＳ１５の処理に対応する。次に、ステップＳ５０７において、ソフトウェアアップデータ部５０１は、機器Ａから送信されてきたソフトウェアを受信する（ソフトウェア転送を受信する）。この処理は、図７のステップＳ１６の処理に対応する。ステップＳ５０８において、ソフトウェアアップデータ部５０１は、機器Ｂのメモリに受信したソフトウェアを保存する。この保存は、一時的なものであり、バンク３５２Ａ，３５２Ｂの記憶ではない。ステップＳ５０９において、ソフトウェアアップデータ部５０１は、機器ＡにACK を送信する。この処理は、図７のステップＳ１７の処理に対応する。
【０１９６】
次に、ステップＳ５１０において、ソフトウェアアップデータ部５０１は、更新用ソフトウェアをすべて取得したかを判定する。まだ更新用ソフトウェアを全て取得してない場合には、処理はステップＳ５０７に戻り、それ以降の処理が繰り返し実行される。ステップＳ５１０において、更新用ソフトウェアをすべて取得したと判定された場合には、ステップＳ５１１において、ソフトウェアアップデータ部５０１は、機器Ａからソフトウェア書き込み開始要求を受信する。これにより、バンク３５２Ａ，３５２Ｂのうちの、更新前のソフトウェアが記憶されていない方へ更新用のソフトウェアが書き込まれる。この処理は、図７のステップＳ１８の処理に対応する。ステップＳ５１２において、ファームウェアライタ部５０２は、機器Ｂのソフトウェア書き込み処理を実行する。この処理は、図７のステップＳ１９の処理に対応する。次に、ステップＳ５１３において、ソフトウェアアップデータ部５０１は、機器Ａにソフトウェア書き込み完了応答を送信する。この処理は、図７のステップＳ２０の処理に対応する。
【０１９７】
次に、ステップＳ５１４において、ソフトウェアアップデータ部５０１は、機器Ａからソフトウェア適用開始要求を受信する。この処理は、図７のステップＳ２１の処理に対応する。ステップＳ５１５において、ブートセレクタ部５０４は、機器Ｂのソフトウェア適用処理を実行する。すなわち、ブートパラメータの書き変え処理が実行される（更新用のソフトウェアが書き込まれたバンクがブートパラメータに記述される）。この処理は、図７のステップＳ２２の処理に対応する。ステップＳ５１６において、ソフトウェアアップデータ部５０１は、機器Ａにソフトウェア更新適用完了応答を送信する。この処理は、図７のステップＳ２３の処理に対応する。
【０１９８】
ステップＳ５１７において、ブートセレクタ部５０４は、ソフトウェア再起動処理を実行する。この処理の詳細は、図３８のフローチャートを参照して後述するが、これにより、更新用のソフトウェアが起動される。この処理は、図７のステップＳ２４の処理に対応する。ステップＳ５１８において、ブートセレクタ部５０４は、再起動処理は成功したかを判定する。再起動処理が成功した場合には、ステップＳ５１９において、ブートセレクタ部５０４は、今、ソフトウェア更新中であるかをフラグ（ステップＳ５０４で設定されている）に基づいて判定する。ソフトウェアが更新中である場合には、ステップＳ５２０において、リモートコミュニケータ部５０６は、機器Ａと接続する。ステップＳ５２１において、リモートコミュニケータ部５０６は、機器間相互認証をする。ステップＳ５２１の処理は、図７のステップＳ２５の処理に対応する。ステップＳ５２２において、ソフトウェアアップデータ部５０１は、機器Ａにソフトウェアバージョン確認要求を送信する。この処理は、図７のステップＳ２６の処理に対応する。ステップＳ５２３において、ソフトウェアアップデータ部５０１は、機器Ａからソフトウェアバージョン確認応答を受信する。この処理は、図７のステップＳ２７の処理に対応する。
【０１９９】
ステップＳ５２４において、ソフトウェアバージョン管理部５０５は、desired_version_A は設定されているかを判定する。desired_version_A が設定されている場合（後述する図３８のステップＳ６２３で、desired_version_A にundef が設定されていない場合）には、ステップＳ５２５において、ソフトウェアバージョン管理部５０５は、desired_version_A とpost_version_A が等しいかを判定する。post_version_Aは、ステップＳ５２３でメディアレシーバ２２から受信した応答に記述されている機器ＡのCurrentVersion に基づき設定されたものである。両者が等しい（ソフトウェアが更新されている）場合には、ステップＳ５２６において、ソフトウェアバージョン管理部５０５は、ソフトウェア更新処理確定処理を実行する。具体的には、pre_version_B にcurrent_version_B が設定される。さらに、ソフトウェア更新フラグがオフされる。ステップＳ５２６の処理は、図７のステップＳ２８の処理に対応する。
【０２００】
以上のようにして、ソフトウェア更新処理が正常終了とされる。
【０２０１】
ステップＳ５１８において、再起動処理が失敗したと判定された場合、処理は後述する図３８のステップＳ６０７に戻り、起動回数が０にリセットされた後、ステップＳ６０８において、ブートパラメータを変更した後、ステップＳ６０９で再起動が行われ、さらにステップＳ６０１に戻って、それ以降の処理が繰り返し実行される。
【０２０２】
ステップＳ５１９において、今、ソフトウェア更新中ではないと判定された場合には、通常動作終了として処理が終了される。
【０２０３】
ステップＳ５２４において、desired_version_A が設定されていないと判定された場合、並びに、ステップＳ５２５において、desired_version_A とpost_version_A が等しくないと判定された場合には、結局、ソフトウェアが更新できなかったことになるので、ステップＳ５２７において、ソフトウェアバージョン管理部５０５は、既にソフトウェアを復元済みであるかを判定する。すなわち、pre_version_B がcurrent_version_B と等しいかが判定される。ソフトウェアをまだ復元済みではない場合には、処理は図３８のステップＳ６０７に戻り、それ以降の処理が繰り返し実行される。
【０２０４】
すなわち、図３７のステップＳ５２４において、desired_version_A が設定されてないと判定された場合、結局、機器Ａでもソフトウェアの更新が失敗したことになる。そこで、ステップＳ５２７において、まだ、ソフトウェアを復元済みでない場合には、ステップＳ６０７に進み、復元処理が実行される。
【０２０５】
ステップＳ５２５において、desired_version_A がpost_version_A と等しくないと判定された場合にも、結局は機器Ａにおける更新処理が、当初予定したバージョンに更新されなかったことになる。したがって、この場合にも、ステップＳ５２４において、desired_version_A が設定されなかった場合と同様に、ステップＳ５２７以降の処理が実行される。
【０２０６】
ステップＳ５２７において、既に、ソフトウェアを復元済みであると判定された場合には、ステップＳ５２８において、ソフトウェアバージョン管理部５０５は、pre_version_A がpost_version_A と等しいかを判定する。両者が等しくない場合には、処理はステップＳ５２０に戻り、機器Ａにおいて復元処理が完了し、pre_version_A とpost_version_A が等しくなるまで、それ以降の処理が繰り返し実行される。ステップＳ５２８において、pre_version_A がpost_version_A と等しいと判定された場合（機器Ａの復元処理が完了した場合）には、ステップＳ５２９において、ソフトウェアバージョン管理部５０５は、ソフトウェア更新処理失敗処理を実行し、ソフトウェア更新フラグをオフする。ステップＳ５２７乃至Ｓ５２９の処理も、図７のステップＳ２８の処理に対応する。以上により、ソフトウェア更新処理が失敗として処理が終了される。
【０２０７】
次に、図３８のフローチャートを参照して、図３７のステップＳ５１７におけるソフトウェア再起動処理の詳細について説明する。
【０２０８】
図３８のステップＳ６０１乃至ステップＳ６２３の処理は、図３５のステップＳ４０１乃至ステップＳ４２４の処理と基本的に同様の処理である。但し、図３５のステップＳ４１９において、current_version_A がpre_version_A と等しいかそれより小さいと判定された場合には、ステップＳ４２２，Ｓ４２３の処理が行われるのに対して、図３８の場合にはステップＳ６２３の処理が実行される。
【０２０９】
すなわち、ステップＳ６２０において、比較の対象とされるpre_version_B には、更新される前のcurrent_version_B が設定されている。また、ステップＳ６２１において、比較の対象とされるcurrent_version_B には、ステップＳ６１９のバージョン読み込み処理において、その時起動されているバージョンが設定される。
【０２１０】
ステップＳ６２０において、current_version_B がpre_version_B より大きいと判定された場合には、ステップＳ６２１において、desired_version_B とcurrent_version_B が等しいか判定される。ソフトウェアの更新が行われた場合には、current_version_B はpre_version_B より大きい。そして、正しい更新が行われた場合には、desired_version_B はcurrent_version_B と等しい。したがって、この場合には、ステップＳ６２２において、再起動処理成功とされる。これに対して、current_version_B がpre_version_B より大きいが、desired_version_B がcurrent_version_B と等しくない場合には、何らかの理由でバージョンの更新には成功したが、再起動処理は失敗したことになる。
【０２１１】
この場合には、処理は、図３７のステップＳ５１７に戻り、そこからさらに、ステップＳ５１８の以降の処理に進む。
【０２１２】
ソフトウェアのバージョンの更新には成功したが、再起動の結果、起動したソフトウェアが前のバージョンである場合には、current_version_B （起動したソフトウェアのバージョン）はpre_version_B （更新開始時のソフトウェアのバージョン）と等しいかそれより小さくなる。また、機器Ｂにおけるバージョンの更新は成功しても、機器Ａのバージョンの更新が失敗した場合には、機器Ｂのバージョンは元のバージョンに戻される。機器Ｂのバージョンが元に戻された場合にも、current_version_B （起動した（元に戻した）ソフトウェアのバージョン）はpre_version_B （更新開始時のソフトウェアのバージョン）の値と等しいかそれより小さくなる。これらの場合には、ステップＳ６２３の処理が実行された後、バージョンの更新は失敗したが、再起動処理そのものは成功したので、再起動処理成功とされる。
【０２１３】
以上においては、機器Ｂ（パレットディスプレイ３１）からソフトウェアの更新を要求するようにしたが、機器Ａ（メディアレシーバ２２）からソフトウェアの更新を要求するようにすることも可能である。図３９は、この場合の処理を表している。
【０２１４】
ステップＳ８０１において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１に対して、電源オンであるかを確認するメッセージを送信する。ステップＳ７０１において、パレットディスプレイ３１のソフトウェアアップデータ部５０１が、メディアレシーバ２２からのこの確認のメッセージを受信した後、ステップＳ７０２とステップＳ８０２において、メディアレシーバ２２のソフトウェアアップデータ部４０３と、パレットディスプレイ３１のソフトウェアアップデータ部５０１の間において、機器関相互認証処理が行われる。
【０２１５】
機器間相互認証処理が完了した後、ステップＳ８０３において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１に対して、ソフトウェアバージョンを問合わせる。図４０は、この場合におけるソフトウェアバージョン問合せ要求のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd は、RequestQuerySoftwareVersion とされている。
【０２１６】
ステップＳ７０３において、パレットディスプレイ３１のソフトウェアアップデータ部５０１は、メディアレシーバ２２からのソフトウェアバージョン問合せを受信すると、自分自身が現在使用しているソフトウェアのバージョンを調べ、ステップＳ７０４において、ソフトウェアアップデータ部５０１は、メディアレシーバ２２に対して、ソフトウェアバージョン応答を送信する。図４１は、この場合におけるソフトウェアバージョン問合せ応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd は、ResponseQuerySoftwareVersion とされている。リクエストに対応する応答を表すパラメータResponseCodeはACKとされている。DeviceIDは、機器Ｂ固有のＩＤであるSRP000010020とされている。機器Ｂの現在のソフトウェアバージョンを表すパラメータCurrentSoftwareVersion は1.0.0.0とされている。また、機器Ｂの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、この時点においては不明であるので送信されない。
【０２１７】
ステップＳ８０４において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１からのソフトウェアバージョン応答を受信する。
【０２１８】
その後、メディアレシーバ２２は、ステップＳ８０５乃至ステップＳ８０９において、またサーバ６１は、ステップＳ９０１乃至Ｓ９０５において、図７におけるステップＳ５３乃至ステップＳ５７、並びにステップＳ９１乃至Ｓ９５における場合と同様の処理が実行される。すなわち、メディアレシーバ２２とサーバ６１との間で、SSL通信が行われ、ソフトウェアリストが、サーバ６１からメディアレシーバ２２に送信されてくる。
【０２１９】
ステップＳ８１０において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１に対して、ソフトウェア更新開始要求を送信する。図４２は、このソフトウェア更新開始要求のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はRequestStartSoftwareUpdate とされている。要求の送信元の機器のDeviceIDとして、機器Ａ固有のＩＤが、SRM000010324 とされている。機器Ａの現在のソフトウェアバージョンを表わすパラメータCurrentSoftwareVersion は1.0.0.3 とされている。さらに、機器Ａの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.5 とされている。要求の送信先の機器のDeviceIDとして、機器Ｂの固有のＩＤがSRP000010020 とされている。機器Ｂの現在のソフトウェアバージョンを表すパラメータCurrentSoftwareVersion は1.0.0.0 とされ、機器Ｂの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.1 とされている。
【０２２０】
ステップＳ７０５において、パレットディスプレイ３１のソフトウェアアップデータ部５０１は、メディアレシーバ２２からのソフトウェア更新開始要求を受信する。そして、ステップＳ７０６において、ソフトウェアアップデータ部５０１は、メディアレシーバ２２に対して、ソフトウェア更新開始応答を送信する。図４３は、この場合におけるソフトウェア更新開始応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はRequestStartSoftwareUpdate とされている。リクエストに対する応答を表すパラメータResponseCode はACK とされている。応答の送信元を表わすDeviceID としては、今の場合、機器Ｂ固有のＩＤであるSRP0000100200 が記述されている。機器Ｂの現在のソフトウェアバージョンであるパラメータCurrentSoftwareVersion は1.0.0.0 とされ、機器Ｂの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.1とされている。
【０２２１】
ステップＳ８１１において、メディアレシーバ２２のソフトウェアアップデータ部４０３は、パレットディスプレイ３１からのソフトウェア更新開始応答を受信する。
【０２２２】
以下、メディアレシーバ２２が、ステップＳ８１２乃至ステップＳ８２８において、また、パレットディスプレイ３１が、ステップＳ７０７乃至ステップＳ７２１において、それぞれ実行する処理は、図７におけるステップＳ５９乃至Ｓ７５、並びに、ステップＳ１４乃至ステップＳ２８における場合と同様の処理であるのでその説明は省略する。
【０２２３】
なお、無線LAN４１としては、例えば、ブルートゥース（登録商標）などを利用することも可能である。
【０２２４】
バージョンの比較において、下位の所定の桁を無視することも可能である。
【０２２５】
さらに、パレットディスプレイ３１が２台以上存在する場合には、そのすべてのソフトウェアのバージョンが更新されない限り、メディアレシーバ２２のソフトウェアも復元される。
【０２２６】
以上においては、画像情報を複数の機器で受信する場合を例として説明したが、例えば、電話機の親機と子機におけるソフトウェアを更新する場合にも、本発明を適用することが可能である。
【０２２７】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２２８】
この記録媒体は、図２と図３に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア１２１，３２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM、EEPROM、ハードディスクなどで構成される。
【０２２９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２３０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【産業上の利用可能性】
【０２３１】
本発明は対で使用されるテレビジョンチューナ、電話機などに適用することが可能である。
【図面の簡単な説明】
【０２３２】
【図１】本発明を適用した情報処理システムの構成例を示すブロック図である。
【図２】図１のメディアレシーバの構成例を示すブロック図である。
【図３】図１のパレットディスプレイの構成例を示すブロック図である。
【図４】メディアレシーバの機能的構成例を示すブロック図である。
【図５】パレットディスプレイの機能的構成例を示すブロック図である。
【図６】パラメータを説明する図である。
【図７】メディアレシーバ、パレットディスプレイ、およびサーバの処理を説明するフローチャートである。
【図８】ソフトウェア更新開始要求のプロトコルフォーマットを示す図である。
【図９】ソフトウェア更新開始要求メッセージの例を示す図である。
【図１０】機器認証要求のプロトコルフォーマットを示す図である。
【図１１】機器認証応答のプロトコルフォーマットを示す図である。
【図１２】ソフトウェアリスト要求のプロトコルフォーマットを示す図である。
【図１３】ソフトウェアリスト要求の応答のプロトコルフォーマットを示す図である。
【図１４】ソフトウェアリストを示す図である。
【図１５】ソフトウェア更新開始応答のプロトコルフォーマットを示す図である。
【図１６】ソフトウェア更新開始応答メッセージを示す図である。
【図１７】ソフトウェアリスト転送要求のプロトコルフォーマットを示す図である。
【図１８】ソフトウェアリスト転送要求の応答のプロトコルフォーマットを示す図である。
【図１９】ソフトウェア転送要求のプロトコルフォーマットを示す図である。
【図２０】ソフトウェア転送要求を示す図である。
【図２１】ソフトウェア転送応答のプロトコルフォーマットを示す図である。
【図２２】ソフトウェア転送応答を示す図である。
【図２３】ソフトウェア書き込み開始要求のプロトコルフォーマットを示す図である。
【図２４】ソフトウェア書き込み終了応答のプロトコルフォーマットを示す図である。
【図２５】ソフトウェア更新適用要求のプロトコルフォーマットを示す図である。
【図２６】ソフトウェア更新適用完了応答のプロトコルフォーマットを示す図である。
【図２７】ソフトウェアバージョン確認要求のプロトコルフォーマットを示す図である。
【図２８】ソフトウェアバージョン確認要求を示す図である。
【図２９】ソフトウェアバージョン確認応答のプロトコルフォーマットを示す図である。
【図３０】ソフトウェアバージョン確認応答を示す図である。
【図３１】メモリマップの書き換えを説明する図である。
【図３２】メディアレシーバのソフトウェア更新処理を説明するフローチャートである。
【図３３】メディアレシーバのソフトウェア更新処理を説明するフローチャートである。
【図３４】メディアレシーバのソフトウェア更新処理を説明するフローチャートである。
【図３５】メディアレシーバのソフトウェア再起動処理を説明するフローチャートである。
【図３６】パレットディスプレイのソフトウェア更新処理を説明するフローチャートである。
【図３７】パレットディスプレイのソフトウェア更新処理を説明するフローチャートである。
【図３８】パレットディスプレイのソフトウェア再起動処理を説明するフローチャートである。
【図３９】メディアレシーバ、パレットディスプレイ、およびサーバの他の処理を説明するフローチャートである。
【図４０】ソフトウェアバージョン問合せ要求のプロトコルフォーマットを示す図である。
【図４１】ソフトウェアバージョン問合せ応答のプロトコルフォーマットを示す図である。
【図４２】ソフトウェア更新開始要求のプロトコルフォーマットを示す図である。
【図４３】ソフトウェア更新開始応答のプロトコルフォーマットを示す図である。
【符号の説明】
【０２３３】
１  情報処理システム，  １２  インターネット，  ２１  PDPパネル，  ２２  メディアレシーバ，  ３１−１乃至３１−３  パレットディスプレイ，  ６１,６２  サーバ，  ２２１  ソフトウェアバージョンデータベース部，  ２２２Ａ，２２２Ｂ  バンク，  ３５１  ソフトウェアバージョンデータベース部，  ３５２Ａ，３５２Ｂ  バンク，  ４０１  ネットワークインターフェース部，  ４０２  ソフトウェアダウンロードクライアント部，  ４０３  ソフトウェアアップデータ部，  ４０４  ファームウェアライタ部，  ４０５  不揮発性メモリ，  ４０６  ブートセレクタ部，  ４０７  ソフトウェアバージョン管理部，  ４０８  リモートコミュニケータ部，  ４０９  ワイヤレスネットワークインターフェース部，  ４１０  ユーザインターフェース部，  ５０１  ソフトウェアアップデータ部，  ５０２  ファームウェアライタ部，  ５０３  不揮発性メモリ，  ５０４  ブートセレクタ部，  ５０５  ソフトウェアバージョン管理部，  ５０６  リモートコミュニケ-タ部，  ５０７  ワイヤレスネットワークインターフェース部
【図１】
2006146495.tif 000003
【図２】
2006146495.tif 000004
【図３】
2006146495.tif 000005
【図４】
2006146495.tif 000006
【図５】
2006146495.tif 000007
【図６】
2006146495.tif 000008
【図７】
2006146495.tif 000009
【図８】
2006146495.tif 000010
【図９】
2006146495.tif 000011
【図１０】
2006146495.tif 000012
【図１１】
2006146495.tif 000013
【図１２】
2006146495.tif 000014
【図１３】
2006146495.tif 000015
【図１４】
2006146495.tif 000016
【図１５】
2006146495.tif 000017
【図１６】
2006146495.tif 000018
【図１７】
2006146495.tif 000019
【図１８】
2006146495.tif 000020
【図１９】
2006146495.tif 000021
【図２０】
2006146495.tif 000022
【図２１】
2006146495.tif 000023
【図２２】
2006146495.tif 000024
【図２３】
2006146495.tif 000025
【図２４】
2006146495.tif 000026
【図２５】
2006146495.tif 000027
【図２６】
2006146495.tif 000028
【図２７】
2006146495.tif 000029
【図２８】
2006146495.tif 000030
【図２９】
2006146495.tif 000031
【図３０】
2006146495.tif 000032
【図３１】
2006146495.tif 000033
【図３２】
2006146495.tif 000034
【図３３】
2006146495.tif 000035
【図３４】
2006146495.tif 000036
【図３５】
2006146495.tif 000037
【図３６】
2006146495.tif 000038
【図３７】
2006146495.tif 000039
【図３８】
2006146495.tif 000040
【図３９】
2006146495.tif 000041
【図４０】
2006146495.tif 000042
【図４１】
2006146495.tif 000043
【図４２】
2006146495.tif 000044
【図４３】
2006146495.tif 000045