以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
[実施の形態1]
<全体構成>
まず、本実施の形態1に係る通信システム1の全体構成について説明する。図1は、本実施の形態1に係る通信システム1の全体構成例を示した図である。
図示するように、本実施の形態に係る通信システム1は、複数の通信装置100A〜100T、管理サーバ200、発信機300から構成される。ここで、通信装置100A〜100T、管理サーバ200は位置が固定されているが、発信機300はユーザや物に取り付けられており、ユーザや物の移動に伴って発信機300も移動するものとする。
なお、図1では通信装置100A〜100Tを示したが、これらを区別する必要がない場合は、通信装置100と称することもある。また、図1には、20台の通信装置100を示したが、通信装置100の台数は図示の20台には限定されない。
受信機の一例としての通信装置100A〜100Tは、他装置との間で無線通信を行う通信装置である。より具体的には、通信装置100はアンテナを備えており、例えば屋内の壁などに配置される。そして、通信装置100は、発信機300が発する電波をアンテナで受信し、受信した電波の電波強度を測定する。また、通信装置100は、測定した電波強度のデータを、例えば定期的に、管理サーバ200へ送信する。なお、通信装置100にて測定される電波強度の最低値は、通信装置100による検出限界の値とする。
管理サーバ200は、各通信装置100から送られてくるデータを受信するコンピュータ装置である。管理サーバ200としては、例えば、PC、ワークステーション等が例示される。また、管理サーバ200は、各通信装置100が設置された位置の情報(位置情報)を保持している。
より具体的には、管理サーバ200は、各通信装置100から、各通信装置100が測定した電波強度(即ち、各通信装置100が受信した発信機300の電波の電波強度)のデータを収集する。そして、各通信装置100の位置情報と各通信装置100が測定した電波強度のデータとに基づいて、発信機300の位置を特定する。
発信機300は、例えば一定の周期で、自機(発信機300)の周囲に電波を発信する。発信機300としては、例えば、iBeacon(登録商標)の技術を用いたものを例示することができる。上述したように、発信機300を所持するユーザや発信機300が取り付けられた物の移動に伴って、発信機300も移動する。
ここで、通信装置100A〜100T、管理サーバ200は、互いにペアリングが完了しているものとする。ペアリングとは、例えばBluetooth(登録商標)で用いられる技術であり、2台の装置同士で無線通信の接続の設定を行うことをいう。ペアリングを行った装置同士では、Bluetooth等の無線通信の接続が確立されることとなる。
本実施の形態において、各通信装置100は、ペアリングが行われた他装置(通信装置100又は管理サーバ200)との間で無線通信を行う。例えば、通信装置100Hは、ペアリングが完了することにより、図1に示す矢印のように他の通信装置100との間でデータの送受信を行う。言い換えると、通信装置100Hは、通信装置100B、通信装置100C、通信装置100Lとペアリングが行われる。そして、通信装置100Hは、通信装置100B及び通信装置100Cからデータを受信したり、通信装置100Lへデータを送信したりする。
さらに説明すると、本実施の形態において、通信装置100A〜100T、管理サーバ200により構成される無線通信のネットワークは、それぞれの装置が互いに連携して無線通信を行うメッシュネットワークである。各通信装置100は、他の通信装置100を介して、管理サーバ200と通信を行う。言い換えると、各通信装置100は、他の通信装置100から送信されてきたデータを中継し、中継したデータを管理サーバ200に向けて送信する。例えば、通信装置100Hが管理サーバ200に対してデータを送信する場合、通信装置100L、通信装置100Qを介して管理サーバ200へデータが送信される。なお、通信装置100Q及び通信装置100Rは、他の通信装置100を介さずに、直接管理サーバ200へデータを送信する。
<管理サーバ200のハードウェア構成>
次に、本実施の形態に係る管理サーバ200のハードウェア構成について説明する。図2は、本実施の形態1に係る管理サーバ200のハードウェア構成例を示す図である。図示するように、管理サーバ200は、演算手段であるCPU(Central Processing Unit)201と、記憶手段であるメインメモリ202及び磁気ディスク装置203とを備える。
ここで、CPU201は、OS(Operating System)やアプリケーション等の各種プログラムを実行し、管理サーバ200の各種機能を実現する。また、メインメモリ202は、各種プログラムやその実行に用いるデータ等を記憶する記憶領域である。また、磁気ディスク装置203は、各種プログラムに対する入力データや各種プログラムからの出力データ等を記憶する記憶領域である。そして、CPU201は、例えば磁気ディスク装置203に記憶された各種プログラムをメインメモリ202にロードして実行することにより、管理サーバ200の各機能を実現する。
さらに、管理サーバ200は、外部との通信を行うための通信インタフェース(通信I/F)204と、ビデオメモリやディスプレイ等からなる表示機構205と、操作ボタンやキーボード、マウス等の入力デバイス206とを備える。なお、通信I/F204は、無線通信を行うためのアンテナを含み、通信装置100との間で各種データの送受信を行う通信インタフェースとして機能する。
なお、図2は、本実施の形態が適用されるのに好適な管理サーバ200のハードウェア構成を例示するに過ぎず、図示の構成においてのみ本実施の形態が実現されるのではない。
また、通信装置100のハードウェア構成も、図2に示す管理サーバ200のハードウェア構成と共通のものを用いると良い。
<管理サーバの機能構成>
次に、実施の形態1に係る管理サーバ200の機能構成について説明する。図3は、本実施の形態1に係る管理サーバ200の機能構成例を示したブロック図である。本実施の形態に係る管理サーバ200は、電波強度受信部211、位置情報格納部212、候補点設定部213、電波強度類推部214、発信機位置特定部215を備える。
電波強度受信部211は、各通信装置100が測定した電波強度を示すデータ、言い換えると、各通信装置100が実際に受信した発信機300の電波の電波強度を示すデータを受信する。なお、電波強度受信部211は、ペアリングにより管理サーバ200との間で接続の設定が行われた通信装置100Q及び通信装置100Rから、通信装置100A〜通信装置100Tが測定した電波強度のデータを受信する。
位置情報格納部212は、各通信装置100が設置された位置の情報(位置情報)を保持する。位置情報としては、例えば、緯度及び経度の座標を例示することができる。
設定手段の一例としての候補点設定部213は、発信機300が存在する位置の候補である候補点を設定する。ここで、候補点設定部213は、各通信装置100が測定した電波強度のデータを基に、発信機300から電波を受信した通信装置100のうちの何れか1つの通信装置100を選択する。そして、候補点設定部213は、選択した通信装置100の位置情報を位置情報格納部212から取得し、取得した位置情報を基に複数の候補点を設定する。なお、候補点設定部213は、通信装置100から受信した電波強度が検出限界の値を超えている場合に、その通信装置100が発信機300から電波を受信したものと判断する。
より具体的には、候補点設定部213は、発信機300から電波を受信した通信装置100のうち、例えば、発信機300から受信した電波の電波強度が最も高い通信装置100を選択する。そして、候補点設定部213は、選択した通信装置100と発信機300との距離を計算し、計算した距離を基に複数の候補点を設定する。
ここで、通信装置100と発信機300との距離の計算は、以下の数1式により行われる。
数1式は、一般にフリスの伝達公式と呼ばれるものである。数1式において、Powerは、発信機300が発する電波の強度を示し、単位はdBm(デシベルメートル)である。Powerは、発信機300の機種や設定に応じて決まる値であり、管理サーバ200にて予め保持されている。RSSI(Received Signal Strength Indication)は、通信装置100が実際に受信した電波の強度を示し、単位はdBmである。nは、空間の電波特性に関する定数であり、例えば、理想的な値としてn=2が用いられる。
この数1式に、通信装置100が受信した電波の強度の値(RSSI)、Powerの値、nの値を代入することにより、通信装置100と発信機300との距離dの値が計算される。なお、ここで計算される距離dの値は、通信装置100が受信した電波の強度から類推される距離の値として捉えることができる。
電波強度類推部214は、候補点設定部213により設定された候補点の位置情報と各通信装置100の位置情報とに基づいて、発信機300が候補点に存在すると仮定した場合に、各通信装置100が受信すると類推される電波の強度を計算する。この電波強度の計算は、上述した数1式により、候補点設定部213が設定した複数の候補点の候補点毎に行われる。
より具体的には、電波強度類推部214は、まず、候補点設定部213により設定された複数の候補点のうちの何れか1つの候補点を選択する。次に、電波強度類推部214は、選択した候補点の位置情報と、発信機300から電波を受信した各通信装置100の位置情報とに基づいて、その候補点と各通信装置100との距離を計算する。
次に、電波強度類推部214は、計算した距離から、その距離であれば各通信装置100が発信機300から受信すると類推される電波の強度を計算する。言い換えると、電波強度類推部214は、計算した距離から、選択した候補点に発信機300が存在すると仮定した場合に、各通信装置100が発信機300から受信すると類推される電波の強度を計算する。ここでは、上述した数1式に、計算した候補点と通信装置100との距離の値(d)、Powerの値、nの値を代入することにより、通信装置100が発信機300から受信すると類推される電波の強度の値(RSSI)が計算される。
特定手段の一例としての発信機位置特定部215は、各通信装置100が測定した電波強度と電波強度類推部214が類推した電波強度とに基づいて、複数の候補点の中から、発信機300の位置と予想される候補点を特定する。
より具体的には、発信機位置特定部215は、複数の候補点の候補点毎に、各通信装置100が測定した電波強度と、電波強度類推部214が類推した電波強度とを比較し、両者の類似度を計算する。そして、発信機位置特定部215は、複数の候補点のそれぞれで計算した類似度を評価し、類似度が予め定められた条件を満たす候補点、言い換えると、最も類似度が高い候補点を、発信機300の位置として特定する。この類似度の評価は、ベクトルの類似度を評価する従来の手法を用いれば良く、例えば、相関係数、SAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)等が用いられる。
なお、図3に示す管理サーバ200を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、管理サーバ200を図2に示したハードウェア構成にて実現した場合、例えば、磁気ディスク装置103に格納されているOSのプログラムやアプリケーション・プログラムが、メインメモリ102に読み込まれてCPU101に実行されることにより、電波強度受信部211、候補点設定部213、電波強度類推部214、発信機位置特定部215等の各機能が実現される。また、位置情報格納部212は、例えば磁気ディスク装置103等の記憶手段により実現される。
同様に、各通信装置100の機能部についても、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、各通信装置100を図2に示したハードウェア構成にて実現した場合、例えば、磁気ディスク装置103に格納されているOSのプログラムやアプリケーション・プログラムが、メインメモリ102に読み込まれてCPU101に実行されることにより、発信機300が発する電波を受信し、受信した電波の電波強度を測定して、測定した電波強度のデータを管理サーバ200へ送信する。
<管理サーバの処理の具体例>
次に、本実施の形態に係る管理サーバ200が発信機300の位置を特定する処理について、具体例を挙げて説明する。図4は、管理サーバ200が発信機300の位置を特定する処理の具体例を説明するための図である。図4に示す例では、ユーザが発信機300を所持しており、ユーザの移動に伴って発信機300も移動するものとする。
各通信装置100は、発信機300が発信する電波を受信する。そして、各通信装置100は、受信した電波の電波強度を測定して、測定した電波強度のデータを管理サーバ200へ送信する。管理サーバ200の電波強度受信部211は、各通信装置100が測定した電波強度のデータを受信する。
次に、発信機300から電波を受信した通信装置100が何台であるかによって以降の処理が変わるが、図4に示す例では、発信機300から電波を受信した通信装置100が3つ以上であるものとして説明する。図示の例では、発信機300から電波を受信した通信装置100は、通信装置100D、通信装置100H、通信装置100I、通信装置100Lの4つとする。また、通信装置100D、通信装置100H、通信装置100I、通信装置100Lで受信した電波の電波強度をそれぞれ、R(D)、R(H)、R(I)、R(L)と称する。
次に、候補点設定部213は、電波強度受信部211が各通信装置100から受信した電波強度のデータを基に、発信機300から電波を受信した4つの通信装置100のうちの何れか1つの通信装置100を選択する。ここで、候補点設定部213は、例えば、発信機300から受信した電波の強度が最も高い通信装置100を選択する。図4に示す例では、通信装置100Lが選択される。
次に、候補点設定部213は、選択した通信装置100Lにて受信した電波の強度R(L)を、上述した数1式に代入することにより、通信装置100Lと発信機300との距離dを計算する。ここで計算した距離dをd(L)と称する。
次に、候補点設定部213は、計算した距離d(L)を基に、複数の候補点を設定する。ここで、候補点設定部213は、通信装置100Lの位置を中心として、半径d(L)の円11を設定する。そして、候補点設定部213は、円周上を含む円11の内部に、例えば等間隔に、複数の候補点を設定する。ここで設定される候補点の数は、候補点同士の間隔に応じて決まるが、候補点同士の間隔が例えば50cmになるように複数の候補点が設定される。また、候補点の数が100個程度になるように、候補点同士の間隔を設定しても良い。
なお、通信装置100Lの位置情報は、位置情報格納部212から取得される。そして、複数の候補点は、候補点毎に位置情報が計算される。
次に、電波強度類推部214は、候補点設定部213により設定された複数の候補点のうちの何れか1つの候補点を選択する。図4に示す例では、候補点pが選択される。次に、電波強度類推部214は、選択した候補点pの位置情報と、発信機300から電波を受信した各通信装置100の位置情報とに基づいて、候補点pと各通信装置100との距離を計算する。図4に示す例では、候補点pと通信装置100Dとの距離d(p,D)、候補点pと通信装置100Hとの距離d(p,H)、候補点pと通信装置100Iとの距離d(p,I)、候補点pと通信装置100Lとの距離d(p,L)が計算される。
次に、電波強度類推部214は、各通信装置100について計算した距離を上述した数1式に代入することにより、その距離であれば各通信装置100が発信機300から受信すると類推される電波の強度を計算する。例えば、d(p,D)を数1式に代入することにより、候補点pに発信機300が存在すると仮定した場合に、通信装置100Dが発信機300から受信すると類推される電波の強度が計算される。ここで計算される電波の強度を、S(p,D)と称する。通信装置100H、通信装置100I、通信装置100Lについても同様に、S(p,H)、S(p,I)、S(p,L)が計算される。
次に、発信機位置特定部215は、通信装置100D、通信装置100H、通信装置100I、通信装置100Lで実際に受信した電波の強度(R(D)、R(H)、R(I)、R(L))と、電波強度類推部214が類推した電波の強度(S(p,D)、S(p,H)、S(p,I)、S(p,L))とを比較して、類似度を計算する。さらに説明すると、発信機位置特定部215は、ベクトル[R(D)、R(H)、R(I)、R(L)]と、ベクトル[S(p,D)、S(p,H)、S(p,I)、S(p,L)]との類似度を計算する。
このようにして、候補点pにおける類似度が計算される。発信機位置特定部215は、候補点設定部213により設定された他の候補点についても同様にして、類似度を計算する。発信機位置特定部215は、候補点設定部213により設定された全ての候補点について類似度を計算すると、最も類似度が高い候補点を発信機300の位置として特定する。
なお、上述した例では、候補点設定部213は、通信装置100Lの位置を中心とする半径d(L)の円11を基に候補点を設定したが、このような構成に限られるものではない。例えば、候補点設定部213は、円11を、d(L)の2倍を半径とする円にしたり、d(L)に予め定められた値を足した値を半径とする円にしたりして、複数の候補点を設定しても良い。
また、上述した例では、発信機300から電波を受信した通信装置100が3つ以上の場合について説明した。ここで、発信機300から電波を受信した通信装置100が1つの場合、発信機位置特定部215は、発信機300から電波を受信した通信装置100の位置を、発信機300の位置とみなす。この場合、候補点設定部213は候補点を設定しなくて良い。
また、発信機300から電波を受信した通信装置100が2つの場合、候補点設定部213は、2つの通信装置100のうちの何れかの通信装置100を選択する。例えば、候補点設定部213は、発信機300から受信した電波の強度が高い方の通信装置100を選択する。ここでは、通信装置100Lが選択されるものとする。次に、候補点設定部213は、2つの通信装置100の位置を結ぶ直線上で、例えば、通信装置100Lから距離d(L)(数1式により計算される通信装置100Lと発信機300との距離)以内の範囲に、50cm間隔で複数の候補点を設定する。そして、発信機位置特定部215は、複数の候補点のそれぞれについて類似度を計算し、最も類似度が高い候補点を発信機300の位置として特定する。
<管理サーバの処理手順>
次に、本実施の形態に係る管理サーバ200が発信機300の位置を特定する処理手順について説明する。図5は、本実施の形態1に係る管理サーバ200が発信機300の位置を特定する処理手順の一例を示したフローチャートである。
まず、電波強度受信部211は、各通信装置100が測定した電波強度のデータを受信する(ステップ101)。次に、候補点設定部213は、発信機300から電波を受信した通信装置100が複数であるか否かを判定する(ステップ102)。ここでは、電波強度が検出限界の値を超える発信機300が複数であるか否かが判定される。ステップ102で否定の判断(No)がされた場合、発信機位置特定部215は、発信機300から電波を受信した通信装置100の位置を発信機300の位置とみなす(ステップ103)。そして、本処理フローは終了する。
一方、ステップ102で肯定の判断(Yes)がされた場合、候補点設定部213は、発信機300から電波を受信した複数の通信装置100のうちの何れか1つの通信装置100を選択し、複数の候補点を設定する(ステップ104)。次に、電波強度類推部214は、複数の候補点のうち、まだ選択していない1つの候補点を選択する(ステップ105)。次に、電波強度類推部214は、選択した候補点の位置情報と、発信機から電波を受信した各通信装置100の位置情報とに基づいて、その候補点と電波を受信した各通信装置100との距離を計算する(ステップ106)。
次に、電波強度類推部214は、計算した距離から、選択した候補点に発信機300が存在すると仮定した場合に、各通信装置100が発信機300から受信すると類推される電波の強度を計算する(ステップ107)。次に、発信機位置特定部215は、各通信装置100が測定した電波強度と電波強度類推部214が類推した電波強度とを比較して、類似度を計算する(ステップ108)。次に、発信機位置特定部215は、候補点設定部213が設定した複数の候補点を全て選択したか否かを判定する(ステップ109)。
ステップ109で否定の判断(No)がされた場合、ステップ105へ移行する。一方、ステップ109で肯定の判断(Yes)がされた場合、発信機位置特定部215は、複数の候補点についての類似度を評価し、最も類似度が高い候補点を発信機300の位置として特定する(ステップ110)。そして、本処理フローは終了する。本処理フローの終了後、管理サーバ200は、例えば、外部装置に対して、特定した発信機300の位置情報を出力する。発信機300を所持するユーザは、例えばスマートフォン等で発信機300の位置情報を受信することにより、自身の現在位置を把握する。
<管理サーバの処理の他の実施例>
次に、管理サーバ200の処理の他の実施例について説明する。上述した例では、各通信装置100が発信機300から受信した電波の電波強度を基に、発信機300の位置を特定した。一方、本実施例では、電波強度ではなく、各通信装置100が発信機300から受信した電波の電波強度から計算される距離を基に、発信機300の位置を特定する。
図6は、本実施の形態1に係る管理サーバ200が発信機300の位置を特定する処理手順の他の例を示したフローチャートである。
ステップ201〜205の処理は、図5のステップ101〜105の処理と同様であるため、説明を省略する。
次に、電波強度類推部214は、ステップ205で選択した候補点の位置情報と、発信機から電波を受信した各通信装置100の位置情報とに基づいて、その候補点と電波を受信した各通信装置100との距離を計算する(ステップ206)。
次に、電波強度類推部214は、各通信装置100が測定した電波強度のデータを基に、各通信装置100と発信機300との距離として類推される値を計算する(ステップ207)。ここで、電波強度類推部214は、上述した数1式に、各通信装置100が受信した電波の強度の値(RSSI)、Powerの値、nの値を代入することにより、各通信装置100と発信機300との距離dの値を計算する。
次に、発信機位置特定部215は、ステップ206で計算した距離(選択した候補点と電波を受信した各通信装置100との距離)と、ステップ207で計算した距離(電波強度を基に類推される各通信装置100と発信機300との距離)とを比較して、類似度を計算する(ステップ208)。言い換えると、発信機位置特定部215は、候補点と各通信装置100との実際の距離のベクトルと、電波強度により類推される候補点と各通信装置100との距離のベクトルとを比較して、類似度を計算する。
次に、発信機位置特定部215は、候補点設定部213が設定した複数の候補点を全て選択したか否かを判定する(ステップ209)。ステップ209で否定の判断(No)がされた場合、ステップ205へ移行する。一方、ステップ209で肯定の判断(Yes)がされた場合、発信機位置特定部215は、複数の候補点についての類似度を評価し、最も類似度が高い候補点を発信機300の位置として特定する(ステップ210)。そして、本処理フローは終了する。
なお、本実施の形態において、発信機位置特定部215は、発信機300から電波を受信した通信装置100の全部(図4に示す例では、4つの通信装置100)を用いて電波強度の類似度を計算したが、このような構成に限られるものではない。例えば、発信機位置特定部215は、発信機300から電波を受信した複数の通信装置100のうちの一部の通信装置100を用いて、類似度を計算しても良い。ただし、発信機位置特定部215は、候補点設定部213が候補点を設定するのに選択した通信装置100(図4に示す例では、通信装置100L)とは別の通信装置100を少なくとも含む1以上の通信装置100を用いて、類似度の計算を行う。
また、発信機位置特定部215は、類似度の計算において、候補点設定部213が候補点を設定するのに選択した通信装置100(図4に示す例では、通信装置100L)を用いなくても良い。さらに、発信機位置特定部215は、発信機300から電波を受信していない通信装置100、言い換えると、通信装置100から受信した電波の電波強度が検出限界の値を示す通信装置100を用いて、類似度を計算しても良い。なお、類似度の計算に用いる通信装置100の数が多い程、発信機300の正確な位置が特定される可能性が高まる。
さらに、本実施の形態では、各通信装置100、管理サーバ200についてペアリング済みであるため、例えば、ペアリングが不要なBLE(Bluetooth Low Energy)と比較して、高速通信が可能である。そのため、各通信装置100、管理サーバ200での無線通信において、例えばカメラで撮像された画像や音声データ等の大容量データの通信が実現される。ただし、本実施の形態において、通信装置100A〜100T、管理サーバ200が、例えば、ペアリング不要なBLE等を用いてデータのやり取りを行い、発信機300の位置を特定しても良い。
[実施の形態2]
<全体構成>
次に、本実施の形態2に係る通信システム1の全体構成について説明する。図7は、本実施の形態2に係る通信システム1の全体構成例を示した図である。
図示するように、本実施の形態に係る通信システム1は、複数の通信装置100A〜100F、情報処理装置の一例としての管理サーバ200から構成される。なお、図7には6台の通信装置100を示したが、通信装置100の台数は図示の6台には限定されない。また、本実施の形態に係る通信装置100、管理サーバ200のハードウェア構成例は、図2と同様である。
ここで、通信装置100A〜100F、管理サーバ200により構成される無線通信のネットワークは、実施の形態1と同様に、それぞれの装置が互いに連携して無線通信を行うメッシュネットワークである。ただし、本実施の形態では、各通信装置100間に迂回経路が設けられている。
例えば、通信装置100Aは、通信装置100C及び通信装置100Dを送信先としてデータを送信する。通信装置100Bは、通信装置100C及び通信装置100Dを送信先としてデータを送信する。通信装置100Cは、通信装置100A及び通信装置100Bを送信元としてデータを受信し、通信装置100E及び通信装置100Fを送信先としてデータを送信する。通信装置100Dは、通信装置100A及び通信装置100Bを送信元としてデータを受信し、通信装置100E及び通信装置100Fを送信先としてデータを送信する。通信装置100Eは、通信装置100C及び通信装置100Dを送信元としてデータを受信し、管理サーバ200を送信先としてデータを送信する。通信装置100Fは、通信装置100C及び通信装置100Dを送信元としてデータを受信し、管理サーバ200を送信先としてデータを送信する。管理サーバ200は、通信装置100E及び通信装置100Fを送信元としてデータを受信する。
このように、本実施の形態では、各通信装置100間に迂回経路が設けられているため、通信装置100間で通信異常が発生したとしても、迂回経路を用いてデータの送受信が行われる。
図8は、通信装置100間で通信異常が発生した場合の一例を説明するための図である。例えば、通信装置100B〜通信100Dの通信I/Fのそれぞれが故障しているものとする。その結果、図8において破線で示した経路の通信、即ち、通信装置100Bと通信装置100Cとの間の通信、通信装置100Cと通信装置100Fとの間の通信、通信装置100Dと通信装置100Fとの間の通信のそれぞれに異常が発生している。
ここで、通信装置100Bが管理サーバ200へデータを送信する場合について検討する。通信装置100Bと通信装置100Cとの間で通信異常が発生しているため、通信装置100Bは、通信装置100Cへデータを送信できないが、通信装置100Dへデータを送信できる。同様に、通信装置100Dは、通信装置100Fへデータを送信できないが、通信装置100Eへデータを送信できる。その結果、通信装置100Bからのデータは、通信装置100D及び通信装置100Eを介して、管理サーバ200へ送信される。
このように、本実施の形態では、装置間で通信異常が発生しても、迂回経路を用いることにより、データは管理サーバ200へ正常に送信される。ただし、ネットワーク内で通信異常が発生したことを検知することが望ましい。そこで、本実施の形態では、各通信装置100が、通信異常を検知するための情報を管理サーバ200へ送信する。そして、管理サーバ200は、各通信装置100から送信される情報を基に、ネットワーク内で通信異常が発生しているか否かを判定する。
<通信装置の機能構成>
次に、実施の形態2に係る通信装置100の機能構成について説明する。図9は、本実施の形態2に係る通信装置100の機能構成例を示したブロック図である。本実施の形態に係る通信装置100は、受信部121、自装置状態取得部122、送信元一覧生成部123、送信部124を備える。
受信手段の一例としての受信部121は、予め定められた送信元である通信装置100から無線通信によりデータを受信する。例えば、通信装置100Eの受信部121は、通信装置100C及び通信装置100Dからデータを受信する。
自装置状態取得部122は、自装置内から、例えば1分毎などの定期的に、自装置の状態を示す情報を取得する。自装置の状態を示す情報としては、例えば、自装置を構成する各部の状態(各部が正常に動作しているか否か)、自装置内で発生しているエラー、自装置のバッテリーの残量などの情報が例示される。以下では、自装置の状態を示す情報を、「自装置情報」と称することとする。
送信元一覧生成部123は、例えば1分間などの予め定められた時間内(特定の期間内)に受信したデータの送信元である通信装置100の一覧(以下、送信元一覧と称する)を生成する。より具体的には、送信元一覧生成部123は、予め定められた時間内に受信部121がデータを受信する度に、そのデータの送信元である通信装置100を記憶しておく。そして、予め定められた時間が経過すると、記憶しておいた送信元の情報を基に、送信元一覧を生成する。
ここで、送信元一覧に含まれる送信元の通信装置100は、受信部121が直接通信した相手の通信装置100とする。例えば、通信装置100Eの場合、送信元一覧には、通信装置100Cや通信装置100Dが含まれる。付言すると、通信装置100Eは、通信装置100Cを介して、通信装置100Aや通信装置100Bが送信したデータを受信する場合もあるが、このような間接的な通信(通信装置100Cを介した通信)による送信元(通信装置100Aや通信装置100B)は、送信元一覧に含まれない。
送信手段の一例としての送信部124は、予め定められた送信先の通信装置100又は管理サーバ200に対して無線通信によりデータを送信する。また、予め定められた送信先が複数の場合には、送信部124は、複数の送信先のそれぞれに対してデータを送信する。予め定められた送信先に送信されるデータには、自装置状態取得部122が取得した自装置情報、及び、送信元一覧生成部123が生成した送信元一覧が含まれる。送信部124は、自装置情報及び送信元一覧を、例えば1分毎などの定期的に、管理サーバ200を宛先として、予め定められた送信先に送信する。また、送信部124は、他の通信装置100から送信されてきた他の通信装置100の自装置情報及び送信元一覧も、予め定められた送信先に送信する。
例えば、通信装置100Cの送信部124は、宛先を管理サーバ200として、通信装置100E及び通信装置100Fに対して、通信装置100Cの自装置情報及び送信元一覧を送信する。また、受信部121が、通信装置100A、通信装置100B等の自装置情報及び送信元一覧を受信している場合には、送信部124は、これらの他の通信装置100の自装置情報及び送信元一覧も、宛先を管理サーバ200として、通信装置100E及び通信装置100Fに対して送信する。
また、例えば、通信装置100Eの送信部124は、管理サーバ200に対して、通信装置100Eの自装置情報及び送信元一覧を送信する。また、受信部121が、通信装置100A、通信装置100B、通信装置100C、通信装置100D等の自装置情報及び送信元一覧を受信している場合には、送信部124は、これらの他の通信装置100の自装置情報及び送信元一覧も、管理サーバ200へ送信する。
なお、実施の形態1と同様に、図9に示す通信装置100を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、通信装置100を図2に示したハードウェア構成にて実現した場合、例えば、磁気ディスク装置103に格納されているOSのプログラムやアプリケーション・プログラムが、メインメモリ102に読み込まれてCPU101に実行されることにより、受信部121、自装置状態取得部122、送信元一覧生成部123、送信部124等の各機能が実現される。
<管理サーバの機能構成>
次に、実施の形態2に係る管理サーバ200の機能構成について説明する。図10は、本実施の形態2に係る管理サーバ200の機能構成例を示したブロック図である。本実施の形態に係る管理サーバ200は、受信部221、判定情報格納部222、異常判定部223、通知部224を備える。
情報受信手段の一例としての受信部221は、予め定められた送信元から、各通信装置100の自装置情報及び送信元一覧を無線通信により受信する。言い換えると、受信部221は、通信装置100E及び通信装置100Fから、各通信装置100の自装置情報及び送信元一覧を無線通信により受信する。
判定情報格納部222は、装置間の通信が正常であるか否かを判定するための情報(以下、判定情報と称する)を格納する。図11は、判定情報の一例を示す図である。図11に示すように、判定情報では、各通信装置100のそれぞれについて、通信が正常な場合に送信元となる通信装置100が登録されている。例えば、通信装置100Eについては、通信装置100C及び通信装置100Dが登録されている。なお、通信装置100A及び通信装置100Bには、送信元となる通信装置100は登録されていない。
検知手段の一例としての異常判定部223は、各通信装置100から送信される自装置情報及び送信元一覧を基に、ネットワーク内の異常を検知する。付言すると、異常判定部223は、各通信装置100から送信される自装置情報及び送信元一覧を基に、ネットワーク内で異常が発生しているか否か、言い換えると、各通信装置100が正常であるか否か、装置間の通信が正常に行われているか否かを判定する。
ここで、異常判定部223は、各通信装置100の自装置情報を基に、各通信装置100が正常であるか否かを判定する。より具体的には、ある通信装置100の自装置情報が予め定められた条件を満たしている場合、その通信装置100が正常であると判定する。例えば、自装置情報が、通信装置100の各部が正常に動作していること、エラーが発生していないこと、バッテリーの残量が閾値を超えていることを示していれば、その通信装置100は正常であると判定される。一方、例えば、自装置情報に装置異常を示すエラーが含まれていれば、その通信装置100が異常であると判定される。
また、異常判定部223は、各通信装置100の送信元一覧を基に、装置間の通信が正常に行われているか否かを判定する。より具体的には、異常判定部223は、各通信装置100の送信元一覧と、判定情報格納部222に格納されている判定情報とを比較して、装置間の通信が正常に行われているか否かを判定する。
なお、異常判定部223は、ある通信装置100について、例えば5分間などの一定時間以上、自装置情報及び送信元一覧を受信しない場合には、その通信装置100が故障若しくはネットワークに接続されていない、又はその通信装置100から管理サーバ200までの通信が迂回経路も含めて異常であると判定する。
通知部224は、異常判定部223による判定結果をユーザに通知する。例えば、通知部224は、通信装置100に異常が発生していると判定されたり、通信装置100間の通信に異常が発生していると判定されたりした場合に、その判定結果を画面に表示したりユーザが所持するスマートフォン等に送信したりして、ユーザに通知する。
なお、図10に示す管理サーバ200を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、管理サーバ200を図2に示したハードウェア構成にて実現した場合、例えば、磁気ディスク装置103に格納されているOSのプログラムやアプリケーション・プログラムが、メインメモリ102に読み込まれてCPU101に実行されることにより、受信部221、異常判定部223、通知部224等の各機能が実現される。また、判定情報格納部222は、例えば磁気ディスク装置103等の記憶手段により実現される。
<ネットワーク内の異常を検知する処理の具体例>
次に、本実施の形態に係る管理サーバ200がネットワーク内の異常を検知する処理について、具体例を挙げて説明する。図12(a)〜(c)は、管理サーバ200がネットワーク内の異常を検知する処理の具体例を説明するための図である。ここで、図12(a)は、装置間で正常に通信が行われている場合の例であり、図12(b)は、装置間で通信異常が発生した場合の例である。図12(a)、(b)に示す例では、通信装置100A〜100Fの自装置情報及び送信元一覧をそれぞれ、情報21A〜21Fと称する。
まず、各通信装置100の送信部124は、例えば1分毎などの定期的に、自装置情報及び送信元一覧を送信する。例えば、図12(a)に示す例では、通信装置100Aは、通信装置100Aの情報21A(通信装置100Aの自装置情報及び送信元一覧)を、通信装置100C及び通信装置100Dに送信する。また、例えば、通信装置100Cは、通信装置100Aから情報21Aを受信し、通信装置100Bから情報21Bを受信する。そして、通信装置100Cは、情報21A及び情報21B、通信装置100Cの情報21Cを、通信装置100E及び通信装置100Fに送信する。最終的に、管理サーバ200は、通信装置100A〜100Fの情報21A〜21Fを受信する。
一方、図12(b)に示す例では、破線で示した経路の通信、即ち、通信装置100Bと通信装置100Cとの間の通信、通信装置100Cと通信装置100Fとの間の通信、通信装置100Dと通信装置100Fとの間の通信のそれぞれに異常が発生している。この場合、管理サーバ200は、通信装置100Eから情報21A〜21Eを受信し、通信装置100Fから情報21Fを受信する。即ち、管理サーバ200は、通信装置100A〜100Fの情報21A〜21Fを受信する。
ここで、図12(a)に示す例では装置間で正常に通信が行われているため、各通信装置100の送信元一覧は図11の通りになる。一方、図12(b)に示す例では通信異常が発生しており、各通信装置100の送信元一覧は図11とは異なる。
図12(c)は、図12(b)の場合の各通信装置100の送信元一覧を示す図である。図12(c)において、通信装置100A、通信装置100B、通信装置100D、通信装置100Eの送信元一覧は、図11に示す送信元一覧と同じである。
一方、図12(c)において、通信装置100Cの送信元一覧には通信装置100Aのみが含まれているが、図11において、通信装置100Cの送信元一覧には通信装置100A及び通信装置100Bが含まれる。そこで、異常判定部223は、通信装置100Bと通信装置100Cとの間で通信異常が発生していると判定する。また、図12(c)において、通信装置100Fの送信元一覧には、どの通信装置100も含まれていないが、図11において、通信装置100Fの送信元一覧には通信装置100C及び通信装置100Cが含まれる。そこで、異常判定部223は、通信装置100Fと通信装置100Cとの間、通信装置100Fと通信装置100Dとの間で通信異常が発生していると判定する。このようにして、異常判定部223は、各通信装置100の情報21A〜21Fを基に、ネットワーク内で通信異常が発生しているか否かを判定する。
また、異常判定部223は、各通信装置100の自装置情報を基に、各通信装置100が正常であるか否かの判定も行う。図12(b)に示す例では、異常判定部223は、例えば、通信装置100Bの自装置情報により、通信装置100Bの通信I/Fが故障していると判定する。
ここで、装置間で通信異常が発生する原因としては、例えば、装置故障などの装置が原因の場合もあれば、装置間の障害物により電波の送受信が正常に行われなくなった等の外部環境が原因の場合もある。図21(a)、(b)を参照しながら、さらに、管理サーバ200がネットワーク内の異常原因を判断する処理について説明する。図21(a)、(b)は、本実施の形態2に係る管理サーバ200がネットワーク内の異常原因を判断する処理の具体例を説明するための図である。
図21(b)には、図21(a)に示す通信装置100Cのステータス(状態)、通信経路22Xの通信状況、通信経路22Yの通信状況、これらの情報を基に解釈される内容を示している。通信経路22Xは、通信装置100Aと通信装置100Cとの間の通信経路である。通信経路22Yは、通信装置100Bと通信装置100Cとの間の通信経路である。なお、通信装置100Cのステータスは、通信装置100の自装置情報から判定されるものである。また、通信経路22X、通信経路22Yの通信状況は、通信装置100Cの送信元一覧と判定情報格納部222の判定情報とを比較して判定されるものである。
例えば、通信装置100Cのステータスが「OK(正常)」、通信経路22X、通信経路22Yが「OK」の場合には、通信装置100Cに関して異常なし(「OK」)と解釈される。なお、通信経路22X、通信経路22Yが「OK」の場合とは、通信経路22X、通信経路22Yの両方が「OK」の場合を示す。
一方、例えば、通信装置100Cのステータスが「OK」、通信経路22X、通信経路22Yが「NG(異常)」の場合には、通信装置100Cには異常がないにも関わらず、通信経路22X、通信経路22Yに異常が発生していることとなる。この場合、通信経路22X、通信経路22Yに、遮蔽物(障害物)などによる障害が発生していると解釈される。なお、通信経路22X、通信経路22Yが「NG」の場合とは、通信経路22X、通信経路22Yの両方が「NG」の場合、通信経路22X、通信経路22Yの一方が「NG」の場合を含む。
また、例えば、通信装置100Cのステータスが「受信部故障(受信側の通信I/Fの故障)」、通信経路22X、通信経路22Yが「OK」の場合には、受信側の通信I/Fが故障しているにも関わらず、通信経路22X、通信経路22Yで正常に通信できていることとなる。この場合、管理サーバ200による故障診断(故障診断プログラム)に間違いがあると解釈される。
さらに、例えば、通信装置100Cのステータスが「受信部故障」、通信経路22X、通信経路22Yが「NG」の場合には、通信装置100Cの受信側の通信I/Fが故障しているために、通信経路22X、通信経路22Yで異常が発生していると解釈される。
管理サーバ200の異常判定部223は、通信装置100の自装置情報及び送信元一覧を用いることにより、上述したような解釈を行い、ネットワーク内の異常原因を判断する。例えば、図21に示す例では、送信元一覧により通信経路22X、通信経路22Yが「NG」と判定された場合であっても、送信元一覧の情報からはどのような原因で通信異常が発生しているかまでは判定されない。そこで、異常判定部223は、通信装置100Cの自装置情報を用いることにより、通信経路に遮蔽物があることによる通信異常であるのか、通信装置100Cの受信部故障による通信異常であるのか等の判断を行う。付言すると、異常判定部223は、通信装置100Cの自装置情報及び送信元一覧の両方を用いて、通信装置100Cのステータスと通信経路22X、通信経路22Yの通信状況とを合わせることで、自装置情報又は送信元一覧の一方のみを用いる場合と比較して、ネットワーク内の状況をより正確に判断できるようになる。
<通信装置の処理手順>
次に、本実施の形態に係る通信装置100の処理手順について説明する。図13は、本実施の形態2に係る通信装置100の処理手順の一例を示したフローチャートである。以下の処理は、例えば1分毎などの定期的に繰り返し実行される。
自装置状態取得部122は、自装置内から自装置情報を取得する(ステップ301)。次に、送信元一覧生成部123は、例えば1分間などの予め定められた時間内に受信部121が受信したデータを基に、送信元一覧を生成する(ステップ302)。次に、送信部124は、自装置についての自装置情報及び送信元一覧と、他の通信装置100から送信されてきた他の通信装置100の自装置情報及び送信元一覧とを、予め定められた送信先に送信する(ステップ303)。ここで、自装置についての自装置情報及び送信元一覧と、他の通信装置100の自装置情報及び送信元一覧とを別々に送信しても良い。そして、本処理フローは終了する。
<管理サーバの処理手順>
次に、本実施の形態に係る管理サーバ200の処理手順について説明する。図14は、本実施の形態2に係る管理サーバ200の処理手順の一例を示したフローチャートである。
異常判定部223は、各通信装置100から送信されてきた自装置情報を基に、各通信装置100が正常であるか否かを判定する(ステップ401)。次に、異常判定部223は、各通信装置100から送信されてきた送信元一覧と判定情報とを比較して、装置間で通信異常が発生しているか否かを判定する(ステップ402)。次に、通知部224は、異常判定部223による判定結果をユーザに通知する(ステップ403)。そして、本処理フローは終了する。
なお、本実施の形態において、通信装置100間の全てに迂回経路が設けられることとしたが、このような構成に限られるものではない。通信装置100間で迂回経路が設けられていない区間が存在する場合であっても、管理サーバ200の異常判定部223は、各通信装置100から送信されてくる情報を基に、各通信装置100が正常であるか否か、装置間の通信が正常に行われているか否かを判定しても良い。
[実施の形態3]
次に、本実施の形態3に係る通信システム1について説明する。本実施の形態に係る通信システム1は、図7と同様に、複数の通信装置100A〜100F、管理サーバ200から構成される。また、通信装置100A〜100F、管理サーバ200により構成される無線通信のネットワークは、実施の形態2と同様に、通信装置100間に迂回経路が設けられており、それぞれの装置が互いに連携して無線通信を行うメッシュネットワークである。本実施の形態では、このメッシュネットワークの構成を、通信装置100A〜100F、管理サーバ200の位置に基づいて自動的に行う。
なお、図7には6台の通信装置100を示したが、通信装置100の台数は図示の6台には限定されない。また、本実施の形態に係る通信装置100、管理サーバ200のハードウェア構成例は、図2と同様である。以下では、通信装置100A〜100F、管理サーバ200を「ノード」と称する場合がある。
<管理サーバの機能構成>
次に、実施の形態3に係る管理サーバ200の機能構成について説明する。管理サーバ200は、通信装置100間に迂回経路を設けて宛先の管理サーバ200へ各種データを送信するためのメッシュネットワークについて、各ノードの送信先及び送信元を決定する処理を行う。ここで、管理サーバ200は、メッシュネットワークを構成するノード(即ち、通信装置100A〜100F、管理サーバ200)を、「ゴールグループ」、「非ゴールグループ」という2つのグループに分ける。本実施の形態では、特定の通信装置の一例として、管理サーバ200が用いられる。また、群の一例として、ゴールグループが用いられる。
ゴールグループとは、宛先である管理サーバ200を含むノードの集合である。付言すると、ゴールグループは、管理サーバ200を宛先とするメッシュネットワーク上での送信先が決定済みのノードの集合と捉えることができる。一方、非ゴールグループとは、ゴールグループに含まれないノードの集合である。付言すると、非ゴールグループは、管理サーバ200を宛先とするメッシュネットワーク上での送信先がまだ決定されていないノードの集合と捉えることができる。
なお、管理サーバ200による処理の開始時点では、ゴールグループには宛先である管理サーバ200のみが含まれ、残りのノード(即ち、通信装置100A〜100F)は非ゴールグループに含まれる。そして、後述する処理により、非ゴールグループに含まれるノードを順番にゴールグループに移動させる。非ゴールグループが空になるまで繰り返し処理を行うことにより、メッシュネットワーク上での各ノードの送信先及び送信元が決定される。
図15は、本実施の形態3に係る管理サーバ200の機能構成例を示したブロック図である。本実施の形態に係る管理サーバ200は、位置情報格納部231、距離計算部232、注目ノード決定部233、ノード選択部234、繰り返し制御部235を備える。
位置情報格納部231は、各ノードが設置された位置の情報(位置情報)を保持する。位置情報としては、例えば、緯度及び経度の座標を例示することができる。
距離計算部232は、位置情報格納部231に含まれる各ノードの位置情報を基に、ゴールグループに含まれるノードと非ゴールグループに含まれるノードとの距離を計算する。ここで、距離計算部232は、ゴールグループに含まれる各ノードのそれぞれと、非ゴールグループに含まれる各ノード(即ち、ゴールグループに含まれない各ノード)のそれぞれとの距離を計算する。
なお、ノードが設置される位置によっては、建物や壁などの障害物により電波が届きにくいことも考えられる。そこで、距離計算部232は、障害物の影響を考慮して、距離を計算しても良い。具体的には、例えば、ノード間に存在する建物により電波が届きにくい場合には、そのノード間の距離を2倍にした値が用いられる。
抽出手段の一例としての注目ノード決定部233は、距離計算部232により計算された距離の情報を基に、非ゴールグループの中から注目ノードを決定する。ここで、注目ノード決定部233は、まず、非ゴールグループに含まれるノードを1つ選択する。次に、選択したノードからゴールグループに含まれる各ノードまでの距離のうち、「2番目に短い距離」の値を取得する。注目ノード決定部233は、このように「2番目に短い距離」の値を取得する処理を、非ゴールグループに含まれる各ノードに対して行う。そして、注目ノード決定部233は、非ゴールグループに含まれるノードのうち、「2番目に短い距離」の値が最も小さいノードを、注目ノードとして決定する。
選択手段の一例としてのノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードとの距離が予め定められた条件を満たすノードを選択する。より具体的には、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードに近いもの(注目ノードとの距離が短いもの)から順に2つ選択する。そして、ノード選択部234は、選択したノードを、注目ノードがメッシュネットワーク上で無線通信によりデータを送信する送信先のノードとして設定する。次に、ノード選択部234は、注目ノードを非ゴールグループではなく、ゴールグループに含める。
繰り返し制御部235は、ノード選択部234が注目ノードをゴールグループに含めた後、非ゴールグループが空であるか否かを判定する。非ゴールグループが空の場合、一連の処理を終了する。一方、非ゴールグループにまだノードが含まれている場合、繰り返し制御部235は、引き続き、距離計算部232、注目ノード決定部233、ノード選択部234に対して処理を実行させる。
なお、図15に示す管理サーバ200を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、管理サーバ200を図2に示したハードウェア構成にて実現した場合、例えば、磁気ディスク装置103に格納されているOSのプログラムやアプリケーション・プログラムが、メインメモリ102に読み込まれてCPU101に実行されることにより、距離計算部232、注目ノード決定部233、ノード選択部234、繰り返し制御部235等の各機能が実現される。また、位置情報格納部231は、例えば磁気ディスク装置103等の記憶手段により実現される。
<各ノードの送信先及び送信元を決定する処理の具体例>
次に、本実施の形態に係る管理サーバ200が各ノードの送信先及び送信元を決定する処理について、具体例を挙げて説明する。図16−1及び図16−2は、本実施の形態3に係る管理サーバ200が各ノードの送信先及び送信元を決定する処理の具体例を説明するための図である。
まず、管理サーバ200による処理の開始時点では、ゴールグループには管理サーバ200のみが含まれ、通信装置100A〜100Fは非ゴールグループに含まれる。ここで、距離計算部232は、位置情報格納部231に含まれる各ノードの位置情報を基に、ゴールグループに含まれる管理サーバ200と、非ゴールグループに含まれる通信装置100A〜100Fのそれぞれとの距離を計算する。図16−1(a)に示す例では、管理サーバ200と通信装置100A〜100Fとの距離をそれぞれ、d1(A)〜d1(F)とする。
次に、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「2番目に短い距離」の値を取得する処理を行う。ただし、この時点では、ゴールグループには1つのノード(即ち、管理サーバ200)しか存在しない。そのため、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「1番目に短い距離」の値を取得する処理を行う。各ノードの「1番目に短い距離」は、d1(A)〜d1(F)である。次に、注目ノード決定部233は、d1(A)〜d1(F)の値が最も小さいノードを注目ノードとして決定する。図16−1(a)に示す例では、通信装置100Aが注目ノードとして決定される。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、通信装置100Aに近いものから2つ選択する。ただし、ゴールグループには1つのノード(管理サーバ200)しか存在しない。そのため、ノード選択部234は、図16−1(b)に示すように、管理サーバ200を選択し、通信装置100Aからデータを送る送信先のノードとして設定する。次に、ノード選択部234は、注目ノードである通信装置100Aを非ゴールグループではなく、ゴールグループに含める。
続けて、距離計算部232は、ゴールグループに含まれる管理サーバ200、通信装置100Aのそれぞれと、非ゴールグループに含まれる通信装置100B〜100Fのそれぞれとの距離を計算する。図16−1(c)に示す例では、通信装置100Aと通信装置100B〜100Fとの距離をそれぞれ、d2(B)〜d2(F)とする。また、管理サーバ200と通信装置100B〜100Fとの距離d1(B)〜d1(F)は計算済みであるため、新たに計算しなくても良い。
次に、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「2番目に短い距離」の値を取得する処理を行う。例えば、通信装置100Bの場合、d1(B)とd2(B)とでは、d1(B)の方が短い。そのため、通信装置100Bの「2番目に短い距離」はd2(B)である。また、例えば、通信装置100Cの場合、d1(C)とd2(C)とでは、d2(C)の方が短い。そのため、通信装置100Cの「2番目に短い距離」はd1(C)である。同様に、注目ノード決定部233は、通信装置100d〜100Fの「2番目に短い距離」としてそれぞれ、d1(D)、d1(E)、d1(F)を取得する。
そして、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「2番目に短い距離」の値が最も小さいノードを注目ノードとして決定する。図16−1(c)に示す例では、d2(B)、d1(C)、d1(D)、d1(E)、d1(F)の中で最も小さい値はd2(B)である。そのため、通信装置100Bが注目ノードとして決定される。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、通信装置100Bに近いものから2つ選択する。ただし、ゴールグループには2つのノード(管理サーバ200、通信装置100A)しか存在しない。そのため、ノード選択部234は、図16−1(d)に示すように、管理サーバ200、通信装置100Aを選択し、通信装置100Bからデータを送る送信先のノードとして設定する。次に、ノード選択部234は、注目ノードである通信装置100Bを非ゴールグループではなく、ゴールグループに含める。
続けて、距離計算部232は、ゴールグループに含まれる管理サーバ200、通信装置100A、通信装置100Bのそれぞれと、非ゴールグループに含まれる通信装置100C〜100Fのそれぞれとの距離を計算する。図16−2(e)に示す例では、通信装置100Bと通信装置100C〜100Fとの距離をそれぞれ、d3(C)〜d3(F)とする。また、管理サーバ200と通信装置100C〜100Fとの距離d1(C)〜d1(F)、通信装置100Aと通信装置100C〜100Fとの距離d2(C)〜d2(F)は計算済みであるため、新たに計算しなくても良い。
次に、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「2番目に短い距離」の値を取得する処理を行う。例えば、通信装置100Cの場合、d1(C)、d2(C)、d3(C)の中で、1番短いのはd2(C)、2番目に短いのはd3(C)である。そのため、通信装置100Cの「2番目に短い距離」はd3(C)である。また、例えば、通信装置100Dの場合、d1(D)、d2(D)、d3(D)の中で、1番短いのはd3(D)、2番目に短いのはd2(D)である。そのため、通信装置100Dの「2番目に短い距離」はd2(D)である。同様に、注目ノード決定部233は、通信装置100E、100Fの「2番目に短い距離」としてそれぞれ、d2(E)、d2(F)を取得する。
そして、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「2番目に短い距離」の値が最も小さいノードを注目ノードとして決定する。図16−2(e)に示す例では、d3(C)、d2(D)、d2(E)、d2(F)の中で最も小さい値はd3(C)である。そのため、通信装置100Cが注目ノードとして決定される。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、通信装置100Cに近いものから2つ選択する。ここで、ゴールグループに含まれる管理サーバ200、通信装置100A、通信装置100Bのうち、通信装置100Cに最も近いのは通信装置100A、次に近いのは通信装置100Bである。そのため、ノード選択部234は、図16−2(f)に示すように、通信装置100A、通信装置100Bを選択し、通信装置100Cからデータを送る送信先のノードとして設定する。次に、ノード選択部234は、注目ノードである通信装置100Cを非ゴールグループではなく、ゴールグループに含める。
このようにして、距離計算部232、注目ノード決定部233、ノード選択部234は、非ゴールグループが空になるまで繰り返し処理を実行する。言い換えると、管理サーバ200、通信装置100A〜100Fが全てゴールグループのノードとなり、各ノードについて、管理サーバ200を宛先とするメッシュネットワーク上での送信先及び送信元が決定されるまで、繰り返し処理が実行される。その結果、図16−2(g)に示すように、各ノード間での通信経路が決定される。そして、繰り返し制御部235が、非ゴールグループが空であると判定すると、一連の処理は終了する。
<管理サーバの処理手順>
次に、本実施の形態に係る管理サーバ200の処理手順について説明する。図17は、本実施の形態3に係る管理サーバ200の処理手順の一例を示したフローチャートである。
まず、距離計算部232は、位置情報格納部231に含まれる各ノードの位置情報を基に、ゴールグループに含まれる各ノードのそれぞれと、非ゴールグループに含まれる各ノードのそれぞれとの距離を計算する(ステップ501)。次に、注目ノード決定部233は、距離計算部232により計算された距離の情報を基に、注目ノードを決定する(ステップ502)。ここで、注目ノード決定部233は、非ゴールグループに含まれるノードのうち、「2番目に短い距離」の値が最も小さいノードを注目ノードとして決定する。なお、ゴールグループに含まれるノードが1つ(即ち、管理サーバ200)の場合には、注目ノード決定部233は、非ゴールグループに含まれるノードのうち、「1番目に短い距離」の値が最も小さいノードを注目ノードとして決定する。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードに近いものから2つ選択し、選択した2つのノードを注目ノードの送信先として設定する(ステップ503)。なお、ゴールグループに含まれるノードが1つ(即ち、管理サーバ200)の場合には、ノード選択部234は、その1つのノードを選択する。次に、ノード選択部234は、注目ノードを非ゴールグループではなく、ゴールグループに含める(ステップ504)。
次に、繰り返し制御部235は、非ゴールグループが空であるか否かを判定する(ステップ505)。非ゴールグループが空である場合(ステップ505でYes)、本処理フローは終了する。一方、非ゴールグループにまだノードが含まれている場合(ステップ505でNo)、ステップ501に移行する。
本処理フローにより、各ノードについてメッシュネットワーク上の送信先・送信元が決定される。そして、例えば、管理サーバ200が、本処理フローの後、有線通信やBLE等の無線通信により、各ノードに対して送信先・送信元の設定指示を行うことにより、各ノードにて送信先・送信元の設定が行われ、メッシュネットワークが構築される。
なお、ステップ503において、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードに近いものから2つ選択したが、選択した2つのノード以外に、さらにノードを選択しても良い。言い換えると、ノード選択部234は、ゴールグループに含まれるノードのうち、選択した2つのノード以外に予め定められた条件を満たすノードを選択しても良い。例えば、ノード選択部234は、ゴールグループに含まれるノードのうち、選択した2つのノード以外に、注目ノードから予め定められた距離以内にノードがあれば、そのノードも選択して良い。また、例えば、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードからの距離が2番目に短いノードから予め定められた距離以内に別のノードがあれば、その別のノードも選択して良い。
また、本実施の形態において、注目ノード決定部233は、「2番目に短い距離」の値が最も小さいノードを注目ノードとして決定し、ノード選択部234は、注目ノードに近いものから2つ選択して注目ノードの送信先としたが、このような構成に限られるものではない。上述した例では、注目ノードの送信先を2つにして迂回経路を設けるためにこのような構成にしたが、例えば、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「3番目に短い距離」の値が最も小さいノードを注目ノードとして決定しても良い。この場合、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードに近いものから3つ選択して、選択した3つのノードを注目ノードの送信先のノードとして設定する。
付言すると、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「N(Nは2以上の整数)番目に短い距離」の値が最も小さいノードを注目ノードとして決定すれば良い。この場合、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードに近いものからN個選択して、選択したN個のノードを注目ノードの送信先のノードとして設定する。Nの値が大きい程、迂回経路が増えるため、より頑健なメッシュネットワークが構築される。なお、本実施の形態では、予め定められた数の通信装置の一例として、N個のノードが用いられる。
[実施の形態4]
次に、本実施の形態4に係る通信システム1について説明する。本実施の形態に係る通信システム1は、図7と同様に、複数の通信装置100A〜100F、管理サーバ200から構成される。そして、実施の形態3では、管理サーバ200は、各ノードの距離に基づいて各ノードの送信先及び送信元を決定した。一方、実施の形態4では、管理サーバ200は、各ノードが実際に受信する電波の電波強度に基づいて、各ノードの送信先及び送信元を決定する。
さらに説明すると、例えば、実施の形態3による処理を行うことにより、管理サーバ200を宛先とするメッシュネットワークが構築される。しかし、実際にノード間で電波の送受信を行うと、例えば障害物の影響などにより、ノード間で電波の送受信が正常に行われず、データのやり取りに時間を要したりすることが考えられる。そこで、本実施の形態では、メッシュネットワークを構築した後、各ノードが実際に受信する電波の電波強度に基づいて、再度、各ノードの送信先及び送信元を決定する。
なお、本実施の形態に係るメッシュネットワークは、実施の形態3と同様に、通信装置100間に迂回経路が設けられており、宛先である管理サーバ200へ各種データを送信するためのメッシュネットワークである。また、図7には6台の通信装置100を示したが、通信装置100の台数は図示の6台には限定されない。さらに、本実施の形態に係る通信装置100、管理サーバ200のハードウェア構成例は、図2と同様である。
<管理サーバの機能構成>
次に、実施の形態4に係る管理サーバ200の機能構成について説明する。図18は、本実施の形態4に係る管理サーバ200の機能構成例を示したブロック図である。本実施の形態に係る管理サーバ200は、位置情報格納部231、距離計算部232を備えず、電波強度取得部236を備える点で、実施の形態3に係る図15の機能構成例と異なる。
電波強度取得部236は、非ゴールグループに含まれる各ノードからゴールグループに含まれる各ノードへ届く電波の強度を取得する。より具体的には、ゴールグループに含まれる各ノードが、非ゴールグループに含まれる各ノードから届く電波の強度を測定する。そして、電波強度取得部236は、ゴールグループに含まれる各ノードから、測定された電波強度を取得する。なお、電波強度の取得は、構築済みのメッシュネットワークやBLE等により行われる。
抽出手段の一例としての注目ノード決定部233は、電波強度取得部236が取得した電波強度の情報を基に、非ゴールグループの中から注目ノードを決定する。ここで、注目ノード決定部233は、まず、非ゴールグループに含まれるノードを1つ選択する。次に、選択したノードからゴールグループに含まれる各ノードへ届く電波の強度のうち、「2番目に高い電波強度」の値を取得する。注目ノード決定部233は、このように「2番目に高い電波強度」の値を取得する処理を、非ゴールグループに含まれる各ノードに対して行う。そして、注目ノード決定部233は、非ゴールグループに含まれるノードのうち、「2番目に高い電波強度」の値が最も大きいノードを、注目ノードとして決定する。
選択手段の一例としてのノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードから届いた電波の電波強度が予め定められた条件を満たすノードを選択する。より具体的には、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードから届いた電波の電波強度が高いものから順に2つ選択する。そして、ノード選択部234は、選択したノードを、注目ノードがメッシュネットワーク上で無線通信によりデータを送信する送信先のノードとして設定する。次に、ノード選択部234は、注目ノードを非ゴールグループではなく、ゴールグループに含める。
繰り返し制御部235は、ノード選択部234が注目ノードをゴールグループに含めた後、非ゴールグループが空であるか否かを判定する。非ゴールグループが空の場合、一連の処理を終了する。一方、非ゴールグループにまだノードが含まれている場合、繰り返し制御部235は、引き続き、電波強度取得部236、注目ノード決定部233、ノード選択部234に対して処理を実行させる。
なお、図18に示す管理サーバ200を構成する各機能部は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、管理サーバ200を図2に示したハードウェア構成にて実現した場合、例えば、磁気ディスク装置103に格納されているOSのプログラムやアプリケーション・プログラムが、メインメモリ102に読み込まれてCPU101に実行されることにより、電波強度取得部236、注目ノード決定部233、ノード選択部234、繰り返し制御部235等の各機能が実現される。
<各ノードの送信先及び送信元を決定する処理の具体例>
次に、本実施の形態に係る管理サーバ200が各ノードの送信先及び送信元を決定する処理について、具体例を挙げて説明する。図19−1及び図19−2は、本実施の形態4に係る管理サーバ200が各ノードの送信先及び送信元を決定する処理の具体例を説明するための図である。
まず、管理サーバ200による処理の開始時点では、ゴールグループには管理サーバ200のみが含まれ、通信装置100A〜100Fは非ゴールグループに含まれる。ここで、電波強度取得部236は、非ゴールグループに含まれる通信装置100A〜100Fからゴールグループに含まれる管理サーバ200へ届く電波の強度を取得する。図19−1(a)に示す例では、通信装置100A〜100Fから管理サーバ200へ届く電波の強度をそれぞれ、e1(A)〜e1(F)とする。
次に、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「2番目に高い電波強度」の値を取得する処理を行う。ただし、この時点では、ゴールグループには1つのノード(即ち、管理サーバ200)しか存在しない。そのため、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「1番目に高い電波強度」の値を取得する処理を行う。各ノードの「1番目に高い電波強度」は、e1(A)〜e1(F)である。次に、注目ノード決定部233は、e1(A)〜e1(F)の値が最も大きいノードを注目ノードとして決定する。図19−1(a)に示す例では、通信装置100Aが注目ノードとして決定される。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、通信装置100Aから届いた電波の強度が高いものから2つ選択する。ただし、ゴールグループには1つのノード(管理サーバ200)しか存在しない。そのため、ノード選択部234は、図19−1(b)に示すように、管理サーバ200を選択し、通信装置100Aからデータを送る送信先のノードとして設定する。次に、ノード選択部234は、注目ノードである通信装置100Aを非ゴールグループではなく、ゴールグループに含める。
続けて、電波強度取得部236は、非ゴールグループに含まれる通信装置100B〜100Fのそれぞれからゴールグループに含まれる管理サーバ200、通信装置100Aのそれぞれへ届く電波の強度を取得する。図19−1(c)の例では、通信装置100B〜100Fのそれぞれから通信装置100Aへ届く電波の強度を、e2(B)〜e2(F)とする。また、通信装置100B〜100Fのそれぞれから管理サーバ200へ届く電波の強度e1(B)〜e1(F)は取得済であるため、新たに取得しなくても良い。
次に、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「2番目に高い電波強度」の値を取得する処理を行う。例えば、通信装置100Bの場合、e1(B)とe2(B)とでは、e1(B)の方が高い。そのため、通信装置100Bの「2番目に高い電波強度」はe2(B)である。また、例えば、通信装置100Cの場合、e1(C)とe2(C)とでは、e2(C)の方が高い。そのため、通信装置100Cの「2番目に高い電波強度」はe1(C)である。同様に、注目ノード決定部233は、通信装置100d〜100Fの「2番目に高い電波強度」としてそれぞれ、e1(D)、e1(E)、e1(F)を取得する。
そして、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「2番目に高い電波強度」の値が最も大きいノードを注目ノードとして決定する。図19−1(b)に示す例では、e2(B)、e1(C)、e1(D)、e1(E)、e1(F)の中で最も大きい値はe2(B)である。そのため、通信装置100Bが注目ノードとして決定される。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、通信装置100Aから届いた電波の電波強度が高いものから2つ選択する。ただし、ゴールグループには2つのノード(管理サーバ200、通信装置100A)しか存在しない。そのため、ノード選択部234は、図19−1(d)に示すように、管理サーバ200、通信装置100Aを選択し、通信装置100Bからデータを送る送信先のノードとして設定する。次に、ノード選択部234は、注目ノードである通信装置100Bを非ゴールグループではなく、ゴールグループに含める。
続けて、電波強度取得部236は、非ゴールグループに含まれる通信装置100C〜100Fのそれぞれからゴールグループに含まれる管理サーバ200、通信装置100A、通信装置100Bのそれぞれへ届く電波の電波強度を取得する。図19−2に示す例では、通信装置100C〜100Fのそれぞれから通信装置100Bへ届く電波の電波強度を、e3(C)〜e3(F)とする。また、通信装置100C〜100Fのそれぞれから管理サーバ200へ届く電波の強度e1(C)〜e1(F)、通信装置100C〜100Fのそれぞれから通信装置100Aへ届く電波の強度e2(C)〜e2(F)は取得済であるため、新たに取得しなくても良い。
次に、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて、「2番目に高い電波強度」の値を取得する処理を行う。例えば、通信装置100Cの場合、e1(C)、e2(C)、e3(C)の中で、1番高いのはe2(C)、2番目に高いのはe3(C)である。そのため、通信装置100Cの「2番目に高い電波強度」はe3(C)である。また、例えば、通信装置100Dの場合、e1(D)、e2(D)、e3(D)の中で、1番高いのはe3(D)、2番目に高いのはe2(D)である。そのため、通信装置100Dの「2番目に高い電波強度」はe2(D)である。同様に、注目ノード決定部233は、通信装置100E、100Fの「2番目に高い電波強度」としてそれぞれ、e2(E)、e3(F)を取得する。
そして、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「2番目に高い電波強度」の値が最も大きいノードを注目ノードとして決定する。図19−2(e)に示す例では、e3(C)、e2(D)、e2(E)、e3(F)の中で最も高い値はe2(D)である。そのため、通信装置100Dが注目ノードとして決定される。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、通信装置100Dから届いた電波の強度が高いものから2つ選択する。ここで、ゴールグループに含まれる管理サーバ200、通信装置100A、通信装置100Bのうち、通信装置100Dから届いた電波の強度が最も高いのは通信装置100B、次に高いのは通信装置100Aである。そのため、ノード選択部234は、図19−2(f)に示すように、通信装置100B、通信装置100Aを選択し、通信装置100Dからデータを送る送信先のノードとして設定する。次に、ノード選択部234は、注目ノードである通信装置100Dを非ゴールグループではなく、ゴールグループに含める。
このようにして、電波強度取得部236、注目ノード決定部233、ノード選択部234は、非ゴールグループが空になるまで繰り返し処理を実行する。言い換えると、管理サーバ200、通信装置100A〜100Fが全てゴールグループのノードとなり、各ノードについて、管理サーバ200を宛先とするメッシュネットワーク上での送信先及び送信元が決定されるまで、繰り返し処理が実行される。その結果、図19−2(g)に示すように、各ノード間での通信経路が決定される。そして、繰り返し制御部235が、非ゴールグループが空であると判定すると、一連の処理は終了する。
付言すると、図16−1及び図16−2に示す例では、通信装置100A、通信装置100B、通信装置100Cの順に注目ノードになり、最終的に図16−2(g)に示すメッシュネットワークが構築される。一方、図19−1及び図19−2に示す例では、通信装置100A、通信装置100B、通信装置100Dの順に注目ノードになり、最終的に図19−2(g)に示すメッシュネットワークが再構築される。即ち、実際に送受信される電波の強度に基づいて、ノードの送信先・送信元の設定、ノード間の経路が変更されることとなる。
<管理サーバの処理手順>
次に、本実施の形態に係る管理サーバ200の処理手順について説明する。図20は、本実施の形態4に係る管理サーバ200の処理手順の一例を示したフローチャートである。
まず、電波強度取得部236は、非ゴールグループに含まれるそれぞれのノードからゴールグループに含まれるそれぞれのノードへ届く電波の電波強度を取得する(ステップ601)。次に、注目ノード決定部233は、電波強度取得部236が取得した電波強度の情報を基に、注目ノードを決定する(ステップ602)。ここで、注目ノード決定部233は、非ゴールグループに含まれるノードのうち、「2番目に高い電波強度」の値が最も大きいノードを注目ノードとして決定する。なお、ゴールグループに含まれるノードが1つ(即ち、管理サーバ200)の場合には、注目ノード決定部233は、非ゴールグループに含まれるノードのうち、「1番目に高い電波強度」の値が最も大きいノードを注目ノードとして決定する。
次に、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードから届いた電波の強度が高いものから2つ選択し、選択した2つのノードを注目ノードの送信先として設定する(ステップ603)。なお、ゴールグループに含まれるノードが1つ(即ち、管理サーバ200)の場合には、ノード選択部234は、その1つのノードを選択する。次に、ノード選択部234は、注目ノードを非ゴールグループではなく、ゴールグループに含める(ステップ604)。
次に、繰り返し制御部235は、非ゴールグループが空であるか否かを判定する(ステップ605)。非ゴールグループが空である場合(ステップ605でYes)、本処理フローは終了する。一方、非ゴールグループにまだノードが含まれている場合(ステップ605でNo)、ステップ601に移行する。
本処理フローにより、各ノードについてメッシュネットワーク上の送信先・送信元が決定される。そして、例えば、管理サーバ200が、本処理フローの後、有線通信やBLE等の無線通信により、各ノードに対して送信先・送信元の設定指示を行うことにより、各ノードにて送信先・送信元の設定が行われ、メッシュネットワークが再構築される。なお、管理サーバ200は、注目ノード及び注目ノードの送信先となるノードを決定する度に、注目ノード及びその送信先となるノードに対して送信先・送信元の設定指示を行い、無線通信の接続を確立しても良い。
また、ステップ603において、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードから届いた電波の強度が高いものから2つ選択したが、選択した2つのノード以外に、さらにノードを選択しても良い。言い換えると、ノード選択部234は、ゴールグループに含まれるノードのうち、選択した2つのノード以外に予め定められた条件を満たすノードを選択しても良い。例えば、ノード選択部234は、ゴールグループに含まれるノードのうち、選択した2つのノード以外に、注目ノードから届いた電波の電波強度が予め定められた電波強度以上のノードがあれば、そのノードも選択して良い。また、例えば、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードから届いた電波の電波強度が2番目に高いノードと比較して、電波強度の差が予め定められた範囲内の別のノードがあれば、その別のノードも選択して良い。
また、本実施の形態において、注目ノード決定部233は、「2番目に高い電波強度」の値が最も大きいノードを注目ノードとして決定し、ノード選択部234は、注目ノードから届いた電波の強度が高いものから2つ選択して注目ノードの送信先としたが、このような構成に限られるものではない。上述した例では、注目ノードの送信先を2つにして迂回経路を設けるためにこのような構成にしたが、例えば、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「3番目に高い電波強度」の値が最も大きいノードを注目ノードとして決定しても良い。この場合、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードから届いた電波の強度が高いものから3つ選択して、選択した3つのノードを注目ノードの送信先のノードとして設定する。
付言すると、注目ノード決定部233は、非ゴールグループに含まれる各ノードについて取得した「N(Nは2以上の整数)番目に高い電波強度」の値が最も大きいノードを注目ノードとして決定すれば良い。この場合、ノード選択部234は、ゴールグループに含まれるノードのうち、注目ノードから届いた電波の強度が高いものからN個選択して、選択したN個のノードを注目ノードの送信先のノードとして設定する。Nの値が大きい程、迂回経路が増えるため、より頑健なメッシュネットワークが構築される。なお、本実施の形態では、予め定められた数の通信装置の一例として、N個のノードが用いられる。
なお、実施の形態3及び実施の形態4では、メッシュネットワークの宛先を管理サーバ200としたが、このような構成に限られるものではない。メッシュネットワークの宛先は、メッシュネットワーク内のノードや外部のネットワークからのデータを受け取る送信先となるノードであり、管理サーバ200以外の装置をメッシュネットワークの宛先にしても良い。
また、実施の形態3及び実施の形態4において、管理サーバ200が各ノードの送信先及び送信元を決定する処理を行ったが、管理サーバ200以外の他装置がこのような処理を行っても良い。即ち、位置情報格納部231、距離計算部232、注目ノード決定部233、ノード選択部234、繰り返し制御部235、電波強度取得部236等の機能を、管理サーバ200以外の他装置に実現させても良い。
さらに、本発明の実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
なお、上記では、実施の形態1〜実施の形態4として、種々の実施形態および変形例を説明したが、これらの実施形態や変形例どうしを組み合わせて構成してももちろんよい。即ち、例えば、実施の形態1〜実施の形態4を全て組み合わせて通信システム1を構成しても良いし、実施の形態1〜実施の形態4のうちの何れか3つの実施の形態や何れか2つの実施の形態を組み合わせて通信システム1を構成しても良い。
また、本開示は上記の実施形態に何ら限定されるものではなく、本開示の要旨を逸脱しない範囲で種々の形態で実施することができる。