以下、所定のエリア(地域)に存在する複数の通信装置間において蓄積転送型通信を行うDTNによってメッセージの通信を行う通信システムの実施形態について図面を参照して具体的に説明する。
図2は、本発明における通信システム10によるメッセージ通信の概略を説明する図である。図2に表すように、通信システム10は、通信装置1、管理装置2、移動通信装置3により構成される。
図2において、符号1A〜1Oで示した円形は、互いに異なる場所にある通信装置1を表している。本実施形態における通信装置1は、蓄積転送型通信を行うことが可能な通信機能を有する固定端末又は移動端末であり、例えば、利用者に所持される携帯電話、スマートフォン、タブレットや、家庭や会社に設置されるPC/サーバ、警備装置、家電製品、スマートメーターなどに搭載される通信モジュールなどが挙げられる。また、同図において、通信装置1の間を結んだ点線は、有線又は無線により互いに直接的に通信可能であることを表している。すなわち、当該点線で結ばれた通信装置1は、通信的に接触状態にあることを意味しており、本明細書では、これらの通信装置1を「隣接している」として表現する。また、同図では、便宜上、通信装置1ごとに設定された「信頼度」に基づく階層(レイヤー)により各通信装置1を隔てて表現している。ここで、信頼度とは、通信装置1における、受信したメッセージを長期間管理(記憶)して他の通信装置1に送信できる能力の高さを表すパラメータであり、管理者等により予め設定されていたり、自動的に生成・更新したりすることにより、通信装置1毎に設定されるものである。
各通信装置1は、メッセージを生成した際、又は隣接通信装置からメッセージを受信した際、当該メッセージを自らの信頼度以上の信頼度を有する隣接通信装置(以下、「隣接上位装置」という)に対して次々に送信・転送していくことにより、メッセージをより上位の通信装置1に対して伝達していく。例えば、通信装置1Oが生成・送信したメッセージは、1O→1N→1C→1Aといった経路を辿って、次第により上位の信頼度を有する通信装置1に向かって蓄積転送されていく。この際、メッセージの転送経路上の通信装置1O、1N、1C、1Aには、当該メッセージが所定期間、蓄積(記憶)されているものとする。このように、本発明における通信装置1は、「感染形中継転送方式」とは異なり、隣接上位装置に対してのみメッセージを送信するため、情報の輻輳(通信トラフィックの増大、ノードの記憶領域の逼迫)を抑制することができるものである。なお、本実施形態では、最上位の信頼度“4”を有する通信装置1Aに到達したメッセージは、当該通信装置1Aにより管理装置2に全て転送され、管理装置2にて集中的に記憶管理されるものとする。
移動通信装置3は、通信装置1及び管理装置2と直接通信を行うことが可能な通信機能を有する移動ノードであり、例えば、車両、船舶、飛行船、飛行ロボットなどに搭載される通信モジュールなどが挙げられる。移動通信装置3は、管理装置2と通信不能状態となった通信装置1の設置場所近くに移動して、当該通信装置1と直接的に通信することによって、受信することができなかったメッセージを受信する。なお、移動通信装置3の移動先は、後述する管理装置2との無線通信により指示される。
管理装置2は、移動通信装置3の移動先を決定し、移動通信装置3に対して移動を指示する装置であり、例えば、データセンターなどの通信拠点に設置されているサーバやパーソナルコンピュータなどが挙げられる。本実施形態における管理装置2は、図2に表すように通信装置1Aとインターネット、公衆電話網、携帯電話網などといった広域ネットワークを介して接続され、通信装置1Aを介して各通信装置1から送信・転送された全てのメッセージを受信し、集中的に記憶管理する。これにより、例えば、管理装置2を操作する管理者は、各通信装置1からのメッセージ内容を把握することが可能となる。また、本実施形態における管理装置2は、無線通信により移動通信装置3と接続され、移動通信装置3に対して移動先の通信装置1を指示する。
ここで、本発明の管理装置2は、移動先を決定するにあたり、管理装置2から見たときの通信孤立集合を特定し、当該通信孤立集合において最も信頼度の大きい通信装置(孤立最上位装置)に向かって移動通信装置3を優先的に移動するよう移動先を決定することを特徴としている。例えば、図2において、管理装置2から見たときの通信孤立集合は、通信装置1E〜1Jからなる通信孤立集合Aと、通信装置1K〜1Mからなる通信孤立集合Bとからなる。この際、管理装置2は、通信孤立集合Aにおいて最も信頼度の大きい通信装置1E、及び、通信孤立集合Bにおいて最も信頼度の大きい通信装置1Kを孤立最上位装置として特定し、これらの通信装置1E、1Kを優先的に移動するよう移動先を決定し、移動を指示する。そのため、移動通信装置3は、まずは通信装置1E(又は1K)に向かって移動し、当該通信装置1E(又は1K)と直接的に通信を行うことになる。これらの孤立最上位装置1E、1Kには、それぞれ通信孤立集合A、B内の通信装置1からのメッセージが集約されることから、移動通信装置3にこれらを優先的に移動させることにより、効率的に通信孤立集合A、B内の各通信装置1のメッセージを回収することが可能となる。このように、一度の移動によって通信孤立集合の各通信装置のメッセージを受信することができる。したがって、管理装置2が、メッセージを受信できない全ての通信装置1のメッセージを受信するために移動通信装置3を巡回移動させる際、移動通信装置3の移動回数を少なくすることができるため巡回効率が向上し、巡回時間を最小限に抑えることができることから、メッセージの遅延時間を最小とすることができる。
特に、本発明の管理装置2は、DTNに複数の通信孤立集合が存在しているとき、これらの通信孤立集合の中で短期間に多くの通信装置1を救済可能な通信孤立集合の通信装置に対して優先的に移動するよう移動先を決定することを特徴としている。ここで、通信装置1の救済とは、管理装置2が自らと通信できない通信装置1との間でメッセージの通信を可能にすることをいう。短期間に多くの通信装置1を救済可能な通信孤立集合の通信装置に対して優先的に移動するために、本発明の管理装置2は、移動通信装置3と孤立最上位装置との間の距離が小さい通信孤立集合であるほど、優先的に移動するよう移動先を決定する。図2では、移動通信装置3と通信孤立集合Bの孤立最上位装置1Kとの間の距離をLK、移動通信装置3と通信孤立集合Aの孤立最上位装置1Eとの間の距離をLEとして、いずれも太線矢印にて表している。同図で表したように、LEの方が小さいことから、管理装置2は、通信孤立集合Aの通信装置1に対して移動通信装置3が優先的に移動するよう指示する。すなわち、移動通信装置3は、孤立最上位装置1Eに向かって移動し、当該通信装置1Eと直接的に通信を行うことになる。このように、距離に基づいて移動先の優先度を決定することにより、移動通信装置3の無駄な移動を最小限に抑制することができる。
また、本発明の管理装置2は、通信孤立集合の規模の大きい(構成する通信装置1の台数が多い)通信孤立集合の通信装置1であるほど、優先的に移動するよう移動先を決定する。例えば、図2では、通信孤立集合Aは通信装置1E〜1Jの6台によって構成され、通信孤立集合Bは通信装置1K〜1Mの3台によって構成されている。そのため、管理装置2は、通信孤立集合Aの通信装置1に対して移動通信装置3が優先的に移動するよう指示する。これにより、移動通信装置3は、孤立最上位装置1Eに向かって移動し、当該通信装置1Eと直接的に通信を行うことになる。このように、規模に基づいて移動先の優先度を決定することにより、移動通信装置3の一度の移動によって多数の通信装置1を救済することができる。
次に、上述した実施形態を実現する通信システム10の実施例について説明する。まず、本実施例における通信装置1について説明する。図3は、本実施例における通信装置1の概略構成図である。通信装置1は、入力部11、出力部12、通信部13、記憶部14、制御部15を有する。なお、本実施例では、通信装置1を、専用のデバイスにより構成している。しかし、これに限らず、汎用のデバイス(例えば、パーソナルコンピュータ、スマートフォンなど)に、専用のアプリケーションプログラムをインストールすることによって、通信装置1を構成することも可能である。
入力部11は、キーボードやマウス、タッチパネル、可搬記憶媒体の読取装置、マイク、カメラ等の情報入力デバイスである。利用者は、入力部11を用いて、通信装置1に対して、文字情報、音声情報、画像情報などのメッセージデータを入力することができる。なお、入力部11は、外部の装置からのメッセージデータを入力できる通信インタフェースを含んでもよい。この場合、入力部11は、通信部13と共通のインタフェース装置であってもよい。
出力部12は、図示していないディスプレイやスピーカ等の情報出力デバイスであり、制御部15からの出力信号に基づいて表示出力や音声出力等の情報出力を行う。利用者は、出力部12からの情報出力に基づいて、自らが入力したメッセージデータの確認や、他の通信装置1から受信したメッセージデータの確認などを行うことができる。なお、出力部12は、外部の装置に対してメッセージデータを出力できる通信インタフェースを含んでもよい。この場合、出力部12は、通信部13と共通のインタフェース装置であってもよい。
通信部13は、他の通信装置1、管理装置2、移動通信装置3との間で通信を行う通信インタフェースである。通信部13は、例えば、有線LANやUSB等の有線通信が可能な有線通信インタフェースであってもよいし、IEEE802.11諸規格のいずれかに準拠したいわゆる無線LANやBluetooth(登録商標)等の無線通信が可能な無線インタフェースであってもよい。
記憶部14は、ROM、RAM又はHDDにて構成され、通信装置1を動作させるための各種データ及び各種プログラムなどを記憶する。各種データには、信頼度情報141、その他、制御部15の処理に使用される各種情報や隣接通信装置から受信したメッセージの複製などを記憶している。信頼度情報141は、自らの通信装置の信頼度について示した情報である。信頼度とは、各通信装置1における記憶装置の記憶容量の大きさやその多重化レベル、電源設備の安定度やその多重化レベル、通信設備の安定度やその多重化レベルなどによって定められる、通信装置1がメッセージを長期間管理・中継できることを示す指標であり、通信システム10の管理者等により各通信装置1に固定的に設定される値である。本実施例では、各通信装置1は、信頼度を“1”〜“4”の何れかの数値によって設定されており、当該数値が大きいほど上位の信頼度であるとする。
制御部15は、CPU等を備えたマイクロコンピュータ並びにその周辺回路で構成され、上述した各部を制御して通信装置1を動作させる。制御部15は、上記のマイクロコンピュータ及びマイクロコンピュータ上で実行されるコンピュータプログラムによって実現される機能モジュールとして、メッセージ送受信手段151を有する。
メッセージ送受信手段151は、利用者からのメッセージに係る情報(例えば、利用者の安否情報)が入力部11により入力され制御部15によりメッセージデータが生成されたとき、又は、隣接通信装置1からメッセージを受信したときに、これらのメッセージを管理装置2宛に送信(又は転送)するための処理であるメッセージ送受信処理を行う。メッセージ送受信処理では、メッセージを生成したとき、又は隣接通信装置1からメッセージを受信したとき、当該メッセージに対して信頼度情報141に設定された自らの信頼度を設定した上で、これらのメッセージを送信・転送する。これにより、当該メッセージを受信する隣接通信装置に対して自らの信頼度を知らせることができる。また、隣接通信装置からメッセージを受信したとき、当該メッセージに自らの信頼度以下の信頼度が設定されているならば当該メッセージを記憶(蓄積)する処理を行い、反対に当該メッセージに自らの信頼度よりも大きい信頼度が設定されているならば当該メッセージを破棄する処理を行う。このようにして、メッセージ送受信手段151は、「自らが生成したメッセージ」又は「他から受信したメッセージ」を、自らの信頼度以上の信頼度を有する隣接通信装置(隣接上位装置)に対して次々に送信・転送していくことにより、メッセージをより上位の通信装置1に対して伝搬していく処理を行う。また、メッセージ送受信処理では、他の通信装置1を介さずに管理装置2と通信可能であるとき(例えば、図2における通信装置1Aのような場合)、管理装置2に対して、自らが生成したメッセージ又は隣接通信装置1から受信したメッセージを送信・転送する処理を実行する。
また、メッセージ送受信手段151は、管理装置2に対して定期的(例えば、10分に1回)に接続確認パケットを送信する接続確認処理を実行する。ここで、接続確認パケットとは、当該接続確認パケットを生成した通信装置1のIDと、生成した日時と、自らの信頼度とが少なくとも設定されたパケットであり、管理装置2が通信装置1との通信可否状態を判定するためのパケットである。後述のように管理装置2は、定期的に送信される接続確認パケットを受信することにより、通信装置1との間における通信可否状態を判定する。接続確認処理では、メッセージ送受信処理の場合と同様に、接続確認パケットに対して自らの信頼度を設定したうえで送信・転送していくことにより、接続確認パケットをより上位の通信装置1に対して伝達していく処理を行う。そして、接続確認処理では、他の通信装置1を介さずに管理装置2と通信可能であるとき(例えば、図2における通信装置1Aのような場合)、管理装置2に対して、自らが生成した接続確認パケット又は隣接通信装置1から受信した接続確認パケットを送信・転送する処理を実行する。
直接通信手段152は、自らの近くに移動してきた移動通信装置3との無線リンクが確立したとき、当該移動通信装置3と通信部13を介して直接通信するための処理である直接通信処理を行う。直接通信処理では、記憶部14に記憶している自ら生成したメッセージ、及び他の通信装置1から受信したメッセージを、移動通信装置3に対して送信する処理を実行する。これにより、たとえ管理装置2に送信することができなかったメッセージであったとしても、当該メッセージを移動通信装置3に対して送信することが可能となる。また、直接通信処理では、記憶部14に記憶された自らの接続確認パケット及び他の通信装置1から受信した接続確認パケットを、移動通信装置3に対して送信する処理を実行する。これにより、たとえ管理装置2に送信することができなかった接続確認パケットであったとしても、移動通信装置3に対して送信することが可能となる。
続いて、本実施例における管理装置2について説明する。図4は、本実施例における管理装置2の概略構成図である。管理装置2は、入力部21、出力部22、通信部23、記憶部24、制御部25を有する。なお、本実施例では、管理装置2を、専用のデバイスにより構成している。しかし、これに限らず、汎用のデバイス(例えば、パーソナルコンピュータ、スマートフォンなど)に、専用のアプリケーションプログラムをインストールすることによって、管理装置2を構成することも可能である。
入力部21は、キーボードやマウス、タッチパネル、可搬記憶媒体の読取装置、マイク、カメラ等の情報入力デバイスである。利用者は、入力部21を用いて、管理装置2に対して、文字情報、音声情報、画像情報などのメッセージデータを入力することができる。なお、入力部21は、外部の装置からのメッセージデータを入力できる通信インタフェースを含んでもよい。この場合、入力部21は、通信部23と共通のインタフェース装置であってもよい。
出力部22は、図示していないディスプレイやスピーカ等の情報出力デバイスであり、制御部25からの出力信号に基づいて表示出力や音声出力等の情報出力を行う。利用者は、出力部22からの情報出力に基づいて入力データの確認や、各通信装置1から受信したメッセージデータ(例えば、利用者の安否情報)の確認などを行うことができる。なお、出力部22は、外部の装置に対してメッセージデータを出力できる通信インタフェースを含んでもよい。この場合、出力部22は、通信部23と共通のインタフェース装置であってもよい。
通信部23は、通信装置1及び移動通信装置3との間で通信を行う通信インタフェースである。本実施例における管理装置2の通信部23は、移動通信装置3と直接通信するために用いる衛星通信等などといった遠距離通信用の通信モジュールと、通信装置1と直接通信するために用いる無線LANやBluetooth(登録商標)などといった近距離通信用の通信モジュールと、によって構成される。
記憶部24は、ROM、RAM又はHDDにて構成され、管理装置2を動作させるための各種データ及び各種プログラムなどを記憶する。各種データには、接続情報241、通信孤立情報242、通信装置位置243、移動通信装置位置244、移動速度情報245、その他、制御部25の処理に使用される各種情報(例えば、各種フラグ情報や各種閾値など)や、各通信装置1から受信したメッセージの複製などを記憶している。
接続情報241は、各通信装置1の隣接上位装置を把握すると共に、各通信装置1との間における通信可否状態を判定するために用いる情報であり、図5に例示するように、通信装置1の識別情報(以下「装置ID」という)と、当該通信装置1の隣接上位装置の装置IDである隣接上位装置IDと、各通信装置1と最後に通信が確認できた日時である最終更新日時と、を対応付けたテーブル情報である。ここで、装置ID及び隣接上位装置IDは、管理者等により入力部21から固定的に設定入力されるものとする。また、最終更新日時は、後述する接続情報更新手段251にて、最新に受信した接続確認パケットの受信日時(又は受信した接続確認パケットの生成日時)に基づいて設定されるものとする。
通信孤立情報242は、優先的に移動すべき通信装置1について示した情報であり、図6に例示するように、孤立最上位装置IDと、移動優先度と、移動完了フラグと、を対応付けたテーブル情報である。孤立最上位装置IDとは、孤立最上位装置の装置IDであり、ある通信孤立集合において最も大きい信頼度を有している通信装置1の装置IDである。通信孤立情報242に孤立最上位装置IDとして登録されている通信装置1は、登録されていない通信装置1と比較して優先的に移動されることを意味している。移動優先度とは、複数の通信孤立集合が存在する場合、どの通信孤立集合に対して移動通信装置3が優先的に移動すべきかについて判断するための値であり、当該移動優先度が大きい孤立最上位装置の属する通信孤立集合であるほど、優先的に移動されることを意味する。移動完了フラグは、移動通信装置3が、孤立最上位装置に対して移動し終えたか否かを判定するためのフラグ情報であり、“ON”であれば移動が完了、“OFF”であれば移動が完了していないことを意味している。通信孤立情報242は、後述する制御部25の移動先決定手段252にて更新される。
通信装置位置243は、各通信装置1の設置場所に関する位置情報であり、具体的には、各通信装置1の装置IDと緯度・経度からなる設置場所とを対応付けたテーブル情報である。本実施例では、通信装置位置243は、通信システム10の管理者等により入力部21から固定的に設定入力されるものとする。しかし、これに限らず、各通信装置1から定期的に自らの現在位置が送信され、これを通信部23にて受信して通信装置位置243を更新してもよい。
移動通信装置位置244は、移動通信装置3の現在位置に関する位置情報であり、具体的には、移動通信装置位置244の現時点で把握している緯度・経度からなる位置情報である。本実施例では、移動通信装置3から送信され通信部23を介して受信した移動通信装置の現在位置を、移動通信装置位置244として記憶部24に記憶する。
移動速度情報245は、各孤立最上位装置に至るまでの移動通信装置3の移動速度の推定値であり、具体的には、各孤立最上位装置IDと当該孤立最上位装置に至るまでの移動速度の推定値とを対応付けたテーブル情報である。本実施例では、後述するように、移動先決定手段252にて各孤立最上位装置に至るまでの移動通信装置3の移動速度を推定して、移動速度情報245を更新する。
制御部25は、CPU等を備えたマイクロコンピュータ並びにその周辺回路で構成され、上述した各部を制御して管理装置2を動作させる。制御部25は、上記のマイクロコンピュータ及びマイクロコンピュータ上で実行されるコンピュータプログラムによって実現される機能モジュールとして、接続情報更新手段251、移動先決定手段252を有する。
接続情報更新手段251は、通信装置1から送信された接続確認パケットに基づいて接続情報241を更新する接続情報更新処理を行う。接続情報更新処理では、通信装置1から送信された接続確認パケットを受信したときに、当該接続確認パケットに記された送信元の通信装置1の装置IDに対応する接続情報241の装置IDの最終更新日時を、現在日時(受信した日時)によって更新する処理を実行する。
移動先決定手段252は、通信孤立情報242を生成・更新する通信孤立情報更新処理と、通信孤立情報242に基づいて移動通信装置3に対して移動を指示する移動指示処理とを行う。
図7は、本実施形態における通信孤立情報更新処理を説明するフローチャートである。なお、図7のフローチャートにおいて、ループ1はST11〜ST18の各処理を接続情報241の各行に対して実行することを意味しており、接続情報241の行数分だけ処理がループする。移動先決定手段252は、所定のタイミング(例えば、災害の発生を検知したタイミング、通信障害の発生を検知したタイミング、定期的なタイミング、システム管理者からの指示入力に基づいたタイミング、など)に通信孤立情報更新処理を開始する。
通信孤立情報更新処理では、まず、接続情報241から一行抽出し、当該抽出行の装置IDの通信装置1を処理対象装置として設定する(ST11)。次に、更新フラグに初期値の“OFF”を設定する(ST12)。ここで、更新フラグとは、通信孤立情報242の更新を要するか否かを判定するために用いるフラグ情報であり、ループ1における接続情報の各行の処理の際に設定されるフラグ情報である。
次に、接続情報241を参照し、処理対象装置が通信不可状態であるか否かを判定する(ST13)。ここでの判定においては、接続情報241における最終更新日時と現在日時との差が予め定めた閾値以上であるとき、通信不可状態であると判定する。すなわち、処理対象装置の通信装置1から接続確認パケットを閾値で定めた期間以上の間、受信できていないとき、当該通信装置1は通信不可状態にあると判定する。ST13にて、処理対象装置が通信不可状態であると判定したとき(ST13−Yes)、更新フラグの値を“ON”と設定する(ST14)。そして、接続情報241における処理対象装置の隣接上位装置IDを参照し、当該IDの隣接上位装置を処理対象装置と変更する(ST15)。
ST13にて、処理対象装置が通信可能状態であると判定したとき(ST13−No)、更新フラグ=ONであり、かつ、通信孤立情報242の孤立最上位装置IDに処理対象装置のIDが存在しないかどうかを判定する(ST16)。ST16にて、更新フラグ=OFFであるとき、すなわち、ST11にて接続情報から抽出した最初の処理対象装置が通信可能であるとき(ST16−No)、ST17、ST18の処理をスキップする。また、ST16にて、更新フラグ=ONであっても、通信孤立情報242の孤立最上位装置IDに処理対象装置の装置IDが既に登録されているとき(ST16−No)も同様に、ST17、ST18の処理をスキップする。
一方、更新フラグ=ONであり、かつ、通信孤立情報242の孤立最上位装置IDに処理対象装置の装置IDが存在しないとき(ST16−Yes)、ST15にてキャッシュした装置IDにより、通信孤立情報242を更新する(ST17)。具体的には、キャッシュした装置IDを通信孤立情報242に新たな行として追加するとともに、対応する移動完了フラグを“OFF”と設定する。
ST18では、ST17にて通信孤立情報242に追加したキャッシュした装置IDの通信装置1である孤立最上位装置(以下、「対象孤立最上位装置」という)の移動優先度算出し、通信孤立情報242を更新する処理を実施する(ST18)。本実施例では、単位時間において救済できる通信装置1の台数であり、短い時間で多くの通信装置と通信できうることを示した指標である単位時間救済台数を移動優先度として算出し、通信孤立情報242に記憶する。以下、単位時間救済台数の算出方法について具体的に説明する。
まず、移動先決定手段252は、対象孤立最上位装置の属する通信孤立集合の規模(通信孤立集合を構成する通信装置1の台数)を算出する。具体的には、接続情報241を参照し、対象孤立最上位装置を隣接上位装置とする通信装置1を特定して計数し、更に特定した各通信装置1を隣接上位装置とする通信装置1を特定して計数する。これを繰り返していくことにより、通信孤立集合を構成する通信装置1の台数を計数することができる。例えば、図2の例では、通信孤立集合Aを構成する通信装置1は6台となり、通信孤立集合Bを構成する通信装置1は3台となる。なお、通信孤立集合の規模を算出する際、通信孤立集合を構成する通信装置1の装置IDを別途、記憶部24に記憶しておき、各通信孤立集合とそれを構成する通信装置1とを対応付けておく。
次に、移動先決定手段252は、記憶部24より通信装置位置243と移動通信装置位置244とを読み出し、これらの情報を基に移動通信装置3と対象孤立最上位装置との間の距離を算出する。そして、移動先決定手段252は、対象孤立最上位装置に至るまでの移動速度を推定する。本実施例では、予め基準となる移動通信装置3の移動速度を記憶部24に記憶しておき、対象孤立最上位装置の設置位置に至るまでの風向きや風の強さ、移動経路上における障害物の有無などに基づいて、基準となる移動速度を増減することにより、平均的な移動速度を推定する。そして、対象孤立最上位装置の装置IDに対応させて記憶部24に移動速度情報245として記憶する。そして、移動先決定手段252は、算出した距離と移動速度とを用いて、対象孤立最上位装置に至るまでの移動時間を算出する。
次に、算出した対象孤立最上位装置の規模と移動時間とに基づいて単位時間救済台数を算出し、通信孤立情報242に移動優先度として設定する。単位時間救済台数は、台数を該移動時間にて除算した値(単位時間救済台数=台数÷該移動時間)として算出する。移動先決定手段252は、接続情報241の各行に対して、ループ1に記した各処理を完了すると、通信孤立情報更新処理を終了させる。
続いて、移動先決定手段252にて実施される移動指示処理について説明する。図8は、本実施形態における移動指示処理を説明するフローチャートである。なお、図8のフローチャートにおいて、ループ2はST31〜ST37の各処理を通信孤立情報242の各行に対して実行することを意味しており、通信孤立情報242の行数分だけ処理がループする。移動先決定手段252は、所定のタイミング(例えば、定期的なタイミング、システム管理者からの指示入力に基づいたタイミング、など)に移動指示処理を開始する。
移動指示処理では、まず、通信孤立情報242において、ループ2で処理対象となっていない行であって、最も移動優先度の高い行を抽出し、当該行の孤立最上位装置を処理対象装置として設定する(ST31)。次に、ST31にて処理対象装置と設定した孤立最上位装置の移動完了フラグが“OFF”となっているか否か、すなわち、移動が未完了であるか否かを判定する(ST32)。ST32にて、移動完了フラグが“OFF”ではないとき(ST32−No)、ST33〜ST37の処理をスキップする。
ST32にて、移動完了フラグが“OFF”であるとき(ST32−Yes)、通信部23により移動通信装置3に対して処理対象装置の装置IDを送信することにより、当該移動通信装置3に対して処理対象装置の近くまで移動させ直接通信させるよう指示する(ST33)。
次に、ST33にて指示した処理対象装置と移動通信装置3との間における直接通信が成功したか否かを判定する(ST34)。本実施例では、通信部23を介して移動通信装置3から直接通信が成功したか否かを示す情報を受信することにより、これを判定している。移動通信装置3から直接通信が成功しなかった旨の情報を受信したとき(ST34−No)、現時点で設定している処理対象装置を更新する処理と、通信孤立情報242を更新する処理とを行う(ST35)。処理対象装置を更新する処理では、現時点で設定されている処理対象装置が属する通信孤立集合の中で、処理対象装置の次に信頼度が上位の通信装置を、新たな処理対象装置として更新する。具体的には、接続情報241を参照し、現時点の処理対象装置を隣接上位装置とする通信装置1を検索し、これらの通信装置1のなかで最も信頼度が上位の通信装置を新たな処理対象装置として更新する。通信孤立情報242を更新する処理では、通信孤立情報242を参照し、現時点の処理対象装置の装置IDを孤立最上位装置IDとする行を検索し、その行の孤立最上位装置IDを、新たな処理対象装置の装置IDにて更新する。
ST34にて、移動通信装置3から直接通信が成功した旨の情報を受信したとき(ST34−Yes)、通信孤立情報242から処理対象装置の装置IDと一致する孤立最上位装置IDの行を検索し、その行の移動完了フラグを“ON”として更新する(ST36)。
次に、移動通信装置3の移動した後の現在位置を示す移動通信装置位置244などに基づいて、通信孤立情報242における各孤立最上位装置IDに対応する移動優先度を更新する処理を行う(ST37)。ここでの各孤立最上位装置の移動優先度を算出する処理は、前述した通信孤立情報更新処理のST18における処理と同様であるため、詳細な説明を省略することとする。移動先決定手段252は、通信孤立情報242の全ての行に対して、ループ2に記した処理を完了すると、移動指示処理を終了させる。
続いて、本実施例における移動通信装置3について説明する。本実施例では、無線ネットワークによって通信装置1及び管理装置2と直接通信できる通信部33を備えた飛行船を、移動通信装置3として用いる例について説明する。本実施例における移動通信装置3の通信部33は、管理装置2と直接通信するために用いる衛星通信等などといった遠距離通信用の通信モジュールと、通信装置1と直接通信するために用いる無線LANやBluetooth(登録商標)などといった近距離通信用の通信モジュールと、によって構成される。移動通信装置3は、通信装置1と通信する際、通信対象の通信装置1の近くまで移動した上で、通信部33によって無線リンクを確立し、メッセージや接続確認パケットなどの情報を送受信する。一方、移動通信装置3は、管理装置2と通信する際、任意の位置から通信部33を介して無線リンクを確立し、各種情報を送受信する。なお、本実施例における移動通信装置3は、GPSなどによって構成される図示しない位置測位部を備えており、通信部33を介して自らの現在位置を定期的に管理装置2に送信していることとする。
ここで、管理装置2から前述した移動指示処理のST33における移動の指示としてある通信装置1の装置IDを受信したとき、移動通信装置3は、予め記憶した各通信装置1の設置場所に関する情報(例えば、通信装置1の装置IDと緯度・経度からなる設置場所とを対応付けた情報)に基づいて、指示された通信装置1の設置場所を検索し、当該設置場所の近くまで移動する。そして、移動を指示された通信装置1と通信部33を介して直接通信することにより、当該通信装置1に蓄積されたメッセージ(当該通信装置1が生成したメッセージ、及び他の通信装置1から送信されたメッセージ)を受信する。そして、管理装置2に対して直接通信が成功した旨を示す情報を通信部33を介して送信するとともに、受信した全てのメッセージを転送する。これにより、管理装置2は、災害等によって受信することができなかった通信装置1のメッセージを受信することが可能となる。特に、移動を指示された通信装置1は、通信孤立集合における孤立最上位装置であることから、当該通信装置1には通信孤立集合の各通信装置1からのメッセージが集約されている。したがって、一度の移動によって、通信孤立集合を構成する各通信装置1からのメッセージを受信することが可能となり、効率的にメッセージを受信することができる。一方、移動を指示された通信装置1と通信部33を介して直接通信することができなかったとき、直接通信が成功しなかった旨を示す情報を管理装置2に対して送信する。そして、移動通信装置3は、管理装置2から次の移動の指示が送信されるまで、その位置で待機する。
また、移動通信装置3は、通信装置1との直接通信によって、当該通信装置1に蓄積された接続確認パケット(当該通信装置1が生成した接続確認パケット、及び他の通信装置1から送信された接続確認パケット)も受信する。そして、管理装置2に対して受信した全ての接続確認パケットを転送する。管理装置2は、移動通信装置3から受信した接続確認パケットに基づいて接続情報241を更新する。具体的には、受信した接続確認パケットから当該接続確認パケットを生成した通信装置1の装置IDと生成日時とを読み出し、これらの値に基づいて接続情報241の最終更新日時を更新する。これにより、管理装置2は、通信孤立集合の内部に存在する他の通信孤立集合を特定することができ、当該他の通信孤立集合の孤立最上位装置を優先的に移動するように移動先を決定することができる。
これを図2を用いて、具体的に説明する。図2において移動通信装置3は、通信装置1Eに対して移動するよう管理装置2から指示を受け、当該通信装置1Eとの直接通信により、蓄積している接続確認パケットを受信し、管理装置2に対して当該接続確認パケットを送信したとする。管理装置2は、移動通信装置3から送信された接続確認パケットに基づいて接続情報241を更新する。このとき、移動通信装置3から送信された接続確認パケットには、同図における通信装置1G、1Jの接続確認パケットが含まれていなかったとする(又は、接続確認パケットの生成日時がかなり過去であったとする)。このような当該更新された接続情報241に基づいて、管理装置2の移動先決定手段252にて通信孤立情報更新処理が実行されると、通信装置1G、1Jからなる通信孤立集合の孤立最上位装置(1G)が通信孤立情報242に登録される。すなわち、通信装置1Eへの移動によっても、メッセージを受信することができなかった通信装置1G、1Jを特定でき、これらのメッセージを効率的に受信するために優先的に移動すべき通信装置1Gを決定することができる。
このように、本発明の通信装置1は、信頼度に基づいた蓄積転送型通信の特徴、すなわち「上位信頼度の通信装置1であるほど、下位信頼度の通信装置1のメッセージが蓄積される」といった特徴に着目し、通信孤立集合において最も信頼度の高い通信装置1である孤立最上位装置までの距離等を考慮して優先的に移動する通信孤立集合を決定する。これにより、災害等における断続的通信環境であったとしても、効率的に通信孤立集合の各通信装置と通信することができ、巡回時間を最小限に抑えることができることから、メッセージの遅延時間を最小とすることができる。
ところで、本発明は、上記実施形態及び実施例に限定されるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてもよいものである。また、上記実施形態及び実施例に記載した効果は、これに限定されるものではない。
上記実施例における管理装置2は、通信孤立集合を構成する通信装置の中において、孤立最上位装置に対して優先的に移動させるように移動通信装置3の移動先を決定している。しかし、これに限らず、例えば孤立最上位装置に至る移動経路上に存在するいずれかの通信装置に対して優先的に移動させるように移動通信装置3の移動先を決定してもよい。すなわち、孤立最上位装置に至るまでに途中に立ち寄る通信装置1を定め、これらの通信装置1からメッセージを回収してから、孤立最上位装置に移動するようにしてもよい。例えば、優先的に移動すべき孤立最上位装置が決定したとき、当該孤立最上位装置までに至る移動経路を求め、当該移動経路上において無線リンクを確立可能な通信装置1を求め、これらの通信装置1の中で最も信頼度の高い通信装置1に優先的に移動するよう移動先を決定する。この際、通信孤立情報更新処理のST18で記憶部24に記憶した「通信孤立集合を構成する通信装置1の装置ID」を読み出し、当該通信孤立集合を構成する各通信装置1の設置位置を通信装置位置243から求める。なお、移動経路上において無線リンクを確立可能な通信装置1の数に応じて途中に立ち寄る通信装置1の数を決定してもよい。例えば、移動経路上において無線リンクを確立可能な通信装置1の数が多いほど、途中に立ち寄る通信装置1の数を多く設定するよう決定する。このように、孤立最上位装置に至る移動経路上に存在するいずれかの通信装置に対して優先的に移動させることにより、孤立最上位装置の位置が遠くに存在しているような場合であっても、孤立最上位装置の中のいくつかの通信装置1からいち早くメッセージを回収することが可能となる。また、通信孤立集合の中に更なる通信孤立集合が存在しているような場合であっても、これらの更なる通信孤立集合のメッセージを先に回収することができるような場合もあり、より効率的に各通信装置からのメッセージを受信することができるようになる。
上記実施例における管理装置2は、移動通信装置3によって測位した位置情報を受信することにより移動通信装置位置244を更新している。しかし、これに限らず、管理装置2側に位置測位レーダー等の位置推定手段を設け、管理装置2側にて移動通信装置3の現在位置を測位して移動通信装置位置244を更新してもよい。
上記実施例における管理装置2は、図2に表すように通信装置1Aとインターネットなどの広域ネットワークを介して接続されている。しかし、管理装置2と通信装置1との間のネットワークは、これに限らず、蓄積転送型通信を行うDTNによって接続してもよい。また、管理装置2は、通信装置1Aのみと広域ネットワークにて接続されているが、これに限らず、その他の複数の通信装置1と広域ネットワークにて接続してもよい。例えば、通常時において管理装置2は、全ての通信装置1と広域ネットワークにて接続されており、当該広域ネットワークを介して通信装置1からメッセージを受信する。そして、災害発生時においてある通信装置1から当該広域ネットワークを介して直接的に接続確認パケットを受信できず、かつ、DTNを介して転送された他の通信装置1の広域ネットワークを介して間接的にも接続確認パケットを受信できないとき、当該通信装置1は通信不可状態として判定し、接続情報241を更新してもよい。
上記実施例における管理装置2は、通信装置1から定期的に送信される接続確認パケットに基づいて当該通信装置1との通信可否状態を判定している。しかし、これに限らず、メッセージの受信日時(又はメッセージに記されたメッセージ生成日時)に基づいて通信可否状態を判定してもよい。すなわち、メッセージを受信したとき、接続情報241におけるメッセージ送信元の通信装置1の最終更新日時をメッセージの受信日時(又はメッセージに記されたメッセージ生成日時)に基づいて更新する。そして、更新した接続情報241に基づいて、上記実施例と同様の処理にて、通信装置1との通信可否状態を判定する。この場合、通信装置1は、定期的にメッセージを管理装置2に送信することが好適である。
上記実施例における管理装置2は、通信装置1及び移動通信装置3とは別の専用のデバイスとして機能している。しかし、これに限らず、所定の通信装置1(例えば、図2における通信装置1A)又は移動通信装置3が、管理装置2としての機能を備えていてもよい。この場合、管理装置2としての機能を備えた通信装置1(又は移動通信装置3)には、管理装置2の通信部33に相当する通信機能となる通信部13(又は通信部23)を有する必要があり、また、接続情報241、通信孤立情報242を予め記憶部14(又は記憶部24)に記憶し、接続情報更新手段251、移動先決定手段252に相当する処理機能を制御部15(又は制御部25)に有している必要がある。なお、前述したように、汎用のデバイス(例えば、パーソナルコンピュータ、スマートフォンなど)に、専用のアプリケーションプログラムをインストールすることによって、管理装置2を構成することも可能であるため、当該アプリケーションプログラムを所定の通信装置1(又は移動通信装置3)にインストールすることによって、これら通信装置1(又は移動通信装置3)に管理装置2としての機能を具備させてもよい。
上記実施例における接続情報241の隣接上位装置IDは、管理者等により入力部21から固定的に設定入力されるものとしている。しかし、これに限らず、各通信装置1から自らの隣接上位装置IDをメッセージ(又は接続確認パケット)により通知されることにより、各通信装置1の隣接上位装置IDを設定・更新してもよい。例えば、各通信装置1が、自ら生成したメッセージや接続確認パケットに自らの隣接上位装置IDを設定して送信し、これらを受信した管理装置2は、当該メッセージや接続確認パケットに記された隣接上位装置IDに基づいて接続情報241を更新する。この場合、各通信装置1には、予め隣接上位装置IDが設定されているか、又は、自らの隣接上位装置IDを定期的に調べる必要がある。自らの隣接上位装置IDを定期的に調べるにあたっては、受信したメッセージ(又は接続確認パケット)に記された送信元の信頼度を記憶し、自己の信頼度以上の信頼度を有する通信装置1の装置IDを隣接上位装置IDとして記憶するのが好適である。
上記実施例における管理装置2の移動先決定手段252は、移動先となる通信装置1を指示するにあたって、当該通信装置1の装置IDを移動通信装置3に送信している。しかし、これに限らず、管理装置2の移動先決定手段252は、移動先となる通信装置1の設置場所に関する情報(例えば、緯度・経度等)を送信することによって、移動先の位置を直接指示してもよい。
上記実施例における通信装置1は、メッセージ及び接続確認パケットを、自らの信頼度以上の信頼度を有する隣接通信装置(隣接上位装置)に対して次々に送信・転送していくことにより、より上位の通信装置1に対して伝達している。しかし、これに限らず、隣接通信装置の中で自らの信頼度以上であって、かつ、最も大きい信頼度を有する通信装置1(以下、「隣接最上位装置」という)に対してのみ、これらの情報(メッセージ及び接続確認パケット)を送信・転送してもよい。これにより、DTNにおける通信トラフィックを更に削減することができ、通信の輻輳をさらに抑制することができる。
上記実施例における管理装置2の移動先決定手段252は、通信孤立情報更新処理(ST13〜17)において、接続情報241を参照して通信不可状態と判定された通信装置1の隣接上位装置について通信可否を判定し、当該隣接上位装置が通信可能であるとき、当該通信装置1を孤立最上位装置として設定している。しかし、これに限らず、通信不可状態と判定された各通信装置1に対して、接続情報241を参照して隣接上位装置を辿っていくことによって通信不可状態の通信装置1の接続関係を求めて通信孤立集合を特定し、各通信孤立集合の中で最も大きい信頼度を有する通信装置1を孤立最上位装置として設定してもよい。