(57)【要約】【課題】移動ノードと他のノードとの間で双方向の通信を行うことが出来るようにする。【解決手段】ホームエージェント１０１は、モバイルノード２１がネットワークに接続されていない状態で、ノード３１から送信されるモバイルノード２１のホームアドレス宛の通信要求を受信したとき、ノード３１からモバイルノード２１に対する通信要求が発生したことを示すイベント情報を保持する。この後、モバイルノード２１が移動先のネットワークセグメント１２に接続されると、気付けアドレスの登録要求がモバイルノード２１からホームエージェント１０１に送信される。この気付けアドレスの登録要求に応答して、ホームエージェント１０１は、保持されているイベント情報に基づき、モバイルノード２１が通信可能になったことをノード３１に通知する。【選択図】  図１
2004186983.tif 000002
【特許請求の範囲】
【請求項１】
移動ノードに割り当てられたホームアドレスと前記移動ノードが現在接続されている移動先のネットワークセグメントにおいて使用する気付けアドレスとの関係に基づいて、ネットワークを介して他のノードから送信される前記ホームアドレス宛の通信要求を、前記移動先のネットワークセグメントに転送する通信制御装置であって、
前記移動ノードが前記ネットワークに接続されていない状態で、前記他のノードから送信される前記ホームアドレス宛の通信要求を受信した場合、前記他のノードから前記移動ノードへの通信要求が発生したことを示すイベント情報を保持する手段と、
前記移動先のネットワークセグメントに接続された前記移動ノードから前記ネットワークを介して前記通信制御装置に送信される前記気付けアドレスの登録要求に応答して、前記保持されているイベント情報に基づき、前記移動ノードが通信可能になったことを前記他のノードに前記ネットワークを介して通知する通知手段とを具備することを特徴とする通信制御装置。
【請求項２】
前記登録要求に基づいて、前記移動ノードの気付けアドレスを前記通信制御装置に登録するアドレス登録手段をさらに具備することを特徴とする請求項１記載の通信制御装置。
【請求項３】
前記イベント情報は、前記通信要求を送信した前記他のノードのアドレスを含むことを特徴とする請求項１記載の通信制御装置。
【請求項４】
前記気付けアドレスの登録要求に応答して、前記登録要求が正当なものであるか否かを判別する正当性検証処理を実行する手段をさらに具備し、
前記通知手段は、前記正当性検証処理によって前記登録要求が正当なものであることが判別された後に、通知することを特徴とする請求項１記載の通信制御装置。
【請求項５】
前記気付けアドレスの登録要求に応答して、前記登録要求が正当なものであるか否かを判別する正当性検証処理を実行する手段をさらに具備し、
前記通知手段は、前記正当性検証処理が実行される前に、通知することを特徴とする請求項１記載の通信制御装置。
【請求項６】
前記気付けアドレスの登録要求に応答して、前記保持されているイベント情報に基づき、前記移動ノードに対する通信要求が前記他のノードからあったことを前記移動ノードに前記ネットワークを介して通知する手段をさらに具備することを特徴とする請求項１記載の通信制御装置。
【請求項７】
前記移動ノードが前記ネットワークに接続されていない状態で前記他のノードから送信される前記ホームアドレス宛の通信要求を受信した場合、前記移動ノードが前記ネットワークに接続されていないこと、及び通信可能になった時にその旨が通知されることを前記他のノードに前記ネットワークを介して送信する手段をさらに具備することを特徴とする請求項１記載の通信制御装置。
【請求項８】
移動ノードに割り当てられたホームアドレスと、前記移動ノードが現在接続されている移動先のネットワークセグメントにおいて使用する気付けアドレスとの関係に基づいて、ネットワークを介して他のノードから送信される前記ホームアドレス宛の通信要求を、前記移動先のネットワークセグメントに転送する通信制御方法であって、
前記移動ノードが前記ネットワークに接続されていない状態で、前記他のノードから送信される前記ホームアドレス宛の通信要求を受信した場合、前記他のノードから前記移動ノードへの通信要求が発生したことを示すイベント情報を保持するステップと、
前記移動先のネットワークセグメントに接続された前記移動ノードから前記ネットワークを介して送信される前記気付けアドレスの登録要求に応答して、前記保持されているイベント情報に基づき前記移動ノードが通信可能になったことを前記他のノードに前記ネットワークを介して通知する通知ステップとを具備することを特徴とする通信制御方法。
【請求項９】
前記登録要求に基づいて、前記移動ノードの気付けアドレスを保持するステップをさらに具備することを特徴とする請求項８記載の通信制御方法。
【請求項１０】
前記イベント情報は、前記通信要求を送信した前記他のノードのアドレスを含むことを特徴とする請求項８記載の通信制御方法。
【請求項１１】
前記気付けアドレスの登録要求に応答して、前記登録要求が正当なものであるか否かを判別する正当性検証処理を実行するステップをさらに具備し、
前記通知ステップは、前記正当性検証処理によって前記登録要求が正当なものであることが判別された後に、通知することを特徴とする請求項８記載の通信制御方法。
【請求項１２】
前記気付けアドレスの登録要求に応答して、前記登録要求が正当なものであるか否かを判別する正当性検証処理を実行するステップをさらに具備し、
前記通知ステップは、前記正当性検証処理が実行される前に、通知することを特徴とする請求項８記載の通信制御方法。
【請求項１３】
前記気付けアドレスの登録要求に応答して、前記保持されているイベント情報に基づき、前記移動ノードに対する通信要求が前記他のノードからあったことを前記移動ノードに前記ネットワークを介して通知するステップをさらに具備することを特徴とする請求項８記載の通信制御方法。
【請求項１４】
前記移動ノードが前記ネットワークに接続されていない状態で前記他のノードから送信される前記ホームアドレス宛の通信要求を受信した場合、前記移動ノードが前記ネットワークに接続されていないこと、及び通信可能になった時にその旨が通知されることを前記他のノードに前記ネットワークを介して送信するステップをさらに具備することを特徴とする請求項８記載の通信制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は移動ノードとの通信を制御するための通信制御装置および通信制御方法に関し、特にネットワークを介して他のノードから移動ノードのホームアドレス宛に送信される通信要求を、移動ノードが現在接続されている移動先のネットワークセグメントに転送する通信制御装置および通信制御方法に関する。
【０００２】
【従来の技術】
近年、ノートブックタイプのポータブルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、移動電話機、のような様々な移動ノードが開発されている。このような移動ノードが、インターネットプロトコル（ＩＰ）を用いて通信するための技術としては、モバイルＩＰが知られている。
【０００３】
モバイルＩＰは、移動ノードが接続されているネットワーク上の実際の位置の変化によらずに、移動ノードとの通信のために常に同一のＩＰアドレスを使用することを可能にするプロトコルである。
【０００４】
モバイルＩＰにおいては、ホームエージェントが用いられる。ホームエージェントは、移動ノードに割り当てられたホームアドレス宛のパケットを受信し、そのパケットを、移動ノードが現在接続されている移動先のネットワークセグメントに転送する。
【０００５】
このホームエージェントのパケット転送機能により、移動ノードは、例えば公衆無線アクセスポイントのような、移動先のネットワークセグメントに接続されている場合においても、他のノードから移動ノードのホームアドレス宛に送信されるパケットを受信することが出来る。
【０００６】
しかし、移動ノードがネットワークに接続されていない状態においては、移動ノードは、他のノードから送信されるパケットを受信することが出来ない。他のノードから送信されるパケットは破棄されることになる。
【０００７】
このようなパケットの破棄の発生を防止する技術としては、サーバから移動ノード宛に送信されるサービス通知メッセージを、ホームエージェント内に蓄積するシステムが知られている（例えば、特許文献１参照。）。このシステムにおいては、移動ノードがネットワークに接続された時に、ホームエージェント内に蓄積されているサービス通知メッセージが、ホームエージェントから移動ノードに送信される。
【０００８】
【特許文献１】
特開２００１−３５８７７６号公報（第５頁）
【０００９】
【発明が解決しようとする課題】
ところで、最近では、ＩＰネットワークを介して音声通話を行うためのＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）技術が注目され始めている。
【００１０】
このＶｏＩＰ技術とモバイルＩＰ技術とを組み合わせることにより、移動ノードは、移動先のネットワークセグメントにおいても、相手ノードからの呼を受けることが可能となる。
【００１１】
音声通話はノード間で双方向通信を行うことを前提としている。音声通話を行うためには、それらノードが共にネットワークに接続されていることが必要となる。しかし、移動ノードは、常にネットワークに接続されているとは限らない。よって、移動ノードと他のノードとの間で双方向の通信を行うことが出来る可能性を高めるための仕組みを実現することが要求されている。
【００１２】
本発明は上述の事情を考慮してなされたものであり、移動ノードと他のノードとの間で双方向の通信を行うことが可能な通信制御装置および通信制御方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、移動ノードに割り当てられたホームアドレスと前記移動ノードが現在接続されている移動先のネットワークセグメントにおいて使用する気付けアドレスとの関係に基づいて、ネットワークを介して他のノードから送信される前記ホームアドレス宛の通信要求を、前記移動先のネットワークセグメントに転送する通信制御装置であって、前記移動ノードが前記ネットワークに接続されていない状態で、前記他のノードから送信される前記ホームアドレス宛の通信要求を受信した場合、前記他のノードから前記移動ノードへの通信要求が発生したことを示すイベント情報を保持する手段と、前記移動先のネットワークセグメントに接続された前記移動ノードから前記ネットワークを介して前記通信制御装置に送信される前記気付けアドレスの登録要求に応答して、前記保持されているイベント情報に基づき、前記移動ノードが通信可能になったことを前記他のノードに前記ネットワークを介して通知する通知手段とを具備することを特徴とする。
【００１４】
この通信制御装置によれば、ネットワークに接続されていない移動ノードのホームアドレス宛に通信要求を送信した他のノードに対して、その移動ノードが通信可能になったことを通知することができるので、移動ノードと他のノードとの間で双方向の通信を行うことが出来る可能性を高めることが可能となる。
【００１５】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態を説明する。
図１には、本発明の一実施形態に係るネットワークシステムの構成が示されている。このネットワークシステムは、インターネット１０のように、インターネットプロトコル（ＩＰ）を用いて通信を行うネットワークシステムである。
【００１６】
このネットワークシステムにおいては、移動ノードが存在するネットワーク上の実際の位置の変化によらずにその移動ノードが常に同一のＩＰアドレスを使用することを可能にするために、モバイルＩＰ技術（Ｍｏｂｉｌｅ  ＩＰｖ４またはＭｏｂｉｌｅ  ＩＰｖ６）が用いられている。以下では、移動ノードをモバイルノードと称することとする。
【００１７】
インターネット１０には、ネットワークセグメント１１，１２が接続されている。
【００１８】
ネットワークセグメント１１は、モバイルノード２１が本拠地として使用するネットワークセグメントである。このネットワークセグメント１１はホームリンク（Ｈｏｍｅ  Ｌｉｎｋ）またはホームネットワーク（Ｈｏｍｅ  Ｎｅｔｗｏｒｋ）と称される。ネットワークセグメント１１にはホームエージェント１０１が設けられている。ネットワークセグメント１１は、ホームエージェント１０１を介してインターネット１０に接続される。ネットワークセグメント１１は、例えば無線ＬＡＮなどから構成される。
【００１９】
モバイルノード２１は、例えば、ノートブックタイプのポータブルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、移動電話機、のような携帯端末から構成されている。モバイルノード２１は無線通信機能を有しており、ホームエージェント１０１との無線通信を実行することができる。さらに、モバイルノード２１には、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）を用いて音声通話を行うためのアプリケーションプログラムが搭載されている。
【００２０】
ネットワークセグメント１２は、モバイルノード２１がその移動先で必要に応じて接続可能な移動先のネットワークセグメントである。ネットワークセグメント１２は外部リンク（Ｆｏｒｅｉｇｎ  Ｌｉｎｋ）または外部ネットワーク（Ｆｏｒｅｉｇｎ  Ｎｅｔｗｏｒｋ）と称される。ネットワークセグメント１２にはルータ１０２が設けられている。ネットワークセグメント１２は、ルータ１０２を介してインターネット１０に接続される。ネットワークセグメント１２は、例えば公衆無線アクセスポイント等に設置された無線ＬＡＮから構成される。
【００２１】
また、インターネット１０には、ルータ１０３を介してノード３１が接続されている。ノード３１は固定ノードまたはモバイルノードから構成される。ノード３１は、ＩＰを利用することにより、インターネット１０を介してモバイルノード２１との通信を行うことが出来る。さらに、ノード３１には、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）を用いて音声通話を行うためのアプリケーションプログラムが搭載されている。
【００２２】
ホームエージェント１０１はモバイルノード２１との通信を制御する通信制御装置であり、Ｍｏｂｉｌｅ  ＩＰｖ４またはＭｏｂｉｌｅ  ＩＰｖ６のモバイルＩＰ技術を用いて、モバイルノード２１との通信を制御する。このホームエージェント１０１は、ネットワークセグメント１１とインターネット１０とを繋ぐルータによって実現されている。以下では、Ｍｏｂｉｌｅ  ＩＰｖ６を使用する場合を想定することとする。
【００２３】
ホームエージェント１０１は、モバイルノード２１に割り当てられたホームアドレス（ｈｏｍｅ  ａｄｄｒｅｓｓ）と、モバイルノード２１が現在接続されている移動先のネットワークセグメント１２において使用する気付けアドレス（Ｃａｒｅ−ｏｆ−Ａｄｄｒｅｓｓ）を管理する。
【００２４】
ホームアドレスは、モバイルノード２１が永続的に使用するグローバルＩＰアドレスである。このホームアドレスは、例えば、モバイルノード２１の本拠地であるネットワークセグメント１１へのパスを示すネットワークプリフィクス部と、モバイルノード２１に固有のＩＤ部とから構成される。
【００２５】
気付けアドレスは、モバイルノード２１が現在接続されている移動先のネットワークセグメント１２において使用するＩＰアドレスである。Ｍｏｂｉｌｅ  ＩＰｖ６においては、気付けアドレスもグローバルＩＰアドレスである。気付けアドレスは、例えば、移動先のネットワークセグメント１２へのパスを示すネットワークプリフィクス部と、モバイルノード２１に固有のＩＤとの組み合わせから構成される。ネットワークプリフィクス部は、ネットワークセグメント１２に設けられたルータ１０２からモバイルノード２１にブロードキャストされる。モバイルノードは、それがネットワークセグメント１２に接続された時に、ルータ１０２からブロードキャストされるネットワークプリフィクス部と、自身に固有のＩＤとから、ネットワークセグメント１２において使用すべき気付けアドレスを自動生成する。もちろん、ルータ１０２がモバイルノード２１に対して気付けアドレスを割り当てても良い。
【００２６】
ホームエージェント１０１は、ホームアドレスと気付けアドレスとの関係を管理することによって、モバイルノード２１が現在どのネットワークセグメントに存在するのか、つまりモバイルノード２１が現在どの気付けアドレスを使用しているのかを把握することができる。
【００２７】
モバイルノード２１がネットワークセグメント１２に接続されている期間中においては、ホームエージェント１０１は、インターネット１０を介して他のノード（例えばノード３１）から送信されるモバイルノード２１のホームアドレス宛のパケットを代行受信し、それをモバイルノード２１が存在するネットワークセグメント１２に転送する。
【００２８】
ここで、図２を参照して、Ｍｏｂｉｌｅ  ＩＰｖ６を使用した場合におけるパケット転送処理の仕組みについて説明する。
【００２９】
いま、モバイルノード２１がネットワークセグメント１１からネットワークセグメント１２に移動したとする。
【００３０】
（１）ｃａｒｅ−ｏｆ−ａｄｄｒｅｓｓ登録
モバイルノード２１は、まず、ネットワークセグメント１２で使用すべき気付けアドレスを獲得する。次いで、モバイルノード２１は、その気付けアドレスの登録要求をホームエージェント１０１に送信する。ホームエージェント１０１は、モバイルノード２１のホームアドレス（ｈｏｍｅ  ａｄｄｒｅｓｓ）と、登録要求で指定された気付けアドレス（ｃａｒｅ−ｏｆ−ａｄｄｒｅｓｓ）とを対応付ける（バインディング）。
【００３１】
（２）ｈｏｍｅ  ａｄｄｒｅｓｓ宛パケットの転送
ノード３１は、通信要求を含むパケットをモバイルノード２１のｈｏｍｅ  ａｄｄｒｅｓｓ宛に送信する。このパケットは、ホームエージェント１０１によって受信される。ホームエージェント１０１は、受信したパケットを、ｈｏｍｅ  ａｄｄｒｅｓｓに対応するｃａｒｅ−ｏｆ−ａｄｄｒｅｓｓ宛に転送する。これにより、パケットは、ネットワークセグメント１２に存在するモバイルノード２１に届く。
【００３２】
（３）ｃａｒｅ−ｏｆ−ａｄｄｒｅｓｓ登録
モバイルノード２１は、通信要求を含むパケットを送信したノード３１宛に、気付けアドレスの登録要求を送信する。
【００３３】
（４）直接通信
ノード３１は、モバイルノード２１の気付けアドレスを知る。これにより、以降は、ノード３１とモバイルノード２１との間で直接通信が実行される。
【００３４】
なお、ノード３１からモバイルノード２１へのパケット転送を常にホームエージェント１０１を介して実行し、モバイルノード２１からノード３１へのパケット転送についてのみ、ホームエージェント１０１を介さずに直接的に実行するようにする事も出来る。この場合、ノード３１は、モバイルノード２１の気付けアドレスを知る必要はないので、（３）の処理は省略することができる。
【００３５】
本実施形態においては、ホームエージェント１０１は、上述のパケット転送処理機能に加え、モバイルノード２１と他のノードとの間で音声通話などの双方向の通信ができる可能性を高めるために、状態通知機能を有している。
【００３６】
この状態通知機能は、モバイルノード２１がどのネットワークセグメントにも接続されていない状態でモバイルノード２１宛に通信要求を送信した他のノードに対して、そのモバイルノード２１が通信可能になったことを通知する機能である。
【００３７】
例えば、モバイルノード２１が、ネットワークセグメント１１からネットワークセグメント１２に移動する場合を考える。この移動途中においては、モバイルノード２１はインターネット１０に接続されていない。つまり、モバイルノード２１は、ネットワークセグメント１１、およびネットワークセグメント１２のどちらにも接続されていない。この状態で、ノード３１がモバイルノード２１のホームアドレス宛に通信要求を送信したとする。
【００３８】
ホームエージェント１０１は、ノード３１からモバイルノード２１への通信要求が発生したことを示すイベント情報を保持する。この後、モバイルノード２１が移動先のネットワークセグメント１２に接続されると、気付けアドレスの登録要求がモバイルノード２１からホームエージェント１０１に送信される。
【００３９】
この気付けアドレスの登録要求を受けると、ホームエージェント１０１は、モバイルノード２１が通信可能になったことを認識する。そして保持されているイベント情報に基づき、ホームエージェント１０１は、モバイルノード２１が通信可能になったことをノード３１に通知する。
【００４０】
次に、図３を参照して、ホームエージェント１０１に設けられている２つのテーブルについて説明する。
【００４１】
図３に示されているように、ホームエージェント１０１は、バインディングリストテーブル２０１と、固定登録リストテーブル２０２を有している。
【００４２】
バインディングリストテーブル２０１は、ホームエージェント１０１によって管理されるモバイルノード毎に、そのホームアドレスと現在の気付けアドレスとの対応関係を登録するためのテーブルである。
【００４３】
いま、モバイルノード２１が移動先のネットワークセグメント１２に接続されているとする。ホームエージェント１０１は、モバイルノード２１からのアドレス登録要求に応じて、ホームエージェント１０１のホームアドレスと気付けアドレスとの対応関係を示すアドレス情報を、バインディングリストテーブル２０１に登録する。もしモバイルノード２１のホームアドレスが“ＨＡ＃１”で、アドレス登録要求で指定された気付けアドレスが“ＣｏＡ＃１”であるならば、図示のように、“ＨＡ＃１”と“ＣｏＡ＃１”との組がアドレス情報としてバインディングリストテーブル２０１に登録される。モバイルノード２１からアドレス登録要求が送信される度に、ホームエージェント１０１は、モバイルノード２１に対応するアドレス情報の内容を更新する。モバイルノード２１がネットワークセグメント１１に接続された場合には、モバイルノード２１に対応するアドレス情報はバインディングリストテーブル２０１から削除される。また、モバイルノード２１がどのネットワークセグメントにも接続されていないことがホームエージェント１０１によって検出された場合にも、モバイルノード２１に対応するアドレス情報はバインディングリストテーブル２０１から削除される。
【００４４】
固定登録リストテーブル２０２は、通信要求を蓄積するために設けられたテーブルである。固定登録リストテーブル２０２は、ホームエージェント１０１によって管理されるモバイルノードそれぞれを登録するための複数のエントリを有する。各エントリには、モバイルノードのホームアドレスを示すホームアドレスフィールドと、そのモバイルノードに対して他のノードから通信要求が発生したことを示すイベント情報を蓄積するための通信要求リストとが定義されている。
【００４５】
ホームアドレスフィールドに登録されたモバイルノードのホームアドレスは、そのモバイルノードがネットワークに接続されていない時でも削除されない。
【００４６】
今、モバイルノード２１に対する通信要求を固定登録リストテーブル２０２に蓄積する場合を想定する。モバイルノード２１のホームアドレス“ＨＡ＃１”は、固定登録リストテーブル２０２のアドレスフィールドに登録される。モバイルノード２１がどのネットワークセグメントにも接続されていない期間中においては、ホームエージェント１０１は、ホームアドレス“ＨＡ＃１”宛の通信要求を他のノードから受信する度に、その通信要求に対応するイベント情報を、ホームアドレス“ＨＡ＃１”に対応する通信要求リストに登録する。
【００４７】
イベント情報は、通信要求を送信したノードのＩＰアドレスと、その通信要求がホームエージェント１０１によって受信された時刻とを含む。例えば、ＩＰアドレス“Ａ１”のノードから送信されるホームアドレス“ＨＡ＃１”宛の通信要求がホームエージェント１０１によって受信されたならば、通信要求を送信したノードのアドレス“Ａ１”と、その通信要求が受信された時刻“Ｔ１”との組が、イベント情報として、ホームアドレス“ＨＡ＃１”に対応する通信要求リストに登録される。
【００４８】
この固定登録リストテーブル２０２を用いることにより、ホームエージェント１０１は、どのモバイルノードに対してどのノードから何時通信要求が送信されたかを管理することが出来る。
【００４９】
次に、図４を参照して、ホームエージェント１０１の構成を説明する。
【００５０】
ホームエージェント１０１は、上述のバインディングリストテーブル２０１および固定登録リストテーブル２０２に加え、図示のように、ネットワークインタフェースユニット３０１、無線通信デバイス３０２、通信要求受信ユニット３０３、転送制御ユニット３０４、パケット転送ユニット３０５、通信要求登録ユニット３０６、不在メッセージ通知ユニット３０７、アドレス登録要求受信ユニット３０８、アドレス登録ユニット３０９、状態通知制御ユニット３１０、および状態通知ユニット３１１を備えている。これら各ユニットは、ハードウェアによって実現されている。
【００５１】
ネットワークインタフェースユニット３０１は、インターネット１０とホームエージェント１０１との間のパケット転送を制御するデバイスである。無線通信デバイス３０２は、ネットワークセグメント１１内に存在するモバイルノード２１との無線通信を実行するデバイスである。
【００５２】
受信ユニット３０３は、インターネット１０を介して他のノードから送信される、モバイルノード２１のホームアドレス宛の通信要求を含むパケットを受信するデバイスである。すなわち、受信ユニット３０３は、モバイルノード２１のホームアドレスを転送先アドレス（ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ）として含むパケットを受信する。受信ユニット３０３によって受信された通信要求は、転送制御ユニット３０４に送られる。
【００５３】
転送制御ユニット３０４は受信した通信要求の転送先を決定するデバイスであり、バインディングリストテーブル２０１を参照して、モバイルノード２１が現在どのネットワークセグメントに存在するかを決定する。パケット転送ユニット３０５は、転送制御ユニット３０４の制御の下、ネットワークセグメント１１以外の他のネットワークセグメントへ通信要求を転送する処理を実行するデバイスである。もしモバイルノード２１がネットワークセグメント１２に接続されているならば、受信された通信要求は、転送制御ユニット３０４からパケット転送ユニット３０５に送られる。パケット転送ユニット３０５は、モバイルノード２１がネットワークセグメント１２内で使用する気付けアドレス宛に、受信された通信要求を転送する。この気付けアドレスは、バインディングリストテーブル２０１に登録されている。
【００５４】
もしモバイルノード２１がネットワークセグメント１１内に存在するならば、受信された通信要求は転送制御ユニット３０４から無線通信デバイス３０２に送られ、そして無線通信デバイス３０２によって、モバイルノード２１のホームアドレス宛に無線で送信される。
【００５５】
またもし、モバイルノード２１がどのネットワークセグメントにも接続されていないならば、受信された通信要求は、転送制御ユニット３０４から通信要求登録ユニット３０６に送られる。通信要求登録ユニット３０６は、通信要求の発生を示すイベント情報を固定登録リストテーブル２０２に登録するデバイスである。不在通知メッセージ通知ユニット３０７は、通信要求を送信したノード宛に、不在通知メッセージを送信するように構成されている。不在通知メッセージは、モバイルノード２１が現在どのネットワークセグメントにも接続されておらず、モバイルノード２１が通信可能になった時点でその旨が通知されることを示す。
【００５６】
アドレス登録要求受信ユニット３０８は、インターネット１０を介してモバイルノード２１から送信される気付けアドレス登録要求を受信するデバイスである。アドレス登録要求受信ユニット３０８によって受信された登録要求は、アドレス登録ユニット３０９および状態通知制御ユニット３１０にそれぞれ送られる。
【００５７】
アドレス登録ユニット３０９は、モバイルノード２１のホームアドレスと登録要求で指定された気付けアドレスとの対応関係を示すアドレス情報を、バインディングリストテーブル２０１に登録するデバイスである。
【００５８】
状態通知制御ユニット３１０は、モバイルノード２１に対応するイベント情報を固定登録リストテーブル２０２から検索することによって、モバイルノード２１がネットワークに接続されていない期間中にそのモバイルノード２１に対する通信要求が発生したかどうかを判別するように構成されている。モバイルノード２１に対応するイベント情報が固定登録リストテーブル２０２に登録されているならば、そのイベント情報は、状態通知制御ユニット３１０から状態通知ユニット３１１に送られる。状態通知ユニット３１１は、イベント情報に基づき、モバイルノード２１が通信可能になったことを、モバイルノード２１に通信要求を送信したノードに通知する処理を実行するデバイスである。
【００５９】
なお、これら各ユニットは、ホームエージェント１０１内のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）によって実行されるソフトウェアによって実現することもできる。この場合、ホームエージェント１０１は図５のように構成される。
【００６０】
図５に示されているように、ホームエージェント１０１は、ＣＰＵ５０１と、メモリ５０２と、上述したネットワークインタフェースユニット３０１と無線通信デバイス３０２とから構成される。
【００６１】
ＣＰＵ５０１はホームエージェント１０１の動作を制御するプロセッサであり、メモリ５０２に記憶された各種プログラムを実行する。メモリ５０２には、上述のバインディングリストテーブル２０１および固定登録リストテーブル２０２が記憶されている。
【００６２】
さらに、メモリ５０２には、パケット転送処理プログラム６０１、通信要求登録プログラム６０２、および状態通知プログラム６０３が記憶されている。
【００６３】
パケット転送処理プログラム６０１は、Ｍｏｂｉｌｅ  ＩＰｖ６に従う上述のパケット転送処理をホームエージェント１０１に実行させるプログラムである。このパケット転送処理プログラム６０１は、図４で説明した通信要求受信ユニット３０３、転送制御ユニット３０４，パケット転送ユニット３０５、アドレス登録要求受信ユニット３０８、およびアドレス登録ユニット３０９それぞれの動作に対応する処理を実行する。
【００６４】
通信要求登録プログラム６０２は、モバイルノード２１がネットワークに接続されていない期間中に他のノードから受信した通信要求をイベント情報として固定登録リストテーブル２０２に登録する通信要求登録処理を実行するプログラムである。この通信要求登録プログラム６０２は、図４で説明した通信要求登録ユニット３０６および不在メッセージ通知ユニット３０７それぞれの動作に対応する処理を実行する。
【００６５】
状態通知プログラム６０３は、固定登録リストテーブル２０２に登録されているイベント情報に基づいて、モバイルノード２１に通信要求を送信した他のノードに対してモバイルノード２１が通信可能になったことを通知する処理を実行するプログラムである。この状態通知プログラム６０３は、図４で説明した状態通知制御ユニット３１０および状態通知ユニット３１１それぞれの動作に対応する処理を実行する。
【００６６】
図６に示されているように、ノード３１にはインジケータプログラム７０１がインストールされている。インジケータプログラム７０１は、ホームエージェント１０１の状態通知プログラム６０３から通知された内容をユーザに知らせる処理を実行するプログラムである。モバイルノード２１に通信要求を送信したノード３１のユーザは、このインジケータプログラム７０１を通じて、モバイルノード２１が通信可能になったことを知ることが出来る。
【００６７】
さらに、インジケータプログラム７０１は、ホームエージェント１０１から送信される不在通知メッセージを不在通知記録として記憶する機能を有する。
【００６８】
次に、図７のフローチャートを参照して、パケット転送処理プログラム６０１および通信要求登録プログラム６０２を用いることによってホームエージェント１０１のＣＰＵ５０１によって実行されるパケット転送処理および通信要求登録処理の手順について説明する。
【００６９】
以下では、ノード３１で実行されるＶｏＩＰアプリケーションプログラムが、モバイルノード２１で実行されるＶｏＩＰアプリケーションプログラムに対して音声通話のための通信要求を送信する場合を想定する。
【００７０】
ＣＰＵ５０１は、ノード３１からインターネット１０を介して送信されるモバイルノード２１のホームアドレス宛の通信要求を、ネットワークインタフェースユニット３０１を介して受信する（ステップＳ１０１）。この通信要求を受信すると、ＣＰＵ５０１は、バインディングリストテーブル２０１を参照して、モバイルノード２１のホームアドレスを含むアドレス情報がバインディングリストテーブル２０１に登録されているかどうかを判断する（ステップＳ１０２）。
【００７１】
もしモバイルノード２１のホームアドレスを含むアドレス情報がバインディングリストテーブル２０１に登録されているならば（ステップＳ１０２のＹＥＳ）、ＣＰＵ５０１は、受信された通信要求を、アドレス情報で指定される気付けアドレス宛に転送する処理を実行する（ステップＳ１０３）。
【００７２】
一方、もしモバイルノード２１のホームアドレスを含むアドレス情報がバインディングリストテーブル２０１に登録されていないならば（ステップＳ１０２のＮＯ）、ＣＰＵ５０１は、モバイルノード２１がネットワークセグメント１１内に存在するかどうかを調べるために、無線通信デバイス３０２を用いることによって、モバイルノード２１との通信を試行する（ステップＳ１０４）。
【００７３】
モバイルノード２１との通信が成功したならば（ステップＳ１０５のＹＥＳ）、ＣＰＵ５０１は、モバイルノード２１がネットワークセグメント１１内に存在すると判断し、無線通信デバイス３０２を用いることによって、通信要求をモバイルノード２１のホームアドレス宛に送信する（ステップＳ１０６）。
【００７４】
モバイルノード２１との通信が成功しなかったならば（ステップＳ１０５のＮＯ）、ＣＰＵ５０１は、モバイルノード２１が現在ネットワークに接続されていないと判断し、通信要求登録プログラム６０２を起動する。そして、ＣＰＵ５０１は、モバイルノード２１のホームアドレスが固定登録リストテーブル２０２のアドレスフィールドに登録されているかどうかを判断する（ステップＳ１０７）。
【００７５】
モバイルノード２１のホームアドレスが固定登録リストテーブル２０２のアドレスフィールドに登録されているならば（ステップＳ１０７のＹＥＳ）、ＣＰＵ５０１は、通信要求を送信したノード３１のアドレスと通信要求を受信した時刻を、イベント情報として固定登録リストテーブル２０２に登録する（ステップＳ１０８）。この後、ＣＰＵ５０１は、ネットワークインタフェースユニット３０１を通じて、不在通知メッセージをノード３１に送信する（ステップＳ１０９）。この不在通知メッセージにより、ノード３１は、モバイルノード２１が通信可能になった時点でその旨が通知されることを知る。
【００７６】
モバイルノード２１のホームアドレスが固定登録リストテーブル２０２のアドレスフィールドに登録されていないならば（ステップＳ１０７のＮＯ）、ＣＰＵ５０１は、ネットワークインタフェースユニット３０１を通じて、通信要求がモバイルノードに到達できなかった旨を示すエラーメッセージをノード３１に送信する（ステップＳ１１０）。
【００７７】
次に、図８のフローチャートを参照して、ＣＰＵ５０１によって実行される状態通知処理の手順について説明する。
【００７８】
モバイルノード２１は、移動先のネットワークセグメント１２に移動した時に、そのネットワークセグメント１２において使用すべき気付けアドレスを取得する。気付けアドレスを取得したモバイルノード２１は、その気付けアドレスの登録要求を、Ｍｏｂｉｌｉ  ＩＰｖ６で規定された手順に従ってホームエージェント１０１宛に送信する。
【００７９】
ホームエージェント１０１のＣＰＵ５０１は、モバイルノード２１からインターネット１０を介して送信されるアドレス登録要求をネットワークインタフェースユニット３０１を介して受信する（ステップＳ１１１）。ＣＰＵ５０１は、状態通知プログラム６０３を起動して、次の処理を実行する。
【００８０】
まず、ＣＰＵ１０１は、固定登録リストテーブル２０２を検索して、モバイルノード２１宛の通信要求に対応するイベント情報が登録されているかどうかを判別する（ステップＳ１１２，Ｓ１１３）。
【００８１】
もしイベント情報が登録されているならば、ＣＰＵ５０１は、そのイベント情報に基づき、モバイルノード２１に通信要求を送信したノード３１に、モバイルノード２１が通信可能になったことを示すパケットを状態通知メッセージとして送信する（ステップＳ１１４）。このパケットには、モバイルノード２１のホームアドレスと、イベント情報に含まれる通信要求時刻が含まれている。さらに、ＣＰＵ５０１は、ノード３１から通信要求があったことを示すパケットをモバイルノード２１に状態通知メッセージとして送信する（ステップＳ１１５）。このパケットには、イベント情報でそれぞれ指定されるるノード３１のアドレスと通信要求時刻とが含まれている。
【００８２】
この後、ＣＰＵ５０１は、アドレス登録要求で指定された気付けアドレスとモバイルノード２１のホームアドレスとの対応関係を示すアドレス情報をバインディングリストテーブル２０１に登録する（ステップＳ１１６）。
【００８３】
なお、実際には、アドレス情報をバインディングリストテーブル２０１に登録する前に、ＣＰＵ５０１は、アドレス登録要求が正当なものであるか否かを判別する正当性検証処理を、Ｍｏｂｉｌｉ  ＩＰｖ６で規定された手順に従って実行する。この正当性検証処理には比較的多くの時間が費やされる場合がある。
【００８４】
セキュリティー性を高めるためには、図８のステップＳ１１２〜Ｓ１１５の状態通知処理は、アドレス登録要求が正当なものであることが判別された後に実行されるべきである。一方、モバイルノードが通信可能になったことをより迅速に他のノードに通知するためには、図８のステップＳ１１２〜Ｓ１１５の状態通知処理は、正当性検証処理の前に実行されるべきである。
【００８５】
本実施形態においては、状態通知プログラム６０３が実行されるべきタイミングを可変設定することができる。すなわち、ＣＰＵ５０１は、状態通知モードとして第１の状態通知モードと第２の状態通知モードとを有しており、ホームエージェント１０１のユーザ（管理者）によって指定された一方の状態通知モードに対応するタイミングで、状態通知処理を実行する。
【００８６】
図９のフローチャートには、正当性検証処理と状態通知処理の実行タイミングの関係が示されている。
【００８７】
第１の状態通知モードが選択されたときには、状態通知処理は図９のタイミングＡにおいて実行される。すなわち、ＣＰＵ５０１は、モバイルノード２１から送信されるアドレス登録要求を受信すると（ステップＳ２０１）、図８のステップＳ１１２〜Ｓ１１５で説明した状態通知処理を実行する。この後、ＣＰＵ５０１は、正当性検証処理を実行して、アドレス登録要求が正当なものかどうかを判断する（ステップＳ２０２，Ｓ２０３）。アドレス登録要求が正当なものであることが確認されたならば（ステップＳ２０３のＹＥＳ）、ＣＰＵ５０１は、アドレス登録要求で指定された気付けアドレスとモバイルノード２１のホームアドレスとの対応関係を示すアドレス情報をバインディングリストテーブル２０１に登録する（ステップＳ２０５）。アドレス登録要求が正当なものであることが確認されなかったならば（ステップＳ２０３のＮＯ）、ＣＰＵ５０１は、アドレス登録要求を破棄する（ステップＳ２０４）。
【００８８】
この第１の状態通知モードにおいては、状態通知は、その後の処理でアドレス登録要求の正当性が確認できなかった場合に、誤ったものになる可能性があるが、状態通知処理を早期に実行できるというメリットがある。通常は、正当性が確認できずに登録要求が破棄される可能性は極めて小さい。
【００８９】
第２の状態通知モードが選択されたときには、状態通知処理は図９のタイミングＢにおいて実行される。すなわち、ＣＰＵ５０１は、モバイルノード２１から送信されるアドレス登録要求を受信すると（ステップＳ２０１）、正当性検証処理を実行して、アドレス登録要求が正当なものかどうかを判断する（ステップＳ２０２，Ｓ２０３）。アドレス登録要求が正当なものであることが確認されたならば（ステップＳ２０３のＹＥＳ）、ＣＰＵ５０１は、図８のステップＳ１１２〜Ｓ１１５で説明した状態通知処理を実行する。この後、ＣＰＵ５０１は、アドレス登録要求で指定された気付けアドレスとモバイルノード２１のホームアドレスとの対応関係を示すアドレス情報をバインディングリストテーブル２０１に登録する（ステップＳ２０５）。一方、アドレス登録要求が正当なものであることが確認されなかったならば（ステップＳ２０３のＮＯ）、ＣＰＵ５０１は、アドレス登録要求を破棄する（ステップＳ２０４）。状態通知処理およびアドレス情報登録処理は実行されない。
【００９０】
第２の状態通知モードにおいては、状態通知処理の実行タイミングは遅れるが、アドレス登録要求の偽造による攻撃を排除することができ、攻撃の可能性の高い環境においては安定した通信が可能になる。
【００９１】
次に、図１０のフローチャートを参照して、ノード３１に設けられるインジケータプログラム７０１によって実行される処理について説明する。
【００９２】
インジケータプログラム７０１は、ホームエージェント１０１から送信される状態通知メッセージを受信すると（ステップＳ３１１）、状態通知メッセージで通知されたモバイルノード２１のホームアドレスが、インジケータプログラム７０１によって管理される不在通知リストに登録されているかどうかを判断する（ステップＳ３１２）。不在通知リストは、上述したように、ホームエージェント１０１から受信した不在通知メッセージに基づいて作成される。インジケータプログラム７０１は、不在通知メッセージを受信するたびに、図１１に示されているように、ノード３１が通信要求を送信した相手先モバイルノードのホームアドレスと、通信要求送信時刻と、通信要求の送信を要求したアプリケーションプログラム名（例えば、ＶｏＩＰアプリケーション）とを、不在通知リストに登録する。
【００９３】
状態通知メッセージで通知されたモバイルノード２１のホームアドレスが不在通知リストに登録されていない場合（ステップＳ３１１のＮＯ）、インジケータプログラム７０１は、状態通知メッセージで通知されたモバイルノード２１のホームアドレスと、通信要求時刻を、ノード３１のディスプレイに表示して、ノード３１のユーザにモバイルノード２１が通信可能になったことを呈示する（ステップＳ３１３）。
【００９４】
一方、状態通知メッセージで通知されたモバイルノード２１のホームアドレスが不在通知リストに登録されているならば（ステップＳ３１１のＹＥＳ）、インジケータプログラム７０１は、不在通知リストに登録されているプログラム、つまり通信要求を発生したプログラムが、起動可能な状態であるかどうかを判別する（ステップＳ３１４）。起動可能でなれば（ステップＳ３１４のＮＯ）、インジケータプログラム７０１は、不在通知リストにそれぞれ登録されている、モバイルノード２１のホームアドレス、通信要求時刻、通信要求を発生したプログラム名をノード３１のディスプレイに表示する（ステップＳ３１５）。起動可能でなれば（ステップＳ３１４のＮＯ）、インジケータプログラム７０１は、当該プログラムを起動し、そしてそのプログラムにモバイルノード２１のホームアドレスを渡すことによって、以前に送信した送信要求を再び送信させる（ステップＳ３１６）。これにより、ＶｏＩＰアプリケーションを用いた音声通話を、状態通知メッセージの受信に応答して自動的に開始することが可能となる。
【００９５】
以上のように、ホームエージェント１０１は、ネットワークに接続されていないモバイルノード２１に通信要求を送信したノード３１に対して、そのモバイルノード２１が通信可能になったことを通知することができるので、モバイルノード２１とノード３１との間で双方向の通信を行うことが出来る可能性を高めることが可能となる。
【００９６】
ホームエージェント１０１によって提供される状態通知の仕組みは、音声通話のためのアプリケーション他、例えば対戦型ゲーム、チャット等のような、通信の当事者同士が同時にネットワークに接続されていることを必要とする通信アプリケーション全般に適用可能である。
【００９７】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００９８】
【発明の効果】
以上説明したように、本発明によれば、移動ノードと他のノードとの間で双方向の通信を行うことが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るホームエージェントを含むネットワークシステムの構成を示すブロック図。
【図２】図１のホームエージェントによって実行されるパケット転送処理を説明するための図。
【図３】図１のホームエージェントに設けられるバインディングリストテーブルと固定登録リストテーブルを説明するための図。
【図４】図１のホームエージェントの構成を示すブロック図。
【図５】図１のホームエージェントの構成の他の例を示すブロック図。
【図６】図１のホームエージェントに設けられた状態通知プログラムとノードに設けられたインジケータプログラムとの関係を示す図。
【図７】図１のホームエージェントによって実行されるパケット転送処理および通信要求登録処理の手順を示すフローチャート。
【図８】図１のホームエージェントによって実行される状態通知処理の手順を示すフローチャート。
【図９】図１のホームエージェントによって実行される正当性検証処理と状態通知処理との間の実行タイミングの関係を示す図。
【図１０】図６のインジケータプログラムによって実行される処理の手順を示すフローチャート。
【図１１】図６のインジケータプログラムによって管理される不在通知リストの一例を示す図。
【符号の説明】
１１，１２…ネットワークセグメント
２１…モバイルノード
３１…ノード
１０１…ホームエージェント
２０１…バインディングリストテーブル
２０２…固定登録リストテーブル
３０１…ネットワークインタフェースユニット
３０２…無線通信デバイス
５０１…ＣＰＵ
５０２…メモリ
６０１…パケット転送処理プログラム
６０２…通信要求登録プログラム
６０３…状態通知プログラム
【図１】
2004186983.tif 000003
【図２】
2004186983.tif 000004
【図３】
2004186983.tif 000005
【図４】
2004186983.tif 000006
【図５】
2004186983.tif 000007
【図６】
2004186983.tif 000008
【図７】
2004186983.tif 000009
【図８】
2004186983.tif 000010
【図９】
2004186983.tif 000011
【図１０】
2004186983.tif 000012
【図１１】
2004186983.tif 000013