(57)【特許請求の範囲】
【請求項１】
ブートタイプを示すために使用されるフラグを含む揮発性メモリを備えるデバイスのコールドブートとウォームブートとを区別する方法であって、前記デバイスにより実行される前記方法は、
電源異常が生じたことを示すメッセージを検出すると、前記デバイスが前記ブートタイプをウォームブートと判定しないように前記揮発性メモリのデータを設定するステップと、
前記フラグを読み取ることによりブートタイプを判定するステップと、
を備える、前記方法。
【請求項２】
前記設定するステップは、前記フラグの前記データを、コールドブートを示す値に設定するステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記フラグを読み取ることに失敗した場合、前記フラグを作成し、前記フラグを、コールドブートを示す値に設定するステップをさらに備える、請求項２に記載の方法。
【請求項４】
前記揮発性メモリは、前記フラグを備える第１の部分と、前記第１の部分の前記データのＣＲＣチェックサムである第２の部分とから成るデータ領域を含み、前記設定するステップは、
前記データ領域のＣＲＣを無効にするように前記データ領域の前記データを設定するステップをさらに備える、請求項１に記載の方法。
【請求項５】
前記データの前記ＣＲＣが無効と確認されると、前記フラグを含む前記データ領域を作成し、前記フラグを、コールドブートを示す値に設定するステップを備える、請求項４に記載の方法。
【請求項６】
コールドブートとウォームブートとを区別するデバイスであって、
ブートタイプを示すために使用されるフラグを含む揮発性メモリと、
電源異常が生じたことを示すメッセージを捕捉する電源異常捕捉モジュールと、
前記フラグを読み取ることによってブートタイプを判定するプロセッサであって、前記電源異常捕捉モジュールによって電源異常が生じたことを示す前記メッセージが捕捉されたことに応答して、前記プロセッサが前記ブートタイプをウォームブートと判定しないように前記揮発性メモリのデータを設定する、前記プロセッサと、
を備える、前記デバイス。
【請求項７】
前記プロセッサは、前記フラグの前記データを、コールドブートを示す値に設定するようにさらに構成される、請求項６に記載のデバイス。
【請求項８】
前記プロセッサは、前記フラグを読み取ることに失敗した場合、前記フラグを作成し、前記フラグを、コールドブートを示す値に設定するようにさらに構成される、請求項７に記載のデバイス。
【請求項９】
前記揮発性メモリは、前記フラグを備える第１の部分と、前記第１の部分のデータのＣＲＣチェックサムである第２の部分とから成るデータ領域を含み、前記プロセッサは、
前記データ領域のＣＲＣを無効にするように前記データ領域の前記データを設定するようにさらに構成される、請求項６に記載のデバイス。
【請求項１０】
前記プロセッサは、前記データの前記ＣＲＣが無効と確認されると、前記フラグを含む前記データ領域を作成し、前記フラグを、コールドブートを示す値に設定するようにさらに構成される、請求項９に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子デバイスに関し、より詳細には、コールドブートとウォームブートとを区別する方法およびデバイスに関する。
【背景技術】
【０００２】
簡易ネットワーク管理プロトコル（ＳＮＭＰ）は、ＵＤＰベースのネットワークプロトコルである。ＳＮＭＰは、ネットワーク管理システムにおいて、ネットワーク接続されたデバイスを、管理上の注目を引くに値する条件に関して監視するのに概して使用される。ＳＮＭＰは、インターネットエンジニアリングタスクフォース（ＩＥＴＦ）によって規定されるインターネットプロトコルスイートの構成要素である。ＳＮＭＰは、アプリケーション層プロトコル、データベーススキーマ、およびデータオブジェクトのセットを含む、ネットワーク管理のための標準のセットから成る。ＳＮＭＰは、システム構成を記述する管理データを、管理されるシステム上の変数の形態で開示する。次に、これらの変数が、管理するアプリケーションによってクエリされ（さらに、時として、設定され）得る。
【０００３】
通常のＳＮＭＰの使用の際、マネージャと呼ばれる１つまたは複数の管理コンピュータが、ネットワーク内のグループのホストまたはデバイスを監視する、または管理するタスクを有する。管理される各デバイスは、ＳＮＭＰを介して情報をマネージャに報告する、エージェントと呼ばれるモジュールを常時、実行している。詳細には、この情報は、ＳＮＭＰプロトコルデータユニット（ＰＤＵ）を介して報告される。これらのＰＤＵの中で、トラップが、管理されるデバイスに関するアラートまたは他の非同期イベントを報告するのに使用されるタイプのＰＤＵである。
【０００４】
ＳＮＭＰがゲートウェイ上で展開される場合、トラップ通知が、例えば、コールドブート、ウォームブート、管理されるイーサネット（登録商標）スイッチ変更、リンクアップ、リンクダウンなどを報告するのに使用され得る。
【０００５】
しかし、ＳＮＭＰをゲートウェイ上で展開する場合、ゲートウェイは、時として、コールドブートとウォームブートを正しく区別することができないことが判明している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＩＴＵ−Ｔ勧告Ｇ．９９１．２（２００３年１２月）、セクション７．１．２．５．３
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明のある態様によれば、デバイスのコールドブートとウォームブートとを区別する方法が提供され、このデバイスは、ブートタイプを示すために使用されるフラグを包含する揮発性メモリを備え、この方法は、そのフラグを読み取ることによってブートタイプを判定するステップを備え、この方法は、電源異常が生じたことを示すメッセージを検出すると、デバイスがブートタイプをウォームブートと判定しないように揮発性メモリのデータを設定することをさらに備える。
【０００８】
本発明の別の態様によれば、コールドブートとウォームブートとを区別するデバイスが提供される。このデバイスは、ブートタイプを示すために使用されるフラグを包含する揮発性メモリ３０２と、電源異常が生じたことを示すメッセージを捕捉する電源異常捕捉モジュール３０１と、そのフラグを読み取ることによってブートタイプを判定するため、および電源異常が生じたことを示すメッセージが電源異常捕捉モジュール３０１によって捕捉されたことに応答して、プロセッサ３０３がブートタイプをウォームブートと判定しないように揮発性メモリ３０２のデータを設定するプロセッサ３０３とを備える。
【０００９】
本発明のこの態様によれば、デバイスは、コールドブートとウォームブートとを正しく区別することができる。
【００１０】
本発明のさらなる態様および利点は、本発明の以下の詳細な説明において見られることを理解されたい。
【図面の簡単な説明】
【００１１】
本発明のさらなる理解をもたらすように含められる添付の図面は、本発明のいくつかの実施形態を、本発明の原理を説明する役割をする説明とともに例示する。したがって、本発明はそれらの実施形態に限定されない。
【図１】本発明のある実施形態によるハードウェア接続を示す図である。
【図２】本発明の実施形態によるコールドブートとウォームブートとを正しく区別するのを支援する方法を示す流れ図である。
【図３】本発明の実施形態によるコールドブートとウォームブートとを区別するデバイスを示すブロック図である。
【発明を実施するための形態】
【００１２】
次に、本発明の実施形態を、図面に関連して詳細に説明する。以下の説明において、知られている機能および構成のいくつかの詳細な説明は、明確性および簡潔性のため省略され得る。
【００１３】
コールドブート（ハードリブート、コールドリブート、またはコールドスタートとしても知られる）とは、デバイスに対する電源が循環させられる（オフにされ、その後、オンにされる）場合、またはプロセッサに対する特別なリセット信号がトリガされる場合である。コールドブートは、事故によって生じる停電によってもたらされること、またはユーザが、システムフリーズもしくは重大なエラーの状態からシステムをレジュームすることを所望して故意にもたらされることが可能である。
【００１４】
ウォームブート（ソフトリブートまたはウォームリブートとしても知られる）は、電源を解除することなしにソフトウェア制御下でコンピュータを再起動することである。ウォームブートは、必ずではないものの、通常、電源を解除することなく、マシンを順序正しくシャットダウンし、さらに再起動することを指す。
【００１５】
一部のシステムにおいて、デバイスが起動するたびに、デバイスは、その起動がコールドブートとウォームブートのうちいずれのブートであるかを判定し、さらにＳＮＭＰトラップを介してこのブートイベントのブートタイプをＳＮＭＰ管理デバイスに通知する。
【００１６】
例として、ブートタイプの判定を支援するために、ｓｅｌｆｔｅｓｔ＿ｆｌａｇと呼ばれるフラグが、ゲートウェイの揮発性メモリ（ＲＡＭ、ランダムアクセスメモリなどの）の中のプロゾーンと呼ばれる割り当てられた領域において設定される。プロゾーンは、システム関連のパラメータ、例えば、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを格納するための割り当てられたメモリ領域である。さらに、プロゾーンは、この例において巡回冗長検査（ＣＲＣ）技術を使用し、このことは、プロゾーンが、２つの部分を包含し、１つの部分は、システム関連のパラメータのデータを包含し、さらにもう１つの部分は、システム関連のパラメータのデータのＣＲＣチェックサムを包含することを意味する。したがって、プロゾーンのデータ精度は、保証され得る。この例において、ゲートウェイは、インターネットサービスプロバイダに接続するための１つまたは複数の外部ポートと、ユーザデバイスに接続するための１つまたは複数の内部ポートとを有し得る。外部ポートは、ｘＤＳＬ（ａｄｓｌ、ｖｄｓｌ、ｓｈｄｓｌなど）、イーサネット（登録商標）ポート、ＧＰＯＮ（ギガビット対応の受動光ネットワーク）、ＵＭＴＳ（ユニバーサルモバイルテレコミュニケーションズシステム）などのうちの１つまたは複数を備え得る。インターネットポートは、イーサネット（登録商標）ポートとＷｉＦｉ（８０２．１１）のうちの１つまたは複数を備え得る。コールドブートとウォームブートを判定するためのソリューションは、以下のとおりである。すなわち、ゲートウェイがコールドブートモードで起動した場合、ゲートウェイは、揮発性メモリの中のデータが、前の電源オフの後に失われるため、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを読み取ることに失敗する。したがって、ゲートウェイは、揮発性メモリの中にｓｅｌｆｔｅｓｔ＿ｆｌａｇを作成し、さらにｓｅｌｆｔｅｓｔ＿ｆｌａｇを、コールドブートを示す１に設定する。ゲートウェイがウォームブートモードで起動した場合、ゲートウェイは、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを、ウォームブートを示す０に変更する。ゲートウェイが、ウォームブートモードでｓｅｌｆｔｅｓｔ＿ｆｌａｇを作成する必要がない理由は、ウォームブート期間中、揮発性メモリに電源が投入されたままであることである。したがって、ゲートウェイは、起動がいずれのブートタイプであるかを、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを読み取ることによって判別することができる。この例において、すべてのシステム関連のパラメータを包含するのにプロゾーンを使用する。したがって、ゲートウェイは、起動すると、プロゾーンのＣＲＣチェックサムを調べる。チェックサムが無効である場合、このことは、そのブートより前に揮発性メモリに電源が投入されていなかったことを意味し、ゲートウェイは、プロゾーンを（ｓｅｌｆｔｅｓｔ＿ｆｌａｇを含め）再作成し、さらにｓｅｌｆｔｅｓｔ＿ｆｌａｇを１に設定する。チェックサムが有効である場合、そのブートより前に揮発性メモリに電源が投入されていたため、ゲートウェイは、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを０に変更する。ゲートウェイが、このフラグを読み取り、このフラグが１である場合、ゲートウェイは、管理システムにコールドブートトラップを送信し、１ではない場合、ウォームブートトラップが送出される。
【００１７】
しかし、ＲＡＭのデータ残留磁気特性が、電源が解除されてから数秒ないし数分の間、プロゾーンを（無論、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを含め）読み取り可能にする。プロゾーンのデータが失われていないため、デバイスに電源が供給され、オンにされると、プロゾーンは、依然として有効であると確認される。このことは、デバイスが、コールドブートを、事実と合わないウォームブートと間違えることをもたらす。
【００１８】
本発明は、コールドブートとウォームブートを正しく区別するのを支援するために電源断通知（ｄｙｉｎｇ  ｇａｓｐ）を活用する。
【００１９】
電源断通知は、電源異常が生じた際に電源異常が生じたことを示すようにカスタマ構内設備（ＣＰＥ）ＤＳＬデバイスによってデジタル加入者線アクセスマルチプレクサ（ＤＳＬＡＭ）に送信されるメッセージ（または信号）である。本明細書で、電源異常（または送電停止、電源障害、電源喪失、またはブラックアウトとしても知られる）とは、ある区域に対する電力が短期的に、または長期的に失われることである。電源断通知を有するＤＳＬインターフェースは、短い期間、別の電源から電力を得て、このメッセージが外部電源なしに送信され得るようにしなければならない。電源断通知メッセージは、セッションを終了させ、さらに電源が戻り、モデムが再調整されるとすぐに、新たなセッションが作成されることが可能である。電源断通知は、ＩＴＵ−Ｔ勧告Ｇ．９９１．２（２００３年１２月）のセクション７．１．２．５．３に電源ステータスビットとして記載されている。
【００２０】
図１は、本発明の実施形態によるハードウェア接続を示す図である。ゲートウェイの電源がオフである場合、ブロードコムチップセット、例えば、ＢＣＭ９６３５８、ＢＣＭ９６３６８、ＢＣＭ９６３６２などが、電源断通知割込みを発行する。電源断通知入力が、内部１．２５Ｖ基準電圧と比較される。この１．２５Ｖ基準は、高精度のオンチップのバンドキャップ基準から導き出される。バンドギャップ基準は、全温度範囲、全プロセス範囲、および全電圧範囲にわたって２％以内に安定している。温度範囲は、０℃から７０℃までである。許容差は、１％である。バンドギャップは、電圧レベルに実際には依存せず、したがって、±５％電圧範囲にわたって安定している。コンパレータのヒステリシスは、約±３０ｍＶに設定される。電源断通知は、ＤＹＩＮＧ＿ＧＡＳＰ＿ＩＮ入力上の検出電圧が１．２１５Ｖを下回るとアサートされ、この入力が１．２８２Ｖを超えるとディアサートされる。使用されない場合、２．５Ｖに結びつける。
【００２１】
図２は、この実施形態によるコールドブートとウォームブートを正しく区別することを支援する方法を示す流れ図である。
【００２２】
ステップ２０１で、デバイスが、電源断通知を捕捉する。例えば、ゲートウェイの電源が偶然に、または故意に解除されると、ブロードコムチップセットが、電源断通知割込みを発行する。デバイスの電源断通知ハンドラが、電源断通知割込みを捕捉する。
【００２３】
ステップ２０２で、デバイスが、プロゾーンのＣＲＣチェックサムを破損させる。この目的は、ＣＲＣチェックサムを無効にすることである。例えば、このチェックサムを破損させるために、電源断通知ハンドラが、プロゾーンのＣＲＣチェックサムを１だけ増加させる。すると、ゲートウェイに電源が投入された際、プロゾーンのＣＲＣチェックサムは、無効と確認され、さらにデバイスが、プロゾーンを初期化するように構成され、さらにこの初期化の際に、ｓｅｌｆｔｅｓｔ＿ｆｌａｇが、ゲートウェイがコールドブートしたことを意味する１に設定される。
【００２４】
ゲートウェイが起動した後、ｓｎｍｐモジュールが、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを読み取り、このフラグが１に設定されている場合、ｓｎｍｐは、ターゲットｐｃにコールドスタートトラップを送出する。すると、ターゲットｐｃは、ゲートウェイが電源投入時に起動したことを知る。
【００２５】
本発明の変形形態によれば、本発明の原理が、コールドブートとウォームブートを正しく区別するために電源断通知機構を有する他のデバイス、例えば、セットトップボックスに適用されることが、これらのデバイスのＲＡＭが依然として、データ残留磁気特性を有するため、可能である。
【００２６】
本実施形態によれば、デバイスは、ｓｅｌｆｔｅｓｔ＿ｆｌａｇを使用して、起動がいずれのブートタイプであるかを判定する。原理は、ブートより前に書き込まれた揮発性メモリの中のデータは、ブートがウォームブートである場合、ブートの後に依然として読み取り可能であり、ブートがコールドブートである場合、読み取り可能ではないことである。残留磁気によってもたらされる誤った判定を無くすため、デバイスは、電源異常が生じた場合に、データを読み取ることにゲートウェイが失敗するように、またはゲートウェイがブートをウォームブートと判定しないようにデータを変更する必要がある。ゲートウェイが電源異常の後に起動した際にデータが依然として読み取り可能である場合でさえ、ゲートウェイは、そのブートが、ウォームブート以外のコールドブートであると知る。前述の例に示されるとおり、データのこの変更は、プロゾーンを破損させること、またはｓｅｌｆｔｅｓｔ＿ｆｌａｇを破損させることとなり得る。
【００２７】
この例において、ｓｅｌｆｔｅｓｔ＿ｆｌａｇが、プロゾーンに入れられ、さらに電源断通知が捕捉されると、プロゾーンのＣＲＣチェックサム部分を破損させることによって、デバイスは、さもなければ、従来技術のソリューションにおいて、場合により、ウォームブートと間違えられたコールドブートを正しく判定することができる。しかし、変形形態によれば、デバイスは、ＣＲＣチェックサムのデータを破損させること以外で、ｓｅｌｆｔｅｓｔ＿ｆｌａｇのデータを破損させることが可能である。さらに、別の変形形態によれば、ｓｅｌｆｔｅｓｔ＿ｆｌａｇは、メモリの中で独立に設定され、さらに電源断通知が捕捉されると、ｓｅｌｆｔｅｓｔ＿ｆｌａｇの値が１に設定される。
【００２８】
図３は、本発明の実施形態によるコールドブートとウォームブートとを区別するデバイスを示すブロック図である。このデバイスは、電源断通知割込みハンドラ３０１と、プロセッサ３０３と、メモリ３０２とを備える。メモリ３０２は、独立したｓｅｌｆｔｅｓｔ＿ｆｌａｇを格納するのに、またはｓｅｌｆｔｅｓｔ＿ｆｌａｇを包含するプロゾーンを格納するのに使用される。電源断通知割込みハンドラ３０１は、電源異常が生じた場合に、電源異常が生じたことを示す電源断通知割込み（電源断通知割込みは電源断通知メッセージの送信をトリガする）を捕捉し、さらにこの捕捉をプロセッサ３０３に通知するのに使用される。プロセッサ３０３は、ブートがコールドブートであるか、またはウォームブートであるかを判定し、さらに捕捉の通知に応答して、ｓｅｌｆｔｅｓｔ＿ｆｌａｇのデータ、またはプロゾーンのデータを変更するのに使用され、この変更が、プロセッサ３０３に、ブートをコールドブートと判定させる。このデータ変更は、以下のとおりであり得る。独立したｓｅｌｆｔｅｓｔ＿ｆｌａｇが使用される場合、ｓｅｌｆｔｅｓｔ＿ｆｌａｇのデータが、コールドブートを示す値に変更され、プロゾーンが使用される場合、プロセッサ３０３が、ｓｅｌｆｔｅｓｔ＿ｆｌａｇのデータを変更する、またはプロゾーンチェックサムを無効にするようにプロゾーンチェックサムのデータを変更することが可能である。
【００２９】
いくつかの実施形態を説明してきた。それでも、様々な変形が行われ得ることが理解されよう。例えば、様々な実施形態の要素が、他の実施形態をもたらすように組み合わされる、補足される、変形される、または取り除かれることが可能である。さらに、他の構造およびプロセスが、開示される構造およびプロセスに代用されることが可能であり、さらにもたらされる実施形態は、開示される実施形態と同一の結果を少なくとも実質的に実現するように、少なくとも実質的に同一の方法で、少なくとも実質的に同一の機能を実行することが当業者には理解されよう。したがって、これら、およびその他の実施形態は、本発明の範囲に含まれるものとする。
本発明は以下の態様を含む。
（付記１）
ブートタイプを示すために使用されるフラグを包含する揮発性メモリを備えるデバイスのコールドブートとウォームブートとを区別する方法であって、
前記フラグを読み取ることによってブートタイプを判定するステップを備え、
電源異常が生じたことを示すメッセージを検出すると、前記デバイスが前記ブートタイプをウォームブートと判定しないように前記揮発性メモリのデータを変更するステップをさらに備える、前記方法。
（付記２）
前記変更するステップは、前記フラグの前記データを、コールドブートを示す値に変更するステップをさらに備える、付記１に記載の方法。
（付記３）
前記フラグを読み取ることに失敗した場合、前記フラグを作成し、前記フラグを、コールドブートを示す値に設定するステップをさらに備える、付記２に記載の方法。
（付記４）
前記揮発性メモリは、前記フラグを備える第１の部分と、前記第１の部分の前記データの前記ＣＲＣチェックサムである第２の部分とから成るデータ領域を包含し、前記変更するステップは、
前記データ領域のＣＲＣを無効にするように前記データ領域の前記データを変更するステップをさらに備える、付記１に記載の方法。
（付記５）
前記データの前記ＣＲＣが無効と確認されると、前記フラグを含む前記データ領域を作成し、前記フラグを、コールドブートを示す値に設定するステップを備える、付記４に記載の方法。
（付記６）
コールドブートとウォームブートとを区別するデバイスであって、
ブートタイプを示すために使用されるフラグを包含する揮発性メモリ３０２と、
電源異常が生じたことを示すメッセージを捕捉する電源異常捕捉モジュール３０１と、
前記フラグを読み取ることによってブートタイプを判定するため、および、前記電源異常捕捉モジュール３０１によって電源異常が生じたことを示す前記メッセージが捕捉されたことに応答して、プロセッサ３０３が前記ブートタイプをウォームブートと判定しないように前記揮発性メモリ３０２のデータを変更するプロセッサ３０３と、
を備える、前記デバイス。
（付記７）
変更するステップは、前記フラグの前記データを、コールドブートを示す値に変更するステップをさらに備える、付記６に記載のデバイス。
（付記８）
前記プロセッサ３０３は、前記フラグを読み取ることに失敗した場合、前記フラグを作成し、前記フラグを、コールドブートを示す値に設定するようにさらに構成される、付記７に記載のデバイス。
（付記９）
前記揮発性メモリ３０２は、前記フラグを備える第１の部分と、前記第１の部分の前記データの前記ＣＲＣチェックサムである第２の部分とから成るデータ領域を包含し、前記変更するステップは、
前記データ領域のＣＲＣを無効にするように前記データ領域の前記データを変更するステップをさらに備える、付記６に記載のデバイス。
（付記１０）
前記プロセッサ３０３は、前記データの前記ＣＲＣが無効と確認されると、前記フラグを含む前記データ領域を作成し、前記フラグを、コールドブートを示す値に設定するようにさらに構成される、付記９に記載のデバイス。
【図１】
0006006227.tif 000002
【図２】
0006006227.tif 000003
【図３】
0006006227.tif 000004