JP2000515286A - セットトップのシステムソフトウエアをネットワークサーバからアップグレードするためのフェイルセーフ方法 - Google Patents
セットトップのシステムソフトウエアをネットワークサーバからアップグレードするためのフェイルセーフ方法Info
- Publication number
- JP2000515286A JP2000515286A JP10529329A JP52932998A JP2000515286A JP 2000515286 A JP2000515286 A JP 2000515286A JP 10529329 A JP10529329 A JP 10529329A JP 52932998 A JP52932998 A JP 52932998A JP 2000515286 A JP2000515286 A JP 2000515286A
- Authority
- JP
- Japan
- Prior art keywords
- code
- memory
- segment
- area
- download
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005192 partition Methods 0.000 abstract description 60
- 238000013459 approach Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002498 deadly effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
システムソフトウエアのネットサーバからのフェイルセーフダウンロードを、追加のメモリを必要とすることなく、可能にするための方法およびデバイスが開示される。システムソフトウエアは、主パーティションと副パーティションから成るように構成される。主パーティションは、副パーティションをダウンロードするために必要とされるソフトウエア、並びに、新たな主パーティションをダウンロードするためのソフトウエアを含む。全ての時間において、検証済みの以前の主パーティションあるいは新たな主パーティションがメモリ内に存在し、これによって、ダウンロードプロセスが中断された場合、あるいは受信されたパーティションが損傷している場合、ダウンロードプロセスを再実行することが可能にされる。
Description
【発明の詳細な説明】
セットトップのシステムソフトウエアをネットワークサーバから
アップグレードするためのフェイルセーフ方法
本発明は、ネットサーバからシステムソフトウエアをダウンロードすることに
関する。特に、ケーブルテレビジョンのプロバイダは、ユーザのアクセスおよび
機能を管理および制御するための“セットトップ(set-top)”デバイスを供給
するが、これらデバイスは、ローカルケーブルテレビジョンのサブ局の所のネッ
トサーバから適当なソフトウエアをダウンロードすることで定期的にアップグレ
ードされる。本発明は、これらセットトップデバイスをネットサーバからフェイ
ルセーフにアップグレードするための頑健な方法に関する。
ソフトウエアのマスタ局から遠隔デバイスへのダウンロードは良く知られてい
る。プロトコルが、これら転送に関する特定な詳細を確立し、マスタ局と遠隔デ
バイスの両方が、こうして確立されたプロトコルに従って転送を実行する。通常
、遠隔デバイスがダウンロードをリクエストするか、あるいはマスタ局がダウン
ロードを指示あるいは指令する。いずれの場合も、遠隔デバイスがダウンロード
の受信に備えて適当なモードにされ、準備ができると、マスタ局から遠隔デバイ
スへのデータの転送が開始される。典型的には、こうしてダウンロードされたソ
フトウエアは、停電やシステムリセットの後に、マスタ局との通信にたよること
なくローカル的に(再)実行できるようにフラッシュメモリ等の不揮発性メモリ
内に格納される。
遠隔デバイスへのデータの伝送の効率および信頼性は環境要因による影響を受
ける。しばしば、伝送は開始されたが、まだ全てのデータが遠隔局によって完全
に受信される前に通信リンクが切断されることがある。転送されているデータが
、
遠隔デバイスの動作に対して必須なソフトウエアコードである場合、そのデータ
の一部分の損失は、しはしば、そのデータが全く受信されなかった場合よりも致
命的となる。ダウンロードの際、新たなデータは、メモリ内に、同一メモリ位置
に格納されていた以前のデータを置換するようなやり方で格納される。ところが
、新たなデータは、殆どの場合、新たに追加されたデータによってまだ置換(交
換)されてない以前のデータセグメントとは互換性を持たない。同様に、以前の
データも、新たにダウンロードされたデータセグメントとは互換性を持たない。
この非互換性のために、しばしば、新たなデータの部分的なダウンロードが発生
した場合、部分的なダウンロードが発生した場合に備えて以前のデータのフル(
全)作業コピーを維持するための手段を用意しない限り、デバイスは全く動作不
能となる。この以前のデータのフルコピーは、新たなデータのフルコピーが正常
に受信されたことが確認されるまでは削除されない。実際には、以前のデータ自
体は削除されず、セットトップボックスは、それ以降は、新たなデータが格納さ
れた領域内に含まれるデータを実行するように指令される。
新たなデータがロードされている最中に以前のデータのフルコピーを維持する
ためには遠隔デバイス内に2倍のメモリ容量を用意することが必要である。ある
ダウンロードが成功した時点で、メモリの各半分はデータのフルコピーを含む。
つまり、一方の半分は“以前の”データを含み、他方の半分は“新たな”データ
を含む。その後、さらにダウンロードが必要になると、“その後の(subsequent
)”データは、“以前(old)”のデータを含むメモリの半分内に格納され、メ
モリの他の半分内の“新たな(new)”データのフルコピーは、“その後の”デ
ータのフルコピーが正常に受信されたことが確認されるまでメモリの他の半分内
にそのまま保持される。
信頼できるダウンロードの実行に要求される追加のメモリ容量を最小限に押さ
えるための幾つかの代替が提唱されている。例えば、欧州特許EP 0524719 A2に
おいて開示される遠隔デバイスは、永久メモリ内に、ソフトウエアの小さなコア
を含み;万一ダウンロードが失敗した場合は、この小さなコアソフトウエアを実
行することでダウンロードプロセスが再開される。こうして、追加のメモリ容量
としては、この小さなコアソフトウエアを収容するために必要とされる永久メモ
リの容量のみが要求される。このアプローチでは、追加のメモリの容量は、再ブ
ートプロセスを開始および制御するために要求される量にまで低減される。ただ
し、このアプローチでは、最適な効果を確保するために小さなコアソフトウエア
を、しばしば、他の機能を犠牲にして、最小に保つことが要求される。例えば、
このような小さなコアソフトウエアを含む典型的なデバイスの場合、この小さな
コアソフトウエアがダウンロードを達成するために十分な機能のみを含むため、
このデバイスは事実上ダウンロードが正常に達成されるまでは動作不能となる。
本発明の一つの目的は、データを遠隔デバイスにダウンロードするための、追
加のメモリを要求することなく、しかも、ダウンロードプロセスが中断されたと
きに再ブーストプロセスを始動および制御するために要求されるコードを保存す
ることが可能な手段を提供することにある。
本発明は、システムソフトウエア等のダウンロードすべきコードを、2つのサ
ブセットのコード、つまり、ダウンロード等の基本的かつ必須な動作に対して要
求されるコードと、ヘルプメニューの表示等の必須ではない動作に対して要求さ
れるコードとに分割し、このコードを幾つかのフェーズに分けてダウンロードす
ることで、必須動作コードがメモリ領域の半分以下を消費するように設計される
という条件で、必須動作コードをフルに保存することができることう観察に基づ
く。
本発明の一つの実施例によると、ダウンロードプロセスの際に、非必須動作と
関連するメモリが新たな必須動作コードを格納するために用いられる。新たな必
須動作コードが正常にダウンロードされたことが確認された後に、新たな非必須
動作コードが以前の必須動作コードと関連するメモリ内にダウンロードされる。
万一、第一のフェーズ、つまり、必須動作コードのダウンロードの際に妨害が発
生した場合は、以前の必須動作コードがメモリ内に存在し;万一、第二のフェー
ズ、つまり、新たな非必須動作コードのダウンロードの際に妨害が発生した場合
は、新たな必須動作コードがメモリ内に存在する。こうして、妨害が発生した場
合でも、新たなコードの片方の部分あるいは両方の部分をダウンロードするため
に要求されるコードを含む必須動作コードのコピーが存在し、これを用いてその
後の実行を行なうことができる。
長所として、このフェイルセーフ能力を実現するために追加のメモリは要求さ
れない。つまり、小さなコアコードの複製を維持する上述の代替アプローチと比
較して、この方法では、必須動作(コード)に対して用意されるメモリのフルハ
ーフのみが使用され、このため、デバイスは、単なるコードのダウンロード以上
の機能を遂行することが可能となる。例えば、ケーブルテレビジョンのセットト
ップデバイスの場合、必須動作コード内にチャネル選択等のユーザコマンドを処
理するためのコードを挿入することで、ダウンロードに問題が発生した場合でも
、セットトップボックスを使用できるようにすることができる。
図面の簡単な説明
図1は、本発明によるシステムソフトウエアをアップグレードする方法を示し
、
図2は、本発明によるシステムソフトウエアをアップグレードするための代替
の方法を示す。
詳細な説明
図1は、本発明によるシステムソフトウエアをアップグレードするための方法
を示す。図1(a)、1(b)、1(c)、1(d)は、それぞれ、時間の4つ
連続する期間におけるメモリ100の状態を示す。
最初は、図1(a)に示すように、メモリ100は、以前のコードを含み、こ
れは主パーティション110と、副パーティション120に分割して格納されて
いる。主パーティション110は、新たな主パーティションをダウンロードする
ために要求される必須オペレーションコードを含み、副パーティション120は
、システムの動作にとっては本質的ではないとみなされる、特に、新たなオペレ
ーションコードのダウンロードには本質的ではないその他の非必須オペレーショ
ンコードを含む。
新たなシステムソフトウエアのダウンロードが開始されると、以前の主パーテ
ィション110内の適当なコードを実行することで、図1(b)に示すように、
新たな主パーティション150がメモリ内にロードされる。より具体的には、図
1(a)に示するように、プログラムポインタ101aは以前の主パーティショ
ン110をポイントし、この時間期間(a)においては、メモリのこの領域内の
コードが実行されるべきことを指定する。新たな主パーティション150が、プ
ログラムポインタ101bによって示されるように、以前の主メモリ(主パーテ
ィション)110内のコードを実行することで、メモリ100内の以前の副パー
ティション120がそれまで占拠していた部分を含む下側半分内にロードされる
。このプロセスと一貫するやり方で、以前の主パーティション110内のメモリ
位置が更新され、ダウンロードの開始とともに、以前の副パーティション120
はもはや有効ではなくなり、もはやメモリ100内には存在しないものとみなさ
れるべきことが示される。このステージ(b)が終了した時点で、メモリ100
は、以前の主パーティション110と、新たな主パーティション150とを含む
。この新たな主パーティション150のダウンロードの最中に問題が発生した場
合でも、以前の主パーティション110がメモリ100内にそのまま維持され、
これによって、必須動作、特に、メモリ100内に新たな主パーティション15
0が正常にコピーされるまで、ダウンロードを反復して試みる動作が提供される
。
図1には示さないが、プログラムポインタ101(101a、101b、10
1c、101d)を設定するための手段が含まれる。当分野においては一般的で
あるように、システムは他の不揮発メモリを含み、これが、停電やシステムリセ
ットの後に、プログラムの実行をどこから開始するかなどのシステム管理の基本
事項を制御するために用いられる。本発明によると、プロセスの図1(a)、1
(b)、1(c)、1(d)に示す各フェーズに対する適切な開始位置はこのシ
ステム管理メモリ内に格納される。システムを正しく再開するための他のパラメ
ータもこのメモリ内に格納される。例えば、このメモリは、典型的には、メモリ
100内の各パーティションがロードされるべき位置、各パーティションのエク
ステント(範囲)、および各パーティションを実行するための開始アドレスを含
む。簡単なために、ここでは、システムリセットの後にシステムを再開するため
に要求される全てのパラメータは、一括して、リセットベクトルと呼ばれる。例
えば、メモリダウンロードが開始される通常な動作(図1(a))においては、
このリセットベクトルは、主パーティション内の通常の動作を提供するルーチン
の開始のアドレスと、この通常の動作の開始を助けるために要求される他のパラ
メータを含む。ダウンロードが開始された時点では(図1(b))、このリセッ
トベクトルは、主パーティション内のルーチンの開始のアドレス、およびダウン
ロード動作のために要求されるメモリパーティションの位置とエクステント(範
囲)等の他のパラメータを含む。万一、ダウンロードプロセスが失敗した場合は
、システムリセットによって、これらリセットパラメータを用いて、ダウンロー
ド動作が元の位置から再開される。本発明によると、このリセットベクトルは、
システムによってプロセスの現在のフェーズが正常に完了されたことが検証(確
認)され、次のフェーズの開始の準備が整うまで変更されない。次のフェーズの
開始は、例えば、現在のフェーズが正常に完了したことが確認された後に、次の
フェーズの開始パラメータを持つリセットベクトルをロードし、システムリセッ
トを強制することによって実行される。その後は、各システムリセットによって
、次
のフェーズの開始が強制され、これが、そのフェーズの正常な完了が確認され、
続くフェーズの開始パラメータが格納されるまで、反復される。当業者において
は明らかなように、このリセットベクトルの更新は、オール・オア・ナッシング
の動作(単一の全てか無かの動作)にて遂行しなければならない。つまり、フェ
イルセーフなダウンロードを保証するためには、リセットベクトルは、全ての新
たな開始パラメータにて更新されるか、あるいは、以前の開始パラメータを含ん
だそのままの状態に維持される必要がある。全動作を完結させるか、あるいは妨
害された場合はそのままかいずれかの、このオール・オア・ナッシングの動作は
、通常、アトミック操作(原子操作)と呼ばれる。複数のステップから成る非ア
トミック的な更新は、新たなベクトルが以前の開始パラメータのフルセットも、
新たな開始パラメータのフルセットも含まなくなることがあり、このため、非ア
トミック更新の際に誤動作が発生した場合、以前のコードも、新たなコードも適
正に実行できないくる恐れがあるために、採用すべきではない。このリセットベ
クトル内に含まれるべき最小限の情報には、図1に、1(a)、1(b)、1(
c)、1(d)として示されるフェーズと、後に説明する図2に、2(a)、2
(b)、2(c)、2(d)として示されるフェーズに対応するコードの実行を
どこで開始すべきかの指標が含まれる。この最小限のリセットベクトルをアトミ
ック的に更新する動作の実現は分野において周知である。
当業者においては明らかなように、プログラムポインタ101をセットするた
めの様々な代替の方法を採用することができる。例えば、メモリ110(100
)をメモリバンクあるいはメモリブロックとして構造化し、各パーティションの
実行に対応するリセットベクトルのパラメータが、これらパーティションのバン
クの一つ内の固定位置を持つようにし、リセット動作を常にある選択されたバン
ク内の固定位置から開始されるように構造化することもできる。この場合は、プ
ログラムポインタ101を含むこれらリセットパラメータの変更は、単に、リセ
ッ
トされたときアクティブとなるように選択されたバンクを変更するのみで達成で
きる。
新たな主パーティション150がメモリ100内に正常にロードされたことが
検証され、リセットベクトルがアトミック的に更新されたら、次に、この新たな
主パーティション150内のコードが実行され、ダウンロードプロセスが、図1
(c)のプログラムポインタ101cによって示されるように継続される。コー
ド150のコピーが、それまで、以前の主パーティション110を占拠していた
メモリの領域内にロードされる。明快のために、図1(c)には、ダウンロード
されたコード150は150aとして示され、ダウンロードされたコードのコピ
ーは150bとして示される。コピーシーケンスが完了し、正常であることが検
証された後に、コード150b内のコードを実行することで、ダウンロード動作
が図1(d)のプログラムポインタ101dによって示されるように継続される
。つまり、新たな副パーティション160が、メモリ100内の、それまで、そ
れぞれ、以前の副パーティション120と、ダウンロードされた新たな主パーテ
ィション150aによって占拠されていた領域内にダウンロードされる。このフ
ェーズが完了した時点で、図1(d)に示すように、新たな主パーティション(
のコピー)150bと新たな副パーティション160がメモリ内にダウンロード
された状態となる。ここで、プロセスのためには、追加のメモリは、一切必要と
されないことに注意する。
図1に示すように、それぞれ、以前のパーティションと新たなパーティション
のサイズは、以前のパーティションと新たなパーティションの間の境界が必ずし
も同一である必要はないことに注意する。つまり、新たなパーティションと以前
のパーティションは、図1(a)、1(b)、1(c)、1(d)によって表さ
れる各フェーズ(時間の状態)において、各パーティションによって占拠される
メモリの総容量が、それぞれ、メモリ100内の利用可能な総メモリ容量以下で
あるという条件が満たされるなら異なるサイズであっともよい。ただし、図1(
c)に示すように、新たな主パーティションの2つのコピーがメモリ内に同時に
収容できることが要求される。このため、本発明によると、以下にさらに詳しく
説明するように、新たな主パーティションは、利用可能な総メモリ容量の半分以
下であることを要求される。
本発明によると、図1(a)、1(b)、1(c)、1(d)によって表され
る任意の状態において、正常であることが検証された少なくとも一つのコピーが
、ダウンロードプロセスを通じて確保される。このため、ダウンロードあるいは
コピーのプロセスの際に、万一各状態間で問題が発生した場合、検証済みの主パ
ーティションを用いて、常に、損傷を受けたあるいは放棄されたプロセスを繰り
返すことができる。
図2は、本発明の代替の実施例を示す。図2において、図1内のそれと類似の
機能は、図1と同一の参照符号によって示す。この実施例においては、新たな主
パーティション150は、以前の主パーティション110とは反対側のメモリ端
にロードされる。つまり、慣習的な表現を用いると、以前の主パーティションが
メモリ10の下側部分にロードされている場合は、新たな主パーティション15
0は、メモリ10の上側部分にロードされ、以前の主パーティション110がメ
モリ10の上側部分にロードされている場合は、新たな主パーティション150
は、メモリ10の下側部分にロードされる。この実現においては、メモリ制約は
、以前の主パーティションと新たな主パーティションのサイズの総和が、利用可
能な総メモリ容量を超えないという条件になる。この制約を満たすためには、典
型的には、以前の主パーティションと新たな主パーティションのおのおのが、利
用可能な総メモリ容量の半分に制限される。ただし、当業者においては明らかな
ように、利用可能なメモリ容量の半分以上が、新たなあるいは以前の主パーティ
ションの一つに、それぞれ、対応する新たなあるいは以前の主パーティションが
利
用可能なメモリ容量の半分より相当する量だけ小さなことを条件に、割当てられ
るような構成を採用することも可能である。
図2(b)に示すように、新たな主パーティション150がメモリ100内に
正常にロードされたことが検証されると、次に、パーティション150内のコー
ドを実行することで、図2(c)に示すように、新たな副メモリパーティション
160がメモリ100内の残りの利用可能なメモリ領域にロードされる。ここで
、主パーティションと副パーティションの総和は、メモリ100内の利用可能な
総メモリ容量以下となるように設計される。
図1の場合と同様に、図2(a)、2(b)、2(c)に示す任意の状態にお
いて、以前の主パーティション110か、新たな主パーティション150のいず
れかの検証済みのバージョンが、メモリ100内に、全ての時間において存在し
、このため、中断あるいは放棄されたダウンロード動作を、この検証済みの主パ
ーティション内の適当なコードを実行することで再始動することができる。
上の説明は、もっぱら、本発明の原理を解説することを意図するものである。
当業者においては、ここでは具体的には説明されなかったが本発明の原理を具現
する様々な構成を考案できるものと考えられるが、それらも本発明の精神および
範囲に入るものである。
Claims (1)
- 【特許請求の範囲】 1. メモリを持つデバイスにコードをダウンロードするための方法であって 、前記メモリが第一の領域と第二の領域を持ち、前記コードが第一のセグメント と第二のセグメントを持ち、前記デバイスが前記メモリの前記第二の領域内に位 置するコードを実行することで前記コードの前記第一のセグメントをダウンロー ドするように構成され、この方法が: 前記コードの前記第一のセグメントを前記メモリの前記第一の領域にダウンロ ードするステップ、 前記コードの前記第一のセグメントが正常にダウンロードされたか検証するス テップ、 前記コードの前記第一のセグメントが正常にダウンロードされた場合: 前記メモリの前記第一の領域内に位置するコードを実行することで前記コード の前記第二のセグメントをダウンロードするように前記デバイスを構成するステ ップ、および 前記コードの前記第二のセグメントを前記メモリの前記第二の領域にダウンロ ードするステップを含むことを特徴とする方法。 2. 前記メモリの前記第一と第二の領域が、それぞれ、前記メモリの第一の 半分と第二の半分であることを特徴とする請求の範囲1に記載の方法。 3. 前記メモリの前記第一あるいは第二の領域にダウンロードするように前 記デバイスを構成するステップが、開始アドレスを、それぞれ、前記メモリの前 記第一あるいは第二の領域内のアドレスに設定するステップを含むことを特徴と する請求の範囲1に記載の方法。 4. 前記コードの前記第一のセグメントが正常にダウンロードされたことが 検証されなかった場合、前記コードの前記第一のセグメントをダウンロードする ステップを反復するステップをさらに含むことを特徴とする請求の範囲1に記載 の方法。 5. メモリを持つデバイスにコードをダウンロードするための方法であって 、前記メモリが第一の領域と第二の領域を持ち、前記コードが第一のセグメント と第二のセグメントを持ち、前記メモリの前記第二の領域内に位置するコードを 実行することで前記コードの前記第一のセグメントをダウンロードするように前 記デバイスが構成され、この方法が: 前記コードの前記第一のセグメントを前記メモリの前記第一の領域にダウンロ ードするステップ、および 前記コードの前記第一のセグメントが正常にダウンロードされたか検証するス テップを含み、 前記コードの前記第一のセグメントが正常にダウンロードされた場合は、さら に 前記メモリの前記第一の領域内に位置するコードを実行することで前記コード の前記第一のセグメントを前記メモリの前記第二の領域にコピーするように前記 デバイスを構成するステップ、 前記コードの前記第一のセグメントを前記メモリの前記第二の領域にコピーす るステップ、および 前記コードの前記第一のセグメントが正常にコピーされたか検証するステップ を含み、 前記コードの前記第一のセグメントが正常にコピーされたことが検証された場 合は、さらに 前記メモリの前記第二の領域内に位置するコードを実行することで前記コード の前記第二のセグメントをダウンロードするように前記デバイスを構成するステ ップ、および 前記コードの前記第二のセグメントを前記メモリの前記第一の領域にダウンロ ードするステップを含むことを特徴とする請求項5に記載の方法。 6. 前記第一と第二のメモリ領域が、それぞれ、前記メモリの第一の半分と 第二の半分であることを特徴とする請求の範囲5に記載の方法。 7. 前記デバイスを、前記第一のコードセグメントを前記第二のメモリ領域 にコピーするように構成するステップが、開始アドレスを前記第一のメモリ領域 のそれに設定するステップを含むことを特徴とする請求の範囲5に記載の方法。 8. 前記デバイスを、前記第二のコードセグメントを前記第一のメモリ領域 にダウンロードするように構成するステップが、開始アドレスを前記第二のメモ リ領域のそれに設定するステップを含むことを特徴とする請求の範囲5に記載の 方法。 9. 前記第一のコードセグメントが正常にダウンロードされたことが検証さ れない場合、前記第一のコードセグメントをダウンロードするステップを反復す るステップ、および 前記第一のコードセグメントが正常にコピーされたことが検証されない場合、 前記第一のコードセグメントをコピーするステップを反復するステップをさらに 含むことを特徴とする請求の範囲5に記載の方法。 10. プログラマブルデバイスであって、このデバイスが: メモリ、および動作コードを含み、 前記メモリが第一の領域と第二の領域を持ち、 前記動作コードが第一のセグメントと第二のセグメントを含み、 前記コードの前記第一のセグメントが前記メモリの前記第一の領域内に位置し 、 前記コードの前記第二のセグメントが前記メモリの前記第二の領域内に位置し 、 前記コードの前記第一のセグメントが、新たな動作コードの第一のセグメント を前記メモリの前記第二の領域内にダウンロードするための手段と、 前記第一の新たなセグメントの前記メモリの前記第二の領域へのダウンロード を検証するための手段とを含み、 前記コードの前記第一の新たなセグメントが、前記コードの第二の新たなセグ メントを前記メモリの前記第一の領域にダウンロードするための手段と、 前記コードの前記第一の新たなセグメントのダウンロードの結果次第で、前記 コードの前記第二の新たなセグメントをダウンロードするために、前記コードの 前記第一の新たなセグメントを実行するための手段を含むことを特徴とするプロ グラマブルデバイス。 11. さらに第二のメモリを含み、 前記第二のメモリがリセットベクトルを含み、 前記リセットベクトルが一つあるいは複数のパラメータを含み、これらパラメ ータが、前記前記コードの第一の新たなセグメントをダウンロードするための手 段を起動するため、あるいは、前記コードの前記第一の新たなセグメントのダウ ンロードを検証するための手段の結果次第で、前記コードの前記第一の新たなセ グメントを実行するための手段を起動するために用いられることを特徴とする請 求の範囲10に記載のデバイス。 12. 前記リセットベクトル内に含まれる一つあるいは複数のパラメータが 以前のセットのパラメータを有し、前記デバイスがさらに 新たなセットのパラメータを前記リセットベクトルにロードするための手段を 含み、 この手段が、前記新たなセットのパラメータ全体を一つの分割不能な動作とし てロードするように構成され、 これによって前記リセットベクトルが、前記以前のセットのパラメータか、あ るいは前記新たなセットのパラメータのいずれかを排他的に含むことが確保され ることを特徴とする請求の範囲11に記載のデバイス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86665197A | 1997-05-30 | 1997-05-30 | |
US08/866,651 | 1997-05-30 | ||
PCT/IB1998/000334 WO1998054642A1 (en) | 1997-05-30 | 1998-03-12 | Failsafe method for upgrading set-top system software from a network server |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000515286A true JP2000515286A (ja) | 2000-11-14 |
Family
ID=25348073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10529329A Pending JP2000515286A (ja) | 1997-05-30 | 1998-03-12 | セットトップのシステムソフトウエアをネットワークサーバからアップグレードするためのフェイルセーフ方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0934563A1 (ja) |
JP (1) | JP2000515286A (ja) |
WO (1) | WO1998054642A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010530091A (ja) * | 2007-05-21 | 2010-09-02 | トムソン ライセンシング | ネットワーク端末でのロバストなファームウェア・アップグレード |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247126B1 (en) * | 1999-01-25 | 2001-06-12 | Dell Usa, L.P. | Recoverable software installation process and apparatus for a computer system |
US6640334B1 (en) | 1999-09-27 | 2003-10-28 | Nortel Networks Limited | Method and apparatus of remotely updating firmware of a communication device |
US6704865B1 (en) * | 1999-12-23 | 2004-03-09 | Delphi Technologies, Inc. | Microprocessor conditional deterministic reset vector method |
KR20030036131A (ko) * | 2000-01-07 | 2003-05-09 | 톰슨 라이센싱 소시에떼 아노님 | 코드 갱신 중 정전이 발생했을 때 애플리케이션 코드를백업하기 위한 방법 및 장치 |
US6601212B1 (en) | 2000-03-29 | 2003-07-29 | Hewlett-Packard Development Company, Lp. | Method and apparatus for downloading firmware to a non-volatile memory |
KR100440950B1 (ko) | 2001-06-30 | 2004-07-21 | 삼성전자주식회사 | 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스 |
US7500092B2 (en) | 2003-01-17 | 2009-03-03 | International Business Machines Corporation | Hardware abstraction for set-top box operating systems |
US7263648B2 (en) | 2003-01-24 | 2007-08-28 | Wegener Communications, Inc. | Apparatus and method for accommodating loss of signal |
US7171606B2 (en) | 2003-03-25 | 2007-01-30 | Wegener Communications, Inc. | Software download control system, apparatus and method |
US6978452B2 (en) * | 2003-04-02 | 2005-12-20 | Beach Unlimited Llc | Upgrading digital media servers |
EP1494119A1 (en) * | 2003-06-30 | 2005-01-05 | Thomson Multimedia Broadband Belgium | Network equipment and a method for monitoring the start up of a such an equipment |
US7376870B2 (en) * | 2004-09-30 | 2008-05-20 | Intel Corporation | Self-monitoring and updating of firmware over a network |
US7512939B2 (en) | 2004-10-05 | 2009-03-31 | Neopost Technologies | System and method of secure updating of remote device software |
WO2007104899A1 (fr) * | 2006-03-16 | 2007-09-20 | Thomson Licensing | Procede de mise a jour robuste de logiciel |
US11210173B2 (en) * | 2018-05-09 | 2021-12-28 | Microsoft Technology Licensing, Llc | Fault tolerant device upgrade |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5388267A (en) * | 1991-05-29 | 1995-02-07 | Dell Usa, L.P. | Method and apparatus for updating and restoring system BIOS functions while maintaining BIOS integrity |
US6131159A (en) * | 1992-05-08 | 2000-10-10 | Paradyne Corporation | System for downloading programs |
-
1998
- 1998-03-12 WO PCT/IB1998/000334 patent/WO1998054642A1/en not_active Application Discontinuation
- 1998-03-12 JP JP10529329A patent/JP2000515286A/ja active Pending
- 1998-03-12 EP EP98905553A patent/EP0934563A1/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010530091A (ja) * | 2007-05-21 | 2010-09-02 | トムソン ライセンシング | ネットワーク端末でのロバストなファームウェア・アップグレード |
KR101510808B1 (ko) | 2007-05-21 | 2015-04-10 | 톰슨 라이센싱 | 네트워크 단말기에서의 강력한 펌웨어 업그레이드 |
Also Published As
Publication number | Publication date |
---|---|
WO1998054642A1 (en) | 1998-12-03 |
EP0934563A1 (en) | 1999-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000515286A (ja) | セットトップのシステムソフトウエアをネットワークサーバからアップグレードするためのフェイルセーフ方法 | |
US5689640A (en) | Method and system for downloading data to network nodes | |
US7519964B1 (en) | System and method for application deployment in a domain for a cluster | |
US7950006B2 (en) | Electronic device with an update agent that employs preprocessing techniques for update | |
US6385770B1 (en) | Software upgrade | |
US7930692B2 (en) | Updating information in network devices | |
US6681389B1 (en) | Method for providing scaleable restart and backout of software upgrades for clustered computing | |
US6928579B2 (en) | Crash recovery system | |
US7934210B1 (en) | System and method for updating one or more programs and their environment | |
CN100541430C (zh) | 软件更新方法、设备和系统 | |
EP1077407A1 (en) | Method of upgrading a program using associated configuration data | |
US20030177486A1 (en) | Method and system for performing SW upgrade in a real-time system | |
WO1995027941A1 (fr) | Methode de mise a jour et de retablissement d'un fichier systeme | |
CN103841155A (zh) | 一种软件下载方法和软件下载装置 | |
WO2003083647A1 (fr) | Procede de mise a jour d'un logiciel de terminaux de communication, terminal de communication et procede de mise a jour de logiciel | |
WO2002013003A2 (en) | System and method for implementing a self-activating embedded application | |
JP5395108B2 (ja) | 組み込みシステム内のファームウエアをアップグレードする装置と方法 | |
US6832374B2 (en) | System and method for updating an executing executable file | |
JP3901060B2 (ja) | アプリケーションの更新処理方法、更新処理システム及び更新処理プログラム | |
EP1049974B1 (en) | Software upgrade | |
US6438606B1 (en) | Router image support device | |
JP3589433B2 (ja) | データベース保証方式 | |
JP2000276337A (ja) | 端末装置、システム管理装置、プログラム自動切替システム、端末装置の制御方法およびシステム管理装置の制御方法 | |
CN101458627A (zh) | 启动装载器自我更新系统及其方法 | |
JPS5854455A (ja) | ダウン・ライン・ロ−デイング方式 |