(57)【要約】本発明は、OSカーネル、デバイスドライバ、ネットワークスタック及び/又はリモートアップグレード/インストールアプリケーション等のシステムファイルをアップグレードするための、ネットワーク環境で用いられるデバイスであって、- 前記システムファイルのコピーを記憶するための第1の不揮発性メモリ領域(11)と、- 前記システムファイルの他のコピーを記憶するための第2の不揮発性メモリ領域(12)と、- 前記第1のメモリ(11)又は前記第2のメモリ(12)に記憶された前記システムファイルを使用して前記デバイスを起動するための1つ以上の起動ファイルを記憶するための第3の不揮発性メモリ領域(13)とを含む不揮発性メモリ(15,66)を有するデバイスを有する。
2005515524.tif 000002
【特許請求の範囲】
【請求項１】
OSカーネル、デバイスドライバ、ネットワークスタック及び/又はリモートアップグレード/インストールアプリケーション等のシステムファイルをアップグレードするための、ネットワーク環境で用いられるデバイスであって、
- 前記システムファイルのコピーを記憶するための第1の不揮発性メモリ領域と、
- 前記システムファイルの他のコピーを記憶するための第2の不揮発性メモリ領域と、
- 前記第1のメモリ又は前記第2のメモリに記憶された前記システムファイルを使用して前記デバイスを起動するための1つ以上の起動ファイルを記憶するための第3の不揮発性メモリ領域と、
を含む不揮発性メモリを有するデバイス。
【請求項２】
パーソナルコンピュータを更に有する請求項1に記載のデバイス。
【請求項３】
セットトップボックス、移動電話、携帯情報端末及びハンドヘルドコンピュータのうちの少なくとも１つを更に有する請求項1に記載のデバイス。
【請求項４】
アプリケーションファイルを記憶するための第4のメモリ領域を有する請求項1乃至3のうちの少なくとも1項に記載のデバイス。
【請求項５】
前記システムソフトウェアをアップグレードするためにデータを伝送するのにネットワークが使用される請求項1乃至4のうちの少なくとも1項に記載のデバイス。
【請求項６】
前記第3の不揮発性メモリ領域が、前記第1の及び/又は第2のメモリが破壊されているのか又は正常に動作しているのかを知るための、メモリ破壊状況を決定するためのソフトウェアを有する請求項1乃至5のうちの少なくとも1項に記載のデバイス。
【請求項７】
前記システムレスキュー状況が「第1の及び第2のメモリ領域が正常に動作している」(「全てセーフ」)、「第1の不揮発性メモリ領域が正常に動作している」(「第1はセーフ」)及び/又は「第2の不揮発性メモリ領域が正常に動作している」(「第2はセーフ」)等の値を有する請求項6に記載のデバイス。
【請求項８】
前記システムレスキュー状況が「全てセーフ」、「第1はセーフ」及び/又は「第2はセーフ」のブール値を有する請求項に記載のデバイス。
【請求項９】
OSカーネル、デバイスドライバ、ネットワークスタック及び/又はリモートアップグレード/インストールアプリケーション等のシステムファイルをアップグレードするためのネットワークで用いられるデバイスを起動する方法であって、前記デバイスは前記システムファイルと同一のコピーを含む第1の及び第2のメモリ領域を有する不揮発性メモリを有し、
- 前記メモリ領域が正常に動作しているかどうか確認するステップと、
- 他のメモリ領域が正常に動作していない場合、正常に動作しているメモリ領域のコンテンツを破壊されたメモリ領域にコピーするステップと、
- 前記メモリ領域の1つを使用して前記デバイスを起動するステップと、
を有する方法。
【請求項１０】
請求項1乃至8に記載のデバイスを起動するための方法であって、
- 「全てセーフ」のブール値が「イエス」であるかどうか確認するステップと、
- 「全てセーフ」が「イエス」であると決定されたら、前記第1の又は前記第2の不揮発性メモリ領域から起動するステップと、
を有する方法。
【請求項１１】
請求項1乃至8に記載のデバイスを起動するための請求項9又は10に記載の方法であって、
- 「第1はセーフ」のブール値が「イエス」であるかどうか確認するステップと、
- 「第1はセーフ」が「イエス」であると決定されたら、前記第1の不揮発性メモリ領域の前記コンテンツを前記第2の不揮発性メモリ領域にコピーするステップと、
- 「全てセーフ」及び「第2はセーフ」のブール値を「イエス」に設定するステップと、
- 前記第1の又は前記第2の不揮発性メモリ領域から起動するステップと、
を更に有する方法。
【請求項１２】
請求項1乃至8に記載のデバイスを起動するための請求項9又は10に記載の方法であって、
- 「第2はセーフ」のブール値が「イエス」であるかどうか確認するステップと、
- 「第2はセーフ」が「イエス」であると決定されたら、前記第2の不揮発性メモリ領域の前記コンテンツを前記第1の不揮発性メモリ領域にコピーするステップと、
- 「全てセーフ」及び「第2はセーフ」のブール値を「イエス」と設定するステップと、
- 前記第1の又は前記第2の不揮発性メモリ領域から起動するステップと、
を有する方法。
【請求項１３】
請求項1乃至8に記載のデバイスのシステムファイルをアップグレードする方法であって、
- 少なくとも前記システムファイルのアップグレードを含むアップグレードサーバに接続するステップと、
- 前記システムファイルの前記アップグレードをダウンロードするステップと、
- 「第1はセーフ」及び「全てセーフ」のブール値を「ノー」に設定するステップと、
- 前記システムファイルの前記アップグレードを前記第1のメモリに記憶するステップと、
- 「第1はセーフ」のブール値を「イエス」に設定するステップと、
を有する方法。
【請求項１４】
前記第2のメモリの前記ブール値を「ノー」に設定するステップを更に有する請求項13に記載の方法。
【請求項１５】
- 前記システムファイルの前記アップグレードを前記第2のメモリに記憶するステップと、
- 「第2はセーフ」のブール値を「イエス」に設定するステップと、
- 「全てセーフ」のブール値を「イエス」に設定するステップと、
を更に含む請求項13又は14に記載の方法。
【請求項１６】
請求項9又は10に記載の方法をプロセッサに実行させるよう構成されたコンピュータプログラム。
【請求項１７】
請求項13の方法をプロセッサに実行させるよう構成されたコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
近年、ネットワーク(有線ネットワーク又はワイヤレスネットワーク)に接続されたコンピュータデバイスの使用は、個人的な又はビジネスの環境においてますます日常的になってきている。
【０００２】
【従来の技術】
デバイスが作製されたあと、これらの装置において用いることができるソフトウェアの更なる発達が達成される。従って、ユーザがこれらのソフトウェアをアップグレードすることができることが好ましい。アプリケーションソフトウェアの場合には、ユーザは該ソフトウェアが接続されるネットワークを使用して該ソフトウェアをアップグレードすることができる。これは、ユーザがどこにいようとも問題なく行われることができる。このようなアップグレード処置の最中に何か問題が生じたら、このような不当な処置の結果として生じた破壊されたファイルは削除されることができ、アップグレード処置は繰り返されることができる。
【０００３】
【発明が解決しようとする課題】
コンピュータデバイスが自身を起動又は再起動するためのシステムファイルをアップグレードすることにも、おおよそ同様のことが当てはまる。しかし、このようなファイルのアップグレードは、アプリケーションファイルのアップグレードよりも危険である。更新の最中に何か問題が生じたら、ネットワークデバイスは、破壊されたシステムファイルのため、再起動することができなくなる。その後このようなデバイスは、比較的非常に高価な修理が(そのような修理がもし可能ならば)されない限り役に立たなくなる。
【０００４】
【課題を解決するための手段】
このような欠点を克服するために、本発明は、OSカーネル、デバイスドライバ、ネットワークスタック及び/又はリモートアップグレード/インストールアプリケーション等のシステムファイルをアップグレードするための、ネットワーク環境で用いられるデバイスであって、
- 前記システムファイルのコピーを記憶するための第1の不揮発性メモリ領域と、
- 前記システムファイルの他のコピーを記憶するための第2の不揮発性メモリ領域と、
- 前記第1のメモリ又は前記第2のメモリに記憶された前記システムファイルを使用して前記デバイスを起動するための1つ以上の起動ファイルを記憶するための第3の不揮発性メモリ領域と、
を含む不揮発性メモリを有するデバイスを提供する。
【０００５】
本発明によるこのようなデバイスは、デバイスを再起動するために必要なシステムファイルを含む2つの余剰の不揮発性メモリ領域を有するため、アップグレードが失敗したときでも常に、新しいデバイスを再起動することができる。このような場合において、システムファイルの1つのコピーが破壊された場合、システムファイルの他のセットが使用されることができる。ソフトウェアアップグレードが失敗することは、ネットワークデバイスがアップグレード段階の最中に電源を失うということであり得る。これは、PDA又は移動電話等のバッテリにより給電されるデバイスを使用するか、又は無停電電源装置(UPS)のない送電網により給電されるデバイスを使用するときには起こり難いことではない。
【０００６】
本発明の好適な実施例は、パーソナルコンピュータを有するコンピュータデバイスを提供する。他の実施例は、セットトップボックス、移動電話、パーソナルデジタルシステム又はハンドヘルドコンピュータを有してもよい。これらのデバイスの全ては、製造後のソフトウェアアップグレードがユーザビリティ又は使用の際の快適さを増加することができる環境において用いられる。
【０００７】
更に、デバイスがアプリケーションファイルを記憶するための少なくとも第4のメモリ領域を有することが好ましい。このような第4のメモリ領域は、アプリケーションプログラムを含む他の不揮発性メモリ領域であってよい。更に、このようなデバイスは、デバイスハードドライブ、フラッシュメモリ等のいかなるデータ記憶も備えていてよい。
【０００８】
デバイスの他の好適な実施例は、システムソフトウェアをアップグレードするためのデータを伝送するためのネットワークを使用する。この実施例は、ユーザは、システムソフトウェアをアップグレードするのに、アップグレードを含むデータキャリアをデバイスに物理的に接続することが必要でないという大きな利点を有する。製造者又は何らかのサービスプロバイダであるデバイスの供給者が、ユーザに気付かれることなくシステムソフトウェアをアップグレードするということすら達成可能である。これは、透明な更新(transparent update)と呼ばれている。また、ユーザがソフトウェアを更新することを望んで、自身で更新を開始することもあり得る。
【０００９】
本発明の他の実施例において、第3の不揮発性メモリ領域は、第1の及び/又は第2のメモリが破壊されているのか又は正常に動作しているのかを示すメモリ破壊状況(SRS)を決定するソフトウェアを有する。本実施例において、システムレスキュー状況が「第1の及び第2のメモリ領域が正常に動作している」(「全てセーフ」)、「第1の不揮発性メモリ領域は正常に動作している」(「第1はセーフ」)及び/又は「第2の不揮発性メモリ領域は正常に動作している」(「第2はセーフ」)等の値を有することは、好ましい。更に、これらの変数が「全てセーフ」、「第1はセーフ」及び/又は「第2はセーフ」のブール値を有することは、好ましい。このようなブール値を使用することにより、以下に記載する方法が、コンピュータデバイスの起動の間どのメモリ領域を使用するべきかについて決定することを可能になる。
【００１０】
本発明の好適な実施例は、
- 「全てセーフ」のブール値が「イエス」であるかどうか確認するステップと、
- 「全てセーフ」が「イエス」であると決定されたら、第1の又は第2の不揮発性メモリ領域から起動するステップと、
を有する、デバイスを起動する方法を提供する。
【００１１】
システムファイルを含むメモリ領域が両方とも破壊されていない場合、各変数「全てセーフ」のブール値は「イエス」である。これは、デバイスの起動シーケンスが、デバイスを起動するために使用するのに両方の領域がセーフであることを知っているという利点がある。
【００１２】
本発明による方法の他の実施例は、
- 「第1はセーフ」のブール値が「イエス」であるかどうか確認するステップと、
- 「第1はセーフ」が「イエス」であると決定されたら、第1の不揮発性メモリ領域のコンテンツを第2の不揮発性メモリ領域にコピーするステップと、
- 「全てセーフ」及び「第2はセーフ」のブール値を「イエス」に設定するステップと、
- 前記第1の又は前記第2の不揮発性メモリ領域から起動するステップと、
を有する。
【００１３】
更に、本発明による方法の1つの実施例は、
- 「第2はセーフ」のブール値が「イエス」であるかどうか確認するステップと、
- 「第2はセーフ」が「イエス」であると決定されたら、前記第2の不揮発性メモリ領域の前記コンテンツを前記第1の不揮発性メモリ領域にコピーするステップと、
- 「全てセーフ」及び「第2はセーフ」のブール値を「イエス」に設定するステップと、
- 前記第1の又は前記第2の不揮発性メモリ領域から起動するステップと、
を有する。
【００１４】
これらの2つの実施例は、デバイスの起動の間、メモリ領域の何れか1つが、例えばシステムファイルのアップグレードの最中に停電によって破壊されたということが認識されるという利点を有する。破壊されたメモリ領域が、システムファイルを含む残りの破壊されていないメモリ領域の第2の同一のコンテンツを使用して回復されることは、非常に有利である。この方法を用いることにより、このようなデバイスは、システムファイルのアップグレードが失敗しても無駄にならない。
【００１５】
本発明の他の実施例は、
- 少なくとも前記システムファイルのアップグレードを含むアップグレードサーバに接続するステップと、
- 前記システムファイルの前記アップグレードをダウンロードするステップと、
- 「第1はセーフ」及び「全てセーフ」のブール値を「ノー」に設定するステップと、
- 前記システムファイルの前記アップグレードを前記第1のメモリに記憶するステップと、
- 「第1はセーフ」のブール値を「イエス」に設定するステップと、
を有する、デバイスのシステムファイルをアップグレードする方法を提供する。
【００１６】
更に、この実施例が前記第2のメモリの前記ブール値を「ノー」に設定するステップを有することは、好ましい。
【００１７】
これらの実施例の利点は、「第1はセーフ」及び「全てセーフ」のブール値を「ノー」に設定することによって、これらのシステムファイルのアップグレードが失敗した場合、このメモリ領域のシステムファイルが破壊されていることが起動シーケンスにとって明白になるということである。「第1はセーフ」のブール値が「イエス」に設定された後に第2のメモリのブール値を「ノー」に設定することによって、第2のメモリ領域は破壊されていると示されるため、デバイスは第1のメモリ領域のアップグレードされたシステムファイルを使用して起動する。
【００１８】
第2のメモリ領域が「起動可能」になるには、他の実施例は、
- 前記システムファイルの前記アップグレードを前記第2のメモリに記憶するステップと、
- 前記「第2はセーフ」ブール値のを「イエス」に設定するステップと、
- 「全てセーフ」のブール値を「イエス」に設定するステップと、
を有する。
【００１９】
この処置の利点は、例えば停電のため、システムファイルをアップグレードする方法の最中に当該方法が失敗しても、デバイスは、破壊されていると示されていないメモリ領域を使用して起動することが可能であるということである。
【００２０】
【発明の実施の形態】
本発明の他の利点、機能及び詳細は、添付の図面を参照して、好適な実施例の以下の説明を考慮して明らかにされる。
【００２１】
本発明(図1)の実施例は、隠されたメモリ領域11、12、13及びファイルシステム領域14を有する不揮発性又はフラッシュメモリ記憶装置を提供する。ネットワークデバイスにおいて用いることができるアプリケーションプログラムがファイルシステムメモリ領域に記憶されている。前記隠された領域は、3つの異なったメモリ領域に分割される。第1のものは、他の2つのメモリ領域の有効性を決定するためのデータが記憶されるブートレスキュー領域である。隠された領域の第2のメモリ領域は、第1のコアイメージ領域12である。ネットワークデバイスを起動するために必要なオペレーティングシステムファイルが、この第1のコアイメージ領域に記憶される。これらのファイルは、「OSカーネル」(ハードウェアに最も近いオペレーティングシステムの基本部分であって、直接ハードウェアを稼動させるか又はハードウェアを駆動する他のソフトウェア層に対するインタフェースを稼動させることができる)、「デバイスドライバ」、「ネットワークスタック」、「リモートアップグレード/インストールアプリケーション」ファイルを含む。これらのファイルのコピーは、第2のコアイメージ領域13に記憶される。このような態様でファイルのコピーを重複して記憶することには、特定の利点がある。ネットワーク接続を通じたネットワークデバイスのこれらのファイルの更新の最中にエラーが発生してファイルが破壊されたら、システムは、破壊されていないコアイメージ領域のコピーから起動することができる。
【００２２】
図2に、ブートレスキュー領域並びに第1の及び第2のコアイメージ領域を使用してネットワークデバイスを起動する方法が表される。本方法は、「A」でネットワークデバイスをオンにすることにより開始する。20において、変数「システムレスキュー状況」(SRS)が値「全てセーフ」を有するかどうか確認される。変数SRSが値「全てセーフ」を有する場合、これは、第1のコアイメージ領域及び第2のコアイメージ領域が破壊されていない、即ち、正常に動作していることを意味する。この場合、24においてデバイスは第1のコアイメージ領域から起動され、その後この方法は終了する。
【００２３】
20においてSRSが「全てセーフ」の値を有すると示されると、21においてSRSの値が「第1はセーフ」であるかどうか決定される。この場合、上記にて説明したような隠された領域の第1のコアイメージ領域のファイルは、破壊されていない、即ち正常に動作している。変数SRSがこの場合値「全てセーフ」を有するので、第2のコアイメージ領域のファイルは破壊されている、即ち正常に動作していない。この後、25で、第1のコアイメージ領域からのファイルが第2のコアイメージ領域にコピーされ、これにより第2のコアイメージ領域のファイルを回復する。その後で、SRSは27において「全てセーフ」に設定する。その後で、ネットワークデバイスは第1のコアイメージ領域から起動され、本方法は28において終了する。
【００２４】
21においてSRSが値「第1はセーフ」を有すると、22において、SRSの値が「第2はセーフ」であると決定されているかが決定される。変数SRSが「第2はセーフ」であると、26において、ステップ25にて説明したのと類似した手段で第2のコアイメージ領域のファイルが第1のコアイメージ領域にコピーされる。次に27において変数SRSの値が「全てセーフ」に設定される。最後に、ネットワークデバイスは24において第1のコアイメージ領域から起動され、その後本方法は28において終了する。
【００２５】
変数SRSが22において値「第2はセーフ」を有すると示されると、これは破壊されていないファイルを有するコアイメージ領域が存在しないことを意味する。従って、ネットワークデバイスは起動することができず、23において、ネットワークデバイスのディスプレイに修復メッセージが表示される。
【００２６】
図3に発明の他の実施例が表される。この方法は、ネットワークデバイスによるアプリケーションファイルのアップグレードに関する。本方法はBにおいて開始した後に、31において変数「アプリケーションアップグレード状況」(AUS)の値を決定する。AUSの値が31において「全てインストールされた」であると、本方法は終了する。AUSの値が31において「全てインストールされた」であると決定されない場合、AUSの値が「コアイメージのアップグレード開始」であるかどうかが32において決定される。32の質問に対する答えがイエスであると、本方法はCに続き、これは更に図4との関連で参照される。AUSの値が「コアイメージのアップグレード開始」であると決定されないと、AUSの値が「アプリケーションシリアルナンバー」であるかどうかが33において決定される。「アプリケーションシリアルナンバー」は、アプリケーション構成要素のID番号である。この図において表される方法はアプリケーションシリアルナンバーを用いて、該アプリケーションシリアルナンバーによって参照されるアプリケーション構成要素をダウンロードするためのアップグレードサーバと通信する。
【００２７】
33への他の入力は「D」である。Dに至るステップは、図4との関連で更に説明される。変数AUSが有効なアプリケーションシリアルナンバーを有すると33において決定されると、本方法は34において、アプリケーションシリアルナンバーに基づき所望のアプリケーションファイルをダウンロードしてアップグレードするために、アップグレードサーバに接続する。33においてAUSが有効なアプリケーションシリアルナンバーを有しないと決定されると、37で、AUSは値「第1のアプリケーションシリアルナンバー」に設定される。この値は、全てのアプリケーション構成要素ファイルのダウンロードを示す特別なアプリケーションシリアルナンバーである。この後、これらのアプリケーション構成要素ファイルは、34においてダウンロードされる。
【００２８】
34においてファイルをダウンロードしたあと、35で、本方法はアップグレードが35において終了したかどうか確認する。この質問に対する答えがイエスであると、AUSは38において「全てインストールされた」に設定され、この後本方法は39において終了する。35においてアップグレードがまだ終了していないと決定される場合、AUSは36において次のアプリケーションシリアルナンバーに設定されて、その後本方法は34において続けられ繰り返される。
【００２９】
図4において、本発明による方法の他の実施例が表される。この実施例は、コアイメージファイルのアップグレードに関する。41において、コアイメージがアップグレードされることになっているかどうかが決定される。この質問に対する答えがノーであると決定されると、43において、変数AUSは「アプリケーションファイルアップグレード開始」に設定される。この後、本方法はDに続き、これは33への入力である図3のDを指す。
【００３０】
41においてコアイメージファイルがアップグレードされることになっていると決定されると、42において、変数AUSは「コアイメージのアップグレード開始」に設定される。この後ネットワークデバイスはアップグレードサーバに接続し、RAMにコアイメージファイルをダウンロードする。44への他の入力は、図3からの「C」である。
【００３１】
44においてコアイメージファイルがRAMにダウンロードされたあと、46において変数「システムレスキュー状況」(SRS)が「全てセーフ」であるかどうか決定される。SRSが「全てセーフ」でないと、45において変数SRSが「第1はセーフ」であるかどうかが決定される。46において変数SRSが値「全てセーフ」を有すると決定されると、47において、変数SRSは「第1はセーフ」に設定される。この後51において、RAMからのコアイメージファイルは、第2のコアイメージ領域へコピーされる。このステップは、45の答えがイエスであるときも実行される。この後50においてSRSは「第2はセーフ」に設定される。この後、RAMからのコアイメージファイルは第1のコアイメージ領域へコピーされる。このステップは、45に対する答えがノーであるときも実行される。
【００３２】
49においてRAMからのコアイメージファイルを第1のコアイメージ領域へコピーした後、SRSは「全てセーフ」に設定され、AUSは48において「アプリケーションファイルアップグレード開始」に設定される。
【００３３】
この後、49で、アプリケーションファイルが52においてアップグレードされることになっているかどうか決定される。52のこの質問に対する答えがイエスである場合、変数AUSは53において「アプリケーションファイルアップグレード開始」と設定され、その後本方法は、「D」において続けられる。52の質問に対する答えがノーであると、変数は54において「全てインストールされた」に設定され、その後本方法は55において終了する。
【００３４】
図5において、本発明の他の実施例が示される。構成要素61〜66は、上記の方法及びメモリ構成を使用したネットワークデバイスの部分である。プロセッサ61、ランダムアクセスメモリ62、入力装置63、ディスプレイ装置64及びデータ記憶装置65は最先端技術による多数のコンピュータデバイスにおいて見られる。フラッシュメモリ66は、図1の不揮発性メモリ領域11-13及び14として構成される。このフラッシュメモリは、上記の説明によるネットワークデバイスによって使用される。構成部分61〜66は、バス67によって相互接続される。
【図面の簡単な説明】
【図１】  本発明の1つの実施例の図である。
【図２】  本発明の1つの実施例の流れ図である。
【図３】  本発明の他の実施例の流れ図である。
【図４】  本発明の他の実施例の流れ図である。
【図５】  本発明の好適な実施例の図である。
【図１】
2005515524.tif 000003
【図２】
2005515524.tif 000004
【図３】
2005515524.tif 000005
【図４】
2005515524.tif 000006
【図５】
2005515524.tif 000007
【国際調査報告】
2005515524.tif 000008
2005515524.tif 000009