JP2009505172A - 電子器具および装置の初期化中におけるエラーを検出するための方法 - Google Patents

電子器具および装置の初期化中におけるエラーを検出するための方法 Download PDF

Info

Publication number
JP2009505172A
JP2009505172A JP2008520856A JP2008520856A JP2009505172A JP 2009505172 A JP2009505172 A JP 2009505172A JP 2008520856 A JP2008520856 A JP 2008520856A JP 2008520856 A JP2008520856 A JP 2008520856A JP 2009505172 A JP2009505172 A JP 2009505172A
Authority
JP
Japan
Prior art keywords
memory
alarm
error
resident software
triggered
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
Application number
JP2008520856A
Other languages
English (en)
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2009505172A publication Critical patent/JP2009505172A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4432Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本発明は、電子器具の常駐ソフトウェアの起動段階において起こる問題を検出する方法に関する。本検出は、本段階において、データを非揮発性のメモリに書き込む手段によって実施される。本データは、成功するケースでは消去される。失敗するケースでは、次のリスタートにおいて、本データを問題の検出に用いることが可能である。

Description

本発明は、電子デバイス(electronic device)の初期化の分野、より正確には、デバイス中に組み込まれたオペレーティングシステムの初期化段階において起こる問題の検出(detection)に関する。
オペレーティングシステムを伴う電子デバイスの初期化スキーマは、一般的には、以下の通りである。
第一段階では、システムカーネルは、メモリにロードされ、実行される。このカーネルは、一般的には、最小となるように設計される。カーネルは、メモリマネージャ、タスクスケジューラなどの最小限の基本的な機能を提供する。このカーネルは、通常は、静的に設計されるので、初期化および起動(launch)が再現可能である。したがって、ハードウェアの誤動作がない限り、カーネルの初期化は、当然成功する。
第二段階では、一定数のサービスが起動される。これらのサービスは、システムのより精巧な機能を提供する。これらのサービスは、カーネルによってサポートされる。これらのサービスは、例えば、周辺装置の管理、デバイスの外部通信層の任意の必要な管理、入力/出力周辺装置、ネットワークなどを提供する。これらのサービスはまた、デバイスの特定目的に関する任意のサービスと同様にデバイスの前回の使用において保存された構成パラメータのリカバリーを備えることと同様に、ユーザーの好みの管理を備えることもできる。
これらのサービスの複雑性、および、ユーザーおよびデバイスの環境パラメータの認識は、この段階の成功を保証することをさらに困難にする。実際、全てのシナリオをテストすることはできず、エラーはまだ発生する可能性がある。
第三段階では、一旦、システムを作る全てのサービスが起動されると、アプリケーションも起動される。これは、その環境内でデバイスの機能を完結させるであろうアプリケーションである。このアプリケーションは、完全で操作可能なオペレーティングシステムにおいて起動される。システムは、一般的に、アプリケーション内で起こるエラーを正すことを可能にする。アプリケーションの再起動は、かなり頻繁で、十分である。
我々は、それゆえ、最も重要なエラーは、第二段階、すなわちサービス起動段階において起こるエラーであること理解することができる。これらのエラーの処理を試みるための方法が存在する。例えば、パーソナルコンピュータの世界では、システムは、一般的に、最小システムの起動から成る「エラーフリー(error-free)」モードを含むいくつかの起動モードを提供する。この最小システムは、一般的に、サービスを初期化することを試みず、これらのサービスの起動パラメータを正すため、ユーザーにインターフェースを提供する。この手法においては、初期化エラーに直面すると、ユーザーは、このエラーの原因を正し、使用可能なデバイスにリカバリーすることができる。この修正は、システムの完全な置換にまで及ぶことができる。この方法は、コンピュータの世界では正しく機能するが、そのような問題に関する寛大性(indulgence)と同様に、ユーザーに一定のスキルを要求する。
しかしながら、「汎用(general public)」電子の分野では、同等の方法を適用することは、考慮されない。さらに、汎用デバイス(general public device)のユーザーは、デバイスの誤動作を簡単に受け入れようとはしない。実際、汎用デバイスのユーザーは、複雑性のレベルが低く、一般的に誤動作のないデバイスに順応している。また、そのようなユーザーに、潜在的な問題を「手動で(manually)」正すのに必要なスキルを有することを要求することができない。
エラーを正すことを可能にする第一の対策は、システムを更新する能力である。この可能性は、多くのデバイスに存在する。例えば、パーソナルコンピュータに接続することができるデバイスを、しばしばこのコンピュータからのシステムの改版によって更新することができる。デジタルテレビの受信デバイスもまた、一般的に、システムのソフトウェアの新しいバージョンの受信を通じて更新することができる。この方法は、システムの設計エラーまたはこのシステムのメモリダンプの破損を克服することを可能にし、または新しい機能を追加することを可能にする。ダウンロードオペレーションを開始させる決定は、一般的に、一定数の基準が合致するときにのみ、なされる。これらの基準は、新しい常駐ソフトウェア(resident software)バージョンの存在、またはデバイス内の本ソフトウェアの破損したバージョンの検出である。
米国特許第6,393,585号明細書は、そのような方法による端末の起動を開示している。この明細書によると、ユーザーは、始動において最初のアプリケーションをロードして起動し、問題が起こると、ユーザーは、別のアプリケーションをロードする。そのような方法は、始動の問題を詳細に取り扱うことを可能にすることはできない。
汎用デバイス内のエラーを取り扱う別の対策は、デバイスをリスタートする追加的可能性である。このリスタートのオペレーションは、自動とすることができるか、またはユーザーによる特定のアクションによって制御することができる。このリスタートの対策は、システムを再起動することを可能にし、デバイスの使用において起こるエラーを処理することを可能にする。
それゆえ、新しいソフトウェアバージョンのダウンロードをトリガするための基準が、合致せず、システムサービスの初期化段階が、問題につながる可能性がある。このケースでは、問題は、システムのリスタートを招く。全てエラーにつながる一連のリスタートが発生し、それゆえ新しいリスタートにつながる。
本発明は、電子デバイスの常駐ソフトウェアの起動段階において起こる問題を検出することを可能にし、起動段階をいくつかのステップまたはモジュールに分割することを可能にする。この検出は、この段階において各モジュールの起動の前に、不揮発性のメモリに書き込まれる情報を用いてなされる。この情報は、成功する場合には削除される。失敗する事象では、次のリスタートにおいて、この情報を用いて、問題および関連するモジュールを検出することができる。ユーザーは、それゆえ、始動において起こりうる問題の検出が高精度(high precision)になることによって利益を得られる。
本発明は、永続メモリを備える電子デバイスの始動において起こるエラーを検出する方法であって、このデバイスは常駐ソフトウェアによって駆動され、少なくとも以下のステップを備える方法に関する。
第一の始動において、情報をデバイスのメモリに書き込む少なくとも1のステップ、
第二の始動において、第一の始動においてメモリに書き込まれたその情報に従って、第一の始動において起こったエラーを検出するステップ。
有利なことに、始動プロセスは、複数モジュールの連続起動を伴い、各モジュールが起動する前に情報をメモリに書き込むステップを備える。
特定の実施形態によると、方法はまた、常駐ソフトウェアの少なくとも一部のエラーフリーの起動が完了するとメモリに書き込まれた情報を削除するステップをも備える。
特定の実施形態によると、エラー検出ステップは、始動プロセスにおいてメモリに書き込まれたその情報の存在を検出することによってなされる。
特定の実施形態によると、方法はまた、エラーを生成した少なくとも1つの前回の始動の検出に続いてアラートのトリガをも備える。
特定の実施形態によると、方法はまた、アラームがトリガされると、デバイスの少なくとも1つのパラメータのデフォルト値を再格納するステップをも備える。
特定の実施形態によると、方法はまた、アラームがトリガされると、次のデバイスの始動において、少なくとも1つのモジュールの起動を非アクティブにするステップをも備える。
特定の実施形態によると、方法はまた、アラームがトリガされると、常駐ソフトウェアの新しいバージョンのダウンロードを引き起こすステップをも備える。
特定の実施形態によると、方法はまた、アラームがトリガされると、ユーザーに対して情報の表示を引き起こすステップをも備える。
本発明はまた、永続メモリと、電子デバイスを制御するように設計された常駐ソフトウェアと、始動プロセスにおいて各モジュールの起動の前に情報をデバイスのメモリに書き込む手段を備えるデバイスの始動における常駐ソフトウェア起動手段であって、その始動プロセスが複数モジュールの連続起動を備える手段と、始動プロセスにおいてメモリに書き込まれたその情報に従って、前回の始動において起こったエラーを検出する手段とを備える電子デバイスに関する。
特定の実施形態によると、デバイスはまた、常駐ソフトウェアの少なくとも一部のエラーフリーの起動が完了するとメモリに書き込まれた情報を削除する手段をも備える。
特定の実施形態によると、デバイスはまた、エラーを生成した少なくとも1つの前回の始動の検出に続くアラームをトリガする手段をも備える。
特定の実施形態によると、デバイスはまた、アラームがトリガされると、デバイスの少なくとも1つのパラメータのデフォルト値をリセットする手段をも備える。
特定の実施形態によると、デバイスはまた、アラームがトリガされると、次のデバイスの始動において、少なくとも1つのモジュールの起動を非アクティブにする手段をも備える。
特定の実施形態によると、デバイスはまた、アラームがトリガされると、常駐ソフトウェアの新しいバージョンのダウンロードを引き起こす手段をも備える。
特定の実施形態によると、デバイスはまた、アラームがトリガされると、ユーザーに対して情報を表示する手段をも備える。
本発明は、添付した図面について触れている次の詳細な説明を読むことにより、より理解することができ、他の特定の機能(feature)および利点が明らかになるであろう。
ここに説明しようとする本発明の実施形態は、デジタルテレビデコーダの分野で見受けられるが、この分野に限定されるものではない。これらのデコーダは、放送(broadcast)されたテレビサービスを受け取り、復号することができる。そのようなサービスを、いくつかの種類の技術、例えば、サテライト、ケーブル、地上波、およびインターネットのような最近のコンピュータネットワークで放送することができる。これらのサービスは、一般的に、いくつかのサービスが結合できる場所、および各サービスの異なるコンポーネントが結合する場所において、デジタルデータのストリームの形式で放送される。これらのコンポーネントは、オーディオコンポーネント、ビデオコンポーネント、および情報をサービス上に含むことができる。電子プログラミングガイドを表示する情報、対話式アプリケーション、および他の種類の情報もまた、ストリーム内で見受けられる。これらのコンポーネントのいくつかは、圧縮することができ、サービスは、一般的に、サービスを見る権限のある人によってのみ用いられるそのような方法でエンコードされる。そのようなサービスを見るには、ブロードキャストデジタルストリームを受け取ることができ、分離し、復号し、復元し、ブロードキャストデジタルストリームをリカバリーする目的で異なるコンポーネントの同期をとることができるデコーダデバイス、例えば、テレビセットの使用が必要である。デコーダはまた、プログラムガイドなどのデータおよび関連プログラム、およびゲームまたはその他のアプリケーションを受け取り、格納し、表示することができなければならない。
そのようなデバイスのアークテクチャの例を、図2に図示する。デコーダ自体は、ボックス2.1の輪郭である。例として与えられるデコーダは、インターネットのようなコンピュータネットワークを介してサービスを受け取るデコーダである。デコーダは、それゆえ、ラベル2.7のイーサーネット(登録商標)インターフェースを介して、モデム、例えば電話線を用いることで接続を提供するラベル2.2のDSL(Digital Subscriber Line)に接続される。受け取ったデータのストリームは、プロセッサ2.9の制御下でバス2.1を通過した後に、ラベル2.12のデマルチプレクサによって分離されるであろう。オーディオおよびビデオコンポーネントは、それからラベル2.6のデコーダによって、復号され、および/または復元される。メニューなどの任意の追加的データは、ラベル2.8のグラフィックスプロセッサによって処理されるであろう。デコーダ2.6およびグラフィックスプロセッサ2.8からのデータは、ラベル2.4のデジタル・アナログ変換器によって、オーディオおよびビデオ信号に変換されるであろう。ラベル2.5のこれらの信号は、PALまたはNTSCなどのテレビ規格に従って、ラベル2.3のテレビセットの表示用に作成される。デコーダは、プロセッサ2.9によって制御される。このプロセッサは、ラベル2.10のフラッシュメモリに格納されたオペレーティングシステムを実行する。このフラッシュメモリは、永続するプロパティを有し、そこに格納された情報は、それゆえ、デバイスの電源装置のスイッチが切られても、メモリ中に保持される。このシステムは、RAM(ランダムアクセスメモリ)を作業メモリとして用いる。
このタイプのデバイスは、一般的に、ソフトウェア層の制御下で動作し、このアーキテクチャの例を、図3に示す。この図では、デコーダのハードウェアは、ボックス3.11で表される。ラベル3.10の最初のドライバ層は、このハードウェアを管理することを可能にする。ラベル3.2のシステムカーネルは、タスクマネージャおよびスケジューラのような基本的なシステムメカニズムを実装する。デコーダとIPネットワーク間の通信は、ラベル3.9のIPスタックにより管理される。一定数のモジュールは、システムカーネル上で実装され、いくつかのモジュールは、IP通信層の上で実装される。これらのモジュールのうちの1つは、限定的な手法で、一組のデコーダを中央コンソールから管理することを可能にするために用いられるラベル3.4のSNMP(Simple Network Management Protocol)クライアントを見つけることができる。常駐ソフトウェアの管理を可能にするラベル3.5の更新マネージャも見受けられ、新しいソフトウェアのパーツをダウンロードすることによって、更新することができる。さらに、ユーザーが、実際に、例えばテレビの要求に応えるコンテキスト内で受け取られたストリームを見る権限を与えられていることのチェックに用いられるラベル3.6の条件付きアクセスモジュールが見受けられる。ラベル3.7のビデオオンデマンド(VOD)モジュールは、オンデマンド・ブロードキャスト・コンテンツに対するアクセスを制御することを可能にする。ラベル3.8のマルチキャスト・ブロードキャスト制御モジュールは、テレビサービスを含むストリームのこのモード内で受信を管理することができる。ラベル3.3のサービスのリストの制御モジュールは、使用する権利を有するサービスのリストをリカバリーし、維持することができる。
これらのモジュールは、それゆえ、一連のサービスを提供し、一般的に、システムカーネルの機能が、カーネルによって管理されスケジュールされるタスクとして起動されるという意味で、それらのサービスは、システムカーネルの機能を用いる。システムカーネルの機能のニーズによると、システムカーネルの機能はIP通信層またはハードウェアドライバを使用することができる。例えば、アクセス制御モジュールは、チップカード(chip-card)読み取りモジュールドライバを用いるであろう。
全体として、デバイスは、ラベル3.1のアプリケーションによって管理され、その目的は、ユーザーにデバイスのオペレーティングデバイスを提供することである。このアプリケーションは、それゆえ、接続されたテレビセットを介して、利用可能なプログラムのリスト、プログラムの1つを選択する可能性、およびデコーダによるそのプログラムの受信の表示などの一組の機能を提供するであろう。操作するために、それらの機能のそれぞれは、モジュールのサービス、およびデバイス上で起動されたシステムのサービスを用いるであろう。
ドライバ、カーネル、モジュール、およびアプリケーションを備える常駐ソフトウェアのこのセットは、フラッシュメモリに格納される。デバイスが始動すると、ソフトウェアを、一般的に、RAMにロードしなければならず、図4に図示した順序で起動しなければならない。ラベルE1の第一のステップでは、デコーダが始動する。それから、ラベルE2の第二のステップでは、常駐ソフトウェア、カーネル、ドライバ、サービスモジュール、およびアプリケーションのイメージの整合性を検証する。実際、フラッシュメモリ、または他の種類の永続メモリに格納されたソフトウェアの破損にとって、システムを含み、このソフトウェアの整合性を検証し、破損の事象内に完全な置換バージョンをダウンロードすることは、従来的なことである。このシステムは、メモリ内に完全なソフトウェアから計算された符号を追加するCRC(Cyclic Redundancy Code)の原理で操作することができる。システム起動の早い段階では、保存された符号の任意の部分の起動の前に、符号に対してCRC計算を行い、保存された符号と比較される。不一致の事象では、破損が検出され、置換バージョンがダウンロードされる。このCRC保護は、ソフトウェア全体に適用することができるか、または符号化モジュールに適用することができる。この方法では、破損符号を起動しようとすることはないであろう。このステップE2はまた、システムの整合性のケースでは、システム更新が要求されないことをチェックする。実際、あるケースでは、デコーダまたは任意の他の原因に対する常駐ソフトウェアの新しいバージョンの有用性の例として、アプリケーションは、新しい常駐ソフトウェアのダウンロードを要求することができる。一般的に、これは、要求されたソフトウェアバージョンの識別子(identifier)のような追加的に必要な情報とともに、メモリの既知のエリア内にダウンロードフラグを置くことを通じてなされる。更新の条件が、非整合性またはダウンロード要求に合致すると、常駐ソフトウェアバージョンは、既存のバージョンの置換として、メモリ内にダウンロードされ、格納される。このステップの終了の際に、デバイスは、常駐ソフトウェアの不可欠なバージョンを当然所有する。メモリ内に格納されたソフトウェアのコピーを作成する各バイトが、参照バージョン内の対応するバイトにマッチするとき、ソフトウェアは、不可欠なものとなると言える。これは、ハードウェアまたはソフトウェアのプロセスは値を修正せず、どんなバイトも破損しないことを意味する。
それから、ラベルE3の第二のステップでは、システムカーネルは、メモリにロードされ、起動される。次に、図中に示していないステップでドライバが起動されたあと、サービスは、システムカーネルによって、ロードされ、起動される。全てのサービスを起動するまで繰り返されるステップE8として示した他の起動のあとに、これらのサービスは、1つを起動する。一旦全てのサービスが起動されると、アプリケーションは、ステップE10で起動される。デコーダは、それから、使用のために操作可能で作動可能となる。
ソフトウェア起動は、それゆえ、カーネル起動、サービスの起動、アプリケーションの起動に対応する三段階に分割することができる。これらの段階のそれぞれは、問題を実行することとなる。これらの段階のそれぞれの異なる特徴に依存すると、予測可能な修正の対策と同様に、エラーのタイプ、発生する可能性、システムのオペレーションの結果も異なる。
カーネル起動段階は、ハードウェア上で実行されるであろう最小ソフトウェアによって特徴づけられる。このソフトウェアは、一般的には、パラメータを考慮に入れることはないが、または限られた数の外部パラメータを考慮しない。それゆえ、一般的に、カーネルのオペレーションを網羅的にテストすることが可能である。我々は、オペレーションが比較的簡単なままで、適した環境で実行されるソフトウェアを有する。このポイントでエラーが発生する可能性は、それゆえ低く、一般的にはハードウェアの不具合またはフラッシュメモリに格納されたバージョンの破損によるものである。
サービス起動段階は、その一部が、より複雑な機能によって特徴付けられ、そのソフトウェアを網羅的な手法でテストすることがより難しいことを意味する。さらに、それらのモジュールの多くは、モジュールが起動されると、外部パラメータを使用する。例えば、チップカードに含まれる情報を用いるアクセス制御モジュールを、引用することができ、サービスコントローラのリストは、ネットワーク上のサービスのリストを検索、または前回の使用で保存されたリストを初期化することができる。モジュールにとって、前回の使用で保存されたユーザーパラメータを使用することもまた、ありふれたことであろう。サービスソフトウェアモジュールは、それゆえ、変化する環境で稼動する比較的複雑なプログラムである。結果として、全ての起こりうるパラメータ値に関してサービスソフトウェアモジュールを完全にテストすることは、一般的には、不可能である。サービスソフトウェアモジュールはまた、ハードウェアの不具合、またはメモリ中に格納されたソフトウェアの破損の犠牲となりうる。
アプリケーション起動段階に関しては、さらに変化する実行条件を伴う、より複雑なサービス起動段階として特徴付けられる。実際、アプリケーション起動段階の実行はまた、考慮しなければならない異なるパラメータに加えて、ユーザー、およびユーザーがデコーダに関して取り得る全てのアクションと相互作用しなければならない。アプリケーション起動段階はまた、ハードウェアの不具合、またはメモリ内に格納されたそのソフトウェアの破損を経験しうる。
エラーをより良く管理することを試みるために採用することができる異なる対策を、ここで説明する。
ハードウェアの不具合に関しては、ユーザーが修復のためにデバイスを操作しなければならないので、一般的には、すべきことはない。
カーネルが、ハードウェアの不具合および保存されたソフトウェアのイメージの破損によるエラーをこうむることが知られている。他のエラーリカバリーメカニズムが、一般的に、この符号化に対し、計画されることはない。
アプリケーションに関しては、実行において起こるソフトウェアの問題による妨害を検出するメカニズムをも有する。このメカニズムは、ウォッチドッグリセットとして知られ、システムに対しては、0まで減少するカウンターを初期化することから成る。アプリケーションは、定期的に、ウォッチドッグリセットのカウンターを、0に達することのない方法で増加させる。アプリケーションがフリーズすると、もはやカウンターを増加させることはできず、それゆえ、カウンターはゼロ値に達する。カウンターが値0に達すると、システムは、システムの再初期化、すなわちデコーダのリスタートをトリガする。このリスタートは、一般的には、デバイスの操作可能な状態を再確立するのに十分である。アプリケーションの操作段階において起こる問題は、一般的には、アプリケーションの使用または外部条件の出現によるものであり、リスタートは、問題に関する条件が消滅した新しい起動となる。
サービス起動段階は、メモリ内のソフトウェアの破損およびハードウェアの不具合を越えて、起動の問題を経験することができる。実際、これらのサービスは、一定の複雑性を有し、さらに、それらの起動は、サービスまたはユーザーの好みの最後のリストなどの外部パラメータに依存することができる。これらのモジュールは、起こりうる外部パラメータ値の全てを完全にテストすることはできない。結果として、起動中の妨害は発生しうる。これらの問題は、一般的には、デバイスをリスタートすることによっては解決することができず、このリスタートは、考慮に入れるパラメータを変化させない。パラメータは、モジュール実行エラーを引き起こし、毎回そのように行う。そのような状況では、始動されるデバイスは、モジュールが起動されると、エラーを経験するかもしれない。このエラーは、それから、デバイスのリスタートを引き起こす。エラーは、リスタートで再発生し、デバイスは、リスタートの中断しないサイクルに入る。
図1は、このタイプの状況を検出し修正の対策をとることを可能にする本発明の実施形態による始動ダイアグラムを表す。実施形態は、サービス起動段階において、スイッチングポイントを記憶する事実に基づく。この記憶は、「トレース」データをメモリに書き込むことによってなされる。この始動が成功した場合は、サービスの始動段階の終了の際に、これらのトレースは、メモリから削除される。しかしながら、サービスの1つの起動において問題が起きた場合は、これらのトレースが削除されると、ステージに達する前に、リスタートが生じる。この始動において、メモリ内のトレースの存在は、前回の始動が完了していなかったことを示す。さらに、トレースの値は、問題を引き起こしたサービスを識別することを可能にする。ステップE1では、デバイスが始動される。デバイスのソフトウェアの整合性を検証するステップE2が続き、必要な場合には、新しい常駐ソフトウェアをダウンロードする。次は、カーネルおよびドラーバーを起動するステップE3に続く。このステップE3の終了の際に、メモリに書き込まれたトレースの存在がチェックされる。トレースが存在しない場合、前回の始動は、成功であり、サービス起動プロセスが、開始される。この情報は、ステップE7で最初のトレースの形式に記憶される。最初のサービスは、それから、ラベルE8のステップによって起動される。次に、サービス起動プロセスの状態を毎回ステップE7に格納することによって、ステップE7およびE8は、繰り返される。この状態は、例えば、起動された最後のサービス、または起動されるであろう次のサービスに対する参照とすることができる。全てのサービスが起動されると、トレースは、ステップE9で削除される。このステップはまた、実施形態において、以下で説明する例外カウンター(anomaly counter)をリセットするであろう。次に、うまく起動されたサービス、すなわちアプリケーション起動ステップE10は、デバイスの始動プロセスを終了させる。
サービスの起動が失敗すると、デバイスは、すぐにリスタートするか、または、デバイスブロックのあとのユーザーのコマンドでリスタートするかのいずれかである。任意のケースにおいては、このリスタートは、始動プロセスがトレース削除のステップE9を実行しうる前に発生する。したがって、リスタートの間、カーネル起動のステップE3の終了の際に実行されたトレース存在テストは、肯定的なものとなるであろう。このケースでは、ステップE4は、例外カウンターを増加させることから成る。このカウンターは、連続して失敗した始動の数をカウントするのに用いられる。トレースは、それからステップE5で削除されるであろう。これら2つのステップの順序は、重要ではない。テストは、しきい値(threshold)と比較して例外カウンターをテストするために行われる。このしきい値を超えている場合は、アラームをトリガし、修正するアクションをとることが可能である。しきい値テストと関係するこの例外カウンターの使用は、一定数の連続して失敗した始動がエラーを生成したあとにのみ、アラームをトリガすることを可能にする。この使用は、選択自由であり、実際、最初に失敗した始動からアラームをトリガすることができる。しかし、このケースでは、例えば、電源異常またはユーザーによって切られたデバイスなどの、始動プロセスにおける偶然の割り込みから問題が起こる場合、アラームをトリガすることができる。このしきい値に達しない限りは、ステップE7からE10の実行を通して、始動が試みられるであろう。しきい値は、代表的には、3または5の単位である。高い方の値、すなわち、より失敗した始動は、アラームをトリガする必要があり、低い方の値は、偶然の問題に対するアラームをトリガするリスクがより高いであろう。
いくつかの種類の修正アクションは、可能である。最初の可能性は、デバイスをデフォルトの構成にリセットすることである。言い換えると、ユーザープロファイル、ユーザーの好み、サービスのリストなどの全てのパラメータは、デフォルト値にリセットされうる。この手法では、既知でありテストされた構成を取得し、始動が起こることを可能にする。不完全なサービスの起動を、非アクティブにすることもでき、デバイスは、1または複数の短いサービスをリスタートすることができる。これは、おそらく機能低下につながるが、ユーザーが問題を正すことを可能にすることができる。常駐ソフトウェアの新しいバージョンをダウンロードするための要求はまた、メモリに書き込まれ、デバイスを既知の状態にリセットすることができる。ユーザーに対し、メッセージを表示することができる。パラメータが初めにデフォルト値にリセットされると、リカバリーの方針を実装することもでき、成功しない場合には、いくつかのサービスを非アクティブにし、これらのアクションが失敗するケースでは、常駐ソフトウェアの新しいバージョンがダウンロード用に要求される。ユーザーが、オンスクリーンのメッセージまたはデバイス上の特定の信号のアクティベーションなどの他の通信手段によって、状況を知ることが望ましい。
このように説明した実施形態は、限定的なものではない。当業者は、応用が可能であることを理解されたい。特に、トレースを削除することは、サービス起動段階の前に問題を示す値で初期化されるであろうパラメータであって最後の始動が成功したことを示すパラメータを、書き込むことによって置き換えることができる。修正するアクションは、本発明の枠組みを逸脱することなく、複数の方法と結びつけることができることも明らかである。メモリに書き込まれたトレースの時間と内容を異にして選択することもできる。
本発明の実施形態による方法のフローチャートを示す図である。 本発明によるデバイスの実施形態を示す図である。 本発明によるデバイスの実施形態を示す図である。 フラッシュメモリに格納されたソフトウェアを起動するときの順序を示したフローチャートである。

Claims (15)

  1. 永続メモリを備える電子デバイスの始動において起こるエラーを検出するための方法であって、前記電子デバイスが常駐ソフトウェアによって制御され、常駐ソフトウェアの始動プロセスが、少なくとも、
    初めの始動において、各モジュールが起動される前に情報を前記デバイスのメモリに書き込むための少なくとも1つのステップであって、前記始動プロセスが複数のモジュールの連続起動を伴うステップと、
    第二の始動において、前記第一の始動において前記メモリに書き込まれた前記情報に従って、前記第一の始動において起こったエラーを検出するステップと
    を備えることを特徴とする方法。
  2. 前記常駐ソフトウェアの少なくとも一部のエラーフリーの起動が完了すると前記メモリに書き込まれた前記情報を削除するステップをさらに備えることを特徴とする請求項1に記載の方法。
  3. 前記エラーを検出するステップは、前記始動プロセスにおいて前記メモリに書き込まれた前記情報の存在を検出することによってなされることを特徴とする請求項2に記載の方法。
  4. エラーを生成した少なくとも1つの前回の始動の前記検出に続いてアラームをトリガすることをさらに備えることを特徴とする請求項1から請求項3のいずれか1つに記載の方法。
  5. アラームがトリガされると、前記デバイスの少なくとも1つのパラメータの前記デフォルト値を再格納するステップをさらに備えることを特徴とする請求項4に記載の方法。
  6. アラームがトリガされると、前記次のデバイスの始動において少なくとも1つのモジュールの前記起動を非アクティブにするステップをさらに備えることを特徴とする請求項4に記載の方法。
  7. アラームがトリガされると、常駐ソフトウェアの新しいバージョンのダウンロードを引き起こすステップをさらに備えることを特徴とする請求項4に記載の方法。
  8. アラームがトリガされると、前記ユーザーに対して情報の前記表示を引き起こすステップをさらに備えることを特徴とする請求項4に記載の方法。
  9. 永続メモリと、電子デバイスを制御するように設計された常駐ソフトウェアと、常駐ソフトウェアが前記始動プロセスにおいて各モジュールの前記起動の前に情報を前記デバイスのメモリに書き込む手段を備えるデバイスの始動における常駐ソフトウェア起動手段であって、前記始動プロセスが複数のモジュールの連続起動を含む手段と、前記始動プロセスにおいてメモリに書き込まれた前記情報に従って、前記前回の始動において起こるエラーを検出する手段とを備えることを特徴とする電子デバイス。
  10. 常駐ソフトウェアの少なくとも一部のエラーフリーの起動が完了すると前記メモリに書き込まれた前記情報を削除する手段をさらに備えることを特徴とする請求項9に記載のデバイス。
  11. エラーを生成した少なくとも1つの前回の始動の前記検出に続くアラームをトリガする手段をさらに備えることを特徴とする請求項9または請求項10のいずれか1つに記載のデバイス。
  12. アラームがトリガされると、前記デバイスの少なくとも1つのパラメータの前記デフォルト値をリセットする手段をさらに備えることを特徴とする請求項11に記載のデバイス。
  13. アラームがトリガされると、前記次のデバイスの始動において、少なくとも1のモジュールの前記起動を非アクティブにする手段をさらに備えることを特徴とする請求項11に記載のデバイス。
  14. アラームがトリガされると、常駐ソフトウェアの新しいバージョンのダウンロードを引き起こす手段をさらに備えることを特徴とする請求項11に記載のデバイス。
  15. アラームがトリガされると、前記ユーザーに対して情報を表示する手段をさらに備えることを特徴とする請求項11に記載のデバイス。
JP2008520856A 2005-07-11 2006-07-07 電子器具および装置の初期化中におけるエラーを検出するための方法 Pending JP2009505172A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0552135A FR2888353A1 (fr) 2005-07-11 2005-07-11 Procede de detection d'erreurs lors de l'initialisation d'un appareil electronique et appareil implementant le procede
PCT/EP2006/064024 WO2007006758A1 (fr) 2005-07-11 2006-07-07 Procede de detection d'erreurs lors de l'initialisation d'un appareil electronique et appareil implementant le procede

Publications (1)

Publication Number Publication Date
JP2009505172A true JP2009505172A (ja) 2009-02-05

Family

ID=36084195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008520856A Pending JP2009505172A (ja) 2005-07-11 2006-07-07 電子器具および装置の初期化中におけるエラーを検出するための方法

Country Status (8)

Country Link
US (1) US20090276655A1 (ja)
EP (1) EP1908305B1 (ja)
JP (1) JP2009505172A (ja)
KR (1) KR20080024169A (ja)
CN (1) CN101253779B (ja)
DE (1) DE602006007006D1 (ja)
FR (1) FR2888353A1 (ja)
WO (1) WO2007006758A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019117662A (ja) * 2019-04-12 2019-07-18 Necプラットフォームズ株式会社 情報処理装置、故障検出方法、及びそのためのプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110021B1 (ko) * 2010-01-29 2012-02-29 한국과학기술원 소프트웨어에서의 상호작용 패턴을 이용한 결함 검출 방법
CN105224343B (zh) * 2014-05-27 2019-09-17 阿里巴巴集团控股有限公司 一种应用程序的更新提示方法和装置
JP6147240B2 (ja) * 2014-12-05 2017-06-14 キヤノン株式会社 情報処理装置、該装置の制御方法、並びにプログラム
CN110262840B (zh) * 2019-06-17 2023-01-10 Oppo广东移动通信有限公司 设备启动监控方法及相关产品
US11729474B2 (en) * 2020-08-07 2023-08-15 Arris Enterprises Llc System and method for ensuring media appliance stability

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635737A (ja) * 1992-07-15 1994-02-10 Matsushita Electric Works Ltd 自動障害復旧方式
US5974546A (en) * 1997-05-08 1999-10-26 Micron Electronics, Inc. Apparatus and method to determine cause of failed boot sequence to improve likelihood of successful subsequent boot attempt
JPH11327914A (ja) * 1998-05-11 1999-11-30 Nec Corp 自動インストールシステムおよび自動インストールプログラムを記録した記録媒体

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432927A (en) * 1992-06-17 1995-07-11 Eaton Corporation Fail-safe EEPROM based rewritable boot system
US6381694B1 (en) * 1994-02-18 2002-04-30 Apple Computer, Inc. System for automatic recovery from software problems that cause computer failure
GB2332541B (en) * 1997-12-20 2002-12-04 Ibm Boot failure recovery system and method
US6230285B1 (en) * 1998-09-08 2001-05-08 Symantec Corporation Boot failure recovery
US6393585B1 (en) * 1998-12-23 2002-05-21 Scientific-Atlanta, Inc. Method and apparatus for restoring operating systems in a set-top box environment
US6948099B1 (en) * 1999-07-30 2005-09-20 Intel Corporation Re-loading operating systems
US6463531B1 (en) * 1999-09-16 2002-10-08 International Business Machines Corporation Method and system for monitoring a boot process of a data processing system providing boot data and user prompt
US7069578B1 (en) * 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
US6763456B1 (en) * 2000-02-25 2004-07-13 Intel Corporation Self correcting server with automatic error handling
US6745343B1 (en) * 2000-07-13 2004-06-01 International Business Machines Corporation Apparatus and method for performing surveillance prior to boot-up of an operating system
US7137026B2 (en) * 2001-10-04 2006-11-14 Nokia Corporation Crash recovery system
EP1345124A1 (en) * 2002-03-14 2003-09-17 Hewlett-Packard Company Managing boot errors
EP1351144A1 (en) * 2002-04-04 2003-10-08 Hewlett-Packard Company Data processing system and method having an improved device initialisation process
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
US7350111B2 (en) * 2004-08-03 2008-03-25 Inventec Corporation Method of providing a real time solution to error occurred when computer is turned on
US7716464B2 (en) * 2005-06-23 2010-05-11 Intel Corporation Method to have fault resilient booting
WO2007005790A2 (en) * 2005-06-30 2007-01-11 Sling Media, Inc. Firmware update for consumer electronic device
US7493525B2 (en) * 2005-09-21 2009-02-17 Cisco Technology, Inc. Method and system for managing failure information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635737A (ja) * 1992-07-15 1994-02-10 Matsushita Electric Works Ltd 自動障害復旧方式
US5974546A (en) * 1997-05-08 1999-10-26 Micron Electronics, Inc. Apparatus and method to determine cause of failed boot sequence to improve likelihood of successful subsequent boot attempt
JPH11327914A (ja) * 1998-05-11 1999-11-30 Nec Corp 自動インストールシステムおよび自動インストールプログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019117662A (ja) * 2019-04-12 2019-07-18 Necプラットフォームズ株式会社 情報処理装置、故障検出方法、及びそのためのプログラム

Also Published As

Publication number Publication date
CN101253779B (zh) 2011-08-31
EP1908305A1 (fr) 2008-04-09
EP1908305B1 (fr) 2009-05-27
US20090276655A1 (en) 2009-11-05
WO2007006758A1 (fr) 2007-01-18
CN101253779A (zh) 2008-08-27
DE602006007006D1 (de) 2009-07-09
KR20080024169A (ko) 2008-03-17
FR2888353A1 (fr) 2007-01-12

Similar Documents

Publication Publication Date Title
US8041988B2 (en) Firmware update for consumer electronic device
EP1433060B1 (en) Crash recovery system
US8161277B2 (en) Method of safe and recoverable firmware update and device using the same
US7558958B2 (en) System and method for securely booting from a network
US7100011B2 (en) Method and system for reducing storage requirements for program code in a communication device
US20100169709A1 (en) System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware
US7340638B2 (en) Operating system update and boot failure recovery
US20140089655A1 (en) System and method for auto-failover and version matching of bootloader in an access controller
US20040030877A1 (en) Using system BIOS to update embedded controller firmware
US7206971B2 (en) Selectable and updatable computer boot memory
JP2009505172A (ja) 電子器具および装置の初期化中におけるエラーを検出するための方法
CN107220141B (zh) 数据文件校验方法及装置
US20070174689A1 (en) Computer platform embedded operating system backup switching handling method and system
WO1998034169A1 (fr) Appareil et procede de traitement d'informations
JP5665923B2 (ja) 基本入出力システムがアップデート可能な電子装置及びアップデート方法
US6895463B2 (en) Method and apparatus for efficiently running an execution image using volatile and non-volatile memory
CN115145650A (zh) 信息处理装置、存储介质及信息处理方法
US20140181492A1 (en) Method of booting an electronic system and an electronic system applying the same
CN113691845A (zh) 一种数字机顶盒分区升级的断电保护方法
WO2011001305A1 (en) A method, apparatus and computer program for loading files during a boot- up process
CN116820590A (zh) 一种控制方法及装置
JPH11175346A (ja) 情報処理装置および情報処理方法、並びに提供媒体
CN114546456A (zh) 一种升级方法、装置及电子设备
KR20140066370A (ko) 디스플레이장치 및 소프트웨어 복구 방법
KR20030072533A (ko) 디지털 텔레비전의 시스템 소프트웨어 복구장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120427

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20120719

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120726

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120719

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507