(57)【要約】【課題】  MANET方式とDTN方式を状況に応じて切り替えることにより、電力効率と通信容量のスケーラビリティに優れる無線アドホック網ルーティング方式を実現する。【解決手段】  自端末の電池残量が多ければパケットのEnd-To-End伝送における到達率と通信遅延に優れるMANETによりルーティングを実行し、電池残量が少なくなれば、消費電力の低さと通信容量のスケーラビリティに優れるDTNによるルーティングに切り替えて実行する。同時に、DTNを実行中の自端末が２つ以上の隣接端末を発見した場合には、最小の経路ホップ数によりMANETを実行中の端末まで到達できる隣接端末にパケットを中継する。【選択図】図７
2014150336.tif 000002
【特許請求の範囲】
【請求項１】
移動端末およびこれとの間で直接無線通信が可能な隣接端末を含む無線アドホック網内においてパケットを経路制御するための第１と第２の経路制御手段とを切り替えて実行する移動端末であって：
当該移動端末と前記隣接端末との間での経路情報の交換により、特定のEnd-To-End伝送経路との対応付けが周期的に更新される隣接端末の一覧を保持する経路制御テーブル；
前記経路制御テーブルが維持するEnd-To-End伝送経路に関する情報に従って経路制御を実行する第１の経路制御方式を実行する第１の経路制御手段；
前記End-To-End伝送経路を識別すること無く、送出した端末発見信号に対する隣接端末からの応答が検出されるまで、前記パケットを蓄積し、前記応答の検出時に、前記パケットを前記応答した隣接端末へと転送する第２の経路制御方式を実行する第２の経路制御手段；および、
前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の前記対応付けの更新の有無を考慮し、および／または前記隣接端末からの端末発見信号の受信の有無を考慮して、経路制御の実行を前記第１と第２の経路制御手段の間で切り替える切り替え手段；を備える、移動端末。
【請求項２】
前記第２の経路制御方式が前記パケットの最終宛先を識別するEIDと前記第１の経路制御方式が前記パケットの最終宛先を識別する最終宛先アドレスとの間の対応表をさらに備え、前記第２の経路制御方式において、前記EIDは、前記送出された前記端末発見信号中において端末間を伝搬し、前記端末発見信号を前記隣接端末から受信した当該移動端末が経路制御の実行を前記第１の経路制御手段に切り替えている場合：
前記対応表を使用して前記受信した前記端末発見信号内のEIDを対応する最終宛先アドレスに変換する動作；および、
前記変換された最終宛先アドレスを使用して前記第１の経路制御方式に基づく経路制御を実行する動作；
を実行する請求項１記載の移動端末。
【請求項３】
請求項１記載の移動端末であって、
前記自端末の電池残量が第１閾値を上回るか否かを判定する手段；
前記自端末の移動速度または加速度のいずれかが第２閾値を上回るかを判定する手段；をさらに備え、
前記切り替え手段は、当該移動端末の移動速度、加速度または前記電池残量のいずれか一つ以上をさらに考慮して、経路制御の実行を前記第１と第２の経路制御手段の間で切り替えることを特徴とする、移動端末。
【請求項４】
前記切り替え手段は：
前記電池残量が第１閾値以上であり、当該移動端末の移動速度または加速度のいずれかが第２閾値以下であり、かつ、前記経路制御テーブル内におけるいずれか一つ以上の隣接端末とEnd-To-End伝送経路との間の前記対応付けが更新されているならば、経路制御の実行を前記第１の経路制御手段に切り替え、そうでなければ、経路制御の実行を前記第２の経路制御手段に切り替える、請求項３記載の移動端末。
【請求項５】
前記切り替え手段による前記切り替えは：
前記電池残量が第１閾値以上であり、当該移動端末の移動速度または加速度のいずれかが第２閾値以下であり、かつ、前記経路制御テーブル内におけるいずれか一つ以上の隣接端末とEnd-To-End伝送経路との間の前記対応付けが更新されているならば、経路制御の実行を前記第２の経路制御手段から前記第１の経路制御手段に切り替え；および、
前記電池残量が第１閾値よりも低い第３閾値以下であり、当該移動端末の移動速度または加速度のいずれかが第２閾値よりも高い第４閾値以上であるならば、経路制御の実行を前記第１の経路制御手段から前記第２の経路制御手段に切り替える、請求項３記載の移動端末。
【請求項６】
前記第２の経路制御手段が前記パケットを前記応答した隣接端末へと転送する動作は、
前記端末発見信号に応答した２つ以上の隣接端末のうち、無線網アクセスポイントまでの最短経路ホップ数が最小となる隣接端末に対して、前記第２の経路制御手段が前記パケットを前記転送する動作をさらに備える、請求項１記載の移動端末。
【請求項７】
前記端末発見信号に応答した２つ以上の隣接端末が前記第１の経路制御手段に切り替えている場合において、前記２つ以上の隣接端末の各々から前記無線網アクセスポイントまでの前記最短経路ホップ数は、前記２つ以上の隣接端末の各々のアドレス情報と共に、前記端末発見信号に対する前記応答内において伝送されることにより、当該移動端末に対して通知され、
前記端末発見信号に応答した２つ以上の隣接端末が前記第２の経路制御手段に切り替えている場合において、前記２つ以上の隣接端末の各々から前記無線網アクセスポイントまでの前記最短経路ホップ数は、前記２つ以上の隣接端末の各々のアドレス情報と共に、前記端末発見信号内において伝送されることにより、当該移動端末に対して通知されることを特徴とする、
請求項６記載の移動端末。
【請求項８】
当該移動端末に対して前記通知された前記最短経路ホップ数と前記アドレス情報を前記第２の経路制御手段が一時的に格納するための隣接ノード・リストをさらに備え、
前記最短経路ホップ数が最小となる隣接端末に対して前記転送する動作は、前記隣接ノード・リスト内を検索して、前記最短経路ホップ数が最小となる隣接端末の前記アドレス情報を取り出し、前記取り出した前記アドレス情報を宛先として前記第２の経路制御手段が前記パケットを転送する動作を備える、
請求項７記載の移動端末。
【請求項９】
自端末およびこれと直接無線通信が可能な隣接端末を含む無線アドホック網内において、前記自端末がパケットを経路制御するための第１と第２の方式とを切り替える方法であって、
前記第１の方式は、隣接端末の一覧を保持するテーブル内のEnd-To-End伝送経路に関する情報に従って前記パケットを中継し、前記隣接端末と前記End-To-End伝送経路との間の対応付けは、移動端末間での経路情報の交換により周期的に更新される、方式であり、
前記第２の方式は、前記End-To-End伝送経路を識別すること無く、送出した端末発見信号に対する隣接端末からの応答が検出されるまで、前記パケットを蓄積し、前記応答の検出時に、前記パケットを前記応答した隣接端末へと転送する、方式であり、
当該方法は前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の前記対応付けの更新の有無を考慮し、および／または前記隣接端末からの端末発見信号の受信の有無を考慮して、経路制御を前記第１方式と第２方式との間で切り替えるステップ；を備える方法。
【請求項１０】
移動端末およびこれとの間で直接無線通信が可能な隣接端末を含む無線アドホック網内において、パケットを経路制御するための第１と第２の方式をそれぞれ実行する前記移動端末内の第１と第２の処理モジュールとの間で前記経路制御の実行を切り替えるために、コンピュータに：
前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の前記対応付けの更新の有無を考慮し、および／または前記隣接端末からの端末発見信号の受信の有無を考慮して、前記第１方式と第２方式との間で経路制御を切り替える手順；を実行させるプログラムであって、
前記第１の処理モジュールは、前記第１の方式に関し、移動端末間での経路情報の交換により、特定のEnd-To-End伝送経路との対応付けが周期的に更新される隣接端末の一覧を保持する経路制御テーブルに基づいて前記パケットを中継し、
前記第２の処理モジュールは、前記第２の方式に関し、送出した端末発見信号に対する隣接端末からの応答が検出されるまで、前記パケットを蓄積し、前記応答の検出時に、前記パケットを前記応答した隣接端末へと転送することを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線アドホック・ネットワーク内のルーティング制御プロトコルに関し、より具体的には、無線アドホック・ネットワーク内において状況に応じて最適なルーティング制御プロトコルを自動的に切り替える技術に関する。
【背景技術】
【０００２】
無線アドホック・ネットワーク・システムとは、携帯電話における基地局に代表されるような集中制御局を必要とせずに、複数の移動端末の各々が周囲の所定の範囲内にある通信可能な他の移動端末とデータ通信し、送信元の移動端末から送信先の移動端末まで途中の移動端末がデータをバケツリレーのように順次中継することで遠方までのデータ通信を可能とする技術である。現在、アドホック・ネットワークを形成するための多くのルーティング制御プロトコル(アドホック・ルーティング制御プロトコル)が提案されている。例えば、AODV（Ad Hoc On Demand Distance Vector Routing）（RFC3561）、OLSR（Optimized Link State Routing）（RFC3626）およびDTN（Delay and Disruption Tolerant Network）（RFC4838）等がある。
【０００３】
OLSRやAODVが規定するルーティング制御によって形成されるアドホック・ネットワークは、MANET（Mobile Ad Hoc Network）としてInternet Engineering Task Forceにおいて標準化されている（非特許文献１および２）。MANETは、テーブル駆動型のルーティング制御プロトコルに基づき、複数の移動端末間で経路情報を含むルーティング情報を常時交換し、交換したルーティング情報によりルーティング制御テーブルを最新の状態に更新する方式である。これにより、MANETに基づくルーティングでは、通信の要求が生じた際に保持する経路情報をもとに通信の開始が可能となっている。このとき、無線通信カバレージが相互に重なっており、直接の無線通信が可能な移動端末同士がネットワーク内での隣接ノードとなる。このようなアドホック・ネットワークにおいては、ルーティング情報を隣接ノードである移動端末相互間で常に交換し合うために、無線ネットワーク内に存在する複数の移動端末は常に相互に直接無線通信が可能である必要がある。従って、テーブル駆動型ルーティングにおいては、ネットワーク内で互いに隣接ノードとなる移動端末間のリンクがEnd-To-Endで安定である。
【０００４】
他方、通信相手までのEnd-to-End通信経路が常に発見できるとは限らないという点、即ち、無線ネットワーク内に存在する複数の移動端末は常に相互に通信可能であるとは限らないという点に鑑み、DTNは、いわゆる蓄積転送(Store and Forward)型ルーティングを採用する。DTNに基づくアドホック・ネットワークは、Internet Engineering Task Forceにおいて標準化されている（非特許文献３および４）。この方式では、送信すべきデータを有する送信元端末は、宛先端末との間に直接的なEnd-to-End通信経路が存在しない場合、宛先端末との間に介在する中継移動端末へ、該データを送信する。中継移動端末は、自身が送出した近隣探索ビーコンに対して近隣の他の中継移動端末のいずれかが応答するまで自身が受信した該データを内部に一旦蓄積する。その後、他の中継移動端末のいずれかが近隣探索ビーコンに応答し、当該他の中継移動端末と通信可能となった時点で、当該他の中継移動端末へ該データを転送する。複数の中継移動端末がこのような転送を繰り返すことによって、蓄積転送型ルーティングは、最終的に、該データを宛先端末へ転送する。蓄積転送型ルーティングにおいては、ネットワーク層内の経路制御の実行によってEnd-To-Endの通信経路が事前に確定しているテーブル駆動型ルーティングとは異なり、このような前提が不要である。すなわち、DTNのような蓄積転送型ルーティングは、End-To-End伝送経路をルーティング開始前に識別することなく、単に、パケット蓄積中の移動端末が発した近隣探索ビーコンにたまたま応答した他の移動端末に対してパケットを中継転送する手順を繰り返すだけである。
【０００５】
なお、DTNのような蓄積交換型ルーティングにおいては、データを蓄積している中継移動端末の近隣探索ビーコンに応答した隣接ノードとして、２つ以上の他の中継移動端末が存在する場合がある。この場合、データを蓄積している中継移動端末がデータの転送先を選択するために実行可能な方法として、全ての隣接ノードに対して該データを転送する手法（感染型経路制御（Epidemic Routing））、または隣接ノードの全数にデータ送信確率ｐを乗算して得られる個数の隣接ノードを所定の条件で選択し転送する手法などがある。これらの手法においては、データを蓄積した各中継移動端末が複数の隣接ノードにデータの複数のコピーを転送するデータ中継動作が順次繰り返される。その結果、これらの手法は、無線アドホック・ネットワーク内でデータの多数のコピーを拡散させ、データが最終宛先へ到達する確率を高めることができる。その反面、これらの手法では、ネットワーク内の多数の中継移動端末間で同時並列的に非常に多数のデータ転送が発生し、通信の効率や端末消費電力の効率が低下する。
【０００６】
以上より、MANETのようなテーブル駆動型ルーティングは、ネットワーク内で隣接した移動端末間のリンクがEnd-To-Endで安定であることにより、送信元から発したパケットがEnd-To-Endの最終宛先に高い確率で到達し、通信遅延が発生し難い。その反面、テーブル駆動型ルーティングでは、複数の移動端末相互間で常にルーティング情報を交換し合うことによる端末バッテリーの著しい消耗や通信容量の圧迫が問題となる。他方、DTNのような蓄積交換型ルーティングは、ランダムで制限のない通信遅延の代償として大きな通信容量を可能にし、ルーティング情報の交換による端末電力の消耗も無い。その反面、パケットが最終宛先に到達するまでEnd-To-Endの通信経路が決まらない蓄積交換型ルーティングにおいては、送信元から宛先までのEnd-To-Endにおけるパケットの到達率がテーブル駆動型ルーティングよりも小さいという問題がある。
【０００７】
さらに別の問題として、無線ネットワーク内に存在する複数の移動端末が常に相互に通信可能であるか否かは、移動端末や無線アクセスポイントの地理的配置または無線通信カバレージの到達範囲などに応じて時々刻々と変化する。
【０００８】
そこで、アドホック・ネットワークの形成のために、MANET標準のようなテーブル駆動型のルーティング制御プロトコルとDTN標準のような蓄積転送型のルーティング制御プロトコルの両者を並存させ、上記２種類のルーティング方式を状況に応じて使い分けることが必要となる。
【０００９】
以下の特許文献１における無線アドホック・ネットワークでは、MANETと同様のテーブル駆動型ルーティングに基づくネットワークとしてMHN（Multi-Hop Network）を採用し、DTNと同様の蓄積交換型ルーティングに基づくネットワークとしてMISN（Mobile Info-Station Network）を採用する。そして、MHNとMISNとが混在する無線環境において、これら２つのネットワークが一体的に連携してルーティング制御を実行するために、これら２種類のルーティング制御を状況に応じて使い分け、互いに連携させる機能を実現することを試みている。
【００１０】
特許文献１においては、移動端末は短いパケットで伝送される交通情報を散発的に相互に交換しながら高速道路を走行中の車載端末であるとしている。そのため、移動端末はモビリティが高く、移動端末数に応じたネットワーク全体の通信容量のスケーラビリティは要求されず、むしろ通信遅延の防止が強く要請される。
【００１１】
従って、特許文献１においては、無線アドホック・ネットワークの形成のために、MANETと同様のテーブル駆動型ルーティングに基づくMHNが優先的に採用される。何故なら、移動端末相互間でのルーティング情報の交換頻度は低くても良く、移動端末数の増加に伴うネットワーク全体の通信容量のスケーラビリティも要求されない反面、蓄積交換型ルーティングによる通信遅延は望ましくないからである。
【００１２】
しかしながら、宛先ノードとは逆の方向に走行中の車載移動端末にパケットが中継される場合においては、高い確率でネットワーク分割が発生し、分割されたMHNネットワーク同士はルーティング情報の交換が不可能になる。特許文献１記載の発明は、このようなネットワーク分割に対処するために、分割されたMHNネットワーク同士の間のパケット転送を実現する手段として、DTNと同様に蓄積交換型方式であるMISNに基づくルーティングを採用する。
【００１３】
非特許文献５では、DTNに基づく無線アドホック・ネットワークにおいては、移動端末のモビリティーが高いため、物理的なネットワーク・トポロジが絶えず不安定に変化しており、現在の全体像を把握することが困難であるという問題を踏まえ、この問題の解決策を提案している。具体的には、ネットワークの現在の全体像を知るために、全ノードがルーティング情報を相互拡散するなどによってネットワーク全体で同期を取る代わりに、近隣ノードとの関係を知るだけでデータ配送を行う方式を提案している。例えば、非特許文献５は、各隣接ノードが有するポテンシャル値を参照し、ポテンシャル値が低い隣接ノードには蓄積したデータを反復的に転送する。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特願２００６−２２９９６８号公報
【非特許文献】
【００１５】
【非特許文献１】RFC3626  "Optimized Link State Routing Protocol (OLSR)" InternetEngineering Task Force, 2003年10月
【非特許文献２】RFC3561  "Ad hoc On-Demand Distance Vector (AODV) Routing"Internet Engineering Task Force, 2003年７月
【非特許文献３】RFC4838  "Delay-Tolerant Networking Architecture" InternetEngineering Task Force, 2007年４月
【非特許文献４】RFC5050  "Bundle Protocol Specification" Internet Engineering TaskForce, 2007年11月
【非特許文献５】落合秀也他：「DTN環境を想定したトポロジ変化に強いメッセージルーティング」、情報処理学会論文誌第50巻、第９号、第2312ページから第2326ページ、2009年９月
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記のとおり構成された特許文献１記載の無線アドホック・ネットワークにおいては、交通事故の未然防止の観点から、車両間での通信遅延の最小化が最優先され、移動端末は車載型であるために、移動端末の省電力性能は重要ではない。加えて、ネットワーク全体の通信容量のスケーラビリティもマルチメディア・モバイル通信環境と比べて重要ではない。一方、マルチメディア・モバイル通信環境や人間が携帯するセルラー電話を移動端末とする一般的なモバイル通信環境においては、通信遅延は単にサービスの一時的中断をもたらすのみであり、端末数に応じた通信容量のスケーラビリティや端末の省電力性能がより重要となる。
【００１７】
また、非特許文献５記載の無線ルーティング方式は、DTNに基づいて動作するネットワーク全体のトポロジが常に変化して不安定である問題に鑑み、ネットワーク・トポロジの不安定性に起因するEnd-To-Endのデータ伝送の脆弱性を克服しようとするものである。しかし、非特許文献５記載の技術は、本発明のように移動端末毎の電力消費効率や通信容量のスケーラビリティの改善を直接の目標としてネットワーク全体の動作を最適化するものではない。
【００１８】
以上より、各移動端末は、通信容量や電力に余裕があるときには、ルーティング動作において、End-To-End伝送の到達性に優れるMANET方式を積極的に採用すべきである。他方、各移動端末において、通信容量や電力に余裕が無いか、あるいはランダムな通信遅延を許容せざるを得ない時には、省電力性に優れるDTN方式に切り替えて通信容量に余裕を持たせると共に、ランダムな通信遅延を許容できるようにするべきである。それにもかかわらず、上記した先行文献はいずれも上記のようなMANETとDTN間の切り替えの仕組みを提供していない。
【００１９】
従って、本発明は上記問題に鑑みて成されたものであり、テーブル駆動型ルーティングと蓄積交換型ルーティングが混在する無線アドホック・ネットワークにおいて、MANET方式とDTN方式とを状況に応じて使い分けるための切り替えの仕組みを実現することを目的とする。これと同時に、本発明は、上記した２種類のルーティング方式を使い分ける際に、End-To-End伝送の到達性を可能な限り維持しながら、移動端末の省電力性能や通信容量のスケーラビリティを改善する仕組みを実現することを目的とする。
【課題を解決するための手段】
【００２０】
本発明は、移動端末およびこれとの間で直接無線通信が可能な隣接端末を含む無線アドホック網内においてパケットを経路制御するための第１と第２の経路制御手段とを切り替えて実行する移動端末であって：当該移動端末と前記隣接端末との間での経路情報の交換により、特定のEnd-To-End伝送経路との対応付けが周期的に更新される隣接端末の一覧を保持する経路制御テーブル；前記経路制御テーブルが維持するEnd-To-End伝送経路に関する情報に従って経路制御を実行する第１の経路制御方式を実行する第１の経路制御手段；前記End-To-End伝送経路を識別すること無く、送出した端末発見信号に対する隣接端末からの応答が検出されるまで、前記パケットを蓄積し、前記応答の検出時に、前記パケットを前記応答した隣接端末へと転送する第２の経路制御方式を実行する第２の経路制御手段；および、前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の前記対応付けの更新の有無を考慮し、および／または前記隣接端末からの端末発見信号の受信の有無を考慮して、経路制御の実行を前記第１と第２の経路制御手段の間で切り替える切り替え手段；を備える、構成を採る。
【００２１】
本発明の第２の実施態様は、第１の実施態様に係る移動端末において、前記第２の経路制御方式が前記パケットの最終宛先を識別するEIDと前記第１の経路制御方式が前記パケットの最終宛先を識別する最終宛先アドレスとの間の対応表をさらに備え、前記第２の経路制御方式において、前記EIDは、前記送出された前記端末発見信号中において端末間を伝搬し、前記端末発見信号を前記隣接端末から受信した当該移動端末が経路制御の実行を前記第１の経路制御手段に切り替えている場合：前記対応表を使用して前記受信した前記端末発見信号内のEIDを対応する最終宛先アドレスに変換する動作；および、前記変換された最終宛先アドレスを使用して前記第１の経路制御方式に基づく経路制御を実行する動作；を実行することを特徴とする。
【００２２】
本発明に係る第３の実施態様は、第２の実施態様に係る移動端末において、前記第２の経路制御手段が前記パケットを前記応答した隣接端末へと転送する動作が、前記端末発見信号に応答した２つ以上の隣接端末のうち、無線網アクセスポイントまでの最短経路ホップ数が最小となる隣接端末に対して、前記第２の経路制御手段が前記パケットを前記転送する動作をさらに備えることを特徴とする。
【発明の効果】
【００２３】
本発明における各移動端末は、電力や通信容量に余裕があるときには、MANET方式を採用し、余裕が無いあるいは高速移動によりランダムな通信遅延を許容せざるを得ないときには、DTN方式に切り替える。これによって、本発明は、MANET方式とDTN方式とを状況に応じて使い分けるための切り替えの仕組みを実現し、パケット到達率が高く、通信遅延が少ないMANET方式の利点と、省電力性に優れ、大きな通信容量とランダムな通信遅延を許容するDTN方式の利点の両者を生かすことができる。その結果、本発明は、無線アドホック・ネットワークにおいて上記した２種類のルーティングを状況に応じて使い分ける際に、移動端末の省電力性能や通信容量のスケーラビリティを改善することができる。
【図面の簡単な説明】
【００２４】
【図１】MANET標準に基づくルーティング制御プロトコルとDTN標準に基づくルーティング制御プロトコルとが混在した形で運用されるアドホック・ネットワークの一例を示す図
【図２】MANET端末間において、ルーティング制御テーブルを使用したパケット中継とルーティング情報の交換を実行するネットワーク層とそれより下位のプロトコル層を示す図
【図３】DTNに基づくルーティングの例として、Internet Engineering Task ForceのRFC5050において標準化がされているルーティング制御を例示する図
【図４】本発明に係る移動端末の構成例として、移動端末100の構成を複数の回路モジュールから構成されるハードウェア構造として表した図
【図５Ａ】本発明に係る移動端末の第１の作動状態における構成例として、移動端末100内の構成を抽象的な機能ブロックの集まりとして表した図
【図５Ｂ】本発明に係る移動端末の第２の作動状態における構成例として、移動端末100内の構成を抽象的な機能ブロックの集まりとして表した図
【図６】本発明に係る移動端末の構成例として、複数のソフトウェア構成要素および複数のデータ構造によって構成される移動端末100内のソフトウェア構造を表した図
【図７】MANET-DTN間の第１連携機能の例示のために、複数の移動端末100-(a)乃至100-(k)および無線アクセス・ルータ200から形成される無線アドホック・ネットワークを表す図
【図８】MANETモードとDTNモードとの間でルーティング制御の実行を切り替える動作の流れを説明するフローチャート
【図９】MANETモードとDTNモード間での繁忙な切り替えによるジッタリングを防止するための変形実施例を示す図
【図１０】MANETモードとDTNモード間での繁忙な切り替えによるジッタリングを防止するための変形実施例を示す図
【図１１】MANET-DTN間でルーティング経路を終端すること無しにパケットを中継する第２連携機能を実現するために移動端末間で実行される通信動作を説明する図
【図１２】DTN端末が使用する隣接ノード・リストを示す図
【図１３】端末ＩＤ、ＥＩＤおよびＩＰアドレスの対応表
【図１４】DTN端末が実行するMANET端末へ向けたパケット転送のための一連の通信手順を示す図
【図１５】MANET端末へ向けたパケット転送を実行する際に、DTN端末がデータ・パケットに付加するヘッダー情報フィールドについて説明する図
【図１６】DTN端末からの近隣探索ビーコンに対してMANET端末側から返送される応答パケットの構造の一例
【発明を実施するための形態】
【００２５】
図１は、MANET標準に基づくルーティング制御プロトコルとDTN標準に基づくルーティング制御プロトコルとが混在した形で運用されるアドホック・ネットワークの一例を示す。以下、図１において、MANET標準に基づくルーティング制御プロトコルを実行する移動端末をMANET端末と呼び、DTN標準に基づくルーティング制御プロトコルを実行する移動端末をDTN端末と呼ぶ。
【００２６】
図１のアドホック・ネットワークにおいては、通信エリア内に存在する複数のMANET端末１100(a)〜MANET端末５  100(e)は、常に相互に直接無線通信が可能である必要がある。そのために、MANET端末１  100(a)〜MANET端末５  100(e)の無線通信カバレージは相互に重なっている状態にある。そして、MANET端末同士は、無線ＬＡＮのアドホックモードによって無線ＬＡＮルータ200に直接接続して通信するか、そうでなければ、該直接接続したMANET端末から他のMANET端末へと信号（パケット）をバケツリレーのように順次中継して通信する。これにより、MANET端末同士は、MANETに基づくアドホック・ネットワークを形成することができる。
【００２７】
なお、各MANET端末は、無線通信カバレージが相互に重なっている他の全てのMANET端末との間でルーティング情報を一定周期で交換し合い、交換したルーティング情報によりルーティング制御テーブルを最新の状態に更新する。このルーティング制御テーブルは、ルーティング経路上で受信したパケットを中継すべき次ホップ・ノードとなる他のMANET端末のアドレスを検索することが可能な検索テーブルである。図２に示すとおり、このようなルーティング制御テーブルを使用したパケット中継とルーティング情報の交換は、各MANET端末においてネットワーク層（例えばＩＰ層）とそれより下位のプロトコル層（例えばWi-Fiプロトコル）により実行される。
【００２８】
他方、図１に示すDTN端末１  100(f)およびDTN端末２  100(g)は、MANET端末１  100(a)〜MANET端末５  100(e)のいずれとも通信カバレージが繋がっておらず、DTN端末１  100(f)とDTN端末２  100(g)とが互いに遠く離れている時には、これらのDTN端末間においても通信は不可能である。そして、DTN端末１  100(f)とDTN端末２  100(g)とが互いに通信可能な距離に近付いた時には、DTN端末１  100(f)およびDTN端末２  100(g)は、蓄積しておいた送信データを互いに相手に転送する。この場合、DTN端末１  100(f)およびDTN端末２  100(g)は、DTNに基づくアドホック・ネットワークを形成することができる。図３は、DTNに基づくルーティングの例として、Internet Engineering Task ForceのRFC5050において標準化がされているルーティング制御を例示する。図３に示すように、上記した送信データの蓄積と転送の制御は、互いに通信可能な距離に近付いた隣接するDTN端末のBundle層同士の間において実行される。図３において、Bundle層は、TCP/IPなどの広く普及した一般的なトランスポート層／ネットワーク層よりも上位に位置し、送信データの蓄積と転送のためにストレージにアクセスしながら、アプリケーション層とトランスポート層との間でデータをやり取りする。
【００２９】
図１において、MANETとDTNの２種類のルーティング方式に基づいてそれぞれ形成された２つのアドホック・ネットワークを一体的な単一ネットワークとして動作させるためには、以下の２つの機能を実現することが必要となる。
【００３０】
（１）MANET-DTN間の第１連携機能
この機能は、複数の移動端末が置かれている状況や状態に応じて、各移動端末が実行するルーティングをMANETに基づくルーティングまたはDTNに基づくルーティングのいずれか最適な方に自動的に切り替える機能である。具体的には、以下のとおりである。複数の移動端末の地理的配置または無線カバレージの到達範囲などが時々刻々と変化することにより、各移動端末が他の移動端末と継続的かつ安定的に通信可能であるのか、断続的にしか通信可能ではないのかが変動する。従って、各移動端末が置かれたその時々の状況や状態に応じて、各移動端末が実行すべきルーティングをMANETに基づくルーティングまたはDTNに基づくルーティングのいずれか最適な方に自動的に切り替える機能が必要となる。
【００３１】
（２）MANET-DTN間の第２連携機能
この機能は、上記２種類の異なるルーティングをそれぞれ実行するネットワーク間で、ルーティング経路を終端することなく送信データの透過的なEnd-To-Endルーティングを実現する機能である。具体的には、図１において、DTN端末１  100(f)またはDTN端末２  100(g)のいずれかがMANET端末１  100(a)〜MANET端末５  100(e)のいずれかと通信カバレージが互いに重なる距離に近付いた時、DTN端末１  100(f)またはDTN端末２  100(g)とMANET端末１  100(a)〜MANET端末５  100(e)のいずれか一つ以上が物理的に通信可能となる。このような場合、DTN端末とMANET端末との間で送信データのルーティングが実現できれば、DTN端末側で蓄積転送型のルーティング経路を一旦終端することなく、同一のEnd-To-Endルーティング経路上で送信データをMANET端末側に転送することが出来る。
【００３２】
以下の説明においては、まず、本実施形態において使用され得る移動端末の構成例を説明する。続いて、上記したMANET-DTN間の第１連携機能および第２連携機能を実現する際に移動端末の省電力性能、通信の電力効率およびEnd-to-End伝送の到達率などを改善する仕組みの実施例について説明する。
【００３３】
（本実施形態に係る移動端末の構成）
以下、図４乃至図６を使用して、本実施形態において使用され得る移動端末の構成例を説明する。
【００３４】
図４は、本実施形態に係る移動端末の構成例として、移動端末100の構成を複数の回路モジュールから構成されるハードウェア構造として表した図である。図４において、移動端末100は、制御プロセッサ11、メモリ12、ストレージ13、ユーザ入出力装置14、送受信アンテナ15A、GPS用アンテナ15B、RF送受信回路16、ベースバンド・プロセッサ17、３軸加速度センサー18、バッテリー残量メーター19、GPS送受信機20およびバス21から構成されている。制御プロセッサ11、メモリ12、ストレージ13、ユーザ入出力装置14、ベースバンド・プロセッサ17、３軸加速度センサー18、バッテリー残量メーター19はバス21によって電気的に接続され、バス21を介して互いに情報をやり取りする。RF送受信回路16は信号線22によってベースバンド・プロセッサ17と電気的に接続され、送受信アンテナ15は、信号線23によってRF送受信回路16と電気的に接続されている。
【００３５】
制御プロセッサ11は、揮発性メモリであるメモリ12内に記憶されたソフトウェアを実行することによって移動端末100全体を制御すると同時に、生成した一時データや外部から読み込んだデータをメモリ12に記憶させる。ストレージ13は、メモリ12上にロードされるデータおよびメモリ12上から保存されるデータを長期的に記憶する不揮発性メモリであると同時に、移動端末100が、DTNのような蓄積交換型ルーティングを実行中にデータ・パケットを蓄積しておく蓄積場所として機能する。ユーザ入出力装置は、移動端末100におけるユーザ・インターフェースを提供する。
【００３６】
移動端末100が他の端末から情報信号を受信する際、ベースバンド・プロセッサ17は、以下の処理を行う。まず、送受信アンテナ15によって受信され、RF送受信回路16によってRF周波数帯域からベースバンド周波数帯域へとダウンコンバートされ信号処理されたベースバンド信号をRF送受信回路16から受信する。続いて、受信したベースバンド信号を処理してベースバンド・シンボルを生成する。最後に、生成したベースバンド・シンボルをデジタル・ビット系列に変換し、バス21を介して当該デジタル・ビット系列を制御プロセッサ11に送信する。移動端末100が他の端末に対して情報信号を送信する場合には、ベースバンド・プロセッサ17は、上記とは逆の処理を行う。
【００３７】
３軸加速度センサー18は、移動端末100が物理的に移動する際に移動端末100に加わる加速度ベクトルを検出し、制御プロセッサ11からの要求に応じて、バス21を介して当該加速度ベクトルを表すデータを制御プロセッサ11に送信する。バッテリー残量メーター19は、移動端末100のバッテリー残量を検出し、制御プロセッサ11からの要求に応じて、バス21を介して当該バッテリー残量を表すデータを制御プロセッサに送信する。GPS送受信機20は、GPS用アンテナ15Bを介してGPS衛星（図示なし）との間で衛星信号を通信し、GPS衛星から受信した衛星信号に基づいて移動端末100の現在位置を計算するために、バス21を介して受信した衛星信号の位相タイミング情報を制御プロセッサ11に送信する。
【００３８】
図５Ａおよび図５Ｂは、本実施形態に係る移動端末の構成例として、移動端末100内の構成を相互に連携する抽象的な機能ブロックの集まりとして表した図である。図５Ａおよび図５Ｂにおいて、移動端末100は、ユーザ・インターフェースを含むアプリケーション110、MANET/DTN切り替え判断部111、メッセージ受信部112、受領メッセージ解析部113、MANET送信部120、ルーティング制御テーブル130、DTN送信部140、IPND送受信部141および受領IPND解析部142、プロトコル下位層150および対応表160から構成される。図５Ａと図５Ｂとでは、移動端末100が現在実行中の動作状態によって上述した機能ブロック同士の間の接続関係や機能ブロック間の情報の流れが異なっている。すなわち、図５Ａは、ユーザからアプリケーション110を介してデータ・パケットのEnd-To-End伝送を指示されたことに応じて、移動端末100が、End-To-End伝送を開始する動作を実行している際における、移動端末100内の機能ブロック同士の間の接続関係を表す。他方、図５Ｂは、移動端末100が、ルーティングによって他の移動端末から転送されて来たパケットを受信してさらに中継する動作を実行している際における、移動端末100内の機能ブロック同士の間の接続関係を表す。
【００３９】
アプリケーション110、MANET/DTN切り替え判断部111、メッセージ受信部112、受領メッセージ解析部113、MANET送信部120、DTN送信部140、IPND送受信部141および受領IPND解析部142およびプロトコル下位層150は、図４におけるメモリ12内に常駐し、制御プロセッサ11により実行されるソフトウェア・プログラムとすることが可能である。
【００４０】
まず、図５Ａにおける各機能ブロックの機能と役割について説明する。ユーザから指示を受けたアプリケーション110は、所望の宛先端末に対するデータ・パケットのEnd-To-End伝送の開始を、MANET/DTN切り替え判断部111を介して、MANET送信部120またはIPND送受信部141に要求する。具体的には、所望の宛先端末がユーザによって端末ＩＤの形で指定されると、アプリケーション110は、まず最初に、後述する対応表160を参照して当該端末ＩＤを対応するＩＰアドレスに変換する。続いて、アプリケーション110は、当該ＩＰアドレスとEnd-To-End伝送すべきデータ・パケットをMANET/DTN切り替え判断部111に渡して、当該データ・パケットのルーティングの開始を要求する。MANET/DTN切り替え判断部111は、移動端末100がMANETに基づくルーティングを使用して通信を行うMANETモードと移動端末100がDTN基づくルーティングを使用して通信を行うDTNモードとの間で移動端末100の動作モードを状況に応じて切り替える。MANET/DTN切り替え判断部111が、移動端末100の動作モードをどのような状況でMANETモードに切り替え、どのような状況でDTNモードに切り替えるべきかの具体的判断基準については後述する。
【００４１】
MANET/DTN切り替え判断部111が移動端末100の動作モードをMANETモードに切り替える際、MANET/DTN切り替え判断部111は、MANET送信部120に対して起動指示を発する。その後、MANET送信部120は、ルーティング制御テーブル130を参照しながら、データ・パケットの中継処理を実行するのと並行して、直接無線通信が可能な他の移動端末である隣接ノードとの間で周期的にルーティング情報を交換し、ルーティング制御テーブル130の内容を更新する。
【００４２】
ルーティング制御テーブル130は、各移動端末がMANET方式に基づいてパケットのルーティングを行うために使用される経路制御情報の一覧であり、テーブルを構成する各ルーティング情報エントリーは、特定のEnd-To-End伝送経路に対応付けられる。具体的には、各ルーティング情報エントリーは、自身に対応付けられた特定のEnd-To-End伝送経路上における最終宛先のＩＰアドレスと自端末がパケットを直接中継する先である隣接ノードのＩＰアドレスを対にして保持している。各移動端末により構成される無線アドホック・ネットワークのトポロジは時々刻々と変化するので、各移動端末は隣接ノードとの間で経路情報を定期的に交換することにより、ルーティング制御テーブル130を一定時間間隔で最新の内容に更新する必要がある。すなわち、MANET方式において使用されるルーティング制御テーブル130は、隣接ノード間での経路情報の定期的な交換により全体として同期がとられたネットワーク内において、End-To-End伝送経路とパケット中継先となる特定の隣接ノードとの間の最新の対応関係を常に保持する。何らかの理由により、隣接ノード間での経路情報の定期的な交換が滞り、ルーティング制御テーブル130内の一部のエントリーに関して、End-To-End伝送経路とパケット中継先となる隣接ノードとの間の対応関係が最新の状態ではなくなる場合がある。この場合、MANET送信部120は、当該対応関係が最新の状態に更新されていないエントリーを無効であるとして削除する。
【００４３】
次に、DTN送信部140、IPND送受信部141および受領IPND解析部142の機能と役割について説明する。アプリケーション110が移動端末100の動作モードをDTNモードに切り替える際、アプリケーション110は、IPND送受信部141に対して起動指示を発する。その後、IPND送受信部141は、移動端末100と直接無線通信が可能な隣接ノードとなる他の移動端末を探索するために、近隣探索ビーコンであるIPND（IP Neighbor Discovery）パケットを送出し、近隣のいずれかの移動端末が当該IPNDパケットに応答するのを待つ。この時、移動端末100が近隣の移動端末に中継すべきパケットを受信済みであれば、移動端末100は当該応答を待ちながら、受領IPND解析部142を経由して当該受信済みパケットをDTN送信部140内に蓄積する。近隣のいずれか一つ以上の移動端末から当該応答が受信できた場合、DTN送信部140は当該応答内に含まれる無線接続情報を使用して応答送信元である移動端末に無線接続し、無線接続した移動端末に対して蓄積していた当該受信済みパケットを転送する。
【００４４】
移動端末100内のIPND送受信部141が近隣の他の移動端末からのIPNDパケットの送信を検知し、これを受信した場合には、受領IPND解析部142は、以下の動作をする。まず、受領IPND解析部142は、当該IPNDパケットをIPND送受信部141から受信し、受信したIPNDパケット内の送信元情報に基づいて応答をIPNDパケットの送信元であるDTN端末に返信する。続いて、受領IPND解析部142は、IPNDパケットの送信元であるDTN端末から転送されてくるデータ・パケットに関して、その中継先である次ホップ・ノードに対応する他の移動端末を決定するために、受信したIPNDパケットに対する解析処理を実行する。その後、IPNDパケットの送信元であるDTN端末からデータ・パケットが転送されて来たならば、受領IPND解析部142は、当該解析処理によって決定した次ホップ・ノードに対応する移動端末に当該データ・パケットを転送するために、当該データ・パケットをDTN送信部140内に蓄積した上で、IPND送受信部141に制御を渡す。最後に、制御を渡されたIPND送受信部141は、上記と同様の手順によって次ホップ・ノードに対応する近隣の移動端末に対してデータ・パケットの転送を実行する。
【００４５】
以上より、DTNに基づいてDTN送信部140、IPND送受信部141および受領IPND解析部142により実行される一連のルーティング制御は、End-To-End伝送経路をルーティング開始前に識別することなく、パケットの最終宛先に到達するまで以下の動作を繰り返すだけである。すなわち、DTNルーティング制御は、パケット蓄積中の移動端末が送出したIPND（すなわち、近隣探索ビーコン）にたまたま応答した一つ以上の他の移動端末を隣接ノードとして認識し、当該隣接ノードに対してパケットを中継転送する動作を繰り返す。
【００４６】
プロトコル下位層150は、移動端末100がMANETモードまたはDTNモードで動作中にルーティング情報、IPNDパケット又はその応答のような制御情報およびデータ・パケットを近隣の移動端末と通信し合うためのデータリンク・レベルの無線伝送手段を提供する。
【００４７】
対応表160は、上述したように、ユーザから指定された端末ＩＤと対応するＩＰアドレスとの間の変換のために使用されることに加え、以下のような場合にアプリケーション110によってアクセスされ、使用される。即ち、MANETモードで動作中の移動端末100がDTNモードで動作中の近隣の移動端末に対してデータ・パケットのルーティングをする必要がある場合、またはその逆の場合である。これらの場合において、アプリケーション110は、DTNモード固有のパケット宛先識別情報であるEIDと各移動端末を識別するIPアドレスや端末IDとの間で変換処理を行うために対応表160を使用する。MANET端末とDTN端末間におけるパケット中継処理の詳細とその際に実行される対応表160を使用した変換処理については後述する。
【００４８】
次に、図５Ｂにおける各機能ブロックの機能と役割について説明する。ルーティングにより他の移動端末から転送されて来たデータ・パケットを、移動端末100内のプロトコル下位層150が受信すると、メッセージ受信部112は、プロトコル下位層150から当該データ・パケットを受け取る。続いて、受領メッセージ解析部113は、当該データ・パケットをメッセージ受信部112から受け取り、当該データ・パケットの宛先ＩＰアドレスを解析し、その解析結果に応じて、当該データ・パケットをアプリケーション110、MANET送信部120およびIPND送受信部141のうちの何れに渡すかを判定する。具体的には、以下のとおりである。
（ａ）当該宛先ＩＰアドレスが移動端末100自身のＩＰアドレスと一致する場合には、当該データ・パケットの最終的な宛先は移動端末100であると判断できるから、当該データ・パケットをアプリケーション110に渡す。
（ｂ）当該宛先ＩＰアドレスに対応するルーティング情報エントリーがルーティング制御テーブル130内から検索できた場合には、ルーティング制御テーブル130を使用してMANETモードでのルーティングの実行が可能である。そこで、このような場合であって、なおかつ、MANET/DTN切り替え判断部111が移動端末100の動作モードをDTNモードに切り替えていないならば、当該データ・パケットをMANET送信部120に渡す。図５Ｂにおける、
（ｃ）上記（ａ）および（ｂ）の何れの場合にも該当しない場合には、DTNモードでのルーティングの実行が必要となるので、当該データ・パケットをIPND送受信部141に渡す。
【００４９】
図５Ｂにおいて、アプリケーション110、MANET送信部120、ルーティング制御テーブル130、DTN送信部140、IPND送受信部141、受領IPND解析部142、プロトコル下位層150および対応表160の構成と動作は図５Ａの場合と同様である。
【００５０】
図６は、本実施形態に係る移動端末の構成例として、複数のソフトウェア構成要素および複数のデータ構造によって構成される移動端末100内のソフトウェア構造を表した図である。図６において、ユーザ１によって操作される移動端末100は、アプリケーション110、アプリケーションからランタイム・ライブラリとして呼び出される切り替え制御モジュール101、第１のアプリケーション・レベル（APL）ソケット・インターフェース102を介して切り替え制御モジュール101と接続されたMANETモジュール103、第２のAPLソケット・インターフェース104を介して切り替え制御モジュール101と接続されたDTNモジュール105を含む。移動端末100はさらに、アプリケーション110、切り替え制御モジュール101、MANETモジュール103およびDTNモジュール105をソフトウェアとして実行する実行環境であるＯＳ／ＡＰＩ  106を含む。ＯＳ／ＡＰＩ  106は、アプリケーション110、MANETモジュール103およびDTNモジュール105からアクセスすることが可能な内部データ構造として図５Ａおよび図５Ｂと同様のルーティング制御テーブル130および対応表160を含んでいる。加えて、ＯＳ／ＡＰＩ  106は、アプリケーション110から指示を受けた切り替え制御モジュール101がMANETモードのルーティング機能を使用してデータ・パケットをEnd-To-Endで送受信するためのインターフェースとして、TCP/IPソケット・インターフェース107をさらに含んでいる。一実施形態においては、移動端末100は、ＯＳ／ＡＰＩ  106としてAndroid OS（登録商標）を採用することが可能である。
【００５１】
アプリケーション110、切り替え制御モジュール101、MANETモジュール103、DTNモジュール105およびＯＳ／ＡＰＩ  106は、図４におけるストレージ13からロードされてメモリ12上に常駐し、図４における制御プロセッサ11によって実行されるソフトウェア・プログラムとすることが出来る。ルーティング制御テーブル130および対応表160は図４のメモリ12上に常駐するデータ構造として実装され、これらのデータ構造の内容は、一定周期毎に、移動端末100の通信ログと共に、不揮発性メモリであるストレージ13（図４）内に退避される。
【００５２】
図６のアプリケーション110の機能と役割は、図５Ａおよび図５Ｂのアプリケーション110の機能と役割と同一であるため、説明は省略する。切り替え制御モジュール101は、アプリケーション110にリンクされたランタイム・ライブラリ・モジュールであり、図５Ａおよび図５ＢにおけるMANET/DTN切り替え判断部111、メッセージ受信部112、受領メッセージ解析部113の三者の機能を実装するモジュールである。切り替え制御モジュール101は、移動端末100の動作モードをMANETモードに切り替える際には、第１のAPLソケット・インターフェース102を介してMANETモジュール103に対して起動指示を送信し、MANETモジュール103の動作をアクティブにする。切り替え制御モジュール101は、移動端末100の動作モードをDTNモードに切り替える際には、第２のAPLソケット・インターフェース104を介してDTNモジュール105に対して起動指示を送信し、DTNモジュール105の動作をアクティブにする。
【００５３】
MANETモジュール103は、切り替え制御モジュール101からの起動指示によりアクティブ化されると、図５Ａおよび図５ＢのMANET送信部120が実行する機能のうち、直接無線通信が可能な他の移動端末（隣接ノード）との間で周期的にルーティング情報を交換し、ルーティング制御テーブル130の内容を更新する機能を実行する。DTNモジュール105は、切り替え制御モジュール101からの起動指示によりアクティブ化されると、図５Ａおよび図５ＢのDTN送信部140、IPND送受信部141および受領IPND解析部142と同様の機能を実行する。
【００５４】
ＯＳ／ＡＰＩ  106は、MANETモジュール103およびDTNモジュール105の実行環境を提供することに加えて、MANETモジュール103およびDTNモジュール105から見て、図４のプロトコル下位層150と同様の機能を実行する役割も有している。さらに、ＯＳ／ＡＰＩ  106は、図５Ａおよび図５ＢのMANET送信部120が実行する機能のうち、ルーティング制御テーブル130を参照しながらデータ・パケットをルーティングする機能を実行する。
【００５５】
なお、移動端末100がMANETモードで動作しているときは、アプリケーション110から指示を受けた切り替え制御モジュール101によるEnd-To-Endでのデータ・パケットの送受信動作はＯＳ／ＡＰＩ  106内のTCP/IPソケット・インターフェースを介して行われる一方、DTNモードで動作しているときは、当該アプリケーション110による当該End-To-End送受信動作は、第２のAPLソケット・インターフェース104 およびDTNモジュール105を介して行われる。
【００５６】
（MANET-DTN間の第１連携機能を実現するための実施形態）
図７および図８は、MANET-DTN間の第１連携機能を実現するために移動端末間で実行される通信動作を説明するための図である。以下、図７および図８を使用して、MANET-DTN間の第１連携機能を実現する通信動作の実施形態を説明する。
【００５７】
図７は、MANET-DTN間の第１連携機能の例示のために、複数の移動端末100-(a)乃至100-(k)および無線アクセス・ルータ200から形成される無線アドホック・ネットワークを表す。今、図７において、MANETモードで動作中の移動端末100-(a)のバッテリー残量が残り僅かとなったことを移動端末100-(a)上で実行中の切り替え制御モジュール101が検知したとする。この時、切り替え制御モジュール101は、隣接ノードである他の移動端末100-(d)および100-(e)との間の周期的なルーティング情報の交換とルーティング制御テーブル130の更新による電力消耗に移動端末100-(a)が耐えられないと判断する。その結果として、切り替え制御モジュール101は、移動端末100-(a)上でのルーティング制御の実行をMANETモードから電力消耗の少ないDTNモードに切り替える。
【００５８】
また、図７において、MANETモードで動作中の移動端末100-(b)が高速で移動していることにより、隣接ノードである移動端末100(f)および無線アクセス・ルータ200との間の無線チャネル状態が良好ではなくなったことを移動端末100-(b)上で実行中の切り替え制御モジュール101が検知したとする。この時、切り替え制御モジュール101は、移動端末100-(b)が隣接ノードとの間のルーティング情報の交換を良好な無線チャネル状態下で実行することが困難となり、同時に、安定したルーティング経路を維持することが困難であると判断する。その結果として、切り替え制御モジュール101は、移動端末100-(b)上でのルーティング制御の実行をMANETモードから安定したルーティング経路の維持を前提としないDTNモードに切り替える。
【００５９】
また、図７において、MANETモードで動作中の移動端末100-(c)と直接無線通信が可能な相手（隣接ノード）がいなくなったことを移動端末100-(c)上で実行中の切り替え制御モジュール101が検知したとする。このような状況は例えば、移動端末100-(c)が元の場所から長距離を移動したために、無線アクセス・ルータ200の無線通信カバレージおよび他の全ての移動端末の無線通信カバレージから大きく離れてしまった場合などに起こり得る。この時、切り替え制御モジュール101は、移動端末100-(c)がいずれの隣接ノードともルーティング情報を交換することが不可能であると判断する。そしてそれにより、切り替え制御モジュール101は、移動端末100-(c)がルーティング制御テーブル130内においてルーティング情報エントリー毎に保持する隣接ノードとEnd-To-End伝送経路との間の対応関係を最新の状態に更新することが不可能であると判断する。その結果として、切り替え制御モジュール101は、移動端末100-(c)上でのルーティング制御の実行をMANETモードから隣接ノードとの間の連続的な経路情報の交換を必要としないDTNモードに切り替える。
【００６０】
図８は、移動端末100内の制御プロセッサ11（図４）により実行される切り替え制御モジュール101（図５、図６）がMANETモードとDTNモードとの間でルーティング制御の実行を切り替える動作の流れを説明するフローチャートである。
【００６１】
図８においては、処理フローはＳ１０の実行から開始し、切り替え制御モジュール101は、バス21（図４）を介してバッテリー残量メーター19（図４）から現在のバッテリー残量を受信する。続いて、Ｓ２０において、切り替え制御モジュール101は、受信したバッテリー残量を第１閾値と比較し、当該バッテリー残量が当該第１閾値以上であるか否かを判定する。この判定結果がYESならば、処理フローはＳ３０に進み、NOならば処理フローはＳ７０に進む。Ｓ３０において、切り替え制御モジュール101は、バス21（図４）を介して３軸加速度センサー（図４）から移動端末100に関する加速度ベクトルを受信し、移動端末100の現在の移動速度と加速度を計算する。Ｓ４０において、切り替え制御モジュール101は、受信した移動速度または加速度のいずれか一方を第２閾値と比較し、当該移動速度または加速度のいずれか一方が当該第２閾値以下であるか否かを判定する。この判定結果がYESならば、処理フローはＳ５０に進み、NOならば処理フローはＳ７０に進む。Ｓ５０において、切り替え制御モジュール101は、自端末と直接に無線通信が可能な隣接ノードに相当する他の移動端末が存在するか否かを判定する。この判定結果がYESならば、処理フローはＳ６０に進み、NOならば処理フローはＳ７０に進む。自端末から見た隣接ノードの有無の判定は、例えば、以下の２通りの方法で実現することが出来る。一つ目は、切り替え制御モジュール101が、メモリ12（図４）内に記憶されているルーティング制御テーブル130を検索し、ルーティング制御テーブル130内に隣接ノードとして他の移動端末のアドレス情報又は識別情報が登録されているか否かを判定する方法である。二つ目は、移動端末内に内蔵された孤立ノード監視タイマー（図示せず）が通知する周期的な時点において、自端末が他のMANET端末からのビーコン送信の有無を判定する方法である。いずれにしても、ルーティング制御テーブル130内の特定のルーティング情報エントリーが保持している隣接ノードとEnd-To-End伝送経路との間の対応関係が最新のものでなければ、当該ルーティング情報エントリーは無効なエントリーとして削除される。その結果、上記対応関係に関して最新の内容を保持するルーティング情報エントリーをルーティング制御テーブル中から一つも検索できなければ、切り替え制御モジュール101は、隣接ノードが存在しないと判断する。Ｓ６０においては、移動端末100が実行中のルーティングがDTNモードであるならば、それをMANETモードに切り替える。Ｓ７０においては、移動端末100が実行中のルーティングがMANETモードであるならば、それをDTNモードに切り替える。
【００６２】
（第１連携機能の実現方法の変形例その１）
MANETモードとDTNモードとの間の状況に応じた切り替えに関して、図８のフローチャートに示す実施形態は、以下のような不都合を生じる場合がある。例えば、移動端末100内において、MANETモードとDTNモード間での繁忙な切り替えによるジッタリングが生じる場合がある。これは、移動端末100の移動速度の頻繁で大きな変動、移動端末100に対する断続的で急速な充電、またはバッテリー残量の不安定な測定精度などに起因する。このようなモード切り替えのジッタリングを防止するために、図８の実施形態を修正した変形実施例を図９および図１０に示す。
【００６３】
図９の２次元グラフにおいて、縦軸はバッテリー残量を反映する指標であるバッテリー・レベルを表し、横軸は時間を表す。横軸（時間軸）上においてｃで表される時間間隔は、バッテリー残量メーター19がバッテリー・レベルをサンプリングする際のサンプリング間隔を表し、ｄで表される時間間隔は、バッテリー・レベルの一回のサンプリング動作が継続する期間である。図９内の４つの曲線は、図中で端末１〜端末４と表記される４台の移動端末に関するバッテリー・レベルの実際の時間変動を表す。
【００６４】
図９中の時間軸上においてｃで表される時間周期およびｄで表される時間周期は、それぞれ２つの異なるタイマーによって計時することが可能である。一実施形態においては、上記２つの異なるタイマーの前者を上記した孤立ノード監視タイマーとすることが出来、後者を各移動端末に内蔵されたバッテリー監視タイマー（図示せず）とすることが出来る。
【００６５】
図９中において「DTNの上限値」と表記された閾値レベルを、端末１〜端末４の各々のバッテリー・レベルが下から上に横切った際に、DTNモードで動作していた移動端末100は動作モードをMANETモードに切り替える。また、図９中において「MANETの下限値」と表記された閾値レベルを、端末１〜端末４の各々のバッテリー・レベルが上から下に横切った際に、MANETモードで動作していた移動端末100は動作モードをDTNモードに切り替える。なお、図９中の２次元グラフ内において、「DTNの上限値」と表記される閾値レベルおよび「MANETの下限値」と表記される閾値レベルの両者の間に位置する領域は、MANETモードとDTNモードとの間の切り替えが抑制される緩衝領域である。
【００６６】
以上のように、図９に示す変形実施例は、MANETモードとDTNモードとの間の繁忙な切り替えによるジッタリングを防止するために、図９中の２次元グラフ内において、MANETモードでの切り替えが生じる領域とDTNモードへの切り替えが生じる領域との間にモード切り替えが抑制される緩衝領域を設けている。
【００６７】
（第１連携機能の実現方法の変形例その２）
図１０に示す変形実施例は、２次元グラフの縦軸が各移動端末の移動速度又は加速度である点を除いて図９に示す変形実施例と同様である。
【００６８】
図１０中において「DTNの下限値」と表記された閾値レベルを、端末１〜端末４の各々のバッテリー・レベルが下から上に横切った際に、DTNモードで動作していた移動端末100は動作モードをMANETモードに切り替える。また、図１０中において「MANETの上限値」と表記された閾値レベルを、端末１〜端末４の各々のバッテリー・レベルが上から下に横切った際に、DTNモードで動作していた移動端末100は動作モードをMANETモードに切り替える。なお、図１０中の２次元グラフ内において、「DTNの下限値」と表記される閾値レベルおよび「MANETの上限値」と表記される閾値レベルの両者の間に位置する領域は、MANETモードとDTNモードとの間の切り替えが抑制される緩衝領域である。
【００６９】
以上のように、図１０に示す変形実施例は、MANETモードとDTNモードとの間の繁忙な切り替えによるジッタリングを防止するために、図１０中の２次元グラフ内において、MANETモードでの切り替えが生じる領域とDTNモードへの切り替えが生じる領域との間にモード切り替えが抑制される緩衝領域を設けている。
【００７０】
（第１連携機能の実現方法の変形例その３）
この変形実施例は、図８に示すフローチャートのＳ３０において、移動端末100の移動速度や加速度を計算するために、３軸加速度センサー18（図４）から取得した加速度ベクトルのデータではなく、GPS送受信機20（図４）から取得したGPS衛星信号の位相タイミング情報を使用する。具体的には、制御プロセッサ11が、GPS送受信機20から連続的に取得した衛星信号の位相タイミング情報に基づいて、移動端末100の現在位置の時系列データを計算し、当該時系列データの解析結果から移動端末100の移動速度や加速度を計算する。以上より、制御プロセッサ11が、移動端末100の移動速度（または加速度）を上記手段により計算することは、制御プロセッサ11が、３軸加速度センサー18から取得される加速度ベクトルに基づいて移動速度（または加速度）を計算することの代替的な手段として採用することが出来る。
【００７１】
（MANET-DTN間の第２連携機能を実現するための実施形態）
図１１乃至図１３は、MANET-DTN間でルーティング経路を一旦終端すること無しにパケットを中継することができる第２連携機能を実現するために移動端末間で実行される通信動作を説明する図である。以下、図１１乃至図１３を使用して、MANET-DTN間の第２連携機能を実現する通信動作の第１の実施形態を説明する。
【００７２】
（第２連携機能の実施形態その１）
図１１は、DTNモードで動作中のDTN端末100が、複数のMANET端末100A乃至100Fから形成される無線アドホック・ネットワークと無線通信が可能な範囲内に進入した状況を示す図である。図１１において、MANET端末100A乃至100Fから形成される無線アドホック・ネットワークは、MANETモードでパケットを相互にルーティングしており、MANET端末100A乃至100Fにより形成される無線アドホック・ネットワークは、後述するゲートウェイ・ノードを介して通信事業者網やインターネットと接続されている。
【００７３】
ゲートウェイ・ノードは、無線アクセスポイント（図１１中のAP   200A、200B）や基地局（図１１中のBS   300）それ自体に加え、これらと常に直接無線通信が可能であることが固定的に保証されている無線端末などを含む。例えば、図１１中のノートPC 400は、図１１中においてAP 200Aと表記される無線アクセスポイントと常に直接の無線通信が可能な固定的位置に設置されており、無線アクセスポイント200AとMANET端末100A乃至100Fとの間の通信を常に中継することが可能である。従って、ノートPC 400は、MANET端末100A乃至100Fにとってのゲートウェイ・ノードとなることができる。
【００７４】
さらに、DTN端末100Gは、DTNモードで転送すべきパケットを蓄積している。図１１において、MANET端末100A乃至100Fは各々の無線通信カバレージが相互に重なっていると同時に、DTN端末100GはMANET端末100Cおよび100Dの無線通信カバレージ内に位置している。従って、DTN端末100Gが蓄積しているパケットをDTNモードで転送しようとする際、DTN端末100Gが、近隣探索ビーコンを送出すると、MANET端末100Cおよび100Dは当該近隣探索ビーコンをDTN端末100Gから直接受信する。DTN端末100Gが送出する当該近隣探索ビーコンは、Internet Engineering Task Forceによって標準化されているDTN標準におけるIPND（IP Neighbor Discovery）パケットとすることが可能であり、IPNDパケットの詳細は、Internet Engineering Task Forceが発行しているRFC4838およびRFC5050において記述されている。続いて、当該近隣探索ビーコンをDTN端末100Gから受信したMANET端末100Cおよび100Dの各々は、自端末からゲートウェイ・ノードまでの最短経路ホップ数を計算する。当該最短経路ホップ数は、IPNDパケットを受信したMANET端末が、パケット中継端末として機能する他のMANET端末を経由してゲートウェイ・ノードに到達するまでの一つ以上のルーティング経路のうち、最短のルーティング経路に対応する経路ホップ数である。例えば、図１１において、ノートPC 400がゲートウェイ・ノードであった場合は、MANET端末100Cの最短経路ホップ数は３であり、MANET端末100Dの最短経路ホップ数は２となる。続いて、MANET端末100Cおよび100Dの各々は、自身のＩＰアドレスと共に自端末の最短経路ホップ数を応答パケットに格納してDTN端末100Gに対して返送する。続いて、MANET端末100Cおよび100Dの各々から応答パケットを受信したDTN端末100Gは、図１２に示す隣接ノード・リスト内に受信した応答パケットに含まれるＩＰアドレスと最短経路ホップ数を互いに関係付けて端末毎に格納する。図１２に示す隣接ノード・リストは、移動端末毎にそのＩＰアドレスと最短経路ホップ数とを対応付ける対応表である。図１２の隣接ノード・リストの各行は、応答パケットを返送した各移動端末に対応し、各行の第１フィールドは、各移動端末のＩＰアドレスを含み、各行の第２フィールドは、各移動端末の最短経路ホップ数を含む。続いて、DTN端末100Gは、MANET端末100Cおよび100Dの中で最短経路ホップ数が最小となるMANET端末のＩＰアドレスを隣接ノード・リスト内から検索し、これをルーティング経路上の次ホップ・ノードのＩＰアドレスとして選択する。例えば、図１１の例において、ゲートウェイ・ノードがノートPC 400またはＢＳ（基地局）300のいずれであったとしても、MANET端末100Dの方がMANET端末100Cよりも最短経路ホップ数が小さい。従って、DTN端末100Gは、MANET端末100DのＩＰアドレスを次ホップ・ノードに対応するＩＰアドレスとして選択する。最後に、DTN端末100Gは、次ホップとして選択したMANET端末100DのＩＰアドレスに基づいてMANET端末100Dに無線接続し、蓄積していたデータ・パケットを転送する。この際、転送されるデータ・パケットのヘッダー部分には、MANET端末100DのＩＰアドレスと最終宛先ノードに関するEIDが含まれる。EIDは、DTN標準が定めるルーティング機能によりデータ・パケットをEnd-To-End伝送する際の最終宛先ノードの端末識別子である。EIDは、蓄積交換型のパケット・ルーティングを実行するためにDTN標準が定めるBundle層プロトコル（RFC5050）内でデータ・パケットをEnd-To-End伝送する際の最終宛先ノードを識別するための識別子として機能する。
【００７５】
次に、DTN端末100Gからデータ・パケットを転送されたMANET端末100Dが、図１３に示す対応表を使用して、MANETモード・ルーティングにおけるパケット中継先である次ホップ・ノードを決定する動作の具体例について説明する。
【００７６】
まず、MANET端末100Dは、DTN端末100Gから転送されたデータ・パケットのヘッダー部分からEnd-To-Endの最終宛先ノードを表すEIDを取り出し、このEIDをキーとして、次ホップ・ノードのＩＰアドレスを検索する。具体的には以下のとおりである。
【００７７】
図１３に示す対応表は、図５および図６に示す対応表160のデータ構造の一例である。図１３に示す２次元マトリクス中の各行は、無線アドホック・ネットワークに参加している移動端末の各々に対応し、第１列から第３列の各々は各移動端末に関する３つの情報フィールドに対応する。第１列から第３列の各々に対応する３つの情報フィールドは、以下の情報をそれぞれ含んでいる。
（第１フィールド）各移動端末の端末ＩＤ。
（第２フィールド）各移動端末のＩＰアドレス。
（第３フィールド）各移動端末のEID。
【００７８】
MANET端末100Dは、図１３の対応表内において、データ・パケットのヘッダー部から取り出したEIDと上記「第３フィールド」に含まれるEIDとが合致する行を検索し、当該検索された行内のＩＰアドレスを取得する。当該取得されたＩＰアドレスは、End-To-Endの最終宛先ノードを表すEIDに対応するＩＰアドレスである。続いて、MANET端末100Dは、当該ＩＰアドレスを最終宛先ＩＰアドレスとしてルーティング制御テーブル130を検索し、次ホップ・ノードに対応するMANET端末のＩＰアドレスと無線インターフェース情報を取得する。
【００７９】
次ホップ・ノードのＩＰアドレスを得た後、MANET端末100Dは、当該取得されたＩＰアドレスと無線インターフェース情報を使用して次ホップ・ノードに対応するMANET端末に無線接続する。最後に、MANET端末100Dは、当該無線接続を使用してデータ・パケットを中継先に無線伝送する。
【００８０】
これまでの説明とは逆に、MANET端末側からDTN端末側へとパケットを中継転送する場合における、MANET端末の動作を以下のとおり説明する。例えば仮に、MANET端末がMANET方式により中継転送しようとするパケットの最終宛先端末がDTNモードに移行してDTN端末となっているとする。すると、MANET端末側は、End-To-Endの最終宛先となるパケット内の宛先ＩＰアドレスに対応する隣接ノードをルーティング制御テーブル130内から検索することが出来ない。これにより、当該MANET端末はDTNモードに移行してDTN端末となると同時に、中継転送すべきパケットを蓄積する。続いて、当該DTN端末は、以下において後述するとおり、近隣探索ビーコンを送出し、当該ビーコンに対する他のDTN端末からの応答を検知すると、応答した他のDTN端末を隣接ノードと認識し、当該隣接ノードに対してDTN方式によりパケットを中継転送する。
【００８１】
次に、図１１乃至図１３を使用して、MANET-DTN間の第２連携機能を実現する通信動作の第２の実施形態を説明する。
【００８２】
（第２連携機能の実施形態その２）
図１１から図１３を使用して上述した実施形態において、MANET端末100Dのバッテリー残量が低下した結果、MANET端末100DがDTNモードに移行し、DTN端末100Dとなったとする。すると、今まで端末100Dを経由してパケットをルーティングしていたMANET端末100Ａ、100B、100Cおよび100Eは、自身のルーティング制御テーブル130内において端末100Dを経由するEnd-To-End伝送経路の情報を最新の状態に更新できなくなる。何故なら、端末100Dは、MANETモードではなくなったことにより、これらのMANET端末との間で経路情報を交換しなくなるからである。その結果、これらのMANET端末において、端末100Dを経由するEnd-To-End伝送経路に対応するルーティング制御テーブル130内のエントリーが無効化され、削除されるので、これらのMANET端末は、端末100Dを迂回する経路を使用して相互に通信するようになる。この時、DTNモードに移行した端末100Dは、以下において後述するとおり、DTN端末100Gとの間で近隣探索ビーコン（IPND）を交換し合うことにより、互いに相手を隣接ノードとして認識するようになる。その結果、DTNモードに移行した端末100DとDTN端末100Gとは、DTNネットワークを動的に形成することになる。なお、MANET端末100Cおよび100Eは、端末100Dからの無線信号到達範囲内に居るから、端末100Dからの近隣探索ビーコンを検知することにより、端末100DがDTNモードに移行したことを検出することが出来る。
【００８３】
ここでさらに、MANET端末100Ｂもまた、バッテリー減少によりDTNモードに移行し、DTN端末100Bになったとする。すると、端末100Dおよび端末100Bの両者は経路情報の交換によるルーティング制御テーブル130の更新とこれを使用したルーティングを実行しなくなる。これにより、端末100Cは、ゲートウェイ・ノード（ノートＰＣ400またはＢＳ300のいずれか）を介してネットワークと通信するための全てのEnd-To-End伝送経路を失い、ルーティング制御テーブル130内の全ての隣接ノードに関するエントリーが無効化され、削除される。この事は、バッテリー減少により自発的にDTNモードに移行しなかった端末100Cもまた、ルーティング制御テーブル130内の全ての隣接ノード登録が無効化され、削除されることにより、DTNモードに移行することを意味する。これと同時に、MANET端末100Eおよび100Aは、自身のルーティング制御テーブル130内において、端末100B、100Cおよび100Dのいずれかを経由する又は最終宛先とする全てのEnd-To-End伝送経路の情報を最新の状態に更新できなくなる。その結果、MANET端末100Eおよび100Aにおいて、端末100B、100Cおよび100Dのいずれかを経由する又は最終宛先とする全てのEnd-To-End伝送経路に対応したルーティング情報エントリーは全て無効化され、削除される。これにより、MANET端末100Eおよび100Aは、自身のルーティング制御テーブル130内の隣接ノード集合から端末100B、100Cおよび100Dを除外するので、MANET端末100Eおよび100Aは、端末100B、100Cおよび100DをDTN端末として認識することが可能となる。また、MANET端末100Eおよび100Aは、端末100B、100Cおよび100Dからの近隣探索ビーコンを検知することによっても、端末100B、100Cおよび100DをDTN端末として認識することが可能である。一方、DTNモードに移行した端末100B、100Cおよび100DとDTN端末100Gとは、相互に近隣端末ビーコンを交換することにより、互いに相手を隣接ノードとして認識し、DTNネットワークを動的に形成する。
【００８４】
次に、図１１に関して上述したパケット転送シナリオにおいて、DTN端末100Gが実行するパケット転送のための一連の通信手順の詳細を図１４乃至図１６を使用して以下のとおりに説明する。図１４は、図１１のパケット転送シナリオにおいて、DTN端末100Gが実行するパケット転送のための一連の通信手順のフローチャートである。図１５は、図１４のフローチャートの実行過程において、DTN端末100Gがデータ・パケットに追加のヘッダー情報フィールドを付加することにより生成されるＰＤＵ（Protocol Data Unit）について説明する図である。図１６は、図１４のフローチャートの実行過程において、DTN端末100GがMANET端末100Cおよび100Dから受信する応答パケットの構造の一例である。
【００８５】
図１４のフローチャートにおいて、まず、処理はＳ１０１の実行から開始し、DTN端末100G内のアプリケーション110は、ユーザからEnd-To-Endの最終宛先ノードとなる端末の端末ＩＤを指定される。続いて、指定された端末ＩＤとデータ・パケットをアプリケーション110から受け取った切り替え制御モジュール101は、対応表160を使用して当該端末ＩＤに対応するＩＰアドレスとEIDを取得する。続いて、切り替え制御モジュール101は、図１５（ａ）に示すとおり、伝送すべきデータ・パケットをペイロード部とし、当該取得したEIDを当該ペイロードの前にヘッダー情報として付加してＰＤＵ（Protocol Data Unit）を生成する。続いて、Ｓ１０２において、切り替え制御モジュール101は、当該取得されたＩＰアドレスを最終宛先ノードとするルーティング情報エントリーがルーティング制御テーブル130内に見つかるか否かを判定するために、ルーティング制御テーブル130内を検索する。当該検索の結果、当該ルーティング情報エントリーが見つかれば、DTN端末100Gは、ルーティング経路テーブル130内に次ホップとして登録された隣接ノードとの間でルーティング情報の交換を開始している事が判明する。従って、この場合、DTN端末100GはMANETモードに移行していると切り替え制御モジュール101は判定できる。逆に当該ルーティング情報エントリーが見つからなければ、DTN端末100GはDTNモードのままであると切り替え制御モジュール101は判定できる。このような判定動作が必要なのは、DTN端末100Gは、バッテリー残量や移動速度が所定の条件を満す、またはMANET端末からルーティング情報を受信する等の事象の発生によって、切り替え制御モジュール101が予期せぬ時点でMANETモードへの移行が可能となるからである。
【００８６】
DTN端末100GはMANETモードに移行していると切り替え制御モジュール101が判定したならば、切り替え制御モジュール101による処理は、Ｓ１０３に進み、図１５（ａ）に示すフレーム構造の左端部にさらに当該取得されたＩＰアドレスをヘッダー情報として付加して図１５（ｂ）に示すＰＤＵを生成する。続いて、切り替え制御モジュール101が、ＯＳ／ＡＰＩ  106内のTCP/IPソケット・インターフェース107に図１５（ｂ）のＰＤＵを書き込む。すると、ＯＳ／ＡＰＩ  106は、当該ＰＤＵのヘッダー情報に含まれる最終宛先ＩＰアドレスを検索キーとしてルーティング制御テーブル130を検索して次ホップに対応する隣接ノードのアドレスを取得する。続いて、ＯＳ／ＡＰＩ  106は、当該隣接ノードに対してデータリンク層以下のプロトコル下位層を使用して当該ＰＤＵを次ホップの隣接ノードに無線伝送する。その後、処理は、Ｓ１０４に進む。
【００８７】
他方、Ｓ１０２において、ルーティング制御テーブル130内にルーティング情報が見つからないと判定された場合、処理はＳ１０５に進み、DTN端末100GはDTNモードのままであると切り替え制御モジュール101は判定し、処理フローの実行主体は、切り替え制御モジュール101からDTNモジュール105へと移行する。処理はＳ１０６に進み、DTNモジュール105は、隣接ノードとなる他の移動端末を発見するために、近隣探索ビーコンとしてDTN標準が規定するIPNDパケットを送出する。この動作は、図５Ａおよび図５ＢにおけるIPND送受信部141が実行する動作に対応する。続いて、Ｓ１０７において、DTNモジュール105は隣接ノードとして応答した他の一つ以上の移動端末から応答パケットを受信する。その際、隣接ノードとして応答した他の移動端末の各々から受信した応答パケット内に含まれている当該各移動端末のＩＰアドレスと最短経路ホップ数とを取得して図１２の隣接ノード・リストに登録する。この動作は、図５Ａおよび図５Ｂにおいて受領IPND解析部142が実行する動作に対応する。続いて、Ｓ１０８において、受領IPND解析部142は隣接ノード・リストを検索し、一つ以上の隣接ノードのＩＰアドレスのうち、対応する最短経路ホップ数が最小となるＩＰアドレスを、図１５（ａ）に示すＰＤＵの転送先アドレスとして選択する。続いて、DTNモジュール105は、当該選択したＩＰアドレスを図１５（ａ）に示すＰＤＵの左端にヘッダー情報として付加して図１５（ｃ）に示すＰＤＵとし、当該選択した転送アドレスに向けて図１５（ｃ）のＰＤＵを無線伝送する。この無線伝送は、DTNモジュールがＯＳ／ＡＰＩ  106内の無線伝送プロトコル機能をＡＰＩ呼び出しすることにより実行することが出来る。続いて、処理フローの実行主体は、再び切り替え制御モジュール101に戻り、処理はＳ１０４に進む。Ｓ１０４では、切り替え制御モジュール101は、ＯＳ／ＡＰＩ  106内においてＳ１０３においてTCP/IPプロトコル機能が実行したＰＤＵの伝送またはＳ１０８において無線伝送プロトコル機能が実行したＰＤＵの伝送が成功したか否かを検査する。この検査は、切り替え制御モジュール101が、ＯＳ／ＡＰＩ  106に対して伝送プロトコル実行に関するステータス情報を問い合わせることによって実行することができる。ＰＤＵの伝送が成功したならば、処理フローは終了し、失敗したならば、処理はＳ１０５に戻る。
【００８８】
以上において、DTN端末内に蓄積したパケットをMANET端末側へ転送する際に隣接ノードとなる複数の移動端末の中から最短経路ホップ数に基づいて最適な転送先を選択する方法を説明したが、DTN端末同士の間においてもこれと同様の転送先の選択が可能である。具体的には以下のとおりである。
【００８９】
まず、図１１に示すDTN端末100Gは、図１２に示す隣接ノード・リストを検索し、隣接ノード・リスト内の全ての行に含まれている最短経路ホップ数の中で最小の最短経路ホップ数に１を加算した数をDTN端末100Gの最短経路ホップ数とする。続いて、DTN端末100Gは、自身の最短経路ホップ数とＩＰアドレスを格納した近隣探索ビーコンを送出し、応答を待つ。その後、当該近隣探索ビーコンに対してDTN端末100Hと100I（図示せず）からDTN端末100Gへの応答パケットの返送があったとする。この場合、DTN端末100Hと100Iの各々は、自身の隣接ノード・リストの中にDTN端末100GのＩＰアドレスと最短経路ホップ数を追加登録し、当該追加登録した最短経路ホップ数に１を加算した値を自身の最短経路ホップ数とし、この値を近隣探索ビーコンの送出によりさらに他のDTN端末に通知する。各DTN端末は隣接ノード（DTN端末100G以外の他の隣接ノードも含む）から最短経路ホップ数を含んだ近隣探索ビーコンを新たに受信し、隣接ノード・リストを更新する毎に、自身の最短経路ホップ数を新たに計算しなおす。そして、各DTN端末は、新たに計算した自身の最短経路ホップ数が以前の古い最短経路ホップ数よりも小さい場合には、自身の最短経路ホップ数を新たに計算した値で更新する。
【００９０】
以上のようにして、各DTN端末から無線アクセスポイントに最も近いMANET端末までの最小の経路ホップ数が、各DTN端末において決定されることとなる。その結果、各DTN端末が、隣接ノードである複数の他のDTN端末の中から、最小の最短経路ホップ数に基づいて最適な転送先となるDTN端末を選択することが可能となる。
【００９１】
（本実施形態が奏する作用効果）
本実施形態では、各移動端末は、(i) 自身のバッテリー残量が充分であり、(ii) 自身のモビリティーが低く、(iii) 自身が近隣の移動端末と常に通信可能な状態である場合には、MANETのようなテーブル駆動型ルーティングを使用し、そうでない場合には、DTNのような蓄積交換型ルーティングを使用する。すなわち、各移動端末は、通信容量や電力に余裕があるときには、ルーティング動作において、End-To-End伝送の到達性に優れるMANET方式を積極的に採用し、通信容量や電力に余裕が無い時には、DTN方式に切り替えて消費電力を節約し、通信容量に余裕を持たせる。これによって、本実施形態は、End-To-Endのパケット到達率が高く、通信遅延の少ないテーブル駆動型ルーティングとランダムで制限のない通信遅延の代償として大きな通信容量を可能にし、定期的なルーティング情報の交換による電力消耗の無い蓄積交換型ルーティングの利点を生かす。その結果、本実施形態は、無線アドホック・ネットワークにおいて上記した２種類のルーティングを状況に応じて使い分ける際に、移動端末の省電力性能や通信容量のスケーラビリティを改善することができる。
【００９２】
加えて、本実施形態においては、データ・パケットを蓄積しているDTN端末に対して２つ以上の移動端末が隣接ノードとして応答した場合には、ゲートウェイ・ノードまでの最短経路ホップ数が最小である唯一つの隣接ノードだけに、蓄積していたデータ・パケットを転送する。従って、データ・パケットを蓄積しているDTN端末に対して２つ以上の隣接ノードが存在する場合に、従来型のDTNルーティングが規定する感染型経路制御（Epidemic Routing）等が有する問題点を克服することが出来る。具体的には、本実施形態では、データ・パケットの複数コピーを複数の隣接ノードに対して拡散する動作を経路ホップ毎に順次繰り返すことなく、常にデータ・パケットの単一コピーだけが順次中継されてゆく。従って、感染型経路制御（Epidemic Routing）等のように、ネットワーク全体に渡って、データ・パケットの多数のコピーが拡散されることによる通信効率の低下や通信電力消費の無駄を本実施形態は防止することが出来る。なお、本発明のその他の実施形態を付記として以下に記載する。
【００９３】
また、本実施形態においては、一の移動端末のルーティング制御テーブル130内において、特定の隣接ノードと特定のEnd-To-End伝送経路との対応関係が最新の状態に更新されていなければ、当該移動端末は、当該特定の隣接ノードがDTNモードに移行したことを知ることが出来る。その結果、当該移動端末は、当該特定の隣接ノードへのパケット中継をMANET方式からDTN方式に切り替えることが出来る。逆に、DTN端末からの近隣探索ビーコンを検知したMANET端末は、対応表160を使用して、当該DTN端末から中継されてきたパケットに含まれるEIDを最終宛先ＩＰアドレスに変換することが出来る。そしてさらに、当該MANET端末は、ルーティング制御テーブル130を使用してMANET方式により当該パケットを中継先に転送することが出来る。このようにして、各移動端末は、ルーティング制御テーブル130内におけるEnd-To-End伝送経路情報の更新の有無、および／または隣接ノードからの近隣探索ビーコンの検知の有無に応じて、隣接ノードとの間のパケット中継方式をMANET方式とDTN方式との間で切り替えることが出来る。
【００９４】
（付記１）無線アドホック網内においてパケットを経路制御するための第１と第２の方式とを切り替えて実行する移動端末であって、
前記第１の方式は、移動端末間での経路情報の交換により、特定のEnd-To-End伝送経路との対応付けが周期的に更新される隣接端末の一覧を保持する経路制御テーブル；
テーブルに含まれるEnd-To-End伝送経路情報に従って前記パケットを中継し、前記第１の方式に関し、経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の対応付けを更新する第１のモジュール；
前記第２の方式に関し、End-To-End伝送経路を識別すること無しに、送出した端末発見信号に対する隣接端末からの応答が検出されるまで、前記パケットを蓄積し、前記応答の検出時に、前記パケットを前記応答した隣接端末へと転送する第２のモジュール；
前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の前記対応付けの更新の有無を考慮し、および／または前記隣接端末からの端末発見信号の受信の有無を考慮して、経路制御の実行を前記第１の方式と第２の方式との間で切り替える切り替え制御モジュール；および、
前記切り替え制御モジュールおよび前記第１と第２のモジュールの実行環境を提供し、前記第１の方式に関し、前記経路制御テーブル内のEnd-To-End伝送経路に関する情報に従って前記パケットを中継する動作を実行する基本ソフトウェア；を備える、移動端末。
【００９５】
（付記２）前記第２の方式が前記パケットの最終宛先を識別するEIDと前記第１の方式が前記パケットの最終宛先を識別する最終宛先アドレスとの間の対応表をさらに備え、前記第２の方式において、前記EIDは、前記送出された前記端末発見信号中において端末間を伝搬し、前記端末発見信号を前記隣接端末から受信した当該移動端末が経路制御の実行を前記第１の方式に切り替えている場合：
前記対応表を使用して前記受信した前記端末発見信号内のEIDを対応する最終宛先アドレスに変換する動作；および、
前記変換された最終宛先アドレスを使用して前記第１の方式に基づく経路制御を実行する動作；
を実行する（付記１）記載の移動端末。
【００９６】
（付記３）上記した（付記１）記載の移動端末であって、前記切り替え制御モジュールは：
前記自端末の電池残量が第１閾値を上回るか否かを判定する手段；
前記自端末の移動速度または加速度のいずれかが第２閾値を上回るかを判定する手段；をさらに備え、
前記切り替え制御モジュールは、当該移動端末の移動速度、加速度または前記電池残量のいずれか一つ以上をさらに考慮して、経路制御の実行を前記第１と第２の方式の間で切り替えることを特徴とする、移動端末。
【００９７】
（付記４）前記切り替え制御モジュールは：
前記電池残量が第１閾値以上であり、当該移動端末の移動速度または加速度のいずれかが第２閾値以下であり、かつ、前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の対応付けが更新されているならば、経路制御の実行を前記第１の方式に切り替え、そうでなければ、経路制御の実行を前記第２の方式に切り替える動作を備える、（付記３）記載の移動端末。
【００９８】
（付記５）前記切り替え制御モジュールは：
前記電池残量が第１閾値以上であり、当該移動端末の移動速度または加速度のいずれかが第２閾値以下であり、かつ、前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の対応付けが更新されているならば、経路制御の実行を前記第２の経路制御手段から前記第１の方式に切り替える動作；および、
前記電池残量が第１閾値よりも低い第３閾値以下であり、当該移動端末の移動速度または加速度のいずれかが第２閾値よりも高い第４閾値以上であるならば、経路制御の実行を前記第１の方式から前記第２の方式に切り替える動作；を備える、（付記３）記載の移動端末。
【００９９】
（付記６）前記第２のモジュールが前記パケットを前記応答した隣接端末へと転送する動作は、
前記端末発見信号に応答した２つ以上の隣接端末のうち、無線網アクセスポイントまでの最短経路ホップ数が最小となる隣接端末に対して、前記第２のモジュールが前記パケットを前記転送する動作をさらに備える、（付記１）記載の移動端末。
【０１００】
（付記７）前記端末発見信号に応答した２つ以上の隣接端末が経路制御を前記第１の方式に切り替えている場合において、前記２つ以上の隣接端末の各々から前記無線網アクセスポイントまでの前記最短経路ホップ数は、前記２つ以上の隣接端末の各々のアドレス情報と共に、前記端末発見信号に対する前記応答内において伝送されることにより、当該移動端末に対して通知され、
前記端末発見信号に応答した２つ以上の隣接端末が経路制御を前記第２の方式に切り替えている場合において、前記２つ以上の隣接端末の各々から前記無線網アクセスポイントまでの前記最短経路ホップ数は、前記２つ以上の隣接端末の各々のアドレス情報と共に、前記端末発見信号において伝送されることにより、当該移動端末に対して通知されることを特徴とする、（付記６）記載の移動端末。
【０１０１】
（付記８）当該移動端末に対して前記通知された前記最短経路ホップ数と前記アドレス情報を前記第２のモジュールが一時的に格納するための隣接ノード・リストをさらに備え、
前記最短経路ホップ数が最小となる隣接端末に対して前記転送する動作は、前記隣接ノード・リスト内を検索して、前記最短経路ホップ数が最小となる隣接端末の前記アドレス情報を取り出し、前記取り出した前記アドレス情報を宛先として前記第２のモジュールが前記パケットを転送する動作を備える、（付記７）記載の移動端末。
【０１０２】
（付記９）前記基本ソフトは、標準ソケット・インターフェースをさらに含み、
前記切り替え制御モジュールは、前記第１の方式に基づく経路制御を利用してデータ・パケットをEnd-To-Endで送受信するために、前記データ・パケットを前記標準ソケット・インターフェースを介して読み書きするようにさらに動作可能であり、
前記切り替え制御モジュールは、前記第２の方式に基づく経路制御を利用してデータ・パケットをEnd-To-Endで送受信するために、前記データ・パケットを前記第２のモジュールのインターフェースを介して読み書きするようにさらに動作可能である、（付記１）記載の移動端末。
【０１０３】
（付記１０）自端末およびこれと直接無線通信が可能な隣接端末を含む無線アドホック網内において、前記自端末がパケットを経路制御するための第１と第２の方式とを切り替える方法であって、
前記第１の方式は、隣接端末の一覧を保持するテーブル内のEnd-To-End伝送経路に関する情報に従って前記パケットを中継し、前記隣接端末と前記End-To-End伝送経路との間の対応付けは、移動端末間での経路情報の交換により周期的に更新される、方式であり、
前記第２の方式は、前記End-To-End伝送経路を識別すること無く、送出した端末発見信号に対する隣接端末からの応答が検出されるまで、前記パケットを蓄積し、前記応答の検出時に、前記パケットを前記応答した隣接端末へと転送する方式であり、当該方法は：
前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の前記対応付けの更新の有無を考慮し、および／または前記隣接端末からの端末発見信号の受信の有無を考慮して、経路制御を前記第１方式と第２方式との間で切り替えるステップ；を備える方法。
【０１０４】
（付記１１）前記第２の方式において、前記EIDは、前記送出された前記端末発見信号中において端末間を伝搬し、前記端末発見信号を前記隣接端末から受信した前記自端末が経路制御の実行を前記第１の方式に切り替えている場合、前記自端末は：
前記第２の方式が前記パケットの最終宛先を識別するEIDと前記第１の方式が前記パケットの最終宛先を識別する最終宛先アドレスとの間の対応表を使用して、前記受信した前記端末発見信号内のEIDを対応する最終宛先アドレスに変換する動作；および、
前記変換された最終宛先アドレスを使用して前記第１の方式に基づく経路制御を実行する動作；
を実行する（付記１０）記載の方法。
【０１０５】
（付記１２）上記した（付記１０）に記載の方法であって、
前記自端末の電池残量が第１閾値を上回るか否かを判定するステップ；
前記自端末の移動速度または加速度のいずれかが第２閾値を上回るかを判定するステップ；をさらに備え、
前記切り替えるステップは、当該移動端末の移動速度、加速度または前記電池残量のいずれか一つ以上をさらに考慮して、経路制御を前記第１方式と第２方式との間で切り替えることを特徴とする、方法。
【０１０６】
（付記１３）前記第１方式と第２方式との間で前記切り替えるステップは、
前記電池残量が第１閾値以上であり、前記自端末の移動速度または加速度のいずれかが第２閾値以下であり、かつ、前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の対応付けが更新されているならば、前記自端末の経路制御を前記第１方式に切り替え、そうでなければ、経路制御を前記第２方式に切り替えるサブステップを備える、（付記１２）記載の方法。
【０１０７】
（付記１４）前記第１方式と第２方式との間で前記切り替えるステップは、
前記電池残量が第１閾値以上であり、前記自端末の移動速度または加速度のいずれかが第２閾値以下であり、かつ、前記経路制御テーブル内における隣接端末とEnd-To-End伝送経路との間の対応付けが更新されているならば、前記自端末の経路制御を前記第２方式から前記第１方式に切り替えるサブステップ；
前記電池残量が第１閾値よりも低い第３閾値以下であり、前記自端末の移動速度または加速度のいずれかが第２閾値よりも高い第４閾値以上であるならば、前記自端末の経路制御を前記第１方式から前記第２方式に切り替えるサブステップ；
を備える（付記１２）記載の方法。
【０１０８】
（付記１５）前記第２方式を実行している前記自端末が前記蓄積したパケットを前記転送する動作は、
前記端末発見信号に応答した２つ以上の隣接端末のうち、無線網アクセスポイントまでの最短経路ホップ数が最小となる隣接端末に対して前記転送する動作をさらに備える、（付記１０）記載の方法。
【０１０９】
（付記１６）前記端末発見信号に応答した２つ以上の隣接端末が前記第１の方式を実行している場合において、前記２つ以上の隣接端末の各々から前記無線網アクセスポイントまでの前記最短経路ホップ数は、前記２つ以上の隣接端末の各々のアドレス情報と共に、前記端末発見信号に対する前記応答内において伝送されることにより、前記自端末に対して通知され、
前記端末発見信号に応答した２つ以上の隣接端末が前記第２の方式を実行している場合において、前記２つ以上の隣接端末の各々から前記無線網アクセスポイントまでの前記最短経路ホップ数は、前記２つ以上の隣接端末の各々のアドレス情報と共に、前記端末発見信号において伝送されることにより、前記自端末に対して通知されることを特徴とする、（付記１５）記載の方法。
【０１１０】
（付記１７）前記最短経路ホップ数が最小となる隣接端末に対して前記転送する動作は、前記通知された前記最短経路ホップ数と前記アドレス情報を一時的に格納する隣接ノード・リスト内を検索して、前記最短経路ホップ数が最小となる隣接端末の前記アドレス情報を取り出し、前記取り出した前記アドレス情報を宛先として前記第２のモジュールが前記パケットを転送する動作を備える、（付記１６）記載の方法。
【産業上の利用可能性】
【０１１１】
本発明は、移動端末機器が他の移動端末機器との間で無線アドホック・ネットワークを構成し、当該ネットワークを介して相互に通信する機能を実現するために、移動端末機器にインストールすることが出来る通信ソフトウェアとして利用することができる。また、本発明は、他の移動端末との間で無線アドホック・ネットワークを構成し、当該ネットワークを介して相互に通信する移動端末機器およびそのような移動端末機器から構成されるネットワークシステムとして利用することが出来る。
【符号の説明】
【０１１２】
１１  制御プロセッサ
１２  メモリ
１３  ストレージ
１４  ユーザ入出力装置
１５  送受信アンテナ
１６  RF送受信回路16
１７  ベースバンド・プロセッサ
１８  ３軸加速度センサー
１９  バッテリー残量メーター
２０  バス
１００  移動端末
１０１  切り替え制御モジュール
１０２  APLソケット・インターフェース
１０３  MANETモジュール
１０４  APLソケット・インターフェース
１０５  DTNモジュール
１０６  ＯＳ／ＡＰＩ
１１０  ユーザ・インターフェースを含むアプリケーション
１１１  MANET／DTN切り替え判断部
１１２  メッセージ受信部
１１３  受領メッセージ解析部
１２０  MANET送信部
１３０  ルーティング制御テーブル
１４０  DTN送信部
１４１  IPND送受信部
１４２  受領IPND解析部
１５０  プロトコル下位層
１６０  対応表
２００  無線アクセスポイント
３００  基地局
４００  ノートＰＣ
【図１】
2014150336.tif 000003
【図２】
2014150336.tif 000004
【図３】
2014150336.tif 000005
【図４】
2014150336.tif 000006
【図５Ａ】
2014150336.tif 000007
【図５Ｂ】
2014150336.tif 000008
【図６】
2014150336.tif 000009
【図７】
2014150336.tif 000010
【図８】
2014150336.tif 000011
【図９】
2014150336.tif 000012
【図１０】
2014150336.tif 000013
【図１１】
2014150336.tif 000014
【図１２】
2014150336.tif 000015
【図１３】
2014150336.tif 000016
【図１４】
2014150336.tif 000017
【図１５】
2014150336.tif 000018
【図１６】
2014150336.tif 000019