特許第6096795号(P6096795)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルカテル−ルーセントの特許一覧

特許6096795中間プライマリバックアップ複製のための方法及び装置
<>
  • 特許6096795-中間プライマリバックアップ複製のための方法及び装置 図000002
  • 特許6096795-中間プライマリバックアップ複製のための方法及び装置 図000003
  • 特許6096795-中間プライマリバックアップ複製のための方法及び装置 図000004
  • 特許6096795-中間プライマリバックアップ複製のための方法及び装置 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6096795
(24)【登録日】2017年2月24日
(45)【発行日】2017年3月15日
(54)【発明の名称】中間プライマリバックアップ複製のための方法及び装置
(51)【国際特許分類】
   G06F 11/20 20060101AFI20170306BHJP
   G06F 9/52 20060101ALI20170306BHJP
【FI】
   G06F11/20 697
   G06F9/46 475B
【請求項の数】10
【全頁数】13
(21)【出願番号】特願2014-542320(P2014-542320)
(86)(22)【出願日】2012年10月24日
(65)【公表番号】特表2014-533413(P2014-533413A)
(43)【公表日】2014年12月11日
(86)【国際出願番号】US2012061545
(87)【国際公開番号】WO2013074255
(87)【国際公開日】20130523
【審査請求日】2014年7月10日
(31)【優先権主張番号】13/296,464
(32)【優先日】2011年11月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】391030332
【氏名又は名称】アルカテル−ルーセント
(74)【代理人】
【識別番号】110001173
【氏名又は名称】特許業務法人川口國際特許事務所
(72)【発明者】
【氏名】ナムジョシ,ケダー
(72)【発明者】
【氏名】コッポール,プラモド
(72)【発明者】
【氏名】スタソポウロス,アサナシオス
(72)【発明者】
【氏名】ウィルフォング,ゴードン・ティー
【審査官】 三坂 敏夫
(56)【参考文献】
【文献】 特開平08−106426(JP,A)
【文献】 特開2009−259265(JP,A)
【文献】 特開平06−199154(JP,A)
【文献】 米国特許出願公開第2006/0010227(US,A1)
【文献】 米国特許出願公開第2009/0113109(US,A1)
【文献】 Brendan CULLY et al.,"Remus: High Availability via Asynchronous Virtual Machine Replication",NSDI'08: 5th USENIX Symposium on Networked Systems Design and Implementation,カナダ,The University of British Columbia,2008年 4月16日,pages:161-174,[平成27年7月21日検索]、インターネットURL:https://www.usenix.org/legacy/events/nsdi08/tech
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/20
G06F 9/52
(57)【特許請求の範囲】
【請求項1】
コンピュータ又は仮想マシンであるプライマリをバックアップするサービスを提供するための方法であって、
デジタルデータ記憶装置に通信可能に接続されるプロセッサにおいて、プライマリから入力メッセージを受信するステップと、
前記プロセッサによって、プライマリからプライマリの状態情報を受信するステップと、
前記プロセッサによって、状態情報に基づいて、記憶されたプライマリ状態を同期させてプライマリをバックアップするステップと、
前記プロセッサによって、入力メッセージに基づく出力メッセージを、プライマリを介することなく、宛先ノードに送信するステップとを含む、方法。
【請求項2】
対応する状態情報を受信するステップの後に、出力メッセージを送信するステップが行われる、請求項1に記載の方法。
【請求項3】
前記プロセッサによって、フェイルオーバ指示を受信するステップであって、フェイルオーバ指示は、プライマリが少なくとも1つプライマリタスクに関する制御を放棄していることを指示する、受信するステップと、
前記プロセッサによって、記憶されたプライマリ状態に基づいて、少なくとも1つのプライマリタスクを実行するステップとを更に含む、請求項1に記載の方法。
【請求項4】
前記プロセッサによって、宛先ノードから1つ又は複数のメッセージを受信するステップと、
前記プロセッサによって、1つ又は複数のメッセージをデジタルデータ記憶装置に記録するステップと、
前記プロセッサによって、状態情報及び1つ又は複数の記録されたメッセージに基づいて、更新されたプライマリ状態を同期させるステップとを更に含む、請求項1に記載の方法。
【請求項5】
デジタルデータ記憶装置と、
デジタルデータ記憶装置に通信可能に接続されるプロセッサとを備え、コンピュータ又は仮想マシンであるプライマリをバックアップするためのデジタルメッセージ処理装置であって、プロセッサは、
プライマリから入力メッセージを受信し、
プライマリからプライマリの状態情報を受信し、
状態情報に基づいて、記憶されたプライマリ状態を同期させてプライマリをバックアップし
宛先ノードに入力メッセージに基づく出力メッセージを、プライマリを介することなく、送信するように構成される、デジタルメッセージ処理装置。
【請求項6】
対応する状態情報を受信するステップの後に、出力メッセージを送信するステップが行われる、請求項5に記載の装置。
【請求項7】
プロセッサが、
プライマリが少なくとも1つプライマリタスクに関する制御を放棄していることを指示するフェイルオーバ指示を受信し、
記憶されたプライマリ状態に基づいて、少なくとも1つのプライマリタスクを実行するように更に構成される、請求項5に記載の装置。
【請求項8】
プロセッサが、
宛先ノードから1つ又は複数のメッセージを受信し、
1つ又は複数のメッセージをデジタルデータ記憶装置に記録し、
状態情報及び1つ又は複数の記録されたメッセージに基づいて、更新されたプライマリ状態を同期させるように更に構成される、請求項5に記載の装置。
【請求項9】
プロセッサに通信可能に結合されるI/Oインターフェースを更に備え、I/Oインターフェースは入力メッセージ及び状態情報を受信するように構成される、請求項5に記載の装置。
【請求項10】
装置がプライマリから遠隔して位置することができる、請求項5に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は包括的にはプライマリバックアップ複製を提供するための方法及び装置に関する。
【背景技術】
【0002】
本節は、本発明を理解するのをより容易にする一助となるような態様を紹介する。したがって、本節において述べられることは、この観点から読まれるべきであり、何が従来技術であるか、又は何が従来技術でないかを認めるものと理解されるべきではない。
【0003】
幾つかの知られている非同期仮想マシン(VM)複製システムにおいて、プライマリバックアップ方法は、プライマリからのメッセージが環境に送信される前に、プライマリの状態をバックアップと同期させなければならない。これらの実施形態では、プライマリは出力メッセージをバッファリングし、バックアップに状態情報を送信し、バックアップからの肯定応答メッセージを待ち、その後、バッファリングされたメッセージを環境に送出する。メッセージが環境に直ちに送出される場合には、環境とバックアップでは、プライマリ状態のビューが異なるので、プライマリはメッセージをバッファリングする。この不整合の結果、アプリケーションエラーが生じる場合がある。したがって、これらのバックアップ方法は、プライマリから環境への通信時に、プライマリ−バックアップ同期を起因とする遅延を生じさせる場合がある。幾つかの知られているシステムでは、十分なネットワーク性能を得るために、プライマリ−バックアップ通信は、待ち時間が短く設定される。待ち時間を短く設定すると、費用がかかる高速の相互接続が必要になるか、プライマリとバックアップを物理的に近接配置することで耐障害性が犠牲になる場合がある。
【発明の概要】
【課題を解決するための手段】
【0004】
種々の実施形態は、高耐障害性及び高可用性を提供しながら、ネットワーク性能を改善する中間バックアップ式プライマリ−バックアップ構成を提供する方法及び装置を提供する。中間バックアップ式プライマリ−バックアップ構成は、バッファリングされた出力を送出する際の同期遅延を減少させる。プライマリと、メッセージの意図した1つ又は複数の受信相手(すなわち、環境)との間のルーティング経路内に中間バックアップ式フォワーダを配置することによって、同期遅延が減少する。中間バックアップ式フォワーダは、要求された状態情報を受信し、プライマリから環境に送信される出力メッセージを途中で受信する。中間バックアップ式フォワーダは、プライマリ状態情報のコピーを更新することによって、プライマリをバックアップし、そのメッセージを環境に転送する。
【0005】
有利には、中間バックアップ式フォワーダは、プライマリから受信されたメッセージに肯定応答する必要がないので、プライマリがバックアップから肯定応答を待つことに起因する同期遅延を解消することができる。更に、プライマリとバックアップとの間の同期遅延が解消されるので、プライマリ及びバックアップを互いに遠隔させることができ、信頼性(例えば、耐障害性)を改善することができる。
【0006】
一実施形態では、プライマリ−バックアップサービスを提供するための方法が提供される。その方法は、プライマリから入力メッセージ及び状態情報を受信することと、状態情報に基づいて、格納されたプライマリ状態を同期させることと、転送されるメッセージを環境に送信することとを含み、転送されるメッセージは入力メッセージに基づく。
【0007】
幾つかの実施形態では、その方法は、フェイルオーバ指示を受信することであって、フェイルオーバ指示は、プライマリが少なくとも1つのプライマリタスクの制御を放棄していることを指示する、受信することと、格納されたプライマリ状態に基づいて、少なくとも1つのプライマリタスクを実行することとを更に含む。
【0008】
幾つかの実施形態では、環境から1つ又は複数の環境メッセージを受信することと、1つ又は複数の環境メッセージをデジタルデータ記憶装置に記録することと、状態情報及び1つ又は複数の記録された環境メッセージに基づいて、更新されたプライマリ状態を同期させることとを更に含む。
【0009】
別の実施形態では、プライマリ−バックアップサービスを提供するための装置が提供される。その装置は、デジタルデータ記憶装置と、デジタルデータ記憶装置に通信可能に結合されるプロセッサとを含む。プロセッサは、プライマリから入力メッセージを受信し、プライマリから状態情報を受信し、状態情報に基づいて、記憶されたプライマリ状態を同期させ、入力メッセージに基づいて、出力メッセージを環境に送信するように構成される。
【0010】
幾つかの実施形態では、プロセッサは、プライマリが少なくとも1つのプライマリタスクに関する制御を放棄していることを指示するフェイルオーバ指示を受信し、記憶されたプライマリ状態に基づいて、少なくとも1つのプライマリタスクを実行するように更に構成される。
【0011】
幾つかの実施形態では、プロセッサは、環境から1つ又は複数の環境メッセージを受信し、1つ又は複数の環境メッセージをデジタルデータ記憶装置に記録し、状態情報及び1つ又は複数の記録された環境メッセージに基づいて、更新されたプライマリ状態を同期させるように更に構成される。
【0012】
幾つかの実施形態では、その装置は、プロセッサに通信可能に結合されるI/Oインターフェースを更に含み、I/Oインターフェースは入力メッセージ及び状態情報を受信するように構成される。
【0013】
幾つかの実施形態では、I/Oインターフェースは、複数の通信プロトコルをサポートすることができる。
【0014】
幾つかの実施形態では、I/Oインターフェースは、少なくとも1つのパケットインターフェースと、少なくとも1つの無線インターフェースとを備える。
【0015】
幾つかの実施形態では、入力メッセージはパケットである。
【0016】
幾つかの実施形態では、その装置は、プライマリから遠隔して位置することができる。
【0017】
幾つかの実施形態では、状態情報は入力メッセージに対応する。
【0018】
幾つかの実施形態では、転送されるメッセージを送信するステップは、対応する状態情報を受信するステップの後に行われる。
【0019】
添付の図面において種々の実施形態が示される。
【図面の簡単な説明】
【0020】
図1】中間バックアップ式プライマリ−バックアップ構成の一実施形態を示す機能ブロック図である。
図2図1の中間バックアップ式フォワーダ120を用いてプライマリ−バックアップサービスを提供するための方法の実施形態を示す流れ図である。
図3図1の中間バックアップ式フォワーダ120を用いて決定性プライマリ−バックアップ回復を提供するための方法の実施形態を示す流れ図である。
図4図1の中間バックアップ式ルータ120の一実施形態の概略的なブロック図である。
【発明を実施するための形態】
【0021】
理解するのを容易にするために、同一の参照番号を用いて、実質的に同じ、若しくは類似の構造、及び/又は実質的に同じ、若しくは類似の機能を有する素子を示している。
【0022】
プライマリと環境との間のルーティング経路内に中間バックアップ式フォワーダを配置することによって、中間バックアップ式プライマリ−バックアップ構成が作り出される。中間バックアップ式フォワーダは、プライマリによって環境に送信される出力メッセージを途中で受信し、プライマリがフォワーダ自体に送信する状態情報も取得する。中間バックアップ式フォワーダは、その状態情報を更新することによってプライマリをバックアップし、出力パケットを環境に転送する。
【0023】
プライマリがメッセージを送信する前にバックアップからの肯定応答を待つ必要がないので、中間バックアップ式フォワーダはプライマリとバックアップとの間の同期遅延を解消することができるという効果がある。更に、プライマリとバックアップとの間の同期遅延が解消されるので、プライマリ及びバックアップは互いに遠隔させることができ、信頼性(例えば、耐障害性)を改善することができる。
【0024】
しかしながら、中間バックアップ式プライマリ−バックアップ構成システムは同期遅延を解消するが、中間バックアップ式プライマリ−バックアップ構成システムは、任意のバックアップ方式が存在しなければメッセージが受けることになっていた遅延を超える送信遅延を引き起こす場合があることを理解されたい。例えば、中間バックアップ式フォワーダは、パケットをバッファリングし、転送するときに、状態情報パケットを読み込むときに、及び/又は状態情報パケットを失った場合の任意の再送中に、遅延を引き起こす場合がある。
【0025】
図1は、中間バックアップ式プライマリ−バックアップ構成システム100の一実施形態を示す機能ブロック図を示す。中間バックアップ式プライマリ−バックアップ構成システム100は、プライマリ110から環境130まで送信される入力メッセージ110m−1及び110m−2が中間バックアップ式フォワーダ120を通り抜けるように、プライマリ110と環境130との間に配置される中間バックアップ式フォワーダ120を含む。
【0026】
プライマリ110は、中間バックアップ式フォワーダ120を介して、環境130に向けられる入力メッセージ110m−1及び110m−2を送信する。また、プライマリ110は、中間バックアップ式フォワーダ120によって用いられる状態情報110s−1及び110s−2も送信し、その動作状態とプライマリとを同期させる。
【0027】
入力メッセージ110m−1及び110m−2(まとめて、入力メッセージ110m)は一連のメッセージとすることができる。例えば、メッセージは、宛先ノードにおいて実行するために「環境130内の」宛先ノードにルーティングされることになるタスクとすることができる。幾つかの実施形態では、メッセージはIP又はTCPパケットである。
【0028】
転送されるメッセージ120m−1及び120m−2(まとめて、転送されるメッセージ120m)はそれぞれ入力メッセージ110m−1及び110m−2に対応する。転送されるメッセージ120mは入力メッセージ110mに対応するが、中間バックアップ式フォワーダ120は、転送されるメッセージ120mのヘッダ又はペイロードを変更できることを理解されたい。
【0029】
状態情報110s−1及び110s−2(まとめて、状態情報110s)は、プライマリの状態の格納されたバージョンをプライマリ110の状態と同期させるために中間バックアップ式フォワーダ120によって用いられる情報である。例えば、状態情報110sは、チェックポイント状態(例えば、メモリ及びディスク)を提供することができる。バックアップがプライマリと同期していない場合には、バックアップが故障したプライマリを引き継ぐときに、システムエラーが生じる恐れがあることを理解されたい。
【0030】
中間バックアップ式フォワーダ120は、プライマリ110からの入力メッセージ110m−1及び110m−2を、対応する状態情報、例えば、それぞれ状態情報110s−1及び110s−2を受信するまでバッファリングする。それに応じて、中間バックアップ式フォワーダ120がその状態を更新すると、中間バックアップ式フォワーダ120は、メッセージ120m−1及び120m−2を環境130に向かって転送する。中間バックアップ式フォワーダ120は、受信されたメッセージ110m−1及び110m−2を転送する前に、プライマリとの同期に肯定応答する必要はないので、110m−1及び110m−2のような順次的なメッセージ間で同期遅延は生じないことを理解されたい。また、中間バックアップ式フォワーダ120は、環境130からメッセージ(すなわち、環境メッセージ)を受信し(明確にするために示されない)、それらのメッセージをプライマリ110に転送することもできる。中間バックアップ式フォワーダ120は、環境130からプライマリ110に向けられるメッセージをそのまま(例えば、セーブされた状態情報を更新することなく)転送できることを理解されたい。
【0031】
環境130は、中間バックアップ式フォワーダ120から、転送されるメッセージ120mを受信する。環境130内の宛先ノードが、転送されるメッセージ130を実行する。また、環境130内のノードがプライマリ110にメッセージを直接、又は中間バックアップ式フォワーダ120を介して、送信することもできる。
【0032】
入力メッセージ110m、転送されるメッセージ120m及び状態情報110sは時間的に簡略化されて示されており、任意の適切な方法で順序付けることができることを理解されたい。詳細には、ネットワーク遅延によって、中間バックアップ式フォワーダ120が最初に送信された入力メッセージ110mに対応する状態情報を受信する前に、複数の入力メッセージ110mが中間バックアップ式フォワーダ120によって受信される場合がある。例えば、図1において、状態情報110s−1が受信される前に、中間バックアップ式フォワーダ120によって、入力メッセージ110m−1及び110m−2が受信される場合がある。更に、入力メッセージ110mに対応する転送されるメッセージ120mが、任意の数の入力メッセージ110m及び/又は状態情報110sの後に送信される場合がある。例えば、図1において、転送されるメッセージ120m−1が中間バックアップ式フォワーダ120によって転送される前に、入力メッセージ110m−1及び110m−2並びに状態情報110s−1がプライマリ110によって送信される場合がある。
【0033】
幾つかの実施形態では、中間バックアップ式フォワーダ120をプライマリ110と同期させるために、状態情報110sは、対応するメッセージを用いることなく送信することができる。例えば、状態情報110s−1は、ルーティングテーブルを更新することに関連する場合があり、それゆえ、対応するメッセージ110m−1を有しない場合がある。
【0034】
幾つかの実施形態では、状態情報110sチェックポイントが、複数の入力メッセージ110mに対応する場合がある。例えば、図1を参照すると、プライマリ110は、入力メッセージ110m−1及び110m−2を送信することができ、その後、両方の入力メッセージが送信された後に、プライマリ状態を表す状態情報110s−2を送信することができる。この例では、状態情報110s−2が両方の入力メッセージ110m−1及び110m−2に対応するので、状態情報110s−1は送信される必要はない。
【0035】
幾つかの実施形態では、中間バックアップ式フォワーダ120が入手可能な情報に基づくプライマリ状態が決定性のものである場合には、中間バックアップ式フォワーダ120は、対応する状態情報110s−1を受信することなく、110m−1のような入力メッセージを転送することができる。有利には、中間バックアップ式フォワーダ120は、対応する状態情報110sを待つことなく、プライマリ110から受信された入力メッセージ110mを転送できることになる。
【0036】
その実施形態の更なる実施形態では、プライマリ110の状態は、プライマリ110を宛先とする受信された環境メッセージに基づく決定性のものである。例えば、プライマリ110における更新された状態情報の計算が、プライマリ110を宛先とする環境メッセージに基づいていた場合には、中間バックアップ式フォワーダ120は、環境メッセージを記録することができる。この実施形態において、プライマリ110が故障する場合には、中間バックアップ式フォワーダ120が、例えば、110s−1のような最後に受信された状態情報を使用することによって、プライマリ110の状態に同期し、最後に受信された状態情報110s−1内に表されない記録された一連の受信された環境メッセージを「再生する」ことができる。更に、中間バックアップ式フォワーダ120が、環境130への入力メッセージ110mを記録する場合には、中間バックアップ式フォワーダ120は、必要に応じて、その再生中に、これらの入力メッセージ110mの再送を阻止することができる。
【0037】
幾つかの実施形態では、プライマリ110は、計算、ルーティング、中継及び転送を実行し、高い可用性及び高性能を必要とするネットワーク集約的な仮想マシンとすることができる。これらの実施形態では、プライマリ110は、ローカルタスクからのメッセージ、及び/又は環境内のノードからの遠隔要求を受信することができる。その際、プライマリ110は、中間バックアップ式フォワーダ120を介して環境130に送信するために、入力メッセージ110mを形成することができる。幾つかの実施形態では、メッセージは、TCP/IP、SIP及び/又はRTPパケットを用いて送信される。
【0038】
図2は、図1の中間バックアップ式フォワーダ120を用いてプライマリ−バックアップサービスを提供するための方法の一実施形態を示す流れ図を示す。図1及び図2を参照すると、中間バックアップ式フォワーダ120は、プライマリ110から入力メッセージ110m−1を受信する(例えば、方法200のステップ210)。また、中間バックアップ式フォワーダ120は、プライマリ110から状態情報110s−1も受信する(例えば、方法200のステップ220)。中間バックアップ式フォワーダ120は、プライマリの格納された状態を同期させ(例えば、方法200のステップ230)、転送されるメッセージ120m−1を環境130に送信する(方法200のステップ240)。
【0039】
方法200において、ステップ210は、図1において説明されたように、プライマリ(例えば、図1のプライマリ110)から入力メッセージ(例えば、図1のメッセージ110m−1)を受信することを含む。
【0040】
方法200において、ステップ220は、図1において説明されたように、プライマリ(例えば、図1のプライマリ110)から状態情報(例えば、図1の状態情報110s−1)を受信することを含む。
【0041】
方法200において、ステップ230は、図1において説明されたように、プライマリの格納された状態を同期させることを含む。
【0042】
方法200において、ステップ240は、図1において説明されたように、転送されるメッセージ(図1のメッセージ120m−1)を環境(例えば、図1の環境130)に送信することを含む。
【0043】
ステップ240後に、方法200は、ステップ210に戻り、プライマリ(例えば、プライマリ110)から受信された入力メッセージ(例えば、入力メッセージ110m)を転送するプロセスを繰り返す。
【0044】
方法200の幾つかの実施形態では、ステップ210においてプライマリから受信された入力メッセージは、ステップ220において対応する状態情報が受信されるまで、ステップ240において送信されない。
【0045】
方法200の他の実施形態では、ステップ210においてプライマリから受信された入力メッセージは、ステップ220において対応する状態情報を受信することなく、ステップ240において送信される場合がある。例えば、プライマリの状態が図1において説明されたように決定性のものであるとき、ステップ220において状態情報を受信する前に、又は受信した後に、ステップ210において、1つ又は複数の入力メッセージが受信される場合があり、ステップ240において送信される場合がある。
【0046】
方法200の幾つかの実施形態では、中間バックアップ式フォワーダ120は、格納されたプライマリ状態を用いてプライマリ−バックアップ回復を提供することができる。例えば、中間バックアップ式フォワーダ120がプライマリ110を引き継ぐことになるフェイルオーバ指示時に、中間バックアップ式フォワーダ120は、プライマリ状態を用いて、環境との通信を再開することができる。中間バックアップ式フォワーダ120は、プライマリによって実行される全てのタスク、又はプライマリタスクのサブセットを引き継ぐことができることを理解されたい。例えば、幾つかの仮想マシンを提供するプライマリの場合、それらの仮想マシンのうちの1つ又は複数からのリソースが障害を受けており、それらのタスクのサブセットのためのフェイルオーバ指示を必要とする場合がある。
【0047】
図3は、図1の中間バックアップ式フォワーダ120を用いて決定性プライマリ−バックアップ回復を提供するための方法の一実施形態を示す流れ図を示す。図1及び図3を参照すると、中間バックアップ式フォワーダ120は、状態情報を受信したか否かを判定し(例えば、方法300のステップ310)、受信した場合には、格納されたプライマリ状態を受信された状態情報と同期させ、記録された受信環境メッセージのログをリセットする(例えば、方法300のステップ320)。また、中間バックアップ式フォワーダ120は、環境300から環境メッセージを受信したか否かを判定し(例えば、方法300のステップ330)、受信した場合には、受信環境メッセージのログ内に受信環境メッセージを記録する(例えば、方法300のステップ340)。また、中間バックアップ式フォワーダ120は、バックアップフェイルオーバを開始すべきであるか否かも判定し(例えば、方法300のステップ350)、開始すべきである場合には、格納されたプライマリ状態及び記録された環境メッセージのログに基づいて、プライマリ状態を同期させる(例えば、方法300のステップ360)。
【0048】
方法300において、ステップ310は、図1において説明されたように、プライマリ(例えば、図1のプライマリ110)から状態情報(例えば、図1の状態情報110s−1)が受信されたか否かを判定することを含む。
【0049】
方法300において、ステップ310において判定されたように、状態情報が受信された場合には、ステップ320は、格納されたプライマリ状態を更新し、記録された環境メッセージのログをリセットすることを含む。例えば、バックアップをプライマリ状態に同期させるのに、更新されたプライマリ状態内に既に表されている記録された環境メッセージはもはや不要であり、任意の適切な方法で削除されるか、又はマークを付される。
【0050】
方法300において、ステップ330は、図1において説明されたように、環境(例えば、図1の環境130)から環境メッセージ(例えば、明確にするために図1には示されない)が受信されたか否かを判定することを含む。
【0051】
方法300において、ステップ330において判定されたように、環境メッセージが受信された場合には、ステップ340は、ログ内に環境メッセージを記録することを含む。
【0052】
方法300において、ステップ350は、中間バックアップ式フォワーダ120がプライマリ(例えば、プライマリ110)のための動作を引き継ぐべきであるか否かを判定することを含む。中間バックアップ式フォワーダ120は、ネットワークノードのステータスを監視する装置からメッセージを受信すること、プライマリ自体からメッセージを受信すること、プライマリがもはや動作できないと判定すること、及び/又は任意の適切な手段のような、任意の適切な手段によって、プライマリとして引き継ぐことを決定することができる。中間バックアップ式フォワーダ120は、ハートビートメッセージ、ステータスメッセージ及び/又は任意の他の適切な監視技法を用いることによって、プライマリがもはや動作できないと判定することができる。
【0053】
方法300において、ステップ330において判定されたように、中間バックアップ式フォワーダ120がプライマリに関する動作を引き継ぐべきであると判定した場合には、ステップ340は、プライマリ状態を作り出すことを含む。中間バックアップ式フォワーダ120は、格納されたプライマリ状態と、実効的な格納されたプライマリ状態後に受信された記録された環境メッセージのログとに基づいて、プライマリ状態を作り出すことができる。例えば、中間バックアップ式フォワーダ120は、知られている決定性状態挙動を用いて、ログ内の一連の各環境メッセージを解析し、知られている決定性状態挙動に従ってプライマリ状態を更新することができる。
【0054】
ステップ350の後に、方法300はステップ310に戻り、受信された状態情報(例えば、図1における状態情報110s)と、プライマリ(例えば、図1のプライマリ110)を宛先とする受信された環境メッセージとに基づいて、プライマリ状態を維持するプロセスを繰り返す。
【0055】
特定のシーケンスにおいて主に図示及び説明されたが、方法200及び方法300に示されるステップは、任意の適切なシーケンスにおいて実行できることを理解されたい。更に、1つの枠によって特定されるステップは、そのシーケンス内の2つ以上の場所において実行することもできる。
【0056】
種々の上記の方法のステップはプログラミングされたコンピュータによって実行できることを理解されたい。また、本明細書において、幾つかの実施形態は、マシン又はコンピュータ可読であり、命令のマシン実行可能又はコンピュータ実行可能プログラムを符号化する、プログラム記憶デバイス、例えば、デジタルデータ記憶媒体を含むことも意図しており、前記命令は、前記上記の方法のステップのうちの幾つか又は全てを実行する。プログラム記憶デバイスは、例えば、デジタルメモリ、磁気ディスク及び磁気テープのような磁気記憶媒体、ハードドライブ、又は光学的に読取り可能なデジタルデータ記憶媒体とすることができる。また、それらの実施形態は、上記の方法の前記ステップを実行するようにプログラミングされたコンピュータを含むことを意図している。
【0057】
図4は、図1の中間バックアップ式フォワーダ120の一実施形態を概略的に示す。中間バックアップ式フォワーダ400は、例えば、方法200及び/又は300を用いて、本明細書において説明される機能を実行することができる。中間バックアップ式フォワーダ400は、プロセッサ410と、デジタルデータ記憶装置411とを含む。
【0058】
プロセッサ410は、中間バックアップ式フォワーダ400の動作を制御する。プロセッサ410は、デジタルデータ記憶装置411と連携する。
【0059】
デジタルデータ記憶装置411は、記憶されたプライマリ状態(例えば、図2のステップ230並びに図3のステップ320及び360)を記憶し、受信及び送信入力メッセージ、状態情報、環境メッセージ及びプライマリステータスメッセージをバッファリングし(例えば、図2のステップ210、220、240及び図3のステップ310、330、350)、記録された環境メッセージを記憶する(図3のステップ340)ことができる。また、デジタルデータ記憶装置411は、プロセッサ410によって実行可能なプログラム420も記憶する。
【0060】
プロセッサ実行可能プログラム410は、I/Oインターフェースプログラム421及び/又はプライマリ状態プログラム423を含むことができる。プロセッサ410は、プロセッサ実行可能プログラム420と連携して、図1図3において説明された機能性を実現し、及び/又は方法200及び/又は300のステップを実行する。
【0061】
I/Oインターフェース430は、任意の適切な数のセッション(例えば、任意の適切な数のIPフロー)をサポートする任意の適切な数のチャネルをサポートするように構成され、それらのチャネルは、中間バックアップ式フォワーダ400と、1つ又は複数のプライマリ(例えば、図1のプライマリ110)及び環境(例えば、図1の環境130)との間で運用される場合がある。I/Oインターフェース430は、1つ又は複数の任意の適切なタイプの通信経路及び通信プロトコルをサポートすることができる。例えば、通信経路は、無線通信(例えば、GSM(登録商標)及びCDMA)、有線通信、パケットネットワーク通信(例えば、IP)、広帯域通信(例えば、DSL)等、及びそれらの種々の組合せを含むことができる。
【0062】
プロセッサ実行可能プログラム420がプロセッサ410上に実装されるとき、そのプログラムコードセグメントは、プロセッサとの組合せで、特定の論理回路と同じように動作する固有のデバイスを提供する。
【0063】
例えば、本明細書において、プログラム及びロジックがデジタルデータ記憶装置内に記憶され、メモリがプロセッサに通信可能に接続される実施形態に関して図示及び説明されたが、そのような情報は、任意の他の適切な方法(例えば、任意の適切な数のメモリ、記憶装置又はデータベースを用いること、任意の適切な構成のデバイスに通信可能に結合される任意の適切な構成のメモリ、記憶装置又はデータベースを用いること、任意の適切な組合せの1つ又は複数のメモリ、1つ又は複数の記憶装置及び/又は1つ又は複数の内部若しくは外部データベース内に情報を記憶すること、又は任意の適切な数のアクセス可能外部メモリ、記憶装置又はデータベースを用いること)によって記憶できることを理解されたい。したがって、本明細書において参照されるデジタルデータ記憶装置は、1つ又は複数のメモリ、1つ又は複数の記憶装置及び1つ又は複数のデータベースの全ての適切な組合せを含むことを意図している。
【0064】
説明及び図面は本発明の原理を示すにすぎない。それゆえ、当業者は、本明細書には明示的に説明又は図示されないが、本発明の原理を具現し、本明細書の精神及び範囲内に含まれる種々の構成を考案できることは理解されよう。更に、本明細書に記載される全ての例が主に、本発明の原理と、当該技術分野を発展させることに本発明者らが貢献する概念とを読者が理解するのを助けるために、教示の目的を果たすことのみを明確に意図しており、そのように具体的に記載される例及び条件に限定されないと解釈されるべきである。更に、本明細書において本発明の原理、態様及び実施形態、並びにその具体例を記載する全ての陳述は、その均等物を含むことを意図している。
【0065】
「プロセッサ」を付された任意の機能ブロックを含む、図示される種々の要素の機能は、専用ハードウェア、及び適切なソフトウェアとの関連でソフトウェアを実行することができるハードウェアを使用することにより提供することができる。プロセッサによって提供されるとき、それらの機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、又はそのうちの幾つかが共有される場合がある複数の個々のプロセッサによって提供される場合がある。更に、「プロセッサ」又は「コントローラ」という用語を明示的に使用することは、ソフトウェアを実行することができるハードウェアだけを指すように解釈されるべきではなく、限定はしないが、デジタルシグナルプロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するためのリードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、及び不揮発性記憶装置を暗に含む場合がある。他のハードウェア、すなわち、従来の、及び/又はカスタムハードウェアも含まれる場合がある。同様に、図示される任意のスイッチは概念的にすぎない。それらの機能は、プログラムロジックの動作を通して、専用ロジックを通して、プログラム制御及び専用ロジックのやりとりを通して、更には手動で実行することができ、文脈からより具体的に理解されるように開発者によって特定の技法が選択可能である。
【0066】
本明細書における任意のブロック図は、本発明の原理を具現する例示的な回路の概念図を表すことを理解されたい。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コード等は、コンピュータ可読媒体内に実質的に表現される場合があり、かつ、コンピュータ又はプロセッサが明示されるか否かを問わず、コンピュータ又はプロセッサによって実行することができる種々のプロセスを表すことを理解されたい。
図1
図2
図3
図4