(57)【要約】【課題】モバイルノードが異なるネットワーク間を移動したときに発生するパケットロスを抑制可能なネットワークシステムを提供する。【解決手段】モバイルノードは、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返す。モバイル制御部３０２は、モバイルノードの位置管理を行い、モバイルノードとモバイルノードの通信相手との間の通信を中継する。パケットバッファ部３０３は、モバイルノード宛てのパケットを、モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積する。パケット転送部３０４は、パケットバッファ部３０３からパケットを受け取りモバイルノードに送信する。【選択図】図４
2011003941.tif 000002
【特許請求の範囲】
【請求項１】
移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノードと、
前記モバイルノードの位置管理を行い、前記モバイルノードと当該モバイルノードの通信相手との間の通信を中継するモバイル制御部と、前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積するパケットバッファ部と、該パケットバッファ部からパケットを受け取り前記モバイルノードに送信するパケット転送部とを有する位置管理サーバとを備えるネットワークシステム。
【請求項２】
前記パケットバッファ部は、現在時刻と前記送受信可能タイミングとを比較し、現在時刻が前記送受信可能タイミングとなると、前記パケット転送部にパケットを渡す、請求項１に記載のネットワークシステム。
【請求項３】
前記パケットバッファ部は、現在時刻が前記送受信可能タイミングになる前に、前記位置管理サーバが前記モバイルノードからパケットを受信すると、前記送受信可能タイミングまで待たずに、前記パケット転送部にパケットを渡す、請求項２に記載のネットワークシステム。
【請求項４】
前記モバイルノードのデータ送信状況に基づいて前記送受信可能タイミングを計算するネットワーク監視部を更に有する、請求項１乃至３の何れか一に記載のネットワークシステム。
【請求項５】
前記データ送信状況が、前記モバイルノードが送信したパケットの受信時刻を含み、前記ネットワーク監視部は、前記パケットの受信時間間隔に基づいて、前記送受信可能タイミングを計算する、請求項４に記載のネットワークシステム。
【請求項６】
前記ネットワーク監視部は、前回のパケット受信時刻に、前記パケットの受信時間間隔とネットワーク遅延時間を加えた時刻を、送受信可能タイミングとして計算する、請求項５に記載のネットワークシステム。
【請求項７】
前記位置管理サーバが、前記ネットワーク監視部を有する、請求項４乃至６の何れか一に記載のネットワークシステム。
【請求項８】
前記モバイルノードが、前記位置管理サーバに自身の位置登録を行うと共に、前記モバイルノードと前記位置管理サーバとの間の通信を中継するモバイルノード部を有する、請求項１乃至７の何れか一に記載のネットワークシステム。
【請求項９】
前記モバイルノードが接続し、前記位置管理サーバに前記モバイルノードの位置登録を行うと共に、前記モバイルノードと前記位置管理サーバとの間の通信を中継するエージェントを更に有し、該エージェントが、前記ネットワーク監視部を有する、請求項４乃至６の何れか一記載のネットワークシステム。
【請求項１０】
移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノードの位置管理を行い、前記モバイルノードと当該モバイルノードの通信相手との間の通信を中継するモバイル制御部と、
前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積するパケットバッファ部と、
前記パケットバッファ部からパケットを受け取り、前記モバイルノードに送信するパケット転送部とを備える位置情報管理装置。
【請求項１１】
前記モバイルノードのデータ送信状況に基づいて前記送受信可能タイミングを計算するネットワーク監視部を更に有する、請求項１０に記載の位置情報管理装置。
【請求項１２】
コンピュータが、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノード宛てのパケットを受信するステップと、
前記コンピュータが、前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまでパケットバッファ部に蓄積するステップと、
前記コンピュータが、前記送受信可能なタイミングになると、前記パケットバッファ部からパケットを受け取り前記モバイルノードに送信するステップとを有するパケット送信方法。
【請求項１３】
前記コンピュータは、前記送受信可能タイミングになる前に、前記モバイルノードからパケットを受信すると、前記送受信可能タイミングまで待たずに、前記パケットをモバイルノードに送信するステップを実行する、請求項１２に記載のパケット送信方法。
【請求項１４】
前記コンピュータが、前記モバイルノードからのパケットを受信し、モバイルノードのデータ送信状況を記録するステップと、
前記コンピュータが、前記データ送信状況に基づいて、前記送受信可能タイミングを計算するステップとを更に有する、請求項１２又は１３に記載のパケット送信方法。
【請求項１５】
前記コンピュータは、データ送信状況を記録するステップでは、前記モバイルノードが送信したパケットの受信時刻を前記データ送信状況に記録し、前記送受信可能タイミングを計算するステップでは、前記パケットの受信時間間隔に基づいて、前記送受信可能タイミングを計算する、請求項１４に記載のパケット送信方法。
【請求項１６】
前記コンピュータが、モバイルノードが接続し、前記モバイルノードの位置登録を行うエージェントから、前記モバイルノードのデータ送信状況に基づいて計算された前記送受信可能タイミングの通知を受けるステップを更に有する、請求項１２又は１３に記載のパケット送信方法。
【請求項１７】
コンピュータに、
移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノード宛てのパケットを受信する処理と、
前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積する処理と、
前記送受信可能なタイミングになると、前記パケットバッファ部からパケットを受け取り前記モバイルノードに送信する処理とを実行させるプログラム。
【請求項１８】
前記パケットをモバイルノードに送信する処理では、前記送受信可能タイミングになる前に、前記モバイルノードからパケットを受信すると、前記送受信可能タイミングまで待たずに、前記パケットをモバイルノードに送信する、請求項１７に記載のプログラム。
【請求項１９】
前記コンピュータに、
前記モバイルノードからのパケットを受信し、モバイルノードのデータ送信状況を記録する処理と、
前記データ送信状況に基づいて、前記送受信可能タイミングを計算する処理とを更に実行させる、請求項１７又は１８に記載のプログラム。
【請求項２０】
データ送信状況を記録する処理では、前記モバイルノードが送信したパケットの受信時刻を前記データ送信状況に記録し、前記送受信可能タイミングを計算する処理では、前記パケットの受信時間間隔に基づいて、前記送受信可能タイミングを計算する、請求項１９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークシステムに関し、更に詳しくは、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すノードを収容するネットワークシステムに関する。また、本発明は、そのようなネットワークシステムにおけるパケット送信方法及びプログラムに関する。
【背景技術】
【０００２】
モバイルＩＰ（Internet Protocol）技術は、移動可能なノードを収容するネットワークシステムに利用される技術である。モバイルＩＰ技術では、モバイルノードの位置管理を行う位置管理サーバを用いる。モバイルノード、又は、モバイルノードが接続したエージェントは、位置管理サーバにモバイルノードの位置情報を通知する。位置管理サーバが、モバイルノードとその通信相手との間の通信を中継することで、二者間の通信が実現できる。
【０００３】
モバイルＩＰ技術を用いた移動体ネットワークでは、位置管理サーバは、モバイルノードがネットワーク間を移動すると、モバイルノードの位置情報（そのネットワークで利用可能なモバイルノードのアドレス等）を登録する。位置管理サーバは、位置情報が登録されるまでの間は、移動したモバイルノードに対し、当該モバイルノード宛てのパケットを正しい宛先に転送することができない。このため、パケットロスが生じる。
【０００４】
特許文献１は、上記問題を解消するための技術が記載された文献である。特許文献１では、移動局は、通信不能期間になることが明らかになった時点で、ホームエージェント（位置管理サーバ）に対し、通信不能期間開始電文を送信する。移動局は、無線状態が悪化した場合や無線を用いて位置計測を行ない無線基地局から離れた場合などに、通信不能期間開始電文の送信を行う。
【０００５】
ホームエージェントは、通信不能期間開始電文を受信すると、それ以降代理受信する移動局宛てのパケットを蓄積する。移動局は、通信不能期間が終了した時点で、ホームエージェントに、通信不能期間終了電文を送信する。ホームエージェントは、通信不能期間終了電文を受信すると、蓄積したパケットを、移動局に転送する。
【０００６】
ここで、情報の測定を行うセンサーノードを配置し、そのセンサーノードから情報の収集を行うセンサーネットワークと呼ばれるネットワークがある。センサーネットワークでは、センサーノードの移動をサポートするために、モバイルＩＰの技術が利用されている。センサーノードは、所定の間隔で、情報のセンシング（測定）と、測定結果の送信とを行うと、一定期間スリープ状態になり、以後、このプロセスを繰り返す。
【０００７】
特許文献２は、センサーネットワークにて、センサーノードの消費電力削減を実現するための技術が記載された文献である。特許文献２では、基地局は、センサーノードが測定結果（データ）を送信したとき、そのセンサーノードに対して、次回通信を行う時間を指定する。各センサーノードは、指定された時間にスリープ状態から復帰し、データ送信を行う。このようにすることで、各ノードの送信時間を分散させて通信の衝突を回避し、ノードの消費電力を下げることができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−２０９８９０号公報
【特許文献２】特開２００６−２１１４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
センサーノードは、定期的にスリープ状態になり、無線を停止する。従って、センサーノードがスリープ状態で異なるネットワーク間を移動するとき、センサーノードは、ホームエージェントに対して通信不能期間開始を通知することができない。この場合、センサーノードが位置情報登録を行うまでの間、センサーノード宛てのパケットにロスが発生する。
【００１０】
仮に、センサーノードがスリープ状態に入る前に通信不能期間開始を通知し、スリープ状態から抜けて通信可能となるときに通信不能期間終了を通知したとする。その場合、通知に関するメッセージが多量に発生し、モバイルノード、エージェント、及び、その周辺のネットワークに多大な負荷が発生することになる。従って、特許文献１に記載の技術を、センサーネットワークのような、周期的にデータ送信とスリープ状態とを繰り返すノードを収容するネットワークに適用することは困難である。
【００１１】
また、特許文献２は、基地局側がセンサーノードの送信スケジュールをスケジューリングしており、特許文献２に記載の技術を適用できるのは、スケジューリングに従ってデータ送信を行うセンサーノードを収容するセンサーネットワークのみである。特許文献２は、基地局とセンサーノードとの間に通信における応答時間を最小化することで消費電力の削減を図るものであり、特許文献２に記載の技術を用いてセンサーノード移動時のパケットロスを抑制することはできない。
【００１２】
本発明は、移動が可能で、データ送信とスリープ状態とを繰り返すモバイルノードを収容するネットワークにて、モバイルノードが異なるネットワーク間を移動したときに発生するパケットロスを抑制可能なネットワークシステム、位置管理装置、パケット送信方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明は、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノードと、前記モバイルノードの位置管理を行い、前記モバイルノードと当該モバイルノードの通信相手との間の通信を中継するモバイル制御部と、前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積するパケットバッファ部と、該パケットバッファ部からパケットを受け取り前記モバイルノードに送信するパケット転送部とを有する位置管理サーバとを備えるネットワークシステムを提供する。
【００１４】
本発明は、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノードの位置管理を行い、前記モバイルノードと当該モバイルノードの通信相手との間の通信を中継するモバイル制御部と、前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積するパケットバッファ部と、前記パケットバッファ部からパケットを受け取り、前記モバイルノードに送信するパケット転送部とを備える位置情報管理装置を提供する。
【００１５】
本発明は、コンピュータが、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノード宛てのパケットを受信するステップと、前記コンピュータが、前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまでパケットバッファ部に蓄積するステップと、前記コンピュータが、前記送受信可能なタイミングになると、前記パケットバッファ部からパケットを受け取り前記モバイルノードに送信するステップとを有するパケット送信方法を提供する。
【００１６】
本発明は、コンピュータに、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノード宛てのパケットを受信する処理と、前記モバイルノード宛てのパケットを、前記モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積する処理と、前記送受信可能なタイミングになると、前記パケットバッファ部からパケットを受け取り前記モバイルノードに送信する処理とを実行させるプログラムを提供する。
【発明の効果】
【００１７】
本発明のネットワークシステム、位置管理装置、パケット送信方法、及び、プログラムは、移動が可能で、データ送信とスリープ状態とを繰り返すモバイルノードを収容するネットワークにて、モバイルノードが異なるネットワーク間を移動したときに発生するパケットロスを抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１実施形態のネットワークシステムを示すブロック図。
【図２】モバイルノードの一構成例を示すブロック図。
【図３】エージェントの一構成例を示すブロック図。
【図４】位置管理サーバの一構成例を示すブロック図。
【図５】モバイルノード宛てのパケットを受信したときの位置管理サーバの動作手順を示すフローチャート。
【図６】モバイルノードのデータ送受信時の動作を示すシーケンス図。
【図７】モバイルノードのデータ送受信時の動作の別例を示すシーケンス図。
【図８】本発明の第２実施形態のネットワークシステムにおけるエージェントの一構成例を示すブロック図。
【図９】本発明の第２実施形態のネットワークシステムにおける位置管理サーバの一構成例を示すブロック図。
【図１０】本発明の第３実施形態のネットワークシステムを示すブロック図。
【図１１】本発明の第３実施形態のネットワークシステムにおけるモバイルノードの一構成例を示すブロック図。
【発明を実施するための形態】
【００１９】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態のネットワークシステムを示している。ネットワークシステムは、モバイルノード１０、エージェント２０、２１、位置管理サーバ（ホームエージェント）３０、及び、サーバ４０を有する。エージェント２０、２１、位置管理サーバ３０、及び、サーバ４０は、ネットワーク５０を介して相互に接続される。ネットワーク５０は、複数のネットワーク機器などを用いて構成され、ルーティングテーブルなどに従ってパケットを転送する。サーバ４０は、モバイルノード１０の通信相手のサーバである。
【００２０】
モバイルノード１０は、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返す。モバイルノード１０は、例えばセンサーノードである。位置管理サーバ３０は、モバイルノード１０の位置管理を行い、モバイルノード１０と通信相手であるサーバ４０との間の通信を中継する。位置管理サーバ３０は、モバイルノード１０の位置情報を保存する。位置管理サーバ３０は、モバイルノード１０がホームリンクから移動すると、モバイルノード１０が送受信するメッセージの中継を行う。エージェント２０、２１は、モバイルノード１０の位置情報を、モバイルノード１０に代わって登録する。また、エージェント２０、２１は、モバイルノード１０と通信相手との間のパケットを中継する。
【００２１】
図２は、モバイルノード１０を示している。モバイルノード１０内の各部の機能は、図示しないプロセッサが所定のプログラムに従って処理を行うことで実現できる。モバイルノード１０は、ネットワークインタフェース部１０１、センサアプリ部１０２、及び、タイマー１０３を有する。ネットワークインタフェース部１０１は、ネットワーク５０（図１）に接続し、メッセージの送受信を行う。
【００２２】
センサアプリ部１０２は、温度や加速度などの計測を行う。センサアプリ部１０２は、計測データを含むパケットを送信し、サーバ４０に送信する。センサアプリ部１０２は、計測データの送信後、一時的にスリープ状態になる。タイマー１０３は、定期的にセンサアプリ部１０２を起動する。
【００２３】
図３は、エージェント２０を示している。エージェント２０内の各部の機能は、図示しないプロセッサが所定のプログラムに従って処理を行うことで実現できる。エージェント２０は、ネットワークインタフェース部２０１、モバイルエージェント部２０２、及び、ルータ部２０３を有する。エージェント２１も、エージェント２０と同じ構成である。
【００２４】
ネットワークインタフェース部２０１は、ネットワーク５０に接続し、メッセージの送受信を行う。モバイルエージェント部２０２は、モバイルＩＰにおける外部エージェント相当の機能を持つ。モバイルエージェント部２０２は、モバイルノード１０が移動した際に、位置管理サーバ３０に、モバイルノード１０のホームアドレスや気付けアドレスなどの位置情報の通知を行う。また、モバイルエージェント部２０２は、メッセージのカプセル化／デカプセル化を行う。
【００２５】
ルータ部２０３は、エージェント２０と同じリンクに接続したモバイルノード１０に対して、ルータ要請やルータ広告を送信する。また、ルータ部２０３は、受信した他ノード宛てのパケットを、自らが持つルーティングテーブルに従って転送する処理を行う。
【００２６】
図４は、位置管理サーバ３０を示している。位置管理サーバ３０内の各部の機能は、図示しないプロセッサが所定のプログラムに従って処理を行うことで実現できる。位置管理サーバ３０は、ネットワークインタフェース部３０１、モバイル制御部３０２、パケットバッファ部３０３、パケット転送部３０４、ネットワーク監視部３０５、及び、データ送信状況記憶部３０６を有する。ネットワークインタフェース部３０１は、ネットワーク５０に接続し、メッセージの送受信を行う。
【００２７】
モバイル制御部３０２は、位置情報に関する制御メッセージの処理を行う。パケット転送部３０４は、パケットに対してカプセル化／デカプセル化を行い、移動したモバイルノード１０の通信の中継を行う。ネットワーク監視部３０５は、モバイルノード１０が送受信するパケットを監視し、モバイルノード１０のデータ送信状況、すなわち、位置管理サーバ３０におけるモバイルノード１０からのデータ受信状況を、データ送信状況記憶部３０６に記録する。また、ネットワーク監視部３０５は、データ送信状況記憶部３０６を参照し、モバイルノード１０のパケット送信状況に基づいて、モバイルノード１０のパケット送受信が可能なタイミングを計算する。
【００２８】
ここで、モバイルノード１０の送受信可能タイミングとは、モバイルノード１０がスリープ状態から抜けて、ネットワーク５０との間で通信が可能になるタイミングを指す。モバイルノード１０は、タイマー１０３がセンサアプリ部１０２を定期的に起動することでスリープ状態から抜け、データ送信を行う。従って、モバイルノード１０が次にいつデータを送受信可能になるかは、前回のデータ送信時刻と、データ送信時間間隔とから予測できる。
【００２９】
ネットワーク監視部３０５は、モバイルノード１０のパケット送信状況に基づいて、モバイルノード１０が送信したパケットをネットワークインタフェース部３０１で受信する時間の間隔、つまり、モバイルノード１０のデータ送信時間間隔を調べる。ネットワーク監視部３０５は、モバイルノード１０のデータ送信時間間隔（位置管理サーバ３０のデータ受信時間間隔）と、前回のデータ送信（データ受信）時刻とから、送受信可能タイミングを計算する。送受信可能タイミングの計算では、モバイルノード１０からのパケットを中継するエージェントと位置管理サーバ３０との間の送信に要する時間や、統計的な誤差、ネットワーク５０におけるジッタなどを考慮してもよい。
【００３０】
モバイル制御部３０２は、ネットワークインタフェース部３０１からモバイルノード１０宛てのパケットを受け取ると、そのパケットをパケットバッファ部３０３に渡す。パケットバッファ部３０３は、モバイルノード１０宛てのパケットを、一時的に蓄積する。パケットバッファ部３０３は、モバイルノード１０の送受信可能タイミングまでパケットを蓄積し、送受信可能タイミングになると、パケットをパケット転送部３０４に渡す。パケット転送部３０４は、パケットをモバイルノード１０に転送する。
【００３１】
モバイル制御部３０２は、ネットワークインタフェース部３０１からサーバ４０宛てのパケットを受け取ると、そのパケットをパケット転送部３０４に渡す。パケット転送部３０４は、パケットをサーバ４０に転送する。
【００３２】
図５は、モバイルノード１０宛てのパケットを受信した際の位置管理サーバ３０の動作手順を示している。モバイル制御部３０２は、ネットワークインタフェース部３０１から、モバイルノード（ＭＮ）１０宛てのパケットを受け取る。モバイル制御部３０２は、ネットワーク監視部３０５に、モバイルノード１０の送受信可能タイミングを問い合わせ、送受信可能タイミングが設定されているか否かを判断する（ステップＡ１）。
【００３３】
モバイル制御部３０２は、送受信可能タイミングが設定されていないときは、パケット転送部３０４にパケットを渡す。パケット転送部３０４は、登録されたモバイルノード１０の位置情報に従って、モバイルノード１０が接続するエージェントにパケットを送信する（ステップＡ１０）。ここで、送受信可能タイミングが設定されていない場合としては、これまでにモバイルノード１０からのデータ送信がない、又は、１回しかないことで、データ送信時間間隔が計算できないような場合が考えられる。
【００３４】
モバイル制御部３０２は、送受信可能タイミングが設定されているときは、送受信可能タイミングと受信されたパケットとをパケットバッファ部３０３に渡す。パケットバッファ部３０３は、バッファにパケットを蓄積するための空き空間があるか否かを判断する（ステップＡ２）。パケットバッファ部３０３は、空きがあるときは、バッファにパケットを格納する（ステップＡ３）。パケットバッファ部３０３は、バッファに空きがないときは、格納済みのパケットを、格納された時刻が古いものから順に、格納すべきパケットが格納可能になるまで破棄する（ステップＡ４）。その後、パケットバッファ部３０３は、ステップＡ３に進んで、バッファにパケットを格納する。
【００３５】
パケットバッファ部３０３は、現在時刻と送受信可能タイミングとを比較し、現在時刻が送受信可能タイミングを満たしているか否かを判断する（ステップＡ５）。パケットバッファ部３０３は、送受信可能タイミングを満たしていると判断すると、パケットをパケット転送部３０４に渡す。パケット転送部３０４は、ステップＡ１０で、モバイルノード１０に向けて、パケットを送信する。
【００３６】
パケットバッファ部３０３は、送受信可能タイミングが満たされていないと判断すると、ネットワークインタフェース部３０１がモバイルノード１０から送信されたパケットを受信したか否かを判断する（ステップＡ６）。パケットバッファ部３０３は、モバイルノード１０宛てのパケットの受信後、モバイルノード１０をソースアドレスとするパケットが受信されたときは、送受信可能タイミングまで待たずに、パケットをパケット転送部３０４に渡す。パケット転送部３０４は、ステップＡ１０で、モバイルノード１０に向けて、パケットを送信する。
【００３７】
パケットバッファ部３０３は、以前送信したモバイルノード１０宛てのパケットに対して、エラーメッセージを受信しているか否かを判断する（ステップＡ７）。パケットバッファ部３０３は、エラーメッセージを受信していないと判断したときは、一定時間待機し（ステップＡ８）、ステップＡ５に戻る。パケット転送部３０４は、送受信可能タイミングになるか、又は、モバイルノード１０からのパケットが受信された時点でパケットバッファ部３０３からパケットを受け取り、モバイルノード１０にパケットを送信する。
【００３８】
パケットバッファ部３０３は、ステップＡ７でエラーメッセージを受信していると判断すると、パケットを破棄する（ステップＡ９）。このとき、パケットバッファ部３０３は、エラーがネットワーク５０に関するエラー又はホスト到達性に関するエラーであれば、パケット送信元に対してエラーメッセージを送信する。
【００３９】
図６は、モバイルノード１０のデータ送受信時の動作を示している。モバイルノード１０は、エージェント２０のネットワークに接続しているものとする。この接続に伴い、エージェント２０は、モバイルノード１０のアドレスと自らのアドレスとを位置管理サーバ３０に登録している。モバイルノード１０は、温度センサや加速度センサなどのセンサを有している。モバイルノード１０は、定期的に、センサを用いてセンシングを行い、計測データをサーバ４０に送信する。モバイルノード１０は、データ送信後、一定時間スリープ状態になる。モバイルノード１０は、この動作を繰り返し行う。
【００４０】
まず、モバイルノード１０からサーバ４０へのデータ送信について説明する。モバイルノード１０のタイマー１０３（図２）は、一定間隔でセンサアプリ部１０２を起動する。モバイルノード１０は、スリープ状態から復帰する（Ｓ１）。センサアプリ部１０２は、温度センサーや加速度センサーなどを用いて計測を行い、計測データを含んだパケットを生成する。センサアプリ部１０２は、サーバ４０に送信するため、生成したパケットをネットワークインタフェース部１０１に渡す。ネットワークインタフェース部１０１は、パケットをエージェント２０に送信する（Ｓ２）。
【００４１】
エージェント２０のネットワークインタフェース部２０１（図３）は、モバイルノード１０からパケットを受信すると、受信したパケットをモバイルエージェント部２０２に渡す。モバイルエージェント部２０２は、受信したパケットに対し、ソースアドレスをエージェント２０とし、宛先アドレスを位置管理サーバ３０とする新たなヘッダを追加し、パケットをカプセル化する。モバイルエージェント部２０２は、カプセル化したパケットをネットワークインタフェース部２０１に渡す。ネットワークインタフェース部２０１は、モバイルエージェント部２０２から受け取ったパケットを、ネットワーク５０に送出する（Ｓ３）。ネットワーク５０に送出されたパケットは、ネットワーク５０を構成するルータなどのネットワーク機器を経由して、位置管理サーバ３０に到達する。
【００４２】
位置管理サーバ３０のネットワークインタフェース部３０１（図４）は、エージェント２０が送信したパケットを受信する。ネットワークインタフェース部３０１は、受信したパケットを、ネットワーク監視部３０５に渡す。ネットワーク監視部３０５は、受信時刻を含むパケット送信状況を、データ送信状況記憶部３０６に記録する（Ｓ４）。より詳細には、ネットワーク監視部３０５は、パケットを参照して、ソースアドレス（モバイルノード２０のアドレス）、宛先アドレス（サーバ４０のアドレス）、使用されているネットワークプロトコルを調べ、それら情報とパケット受信時刻とデータ送信状況記憶部３０６に記録する。
【００４３】
ネットワーク監視部３０５は、パケットをモバイル制御部３０２に渡す。モバイル制御部３０２は、パケット転送部３０４にサーバ４０宛てのパケットを渡す。パケット転送部３０４は、パケットに対してデカプセル化の処理を行い、エージェント２０にてカプセル化されたパケットから、オリジナルのパケット（カプセル化前のパケット）を取り出す。パケット転送部３０４は、パケットの宛先アドレスがサーバ４０であることを確認し、ルーティングテーブルを参照した後、ネットワーク５０経由で、パケットをサーバ４０に送信する（Ｓ５）。ネットワーク５０に到達したパケットは、ネットワーク５０を構成するルータなどのネットワーク機器を転送され、サーバ４０に到達する。
【００４４】
次いで、サーバ４０からモバイルノード１０へのデータ送信について説明する。モバイルノード１０は、引き続きエージェント２０に接続しているものとする。サーバ４０は、モバイルノード１０宛てのパケットを送信する（Ｓ６）。サーバ４０が送信したパケットは、ネットワーク５０を構成するネットワーク機器などを転送され、位置管理サーバ３０に到達する。位置管理サーバ３０のネットワークインタフェース部３０１は、サーバ４０が送信したパケットを受信し、モバイル制御部３０２に渡す。
【００４５】
モバイル制御部３０２は、ネットワーク監視部３０５に対して、パケットの宛先であるモバイルノード１０のパケット送受信可能タイミングを問い合わせる。ネットワーク監視部３０５は、データ送信状況記憶部３０６を参照し、モバイルノード１０がパケット送信を行う間隔を求める。ネットワーク監視部３０５は、送信時間間隔と前回のパケット送信時刻とを用いて、モバイルノード１０がパケットを送受信可能なタイミングを計算（予測）する。その際、ネットワーク監視部３０５は、データ送信状況記憶部３０６に記憶された利用しているネットワークプロトコルなどの情報を用いて、送受信可能タイミングを補正（修正）し、送受信可能タイミングの予測精度を向上してもよい。
【００４６】
ネットワーク監視部３０５は、例えば、下記式、を用いて、送受信可能タイミングを計算する。
モバイルノード１０の送受信可能タイミング
＝モバイルノード１０の前回のデータ送信時刻
＋送信時間間隔の平均
＋位置管理サーバからエージェントまでのパケット送信に要する時間
＋（統計的な誤差＋ネットワークのジッタ）
上記計算式における位置管理サーバからエージェントまでのパケット送信に要する時間は、位置管理サーバ３０から、モバイルノード１０が現在位置登録しているエージェントまでの送信にかかる時間とする。例えば、位置管理サーバ３０が、最後にモバイルノード１０から受信したパケットが、Ｓ３でエージェント２０から送信されたパケットであるとすれば、ネットワーク監視部３０５は、位置管理サーバ３０からエージェント２０までの送信にかかる時間を用いて、送受信可能タイミングを計算する。
【００４７】
ネットワーク監視部３０５は、求めた送受信可能タイミングを、モバイル制御部３０２に通知する。モバイル制御部３０２は、通知された送受信可能タイミングとパケットとを、パケットバッファ部３０３に送る。パケットバッファ部３０３は、通知された送受信可能タイミングまでパケットを蓄積する（Ｓ７）。パケットバッファ部３０３は、送受信可能タイミングになると、パケットを、パケット転送部３０４に渡す。パケットバッファ部３０３は、送受信可能タイミングになる前にモバイルノード１０からのパケットが受信されたときは、その時点で、パケットをパケット転送部３０４に渡す。
【００４８】
パケット転送部３０４は、パケットバッファ部３０３からモバイルノード１０宛てのパケットを受け取ると、ソースアドレスを自身のアドレスとし、宛先アドレスを位置登録されたエージェント２０とする新たなヘッダを付加し、パケットをカプセル化する。パケット転送部３０４は、カプセル化したパケットをネットワークインタフェース部３０１に渡す。ネットワークインタフェース部３０１は、ルーティングテーブルを参照し、ネットワーク５０を介して、エージェント２０に向けてパケットを送信する（Ｓ８）。ネットワークインタフェース部３０１が送信したパケットは、ネットワーク５０を構成するルータなどのネットワーク機器を転送され、エージェント２０に到達する。
【００４９】
位置管理サーバ３０がモバイルノード１０にサーバ４０からのパケットを送信するのと前後して、モバイルノードはスリープ状態から復帰し、エージェント２０との間で通信確立を行う（Ｓ９）。エージェント２０のネットワークインタフェース部２０１は、位置管理サーバ３０が送信したパケットを受信すると、受信したパケットをモバイルエージェント部２０２に渡す。モバイルエージェント部２０２は、位置管理サーバ３０でカプセル化されたパケットに対してデカプセル化を行い、オリジナルのパケットを取り出す。モバイルエージェント部２０２は、取り出したパケットを、オリジナルパケットの宛先であるモバイルノード１０に向けて送信する（Ｓ１０）。送信されたパケットは、その後、モバイルノード１０に到達する。
【００５０】
図７は、モバイルノード１０がスリープ状態で移動したときのデータ送受信時の動作を示している。モバイルノード１０は、はじめ、エージェント２０に接続している。モバイルノード１０からサーバ４０へのデータ送信（Ｓ１１〜Ｓ１５）は、図６におけるＳ１〜Ｓ５と同様である。その後、モバイルノード１０は、スリープ状態となり、エージェント２１の配下に移動する。
【００５１】
サーバ４０は、モバイルノード１０宛てのパケットを送信する（Ｓ１６）。このパケットは、位置管理サーバ３０で受信される。位置管理サーバ３０のモバイル制御部３０２は、ネットワーク監視部３０５にモバイルノード１０の送受信可能タイミングを問い合わせる。ネットワーク監視部３０５は、データ送信状況記憶部３０６を参照し、モバイルノード１０の前回のデータ送信時刻と、送信時間間隔の平均と、位置管理サーバ３０からエージェント２０までのパケット送信に要する時間とから、送受信可能タイミングを計算する。パケットバッファ部３０３は、送受信可能タイミングまで、パケットをバッファに蓄積する（Ｓ１７）。
【００５２】
モバイルノード１０は、タイマー１０３がセンサアプリ部１０２を駆動することで、スリープ状態から復帰する。モバイルノード１０は、スリープ状態から復帰すると、移動先のエージェント２１との接続確立を行う（Ｓ１８）。エージェント２１は、モバイルノード１０が接続したことを認識し、モバイルノード１０のアドレスとエージェント２１自身のアドレスとを含む登録メッセージを位置管理サーバ３０に送信する（Ｓ１９）。
【００５３】
位置管理サーバ３０のモバイル制御部３０２は、エージェント２１が送信した登録メッセージを受信すると、モバイルノード１０の位置情報を登録（更新）する。モバイル制御部３０２は、位置登録を行うと、位置登録が行われたことを示す応答メッセージを、ネットワークインタフェース部３０１を介してエージェント２１に送信する（Ｓ２０）。エージェント２１は、位置管理サーバ３０からの応答メッセージを受信し、位置登録が終了したことを認識する。なお、位置管理サーバ３０は、位置情報の更新後は、位置管理サーバ３０からエージェント２１までの送信にかかる時間を用いて、送受信可能タイミングの計算を行う。
【００５４】
モバイル制御部３０２は、エージェント２１に対する応答メッセージの送信後、パケットバッファ部３０３に対して、モバイルノード１０宛てのパケットの送信を指示する。この指示を受けたパケットバッファ部３０３は、パケットをパケット転送部３０４に渡す。
【００５５】
パケット転送部３０４は、パケットを受け取ると、ソースアドレスを位置管理サーバ３０のアドレスとし、宛先アドレスをエージェント２１とする新たなヘッダを付加してパケットをカプセル化し、ネットワークインタフェース部３０１に渡す。ネットワークインタフェース部３０１は、ルーティングテーブルを参照して、ネットワーク５０を介して、エージェント２１に向けてパケットを送信する（Ｓ２１）。ネットワークインタフェース部３０１が送信したパケットは、ネットワーク５０を構成するネットワーク機器を転送され、エージェント２１に到達する。
【００５６】
エージェント２１のネットワークインタフェース部２０１は、位置管理サーバ３０が送信したパケットを受信すると、受信したパケットをモバイルエージェント部２０２に渡す。モバイルエージェント部２０２は、位置管理サーバ３０でカプセル化されたパケットに対してデカプセル化を行い、オリジナルのパケットを取り出す。モバイルエージェント部２０２は、取り出したパケットを、オリジナルパケットの宛先であるモバイルノード１０に向けて送信する（Ｓ２２）。送信されたパケットは、その後、モバイルノード１０に到達する。
【００５７】
本実施形態では、位置管理サーバ３０は、モバイルノード１０宛てのパケットを、モバイルノード１０の送受信可能タイミングまで一時的に蓄積し、パケットの転送を行う。モバイルノード１０は、周期的にデータ送信とスリープ状態とを繰り返すため、モバイルノード１０が次にいつデータ送信を行うか（通信可能になるか）は、モバイルノード１０のデータ送信時間間隔と、データ送信時刻とから予測することができる。
【００５８】
本実施形態では、位置管理サーバ３０は、モバイルノード１０宛てのパケットを送受信可能タイミングまで蓄積するので、モバイルノード１０が、位置管理サーバ３０がパケットを蓄積している間にスリープ状態から復帰することが期待できる。スリープ状態から復帰したモバイルノード１０は、スリープ状態で異なるネットワークに移動していたときは、エージェントを介して位置情報登録を行う。
【００５９】
位置管理サーバ３０は、送受信可能タイミングになると、モバイルノード１０の位置情報に従って、モバイルノード１０が接続するエージェントにパケットを送信する。位置管理サーバ３０がパケットを蓄積している間に位置情報登録があったとき、位置管理サーバ３０は、更新された位置情報を参照してモバイルノード１０の移動先のエージェントに対してパケットを送信する。従って、モバイルノード１０がスリープ状態で異なるネットワーク間を移動したときでも、パケットロスの発生を抑制することができる。
【００６０】
続いて、本発明の第２実施形態について説明する。ネットワークシステムの全体構成は、図１に示す構成と同様である。図８は、本発明の第２実施形態のネットワークシステムにおけるエージェント２０ａを示している。エージェント２０ａは、図３に示す第１実施形態のエージェント２０の構成に加えて、ネットワーク監視部２０４とデータ送信状況記憶部２０５とを有する。図１におけるエージェント２１も、図８におけるエージェント２０ａと同様な構成である。
【００６１】
ネットワーク監視部２０４は、モバイルノード１０が送受信するパケットを監視し、モバイルノード１０のデータ送信状況、すなわち、エージェント２０ａにおけるモバイルノード１０からのデータ受信状況を、データ送信状況記憶部２０５に記録する。また、ネットワーク監視部２０４は、データ送信状況記憶部２０５を参照し、モバイルノード１０のパケット送信状況に基づいて、モバイルノード１０のパケット送受信が可能なタイミングを計算する。ネットワーク監視部２０４は、計算した送受信可能タイミングを、定期的に位置管理サーバ３０に送信する。
【００６２】
図９は、本発明の第２実施形態のネットワークシステムにおける位置管理サーバ３０ａを示している。位置管理サーバ３０ａは、図４に示す第１実施形態の位置管理サーバ３０から、ネットワーク監視部３０５とデータ送信状況記憶部３０６とを省いた構成である。モバイル制御部３０２は、エージェント２０ａから、エージェント２０ａにて計算されたモバイルノード１０の送受信可能タイミングを受信する。その他の動作は、第１実施形態における位置管理サーバ３０と同様である。
【００６３】
本実施形態では、位置管理サーバ３０の外部にて、モバイルノード１０のデータ送信状況に基づいて送受信可能タイミングを計算する。位置管理サーバ３０は、エージェント２０ａからモバイルノード１０の送受信可能タイミングの通知を受け、これを利用する。エージェントは、モバイルノード１０が送受信するパケットの中継を行うため、モバイルノード１０の送受信可能タイミングは、位置管理サーバに限らず、エージェントでも計算が可能である。位置管理サーバ３０ａは、複数のエージェントから送受信可能タイミングを受信したときは、現在位置登録を行っているエージェントが計算した送受信可能タイミングを用いればよい。
【００６４】
図１０は、本発明の第３実施形態のネットワークシステムを示している。図１に示す第１実施形態におけるネットワークシステムとの相違点は、エージェント２０、２１が、ルータ６０、６１に置き換わっている点である。ルータ６０、６１は、ＩＰネットワークにおいて、受信したパケットを自らが持つルーティングテーブルに従って転送する処理を行うネットワーク機器である。また、ルータ６０、６１は、他ノードからアドレスの割り当てなどの要求に対する応答を行う。
【００６５】
図１１は、本発明の第３実施形態のネットワークシステムにおけるモバイルノード１０ａを示している。モバイルノード１０ａは、図２に示す第１実施形態のモバイルノード１０の構成に加えて、モバイルノード部１０４を有する。モバイルノード部１０４は、エージェント２０のモバイルエージェント部２０２と同様な処理を行う。つまり、モバイルノード部１０４は、モバイルノード１０が移動したときに、新しく接続したネットワークから取得したアドレスとホームアドレスとを、位置管理サーバ３０に登録する。また、モバイルノード部１０４は、モバイルノード１０が送受信するパケットに対してカプセル化／デカプセル化処理を行い、モバイルノード１０と位置管理サーバ３０との間の通信を中継する。
【００６６】
本実施形態では、モバイルノード１０が、モバイルノード部１０４を有している。モバイルノード１０が、モバイルエージェント部２０２の処理と同様な処理を行う場合も、得られる効果は第１実施形態と同様である。
【００６７】
なお、第２実施形態では、エージェントにて、モバイルノード１０の送受信可能タイミングを計算したが、位置管理サーバ３０の外部で送受信可能タイミングを計算する部分は、エージェントには限定されない。例えば、モバイルノード１０と位置管理サーバ３０との間のネットワーク５０を構成するネットワーク機器にて、送受信可能タイミングを計算してもよい。
【００６８】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のネットワークシステム、位置管理装置、パケット送信方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【００６９】
最後に、本発明の最小構成について説明する。本発明のネットワークシステムは、最小構成として、モバイルノードと、位置管理サーバとを有する。モバイルノードは、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すノードである。位置管理サーバは、モバイル制御部と、パケットバッファ部と、パケット転送部とを有する。モバイル制御部は、モバイルノードの位置管理を行い、モバイルノードとそのモバイルノードの通信相手との間の通信を中継する。パケットバッファ部は、モバイルノード宛てのパケットを、モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積する。パケット転送部は、パケットバッファ部からパケットを受け取りモバイルノードに送信する。
【００７０】
本発明の位置管理サーバは、最小構成として、モバイル制御部と、パケットバッファ部と、パケット転送部とを有する。モバイル制御部は、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノードの位置管理を行い、モバイルノードとそのモバイルノードの通信相手との間の通信を中継する。パケットバッファ部は、モバイルノード宛てのパケットを、モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積する。パケット転送部は、パケットバッファ部からパケットを受け取り、モバイルノードに送信する。
【００７１】
本発明のパケット送信方法の最小構成は、パケットを受信するステップと、蓄積するステップと、送信するステップとで構成される。パケットを受信するステップでは、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノード宛てのパケットを受信する。蓄積するステップでは、モバイルノード宛てのパケットを、モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまでパケットバッファ部に蓄積する。送信するステップでは、送受信可能なタイミングになると、パケットバッファ部からパケットを受け取りモバイルノードに送信する。
【００７２】
本発明のプログラムの最小構成は、コンピュータに、パケットを受信する処理と、蓄積する処理と、送信する処理とを実行させるという構成である。パケットを受信する処理では、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノード宛てのパケットを受信する。蓄積する処理では、モバイルノード宛てのパケットを、モバイルノードのデータ送信状況に基づいて求められた送受信可能なタイミングまで蓄積する。送信する処理では、送受信可能なタイミングになると、パケットバッファ部からパケットを受け取りモバイルノードに送信する。
【００７３】
本発明のネットワークシステム、位置管理装置、パケット送信方法、及び、プログラムでは、移動が可能で、周期的にデータ送信とスリープ状態とを繰り返すモバイルノード宛てのパケットを、モバイルノードの送受信可能タイミングまで蓄積する。モバイルノードが、スリープ状態で異なるネットワーク間を移動したとき、モバイルノード宛てのパケットを蓄積している間に、モバイルノードがスリープ状態から復帰し、位置情報が更新されることが期待できる。従って、本発明では、モバイルノードがスリープ状態で異なるネットワーク間を移動したときでも、パケットロスを抑制することができる。
【符号の説明】
【００７４】
１０：モバイルノード
２０、２１：エージェント
３０：位置管理サーバ
４０：サーバ
５０：ネットワーク
６０、６１：ルータ
１０１：ネットワークインタフェース部
１０２：センサアプリ部
１０３：タイマー
１０４：モバイルノード部
２０１：ネットワークインタフェース部
２０２：モバイルエージェント部
２０３：ルータ部
２０４：ネットワーク監視部
２０５：データ送信状況記憶部
３０１：ネットワークインタフェース部
３０２：モバイル制御部
３０３：パケットバッファ部
３０４：パケット転送部
３０５：ネットワーク監視部
３０６：データ送信状況記憶部
【図１】
2011003941.tif 000003
【図２】
2011003941.tif 000004
【図３】
2011003941.tif 000005
【図４】
2011003941.tif 000006
【図５】
2011003941.tif 000007
【図６】
2011003941.tif 000008
【図７】
2011003941.tif 000009
【図８】
2011003941.tif 000010
【図９】
2011003941.tif 000011
【図１０】
2011003941.tif 000012
【図１１】
2011003941.tif 000013