(57)【要約】パケットロスの発生を防ぎ、通信の遅延を防ぐことができる移動端末を提供する技術が開示され、その技術によれば移動端末の通信相手である通信端末と通信ネットワークを介して、通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う移動端末であって、通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段２６と、バインディングキャッシュの有効時間の情報を記憶する記憶手段２５と、通信端末と通信を開始する際、計測された経過時間がバインディングキャッシュの有効時間を超えているか否かを判断する判断手段２７と、経過時間がバインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに通信端末のホームアドレスを設定してパケットを生成するパケット生成手段２７と、生成されたパケットを通信端末へ送信する送信手段２１とを備える。
2009110224.tif 000002
【特許請求の範囲】
【請求項１】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、
前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、
前記通信端末と通信を開始する際、計測された前記経過時間が前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、
前記経過時間が前記バインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに前記通信端末のホームアドレスを設定して前記パケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項２】
前記パケット生成手段は、前記バインディングキャッシュの前記通信端末のアドレス情報を前記パケットに付加する請求項１に記載の移動端末。
【請求項３】
前記バインディングキャッシュの有効時間の情報を含むメッセージを前記通信端末から受信する受信手段を更に備え、
前記記憶手段は、受信された前記メッセージに含まれる前記バインディングキャッシュの有効時間の情報を取得し記憶する請求項１又は２に記載の移動端末。
【請求項４】
前記計測手段は、前記通信端末との通信が終了した際に前記経過時間の計測を開始する請求項１に記載の移動端末。
【請求項５】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、
前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、
前記バインディングキャッシュ内に前記通信端末の複数のアドレス情報が含まれる場合、前記通信端末と通信を開始する際、計測された前記経過時間であって、それぞれの前記アドレス情報に対応する前記経過時間が、前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、
それぞれの前記アドレス情報に対応する前記経過時間のすべてが前記バインディングキャッシュの有効時間を超えていると判断された場合に、前記バインディングキャッシュ内の前記通信端末のアドレス情報が既に前記バインディングキャッシュの有効時間を経過しているアドレス情報である旨を含めてパケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項６】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末からのパケットを受信する受信手段と、
受信された前記パケットが前記移動端末のホームエージェントによってカプセル化されたパケットであるか否かを判断する判断手段と、
前記ホームエージェントによってカプセル化されたパケットであると判断された場合、送信元アドレスに前記移動端末自身のアドレス情報を設定し、前記移動端末自身のホームアドレスを含むホームアドレスオプションを付加したパケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項７】
前記カプセル化された前記パケットには、前記移動端末のアドレス情報が付加されている請求項６に記載の移動端末。
【請求項８】
前記通信端末に対して、前記移動端末との通信が終了した際に、前記通信が終了してから新たに通信を開始するまでの経過時間の計測を開始するべき旨の指示を含むメッセージを生成する第１のメッセージ生成手段を更に備え、
前記送信手段は、生成された前記メッセージを前記通信端末へ送信する請求項６又は７に記載の移動端末。
【請求項９】
前記通信端末が有する前記移動端末のバインディングキャッシュの有効時間の情報を含むメッセージを生成する第２のメッセージ生成手段を更に備え、
前記送信手段は、生成された前記メッセージを前記通信端末へ送信する請求項６に記載の移動端末。
【請求項１０】
前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合に、
前記移動端末自身に格納された、前記通信端末との通信が終了してから新たに通信が開始されるまでに計測される経過時間をリセットする処理手段を更に備える請求項６に記載の移動端末。
【請求項１１】
前記移動端末自身が複数のインタフェースを有し、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合、
前記処理手段は、各インタフェースのアドレス情報に対応する前記経過時間をリセットする請求項１０に記載の移動端末。
【請求項１２】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末から送信されるパケットを受信する受信手段と、
受信された前記パケットが前記移動端末のホームエージェントを経由して送信されたパケットであるか否かを判断する判断手段と、
前記パケットが前記ホームエージェントを経由したパケットであると判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、
選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、
備える移動端末。
【請求項１３】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との通信が終了したか否かを判断する判断手段と、
前記通信端末との通信が終了したと判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、
選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、
備える移動端末。
【請求項１４】
前記所定の処理は、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理である請求項１２又は１３に記載の移動端末。
【請求項１５】
前記処理情報は、あらかじめ前記通信端末から送信されたメッセージに含まれている情報である請求１２に記載の移動端末。
【請求項１６】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末から受信した前記パケットが前記通信端末のホームエージェントを経由したパケットである場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、
生成された前記メッセージを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項１７】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末との通信が終了したと判断された場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、
生成された前記メッセージを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項１８】
前記所定の処理は、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理である請求項１６又は１７に記載の移動端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介して通信相手とパケット通信を行う移動端末に関する。
【背景技術】
【０００２】
モバイルＩＰ（非特許文献１を参照）を利用するモバイルノード（以下、ＭＮとも言う）は、移動先のアドレスであるケアオブアドレス（以下、ＣｏＡ：Care-of Addressとも言う）を自身のホームアドレス（以下、ＨｏＡ：Home Addressとも言う）を管理するホームエージェント（以下、ＨＡとも言う）、又は通信相手（以下、ＣＮ：Correspondent Nodeとも言う）に登録し、ＨｏＡあてパケットの転送を依頼する。ＭＮが、複数のＣｏＡを１つのＨｏＡに対して同時に関連付けて登録することができれば、複数のインタフェースを備えるＭＮは、それぞれのインタフェースに割り当てられたＣｏＡを登録することで、インタフェースの状態に応じて使用するＣｏＡを瞬時に切り替えることが可能となる。非特許文献２には、ＭＮが複数のＣｏＡを１つのＨｏＡに関連付けてＨＡに登録する手法としてバインディングＩＤ（以下、ＢＩＤ：Binding Identifierとも言う）を用いる手法が開示されている。【０００３】
ＨＡ及びＣＮに登録（エントリ）されるＭＮの位置情報はバインディングキャッシュ（以下、ＢＣ：Binding Cacheとも言う）と呼ばれ、各エントリにはその有効期間を示すライフタイムが設定される。ＭＮは、登録済みのバインディングキャッシュを維持したい場合には、そのライフタイムが切れる前にバインディングアップデートメッセージ（以下、ＢＵ（Binding Update）メッセージとも言う）を送信して、ライフタイムを延長する。一方、ライフタイムが切れると、そのエントリは自動的に削除される。【０００４】
例えば、ＣＮとＭＮが通信をする際に、ＣＮからＭＮへバインディングキャッシュが登録された場合、ＭＮはＣＮへ送信するパケットに対して、バインディングキャッシュに登録されているＣｏＡを宛先に設定してパケットを送信する。これにより、送信されたパケットは、ＣＮのホームエージェントを経由することなく、移動先にいるＣＮへ直接届けられる。【０００５】
この通信が終了した後、ＣＮからＭＮへ通信をしない場合、ＣＮはＭＮへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、バインディングキャッシュのライフタイムを延長するためのＢＵメッセージを送信しないため、ＭＮに登録されているバインディングキャッシュは、そのライフタイムが切れた後に自動的に削除される。一方、この通信が終了した後に、ＭＮからＣＮへ通信を開始する場合、ＣＮのバインディングキャッシュがまだ存在する場合には、ＭＮはそのバインディングキャッシュに登録されているＣｏＡを宛先アドレスに使用してパケットを送信することができる。
【非特許文献１】D.Johnson, C.Perkins, J.Arkko, "Mobility Support in IPv6", RFC3775, June 2004.
【非特許文献２】R.Wakikawa, T.Ernst, K.Nagami, V.Devarapalli "Multiple Care-of Addresses Registration", draft-ietf-monami6-multiplecoa-05.txt, January 2008.
【０００６】
しかしながら、ＣＮとＭＮ間の通信が終了した以降、ＣＮからＭＮへ通信をしない場合、ＣＮはＭＮへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、ライフタイムを延長するためのＢＵメッセージが送信されないため、たとえＣＮが別のネットワークへ移動して別のＣｏＡを取得していたとしても、ＭＮに登録されているバインディングキャッシュは更新されない。【０００７】
また、ＭＮへ登録されるバインディングキャッシュのライフタイムを、実際の通信に要する時間に合わせて設定することが難しいため、実際の通信が終了している場合でも、バインディングキャッシュが残り続ける状態が起こる可能性がある。そのため、ＭＮが保持するバインディングキャッシュは、ライフタイムが有効であるにもかかわらず、登録されているＣｏＡがもはやＣＮの正しい移動先を指していないという状態が起こり得る。これにより、ＭＮは、ＣＮとの通信を開始する時に、まだライフタイムが有効であるバインディングキャッシュに登録されているＣｏＡを宛先アドレスとして使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるＣＮへは転送されずに、パケットロスが発生してしまう。【０００８】
また、ＣＮから、経路最適化を使用していないパケットを受信したときに、そのＣＮのライフタイムが有効であるバインディングキャッシュをＭＮが保持しているという状態が起こり得る。これにより、ＭＮは、保持しているＣＮのバインディングキャッシュに登録されているＣｏＡを宛先として使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるＣＮへは転送されずにパケットロスが発生してしまう。
【発明の開示】
【０００９】
本発明は、上記の問題点に鑑み、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる移動端末を提供することを目的とする。また、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる移動端末を提供することを目的とする。
【００１０】
上記目的を達成するために、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記通信端末と通信を開始する際、計測された前記経過時間が前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、前記経過時間が前記バインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに前記通信端末のホームアドレスを設定して前記パケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。なお、バインディングキャシュの有効時間は、後述するＢＣ使用可能期間に相当する。また、経過時間は、後述する通信終了後経過時間タイマに相当する。
【００１１】
また、本発明の移動端末において、前記パケット生成手段が、前記バインディングキャッシュの前記通信端末のアドレス情報を前記パケットに付加することは、本発明の好ましい態様である。この構成により、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
【００１２】
また、本発明の移動端末において、前記バインディングキャッシュの有効時間の情報を含むメッセージを前記通信端末から受信する受信手段を更に備え、前記記憶手段が、受信された前記メッセージに含まれる前記バインディングキャッシュの有効時間の情報を取得し記憶することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得することができる。
【００１３】
また、本発明の移動端末において、前記計測手段が前記通信端末との通信が終了した際に前記経過時間の計測を開始することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得することができる。
【００１４】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記バインディングキャッシュ内に前記通信端末の複数のアドレス情報が含まれる場合、前記通信端末と通信を開始する際、計測された前記経過時間であって、それぞれの前記アドレス情報に対応する前記経過時間が、前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、それぞれの前記アドレス情報に対応する前記経過時間のすべてが前記バインディングキャッシュの有効時間を超えていると判断された場合に、前記バインディングキャッシュ内の前記通信端末のアドレス情報が既に前記バインディングキャッシュの有効時間を経過しているアドレス情報である旨を含めてパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００１５】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末からのパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントによってカプセル化されたパケットであるか否かを判断する判断手段と、前記ホームエージェントによってカプセル化されたパケットであると判断された場合、送信元アドレスに前記移動端末自身のアドレス情報を設定し、前記移動端末自身のホームアドレスを含むホームアドレスオプションを付加したパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００１６】
また、本発明の移動端末において、前記カプセル化された前記パケットに、前記移動端末のアドレス情報が付加されていることは、本発明の好ましい態様である。この構成により、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
【００１７】
また、本発明の移動端末において、前記通信端末に対して、前記移動端末との通信が終了した際に、前記通信が終了してから新たに通信を開始するまでの経過時間の計測を開始するべき旨の指示を含むメッセージを生成する第１のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得させることができる。なお、本発明の実施の形態で説明するように、第１のメッセージ生成手段と第２のメッセージ生成手段は同一の手段（構成要素）であってもよい。
【００１８】
また、本発明の移動端末において、前記通信端末が有する前記移動端末のバインディングキャッシュの有効時間の情報を含むメッセージを生成する第２のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得させることができる。
【００１９】
また、本発明の移動端末において、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合に、前記移動端末自身に格納された、前記通信端末との通信が終了してから新たに通信が開始されるまでに計測される経過時間をリセットする処理手段を更に備えることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
【００２０】
また、本発明の移動端末において、前記移動端末自身が複数のインタフェースを有し、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合、前記処理手段が、各インタフェースのアドレス情報に対応する前記経過時間をリセットすることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
【００２１】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末から送信されるパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントを経由して送信されたパケットであるか否かを判断する判断手段と、前記パケットが前記ホームエージェントを経由したパケットであると判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２２】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との通信が終了したか否かを判断する判断手段と、前記通信端末との通信が終了したと判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２３】
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
【００２４】
また、本発明の移動端末において、前記処理情報があらかじめ前記通信端末から送信されたメッセージに含まれている情報であることは、本発明の好ましい態様である。この構成により、いずれの処理を行えばよいか判断することができる。
【００２５】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末から受信した前記パケットが前記通信端末のホームエージェントを経由したパケットである場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２６】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末との通信が終了したと判断された場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２７】
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
【００２８】
本発明の移動端末は、上記構成を有し、パケットロスの発生を抑制し、通信の遅延を抑制することができる。また、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１の実施の形態におけるネットワークの構成の一例を示す構成図
【図２】本発明の第１の実施の形態に係るＭＮの構成の一例を示す構成図
【図３】本発明の第１の実施の形態におけるＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例を示す図
【図４】本発明の第１の実施の形態における位置情報保持部が保持するＣＮのバインディングキャッシュの一例を示す図
【図５】本発明の第１の実施の形態に係るＭＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図６】本発明の第１の実施の形態に係るＭＮの受信パケット処理部における処理フローの一例を示すフローチャート
【図７】本発明の第１の実施の形態に係るＣＮの構成の一例を示す構成図
【図８】本発明の第１の実施の形態に係るＣＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図９】本発明の第１の実施の形態に係るＣＮの受信パケット処理部における処理フローの一例を示すフローチャート
【図１０】本発明の第２の実施の形態におけるネットワークの構成の一例を示す構成図
【図１１】本発明の第２の実施の形態における複数のＣｏＡを登録する場合のＢＵメッセージの構成の一例を示す図
【図１２】本発明の第２の実施の形態に係るＭＮの位置情報保持部が保持するＣＮのバインディングキャッシュの一例を示す図
【図１３】本発明の第２の実施の形態に係るＭＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図１４】本発明の第３の実施の形態に係るＭＮの構成の一例を示す構成図
【図１５】本発明の第３の実施の形態におけるＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例を示す図
【図１６】本発明の第３の実施の形態に係るＭＮの受信パケット処理部における処理フローの一例を示すフローチャート
【図１７】本発明の第３の実施の形態に係るＭＮの位置情報保持部が保持するＣＮのバインディングキャッシュの一例を示す図
【図１８】本発明の第３の実施の形態に係るＭＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図１９】本発明の第３の実施の形態におけるＢＵメッセージを用いた場合のＢＣ確認メッセージのフォーマットの一例を示す図
【図２０】本発明の第３の実施の形態に係るＣＮの構成の一例を示す構成図
【図２１】本発明の第３の実施の形態に係るＣＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図２２】本発明の第４の実施の形態に係るＭＮの構成の一例を示す構成図
【発明を実施するための最良の形態】
【００３０】
＜第１の実施の形態＞
図１は本発明の第１の実施の形態におけるネットワークの構成の一例を示す構成図である。図１には、ホームネットワーク１とホームネットワーク２、及び外部ネットワーク１１、１２、１３があり、ＭＮ１０はホームネットワーク１のＨＡ１４によって管理され、ホームアドレスとしてＨｏＡ１が割り当てられている。さらに、ＭＮ１０のインタフェースは外部ネットワーク１１に接続されており、ＣｏＡ１が割り当てられている。【００３１】
一方、ＣＮ２０は、ホームネットワーク２のＨＡ１５によって管理され、ホームアドレスとしてＨｏＡ２が割り当てられている。さらに、ＣＮ２０のインタフェースは外部ネットワーク１２に接続されており、ＣｏＡ２が割り当てられている。ＨＡ１４は、ＭＮ１０のバインディングキャッシュとして、ＨｏＡ１に対する移動先アドレスとしてＣｏＡ１を関連付けて保持している。また、ＨＡ１５は、ＣＮ２０のバインディングキャッシュとして、ＨｏＡ２に対する移動先アドレスとしてＣｏＡ２を関連付けて保持している。【００３２】
なお、ＭＮ１０及びＣＮ２０のホームネットワーク及びＨＡは、同一のホームネットワーク及びＨＡであってもよい。また、以下の説明では、ＭＮ１０と区別するために、ＭＮ１０と通信を行うノードを通信相手という意味でＣＮと呼んでいるが、本発明におけるその実態はＭＮ１０と同様にモバイルノードである。つまり、ＣＮ２０にとっての通信相手はＭＮ１０となり、ＭＮ１０をＣＮと呼ぶこともできる。また、図1に示すネットワークの構成は、３ＧＰＰ（Third Generation Partnership Project）などの携帯電話用ネットワーク網に適用することも可能である。その場合、ＨＡ機能はＰＤＮゲートウェイ（Packet Data Network Gateway）と呼ばれるネットワークノード上の機能として実現され、ＡＲ機能は、セルラネットワーク内のサービングゲートウェイ（Serving Gateway）、ＷｉＭＡＸなどの信頼できるネットワーク（Trusted Network）内のアクセスルータ、又はＮｏｎ３ＧＰＰネットワーク（Untrusted Network）に対するゲートウェイであるePDG（evolved Packet Data Gateway）等の機能として実現される。またＭＮ、及びＣＮはＵＥ（User Equipment）と呼ばれる。【００３３】
図２は、本発明の第１の実施の形態におけるＭＮの構成の一例を示す構成図である。ＭＮ１０は、例えば図２に示す構成要素を備えている。送信部２１は、インタフェース２２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードにパケットを送信する機能を有している。また、受信部２３は、インタフェース２２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードからパケットを受信する機能を有している。【００３４】
位置情報登録メッセージ処理部２４は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のＣｏＡをＨｏＡに関連付け、バインディングキャッシュとして位置情報保持部２５に保持するよう指示する。さらに、位置情報登録メッセージの中に含まれているＢＣ使用可能期間（ＢＣ有効期間）を取得し、バインディングキャッシュの中に保持させる。なお、ＢＣ使用可能期間が位置情報登録メッセージに含まれていない場合には、ＭＮ１０自身が適切なＢＣ使用可能期間を生成するようにしてもよい。【００３５】
図３は、ＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図３に示されているように、登録するＣｏＡ３１と共にＢＣ使用可能期間３２が含まれている。なお、上述したように、ＢＣ使用可能期間はこのメッセージ内に含めずにＭＮ１０側で生成するようにしてもよい。また、位置情報登録メッセージには、ＭＮ１０に対して、ＣＮ２０との通信が終了した後に、通信が終了してからの経過時間（通信が終了してから新たな通信を開始するまでの経過時間）である通信終了後経過時間タイマ（以下、単にタイマとも言う）の計測をスタートさせることを求める情報（通信終了後経過時間タイマ使用要求フラグ３３）を付加してもよい。この情報は、ＢＣ使用可能期間が含まれていることで示されてもよいし、ＢＣ使用可能期間が含まれていない場合には、フラグなどで通信終了後経過時間タイマを使用することを要求している旨を示してもよい。【００３６】
位置情報保持部２５は、通信相手から登録されたバインディングキャッシュ（ＢＣ使用可能期間の情報を含む）を保持する。また、受信パケット処理部２６、又は上位レイヤ２８からバインディングキャッシュの通信終了後経過時間タイマの計測のスタートの指示を受ける。図４は、位置情報保持部２５が保持するＣＮ２０のバインディングキャッシュの一例を示している。図４に示すように、ＨｏＡ２に関連付けられたＣｏＡ２に対して、ライフタイム４１、通信終了後経過時間タイマ４２、ＢＣ使用可能期間４３が管理されている。ライフタイムはＢＣのライフタイムである。なお、通常のバインディングキャッシュのライフタイムとして、ＢＣ使用可能期間を保持してもよい。この場合、図３において、ＢＣ使用可能期間３２は、ＢＵメッセージのライフタイムフィールドに設定される。ライフタイムフィールドの値がＢＣ使用可能期間であることを受信ノードへ示すために、ＢＵメッセージにフラグなどを含めてもよい。【００３７】
送信パケット生成部２７は、上位レイヤ２８から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部２１へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部２７は、位置情報保持部２５を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。【００３８】
ここで、送信パケット生成部２７における処理の一例について図５を用いて説明する。ＣＮ２０との通信を開始すると、まず、通信相手のＣＮ２０に関するバインディングキャッシュ（ＢＣ）が存在するか否かを判断する（ステップＳ５０１）。存在しない場合には、通信相手のＨｏＡをパケットの宛先アドレスにセットして（ステップＳ５０２）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。一方、存在する場合には、そのバインディングキャッシュの通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する（ステップＳ５０４）。【００３９】
タイマの計測がスタートしていない場合には、バインディングキャッシュに登録されているＣｏＡをパケットの宛先アドレスにセットして（ステップＳ５０５）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。一方、タイマの計測が既にスタートしている場合には、タイマがＢＣ使用可能期間よりも大きいか否かを判断する（ステップＳ５０６）。大きい場合には、ＣＮ２０のＨｏＡをパケットの宛先アドレスにセットしＣｏＡをオプションとして含め（ステップＳ５０７）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。一方、大きくない場合には、バインディングキャッシュに登録されているＣｏＡをパケットの宛先アドレスにセットして（ステップＳ５０５）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。なお、ステップＳ５０５において、宛先アドレスとしてＣｏＡがセットされるパケットは、モバイルＩＰにおける経路最適化を用いた場合のパケットであるため、ＨｏＡを含むルーティングヘッダが含まれている。また、ステップＳ５０７において、ＣｏＡを含むオプションとしては、ＩＰｖ６で定義されているデスティネーションオプションが用いられるのが望ましい。また、ＣｏＡの代わりにＢＩＤを用いてもよい。【００４０】
なお、ＢＣ使用可能期間は、上述したようにＭＮ１０が任意に設定してもよいし、さらにその値をＣＮ２０に対して通知してもよい。この場合、ＣＮ２０からの位置情報登録メッセージにはＭＮ１０に対してＢＣ使用可能期間は含まれない。また、ＨＡや、ゲートウェイサーバ（ｅＰＤＧ、ＰＤＮゲートウェイ）などのオペレータ側のエンティティがＭＮ１０及びＣＮ２０に対して設定するようにしてもよい。また、ＭＮ１０がオペレータ側のエンティティに対して、ＢＣ使用可能期間、及び通信終了後経過時間タイマの使用をするべきか否かを確認するようにしてもよい。あるいは、ＣＮ２０から、通信が終了した後、明示的にＢＣを削除することを要求するメッセージ（Binding Revocationメッセージ）を受信しない場合に、ＢＣ使用可能期間、及び通信終了後経過時間タイマの使用をするべきと判断してもよい。【００４１】
上位レイヤ２８は、ＩＰレイヤの上位に位置するレイヤ全体を表わすものであり、トンランスポート層（ＴＣＰ／ＵＤＰ）、さらにその上位のアプリケーションまでを含む。受信パケット処理部２６は、受信部２３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部２６で処理されたパケット内のデータは、上位レイヤ２８又は送信パケット生成部２７に送られる。また、受信パケット処理部２６、及び上位レイヤ２８は、ＣＮ２０との通信が完了した時に、位置情報保持部２５に保持されているＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマの計測をスタートすることを指示する。なお、位置情報保持部２５は、ＣＮ２０との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ２８及び受信パケット処理部２６に問い合わせることや、あるいは上位レイヤ２８及び受信パケット処理部２６から通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。【００４２】
ここで、受信パケット処理部２６における処理の一例について図６を用いて説明する。ＣＮ２０からパケットを受信すると、まず、受信したパケットに、通信相手のＣＮ２０のＨｏＡを含むホームアドレスオプションが付加されているか否かを判断し（ステップＳ６０１）、付加されていない場合は、ＨＡ経由で転送されていたパケットであると判断して、ＣＮ２０のバインディングキャッシュ（ＢＣ）を削除し（ステップＳ６０２）、パケットに含まれるデータの受信処理を行う（ステップＳ６０３）。【００４３】
なお、ＣＮ２０から経路最適化を使用せずにＨＡ経由でパケットが転送されてきた後であっても、ＣＮ２０が再び経路最適化を使用してパケットを送信して来る場合に備える場合は、Ｓ６０２において、バインディングキャッシュを削除せずに、通信終了後経過時間タイマをスタートさせる。この場合のタイマは、ＣＮ２０からのパケットが、経路最適化を使用せずに送られてきている間の時間を計測する。これにより、ＣＮ２０が再び経路最適化を使用してパケット送信する場合でも、ＣＮ２０はＭＮ１０に対して位置情報の登録を行う必要がなくなるとともに、ＣＮ２０の位置情報がＢＣ有効期間を超えた後に、ＭＮ１０がＣＮ２０の位置情報を使用するのを防ぐことができる。また、ＣＮ２０が再び経路最適化を使用してきた場合には、ステップＳ６０５によってタイマがリセットされるため、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュが再び利用可能となる。なお、ホームアドレスオプションが付加されていないということは、経路最適化を使用したパケットではないことを意味する。【００４４】
一方、ホームアドレスオプションが付加されている場合は、パケットの送信元アドレスが、バインディングキャッシュに登録されているＣｏＡと一致するか否かを判断する（ステップＳ６０４）。一致する場合には、バインディングキャッシュの通信終了後経過時間タイマをリセットする（ステップＳ６０５）。これにより、ＭＮ１０がＣＮ２０へパケットを送信した際に、通信終了後経過時間タイマの値がＢＣ使用可能期間よりも大きいために、経路最適化を使用せずにパケットを送信していた場合には、タイマがリセットされることによって、ＣＮ２０へパケットを送信する際に、再びバインディングキャッシュを用いた経路最適化を利用することができるようになる。一方、ステップＳ６０４において一致しない場合には、登録されていないＣｏＡからのパケットであると判断して、バインディングキャッシュを削除し（ステップＳ６０６）、受信パケットを破棄する（ステップＳ６０７）。【００４５】
図７は、本発明の第１の実施の形態におけるＣＮの構成の一例を示す構成図である。ＣＮ２０は、例えば図７に示す構成要素を備えている。送信部７１は、インタフェース７２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードにパケットを送信する機能を有している。また、受信部７３は、インタフェース７２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードからパケットを受信する機能を有している。【００４６】
登録済み位置情報保持部７４は、通信相手（例えば、ＭＮ１０）へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部７５、又は上位レイヤ７８から登録済み位置情報の通信終了後経過時間タイマの計測のスタートの指示を受ける。なお、登録済み位置情報保持部７４は、ＭＮ１０との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ７８及び受信パケット処理部７５に問い合わせることや、あるいは上位レイヤ７８及び受信パケット処理部７５にから通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。さらに、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部７６に対して指示する。【００４７】
位置情報登録メッセージ生成部７６は、送信パケット生成部７７又は受信パケット処理部７５からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。さらに、登録するバインディングキャッシュに対するＢＣ使用可能期間を位置情報登録メッセージの中に含め、送信部７１に対して送信するよう指示する。【００４８】
なお、ＢＣ使用可能期間は、通信状態（通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定）、接続状態（接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定）、ハンドオーバの発生頻度（ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定）、通信データの種類（音声データ、動画データなどのリアルタイムデータ、制御メッセージなど）、インタフェースの種類（セルラ、ＷｉＭＡＸ、ＷＬＡＮ）などに応じて、ＣＮ２０及びＭＮ１０にとって適切な値を設定することが望ましい。また、プロトコルの種類（ＴＣＰ、ＵＤＰ、ＳＩＰ、ＲＴＰなど）によって値が任意に定められていてもよい。さらに、通信相手であるＣＮによって値が任意に定められていてもよい。例えば、同一のオペレータに属するＣＮであるか否かによって値が任意に定められてもよい。なお、ＭＮ１０が保持するＢＣ使用可能期間はＣＮ２０が保持するＢＣ使用可能期間よりも大きいことが望ましい。【００４９】
また、位置情報登録メッセージ生成部７６は、登録済み位置情報保持部７４からの指示を受け、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ＭＮ１０のライフタイムを更新するための位置情報登録メッセージを生成する。送信パケット生成部７７は、上位レイヤ７８又は受信パケット処理部７５から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部７１へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部７７は、登録済み位置情報保持部７４を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。【００５０】
ここで、送信パケット生成部７７における処理の一例について図８を用いて説明する。パケットを送信するよう指示されると、まず、宛先となるノードに対してバインディングキャッシュ（ＢＣ）を登録しているか否かを判断する（ステップＳ８０１）。登録していない場合には、送信するパケットをＨＡあてにカプセル化し（ステップＳ８０２）、カプセル化されたパケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。一方、登録している場合には、その登録済み位置情報の通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する（ステップＳ８０４）。【００５１】
タイマの計測がスタートしていない場合には、パケットに対して、ＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ８０５）、パケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。一方、タイマの計測が既にスタートしている場合には、タイマがＢＣ使用可能期間よりも大きいか否かを判断する（ステップＳ８０６）。大きい場合には、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させる必要があるか否かを判断し（ステップＳ８０７）、必要がある場合にはＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ８０５）、パケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。【００５２】
ＭＮ１０のＢＣ有効期間が、ＣＮ２０が保持するＢＣ有効期間よりも大きい場合、ＣＮ２０の通信終了後経過時間タイマがＢＣ有効期間よりも大きくなったとしても、ＭＮ１０の通信終了後経過時間タイマは未だＢＣ有効期間よりも大きくないため、Ｓ８０５において生成されたパケットをＭＮ１０が受信することで、バインディングキャッシュの通信終了後経過時間タイマがリセットされ、経路最適化の使用が開始される。一方、ステップＳ８０７において、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマをリセットする必要がない場合は、送信するパケットをＨＡあてにカプセル化し（ステップＳ８０９）、カプセル化されたパケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。一方、ステップＳ８０６において、大きくない場合には、通信終了後経過時間タイマをリセットし（ステップＳ８０８）、パケットに対して、ＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ８０５）、パケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。これにより、ＭＮ１０のバインディングキャッシュの通信終了後経過時間タイマがリセットされる。【００５３】
受信パケット処理部７５は、受信部７３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部７５で処理されたパケット内のデータは、上位レイヤ７８又は送信パケット生成部７７に送られる。また、受信パケット処理部７５及び上位レイヤ７８は、ＭＮ１０との通信が完了した時に、登録済み位置情報保持部７４に保持されているＭＮ１０へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。【００５４】
また、受信パケット処理部７５は、ＭＮ１０からパケットを受信した際に、登録済み位置情報保持部７４を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部７６に対して位置情報登録メッセージを生成し、ＭＮ１０へ送信するよう指示する。【００５５】
ここで、受信パケット処理部７５における処理の一例について図９を用いて説明する。ＭＮ１０からパケットを受信すると、まず、受信したパケットがＨＡによってカプセル化されて転送されたパケットであるか否かを判断する（ステップＳ９０１）。カプセル化されたパケットである場合は、ＨｏＡあてのパケットとして受信するために、デカプセル化を行う（ステップＳ９０２）。そして、デカプセル化した後のパケットにＣｏＡを含むＣｏＡ指定オプションが付加されているかどうかを判断する（ステップＳ９０３）。【００５６】
ＣｏＡ指定オプションが付加されている場合には、ＭＮ１０はバインディングキャッシュを持っているが、通信終了後経過時間タイマがあらかじめ決められた値（ＢＣ使用可能期間）よりも大きいためにＣｏＡあてに直接送信しなかったものと判断し、登録済み位置情報の通信終了後経過時間タイマをリセットする（ステップＳ９０４）。一方、ＣｏＡ指定オプションが付加されていない場合には、ＭＮ１０はバインディングキャッシュを保持していないと判断し、登録済み位置情報を削除する（ステップＳ９０５）。登録済み位置情報を削除したあと、ＭＮ１０に対して送信するパケットがあるか否かを判断し（ステップＳ９０６）、送信するパケットがある場合には、ＭＮ１０にバインディングキャッシュが登録されていない場合のパケット送信方法として、ＨＡあてにカプセル化し（ステップＳ９０７）、パケットを送信するよう送信部７１へ指示する（ステップＳ９０８）。【００５７】
一方、受信したパケットが、ＨＡによってカプセル化されたパケットではなく、ＨｏＡを含むルーティングヘッダが付加されているパケットである場合には、ＨｏＡあてのパケットとして受信するために、ルーティングヘッダ内のＨｏＡを宛先アドレスにセットし（ステップＳ９０９）、さらに登録済み位置情報の通信終了後経過時間タイマをリセットする（ステップＳ９０４）。通信終了後経過時間タイマをリセットした後、ＭＮ１０に対して送信するパケットがあるか否かを判断し（ステップＳ９１０）、送信するパケットがある場合には、ＭＮ１０にバインディングキャッシュが登録されている場合のパケット送信方法として、送信元アドレスにＣｏＡをセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ９１１）、パケットを送信するよう送信部７１へ指示する（ステップＳ９０８）。なお、受信したパケットの送信元に対して送信するパケットがある場合の送信方法は、図８に示されている処理を実行した場合と同等の結果となる。【００５８】
ここで、ＣＮ２０が外部ネットワーク１２に接続してＣｏＡ２を使用している場合に、ＣｏＡ２に関するバインディングキャッシュを保持しているＭＮ１０がＣＮ２０へ通信を開始する場合を考える。ＭＮ１０が保持するバインディングキャッシュの通信終了後経過時間タイマがＢＣ使用可能期間よりも大きい場合、ＣＮ２０は、ＨＡによってカプセル化され、かつ内部パケットにＣｏＡ指定オプションが付加されているパケットをＭＮ１０から受信する。【００５９】
ＣｏＡ指定オプションに含まれているＣｏＡ２はＣＮ２０の現在の移動先アドレスを示しているので、ＣＮ２０はＭＮ１０へ送信するパケットを、ＨＡを経由しない経路最適化されたパスを使用して届けることができる。さらに、ＣＮ２０は、ＣｏＡ指定オプションに含まれているＣｏＡ２はＣＮ２０の現在の移動先アドレスを示しているので、ＭＮ１０がまだ正しいバインディングキャッシュを保持していると判断できるため、新規にバインディングキャッシュを登録するための位置情報登録メッセージをＭＮ１０へ送信する必要がないと判断する。【００６０】
次に、ＣＮ２０が外部ネットワーク１３に接続してＣｏＡ３を使用している場合に、ＣｏＡ２に関するバインディングキャッシュを保持しているＭＮ１０がＣＮ２０へ通信を開始する場合を考える。ＭＮ１０が保持するバインディングキャッシュの通信終了後経過時間タイマがＢＣ使用可能期間よりも大きい場合、ＣＮ２０は、ＨＡによってカプセル化され、かつ内部パケットにＣｏＡ指定オプションが含まれているパケットをＭＮ１０から受信する。【００６１】
ＣｏＡ指定オプションに含まれているＣｏＡ２は、ＣＮ２０の現在の移動先アドレスを示していないため、ＣＮ２０はＭＮ１０へ送信するパケットを、ＨＡを経由するパスを使用して届けなければならない。さらに、ＭＮ１０の位置情報を正しい移動先アドレスで更新するために、位置情報登録メッセージをＭＮ１０へ送信する必要があると判断する。【００６２】
なお、本発明の第１の実施の形態におけるＭＮ１０の機能の一部を、ＭＮ１０の位置情報を管理しているＨＡ１４に適用した場合にも同様の効果を得ることができる。ＭＮ１０はＨＡ１４に対して、図３に示すようなＢＣ使用可能期間を含めたＢＵメッセージを送信する。ＨＡ１４は、ＭＮ１０から受信したＢＵメッセージ内のＢＣ使用可能期間を、ＭＮ１０のバインディングキャッシュに設定する。そして、ＭＮ１０とＣＮとの間の通信が終了した後（バインディングキャッシュを用いた通信が行われていない状態になったとき）にタイマをスタートさせる。そのタイマは、ＭＮ１０が再びそのバインディングキャッシュに登録されているＣｏＡを用いてＣＮとの通信を再開した場合にリセットさせる。このため、ＭＮ１０がしばらくの間通信をせずに、タイマがＢＣ有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。この場合、ＨＡ１４に、使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合（ＭＮ１０が複数のインタフェースを保持しているケース）は、ＨＡ１４は、次の転送先としてその他のバインディングキャッシュを選択して使用する。【００６３】
一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもＢＣ有効期間を超えている場合には、タイマの経過時間、またはＢＣ使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、ＨＡ１４は、バインディングキャッシュの使用保留を解除し、受信したパケットを登録されているＣｏＡ宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、ＨＡ１４においてパケットロスとなってしまう代わりに、ＭＮ１０が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ（ＣｏＡとしてＨｏＡをセット）が存在する場合には、ＨＡ１４はカプセル化せずにＨｏＡ宛にパケットを転送する。なお、ＭＮ１０の他のバインディングキャッシュがない場合でも、ＭＮ１０がホームネットワークに接続していることが分かる場合には、ＨｏＡ宛に転送してもよい。【００６４】
このように、本発明の第１の実施の形態におけるＭＮ１０及びＣＮ２０によって、ＣＮ２０へパケットを送信する際に、ＭＮ１０自身が保持しているＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマを確認し、その経過時間の大きさによって、実際に送信するパケットに対してバインディングキャッシュのＣｏＡを使用するか否かを判断することができる。【００６５】
具体的には、そのタイマの値がＢＣ使用可能期間よりも大きい（以前（最後）の通信から一定時間以上経過していることを示す）場合には、ＣＮ２０が既に移動していて、そのバインディングキャッシュが有効でない可能性があると判断し、送信するパケットをＣＮ２０のＨｏＡあてに送信する。これにより、ＣＮ２０が既に移動していて新しいＣｏＡを使用している場合でも、移動後のＣｏＡに転送されるため、パケットがロスしてしまうことを防ぐことができるという効果が得られる。【００６６】
さらに、ＭＮ１０は、バインディングキャッシュがまだ登録されていることをＣＮ２０に対して示すために、バインディングキャッシュに保持されているＣｏＡを含むＣｏＡ指定オプションをパケットに付加して送信するため、ＣＮ２０は、ＭＮ１０がまだ有効なバインディングキャッシュを保持していることを知ることができるため、バインディングキャッシュを新規に登録するための位置情報登録メッセージを送信する必要がなく、メッセージ送信に伴う処理負荷や、トラフィックを低減させることができるという効果が得られる。【００６７】
また、ＣＮ２０は、ＭＮ１０へ通知するＢＣ使用可能期間の値を通信状態、接続状態、ハンドオーバの発生頻度、通信データの種類、インタフェースの種類（セルラ、ＩＥＥＥ８０２．ａ／ｂ／ｇ／ｎなどのワイヤレスＬＡＮ、ＷｉＭＡＸ）などに応じて、任意に設定することで、その時点で最も適切な選択をＭＮ１０へ促すことができる。【００６８】
＜第２の実施の形態＞
図１０は、本発明の第２の実施の形態におけるネットワークの構成の一例を示す構成図である。図１と図１０の違いは、ＣＮ２０が２つのインタフェースを保持しているという点である。ＩＦ１は外部ネットワーク１２に接続しＣｏＡ２が割り当てられており、ＩＦ２は外部ネットワーク１３に接続しＣｏＡ３が割り当てられている。【００６９】
ＨＡ１４は、ＭＮ１０のバインディングキャッシュとして、ＨｏＡ１に対する移動先アドレスとしてＣｏＡ１が関連付けられた情報を保持している。また、ＨＡ１５は、ＣＮ２０のバインディングキャッシュとして、ＨｏＡ２に対する移動先アドレスとしてＣｏＡ２とＣｏＡ３が関連付けられた情報を保持している。なお、ＭＮ１０及びＣＮ２０のホームネットワーク及びＨＡは、同一のホームネットワーク及びＨＡであってもよい。また、ＣＮ２０はＭＮ１０と同様にモバイルノードであってもよい。【００７０】
本発明の第２の実施の形態におけるＭＮ１０の構成は、第１の実施の形態と同じであるため、図２を用いて説明する。第１の実施の形態と第２の実施の形態とで異なる点は、主に位置情報保持部２５と送信パケット生成部２７における処理である。ここで、複数のＣｏＡを登録する場合のＢＵメッセージ（位置情報登録メッセージ）の構成の一例を図１１に示す。図１１に示されているように、それぞれの登録するＣｏＡ１１１、１１２に対してＢＵ使用可能時間１１３、１１４が指定されている。なお、図１２は、位置情報保持部２５が保持するＣＮ２０のバインディングキャッシュの一例を示している。ＨｏＡ２に関連付けられたＣｏＡ２、ＣｏＡ３それぞれに対して、ライフタイム１２１、１２４、通信終了経過時間タイマ１２２、１２５、ＢＣ使用可能期間１２３、１２６が管理されている。【００７１】
位置情報保持部２５は、ＣＮ２０の位置情報として、１つのＨｏＡに対して複数のＣｏＡが関連付けられたバインディングキャッシュを保持する。また、送信パケット生成部２７は、パケットを生成する際に、位置情報保持部２５を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。【００７２】
ここで、送信パケット生成部２７における処理の一例について図１３を用いて説明する。ＣＮ２０との通信を開始すると、まず、通信相手のＣＮ２０のバインディングキャッシュ（ＢＣ）が存在するか否かを判断し（ステップＳ１３０１）、存在する場合、その中に複数のＣｏＡが登録されているか否かを判断する（ステップＳ１３０２）。複数のＣｏＡが登録されている場合には、それぞれのＣｏＡの通信終了後経過時間タイマを確認し、タイマがＢＣ使用可能期間よりも小さいエントリがあるか否かを判断する（ステップＳ１３０３）。【００７３】
該当するエントリがある場合にエントリが複数あるか否かを判断し（ステップＳ１３０４）、複数ある場合には、ＢＣ使用可能期間と通信終了後経過時間タイマとの差が最も大きいエントリを選択し（ステップＳ１３０５）、そのエントリのＣｏＡを宛先アドレスにセットしてパケットを生成し（ステップＳ１３０６）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。該当するエントリが１つある場合には、そのエントリのＣｏＡを宛先アドレスにセットしてパケットを生成し（ステップＳ１３０６）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。生成されるパケットは、宛先アドレスにＣｏＡが設定され、ＨｏＡを含むルーティングヘッダが付加されたパケットである。【００７４】
一方、ステップＳ１３０３において、該当するエントリがない場合には、登録（保持）されているバインディングキャッシュのＣｏＡが、ＢＣ使用可能期間を既に経過しているＣｏＡであることを示す情報をパケットに付加し（ステップＳ１３０８）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。この情報はＣｏＡ又はＢＩＤであってもよいし、ＣｏＡ指定オプションの中のフラグとして示されていてもよい。【００７５】
なお、ステップＳ１３０１においてバインディングキャシュが存在しない場合には通信相手のＣＮ２０のＨｏＡをパケットの宛先アドレスにセットし（ステップＳ１３０９）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。また、ステップＳ１３０２において複数のＣｏＡが登録されていない場合、第１の実施の形態で説明した図５のステップＳ５０４以降の処理が行われる。【００７６】
これにより、ＭＮ１０は、登録されているＣＮ２０の複数のＣｏＡの中で、ＣＮ２０の現在の移動先アドレスを正しく示している可能性がもっとも高いＣｏＡを選択してパケットを送信することが可能となる。【００７７】
本発明の第２の実施の形態におけるＣＮ２０の構成は、第１の実施の形態と同じであるため、図７を用いて説明する。第１の実施の形態と第２の実施の形態とで異なる点は、主に受信パケット処理部７５と送信パケット生成部７７における処理である。受信パケット処理部７５は、受信部７３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部７５で処理されたパケット内のデータは、上位レイヤ７８又は送信パケット生成部７７に送られる。【００７８】
また、受信パケット処理部７５は、ＭＮ１０との通信が完了した時に、登録済み位置情報保持部７４に保持されている、ＭＮ１０へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。また、受信パケット処理部７５は、ＭＮ１０からパケットを受信した際に、登録済み位置情報保持部７４を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部７６に対して位置情報登録メッセージを生成し、ＭＮ１０へ送信するよう指示する。【００７９】
なお、受信パケット処理部７５は、図９に示す処理とほぼ同様の処理を行うが、ＣｏＡ指定オプションには、複数のＣｏＡが含まれているため、それぞれのＣｏＡに対応する通信終了後経過時間タイマをリセットする。【００８０】
＜第３の実施の形態＞
本発明の第３の実施の形態においても図１を用いて説明する。なお、ＭＮ１０及びＣＮ２０のホームネットワーク及びＨＡは、同一のホームネットワーク及びＨＡであってもよい。また、以下の説明では、ＭＮ１０と区別するために、ＭＮ１０と通信を行うノードを通信相手という意味でＣＮと呼んでいるが、本発明におけるその実態はＭＮ１０と同様にモバイルノードである。つまり、ＣＮ２０にとっての通信相手はＭＮ１０となり、ＭＮ１０をＣＮと呼ぶこともできる。【００８１】
図１４は、本発明の第３の実施の形態におけるＭＮの構成の一例を示す構成図である。ＭＮ１０は、例えば図１４に示す構成要素を備えている。送信部１４０１は、インタフェース１４０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードにパケットを送信する機能を有している。また、受信部１４０３は、インタフェース１４０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードからパケットを受信する機能を有している。【００８２】
位置情報登録メッセージ処理部１４０４は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のＣｏＡをＨｏＡに関連付け、バインディングキャッシュとして位置情報保持部１４０５に保持するよう指示する。さらに、位置情報登録メッセージの中に、受信ノードによるバインディングキャッシュの扱いを示す情報（ＢＣタイプ情報）が含まれている場合、それらの情報もバインディングキャッシュの中に保持するよう指示する。【００８３】
バインディングキャッシュの扱いを示す情報としては、後述する（１）、(２)、(３)のいずれかを示す情報である。特に(３)の場合において、ＢＣ有効期間（ＢＣ使用可能期間）も一緒に含まれている場合、ＢＣ有効期間の値を取得し、位置情報保持部１４０５に対して、登録するバインディングキャッシュの中に保持するよう指示する。なお、ＢＣ有効期間が位置情報登録メッセージに含まれていない場合には、ＭＮ１０自身が適切なＢＣ有効期間を生成するようにしてもよいし、任意のサーバから適切な値を取得するようにしてもよい。【００８４】
図１５は、ＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図１５に示されているように、登録するＣｏＡ／ＢＩＤ１５０１と共に、ＢＣタイプ情報１５０２、さらにはＢＣ有効期間（ＢＣ使用可能期間）１５０３のフィールドが含まれている。なお、ＢＣ有効期間はＢＣタイプが（３）の場合に含まれる。受信パケット処理部１４０６は、受信部１４０３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部１４０６で処理されたパケット内のデータは、上位レイヤ１４０７又は送信パケット生成部１４０８に送られる。【００８５】
ここで、受信パケット処理部１４０６における処理の一例について図１６を用いて説明する。まず、ＣＮ２０からパケットを受信した際に（ステップＳ１６０１）、そのパケットが経路最適化を使用して送信されたパケットであるか否かを確認する（ステップＳ１６０２）。確認の方法としては、パケットにホームアドレスオプションが付加されているか否か、送信元アドレスがＣＮ２０のアドレスになっているか否かなどを確認する。経路最適化が使用されていない場合は、位置情報保持部１４０５を参照して、そのパケットの送信元ノードであるＣＮ２０に関するバインディングキャッシュを保持しているか否かを確認する（ステップＳ１６０３）。バインディングキャッシュを保持している場合には、ＢＣタイプ情報を確認し（ステップＳ１６０４）、以下の（１）から（３）のいずれかを選択し、実行する。【００８６】
（１）「バインディングキャッシュを削除する（ステップＳ１６０５）。」ＣＮ２０のバインディングキャッシュを保持している時に、ＣＮ２０から、経路最適化を使用していないパケットを受信した時、ＣＮ２０のバインディングキャッシュを削除する。この場合、バインディングキャッシュが削除された後にＭＮ１０が送信するパケットは、ＣＮ２０のＣｏＡではなく、ホームアドレスあてに送信される。また、バインディングキャッシュを削除した際に、ＣＮ２０に対して、ＣＮ２０によって登録されたバインディングキャッシュが無効となったことを通知するためのＢＣ無効通知メッセージを送信してもよい。なお、ステップＳ１６０５において、本発明の第１の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがＢＣ有効期間よりも大きい場合に、バインディングキャッシュを削除すると判断してもよい。【００８７】
（２）「バインディングキャッシュの使用を保留とする（ステップＳ１６０６）。」ＣＮ２０のバインディングキャッシュを保持している時に、ＣＮ２０から、経路最適化を使用していないパケットを受信した時、ＣＮ２０のバインディングキャッシュの使用を保留とする。この場合、バインディングキャッシュの使用を保留とした後にＭＮ１０が送信するパケットは、ＣＮ２０のＣｏＡではなく、ホームアドレスあてに送信される。また、保留としたＣＮ２０のバインディングキャッシュの有効性を確認するためのＢＣ確認メッセージをＣＮ２０へ送信するようＢＣ確認メッセージ生成部１４０９へ指示してもよい。また、バインディングキャッシュの保留中に、ＣＮ２０からのパケットが経路最適化を使用して送信されてきた場合は、保留を解消し、バインディングキャッシュの使用を再開する。なお、ステップＳ１６０６において、本発明の第１の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがＢＣ有効期間よりも大きい場合に、バインディングキャッシュを保留にすると判断してもよい。【００８８】
（３）「タイマをスタートさせる（ステップＳ１６０７）。」ＣＮ２０のバインディングキャッシュを保持している時に、ＣＮ２０から、経路最適化を使用していないパケットを受信した時、通信開始後経過時間タイマをスタートさせる。このタイマをスタートさせた後は、前述の（２）の処理を行い、バインディングキャッシュの使用を保留とする（ステップＳ１６０８）。そして、タイマの経過時間がＢＣ有効期間よりも大きくなったか否かを判断し（ステップＳ１６０９）、大きくなった場合は、前述の（１）の処理を行い、バインディングキャッシュを削除する（ステップＳ１６１０）。【００８９】
なお、ステップＳ１６０２において、パケットが経路最適化を使用して送信されたパケットであると判断された場合、ＣＮ２０のバインディングキャッシュを保持している（ステップＳ１６１１）として、そのバインディングキャッシュが使用保留となっているか否かを確認する（ステップＳ１６１２）。ステップＳ１６１２において、使用保留となっていない場合は、経路最適化に伴う処理を行った（ステップＳ１６１３）後、パケットに含まれるデータの受信処理を行う（ステップＳ１６１５）。一方、ステップＳ１６１２において、使用保留となっている場合は、そのバインディングキャッシュの使用保留を解除し（ステップＳ１６１４）、経路最適化に伴うパケット受信処理を行った（ステップＳ１６１３）後、パケットに含まれるデータの受信処理を行う（ステップＳ１６１５）。また、ステップＳ１６０３において、パケットの送信元ノードであるＣＮ２０に関するバインディングキャッシュを保持していないと判断された場合、パケットに含まれるデータの受信処理を行う（ステップＳ１６１５）。【００９０】
なお、タイマをスタートさせた時点でバインディングキャッシュの使用を保留とせずに、タイマの経過時間がＢＣ有効期間よりも小さい間は、バインディングキャッシュを使用可能としてもよい。この場合、タイマの経過時間がＢＣ有効期間よりも大きくなった場合は、前述の（２）又は（３）のいずれかを選択して実行するようにしてもよいし、どちらか一方の処理を常に実行するようにしてもよい。【００９１】
ＭＮ１０による前述の（１）、（２）、（３）の選択方法として、例えば、前述のように、ＣＮ２０からの位置情報登録メッセージの中に含まれているＢＣタイプ情報が使用される。なお、ＢＣタイプ情報として（１）、（２）、（３）が同時に使用される必要はなく、例えば、（１）だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には（１）を使用し、セットされていない場合には、（１）を使用せずに通常のやり方でＢＣを管理する、ということを示すようにしてもよい。【００９２】
また（２）だけを使用する場合、あるいは（３）だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。また、ＣＮ２０から通信開始後経過時間タイマを使用するよう要求された場合には（３）を選択し、タイマの使用が要求されていない場合には、（１）又は（２）を選択するという方法でもよい。この場合、（３−１）を（３）の場合で（１）を実行する場合、（３−２）を（３）の場合で（２）を実行する場合として、ＢＣタイプ情報で識別可能なようにしてもよい。【００９３】
位置情報保持部１４０５は、通信相手から登録されたバインディングキャッシュ（ＢＣタイプ情報やＢＣ有効期間の情報を含む）を保持する。また、受信パケット処理部１４０６から、ＢＣを削除又は使用保留とすること指示された場合、該当するＣＮのバインディングキャッシュを削除又は使用保留とする。さらに、通信相手の通信開始後経過時間タイマをスタートさせるよう指示を受けた場合、通信相手に対応するバインディングキャッシュの中のタイマをスタートさせる。【００９４】
図１７は、位置情報保持部１４０５が保持するＣＮ２０のバインディングキャッシュの一例を示している。図１７に示すように、ＨｏＡ２に関連付けられたＣｏＡ２に対して、ライフタイム１７０１、通信開始後経過時間タイマ１７０２、ＢＣ有効期間（ＢＣ使用可能期間）１７０３が関連付けられて管理されている。ライフタイム１７０１はＢＣのライフタイムを示している。【００９５】
送信パケット生成部１４０８は、上位レイヤ１４０７又は受信パケット処理部１４０６の指示を受け、ＣＮ２０へ送信するパケットを生成し、そのパケットに対してバインディングキャッシュを用いてパケットを送信するべきか否かを判断する。【００９６】
ここで、送信パケット生成部１４０８における処理の一例について図１８を用いて説明する。まず、ＣＮ２０との通信を開始するためにＣＮ２０へパケットを送信する際に、そのパケットの送信先であるＣＮ２０に関するバインディングキャッシュを保持しているか否かを確認し（ステップＳ１８０１）、保持していない場合には、経路最適化を使用せずに、ＣＮ２０へパケットを送信する。すなわち、ＣＮ２０のＨｏＡを宛先アドレスにセットする（ステップＳ１８０２）。【００９７】
一方、保持している場合には、そのエントリが使用保留となっているか否かを確認する（ステップＳ１８０３）。使用保留となっている場合は、そのバインディングキャッシュを使用せずに、ＣＮ２０へパケットを送信する。この場合のパケットは、宛先アドレスがＣＮ２０のホームアドレスで、送信元アドレスがＭＮ１０のホームアドレスとなっている（経路最適化を不使用）。一方、使用保留となっていない場合には、保持しているバインディングキャッシュを用いて、バインディングキャッシュに保持されているＣＮ２０のＣｏＡを宛先アドレスにセットし（ステップＳ１８０４）、ＣＮ２０のＨｏＡを含むルーティングヘッダをパケットに付加して送信する（経路最適化を使用）（ステップＳ１８０５）。【００９８】
ＢＣ確認メッセージ生成部１４０９は、受信パケット処理部１４０６からの指示を受け、ＣＮ２０から経路最適化を使わずに送信されたパケットを受信した際に、ＣＮ２０によって登録されているＢＣがまだ有効であるか否かを確認するためのＢＣ確認メッセージを生成し、ＣＮ２０へ送信するよう送信部１４０１に指示する。図１９は、ＢＵメッセージを用いた場合のＢＣ確認メッセージのフォーマットの一例である。【００９９】
図１９に示されているように、このメッセージがＢＣ確認メッセージであることを示す情報として、ＢＣ確認メッセージであることを示すモビリティヘッダ１９０１のタイプを用いてもよいし、モビリティヘッダ１９０１内の、確認するＣｏＡを含むオプション内のフラグとして含まれていてもよい。なお、ＢＣ確認メッセージとしては、モバイルＩＰｖ６のモビリティヘッダにより構成されたメッセージを用いるのが望ましいが、ＣＮ２０へ送信することができるメッセージであれば任意のメッセージを用いてもよい。また、ＣＮ２０へ送信するデータパケットに付加するオプション（宛先オプションヘッダなど）として実現されてもよい。【０１００】
ＢＣ確認応答メッセージ処理部１４１０は、ＣＮ２０から受信したＢＣ確認応答メッセージに関する処理を行う。ＭＮ１０が送信したＢＣ確認メッセージに対する応答として、ＢＣが無効であることが通知された場合には、保持しているＢＣを削除する。この場合、以降ＭＮ１０がＣＮ２０へ送信するパケットは、経路最適化を用いずに、ＣＮ２０のＨＡを経由して送信される。一方、ＢＣが有効であることが通知された場合には、ＢＣの保持を継続し、ＣＮ２０へ送信するパケットに経路最適化を使用してパケットを送信する。【０１０１】
図２０は、本発明の第３の実施の形態におけるＣＮ２０の構成の一例を示す構成図である。ＣＮ２０は、例えば図２０に示す構成要素を備えている。送信部２００１は、インタフェース２００２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードにパケットを送信する機能を有している。また、受信部２００３は、インタフェース２００２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードからパケットを受信する機能を有している。【０１０２】
登録済み位置情報保持部２００４は、通信相手（例えば、ＭＮ１０）へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部２００５、又は上位レイヤ２００８から登録済み位置情報の通信開始後経過時間タイマの計測のスタートの指示を受けたときタイマをスタートさせる。つまり、通信相手から、経路最適化が使用されていないパケットを受信した場合に、通信開始後経過時間タイマが開始される。さらに、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部２００６に対して指示する。【０１０３】
位置情報登録メッセージ生成部２００６は、送信パケット生成部２００７又は受信パケット処理部２００５からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。また、位置情報登録メッセージ生成部２００６は、登録済み位置情報保持部２００４からの指示を受け、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ＭＮ１０のライフタイムを更新するための位置情報登録メッセージを生成する。【０１０４】
さらに、登録するバインディングキャッシュに対する扱いを示すＢＣタイプ情報を付加してもよい。特に前述の（３）を使用することを選択した場合には、ＢＣ有効期間を位置情報登録メッセージの中に含め、送信部２００１に対して送信するよう指示する。【０１０５】
なお、ＢＣ有効期間は、通信状態（通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定）、接続状態（接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定）、ハンドオーバの発生頻度（ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定）、通信データの種類（音声データ、動画データなどのリアルタイムデータ、制御メッセージなど）、インタフェースの種類（セルラ、ＷｉＭＡＸ、ＷＬＡＮ）などに応じて、ＣＮ２０及びＭＮ１０にとって適切な値を設定することが望ましい。また、プロトコルの種類（ＴＣＰ、ＵＤＰ、ＳＩＰ、ＲＴＰなど）によって値が任意に定められていてもよい。さらに、通信相手であるＣＮによって値が任意に定められていてもよい。例えば、同一のオペレータに属するＣＮであるか否かによって値が任意に定められてもよい。【０１０６】
送信パケット生成部２００７は、上位レイヤ２００８又は受信パケット処理部２００５から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部２００１へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部２００７は、登録済み位置情報保持部２００４を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。【０１０７】
ＢＣ確認メッセージ処理部２００９は、ＭＮ１０から受信したＢＣ確認メッセージに関する処理を行い、登録済み位置情報保持部２００４を参照して、ＢＣ確認メッセージに含まれる情報が示すＣＮ２０のＢＣが有効であるか否かを確認する。登録済み位置情報に、該当するＢＣが保持されている場合には、そのＢＣが有効であると判断し、ＭＮ１０に対して、通知されたＢＣがまだ有効であることを示すＢＣ確認応答メッセージを生成して送信するよう、ＢＣ確認応答メッセージ生成部２０１０へ指示する。【０１０８】
登録済み位置情報に、該当するＢＣが保持されていない場合には、そのＢＣはすでに無効であると判断し、ＭＮ１０に対して、通知されたＢＣがすでに無効であることを示すＢＣ確認応答メッセージを生成して送信するよう、ＢＣ確認応答メッセージ生成部２０１０へ指示する。なお、ＢＣが有効であるか否かは、通知されたＢＣのＣｏＡが有効であるか否か、つまりは、インタフェースにそのＣｏＡが割り当てられているか否かを基にして判断してもよい。これにより、ＭＮ１０へそのＢＣを登録していなかった場合であっても、ＭＮ１０からの確認要求に応えることができる。【０１０９】
送信パケット生成部２００７における処理の一例について図２１を用いて説明する。パケット送信をするよう指示する際、送信パケット生成部２００７は、ＭＮ１０へ送信するパケットを生成し、さらにそのパケットの送信に、経路最適化を用いるべきか否かを判断する。その判断を行うために、まず登録済み位置情報保持部２００４を参照し、現在の位置情報に関するＢＣをＭＮ１０へ登録しているか否かを確認する（ステップＳ２１０１）。ＭＮ１０へ登録していることを示す登録済み位置情報を保持している場合は、ＭＮ１０へ登録したバインディングキャッシュがどのＢＣタイプ情報として登録されているかを確認する（ステップＳ２１０２）。【０１１０】
ＢＣタイプが（１）又は（２）であるか否かを判断し（ステップＳ２１０３）、ＢＣタイプが（１）又は（２）である場合は、ＭＮ１０のＢＣを削除又は保留とするか否かを判断する（ステップＳ２１０４）。ＢＣタイプが（１）である場合、ＭＮ１０に対して経路最適化を使用せずにパケットを送信すると、ＭＮ１０はバインディングキャッシュを削除してしまう。そのため、ＭＮ１０のバインディングキャッシュを削除させない場合は、経路最適化を使用して（ステップＳ２１０５）、パケットを送信する（ステップＳ２１０６）。一方、ＭＮ１０のバインディングキャッシュを削除する場合は、経路最適化を使用せず（ステップＳ２１０７）にパケットを送信する（ステップＳ２１０６）。【０１１１】
ＢＣタイプが（２）である場合、ＭＮ１０に対して経路最適化を使用せずにパケットを送信すると、ＭＮ１０はバインディングキャッシュの使用を保留としてしまう。そのため、ＭＮ１０のバインディングキャッシュを使用保留とさせない場合は、経路最適化を使用して（ステップＳ２１０５）パケットを送信する（ステップＳ２１０６）。一方、ＭＮ１０のバインディングキャッシュを保留とする場合は、経路最適化を使用せず（ステップＳ２１０７）にパケットを送信する（ステップＳ２１０６）。【０１１２】
また、ステップＳ２１０３において、ＢＣタイプが（１）又は（２）でないと判断された場合、ＢＣタイプが（３）であるか否かを判断し（ステップＳ２１０８）、ＢＣタイプが（３）である場合、登録済み位置情報の通信開始後経過時間タイマを確認し、その値がＢＣ有効時間よりも大きいか否かを判断し（ステップＳ２１０９）、大きい場合は、経路最適化を用いずに（ステップＳ２１０７）、通常のパケットを送信する（ステップＳ２１０６）。なお、タイマの値がＢＣ有効時間よりも大きくなった場合、ＭＮ１０に対しての登録済み位置情報を削除してもよい。この場合パケットを受信するＭＮ１０も同様に、通信開始後経過時間タイマを確認し、その値がＢＣ有効期間よりも大きいため、ＣＮ２０に関するバインディングキャッシュを削除する。【０１１３】
通常のパケットとは、送信元アドレスがＣＮ２０のＨｏＡであり、宛先アドレスがＭＮ１０のＨｏＡとなっているパケットを、送信元アドレスがＣＮ２０のＣｏＡであり、宛先アドレスがＨＡ２のアドレスとなっているヘッダでカプセル化されたパケットである。このパケットは、ＨＡ２によってデカプセル化され、ＭＮ１０へ転送される。この場合、ＭＮ１０に通知されているＢＣタイプ情報が（３−１）である場合は、ＣＮ２０から経路最適化でないパケットを受信したＭＮ１０はバインディングキャッシュを削除するため、ＣＮ２０も登録済み位置情報を削除する。一方、ＢＣタイプ情報が（３−２）である場合は、ＣＮ２０から経路最適化でないパケットを受信したＭＮ１０はバインディングキャッシュを使用保留とするため、ＣＮ２０は、バインディングキャッシュの保留を解消する場合には、経路最適化したパケットを送信する。【０１１４】
一方、そのタイマがＢＣ有効期間よりも小さい場合は、経路最適化を使用して送信してもよいし、使用せずに送信してもよい。ＭＮ１０が保持しているＣＮ２０のバインディングキャッシュの通信開始後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させるために、ＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ２１０５）、パケットを送信する（ステップＳ２１０６）。これにより、ＭＮ１０のバインディングキャッシュの通信開始後経過時間タイマがリセットされ、経路最適化の使用が開始される。【０１１５】
なお、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュの通信開始後経過時間タイマをリセットする必要がない場合は、経路最適化を使用せずに（ステップＳ２１０７）、パケットを送信する（ステップＳ２１０６）。経路最適化を使用した場合のパケットは、送信元アドレスがＣＮ２０のＣｏＡで、宛先アドレスがＭＮ１０のＨｏＡで、ＣＮ２０のＨｏＡを含むホームアドレスオプションが付加されたパケットである。なお、ステップＳ２１０１において、ＭＮ１０へ登録していることを示す登録済み位置情報を保持していない場合、ＨＡあてにカプセル化し（ステップＳ２１１０）、パケットを送信する（ステップＳ２１０６）。【０１１６】
ここで、ＣＮ２０が外部ネットワーク１２に接続してＣｏＡ２を使用している場合に、ＣＮ２０が、ＢＣタイプが（３）のＢＣを登録しているＭＮ１０へ通信を開始する場合を考える。ＣＮ２０が保持する登録済み位置情報の通信開始後経過時間タイマがＢＣ有効期間よりも大きい場合、ＣＮ２０は経路最適化を使用せずに、通常のパケットをＭＮ１０へ送信する。この場合、ＭＮ１０は、ＣＮ２０に関するＢＣを保持しているにもかかわらず、経路最適化が使用されていないパケットを受信するため、通信開始後経過時間タイマをスタートさせる。【０１１７】
また、ＢＣタイプが（１）であるとき、ＣＮ２０のハンドオーバの発生が迫っている場合や、ハンドオーバ処理の実行中である場合には、ＭＮ１０へ登録しているＣｏＡを使用してパケットを送信することが可能であったとしても、経路最適化を使用せずにパケットを送信することを選択してもよい。これにより、ＭＮ１０は、ＣＮ２０からパケットを受信した時点でバインディングキャッシュを削除するため、ハンドオーバ後にＭＮ１０へバインディングキャッシュを削除するためのメッセージや、バインディングキャッシュを更新するためのメッセージを送信する必要をなくすことができる。【０１１８】
また、ＭＮ１０へバインディングキャッシュを登録していない場合、つまりＣＮ２０が移動してＭＮ１０へ登録しているＣｏＡと異なるＣｏＡを使用している場合は、新しいＣｏＡをＭＮ１０へ登録するまでは、新しいＣｏＡを使ったパケットをＭＮ１０へ送信することはできないので、ＨＡを経由したパケット送信を行う。なお、ＣＮ２０がホームネットワークに移動してＣｏＡを持っていない場合も同様に、ＨＡを経由したパケット送信を行う。【０１１９】
このように、本発明の第３の実施の形態におけるＭＮ１０及びＣＮ２０によって、ＭＮ１０がＣＮ２０のバインディングキャッシュを保持しているにもかかわらず、ＭＮ１０がＣＮ２０から受信したパケットが経路最適化されずに送信されてきた場合に、ＣＮ２０のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、ＭＮ１０が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。【０１２０】
また、バインディングキャッシュを保留とし、さらにはタイマの値がＢＣ有効期間よりも大きくなったときにバインディングキャッシュを削除することで、ＣＮ２０が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。【０１２１】
また、ＣＮ２０が位置情報登録メッセージの中でＢＣタイプ情報を通知することで、ＣＮ２０にとって好ましい処理を行うようＭＮ１０へ指示することができ、ＣＮ２０の状況に応じた適切な処理をＭＮ１０へ実行させることができる。例えば、ＭＮ１０へＢＣタイプを（１）として登録したバインディングキャッシュが、ＭＮ１０との通信が終了した後に残っていたとしても、ＣＮ２０がＭＮ１０と通信を再開する際に、経路最適化を使用せずにパケットを送信すれば、ＭＮ１０によって古いバインディングキャッシュが削除されるため、ＭＮ１０によって誤使用されるのを防ぐことができ、経路最適化の使用にともなう処理負荷を軽減することができる。【０１２２】
また、(１）を使用することにより、ＭＮ１０と通信をしているＣＮ２０が、外部ネットワークからホームネットワークにハンドオーバした場合であっても、ＭＮ１０に登録されているバインディングキャッシュを削除することを要求するメッセージをＭＮ１０に送信する必要がなくなり、通常のパケット送信を行うだけでバインディングキャッシュを削除することができるため、メッセージ送信に伴う処理負荷を軽減することができる。【０１２３】
なお、本発明の第３の実施の形態におけるＭＮ１０の機能の一部を、ＭＮ１０の位置情報を管理しているＨＡ１４に適用した場合にも同様の効果を得ることができる。ＭＮ１０はＨＡ１４に対して、図１５示すようなＢＣタイプを含めたＢＵメッセージを送信する。ＨＡ１４は、ＭＮ１０から受信したＢＵメッセージ内のＢＣタイプを、ＭＮ１０のバインディングキャッシュに設定する。そして、ＨＡ１４が、ＭＮ１０からこれまでと異なるＣｏＡが用いられたパケットを受信した場合、ＢＣタイプに応じてバインディングキャッシュの扱いを判断する。例えば、ＢＣタイプが（１）である場合は、ＨＡ１４はバインディングキャッシュを削除する。また、ＢＣタイプが（２）である場合は、ＨＡ１４はバインディングキャッシュを使用保留とする。なお、ＢＣタイプが（３−１）または（３−２）である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がＢＣ有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、ＭＮ１０が再びそのバインディングキャッシュに登録されているＣｏＡを用いてＣＮとの通信を再開した場合にリセットさせる。このため、ＭＮ１０がしばらくの間通信をせずに、タイマがＢＣ有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。【０１２４】
ＨＡ１４に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合（ＭＮ１０が複数のインタフェースを保持しているケース）は、ＨＡ１４は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもＢＣ有効期間を超えている場合には、タイマの経過時間、またはＢＣ使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、ＨＡ１４は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているＣｏＡ宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、ＨＡ１４においてパケットロスとなってしまう代わりに、ＭＮ１０が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ（ＣｏＡとしてＨｏＡをセット）が存在する場合には、ＨＡ１４はカプセル化せずにＨｏＡ宛にパケットを転送する。なお、ＭＮ１０の他のバインディングキャッシュがない場合でも、ＭＮ１０がホームネットワークに接続していることが分かる場合には、ＨｏＡ宛に転送してもよい。【０１２５】
＜第４の実施の形態＞
本発明の第４の実施の形態は、ＣＮ２０からＭＮ１０へ登録される位置情報であるＢＣが、ＣＮ２０とＭＮ１０との間で行われる通信（セッション、フロー）と関連付けられており、ＭＮ１０は、ＣＮ２０との通信が終了した際に、本発明の第３の実施の形態で述べた（１）、（２）、（３）のいずれかを選択し実行する。なお、第３の実施の形態と同様に、ＢＣタイプ情報として（１）、（２）、（３）が同時に使用される必要はなく、例えば（１）だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には（１）を使用し、セットされていない場合には、（１）を使用せずに通常のやり方でＢＣを管理する、ということを示すようにしてもよい。また（２）だけを使用する場合、あるいは（３）だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。【０１２６】
また、ＣＮ２０から通信開始後経過時間タイマを使用するよう要求された場合に（３）を選択し、タイマの使用が要求されていない場合には（１）又は（２）を選択するという方法でもよい。この場合、（３−１）を（３）の場合で（１）を実行する場合、（３−２）を（３）の場合で（２）を実行する場合として、ＢＣタイプ情報で識別可能なようにしてもよい。【０１２７】
本発明の第４の実施の形態におけるネットワーク構成は、図１に示すものと同じであるため説明を省略する。図２２は、本発明の第４の実施の形態におけるＭＮ１０の構成の一例を示す構成図である。ＭＮ１０は、例えば図２２に示す構成要素を備えている。送信部２２０１は、インタフェース２２０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードにパケットを送信する機能を有している。また、受信部２２０３は、インタフェース２２０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードからパケットを受信する機能を有している。【０１２８】
位置情報登録メッセージ処理部２２０４は、ＣＮ２０から受信した位置情報登録メッセージに含まれている位置情報を取得し、位置情報保持部２２０５に保持する。さらにＢＣタイプ情報も含まれている場合は、ＢＣタイプ情報も取得し保持する。この場合、特に前述の（３）が指定されている時に、ＢＣ有効期間（ＢＣ使用可能期間）の値も含まれている場合には、その値も取得し保持する。【０１２９】
さらに、本発明の第３の実施の形態における、ＣＮ２０から経路最適化が使用されていないパケットを受信したことをトリガとして処理を実行するという方法と異なる形態として、登録される位置情報がＣＮ２０との通信（セッション）に関連付けられていて、通信が終了したことをトリガとして処理を実行する。この処理を要求する情報として、位置情報登録メッセージの中に通信関連付け情報（フラグなど）が含まれている場合は、その情報を取得し位置情報保持部２２０５に保持する。なお、通信関連付け情報は、本発明の第３の実施の形態におけるＢＣタイプ情報の１つとして通知されてもよい。【０１３０】
また、位置情報登録メッセージ処理部２２０４は、通信の終了を検出するために、ＣＮ２０に関する情報を通信終了判断部２２０６に対して通知し、ＣＮ２０との通信（セッション）が終了したときに、ＣＮ２０との通信（セッション）が終了したことを位置情報登録メッセージ処理部２２０４へ通知するように要求する。【０１３１】
なお、登録されるバインディングに関連付けられる通信を特定するための情報を位置情報登録メッセージに含めてもよい。この場合、通信終了判断部２２０６に対しては、ＣＮ２０に関する情報と共に、通信を特定するための情報も通知される。通信を特定する情報としては、特定のセッションを表すセッションＩＤや、特定のフローを表すフローＩＤ、アドレス（あて先アドレス、送信元アドレス）やポート番号、プロトコルＩＤなど、ＣＮ２０とＭＮ１０との間で行われる通信（セッション、フロー）の一部、あるいは全体を現すことができる情報であれば、任意の情報を用いることができる。なお、フロー情報がすでに登録済みである場合は、その情報を指すフローＩＤのみを含めるだけでよい。【０１３２】
通信終了判断部２２０６は、通信相手との通信の状態を監視し、ＣＮ２０との通信が終了したことを検出した場合には、位置情報登録メッセージ処理部へ通信の終了を通知する。通信の終了の通知を受けた位置情報登録メッセージ処理部は、位置情報保持部２２０５を参照し、ＣＮ２０のバインディングキャッシュに通信関連付け情報が保持されている場合には、そのバインディングキャッシュを削除する。また、通信関連付け情報とは別に、本発明の第３の実施の形態で述べたＢＣタイプが示されている場合には、ＣＮ２０のバインディングキャッシュのＢＣタイプ情報に従い処理を行ってもよい。ＢＣタイプ情報が（１）の場合は、ＣＮ２０との通信が終了したことを通知されたときに、ＣＮ２０のバインディングキャッシュを削除させる。この場合は、上述のように、バインディングキャッシュのタイプが通信関連付け情報のタイプである場合と同様である。【０１３３】
一方、ＢＣタイプ情報が（２）の場合は、ＣＮ２０のバインディングキャッシュの使用を保留とさせる。さらに、ＢＣタイプ情報が（３）の場合は、ＣＮ２０との通信が終了したときに、通信終了後経過時間タイマをスタートさせる。この場合、ＭＮ１０が再びＣＮ２０と通信を開始する際、及びＣＮ２０から再び開始された通信を受信する際に、通信終了後経過時間タイマとＢＣ有効期間を比較して行う処理に関しては、本発明の第１、及び第２の実施の形態で述べた、通信終了後経過時間タイマとＢＣ有効期間を比較して行う処理と同様であるため、説明を省略する。また、ＢＣタイプ情報が（３）の場合は、ＣＮ２０との通信が終了したときに、通信開始後経過時間タイマとＢＣ有効期間を比較して、タイマの値がＢＣ有効期間よりも大きい場合に、バインディングキャッシュを削除し、一方小さい場合には、バインディングキャッシュを削除しないと判断してもよい。【０１３４】
通信終了判断部２２０６が、ＣＮ２０との通信が終了したことを検出する方法としては、上位レイヤ２２０７に対して問い合わせて、通信が終了したか否かを確認する方法や、上位レイヤ２２０７に通知を依頼する方法などがある。また、ＣＮ２０との間で送受信されているパケットを監視し、上位レイヤ２２０７によって使われているプロトコルの通信の終了を示すパケット（例えば、ＴＣＰのＦＩＮメッセージ、ＡＣＫメッセージや、ＳＩＰのＢＹＥメッセージ、ＡＣＫメッセージなど）を検出した際に、通信の終了を認識してもよい。また、一定時間通信（ライフタイムが有効期限切れ）が行われていない場合に、ＣＮ２０との通信が終了したと判断することもできる。【０１３５】
また、位置情報登録メッセージ処理部２２０４は、通信終了判断部２２０６、又は上位レイヤ２２０７に対して、保持しているＢＣのＣＮ２０との通信が終了しているかどうかを確認してもよい。確認の結果、通信が終了していることが分かった場合には、その通信相手のバインディングキャッシュのＢＣタイプ情報に従い処理を行う。なお、通信が終了しているかどうかの確認を行うタイミングは、バインディングキャッシュのライフタイムの残存時間や、ＣＮ２０との通信を開始してからの経過時間、ハンドオーバの発生が迫っている場合などに基づいて判断されてもよい。【０１３６】
なお、特定の通信が指定されている場合には、ＣＮ２０との通信において、その指定された通信が終了した場合に上記の処理を実行してもよい。なお、この通信終了判断部２２０６の処理が上位レイヤ２２０７によって実現され、上位レイヤ２２０７から位置情報登録メッセージ処理部２２０４に対して、ＣＮ２０との通信が終了したことが通知されてもよい。【０１３７】
上位レイヤ２２０７は、位置情報登録メッセージ処理部２２０４、又は通信終了判断部２２０６から、ＣＮ２０との通信が終了したか否かの問い合わせを受けた際に、通信が終了しているか否かの結果を返す。また、ＣＮ２０との通信に関する情報を受け、その通信が終了した際に、通信が終了したことを通知する。位置情報保持部２２０５は、位置情報登録メッセージ処理部２２０４から、ＣＮ２０のバインディングキャッシュの登録、保留、削除の指示を受け処理を実行する。【０１３８】
このように、本発明の第４の実施の形態におけるＭＮ１０及びＣＮ２０によって、ＣＮ２０との通信が終了した時点で、ＭＮ１０は、ＣＮ２０のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、ＭＮ１０が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。また、バインディングキャッシュを保留とし、さらにはタイマの値がＢＣ有効期間よりも大きくなったときにバインディングキャッシュ削除することで、ＣＮ２０が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。【０１３９】
また、ＣＮ２０が位置情報登録メッセージの中でＢＣタイプ情報を通知することで、ＣＮ２０にとって好ましい処理を行うようＭＮ１０へ指示することができ、ＣＮ２０の状況に応じた適切な処理をＭＮ１０へ実行させることができる。例えば、ＭＮ１０へＢＣタイプ情報を（１）として登録することで、ＭＮ１０との通信が終了した後はＣＮ２０のバインディングキャッシュはＭＮ１０によって削除されるので、ＭＮ１０によって誤使用されるのを防ぐことができる。また、(１）を使用することにより、ＭＮ１０と通信が終了した後に、ＭＮ１０に登録されているバインディングキャッシュを削除することを要求するメッセージをＭＮ１０に送信する必要がなくなり、メッセージ送信に伴う処理負荷を軽減することができる。【０１４０】
なお、本発明の第４の実施の形態におけるＭＮ１０の機能の一部を、ＭＮ１０の位置情報を管理しているＨＡ１４に適用した場合にも同様の効果を得ることができる。ＭＮ１０はＨＡ１４に対して、通信関連付け情報やフロー情報を含めたＢＵメッセージを送信する。ＨＡ１４は、ＭＮ１０から受信したＢＵメッセージ内の通信関連付け情報さらには、フロー情報などを、ＭＮ１０のバインディングキャッシュに設定する。そして、ＨＡ１４がＭＮ１０から受信したＣＮあてパケット、またはＣＮから受信したＭＮ１０あてのパケットが、バインディングキャッシュに関連付けられている通信（セッション、フロー）に一致するものであり、かつその通信が終了したことを検出した場合に、そのバインディングキャッシュを削除する。また、ＢＣタイプが指定されている場合には、ＢＣタイプに応じてバインディングキャッシュの扱いを判断する。例えば、ＢＣタイプが（１）である場合は、上述のように、ＨＡ１４はバインディングキャッシュを削除する。また、ＢＣタイプが（２）である場合は、ＨＡ１４はバインディングキャッシュを使用保留とする。なお、ＢＣタイプが（３−１）または（３−２）である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がＢＣ有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、ＭＮ１０が再びそのバインディングキャッシュに登録されているＣｏＡを用いてＣＮとの通信を再開した場合にリセットさせる。このため、ＭＮ１０がしばらくの間通信をせずに、タイマがＢＣ有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。【０１４１】
ＨＡ１４に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合（ＭＮ１０が複数のインタフェースを保持しているケース）は、ＨＡ１４は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもＢＣ有効期間を超えている場合には、タイマの経過時間、またはＢＣ使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、ＨＡ１４は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているＣｏＡ宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、ＨＡ１４においてパケットロスとなってしまう代わりに、ＭＮ１０が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ（ＣｏＡとしてＨｏＡをセット）が存在する場合には、ＨＡ１４はカプセル化せずにＨｏＡ宛にパケットを転送する。なお、ＭＮ１０の他のバインディングキャッシュがない場合でも、ＭＮ１０がホームネットワークに接続していることが分かる場合には、ＨｏＡ宛に転送してもよい。【０１４２】
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０１４３】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。【０１４４】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０１４５】
本発明に係る移動端末は、パケットロスの発生を防ぎ、通信の遅延を防ぐことができ、また、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができるため、通信ネットワークを介して通信相手とパケット通信を行う移動端末などに有用である。
【図１】
2009110224.tif 000003
【図２】
2009110224.tif 000004
【図３】
2009110224.tif 000005
【図４】
2009110224.tif 000006
【図５】
2009110224.tif 000007
【図６】
2009110224.tif 000008
【図７】
2009110224.tif 000009
【図８】
2009110224.tif 000010
【図９】
2009110224.tif 000011
【図１０】
2009110224.tif 000012
【図１１】
2009110224.tif 000013
【図１２】
2009110224.tif 000014
【図１３】
2009110224.tif 000015
【図１４】
2009110224.tif 000016
【図１５】
2009110224.tif 000017
【図１６】
2009110224.tif 000018
【図１７】
2009110224.tif 000019
【図１８】
2009110224.tif 000020
【図１９】
2009110224.tif 000021
【図２０】
2009110224.tif 000022
【図２１】
2009110224.tif 000023
【図２２】
2009110224.tif 000024
【手続補正書】
【提出日】平成22年8月24日(2010.8.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、
前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、
前記通信端末と通信を開始する際、計測された前記経過時間が前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、
前記経過時間が前記バインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに前記通信端末のホームアドレスを設定して前記パケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項２】
前記パケット生成手段は、前記バインディングキャッシュの前記通信端末のアドレス情報を前記パケットに付加する請求項１に記載の移動端末。
【請求項３】
前記バインディングキャッシュの有効時間の情報を含むメッセージを前記通信端末から受信する受信手段を更に備え、
前記記憶手段は、受信された前記メッセージに含まれる前記バインディングキャッシュの有効時間の情報を取得し記憶する請求項１又は２に記載の移動端末。
【請求項４】
前記計測手段は、前記通信端末との通信が終了した際に前記経過時間の計測を開始する請求項１に記載の移動端末。
【請求項５】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、
前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、
前記バインディングキャッシュ内に前記通信端末の複数のアドレス情報が含まれる場合、前記通信端末と通信を開始する際、計測された前記経過時間であって、それぞれの前記アドレス情報に対応する前記経過時間が、前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、
それぞれの前記アドレス情報に対応する前記経過時間のすべてが前記バインディングキャッシュの有効時間を超えていると判断された場合に、前記バインディングキャッシュ内の前記通信端末のアドレス情報が既に前記バインディングキャッシュの有効時間を経過しているアドレス情報である旨を含めてパケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項６】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末からのパケットを受信する受信手段と、
受信された前記パケットが前記移動端末のホームエージェントによってカプセル化されたパケットであるか否かを判断する判断手段と、
前記ホームエージェントによってカプセル化されたパケットであると判断された場合、送信元アドレスに前記移動端末自身のアドレス情報を設定し、前記移動端末自身のホームアドレスを含むホームアドレスオプションを付加したパケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項７】
前記カプセル化された前記パケットには、前記移動端末のアドレス情報が付加されている請求項６に記載の移動端末。
【請求項８】
前記通信端末に対して、前記移動端末との通信が終了した際に、前記通信が終了してから新たに通信を開始するまでの経過時間の計測を開始するべき旨の指示を含むメッセージを生成する第１のメッセージ生成手段を更に備え、
前記送信手段は、生成された前記メッセージを前記通信端末へ送信する請求項６又は７に記載の移動端末。
【請求項９】
前記通信端末が有する前記移動端末のバインディングキャッシュの有効時間の情報を含むメッセージを生成する第２のメッセージ生成手段を更に備え、
前記送信手段は、生成された前記メッセージを前記通信端末へ送信する請求項６に記載の移動端末。
【請求項１０】
前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合に、
前記移動端末自身に格納された、前記通信端末との通信が終了してから新たに通信が開始されるまでに計測される経過時間をリセットする処理手段を更に備える請求項６に記載の移動端末。
【請求項１１】
前記移動端末自身が複数のインタフェースを有し、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合、
前記処理手段は、各インタフェースのアドレス情報に対応する前記経過時間をリセットする請求項１０に記載の移動端末。
【請求項１２】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末から送信されるパケットを受信する受信手段と、
受信された前記パケットが前記移動端末のホームエージェントを経由して送信されたパケットであるか否かを判断する判断手段と、
前記パケットが前記ホームエージェントを経由したパケットであると判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、
選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、
備える移動端末。
【請求項１３】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との通信が終了したか否かを判断する判断手段と、
前記通信端末との通信が終了したと判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、
選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、
備える移動端末。
【請求項１４】
前記所定の処理は、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理である請求項１２又は１３に記載の移動端末。
【請求項１５】
前記処理情報は、あらかじめ前記通信端末から送信されたメッセージに含まれている情報である請求１２に記載の移動端末。
【請求項１６】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末から受信した前記パケットが前記通信端末のホームエージェントを経由したパケットである場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、
生成された前記メッセージを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項１７】
移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末との通信が終了したと判断された場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、
生成された前記メッセージを前記通信端末へ送信する送信手段とを、
備える移動端末。
【請求項１８】
前記所定の処理は、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理である請求項１６又は１７に記載の移動端末。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介して通信相手とパケット通信を行う移動端末に関する。
【背景技術】
【０００２】
モバイルＩＰ（非特許文献１を参照）を利用するモバイルノード（以下、ＭＮとも言う）は、移動先のアドレスであるケアオブアドレス（以下、ＣｏＡ：Care-of Addressとも言う）を自身のホームアドレス（以下、ＨｏＡ：Home Addressとも言う）を管理するホームエージェント（以下、ＨＡとも言う）、又は通信相手（以下、ＣＮ：Correspondent Nodeとも言う）に登録し、ＨｏＡあてパケットの転送を依頼する。ＭＮが、複数のＣｏＡを１つのＨｏＡに対して同時に関連付けて登録することができれば、複数のインタフェースを備えるＭＮは、それぞれのインタフェースに割り当てられたＣｏＡを登録することで、インタフェースの状態に応じて使用するＣｏＡを瞬時に切り替えることが可能となる。非特許文献２には、ＭＮが複数のＣｏＡを１つのＨｏＡに関連付けてＨＡに登録する手法としてバインディングＩＤ（以下、ＢＩＤ：Binding Identifierとも言う）を用いる手法が開示されている。
【０００３】
ＨＡ及びＣＮに登録（エントリ）されるＭＮの位置情報はバインディングキャッシュ（以下、ＢＣ：Binding Cacheとも言う）と呼ばれ、各エントリにはその有効期間を示すライフタイムが設定される。ＭＮは、登録済みのバインディングキャッシュを維持したい場合には、そのライフタイムが切れる前にバインディングアップデートメッセージ（以下、ＢＵ（Binding Update）メッセージとも言う）を送信して、ライフタイムを延長する。一方、ライフタイムが切れると、そのエントリは自動的に削除される。
【０００４】
例えば、ＣＮとＭＮが通信をする際に、ＣＮからＭＮへバインディングキャッシュが登録された場合、ＭＮはＣＮへ送信するパケットに対して、バインディングキャッシュに登録されているＣｏＡを宛先に設定してパケットを送信する。これにより、送信されたパケットは、ＣＮのホームエージェントを経由することなく、移動先にいるＣＮへ直接届けられる。
【０００５】
この通信が終了した後、ＣＮからＭＮへ通信をしない場合、ＣＮはＭＮへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、バインディングキャッシュのライフタイムを延長するためのＢＵメッセージを送信しないため、ＭＮに登録されているバインディングキャッシュは、そのライフタイムが切れた後に自動的に削除される。一方、この通信が終了した後に、ＭＮからＣＮへ通信を開始する場合、ＣＮのバインディングキャッシュがまだ存在する場合には、ＭＮはそのバインディングキャッシュに登録されているＣｏＡを宛先アドレスに使用してパケットを送信することができる。
【非特許文献１】D.Johnson, C.Perkins, J.Arkko, "Mobility Support in IPv6", RFC3775, June 2004.
【非特許文献２】R.Wakikawa, T.Ernst, K.Nagami, V.Devarapalli "Multiple Care-of Addresses Registration", draft-ietf-monami6-multiplecoa-05.txt, January 2008.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＣＮとＭＮ間の通信が終了した以降、ＣＮからＭＮへ通信をしない場合、ＣＮはＭＮへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、ライフタイムを延長するためのＢＵメッセージが送信されないため、たとえＣＮが別のネットワークへ移動して別のＣｏＡを取得していたとしても、ＭＮに登録されているバインディングキャッシュは更新されない。
【０００７】
また、ＭＮへ登録されるバインディングキャッシュのライフタイムを、実際の通信に要する時間に合わせて設定することが難しいため、実際の通信が終了している場合でも、バインディングキャッシュが残り続ける状態が起こる可能性がある。そのため、ＭＮが保持するバインディングキャッシュは、ライフタイムが有効であるにもかかわらず、登録されているＣｏＡがもはやＣＮの正しい移動先を指していないという状態が起こり得る。これにより、ＭＮは、ＣＮとの通信を開始する時に、まだライフタイムが有効であるバインディングキャッシュに登録されているＣｏＡを宛先アドレスとして使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるＣＮへは転送されずに、パケットロスが発生してしまう。
【０００８】
また、ＣＮから、経路最適化を使用していないパケットを受信したときに、そのＣＮのライフタイムが有効であるバインディングキャッシュをＭＮが保持しているという状態が起こり得る。これにより、ＭＮは、保持しているＣＮのバインディングキャッシュに登録されているＣｏＡを宛先として使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるＣＮへは転送されずにパケットロスが発生してしまう。
【０００９】
本発明は、上記の問題点に鑑み、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる移動端末を提供することを目的とする。また、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる移動端末を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記通信端末と通信を開始する際、計測された前記経過時間が前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、前記経過時間が前記バインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに前記通信端末のホームアドレスを設定して前記パケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。なお、バインディングキャシュの有効時間は、後述するＢＣ使用可能期間に相当する。また、経過時間は、後述する通信終了後経過時間タイマに相当する。
【００１１】
また、本発明の移動端末において、前記パケット生成手段が、前記バインディングキャッシュの前記通信端末のアドレス情報を前記パケットに付加することは、本発明の好ましい態様である。この構成により、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
【００１２】
また、本発明の移動端末において、前記バインディングキャッシュの有効時間の情報を含むメッセージを前記通信端末から受信する受信手段を更に備え、前記記憶手段が、受信された前記メッセージに含まれる前記バインディングキャッシュの有効時間の情報を取得し記憶することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得することができる。
【００１３】
また、本発明の移動端末において、前記計測手段が前記通信端末との通信が終了した際に前記経過時間の計測を開始することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得することができる。
【００１４】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記バインディングキャッシュ内に前記通信端末の複数のアドレス情報が含まれる場合、前記通信端末と通信を開始する際、計測された前記経過時間であって、それぞれの前記アドレス情報に対応する前記経過時間が、前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、それぞれの前記アドレス情報に対応する前記経過時間のすべてが前記バインディングキャッシュの有効時間を超えていると判断された場合に、前記バインディングキャッシュ内の前記通信端末のアドレス情報が既に前記バインディングキャッシュの有効時間を経過しているアドレス情報である旨を含めてパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００１５】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末からのパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントによってカプセル化されたパケットであるか否かを判断する判断手段と、前記ホームエージェントによってカプセル化されたパケットであると判断された場合、送信元アドレスに前記移動端末自身のアドレス情報を設定し、前記移動端末自身のホームアドレスを含むホームアドレスオプションを付加したパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００１６】
また、本発明の移動端末において、前記カプセル化された前記パケットに、前記移動端末のアドレス情報が付加されていることは、本発明の好ましい態様である。この構成により、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
【００１７】
また、本発明の移動端末において、前記通信端末に対して、前記移動端末との通信が終了した際に、前記通信が終了してから新たに通信を開始するまでの経過時間の計測を開始するべき旨の指示を含むメッセージを生成する第１のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得させることができる。なお、本発明の実施の形態で説明するように、第１のメッセージ生成手段と第２のメッセージ生成手段は同一の手段（構成要素）であってもよい。
【００１８】
また、本発明の移動端末において、前記通信端末が有する前記移動端末のバインディングキャッシュの有効時間の情報を含むメッセージを生成する第２のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得させることができる。
【００１９】
また、本発明の移動端末において、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合に、前記移動端末自身に格納された、前記通信端末との通信が終了してから新たに通信が開始されるまでに計測される経過時間をリセットする処理手段を更に備えることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
【００２０】
また、本発明の移動端末において、前記移動端末自身が複数のインタフェースを有し、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合、前記処理手段が、各インタフェースのアドレス情報に対応する前記経過時間をリセットすることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
【００２１】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末から送信されるパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントを経由して送信されたパケットであるか否かを判断する判断手段と、前記パケットが前記ホームエージェントを経由したパケットであると判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２２】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との通信が終了したか否かを判断する判断手段と、前記通信端末との通信が終了したと判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２３】
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
【００２４】
また、本発明の移動端末において、前記処理情報があらかじめ前記通信端末から送信されたメッセージに含まれている情報であることは、本発明の好ましい態様である。この構成により、いずれの処理を行えばよいか判断することができる。
【００２５】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末から受信した前記パケットが前記通信端末のホームエージェントを経由したパケットである場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２６】
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末との通信が終了したと判断された場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
【００２７】
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも１つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
【発明の効果】
【００２８】
本発明の移動端末は、上記構成を有し、パケットロスの発生を抑制し、通信の遅延を抑制することができる。また、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
【発明を実施するための最良の形態】
【００２９】
＜第１の実施の形態＞
図１は本発明の第１の実施の形態におけるネットワークの構成の一例を示す構成図である。図１には、ホームネットワーク１とホームネットワーク２、及び外部ネットワーク１１、１２、１３があり、ＭＮ１０はホームネットワーク１のＨＡ１４によって管理され、ホームアドレスとしてＨｏＡ１が割り当てられている。さらに、ＭＮ１０のインタフェースは外部ネットワーク１１に接続されており、ＣｏＡ１が割り当てられている。
【００３０】
一方、ＣＮ２０は、ホームネットワーク２のＨＡ１５によって管理され、ホームアドレスとしてＨｏＡ２が割り当てられている。さらに、ＣＮ２０のインタフェースは外部ネットワーク１２に接続されており、ＣｏＡ２が割り当てられている。ＨＡ１４は、ＭＮ１０のバインディングキャッシュとして、ＨｏＡ１に対する移動先アドレスとしてＣｏＡ１を関連付けて保持している。また、ＨＡ１５は、ＣＮ２０のバインディングキャッシュとして、ＨｏＡ２に対する移動先アドレスとしてＣｏＡ２を関連付けて保持している。
【００３１】
なお、ＭＮ１０及びＣＮ２０のホームネットワーク及びＨＡは、同一のホームネットワーク及びＨＡであってもよい。また、以下の説明では、ＭＮ１０と区別するために、ＭＮ１０と通信を行うノードを通信相手という意味でＣＮと呼んでいるが、本発明におけるその実態はＭＮ１０と同様にモバイルノードである。つまり、ＣＮ２０にとっての通信相手はＭＮ１０となり、ＭＮ１０をＣＮと呼ぶこともできる。また、図1に示すネットワークの構成は、３ＧＰＰ（Third Generation Partnership Project）などの携帯電話用ネットワーク網に適用することも可能である。その場合、ＨＡ機能はＰＤＮゲートウェイ（Packet Data Network Gateway）と呼ばれるネットワークノード上の機能として実現され、ＡＲ機能は、セルラネットワーク内のサービングゲートウェイ（Serving Gateway）、ＷｉＭＡＸなどの信頼できるネットワーク（Trusted Network）内のアクセスルータ、又はＮｏｎ３ＧＰＰネットワーク（Untrusted Network）に対するゲートウェイであるePDG（evolved Packet Data Gateway）等の機能として実現される。またＭＮ、及びＣＮはＵＥ（User Equipment）と呼ばれる。
【００３２】
図２は、本発明の第１の実施の形態におけるＭＮの構成の一例を示す構成図である。ＭＮ１０は、例えば図２に示す構成要素を備えている。送信部２１は、インタフェース２２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードにパケットを送信する機能を有している。また、受信部２３は、インタフェース２２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードからパケットを受信する機能を有している。
【００３３】
位置情報登録メッセージ処理部２４は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のＣｏＡをＨｏＡに関連付け、バインディングキャッシュとして位置情報保持部２５に保持するよう指示する。さらに、位置情報登録メッセージの中に含まれているＢＣ使用可能期間（ＢＣ有効期間）を取得し、バインディングキャッシュの中に保持させる。なお、ＢＣ使用可能期間が位置情報登録メッセージに含まれていない場合には、ＭＮ１０自身が適切なＢＣ使用可能期間を生成するようにしてもよい。
【００３４】
図３は、ＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図３に示されているように、登録するＣｏＡ３１と共にＢＣ使用可能期間３２が含まれている。なお、上述したように、ＢＣ使用可能期間はこのメッセージ内に含めずにＭＮ１０側で生成するようにしてもよい。また、位置情報登録メッセージには、ＭＮ１０に対して、ＣＮ２０との通信が終了した後に、通信が終了してからの経過時間（通信が終了してから新たな通信を開始するまでの経過時間）である通信終了後経過時間タイマ（以下、単にタイマとも言う）の計測をスタートさせることを求める情報（通信終了後経過時間タイマ使用要求フラグ３３）を付加してもよい。この情報は、ＢＣ使用可能期間が含まれていることで示されてもよいし、ＢＣ使用可能期間が含まれていない場合には、フラグなどで通信終了後経過時間タイマを使用することを要求している旨を示してもよい。
【００３５】
位置情報保持部２５は、通信相手から登録されたバインディングキャッシュ（ＢＣ使用可能期間の情報を含む）を保持する。また、受信パケット処理部２６、又は上位レイヤ２８からバインディングキャッシュの通信終了後経過時間タイマの計測のスタートの指示を受ける。図４は、位置情報保持部２５が保持するＣＮ２０のバインディングキャッシュの一例を示している。図４に示すように、ＨｏＡ２に関連付けられたＣｏＡ２に対して、ライフタイム４１、通信終了後経過時間タイマ４２、ＢＣ使用可能期間４３が管理されている。ライフタイムはＢＣのライフタイムである。なお、通常のバインディングキャッシュのライフタイムとして、ＢＣ使用可能期間を保持してもよい。この場合、図３において、ＢＣ使用可能期間３２は、ＢＵメッセージのライフタイムフィールドに設定される。ライフタイムフィールドの値がＢＣ使用可能期間であることを受信ノードへ示すために、ＢＵメッセージにフラグなどを含めてもよい。
【００３６】
送信パケット生成部２７は、上位レイヤ２８から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部２１へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部２７は、位置情報保持部２５を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。
【００３７】
ここで、送信パケット生成部２７における処理の一例について図５を用いて説明する。ＣＮ２０との通信を開始すると、まず、通信相手のＣＮ２０に関するバインディングキャッシュ（ＢＣ）が存在するか否かを判断する（ステップＳ５０１）。存在しない場合には、通信相手のＨｏＡをパケットの宛先アドレスにセットして（ステップＳ５０２）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。一方、存在する場合には、そのバインディングキャッシュの通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する（ステップＳ５０４）。
【００３８】
タイマの計測がスタートしていない場合には、バインディングキャッシュに登録されているＣｏＡをパケットの宛先アドレスにセットして（ステップＳ５０５）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。一方、タイマの計測が既にスタートしている場合には、タイマがＢＣ使用可能期間よりも大きいか否かを判断する（ステップＳ５０６）。大きい場合には、ＣＮ２０のＨｏＡをパケットの宛先アドレスにセットしＣｏＡをオプションとして含め（ステップＳ５０７）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。一方、大きくない場合には、バインディングキャッシュに登録されているＣｏＡをパケットの宛先アドレスにセットして（ステップＳ５０５）、パケットを送信するよう送信部２１へ指示する（ステップＳ５０３）。なお、ステップＳ５０５において、宛先アドレスとしてＣｏＡがセットされるパケットは、モバイルＩＰにおける経路最適化を用いた場合のパケットであるため、ＨｏＡを含むルーティングヘッダが含まれている。また、ステップＳ５０７において、ＣｏＡを含むオプションとしては、ＩＰｖ６で定義されているデスティネーションオプションが用いられるのが望ましい。また、ＣｏＡの代わりにＢＩＤを用いてもよい。
【００３９】
なお、ＢＣ使用可能期間は、上述したようにＭＮ１０が任意に設定してもよいし、さらにその値をＣＮ２０に対して通知してもよい。この場合、ＣＮ２０からの位置情報登録メッセージにはＭＮ１０に対してＢＣ使用可能期間は含まれない。また、ＨＡや、ゲートウェイサーバ（ｅＰＤＧ、ＰＤＮゲートウェイ）などのオペレータ側のエンティティがＭＮ１０及びＣＮ２０に対して設定するようにしてもよい。また、ＭＮ１０がオペレータ側のエンティティに対して、ＢＣ使用可能期間、及び通信終了後経過時間タイマの使用をするべきか否かを確認するようにしてもよい。あるいは、ＣＮ２０から、通信が終了した後、明示的にＢＣを削除することを要求するメッセージ（Binding Revocationメッセージ）を受信しない場合に、ＢＣ使用可能期間、及び通信終了後経過時間タイマの使用をするべきと判断してもよい。
【００４０】
上位レイヤ２８は、ＩＰレイヤの上位に位置するレイヤ全体を表わすものであり、トンランスポート層（ＴＣＰ／ＵＤＰ）、さらにその上位のアプリケーションまでを含む。受信パケット処理部２６は、受信部２３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部２６で処理されたパケット内のデータは、上位レイヤ２８又は送信パケット生成部２７に送られる。また、受信パケット処理部２６、及び上位レイヤ２８は、ＣＮ２０との通信が完了した時に、位置情報保持部２５に保持されているＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマの計測をスタートすることを指示する。なお、位置情報保持部２５は、ＣＮ２０との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ２８及び受信パケット処理部２６に問い合わせることや、あるいは上位レイヤ２８及び受信パケット処理部２６から通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。
【００４１】
ここで、受信パケット処理部２６における処理の一例について図６を用いて説明する。ＣＮ２０からパケットを受信すると、まず、受信したパケットに、通信相手のＣＮ２０のＨｏＡを含むホームアドレスオプションが付加されているか否かを判断し（ステップＳ６０１）、付加されていない場合は、ＨＡ経由で転送されていたパケットであると判断して、ＣＮ２０のバインディングキャッシュ（ＢＣ）を削除し（ステップＳ６０２）、パケットに含まれるデータの受信処理を行う（ステップＳ６０３）。
【００４２】
なお、ＣＮ２０から経路最適化を使用せずにＨＡ経由でパケットが転送されてきた後であっても、ＣＮ２０が再び経路最適化を使用してパケットを送信して来る場合に備える場合は、Ｓ６０２において、バインディングキャッシュを削除せずに、通信終了後経過時間タイマをスタートさせる。この場合のタイマは、ＣＮ２０からのパケットが、経路最適化を使用せずに送られてきている間の時間を計測する。これにより、ＣＮ２０が再び経路最適化を使用してパケット送信する場合でも、ＣＮ２０はＭＮ１０に対して位置情報の登録を行う必要がなくなるとともに、ＣＮ２０の位置情報がＢＣ有効期間を超えた後に、ＭＮ１０がＣＮ２０の位置情報を使用するのを防ぐことができる。また、ＣＮ２０が再び経路最適化を使用してきた場合には、ステップＳ６０５によってタイマがリセットされるため、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュが再び利用可能となる。なお、ホームアドレスオプションが付加されていないということは、経路最適化を使用したパケットではないことを意味する。
【００４３】
一方、ホームアドレスオプションが付加されている場合は、パケットの送信元アドレスが、バインディングキャッシュに登録されているＣｏＡと一致するか否かを判断する（ステップＳ６０４）。一致する場合には、バインディングキャッシュの通信終了後経過時間タイマをリセットする（ステップＳ６０５）。これにより、ＭＮ１０がＣＮ２０へパケットを送信した際に、通信終了後経過時間タイマの値がＢＣ使用可能期間よりも大きいために、経路最適化を使用せずにパケットを送信していた場合には、タイマがリセットされることによって、ＣＮ２０へパケットを送信する際に、再びバインディングキャッシュを用いた経路最適化を利用することができるようになる。一方、ステップＳ６０４において一致しない場合には、登録されていないＣｏＡからのパケットであると判断して、バインディングキャッシュを削除し（ステップＳ６０６）、受信パケットを破棄する（ステップＳ６０７）。
【００４４】
図７は、本発明の第１の実施の形態におけるＣＮの構成の一例を示す構成図である。ＣＮ２０は、例えば図７に示す構成要素を備えている。送信部７１は、インタフェース７２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードにパケットを送信する機能を有している。また、受信部７３は、インタフェース７２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードからパケットを受信する機能を有している。
【００４５】
登録済み位置情報保持部７４は、通信相手（例えば、ＭＮ１０）へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部７５、又は上位レイヤ７８から登録済み位置情報の通信終了後経過時間タイマの計測のスタートの指示を受ける。なお、登録済み位置情報保持部７４は、ＭＮ１０との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ７８及び受信パケット処理部７５に問い合わせることや、あるいは上位レイヤ７８及び受信パケット処理部７５にから通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。さらに、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部７６に対して指示する。
【００４６】
位置情報登録メッセージ生成部７６は、送信パケット生成部７７又は受信パケット処理部７５からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。さらに、登録するバインディングキャッシュに対するＢＣ使用可能期間を位置情報登録メッセージの中に含め、送信部７１に対して送信するよう指示する。
【００４７】
なお、ＢＣ使用可能期間は、通信状態（通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定）、接続状態（接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定）、ハンドオーバの発生頻度（ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定）、通信データの種類（音声データ、動画データなどのリアルタイムデータ、制御メッセージなど）、インタフェースの種類（セルラ、ＷｉＭＡＸ、ＷＬＡＮ）などに応じて、ＣＮ２０及びＭＮ１０にとって適切な値を設定することが望ましい。また、プロトコルの種類（ＴＣＰ、ＵＤＰ、ＳＩＰ、ＲＴＰなど）によって値が任意に定められていてもよい。さらに、通信相手であるＣＮによって値が任意に定められていてもよい。例えば、同一のオペレータに属するＣＮであるか否かによって値が任意に定められてもよい。なお、ＭＮ１０が保持するＢＣ使用可能期間はＣＮ２０が保持するＢＣ使用可能期間よりも大きいことが望ましい。
【００４８】
また、位置情報登録メッセージ生成部７６は、登録済み位置情報保持部７４からの指示を受け、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ＭＮ１０のライフタイムを更新するための位置情報登録メッセージを生成する。送信パケット生成部７７は、上位レイヤ７８又は受信パケット処理部７５から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部７１へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部７７は、登録済み位置情報保持部７４を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。
【００４９】
ここで、送信パケット生成部７７における処理の一例について図８を用いて説明する。パケットを送信するよう指示されると、まず、宛先となるノードに対してバインディングキャッシュ（ＢＣ）を登録しているか否かを判断する（ステップＳ８０１）。登録していない場合には、送信するパケットをＨＡあてにカプセル化し（ステップＳ８０２）、カプセル化されたパケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。一方、登録している場合には、その登録済み位置情報の通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する（ステップＳ８０４）。
【００５０】
タイマの計測がスタートしていない場合には、パケットに対して、ＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ８０５）、パケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。一方、タイマの計測が既にスタートしている場合には、タイマがＢＣ使用可能期間よりも大きいか否かを判断する（ステップＳ８０６）。大きい場合には、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させる必要があるか否かを判断し（ステップＳ８０７）、必要がある場合にはＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ８０５）、パケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。
【００５１】
ＭＮ１０のＢＣ有効期間が、ＣＮ２０が保持するＢＣ有効期間よりも大きい場合、ＣＮ２０の通信終了後経過時間タイマがＢＣ有効期間よりも大きくなったとしても、ＭＮ１０の通信終了後経過時間タイマは未だＢＣ有効期間よりも大きくないため、Ｓ８０５において生成されたパケットをＭＮ１０が受信することで、バインディングキャッシュの通信終了後経過時間タイマがリセットされ、経路最適化の使用が開始される。一方、ステップＳ８０７において、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマをリセットする必要がない場合は、送信するパケットをＨＡあてにカプセル化し（ステップＳ８０９）、カプセル化されたパケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。一方、ステップＳ８０６において、大きくない場合には、通信終了後経過時間タイマをリセットし（ステップＳ８０８）、パケットに対して、ＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ８０５）、パケットを送信するよう送信部７１へ指示する（ステップＳ８０３）。これにより、ＭＮ１０のバインディングキャッシュの通信終了後経過時間タイマがリセットされる。
【００５２】
受信パケット処理部７５は、受信部７３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部７５で処理されたパケット内のデータは、上位レイヤ７８又は送信パケット生成部７７に送られる。また、受信パケット処理部７５及び上位レイヤ７８は、ＭＮ１０との通信が完了した時に、登録済み位置情報保持部７４に保持されているＭＮ１０へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。
【００５３】
また、受信パケット処理部７５は、ＭＮ１０からパケットを受信した際に、登録済み位置情報保持部７４を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部７６に対して位置情報登録メッセージを生成し、ＭＮ１０へ送信するよう指示する。
【００５４】
ここで、受信パケット処理部７５における処理の一例について図９を用いて説明する。ＭＮ１０からパケットを受信すると、まず、受信したパケットがＨＡによってカプセル化されて転送されたパケットであるか否かを判断する（ステップＳ９０１）。カプセル化されたパケットである場合は、ＨｏＡあてのパケットとして受信するために、デカプセル化を行う（ステップＳ９０２）。そして、デカプセル化した後のパケットにＣｏＡを含むＣｏＡ指定オプションが付加されているかどうかを判断する（ステップＳ９０３）。
【００５５】
ＣｏＡ指定オプションが付加されている場合には、ＭＮ１０はバインディングキャッシュを持っているが、通信終了後経過時間タイマがあらかじめ決められた値（ＢＣ使用可能期間）よりも大きいためにＣｏＡあてに直接送信しなかったものと判断し、登録済み位置情報の通信終了後経過時間タイマをリセットする（ステップＳ９０４）。一方、ＣｏＡ指定オプションが付加されていない場合には、ＭＮ１０はバインディングキャッシュを保持していないと判断し、登録済み位置情報を削除する（ステップＳ９０５）。登録済み位置情報を削除したあと、ＭＮ１０に対して送信するパケットがあるか否かを判断し（ステップＳ９０６）、送信するパケットがある場合には、ＭＮ１０にバインディングキャッシュが登録されていない場合のパケット送信方法として、ＨＡあてにカプセル化し（ステップＳ９０７）、パケットを送信するよう送信部７１へ指示する（ステップＳ９０８）。
【００５６】
一方、受信したパケットが、ＨＡによってカプセル化されたパケットではなく、ＨｏＡを含むルーティングヘッダが付加されているパケットである場合には、ＨｏＡあてのパケットとして受信するために、ルーティングヘッダ内のＨｏＡを宛先アドレスにセットし（ステップＳ９０９）、さらに登録済み位置情報の通信終了後経過時間タイマをリセットする（ステップＳ９０４）。通信終了後経過時間タイマをリセットした後、ＭＮ１０に対して送信するパケットがあるか否かを判断し（ステップＳ９１０）、送信するパケットがある場合には、ＭＮ１０にバインディングキャッシュが登録されている場合のパケット送信方法として、送信元アドレスにＣｏＡをセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ９１１）、パケットを送信するよう送信部７１へ指示する（ステップＳ９０８）。なお、受信したパケットの送信元に対して送信するパケットがある場合の送信方法は、図８に示されている処理を実行した場合と同等の結果となる。
【００５７】
ここで、ＣＮ２０が外部ネットワーク１２に接続してＣｏＡ２を使用している場合に、ＣｏＡ２に関するバインディングキャッシュを保持しているＭＮ１０がＣＮ２０へ通信を開始する場合を考える。ＭＮ１０が保持するバインディングキャッシュの通信終了後経過時間タイマがＢＣ使用可能期間よりも大きい場合、ＣＮ２０は、ＨＡによってカプセル化され、かつ内部パケットにＣｏＡ指定オプションが付加されているパケットをＭＮ１０から受信する。
【００５８】
ＣｏＡ指定オプションに含まれているＣｏＡ２はＣＮ２０の現在の移動先アドレスを示しているので、ＣＮ２０はＭＮ１０へ送信するパケットを、ＨＡを経由しない経路最適化されたパスを使用して届けることができる。さらに、ＣＮ２０は、ＣｏＡ指定オプションに含まれているＣｏＡ２はＣＮ２０の現在の移動先アドレスを示しているので、ＭＮ１０がまだ正しいバインディングキャッシュを保持していると判断できるため、新規にバインディングキャッシュを登録するための位置情報登録メッセージをＭＮ１０へ送信する必要がないと判断する。
【００５９】
次に、ＣＮ２０が外部ネットワーク１３に接続してＣｏＡ３を使用している場合に、ＣｏＡ２に関するバインディングキャッシュを保持しているＭＮ１０がＣＮ２０へ通信を開始する場合を考える。ＭＮ１０が保持するバインディングキャッシュの通信終了後経過時間タイマがＢＣ使用可能期間よりも大きい場合、ＣＮ２０は、ＨＡによってカプセル化され、かつ内部パケットにＣｏＡ指定オプションが含まれているパケットをＭＮ１０から受信する。
【００６０】
ＣｏＡ指定オプションに含まれているＣｏＡ２は、ＣＮ２０の現在の移動先アドレスを示していないため、ＣＮ２０はＭＮ１０へ送信するパケットを、ＨＡを経由するパスを使用して届けなければならない。さらに、ＭＮ１０の位置情報を正しい移動先アドレスで更新するために、位置情報登録メッセージをＭＮ１０へ送信する必要があると判断する。
【００６１】
なお、本発明の第１の実施の形態におけるＭＮ１０の機能の一部を、ＭＮ１０の位置情報を管理しているＨＡ１４に適用した場合にも同様の効果を得ることができる。ＭＮ１０はＨＡ１４に対して、図３に示すようなＢＣ使用可能期間を含めたＢＵメッセージを送信する。ＨＡ１４は、ＭＮ１０から受信したＢＵメッセージ内のＢＣ使用可能期間を、ＭＮ１０のバインディングキャッシュに設定する。そして、ＭＮ１０とＣＮとの間の通信が終了した後（バインディングキャッシュを用いた通信が行われていない状態になったとき）にタイマをスタートさせる。そのタイマは、ＭＮ１０が再びそのバインディングキャッシュに登録されているＣｏＡを用いてＣＮとの通信を再開した場合にリセットさせる。このため、ＭＮ１０がしばらくの間通信をせずに、タイマがＢＣ有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。この場合、ＨＡ１４に、使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合（ＭＮ１０が複数のインタフェースを保持しているケース）は、ＨＡ１４は、次の転送先としてその他のバインディングキャッシュを選択して使用する。
【００６２】
一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもＢＣ有効期間を超えている場合には、タイマの経過時間、またはＢＣ使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、ＨＡ１４は、バインディングキャッシュの使用保留を解除し、受信したパケットを登録されているＣｏＡ宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、ＨＡ１４においてパケットロスとなってしまう代わりに、ＭＮ１０が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ（ＣｏＡとしてＨｏＡをセット）が存在する場合には、ＨＡ１４はカプセル化せずにＨｏＡ宛にパケットを転送する。なお、ＭＮ１０の他のバインディングキャッシュがない場合でも、ＭＮ１０がホームネットワークに接続していることが分かる場合には、ＨｏＡ宛に転送してもよい。
【００６３】
このように、本発明の第１の実施の形態におけるＭＮ１０及びＣＮ２０によって、ＣＮ２０へパケットを送信する際に、ＭＮ１０自身が保持しているＣＮ２０のバインディングキャッシュの通信終了後経過時間タイマを確認し、その経過時間の大きさによって、実際に送信するパケットに対してバインディングキャッシュのＣｏＡを使用するか否かを判断することができる。
【００６４】
具体的には、そのタイマの値がＢＣ使用可能期間よりも大きい（以前（最後）の通信から一定時間以上経過していることを示す）場合には、ＣＮ２０が既に移動していて、そのバインディングキャッシュが有効でない可能性があると判断し、送信するパケットをＣＮ２０のＨｏＡあてに送信する。これにより、ＣＮ２０が既に移動していて新しいＣｏＡを使用している場合でも、移動後のＣｏＡに転送されるため、パケットがロスしてしまうことを防ぐことができるという効果が得られる。
【００６５】
さらに、ＭＮ１０は、バインディングキャッシュがまだ登録されていることをＣＮ２０に対して示すために、バインディングキャッシュに保持されているＣｏＡを含むＣｏＡ指定オプションをパケットに付加して送信するため、ＣＮ２０は、ＭＮ１０がまだ有効なバインディングキャッシュを保持していることを知ることができるため、バインディングキャッシュを新規に登録するための位置情報登録メッセージを送信する必要がなく、メッセージ送信に伴う処理負荷や、トラフィックを低減させることができるという効果が得られる。
【００６６】
また、ＣＮ２０は、ＭＮ１０へ通知するＢＣ使用可能期間の値を通信状態、接続状態、ハンドオーバの発生頻度、通信データの種類、インタフェースの種類（セルラ、ＩＥＥＥ８０２．ａ／ｂ／ｇ／ｎなどのワイヤレスＬＡＮ、ＷｉＭＡＸ）などに応じて、任意に設定することで、その時点で最も適切な選択をＭＮ１０へ促すことができる。
【００６７】
＜第２の実施の形態＞
図１０は、本発明の第２の実施の形態におけるネットワークの構成の一例を示す構成図である。図１と図１０の違いは、ＣＮ２０が２つのインタフェースを保持しているという点である。ＩＦ１は外部ネットワーク１２に接続しＣｏＡ２が割り当てられており、ＩＦ２は外部ネットワーク１３に接続しＣｏＡ３が割り当てられている。
【００６８】
ＨＡ１４は、ＭＮ１０のバインディングキャッシュとして、ＨｏＡ１に対する移動先アドレスとしてＣｏＡ１が関連付けられた情報を保持している。また、ＨＡ１５は、ＣＮ２０のバインディングキャッシュとして、ＨｏＡ２に対する移動先アドレスとしてＣｏＡ２とＣｏＡ３が関連付けられた情報を保持している。なお、ＭＮ１０及びＣＮ２０のホームネットワーク及びＨＡは、同一のホームネットワーク及びＨＡであってもよい。また、ＣＮ２０はＭＮ１０と同様にモバイルノードであってもよい。
【００６９】
本発明の第２の実施の形態におけるＭＮ１０の構成は、第１の実施の形態と同じであるため、図２を用いて説明する。第１の実施の形態と第２の実施の形態とで異なる点は、主に位置情報保持部２５と送信パケット生成部２７における処理である。ここで、複数のＣｏＡを登録する場合のＢＵメッセージ（位置情報登録メッセージ）の構成の一例を図１１に示す。図１１に示されているように、それぞれの登録するＣｏＡ１１１、１１２に対してＢＵ使用可能時間１１３、１１４が指定されている。なお、図１２は、位置情報保持部２５が保持するＣＮ２０のバインディングキャッシュの一例を示している。ＨｏＡ２に関連付けられたＣｏＡ２、ＣｏＡ３それぞれに対して、ライフタイム１２１、１２４、通信終了経過時間タイマ１２２、１２５、ＢＣ使用可能期間１２３、１２６が管理されている。
【００７０】
位置情報保持部２５は、ＣＮ２０の位置情報として、１つのＨｏＡに対して複数のＣｏＡが関連付けられたバインディングキャッシュを保持する。また、送信パケット生成部２７は、パケットを生成する際に、位置情報保持部２５を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。
【００７１】
ここで、送信パケット生成部２７における処理の一例について図１３を用いて説明する。ＣＮ２０との通信を開始すると、まず、通信相手のＣＮ２０のバインディングキャッシュ（ＢＣ）が存在するか否かを判断し（ステップＳ１３０１）、存在する場合、その中に複数のＣｏＡが登録されているか否かを判断する（ステップＳ１３０２）。複数のＣｏＡが登録されている場合には、それぞれのＣｏＡの通信終了後経過時間タイマを確認し、タイマがＢＣ使用可能期間よりも小さいエントリがあるか否かを判断する（ステップＳ１３０３）。
【００７２】
該当するエントリがある場合にエントリが複数あるか否かを判断し（ステップＳ１３０４）、複数ある場合には、ＢＣ使用可能期間と通信終了後経過時間タイマとの差が最も大きいエントリを選択し（ステップＳ１３０５）、そのエントリのＣｏＡを宛先アドレスにセットしてパケットを生成し（ステップＳ１３０６）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。該当するエントリが１つある場合には、そのエントリのＣｏＡを宛先アドレスにセットしてパケットを生成し（ステップＳ１３０６）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。生成されるパケットは、宛先アドレスにＣｏＡが設定され、ＨｏＡを含むルーティングヘッダが付加されたパケットである。
【００７３】
一方、ステップＳ１３０３において、該当するエントリがない場合には、登録（保持）されているバインディングキャッシュのＣｏＡが、ＢＣ使用可能期間を既に経過しているＣｏＡであることを示す情報をパケットに付加し（ステップＳ１３０８）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。この情報はＣｏＡ又はＢＩＤであってもよいし、ＣｏＡ指定オプションの中のフラグとして示されていてもよい。
【００７４】
なお、ステップＳ１３０１においてバインディングキャシュが存在しない場合には通信相手のＣＮ２０のＨｏＡをパケットの宛先アドレスにセットし（ステップＳ１３０９）、パケットを送信するよう送信部２１へ指示する（ステップＳ１３０７）。また、ステップＳ１３０２において複数のＣｏＡが登録されていない場合、第１の実施の形態で説明した図５のステップＳ５０４以降の処理が行われる。
【００７５】
これにより、ＭＮ１０は、登録されているＣＮ２０の複数のＣｏＡの中で、ＣＮ２０の現在の移動先アドレスを正しく示している可能性がもっとも高いＣｏＡを選択してパケットを送信することが可能となる。
【００７６】
本発明の第２の実施の形態におけるＣＮ２０の構成は、第１の実施の形態と同じであるため、図７を用いて説明する。第１の実施の形態と第２の実施の形態とで異なる点は、主に受信パケット処理部７５と送信パケット生成部７７における処理である。受信パケット処理部７５は、受信部７３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部７５で処理されたパケット内のデータは、上位レイヤ７８又は送信パケット生成部７７に送られる。
【００７７】
また、受信パケット処理部７５は、ＭＮ１０との通信が完了した時に、登録済み位置情報保持部７４に保持されている、ＭＮ１０へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。また、受信パケット処理部７５は、ＭＮ１０からパケットを受信した際に、登録済み位置情報保持部７４を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部７６に対して位置情報登録メッセージを生成し、ＭＮ１０へ送信するよう指示する。
【００７８】
なお、受信パケット処理部７５は、図９に示す処理とほぼ同様の処理を行うが、ＣｏＡ指定オプションには、複数のＣｏＡが含まれているため、それぞれのＣｏＡに対応する通信終了後経過時間タイマをリセットする。
【００７９】
＜第３の実施の形態＞
本発明の第３の実施の形態においても図１を用いて説明する。なお、ＭＮ１０及びＣＮ２０のホームネットワーク及びＨＡは、同一のホームネットワーク及びＨＡであってもよい。また、以下の説明では、ＭＮ１０と区別するために、ＭＮ１０と通信を行うノードを通信相手という意味でＣＮと呼んでいるが、本発明におけるその実態はＭＮ１０と同様にモバイルノードである。つまり、ＣＮ２０にとっての通信相手はＭＮ１０となり、ＭＮ１０をＣＮと呼ぶこともできる。
【００８０】
図１４は、本発明の第３の実施の形態におけるＭＮの構成の一例を示す構成図である。ＭＮ１０は、例えば図１４に示す構成要素を備えている。送信部１４０１は、インタフェース１４０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードにパケットを送信する機能を有している。また、受信部１４０３は、インタフェース１４０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードからパケットを受信する機能を有している。
【００８１】
位置情報登録メッセージ処理部１４０４は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のＣｏＡをＨｏＡに関連付け、バインディングキャッシュとして位置情報保持部１４０５に保持するよう指示する。さらに、位置情報登録メッセージの中に、受信ノードによるバインディングキャッシュの扱いを示す情報（ＢＣタイプ情報）が含まれている場合、それらの情報もバインディングキャッシュの中に保持するよう指示する。
【００８２】
バインディングキャッシュの扱いを示す情報としては、後述する（１）、(２)、(３)のいずれかを示す情報である。特に(３)の場合において、ＢＣ有効期間（ＢＣ使用可能期間）も一緒に含まれている場合、ＢＣ有効期間の値を取得し、位置情報保持部１４０５に対して、登録するバインディングキャッシュの中に保持するよう指示する。なお、ＢＣ有効期間が位置情報登録メッセージに含まれていない場合には、ＭＮ１０自身が適切なＢＣ有効期間を生成するようにしてもよいし、任意のサーバから適切な値を取得するようにしてもよい。
【００８３】
図１５は、ＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図１５に示されているように、登録するＣｏＡ／ＢＩＤ１５０１と共に、ＢＣタイプ情報１５０２、さらにはＢＣ有効期間（ＢＣ使用可能期間）１５０３のフィールドが含まれている。なお、ＢＣ有効期間はＢＣタイプが（３）の場合に含まれる。受信パケット処理部１４０６は、受信部１４０３で受信したパケットに関する処理を行う機能を有している。受信パケット処理部１４０６で処理されたパケット内のデータは、上位レイヤ１４０７又は送信パケット生成部１４０８に送られる。
【００８４】
ここで、受信パケット処理部１４０６における処理の一例について図１６を用いて説明する。まず、ＣＮ２０からパケットを受信した際に（ステップＳ１６０１）、そのパケットが経路最適化を使用して送信されたパケットであるか否かを確認する（ステップＳ１６０２）。確認の方法としては、パケットにホームアドレスオプションが付加されているか否か、送信元アドレスがＣＮ２０のアドレスになっているか否かなどを確認する。経路最適化が使用されていない場合は、位置情報保持部１４０５を参照して、そのパケットの送信元ノードであるＣＮ２０に関するバインディングキャッシュを保持しているか否かを確認する（ステップＳ１６０３）。バインディングキャッシュを保持している場合には、ＢＣタイプ情報を確認し（ステップＳ１６０４）、以下の（１）から（３）のいずれかを選択し、実行する。
【００８５】
（１）「バインディングキャッシュを削除する（ステップＳ１６０５）。」ＣＮ２０のバインディングキャッシュを保持している時に、ＣＮ２０から、経路最適化を使用していないパケットを受信した時、ＣＮ２０のバインディングキャッシュを削除する。この場合、バインディングキャッシュが削除された後にＭＮ１０が送信するパケットは、ＣＮ２０のＣｏＡではなく、ホームアドレスあてに送信される。また、バインディングキャッシュを削除した際に、ＣＮ２０に対して、ＣＮ２０によって登録されたバインディングキャッシュが無効となったことを通知するためのＢＣ無効通知メッセージを送信してもよい。なお、ステップＳ１６０５において、本発明の第１の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがＢＣ有効期間よりも大きい場合に、バインディングキャッシュを削除すると判断してもよい。
【００８６】
（２）「バインディングキャッシュの使用を保留とする（ステップＳ１６０６）。」ＣＮ２０のバインディングキャッシュを保持している時に、ＣＮ２０から、経路最適化を使用していないパケットを受信した時、ＣＮ２０のバインディングキャッシュの使用を保留とする。この場合、バインディングキャッシュの使用を保留とした後にＭＮ１０が送信するパケットは、ＣＮ２０のＣｏＡではなく、ホームアドレスあてに送信される。また、保留としたＣＮ２０のバインディングキャッシュの有効性を確認するためのＢＣ確認メッセージをＣＮ２０へ送信するようＢＣ確認メッセージ生成部１４０９へ指示してもよい。また、バインディングキャッシュの保留中に、ＣＮ２０からのパケットが経路最適化を使用して送信されてきた場合は、保留を解消し、バインディングキャッシュの使用を再開する。なお、ステップＳ１６０６において、本発明の第１の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがＢＣ有効期間よりも大きい場合に、バインディングキャッシュを保留にすると判断してもよい。
【００８７】
（３）「タイマをスタートさせる（ステップＳ１６０７）。」ＣＮ２０のバインディングキャッシュを保持している時に、ＣＮ２０から、経路最適化を使用していないパケットを受信した時、通信開始後経過時間タイマをスタートさせる。このタイマをスタートさせた後は、前述の（２）の処理を行い、バインディングキャッシュの使用を保留とする（ステップＳ１６０８）。そして、タイマの経過時間がＢＣ有効期間よりも大きくなったか否かを判断し（ステップＳ１６０９）、大きくなった場合は、前述の（１）の処理を行い、バインディングキャッシュを削除する（ステップＳ１６１０）。
【００８８】
なお、ステップＳ１６０２において、パケットが経路最適化を使用して送信されたパケットであると判断された場合、ＣＮ２０のバインディングキャッシュを保持している（ステップＳ１６１１）として、そのバインディングキャッシュが使用保留となっているか否かを確認する（ステップＳ１６１２）。ステップＳ１６１２において、使用保留となっていない場合は、経路最適化に伴う処理を行った（ステップＳ１６１３）後、パケットに含まれるデータの受信処理を行う（ステップＳ１６１５）。一方、ステップＳ１６１２において、使用保留となっている場合は、そのバインディングキャッシュの使用保留を解除し（ステップＳ１６１４）、経路最適化に伴うパケット受信処理を行った（ステップＳ１６１３）後、パケットに含まれるデータの受信処理を行う（ステップＳ１６１５）。また、ステップＳ１６０３において、パケットの送信元ノードであるＣＮ２０に関するバインディングキャッシュを保持していないと判断された場合、パケットに含まれるデータの受信処理を行う（ステップＳ１６１５）。
【００８９】
なお、タイマをスタートさせた時点でバインディングキャッシュの使用を保留とせずに、タイマの経過時間がＢＣ有効期間よりも小さい間は、バインディングキャッシュを使用可能としてもよい。この場合、タイマの経過時間がＢＣ有効期間よりも大きくなった場合は、前述の（２）又は（３）のいずれかを選択して実行するようにしてもよいし、どちらか一方の処理を常に実行するようにしてもよい。
【００９０】
ＭＮ１０による前述の（１）、（２）、（３）の選択方法として、例えば、前述のように、ＣＮ２０からの位置情報登録メッセージの中に含まれているＢＣタイプ情報が使用される。なお、ＢＣタイプ情報として（１）、（２）、（３）が同時に使用される必要はなく、例えば、（１）だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には（１）を使用し、セットされていない場合には、（１）を使用せずに通常のやり方でＢＣを管理する、ということを示すようにしてもよい。
【００９１】
また（２）だけを使用する場合、あるいは（３）だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。また、ＣＮ２０から通信開始後経過時間タイマを使用するよう要求された場合には（３）を選択し、タイマの使用が要求されていない場合には、（１）又は（２）を選択するという方法でもよい。この場合、（３−１）を（３）の場合で（１）を実行する場合、（３−２）を（３）の場合で（２）を実行する場合として、ＢＣタイプ情報で識別可能なようにしてもよい。
【００９２】
位置情報保持部１４０５は、通信相手から登録されたバインディングキャッシュ（ＢＣタイプ情報やＢＣ有効期間の情報を含む）を保持する。また、受信パケット処理部１４０６から、ＢＣを削除又は使用保留とすること指示された場合、該当するＣＮのバインディングキャッシュを削除又は使用保留とする。さらに、通信相手の通信開始後経過時間タイマをスタートさせるよう指示を受けた場合、通信相手に対応するバインディングキャッシュの中のタイマをスタートさせる。
【００９３】
図１７は、位置情報保持部１４０５が保持するＣＮ２０のバインディングキャッシュの一例を示している。図１７に示すように、ＨｏＡ２に関連付けられたＣｏＡ２に対して、ライフタイム１７０１、通信開始後経過時間タイマ１７０２、ＢＣ有効期間（ＢＣ使用可能期間）１７０３が関連付けられて管理されている。ライフタイム１７０１はＢＣのライフタイムを示している。
【００９４】
送信パケット生成部１４０８は、上位レイヤ１４０７又は受信パケット処理部１４０６の指示を受け、ＣＮ２０へ送信するパケットを生成し、そのパケットに対してバインディングキャッシュを用いてパケットを送信するべきか否かを判断する。
【００９５】
ここで、送信パケット生成部１４０８における処理の一例について図１８を用いて説明する。まず、ＣＮ２０との通信を開始するためにＣＮ２０へパケットを送信する際に、そのパケットの送信先であるＣＮ２０に関するバインディングキャッシュを保持しているか否かを確認し（ステップＳ１８０１）、保持していない場合には、経路最適化を使用せずに、ＣＮ２０へパケットを送信する。すなわち、ＣＮ２０のＨｏＡを宛先アドレスにセットする（ステップＳ１８０２）。
【００９６】
一方、保持している場合には、そのエントリが使用保留となっているか否かを確認する（ステップＳ１８０３）。使用保留となっている場合は、そのバインディングキャッシュを使用せずに、ＣＮ２０へパケットを送信する。この場合のパケットは、宛先アドレスがＣＮ２０のホームアドレスで、送信元アドレスがＭＮ１０のホームアドレスとなっている（経路最適化を不使用）。一方、使用保留となっていない場合には、保持しているバインディングキャッシュを用いて、バインディングキャッシュに保持されているＣＮ２０のＣｏＡを宛先アドレスにセットし（ステップＳ１８０４）、ＣＮ２０のＨｏＡを含むルーティングヘッダをパケットに付加して送信する（経路最適化を使用）（ステップＳ１８０５）。
【００９７】
ＢＣ確認メッセージ生成部１４０９は、受信パケット処理部１４０６からの指示を受け、ＣＮ２０から経路最適化を使わずに送信されたパケットを受信した際に、ＣＮ２０によって登録されているＢＣがまだ有効であるか否かを確認するためのＢＣ確認メッセージを生成し、ＣＮ２０へ送信するよう送信部１４０１に指示する。図１９は、ＢＵメッセージを用いた場合のＢＣ確認メッセージのフォーマットの一例である。
【００９８】
図１９に示されているように、このメッセージがＢＣ確認メッセージであることを示す情報として、ＢＣ確認メッセージであることを示すモビリティヘッダ１９０１のタイプを用いてもよいし、モビリティヘッダ１９０１内の、確認するＣｏＡを含むオプション内のフラグとして含まれていてもよい。なお、ＢＣ確認メッセージとしては、モバイルＩＰｖ６のモビリティヘッダにより構成されたメッセージを用いるのが望ましいが、ＣＮ２０へ送信することができるメッセージであれば任意のメッセージを用いてもよい。また、ＣＮ２０へ送信するデータパケットに付加するオプション（宛先オプションヘッダなど）として実現されてもよい。
【００９９】
ＢＣ確認応答メッセージ処理部１４１０は、ＣＮ２０から受信したＢＣ確認応答メッセージに関する処理を行う。ＭＮ１０が送信したＢＣ確認メッセージに対する応答として、ＢＣが無効であることが通知された場合には、保持しているＢＣを削除する。この場合、以降ＭＮ１０がＣＮ２０へ送信するパケットは、経路最適化を用いずに、ＣＮ２０のＨＡを経由して送信される。一方、ＢＣが有効であることが通知された場合には、ＢＣの保持を継続し、ＣＮ２０へ送信するパケットに経路最適化を使用してパケットを送信する。
【０１００】
図２０は、本発明の第３の実施の形態におけるＣＮ２０の構成の一例を示す構成図である。ＣＮ２０は、例えば図２０に示す構成要素を備えている。送信部２００１は、インタフェース２００２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードにパケットを送信する機能を有している。また、受信部２００３は、インタフェース２００２を通じて、接続されているネットワーク（外部ネットワーク１２）上のノードからパケットを受信する機能を有している。
【０１０１】
登録済み位置情報保持部２００４は、通信相手（例えば、ＭＮ１０）へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部２００５、又は上位レイヤ２００８から登録済み位置情報の通信開始後経過時間タイマの計測のスタートの指示を受けたときタイマをスタートさせる。つまり、通信相手から、経路最適化が使用されていないパケットを受信した場合に、通信開始後経過時間タイマが開始される。さらに、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部２００６に対して指示する。
【０１０２】
位置情報登録メッセージ生成部２００６は、送信パケット生成部２００７又は受信パケット処理部２００５からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。また、位置情報登録メッセージ生成部２００６は、登録済み位置情報保持部２００４からの指示を受け、ＭＮ１０へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ＭＮ１０のライフタイムを更新するための位置情報登録メッセージを生成する。
【０１０３】
さらに、登録するバインディングキャッシュに対する扱いを示すＢＣタイプ情報を付加してもよい。特に前述の（３）を使用することを選択した場合には、ＢＣ有効期間を位置情報登録メッセージの中に含め、送信部２００１に対して送信するよう指示する。
【０１０４】
なお、ＢＣ有効期間は、通信状態（通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定）、接続状態（接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定）、ハンドオーバの発生頻度（ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定）、通信データの種類（音声データ、動画データなどのリアルタイムデータ、制御メッセージなど）、インタフェースの種類（セルラ、ＷｉＭＡＸ、ＷＬＡＮ）などに応じて、ＣＮ２０及びＭＮ１０にとって適切な値を設定することが望ましい。また、プロトコルの種類（ＴＣＰ、ＵＤＰ、ＳＩＰ、ＲＴＰなど）によって値が任意に定められていてもよい。さらに、通信相手であるＣＮによって値が任意に定められていてもよい。例えば、同一のオペレータに属するＣＮであるか否かによって値が任意に定められてもよい。
【０１０５】
送信パケット生成部２００７は、上位レイヤ２００８又は受信パケット処理部２００５から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部２００１へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部２００７は、登録済み位置情報保持部２００４を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。
【０１０６】
ＢＣ確認メッセージ処理部２００９は、ＭＮ１０から受信したＢＣ確認メッセージに関する処理を行い、登録済み位置情報保持部２００４を参照して、ＢＣ確認メッセージに含まれる情報が示すＣＮ２０のＢＣが有効であるか否かを確認する。登録済み位置情報に、該当するＢＣが保持されている場合には、そのＢＣが有効であると判断し、ＭＮ１０に対して、通知されたＢＣがまだ有効であることを示すＢＣ確認応答メッセージを生成して送信するよう、ＢＣ確認応答メッセージ生成部２０１０へ指示する。
【０１０７】
登録済み位置情報に、該当するＢＣが保持されていない場合には、そのＢＣはすでに無効であると判断し、ＭＮ１０に対して、通知されたＢＣがすでに無効であることを示すＢＣ確認応答メッセージを生成して送信するよう、ＢＣ確認応答メッセージ生成部２０１０へ指示する。なお、ＢＣが有効であるか否かは、通知されたＢＣのＣｏＡが有効であるか否か、つまりは、インタフェースにそのＣｏＡが割り当てられているか否かを基にして判断してもよい。これにより、ＭＮ１０へそのＢＣを登録していなかった場合であっても、ＭＮ１０からの確認要求に応えることができる。
【０１０８】
送信パケット生成部２００７における処理の一例について図２１を用いて説明する。パケット送信をするよう指示する際、送信パケット生成部２００７は、ＭＮ１０へ送信するパケットを生成し、さらにそのパケットの送信に、経路最適化を用いるべきか否かを判断する。その判断を行うために、まず登録済み位置情報保持部２００４を参照し、現在の位置情報に関するＢＣをＭＮ１０へ登録しているか否かを確認する（ステップＳ２１０１）。ＭＮ１０へ登録していることを示す登録済み位置情報を保持している場合は、ＭＮ１０へ登録したバインディングキャッシュがどのＢＣタイプ情報として登録されているかを確認する（ステップＳ２１０２）。
【０１０９】
ＢＣタイプが（１）又は（２）であるか否かを判断し（ステップＳ２１０３）、ＢＣタイプが（１）又は（２）である場合は、ＭＮ１０のＢＣを削除又は保留とするか否かを判断する（ステップＳ２１０４）。ＢＣタイプが（１）である場合、ＭＮ１０に対して経路最適化を使用せずにパケットを送信すると、ＭＮ１０はバインディングキャッシュを削除してしまう。そのため、ＭＮ１０のバインディングキャッシュを削除させない場合は、経路最適化を使用して（ステップＳ２１０５）、パケットを送信する（ステップＳ２１０６）。一方、ＭＮ１０のバインディングキャッシュを削除する場合は、経路最適化を使用せず（ステップＳ２１０７）にパケットを送信する（ステップＳ２１０６）。
【０１１０】
ＢＣタイプが（２）である場合、ＭＮ１０に対して経路最適化を使用せずにパケットを送信すると、ＭＮ１０はバインディングキャッシュの使用を保留としてしまう。そのため、ＭＮ１０のバインディングキャッシュを使用保留とさせない場合は、経路最適化を使用して（ステップＳ２１０５）パケットを送信する（ステップＳ２１０６）。一方、ＭＮ１０のバインディングキャッシュを保留とする場合は、経路最適化を使用せず（ステップＳ２１０７）にパケットを送信する（ステップＳ２１０６）。
【０１１１】
また、ステップＳ２１０３において、ＢＣタイプが（１）又は（２）でないと判断された場合、ＢＣタイプが（３）であるか否かを判断し（ステップＳ２１０８）、ＢＣタイプが（３）である場合、登録済み位置情報の通信開始後経過時間タイマを確認し、その値がＢＣ有効時間よりも大きいか否かを判断し（ステップＳ２１０９）、大きい場合は、経路最適化を用いずに（ステップＳ２１０７）、通常のパケットを送信する（ステップＳ２１０６）。なお、タイマの値がＢＣ有効時間よりも大きくなった場合、ＭＮ１０に対しての登録済み位置情報を削除してもよい。この場合パケットを受信するＭＮ１０も同様に、通信開始後経過時間タイマを確認し、その値がＢＣ有効期間よりも大きいため、ＣＮ２０に関するバインディングキャッシュを削除する。
【０１１２】
通常のパケットとは、送信元アドレスがＣＮ２０のＨｏＡであり、宛先アドレスがＭＮ１０のＨｏＡとなっているパケットを、送信元アドレスがＣＮ２０のＣｏＡであり、宛先アドレスがＨＡ２のアドレスとなっているヘッダでカプセル化されたパケットである。このパケットは、ＨＡ２によってデカプセル化され、ＭＮ１０へ転送される。この場合、ＭＮ１０に通知されているＢＣタイプ情報が（３−１）である場合は、ＣＮ２０から経路最適化でないパケットを受信したＭＮ１０はバインディングキャッシュを削除するため、ＣＮ２０も登録済み位置情報を削除する。一方、ＢＣタイプ情報が（３−２）である場合は、ＣＮ２０から経路最適化でないパケットを受信したＭＮ１０はバインディングキャッシュを使用保留とするため、ＣＮ２０は、バインディングキャッシュの保留を解消する場合には、経路最適化したパケットを送信する。
【０１１３】
一方、そのタイマがＢＣ有効期間よりも小さい場合は、経路最適化を使用して送信してもよいし、使用せずに送信してもよい。ＭＮ１０が保持しているＣＮ２０のバインディングキャッシュの通信開始後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させるために、ＣｏＡを送信元アドレスにセットし、ＨｏＡを含むホームアドレスオプションを付加し（ステップＳ２１０５）、パケットを送信する（ステップＳ２１０６）。これにより、ＭＮ１０のバインディングキャッシュの通信開始後経過時間タイマがリセットされ、経路最適化の使用が開始される。
【０１１４】
なお、ＭＮ１０が保持するＣＮ２０のバインディングキャッシュの通信開始後経過時間タイマをリセットする必要がない場合は、経路最適化を使用せずに（ステップＳ２１０７）、パケットを送信する（ステップＳ２１０６）。経路最適化を使用した場合のパケットは、送信元アドレスがＣＮ２０のＣｏＡで、宛先アドレスがＭＮ１０のＨｏＡで、ＣＮ２０のＨｏＡを含むホームアドレスオプションが付加されたパケットである。なお、ステップＳ２１０１において、ＭＮ１０へ登録していることを示す登録済み位置情報を保持していない場合、ＨＡあてにカプセル化し（ステップＳ２１１０）、パケットを送信する（ステップＳ２１０６）。
【０１１５】
ここで、ＣＮ２０が外部ネットワーク１２に接続してＣｏＡ２を使用している場合に、ＣＮ２０が、ＢＣタイプが（３）のＢＣを登録しているＭＮ１０へ通信を開始する場合を考える。ＣＮ２０が保持する登録済み位置情報の通信開始後経過時間タイマがＢＣ有効期間よりも大きい場合、ＣＮ２０は経路最適化を使用せずに、通常のパケットをＭＮ１０へ送信する。この場合、ＭＮ１０は、ＣＮ２０に関するＢＣを保持しているにもかかわらず、経路最適化が使用されていないパケットを受信するため、通信開始後経過時間タイマをスタートさせる。
【０１１６】
また、ＢＣタイプが（１）であるとき、ＣＮ２０のハンドオーバの発生が迫っている場合や、ハンドオーバ処理の実行中である場合には、ＭＮ１０へ登録しているＣｏＡを使用してパケットを送信することが可能であったとしても、経路最適化を使用せずにパケットを送信することを選択してもよい。これにより、ＭＮ１０は、ＣＮ２０からパケットを受信した時点でバインディングキャッシュを削除するため、ハンドオーバ後にＭＮ１０へバインディングキャッシュを削除するためのメッセージや、バインディングキャッシュを更新するためのメッセージを送信する必要をなくすことができる。
【０１１７】
また、ＭＮ１０へバインディングキャッシュを登録していない場合、つまりＣＮ２０が移動してＭＮ１０へ登録しているＣｏＡと異なるＣｏＡを使用している場合は、新しいＣｏＡをＭＮ１０へ登録するまでは、新しいＣｏＡを使ったパケットをＭＮ１０へ送信することはできないので、ＨＡを経由したパケット送信を行う。なお、ＣＮ２０がホームネットワークに移動してＣｏＡを持っていない場合も同様に、ＨＡを経由したパケット送信を行う。
【０１１８】
このように、本発明の第３の実施の形態におけるＭＮ１０及びＣＮ２０によって、ＭＮ１０がＣＮ２０のバインディングキャッシュを保持しているにもかかわらず、ＭＮ１０がＣＮ２０から受信したパケットが経路最適化されずに送信されてきた場合に、ＣＮ２０のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、ＭＮ１０が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。
【０１１９】
また、バインディングキャッシュを保留とし、さらにはタイマの値がＢＣ有効期間よりも大きくなったときにバインディングキャッシュを削除することで、ＣＮ２０が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。
【０１２０】
また、ＣＮ２０が位置情報登録メッセージの中でＢＣタイプ情報を通知することで、ＣＮ２０にとって好ましい処理を行うようＭＮ１０へ指示することができ、ＣＮ２０の状況に応じた適切な処理をＭＮ１０へ実行させることができる。例えば、ＭＮ１０へＢＣタイプを（１）として登録したバインディングキャッシュが、ＭＮ１０との通信が終了した後に残っていたとしても、ＣＮ２０がＭＮ１０と通信を再開する際に、経路最適化を使用せずにパケットを送信すれば、ＭＮ１０によって古いバインディングキャッシュが削除されるため、ＭＮ１０によって誤使用されるのを防ぐことができ、経路最適化の使用にともなう処理負荷を軽減することができる。
【０１２１】
また、(１）を使用することにより、ＭＮ１０と通信をしているＣＮ２０が、外部ネットワークからホームネットワークにハンドオーバした場合であっても、ＭＮ１０に登録されているバインディングキャッシュを削除することを要求するメッセージをＭＮ１０に送信する必要がなくなり、通常のパケット送信を行うだけでバインディングキャッシュを削除することができるため、メッセージ送信に伴う処理負荷を軽減することができる。
【０１２２】
なお、本発明の第３の実施の形態におけるＭＮ１０の機能の一部を、ＭＮ１０の位置情報を管理しているＨＡ１４に適用した場合にも同様の効果を得ることができる。ＭＮ１０はＨＡ１４に対して、図１５示すようなＢＣタイプを含めたＢＵメッセージを送信する。ＨＡ１４は、ＭＮ１０から受信したＢＵメッセージ内のＢＣタイプを、ＭＮ１０のバインディングキャッシュに設定する。そして、ＨＡ１４が、ＭＮ１０からこれまでと異なるＣｏＡが用いられたパケットを受信した場合、ＢＣタイプに応じてバインディングキャッシュの扱いを判断する。例えば、ＢＣタイプが（１）である場合は、ＨＡ１４はバインディングキャッシュを削除する。また、ＢＣタイプが（２）である場合は、ＨＡ１４はバインディングキャッシュを使用保留とする。なお、ＢＣタイプが（３−１）または（３−２）である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がＢＣ有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、ＭＮ１０が再びそのバインディングキャッシュに登録されているＣｏＡを用いてＣＮとの通信を再開した場合にリセットさせる。このため、ＭＮ１０がしばらくの間通信をせずに、タイマがＢＣ有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。
【０１２３】
ＨＡ１４に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合（ＭＮ１０が複数のインタフェースを保持しているケース）は、ＨＡ１４は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもＢＣ有効期間を超えている場合には、タイマの経過時間、またはＢＣ使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、ＨＡ１４は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているＣｏＡ宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、ＨＡ１４においてパケットロスとなってしまう代わりに、ＭＮ１０が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ（ＣｏＡとしてＨｏＡをセット）が存在する場合には、ＨＡ１４はカプセル化せずにＨｏＡ宛にパケットを転送する。なお、ＭＮ１０の他のバインディングキャッシュがない場合でも、ＭＮ１０がホームネットワークに接続していることが分かる場合には、ＨｏＡ宛に転送してもよい。
【０１２４】
＜第４の実施の形態＞
本発明の第４の実施の形態は、ＣＮ２０からＭＮ１０へ登録される位置情報であるＢＣが、ＣＮ２０とＭＮ１０との間で行われる通信（セッション、フロー）と関連付けられており、ＭＮ１０は、ＣＮ２０との通信が終了した際に、本発明の第３の実施の形態で述べた（１）、（２）、（３）のいずれかを選択し実行する。なお、第３の実施の形態と同様に、ＢＣタイプ情報として（１）、（２）、（３）が同時に使用される必要はなく、例えば（１）だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には（１）を使用し、セットされていない場合には、（１）を使用せずに通常のやり方でＢＣを管理する、ということを示すようにしてもよい。また（２）だけを使用する場合、あるいは（３）だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。
【０１２５】
また、ＣＮ２０から通信開始後経過時間タイマを使用するよう要求された場合に（３）を選択し、タイマの使用が要求されていない場合には（１）又は（２）を選択するという方法でもよい。この場合、（３−１）を（３）の場合で（１）を実行する場合、（３−２）を（３）の場合で（２）を実行する場合として、ＢＣタイプ情報で識別可能なようにしてもよい。
【０１２６】
本発明の第４の実施の形態におけるネットワーク構成は、図１に示すものと同じであるため説明を省略する。図２２は、本発明の第４の実施の形態におけるＭＮ１０の構成の一例を示す構成図である。ＭＮ１０は、例えば図２２に示す構成要素を備えている。送信部２２０１は、インタフェース２２０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードにパケットを送信する機能を有している。また、受信部２２０３は、インタフェース２２０２を通じて、接続されているネットワーク（外部ネットワーク１１）上のノードからパケットを受信する機能を有している。
【０１２７】
位置情報登録メッセージ処理部２２０４は、ＣＮ２０から受信した位置情報登録メッセージに含まれている位置情報を取得し、位置情報保持部２２０５に保持する。さらにＢＣタイプ情報も含まれている場合は、ＢＣタイプ情報も取得し保持する。この場合、特に前述の（３）が指定されている時に、ＢＣ有効期間（ＢＣ使用可能期間）の値も含まれている場合には、その値も取得し保持する。
【０１２８】
さらに、本発明の第３の実施の形態における、ＣＮ２０から経路最適化が使用されていないパケットを受信したことをトリガとして処理を実行するという方法と異なる形態として、登録される位置情報がＣＮ２０との通信（セッション）に関連付けられていて、通信が終了したことをトリガとして処理を実行する。この処理を要求する情報として、位置情報登録メッセージの中に通信関連付け情報（フラグなど）が含まれている場合は、その情報を取得し位置情報保持部２２０５に保持する。なお、通信関連付け情報は、本発明の第３の実施の形態におけるＢＣタイプ情報の１つとして通知されてもよい。
【０１２９】
また、位置情報登録メッセージ処理部２２０４は、通信の終了を検出するために、ＣＮ２０に関する情報を通信終了判断部２２０６に対して通知し、ＣＮ２０との通信（セッション）が終了したときに、ＣＮ２０との通信（セッション）が終了したことを位置情報登録メッセージ処理部２２０４へ通知するように要求する。
【０１３０】
なお、登録されるバインディングに関連付けられる通信を特定するための情報を位置情報登録メッセージに含めてもよい。この場合、通信終了判断部２２０６に対しては、ＣＮ２０に関する情報と共に、通信を特定するための情報も通知される。通信を特定する情報としては、特定のセッションを表すセッションＩＤや、特定のフローを表すフローＩＤ、アドレス（あて先アドレス、送信元アドレス）やポート番号、プロトコルＩＤなど、ＣＮ２０とＭＮ１０との間で行われる通信（セッション、フロー）の一部、あるいは全体を現すことができる情報であれば、任意の情報を用いることができる。なお、フロー情報がすでに登録済みである場合は、その情報を指すフローＩＤのみを含めるだけでよい。
【０１３１】
通信終了判断部２２０６は、通信相手との通信の状態を監視し、ＣＮ２０との通信が終了したことを検出した場合には、位置情報登録メッセージ処理部へ通信の終了を通知する。通信の終了の通知を受けた位置情報登録メッセージ処理部は、位置情報保持部２２０５を参照し、ＣＮ２０のバインディングキャッシュに通信関連付け情報が保持されている場合には、そのバインディングキャッシュを削除する。また、通信関連付け情報とは別に、本発明の第３の実施の形態で述べたＢＣタイプが示されている場合には、ＣＮ２０のバインディングキャッシュのＢＣタイプ情報に従い処理を行ってもよい。ＢＣタイプ情報が（１）の場合は、ＣＮ２０との通信が終了したことを通知されたときに、ＣＮ２０のバインディングキャッシュを削除させる。この場合は、上述のように、バインディングキャッシュのタイプが通信関連付け情報のタイプである場合と同様である。
【０１３２】
一方、ＢＣタイプ情報が（２）の場合は、ＣＮ２０のバインディングキャッシュの使用を保留とさせる。さらに、ＢＣタイプ情報が（３）の場合は、ＣＮ２０との通信が終了したときに、通信終了後経過時間タイマをスタートさせる。この場合、ＭＮ１０が再びＣＮ２０と通信を開始する際、及びＣＮ２０から再び開始された通信を受信する際に、通信終了後経過時間タイマとＢＣ有効期間を比較して行う処理に関しては、本発明の第１、及び第２の実施の形態で述べた、通信終了後経過時間タイマとＢＣ有効期間を比較して行う処理と同様であるため、説明を省略する。また、ＢＣタイプ情報が（３）の場合は、ＣＮ２０との通信が終了したときに、通信開始後経過時間タイマとＢＣ有効期間を比較して、タイマの値がＢＣ有効期間よりも大きい場合に、バインディングキャッシュを削除し、一方小さい場合には、バインディングキャッシュを削除しないと判断してもよい。
【０１３３】
通信終了判断部２２０６が、ＣＮ２０との通信が終了したことを検出する方法としては、上位レイヤ２２０７に対して問い合わせて、通信が終了したか否かを確認する方法や、上位レイヤ２２０７に通知を依頼する方法などがある。また、ＣＮ２０との間で送受信されているパケットを監視し、上位レイヤ２２０７によって使われているプロトコルの通信の終了を示すパケット（例えば、ＴＣＰのＦＩＮメッセージ、ＡＣＫメッセージや、ＳＩＰのＢＹＥメッセージ、ＡＣＫメッセージなど）を検出した際に、通信の終了を認識してもよい。また、一定時間通信（ライフタイムが有効期限切れ）が行われていない場合に、ＣＮ２０との通信が終了したと判断することもできる。
【０１３４】
また、位置情報登録メッセージ処理部２２０４は、通信終了判断部２２０６、又は上位レイヤ２２０７に対して、保持しているＢＣのＣＮ２０との通信が終了しているかどうかを確認してもよい。確認の結果、通信が終了していることが分かった場合には、その通信相手のバインディングキャッシュのＢＣタイプ情報に従い処理を行う。なお、通信が終了しているかどうかの確認を行うタイミングは、バインディングキャッシュのライフタイムの残存時間や、ＣＮ２０との通信を開始してからの経過時間、ハンドオーバの発生が迫っている場合などに基づいて判断されてもよい。
【０１３５】
なお、特定の通信が指定されている場合には、ＣＮ２０との通信において、その指定された通信が終了した場合に上記の処理を実行してもよい。なお、この通信終了判断部２２０６の処理が上位レイヤ２２０７によって実現され、上位レイヤ２２０７から位置情報登録メッセージ処理部２２０４に対して、ＣＮ２０との通信が終了したことが通知されてもよい。
【０１３６】
上位レイヤ２２０７は、位置情報登録メッセージ処理部２２０４、又は通信終了判断部２２０６から、ＣＮ２０との通信が終了したか否かの問い合わせを受けた際に、通信が終了しているか否かの結果を返す。また、ＣＮ２０との通信に関する情報を受け、その通信が終了した際に、通信が終了したことを通知する。位置情報保持部２２０５は、位置情報登録メッセージ処理部２２０４から、ＣＮ２０のバインディングキャッシュの登録、保留、削除の指示を受け処理を実行する。
【０１３７】
このように、本発明の第４の実施の形態におけるＭＮ１０及びＣＮ２０によって、ＣＮ２０との通信が終了した時点で、ＭＮ１０は、ＣＮ２０のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、ＭＮ１０が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。また、バインディングキャッシュを保留とし、さらにはタイマの値がＢＣ有効期間よりも大きくなったときにバインディングキャッシュ削除することで、ＣＮ２０が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。
【０１３８】
また、ＣＮ２０が位置情報登録メッセージの中でＢＣタイプ情報を通知することで、ＣＮ２０にとって好ましい処理を行うようＭＮ１０へ指示することができ、ＣＮ２０の状況に応じた適切な処理をＭＮ１０へ実行させることができる。例えば、ＭＮ１０へＢＣタイプ情報を（１）として登録することで、ＭＮ１０との通信が終了した後はＣＮ２０のバインディングキャッシュはＭＮ１０によって削除されるので、ＭＮ１０によって誤使用されるのを防ぐことができる。また、(１）を使用することにより、ＭＮ１０と通信が終了した後に、ＭＮ１０に登録されているバインディングキャッシュを削除することを要求するメッセージをＭＮ１０に送信する必要がなくなり、メッセージ送信に伴う処理負荷を軽減することができる。
【０１３９】
なお、本発明の第４の実施の形態におけるＭＮ１０の機能の一部を、ＭＮ１０の位置情報を管理しているＨＡ１４に適用した場合にも同様の効果を得ることができる。ＭＮ１０はＨＡ１４に対して、通信関連付け情報やフロー情報を含めたＢＵメッセージを送信する。ＨＡ１４は、ＭＮ１０から受信したＢＵメッセージ内の通信関連付け情報さらには、フロー情報などを、ＭＮ１０のバインディングキャッシュに設定する。そして、ＨＡ１４がＭＮ１０から受信したＣＮあてパケット、またはＣＮから受信したＭＮ１０あてのパケットが、バインディングキャッシュに関連付けられている通信（セッション、フロー）に一致するものであり、かつその通信が終了したことを検出した場合に、そのバインディングキャッシュを削除する。また、ＢＣタイプが指定されている場合には、ＢＣタイプに応じてバインディングキャッシュの扱いを判断する。例えば、ＢＣタイプが（１）である場合は、上述のように、ＨＡ１４はバインディングキャッシュを削除する。また、ＢＣタイプが（２）である場合は、ＨＡ１４はバインディングキャッシュを使用保留とする。なお、ＢＣタイプが（３−１）または（３−２）である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がＢＣ有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、ＭＮ１０が再びそのバインディングキャッシュに登録されているＣｏＡを用いてＣＮとの通信を再開した場合にリセットさせる。このため、ＭＮ１０がしばらくの間通信をせずに、タイマがＢＣ有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。
【０１４０】
ＨＡ１４に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合（ＭＮ１０が複数のインタフェースを保持しているケース）は、ＨＡ１４は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもＢＣ有効期間を超えている場合には、タイマの経過時間、またはＢＣ使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、ＨＡ１４は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているＣｏＡ宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、ＨＡ１４においてパケットロスとなってしまう代わりに、ＭＮ１０が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ（ＣｏＡとしてＨｏＡをセット）が存在する場合には、ＨＡ１４はカプセル化せずにＨｏＡ宛にパケットを転送する。なお、ＭＮ１０の他のバインディングキャッシュがない場合でも、ＭＮ１０がホームネットワークに接続していることが分かる場合には、ＨｏＡ宛に転送してもよい。
【０１４１】
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるＬＳＩ（Large Scale Integration）として実現される。これらは個別に１チップ化されてもよいし、一部又はすべてを含むように１チップ化されてもよい。なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１４２】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１４３】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
【産業上の利用可能性】
【０１４４】
本発明に係る移動端末は、パケットロスの発生を防ぎ、通信の遅延を防ぐことができ、また、無駄なＢＵメッセージの送信に伴う処理負荷やトラフィックを低減させることができるため、通信ネットワークを介して通信相手とパケット通信を行う移動端末などに有用である。
【図面の簡単な説明】
【０１４５】
【図１】本発明の第１の実施の形態におけるネットワークの構成の一例を示す構成図
【図２】本発明の第１の実施の形態に係るＭＮの構成の一例を示す構成図
【図３】本発明の第１の実施の形態におけるＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例を示す図
【図４】本発明の第１の実施の形態における位置情報保持部が保持するＣＮのバインディングキャッシュの一例を示す図
【図５】本発明の第１の実施の形態に係るＭＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図６】本発明の第１の実施の形態に係るＭＮの受信パケット処理部における処理フローの一例を示すフローチャート
【図７】本発明の第１の実施の形態に係るＣＮの構成の一例を示す構成図
【図８】本発明の第１の実施の形態に係るＣＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図９】本発明の第１の実施の形態に係るＣＮの受信パケット処理部における処理フローの一例を示すフローチャート
【図１０】本発明の第２の実施の形態におけるネットワークの構成の一例を示す構成図
【図１１】本発明の第２の実施の形態における複数のＣｏＡを登録する場合のＢＵメッセージの構成の一例を示す図
【図１２】本発明の第２の実施の形態に係るＭＮの位置情報保持部が保持するＣＮのバインディングキャッシュの一例を示す図
【図１３】本発明の第２の実施の形態に係るＭＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図１４】本発明の第３の実施の形態に係るＭＮの構成の一例を示す構成図
【図１５】本発明の第３の実施の形態におけるＢＵメッセージを用いた場合の位置情報登録メッセージの構成の一例を示す図
【図１６】本発明の第３の実施の形態に係るＭＮの受信パケット処理部における処理フローの一例を示すフローチャート
【図１７】本発明の第３の実施の形態に係るＭＮの位置情報保持部が保持するＣＮのバインディングキャッシュの一例を示す図
【図１８】本発明の第３の実施の形態に係るＭＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図１９】本発明の第３の実施の形態におけるＢＵメッセージを用いた場合のＢＣ確認メッセージのフォーマットの一例を示す図
【図２０】本発明の第３の実施の形態に係るＣＮの構成の一例を示す構成図
【図２１】本発明の第３の実施の形態に係るＣＮの送信パケット生成部における処理フローの一例を示すフローチャート
【図２２】本発明の第４の実施の形態に係るＭＮの構成の一例を示す構成図
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009110224.tif 000025
【図２】
2009110224.tif 000026
【図３】
2009110224.tif 000027
【図４】
2009110224.tif 000028
【図５】
2009110224.tif 000029
【図６】
2009110224.tif 000030
【図７】
2009110224.tif 000031
【図８】
2009110224.tif 000032
【図９】
2009110224.tif 000033
【図１０】
2009110224.tif 000034
【図１１】
2009110224.tif 000035
【図１２】
2009110224.tif 000036
【図１３】
2009110224.tif 000037
【図１４】
2009110224.tif 000038
【図１５】
2009110224.tif 000039
【図１６】
2009110224.tif 000040
【図１７】
2009110224.tif 000041
【図１８】
2009110224.tif 000042
【図１９】
2009110224.tif 000043
【図２０】
2009110224.tif 000044
【図２１】
2009110224.tif 000045
【図２２】
2009110224.tif 000046
【国際調査報告】
2009110224.tif 000047
2009110224.tif 000048
2009110224.tif 000049
2009110224.tif 000050
2009110224.tif 000051