(57)【要約】  プライマリと環境との間のルーティング経路内に中間バックアップ式フォワーダを配置することによって中間バックアップ式プライマリ−バックアップ構成が作り出される。中間バックアップ式フォワーダは、必要とされる状態情報とともに、プライマリによって環境に送信される出力メッセージを途中で受信する。中間バックアップ式フォワーダは、その状態情報を更新することによってプライマリをバックアップし、出力パケットを環境に転送する。【特許請求の範囲】
【請求項１】
プライマリ−バックアップサービスを提供するための方法であって、
デジタルデータ記憶装置に通信可能に接続されるプロセッサにおいて、プライマリから入力メッセージを受信するステップと、
デジタルデータ記憶装置と連携するプロセッサによって、プライマリから状態情報を受信するステップと、
デジタルデータ記憶装置と連携するプロセッサによって、状態情報に基づいて、記憶されたプライマリ状態を同期させるステップと、
デジタルデータ記憶装置と連携するプロセッサによって、入力メッセージに基づく転送されるメッセージを環境に送信するステップとを含む、方法。
【請求項２】
対応する状態情報を受信するステップの後に、転送されるメッセージを送信するステップが行われる、請求項１に記載の方法。
【請求項３】
デジタルデータ記憶装置と連携するプロセッサによって、フェイルオーバ指示を受信するステップであって、フェイルオーバ指示は、プライマリが少なくとも１つプライマリタスクに関する制御を放棄していることを指示する、受信するステップと、
デジタルデータ記憶装置と連携するプロセッサによって、記憶されたプライマリ状態に基づいて、少なくとも１つのプライマリタスクを実行するステップとを更に含む、請求項１に記載の方法。
【請求項４】
デジタルデータ記憶装置と連携するプロセッサによって、環境から１つ又は複数の環境メッセージを受信するステップと、
デジタルデータ記憶装置と連携するプロセッサによって、１つ又は複数の環境メッセージをデジタルデータ記憶装置に記録するステップと、
デジタルデータ記憶装置と連携するプロセッサによって、状態情報及び１つ又は複数の記録された環境メッセージに基づいて、更新されたプライマリ状態を同期させるステップとを更に含む、請求項１に記載の方法。
【請求項５】
デジタルデータ記憶装置と、
デジタルデータ記憶装置に通信可能に接続されるプロセッサとを備えるデジタルメッセージ処理装置であって、プロセッサは、
プライマリから入力メッセージを受信し、
プライマリから状態情報を受信し、
状態情報に基づいて、記憶されたプライマリ状態を同期させ、
環境に入力メッセージに基づく出力メッセージを送信するように構成される、デジタルメッセージ処理装置。
【請求項６】
対応する状態情報を受信するステップの後に、転送されるメッセージを送信するステップが行われる、請求項５に記載の装置。
【請求項７】
プロセッサが、
プライマリが少なくとも１つプライマリタスクに関する制御を放棄していることを指示するフェイルオーバ指示を受信し、
記憶されたプライマリ状態に基づいて、少なくとも１つのプライマリタスクを実行するように更に構成される、請求項５に記載の装置。
【請求項８】
プロセッサが、
環境から１つ又は複数の環境メッセージを受信し、
１つ又は複数の環境メッセージをデジタルデータ記憶装置に記録し、
状態情報及び１つ又は複数の記録された環境メッセージに基づいて、更新されたプライマリ状態を同期させるように更に構成される、請求項５に記載の装置。
【請求項９】
プロセッサに通信可能に結合されるＩ／Ｏインターフェースを更に備え、Ｉ／Ｏインターフェースは入力メッセージ及び状態情報を受信するように構成される、請求項５に記載の装置。
【請求項１０】
装置がプライマリから遠隔して位置することができる、請求項５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は包括的にはプライマリバックアップ複製を提供するための方法及び装置に関する。
【背景技術】
【０００２】
本節は、本発明を理解するのをより容易にする一助となるような態様を紹介する。したがって、本節において述べられることは、この観点から読まれるべきであり、何が従来技術であるか、又は何が従来技術でないかを認めるものと理解されるべきではない。
【０００３】
幾つかの知られている非同期仮想マシン（ＶＭ）複製システムにおいて、プライマリバックアップ方法は、プライマリからのメッセージが環境に送信される前に、プライマリの状態をバックアップと同期させなければならない。これらの実施形態では、プライマリは出力メッセージをバッファリングし、バックアップに状態情報を送信し、バックアップからの肯定応答メッセージを待ち、その後、バッファリングされたメッセージを環境に送出する。メッセージが環境に直ちに送出される場合には、環境とバックアップでは、プライマリ状態のビューが異なるので、プライマリはメッセージをバッファリングする。この不整合の結果、アプリケーションエラーが生じる場合がある。したがって、これらのバックアップ方法は、プライマリから環境への通信時に、プライマリ−バックアップ同期を起因とする遅延を生じさせる場合がある。幾つかの知られているシステムでは、十分なネットワーク性能を得るために、プライマリ−バックアップ通信は、待ち時間が短く設定される。待ち時間を短く設定すると、費用がかかる高速の相互接続が必要になるか、プライマリとバックアップを物理的に近接配置することで耐障害性が犠牲になる場合がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
種々の実施形態は、高耐障害性及び高可用性を提供しながら、ネットワーク性能を改善する中間バックアップ式プライマリ−バックアップ構成を提供する方法及び装置を提供する。中間バックアップ式プライマリ−バックアップ構成は、バッファリングされた出力を送出する際の同期遅延を減少させる。プライマリと、メッセージの意図した１つ又は複数の受信相手（すなわち、環境）との間のルーティング経路内に中間バックアップ式フォワーダを配置することによって、同期遅延が減少する。中間バックアップ式フォワーダは、要求された状態情報を受信し、プライマリから環境に送信される出力メッセージを途中で受信する。中間バックアップ式フォワーダは、プライマリ状態情報のコピーを更新することによって、プライマリをバックアップし、そのメッセージを環境に転送する。
【０００５】
有利には、中間バックアップ式フォワーダは、プライマリから受信されたメッセージに肯定応答する必要がないので、プライマリがバックアップから肯定応答を待つことに起因する同期遅延を解消することができる。更に、プライマリとバックアップとの間の同期遅延が解消されるので、プライマリ及びバックアップを互いに遠隔させることができ、信頼性（例えば、耐障害性）を改善することができる。
【０００６】
一実施形態では、プライマリ−バックアップサービスを提供するための方法が提供される。その方法は、プライマリから入力メッセージ及び状態情報を受信することと、状態情報に基づいて、格納されたプライマリ状態を同期させることと、転送されるメッセージを環境に送信することとを含み、転送されるメッセージは入力メッセージに基づく。
【０００７】
幾つかの実施形態では、その方法は、フェイルオーバ指示を受信することであって、フェイルオーバ指示は、プライマリが少なくとも１つのプライマリタスクの制御を放棄していることを指示する、受信することと、格納されたプライマリ状態に基づいて、少なくとも１つのプライマリタスクを実行することとを更に含む。
【０００８】
幾つかの実施形態では、環境から１つ又は複数の環境メッセージを受信することと、１つ又は複数の環境メッセージをデジタルデータ記憶装置に記録することと、状態情報及び１つ又は複数の記録された環境メッセージに基づいて、更新されたプライマリ状態を同期させることとを更に含む。
【０００９】
別の実施形態では、プライマリ−バックアップサービスを提供するための装置が提供される。その装置は、デジタルデータ記憶装置と、デジタルデータ記憶装置に通信可能に結合されるプロセッサとを含む。プロセッサは、プライマリから入力メッセージを受信し、プライマリから状態情報を受信し、状態情報に基づいて、記憶されたプライマリ状態を同期させ、入力メッセージに基づいて、出力メッセージを環境に送信するように構成される。
【００１０】
幾つかの実施形態では、プロセッサは、プライマリが少なくとも１つのプライマリタスクに関する制御を放棄していることを指示するフェイルオーバ指示を受信し、記憶されたプライマリ状態に基づいて、少なくとも１つのプライマリタスクを実行するように更に構成される。
【００１１】
幾つかの実施形態では、プロセッサは、環境から１つ又は複数の環境メッセージを受信し、１つ又は複数の環境メッセージをデジタルデータ記憶装置に記録し、状態情報及び１つ又は複数の記録された環境メッセージに基づいて、更新されたプライマリ状態を同期させるように更に構成される。
【００１２】
幾つかの実施形態では、その装置は、プロセッサに通信可能に結合されるＩ／Ｏインターフェースを更に含み、Ｉ／Ｏインターフェースは入力メッセージ及び状態情報を受信するように構成される。
【００１３】
幾つかの実施形態では、Ｉ／Ｏインターフェースは、複数の通信プロトコルをサポートすることができる。
【００１４】
幾つかの実施形態では、Ｉ／Ｏインターフェースは、少なくとも１つのパケットインターフェースと、少なくとも１つの無線インターフェースとを備える。
【００１５】
幾つかの実施形態では、入力メッセージはパケットである。
【００１６】
幾つかの実施形態では、その装置は、プライマリから遠隔して位置することができる。
【００１７】
幾つかの実施形態では、状態情報は入力メッセージに対応する。
【００１８】
幾つかの実施形態では、転送されるメッセージを送信するステップは、対応する状態情報を受信するステップの後に行われる。
【００１９】
添付の図面において種々の実施形態が示される。
【図面の簡単な説明】
【００２０】
【図１】中間バックアップ式プライマリ−バックアップ構成の一実施形態を示す機能ブロック図である。
【図２】図１の中間バックアップ式フォワーダ１２０を用いてプライマリ−バックアップサービスを提供するための方法の実施形態を示す流れ図である。
【図３】図１の中間バックアップ式フォワーダ１２０を用いて決定性プライマリ−バックアップ回復を提供するための方法の実施形態を示す流れ図である。
【図４】図１の中間バックアップ式ルータ１２０の一実施形態の概略的なブロック図である。
【発明を実施するための形態】
【００２１】
理解するのを容易にするために、同一の参照番号を用いて、実質的に同じ、若しくは類似の構造、及び／又は実質的に同じ、若しくは類似の機能を有する素子を示している。
【００２２】
プライマリと環境との間のルーティング経路内に中間バックアップ式フォワーダを配置することによって、中間バックアップ式プライマリ−バックアップ構成が作り出される。中間バックアップ式フォワーダは、プライマリによって環境に送信される出力メッセージを途中で受信し、プライマリがフォワーダ自体に送信する状態情報も取得する。中間バックアップ式フォワーダは、その状態情報を更新することによってプライマリをバックアップし、出力パケットを環境に転送する。
【００２３】
プライマリがメッセージを送信する前にバックアップからの肯定応答を待つ必要がないので、中間バックアップ式フォワーダはプライマリとバックアップとの間の同期遅延を解消することができるという効果がある。更に、プライマリとバックアップとの間の同期遅延が解消されるので、プライマリ及びバックアップは互いに遠隔させることができ、信頼性（例えば、耐障害性）を改善することができる。
【００２４】
しかしながら、中間バックアップ式プライマリ−バックアップ構成システムは同期遅延を解消するが、中間バックアップ式プライマリ−バックアップ構成システムは、任意のバックアップ方式が存在しなければメッセージが受けることになっていた遅延を超える送信遅延を引き起こす場合があることを理解されたい。例えば、中間バックアップ式フォワーダは、パケットをバッファリングし、転送するときに、状態情報パケットを読み込むときに、及び／又は状態情報パケットを失った場合の任意の再送中に、遅延を引き起こす場合がある。
【００２５】
図１は、中間バックアップ式プライマリ−バックアップ構成システム１００の一実施形態を示す機能ブロック図を示す。中間バックアップ式プライマリ−バックアップ構成システム１００は、プライマリ１１０から環境１３０まで送信される入力メッセージ１１０ｍ−１及び１１０ｍ−２が中間バックアップ式フォワーダ１２０を通り抜けるように、プライマリ１１０と環境１３０との間に配置される中間バックアップ式フォワーダ１２０を含む。
【００２６】
プライマリ１１０は、中間バックアップ式フォワーダ１２０を介して、環境１３０に向けられる入力メッセージ１１０ｍ−１及び１１０ｍ−２を送信する。また、プライマリ１１０は、中間バックアップ式フォワーダ１２０によって用いられる状態情報１１０ｓ−１及び１１０ｓ−２も送信し、その動作状態とプライマリとを同期させる。
【００２７】
入力メッセージ１１０ｍ−１及び１１０ｍ−２（まとめて、入力メッセージ１１０ｍ）は一連のメッセージとすることができる。例えば、メッセージは、宛先ノードにおいて実行するために「環境１３０内の」宛先ノードにルーティングされることになるタスクとすることができる。幾つかの実施形態では、メッセージはＩＰ又はＴＣＰパケットである。
【００２８】
転送されるメッセージ１２０ｍ−１及び１２０ｍ−２（まとめて、転送されるメッセージ１２０ｍ）はそれぞれ入力メッセージ１１０ｍ−１及び１１０ｍ−２に対応する。転送されるメッセージ１２０ｍは入力メッセージ１１０ｍに対応するが、中間バックアップ式フォワーダ１２０は、転送されるメッセージ１２０ｍのヘッダ又はペイロードを変更できることを理解されたい。
【００２９】
状態情報１１０ｓ−１及び１１０ｓ−２（まとめて、状態情報１１０ｓ）は、プライマリの状態の格納されたバージョンをプライマリ１１０の状態と同期させるために中間バックアップ式フォワーダ１２０によって用いられる情報である。例えば、状態情報１１０ｓは、チェックポイント状態（例えば、メモリ及びディスク）を提供することができる。バックアップがプライマリと同期していない場合には、バックアップが故障したプライマリを引き継ぐときに、システムエラーが生じる恐れがあることを理解されたい。
【００３０】
中間バックアップ式フォワーダ１２０は、プライマリ１１０からの入力メッセージ１１０ｍ−１及び１１０ｍ−２を、対応する状態情報、例えば、それぞれ状態情報１１０ｓ−１及び１１０ｓ−２を受信するまでバッファリングする。それに応じて、中間バックアップ式フォワーダ１２０がその状態を更新すると、中間バックアップ式フォワーダ１２０は、メッセージ１２０ｍ−１及び１２０ｍ−２を環境１３０に向かって転送する。中間バックアップ式フォワーダ１２０は、受信されたメッセージ１１０ｍ−１及び１１０ｍ−２を転送する前に、プライマリとの同期に肯定応答する必要はないので、１１０ｍ−１及び１１０ｍ−２のような順次的なメッセージ間で同期遅延は生じないことを理解されたい。また、中間バックアップ式フォワーダ１２０は、環境１３０からメッセージ（すなわち、環境メッセージ）を受信し（明確にするために示されない）、それらのメッセージをプライマリ１１０に転送することもできる。中間バックアップ式フォワーダ１２０は、環境１３０からプライマリ１１０に向けられるメッセージをそのまま（例えば、セーブされた状態情報を更新することなく）転送できることを理解されたい。
【００３１】
環境１３０は、中間バックアップ式フォワーダ１２０から、転送されるメッセージ１２０ｍを受信する。環境１３０内の宛先ノードが、転送されるメッセージ１３０を実行する。また、環境１３０内のノードがプライマリ１１０にメッセージを直接、又は中間バックアップ式フォワーダ１２０を介して、送信することもできる。
【００３２】
入力メッセージ１１０ｍ、転送されるメッセージ１２０ｍ及び状態情報１１０ｓは時間的に簡略化されて示されており、任意の適切な方法で順序付けることができることを理解されたい。詳細には、ネットワーク遅延によって、中間バックアップ式フォワーダ１２０が最初に送信された入力メッセージ１１０ｍに対応する状態情報を受信する前に、複数の入力メッセージ１１０ｍが中間バックアップ式フォワーダ１２０によって受信される場合がある。例えば、図１において、状態情報１１０ｓ−１が受信される前に、中間バックアップ式フォワーダ１２０によって、入力メッセージ１１０ｍ−１及び１１０ｍ−２が受信される場合がある。更に、入力メッセージ１１０ｍに対応する転送されるメッセージ１２０ｍが、任意の数の入力メッセージ１１０ｍ及び／又は状態情報１１０ｓの後に送信される場合がある。例えば、図１において、転送されるメッセージ１２０ｍ−１が中間バックアップ式フォワーダ１２０によって転送される前に、入力メッセージ１１０ｍ−１及び１１０ｍ−２並びに状態情報１１０ｓ−１がプライマリ１１０によって送信される場合がある。
【００３３】
幾つかの実施形態では、中間バックアップ式フォワーダ１２０をプライマリ１１０と同期させるために、状態情報１１０ｓは、対応するメッセージを用いることなく送信することができる。例えば、状態情報１１０ｓ−１は、ルーティングテーブルを更新することに関連する場合があり、それゆえ、対応するメッセージ１１０ｍ−１を有しない場合がある。
【００３４】
幾つかの実施形態では、状態情報１１０ｓチェックポイントが、複数の入力メッセージ１１０ｍに対応する場合がある。例えば、図１を参照すると、プライマリ１１０は、入力メッセージ１１０ｍ−１及び１１０ｍ−２を送信することができ、その後、両方の入力メッセージが送信された後に、プライマリ状態を表す状態情報１１０ｓ−２を送信することができる。この例では、状態情報１１０ｓ−２が両方の入力メッセージ１１０ｍ−１及び１１０ｍ−２に対応するので、状態情報１１０ｓ−１は送信される必要はない。
【００３５】
幾つかの実施形態では、中間バックアップ式フォワーダ１２０が入手可能な情報に基づくプライマリ状態が決定性のものである場合には、中間バックアップ式フォワーダ１２０は、対応する状態情報１１０ｓ−１を受信することなく、１１０ｍ−１のような入力メッセージを転送することができる。有利には、中間バックアップ式フォワーダ１２０は、対応する状態情報１１０ｓを待つことなく、プライマリ１１０から受信された入力メッセージ１１０ｍを転送できることになる。
【００３６】
その実施形態の更なる実施形態では、プライマリ１１０の状態は、プライマリ１１０を宛先とする受信された環境メッセージに基づく決定性のものである。例えば、プライマリ１１０における更新された状態情報の計算が、プライマリ１１０を宛先とする環境メッセージに基づいていた場合には、中間バックアップ式フォワーダ１２０は、環境メッセージを記録することができる。この実施形態において、プライマリ１１０が故障する場合には、中間バックアップ式フォワーダ１２０が、例えば、１１０ｓ−１のような最後に受信された状態情報を使用することによって、プライマリ１１０の状態に同期し、最後に受信された状態情報１１０ｓ−１内に表されない記録された一連の受信された環境メッセージを「再生する」ことができる。更に、中間バックアップ式フォワーダ１２０が、環境１３０への入力メッセージ１１０ｍを記録する場合には、中間バックアップ式フォワーダ１２０は、必要に応じて、その再生中に、これらの入力メッセージ１１０ｍの再送を阻止することができる。
【００３７】
幾つかの実施形態では、プライマリ１１０は、計算、ルーティング、中継及び転送を実行し、高い可用性及び高性能を必要とするネットワーク集約的な仮想マシンとすることができる。これらの実施形態では、プライマリ１１０は、ローカルタスクからのメッセージ、及び／又は環境内のノードからの遠隔要求を受信することができる。その際、プライマリ１１０は、中間バックアップ式フォワーダ１２０を介して環境１３０に送信するために、入力メッセージ１１０ｍを形成することができる。幾つかの実施形態では、メッセージは、ＴＣＰ／ＩＰ、ＳＩＰ及び／又はＲＴＰパケットを用いて送信される。
【００３８】
図２は、図１の中間バックアップ式フォワーダ１２０を用いてプライマリ−バックアップサービスを提供するための方法の一実施形態を示す流れ図を示す。図１及び図２を参照すると、中間バックアップ式フォワーダ１２０は、プライマリ１１０から入力メッセージ１１０ｍ−１を受信する（例えば、方法２００のステップ２１０）。また、中間バックアップ式フォワーダ１２０は、プライマリ１１０から状態情報１１０ｓ−１も受信する（例えば、方法２００のステップ２２０）。中間バックアップ式フォワーダ１２０は、プライマリの格納された状態を同期させ（例えば、方法２００のステップ２３０）、転送されるメッセージ１２０ｍ−１を環境１３０に送信する（方法２００のステップ２４０）。
【００３９】
方法２００において、ステップ２１０は、図１において説明されたように、プライマリ（例えば、図１のプライマリ１１０）から入力メッセージ（例えば、図１のメッセージ１１０ｍ−１）を受信することを含む。
【００４０】
方法２００において、ステップ２２０は、図１において説明されたように、プライマリ（例えば、図１のプライマリ１１０）から状態情報（例えば、図１の状態情報１１０ｓ−１）を受信することを含む。
【００４１】
方法２００において、ステップ２３０は、図１において説明されたように、プライマリの格納された状態を同期させることを含む。
【００４２】
方法２００において、ステップ２４０は、図１において説明されたように、転送されるメッセージ（図１のメッセージ１２０ｍ−１）を環境（例えば、図１の環境１３０）に送信することを含む。
【００４３】
ステップ２４０後に、方法２００は、ステップ２１０に戻り、プライマリ（例えば、プライマリ１１０）から受信された入力メッセージ（例えば、入力メッセージ１１０ｍ）を転送するプロセスを繰り返す。
【００４４】
方法２００の幾つかの実施形態では、ステップ２１０においてプライマリから受信された入力メッセージは、ステップ２２０において対応する状態情報が受信されるまで、ステップ２４０において送信されない。
【００４５】
方法２００の他の実施形態では、ステップ２１０においてプライマリから受信された入力メッセージは、ステップ２２０において対応する状態情報を受信することなく、ステップ２４０において送信される場合がある。例えば、プライマリの状態が図１において説明されたように決定性のものであるとき、ステップ２２０において状態情報を受信する前に、又は受信した後に、ステップ２１０において、１つ又は複数の入力メッセージが受信される場合があり、ステップ２４０において送信される場合がある。
【００４６】
方法２００の幾つかの実施形態では、中間バックアップ式フォワーダ１２０は、格納されたプライマリ状態を用いてプライマリ−バックアップ回復を提供することができる。例えば、中間バックアップ式フォワーダ１２０がプライマリ１１０を引き継ぐことになるフェイルオーバ指示時に、中間バックアップ式フォワーダ１２０は、プライマリ状態を用いて、環境との通信を再開することができる。中間バックアップ式フォワーダ１２０は、プライマリによって実行される全てのタスク、又はプライマリタスクのサブセットを引き継ぐことができることを理解されたい。例えば、幾つかの仮想マシンを提供するプライマリの場合、それらの仮想マシンのうちの１つ又は複数からのリソースが障害を受けており、それらのタスクのサブセットのためのフェイルオーバ指示を必要とする場合がある。
【００４７】
図３は、図１の中間バックアップ式フォワーダ１２０を用いて決定性プライマリ−バックアップ回復を提供するための方法の一実施形態を示す流れ図を示す。図１及び図３を参照すると、中間バックアップ式フォワーダ１２０は、状態情報を受信したか否かを判定し（例えば、方法３００のステップ３１０）、受信した場合には、格納されたプライマリ状態を受信された状態情報と同期させ、記録された受信環境メッセージのログをリセットする（例えば、方法３００のステップ３２０）。また、中間バックアップ式フォワーダ１２０は、環境３００から環境メッセージを受信したか否かを判定し（例えば、方法３００のステップ３３０）、受信した場合には、受信環境メッセージのログ内に受信環境メッセージを記録する（例えば、方法３００のステップ３４０）。また、中間バックアップ式フォワーダ１２０は、バックアップフェイルオーバを開始すべきであるか否かも判定し（例えば、方法３００のステップ３５０）、開始すべきである場合には、格納されたプライマリ状態及び記録された環境メッセージのログに基づいて、プライマリ状態を同期させる（例えば、方法３００のステップ３６０）。
【００４８】
方法３００において、ステップ３１０は、図１において説明されたように、プライマリ（例えば、図１のプライマリ１１０）から状態情報（例えば、図１の状態情報１１０ｓ−１）が受信されたか否かを判定することを含む。
【００４９】
方法３００において、ステップ３１０において判定されたように、状態情報が受信された場合には、ステップ３２０は、格納されたプライマリ状態を更新し、記録された環境メッセージのログをリセットすることを含む。例えば、バックアップをプライマリ状態に同期させるのに、更新されたプライマリ状態内に既に表されている記録された環境メッセージはもはや不要であり、任意の適切な方法で削除されるか、又はマークを付される。
【００５０】
方法３００において、ステップ３３０は、図１において説明されたように、環境（例えば、図１の環境１３０）から環境メッセージ（例えば、明確にするために図１には示されない）が受信されたか否かを判定することを含む。
【００５１】
方法３００において、ステップ３３０において判定されたように、環境メッセージが受信された場合には、ステップ３４０は、ログ内に環境メッセージを記録することを含む。
【００５２】
方法３００において、ステップ３５０は、中間バックアップ式フォワーダ１２０がプライマリ（例えば、プライマリ１１０）のための動作を引き継ぐべきであるか否かを判定することを含む。中間バックアップ式フォワーダ１２０は、ネットワークノードのステータスを監視する装置からメッセージを受信すること、プライマリ自体からメッセージを受信すること、プライマリがもはや動作できないと判定すること、及び／又は任意の適切な手段のような、任意の適切な手段によって、プライマリとして引き継ぐことを決定することができる。中間バックアップ式フォワーダ１２０は、ハートビートメッセージ、ステータスメッセージ及び／又は任意の他の適切な監視技法を用いることによって、プライマリがもはや動作できないと判定することができる。
【００５３】
方法３００において、ステップ３３０において判定されたように、中間バックアップ式フォワーダ１２０がプライマリに関する動作を引き継ぐべきであると判定した場合には、ステップ３４０は、プライマリ状態を作り出すことを含む。中間バックアップ式フォワーダ１２０は、格納されたプライマリ状態と、実効的な格納されたプライマリ状態後に受信された記録された環境メッセージのログとに基づいて、プライマリ状態を作り出すことができる。例えば、中間バックアップ式フォワーダ１２０は、知られている決定性状態挙動を用いて、ログ内の一連の各環境メッセージを解析し、知られている決定性状態挙動に従ってプライマリ状態を更新することができる。
【００５４】
ステップ３５０の後に、方法３００はステップ３１０に戻り、受信された状態情報（例えば、図１における状態情報１１０ｓ）と、プライマリ（例えば、図１のプライマリ１１０）を宛先とする受信された環境メッセージとに基づいて、プライマリ状態を維持するプロセスを繰り返す。
【００５５】
特定のシーケンスにおいて主に図示及び説明されたが、方法２００及び方法３００に示されるステップは、任意の適切なシーケンスにおいて実行できることを理解されたい。更に、１つの枠によって特定されるステップは、そのシーケンス内の２つ以上の場所において実行することもできる。
【００５６】
種々の上記の方法のステップはプログラミングされたコンピュータによって実行できることを理解されたい。また、本明細書において、幾つかの実施形態は、マシン又はコンピュータ可読であり、命令のマシン実行可能又はコンピュータ実行可能プログラムを符号化する、プログラム記憶デバイス、例えば、デジタルデータ記憶媒体を含むことも意図しており、前記命令は、前記上記の方法のステップのうちの幾つか又は全てを実行する。プログラム記憶デバイスは、例えば、デジタルメモリ、磁気ディスク及び磁気テープのような磁気記憶媒体、ハードドライブ、又は光学的に読取り可能なデジタルデータ記憶媒体とすることができる。また、それらの実施形態は、上記の方法の前記ステップを実行するようにプログラミングされたコンピュータを含むことを意図している。
【００５７】
図４は、図１の中間バックアップ式フォワーダ１２０の一実施形態を概略的に示す。中間バックアップ式フォワーダ４００は、例えば、方法２００及び／又は３００を用いて、本明細書において説明される機能を実行することができる。中間バックアップ式フォワーダ４００は、プロセッサ４１０と、デジタルデータ記憶装置４１１とを含む。
【００５８】
プロセッサ４１０は、中間バックアップ式フォワーダ４００の動作を制御する。プロセッサ４１０は、デジタルデータ記憶装置４１１と連携する。
【００５９】
デジタルデータ記憶装置４１１は、記憶されたプライマリ状態（例えば、図２のステップ２３０並びに図３のステップ３２０及び３６０）を記憶し、受信及び送信入力メッセージ、状態情報、環境メッセージ及びプライマリステータスメッセージをバッファリングし（例えば、図２のステップ２１０、２２０、２４０及び図３のステップ３１０、３３０、３５０）、記録された環境メッセージを記憶する（図３のステップ３４０）ことができる。また、デジタルデータ記憶装置４１１は、プロセッサ４１０によって実行可能なプログラム４２０も記憶する。
【００６０】
プロセッサ実行可能プログラム４１０は、Ｉ／Ｏインターフェースプログラム４２１及び／又はプライマリ状態プログラム４２３を含むことができる。プロセッサ４１０は、プロセッサ実行可能プログラム４２０と連携して、図１−図３において説明された機能性を実現し、及び／又は方法２００及び／又は３００のステップを実行する。
【００６１】
Ｉ／Ｏインターフェース４３０は、任意の適切な数のセッション（例えば、任意の適切な数のＩＰフロー）をサポートする任意の適切な数のチャネルをサポートするように構成され、それらのチャネルは、中間バックアップ式フォワーダ４００と、１つ又は複数のプライマリ（例えば、図１のプライマリ１１０）及び環境（例えば、図１の環境１３０）との間で運用される場合がある。Ｉ／Ｏインターフェース４３０は、１つ又は複数の任意の適切なタイプの通信経路及び通信プロトコルをサポートすることができる。例えば、通信経路は、無線通信（例えば、ＧＳＭ（登録商標）及びＣＤＭＡ）、有線通信、パケットネットワーク通信（例えば、ＩＰ）、広帯域通信（例えば、ＤＳＬ）等、及びそれらの種々の組合せを含むことができる。
【００６２】
プロセッサ実行可能プログラム４２０がプロセッサ４１０上に実装されるとき、そのプログラムコードセグメントは、プロセッサとの組合せで、特定の論理回路と同じように動作する固有のデバイスを提供する。
【００６３】
例えば、本明細書において、プログラム及びロジックがデジタルデータ記憶装置内に記憶され、メモリがプロセッサに通信可能に接続される実施形態に関して図示及び説明されたが、そのような情報は、任意の他の適切な方法（例えば、任意の適切な数のメモリ、記憶装置又はデータベースを用いること、任意の適切な構成のデバイスに通信可能に結合される任意の適切な構成のメモリ、記憶装置又はデータベースを用いること、任意の適切な組合せの１つ又は複数のメモリ、１つ又は複数の記憶装置及び／又は１つ又は複数の内部若しくは外部データベース内に情報を記憶すること、又は任意の適切な数のアクセス可能外部メモリ、記憶装置又はデータベースを用いること）によって記憶できることを理解されたい。したがって、本明細書において参照されるデジタルデータ記憶装置は、１つ又は複数のメモリ、１つ又は複数の記憶装置及び１つ又は複数のデータベースの全ての適切な組合せを含むことを意図している。
【００６４】
説明及び図面は本発明の原理を示すにすぎない。それゆえ、当業者は、本明細書には明示的に説明又は図示されないが、本発明の原理を具現し、本明細書の精神及び範囲内に含まれる種々の構成を考案できることは理解されよう。更に、本明細書に記載される全ての例が主に、本発明の原理と、当該技術分野を発展させることに本発明者らが貢献する概念とを読者が理解するのを助けるために、教示の目的を果たすことのみを明確に意図しており、そのように具体的に記載される例及び条件に限定されないと解釈されるべきである。更に、本明細書において本発明の原理、態様及び実施形態、並びにその具体例を記載する全ての陳述は、その均等物を含むことを意図している。
【００６５】
「プロセッサ」を付された任意の機能ブロックを含む、図示される種々の要素の機能は、専用ハードウェア、及び適切なソフトウェアとの関連でソフトウェアを実行することができるハードウェアを使用することにより提供することができる。プロセッサによって提供されるとき、それらの機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、又はそのうちの幾つかが共有される場合がある複数の個々のプロセッサによって提供される場合がある。更に、「プロセッサ」又は「コントローラ」という用語を明示的に使用することは、ソフトウェアを実行することができるハードウェアだけを指すように解釈されるべきではなく、限定はしないが、デジタルシグナルプロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを記憶するためのリードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、及び不揮発性記憶装置を暗に含む場合がある。他のハードウェア、すなわち、従来の、及び／又はカスタムハードウェアも含まれる場合がある。同様に、図示される任意のスイッチは概念的にすぎない。それらの機能は、プログラムロジックの動作を通して、専用ロジックを通して、プログラム制御及び専用ロジックのやりとりを通して、更には手動で実行することができ、文脈からより具体的に理解されるように開発者によって特定の技法が選択可能である。
【００６６】
本明細書における任意のブロック図は、本発明の原理を具現する例示的な回路の概念図を表すことを理解されたい。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コード等は、コンピュータ可読媒体内に実質的に表現される場合があり、かつ、コンピュータ又はプロセッサが明示されるか否かを問わず、コンピュータ又はプロセッサによって実行することができる種々のプロセスを表すことを理解されたい。
【図１】
2014533413.tif 000002
【図２】
2014533413.tif 000003
【図３】
2014533413.tif 000004
【図４】
2014533413.tif 000005
【国際調査報告】
2014533413.tif 000006
2014533413.tif 000007
2014533413.tif 000008