(57)【特許請求の範囲】
【請求項１】
相互に接続された複数のサブネットワーク間を移動して通信を行うことが可能な移動端末であって、
通信パケットの処理を行うＴＣＰ／ＩＰドライバと、
通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関するパケットを含む制御系パケットの処理とを、通信パケットに関する処理より優先し、かつＴＣＰ／ＩＰドライバを介さずに行う制御系ドライバ、
を備え、
前記制御系ドライバが動作されると、前記ＴＣＰ／ＩＰドライバでの通信パケット処理動作を一時停止または処理待ちの通信パケットを廃棄することを特徴とする移動端末。
【請求項２】
前記制御系ドライバは、受信したパケットが通信パケットであるか制御系パケットであるかを判別し、受信したパケットが通信パケットの場合には受信したパケットを前記ＴＣＰ／ＩＰドライバへ転送することを特徴とする請求項１記載の移動端末。
【請求項３】
移動端末の位置の変更に伴って、状態を変更したり、アドレスを取得したり、現在位置情報を更新したりするためのＴＣＰ／ＩＰにおけるアドレス更新処理を、前記ＴＣＰ／ＩＰドライバを介さずに前記制御ドライバで行うことを特徴とする請求項１記載の移動端末。
【請求項４】
前記制御系ドライバは、モバイルＩＰパケットおよびＤＨＣＰパケットを含む制御系パケットの処理を行うことを特徴とする請求項１記載の移動端末。
【請求項５】
前記制御系ドライバは、ＩＰｖ６における近隣広告及び近隣問い合わせパケット、またはＭｏｂｉｌｅ  ＩＰｖ６におけるバインド更新メッセージパケットを含む制御系パケットの処理を行うことを特徴とする請求項１に記載の移動端末。
【請求項６】
前記制御系ドライバは、移動端末が制御系パケットを送信する場合には、制御系パケットを生成することを特徴とする請求項１記載の移動端末。
【請求項７】
前記制御系ドライバは、制御系パケットを受信した場合には、前記ＴＣＰ／ＩＰドライバを介さずに該制御系パケットの解釈を行い、該制御系パケットをモバイルＩＰ管理プログラムへ直接転送し、モバイルＩＰ管理プログラムへ制御パケットが直接転送されると、ＴＣＰ／ＩＰドライバでのパケット処理動作を一時停止または処理待ちの通信パケットを廃棄することを特徴とする移動端末。
【請求項８】
相互に接続された複数のサブネットワーク間を移動して通信を行うことが可能な移動端末の通信方法であって、
ＴＣＰ／ＩＰドライバにおいて通信パケットの処理を行う通信パケット処理ステップと、
制御系ドライバにおいて通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関するパケットを含む制御系パケットの処理を、前記通信パケット処理ステップより優先し、かつ前記ＴＣＰ／ＩＰドライバを介さずに行う制御系パケット処理ステップと、備え、
前記制御系パケット処理が実行されると、前記通信パケット処理ステップの動作を一時停止また該通信パケット処理ステップに対して処理待ちの通信パケットを廃棄することを特徴とする移動端末の通信方法。
【請求項９】
相互に接続された複数のサブネットワーク間を移動して通信を行うことが可能な移動端末の制御系ドライバであって、
受信したパケットが通信パケットであるか、通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関連するパケットを含む制御系パケットであるかを判断するパケット判断部と、
通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関連するパケットを含む制御系パケットの処理を、移動端末のＴＣＰ／ＩＰドライバによって処理される通信パケットよりも優先して行い、前記制御系ドライバが稼動されると、ＴＣＰ／ＩＰドライバでのパケット処理動作を一時停止または処理待ちの通信パケットを廃棄する制御系パケット処理部と、
を備えたことを特徴とする制御系ドライバ。
【請求項１０】
相互に接続された複数のサブネットワーク間を移動して通信を行うことが可能な移動端末の制御系ドライバの通信方法であって、
受信したパケットが通信パケットであるか、通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関連するパケットを含む制御系パケットであるかを判断するステップと、
通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関連するパケットを含む制御系パケットの処理を、移動端末のＴＣＰ／ＩＰドライバによって処理される通信パケットよりも優先して行い、制前記制御系ドライバが稼動時に、ＴＣＰ／ＩＰドライバでのパケット処理動作を一時停止または処理待ちのパケットを廃棄するステップと、
を備えたことを特徴とする制御系ドライバの処理方法。
【請求項１１】
コンピュータを、相互に接続された複数のサブネットワーク間を移動して通信を行うことが可能な移動端末の制御系ドライバとして通信を行うことが可能な移動端末の制御系ドライバとして機能させるためのコンピュータプログラム製品であって、
前記コンピュータに、受信したパケットが通信パケットであるか、通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関連するパケットを含む制御系パケットであるかを判断させる第一のコンピュータプログラムと、
前記コンピュータに、通信を行う上で緊急性のあるＴＣＰ／ＩＰに付加したプロトコル処理パケットと、ＴＣＰ／ＩＰのうちアドレス情報の処理に関連するパケットを含む制御系パケット処理を、移動端末のＴＣＰ／ＩＰドライバによって処理される通信パケットより優先して行わせるとともに、該制御系パケット処理が行われている間は、ＴＣＰ／ＩＰドライバでのパケット処理動作を一時停止もしくは未処理の通信パケットを廃棄するように動作する第二のコンピュータプログラムと、
を備えたことを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネット内の移動端末の移動をサポートするＩＥＴＦ  Ｍｏｂｉｌｅ  ＩＰプロトコルに準拠した移動端末に関するものである。
【０００２】
【従来の技術】
インターネットに接続された移動端末については、ＩＥＴＦ(Internet Engine ering Task Force)が発行するＲＦＣ２００２／３２２０に準拠する製品が増加している。サブネットワーク間の移動をサポートするＲＦＣ２００２／３２２０に規定されたＩＥＴＦ  Ｍｏｂｉｌｅ  ＩＰプロトコルによれば、図４に示すような一構成例が考えられる。移動端末２２（Mobile Node:MN）は、たとえばＤＨＣＰ等の手段により移動先のサブネットワークで一時的に使用するＩＰアドレス（care-of address）を取得する。そして移動端末２２は、その情報を登録するために移動登録要求２５（registration request:RRQ）パケットをホーム・エージェント２４（Home Agent:HA）へ送信する。このときフォーリン・エージェント２３（Foregin Agent:FA）を経由しても良いし、また経由せずに直接ホーム・サブネットに存在するホーム・エージェント２４に送信しても良い。
【０００３】
ここで言うＤＨＣＰ（Dynamic Host Configuration Protocol）とは、ネットワーク上の通信ノードにＩＰアドレスを割り当てる仕組みである。通常はネットワーク上にＤＨＣＰサーバが存在し、通信ノードからの要求によってＩＰアドレスを割り当てていく。この仕組みによれば、通信ノード側にはあらかじめ固定したＩＰアドレスを付与しておく必要がない。通信ノードとは、たとえば移動端末のようなネットワークに接続された端末やネットワーク機器のことである。
【０００４】
ホーム・エージェント２４は移動登録が成功した場合、あるいは失敗した場合であっても移動登録要求２５（RRQ）を送り出した移動端末２２へ、移動登録応答２６（registration reply:RRP）パケットを送信する。このように移動登録を行なうことは、移動端末２２（MN）の所在を明らかにする上で重要なステップである。
【０００５】
図６は従来の移動端末の内部構成を示した模式図の一例である。
【０００６】
本図にはＴＣＰ／ＩＰのスタックを制御するＴＣＰ／ＩＰドライバ１、移動端末上で稼働する一般のアプリケーション・プログラム２、モバイルＩＰ関連の処理を行なうモバイルＩＰ管理プログラム３、ネットワーク・カードを制御するネットワーク・ドライバ４、およびイーサネット接続の物理的な伝達を行なうネットワーク・カード５が示されている。
【０００７】
従来技術においては移動端末に組み込まれたモバイルＩＰ管理プログラム３は、モバイルＩＰに関連した通信を、一般に利用されているＯＳ（Operating System）が標準に備えているＴＣＰ／ＩＰドライバの機能を利用して行なっている。標準の手段とは、たとえばＷｉｎＳｏｃｋの仕様に準拠したソケットを介して行なっている場合が多い。ＷｉｎＳｏｃｋとはＴＣＰ／ＩＰのスタックを処理するソフトウェアを提供するベンダーの間で合意された、通信インターフェース仕様である。このようなソケットを介して通信ノードとコネクションをとるような通信は比較的容易に実現できる。しかしながらこれらのＯＳ内処理は、汎用に利用されることを前提としているために必ずしも意図した通りに使用できるとは限らない。
【０００８】
モバイルＩＰ関連パケットにはたとえば移動登録要求（RRQ）パケットと移動登録応答（RRP）パケットがある。モバイルＩＰ管理プログラム３はＯＳが標準に備えるＴＣＰ／ＩＰドライバのソケットを用いてＴＣＰ／ＩＰドライバ１とデータの授受をしている。そしてネットワーク・ドライバ４とネットワーク・カード５を経由してネットワーク上に存在するホーム・エージェントとの間に通信のためのコネクションを確立していた。
【０００９】
このように従来技術においてはモバイルＩＰ関連の緊急性を要求されるパケット通信も、他の一般アプリケーション・プログラムのパケットと同じように区別なく処理されていた。ＯＳに標準的に備えられたＴＣＰ／ＩＰドライバのソケットは、通信要求されたものから順次に処理していくことが多い。上記のように複数のプログラムがＯＳに対し同時に要求を行なった場合には、緊急性を要求されるパケットであったとしても、従来技術においては適切な時期に送受信が行なわれない可能性があった。
【００１０】
上述したような問題を回避するため、特定のパケットに優先付けを行なうことも可能である。しかしながらこの手段では、受け取ったパケットの種別に応じて優先制御を行わなければならず、処理そのものが複雑になることが多い。これは移動端末の通信速度を悪化させる原因ともなる。さらに、アプリケーション側で改善を行なったとしても、ＯＳが提供するソケットを使用する限り前述の理由により効果はほとんど期待できないと考えられる。
【００１１】
また、移動端末が接続先のサブネットワークを適宜移動しながら通信を行なうには、移動先のサブネットワークにおいてＤＨＣＰ等により一時的なＩＰアドレス（care-of address）を取得する必要がある。この一時的なＩＰアドレスは、移動端末が新たに接続したサブネットワーク内で通信を行なうために取得する必須のＩＰアドレスである。これを得るためのＤＨＣＰ等に関係するパケットの送受信についてもモバイルＩＰ同様の考慮が必要である。
【００１２】
またＩＰｖ６におけるＭｏｂｉｌｅ  ＩＰでは、ＤＨＣＰの代わりに上流ルータからのネットワークプリフィクス広告（近隣広告）、及びそれを端末が自分で問い合わせる近隣問い合わせパケットや、移動時に新規の位置情報を通知するバインド更新バケットも同様の制御系パケットとして優先制御する必要がある。
【００１３】
【発明が解決しようとする課題】
移動端末における従来技術の通信手段において、モバイルＩＰのような緊急性を必要とするパケットが適切なタイミングで処理されない、あるいは通信効率の面で問題があった。
【００１４】
本発明は、通信効率を落とすことなくこれら緊急性を必要とするパケットを優先的に処理することで移動通信の安定を図ることができる移動端末を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明は、相互に接続された複数のサブネットワーク間を移動して通信を行なうことが可能な移動端末であって、通信パケットの処理を行なうＴＣＰ／ＩＰドライバと、通信を行う上で緊急性のある制御系パケットの処理を、通信パケットより優先してＴＣＰ／ＩＰドライバを介さずに行なう制御系ドライバと、を備えたことを特徴とする移動端末を提供する。
【００１６】
また、本発明では、前記制御系ドライバは、受信したパケットが通信パケットであるか制御系パケットであるかを判別し、受信したパケットが通信パケットの場合には受信したパケットを前記ＴＣＰ／ＩＰドライバへ転送することを特徴とする。
【００１７】
また、本発明では、前記制御系ドライバは、移動端末の位置の変更に伴って、状態を変更したり、アドレスを取得したり、現在位置情報を更新したりするためのパケットである制御系パケットの処理を行うことを特徴とする。
【００１８】
また、本発明では、前記制御系ドライバは、モバイルＩＰパケットおよびＤＨＣＰパケットを含む制御系パケットの処理を行うことを特徴とする。
【００１９】
また、本発明では、前記制御系ドライバは、ＩＰｖ６における近隣広告及び近隣問い合わせパケット、またはＭｏｂｉｌｅ  ＩＰｖ６におけるバインド更新メッセージパケットを含む制御系パケットの処理を行うことを特徴とする。
【００２０】
また、本発明では、前記制御系ドライバは、移動端末が制御系パケットを送信する場合には、制御系パケットを生成することを特徴とする。
【００２１】
また、本発明では、前記制御系ドライバは、制御系パケットを受信した場合には、前記ＴＣＰ／ＩＰドライバを介さずに該制御系パケットの解釈を行い、該制御系パケットをモバイルＩＰ管理プログラムへ直接転送することを特徴とする。
【００２２】
さらに、本発明は、相互に接続された複数のサブネットワーク間を移動して通信を行なうことが可能な移動端末の通信方法であって、ＴＣＰ／ＩＰドライバで、通信パケットの処理を行なうステップと、制御系ドライバで、通信を行う上で緊急性のある制御系パケットの処理を、通信パケットより優先してＴＣＰ／ＩＰドライバを介さずに行なうステップと、を備えたことを特徴とする移動端末の通信方法を提供する。
【００２３】
さらに、本発明は、相互に接続された複数のサブネットワーク間を移動して通信を行なうことが可能な移動端末の制御系ドライバであって、受信したパケットが通信パケットであるか、通信を行う上で緊急性のある制御系パケットであるかを判断するパケット判断部と、通信を行う上で緊急性のある制御系パケットの処理を、移動端末のＴＣＰ／ＩＰドライバによって処理される通信パケットより優先して行なう制御系パケット処理部と、を備えたことを特徴とする制御系ドライバを提供する。
【００２４】
さらに、本発明は、相互に接続された複数のサブネットワーク間を移動して通信を行なうことが可能な移動端末の制御系ドライバの処理方法であって、受信したパケットが通信パケットであるか、通信を行う上で緊急性のある制御系パケットであるかを判断するステップと、通信を行う上で緊急性のある制御系パケットの処理を、移動端末のＴＣＰ／ＩＰドライバによって処理される通信パケットより優先して行なうステップと、を備えたことを特徴とする制御系ドライバの処理方法を提供する。
【００２５】
さらに、本発明は、コンピュータを、相互に接続された複数のサブネットワーク間を移動して通信を行なうことが可能な移動端末の制御系ドライバとして機能させるためのコンピュータプログラム製品であって、前記コンピュータに、受信したパケットが通信パケットであるか、通信を行う上で緊急性のある制御系パケットであるかを判断させる第一のコンピュータプログラムコードと、前記コンピュータに、通信を行う上で緊急性のある制御系パケットの処理を、移動端末のＴＣＰ／ＩＰドライバによって処理される通信パケットより優先して行わせる第二のコンピュータプログラムコードと、を備えたことを特徴とするコンピュータプログラム製品を提供する。
【００２６】
【発明の実施の形態】
本発明の一実施例を図１に示す。本発明にかかる移動端末の主な構成要素として、モバイルＩＰを優先的に処理するモバイルＩＰドライバ８、モバイルＩＰの制御を行なうモバイルＩＰ管理プログラム９、一般のアプリケーション・プログラム１０、ネットワーク・カードを制御するネットワーク・ドライバ１１、ＴＣＰ／ＩＰスタックを処理するＴＣＰ／ＩＰドライバ１２、およびネットワーク・カードを有し、通信物理網であるイーサネットへと接続されている。
【００２７】
図１に示すように、本実施例ではＴＣＰ／ＩＰドライバ１２とネットワーク・ドライバ１１との間に、モバイルＩＰドライバ８を挿入した構成となっている。ＴＣＰ／ＩＰドライバ１２は当該移動端末に実装されたＯＳに付随する一般的に提供されているＴＣＰ／ＩＰスタックを処理するプログラムである。その上位のアプリケーション・プログラムが、このＴＣＰ／ＩＰドライバ１２とデータの授受のために使用するＡＰＩ（Application Interface）がソケットと呼ばれている。また本図中、モバイルＩＰドライバ８がＴＣＰ／ＩＰドライバ１２よりも下位に配置しているのは、ＴＣＰ／ＩＰドライバ１２の影響を排除することを目的としている。このとき通常ネットワーク・ドライバ１１はネットワーク・カードを制御する目的で使用されるプログラムである。ネットワーク・カードは当該移動端末全体で共通に利用されるものなので、その制御プログラムであるネットワーク・ドライバ１１は共用される位置、つまりモバイルＩＰドライバ８よりも下位に配置されている。
【００２８】
まず移動端末上で稼動する一般のアプリケーション・プログラム１０からパケットを送信する場合を説明する。アプリケーション・プログラム１０から送信要求のあったデータは、ＯＳがＴＣＰ／ＩＰドライバ１２で提供するソケットを通じてＴＣＰ／ＩＰドライバ１２へ転送される。ここでＴＣＰ／ＩＰのパケットが生成されモバイルＩＰドライバ８へとさらに転送される。こうして転送されてくるパケットはモバイルＩＰではない一般のパケットであるから、モバイルＩＰドライバ８は通常はこれをそのまま次のネットワーク・ドライバ１１に転送する。
【００２９】
これとは逆に一般のアプリケーション・プログラム１０がパケットを受信する場合を説明する。イーサネットからネットワーク・カードを通じて取得された受信パケットは、まずネットワーク・ドライバ１１からモバイルＩＰドライバ８へと転送される。これを受けたモバイルＩＰドライバ８は転送されたパケットをそのままＴＣＰ／ＩＰドライバ１２へと転送する。そしてアプリケーション・プログラム１０はソケットを通じてＴＣＰ／ＩＰドライバ１２よりデータを取得する。
【００３０】
次にモバイルＩＰ管理プログラム９が、モバイルＩＰに定義された移動登録要求（RRQ）パケットなどの緊急性を要求されるパケットを送信する場合を説明する。上記パケットの送出要求は通常モバイルＩＰ管理プログラム９から発せられる。この要求は直接、モバイルＩＰドライバ８へと受け渡される。これを受け取ったモバイルＩＰドライバ８は移動登録要求（RRQ）パケットを生成し、ＴＣＰ／ＩＰドライバ１２からの転送要求よりも優先して前記移動登録要求（RRQ）パケットを次のネットワーク・ドライバ１１に転送する。
【００３１】
モバイルＩＰドライバ８が、ＴＣＰ／ＩＰドライバ１２から転送されるパケットよりもモバイルＩＰのパケットを優先して処理する動作は、原則として先に送信した移動登録要求（RRQ）によりホーム・エージェントへの登録が成功するまで継続される。このとき、一般アプリケーション・プログラム１０が要求する送信パケットは破棄するか、あるいはキューに蓄積するなどの制御がなされる。
【００３２】
逆に、モバイルＩＰ管理プログラム９がネットワーク上のエージェントからモバイルＩＰに定義された移動登録応答（RRP）パケットなどを受信する場合を説明する。ネットワーク・ドライバ１１からモバイルＩＰのパケットを受け取ったモバイルＩＰドライバ８は、パケットの解釈の後直接、モバイルＩＰ管理プログラム９へと転送する。
【００３３】
モバイルＩＰのような移動端末の通信上緊急性を要するパケットであり、一般のアプリケーション・プログラムでは直接利用されないものを便宜上制御系パケットと呼ぶことにする。一般的には、制御系パケットとは、移動端末の位置の変更に伴って、状態を変更したり、アドレスを取得したり、現在位置情報を更新したりするためのパケットである。
【００３４】
移動端末は移動先のサブネットワークでＤＨＣＰ等を使用して一時アドレス（care-of address）を取得する必要もある。ＤＨＣＰは一般に使用されるプロトコルだが、一時アドレス（care-of address）の取得に深く関与するため本件移動端末においては緊急性のある制御系パケットに分類できる。これまでの説明はモバイルＩＰのパケットの処理に関するものであるが、上記理由からモバイルＩＰドライバ８はモバイルＩＰパケットの扱い同様、ＤＨＣＰに定義された送受信パケットについても同様の処理を行なう。
【００３５】
モバイルＩＰに準拠した移動端末は、接続されているサブネットワークが変更されたことを認識したときは、移動端末自身の所在を通知するために、移動登録要求（RRQ）パケットをホーム・エージェントに送信する。このときには移動登録要求（RRQ）を送信するために、移動端末内のモバイルＩＰ管理プログラム９はＩ／Ｏ  Ｃｏｎｔｒｏｌ等のインターフェース関数を呼び出して、モバイルＩＰドライバ８へ送信を指示する。
【００３６】
モバイルＩＰ管理プログラム９から前記のように直接指示がされた場合は、モバイルＩＰドライバ８は移動登録要求（RRQ）を送信するための処理を一般アプリケーション・プログラム１０から要求されたパケットよりも先行して行う。そしてモバイルＩＰドライバ８により作製された移動登録要求（RRQ）パケットは送信のためにネットワーク・ドライバ１１へと転送される。
【００３７】
このとき、移動端末が接続するサブネットワークが変更されたことを検出した時点からホーム・エージェントが送信する移動登録応答（RRP）の登録成功を受信するまでの間、モバイルＩＰドライバ８は移動登録要求（RRQ）パケットや移動登録応答（RRP）パケットといった緊急度の高い制御系パケット以外の送受信処理を中断してもかまわない。
【００３８】
すなわち接続先のサブネットワークが変更になった可能性がある場合モバイルＩＰドライバ８は、ＴＣＰ／ＩＰドライバ１２から転送されてきた一般のアプリケーション・プログラム１０が要求するパケットの処理を行わなくとも良い。たとえばモバイルＩＰドライバ８は、転送された送信パケットを同ドライバが管理する領域に確保したキューに格納しておき、移動登録が完了するまで蓄積しておくことができる。キューにはキューイング容量の上限値を設けても良い。このキューに上限値を超えるパケットがキューイングされた場合は、最後にキューに入力しようとしたパケット、あるいは最古に入力されたパケットどちらを破棄してもかまわない。同キューに蓄積されたパケットは移動登録完了後、モバイルＩＰドライバ８により順次処理される。他方、キューすることもせず、この期間にＴＣＰ／ＩＰドライバ１２から転送されてきたすべてのパケットを破棄しても差し支えない。上記のような一般のパケットに対する制御系パケットの扱いを制御系パケットの優先処理と呼ぶ。
【００３９】
実施の上ではモバイルＩＰドライバ８の優先処理の対象になるパケットとは次のようになる。
【００４０】
（１）モバイルＩＰに定義されたパケット
（２）ＤＨＣＰに定義されたパケット
受信した通信パケットのみから判別を行なうには、パケットのヘッダーに含まれるプロトコル番号と宛先ポート番号を検査すれば特定できる。図７はモバイルＩＰのパケットの一例を図示したもので、判断に使用される情報はこのパケットの先頭に付されている。プロトコル番号はＩＰ  ＨｅａｄｅｒのＰｒｏｔｏｃｏｌの部分がＵＤＰを示すものであり、宛先ポート番号はＵＤＰ  ＨｅａｄｅｒのＤｅｓｔｉｎａｔｉｏｎ  Ｐｏｒｔがそれぞれのプロトコルに定められたポートを示すものを選択すればよい。
【００４１】
以下に図４に従って発明の一実施例の動作を説明する。図４はモバイルＩＰシステムの一例であり、移動端末２２、フォーリン・エージェント２３、ホーム・エージェント２４、移動登録要求２５、および移動登録応答２６が示されている。
【００４２】
ＲＦＣ２００２／３２２０に示されたモバイルＩＰの規程によれば、接続先サブネットワークが変更されたとき移動端末２２は次のように振舞う。移動端末２２は新たな接続先のサブネットワーク上に存在するフォーリン・エージェント２３（FA）から送信されたエージェント・アドバタイズメントを受信する。このとき移動端末２２は接続先サブネットワークが変更されたことを認識する。次に移動端末２２は上記フォーリン・エージェント２３から送信されたエージェント・アドバタイズメントに含まれる一時的なアドレス（FA care-of address）を取得する。フォーリン・エージェントが存在しないときは、ＤＨＣＰ等で一時的に使用するアドレス（co-located care-of address）を取得する。そして移動端末２２は取得した一時的なアドレスを移動登録要求２５（RRQ）としてホーム・エージェント２４（HA）に送信する。
【００４３】
移動登録要求２５（RRQ）パケットは図７の６のフォーマットをしている。このパケットは、ＴＣＰ／ＩＰに準拠したヘッダー情報と、登録要求（Registration request）、およびエージェントが付加する拡張情報を含んでいる。この情報は移動端末２２の所在を示すものとして扱われ、以降、ホーム・エージェントを仲介して移動端末２２との通信に使用される。
【００４４】
登録要求を受けたホーム・エージェント２４は、移動端末２２の移動登録要求２５（RRQ）に示された登録要求を処理する。そしてホーム・エージェント２４は登録成功、あるいは登録失敗を図７の７のフォーマットに従い移動登録応答２６（RRP）パケットとして移動端末２２に通知する。移動登録応答（RRP）パケットも、登録要求（Registration request）が登録応答（Registration reply）に変わっているが、移動登録要求（RRQ）パケットとほぼ同様の形式をしているパケットである。
【００４５】
つぎに図１のモバイルＩＰドライバ８の機能ブロック図例を、図５に示す。
【００４６】
モバイルＩＰドライバは受信パケットと送信パケット、および制御系パケットとその他のパケットで処理の流れが異なっている。ネットワーク・ドライバからのパケットが制御系パケットであるかを判断するパケット判断部２７、本発明で制御系パケットと位置付けているモバイルＩＰとＤＨＣＰのパケットを処理するそれぞれの処理部と、場合によって制御系以外の送信パケットのキューイングや破棄を行なうパケット操作部２８を備えている。
【００４７】
パケット判断部２７は、ネットワーク・ドライバから転送された受信パケットからモバイルＩＰかＤＨＣＰのパケットであったならば各々の処理部へ導き、その後図１のモバイルＩＰ管理プログラム９へ転送する。それ以外のパケットであった場合には図１のＴＣＰ／ＩＰドライバ１２へ転送する。また図１のＴＣＰ／ＩＰドライバ１２から転送された送信パケットを、図１のモバイルＩＰ管理プログラム９の指示により通過させる、またはキューイングする、あるいは破棄するなど操作ができる。
【００４８】
図２に、送信の際のモバイルＩＰドライバの処理フローを表す。
【００４９】
モバイルＩＰドライバはパケットの送信要求を受けたとき、移動登録が正常に行なわれたかどうかをステップ１４にて判断する。すでに説明したように、移動端末が移動登録要求（RRQ）をホーム・エージェントに送信したとき、ホーム・エージェントはその結果を移動登録応答（RRP）として送り返してくる。ステップ１４はこの移動登録応答（RRP）を検査した結果を元に判断される。
【００５０】
移動端末がサブネットワークを移動後、移動登録が完了するまでの間は緊急性を要する制御系パケットはモバイルＩＰドライバによってすぐさま処理され、ステップ１８でネットワーク・ドライバへと受け渡される。よってただちにネットワーク上のホーム・エージェントなどに送信される。緊急性を要する制御系のパケットはモバイルＩＰ管理プログラム９で処理されるので、ステップ１３での判断はモバイルＩＰ管理プログラム９から直接与えられたかどうかを見ている。送信しようとしているパケットが一般アプリケーション・プログラムの送信パケットであれば、ＴＣＰ／ＩＰドライバ１２からモバイルＩＰドライバ８へ転送されるので、ステップ１３で制御系パケットではないと判断される。
【００５１】
移動登録応答（RRP）が受信できていないか、または移動登録処理が失敗して正常に移動登録が完了していない間は、一般アプリケーションの送信パケットをステップ１５でいったんキューイングするかあるいは破棄などの処理をする。このときモバイルＩＰドライバは移動登録応答（RRP）が送られてくるのを待ち続けるか、あるいはステップ１５でキューされた場合はそのパケットをキューに格納したまま次の処理を行なう。
【００５２】
ステップ１４ですでに移動登録が正常終了していると判断した場合には、次に未送信の送信パケットの有無をステップ１６で判断する。ここで未送信の送信パケットがキュー内に存在するならば、ステップ１５で行なった処理によって送信パケットがキューイングされたままになっていることを意味する。よってステップ１７によりキューされたままになっている未送信パケットをネットワーク・ドライバに受け渡す。その後ステップ１８で、モバイルＩＰドライバが受け取った未送信パケットを処理する。
【００５３】
ステップ１６でキューされたままの送信パケットがない場合には、単にステップ１８を経て送信が行なわれることとなる。
【００５４】
既述の手段以外に移動端末が接続するサブネットワークの変更を検出する方法として、状態の変化を察知する手段がある。図１の構成図において、たとえばイーサネット等の有線ネットワークであれば、線（ライン）がハブに接続（コネクト）されるなど、その状態変化の信号をネットワーク・ドライバ１１がモバイルＩＰドライバ８へ通知するという手段が考えられる。
【００５５】
モバイルＩＰドライバ８はこの通知を受け取った時点で、接続先サブネットの移動を認識しモバイルＩＰ管理プログラム９へと信号を伝達する。モバイルＩＰ管理プログラム９はこの信号を受信したとき、モバイルＩＰドライバ８に対し一般アプリケーション・プログラム１０のパケットは既述の処理フロー同様、処理を中断するように指示すればよい。そして移動登録が正常終了したときには一般アプリケーション・プログラム１０のパケット処理の再開を指示するようにすればよい。
【００５６】
上述した移動登録要求（RRQ）パケットのようなモバイルＩＰ関連パケットの優先処理は、移動端末が接続されたサブネットの変更の可能性が認識された最初の１回目だけ行われれば十分である。２回目以降は移動登録要求（RRQ）パケットによるホーム・エージェントへの更新処理が必要だが、このときは一般アプリケーション・プログラムのパケットと同じ処理でかまわない。最初の時とは異なり、２回目以降は移動登録情報のライフタイムが満了するまでに移動登録情報の更新処理が完了すればよいからである。
【００５７】
次に、移動端末が移動登録応答（RRP）パケットを受信した場合を説明する。
【００５８】
ネットワーク・ドライバ１１から移動登録応答パケットを受け取ったとき、モバイルＩＰドライバ８はこれを処理して直接モバイルＩＰ管理プログラム９へ移動登録応答（RRP）パケットの内容を転送する。
【００５９】
図３に、受信の際のモバイルＩＰドライバの処理フローを表す。
【００６０】
移動端末がパケットを受信したら、当該受信パケットが制御系パケットかどうかをステップ１９で判断する。パケットを受信する場合は何が送られてくるかはあらかじめ明らかになっていないため、受信パケットのヘッダー情報を検査して判断する。判断の具体的な方法は、図７に図示した、ＩＰ  ＨｅａｄｅｒのＰｒｏｔｏｃｏｌの部分がＵＤＰを示し、ＵＤＰ  ＨｅａｄｅｒのＤｅｓｔｉｎａｔｉｏｎ  ＰｏｒｔがモバイルＩＰとＤＨＣＰのそれぞれのプロトコルに定められたポートを示すものをＹｅｓと判断する。制御系パケットであると判断されば、ステップ２１によりモバイルＩＰプログラムへ転送される。他方、一般アプリケーション・プログラムのパケットのように一般のパケットについてはステップ２０でＴＣＰ／ＩＰドライバへ転送されることとなる。
【００６１】
モバイルＩＰドライバからモバイルＩＰ管理プログラムへ移動登録応答（RRP）情報を伝達する具体例を図１に従って示す。モバイルＩＰ管理プログラム９はモバイルＩＰドライバ８を呼び出してデータを読み込む操作を前もってしておくか、またはＩ／Ｏリード関数を実行しておくようにする。
【００６２】
モバイルＩＰドライバ８は読み込み操作、またはＩ／Ｏリード関数の実行を直ちには終了させず、中断（サスペンド）させておく。この状態で移動端末が移動登録応答（RRP）パケットを受信したときに、モバイルＩＰドライバ８はこのパケットに含まれる情報を同ドライバが確保し管理する読み出し用領域に格納し、中断（サスペンド）中の読み出し操作、またはＩ／Ｏリード関数の実行を再開させる。モバイルＩＰ管理プログラム９は読み出し操作、またはＩ／Ｏリード関数の実行制御が戻った時点でモバイルＩＰドライバ８が管理する読み出し用領域を走査し、移動登録応答（RRP）の内容を受け取ることができる。
【００６３】
前述した読み出し操作、またはＩ／Ｏリード関数によるモバイルＩＰドライバ８からモバイルＩＰ管理プログラム９への移動登録応答（RRP）の伝達方法は一例に過ぎず、この他の方法としてはアップコール等の方法も適用可能である。
【００６４】
移動先のサブネットワークでＤＨＣＰを用いて一時的に使用するアドレス（co-located care-of address）を取得する場合においても、既述した手段を使用してＤＨＣＰ関連の送受信パケットの優先処理が行なわれるようにする。
【００６５】
ＤＨＣＰ関連の送信パケットには、ＤＨＣＰＤＩＳＣＯＶＥＲ、ＤＨＣＰＲＥＱＵＥＳＴ、ＤＨＣＰＤＥＣＬＩＮＥ、ＤＨＣＰＲＥＬＥＡＳＥ、ＤＨＣＰＩＮＦＯＲＭなどがある。すなわち、これらのパケットを移動端末から送信するときにはモバイルＩＰ管理プログラム９から直接モバイルＩＰドライバ８へと転送する。同様に他の一般アプリケーション・プログラムのパケットよりも優先して通信処理が行なわれることとなる。
【００６６】
また、ＤＨＣＰに関連した受信パケットには、ＤＨＣＰＯＦＦＥＲ、ＤＨＣＰＡＣＫ、ＤＨＣＰＮＡＫ、ＤＨＣＰＩＮＦＯＲＭなどがある。移動端末がこれらのパケットを受信したとき、ネットワーク・ドライバ１１からモバイルＩＰドライバ８へと転送される。モバイルＩＰドライバ８は受信したパケットのヘッダー情報を検査して、上記に該当するパケットであれば処理後に直接モバイルＩＰ管理プログラム９へ転送される。このときのヘッダー情報の具体的判断方法はモバイルＩＰのところで既述したものと同様である。
【００６７】
【発明の効果】
以上説明したように、本発明によれば移動登録要求（RRQ）パケットが、モバイルＩＰ管理プログラムから直接モバイルＩＰドライバへと転送される。そして一般のアプリケーション・プログラムのパケットよりも優先処理がなされネットワーク・ドライバへと転送される。これによって接続先サブネットワークの変更が行なわれたとき直ちに移動登録要求（RRQ）パケットのようなモバイルＩＰのパケットを送信することができる。
【００６８】
ＩＰｖ６において近隣広告、近隣問い合わせを用いてネットワークプリフィクスを獲得しアドレス自動構成を行ってCare-of-addressを取得する場合も同様で、近隣広告／問い合わせのためのＩＣＭＰパケットをモバイルＩＰドライバで処理することで、移動先でのスムーズなアドレス取得が行われる。
【００６９】
また経路最適化のための位置情報キャッシュであるバインディングキャッシュ内容を更新するＢｉｎｄｉｎｇ  ｕｐｄａｔｅメッセージパケットについても同様の扱いを行うことでスムーズな位置情報の更新が可能になる。
【００７０】
また、移動端末が移動登録応答（RRP）パケットのようなモバイルＩＰのパケットを受信したとき、モバイルＩＰドライバは処理後直ちにモバイルＩＰ管理プログラムへと転送する。よって、モバイルＩＰ管理プログラムは移動登録応答（RRP）パケットのようなモバイルＩＰの情報を直ちに受け取ることができる。
【００７１】
またＤＨＣＰに関しても、関連したパケットは一般のパケットよりも優先して処理が行なわれる。よって移動先のネットワークにおいてＤＨＣＰ等で一時的に使用するアドレス（co-located care-of address）を取得する場合においても、ネットワークの移動後直ちに一時的に使用するアドレスを取得することが可能である。
【００７２】
上記により移動端末におけるモバイルＩＰに関連する処理が迅速に、かつ確実に行なわれるので安定した移動端末を提供できる。
【図面の簡単な説明】
【図１】本発明の位置実施形態における移動端末の構成例を示すブロック図。
【図２】図１の移動端末におけるモバイルＩＰドライバのパケット送信時の処理フローを示すフローチャート。
【図３】図１の移動端末におけるモバイルＩＰドライバのパケット受信時の処理フローを示すフローチャート。
【図４】図１の移動端末が利用可能なＭｏｂｉｌｅ  ＩＰシステムの一例を示す図。
【図５】図１の移動端末におけるモバイルＩＰドライバの構成例を示すブロック図。
【図６】従来の移動端末の構成例を示すブロック図。
【図７】図１の移動端末で使用できる移動登録要求パケットおよび移動登録応答パケットのフォーマット例を示す図。
【符号の説明】
８…モバイルＩＰドライバ
９…モバイルＩＰ管理プログラム
１０…一般のアプリケーション・プログラム
１１…ネットワーク・ドライバ
１２…ＴＣＰ／ＩＰドライバ
１３…ネットワーク・カード
２２…移動端末（Mobile Node:MN）
２３…フォーリン・エージェント（Foregin Agent:FA）
２４…ホーム・エージェント（Home Agent:HA）
２５…移動登録要求（RRQ）
２６…移動登録応答（RRP）
２７…パケット判断部
２８…パケット操作部
２９…モバイルＩＰパケット処理部
３０…ＤＨＣＰパケット処理部
【図１】
0003670624.tif 000002
【図２】
0003670624.tif 000003
【図３】
0003670624.tif 000004
【図４】
0003670624.tif 000005
【図５】
0003670624.tif 000006
【図６】
0003670624.tif 000007
【図７】
0003670624.tif 000008