(57)【特許請求の範囲】
【請求項１】
モバイルノードに割り当てられた複数のネットワークアドレスにまたがる仮想プライベートネットワーク構造を維持する方法であって、
前記モバイルノードが、仮想プライベートネットワーク・トンネル・サーバと前記モバイルノードとの間に仮想プライベートネットワーク・トンネルをセットアップするステップであって、前記仮想プライベートネットワーク・トンネルをサポートする仮想プライベートネットワーク構造は、前記モバイルノードに対して指定されたホームアドレスに基づくステップと、
前記モバイルノードが、前記ホームアドレスを前記ホームアドレスとは異なる新しいネットワークアドレスに変更するステップと、
前記モバイルノードが、前記仮想プライベートネットワーク・トンネル・サーバに前記新しいネットワークアドレスを指定するバインディング・アップデートを送信するステップと、
前記仮想プライベートネットワーク・トンネル・サーバが、前記モバイルノードの前記新しいネットワークアドレスから前記ホームアドレスへの対応付けられた関係を作成するステップと、
前記モバイルノードが、前記仮想プライベートネットワーク・トンネル・サーバにパケットを送信するステップであって、前記パケットの送信元アドレスフィールドに前記新しいネットワークアドレスがセットされ、前記パケットの拡張ヘッダ内に前記ホームアドレスがセットされるステップと、
前記仮想プライベートネットワーク・トンネル・サーバが、前記仮想プライベートネットワーク構造の検索の前に、前記新しいネットワークアドレスを、受け取った前記パケットの前記拡張ヘッダ内の前記ホームアドレスに置き換えて、前記ホームアドレスを使用して前記検索を行い前記仮想プライベートネットワーク構造を維持するステップと
を含むことを特徴とする方法。
【請求項２】
前記仮想プライベートネットワーク構造は、セキュリティ構造を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記セキュリティ構造は、インターネットセキュリティ構造を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記仮想プライベートネットワーク構造は、トンネル構造を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記作成するステップは、前記仮想プライベートネットワーク・トンネル・サーバにより、マッピング構造をアップデートし、前記バインディング・アップデートで提供される前記新しいネットワークアドレスの情報を組み込むことを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記置き換えは、パケットアドレス・ハンドリングポリシーを実装する中間プロトコルスタック層によって行われ、前記受け取ったメッセージパケットは、その後、前記中間プロトコルスタック層のクライアントに渡されることを特徴とする請求項１に記載の方法。
【請求項７】
前記中間プロトコルスタック層は、インターネットプロトコル層を含むことを特徴とする請求項６に記載の方法。
【請求項８】
モバイルノードに割り当てられた複数のネットワークアドレスにまたがる仮想プライベートネットワーク構造を維持する方法を実行するコンピュータ実行可能命令を記録するコンピュータ可読媒体であって、
前記方法は、
前記モバイルノードが、仮想プライベートネットワーク・トンネル・サーバと前記モバイルノードの間に仮想プライベートネットワーク・トンネルをセットアップするステップであって、前記仮想プライベートネットワーク・トンネルをサポートする仮想プライベートネットワーク構造は、前記モバイルノードに対して指定されたホームアドレスに基づくステップと、
前記モバイルノードが、前記ホームアドレスを前記ホームアドレスとは異なる新しいネットワークアドレスに変更するステップと、
前記モバイルノードが、前記仮想プライベートネットワーク・トンネル・サーバに前記新しいネットワークアドレスを指定するバインディング・アップデートを送信するステップと、
前記仮想プライベートネットワーク・トンネル・サーバが、前記モバイルノードの前記新しいネットワークアドレスから前記ホームアドレスへの対応付けられた関係を作成するステップと、
前記モバイルノードが、前記仮想プライベートネットワーク・トンネル・サーバにパケットを送信するステップであって、前記パケットの送信元アドレスフィールドに前記新しいネットワークアドレスがセットされ、前記パケットの拡張ヘッダ内に前記ホームアドレスがセットされるステップと、
前記仮想プライベートネットワーク・トンネル・サーバが、前記仮想プライベートネットワーク構造の検索の前に、前記新しいネットワークアドレスを、受け取った前記パケットの前記拡張ヘッダ内の前記ホームアドレスに置き換えて、前記ホームアドレスを使用して前記検索を行い前記仮想プライベートネットワーク構造を維持するステップと
を含むことを特徴とするコンピュータ可読媒体。
【請求項９】
前記仮想プライベートネットワーク構造は、セキュリティ構造を含むことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１０】
前記セキュリティ構造は、インターネットセキュリティ構造を含むことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１１】
前記仮想プライベートネットワーク構造は、トンネル構造を含むことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１２】
前記作成するステップは、前記仮想プライベートネットワーク・トンネル・サーバにより、マッピング構造をアップデートし、前記バインディング・アップデートで提供される前記新しいネットワークアドレスの情報を組み込むことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１３】
前記置き換えは、パケットアドレス・ハンドリングポリシーを実装する中間プロトコルスタック層によって行われ、前記受け取ったメッセージパケットは、その後、前記中間プロトコルスタック層のクライアントに渡されることを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１４】
前記中間プロトコルスタック層は、インターネットプロトコル層を含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にはコンピュータシステムの領域に関する。より詳細には、本発明は、モバイルネットワークノードのネットワーク接続性を維持する方法およびシステムに関する。モバイルネットワークノードの例には、無線ネットワーク通信インターフェースを有する携帯型コンピューティングデバイスが含まれる。さらに詳細には、本発明は、ネットワーク内の他のノードが、モバイルノードに現在割り当てられた物理的なネットワーク（例えばインターネットプロトコル）アドレスが変化した後でもそのモバイルノードと通信できるようにする方法およびシステムを対象とする。
【背景技術】
【０００２】
モバイルネットワーキングサービスは、携帯型コンピューティングデバイスが、一般には一時的に、ユーザによって様々な場所に移動される際に任意数のネットワークに接続することを助ける。そのような機能は、必ずしもそうとは限らないが通例は無線ＷＡＮ／ＬＡＮ接続に関連する。例えば、ノート型コンピュータは、地理的に異なる場所にある複数の無線ホットスポットの１つを介してネットワーク（またはそのサブネット）に接続することができる。携帯デバイスは、そのような無線サブネットの１つに接続する際、一意のネットワーク（例えばインターネットプロトコル）アドレスを受信する。モバイルコンピューティングの側面の１つは、モバイルノードが永続的な「ホーム」アドレスとは異なる現在のアドレスを使用してネットワークに接続されているにもかかわらず、他のコンピューティングノードが、モバイルノードへの通信アクセスを維持する能力を維持できるようにすることである。したがって、いずれかの時点でモバイルノードのネットワークアドレスが変わり、それ以後は、他のノードは、新しいネットワークアドレスにあるそのモバイルノードと通信するという現実的な見込みに対処する機構がいくつか開発されている。
【０００３】
ネットワークがモバイルノードのネットワークアドレスの変化に対応する従来の周知の方式を説明する前に、関連する例示的なネットワークプロトコルを簡単に説明する。いくつかのネットワークプロトコルが、携帯コンピューティングデバイスのための一時的な接続の確立と、そのようなコンピューティングデバイスのネットワークアドレスの割り振りをサポートしている。周知のＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）では、マシンがネットワークに接続すると、マシンにインターネットプロトコルアドレスを中央から自動的に割り当てることができる。ＤＨＣＰでは、コンピュータはネットワーク中の別の場所に移動され、その新しい場所に対応する新しいインターネットプロトコルアドレスを自動的に受け取ることができる。ＤＨＣＰは、割り当てられた特定のインターネットプロトコルアドレスが、接続されたコンピュータについて有効である可変量の時間を割り当てる、ネットワークアドレスの「リース」機能を組み込む。ＤＨＣＰは、多数のコンピュータに割り当てるために利用できるインターネットプロトコルアドレスの数が限られたネットワーク環境で特に有用である。
【０００４】
ポイントツーポイントプロトコル（ＰＰＰ）は、２台のコンピュータ（例えば電話回線を介してサーバに接続されたパーソナルコンピュータ）間のシリアル通信のための通信プロトコルである。ＰＰＰは、インターネットプロトコルを使用し、データリンク層（レイヤ２）のサービスを提供する。詳細には、ＰＰＰは、ＴＣＰ／ＩＰまたは他のネットワーク層プロトコルのパケットをパッケージし、そのパケットをクライアントから、そのクライアントのインターネットへのゲートウェイとして機能するサーバに転送する。
【０００５】
モバイルコンピューティングに関連する可能性のある他のプロトコルには、ポイントツーポイントトンネリングプロトコル（ＰＰＴＰ）とレイヤ２トンネリングプロトコル（Ｌ２ＴＰ）がある。ＰＰＴＰは、ＰＰＰの拡張であり、公衆ネットワーク（例えばインターネット）上のプライベートな「トンネル」を通じてネットワークの拡張を容易にする。この形態の相互接続は、仮想私設網（ＶＰＮ）と称され、ＰＰＰクライアントのサポートを有するコンピュータが、インターネットサービスプロバイダを介してサーバとの間に安全な接続を確立することを可能にする。Ｌ２ＴＰは、ＰＰＴＰの変形である。これらのトンネリングプロトコルは両方とも、ローカルアクセスコンセントレータを使用して公衆ネットワークリンクを通じてパケットをトンネリングすることを可能にし、それにより、クライアントとサーバ間の安全な通信を保証するために長距離の電話接続を確立する潜在的な必要性を回避する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
周知のネットワーキング環境では、「ホーム」ネットワーク場所に関連付けられた比較的永続的なネットワークアドレスが、モバイルコンピューティングノードに割り当てられる。しかし、モバイルノードがそのホームネットワークの外側の場所から接続する場合、ネットワーク通信サーバは、例えばＤＨＣＰを使用して、ホームネットワーク位置の外側からの接続を支援するために一時的な現在のアドレスをモバイルノードに割り当てる。モバイルノードがホームアドレスではなく一時的な現在のアドレスを使用している時間中、通信相手ノード（すなわちそのモバイルノードとの通信を求める他のノード）は、以前にそのモバイルノードに提供されたアドレスを使用する。通例、モバイルノードの現在の非ホームアドレスを通知されない限り、通信相手ノードは、モバイルノードにパケットを送信する際にモバイルノードのホームアドレス（パーマネントアドレス）を用いる。モバイルノードがそのホーム位置と異なるネットワーク上の場所で接続された場合、ホームアドレスは、モバイルノードの現在のアドレスと一致しない。周知のネットワーク構成では、そのような事例は、モバイルノードのホームネットワーク上にモバイルノードのためのホームエージェントを提供することによって対処される。ホームエージェントは、特定のホームネットワークアドレスを有するモバイルノードの現在のアドレスを保持する。ホームエージェントは、モバイルノードのホームネットワークアドレスを宛先とするパケットを受信し、トンネリングプロトコルに従ってそのパケットをカプセル化し、カプセル化したパケットをモバイルノードの現在のアドレスに渡す。エンベロップの「送信元」アドレスと「宛先」アドレスはそれぞれ、ホームエージェントと、ノードの一時的な現在のポイントオフアタッチメント（ｐｏｉｎｔ  ｏｆ  ａｔｔａｃｈｍｅｎｔ）を識別し、一方、カプセル化されたパケットは、受信されるパケットの本来の送信元と宛先アドレスを識別する。
【０００７】
以下は、周知のホームエージェントを利用したモバイルネットワーキング構成の動作の具体例である。ホームネットワークアドレス１．１．１．１を有するモバイルノードが現在、一時的に割り当てられた２．２．２．２という非ローカルアドレスを介して、遠隔から自身のホームネットワークに接続されている。ネットワークアドレス７．７．７．７を有する通信相手ノードが、モバイルノードのホームアドレス１．１．１．１を使用してモバイルノードと通信している。ホームエージェント（アドレス１．１．１．０を有する）が、モバイルノードの現在の非ローカルアドレス２．２．２．２を認識しており、モバイルノードのホームアドレス（１．１．１．１）を識別するパケットを傍受する。ホームエージェントは、トンネリングプロトコルに従って、ホームアドレス１．１．１．１を宛先とするパケットをカプセル化する。結果得られるカプセル化されたパケットは、ホームエージェントの送信元アドレス（１．１．１．０）とモバイルノードの現在のアドレス（２．２．２．２）を指定する。
【０００８】
ホームエージェントは、モバイルノードネットワーキング環境で生じるいくつかのネットワークアドレス追跡問題を解決する。例えば、通信相手ノードとモバイルノードの両方が同時に移動する場合は、各ノードから相手ノードの最後に分かっているアドレスに提供される対応付け更新が相手ノードに届かない可能性がある。２つのノードがセッションに参加している場合、そのセッションは、正しいアドレスが失われるために継続することができない。一方、２つのノードそれぞれにホームエージェントが存在する場合は、両ノードは、各自のホームアドレスを使用して通信を継続することができる。ホームエージェントは、ホームアドレスを識別するパケットを傍受し、モバイルノードと通信相手ノードの現在の（「気付け（ｃａｒｅ−ｏｆ）」）アドレスにそのパケットを渡す（トンネリングする）。
【０００９】
モバイルノードに関して生じる可能性のある別のアドレス追跡問題は、名前をネットワークアドレスに関連付けるドメイン名システム（ＤＮＳ）サーバが、モバイルノードに関連付けられた名前に対して古いアドレスをキャッシュしていた場合に、新しいノードがモバイルノードに接触する能力に関する。そのような事例で、ＤＮＳサーバ、あるいはより一般的にはネームサーバは、名前を指示されたモバイルノードに指定された、キャッシュされたアドレスの有効期間（ｔｉｍｅ−ｔｏ−ｌｉｖｅ（ＴＴＬ））が満了するまで、古い／無効なアドレスを提供し続ける。ホームエージェントは、ＤＮＳサーバから新しいノードに提供されたモバイルノードの（ホーム）アドレスを含むパケットを傍受する（そしてその後そのパケットをモバイルノードにトンネリングする）ことにより、この問題に対処する。モバイルノードは、トンネリングされたパケットを受信すると、対応付け更新を介してその新しいアドレスを新しいノードに通知することができる（そして以後ホームエージェントはバイパスされる）。
【００１０】
さらに別のアドレス追跡の問題は、ネットワークアドレストランスレータ／ファイアウォールの後ろ側にモバイルノードを移動することに関連する。この場合、ホームエージェントは、新しいクライアントからモバイルノードへのトラフィックをトンネリングする。ホームエージェントは、ＮＡＴ／ファイアウォールの後ろ側からモバイルノードによってホームエージェントに対して開始された以前の通信の結果、モバイルノードと通信するための開かれたポートを有している。新しいクライアントは、モバイルノードの既知のホームアドレスを使用して、（ホームエージェントを通じて）間接的にモバイルノードと通信する。ホームエージェントは、ネットワークアドレス／通信を管理する複雑性を増大させるものの、モバイルノードが多く存在するネットワーク環境では、不可欠ではなくとも有用な構成要素と考えられている。
【００１１】
モバイルノードに伴うさらに別の課題は、モバイルノードが、そのホームネットワークへの仮想私設網トンネルを作成した後にまだホームネットワークの外側にある間にアドレスを変更する可能性である。新しいアドレスは、以前に作成された仮想私設網のトンネル構造を古くしてしまう。そのような事例では、新しいトンネルと、ネットワークセキュリティ構造を含む関連する構造が、モバイルネットワークアドレスが変わるたびに作成される。大きく移動するモバイルネットワークノードの場合、そのような断絶は、全体的なユーザエクスペリエンスを大きく損なう。
【課題を解決するための手段】
【００１２】
本発明は、モバイルノードに新しいネットワークアドレスが割り当てられた際に生じる上述の問題に対処する方法およびネットワーク管理フレームワークを備える。詳細には、本発明は、モバイルノードに割り当てられた複数のネットワークアドレスにまたがる仮想私設網構造を維持するモバイルノードによって行われる方法を備える。初めに、モバイルノードと仮想私設網トンネルサーバとの間に仮想私設網トンネルが確立される。仮想私設網トンネルをサポートする仮想施設網構造は、そのモバイルノードに指定されたホームアドレスに基づく。その後、モバイルノードに新しいネットワークアドレスが割り当てられる。新しいネットワークアドレスは、モバイルノードのホームアドレスと異なる。
【００１３】
モバイルノードは、新しいネットワークアドレスを指定する対応付け更新を仮想私設網トンネルサーバに送信することにより、仮想私設網トンネルサーバに新しいネットワークアドレスを通知する。モバイルノードの新しいネットワークアドレスからホームアドレスへの対応付けられた関係が作成される。この対応付けられた関係は、ネットワーク通信プロトコルスタックの下位層内の置き換えロジックとともに、モバイルノードのホームアドレスに基づいた仮想私設網構造を引き続き使用することを容易にする。
【００１４】
本発明はさらに、モバイルノードと、上記のアドレス対応付け機能を組み込むコンピュータ実行可能命令として実施される。さらに、仮想私設網構造の再使用は、本発明の特定の実施形態により、セキュリティ構造やトンネル構造を含む各種の形態をとることができる。
【００１５】
さらに、本発明の実施形態では、方法はさらに、モバイルノードの新しいアドレスが、再使用されるデータ構造を使用して特定のセキュリティ動作およびトンネル動作を行うために使用されるホームアドレスに対応付けられるように、ＶＰＮトンネルサーバが対応付け構造を更新することを含む。モバイルノードも、そのような対応付けられたアドレス関係を保持する。したがって、ホームアドレスとネットワークアドレスの間に対応付けられた関係を作成した後、モバイルノードは、新しいネットワークアドレスを含むメッセージパケットを仮想私設網トンネルサーバから受信すると、受信したメッセージパケットの宛先フィールドの新しいネットワークアドレスをホームアドレスに置き換える。本発明の一実施形態では、この置き換えは、ＴＣＰ／ＩＰプロトコルスタックの中間（ＩＰ−インターネットプロトコル）層で行われる。さらに、このような置き換えは、モバイルノードから受信されるパケットで、仮想私設網トンネルサーバにより、逆のメッセージ送信方向で行われる（受信メッセージの拡張に提供されるホームアドレスに基づいて）。
【００１６】
特許請求の範囲は本発明の特徴を詳しく述べるが、本発明とその目的および利点は、添付図面と合わせて以下の詳細な説明を読むことから最もよく理解することができる。
【発明を実施するための最良の形態】
【００１７】
モバイルネットワークノードに関連付けられた変化するアドレスをサポートする例示的な方法およびフレームワークがここに開示される。そのようなサポートは、モバイルネットワークノードの強化を通じて提供され、ＤＮＳを利用する。モバイルノードに現在のネットワークアドレスを動的に割り当てるＤＨＣＰ（ダイナミックホスト構成プロトコル）サーバおよびＶＰＮ（仮想私設網）サーバ（または機能的に同等なもの）が、権限ネームサーバに現在のネットワークアドレスを提供し、その後、通信相手ノードに、複製されたネームサーバにキャッシュされたアドレスではなく、権限ネームサーバから提供されるアドレスに基づいてモバイルノードについての各自のアドレスを更新させる。
【００１８】
より詳細には、モバイルノードは、その名前とアドレスの対応付けすべてを、ゼロのｔｉｍｅ−ｔｏ−ｌｉｖｅを使用してそのノードの権限ＤＮＳサーバに登録する。ｔｉｍｅ−ｔｏ−ｌｉｖｅをゼロに指定することにより、非権限（キャッシング／複製された）ＤＮＳサーバまたはクライアント上のＤＮＳネームレゾルバ（ｒｅｓｏｌｖｅｒ）が、キャッシュに名前／アドレスの組合せを格納しないことが確実になる。したがって、通信相手ノードは、モバイルノードの場所が変化したためにモバイルノードの現在のアドレスを見失った時に、非権限リーフＤＮＳサーバまたは自身のネームレゾルバキャッシュに記憶された古いアドレスに依存しない。
【００１９】
本発明の例示的実施形態の第２の態様は、セキュリティドメインの仮想私設ノードサーバへの仮想施設網接続を開始するようにモバイルノードを構成し、モバイルノードは、そのセキュリティドメインの外側から接続を確立する際にそのセキュリティドメインに関連付けられることを含む。モバイルノードは、ホームセキュリティドメインの外側で新しいネットワークに最初にログインする（そして新しいネットワークにおける新しいアドレス構成を受け取る）と、そのホームセキュリティドメイン内のＶＰＮサーバを介して自身のホームセキュリティドメインへのトンネリング接続を確立する。ＶＰＮサーバは、そのホームセキュリティドメインにおけるモバイルノードの新しいアドレスを設定する。新しいアドレスは、そのホームセキュリティドメインの権限ＤＮＳサーバに記憶される（ｔｉｍｅ−ｔｏ−ｌｉｖｅはゼロ）。通信相手ノードは、モバイルノードの以前のアドレスを使用してアドレスの失敗を登録すると、権限ＤＮＳサーバによって提供される新しいアドレスを取得して、ＶＰＮサーバによってサポートされるトンネリング接続を介してモバイルノードと通信する。仮想私設網接続の確立は、セキュリティドメインが公衆である場合、すなわちネットワーク上のマシンが他のネットワークのマシンから直接アクセス可能である場合は必要でない。
【００２０】
さらに、本発明の例示的実施形態では、モバイルノードが新しい外部ネットワークアドレスに移動した際に、以前に確立されたＶＰＮトンネルが再使用される。そのような能力は、モバイルインターネットプロトコルパケットでサポートされる拡張ヘッダと、責任のあるＶＰＮサーバに発行される対応付け更新を使用して、現在の外部の気付けネットワークアドレス（ｃａｒｅ  ｏｆ  ｎｅｔｗｏｒｋ  ａｄｄｒｅｓｓ）をモバイルノードのホームアドレスに対応付けることによって容易にされ、これが、ＶＰＮトンネルに従って保持される再使用される構造の基盤をなす。したがって、ＶＰＮトンネルとそれに関連付けられた構造を初めにセットアップすると、その構造は、モバイルノードが新しい外部の気付けネットワークアドレスを受け取るのに伴い保持される。
【００２１】
図１に、モバイルコンピューティングデバイスが接続することが可能な、通信的に結合された複数のネットワークによってサポートされる環境で使用されるモバイルコンピューティングデバイス（ノート型またはタブレット型コンピュータ）に適した動作環境１００の一例を示す。動作環境１００は、適切な動作環境の一例に過ぎず、本発明の使用または機能の範囲についての限定を示唆するものではない。本発明に使用するのに適する可能性がある他のよく知られるコンピューティングシステム、環境、および／または構成には、これらに限定しないが、パーソナルコンピュータ、サーバコンピュータ、ラップトップ／ポータブル／タブレットコンピューティングデバイス、マルチプロセッサシステム、マイクロプロセッサを利用したシステム、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、これらのシステムまたはデバイスを含む分散コンピューティング環境などが含まれる。
【００２２】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令との一般的関係で説明することができる。一般に、プログラムモジュールには、特定のタスクを行うか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、可能性としては、通信ネットワークを通じてリンクされた遠隔の処理デバイスによってタスクが行われる分散コンピューティング環境で動作するネットワークノード内に組み込まれる。分散コンピューティング環境では、プログラムモジュールは一般に、メモリ記憶装置を含むローカルおよび／またはリモートのコンピュータ記憶媒体に置かれる。
【００２３】
引き続き図１を参照すると、本発明を実施する例示的システムは、コンピュータ１１０の形態の汎用コンピューティングデバイスを含む。コンピュータ１１０の構成要素は、これらに限定しないが、処理装置１２０、システムメモリ１３０、およびシステムメモリを含む各種のシステム構成要素を処理装置１２０に結合するシステムバス１２１を含むことができる。システムバス１２１は、各種のバスアーキテクチャのうち任意のものを使用したメモリバスまたはメモリコントローラ、ペリフェラルバス、およびローカルバスを含む数種のバス構造のいずれでもよい。限定ではなく例として、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ  （Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとも称されるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）  バスが含まれる。
【００２４】
コンピュータ１１０は通例、各種のコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０からアクセスすることが可能な任意の利用可能媒体でよく、揮発性および不揮発性、着脱式および固定式の媒体を含む。限定ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための方法または技術として実施された、揮発性および不揮発性、着脱式および固定式の媒体を含む。コンピュータ記憶媒体には、これらに限定しないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、または所望の情報を記憶するために使用することができ、コンピュータ１１０によるアクセスが可能な他の媒体が含まれる。通信媒体は通例、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波や他のトランスポート機構などの変調データ信号として実施し、情報伝達媒体を含む。用語「変調データ信号」とは、信号中に情報を符号化するような方式でその特性の１つまたは複数を設定または変化させた信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークや直接配線接続などの有線媒体と、音響、ＲＦ、赤外線、および無線ＰＡＮ、無線ＬＡＮ、無線ＷＡＮ媒体などの無線媒体が含まれる。上記の媒体の組合せも、コンピュータ可読媒体の範囲に含めるべきである。
【００２５】
システムメモリ１３０は、読み取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ１１０内の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システム１３３（ＢＩＯＳ）は、通例ＲＯＭ１３１に記憶される。ＲＡＭ１３２は通例、処理装置１２０から即時にアクセス可能な、かつ／または処理装置１２０によって現在操作中のデータおよび／またはプログラムモジュールを保持する。これに限定しないが、例として図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２６】
コンピュータ１１０は、他の着脱式／固定式、揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。単なる例として、図１には、固定式、不揮発性の磁気媒体の読み書きを行うハードディスクドライブ１４０、着脱式、不揮発性の磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭや他の光学媒体などの着脱式、不揮発性の光ディスク１５６の読み書きを行う光ディスクドライブ１５５を示す。例示的動作環境で使用することが可能な他の着脱式／固定式、揮発性／不揮発性のコンピュータ記憶媒体には、これらに限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体素子ＲＡＭ、固体素子ＲＯＭなどが含まれる。ハードディスクドライブ１４１は通例、インターフェース１４０などの固定式メモリインターフェースを通じてシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通例、インターフェース１５０などの着脱式メモリインターフェースによってシステムバス１２１に接続される。
【００２７】
上記で説明し、図１に示すこれらのドライブとそれに関連付けられたコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶をコンピュータ１１０に提供する。図１では、例えば、ハードディスクドライブ１４１に、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７が記憶されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じものでも、異なってもよいことに留意されたい。ここでは、それらが少なくとも異なるコピーであることを表すために、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には異なる参照符号を付している。ユーザは、キーボード１６２、および一般にはマウス、トラックボール、タッチパッドと称されるポインティングデバイス１６１などの入力装置を通じてコンピュータ１１０にコマンドと情報を入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどがある。上記および他の入力装置は、システムバスに結合されたユーザ入力インターフェース１６０を通じて処理装置１２０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造で接続することも可能である。モニタ１９１または他のタイプの表示装置も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタ以外に、コンピュータは、スピーカ１９７やプリンタ１９６などの他の周辺出力装置も含むことができ、それらは出力周辺インターフェース１９５を通じて接続することができる。
【００２８】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理的接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであり、図１にはメモリ記憶装置１８１しか示していないが、通例はコンピュータ１１０との関連で上述した要素の多くまたはすべてを含む。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１とワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、インターネットに一般的に見られる。
【００２９】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、１つまたは複数の無線／有線ネットワークインターフェース１７０を通じてＬＡＮ１７１に接続される。さらに、１つまたは複数の無線／有線ネットワークインターフェース１７０のセットが、ＷＡＮ１７３を通じた通信をサポートする。図１には示していないが、コンピュータ１１０は可能性として、ユーザ入力インターフェース１６０または他の適切な機構を介してシステムバス１２１に接続された内蔵型または外付け型のモデムを含む。ネットワーク環境では、コンピュータ１１０との関連で図示するプログラムモジュールまたはその一部は、遠隔のメモリ記憶装置に記憶することができる。限定ではなく例として、図１ではリモートアプリケーションプログラム１８５がメモリ装置１８１にある。図のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用してよいことは理解されよう。
【００３０】
本発明が有利に組み込まれる例示的なネットワーク環境を説明する前に、本発明の実施形態を説明するために使用される用語を提供する。一般に、本発明は、通例は、その中に組み込まれた１つまたは複数の仮想私設網（ＶＰＮ）サーバを含むファイアウォールで保護された企業ネットワーク（会社によって維持されるネットワーク）を含むネットワーク環境で実施される。したがって、ユーザは、まず公衆ネットワークおよびホームネットワーク（自宅内のネットワーク）に接続し、その後企業ネットワークへのＶＰＮトンネルを確立することにより、企業ネットワークに接続されたリソース／エンティティにアクセスすることができる。
【００３１】
「セキュリティドメイン」とは、そのドメインへのアクセスおよびそのドメインからのアクセスが何らかの形で限定された（例えばログオンプロセスを介してユーザの識別／認証を必要とするなど）相互接続性の最小のドメインである。セキュリティドメインの例には、ファイアウォール／ＮＡＴで保護されたホームネットワーク、周辺ファイアウォールで保護された企業ネットワーク、および、アクセスは保護されないが、アクセスのドメイン範囲が、そのドメインが接続される他のセキュリティドメインによって確立された周辺ファイアウォールによって限定されるインターネットなどの保護されない公衆ネットワークが含まれる。
【００３２】
「モビリティドメイン」とは、あるノードとの間に確立されたセッションが、そのノードが１つまたは複数のセキュリティドメイン内／間を移動しても影響を受けないノードのドメインである。モビリティドメインは、可能性としては、複数のセキュリティドメインにまたがる。
【００３３】
図２に、本発明が可能性として利用される、ネットワークコンピューティング環境の単純な例が示される。この例示的環境では、実質的にどのような携帯型コンピューティングデバイス（ノート型またはタブレットＰＣ、ＰＤＡ、スマートフォンなど）の形態であってもよいモバイルノード２００は、複数のネットワークインターフェース技術を介して各種ネットワークへの接続を助ける１つまたは複数のネットワークインターフェース（明確には図示せず）を含む。図２に示す特定の例では、モバイルノード２００は、可能性としては、モバイルノード２００のホームネットワークに対応するローカルエリアネットワーク２０６に通信的に結合された無線トランシーバ２０４を通じて（８０２．１１ａ／ｂ／ｇメディア規則／プロトコルを介して）通信する。無線トランシーバ２０４（無線アクセスポイントあるいはＷＡＰとも称される）は、ＬＡＮ２０６上の各種のリソースへのアクセスを提供する。例えば、無線トランシーバ２０４は、ファイルサーバ２０８に保持されるディレクトリやＤＮＳサーバ２０９によってサポートされるネーミングサービスへのノート型コンピュータ２００によるアクセスを提供する。
【００３４】
モバイルノード２００および２１４は、その名前が示唆するように、各自のホームネットワーク（イーサネット（登録商標）リンク２０６に関連付けられる）とは異なるネットワーク上の新しいネットワークアドレスに移動し、新しいネットワークアドレスを確立することができる。図２に示す例示的なモバイルネットワーキング環境では、モバイルノード２００および２１４は、各自のホームネットワークの外側にある時には、セルラ送信塔２０２を含むセルラ送信ネットワークを介して、相互のノードを含む各種のネットワーク／リソースにアクセスする。図２に例示的に示すモバイルネットワーキング環境では、モバイルノード２００および２１４は、セルラネットワークに第１のホップ接続を提供するセルラ送信塔２０２（そしてセルラネットワークがインターネット２１２に接続される）を介して、ＬＡＮ２０６を含む他のネットワークに（直接または間接的に）接続されたエンティティと通信する。モバイルノード２００および２１４が各自のホームネットワーク（すなわちＬＡＮ２０６）の外側にある時は、仮想私設網（ＶＰＮ）サーバを含む／ＶＰＮサーバに関連付けられたゲートウェイ／ファイアウォール／モデム２１０が、インターネット２１２と、ＬＡＮ２０６に接続されたコンピューティングデバイスとの間の通信をサポートする。ＶＰＮサーバのコンポーネントは、外側のノードがＶＰＮトンネルを確立することを必要とすることにより、ＬＡＮ２０６の周辺でのネットワークトラフィックの認証を可能にする。ＶＰＮサーバがない場合は、多くの場合、ゲートウェイ／ファイアウォール／モデム２１０が、ファイアウォールの後ろに存在するエンティティから発行される要求への応答を受け付ける。ゲートウェイ／ファイアウォール／モデム２１０は、インターネット２１２のユーザによるＬＡＮ２０６上のリソースへのアクセスも提供する。
【００３５】
モバイルノード２００および２１４で実行されるアプリケーションは、可能性として、静的に接続されたクライアントノード２１１（デスクトップＰＣなど）および他のモバイルノードと、無線トランシーバ２０４およびセルラ送信塔２０２を介してピアツーピア構成でネットワーク接続を確立し、通信する。ＤＮＳサーバ２０９は、指示されたネットワークエンティティの現在のアドレスを提供することにより、そのようなピアツーピア接続をサポートする。ＤＮＳサーバ２０９は、名前を指示されたネットワークエンティティに対して、その名前についての対応アドレス（すなわち名前を指示されたネットワークエンティティのホームネットワークにおけるアドレス）を保持する。ノード２００および２１４などのモバイルノードの場合、現在のアドレスは、モバイルノードが現在ホームネットワークに接続されていない場合は、ホームアドレスと異なる可能性がある。例として、モバイルノード２００にホームネットワークアドレス１．１．１．１が割り当てられ、モバイルノード２１４にホームアドレス１．１．１．２が割り当てられる。モバイルノード２００および２１４が別のネットワークに接続する際、それらのモバイルノードは、各自に割り当てられたホームアドレスと異なる、動的に割り当てられたネットワークアドレスを受け取る。
【００３６】
ＤＮＳサーバ２０９は、名前を指示されたエンティティとの接続を確立／再確立することを要求するネットワークエンティティによって提出された名前要求に応答して、モバイルノードを含む、指示されたネットワークエンティティの現在のアドレスを提供する。さらに、ＤＮＳサーバ２０９などのＤＮＳサーバによって利用される名前／アドレス関係付けテーブルを複製してアクセスを向上させることができる。複数のＤＮＳサーバのうち、そのような１つのサーバが所与のネットワークエンティティの「権限サーバ」に指名される。
【００３７】
モバイルノードが新しいネットワークアドレスに移動すると、モバイルノード（モバイルノード２００および２１４など）の非権限ＤＮＳサーバによってネームキャッシュに保持されている現在のアドレスが一時的に不正確になる可能性がある。不正確なアドレスは、ＤＮＳサーバ間に複製が存在する場合は複製のために、更新後のアドレスに置き換えられるまで、または、そのｔｉｍｅ−ｔｏ−ｌｉｖｅ（ＴＴＬ）がゼロになるまで、ネーミングキャッシュに残る。その結果、モバイルノードがアドレスを変更すると、通信相手ネットワークノードで実行中のアプリケーションとの間の既存のセッションは、そのモバイルノードの新しいアドレスが発見され、スタックにバインドされるまで失われる／断絶する。ピアツーピア接続の両ノードがモバイルノード（例えばノード２００および２１４）であり、それらのモバイルノードが実質的に同時に各自のホームネットワークを離れる（それにより権限ＤＮＳサーバへのアクセスを失う）場合には、再発見のプロセスはさらに複雑になる。
【００３８】
一時的に図３を参照すると、本発明を実施するモバイルノード２００のための例示的プロトコルスタック３００が模式的に示される。この例示的プロトコルスタック３００は、物理層に、モバイルノード２００の物理インターフェースを介して通信を送受信するネットワークインターフェースカード（ＮＩＣ）３１０を含む。ＮＩＣ３１０は、ネットワークドライバインターフェース３２０（ＮＤＩＳ）を介して、プロトコルスタック３００の上位層と通信する。そのような上位層の１つは、ＶＰＮトンネルドライバ３３０である。ＶＰＮ／トンネルドライバ３３０は、モバイルノード２００とＶＰＮサーバ間のトンネル接続をサポートする。ＶＰＮ／トンネルドライバ３３０は、メッセージを、モバイルノード２００のホームセキュリティドメインのセキュリティドメインの外側の非ローカルアドレスを識別する適切なエンベロップにパッケージする。モバイルノードがホームネットワーク（ＬＡＮ２０６）にあって通信にＶＰＮ／トンネリング機能を利用しないときは、ＶＰＮ／トンネリングドライバ３３０は迂回される。図３に示す例示的実施形態で、ＮＤＩＳ３２０は、ＮＩＣ３１０およびＴＣＰ／ＩＰ層３４０の両方とのインターフェースをとるためにＶＰＮ／トンネルドライバ３３０によって使用されるため、トンネルドライバ３３０の一部をラッピングしている。
【００３９】
ＴＣＰ／ＩＰ層３４０（ＵＤＰドライバ機能も含む）は、例示的実施形態ではＶＰＮトンネルドライバ３３０の上と下に位置し、これは、例示的実施形態では、ＶＰＮ／トンネルドライバ３３０が、クライアントであるのと同時に、ＴＣＰ／ＩＰ層３４０から呼び出されるドライバであることを反映している。ＴＣＰ／ＩＰ層３４０は、周知のトランスポート層動作を実行する。本発明の一実施形態で、ＴＣＰ／ＩＰ層３４０は、条件付きで実行される手順を含み、（モバイルノード２００が新しいネットワークアドレスを受信した時に）対応付け更新に応答して、場所が変わったモバイル通信相手ノードから肯定応答が受信されない場合は、ＴＣＰ／ＩＰ層３４０は、その通信相手ノードに関して名前問い合わせを発行して、モバイルノードのスタックが問い合わせるように構成されているＤＮＳサーバから入手可能な最も新しい利用可能ネットワークアドレスを取得する。
【００４０】
名前登録クライアント３５０は、例示的な実施ではモバイルノード２００の動的ホスト構成プロトコル（ＤＨＣＰ）クライアントの一部であり、権限ＤＮＳサーバ２０９からリーフＤＮＳサーバに変更されたネットワークアドレスを渡す際の伝播遅延の結果、通信相手ノードがリーフＤＮＳサーバから古くなった情報を受け取らないようにする機能変更を含む。本発明の特定の実施形態では、名前登録クライアント３５０は、ホームネットワークセキュリティドメイン内でのモバイルノード２００のネットワークアドレスを設定するように動作し、リーフＤＮＳサーバが各自のネーミングキャッシュにモバイルノードの名前とアドレスの組合せを記憶しないことを求めるさらなる指示とともに、自身の権限ＤＮＳサーバ２０９に現在のアドレスを提供する。本発明の特定の実施形態では、このような機能は、名前登録クライアント３５０が、ｔｉｍｅ−ｔｏ−ｌｉｖｅ（ＴＴＬ）をゼロにして、権限ＤＮＳサーバ２０９に名前／ネットワークアドレスの更新を提供することによって達成される。非権限ＤＮＳサーバは、応答がゼロのＴＴＬを指定する場合は、権限ＤＮＳサーバからのアドレス解決応答をキャッシュしない。その結果、モバイルノード２００についてのすべての名前要求は、権限ＤＮＳサーバ２０９に保持されている名前／アドレス解決情報のみを参照して解決される。スケーラビリティの目的で、モバイルノードのみがゼロのＴＴＬ機能を含む。このようなモバイル性は、そのノードがモバイル対応の構成であるかどうか（例えばバッテリ電力およびＤＨＣＰが使用可能か）、スタートアップを検出することにより自動化することができる。
【００４１】
図３で最後に特定される構成要素は、ＶＰＮクライアント３６０である。本発明の例示的実施形態では、ＶＰＮクライアント３６０は、モバイルノード２００が現在存在するセキュリティドメインとは異なるセキュリティドメインに存在するＶＰＮサーバとのＶＰＮトンネル接続の確立を開始する。本発明の他の実施形態では、モバイルクライアントのホームネットワークにＶＰＮサーバが存在しない。その場合、モバイルノードは、周知の「ランデブー」サーバを介して、ファイアウォールで保護されたＬＡＮ２０６に戻るリンクを確立する。ランデブーサーバは、ＬＡＮ２０６の外側に存在し、モバイルノードからアクセスすることができる。ランデブーサーバは、ＬＡＮ２０６の内部のノードへの持続的な接続を維持し、その接続を利用して、ＬＡＮ２０６のファイアウォールのもう一方の側のノードに、モバイルノード２００がそのノードとの接続を確立することを求めていることを知らせる。
【００４２】
図４に、モバイルノード（例えばモバイルノード２００）によって行われる例示的ステップのセットを要約しており、このステップは、モバイルノード２００がホームネットワークアドレス（１．１．１．１）から、送信塔２０２を介してアクセスされるセルラネットワークなどの別のネットワークに関連付けられたネットワークアドレスに場所を変更したために失われた／断絶した、モバイルノード２１４などの通信相手ノードとの接続を再確立するものである。モバイルノード２００は、以前に自身のホームアドレスを、そのアドレスを非権限ＤＮＳサーバにキャッシュしないという指示（すなわちゼロのＴＴＬを指定）とともに権限ＤＮＳサーバ２０９に提供している。さらに、モバイルノード２００にはホームエージェントが存在しないと想定する。ただし、ゲートウェイ／ファイアウォール／モデム２１０にＶＰＮサーバが組み込まれる。具体的な例では、モバイルノード２００は、ＬＡＮ２０６との接続を切断すると、ゲートウェイ／ファイアウォール／モデム２１０を通じて、セルラネットワーク上の新しいアドレスから自身のホームネットワークＬＡＮ２０６にＶＰＮトンネル接続を確立する。
【００４３】
初めにステップ４００で、モバイルノード２００は、モバイルノード２００がもはやＬＡＮ２０６に接続されていないことを知らせる切断の通知を受信する。そのような切断の通知は、例として、ユーザがモバイルノード２００とＬＡＮ２０６間のネットワーク接続を切るなど、各種の状況から生じる可能性がある。それに応答して、モバイルノード２００のネットワーク通信プロトコルスタックは、切断の通知を処理し、モバイルノード２００の影響を受けるコンポーネントに対して通知を発行する。例として、切断の通知を受け取ると、プロトコルスタックコンポーネントまたはプロトコルスタックの上位に存在するアプリケーションは、新しい接続を確立するようにユーザを促すダイアログボックスを生成する。このダイアログボックスは、例示的実施形態で、利用可能な通信のネットワーク／インターフェース／モードのセットをユーザに提示する。一部の事例では、ＮＤＩＳとＴＣＰ／ＩＰスタックは、切断の通知を受け取らない場合もあることにも留意されたい（例えばモバイルワイヤレス）。代わりに、モバイルノードが、新しいアクセスポイントからメディア接続の通知を受け取る。
【００４４】
引き続きこの例で、ステップ４０２で、ユーザ（あるいは、モバイルノード２００で実行される、基準に基づいて動作する自動化されたネットワーク選択コンポーネント）が、接続を確立する新しいネットワークを選択する。この例では、ユーザが、送信塔２０２に関連付けられたセルラネットワークを選択する。その後、ステップのセットが行われて、モバイルノード２００のホームネットワーク（ＬＡＮ２０６）への新しいネットワーク接続を確立し、その新しいネットワーク接続を通じて通信相手ノードに接続する。
【００４５】
ステップ４０４で、モバイルノード２００は、セルラ無線ネットワーク（ＬＡＮ２０６と別のセキュリティドメインを有する）に接続／ログオンし、ホームネットワークアドレス（１．１．１．１）と異なる、セルラネットワークでの新しいネットワークアドレス（例えば３．３．３．１）と、構成がモバイルノード２００に動的に割り当てられる。新しいネットワークのＤＮＳサーバは、その名前解決テーブルにモバイルノードの新しいアドレス（および、新しいセキュリティドメイン内でのモバイルノードの名前）を含むように更新される。したがって、例えば、モバイルノード２００が無線トランシーバ２０４を介したＬＡＮ２０６との接続を切断し、送信塔２０２を介してセルラネットワークに再接続する場合、モバイルノード２００に割り当てられるネットワークアドレスは、ホームアドレス「１．１．１．１」からリモートネットワークアドレス「３．３．３．１」に変わる。
【００４６】
その後、ステップ４０６で、モバイルノード２００が現在モバイルノード２００のホームネットワーク（ＬＡＮ２０６）のセキュリティドメインの外側にいるかどうかが判定される。本発明の一実施形態では、モバイルノード２００は、新しいネットワークアドレスと構成を、モバイルノード２００によって保持されるポリシーに照らし合わせることにより、ホームネットワークのセキュリティドメインの外側（例えば以前接続が確立されていた通信相手ノードのセキュリティドメイン）に移動したことを判定する。例えば、モバイルノード２００のポリシーは、現在割り当てられたＩＰアドレスが１．１．ｘ．ｘ以外のネットワークを示す場合は、モバイルノード２００は自身が異なるセキュリティドメインにいるものとみなすように指定する。ポリシーはさらに、モバイルノード２００が接続すべきＶＰＮサーバはＩＰアドレス１．１．５．０を有することを指示する。
【００４７】
ステップ４０８で、モバイルノード２００で実行されるＶＰＮクライアント３６０は、例えばゲートウェイ／ファイアウォール／モデム２１０と関連して実行されているＶＰＮサーバを通じてＶＰＮトンネル接続の確立を開始する。ＶＰＮサーバ接続は、モバイルノード２００がログオンクリデンシャルのセットをＶＰＮサーバに提供した後に確立される。ログオンが成功すると、ＶＰＮサーバは、ＤＨＣＰ（ｄｙｎａｍｉｃ  ｈｏｓｔ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｐｒｏｔｏｃｏｌ）手順、あるいは２地点間プロトコル（ＰＰＰ）などの各種のプロトコルを通じて、例として１．１．１．５など、ＬＡＮ２０６におけるモバイルノード２００の新しいアドレスを確立する。したがって、ステップ４０８が完了すると、ＶＰＮサーバは、ＬＡＮ２０６のモバイルノード２００のための信頼されるメッセンジャとして動作する。ＶＰＮサーバは、モバイルノード２００の信頼されるメッセンジャとして、ＬＡＮ２０６のモバイルノード２００に、認証、セキュリティ、およびメッセージ整合性のサービスを提供する。
【００４８】
次いでステップ４１０で、モバイルノード２００は、ＶＰＮトンネル接続を通じて、自身の新しいネットワークアドレス（１．１．１．５）を権限ＤＮＳサーバ２９０に提供する。上記で説明したように、本発明の一実施形態によれば、モバイルノードは、ステップ４１０で、非権限ＤＮＳサーバがモバイルノードの新しいネットワークアドレス（１．１．１．５）をキャッシュしないように指示する。本発明の特定の実施形態では、この機能は、モバイルノード２００がゼロのＴＴＬを指定することによって達成される。その結果、モバイルノードのアドレスを得ようとするノードは、モバイルノード２００のアドレスを提供する権限ＤＮＳサーバ２０９のみに依拠することになる。
【００４９】
その後、ステップ４１２で、モバイルノード２００は、必要とされる場合、通信相手ノードの最後に分かっているアドレスに対応付け更新を発行することにより、通信相手ノードとの可能性としては失われている接続の再確立を開始する。この対応付け更新は、モバイルノードに割り当てられた新しいアドレス（１．１．１．５）、すなわちステップ４０８が完了した時点でのモバイルノード２００のためのＶＰＮサーバのアドレスを通信相手ノードに通知する。通信相手ノードもアドレスを変更している場合（例えばモバイルノード２１４もモバイルノード２００と実質的に同時に移動している場合）、対応付け更新は失敗する。モバイルノード２００は、通信相手ノードに割り当てられた一意の名前を識別する名前問い合わせを発行する。返された名前問い合わせのアドレスが、モバイルノードが現在通信相手ノードについて保持しているアドレスと異なる場合、モバイルノードは、提供されたアドレスを利用してもう１度対応付け更新を発行する。対応付け更新の応答を受信すると、ステップ４１４でモバイルノードと通信相手ノード間の接続が回復される。
【００５０】
可能な最適化として（特に、対応付け更新の意図される受信者もモバイルであることをモバイルノード２００が認識している場合）、モバイルノード２００は、最初の対応付け更新が失敗するのを待つのではなく、最初の対応付け更新要求に対する応答を受信する前に名前問い合わせを実行することに留意されたい。名前問い合わせに対する応答が最初の対応付け更新要求で使用したアドレスと異なる場合、モバイルノード２００は、さらなる対応付け更新要求を発行する。このような最適化は、結果として不必要な名前問い合わせが行われる可能性があるが、同じく場所を変えている通信相手ノードへの再接続を早める。この最適化はさらに、モバイルノード２００が場所を変えた時に、通信相手ノードとの接続の断絶の長さに対するアプリケーションの相対的な許容度のみに基づいて作動するように調整することができる。接続を再確立するための上述の構成と方法は、動的なネットワーク環境内でＤＮＳサーバとＶＰＮサーバのコンポーネントを利用して、モバイルノードが、ホームネットワークの外側のアドレス位置に移動した時に、ホームエージェントに依存せずに通信相手ノードとの接続を再確立できるようにする。
【００５１】
図５に、２つのモバイルノードがほぼ同時に場所を変えるシナリオについての通信／動作の例示的セットを示す。初めに、モバイルノードＡおよびＢ（例えばモバイルノード２００および２１４）が、各自の主要ＤＮＳの接尾文字とともに構成されている。ノードＡおよびＢは、各自のアダプタにも接続に固有のＤＮＳ接尾文字を有する。この接尾文字は、現在のポイントオフアタッチメント（ｐｏｉｎｔ  ｏｆ  ａｔｔａｃｈｍｅｎｔ）のＤＮＳドメインを決定する。ノードＡおよびＢは、個々の権限ＤＮＳサーバ５００および５０２（同じＤＮＳサーバであってもよい）に各自のアドレスを登録する。モバイルノードは、ゼロのＴＴＬを指定することにより、リーフＤＮＳサーバがそのアドレスをキャッシュしないように指示する。各自の現在のアドレスに基づいて、ノードＡとＢの間に接続が確立される。
【００５２】
しかし、ステップ１ａ、１ｂで、ノードＡおよびＢは、アドレスを変更する。次いで、ステップ２ａ、２ｂで、ノードＡおよびＢは、新しいアドレスを取得し、各自の権限ＤＮＳサーバにそのアドレスを登録する。ステップ３ａ、３ｂで、ノードＡおよびＢはそれぞれ、互いに対して対応付け更新を発行するが、対応付け更新の宛先はそれぞれのノードの古いアドレスである。そのため、対応付け更新は（可能性としては複数回）失敗する。
【００５３】
ステップ４ａ、４ｂで、ノードＡおよびＢはそれぞれ、ＤＮＳサーバ５００および５０２に問い合わせて、各自の意図する宛先の現在のアドレスを取得する。各ノードがゼロのＴＴＬを指定しているので、ステップ５ａ、５ｂで、ＤＮＳサーバ５００および５０２は、その要求をモバイルノードの権限ＤＮＳサーバに渡す。ステップ６ａ、６ｂで、権限ＤＮＳサーバ５００および５０２は、ノードＡおよびＢの新しいアドレスを返す。ステップ７ａ、７ｂで、名前問い合わせの応答がノードＡおよびＢに返される。
【００５４】
移動されたノードの最も新しいアドレスを得たノードＡとＢは、ステップ８ａ、８ｂで各自の対応付け更新を再度発行し、ステップ９ａ、９ｂで各自の対応付け更新の正常な肯定応答を受信する。対応付け更新の受信者は更新で送信者の新しいアドレスを得るので、断絶した接続（２つのノードが移動した場合）を再確立するには、ノードＡまたはＢどちらかの対応付け更新の１つのみが発行／肯定応答されればよいことに留意されたい。さらに、先に説明した最適化によれば、ノードは、名前問い合わせを発行してノードの更新されたネットワークアドレスを得る前に、１回または複数回の対応付け更新が失敗するのを待つ必要がないことにも留意されたい。
【００５５】
（迅速なＶＰＮトンネルの再使用）
モバイルノードをサポートする従来知られるシステムに対する別の強化は、ＶＰＮトンネルの扱いに関する。詳細には、本発明の一実施形態によれば、モバイルノードが１つの外部気付けアドレスから別の気付けアドレスに移動すると、モバイルノードのＶＰＮトンネルが迅速にリセットされる。この迅速なＶＰＮリセット機能は、部分的には、モバイルノードによって実装される通信スタックのＴＣＰ／ＩＰ層３４０の一番上に存在するインターネットセキュリティコンポーネント（ＩＰＳＥＣ等）によってサポートされる。
【００５６】
モバイルノード２００は、（１）それがＶＰＮトンネルを確立しようとするＬＡＮ２０６上のＶＰＮサーバのアドレスを有しており、（２）モバイルノード２００とそのＶＰＮサーバの間のネットワークアクセスサーバ（および中間にあるネットワーク）が、モバイルノード２００がＶＰＮサーバにアクセスすることを許可する場合は、自動的かつ迅速にＶＰＮ接続を確立することができる。このようなアクセスは、ＶＰＮサーバのアドレスをモバイルノード２００の構成の一部として提供することによって容易になる。アドレスは、設定ユーザインターフェースを通じて手動で提供する、ＤＨＣＰサーバから提供する、ポリシーのダウンロードを通じて提供するなど、各種の方式で提供することができる。さらに、モバイルノードが接続するネットワークは、インターネットへのアクセスを提供する。モバイルノード２００が接続する外部ネットワークの認証サーバは、インターネットへのゲスト接続をサポートし、したがって、ＶＬＡＮまたはＶＰＮを通じてノードのＬＡＮ２０６のＶＰＮサーバへの接続をサポートするように構成される。その後、モバイルノード２００は、可能性としては、入れ子構造のＶＰＮ接続（例えばゲスト接続がＶＰＮを通じて行われる場合）を利用して、ＬＡＮ２０６のセキュリティドメイン内のノードに到達する。例として、Ｌ２ＴＰ／ＩＰＳＥＣまたはＩＰＳＥＣトンネルモードのＶＰＮ接続が作成される。
【００５７】
ＶＰＮ接続のセットアップに関するパフォーマンスを最適化することにより、モバイルノード２００のネットワークアドレスが変化した時に、モバイルノード２００のために確立されたセキュリティデータ構造を迅速に再使用することが可能になる。この最適化は、ネットワーク通信をサポートする既存のプロトコルスタックへの以下の強化によって容易になる。第１に、モバイルノード２００のホームアドレスを処理した後に、ＴＣＰ／ＩＰ層３４０の上位に存在するインターネットセキュリティコンポーネント（ＩＰＳＥＣ）が呼び出され、モバイルノード２００については変更のないホームアドレスを使用して、ＶＰＮトンネルについてモバイルノードを認証する。インターネットＳＡ（セキュリティアソシエーション）は、マシン間の安全なセッションのためのコンテクストである。ＩＰセキュリティのＳＡに指定される属性には、これらに限定しないが、ＩＰアドレス、認証機構、暗号アルゴリズム、アルゴリズムモード、および鍵の材料が含まれる。インターネットＳＡは、ホームアドレスに基づき、モバイルノード２００がアドレスを変えた時に変化しない。したがって、モバイルノード２００がアドレスを変えた場合に、セキュリティ構造（例えばＩＰＳＥＣフィルタ）を更新する必要はない。
【００５８】
第２に、モバイルノード２００とＬＡＮ２０６上のＶＰＮサーバとの間に以前確立されたＶＰＮトンネルを再使用する。本発明の一実施形態では、モバイルノード２００がモバイルＩＰｖ６の規則に従って気付けアドレス間を移動する間、モバイルノード２００とＬＡＮ２０６のＶＰＮサーバ間のレイヤ２トンネリングプロトコル（Ｌ２ＴＰ）のトンネルが維持される。モバイルノード２００は、ホームセキュリティドメインにとって外部の第１の気付けアドレスをホームアドレスとして使用する。モバイルノード２００は、第１の気付けアドレスをホームアドレスに指定し、そのアドレスをトンネルおよびセキュリティ構造に使用してＶＰＮトンネルをセットアップする。その後、ホームアドレスを用いてＩＰＳＥＣフィルタがセットアップされる。
【００５９】
図６に、モバイルノードが公衆ネットワーク内で複数回アドレスを変える場合に、ＶＰＮ処理に対する上記の強化によってサポートされる迅速なＶＰＮトンネル再使用の方法を要約する。最初に、ステップ６００で、モバイルノード２００は、第１の外部気付けアドレスで、ＬＡＮ２０６上のＶＰＮサーバ（Ｌ２ＴＰトンネルのエンドポイント等）へのＶＰＮトンネルをセットアップする。モバイルノードは、外部ドメインに関しては第１の外部  気付けアドレスをホームアドレスにする。
【００６０】
ステップ６０２で、モバイルノード２００は、アドレスを第２の外部アドレスに変更する。モバイルノード２００は、ステップ６０４で、そのＶＰＮサーバ／トンネルエンドポイントに対応付け更新を送信する。対応付け更新は、例えばＩＰｖ６に従って第１のアドレスを第２のアドレスに対応付ける。ステップ６０６で、ＶＰＮサーバは、対応付け更新に応答して、自身の対応付け（当初は第１のアドレスを第１のアドレスに対応付けている）を変更して、第１のアドレスを新しい第２のアドレスに対応付けるが、以前第１の外部気付けアドレスにあるモバイルノードのためにＶＰＮトンネルが作成された際に作成された元のインターネットプロトコルセキュリティ構造（例えば、ＶＰＮトンネルを確立したクライアントの外部ネットワークにおける第１の気付けアドレスである送信元アドレス、以前のアドレスにあったクライアントに関連付けられた他のフィールドなど）をすべて維持する。トンネル構造も再使用される。そのようなトンネル構造の例には、トンネルのタイプ（Ｌ２ＴＰ、ＩＰＳＥＣ）、クライアントのＩＰアドレス、トンネルサーバのＩＰアドレス、（場合によっては）（Ｌ２ＴＰトンネルプロトコルの場合は）両エンドのポート、用いられるセキュリティの種類（ＩＰＳＥＣなど）が含まれる。一般に、本発明は、モバイルクライアントのアドレスが変わった時に、以前に生成されたトンネル構造の関連性を維持する。これは、常にホームアドレスを使用して構造を検索（ｌｏｏｋ  ｕｐ）することによって容易になる（例えば、検索の前にＩＰヘッダ中のアドレスをホームアドレスに置き替える）。
【００６１】
その後、ＶＰＮサーバは、第１のアドレスを宛先アドレスに指定する宛先ヘッダのオプションとともに、ルーティング拡張ヘッダを、モバイルノード２００の新しい（第２の）アドレスに送信されるすべてのパケットのＩＰｖ６ヘッダに付加する。
【００６２】
ステップ６０８で、第２のアドレスにあるモバイルノード２００がそのパケットを受信すると、ＩＰ層は、第２のアドレスをモバイルノードの第１の（外部のホーム）アドレスに置き換える。変更されたパケットは次いで、ＩＰ層のクライアント（ＴＣＰ、ＵＤＰなど）に渡される。したがって、モバイルノード２００が実際にはもはや第１の外部気付けアドレスにない間、ＩＰ層のクライアントは、モバイルノード２００がなおその第１のアドレスにあると認識し続ける。
【００６３】
ステップ６１０で、モバイルノード２００がＬＡＮ２０６のＶＰＮサーバにパケットを送信する際、モバイルノード２００は、ＩＰｖ６ヘッダに付加されたホスト拡張ヘッダの「ホームアドレス」のオプションに第１のアドレスを入れる。モバイルノードの第２の新しいアドレスは、送信されるパケットのＩＰｖ６ヘッダ中の送信元アドレスに入れられる。
【００６４】
ステップ６１２で、ＶＰＮサーバが送信されたパケットを受信すると、ＩＰｖ６スタックコンポーネントは、受信したパケットを通信スタックの上層に渡す前に、ソースフィールド中の第２のアドレスを第１のアドレスに置き換える。ここでも、Ｌ２ＴＰやＩＰセキュリティフィルタリングなどの上層スタックのコンポーネント（トンネリング、トンネルを通じて渡されるパケットの信頼性の確認、および不正パケットのフィルタリングを担当する）は、モバイルノード２００のアドレスの変化を認識しない。したがって、モバイルノード２００とＬＡＮ２０６のＶＰＮサーバ間のＶＰＮトンネルのために最初に作成されたトンネルとセキュリティ構造が引き続き機能する。
【００６５】
本発明の原理を適用することが可能な多数の可能なコンピューティング環境と、複数のモバイルノードを含むネットワーク環境でアドレスと接続を維持するという課題を満たすようにネットワークアクセス構成を実行する柔軟性を鑑みると、ここに記載される実施形態は、例示的なものであり、本発明の範囲を限定するものと解釈すべきでないことが認識されよう。本発明が該当する当業者は、本発明の主旨から逸脱することなくこの例示的実施形態の構成および詳細を変更できることを認識されよう。したがって、本明細書に記載される本発明は、頭記の特許請求の範囲に該当するそのようなすべての実施形態とその均等物を企図する。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態を実行するコンピューティングデバイスの例示的アーキテクチャを示す略図である。
【図２】１つまたは複数のモバイルノードが各種のリモートネットワーク位置の１つを通じてホームネットワークに通信的に結合され、ホームネットワーク内でモバイルノードに割り当てられる比較的静的なホームアドレスと異なる、動的に割り当てられるアドレスを受け取る例示的ネットワーク環境の図である。
【図３】本発明を実施するのに適したネットワークノードのための例示的な通信スタックの図である。
【図４】モバイルノードに割り当てられた以前のネットワークアドレスと異なるアドレスで非ホームネットワークに接続するためにモバイルノードによって行われるステップのセットを要約した図である。
【図５】両ノードが実質的に同時に新しいネットワーク位置に移動した結果、ネットワークノードのセットとそれらに関連付けられた権限ネームサーバの間で渡される通信のセットを要約した図である。
【図６】モバイルノードが異なる外部ネットワークアドレスに移動した際に、仮想私設ノードとそれに関連付けられた構造の再使用を実行するために行われるステップのセットを要約した図である。
【符号の説明】
【００６７】
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３４  オペレーティングシステム
１４４  オペレーティングシステム
１３５  アプリケーションプログラム
１４５  アプリケーションプログラム
１３６  他のプログラムモジュール
１４６  他のプログラムモジュール
１３７  プログラムデータ
１４７  プログラムデータ
１４０  固定式、不揮発性メモリインターフェース
１５０  着脱式、不揮発性メモリインターフェース
１６０  ユーザ入力インターフェース
１６１  マウス
１６２  キーボード
１７０  ネットワークインターフェース／モデム
１７１  ローカルエリアネットワーク
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェース
１９５  出力周辺インターフェース
１９６  プリンタ
１９７  スピーカ
２００  ホームアドレス
２０４  ホームアドレス
２０２  セル塔
２１２  インターネット
２０６  イーサネット（登録商標）
２０８  ファイル
３１０  ネットワークインターフェースカード
３３０  トンネルドライバ
３５０  ＤＨＣＰクライアント（名前登録クライアント）
３６０  ＶＰＮクライアント
【図１】
0004762581.tif 000002
【図２】
0004762581.tif 000003
【図３】
0004762581.tif 000004
【図４】
0004762581.tif 000005
【図５】
0004762581.tif 000006
【図６】
0004762581.tif 000007