JP2006146495A - 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム - Google Patents

情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP2006146495A
JP2006146495A JP2004334679A JP2004334679A JP2006146495A JP 2006146495 A JP2006146495 A JP 2006146495A JP 2004334679 A JP2004334679 A JP 2004334679A JP 2004334679 A JP2004334679 A JP 2004334679A JP 2006146495 A JP2006146495 A JP 2006146495A
Authority
JP
Japan
Prior art keywords
software
information processing
processing apparatus
version
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004334679A
Other languages
English (en)
Inventor
Masaki Takahashi
正貴 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004334679A priority Critical patent/JP2006146495A/ja
Publication of JP2006146495A publication Critical patent/JP2006146495A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】複数の機器が相互に関連して動作するシステムのソフトウェアを更新するにあたって、相互に関連した動作が行えなくなってしまうことを防ぐ。
【解決手段】 パレットディスプレイ31は、無線LANを介してメディアレシーバ22にソフトウェアの更新を要求する(S12)。メディアレシーバ22は、インターネットを介してサーバ61にアクセスし(S53)、自分自身とパレットディスプレイ31のソフトウェアをダウンロードし(S62)、パレットディスプレイ31のソフトウェアを、パレットディスプレイ31に供給する(S63)。パレットディスプレイ31とメディアレシーバ22は、自分自身がソフトウェアのバージョンを更新することができたとしても、他方がバージョンを更新することができなかった場合には、バージョンを元のバージョンに戻す。
【選択図】図7

Description

本発明は、情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、関連して動作する複数の機器のソフトウェアを確実に更新することができるようにした情報処理システム、情報処理装置および方法、記録媒体、並びにプログラムに関する。
例えば、携帯電話機は、ソフトウェア(コンピュータプログラム)により各種の制御が行われることが多い。係る携帯電話機においてその機能を変更する場合、ソフトウェア自体を変更する必要がある。例えば、ソフトウェア供給装置から最寄りの基地局を介して、携帯電話機のソフトウェアを更新することが提案されている(例えば、特許文献1)。
特開2001−78258号公報
しかしながら、特許文献1に開示の発明においては、ソフトウェアの更新が個々の機器毎に独立に行われるため、複数の機器が相互に関連して動作するような場合、複数の機器が相互に関連した動作を行うことができなくなってしまう恐れがあった。
本発明はこのような状況に鑑みてなされたものであり、複数の関連する機器が、関連する動作を実行可能なようにソフトウェアを更新することができるようにするものである。
請求項1の情報処理システムは、情報を処理する第1の機器と、前記第1の機器と関連して情報を処理する第2の機器とを備え、前記第1の機器は、ネットワークを介して接続されているサーバから前記第1の機器が更新する第1のソフトウェアと前記第2の機器が更新する第2のソフトウェアをダウンロードし、前記第2のソフトウェアを前記第2の機器に送信するとともに、前記第1のソフトウェアを記憶し、前記第2の機器は、前記第1の機器から受信した前記第2のソフトウェアを記憶し、前記第1の機器の前記第1のソフトウェアによる起動時に不具合が発生した場合、並びに前記第2の機器の前記第2のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第1の機器と前記第2の機器は、それぞれ更新前のソフトウェアを復元することを特徴とする。
請求項2の情報処理方法は、情報を処理する第1の機器と、前記第1の機器と関連して情報を処理する第2の機器とを備える情報処理システムの情報処理方法において、前記第1の機器は、ネットワークを介して接続されているサーバから前記第1の機器が更新する第1のソフトウェアと前記第2の機器が更新する第2のソフトウェアをダウンロードし、前記第2のソフトウェアを前記第2の機器に送信するとともに、前記第1のソフトウェアを記憶し、前記第2の機器は、前記第1の機器から受信した前記第2のソフトウェアを記憶し、前記第1の機器の前記第1のソフトウェアによる起動時に不具合が発生した場合、並びに前記第2の機器の前記第2のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第1の機器と前記第2の機器は、それぞれ更新前のソフトウェアを復元することを特徴とする。
請求項3の情報処理装置は、他の情報処理装置と関連して情報を処理する情報処理装置において、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロード手段と、前記第1のソフトウェアを記憶する記憶手段と、前記第2のソフトウェアを前記他の情報処理装置に送信する送信手段と、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元手段とを備えることを特徴とする。
前記復元手段は、他の情報処理装置に第2のソフトウェアを送信した後の他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、他の情報処理装置に第2のソフトウェアを送信する前に更新後期待されていた他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、他の情報処理装置の第2のソフトウェアの起動時に不具合が発生したとするようにすることができる。
前記復元手段は、一定回数以上起動しても第1のソフトウェアの起動ができなかった場合、または情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ情報処理装置ソフトウェアの現在のバージョンと、他の情報処理装置にソフトウェアを送信する前に更新後期待されていた情報処理装置のソフトウェアのバージョンが一致しない場合、情報処理装置の第1のソフトウェアの起動時に不具合が発生したとするようにすることができる。
前記記憶手段は、第1のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、情報処理装置は、記憶手段に第1のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前のソフトウェアから第1のソフトウェアに書き換える書き換え手段をさらに備え、復元手段は、第1のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、第1のソフトウェアから更新前のソフトウェアにさらに書き換えることで更新前のソフトウェアを復元するようにすることができる。
前記ソフトウェアの記憶、指定の書き換え、およびソフトウェアの起動のうちの少なくとも1つを他の情報処理装置と同期させる同期手段をさらに備えるようにすることができる。
前記他の情報処理装置からソフトウェアの更新の要求を受け付ける受付手段をさらに備え、ダウンロード手段は、受付手段がソフトウェアの更新の要求を受け付けたとき、第1のソフトウェアと第2のソフトウェアをダウンロードするようにすることができる。
請求項9の情報処理方法は、他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップと、前記第1のソフトウェアを記憶する記憶ステップと、前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップと、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップとを含むことを特徴とする。
請求項10の記録媒体のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップと、前記第1のソフトウェアを記憶する記憶ステップと、前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップと、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップとを含むことを特徴とする。
請求項11のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップと、前記第1のソフトウェアを記憶する記憶ステップと、前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップと、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップとをコンピュータに実行させることを特徴とする。
請求項12の情報処理装置は、他の情報処理装置と関連して情報を処理する情報処理装置において、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信手段と、前記第2のソフトウェアを記憶する記憶手段と、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元手段とを備えることを特徴とする。
前記復元手段は、他の情報処理装置から第2のソフトウェアを受信した後の他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、他の情報処理装置から第2のソフトウェアを受信する前に更新後期待されていた他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、または他の情報処理装置から第2のソフトウェアを受信する前に更新後期待されていたバージョンのソフトウェアが他の情報処理装置に設定されていない場合、他の情報処理装置の第1のソフトウェアの起動時に不具合が発生したとするようにすることができる。
前記復元手段は、一定回数以上起動しても第2のソフトウェアの起動ができなかった場合、または情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ情報処理装置のソフトウェアの現在のバージョンと、他の情報処理装置にソフトウェアを送信する前に更新後期待されていた情報処理装置のソフトウェアのバージョンが一致しない場合、情報処理装置の第1のソフトウェアの起動時に不具合が発生したとするようにすることができる。
前記記憶手段は、第2のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、情報処理装置は、記憶手段に第2のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前のソフトウェアから第2のソフトウェアに書き換える書き換え手段をさらに備え、復元手段は、第2のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、第2のソフトウェアから更新前のソフトウェアにさらに書き換えることで更新前のソフトウェアを復元するようにすることができる。
前記ソフトウェアの記憶、指定の書き換え、およびソフトウェアの起動のうちの少なくとも1つを他の情報処理装置と同期させる同期手段をさらに備えるようにすることができる。
前記他の情報処理装置にソフトウェアの更新を要求する要求手段をさらに備えるようにすることができる。
請求項18の情報処理方法は、他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップと、前記第2のソフトウェアを記憶する記憶ステップと、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップとを含むことを特徴とする。
請求項19の記録媒体のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップと、前記第2のソフトウェアを記憶する記憶ステップと、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップとを含むことを特徴とする。
請求項20のプログラムは、他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップと、前記第2のソフトウェアを記憶する記憶ステップと、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップとをコンピュータに実行させることを特徴とする。
本発明においては、第1の機器は、ネットワークを介して接続されているサーバから第1の機器が更新する第1のソフトウェアと第2の機器が更新する第2のソフトウェアをダウンロードし、第2のソフトウェアを第2の機器に送信するとともに、第1のソフトウェアを記憶する。そして、第2の機器は、第1の機器から受信した第2のソフトウェアを記憶する。第1の機器と第2の機器は、第1の機器の第1のソフトウェアによる起動時に不具合が発生した場合、それぞれ更新前のソフトウェアを復元するとともに、第2の機器の第2のソフトウェアによる起動時に不具合が発生した場合においても、それぞれ更新前のソフトウェアを復元する。
他の本発明においては、ネットワークを介してサーバにアクセスし、情報処理装置が更新する第1のソフトウェアと他の情報処理装置が更新する第2のソフトウェアがダウンロードされ、第1のソフトウェアが記憶され、第2のソフトウェアが他の情報処理装置に送信される。情報処理装置の第1のソフトウェアの起動時に不具合が発生した場合、並びに他の情報処理装置の第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、情報処理装置の更新前のソフトウェアが復元されるとともに、他の情報処理装置に更新前のソフトウェアを復元させる。
さらに他の本発明においては、他の情報処理装置が他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアが他の情報処理装置から受信され、第2のソフトウェアが記憶される。他の情報処理装置の第1のソフトウェアの起動時に不具合が発生した場合、並びに情報処理装置の第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、情報処理装置の更新前のソフトウェアが復元される。
本発明によれば、機器のソフトウェアを更新することができる。特に、関連して動作する複数の機器のソフトウェアを、関連して動作することが不可能にならないように更新することが可能となる。
そのようなシステムを実現することが可能となる。
本発明によれば、情報処理装置のソフトウェアを更新することができる。特に、他の情報処理装置のソフトウェアをも更新させることができる。また、他の情報処理装置との関連する動作を確保することが可能となる。
さらに、本発明によれば、自分自身のソフトウェアを他の情報処理装置を介して更新することができる。特に、他の情報処理装置との関連する動作を確保可能なソフトウェアを更新することが可能となる。
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加される発明の存在を否定するものではない。
請求項1の情報処理システム(例えば、図1のシステム11)は、情報(例えば、画像情報)を処理する第1の機器(例えば、図1のメディアレシーバ22)と、前記第1の機器と関連して情報を処理する第2の機器(例えば、図1のパレットディスプレイ31)とを備え、前記第1の機器は、ネットワーク(例えば、図1のインターネット12)を介して接続されているサーバ(例えば、図1のサーバ61)から前記第1の機器が更新する第1のソフトウェアと前記第2の機器が更新する第2のソフトウェアをダウンロードし(例えば、図7のステップS62)、前記第2のソフトウェアを前記第2の機器に送信するとともに(例えば、図7のステップS63)、前記第1のソフトウェアを記憶し(例えば、図7のステップS66)、前記第2の機器は、前記第1の機器から受信した前記第2のソフトウェアを記憶し(例えば、図7のステップS19)、前記第1の機器の前記第1のソフトウェアによる起動時に不具合が発生した場合、並びに前記第2の機器の前記第2のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第1の機器と前記第2の機器は、それぞれ更新前のソフトウェアを復元する(例えば、図7のステップS24,S71)ことを特徴とする。
請求項2の情報処理方法は、情報(例えば、画像情報)を処理する第1の機器(例えば、図1のメディアレシーバ22)と、前記第1の機器と関連して情報を処理する第2の機器(例えば、図1のパレットディスプレイ31)とを備える情報処理システム(例えば、図1のシステム11)の情報処理方法において、前記第1の機器は、ネットワーク(例えば、図1のインターネット12)を介して接続されているサーバ(例えば、図1のサーバ61)から前記第1の機器が更新する第1のソフトウェアと前記第2の機器が更新する第2のソフトウェアをダウンロードし(例えば、図7のステップS62)、前記第2のソフトウェアを前記第2の機器に送信するとともに(例えば、図7のステップS63)、前記第1のソフトウェアを記憶し(例えば、図7のステップS66)、前記第2の機器は、前記第1の機器から受信した前記第2のソフトウェアを記憶し(例えば、図7のステップS19)、前記第1の機器の前記第1のソフトウェアによる起動時に不具合が発生した場合、並びに前記第2の機器の前記第2のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第1の機器と前記第2の機器は、それぞれ更新前のソフトウェアを復元する(例えば、図7のステップS24,S71)ことを特徴とする。
請求項3の情報処理装置は、他の情報処理装置(例えば、図1のパレットディスプレイ31)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のメディアレシーバ22)において、ネットワーク(例えば、図1のインターネット12)を介してサーバ(例えば、図1のサーバ61)にアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロード手段(例えば、図33のステップS318の処理を実行する図4のソフトウェアアップデータ部403)と、前記第1のソフトウェアを記憶する記憶手段(例えば、図33のステップS325の処理を実行する図4のファームウェアライタ部404)と、前記第2のソフトウェアを前記他の情報処理装置に送信する送信手段(例えば、図33のステップS320の処理を実行する図4のソフトウェアアップデータ部403)と、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS331で再起動処理が失敗したと判定された場合)、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する(例えば、図35のステップS408の処理を実行する)とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる(例えば、図34のステップS340の処理を実行する)復元手段(例えば、図4のブートセレクタ部406とソフトウェアアップデータ部403)とを備えることを特徴とする。
前記復元手段は、前記他の情報処理装置に前記第2のソフトウェアを送信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョン(例えば、図34のステップS339のpost_version_B)と、前記他の情報処理装置に前記第2のソフトウェアを送信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョン(例えば、図34のステップS339のdesired_version_B)とを比較し、両者が一致しない場合(例えば、図34のステップS339でNOと判定された場合)、前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生したとする。
前記復元手段は、一定回数以上起動しても前記第1のソフトウェアの起動ができなかった場合(例えば、図35のステップS405でYESと判定された場合)、または前記情報処理装置のソフトウェアの現在のバージョン(例えば、図35のステップS419におけるcurrent_version_A)が、ソフトウェア更新開始時のバージョン(例えば、図35のステップS419におけるpre_version_A)より大きく(例えば、図35のステップS419でYESと判定され)、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョン(例えば、図35のステップS420のdesired_version_A)が一致しない場合(図35のステップS420でNOと判定された場合)、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生したとする。
前記記憶手段は、前記第1のソフトウェアを更新前のソフトウェアと異なる領域(例えば、図4の不揮発性メモリ405のバンク222Aまたはバンク222B)に記憶させ、前記情報処理装置は、前記記憶手段に前記第1のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第1のソフトウェアに書き換える書き換え手段(例えば、図33のステップS328の処理を実行する図4のブートセレクタ部406)をさらに備え、前記復元手段は、前記第1のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第1のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する(例えば、図35のステップS408)。
前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも1つを前記他の情報処理装置と同期させる同期手段(例えば、図33のステップS324,S327,S329の処理を実行する図4のソフトウェアアップデータ部403)をさらに備える。
前記他の情報処理装置から前記ソフトウェアの更新の要求を受け付ける受付手段(例えば、図32のステップS302の処理を実行する図4のソフトウェアアップデータ部403)をさらに備え、前記ダウンロード手段は、前記受付手段が前記ソフトウェアの更新の要求を受け付けたとき、前記第1のソフトウェアと前記第2のソフトウェアをダウンロードする。
請求項9の情報処理方法は、他の情報処理装置(例えば、図1のパレットディスプレイ31)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のメディアレシーバ22)の情報処理方法において、ネットワーク(例えば、図1のインターネット12)を介してサーバ(例えば、図1のサーバ61)にアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップ(例えば、図33のステップS318)と、前記第1のソフトウェアを記憶する記憶ステップ(例えば、図33のステップS325)と、前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップ(例えば、図33のステップS320)と、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS331で再起動処理が失敗したと判定された場合)、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する(例えば、図35のステップS408)とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップ(例えば、図34のステップS340)とを含むことを特徴とする。
請求項10の記録媒体のプログラムは、他の情報処理装置(例えば、図1のパレットディスプレイ31)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のメディアレシーバ22)のプログラムにおいて、ネットワーク(例えば、図1のインターネット12)を介してサーバ(例えば、図1のサーバ61)にアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップ(例えば、図33のステップS318)と、前記第1のソフトウェアを記憶する記憶ステップ(例えば、図33のステップS325)と、前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップ(例えば、図33のステップS320)と、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS331で再起動処理が失敗したと判定された場合)、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する(例えば、図35のステップS408)とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップ(例えば、図34のステップS340)とを含むことを特徴とする。
請求項11のプログラムは、他の情報処理装置(例えば、図1のパレットディスプレイ31)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のメディアレシーバ22)のプログラムにおいて、ネットワーク(例えば、図1のインターネット12)を介してサーバ(例えば、図1のサーバ61)にアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップ(例えば、図33のステップS318)と、前記第1のソフトウェアを記憶する記憶ステップ(例えば、図33のステップS325)と、前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップ(例えば、図33のステップS320)と、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS331で再起動処理が失敗したと判定された場合)、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図34のステップS339で更新後期待されるパレットディスプレイ31のソフトウェアバージョンと現在のソフトウェアバージョンが一致していないと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する(例えば、図35のステップS408)とともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップ(例えば、図34のステップS340)とをコンピュータに実行させることを特徴とする。
請求項12の情報処理装置は、他の情報処理装置(例えば、図1のメディアレシーバ22)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のパレットディスプレイ31)において、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信手段(例えば、図36のステップS507の処理を実行する図5のソフトウェアアップデータ部501)と、前記第2のソフトウェアを記憶する記憶手段(例えば、図36のステップS512の処理を実行する図5のファームウェアライタ部502)と、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS524またはステップS525でNOと判定された場合)、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS518で再起動処理が成功しなかったと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元手段(例えば、図38のステップS608の処理を実行する図5のブートセレクタ部504)とを備えることを特徴とする。
前記復元手段は、前記他の情報処理装置から前記第2のソフトウェアを受信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョン(例えば、図37のステップS525のpost_version_A)と、前記他の情報処理装置から前記第2のソフトウェアを受信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョン(例えば、図37のステップS525のdesired_version_A)とを比較し、両者が一致しない場合(例えば、図37のステップS525でNOと判定された場合)、または前記他の情報処理装置から前記第2のソフトウェアを受信する前に更新後期待されていたバージョン(例えば、図37のステップS524のdesired_version_A)のソフトウェアが前記他の情報処理装置に設定されていない場合(例えば、図37のステップS524でNOと判定された場合)、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生したとする。
前記復元手段は、一定回数以上起動しても前記第2のソフトウェアの起動ができなかった場合(例えば、図38のステップS605でYESと判定された場合)、または前記情報処理装置のソフトウェアの現在のバージョン(例えば、図38のステップS620におけるcurrent_version_B)が、ソフトウェア更新開始時のバージョン(例えば、図38のステップS620におけるpre_version_B)より大きく(例えば、図38のステップS620でYESと判定され)、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョン(例えば、図38のステップS621のdesired_version_B)が一致しない場合(図38のステップS621でNOと判定された場合)、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生したとする。
前記記憶手段は、前記第2のソフトウェアを更新前のソフトウェアと異なる領域(例えば、図5の不揮発性メモリ503のバンク352Aまたはバンク352B)に記憶させ、前記情報処理装置は、前記記憶手段に前記第2のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第2のソフトウェアに書き換える書き換え手段(例えば、図37のステップS515の処理を実行する図5のブートセレクタ部504)をさらに備え、前記復元手段は、前記第2のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第2のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する(例えば、図38のステップS608)。
前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも1つを前記他の情報処理装置と同期させる同期手段(例えば、図36のステップS511,S514,S516の処理を実行する図5のソフトウェアアップデータ部501)をさらに備える。
前記他の情報処理装置に前記ソフトウェアの更新を要求する要求手段(例えば、図36のステップS502の処理を実行する図5のソフトウェアアップデータ部501)をさらに備える。
請求項18の情報処理方法は、他の情報処理装置(例えば、図1のメディアレシーバ22)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のパレットディスプレイ31)の情報処理方法において、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップ(例えば、図36のステップS507)と、前記第2のソフトウェアを記憶する記憶ステップ(例えば、図36のステップS512)と、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS524またはステップS525でNOと判定された場合)、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS518で再起動処理が成功しなかったと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップ(例えば、図38のステップS608)とを含むことを特徴とする。
請求項19の記録媒体のプログラムは、他の情報処理装置(例えば、図1のメディアレシーバ22)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のパレットディスプレイ31)のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップ(例えば、図36のステップS507)と、前記第2のソフトウェアを記憶する記憶ステップ(例えば、図36のステップS512)と、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS524またはステップS525でNOと判定された場合)、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS518で再起動処理が成功しなかったと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップ(例えば、図38のステップS608)とを含むことを特徴とする。
請求項20のプログラムは、他の情報処理装置(例えば、図1のメディアレシーバ22)と関連して情報(例えば、画像情報)を処理する情報処理装置(例えば、図1のパレットディスプレイ31)のプログラムにおいて、前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップ(例えば、図36のステップS507)と、前記第2のソフトウェアを記憶する記憶ステップ(例えば、図36のステップS512)と、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS524またはステップS525でNOと判定された場合)、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合(例えば、図37のステップS518で再起動処理が成功しなかったと判定された場合)のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップ(例えば、図38のステップS608)とをコンピュータに実行させることを特徴とする。
図1は、本発明を適用した情報処理システムの構成例を表している。この情報処理システム1は、メディアレシーバ22とパレットディスプレイ31−1乃至31−3よりなるシステム11を有している。このメディアレシーバ22は、アンテナ24介して放送信号を受信、復調し、復調した映像信号と音声信号(コンテンツ情報)をPDP(Plasma Display)パネル21に出力する。メディアレシーバ22はまた、復調したコンテンツ情報を、アンテナ23から無線LAN(Local Area Network)41を介して、パレットディスプレイ31−1乃至31−3に伝送する。
この実施の形態の場合、パレットディスプレイ31−1乃至31−3の3台で構成されているが、その台数は任意である。パレットディスプレイ31−1は、アンテナ32−1を介してメディアレシーバ22からのコンテンツ情報を受信し、表示させる。図示は省略するが、同様に、パレットディスプレイ31−2,31−3も、それぞれ専用のアンテナ32−2,32−3を介してコンテンツ情報を実施し、表示する(以下、アンテナ32−1乃至32−3を個々に区別する必要がない場合、単にアンテナ32と表示する)。パレットディスプレイ31−1乃至31−3は、システム11を構成するメディアレシーバ22に対応するように構成されている。すなわち、対応しない他のメディアレシーバ22が存在したとしても、パレットディスプレイ31は対応しないメディアレシーバからの信号は表示しないように構成されている。
すなわち、メディアレシーバ22と対応するパレットディスプレイ31−1乃至31−3(以下、これらのパレットディスプレイ31−1乃至31−3を個々に区別する必要がない場合、単に、パレットディスプレイ31と称する)は、相互に関連する動作を行うものである。以下、メディアレシーバ22を機器A、また、パレットディスプレイ31を機器Bとも称する。
メディアレシーバ22はまた、ネットワークの一種としてのインターネット12を介して、サーバシステム13に接続されている。サーバシステム13は、この実施の形態の場合、サーバ61とサーバ62により構成されている。サーバ61はソフトウェアを記憶しており、そのソフトウェアをメディアレシーバ22に伝送する(ダウンロードさせる)機能を有する。サーバ62は認証機能を有し、ソフトウェアをダウンロードする相手側の機器であるメディアレシーバ22を認証する。この実施の形態においては、サーバ61とサーバ62を区別して図示したが、これを1台のサーバで構成することももちろん可能である。以下の説明においては、説明を簡略化するため、サーバ61が認証機能も有するものとする。
無線LAN41としては、Wi-Fi(Wireless Fidelity )Alliance が定めたIEEE(Institute of Electrical and Electronics Engineers )802.11a/b/g 等を利用することができる。この場合、通信可能距離は10メートル前後となる。
図2は、メディアレシーバ22の構成例を表している。CPU(Central Processing Unit)101は、システムの制御を行う。コンパニオンチップ(Companion Chip)102は、内部IC間におけるデータの送受信を行う。DRAM(Dynamic Random Access Memory)103は、プログラム実行時に必要とされる揮発性ワークメモリを構成する。ヒューマンインターフェースドライバ(Human Interface Driver)104は、ユーザとのやり取りを実現するブロックである。NORフラッシュメモリ106は、電源投入時、一番始めに起動されるプログラム(ブートローダ211)を格納する不揮発性メモリである。
NANDフラッシュメモリ107は、ブートプログラムの起動後に実行されるソフトウェアプログラムを格納する不揮発性メモリであり、ソフトウェア更新時に切り替えられるバンク222A,223Bを記憶するほか、ソフトウェアバージョンデータベース部221を有する。ソフトウェアデータベース部221には、ソフトウェア更新に用いられるバージョン情報、ソフトウェア更新情報といったパラメータが格納されている。また、バンク222Aとバンク222Bのどちらを起動のためのものとして利用するかを規定するブートパラメータ224も記憶されている。
チューナ114は、アンテナ24を介して受信した放送信号としてのRF信号を受信、デコードし(NTSC方式などの映像信号および音声信号(以下、AV信号と称する)に変換し)、PDPパネル22に出力し、表示させる。チューナ115は、アンテナ24を介して受信したRF信号をデコードし、メディアプロセッサ113に出力する。メディアプロセッサ113は、チューナ115からのAV信号をTCP/IP(Transmission Control Protocol/Internet Protocol)ネットワーク上へ配信可能なパケットにエンコードする。具体的には、無線LAN41を介して、パレットディスプレイ31と通信可能なデータを生成する。メディアプロセッサ113はまた、TCP/IPパケットをデコードし、そのAV信号をPDPパネル21に出力する。
メディアアクセスコントロール(Media Access Control)111,109は、OSI(Open Systems Interconnection )参照モデルのデータリンク層に相当し、Ethernet(登録商標)におけるデータの送受信単位であるフレームの送受信方法や形式の誤り検出を実現する。PHY110,112は、ケーブルコネクタ等電気信号を規定する物理層である。メディアアクセスコントロール111は、メディアプロセッサ113により生成されたパケットを、PHY112からインターネット12を介して出力する。また図示せぬサーバからインターネット12を介して配信されたストリーミングコンテンツは、PHY112とメディアアクセスコントロール111を介して、メディアプロセッサ113により受信される。メディアプロセッサ113は、このストリーミングコンテンツのパケットをデコードし、PDPパネル21に出力し、表示させる。
また、メディアコントロール111は、メディアプロセッサ113により生成されたパケットを、PHY112を介してインターネット12に出力する。
メディアアクセスコントロール109は、PHY110を介して、アンテナ23から無線LAN41に、メディアプロセッサ113により生成されたパケットを送信する。また、無線LAN41を介して送信されてきたパケットは、アンテナ23を介してPHY110により受信され、メディアアクセスコントロール109により処理された後、CPU101またはメディアプロセッサ113により処理される。
ローカルバス105は、コンパニオンチップ102、NORフラッシュメモリ106、NANDフラッシュメモリ107、およびリムーバブルメモリ121を相互に接続している。PCIバス108は、コンパニオンチップ102、メディアプロセッサ113、メディアアクセスコントロール109,111を相互に接続している。
図3は、パレットディスプレイ31の構成例を表している。メディアアクセスコントロール319は、PHY320とアンテナ32から無線LAN41を介してメディアレシーバ22と通信する。メディアアクセスコントロール319は、メディアレシーバ22のメディアアクセスコントロール109と、また、PHY320は、メディアレシーバ22のPHY110と基本的に同様の機能を有している。
DRAM312はメディアレシーバ22のDRAM103と、また、ヒューマンインターフェースドライバ313はメディアレシーバ22のヒューマンインターフェースドライバ104と、基本的に同様の機能を有している。DSP(Digital Signal Processor)311は、ヒューマンインターフェースドライバ313を介して入力されるユーザの指示に基づいて各部を制御する。また、DSP311は、メディアレシーバ22のメディアプロセッサ113と同様の機能を有している。
NORフラッシュメモリ315はメディアレシーバ22のNORフラッシュメモリ106に対応する機能を有し、ブートローダ331を記憶する。NANDフラッシュメモリ316は、バンク352A,352Bと、ソフトウェアバージョンデータベース部351を有する。このバンク352A,352Bとソフトウェアバージョンデータベース部351は、メディアレシーバ22のNANDフラッシュメモリ107におけるバンク222A,222Bとソフトウェアバージョンデータベース部221に対応する構成となっている。EEPROM317は、ブートパラメータ361を記憶している。
ローカルバス314は、DSP311、NORフラッシュメモリ315、NANDフラッシュメモリ316、EEPROM317、およびリムーバブルメモリ321を相互に接続している。PCIバス318は、DSP311とメディアアクセスコントロール319を相互に接続している。
図4は、メディアレシーバ22の機能的構成例を表している。このメディアレシーバ22は、ネットワークインターフェース部401、ソフトウェアダウンロードクライアント部402、ソフトウェアアップデータ部403、ファームウェアライタ部404、および不揮発性メモリ405を有する。不揮発性メモリ405には、更新前のソフトウェアと更新後のソフトウェアを記憶するバンク222A,222Bとソフトウェアバージョンデータベース部221が形成される。ソフトウェアバージョンデータベース部221にはソフトウェアバージョンなどが記憶される。
メディアレシーバ22はさらに、ブートセレクタ部406、ソフトウェアバージョン管理部407、リモートコミュニケータ部408、ワイヤレスネットワークインターフェース部409、ユーザインターフェース部410、および処理部411を有している。
ネットワークインターフェース部401は、インターネット12を介して、TCP/IPで通信する。ソフトウェアダウンロードクライアント部402は、サーバ61からソフトウェアをダウンロードする。ソフトウェアダウンロードクライアント部402はまた、サーバ61との機器認証機能も有する。ソフトウェアアップデータ部403は、ソフトウェア更新処理の実際の制御や新旧ソフトウェアの判別処理を行う。ユーザインターフェース部410は、ユーザとのインターフェース処理を行う。処理部411は、ユーザインターフェース部410からの指示に基づいて(ユーザからの指示に基づいて)、各種の処理を実行する。
リモートコミュニケータ部408は、機器B(パレットディスプレイ31)とのコマンドのやり取り、およびサーバ61からダウンロードしたソフトウェアを機器Bに転送する機能を有する。ワイヤレスネットワークインターフェース部409は、無線LAN41を介した無線通信を行う。ファームウェアライタ部404は、ダウンロードしたソフトウェアおよび各デバイスのファームウェアを、不揮発メモリ405に書き込む処理を行う。
ブートセレクタ部406は、ブートパラメータ224を記憶し、現行のソフトウェアと更新されたソフトウェアを切り替える。ソフトウェアバージョン管理部407は、ソフトウェアのバージョンの管理を行う。
図5は、パレットディスプレイ31の機能的構成例を表している。パレットディスプレイ31は、ソフトウェアアップデータ部501、ファームウェアライタ部502、不揮発性メモリ503、ブートセレクタ部504、ソフトウェアバージョン管理部505、リモートコミュニケータ部506、ワイヤレスネットワークインターフェース部507、ユーザインターフェース部508、および処理部509を有している。
これらの各部の機能は、図4のメディアレシーバ22における対応する名称のブロックと同一の機能を基本的に有している。メディアレシーバ22における対応する名称のブロックと若干異なる機能を有する部分もあるが、その差異については、以下の動作において説明する。
以下、本発明の実施の形態の動作について説明するが、その前に、各処理において現われる変数について図6を参照して説明する。
DeviceID_A は、システムにおける機器A(いまの場合、メディアレシーバ22)固有のIDを表わす。pre_version_A は、機器Aのソフトウェア更新開始時のソフトウェアバージョンを表わす。desired_version_A は、機器Aのソフトウェア更新後、期待されるソフトウェアバージョンを表わす。current_version_A は、機器Aの現在起動中のソフトウェアバージョンを表わす。post_version_A は、ソフトウェア更新相互認証確認要求時に機器B(いまの場合、パレットディスプレイ31)へ送信される機器Aの現在のソフトウェアバージョンを表わす。
DeviceID_B は、システムにおける機器B固有のIDを表わす。pre_version_B は、機器Bのソフトウェア更新開始時のソフトウェアバージョンを表わす。desired_version_B は、機器Bのソフトウェア更新後、期待されるソフトウェアバージョンを表わす。current_version_B は、機器Bの現在起動中のソフトウェアバージョンを表わす。post_version_B は、ソフトウェア更新相互認証確認要求時に機器Aへ応答する機器Bの現在のソフトウェアバージョンを表わす。
以下に、パレットディスプレイ31とメディアレシーバ22、並びにサーバ61の動作について説明するが、最初に図7を参照して、それらの相互の関係について説明する。メディアレシーバ22のより詳細な処理については、図32乃至図34を参照して説明し、パレットディスプレイ31のより詳細な処理については、図36乃至図38を参照して説明する。また、説明を簡単にするため、パレットディスプレイ31は1台のみとする。
まず、メディアレシーバ22において、画像を表示する処理について説明する。ユーザインターフェース部410は、ユーザからの指示に基づいて、処理部411を制御し、指定された放送チャンネルのRF信号を受信させる。具体的には、ユーザより所定の放送チャンネルの受信が指示されると、チューナ114は、アンテナ24を介して受信したRF信号をデコードし、その放送チャンネルのNTSC方式のAV信号をPDPパネル21に出力し、表示させる。
これにより、ユーザが希望する放送チャンネルのAV信号に基づく画像と音声が視聴可能となる。
次に、パレットディスプレイ31のユーザが、所定の放送チャンネルの画像を視聴する場合の動作について説明する。この場合、ユーザが所定の放送チャンネルの受信を指示すると、ユーザインターフェース部508は、処理部509に所定の放送チャンネルの受信を指令する。このとき、処理部509は、ユーザより指示された放送チャンネルのAV信号の送信をメディアレシーバ22に要求する。この要求は、リモートコミュニケータ部506とワイヤレスネットワークインターフェース部507を介して、アンテナ32から無線LAN41に送信される。具体的には、DSP311により生成された要求は、メディアアクセスコントロール319、PHY320を介してアンテナ32から無線LAN41に出力される。
メディアレシーバ22において、無線LAN41を介して入力された要求は、ワイヤレスネットワークインターフェース部409とリモートコミュニケータ部408を介して、処理部411に入力される。処理部411は、この要求に基づいて、指定された放送チャンネルのRF信号をデコードする。
具体的には、メディアレシーバ22は、無線LAN41とアンテナ23を介してパレットディスプレイ31からの要求を受信する。アンテナ23を介して受信された要求は、PHY110とメディアアクセスコントロール109を介してCPU101に入力される。CPU101は、この供給された要求に基づいて、チューナ115を制御し、指定された放送チャンネルのRF信号を受信し、デコードさせる。
リモートコミュニケータ部408は、処理部411により処理されたパケットを、ワイヤレスネットワークインターフェース部409を介して、無線LAN41へ出力する。このパケットは、無線LAN41を介して、パレットディスプレイ31に受信される。
具体的には、チューナ115は、指定された放送チャンネルのRF信号をデコードし、メディアプロセッサ113に出力する。メディアプロセッサ113は、入力されたAV信号をパケット化し、メディアアクセスコントロール109およびPHY110を介して無線LAN41に出力する。
パレットディスプレイ31においては、ワイヤレスネットワークインターフェース部507とリモートコミュニケータ部506を介して、メディアレシーバ22より送信されてきたパケットが受信され、処理部509に供給され、処理される。
具体的には、PHY320、メディアアクセスコントロール319を介して受信されたパケットが、DSP311によりデコードされ、NTSC方式のAV信号とされて、表示部322に出力され、表示される。
このようにして、パレットディスプレイ31のユーザが指定した放送チャンネルの画像と音声が、表示部322に表示、出力される。
以上のようにして、例えば、家庭内の居間などに配置されているメディアレシーバ22とPDPパネル21により、居間にいる家族が画像を視聴することができるとともに、2階の子供部屋に配置されているパレットディスプレイ31により、その部屋にいる子供がメディアレシーバ22と同一または異なる放送チャンネルの画像を視聴することが可能となる。パレットディスプレイ31は可搬型とされ、任意の部屋で使用することができる。
次に、ソフトウェアを更新する場合の処理について説明する。ソフトウェアの更新は、パレットディスプレイ31とメディアレシーバ22のいずれからも行うことができる。最初に、図7を参照して、パレットディスプレイ31からソフトウェアの更新を要求する場合の処理について説明する。
ステップS11において、ソフトウェアアップデータ部501は、ユーザインターフェース部508からのユーザの指示に基づいて、ソフトウェア更新の要求があったとき機器間相互認証処理を行う。すなわち、この要求があったときソフトウェアアップデータ部501は、リモートコミュニケータ部506、ワイヤレスネットワークインターフェース部507を介して、メディアレシーバ22と通信する。
メディアレシーバ22においては、ステップS51において、ソフトウェアアップデータ部403が、ワイヤレスネットワークインターフェース部409とリモートコミュニケータ部408を介して、パレットディスプレイ31と無線LAN41を介して通信する。そして、パレットディスプレイ31のソフトウェアアップデータ部501と、メディアレシーバ22のソフトウェアアップデータ部403は機器間相互認証処理を行う。
機器間相互認証処理において、相手側が正しい機器であると認証された場合、以下の処理が実行されるが、相手側が適正な装置ではないと判定された場合には、以下の処理は実行されないことになる。
機器間相互認証が適正に行われた場合、ステップS12において、ソフトウェアアップデータ部501は、メディアレシーバ22に対してソフトウェア更新開始要求を送信する。このソフトウェア更新開始要求は、リモートコミュニケータ部506とワイヤレスネットワークインターフェース507を介して、メディアレシーバ22に送信される。
図8は、このようにして送信されるソフトウェア更新開始要求のプロトコルフォーマットの例を表している。この例においては、Commannd , DeviceID , CurrentSoftwareVersion 、および DesiredSoftwareVersion の4つのパラメータにより要求が構成されている。パラメータCommannd はコマンド名を表し、例えば、RequestStartSoftwareUpdate とされる。DeviceID は、ソフトウェア更新開始要求を出力する機器のIDを表し(今の場合、機器BのIDを表す)、例えば、SRP000010020 とされる。パラメータCurrentSoftwareVersion は、この開始要求を出力する機器Bの現在のソフトウェアのバージョンを表し、例えば、1.0.0.0 とされる。この機器Bの現在のソフトウェアバージョンがpre_version_B となる。パラメータDesiredSoftwareVersion は、更新開始要求を出力する機器Bの最新のソフトウェアバージョンを表わす。
図9は、このようにして、パレットディスプレイ31からメディアレシーバ22に送信されるソフトウェア更新開始要求メッセージの具体的な例を表している。
コマンド名としてRequestStartSoftwareUpdate が、DeviceID として機器B固有のIDが、さらにCurrentSoftwareVersion として1.0.0.0 が、それぞれ記述されている。
ステップS52において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31が出力したソフトウェア更新開始要求を、ワイヤレスネットワークインターフェース部409とリモートコミュニケータ部408を介して受信する。
ステップS53において、ソフトウェアアップデータ部403は、サーバ61に対する接続をソフトウェアダウンロードクライアント部402に指示する。ソフトウェアダウンロードクライアント部402は、この指示に基づいて、ネットワークインターフェース部401からインターネット12を介して、SSL(Secure Socket Layer)通信によりサーバ61と接続する。
同様に、サーバ61は、ステップS91において、SSL通信によりメディアレシーバ22と接続する。
ソフトウェアダウンロードクライアント部402は、ネットワークインターフェース部401を介して、ステップS54において、サーバ61との接続後、ダウンロードサービスを提供してもらうための機器認証要求を行う。図10は、この機器認証要求のプロトコルフォーマットの例を表わしている。この要求には、同図に示されるように、パラメータとしてCommannd , DeviceID 、およびPassPhrase が含まれている。Commannd は、例えば、RequestDeviceAuthentication とされ、DeviceID は、この要求を出力する機器AのID(メディアレシーバ22の固有のID)、例えば、SRM000010324 とされる。PassPhrase は、機器認証用のパスフレーズあり、例えば、89dfsZasfowiau398adfa0fas8d90g とされる。
メディアレシーバ22とサーバ61との間の機器認証は、セキュリティ上安全な通信路を確保するためのものであり必須ではない。
ステップS92において、サーバ61は、メディアレシーバ22からの機器認証要求を受信すると、ステップS93において、メディアレシーバ22に対して、機器認証応答を出力する。
図11は、この機器認証応答のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd は、例えば、RequestDeviceAuthentication とされ、パラメータResponseCode は、例えば、AuthenticationSuccess とされる。このResponseCode は、リクエストに対する応答を意味する。またパラメータSessionKey は、例えば、000012092093242 とされる。
ステップS55において、メディアレシーバ22のソフトウェアダウンロードクライアント部402は、ネットワークインターフェース部401を介して、サーバ61からの機器認証応答を受信する。ステップS56において、ソフトウェアダウンロードクライアント部402は、サーバ61に対して、ソフトウェアリスト要求を送信する。図12は、このソフトウェアリスト要求のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd は、例えば、RequestDownloadFile とされ、セッションキーを表わすパラメータSessionKey は、例えば、000012092093242 とされる。パラメータRequestFilename は、ダウンロードするファイル名を表わし、例えば、SoftwareList.txt とされる。
例えば、メディアレシーバ22とそれに対応するパレットディスプレイ31のメーカが運用するサーバ61は、過去に製造販売されたメディアレシーバ22とそれに対応するパレットディスプレイ31が使用しているソフトウェアを管理しており、また、各メディアレシーバ22と対応するパレットディスプレイ31が、その後使用可能となった(バージョンアップされた)ソフトウェアを管理している。ステップS94において、サーバ61は、メディアレシーバ22からのソフトウェアリスト要求を受信すると、使用可能なバージョンのソフトウェアを調べる。ステップS95において、サーバ61は、調べた結果を、ソフトウェアリスト要求の応答として返す。
図13は、このソフトウェアリスト要求の応答のプロトコルフォーマットの例を表している。図13の例においては、パラメータCommannd は、例えば、ResponseDownloadFile とされ、要求に対する応答を表わすパラメータResponseCode は、例えば、OKとされる。また、パラメータFileSize は、ダウンロードするファイルのサイズ(バイト数)を表わすが、例えば、1024000 とされる。パラメータData は、そのソフトウェアのデータである。
図14は、このようにして、サーバ61からメディアレシーバ22に対して送信されるソフトウェアリストの具体的な例を表している。この例においては、ソフトウェアを更新する機器を表わすDeviceID として機器AのIDが記述され、その現在のソフトウェアのVersion は1.0.0.3 とされている。この機器Aが更新可能なファームウェアの数を表すパラメータNumOfFirmwares は1とされ、そのFirmwareID も1とされている。FirmwareName は、SystemImage.bin とされ、FirmwareVersionは、2.0.0.5 とされている。FirmwareSizeは1024000 バイトとされ、FirmwareCRC32 は、0x5E1234E5 とされている。
また、ソフトウェアを更新する対応する機器である機器Bに関しては、現在のバージョンは1.0.0.0 とされている。この機器Bが更新可能なファームウェアの数NumOfFirmwares は1、FirmwareID は1とされている。そのFirmwareName はFirmware.bin とされ、FirmwareVersionは2.0.0.1 とされている。また、FirmwareSizeは12345678バイトとされている。FirmwareCRC32 は0x98765432 とされている。
メディアレシーバ22のソフトウェアダウンロードクライアント部402は、ステップS57において、サーバ61から送信されてきたソフトウェアリストを受信する。図14に示されるように、このリストには、機器が更新可能なソフトウェアの数(NumOfFirmwares )、名称(FirmwareName )、サイズ(FirmwareSize )、CRC(FirmwareCRC32 )などが記述されている。
ソフトウェアダウンロードクライアント部402は、ソフトウェアリストを取得したした後、機器A(自分自身)が現在起動中のソフトウェアバージョン(pre_version_A )とサーバ61からのソフトウェアリストに記載されているソフトウェアバージョン(desired_version_A )(図14における機器AのFirmwareVersion )を比較して、最新のソフトウェアが存在するか否かを判別する。同様に、機器B(パレットディスプレイ31)から送信されてきたソフトウェアバージョン(pre_version_B )(ステップS52で受信した図8の要求に記述されているCurrentSoftwareVersion )と、サーバ61からのソフトウェアリストの機器Bの更新可能なソフトウェアバージョン(desired_version_B )(図14における機器BのFirmwareVersion )を比較して、最新のソフトウェアが存在するか否かを判別する。なお、この判別では、バージョンの値がより大きい方が最新のバージョンであるとされる。サーバ61からのリストのソフトウェアと現行のソフトウェアのバージョンが同一であれば、ソフトウェアは更新する必要がないため、処理は終了される。
また、ステップS57において、サーバ61からソフトウェアリストを受信したとき、メディアレシーバ22のソフトウェアバージョン管理部407は、ソフトウェアバージョンデータベース部221に、更新前と更新後のソフトウェアバージョン情報(pre_version_A ,pre_version_B ,desired_version_A ,desired_version_B )をソフトウェア更新処理後のバージョン確認が正常に終了するまで保持させる。
機器Aと機器Bの両方の最新の(バージョンの値がより大きい)ソフトウェアが存在する場合(少なくとも、一方の最新のバージョンがある場合も含めるようにしてもよい)、ステップS58において、ソフトウェアアップデータ部403は、パレットディスプレイ31に対して、ソフトウェア更新開始応答(ステップS52で、パレットディスプレイ31から受信したソフトウェア更新開始要求に対応する応答)を送信する。図15は、この場合のソフトウェア更新開始応答のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd はResponseStartSoftwareUpdate とされている。リクエスト(要求)に対する結果を表わすパラメータResponseCode は、この場合、ACKとされる。また、相手先の機器を表わすDeviceID は、機器B固有のIDとされ、今の場合、SRP000010020 とされている。機器Bの現在のソフトウェアバージョンを表わすパラメータCurrentSoftwareVersion は、今の場合、1.0.0.0 (ステップS52で受信されたパレットディスプレイ31からの要求(図8)に記述されていた値)とされている。機器Bの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、この例の場合、2.0.0.1 (ステップS57で、サーバ61から受信したソフトウェアリスト(図14)に記述されていた値)とされている。送信先の機器を表わすDeviceID は、今の場合、機器A固有のIDであるSRM000010324 とされている。機器Aの現在のソフトウェアバージョンを表わすパラメータCurrentSoftwareVersion は、1.0.0.3 とされている。機器Aの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.5 (ステップS57で、サーバ61から受信したソフトウェアリスト(図14)に記述されていた値)とされている。
図16は、ソフトウェア更新開始応答メッセージの具体的な例を表している。この例においては、機器Aのソフトウェアの現在のバージョンを表わすパラメータCurrentVersion は1.0.0.3とされ、最近のソフトウェアのバージョンを表わすパラメータDesiredVersion は2.0.0.5とされている。
また、機器BのパラメータCurrentVersion は1.0.0.0 とされ、パラメータDesiredVersion は、2.0.0.1とされている。
ステップS13において、パレットディスプレイ31のソフトウェアアップデータ部501は、メディアレシーバ22から送信されてきたソフトウェア更新開始応答を受信する。このとき、パレットディスプレイ31のソフトウェアバージョン管理部505は、ソフトウェアバージョンデータベース部351に、更新前と更新後のソフトウェアバージョン情報(pre_version_A ,pre_version_B ,desired_version_A ,desired_version_B )をソフトウェア更新処理後のバージョン確認が正常に終了するまで保持させる。
ステップS59において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31にソフトウェアリストを転送する。図17には、このソフトウェアリスト転送要求のプロトコルフォーマットの例が示されている。この例においては、コマンド名を表すパラメータCommannd は、RequestTransferFirmwareList とされる。送信するファームウェアの数を表すパラメータFirmwareNumber は、この例の場合、1とされている。
また、パラメータFirmwareID ,FirmwareName ,FirmwareVersion ,FirmwareSize 、および FirmwareCRC32 は、送信されるファームウェアの数の分(図17の例の場合、FirmwareNumberが1であるので1回)だけ繰り返される。
FirmwareID は、ファームウェアのIDを表し、FirmwareName は、ファームウェアの名称を表す。例えば、この例では、Firmware.bin とされている。パラメータFirmwareVersion は、ファームウェアのバージョンを表し、この例の場合、2.0.0.1とされている。ファームウェアのサイズを表すパラメータFirmwareSize は、この例の場合、1024000とされている。チェックサムを表すFirmwareCRC32 は、この例の場合、0x5E1234E5 とされている。
このように、このソフトウェアリストには、ファイル数(FirmwareNumber )、ファイル名(FirmwareName )、サイズ(FirmwareSize )、およびCRC(FirmwareCRC32 )などが含まれている。
ステップS14において、パレットディスプレイ31のソフトウェアアップデータ部501は、メディアレシーバ22からのソフトウェアリストを受信すると、ステップS15において応答を返す。このソフトウェアリスト転送要求の応答のプロトコルフォーマットの例が図18に示されている。
図18の例においては、コマンド名を表すパラメータCommannd は、ResponseTransferFirmwareList とされている。また、リクエストに対する結果であることを表すパラメータResponseCode は、ACKとされている。
メディアレシーバ22のソフトウェアアップデータ部403は、ステップS60において、パレットディスプレイ31からの応答を受信すると、ステップS61において、ソフトウェアダウンロード要求をサーバ61へ出力する。
この場合におけるソフトウェアダウンロード要求のプロトコルフォーマットは、図12に示される場合のフォーマットと同一とされる。
ステップS96において、サーバ61は、メディアレシーバ22からのソフトウェアダウンロード要求を受信すると、ステップS97において、メディアレシーバ22に対して応答を返す。この場合におけるソフトウェアダウンロード要求の応答のプロトコルフォーマットは、図13に示す場合と同様とされる。すなわち、これにより、ソフトウェアがダウンロードされる。
ステップS62において、メディアレシーバ22のソフトウェアアップデータ部403は、サーバ61からの応答を受信する(ソフトウェアを受信する)。そして、ステップS63において、ソフトウェアアップデータ部403は、ソフトウェアをパレットディスプレイ31に転送する。図19は、この場合におけるソフトウェア転送要求のプロトコルフォーマットの例を表している。コマンド名を表すパラメータCommannd は、この例の場合、RequestTransferFirmware とされている。ファームウェアIDを表すパラメータFirmwareID は、この例の場合、1とされている。ファームウェア名を表すパラメータFirmwareName は、この例の場合、Firmware.bin とされている。転送サイズを表すパラメータSize は、1024とされ、シーケンス番号を表すパラメータSequenceNumber は、この例の場合、1とされている。
図20は、ソフトウェア転送要求の具体的な例を表している。この例においては、Firmwareのidは1とされ、name はFirmware.bin とされ、サイズは1024とされ、crc32 は1234CDEF とされている。また、sequence は1とされている。また、Data には所定のバイナリデータが記述される。
ステップS16において、パレットディスプレイ31のソフトウェアアップデータ部501は、メディアレシーバ22からのソフトウェア転送要求を受信する(ソフトウェアを受信する)。ステップS17において、ソフトウェアアップデータ部501は、メディアレシーバ22に対して応答を返す。図21は、この場合におけるソフトウェア転送応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はResponseTransferFirmware とされている。転送結果を表すパラメータResponseCode は、ACK とされている。ファームウェアIDを表すパラメータFirmwareID は1とされ、シーケンス番号を表すパラメータSequenceNumber は1とされている。
図22は、ソフトウェア転送応答の具体的な例を表している。この例においては、パラメータFirmwareのidは1、sequence は1とされている。また、Result は、OKとされている。
ステップS64において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31からの応答を受信する。
以上のような処理が繰り返し実行されて、ソフトウェアが順次転送される。
以上のようにして、すべてのソフトウェアが、メディアレシーバ22からパレットディスプレイ31に転送された後、ステップS65において、メディアレシーバ22のソフトウェアアップデータ部403は、ソフトウェア書き込み処理をパレットディスプレイ31と同期して実行するために、ソフトウェア書き込み開始要求をパレットディスプレイ31に出力する。図23は、この場合におけるソフトウェア書込開始要求のプロトコルフォーマットの例を表している。コマンド名を表すパラメータCommannd は、この例の場合、RequestFirmwareWrite とされている。ファームウェアIDを表すパラメータFirmwareID は、この例の場合、1とされている。ファームウェア名を表すパラメータFirmwareName は、この例の場合、Firmware.bin とされている。そして、ステップS66において、ファームウェアライタ部404は、ソフトウェア書き込み処理を実行する。このとき、新たに更新されるソフトウェアは、バンク222A,バンク222Bのうちの、現在のソフトウェアが記憶されていない方に書き込まれる。これにより、書き込み途中に電源がオフされたとしても、更新前のバンクには影響しないため、異常終了に対して堅牢なシステムを実現することができる。
同様に、ステップS18において、パレットディスプレイ31のソフトウェアアップデータ部501は、ソフトウェア書き込み開始要求をメディアレシーバ22から受信すると、ステップS19において、ファームウェアライタ部502は、ソフトウェア書き込み処理を実行する。この場合にも、バンク352A,352Bのうち更新前のソフトウェアが記憶されていない方に更新用のソフトウェアが書き込まれる。このため、書き込み途中に電源がオフされたとしても、更新前のバンクには影響しないため、異常終了に対して堅牢なシステムを実現することができる。
また、ソフトウェア書き込み処理がメディアレシーバ22とパレットディスプレイ31との間で同期して行われるため、一方だけが成功し、他方が失敗して、両方の間でソフトウェアに関して整合がとれなくなるような事態の発生が抑制される。
ソフトウェア書き込み処理が終了すると、ステップS20において、ソフトウェアアップデータ部501は、メディアレシーバ22に対して、ソフトウェア書き込み終了応答を送信する。図24は、この場合におけるソフトウェア書込終了応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はResponseFirmwareWrite とされている。転送結果を表すパラメータResponseCode は、ACK またはNYETとされる。ファームウェアIDを表すパラメータFirmwareID は1とされている。パラメータFirmwareName は、Firmware.bin とされている。ステップS67において、メディアレシーバ22のソフトウェアアップデータ部403は、メディアレシーバ22とパレットディスプレイ31の両方において、ソフトウェアの書き込み処理が同期して行われたことを確認する(それぞれのバンクに、更新用のソフトウェアが記憶されたことを確認する)。そして、ステップS68において、ソフトウェアアップデータ部403は、やはり同期処理のため、パレットディスプレイ31に対して、ソフトウェア更新適用開始要求を送信する。このソフトウェア更新適用要求のプロトコルフォーマットの例が、図25に示されている。この例においては、コマンド名を表すパラメータCommannd は、RequestFirmwareUpdate とされている。
ステップS69において、ブートセレクタ部406は、ソフトウェア適用処理を実行する。すなわち、起動するソフトウェアを指定するブートパラメータとしては、バンク222A,222Bのうち、更新前のソフトウェアが記憶されている方が記述されているので、これを更新後の(これから実行する)ソフトウェアが記憶されているバンクに書き換える。これにより、ソフトウェアの再起動は、更新用バンクに記述されているソフトウェアについて行われることになる。
ステップS21において、ソフトウェアアップデータ部501が、メディアレシーバ22からのソフトウェア更新適用開始要求を受信すると、ステップS22において、ブートセレクタ部504は、ソフトウェア適用処理を同期して実行する。この場合にも、ブートセクタ部504は、更新用バンクからソフトウェアを起動するように、ブートパラメータを書き換える。
ソフトウェア適用処理が完了すると、ステップS23において、ソフトウェアアップデータ部501は、ソフトウェア再起動を同期して実行するために、ソフトウェア更新適用完了応答をメディアレシーバ22に送信する。このソフトウェア更新適用完了応答のプロトコルフォーマットの例が、図26に示されている。同図に示されるように、コマンド名を表すパラメータCommannd は、この例においては、ResponseFirmwareUpdate とされている。そして、リクエストに対する結果を表すパラメータResponseCode は、ACK とされている。
ステップS70において、メディアレシーバ22のソフトウェアアップデータ部403が、パレットディスプレイ31からのソフトウェア更新適用完了応答を受信すると、ステップS71において、ブートセレクタ部406は、ソフトウェア再起動処理を実行する。上述したように、ステップS69の処理でブートパラメータが書き換えられているので、この更新処理は、更新用ソフトウェアについて実行される。詳細は後述するが、再起動後、ソフトウェアの書き換え処理の失敗や何らかの原因により、一定回数以上ソフトウェアが正常に起動できなかった場合、ソフトウェアの復元処理が行われる。ソフトウェアの復元処理は、更新前のバンクから起動し直すように、ブートパラメータを書き換えることにより行われる。
ブートセレクタ部406は、自分自身のソフトウェア更新処理が正常に行われたかを判別する。正常に書き換えが行われたかの判別は、再起動時のソフトウェアバージョン(current_version_A )とソフトウェアバージョンデータベース部221に保持している更新後のソフトウェアのバージョン(desired_version_A )とを比較することで行われる。両者が等しい場合には、更新処理が成功したものと判定され、そうでなければ、更新処理が失敗したものと判定される。
ステップS23において、ソフトウェア更新適用完了応答がメディアレシーバ22に送信された後、ステップS24において、パレットディスプレイ31においても、ブートセレクタ部504によりソフトウェア再起動処理が実行される。その処理は、メディアレシーバ22におけるソフトウェア再起動処理と同様である。
以上のようにして、ソフトウェア再起動処理が実行された後、ステップS25とステップS72において、パレットディスプレイ31のソフトウェアアップデータ部501とメディアレシーバ22のソフトウェアアップデータ部403は、相互に機器間相互認証を行う。
自分自身のソフトウェアバージョンが正しく更新されたことを確認した後、ステップS26において、ソフトウェアアップデータ部501は、メディアレシーバ22に対して、ソフトウェアバージョン確認要求を送信する。このソフトウェアバージョン確認要求のプロトコルフォーマットの例が、図27に示されている。コマンド名を表すパラメータCommannd は、この例の場合、RequestConfirmSoftwareVersion とされている。また、この要求は、機器Bから送信されるので、DeviceIDには、機器B固有のIDであるSRP000010020 が記述されている。さらに、機器Bの現在のソフトウェアバージョン(更新後のバージョン)を表すPostSoftwareVersion は、2.0.0.1とされている。
図28は、ソフトウェアバージョン確認要求の具体的な例を表している。この例においては、コマンド名は、RequestConfirmSoftwareVersion とされている。DeviceIDとして機器BのIDが記述され、そのCurrentVersion は、2.0.0.1 とされている。
メディアレシーバ22において、ソフトウェアアップデータ部403が、ステップS73において、パレットディスプレイ31からのソフトウェアバージョン確認要求を受信すると、ステップS74において、ソフトウェアアップデータ部403は、パレットディスプレイ31に対して、ソフトウェアバージョン確認応答を送信する。図29は、このソフトウェアバージョン確認応答のプロトコルフォーマットの例を表している。コマンド名を表すパラメータCommannd は、この例の場合、ResponseConfirmSoftwareVersion とされている。また、リクエストに対する結果を表すパラメータResponseCode は、ACK とされている。DeviceID は、今の例の場合、機器A固有のIDであるSRM000010324 が記述されている。機器Aの現在のソフトウェアバージョン(更新後のバージョン)を表すパラメータPostSoftwareVersion は、2.0.0.5とされている。
図30は、ソフトウェアバージョン確認応答の具体的な例を表している。この例においては、コマンド名はResponseConfirmSoftwareVersion とされ、Result はOKとされている。また、DeviceIDには、機器Aの固有のIDが記述されている。そして、そのCurrentVersion は、2.0.0.5 とされている。
ステップS73において、ソフトウェアバージョン確認要求を受信すると、ソフトウェアアップデータ部403は、機器Bの更新後のソフトウェアバージョン(desired_version_B )(ステップS57でソフトウェアバージョンデータベース部221に保持させたdesired_version_B (図16の機器Bのdesired_version_B ))と、ステップS73で機器Bから受信したソフトウェアバージョン(post_version_B)(図28の機器Bのcurrent_version )が一致した場合、相手方のソフトウェアの更新の成功が確認され、自分自身の成功はステップS71で確認しているので、お互いにソフトウェア更新は成功したものと判定する。
メディアレシーバ22が、ファームウェア更新処理に成功しても、パレットディスプレイ31が、ファームウェア更新処理に失敗した場合(パレットディスプレイ31の更新前に期待されたバージョンと更新後のバージョンに不一致が生じて、パレットディスプレイ31が、ソフトウェア更新に失敗したものと判定した場合)、メディアレシーバ22は、更新処理前のバージョン(pre_version_A )にソフトウェアを復元する。その結果、メディアレシーバ22とパレットディスプレイ31が実質的に関連した動作ができなくなるような事態の発生が抑制される。再起動後のソフトウェアバージョンの確認が行われ、両者のバージョンがソフトウェア更新前に戻るまで、同様の処理が繰り返される。すべての機器の復元処理が完了して初めて、ソフトウェア更新処理が終了される。これにより、ファームウェア書き換え失敗時にも、ソフトウェアの整合性を保持することが可能となる。
メディアレシーバ22は、すべての機器がソフトウェアの更新処理に成功したのを確認した後、ステップS74において、ソフトウェアバージョン確認要求にACKで応答する。ACKを返す以前に、パレットディスプレイ31の電源がオフされたとしても、再度、ソフトウェアバージョン確認要求に、ACKを返すようにすれば問題が発生しない。
ステップS27において、ソフトウェアアップデーア部403は、メディアレシーバ22からのソフトウェアバージョン確認応答を受信する。
以上のようにして処理が行われた後、ステップS28とステップS75において、それぞれ、パレットディスプレイ31とメディアレシーバ22において、ソフトウェア更新処理完了処理が実行される。
メディアレシーバ22とパレットディスプレイ31の間のトランザクション中に、何らかの原因により、更新処理の中断を余儀なくされた場合、ソフトウェア更新中止要求が送信される。また、更新処理中は、お互いに処理が進んでいることを確認し合い、ある一定時間以上メディアレシーバ22とパレットディスプレイ31との間の通信応答がない場合、ソフトウェア更新に失敗したものとして、双方のシステムを復元する処理が行われる。
このほか例外処理として、次のようなものがある。すなわち、ソフトウェアのダウンロード中に、インターネット接続および無線通信が一定時間以上切断された場合は、両方ともソフトウェア更新を中止して、システムを復元する。ソフトウェア書き換え後、新しいソフトウェアの起動に一定回数以上失敗した場合にも、ソフトウェアの不具合、もしくはハードウェアの障害として、ソフトウェア更新に失敗したものと判定して、更新前のソフトウェアに復元する処理が実行される。
図31は、以上のソフトウェアを更新する場合における、不揮発性メモリ405のデータの書き換えの原理を表している。
同図に示されるように、当初、バンク222Aには、システム1としてバージョン1.0.0.3 のソフトウェアが記憶されている。そして、ブートパラメータとしては、システム1が記述されている。システム2を記憶するための他方のバンク222Bには、まだソフトウェアは記憶されていない。
そして、ソフトウェアバージョンデータベース部221には、ステップS57の処理により、ソフトウェアバージョンデータベース書き換え処理が行われる。この例においては、機器Aの更新前のバージョンは1.0.0.3 、更新後のバージョンは2.0.0.5 とされている。また、機器Bの更新前のバージョンは1.0.0.0 、更新後のバージョンは2.0.0.1 とされている。
ステップS62において、ソフトウェアがダウンロードされると、ステップS66において、その更新用のソフトウェアはバンク222Bにシステム2として記憶される。
そして、ステップS69の処理で、ブートパラメータ224が、システム1からシステム2に更新される。さらに、ステップS73において、ソフトウェアバージョンデータベース部221の書き換え処理が行われる。この例の場合、機器Aの更新前のバージョンが2.0.0.5とされ、更新後のバージョンは「なし」とされる。そして、機器Bの更新前のバージョンは2.0.0.1とされ、更新後のバージョンは「なし」とされる。
次に、メディアレシーバ22とパレットディスプレイ31の個々の処理の詳細について説明する。最初に、図32乃至図34のフローチャートを参照して、メディアレシーバ22の処理の詳細について説明する。
ステップS301において、ソフトウェアアップデータ部403は、機器B(パレットディスプレイ31)との間で機器間相互認証をする。この処理は、図7のステップS51の処理に対応する。次に、ステップS302において、ソフトウェアアップデータ部403は、機器Bからソフトウェア更新開始要求を受信する。この処理は、図7のステップS52の処理に対応する。ステップS303において、ソフトウェアアップデータ部403は、サーバ61と接続する。この接続処理は、SSL通信により行われる。この処理は、図7のステップS53の処理に対応する。
ステップS304において、ソフトウェアダウンロードクライアント部402は、サーバ61と接続できたかを判定する。サーバ61と接続できた場合には、ステップS305において、ソフトウェアダウンロードクライアント部402は、機器認証要求をサーバ61に送信する。この処理は、図7のステップS54の処理に対応する。ステップS306において、ソフトウェアダウンロードクライアント部402は、機器認証応答をサーバ61から受信する。この処理は、図7のステップS55の処理に対応する。
ステップS307において、ソフトウェアダウンロードクライアント部402は、ダウンロードサービスを提供してもらえるかを判定する。この判定は、パラメータResponseCode (図11)から判定することができる(このコードがAuthenticationSuccess であればダウンロードサービスの提供を受けることが可能と判定される)。
ダウンロードサービスをサーバ61から提供してもらえる場合には、ステップS308において、ソフトウェアダウンロードクライアント部402は、サーバ61に対してソフトウェアリストを要求する。この処理は、図7のステップS56の処理に対応する。次に、ステップS309において、ソフトウェアダウンロードクライアント部402は、応答(ソフトウェアリスト)をサーバ61から受信する。この処理は、図7のステップS57の処理に対応する。次に、ステップS310において、ソフトウェアアップデータ部403は、ステップS309の処理で受信したソフトウェアリストを解析する。そして、ステップS311において、ソフトウェアアップデータ部403は、解析の結果、最新ソフトウェアが存在するかを判定する。最新ソフトウェアが存在するか否かは、より大きい値のバージョンのソフトウェアが存在するか否かから判定することができる。
ステップS304において、サーバ61と接続できないと判定された場合、ステップS307において、サーバ61からダウンロードサービスを提供してもらえないと判定された場合、並びに、ステップS311において、最新ソフトウェアが存在しないと判定された場合、処理はステップS312に進み、ソフトウェアアップデータ部403は、エラー処理を実行する。そして、ソフトウェア更新処理が終了される。
ステップS311で、最新のソフトウェアが存在すると判定された場合には、ステップS313において、ソフトウェアアップデータ部403は、ソフトウェア更新パラメータを設定する。具体的には、例えば、desired_version_A に、機器Aのソフトウェア更新後に期待されるソフトウェアバージョン(ステップS309で受信したソフトウェアリストに記述されている)が記述される。そして、desired_version_B に、機器Bのソフトウェア更新後に期待されるソフトウェアバージョン(ステップS309で受信したソフトウェアリストに記述されている)が記述される。さらに、pre_version_A に機器Aのソフトウェア更新開始時のソフトウェアバージョンが記述され、pre_version_B に機器Bのソフトウェア更新開始時のソフトウェアバージョン(ステップS302で機器Bから受信した要求に記述されている)が記述される。そしてさらに、ソフトウェア更新フラグが更新中と設定される。
ステップS314において、ソフトウェアアップデータ部403は、機器B(パレットディスプレイ31)にソフトウェア更新開始応答を送信する。この処理は、図7のステップS58の処理に対応する。ステップS315において、ソフトウェアアップデータ部403は、ソフトウェアリストを機器Bに転送する。この処理は、図7のステップS59の処理に対応する。
ステップS316において、ソフトウェアアップデータ部403は、機器Bからソフトウェア転送に対するACK(応答)信号を受信する。この処理は、図7のステップS60の処理に対応する。ステップS317において、ソフトウェアアップデータ部403は、サーバ61にソフトウェアダウンロードを要求する。この処理は、図7のステップS61の処理に対応する。次に、ステップS318において、ソフトウェアアップデータ部403は、サーバ61からの応答(ソフトウェア)を受信する。この処理は、図7のステップS62の処理に対応する。
次に、ステップS319において、ソフトウェアアップデータ部403は、ステップS318においてダウンロードしたソフトウェアは、機器Bのものかを判定する。ダウンロードしたソフトウェアが機器Bのものである場合には、ステップS320において、ソフトウェアアップデータ部403は、ソフトウェアを機器Bへ転送する(ソフトウェア転送要求を出力する)。この処理は、図7のステップS63の処理に対応する。次に、ステップS321において、ソフトウェアアップデータ部403は、機器Bからソフトウェアの転送に対するACKを受信する。この処理は、図7のステップS64の処理に対応する。
ステップS319において、ダウンロードしたソフトウェアが機器Bのものではないと判定された場合、すなわち、機器Aのものである場合、ステップS322において、ソフトウェアアップデータ部403は、ソフトウェアを機器Aのメモリに保存する。この記憶は一時的なものであり、バンク222Aまたは222Bへの書き込みは、後述するステップS325で行われる。
ステップS321またはステップS322の処理の後、ステップS323において、ソフトウェアアップデータ部403は、更新用のソフトウェアをすべてダウンロードしたかを判定する。まだ、すべての更新用のソフトウェアをダウンロードしていない場合には、処理はステップS317に戻り、それ以降の処理が繰り返し実行される。
更新用ソフトウェアをすべてダウンロードしたと判定された場合、ステップS324において、ソフトウェアアップデータ部403は、同期処理のための機器Bにソフトウェア書き込み要求を送信する。この処理は、図7のステップS65の処理に対応する。次に、ステップS325において、ファームウェアライタ部404は、機器Aのソフトウェア書き込み処理を実行する。すなわち、ステップS222で一時的に記憶された更新用のソフトウェアが、バンク222Aと222Bのうちの、更新前のソフトウェアが記憶されている方に書き込まれる。この処理は、図7のステップS66の処理に対応する。
次に、ステップS326において、ソフトウェアアップデータ部403は、機器BからACK を受信したかを判定し、受信していない場合、受信するまで待機する。この処理は、図7のステップS67の処理に対応する。
機器BからACKを受信したと判定された場合、ステップS327において、ソフトウェアアップデータ部403は、同期処理のため、機器Bにソフトウェア更新適用開始要求を送信する。この処理は、図7のステップS68の処理に対応する。ステップS328において、ソフトウェアアップデータ部403は、機器Aのソフトウェア適用処理を実行する。すなわち、ブートパラメータが、ステップS325の処理で更新用のソフトウェアが記憶されたバンクを指示するように書き換えられる。この処理は、図7のステップS69の処理に対応する。次に、ステップS329において、ソフトウェアアップデータ部403は、機器Bからソフトウェア更新適用完了応答を受信する。この処理は、図7のステップS70の処理に対応する。
次に、ステップS330において、ブートセレクタ部406は、ソフトウェア再起動処理を実行する。ソフトウェア再起動処理の詳細は、図35のフローチャートを参照して後述するが、これにより、ブートパラメータで設定されたバンクに記憶されている更新用のソフトウェアが起動される。この処理は、図7のステップS71の処理に対応する。ステップS331において、ブートセレクタ部406は、再起動処理は成功したかを判定する。再起動処理が成功した場合、ステップS332において、ブートセレクタ部406は、ソフトウェア更新中であるのかを判定する。この判定は、ステップS313で設定されているフラグに基づいて行われる。ソフトウェアが更新中ではないと判定された場合には、処理は通常動作として終了される。ソフトウェア更新中である場合には、ステップS333において、リモートコミュニケータ部408はワイヤレスネットワークインターフェース部409を介して機器Bの接続を待つ。そして、ステップS334において、リモートコミュニケータ部408は機器Bと接続する。
次に、ステップS335において、ソフトウェアアップデータ部403は、機器間相互認証をする。この処理は、図7のステップS72の処理に対応する。ステップS336において、ソフトウェアアップデータ部403は、パレットディスプレイ31からソフトウェアバージョン確認要求を受信する。この処理は、図7のステップS73の処理に対応する。
ソフトウェアバージョン確認要求を受信したとき、ステップS337において、ソフトウェアアップデータ部403は、機器Bにdesired_version_Bは設定されているかを判定する。機器Bにdesired_version_B が設定されていない場合、ステップS330(後述する図35のステップS422)において、desired_version_B にundef が設定されているので、この設定に基づいてこの判定が行われる。desired_version_B が設定されていない場合には、ステップS338において、ソフトウェアアップデータ部403は、ソフトウェアバージョン確認応答(NAK)をパレットディスプレイ31(機器B)に送信する。その後、処理はステップS333に戻り、それ以降の処理が繰り返し実行される。
ステップS337において、desired_version_B が設定されていると判定された場合、ステップS339において、ソフトウェアアップデータ部403は、desired_version_B がpost_version_B と等しいかを判定する。post_version_B は、ステップS336でパレットディスプレイ31から受信された要求(図28)に記述されているCurrentVersion である。両者が等しくない場合には、ステップS340において、ソフトウェアアップデータ部403は、パレットディスプレイ31にソフトウェアバージョン確認応答(NAK)を送信する。その後、処理は後述する図35のステップS407に進む。
ステップS331において、再起動処理が成功しなかったと判定された場合にも、処理は、後述する図35のステップS407に進む。詳細は後述するが、ステップS407以降でソフトウェア復元処理が実行される。すなわち、ソフトウェア更新処理は中止され、更新前のソフトウェアの再起動処理が行われる。
ステップS339において、desired_version_B がpost_version_B と等しいと判定された場合(機器Bのソフトウェアの更新が成功した(機器Aのソフトウェアの更新も成功している)場合)、ステップS341において、ソフトウェアアップデータ部403は、ソフトウェアバージョン確認応答(ACK)をパレットディスプレイ31に送信する。この処理は、図7のステップS74の処理に対応する。さらに、ステップS342において、ソフトウェアアップデータ部403は、ソフトウェア更新処理確定処理を実行する。具体的には、pre_version_A にcurrent_version_A を設定する。さらに、ソフトウェア更新フラグがオフに設定される。この処理は、図7のステップS75の処理に対応する。以上で、ソフトウェア更新処理が正常終了とされる。
次に、図35のフローチャートを参照して、図34のステップS330におけるソフトウェア再起動処理の詳細について説明する。ステップS401において、ブートセレクタ部406は、ブートロムを読み込む。ブートロムには上述したように、ブートパラメータが記述されている。ステップS402において、ブートセレクタ部406は、起動回数を読み込む。この起動回数を表わす変数は、当初0に設定(リセット)されている。
ブートセレクタ部406は、ステップS404で、ステップS401で読み込んだブートロムに記述されているブートプログラムを実行する。ステップS403において、ブートセレクタ部406は、ソフトウェア更新中であるかを判定する。この判定は、ステップS342で設定されるソフトウェア更新フラグに基づいて行われる。ソフトウェアを更新中である場合には、ステップS405において、ブートセレクタ部406は、ステップS403で読み込んだ起動回数があらかじめ設定してある一定回数以上かを判定する。起動回数が一定回数以上である場合には、ステップS406において、ブートセレクタ部406は、ファームウェア書き換え失敗とする。そして、ステップS407,S408のソフトウェア復元処理が実行される。すなわち、ステップS407において、ブートセレクタ部406は、起動回数を0にリセットする。さらに、ステップS408において、ブートセレクタ部406は、ブートパラメータを変更する。すなわち、更新前のプログラムを実行するようにブートパラメータが書き換えられる。ステップS409において、ブートセレクタ部406は、ブートパラメータに記述されているバンクに記憶されているソフトウェアを再起動する処理を実行する。その後処理はステップS401に戻り、それ以降の処理が繰り返し実行される。
ステップS405において、起動回数が一定回数以上ではないと判定された場合、並びに、ステップS404において、ソフトウェアが更新中ではないと判定された場合、ステップS410において、ブートセレクタ部406は、起動回数を1だけインクリメントする。そして、ステップS411において、ブートセレクタ部406は、ブートパラメータを読み込む。ステップS412において、ブートセレクタ部406は、システム1もしくはシステム2のプログラムを読み込む。システム1とシステム2のいずれのプログラムが読み込まれるかは、ステップS411で読み込んだブートパラメータに設定されていることになる。
ステップS413において、ブートセレクタ部406は、メインプログラムを実行する。すなわち、ステップS412で読み込んだプログラムが実行されることになる。ステップS414において、ブートセレクタ部406は、ハードウェアを自己診断する。ステップS415において、ブートセレクタ部406は、ステップS414の自己診断の結果、ソフトウェアは正常に起動したかを判定する。ソフトウェアが正常に起動していない場合には、処理はステップS401に戻り、それ以降の処理が繰り返し実行される。
ステップS415において、ソフトウェアが正常に起動したと判定された場合、ステップS416において、ブートセレクタ部406は、起動回数を0にリセットする。ステップS417において、ブートセレクタ部406は、今、ソフトウェアは更新中であるかを判定し、ソフトウェア更新中である場合には、ソフトウェアバージョン管理部407は、ステップS418において、バージョンをソフトウェアバージョンデータベース部221から読み込む。そして、ステップS419において、ソフトウェアバージョン管理部407は、current_version_A とpre_version_A の値を比較し、前者が後者より大きいかを判定する。current_version_A がpre_version_A より大きい場合には、ステップS420において、ソフトウェアバージョン管理部407は、desired_version_A とcurrent_version_A が等しいかを判定する。両者が等しい場合には(最終的に、ソフトウェアが最新のバージョンに更新されていると判定されるので)、ステップS421において、ソフトウェアバージョン管理部407は、再起動処理成功として処理を終了させる。
current_version_A がpre_version_A より大きくても、ステップS420において、desired_version_A とcurrent_version_A が等しくないと判定された場合には、結局、ソフトウェアは最新のバージョンに更新されていないので、再起動処理失敗として処理は終了される。
ステップS419において、current_version_A がpre_version_A と等しいか、それより小さいと判定された場合には、ソフトウェアは最新のバージョンに更新されていないので、ステップS422において、ソフトウェアバージョン管理部407は、バージョンパラメータをリセットする。具体的には、desired_version_A をundef とする。このundef は、設定が行われていないことを意味する。同様に、desired_version_B もundef とされる。さらに、ソフトウェア更新フラグはオフされる。
ステップS423において、ソフトウェアバージョン管理部407は、ソフトウェア更新処理を失敗とする。しかし、ソフトウェアの更新は失敗したものの、ソフトウェアの起動自体は成功したので、ステップS424において、ブートセレクタ部406は正常起動として処理を終了する。
ステップS417において、ソフトウェアが更新中ではないと判定された場合にも、ステップS424において、ブートセレクタ部406は正常起動として処理を終了する。
ステップS421,S424の処理が行われた場合、図34のステップS331で再起動処理は成功したと判定され、ステップS420でNOと判定された場合には、再起動処理は失敗したと判定される。
次に、図36と図37のフローチャートを参照して、パレットディスプレイ31(機器B)のソフトウェア更新処理の詳細について説明する。ステップS501において、ソフトウェアアップデータ部501は、機器間相互認証する。この処理は、図7のステップS11の処理に対応する。ステップS502において、ソフトウェアアップデータ部501は、機器Aにソフトウェア更新開始要求を送信する。この処理は、図7のステップS12の処理に対応する。ステップS503において、ソフトウェアアップデータ部501は、機器Aからソフトウェア更新開始応答を受信する。この処理は、図7のステップS13の処理に対応する。
ステップS504において、ソフトウェアバージョン管理部505は、ソフトウェア更新パラメータを設定する。具体的には、パラメータの設定として、例えば、desired_version_A に、機器Aのソフトウェア更新後に期待されるソフトウェアバージョンが記述され、desired_version_B に、機器Bのソフトウェア更新後に期待されるソフトウェアバージョンが記述される。さらに、pre_version_A に、機器Aから通知された(図16の)機器Aのソフトウェアバージョンが記述され、pre_version_B に、機器Bのソフトウェア更新開始時のソフトウェアバージョンcurrent_version_Bが記述される。さらに、ソフトウェア更新フラグは、更新中と設定される。
ステップS505において、ソフトウェアアップデータ部501は、機器Aからソフトウェアリストを取得する。この処理は、図7のステップS14の処理に対応する。ステップS506において、ソフトウェアアップデータ部501は、機器AにACK を送信する。この処理は、図7のステップS15の処理に対応する。次に、ステップS507において、ソフトウェアアップデータ部501は、機器Aから送信されてきたソフトウェアを受信する(ソフトウェア転送を受信する)。この処理は、図7のステップS16の処理に対応する。ステップS508において、ソフトウェアアップデータ部501は、機器Bのメモリに受信したソフトウェアを保存する。この保存は、一時的なものであり、バンク352A,352Bの記憶ではない。ステップS509において、ソフトウェアアップデータ部501は、機器AにACK を送信する。この処理は、図7のステップS17の処理に対応する。
次に、ステップS510において、ソフトウェアアップデータ部501は、更新用ソフトウェアをすべて取得したかを判定する。まだ更新用ソフトウェアを全て取得してない場合には、処理はステップS507に戻り、それ以降の処理が繰り返し実行される。ステップS510において、更新用ソフトウェアをすべて取得したと判定された場合には、ステップS511において、ソフトウェアアップデータ部501は、機器Aからソフトウェア書き込み開始要求を受信する。これにより、バンク352A,352Bのうちの、更新前のソフトウェアが記憶されていない方へ更新用のソフトウェアが書き込まれる。この処理は、図7のステップS18の処理に対応する。ステップS512において、ファームウェアライタ部502は、機器Bのソフトウェア書き込み処理を実行する。この処理は、図7のステップS19の処理に対応する。次に、ステップS513において、ソフトウェアアップデータ部501は、機器Aにソフトウェア書き込み完了応答を送信する。この処理は、図7のステップS20の処理に対応する。
次に、ステップS514において、ソフトウェアアップデータ部501は、機器Aからソフトウェア適用開始要求を受信する。この処理は、図7のステップS21の処理に対応する。ステップS515において、ブートセレクタ部504は、機器Bのソフトウェア適用処理を実行する。すなわち、ブートパラメータの書き変え処理が実行される(更新用のソフトウェアが書き込まれたバンクがブートパラメータに記述される)。この処理は、図7のステップS22の処理に対応する。ステップS516において、ソフトウェアアップデータ部501は、機器Aにソフトウェア更新適用完了応答を送信する。この処理は、図7のステップS23の処理に対応する。
ステップS517において、ブートセレクタ部504は、ソフトウェア再起動処理を実行する。この処理の詳細は、図38のフローチャートを参照して後述するが、これにより、更新用のソフトウェアが起動される。この処理は、図7のステップS24の処理に対応する。ステップS518において、ブートセレクタ部504は、再起動処理は成功したかを判定する。再起動処理が成功した場合には、ステップS519において、ブートセレクタ部504は、今、ソフトウェア更新中であるかをフラグ(ステップS504で設定されている)に基づいて判定する。ソフトウェアが更新中である場合には、ステップS520において、リモートコミュニケータ部506は、機器Aと接続する。ステップS521において、リモートコミュニケータ部506は、機器間相互認証をする。ステップS521の処理は、図7のステップS25の処理に対応する。ステップS522において、ソフトウェアアップデータ部501は、機器Aにソフトウェアバージョン確認要求を送信する。この処理は、図7のステップS26の処理に対応する。ステップS523において、ソフトウェアアップデータ部501は、機器Aからソフトウェアバージョン確認応答を受信する。この処理は、図7のステップS27の処理に対応する。
ステップS524において、ソフトウェアバージョン管理部505は、desired_version_A は設定されているかを判定する。desired_version_A が設定されている場合(後述する図38のステップS623で、desired_version_A にundef が設定されていない場合)には、ステップS525において、ソフトウェアバージョン管理部505は、desired_version_A とpost_version_A が等しいかを判定する。post_version_Aは、ステップS523でメディアレシーバ22から受信した応答に記述されている機器AのCurrentVersion に基づき設定されたものである。両者が等しい(ソフトウェアが更新されている)場合には、ステップS526において、ソフトウェアバージョン管理部505は、ソフトウェア更新処理確定処理を実行する。具体的には、pre_version_B にcurrent_version_B が設定される。さらに、ソフトウェア更新フラグがオフされる。ステップS526の処理は、図7のステップS28の処理に対応する。
以上のようにして、ソフトウェア更新処理が正常終了とされる。
ステップS518において、再起動処理が失敗したと判定された場合、処理は後述する図38のステップS607に戻り、起動回数が0にリセットされた後、ステップS608において、ブートパラメータを変更した後、ステップS609で再起動が行われ、さらにステップS601に戻って、それ以降の処理が繰り返し実行される。
ステップS519において、今、ソフトウェア更新中ではないと判定された場合には、通常動作終了として処理が終了される。
ステップS524において、desired_version_A が設定されていないと判定された場合、並びに、ステップS525において、desired_version_A とpost_version_A が等しくないと判定された場合には、結局、ソフトウェアが更新できなかったことになるので、ステップS527において、ソフトウェアバージョン管理部505は、既にソフトウェアを復元済みであるかを判定する。すなわち、pre_version_B がcurrent_version_B と等しいかが判定される。ソフトウェアをまだ復元済みではない場合には、処理は図38のステップS607に戻り、それ以降の処理が繰り返し実行される。
すなわち、図37のステップS524において、desired_version_A が設定されてないと判定された場合、結局、機器Aでもソフトウェアの更新が失敗したことになる。そこで、ステップS527において、まだ、ソフトウェアを復元済みでない場合には、ステップS607に進み、復元処理が実行される。
ステップS525において、desired_version_A がpost_version_A と等しくないと判定された場合にも、結局は機器Aにおける更新処理が、当初予定したバージョンに更新されなかったことになる。したがって、この場合にも、ステップS524において、desired_version_A が設定されなかった場合と同様に、ステップS527以降の処理が実行される。
ステップS527において、既に、ソフトウェアを復元済みであると判定された場合には、ステップS528において、ソフトウェアバージョン管理部505は、pre_version_A がpost_version_A と等しいかを判定する。両者が等しくない場合には、処理はステップS520に戻り、機器Aにおいて復元処理が完了し、pre_version_A とpost_version_A が等しくなるまで、それ以降の処理が繰り返し実行される。ステップS528において、pre_version_A がpost_version_A と等しいと判定された場合(機器Aの復元処理が完了した場合)には、ステップS529において、ソフトウェアバージョン管理部505は、ソフトウェア更新処理失敗処理を実行し、ソフトウェア更新フラグをオフする。ステップS527乃至S529の処理も、図7のステップS28の処理に対応する。以上により、ソフトウェア更新処理が失敗として処理が終了される。
次に、図38のフローチャートを参照して、図37のステップS517におけるソフトウェア再起動処理の詳細について説明する。
図38のステップS601乃至ステップS623の処理は、図35のステップS401乃至ステップS424の処理と基本的に同様の処理である。但し、図35のステップS419において、current_version_A がpre_version_A と等しいかそれより小さいと判定された場合には、ステップS422,S423の処理が行われるのに対して、図38の場合にはステップS623の処理が実行される。
すなわち、ステップS620において、比較の対象とされるpre_version_B には、更新される前のcurrent_version_B が設定されている。また、ステップS621において、比較の対象とされるcurrent_version_B には、ステップS619のバージョン読み込み処理において、その時起動されているバージョンが設定される。
ステップS620において、current_version_B がpre_version_B より大きいと判定された場合には、ステップS621において、desired_version_B とcurrent_version_B が等しいか判定される。ソフトウェアの更新が行われた場合には、current_version_B はpre_version_B より大きい。そして、正しい更新が行われた場合には、desired_version_B はcurrent_version_B と等しい。したがって、この場合には、ステップS622において、再起動処理成功とされる。これに対して、current_version_B がpre_version_B より大きいが、desired_version_B がcurrent_version_B と等しくない場合には、何らかの理由でバージョンの更新には成功したが、再起動処理は失敗したことになる。
この場合には、処理は、図37のステップS517に戻り、そこからさらに、ステップS518の以降の処理に進む。
ソフトウェアのバージョンの更新には成功したが、再起動の結果、起動したソフトウェアが前のバージョンである場合には、current_version_B (起動したソフトウェアのバージョン)はpre_version_B (更新開始時のソフトウェアのバージョン)と等しいかそれより小さくなる。また、機器Bにおけるバージョンの更新は成功しても、機器Aのバージョンの更新が失敗した場合には、機器Bのバージョンは元のバージョンに戻される。機器Bのバージョンが元に戻された場合にも、current_version_B (起動した(元に戻した)ソフトウェアのバージョン)はpre_version_B (更新開始時のソフトウェアのバージョン)の値と等しいかそれより小さくなる。これらの場合には、ステップS623の処理が実行された後、バージョンの更新は失敗したが、再起動処理そのものは成功したので、再起動処理成功とされる。
以上においては、機器B(パレットディスプレイ31)からソフトウェアの更新を要求するようにしたが、機器A(メディアレシーバ22)からソフトウェアの更新を要求するようにすることも可能である。図39は、この場合の処理を表している。
ステップS801において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31に対して、電源オンであるかを確認するメッセージを送信する。ステップS701において、パレットディスプレイ31のソフトウェアアップデータ部501が、メディアレシーバ22からのこの確認のメッセージを受信した後、ステップS702とステップS802において、メディアレシーバ22のソフトウェアアップデータ部403と、パレットディスプレイ31のソフトウェアアップデータ部501の間において、機器関相互認証処理が行われる。
機器間相互認証処理が完了した後、ステップS803において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31に対して、ソフトウェアバージョンを問合わせる。図40は、この場合におけるソフトウェアバージョン問合せ要求のプロトコルフォーマットの例を表している。この例においては、パラメータCommannd は、RequestQuerySoftwareVersion とされている。
ステップS703において、パレットディスプレイ31のソフトウェアアップデータ部501は、メディアレシーバ22からのソフトウェアバージョン問合せを受信すると、自分自身が現在使用しているソフトウェアのバージョンを調べ、ステップS704において、ソフトウェアアップデータ部501は、メディアレシーバ22に対して、ソフトウェアバージョン応答を送信する。図41は、この場合におけるソフトウェアバージョン問合せ応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd は、ResponseQuerySoftwareVersion とされている。リクエストに対応する応答を表すパラメータResponseCodeはACKとされている。DeviceIDは、機器B固有のIDであるSRP000010020とされている。機器Bの現在のソフトウェアバージョンを表すパラメータCurrentSoftwareVersion は1.0.0.0とされている。また、機器Bの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、この時点においては不明であるので送信されない。
ステップS804において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31からのソフトウェアバージョン応答を受信する。
その後、メディアレシーバ22は、ステップS805乃至ステップS809において、またサーバ61は、ステップS901乃至S905において、図7におけるステップS53乃至ステップS57、並びにステップS91乃至S95における場合と同様の処理が実行される。すなわち、メディアレシーバ22とサーバ61との間で、SSL通信が行われ、ソフトウェアリストが、サーバ61からメディアレシーバ22に送信されてくる。
ステップS810において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31に対して、ソフトウェア更新開始要求を送信する。図42は、このソフトウェア更新開始要求のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はRequestStartSoftwareUpdate とされている。要求の送信元の機器のDeviceIDとして、機器A固有のIDが、SRM000010324 とされている。機器Aの現在のソフトウェアバージョンを表わすパラメータCurrentSoftwareVersion は1.0.0.3 とされている。さらに、機器Aの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.5 とされている。要求の送信先の機器のDeviceIDとして、機器Bの固有のIDがSRP000010020 とされている。機器Bの現在のソフトウェアバージョンを表すパラメータCurrentSoftwareVersion は1.0.0.0 とされ、機器Bの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.1 とされている。
ステップS705において、パレットディスプレイ31のソフトウェアアップデータ部501は、メディアレシーバ22からのソフトウェア更新開始要求を受信する。そして、ステップS706において、ソフトウェアアップデータ部501は、メディアレシーバ22に対して、ソフトウェア更新開始応答を送信する。図43は、この場合におけるソフトウェア更新開始応答のプロトコルフォーマットの例を表している。この例においては、コマンド名を表すパラメータCommannd はRequestStartSoftwareUpdate とされている。リクエストに対する応答を表すパラメータResponseCode はACK とされている。応答の送信元を表わすDeviceID としては、今の場合、機器B固有のIDであるSRP0000100200 が記述されている。機器Bの現在のソフトウェアバージョンであるパラメータCurrentSoftwareVersion は1.0.0.0 とされ、機器Bの最新のソフトウェアバージョンを表すパラメータDesiredSoftwareVersion は、2.0.0.1とされている。
ステップS811において、メディアレシーバ22のソフトウェアアップデータ部403は、パレットディスプレイ31からのソフトウェア更新開始応答を受信する。
以下、メディアレシーバ22が、ステップS812乃至ステップS828において、また、パレットディスプレイ31が、ステップS707乃至ステップS721において、それぞれ実行する処理は、図7におけるステップS59乃至S75、並びに、ステップS14乃至ステップS28における場合と同様の処理であるのでその説明は省略する。
なお、無線LAN41としては、例えば、ブルートゥース(登録商標)などを利用することも可能である。
バージョンの比較において、下位の所定の桁を無視することも可能である。
さらに、パレットディスプレイ31が2台以上存在する場合には、そのすべてのソフトウェアのバージョンが更新されない限り、メディアレシーバ22のソフトウェアも復元される。
以上においては、画像情報を複数の機器で受信する場合を例として説明したが、例えば、電話機の親機と子機におけるソフトウェアを更新する場合にも、本発明を適用することが可能である。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図2と図3に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア121,321により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM、EEPROM、ハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
本発明は対で使用されるテレビジョンチューナ、電話機などに適用することが可能である。
本発明を適用した情報処理システムの構成例を示すブロック図である。 図1のメディアレシーバの構成例を示すブロック図である。 図1のパレットディスプレイの構成例を示すブロック図である。 メディアレシーバの機能的構成例を示すブロック図である。 パレットディスプレイの機能的構成例を示すブロック図である。 パラメータを説明する図である。 メディアレシーバ、パレットディスプレイ、およびサーバの処理を説明するフローチャートである。 ソフトウェア更新開始要求のプロトコルフォーマットを示す図である。 ソフトウェア更新開始要求メッセージの例を示す図である。 機器認証要求のプロトコルフォーマットを示す図である。 機器認証応答のプロトコルフォーマットを示す図である。 ソフトウェアリスト要求のプロトコルフォーマットを示す図である。 ソフトウェアリスト要求の応答のプロトコルフォーマットを示す図である。 ソフトウェアリストを示す図である。 ソフトウェア更新開始応答のプロトコルフォーマットを示す図である。 ソフトウェア更新開始応答メッセージを示す図である。 ソフトウェアリスト転送要求のプロトコルフォーマットを示す図である。 ソフトウェアリスト転送要求の応答のプロトコルフォーマットを示す図である。 ソフトウェア転送要求のプロトコルフォーマットを示す図である。 ソフトウェア転送要求を示す図である。 ソフトウェア転送応答のプロトコルフォーマットを示す図である。 ソフトウェア転送応答を示す図である。 ソフトウェア書き込み開始要求のプロトコルフォーマットを示す図である。 ソフトウェア書き込み終了応答のプロトコルフォーマットを示す図である。 ソフトウェア更新適用要求のプロトコルフォーマットを示す図である。 ソフトウェア更新適用完了応答のプロトコルフォーマットを示す図である。 ソフトウェアバージョン確認要求のプロトコルフォーマットを示す図である。 ソフトウェアバージョン確認要求を示す図である。 ソフトウェアバージョン確認応答のプロトコルフォーマットを示す図である。 ソフトウェアバージョン確認応答を示す図である。 メモリマップの書き換えを説明する図である。 メディアレシーバのソフトウェア更新処理を説明するフローチャートである。 メディアレシーバのソフトウェア更新処理を説明するフローチャートである。 メディアレシーバのソフトウェア更新処理を説明するフローチャートである。 メディアレシーバのソフトウェア再起動処理を説明するフローチャートである。 パレットディスプレイのソフトウェア更新処理を説明するフローチャートである。 パレットディスプレイのソフトウェア更新処理を説明するフローチャートである。 パレットディスプレイのソフトウェア再起動処理を説明するフローチャートである。 メディアレシーバ、パレットディスプレイ、およびサーバの他の処理を説明するフローチャートである。 ソフトウェアバージョン問合せ要求のプロトコルフォーマットを示す図である。 ソフトウェアバージョン問合せ応答のプロトコルフォーマットを示す図である。 ソフトウェア更新開始要求のプロトコルフォーマットを示す図である。 ソフトウェア更新開始応答のプロトコルフォーマットを示す図である。
符号の説明
1 情報処理システム, 12 インターネット, 21 PDPパネル, 22 メディアレシーバ, 31−1乃至31−3 パレットディスプレイ, 61,62 サーバ, 221 ソフトウェアバージョンデータベース部, 222A,222B バンク, 351 ソフトウェアバージョンデータベース部, 352A,352B バンク, 401 ネットワークインターフェース部, 402 ソフトウェアダウンロードクライアント部, 403 ソフトウェアアップデータ部, 404 ファームウェアライタ部, 405 不揮発性メモリ, 406 ブートセレクタ部, 407 ソフトウェアバージョン管理部, 408 リモートコミュニケータ部, 409 ワイヤレスネットワークインターフェース部, 410 ユーザインターフェース部, 501 ソフトウェアアップデータ部, 502 ファームウェアライタ部, 503 不揮発性メモリ, 504 ブートセレクタ部, 505 ソフトウェアバージョン管理部, 506 リモートコミュニケ-タ部, 507 ワイヤレスネットワークインターフェース部

Claims (20)

  1. 情報を処理する第1の機器と、
    前記第1の機器と関連して情報を処理する第2の機器とを備え、
    前記第1の機器は、ネットワークを介して接続されているサーバから前記第1の機器が更新する第1のソフトウェアと前記第2の機器が更新する第2のソフトウェアをダウンロードし、前記第2のソフトウェアを前記第2の機器に送信するとともに、前記第1のソフトウェアを記憶し、
    前記第2の機器は、前記第1の機器から受信した前記第2のソフトウェアを記憶し、
    前記第1の機器の前記第1のソフトウェアによる起動時に不具合が発生した場合、並びに前記第2の機器の前記第2のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第1の機器と前記第2の機器は、それぞれ更新前のソフトウェアを復元する
    ことを特徴とする情報処理システム。
  2. 情報を処理する第1の機器と、
    前記第1の機器と関連して情報を処理する第2の機器と
    を備える情報処理システムの情報処理方法において、
    前記第1の機器は、ネットワークを介して接続されているサーバから前記第1の機器が更新する第1のソフトウェアと前記第2の機器が更新する第2のソフトウェアをダウンロードし、前記第2のソフトウェアを前記第2の機器に送信するとともに、前記第1のソフトウェアを記憶し、
    前記第2の機器は、前記第1の機器から受信した前記第2のソフトウェアを記憶し、
    前記第1の機器の前記第1のソフトウェアによる起動時に不具合が発生した場合、並びに前記第2の機器の前記第2のソフトウェアによる起動時に不具合が発生した場合のいずれの場合においても、前記第1の機器と前記第2の機器は、それぞれ更新前のソフトウェアを復元する
    ことを特徴とする情報処理方法。
  3. 他の情報処理装置と関連して情報を処理する情報処理装置において、
    ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロード手段と、
    前記第1のソフトウェアを記憶する記憶手段と、
    前記第2のソフトウェアを前記他の情報処理装置に送信する送信手段と、
    前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元手段と
    を備えることを特徴とする情報処理装置。
  4. 前記復元手段は、前記他の情報処理装置に前記第2のソフトウェアを送信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、前記他の情報処理装置に前記第2のソフトウェアを送信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生したとする
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記復元手段は、一定回数以上起動しても前記第1のソフトウェアの起動ができなかった場合、または前記情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョンが一致しない場合、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生したとする
    ことを特徴とする請求項3に記載の情報処理装置。
  6. 前記記憶手段は、前記第1のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、
    前記情報処理装置は、前記記憶手段に前記第1のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第1のソフトウェアに書き換える書き換え手段をさらに備え、
    前記復元手段は、前記第1のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第1のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する
    ことを特徴とする請求項3に記載の情報処理装置。
  7. 前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも1つを前記他の情報処理装置と同期させる同期手段をさらに備える
    ことを特徴とする請求項6に記載の情報処理装置。
  8. 前記他の情報処理装置から前記ソフトウェアの更新の要求を受け付ける受付手段をさらに備え、
    前記ダウンロード手段は、前記受付手段が前記ソフトウェアの更新の要求を受け付けたとき、前記第1のソフトウェアと前記第2のソフトウェアをダウンロードする
    ことを特徴とする請求項3に記載の情報処理装置。
  9. 他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、
    ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップと、
    前記第1のソフトウェアを記憶する記憶ステップと、
    前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップと、
    前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップと
    を含むことを特徴とする情報処理方法。
  10. 他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
    ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップと、
    前記第1のソフトウェアを記憶する記憶ステップと、
    前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップと、
    前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  11. 他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
    ネットワークを介してサーバにアクセスし、前記情報処理装置が更新する第1のソフトウェアと前記他の情報処理装置が更新する第2のソフトウェアをダウンロードするダウンロードステップと、
    前記第1のソフトウェアを記憶する記憶ステップと、
    前記第2のソフトウェアを前記他の情報処理装置に送信する送信ステップと、
    前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記他の情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元するとともに、前記他の情報処理装置に更新前のソフトウェアを復元させる復元ステップと
    をコンピュータに実行させることを特徴とするプログラム。
  12. 他の情報処理装置と関連して情報を処理する情報処理装置において、
    前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信手段と、
    前記第2のソフトウェアを記憶する記憶手段と、
    前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元手段と
    を備えることを特徴とする情報処理装置。
  13. 前記復元手段は、前記他の情報処理装置から前記第2のソフトウェアを受信した後の前記他の情報処理装置のソフトウェアのバージョンを確認し、確認したバージョンと、前記他の情報処理装置から前記第2のソフトウェアを受信する前に更新後期待されていた前記他の情報処理装置のソフトウェアのバージョンとを比較し、両者が一致しない場合、または前記他の情報処理装置から前記第2のソフトウェアを受信する前に更新後期待されていたバージョンのソフトウェアが前記他の情報処理装置に設定されていない場合、前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生したとする
    ことを特徴とする請求項12に記載の情報処理装置。
  14. 前記復元手段は、一定回数以上起動しても前記第2のソフトウェアの起動ができなかった場合、または前記情報処理装置のソフトウェアの現在のバージョンが、ソフトウェア更新開始時のバージョンより大きく、かつ前記情報処理装置のソフトウェアの現在のバージョンと、前記他の情報処理装置にソフトウェアを送信する前に更新後期待されていた前記情報処理装置のソフトウェアのバージョンが一致しない場合、前記情報処理装置の前記第1のソフトウェアの起動時に不具合が発生したとする
    ことを特徴とする請求項12に記載の情報処理装置。
  15. 前記記憶手段は、前記第2のソフトウェアを更新前のソフトウェアと異なる領域に記憶させ、
    前記情報処理装置は、前記記憶手段に前記第2のソフトウェアが記憶された場合、起動するソフトウェアの指定を、更新前の前記ソフトウェアから前記第2のソフトウェアに書き換える書き換え手段をさらに備え、
    前記復元手段は、前記第2のソフトウェアの起動時に不具合が発生した場合、起動するソフトウェアの指定を、前記第2のソフトウェアから更新前の前記ソフトウェアにさらに書き換えることで更新前のソフトウェアを復元する
    ことを特徴とする請求項12に記載の情報処理装置。
  16. 前記ソフトウェアの記憶、前記指定の書き換え、および前記ソフトウェアの起動のうちの少なくとも1つを前記他の情報処理装置と同期させる同期手段をさらに備える
    ことを特徴とする請求項15に記載の情報処理装置。
  17. 前記他の情報処理装置に前記ソフトウェアの更新を要求する要求手段をさらに備える
    ことを特徴とする請求項12に記載の情報処理装置。
  18. 他の情報処理装置と関連して情報を処理する情報処理装置の情報処理方法において、
    前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップと、
    前記第2のソフトウェアを記憶する記憶ステップと、
    前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップと
    を含むことを特徴とする情報処理方法。
  19. 他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
    前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップと、
    前記第2のソフトウェアを記憶する記憶ステップと、
    前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップと
    を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  20. 他の情報処理装置と関連して情報を処理する情報処理装置のプログラムにおいて、
    前記他の情報処理装置が前記他の情報処理装置が更新する第1のソフトウェアとともにダウンロードした第2のソフトウェアを前記他の情報処理装置から受信する受信ステップと、
    前記第2のソフトウェアを記憶する記憶ステップと、
    前記他の情報処理装置の前記第1のソフトウェアの起動時に不具合が発生した場合、並びに前記情報処理装置の前記第2のソフトウェアの起動時に不具合が発生した場合のいずれの場合においても、前記情報処理装置の更新前のソフトウェアを復元する復元ステップと
    をコンピュータに実行させることを特徴とするプログラム。
JP2004334679A 2004-11-18 2004-11-18 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム Withdrawn JP2006146495A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004334679A JP2006146495A (ja) 2004-11-18 2004-11-18 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004334679A JP2006146495A (ja) 2004-11-18 2004-11-18 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2006146495A true JP2006146495A (ja) 2006-06-08

Family

ID=36626111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004334679A Withdrawn JP2006146495A (ja) 2004-11-18 2004-11-18 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2006146495A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1887464A1 (en) * 2006-08-09 2008-02-13 Samsung Electronics Co., Ltd. Display apparatus, image processing apparatus and method for upgrading control program thereof
JP2008033889A (ja) * 2006-06-26 2008-02-14 Nec Corp 携帯端末のアップデートシステム、携帯端末のアップデート方法、携帯端末、及びプログラム
JP2008140383A (ja) * 2006-11-29 2008-06-19 Internatl Business Mach Corp <Ibm> コントローラ・ファームウェア・ダウンロードの同期化に関する装置、方法、データ・キャリアおよびコンピュータ・プログラム
JP2008233965A (ja) * 2007-03-16 2008-10-02 Nec Corp 携帯端末装置とそのプログラム、及び、改竄防止システムと改竄防止方法
JP2013501279A (ja) * 2009-09-04 2013-01-10 中興通訊股▲ふん▼有限公司 コンフィギュレーション・アップデートが失敗した後の処理方法及びネットワークエレメント設備
JP2015516607A (ja) * 2012-02-24 2015-06-11 クアルコム,インコーポレイテッド 熱アウェアデバイスブーティングのためのシステムおよび方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033889A (ja) * 2006-06-26 2008-02-14 Nec Corp 携帯端末のアップデートシステム、携帯端末のアップデート方法、携帯端末、及びプログラム
EP1887464A1 (en) * 2006-08-09 2008-02-13 Samsung Electronics Co., Ltd. Display apparatus, image processing apparatus and method for upgrading control program thereof
US8330861B2 (en) 2006-08-09 2012-12-11 Samsung Electronics Co., Ltd. Display apparatus, image processing apparatus and method for upgrading control program thereof
JP2008140383A (ja) * 2006-11-29 2008-06-19 Internatl Business Mach Corp <Ibm> コントローラ・ファームウェア・ダウンロードの同期化に関する装置、方法、データ・キャリアおよびコンピュータ・プログラム
US8352932B2 (en) 2006-11-29 2013-01-08 International Business Machines Corporation Synchronizing controller firmware download
JP2008233965A (ja) * 2007-03-16 2008-10-02 Nec Corp 携帯端末装置とそのプログラム、及び、改竄防止システムと改竄防止方法
JP2013501279A (ja) * 2009-09-04 2013-01-10 中興通訊股▲ふん▼有限公司 コンフィギュレーション・アップデートが失敗した後の処理方法及びネットワークエレメント設備
JP2015516607A (ja) * 2012-02-24 2015-06-11 クアルコム,インコーポレイテッド 熱アウェアデバイスブーティングのためのシステムおよび方法
JP2018142346A (ja) * 2012-02-24 2018-09-13 クアルコム,インコーポレイテッド 熱アウェアデバイスブーティングのためのシステムおよび方法

Similar Documents

Publication Publication Date Title
JP4661886B2 (ja) ネットワーク環境における複数の無線周辺機器を自動的に設定する方法
WO2017149825A1 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
CN100461674C (zh) 用于同步内容与家庭装置的集合的方法和设备
EP2456257B1 (en) Method and system for upgrading wireless data card
JP2007503654A (ja) 初期のソフトウェア及びソフトウェア・アップグレード・パッケージからアップグレードされたソフトウェアを生成するための装置及び方法
JP2009544095A (ja) Ota可能な携帯端末のプログラム更新システム及び方法
JP2009110530A (ja) データベースデータの同期
WO2005116827A1 (en) A method for remotely upgrading the firmware of a target device using wireless technology
JP2009133549A (ja) 空気調和機用の通信アダプタ及び空気調和機の制御プログラム更新システム
JP2009053920A (ja) 車載用電子制御ユニットのプログラム管理システム
WO2018154949A1 (ja) プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラム
JP2008035126A (ja) 無線基地局装置及びその制御方法
JP2006146495A (ja) 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
JP2024040359A (ja) 更新データを配信するサーバ、更新データの配信方法及び配信プログラム、ソフトウェア更新システム
JP2002163112A (ja) 情報処理端末および方法、情報処理装置および方法、通信システム、並びに記録媒体
JP2004013443A (ja) 携帯端末補助装置、データ同期方法および携帯端末装置
JP2008269395A (ja) マルチメディアシステムおよびナビゲーションユニット端末
WO2017219653A1 (zh) 设备的控制方法、装置及系统、文件的发送方法和装置
JP4072834B2 (ja) データベース管理装置
JP5174718B2 (ja) ネットワークシステムおよびネットワークアダプタ
JP2007243257A (ja) 管理制御システム
WO2017043026A1 (ja) 制御方法およびそれを利用した通信装置
JP2005252770A (ja) 電灯線通信システム
WO2023182334A1 (ja) 通信装置、通信方法、及びプログラム
JPH11242588A (ja) プログラムダウンロードシステム、中央局、基地局、プログラムダウンロード方法、ファイルダウンロードシステム及び記録媒体

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205