(57)【特許請求の範囲】
【請求項１】
モバイルＩＰ情報をリカバリするためにコンピュータによって実施される方法であって、
複数のモビリティエージェントの各々が、当該モビリティエージェントに通信可能に連結された複数のモバイルノードのために外部エージェントとして働き、該複数のモバイルノードのために複数の外部エージェント型のモビリティセッションを生成すること、
前記複数のモバイルノードの各々がホームエージェントを有し、前記複数のモビリティエージェントの各々に、外部エージェントとして働く当該モビリティエージェントによってのみ使用される外部エージェント特有情報を、当該モビリティエージェントの複数の外部エージェント型のモビリティセッションの各々について保存すること、
前記複数の外部エージェント型のモビリティセッションの各々についての前記外部エージェント特有情報であって、当該セッションの生成対象のモバイルノードの前記ホームエージェントが使用しない前記外部エージェント特有情報を、当該ホームエージェントに保存することによって、前記外部エージェント特有情報を前記ホームエージェントへと分散バックアップすること、並びに
前記複数のモビリティエージェントのうちの１つが、自身の複数の外部エージェント型のモビリティセッションのうちの１つ以上について自身の外部エージェント特有情報を失ったときに、当該失われた外部エージェント特有情報を、当該外部エージェント特有情報を分散バックアップしたホームエージェントからリカバリすること
を含む方法。
【請求項２】
前記ホームエージェントに、前記複数のモバイルノードのうちの該当のホームエージェントに係るモバイルノードについてのホームエージェント特有情報を保存すること、
該当のホームエージェントに係るモバイルノードの各々についての前記ホームエージェント特有情報であって、外部エージェントによって使用されない前記ホームエージェント特有情報を、対応する外部エージェント型のモビリティセッションを生成してなる前記モバイルノードの前記外部エージェントに保存することによって、前記ホームエージェント特有情報を前記外部エージェントへと分散バックアップすること、並びに
前記ホームエージェントが、自身のモバイルノードのうちの１つ以上について自身のホームエージェント特有情報を失ったときに、当該失われたホームエージェント特有情報を、当該ホームエージェント特有情報を分散バックアップした外部エージェントからリカバリすること
をさらに含む、請求項１に記載のコンピュータによって実施される方法。
【請求項３】
前記外部エージェント特有情報の分散バックアップが、該外部エージェント特有情報をモバイルＩＰ登録要求メッセージに便乗させることを含んでおり、前記ホームエージェント特有情報の分散バックアップが、該ホームエージェント特有情報をモバイルＩＰ登録応答メッセージに便乗させることを含んでいる、請求項２に記載のコンピュータによって実施される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、モバイルＩＰの分野に関し、さらに具体的には、モビリティエージェント情報のリカバリに関する。
【背景技術】
【０００２】
モバイルＩＰは、ラップトップコンピュータまたは他のモバイルコンピューティング装置（本明細書において、モバイルノードと称される）がインターネットおよび／またはＷＡＮとの接続を保ちつつ、さまざまな場所の種々のサブネットワーク間をローミングすることを可能にするＲＦＣ（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ）  ３３４４（２００２年８月）に記載のプロトコルである。モビリティエージェント（例えば、ホームエージェント、外部エージェント）が、モバイルＩＰの機能を提供する。典型的なモバイルＩＰネットワークにおいては、各々のモバイルノードが、インターネットへの現時点の接続点にかかわらず、当該モバイルノードのホームアドレス（ホームエージェントによって割り当てられる）によって特定される。ホームから離れて位置しているとき、モバイルノードには、当該モバイルノードへのアクセスが可能であるように、当該モバイルノードの現時点の接続点を示す気付アドレス（外部エージェントによって提供される）も関連付けられる。モバイルノードは、自身のホームから離れ、外部のネットワークへと接続されるときに、外部エージェントを通じてホームエージェントへと登録を要求する。登録が成功すると、モバイルノードのホームネットワークが当該モバイルノードに宛てたパケットを受信したときに、ホームエージェントが、それらのパケットをトンネルを介して外部エージェントへと送信し、次いで外部エージェントがパケットをモバイルノードへと転送する。モバイルノードがパケットを送信するとき、外部エージェントは、リバーストンネリングを使用して、パケットをホームエージェントへと送信することができ、ホームエージェントが、パケットをそれらの宛て先へと転送する、または、外部エージェントが、パケットをそれらの宛て先へと直接転送してもよい。モバイルノードが成功裏に登録されたとき、そのモバイルノードは、モバイルＩＰセッションを開始している。モバイルノードの登録が解除されるとき（例えば、モバイルノードのバインディングが削除されたとき）、モバイルＩＰセッションは終了している。典型的には、モビリティエージェントの再起動時に、モビリティエージェントに保存されたモビリティバインディングが失われる。
【０００３】
モバイルＩＰプロトコルは、モビリティエージェント間の通信制御メッセージを記載している。例えば、モバイルノードの登録の際には、典型的に、モバイルＩＰ登録要求メッセージおよびモバイルＩＰ登録応答メッセージが、外部エージェントとホームエージェントとの間で送信される。任意の所与の時点において、モビリティエージェント（外部エージェントまたはホームエージェントのいずれか）が、モバイルノードへのサービスの提供を停止することができる。サービスの供給の停止を所望するモビリティエージェントが、ＲＦＣ  ３５４３（２００３年８月）に記載の登録取り消しメッセージを、ピアのモビリティエージェントへと送信することができる（例えば、外部エージェントが、登録取り消しメッセージをホームエージェントへと送信することができる）。取り消しメッセージは、受け手のモビリティエージェントに、送り手のモビリティエージェントがモバイルノードへのサービスを停止していることを知らせる。モバイルノードに関する登録取り消しメッセージを受け取ったモビリティエージェントは、そのモバイルノードについてのモビリティバインディングを削除することができる。
【０００４】
本発明を、本発明のいくつかの実施形態を説明するために使用される以下の説明および添付の図面を参照することによって、最もよく理解することができる。
【図面の簡単な説明】
【０００５】
【図１】本発明の一実施形態によるモバイルＩＰセッションのリカバリをサポートする典型的なモバイルＩＰネットワークを示している。
【図２】本発明の一実施形態による外部エージェントのモバイルＩＰセッションのリカバリを説明するデータの流れの図である。
【図３】モバイルノードがある外部エージェントから別の外部エージェントへと移動している場合の本発明の一実施形態によるモバイルＩＰセッションのリカバリを説明するデータの流れの図である。
【図４】バックアップエージェントおよび／またはリカバリパートナを備えるモバイルＩＰネットワークにおける本発明の一実施形態によるモバイルＩＰセッションのリカバリを説明するデータの流れの図である。
【図５】モバイルＩＰのコンフリクトがモビリティエージェントにおいて検出される場合の本発明の一実施形態によるモバイルＩＰセッションのリカバリを説明するデータの流れの図である。
【図６】本発明の一実施形態によるモバイルＩＰセッションの検証を説明するデータの流れの図である。
【図７】本発明の一実施形態によるモバイルＩＰネットワークにおけるＨｅｌｌｏプロトコルのケイパビリティを説明するデータの流れの図である。
【図８】本発明の一実施形態によるモバイルＩＰセッションのリカバリをサポートするように構成された典型的なモビリティエージェントを示している。
【図９】本発明の一実施形態によるモバイルＩＰネットワーク内のモビリティエージェントのリカバリデータの動的配布を説明している。
【発明を実施するための形態】
【０００６】
以下の説明においては、多数の具体的詳細が述べられる。しかしながら、本発明の実施形態を、それらの具体的詳細を備えずに実施できることを、理解されたい。他の例では、周知の回路、構造、および技術は、本明細書の理解を妨げることがないように、詳しくは示されていない。当業者であれば、本明細書に含まれている説明によって、適切な機能を過度の実験を必要とすることなく実施することができるであろう。
【０００７】
本明細書における「一実施形態」、「実施形態」、「典型的な実施形態」、などへの言及は、記載される実施形態が、特定の特徴、構造、または特性を備えることができるが、必ずしもすべての実施形態が、そのような特定の特徴、構造、または特性を備えなくてもよいことを示している。さらに、そのような文言は、必ずしも同じ実施形態を指してはいない。さらに、特定の特徴、構造、および特性が、ある実施形態に関して説明されるとき、そのような特徴、構造、または特性を他の実施形態に関連して実施することは、それが明示的に記載されているか否かにかかわらず、当業者の知識の範囲内である。
【０００８】
以下の説明および特許請求の範囲において、用語「組み合わせ（ｃｏｕｐｌｅｄ）」および「接続（ｃｏｎｎｅｃｔｅｄ）」、ならびにこれらの派生語が、使用されることがある。これらの用語が、互いの同義語として意図されているわけではないことを、理解すべきである。むしろ、特定の実施形態において、「接続」は、２つ以上の構成要素が互いに直接に物理的または電気的に接していることを指して使用されることがある。「組み合わせ」は、２つ以上の構成要素が直接に物理的または電気的に接していることを意味することがある。しかしながら、「組み合わせ」は、２つ以上の構成要素が互いに直接には接していないが、依然として互いに協働またはやり取りすることを意味することもある。
【０００９】
図面に示される技術を、１つ以上の電子デバイス（例えば、コンピュータ、ネットワークエレメント、など）にて保存および実行されるコードおよびデータを使用して実施することができる。本明細書において使用されるとき、ネットワークエレメント（例えば、ルータ、スイッチ、ブリッジ、など）は、ネットワーク上の他の設備（例えば、他のネットワークエレメント、コンピュータエンドステーション、など）に互いに通信可能につながるハードウェアおよびソフトウェアを含むネットワーク設備の一部である。そのような電子デバイスは、マシンストレージ媒体（例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読み出し専用メモリ、フラッシュメモリデバイス）およびマシン通信媒体（例えば、搬送波、赤外線信号、デジタル信号、などの電気、光、音響、または他の形態の伝播信号）などの機械で読み取ることができる媒体を使用して、コードおよびデータの保存および通信を行う（内部的に行い、さらにはネットワークを介して他のデバイスと行う）。さらに、そのような電子デバイスは、典型的には、ストレージデバイス、１つ以上のユーザ入力／出力デバイス（例えば、キーボードおよび／またはディスプレイ）、およびネットワーク接続などの１つ以上の他のコンポーネントへと連結された１つ以上のプロセッサの組を含んでいる。プロセッサおよび他のコンポーネントの組の組み合わせは、典型的には、１つ以上のバスおよびブリッジ（バスコントローラとも称される）を介する。ネットワークトラフィックを担持するストレージデバイスおよび信号が、それぞれ１つ以上のマシンストレージ媒体およびマシン通信媒体の代表である。このように、所与の電子デバイスのストレージデバイスが、典型的には、その電子デバイスの１つ以上のプロセッサの組において実行されるコードおよび／またはデータを保存する。当然ながら、本発明の実施形態の１つ以上の部分を、ソフトウェア、ファームウェア、および／またはハードウェアのさまざまな組み合わせを使用して実施することができる。
【００１０】
モバイルインターネットプロトコル（モバイルＩＰ）ネットワークにおけるモビリティエージェントのモバイルＩＰセッションのリカバリのための技術について説明する。本発明の一実施形態においては、モビリティエージェントに関係する各々のモビリティセッションについて、モビリティエージェントが、モビリティエージェント特有情報を、当該モビリティエージェントに関係するモビリティエージェントピアへと分散バックアップする。モビリティエージェント特有情報は、モビリティエージェントピアによって使用されるわけではない。モビリティエージェントが何らかの事情で少なくとも１つのモビリティセッションを失う場合、モビリティエージェントは、そのようなセッションに関する保存済みのモビリティエージェント特有情報を、そのようなセッションにそれぞれ関するモビリティエージェントピアからリカバリする。
【００１１】
図１が、モバイルＩＰセッションのリカバリ（以下では、「リカバリ」）をサポートするモビリティエージェントを備えている典型的なモバイルＩＰネットワークを示している。図１において、モバイルノード１１０が、モバイルＩＰ接続１１５を介して外部エージェント１２０に組み合わせられている。したがって、モバイルノード１１０のためのモバイルＩＰセッションが、外部エージェント１２０に存在し（例えば、外部エージェント型のモビリティセッション）、外部エージェント１２０が、この外部エージェントに特有のモバイルノード１１０に関するモバイルＩＰ情報を保存している。本発明の一実施形態によれば、モバイルノードが、ホームエージェント１４０にアンカーされている。すなわち、モバイルノード１１０のためのモバイルＩＰセッションが、ホームエージェント１４０に存在し（例えば、ホームエージェント型のモビリティセッション）、ホームエージェント１４０が、このホームエージェントに特有のモバイルノード１１０に関するモバイルＩＰ情報を保存している。外部エージェント１２０は、ホームエージェント１４０に組み合わせられている。モバイルＩＰデータトラフィック１３５が、外部エージェント１２０とホームエージェント１４０との間を通信リンク１３５にて運ばれる。例えば、モバイルＩＰデータトラフィック１３５が、外部エージェント１２０とホームエージェント１４０とを組み合わせているトンネルにて運ばれる。本発明の一実施形態によれば、外部エージェント１２０およびホームエージェント１４０が、本明細書において後述されるように、外部エージェント−ホームエージェントリカバリ１３８によって指定されるとおりに、それらのモビリティエージェント状態をリカバリすることができる。
【００１２】
外部エージェント１２０は、外部エージェント１３０にも組み合わせられている。本発明の一実施形態によれば、外部エージェント１３０は、外部エージェント１２０のバックアップ外部エージェントである。本発明の別の態様によれば、本明細書において後述されるように、外部エージェント１３０が、外部エージェント１２０のリカバリパートナである。外部エージェント１２０および外部エージェント１３０は、本明細書において後述されるように、外部エージェント−外部エージェントリカバリ１２５によって指定されるとおりに、それらのモビリティエージェント状態をリカバリすることができる。
【００１３】
ホームエージェント１４０は、ホームエージェント１５０にも組み合わせられている。本発明の一実施形態によれば、ホームエージェント１５０が、ホームエージェント１４０のバックアップホームエージェントである。本発明の別の実施形態によれば、本明細書において後述されるように、ホームエージェント１５０が、ホームエージェント１４０のリカバリパートナである。ホームエージェント１４０およびホームエージェント１５０は、本明細書において後述されるように、ホームエージェント−ホームエージェントリカバリ１４５によって指定されるとおりに、それらのモビリティエージェント状態をリカバリすることができる。さらに、本発明の一実施形態によれば、ホームエージェント１４０および外部エージェント１３０が、外部エージェント−ホームエージェントリカバリ１６５によって指定されるとおりに、それらのモビリティエージェント状態をリカバリすることができる。
【００１４】
外部エージェント１３０は、ホームエージェント１５０にも組み合わせられている。本発明の一実施形態によれば、外部エージェント１３０は、ホームエージェント１５０のピアである。例えば、外部エージェント１３０が、ホームエージェント１５０のために外部エージェント機能を提供している。外部エージェント１３０およびホームエージェント１５０は、外部エージェント−ホームエージェントリカバリ１５５によって指定されるとおりに、それらのモビリティエージェント状態をリカバリすることができる。
【００１５】
本発明の一実施形態によれば、モビリティエージェントは、それらのモビリティエージェント状態（例えば、モバイルＩＰセッション情報、モバイルノードに関する追加情報（例えば、ＱｏＳパラメータ、トラフィックフィルタ、セキュリティパラメータ、アクセス制御リスト、負荷バランス属性、など））をリカバリするために、リカバリメッセージを交換する。リカバリメッセージは、信頼性のサポートを有している要求／応答フォーマットである。例えば、本発明の一実施形態においては、確立されたセッションのみをリカバリすることができる。信頼性は、続き番号およびモビリティエージェントピアからの続き番号の受け取り確認を使用して達成される。本発明の一実施形態によれば、リカバリメッセージが、以下のフォーマットが後ろに続くＵＤＰヘッダを有している。
0005767102.tif 000002
【００１６】
「Ｔｙｐｅ」フィールドは、これがリカバリメッセージであることを示す。例えば、「Ｔｙｐｅ」フィールドの各ビットが、ＲＥＣＯＶＥＲＹを表示することができる。「Ｓｕｂｔｙｐｅ」フィールドは、このメッセージにて運ばれるリカバリのサブタイプの種類を記述する。例えば、「Ｓｕｂｔｙｐｅ」フィールドは、Ｈｅｌｌｏメッセージ、ケイパビリティネゴシエーション（ケイパビリティネゴシエーション要求またはケイパビリティネゴシエーション応答であってもよい）、バルクセッションリカバリ要求、シングルセッションリカバリ要求、バルクセッションリカバリ応答、またはシングルセッションリカバリ応答が、この特定のメッセージにて運ばれていることを示すことができる。「Ｓｕｂｔｙｐｅ」フィールドを、異なる機能または用途に応じて別のサブタイプ、より少ないサブタイプ、またはさらなるサブタイプを通信するために使用できる（例えば、ＱｏＳパラメータ、セキュリティパラメータ、負荷バランス属性、など）。
【００１７】
「ＭＤ」フィールドは、リカバリメッセージのメッセージ方向を定義する。例えば、本発明の一実施形態によれば、「ＭＤ」フィールドが０という値を有する場合、メッセージは、ホームエージェントから外部エージェントへと送信されている。「ＭＤ」フィールドが１という値を有する場合、メッセージは、外部エージェントからホームエージェントへと送信されている。「ＭＤ」フィールドが２という値を有する場合、メッセージは、あるホームエージェントから別のエージェントへと送信されている。「ＭＤ」フィールドが３という値を有する場合、メッセージは、ある外部エージェントから別の外部エージェントへと送信されている。当然ながら、上述の値が任意であり、上述の値のいずれかを他の値と入れ換えてもよいことを、理解すべきである。
【００１８】
「Ａ」ビットは、本発明の一実施形態によれば、リカバリメッセージの受け手がリカバリメッセージの受け取りを確認しなければならないか否かを示している。例えば、「Ａ」ビットが１に設定されている場合、そのような確認が必要である。「Ａ」ビットが０に設定されている場合、そのような確認は随意である。受け取り確認のメッセージによれば信頼性が向上するが、使用される帯域幅も増えることを理解すべきである。
【００１９】
本発明の一実施形態によれば、「Ｒ」、「Ｖ」、および「Ｃ」の各ビットは、受け手がリカバリメッセージを受け取ったときに実行しなければならない特定の動作を示している。例えば、「Ｒ」ビットが、モバイルＩＰセッション情報（例えば、モバイルＩＰ構造からのモバイルＩＰレコード）のリカバリを行うべきであるか否か（例えば、モバイルＩＰを再取得する必要があるか否か）を示している。例えば、「Ｒ」ビットが１に設定されている場合、モバイルＩＰ情報のリカバリが必要である。「Ｒ」ビットが０に設定されている場合、モバイルＩＰ情報のリカバリは不要である。リカバリの動作については、図２、３、および９を参照してさらに詳しく説明される。「Ｖ」ビットは、モバイルＩＰセッション情報を検証すべきであるか否かを示している。例えば、「Ｖ」ビットが１に設定されている場合、モバイルＩＰセッション情報を検証する必要がある。「Ｖ」ビットが０に設定されている場合、モバイルＩＰセッション情報を検証する必要はない。検証の動作については、図３、６、および９を参照してさらに詳しく説明される。「Ｃ」ビットは、モバイルＩＰ情報をクリアすべきか否かを示している。例えば、「Ｃ」ビットが１に設定されている場合、モバイルＩＰ情報をクリアする必要がある。「Ｃ」ビットが０に設定されている場合、モバイルＩＰ情報をクリアする必要はない。モバイルＩＰ情報のクリアは、図３、４、および５を参照してさらに詳しく説明される。
【００２０】
「Ｒｅｓｅｒｖｅｄ」フィールドは、０という値にて送信され、受信時に無視される。「Ｓｅｎｄｅｒ  Ａｄｄｒｅｓｓ」フィールドは、送信者のアドレス（例えば、送信者のＩＰアドレス）を含んでいる。「Ｒｅｃｅｉｖｅｒ  Ａｄｄｒｅｓｓ」フィールドは、受信者のアドレス（例えば、このメッセージを受信するモビリティエージェントピアのＩＰアドレス）を含んでいる。「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」フィールドは、送信側のモビリティエージェントによって生成された６４ビットの数であり、リカバリメッセージをＲＥＣＯＶＥＲＲＹ応答と照合し、通知メッセージのリプレイアタックを防ぐために使用される。「Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ」フィールドの一部を、続き番号として使用することも可能である。
【００２１】
「Ｅｘｔｅｎｓｉｏｎｓ」フィールドは、リカバリメッセージフォーマットの機能を拡張することができる。１つ以上の拡張を、このリカバリメッセージならびにＲＦＣ  ３３４４に定められるとおりの１つ以上の認証拡張において使用することができる。例えば、本発明の一実施形態によれば、以下の拡張、すなわちケイパビリティネゴシエーション拡張、バルクセッションリカバリ要求拡張、シングルセッションリカバリ要求拡張、バルクセッションリカバリ応答拡張、およびシングルセッションリカバリ応答拡張を、リカバリメッセージフォーマットの「Ｅｘｔｅｎｓｉｏｎｓ」フィールドに含めることができる。
【００２２】
本発明の一実施形態によれば、モビリティエージェントは、他のモビリティエージェントと１つ以上のケイパビリティをネゴシエートすることができる。ケイパビリティは、アプリケーションフィーチャの機能を提供する１つ以上の動作の特定の組を表わす。各々のモビリティエージェントが、そのケイパビリティをサポートしている場合、モビリティエージェントは、そのケイパビリティに関するメッセージを送信することができる（すなわち、モビリティエージェントが、そのケイパビリティを利用することができる）。例えば、モビリティエージェントは、ネゴシエートされたときにＨｅｌｌｏアプリケーションフィーチャの使用を可能にするＨｅｌｌｏプロトコルケイパビリティをネゴシエートすることができる。例えば、ネゴシエートされたＨｅｌｌｏケイパビリティは、リカバリメッセージフォーマットでのモビリティエージェント間のＨｅｌｌｏパケットの送信を可能にする。モビリティエージェントがネゴシエートできるケイパビリティのさらなる例として、モバイルＩＰセッションリカバリケイパビリティ、モバイルＩＰセッション検証ケイパビリティ、および／またはモバイルＩＰセッションクリアケイパビリティが挙げられる。上述の例が例示にすぎず、ネゴシエート可能な多数の他のケイパビリティが存在できることを、理解すべきである。さらに、さらなる情報を、リカバリメッセージによって伝送することが可能である（例えば、ＱｏＳパラメータ、セキュリティ属性（例えば、ＡＡＡパラメータ）、負荷バランスケイパビリティ、レートポリシー、など）。
【００２３】
本発明の一実施形態によれば、ケイパビリティネゴシエーション拡張は、以下のフォーマットを採用する。
0005767102.tif 000003
【００２４】
「Ｔｙｐｅ」フィールドは、拡張の種類を示し、今回の場合には、これがケイパビリティネゴシエーション拡張であることを示す。「Ｌｅｎｇｔｈ」フィールドは、この拡張の全長を示す。「ＯＰＴ」フィールドは、この拡張に何らかのオプションが存在するか否かを示す。「Ｃａｐａｂｉｌｉｔｉｅｓ  Ｓｕｐｐｏｒｔｅｄ」フィールドは、送信側のモビリティエージェント（すなわち、このケイパビリティネゴシエーション拡張を送信しているモビリティエージェント）がどのケイパビリティをサポートしているかを示す。したがって、この情報によって、受信側のモビリティエージェントは、これらのケイパビリティを自身がサポートするケイパビリティと比較することができる。例えば、「Ｃａｐａｂｉｌｉｔｉｅｓ  Ｓｕｐｐｏｒｔｅｄ」フィールドの値０ｘ００１は、Ｈｅｌｌｏプロトコルケイパビリティがサポートされていることを示している。値０ｘ００２は、異なるリカバリモードがサポートされていることを示し、値０ｘ００４は、異なるリカバリタイプがサポートされていることを示し、値０ｘ００８は、異なるリカバリアクションがサポートされていることを示す。モビリティエージェントがサポートする種々のケイパビリティに応じて、さらなる値も本発明において想定されることを、理解すべきである。
【００２５】
「Ｈｅｌｌｏ  Ｉｎｔｅｒｖａｌ」フィールドは、次のＨｅｌｌｏパケットの送信までの時間である。「Ｄｅａｄ  Ｉｎｔｅｒｖａｌ」フィールドは、「Ｈｅｌｌｏ  Ｉｎｔｅｒｖａｌ」の倍数であり、不通として宣言されないためには、この期間内に受信側のモビリティエージェント（例えば、ピアのモビリティエージェント）が送信側のモビリティエージェントへとＨｅｌｌｏパケットを送り返さなければならない。「Ｒｅｃｏｖｅｒｙ  Ｍｏｄｅｓ」フィールドは、定期的なリカバリケイパビリティがサポートされているか否か、および／またはイベントベースのリカバリケイパビリティがサポートされているか否かを示している。例えば、定期的モードにおいては、リカバリメッセージが、何らかの所定の時間間隔（例えば、１日に１回、１時間に１回、など）で送信される。対照的に、イベントベースのモードにおいては、リカバリメッセージが、動的なイベント（例えば、モビリティエージェントの再起動、モバイルＩＰセッションのコンフリクト、管理上のイベント（例えば、ネットワーク管理者によるモビリティバインディングの削除）、回復できないイベント、２５５未満の続き番号を有するＨｅｌｌｏパケット、など）の結果として送信される。
【００２６】
「Ｒｅｃｏｖｅｒｙ  Ｔｙｐｅｓ」フィールドは、本発明の一実施形態によれば、バルクセッションリカバリ（例えば、１つのリカバリメッセージでの２つ以上のモバイルＩＰセッションのリカバリ）がサポートされているか否か、および／またはシングルセッションリカバリがサポートされているか否かを示している。例えば、モビリティエージェントの再起動時に、そのモビリティエージェントが、再起動の発生前に当該モビリティエージェントに存在したすべてのモバイルＩＰセッション（例えば、各々のモバイルＩＰレコード）に関してリカバリメッセージの送信を望む可能性があり、したがってバルクセッションリカバリタイプが適当である。他方で、モバイルノードがある外部エージェントから別の外部エージェントへと移動した場合には、ホームエージェントが、古い方の外部エージェントに対してこのモバイルノードに関するモバイルＩＰセッション情報をクリアするように指示でき、したがって該当の特定のモバイルＩＰセッションだけが影響され、このような場合には、シングルセッションリカバリタイプが適当である場合がある。本発明の一実施形態によれば、バルクモバイルＩＰセッション情報を運ぶために、信頼できるチャネル（例えば、ＴＣＰ、ＳＴＣＰ、など）を使用することができる。本発明の一実施形態によれば、信頼できるチャネルの使用についてのサポートが、ケイパビリティのネゴシエーションの際にネゴシエートされる。
【００２７】
「Ｒｅｃｏｖｅｒｙ  Ａｃｔｉｏｎｓ」フィールドは、モビリティエージェントによってサポートされるアクションの種類を示す。例えば、「Ｒｅｃｏｖｅｒｙ  Ａｃｔｉｏｎ」フィールドは、モバイルＩＰセッションの検証、モバイルＩＰセッションのリカバリ、および／またはモバイルＩＰセッションのクリアがサポートされている旨を示すことができる。「Ｏｐｔｉｏｎｓ」フィールドは、この拡張にオプションが存在するか否かを示している。処理モジュールおよびデータ構造（例えば、ピアの存在およびケイパビリティの保存）は、本明細書において後述される。
【００２８】
0005767102.tif 000004
すでに述べたように、リカバリメッセージは、要求／応答フォーマットである。本発明の一実施形態によれば、モビリティエージェントが、特定のネットワークプレフィックスまたはネットワークアクセス識別子（ＮＡＩ）部分文字列（例えば、ユーザまたはドメイン）について、バルクセッションリカバリを要求することができる。例えば、あるネットワークプレフィックスについてのバルクセッションリカバリ要求拡張は、以下のフォーマットを有することができる。
【００２９】
ＮＡＩ部分文字列についてのバルクセッションリカバリ要求拡張は、以下のフォーマットを有することができる。
0005767102.tif 000005
【００３０】
本発明の一実施形態によれば、モビリティエージェントが、シングルセッションリカバリを要求することができる。シングルセッションリカバリ要求は、モバイルＩＰセッションを一意に特定しなければならない（例えば、ＮＡＩ、Ｈｏｍｅ  Ａｄｄｒｅｓｓ（ＨｏＡ）、セッション生成時刻スタンプ、など）。例えば、シングルセッションリカバリ要求拡張は、以下のフォーマットを有することができる。
0005767102.tif 000006
【００３１】
本発明の一実施形態によれば、モビリティエージェントが、バルクセッションリカバリ応答によって応答することができる。バルクセッションリカバリ応答は、複数のモバイルＩＰセッションに関する情報を含むことができる。モバイルＩＰ情報を送信するときに、テンプレートベースのフォーマットを使用することができる。例えば、モバイルＩＰデータベースレコードの送信の場合には、各々のフィールドを独立したＴＬＶ（種類、長さ、値）としてエンコードする必要がないように、各々のパケットが、各々のレコードに含まれるフィールドの順序および種類を列挙するテンプレートＴＬＶを有することができる。例えば、バルクセッションリカバリ応答拡張は、以下のフォーマットを有することができる。
0005767102.tif 000007
【００３２】
「Ｔ」ビットは、このレコードがテンプレートであるか、またはセッションレコードであるかを示している。「Ｔｅｍｐｌａｔｅ  ＩＤ」フィールドは、現在のリカバリトランザクションの一意の識別子である。「Ｒｅｃｏｒｄ  ＳｅｔＩＤ」フィールドは、「Ｔｅｍｐｌａｔｅ  ＩＤ」フィールドの識別子と一致する識別子である。本発明の一実施形態によれば、セッションレコードが、「Ｔｅｍｐｌａｔｅ  ＩＤ」フィールドの識別子に一致するテンプレートにもとづいて解読される。
【００３３】
本発明の実施形態によれば、モビリティエージェントが、シングルセッションリカバリ応答メッセージによってリカバリメッセージに応答することができる。シングルセッションリカバリ応答は、モバイルＩＰセッションを一意に特定しなければならない（例えば、ＮＡＩ、Ｈｏｍｅ  Ａｄｄｒｅｓｓ（ＨｏＡ）、セッション生成時刻スタンプ、など）。例えば、シングルセッションリカバリ応答拡張は、以下のフォーマットを有することができる。
0005767102.tif 000008
上述の拡張（例えば、ケイパビリティネゴシエーション拡張、バルクセッションリカバリ要求拡張、シングルセッションリカバリ要求拡張、バルクセッションリカバリ応答拡張、およびシングルセッションリカバリ応答拡張）が、モバイルノードの登録の一部として含まれてもよいことを、理解すべきである。例えば、ケイパビリティネゴシエーション拡張が、ＲＦＣ  ３３４４に定められるとおりの通常のモバイルＩＰ登録要求／応答メッセージおよび／またはＲＦＣ  ３５４３に定められるとおりのモバイルＩＰ登録取り消しメッセージに含まれてもよい。上述のメッセージフォーマットが、例示にすぎず、他のフォーマットも本発明の技術的範囲に包含されることを、理解すべきである。
【００３４】
図２は、本発明の一実施形態による外部エージェントのモバイルＩＰセッションリカバリを説明するデータの流れの図である。図２の動作を、図８および９の典型的な実施形態を参照して説明する。しかしながら、図２の動作を、図８および９を参照して説明される実施形態以外の本発明の実施形態によって実行することも可能であり、図８および９を参照して説明される実施形態が、図２を参照して説明される動作以外の動作も実行できることを、理解すべきである。
【００３５】
図８が、本発明の一実施形態によるモバイルＩＰセッションリカバリをサポートするように構成された典型的なモビリティエージェントを示している。モビリティエージェント８０１は、外部エージェントまたはホームエージェントを代表している（すなわち、モビリティエージェント８０１が、外部エージェントまたはホームエージェントであってもよい）。さらに、モビリティエージェント８０１は、１つのネットワークエレメント内のモビリティエージェントの多数のインスタンスのうちの１つであってもよい。再び図１を参照すると、外部エージェント１２０および１３０ならびにホームエージェント１４０および１５０の各々を、モビリティエージェント８０１によって代表することができる。モビリティエージェント８０１は、パケット処理モジュール８１０、セキュリティモジュール８２０、モビリティエージェント−モビリティエージェント・ケイパビリティネゴシエーションモジュール８３０、モビリティエージェント−モビリティエージェント・ケイパビリティモジュール８４０、モバイルＩＰデータ構造８５０（ローカルモビリティエージェントモバイルＩＰ構造８５２およびリモートモビリティエージェントモバイルＩＰ構造８５４を含む）、リモートモビリティエージェント設定構造８６０（リモートモビリティエージェントサポートケイパビリティ８６２およびリモートモビリティエージェントタイプ８６４を含む）、および固定リモートモビリティエージェント構造８７０を含んでいる。
【００３６】
パケット処理モジュール８１０は、モビリティエージェント８０１が受信および送信するパケットの処理を担当する。セキュリティモジュール８２０は、メッセージおよびモバイルノードの認証（例えば、ＡＡＡの使用による）の際に使用される。モビリティエージェント−モビリティエージェント・ケイパビリティモジュール８４０は、モビリティエージェント８０１がサポートするリカバリのケイパビリティのための機能を提供する。例えば、モビリティエージェント−モビリティエージェント・ケイパビリティモジュール８４０は、ケイパビリティのうちの特定のケイパビリティのための新たなメッセージタイプを含んでいる。すでに述べたように、ケイパビリティは、アプリケーションフィーチャの機能をもたらす１つ以上の動作の特定の組を表わす。例えば、ケイパビリティは、高アベイラビリティを使用することなくモバイルＩＰセッションをリカバリするケイパビリティ（本明細書においてさらに詳しく後述される）を含むことができる。典型的な高アベイラビリティの仕組みは、モビリティエージェント（例えば、プライマリモビリティエージェント）が故障時に速やかにスタンバイモビリティエージェントへと切り換わることができることを必要とする。スタンバイモビリティエージェントは、冗長ストレージ、冗長処理モジュール、冗長制御カードおよび／またはラインカード、切り換えサポート、などを必要とする。スタンバイモビリティエージェントは、プライマリモビリティエージェントから離れて位置しても、プライマリモビリティエージェントと同じネットワークエレメントに位置してもよい。このように、高アベイラビリティが高価であり、モバイルＩＰネットワーク内の特定のモビリティエージェントが、必ずしも高アベイラビリティをサポートしないことを、理解すべきである。
【００３７】
モビリティエージェント−モビリティエージェント・ケイパビリティネゴシエーションモジュール８３０は、（例えば、ケイパビリティ要求／ケイパビリティ応答メッセージによって）モビリティエージェント間でケイパビリティをネゴシエートする。モビリティエージェント−モビリティエージェント・ケイパビリティネゴシエーションモジュール８３０は、新しい種類のネゴシエーションメッセージのサポートを含んでいる。例えば、すでに説明したネゴシエーション拡張メッセージタイプが、モビリティエージェント−モビリティエージェント・ケイパビリティネゴシエーションモジュール８３０によってサポートされる。リモートモビリティエージェント設定構造８６０は、モビリティエージェント８０１に連結されたリモートモビリティエージェント（例えば、バックアップモビリティエージェントおよび／またはピアのモビリティエージェント）についての設定情報を保存する。モビリティエージェント−モビリティエージェント・ケイパビリティネゴシエーションモジュール８３０に連結されたリモートモビリティエージェントサポートケイパビリティ８６２は、リモートモビリティエージェントがサポートするケイパビリティを特定する構造である。リモートモビリティエージェントタイプ８６４は、リモートモビリティエージェントの種類（例えば、バックアップおよび／またはピア）を特定するデータ構造である。本発明の一実施形態によれば、リモートモビリティエージェントサポートケイパビリティ８６２およびリモートモビリティエージェントタイプ８６４が、同じ構造である。リモートモビリティエージェントの種類およびサポートするケイパビリティが、モビリティエージェント８０１が当該モビリティエージェントへと送信し、または当該モビリティエージェントから受信するリカバリメッセージに含まれるアクションを決定できる。
【００３８】
モバイルＩＰデータ構造８５０は、モビリティエージェント８０１のモバイルＩＰ情報をローカルモビリティエージェントモバイルＩＰ構造８５２に保存し、リモートモビリティエージェントからのモバイルＩＰ情報をリモートモビリティエージェントモバイルＩＰ構造８５４に保存する。リモートモビリティエージェントモバイルＩＰ構造８５４は、種々のリモートモビリティエージェントからのモバイルＩＰ情報および／またはリモートモビリティエージェントに関連付けられたモバイルノードに関する他のさらなる情報（例えば、そのモバイルノードのＱｏＳ情報、そのモバイルノードのトラフィックフィルタ、そのモバイルノードのアクセス制御リスト、など）を保存することができる。モビリティエージェント８０１が外部エージェントである場合には、ローカルモビリティエージェントモバイルＩＰ構造８５２が、ビジター構造であってもよい。モビリティエージェント８０１がホームエージェントである場合には、ローカルモビリティエージェントモバイルＩＰ構造８５２は、バインディング構造であってもよい。本発明の一実施形態によれば、ローカルモビリティエージェントモバイルＩＰ構造８５２およびリモートモビリティエージェントモバイルＩＰ構造８５４が、同じ構造である。
【００３９】
図２において、モバイルノード１１０が、外部エージェント１２０に組み合わせられ、外部エージェント１２０が、ホームエージェント１４０に組み合わせられている。したがって、モバイルノード１１０は、ホームエージェント１４０にアンカーされ、外部エージェント１２０の外部ネットワークの範囲内にある。外部エージェント１２０およびホームエージェント１４０が、モビリティエージェントピアである。動作２１０において、ホームエージェント１４０および外部エージェント１２０が、ケイパビリティをネゴシエートする。例えば、図８を参照し、外部エージェント１２０およびホームエージェント１４０のモビリティエージェント−モビリティエージェント・ケイパビリティネゴシエーションモジュール８３０が、ケイパビリティをネゴシエートするために使用される。外部エージェント１２０およびホームエージェント１４０の各々がモバイルＩＰセッションリカバリケイパビリティをサポートしている場合、各々のモビリティエージェントが、本発明の一実施形態によるモビリティエージェント−モビリティエージェント・ケイパビリティモジュール８４０の１つとして、リカバリケイパビリティモジュールを含んでいる。さらに、外部エージェント１２０およびホームエージェント１４０のリモートモビリティエージェントサポートケイパビリティ８６２が、それぞれホームエージェント１４０および外部エージェント１２０がモバイルＩＰのリカバリのケイパビリティをサポートしているか否かを示す情報を保存している。さらに、外部エージェント１２０およびホームエージェント１４０のリモートモビリティエージェントタイプ構造８６４が、それぞれホームエージェント１４０および外部エージェント１２０について、モビリティエージェントの種類に関する情報を保存している。例えば、外部エージェント１２０のリモートモビリティエージェントタイプ構造８６４が、ホームエージェント１４０がモビリティエージェントピアである旨を示している。
【００４０】
本発明の一実施形態によれば、モビリティエージェントがモバイルＩＰセッションのリカバーケイパビリティをサポートしている場合に、そのモビリティエージェントは、モバイルＩＰ情報および／またはリモートモビリティエージェントに関連付けられたさらなるモバイルノード情報を、リモートモビリティエージェントモバイルＩＰ構造８５４に保存することができる。さらに、モビリティエージェントがモバイルＩＰセッションのリカバーケイパビリティをサポートしている場合、そのモビリティエージェントは、ローカルモバイルＩＰ情報および／またはさらなるローカルモバイルノード情報を送信することができる。
【００４１】
本発明の一実施形態によれば、モバイルＩＰセッションのリカバーケイパビリティが、ＲＦＣ  ３３４４に定められるとおりの通常の登録要求および登録応答のメッセージに便乗することによってネゴシエートされる。換言すると、モバイルＩＰセッションのリカバーケイパビリティが、通常の登録要求／応答メッセージの拡張フィールドに含まれる。例えば、最初の登録要求において、外部エージェント１２０が、要求者たるモバイルノードを代理して、通常の登録要求をホームエージェント１４０へと送り、この登録要求にモバイルＩＰセッションのリカバーケイパビリティを便乗させる。同様に、ホームエージェント１４０は、登録応答を送信するときに、モバイルＩＰのリカバーケイパビリティを登録応答メッセージに便乗させることができる。本発明の他の実施形態によれば、モバイルＩＰセッションのリカバーケイパビリティが、すでに述べたようにリカバリメッセージによってネゴシエートされる。
【００４２】
再び図２を参照すると、モバイルＩＰセッションのリカバーケイパビリティをネゴシエートした後で、いくらか後に動作２１２において、外部エージェント１２０は、モバイルノード１１０から通常の登録要求を受信する。通常どおりの登録要求の処理（例えば、パケット処理モジュール８１０がセキュリティモジュール８２０を使用してモバイルノードを認証し、ローカルモビリティエージェントモバイルＩＰ構造８５２にモバイルノードについてのレコードを生成する）に加えて、外部エージェント１２０は、動作２１４において、登録要求をホームエージェント１４０へと転送し、外部エージェント特有情報のフォーマットにてリカバリデータを便乗させる。外部エージェント特有情報は、不透明な情報である（すなわち、外部エージェント特有情報は、その特定の外部エージェントの特定の実装においてのみ有用である）。外部エージェント特有情報は、１つ以上のモバイルＩＰセッションの回復に必要なすべての情報を含んでいる。換言すると、外部エージェント１２０が自身のローカルモビリティエージェントモバイルＩＰ構造内の情報を不注意または不意に失ってしまった場合に、外部エージェント特有情報が、この構造内のレコードを再建するための情報を含んでいる。外部エージェント特有情報は、モバイルノードに関連付けられたアクセスインターフェイス、モバイルノードの識別子（例えば、ＭＡＣアドレス、ＮＡＩ、ＩＰアドレス）、第２層情報、第３層情報、セッションユーザ名、時刻スタンプ、実装特有情報、セキュリティ情報（例えば、ＡＡＡ）、などを含むことができる。さらに、外部エージェント特有情報は、モバイルＩＰサービスの提供先のモバイルノードに関するさらなる情報（例えば、そのモバイルノードのＱｏＳ情報、そのモバイルノードのトラフィックフィルタ、そのモバイルノードのアクセス制御リスト、など）を含むことができる。本発明の一実施形態によれば、外部エージェント特有情報を、外部エージェント１２０上のペンディングテーブルから（例えば、外部エージェント１２０のローカルモビリティエージェントモバイルＩＰ構造８５２から）得ることができる。本発明の一実施形態によれば、外部エージェント特有情報が、ホームエージェント１４０が外部エージェント特有情報を読解することができないような方法で暗号化される。
【００４３】
このように、本発明の一実施形態によれば、モバイルＩＰセッションのリカバーケイパビリティがホームエージェントおよびピアの外部エージェントにおいてサポートされている（例えば、ピアの外部エージェントのリモートモビリティエージェントサポートケイパビリティ８６２によって示されている）場合に、当該ホームエージェントにアンカーされたモバイルノードが当該外部エージェントからモバイルＩＰサービスを要求（例えば、モバイルＩＰ登録要求メッセージによって）するときに、外部エージェントが、当該モバイルノードに関する外部エージェント特有情報の当該ホームエージェントへの送信を動的かつ自動的に生じさせる。当該ホームエージェントにアンカーされた別のモバイルノードからの後のモバイルＩＰ登録要求も、それらのモバイルノードに関する外部エージェント特有情報のホームエージェント１４０への送信を生じさせる。ホームエージェントが、外部エージェントとピアである複数のホームエージェントのうちの１つであってもよいことも、理解すべきである。モバイルＩＰセッションのリカバーケイパビリティをサポートする残りのホームエージェントの各々についても、モバイルＩＰ登録要求にて同様のプロセスが実行される。この方法で、外部エージェント１２０が、リカバリ情報を、外部エージェント特有情報の形態で、現時点の外部エージェントサービスの提供先であるピアのホームエージェント（ピアのホームエージェントがモバイルＩＰセッションのリカバーケイパビリティをサポートしているならば）の各々に保存させることができる。
【００４４】
リカバリ情報の動的な配布が、図９に示されている。図９を参照すると、ネットワークエレメント９１０が、外部エージェント９２０およびホームエージェント９３０を含んでいる。外部エージェント９２０は、通信リンク９４４Ａ〜９４４Ｄによって示されるとおり、ホームエージェント９４０Ａ〜９４０Ｄとピアである。通信リンク９４４Ｄは、ホームエージェント９４０Ｄが外部エージェント９２０のピアであるが、外部エージェント９２０が現時点においてホームエージェント９４０Ｄにアンカーされたいかなるモバイルノードにもモバイルサービスを提供していないことを示すために、破線で示されている。外部エージェント９２０は、ホームエージェント９４０Ａにアンカーされたモバイルノード（ＮＡＩ１）９１１、ホームエージェント９４０Ｂにアンカーされたモバイルノード（ＮＡＩ２）９１２、およびホームエージェント９４０Ｃにアンカーされたモバイルノード（ＮＡＩ３）にモバイルＩＰサービスを提供している。外部エージェント９２０は、モバイルノード９１１〜９１３に関する外部エージェント情報と、ホームエージェント９４０Ａからのモバイルノード（ＮＡＩ１）９１１に関するホームエージェント特有情報とを含むモバイルＩＰデータ構造９２２を含んでいる。
【００４５】
ホームエージェント９４０Ａおよび９４０Ｂならびに外部エージェント９２０の各々は、モバイルＩＰセッションのリカバーケイパビリティをサポートしている（例えば、ホームエージェント９４０Ａおよび９４０Ｂが、上述のように外部エージェント９２０とモバイルＩＰセッションのリカバーケイパビリティをネゴシエートする）。本発明の一実施形態によれば、たとえモビリティエージェントがモバイルＩＰセッションのリカバーケイパビリティをサポートしていても、そのモビリティエージェントが、そのセッションについて当該ケイパビリティを利用しないことを選択してもよい。例えば、図９において、ホームエージェント９４０Ｂは、外部エージェント９２０から受信したモビリティエージェント特有情報を保存するが、ホームエージェント９４０Ｂに関するいかなるセッション情報も送信しない。モビリティエージェントは、自身のピアへのモビリティエージェント特有情報の送信を望まなくてもよく、または送信する必要がないかもしれないが（例えば、モビリティエージェントは、高アベイラビリティのリカバリ方法を採用できる。それでもなお、リモートモビリティエージェント特有情報を保存することを選択することができる。
【００４６】
本発明の一実施形態によれば、モバイルノードが外部エージェントから（例えば、モバイルＩＰ登録要求メッセージによって）モバイルＩＰサービスを要求するとき、外部エージェントは、そのモバイルノードに対応する外部エージェント特有情報を登録要求に付加し、これを当該モバイルノードのアンカー点として働くホームエージェントへと転送する。このようにして、モバイルノード（ＮＡＩ１）９１１が外部エージェント９２０からモバイルＩＰサービスを要求するとき、外部エージェント９２０が、モバイルノード（ＮＡＩ１）９１１に対応する外部エージェント特有情報を登録要求に付加し、これをモバイルノード（ＮＡＩ１）９１１のアンカー点として働くホームエージェント９４０Ａへと転送する。同様に、モバイルノード（ＮＡＩ１）９１２が外部エージェント９２０からモバイルＩＰサービスを要求するときは、外部エージェント９２０が、モバイルノード（ＮＡＩ１）９１２に対応する外部エージェント特有情報をホームエージェント９４０Ｂへと送信する。送信される各々の外部エージェント特有情報は、外部エージェント９２０がセッションの関する情報を失ってしまったときに、外部エージェント９２０がそれぞれのモバイルノードに関するセッションを再建できるために必要なデータを含んでいる。
【００４７】
ホームエージェント９４０Ａおよび９４０Ｂの各々は、それぞれ受信した外部エージェント特有情報をモバイルＩＰデータ構造９４２ＡおよびモバイルＩＰデータ構造９４２Ｂに保存する。モバイルＩＰデータ構造のレコード９４５Ａおよび９４５Ｂは、それぞれホームエージェントデータおよび外部エージェントデータの形態のホームエージェント特有情報を含んでいる。ホームエージェントデータおよび外部エージェントデータが、特定のモバイルノード（モバイルノードのＮＡＩによって典型的に示されている）に関連付けられている。ホームエージェントデータおよび外部エージェントデータが、同じレコード（例えば、レコード９４５Ａおよび９４５Ｂ）として関連付けられるものとして示されているが、ホームエージェントデータおよび外部エージェントデータを、それぞれのモバイルノードへの関連付けを維持しながら別々に保存してもよい。
【００４８】
ホームエージェント９４０Ｃは、モバイルＩＰセッションのリカバーケイパビリティをサポートしていない。したがって、モバイルＩＰデータ構造９４２Ｃは、モバイルノード（ＮＡＩ３）９１３に関する外部エージェント特有情報を含んでいない。したがって、レコード９４５Ｃは、外部エージェントデータを含んでいない。
【００４９】
再び図２を参照すると、ホームエージェント１４０は、動作２１６において、通常の登録要求の処理（例えば、パケット処理モジュール８１０がセキュリティモジュール８２０を使用してモバイルノードを認証し、ローカルモビリティエージェントモバイルＩＰ構造８５２にモバイルノード１１０についてのレコードを生成する）に加えて、外部エージェント特有情報を自身のモバイルＩＰデータ構造８５０に保存する。本発明の一実施形態によれば、外部エージェント特有情報が、リモートモビリティエージェントモバイルＩＰ構造８５４に保存され、モバイルノード１１０についてのレコードに関連付けられる。本発明の別の実施形態によれば、外部エージェント特有情報が、ローカルモビリティエージェントモバイルＩＰ構造８５２にレコードとともに保存される。このようにして、モバイルＩＰデータ構造８５０が、ローカルモビリティエージェントＭＩＰ情報（例えば、モバイルノード１１０についてのホームエージェントモビリティバインディング）および受信したモバイルノード１１０に関する外部エージェント特有情報を保存する。本発明の別の実施形態によれば、外部エージェント特有情報が、別の構造に保存され、モバイルノード１００についてのレコードに関連付けられる。
【００５０】
ホームエージェント１４０は、動作２１８において、外部エージェント１２０へと通常の登録応答メッセージを送信し、ホームエージェント１４０の特有情報を便乗させる。ホームエージェント１４０の特有情報は、モバイルノード１１０に関連付けられている（例えば、ホームエージェント１４０の特有情報は、ローカルモビリティエージェントモバイルＩＰ構造８５２内のモバイルノード１１０についてのレコードから導出される）。すでに述べた外部エージェント特有情報と同様に、ホームエージェント１４０の特有情報は、不透明な情報であり（すなわち、ホームエージェント１４０の特有情報は、ホームエージェント１４０の特定の実装においてのみ有用である）、モバイルＩＰ構造８５２内のモバイルノード１１０に関するセッションを再建するために必要な情報を含んでいる。ホームエージェント１４０の特有情報は、モバイルノード１１０に関するアクセス回路、モバイルノード１１０の識別子（例えば、ＭＡＣアドレス、ＮＡＩ、ＩＰアドレス）、第２層情報、第３層情報、セッションユーザ名、時刻スタンプ、実装特有情報、セキュリティ情報（例えば、ＡＡＡ）、などを含むことができる。さらに、ホームエージェント１４０の特有情報は、モバイルノード１１０に関するさらなる情報（例えば、ＱｏＳ情報、トラフィックフィルタ、アクセス制御リスト、など）を含むことができる。本発明の一実施形態によれば、ホームエージェント１４０の特有情報を、外部エージェント１２０がホームエージェント１４０の特有情報を解読できないような方法で暗号化することができる。
【００５１】
図９を参照すると、ホームエージェント９４０Ａが、モバイルノード（ＮＡＩ１）９１１に関するホームエージェント９４０Ａの特有情報を外部エージェント９２０へと送信しており、外部エージェント９２０が、この情報をモバイルＩＰデータ構造９２２に保存している。
【００５２】
外部エージェント１２０は、動作２２０において、通常どおりの登録応答の処理に加えて、ホームエージェント１４０の特有情報を自身のモバイルＩＰデータ構造８５０に保存する。本発明の一実施形態によれば、ホームエージェント１４０の特有情報が、リモートモビリティエージェントモバイルＩＰ構造８５４に保存され、モバイルノード１１０についてのレコードに関連付けられる。本発明の別の実施形態によれば、外部エージェント特有情報が、ローカルモビリティエージェントモバイルＩＰ構造８５２にレコードとともに保存される。このようにして、モバイルＩＰデータ構造８５０が、ローカルモビリティエージェントＭＩＰ情報（例えば、モバイルノード１１０のビジター情報）および受信したモバイルノード１１０に関するホームエージェント１４０の特有情報を保存する。本発明の別の実施形態によれば、ホームエージェント１４０の特有情報が、別の構造に保存され、モバイルノード１１０についてのレコードに関連付けられる。
【００５３】
外部エージェント１２０は、動作２２２において登録応答を通常どおりにモバイルノード１１０へと送信し、モバイルノードの登録プロセスが完了する。本発明の一実施形態によれば、モビリティエージェント特有拡張が、登録応答メッセージをモバイルノード１１０へと送信する前に取り除かれる。
【００５４】
その後に、動作２２４において、外部エージェント１２０が、自身のローカルモビリティエージェントモバイルＩＰデータ構造８５２に保存された情報の喪失を生じさせる不具合および／またはエラー（例えば、再起動、管理上の誤り（例えば、管理者によるモバイルＩＰデータ構造のクリア）、システムエラー、などに起因する）を抱える。本発明の一実施形態によれば、外部エージェント１２０が高アベイラビリティを採用しておらず、したがって不具合またはエラーの際に、自身のモバイルＩＰデータ構造８５２に保存された情報を失い、高アベイラビリティによる情報の回復は不可能である。しかしながら、ホームエージェント１４０が、外部エージェント特有情報を保存しており、この情報を、本明細書においてさらに詳しく後述されるように、モバイルＩＰデータ構造の再建に使用することができる。
【００５５】
後の時点で、外部エージェント１２０およびホームエージェント１４０は、動作２２６において、モバイルＩＰセッションのリカバーケイパビリティをネゴシエートする。図２には示されていないが、外部エージェント１２０がモバイルＩＰセッションのリカバーケイパビリティをネゴシエートする前に、外部エージェント１２０は、ホームエージェント１４０がモビリティエージェントピアである旨を確認する。本発明の一実施形態によれば、固定的なピア（例えば、外部エージェント１２０のピアとして手動で設定、および／または固定的に設定されたモビリティエージェント）のリストが、外部エージェント１２０上の固定のリモートモビリティエージェント構造に含まれている。例えば、図８を参照すると、固定のリモートモビリティエージェント構造８７０が、固定のピアの情報を保存している。本発明の一実施形態によれば、固定のリモートモビリティエージェント構造８７０は、ローカルモビリティエージェントモバイルＩＰデータ構造８５２内の情報の喪失を引き起こした不具合および／またはエラーの影響を受けない。したがって、外部エージェント１２０は、固定のリモートモビリティエージェント構造８７０を使用して、ホームエージェント１４０がモビリティエージェントピアであることを確認することができる。
【００５６】
ホームエージェント１４０が、固定のリモートモビリティエージェント構造８７０に示されていない場合、ホームエージェント１４０が、動的なモビリティエージェントピアであり得る。動的なモビリティエージェントピアは、手動または固定的に設定されたピアではなく、モバイルノードの要求に起因してピアにされるピアである。例えば、モバイルノード１１０（固定のリモートモビリティエージェント構造８７０には含まれていないホームエージェント１４０にアンカーされている）が、外部エージェント１２０の外部ネットワークへと移動して、モバイルＩＰサービスを要求する可能性がある。モバイルノードへと成功裏にモバイルＩＰサービスを提供したとき、外部エージェント１２０およびホームエージェント１４０はピアである。典型的には、不具合および／またはエラーに起因して外部エージェント１２０が再起動する場合、外部エージェント１２０は、動的なモビリティエージェントピアについての認識を失う。本発明の一実施形態によれば、動的なモビリティエージェントピアの確認を、本明細書においてさらに詳しく後述されるＨｅｌｌｏプロトコルの使用によって実行することができる。本発明の一実施形態によれば、動的なモビリティエージェントピアのリストを、リモートのデータベース（例えば、ＡＡＡ（認証、認可、課金）サーバ、ポリシーサーバ、など）から得ることができる。
【００５７】
モバイルＩＰセッションのリカバーケイパビリティは、外部エージェント１２０が不具合および／またはエラーの後で異なるケイパビリティを有する可能性があるため、不具合および／またはエラーの後でネゴシエートされる。例えば、不具合および／またはエラーの前の外部エージェント１２０が、モバイルＩＰセッションのリカバーケイパビリティを含むソフトウェアのバージョン（例えば、２．０）を動作させることができるが、不具合および／またはエラーの後で、外部エージェントが、モバイルＩＰセッションのリカバーケイパビリティを含まない古いバージョン（例えば、１．０）のソフトウェアで再起動する必要がある。ケイパビリティが存在しない場合、リカバリは、従来技術と同様に取り扱われる。すなわち、本発明の一実施形態においては、モビリティエージェントが、不具合および／またはエラーの後でも依然としてそれまでのケイパビリティが存在しているとは仮定しない。本発明の別の実施形態によれば、不具合および／またはエラーの後で、モバイルＩＰセッションのリカバーケイパビリティのネゴシエートを、不具合および／またはエラーが外部エージェント１２０の再起動を引き起こしていない場合には行わない。
【００５８】
外部エージェント１２０およびホームエージェント１４０がモバイルＩＰセッションのリカバーケイパビリティをサポートしていると仮定し、外部エージェント１２０は、動作２２８において、モバイルＩＰセッションのリカバー要求メッセージをホームエージェント１４０へと送信する。モバイルＩＰセッションのリカバー要求メッセージは、外部エージェント１２０が自身のモバイルＩＰデータ構造の再建を可能にする情報を、ホームエージェント１４０に要求する（すなわち、保存済みの外部エージェント１２０の特有情報を要求する）。モバイルＩＰセッションのリカバー要求メッセージは、すでに述べた１つ以上のモバイルＩＰセッションリカバー要求拡張（例えば、バルクモバイルＩＰセッション要求拡張、リカバリすべき各セッションについてのシングルモバイルＩＰセッション要求拡張）を有するリカバリメッセージのような形態をとることができる。外部エージェント１２０が不具合および／またはエラーを抱えており、自身のモバイルＩＰセッション情報を失っているため、外部エージェント１２０は、おそらくはバルクモバイルＩＰセッション要求拡張（そのようなケイパビリティがホームエージェント１４０においてサポートされている場合）を送信するであろう。
【００５９】
図２には示されていないが、すでに述べたように、外部エージェント１２０は、複数のホームエージェントのピアであってもよい。外部エージェント１２０が、自身のモバイルＩＰセッション情報のすべてまたは一部を失い、どのホームエージェントについての情報を失ったか判断できない場合、外部エージェント１２０は、モバイルＩＰセッションのリカバーケイパビリティをサポートするピアのホームエージェントの各々へとモバイルＩＰセッションのリカバリ要求メッセージを送信する。外部エージェント１２０は、モバイルＩＰセッションのリカバー要求を、固定のピア構造８７０において特定される（例えば、リモートモビリティエージェントサポートケイパビリティ８６２において特定される）モバイルＩＰセッションリカバーケイパビリティをサポートするピアへと送信でき、または他の手段によって（例えば、Ｈｅｌｌｏプロトコルによって）特定される動的なモビリティエージェントピアへと送信できる。例えば、図９を参照すると、外部エージェント９２０が、ホームエージェント９４０Ａおよびホームエージェント９４０ＢのそれぞれにモバイルＩＰセッションリカバー要求を送信する。
【００６０】
ホームエージェント１４０は、モバイルＩＰセッションリカバー要求メッセージを処理し、動作２３０において、保存済みの外部エージェント特有情報を含むモバイルＩＰセッションリカバー応答メッセージを送信する。モバイルＩＰセッションリカバー応答メッセージは、すでに述べたモバイルＩＰセッションリカバー拡張（例えば、バルクモバイルＩＰセッションリカバー拡張、シングルモバイルＩＰセッションリカバー拡張）を有するリカバリメッセージのような形態をとることができる。このようにして、ホームエージェント１４０が、外部エージェント１２０が自身のローカルモビリティエージェントモバイルＩＰ構造８５２を再建するために必要な情報を、外部エージェント１２０へと送信する。外部エージェント１２０は、動作２３２において、リカバリ応答メッセージを受け取った旨の確認をホームエージェント１４０へと送信する。この受け取りの確認は、外部エージェント１２０が保存済みの外部エージェント情報のすべてを受信したという信頼性を向上させる。例えば、ホームエージェント１４０は、受け取り確認が届かない場合に、モバイルＩＰセッションリカバー応答メッセージを再送信することができる。本発明の一実施形態によれば、モバイルＩＰセッションリカバー応答メッセージの再送信の回数が、ケイパビリティのネゴシエーションの際にネゴシエートされる。
【００６１】
図９を参照すると、外部エージェント９２０は、それぞれホームエージェント９４０Ａ、９４０Ｂのレコード９４５Ａ、９４５Ｂに保存済みの外部エージェント情報を受信することができる。ホームエージェント９４０Ａが、モバイルＩＰセッションのリカバーケイパビリティをサポートしておらず、外部エージェント９２０の特有情報を保存していないため、外部エージェント９２０が、ホームエージェント９４０Ｃから外部エージェント情報を受信することはないことに、留意すべきである。
【００６２】
再び図２を参照すると、ホームエージェント１４０から受信された情報が、動作２３４において、ローカルモビリティエージェントモバイルＩＰ構造８５２を再建するために外部エージェント１２０によって使用される。このようにして、高アベイラビリティを使用することなく（すでに述べたように、一部のモビリティエージェントは、高アベイラビリティを採用していない可能性があり、リソースのコストゆえに高アベイラビリティの利用を望まない可能性がある）、外部エージェント１２０が、不具合および／またはエラーによって自身のローカルモビリティエージェント構造内の情報を失った後で、ホームエージェント１４０から受信した情報（例えば、モバイルノード１１０に関する外部エージェント１２０の特有情報）によって自身のローカルモビリティエージェント構造８５２を回復することができる。図９を参照すると、ホームエージェント９４０Ａ、９４０Ｂから受信される外部エージェント９２０の特有情報を、モバイルＩＰデータ構造９２２の再建に使用することができる。モバイルノード（ＮＡＩ３）９１３に関するモバイルＩＰ情報は、モバイルＩＰセッションのリカバーケイパビリティの使用によって回復することができないことに、留意すべきである。したがって、モバイルノード（ＮＡＩ３）９１３に関する情報を、従来技術において取り扱われているとおりに回復させることができ、または図４に関して説明されるとおりに回復させることができる。
【００６３】
図２、８、および９に関して説明したようにモバイルＩＰ情報のリカバリを行うことで、高アベイラビリティによるリカバリに比べて、リソースをより効率的に使用することができる。例えば、すでに述べたように、別途のスタンバイモビリティエージェントを、高アベイラビリティを提供するためにモバイルＩＰネットワークに配置することができる。しかしながら、図２、８、および９に関して説明したようなモバイルＩＰ情報のリカバリは、別途のモビリティエージェントを必要としないだけでなく、冗長のストレージ、冗長の処理、冗長のラインカード、なども必要としない。さらに、モバイルＩＰ情報を、ただ１つのノードにではなく、複数のノードに分配することは、リソースのより効率的な使用である。加えて、リカバリ情報を複数の場所に分配することで、リカバリ情報が多様化され、いずれかの情報を回復できなくなる恐れが少なくなる。例えば、リカバリ情報のすべてが１つの場所に保存され、リカバリが失敗する場合、いかなる情報も回復されない。しかしながら、リカバリ情報が複数の場所に保存され、それらの場所のいくつかでリカバリが失敗するが、他の少なくとも一部で成功する場合、少なくとも情報の一部を回復することができる。
【００６４】
さらに、モビリティエージェントは、リモートモビリティエージェントのモバイルＩＰ情報を、そのような情報がモビリティエージェントのモバイルＩＰサービスの提供先のモバイルノード（例えば、モビリティエージェントのカスタマ）に関係している場合に、より保存する傾向にある。例えば、ホームエージェント９４０Ａは、サービス提供者Ａに属することができ、ホームエージェント９４０Ｂは、サービス提供者Ｂに属することができ、外部エージェント９２０は、サービス提供者Ｃに属することができる。たとえホームエージェント９４０Ａおよび外部エージェント９２０が異なるサービス提供者に属することが可能であっても、ホームエージェント９４０Ａは、エラーの場合にカスタマ（例えば、モバイルノード９１１）についてより迅速なリカバリを可能にするために、モバイルノード（ＮＡＩ）９１１に関する外部エージェント９２０の特有情報を保存することができる（逆もまた同様）。換言すると、ホームエージェント９４０Ａおよび外部エージェント９２０が協働してモバイルノード（ＮＡＩ１）９１１にモバイルＩＰサービスを提供するときに、ホームエージェント９４０Ａおよび外部エージェント９２０は、モバイルノード（ＮＡＩ１）９１１についてリカバリを提供するためにも協働することができる。しかしながら、このケイパビリティは、ホームエージェント９４０Ａのリソース（例えば、メモリ、処理、帯域幅、など）を犠牲にするため、ホームエージェント９４０Ａは、無関係のモバイルノード（例えば、ホームエージェント９４０Ｂにアンカーされたモバイルノード（ＮＡＩ２）９１２）に関する外部エージェント９２０の特有情報については、保存を可能にしなくてもよい。換言すると、ホームエージェント９４０Ａは、モバイルノード（ＮＡＩ２）９１２に関連付けられておらず、ホームエージェント９４０Ｂと同じサービス提供者に属してはいないため、ホームエージェント９４０Ａは、他のサービス提供者のカスタマ（例えば、モバイルノード（ＮＡＩ２））についてのリカバリの提供に自身のリソースを使用することを望まない。
【００６５】
さらに、ＩＥＴＦの草案「ｄｒａｆｔ−ｉｅｔｆ−ｍｉｐ４−ｇｅｎｅｒｉｃ−ｎｏｔｉｆｉｃａｔｉｏｎ−ｍｅｓｓａｇｅ−０２．ｔｘｔ」に記載されているような通知メッセージは、モバイルセッションの最中にモビリティエージェントのピアに何らかを通知することができるが、この通知メッセージは、既存のモバイルセッションに結び付けられているため、モバイルＩＰセッションを回復させることはできない。換言すると、通知メッセージは、現時点において確立されているセッションについてのみ有用であり、セッションのリカバリに使用することはできない。このように、モバイルＩＰ情報（モバイルセッションの存在を含む）の喪失を引き起こす不具合および／またはエラーの際に、通知メッセージをモバイルＩＰセッションの回復に使用することができない。
【００６６】
図２には示されていないが、外部エージェント１２０の不具合またはエラーに起因して、外部エージェント１２０のローカルモビリティエージェントモバイルＩＰ構造８５２に保存されているホームエージェント１４０の特有情報も、おそらくは失われる。したがって、外部エージェント１２０がホームエージェント１４０についてリカバリケイパビリティを提供する（すなわち、ホームエージェント１４０の特有情報を保存する）ために、ホームエージェント１４０が、ホームエージェント１４０の特有情報を外部エージェント１２０に再送信するように求められる。同様に、図９においては、ホームエージェント９４０Ａが、ホームエージェント９４０Ａの特有情報を外部エージェント９２０へと再送信する。
【００６７】
図２において実行される動作が、外部エージェント１２０による自身のローカルモビリティエージェントモバイルＩＰ構造８５２のリカバリに関係しているが、これらの動作を、ホームエージェント１４０によるセッションのリカバリにおいても同様に実行できることを、理解すべきである。すなわち、図９において、ホームエージェント９３０が、通信リンク９５４Ａ〜９５４Ｄをそれぞれ介して外部エージェント９５０Ａ〜９５０Ｄとピアである。通信リンク９５４Ｄは、外部エージェント９５０Ｄがホームエージェント９３０のピアであるが、外部エージェント９５０Ｄが現時点においてホームエージェント９３０にアンカーされたいかなるモバイルノードにもモバイルサービスＩＰを提供していないことを示すために、破線で示されている。外部エージェント９５０Ａ〜９５０Ｃが、それぞれモバイルノード９１４〜９１６にモバイルＩＰサービスを提供している。モバイルノード９１４〜９１６の各々は、ホームエージェント９３０にアンカーされている。外部エージェント９５０Ａおよび９５０Ｂならびにホームエージェント９３０の各々は、モバイルＩＰセッションのリカバーケイパビリティをサポートしている。外部エージェント９５０Ｃは、モバイルＩＰセッションのリカバーケイパビリティをサポートしていない。ホームエージェント９３０は、モバイルノード９１４〜９１６のそれぞれについてのレコード（モバイルノードのＮＡＩによって特定される）を含んでいるモバイルＩＰデータ構造９３２を含んでいる。モバイルノード（ＮＡＩ４）９１４について、モバイルＩＰデータ構造９３２は、ホームエージェント９３０の特有情報および外部エージェント９５０Ａの特有情報を保存している。モバイルノード（ＮＡＩ５）９１５について、モバイルＩＰデータ構造９３２は、ホームエージェント９３０の特有情報および外部エージェント９５０Ｂの特有情報を保存している。モバイルノード（ＮＡＩ６）９１６について、モバイルＩＰデータ構造９３２は、ホームエージェント９３０の特有情報を保存している。外部エージェント９５０Ａは、自身のモバイルＩＰデータ構造９５２Ａに、レコード９５５Ａによって示されるとおり、外部エージェント９５０Ａの特有情報および受信したホームエージェント９３０の特有情報を保存している。外部エージェント９５０Ｂは、自身のモバイルＩＰデータ構造９５２Ｂに、レコード９５５Ｂによって示されるとおり、外部エージェント９５０Ｂの特有情報および受信したホームエージェント９３０の特有情報を保存している。外部エージェント９５０Ｃは、自身のモバイルＩＰデータ構造９５２Ｃに、レコード９５５Ｃによって示されるとおり、外部エージェント９５０Ｃの特有情報を保存している。
【００６８】
図３は、モバイルノードがある外部エージェントから別の外部エージェントへと移動している場合について、本発明の一実施形態によるモバイルＩＰセッションのリカバリを説明するデータの流れの図である。図３において、ホームエージェント１４０が、外部エージェント１２０および外部エージェント１３０に組み合わせられている。外部エージェント１２０および外部エージェント１３０は、どちらもホームエージェント１４０のピアである（例えば、外部エージェント１２０および外部エージェント１３４の各々が、ホームエージェント１４０に属する特定のモバイルノードに気付アドレスを提供している）。動作３００において、モバイルノード１１０（ＮＡＩ＝１）が、時刻１において外部エージェント１２０に関連付けられる。動作３０２において、モバイルノード１１０（ＮＡＩ＝１）が、時刻２（ここで、時刻２＞時刻１）において外部エージェント１２０に組み合わせられる。このように、モバイルノード１１０が、外部エージェント１２０から外部エージェント１３０へと移動している。動作３０４において、ホームエージェント１４０が、自身のローカルモビリティエージェントモバイルＩＰ構造８５２の情報の喪失を引き起こす不具合および／またはエラーを抱える。さらに、ホームエージェント１４０は、不具合またはエラーを抱える前にモバイルノード１１０へのモバイルＩＰサービスの提供を停止させるように外部エージェント１２０に（例えば、登録取り消しメッセージによって）通知することができなかった。さらに、モバイルノード１１０のモバイルＩＰ情報に関する寿命が、外部エージェント１２０において未だ尽きていない。したがって、外部エージェント１２０は、モバイルノード１１０に関するモバイルＩＰ情報（例えば、モバイルノード１１０のバインディング）を保存し続けている。
【００６９】
外部エージェント１２０および外部エージェント１３０のどちらもホームエージェント１４０のピアであるため（外部エージェント１２０および１３０がピアである旨の判断は、本明細書において上述したのと同様に実行される）、ホームエージェント１４０は、動作３１０において外部エージェント１３０とケイパビリティをネゴシエートし、動作３１２において外部エージェント１２０とケイパビリティをネゴシエートする。本発明の一実施形態によれば、ホームエージェント１４０が、従来技術において公知の手段によって（例えば、高アベイラビリティによって）ローカルモバイルＩＰ構造８５２の情報を回復する。しかしながら、ホームエージェント１４０は、回復されたモバイルＩＰ構造８５２の情報が正確であるか、検証を望むであろう。したがって、ネゴシエートされるケイパビリティは、モバイルＩＰセッション検証ケイパビリティを含むことができる。しかしながら、ホームエージェント１４０が従来技術において公知のリカバリ方法（例えば、高アベイラビリティ）を採用しない場合、ネゴシエートされるケイパビリティは、モバイルＩＰセッションのリカバーケイパビリティを含む。さらに、ネゴシエートされるケイパビリティは、本明細書においてさらに詳しく後述されるモバイルＩＰセッションのクリアケイパビリティを含む。
【００７０】
ひとたびケイパビリティがネゴシエートされると、ホームエージェント１４０は、動作３１４において外部エージェント１３０へとリカバリ要求メッセージ（例えば、バルクセッションリカバリ要求、シングルセッションリカバリ要求）（このメッセージに含まれるアクションは、ホームエージェント１４０が１つ以上のセッションを検証しているのか、または１つ以上のセッションをリカバリしているのかに依存する）を送信し、動作３１６において外部エージェント１２０へとリカバリ要求メッセージ（例えば、バルクセッションリカバリ要求、シングルセッションリカバリ要求）を送信する。外部エージェント１２０が、動作３１８において、リカバリ応答メッセージ（例えば、バルクセッションリカバリ応答、シングルセッションリカバリ応答）をホームエージェント１４０へと送信する。動作３１６におけるリカバリ要求メッセージが、モバイルＩＰセッションリカバーアクションを含んでいた場合、動作３１８におけるリカバリ応答メッセージは、モバイルノード１１０に関する外部エージェント１２０の特有情報を含む。外部エージェント１２０の特有情報は、外部エージェント１２０がモバイルノード１１０にサービスを提供している旨を示しており、外部エージェント１２０がいつモバイルノード１１０へのサービスの提供を開始したかについての時刻スタンプ（例えば、Ｔ１）を含んでいる。ホームエージェント１４０は、自身のローカルモビリティエージェントモバイルＩＰ構造を、動作３１８において受信した外部エージェント１２０の特有情報によって再建することができる。
【００７１】
動作３１６におけるリカバリ要求メッセージが、モバイルＩＰセッション検証アクションを含んでいた場合、動作３１８におけるリカバリ応答メッセージは、外部エージェント１２０が要求されたモバイルノードにモバイルＩＰサービスを提供している旨を検証する情報を含む。例えば、リカバリ要求が、モバイルノード１１０についてのシングルセッションリカバリ要求である場合、外部エージェント１２０は、外部エージェント１２０がモバイルノード１１０にモバイルＩＰサービスを提供している旨を検証する情報にて応答する。リカバリ要求が、バルクセッションリカバリ要求である場合、外部エージェント１２０は、外部エージェント１２０が任意の数のモバイルノードにモバイルＩＰサービスを提供している旨を検証する情報にて応答する。換言すると、バルクセッションリカバリ要求メッセージは、外部エージェントがモバイルＩＰサービスを提供しているホームエージェントにアンカーされた各々のモバイルノードについての検証を要求する。動作３１８におけるリカバリ応答メッセージに、モバイルノードを一意に特定する情報、および外部エージェント１２０がモバイルノードへのサービス提供を開始した時刻が含まれる（例えば、ＮＡＩ、ＩＰアドレス、および時刻スタンプ）。この情報が、外部エージェント１２０に特有の不透明な情報ではないことに、留意すべきである。動作３１８におけるリカバリ応答メッセージは、外部エージェント１２０がモバイルノード１１０にモバイルＩＰサービスを提供している旨を示しており、時刻スタンプＴ１を示している。ホームエージェント１４０は、動作３２０において外部エージェント１２０へと受け取りの確認を送信する。
【００７２】
外部エージェント１２０と同様に、外部エージェント１３０も、リカバリ応答メッセージを送信する（このメッセージに含まれるアクションは、ホームエージェント１４０が１つ以上のセッションを検証しているのか、または１つ以上のセッションをリカバリしているのかに依存する）。外部エージェント１３０は、動作３２２においてホームエージェント１４０へとリカバリ応答メッセージ（例えば、バルクセッションリカバリ応答、シングルセッションリカバリ応答）を送信する。動作３１４のリカバリ要求メッセージにモバイルＩＰセッションリカバーアクションが含まれていた場合には、動作３２２におけるリカバリ応答は、モバイルノード１１０に関する外部エージェント１３０の特有情報を含む。外部エージェント１３０の特有情報は、外部エージェント１３０がモバイルノード１１０にサービスを提供している旨を示しており、外部エージェント１３０がいつモバイルノード１１０へのサービスの提供を開始したかについての時刻スタンプ（例えば、Ｔ２（Ｔ２＞Ｔ１））を含んでいる。ホームエージェント１４０は、動作３２４において外部エージェント１３０へと受け取りの確認を送信する。外部エージェント１３０が、外部エージェント１２０よりも後の時点でモバイルノード１１０へのサービスの提供を開始しているので、ホームエージェントは、モバイルノード１１０が外部エージェント１２０から外部エージェント１３０へと移動したものと推定する。このようにして、ホームエージェント１４０は、動作３２２において受信された外部エージェント１３０の特有情報に従って、自身のローカルモビリティエージェントモバイルＩＰ構造を再建することができる。例えば、ホームエージェント１４０が、動作３１８において受信された外部エージェント１２０の特有情報に従ってローカルモビリティエージェントモバイルＩＰ構造を再建済みである場合、ホームエージェント１４０は、外部エージェント１３０の特有情報によってローカルモビリティエージェントモバイルＩＰ構造を修正する。
【００７３】
動作３１４におけるリカバリ要求メッセージが、モバイルＩＰセッション検証アクションを含んでいた場合、動作３２２におけるリカバリ応答メッセージは、動作３１８のリカバリ応答メッセージに関して説明したのと同様の様相で、外部エージェント１３０が要求されたモバイルノードにモバイルＩＰサービスを提供している旨を検証する情報を含む。動作３２２におけるリカバリ応答メッセージに、要求されたモバイルノード（存在する場合）を一意に特定する情報、および外部エージェント１３０がそれらのモバイルノードへのサービス提供を開始した時刻が含まれる（例えば、各々のモバイルノードのＮＡＩ、ＩＰアドレス、および時刻スタンプ）。この情報が、外部エージェント１３０に特有の不透明な情報ではないことに、留意すべきである。動作３２２におけるリカバリ応答メッセージは、外部エージェント１３０がモバイルノード１１０にモバイルＩＰサービスを提供している旨を示しており、時刻スタンプＴ２（ここで、Ｔ２はＴ１よりも大きい）を示している。ホームエージェント１４０は、動作３２４において外部エージェント１３０へと受け取りの確認を送信する。
【００７４】
このようにして、動作３２４の時点において、ホームエージェント１４０は、２つの異なる外部エージェントから同じモバイルノード（すなわち、同じＮＡＩによって特定されるモバイルノード１１０）に関してリカバリ応答を受け取っている。すでに述べたように、動作３２２における外部エージェント１３０からのリカバリ応答が、外部エージェント１３０がモバイルノード１１０へのモバイルＩＰサービスの提供を外部エージェント１２０よりも遅い時点に開始させたことを示しているため、ホームエージェント１４０は、モバイルノード１１０が外部エージェント１２０から外部エージェント１３０へと移動したと推定する。したがって、ホームエージェント１４０は、外部エージェント１２０がもはやモバイルノード１１０についてのモバイルＩＰ情報の保存を必要としていないと推定する。したがって、ホームエージェント１４０は、モバイルＩＰセッションクリアアクションを含むリカバリメッセージを、動作３２６において外部エージェント１２０へと送信する。このクリアアクションを含むリカバリメッセージは、外部エージェント１２０に対して、保存されているモバイルノード１１０に関するモバイルＩＰ情報を削除するように指示する。本発明の一実施形態によれば、リカバリメッセージは、外部エージェント１２０がリカバリメッセージがホームエージェント１４０からのものであって、詐称者からのものではないことを確信できるようにする認証情報を含んでいる。次いで、外部エージェント１２０は、モバイルノード１１０に関するモバイルＩＰ情報をクリアすることができる。例えば、外部エージェント１２０は、自身のローカルモビリティエージェントモバイルＩＰ構造８５２内のモバイルノード１１０に対応するエントリをクリアすることができる。さらに、外部エージェント１２０は、リモートモビリティエージェントモバイルＩＰ構造８５４に保存されている可能性のあるモバイルノード１１０に対応する情報をクリアすることができる。このようにして、外部エージェント１２０は、モバイルノードについてのエントリの寿命が尽きるまで待たなくても、ホームエージェント１４０がそのエントリを削除するように外部エージェントに指示できるため、そのエントリを削除することができる。
【００７５】
図３における動作の順序が例示であることを、理解すべきである。例えば、ホームエージェント１４０が、外部エージェント１２０からリカバリ応答３１８を受信する前に、外部エージェント１３０からリカバリ応答３２２を受信してもよい。しかしながら、ホームエージェント１４０が、依然として自身のローカルモビリティエージェントモバイルＩＰ構造を受信した外部エージェント１３０の特有情報に従って再建することを、理解すべきである。例えば、ホームエージェント１４０は、自身のローカルモビリティエージェントモバイルＩＰ構造を、動作３２２において受信される外部エージェント１３０の特有情報にて再建することができ、動作３１８において外部エージェント１２０からリカバリ応答を受け取ったときに、外部エージェント１２０が外部エージェント１３０よりも後の時点でモバイルノード１１０へのモバイルＩＰサービスの提供を開始したと判断する。このように、ホームエージェント１４０は、１つのモバイルノードに関して複数の外部エージェントから外部エージェントの特有情報を受信する場合に、外部エージェント特有情報の受信の時期にかかわらず、該当のモバイルノードへのモバイルＩＰサービスの提供を最も遅い時点に開始した外部エージェントに従って、自身のローカルモビリティエージェントモバイルＩＰ構造を再建する。
【００７６】
図４は、バックアップエージェントおよび／またはリカバリパートナを有するモバイルＩＰネットワークにおける本発明の一実施形態によるモバイルＩＰセッションリカバリを説明するデータの流れの図である。図４において、ホームエージェント１４０が、ホームエージェント１５０および外部エージェント１２０に組み合わせられている。外部エージェント１２０は、ホームエージェント１４０および外部エージェント１３０に組み合わせられている。図２における動作２１０と同様に、ホームエージェント１５０およびホームエージェント１４０は、動作４０２においてケイパビリティをネゴシエートし、ホームエージェント１４０および外部エージェント１２０が、動作４０４においてケイパビリティをネゴシエートし、外部エージェント１２０および外部エージェント１３０が、動作４０６においてケイパビリティをネゴシエートする。本発明の一実施形態によれば、ホームエージェント１５０が、ホームエージェント１４０のバックアップである。例えば、ホームエージェント１５０が、ホームエージェント１４０に含まれる情報（モバイルＩＰ情報を含む）の冗長コピーを保存する。同様に、本発明の一実施形態によれば、外部エージェント１３０が、外部エージェント１２０のバックアップである。例えば、外部エージェント１３０が、外部エージェント１２０に含まれる情報の冗長コピーを保存する。
【００７７】
動作４０８において、外部エージェント１２０が、（例えば、特定のモバイルノードについての）典型的な登録要求メッセージをホームエージェントへと送信する。ホームエージェント１４０は、動作４１０において、登録要求の通常の処理に加えて、ホームエージェント１５０とホームエージェント１４０との間の冗長性を維持するためにホームエージェント１５０が当該モバイルノードについてのエントリをホームエージェント１５０のモバイルＩＰ構造（例えば、バインディング構造）に追加すべきである旨を示すリカバリメッセージを、ホームエージェント１５０へと送信する。動作４１２において、ホームエージェント１５０は、リカバリメッセージを受け取った旨を知らせる。
【００７８】
ひとたびホームエージェント１４０がホームエージェント１５０から受け取り確認を受信すると、ホームエージェント１４０は、ホームエージェント１５０が冗長状態にあると推定する。動作４１４において、ホームエージェント１４０は、通常の登録応答メッセージを外部エージェント１２０へと送信する。外部エージェント１２０は、登録応答メッセージの通常の処理（例えば、当該モバイルノードについてのエントリを自身のモバイルＩＰ構造に追加する）に加えて、外部エージェント１２０と外部エージェント１３０との間の冗長性を維持するために外部エージェント１３０が当該モバイルノードについてのエントリを外部エージェント１３０のモバイルＩＰ構造に追加すべきである旨を示すリカバリメッセージを、外部エージェント１３０へと送信する。動作４１８において、外部エージェント１３０は、リカバリメッセージを受け取った旨を知らせる。
【００７９】
その後に、動作４２０において、外部エージェント１２０が、特定のモバイルノードについて０に等しい寿命の登録要求（例えば、登録取り消しメッセージ）をホームエージェント１４０へと送信する。ホームエージェント１４０は、動作４２２において、０に等しい寿命の登録要求の処理（例えば、自身のモバイルＩＰデータ構造内の当該モバイルノードについてのエントリを削除する）に加えて、クリアアクションを含むリカバリメッセージをホームエージェント１５０へと送信し、ホームエージェント１５０とホームエージェント１４０との間の冗長性を維持するためにホームエージェント１５０に対して当該モバイルノードについてのエントリをホームエージェント１５０のモバイルＩＰデータ構造から削除するように指示する。動作４２４において、ホームエージェント１５０は、リカバリメッセージを受け取った旨をホームエージェント１４０に送信する。
【００８０】
ひとたびホームエージェント１４０がホームエージェント１５０から受け取り確認を受信すると、ホームエージェント１４０は、ホームエージェント１５０が冗長状態にあると推定する。動作４２６において、ホームエージェント１４０は、典型的な登録応答メッセージを外部エージェント１２０へと送信する。外部エージェント１２０は、動作４２８において、登録応答メッセージの処理（例えば、当該モバイルノードについてのエントリを自身のモバイルＩＰ構造から削除する）に加えて、外部エージェント１２０と外部エージェント１３０との間の冗長性を維持するために外部エージェント１３０が当該モバイルノードについてのエントリを外部エージェント１３０のモバイルＩＰ構造から削除すべきである旨を示すクリアアクションを含むリカバリメッセージを、外部エージェント１３０へと送信する。動作４３０において、外部エージェント１３０は、リカバリメッセージを受け取った旨を知らせる。
【００８１】
ホームエージェント１４０または外部エージェント１２０が自身のモバイルＩＰ構造内の情報を失った場合、ホームエージェント１４０または外部エージェント１２０は、その情報を、それぞれホームエージェント１５０または外部エージェント１３０から図２に関して上述した方法と同様の方法で回復することができる。
【００８２】
図９を参照すると、ネットワークエレメント９６０が、ネットワークエレメント９１０に組み合わせられ、本発明の一実施形態に従ってネットワークエレメント９１０のバックアップとして機能する。ネットワークエレメント９６０は、ネットワークエレメント９１０が送信する情報を保存する構造９６２を備えている。構造９６２は、ホームエージェント９３０および外部エージェント９２０からのデータを含んでいる。構造９６２は、少なくとも外部エージェント９２０およびホームエージェント９３０のそれぞれに特有のデータを含んでいる。さらに、構造９６２は、外部エージェント９２０および／またはホームエージェント９３０へと送信されたリモートモビリティエージェント情報を保存することができる。例えば、構造９６２は、外部エージェント９２０によって保存されたホームエージェント９４０Ａの特有情報を。ホームエージェント９３０および／または外部エージェント９２０が自身のモバイルＩＰ構造内の情報を失った場合、ホームエージェント９３０および／または外部エージェント９２０は、その情報を、図２に関して上述した方法と同様の方法でネットワークエレメント９６０から回復することができる。
【００８３】
再び図４を参照すると、本発明のいくつかの実施形態においては、ホームエージェント１５０が、ホームエージェント１４０のリカバリパートナである。同様に、外部エージェント１３０が、外部エージェント１２０のリカバリパートナである。例えば、動作４０８において、外部エージェント１２０が、ホームエージェント１４０へと登録要求を転送し、リカバリデータを図２の動作２１４において説明したのと同様に外部エージェント特有情報のフォーマットで便乗させることができる。ホームエージェント１４０は、外部エージェント特有情報をローカルに保存することを望まない（例えば、ホームエージェント１４０が、利用可能な内部リソースを有していない）が、それでも外部エージェント１２０へのリカバリサービスの提供を望む場合には、自身のリカバリパートナ（ホームエージェント１５０）に外部エージェント特有情報を保存するように要求することができる。したがって、ホームエージェント１４０が、動作４１０において、外部エージェント特有情報の保存をホームエージェント１５０に要求するリカバリメッセージを、ホームエージェント１５０へと送信することができる。すでに説明したのと同様に、ホームエージェント１５０が、リカバリメッセージの受け取りを知らせる。
【００８４】
動作４１４において、ホームエージェント１４０は、外部エージェント１２０へと通常の登録応答メッセージを送信し、リカバリデータを図２の動作２１８において説明したのと同様にホームエージェント特有情報のフォーマットで便乗させる。ホームエージェントのリカバリパートナに関して上述したのと同様に、外部エージェント１２０は、自身のリカバリパートナ（外部エージェント１３０）にホームエージェント特有情報を保存するように要求することができる。したがって、外部エージェント１２０が、動作４１６において、ホームエージェント特有情報の保存を外部エージェント１４０に要求するリカバリメッセージを、外部エージェント１３０へと送信することができる。動作４１８において、外部エージェント１３０が、リカバリメッセージの受け取りを知らせる。
【００８５】
その後に、動作４２０において、外部エージェント１２０が、特定のモバイルノードについて０に等しい寿命の登録要求（例えば、登録取り消しメッセージ）をホームエージェント１４０へと送信する。ホームエージェント１４０は、動作４２２において、０に等しい寿命の登録要求の処理に加えて、クリアアクションを含むリカバリメッセージをホームエージェント１５０へと送信し、ホームエージェント１５０に対して当該セッションに関する外部エージェント特有情報を削除するように指示する。動作４２４において、ホームエージェント１５０は、リカバリメッセージを受け取った旨をホームエージェント１４０に知らせる。
【００８６】
動作４２６において、ホームエージェント１４０は、典型的な登録応答メッセージを外部エージェント１２０へと送信する。外部エージェント１２０は、動作４２８において、登録応答メッセージの処理に加えて、クリアアクションを含むリカバリメッセージを外部エージェント１３０へと送信し、外部エージェント１３０に当該セッションに関するホームエージェント特有情報を削除するように指示する。動作４３０において、外部エージェント１３０は、リカバリメッセージを受け取った旨を知らせる。
【００８７】
図５は、モバイルＩＰのコンフリクトがモビリティエージェントにおいて検出された場合の本発明の一実施形態によるモバイルＩＰセッションのリカバリを説明するデータの流れの図である。図５においては、外部エージェント１２０が、ホームエージェント１４０のピアである。動作５１０、５１２、および５１４は、図２に示した動作２１０、２１４、および２１８に関してすでに説明したのと同様に実行される。ネゴシエートされるケイパビリティは、少なくともモバイルＩＰセッションのクリアケイパビリティを含む。
【００８８】
登録応答メッセージの処理の際に、外部エージェント１２０が、動作５１６において、モバイルＩＰセッションのコンフリクトを検出する。例えば、外部エージェント１２０のローカルモビリティエージェントモバイルＩＰ構造において、モバイルノード（例えば、Ｍ１）が、現時点においてＩＰアドレス１．２．３．４に関連付けられている（例えば、ホームエージェント１４０が、モバイルノードＭ１をＩＰアドレス１．２．３．４に関連付けられるように割り当てている）。しかしながら、別のモバイルノード（例えば、Ｍ２）が、ＩＰアドレス１．２．３．４で外部エージェント１２０との登録を試みている（例えば、ホームエージェント１４０が、モバイルノードＭ２をＩＰアドレス１．２．３．４に関連付けられるように割り当てている）。その結果、外部エージェントは、どちらのモバイルノードをＩＰアドレス１．２．３．４に関連付けるべきであるか不明である（すなわち、コンフリクトが存在する）。本発明の一実施形態によれば、外部エージェント１２０が、盲目的に新たな登録を受け入れ、古いエントリを削除することができ、または盲目的に新たな登録を拒絶し、古いエントリを保つことができる。
【００８９】
本発明の他の実施形態によれば、外部エージェント１２０が、コンフリクトを検出したときにホームエージェント１４０へとクリアアクションを含むリカバリメッセージを送信し、ホームエージェント１４０が、そのＩＰアドレスをどちらのモバイルノードに関連付けるべきかを決定することができる（すなわち、ホームエージェント１４０が、コンフリクトの解決策を決定できる）。例えば、動作５１８において、外部エージェント１２０は、クリアアクションを含むリカバリメッセージをホームエージェント１４０へと送信する。本発明の一実施形態において、このメッセージは、ホームエージェント１４０に新しい方のモバイルノード（例えば、モバイルノードＭ２）をホームエージェント１４０のモバイルＩＰデータ構造から削除するように指示する。ホームエージェント１４０が、当該モバイルノードを自身のモバイルＩＰデータ構造から除去するか否か、独立した決定を行う。ホームエージェント１４０は、当該モバイルノードを自身のモバイルＩＰデータ構造から除去すると決定した場合、動作２２０において外部エージェント１２０へと容認の確認を送信する。ホームエージェント１４０は、当該モバイルノードを自身のモバイルＩＰデータ構造に維持すると決定した場合、動作２２０において外部エージェント１２０へと否定の確認（例えば、ｎａｋ）を送信する。次いで、外部エージェント１２０は、ホームエージェント１４０から受信されたメッセージに応じて、現在のモバイルノードを自身のモバイルＩＰデータ構造から削除して、新しいモバイルノードをモバイルＩＰデータ構造へと追加でき、または新しいモバイルノードの登録を拒絶することができる。
【００９０】
このようにして、外部エージェント１２０が、モバイルＩＰセッションのコンフリクトを、リカバリメッセージのやり取りを使用することによって賢く管理することができる。さらに、外部エージェント１２０は、ホームエージェント１４０がコンフリクトに気付いていない可能性があるときに、コンフリクトをホームエージェント１４０に知らせることができる。例えば、コンフリクトは、管理上の誤りに起因して生じる可能性がある。ネットワーク管理者が、ホームエージェント１４０におけるバインディングをクリア（例えば、モバイルＩＰ構造をクリア）してしまい、ホームエージェントがアドレス１．２．３．４が空いており割り当て可能であると判断してしまう可能性がある。しかしながら、ホームエージェント１４０がアドレス１．２．３．４をモバイルノードに割り当てるとき、外部エージェント１２０には、２つの異なるモバイルノードが同じＩＰアドレスに割り当てられている（すなわち、コンフリクトが存在する）ように見える。クリアアクションを含むリカバリメッセージをホームエージェントへと送信することで、ホームエージェントが、コンフリクトの存在の理由およびコンフリクトの解決策を決定することができる（例えば、ホームエージェントが、どのモバイルノードを当該ＩＰアドレスに関連付けるべきかを外部エージェントに指示することができる）。
【００９１】
さらに、モビリティエージェントピアにモバイルＩＰサービスが特定のモバイルセッションについて停止した旨を通知する登録取り消しメッセージ（ＲＦＣ  ３５４３に記載されているような）と異なり、モバイルＩＰセッションクリアメッセージは、モビリティエージェントピアに、モバイルセッションに直接には関係しない値（例えば、ＱｏＳパラメータ、ＡＡＡパラメータ、負荷バランス属性、レートポリシー、など）を更新または変更するように指示することができる。例えば、ホームエージェントが、外部エージェントへとモバイルＩＰセッションクリアメッセージを送信し、レートポリシーがホームエージェントと外部エージェントとの間で矛盾しないように、外部エージェントにレートポリシー（例えば、ダウンロード／アップロード速度）を変更するように指示することができる。
【００９２】
図６は、本発明の一実施形態によるモバイルＩＰセッションの検証を説明するデータの流れの図である。図６において、外部エージェント１２０が、ホームエージェント１４０のピアである。動作６１０において、ホームエージェントが、自身のモバイルＩＰデータ構造に保存された情報の喪失を引き起こす不具合またはエラー（例えば、再起動、管理上の誤り（例えば、管理者によるモバイルＩＰデータ構造のクリア）、システムエラー、などに起因する）を抱えている。ホームエージェント１４０および外部エージェント１２０が、動作６１２において、図２に関して説明した動作２１０と同様の方法でケイパビリティをネゴシエートする。ネゴシエートされるケイパビリティは、少なくともモバイルＩＰセッション検証ケイパビリティを含む。動作６１４において、ホームエージェント１４０が、自身のモバイルＩＰデータ構造（例えば、バインディング構造）を再建する。本発明の一実施形態によれば、ホームエージェント１４０は、高アベイラビリティによって自身のモバイルＩＰデータ構造を再建する。
【００９３】
モバイルＩＰデータ構造が回復されたが、ホームエージェント１４０は、モバイルＩＰデータ構造に保存された情報が正確であるか否か、または最新であるか否かを、承知していない。例えば、ホームエージェント１４０が不具合またはエラーに起因して動作不能であった際に、モバイルノードがネットワークから離れたり、外部エージェントを変えたりした可能性がある。したがって、動作６１６において、ホームエージェント１４０は、検証アクションを含むリカバリメッセージを外部エージェント１２０へと送信する。本発明の一実施形態によれば、このメッセージが、バルクリカバリ要求メッセージである一方で、本発明の別の実施形態においては、このメッセージが、シングルセッションリカバリ要求メッセージである。本発明の一実施形態によれば、外部エージェント１２０が、動作６１８において、検証された各々のモバイルＩＰセッションについてホームエージェント１４０へと確認を送信する。本発明の別の実施形態によれば、外部エージェント１２０が、検証されなかった各々のモバイルＩＰセッションについてホームエージェント１４０へと否定の確認を送信する。
【００９４】
図６は、モバイルＩＰセッションを外部エージェントによって検証するホームエージェントを示しているが、モバイルＩＰセッションを他のホームエージェントによって検証するホームエージェント、モバイルＩＰセッションをホームエージェントによって検証する外部エージェント、またはモバイルＩＰセッションを他の外部エージェントによって検証する外部エージェントに関しても、同様の動作を実行できることを、理解すべきである。
【００９５】
さらに、検証を、モバイルＩＰネットワークの各所に分布した複数のモビリティエージェントについても実行できることを、理解すべきである。例えば、図９を参照すると、外部エージェント９２０および／またはホームエージェント９３０が、（例えば、モバイルＩＰ情報を失った後で）ネットワークエレメント９６０に保存されたモバイルＩＰ情報を要求する場合に、外部エージェント９２０および／またはホームエージェント９３０は、それらのそれぞれのモバイルＩＰデータ構造を再建することができ、さらには再建したセッションをモバイルＩＰセッションの検証ケイパビリティをサポートするモビリティエージェントピアによって検証することができる。例えば、外部エージェント９２０がネットワークエレメント９６０からモバイルＩＰ情報を受け取って、モバイルＩＰデータ構造９２２内の情報を再建またはリカバリした後で、外部エージェント９２０は、再建したセッションを検証する。例えば、ホームエージェント９４０Ａ〜９４０Ｃの各々がモバイルＩＰセッションの検証ケイパビリティをサポートしている場合、外部エージェント９２０は、モバイルノード９１１、９１２、および９１３に関するセッションをホームエージェント９４０Ａ、９４０Ｂ、および９４０Ｃによってそれぞれ検証することができる（例えば、図６に関する動作６１６および６１８と同様の検証アクションを含むリカバリメッセージおよびリカバリ確認メッセージによって）。
【００９６】
図７は、モバイルＩＰネットワークにおける本発明の一実施形態によるＨｅｌｌｏプロトコルケイパビリティを説明するデータの流れの図である。図７において、外部エージェント１２０が、ホームエージェント１４０のピアである。本発明の一実施形態によれば、ホームエージェント１４０が、外部エージェント１２０の動的なピアである。換言すると、ホームエージェント１４０は、外部エージェント１２０の固定のピアではない（例えば、ホームエージェント１４０が、外部エージェント１２０の固定のリモートモビリティエージェント構造８７０に含まれていない）。典型的には、モビリティエージェントが何らかのエラーに起因して再起動するとき、固定のピアの存在および特定は回復可能であるが、動的に設定されるピアの存在は、通常は回復することができない。
【００９７】
動作７１２において、外部エージェント１２０およびホームエージェント１４０が、図２に関して説明した動作２１０と同様にケイパビリティをネゴシエートする。ネゴシエートされるケイパビリティは、少なくともＨｅｌｌｏプロトコルのケイパビリティおよびモバイルＩＰセッションのリカバーのケイパビリティを含む。ひとたびＨｅｌｌｏプロトコルのネゴシエートに成功すると、外部エージェント１２０およびホームエージェント１４０は、Ｈｅｌｌｏメッセージを定期的に交換することができる。その後に、動作７１４において、外部エージェント１２０が、外部エージェント１２０の特有情報をホームエージェント１４０へと送信し、ホームエージェント１４０が、動作７１６において自身のモバイルＩＰ構造に外部エージェントの特有情報を保存する。動作７１８において、外部エージェント１２０とホームエージェント１４０との間でＨｅｌｌｏメッセージが送信される。本発明の一実施形態によれば、Ｈｅｌｌｏメッセージが、モビリティエージェントの不具合の速やかな検出を可能にする。例えば、外部エージェント１２０がホームエージェント１４０へのＨｅｌｌｏメッセージの送信を停止した場合、ホームエージェント１４０は、外部エージェント１２０に不具合が生じたと推定することができる。
【００９８】
その後に、動作７２０において、外部エージェント１２０が、自身のモバイルＩＰ構造に保存された情報の喪失を引き起こす不具合および／またはエラー（例えば、再起動、管理上の誤り（例えば、管理者によるモバイルＩＰデータ構造のクリア）、システムエラー、などに起因する）を抱える。本発明の一実施形態によれば、外部エージェント１２０が高アベイラビリティを採用しておらず、したがって不具合またはエラー時に外部エージェント１２０が自身のモバイルＩＰデータ構造８５０内に保存された情報を失い、高アベイラビリティによる情報の回復が不可能である。しかしながら、ホームエージェント１４０が、外部エージェントの特有情報を保存しており、この情報を、モバイルＩＰデータ構造の再建に使用することができる。
【００９９】
しかしながら、ホームエージェント１４０が動的なピアであるため、外部エージェント１２０の不具合の際に、外部エージェント１２０が、おそらくはホームエージェント１４０がピアであることを理解しない。したがって、外部エージェント１２０が、ホームエージェント１４０からの外部エージェント特有情報の回復を要求できないと考えられる。しかしながら、ホームエージェント１４０は、外部エージェント１２０へとＨｅｌｌｏメッセージを送り続けている。動作７２２において、そのようなＨｅｌｌｏメッセージが外部エージェント１２０によって受信される。ホームエージェント１４０からのＨｅｌｌｏメッセージを受信したとき、外部エージェント１２０は、ホームエージェント１４０がピアであるに相違ない（例えば、外部エージェントが、このホームエージェントとＨｅｌｌｏプロトコルのケイパビリティを以前にネゴシエートしたに相違なく、外部エージェントが、自身のピアとのみネゴシエートを行っている）と判断する。動作７２４において、外部エージェント１２０およびホームエージェント１４０が、図２の動作２２６に関して説明したのと同様にして、ケイパビリティをネゴシエートする。ネゴシエートされるケイパビリティは、少なくともＨｅｌｌｏプロトコルのケイパビリティおよびモバイルＩＰセッションのリカバーのケイパビリティを含む。
【０１００】
動作７２６において、外部エージェント１２０が、２５５未満の続き番号を有するＨｅｌｌｏメッセージを送信する。典型的なＨｅｌｌｏパケットは、２５５を超える続き番号を有している。２５５未満の続き番号を有するＨｅｌｌｏメッセージの受信は、ホームエージェント１４０に保存済みの外部エージェント特有情報を外部エージェント１２０へと送信するように知らせている。したがって、動作７２８において、ホームエージェント１４０が、保存されている外部エージェント特有情報を外部エージェント１２０へと（例えば、リカバリ応答メッセージを使用することによって）送信する。動作７３０において、外部エージェント１２０は、ホームエージェント１４０へと受け取り確認を送信する。外部エージェント１２０は、動作７３２において、受信した情報によって自身のモバイルＩＰデータ構造（例えば、ビジター構造）を再建する。
【０１０１】
このように、Ｈｅｌｌｏプロトコルのケイパビリティを、２つのモビリティエージェントの間でネゴシエートすることができる。Ｈｅｌｌｏプロトコルによって、モビリティエージェントの不具合をより迅速に検出することができる。さらに、Ｈｅｌｌｏプロトコルを、動的なピアである（例えば、動的なトンネルを使用している）任意のモビリティエージェントピアを割り出すために使用することもできる。加えて、Ｈｅｌｌｏプロトコルを、モビリティエージェントにリカバリが要求されている旨を知らせるために使用することができる（例えば、２５５未満の続き番号を有するＨｅｌｌｏメッセージ）。
【０１０２】
本発明の一実施形態においては、ケイパビリティが、モビリティエージェントの間でネゴシエートされない。例えば、各々のモビリティエージェントが特定のケイパビリティをサポートしていると仮定できる場合、そのケイパビリティをネゴシエートする必要はない。例えば、モバイルＩＰネットワーク内のモビリティエージェントが、同じベンダーからのものであり、または類似の動作をする（例えば、類似のソフトウェアをサポートする）場合に、ケイパビリティをネゴシエートする必要がない。さらに、モビリティエージェントが、所定の数のリカバリ要求メッセージ（例えば、３つのメッセージ）の後でもリカバリ応答メッセージを受信しない場合、モビリティエージェントは、そのケイパビリティがサポートされていないと仮定する。
【０１０３】
本発明の一実施形態においては、ケイパビリティがネゴシエートされるか否かが、ネットワーク管理者による設定によって決定される。例えば、特定のケイパビリティについて、大部分のモビリティエージェントがそのようなケイパビリティをサポートしていると仮定できる場合（例えば、一般的にサポートされるケイパビリティ）には、ネットワーク管理者が、モビリティエージェントを、そのような特定のケイパビリティについてケイパビリティのネゴシエーションを行わないように設定する。他方で、特定のケイパビリティについて、大部分のモビリティエージェントがサポートしていないと考えられる場合（例えば、まれにしかサポートされないケイパビリティ）には、ネットワーク管理者が、モビリティエージェントを、そのような特定のケイパビリティについてケイパビリティのネゴシエーションを実行するように設定する。
【０１０４】
図面における流れの図は、本発明の特定の実施形態によって実行される動作について、特定の順序を示しているが、そのような順序が例示にすぎないことを理解すべきである（例えば、別の実施形態は、これらの動作を別の順序で実行してもよく、特定の動作を結合させてもよく、あるいは特定の動作を重畳させてもよい）。
【０１０５】
本発明をいくつかの実施形態に関して説明したが、本発明が上述した実施形態に限定されず、添付の特許請求の範囲の技術的思想および技術的範囲の範疇において変更および変形を伴って実行できることを、当業者であれば理解できるであろう。したがって、本明細書は、本発明を限定するものとしてではなく、例示として解釈されるべきである。
【図１】
0005767102.tif 000009
【図２】
0005767102.tif 000010
【図３】
0005767102.tif 000011
【図４】
0005767102.tif 000012
【図５】
0005767102.tif 000013
【図６】
0005767102.tif 000014
【図７】
0005767102.tif 000015
【図８】
0005767102.tif 000016
【図９】
0005767102.tif 000017