(57)【特許請求の範囲】
【請求項１】
対応ノードとの間で通信するためのホストノード内に実装される方法であって、前記ホストノードは、複数のネットワークとの接続を有し、前記複数のネットワークの各々は、ＮＡＴ６４（Network  Address  Translation  64）ノードを含み、各ＮＡＴ６４ノードは、仮想ＩＰｖ６（Internet  Protocol  Version  6）アドレスを生成するための個別のプレフィックスを利用し、前記複数のネットワークの各々は、ＩＰｖ６ネットワークであり、但し、前記対応ノードは、ＩＰｖ４（Internet  Protocol  Version  4）ノードであり、前記方法は：
前記ホストノード上で実行中のアプリケーションから、前記対応ノードとの接続を開始するリクエストを受信するステップと；
前記複数のネットワークのうちの１つの内部にあるＤＮＳ６４（Domain  Name  System  64）ノードへ、前記対応ノードのアドレスについてのリクエストを送信するステップと；
前記ＤＮＳ６４ノードから、前記ＮＡＴ６４ノードのいずれにも固有でないプレフィックスを含む、前記対応ノードについての仮想ＩＰｖ６アドレスを受信するステップと；
前記アプリケーションから、前記対応ノードへ送信されるべきデータを受信するステップと；
前記対応ノードへ前記データが転送されるべき前記複数のネットワークのうちの１つとの接続を選択するステップと；
選択された前記接続の前記ネットワーク内の前記ＮＡＴ６４ノードにより使用される前記プレフィックスを、前記ホストノードにより維持される変換バインディングテーブル内で検索するステップと；
前記ＤＮＳ６４ノードから受信される仮想ＩＰｖ６アドレス内の前記プレフィックスを、選択された前記接続の前記ネットワーク内の前記ＮＡＴ６４ノードの前記プレフィックスと置換することにより形成される前記対応ノードについての前記仮想ＩＰｖ６アドレスを用いて、前記対応ノードへ前記データを送信するステップと；
を含み、
それにより、仮想ＩＰｖ６アドレスについて個別のプレフィックスを利用するＮＡＴ６４ノードをそれぞれ有する前記複数のネットワークとの接続を有するにも関わらず、前記対応ノードとの接続性を前記ホストノードが維持することが可能となる、
方法。
【請求項２】
前記ホストノードは、モバイルノードであり、前記複数のネットワークのうちの１つは、前記モバイルノードについてのホームネットワークであり、前記方法は：
前記ホームネットワークのＮＡＴ６４ノードの前記プレフィックスを伴う仮想ＩＰｖ６アドレスを用いて、前記ホームネットワーク内のホームエージェントノードへ前記データをトンネリングするステップをさらに含む、請求項１に記載の方法。
【請求項３】
選択された前記接続を、前記複数のネットワークのうちの別の１つとの接続に変えるステップと；
新たに選択された前記接続の前記ネットワーク内のＮＡＴ６４ノードについてのプレフィックスを、前記変換バインディングテーブル内で検索するステップと；
新たに選択された前記接続の前記ネットワーク内の前記ＮＡＴ６４ノードの前記プレフィックスを伴う対応ノードについての仮想ＩＰｖ６アドレスを用いて、当該対応ノードへ前記データを送信するステップと；
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ＮＡＴ６４ノードの各々により利用される前記プレフィックスを、それぞれの前記ネットワークとの接続上のＤＨＣＰ（dynamic  host  configuration  protocol）サーバ又はアクセスルータから受信するステップ、をさらに含む、請求項１に記載の方法。
【請求項５】
前記ＮＡＴ６４ノードにより利用される前記プレフィックスを変換バインディングエントリとして前記変換バインディングテーブル内に記憶するステップ、をさらに含む、請求項４に記載の方法。
【請求項６】
前記ＤＮＳ６４ノードにより提供される前記仮想ＩＰｖ６アドレスの前記プレフィックスは、全てのＤＮＳ６４サーバに対して普遍的である、請求項１に記載の方法。
【請求項７】
前記ホストノードは、マルチホームノードである、請求項１に記載の方法。
【請求項８】
複数のネットワークとの接続を有するホストノードにおいて、
前記複数のネットワークの各々は、ＮＡＴ６４（Network  Address  Translation  64）ノードを含み、各ＮＡＴ６４ノードは、仮想ＩＰｖ６（Internet  Protocol  Version  6）アドレスを生成するための個別のプレフィックスを利用し、前記複数のネットワークのうちの少なくとも１つは、ＤＮＳ６４（domain  name  system  64）サーバを含み、前記複数のネットワークの各々は、ＩＰｖ６ネットワークであり、但し、対応ノードは、ＩＰｖ４（Internet  Protocol  Version  4）ノードであり、
前記ホストノードは：
前記対応ノードとの接続を確立して前記ホストノードのアプリケーションのために前記対応ノードとの間の通信を提供するよう構成され、前記複数のネットワーク上の前記ＮＡＴ６４ノードのいずれにも固有でないプレフィックスを含む前記対応ノードについての仮想ＩＰｖ６アドレスを、前記ＤＮＳ６４サーバから取得するようさらに構成され、及び、データを、当該データが転送される前記ネットワークの前記ＮＡＴ６４に対応するプレフィックスを伴う仮想ＩＰｖ６アドレスを用いて前記対応ノードへ転送するようさらに構成される、マルチネットワーク管理モジュールと；
前記マルチネットワーク管理モジュールに連結され、前記マルチネットワーク管理モジュールにより識別されるネットワークの前記ＮＡＴ６４についてのプレフィックスを検索し、及び前記プレフィックスを前記マルチネットワーク管理モジュールに返すよう構成される、プレフィックス選択モジュールと；
を備え、
前記プレフィックス選択モジュールは、前記検索を変換バインディングテーブル内で実行し、
それにより、前記ホストノードは、仮想ＩＰｖ６アドレスについて個別のプレフィックスを利用するＮＡＴ６４をそれぞれ有する複数のネットワークとの接続を有するにも関わらず、前記対応ノードとの接続性を維持することが可能となる、
ホストノード。
【請求項９】
前記プレフィックス選択モジュールに連結され、前記複数のネットワークの各ＮＡＴ６４についてのプレフィックスを含む複数の変換バインディングエントリを記憶するよう構成される、変換バインディングテーブル、をさらに含む、請求項８に記載のホストノード。
【請求項１０】
それぞれの前記ネットワークとの接続後に、各ＮＡＴ６４の前記プレフィックスをＤＨＣＰ（dynamic  host  configuration  protocol）サーバ又はアクセスルータから受信するよう構成されるバインディング管理モジュール、をさらに含む、請求項９に記載のホストノード。
【請求項１１】
前記バインディング管理モジュールは、各ＮＡＴ６４の前記プレフィックスを変換バインディングエントリとして前記変換バインディングテーブル内に記憶するようさらに構成される、請求項１０に記載のホストノード。
【請求項１２】
前記マルチネットワーク管理モジュールは、前記対応ノードへ前記データが転送される前記ネットワークを変え、前記データが転送される新たな前記ネットワークの前記ＮＡＴ６４の前記プレフィックスを利用するようさらに構成される、請求項８に記載のホストノード。
【請求項１３】
前記ホストノードは、ホームネットワークを有するモバイルノードであり、前記マルチネットワーク管理モジュールは、ホームネットワークのＮＡＴ６４の前記プレフィックスを伴う仮想ＩＰｖ６アドレスを用いて、当該ホームネットワーク上のホームエージェントノードへ前記データをトンネリングすることにより、前記データを前記対応ノードへ転送する、請求項８に記載のホストノード。
【請求項１４】
前記モバイルノードは、複数のホームネットワークを有する、請求項１３に記載のホストノード。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本出願は、２００９年８月１４日に出願された同時係属中の米国仮特許出願第６１／２３３，９５６号の先の出願日の利益を主張する。
【０００２】
本発明の実施形態は、別々のＮＡＴ６４（Network  Address  Translation  64）ノードを伴う複数のネットワークを通じて接続されるノードの間の通信を可能とするための方法及びシステムに関する。具体的には、本発明の実施形態は、異なるＮＡＴ６４ノードを伴うネットワーク間で通信が移行（migrate）する場合にも接続性が維持されるように、ＩＰｖ６（Internet  Protocol  Version  6）のノードが複数のネットワークをまたいでＩＰｖ４（Internet  Protocol  Version  4）の対応ノードと通信することを可能とするための方法及びシステムに関する。
【背景技術】
【０００３】
モバイルＩＰｖ６（ＭＩＰｖ６）は、ＩＰｖ６をサポートする別のデバイスとの継続的な接続を移動デバイスが維持することを可能とする。ＭＩＰｖ６では通信の２つの別々のモードがサポートされ、それは双方向トンネリング（ＢＴ：bi-directional  tunneling）モード及びルート最適化（ＲＯ：route  optimization）モードである。ＲＯモードは、移動デバイスあるいは“モバイルノード（ＭＮ）”と、当該モバイルノードと通信し又はやりとりしているノード、即ち対応ノード（ＣＮ）との間のトラフィックのルーティングを動的に更新する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＢＴモードは、モバイルノードと対応ノードとの間のトラフィックを、ホームネットワーク上のホームエージェント（ＨＡ）デバイス又はホームエージェントノードを通じてトンネリングする。ホームエージェントノードは、モバイルノードが新たなネットワークと接続する際、モバイルノードの位置と共に更新される。ホームエージェントノードは、モバイルノードと対応ノードとの間のデータトラフィックを中継する。
【０００５】
モバイルノードが接続する、ホームネットワーク、及び、訪問先ネットワークあるいは“外部（foreign）”ネットワークの両方は、ＩＰｖ６を実行し、個々のネットワーク上のＩＰｖ６ノードが外側のＩＰｖ４ノードを仮想ＩＰｖ６可能ノードとして扱うことによりＩＰｖ６ネットワークの外側にあるＩＰｖ４ノードとの間で通信することを可能とするためのＮＡＴ６４（network  address  translation）ノード及びＤＮＳ６４（domain  name  system  64）サーバを備えることができる。このスキームの下、ホームネットワーク又は外部ネットワークにおけるノードは、ＩＰｖ４ノードである対応ノードをＩＰｖ６ノードであるとみなし、データパケットを各対応ノードに割り当てられた仮想ＩＰｖ６の宛先アドレスへ送信するであろう。一方、これらのパケットは、各ネットワークそれぞれの上のローカルのＮＡＴ６４ノードにより捕捉され、当該ＮＡＴ６４ノードは、アウトバウンドパケットを、対応ノードのＩＰｖ４の宛先アドレスへ転送される前にＩＰｖ４のパケットに変換するであろう。
【０００６】
逆に、モバイルノード又は他のＩＰｖ６ノードとの間で通信する場合、対応ノードは、まるでＩＰｖ４ノードに接続されているかのように動作する。対応ノードは、ホームネットワークのＮＡＴ６４によりモバイルノードにマッピングされたＩＰｖ４の宛先アドレスを用いて、モバイルノードへデータパケットを送信するであろう。これらパケットは、モバイルノードのホームネットワーク内に位置するＮＡＴ６４ノードにより傍受され、ＩＰｖ６のパケットに変換されてホームエージェントノードによりモバイルノードへ転送される。
【０００７】
同様に、マルチホームノードは、複数のネットワークに接続されているノードであり、複数のネットワークのいずれかをまたいで対応ノードとの間で通信し得る。対応ノードへの接続は、複数のネットワークのうちいずれか１つをまたいで開始され、その地点で、ＤＮＳ６４及びＮＡＴ６４は、ＩＰｖ４の対応ノードについて仮想ＩＰｖ６アドレスを提供する。一方、この仮想ＩＰｖ６アドレスは、ＤＮＳ６４が置いてあるネットワークについてのみ有効である。そのネットワークへの接続が使用不可能又は不都合になった場合、たとえマルチホームノードが対応ノードに接続され得るか又は別のネットワークをまたいで対応ノードに接続し得る場合でも、対応ノードとの接続は、失われる。
【０００８】
ＮＡＴ６４／ＤＮＳ６４の技術において、ＤＮＳ６４の技術を備えた各ネットワークは、異なるＡＡＡＡレコード（すなわち、ＩＰｖ６アドレスを参照するＤＮＳレコード）を特定のＩＰｖ４アドレスについてローカルに合成する（synthesize）であろう。そういった“疑似”又は“仮想”ＩＰｖ６アドレスは、プレフィックスを伴い、それは、発行元のＤＮＳ６４ノードに結び付けられるＮＡＴ６４ノードによってのみ認識可能である。このプレフィックスは、関連付けられるデータトラフィックを、変換を必要とするＩＰｖ４ノードに向けられているものとして識別する。異なるネットワークに位置し、異なるＤＮＳ６４に付随する別のＮＡＴ６４は、他のネットワークにより使用されたプレフィックスに気付かず、故にプレフィックスを伴う仮想ＩＰｖ６アドレスを実際のＩＰｖ６アドレスと区別することができないため、これらパケットのＩＰｖ６アドレスを変換することができない。
【０００９】
モバイルノード又はマルチホームノードが、ネットワークからＩＰｖ４の対応ノードに接続しようと試みる場合、当該ネットワークのＤＮＳ６４ノードは、このネットワークに位置するそのＮＡＴ６４ノードのみに既知である仮想ＩＰｖ６アドレスを伴うＡＡＡＡレコードを合成するであろう。一方、ＭＩＰｖ６プロトコルにおいて、ＢＴモードを使用することは、データパケットをホームネットワーク（すなわち、ホームエージェント（ＨＡ）ノード。それは、データトラフィックをその最終的な宛て先へ転送する）へトンネリングすることを必要とする。そのような場合、対応ノードについてのＩＰｖ６アドレスを生成するために使用されたプレフィックスは、ホームエージェントノード及びホームのＮＡＴ６４ノードの両方にとって既知でないため、モバイルノードによりそのホームエージェントノードへトンネリングされたデータパケットをホームのＮＡＴ６４ノードに転送することができない。その結果、対応ノードとモバイルノードとの間の接続性は、失われる。
【００１０】
同様に、マルチホームノードが対応ノードとの接続を１つのネットワークを通じて有する場合、対応ノードについての仮想ＩＰｖ６アドレスは、そのネットワークに固有のプレフィックスを使用する。そのネットワークへの接続が失敗する場合、マルチホームノードにとって既知の仮想ＩＰｖ６アドレスは、他のネットワークのＮＡＴ６４には既知でないプレフィックスを使用しており、そのため、それらは、データトラフィックを変換し、対応ノードへ転送することができないため、マルチホームノードは、他のネットワークの接続を利用して対応ノードとの間の通信を継続することができない。
【課題を解決するための手段】
【００１１】
対応ノードとの間で通信するためのホストノード内に実装される方法であって、上記ホストノードは、複数のネットワークとの接続を有し、上記複数のネットワークの各々は、ＮＡＴ６４（Network  Address  Translation  64）ノードを含み、各ＮＡＴ６４ノードは、仮想ＩＰｖ６（Internet  Protocol  Version  6）アドレスを生成するための個別のプレフィックスを利用し、上記複数のネットワークの各々は、ＩＰｖ６ネットワークであり、但し、上記対応ノードは、ＩＰｖ４（Internet  Protocol  Version  4）ノードであり、上記方法は、上記ホストノード上で実行中のアプリケーションから、上記対応ノードとの接続を開始するリクエストを受信するステップと、上記複数のネットワークのうちの１つの内部にあるＤＮＳ６４（Domain  Name  System  64）ノードへ、上記対応ノードのアドレスについてのリクエストを送信するステップと、上記ＤＮＳ６４ノードから、上記ＮＡＴ６４ノードのいずれにも固有でないプレフィックスを含む、上記対応ノードについての仮想ＩＰｖ６アドレスを受信するステップと、上記アプリケーションから、上記対応ノードへ送信されるべきデータを受信するステップと、上記対応ノードへ上記データが転送されるべき上記複数のネットワークのうちの１つとの接続を選択するステップと、選択された上記接続の上記ネットワーク内の上記ＮＡＴ６４ノードにより使用される上記プレフィックスを、上記ホストノードにより維持される変換バインディングテーブル内で検索するステップと、上記ＤＮＳ６４から受信される仮想ＩＰｖ６アドレス内の上記プレフィックスを、選択された上記接続の上記ネットワーク内の上記ＮＡＴ６４ノードの上記プレフィックスと置換することにより形成される上記対応ノードについての上記仮想ＩＰｖ６アドレスを用いて、上記対応ノードへ上記データを送信するステップと、を含み、それにより、仮想ＩＰｖ６アドレスについて個別のプレフィックスを利用するＮＡＴ６４ノードをそれぞれ有する上記複数のネットワークとの接続を有するにも関わらず、上記対応ノードとの接続性を上記ホストノードが維持することが可能となる、方法。
【００１２】
複数のネットワークとの接続を有するホストノードにおいて、上記複数のネットワークの各々は、ＮＡＴ６４（Network  Address  Translation  64）ノードを含み、各ＮＡＴ６４ノードは、仮想ＩＰｖ６（Internet  Protocol  Version  6）アドレスを生成するための個別のプレフィックスを利用し、上記複数のネットワークのうちの少なくとも１つは、ＤＮＳ６４（domain  name  system  64）ノードを含み、上記複数のネットワークの各々は、ＩＰｖ６ネットワークであり、但し、上記対応ノードは、ＩＰｖ４（Internet  Protocol  Version  4）ノードであり、上記ホストノードは、上記対応ノードとの接続を確立して上記ホストノードのアプリケーションのために上記対応ノードとの間の通信を提供するよう構成され、上記複数のネットワーク上の上記ＮＡＴ６４のいずれにも固有でないプレフィックスを含む上記対応ノードについての仮想ＩＰｖ６アドレスを、上記ＤＮＳ６４ノードから取得するようさらに構成され、及び、データを、当該データが転送される上記ネットワークの上記ＮＡＴ６４に対応するプレフィックスを伴うＩＰｖ６の仮想アドレスを用いて上記対応ノードへ転送するようさらに構成される、マルチネットワーク管理モジュールと、上記マルチネットワーク管理モジュールに連結され、上記マルチネットワーク管理モジュールにより識別されるネットワークの上記ＮＡＴ６４についてのプレフィックスを検索し、及び上記プレフィックスを上記マルチネットワーク管理モジュールに返すよう構成される、プレフィックス選択モジュールと、を備え、上記プレフィックス選択モジュールは、上記検索を変換バインディングテーブル内で実行し、それにより、上記ホストノードは、仮想ＩＰｖ４アドレスについて個別のプレフィックスを利用するＮＡＴ６４をそれぞれ有する複数のネットワークとの接続を有するにも関わらず、上記対応ノードとの接続性を維持することが可能となる、ホストノード。
【図面の簡単な説明】
【００１３】
本発明は、添付図面の図において、限定ではなく例によって説明され、そこにおける類似の参照は、同様の構成要素を示す。この開示における“an”又は“one”を冠する実施形態への異なる言及は必ずしも同じ実施形態についてのではなく、そういった言及が少なくとも１つを意味するということは留意されるべきである。さらに、特定の特性、構造、又は特徴が、ある実施形態との関連において説明される場合、明示的に説明されているか否かに関わらず、他の実施形態との関連においてそういった特性、構造、又は特徴を有効化することは、当業者の知識の範囲内にあると考えられる。
【００１４】
【図１】ホームネットワーク、外部ネットワーク、及びＩＰｖ４ネットワークを含むネットワーク環境の１つの実施形態の図である。
【図２】ホストノードの１つの実施形態の図である。
【図３】ネットワークへの接続又はリンクを開始するためのプロセスの１つの実施形態のフローチャートである。
【図４】対応ノードとの接続を開始するためのプロセスの１つの実施形態のフローチャートである。
【図５】対応ノードについてのＤＮＳ（domain  name  system）の検索を提供するためのプロセスの１つの実施形態のフローチャートである。
【図６】ＩＰｖ４の対応ノードからの流入トラフィックを処理するためのプロセスの１つの実施形態のフローチャートである。
【発明を実施するための形態】
【００１５】
次の説明において、多くの具体的な詳細が説明される。一方、本発明の実施形態は、これらの具体的な詳細がなくても実施され得ると理解される。他の事例において、この説明の理解を曖昧にしないために、よく知られている回路、構造、及び技術は、詳細には示されていない。一方、本発明が、そういった具体的な詳細がなくても実施され得ることは、当業者によって理解されるであろう。一般的な当業者は、必要以上の実験をしなくても、含まれている説明をもって適切な機能性を実装し得るであろう。
【００１６】
図１及び図２の例となる実施形態を参照して、流れ図の動作を説明する。一方、図１及び図２を参照して議論されるもの以外の本発明の実施形態によって、流れ図の動作を実行することができ、図１及び図２を参照して議論される実施形態が、図３〜６の流れ図を参照して議論されるものと異なる動作を実行し得ることは、理解されるべきである。
【００１７】
図において示される技術は、１つ以上の電子デバイス（例えば、終端局、ネットワーク構成要素、等）上で記憶され、実行されるコード及びデータを用いて実装され得る。そうした電子デバイスは、非一時的な、マシン読取可能な、又はコンピュータ読取可能な記憶媒体（例えば、磁気ディスク；光ディスク；ＲＡＭ（random  access  memory）；ＲＯＭ（read  only  memory）；フラッシュメモリデバイス；及び、相変化メモリ）のような、非一時的な、マシン読取可能な、又はコンピュータ読取可能な媒体を用いて、コード及びデータを（内部で、及び／又は他の電子デバイスとの間でネットワークをまたいで）記憶し、通信する。加えて、そうした電子デバイスは、１つ以上の記憶デバイス、ユーザ入力／出力デバイス（例えば、キーボード、タッチスクリーン、及び／又はディスプレイ）、といった１つ以上の他のコンポーネントに連結される１つ以上のプロセッサのセット、並びにネットワーク接続を典型的に含む。プロセッサのセットと他のコンポーネントとの連結は、１つ以上のバス及びブリッジ（バスコントローラとも呼ばれる）を通じて典型的に行われる。記憶デバイスは、１つ以上の非一時的な、マシン読取可能な、又はコンピュータ読取可能な記憶媒体、及び非一時的な、マシン読取可能な、又はコンピュータ読取可能な通信媒体を意味する。そのようにして、所与の電子デバイスの記憶デバイスは、その電子デバイスの１つ以上のプロセッサのセット上での実行についてのコード及び／又はデータを典型的に記憶する。もちろん、本発明の実施形態の１つ以上の部分は、ソフトウェア、ファームウェア、及び／又はハードウェアの様々な組合せを用いて実装されてもよい。
【００１８】
本文において、ネットワーク構成要素（例えば、ルータ、スイッチ、ブリッジ、等）は、ネットワーク上の他の設備（例えば、他のネットワーク構成要素、終端局、等）と通信に関して相互接続する、ハードウェア及びソフトウェアを含む、ネットワーク設備の要素である。いくつかのネットワーク構成要素は、複数のネットワーク機能（例えば、ルーティング、ブリッジング、スイッチング、レイヤ２集約、セッション境界制御、マルチキャスト、及び／又は加入者管理）についてのサポートを提供し、及び／又は複数のアプリケーションサービス（例えば、データ、音声、及びビデオ）についてのサポートを提供する“複数のサービスのネットワーク構成要素”である。加入者終端局（例えば、サーバ、ワークステーション、ラップトップ、パームトップ、携帯電話、スマートフォン、マルチメディアフォン、ＶＯＩＰ（Voice  Over  Internet  Protocol）電話、携帯型メディアプレーヤ、ＧＰＳユニット、ゲームシステム、セットトップボックス（ＳＴＢ）、等）は、インターネットをまたいで提供されるコンテンツ／サービス、及び／又は、インターネット上に重畳されるＶＰＮ（virtual  private  networks）上で提供されるコンテンツ／サービスにアクセスする。コンテンツ及び／又はサービスは、サービス若しくはコンテンツプロバイダに属する１つ以上の終端局（例えば、サーバ終端局）、又はピアツーピアサービスに参加している終端局により典型的に提供され、公開ウェブページ（無料コンテンツ、ストアフロント、検索サービス、等）、私的ウェブページ（例えば、ユーザネーム／パスワードによりアクセスされるＥメールサービスを提供するウェブページ、等）、ＶＰＮをまたぐ法人ネットワーク、ＩＰＴＶ、等を含んでもよい。典型的に、加入者終端局は、（例えば、アクセスネットワークに（有線又は無線で）連結される顧客端末を通じて）エッジネットワーク構成要素に連結され、それは、（例えば、他のエッジネットワーク構成要素に対する１つ以上のコアネットワーク構成要素を通じて）他の終端局（例えば、サーバ終端局）に連結される。
【００１９】
本発明の実施形態は、モバイルノードが外部ネットワークへ移動する際、又はマルチホームノードが対応ノードとの間でまたいで通信しようと試みるネットワークを変更する際のＩＰｖ４ノードとの接続性の喪失を含む先行技術の不利益を回避するための、システム、ネットワーク及び方法を提供する。
【００２０】
本発明の実施形態は、モバイルノード（ＭＮ）又はマルチホームノードであり得るホストノード、ＮＡＴ６４（network  address  translation  64）ノード、及びＤＮＳ６４（domain  name  system  64）ノードの機能性を修正することによりこれら不利益を打開して、ＩＰｖ４ネットワーク又は対応ノード（ＣＮ）を修正せずに接続性を維持する。ホストノードは、新たなネットワークに接続する場合、当該ネットワークのＮＡＴ６４により利用されるプレフィックスの広告（advertisement）を、当該ネットワークについてのＩＰｖ６アドレスと共にＤＨＣＰ（dynamic  host  control  protocol）ノード又はアクセスルータから受信する。ホストノードは、プレフィックスを、当該ネットワークに関連付けられるＩＰｖ６アドレスと共に変換バインディングテーブル内に記憶する。データがいずれかのネットワークをまたいで送信されるべき場合、変換バインディングテーブル内におけるネットワークの検索によって、そのネットワーク内のホストノードのＩＰｖ６アドレス及び当該ネットワーク内のＮＡＴ６４により利用されるプレフィックスが提供され得る。接続がＩＰｖ４の対応ノードとの間で開始される場合、ホストノードは、通信がそのネットワークをまたいで行われることになる当該ネットワークのＤＮＳ６４に、問い合わせを行うであろう。ＤＮＳ６４は、‘汎用の（generic）’又は普遍的な（universal）プレフィックスを伴う仮想ＩＰｖ６アドレスを伴って応答を返すであろう。この仮想ＩＰｖ６アドレスは、その後、データがそのネットワークをまたいでＩＰｖ４の対応ノードへ送信されるべき当該適切なネットワークのプレフィックスを用いて変換され得る。
【００２１】
図１は、ホームネットワーク１１７、外部ネットワーク１１５、ＩＰｖ４ネットワーク１２１、これらネットワークのいずれかの組合せを接続する中間又はバックボーンネットワーク１１１、及び同様の通信ネットワークを含む、ネットワークの１つの実施形態の図である。‘ホーム’及び‘外部’は、モバイルノードとの関連においてこれらネットワークを説明し、ホームネットワークは、モバイルノードについてのホームエージェントを含む。ホストノードがモバイルノードではなくマルチホームノードである他の実施形態に特に関連して、２つ以上のいかなるＩＰｖ６ネットワークにも、ここで説明される原理及び構造が適用され得ることを、当業者は、理解するであろう。１つの実施形態において、ホームネットワーク１１７は、ＩＰｖ６ネットワークであり、モバイルノード１０７Ａについてのホームネットワークである。ホームネットワーク１１７は、ＬＡＮ（local  area  network）、ＷＡＮ（wide  area  network）、又は同様のネットワークを含むいずれのタイプのネットワークであってもよい。
【００２２】
ホームネットワーク１１７は、中間ネットワーク１１１を通じて外部ネットワーク１１５及び対応ノード（ＣＮ）１１９のＩＰｖ４ネットワーク１２１との間で通信関係（in  communication）にある。中間ネットワーク１１１は、ＬＡＮ、インターネットのようなＷＡＮ、又は同様のネットワークを含むいずれのタイプのネットワークであってもよい。他の実施形態において、ホームネットワーク１１７は、外部ネットワーク１１７との間で直接的な通信関係にある。
【００２３】
ホームネットワーク１１７は、ホームエージェントノード１０１、ホームＤＮＳ６４（domain  name  system  64）１０３、ホームＮＡＴ６４（network  address  translation  64）ノード、及び追加的なコンピュータ又はデバイスをいくつ含んでもよい。ホームエージェントノード１０１は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、ルータ、コンソールデバイス、又は同様のデバイスを含む、いかなるタイプのコンピュータデバイス又はネットワーク構成要素であってもよい。ホームエージェントノード１０１は、その位置に関わらず、モバイルノード１０７からの及びモバイルノード１０７への通信の遂行に関与する。
【００２４】
ホームＤＮＳ６４ノード１０３は、ホームネットワーク１１７の範囲内のコンピュータデバイスの各々にドメインネーム検索サービスを提供する。また、ホームＤＮＳ６４ノード１０３は、ＩＰｖ４ネットワーク上にあってＩＰｖ４アドレスを有するノードについてのＡＡＡＡレコードを合成し得る。１つの実施形態において、ホームＮＡＴ６４ノード１０５は、ホームＤＮＳ６４ノード１０３と同じコンピュータデバイス又はネットワーク構成要素内に実装されてよい。１つの実施形態において、ホームＮＡＴ６４ノード１０５は、ホームＤＮＳ６４ノード１０３とは別々のデバイス上に実装されてもよい。ホームＤＮＳ６４ノード１０３及びホームＮＡＴ６４ノード１０５は、ネットワーク構成要素、ルータ、デスクトップワークステーション、サーバ、コンソールデバイス、又は同様のコンピュータデバイスを含むいかなるタイプのコンピュータデバイス内に実装されてもよい。ホームネットワーク上のノードがＩＰｖ４ネットワーク内にある外のノードとの間で通信する場合、ホームネットワークＮＡＴ６４ノードは、ＩＰｖ４のメッセージ及びアドレスを変換し、それらを仮想ＩＰｖ６アドレスにマッピングすることに関与する。
【００２５】
ここで使用される対応ノードとは、ホームネットワーク１１７に属するモバイルノード１０７Ａといったホストノード、若しくはホームネットワーク１１７及び外部ネットワーク１１５の両方に接続されたマルチホームノード１０７Ｂとの間で通信関係にある、デスクトップ、ワークステーション、ラップトップ、サーバ、コンソールデバイス、又は、他のいかなるタイプのコンピュータデバイスをも含むコンピュータデバイス、のようなノードをいう。対応ノード１１９は、ホームエージェントノード１０１を通じてモバイルノード１０７Ａとの間で通信する。対応ノード１１９は、ＩＰｖ４ネットワーク１２１の一部である。対応ノード１１９は、ＩＰｖ４アドレスを有し、モバイルノード１０７Ａを含む他のノードとの間で通信する場合、ＩＰｖ４アドレスを利用する。これにより、ホームネットワーク１１７上のＮＡＴ６４ノード１０５の使用が必要となる。
【００２６】
外部ネットワークは、ＩＰｖ６ネットワーク１１５である。外部ネットワークの一例は、レストラン又はホテルといった、モバイルノードのユーザが訪問している事業施設により提供されるネットワークである。外部ネットワーク１１５を訪問している間、外部ＤＮＳ６４  １０９により提供される新たなＩＰｖ６アドレスを用いて接続を再確立しなければならないことによって引き起こされるであろう障害を伴うことなく、モバイルノード１０７Ａは、対応ノード１１９との間で継続してやりとりし得る。モバイルノード１０７Ａは、外部ＤＮＳ６４及び外部ＮＡＴ６４ノード１１３のサービスを利用し得る。外部ＤＮＳ６４  １０９は、モバイルノード１０７Ａと対応ノード１１９との間の通信についてのＡＡＡＡレコードを合成する。利用される仮想アドレス及びプレフィックスは、モバイルノード１０７Ａ、外部ＤＮＳ６４  １０９、及び外部ＮＡＴ６４ノード１１３にとってのみ既知である。ここで使用されるプレフィックスは、ＩＰｖ４ノードとの間で通信するために作成される仮想ＩＰｖ６アドレスの一部であって、当該仮想ＩＰｖ６アドレスを仮想的であって変換を必要としているものとして識別するものをいう。
【００２７】
一方、対応ノード１１９はホームネットワーク１１７へトラフィックを送信しているであろうということから、外部ネットワークへ切り替え後のモバイルノード１０７Ａは、接続が維持されるように、ホームネットワーク１１７上にいる間、対応ノード１１９との間で通信するために使用していた仮想ＩＰｖ６アドレスを使用し続けなければならない。これにより、モバイルノード１０７Ａは、ホームネットワークのプレフィックスを使用して対応ノードについての仮想ＩＰｖ６アドレスを作成することを必要とされる。モバイルノード１０７Ａは、そのバインディング変換テーブルを使用してホームネットワークについての適切なプレフィックスを取得することができる。モバイルノード１０７Ａは、ホームネットワークへの接続が失われる場合に、外部ネットワークのプレフィックスを用いて対応ノードとの間で通信し続けることもできる。
【００２８】
別の実施形態において、マルチホームノード１０７Ｂは、モバイルノードと同様の手法で動作する。マルチホームネットワークは、‘外部’ネットワークを有さず、むしろ複数の‘ホーム’ネットワーク１１５、１１７への接続を有する。マルチホームネットワークは、いずれかのネットワークインタフェースを用いて対応ノード１１９との間で通信し得る。ネットワークインタフェースは、利用可能性、帯域幅、プリファレンス、又はネットワーク間の通信を切り替えることについての他のいずれの基準に基づいて変えられてもよい。マルチホームノード１０７Ｂは、変換バインディングテーブル内の検索（look-up）を実行して、マルチホームノードについてのＩＰｖ６アドレス、及びデータが送信されるべきネットワークについてのプレフィックスを取得する。プレフィックスを使用して、対応ノードについての仮想ＩＰｖ６アドレスが生成され、それは、選択されたネットワークによって処理され得る。
【００２９】
対応ノード１１９、モバイルノード１０７Ａ、及びマルチホームノード１０７Ｂは、デスクトップコンピュータ、ラップトップコンピュータ、コンソールデバイス、ハンドヘルドデバイス、ワークステーション、サーバ、ネットワーク構成要素、又は同様のコンピュータデバイスを含む、いずれのタイプのコンピュータデバイスであってもよい。
【００３０】
図２は、ホストノード１０７Ａ、１０７Ｂの１つの実施形態の図である。ホストノード１０７Ａ、１０７Ｂは、入力（ingress）モジュール２０１、出力（egress）モジュール２０５、及びプロセッサ２０３を含み得る。入力モジュール２０１は、物理リンク及びデータリンクのレベルでホストノード１０７Ａ、１０７Ｂにより受信されるデータパケットの処理を扱うことができる。出力モジュール２０５は、物理リンク及びデータリンクのレベルでネットワーク構成要素により送信されるデータパケットの処理を扱う。プロセッサ２０３は、データトラフィックのルーティング、転送、及びより高いレベルの処理を扱う。プロセッサ２０３は、ＩＰｖ６のマルチネットワーク管理モジュール２０７、変換バインディングテーブル２０９、変換バインディング管理モジュール２１３、及びプレフィックス選択モジュール２１５を、実行し、又は含み得る。プロセッサ２０３は、ＣＰＵ（central  processing  unit）のような汎用プロセッサ、又は専用の（specialized）ネットワークプロセッサであってよい。ホストノード１０７Ａ、１０７Ｂはいずれのタイプのコンピュータデバイスであってもよく、メモリデバイス、永続的なストレージ、バス、及び同様の標準的なコンピュータアーキテクチャを含むであろうことを、一般的な当業者は、理解するであろう。これら構成要素は、明瞭さのために省略されている。
【００３１】
マルチネットワーク管理モジュール２０７は、ＩＰ（Internet  Protocol）レベルを含むより高いレベルで入力トラフィック及び出力トラフィックを管理する。マルチネットワーク管理モジュールは、ホストノード１０７Ａ、１０７Ｂの範囲内、及びホストノード１０７Ａ、１０７Ｂの外にある宛て先へ向けたトラフィックの転送を容易にする。出力トラフィックは、転送のために利用すべきネットワークインタフェースを決定するためにチェックされる。また、宛先アドレスは、それが仮想アドレスか否かを決定するためにチェックされる。仮想アドレスは、全てのＤＮＳ６４ノードにより利用される汎用のプレフィックスを含むであろう。仮想アドレスは、汎用のプレフィックスを出力データトラフィックについてのネットワークインタフェースに対応するネットワークについてのプレフィックスと置換することにより、変換される。マルチネットワーク管理モジュール１０７は、プレフィックス選択モジュールを呼び出して、出力トラフィックの仮想アドレスのために利用するのに適切なプレフィックスを決定する。入力データトラフィックについては、入力データトラフィックがその宛て先に達した場合、データトラフィックの受信元のネットワークインタフェースについてのプレフィックスと比較することによって、発信元アドレスが仮想アドレスであるか否かを決定するためのチェックが行われ得る。ネットワークインタフェースについてのプレフィックスは、プレフィックス選択モジュール２１５から取得され得る。入力トラフィックが仮想ＩＰｖ６の発信元アドレスを含む場合、発信元アドレスを変換して、アプリケーションにとって又は入力データトラフィックの同様の受信者にとって既知の汎用のプレフィックスを含めることができる。
【００３２】
プレフィックス選択モジュール２１５は、ホストノード１０７Ａ、１０７Ｂのネットワークインタフェースの各々についてどのプレフィックスが利用されるかを解決する。プレフィックス選択モジュール２１５は、変換バインディングテーブル２０９を用いて検索を実行して、各ネットワークインタフェース識別子２１９Ｃについて、ホストノードのためにプレフィックス２１９Ｂ及びアドレス２１９Ａ又はネットワーク識別子を取得し得る。プレフィックス選択モジュール２１５は、トラフィックの転送先の又は受信元のネットワークのネットワークインタフェース識別子２１９Ｃ又は同様のインジケータを、マルチネットワーク管理モジュール２１７から受信し得る。アドレス２１９Ａは、対応するネットワーク上のＤＨＣＰサーバにより割り当てられるＩＰｖ６アドレスである。プレフィックス２１９Ｂは、対応するネットワーク上のＮＡＴ６４により利用されるプレフィックスである。
【００３３】
変換バインディングテーブル２０９は、変換バインディング管理モジュール２１３により維持され得る。変換バインディング管理モジュール２１３は、各ネットワークについてのプレフィックスの広告（advertisement）を、個々のＤＨＣＰサーバ、アクセスルータ、又は同様のソースから、ネットワークとの接続後に受信する。変換バインディング管理モジュール２１３は、その後、変換バインディングテーブル２０９内に変換バインディングエントリ２１９を作成する。変換バインディングエントリ２１９は、新たなネットワーク内のホストノードについてのアドレス２１９Ａ、新たなネットワークについてのプレフィックス２１９Ｂ、及び、ネットワークインタフェース識別子２１９Ｃ、又はホストノード１０７Ａ、１０７Ｂと対応するネットワークとの間の対応するネットワークインタフェースの同様の指標、を含む。
【００３４】
図３は、新たなネットワークへのホストノードのアタッチメントについてのプロセスの１つの実施形態のフローチャートである。１つの実施形態において、ホストノードが新たなネットワークへ接続される場合、プロセスが開始され、その新たなネットワークとの接続が確立される（ブロック３０１）。接続タイプは、無線接続、又は有線接続を含むいかなるタイプの接続であってもよい。加えて、接続は、ＶＰＮ接続といった仮想的な接続、又はネットワークとの同様の接続であってもよい。
【００３５】
新たなネットワークとの接続に応じて、ＮＡＴ６４のプレフィックスは、受信され、又はネットワーク上で広告されるであろう（ブロック３０３）。これは、ＩＰｖ４の対応ノードへマッピングされる仮想ＩＰｖ６アドレスを識別するために、新たなネットワークのＮＡＴ６４ノードにより利用されるプレフィックスである。このＮＡＴ６４のプレフィックスは、ＤＨＣＰサーバ、アクセスルータ、ＤＮＳ６４ノード６４、若しくはＮＡＴ６４ノード、又は新たなネットワーク上の同様のサービスによって広告され得る。
【００３６】
１つの実施形態において、新たなネットワーク上のホストノードについてのＩＰｖ６アドレスは、手動で、若しくは自動で構成され、ＤＨＣＰサーバから受信され、又は新たなネットワーク上のアドレスを取得するために同様の発信元から受信され得る（ブロック３０５）。他の実施形態において、ＩＰｖ６アドレスは、ＮＡＴ６４のプレフィックスに先行して、ＮＡＴ６４のプレフィックスと並行して、又はＮＡＴ６４のプレフィックスが受信されるのとほぼ同時のフレーム若しくはプロセスにおいて同様に受信され得る。他の実施形態において、ＤＨＣＰサーバ又は同様の発信元からのＩＰｖ６アドレスの受信に応じて、ＮＡＴ６４のプレフィックスがリクエストされる必要があり得る。他の実施形態において、ＩＰｖ６アドレスは、ＤＨＣＰサーバから受信されない。ホストノードは、手動で、又は自動で構成され得る。
【００３７】
ＤＨＣＰサーバ又はアクセスルータによってホストノードへ割り当てられるＮＡＴ６４のプレフィックス及びＩＰｖ６アドレスを利用して、変換バインディングテーブル内に変換バインディングエントリを作成することができる（ブロック３０７）。以下でさらに説明されるように、ホストノードが対応ノードへトラフィックを転送する際のネットワークインタフェースの変更に関わらず、これら変換バインディングを利用して、対応ノードとの接続性を維持することができる。
【００３８】
図４は、ホストノードによるＩＰｖ４の対応ノードへの接続を開始するためのプロセスの１つの実施形態のフローチャートである。１つの実施形態において、このプロセスは、開始されて、アプリケーション、又はホストノード若しくは関連付けられるコンピュータ内部の同様のプログラムのために、ＩＰｖ４の対応ノードへの接続が確立される（ブロック４０１）。
【００３９】
その後、ホストノードは、アプリケーション又は同様の送信元により特定される対応ノードのアドレスについてＤＮＳ６４ノードへリクエストを送信する（ブロック４０３）。これは、対応ノードを識別するためのＵＲＬ（uniform  resource  locator）の使用を含む。対応ノードへの接続を確立するアプリケーション又は同様のプログラムは、いかなるタイプの識別子を提供してもよく、又はＤＮＳ６４ノードへのいかなるタイプのリクエストを使用して対応ノードについてのアドレスを取得してもよい。ＤＮＳ６４ノードは、ホームネットワーク又は外部ネットワークなどの、確立された接続をホストノードが有するネットワーク内のノードである。他の実施形態において、ＤＮＳ６４は、ホストノードとの間で通信関係にあるいかなるネットワーク上に存在してもよい。
【００４０】
対応ノードのアドレスについてＤＮＳ６４ノードへリクエストを送信することに応じて、ＤＮＳ６４ノードは、対応ノードについての仮想ＩＰｖ６アドレスを返し、当該ＩＰｖ６アドレスは汎用のプレフィックスを含む（ブロック４０５）。汎用のプレフィックスは、ＤＮＳ６４ノードがＮＡＴのプロセスに参加する能力を向上させ、仮想アドレスに関連付けられたデータが実際にはＩＰｖ４のデバイスから由来しており、応答のプレフィックスを注意深く選択することが必要であることをホストノードに通知するよう原則的に働く。汎用のプレフィックスは、いかなる値を有してもよい。１つの実施形態において、汎用のプレフィックスは、先頭から続く全てゼロを有し、又は、：：を先頭から続くゼロとし、ＦＦＦＦを論理値として、：：ＦＦＦＦというような先頭から続くゼロと論理値との組合せを有する。ＸＯＲなどの単純な演算を使用して、汎用プレフィックス付きからネットワーク固有プレフィックス付きへ仮想アドレスを変換し得るように、プレフィックスの選択はなされ得る。
【００４１】
汎用のプレフィックスが受信された後の任意の時点において、対応ノードを宛て先とするデータは、受信され又は対応ノードへ送信される（ブロック４０７）。対応ノードへのデータのためにいずれの接続又はネットワークインタフェースが使用されるべきかに関する決定がなされる（ブロック４０９）。ネットワークインタフェースは、送信者又は同様の方法により選択され得る。その後、データを対応ノードへ送信するために利用されるべき接続若しくはネットワークインタフェースの、指定されたネットワーク識別子又は同様のインジケータを用いて、検索動作が実行される。その後、接続又はネットワークインタフェースについての変換バインディングエントリは、アクセスされ、又は読み出される（ブロック４１１）。変換バインディングエントリは、ホストノードのＩＰｖ６アドレスと、変換バインディングエントリに対応するネットワークについてのプレフィックスとを含む。その後、接続又はネットワークインタフェースについてのＮＡＴ６４のプレフィックスを用いて生成される宛て先アドレスへ、データは送信される（ブロック４１３）。データトラフィックについての送信元アドレスは、対応ネットワークについてのホストノードのＩＰｖ６アドレスである。
【００４２】
図５は、ＩＰｖ６のホストノードとＩＰｖ４の対応ノードとの間のトラフィックをＤＮＳ６４ノードによって扱うためのプロセスの１つの実施形態のフローチャートである。１つの実施形態において、ＤＮＳ６４が対応ノードについてのＩＰｖ６アドレスについてのリクエストを受信することにより、プロセスは開始される（ブロック５０１）。対応ノードについての検索動作、又はアドレス決定動作が実行される（ブロック５０３）。動作は、対応ノードがＩＰｖ６ノード又はＩＰｖ４ノードのいずれであるかに関する決定を含む（ブロック５０５）。対応ノードがＩＰｖ６ノードである場合、適切なＩＰｖ６アドレスは、要求元のホストノードへ単純に返される。一方、対応ノードがＩＰｖ４ノードである場合、ＩＰｖ４アドレスに汎用のプレフィックスを付加することにより生成される仮想ＩＰｖ６アドレスが、要求元のホストノードへ返される。汎用のプレフィックスは、ＩＰｖ４アドレスにマッピングされた仮想ＩＰｖ６アドレスを識別するために、全てのＤＮＳ６４により使用されるように定義され又は合意されたプレフィックスであってよい。いかなるプレフィックス又はプレフィックスの範囲がこの目的のために利用されてもよい。
【００４３】
図６は、対応ノードからのインカミングのパケットをＮＡＴ６４ノードにより処理するためのプロセスの１つの実施形態のフローチャートである。１つの実施形態において、対応ノード、より具体的にはＩＰｖ４のデータパケットをホストノードへ送信する対応ノードのプログラム又はアプリケーションにより、プロセスは開始される。これらデータパケットは、対応ノードにより利用されるホストノードの宛て先アドレスに対応するネットワークのＮＡＴ６４により、傍受され、又は受信される（ブロック６０１）。ＮＡＴ６４により検索動作が実行され、インカミングメッセージについてホストノードが判定され、及びホストノードについての適切なＩＰｖ６アドレスが判定される（ブロック６０３）。インカミングデータパケット内の宛て先アドレスは、ＮＡＴ６４に属し、又はＮＡＴ６４に関連付けられるＩＰｖ４アドレスである。
【００４４】
対応ノードは、ＩＰｖ４プロトコルを用い、及びホストノードについてのＩＰｖ４アドレスを用いて通信する。その後、ＩＰｖ４のパケットは、汎用のプレフィックスをデータパケットの発信元アドレスとして用いる対応ノードの仮想ＩＰｖ６アドレスを含むＩＰｖ６にフォーマッティングされたパケットへ変更される（ブロック６０５）。汎用のプレフィックスを用いる仮想ＩＰｖ６アドレスは、その後、汎用のプレフィックスからＮＡＴ６４固有のプレフィックスを伴うＩＰｖ６の仮想アドレスへ変更される（ブロック６０７）。ホストノードにおいてデータパケットを受信するアプリケーション又はプログラムしか対応ノードについてのこのアドレスを把握しておらず、発信元アドレスはホストノードにおいてこの仮想ＩＰｖ６アドレスへ変更し直されることになるため、データパケットのヘッダ及びデータパケットの同様の側面が汎用のプレフィックスを伴う仮想ＩＰｖ６アドレスに対応することを保証するために、データパケットは、最初に汎用のプレフィックスを伴う仮想ＩＰｖ６アドレスを用いて作成される。変更されたデータパケットは、その後、ホストノードへ転送される（ブロック６１１）。
【００４５】
このように、マルチネットワークのＮＡＴ６４との間の通信を可能とするための方法、システム、及び装置について説明した。上の説明が説明のためのものであって限定的ではないように意図されることは、理解されるべきである。上の説明を読み、理解すれば、当業者にとって多くの他の実施形態が明らかになるであろう。そのため、本発明の範囲は、添付の特許請求の範囲を参照することにより、そのような特許請求の範囲の権利が与えられる全ての均等の範囲と共に決定されるべきである。
【図１】
0005551247.tif 000002
【図２】
0005551247.tif 000003
【図３】
0005551247.tif 000004
【図４】
0005551247.tif 000005
【図５】
0005551247.tif 000006
【図６】
0005551247.tif 000007