JP2005531846A - 受信器へのソフトウェアダウンロード - Google Patents

受信器へのソフトウェアダウンロード Download PDF

Info

Publication number
JP2005531846A
JP2005531846A JP2004517129A JP2004517129A JP2005531846A JP 2005531846 A JP2005531846 A JP 2005531846A JP 2004517129 A JP2004517129 A JP 2004517129A JP 2004517129 A JP2004517129 A JP 2004517129A JP 2005531846 A JP2005531846 A JP 2005531846A
Authority
JP
Japan
Prior art keywords
boot code
new
code
boot
storage unit
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.)
Ceased
Application number
JP2004517129A
Other languages
English (en)
Other versions
JP2005531846A5 (ja
Inventor
ブノワ サリウ
フレデリク マテュー
マルニクス フロト
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2005531846A publication Critical patent/JP2005531846A/ja
Publication of JP2005531846A5 publication Critical patent/JP2005531846A5/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Devices For Executing Special Programs (AREA)
  • Fire Alarms (AREA)
  • Circuits Of Receivers In General (AREA)
  • Storage Device Security (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本発明は、記憶ユニットにソフトウェアプログラムをダウンロードする方法に関する。ソフトウェアプログラムは、ブートコード及びアプリケーションコードを含み、ブートコードは、アプリケーションコードをダウンロードすることを可能にする。記憶ユニットは、少なくとも現在ブートコード及び現在アプリケーションコードを有する。本発明の方法は、ダウンロード要求時、現在ブートコードに上書きしない位置に、新しいブートコードをダウンロードするステップと、新しいブートコードが現在ブートコードと入れ替わることを示すステップと、新しいブートコードに上書きしない位置に、新しいブートコードに関連する新しいアプリケーションコードをダウンロードするステップと、新しいアプリケーションコードが有効であることを示すステップと、を含む。

Description

本発明は、概して、伝送システムに関する。本発明は、特に、伝送システムにおいて、ソフトウェアプログラムを記憶ユニットにダウンロードする方法に関する。
本発明は更に、伝送システム及び前記伝送システムの受信器に関する。
本発明は更に、上述の方法を実施するコンピュータプログラム及びコンピュータプログラムを担持する信号に関する。
本発明は、移動通信システムを含むいかなる通信システムにも適用される。本発明は、特に、DSS(デジタルサテライトシステム)システム及びDVB(デジタルビデオブロードキャスト)システムのような放送システムに適用される。
ブートストラップローダ(BSL)は、消費者製品に広く普及している。ブートストラップローダは、ソフトウェアアプリケーションのダウンロードを管理し、現在ソフトウェアアプリケーションを新しいソフトウェアアプリケーションと入れ替えることによって製品の容易なアップグレードを可能にする。安全性の理由で、BSLは、一般に、プロテクトされたメモリ領域に記憶され、ソフトウェアは、ハードウェアリセット後、その領域においてブートする。メモリ領域は、工場で電気的にプロテクトされ、ハードウェア介入なくプロテクト解除されることができない。これらのBSLは、一般に、例えば特定のトランスポートプロトコルを含む、標準化されていない技術に専用であり、このような技術は、使用されるシステム及び同じプロトコルを守らなければならないアプリケーションの種類にリンクされる。
新しいソフトウェアアプリケーションをダウンロードするために技術を変える場合、関連する新しいBSLもダウンロードする必要がある。従って、現在BSLは、もはや使用されないが、プロテクトされたメモリ空間を使用しており、アプリケーションの残りのものに関して無駄になる。更に、新しいBSLは、一般に、プロテクトされない、それゆえ例えば随意の又は不随意のソフトウェア消去によって引き起こされる損傷を受けることがあるメモリ領域にダウンロードされる。
本発明の目的は、受信器にソフトウェアプログラムをセキュアに、メモリ安全に、効率的にダウンロードすることを可能にし、それによってエンドユーザにより良いサービス品質をもたらすことである。本発明の方法は、有利には、技術(例えばDSS技術)に専用のブートコード(又はブートストラップローダ)及びアプリケーションコード(又はメインアプリケーション)を含む完全なエンベデッド(埋め込まれた)ソフトウェアプログラムを、別の技術(例えばDVB技術)に専用の別のソフトウェアプログラムと入れ替えることを可能にする。上述の技術の変更は、例えばDVB又はDSSのような伝送技術に関連しうるが、更に、条件付きアクセス技術及び/又はブロードキャスタ技術に関連し又はグローバルシステムにおける任意の互換性のない変更にも関連しうる。
このために、本発明は、ソフトウェアプログラムが、ブートコード及びアプリケーションコードを含み、ブートコードが、アプリケーションコードのダウンロードを可能にし、記憶ユニットが、現在ブートコードを含む少なくとも記憶された現在ソフトウェアプログラムを含む、冒頭の段落で記述した第1の方法であって、
−ダウンロード要求時、現在ブートコードに上書きしない位置に、新しいブートコードをダウンロードするステップと、
−新しいブートコードが現在ブートコードと入れ替わる(現在ブートコードに取って代わる)ことを示すステップと、
−新しいブートコードに上書きにしない位置に、新しいブートコードに関連する新しいアプリケーションコードをダウンロードするステップと、
−新しいアプリケーションコードが有効であることを示すステップと、
を含む第1の方法を提案する。
この第1の方法は、有利には、新しいブートコードが有効にダウンロードされる前に現在ブートコードが損なわれうることを回避するとともに、現在ブートコードによって使用されるメモリ空間を再利用することを可能にする。
本発明の別の実施例によれば、
−ブートコードの使用を有効にするために、ブートコードが記憶されている記憶ユニットの位置にジャンプするためのブートセクタを規定するステップであって、該ブートセクタが、現在ブートコードが記憶されている第1の位置を最初に示す、ステップと、
−ダウンロード要求時、第2の位置に、新しいブートコード及び新しいアプリケーションコードを含む新しいソフトウェアプログラムをダウンロードするステップと、
−新しいブートコードが記憶されている第2の位置にジャンプするステップと、
を含む、第2の方法が提案される。
第2の方法において、処理は、前のソフトウェアに戻る能力を有利に含むとともに製造業者が第2の技術を無視する可能性を保持するセキュア且つメモリ安全なやり方で、行われることができる。更に、有利には、現在ブートコードのために使用されるメモリ空間は、例えば新しいアプリケーションコードのような他のデータを記憶するために再使用されることができるので、上述の方法はメモリ効率的である。
本発明及び本発明を有利に実現するために任意に使用されうる他の特徴は、添付の図面から明らかであり、それらの図面を参照して説明される。
セットトップボックス又はデジタルテレビのような受信器と呼ばれる消費者装置に、新しいソフトウェアを、効率的に且つ信頼性をもってダウンロードするための技法について説明する。効率は、ダウンロードを実施するために必要とされる不揮発メモリに関して評価される。信頼性は、中断に対するプロセスの耐性に関して評価される。ダウンロードは、例えばオーバジエア(over the air、空気を通して)で、ケーブル伝送又は衛星リンクによって、局所的ダウンロードを用いて又はカード、外部装置、その他のハードウェアモジュールを介して、さまざまな異なるやり方で実施されることが可能である。
新しいソフトウェアは、永続的な(不揮発性の)メモリ(例えばフラッシュメモリ)に書き込まれる必要がある。プロセスが(例えば電力スイッチオフによって)中断され、新しいソフトウェアを古いソフトウェアに上書きするプロセスが完全に終わらない場合、ソフトウェアは一般に、もはや機能しない。1つの解決策は、古いソフトウェアに上書きすることを避けることである。しかしながら、永続的なメモリのフットプリントのサイズが、新しいソフトウェア及び古いソフトウェアの両方を記憶するに十分大きくなければならならず、これは効率的でない。
2つの方法が、記憶ユニットへのソフトウェアプログラムの効率的なダウンロードのために提案され、図1及び図2をそれぞれ参照して説明される。両方の方法は、ブートコード及びアプリケーションコードを含むソフトウェアプログラムに適用され、ブートコードは、記憶ユニットにプログラムコードをダウンロードすることを可能にする。両方の方法について、記憶ユニットは、現在の(古い)ブートコード及び現在の(古い)アプリケーションコードを含む、少なくとも記憶された現在の(古い)ソフトウェアプログラムを含むものとする。
第1の方法は、
−ダウンロード要求時、現在ブートコードに上書きしない位置に、新しいブートコードをダウンロードするステップと、
−新しいブートコードが現在ブートコードと入れ替わることを示すステップと、
−現在アプリケーションコードが破損されてもよいことを示すステップと、
−新しいブートコードに上書きしない位置に、新しいブートコードに関連する新しいアプリケーションコードをダウンロードするステップと、
−新しいアプリケーションコードが現在アプリケーションコードと入れ替わることを示すステップと、
を含む。
この第1の方法は、図1を参照して、5ステッププロセスにおいてより詳しく示されている。図1において、ブロックは、記憶ユニットのメモリ領域を表す。
−スタート:現在ソフトウェアは、2つの部分に分割される。1つの部分は、ソフトウェアのダウンロードを実施することができるものであり、現在ブートコードと呼ばれ、CBCと示される。他方の部分は、アプリケーション全体を作るためにこの機能を補足するものであり、現在アプリケーションコードと呼ばれ、CACと示される。「インジケータ」を呼ばれる永続的なフラグが使用され、信頼性の有無をフラグで知らせる機能と、個々のコードが永続的なメモリ内に見つけられることができる位置とを組み合わせる。BCIと示されるブートコードインジケータフラグは、どのブートコードが使用されるのに有効であるかを示す。ACIと示されるアプリケーションコードインジケータフラグは、どのアプリケーションコードが使用されるのに有効であるかを示す。
−ステップ1:新しいソフトウェアがダウンロードされる前に、フラグACIは、現在アプリケーションコードが破損されてもよいことを知らせるようにセットされる。
−ステップ2:新しいブートコードNBCが、永続的な記憶メモリに書き込まれる。このプロセスで、現在アプリケーションコードCACは、上書きされてもよい。
−ステップ3:新しいコードの書き込みが成功したのち、フラグBCIは、これからは、現在ブートコードCBCではなく、新しいブートコードNBCが使用されるべきであることを示すようにセットされる。
−ステップ4:新しいアプリケーションコードNACが、永続的なメモリに書き込まれることができる。
−ステップ5:新しいアプリケーションコードの永続的なメモリへの書き込みが成功すると、永続的なフラグは、新しいアプリケーションコードが準備できていることを示すようにセットされる。
ステップ2、3及び4において、データの完全性が確認されることができるようにするために、永続的なメモリへの書き込みの処理に先行して、例えばRAM(ランダムアクセスメモリ)のような揮発性メモリへの一時的なロードが行われてもよい。
セキュリティ対策として、新しいブートコードが現在ブートコードの上に書き込まれる前に、現在ブートコードは、受信器の永続的なメモリの別の部分にコピーされる(バックアップされる)ことが可能であり、又は以前に現在ブートコードを記憶していたメモリに新しいブートコードを書き込む一方で、現在ブートコードが代替位置にコピーされることが可能である。それによって、新しいコードをコピーするプロセスが中断される場合、受信器は、この状況を検出し、現在ブートコードをリストアすることができる。ブートコードは、通常、アプリケーションコードのサイズと比較して非常に小さいサイズを有し、現在ブートコードのために使用されるメモリ空間は、新しいアプリケーションコードを記憶するために使用されることができるので、このセキュリティ対策は、いかなる別のメモリ空間も必要とせず、又は再使用可能なメモリ空間の非常に限られた領域を必要とするだけである。
ステップ3における最終の信頼性のために、新しいブートイメージのうちどれが正しいかを示すために、単一のメモリビットを使用することが可能である。このビットを書き込むプロセスが中断される場合、それは0又は1と読めるが、結論は随意である。2つのイメージのいずれでもよい。
アプリケーションコードが複数の部分に分けられることも可能である。ブートコードのみが入れ替えられる必要がある場合、アプリケーションコードの一部に新しいブートコードを上書きする必要がありうる。この場合、アプリケーションコードの上書きされた部分のみが、リロードされることを要する。
インプリメンテーションに関する限り、「フラッシュ」ファイルシステムが、ソフトウェア管理のため、前述の方法を実施するために有利に使用されることができる。この場合、マネージャアプリケーションは、古いブートアプリケーションが上書きされる前に、それが、新しいブートアプリケーションが記憶されることを可能にするのに十分な空間をファイルシステムに最初に作るとともに、プロセスが途中で止められる場合に矛盾する状態が生じないように、フラグ付け/インジケーションが信頼性をもって行われることを確実にしなければならない。特に、ファイルポインタが、「極微的に(atomically)」、すなわち1つのアクション内で更新されることができ、又は単一ビット手法が使用されることが保証される必要がある。更に、ブートコード全体に関して計算されるチェックサムを確認することによって、ブートコードが有効であるかどうかを確認することも可能である。イメージが部分的に上書きされる場合、それは無効となる。その場合、システムは、代替のものを探すことができる。
最後に述べるが重要なこととして、ブートコードの位置には制約がありうるので、ブートコードがメモリ内の同じ位置にあることが、あるシステムでは重要であり又は好都合でありうる。このようなシステムでは、新しいブートコードを別の位置に書き込む代わりに、新しいブートコードのコピー前又はコピー中に、古いブートコードが、そこに移動されることができる。プロセスが中断される場合、装置は、古いバックアップブートコードをなお回復することができ、可能性としてそれをその元の位置にコピーすることができ、又は新しいブートコードをダウンロードするプロセスを再開することができる。(部分的に書き込まれた)ブートコードが完全ではないという検出は、「ポインタ」、「ビット」又は「チェックサム」を通して行われうる。
現在ブートコードが、ブート領域、すなわちブートアドレスの近傍の位置に記憶される場合、第2の方法が好適である。現在ブートコードを新しいものと入れ替えているとき、この領域への書き込み中に時機を失したパワーオフが生じると、ブート領域を破損し、明らかにボックスをクラッシュすることがある。これを避けるための、第2の方法からなる解決策は、ソフトウェアが、決して変わらないメモリの別のセクタ上でブートし、好適にはプロテクトされたメモリ領域内の常にブートコードが記憶されているアドレスへジャンプするための決定を行うことである。アドレス1及びアドレス2の2つの異なるアドレスのみが図2に示されているが、より多くのアドレスがあってもよい。これは、安全性の理由のためである。時機を失したパワーオフが書き込み中に生じる場合、実行されるべき有効なBSLが常にある。このブートセクタは、多くのソフトウェア資源を必要としない。これは、あまり大きなサイズをオーバロードしない非常に小さいアプリケーションである。これは決して消去されないので、ROMメモリに記憶されることさえ可能である。低いハードウェアの制約がある場合、ブートセクタは、例えばシリアルリンクによる、プロプライエタリなダウンロードシステムを含むことができる。
システムの変更前に、受信器の記憶ユニットにソフトウェアプログラムをダウンロードするこの第2の方法を以下に述べる。第2の方法は、
−ブートコードの使用を有効化するために、ブートコードが記憶されている記憶ユニットの位置へジャンプするためのブートセクタを規定するステップであって、前記ブートセクタが、現在ブートコードが記憶されている第1の位置を最初に示す、ステップと、
−システムの変更によるダウンロード要求時、新しいシステムで動作することが意図される、新しいブートコード及び新しいアプリケーションコードを含む新しいソフトウェアプログラムを、第2の位置にダウンロードするステップと、
−新しいブートコードが記憶される第2の位置へジャンプするステップと、
を含む。
現在ブートコードのために使用されるメモリ空間は、例えば新しいアプリケーションコードを記憶するために、有利に再使用されることができる。
ブートコードが常に同じ位置にあることが重要であるシステムにおいて、前述の方法は、
−第1の位置の現在ブートコードを新しいブートコードと入れ替えるステップと、
−第1の位置へジャンプするステップと、
によって完全にされることができる。
上述したように、ブートセクタは、好適にはプロテクトされた記憶領域に位置し、この記憶領域は、記憶ユニット内にあってもよく又は記憶ユニットとは別にあってもよい。
第2の方法の好ましい実施例において、ブートコード及び/又はアプリケーションコードは、特定のソフトウェア条件下で上書きされるように択一的にプロテクトされ及びプロテクト解除されることができる記憶ユニットの領域に記録される。この好ましい実施例は、ソフトウェア命令によってメモリ領域をプロテクトし/プロテクト解除することを可能にする永続的なメモリの新しい技術を利用する。
新しいソフトウェアプログラムは、現在アプリケーションコードと新しいアプリケーションコードと間のリンクである中間のアプリケーションコードを含むことができ、これは、例えば加入者カード、アンテナ、アンテナ指向を変更し、新しいサービスを有効化するためにテレホンセンタを呼び出す等のために、ユーザが受信器を新しいシステムにパラメトライズすることを可能にする。
インプリメンテーションの見地を考慮に入れずに、第2の方法の好ましい実施例は、次のように要約することができる。
−ステップ1:ダウンロード要求が検出されると、現在ブートコードBSL1は、通常、新しいブートコードBSL2を含む新しいアプリケーションをダウンロードする。
−ステップ2:新しいブートコードBSL2のメモリ領域がプロテクトされる。
−ステップ3:現在ブートコードBSL1のメモリ領域がプロテクト解除される。今後は、ブートセクタは、新しいブートコードBSL2にジャンプする。
−ステップ4:現在ブートコードBSL1が消去される。
−ステップ5:新しいブートコードBSL2に、通常のダウンロードが要求されることが可能である。
−エンド:新しいブートコードBSL2は、第2のプロトコルに従ってAppli2をロードする。正常モードへ戻る。従って、操作は、完全に可逆である。
図2は、この第2の方法の実施例をより詳細に示す。ブロックは、記憶ユニットのメモリ領域を表す。現在及び新しいブートコードは、それぞれBSL1及びBSL2と示されている。現在及び新しいアプリケーションコードは、それぞれAppli1及びAppli2と示されている。ブートセクタは、Bootと示されている。方法は、以下のステップを含む。
−スタート:ブートセクタは、通常、現在ブートコードBSL1にジャンプし、現在ブートコードBSL1は、ダウンロードが要求されない場合、現在アプリケーションAppli1にジャンプする。
−ステップ1:Appli1は、ダウンロード要求を検出する:Appli1は、現在ブートコードBSL1上でブートするボックスをリセットする。現在ブートコードBSL1は、通常、新しいアプリケーションをダウンロードするが、これは、実際には、将来の新しいブートコードBSL2と、Switch Appliと呼ばれる中間の有効なアプリケーションとの間のリンクである。最後に、現在ブートコードBSL1は、中間の有効なアプリケーションSwitch Appliにジャンプする。この段階で、新しいブートコードBSL2は、単に、アプリケーションデータとしてSwitch Appliに結合されるが、まだ機能できない。従って、現在ブートコードBSL1は、Switch Appliエントリポイントへ直接ジャンプする。新しいブートコードBSL2をSwitch Appliにリンクする目的は、ダウンロードの数を制限することである。
−ステップ2:Switch Appliは、それが記憶されているメモリ領域をプロテクトする。
−ステップ3:Switch Appliは、BSL1が記憶されているメモリ領域をプロテクト解除する。リセットののち、今後は、ブートセクタは、Switch Appliにジャンプする。Switch Appliは、ユーザに変更を警告するためにマンマシンインターフェースを表示するとともに、可能性としてシステムのいくつかのパラメータを適応化するようにユーザに求め、例えば、アンテナの指向を変更し、別のネットワークにアクセスするための新しいアクセスコードを入力する、等を求めることができる。
−ステップ4:Switch Appliは、現在ブートコードBSL1を消去し、最終的に又は必要な場合、例えば現在ブートコードBSL1の代わりに、その最終的な位置に新しいブートコードBSL2を書き込む。
−ステップ5:Switch Appliは、新しいブートコードBSL2のメモリ領域をプロテクトする。従って、今後は、ブートセクタは新しいブートコードBSL2にジャンプする。
−ステップ6:Switch Appliは、それが記憶されているメモリ領域をプロテクト解除し、新しいブートコードBSL2に通常のダウンロードを要求し、ボックスをリセットする。
−エンド:BSL2は、第2のプロトコルを守るAppli2をロードし、正常モードに戻る。従って、この操作は、完全に可逆である。
図2に示す例において、それぞれのリセット時に、ブートセクタは、最も高くプロテクトされたセクタ(図2の矢印を参照)にジャンプする。しかしながら、他の条件が規定されてもよい。
図3は、伝送チャネルを介して上述した方法の1つに従って送信器から受信器までソフトウェアをダウンロードするために、送信器31、受信器32及び伝送チャネル33を有する本発明によるシステムを示す。放送システムにおけるダウンリンク伝送中、例えば、ユーザ機器は、受信器であり、基地局又はサーバは、送信器である。
放送システムのデジタル受信器の場合、現在のところ、2つの標準(DVB及びDSS)がある。これら2つの標準は、同じハードウェアによって現在サポートされることが可能であるが、ソフトウェアサイズの理由のため、専用のソフトウェア(BSL及びアプリケーション)によってサポートされる。本発明は、(例えばDSS標準と互換性がある)技術を利用して市場に出され、将来は(例えばDVB標準と互換性がある)全く異なる技術をダウンロードする可能性を保持する製品を可能にする。現在のシステムの技術と初めに互換性をもつソフトウェアを含む受信器のプロバイダは、製品を発売するときに、新しいシステムの仕様を知る必要はない。
図面及びそれらの上述の説明は、本発明を説明するものであり、本発明を制限するものではない。特許請求の範囲内にある多数の代替例があることが明らかであろう。この点で、以下の結びの説明がなされる。ハードウェア若しくはソフトウェアアイテム又はこれらの両方によって機能を実現する多くのやり方がある。この点で、図面は非常に概略的であり、各図面は、本発明のただ1つの可能な実施例を表している。このように、図面は、それぞれの異なる機能を、それぞれの異なるブロックとして示しているが、これは、ハードウェア又はソフトウェアの単一のアイテムがいくつかの機能を実行することを決して除外せず、また、ハードウェア又はソフトウェアのアイテムのアセンブリ又はこれら両方のアセンブリが或る機能を実行することを除外しない。
請求項におけるいかなる参照符号も、請求項を制限するものとして解釈されてはならない。動詞「有する、含む」及びその活用形の使用は、請求項に記載するもの以外の構成要素又はステップの存在を除外しない。単数の構成要素又はステップは、このような構成要素又はステップの複数の存在を除外しない。
本発明の第1の実施例による第1の方法の例を示す図。 本発明の第2の実施例による第2の方法の例を示す図。 本発明によるシステムの例を示す図。

Claims (14)

  1. 伝送システムにおいて、ソフトウェアプログラムを記憶ユニットにダウンロードする方法であって、前記ソフトウェアプログラムが、ブートコード及びアプリケーションコードを含み、前記ブートコードが、アプリケーションコードのダウンロードを可能にし、前記記憶ユニットが、少なくとも現在ブートコードを含む、方法であって、
    ダウンロード要求時、新しいブートコードを、前記現在ブートコードに上書きにしない位置にダウンロードするステップと、
    前記新しいブートコードが前記現在ブートコードと入れ替わることを示すステップと、
    前記新しいブートコードに関連する新しいアプリケーションコードを、前記新しいブートコードに上書きにしない位置にダウンロードするステップと、
    前記新しいアプリケーションコードが有効であることを示すステップと、
    を含む方法。
  2. 伝送システムにおいて、ソフトウェアプログラムを記憶ユニットにダウンロードする方法であって、前記ソフトウェアプログラムが、ブートコード及びアプリケーションコードを含み、前記ブートコードが、前記アプリケーションコードのダウンロードを可能にし、前記記憶ユニットが、前記記憶ユニットの第1の位置に記憶された現在ブートコードを含む少なくとも記憶された現在ソフトウェアプログラムを含む、方法であって、
    ブートコードの使用を有効化するために、該ブートコードが記憶されている前記記憶ユニットの位置へジャンプするためのブートセクタを規定するステップであって、前記ブートセクタが、前記現在ブートコードが記憶されている前記第1の位置を最初に示す、ステップと、
    ダウンロード要求時、新しいブートコード及び新しいアプリケーションコードを含む新しいソフトウェアプログラムを、第2の位置にダウンロードするステップと、
    前記新しいブートコードが記憶されている第2の位置へジャンプするステップと、
    を含む方法。
  3. 前記新しいブートコードが記憶されている前記第2の位置へジャンプする前記ステップののち、
    前記第1の位置の前記現在ブートコードを前記新しいブートコードと入れ替えるステップと、
    前記第1の位置へジャンプするステップと、
    を含む、請求項2に記載の方法。
  4. 前記ブートセクタが、前記記憶ユニットのプロテクトされた記憶領域に位置する、請求項2に記載の方法。
  5. 前記ブートセクタが、前記記憶ユニットとは別のプロテクトされた記憶領域に位置する、請求項2に記載の方法。
  6. 前記現在ブートコードは、前記記憶ユニットのプロテクトされた領域に記憶され、該領域は、特定のソフトウェア条件下で上書きされるようにプロテクト解除されることが可能である、請求項2に記載の方法。
  7. 前記新しいソフトウェアプログラムは、特定のソフトウェア条件下で上書きされるようにプロテクトされ及びプロテクト解除されることが可能である前記記憶ユニットの領域に記憶される、請求項2に記載の方法。
  8. 前記新しいソフトウェアプログラムは、中間のアプリケーションコードを含み、該中間のアプリケーションコードは、前記現在アプリケーションコードと前記新しいアプリケーションコードとの間のリンクであり、ユーザが前記新しいソフトウェアプログラムをパラメトライズすることを可能にする、請求項2に記載の方法。
  9. 伝送システムによって伝送されるソフトウェアプログラムを受け取る受信器であって、請求項1乃至請求項8のいずれか1項に記載の方法を実施する手段を有する受信器。
  10. 請求項1乃至請求項8のいずれか1項に記載の方法を実施する前記手段が、ファイルシステムを有する、請求項9に記載の受信器。
  11. 前記記憶ユニットが、ソフトウェア命令時にメモリ領域をプロテクトし/プロテクト解除することを可能にする永続的なメモリである、請求項9に記載の受信器。
  12. ソフトウェアプログラムを送信する送信器と、前記ソフトウェアプログラムを受け取る少なくとも受信器と、を有する伝送システムであって、前記受信器が、請求項1乃至請求項8のいずれか1項に記載の方法を実施する手段を有する、伝送システム。
  13. 命令の組を計算する受信器のためのコンピュータプログラムであって、前記命令の組は、前記受信器へロードされると、前記受信器に請求項1乃至請求項8のいずれか1項に記載の方法を実施させるようにする、コンピュータプログラム。
  14. コンピュータプログラムを担持する信号であって、前記コンピュータプログラムが、請求項1に記載の方法を実施するように構成される信号。
JP2004517129A 2002-06-28 2003-06-20 受信器へのソフトウェアダウンロード Ceased JP2005531846A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02291623 2002-06-28
PCT/IB2003/002842 WO2004003733A2 (en) 2002-06-28 2003-06-20 Software download into a receiver

Publications (2)

Publication Number Publication Date
JP2005531846A true JP2005531846A (ja) 2005-10-20
JP2005531846A5 JP2005531846A5 (ja) 2006-08-03

Family

ID=29797331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004517129A Ceased JP2005531846A (ja) 2002-06-28 2003-06-20 受信器へのソフトウェアダウンロード

Country Status (8)

Country Link
US (1) US20050228978A1 (ja)
EP (1) EP1527388B1 (ja)
JP (1) JP2005531846A (ja)
CN (1) CN100350384C (ja)
AT (1) ATE433149T1 (ja)
AU (1) AU2003242930A1 (ja)
DE (1) DE60327857D1 (ja)
WO (1) WO2004003733A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010530091A (ja) * 2007-05-21 2010-09-02 トムソン ライセンシング ネットワーク端末でのロバストなファームウェア・アップグレード
JP2013546250A (ja) * 2010-10-28 2013-12-26 トムソン ライセンシング 情報ストレージのための不揮発性メモリ再配分のための方法
JP2022502756A (ja) * 2019-01-17 2022-01-11 エルジー・ケム・リミテッド メモリ、メモリのエラー復旧方法、およびメモリを含むバッテリ装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276122A1 (en) * 2004-04-20 2008-11-06 Koninklijke Philips Electronics, N.V. Restoring the firmware and all programmable content of an optical drive
JP2006011906A (ja) * 2004-06-28 2006-01-12 Yamaha Corp ソフトウェアインストール方法
US20070277028A1 (en) * 2006-05-26 2007-11-29 Jamey Cates Method and system for recovery from reprogramming failures in nonvolatile memory
US8938735B2 (en) * 2007-08-31 2015-01-20 Thomson Reuters Global Resources Bootstrapper and software download manager
WO2010005803A2 (en) 2008-07-11 2010-01-14 Hewlett-Packard Development Company, L.P. System and method for safely updating thin client operating system over a network
US8790387B2 (en) 2008-10-10 2014-07-29 Edwards Lifesciences Corporation Expandable sheath for introducing an endovascular delivery device into a body
WO2010073444A1 (ja) * 2008-12-24 2010-07-01 パナソニック株式会社 バスコントローラ及び初期ブートプログラムのパッチ方法
CN101854442B (zh) * 2009-04-01 2013-06-05 鸿富锦精密工业(深圳)有限公司 网络设备及其固件更新方法
US10792471B2 (en) 2015-04-10 2020-10-06 Edwards Lifesciences Corporation Expandable sheath
US10327896B2 (en) 2015-04-10 2019-06-25 Edwards Lifesciences Corporation Expandable sheath with elastomeric cross sectional portions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240516A (ja) * 1997-02-27 1998-09-11 Sanyo Electric Co Ltd フラッシュメモリcpu型制御装置ならびにその利用装置
JPH11175346A (ja) * 1997-12-17 1999-07-02 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689825A (en) * 1995-07-28 1997-11-18 Motorola, Inc. Method and apparatus for downloading updated software to portable wireless communication units
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
US5901330A (en) * 1997-03-13 1999-05-04 Macronix International Co., Ltd. In-circuit programming architecture with ROM and flash memory
US6115814A (en) * 1997-11-14 2000-09-05 Compaq Computer Corporation Memory paging scheme for 8051 class microcontrollers
US6070012A (en) * 1998-05-22 2000-05-30 Nortel Networks Corporation Method and apparatus for upgrading software subsystems without interrupting service
US6275931B1 (en) * 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
US6178503B1 (en) * 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US6308265B1 (en) * 1998-09-30 2001-10-23 Phoenix Technologies Ltd. Protection of boot block code while allowing write accesses to the boot block
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US6715067B1 (en) * 1999-09-21 2004-03-30 Intel Corporation Initializing a processor-based system from a non-volatile re-programmable semiconductor memory
US6564317B1 (en) * 1999-12-20 2003-05-13 Intel Corporation Method and apparatus for securing computer firmware wherein unlocking of nonvolatile memory is prohibited unless address line masking Is disabled during an initialization event
US6629192B1 (en) * 1999-12-30 2003-09-30 Intel Corporation Method and apparatus for use of a non-volatile storage management system for PC/AT compatible system firmware
CN1439128A (zh) * 2000-01-07 2003-08-27 汤姆森特许公司 代码更新期间在电源出故障时备份应用代码的方法和装置
US6584559B1 (en) * 2000-01-28 2003-06-24 Avaya Technology Corp. Firmware download scheme for high-availability systems
US6792556B1 (en) * 2000-05-31 2004-09-14 Dell Products L.P. Boot record recovery
US6665813B1 (en) * 2000-08-03 2003-12-16 International Business Machines Corporation Method and apparatus for updateable flash memory design and recovery with minimal redundancy
DE10050604A1 (de) * 2000-10-12 2002-04-25 Siemens Ag Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
US6757838B1 (en) * 2000-10-13 2004-06-29 Hewlett-Packard Development Company, L.P. Hardware independent implementation of computer system BIOS recovery
DE10053952A1 (de) * 2000-10-31 2002-06-27 Siemens Ag Verfahren und Anordnung zum Updaten von Software auf einem mobilen prozessorgesteuerten Gerät
US20020095619A1 (en) * 2001-01-17 2002-07-18 Marsh Edward Thomas Fault tolerant/redundant boot ROM reprogramming
US7093124B2 (en) * 2001-10-30 2006-08-15 Intel Corporation Mechanism to improve authentication for remote management of a computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240516A (ja) * 1997-02-27 1998-09-11 Sanyo Electric Co Ltd フラッシュメモリcpu型制御装置ならびにその利用装置
JPH11175346A (ja) * 1997-12-17 1999-07-02 Sony Corp 情報処理装置および情報処理方法、並びに提供媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010530091A (ja) * 2007-05-21 2010-09-02 トムソン ライセンシング ネットワーク端末でのロバストなファームウェア・アップグレード
JP2013546250A (ja) * 2010-10-28 2013-12-26 トムソン ライセンシング 情報ストレージのための不揮発性メモリ再配分のための方法
JP2022502756A (ja) * 2019-01-17 2022-01-11 エルジー・ケム・リミテッド メモリ、メモリのエラー復旧方法、およびメモリを含むバッテリ装置
US11429484B2 (en) 2019-01-17 2022-08-30 Lg Energy Solution, Ltd. Memory, error restoration method of the memory, and battery device comprising the memory
JP7205982B2 (ja) 2019-01-17 2023-01-17 エルジー エナジー ソリューション リミテッド メモリ、メモリのエラー復旧方法、およびメモリを含むバッテリ装置

Also Published As

Publication number Publication date
DE60327857D1 (de) 2009-07-16
AU2003242930A8 (en) 2004-01-19
WO2004003733A2 (en) 2004-01-08
WO2004003733A3 (en) 2004-11-04
EP1527388A2 (en) 2005-05-04
US20050228978A1 (en) 2005-10-13
EP1527388B1 (en) 2009-06-03
CN100350384C (zh) 2007-11-21
ATE433149T1 (de) 2009-06-15
CN1666176A (zh) 2005-09-07
AU2003242930A1 (en) 2004-01-19

Similar Documents

Publication Publication Date Title
US7100011B2 (en) Method and system for reducing storage requirements for program code in a communication device
US6209127B1 (en) Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
US8839227B2 (en) Preventing overwrite of nonessential code during essential code update
RU2346407C1 (ru) Способ и устройство для выполнения обновления программного обеспечения в цифровом телевизионном принимающем устройстве
CA2304144C (en) Downloading data
EP2919440B1 (en) Advertisement processing method and device
US20040062130A1 (en) Updating electronic files using byte-level file differencing and updating algorithms
US20030028899A1 (en) Multicast downloading of software and data modules and their compatibility requirements
RU2182375C2 (ru) Организация памяти компьютера
CA2307908A1 (en) A method and apparatus for downloading software into an embedded-system
JP2005531846A (ja) 受信器へのソフトウェアダウンロード
US20070162905A1 (en) Use loader for signaling the system software update service
CN109558160A (zh) 升级方法、嵌入式系统
KR20010093216A (ko) 셋톱 박스 환경에서 오퍼레이팅 시스템을 다운로드하는방법 및 장치
CN101355434B (zh) 一种多媒体远程终端的软件升级方法及其装置
US6895463B2 (en) Method and apparatus for efficiently running an execution image using volatile and non-volatile memory
CN109992280A (zh) 一种嵌入式软件升级的方法、终端装置及存储装置
KR20010076555A (ko) 수신기의 프로그램 업그레이드 장치 및 방법
KR20090041060A (ko) 자가 복구가 가능한 iptv 시스템 및 이를 이용한 자가복구 방법
KR20060029689A (ko) 소프트웨어 애플리케이션 실행 방법
CN112527371B (zh) 一种引导加载程序升级方法、装置、电子设备及存储介质
KR20050022024A (ko) 수신기에의 소프트웨어 다운로드
CN116956270B (zh) 应用程序运行方法、运行环境re、电子设备、存储介质
KR20020041005A (ko) 원격 소프트웨어 업그레이드 시스템 및 방법
KR20140066370A (ko) 디스플레이장치 및 소프트웨어 복구 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060619

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090724

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100722

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20101125