JPWO2009110224A1 - 移動端末 - Google Patents
移動端末 Download PDFInfo
- Publication number
- JPWO2009110224A1 JPWO2009110224A1 JP2010501795A JP2010501795A JPWO2009110224A1 JP WO2009110224 A1 JPWO2009110224 A1 JP WO2009110224A1 JP 2010501795 A JP2010501795 A JP 2010501795A JP 2010501795 A JP2010501795 A JP 2010501795A JP WO2009110224 A1 JPWO2009110224 A1 JP WO2009110224A1
- Authority
- JP
- Japan
- Prior art keywords
- communication
- packet
- binding cache
- mobile terminal
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
- H04W8/082—Mobility data transfer for traffic bypassing of mobility servers, e.g. location registers, home PLMNs or home agents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
- H04W8/14—Mobility data transfer between corresponding nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
パケットロスの発生を防ぎ、通信の遅延を防ぐことができる移動端末を提供する技術が開示され、その技術によれば移動端末の通信相手である通信端末と通信ネットワークを介して、通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う移動端末であって、通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段26と、バインディングキャッシュの有効時間の情報を記憶する記憶手段25と、通信端末と通信を開始する際、計測された経過時間がバインディングキャッシュの有効時間を超えているか否かを判断する判断手段27と、経過時間がバインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに通信端末のホームアドレスを設定してパケットを生成するパケット生成手段27と、生成されたパケットを通信端末へ送信する送信手段21とを備える。
Description
本発明は、通信ネットワークを介して通信相手とパケット通信を行う移動端末に関する。
モバイルIP(非特許文献1を参照)を利用するモバイルノード(以下、MNとも言う)は、移動先のアドレスであるケアオブアドレス(以下、CoA:Care-of Addressとも言う)を自身のホームアドレス(以下、HoA:Home Addressとも言う)を管理するホームエージェント(以下、HAとも言う)、又は通信相手(以下、CN:Correspondent Nodeとも言う)に登録し、HoAあてパケットの転送を依頼する。MNが、複数のCoAを1つのHoAに対して同時に関連付けて登録することができれば、複数のインタフェースを備えるMNは、それぞれのインタフェースに割り当てられたCoAを登録することで、インタフェースの状態に応じて使用するCoAを瞬時に切り替えることが可能となる。非特許文献2には、MNが複数のCoAを1つのHoAに関連付けてHAに登録する手法としてバインディングID(以下、BID:Binding Identifierとも言う)を用いる手法が開示されている。
HA及びCNに登録(エントリ)されるMNの位置情報はバインディングキャッシュ(以下、BC:Binding Cacheとも言う)と呼ばれ、各エントリにはその有効期間を示すライフタイムが設定される。MNは、登録済みのバインディングキャッシュを維持したい場合には、そのライフタイムが切れる前にバインディングアップデートメッセージ(以下、BU(Binding Update)メッセージとも言う)を送信して、ライフタイムを延長する。一方、ライフタイムが切れると、そのエントリは自動的に削除される。
例えば、CNとMNが通信をする際に、CNからMNへバインディングキャッシュが登録された場合、MNはCNへ送信するパケットに対して、バインディングキャッシュに登録されているCoAを宛先に設定してパケットを送信する。これにより、送信されたパケットは、CNのホームエージェントを経由することなく、移動先にいるCNへ直接届けられる。
この通信が終了した後、CNからMNへ通信をしない場合、CNはMNへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、バインディングキャッシュのライフタイムを延長するためのBUメッセージを送信しないため、MNに登録されているバインディングキャッシュは、そのライフタイムが切れた後に自動的に削除される。一方、この通信が終了した後に、MNからCNへ通信を開始する場合、CNのバインディングキャッシュがまだ存在する場合には、MNはそのバインディングキャッシュに登録されているCoAを宛先アドレスに使用してパケットを送信することができる。
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.
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.
しかしながら、CNとMN間の通信が終了した以降、CNからMNへ通信をしない場合、CNはMNへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、ライフタイムを延長するためのBUメッセージが送信されないため、たとえCNが別のネットワークへ移動して別のCoAを取得していたとしても、MNに登録されているバインディングキャッシュは更新されない。
また、MNへ登録されるバインディングキャッシュのライフタイムを、実際の通信に要する時間に合わせて設定することが難しいため、実際の通信が終了している場合でも、バインディングキャッシュが残り続ける状態が起こる可能性がある。そのため、MNが保持するバインディングキャッシュは、ライフタイムが有効であるにもかかわらず、登録されているCoAがもはやCNの正しい移動先を指していないという状態が起こり得る。これにより、MNは、CNとの通信を開始する時に、まだライフタイムが有効であるバインディングキャッシュに登録されているCoAを宛先アドレスとして使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるCNへは転送されずに、パケットロスが発生してしまう。
また、CNから、経路最適化を使用していないパケットを受信したときに、そのCNのライフタイムが有効であるバインディングキャッシュをMNが保持しているという状態が起こり得る。これにより、MNは、保持しているCNのバインディングキャッシュに登録されているCoAを宛先として使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるCNへは転送されずにパケットロスが発生してしまう。
本発明は、上記の問題点に鑑み、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる移動端末を提供することを目的とする。また、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる移動端末を提供することを目的とする。
上記目的を達成するために、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記通信端末と通信を開始する際、計測された前記経過時間が前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、前記経過時間が前記バインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに前記通信端末のホームアドレスを設定して前記パケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。なお、バインディングキャシュの有効時間は、後述するBC使用可能期間に相当する。また、経過時間は、後述する通信終了後経過時間タイマに相当する。
また、本発明の移動端末において、前記パケット生成手段が、前記バインディングキャッシュの前記通信端末のアドレス情報を前記パケットに付加することは、本発明の好ましい態様である。この構成により、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
また、本発明の移動端末において、前記バインディングキャッシュの有効時間の情報を含むメッセージを前記通信端末から受信する受信手段を更に備え、前記記憶手段が、受信された前記メッセージに含まれる前記バインディングキャッシュの有効時間の情報を取得し記憶することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得することができる。
また、本発明の移動端末において、前記計測手段が前記通信端末との通信が終了した際に前記経過時間の計測を開始することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得することができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記バインディングキャッシュ内に前記通信端末の複数のアドレス情報が含まれる場合、前記通信端末と通信を開始する際、計測された前記経過時間であって、それぞれの前記アドレス情報に対応する前記経過時間が、前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、それぞれの前記アドレス情報に対応する前記経過時間のすべてが前記バインディングキャッシュの有効時間を超えていると判断された場合に、前記バインディングキャッシュ内の前記通信端末のアドレス情報が既に前記バインディングキャッシュの有効時間を経過しているアドレス情報である旨を含めてパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末からのパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントによってカプセル化されたパケットであるか否かを判断する判断手段と、前記ホームエージェントによってカプセル化されたパケットであると判断された場合、送信元アドレスに前記移動端末自身のアドレス情報を設定し、前記移動端末自身のホームアドレスを含むホームアドレスオプションを付加したパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明の移動端末において、前記カプセル化された前記パケットに、前記移動端末のアドレス情報が付加されていることは、本発明の好ましい態様である。この構成により、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
また、本発明の移動端末において、前記通信端末に対して、前記移動端末との通信が終了した際に、前記通信が終了してから新たに通信を開始するまでの経過時間の計測を開始するべき旨の指示を含むメッセージを生成する第1のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得させることができる。なお、本発明の実施の形態で説明するように、第1のメッセージ生成手段と第2のメッセージ生成手段は同一の手段(構成要素)であってもよい。
また、本発明の移動端末において、前記通信端末が有する前記移動端末のバインディングキャッシュの有効時間の情報を含むメッセージを生成する第2のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得させることができる。
また、本発明の移動端末において、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合に、前記移動端末自身に格納された、前記通信端末との通信が終了してから新たに通信が開始されるまでに計測される経過時間をリセットする処理手段を更に備えることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
また、本発明の移動端末において、前記移動端末自身が複数のインタフェースを有し、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合、前記処理手段が、各インタフェースのアドレス情報に対応する前記経過時間をリセットすることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末から送信されるパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントを経由して送信されたパケットであるか否かを判断する判断手段と、前記パケットが前記ホームエージェントを経由したパケットであると判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との通信が終了したか否かを判断する判断手段と、前記通信端末との通信が終了したと判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも1つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
また、本発明の移動端末において、前記処理情報があらかじめ前記通信端末から送信されたメッセージに含まれている情報であることは、本発明の好ましい態様である。この構成により、いずれの処理を行えばよいか判断することができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末から受信した前記パケットが前記通信端末のホームエージェントを経由したパケットである場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末との通信が終了したと判断された場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも1つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
本発明の移動端末は、上記構成を有し、パケットロスの発生を抑制し、通信の遅延を抑制することができる。また、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
<第1の実施の形態>
図1は本発明の第1の実施の形態におけるネットワークの構成の一例を示す構成図である。図1には、ホームネットワーク1とホームネットワーク2、及び外部ネットワーク11、12、13があり、MN10はホームネットワーク1のHA14によって管理され、ホームアドレスとしてHoA1が割り当てられている。さらに、MN10のインタフェースは外部ネットワーク11に接続されており、CoA1が割り当てられている。
図1は本発明の第1の実施の形態におけるネットワークの構成の一例を示す構成図である。図1には、ホームネットワーク1とホームネットワーク2、及び外部ネットワーク11、12、13があり、MN10はホームネットワーク1のHA14によって管理され、ホームアドレスとしてHoA1が割り当てられている。さらに、MN10のインタフェースは外部ネットワーク11に接続されており、CoA1が割り当てられている。
一方、CN20は、ホームネットワーク2のHA15によって管理され、ホームアドレスとしてHoA2が割り当てられている。さらに、CN20のインタフェースは外部ネットワーク12に接続されており、CoA2が割り当てられている。HA14は、MN10のバインディングキャッシュとして、HoA1に対する移動先アドレスとしてCoA1を関連付けて保持している。また、HA15は、CN20のバインディングキャッシュとして、HoA2に対する移動先アドレスとしてCoA2を関連付けて保持している。
なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、以下の説明では、MN10と区別するために、MN10と通信を行うノードを通信相手という意味でCNと呼んでいるが、本発明におけるその実態はMN10と同様にモバイルノードである。つまり、CN20にとっての通信相手はMN10となり、MN10をCNと呼ぶこともできる。また、図1に示すネットワークの構成は、3GPP(Third Generation Partnership Project)などの携帯電話用ネットワーク網に適用することも可能である。その場合、HA機能はPDNゲートウェイ(Packet Data Network Gateway)と呼ばれるネットワークノード上の機能として実現され、AR機能は、セルラネットワーク内のサービングゲートウェイ(Serving Gateway)、WiMAXなどの信頼できるネットワーク(Trusted Network)内のアクセスルータ、又はNon3GPPネットワーク(Untrusted Network)に対するゲートウェイであるePDG(evolved Packet Data Gateway)等の機能として実現される。またMN、及びCNはUE(User Equipment)と呼ばれる。
図2は、本発明の第1の実施の形態におけるMNの構成の一例を示す構成図である。MN10は、例えば図2に示す構成要素を備えている。送信部21は、インタフェース22を通じて、接続されているネットワーク(外部ネットワーク11)上のノードにパケットを送信する機能を有している。また、受信部23は、インタフェース22を通じて、接続されているネットワーク(外部ネットワーク11)上のノードからパケットを受信する機能を有している。
位置情報登録メッセージ処理部24は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のCoAをHoAに関連付け、バインディングキャッシュとして位置情報保持部25に保持するよう指示する。さらに、位置情報登録メッセージの中に含まれているBC使用可能期間(BC有効期間)を取得し、バインディングキャッシュの中に保持させる。なお、BC使用可能期間が位置情報登録メッセージに含まれていない場合には、MN10自身が適切なBC使用可能期間を生成するようにしてもよい。
図3は、BUメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図3に示されているように、登録するCoA31と共にBC使用可能期間32が含まれている。なお、上述したように、BC使用可能期間はこのメッセージ内に含めずにMN10側で生成するようにしてもよい。また、位置情報登録メッセージには、MN10に対して、CN20との通信が終了した後に、通信が終了してからの経過時間(通信が終了してから新たな通信を開始するまでの経過時間)である通信終了後経過時間タイマ(以下、単にタイマとも言う)の計測をスタートさせることを求める情報(通信終了後経過時間タイマ使用要求フラグ33)を付加してもよい。この情報は、BC使用可能期間が含まれていることで示されてもよいし、BC使用可能期間が含まれていない場合には、フラグなどで通信終了後経過時間タイマを使用することを要求している旨を示してもよい。
位置情報保持部25は、通信相手から登録されたバインディングキャッシュ(BC使用可能期間の情報を含む)を保持する。また、受信パケット処理部26、又は上位レイヤ28からバインディングキャッシュの通信終了後経過時間タイマの計測のスタートの指示を受ける。図4は、位置情報保持部25が保持するCN20のバインディングキャッシュの一例を示している。図4に示すように、HoA2に関連付けられたCoA2に対して、ライフタイム41、通信終了後経過時間タイマ42、BC使用可能期間43が管理されている。ライフタイムはBCのライフタイムである。なお、通常のバインディングキャッシュのライフタイムとして、BC使用可能期間を保持してもよい。この場合、図3において、BC使用可能期間32は、BUメッセージのライフタイムフィールドに設定される。ライフタイムフィールドの値がBC使用可能期間であることを受信ノードへ示すために、BUメッセージにフラグなどを含めてもよい。
送信パケット生成部27は、上位レイヤ28から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部21へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部27は、位置情報保持部25を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。
ここで、送信パケット生成部27における処理の一例について図5を用いて説明する。CN20との通信を開始すると、まず、通信相手のCN20に関するバインディングキャッシュ(BC)が存在するか否かを判断する(ステップS501)。存在しない場合には、通信相手のHoAをパケットの宛先アドレスにセットして(ステップS502)、パケットを送信するよう送信部21へ指示する(ステップS503)。一方、存在する場合には、そのバインディングキャッシュの通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する(ステップS504)。
タイマの計測がスタートしていない場合には、バインディングキャッシュに登録されているCoAをパケットの宛先アドレスにセットして(ステップS505)、パケットを送信するよう送信部21へ指示する(ステップS503)。一方、タイマの計測が既にスタートしている場合には、タイマがBC使用可能期間よりも大きいか否かを判断する(ステップS506)。大きい場合には、CN20のHoAをパケットの宛先アドレスにセットしCoAをオプションとして含め(ステップS507)、パケットを送信するよう送信部21へ指示する(ステップS503)。一方、大きくない場合には、バインディングキャッシュに登録されているCoAをパケットの宛先アドレスにセットして(ステップS505)、パケットを送信するよう送信部21へ指示する(ステップS503)。なお、ステップS505において、宛先アドレスとしてCoAがセットされるパケットは、モバイルIPにおける経路最適化を用いた場合のパケットであるため、HoAを含むルーティングヘッダが含まれている。また、ステップS507において、CoAを含むオプションとしては、IPv6で定義されているデスティネーションオプションが用いられるのが望ましい。また、CoAの代わりにBIDを用いてもよい。
なお、BC使用可能期間は、上述したようにMN10が任意に設定してもよいし、さらにその値をCN20に対して通知してもよい。この場合、CN20からの位置情報登録メッセージにはMN10に対してBC使用可能期間は含まれない。また、HAや、ゲートウェイサーバ(ePDG、PDNゲートウェイ)などのオペレータ側のエンティティがMN10及びCN20に対して設定するようにしてもよい。また、MN10がオペレータ側のエンティティに対して、BC使用可能期間、及び通信終了後経過時間タイマの使用をするべきか否かを確認するようにしてもよい。あるいは、CN20から、通信が終了した後、明示的にBCを削除することを要求するメッセージ(Binding Revocationメッセージ)を受信しない場合に、BC使用可能期間、及び通信終了後経過時間タイマの使用をするべきと判断してもよい。
上位レイヤ28は、IPレイヤの上位に位置するレイヤ全体を表わすものであり、トンランスポート層(TCP/UDP)、さらにその上位のアプリケーションまでを含む。受信パケット処理部26は、受信部23で受信したパケットに関する処理を行う機能を有している。受信パケット処理部26で処理されたパケット内のデータは、上位レイヤ28又は送信パケット生成部27に送られる。また、受信パケット処理部26、及び上位レイヤ28は、CN20との通信が完了した時に、位置情報保持部25に保持されているCN20のバインディングキャッシュの通信終了後経過時間タイマの計測をスタートすることを指示する。なお、位置情報保持部25は、CN20との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ28及び受信パケット処理部26に問い合わせることや、あるいは上位レイヤ28及び受信パケット処理部26から通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。
ここで、受信パケット処理部26における処理の一例について図6を用いて説明する。CN20からパケットを受信すると、まず、受信したパケットに、通信相手のCN20のHoAを含むホームアドレスオプションが付加されているか否かを判断し(ステップS601)、付加されていない場合は、HA経由で転送されていたパケットであると判断して、CN20のバインディングキャッシュ(BC)を削除し(ステップS602)、パケットに含まれるデータの受信処理を行う(ステップS603)。
なお、CN20から経路最適化を使用せずにHA経由でパケットが転送されてきた後であっても、CN20が再び経路最適化を使用してパケットを送信して来る場合に備える場合は、S602において、バインディングキャッシュを削除せずに、通信終了後経過時間タイマをスタートさせる。この場合のタイマは、CN20からのパケットが、経路最適化を使用せずに送られてきている間の時間を計測する。これにより、CN20が再び経路最適化を使用してパケット送信する場合でも、CN20はMN10に対して位置情報の登録を行う必要がなくなるとともに、CN20の位置情報がBC有効期間を超えた後に、MN10がCN20の位置情報を使用するのを防ぐことができる。また、CN20が再び経路最適化を使用してきた場合には、ステップS605によってタイマがリセットされるため、MN10が保持するCN20のバインディングキャッシュが再び利用可能となる。なお、ホームアドレスオプションが付加されていないということは、経路最適化を使用したパケットではないことを意味する。
一方、ホームアドレスオプションが付加されている場合は、パケットの送信元アドレスが、バインディングキャッシュに登録されているCoAと一致するか否かを判断する(ステップS604)。一致する場合には、バインディングキャッシュの通信終了後経過時間タイマをリセットする(ステップS605)。これにより、MN10がCN20へパケットを送信した際に、通信終了後経過時間タイマの値がBC使用可能期間よりも大きいために、経路最適化を使用せずにパケットを送信していた場合には、タイマがリセットされることによって、CN20へパケットを送信する際に、再びバインディングキャッシュを用いた経路最適化を利用することができるようになる。一方、ステップS604において一致しない場合には、登録されていないCoAからのパケットであると判断して、バインディングキャッシュを削除し(ステップS606)、受信パケットを破棄する(ステップS607)。
図7は、本発明の第1の実施の形態におけるCNの構成の一例を示す構成図である。CN20は、例えば図7に示す構成要素を備えている。送信部71は、インタフェース72を通じて、接続されているネットワーク(外部ネットワーク12)上のノードにパケットを送信する機能を有している。また、受信部73は、インタフェース72を通じて、接続されているネットワーク(外部ネットワーク12)上のノードからパケットを受信する機能を有している。
登録済み位置情報保持部74は、通信相手(例えば、MN10)へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部75、又は上位レイヤ78から登録済み位置情報の通信終了後経過時間タイマの計測のスタートの指示を受ける。なお、登録済み位置情報保持部74は、MN10との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ78及び受信パケット処理部75に問い合わせることや、あるいは上位レイヤ78及び受信パケット処理部75にから通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。さらに、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部76に対して指示する。
位置情報登録メッセージ生成部76は、送信パケット生成部77又は受信パケット処理部75からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。さらに、登録するバインディングキャッシュに対するBC使用可能期間を位置情報登録メッセージの中に含め、送信部71に対して送信するよう指示する。
なお、BC使用可能期間は、通信状態(通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定)、接続状態(接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定)、ハンドオーバの発生頻度(ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定)、通信データの種類(音声データ、動画データなどのリアルタイムデータ、制御メッセージなど)、インタフェースの種類(セルラ、WiMAX、WLAN)などに応じて、CN20及びMN10にとって適切な値を設定することが望ましい。また、プロトコルの種類(TCP、UDP、SIP、RTPなど)によって値が任意に定められていてもよい。さらに、通信相手であるCNによって値が任意に定められていてもよい。例えば、同一のオペレータに属するCNであるか否かによって値が任意に定められてもよい。なお、MN10が保持するBC使用可能期間はCN20が保持するBC使用可能期間よりも大きいことが望ましい。
また、位置情報登録メッセージ生成部76は、登録済み位置情報保持部74からの指示を受け、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、MN10のライフタイムを更新するための位置情報登録メッセージを生成する。送信パケット生成部77は、上位レイヤ78又は受信パケット処理部75から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部71へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部77は、登録済み位置情報保持部74を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。
ここで、送信パケット生成部77における処理の一例について図8を用いて説明する。パケットを送信するよう指示されると、まず、宛先となるノードに対してバインディングキャッシュ(BC)を登録しているか否かを判断する(ステップS801)。登録していない場合には、送信するパケットをHAあてにカプセル化し(ステップS802)、カプセル化されたパケットを送信するよう送信部71へ指示する(ステップS803)。一方、登録している場合には、その登録済み位置情報の通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する(ステップS804)。
タイマの計測がスタートしていない場合には、パケットに対して、CoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS805)、パケットを送信するよう送信部71へ指示する(ステップS803)。一方、タイマの計測が既にスタートしている場合には、タイマがBC使用可能期間よりも大きいか否かを判断する(ステップS806)。大きい場合には、MN10が保持するCN20のバインディングキャッシュの通信終了後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させる必要があるか否かを判断し(ステップS807)、必要がある場合にはCoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS805)、パケットを送信するよう送信部71へ指示する(ステップS803)。
MN10のBC有効期間が、CN20が保持するBC有効期間よりも大きい場合、CN20の通信終了後経過時間タイマがBC有効期間よりも大きくなったとしても、MN10の通信終了後経過時間タイマは未だBC有効期間よりも大きくないため、S805において生成されたパケットをMN10が受信することで、バインディングキャッシュの通信終了後経過時間タイマがリセットされ、経路最適化の使用が開始される。一方、ステップS807において、MN10が保持するCN20のバインディングキャッシュの通信終了後経過時間タイマをリセットする必要がない場合は、送信するパケットをHAあてにカプセル化し(ステップS809)、カプセル化されたパケットを送信するよう送信部71へ指示する(ステップS803)。一方、ステップS806において、大きくない場合には、通信終了後経過時間タイマをリセットし(ステップS808)、パケットに対して、CoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS805)、パケットを送信するよう送信部71へ指示する(ステップS803)。これにより、MN10のバインディングキャッシュの通信終了後経過時間タイマがリセットされる。
受信パケット処理部75は、受信部73で受信したパケットに関する処理を行う機能を有している。受信パケット処理部75で処理されたパケット内のデータは、上位レイヤ78又は送信パケット生成部77に送られる。また、受信パケット処理部75及び上位レイヤ78は、MN10との通信が完了した時に、登録済み位置情報保持部74に保持されているMN10へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。
また、受信パケット処理部75は、MN10からパケットを受信した際に、登録済み位置情報保持部74を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部76に対して位置情報登録メッセージを生成し、MN10へ送信するよう指示する。
ここで、受信パケット処理部75における処理の一例について図9を用いて説明する。MN10からパケットを受信すると、まず、受信したパケットがHAによってカプセル化されて転送されたパケットであるか否かを判断する(ステップS901)。カプセル化されたパケットである場合は、HoAあてのパケットとして受信するために、デカプセル化を行う(ステップS902)。そして、デカプセル化した後のパケットにCoAを含むCoA指定オプションが付加されているかどうかを判断する(ステップS903)。
CoA指定オプションが付加されている場合には、MN10はバインディングキャッシュを持っているが、通信終了後経過時間タイマがあらかじめ決められた値(BC使用可能期間)よりも大きいためにCoAあてに直接送信しなかったものと判断し、登録済み位置情報の通信終了後経過時間タイマをリセットする(ステップS904)。一方、CoA指定オプションが付加されていない場合には、MN10はバインディングキャッシュを保持していないと判断し、登録済み位置情報を削除する(ステップS905)。登録済み位置情報を削除したあと、MN10に対して送信するパケットがあるか否かを判断し(ステップS906)、送信するパケットがある場合には、MN10にバインディングキャッシュが登録されていない場合のパケット送信方法として、HAあてにカプセル化し(ステップS907)、パケットを送信するよう送信部71へ指示する(ステップS908)。
一方、受信したパケットが、HAによってカプセル化されたパケットではなく、HoAを含むルーティングヘッダが付加されているパケットである場合には、HoAあてのパケットとして受信するために、ルーティングヘッダ内のHoAを宛先アドレスにセットし(ステップS909)、さらに登録済み位置情報の通信終了後経過時間タイマをリセットする(ステップS904)。通信終了後経過時間タイマをリセットした後、MN10に対して送信するパケットがあるか否かを判断し(ステップS910)、送信するパケットがある場合には、MN10にバインディングキャッシュが登録されている場合のパケット送信方法として、送信元アドレスにCoAをセットし、HoAを含むホームアドレスオプションを付加し(ステップS911)、パケットを送信するよう送信部71へ指示する(ステップS908)。なお、受信したパケットの送信元に対して送信するパケットがある場合の送信方法は、図8に示されている処理を実行した場合と同等の結果となる。
ここで、CN20が外部ネットワーク12に接続してCoA2を使用している場合に、CoA2に関するバインディングキャッシュを保持しているMN10がCN20へ通信を開始する場合を考える。MN10が保持するバインディングキャッシュの通信終了後経過時間タイマがBC使用可能期間よりも大きい場合、CN20は、HAによってカプセル化され、かつ内部パケットにCoA指定オプションが付加されているパケットをMN10から受信する。
CoA指定オプションに含まれているCoA2はCN20の現在の移動先アドレスを示しているので、CN20はMN10へ送信するパケットを、HAを経由しない経路最適化されたパスを使用して届けることができる。さらに、CN20は、CoA指定オプションに含まれているCoA2はCN20の現在の移動先アドレスを示しているので、MN10がまだ正しいバインディングキャッシュを保持していると判断できるため、新規にバインディングキャッシュを登録するための位置情報登録メッセージをMN10へ送信する必要がないと判断する。
次に、CN20が外部ネットワーク13に接続してCoA3を使用している場合に、CoA2に関するバインディングキャッシュを保持しているMN10がCN20へ通信を開始する場合を考える。MN10が保持するバインディングキャッシュの通信終了後経過時間タイマがBC使用可能期間よりも大きい場合、CN20は、HAによってカプセル化され、かつ内部パケットにCoA指定オプションが含まれているパケットをMN10から受信する。
CoA指定オプションに含まれているCoA2は、CN20の現在の移動先アドレスを示していないため、CN20はMN10へ送信するパケットを、HAを経由するパスを使用して届けなければならない。さらに、MN10の位置情報を正しい移動先アドレスで更新するために、位置情報登録メッセージをMN10へ送信する必要があると判断する。
なお、本発明の第1の実施の形態におけるMN10の機能の一部を、MN10の位置情報を管理しているHA14に適用した場合にも同様の効果を得ることができる。MN10はHA14に対して、図3に示すようなBC使用可能期間を含めたBUメッセージを送信する。HA14は、MN10から受信したBUメッセージ内のBC使用可能期間を、MN10のバインディングキャッシュに設定する。そして、MN10とCNとの間の通信が終了した後(バインディングキャッシュを用いた通信が行われていない状態になったとき)にタイマをスタートさせる。そのタイマは、MN10が再びそのバインディングキャッシュに登録されているCoAを用いてCNとの通信を再開した場合にリセットさせる。このため、MN10がしばらくの間通信をせずに、タイマがBC有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。この場合、HA14に、使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合(MN10が複数のインタフェースを保持しているケース)は、HA14は、次の転送先としてその他のバインディングキャッシュを選択して使用する。
一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもBC有効期間を超えている場合には、タイマの経過時間、またはBC使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、HA14は、バインディングキャッシュの使用保留を解除し、受信したパケットを登録されているCoA宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、HA14においてパケットロスとなってしまう代わりに、MN10が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ(CoAとしてHoAをセット)が存在する場合には、HA14はカプセル化せずにHoA宛にパケットを転送する。なお、MN10の他のバインディングキャッシュがない場合でも、MN10がホームネットワークに接続していることが分かる場合には、HoA宛に転送してもよい。
このように、本発明の第1の実施の形態におけるMN10及びCN20によって、CN20へパケットを送信する際に、MN10自身が保持しているCN20のバインディングキャッシュの通信終了後経過時間タイマを確認し、その経過時間の大きさによって、実際に送信するパケットに対してバインディングキャッシュのCoAを使用するか否かを判断することができる。
具体的には、そのタイマの値がBC使用可能期間よりも大きい(以前(最後)の通信から一定時間以上経過していることを示す)場合には、CN20が既に移動していて、そのバインディングキャッシュが有効でない可能性があると判断し、送信するパケットをCN20のHoAあてに送信する。これにより、CN20が既に移動していて新しいCoAを使用している場合でも、移動後のCoAに転送されるため、パケットがロスしてしまうことを防ぐことができるという効果が得られる。
さらに、MN10は、バインディングキャッシュがまだ登録されていることをCN20に対して示すために、バインディングキャッシュに保持されているCoAを含むCoA指定オプションをパケットに付加して送信するため、CN20は、MN10がまだ有効なバインディングキャッシュを保持していることを知ることができるため、バインディングキャッシュを新規に登録するための位置情報登録メッセージを送信する必要がなく、メッセージ送信に伴う処理負荷や、トラフィックを低減させることができるという効果が得られる。
また、CN20は、MN10へ通知するBC使用可能期間の値を通信状態、接続状態、ハンドオーバの発生頻度、通信データの種類、インタフェースの種類(セルラ、IEEE802.a/b/g/nなどのワイヤレスLAN、WiMAX)などに応じて、任意に設定することで、その時点で最も適切な選択をMN10へ促すことができる。
<第2の実施の形態>
図10は、本発明の第2の実施の形態におけるネットワークの構成の一例を示す構成図である。図1と図10の違いは、CN20が2つのインタフェースを保持しているという点である。IF1は外部ネットワーク12に接続しCoA2が割り当てられており、IF2は外部ネットワーク13に接続しCoA3が割り当てられている。
図10は、本発明の第2の実施の形態におけるネットワークの構成の一例を示す構成図である。図1と図10の違いは、CN20が2つのインタフェースを保持しているという点である。IF1は外部ネットワーク12に接続しCoA2が割り当てられており、IF2は外部ネットワーク13に接続しCoA3が割り当てられている。
HA14は、MN10のバインディングキャッシュとして、HoA1に対する移動先アドレスとしてCoA1が関連付けられた情報を保持している。また、HA15は、CN20のバインディングキャッシュとして、HoA2に対する移動先アドレスとしてCoA2とCoA3が関連付けられた情報を保持している。なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、CN20はMN10と同様にモバイルノードであってもよい。
本発明の第2の実施の形態におけるMN10の構成は、第1の実施の形態と同じであるため、図2を用いて説明する。第1の実施の形態と第2の実施の形態とで異なる点は、主に位置情報保持部25と送信パケット生成部27における処理である。ここで、複数のCoAを登録する場合のBUメッセージ(位置情報登録メッセージ)の構成の一例を図11に示す。図11に示されているように、それぞれの登録するCoA111、112に対してBU使用可能時間113、114が指定されている。なお、図12は、位置情報保持部25が保持するCN20のバインディングキャッシュの一例を示している。HoA2に関連付けられたCoA2、CoA3それぞれに対して、ライフタイム121、124、通信終了経過時間タイマ122、125、BC使用可能期間123、126が管理されている。
位置情報保持部25は、CN20の位置情報として、1つのHoAに対して複数のCoAが関連付けられたバインディングキャッシュを保持する。また、送信パケット生成部27は、パケットを生成する際に、位置情報保持部25を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。
ここで、送信パケット生成部27における処理の一例について図13を用いて説明する。CN20との通信を開始すると、まず、通信相手のCN20のバインディングキャッシュ(BC)が存在するか否かを判断し(ステップS1301)、存在する場合、その中に複数のCoAが登録されているか否かを判断する(ステップS1302)。複数のCoAが登録されている場合には、それぞれのCoAの通信終了後経過時間タイマを確認し、タイマがBC使用可能期間よりも小さいエントリがあるか否かを判断する(ステップS1303)。
該当するエントリがある場合にエントリが複数あるか否かを判断し(ステップS1304)、複数ある場合には、BC使用可能期間と通信終了後経過時間タイマとの差が最も大きいエントリを選択し(ステップS1305)、そのエントリのCoAを宛先アドレスにセットしてパケットを生成し(ステップS1306)、パケットを送信するよう送信部21へ指示する(ステップS1307)。該当するエントリが1つある場合には、そのエントリのCoAを宛先アドレスにセットしてパケットを生成し(ステップS1306)、パケットを送信するよう送信部21へ指示する(ステップS1307)。生成されるパケットは、宛先アドレスにCoAが設定され、HoAを含むルーティングヘッダが付加されたパケットである。
一方、ステップS1303において、該当するエントリがない場合には、登録(保持)されているバインディングキャッシュのCoAが、BC使用可能期間を既に経過しているCoAであることを示す情報をパケットに付加し(ステップS1308)、パケットを送信するよう送信部21へ指示する(ステップS1307)。この情報はCoA又はBIDであってもよいし、CoA指定オプションの中のフラグとして示されていてもよい。
なお、ステップS1301においてバインディングキャシュが存在しない場合には通信相手のCN20のHoAをパケットの宛先アドレスにセットし(ステップS1309)、パケットを送信するよう送信部21へ指示する(ステップS1307)。また、ステップS1302において複数のCoAが登録されていない場合、第1の実施の形態で説明した図5のステップS504以降の処理が行われる。
これにより、MN10は、登録されているCN20の複数のCoAの中で、CN20の現在の移動先アドレスを正しく示している可能性がもっとも高いCoAを選択してパケットを送信することが可能となる。
本発明の第2の実施の形態におけるCN20の構成は、第1の実施の形態と同じであるため、図7を用いて説明する。第1の実施の形態と第2の実施の形態とで異なる点は、主に受信パケット処理部75と送信パケット生成部77における処理である。受信パケット処理部75は、受信部73で受信したパケットに関する処理を行う機能を有している。受信パケット処理部75で処理されたパケット内のデータは、上位レイヤ78又は送信パケット生成部77に送られる。
また、受信パケット処理部75は、MN10との通信が完了した時に、登録済み位置情報保持部74に保持されている、MN10へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。また、受信パケット処理部75は、MN10からパケットを受信した際に、登録済み位置情報保持部74を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部76に対して位置情報登録メッセージを生成し、MN10へ送信するよう指示する。
なお、受信パケット処理部75は、図9に示す処理とほぼ同様の処理を行うが、CoA指定オプションには、複数のCoAが含まれているため、それぞれのCoAに対応する通信終了後経過時間タイマをリセットする。
<第3の実施の形態>
本発明の第3の実施の形態においても図1を用いて説明する。なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、以下の説明では、MN10と区別するために、MN10と通信を行うノードを通信相手という意味でCNと呼んでいるが、本発明におけるその実態はMN10と同様にモバイルノードである。つまり、CN20にとっての通信相手はMN10となり、MN10をCNと呼ぶこともできる。
本発明の第3の実施の形態においても図1を用いて説明する。なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、以下の説明では、MN10と区別するために、MN10と通信を行うノードを通信相手という意味でCNと呼んでいるが、本発明におけるその実態はMN10と同様にモバイルノードである。つまり、CN20にとっての通信相手はMN10となり、MN10をCNと呼ぶこともできる。
図14は、本発明の第3の実施の形態におけるMNの構成の一例を示す構成図である。MN10は、例えば図14に示す構成要素を備えている。送信部1401は、インタフェース1402を通じて、接続されているネットワーク(外部ネットワーク11)上のノードにパケットを送信する機能を有している。また、受信部1403は、インタフェース1402を通じて、接続されているネットワーク(外部ネットワーク11)上のノードからパケットを受信する機能を有している。
位置情報登録メッセージ処理部1404は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のCoAをHoAに関連付け、バインディングキャッシュとして位置情報保持部1405に保持するよう指示する。さらに、位置情報登録メッセージの中に、受信ノードによるバインディングキャッシュの扱いを示す情報(BCタイプ情報)が含まれている場合、それらの情報もバインディングキャッシュの中に保持するよう指示する。
バインディングキャッシュの扱いを示す情報としては、後述する(1)、(2)、(3)のいずれかを示す情報である。特に(3)の場合において、BC有効期間(BC使用可能期間)も一緒に含まれている場合、BC有効期間の値を取得し、位置情報保持部1405に対して、登録するバインディングキャッシュの中に保持するよう指示する。なお、BC有効期間が位置情報登録メッセージに含まれていない場合には、MN10自身が適切なBC有効期間を生成するようにしてもよいし、任意のサーバから適切な値を取得するようにしてもよい。
図15は、BUメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図15に示されているように、登録するCoA/BID1501と共に、BCタイプ情報1502、さらにはBC有効期間(BC使用可能期間)1503のフィールドが含まれている。なお、BC有効期間はBCタイプが(3)の場合に含まれる。受信パケット処理部1406は、受信部1403で受信したパケットに関する処理を行う機能を有している。受信パケット処理部1406で処理されたパケット内のデータは、上位レイヤ1407又は送信パケット生成部1408に送られる。
ここで、受信パケット処理部1406における処理の一例について図16を用いて説明する。まず、CN20からパケットを受信した際に(ステップS1601)、そのパケットが経路最適化を使用して送信されたパケットであるか否かを確認する(ステップS1602)。確認の方法としては、パケットにホームアドレスオプションが付加されているか否か、送信元アドレスがCN20のアドレスになっているか否かなどを確認する。経路最適化が使用されていない場合は、位置情報保持部1405を参照して、そのパケットの送信元ノードであるCN20に関するバインディングキャッシュを保持しているか否かを確認する(ステップS1603)。バインディングキャッシュを保持している場合には、BCタイプ情報を確認し(ステップS1604)、以下の(1)から(3)のいずれかを選択し、実行する。
(1)「バインディングキャッシュを削除する(ステップS1605)。」CN20のバインディングキャッシュを保持している時に、CN20から、経路最適化を使用していないパケットを受信した時、CN20のバインディングキャッシュを削除する。この場合、バインディングキャッシュが削除された後にMN10が送信するパケットは、CN20のCoAではなく、ホームアドレスあてに送信される。また、バインディングキャッシュを削除した際に、CN20に対して、CN20によって登録されたバインディングキャッシュが無効となったことを通知するためのBC無効通知メッセージを送信してもよい。なお、ステップS1605において、本発明の第1の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがBC有効期間よりも大きい場合に、バインディングキャッシュを削除すると判断してもよい。
(2)「バインディングキャッシュの使用を保留とする(ステップS1606)。」CN20のバインディングキャッシュを保持している時に、CN20から、経路最適化を使用していないパケットを受信した時、CN20のバインディングキャッシュの使用を保留とする。この場合、バインディングキャッシュの使用を保留とした後にMN10が送信するパケットは、CN20のCoAではなく、ホームアドレスあてに送信される。また、保留としたCN20のバインディングキャッシュの有効性を確認するためのBC確認メッセージをCN20へ送信するようBC確認メッセージ生成部1409へ指示してもよい。また、バインディングキャッシュの保留中に、CN20からのパケットが経路最適化を使用して送信されてきた場合は、保留を解消し、バインディングキャッシュの使用を再開する。なお、ステップS1606において、本発明の第1の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがBC有効期間よりも大きい場合に、バインディングキャッシュを保留にすると判断してもよい。
(3)「タイマをスタートさせる(ステップS1607)。」CN20のバインディングキャッシュを保持している時に、CN20から、経路最適化を使用していないパケットを受信した時、通信開始後経過時間タイマをスタートさせる。このタイマをスタートさせた後は、前述の(2)の処理を行い、バインディングキャッシュの使用を保留とする(ステップS1608)。そして、タイマの経過時間がBC有効期間よりも大きくなったか否かを判断し(ステップS1609)、大きくなった場合は、前述の(1)の処理を行い、バインディングキャッシュを削除する(ステップS1610)。
なお、ステップS1602において、パケットが経路最適化を使用して送信されたパケットであると判断された場合、CN20のバインディングキャッシュを保持している(ステップS1611)として、そのバインディングキャッシュが使用保留となっているか否かを確認する(ステップS1612)。ステップS1612において、使用保留となっていない場合は、経路最適化に伴う処理を行った(ステップS1613)後、パケットに含まれるデータの受信処理を行う(ステップS1615)。一方、ステップS1612において、使用保留となっている場合は、そのバインディングキャッシュの使用保留を解除し(ステップS1614)、経路最適化に伴うパケット受信処理を行った(ステップS1613)後、パケットに含まれるデータの受信処理を行う(ステップS1615)。また、ステップS1603において、パケットの送信元ノードであるCN20に関するバインディングキャッシュを保持していないと判断された場合、パケットに含まれるデータの受信処理を行う(ステップS1615)。
なお、タイマをスタートさせた時点でバインディングキャッシュの使用を保留とせずに、タイマの経過時間がBC有効期間よりも小さい間は、バインディングキャッシュを使用可能としてもよい。この場合、タイマの経過時間がBC有効期間よりも大きくなった場合は、前述の(2)又は(3)のいずれかを選択して実行するようにしてもよいし、どちらか一方の処理を常に実行するようにしてもよい。
MN10による前述の(1)、(2)、(3)の選択方法として、例えば、前述のように、CN20からの位置情報登録メッセージの中に含まれているBCタイプ情報が使用される。なお、BCタイプ情報として(1)、(2)、(3)が同時に使用される必要はなく、例えば、(1)だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には(1)を使用し、セットされていない場合には、(1)を使用せずに通常のやり方でBCを管理する、ということを示すようにしてもよい。
また(2)だけを使用する場合、あるいは(3)だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。また、CN20から通信開始後経過時間タイマを使用するよう要求された場合には(3)を選択し、タイマの使用が要求されていない場合には、(1)又は(2)を選択するという方法でもよい。この場合、(3−1)を(3)の場合で(1)を実行する場合、(3−2)を(3)の場合で(2)を実行する場合として、BCタイプ情報で識別可能なようにしてもよい。
位置情報保持部1405は、通信相手から登録されたバインディングキャッシュ(BCタイプ情報やBC有効期間の情報を含む)を保持する。また、受信パケット処理部1406から、BCを削除又は使用保留とすること指示された場合、該当するCNのバインディングキャッシュを削除又は使用保留とする。さらに、通信相手の通信開始後経過時間タイマをスタートさせるよう指示を受けた場合、通信相手に対応するバインディングキャッシュの中のタイマをスタートさせる。
図17は、位置情報保持部1405が保持するCN20のバインディングキャッシュの一例を示している。図17に示すように、HoA2に関連付けられたCoA2に対して、ライフタイム1701、通信開始後経過時間タイマ1702、BC有効期間(BC使用可能期間)1703が関連付けられて管理されている。ライフタイム1701はBCのライフタイムを示している。
送信パケット生成部1408は、上位レイヤ1407又は受信パケット処理部1406の指示を受け、CN20へ送信するパケットを生成し、そのパケットに対してバインディングキャッシュを用いてパケットを送信するべきか否かを判断する。
ここで、送信パケット生成部1408における処理の一例について図18を用いて説明する。まず、CN20との通信を開始するためにCN20へパケットを送信する際に、そのパケットの送信先であるCN20に関するバインディングキャッシュを保持しているか否かを確認し(ステップS1801)、保持していない場合には、経路最適化を使用せずに、CN20へパケットを送信する。すなわち、CN20のHoAを宛先アドレスにセットする(ステップS1802)。
一方、保持している場合には、そのエントリが使用保留となっているか否かを確認する(ステップS1803)。使用保留となっている場合は、そのバインディングキャッシュを使用せずに、CN20へパケットを送信する。この場合のパケットは、宛先アドレスがCN20のホームアドレスで、送信元アドレスがMN10のホームアドレスとなっている(経路最適化を不使用)。一方、使用保留となっていない場合には、保持しているバインディングキャッシュを用いて、バインディングキャッシュに保持されているCN20のCoAを宛先アドレスにセットし(ステップS1804)、CN20のHoAを含むルーティングヘッダをパケットに付加して送信する(経路最適化を使用)(ステップS1805)。
BC確認メッセージ生成部1409は、受信パケット処理部1406からの指示を受け、CN20から経路最適化を使わずに送信されたパケットを受信した際に、CN20によって登録されているBCがまだ有効であるか否かを確認するためのBC確認メッセージを生成し、CN20へ送信するよう送信部1401に指示する。図19は、BUメッセージを用いた場合のBC確認メッセージのフォーマットの一例である。
図19に示されているように、このメッセージがBC確認メッセージであることを示す情報として、BC確認メッセージであることを示すモビリティヘッダ1901のタイプを用いてもよいし、モビリティヘッダ1901内の、確認するCoAを含むオプション内のフラグとして含まれていてもよい。なお、BC確認メッセージとしては、モバイルIPv6のモビリティヘッダにより構成されたメッセージを用いるのが望ましいが、CN20へ送信することができるメッセージであれば任意のメッセージを用いてもよい。また、CN20へ送信するデータパケットに付加するオプション(宛先オプションヘッダなど)として実現されてもよい。
BC確認応答メッセージ処理部1410は、CN20から受信したBC確認応答メッセージに関する処理を行う。MN10が送信したBC確認メッセージに対する応答として、BCが無効であることが通知された場合には、保持しているBCを削除する。この場合、以降MN10がCN20へ送信するパケットは、経路最適化を用いずに、CN20のHAを経由して送信される。一方、BCが有効であることが通知された場合には、BCの保持を継続し、CN20へ送信するパケットに経路最適化を使用してパケットを送信する。
図20は、本発明の第3の実施の形態におけるCN20の構成の一例を示す構成図である。CN20は、例えば図20に示す構成要素を備えている。送信部2001は、インタフェース2002を通じて、接続されているネットワーク(外部ネットワーク12)上のノードにパケットを送信する機能を有している。また、受信部2003は、インタフェース2002を通じて、接続されているネットワーク(外部ネットワーク12)上のノードからパケットを受信する機能を有している。
登録済み位置情報保持部2004は、通信相手(例えば、MN10)へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部2005、又は上位レイヤ2008から登録済み位置情報の通信開始後経過時間タイマの計測のスタートの指示を受けたときタイマをスタートさせる。つまり、通信相手から、経路最適化が使用されていないパケットを受信した場合に、通信開始後経過時間タイマが開始される。さらに、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部2006に対して指示する。
位置情報登録メッセージ生成部2006は、送信パケット生成部2007又は受信パケット処理部2005からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。また、位置情報登録メッセージ生成部2006は、登録済み位置情報保持部2004からの指示を受け、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、MN10のライフタイムを更新するための位置情報登録メッセージを生成する。
さらに、登録するバインディングキャッシュに対する扱いを示すBCタイプ情報を付加してもよい。特に前述の(3)を使用することを選択した場合には、BC有効期間を位置情報登録メッセージの中に含め、送信部2001に対して送信するよう指示する。
なお、BC有効期間は、通信状態(通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定)、接続状態(接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定)、ハンドオーバの発生頻度(ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定)、通信データの種類(音声データ、動画データなどのリアルタイムデータ、制御メッセージなど)、インタフェースの種類(セルラ、WiMAX、WLAN)などに応じて、CN20及びMN10にとって適切な値を設定することが望ましい。また、プロトコルの種類(TCP、UDP、SIP、RTPなど)によって値が任意に定められていてもよい。さらに、通信相手であるCNによって値が任意に定められていてもよい。例えば、同一のオペレータに属するCNであるか否かによって値が任意に定められてもよい。
送信パケット生成部2007は、上位レイヤ2008又は受信パケット処理部2005から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部2001へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部2007は、登録済み位置情報保持部2004を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。
BC確認メッセージ処理部2009は、MN10から受信したBC確認メッセージに関する処理を行い、登録済み位置情報保持部2004を参照して、BC確認メッセージに含まれる情報が示すCN20のBCが有効であるか否かを確認する。登録済み位置情報に、該当するBCが保持されている場合には、そのBCが有効であると判断し、MN10に対して、通知されたBCがまだ有効であることを示すBC確認応答メッセージを生成して送信するよう、BC確認応答メッセージ生成部2010へ指示する。
登録済み位置情報に、該当するBCが保持されていない場合には、そのBCはすでに無効であると判断し、MN10に対して、通知されたBCがすでに無効であることを示すBC確認応答メッセージを生成して送信するよう、BC確認応答メッセージ生成部2010へ指示する。なお、BCが有効であるか否かは、通知されたBCのCoAが有効であるか否か、つまりは、インタフェースにそのCoAが割り当てられているか否かを基にして判断してもよい。これにより、MN10へそのBCを登録していなかった場合であっても、MN10からの確認要求に応えることができる。
送信パケット生成部2007における処理の一例について図21を用いて説明する。パケット送信をするよう指示する際、送信パケット生成部2007は、MN10へ送信するパケットを生成し、さらにそのパケットの送信に、経路最適化を用いるべきか否かを判断する。その判断を行うために、まず登録済み位置情報保持部2004を参照し、現在の位置情報に関するBCをMN10へ登録しているか否かを確認する(ステップS2101)。MN10へ登録していることを示す登録済み位置情報を保持している場合は、MN10へ登録したバインディングキャッシュがどのBCタイプ情報として登録されているかを確認する(ステップS2102)。
BCタイプが(1)又は(2)であるか否かを判断し(ステップS2103)、BCタイプが(1)又は(2)である場合は、MN10のBCを削除又は保留とするか否かを判断する(ステップS2104)。BCタイプが(1)である場合、MN10に対して経路最適化を使用せずにパケットを送信すると、MN10はバインディングキャッシュを削除してしまう。そのため、MN10のバインディングキャッシュを削除させない場合は、経路最適化を使用して(ステップS2105)、パケットを送信する(ステップS2106)。一方、MN10のバインディングキャッシュを削除する場合は、経路最適化を使用せず(ステップS2107)にパケットを送信する(ステップS2106)。
BCタイプが(2)である場合、MN10に対して経路最適化を使用せずにパケットを送信すると、MN10はバインディングキャッシュの使用を保留としてしまう。そのため、MN10のバインディングキャッシュを使用保留とさせない場合は、経路最適化を使用して(ステップS2105)パケットを送信する(ステップS2106)。一方、MN10のバインディングキャッシュを保留とする場合は、経路最適化を使用せず(ステップS2107)にパケットを送信する(ステップS2106)。
また、ステップS2103において、BCタイプが(1)又は(2)でないと判断された場合、BCタイプが(3)であるか否かを判断し(ステップS2108)、BCタイプが(3)である場合、登録済み位置情報の通信開始後経過時間タイマを確認し、その値がBC有効時間よりも大きいか否かを判断し(ステップS2109)、大きい場合は、経路最適化を用いずに(ステップS2107)、通常のパケットを送信する(ステップS2106)。なお、タイマの値がBC有効時間よりも大きくなった場合、MN10に対しての登録済み位置情報を削除してもよい。この場合パケットを受信するMN10も同様に、通信開始後経過時間タイマを確認し、その値がBC有効期間よりも大きいため、CN20に関するバインディングキャッシュを削除する。
通常のパケットとは、送信元アドレスがCN20のHoAであり、宛先アドレスがMN10のHoAとなっているパケットを、送信元アドレスがCN20のCoAであり、宛先アドレスがHA2のアドレスとなっているヘッダでカプセル化されたパケットである。このパケットは、HA2によってデカプセル化され、MN10へ転送される。この場合、MN10に通知されているBCタイプ情報が(3−1)である場合は、CN20から経路最適化でないパケットを受信したMN10はバインディングキャッシュを削除するため、CN20も登録済み位置情報を削除する。一方、BCタイプ情報が(3−2)である場合は、CN20から経路最適化でないパケットを受信したMN10はバインディングキャッシュを使用保留とするため、CN20は、バインディングキャッシュの保留を解消する場合には、経路最適化したパケットを送信する。
一方、そのタイマがBC有効期間よりも小さい場合は、経路最適化を使用して送信してもよいし、使用せずに送信してもよい。MN10が保持しているCN20のバインディングキャッシュの通信開始後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させるために、CoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS2105)、パケットを送信する(ステップS2106)。これにより、MN10のバインディングキャッシュの通信開始後経過時間タイマがリセットされ、経路最適化の使用が開始される。
なお、MN10が保持するCN20のバインディングキャッシュの通信開始後経過時間タイマをリセットする必要がない場合は、経路最適化を使用せずに(ステップS2107)、パケットを送信する(ステップS2106)。経路最適化を使用した場合のパケットは、送信元アドレスがCN20のCoAで、宛先アドレスがMN10のHoAで、CN20のHoAを含むホームアドレスオプションが付加されたパケットである。なお、ステップS2101において、MN10へ登録していることを示す登録済み位置情報を保持していない場合、HAあてにカプセル化し(ステップS2110)、パケットを送信する(ステップS2106)。
ここで、CN20が外部ネットワーク12に接続してCoA2を使用している場合に、CN20が、BCタイプが(3)のBCを登録しているMN10へ通信を開始する場合を考える。CN20が保持する登録済み位置情報の通信開始後経過時間タイマがBC有効期間よりも大きい場合、CN20は経路最適化を使用せずに、通常のパケットをMN10へ送信する。この場合、MN10は、CN20に関するBCを保持しているにもかかわらず、経路最適化が使用されていないパケットを受信するため、通信開始後経過時間タイマをスタートさせる。
また、BCタイプが(1)であるとき、CN20のハンドオーバの発生が迫っている場合や、ハンドオーバ処理の実行中である場合には、MN10へ登録しているCoAを使用してパケットを送信することが可能であったとしても、経路最適化を使用せずにパケットを送信することを選択してもよい。これにより、MN10は、CN20からパケットを受信した時点でバインディングキャッシュを削除するため、ハンドオーバ後にMN10へバインディングキャッシュを削除するためのメッセージや、バインディングキャッシュを更新するためのメッセージを送信する必要をなくすことができる。
また、MN10へバインディングキャッシュを登録していない場合、つまりCN20が移動してMN10へ登録しているCoAと異なるCoAを使用している場合は、新しいCoAをMN10へ登録するまでは、新しいCoAを使ったパケットをMN10へ送信することはできないので、HAを経由したパケット送信を行う。なお、CN20がホームネットワークに移動してCoAを持っていない場合も同様に、HAを経由したパケット送信を行う。
このように、本発明の第3の実施の形態におけるMN10及びCN20によって、MN10がCN20のバインディングキャッシュを保持しているにもかかわらず、MN10がCN20から受信したパケットが経路最適化されずに送信されてきた場合に、CN20のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、MN10が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。
また、バインディングキャッシュを保留とし、さらにはタイマの値がBC有効期間よりも大きくなったときにバインディングキャッシュを削除することで、CN20が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。
また、CN20が位置情報登録メッセージの中でBCタイプ情報を通知することで、CN20にとって好ましい処理を行うようMN10へ指示することができ、CN20の状況に応じた適切な処理をMN10へ実行させることができる。例えば、MN10へBCタイプを(1)として登録したバインディングキャッシュが、MN10との通信が終了した後に残っていたとしても、CN20がMN10と通信を再開する際に、経路最適化を使用せずにパケットを送信すれば、MN10によって古いバインディングキャッシュが削除されるため、MN10によって誤使用されるのを防ぐことができ、経路最適化の使用にともなう処理負荷を軽減することができる。
また、(1)を使用することにより、MN10と通信をしているCN20が、外部ネットワークからホームネットワークにハンドオーバした場合であっても、MN10に登録されているバインディングキャッシュを削除することを要求するメッセージをMN10に送信する必要がなくなり、通常のパケット送信を行うだけでバインディングキャッシュを削除することができるため、メッセージ送信に伴う処理負荷を軽減することができる。
なお、本発明の第3の実施の形態におけるMN10の機能の一部を、MN10の位置情報を管理しているHA14に適用した場合にも同様の効果を得ることができる。MN10はHA14に対して、図15示すようなBCタイプを含めたBUメッセージを送信する。HA14は、MN10から受信したBUメッセージ内のBCタイプを、MN10のバインディングキャッシュに設定する。そして、HA14が、MN10からこれまでと異なるCoAが用いられたパケットを受信した場合、BCタイプに応じてバインディングキャッシュの扱いを判断する。例えば、BCタイプが(1)である場合は、HA14はバインディングキャッシュを削除する。また、BCタイプが(2)である場合は、HA14はバインディングキャッシュを使用保留とする。なお、BCタイプが(3−1)または(3−2)である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がBC有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、MN10が再びそのバインディングキャッシュに登録されているCoAを用いてCNとの通信を再開した場合にリセットさせる。このため、MN10がしばらくの間通信をせずに、タイマがBC有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。
HA14に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合(MN10が複数のインタフェースを保持しているケース)は、HA14は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもBC有効期間を超えている場合には、タイマの経過時間、またはBC使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、HA14は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているCoA宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、HA14においてパケットロスとなってしまう代わりに、MN10が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ(CoAとしてHoAをセット)が存在する場合には、HA14はカプセル化せずにHoA宛にパケットを転送する。なお、MN10の他のバインディングキャッシュがない場合でも、MN10がホームネットワークに接続していることが分かる場合には、HoA宛に転送してもよい。
<第4の実施の形態>
本発明の第4の実施の形態は、CN20からMN10へ登録される位置情報であるBCが、CN20とMN10との間で行われる通信(セッション、フロー)と関連付けられており、MN10は、CN20との通信が終了した際に、本発明の第3の実施の形態で述べた(1)、(2)、(3)のいずれかを選択し実行する。なお、第3の実施の形態と同様に、BCタイプ情報として(1)、(2)、(3)が同時に使用される必要はなく、例えば(1)だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には(1)を使用し、セットされていない場合には、(1)を使用せずに通常のやり方でBCを管理する、ということを示すようにしてもよい。また(2)だけを使用する場合、あるいは(3)だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。
本発明の第4の実施の形態は、CN20からMN10へ登録される位置情報であるBCが、CN20とMN10との間で行われる通信(セッション、フロー)と関連付けられており、MN10は、CN20との通信が終了した際に、本発明の第3の実施の形態で述べた(1)、(2)、(3)のいずれかを選択し実行する。なお、第3の実施の形態と同様に、BCタイプ情報として(1)、(2)、(3)が同時に使用される必要はなく、例えば(1)だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には(1)を使用し、セットされていない場合には、(1)を使用せずに通常のやり方でBCを管理する、ということを示すようにしてもよい。また(2)だけを使用する場合、あるいは(3)だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。
また、CN20から通信開始後経過時間タイマを使用するよう要求された場合に(3)を選択し、タイマの使用が要求されていない場合には(1)又は(2)を選択するという方法でもよい。この場合、(3−1)を(3)の場合で(1)を実行する場合、(3−2)を(3)の場合で(2)を実行する場合として、BCタイプ情報で識別可能なようにしてもよい。
本発明の第4の実施の形態におけるネットワーク構成は、図1に示すものと同じであるため説明を省略する。図22は、本発明の第4の実施の形態におけるMN10の構成の一例を示す構成図である。MN10は、例えば図22に示す構成要素を備えている。送信部2201は、インタフェース2202を通じて、接続されているネットワーク(外部ネットワーク11)上のノードにパケットを送信する機能を有している。また、受信部2203は、インタフェース2202を通じて、接続されているネットワーク(外部ネットワーク11)上のノードからパケットを受信する機能を有している。
位置情報登録メッセージ処理部2204は、CN20から受信した位置情報登録メッセージに含まれている位置情報を取得し、位置情報保持部2205に保持する。さらにBCタイプ情報も含まれている場合は、BCタイプ情報も取得し保持する。この場合、特に前述の(3)が指定されている時に、BC有効期間(BC使用可能期間)の値も含まれている場合には、その値も取得し保持する。
さらに、本発明の第3の実施の形態における、CN20から経路最適化が使用されていないパケットを受信したことをトリガとして処理を実行するという方法と異なる形態として、登録される位置情報がCN20との通信(セッション)に関連付けられていて、通信が終了したことをトリガとして処理を実行する。この処理を要求する情報として、位置情報登録メッセージの中に通信関連付け情報(フラグなど)が含まれている場合は、その情報を取得し位置情報保持部2205に保持する。なお、通信関連付け情報は、本発明の第3の実施の形態におけるBCタイプ情報の1つとして通知されてもよい。
また、位置情報登録メッセージ処理部2204は、通信の終了を検出するために、CN20に関する情報を通信終了判断部2206に対して通知し、CN20との通信(セッション)が終了したときに、CN20との通信(セッション)が終了したことを位置情報登録メッセージ処理部2204へ通知するように要求する。
なお、登録されるバインディングに関連付けられる通信を特定するための情報を位置情報登録メッセージに含めてもよい。この場合、通信終了判断部2206に対しては、CN20に関する情報と共に、通信を特定するための情報も通知される。通信を特定する情報としては、特定のセッションを表すセッションIDや、特定のフローを表すフローID、アドレス(あて先アドレス、送信元アドレス)やポート番号、プロトコルIDなど、CN20とMN10との間で行われる通信(セッション、フロー)の一部、あるいは全体を現すことができる情報であれば、任意の情報を用いることができる。なお、フロー情報がすでに登録済みである場合は、その情報を指すフローIDのみを含めるだけでよい。
通信終了判断部2206は、通信相手との通信の状態を監視し、CN20との通信が終了したことを検出した場合には、位置情報登録メッセージ処理部へ通信の終了を通知する。通信の終了の通知を受けた位置情報登録メッセージ処理部は、位置情報保持部2205を参照し、CN20のバインディングキャッシュに通信関連付け情報が保持されている場合には、そのバインディングキャッシュを削除する。また、通信関連付け情報とは別に、本発明の第3の実施の形態で述べたBCタイプが示されている場合には、CN20のバインディングキャッシュのBCタイプ情報に従い処理を行ってもよい。BCタイプ情報が(1)の場合は、CN20との通信が終了したことを通知されたときに、CN20のバインディングキャッシュを削除させる。この場合は、上述のように、バインディングキャッシュのタイプが通信関連付け情報のタイプである場合と同様である。
一方、BCタイプ情報が(2)の場合は、CN20のバインディングキャッシュの使用を保留とさせる。さらに、BCタイプ情報が(3)の場合は、CN20との通信が終了したときに、通信終了後経過時間タイマをスタートさせる。この場合、MN10が再びCN20と通信を開始する際、及びCN20から再び開始された通信を受信する際に、通信終了後経過時間タイマとBC有効期間を比較して行う処理に関しては、本発明の第1、及び第2の実施の形態で述べた、通信終了後経過時間タイマとBC有効期間を比較して行う処理と同様であるため、説明を省略する。また、BCタイプ情報が(3)の場合は、CN20との通信が終了したときに、通信開始後経過時間タイマとBC有効期間を比較して、タイマの値がBC有効期間よりも大きい場合に、バインディングキャッシュを削除し、一方小さい場合には、バインディングキャッシュを削除しないと判断してもよい。
通信終了判断部2206が、CN20との通信が終了したことを検出する方法としては、上位レイヤ2207に対して問い合わせて、通信が終了したか否かを確認する方法や、上位レイヤ2207に通知を依頼する方法などがある。また、CN20との間で送受信されているパケットを監視し、上位レイヤ2207によって使われているプロトコルの通信の終了を示すパケット(例えば、TCPのFINメッセージ、ACKメッセージや、SIPのBYEメッセージ、ACKメッセージなど)を検出した際に、通信の終了を認識してもよい。また、一定時間通信(ライフタイムが有効期限切れ)が行われていない場合に、CN20との通信が終了したと判断することもできる。
また、位置情報登録メッセージ処理部2204は、通信終了判断部2206、又は上位レイヤ2207に対して、保持しているBCのCN20との通信が終了しているかどうかを確認してもよい。確認の結果、通信が終了していることが分かった場合には、その通信相手のバインディングキャッシュのBCタイプ情報に従い処理を行う。なお、通信が終了しているかどうかの確認を行うタイミングは、バインディングキャッシュのライフタイムの残存時間や、CN20との通信を開始してからの経過時間、ハンドオーバの発生が迫っている場合などに基づいて判断されてもよい。
なお、特定の通信が指定されている場合には、CN20との通信において、その指定された通信が終了した場合に上記の処理を実行してもよい。なお、この通信終了判断部2206の処理が上位レイヤ2207によって実現され、上位レイヤ2207から位置情報登録メッセージ処理部2204に対して、CN20との通信が終了したことが通知されてもよい。
上位レイヤ2207は、位置情報登録メッセージ処理部2204、又は通信終了判断部2206から、CN20との通信が終了したか否かの問い合わせを受けた際に、通信が終了しているか否かの結果を返す。また、CN20との通信に関する情報を受け、その通信が終了した際に、通信が終了したことを通知する。位置情報保持部2205は、位置情報登録メッセージ処理部2204から、CN20のバインディングキャッシュの登録、保留、削除の指示を受け処理を実行する。
このように、本発明の第4の実施の形態におけるMN10及びCN20によって、CN20との通信が終了した時点で、MN10は、CN20のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、MN10が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。また、バインディングキャッシュを保留とし、さらにはタイマの値がBC有効期間よりも大きくなったときにバインディングキャッシュ削除することで、CN20が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。
また、CN20が位置情報登録メッセージの中でBCタイプ情報を通知することで、CN20にとって好ましい処理を行うようMN10へ指示することができ、CN20の状況に応じた適切な処理をMN10へ実行させることができる。例えば、MN10へBCタイプ情報を(1)として登録することで、MN10との通信が終了した後はCN20のバインディングキャッシュはMN10によって削除されるので、MN10によって誤使用されるのを防ぐことができる。また、(1)を使用することにより、MN10と通信が終了した後に、MN10に登録されているバインディングキャッシュを削除することを要求するメッセージをMN10に送信する必要がなくなり、メッセージ送信に伴う処理負荷を軽減することができる。
なお、本発明の第4の実施の形態におけるMN10の機能の一部を、MN10の位置情報を管理しているHA14に適用した場合にも同様の効果を得ることができる。MN10はHA14に対して、通信関連付け情報やフロー情報を含めたBUメッセージを送信する。HA14は、MN10から受信したBUメッセージ内の通信関連付け情報さらには、フロー情報などを、MN10のバインディングキャッシュに設定する。そして、HA14がMN10から受信したCNあてパケット、またはCNから受信したMN10あてのパケットが、バインディングキャッシュに関連付けられている通信(セッション、フロー)に一致するものであり、かつその通信が終了したことを検出した場合に、そのバインディングキャッシュを削除する。また、BCタイプが指定されている場合には、BCタイプに応じてバインディングキャッシュの扱いを判断する。例えば、BCタイプが(1)である場合は、上述のように、HA14はバインディングキャッシュを削除する。また、BCタイプが(2)である場合は、HA14はバインディングキャッシュを使用保留とする。なお、BCタイプが(3−1)または(3−2)である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がBC有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、MN10が再びそのバインディングキャッシュに登録されているCoAを用いてCNとの通信を再開した場合にリセットさせる。このため、MN10がしばらくの間通信をせずに、タイマがBC有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。
HA14に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合(MN10が複数のインタフェースを保持しているケース)は、HA14は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもBC有効期間を超えている場合には、タイマの経過時間、またはBC使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、HA14は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているCoA宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、HA14においてパケットロスとなってしまう代わりに、MN10が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ(CoAとしてHoAをセット)が存在する場合には、HA14はカプセル化せずにHoA宛にパケットを転送する。なお、MN10の他のバインディングキャッシュがない場合でも、MN10がホームネットワークに接続していることが分かる場合には、HoA宛に転送してもよい。
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。なお、ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
本発明に係る移動端末は、パケットロスの発生を防ぎ、通信の遅延を防ぐことができ、また、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができるため、通信ネットワークを介して通信相手とパケット通信を行う移動端末などに有用である。
本発明は、通信ネットワークを介して通信相手とパケット通信を行う移動端末に関する。
モバイルIP(非特許文献1を参照)を利用するモバイルノード(以下、MNとも言う)は、移動先のアドレスであるケアオブアドレス(以下、CoA:Care-of Addressとも言う)を自身のホームアドレス(以下、HoA:Home Addressとも言う)を管理するホームエージェント(以下、HAとも言う)、又は通信相手(以下、CN:Correspondent Nodeとも言う)に登録し、HoAあてパケットの転送を依頼する。MNが、複数のCoAを1つのHoAに対して同時に関連付けて登録することができれば、複数のインタフェースを備えるMNは、それぞれのインタフェースに割り当てられたCoAを登録することで、インタフェースの状態に応じて使用するCoAを瞬時に切り替えることが可能となる。非特許文献2には、MNが複数のCoAを1つのHoAに関連付けてHAに登録する手法としてバインディングID(以下、BID:Binding Identifierとも言う)を用いる手法が開示されている。
HA及びCNに登録(エントリ)されるMNの位置情報はバインディングキャッシュ(以下、BC:Binding Cacheとも言う)と呼ばれ、各エントリにはその有効期間を示すライフタイムが設定される。MNは、登録済みのバインディングキャッシュを維持したい場合には、そのライフタイムが切れる前にバインディングアップデートメッセージ(以下、BU(Binding Update)メッセージとも言う)を送信して、ライフタイムを延長する。一方、ライフタイムが切れると、そのエントリは自動的に削除される。
例えば、CNとMNが通信をする際に、CNからMNへバインディングキャッシュが登録された場合、MNはCNへ送信するパケットに対して、バインディングキャッシュに登録されているCoAを宛先に設定してパケットを送信する。これにより、送信されたパケットは、CNのホームエージェントを経由することなく、移動先にいるCNへ直接届けられる。
この通信が終了した後、CNからMNへ通信をしない場合、CNはMNへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、バインディングキャッシュのライフタイムを延長するためのBUメッセージを送信しないため、MNに登録されているバインディングキャッシュは、そのライフタイムが切れた後に自動的に削除される。一方、この通信が終了した後に、MNからCNへ通信を開始する場合、CNのバインディングキャッシュがまだ存在する場合には、MNはそのバインディングキャッシュに登録されているCoAを宛先アドレスに使用してパケットを送信することができる。
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.
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.
しかしながら、CNとMN間の通信が終了した以降、CNからMNへ通信をしない場合、CNはMNへ登録したバインディングキャッシュを維持する必要がないと判断する。これにより、ライフタイムを延長するためのBUメッセージが送信されないため、たとえCNが別のネットワークへ移動して別のCoAを取得していたとしても、MNに登録されているバインディングキャッシュは更新されない。
また、MNへ登録されるバインディングキャッシュのライフタイムを、実際の通信に要する時間に合わせて設定することが難しいため、実際の通信が終了している場合でも、バインディングキャッシュが残り続ける状態が起こる可能性がある。そのため、MNが保持するバインディングキャッシュは、ライフタイムが有効であるにもかかわらず、登録されているCoAがもはやCNの正しい移動先を指していないという状態が起こり得る。これにより、MNは、CNとの通信を開始する時に、まだライフタイムが有効であるバインディングキャッシュに登録されているCoAを宛先アドレスとして使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるCNへは転送されずに、パケットロスが発生してしまう。
また、CNから、経路最適化を使用していないパケットを受信したときに、そのCNのライフタイムが有効であるバインディングキャッシュをMNが保持しているという状態が起こり得る。これにより、MNは、保持しているCNのバインディングキャッシュに登録されているCoAを宛先として使用してパケットを送信してしまう。そのため、そのパケットは新たな移動先にいるCNへは転送されずにパケットロスが発生してしまう。
本発明は、上記の問題点に鑑み、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる移動端末を提供することを目的とする。また、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる移動端末を提供することを目的とする。
上記目的を達成するために、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記通信端末と通信を開始する際、計測された前記経過時間が前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、前記経過時間が前記バインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに前記通信端末のホームアドレスを設定して前記パケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。なお、バインディングキャシュの有効時間は、後述するBC使用可能期間に相当する。また、経過時間は、後述する通信終了後経過時間タイマに相当する。
また、本発明の移動端末において、前記パケット生成手段が、前記バインディングキャッシュの前記通信端末のアドレス情報を前記パケットに付加することは、本発明の好ましい態様である。この構成により、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
また、本発明の移動端末において、前記バインディングキャッシュの有効時間の情報を含むメッセージを前記通信端末から受信する受信手段を更に備え、前記記憶手段が、受信された前記メッセージに含まれる前記バインディングキャッシュの有効時間の情報を取得し記憶することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得することができる。
また、本発明の移動端末において、前記計測手段が前記通信端末との通信が終了した際に前記経過時間の計測を開始することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得することができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、前記バインディングキャッシュ内に前記通信端末の複数のアドレス情報が含まれる場合、前記通信端末と通信を開始する際、計測された前記経過時間であって、それぞれの前記アドレス情報に対応する前記経過時間が、前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、それぞれの前記アドレス情報に対応する前記経過時間のすべてが前記バインディングキャッシュの有効時間を超えていると判断された場合に、前記バインディングキャッシュ内の前記通信端末のアドレス情報が既に前記バインディングキャッシュの有効時間を経過しているアドレス情報である旨を含めてパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末からのパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントによってカプセル化されたパケットであるか否かを判断する判断手段と、前記ホームエージェントによってカプセル化されたパケットであると判断された場合、送信元アドレスに前記移動端末自身のアドレス情報を設定し、前記移動端末自身のホームアドレスを含むホームアドレスオプションを付加したパケットを生成するパケット生成手段と、生成された前記パケットを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明の移動端末において、前記カプセル化された前記パケットに、前記移動端末のアドレス情報が付加されていることは、本発明の好ましい態様である。この構成により、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
また、本発明の移動端末において、前記通信端末に対して、前記移動端末との通信が終了した際に、前記通信が終了してから新たに通信を開始するまでの経過時間の計測を開始するべき旨の指示を含むメッセージを生成する第1のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かを判定するための経過時間を取得させることができる。なお、本発明の実施の形態で説明するように、第1のメッセージ生成手段と第2のメッセージ生成手段は同一の手段(構成要素)であってもよい。
また、本発明の移動端末において、前記通信端末が有する前記移動端末のバインディングキャッシュの有効時間の情報を含むメッセージを生成する第2のメッセージ生成手段を更に備え、前記送信手段が、生成された前記メッセージを前記通信端末へ送信することは、本発明の好ましい態様である。この構成により、バインディングキャッシュが有効であるか否かの情報を取得させることができる。
また、本発明の移動端末において、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合に、前記移動端末自身に格納された、前記通信端末との通信が終了してから新たに通信が開始されるまでに計測される経過時間をリセットする処理手段を更に備えることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
また、本発明の移動端末において、前記移動端末自身が複数のインタフェースを有し、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合、前記処理手段が、各インタフェースのアドレス情報に対応する前記経過時間をリセットすることは、本発明の好ましい態様である。この構成により、新たな通信を開始することができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末から送信されるパケットを受信する受信手段と、受信された前記パケットが前記移動端末のホームエージェントを経由して送信されたパケットであるか否かを判断する判断手段と、前記パケットが前記ホームエージェントを経由したパケットであると判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末との通信が終了したか否かを判断する判断手段と、前記通信端末との通信が終了したと判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも1つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
また、本発明の移動端末において、前記処理情報があらかじめ前記通信端末から送信されたメッセージに含まれている情報であることは、本発明の好ましい態様である。この構成により、いずれの処理を行えばよいか判断することができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末から受信した前記パケットが前記通信端末のホームエージェントを経由したパケットである場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明によれば、移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末との通信が終了したと判断された場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、生成された前記メッセージを前記通信端末へ送信する送信手段とを、備える移動端末が提供される。この構成により、パケットロスの発生を防ぎ、通信の遅延を防ぐことができる。
また、本発明の移動端末において、前記所定の処理が、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも1つの処理であることは、本発明の好ましい態様である。この構成により、無効となっているバインディングキャッシュを使用することを防ぐことができる。
本発明の移動端末は、上記構成を有し、パケットロスの発生を抑制し、通信の遅延を抑制することができる。また、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができる。
<第1の実施の形態>
図1は本発明の第1の実施の形態におけるネットワークの構成の一例を示す構成図である。図1には、ホームネットワーク1とホームネットワーク2、及び外部ネットワーク11、12、13があり、MN10はホームネットワーク1のHA14によって管理され、ホームアドレスとしてHoA1が割り当てられている。さらに、MN10のインタフェースは外部ネットワーク11に接続されており、CoA1が割り当てられている。
図1は本発明の第1の実施の形態におけるネットワークの構成の一例を示す構成図である。図1には、ホームネットワーク1とホームネットワーク2、及び外部ネットワーク11、12、13があり、MN10はホームネットワーク1のHA14によって管理され、ホームアドレスとしてHoA1が割り当てられている。さらに、MN10のインタフェースは外部ネットワーク11に接続されており、CoA1が割り当てられている。
一方、CN20は、ホームネットワーク2のHA15によって管理され、ホームアドレスとしてHoA2が割り当てられている。さらに、CN20のインタフェースは外部ネットワーク12に接続されており、CoA2が割り当てられている。HA14は、MN10のバインディングキャッシュとして、HoA1に対する移動先アドレスとしてCoA1を関連付けて保持している。また、HA15は、CN20のバインディングキャッシュとして、HoA2に対する移動先アドレスとしてCoA2を関連付けて保持している。
なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、以下の説明では、MN10と区別するために、MN10と通信を行うノードを通信相手という意味でCNと呼んでいるが、本発明におけるその実態はMN10と同様にモバイルノードである。つまり、CN20にとっての通信相手はMN10となり、MN10をCNと呼ぶこともできる。また、図1に示すネットワークの構成は、3GPP(Third Generation Partnership Project)などの携帯電話用ネットワーク網に適用することも可能である。その場合、HA機能はPDNゲートウェイ(Packet Data Network Gateway)と呼ばれるネットワークノード上の機能として実現され、AR機能は、セルラネットワーク内のサービングゲートウェイ(Serving Gateway)、WiMAXなどの信頼できるネットワーク(Trusted Network)内のアクセスルータ、又はNon3GPPネットワーク(Untrusted Network)に対するゲートウェイであるePDG(evolved Packet Data Gateway)等の機能として実現される。またMN、及びCNはUE(User Equipment)と呼ばれる。
図2は、本発明の第1の実施の形態におけるMNの構成の一例を示す構成図である。MN10は、例えば図2に示す構成要素を備えている。送信部21は、インタフェース22を通じて、接続されているネットワーク(外部ネットワーク11)上のノードにパケットを送信する機能を有している。また、受信部23は、インタフェース22を通じて、接続されているネットワーク(外部ネットワーク11)上のノードからパケットを受信する機能を有している。
位置情報登録メッセージ処理部24は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のCoAをHoAに関連付け、バインディングキャッシュとして位置情報保持部25に保持するよう指示する。さらに、位置情報登録メッセージの中に含まれているBC使用可能期間(BC有効期間)を取得し、バインディングキャッシュの中に保持させる。なお、BC使用可能期間が位置情報登録メッセージに含まれていない場合には、MN10自身が適切なBC使用可能期間を生成するようにしてもよい。
図3は、BUメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図3に示されているように、登録するCoA31と共にBC使用可能期間32が含まれている。なお、上述したように、BC使用可能期間はこのメッセージ内に含めずにMN10側で生成するようにしてもよい。また、位置情報登録メッセージには、MN10に対して、CN20との通信が終了した後に、通信が終了してからの経過時間(通信が終了してから新たな通信を開始するまでの経過時間)である通信終了後経過時間タイマ(以下、単にタイマとも言う)の計測をスタートさせることを求める情報(通信終了後経過時間タイマ使用要求フラグ33)を付加してもよい。この情報は、BC使用可能期間が含まれていることで示されてもよいし、BC使用可能期間が含まれていない場合には、フラグなどで通信終了後経過時間タイマを使用することを要求している旨を示してもよい。
位置情報保持部25は、通信相手から登録されたバインディングキャッシュ(BC使用可能期間の情報を含む)を保持する。また、受信パケット処理部26、又は上位レイヤ28からバインディングキャッシュの通信終了後経過時間タイマの計測のスタートの指示を受ける。図4は、位置情報保持部25が保持するCN20のバインディングキャッシュの一例を示している。図4に示すように、HoA2に関連付けられたCoA2に対して、ライフタイム41、通信終了後経過時間タイマ42、BC使用可能期間43が管理されている。ライフタイムはBCのライフタイムである。なお、通常のバインディングキャッシュのライフタイムとして、BC使用可能期間を保持してもよい。この場合、図3において、BC使用可能期間32は、BUメッセージのライフタイムフィールドに設定される。ライフタイムフィールドの値がBC使用可能期間であることを受信ノードへ示すために、BUメッセージにフラグなどを含めてもよい。
送信パケット生成部27は、上位レイヤ28から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部21へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部27は、位置情報保持部25を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。
ここで、送信パケット生成部27における処理の一例について図5を用いて説明する。CN20との通信を開始すると、まず、通信相手のCN20に関するバインディングキャッシュ(BC)が存在するか否かを判断する(ステップS501)。存在しない場合には、通信相手のHoAをパケットの宛先アドレスにセットして(ステップS502)、パケットを送信するよう送信部21へ指示する(ステップS503)。一方、存在する場合には、そのバインディングキャッシュの通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する(ステップS504)。
タイマの計測がスタートしていない場合には、バインディングキャッシュに登録されているCoAをパケットの宛先アドレスにセットして(ステップS505)、パケットを送信するよう送信部21へ指示する(ステップS503)。一方、タイマの計測が既にスタートしている場合には、タイマがBC使用可能期間よりも大きいか否かを判断する(ステップS506)。大きい場合には、CN20のHoAをパケットの宛先アドレスにセットしCoAをオプションとして含め(ステップS507)、パケットを送信するよう送信部21へ指示する(ステップS503)。一方、大きくない場合には、バインディングキャッシュに登録されているCoAをパケットの宛先アドレスにセットして(ステップS505)、パケットを送信するよう送信部21へ指示する(ステップS503)。なお、ステップS505において、宛先アドレスとしてCoAがセットされるパケットは、モバイルIPにおける経路最適化を用いた場合のパケットであるため、HoAを含むルーティングヘッダが含まれている。また、ステップS507において、CoAを含むオプションとしては、IPv6で定義されているデスティネーションオプションが用いられるのが望ましい。また、CoAの代わりにBIDを用いてもよい。
なお、BC使用可能期間は、上述したようにMN10が任意に設定してもよいし、さらにその値をCN20に対して通知してもよい。この場合、CN20からの位置情報登録メッセージにはMN10に対してBC使用可能期間は含まれない。また、HAや、ゲートウェイサーバ(ePDG、PDNゲートウェイ)などのオペレータ側のエンティティがMN10及びCN20に対して設定するようにしてもよい。また、MN10がオペレータ側のエンティティに対して、BC使用可能期間、及び通信終了後経過時間タイマの使用をするべきか否かを確認するようにしてもよい。あるいは、CN20から、通信が終了した後、明示的にBCを削除することを要求するメッセージ(Binding Revocationメッセージ)を受信しない場合に、BC使用可能期間、及び通信終了後経過時間タイマの使用をするべきと判断してもよい。
上位レイヤ28は、IPレイヤの上位に位置するレイヤ全体を表わすものであり、トンランスポート層(TCP/UDP)、さらにその上位のアプリケーションまでを含む。受信パケット処理部26は、受信部23で受信したパケットに関する処理を行う機能を有している。受信パケット処理部26で処理されたパケット内のデータは、上位レイヤ28又は送信パケット生成部27に送られる。また、受信パケット処理部26、及び上位レイヤ28は、CN20との通信が完了した時に、位置情報保持部25に保持されているCN20のバインディングキャッシュの通信終了後経過時間タイマの計測をスタートすることを指示する。なお、位置情報保持部25は、CN20との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ28及び受信パケット処理部26に問い合わせることや、あるいは上位レイヤ28及び受信パケット処理部26から通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。
ここで、受信パケット処理部26における処理の一例について図6を用いて説明する。CN20からパケットを受信すると、まず、受信したパケットに、通信相手のCN20のHoAを含むホームアドレスオプションが付加されているか否かを判断し(ステップS601)、付加されていない場合は、HA経由で転送されていたパケットであると判断して、CN20のバインディングキャッシュ(BC)を削除し(ステップS602)、パケットに含まれるデータの受信処理を行う(ステップS603)。
なお、CN20から経路最適化を使用せずにHA経由でパケットが転送されてきた後であっても、CN20が再び経路最適化を使用してパケットを送信して来る場合に備える場合は、S602において、バインディングキャッシュを削除せずに、通信終了後経過時間タイマをスタートさせる。この場合のタイマは、CN20からのパケットが、経路最適化を使用せずに送られてきている間の時間を計測する。これにより、CN20が再び経路最適化を使用してパケット送信する場合でも、CN20はMN10に対して位置情報の登録を行う必要がなくなるとともに、CN20の位置情報がBC有効期間を超えた後に、MN10がCN20の位置情報を使用するのを防ぐことができる。また、CN20が再び経路最適化を使用してきた場合には、ステップS605によってタイマがリセットされるため、MN10が保持するCN20のバインディングキャッシュが再び利用可能となる。なお、ホームアドレスオプションが付加されていないということは、経路最適化を使用したパケットではないことを意味する。
一方、ホームアドレスオプションが付加されている場合は、パケットの送信元アドレスが、バインディングキャッシュに登録されているCoAと一致するか否かを判断する(ステップS604)。一致する場合には、バインディングキャッシュの通信終了後経過時間タイマをリセットする(ステップS605)。これにより、MN10がCN20へパケットを送信した際に、通信終了後経過時間タイマの値がBC使用可能期間よりも大きいために、経路最適化を使用せずにパケットを送信していた場合には、タイマがリセットされることによって、CN20へパケットを送信する際に、再びバインディングキャッシュを用いた経路最適化を利用することができるようになる。一方、ステップS604において一致しない場合には、登録されていないCoAからのパケットであると判断して、バインディングキャッシュを削除し(ステップS606)、受信パケットを破棄する(ステップS607)。
図7は、本発明の第1の実施の形態におけるCNの構成の一例を示す構成図である。CN20は、例えば図7に示す構成要素を備えている。送信部71は、インタフェース72を通じて、接続されているネットワーク(外部ネットワーク12)上のノードにパケットを送信する機能を有している。また、受信部73は、インタフェース72を通じて、接続されているネットワーク(外部ネットワーク12)上のノードからパケットを受信する機能を有している。
登録済み位置情報保持部74は、通信相手(例えば、MN10)へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部75、又は上位レイヤ78から登録済み位置情報の通信終了後経過時間タイマの計測のスタートの指示を受ける。なお、登録済み位置情報保持部74は、MN10との通信が一定時間行われていないときに、通信終了後経過時間タイマの計測をスタートさせてもよい。これにより、通信が終了したか否かを上位レイヤ78及び受信パケット処理部75に問い合わせることや、あるいは上位レイヤ78及び受信パケット処理部75にから通知を受けることなく、一定時間パケットの送受信が行われていないことを通信の終了であると予測して、タイマの計測を効率的にスタートすることができる。さらに、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部76に対して指示する。
位置情報登録メッセージ生成部76は、送信パケット生成部77又は受信パケット処理部75からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。さらに、登録するバインディングキャッシュに対するBC使用可能期間を位置情報登録メッセージの中に含め、送信部71に対して送信するよう指示する。
なお、BC使用可能期間は、通信状態(通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定)、接続状態(接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定)、ハンドオーバの発生頻度(ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定)、通信データの種類(音声データ、動画データなどのリアルタイムデータ、制御メッセージなど)、インタフェースの種類(セルラ、WiMAX、WLAN)などに応じて、CN20及びMN10にとって適切な値を設定することが望ましい。また、プロトコルの種類(TCP、UDP、SIP、RTPなど)によって値が任意に定められていてもよい。さらに、通信相手であるCNによって値が任意に定められていてもよい。例えば、同一のオペレータに属するCNであるか否かによって値が任意に定められてもよい。なお、MN10が保持するBC使用可能期間はCN20が保持するBC使用可能期間よりも大きいことが望ましい。
また、位置情報登録メッセージ生成部76は、登録済み位置情報保持部74からの指示を受け、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、MN10のライフタイムを更新するための位置情報登録メッセージを生成する。送信パケット生成部77は、上位レイヤ78又は受信パケット処理部75から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部71へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部77は、登録済み位置情報保持部74を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。
ここで、送信パケット生成部77における処理の一例について図8を用いて説明する。パケットを送信するよう指示されると、まず、宛先となるノードに対してバインディングキャッシュ(BC)を登録しているか否かを判断する(ステップS801)。登録していない場合には、送信するパケットをHAあてにカプセル化し(ステップS802)、カプセル化されたパケットを送信するよう送信部71へ指示する(ステップS803)。一方、登録している場合には、その登録済み位置情報の通信終了後経過時間タイマを確認し、タイマの計測がスタートしているか否かを判断する(ステップS804)。
タイマの計測がスタートしていない場合には、パケットに対して、CoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS805)、パケットを送信するよう送信部71へ指示する(ステップS803)。一方、タイマの計測が既にスタートしている場合には、タイマがBC使用可能期間よりも大きいか否かを判断する(ステップS806)。大きい場合には、MN10が保持するCN20のバインディングキャッシュの通信終了後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させる必要があるか否かを判断し(ステップS807)、必要がある場合にはCoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS805)、パケットを送信するよう送信部71へ指示する(ステップS803)。
MN10のBC有効期間が、CN20が保持するBC有効期間よりも大きい場合、CN20の通信終了後経過時間タイマがBC有効期間よりも大きくなったとしても、MN10の通信終了後経過時間タイマは未だBC有効期間よりも大きくないため、S805において生成されたパケットをMN10が受信することで、バインディングキャッシュの通信終了後経過時間タイマがリセットされ、経路最適化の使用が開始される。一方、ステップS807において、MN10が保持するCN20のバインディングキャッシュの通信終了後経過時間タイマをリセットする必要がない場合は、送信するパケットをHAあてにカプセル化し(ステップS809)、カプセル化されたパケットを送信するよう送信部71へ指示する(ステップS803)。一方、ステップS806において、大きくない場合には、通信終了後経過時間タイマをリセットし(ステップS808)、パケットに対して、CoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS805)、パケットを送信するよう送信部71へ指示する(ステップS803)。これにより、MN10のバインディングキャッシュの通信終了後経過時間タイマがリセットされる。
受信パケット処理部75は、受信部73で受信したパケットに関する処理を行う機能を有している。受信パケット処理部75で処理されたパケット内のデータは、上位レイヤ78又は送信パケット生成部77に送られる。また、受信パケット処理部75及び上位レイヤ78は、MN10との通信が完了した時に、登録済み位置情報保持部74に保持されているMN10へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。
また、受信パケット処理部75は、MN10からパケットを受信した際に、登録済み位置情報保持部74を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部76に対して位置情報登録メッセージを生成し、MN10へ送信するよう指示する。
ここで、受信パケット処理部75における処理の一例について図9を用いて説明する。MN10からパケットを受信すると、まず、受信したパケットがHAによってカプセル化されて転送されたパケットであるか否かを判断する(ステップS901)。カプセル化されたパケットである場合は、HoAあてのパケットとして受信するために、デカプセル化を行う(ステップS902)。そして、デカプセル化した後のパケットにCoAを含むCoA指定オプションが付加されているかどうかを判断する(ステップS903)。
CoA指定オプションが付加されている場合には、MN10はバインディングキャッシュを持っているが、通信終了後経過時間タイマがあらかじめ決められた値(BC使用可能期間)よりも大きいためにCoAあてに直接送信しなかったものと判断し、登録済み位置情報の通信終了後経過時間タイマをリセットする(ステップS904)。一方、CoA指定オプションが付加されていない場合には、MN10はバインディングキャッシュを保持していないと判断し、登録済み位置情報を削除する(ステップS905)。登録済み位置情報を削除したあと、MN10に対して送信するパケットがあるか否かを判断し(ステップS906)、送信するパケットがある場合には、MN10にバインディングキャッシュが登録されていない場合のパケット送信方法として、HAあてにカプセル化し(ステップS907)、パケットを送信するよう送信部71へ指示する(ステップS908)。
一方、受信したパケットが、HAによってカプセル化されたパケットではなく、HoAを含むルーティングヘッダが付加されているパケットである場合には、HoAあてのパケットとして受信するために、ルーティングヘッダ内のHoAを宛先アドレスにセットし(ステップS909)、さらに登録済み位置情報の通信終了後経過時間タイマをリセットする(ステップS904)。通信終了後経過時間タイマをリセットした後、MN10に対して送信するパケットがあるか否かを判断し(ステップS910)、送信するパケットがある場合には、MN10にバインディングキャッシュが登録されている場合のパケット送信方法として、送信元アドレスにCoAをセットし、HoAを含むホームアドレスオプションを付加し(ステップS911)、パケットを送信するよう送信部71へ指示する(ステップS908)。なお、受信したパケットの送信元に対して送信するパケットがある場合の送信方法は、図8に示されている処理を実行した場合と同等の結果となる。
ここで、CN20が外部ネットワーク12に接続してCoA2を使用している場合に、CoA2に関するバインディングキャッシュを保持しているMN10がCN20へ通信を開始する場合を考える。MN10が保持するバインディングキャッシュの通信終了後経過時間タイマがBC使用可能期間よりも大きい場合、CN20は、HAによってカプセル化され、かつ内部パケットにCoA指定オプションが付加されているパケットをMN10から受信する。
CoA指定オプションに含まれているCoA2はCN20の現在の移動先アドレスを示しているので、CN20はMN10へ送信するパケットを、HAを経由しない経路最適化されたパスを使用して届けることができる。さらに、CN20は、CoA指定オプションに含まれているCoA2はCN20の現在の移動先アドレスを示しているので、MN10がまだ正しいバインディングキャッシュを保持していると判断できるため、新規にバインディングキャッシュを登録するための位置情報登録メッセージをMN10へ送信する必要がないと判断する。
次に、CN20が外部ネットワーク13に接続してCoA3を使用している場合に、CoA2に関するバインディングキャッシュを保持しているMN10がCN20へ通信を開始する場合を考える。MN10が保持するバインディングキャッシュの通信終了後経過時間タイマがBC使用可能期間よりも大きい場合、CN20は、HAによってカプセル化され、かつ内部パケットにCoA指定オプションが含まれているパケットをMN10から受信する。
CoA指定オプションに含まれているCoA2は、CN20の現在の移動先アドレスを示していないため、CN20はMN10へ送信するパケットを、HAを経由するパスを使用して届けなければならない。さらに、MN10の位置情報を正しい移動先アドレスで更新するために、位置情報登録メッセージをMN10へ送信する必要があると判断する。
なお、本発明の第1の実施の形態におけるMN10の機能の一部を、MN10の位置情報を管理しているHA14に適用した場合にも同様の効果を得ることができる。MN10はHA14に対して、図3に示すようなBC使用可能期間を含めたBUメッセージを送信する。HA14は、MN10から受信したBUメッセージ内のBC使用可能期間を、MN10のバインディングキャッシュに設定する。そして、MN10とCNとの間の通信が終了した後(バインディングキャッシュを用いた通信が行われていない状態になったとき)にタイマをスタートさせる。そのタイマは、MN10が再びそのバインディングキャッシュに登録されているCoAを用いてCNとの通信を再開した場合にリセットさせる。このため、MN10がしばらくの間通信をせずに、タイマがBC有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。この場合、HA14に、使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合(MN10が複数のインタフェースを保持しているケース)は、HA14は、次の転送先としてその他のバインディングキャッシュを選択して使用する。
一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもBC有効期間を超えている場合には、タイマの経過時間、またはBC使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、HA14は、バインディングキャッシュの使用保留を解除し、受信したパケットを登録されているCoA宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、HA14においてパケットロスとなってしまう代わりに、MN10が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ(CoAとしてHoAをセット)が存在する場合には、HA14はカプセル化せずにHoA宛にパケットを転送する。なお、MN10の他のバインディングキャッシュがない場合でも、MN10がホームネットワークに接続していることが分かる場合には、HoA宛に転送してもよい。
このように、本発明の第1の実施の形態におけるMN10及びCN20によって、CN20へパケットを送信する際に、MN10自身が保持しているCN20のバインディングキャッシュの通信終了後経過時間タイマを確認し、その経過時間の大きさによって、実際に送信するパケットに対してバインディングキャッシュのCoAを使用するか否かを判断することができる。
具体的には、そのタイマの値がBC使用可能期間よりも大きい(以前(最後)の通信から一定時間以上経過していることを示す)場合には、CN20が既に移動していて、そのバインディングキャッシュが有効でない可能性があると判断し、送信するパケットをCN20のHoAあてに送信する。これにより、CN20が既に移動していて新しいCoAを使用している場合でも、移動後のCoAに転送されるため、パケットがロスしてしまうことを防ぐことができるという効果が得られる。
さらに、MN10は、バインディングキャッシュがまだ登録されていることをCN20に対して示すために、バインディングキャッシュに保持されているCoAを含むCoA指定オプションをパケットに付加して送信するため、CN20は、MN10がまだ有効なバインディングキャッシュを保持していることを知ることができるため、バインディングキャッシュを新規に登録するための位置情報登録メッセージを送信する必要がなく、メッセージ送信に伴う処理負荷や、トラフィックを低減させることができるという効果が得られる。
また、CN20は、MN10へ通知するBC使用可能期間の値を通信状態、接続状態、ハンドオーバの発生頻度、通信データの種類、インタフェースの種類(セルラ、IEEE802.a/b/g/nなどのワイヤレスLAN、WiMAX)などに応じて、任意に設定することで、その時点で最も適切な選択をMN10へ促すことができる。
<第2の実施の形態>
図10は、本発明の第2の実施の形態におけるネットワークの構成の一例を示す構成図である。図1と図10の違いは、CN20が2つのインタフェースを保持しているという点である。IF1は外部ネットワーク12に接続しCoA2が割り当てられており、IF2は外部ネットワーク13に接続しCoA3が割り当てられている。
図10は、本発明の第2の実施の形態におけるネットワークの構成の一例を示す構成図である。図1と図10の違いは、CN20が2つのインタフェースを保持しているという点である。IF1は外部ネットワーク12に接続しCoA2が割り当てられており、IF2は外部ネットワーク13に接続しCoA3が割り当てられている。
HA14は、MN10のバインディングキャッシュとして、HoA1に対する移動先アドレスとしてCoA1が関連付けられた情報を保持している。また、HA15は、CN20のバインディングキャッシュとして、HoA2に対する移動先アドレスとしてCoA2とCoA3が関連付けられた情報を保持している。なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、CN20はMN10と同様にモバイルノードであってもよい。
本発明の第2の実施の形態におけるMN10の構成は、第1の実施の形態と同じであるため、図2を用いて説明する。第1の実施の形態と第2の実施の形態とで異なる点は、主に位置情報保持部25と送信パケット生成部27における処理である。ここで、複数のCoAを登録する場合のBUメッセージ(位置情報登録メッセージ)の構成の一例を図11に示す。図11に示されているように、それぞれの登録するCoA111、112に対してBU使用可能時間113、114が指定されている。なお、図12は、位置情報保持部25が保持するCN20のバインディングキャッシュの一例を示している。HoA2に関連付けられたCoA2、CoA3それぞれに対して、ライフタイム121、124、通信終了経過時間タイマ122、125、BC使用可能期間123、126が管理されている。
位置情報保持部25は、CN20の位置情報として、1つのHoAに対して複数のCoAが関連付けられたバインディングキャッシュを保持する。また、送信パケット生成部27は、パケットを生成する際に、位置情報保持部25を探索し、通信相手に関するバインディングキャッシュが存在するか否かを確認する。
ここで、送信パケット生成部27における処理の一例について図13を用いて説明する。CN20との通信を開始すると、まず、通信相手のCN20のバインディングキャッシュ(BC)が存在するか否かを判断し(ステップS1301)、存在する場合、その中に複数のCoAが登録されているか否かを判断する(ステップS1302)。複数のCoAが登録されている場合には、それぞれのCoAの通信終了後経過時間タイマを確認し、タイマがBC使用可能期間よりも小さいエントリがあるか否かを判断する(ステップS1303)。
該当するエントリがある場合にエントリが複数あるか否かを判断し(ステップS1304)、複数ある場合には、BC使用可能期間と通信終了後経過時間タイマとの差が最も大きいエントリを選択し(ステップS1305)、そのエントリのCoAを宛先アドレスにセットしてパケットを生成し(ステップS1306)、パケットを送信するよう送信部21へ指示する(ステップS1307)。該当するエントリが1つある場合には、そのエントリのCoAを宛先アドレスにセットしてパケットを生成し(ステップS1306)、パケットを送信するよう送信部21へ指示する(ステップS1307)。生成されるパケットは、宛先アドレスにCoAが設定され、HoAを含むルーティングヘッダが付加されたパケットである。
一方、ステップS1303において、該当するエントリがない場合には、登録(保持)されているバインディングキャッシュのCoAが、BC使用可能期間を既に経過しているCoAであることを示す情報をパケットに付加し(ステップS1308)、パケットを送信するよう送信部21へ指示する(ステップS1307)。この情報はCoA又はBIDであってもよいし、CoA指定オプションの中のフラグとして示されていてもよい。
なお、ステップS1301においてバインディングキャシュが存在しない場合には通信相手のCN20のHoAをパケットの宛先アドレスにセットし(ステップS1309)、パケットを送信するよう送信部21へ指示する(ステップS1307)。また、ステップS1302において複数のCoAが登録されていない場合、第1の実施の形態で説明した図5のステップS504以降の処理が行われる。
これにより、MN10は、登録されているCN20の複数のCoAの中で、CN20の現在の移動先アドレスを正しく示している可能性がもっとも高いCoAを選択してパケットを送信することが可能となる。
本発明の第2の実施の形態におけるCN20の構成は、第1の実施の形態と同じであるため、図7を用いて説明する。第1の実施の形態と第2の実施の形態とで異なる点は、主に受信パケット処理部75と送信パケット生成部77における処理である。受信パケット処理部75は、受信部73で受信したパケットに関する処理を行う機能を有している。受信パケット処理部75で処理されたパケット内のデータは、上位レイヤ78又は送信パケット生成部77に送られる。
また、受信パケット処理部75は、MN10との通信が完了した時に、登録済み位置情報保持部74に保持されている、MN10へ登録した位置情報の通信終了後経過時間タイマの計測をスタートさせる。また、受信パケット処理部75は、MN10からパケットを受信した際に、登録済み位置情報保持部74を参照して、受信したパケットの送信元ノードに対してバインディングキャッシュを登録しているか否かを判断し、登録していない場合には、位置情報登録メッセージ生成部76に対して位置情報登録メッセージを生成し、MN10へ送信するよう指示する。
なお、受信パケット処理部75は、図9に示す処理とほぼ同様の処理を行うが、CoA指定オプションには、複数のCoAが含まれているため、それぞれのCoAに対応する通信終了後経過時間タイマをリセットする。
<第3の実施の形態>
本発明の第3の実施の形態においても図1を用いて説明する。なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、以下の説明では、MN10と区別するために、MN10と通信を行うノードを通信相手という意味でCNと呼んでいるが、本発明におけるその実態はMN10と同様にモバイルノードである。つまり、CN20にとっての通信相手はMN10となり、MN10をCNと呼ぶこともできる。
本発明の第3の実施の形態においても図1を用いて説明する。なお、MN10及びCN20のホームネットワーク及びHAは、同一のホームネットワーク及びHAであってもよい。また、以下の説明では、MN10と区別するために、MN10と通信を行うノードを通信相手という意味でCNと呼んでいるが、本発明におけるその実態はMN10と同様にモバイルノードである。つまり、CN20にとっての通信相手はMN10となり、MN10をCNと呼ぶこともできる。
図14は、本発明の第3の実施の形態におけるMNの構成の一例を示す構成図である。MN10は、例えば図14に示す構成要素を備えている。送信部1401は、インタフェース1402を通じて、接続されているネットワーク(外部ネットワーク11)上のノードにパケットを送信する機能を有している。また、受信部1403は、インタフェース1402を通じて、接続されているネットワーク(外部ネットワーク11)上のノードからパケットを受信する機能を有している。
位置情報登録メッセージ処理部1404は、通信相手から受信した位置情報登録メッセージに関する処理を行い、その位置情報登録メッセージに含まれている通信相手のCoAをHoAに関連付け、バインディングキャッシュとして位置情報保持部1405に保持するよう指示する。さらに、位置情報登録メッセージの中に、受信ノードによるバインディングキャッシュの扱いを示す情報(BCタイプ情報)が含まれている場合、それらの情報もバインディングキャッシュの中に保持するよう指示する。
バインディングキャッシュの扱いを示す情報としては、後述する(1)、(2)、(3)のいずれかを示す情報である。特に(3)の場合において、BC有効期間(BC使用可能期間)も一緒に含まれている場合、BC有効期間の値を取得し、位置情報保持部1405に対して、登録するバインディングキャッシュの中に保持するよう指示する。なお、BC有効期間が位置情報登録メッセージに含まれていない場合には、MN10自身が適切なBC有効期間を生成するようにしてもよいし、任意のサーバから適切な値を取得するようにしてもよい。
図15は、BUメッセージを用いた場合の位置情報登録メッセージの構成の一例である。図15に示されているように、登録するCoA/BID1501と共に、BCタイプ情報1502、さらにはBC有効期間(BC使用可能期間)1503のフィールドが含まれている。なお、BC有効期間はBCタイプが(3)の場合に含まれる。受信パケット処理部1406は、受信部1403で受信したパケットに関する処理を行う機能を有している。受信パケット処理部1406で処理されたパケット内のデータは、上位レイヤ1407又は送信パケット生成部1408に送られる。
ここで、受信パケット処理部1406における処理の一例について図16を用いて説明する。まず、CN20からパケットを受信した際に(ステップS1601)、そのパケットが経路最適化を使用して送信されたパケットであるか否かを確認する(ステップS1602)。確認の方法としては、パケットにホームアドレスオプションが付加されているか否か、送信元アドレスがCN20のアドレスになっているか否かなどを確認する。経路最適化が使用されていない場合は、位置情報保持部1405を参照して、そのパケットの送信元ノードであるCN20に関するバインディングキャッシュを保持しているか否かを確認する(ステップS1603)。バインディングキャッシュを保持している場合には、BCタイプ情報を確認し(ステップS1604)、以下の(1)から(3)のいずれかを選択し、実行する。
(1)「バインディングキャッシュを削除する(ステップS1605)。」CN20のバインディングキャッシュを保持している時に、CN20から、経路最適化を使用していないパケットを受信した時、CN20のバインディングキャッシュを削除する。この場合、バインディングキャッシュが削除された後にMN10が送信するパケットは、CN20のCoAではなく、ホームアドレスあてに送信される。また、バインディングキャッシュを削除した際に、CN20に対して、CN20によって登録されたバインディングキャッシュが無効となったことを通知するためのBC無効通知メッセージを送信してもよい。なお、ステップS1605において、本発明の第1の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがBC有効期間よりも大きい場合に、バインディングキャッシュを削除すると判断してもよい。
(2)「バインディングキャッシュの使用を保留とする(ステップS1606)。」CN20のバインディングキャッシュを保持している時に、CN20から、経路最適化を使用していないパケットを受信した時、CN20のバインディングキャッシュの使用を保留とする。この場合、バインディングキャッシュの使用を保留とした後にMN10が送信するパケットは、CN20のCoAではなく、ホームアドレスあてに送信される。また、保留としたCN20のバインディングキャッシュの有効性を確認するためのBC確認メッセージをCN20へ送信するようBC確認メッセージ生成部1409へ指示してもよい。また、バインディングキャッシュの保留中に、CN20からのパケットが経路最適化を使用して送信されてきた場合は、保留を解消し、バインディングキャッシュの使用を再開する。なお、ステップS1606において、本発明の第1の実施の形態で述べた通信終了後経過時間タイマを参照し、通信終了後経過時間タイマがBC有効期間よりも大きい場合に、バインディングキャッシュを保留にすると判断してもよい。
(3)「タイマをスタートさせる(ステップS1607)。」CN20のバインディングキャッシュを保持している時に、CN20から、経路最適化を使用していないパケットを受信した時、通信開始後経過時間タイマをスタートさせる。このタイマをスタートさせた後は、前述の(2)の処理を行い、バインディングキャッシュの使用を保留とする(ステップS1608)。そして、タイマの経過時間がBC有効期間よりも大きくなったか否かを判断し(ステップS1609)、大きくなった場合は、前述の(1)の処理を行い、バインディングキャッシュを削除する(ステップS1610)。
なお、ステップS1602において、パケットが経路最適化を使用して送信されたパケットであると判断された場合、CN20のバインディングキャッシュを保持している(ステップS1611)として、そのバインディングキャッシュが使用保留となっているか否かを確認する(ステップS1612)。ステップS1612において、使用保留となっていない場合は、経路最適化に伴う処理を行った(ステップS1613)後、パケットに含まれるデータの受信処理を行う(ステップS1615)。一方、ステップS1612において、使用保留となっている場合は、そのバインディングキャッシュの使用保留を解除し(ステップS1614)、経路最適化に伴うパケット受信処理を行った(ステップS1613)後、パケットに含まれるデータの受信処理を行う(ステップS1615)。また、ステップS1603において、パケットの送信元ノードであるCN20に関するバインディングキャッシュを保持していないと判断された場合、パケットに含まれるデータの受信処理を行う(ステップS1615)。
なお、タイマをスタートさせた時点でバインディングキャッシュの使用を保留とせずに、タイマの経過時間がBC有効期間よりも小さい間は、バインディングキャッシュを使用可能としてもよい。この場合、タイマの経過時間がBC有効期間よりも大きくなった場合は、前述の(2)又は(3)のいずれかを選択して実行するようにしてもよいし、どちらか一方の処理を常に実行するようにしてもよい。
MN10による前述の(1)、(2)、(3)の選択方法として、例えば、前述のように、CN20からの位置情報登録メッセージの中に含まれているBCタイプ情報が使用される。なお、BCタイプ情報として(1)、(2)、(3)が同時に使用される必要はなく、例えば、(1)だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には(1)を使用し、セットされていない場合には、(1)を使用せずに通常のやり方でBCを管理する、ということを示すようにしてもよい。
また(2)だけを使用する場合、あるいは(3)だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。また、CN20から通信開始後経過時間タイマを使用するよう要求された場合には(3)を選択し、タイマの使用が要求されていない場合には、(1)又は(2)を選択するという方法でもよい。この場合、(3−1)を(3)の場合で(1)を実行する場合、(3−2)を(3)の場合で(2)を実行する場合として、BCタイプ情報で識別可能なようにしてもよい。
位置情報保持部1405は、通信相手から登録されたバインディングキャッシュ(BCタイプ情報やBC有効期間の情報を含む)を保持する。また、受信パケット処理部1406から、BCを削除又は使用保留とすること指示された場合、該当するCNのバインディングキャッシュを削除又は使用保留とする。さらに、通信相手の通信開始後経過時間タイマをスタートさせるよう指示を受けた場合、通信相手に対応するバインディングキャッシュの中のタイマをスタートさせる。
図17は、位置情報保持部1405が保持するCN20のバインディングキャッシュの一例を示している。図17に示すように、HoA2に関連付けられたCoA2に対して、ライフタイム1701、通信開始後経過時間タイマ1702、BC有効期間(BC使用可能期間)1703が関連付けられて管理されている。ライフタイム1701はBCのライフタイムを示している。
送信パケット生成部1408は、上位レイヤ1407又は受信パケット処理部1406の指示を受け、CN20へ送信するパケットを生成し、そのパケットに対してバインディングキャッシュを用いてパケットを送信するべきか否かを判断する。
ここで、送信パケット生成部1408における処理の一例について図18を用いて説明する。まず、CN20との通信を開始するためにCN20へパケットを送信する際に、そのパケットの送信先であるCN20に関するバインディングキャッシュを保持しているか否かを確認し(ステップS1801)、保持していない場合には、経路最適化を使用せずに、CN20へパケットを送信する。すなわち、CN20のHoAを宛先アドレスにセットする(ステップS1802)。
一方、保持している場合には、そのエントリが使用保留となっているか否かを確認する(ステップS1803)。使用保留となっている場合は、そのバインディングキャッシュを使用せずに、CN20へパケットを送信する。この場合のパケットは、宛先アドレスがCN20のホームアドレスで、送信元アドレスがMN10のホームアドレスとなっている(経路最適化を不使用)。一方、使用保留となっていない場合には、保持しているバインディングキャッシュを用いて、バインディングキャッシュに保持されているCN20のCoAを宛先アドレスにセットし(ステップS1804)、CN20のHoAを含むルーティングヘッダをパケットに付加して送信する(経路最適化を使用)(ステップS1805)。
BC確認メッセージ生成部1409は、受信パケット処理部1406からの指示を受け、CN20から経路最適化を使わずに送信されたパケットを受信した際に、CN20によって登録されているBCがまだ有効であるか否かを確認するためのBC確認メッセージを生成し、CN20へ送信するよう送信部1401に指示する。図19は、BUメッセージを用いた場合のBC確認メッセージのフォーマットの一例である。
図19に示されているように、このメッセージがBC確認メッセージであることを示す情報として、BC確認メッセージであることを示すモビリティヘッダ1901のタイプを用いてもよいし、モビリティヘッダ1901内の、確認するCoAを含むオプション内のフラグとして含まれていてもよい。なお、BC確認メッセージとしては、モバイルIPv6のモビリティヘッダにより構成されたメッセージを用いるのが望ましいが、CN20へ送信することができるメッセージであれば任意のメッセージを用いてもよい。また、CN20へ送信するデータパケットに付加するオプション(宛先オプションヘッダなど)として実現されてもよい。
BC確認応答メッセージ処理部1410は、CN20から受信したBC確認応答メッセージに関する処理を行う。MN10が送信したBC確認メッセージに対する応答として、BCが無効であることが通知された場合には、保持しているBCを削除する。この場合、以降MN10がCN20へ送信するパケットは、経路最適化を用いずに、CN20のHAを経由して送信される。一方、BCが有効であることが通知された場合には、BCの保持を継続し、CN20へ送信するパケットに経路最適化を使用してパケットを送信する。
図20は、本発明の第3の実施の形態におけるCN20の構成の一例を示す構成図である。CN20は、例えば図20に示す構成要素を備えている。送信部2001は、インタフェース2002を通じて、接続されているネットワーク(外部ネットワーク12)上のノードにパケットを送信する機能を有している。また、受信部2003は、インタフェース2002を通じて、接続されているネットワーク(外部ネットワーク12)上のノードからパケットを受信する機能を有している。
登録済み位置情報保持部2004は、通信相手(例えば、MN10)へバインディングキャッシュを登録したことを示す情報を保持する。また、受信パケット処理部2005、又は上位レイヤ2008から登録済み位置情報の通信開始後経過時間タイマの計測のスタートの指示を受けたときタイマをスタートさせる。つまり、通信相手から、経路最適化が使用されていないパケットを受信した場合に、通信開始後経過時間タイマが開始される。さらに、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、ライフタイムを更新するための位置情報登録メッセージを生成するよう位置情報登録メッセージ生成部2006に対して指示する。
位置情報登録メッセージ生成部2006は、送信パケット生成部2007又は受信パケット処理部2005からの指示を受け、通信相手に対してバインディングキャッシュを登録するための位置情報登録メッセージを生成する。また、位置情報登録メッセージ生成部2006は、登録済み位置情報保持部2004からの指示を受け、MN10へ登録しているバインディングキャッシュのライフタイムが終了しそうな場合に、MN10のライフタイムを更新するための位置情報登録メッセージを生成する。
さらに、登録するバインディングキャッシュに対する扱いを示すBCタイプ情報を付加してもよい。特に前述の(3)を使用することを選択した場合には、BC有効期間を位置情報登録メッセージの中に含め、送信部2001に対して送信するよう指示する。
なお、BC有効期間は、通信状態(通信状態悪い場合は小さい値を設定、通信状態良好の場合は大きい値を設定)、接続状態(接続状態悪い場合は小さい値を設定、接続状態良好の場合は大きい値を設定)、ハンドオーバの発生頻度(ハンドオーバ頻度高い場合は小さい値を設定、ハンドオーバ頻度低い場合は大きい値を設定)、通信データの種類(音声データ、動画データなどのリアルタイムデータ、制御メッセージなど)、インタフェースの種類(セルラ、WiMAX、WLAN)などに応じて、CN20及びMN10にとって適切な値を設定することが望ましい。また、プロトコルの種類(TCP、UDP、SIP、RTPなど)によって値が任意に定められていてもよい。さらに、通信相手であるCNによって値が任意に定められていてもよい。例えば、同一のオペレータに属するCNであるか否かによって値が任意に定められてもよい。
送信パケット生成部2007は、上位レイヤ2008又は受信パケット処理部2005から渡されたデータを通信相手へ送信するためのパケットを生成し、送信部2001へ渡して送信するよう指示する。パケットを生成する際に、送信パケット生成部2007は、登録済み位置情報保持部2004を探索し、パケットの宛先アドレスのノードに対してバインディングキャッシュが登録済みであるか否かを判断する。
BC確認メッセージ処理部2009は、MN10から受信したBC確認メッセージに関する処理を行い、登録済み位置情報保持部2004を参照して、BC確認メッセージに含まれる情報が示すCN20のBCが有効であるか否かを確認する。登録済み位置情報に、該当するBCが保持されている場合には、そのBCが有効であると判断し、MN10に対して、通知されたBCがまだ有効であることを示すBC確認応答メッセージを生成して送信するよう、BC確認応答メッセージ生成部2010へ指示する。
登録済み位置情報に、該当するBCが保持されていない場合には、そのBCはすでに無効であると判断し、MN10に対して、通知されたBCがすでに無効であることを示すBC確認応答メッセージを生成して送信するよう、BC確認応答メッセージ生成部2010へ指示する。なお、BCが有効であるか否かは、通知されたBCのCoAが有効であるか否か、つまりは、インタフェースにそのCoAが割り当てられているか否かを基にして判断してもよい。これにより、MN10へそのBCを登録していなかった場合であっても、MN10からの確認要求に応えることができる。
送信パケット生成部2007における処理の一例について図21を用いて説明する。パケット送信をするよう指示する際、送信パケット生成部2007は、MN10へ送信するパケットを生成し、さらにそのパケットの送信に、経路最適化を用いるべきか否かを判断する。その判断を行うために、まず登録済み位置情報保持部2004を参照し、現在の位置情報に関するBCをMN10へ登録しているか否かを確認する(ステップS2101)。MN10へ登録していることを示す登録済み位置情報を保持している場合は、MN10へ登録したバインディングキャッシュがどのBCタイプ情報として登録されているかを確認する(ステップS2102)。
BCタイプが(1)又は(2)であるか否かを判断し(ステップS2103)、BCタイプが(1)又は(2)である場合は、MN10のBCを削除又は保留とするか否かを判断する(ステップS2104)。BCタイプが(1)である場合、MN10に対して経路最適化を使用せずにパケットを送信すると、MN10はバインディングキャッシュを削除してしまう。そのため、MN10のバインディングキャッシュを削除させない場合は、経路最適化を使用して(ステップS2105)、パケットを送信する(ステップS2106)。一方、MN10のバインディングキャッシュを削除する場合は、経路最適化を使用せず(ステップS2107)にパケットを送信する(ステップS2106)。
BCタイプが(2)である場合、MN10に対して経路最適化を使用せずにパケットを送信すると、MN10はバインディングキャッシュの使用を保留としてしまう。そのため、MN10のバインディングキャッシュを使用保留とさせない場合は、経路最適化を使用して(ステップS2105)パケットを送信する(ステップS2106)。一方、MN10のバインディングキャッシュを保留とする場合は、経路最適化を使用せず(ステップS2107)にパケットを送信する(ステップS2106)。
また、ステップS2103において、BCタイプが(1)又は(2)でないと判断された場合、BCタイプが(3)であるか否かを判断し(ステップS2108)、BCタイプが(3)である場合、登録済み位置情報の通信開始後経過時間タイマを確認し、その値がBC有効時間よりも大きいか否かを判断し(ステップS2109)、大きい場合は、経路最適化を用いずに(ステップS2107)、通常のパケットを送信する(ステップS2106)。なお、タイマの値がBC有効時間よりも大きくなった場合、MN10に対しての登録済み位置情報を削除してもよい。この場合パケットを受信するMN10も同様に、通信開始後経過時間タイマを確認し、その値がBC有効期間よりも大きいため、CN20に関するバインディングキャッシュを削除する。
通常のパケットとは、送信元アドレスがCN20のHoAであり、宛先アドレスがMN10のHoAとなっているパケットを、送信元アドレスがCN20のCoAであり、宛先アドレスがHA2のアドレスとなっているヘッダでカプセル化されたパケットである。このパケットは、HA2によってデカプセル化され、MN10へ転送される。この場合、MN10に通知されているBCタイプ情報が(3−1)である場合は、CN20から経路最適化でないパケットを受信したMN10はバインディングキャッシュを削除するため、CN20も登録済み位置情報を削除する。一方、BCタイプ情報が(3−2)である場合は、CN20から経路最適化でないパケットを受信したMN10はバインディングキャッシュを使用保留とするため、CN20は、バインディングキャッシュの保留を解消する場合には、経路最適化したパケットを送信する。
一方、そのタイマがBC有効期間よりも小さい場合は、経路最適化を使用して送信してもよいし、使用せずに送信してもよい。MN10が保持しているCN20のバインディングキャッシュの通信開始後経過時間タイマをリセットさせ、バインディングキャッシュの使用保留を解除させるために、CoAを送信元アドレスにセットし、HoAを含むホームアドレスオプションを付加し(ステップS2105)、パケットを送信する(ステップS2106)。これにより、MN10のバインディングキャッシュの通信開始後経過時間タイマがリセットされ、経路最適化の使用が開始される。
なお、MN10が保持するCN20のバインディングキャッシュの通信開始後経過時間タイマをリセットする必要がない場合は、経路最適化を使用せずに(ステップS2107)、パケットを送信する(ステップS2106)。経路最適化を使用した場合のパケットは、送信元アドレスがCN20のCoAで、宛先アドレスがMN10のHoAで、CN20のHoAを含むホームアドレスオプションが付加されたパケットである。なお、ステップS2101において、MN10へ登録していることを示す登録済み位置情報を保持していない場合、HAあてにカプセル化し(ステップS2110)、パケットを送信する(ステップS2106)。
ここで、CN20が外部ネットワーク12に接続してCoA2を使用している場合に、CN20が、BCタイプが(3)のBCを登録しているMN10へ通信を開始する場合を考える。CN20が保持する登録済み位置情報の通信開始後経過時間タイマがBC有効期間よりも大きい場合、CN20は経路最適化を使用せずに、通常のパケットをMN10へ送信する。この場合、MN10は、CN20に関するBCを保持しているにもかかわらず、経路最適化が使用されていないパケットを受信するため、通信開始後経過時間タイマをスタートさせる。
また、BCタイプが(1)であるとき、CN20のハンドオーバの発生が迫っている場合や、ハンドオーバ処理の実行中である場合には、MN10へ登録しているCoAを使用してパケットを送信することが可能であったとしても、経路最適化を使用せずにパケットを送信することを選択してもよい。これにより、MN10は、CN20からパケットを受信した時点でバインディングキャッシュを削除するため、ハンドオーバ後にMN10へバインディングキャッシュを削除するためのメッセージや、バインディングキャッシュを更新するためのメッセージを送信する必要をなくすことができる。
また、MN10へバインディングキャッシュを登録していない場合、つまりCN20が移動してMN10へ登録しているCoAと異なるCoAを使用している場合は、新しいCoAをMN10へ登録するまでは、新しいCoAを使ったパケットをMN10へ送信することはできないので、HAを経由したパケット送信を行う。なお、CN20がホームネットワークに移動してCoAを持っていない場合も同様に、HAを経由したパケット送信を行う。
このように、本発明の第3の実施の形態におけるMN10及びCN20によって、MN10がCN20のバインディングキャッシュを保持しているにもかかわらず、MN10がCN20から受信したパケットが経路最適化されずに送信されてきた場合に、CN20のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、MN10が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。
また、バインディングキャッシュを保留とし、さらにはタイマの値がBC有効期間よりも大きくなったときにバインディングキャッシュを削除することで、CN20が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。
また、CN20が位置情報登録メッセージの中でBCタイプ情報を通知することで、CN20にとって好ましい処理を行うようMN10へ指示することができ、CN20の状況に応じた適切な処理をMN10へ実行させることができる。例えば、MN10へBCタイプを(1)として登録したバインディングキャッシュが、MN10との通信が終了した後に残っていたとしても、CN20がMN10と通信を再開する際に、経路最適化を使用せずにパケットを送信すれば、MN10によって古いバインディングキャッシュが削除されるため、MN10によって誤使用されるのを防ぐことができ、経路最適化の使用にともなう処理負荷を軽減することができる。
また、(1)を使用することにより、MN10と通信をしているCN20が、外部ネットワークからホームネットワークにハンドオーバした場合であっても、MN10に登録されているバインディングキャッシュを削除することを要求するメッセージをMN10に送信する必要がなくなり、通常のパケット送信を行うだけでバインディングキャッシュを削除することができるため、メッセージ送信に伴う処理負荷を軽減することができる。
なお、本発明の第3の実施の形態におけるMN10の機能の一部を、MN10の位置情報を管理しているHA14に適用した場合にも同様の効果を得ることができる。MN10はHA14に対して、図15示すようなBCタイプを含めたBUメッセージを送信する。HA14は、MN10から受信したBUメッセージ内のBCタイプを、MN10のバインディングキャッシュに設定する。そして、HA14が、MN10からこれまでと異なるCoAが用いられたパケットを受信した場合、BCタイプに応じてバインディングキャッシュの扱いを判断する。例えば、BCタイプが(1)である場合は、HA14はバインディングキャッシュを削除する。また、BCタイプが(2)である場合は、HA14はバインディングキャッシュを使用保留とする。なお、BCタイプが(3−1)または(3−2)である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がBC有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、MN10が再びそのバインディングキャッシュに登録されているCoAを用いてCNとの通信を再開した場合にリセットさせる。このため、MN10がしばらくの間通信をせずに、タイマがBC有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。
HA14に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合(MN10が複数のインタフェースを保持しているケース)は、HA14は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもBC有効期間を超えている場合には、タイマの経過時間、またはBC使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、HA14は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているCoA宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、HA14においてパケットロスとなってしまう代わりに、MN10が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ(CoAとしてHoAをセット)が存在する場合には、HA14はカプセル化せずにHoA宛にパケットを転送する。なお、MN10の他のバインディングキャッシュがない場合でも、MN10がホームネットワークに接続していることが分かる場合には、HoA宛に転送してもよい。
<第4の実施の形態>
本発明の第4の実施の形態は、CN20からMN10へ登録される位置情報であるBCが、CN20とMN10との間で行われる通信(セッション、フロー)と関連付けられており、MN10は、CN20との通信が終了した際に、本発明の第3の実施の形態で述べた(1)、(2)、(3)のいずれかを選択し実行する。なお、第3の実施の形態と同様に、BCタイプ情報として(1)、(2)、(3)が同時に使用される必要はなく、例えば(1)だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には(1)を使用し、セットされていない場合には、(1)を使用せずに通常のやり方でBCを管理する、ということを示すようにしてもよい。また(2)だけを使用する場合、あるいは(3)だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。
本発明の第4の実施の形態は、CN20からMN10へ登録される位置情報であるBCが、CN20とMN10との間で行われる通信(セッション、フロー)と関連付けられており、MN10は、CN20との通信が終了した際に、本発明の第3の実施の形態で述べた(1)、(2)、(3)のいずれかを選択し実行する。なお、第3の実施の形態と同様に、BCタイプ情報として(1)、(2)、(3)が同時に使用される必要はなく、例えば(1)だけを使用する場合には、位置情報登録メッセージの中にフラグを付加し、そのフラグがセットされている場合には(1)を使用し、セットされていない場合には、(1)を使用せずに通常のやり方でBCを管理する、ということを示すようにしてもよい。また(2)だけを使用する場合、あるいは(3)だけを使用する場合などにおいても、同様にフラグを用いて、使用の有無を受信ノードに対して通知することができる。
また、CN20から通信開始後経過時間タイマを使用するよう要求された場合に(3)を選択し、タイマの使用が要求されていない場合には(1)又は(2)を選択するという方法でもよい。この場合、(3−1)を(3)の場合で(1)を実行する場合、(3−2)を(3)の場合で(2)を実行する場合として、BCタイプ情報で識別可能なようにしてもよい。
本発明の第4の実施の形態におけるネットワーク構成は、図1に示すものと同じであるため説明を省略する。図22は、本発明の第4の実施の形態におけるMN10の構成の一例を示す構成図である。MN10は、例えば図22に示す構成要素を備えている。送信部2201は、インタフェース2202を通じて、接続されているネットワーク(外部ネットワーク11)上のノードにパケットを送信する機能を有している。また、受信部2203は、インタフェース2202を通じて、接続されているネットワーク(外部ネットワーク11)上のノードからパケットを受信する機能を有している。
位置情報登録メッセージ処理部2204は、CN20から受信した位置情報登録メッセージに含まれている位置情報を取得し、位置情報保持部2205に保持する。さらにBCタイプ情報も含まれている場合は、BCタイプ情報も取得し保持する。この場合、特に前述の(3)が指定されている時に、BC有効期間(BC使用可能期間)の値も含まれている場合には、その値も取得し保持する。
さらに、本発明の第3の実施の形態における、CN20から経路最適化が使用されていないパケットを受信したことをトリガとして処理を実行するという方法と異なる形態として、登録される位置情報がCN20との通信(セッション)に関連付けられていて、通信が終了したことをトリガとして処理を実行する。この処理を要求する情報として、位置情報登録メッセージの中に通信関連付け情報(フラグなど)が含まれている場合は、その情報を取得し位置情報保持部2205に保持する。なお、通信関連付け情報は、本発明の第3の実施の形態におけるBCタイプ情報の1つとして通知されてもよい。
また、位置情報登録メッセージ処理部2204は、通信の終了を検出するために、CN20に関する情報を通信終了判断部2206に対して通知し、CN20との通信(セッション)が終了したときに、CN20との通信(セッション)が終了したことを位置情報登録メッセージ処理部2204へ通知するように要求する。
なお、登録されるバインディングに関連付けられる通信を特定するための情報を位置情報登録メッセージに含めてもよい。この場合、通信終了判断部2206に対しては、CN20に関する情報と共に、通信を特定するための情報も通知される。通信を特定する情報としては、特定のセッションを表すセッションIDや、特定のフローを表すフローID、アドレス(あて先アドレス、送信元アドレス)やポート番号、プロトコルIDなど、CN20とMN10との間で行われる通信(セッション、フロー)の一部、あるいは全体を現すことができる情報であれば、任意の情報を用いることができる。なお、フロー情報がすでに登録済みである場合は、その情報を指すフローIDのみを含めるだけでよい。
通信終了判断部2206は、通信相手との通信の状態を監視し、CN20との通信が終了したことを検出した場合には、位置情報登録メッセージ処理部へ通信の終了を通知する。通信の終了の通知を受けた位置情報登録メッセージ処理部は、位置情報保持部2205を参照し、CN20のバインディングキャッシュに通信関連付け情報が保持されている場合には、そのバインディングキャッシュを削除する。また、通信関連付け情報とは別に、本発明の第3の実施の形態で述べたBCタイプが示されている場合には、CN20のバインディングキャッシュのBCタイプ情報に従い処理を行ってもよい。BCタイプ情報が(1)の場合は、CN20との通信が終了したことを通知されたときに、CN20のバインディングキャッシュを削除させる。この場合は、上述のように、バインディングキャッシュのタイプが通信関連付け情報のタイプである場合と同様である。
一方、BCタイプ情報が(2)の場合は、CN20のバインディングキャッシュの使用を保留とさせる。さらに、BCタイプ情報が(3)の場合は、CN20との通信が終了したときに、通信終了後経過時間タイマをスタートさせる。この場合、MN10が再びCN20と通信を開始する際、及びCN20から再び開始された通信を受信する際に、通信終了後経過時間タイマとBC有効期間を比較して行う処理に関しては、本発明の第1、及び第2の実施の形態で述べた、通信終了後経過時間タイマとBC有効期間を比較して行う処理と同様であるため、説明を省略する。また、BCタイプ情報が(3)の場合は、CN20との通信が終了したときに、通信開始後経過時間タイマとBC有効期間を比較して、タイマの値がBC有効期間よりも大きい場合に、バインディングキャッシュを削除し、一方小さい場合には、バインディングキャッシュを削除しないと判断してもよい。
通信終了判断部2206が、CN20との通信が終了したことを検出する方法としては、上位レイヤ2207に対して問い合わせて、通信が終了したか否かを確認する方法や、上位レイヤ2207に通知を依頼する方法などがある。また、CN20との間で送受信されているパケットを監視し、上位レイヤ2207によって使われているプロトコルの通信の終了を示すパケット(例えば、TCPのFINメッセージ、ACKメッセージや、SIPのBYEメッセージ、ACKメッセージなど)を検出した際に、通信の終了を認識してもよい。また、一定時間通信(ライフタイムが有効期限切れ)が行われていない場合に、CN20との通信が終了したと判断することもできる。
また、位置情報登録メッセージ処理部2204は、通信終了判断部2206、又は上位レイヤ2207に対して、保持しているBCのCN20との通信が終了しているかどうかを確認してもよい。確認の結果、通信が終了していることが分かった場合には、その通信相手のバインディングキャッシュのBCタイプ情報に従い処理を行う。なお、通信が終了しているかどうかの確認を行うタイミングは、バインディングキャッシュのライフタイムの残存時間や、CN20との通信を開始してからの経過時間、ハンドオーバの発生が迫っている場合などに基づいて判断されてもよい。
なお、特定の通信が指定されている場合には、CN20との通信において、その指定された通信が終了した場合に上記の処理を実行してもよい。なお、この通信終了判断部2206の処理が上位レイヤ2207によって実現され、上位レイヤ2207から位置情報登録メッセージ処理部2204に対して、CN20との通信が終了したことが通知されてもよい。
上位レイヤ2207は、位置情報登録メッセージ処理部2204、又は通信終了判断部2206から、CN20との通信が終了したか否かの問い合わせを受けた際に、通信が終了しているか否かの結果を返す。また、CN20との通信に関する情報を受け、その通信が終了した際に、通信が終了したことを通知する。位置情報保持部2205は、位置情報登録メッセージ処理部2204から、CN20のバインディングキャッシュの登録、保留、削除の指示を受け処理を実行する。
このように、本発明の第4の実施の形態におけるMN10及びCN20によって、CN20との通信が終了した時点で、MN10は、CN20のバインディングキャッシュを削除、保留、あるいは、通信開始後経過時間タイマをスタートさせることにより、MN10が無効となっているバインディングキャッシュを使用してしまうことによるパケットロスを防ぐことができる。また、バインディングキャッシュを保留とし、さらにはタイマの値がBC有効期間よりも大きくなったときにバインディングキャッシュ削除することで、CN20が一時的に経路最適化を使用しないことを選択した場合でも、不要にバインディングキャッシュを削除してしまうことを防ぐことができる。
また、CN20が位置情報登録メッセージの中でBCタイプ情報を通知することで、CN20にとって好ましい処理を行うようMN10へ指示することができ、CN20の状況に応じた適切な処理をMN10へ実行させることができる。例えば、MN10へBCタイプ情報を(1)として登録することで、MN10との通信が終了した後はCN20のバインディングキャッシュはMN10によって削除されるので、MN10によって誤使用されるのを防ぐことができる。また、(1)を使用することにより、MN10と通信が終了した後に、MN10に登録されているバインディングキャッシュを削除することを要求するメッセージをMN10に送信する必要がなくなり、メッセージ送信に伴う処理負荷を軽減することができる。
なお、本発明の第4の実施の形態におけるMN10の機能の一部を、MN10の位置情報を管理しているHA14に適用した場合にも同様の効果を得ることができる。MN10はHA14に対して、通信関連付け情報やフロー情報を含めたBUメッセージを送信する。HA14は、MN10から受信したBUメッセージ内の通信関連付け情報さらには、フロー情報などを、MN10のバインディングキャッシュに設定する。そして、HA14がMN10から受信したCNあてパケット、またはCNから受信したMN10あてのパケットが、バインディングキャッシュに関連付けられている通信(セッション、フロー)に一致するものであり、かつその通信が終了したことを検出した場合に、そのバインディングキャッシュを削除する。また、BCタイプが指定されている場合には、BCタイプに応じてバインディングキャッシュの扱いを判断する。例えば、BCタイプが(1)である場合は、上述のように、HA14はバインディングキャッシュを削除する。また、BCタイプが(2)である場合は、HA14はバインディングキャッシュを使用保留とする。なお、BCタイプが(3−1)または(3−2)である場合は、バインディングキャッシュを削除あるいは保留とする前に、タイマをスタートさせ、そのタイマの値がBC有効期間を超えた場合に、削除あるいは保留とする。この場合、タイマの値は、MN10が再びそのバインディングキャッシュに登録されているCoAを用いてCNとの通信を再開した場合にリセットさせる。このため、MN10がしばらくの間通信をせずに、タイマがBC有効期間を超えた場合には、そのバインディングキャッシュは転送先として使われずに、使用保留とされる。
HA14に、削除及び使用保留となったバインディングキャッシュ以外に、他のバインディングキャッシュがある場合(MN10が複数のインタフェースを保持しているケース)は、HA14は、次の転送先としてその他のバインディングキャッシュを選択して使用する。一方、他のバインディングキャッシュがあった場合でも、そのバインディングキャッシュのタイマもBC有効期間を超えている場合には、タイマの経過時間、またはBC使用可能期間からの超過時間が短い方を選択する。もしも他のバインディングキャッシュがない場合は、HA14は、バインディングキャッシュの削除あるいは使用保留を解除し、受信したパケットを登録されているCoA宛に転送する。これにより、有効である可能性が高いバインディングキャッシュを選択することができる。また、HA14においてパケットロスとなってしまう代わりに、MN10が接続しているネットワーク内のゲートウェイなどによる再転送やバッファリングの効果を期待することができる。なお、他のバインディングキャッシュとして、ホームネットワークに接続していることを示すバインディングキャッシュ(CoAとしてHoAをセット)が存在する場合には、HA14はカプセル化せずにHoA宛にパケットを転送する。なお、MN10の他のバインディングキャッシュがない場合でも、MN10がホームネットワークに接続していることが分かる場合には、HoA宛に転送してもよい。
なお、上記の本発明の実施の形態の説明で用いた各機能ブロックは、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されてもよいし、一部又はすべてを含むように1チップ化されてもよい。なお、ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応などが可能性としてあり得る。
本発明に係る移動端末は、パケットロスの発生を防ぎ、通信の遅延を防ぐことができ、また、無駄なBUメッセージの送信に伴う処理負荷やトラフィックを低減させることができるため、通信ネットワークを介して通信相手とパケット通信を行う移動端末などに有用である。
Claims (18)
- 移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、
前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、
前記通信端末と通信を開始する際、計測された前記経過時間が前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、
前記経過時間が前記バインディングキャッシュの有効時間を超えていると判断された場合、送信するパケットの宛先アドレスに前記通信端末のホームアドレスを設定して前記パケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。 - 前記パケット生成手段は、前記バインディングキャッシュの前記通信端末のアドレス情報を前記パケットに付加する請求項1に記載の移動端末。
- 前記バインディングキャッシュの有効時間の情報を含むメッセージを前記通信端末から受信する受信手段を更に備え、
前記記憶手段は、受信された前記メッセージに含まれる前記バインディングキャッシュの有効時間の情報を取得し記憶する請求項1又は2に記載の移動端末。 - 前記計測手段は、前記通信端末との通信が終了した際に前記経過時間の計測を開始する請求項1に記載の移動端末。
- 移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との最後の通信が終了してから新たに通信を開始するまでの経過時間を計測する計測手段と、
前記バインディングキャッシュの有効時間の情報を記憶する記憶手段と、
前記バインディングキャッシュ内に前記通信端末の複数のアドレス情報が含まれる場合、前記通信端末と通信を開始する際、計測された前記経過時間であって、それぞれの前記アドレス情報に対応する前記経過時間が、前記バインディングキャッシュの有効時間を超えているか否かを判断する判断手段と、
それぞれの前記アドレス情報に対応する前記経過時間のすべてが前記バインディングキャッシュの有効時間を超えていると判断された場合に、前記バインディングキャッシュ内の前記通信端末のアドレス情報が既に前記バインディングキャッシュの有効時間を経過しているアドレス情報である旨を含めてパケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。 - 移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末からのパケットを受信する受信手段と、
受信された前記パケットが前記移動端末のホームエージェントによってカプセル化されたパケットであるか否かを判断する判断手段と、
前記ホームエージェントによってカプセル化されたパケットであると判断された場合、送信元アドレスに前記移動端末自身のアドレス情報を設定し、前記移動端末自身のホームアドレスを含むホームアドレスオプションを付加したパケットを生成するパケット生成手段と、
生成された前記パケットを前記通信端末へ送信する送信手段とを、
備える移動端末。 - 前記カプセル化された前記パケットには、前記移動端末のアドレス情報が付加されている請求項6に記載の移動端末。
- 前記通信端末に対して、前記移動端末との通信が終了した際に、前記通信が終了してから新たに通信を開始するまでの経過時間の計測を開始するべき旨の指示を含むメッセージを生成する第1のメッセージ生成手段を更に備え、
前記送信手段は、生成された前記メッセージを前記通信端末へ送信する請求項6又は7に記載の移動端末。 - 前記通信端末が有する前記移動端末のバインディングキャッシュの有効時間の情報を含むメッセージを生成する第2のメッセージ生成手段を更に備え、
前記送信手段は、生成された前記メッセージを前記通信端末へ送信する請求項6に記載の移動端末。 - 前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合に、
前記移動端末自身に格納された、前記通信端末との通信が終了してから新たに通信が開始されるまでに計測される経過時間をリセットする処理手段を更に備える請求項6に記載の移動端末。 - 前記移動端末自身が複数のインタフェースを有し、前記受信手段によって受信されたパケットが前記移動端末のホームエージェントによってカプセル化されたパケットであると判断された場合、
前記処理手段は、各インタフェースのアドレス情報に対応する前記経過時間をリセットする請求項10に記載の移動端末。 - 移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末から送信されるパケットを受信する受信手段と、
受信された前記パケットが前記移動端末のホームエージェントを経由して送信されたパケットであるか否かを判断する判断手段と、
前記パケットが前記ホームエージェントを経由したパケットであると判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、
選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、
備える移動端末。 - 移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末との通信が終了したか否かを判断する判断手段と、
前記通信端末との通信が終了したと判断された場合、所定の記憶領域に前記バインディングキャッシュとともに格納された情報であって、前記バインディングキャッシュに対して行われる所定の処理に関する処理情報を選択する選択手段と、
選択された前記処理情報に基づいて前記バインディングキャッシュに対する処理を行う処理手段とを、
備える移動端末。 - 前記所定の処理は、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも1つの処理である請求項12又は13に記載の移動端末。
- 前記処理情報は、あらかじめ前記通信端末から送信されたメッセージに含まれている情報である請求12に記載の移動端末。
- 移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末から受信した前記パケットが前記通信端末のホームエージェントを経由したパケットである場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、
生成された前記メッセージを前記通信端末へ送信する送信手段とを、
備える移動端末。 - 移動端末の通信相手である通信端末と通信ネットワークを介して、前記通信端末のアドレス情報を含むバインディングキャッシュを利用してパケット通信を行う前記移動端末であって、
前記通信端末に前記バインディングキャッシュの登録をさせるためのメッセージを生成する際に、前記移動端末との通信が終了したと判断された場合に前記バインディングキャッシュに対して行わせる所定の処理に関する処理情報を含めて前記メッセージを生成するメッセージ生成手段と、
生成された前記メッセージを前記通信端末へ送信する送信手段とを、
備える移動端末。 - 前記所定の処理は、前記バインディングキャシュの削除、前記バインディングキャッシュの使用の保留、前記パケットを受信してから新たに通信を開始するまでの経過時間の計測の開始のうち、少なくとも1つの処理である請求項16又は17に記載の移動端末。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008056756 | 2008-03-06 | ||
JP2008056756 | 2008-03-06 | ||
JP2008194938 | 2008-07-29 | ||
JP2008194938 | 2008-07-29 | ||
PCT/JP2009/000953 WO2009110224A1 (ja) | 2008-03-06 | 2009-03-03 | 移動端末 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2009110224A1 true JPWO2009110224A1 (ja) | 2011-07-14 |
Family
ID=41055789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010501795A Withdrawn JPWO2009110224A1 (ja) | 2008-03-06 | 2009-03-03 | 移動端末 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110013602A1 (ja) |
JP (1) | JPWO2009110224A1 (ja) |
WO (1) | WO2009110224A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4322201B2 (ja) * | 2004-11-29 | 2009-08-26 | シャープ株式会社 | 通信装置及びゲートウェイ装置 |
JPWO2006093288A1 (ja) * | 2005-03-04 | 2008-08-07 | 松下電器産業株式会社 | 通信ノード及び通信制御方法 |
-
2009
- 2009-03-03 JP JP2010501795A patent/JPWO2009110224A1/ja not_active Withdrawn
- 2009-03-03 WO PCT/JP2009/000953 patent/WO2009110224A1/ja active Application Filing
- 2009-03-03 US US12/867,131 patent/US20110013602A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110013602A1 (en) | 2011-01-20 |
WO2009110224A1 (ja) | 2009-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5072864B2 (ja) | 通信システム及びドメイン管理装置 | |
JP4704441B2 (ja) | 通信経路最適化方法及び通信システム | |
US8477685B2 (en) | Enhanced mobility management at a mobile access gateway | |
JP4431112B2 (ja) | 端末及び通信システム | |
JP6382999B2 (ja) | 最適化されたルートモビリティ管理のシステムおよび方法 | |
US8175057B2 (en) | Method and system for fast handovers using dynamic router advertisements | |
JP5371987B2 (ja) | 移動端末及びネットワークノード | |
WO2009153943A1 (ja) | バインディングキャッシュ生成方法、バインディングキャッシュ生成システム、ホームエージェント及びモバイルノード | |
JPWO2009044539A1 (ja) | 通信制御方法及びネットワークノード並びに移動端末 | |
JP2008289110A (ja) | ネットワーク主導型移動管理プロトコルにおける通信経路を最適化するシステム、アクセスゲートウェイ、ホームエージェント、およびプログラム | |
EP2375796A1 (en) | Method, system and mobile access gateway for local routing optimization | |
JPWO2009057296A1 (ja) | 移動端末及びネットワークノード並びにパケット転送管理ノード | |
KR101323016B1 (ko) | 신속한 확립전-단절 매체 독립 핸드오버를 위한 방법 및 장치 | |
CN114731557A (zh) | 报文传输方法、通信装置和通信系统 | |
JPWO2009054127A1 (ja) | 通信システム及び移動端末並びにネットワークノード | |
WO2007022697A1 (fr) | Procede de communication entre un associe de communication ipv6 et le noeud mobile ipv6 ainsi que la passerelle de l'agent associe de communication | |
WO2009110224A1 (ja) | 移動端末 | |
JP4945529B2 (ja) | 移動端末、通信システム、及び通信方法 | |
JP2007281721A (ja) | 移動通信制御方法、移動通信システム及びルータ | |
JP5685992B2 (ja) | 移動通信システムにおける代理配信サーバおよび通信制御方法 | |
WO2014205832A1 (zh) | 传输数据的方法、边界网关和控制面装置 | |
US8995390B1 (en) | Method and apparatus for increasing the speed of handover in a wireless communications network | |
WO2010010693A1 (ja) | 垂直ハンドオフ方法、垂直ハンドオフシステム、ホームエージェント及びモバイルノード | |
US8634377B2 (en) | Method for improved handover in multiple interface application | |
KR20170027045A (ko) | 이동통신망에서 핸드오버 동안에 전송 처리량 유지 기법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120605 |