(57)【要約】【課題】  ＩＰｖ４専用ネットワークにおけるモバイルＩＰｖ６ノードがＩＰｖ６通信に接続するための方法およびシステムを提供すること。【解決手段】  モバイルデュアルスタックノードは、ＩＰｖ４専用ネットワーク内を移動中にＩＰｖ６通信に接続し、在圏ネットワークがＩＰｖ６対応コンポーネントを備えないことを判断すると、トンネルブローカーと通信してＩＰｖ６接続エージェントへのトンネル及び気付アドレスを取得する。取得された気付アドレスが移動前の気付アドレスと異なれば、上記ノードはホームエージェント及び対応相手にＭＩＰｖ６バインディング更新を送信する。上記ノードは、上記接続エージェントにバインディング更新を送信することにより別の気付アドレスを取得したときにハンドオフを最適化することができる。接続エージェントは、以前の気付アドレスに宛てられたパケットを受信すると、それを現在の気付アドレスに転送する。【選択図】  図１Ａ
2005102231.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰｖ４コンポーネントを備えるネットワークを介してノードがＩＰｖ６通信に接続するための方法であって、
前記ノードが移動したことを判断するステップと、
新たなＩＰｖ４アドレスを取得するステップと、
トンネルブローカーのＩＰｖ４アドレスを判断するステップと、
気付アドレスを取得するステップと、
ＩＰｖ６接続エージェントへのトンネルを取得するステップと
を備えた方法。
【請求項２】
前記ノードが移動したことを判断するステップは、
前記ノードが、第１ネットワークおよび第１サブネットワークのうちの一つから切り離されたことを検出するステップと、
前記ノードが、第２ネットワークおよび第２サブネットワークのうちの一つに接続されたことを検出するステップと
を備えたことを特徴とする請求項１記載の方法。
【請求項３】
前記新たなＩＰｖ４アドレスを取得するステップは、ＤＨＣＰ(Dynamic Host Configuration Protocol)及びＰＰＰ(Point-to-Point Protocol)のうちの一つを備えたことを特徴とする請求項１記載の方法。
【請求項４】
在圏ネットワークがＩＰｖ６対応コンポーネントを備えないことを判断するステップは、特定の時間内にＩＰｖ６ルーター広告を受信しないステップを備えたことを特徴とする請求項１記載の方法。
【請求項５】
トンネルブローカーの前記ＩＰｖ４アドレスを判断するステップは、ＩＰｖ４エニーキャストメッセージを送信するステップと、ＤＮＳ(Domain Name System)サーバーに接続するステップとのうちの一つであることを特徴とする請求項１記載の方法。
【請求項６】
在圏ネットワークがＩＰｖ６対応コンポーネントを備えないことを判断するステップを更に備えたことを特徴とする請求項１記載の方法。
【請求項７】
前記トンネルブローカーの前記判断されたＩＰｖ４アドレスが、前記ノードが前に使用した前記トンネルブローカーの前記ＩＰｖ４アドレスと同一であることの判断に応答して、バインディング更新を前記ＩＰｖ６接続エージェントに送信するステップを更に備えた請求項１記載の方法。
【請求項８】
前記バインディング更新を前記ＩＰｖ６接続エージェントに送信するステップは、前記ノードによって使用された以前の気付アドレスと前記取得された気付アドレスとを送信するステップを備えたことを特徴とする請求項７記載の方法。
【請求項９】
ＩＰｖ４専用ネットワーク内でクライアントノードが移動したときにＩＰｖ６接続エージェントがハンドオフを最適化するための方法であって、
第１気付アドレスおよび第２気付アドレスを備えるバインディング更新を受信するステップと、
前記第１気付アドレスに送信されたパケットの受信に応答して、前記パケットを前記第２気付アドレスに送信するステップと
を備えた方法。
【請求項１０】
ＩＰｖ４コンポーネントを備えたネットワークを介してノードがＩＰｖ６通信に接続するためのシステムであって、
前記ノードが移動したことを判断するように構成された第１モジュールと、
新たなＩＰｖ４アドレスを取得するように構成された第２モジュールと、
トンネルブローカーのＩＰｖ４アドレスを判断するように構成された第３モジュールと、
気付アドレスを取得するように構成された第４モジュールと、
ＩＰｖ６接続エージェントへのトンネルを取得するように構成された第５モジュールと、
前記第１モジュールと前記第２モジュールと前記第３モジュールと前記第４モジュールと前記第５モジュールとに接続されると共に、信号を送信し且つ受信するように構成された第６モジュールと
を備えたシステム。
【請求項１１】
在圏ネットワークがＩＰｖ６対応コンポーネントを備えないことを判断するように構成された第７モジュールを更に備え、前記第６モジュールは、前記第７モジュールと通信可能に更に接続されたことを特徴とする請求項１０記載のシステム。
【請求項１２】
前記トンネルサーバーのＩＰｖ４アドレスが、前記ノードが前に使用した前記トンネルサーバーの前記ＩＰｖ４アドレスと同一であることの判断に応答して、バインディング更新を前記ＩＰｖ６接続エージェントに送信するように構成された第７モジュールを更に備え、前記第６モジュールは、前記第７モジュールと通信可能に更に接続されたことを特徴とする請求項１０記載のシステム。
【請求項１３】
ＩＰｖ４専用ネットワーク内でクライアントノードが移動したときにＩＰｖ６接続エージェントがハンドオフを最適化するためのシステムであって、
第１気付アドレス及び第２気付アドレスを備えたバインディング更新を受信するように構成された第１モジュールと、
前記第１気付アドレスに送信されたパケットの受信に応答して、前記パケットを前記第２気付アドレスに送信するように構成された第２モジュールと、
前記第１モジュール及び前記第２モジュールと通信可能に接続されると共に、信号を送信し且つ受信するように構成された第３モジュールと
を備えたシステム。
【請求項１４】
ＩＰｖ４コンポーネントを備えたネットワークを介してノードがＩＰｖ６通信に接続するためのコンピュータプログラムプロダクトを格納するコンピュータ読み取り可能な記録媒体であって、前記コンピュータプログラムプロダクトは、
前記ノードが移動したことを判断するステップのためのプログラムコードと、
新たなＩＰｖ４アドレスを取得するステップのためのプログラムコードと、
トンネルブローカーのＩＰｖ４アドレスを判断するステップのためのプログラムコードと、
気付アドレスを取得するステップのためのプログラムコードと、
ＩＰｖ６接続エージェントへのトンネルを取得するステップのためのプログラムコードと
を備えたコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記ノードが移動したことを判断するステップは、
前記ノードが、第１ネットワーク及び第１サブネットワークのうちの一つから切り離されたことを検出するステップと、
前記ノードが、第２ネットワーク及び第２サブネットワークのうちの一つに接続されたことを検出するステップと
を備えたことを特徴とする請求項１４記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記新たなＩＰｖ４アドレスを取得するステップは、ＤＨＣＰ(Dynamic Host Configuration Protocol)及びＰＰＰ(Point-to-Point Protocol)のうちの一つを使用するステップを備えたことを特徴とする請求項１４記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
在圏ネットワークがＩＰｖ６対応コンポーネントを備えないことを判断するステップは、特定の時間内にＩＰｖ６ルーター広告を受信しないステップを備えた請求項１４記載のコンピュータ読み取り可能な記録媒体。
【請求項１８】
トンネルブローカーのＩＰｖ４アドレスを判断するステップは、ＩＰｖ４エニーキャストメッセージを送信するステップと、ＤＮＳ(Domain Name System)サーバーに接続するステップとのうちの一つを備えたことを特徴とする請求項１４記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
前記コンピュータプログラムプロダクトは、在圏ネットワークがＩＰｖ６対応コンポーネントを備えないことを判断するステップのためのプログラムコードを更に備えたことを特徴とする請求項１４記載のコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記コンピュータプログラムプロダクトは、前記トンネルブローカーの前記判断されたＩＰｖ４アドレスが、前記ノードが前に使用した前記トンネルブローカーの前記ＩＰｖ４アドレスと同一であることの判断に応答して、バインディング更新を前記ＩＰｖ６接続エージェントに送信するステップのためのプログラムコードを更に備えたことを特徴とする請求項１４記載のコンピュータ読み取り可能な記録媒体。
【請求項２１】
前記バインディング更新を前記ＩＰｖ６接続エージェントに送信するステップは、前記ノードによって使用された以前の気付アドレスと前記取得された気付アドレスとを送信するステップを備えたことを特徴とする請求項２０記載のコンピュータ読み取り可能な記録媒体。
【請求項２２】
クライアントノードがＩＰｖ４専用ネットワーク内で移動したときにＩＰｖ６接続エージェントがハンドオフを最適化するためのコンピュータプログラムプロダクトを格納したコンピュータ読み取り可能な記録媒体であって、
第１気付アドレス及び第２気付アドレスを備えたバインディング更新を受信するステップのためのプログラムコードと、
前記第１気付アドレスに送信されたパケットの受信に応答して、前記パケットを前記第２気付アドレスに送信するステップのためのプログラムコードと
を備えたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、インターネットプロトコル通信に関し、特に、トンネルブローカーモデル(tunnel broker model)及びＭＩＰｖ６(Mobile Internet Protocol Version 6)ハンドオーバー最適化を用いたＩＰｖ４(Internet Protocol Version 4)を含むネットワーク上でのＭＩＰｖ６通信を可能とする技術に関する。
【０００２】
本出願は、“Using Mobile Ipv6 Extensions in a Tunnel Broker Model(tunnel broker-MIPv6 service architecture).”と題された２００３年９月２３日に出願されたシリアル番号６０／５０５５８１の米国特許仮出願に基づく優先権を主張するものであり、この仮出願は、参照することにより本明細書に組み込まれる。本出願は、“Internet Service Facilitating Ipv6 Connectivity Across a Customer’s Network Containing Ipv4 Components”と題された２００３年５月１２日に出願されたシリアル番号１０／４３６６７９の米国の一般特許出願(utility patent application)と、“Automatic Ipv6 Connect Agent Discovery Using DNS”と題された２００３年１２月４日に出願されたシリアル番号１０／７２９２５７の米国の一般特許出願と、“Enabling Mobile Ipv6 Communication Over a Network Containing Ipv4 Components Using ISATAP”と題された２００４年４月５日に出願されたシリアル番号１０／８１８６６２の米国の一般特許出願とに関連し、これらの一般特許出願は、参照することにより本明細書に組み込まれる。
【背景技術】
【０００３】
ＩＰｖ６(Internet Protocol Version 6)は、インターネットプロトコルの新しいバージョンであり、ＩＰｖ４(Internet Protocol Version 4)の後継版として設計された。ＩＰｖ６は移動性(mobility)をサポートしないので、モバイルＩＰｖ６ノード（インターネットに対するそのアクセスポイントを動的に変えるノード）に宛てられたパケットは、そのホームリンクから離れていると、そのノードに到達することができない。モバイルＩＰｖ６ノードをサポートするために、ＭＩＰｖ６(Mobile Ipv6)が創設された。ＭＩＰｖ６は、モバイルＩＰｖ６ノードが、ＩＰｖ６ネットワークにおいてあちらこちらに移動している間、到達可能な状態(reachable)を保つことを可能にする。
【０００４】
しかしながら、現在では、二つのインターネットプロトコルのバージョンが存在して使用されており、一つは、広く使用されている古いＩＰｖ４であり、もう一つは、あまり使用されていない新しいＩＰｖ６である。もし、モバイルＩＰｖ６ノードがＩＰｖ４専用ネットワークに移動すれば、このモバイルＩＰｖ６ノードは、その対応するＩＰｖ６の相手(peers)とのＩＰｖ６通信を継続することができなくなるであろう。これは、送信側のモバイルＩＰｖ６ノードが最初にＩＰｖ４専用ノードと通信しなければならず、そしてこのＩＰｖ４専用ノードが受信側のＩＰｖ６ノードと通信しなければならないためである。これは、ＩＰｖ６およびＭＩＰｖ６の何れによってもサポートされていない。ＩＰｖ６は徐々にＩＰｖ４を置き換えると予想されるが、二つのバージョンは移行期間中の何年もの間、共存するであろう。従って、たとえモバイルＩＰｖ６ノードがＩＰｖ４専用ネットワークにいるときであっても、そのモバイルＩＰｖ６ノードが他のＩＰｖ６ノードとのＩＰｖ６通信に接続することを可能にすることは、インターネットのユーザの間では重要な関心事である。
【０００５】
必要とされることは、ＩＰｖ４専用ネットワークにおけるモバイルＩＰｖ６ノードがＩＰｖ４専用ネットワークを介してＩＰｖ６通信に接続するための方法およびシステムである。本方法およびシステムは、ＩＰｖ４専用ネットワークのアップグレードを必要とすべきでない。
【発明の開示】
【課題を解決するための手段】
【０００６】
ＩＰｖ６対応コンポーネントを備えないネットワーク上でのＩＰｖ６通信に接続するために、モバイルＩＰｖ６デュアルスタックノードは、トンネルブローカーを使用して、ＩＰｖ６接続エージェントへのトンネルおよびＭＩＰｖ６気付アドレスを取得する。
【０００７】
モバイルＩＰｖ６デュアルスタックノードは、それが移動したことを判断する。そして、そのノードは新たなＩＰｖ４アドレスを取得する。そのノードは、在圏ネットワークがＩＰｖ６対応コンポーネントを備えていないと判断する。そのノードは、トンネルブローカーを探し出し、そして、そのトンネルブルーカーを使用して、例えばトンネルサーバーなどのＩＰｖ６接続エージェントへのトンネルおよびＭＩＰｖ６気付アドレスを取得する。そのトンネルサーバーは、そのノードがＩＰｖ４専用ネットワーク上でのＩＰｖ６通信に接続することを可能にする。もし、トンネルブローカーが、移動前にそのノードが使用していたトンネルブローカーと同一のものであれば、そのノードは同一の気付アドレスを継続して使用する。もし、トンネルブローカーが異なるものであれば、そのノードは、新たな気付アドレスを使用する。一実施形態において、トンネルブローカーは、その新たな気付アドレスを供給する。そして、ＭＩＰｖ６バインディング更新(MIPv6 binding updates)は、そのノードのホームエージェントと、対応する相手とに送信される。
【０００８】
一実施形態において、ノードおよび接続エージェント（例えばトンネルサーバー）はハンドオフを最適化する。そのノードは、そのノードが移動して別のトンネルブローカーを使用していることを検出する。そして、そのノードは、バインディング更新を、そのノードの以前および現在の気付アドレスを備える以前の接続エージェントに送信する。以前の接続エージェントは、そのバインディング更新を受信し、そして、一実施形態において、そのバインディング更新を、以前の気付アドレスを現在の気付アドレスにマッピングするバインディングキャッシュに格納する。その後、その接続エージェントは、ノードの以前の気付アドレスに向けられたパケットを受信すると、そのパケットを、そのノードの現在の気付アドレスに転送し、これによりパケットの損失を低減する。
【０００９】
この要約および以下の詳細な説明において述べられる特徴および利点は包括的なものではなく、特に、多くの追加的な特徴および利点は、本願の図面、明細書、および特許請求の範囲の観点から当技術分野における当業者には明らかであろう。更に、本明細書で使用される言語は、原則として、読みやすさと教育目的のために選択されたものであり、発明の要旨の事項を制限し線引きするために選択されたものではなく、このような発明の要旨事項を判断するために必要な特許請求の範囲によることに注意されたい。
【００１０】
図１Ａは、本発明の一実施形態によるＩＰｖ４およびＩＰｖ６混在ネットワーク上でのＩＰｖ６通信に接続している上記混在ネットワークのＩＰｖ６セクションにおけるモバイルデュアルスタックの上位レベルの概要を図解するブロック図である。
【００１１】
図１Ｂは、本発明の一実施形態によるＩＰｖ４およびＩＰｖ６混在ネットワーク上でのＩＰｖ６通信に接続している上記混在ネットワークのＩＰｖ４セクションにおけるモバイルデュアルスタックノードの上位レベルの概要を図解するブロック図である。
【００１２】
図２は、本発明の一実施形態によるモバイルデュアルスタックノードの拡張プロトコルスタック(enhanced protocol stack)のブロック図である。
【００１３】
図３は、本発明の一実施形態によるモバイルデュアルスタックノードがＩＰｖ４専用ネットワークに移動した後にＩＰｖ６通信に接続するためのステップを図解するフローチャートである。
【００１４】
図４は、本発明の一実施形態によるモバイルデュアルスタックノードがＩＰｖ４専用ネットワーク内で移動したときに、そのノードとＩＰｖ６接続エージェントがハンドオフを最適化するためのステップを図解するフローチャートである。
【００１５】
図面は、図示のためだけの目的で本発明の一実施形態を表す。当技術分野の当業者であれば、以下の説明から、本明細書に述べられた本発明の原理を逸脱することなく、本明細書に示される方法および構成に代わる他の実施形態が採用され得ることを容易に理解するであろう。
【発明を実施するための最良の形態】
【００１６】
以下の説明は、非ＩＰｖ６対応ネットワークに位置されたモバイルＩＰｖ６ノードが非ＩＰｖ６対応ネットワークを通してＩＰｖ６通信に接続することを可能にする方法およびシステムかかわるものである。しかしながら、本発明は、また、特定の通信プロトコルを使用することができるノードが、そのプロトコルをサポートしないネットワークを通してでも、そのプロトコルを使用して通信に接続することを可能にする方法およびシステムにも適用できる。
【００１７】
図１Ａは、本発明の一実施形態によるＩＰｖ４およびＩＰｖ６混在ネットワーク上でのＩＰｖ６通信に接続する上記混在ネットワークのＩＰｖ６セクション１１０におけるモバイルデュアルスタックノード(mobile dual-stack node)１２５の上位レベルの概要を示すブロック図である。この図示された実施形態は、混在ネットワーク(mixed network)１００、通信ネットワーク１５０、およびＩＰｖ６装置(IPv6 entity)１９０を備える。この図示された実施形態において、混在ネットワーク１００およびＩＰｖ６装置１９０は、通信ネットワーク１５０に接続されている。
【００１８】
混在ネットワーク１００は、ＩＰｖ４専用(IPv4-only)コンポーネント１０５およびＩＰｖ６対応(IPv6-enabled)コンポーネント１１０の両方を備えたネットワークである。この図示された実施形態において、混在ネットワーク１００は、ＩＰｖ４専用セクション(IPv4-only section)１０５とＩＰｖ６対応セクション(IPv6-enabled section)１１０とを備える。ＩＰｖ４専用セクション１０５は、一つのＩＰｖ４専用ノード(IPv4-only node)１１５を備え、且つＩＰｖ６対応セクション１１０は、一つのＩＰｖ６対応ノード１２０と、一つのモバイルデュアルスタックノード１２５とを備える。デュアルスタックノード１２５は、ＩＰｖ４スタックとＩＰｖ６スタックとを備えたノードであり、従ってＩＰｖ４通信及びＩＰｖ６通信の両方に接続することができる。デュアルスタックノード１２５は、ＩＰｖ４通信およびＩＰｖ６通信に接続するためのマシン読み取り可能な命令を格納するメモリモジュールを備える。一実施形態において、これらの命令は、拡張プロトコルスタック(enhanced protocol stack)２００を備え、この拡張プロトコルスタック２００は、図２を参照して後述されるであろう。
【００１９】
図示されたアークテクチャは、単なる一例として使用される。図１Ａは、ＩＰｖ４専用セクション１０５において一つのＩＰｖ４専用ノード１１５を図示するが、本発明は、ＩＰｖ４専用セクション１０５において１又は２以上のＩＰｖ４専用ノード１１５を備える如何なるアーキテクチャにも適用できる。更に、図１Ａは、ＩＰｖ６対応セクション１１０において一つのＩＰｖ６対応ノード１２０と一つのモバイルデュアルスタックノード１２５とを図示するが、本発明は、ＩＰｖ６対応セクション１１０において１又は２以上のＩＰｖ６対応ノード１２０と１又は２以上のモバイルデュアルスタックノード１２５とを備える如何なるアーキテクチャにも適用できる。
【００２０】
通信ネットワーク１５０は、複数の処理システム（図示なし）を備えてもよく、且つローカルネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ；例えばインターネット）、及び／又は複数の装置が通信可能な他の任意の相互接続されたデータパスを備えることができる。図示された実施形態では、通信ネットワーク１５０は、一つのＩＰｖ６接続エージェント(IPv6 connect agent)１３０と、一つのトンネルブローカー(tunnel broker)１３５と、一つのホームエージェント(home agent)１４０とを備える。このアーキテクチャは、単なる一例として使用される。図１Ａは、一つのＩＰｖ６接続エージェント１３０と、一つのトンネルブローカー１３５と、一つのホームエージェントとを図示するが、本発明は、０又は１以上のＩＰｖ６接続エージェント１３０、０又は１以上のトンネルブローカー１３５、０又は１以上のホームエージェント１４０を備える如何なるアーキテクチャにも適用できる。２以上のＩＰｖ６接続エージェント１３０が利用可能である場合、モバイルデュアルスタックノード１２５は、どのＩＰｖ６接続エージェントを使用すべきかかに関する選択権を有する。同様に、２以上のトンネルブローカー１３５が利用可能なときには、モバイルデュアルスタックノード１２５は、どのトンネルブローカーを使用すべきかに関する選択権を有する。更に、図示された実施形態は、モバイルデュアルスタックノード１２５を備えるホームネットワーク１００の外部に配置されたＩＰｖ６接続エージェント１３０、トンネルブローカー１３５、およびホームエージェント１４０を示しているが、他の実施形態においては、ＩＰｖ６接続エージェント１３０、トンネルブローカー１３５、及び／又はホームエージェント１４０は、モバイルデュアルスタックノード１２５を備えるネットワーク１００の内部に配置される。
【００２１】
ＩＰｖ６接続エージェント１３０は、混在ネットワーク１００（又はＩＰｖ４専用ネットワーク）のＩＰｖ４専用セクション１０５に存在するモバイルデュアルスタックノード１２５が、そのネットワークを介してＩＰｖ６通信に接続することを可能にするために必要な機能を備えたノードである。ＩＰｖ６接続エージェント１３０は、図１Ｂを参照して後述されるであろう。
【００２２】
トンネルブローカー１３５は、混在ネットワーク１００（又はＩＰｖ４専用ネットワーク）のＩＰｖ４専用セクションに存在するモバイルデュアルスタックノード１２５とＩＰｖ６接続エージェント１３０との間にＩＰｖ６トンネルを設定するために必要とされる機能を備えたノードである。このトンネルは、ノード１２５が混在ネットワーク１００（又はＩＰｖ４専用ネットワーク）のＩＰｖ４専用セクション１０５を介してＩＰｖ６通信に接続することを可能にする。トンネルブローカー１３５は、関連分野における当業者に知られており、そして２００１年３月のA.Durand, P.Fasano, I.Guardini, D.Lentoによる“Ipv6 Tunnel Broker”(RFC 3053)において更に詳細に述べられている。トンネルブローカー１３５は、図１Ｂを参照して後で更に説明されるであろう。
【００２３】
図１Ａに示されるように、モバイルデュアルスタックノード１２５は、混在ネットワーク１００のＩＰｖ６対応セクション１１０内に位置している。モバイルデュアルスタックノード１２５は、ＩＰｖ６対応セクション１１０内に位置しているので、このモバイルデュアルスタックノード１２５は、そのホームネットワークから離れている間、（例えばホームエージェント１４０を使用して）パケットを受信し及び送信するためにＭＩＰｖ６を使用することができる。この実施形態では、ＩＰｖ６接続エージェント１３０は使用されない。
【００２４】
図１Ｂは、本発明の一実施形態によるＩＰｖ４およびＩＰｖ６混在ネットワーク１００上でのＩＰｖ６通信に接続する上記混在ネットワーク１００のＩＰｖ４専用セクション１０５におけるモバイルデュアルスタックノード１２５の上位レベルの概要を示すブロック図である。図１Ｂは、モバイルデュアルスタックノード１２５が混在ネットワーク１００でＩＰｖ６対応セクション１１０からＩＰｖ４専用セクション１０５に移動したことを除いては、図１Ａと同様である。
【００２５】
上述したように、ＭＩＰｖ６は、モバイルＩＰｖ６対応ノード１２５がＩＰｖ６対応ネットワーク（又は混在ネットワークのＩＰｖ６対応セクション）内に留まっている間のみ、このモバイルＩＰｖ６対応ノードがパケットを受信し送信することを可能にする。ＭＩＰｖ６は、モバイルＩＰｖ６対応ノード１２５がＩＰｖ４専用ネットワーク（又は混在ネットワークのＩＰｖ４専用セクション）内に位置しているときには通信を可能としない。従って、ＩＰｖ６接続エージェント１３０は、モバイルデュアルスタックノード１２５がＩＰｖ４専用ネットワーク（又は混在ネットワーク１００のＩＰｖ４専用セクション）に位置しているときに、モバイルデュアルスタックノード１２５とＩＰｖ６装置１９０との間のＩＰｖ６通信を可能とするために必要とされる。
【００２６】
一実施形態において、ＩＰｖ６接続エージェント１３０はＩＰｖ６トンネルサーバーである。この実施形態では、ＩＰｖ６接続エージェント１３０は、例えば、ＩＰｖ６−ｏｖｅｒ−ＩＰｖ４またはＩＰｖ６−ｏｖｅｒ−ＵＤＰ−ＩＰｖ４のようなＩＰｖ６トンネリングプロトコルを実施する。ＩＰｖ６トンネリングプロトコルは、混在ネットワークのＩＰｖ４専用セクションまたはＩＰｖ４専用ネットワークに存在する静止したデュアルスタックノードがＩＰｖ４専用または混在ネットワーク上でのＩＰｖ６通信に接続することを可能とする。具体的には、ルーターやサーバーのようなＩＰｖ６トンネル対応装置は、送信元のデュアルスタックノードがＩＰｖ４専用ネットワークを介してＩＰｖ６の次ホップのアドレス(IPv6 next-hop address)にパケットをトンネルすることを可能とする。換言すると、ＩＰｖ４専用ネットワークは、ＩＰｖ６のためのリンクレイヤとして取り扱われる。ＩＰｖ６トンネルは、関連分野における当業者に知られており、１９９８年１２月のA.ContaおよびS.Deeringによる“Generic Packet Tunneling in Ipv6 Specification”(RFC 2473)において詳しく述べられている。
【００２７】
上述したように、トンネルブローカー１３５は、混在ネットワーク１００（又はＩＰｖ４専用ネットワーク）のＩＰｖ４専用セクション１０５に存在するモバイルデュアルスタックノード１２５とＩＰｖ６接続エージェント１３０（ＩＰｖ６トンネルサーバーのようなもの）との間にＩＰｖ６トンネルを設定するために必要とされる機能性(functionality)を備えたノードである。一実施形態において、トンネルブローカー１３５は、トンネルセットアッププロトコル(Tunnel Setup Protocol；ＴＳＰ)に従ってトンネルを設定する。ＴＳＰは、関連分野における当業者に知られており、２００４年２月のM.Blanchetによる“Ipv6 Tunnel Broker with the Tunnel Setup Protocol(TSP)”(Internet-Draft)において更に詳しく述べられている。
【００２８】
ＩＰｖ６トンネルは、ＩＰｖ４専用ネットワークまたは混在ネットワーク上でのＩＰｖ６通信を可能にするが、ＩＰｖ６トンネルは、静止した送信元のノードのみで使用することができ、モバイルの発信元ノードでは使用できない。モバイルＩＰｖ６は、移動中の送信元のノードをサポートし、これによりネットワーク１５０に対するそのアクセスポイントを変える。上述したように、ＭＩＰｖ６は、モバイルＩＰｖ６対応ノードがＩＰｖ６対応ネットワークにおいてあちらこちら移動している間、到達可能状態(reachable)を維持することを可能にする。ＭＩＰｖ６において、各モバイルノードは、ネットワークに対するその現在の接続ポイントとは無関係に、常にそのホームアドレスによって識別される。そのホームから遠くに離れている間、モバイルノードは、また、気付アドレス(care-of address)と関連づけられ、この気付アドレスは、そのモバイルノードの現在位置に関する情報を提供する。モバイルノードのホームアドレスに宛てられたＩＰｖ６パケットは、滞りなく、そのノードの気付アドレスにルーティングされる。ＭＩＰｖ６は、ＩＰｖ６対応ノードが、モバイルノードのホームアドレスと、その気付アドレスとのバインディング(binding)をキャッシュに格納し、そしてモバイルノードに宛てられた任意のパケットをその気付アドレスのものに直接的に送信することを可能にする。全てのＩＰｖ６対応ノードは、モバイルであろうと固定であろうと、モバイルノードと通信することができる。ＭＩＰｖ６は、関連技術分野における当業者に知られており、D.Johnson, C.Perkins, J.Arkkoによる「“Mobility Support in Ipv6”(Internet-Draft), ２００３年６月」において更に詳細に説明されている。
【００２９】
ＩＰｖ６トンネルおよびＭＩＰｖ６の制約を克服するために、一実施形態において、モバイルデュアルスタックノード１２５は、モバイルデュアルスタックノード１２５がＩＰｖ４専用ネットワークに移動し、且つＩＰｖ６通信に接続することを可能にする独創的なソフトウェアコンポーネントを備える。本発明は、モバイルデュアルスタックノード１２５がＩＰｖ６通信に接続することを可能にするためには、混在ネットワーク１００のＩＰｖ４専用エレメントまたはＩＰｖ４専用ネットワークがＩＰｖ６にアップグレードされることを要しないので、とりわけ有利である。
【００３０】
図２は、本発明の一実施形態によるモバイルデュアルスタックノードの拡張プロトコルスタックのブロック図である。拡張スタック２００は、ＩＰｖ４スタック２０５とＩＰｖ６スタック２１０とを備える。ＩＰｖ４スタック２０５は、ＩＰｖ４移動検出モジュール２１５とＩＰｖ４動的アドレス構成モジュール２２０とを備える。ＩＰｖ６スタック２２０は、ＩＰレイヤタイプ検出モジュール２２５と、トンネルブローカー発見モジュール２３０と、トンネルブローカーインターフェイスモジュール２３５と、トンネルクライアントモジュール２４０と、ＭＩＰｖ６クライアントモジュール２４５とを備える。
【００３１】
一実施形態において、拡張スタック２００は、コントロールモジュール（図示なし）を更に備え、このコントロールモジュールは、ＩＰｖ４移動検出モジュール２１５と、ＩＰｖ４動的アドレス構成モジュール２２０と、ＩＰレイヤタイプ検出モジュール２２５と、トンネルブローカー発見モジュール２３０と、トンネルブローカーインターフェイスモジュール２３５と、トンネルクライアントモジュール２４０と、ＭＩＰｖ６クライアントモジュール２４５と、混在ネットワーク１００とに対し通信可能に接続されている。このコントロールモジュールは、主として、モバイルデュアルスタックノード１２５の処理フローおよび動作、即ち、各モジュール２１５，２２０，２２５，２３０，２３５，２４０，２４５からのデータ受信のみならず、命令およびデータの送信を制御する。
【００３２】
ＩＰｖ４移動検出モジュール２１５は、ＩＰｖ４対応ノードがネットワークにおける或るアクセスポイントから他のアクセスポイントに移動したことを判断する。具体的には、ＩＰｖ４移動検出モジュール２１５は、ノードがサブネットワークまたはネットワークから切り離され(detach)、そして別なサブネットまたはネットワークに接続(attach)されたことを検出し、これにより、異なるルーターを使用する。もし、ノードが有線接続(wireline connection)を使用すれば、ＩＰｖ４移動検出モジュール２１５は、そのノードがそれ自身をネットワークから物理的に切り離したことを検出する。もしノードが無線接続(wireless connection)を使用すれば、ＩＰｖ４移動検出モジュール２１５は、そのノードが特定の無線アクセスポイントの使用を止めたことを検出する。ネットワーク切断(detachment)及び接続(attachment)の検出方法は、関連技術分野における当業者に知られており、C.Perkinsによる「“IP Mobility Support”(RFC2002), １９９６年１０月」において更に詳しく説明されている。
【００３３】
ＩＰｖ４動的アドレス構成モジュール２２０は、ＩＰｖ４対応ノードのためのＩＰｖ４アドレスを取得する。ＤＨＣＰ(Domain Host Control Protocol)またはＰＰＰ(Point-to-Point Protocol)のようなＩＰｖ４アドレスを動的に取得する方法は、当技術分野における当業者に知られており、R.Dromsによる「“Dynamic Host Configuration Protocol”(RFC 2131),１９９７年３月」と、W.Simpson(Ed.)による「“The Point-to-Point Protocol(PPP)”(RFC 1661),１９９４年７月」において詳しく述べられている。
【００３４】
ＩＰレイヤタイプ検出モジュール２２５は、ＩＰｖ６対応コンポーネントを備えるネットワークにいるのかどうかを判断する。一実施形態において、ネットワークは、ネットワークにいるノードがＩＰｖ６ルーター広告(IPv6 router advertisement)を受信するのであれば、ＩＰｖ６対応コンポーネントを備える。そのノードはＩＰｖ６ルーター広告を受信することを待ってもよく、或いは、そのノードはＩＰｖ６ルーター要求(IPv6 router solicitation)を送信することによりＩＰｖ６ルーター広告を要求してもよい。ＩＰレイヤタイプ検出モジュール２２５は混在ネットワーク１００に接続されている。
【００３５】
トンネルブローカー発見モジュール２３０は、トンネルブローカー１３５のＩＰｖ４アドレスを判断する。一実施形態において、これはＩＰｖ４エニーキャストブロードキャスト(anycast broadcast)を送信することにより実施される。他の実施形態においては、これは、“Automatic IPv6 Connect Agent Discovery using DNS”と題された２００３年１２月４日出願の米国特許出願第１０／７２９２５７号で説明されているように、ＤＮＳ(Domain Name System)サーバーに接続することにより実施され、その内容は、参照することによりそっくりそのまま本明細書に組み込まれる。トンネルブローカー発見モジュール２３０は混在ネットワーク１００に接続される。
【００３６】
トンネルブローカーインターフェイスモジュール２３５は、ＩＰｖ６接続エージェント１３０（ＩＰｖ６トンネルサーバーのようなもの）へのＩＰｖ６トンネルとＭＩＰｖ６気付アドレスとを獲得するためにトンネルブローカー１３５と通信する。
【００３７】
トンネルクライアント２４０は、デュアルスタックノードがＩＰｖ６接続エージェント１３０（ＩＰｖ６トンネルサーバーのようなもの）を使用してＩＰｖ４専用または混在ネットワーク上でＩＰｖ６通信を送受信することができるように、トンネルクライアントを実施する。
【００３８】
ＭＩＰｖ６クライアントモジュール２４５は、ＭＩＰｖ６を実施して、ＭＩＰｖ６バインディング更新をノードのホームエージェント１４０および対応する相手に送信することによりノードの気付アドレスを更新する。
【００３９】
図３は、本発明の一実施形態によるモバイルデュアルスタックノードがＩＰｖ４専用ネットワークに移動した後にＩＰｖ６通信に接続するためのステップを示すフローチャートである。最初のステップでは、ノード１２５は、ＩＰｖ４移動検出モジュール２１５を使用してノード１２５が移動したことを判断する（ステップ３１０）。例えば、ＩＰｖ４移動検出モジュール２１５は、コントロールモジュールに信号を送信する。そして、ノード１２５は、ＩＰｖ４動的アドレス構成モジュール２２０を使用して、新たなＩＰｖ４アドレスを動的に取得することによりノード１２５のＩＰｖ４接続を構成する（ステップ３２０）。
【００４０】
ノード１２５は、ＩＰレイヤ検出モジュール２２５を使用して、周囲のネットワークがＩＰｖ６対応コンポーネントを備えているかどうかを判断する（ステップ３３０）。もし、そのネットワークが１又は２以上のＩＰｖ６対応コンポーネントを備えていれば、ノード１２５は、そのＩＰｖ６対応コンポーネント（図示なし）を介してＩＰｖ６通信に接続する。もし、そのネットワークがＩＰｖ６コンポーネントを備えていなければ、ノード１２５は、トンネルブローカー発見モジュール２３０を使用して、トンネルブローカー１３５のＩＰｖ４アドレスを判断する（ステップ３４０）。
【００４１】
ノード１２５は、トンネルブローカーインターフェイスモジュール２３５を使用して、上記発見されたトンネルブローカー１３５と通信し、ＩＰｖ６接続エージェント１３０（ＩＰｖ６トンネルサーバーのようなもの）へのＩＰｖ６トンネル及びＭＩＰｖ６気付アドレスを取得する（ステップ３５０）。もし、上記発見されたトンネルブローカー１３５が、上記ノードが移動前に使用していたトンネルブローカーと同一であれば、上記ノードは同一の気付アドレスを継続して使用する。
【００４２】
もし、トンネルブローカー１３５が異なれば、上記ノードは新たな気付アドレスを使用する。一実施形態において、新たなトンネルブローカー１３５は新たな気付アドレスを供給する。ノード１２５は、ＭＩＰｖ６クライアントモジュール２４５を使用して、ＭＩＰｖ６バインディング更新を、上記ノードのホームエージェント１４０と、対応する相手とに送信することにより、上記ノードの気付アドレスを更新する。
【００４３】
一旦、トンネルが確立すると、ノード１２５は、トンネルクライアントモジュール２４０を使用して、ＩＰｖ６接続エージェント１３０（ＩＰｖ６トンネルサーバーのようなもの）と通信する。このＩＰｖ６接続エージェント１３０は、図１Ｂに示されるように、ノード１２５がＩＰｖ４専用ネットワークまたは混在ネットワーク上でＩＰｖ６通信を送受信することを可能にする。
【００４４】
＜ハンドオーバー最適化＞
一実施形態において、モバイルデュアルスタックノード１２５がＩＰｖ４専用ネットワーク１０５内で移動するときに生じるハンドオーバーが最適化される。ＩＰｖ４専用ネットワーク１０５におけるモバイルデュアルスタックノード１２５は、ＩＰｖ６接続エージェント１３０（ＩＰｖ６トンネルサーバーのようなもの）を使用してＩＰｖ６通信を送受信する。ノード１２５がＩＰｖ４専用ネットワーク１０５内で移動した後、そのノードは別のＩＰｖ６トンネルサーバーを使用するかもしれない。もしそうであれば、その新たな位置でパケットを受信するために、ノード１２５は、現在の気付アドレスに以前の気付アドレスをバインドする対応ノードと、そのホームエージェント１４０とに対してバインディング更新を送信する。上記バインディング更新が受信されるまでに、上記ノードの古い気付アドレスに既に送信されたパケットは失われてもよい。
【００４５】
図４は、本発明の一実施形態によるモバイルデュアルスタックノードがＩＰｖ４専用ネットワーク内で移動したときに上記モバイルデュアルスタックノード及びＩＰｖ６接続エージェントがハンドオフを最適化するためのステップを示すフローチャートである。この実施形態において、パケット損失(packet loss)は、ＩＰｖ６接続エージェント１３０（ＩＰｖ６トンネルサーバーのようなもの）がパケットをノードの現在の気付アドレスに自動的に転送するようにＩＰｖ６接続エージェント１３０の構成を修正することにより低減される。上述したように、ＩＰｖ４専用ネットワークにおけるモバイルデュアルスタックノード１２５は、ＩＰｖ６接続エージェント１３０を使用してＩＰｖ４専用ネットワーク上でＩＰｖ６通信に接続する。最初のステップでは、モバイルデュアルスタックノード１２５は、ＩＰｖ４専用ネットワーク内で移動し且つ現在は別のトンネルブローカーを使用していることを検出する（ステップ４１０）。次に、ノード１２５は、バインディング更新を、移動前に使用したＩＰｖ６接続エージェント１３０に送信する（ステップ４２０）。このバインディング更新は、上記ノードの古い気付アドレスを、そのノードの新しい気付アドレスにバインドさせる。そして、ＩＰｖ６接続エージェント１３０は、上記バインディング更新を受信する（ステップ４３０）。その結果、ＩＰｖ６接続エージェント１３０が上記ノードの以前の気付アドレスに向けられたパケットを受信すると（ステップ４４０）、このＩＰｖ６接続エージェント１３０は、そのパケットを、上記ノードの現在の気付アドレスに転送する（ステップ４５０）。
【００４６】
一実施形態において、これは、バインディングキャッシュ(binding cache)をＩＰｖ６接続エージェント１３０に加えることにより、および拡張したバインディング更新モジュールをモバイルデュアルスタックノード１２５に加えることにより実現される。ＭＩＰｖ６において、バインディングキャッシュにおけるエントリは、ノードのＭＩＰｖ６ホームアドレスを、そのＭＩＰｖ６気付アドレスにマッピングする。これに対し、本発明は、ノードの以前の気付アドレスを、その現在の気付アドレスにマッピングするバインディングキャッシュエントリ(binding cache entry)を使用する。このことは、ＩＰｖ６接続エージェント１３０が、モバイルＩＰｖ６デュアルスタックノードの以前の気付アドレスに送信されたパケットを、このモバイルＩＰｖ６デュアルスタックノードの現在の気付アドレスにマッピングすることを可能にする。
【００４７】
一実施形態において、上記バインディング更新の別な性質(nature)は、上記バインディング更新を備えたメッセージにフラグを設定することにより示される。他の実施形態において、上記バインディング更新は、標準のＭＩＰｖ６バインディング更新と同一のフォーマットであるが、ＩＰｖ６接続エージェント１３０に送信されるときには、上記ノードのホームアドレスよりはむしろそのノードの古いＭＩＰｖ６気付アドレスを備える。
【００４８】
拡張したバインディングモジュールは、ノードがＩＰｖ４ネットワーク内で移動したが依然として同一のトンネルブローカーを使用しているときを検出する。このことが発生したときに、拡張されたバインディングモジュールは、バインディング更新を、移動前にしたＩＰｖ６接続エージェント１３０に送信する。
【００４９】
当業者には理解されるように、本発明は、その精神または本質的な特徴を逸脱することなく他の特定の形式で実施してもよい。同様に、モジュールの特定のネーミングおよび分割、特徴(feature)、属性(attribute)、手順(methodology)、ノード、サーバー、接続エージェント、および他の態様は、必須でも重要でもなく、本発明又はその特徴を実施するメカニズムは、異なったネーム、分割、及び／又は形式をとってもよい。さらに、関連分野の当業者には明らかなように、本発明のモジュール、特徴、属性、手順、ノード、サーバー、接続エージェント、および他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはこれら３つの組み合わせとして実施できる。言うまでもなく、本発明の構成要素がどこでソフトウェアとして実施されようとも、この構成要素は、スタンドアローンプログラム(standalone program)として、より大きなプログラムの一部として、複数の別個のプログラムとして、静的または動的にリンクされたライブラリとして、カーネルローダブルモジュール(kernal loadable module)として、装置ドライバ(device driver)として実施でき、及び／又は、現在又は将来においてコンピュータプログラミングの分野における当業者に知られるあらゆる又は如何なる他の方法でも実施できる。加えて、本発明は、如何なる特定のプログラミング言語での実施に全く制限されず、如何なる特定のオペレーティングシステム又は環境にも制限されない。さらにまた、本発明は、如何なる特定のプログラミング言語または如何なる特定のオペレーティングシステムまたは環境における実施にも全く制限されない。従って、本発明の開示は、例示的なものであって、本発明の範囲を制限するものではない。
【図面の簡単な説明】
【００５０】
【図１Ａ】本発明の一実施形態によるＩＰｖ４およびＩＰｖ６混在ネットワーク上でのＩＰｖ６通信に接続している上記混在ネットワークのＩＰｖ６セクションにおけるモバイルデュアルスタックの上位レベルの概要を図解するブロック図である。
【図１Ｂ】本発明の一実施形態によるＩＰｖ４およびＩＰｖ６混在ネットワーク上でのＩＰｖ６通信に接続している上記混在ネットワークのＩＰｖ４セクションにおけるモバイルデュアルスタックノードの上位レベルの概要を図解するブロック図である。
【図２】本発明の一実施形態によるモバイルデュアルスタックノードの拡張プロトコルスタック(enhanced protocol stack)のブロック図である。
【図３】本発明の一実施形態によるモバイルデュアルスタックノードがＩＰｖ４専用ネットワークに移動した後にＩＰｖ６通信に接続するためのステップを図解するフローチャートである。
【図４】本発明の一実施形態によるモバイルデュアルスタックノードがＩＰｖ４専用ネットワーク内で移動したときに、そのノードとＩＰｖ６接続エージェントがハンドオフを最適化するためのステップを図解するフローチャートである。
【符号の説明】
【００５１】
１００  ＩＰｖ４およびＩＰｖ６混在ネットワーク
１０５  ＩＰｖ４専用セクション
１１０  ＩＰｖ６対応セクション
１１５  ＩＰｖ４専用ノード
１２０  ＩＰｖ６対応ノード
１２５  モバイルデュアルスタックノード
１３０  ＩＰｖ６接続エージェント
１３５  トンネルブローカー
１４０  ホームエージェント
１５０  通信ネットワーク
１９０  ＩＰｖ６装置
２００  拡張プロトコルスタック
【図１Ａ】
2005102231.tif 000003
【図１Ｂ】
2005102231.tif 000004
【図２】
2005102231.tif 000005
【図３】
2005102231.tif 000006
【図４】
2005102231.tif 000007
【外国語明細書】
2005102231.tif 000008
2005102231.tif 000009
2005102231.tif 000010
2005102231.tif 000011
2005102231.tif 000012
2005102231.tif 000013
2005102231.tif 000014
2005102231.tif 000015
2005102231.tif 000016
2005102231.tif 000017
2005102231.tif 000018
2005102231.tif 000019
2005102231.tif 000020
2005102231.tif 000021
2005102231.tif 000022
2005102231.tif 000023
2005102231.tif 000024
2005102231.tif 000025
2005102231.tif 000026
2005102231.tif 000027
2005102231.tif 000028
2005102231.tif 000029
2005102231.tif 000030
2005102231.tif 000031
2005102231.tif 000032
2005102231.tif 000033
2005102231.tif 000034
2005102231.tif 000035