図1は、本発明に従って実施される、アクセスルータまたは基地局などの例示的アクセスノード12を示す。アクセスノード12は、アンテナ203、205と、対応する受信器、送信器回路202、204とをそれぞれ含む。受信器回路202はデコーダ233を含み、送信器回路204はエンコーダ235を含む。回路202、204はバス230によってI/Oインタフェース208と、プロセッサ(たとえば、CPU)206と、メモリ210とに結合されている。I/Oインタフェース208はアクセスノード12、たとえば基地局、をインターネットに結合する。メモリ210は複数のルーチンを含み、これらのルーチンは、プロセッサ206によって実行されると、アクセスノード12を本発明に従って動作させる。メモリは、アクセスノード12を制御してさまざまな通信動作を行わせ、さまざまな通信プロトコルを実施するために用いられる複数の通信ルーチン223を含む。メモリ210は、本発明の方法のステップを実施するために、基地局などのアクセスノード12の動作と信号とを制御するためのアクセスノード制御ルーチン225をさらに含む。アクセスノード制御ルーチン225は、送信のスケジューリングおよび/または通信資源の割り当てを制御するためのスケジューラモジュール222を含む。したがって、モジュール222はスケジューラとしても機能しうる。メモリ210は、本発明の方法のステップを実施する、モビリティ関連の信号を処理し送出するためのモビリティエージェントモジュール226をさらに含む。したがって、モジュール226は、モバイルIPv4フォーリンエージェントまたはモバイルIPv6アテンダントとしても機能しうる。メモリ210は、通信ルーチン223と、制御ルーチン225と、モビリティエージェントモジュール226とによって使用される情報212をさらに含む。情報212は、アクティブな各エンドノード(EN1、ENn)のそれぞれのエントリ213、213’も含む。これらのエントリには、各エンドノード(EN1、ENn)に対応付けられたアクセスノードにおけるコンテクスト状態243、243’を含む。前記コンテクスト状態は、エンドノードのハンドオフ中にアクセスノード間でやり取りされ、エンドノードのプロファイル、セキュリティアソシエーション、およびエンドノードのマルチキャストメンバーシップなどの情報を含む。エントリ213、213’は、アクセスノードにおいて前記エンドノード(EN1、ENn)にそれぞれ対応付けられたMIPビジターリストの状態214、214’も含む。特に、エンドノード1 213の情報は、エンドノード1 213のコンテクスト状態243を含み、また図4に詳細に示すようにMIPビジターリストの状態214を含む。
図2は、本発明に従って実施された例示的エンドノード14を示す。エンドノード14は、ユーザによってモバイル端末(MT)として使用されてもよく、あるいはモバイル端末(MT)のためのモバイルノードプロキシサーバ(MNPS)として機能することもできる。エンドノード14が無線リンク経由でアクセスノード12に接続される場合は、エンドノード14は、受信器および送信器回路302、304にそれぞれ結合された受信および送信アンテナ303、305を含む。受信器回路302はデコーダ333を含み、送信器回路304はエンコーダ335を含む。受信器および送信回路302、304は、バス330によってメモリ310と、プロセッサ306と、I/Oインタフェース308とに結合されている。エンドノード14が固定リンク経由でアクセスノードに接続される場合は、I/Oインタフェース308が用いられる。プロセッサ306は、メモリ310に格納されている1つまたは複数のルーチンの制御下で、本発明の方法に従ってエンドノード14を動作させる。エンドノード14の動作を制御するために、メモリ310は通信ルーチン323とエンドノード制御ルーチン325とを含む。エンドノード通信ルーチン323は、エンドノード14を制御してさまざまな通信動作を行わせ、さまざまな通信プロトコルを実施させるために用いられる。エンドノード制御ルーチン325の役目は、エンドノードを本発明の方法に従って動作させ、エンドノードの動作および信号に関して記載されているステップを実行させることである。メモリ310は、MNPS制御ルーチン326をさらに含む。MNPS制御ルーチン326の役目は、エンドノードを本発明の方法に従って動作させ、MNPSの動作および信号に関して記載されているステップを実行させることである。メモリ310は、本発明を実施するために用いられるデータ構造および/または本発明の方法を実施するためにアクセスおよび使用されうるユーザ/装置/アプリケーション/セッション/資源情報312も含む。特に、ユーザ/装置/アプリケーション/セッション/資源情報312は、図4に詳細に記載されているMIPビジター状態情報313を含む。情報312はMNPS状態314も含む。MNPS状態314は、エンドノードがMTの場合はMNPSのアドレスを含み、エンドノード14がMNPSの場合はMTのホームアドレスを含む。MNPS状態情報はさらに、MTとそのMNPSとの間の信号伝達を保証するための対応するセキュリティアソシエーションと、エンドノード14のホームアドレスと現在パケットをやり取りしているのがMTかMNPSかを示す状態とを含む。情報312は、アプリケーション状態315も含む。アプリケーション状態315には、MT14およびMNPS14上のアプリケーションソフトウェアの意図された挙動と、MT14からMNPS14に送られるアプリケーション状態と、どのパケットフローがMT14宛てであり、どのフローがMT14のMNPS14に送られるかを記述した、ホームエージェントに送られる分類情報とが記述されている。
図3は、本発明に従って実施される例示的ホームモビリティエージェントノード15を示す。ホームモビリティエージェントノード15は、I/Oインタフェース408と、プロセッサ(たとえば、CPU)406と、メモリ410とを連結するバス430を含む。I/Oインタフェース408は、ホームモビリティエージェントノード15をインターネットに結合する。メモリ410は複数のルーチンを含み、これらのルーチンは、プロセッサ406によって実行されると、ホームモビリティエージェントノード15を本発明に従って動作させる。メモリ410は、モビリティエージェントノード15を制御してさまざまな通信動作を行わせ、またさまざまな通信プロトコルを実施させるための通信ルーチン群423を含む。メモリ410は、モビリティエージェントノード15の動作と信号とを制御して本発明の方法のステップを実施させるためのモビリティエージェント制御ルーチン425も含む。モビリティエージェントノード制御ルーチン425は、送信のスケジューリングおよび/または通信資源の割り当てを制御するためのスケジューラモジュール422を含む。したがって、モジュール422はスケジューラとして機能しうる。メモリ410は、本発明の方法のステップを実施するモビリティ関連信号を処理し送信するためのモビリティエージェントモジュール426も含む。したがって、モジュール426は、モバイルIPホームエージェントとして機能しうる。メモリ410は、通信ルーチン423と、制御ルーチン425と、モビリティエージェントモジュール426とによって使用される情報412も含む。情報412は、アクティブな各エンドノード(EN1、ENn)対応のエントリ413、413’を含む。特に、エンドノード1 413の情報は、図4に詳細なように、ビジターリスト状態414を含む。エンドノードN 413’に関する情報は、これも図4に詳細に記載されているビジターリスト状態414’を含む。
図4は、エンドノード14、アクセスノード(フォーリンエージェント)12、またはホームモビリティエージェントノード(ホームエージェント)15などの所定のモビリティエージェントに対応付けられ、図2のリスト状態313、図1のビジターリスト状態214、214’、および図3のビジターリスト状態414、414’をそれぞれ実施する例示的ビジターリスト状態100を示す。図1および図2のそれぞれのアクセスノード12およびエンドノード14の観点から、ビジターリスト状態100は複数の状態エントリ110、120を含みうる。
本発明によるビジター状態100は、少なくとも1つのMN14のモビリティエージェントに適用可能な複数のエントリを含む。これらのエントリは、MNのホームアドレス(HoA)112と、ホームエージェント(HA)のアドレス115と、気付アドレス(CoA)116と、バインディング存続期間113と、MIP信号フラグ117と、MIPセキュリティ状態アソシエーション114とに関する状態である。モビリティエージェントがホームモビリティエージェントである場合は、ビジターリスト状態情報100は、デフォルトのCoA状態情報110をさらに含む。デフォルトのCoA状態情報110は、ホームアドレス112に対して有効なCoA116がビジターリストに含まれていない場合にホームエージェント15によって用いられる、モバイルノード(MN)またはモバイル端末(MT)などのエンドノード1のデフォルトのCoA118を含む。デフォルトのCoA状態情報110は、エンドノード14とホームエージェントノード15との間のMIPの信号および転送動作に用いられるMIP制御状態119も含む。さらに、モビリティエージェントがホームモビリティエージェントの場合は、ビジターリスト状態情報100は、ビジターリストが、MTなどのエンドノード1自体ではなく、エンドノード1の対応MNPSによって維持される場合にホームエージェントノード15によって用いられるホームアドレス112のMNPS CoA状態情報120を含む。MNPS CoA状態120は、MNPSがMIP位置登録をホームエージェントノード15に発行するときに、デフォルトのCoA118またはエンドノード1のCoA116の代わりに用いられるMNPS CoA127を含む。状態120は、ホームエージェントでのこのような位置登録を保証するためのMIPセキュリティ状態128と、MNPS14とホームエージェント15との間でのMIP信号および転送動作時に用いられるMIP制御状態129とをさらに含む。
図5は、本発明に従って実施される複数のアクセスノード505、505’、505’’を含む例示的システム500を示す。図5は、各アクセスノード505、505’をそれぞれ取り囲む通信セル501、501’も示す。通信セル501、501’はそれぞれ複数のエンドノードを有する対応アクセスノード505、505’によってそれぞれ用いられる無線技術のカバレッジエリアを表す。一方、アクセスノード505’’はエンドノードに対して固定リンクを使用しているので、通信セルを用いず、別の方法でネットワークの一部になっている。同じ物理および機能要素が通信セル501、501’とネットワークでは別の方法で示されているので、アクセスノード505を取り囲むセル501内の各要素についての以下の説明は、セル501、501’、およびアクセスノード505’’を含むネットワーク部分にもそのまま当てはまる。アクセスノード505は、図1に示されているアクセスノード12の簡略化表現である。簡略化のために、図示のアクセスノード505は、本発明を実施する信号伝達を担うモビリティエージェントモジュール507を1つ含む。図5は、対応するアクセスリンク506、508経由でN個のエンドノード502、504(エンドノード(MT)1、エンドノード(MT)N(X))への接続を提供するアクセスノード505を示す。エンドノード502、504は、図2に示されているエンドノード14の簡略表記である。
アクセスノード505、505’、505’’間の相互接続は、ネットワークリンク510、511、512と中間ネットワークノード520を介して行われる。図5のホームネットワーク530は、リンク522およびノード520を介してシステムの残りの部分に接続される。ホームネットワーク530は、リンク522に接続されるネットワークノード536と、リンク538経由でノード536に接続され、少なくともエンドノードN504のモビリティエージェントとして動作するモビリティエージェントノード532とをさらに含む。図5のネットワーク540は、リンク523とノード520とを介してシステムの残りの部分に接続される。ネットワーク540は、リンク523に接続されたネットワークノード546と、リンク548経由でノード546に接続され、少なくとも本発明の方法を説明するためのエンドノードN504とのデータセッションにおいて通信相手端末として動作する通信相手ノード(CN)542とをさらに含む。アクセスノード505は、無線通信を提供する通信ネットワーク500において、たとえば、エンドノード(エンドノード(MT)1 502、エンドノード(MT)N(X)504)とのリンク(506、508)経由でモバイル端末(MT)をサポートすると考えられる。同様に、アクセスノード505’は、無線通信を提供する通信ネットワーク500において、たとえば、エンドノード(エンドノード(MT)1 502’、エンドノード(MT)N504’)とのリンク(506’、508’)経由でMTをサポートすると考えられる。一方、アクセスノード505’’は、MNPSであるエンドノードへの固定リンクをサポートすると考えられ、MNPSは通信システム500内のMTであるエンドノードをさらにサポートすると考えられる。図示のアクセスノード505’’は、固定リンク(506’’、508’’)経由でそれぞれエンドノード(エンドノード(MNPS)1 502’’、エンドノード(MNPS)N(Y)504’’)に結合されている。
図6〜図8は、本発明のさまざまな方法の例示的実施形態を示す。図6〜図8は図5のシステムの簡略版であり、本発明をさらに説明するために必要な要素が含まれている。図6に図示されているアクセスノード505、505’’は、MTエンドノードX504へのアクセスと、MTエンドノードX504に機能を提供するMNPSエンドノードY504’’へのアクセスとをそれぞれ提供するモビリティエージェントモジュール507、507’’を含む。図6は、エンドノード(MT)X504と、前記エンドノード(MT)X504との通信セッション中のCNノード542とに仕えるホームモビリティエージェントノード532をさらに示す。図6の細い実線矢印は、内部データトラフィックを表し、矢印の方向が前記データトラフィックの宛て先を指す。太い実線は、カプセル化された内部データトラフィックを示し、矢印の方向が前記トンネルの宛て先を指す。破線は、フォーリンモビリティエージェント507およびホームモビリティエージェント532へのエンドノードの位置登録のための信号メッセージを示し、矢印の方向が前記信号の宛て先を指す。破線は、MIPのハンドオフとMNPS機能の制御とに関連する他の信号種別にも用いられている。
図6は、ネットワーク500内の動作における本発明の好適な例のパケット転送および信号伝達を示す。破線矢印は信号メッセージを示し、実線矢印はパケットフローである。細い実線矢印は内部パケットであり、太い矢印は、外部ヘッダーを用いてカプセル化された内部パケットである。図6において、エンドノード(MT)X504は最初に、CN542からのパケットをホームモビリティエージェントノード532へのパケットフロー616として受信する。ホームモビリティエージェントノード532がこれらのパケットをパケットフロー610としてアクセスノード505にトンネリングすると、アクセスノード505内のフォーリンエージェント507がパケット610をデカプセル化し、パケット617としてエンドノード(MT)X504に転送する。エンドノード(MT)X504が本発明のMNPS機能を呼び出すには、エンドノード(MT)X504は位置登録要求信号601、602をフォーリンエージェント507経由でホームモビリティエージェント532宛てに送り、メッセージ603および604によって位置登録応答を受信する。位置登録メッセージ601は、エンドノード(MT)X504のホームアドレスと、モビリティエージェントノード532のアドレスと、アクセスノード505のアドレスと、エンドノード(MT)X504のホームアドレスのためのエンドノードX CoAフィールドと、要求された位置登録存続期間とを含む。位置登録メッセージは、ホームアドレスとエンドノード(MT)X504のCoAとの間のバインディングをフォーリンおよびホームエージェント507、532において解除することを目的とする。一般性を失わずにこの目的を達成するには、CoAをホームアドレスと同じに設定してもよく、さらに/あるいは存続期間をゼロまたは極めて短期間の値に設定する。エンドノード(MT)X504がホームエージェント532におけるホームアドレスと動的CoAとの間の動的バインディングを取り消すか変更すると、ホームエージェントはバインディング内の動的CoAエントリをデフォルトのCoAエントリに変更する。デフォルトのCoAは、管理プロセスによってホームエージェントに事前に設定されているか、ポリシーサーバからMNプロファイルで配信できるか、またはデフォルトのCoAをこの位置登録メッセージまたは前の位置登録メッセージに含めることによってエンドノード(MT)X504が動的に設定できる。デフォルトのCoAは永久アドレスであり、ホームエージェントモビリティノード532から削除されるのは、ホームアドレスがもはやエンドノード(MT)X504に割り当てられない場合など、デフォルトのCoA機能が適用不能になった場合に限られる。次にホームエージェント532は、到着したエンドノード(MT)X504のホームアドレス宛てのパケットを、エンドノード(MT)X504の動的CoAではなく、エンドノード(MNPS)Y504’’のデフォルトのCoAにトンネリングする。図6のデフォルトのCoAは、エンドノード(MNPS)Y504’’が接続されているエージェントノード505’’のアドレスである。エンドノード(MNPS)Y504’’はエンドノード(MT)X504のMNPSであるので、エンドノード(MT)X504のホームアドレス宛てのパケットはここで、エンドノード(MT)X504のアプリケーションプロキシがあるエンドノード(MNPS)Y504’’に配信される。アクセスノード505’’における転送は、エンドノード(MT)X504のホームアドレスとエンドノード(MNPS)Y504’’との間のバインディングによって事前に設定されているので、アクセスノード505’’はホームエージェント532からのパケットをデカプセル化し、パケット617’’としてエンドノード(MNPS)Y504’’に転送できる。デフォルトのCoAがホームエージェント532でアクティブである間は、エンドノード(MNPS)Y504’’は、エンドノード(MT)X504のホームアドレス宛てのパケット617に対するネットワークエンドポイントになる。
さらに別の実施形態において、ホームモビリティエージェントノード532、フォーリンモビリティエージェント507’’、エンドノード(MNPS)Y504’’、またはホームエージェント532とエンドノード(MNPS)Y504’’との間のパケットフロー経路上にある中間ノードは、ネットワークトランスレータとして機能し、パケットフロー内のパケットの宛て先アドレスをエンドノード(MT)X504のホームアドレスからエンドノード(MNPS)Y504’’のインタフェースアドレスに変換できるので、エンドノード(MNPS)Y504’’のアプリケーションプロキシはエンドノード(MT)X504のホームアドレスをネットワークアドレスとして再使用せずに済む。 本発明のこれらの特徴によって、エンドノード(MT)X504は、そのパケットをエンドノード(MT)X504の制御下で、エンドノード(MNPS)Y504’’とそのホームエージェント532にリダイレクトできる。
エンドノード(MNPS)Y504’’は、自身がエンドノード(MT)X504であるかのように、パケット617’’を受信し、このパケットと、このパケット内のアプリケーションデータとの処理を引き受ける。エンドノード(MNPS)Y504’’はパケット617’’の宛て先アドレスに一致するインタフェースを有するので、このパケット内のアプリケーションデータを、このパケットデータを処理するように構成されているアプリケーションプロキシ内のアプリケーションソフトウェアに渡す。パケットデータの処理は、アプリケーションプロキシの構成状態によって制御される。この構成状態に応じて、エンドノードY(MNPS)504’’のMNPSは、エンドノード(MT)X504内のMNの代わりに、サービスをCN542に提供できる。これらのサービスには、アプリケーションデータを生成し、パケットを作成し、前記パケットを進行中の通信セッションの一部としてCN542に、またはエンドノード(MT)X504を含む他のいずれかのエンドノードに送る機能が含まれる。また、アプリケーションプロキシは、CNとの通信セッションの作成、維持、および終了に使用できる信号データの送受信を信号パケットで行うことができる。
CN542とのセッションの一環として、エンドノード(MT)X504の代わりに、エンドノード(MNPS)Y504’’によって生成された信号またはアプリケーションデータパケットは、一般に、フォーリンエージェント507’’およびホームエージェント532経由の逆方向経路および関連処理によってCN542に戻される。ホームエージェント532以外の代替ノードが動的なCoA状態を有する場合は、たとえばモバイルIP経路の最適化(http://www.ietf.org/proceedings/99nov/I-D/draft-ietf-mobileip-optim-08.txt)を用いた場合のように、CN542は、この発明に記載のデフォルトのCoA状態をさらに有してもよい。
本発明のさらに別の実施形態においては、ホームエージェント532は、エンドノード(MT)X504のホームアドレスのデフォルトのCoAに対応付けられたフィルタを有することができる。エンドノード(MT)X504のホームアドレス宛てのパケットのうち、動的CoAがアクティブでないときにデフォルトのCoAに転送する特定のサブセットをこのフィルタによって識別する。エンドノード(MNPS)Y504’’のアプリケーションプロキシがアプリケーションサービスを前記サブセットのパケットに提供できるので、エンドノード(MT)X504で使用可能な他のアプリケーションをサポートする必要がない。フィルタは、デフォルトのCoAに対して使用される複数の方法のいずれかを用いて配信または構成できる。同様に、アプリケーションプロキシの構成には、アプリケーションプロキシがエンドノード(MT)X504のソースアドレスから、またはエンドノード(MT)X504のホームアドレスに変換されるいずれかの対応ソースアドレスから、送信できるアプリケーションパケットの種類を制限するフィルタを含めることができる。あるいは、CN542とエンドノード(MNPS)Y504’’との間でどちらかの方向のパケットフローを規制するためのフィルタをフォーリンエージェント507’’に設置することもできる。
本発明のさらに別の実施形態においては、メッセージ601に、アクセスノード505’’のアドレスと、メッセージ624および確認応答622をトリガする命令と、を含めることができる。この命令によって、アクセスノード505でエンドノード(MT)X504に対応付けられているコンテクスト状態がアクセスノード505’’に転送されるので、アクセスノード505’’は、アクセスノード505がエンドノード(MT)X504とパケット617とに対して行うように、パケットフロー617’’の規制とエンドノードY(MNPS)504’’へのサービス提供とを行うことができる。具体的なコンテクスト状態の例として、エンドノード(MT)X504に対してアクセスノード505、505’’が必要とするポリシープロファイル、ページング分類子、マルチキャストグループのメンバーシップ、およびセキュリティアソシエーションが挙げられる。あるいは、このコンテクスト状態を、コンテクスト状態をアクセスノード505に配信するためのAAA信号、および事前に構成された状態に対する増分および/または一時的変化を運ぶためにのみ使用されるメッセージ624などの同様のポリシープロセスによって、アクセスノード505’’に事前に構成することもできる。メッセージ624および622を用いてアクセスノード505および505’’間のトンネル620を構成することもできるので、エンドノード(MT)X504宛てに転送中のパケットをエンドノード(MNPS)Y504’’宛てに送ることができる。メッセージ622/624に引き続き、メッセージ618’’がアクセスノード505’’からエンドノード(MNPS)Y504’’に送られ、エンドノード(MT)X504のホームアドレスとやり取りされるパケットの責任がエンドノード(MNPS)Y504’’に移ったことをエンドノード(MNPS)Y504’’に知らせる。
フォーリンエージェント505宛てのメッセージ601の発行に先立ち、エンドノード(MT)X504は、エンドノード(MT)X504のホームアドレスをソースアドレスとして、またエンドノード(MNPS)Y504’’のインタフェースアドレスを宛て先アドレスとして用いて、メッセージ634をエンドノード(MNPS)Y504’’に発行できる。メッセージ634によって、応答メッセージ632が生成される。メッセージ634は、エンドノード(MNPS)Y504’’がエンドノード(MT)X504のホームアドレスとやり取りされるパケットのエンドポイントとなることを要求するために使用され、これに対してエンドノード(MNPS)Y504’’は確認応答メッセージ632で応答する。メッセージ634には、エンドノード(MNPS)504’’のアプリケーションプロキシにおけるアプリケーションの制御またはデータ状態などのアプリケーションの構成に対する変更のほか、アプリケーションプロキシがエンドノード(MT)X504の代わりに処理するパケットフロー617のサブセットを選択するためにエンドノード(MNPS)Y504’’が使用するフィルタ状態などに対する変更を含めることができる。応答メッセージ632には、エンドノード(MNPS)Y504’’が接続されているアクセスノード505’’のアドレスを含めることができるので、エンドノード(MT)X504はそのアドレスをアクセスノード505へのメッセージ601に含めることによって、メッセージ624の一部としてのコンテクスト転送のためのアクセスノード505’’のアドレスをアクセスノード505に知らせることができる。あるいは、エンドノード(MT)X504は、エンドノード(MNPS)Y504’’のインタフェースアドレスとそのアクセスノード505’’の両方を事前に知ることができる。パケットフローのハイジャックを避けるために、メッセージ632および634は少なくとも認証と完全性の保護とがなされるべきである。したがって、エンドノード(MT)X504とエンドノード(MNPS)Y504’’とは、両ノード間のメッセージをセキュリティ保護するために、エンドノード(MT)X504のホームアドレスとエンドノード(MNPS)Y504’’のインタフェースアドレスとに結び付けられたセキュリティアソシエーションを共有する。このセキュリティアソシエーションは事前に構成することも、ポリシーサーバが提供することも、動的に生成することもできる。エンドノード(MT)X504は、メッセージ634の送信に先立って、そのMNPSエンドノードY504’’のインタフェースアドレスを知っておく必要があるが、エンドノード(MNPS)Y504’’には、アプリケーションプロキシサービスの提供先のホームアドレスを、メッセージ634のコンテンツによって動的に通知できる。
エンドノード(MT)X504がエンドノード(MNPS)Y504’’からパケットフローを取り戻したいとき、エンドノード(MT)X504はメッセージ601、602、603、および604をやり取りして、その現在のアクセスノード505、505’の動的CoAをホームエージェント532とフォーリンエージェント507とに設定することによって、ホームエージェント532のデフォルトのCoAを無効にする。これに先立ち、エンドノード(MT)X504はメッセージ634をエンドノード(MNPS)Y504’’に送ることによって、パケットフローを取り戻し、エンドノード(MNPS)Y504’’のアプリケーションプロキシを終了することができる。次に、エンドノード(MNPS)Y504’’は準備が完了する(すなわち、アプリケーションデータが制御の転送に適切な段階になる)と、エンドノード(MT)X504にメッセージ632で通知し、関連のアプリケーション制御状態またはデータをエンドノード(MT)X504に戻すことができるので、エンドノード(MT)X504はアプリケーションの処理を続行できる。次に、アクセスノード505では、エンドノード(MNPS)Y504’’のアクセスノード505’’宛てに転送中のパケットをアクセスノード505に戻すためのトンネル620’’を設定するために、メッセージ601によってメッセージ624および622をトリガして、パケットフロー620とは逆方向の経路を作成することもできる。アクセスノード505’’で変化が発生していた場合は、その変化を含むコンテクスト状態をアクセスノード505’’からアクセスノード505に復元するためにも、メッセージ624および622を使用できる。これによって、エンドノード(MT)X504がアクセスノード505を離れることによってエンドノード(MT)X504に関連付けられていた前記コンテクスト状態をアクセスノードが削除する場合は、アクセスノード505’’がコンテクスト状態の一時記憶ポイントとして機能できる。メッセージ618’’は、エンドノード(MNPS)Y504’’がエンドノード(MT)X504のホームアドレスとやり取りされるパケットセットに対する責任がなくなったことをエンドノード(MNPS)Y504’’に通知するために使用される。
図7は、ホームエージェント532でデフォルトのCoAの代わりにMNPS CoAを使用する、本発明の一代替実施形態を示す。この場合、エンドノード(MT)X504のホームアドレスとエンドノード(MNPS)Y504’’のCoAとを含む位置登録信号をメッセージ601’’および602’’としてフォーリンエージェント507’’経由でホームエージェント532に送信するのはエンドノード(MNPS)Y504’’である。この結果、応答メッセージ603’’および604’’が返されると共に、ホームエージェント532におけるバインディングが更新されるので、パケットはトンネル610からトンネル610’’にリダイレクトされるようになる。その後、エンドノード(MNPS)Y504’’はホームアドレス宛てのパケットをエンドノード(MT)X504からリダイレクトできる。エンドノード(MNPS)Y504’’およびフォーリンエージェント507’’は、不正ノードからのリダイレクト攻撃からこれらのメッセージを保護するために、セキュリティアソシエーションをホームエージェント532と共有する必要がある。なお、エンドノード(MT)X504自身が発行した位置登録状態はエンドノード(MNPS)Y504’’からの位置登録によって削除されず、両方の位置登録がそれぞれ別個に扱われるが、エンドノード(MNPS)Y504’’からの位置登録状態、具体的にはCoA、がエンドノード(MT)X504のものより優先される。したがって、エンドノード(MT)X504がネットワークから切断された場合、または機能不良に陥った場合でも、エンドノード(MT)X504のパケットフローはエンドノード(MNPS)Y504’’によって安全にリダイレクトされる。
このとき、メッセージ601’’によってメッセージ622がトリガされ、応答メッセージ624が返される。ここでも、これらのメッセージによって、アクセスノード505とアクセスノード505’’との間の一時的なパケット転送620が設定され、アクセスノード505からコンテクスト状態が取得される。同様に、エンドノード(MNPS)Y504’’がエンドノード(MT)X504のホームアドレス宛てのパケットの受信が不要になると、メッセージ601’’、602’’、603’’、604’’、622、および624によってホームエージェント532のMNPS CoAが取り消され、パケットフローがエンドノード(MT)X504とそのアクセスノード505とにリダイレクトされる。メッセージ622、624の結果として、エンドノード(MT)X504にそのホームアドレス宛てのパケットの責任が現在あるかどうかがメッセージ618によってエンドノード(MT)X504に通知される。パケットのリダイレクトの取得または解放のどちらかを行うために、エンドノード(MT)X504はエンドノード(MNPS)Y504’’をトリガしてメッセージ601’’を送出させることができる。このとき、エンドノード(MT)X504は最初にメッセージ634をエンドノード(MNPS)Y504’’に送信する。これに対して、エンドノード(MNPS)Y504’’はメッセージ632を返す。他のノード、たとえばアクセスノード505、CN542、またはホームエージェント532などが代わりに、メッセージ634同様のメッセージを用いてエンドノード(MNPS)Y504’’をトリガしてメッセージ601’’を発行させることもできる。
図8は、エンドノード(MNPS)Y504’’のMNPS CoAがエンドノード(MNPS)Y504’’のインタフェースアドレスに等しい連結型CoAである点以外は、図6と同じである。したがって、リダイレクトされたパケットフロー611’は、ホームエージェント532とエンドノード(MNPS)Y504’’との間を直接結ぶトンネルであるので、アクセスノード505’’はフォーリンエージェント機能507’’を必要としない。さらに、転送中のパケット620を、アクセスノード505’’を経由せずに、エンドノード(MNPS)Y504’’のCCoAに直接送ることができる。ただし、メッセージ601’’の発行元が、図6のようにエンドノード(MT)X504ではなく、図7のようにエンドノード(MNPS)Y504’’であり、位置登録をアクセスノード505’’経由で送る必要があるか、または転送中のパケット620が依然としてアクセスノード505に送られる場合は、フォーリンエージェント507’’が依然として必要な場合もある。
図9は、エンドノード(MNPS)Y504’’がホームエージェント532と同じMAC層ネットワーク、つまりエンドノード(MT)X504のホームネットワーク530’上にあるという特殊ケースにおけるデフォルトのCoA機能の一代替実施形態を示す。図9は、CN542と、図5のネットワーク530の構成要素との間のネットワーキングを示す。図9では、エンドノード(MT)X504とエンドノード(MNPS)Y504’’とをホームエージェント532に接続するために、リンク508’’’および506’’’とが導入されている。これらのノードは、IPv6(ND)における近隣発見またはアドレス解決プロトコル(ARP)の場合のように、各インタフェースのMAC層アドレスとその対応IPアドレスとの間の対応付けを配布するためのプロトコルを実行する。エンドノード(MT)X504がホームネットワーク530’上になく、505などのフォーリンアクセスノードに接続されており、エンドノード(MT)X504が動的CoAをホームエージェント532に有する場合は、ホームエージェントはプロキシARP信号902’’’と共に、そのMAC層アドレスとエンドノードX504のホームアドレスとの間の対応付けを送出することによって、そのホームアドレス宛てのパケットがMAC層ネットワーク上のノードによってそこに転送されるべきであることを示す。次に、ホームエージェント532は、太い実線矢印で示すように、これらのパケットを現在登録されている動的CoAにトンネリングする。ただし、エンドノードX(MT)504がホームネットワーク530’上にある場合は、エンドノードX(MT)504はリンク508’’’上のそのMAC層アドレスを含むARPメッセージ915’’’をMAC層ネットワーク上に発行するので、そのようなパケット920’’’は代わりにエンドノードX(MT)504に転送される。このARPメッセージ915’’’は、ホームエージェント532からMAC層ネットワーク上の他のすべてのノードへのプロキシARPメッセージ902’’’を取り消す。なお、ホームエージェントは通常はメッセージ902’’’を送出しない。
本発明の例示的一実施形態においては、エンドノード(MNPS)Y504’’はたとえば、一般性を失わずに、プロキシARPメッセージ905’’’を発行することによってエンドノード(MT)X504のホームアドレス宛てのパケットをエンドノード(MNPS)Y504’’にリダイレクトさせてパケットフロー910’’’を作成できる。これによって、エンドノード(MNPS)Y504’’がホームネットワーク上にあるときに限られるが、MNPS CoAのリダイレクト機能が再現される。ホームエージェント532が送出するプロキシARPメッセージ902’’’、エンドノード(MT)X504が送出するプロキシARPメッセージ915’’’、およびエンドノード(MNPS)Y504’’が送出するプロキシARPメッセージ905’’’は、優先順位フラグを各ARPメッセージ中に用いることによって厳密に順序付けることも、代わりに最終メッセージを最新の構成と見なすこともできる。また、エンドノード(MT)X504のホームアドレス宛てのパケットの現在の受信者が誰であるかを特定するために、各ノードが使用する内部優先順位を用いるメッセージ抑止方式を用いることもできる。この特殊ケースにおいては、エンドノード(MT)X504がホームネットワーク上になく、また有効な動的CoAがホームエージェント532に登録されていない場合に駆動されるデフォルトのARPバインディングを代わりにホームエージェント532に格納することによって、デフォルトのCoA機能を再現できる。次に、このデフォルトのARPバインディングがホームエージェントによってアドバタイズされ、ホームエージェント532のMAC層アドレスではなく、エンドノード(MNPS)Y504’’のMAC層アドレスが特定される。
本発明の実施においては、さまざまな代替実施形態が存在する。先ず、アクセスノード505’’がデフォルトのCoAおよびMNPS CoAの特徴を使用しながら、ホームエージェント532を収容できる。さらに、各ホームアドレスに対して複数のMNPSの存在が可能であり、フィルタによってパケットをパケットフローのサブセットごとに正しいMNPS機能に経路指定できる。前記MNPSの1つをホームエージェント532と同じノードに配置することもできる。さらに、MNPSソフトウェアをアクセスノード505’’に配置できる。本発明は、モバイルIPv4および/またはv6の経路最適化などのさまざまな転送オプションを含む、信号方式および転送方式を含む。本発明に詳述されるさまざまなメッセージは、エンドノード(MT)X504からリダイレクトされるパケットサブセットに関するアプリケーションプロキシの要件に合わせてさまざまなサブセットおよび組み合わせで用いることができる。
次に、アプリケーションプロキシの特徴の例をいくつか説明する。
先ず、デフォルトのCoAを使用すると、ホームエージェント532に動的CoAが登録されていない、割り当てられたホームアドレス宛てのすべてのパケットを、パケットヘッダーを捕捉するだけでエラーロガーとして機能するアプリケーションプロキシ宛てにリダイレクトできる。
第2に、アクセスノード505でエンドノード(MT)X504をスリープ状態にでき、ページング分類子がエンドノード(MT)X504のコンテクスト状態に含まれているアクセスノード505’’にパケットをリダイレクトできる拡張版IPページングシステムをサポートできる。パケットを廃棄するか、MNPSに転送するか、またはアクセスノード505’’からアクセス可能なエンドノード(MT)X504の現在位置へのページングメッセージをトリガするかをページング分類子によって決定できる。エンドノード(MNPS)Y504’’に転送されたパケットはMNPSで処理され、次にアプリケーションイベントによってメッセージ601’’をトリガすることによって、パケット転送をエンドノード(MT)X504の現在位置、つまりメッセージ602’’を用いてCoAとしてホームエージェント532に設定した位置、に戻すことができる。あるいは、MNPSは単にメッセージ632をエンドノードX504宛てに送出することもでき、この場合、メッセージ632はアクセスノード505’’に渡され、次にそのアクセスノードでエンドノード(MT)X504の現在位置に向けてページング機能をトリガする。このページング機能の結果として、エンドノード(MT)X504はスリープ解除し、そのパケットの受信と転送とを回復したくなるかもしれない。したがって、エンドノード(MT)X504はメッセージ601を用いてホームエージェントをその現在のCoAに更新し、622/624をトリガしてそのコンテクスト状態をアクセスノード505’’から復元し、メッセージ634および622を用いてそのアプリケーション状態をMNPSから復元する。
エンドノード(MT)X504がスリープ状態の間、MNPSはセッションを維持するためにキープアライブパケットを必要とするCNのあらゆるアプリケーションおよびプロトコルに対してキープアライブパケットを発行できる。エンドノード(MT)X504は、メッセージ634/632の交換と、事前に構成されたアプリケーションプロキシ状態とを使って、リフレッシュ対象のセッション、リフレッシュ間隔、キープアライブ信号をセキュリティ保護するためのセキュリティ状態、キープアライブピア、およびセッションが終了した場合、または着信データパケットがそのセッションで届いた場合の応答動作をMNPSに通知する。これによって、エンドノードX(MT)504は、アプリケーションサーバおよびネットワークゲートウェイとの接続は失わずに、電力効率のよい拡張スリープに入ることができる。
本発明の第3の応用では、エンドノード(MT)X504が1つのコンテンツの配信を指示でき、ホームエージェント532のフィルタを用いてその配信先をエンドノード(MNPS)Y504’’のMNPSにできるコンテンツ配布システムを開発できる。次に、MNPSのアプリケーションプロキシの状態に応じて、コンテンツ全体が配信されたときに、メッセージをエンドノード(MT)X504宛てに送ることも、エンドノード(MT)X504がその配信状況を問い合わせるまで単に待機することもできる。次に、エンドノード(MT)X504またはエンドノード(MNPS)Y504’’は、本発明の方法を用いてパケットの宛て先をエンドノード(MT)X504に戻すことができ、次にエンドノード(MNPS)Y504’’がコンテンツをエンドノード(MT)X504に配信できる。これによって、エンドノードX(MT)504はスリープ状態に入ることも、コンテンツがエンドノード(MNPS)Y504’’に配信されている間にその帯域を他の目的に使用することもでき、次にそのエンドノード(MT)X504に最適な時点で配信を要求できる。
代替のコンテンツ配布システムにおいては、エンドノード(MNPS)Y504’’がエンドノード(MT)X504からのコンテンツのコンテンツサーバとして機能できる。次に、エンドノード(MT)X504はスリープ状態を解除し、フィルタを用いてコンテンツ要求をエンドノード(MNPS)Y504’’のコンテンツサーバ宛てに送りながら、コンテンツの更新をエンドノード(MNPS)Y504’’に効率的に配信できる。これによって、エンドノード(MT)X504はそのコンテンツをエンドノード(MT)X504自身、すなわち固定ノード、からパブリッシュする必要がないので、コンテンツをローカルに供給できる。さらに、コンテンツの実際の供給元がエンドノード(MT)X504かエンドノード(MNPS)Y504’’のどちらであっても、サーバアドレスが同じであるので、エンドノード(MT)X504はフローのサブセットをその全時間でも、一部の時間でも、適宜供給できる。メッセージ634/632によってエンドノードの各アプリケーションが同期され、一方メッセージ601、602、603、604、622、624、および618によってパケット転送が管理される。
図10は、本発明の特定の一例示的実施形態による例示的通信システム1000を示す。システム1000は、モバイルノード1001などの第1のノードと、MIPフォーリンエージェントとして使用しうるアクセスノード1003などの第2のノードと、MIPホームエージェントとして使用しうる域内モビリティエージェントノード1005などの第3のノードと、通信相手ノードとも呼ばれる通信ピアノード1007などの第4のノードと、ネットワークノード1009などの第5のノードと、アクセスノード1011などの第6のノードとを含む。モバイルノード(MN)1001は、無線リンク1013経由でアクセスノード1003に結合される。ネットワークノード1009は、リンク1017経由でアクセスノード1011に結合される。ホームエージェントつまり域内モビリティエージェントノード1005は、経路指定システム1019に含まれる。ホームエージェントつまり域内モビリティエージェントノード1005は、リンク1023、1025、1027経由で、アクセスノード1003と、アクセスノード1011と、通信ピアノード1007とにそれぞれに結合される。アクセスノード1003、1011は、通常、経路指定システム1019の一部である。アクセスノード1003などの第2のノードは、前記モバイルノード1001に対応するCoAを有するパケットを前記モバイルノードに転送するための規定の経路、たとえば、内部メモリに含まれている経路指定テーブルによって規定された経路を有する。アクセスノード1011などの第6のノードは、第5のノード1009のモバイルノードプロキシサーバ(MNPS)がMN1001とMNPS1009の両方に共通な共有アドレスに対応するアプリケーションパケットの処理を担う場合は、前記モバイルノード1001に対応するCoAを有するパケットを前記第5のノード1009のモバイルノードプロキシサーバ(MNPS)に転送するための規定の経路、たとえば、内部メモリに含まれる経路指定テーブルによって規定された経路を有する。これらの各種ノードはそれぞれ異なるアドレス指定ドメインに配置されてもよく、この場合は、それぞれのドメインに対応付けられたアドレスにそれぞれのアドレス指定ドメインを識別するための異なるアドレスプレフィクスを含む。システム1000は、少なくとも2つのアドレス指定ドメインを含むが、アドレス指定ドメインの数はこれより多くてもよく、たとえば3つでもよい。ホームモビリティエージェントノード1005は、通常、FAノード、たとえば第2のノード1003、とは異なるドメインに配置され、FAノード1003は、通常、域内モビリティエージェント1005と同じドメインに配置される。その他のノード1011、1009は、FAノード1003またはホームエージェント1005と同じノードに配置してもよく、または第3のアドレス指定ドメインなど、全く異なるドメインに配置し、第3のアドレス指定ドメインに配置されたノードに対応するアドレスに含まれる第3のプレフィクスによって識別してもよい。
MN1001は、アプリケーション状態1029と、IPベースの通信アプリケーション1033と第2のアプリケーション1035とを含むアプリケーションルーチン1031と、共有アドレス1037とを含む。アクセスノード1003は、モビリティエージェント1039と、カプセル化/デカプセル化および転送ルーチン1041とを含む。アクセスノード1003は、MN1001によって使用されるアクセスルータまたは基地局でもよい。MN1001がアクセスノード1003が配置されているフォーリンドメインにある間は、モビリティエージェント1039は、MN1001に対してフォーリンエージェント(FA)として機能しうる。ホームエージェントすなわち域内モビリティエージェントノード1005は、バインディングテーブル1043と、カプセル化/デカプセル化転送ルーチン1045とを含む。バインディングテーブル1043に含まれているアドレスバインディング情報に存続期間情報を含めてもよい。ノード1005は、MN1001に対してホームエージェント(HA)として機能しうる。通信ピアノード1007は、IPベースの通信アプリケーション(第1のアプリケーション)1049と第2のアプリケーション1051とを含むソフトウェアアプリケーションなどのアプリケーションルーチン群1047を含む。第4のノード1007は、第1のアプリケーション1033が関与する例示的通信セッションにおいてMN1001の通信相手となる通信相手ノード(CN)である。ネットワークノード1009は、MN1001が第1のアプリケーションとの対話の継続が不可能である期間の少なくとも一部の間、アプリケーションプロキシとして動作するので、モバイルノードプロキシサーバ(MNPS)でもよい。アプリケーションプロキシとしての役割の一環として、MNPS1009はMN1001に対応する宛て先アドレスを有するアプリケーションフローに対応するパケットを受信し、これらの受信パケットを処理する。処理の一環として、2つの受信パケットの本体から少なくとも1つのパケットを生成し、生成したパケットをCN1007に送信してもよい。ノードの応答不能は、スリープ状態への移行など、MN1001による決定によることもあれば、干渉による信号途絶など、MN1003の制御外のイベントによることもある。ノード1009がMNPSとして機能しているとき、ノード1009はMN1001の代わりにCN1007と通信しうる。アプリケーションの処理および制御をMN1001とMNPS1009との間でやり取りするために、アプリケーションの状態、たとえば、アプリケーションの現在の処理状況に関する情報および/またはCN1007から受信したパケットの処理結果がMN1001とMNPS1009との間で交換される。このやり取りにおいて、アプリケーションの処理をMNPS1009にハンドオフし、その後、MNPS1009がアプリケーション処理をどこまでやったかを示す状態と共に、アプリケーションの責任をMN1001に戻してもよい。MN1001とMNPS1009との間で複数の異なるアプリケーションの責任をそれぞれ異なる時点でハンドオフしてもよい。経路指定システム1019に送られる経路指定制御信号によって、1つのアプリケーションに対応するパケットフローがMNに、またはその特定のアプリケーションに対応するパケットを所定の時点に処理する責任を担うMNPSに、確実に経路指定される。したがって、複数の異なるMNアプリケーション1033、1035にそれぞれ対応する複数の異なるパケットフローを経路指定システム1019によって分類し、それぞれ異なるノードに経路指定できる。実際に、MN1001が対応不能なときは、MN1001の代わりに、複数の異なるMNPSノード1009を用いて複数の異なるアプリケーションをサポートしうる。さらに、MNが1つのアプリケーションに対して対応不能であっても、MNは別のアプリケーションに関するパケットの処理を続行することができる。したがって、MNが盛んに使用しているアプリケーション1033、1035の1つまたは複数のサブセットに対する責任をそれぞれ異なる時点にMNPS1009にハンドオフしてもよい。特定のアプリケーションに対応するパケットの受信および処理をMN1001またはMNPS1009のどちらが行っているかを通信相手ノード1007に通知する必要はないので、通信相手ノード1007は、特定のアプリケーションに関する対話相手が常にMN1001であるとの想定の下で動作を継続しうる。以下に説明するように、MN1001に対応付けられた特定のアプリケーションに対応するパケットのリダイレクトに関して経路指定システム1019に送られる信号は、MN1001またはMNPS1009のどちらからRS1019に送ってもよい。これらの信号は通常、アプリケーションパケットの宛て先であるノード1001または1009を特定する経路指定識別子を含む。場合によっては、経路指定識別子は、アプリケーションパケットの宛て先ノードへの決められた経路を有する中間ノード、たとえばFA1003を特定する。このような場合、特定された中間ノードは、MNまたはMNPS宛てのパケットを受信すると、これらのパケットを経路指定関係を有する宛て先ノード、たとえば、MNまたはMNPSに転送する。この関係は通常、パケットをMNまたはMNPSに経路指定するためのバインディングテーブルに反映され、中間ノード1003または10011に含まれている。RS1019に送られる経路指定識別子は、たとえば、MNまたはMNPSに対応するアドレスであってもよく、あるいはアドレスと他の何らかの経路指定情報、たとえばRS1019による経路指定の決定に影響を及ぼすための加重値との組み合わせであってもよい。場合によっては、経路指定識別子にさらにパケット分類子などの付加情報を含めることによって、経路指定システムがCN1007の第1または第2のアプリケーション1049、1051に属するパケットを検出し、第1および第2のアプリケーションのパケットをそれぞれ異なるノード1001、1009宛てに送ることができるようにしてもよい。パケット分類子が経路指定識別子にない場合、経路指定システムは第1のパケットフロー1069内のすべてのパケットを経路指定識別子で特定されたノードにリダイレクトする。
ノード1009は、アプリケーション状態1053と、第1のアプリケーション1057に対応するIPベースの通信アプリケーションプロキシルーチンとサポートされている第2のアプリケーションに対応する第2のアプリケーションプロキシルーチン1059とを含むアプリケーションプロキシルーチン1055と、共有アドレス1037とを含む。共有アドレス1037は、MN1001とネットワークノード(MNPS)1009との両方に対応する。アクセスノード1011は、モビリティエージェント1061と、カプセル化/デカプセル化転送ルーチン1063とを含む。アクセスノード1011は、ネットワークノード1009をシステム1000の残りの部分に結合する。
本発明によるシステム動作中、MN1001またはネットワークノード(MNPS)1009は第1のメッセージ1065を経路指定システム1019とそのノード1005とに送る。図10は、ネットワークノード(MNPS)1009によって送られるメッセージ1065を示す。第1のメッセージ1065は、経路指定識別子1067を含む。経路指定識別子1067は、MN1001と、ネットワークノード(MNPS)1009と、MN1001またはMNPS1009への規定の経路を有するノード、たとえば第2のノード1003および第6のノード1011と、を含むノードグループ内のノードを一意に識別する。経路指定システム1019は、CN1007からの第1のパケットフロー1069、たとえば第1のアプリケーションに対応するフローをMN1001またはネットワークノード(MNPS)1009宛てに送る。パケットフロー1069内の少なくとも一部のパケットは、第1のアプリケーションのパケット1071に対応する。経路指定識別子によって特定されたノード、たとえばMN1001またはネットワークノード(MNPS)1009のどちらか一方、は第1のパケットフロー1069を所定の時点で受信する。パケットフローは、ノード1001、またはアプリケーションの処理およびCN1007との対話を担う1009宛てに所定の時点で送られる。第1のパケットフロー1069は、たとえば、第1の期間中に、CN1007からホームエージェントモビリティノード1005への第1のパケットフロー1069aと、ホームエージェントモビリティノード1005からアクセスノード1003への第1のパケットフロー1069bと、アクセスノード1003からMN1001への第1のパケットフロー1069cとを含んでもよい。あるいは、第1のパケットフロー1069は、たとえば、第2の期間中に、CN1007からホームエージェントモビリティノード1005への第1のパケットフロー1069aと、ホームエージェントモビリティノード1005からアクセスノード1011への第1の代替パケットフロー1069dと、アクセスノード1011からネットワークノード(MNPS)1009への第1の代替パケットフロー1069eとを含んでもよい。
MN1001が第1のパケットフロー1069cを受信する場合、IPベースの通信アプリケーションルーチン1033が受信パケットを処理し、このアプリケーション処理の結果としてアプリケーションデータ1071を含む付加パケットを生成し、これらのパケットを付加パケットフロー1073によってCN1007に送信する。付加パケットフロー1073は、MN1001からアクセスノード1003への付加パケットフロー1073aと、アクセスノード1003からホームエージェントモビリティノード1005への付加パケットフロー1073bと、ホームエージェントモビリティノード1005からCN1007への付加パケットフロー1073cとを含む。同様に、ネットワークノード(MNPS)1009が第1の代替パケットフロー1069eを受信する場合は、IPベースの通信アプリケーションプロキシルーチン1057が受信パケットを処理し、このプロキシによるアプリケーションの処理結果として付加パケットを生成し、これらのパケットを付加パケットフロー1073で送信する。付加パケットフロー1073は、ネットワークノード(MNPS)1009からアクセスノード1011への代替付加パケットフロー1073dと、アクセスノード1011からホームエージェントモビリティノード1005への代替付加パケットフロー1073eと、ホームエージェントモビリティノード1005からCN1007への付加パケットフロー1073cとを含む。
本発明の一実施形態によると、第1のメッセージ1065の送信に先立ち、転送メッセージ1075がMN1001からネットワークノード(MNPS)1009に送られる。このメッセージ1075によって、CN1007から発信されたアプリケーションパケットの処理責任の転送が、第1のノード1001または第5のノード1009から、第1および第5のノードのうち、アプリケーション処理転送メッセージ1075の時点において処理責任を有していないノードに対して開始される。転送メッセージ1075は、アプリケーションの処理責任を引き受けるノードを特定する経路指定識別子を含んでもよい。ネットワークノード(MNPS)1009は、転送メッセージへの応答として、経路指定識別子を含む第1のメッセージ1065を送信する。MN1001からネットワークノード(MNPS)1009への付加メッセージ1077は、ネットワークノード(MNPS)1009のアプリケーションプロキシによるパケット処理に対するMN1001の要件を規定するものであり、前記MNPS1009がアプリケーションの処理責任を前記モバイルノード1001から引き受けると、送信される。MNアプリケーション状態1029などの状態情報もメッセージ1077に含めて、MNPSアプリケーション状態1053に転送してもよい。これによって、MN1001がアプリケーションの処理責任をMNPS1009に転送した時点から、MNPSはアプリケーションの処理を続行できる。ネットワークノード(MNPS)1009からMN1001への処理結果/状態メッセージ1079は、ネットワークノード(MNPS)1009のアプリケーションプロキシによるパケット処理から派生した情報をMN1001に返す。返される情報は、MNPS1009が受信した第1のパケットフローに対応する少なくとも2つのパケットの本体の処理から生成されたアプリケーションデータパケットなどのパケットを含んでもよい。このメッセージは、アプリケーションの処理責任がモバイルノード1001に戻されるときに送出されるので、モバイルノードは、MNPS1009がアプリケーションの処理責任を終えた時点からアプリケーションの処理を続行できる。
CN1007は第2のアプリケーションを第2のアプリケーションルーチン1051によってサポートする。MN1001はこの第2のアプリケーションを第2のアプリケーションルーチン1035によってサポートし、ネットワークノード(MNPS)1009は第2のアプリケーションプロキシルーチン1059によってサポートする。第2のアプリケーションパケット1083を含む第2のアプリケーションパケットフロー1081が図10に示されている。第2のアプリケーションパケットフロー1081は、CN1007からホームエージェントモビリティノード1005への第2のアプリケーションパケットフロー1081aと、ホームエージェントモビリティノード1005からアクセスノード1003への第2のアプリケーションパケットフロー1081bと、アクセスノード1003からMN1001への第2のアプリケーションパケットフロー1081cとを含む。あるいは、このパケットフローをMN1001ではなく、別の時点でネットワークノード(MNPS)1009宛てに送ることもできる。関連のメッセージ、信号、戻りパケットフロー、および代替フローは、第1のアプリケーションに関して説明したものと同じか同様であるので、簡略化のために第2のアプリケーションについては繰り返さない。したがって、経路指定システムはフィルタとして機能し、1つのMNアプリケーションに対応するアプリケーションパケットをMNプロキシ1009に送る一方で、第2のMNアプリケーションに対応するアプリケーションパケットをモバイルノード1001に送ることができる。モバイルノードの可用性は、MNによって同時にサポートされる複数の異なるアプリケーションごとに異なりうることを理解すべきである。したがって、さまざまな実施形態において、第1のメッセージは、そのメッセージで特定された特定の単一アプリケーションまたは複数のアプリケーションにそれぞれ対応するパケットを特定されたノードにリダイレクトするか、またはMN1001によってサポートされているすべのアプリケーションに対応するパケットを、たとえばMNPS1009に、リダイレクトするかを示す。したがって、複数のパケットがCNアドレスに対応する1つのソースアドレスと、第1および第5のノード1001、1009の共有アドレスに対応する1つの宛て先アドレスとを有する場合でも、それぞれ異なるアプリケーションに対応するパケットの場合は、経路指定方式の目的に応じてそれぞれ異なるパケットフローに対応付けてもよい。
さらに別の実施形態において、第3のノード1005と、第5のノード1009と、第6のノード1011とは、同じネットワーク上にあるので、MAC層の接続を共有する。なお、この場合、第3のノードと第6のノードとは、ホームおよびフォーリンモビリティエージェントの両方を含む同一ノードでもよい。第5のノードは、第5のノードのMAC層アドレスである経路指定識別子1067を含む第1のメッセージ1065を発行できる。MAC層アドレスは、第1のパケットフローの現在のMAC層CoAとして、第3のノードのバインディングテーブル1043に入力されるので、パケットは第5のノードのMAC層アドレスを介して第5のノードに転送される。さらに、このMAC層CoAをデフォルトのMAC層CoAとしてバインディングテーブル1043に格納できるので、第1のノードの第2のアドレス(CoA)を指すバインディングテーブルのエントリの存続期間が第2のノードで過ぎると、パケットは自動的に第3のノードでのMAC層の転送によって第5のノードに方向転換される。第1のノードが第3、第5、および第6のノードを含むネットワークに戻ったとき、第1のノードはそのMACアドレスに等しい経路指定識別子1067を有する第1のメッセージ1065を発行できる。このメッセージ1065は、この種の同報通信によって第3、第5、および第6のノードによって受信される。この結果、第5のノードは第1のパケットフローに対するバインディングテーブル内のそのMACアドレスのリフレッシュを停止する。この新しいMAC層CoAは、第5のノードが以前発行したMAC層CoAの代わりに使われるので、第1のパケットフローは第1のノード宛てに送られる。
本発明によると、さまざまなノードに割り当てるアドレスを同一のアドレス指定ドメインに配置しても、複数の異なるアドレス指定ドメインに配置してもよい。一部の実施形態においては、第1、第3、および第5のノードに割り当てるアドレスは、第1のアドレス指定ドメインにある。このような場合、MN1001のホームアドレスは、第3のノードのアドレスとアドレスプレフィクスが同じであり、第5のノードと共有される。第5または第6のノードに対応付けられる第5のアドレスは、第2のアドレス指定ドメインにあることが多い(たとえば、MNPS1009のCoAアドレスは通常、アクセスルータのアドレスと同じアドレスプレフィクスである)。第2のノードおよび第2のノードに対応する第2のアドレスは、さらに別のアドレス指定ドメイン、たとえば第3のアドレス指定ドメインに入れることもできる。これは、MN1001がフォーリンサブネット上に移動し、第2のアドレスがMN1001のCoAになることに起因することもある。さまざまな実施形態において、第1、第2、および第3のアドレス指定ドメインは、少なくとも2つの異なるアドレス指定ドメインを含み、これらに対応する。他のケースでは、第1、第2、および第3のアドレスは3つの異なるアドレス指定ドメインにある。さらに他の複数の実施形態においては、第1、第2、および第3のアドレスはすべて同一のアドレス指定ドメインにある。したがって、本発明は、どのアドレス、ひいてはどのノードを同一のアドレス指定ドメインまたは複数の異なるアドレス指定ドメインに入れるかに関する可能性の範囲が広い。ドメイン内で使用されるアドレスが同じプレフィクス長の異なるアドレスプレフィクスを有する場合、すなわちN個の最上位アドレスビットが異なる場合は、アドレス指定ドメインが異なる。したがって、長さNの同一プレフィクスを有するアドレスは同一ドメインと判定される。ここで、Nは、プレフィクス長、つまり異なるドメイン間を識別するためのビット数である。さまざまな実施形態において、第1、第2、および第3のアドレス指定ドメインのうちの少なくとも1つは、異なるアドレスプレフィクスを含む、異なるドメインに対応するアドレスを有する前記第1、第2、および第3のアドレス指定ドメインのうちの別の1つと異なる。このようなさまざまな実施形態の1つにおいては、前記第1のおよび第3のアドレス指定ドメインは同一であり、前記第2のアドレス指定ドメインは、前記第1および第2のアドレス指定ドメインと異なる。このようなさまざまな実施形態のうちの別の一実施形態においては、第2および第3のアドレス指定ドメインは同一であり、前記第1のアドレス指定ドメインは、前記第1および第2のアドレス指定ドメインと異なる。各ノードに、ノードの所属先アドレス指定ドメインのアドレスプレフィクスを有するアドレスを1つまたは複数対応付けてもよい。
本発明のさまざまな特徴は、第1のノードがスリープ状態であるか、または別の方法で不在であって第1のノード宛ての着信パケットが到達不能であるときに、ネットワークページングをトリガするパケットの第2のノードへの到着と、第1のノードの不在時に第1のノードに代わってパケットを処理するアプリケーションエージェントモジュールでのアプリケーションイベントの生成とによって、第1のノードのページングを可能にするように設計されている。これによって、より高度なページングが可能になるので、第1のノードはスリープ状態に入り、タスクの完了またはアプリケーションイベントの検出を行うようにアプリケーションエージェントに通知し、そのタスクの完了時またはイベントの発生時に第1のノードをページングさせることができる。ページの生成は、ファイルの配信に寄与する各パケットまたはいずれかの音声着信によってではなく、ファイルの配信時、または特定の人物からの音声着信時に行える。たとえば発呼要求に即座に応じるために、高速ページングとそれによる接続性とを可能にするために、ページング機構はパラメータを第1および第3のノードに配信できるばかりでなく、ページング完了後の第1のノードからの経路指定メッセージがなくても、第1のノードに対するリダイレクト転送を設定できる。これによって、ページングおよび経路指定の更新と、アドレスおよびモビリティエージェントの動的割り当てとを並行して進めることができる。
図11は、本発明による例示的システムにおける例示的ノードと、パケットフローと、ページング信号とを解説する図面1000を示す。図11および図12はCN114からMN1102への通信を示しているが、パケットおよびメッセージはMNからCN1114へも移動しうることを理解されたい。図11には、第1のノードとして、たとえば、モバイルノード(MN)1102などのエンドノードが示されており、このノードは無線リンク1106経由でアクセスノード(AN)1104などの第3のノードに結合され、このアクセスノード(AN)1104は、MN1102(第1のノード)に対応付けられているプロファイル状態1108を含み、このプロファイル状態1108を用いて、MN1102が通常実行する通信セッションのうちのどれをアプリケーションエージェントモジュール1138または1138’が実行できるかを制御する。アプリケーションエージェントモジュール1138は第2のノード、たとえば、域内モビリティエージェント(RMA)ノード1110にあってもよい。アプリケーションエージェントモジュール1138’は第4のノード、たとえばアプリケーションプロキシノード、のモバイルノードプロキシサーバ(MNPS)1140にあってもよい。RMAノード1110は、ネットワークリンク1112経由でAN1104に結合される。通信相手ノード(CN)1114などのピアノードは、RMAノード1110に結合される。CN1114は、通信セッションでMN1102と通信する別のMNでもよい。図11には、リンク1162経由でRMAノード1110に結合されるページングポリシーサーバ1160も含まれている。ページングポリシーサーバ1160は、ページングトリガイベントを示す情報をアプリケーションエージェントモジュール1138、1138’に送ってもよい。RMAノード1110はモビリティエージェントモジュール1120を含み、モビリティエージェントモジュール1120は、転送テーブル1152を含む転送モジュール1122と、第1のページング情報1125を含む第1のページングモジュール1124と、第2のページング情報1127を含む第2のページングモジュール1126と、ネットワークページングルーチン1128と、ロケーションルーチン1130とを含む。図11では、パケットフローを太い実線矢印で示し、信号を太い破線矢印で示している。転送モジュール1122はピアノードCN1114から受信したMN1102宛てのパケット1150をパケット1150Aとして(AN1104経由で)MN1102宛てに、またはパケット1150C、1150Dとしてそれぞれ第1および第2のページングモジュール1124、1126宛てに転送する。第1および第2のページングモジュール1124、1126に送られるパケット1150C、1150Dを第1のページング情報1125、第2のページング情報1127とそれぞれ比較することによって(ページング状態に一致、またはページング状態によって分類)以降のパケット処理を決める。
パケット(群)1150Cが第1のページング情報1125に一致すると、パケット(群)1150Eによってネットワークページングルーチン1128がトリガされ、第1のページングメッセージ1170がMN1102の現在位置に送られる。図11の例では、この現在位置において、MN1102はAN1104に結合されている。あるいは、MN1102の現在位置が異なっている場合もあり、その場合、MN1102はシステム内の同様のいずれかのアクセスノードに結合されている。第1のページングメッセージ1170はMN1102のアドレスに直接送ることも、またはAN1104のアドレスに送ることもできる。どちらの場合も、第1のページング情報1125内の一致エントリによって特定されたページをトリガしたパケット種別が与えられると、MN1102のページングのための命令が第1のページングメッセージ1170に含まれる。MN1102の位置は、ネットワーキングページングルーチン1128がロケーションサーバ1132に直接または間接的に問い合わせることによって判定される。ロケーションサーバ1132は、RMAノード1110にあっても、または図11に示すようにリンク1136経由でRMAノード1110に結合されている別のノード1134にあってもよい。ネットワークページングルーチン1128からの問い合わせに応じて、ロケーションルーチン1130は信号1135をロケーションサーバ1132と交換することによって、MN1102(第1のノード)の位置状態情報1133を得てもよい。ネットワークページングルーチン1128はさまざまな技法を用いてその現在位置経由でMN1102に接触し、MN1102にとってのパケットの可用性によってMN1102を到達可能にすることができる。第1のページングモジュール1124は、MN1102にとって十分に重要なパケットがRMAノード1110に到達したときに、MN1102への接触が試行されることを保証する。第1のページングメッセージ1170には、MN1102に対するページングをトリガした第1のページング情報1125内のエントリの情報(ひいては受信パケットの性質)を含めることができる。第1のページングメッセージ1170の情報には、MN(第1のノード)のプロファイル状態1108のAN1104への配信も含めることができるので、AN1104はMN1102(識別子、IPアドレス、ページングスロット、セキュリティアソシエーション)に接触でき、その後にMN1102の動作をその通信に関して規制することができる。第1のページングメッセージ1170の情報は、動的に割り当てられたアドレスと、ページングトリガが第1のページング情報1125によって割り当てをトリガしたモビリティエージェント状態とをさらに含めることができる。あるいは、第1のページングメッセージ1170には、MN1102とAN1104とがプロファイル状態1108を取得し、パラメータを動的に割り当てるための情報(ポリシーサーバアドレスおよびMN1102識別子など)を含めることができる。第1のページングメッセージ1170への応答は、MN1102の代わりに、MN1102またはAN1104が行うので、ネットワークページングルーチン1128はページングメッセージの結果を判定する。この1つの結果として、MN1102が到達可能になるので、当初第1のページングモジュール1124経由で経路指定されたパケットを含む、MN1102宛てのパケットは、転送モジュール1122が転送テーブル1152を用いてパケット1150A、1150BでAN1104経由でMN1102に転送する。転送テーブル1152内の変更は、以下に説明するさまざまな方法によって行える。
パケット(群)1150Dが第2のページング情報1127に一致すると、パケット(群)1150Dはパケット1150Fとしてアプリケーションエージェントモジュール1138または1138’に転送される。アプリケーションエージェントモジュール1138または1138’は、RMAノード1110にあっても、図11に示すリンク1142経由でRMAノード1110に結合されている第4のノード、たとえば、アプリケーションプロキシノードのモバイルノードプロキシサーバ(MNPS)1140にあってもよい。具体的には、RMAノード1110は、パケット1150Dを複数のローカルおよびリモートアプリケーションエージェントモジュール1138、1138’宛てに送る第2のページング情報1127に複数のエントリを含めることができる。アプリケーションエージェントモジュール1138、1138’は、アプリケーションイベントおよび関連のページング動作のテーブル1144、1144’のほか、アプリケーションページングルーチン1146、1146’と、MNプロキシアプリケーション(群)1147、1147’とを含む。アプリケーションエージェントモジュール1138、1138’は、MN1102の代わりに、1つまたは複数のMNプロキシアプリケーション1147、1147’の制御下で、第2のページング情報1127に一致する受信パケット1150Fのペイロードを処理できる。前記ペイロードはアプリケーションデータを含み、前記処理によってピアノードCN1114に返されるか、MN1102宛てか、または代替ピアノード宛てのアプリケーションデータおよび付加送信パケットが生成される。MNプロキシアプリケーション(群)1147、1147’はたとえば、通信アプリケーション、データ処理アプリケーション、ファイルダウンロード通信アプリケーション、表計算アプリケーション、およびデコーダアプリケーションを含んでもよい。前記パケット、パケットペイロード、およびアプリケーションデータの処理によって、アプリケーションイベントが生成され、これらのアプリケーションイベントはMN1102に対応付けられたこのようなイベントのテーブル1144、1144’と比較される。これらのアプリケーションイベント、たとえば完全なファイルのダウンロード、またはMN1102宛ての新しいメールメッセージの可用性の指示など、が発生すると、対応するアプリケーションページングイベントがトリガされる。このようなページングイベントの1つによって、第2のページングメッセージ1172がネットワークページングルーチン1128に送られ、第1のページングメッセージ1170がトリガされる。これによって、MN1102へのネットワーク到達可能性を転送テーブル1152に再度確立できる。あるいは、アプリケーションページングルーチン1146、1146’は第2のページングメッセージ1172Aを位置情報1133によって示されたMN1102の現在位置に直接送ることができる。前記第2のページングメッセージ1172Aが第1のページングメッセージ1170と異なる点は、アプリケーションイベントおよび対応のアプリケーション状態をページングメッセージ1172AでAN1104および/またはMN1102に配信できることである。これによって、MN1102は、ページングの理由とスリープ解除の是非とに関するより正確な情報が与えられるので、MN1102はこのページに対してさらなる指示をアプリケーションエージェント1138、1138’に与えてから、スリープ状態に戻ることができる。ただし、第2のページングメッセージ1172Aは、第1のページングメッセージ1170の情報に関して説明したように、動的に割り当てられたパラメータとMNプロファイル状態1108とを含む(またはAN1104によってフェッチされるようにトリガする)ことができる。
図12の図面1200は、ネットワークまたはアプリケーション層のページングの準備のため、または応答として行われる信号のやり取りを示す。図12は、図11で説明したものと同一または同様のノード群としてMN1102(第1のノード)と、AN1104(第2のノード)と、RMAノード1110(第3のノード)と、MNPS1140と、ロケーションサーバノード1134と、CN1114とを含む。MN1102でのページの受信によって第1の経路指定メッセージ1202がトリガされる。これは、一般にはMIP位置登録要求またはバインディング更新とすることができ、これによってMN1102のCoAがモビリティエージェントモジュール1120に設定されるので、パケットはページングモジュール1124、1126からMN1102宛てにリダイレクトされるようになる。MN1102がスリープ状態に入るときに、第2の経路指定情報メッセージ1204がMN1102またはAN1104のどちらか一方から送出され、到着パケットがあったときにMN1102をページングできる時期を詳細に指示するエントリが第1のページング情報1125に設定される。この設定結果は、応答メッセージによって返される。第1のページング情報1125は、具体的にはMNのプロファイル状態1108に含めることができるので、第2の経路指定メッセージ1204がMN1102のプロファイル状態1108を第1のページング情報1125に移動する。ページがトリガされると、第1または第2のページングメッセージ1170、1172(A)がこれをAN1104に返す。第3の経路指定メッセージ1206をMN1102またはAN1104からアプリケーションイベントおよびページングテーブル1144、1144’に送出することによって、どのイベントおよび対応のページング処理を処理すべきかを規定する。次に、アプリケーションエージェントモジュール1138、1138’は第4の経路指定メッセージ1208を用いて第2のページング情報1127をモビリティエージェントモジュール1120に設定することによって、正しい種類のパケットがアプリケーションエージェントモジュール1138、1138’に転送されて処理されるようにする。モビリティモジュール1120はアプリケーションエージェントモジュール1138、1138’に応答し、アプリケーションエージェントモジュール1138、1138’は、第3の経路指定メッセージ1206を開始したMN1102またはAN1104に応答する。ネットワークページングルーチン1128またはアプリケーションページングルーチン1146、1146’は、第5の経路指定メッセージ1210を用いて転送テーブル1152を更新することによって、パケットをMN1102へ/から、ひいては第1および第2のページングモジュール1124、1126へ/からリダイレクトする。第5のメッセージ1210は、ページングシーケンスに対する要求がページングルーチン1128で受信されたときに、第1および/または第2のページングメッセージ1170、1172(A)の送信に先立ち、たとえばページングルーチン1128によってトリガできる。あるいは、第1および/または第2のページングメッセージ1170、1172(A)の送信後、AN1104またはMN1102からのページング応答の受信時に、第5の経路指定メッセージ1210をトリガすることもできる。最後に、モビリティエージェントモジュール1120またはアプリケーションエージェントモジュール1138、1138’での第2、第3、または第4の経路指定メッセージ1204、1206、または1208の受信によって第5の経路指定メッセージ1210をトリガできる。
第6の経路指定メッセージ1212は位置更新メッセージであり、AN1104のIPアドレス、またはシステム内の各アクセスノード固有の他の識別子、に関してMN1102の位置状態1133を更新するために、MN1102またはAN1104からロケーションサーバ1132に送られる。これによって、MN1102がアドレス指定不能かまたは到達不能であるときに、AN1104へのページングメッセージの送出が可能になる。ページングメッセージはMN1102のアドレスに直接送ることもできるが、RMAノード1110内に経路がない場合はAN1104経由で転送できる(すなわちAN1104へのトンネリング)(代わりにパケットを第1および第2のページングモジュール1124、1126宛てに送る)。位置情報1133には、SIP URIなどのアプリケーション識別子を含めることができるので、IPの経路指定ではなくアプリケーションの経路指定を用いてAN1104に到達し、次にMN1102に到達することができる。
MN1102、またはMN1102を代行するAN1104、から送られてきた位置変更を示す経路指定信号に応じて、第1、第4、および第5の経路指定メッセージ1202、1208、および1210(簡略化のために図示せず)によって第6の経路指定メッセージ1212を生成して、MN1102の位置を間接的に更新することもできる。
次に、本発明の方法に従って実行される処理例を具体的な一実施例と、例示的方法1700のステップを示す図14〜図17の処理ステップの流れとに関して説明する。言うまでもないが、1つの可能な実施例を示す例示的フローチャートに対して、ステップの順序および/またはどのノードが特定のステップを実行するかについてはさまざまな変更が可能である。
方法1400は、1402から始まり、次に初期化ステップ1404が続く。初期化ステップ1404では、モバイルノード、アプリケーションプロキシモジュール、モビリティエージェントモジュールなどのさまざまなネットワーク要素が初期化される。操作はステップ1404からステップ1406および1410に続くが、ステップ1406および1410は並列に実行されてもよい。ステップ1406では、モバイルノード、このモバイルノードのネットワーク接続ポイントとして機能するアクセスノード、および/またはページングポリシーサーバを操作して、第1のページングトリガイベント情報をモビリティエージェントに伝達し、場合によっては、さらに第2のページングトリガイベント情報をアプリケーションエージェントに伝達する。第1のページングトリガイベント情報には、たとえば、パケットヘッダ情報および/または受信パケットのコンテンツに基づきモバイルノードのページングを行うか否かを決めるための他の情報を含めてもよい。このようなネットワークページング情報は、通常、パケットのペイロードを含まないが、場合によっては含めてもよい。第2のページング情報は、第1のページング情報とは対称的に、アプリケーションイベントページング情報である。この情報は、ページング動作をトリガすべきアプリケーションの処理結果などの1つまたは複数のアプリケーションイベントを示す。ページング動作をトリガするために用いられるアプリケーションイベントは、アプリケーション情報またはデータを含む複数のパケットのペイロードの処理結果であることが多い。アプリケーションイベントの例として、Webブラウザなどの特定の通信アプリケーションに対応する完全なファイルのダウンロード成功、ダウンロードされたファイルに対応するデータの復号化、および/または1つのアプリケーションに対応する1つまたは複数の計算の完了が挙げられる。アプリケーションページングイベントをトリガしうる計算の完了例として、複数のパケットで受信されたデータを用いた1つのスプレッドシートに対応する複数の計算の完了、複数のパケットで受信したデータを用いた科学技術計算の完了などが挙げられる。このようなアプリケーショントリガイベントが特に便利なケースとして、処理が代行側である程度完了するまで、たとえば、モバイルノードがアプリケーションの処理の直接制御を再開したいと思う点までプロキシアプリケーションサーバでアプリケーションの処理が進んだ時点まで、モバイルノードのページングを行いたくない場合などが挙げられる。
操作はステップ1406からステップ1408に進み、ステップ1408ではMNアプリケーションプロキシなどのアプリケーションエージェントを操作して、ページングトリガイベント情報、たとえばステップ1406で伝達された情報を受信および格納させる。ステップ1408からステップ1406に操作が進むように図示されているが、これはページングトリガ情報を複数の異なる時点で送信しうること、たとえば所望のアプリケーションプロキシおよびページング動作の実施が必要になったときに送信しうることを示している。
ステップ1410では、モバイルノードを操作して、1つまたは複数のアプリケーション、たとえば、ピアノードとの通信のための通信アプリケーション、およびピアノードから受信したパケットのペイロードなどのコンテンツを処理するための1つまたは複数のアプリケーションを実行させる。実行されるアプリケーションとして、ファイルダウンロードアプリケーション、受信データを復号化するためのデコーダアプリケーション、表計算アプリケーション、および/またはピアノードから1つまたは複数のパケットで受信した情報および/またはデータを用いて計算を行う別のアプリケーションなどが挙げられる。
ステップ1410で1つまたは複数のアプリケーションを実行するプロセスの一環として、モバイルノードが起動してピアノードからのファイルまたは他のデータのダウンロードを開始してもよい。ステップ1412はこのような例示的操作を表わす。ステップ1412では、モバイルノードの通信アプリケーションがピアノードからのファイルのダウンロードと、ダウンロードしたファイルの情報の処理を開始する。処理される情報は、ピアノードからモバイルノードに複数のパケットで伝達されたダウンロードファイルの複数の部分、情報、またはデータなどである。
ステップ1414では、モバイルノードおよび/またはモバイルノードのネットワーク接続ポイントとして機能するアクセスノードが、アプリケーションプロキシに対して、アプリケーションの処理をモバイルノードから引き継ぐように指示する信号を送る。このような信号の送出は、たとえばスリープ状態に入る前にモバイルノードが開始してもよく、またはモバイルノードがピアノードとの対話を継続できなくなったことを検出したアクセスノードが開始してもよい。アプリケーションプロキシへの信号送達の一環として、モバイルノードがアプリケーションの処理を停止した状態および/または処理の再開をトリガする1つまたは複数のアプリケーションイベントに関する情報をアプリケーションプロキシに伝達する。さらに、モバイルノードとアプリケーションプロキシとの間のセキュリティアソシエーションを用いて、共有シークレット、すなわちピアノードとモバイルノードとの間の通信をセキュリティ保護するためのセキュリティアソシエーション情報、をアプリケーションプロキシに伝達してもよい。このセキュリティ通信は、モバイルノードとピアノードとの間で伝達される情報の暗号化/復号化に用いる別の共有シークレットでもよい。本発明の一部の実施形態では、セキュリティアソシエーション情報のアプリケーションプロキシへの転送をピアノードに通知する必要がないので通知しない。この場合、エンドツーエンドセキュリティアソシエーションがピアノードとモバイルノードとの間で存在していても、アプリケーションプロキシへの処理のハンドオフはピアノードには透過的である。
操作は、ステップ1416からステップ1422に進む。ステップ1422では、モバイルノード、またはモバイルノードのネットワーク接続ポイントとして機能するアクセスノードは、パケットのフィルタリングおよびリダイレクト情報をモバイルノードのモビリティエージェントに送る。この情報に基づき、モビリティエージェントは、前記モバイルノードに対応する宛て先アドレス宛てのパケットと、アプリケーションプロキシが処理責任を引き継いだ特定のアプリケーション(群)とをアプリケーションプロキシにリダイレクトする。この情報によって、モバイルノードに対応する宛て先アドレスを有するパケットのすべてまたは一部をアプリケーションプロキシにリダイレクトしてもよい。ただし、選択された1つまたは少数のアプリケーションに対応するパケットのリダイレクトが可能である。このような場合、前記モバイルノード宛ての複数の異なるパケットフローの処理はそれぞれ異なってもよく、一部のパケットフローをモバイルノードのアプリケーションプロキシ宛てにリダイレクトし、他のパケットフローを他の処理にかけてもよく、たとえば、MNをページングすべきか否かを判定するためのパケットコンテンツに基づきフィルタリングを行ってもよい。
ステップ1424では、モバイルノードを操作してスリープ状態に入らせる。これは、アプリケーションの処理責任をモバイルノードアプリケーションプロキシに転送した後のモバイルノードの動作例である。ステップ1426に示すように、スリープ状態中のモバイルノードは、ページングメッセージの有無を定期的に監視する。ページングメッセージの受信によってモバイルノードをよりアクティブな状態、たとえばオン状態に状態遷移させ、アプリケーションの処理およびピアノードとの対話を再開させてもよい。操作はステップ1426から、接続ノード1430を経由して、ステップ1432に進む。
ステップ1432では、モビリティエージェントを操作して、前記モバイルノードに対応する宛て先アドレスを含むパケットを受信させる。これは、ピアノードとモバイルノードとの間のパケット通信の通常プロセスの一部である。通常、モビリティエージェントはこのようなパケットをモバイルノード宛てに送る。ただし、本発明によると、モビリティエージェントはパケットをモバイルノードのアプリケーションプロキシにリダイレクトしてもよい。ステップ1434では、モビリティエージェントを操作して、モバイルノードに対応する宛て先アドレスを有する受信パケット内の情報と、受信パケットを複数の異なるフロー、たとえば複数の異なるモバイルノードアプリケーションに対応する複数のフロー、に分類するための第1および第2のパケット種別情報とを比較する。受信パケットが第1種別の場合、操作処理はステップ1434からステップ1436に進む。ステップ1436では、モビリティエージェントは、受信パケットのコンテンツの少なくとも一部と第1のページングトリガ情報とを比較して、モバイルノードをページングすべきか否かを判定する。パケットのコンテンツがページングトリガに一致したとすると、受信パケットのコンテンツとページングトリガとの一致が検出されるので、ステップ1438では、モビリティエージェントはページング動作として、たとえばページングメッセージをモバイルノードに送信する。モバイルノードの状態を反映するために、ページングトリガ情報を更新してもよい。たとえば、モバイルがスリープ状態の場合は、一部のパケットの受信によってページングをトリガしてもよく、またモバイルがアクティブ状態のときは、受信パケットを単に転送してもよい。ステップ1440では、第1種別のパケットがモバイルノードに転送される。ステップ1442では、ページの受信後、モバイルノードを操作して、第1種別のパケットの受信と処理とを行わせる。操作がステップ1442からステップ1436に進むように図示されているのは、処理がステップ1442で停止せず、第1種別のパケットの検出に伴い継続的に実行されることを示すためである。
第2種別のパケットがステップ1434で検出されると、操作はステップ1436ではなく、ステップ1444に進む。複数の異なるフローに対応する複数種別のパケットを並列処理してもよい。ステップ1444では、モビリティエージェントは第2種別のパケットを、モバイルノードではなく、モバイルノードのアプリケーションプロキシにリダイレクトする。次にステップ1448で、アプリケーションプロキシはリダイレクトされた処理対象パケットを受信する。次のステップ1450では、アプリケーションプロキシを操作して、受信した複数のリダイレクトパケットのペイロードのコンテンツを用いてアプリケーションの処理を実行させる。このアプリケーションの処理結果として、アプリケーションイベントが発生する。アプリケーションイベントとして、ファイルのダウンロード完了、特定のアプリケーションのための複数のパケットで受信したデータ/値に基づき行われる計算の完了、および/またはダウンロードしたファイルの復号化などがある。このような処理を実行するアプリケーションと共に、モバイルノードのアプリケーションプロキシからの情報に基づき、モバイルノードとの対話を継続していると思っているピアノードとの通信の監視を担う通信アプリケーションを実装してもよい。モバイルノードのアプリケーションプロキシによって実行されるアプリケーションの例として、表計算アプリケーション、ファイル復号化アプリケーションのほか、モバイルノードによって通常実行される他のさまざまなアプリケーションが挙げられる。
操作は、ステップ1450から接続ノード1452を介してステップ1454に進む。ステップ1454では、アプリケーションプロキシは、ステップ1450で実行されたアプリケーションの処理結果である1つまたは複数のアプリケーションイベントと、格納されているページングイベントトリガ情報とを比較する。トリガイベントとの一致が検出されると、操作はステップ1454から進む。ステップ1454では、アプリケーションの比較結果は通常、複数のパケットのペイロードの処理結果であるが、アプリケーションの結果がモバイルノードからの一部の情報、たとえばモバイルノードの状況を示す状態情報、モバイルノードの前のアプリケーション結果、またはモバイルノードから伝達された他の何らかの情報、を用いてアプリケーション処理にかけられた1つのパケット内の情報の結果である場合もある。したがって、単一パケットと、モバイルノードからの何らかの情報との組み合わせによってモバイルノードのページングをトリガしてもよい。
ページングイベントのトリガ要件が満たされたことが検出されと、ステップ1456で、アプリケーションプロキシがページング動作を開始する。これは、たとえば、ページング動作を開始するページングメッセージをモバイルノードのモビリティエージェントに送ることによって行ってもよい。場合によっては、ページングメッセージは、モバイルノードのページングを開始するための情報が含まれた第1種別のパケットを含む。モバイルノードのページングをトリガするためのページングメッセージの送信をサブステップ1457に示す。
操作はステップ1456からステップ1458および1462に進む。ステップ1458では、モビリティエージェントを操作して、アプリケーションプロキシからのページングメッセージの受信に応じてモバイルノードのページングを行わせる。次のステップ1460では、モバイルノードがスリープ状態の場合は、ページメッセージの受信に応動してモバイルノードをスリープ状態からアクティブ状態に状態遷移させる。したがって、パケットフローのリダイレクトが終了し、パケットが再度モバイル宛てに送られるまでに、モバイルは十分にアクティブな状態になるので、パケットを受信し、アプリケーション処理を続行できる。操作はステップ1460からステップ1470に進む。
ステップ1462では、アプリケーションプロキシを操作して、アプリケーションの処理結果とアプリケーションの状態情報とをモバイルノードに送信させる。これによって、モバイルノードは、アプリケーションプロキシがアプリケーションの処理を担わなくなった時点から、アプリケーションの処理を再開できる。次のステップ1464では、アプリケーションプロキシはモビリティエージェントに対して、前記モバイルノードに対応する宛て先アドレスを有するパケットのアプリケーションプロキシへのリダイレクトをモビリティエージェントにやめさせるためのメッセージを送信する。このメッセージによってモビリティエージェントでパケットフローフィルタリング情報を更新することによって、第2種別のパケットのアプリケーションプロキシへのリダイレクトを停止してもよく、多くの場合はそうする。操作はステップ1464からステップ1468に進む。ステップ1468でモバイルノードがアプリケーション状態情報をアプリケーションプロキシから受信すると、操作はステップ1470に進む。
ステップ1470では、モバイルノードはピアノードからパケットを受信し、モバイルノードのページングを引き起こしたアプリケーションの処理結果をアプリケーションプロキシが検出した時点からアプリケーションの処理を再開する。その後、ピアノードとの通信セッションに対応するモバイルの例示的処理に関する操作は、たとえばピアノードとの特定の通信セッションの終了または他の方法での完了に応じてステップ1472で停止する。図14〜図17の例示的フローでは単一のハンドオフが図示されているが、モバイルノードとモバイルノードのアプリケーションプロキシとの間では、単一の通信セッション中に複数の処理ハンドオフが可能である。
次に、本発明のさまざまなセキュリティ上の特徴を説明する。図13の図面1300は、通信相手ノードCN1114と、モバイルノードMN1102と、(アプリケーションエージェントモジュールを含む)MNPS1140とを示す。CN1114は、第1のシークレット1304と第1のセキュリティルーチン群1306とを含む第1のセキュリティアソシエーション1302と、通信ルーチン群1308とを含む。MN1102は、第1のシークレット1330と第1のセキュリティルーチン群1332とを含む第1のセキュリティアソシエーション1328と、通信ルーチン1334と、第2のシークレット1338と第2のセキュリティルーチン群1340とを含む第2のセキュリティアソシエーション1336と、ヘッダおよびペイロードの処理ルーチン1342とを含む。MNPS1140は、第1のシークレット1312と第1のセキュリティルーチン群1314とを含む第1のセキュリティアソシエーション1310と、通信ルーチン1316と、第2のシークレット1320と第2のセキュリティルーチン群1322とを含む第2のセキュリティアソシエーション1318と、ヘッダおよびペイロードのチェックおよび修正ルーチン1324と、ヘッダおよびペイロードの処理ルーチン1326とを含む。本発明の1つの特徴によると、共有される第1のシークレット1304、1330は、CN1114とMN1102との間に存在し、第2のセキュリティアソシエーション1336、1318を用いてMN1102によって安全にMNPS1140に転送されるので、MNPS1140はMN1102の代わりにセキュリティプロセスとパケット処理とを引き継ぐことができる。セキュリティルーチン1306、1332は、CN1114が使用する暗号化/復号化ルーチン群と同じでもよく、CN1114とMN1102との間で伝達される情報の符号化および復号化に用いることができる。
次に3つの可能な構成を説明する。第1の構成では、MN1102がCN1114からのパケットをMNPS1140経由で受信するとき、MNPS1140はパケットヘッダおよび/またはペイロードをヘッダおよびペイロードのチェックおよび修正ルーチン1324によってセキュリティ検査と修正とを行ってから、このパケットをMN1102に転送できる。これによって、第1の共有シークレット1330をMN1102から安全に受信する正規の「介入者」がMNPS1140に作成されるので、MNPS1140はこのような介入者として振舞うことができる。MN1102から受信した第1の共有シークレット1330はMNPS1140の第1のシークレット1312に格納される。これは、第1の共有シークレット1330の用途が、パケットの認証、パケットの完全性保護、および/またはパケット暗号化であっても実施できる。MN1102からCN1114へのパケットに対しても同じ処理を実施でき、CN1114は、MN1102に対するサポートノードであるMNPS1140の存在に通常気づかない。MNPS1140による処理によって、MN1102へ/からのパケットであると主張する不正なパケットを破棄することも、SIP信号および資源予約などのサービスの特徴をオペレータ制御にするために、MN1102によってMNPS1140に伝達されたパラメータの読み取りおよび調整を行うこともできる。
第2の構成では、MN1102はその第1の共有シークレット1330をMNPS1140に伝達できるので、MNPS1140はMN1102のプロキシとしてCN1114との通信セッションに安全に参加できる。したがって、MN1102は、たとえばスリープ状態に入ることも、または他の方法で一時的に通信システムから離れることもできる。ここでもまた、MNPS1140がMN1102で使用される通信パラメータ(IPアドレスおよびセキュリティプロセスなど)と同じ通信パラメータを用いてMN1102の代わりに動作するので、CN1114はMN1102の不在に気づかない。
ハイブリッドモードでは、MNPS1140はパケットフローごとに介入者またはプロキシのどちらか一方として動作でき、MN1102の制御下で介入者モードとプロキシモードとを時間で切り替えることができるので、MNPS1140による処理によって介入者モードから/への遷移を引き起こすことができる。なお、プロキシモードでは、MNPS1140でのプロキシ処理の結果としてのパケットは、その後、CN1114(第1のシークレット1304)およびMNPS1140(第1のシークレット1312)との第1の共有シークレット1330を使用するか、または第1の共有シークレット1330をMN1102からMNPS1140に安全に転送するために使われたMN1102とMNPS1140との間の第2のセキュリティアソシエーション1318(第2の共有シークレット1320は使用してもしなくてもよい)を使用して、MN1102に安全に転送できる。
第2のセキュリティアソシエーション1318/1336で第2の共有シークレット1320/1338を使用する場合のフローを図13に示す。CN1114は、パケットフロー1348によってMNPS1140に結合される。MNPS1140は、パケットフロー1350によってMN1102に結合される。CN1114は、パケットフロー1344によってMN1102にも結合される。CN1114は、第1の共有シークレット1304と、第1のセキュリティルーチン群1306とを有する第1のセキュリティアソシエーション1302を有し、第1のセキュリティルーチン群1306は、第1のセキュリティアソシエーション1302の指図どおりに、パケット1348および1344をセキュリティ保護するために第1の共有シークレット1304をパケット1348および1344に適用する。MN1102もまた、対応する第1のセキュリティアソシエーション1328と、第1のシークレット1330と、第1のセキュリティルーチン群1332とを含み、認証、完全性チェック、および復号化を容易にするために、第1のセキュリティアソシエーション1328の指図どおりにパケット1344およびパケット1350に関するセキュリティ情報をチェックする。CN1114、MN1102、およびMNPS1140は、それぞれパケットフロー1344、1348、および1350の生成および受信を容易にするための通信ルーチン1308、1334、および1316をさらに含む。
MN1102およびMNPS1140は、それぞれ第2のセキュリティアソシエーション(1336、1318)、第2のシークレット(1338、1320)、および第2のセキュリティルーチン(1340、1322)をさらに含むので、MN1102は信号メッセージ1346を使用して、その第1のセキュリティアソシエーションのシークレット1330をMNPS1140に安全に送信できる。シークレット1330は第1のシークレット1312に保持される。MNPS1140が第1のシークレット1312と第1のセキュリティルーチン群1314とを含む第1のセキュリティアソシエーション状態を有する場合に、CN1114とMN1102との間のパケットがフロー1344AのようにMNPS1140経由で経路指定されると、MNPS1140はこれらのパケット1344Aをインターセプトし、ヘッダおよびペイロードのチェックおよび修正ルーチン1324を使用してフロー内のパケットを検証し、調整を行うことができる。次に、これらのパケットを破棄することも(セキュリティが不十分な不良パケット)、パケットの宛て先アドレス、つまりMN1102またはCN1114に転送することもできる(チェック済み、および場合によっては調整済みパケット)。なお、ヘッダおよびペイロードのチェックおよび修正ルーチン1324は、これらのパケットを修正せずに、MNPS1140でのネットワークアドレス変換、承認制御、またはアカウンティングおよびポリシープロセスなどの処理に使用する情報をヘッダまたはペイロードから抽出することもできる。一代替実施形態においては、フロー1348のように、パケットの宛て先をMN1102のプロキシとして機能するMNPS1140にすると、MNPS1140はパケットのセキュリティ保護を行うために、第1または第2のセキュリティアソシエーション1310、1318をそれぞれ使用してチェックおよび修正したパケット1350をMN1102に転送する。なお、フロー1350は、パケットフロー1348がMNPS1140で受信された後、かなりの時間が経ってから発生させることができる。
MN1102およびMNPS1140は、それぞれヘッダおよびペイロードの処理ルーチン1342、1326をさらに含む。これらのルーチンは、パケットの受信と、その後に通信フローのエンドポイントが引き受けるアプリケーション状態の生成などのペイロード処理とを表わす。MNPS1140のヘッダおよびペイロードの処理1326によって、MNPS1140はプロキシとして機能し、着信フロー1348からフロー1350を発行できる。フロー1348は、ソースおよび宛て先アドレス、および送信期間以外は、フロー1350と同じである。一方、フロー1352は、フロー1348から派生してトリガされるフローであり、パケットフロー1348のアプリケーション処理を反映して、パケットの数、サイズ、およびペイロードのコンテンツなどがフロー1350とは異なる。ここでも、フロー1352は、第1または第2のセキュリティアソシエーション1310、1318のどちらかを使用してセキュリティ保護でき、MNPS1140でのフロー1348の受信時またはしばらく後で送出できる。次に、MN1102のヘッダおよびペイロードの処理ルーチン1342はフロー1344、1350、および1352を受信し、パケットのソースおよび宛て先アドレスとセキュリティヘッダ情報とから、適用すべきセキュリティアソシエーションとパケットの発信元とを把握した後に、このパケットフローからのアプリケーションデータを安全に取得できる。
MNPS1140が第2のセキュリティアソシエーション1318/1336およびメッセージ1346を用いてMN1102の第1のセキュリティアソシエーション1328(第1のシークレット1330)を得る方法については既に説明した。あるいは、CN1114、MN1102、MNPS1140の3つのノードにアクセスして、第1のセキュリティアソシエーション(第1のシークレット)1302(1304)、1328(1330)、1310(1312)をそれぞれのノード1114、1102、1140に安全な方法で配備できるメッセージ群1354を含むセキュリティネゴシエーション信号フェーズ中に、第1のセキュリティアソシエーションをCN1114の第1のセキュリティアソシエーション1302(第1のシークレット1304)として、またMN1102の第1のセキュリティアソシエーション1328(第1のシークレット1330)として配備するときに、同時に第1のセキュリティアソシエーションl310(第1のシークレット1312)をMNPS1140に配備することもできる。
本願明細書に記載されているさまざまな実施形態において、本願明細書に記載のノードは本発明の1つまたは複数の方法に対応する複数のステップ、たとえば信号処理、メッセージの生成、および/または送信ステップ、を実行するための1つまたは複数のモジュールを用いて実施される。したがって、一部の実施形態においては、本発明のさまざまな特徴はモジュールを用いて実施される。このようなモジュールはソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせを用いて実施してもよい。上記の方法または方法ステップの多くは、付加ハードウェアが付いた、または付いていない汎用コンピュータなどの機械を制御するために、機械可読媒体、たとえばRAM、フロッピー(登録商標)ディスクなどのメモリ装置に含まれたソフトウェアなどの機械が実行可能な命令を用いて、上記の方法のすべてまたは部分を、たとえば1つまたは複数のノードに実装することによって実施できる。したがって、本発明は、機械、たとえばプロセッサと関連ハードウェア、に上記の方法(群)の1つまたは複数のステップを実行させるための機械が実行可能な命令を含む機械可読媒体を特に目的とする。本発明の方法と装置は、多くのOFDM、CDMA、および他の非OFDMシステムを含む広範囲な通信システムに適用可能である。
本発明の方法と装置は、CDMA、直交周波数分割多重方式(OFDM)、および/またはアクセスノードとモバイルノードとの間に無線または固定通信リンクを提供するために使用しうるその他のさまざまな種類の通信技法で使用してもよく、さまざまな実施形態では使用している。一部の実施形態においては、アクセスノードは、OFDMおよび/またはCDMAを使用してモバイルノードとの通信リンクを確立する基地局として実装される。さまざまな実施形態において、モバイルノードはノートブックコンピュータ、携帯情報端末(PDA)、または本発明の方法を実施するための受信器/送信器回路とロジックおよび/またはルーチンを含む他の携帯型装置として実施される。
上記の本発明の方法と装置に対する多数の追加変更は、本発明の上記説明から当業者には明らかであろう。そのような変更は本発明の範囲に含まれると考えられる。