(57)【特許請求の範囲】
【請求項１】
モバイルＩＰ（Internet Protocol）に従ったパケット通信機能と通信経路の最適化機能とを備えた移動端末装置であって、
モバイルＩＰとは異なるプロトコルのセッション制御メッセージによって端末間にセッションを設定するためのセッション制御手段を有し、
該セッション制御手段が、モバイルＩＰのホーム網から離れた通信圏内（以下、在圏網と言う）で通信相手装置からのセッション制御メッセージを受信した時、上記通信経路の最適化機能による通信相手装置との間の通信経路の最適化が必要か否かを判断し、上記通信経路の最適化が必要であると判断した場合に上記通信経路の最適化を実行した後、上記セッション制御メッセージに対する応答メッセージを上記通信相手装置に送信し、上記最適化された通信経路で上記通信相手装置とのデータパケットの送受信を行うことを特徴とする移動端末装置。
【請求項２】
前記セッション制御手段が、在圏網で受信した前記セッション制御メッセージから前記通信相手装置のＩＰアドレスを特定し、該ＩＰアドレスに対して前記最適化機能による通信経路の最適化を実行することを特徴とする請求項１に記載の移動端末装置。
【請求項３】
予め割当てられたモバイルＩＰのホームアドレスと、前記セッション制御で使用すべき該移動端末の識別子とを記憶するための手段と、
在圏網でモバイルＩＰパケットを受信するために必要となるＩＰアドレス（以下、気付アドレスと言う）を取得した時、上記気付アドレスとホームアドレスとの対応関係をモバイルＩＰホームエージェントとなる第１サーバ装置に通知するための手段と、
上記移動端末識別子とホームアドレスとの対応関係をセッション制御用の第２サーバ装置に通知するための手段とを有し、
前記通信相手装置が上記第２サーバ装置に送信したセッション制御メッセージパケットが、上記ホームアドレスに従って上記第２サーバ装置から上記第１サーバ装置に転送され、該第１サーバ装置が記憶している上記気付アドレスに従って在圏網にいる該移動端末に転送されるようにしたことを特徴とする請求項１または請求項２に記載の移動端末装置。
【請求項４】
前記モバイルＩＰプロトコルＰがＩＰｖ６プロトコルであり、
前記セッション制御メッセージが、ＩＥＴＦ  ＲＦＣ３２６１で仕様化されたＳＩＰ（Session Initiation Protocol）に従うことを特徴とする請求項１〜請求項３の何れかに記載の移動端末装置。
【請求項５】
前記モバイルＩＰプロトコルＰがＩＰｖ６プロトコルであり、
前記セッション制御メッセージが、ＩＴＵ−Ｔ勧告Ｈ．３２３に従うことを特徴とする請求項１〜請求項３の何れかに記載の移動端末装置。
【請求項６】
それぞれモバイルＩＰ（Internet Protocol）に従ったパケット通信機能および通信経路の最適化機能と、モバイルＩＰとは異なるプロトコルをもつセッション制御機能とを備えた第１、第２端末装置間のパケット通信方法であって、
上記第１端末装置がモバイルＩＰのホーム網から離れた通信圏内（以下、在圏網と言う）に存在中に、上記第２端末装置から上記第１端末装置にセッション制御メッセージを送信するステップと、
上記セッション制御メッセージを受信した時、上記第１端末装置が、該第１端末装置と上記第２端末装置との間の通信経路最適化が必要か否かを判断し、上記通信経路最適化が必要と判断した場合に上記第２端末装置との間で通信経路最適化のための通信手順を実行するステップと、
上記通信経路の最適化が完了した後、上記第１端末装置が、上記セッション制御メッセージに対する応答メッセージを送信するステップとを有し、
上記第１、第２端末装置が、セッション制御が完了した後、データパケットを上記最適化された通信経路で通信することを特徴とする端末装置間のパケット通信方法。
【請求項７】
前記第２端末装置から送信したセッション制御メッセージが、セッション制御用の第２サーバ装置と前記第１端末装置のモバイルＩＰホームエージェントとなる第１サーバ装置とを経由して、前記第１端末装置に転送され、
上記第１端末装置が送信した前記応答メッセージが、上記第１、第２サーバ装置を経由して、上記第２端末装置に転送されることを特徴とする請求項６に記載の端末装置間のパケット通信方法。
【請求項８】
前記第１端末装置が、在圏網でモバイルＩＰパケットを受信するために必要となるＩＰアドレス（以下、気付アドレスと言う）を取得した時、前記第１のサーバ装置に自分のホームアドレスと上記気付アドレスとの対応関係を通知し、前記第２サーバ装置に自分の端末識別子とホームアドレスとの対応関係を通知し、
前記第２端末装置が、上記第１端末装置の識別子を指定して、前記セッション制御メッセージを上記第２サーバ装置に送信し、
該第２サーバ装置が上記セッション制御メッセージを上記第１端末装置のホームアドレス宛に転送し、上記セッション制御メッセージを捕捉した上記第１サーバ装置が、該セッション制御メッセージを上記気付アドレス宛に転送することを特徴とする請求項７に記載の端末装置間のパケット通信方法。
【請求項９】
前記第２サーバ装置が、前記セッション制御メッセージを宛先ＩＰアドレスが前記第１端末装置のホームアドレスを示すＩＰパケット形式で送信し、
前記第１サーバ装置が、上記第２サーバ装置から受信した上記セッション制御メッセージを含むＩＰパケットを宛先アドレスが前記第１端末装置の気付アドレスを示すＩＰヘッダでカプセル化して、上記第１端末装置に転送することを特徴とする請求項８に記載の端末装置間のパケット通信方法。
【請求項１０】
前記第２サーバ装置が、前記第１サーバ装置から前記第１端末装置のホームアドレスと気付アドレスとの対応関係を入手するステップを有し、
前記第２端末装置が、前記セッション制御メッセージを宛先ＩＰアドレスが前記第２サーバ装置のアドレスを示すＩＰパケット形式で送信し、
前記第２サーバ装置が、上記第２端末装置から受信したセッション制御メッセージを含むＩＰパケットを宛先アドレスが上記第１端末装置の気付アドレスを示すＩＰヘッダでカプセル化した形で前記第１端末装置に転送することを特徴とする請求項８に記載の端末装置間のパケット通信方法。
【請求項１１】
前記第１端末装置からホームアドレスと気付アドレスとの対応関係を通知された第１サーバ装置が、前記第２サーバ装置に対して上記第１端末装置のホームアドレスと該第１サーバ装置がもつホームエージェントＩＰアドレスとの対応関係を通知するステップを有し、
上記第２サーバ装置が、上記ホームエージェントＩＰアドレスによって上記第１サーバ装置を特定し、前記第１端末装置のホームアドレスと気付アドレスとの対応関係を入手するための通信を行うことを特徴とする請求項１０に記載の端末装置間のパケット通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動端末装置および端末間パケット通信方法に関し、特にモバイルＩＰ（Mobile IP）プロトコルを適用した移動端末装置および移動通信システムにおける端末間パケット通信方法に関する。
【０００２】
【従来の技術】
近年、移動体通信網へのＩＰ（Internet Protocol）適用に関する検討が活発化している。例えば、“Mobility Support in IPv6 <draft-ietf-mobileip-ipv6-18.txt>、 Work in Progress”（非特許文献１）が示すように、ＩＥＴＦ（Internet Engineering Task Force）では、Mobile IPv6仕様の標準化を進めている。Mobile IPv6は、IETF RFC3220（非特許文献２）で仕様化されたIPv4対応Mobile IPの機能を基本的に継承している。
【０００３】
Mobile IPv6網は、移動ノードＭＮ（Mobile Node）と、ホームエージェントＨＡ（Home Agent）と、通信相手ノードＣＮ（Correspondent Node）からなる。移動ノードＭＮには、移動しても変わることのない一意のＩＰアドレス（ホームアドレス）が付与される。ホームアドレスと同じプレフィックス値を持つリンクをホームリンクと呼ぶ。移動ノードＭＮは、ホームリンク以外のリンクに移動すると、在圏リンクで使用すべきＩＰアドレスを取得する。このアドレスは、気付アドレスＣｏＡ（Care of Address）と呼ばれる。
【０００４】
移動ノードＭＮは、在圏リンクに設置されたルータが定期的に送信するルータ広告（Router Advertisement）信号を受信し、受信したルータ広告信号がホームアドレス（または現在のＣｏＡ）とは異なるプレフィックス値をもつことを検出して、自分が別のリンクに移動したことを認識する。移動ノードＭＮは、自分が新たなリンクに移動したことを検知すると、ホームエージェントＨＡに対して位置登録要求（Binding Update）メッセージを送信する。
【０００５】
ホームエージェントＨＡは、上記制御メッセージ（Binding Update）を受信すると、受信メッセージが示す移動ノードＭＮのホームアドレスとＣｏＡとのバインディング情報をBinding Cache管理テーブルに記憶した後、上記移動ノードＭＮ宛のパケットを捕捉するために、隣接ルータに対して制御メッセージ（Gratuitous Neighbor Advertisement）をマルチキャストし、以後、上記移動ノードＭＮのプロキシサーバとして動作する。
【０００６】
移動ノードＭＮとノードＣＮがMobile IPv6仕様のメッセージを送受信するためには、ノードＣＮもMobile IPv6に対応している必要がある。Mobile IPv6仕様では、例えば、ノードＣＮから移動ノードＭＮへのパケット送信は、次の手順で行われる。
【０００７】
ノードＣＮは、移動ノードＭＮのホームアドレス宛にパケットを送信する。上記パケットは、ホームエージェントＨＡによって捕捉される。ホームエージェントＨＡは、上記ホームアドレス宛のパケットを捕捉すると、Binding Cache管理テーブルから、上記ホームアドレスと対応した気付アドレスＣｏＡを検索し、上記ＣｏＡを宛先アドレスとするＩＰヘッダを付加（カプセル化）した形で、上記受信パケットをネットワークに送信する。
【０００８】
上記ＣｏＡ宛のパケットは、移動ノードＭＮの在圏リンクに転送され、移動ノードＭＮによって受信される。移動ノードＭＮは、上記パケットを受信すると、ホームエージェントＨＡが付加したカプセルＩＰヘッダを除去（デカプセル化）し、通信相手ノードＣＮが送信したオリジナルパケットを復元する。この時、移動ノードＭＮは、受信パケットが示す送信元ノードＣＮのＩＰアドレスに基づいて、Binding Update Listを検索する。Binding Update Listは、移動ノードＭＮが備えるBinding Updateメッセージの送信先情報を記憶するためのテーブルである。
【０００９】
Binding Update ListにノードＣＮ用のエントリが存在しなかった場合、移動ノードＭＮは、ノードＣＮに対して自分のホームアドレスと気付アドレスＣｏＡとの対応関係を通知するための制御メッセージ（Binding Update）を送信する。
【００１０】
ノードＣＮは、上記Binding Updateメッセージを受信すると、受信メッセージが示す移動ノードＭＮのホームアドレスとＣｏＡとの対応関係を自分が備えるBinding Cacheテーブルに登録する。これによって、ノードＣＮは、その後に発生した移動ノードＭＮ宛パケットの宛先アドレスに上記Binding Cacheテーブルが示すアドレスＣｏＡを適用することにより、最適な通信経路でパケットを送信することが可能となる。尚、ノードＣＮから移動ノードＭＮ宛に送信されるＩＰパケットは、IPv6経路制御用の拡張ヘッダ部に上記移動ノードＭＮのホームアドレスを含む。
【００１１】
ＩＥＴＦは、例えば、“Route Optimization in Mobile IP <draft-ietf-mobileip-optim-11.txt> Work in Progress”（非特許文献３）が示すように、Mobile IPv4の経路最適化について審議中である。Mobile IPv4の経路最適化は、ホームエージェントＨＡから通信相手ノードＣＮに、移動ノードＭＮのホームアドレスと対応するＣｏＡを通知することによって実現される。
【００１２】
一方、ＩＰネットワーク分野では、音声をＩＰパケットで送信するＶｏＩＰ（Voice over IP）技術の検討も進められている。ＶｏＩＰでは、通信の開始前に通信装置間に仮想的な通話路（セッション）を設定しておき、ＩＰパケット化した音声データを上記通信路上で転送する。通信装置間のセッション確立、維持、切断の制御は、セッション制御プロトコルに従って行われる。
【００１３】
ＩＥＴＦは、ＩＰマルチメディア通信におけるセッションの確立と終了を行うためのプロトコルＳＩＰ(Session Initiation Protocol) (IETF RFC3261：非特許文献４)を仕様化した。ＳＩＰは、機能の拡張性が高いため、ＶｏＩＰのセッション制御プロトコルとして注目されている。
ＳＩＰは、ＴＣＰ(Transmission Control Protocol)やＵＤＰ(User Datagram Protocol)などのトランスポートメカニズムを利用したアプリケーションプロトコルである。また、ＳＩＰは、テキストベースのプロトコルであり、ＳＩＰメッセージは、要求または応答を搬送するヘッダ部と、セッション内容を記述するメッセージボディとから構成される。ＳＩＰのセッション記述には、例えば、ＳＤＰ(Session Description Protocol)(IETF RFC2327：非特許文献５、IETF RFC3266：非特許文献６)が適用される。
【００１４】
ＳＩＰは、クライアント・サーバモデルのアーキテクチャを採用しており、発信クライアントは、着信クライアントの代理サーバ（ＳＩＰサーバ）宛にＳＩＰ要求を送信する。ＳＩＰサーバは、例えば、ＤＮＳ(Domain Name System)などを用いて着信装置のアドレス解決を行い、クライアント装置間のセッションを確立する。
【００１５】
ＳＩＰサーバの動作モードには、その役割によってProxyモードとRedirectモードとがある。Proxyモードでは、発信クライアントと着信クライアントとの間のセッションの確立要求をProxy Serverが仲介する。Redirectモードでは、発信クライアントが、ＳＩＰサーバから着信先の情報を取得し、着信クライアントと直接通信する。
【００１６】
ProxyモードのＳＩＰサーバを介してＩＰ網の端末ｘが端末ｙと音声通信をする場合、端末ｘは、端末ｙとの通信に先立って、ＳＩＰサーバに呼設定要求（INVITE）メッセージを送信する。ＳＩＰサーバは、上記呼設定要求メッセージ(INVITE)を受信すると、端末ｙの位置情報を特定し、端末ｙに対して受信メッセージ(INVITE)を転送する。端末ｙは、上記呼設定要求を受信すると、呼の受け付けを示す応答（200 OK）メッセージを送信する。この応答メッセージは、呼設定要求が通過したＳＩＰサーバを経由して、端末ｘに送信される。
【００１７】
端末ｘは、上記応答メッセージを受信すると、端末ｙに応答確認（ACK）メッセージを送信する。上記応答確認（ACK）は、ＳＩＰサーバ経由、または端末ｘから端末ｙに直接送信され、端末ｙが上記応答確認（ACK）を受信すると、端末ｘと端末ｙとの間にセッションが確立される。通常、上記呼設定要求メッセージと応答メッセージには、端末ｘと端末ｙとの間でのデータパケット（音声パケット）の転送に必要なセッション記述情報を含んでおり、端末ｘ（端末ｙ）は、相手端末ｙ（端末ｘ）がセッション記述で指定した宛先アドレスに対して、データパケットを送信する。
【００１８】
ＳＩＰでは、通信相手をSIP URI(SIP Uniform Resource Identifiers)によって識別する。また、各クライアントは、自分の位置情報（例えば、ＩＰアドレス）をRegistrarに登録する。Registrarは、クライアントから受信した位置情報をLocation Serverに送信し、Location Serverは、各クライアントのSIP URIと位置情報の対応関係をＳＩＰ情報管理テーブルに記憶する。上記RegistrarとLocation Serverの機能は、ＳＩＰサーバに実装されてもよい。
【００１９】
【非特許文献１】
“Mobility Support in IPv6 <draft-ietf-mobileip-ipv6-18.txt>、 Work in Progress”
【非特許文献２】
IP Mobility Support for IPv4：IETF RFC3220
【非特許文献３】
“Route Optimization in Mobile IP <draft-ietf-mobileip-optim-11.txt> Work in Progress”
【非特許文献４】
SIP:Session Initiation Protocol：IETF RFC3261
【非特許文献５】
SDP:Session Description Protocol：IETF RFC2327
【非特許文献６】
Support for IPv6 in Session Description Protocol (SDP)：IETF RFC3266
【００２０】
【発明が解決しようとする課題】
モバイルＩＰの移動ノードＭＮが、モバイルＩＰのホーム網から離れた通信圏内（以下、在圏網と言う）に移動した場合、移動ノードＭＮが在圏網で取得した気付アドレスＣｏＡをモバイルＩＰのホームエージェントＨＡに通知することによって、ホームエージェントＨＡが上記移動ノードＭＮのプロキシとして動作する。通信相手端末ＣＮは、移動ノードＭＮのホームアドレス宛にパケットを送信する。上記パケットは、ホームエージェントＨＡによって捕捉され、宛先アドレスが移動ノードＭＮの気付アドレスを示すＩＰヘッダでカプセル化された形で、移動ノードＭＮに転送される。
【００２１】
然るに、通信相手ノードＣＮ（または移動ノードＭＮ）が移動ノードＭＮ（または通信相手ノードＣＮ）宛に送信するデータパケットは、移動ノードＭＮと通信相手ノードＣＮとの間でMobile IPの通信経路最適化処理が完了する迄は、ホームエージェントＨＡを経由する。この場合、移動ノードＭＮとホームエージェントＨＡとの間の通信は、オリジナルパケットにカプセル化ＩＰヘッダを付加した形式となるため、パケット転送制御のためのオーバーヘッドが増加し、宛先端末にパケットが到着する迄の遅延時間が大きくなると言う問題がある。
【００２２】
また、データパケットの交信中に通信経路の最適化処理が実行されると、経路最適化前のパケット転送時間と最適化後のパケット転送時間に差異が発生する。これらの問題は、Mobile IP通信網においてＶｏＩＰサービスを提供する場合に特に深刻化する。
【００２３】
本発明の目的は、Mobile IP通信網におけるデータパケットの転送遅延時間とその変動を少なくできる移動端末装置および端末間のパケット通信方法を提供することにある。
本発明の他の目的は、Mobile IP通信網における端末間の通信経路を適切なタイミングで最適化できる移動端末装置および端末間のパケット通信方法を提供することにある。
本発明の更に目的は、Mobile IP通信網におけるセッション制御用のサーバ装置と移動端末装置または通信相手装置との間のセッション制御メッセージの通信経路を適切なタイミングで最適化できる移動端末装置および端末間のパケット通信方法を提供することにある。
【００２４】
【課題を解決するための手段】
上記目的を達成するために、本発明によるモバイルＩＰ（Internet Protocol）に従ったパケット通信機能と通信経路の最適化機能とを備えた移動端末装置は、モバイルＩＰとは異なるプロトコルのセッション制御メッセージによって端末間にセッションを設定するためのセッション制御手段を有し、該セッション制御手段が、モバイルＩＰのホーム網から離れた通信圏内（以下、在圏網と言う）で通信相手装置からのセッション制御メッセージを受信した時、上記通信経路の最適化機能による通信相手装置との間の通信経路の最適化を実行した後、上記受信メッセージに対する応答メッセージを送信することを特徴とする。
上記セッション制御手段は、例えば、在圏網で受信したセッション制御メッセージから通信相手装置のＩＰアドレスを特定し、該ＩＰアドレスに対して上記最適化機能による通信経路の最適化を実行する。
【００２５】
更に詳述すると、本発明による移動端末装置は、予め割当てられたモバイルＩＰのホームアドレスと、セッション制御で使用すべき該移動端末の識別子とを記憶するための手段と、在圏網でモバイルＩＰパケットを受信するために必要となるＩＰアドレス（以下、気付アドレスと言う）を取得した時、上記気付アドレスとホームアドレスとの対応関係をモバイルＩＰホームエージェントとなる第１サーバ装置に通知するための手段と、上記移動端末識別子とホームアドレスとの対応関係をセッション制御用の第２サーバ装置に通知するための手段とを有し、
通信相手装置が上記第２サーバ装置に送信したセッション制御メッセージパケットが、上記ホームアドレスに従って上記第１サーバ装置によって捕捉され、該第１サーバ装置が記憶している上記気付アドレスに従って在圏網にいる該移動端末に転送されるようにしたことを特徴とする。
上記モバイルＩＰプロトコルＰは、例えば、ＩＰｖ６プロトコルであり、上記セッション制御メッセージは、例えば、ＩＥＴＦ  ＲＦＣ３２６１で仕様化されたＳＩＰ（Session Initiation Protocol）に従う。但し、セッション制御メッセージは、ＩＴＵ−Ｔ勧告Ｈ．３２３に従うものであってもよい。
【００２６】
本発明によるパケット通信方法は、それぞれモバイルＩＰ（Internet Protocol）に従ったパケット通信機能および通信経路の最適化機能と、モバイルＩＰとは異なるプロトコルをもつセッション制御機能とを備えた第１、第２端末装置との間において、
上記第１端末装置がモバイルＩＰのホーム網から離れた通信圏内（以下、在圏網と言う）に存在中に、上記第２端末装置から上記第１端末装置にセッション制御メッセージを送信するステップと、
上記セッション制御メッセージを受信した時、上記第１端末装置が、上記第２端末装置との間で通信経路最適化のための通信手順を実行するステップと、
上記通信経路の最適化が完了した後、上記第１端末装置が、上記セッション制御メッセージに対する応答メッセージを送信するステップとを有し、
上記第１、第２端末装置が、セッション制御が完了した後に発生するデータパケットを上記最適化された通信経路で通信することを特徴とする。
【００２７】
上記第２端末装置から送信したセッション制御メッセージは、例えば、セッション制御用の第２サーバ装置と上記第１端末装置のモバイルＩＰホームエージェントとなる第１サーバ装置とを経由して上記第１端末装置に転送され、上記第１端末装置が送信した前記応答メッセージは、上記第１、第２サーバ装置を経由して、上記第２端末装置に転送される。
【００２８】
更に詳述すると、本発明のパケット通信方法は、上記第１端末装置が、在圏網でモバイルＩＰパケットを受信するために必要となるＩＰアドレス（以下、気付アドレスと言う）を取得した時、上記第１のサーバ装置に自分のホームアドレスと上記気付アドレスとの対応関係を通知し、上記第２サーバ装置に自分の端末識別子とホームアドレスとの対応関係を通知し、上記第２端末装置が、上記第１端末装置の識別子を指定して、前記セッション制御メッセージを上記第２サーバ装置に送信し、該第２サーバ装置が上記セッション制御メッセージを上記第１端末装置のホームアドレス宛に転送し、上記セッション制御メッセージを捕捉した上記第１サーバ装置が、該セッション制御メッセージを上記気付アドレス宛に転送することを特徴とする。
【００２９】
本発明によるパケット通信方法の他の特徴は、上記第２サーバ装置が、上記第１サーバ装置から第１端末装置のホームアドレスと気付アドレスとの対応関係を入手するステップを有し、上記第２端末装置が、セッション制御メッセージを宛先ＩＰアドレスが上記第２サーバ装置のアドレスを示すモバイルＩＰパケット形式で送信し、上記第２サーバ装置が、上記第２端末装置から受信したセッション制御メッセージを含むＩＰパケットを宛先アドレスが上記第１端末装置の気付アドレスを示すＩＰヘッダでカプセル化して上記第１端末装置に転送することにある。
【００３０】
本発明によるパケット通信方法の更に他の特徴は、第１端末装置からホームアドレスと気付アドレスとの対応関係を通知された第１サーバ装置が、上記第２サーバ装置に対して上記第１端末装置のホームアドレスと該第１サーバ装置がもつホームエージェントＩＰアドレスとの対応関係を通知するステップを有し、上記第２サーバ装置が、上記ホームエージェントＩＰアドレスによって上記第１サーバ装置を特定し、上述した第１端末装置のホームアドレスと気付アドレスとの対応関係を入手するための通信を行うことにある。
本発明のその他の目的および特徴は、以下に図面を参照して行われる実施形態の説明から明らかになる。
【００３１】
【発明の実施の形態】
以下、本発明の実施例について図面を参照して説明する。
図１は、本発明を適用する通信網の構成例を示す。
１（１Ａ、１Ｂ、１Ｃ、・・・）は、ネットワーク５に接続された移動通信網用のルータであり、それぞれ無線基地局３（３Ａ、３Ｂ、３Ｃ、・・・）を収容している。２（２Ａ、２Ｂ）は、ネットワーク５に接続された一般的なルータであり、ルータ２Ａには、回線Ｌ１０、Ｌ２０を介して、ホームエージェント（ＨＡ）１０とＳＩＰサーバ２０が接続されている。また、ルータ２Ｂには、端末（またはホスト）４０が接続されている。
【００３２】
ホームエージェント１０は、回線Ｌ１１を介してＳＩＰサーバ２０に接続され、リンクＬ１２を介して複数の移動可能な端末３０ａ〜３０ｘを収容している。リンクＬ１２は、これらの移動端末（以下、移動ノードと言う）３０ａ〜３０ｘのホーム網となっている。
【００３３】
以下の実施例では、移動ノード３０ｘが、ホームリンク（以下、ホーム網と言う）Ｌ１２から他の通信圏（以下、在圏網と言う）、例えば、ルータ１Ａに接続された無線基地局３Ａが形成する通信領域７Ａに移動、または、通信領域７Ａからルータ１Ｂに接続された無線基地局３Ｂが形成する通信領域７Ｂに移動した状態で、端末４０と通信する場合の通信手順について説明する。本実施例において、在圏網７Ａ、７Ｂとホーム網Ｌ１２はMobile IPv6網であり、移動ノード３０ｘはMobile IPv6対応の移動ノード（ＭＮ）、端末４０はMobile IPv6対応の通信相手端末ＣＮとなっている。
【００３４】
ホームエージェント１０は、ホーム網Ｌ１２以外に領域に存在する移動ノードＭＮの位置情報を管理し、通信相手端末ＣＮが移動ノードＭＮのホームアドレス宛に送信するパケットを捕捉して、在圏網に位置する移動ノードＭＮにパケットを転送する機能を備える。
【００３５】
図２は、ホームエージェント１０の構成の１例を示す。
ホームエージェント１０は、回線Ｌ１０、Ｌ１１、Ｌ１２を収容するための入力回線インタフェース１１（１１−１〜１１−３）および出力回線インタフェース１２（１２−１〜１２−３）と、各入力回線インタフェース１１と内部バス１９との間に接続された受信バッファ１３（１３−１〜１３−３）と、各出力回線インタフェース１２と内部バス１９との間に接続された送信バッファ１４（１４−１〜１４−３）と、上記内部バス１９に接続されたプロセッサ１５、プログラムメモリ１６およびデータメモリ１７とからなっている。
【００３６】
ホームリンクＬ１２は、端末３０ａ〜３０ｘと対応した複数の回線からなり、これらの回線はハブ１８を介して入力回線インタフェース１１−３および出力回線インタフェース１２−３に接続されている。端末３０ａ〜３０ｘには、ホームアドレスとして、上記入力回線インタフェース１１−３がもつＩＰアドレスと同じプリフィックス値をもつＩＰアドレスが割当てられている。
【００３７】
プログラムメモリ１６は、上記プロセッサ１５によって実行されるプログラムとして、パケット送受信ルーチン１６１と、Mobile IPプロトコル処理機能を備えたMobile IPホームエージェント機能ルーチン１６２と、これらのルーチンを選択的に起動する基本制御ルーチン１６０を備えている。また、データメモリ１７には、上記Mobile IPホームエージェント機能ルーチン１６２が参照するBinding Cache管理テーブル１７１と、例えば、ルーティングテーブル等を含むその他のデータ領域１７５が形成されている。
【００３８】
受信バッファ１３−１〜１３−３に格納されたパケットは、パケット送受信ルーチン１６１によって次々と読み出され、基本制御ルーチン１６０に渡される。基本制御ルーチン１６０は、受信パケットの宛先アドレスを判定し、受信パケットがホーム網内の何れかの端末に送信すべきＩＰパケットの場合は、パケット送受信ルーチン１６１を介して、上記受信パケットを送信バッファ１４−３に転送する。カプセル化された受信パケットは、基本制御ルーチン１６０でデカプセル化される。宛先がホームエージェントとなっている受信パケットは、Mobile IPホームエージェント機能ルーチン１６２によって処理される。
【００３９】
図３は、Binding Cache管理テーブル１７１のテーブル構成の１例を示す。
Binding Cache管理テーブル１７１には、移動ノードＭＮのホームアドレス１７１１と対応した複数のBinding Cacheエントリ１７１０−１、１７１０−２、…が登録されている。各エントリは、移動ノードＭＮが在圏網で取得した気付アドレス（ＣｏＡ：Care of Address)１７１２と、Binding Cacheエントリの有効期間を示すライフタイム（Lifetime）１７１３と、移動ノードＭＮから受信した位置登録要求の認証用シーケンス番号１７１４と、その他の情報１７１５を示している。
【００４０】
図４は、ＳＩＰサーバ２０の構成の１例を示す。
ＳＩＰサーバ２０は、回線Ｌ２０、Ｌ１１を収容するための入力回線インタフェース２１（２１−１〜２１−１）および出力回線インタフェース２２（２２−１〜２２−２）と、各入力回線インタフェース２１と内部バス２９との間に接続された受信バッファ２３（２３−１〜２３−２）と、各出力回線インタフェース２２と内部バス２９との間に接続された送信バッファ２４（２４−１〜２４−２）と、上記内部バス２９に接続されたプロセッサ２５、プログラムメモリ２６およびデータメモリ２７とからなっている。
【００４１】
プログラムメモリ２６は、上記プロセッサ２５によって実行されるプログラムとして、パケット送受信ルーチン２６１と、ＳＩＰプロトコル処理機能を備えたＳＩＰサーバ機能ルーチン２６２と、Registrar機能ルーチン２６３およびLocationサーバ機能ルーチン２６４と、これらのルーチンを選択的に起動する基本制御ルーチン２６０を備えている。また、データメモリ２７には、上記Locationサーバ機能ルーチン２６４が参照するＳＩＰ情報管理テーブル２７１と、その他のデータ領域２７５が形成されている。
【００４２】
受信バッファ２３−１〜２３−２に格納されたパケットは、パケット送受信ルーチン２６１によって次々と読み出され、基本制御ルーチン２６０に渡される。基本制御ルーチン２６０は、受信パケットの種類を判定し、受信パケットをＳＩＰサーバ機能ルーチン２６２〜Locationサーバ機能ルーチン２６４に振り分け、これらのルーチンで処理されたパケットをパケット送受信ルーチン２６１を介して送信バッファ２４−１または２４−２に転送する。
【００４３】
図５は、ＳＩＰ情報管理テーブル２７１のテーブル構成の１例を示す。
ＳＩＰ情報管理テーブル２７１には、ＳＩＰ識別子（SIP-URI）２７１１と対応した複数のエントリ２７１０−１、２７１０−２、…が格納され、各エントリは、少なくとも、端末位置情報２７１２と、エントリの有効期限（Expires）２７１３と、ＳＩＰメッセージの識別に用いるCall-ID：２７１４およびシーケンス番号（CSeq）２７１５を含む。端末位置情報２７１２には、移動ノードのホームアドレスが登録される。
【００４４】
本実施例において、移動ノード３０ｘは、図６で詳述するように、Mobile IP通信機能とＳＩＰ通信機能を備えており、予めIPv6のホームアドレス（ＭＮホームアドレス）とＳＩＰ識別子が付与されている。移動ノード３０ｘは、ＳＩＰサーバ２０に対してＳＩＰ位置登録要求メッセージを送信することによって、上記ＳＩＰ情報管理テーブル２７１に、移動ノード３０ｘのＳＩＰ識別子とＭＮホームアドレスの対応を示すエントリを登録する。
【００４５】
図６は、移動ノード（ＭＮ）３０ｘの構成の１例を示す。
移動ノード３０ｘは、無線信号を送受信するための無線部３１と、上記無線部３１に接続された受信回路３２Ａおよび送信回路３２Ｂと、受信回路３２Ａと内部バス３９との間に接続された受信バッファ３３Ａと、送信回路３２Ｂと内部バス３９との間に接続された送信バッファ３３Ｂと、ホームリンクＬ１２に接続するためのネットワークインタフェース３４と、上記ネットワークインタフェース用の受信バッファ３５Ａおよび送信バッファ３５Ｂと、上記内部バス３９に接続されたプロセッサ３６、プログラムメモリ３７、データメモリ３８および入出力部３６０からなっている。入出力部３６０には、表示装置、音声入出力装置、入力キーなどが含まれる。
【００４６】
プログラムメモリ３７は、上記プロセッサ３６によって実行されるプログラムとして、パケット送受信ルーチン３７１と、Mobile IPプロトコル処理機能を備えたMobile IP端末機能ルーチン３７２と、ＳＩＰプロトコル処理機能を備えたＳＩＰクライアント機能ルーチン３７３と、複数のアプリケーションルーチン２７４と、これらのルーチンを選択的に起動する基本制御ルーチン３７０を備えている。
【００４７】
また、データメモリ３８には、上記Mobile IP端末機能ルーチン３７２が参照するBinding Update List管理テーブル３８１と、ＭＮホームアドレス、気付アドレスＣｏＡ、ＳＩＰ識別子等の情報が記憶されるその他のデータ領域３８２が形成されている。
【００４８】
受信バッファ３３Ａと３５Ａに格納されたパケットは、パケット送受信ルーチン３７１によって次々と読み出され、基本制御ルーチン３７０を介して、Mobile IP端末機能ルーチン３７２に渡される。Mobile IP端末機能ルーチン３７２は、受信パケットについて、Mobile IPv6のプロトコル処理を施し、受信パケットがMobile IPの制御メッセージを含む場合は自分で処理する。Mobile IP端末機能ルーチン３７２で生成された制御メッセージは、Mobile IPv6のプロトコル処理を施した後、基本制御ルーチン３７０とパケット送受信処理ルーチン３７１を介して、Mobile IPパケットとして送信バッファ３３Ａまたは３５Ｂに出力される。
【００４９】
また、受信パケットのペイロード部がＳＩＰ制御メッセージを含む場合は、受信メッセージをＳＩＰクライアント機能ルーチン３７３に渡し、ペイロード部が音声その他のユーザデータを含む場合は、受信データを該当するアプリケーション３７４に渡す。アプリケーション３７３で処理されたデータは、入出力部３６０に出力され、入出力部３６０から入力されたデータは、基本制御ルーチン３７０を介して、該当するアプリケーション３７４で処理される。ＳＩＰクライアント機能ルーチン３７３とアプリケーション３７４で生成された送信パケット情報は、Mobile IP端末機能ルーチン３７２でMobile IPv6のプロトコル処理を施した後、基本制御ルーチン３７０とパケット送受信処理ルーチン３７１を介して、Mobile IPパケットとして送信バッファ３３Ａまたは３５Ｂに出力される。
【００５０】
アプリケーション３７４と、ＳＩＰクライアント機能ルーチン３７３は、移動ノード３０ｘのホームアドレスを使用する。従って、移動ノード３０ｘがホームリンクを離れて在圏網７（７Ａ、７Ｂ、・・・）に移動した場合、ＳＩＰクライアント機能ルーチン３７３が出力するＳＩＰメッセージパケットおよびアプリケーション３７４が出力するデータパケットは、基本制御ルーチン３７０またはMobile IP端末機能ルーチン３７２によって、在圏網７で通信可能なアドレス体系をもつパケットに変換して通信網に送信される。
【００５１】
図７は、Binding Update List管理テーブル３８１のテーブル構成の１例を示す。
Binding Update List管理テーブル３８１は、Mobile IPv6における位置登録要求メッセージであるBinding Updateメッセージの宛先アドレス３８１１と対応した複数のエントリ３８１０−１、３８１０−２、・・・からなり、各エントリは、移動ノード（ＭＮ）のホームアドレス３８１２と、移動ノードが在圏網で取得した気付アドレス(ＣｏＡ)３８１３と、Binding Update Listエントリの有効期間（Lifetime）３８１４と、移動ノードが送信する位置登録要求の認証用シーケンス番号３８１５と、その他の情報３８１６を示している。
【００５２】
図８は、在圏網７Ａまたは７Ｂで移動ノード３０ｘが行う位置登録シーケンスを示す。
例えば、移動ノード３０ｘが在圏網７Ａから網７Ｂに移動した場合、移動ノード３０ｘは、在圏網７Ｂに位置するルータ１Ｂからルータ広告（Router Avertisement）メッセージを受信する（１０１）。ルータ広告メッセージは、図９に示すIPv6パケット５０のペイロード部５２に設定される。IPv6パケット５０は、送信元アドレス５１１、宛先アドレス５１２、拡張ヘッダ５１３とからなるIPv6ヘッダ５１を有し、送信元アドレス５１１には、ルータ１ＢのＩＰアドレスが設定され、宛先アドレス５１２には、全ての在圏網に共通のマルチキャストアドレスが設定される。尚、拡張ヘッダ５１３は、Mobile IPまたは特殊なパケット転送制御を行う場合に利用されるヘッダ部分であり、全てのIPv6パケットが拡張ヘッダ５１３をもつとは限らない。
【００５３】
ルータ広告（Router Avertisement）メッセージは、図１０に示すように、IPv6 ICMP部６１とオプション部６２とからなり、IPv6 ICMP部６１に、このメッセージがルータ広告であることを示すメッセージタイプ６１１と、Ｍビット６１２、Ｈビット６１３を含んでいる。Ｍビット６１２は、ＣｏＡの取得方法を示すビットであり、Ｍビットが“１”であれば、移動ノード３０ｘは、IPv6ステートフルアドレス自動構成方法に従って、図示しないアドレス生成サーバからアドレスＣｏＡを取得する（１０２）。Ｍビットが“０”の場合、移動ノード３０ｘは、IPv6ステートレスアドレス自動構成方法に従って、送信元アドレス５１１が示すルータアドレスの一部（プリフィックス部）に自分のＭＡＣアドレスを組み合せることによってＣｏＡを生成する。尚、Ｈビット６１３は、このメッセージの送信元がホームエージェント１０か否かを示しており、ホームリンクＬ１２に送信されるルータ広告メッセージのＨビットには、送信元がホームエージェント１０であることを示す“１”が設定される。
【００５４】
在圏網７ＢでＣｏＡを取得した移動ノード３０ｘは、Mobile IP端末機能ルーチン３７２によって、ホームエージェント１０に位置登録要求メッセージ“Binding Update”７０Ａを送信し（１０３）、Binding Update List管理テーブル３８１に登録するためのエントリとして、Binding Update送信先アドレス３８１１にホームエージェント１０のアドレスをもつ新たなエントリを生成する（１０４）。
【００５５】
上記Binding Updateメッセージ７０Ａは、図１１に示すように、IPv6宛先オプションヘッダ７１とIPv6モビリティヘッダ７２を有し、IPv6宛先オプションヘッダ７１は、送信元移動ノードのホームアドレスが設定されるホームアドレス・オプション７１１を含む。また、IPv6モビリティヘッダ７２は、このメッセージがBinding Updateであることを示すコードが設定されるメッセージタイプフィールド７２１と、シーケンス番号フィールド７２２、ライフタイムフィールド７２３、モビリティ・オプション７２４を含む。これらのヘッダ情報７１と７２は、図９に示したIPv6パケットの拡張ヘッダ５１３に設定される。
【００５６】
移動ノード３０ｘがホームエージェント１０に送信するBinding Updateメッセージは、IPv6パケットヘッダ５１の送信元ＩＰアドレス５１１に移動ノード３０ｘが在圏網で取得したＣｏＡが設定され、ホームアドレス・オプション７１１に移動ノード３０ｘのホームアドレスが設定され、ライフタイムフィールド７２３には“０”より大きい値が設定される。
【００５７】
IPv6パケットヘッダ５１の送信元ＩＰアドレス５１１には、移動ノード３０ｘのホームアドレスを設定してもよい。この場合、移動ノード３０ｘのＣｏＡはIPv6モビリティヘッダ７２のモビリティ・オプション７２４に定義されるAlternate Care-of Address optionsフィールドに設定される。
【００５８】
上記Binding Updateメッセージ７０Ａを受信したホームエージェント１０は、Mobile IPホームエージェント機能ルーチン１６２により、上記メッセージを判定し、Binding Cache管理テーブル１７１から移動ノード３０ｘのホームアドレスと対応するエントリを検索する。移動ノード３０ｘのホームアドレスは、上記メッセージのIPv6宛先オプションヘッダのホームアドレス・オプション７１１から抽出される。
【００５９】
Binding Cache管理テーブル１７１に移動ノード３０ｘのホームアドレスと対応したエントリが存在する場合は、ホームエージェント１０は、該当エントリのＣｏＡ１７１２とライフタイム１７１３を更新し、該当エントリが存在しない場合は、上記Binding Updateメッセージ７０Ａから抽出したＣｏＡ値を含む上記移動ノード３０ｘ用の新たなエントリを追加する（１０５）。ホームエージェント１０は、Proxy Neighbor Cacheを生成し、移動ノード３０ｘのプロキシとして動作する。この時、ホームエージェント１０は、隣接ノードに非要請ＮＡメッセージをマルチキャスト（１０６）した後、移動ノード３０ｘに対して、上記Binding Updateメッセージ７０Ａへの応答メッセージ（Binding ACK）７０Ｂを送信する（１０７）。
【００６０】
図１２は、Binding ACKメッセージ７０Ｂのフォーマットを示す。
Binding ACKメッセージ７０Ｂは、IPv6ルーティングヘッダ７３とIPv6モビリティヘッダ７２を有し、IPv6モビリティヘッダ７２のメッセージタイプフィールド７２１には、このメッセージがBinding ACKであることを示すコードが設定される。これらのヘッダ情報７３と７２は、図９に示したIPv6パケットの拡張ヘッダ５１３に格納される。
【００６１】
ホームエージェント１０が移動ノード３０ｘに送信するBinding ACKメッセージ７０Ｂは、送信元アドレス５１１にホームエージェント１０のＩＰアドレスを含み、IPv6パケットヘッダ５０の宛先アドレス５１２に前記Binding Updateメッセージ７０Ａの送信元アドレス５１１の値を含む。宛先アドレス５１１に移動ノード３０ｘのホームアドレス以外の値を設定する場合は、IPv6ルーティングヘッダ７３のホームアドレス・オプション７１１に移動ノード３０ｘのホームアドレスが設定される。
【００６２】
移動ノード３０ｘは、上記Binidng ACKメッセージ７０Ｂを受信すると、Mobile IP端末機能ルーチン３７２によって、既にステップ１０４で用意しておいた新たなエントリをBinding Update List管理テーブル３８１に登録（１０８）する。この後、ＳＩＰクライアント機能ルーチン３７３によって、ＳＩＰサーバ２０に対する端末位置登録シーケンスを開始する。
【００６３】
端末位置登録シーケンスにおいて、移動ノード３０ｘは、Binding Update List管理テーブル３８１からＳＩＰサーバ２０と対応するエントリを検索する（１１１）。Binding Update List管理テーブル３８１にＳＩＰサーバ２０と対応するエントリが未登録の場合は、移動ノード３０ｘは、ホームエージェント１０を経由して、ＳＩＰサーバ２０にＳＩＰ位置登録要求メッセージ（REGISTER）８０Ａを送信する。上記REGISTERメッセージ８０Ａを含むオリジナルＩＰパケットは、ホームエージェント宛の宛先アドレス５１２をもつIPv6ヘッダでカプセル化した形でホームエージェント１０に送信される（１１４Ｂ）。ホームエージェント１０は、受信パケットからカプセル化IPv6ヘッダを削除（デカプセル化）し、オリジナルＩＰパケットをＳＩＰサーバ２０に転送する（１１４）。
【００６４】
Binding Update List管理テーブル３８１にＳＩＰサーバ２０と対応するエントリが登録済みの場合、移動ノード３０ｘは、ＳＩＰサーバ２０に対して直接、ＳＩＰ位置登録要求メッセージ（REGISTER）８０Ａを送信する（１１５）。
【００６５】
図１３は、ＳＩＰメッセージのプロトコルスタックとＳＩＰメッセージを含むＩＰパケットのフォーマットを示す。ＳＩＰメッセージを含むＩＰパケットは、IPv6ヘッダ５１とTCP/UDPヘッダ５２Ａとペイロード５２Ｂとからなり、ＳＩＰメッセージはペイロード５２Ｂに設定される。
ＳＩＰメッセージは、ＳＩＰメッセージの種類と宛先を示すstart-line８１と、ＳＩＰパラメータを示すmessage-header８２と、端末間に論理的に設定されるコネクションの情報を示すmessage-body８３とで構成される。
【００６６】
図１４は、移動ノード３０ｘがＳＩＰサーバ２０に送信するＳＩＰ位置登録要求メッセージ（REGISTER）８０Ａの１例を示す。
REGISTERメッセージ８０ＡのStart-Line８１には、メッセージの種類（Method名）を示す“REGISTER”と、登録処理を実行すべきＳＩＰサーバ２０のドメイン名が設定される。また、message-header８２において、Toヘッダには、ＳＩＰ情報管理テーブル２７１の更新対象エントリを示すＳＩＰ識別子として、移動ノード３０ｘのSIP-URIの値、例えば、“userＭＮ＠home.com”が設定される。この場合、Fromヘッダにも、Toヘッダと同一のSIP-URI値が設定される。また、Contactヘッダには、ＳＩＰ情報管理テーブル２７１に登録すべき端末位置情報２７１２の値、例えば、移動ノード３０ｘのホームアドレス“userＭＮ＠mn6”が設定される。
【００６７】
図８に戻って、ＳＩＰサーバ２０は、上記ＳＩＰ位置登録要求メッセージ（REGISTER）を受信すると、ＳＩＰ情報管理テーブル２７１に新たなエントリ２７１０−ｎを登録する（１１６）。エントリ２７１０−ｎは、移動ノード３０ｘのSIP-URI(“userＭＮ＠home.com”)に対応する端末位置情報２７１２、エントリ有効期間２７１３、REGISTERメッセージの識別情報（Call-ID：２７１４とシーケンス番号２７１５）の値を示す。この場合、端末位置情報２７１２には、移動ノード３０ｘのホームアドレス（“userＭＮ＠mn6“）が設定され、エントリ有効期間２７１３、Call-ID：１７１４、シーケンス番号２７１５には、REGISTERメッセージ８０Ａのmessage-header８２から抽出されたExpiers、Call-ID、Cseqの値がそれぞれ設定される。
【００６８】
ＳＩＰサーバ２０は、上記ＳＩＰ情報管理テーブル２７１への新たなエントリの登録が終わると、移動ノード３０ｘに上記ＳＩＰ位置登録要求に対する応答メッセージ（“200 OK”）を送信する（１１７）。ＳＩＰ位置登録要求メッセージ８０Ａがホームエージェント１０を経由していた場合、上記応答メッセージは、ホームエージェント経由で移動ノード３０ｘに転送される。この場合、ＳＩＰサーバ２０が送信した応答メッセージを含むＩＰパケットは、ホームエージェント１０でＣｏＡを宛先アドレスとするＩＰヘッダでカプセル化して、移動ノード３０ｘに転送される（１１７Ｂ）。
【００６９】
移動ノード３０ｘは、上記応答メッセージを受信すると、Binding Update List管理テーブル３８１にＳＩＰサーバ２０と対応する新たなエントリを登録して（１１８）、ＳＩＰサーバ２０への端末位置登録シーケンスを終了する。Binding Update List管理テーブル３８１にＳＩＰサーバ２０と対応するエントリが既に登録済みの場合は、ステップ１１８は不要である。
【００７０】
上述したホームエージェント１０への位置登録とＳＩＰサーバ２０への位置登録は、移動ノード３０ｘが同一在圏網に留まっている場合でも、Binding Cache管理テーブル３８１とＳＩＰ情報管理テーブル２７１のエントリ有効期限を更新する目的で、所定の周期で繰り返して実行される。ホームエージェント１０への位置登録周期とＳＩＰサーバ２０への位置登録周期は必ずしも一致しない。
【００７１】
次に、上述したホームエージェント１０およびＳＩＰサーバ２０への端末位置登録が完了した後、移動ノード３０ｘと通信相手端末（ＣＮ）４０との間で実行されるＳＩＰによるセッション確立機能を利用したデータパケットの通信手順について説明する。
図１５は、移動ノード３０ｘに対して、ＳＩＰによるセッション確立機能を単純に適用した場合のデータ通信手順を示す。ここで、端末４０には、ＳＩＰメッセージの送信先として、ＳＩＰサーバ２０のアドレスが予め設定されているものと仮定する。
【００７２】
端末４０は、移動ノード３０ｘへのデータパケットの送信に先立って、ＳＩＰサーバ２０にＳＩＰメッセージ（INVITE）８０Ｂを含むＩＰパケット送信する（２０１）。
端末４０が送信する上記INVITEメッセージ８０Ｂは、例えば、図１６に示すように、start-line８１に、メッセージ種類（Method名）“INVITE”と、ＳＩＰメッセージの宛先情報として移動ノード３０ｘのSIP URI(“userＭＮ＠home.com”)を含む。message-header８２には、ViaヘッダにRequestを処理した端末４０の情報（“SIP/2.0/UDP cn6”）を含み、Toヘッダに移動ノード３０ｘのSIP URI(“userＭＮ＠home.com”)、Fromヘッダに端末４０のSIP URI(“userＣＮ＠home.com”)とtag情報を含む。message-body８３には、”c=”として、端末４０におけるデータパケットの受信アドレス(“cn6”)が設定されている。
【００７３】
上記ＳＩＰメッセージ（INVITE）を含むＩＰパケットを受信したＳＩＰサーバ２０は、ＳＩＰサーバ機能ルーチン２６２によって、ＳＩＰ情報管理テーブル２７１から、上記受信メッセージのStart-line８１が示すSIP-URIと対応するエントリを検索し、該エントリの端末位置情報２７１２が示す移動ノード３０ｘのホームアドレス宛にＳＩＰメッセージ（INVITE）パケットを転送する（２０１Ａ）。上記ＩＰパケットの送信元アドレスにはＳＩＰサーバ２０のアドレスが設定されている。
【００７４】
ホームエージェント１０は、上記ＳＩＰメッセージパケットを捕捉すると、受信パケットに移動ノード３０ｘのＣｏＡを宛先アドレスとするIPv6ヘッダを付加して、カプセル化ＩＰパケットとして網５に転送する（２０１Ｂ）。カプセル化ヘッダの送信元アドレスにはホームエージェントＨＡ1のＩＰアドレスが設定される。
【００７５】
移動ノード３０ｘは、上記ＳＩＰメッセージ（INVITE）パケットを受信すると、ＳＩＰクライアント機能ルーチン３７３を起動して、ＳＩＰ応答メッセージ（“200 OK”）を含むＳＩＰサーバ２０宛のＩＰパケットを生成する。このＩＰパケットは、宛先アドレスとしてホームエージェント１０のアドレスを含むIPv6ヘッダでカプセル化して、ホームエージェント１０に送信される（２０２Ｂ）。上記応答メッセージパケットは、ホームエージェント１０においてカプセル化ヘッダが除去され、ＳＩＰサーバ２０宛のＩＰパケットに戻してＳＩＰサーバ２０に転送され（２０２Ａ）、ＳＩＰサーバ２０で宛先アドレスを書き換えて、端末４０に転送される（２０２）。
【００７６】
端末４０は、上記ＳＩＰ応答メッセージを受信すると、ＳＩＰサーバ２０に対して、ＳＩＰ応答確認メッセージ（ACK）を含むＩＰパケットを送信する（２０３）。上記ＳＩＰ応答確認メッセージ（ACK）は、ＳＩＰメッセージ（INVITE）と同様の手順（２０３Ａ、２０３Ｂ）で、移動ノード３０ｘに転送される。
【００７７】
移動ノード３０ｘが上記ＳＩＰ応答確認メッセージ（ACK）パケットを受信することによって、端末４０と移動ノード３０ｘとの間に論理的なセッションが確立され、ホームエージェント１０を経由した端末４０と移動ノード３０ｘとのデータパケット通信が可能になる。
【００７８】
端末４０から移動ノード３０ｘにデータパケットを送信する時、端末４０は、移動ノード３０ｘのホームアドレスに基づいて自らのBinding Cache管理テーブルを検索する。Binding Cache管理テーブルに移動ノード３０ｘ用のエントリが未登録の場合、端末４０は、移動ノード３０ｘのホームアドレスを宛先アドレスとするＩＰパケット（DATA）を生成してネットワーク５に送信する（２０４）。上記ＩＰパケットは、ホームエージェント１０で捕捉され、移動ノード３０ｘのＣｏＡを宛先アドレスとするＩＰヘッダでカプセル化して、移動ノード３０ｘに転送される（２０４Ｂ）。
【００７９】
一方、移動ノード３０ｘから端末４０にデータを送信する場合、移動ノード３０ｘは、Binding Update List管理テーブル３８１からBinding Update宛先アドレス３８１１が端末４０のＩＰアドレスに一致するエントリを検索する。端末４０用のエントリが上記テーブルに未登録の場合、移動ノード３０ｘは、端末４０宛のＩＰパケット（DATA）を宛先アドレスとしてホームエージェント１０のアドレスを含むＩＰヘッダでカプセル化して送信する（２０５Ｂ）。上記ＩＰパケットは、ホームエージェント１０でデカプセル化され、宛先アドレスとして端末４０のアドレスを持つ元のＩＰパケットに戻して、端末４０に転送される（２０５）。
【００８０】
移動ノード３０ｘは、端末４０からのＩＰパケット（DATA）を受信した時、受信パケットのＩＰヘッダに送信元アドレスとして含まれる端末４０のＩＰアドレスが判るため、このＩＰアドレスを利用して端末４０との間の通信経路の最適化が可能となる。従って、Mobile IP端末機能ルーチン３７２を起動し、端末４０に対してMobile IPv6の位置登録要求メッセージであるBinding Updateメッセージ７０Ａを送信し（２０６）、Binding Update送信先アドレス３８１１として端末４０のＩＰアドレスをもつBinding Update List管理テーブル用のエントリを生成する（２０７）。
【００８１】
端末４０は、上記Binding Updateメッセージ７０Ａを受信すると、移動ノード３０ｘのホームアドレスとＣｏＡとの対応関係を示すBinding Cache管理テーブル用のエントリを生成し、これを自らのBinding Cache管理テーブルに登録する（２０８）。また、上記Binding Updateメッセージ７０ＡのＩＰｖ６モビリティヘッダ７２に含まれるＡビット７２５をチェックし、Ａビットに“１”が設定されていた場合は、Binding Updateに対する応答メッセージ（Binding ACK）を含むＩＰパケットを生成して、移動ノード３０ｘ宛に送信する（２０９）。
【００８２】
移動ノード３０ｘは、上記応答メッセージ（Binding ACK）パケットを受信すると、ステップ２０７で生成しておいたエントリをBinding Update List管理テーブル３８１に登録する（２１０）。
【００８３】
端末４０は、上記Binding Cache管理テーブルに移動ノード３０ｘ用のエントリが登録されたことによって、その後の発生した移動ノード宛のデータパケット（DATA）を、ホームエージェント１０を経由することなく、移動ノード３０ｘに直接送信できる（２１１）。一方、移動ノード３０ｘも、上記Binding Update List管理テーブル３８１に端末４０用のエントリが登録されたことによって、その後に発生する端末４０宛のデータパケット（DATA）を端末４０に直接送信する（２１２）ことが可能となる。
【００８４】
然るに、上記通信手順によれば、Mobile IPの通信経路の最適化が完了する迄は、移動ノード３０ｘと端末４０との間が送受信されるデータパケットが、必ずホームエージェント１０を経由することになる。この場合、ホームエージェント１０と移動ノード３０ｘとの間の送受信パケットは、オリジナルパケットにIPv6ヘッダを付加したカプセル化ＩＰパケット形式となるため、パケット中継処理の負荷が増加し、パケット長が増したことによって使用通信帯域が増加すると言う問題がある。
本発明の１つの特徴は、データパケットの転送が開始される前に、移動ノード３０ｘと端末４０との間の通信経路を最適化することにある。
【００８５】
図１７は、ＳＩＰによるセッション確立機能を利用した本発明によるデータ通信手順の第１の実施例を示す。
本実施例では、ホームエージェント１０からＳＩＰメッセージ（INVITE）８０Ｂを含むカプセル化ＩＰパケットを受信した時、移動ノード３０ｘのＳＩＰクライアント機能ルーチン３７３において、受信したＳＩＰメッセージの内容から、該ＳＩＰメッセージの送信元である端末４０との間の通信経路の最適化が必要かどうか、最適化が可能か否かを判定する（３１０）。もし、経路最適化が可能であれば、移動ノード３０ｘから端末４０に、Mobile IPv6の位置登録要求メッセージ（Binding Update）７０Ａを送信し（２０６）、Binding Update List管理テーブルに登録するための端末４０用のエントリを生成する（２０７）。
【００８６】
図１５で説明したように、上記Binding Updateメッセージ７０Ａを受信すると、端末４０は、Binding Cache管理テーブルに移動ノード３０ｘ用のエントリを登録し（２０８）、Binding Updateに対する応答メッセージ（Binding ACK）を含むＩＰパケットを移動ノード３０ｘ宛に送信する（２０９）。移動ノード３０ｘは、上記応答メッセージ（Binding ACK）を受信すると、ステップ２０７で生成しておいたエントリをBinding Update List管理テーブル３８１に登録する（２１０）ことによって、通信経路の最適化を完了する。
【００８７】
本実施例の１つの特徴は、移動ノード３０ｘが、上述した通信経路の最適化を完了した後で、ＳＩＰメッセージ（INVITE）８０Ｂに対するＳＩＰ応答メッセージ（200 OK）を送信する（２０２Ｂ）ことにある。上記ＳＩＰ応答メッセージの端末４０への転送と、端末４０から移動ノード３０ｘへのＳＩＰ応答確認メッセージ（ACK）の転送は、図１５と同様の手順で行われる。尚、ＳＩＰ応答確認メッセージ（ACK）を含むＩＰパケットは、ホームエージェント１０を経由することなく、端末４０から移動ノード３０ｘ宛に直接送信することもできる。
【００８８】
移動ノード３０ｘが上記ＳＩＰ応答確認メッセージ（ACK）パケットを受信することによって、端末４０と移動ノード３０ｘとの間に論理的なセッションが確立されたことになるが、本実施例では、端末４０と移動ノード３０ｘとの間には既に最適経路が設定済みとなっているため、ホームエージェント１０を経由することなく、全てのデータパケットを最適経路で通信することが可能となる。
【００８９】
すなわち、Binding Cache管理テーブルに移動ノード３０ｘ用のエントリが登録されたことによって、端末４０は、上記Binding Cache管理テーブルから移動ノード３０ｘのホームアドレスと対応したＣｏＡを取得できる。端末４０は、IPv6データパケットの送信元アドレス５１１に端末４０のアドレス、宛先アドレス５１２に移動ノード３０ｘのＣｏＡを設定し、拡張ヘッダ５１３に含まれるルーティングヘッダ73に移動ノード３０ｘのホームアドレスを設定することによって、ホームエージェント１０を経由することなく、データパケット（DATA）を移動ノード３０ｘに直接送信することが可能となる（２０４）。
【００９０】
同様に、移動ノード３０ｘも、Binding Update List管理テーブル３８１に端末４０用のエントリが登録されたことによって、端末４０宛のデータパケット（DATA）を端末４０に直接送信する（２０５）ことが可能となる。この場合、移動ノード３０ｘは、IPv6送信パケットの宛先アドレス５１１に端末４０のＩＰアドレス、送信元アドレスに５１１に自分のＣｏＡを設定し、拡張ヘッダ５１３に含まれる宛先オプションヘッダ７１のホームアドレス・オプション７１１に自分のホームアドレスを設定する。
【００９１】
図１８は、図１７に示したデータ通信手順を更に詳細化した図である。
端末４０からＳＩＰメッセージ（INVITE）を含むＩＰパケットを受信したＳＩＰサーバ２０は、ＳＩＰサーバ機能ルーチン２６２によって、ＳＩＰ情報管理テーブル２７１から、上記受信メッセージが示すSIP-URIと対応するエントリを検索し（２４１）、該エントリが示す移動ノード３０ｘのホームアドレス宛に受信パケットを転送する（２０１Ａ）。
【００９２】
ホームエージェント１０は、上記ＩＰパケットを捕捉すると、Mobile IPホームエージェント機能ルーチン１６２が、Binding Cache管理テーブル１７１から、上記受信パケットの宛先アドレスが示す移動ノード３０ｘのホームアドレスと対応したエントリを検索し（２５１）、受信パケットを上記エントリのＣｏＡを宛先アドレスとするIPv6ヘッダでカプセル化して、移動ノード３０ｘに転送する（２０１Ｂ）。
【００９３】
移動ノード３０ｘは、ホームエージェント１０からカプセル化ＩＰパケットを受信すると、受信パケットがＳＩＰ要求メッセージ（INVITE）またはＳＩＰ応答メッセージ（200 OK）を含む場合、ＳＩＰクライアント機能ルーチン３７３が、図１９に示すＳＩＰ要求／応答メッセージ処理ルーチン３００を実行する（２２１）。
【００９４】
ＳＩＰ要求／応答メッセージ処理ルーチン３００は、受信したＳＩＰメッセージのStart-line８１の内容を検査する（３０１）。移動ノード３０ｘで上記Start-line８１が示すMethod（例えば、“INVITE”）またはコード（例えば、ＯＫ応答を示す“200”）をサポートしていれば、上記Start-line８１に記述されたRequest-URIとmessage-header８２に含まれるheaderの内容から、ＳＩＰメッセージを受理するか否かを判定する（３０２）。
【００９５】
ＳＩＰメッセージを受理した場合、message-header８２に含まれるContent-Type headerの内容から、message-body８３が解釈可能か否かを判断する（３０３）。もし、message-body８３が解釈可能であれば、受信メッセージに対応した処理を行う（３０４）。ここで、受信メッセージがＳＩＰ要求メッセージ（INVITE）であれば、返送メッセージとしてＳＩＰ応答メッセージ（200 OK）が生成され、受信メッセージがＳＩＰ応答メッセージ（200 OK）であれば、返送メッセージとしてＳＩＰ応答確認メッセージ（ACK）が生成される。
【００９６】
ステップ３０４の処理が正常に終了（３０５）した場合は、経路最適化の要否を判定する（３１０）。Binding Update List管理テーブル３８１に端末４０用のエントリが既に登録済みであれば、経路最適化は不要である。また、message-body８３にコネクション情報が設定されていなければ、経路最適化を実行できない。
【００９７】
図１６のINVITEメッセージ８０ＢのContent-Type headerが示すように、message-bodyへの適用アプリケーションがSDPの場合、コネクション情報は”c=”に記述されている。Binding Update List管理テーブル３８１に端末４０用のエントリが未登録で、且つ、message-body８３にコネクション情報が設定されていた場合は、Mobile IP端末機能ルーチン３７２に、コネクション情報が示すIPv6アドレス（この例では、“cn6”）へのMobile IP通信経路の最適化処理を要求する（３１１）。
【００９８】
Mobile IP端末機能ルーチン３７２は、図１７に示したように、端末４０に対してMobile IPの通信経路最適化の要求信号（Binding Update）を送信し（２０６）、Binding Update List管理テーブル３８１に登録するための端末４０用の新たなエントリを生成する（２０７）。このエントリは、端末４０から応答メッセージ（Binding ACK）を受信した時（２０９）、Binding Update List管理テーブル３８１に登録される（２１０）。
【００９９】
Mobile IP端末機能ルーチン３７２による通信経路の最適化処理（３１１）が完了すると、ＳＩＰ要求／応答メッセージ処理ルーチン３００は、ステップ３０４で生成された上記ＳＩＰメッセージに対する返送メッセージ（“200 OK”または“ACK”）を送信し（３１２）、ＳＩＰ要求／応答メッセージ処理ルーチン３００を終了する。
【０１００】
尚、受信したＳＩＰメッセージのmessage-body８３にコネクション情報が設定されていなかった場合は、通信経路の最適化処理を実行することなく、受信したＳＩＰメッセージ（INVITE）に対する返送メッセージを送信して（３１２）、このルーチン３００を終了する。また、判定ステップ３０１〜３０３、３０５の何れかで、判定結果が否となった場合は、上記ＳＩＰメッセージに対してエラー応答メッセージを送信して（３１３）、このルーチン３００を終了する。
【０１０１】
図２０は、移動ノード３０ｘから端末４０にデータパケットを送信する場合の本発明によるデータ通信手順を示す。
ＳＩＰ要求メッセージ（INVITE）を含むIPv6パケットは、移動ノード３０ｘからＳＩＰサーバ２０に送信され（２０１Ａ）、ＳＩＰサーバ２０から端末４０に転送される（２０１）。また、上記ＳＩＰ要求メッセージ（INVITE）の受信に応答して、端末４０からＳＩＰサーバ２０にＳＩＰ応答メッセージ（200 OK）を含むＩＰパケットが送信され（２０２）、上記ＳＩＰ応答メッセージパケットは、ＳＩＰサーバ２０から移動ノード３０ｘに転送される（２０２Ａ）。
【０１０２】
本実施例では、移動ノードは、上記ＳＩＰ応答メッセージパケットの受信時に経路最適化判定を行う（３１０）。この場合も、図１９に示したＳＩＰ要求／応答メッセージ処理ルーチン３００が実行され、もし経路最適化が必要で、且つ上記ＳＩＰ応答メッセージに経路最適化に必要なコネクション情報が設定されていれば、Mobile IP端末機能ルーチン３７２によって、移動ノード３０ｘと端末４０との間の通信経路の最適化が行われる（３１１）。本実施例の場合、ＳＩＰ要求／応答メッセージ処理ルーチン３００のステップ３０４では、ＳＩＰ応答確認メッセージ（ACK）が生成され、通信経路の最適化が完了した時、上記ＳＩＰ応答確認メッセージ（ACK）が端末４０に送信される（２０３、３１２）。
【０１０３】
移動ノード３０ｘが、同一の機能を備える他の移動ノード、例えば、３０ａに対してセッション制御メッセージ（INVITE）を送信した場合は、該制御メッセージこれを受信した移動ノード３０ａ側で通信経路の最適化が開始される。この場合、移動ノード３０ｘは、通信相手装置からBinding Updateメッセージを受信した時、自分のBinding Cache管理テーブルに端末３０ａ用のエントリを登録し、Binding ACKを返送する。移動ノード３０ｘは、相手ノード３０ａからＳＩＰ応答メッセージ（200 OK）を受信した時、判定ステップ３１０で経路最適化が必要と判断し、相手ノード３０ａに自分（移動ノード３０ｘ）のバインディング情報を通知する。その後、移動ノード３０ｘから移動ノード３０ａにＳＩＰ応答確認メッセージ（ＡＣＫ）を返送することになる。
【０１０４】
上記実施例によれば、移動ノード３０ｘが、“INVITE”や“200 OK”等のＳＩＰセッション制御メッセージの受信に応答してMobile IPの通信経路最適化を実行し、端末４０との間に最適な通信経路を設定しているため、移動ノード３０ｘと端末４０との間で、最初のデータパケットから最適経路を利用した通信を行うすることが可能となる。特に、移動ノード３０ｘと端末４０がＶｏＩＰ通信を行う場合、音声パケットのカプセル化／デカプセル化に伴う処理負荷と転送遅延を軽減でき、データパケット通信中でのホームエージェント経由の通信経路から最適経路への切替えに起因する通信品質の変動を回避することが可能になる。
【０１０５】
図２１は、本発明によるデータ通信手順の第２の実施例を示す。
第２の実施例は、端末４０からのＳＩＰメッセージの受信に応答した移動ノード３０ｘによる端末４０との間の通信経路の最適化（２２０〜３１１）に加えて、ＳＩＰサーバ２０が、移動ノード３０ｘとの間のＳＩＰメッセージ通信経路の最適化を行うことを特徴とする。すなわち、本実施例は、端末４０からＳＩＰメッセージ（２０１）を受信した時、ＳＩＰサーバ２０とホームエージェント１０が手順２４１〜２４７を実行することによって、第１実施例ではホームエージェント１０を経由していたＳＩＰ要求メッセージ（INVITE）とＳＩＰ応答メッセージ（200 OK）をＳＩＰサーバ２０と移動ノード３０ｘとの間で直接送受信（２０１Ｂ、２０２Ｂ）できるようにしたものである。
【０１０６】
本実施例において、ＳＩＰサーバ２０は、図２２に示すように、プログラムメモリ２６に、基本制御ルーチン２６０〜Locationサーバ機能ルーチン２６４の他に、経路最適化のためのBinding情報収集処理ルーチン４００を備え、データメモリ２７に上記Binding情報収集処理ルーチン４００が参照するBinding Cache管理テーブル２７２と、ＭＮホームアドレス・ＨＡアドレス対応テーブル２７３を備える。
【０１０７】
Binding Cache管理テーブル２７２には、ホームエージェント１０が備える図３に示したBinding Cache管理テーブル１７１と同様の情報をもつエントリが格納される。
【０１０８】
ＭＮホームアドレス・ＨＡアドレス対応テーブル２７３には、図２３に示すように、移動ノードのホームアドレス（ＭＮホームアドレス）と、この移動ノードが属したホームエージェントのアドレス（ＨＡアドレス）との対応関係を示すエントリ２７３０−１、２７３０−２、・・・が登録される。
【０１０９】
また、本実施例のホームエージェント１０は、図２５に示すように、プログラムメモリ１６に、基本制御ルーチン１６０〜Mobile IPホームエージェント機能ルーチン１６２の他に、経路最適化処理ルーチン１６３を備え、データメモリ１７に上記経路最適化処理ルーチン１６３が参照するBinding Update List管理テーブル１７２を備える。
【０１１０】
ＳＩＰサーバ２０は、図２１に示すように、端末４０からＳＩＰ要求メッセージ（INVITE）を受信すると（２０１）、ＳＩＰサーバ機能ルーチン２６２によって、ＳＩＰ情報管理テーブル２７１から上記受信メッセージのStart-line８１に記述されたRequest-URIと対応するエントリを検索する。検索されたエントリの端末位置情報２７１２から、受信メッセージの転送先となる移動ノード３０ｘのホームアドレスが判明すると、ＳＩＰサーバ機能ルーチン２６３は、Binding情報収集処理ルーチン４００を起動する。
【０１１１】
図２６にBinding情報収集処理ルーチン４００のフローチャートを示す。
Binding情報収集処理ルーチン４００は、上記移動ノード３０ｘのホームアドレスを検索キーとして、ＭＮホームアドレス・ＨＡアドレス対応テーブル２７３を検索する（４０１）。検索結果を判定し（４０２）、ＭＮホームアドレス２７３１が移動ノード３０ｘのホームアドレスと一致するエントリがテーブル２７３に未登録の場合は、このルーチンを終了する。上記テーブルに移動ノード３０ｘのホームアドレスと一致するエントリが存在した場合は、該エントリが示す移動ノード３０ｘのホームエージェント（ＨＡ）アドレス２７３２を記憶した後、移動ノード３０ｘのホームアドレス検索キーにしてBinding Cache管理テーブル２７２を検索する（４０３）。
【０１１２】
検索結果を判定し（４０４）、Binding Cache管理テーブル２７２に上記移動ノード３０ｘのホームアドレスに該当するエントリがなければ、記憶しておいた上記移動ノード３０ｘのホームエージェントアドレス２７３２宛に、上記移動ノード３０ｘのバインディング情報を要求するMobile IPメッセージ（Binding Refresh要求メッセージ７０Ｃ）を送信し（４０６、２４１）、ホームエージェント１０からのBinding Updateメッセージの受信を待つ（４０７）。
【０１１３】
Binding Cache管理テーブル２７２に上記移動ノード３０ｘのホームアドレスに該当するエントリが存在していた場合は、該エントリのライフタイム１７１３をチェックする（４０５）。残ライフタイムが所定の閾値より短ければ、ステップ４０６で上記移動ノード３０ｘのホームエージェントアドレス２７３２宛にBinding Refresh要求メッセージ７０Ｃを送信し、残ライフタイムが閾値以上であれば、本ルーチンを終了する。
【０１１４】
Binding Refresh要求メッセージ７０Ｃは、図２４に示すように、IPv6モビリティヘッダ７２を有し、IPv6モビリティヘッダ７２のモビリティ・オプション７２４にバインディング情報が必要とされる移動ノード３０ｘのホームアドレスが記述される。
【０１１５】
上記Binding Refresh要求メッセージを受信したホームエージェント１０は、上記移動ノード３０ｘのホームアドレスを検索キーにしてBinding Cache管理テーブル１７１を検索し、上記ホームアドレスをもつエントリが見つかった場合は、モビリティ・オプション７２４に上記エントリが示す移動ノード３０ｘのホームアドレスやＣｏＡ等のバインディング情報を設定したMobile IPメッセージ（Binidng Update）を生成し、ＳＩＰサーバ２０に送信する（２４２）。この後、ホームエージェント１０は、Binding Update List管理テーブル１７２に登録するためのＳＩＰサーバ２０用のエントリを生成し（２４３）、ＳＩＰサーバ２０からの応答メッセージを待つ。
【０１１６】
図２６に戻って、ＳＩＰサーバ２０は、ホームエージェント１０からBinidng Updateメッセージを受信すると、受信メッセージが示す移動ノード３０ｘのホームアドレスでＳＩＰサーバ２のBinding Cache管理テーブル２７２を検索し（４０８）、上記移動ノード用のエントリが見つかった場合は、該エントリの内容を上記受信メッセージが示すバインディング情報に従って更新する（４１０、２４４）。上記Binding Cache管理テーブル２７２に移動ノード３０ｘ用のエントリが存在しなかった場合は、上記受信メッセージが示すバインディング情報に従って移動ノード３０ｘ用のエントリを生成し、これをBinding Cache管理テーブル２７２に追加する（４１１、２４４）。
【０１１７】
次に、ＳＩＰサーバ２０は、ホームエージェントから受信したBinding UpdateメッセージのＡビットをチェックし（４１２）、Ａビットが“１”に設定されていた場合は、ホームエージェント１０にBinding ACKメッセージを送信し（４１３、２４５）、本ルーチンを終了する。
【０１１８】
ＳＩＰサーバ２のＳＩＰサーバ機能ルーチン２６２は、上述したBinding情報収集処理リーチン４００が終了すると、Binding Cache管理テーブル２７２から移動ノード３０ｘのホームアドレスをもつエントリを検索して移動ノード３０ｘのＣｏＡを特定し（２４６）、端末４０から受信したＳＩＰメッセージ（INVITE）パケットを上記ＣｏＡを宛先アドレス、ＳＩＰサーバ２０のアドレスを送信元アドレスとするＩＰヘッダでカプセル化した形で回線Ｌ２０に送信する（２０１Ｂ）。尚、カプセル化前のオリジナルＳＩＰメッセージパケットの宛先アドレスには移動ノード３０ｘのホームアドレスが設定されている。
【０１１９】
ホームエージェント１０は、ＳＩＰサーバ２０から正常終了を示すBinding ACKメッセージを受信すると、ステップ２４３で生成したエントリをBinding Update List管理テーブル１７２に登録する（２４７）。
移動ノード３０ｘは、上記INVITEメッセージを含むカプセル化パケットを受信すると、第１実施例と同様、通信経路最適化のための処理（３１１、３１１）を実行し、通信経路の最適化が完了した後、上記INVITEメッセージに対するＳＩＰ応答メッセージ（200 OK）を送信する（２０２Ｂ）。この場合、ＳＩＰ応答メッセージを含むＩＰパケットは、ＳＩＰサーバ２０のアドレスを宛先アドレスとするIPv6ヘッダでカプセル化した形で、ＳＩＰサーバ２０宛に送信される。
【０１２０】
上記実施例によれば、ＳＩＰサーバ２０が移動ノード３０ｘのバインディング情報を保持しているため、ＳＩＰサーバから移動ノード３０ｘにセッション切断要求等のＳＩＰメッセージを送信する場合、最適経路を利用することができる。
【０１２１】
図２７は、本発明によるデータ通信手順の第３の実施例を示す。
第３実施例は、ホームエージェント１０からＳＩＰサーバにホームエージェントのアドレスを自動的に通知することにより、ＳＩＰサーバが、ＭＮホームアドレス・ＨＡアドレス対応テーブル２７３のエントリを動的に生成できるようにしたことを特徴とする。
【０１２２】
図２８は、本実施例におけるホームエージェント１０の構成図を示す。
ホームエージェント１０は、プログラムメモリ１６に、図２５に示した第２実施例のホームエージェントが持つプログラム１６０〜１６３の他に、ＳＩＰサーバに移動ノードのホームアドレスとＨＡ（ホームエージェント）アドレスとの対応情報を通知するためのＨＡアドレス通知処理ルーチン５００を備える。
【０１２３】
図２７において、ホームエージェントへの端末位置登録１００とＳＩＰサーバへの端末位置登録１１０では、それぞれ図８で示したステップ１０１〜１０８と、ステップ１１１〜１１８が実行される。ホームエージェント１０は、移動ノード、例えば、３０ｘからの位置登録要求に応答して、Binding Cache管理テーブル１７１に新規エントリを追加した時（図８のステップ１０５）、図２９に示すＨＡアドレス通知処理ルーチン５００を起動する。
【０１２４】
ＨＡアドレス通知処理ルーチン５００では、次の何れかの方法で移動ノード３０ｘと対応するSＩＰサーバを決定する(５０１、１２１)。
（１）各移動ノードのプロファイル情報として、移動ノードと対応させるべきＳＩＰサーバの情報を予め記憶しておく。
（２）ホームエージェントと同一ドメインにあるＳＩＰサーバを選択する。
（３）ホームエージェントからのマルチキャストによってＳＩＰサーバを決定する。
【０１２５】
移動ノード３０ｘに対応付けるべきＳＩＰサーバ、例えば２０が確定した場合（５０２）、該ＳＩＰサーバ２０に対して、移動ノード３０ｘのホームアドレスとホームエージェント１０のアドレス（ＨＡアドレス）との対応関係を示すＳＩＰメッセージ（REGISTER）を送信し（５０３、１２２）、ＳＩＰサーバからの応答メッセージの受信を待つ（５０４）。
【０１２６】
ホームエージェント１０がＳＩＰサーバ２０に送信するＳＩＰメッセージ（REGISTER）は、例えば、図３０に示すように、message-header８２に、ＨＡアドレス（“ha6”）を示すHomeAgentヘッダを含み、Contactヘッダで移動ノード３０ｘのホームアドレス(“mn6”)を示している。但し、HomeAgentヘッダを追加する代わりに、message-body部８３にＨＡアドレスを設定してもよい。この場合、ＳＩＰサーバ２０には、ホームエージェントから受信したＳＩＰメッセージ（REGISTER）のmessage-bodyを参照する機能が必要となる。
【０１２７】
ＳＩＰサーバ２０は、上記ＳＩＰメッセージ（REGISTER）を受信すると、ＭＮホームアドレス・ＨＡアドレス対応テーブル２７３に移動ノード３０ｘ用のエントリを追加（１２３）した後、ホームエージェント１０に対して上記ＳＩＰメッセージ（REGISTER）への応答メッセージ（200 OK）を送信する（１２４）。
【０１２８】
ホームエージェント１０は、上記応答メッセージを受信すると（５０４）、ＨＡアドレス通知処理ルーチン５００を終了する。尚、ステップ５０２でＳＩＰサーバを確定できない場合は、ＳＩＰメッセージ（REGISTER）を送信することなく、本ルーチン５００が終了する。
【０１２９】
以上のように、ホームエージェント１０からＳＩＰサーバ２０に移動ノードのＨＡアドレスを自動的に通知するようにすれば、ＳＩＰサーバが備えるＭＮホームアドレス・ＨＡアドレス対応テーブル２７３に管理者が事前にエントリデータを設定する必要がなくなる。
【０１３０】
上記第３実施例において、図２７に破線ブロック２４０で示すように、ＳＩＰ応答メッセージ（200 OK）を受信した時、ホームエージェント１０からＳＩＰサーバ２０に、移動ノード３０ｘのバインディング情報を含むBinding Updateメッセージを送信（２４２）することによって、第２実施例と同様、ＳＩＰサーバでＭＮホームアドレス・ＨＡアドレス対応テーブル２７３のエントリを動的生成できるようにしてもよい
また、第２実施例と同じ手順で、ＳＩＰサーバ２０が、端末４０からのＳＩＰメッセージ（INVITE）の受信を契機に、ホームエージェント１０にBinding Refresh要求を送信し、ホームエージェント１０から移動ノード３０ｘのバインディング情報を取得するようにしてもよい。
【０１３１】
上記実施例では、Binding Cache管理テーブル１７１に新規エントリを追加したとき（図８のステップ１０５）、ＨＡアドレス通知処理ルーチン５００を起動したが、ＨＡアドレス通知処理ルーチン５００は、ホームエージェント１０が移動ノード３０ｘから位置登録要求を受信したときに起動するようにしてもよい。
【０１３２】
上述した第１〜第３実施例では、各移動ノードにIPv6アドレスとＳＩＰ識別子（SIP-URI）を割当てておき、セッション制御プロトコルとしてＳＩＰを適用したが、本発明の変形例として、上記セッション制御プロトコルに、パケットベース・マルチメディア通信システム用のＩＴＵ−Ｔ勧告であるH.323で標準化された制御プロトコルを適用してもよい。
【０１３３】
H.323は、ＶｏＩＰに適用可能であり、H.323システムの呼制御及びデータ転送のメッセージフォーマットは、ＩＴＵ−Ｔ勧告H.225およびH.245で標準化されている。H.323システムでは、各端末はAlias Addressで識別される。また、ゲートキーパによって、Alias Addressとトランスポートアドレスとの対応情報が管理される。上記トランスポートアドレスとしては、例えば、ＩＰアドレスが適用される。
【０１３４】
本変形例において、各移動ノードには、SIP-URIに代えてH.323で標準化されたAlias Addressを付与しておき、SＩＰサーバ２０の代わりにゲートキーパを配置し、Mobile IPv6対応の移動ノード３０ｘには、H.323のセッション制御メッセージの受信を契機として、端末４０との間でMobile IPの通信経路最適化手順を実行させる。この場合、通信経路の最適化は、第１の実施例と同様の手順で実現できる。
【０１３５】
また、ホームエージェント１０とH.323ゲートキーパに経路最適化機能を持たせることによって、第２実施例と同様、ホームエージェント１０からH.323ゲートキーパに移動ノードのバインディング情報を通知するようにすれば、ゲートキーパから移動ノードに、ホームエージェントを経由することなくセッション制御信号を送信することが可能になる。
【０１３６】
本発明の更に他の変形例として、各移動ノードに電話番号を付与しておき、通信ネットワーク５に、例えば、RFC2916で規定されたENUM DNSが接続されたシステム構成としてもよい。ENUM DNSは、ＤＮＳ(Domain Name Server)のアーキテクチャとプロトコルをベースにしており、各移動ノードに付与された電話番号とＵＲＩ（SIP-URI、H.323 Alias address等）との対応関係を管理する機能を備えている。
【０１３７】
このシステム構成の場合、端末４０は、移動ノードへのデータパケットの送信に先立って、通信相手となる移動ノード３０ｘの電話番号を指定して、ENUM DNSに移動ノード３０ｘのＵＲＩを問い合わせる。端末４０は、ENUM DNSから移動ノード３０ｘのＵＲＩを取得した後、移動ノード３０ｘとの間にセッションを確立する。従って、この場合も、セッション制御信号を契機にして、第1実施例と同様の手順で、移動ノード３０ｘと端末４０との間でMobile IPの通信経路の最適化を実行することが可能となる。
【０１３８】
以上の実施例では、図１に示したように、ホームリンクを離れた移動ノード３０ｘが、移動先で無線基地局３（３Ａ、３Ｂ、・・・）を介してルータ１（１Ａ、１Ｂ、・・・）に接続され、ホームエージェント１０、ＳＩＰサーバ２０または端末４０と通信するシステム構成を前提としたが、本発明は、各移動ノードに無線通信機能がなく、移動ノードがネットワークインタフェース３４を介して移動先のルータに接続されるシステム構成にも適用できる。
【０１３９】
【発明の効果】
以上の実施例から明らかなように、本発明の移動端末装置および端末間のパケット通信方法によれば、通信経路を最適化した後でデータパケット通信が開始されるため、Mobile IP通信網におけるデータパケットの転送遅延時間とその変動を少なくできる。また、本発明によれば、Mobile IP通信網における端末間の通信経路を適切なタイミングで最適化することができ、第２の実施例によれば、セッション制御用のサーバ装置と移動端末装置または通信相手装置との間のセッション制御メッセージの通信経路も最適化することができる。
【図面の簡単な説明】
【図１】本発明を適用する通信網の構成例を示す図。
【図２】図１に示したホームエージェント１０の構成の１例を示す図。
【図３】ホームエージェント１０が備えるBinding Cache管理テーブル１７１の構成の１例を示す図。
【図４】図１に示したＳＩＰサーバ２０の構成の１例を示す図。
【図５】ＳＩＰサーバ２０が備えるＳＩＰ情報管理テーブル２７１のの構成の１例を示す図。
【図６】図１に示した移動ノード（ＭＮ）３０ｘの構成の１例を示す図。
【図７】移動ノード３０ｘが備えるBinding Update List管理テーブル３８１の構成の１例を示す図。
【図８】移動ノード３０ｘの位置登録シーケンスを示す図。
【図９】  IPv6パケットのフォーマットを示す図。
【図１０】ルータが送信するルータ広告メッセージのフォーマットを示す図。
【図１１】移動ノード３０ｘが送信するBinding Updateメッセージのフォーマットを示す図。
【図１２】ホームエージェント１０が送信するBinding ACKメッセージのフォーマットを示す図。
【図１３】ＳＩＰメッセージのプロトコルスタックを示す図。
【図１４】移動ノード３０ｘが送信するＳＩＰ“REGISTER”メッセージの１例を示す図。
【図１５】ＳＩＰによるセッション確立機能を利用した一般的と思われる通信手順を示す図。
【図１６】端末４０が送信するＳＩＰ“INVITE”メッセージの１例を示す図。
【図１７】ＳＩＰによるセッション確立機能を利用した本発明による通信手順の第１の実施例を示す図。
【図１８】図１７に示した通信手順の更に詳細な手順を示す図。
【図１９】移動ノード３０ｘが実行するＳＩＰ要求／応答メッセージ処理ルーチン３００のフローチャート。
【図２０】移動ノードか端末にデータパケットを送信する場合の本発明による通信手順の１例を示す図。
【図２１】ＳＩＰによるセッション確立機能を利用した本発明による通信手順の第２の実施例を示す図。
【図２２】第２実施例におけるＳＩＰサーバ２０の構成を示す図。
【図２３】上記ＳＩＰサーバが備えるＭＮホームアドレス−ＨＡアドレス対応テーブル２７３の構成を示す図。
【図２４】  Binding Refresh要求メッセージを示す図。
【図２５】第２実施例におけるホームエージェント１０の構成を示す図。
【図２６】ＳＩＰサーバ２０が実行するBinding情報収集ルーチン４００のフローチャート。
【図２７】ＳＩＰによるセッション確立機能を利用した本発明による通信手順の第３の実施例を示す図。
【図２８】第３実施例におけるホームエージェント１０の構成を示す図。
【図２９】ホームエージェント１０が実行するホームアドレス通知処理ルーチン５００のフローチャート。
【図３０】ホームエージェント１０が送信するＳＩＰ“REGISTER”メッセージ８０Ｃの１例を示す図。
【符号の説明】
１：ルータ、３：基地局、５：ネットワーク、
１０：ホームエージェント（ＨＡ）、２０：ＳＩＰサーバ、
３０：Mobile IP移動ノード(ＭＮ)、４０：端末、３７０：基本制御ルーチン、
３７１：パケット送受信処理ルーチン、３７２：Mobile IP端末機能ルーチン、
３７３：ＳＩＰクライアント機能ルーチン、
３８：Binding Update List管理テーブル。
【図１】
0004028793.tif 000002
【図２】
0004028793.tif 000003
【図３】
0004028793.tif 000004
【図４】
0004028793.tif 000005
【図５】
0004028793.tif 000006
【図６】
0004028793.tif 000007
【図７】
0004028793.tif 000008
【図８】
0004028793.tif 000009
【図９】
0004028793.tif 000010
【図１０】
0004028793.tif 000011
【図１１】
0004028793.tif 000012
【図１２】
0004028793.tif 000013
【図１３】
0004028793.tif 000014
【図１４】
0004028793.tif 000015
【図１５】
0004028793.tif 000016
【図１６】
0004028793.tif 000017
【図１７】
0004028793.tif 000018
【図１８】
0004028793.tif 000019
【図１９】
0004028793.tif 000020
【図２０】
0004028793.tif 000021
【図２１】
0004028793.tif 000022
【図２２】
0004028793.tif 000023
【図２３】
0004028793.tif 000024
【図２４】
0004028793.tif 000025
【図２５】
0004028793.tif 000026
【図２６】
0004028793.tif 000027
【図２７】
0004028793.tif 000028
【図２８】
0004028793.tif 000029
【図２９】
0004028793.tif 000030
【図３０】
0004028793.tif 000031