(57)【要約】  ホームエージェントにおいて、モバイルノードにとって有効なパケットの再送制御が行われるようにする技術が開示され、その技術によればＭＮ１０は、ＨＡ６０で代理受信された後、カプセル化されて送信される自身あてのパケットのうち、ＨＡにおいて特定のケアオブアドレスに転送されるパケット、特定のフロー情報を有するパケット、特定の通信相手ノード（例えばＣＮ４０）から送信されたパケットなどを選択し、ＨＡに対して、選択されたパケットの転送の際に、選択されたパケットのバッファリングを行うよう要求する。例えばＭＮの接続が不安定になり、ＨＡからＭＮに対してパケットが到達不能となった場合であっても、ＨＡがバッファリングしているパケットの再送を行うことが可能となり、ＣＮからパケットが再送された場合に比べて、ＭＮへのパケット到達の遅延を低減させることが可能となる。
2007119406.tif 000002
【特許請求の範囲】
【請求項１】
所定のネットワークに属するホームエージェントにおけるパケット転送の制御を行うパケット転送制御装置であって、
前記所定のネットワークからホームアドレスが割り当てられているモバイルノードのアドレス管理を行い、前記ホームアドレスとそのケアオブアドレスとが関連付けられているバインディング情報を保持するバインディング情報管理手段と、
前記ホームアドレスあての第１パケットを代理受信し、前記ケアオブアドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって第２パケットを生成して転送を行うパケット転送手段と、
前記パケット転送手段により行われるパケットの転送において、所定の条件を満たす転送パケットのバッファリングの要求を前記モバイルノードから受信するバッファリング要求受信手段と、
前記バッファリング要求受信手段で前記所定の条件を満たす前記転送パケットのバッファリングの要求を受けた場合、前記所定の条件を満たす前記転送パケットのバッファリングを行うバッファリング手段とを、
有するパケット転送制御装置。
【請求項２】
前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである請求項１に記載のパケット転送制御装置。
【請求項３】
前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を受けるように構成されている請求項１に記載のパケット転送制御装置。
【請求項４】
前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を受けるように構成されている請求項１に記載のパケット転送制御装置。
【請求項５】
前記ケアオブアドレスが、前記モバイルノードが前記所定のネットワークから割り当てられているホームアドレスである請求項１に記載のパケット転送制御装置。
【請求項６】
第１ネットワークから割り当てられている第１アドレスに加えて、前記第１ネットワークとは異なる第２ネットワークから割り当てられている第２アドレスを有するモバイルノードであって、
前記第１アドレスをホームアドレスとし、前記第１アドレスのケアオブアドレスとして前記第２アドレスを関連付けるアドレス関連付け手段と、
前記アドレス関連付け手段で関連付けられた前記第１アドレスと前記第２アドレスのバインディング情報を前記第１ネットワークのホームエージェントに登録するバインディング情報登録手段と、
前記第１アドレスあての第１パケットを代理受信し、前記第２アドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって生成された第２パケットを転送する前記第１ネットワークの前記ホームエージェントに対して、所定の条件を満たす転送パケットのバッファリングを要求するバッファリング要求手段とを、
有するモバイルノード。
【請求項７】
前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである請求項６に記載のモバイルノード。
【請求項８】
前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を行うように構成されている請求項６に記載のモバイルノード。
【請求項９】
前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を行うように構成されている請求項６に記載のモバイルノード。
【請求項１０】
前記第２アドレスが、前記第２ネットワークから割り当てられているホームアドレスである請求項６に記載のモバイルノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol：インターネットプロトコル）を利用した通信を管理する通信管理方法に関し、特に、ＩＰパケットのバッファリング制御及び再送制御を行う通信管理方法に関する。
【背景技術】
【０００２】
従来、ネットワークを利用した通信には、障害を引き起こす様々な原因が存在している。特に、端末（無線通信端末）が無線通信を用いてインターネットへ接続している場合、電波状況の変化などによってパケットロスや遅延などの問題が引き起こされる場合がある。【０００３】
このような問題に対し、下記の非特許文献１には、送信元ノードのＴＣＰ（Transmission Control Protocol）レイヤは、送信したデータパケットに対する通信相手からのＡＣＫ（acknowledgment）が一定時間経過しても返ってこない場合に、パケットの再送を行う旨が規定されている。また、伝送経路上のルータにおいて、何らかの原因であて先への転送がこれ以上できないという状況に返されるＩＣＭＰ（Internet Control Message Protocol）のDestination Unreachable Message（あて先到達不可能通知）を受信した場合などにおいても同様に、送信元ノードのＴＣＰレイヤはパケットの再送を行う場合がある。【０００４】
しかしながら、上記の２つの方法は、いずれもエンド−エンド（End-End）の再送制御であり、パケットロスは改善されるものの、パケットの受信ノードから最も遠い場所に位置する送信元ノードが再送を行うことに伴って、再送遅延（再送制御における遅延）が発生してしまう可能性がある。このようなエンド−エンドの再送制御に伴って発生する再送遅延を改善するための方法として、例えば下記の非特許文献２には、転送経路上に存在するルータが再送制御を行う方法が提案されている。【０００５】
非特許文献２で提案されている方法によれば、従来の送信ノードが行うような再送制御機能をネットワーク上のルータに持たせ、このルータがパケット再送の要否を検出し、パケットを再送する必要を検出した場合に、バッファしていたパケットの転送（再送）が行われる。この方法を用いることによって、再送を必要とする問題が生じた場合、非特許文献１に開示されているように送信元ノードが再送をするのではなく、問題が発生した箇所から比較的近いところに存在するルータ（パケットの中継地点）がパケットの再送を行うことで、送信元ノードがパケットの再送を行う場合よりも再送遅延を低減させることが可能となる。【０００６】
しかしながら、単一のルータが再送のためにバッファリングできる容量は限られているため、バッファリングを行うルータのバッファ容量がバッファすべきパケット量に対して小さい場合には、ルータはバッファが必要となるすべてのパケットをバッファすることができず、結果的に、パケットのロスが生じてしまうことになる。このような場合の改善方法としては、バッファがフル（Full）になった時点で、あふれたパケットを別のバッファ可能なルータへ転送するという方法が考えられる。この方法を用いることで、バッファ容量を事実上増やすことが可能となり、単一のルータのバッファ容量が限られている場合であっても、非特許文献２で提案されている方法による再送遅延やパケットロスの低減を実現することが可能となる。【０００７】
次に、モバイルＩＰｖ６（Mobile IPv6）を利用したＭＮ（Mobile Node：モバイルノード）とＣＮ（Correspondent Node：コレスポンデントノード）との間の通信に対して、上記のＴＣＰによる再送制御を適用した場合について説明する。ＭＮが移動先（ＭＮが外部ネットワークに接続されている状態）からＨＡ（Home Agent：ホームエージェント）経由でＣＮと通信を行っている場合、その通信経路は、パケットがカプセル化されていない状態のＣＮ−ＨＡ間の経路と、パケットがカプセル化されている状態のＨＡ−ＭＮ間の経路とに分けて考えることが可能である。【０００８】
ＣＮがＭＮのＨｏＡ（Home Address：ホームアドレス）しか知らない場合には、ＭＮに対して送信するパケットのあて先アドレスにＭＮのＨｏＡを設定して送信する。ＣＮから送信されたパケットはＭＮのホームネットワークまで転送され、ＭＮのホームネットワーク上のＨＡによって代理受信（intercept）された後、ＭＮのＣｏＡあてにカプセル化されて転送される。このように、ＣＮ−ＨＡ間を流れるパケットはＣＮが送信したままのパケットであるが、ＨＡ−ＭＮ間を流れるパケットは、ＨＡによってカプセル化されたパケットとなる。【０００９】
ここで、仮にＣＮ−ＨＡ間のルータが、何らかの原因によってＣＮが送信したパケットをこれ以上転送できないと判断したとする。この場合には、通常のルータの処理によってDestination Unreachable Messageが送信元であるＣＮに返されるため、ＣＮのＴＣＰレイヤは再送制御を行うことが可能となる。【００１０】
一方、ＨＡ−ＭＮ間のルータが、何らかの原因によってＣＮが送信したパケットを転送できないと判断したとする。この場合には、転送パケットの送信元アドレスはＨＡのアドレスであるため、Destination Unreachable MessageはＨＡに対して送信される。モバイルＩＰｖ６では、ＨＡが、ＭＮに送信したカプセル化パケットに対するDestination Unreachable Messageを受信した場合、そのパケットを元のパケットの送信元であるＣＮに中継しなければならない。これにより、ＣＮに対してパケット不達の通知が届けられ、ＨＡ−ＭＮ間で発生した障害に対しても、ＣＮのＴＣＰレイヤが再送制御を行うことが可能となるが、モバイルＩＰｖ６を利用した通信においても、ＴＣＰによる再送はエンドーエンドで行われるため、再送遅延が生じる問題に変わりはない。【００１１】
さらに、上述の転送経路上のルータによる再送制御方法（非特許文献２に開示されている再送制御方法）を、モバイルＩＰｖ６を利用したＭＮとＣＮとの間の通信に適用することも可能である。この場合、ＣＮ−ＨＡ間の経路上で問題が発生した場合には、上記と同様の効果があると言える。しかしながら、ＭＮが移動した場合には、ＭＮのケアオブアドレス（ＣｏＡ：Care-of address）も変更されてしまい、その結果、ＭＮの移動前のケアオブアドレスあてのパケットは、再送されても目的とするＭＮに到達することはできない。再送制御機能を持つルータは、ＭＮの移動に伴うアドレスの変化に対応できないため、ＭＮが移動した場合には、ＨＡ−ＭＮ間の経路上で発生した問題に対してはあまり効果がない。すなわち、パケットのあて先であるケアオブアドレスを使用するＭＮが移動してしまい、既にそのネットワーク上に存在しないことに起因してDestination Unreachable Messageが発生した場合には、非特許文献２に開示されている再送制御方法がＨＡ−ＭＮ間のルータによって実行されたとしても、再送されたパケットはＭＮに到達することは不可能である。
【非特許文献１】J. Postel, "Transmission Control Protocol", RFC793, September 1981.
【非特許文献２】下國  治、古賀久志、陣崎  明  “広域並列分散システムのための信頼できるマルチキャスト”  情報処理学会研究報告、計算機アーキテクチャ研究会報告、第２０００巻、第２３号、５３〜５８ページ、２０００年３月２日
【００１２】
モバイルＩＰｖ６を利用したＭＮとＣＮとの間の通信において、その経路上に位置するＨＡに、上述の非特許文献２に開示されている再送制御の機能を実装させることも可能である。この場合、ＨＡは、ＭＮの移動を管理しているため、転送したパケットがＭＮに到達しなかった場合には、ＭＮの移動に追従してパケットの再送を行うことが可能である。しかしながら、ＨＡによる再送制御が、ＭＮにとってすべて好ましいものであるとは限らない。すなわち、ＨＡが、ＭＮあてのすべてのパケットに対して同一の再送制御を行った場合には、例えば、パケットロスや遅延の影響を受けるのが望ましくないパケット（再送制御が有効なパケット）に加えて、パケットロスや遅延の影響を受けても構わないパケット（再送制御が特に有効ではないパケット）のバッファリングや再送制御まで行われてしまうことになる。その結果、パケットロスや遅延の影響を受けても構わないパケットに対する処理やリソース消費によって、パケットロスや遅延の影響を受けるのが望ましくないパケットに関してパケットロスや遅延が発生してしまう可能性があるという問題がある。【００１３】
また、ＨＡは、ＭＮのバインディングキャッシュを保持している。しかしながら、例えばＭＮの接続が一時的に切断してしまい、ＨＡがＭＮからライフタイム（Lifetime）を更新するバインディングアップデートを一定時間経過しても受信しなかった場合には、ＨＡは、そのＭＮに係るエントリをバインディングキャッシュから削除してしまう。この場合、ＨＡは、そのＭＮのホームアドレスあてのパケットの代理受信を中止してしまうため、ＣＮが送信したホームアドレスあてのパケットはＭＮに届かなくなってしまう。一方、このＭＮの接続の切断が一時的なものである場合には、ＨＡは、ＭＮからバインディングアップデートを受信してバインディングキャッシュにＭＮに係るエントリを再登録することになるが、ＭＮの一時的な接続の中断の間にＣＮから送信されたパケットはＭＮに到達せずにすべて破棄されてしまうことになる。その結果、ＣＮがパケットの再送を行う必要が生じ、パケットロスや遅延が発生してしまうことになるという問題がある。【００１４】
また、ＭＮが複数のＨＡを利用でき、それぞれのＨＡからホームアドレスが割り当てられている場合、あるホームアドレスを別のホームアドレスに対するケアオブアドレスとして関連付けることで、常に有効なアドレスをケアオブアドレスとして登録し続けることが可能である。あるＭＮがこのような登録を行った場合、ＨＡは、ＣＮからＭＮへのパケットを転送する際に、ケアオブアドレスとして登録されているホームアドレスを用いてパケットのカプセル化を行い、そのカプセル化されたパケットがＨＡから送信されることになる。【００１５】
しかしながら、ＭＮが、接続の切断などによって、有効なケアオブアドレスを失った場合、すなわち、あるＨＡに対して、そのＨＡが送信する転送パケットを自身まで到達させることが可能な転送先アドレスを登録できない場合は、別のＨＡに対しても同様に、自身まで到達可能な転送先アドレスを登録できないと言える。そのため、あるＨＡによってＨｏＡあてにカプセル化されて転送されたパケットは、その転送パケットを代理受信する別のＨＡによってＭＮへの転送先がないパケットとして再び処理されるため、ホームアドレスを単にケアオブアドレスとして登録しただけでは、ＭＮにとって有効な登録とはならないという問題がある。
【発明の開示】
【００１６】
上記の問題点に鑑み、本発明は、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮにとって有効なパケットに関する再送制御を可能とするパケット転送制御装置及びモバイルノードを提供することを目的とする。
【００１７】
上記の目的を達成するため、本発明のパケット転送制御装置は、所定のネットワークに属するホームエージェントにおけるパケット転送の制御を行うパケット転送制御装置であって、
前記所定のネットワークからホームアドレスが割り当てられているモバイルノードのアドレス管理を行い、前記ホームアドレスとそのケアオブアドレスとが関連付けられているバインディング情報を保持するバインディング情報管理手段と、
前記ホームアドレスあての第１パケットを代理受信し、前記ケアオブアドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって第２パケットを生成して転送を行うパケット転送手段と、
前記パケット転送手段により行われるパケットの転送において、所定の条件を満たす転送パケットのバッファリングの要求を前記モバイルノードから受信するバッファリング要求受信手段と、
前記バッファリング要求受信手段で前記所定の条件を満たす前記転送パケットのバッファリングの要求を受けた場合、前記所定の条件を満たす前記転送パケットのバッファリングを行うバッファリング手段とを、
有する。
上記の構成により、ＣＮ（通信相手ノード）からＨＡ（ホームエージェント）を経由してＭＮ（モバイルノード）に送信されるパケットに関して、ＭＮは、自身にとって有効なパケットを選択し、ホームエージェントにおいて、選択されたパケットの再送制御が行われるようにすることが可能となる。
【００１８】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである。
上記の構成により、ＭＮは、所定のケアオブアドレスあてに転送されるパケット、所定のフロー情報を有するパケット、所定の通信相手ノードから送信されたパケットを適宜選択して、ホームエージェントにおいて、選択されたパケットの再送制御を行わせることが可能となる。
【００１９】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を受けるように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送と同時に転送パケットのバッファリングを行い、転送パケットがモバイルノードに到達不能である場合には、バッファリングされている転送パケットの再送を行うことが可能となる。
【００２０】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を受けるように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送前に一時的に転送パケットのバッファリングを行った後にパケット転送を行うことで、モバイルノードへのパケットの転送を意図的に遅延させ、例えばモバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【００２１】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記ケアオブアドレスが、前記モバイルノードが前記所定のネットワークから割り当てられているホームアドレスである。
上記の構成により、複数のホームエージェント間におけるパケット転送によって、ネットワーク側におけるパケットのバッファリングが行われるようにすることで、モバイルノードへのパケットの転送を意図的に遅延させ、例えばモバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【００２２】
また、上記の目的を達成するため、本発明のモバイルノードは、第１ネットワークから割り当てられている第１アドレスに加えて、前記第１ネットワークとは異なる第２ネットワークから割り当てられている第２アドレスを有するモバイルノードであって、
前記第１アドレスをホームアドレスとし、前記第１アドレスのケアオブアドレスとして前記第２アドレスを関連付けるアドレス関連付け手段と、
前記アドレス関連付け手段で関連付けられた前記第１アドレスと前記第２アドレスのバインディング情報を前記第１ネットワークのホームエージェントに登録するバインディング情報登録手段と、
前記第１アドレスあての第１パケットを代理受信し、前記第２アドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって生成された第２パケットを転送する前記第１ネットワークの前記ホームエージェントに対して、所定の条件を満たす転送パケットのバッファリングを要求するバッファリング要求手段とを、
有する。
上記の構成により、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮは、自身にとって有効なパケットを選択し、ホームエージェントにおいて、選択されたパケットの再送制御を行わせることが可能となる。
【００２３】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである。
上記の構成により、ＭＮは、所定のケアオブアドレスあてに転送されるパケット、所定のフロー情報を有するパケット、所定の通信相手ノードから送信されたパケットを適宜選択して、ホームエージェントにおいて、選択されたパケットの再送制御を行わせることが可能となる。
【００２４】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を行うように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送と同時に転送パケットのバッファリングを行い、転送パケットがモバイルノードに到達不能である場合には、バッファリングされている転送パケットの再送を行うことが可能となる。
【００２５】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を行うように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送前に一時的に転送パケットのバッファリングを行った後にパケット転送を行うことで、パケットの転送を意図的に遅延させ、モバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【００２６】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記第２アドレスが、前記第２ネットワークから割り当てられているホームアドレスである。
上記の構成により、複数のホームエージェント間におけるパケット転送によって、ネットワーク側におけるパケットのバッファリングが行われるようにすることで、モバイルノードへのパケットの転送を意図的に遅延させ、例えばモバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【００２７】
本発明は、上記の構成を有しており、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮにとって有効なパケットに関する再送制御ができるようになるという効果を有している。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１の実施の形態におけるネットワーク構成の一例を示す図
【図２】本発明の第１の実施の形態におけるＭＮ１０の構成の一例を示す図
【図３】本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバインディング情報通知メッセージの一例を示す図
【図４】本発明の第１の実施の形態におけるＭＮ１０が生成、送信するフロー情報通知メッセージの一例を示す図
【図５】本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバッファリング要求メッセージの一例を示す図
【図６】本発明の第１の実施の形態におけるＨＡ６０の構成の一例を示す図
【図７】本発明の第２の実施の形態におけるネットワーク構成の一例を示す図
【図８】本発明の第２の実施の形態におけるＭＮの構成の一例を示す図
【図９】本発明の第２の実施の形態におけるＭＮが生成、送信するバインディング情報通知メッセージの一例を示す図
【図１０】本発明の第２の実施の形態におけるＨＡの構成の一例を示す図
【図１１】本発明の第３の実施の形態におけるＭＮの構成の一例を示す図
【図１２】本発明の第３の実施の形態におけるＨＡの構成の一例を示す図
【図１３】本発明の第１〜第３の実施の形態において、代理ノードを有するネットワーク構成の一例を示す図
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照しながら、本発明の第１〜第３の実施の形態について説明する。【００３０】
＜第１の実施の形態＞
まず、本発明の第１の実施の形態について説明する。図１には、本発明の第１の実施の形態におけるネットワーク構成の一例が図示されている。図１において、ＭＮ１０は、自身のホームエージェントとしてホームネットワーク５０に存在するＨＡ６０を利用することが可能である。ＭＮ１０には、ホームネットワーク５０からホームアドレス（ＨｏＡ１）が割り当てられており、このＨｏＡ１はＨＡ６０で管理されている。なお、図１では、ＭＮ１０が、インタフェース（ＩＦ）２０を用いて外部ネットワーク３０に接続しており、外部ネットワーク３０からＣｏＡ１が割り当てられている一方、ＣＮ４０との通信に関しては、ＨｏＡ１を用いてＨＡ６０を経由した通信を行っているものとする。【００３１】
次に、本発明の第１の実施の形態におけるＭＮ１０の構成について説明する。図２には、本発明の第１の実施の形態におけるＭＮ１０の構成の一例が図示されている。図２において、ＭＮ１０は、送受信部１０１、バインディング情報通知メッセージ生成部１０２、バインディング情報管理部１０３、バッファリング要求判断部１０４、フロー情報通知メッセージ生成部１０５、フロー情報管理部１０６を有している。なお、ＭＮ１０は、例えばＣＮ４０との間で送受信するデータパケットを処理するためのデータパケット処理部やその他の様々な機能も有しているが、図２では図示省略する。【００３２】
送受信部１０１は、ＭＮ１０が接続するネットワーク（例えば図１の外部ネットワーク３０）内の任意の通信ノードや、ＭＮ１０のホームネットワーク５０内の任意の通信ノード（例えば図１のＨＡ６０）、さらには、その他の任意のネットワークに存在する任意の通信ノード（例えば図１のＣＮ４０）との通信を行うためのパケット送受信機能を有している。なお、送受信部１０１には、例えば図１に図示されている無線接続のインタフェース２０の機能も包含される。【００３３】
また、バインディング情報通知メッセージ生成部１０２は、バインディング情報管理部１０３から通知されたバインディング情報を含むバインディング情報通知メッセージを生成するための機能を有している。バインディング情報通知メッセージ生成部１０２で生成されたバインディング情報通知メッセージは、ＨＡ６０に対して、そのバインディング情報によって特定されるケアオブアドレスあてのパケットをバッファリングするよう要求するためのメッセージであり、送受信部１０１を通じてＭＮ１０のＨＡ６０に送信される。【００３４】
また、バインディング情報管理部１０３は、ＨＡ６０によって管理されているＨｏＡ１に対して関連付けられているケアオブアドレスを管理するための機能を有している。なお、バインディング情報管理部１０３では、ＨＡ６０によって管理されているＨｏＡ１と、そのＨｏＡ１に対して関連付けられているケアオブアドレスとのセットが、バインディング情報として管理されている。【００３５】
また、バインディング情報管理部１０３は、ＨＡ６０に対してバインディング情報の通知が必要なときに、バインディング情報通知メッセージ生成部１０２に対して、通知すべきバインディング情報や、そのバインディング情報に付加されている情報（例えば、下記のバッファリング要求情報）を渡して、バインディング情報通知メッセージを生成するよう指示する機能を有している。さらに、バインディング情報管理部１０３は、バッファリング要求判断部１０４から、特定のケアオブアドレスに対してバッファリング要求を付加するよう指示された場合、そのケアオブアドレスに対してバッファリング要求情報を付加して管理する機能を有している。【００３６】
また、バッファリング要求判断部１０４は、特定のケアオブアドレスや特定のフローに対してバッファリングを要求するか否かを判断する機能を有している。バッファリング要求判断部１０４は、特定のケアオブアドレスに対してバッファリングを要求する旨を決定した場合には、バインディング情報管理部１０３に対して、対象となるケアオブアドレスに対してバッファリング要求を付加するよう指示する機能を有しており、また、特定のフロー（データトラフィックフロー）に対してバッファリングを要求する旨を決定した場合には、フロー情報通知メッセージ生成部１０５に対して、対象となるフローを特定する識別子を供給し、そのフローに対してバッファリング要求を行うフロー情報通知メッセージを生成するよう指示する機能を有している。【００３７】
例えば、使用しているインタフェース２０の無線接続が不安定であり、断続的に切断してしまうような状況では、バッファリング要求判断部１０４は、インタフェース２０に割り当てられているケアオブアドレスに対してバッファリング要求を付加するように決定することが可能である。これにより、特定のケアオブアドレスに対して転送されるパケットを選択的にＨＡ６０にバッファリングさせることが可能となり、無線接続の断続的な切断によるパケットロスを最小限に防ぐことが可能となる。【００３８】
また、バッファリング要求判断部１０４は、パケットロスに対してセンシティブ（sensitive：敏感）であるフローに対してバッファリング要求を付加するように決定することが可能である。なお、こうしたパケットロスに対してセンシティブなフローは、例えばフロー情報管理部１０６からの通知によって把握可能である。これにより、パケットロスに対してセンシティブなフローと、パケットロスよりも伝送遅延やジッタに対してセンシティブなフローとを区別し、パケットロスに対してセンシティブなフローに係るパケットを選択的にＨＡ６０にバッファリングさせることが可能となる。【００３９】
また、フロー情報通知メッセージ生成部１０５は、バッファリング要求判断部１０４から、特定のフロー識別子と共に、その特定のフローに対してバッファリング要求を行うよう指示を受けたときに、特定のフロー識別子を含むフロー情報通知メッセージを生成する機能を有している。フロー情報通知メッセージ生成部１０５で生成されたフロー情報通知メッセージは、ＨＡ６０に対して、そのフロー識別子によって特定されるフローに係るパケットをバッファリングするよう要求するためのメッセージであり、送受信部１０１を通じてＭＮ１０のＨＡ６０に送信される。【００４０】
また、フロー情報管理部１０６は、パケットのフローを管理する機能を有しており、フロー情報（フロー識別子）の管理や、各フローの特性（例えばパケットロスに対してセンシティブか否か）の管理を行うことが可能である。また、フロー情報管理部１０６、特にパケットロスに対してセンシティブなフローに係るフロー情報を、バッファリング要求判断部１０４に通知することが可能である。【００４１】
なお、図２では、ＭＮ１０は、バインディング情報通知メッセージ及びフロー情報通知メッセージの両方をＨＡ６０に対して送信することが可能なように構成されているが、どちらか一方の通知メッセージのみを送信することが可能なように構成されていてもよい。すなわち、ＭＮ１０は、バインディング情報通知メッセージによってバッファリング要求を付加する対象のケアオブアドレスを通知するだけでもよく、フロー情報通知メッセージによってバッファリング要求を付加する対象のフローを通知するだけでもよく、あるいは、両方のメッセージを用いて、バッファリング要求を付加する対象のケアオブアドレス及びフローの両方を通知してもよい。【００４２】
また、図２のＭＮ１０の構成では、バッファリング要求を付加する対象がケアオブアドレスの場合にはバインディング通知メッセージが用いられ、バッファリング要求を付加する対象がフローの場合にはフロー情報通知メッセージが用いられるが、例えばフローに対するバッファリング要求を通知するメッセージとして、バインディング情報通知メッセージが用いられてもよい。この場合、例えば、フローに対するバッファリング要求情報を、バインディング情報通知メッセージのオプションとして付加することが可能である。また、ケアオブアドレスに対するバッファリング要求を通知するメッセージとして、フロー情報通知メッセージが用いられてもよい。【００４３】
以上、図２を参照しながら説明したように、本発明の第１の実施の形態におけるＭＮ１０は、自身のＨＡ６０に対して、特定のケアオブアドレスあてのパケットや、特定のフローに係るパケットのバッファリングを選択的に行うよう要求することが可能である。なお、特定のケアオブアドレスあてのパケットや特定のフローに係るパケット以外に、例えば、特定の通信相手から送られてきたパケットのバッファリングを選択的に行うように要求してもよい。この場合には、ＭＮ１０はＨＡ６０に対して、バッファリング要求の対象として、例えば通信相手のアドレスの通知を行えばよい。【００４４】
また、図３には、本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバインディング情報通知メッセージの一例が図示されている。なお、図３には、バインディングアップデートメッセージを利用して、特定のケアオブアドレス（ＨｏＡ１と関連付けられているＣｏＡ１）に対してバッファリングを要求する場合のバインディング情報通知メッセージの構成例が図示されている。【００４５】
図３に図示されているＩＰｖ６ヘッダ（ＨＡ６０をあて先アドレスに設定）、ホームアドレスオプション、モビリティヘッダ（バインディングアップデート）は、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの構成と基本的に同一である。本発明の第１の実施の形態では、図３に図示されているように、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの代替用ＣｏＡオプション（alternate CoA option）の中に、更にバッファリング要求情報と、バッファリングの対象として指定されるケアオブアドレスとが付加される。なお、バッファリング要求情報は、代替用ＣｏＡオプションに含まれているケアオブアドレス（図３の例ではＣｏＡ１）をあて先アドレスとするパケットのバッファリング要求を示す情報であり、例えばフラグなどの任意の形式で実現可能である。【００４６】
また、図４には、本発明の第１の実施の形態におけるＭＮ１０が生成、送信するフロー情報通知メッセージの一例が図示されている。なお、図４には、フロー制御メッセージを利用して、特定のフロー識別子に対してバッファリングを要求する場合のフロー情報通知メッセージの構成例が図示されている。【００４７】
図４では、ＩＰｖ６ヘッダ（ＨＡ６０をあて先アドレスに設定）を有するフロー制御メッセージに、バッファリング要求の対象となるフローを特定するフロー識別子と、任意の形式によって表されるバッファリング要求情報（上記のフロー識別子に係るパケットのバッファリング要求を示す情報）とを有するフロー制御情報が挿入されることによって、フロー情報通知メッセージが実現されている。なお、フロー情報通知メッセージは、モバイルＩＰｖ６で定義されているモビリティヘッダに、上記のフロー識別子及びバッファリング要求情報が挿入されることによって実現されてもよい。【００４８】
また、図５には、本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバッファリング要求メッセージの一例が図示されている。上述のバインディング情報通知メッセージ（例えば、図３に図示されている構成）やフロー情報通知メッセージ（例えば、図４に図示されている構成）の代わりに、特定のケアオブアドレスや特定のフローに対するバッファリング要求を通知するメッセージとして、図５に図示されているように、バッファリング要求の対象となるケアオブアドレスやフローを含む専用のバッファリング要求メッセージが用いられてもよい。なお、図５に図示されているバッファリング要求メッセージは、このメッセージ自体がパケットのバッファリング要求を示すバッファリング要求情報であると言える。【００４９】
次に、本発明の第１の実施の形態におけるＨＡ６０の構成について説明する。図６には、本発明の第１の実施の形態におけるＨＡ６０の構成の一例が図示されている。図６において、ＨＡ６０は、送受信部６０１、バインディング情報通知メッセージ処理部６０２、フロー情報通知メッセージ生成部６０３、フロー情報保持部６０４、バインディング情報保持部６０５、代理受信パケットバッファリング部６０６、再送・転送先切替指示部６０７、転送先選択部６０８、代理受信パケット転送処理部６０９を有している。なお、ＨＡ６０は、その他の様々な機能も有しているが、図６では図示省略する。【００５０】
送受信部６０１は、ＨＡ６０が接続するネットワーク（例えば図１のホームネットワーク５０）内の任意の通信ノードや、外部ネットワーク３０に接続しているＭＮ１０（ＨＡ６０が存在するホームネットワーク５０に属するＭＮ１０）、その他の任意のネットワークに接続している任意の通信ノードとの通信を行うためのパケット送受信機能を有している。【００５１】
また、バインディング情報通知メッセージ処理部６０２は、ＭＮ１０で生成、送信されたバインディング情報通知メッセージを送受信部６０１で受信した場合に、このバインディング情報通知メッセージに関する処理を行い、バインディング情報通知メッセージに含まれるＭＮ１０のバインディング情報を取得して、このバインディング情報をバインディング情報保持部６０５に保持させる機能を有している。なお、バインディング情報に関連してバッファリング要求情報が付加されている場合には、バインディング情報と共にバッファリング要求情報をバインディング情報保持部６０５に保持させる。【００５２】
また、フロー情報通知メッセージ処理部６０３は、ＭＮ１０で生成、送信されたフロー情報通知メッセージを送受信部６０１で受信した場合に、このフロー情報通知メッセージに関する処理を行い、フロー情報通知メッセージに含まれるＭＮ１０のフロー識別子を取得して、このフロー識別子をフロー情報保持部６０４に保持させる機能を有している。なお、フロー識別子に関連してバッファリング要求情報が付加されている場合には、フロー識別子と共にバッファリング要求情報をフロー情報保持部６０４に保持させる。【００５３】
また、フロー情報保持部６０４は、フロー情報通知メッセージ処理部６０３におけるフロー情報通知メッセージの処理によって抽出されたフロー識別子（パケットのバッファリング要求の対象となるフロー識別子）を保持する機能を有している。なお、フロー情報保持部６０４では、バッファリング要求情報が付加されているフロー情報、及びバッファリング要求情報が付加されていないフロー情報が保持される。【００５４】
また、バインディング情報保持部６０５は、バインディング情報通知メッセージ処理部６０２におけるバインディング情報通知メッセージの処理によって抽出されたバインディング情報（ＭＮ１０のホームアドレスと、パケットのバッファリング要求の対象となるケアオブアドレスとが関連付けられたバインディング情報）を保持する機能を有している。なお、バインディング情報保持部６０５では、特定のケアオブアドレスに対して転送されるパケットのバッファリング要求が含まれているバインディング情報のほかに、バッファリング要求が含まれていない通常のバインディング情報も保持される。【００５５】
また、代理受信パケットバッファリング部６０６は、フロー情報保持部６０４に保持されているフロー識別子をチェックし、フロー情報にバッファリング要求情報が付加されている場合には、そのフロー識別子に対応するフローに係るパケットのバッファリングを行う機能を有している。また、代理受信パケットバッファリング部６０６は、バインディング情報保持部６０５に保持されているバインディング情報をチェックし、バインディング情報にバッファリング要求が付加されている場合には、そのバインディング情報に対応するパケット（すなわち、バインディング情報に含まれるケアオブアドレスに転送すべきパケット）のバッファリングを行う機能を有している。すなわち、代理受信パケットバッファリング部６０６では、ＭＮ１０からバッファリング要求を受けたバッファリング対象のパケットのみがバッファリングされる。【００５６】
また、再送・転送先切替指示部６０７は、ＭＮ１０へ転送したパケットが、ＭＮ１０に届かなかったことを検出したとき（例えば、ＭＮ１０に転送したパケットに関するDestination Unreachable Messageを受信したとき）や転送経路上の輻輳を検出したときなどに、パケットの再送を行うべきか、あるいは使用中の転送先アドレスを別のアドレスへ切り替えるべきかを判断する機能を有している。再送が必要であると判断した場合には、再送・転送先切替指示部６０７は、代理受信パケット転送処理部６０９へパケットの再送を行うよう指示する。【００５７】
一方、再送・転送先切替指示部６０７は、転送先アドレスを現在設定されているアドレスから別のアドレスに切り替えることが必要であると判断した場合には、転送先選択部６０８へ別の転送先アドレスを選択するよう指示を行う。このとき、再送・転送先切替指示部６０７は、転送先の切り替えを指示する際に、切り替え前のアドレスあてへの送信が失敗したパケットに関して、転送先選択部６０８に対して転送先アドレスを別のアドレスへ切り替えるよう指示するとともに、代理受信パケット転送処理部６０９に対して、新たに選択された転送先アドレスあてにパケットの再送を行うよう指示する。【００５８】
また、転送先選択部６０８は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、バインディング情報保持部６０５に保持されているバインディング情報の中から、転送先アドレスとして使用すべきケアオブアドレスを選択する機能を有している。また、転送先選択部６０８は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、フロー情報保持部６０４に保持されているＭＮ１０のフロー識別子、及びバインディング情報保持部６０５を参照し、特定のフローの転送先として使用すべきケアオブアドレスを選択する機能を有している。【００５９】
また、代理受信パケット転送処理部６０９は、管理しているＭＮ１０のＨｏＡあてのパケットを代理受信し、転送先選択部６０８によって選択されたケアオブアドレスあてへカプセル化して転送する機能を有している。また、代理受信パケット転送処理部６０９は、再送・転送先切替指示部６０７から再送の指示を受けた場合、再送すべきパケットを代理受信パケットバッファリング部６０６から取得してパケットの再送を送信する機能を有している。また、転送先選択部６０８から新たな転送先アドレスが通知された場合には、代理受信パケット転送処理部６０９は、通知された転送先アドレスあてにパケットのカプセル化を行って転送する機能を有している。【００６０】
以上、図６を参照しながら説明したように、本発明の第１の実施の形態におけるＨＡ６０は、ＭＮ１０からバッファリングを行うように要求されたパケット（特定のケアオブアドレスあてに転送すべきパケットや、特定のフローに係るパケット）のみを選択的にバッファリングし、これらのパケットの再送が必要となった場合には、バッファリングされているパケットを即座に再送することが可能である。【００６１】
なお、図１３に示すように、ＭＮ１０が、ネットワークベースのモビリティプロトコルが提供されているローカルネットワーク５１５に接続している際には、ＭＮ１０の移動に係る制御を代理で行う代理ノード５１８（Proxy Mobile Agent）が、本発明の第１の実施の形態におけるＭＮ１０が保持する機能を有していてもよい。この場合、代理ノード５１８は、独自の判断で選択的にバッファリングするべきパケットの対象を判断してもよいし、ＭＮ１０から指示を受けてもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、バッファリング要求情報の通知をしないことを選択し、ＭＮ１０の接続が切れているときや、不安定なときなどに、バッファリング要求情報の通知を行うことを選択するようにしてもよい。代理ノード５１８は、決定したバッファリング要求情報を、ＭＮ１０を管理しているＨＡ６０へ通知する。【００６２】
また、代理ノード５１８が、本発明の第１の実施の形態におけるＨＡ６０が保持する機能を有していてもよい。この場合、ＭＮ１０は、フロー情報に対してバッファリング要求情報を付加して代理ノード５１８へ通知する。それを受けた代理ノード５１８は、ＨＡ６０から転送されたＭＮ１０のホームアドレス（ＨｏＡ１）あてパケットが、バッファリング要求情報が付加されたフローに一致した場合には、バッファリングを行い、さらにＭＮ１０の接続の不安定性などにより再送が必要であると判断した場合には、バッファリングしているパケットを用いて再送を行う。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、バッファリングを行わないことを選択し、接続が切れているときや不安定なときなどに、バッファリングを行うことを選択するようにしてもよい。【００６３】
次に、本発明の第１の実施の形態における具体的な動作の一例について、図１に図示されているネットワーク構成を参照しながら説明する。なお、以下では、何らかの原因でＭＮ１０と外部ネットワーク３０との接続が切断した場合を想定する。接続の切断の原因としては、例えばＭＮ１０の移動などが挙げられる。【００６４】
（本発明の第１の実施の形態の第１動作例）
まず、本発明の第１の実施の形態における第１動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、登録するケアオブアドレスあてのパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、そのケアオブアドレス（ＣｏＡ１）に対してバッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。【００６５】
このバインディング情報通知メッセージを受信したＨＡ６０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部６０５に格納する。また、ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信し、そのパケットをＣｏＡ１へ転送すると同時に、ＣｏＡ１に対して転送すべきパケットを代理受信パケットバッファリング部６０６にバッファする。【００６６】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、代理受信パケットバッファリング部６０６にバッファされているＣｏＡあてのパケットを用いてパケットの再送を行う。なお、このとき、ＭＮ１０が複数のケアオブアドレスをＨＡ１０に登録している場合、ＨＡ６０は、ＭＮ１０からのバッファリング要求がないケアオブアドレスに関してはバッファリングを行っておらず、したがって、バッファリング要求がないケアオブアドレスに係るパケットは、ＨＡ６０から再送されない。【００６７】
そして、例えばＭＮ１０と外部ネットワーク３０との切断が一時的なものであり、ＭＮ１０が外部ネットワーク３０に再接続することができた場合には、ＨＡ６０による再送制御によってＣｏＡ１あてのパケットのパケットロスを防ぐことが可能となる。なお、この再送制御では、ＨＡ６０によってパケット再送が行われるため、パケットの送信元（例えばＣＮ４０）によってパケット再送が行われた場合に比べて、ＭＮ１０は、より早期に再送されたパケットを受信することができるようになる。【００６８】
また、ＭＮ１０が、例えば一定時間後に別のネットワークと接続して新たなケアオブアドレス（ＣｏＡ２）を取得した場合には、そのＣｏＡ２が新たな転送先としてＨＡ６０に登録された時点で、ＨＡ６０は、バッファリングしていたＣｏＡ１あてのパケットをＣｏＡ２あてに転送してもよく、これによって、パケットロスを防ぐことも可能である。【００６９】
（本発明の第１の実施の形態の第２動作例）
次に、本発明の第１の実施の形態における第２動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、通信中の特定のフロー（フロー１）に係るパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、ＭＮ１０は、そのフロー１に対してバッファリング要求を付加したフロー情報通知メッセージをＨＡ６０に送信する。【００７０】
このフロー情報通知メッセージを受信したＨＡ６０は、フロー情報通知メッセージ内に含まれる情報をフロー情報保持部６０４に格納する。また、ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信し、そのパケットをＣｏＡ１へ転送すると同時に、フロー１に係るパケットを代理受信パケットバッファリング部６０６にバッファする。【００７１】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、代理受信パケットバッファリング部６０６にバッファされているフロー１に係るパケットを用いてパケットの再送を行う。なお、このときＨＡ６０は、ＭＮ１０からのバッファリング要求がないフローに関してはバッファリングを行っておらず、したがって、バッファリング要求がないフローに係るパケットは、ＨＡ６０から再送されない。【００７２】
そして、例えばＭＮ１０と外部ネットワーク３０との切断が一時的なものであり、ＭＮ１０が外部ネットワーク３０に再接続することができた場合には、ＨＡ６０による再送制御によってフロー１に係るパケットのパケットロスを防ぐことが可能となる。なお、この再送制御では、ＨＡ６０によってパケット再送が行われるため、パケットの送信元（例えばＣＮ４０）によってパケット再送が行われた場合に比べて、ＭＮ１０は、より早期に再送されたパケットを受信することができるようになる。【００７３】
また、ＭＮ１０が、例えば一定時間後に別のネットワークと接続して新たなケアオブアドレス（ＣｏＡ２）を取得した場合には、そのＣｏＡ２が新たな転送先としてＨＡ６０に登録された時点で、ＨＡ６０は、バッファリングしていたフロー１に係るパケットをＣｏＡ２あてに転送してもよく、これによって、パケットロスを防ぐことも可能である。【００７４】
以上、説明したように、本発明の第１の実施の形態によれば、ＭＮはＨＡに対して、自身の特定のケアオブアドレスあてに送信されるパケットや、特定のフローに係るパケットをバッファリングするよう要求することによって、ＭＮにとって好適なパケット（例えば、パケットロスに対してセンシティブなパケット）のみをＨＡにバッファリングさせ、必要に応じてＨＡからパケット再送が行われるようにすることが可能となり、効率的な再送制御が実現されるようになる。【００７５】
＜第２の実施の形態＞
次に、本発明の第２の実施の形態について説明する。図７には、本発明の第２の実施の形態におけるネットワーク構成の一例が図示されている。図７において、ＭＮ１０は、複数のホームネットワーク（ホームネットワーク５０、７０）のそれぞれに存在するＨＡ（ＨＡ６０、ＨＡ８０）を利用することが可能である。ＭＮ１０には、ホームネットワーク５０、７０のそれぞれからホームアドレス（ＨｏＡ１及びＨｏＡ２）が割り当てられており、これらのＨｏＡ１及びＨｏＡ２はそれぞれのＨＡ（ＨＡ６０、ＨＡ８０）で管理されている。なお、図７では、ＭＮ１０が、インタフェース（ＩＦ）２０を用いて外部ネットワーク３０に接続しており、外部ネットワーク３０からＣｏＡ１が割り当てられている一方、ＣＮ４０との通信に関しては、ＨｏＡ１を用いてＨＡ６０を経由した通信を行っているものとする。【００７６】
なお、ＭＮ１０が利用するインタフェースの数は１つに限定されるものではなく、複数のインタフェースを利用してもよい。この場合、複数のケアオブアドレスがＨｏＡ１及びＨｏＡ２のそれぞれに対して関連付けられてもよい。また、ＭＮ１０が利用できるＨＡ（ＨＡ６０及びＨＡ８０）の数は、図７に図示されているように２つに限定されるものではなく、さらに多くのＨＡが利用されてもよい。この場合、複数のＨＡのそれぞれからホームアドレスが割り当てられている必要がある。【００７７】
次に、本発明の第２の実施の形態におけるＭＮ１０の構成について説明する。図８には、本発明の第２の実施の形態におけるＭＮ１０の構成の一例が図示されている。図８において、ＭＮ１０は、送受信部２０１、バインディング情報通知メッセージ生成部２０２、ＨｏＡ１バインディング情報管理部２０３、ＨｏＡ２バインディング情報管理部２０４、転送前バッファリング要求判断部２０５、フロー情報通知メッセージ生成部２０６、ホームアドレス関連付け判断部２０７、フロー情報管理部２０８を有している。なお、ＭＮ１０は、例えばＣＮ４０との間で送受信するデータパケットを処理するためのデータパケット処理部やその他の様々な機能も有しているが、図８では図示省略する。【００７８】
送受信部２０１は、ＭＮ１０が接続するネットワーク（例えば図１の外部ネットワーク３０）内の任意の通信ノードや、ＭＮ１０のホームネットワーク５０、７０内の任意の通信ノード（例えば図７のＨＡ６０又はＨＡ８０）、さらには、その他の任意のネットワークに存在する任意の通信ノード（例えば図７のＣＮ４０）との通信を行うためのパケット送受信機能を有している。なお、送受信部２０１には、例えば図７に図示されている無線接続のインタフェース２０の機能も包含される。【００７９】
また、バインディング情報通知メッセージ生成部２０２は、ＨｏＡ１バインディング情報管理部２０３又はＨｏＡ２バインディング情報管理部２０４から通知されたバインディング情報を含むバインディング情報通知メッセージを生成するための機能を有している。バインディング情報通知メッセージ生成部２０２では、例えば、そのバインディング情報を登録する従来のモバイルＩＰｖ６のバインディングアップデートメッセージと、バインディング情報の登録と共に、さらに、そのバインディング情報によって特定されるケアオブアドレスあてのパケットを一時的にバッファリングした後に転送を行うよう要求するためのメッセージとが生成される。なお、ケアオブアドレスあてのパケットを一時的にバッファリングした後に転送を行うよう要求する対象となるケアオブアドレスには、転送前バッファリング要求が付加される。バインディング情報通知メッセージ生成部２０２で生成されたバインディング情報通知メッセージは、送受信部２０１を通じてＭＮ１０のＨＡ（ＨＡ６０又はＨＡ８０）に送信される。【００８０】
また、ＨｏＡ１バインディング情報管理部２０３は、ＨｏＡ１（図７のホームネットワーク５０から割り当てられるホームアドレス）に関するバインディング情報を管理する機能を有しており、ＨｏＡ１に対して関連付けるべきケアオブアドレスを取得又は変更した場合に、それらのケアオブアドレスに関するバインディング情報をＨＡ６０へ通知すべきか否かの判断を行う機能を有している。バインディング情報を通知すべきと判断した場合には、ＨｏＡ１バインディング情報管理部２０３は、バインディング情報通知メッセージ生成部２０２に対して、通知すべきバインディング情報を供給してバインディング情報通知メッセージを生成するよう指示する。【００８１】
また、転送前バッファリング要求判断部２０５から、特定のケアオブアドレスに対して転送前バッファリング要求を付加するよう指示された場合や、ホームアドレス関連付け判断部２０７から、ホームアドレスをケアオブアドレスとして登録するよう指示された場合には、ＨｏＡ１バインディング情報管理部２０３は、バインディング情報通知メッセージ生成部２０２に対して、転送前バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する。【００８２】
なお、転送前バッファリング要求とは、ＭＮ１０がＨＡ（ＨＡ６０又はＨＡ８０）に対して、転送先アドレスとして選択された特定のケアオブアドレスあてにパケット転送を開始する前に、そのパケットのバッファリングを一時的に行うことを要求するものである。転送前バッファリング要求が付加されたケアオブアドレスを選択したＨＡは、すぐにパケットの転送を開始するのではなく、いったんパケットのバッファリングを行い、パケットの転送開始タイミングをある程度（任意の遅延時間だけ）意図的に遅らせてパケットの転送を開始する。【００８３】
また、ＨｏＡ２バインディング情報管理部２０４は、ＨｏＡ２（図７のホームネットワーク７０から割り当てられるホームアドレス）に関するバインディング情報を管理する機能を有しており、ＨｏＡ２に対して関連付けるべきケアオブアドレスを取得又は変更した場合に、それらのケアオブアドレスに関するバインディング情報をＨＡ８０へ通知すべきか否かの判断を行う機能を有している。バインディング情報を通知すべきと判断した場合には、ＨｏＡ２バインディング情報管理部２０４は、バインディング情報通知メッセージ生成部２０２に対して、通知すべきバインディング情報を供給してバインディング情報通知メッセージを生成するよう指示する。【００８４】
また、転送前バッファリング要求判断部２０５から、特定のケアオブアドレスに対して転送前バッファリング要求を付加するよう指示された場合や、ホームアドレス関連付け判断部２０７から、ホームアドレスをケアオブアドレスとして登録するよう指示された場合には、ＨｏＡ２バインディング情報管理部２０４は、バインディング情報通知メッセージ生成部２０２に対して、転送前バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する。【００８５】
なお、転送前バッファリング要求が付加されているか否かにかかわらず、ホームアドレスをケアオブアドレスとして登録するためのバインディング情報通知メッセージに含まれるLifetimeには、有効期限が切れることがないことを示す値を含めてもよい。この場合、ＨＡによって保持されるこのバインディング情報は、有効期限が切れることがないため、ＨＡに対してＨｏＡあてのパケットを常に代理受信し続けるよう要求することが可能となる。これにより、通常のケアオブアドレスに関するバインディング情報がすべて削除されたとしても、このエントリだけは残り続けるため、ＨＡによる代理受信が有効な状態を保つことが可能となる。【００８６】
また、ＨＡによって行われる転送前バッファリングが実行された後に転送されるパケットの転送先となるアドレスが常に有効な状態であることを確保するために、ケアオブアドレスとして登録するホームアドレスに対してだけ転送前バッファリング要求を付加するようにしてもよい。この場合、ＨＡによって転送前バッファリングが行われた後に転送されるパケットは、別のＨＡによって再び代理受信されるため、そのＨＡによる転送前バッファリングの効果を更に受けることが可能となる。【００８７】
なお、ＨｏＡ１バインディング情報管理部２０３、及びＨｏＡ２バインディング情報管理部２０４が、バインディング情報をＨＡへ通知するべきかどうかを判断するタイミングは、前述の転送前バッファリング要求判断部２０５からの指示を受けたときだけでなく、例えば、他のネットワークへの移動を検出した場合や、新たなＣｏＡを生成・取得した場合なども考えられる。また、ＨＡから通知されたバインディング情報を更新するインターバルが近づいてきたときや、バインディング情報の有効期限が残り少なくなったとき、更にはＨＡからバインディング情報の更新を要求するメッセージ（Binding Refresh Request Message）を受信した場合なども考えられる。【００８８】
なお、ここでは、ＭＮ１０に対してＨｏＡ１及びＨｏＡ２の２つのホームアドレスが割り当てられる場合を想定しており、図８には、ＭＮ１０が、これら２つのホームアドレス（ＨｏＡ１及びＨｏＡ２）をそれぞれ管理するＨｏＡ１バインディング情報管理部２０３及びＨｏＡ２バインディング情報管理部２０４を有している状態が図示されているが、割り当てられるホームアドレスの数に応じて、対応するＨｏＡバインディング情報管理部が存在してもよい。また、ＨｏＡ１バインディング情報管理部２０３及びＨｏＡ２バインディング情報管理部２０４は、管理するホームアドレスが異なるのみで基本的には同一機能を有しており、複数のホームアドレスの管理を行うことが可能な１つのＨｏＡバインディング情報管理部に統合されてもよい。【００８９】
また、転送前バッファリング要求判断部２０５は、各ＨＡ（ＨＡ６０又はＨＡ８０）へ登録するケアオブアドレス、あるいは既に登録されているケアオブアドレスに対して、転送前バッファリング要求を付加すべきか否かを判断する機能を有している。転送前バッファリング要求判断部２０５は、特定のケアオブアドレスに対して転送前バッファリング要求を付加すべきと決定した場合には、対応するＨｏＡバインディング情報管理部（ＨｏＡ１バインディング情報管理部２０３、あるいはＨｏＡ２バインディング情報管理部２０４）に、特定のケアオブアドレスに対して転送前バッファリング要求を付加するよう指示する機能を有している。【００９０】
なお、転送前バッファリング要求判断部２０５は、例えばハンドオーバなどの影響によって、あるインタフェース２０の接続が一定時間不安定になることが事前に検出された場合などにおいて、そのインタフェース２０に割り当てられているケアオブアドレスに対して転送前バッファリング要求の付加を決定することが可能である。【００９１】
ＨＡ（ＨＡ６０又はＨＡ８０）は、転送前バッファリング要求が付加されていないケアオブアドレスを転送先として選択した場合には、すぐにパケットの転送を開始してしまうため、接続が不安定である期間にもパケットがＨＡ（ＨＡ６０又はＨＡ８０）から転送され続け、その間のパケットをＭＮ１０が受信できずにパケットロスが発生してしまう可能性がある。しかしながら、転送前バッファリング要求が付加されている場合には、ＨＡは、そのケアオブアドレスを転送先として選択した場合、すぐにパケット転送を開始せずにいったんバッファリングを行った後にパケットの転送を行うので、接続が不安定である期間にパケットが転送されるのを防ぐことが可能となる。【００９２】
また、転送前バッファリング要求判断部２０５は、例えば、フロー情報管理部２０８からの通知を受けて、特定のフローに対して転送前バッファリング要求を付加すべきと判断してもよい。特定のフローに対して転送前バッファリング要求を付加すべきと判断した場合には、フロー情報通知メッセージ生成部２０６に対して、特定のフローに対する転送前バッファリング要求の付加をＨＡ（ＨＡ６０又はＨＡ８０）に通知するためのフロー情報通知メッセージを生成するよう指示してもよい。【００９３】
また、転送前バッファリング要求判断部２０５は、ホームアドレス関連付け判断部２０７に対して、特定のホームアドレスを別のホームアドレスのケアオブアドレスとして使用するとともに、転送前バッファリング要求を付加するよう指示を行うことが可能である。この指示を受けたホームアドレス関連付け判断部２０７は、後述のように、ＨｏＡ１バインディング情報管理部２０３、あるいはＨｏＡ２バインディング情報管理部２０４に対して、転送前バッファリング要求を付加したホームアドレスをケアオブアドレスとして登録するように指示を行う。【００９４】
また、転送前バッファリング要求判断部２０５は、転送前バッファリング要求を付加すべき決定を行った場合に、ＨＡ（ＨＡ６０又はＨＡ８０）において、パケット転送前に一時的にパケットのバッファリングを行う際のバッファ時間やバッファ容量を定める機能を有していてもよい。これらのバッファ時間やバッファ容量は、パケットを意図的に遅延させるための遅延時間に相当する。転送前バッファリング要求判断部２０５で定められた遅延時間は、転送前バッファリング要求と共にＨＡ（ＨＡ６０又はＨＡ８０）に通知されることが望ましい。【００９５】
また、フロー情報通知メッセージ生成部２０６は、上述のように、転送前バッファリング要求判断部２０５から、特定のフローに対する転送前バッファリング要求の付加をＨＡ（ＨＡ６０又はＨＡ８０）に通知するためのメッセージ生成の指示を受けた場合に、転送前バッファリング要求が付加されたフロー情報を含むフロー情報通知メッセージを生成する機能を有している。【００９６】
また、ホームアドレス関連付け判断部２０７は、ＭＮ１０が保持しているホームアドレス（ＨｏＡ１及びＨｏＡ２）を別のホームアドレスに関連付けるケアオブアドレスとして使用すべきか否かを判断する機能を有している。ＨｏＡ１がＨｏＡ２のケアオブアドレスとして使用可能である場合には、ＨｏＡ２バインディング情報管理部２０４に対してＨｏＡ１をケアオブアドレスとして関連付けるよう指示を行うことが可能である。一方、ＨｏＡ２がＨｏＡ１のケアオブアドレスとして使用可能である場合には、ＨｏＡ１バインディング情報管理部２０３に対してＨｏＡ２をケアオブアドレスとして関連付けるよう指示を行うことが可能である。【００９７】
また、ホームアドレス関連付け判断部２０７は、転送前バッファリング要求判断部２０５から特定のホームアドレスに対して転送前バッファリング要求を付加するよう指示された場合には、ＨｏＡ１バインディング情報管理部２０３、あるいはＨｏＡ２バインディング情報管理部２０４に対して、転送前バッファリング要求を付加したホームアドレスをケアオブアドレスとして登録するよう指示する。【００９８】
なお、図８では、ＭＮ１０は、バインディング情報通知メッセージ及びフロー情報通知メッセージの両方をＨＡ（ＨＡ６０又はＨＡ８０）に対して送信することが可能なように構成されているが、どちらか一方の通知メッセージのみを送信することが可能なように構成されていてもよい。すなわち、ＭＮ１０は、バインディング情報通知メッセージによって転送前バッファリング要求を付加する対象のケアオブアドレスを通知するだけでもよく、フロー情報通知メッセージによって転送前バッファリング要求を付加する対象のフローを通知するだけでもよく、あるいは、両方のメッセージを用いて、転送前バッファリング要求を付加する対象のケアオブアドレス及びフローの両方を通知してもよい。【００９９】
また、図８のＭＮ１０の構成では、転送前バッファリング要求を付加する対象がケアオブアドレスの場合にはバインディング通知メッセージが用いられ、転送前バッファリング要求を付加する対象がフローの場合にはフロー情報通知メッセージが用いられるが、例えばフローに対する転送前バッファリング要求を通知するメッセージとして、バインディング情報通知メッセージが用いられてもよい。この場合、例えば、フローに対する転送前バッファリング要求情報を、バインディング情報通知メッセージのオプションとして付加することが可能である。また、ケアオブアドレスに対する転送前バッファリング要求を通知するメッセージとして、フロー情報通知メッセージが用いられてもよい。【０１００】
以上、図８を参照しながら説明したように、本発明の第２の実施の形態におけるＭＮ１０は、自身のＨＡ６０に対して、いったんバッファリングを行った後にパケットの転送を開始することでＭＮ１０あてのパケットの転送開始タイミングを遅らせるよう要求することが可能である（転送前バッファリング要求）。また、ＭＮ１０は、転送前バッファリング要求の対象となるケアオブアドレスを選択することも可能である。また、複数のホームアドレスが割り当てられており、複数のホームアドレスのいずれかを別のホームアドレスのケアオブアドレスとして登録する場合に、ＨＡ（ＨＡ６０又はＨＡ８０）に対して、特定のケアオブアドレス（ＭＮ１０の複数のホームアドレスのうちの１つ）あてに転送されるパケットに関して、転送前バッファリング要求を行うことも可能である。また、ＭＮ１０は、特定のケアオブアドレスあてのパケット、又は特定のフローに係るパケットに対して転送前バッファリング要求を行うだけではなく、例えば、特定の通信相手から送られてきたパケットに関して、転送前バッファリング要求を行ってもよい。【０１０１】
また、図９には、本発明の第２の実施の形態におけるＭＮ１０が生成、送信するバインディング情報通知メッセージの一例が図示されている。なお、図９には、バインディングアップデートメッセージを利用して、ＨｏＡ２をＨｏＡ１に関連付けるケアオブアドレスとして通知するとともに、このケアオブアドレス（ＨｏＡ２）に対して転送前バッファリングを要求する場合のバインディング情報通知メッセージの構成例が図示されている。【０１０２】
図９に図示されているＩＰｖ６ヘッダ（ＨＡ６０をあて先アドレスに設定）、ホームアドレスオプション、モビリティヘッダ（バインディングアップデート）は、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの構成と基本的に同一である。本発明の第２の実施の形態では、図９に図示されているように、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの代替用ＣｏＡオプションの中に、更に転送前バッファリング要求情報と、バッファリングの対象として指定されるケアオブアドレス（ＨｏＡ２）とが付加される。なお、転送前バッファリング要求情報は、ＨｏＡ１をあて先アドレスとするパケットを、代替用ＣｏＡオプションに含まれているケアオブアドレス（図９の例ではＨｏＡ２）をあて先アドレスとするパケットでカプセル化して転送する前に、このパケットの転送前バッファリング要求を示す情報であり、例えばフラグなどの任意の形式で実現可能である。【０１０３】
また、特定のフローに対して転送前バッファリング要求を行う場合には、図４と同様のフォーマット（ただし、メッセージに含まれる要求は、転送前バッファリング要求）を有するフロー情報通知メッセージを使用することも可能である。また、図５と同様のフォーマット（ただし、メッセージは転送前バッファリング要求メッセージ）を有する専用の転送前バッファリング要求メッセージを用いることも可能である。【０１０４】
次に、本発明の第２の実施の形態におけるＨＡ（ＨＡ６０又はＨＡ８０）の構成について説明する。図１０には、本発明の第２の実施の形態におけるＨＡの構成の一例が図示されている。図１０において、ＨＡは、送受信部７０１、バインディング情報通知メッセージ処理部７０２、フロー情報通知メッセージ処理部７０３、フロー情報保持部７０４、バインディング情報保持部７０５、転送先選択部７０６、代理受信パケット転送処理部７０７、転送前バッファリング処理部７０８を有している。なお、ＨＡは、その他の様々な機能も有しているが、図１０では図示省略する。【０１０５】
送受信部７０１は、ＨＡが接続するネットワーク（例えば図７のホームネットワーク５０、７０）内の任意の通信ノードや、外部ネットワーク３０に接続しているＭＮ１０（ＨＡ６０又はＨＡ８０が存在するホームネットワーク５０、７０に属するＭＮ１０）、その他の任意のネットワークに接続している任意の通信ノードとの通信を行うためのパケット送受信機能を有している。【０１０６】
また、バインディング情報通知メッセージ処理部７０２は、ＭＮ１０で生成、送信されたバインディング情報通知メッセージを送受信部７０１で受信した場合に、このバインディング情報通知メッセージに関する処理を行い、バインディング情報通知メッセージに含まれるＭＮ１０のバインディング情報を取得して、このバインディング情報をバインディング情報保持部７０５に保持させる機能を有している。なお、バインディング情報に関連して転送前バッファリング要求情報が付加されている場合には、バインディング情報と共に転送前バッファリング要求情報をバインディング情報保持部７０５に保持させる。【０１０７】
また、フロー情報通知メッセージ処理部７０３は、ＭＮ１０で生成、送信されたフロー情報通知メッセージを送受信部７０１で受信した場合に、このフロー情報通知メッセージに関する処理を行い、フロー情報通知メッセージに含まれるＭＮ１０のフロー情報（フロー識別子）を取得して、このフロー識別子をフロー情報保持部７０４に保持させる機能を有している。なお、フロー識別子に関連して転送前バッファリング要求情報が付加されている場合には、フロー識別子と共に転送前バッファリング要求情報をフロー情報保持部７０４に保持させる。【０１０８】
また、フロー情報保持部７０４は、フロー情報通知メッセージ処理部７０３におけるフロー情報通知メッセージの処理によって抽出されたフロー識別子を保持する機能を有している。なお、フロー識別子に転送前バッファリング要求情報が付加されている場合には、フロー識別子と共に、転送前バッファリング要求情報も保持される。【０１０９】
また、バインディング情報保持部７０５は、バインディング情報通知メッセージ処理部７０２におけるバインディング情報通知メッセージの処理によって抽出されたバインディング情報（ＭＮ１０のホームアドレスと、パケットの転送前バッファリング要求の対象となるケアオブアドレスとが関連付けられたバインディング情報）を保持する機能を有している。なお、バインディング情報保持部７０５では、特定のケアオブアドレスに対して転送されるパケットの転送前バッファリング要求が含まれているバインディング情報のほかに、バッファリング要求が含まれていない通常のバインディング情報も保持される。【０１１０】
なお、ＭＮ１０がケアオブアドレスとしてホームアドレスを登録するためのバインディング情報通知メッセージを受信したとき、そのメッセージ処理によって抽出されたバインディング情報に関するLifetimeは、有効期限が切れることがないことを示す値が設定されている場合がある。この場合、保持されるバインディング情報は有効期限が切れて削除されることがなくなるため、ＨＡは常にＭＮ１０のＨｏＡあてのパケットを代理受信し続けることが可能となる。また、バインディング情報保持部７０５は、転送前バッファリング要求が付加されたバインディング情報を保持するときには常に、有効期限が切れることがない情報として保持するようにしてもよい。ただしこの場合は、ＭＮ１０はケアオブアドレスとして登録するホームアドレスに対してだけ転送前バッファリング要求を付加する必要がある。また、ＨＡは、有効期限が切れることがないことを示す値が設定されているバインディング情報を保持するときには常に、転送前バッファリング要求情報を付加するようにしてもよい。この場合、有効期限が切れることがないことを示す値が設定されているバインディング情報は、ケアオブアドレスとしてホームアドレスが登録される場合が望ましい。【０１１１】
また、転送先選択部７０６は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、バインディング情報保持部７０５に保持されているバインディング情報の中から、転送先アドレスとして使用すべきケアオブアドレスを選択する機能を有している。また、転送先選択部７０６は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、フロー情報保持部７０４に保持されているＭＮ１０のフロー識別子、及びバインディング情報保持部７０５を参照し、特定のフローの転送先として使用すべきケアオブアドレスを選択する機能を有している。【０１１２】
代理受信パケット転送処理部７０７は、管理しているＭＮ１０のＨｏＡあてのパケットを代理受信した際に、転送先選択部７０６に対してそのパケットの転送先を選択するよう要求して、その選択結果を取得し、選択されたケアオブアドレスに転送前バッファリング要求が付加されている場合には、そのケアオブアドレスあてへすぐに転送せずに、転送前バッファリング処理部７０８に対して代理受信したパケットを渡し、バッファリングするよう指示する機能を有している。なお、転送前バッファリング要求が付加されていない場合には、代理受信パケット転送処理部７０７は、そのケアオブアドレスあてにカプセル化を行ってすぐに転送を開始する。【０１１３】
また、転送前バッファリング処理部７０８に対してパケットのバッファリングを指示した後、転送前バッファリング処理部７０８からバッファがフルになったことが通知された場合には、代理受信パケット転送処理部７０７は、転送先選択部７０６によって選択された転送前バッファリング要求が付加されていた転送先のケアオブアドレスに対して、転送前バッファリング処理部７０８が保持しているパケットの転送を開始する。これによって、転送前バッファリング処理部７０８にいったんバッファリングされるパケットは、バッファがフルになるまでの間、転送前バッファリング処理部７０８に留まることになり、一定時間だけ遅延してパケットの転送が行われることになる。【０１１４】
なお、ここでは、転送前バッファリング処理部７０８のバッファがフルになった場合に、転送前バッファリング処理部７０８に保持されているパケットの転送が開始されるように構成されているが、バッファに所定量のパケットが蓄積された場合にパケットの転送が開始されてもよく、また、バッファに所定の時間だけ格納された後にパケットの転送が開始されてもよい。さらに、ＭＮ１０からパケットの遅延時間の通知を受けた場合には、通知された遅延時間だけ転送前バッファリング処理部７０８に格納された後に、パケットの転送が開始されてもよい。【０１１５】
また、転送前バッファリング処理部７０８は、代理受信パケット転送処理部７０７から渡されたパケットをバッファリングする機能を有している。代理受信パケット転送処理部７０７から渡されるパケットは、ＭＮ１０から通知された特定のケアオブアドレスを転送先とするパケットや特定のフローに係るパケットであり、したがって、転送前パケットバッファリング部７０８では、ＭＮ１０からバッファリング要求を受けたバッファリング対象のパケットのみがバッファリングされる。転送前バッファリング処理部７０８でパケットをバッファリングすることによって、パケットの転送タイミングを意図的に遅らせることが可能となる。【０１１６】
以上、図１０を参照しながら説明したように、本発明の第２の実施の形態におけるＨＡは、ＭＮ１０からバッファリングを行うように要求されたパケット（特定のケアオブアドレスあてに転送すべきパケットや、特定のフローに係るパケット）を一定の遅延時間だけ遅らせて転送することが可能となる。なお、特定のケアオブアドレスとして、ＭＮ１０が有する別のホームアドレスが設定されている場合には、ＭＮ１０からバッファリングを行うように要求されたパケットは、一定の遅延時間だけＨＡで保持された後、別のＨＡに転送されることになる。【０１１７】
次に、本発明の第２の実施の形態における具体的な動作の一例について、図７に図示されているネットワーク構成を参照しながら説明する。なお、以下では、何らかの原因でＭＮ１０と外部ネットワーク３０との接続が切断した場合を想定する。接続の切断の原因としては、例えばＭＮ１０の移動などが挙げられる。【０１１８】
（本発明の第２の実施の形態の動作例）
ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、例えば、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、ＨＡ６０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ２をＨｏＡ１のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ２）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。すなわち、ここでは、ＨｏＡ１に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ２）が設定され、別のホームエージェント（ＨＡ８０）によって管理されているＨｏＡ２に対して転送前バッファリング要求情報が付加されるものとする。【０１１９】
また同様に、ＭＮ１０は、例えば、ホームアドレス（ＨｏＡ２）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ８０に登録する。さらに、ＭＮ１０は、ＨＡ８０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ１をＨｏＡ２のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ１）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ８０に送信する。すなわち、ここでは、ＨｏＡ２に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ１）が設定され、別のホームエージェント（ＨＡ６０）によって管理されているＨｏＡ１に対して転送前バッファリング要求情報が付加されるものとする。【０１２０】
これらのバインディング情報通知メッセージをそれぞれ受信したＨＡ６０及びＨＡ８０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部７０５に格納する。【０１２１】
ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信した場合には、そのパケットをＣｏＡ１へ転送するが、ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、別のケアオブアドレスを転送先として選択する。ＨＡ６０がＣｏＡ１に代わって、ＨｏＡ２を次の転送先として選択した場合、ＨｏＡ２には転送前バッファリング要求が付加されているので、ＨＡ６０は、パケットをすぐにＨｏＡ２に転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ２あてに転送を開始する。【０１２２】
一方、ＨＡ８０は、ＨＡ６０から転送されてきたＨｏＡ２あてのパケットを代理受信する。代理受信されたパケットは、ＨＡ８０によって転送されるが、転送先としてＣｏＡ１が依然として使用できない場合には、ＨｏＡ１が転送先として選択される。このときＨｏＡ１には転送前バッファリング要求が付加されているので、ＨＡ８０は、パケットをすぐにＨｏＡ１へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ１あてに転送を開始する。この動作の結果、パケットは、各ＨＡ６０、８０でバッファリングを繰り返しながら複数のＨＡ間で転送され続けることになる。【０１２３】
そして、例えばＭＮ１０と外部ネットワーク３０との切断が一時的なものであり、ＭＮ１０が外部ネットワーク３０に再接続することができた場合には、ＨＡ６０又はＨＡ８０からＣｏＡ１あてにパケットが転送され、その結果、パケットロスを防ぐことが可能となる。【０１２４】
また、ＭＮ１０が再接続を行って、ＨＡ６０、８０に新たなＣｏＡが登録された場合には、パケットがそのＣｏＡあてに転送されることによって、パケットロスが生じることなく、ＭＮ１０は即座にパケットを受信することが可能となる。なお、他の任意の方法を用いて、複数のＨＡ間でのパケットの転送回数をある程度の回数に制限することによって、複数のＨＡ間でパケットが長期的に（あるいは永久に）転送され続けないように制御することが望ましい。【０１２５】
なお、上述の動作例では、特定のケアオブアドレスあてのパケットが、複数のＨＡ間で転送され続けることによってネットワーク上でパケットのバッファリングが行われているが、特定のフローに係るパケットに関してのみ転送前バッファリングが有効になるようにしてもよい。すなわち、フロー情報を考慮して、特定のケアオブアドレスあての特定のフローに係るパケットのみが、複数のＨＡ間で転送され続けることによってネットワーク上でパケットのバッファリングが行われるようにしてもよい。【０１２６】
また、上述の説明では、主に、ＭＮ１０が２つのホームアドレスを有する場合の構成及び動作について記載したが、３つ以上のホームアドレスを有する場合であっても本発明は適用可能である。その場合、転送前バッファリングが、利用できる複数のＨＡによって連鎖的に順次起こるように、転送前バッファリング要求を付加したそれぞれのホームアドレスをケアオブアドレスとして登録をすることによって、利用できるＨＡの数だけバッファ量を増やすことが可能となるため、よりパケットロスを軽減することが可能となる。【０１２７】
以上、説明したように、本発明の第２の実施の形態によれば、ＭＮは、ＨＡに登録するケアオブアドレスに転送前バッファリング要求情報を付加することによって、ＨＡは、そのケアオブアドレスあての転送パケットをいったんバッファリングしてから、パケット転送を行うことが可能となる。特に、ＭＮが複数のホームアドレスを有し、あるホームアドレスのケアオブアドレスとして別のホームアドレスの関連付けを行った場合には、１つのＨＡだけではバッファしきれないパケットを別のＨＡに転送させることが可能となり、複数のＨＡ間でパケットの転送が行われ、その結果、複数のＨＡ間におけるバッファリングを実現することが可能となる。さらに、この場合、例えば同一のケアオブアドレスが再び到達可能となった場合や別のケアオブアドレスが登録された場合など、ＭＮ１０のインタフェースに到達可能な状態となった場合には、複数のＨＡ間でバッファリングされていたパケットをＭＮに送信することによって、パケットロスを最小限に抑えた効率的な再送制御が実現されるようになる。【０１２８】
なお、図１３に示すように、ＭＮ１０が、ネットワークベースのモビリティプロトコルが提供されているローカルネットワーク５１５に接続している際には、ＭＮ１０の移動に係る制御を代理で行う代理ノード５１８（Proxy Mobile Agent）が、本発明の第２の実施の形態におけるＭＮ１０が保持する機能を有していてもよい。この場合、代理ノード５１８は、独自の判断で選択的にバッファリングするべきパケットの対象を判断してもよいし、ＭＮ１０から指示を受けてもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、転送前バッファリング要求情報の通知をしないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、転送前バッファリング要求情報の通知を行うことを選択するようにしてもよい。代理ノード５１８は、決定した転送前バッファリング要求情報を、ＭＮ１０を管理しているＨＡ６０へ通知する。【０１２９】
また、代理ノード５１８が、本発明の第２の実施の形態におけるＨＡが保持する機能を有していてもよい。この場合、ＭＮ１０は、フロー情報に転送前バッファリング要求情報を付加して代理ノード５１８へ通知する。この通知を受けた代理ノード５１８は、ＨＡ６０から転送されたＭＮ１０のホームアドレス（ＨｏＡ１）あてのパケットが、転送前バッファリング要求情報が付加されたフローに一致した場合には、パケットをすぐにＭＮ１０へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＭＮ１０へ転送を開始する。また、代理ノード５１８は、独自の判断で転送前バッファリングするべきパケットの対象を判断してもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、転送前バッファリング行わないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、転送前バッファリングを行うことを選択するようにしてもよい。【０１３０】
＜第３の実施の形態＞
次に、本発明の第３の実施の形態について説明する。本発明の第３の実施の形態は、基本的に、上述の本発明の第１及び第２の実施の形態を組み合わせたものである。なお、本発明の第３の実施の形態では、ネットワーク構成の具体例に関しては、図７のネットワーク構成を前提として説明を行う。【０１３１】
まず、本発明の第３の実施の形態におけるＭＮ１０の構成について説明する。図１１には、本発明の第３の実施の形態におけるＭＮ１０の構成の一例が図示されている。図１１において、ＭＮ１０は、送受信部３０１、バインディング情報通知メッセージ生成部３０２、ＨｏＡ１バインディング情報管理部３０３、ＨｏＡ２バインディング情報管理部３０４、転送前バッファリング要求判断部３０５、フロー情報通知メッセージ生成部３０６、ホームアドレス関連付け判断部３０７、フロー情報管理部３０８、バッファリング要求判断部３０９を有している。なお、図１１に図示されているＭＮ１０は、基本的に、図２及び図８のＭＮ１０を組み合わせた構成を有している。【０１３２】
図１１において、送受信部３０１は、図２に図示されている送受信部１０１又は図８に図示されている送受信部２０１と同一である。【０１３３】
また、バインディング情報通知メッセージ生成部３０２は、図２に図示されているバインディング情報通知メッセージ生成部１０２、及び図８に図示されているバインディング情報通知メッセージ生成部２０２の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。バインディング情報通知メッセージ生成部３０２は、バッファリング転送要求情報及び／又は転送前バッファリング転送要求情報を含むバインディング情報通知メッセージを生成することが可能である。【０１３４】
また、ＨｏＡ１バインディング情報管理部３０３は、図２に図示されているバインディング情報管理部１０３、及び図８に図示されているＨｏＡ１バインディング情報管理部２０３の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。ＨｏＡ１バインディング情報管理部３０３は、転送前バッファリング要求判断部３０５からの指示に基づいて、バインディング情報通知メッセージ生成部３０２に対して、転送前バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する機能や、バッファリング要求判断部３０９からの指示に基づいて、バインディング情報通知メッセージ生成部３０２に対して、バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する機能を有している。【０１３５】
また、ＨｏＡ２バインディング情報管理部３０４は、図２に図示されているバインディング情報管理部１０３、及び図８に図示されているＨｏＡ２バインディング情報管理部２０４の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。ＨｏＡ１バインディング情報管理部３０３では、ＨｏＡ１に関する管理が行われ、ＨｏＡ２バインディング情報管理部３０４では、ＨｏＡ２に関する管理が行われる。【０１３６】
また、転送前バッファリング要求判断部３０５は、図８に図示されている転送前バッファリング要求判断部２０５と同一である。【０１３７】
また、フロー情報通知メッセージ生成部３０６は、図２に図示されているフロー情報通知メッセージ生成部１０５、及び図８に図示されているフロー情報通知メッセージ生成部２０６の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。フロー情報通知メッセージ生成部３０６は、バッファリング転送要求情報及び／又は転送前バッファリング転送要求情報を含むフロー情報通知メッセージを生成することが可能である。【０１３８】
また、ホームアドレス関連付け判断部３０７は、図８に図示されているホームアドレス関連付け判断部２０７と同一である。【０１３９】
また、フロー情報管理部３０８は、図２に図示されているフロー情報管理部１０６、及び図８に図示されているフロー情報管理部２０８の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。【０１４０】
また、バッファリング要求判断部３０９は、図２に図示されているバッファリング要求判断部１０４と同一である。【０１４１】
なお、図１１では、ＭＮ１０は、バインディング情報通知メッセージ及びフロー情報通知メッセージの両方をＨＡ（ＨＡ６０又はＨＡ８０）に対して送信することが可能なように構成されているが、どちらか一方の通知メッセージのみを送信することが可能なように構成されていてもよい。すなわち、ＭＮ１０は、バインディング情報通知メッセージによってバッファリング要求及び／又は転送前バッファリング要求を付加する対象のケアオブアドレスを通知するだけでもよく、フロー情報通知メッセージによってバッファリング要求及び／又は転送前バッファリング要求を付加する対象のフローを通知するだけでもよく、あるいは、両方のメッセージを用いて、バッファリング要求及び／又は転送前バッファリング要求を付加する対象のケアオブアドレス及びフローの両方を通知してもよい。【０１４２】
また、図１１のＭＮ１０の構成では、バッファリング要求及び／又は転送前バッファリング要求を付加する対象がケアオブアドレスの場合にはバインディング通知メッセージが用いられ、バッファリング要求及び／又は転送前バッファリング要求を付加する対象がフローの場合にはフロー情報通知メッセージが用いられるが、例えばフローに対するバッファリング要求及び／又は転送前バッファリング要求を通知するメッセージとして、バインディング情報通知メッセージが用いられてもよい。この場合、例えば、フローに対するバッファリング要求及び／又は転送前バッファリング要求情報を、バインディング情報通知メッセージのオプションとして付加することが可能である。また、ケアオブアドレスに対するバッファリング要求及び／又は転送前バッファリング要求を通知するメッセージとして、フロー情報通知メッセージが用いられてもよい。【０１４３】
次に、本発明の第３の実施の形態におけるＨＡ（ＨＡ６０又はＨＡ８０）の構成について説明する。図１２には、本発明の第３の実施の形態におけるＨＡの構成の一例が図示されている。図１２において、ＨＡは、送受信部８０１、バインディング情報通知メッセージ処理部８０２、フロー情報通知メッセージ処理部８０３、フロー情報保持部８０４、バインディング情報保持部８０５、代理受信／転送前バッファリング部８０６、再送・転送先切替指示部８０７、転送先選択部８０８、代理受信パケット転送処理部８０９を有している。なお、図１２に図示されているＨＡは、基本的に、図６及び図１０のＨＡを組み合わせた構成を有している。【０１４４】
図１２において、送受信部８０１は、図６に図示されている送受信部６０１又は図１０に図示されている送受信部７０１と同一である。【０１４５】
また、バインディング情報通知メッセージ処理部８０２は、図６に図示されているバインディング情報通知メッセージ処理部６０２、及び図１０に図示されているバインディング情報通知メッセージ処理部７０２の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。バインディング情報通知メッセージ処理部８０２では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたバインディング情報通知メッセージに係る処理が行われる。【０１４６】
また、フロー情報通知メッセージ処理部８０３は、図６に図示されているフロー情報通知メッセージ処理部６０３、及び図１０に図示されているフロー情報通知メッセージ処理部７０３の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。フロー情報通知メッセージ処理部８０３では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたフロー情報通知メッセージに係る処理が行われる。【０１４７】
また、フロー情報保持部８０４は、図６に図示されているフロー情報保持部６０４、及び図１０に図示されているフロー情報保持部７０４の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。フロー情報保持部８０４では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたフロー情報が保持される。【０１４８】
また、バインディング情報保持部８０５は、図６に図示されているバインディング情報保持部６０５、及び図１０に図示されているバインディング情報保持部７０５の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。バインディング情報保持部８０５では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたバインディング情報が保持される。【０１４９】
また、代理受信／転送前バッファリング部８０６は、図６に図示されている代理受信パケットバッファリング部６０６、及び図１０に図示されている転送前バッファリング処理部７０８の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。なお、代理受信／転送前バッファリング部８０６には、再送を目的として転送と同時にバッファリングされるパケット（バッファリング要求の対象となるパケット）と、転送を目的としてその転送前にバッファリングされるパケット（転送前バッファリング要求の対象となるパケット）とが存在する。【０１５０】
また、再送・転送先切替指示部８０７は、図６に図示されている再送・転送先切替指示部６０７と同一である。【０１５１】
また、転送先選択部８０８は、図６に図示されている転送先選択部６０８、及び図１０に図示されている転送先選択部７０６の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。【０１５２】
また、代理受信パケット転送処理部８０９は、図６に図示されている代理受信パケット転送処理部６０９、及び図１０に図示されている代理受信パケット転送処理部７０７の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。代理受信パケット転送処理部８０９は、バッファリング要求によって指定されたパケットの再送を行う場合や、転送前バッファリング要求によって指定されたパケットの転送を行う場合には、代理受信／転送前バッファリング部８０６から取得してパケットの再送又は転送を行う。【０１５３】
なお、本発明の第３の実施の形態では、バッファリング要求情報と転送前バッファリング要求情報との組み合わせによって、バッファリングの態様を定めるルールを様々に設定することが可能である。例えば、バッファリング要求情報が付加されているケアオブアドレスあてのパケットやフローに係るパケットに関しては、転送前バッファリング要求情報の有無によらず自動的に転送前バッファリングが行われるようにしたり、バッファリング要求情報が付加されているケアオブアドレスあてのパケットやフローに係るパケットに関してのみ、転送前バッファリングが行われるようにしたりすることが可能である。【０１５４】
次に、本発明の第３の実施の形態における具体的な動作の一例について、図７に図示されているネットワーク構成を参照しながら説明する。なお、以下では、何らかの原因でＭＮ１０と外部ネットワーク３０との接続が切断した場合を想定する。接続の切断の原因としては、例えばＭＮ１０の移動などが挙げられる。【０１５５】
（本発明の第３の実施の形態の第１動作例）
まず、本発明の第３の実施の形態における第１動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。【０１５６】
この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、登録するケアオブアドレスあてのパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、そのケアオブアドレス（ＣｏＡ１）に対してバッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。【０１５７】
また、さらに、この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、ＨＡ６０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ２をＨｏＡ１のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ２）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。【０１５８】
すなわち、ここでは、ＨｏＡ１に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ２）が設定され、ＣｏＡ１にはバッファリング要求情報が付加され、別のホームエージェント（ＨＡ８０）によって管理されているＨｏＡ２には転送前バッファリング要求情報が付加されるものとする。【０１５９】
一方、ＭＮ１０は、例えば、ホームアドレス（ＨｏＡ２）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ８０に登録する。さらに、ＭＮ１０は、ＨＡ８０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ１をＨｏＡ２のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ１）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ８０に送信する。【０１６０】
これらのバインディング情報通知メッセージをそれぞれ受信したＨＡ６０及びＨＡ８０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部８０５に格納する。【０１６１】
ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信した場合には、そのパケットをＣｏＡ１へ転送すると同時に、ＣｏＡ１に転送されるパケットのバッファリングを行う。このパケットのバッファリングは、パケットの再送を決定した場合に使用されるものである。【０１６２】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、別のケアオブアドレスを転送先として選択する。なお、パケットの再送を所定の回数試みてもＭＮ１０にパケットが到達しなかった場合に、パケットの転送先を切り替えるようにするなど、任意の方法に基づいて、転送先の切り替えに移行するタイミングを決定することが可能である。【０１６３】
ＨＡ６０がＣｏＡ１に代わって、ＨｏＡ２を次の転送先として選択した場合、ＨｏＡ２には転送前バッファリング要求が付加されているので、ＨＡ６０は、パケットをすぐにＨｏＡ２に転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ２あてに転送を開始する。【０１６４】
一方、ＨＡ８０は、ＨＡ６０から転送されてきたＨｏＡ２あてのパケットを代理受信する。代理受信されたパケットは、ＨＡ８０によって転送されるが、転送先としてＣｏＡ１が依然として使用できない場合には、ＨｏＡ１が転送先として選択される。このときＨｏＡ１には転送前バッファリング要求が付加されているので、ＨＡ８０は、パケットをすぐにＨｏＡ１へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ１あてに転送を開始する。この動作の結果、パケットは、各ＨＡ６０、８０でバッファリングを繰り返しながら複数のＨＡ間で転送され続けることになる。【０１６５】
（本発明の第３の実施の形態の第２動作例）
次に、本発明の第３の実施の形態における第２動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、例えば、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、通信中の特定のフロー（フロー１）に係るパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、ＭＮ１０は、そのフロー１に対してバッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。【０１６６】
さらに、ＭＮ１０は、ＨｏＡ２をＨｏＡ１のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ２）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。【０１６７】
すなわち、ここでは、ＨｏＡ１に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ２）が設定され、特定のフロー１に対してバッファリング要求情報が付加され、別のホームエージェント（ＨＡ８０）によって管理されているＨｏＡ２には転送前バッファリング要求情報が付加されるものとする。【０１６８】
これらのバインディング情報通知メッセージをそれぞれ受信したＨＡ６０及びＨＡ８０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部８０５に格納する。【０１６９】
ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信した場合には、そのパケットをＣｏＡ１へ転送すると同時に、フロー１に係るパケットのバッファリングを行う。このパケットのバッファリングは、パケットの再送を決定した場合に使用されるものである。【０１７０】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、別のケアオブアドレスを転送先として選択する。ＨＡ６０がＣｏＡ１に代わって、ＨｏＡ２を次の転送先として選択した場合、ＨｏＡ２には転送前バッファリング要求が付加されているので、ＨＡ６０は、ＣｏＡ１あてのパケットをすぐにＨｏＡ２に転送せず、いったん代理受信／転送前バッファリング処理部８０６にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ２あてに転送を開始する。なお、ＨＡ６０は、バッファリング要求が付加されているフロー１に係るパケットに対してのみ、転送前バッファリング処理を行って、フロー１以外のパケットに関しては、転送前バッファリングを行わないようにしてもよい。【０１７１】
一方、ＨＡ８０は、ＨＡ６０から転送されてきたＨｏＡ２あてのパケットを代理受信する。代理受信されたパケットは、ＨＡ８０によって転送されるが、転送先としてＣｏＡ１が依然として使用できない場合には、ＨｏＡ１が転送先として選択される。このときＨｏＡ１には転送前バッファリング要求が付加されているので、ＨＡ８０は、パケットをすぐにＨｏＡ１へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ１あてに転送を開始する。この動作の結果、パケットは、各ＨＡ６０、８０でバッファリングを繰り返しながら複数のＨＡ間で転送され続けることになる。なお、３つ以上のＨＡを用いてもよく、その場合、転送前バッファリングが、利用できる複数のＨＡによって連鎖的に順次起こるように、転送前バッファリング要求を付加したそれぞれのホームアドレスをケアオブアドレスとして登録をすることによって、利用できるＨＡの数だけバッファ量を増やすことが可能となるため、よりパケットロスを軽減することが可能となる。【０１７２】
以上、説明したように、本発明の第３の実施の形態によれば、上述の本発明の第１及び第２の実施の形態を組み合わせて利用することが可能である。また、例えば、転送バッファリング要求で特定のケアオブアドレスが指定されている場合であっても、バッファリング要求の対象のパケット（例えば、特定のフローに係るパケット）に対してのみ転送前バッファリング処理が行われるようにするなど、バッファリング要求情報と転送前バッファリング要求情報との組み合わせに応じて、バッファリングの態様を定めるルールを様々に設定することが可能である。【０１７３】
なお、図１３に示すように、ＭＮ１０が、ネットワークベースのモビリティプロトコルが提供されているローカルネットワーク５１５に接続している際には、ＭＮ１０の移動に係る制御を代理で行う代理ノード５１８（Proxy Mobile Agent）が、本発明の第３の実施の形態におけるＭＮ１０が保持する機能を有していてもよい。この場合、代理ノード５１８は、独自の判断で選択的バッファリング及び転送前バッファリングするべきパケットの対象を判断してもよいし、ＭＮ１０から指示を受けてもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、選択的バッファリング及び転送前バッファリング要求情報の通知をしないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、選択的バッファリング及び転送前バッファリング要求情報の通知を行うことを選択するようにしてもよい。代理ノード５１８は、決定したバッファリング要求及び転送前バッファリング要求情報を、ＭＮ１０を管理しているＨＡ６０へ通知する。【０１７４】
また、代理ノード５１８が、本発明の第３の実施の形態におけるＨＡが保持する機能を有していてもよい。この場合、ＭＮ１０は、フロー情報にバッファリング要求情報及び転送前バッファリング要求情報を付加して代理ノードへ通知する。この通知を受けた代理ノード５１８は、ＨＡ６０から転送されたＭＮ１０のホームアドレス（ＨｏＡ１）あてのパケットが、バッファリング要求情報が付加されたフローに一致した場合には、バッファリングを行い、さらにＭＮ１０の接続の不安定性などにより再送が必要であると判断した場合には、バッファリングしているパケットを用いて再送を行う。また、転送前バッファリング要求情報が付加されたフローに一致した場合には、パケットをすぐにＭＮ１０へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＭＮ１０へ転送を開始する。また、代理ノード５１８は、独自の判断で選択的バッファリング及び転送前バッファリングするべきパケットの対象を判断してもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、選択的バッファリング及び転送前バッファリング行わないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、選択的バッファリング及び転送前バッファリングを行うことを選択するようにしてもよい。【０１７５】
なお、本明細書では、本発明の第１〜第３の実施の形態に係る技術を独立して説明しているが、本発明の第１〜第３の実施の形態に係る技術を任意に組み合わせて、本発明を実現することも可能である。【０１７６】
また、上述の本発明の各実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０１７７】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。【０１７８】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０１７９】
本発明は、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮにとって有効なパケットに関する再送制御ができるようになるという効果を有しており、パケット転送技術及びアドレス管理技術に適用可能であり、特にモバイルＩＰｖ６におけるパケット転送技術及びアドレス管理技術に適用可能である。
【図１】
2007119406.tif 000003
【図２】
2007119406.tif 000004
【図３】
2007119406.tif 000005
【図４】
2007119406.tif 000006
【図５】
2007119406.tif 000007
【図６】
2007119406.tif 000008
【図７】
2007119406.tif 000009
【図８】
2007119406.tif 000010
【図９】
2007119406.tif 000011
【図１０】
2007119406.tif 000012
【図１１】
2007119406.tif 000013
【図１２】
2007119406.tif 000014
【図１３】
2007119406.tif 000015
【手続補正書】
【提出日】平成20年8月19日(2008.8.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のネットワークに属するホームエージェントにおけるパケット転送の制御を行うパケット転送制御装置であって、
前記所定のネットワークからホームアドレスが割り当てられているモバイルノードのアドレス管理を行い、前記ホームアドレスとそのケアオブアドレスとが関連付けられているバインディング情報を保持するバインディング情報管理手段と、
前記ホームアドレスあての第１パケットを代理受信し、前記ケアオブアドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって第２パケットを生成して転送を行うパケット転送手段と、
前記パケット転送手段により行われるパケットの転送において、所定の条件を満たす転送パケットのバッファリングの要求を前記モバイルノードから受信するバッファリング要求受信手段と、
前記バッファリング要求受信手段で前記所定の条件を満たす前記転送パケットのバッファリングの要求を受けた場合、前記所定の条件を満たす前記転送パケットのバッファリングを行うバッファリング手段とを、
有するパケット転送制御装置。
【請求項２】
前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである請求項１に記載のパケット転送制御装置。
【請求項３】
前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を受けるように構成されている請求項１に記載のパケット転送制御装置。
【請求項４】
前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を受けるように構成されている請求項１に記載のパケット転送制御装置。
【請求項５】
前記ケアオブアドレスが、前記モバイルノードが前記所定のネットワークから割り当てられているホームアドレスである請求項１に記載のパケット転送制御装置。
【請求項６】
第１ネットワークから割り当てられている第１アドレスに加えて、前記第１ネットワークとは異なる第２ネットワークから割り当てられている第２アドレスを有するモバイルノードであって、
前記第１アドレスをホームアドレスとし、前記第１アドレスのケアオブアドレスとして前記第２アドレスを関連付けるアドレス関連付け手段と、
前記アドレス関連付け手段で関連付けられた前記第１アドレスと前記第２アドレスのバインディング情報を前記第１ネットワークのホームエージェントに登録するバインディング情報登録手段と、
前記第１アドレスあての第１パケットを代理受信し、前記第２アドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって生成された第２パケットを転送する前記第１ネットワークの前記ホームエージェントに対して、所定の条件を満たす転送パケットのバッファリングを要求するバッファリング要求手段とを、
有するモバイルノード。
【請求項７】
前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである請求項６に記載のモバイルノード。
【請求項８】
前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を行うように構成されている請求項６に記載のモバイルノード。
【請求項９】
前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を行うように構成されている請求項６に記載のモバイルノード。
【請求項１０】
前記第２アドレスが、前記第２ネットワークから割り当てられているホームアドレスである請求項６に記載のモバイルノード。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol：インターネットプロトコル）を利用した通信を管理する通信管理方法に関し、特に、ＩＰパケットのバッファリング制御及び再送制御を行う通信管理方法に関する。
【背景技術】
【０００２】
従来、ネットワークを利用した通信には、障害を引き起こす様々な原因が存在している。特に、端末（無線通信端末）が無線通信を用いてインターネットへ接続している場合、電波状況の変化などによってパケットロスや遅延などの問題が引き起こされる場合がある。
【０００３】
このような問題に対し、下記の非特許文献１には、送信元ノードのＴＣＰ（Transmission Control Protocol）レイヤは、送信したデータパケットに対する通信相手からのＡＣＫ（acknowledgment）が一定時間経過しても返ってこない場合に、パケットの再送を行う旨が規定されている。また、伝送経路上のルータにおいて、何らかの原因であて先への転送がこれ以上できないという状況に返されるＩＣＭＰ（Internet Control Message Protocol）のDestination Unreachable Message（あて先到達不可能通知）を受信した場合などにおいても同様に、送信元ノードのＴＣＰレイヤはパケットの再送を行う場合がある。
【０００４】
しかしながら、上記の２つの方法は、いずれもエンド−エンド（End-End）の再送制御であり、パケットロスは改善されるものの、パケットの受信ノードから最も遠い場所に位置する送信元ノードが再送を行うことに伴って、再送遅延（再送制御における遅延）が発生してしまう可能性がある。このようなエンド−エンドの再送制御に伴って発生する再送遅延を改善するための方法として、例えば下記の非特許文献２には、転送経路上に存在するルータが再送制御を行う方法が提案されている。
【０００５】
非特許文献２で提案されている方法によれば、従来の送信ノードが行うような再送制御機能をネットワーク上のルータに持たせ、このルータがパケット再送の要否を検出し、パケットを再送する必要を検出した場合に、バッファしていたパケットの転送（再送）が行われる。この方法を用いることによって、再送を必要とする問題が生じた場合、非特許文献１に開示されているように送信元ノードが再送をするのではなく、問題が発生した箇所から比較的近いところに存在するルータ（パケットの中継地点）がパケットの再送を行うことで、送信元ノードがパケットの再送を行う場合よりも再送遅延を低減させることが可能となる。
【０００６】
しかしながら、単一のルータが再送のためにバッファリングできる容量は限られているため、バッファリングを行うルータのバッファ容量がバッファすべきパケット量に対して小さい場合には、ルータはバッファが必要となるすべてのパケットをバッファすることができず、結果的に、パケットのロスが生じてしまうことになる。このような場合の改善方法としては、バッファがフル（Full）になった時点で、あふれたパケットを別のバッファ可能なルータへ転送するという方法が考えられる。この方法を用いることで、バッファ容量を事実上増やすことが可能となり、単一のルータのバッファ容量が限られている場合であっても、非特許文献２で提案されている方法による再送遅延やパケットロスの低減を実現することが可能となる。
【０００７】
次に、モバイルＩＰｖ６（Mobile IPv6）を利用したＭＮ（Mobile Node：モバイルノード）とＣＮ（Correspondent Node：コレスポンデントノード）との間の通信に対して、上記のＴＣＰによる再送制御を適用した場合について説明する。ＭＮが移動先（ＭＮが外部ネットワークに接続されている状態）からＨＡ（Home Agent：ホームエージェント）経由でＣＮと通信を行っている場合、その通信経路は、パケットがカプセル化されていない状態のＣＮ−ＨＡ間の経路と、パケットがカプセル化されている状態のＨＡ−ＭＮ間の経路とに分けて考えることが可能である。
【０００８】
ＣＮがＭＮのＨｏＡ（Home Address：ホームアドレス）しか知らない場合には、ＭＮに対して送信するパケットのあて先アドレスにＭＮのＨｏＡを設定して送信する。ＣＮから送信されたパケットはＭＮのホームネットワークまで転送され、ＭＮのホームネットワーク上のＨＡによって代理受信（intercept）された後、ＭＮのＣｏＡあてにカプセル化されて転送される。このように、ＣＮ−ＨＡ間を流れるパケットはＣＮが送信したままのパケットであるが、ＨＡ−ＭＮ間を流れるパケットは、ＨＡによってカプセル化されたパケットとなる。
【０００９】
ここで、仮にＣＮ−ＨＡ間のルータが、何らかの原因によってＣＮが送信したパケットをこれ以上転送できないと判断したとする。この場合には、通常のルータの処理によってDestination Unreachable Messageが送信元であるＣＮに返されるため、ＣＮのＴＣＰレイヤは再送制御を行うことが可能となる。
【００１０】
一方、ＨＡ−ＭＮ間のルータが、何らかの原因によってＣＮが送信したパケットを転送できないと判断したとする。この場合には、転送パケットの送信元アドレスはＨＡのアドレスであるため、Destination Unreachable MessageはＨＡに対して送信される。モバイルＩＰｖ６では、ＨＡが、ＭＮに送信したカプセル化パケットに対するDestination Unreachable Messageを受信した場合、そのパケットを元のパケットの送信元であるＣＮに中継しなければならない。これにより、ＣＮに対してパケット不達の通知が届けられ、ＨＡ−ＭＮ間で発生した障害に対しても、ＣＮのＴＣＰレイヤが再送制御を行うことが可能となるが、モバイルＩＰｖ６を利用した通信においても、ＴＣＰによる再送はエンドーエンドで行われるため、再送遅延が生じる問題に変わりはない。
【００１１】
さらに、上述の転送経路上のルータによる再送制御方法（非特許文献２に開示されている再送制御方法）を、モバイルＩＰｖ６を利用したＭＮとＣＮとの間の通信に適用することも可能である。この場合、ＣＮ−ＨＡ間の経路上で問題が発生した場合には、上記と同様の効果があると言える。しかしながら、ＭＮが移動した場合には、ＭＮのケアオブアドレス（ＣｏＡ：Care-of address）も変更されてしまい、その結果、ＭＮの移動前のケアオブアドレスあてのパケットは、再送されても目的とするＭＮに到達することはできない。再送制御機能を持つルータは、ＭＮの移動に伴うアドレスの変化に対応できないため、ＭＮが移動した場合には、ＨＡ−ＭＮ間の経路上で発生した問題に対してはあまり効果がない。すなわち、パケットのあて先であるケアオブアドレスを使用するＭＮが移動してしまい、既にそのネットワーク上に存在しないことに起因してDestination Unreachable Messageが発生した場合には、非特許文献２に開示されている再送制御方法がＨＡ−ＭＮ間のルータによって実行されたとしても、再送されたパケットはＭＮに到達することは不可能である。
【非特許文献１】J. Postel, "Transmission Control Protocol", RFC793, September 1981.
【非特許文献２】下國  治、古賀久志、陣崎  明  “広域並列分散システムのための信頼できるマルチキャスト”  情報処理学会研究報告、計算機アーキテクチャ研究会報告、第２０００巻、第２３号、５３〜５８ページ、２０００年３月２日
【発明の開示】
【発明が解決しようとする課題】
【００１２】
モバイルＩＰｖ６を利用したＭＮとＣＮとの間の通信において、その経路上に位置するＨＡに、上述の非特許文献２に開示されている再送制御の機能を実装させることも可能である。この場合、ＨＡは、ＭＮの移動を管理しているため、転送したパケットがＭＮに到達しなかった場合には、ＭＮの移動に追従してパケットの再送を行うことが可能である。しかしながら、ＨＡによる再送制御が、ＭＮにとってすべて好ましいものであるとは限らない。すなわち、ＨＡが、ＭＮあてのすべてのパケットに対して同一の再送制御を行った場合には、例えば、パケットロスや遅延の影響を受けるのが望ましくないパケット（再送制御が有効なパケット）に加えて、パケットロスや遅延の影響を受けても構わないパケット（再送制御が特に有効ではないパケット）のバッファリングや再送制御まで行われてしまうことになる。その結果、パケットロスや遅延の影響を受けても構わないパケットに対する処理やリソース消費によって、パケットロスや遅延の影響を受けるのが望ましくないパケットに関してパケットロスや遅延が発生してしまう可能性があるという問題がある。
【００１３】
また、ＨＡは、ＭＮのバインディングキャッシュを保持している。しかしながら、例えばＭＮの接続が一時的に切断してしまい、ＨＡがＭＮからライフタイム（Lifetime）を更新するバインディングアップデートを一定時間経過しても受信しなかった場合には、ＨＡは、そのＭＮに係るエントリをバインディングキャッシュから削除してしまう。この場合、ＨＡは、そのＭＮのホームアドレスあてのパケットの代理受信を中止してしまうため、ＣＮが送信したホームアドレスあてのパケットはＭＮに届かなくなってしまう。一方、このＭＮの接続の切断が一時的なものである場合には、ＨＡは、ＭＮからバインディングアップデートを受信してバインディングキャッシュにＭＮに係るエントリを再登録することになるが、ＭＮの一時的な接続の中断の間にＣＮから送信されたパケットはＭＮに到達せずにすべて破棄されてしまうことになる。その結果、ＣＮがパケットの再送を行う必要が生じ、パケットロスや遅延が発生してしまうことになるという問題がある。
【００１４】
また、ＭＮが複数のＨＡを利用でき、それぞれのＨＡからホームアドレスが割り当てられている場合、あるホームアドレスを別のホームアドレスに対するケアオブアドレスとして関連付けることで、常に有効なアドレスをケアオブアドレスとして登録し続けることが可能である。あるＭＮがこのような登録を行った場合、ＨＡは、ＣＮからＭＮへのパケットを転送する際に、ケアオブアドレスとして登録されているホームアドレスを用いてパケットのカプセル化を行い、そのカプセル化されたパケットがＨＡから送信されることになる。
【００１５】
しかしながら、ＭＮが、接続の切断などによって、有効なケアオブアドレスを失った場合、すなわち、あるＨＡに対して、そのＨＡが送信する転送パケットを自身まで到達させることが可能な転送先アドレスを登録できない場合は、別のＨＡに対しても同様に、自身まで到達可能な転送先アドレスを登録できないと言える。そのため、あるＨＡによってＨｏＡあてにカプセル化されて転送されたパケットは、その転送パケットを代理受信する別のＨＡによってＭＮへの転送先がないパケットとして再び処理されるため、ホームアドレスを単にケアオブアドレスとして登録しただけでは、ＭＮにとって有効な登録とはならないという問題がある。
【００１６】
上記の問題点に鑑み、本発明は、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮにとって有効なパケットに関する再送制御を可能とするパケット転送制御装置及びモバイルノードを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記の目的を達成するため、本発明のパケット転送制御装置は、所定のネットワークに属するホームエージェントにおけるパケット転送の制御を行うパケット転送制御装置であって、
前記所定のネットワークからホームアドレスが割り当てられているモバイルノードのアドレス管理を行い、前記ホームアドレスとそのケアオブアドレスとが関連付けられているバインディング情報を保持するバインディング情報管理手段と、
前記ホームアドレスあての第１パケットを代理受信し、前記ケアオブアドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって第２パケットを生成して転送を行うパケット転送手段と、
前記パケット転送手段により行われるパケットの転送において、所定の条件を満たす転送パケットのバッファリングの要求を前記モバイルノードから受信するバッファリング要求受信手段と、
前記バッファリング要求受信手段で前記所定の条件を満たす前記転送パケットのバッファリングの要求を受けた場合、前記所定の条件を満たす前記転送パケットのバッファリングを行うバッファリング手段とを、
有する。
上記の構成により、ＣＮ（通信相手ノード）からＨＡ（ホームエージェント）を経由してＭＮ（モバイルノード）に送信されるパケットに関して、ＭＮは、自身にとって有効なパケットを選択し、ホームエージェントにおいて、選択されたパケットの再送制御が行われるようにすることが可能となる。
【００１８】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである。
上記の構成により、ＭＮは、所定のケアオブアドレスあてに転送されるパケット、所定のフロー情報を有するパケット、所定の通信相手ノードから送信されたパケットを適宜選択して、ホームエージェントにおいて、選択されたパケットの再送制御を行わせることが可能となる。
【００１９】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を受けるように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送と同時に転送パケットのバッファリングを行い、転送パケットがモバイルノードに到達不能である場合には、バッファリングされている転送パケットの再送を行うことが可能となる。
【００２０】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記バッファリング要求受信手段が、前記モバイルノードから、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を受けるように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送前に一時的に転送パケットのバッファリングを行った後にパケット転送を行うことで、モバイルノードへのパケットの転送を意図的に遅延させ、例えばモバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【００２１】
さらに、本発明のパケット転送制御装置は、上記の構成に加えて、前記ケアオブアドレスが、前記モバイルノードが前記所定のネットワークから割り当てられているホームアドレスである。
上記の構成により、複数のホームエージェント間におけるパケット転送によって、ネットワーク側におけるパケットのバッファリングが行われるようにすることで、モバイルノードへのパケットの転送を意図的に遅延させ、例えばモバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【００２２】
また、上記の目的を達成するため、本発明のモバイルノードは、第１ネットワークから割り当てられている第１アドレスに加えて、前記第１ネットワークとは異なる第２ネットワークから割り当てられている第２アドレスを有するモバイルノードであって、
前記第１アドレスをホームアドレスとし、前記第１アドレスのケアオブアドレスとして前記第２アドレスを関連付けるアドレス関連付け手段と、
前記アドレス関連付け手段で関連付けられた前記第１アドレスと前記第２アドレスのバインディング情報を前記第１ネットワークのホームエージェントに登録するバインディング情報登録手段と、
前記第１アドレスあての第１パケットを代理受信し、前記第２アドレスあてのヘッダを用いて前記第１パケットをカプセル化することによって生成された第２パケットを転送する前記第１ネットワークの前記ホームエージェントに対して、所定の条件を満たす転送パケットのバッファリングを要求するバッファリング要求手段とを、
有する。
上記の構成により、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮは、自身にとって有効なパケットを選択し、ホームエージェントにおいて、選択されたパケットの再送制御を行わせることが可能となる。
【００２３】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記所定の条件が、前記転送パケットのあて先が所定のケアオブアドレスであること、前記転送パケットが所定のフロー情報を有すること、前記転送パケットが所定の通信相手ノードから送信されたパケットであることの少なくとも１つである。
上記の構成により、ＭＮは、所定のケアオブアドレスあてに転送されるパケット、所定のフロー情報を有するパケット、所定の通信相手ノードから送信されたパケットを適宜選択して、ホームエージェントにおいて、選択されたパケットの再送制御を行わせることが可能となる。
【００２４】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送と同時に前記転送パケットをバッファリングする要求を行うように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送と同時に転送パケットのバッファリングを行い、転送パケットがモバイルノードに到達不能である場合には、バッファリングされている転送パケットの再送を行うことが可能となる。
【００２５】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記バッファリング要求手段が、前記ホームエージェントに対して、前記転送パケットの転送が行われる前に一時的にバッファリングする要求を行うように構成されている。
上記の構成により、ホームエージェントは、転送パケットの転送前に一時的に転送パケットのバッファリングを行った後にパケット転送を行うことで、パケットの転送を意図的に遅延させ、モバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【００２６】
さらに、本発明のモバイルノードは、上記の構成に加えて、前記第２アドレスが、前記第２ネットワークから割り当てられているホームアドレスである。
上記の構成により、複数のホームエージェント間におけるパケット転送によって、ネットワーク側におけるパケットのバッファリングが行われるようにすることで、モバイルノードへのパケットの転送を意図的に遅延させ、例えばモバイルノードが一時的に到達不能な状態にあっても、モバイルノードが到達可能状態に戻る時間までパケットをバッファリングできるようにすることで、パケットロスを抑制することが可能となる。
【発明の効果】
【００２７】
本発明は、上記の構成を有しており、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮにとって有効なパケットに関する再送制御ができるようになるという効果を有している。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照しながら、本発明の第１〜第３の実施の形態について説明する。
【００２９】
＜第１の実施の形態＞
まず、本発明の第１の実施の形態について説明する。図１には、本発明の第１の実施の形態におけるネットワーク構成の一例が図示されている。図１において、ＭＮ１０は、自身のホームエージェントとしてホームネットワーク５０に存在するＨＡ６０を利用することが可能である。ＭＮ１０には、ホームネットワーク５０からホームアドレス（ＨｏＡ１）が割り当てられており、このＨｏＡ１はＨＡ６０で管理されている。なお、図１では、ＭＮ１０が、インタフェース（ＩＦ）２０を用いて外部ネットワーク３０に接続しており、外部ネットワーク３０からＣｏＡ１が割り当てられている一方、ＣＮ４０との通信に関しては、ＨｏＡ１を用いてＨＡ６０を経由した通信を行っているものとする。
【００３０】
次に、本発明の第１の実施の形態におけるＭＮ１０の構成について説明する。図２には、本発明の第１の実施の形態におけるＭＮ１０の構成の一例が図示されている。図２において、ＭＮ１０は、送受信部１０１、バインディング情報通知メッセージ生成部１０２、バインディング情報管理部１０３、バッファリング要求判断部１０４、フロー情報通知メッセージ生成部１０５、フロー情報管理部１０６を有している。なお、ＭＮ１０は、例えばＣＮ４０との間で送受信するデータパケットを処理するためのデータパケット処理部やその他の様々な機能も有しているが、図２では図示省略する。
【００３１】
送受信部１０１は、ＭＮ１０が接続するネットワーク（例えば図１の外部ネットワーク３０）内の任意の通信ノードや、ＭＮ１０のホームネットワーク５０内の任意の通信ノード（例えば図１のＨＡ６０）、さらには、その他の任意のネットワークに存在する任意の通信ノード（例えば図１のＣＮ４０）との通信を行うためのパケット送受信機能を有している。なお、送受信部１０１には、例えば図１に図示されている無線接続のインタフェース２０の機能も包含される。
【００３２】
また、バインディング情報通知メッセージ生成部１０２は、バインディング情報管理部１０３から通知されたバインディング情報を含むバインディング情報通知メッセージを生成するための機能を有している。バインディング情報通知メッセージ生成部１０２で生成されたバインディング情報通知メッセージは、ＨＡ６０に対して、そのバインディング情報によって特定されるケアオブアドレスあてのパケットをバッファリングするよう要求するためのメッセージであり、送受信部１０１を通じてＭＮ１０のＨＡ６０に送信される。
【００３３】
また、バインディング情報管理部１０３は、ＨＡ６０によって管理されているＨｏＡ１に対して関連付けられているケアオブアドレスを管理するための機能を有している。なお、バインディング情報管理部１０３では、ＨＡ６０によって管理されているＨｏＡ１と、そのＨｏＡ１に対して関連付けられているケアオブアドレスとのセットが、バインディング情報として管理されている。
【００３４】
また、バインディング情報管理部１０３は、ＨＡ６０に対してバインディング情報の通知が必要なときに、バインディング情報通知メッセージ生成部１０２に対して、通知すべきバインディング情報や、そのバインディング情報に付加されている情報（例えば、下記のバッファリング要求情報）を渡して、バインディング情報通知メッセージを生成するよう指示する機能を有している。さらに、バインディング情報管理部１０３は、バッファリング要求判断部１０４から、特定のケアオブアドレスに対してバッファリング要求を付加するよう指示された場合、そのケアオブアドレスに対してバッファリング要求情報を付加して管理する機能を有している。
【００３５】
また、バッファリング要求判断部１０４は、特定のケアオブアドレスや特定のフローに対してバッファリングを要求するか否かを判断する機能を有している。バッファリング要求判断部１０４は、特定のケアオブアドレスに対してバッファリングを要求する旨を決定した場合には、バインディング情報管理部１０３に対して、対象となるケアオブアドレスに対してバッファリング要求を付加するよう指示する機能を有しており、また、特定のフロー（データトラフィックフロー）に対してバッファリングを要求する旨を決定した場合には、フロー情報通知メッセージ生成部１０５に対して、対象となるフローを特定する識別子を供給し、そのフローに対してバッファリング要求を行うフロー情報通知メッセージを生成するよう指示する機能を有している。
【００３６】
例えば、使用しているインタフェース２０の無線接続が不安定であり、断続的に切断してしまうような状況では、バッファリング要求判断部１０４は、インタフェース２０に割り当てられているケアオブアドレスに対してバッファリング要求を付加するように決定することが可能である。これにより、特定のケアオブアドレスに対して転送されるパケットを選択的にＨＡ６０にバッファリングさせることが可能となり、無線接続の断続的な切断によるパケットロスを最小限に防ぐことが可能となる。
【００３７】
また、バッファリング要求判断部１０４は、パケットロスに対してセンシティブ（sensitive：敏感）であるフローに対してバッファリング要求を付加するように決定することが可能である。なお、こうしたパケットロスに対してセンシティブなフローは、例えばフロー情報管理部１０６からの通知によって把握可能である。これにより、パケットロスに対してセンシティブなフローと、パケットロスよりも伝送遅延やジッタに対してセンシティブなフローとを区別し、パケットロスに対してセンシティブなフローに係るパケットを選択的にＨＡ６０にバッファリングさせることが可能となる。
【００３８】
また、フロー情報通知メッセージ生成部１０５は、バッファリング要求判断部１０４から、特定のフロー識別子と共に、その特定のフローに対してバッファリング要求を行うよう指示を受けたときに、特定のフロー識別子を含むフロー情報通知メッセージを生成する機能を有している。フロー情報通知メッセージ生成部１０５で生成されたフロー情報通知メッセージは、ＨＡ６０に対して、そのフロー識別子によって特定されるフローに係るパケットをバッファリングするよう要求するためのメッセージであり、送受信部１０１を通じてＭＮ１０のＨＡ６０に送信される。
【００３９】
また、フロー情報管理部１０６は、パケットのフローを管理する機能を有しており、フロー情報（フロー識別子）の管理や、各フローの特性（例えばパケットロスに対してセンシティブか否か）の管理を行うことが可能である。また、フロー情報管理部１０６、特にパケットロスに対してセンシティブなフローに係るフロー情報を、バッファリング要求判断部１０４に通知することが可能である。
【００４０】
なお、図２では、ＭＮ１０は、バインディング情報通知メッセージ及びフロー情報通知メッセージの両方をＨＡ６０に対して送信することが可能なように構成されているが、どちらか一方の通知メッセージのみを送信することが可能なように構成されていてもよい。すなわち、ＭＮ１０は、バインディング情報通知メッセージによってバッファリング要求を付加する対象のケアオブアドレスを通知するだけでもよく、フロー情報通知メッセージによってバッファリング要求を付加する対象のフローを通知するだけでもよく、あるいは、両方のメッセージを用いて、バッファリング要求を付加する対象のケアオブアドレス及びフローの両方を通知してもよい。
【００４１】
また、図２のＭＮ１０の構成では、バッファリング要求を付加する対象がケアオブアドレスの場合にはバインディング通知メッセージが用いられ、バッファリング要求を付加する対象がフローの場合にはフロー情報通知メッセージが用いられるが、例えばフローに対するバッファリング要求を通知するメッセージとして、バインディング情報通知メッセージが用いられてもよい。この場合、例えば、フローに対するバッファリング要求情報を、バインディング情報通知メッセージのオプションとして付加することが可能である。また、ケアオブアドレスに対するバッファリング要求を通知するメッセージとして、フロー情報通知メッセージが用いられてもよい。
【００４２】
以上、図２を参照しながら説明したように、本発明の第１の実施の形態におけるＭＮ１０は、自身のＨＡ６０に対して、特定のケアオブアドレスあてのパケットや、特定のフローに係るパケットのバッファリングを選択的に行うよう要求することが可能である。なお、特定のケアオブアドレスあてのパケットや特定のフローに係るパケット以外に、例えば、特定の通信相手から送られてきたパケットのバッファリングを選択的に行うように要求してもよい。この場合には、ＭＮ１０はＨＡ６０に対して、バッファリング要求の対象として、例えば通信相手のアドレスの通知を行えばよい。
【００４３】
また、図３には、本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバインディング情報通知メッセージの一例が図示されている。なお、図３には、バインディングアップデートメッセージを利用して、特定のケアオブアドレス（ＨｏＡ１と関連付けられているＣｏＡ１）に対してバッファリングを要求する場合のバインディング情報通知メッセージの構成例が図示されている。
【００４４】
図３に図示されているＩＰｖ６ヘッダ（ＨＡ６０をあて先アドレスに設定）、ホームアドレスオプション、モビリティヘッダ（バインディングアップデート）は、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの構成と基本的に同一である。本発明の第１の実施の形態では、図３に図示されているように、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの代替用ＣｏＡオプション（alternate CoA option）の中に、更にバッファリング要求情報と、バッファリングの対象として指定されるケアオブアドレスとが付加される。なお、バッファリング要求情報は、代替用ＣｏＡオプションに含まれているケアオブアドレス（図３の例ではＣｏＡ１）をあて先アドレスとするパケットのバッファリング要求を示す情報であり、例えばフラグなどの任意の形式で実現可能である。
【００４５】
また、図４には、本発明の第１の実施の形態におけるＭＮ１０が生成、送信するフロー情報通知メッセージの一例が図示されている。なお、図４には、フロー制御メッセージを利用して、特定のフロー識別子に対してバッファリングを要求する場合のフロー情報通知メッセージの構成例が図示されている。
【００４６】
図４では、ＩＰｖ６ヘッダ（ＨＡ６０をあて先アドレスに設定）を有するフロー制御メッセージに、バッファリング要求の対象となるフローを特定するフロー識別子と、任意の形式によって表されるバッファリング要求情報（上記のフロー識別子に係るパケットのバッファリング要求を示す情報）とを有するフロー制御情報が挿入されることによって、フロー情報通知メッセージが実現されている。なお、フロー情報通知メッセージは、モバイルＩＰｖ６で定義されているモビリティヘッダに、上記のフロー識別子及びバッファリング要求情報が挿入されることによって実現されてもよい。
【００４７】
また、図５には、本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバッファリング要求メッセージの一例が図示されている。上述のバインディング情報通知メッセージ（例えば、図３に図示されている構成）やフロー情報通知メッセージ（例えば、図４に図示されている構成）の代わりに、特定のケアオブアドレスや特定のフローに対するバッファリング要求を通知するメッセージとして、図５に図示されているように、バッファリング要求の対象となるケアオブアドレスやフローを含む専用のバッファリング要求メッセージが用いられてもよい。なお、図５に図示されているバッファリング要求メッセージは、このメッセージ自体がパケットのバッファリング要求を示すバッファリング要求情報であると言える。
【００４８】
次に、本発明の第１の実施の形態におけるＨＡ６０の構成について説明する。図６には、本発明の第１の実施の形態におけるＨＡ６０の構成の一例が図示されている。図６において、ＨＡ６０は、送受信部６０１、バインディング情報通知メッセージ処理部６０２、フロー情報通知メッセージ生成部６０３、フロー情報保持部６０４、バインディング情報保持部６０５、代理受信パケットバッファリング部６０６、再送・転送先切替指示部６０７、転送先選択部６０８、代理受信パケット転送処理部６０９を有している。なお、ＨＡ６０は、その他の様々な機能も有しているが、図６では図示省略する。
【００４９】
送受信部６０１は、ＨＡ６０が接続するネットワーク（例えば図１のホームネットワーク５０）内の任意の通信ノードや、外部ネットワーク３０に接続しているＭＮ１０（ＨＡ６０が存在するホームネットワーク５０に属するＭＮ１０）、その他の任意のネットワークに接続している任意の通信ノードとの通信を行うためのパケット送受信機能を有している。
【００５０】
また、バインディング情報通知メッセージ処理部６０２は、ＭＮ１０で生成、送信されたバインディング情報通知メッセージを送受信部６０１で受信した場合に、このバインディング情報通知メッセージに関する処理を行い、バインディング情報通知メッセージに含まれるＭＮ１０のバインディング情報を取得して、このバインディング情報をバインディング情報保持部６０５に保持させる機能を有している。なお、バインディング情報に関連してバッファリング要求情報が付加されている場合には、バインディング情報と共にバッファリング要求情報をバインディング情報保持部６０５に保持させる。
【００５１】
また、フロー情報通知メッセージ処理部６０３は、ＭＮ１０で生成、送信されたフロー情報通知メッセージを送受信部６０１で受信した場合に、このフロー情報通知メッセージに関する処理を行い、フロー情報通知メッセージに含まれるＭＮ１０のフロー識別子を取得して、このフロー識別子をフロー情報保持部６０４に保持させる機能を有している。なお、フロー識別子に関連してバッファリング要求情報が付加されている場合には、フロー識別子と共にバッファリング要求情報をフロー情報保持部６０４に保持させる。
【００５２】
また、フロー情報保持部６０４は、フロー情報通知メッセージ処理部６０３におけるフロー情報通知メッセージの処理によって抽出されたフロー識別子（パケットのバッファリング要求の対象となるフロー識別子）を保持する機能を有している。なお、フロー情報保持部６０４では、バッファリング要求情報が付加されているフロー情報、及びバッファリング要求情報が付加されていないフロー情報が保持される。
【００５３】
また、バインディング情報保持部６０５は、バインディング情報通知メッセージ処理部６０２におけるバインディング情報通知メッセージの処理によって抽出されたバインディング情報（ＭＮ１０のホームアドレスと、パケットのバッファリング要求の対象となるケアオブアドレスとが関連付けられたバインディング情報）を保持する機能を有している。なお、バインディング情報保持部６０５では、特定のケアオブアドレスに対して転送されるパケットのバッファリング要求が含まれているバインディング情報のほかに、バッファリング要求が含まれていない通常のバインディング情報も保持される。
【００５４】
また、代理受信パケットバッファリング部６０６は、フロー情報保持部６０４に保持されているフロー識別子をチェックし、フロー情報にバッファリング要求情報が付加されている場合には、そのフロー識別子に対応するフローに係るパケットのバッファリングを行う機能を有している。また、代理受信パケットバッファリング部６０６は、バインディング情報保持部６０５に保持されているバインディング情報をチェックし、バインディング情報にバッファリング要求が付加されている場合には、そのバインディング情報に対応するパケット（すなわち、バインディング情報に含まれるケアオブアドレスに転送すべきパケット）のバッファリングを行う機能を有している。すなわち、代理受信パケットバッファリング部６０６では、ＭＮ１０からバッファリング要求を受けたバッファリング対象のパケットのみがバッファリングされる。
【００５５】
また、再送・転送先切替指示部６０７は、ＭＮ１０へ転送したパケットが、ＭＮ１０に届かなかったことを検出したとき（例えば、ＭＮ１０に転送したパケットに関するDestination Unreachable Messageを受信したとき）や転送経路上の輻輳を検出したときなどに、パケットの再送を行うべきか、あるいは使用中の転送先アドレスを別のアドレスへ切り替えるべきかを判断する機能を有している。再送が必要であると判断した場合には、再送・転送先切替指示部６０７は、代理受信パケット転送処理部６０９へパケットの再送を行うよう指示する。
【００５６】
一方、再送・転送先切替指示部６０７は、転送先アドレスを現在設定されているアドレスから別のアドレスに切り替えることが必要であると判断した場合には、転送先選択部６０８へ別の転送先アドレスを選択するよう指示を行う。このとき、再送・転送先切替指示部６０７は、転送先の切り替えを指示する際に、切り替え前のアドレスあてへの送信が失敗したパケットに関して、転送先選択部６０８に対して転送先アドレスを別のアドレスへ切り替えるよう指示するとともに、代理受信パケット転送処理部６０９に対して、新たに選択された転送先アドレスあてにパケットの再送を行うよう指示する。
【００５７】
また、転送先選択部６０８は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、バインディング情報保持部６０５に保持されているバインディング情報の中から、転送先アドレスとして使用すべきケアオブアドレスを選択する機能を有している。また、転送先選択部６０８は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、フロー情報保持部６０４に保持されているＭＮ１０のフロー識別子、及びバインディング情報保持部６０５を参照し、特定のフローの転送先として使用すべきケアオブアドレスを選択する機能を有している。
【００５８】
また、代理受信パケット転送処理部６０９は、管理しているＭＮ１０のＨｏＡあてのパケットを代理受信し、転送先選択部６０８によって選択されたケアオブアドレスあてへカプセル化して転送する機能を有している。また、代理受信パケット転送処理部６０９は、再送・転送先切替指示部６０７から再送の指示を受けた場合、再送すべきパケットを代理受信パケットバッファリング部６０６から取得してパケットの再送を送信する機能を有している。また、転送先選択部６０８から新たな転送先アドレスが通知された場合には、代理受信パケット転送処理部６０９は、通知された転送先アドレスあてにパケットのカプセル化を行って転送する機能を有している。
【００５９】
以上、図６を参照しながら説明したように、本発明の第１の実施の形態におけるＨＡ６０は、ＭＮ１０からバッファリングを行うように要求されたパケット（特定のケアオブアドレスあてに転送すべきパケットや、特定のフローに係るパケット）のみを選択的にバッファリングし、これらのパケットの再送が必要となった場合には、バッファリングされているパケットを即座に再送することが可能である。
【００６０】
なお、図１３に示すように、ＭＮ１０が、ネットワークベースのモビリティプロトコルが提供されているローカルネットワーク５１５に接続している際には、ＭＮ１０の移動に係る制御を代理で行う代理ノード５１８（Proxy Mobile Agent）が、本発明の第１の実施の形態におけるＭＮ１０が保持する機能を有していてもよい。この場合、代理ノード５１８は、独自の判断で選択的にバッファリングするべきパケットの対象を判断してもよいし、ＭＮ１０から指示を受けてもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、バッファリング要求情報の通知をしないことを選択し、ＭＮ１０の接続が切れているときや、不安定なときなどに、バッファリング要求情報の通知を行うことを選択するようにしてもよい。代理ノード５１８は、決定したバッファリング要求情報を、ＭＮ１０を管理しているＨＡ６０へ通知する。
【００６１】
また、代理ノード５１８が、本発明の第１の実施の形態におけるＨＡ６０が保持する機能を有していてもよい。この場合、ＭＮ１０は、フロー情報に対してバッファリング要求情報を付加して代理ノード５１８へ通知する。それを受けた代理ノード５１８は、ＨＡ６０から転送されたＭＮ１０のホームアドレス（ＨｏＡ１）あてパケットが、バッファリング要求情報が付加されたフローに一致した場合には、バッファリングを行い、さらにＭＮ１０の接続の不安定性などにより再送が必要であると判断した場合には、バッファリングしているパケットを用いて再送を行う。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、バッファリングを行わないことを選択し、接続が切れているときや不安定なときなどに、バッファリングを行うことを選択するようにしてもよい。
【００６２】
次に、本発明の第１の実施の形態における具体的な動作の一例について、図１に図示されているネットワーク構成を参照しながら説明する。なお、以下では、何らかの原因でＭＮ１０と外部ネットワーク３０との接続が切断した場合を想定する。接続の切断の原因としては、例えばＭＮ１０の移動などが挙げられる。
【００６３】
（本発明の第１の実施の形態の第１動作例）
まず、本発明の第１の実施の形態における第１動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、登録するケアオブアドレスあてのパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、そのケアオブアドレス（ＣｏＡ１）に対してバッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。
【００６４】
このバインディング情報通知メッセージを受信したＨＡ６０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部６０５に格納する。また、ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信し、そのパケットをＣｏＡ１へ転送すると同時に、ＣｏＡ１に対して転送すべきパケットを代理受信パケットバッファリング部６０６にバッファする。
【００６５】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、代理受信パケットバッファリング部６０６にバッファされているＣｏＡあてのパケットを用いてパケットの再送を行う。なお、このとき、ＭＮ１０が複数のケアオブアドレスをＨＡ１０に登録している場合、ＨＡ６０は、ＭＮ１０からのバッファリング要求がないケアオブアドレスに関してはバッファリングを行っておらず、したがって、バッファリング要求がないケアオブアドレスに係るパケットは、ＨＡ６０から再送されない。
【００６６】
そして、例えばＭＮ１０と外部ネットワーク３０との切断が一時的なものであり、ＭＮ１０が外部ネットワーク３０に再接続することができた場合には、ＨＡ６０による再送制御によってＣｏＡ１あてのパケットのパケットロスを防ぐことが可能となる。なお、この再送制御では、ＨＡ６０によってパケット再送が行われるため、パケットの送信元（例えばＣＮ４０）によってパケット再送が行われた場合に比べて、ＭＮ１０は、より早期に再送されたパケットを受信することができるようになる。
【００６７】
また、ＭＮ１０が、例えば一定時間後に別のネットワークと接続して新たなケアオブアドレス（ＣｏＡ２）を取得した場合には、そのＣｏＡ２が新たな転送先としてＨＡ６０に登録された時点で、ＨＡ６０は、バッファリングしていたＣｏＡ１あてのパケットをＣｏＡ２あてに転送してもよく、これによって、パケットロスを防ぐことも可能である。
【００６８】
（本発明の第１の実施の形態の第２動作例）
次に、本発明の第１の実施の形態における第２動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、通信中の特定のフロー（フロー１）に係るパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、ＭＮ１０は、そのフロー１に対してバッファリング要求を付加したフロー情報通知メッセージをＨＡ６０に送信する。
【００６９】
このフロー情報通知メッセージを受信したＨＡ６０は、フロー情報通知メッセージ内に含まれる情報をフロー情報保持部６０４に格納する。また、ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信し、そのパケットをＣｏＡ１へ転送すると同時に、フロー１に係るパケットを代理受信パケットバッファリング部６０６にバッファする。
【００７０】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、代理受信パケットバッファリング部６０６にバッファされているフロー１に係るパケットを用いてパケットの再送を行う。なお、このときＨＡ６０は、ＭＮ１０からのバッファリング要求がないフローに関してはバッファリングを行っておらず、したがって、バッファリング要求がないフローに係るパケットは、ＨＡ６０から再送されない。
【００７１】
そして、例えばＭＮ１０と外部ネットワーク３０との切断が一時的なものであり、ＭＮ１０が外部ネットワーク３０に再接続することができた場合には、ＨＡ６０による再送制御によってフロー１に係るパケットのパケットロスを防ぐことが可能となる。なお、この再送制御では、ＨＡ６０によってパケット再送が行われるため、パケットの送信元（例えばＣＮ４０）によってパケット再送が行われた場合に比べて、ＭＮ１０は、より早期に再送されたパケットを受信することができるようになる。
【００７２】
また、ＭＮ１０が、例えば一定時間後に別のネットワークと接続して新たなケアオブアドレス（ＣｏＡ２）を取得した場合には、そのＣｏＡ２が新たな転送先としてＨＡ６０に登録された時点で、ＨＡ６０は、バッファリングしていたフロー１に係るパケットをＣｏＡ２あてに転送してもよく、これによって、パケットロスを防ぐことも可能である。
【００７３】
以上、説明したように、本発明の第１の実施の形態によれば、ＭＮはＨＡに対して、自身の特定のケアオブアドレスあてに送信されるパケットや、特定のフローに係るパケットをバッファリングするよう要求することによって、ＭＮにとって好適なパケット（例えば、パケットロスに対してセンシティブなパケット）のみをＨＡにバッファリングさせ、必要に応じてＨＡからパケット再送が行われるようにすることが可能となり、効率的な再送制御が実現されるようになる。
【００７４】
＜第２の実施の形態＞
次に、本発明の第２の実施の形態について説明する。図７には、本発明の第２の実施の形態におけるネットワーク構成の一例が図示されている。図７において、ＭＮ１０は、複数のホームネットワーク（ホームネットワーク５０、７０）のそれぞれに存在するＨＡ（ＨＡ６０、ＨＡ８０）を利用することが可能である。ＭＮ１０には、ホームネットワーク５０、７０のそれぞれからホームアドレス（ＨｏＡ１及びＨｏＡ２）が割り当てられており、これらのＨｏＡ１及びＨｏＡ２はそれぞれのＨＡ（ＨＡ６０、ＨＡ８０）で管理されている。なお、図７では、ＭＮ１０が、インタフェース（ＩＦ）２０を用いて外部ネットワーク３０に接続しており、外部ネットワーク３０からＣｏＡ１が割り当てられている一方、ＣＮ４０との通信に関しては、ＨｏＡ１を用いてＨＡ６０を経由した通信を行っているものとする。
【００７５】
なお、ＭＮ１０が利用するインタフェースの数は１つに限定されるものではなく、複数のインタフェースを利用してもよい。この場合、複数のケアオブアドレスがＨｏＡ１及びＨｏＡ２のそれぞれに対して関連付けられてもよい。また、ＭＮ１０が利用できるＨＡ（ＨＡ６０及びＨＡ８０）の数は、図７に図示されているように２つに限定されるものではなく、さらに多くのＨＡが利用されてもよい。この場合、複数のＨＡのそれぞれからホームアドレスが割り当てられている必要がある。
【００７６】
次に、本発明の第２の実施の形態におけるＭＮ１０の構成について説明する。図８には、本発明の第２の実施の形態におけるＭＮ１０の構成の一例が図示されている。図８において、ＭＮ１０は、送受信部２０１、バインディング情報通知メッセージ生成部２０２、ＨｏＡ１バインディング情報管理部２０３、ＨｏＡ２バインディング情報管理部２０４、転送前バッファリング要求判断部２０５、フロー情報通知メッセージ生成部２０６、ホームアドレス関連付け判断部２０７、フロー情報管理部２０８を有している。なお、ＭＮ１０は、例えばＣＮ４０との間で送受信するデータパケットを処理するためのデータパケット処理部やその他の様々な機能も有しているが、図８では図示省略する。
【００７７】
送受信部２０１は、ＭＮ１０が接続するネットワーク（例えば図１の外部ネットワーク３０）内の任意の通信ノードや、ＭＮ１０のホームネットワーク５０、７０内の任意の通信ノード（例えば図７のＨＡ６０又はＨＡ８０）、さらには、その他の任意のネットワークに存在する任意の通信ノード（例えば図７のＣＮ４０）との通信を行うためのパケット送受信機能を有している。なお、送受信部２０１には、例えば図７に図示されている無線接続のインタフェース２０の機能も包含される。
【００７８】
また、バインディング情報通知メッセージ生成部２０２は、ＨｏＡ１バインディング情報管理部２０３又はＨｏＡ２バインディング情報管理部２０４から通知されたバインディング情報を含むバインディング情報通知メッセージを生成するための機能を有している。バインディング情報通知メッセージ生成部２０２では、例えば、そのバインディング情報を登録する従来のモバイルＩＰｖ６のバインディングアップデートメッセージと、バインディング情報の登録と共に、さらに、そのバインディング情報によって特定されるケアオブアドレスあてのパケットを一時的にバッファリングした後に転送を行うよう要求するためのメッセージとが生成される。なお、ケアオブアドレスあてのパケットを一時的にバッファリングした後に転送を行うよう要求する対象となるケアオブアドレスには、転送前バッファリング要求が付加される。バインディング情報通知メッセージ生成部２０２で生成されたバインディング情報通知メッセージは、送受信部２０１を通じてＭＮ１０のＨＡ（ＨＡ６０又はＨＡ８０）に送信される。
【００７９】
また、ＨｏＡ１バインディング情報管理部２０３は、ＨｏＡ１（図７のホームネットワーク５０から割り当てられるホームアドレス）に関するバインディング情報を管理する機能を有しており、ＨｏＡ１に対して関連付けるべきケアオブアドレスを取得又は変更した場合に、それらのケアオブアドレスに関するバインディング情報をＨＡ６０へ通知すべきか否かの判断を行う機能を有している。バインディング情報を通知すべきと判断した場合には、ＨｏＡ１バインディング情報管理部２０３は、バインディング情報通知メッセージ生成部２０２に対して、通知すべきバインディング情報を供給してバインディング情報通知メッセージを生成するよう指示する。
【００８０】
また、転送前バッファリング要求判断部２０５から、特定のケアオブアドレスに対して転送前バッファリング要求を付加するよう指示された場合や、ホームアドレス関連付け判断部２０７から、ホームアドレスをケアオブアドレスとして登録するよう指示された場合には、ＨｏＡ１バインディング情報管理部２０３は、バインディング情報通知メッセージ生成部２０２に対して、転送前バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する。
【００８１】
なお、転送前バッファリング要求とは、ＭＮ１０がＨＡ（ＨＡ６０又はＨＡ８０）に対して、転送先アドレスとして選択された特定のケアオブアドレスあてにパケット転送を開始する前に、そのパケットのバッファリングを一時的に行うことを要求するものである。転送前バッファリング要求が付加されたケアオブアドレスを選択したＨＡは、すぐにパケットの転送を開始するのではなく、いったんパケットのバッファリングを行い、パケットの転送開始タイミングをある程度（任意の遅延時間だけ）意図的に遅らせてパケットの転送を開始する。
【００８２】
また、ＨｏＡ２バインディング情報管理部２０４は、ＨｏＡ２（図７のホームネットワーク７０から割り当てられるホームアドレス）に関するバインディング情報を管理する機能を有しており、ＨｏＡ２に対して関連付けるべきケアオブアドレスを取得又は変更した場合に、それらのケアオブアドレスに関するバインディング情報をＨＡ８０へ通知すべきか否かの判断を行う機能を有している。バインディング情報を通知すべきと判断した場合には、ＨｏＡ２バインディング情報管理部２０４は、バインディング情報通知メッセージ生成部２０２に対して、通知すべきバインディング情報を供給してバインディング情報通知メッセージを生成するよう指示する。
【００８３】
また、転送前バッファリング要求判断部２０５から、特定のケアオブアドレスに対して転送前バッファリング要求を付加するよう指示された場合や、ホームアドレス関連付け判断部２０７から、ホームアドレスをケアオブアドレスとして登録するよう指示された場合には、ＨｏＡ２バインディング情報管理部２０４は、バインディング情報通知メッセージ生成部２０２に対して、転送前バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する。
【００８４】
なお、転送前バッファリング要求が付加されているか否かにかかわらず、ホームアドレスをケアオブアドレスとして登録するためのバインディング情報通知メッセージに含まれるLifetimeには、有効期限が切れることがないことを示す値を含めてもよい。この場合、ＨＡによって保持されるこのバインディング情報は、有効期限が切れることがないため、ＨＡに対してＨｏＡあてのパケットを常に代理受信し続けるよう要求することが可能となる。これにより、通常のケアオブアドレスに関するバインディング情報がすべて削除されたとしても、このエントリだけは残り続けるため、ＨＡによる代理受信が有効な状態を保つことが可能となる。
【００８５】
また、ＨＡによって行われる転送前バッファリングが実行された後に転送されるパケットの転送先となるアドレスが常に有効な状態であることを確保するために、ケアオブアドレスとして登録するホームアドレスに対してだけ転送前バッファリング要求を付加するようにしてもよい。この場合、ＨＡによって転送前バッファリングが行われた後に転送されるパケットは、別のＨＡによって再び代理受信されるため、そのＨＡによる転送前バッファリングの効果を更に受けることが可能となる。
【００８６】
なお、ＨｏＡ１バインディング情報管理部２０３、及びＨｏＡ２バインディング情報管理部２０４が、バインディング情報をＨＡへ通知するべきかどうかを判断するタイミングは、前述の転送前バッファリング要求判断部２０５からの指示を受けたときだけでなく、例えば、他のネットワークへの移動を検出した場合や、新たなＣｏＡを生成・取得した場合なども考えられる。また、ＨＡから通知されたバインディング情報を更新するインターバルが近づいてきたときや、バインディング情報の有効期限が残り少なくなったとき、更にはＨＡからバインディング情報の更新を要求するメッセージ（Binding Refresh Request Message）を受信した場合なども考えられる。
【００８７】
なお、ここでは、ＭＮ１０に対してＨｏＡ１及びＨｏＡ２の２つのホームアドレスが割り当てられる場合を想定しており、図８には、ＭＮ１０が、これら２つのホームアドレス（ＨｏＡ１及びＨｏＡ２）をそれぞれ管理するＨｏＡ１バインディング情報管理部２０３及びＨｏＡ２バインディング情報管理部２０４を有している状態が図示されているが、割り当てられるホームアドレスの数に応じて、対応するＨｏＡバインディング情報管理部が存在してもよい。また、ＨｏＡ１バインディング情報管理部２０３及びＨｏＡ２バインディング情報管理部２０４は、管理するホームアドレスが異なるのみで基本的には同一機能を有しており、複数のホームアドレスの管理を行うことが可能な１つのＨｏＡバインディング情報管理部に統合されてもよい。
【００８８】
また、転送前バッファリング要求判断部２０５は、各ＨＡ（ＨＡ６０又はＨＡ８０）へ登録するケアオブアドレス、あるいは既に登録されているケアオブアドレスに対して、転送前バッファリング要求を付加すべきか否かを判断する機能を有している。転送前バッファリング要求判断部２０５は、特定のケアオブアドレスに対して転送前バッファリング要求を付加すべきと決定した場合には、対応するＨｏＡバインディング情報管理部（ＨｏＡ１バインディング情報管理部２０３、あるいはＨｏＡ２バインディング情報管理部２０４）に、特定のケアオブアドレスに対して転送前バッファリング要求を付加するよう指示する機能を有している。
【００８９】
なお、転送前バッファリング要求判断部２０５は、例えばハンドオーバなどの影響によって、あるインタフェース２０の接続が一定時間不安定になることが事前に検出された場合などにおいて、そのインタフェース２０に割り当てられているケアオブアドレスに対して転送前バッファリング要求の付加を決定することが可能である。
【００９０】
ＨＡ（ＨＡ６０又はＨＡ８０）は、転送前バッファリング要求が付加されていないケアオブアドレスを転送先として選択した場合には、すぐにパケットの転送を開始してしまうため、接続が不安定である期間にもパケットがＨＡ（ＨＡ６０又はＨＡ８０）から転送され続け、その間のパケットをＭＮ１０が受信できずにパケットロスが発生してしまう可能性がある。しかしながら、転送前バッファリング要求が付加されている場合には、ＨＡは、そのケアオブアドレスを転送先として選択した場合、すぐにパケット転送を開始せずにいったんバッファリングを行った後にパケットの転送を行うので、接続が不安定である期間にパケットが転送されるのを防ぐことが可能となる。
【００９１】
また、転送前バッファリング要求判断部２０５は、例えば、フロー情報管理部２０８からの通知を受けて、特定のフローに対して転送前バッファリング要求を付加すべきと判断してもよい。特定のフローに対して転送前バッファリング要求を付加すべきと判断した場合には、フロー情報通知メッセージ生成部２０６に対して、特定のフローに対する転送前バッファリング要求の付加をＨＡ（ＨＡ６０又はＨＡ８０）に通知するためのフロー情報通知メッセージを生成するよう指示してもよい。
【００９２】
また、転送前バッファリング要求判断部２０５は、ホームアドレス関連付け判断部２０７に対して、特定のホームアドレスを別のホームアドレスのケアオブアドレスとして使用するとともに、転送前バッファリング要求を付加するよう指示を行うことが可能である。この指示を受けたホームアドレス関連付け判断部２０７は、後述のように、ＨｏＡ１バインディング情報管理部２０３、あるいはＨｏＡ２バインディング情報管理部２０４に対して、転送前バッファリング要求を付加したホームアドレスをケアオブアドレスとして登録するように指示を行う。
【００９３】
また、転送前バッファリング要求判断部２０５は、転送前バッファリング要求を付加すべき決定を行った場合に、ＨＡ（ＨＡ６０又はＨＡ８０）において、パケット転送前に一時的にパケットのバッファリングを行う際のバッファ時間やバッファ容量を定める機能を有していてもよい。これらのバッファ時間やバッファ容量は、パケットを意図的に遅延させるための遅延時間に相当する。転送前バッファリング要求判断部２０５で定められた遅延時間は、転送前バッファリング要求と共にＨＡ（ＨＡ６０又はＨＡ８０）に通知されることが望ましい。
【００９４】
また、フロー情報通知メッセージ生成部２０６は、上述のように、転送前バッファリング要求判断部２０５から、特定のフローに対する転送前バッファリング要求の付加をＨＡ（ＨＡ６０又はＨＡ８０）に通知するためのメッセージ生成の指示を受けた場合に、転送前バッファリング要求が付加されたフロー情報を含むフロー情報通知メッセージを生成する機能を有している。
【００９５】
また、ホームアドレス関連付け判断部２０７は、ＭＮ１０が保持しているホームアドレス（ＨｏＡ１及びＨｏＡ２）を別のホームアドレスに関連付けるケアオブアドレスとして使用すべきか否かを判断する機能を有している。ＨｏＡ１がＨｏＡ２のケアオブアドレスとして使用可能である場合には、ＨｏＡ２バインディング情報管理部２０４に対してＨｏＡ１をケアオブアドレスとして関連付けるよう指示を行うことが可能である。一方、ＨｏＡ２がＨｏＡ１のケアオブアドレスとして使用可能である場合には、ＨｏＡ１バインディング情報管理部２０３に対してＨｏＡ２をケアオブアドレスとして関連付けるよう指示を行うことが可能である。
【００９６】
また、ホームアドレス関連付け判断部２０７は、転送前バッファリング要求判断部２０５から特定のホームアドレスに対して転送前バッファリング要求を付加するよう指示された場合には、ＨｏＡ１バインディング情報管理部２０３、あるいはＨｏＡ２バインディング情報管理部２０４に対して、転送前バッファリング要求を付加したホームアドレスをケアオブアドレスとして登録するよう指示する。
【００９７】
なお、図８では、ＭＮ１０は、バインディング情報通知メッセージ及びフロー情報通知メッセージの両方をＨＡ（ＨＡ６０又はＨＡ８０）に対して送信することが可能なように構成されているが、どちらか一方の通知メッセージのみを送信することが可能なように構成されていてもよい。すなわち、ＭＮ１０は、バインディング情報通知メッセージによって転送前バッファリング要求を付加する対象のケアオブアドレスを通知するだけでもよく、フロー情報通知メッセージによって転送前バッファリング要求を付加する対象のフローを通知するだけでもよく、あるいは、両方のメッセージを用いて、転送前バッファリング要求を付加する対象のケアオブアドレス及びフローの両方を通知してもよい。
【００９８】
また、図８のＭＮ１０の構成では、転送前バッファリング要求を付加する対象がケアオブアドレスの場合にはバインディング通知メッセージが用いられ、転送前バッファリング要求を付加する対象がフローの場合にはフロー情報通知メッセージが用いられるが、例えばフローに対する転送前バッファリング要求を通知するメッセージとして、バインディング情報通知メッセージが用いられてもよい。この場合、例えば、フローに対する転送前バッファリング要求情報を、バインディング情報通知メッセージのオプションとして付加することが可能である。また、ケアオブアドレスに対する転送前バッファリング要求を通知するメッセージとして、フロー情報通知メッセージが用いられてもよい。
【００９９】
以上、図８を参照しながら説明したように、本発明の第２の実施の形態におけるＭＮ１０は、自身のＨＡ６０に対して、いったんバッファリングを行った後にパケットの転送を開始することでＭＮ１０あてのパケットの転送開始タイミングを遅らせるよう要求することが可能である（転送前バッファリング要求）。また、ＭＮ１０は、転送前バッファリング要求の対象となるケアオブアドレスを選択することも可能である。また、複数のホームアドレスが割り当てられており、複数のホームアドレスのいずれかを別のホームアドレスのケアオブアドレスとして登録する場合に、ＨＡ（ＨＡ６０又はＨＡ８０）に対して、特定のケアオブアドレス（ＭＮ１０の複数のホームアドレスのうちの１つ）あてに転送されるパケットに関して、転送前バッファリング要求を行うことも可能である。また、ＭＮ１０は、特定のケアオブアドレスあてのパケット、又は特定のフローに係るパケットに対して転送前バッファリング要求を行うだけではなく、例えば、特定の通信相手から送られてきたパケットに関して、転送前バッファリング要求を行ってもよい。
【０１００】
また、図９には、本発明の第２の実施の形態におけるＭＮ１０が生成、送信するバインディング情報通知メッセージの一例が図示されている。なお、図９には、バインディングアップデートメッセージを利用して、ＨｏＡ２をＨｏＡ１に関連付けるケアオブアドレスとして通知するとともに、このケアオブアドレス（ＨｏＡ２）に対して転送前バッファリングを要求する場合のバインディング情報通知メッセージの構成例が図示されている。
【０１０１】
図９に図示されているＩＰｖ６ヘッダ（ＨＡ６０をあて先アドレスに設定）、ホームアドレスオプション、モビリティヘッダ（バインディングアップデート）は、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの構成と基本的に同一である。本発明の第２の実施の形態では、図９に図示されているように、モバイルＩＰｖ６で定義されているバインディングアップデートメッセージの代替用ＣｏＡオプションの中に、更に転送前バッファリング要求情報と、バッファリングの対象として指定されるケアオブアドレス（ＨｏＡ２）とが付加される。なお、転送前バッファリング要求情報は、ＨｏＡ１をあて先アドレスとするパケットを、代替用ＣｏＡオプションに含まれているケアオブアドレス（図９の例ではＨｏＡ２）をあて先アドレスとするパケットでカプセル化して転送する前に、このパケットの転送前バッファリング要求を示す情報であり、例えばフラグなどの任意の形式で実現可能である。
【０１０２】
また、特定のフローに対して転送前バッファリング要求を行う場合には、図４と同様のフォーマット（ただし、メッセージに含まれる要求は、転送前バッファリング要求）を有するフロー情報通知メッセージを使用することも可能である。また、図５と同様のフォーマット（ただし、メッセージは転送前バッファリング要求メッセージ）を有する専用の転送前バッファリング要求メッセージを用いることも可能である。
【０１０３】
次に、本発明の第２の実施の形態におけるＨＡ（ＨＡ６０又はＨＡ８０）の構成について説明する。図１０には、本発明の第２の実施の形態におけるＨＡの構成の一例が図示されている。図１０において、ＨＡは、送受信部７０１、バインディング情報通知メッセージ処理部７０２、フロー情報通知メッセージ処理部７０３、フロー情報保持部７０４、バインディング情報保持部７０５、転送先選択部７０６、代理受信パケット転送処理部７０７、転送前バッファリング処理部７０８を有している。なお、ＨＡは、その他の様々な機能も有しているが、図１０では図示省略する。
【０１０４】
送受信部７０１は、ＨＡが接続するネットワーク（例えば図７のホームネットワーク５０、７０）内の任意の通信ノードや、外部ネットワーク３０に接続しているＭＮ１０（ＨＡ６０又はＨＡ８０が存在するホームネットワーク５０、７０に属するＭＮ１０）、その他の任意のネットワークに接続している任意の通信ノードとの通信を行うためのパケット送受信機能を有している。
【０１０５】
また、バインディング情報通知メッセージ処理部７０２は、ＭＮ１０で生成、送信されたバインディング情報通知メッセージを送受信部７０１で受信した場合に、このバインディング情報通知メッセージに関する処理を行い、バインディング情報通知メッセージに含まれるＭＮ１０のバインディング情報を取得して、このバインディング情報をバインディング情報保持部７０５に保持させる機能を有している。なお、バインディング情報に関連して転送前バッファリング要求情報が付加されている場合には、バインディング情報と共に転送前バッファリング要求情報をバインディング情報保持部７０５に保持させる。
【０１０６】
また、フロー情報通知メッセージ処理部７０３は、ＭＮ１０で生成、送信されたフロー情報通知メッセージを送受信部７０１で受信した場合に、このフロー情報通知メッセージに関する処理を行い、フロー情報通知メッセージに含まれるＭＮ１０のフロー情報（フロー識別子）を取得して、このフロー識別子をフロー情報保持部７０４に保持させる機能を有している。なお、フロー識別子に関連して転送前バッファリング要求情報が付加されている場合には、フロー識別子と共に転送前バッファリング要求情報をフロー情報保持部７０４に保持させる。
【０１０７】
また、フロー情報保持部７０４は、フロー情報通知メッセージ処理部７０３におけるフロー情報通知メッセージの処理によって抽出されたフロー識別子を保持する機能を有している。なお、フロー識別子に転送前バッファリング要求情報が付加されている場合には、フロー識別子と共に、転送前バッファリング要求情報も保持される。
【０１０８】
また、バインディング情報保持部７０５は、バインディング情報通知メッセージ処理部７０２におけるバインディング情報通知メッセージの処理によって抽出されたバインディング情報（ＭＮ１０のホームアドレスと、パケットの転送前バッファリング要求の対象となるケアオブアドレスとが関連付けられたバインディング情報）を保持する機能を有している。なお、バインディング情報保持部７０５では、特定のケアオブアドレスに対して転送されるパケットの転送前バッファリング要求が含まれているバインディング情報のほかに、バッファリング要求が含まれていない通常のバインディング情報も保持される。
【０１０９】
なお、ＭＮ１０がケアオブアドレスとしてホームアドレスを登録するためのバインディング情報通知メッセージを受信したとき、そのメッセージ処理によって抽出されたバインディング情報に関するLifetimeは、有効期限が切れることがないことを示す値が設定されている場合がある。この場合、保持されるバインディング情報は有効期限が切れて削除されることがなくなるため、ＨＡは常にＭＮ１０のＨｏＡあてのパケットを代理受信し続けることが可能となる。また、バインディング情報保持部７０５は、転送前バッファリング要求が付加されたバインディング情報を保持するときには常に、有効期限が切れることがない情報として保持するようにしてもよい。ただしこの場合は、ＭＮ１０はケアオブアドレスとして登録するホームアドレスに対してだけ転送前バッファリング要求を付加する必要がある。また、ＨＡは、有効期限が切れることがないことを示す値が設定されているバインディング情報を保持するときには常に、転送前バッファリング要求情報を付加するようにしてもよい。この場合、有効期限が切れることがないことを示す値が設定されているバインディング情報は、ケアオブアドレスとしてホームアドレスが登録される場合が望ましい。
【０１１０】
また、転送先選択部７０６は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、バインディング情報保持部７０５に保持されているバインディング情報の中から、転送先アドレスとして使用すべきケアオブアドレスを選択する機能を有している。また、転送先選択部７０６は、代理受信したＭＮ１０のＨｏＡあてのパケットの転送先として、フロー情報保持部７０４に保持されているＭＮ１０のフロー識別子、及びバインディング情報保持部７０５を参照し、特定のフローの転送先として使用すべきケアオブアドレスを選択する機能を有している。
【０１１１】
代理受信パケット転送処理部７０７は、管理しているＭＮ１０のＨｏＡあてのパケットを代理受信した際に、転送先選択部７０６に対してそのパケットの転送先を選択するよう要求して、その選択結果を取得し、選択されたケアオブアドレスに転送前バッファリング要求が付加されている場合には、そのケアオブアドレスあてへすぐに転送せずに、転送前バッファリング処理部７０８に対して代理受信したパケットを渡し、バッファリングするよう指示する機能を有している。なお、転送前バッファリング要求が付加されていない場合には、代理受信パケット転送処理部７０７は、そのケアオブアドレスあてにカプセル化を行ってすぐに転送を開始する。
【０１１２】
また、転送前バッファリング処理部７０８に対してパケットのバッファリングを指示した後、転送前バッファリング処理部７０８からバッファがフルになったことが通知された場合には、代理受信パケット転送処理部７０７は、転送先選択部７０６によって選択された転送前バッファリング要求が付加されていた転送先のケアオブアドレスに対して、転送前バッファリング処理部７０８が保持しているパケットの転送を開始する。これによって、転送前バッファリング処理部７０８にいったんバッファリングされるパケットは、バッファがフルになるまでの間、転送前バッファリング処理部７０８に留まることになり、一定時間だけ遅延してパケットの転送が行われることになる。
【０１１３】
なお、ここでは、転送前バッファリング処理部７０８のバッファがフルになった場合に、転送前バッファリング処理部７０８に保持されているパケットの転送が開始されるように構成されているが、バッファに所定量のパケットが蓄積された場合にパケットの転送が開始されてもよく、また、バッファに所定の時間だけ格納された後にパケットの転送が開始されてもよい。さらに、ＭＮ１０からパケットの遅延時間の通知を受けた場合には、通知された遅延時間だけ転送前バッファリング処理部７０８に格納された後に、パケットの転送が開始されてもよい。
【０１１４】
また、転送前バッファリング処理部７０８は、代理受信パケット転送処理部７０７から渡されたパケットをバッファリングする機能を有している。代理受信パケット転送処理部７０７から渡されるパケットは、ＭＮ１０から通知された特定のケアオブアドレスを転送先とするパケットや特定のフローに係るパケットであり、したがって、転送前パケットバッファリング部７０８では、ＭＮ１０からバッファリング要求を受けたバッファリング対象のパケットのみがバッファリングされる。転送前バッファリング処理部７０８でパケットをバッファリングすることによって、パケットの転送タイミングを意図的に遅らせることが可能となる。
【０１１５】
以上、図１０を参照しながら説明したように、本発明の第２の実施の形態におけるＨＡは、ＭＮ１０からバッファリングを行うように要求されたパケット（特定のケアオブアドレスあてに転送すべきパケットや、特定のフローに係るパケット）を一定の遅延時間だけ遅らせて転送することが可能となる。なお、特定のケアオブアドレスとして、ＭＮ１０が有する別のホームアドレスが設定されている場合には、ＭＮ１０からバッファリングを行うように要求されたパケットは、一定の遅延時間だけＨＡで保持された後、別のＨＡに転送されることになる。
【０１１６】
次に、本発明の第２の実施の形態における具体的な動作の一例について、図７に図示されているネットワーク構成を参照しながら説明する。なお、以下では、何らかの原因でＭＮ１０と外部ネットワーク３０との接続が切断した場合を想定する。接続の切断の原因としては、例えばＭＮ１０の移動などが挙げられる。
【０１１７】
（本発明の第２の実施の形態の動作例）
ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、例えば、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、ＨＡ６０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ２をＨｏＡ１のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ２）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。すなわち、ここでは、ＨｏＡ１に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ２）が設定され、別のホームエージェント（ＨＡ８０）によって管理されているＨｏＡ２に対して転送前バッファリング要求情報が付加されるものとする。
【０１１８】
また同様に、ＭＮ１０は、例えば、ホームアドレス（ＨｏＡ２）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ８０に登録する。さらに、ＭＮ１０は、ＨＡ８０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ１をＨｏＡ２のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ１）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ８０に送信する。すなわち、ここでは、ＨｏＡ２に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ１）が設定され、別のホームエージェント（ＨＡ６０）によって管理されているＨｏＡ１に対して転送前バッファリング要求情報が付加されるものとする。
【０１１９】
これらのバインディング情報通知メッセージをそれぞれ受信したＨＡ６０及びＨＡ８０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部７０５に格納する。
【０１２０】
ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信した場合には、そのパケットをＣｏＡ１へ転送するが、ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、別のケアオブアドレスを転送先として選択する。ＨＡ６０がＣｏＡ１に代わって、ＨｏＡ２を次の転送先として選択した場合、ＨｏＡ２には転送前バッファリング要求が付加されているので、ＨＡ６０は、パケットをすぐにＨｏＡ２に転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ２あてに転送を開始する。
【０１２１】
一方、ＨＡ８０は、ＨＡ６０から転送されてきたＨｏＡ２あてのパケットを代理受信する。代理受信されたパケットは、ＨＡ８０によって転送されるが、転送先としてＣｏＡ１が依然として使用できない場合には、ＨｏＡ１が転送先として選択される。このときＨｏＡ１には転送前バッファリング要求が付加されているので、ＨＡ８０は、パケットをすぐにＨｏＡ１へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ１あてに転送を開始する。この動作の結果、パケットは、各ＨＡ６０、８０でバッファリングを繰り返しながら複数のＨＡ間で転送され続けることになる。
【０１２２】
そして、例えばＭＮ１０と外部ネットワーク３０との切断が一時的なものであり、ＭＮ１０が外部ネットワーク３０に再接続することができた場合には、ＨＡ６０又はＨＡ８０からＣｏＡ１あてにパケットが転送され、その結果、パケットロスを防ぐことが可能となる。
【０１２３】
また、ＭＮ１０が再接続を行って、ＨＡ６０、８０に新たなＣｏＡが登録された場合には、パケットがそのＣｏＡあてに転送されることによって、パケットロスが生じることなく、ＭＮ１０は即座にパケットを受信することが可能となる。なお、他の任意の方法を用いて、複数のＨＡ間でのパケットの転送回数をある程度の回数に制限することによって、複数のＨＡ間でパケットが長期的に（あるいは永久に）転送され続けないように制御することが望ましい。
【０１２４】
なお、上述の動作例では、特定のケアオブアドレスあてのパケットが、複数のＨＡ間で転送され続けることによってネットワーク上でパケットのバッファリングが行われているが、特定のフローに係るパケットに関してのみ転送前バッファリングが有効になるようにしてもよい。すなわち、フロー情報を考慮して、特定のケアオブアドレスあての特定のフローに係るパケットのみが、複数のＨＡ間で転送され続けることによってネットワーク上でパケットのバッファリングが行われるようにしてもよい。
【０１２５】
また、上述の説明では、主に、ＭＮ１０が２つのホームアドレスを有する場合の構成及び動作について記載したが、３つ以上のホームアドレスを有する場合であっても本発明は適用可能である。その場合、転送前バッファリングが、利用できる複数のＨＡによって連鎖的に順次起こるように、転送前バッファリング要求を付加したそれぞれのホームアドレスをケアオブアドレスとして登録をすることによって、利用できるＨＡの数だけバッファ量を増やすことが可能となるため、よりパケットロスを軽減することが可能となる。
【０１２６】
以上、説明したように、本発明の第２の実施の形態によれば、ＭＮは、ＨＡに登録するケアオブアドレスに転送前バッファリング要求情報を付加することによって、ＨＡは、そのケアオブアドレスあての転送パケットをいったんバッファリングしてから、パケット転送を行うことが可能となる。特に、ＭＮが複数のホームアドレスを有し、あるホームアドレスのケアオブアドレスとして別のホームアドレスの関連付けを行った場合には、１つのＨＡだけではバッファしきれないパケットを別のＨＡに転送させることが可能となり、複数のＨＡ間でパケットの転送が行われ、その結果、複数のＨＡ間におけるバッファリングを実現することが可能となる。さらに、この場合、例えば同一のケアオブアドレスが再び到達可能となった場合や別のケアオブアドレスが登録された場合など、ＭＮ１０のインタフェースに到達可能な状態となった場合には、複数のＨＡ間でバッファリングされていたパケットをＭＮに送信することによって、パケットロスを最小限に抑えた効率的な再送制御が実現されるようになる。
【０１２７】
なお、図１３に示すように、ＭＮ１０が、ネットワークベースのモビリティプロトコルが提供されているローカルネットワーク５１５に接続している際には、ＭＮ１０の移動に係る制御を代理で行う代理ノード５１８（Proxy Mobile Agent）が、本発明の第２の実施の形態におけるＭＮ１０が保持する機能を有していてもよい。この場合、代理ノード５１８は、独自の判断で選択的にバッファリングするべきパケットの対象を判断してもよいし、ＭＮ１０から指示を受けてもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、転送前バッファリング要求情報の通知をしないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、転送前バッファリング要求情報の通知を行うことを選択するようにしてもよい。代理ノード５１８は、決定した転送前バッファリング要求情報を、ＭＮ１０を管理しているＨＡ６０へ通知する。
【０１２８】
また、代理ノード５１８が、本発明の第２の実施の形態におけるＨＡが保持する機能を有していてもよい。この場合、ＭＮ１０は、フロー情報に転送前バッファリング要求情報を付加して代理ノード５１８へ通知する。この通知を受けた代理ノード５１８は、ＨＡ６０から転送されたＭＮ１０のホームアドレス（ＨｏＡ１）あてのパケットが、転送前バッファリング要求情報が付加されたフローに一致した場合には、パケットをすぐにＭＮ１０へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＭＮ１０へ転送を開始する。また、代理ノード５１８は、独自の判断で転送前バッファリングするべきパケットの対象を判断してもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、転送前バッファリング行わないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、転送前バッファリングを行うことを選択するようにしてもよい。
【０１２９】
＜第３の実施の形態＞
次に、本発明の第３の実施の形態について説明する。本発明の第３の実施の形態は、基本的に、上述の本発明の第１及び第２の実施の形態を組み合わせたものである。なお、本発明の第３の実施の形態では、ネットワーク構成の具体例に関しては、図７のネットワーク構成を前提として説明を行う。
【０１３０】
まず、本発明の第３の実施の形態におけるＭＮ１０の構成について説明する。図１１には、本発明の第３の実施の形態におけるＭＮ１０の構成の一例が図示されている。図１１において、ＭＮ１０は、送受信部３０１、バインディング情報通知メッセージ生成部３０２、ＨｏＡ１バインディング情報管理部３０３、ＨｏＡ２バインディング情報管理部３０４、転送前バッファリング要求判断部３０５、フロー情報通知メッセージ生成部３０６、ホームアドレス関連付け判断部３０７、フロー情報管理部３０８、バッファリング要求判断部３０９を有している。なお、図１１に図示されているＭＮ１０は、基本的に、図２及び図８のＭＮ１０を組み合わせた構成を有している。
【０１３１】
図１１において、送受信部３０１は、図２に図示されている送受信部１０１又は図８に図示されている送受信部２０１と同一である。
【０１３２】
また、バインディング情報通知メッセージ生成部３０２は、図２に図示されているバインディング情報通知メッセージ生成部１０２、及び図８に図示されているバインディング情報通知メッセージ生成部２０２の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。バインディング情報通知メッセージ生成部３０２は、バッファリング転送要求情報及び／又は転送前バッファリング転送要求情報を含むバインディング情報通知メッセージを生成することが可能である。
【０１３３】
また、ＨｏＡ１バインディング情報管理部３０３は、図２に図示されているバインディング情報管理部１０３、及び図８に図示されているＨｏＡ１バインディング情報管理部２０３の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。ＨｏＡ１バインディング情報管理部３０３は、転送前バッファリング要求判断部３０５からの指示に基づいて、バインディング情報通知メッセージ生成部３０２に対して、転送前バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する機能や、バッファリング要求判断部３０９からの指示に基づいて、バインディング情報通知メッセージ生成部３０２に対して、バッファリング要求が付加されたバインディング情報通知メッセージを生成するよう指示する機能を有している。
【０１３４】
また、ＨｏＡ２バインディング情報管理部３０４は、図２に図示されているバインディング情報管理部１０３、及び図８に図示されているＨｏＡ２バインディング情報管理部２０４の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。ＨｏＡ１バインディング情報管理部３０３では、ＨｏＡ１に関する管理が行われ、ＨｏＡ２バインディング情報管理部３０４では、ＨｏＡ２に関する管理が行われる。
【０１３５】
また、転送前バッファリング要求判断部３０５は、図８に図示されている転送前バッファリング要求判断部２０５と同一である。
【０１３６】
また、フロー情報通知メッセージ生成部３０６は、図２に図示されているフロー情報通知メッセージ生成部１０５、及び図８に図示されているフロー情報通知メッセージ生成部２０６の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。フロー情報通知メッセージ生成部３０６は、バッファリング転送要求情報及び／又は転送前バッファリング転送要求情報を含むフロー情報通知メッセージを生成することが可能である。
【０１３７】
また、ホームアドレス関連付け判断部３０７は、図８に図示されているホームアドレス関連付け判断部２０７と同一である。
【０１３８】
また、フロー情報管理部３０８は、図２に図示されているフロー情報管理部１０６、及び図８に図示されているフロー情報管理部２０８の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。
【０１３９】
また、バッファリング要求判断部３０９は、図２に図示されているバッファリング要求判断部１０４と同一である。
【０１４０】
なお、図１１では、ＭＮ１０は、バインディング情報通知メッセージ及びフロー情報通知メッセージの両方をＨＡ（ＨＡ６０又はＨＡ８０）に対して送信することが可能なように構成されているが、どちらか一方の通知メッセージのみを送信することが可能なように構成されていてもよい。すなわち、ＭＮ１０は、バインディング情報通知メッセージによってバッファリング要求及び／又は転送前バッファリング要求を付加する対象のケアオブアドレスを通知するだけでもよく、フロー情報通知メッセージによってバッファリング要求及び／又は転送前バッファリング要求を付加する対象のフローを通知するだけでもよく、あるいは、両方のメッセージを用いて、バッファリング要求及び／又は転送前バッファリング要求を付加する対象のケアオブアドレス及びフローの両方を通知してもよい。
【０１４１】
また、図１１のＭＮ１０の構成では、バッファリング要求及び／又は転送前バッファリング要求を付加する対象がケアオブアドレスの場合にはバインディング通知メッセージが用いられ、バッファリング要求及び／又は転送前バッファリング要求を付加する対象がフローの場合にはフロー情報通知メッセージが用いられるが、例えばフローに対するバッファリング要求及び／又は転送前バッファリング要求を通知するメッセージとして、バインディング情報通知メッセージが用いられてもよい。この場合、例えば、フローに対するバッファリング要求及び／又は転送前バッファリング要求情報を、バインディング情報通知メッセージのオプションとして付加することが可能である。また、ケアオブアドレスに対するバッファリング要求及び／又は転送前バッファリング要求を通知するメッセージとして、フロー情報通知メッセージが用いられてもよい。
【０１４２】
次に、本発明の第３の実施の形態におけるＨＡ（ＨＡ６０又はＨＡ８０）の構成について説明する。図１２には、本発明の第３の実施の形態におけるＨＡの構成の一例が図示されている。図１２において、ＨＡは、送受信部８０１、バインディング情報通知メッセージ処理部８０２、フロー情報通知メッセージ処理部８０３、フロー情報保持部８０４、バインディング情報保持部８０５、代理受信／転送前バッファリング部８０６、再送・転送先切替指示部８０７、転送先選択部８０８、代理受信パケット転送処理部８０９を有している。なお、図１２に図示されているＨＡは、基本的に、図６及び図１０のＨＡを組み合わせた構成を有している。
【０１４３】
図１２において、送受信部８０１は、図６に図示されている送受信部６０１又は図１０に図示されている送受信部７０１と同一である。
【０１４４】
また、バインディング情報通知メッセージ処理部８０２は、図６に図示されているバインディング情報通知メッセージ処理部６０２、及び図１０に図示されているバインディング情報通知メッセージ処理部７０２の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。バインディング情報通知メッセージ処理部８０２では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたバインディング情報通知メッセージに係る処理が行われる。
【０１４５】
また、フロー情報通知メッセージ処理部８０３は、図６に図示されているフロー情報通知メッセージ処理部６０３、及び図１０に図示されているフロー情報通知メッセージ処理部７０３の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。フロー情報通知メッセージ処理部８０３では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたフロー情報通知メッセージに係る処理が行われる。
【０１４６】
また、フロー情報保持部８０４は、図６に図示されているフロー情報保持部６０４、及び図１０に図示されているフロー情報保持部７０４の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。フロー情報保持部８０４では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたフロー情報が保持される。
【０１４７】
また、バインディング情報保持部８０５は、図６に図示されているバインディング情報保持部６０５、及び図１０に図示されているバインディング情報保持部７０５の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。バインディング情報保持部８０５では、バッファリング要求情報及び／又は転送前バッファリング要求情報が付加されたバインディング情報が保持される。
【０１４８】
また、代理受信／転送前バッファリング部８０６は、図６に図示されている代理受信パケットバッファリング部６０６、及び図１０に図示されている転送前バッファリング処理部７０８の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。なお、代理受信／転送前バッファリング部８０６には、再送を目的として転送と同時にバッファリングされるパケット（バッファリング要求の対象となるパケット）と、転送を目的としてその転送前にバッファリングされるパケット（転送前バッファリング要求の対象となるパケット）とが存在する。
【０１４９】
また、再送・転送先切替指示部８０７は、図６に図示されている再送・転送先切替指示部６０７と同一である。
【０１５０】
また、転送先選択部８０８は、図６に図示されている転送先選択部６０８、及び図１０に図示されている転送先選択部７０６の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。
【０１５１】
また、代理受信パケット転送処理部８０９は、図６に図示されている代理受信パケット転送処理部６０９、及び図１０に図示されている代理受信パケット転送処理部７０７の両方の機能を有しており、機能の詳細に関しては、ここでは説明を省略する。代理受信パケット転送処理部８０９は、バッファリング要求によって指定されたパケットの再送を行う場合や、転送前バッファリング要求によって指定されたパケットの転送を行う場合には、代理受信／転送前バッファリング部８０６から取得してパケットの再送又は転送を行う。
【０１５２】
なお、本発明の第３の実施の形態では、バッファリング要求情報と転送前バッファリング要求情報との組み合わせによって、バッファリングの態様を定めるルールを様々に設定することが可能である。例えば、バッファリング要求情報が付加されているケアオブアドレスあてのパケットやフローに係るパケットに関しては、転送前バッファリング要求情報の有無によらず自動的に転送前バッファリングが行われるようにしたり、バッファリング要求情報が付加されているケアオブアドレスあてのパケットやフローに係るパケットに関してのみ、転送前バッファリングが行われるようにしたりすることが可能である。
【０１５３】
次に、本発明の第３の実施の形態における具体的な動作の一例について、図７に図示されているネットワーク構成を参照しながら説明する。なお、以下では、何らかの原因でＭＮ１０と外部ネットワーク３０との接続が切断した場合を想定する。接続の切断の原因としては、例えばＭＮ１０の移動などが挙げられる。
【０１５４】
（本発明の第３の実施の形態の第１動作例）
まず、本発明の第３の実施の形態における第１動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。
【０１５５】
この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、登録するケアオブアドレスあてのパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、そのケアオブアドレス（ＣｏＡ１）に対してバッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。
【０１５６】
また、さらに、この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、ＨＡ６０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ２をＨｏＡ１のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ２）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。
【０１５７】
すなわち、ここでは、ＨｏＡ１に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ２）が設定され、ＣｏＡ１にはバッファリング要求情報が付加され、別のホームエージェント（ＨＡ８０）によって管理されているＨｏＡ２には転送前バッファリング要求情報が付加されるものとする。
【０１５８】
一方、ＭＮ１０は、例えば、ホームアドレス（ＨｏＡ２）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ８０に登録する。さらに、ＭＮ１０は、ＨＡ８０に対してバッファリング（転送前バッファリング）を要求することを決定した場合には、ＨｏＡ１をＨｏＡ２のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ１）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ８０に送信する。
【０１５９】
これらのバインディング情報通知メッセージをそれぞれ受信したＨＡ６０及びＨＡ８０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部８０５に格納する。
【０１６０】
ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信した場合には、そのパケットをＣｏＡ１へ転送すると同時に、ＣｏＡ１に転送されるパケットのバッファリングを行う。このパケットのバッファリングは、パケットの再送を決定した場合に使用されるものである。
【０１６１】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、別のケアオブアドレスを転送先として選択する。なお、パケットの再送を所定の回数試みてもＭＮ１０にパケットが到達しなかった場合に、パケットの転送先を切り替えるようにするなど、任意の方法に基づいて、転送先の切り替えに移行するタイミングを決定することが可能である。
【０１６２】
ＨＡ６０がＣｏＡ１に代わって、ＨｏＡ２を次の転送先として選択した場合、ＨｏＡ２には転送前バッファリング要求が付加されているので、ＨＡ６０は、パケットをすぐにＨｏＡ２に転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ２あてに転送を開始する。
【０１６３】
一方、ＨＡ８０は、ＨＡ６０から転送されてきたＨｏＡ２あてのパケットを代理受信する。代理受信されたパケットは、ＨＡ８０によって転送されるが、転送先としてＣｏＡ１が依然として使用できない場合には、ＨｏＡ１が転送先として選択される。このときＨｏＡ１には転送前バッファリング要求が付加されているので、ＨＡ８０は、パケットをすぐにＨｏＡ１へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ１あてに転送を開始する。この動作の結果、パケットは、各ＨＡ６０、８０でバッファリングを繰り返しながら複数のＨＡ間で転送され続けることになる。
【０１６４】
（本発明の第３の実施の形態の第２動作例）
次に、本発明の第３の実施の形態における第２動作例について説明する。ＭＮ１０は、外部ネットワーク３０に接続した場合には、通常のモバイルＩＰｖ６の処理として、例えば、ホームアドレス（ＨｏＡ１）とケアオブアドレス（ＣｏＡ１）とのバインディング情報をＨＡ６０に登録する。この際、例えば、ＭＮ１０が、無線接続の不安定性に起因する外部ネットワーク３０との断続的な切断や、パケット転送経路上でのパケットロスなどに備えて、通信中の特定のフロー（フロー１）に係るパケットをＨＡ６０にバッファリングさせるよう要求することを決定した場合には、ＭＮ１０は、そのフロー１に対してバッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。
【０１６５】
さらに、ＭＮ１０は、ＨｏＡ２をＨｏＡ１のケアオブアドレスとして登録するとともに、そのケアオブアドレス（ＨｏＡ２）へのパケット転送前にパケットのバッファリングを行うよう要求する転送前バッファリング要求を付加したバインディング情報通知メッセージをＨＡ６０に送信する。
【０１６６】
すなわち、ここでは、ＨｏＡ１に対して、２つのケアオブアドレス（ＣｏＡ１及びＨｏＡ２）が設定され、特定のフロー１に対してバッファリング要求情報が付加され、別のホームエージェント（ＨＡ８０）によって管理されているＨｏＡ２には転送前バッファリング要求情報が付加されるものとする。
【０１６７】
これらのバインディング情報通知メッセージをそれぞれ受信したＨＡ６０及びＨＡ８０は、バインディング情報通知メッセージ内に含まれる情報をバインディング情報保持部８０５に格納する。
【０１６８】
ＨＡ６０は、ＭＮ１０のＨｏＡ１あてのパケットを代理受信した場合には、そのパケットをＣｏＡ１へ転送すると同時に、フロー１に係るパケットのバッファリングを行う。このパケットのバッファリングは、パケットの再送を決定した場合に使用されるものである。
【０１６９】
ここで、ＭＮ１０と外部ネットワーク３０との接続が切断され、ＨＡ６０が、ＭＮ１０のＣｏＡ１あての転送に失敗したことを、例えばDestination Unreachable Messageを受信することで検出したとする。この場合、ＨＡ６０は、ＣｏＡ１あてのパケット転送が失敗したことに対し、別のケアオブアドレスを転送先として選択する。ＨＡ６０がＣｏＡ１に代わって、ＨｏＡ２を次の転送先として選択した場合、ＨｏＡ２には転送前バッファリング要求が付加されているので、ＨＡ６０は、ＣｏＡ１あてのパケットをすぐにＨｏＡ２に転送せず、いったん代理受信／転送前バッファリング処理部８０６にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ２あてに転送を開始する。なお、ＨＡ６０は、バッファリング要求が付加されているフロー１に係るパケットに対してのみ、転送前バッファリング処理を行って、フロー１以外のパケットに関しては、転送前バッファリングを行わないようにしてもよい。
【０１７０】
一方、ＨＡ８０は、ＨＡ６０から転送されてきたＨｏＡ２あてのパケットを代理受信する。代理受信されたパケットは、ＨＡ８０によって転送されるが、転送先としてＣｏＡ１が依然として使用できない場合には、ＨｏＡ１が転送先として選択される。このときＨｏＡ１には転送前バッファリング要求が付加されているので、ＨＡ８０は、パケットをすぐにＨｏＡ１へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＨｏＡ１あてに転送を開始する。この動作の結果、パケットは、各ＨＡ６０、８０でバッファリングを繰り返しながら複数のＨＡ間で転送され続けることになる。なお、３つ以上のＨＡを用いてもよく、その場合、転送前バッファリングが、利用できる複数のＨＡによって連鎖的に順次起こるように、転送前バッファリング要求を付加したそれぞれのホームアドレスをケアオブアドレスとして登録をすることによって、利用できるＨＡの数だけバッファ量を増やすことが可能となるため、よりパケットロスを軽減することが可能となる。
【０１７１】
以上、説明したように、本発明の第３の実施の形態によれば、上述の本発明の第１及び第２の実施の形態を組み合わせて利用することが可能である。また、例えば、転送バッファリング要求で特定のケアオブアドレスが指定されている場合であっても、バッファリング要求の対象のパケット（例えば、特定のフローに係るパケット）に対してのみ転送前バッファリング処理が行われるようにするなど、バッファリング要求情報と転送前バッファリング要求情報との組み合わせに応じて、バッファリングの態様を定めるルールを様々に設定することが可能である。
【０１７２】
なお、図１３に示すように、ＭＮ１０が、ネットワークベースのモビリティプロトコルが提供されているローカルネットワーク５１５に接続している際には、ＭＮ１０の移動に係る制御を代理で行う代理ノード５１８（Proxy Mobile Agent）が、本発明の第３の実施の形態におけるＭＮ１０が保持する機能を有していてもよい。この場合、代理ノード５１８は、独自の判断で選択的バッファリング及び転送前バッファリングするべきパケットの対象を判断してもよいし、ＭＮ１０から指示を受けてもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、選択的バッファリング及び転送前バッファリング要求情報の通知をしないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、選択的バッファリング及び転送前バッファリング要求情報の通知を行うことを選択するようにしてもよい。代理ノード５１８は、決定したバッファリング要求及び転送前バッファリング要求情報を、ＭＮ１０を管理しているＨＡ６０へ通知する。
【０１７３】
また、代理ノード５１８が、本発明の第３の実施の形態におけるＨＡが保持する機能を有していてもよい。この場合、ＭＮ１０は、フロー情報にバッファリング要求情報及び転送前バッファリング要求情報を付加して代理ノードへ通知する。この通知を受けた代理ノード５１８は、ＨＡ６０から転送されたＭＮ１０のホームアドレス（ＨｏＡ１）あてのパケットが、バッファリング要求情報が付加されたフローに一致した場合には、バッファリングを行い、さらにＭＮ１０の接続の不安定性などにより再送が必要であると判断した場合には、バッファリングしているパケットを用いて再送を行う。また、転送前バッファリング要求情報が付加されたフローに一致した場合には、パケットをすぐにＭＮ１０へ転送せず、いったん転送前バッファリング処理部７０８にバッファリングする。そして、一定の時間だけパケットを格納した後（例えばパケットをバッファリングしているバッファがフルになるまで）、パケットをカプセル化してＭＮ１０へ転送を開始する。また、代理ノード５１８は、独自の判断で選択的バッファリング及び転送前バッファリングするべきパケットの対象を判断してもよい。また、代理ノード５１８は、ＭＮ１０の接続状態を随時監視することで、ＭＮ１０の接続が安定している場合には、選択的バッファリング及び転送前バッファリング行わないことを選択し、ＭＮ１０の接続が切れているときや不安定なときなどに、選択的バッファリング及び転送前バッファリングを行うことを選択するようにしてもよい。
【０１７４】
なお、本明細書では、本発明の第１〜第３の実施の形態に係る技術を独立して説明しているが、本発明の第１〜第３の実施の形態に係る技術を任意に組み合わせて、本発明を実現することも可能である。
【０１７５】
また、上述の本発明の各実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１７６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１７７】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０１７８】
本発明は、ＣＮからＨＡを経由してＭＮに送信されるパケットに関して、ＭＮにとって有効なパケットに関する再送制御ができるようになるという効果を有しており、パケット転送技術及びアドレス管理技術に適用可能であり、特にモバイルＩＰｖ６におけるパケット転送技術及びアドレス管理技術に適用可能である。
【図面の簡単な説明】
【０１７９】
【図１】本発明の第１の実施の形態におけるネットワーク構成の一例を示す図
【図２】本発明の第１の実施の形態におけるＭＮ１０の構成の一例を示す図
【図３】本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバインディング情報通知メッセージの一例を示す図
【図４】本発明の第１の実施の形態におけるＭＮ１０が生成、送信するフロー情報通知メッセージの一例を示す図
【図５】本発明の第１の実施の形態におけるＭＮ１０が生成、送信するバッファリング要求メッセージの一例を示す図
【図６】本発明の第１の実施の形態におけるＨＡ６０の構成の一例を示す図
【図７】本発明の第２の実施の形態におけるネットワーク構成の一例を示す図
【図８】本発明の第２の実施の形態におけるＭＮの構成の一例を示す図
【図９】本発明の第２の実施の形態におけるＭＮが生成、送信するバインディング情報通知メッセージの一例を示す図
【図１０】本発明の第２の実施の形態におけるＨＡの構成の一例を示す図
【図１１】本発明の第３の実施の形態におけるＭＮの構成の一例を示す図
【図１２】本発明の第３の実施の形態におけるＨＡの構成の一例を示す図
【図１３】本発明の第１〜第３の実施の形態において、代理ノードを有するネットワーク構成の一例を示す図
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007119406.tif 000016
【図２】
2007119406.tif 000017
【図３】
2007119406.tif 000018
【図４】
2007119406.tif 000019
【図５】
2007119406.tif 000020
【図６】
2007119406.tif 000021
【図７】
2007119406.tif 000022
【図８】
2007119406.tif 000023
【図９】
2007119406.tif 000024
【図１０】
2007119406.tif 000025
【図１１】
2007119406.tif 000026
【図１２】
2007119406.tif 000027
【図１３】
2007119406.tif 000028
【国際調査報告】
2007119406.tif 000029
2007119406.tif 000030
2007119406.tif 000031
2007119406.tif 000032