実施の形態1.
この発明の実施の形態1に係るアドホック・ネットワーク・システムについて図1から図17までを参照しながら説明する。図1は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの構成を示す図である。なお、以降では、各図中、同一符号は同一又は相当部分を示す。
図1において、この実施の形態1に係るアドホック・ネットワーク・システムは、無線リンク102で結ばれている複数の無線アドホック端末101が設けられている。なお、同図では、無線アドホック端末101−a〜101−i、101−yが例示されている。
また、図1に示すアドホック・ネットワーク・システムでは、特定の無線アドホック端末がSNMP(Simple Network Management Protocol)による管理方式のマネージャとして動作するとともに、その他の無線アドホック端末がエージェントとして動作しており、マネージャから個々のエージェントに対して、「生き死に」の確認を行うための周期的な問い合わせが行われている。なお、以後の説明では、「無線アドホック端末101−y」をマネージャとして取り扱うものとする。
図2は、この発明の実施の形態1に係る無線アドホック端末の構成を示すブロック図である。
図2において、無線アドホック端末101は、送受信部10と、メッセージ処理部12と、隣接端末リスト保持部14と、共通隣接端末テーブル保持部16と、隣接端末選択部18と、再帰診断確認部22と、再帰診断依頼部24と、位置情報記録部26とが設けられている。
送受信部10は、他の無線アドホック端末へ所定のメッセージを送信するとともに、他の無線アドホック端末から所定のメッセージを受信する。メッセージ処理部12は、本実施の形態で規定される種々のメッセージを生成するとともに、他の無線アドホック端末から送信されたメッセージの内容を把握し、隣接端末リスト、共通隣接端末テーブルを作成、更新する。隣接端末リスト保持部14は、隣接端末と呼ばれる無線アドホック端末の識別子及び位置情報から構成される隣接端末リストを保持する。また、共通隣接端末テーブル保持部16は、隣接端末毎に、共通隣接端末と呼ばれる無線アドホック端末の識別子及び位置情報から構成される共通隣接端末テーブルを保持する。
なお、『隣接端末』とは、自端末との間で無線通信が可能な範囲に位置する自端末以外の無線アドホック端末を意味し、『共通隣接端末』とは、一つの無線アドホック端末における隣接端末が他の無線アドホック端末における隣接端末にもなっているときに、その共通する隣接端末を意味する。
隣接端末選択部18は、故障端末の特定依頼を発行する際、共通隣接端末テーブルの中から通信できる可能性が一番高い端末を選択する。再帰診断確認部22は、受け取った故障診断の依頼が再帰的なものであるかの判断を行う。再帰診断依頼部24は、上述の再帰診断確認部22で、受け取った故障診断の依頼が再帰的な要求であってかつ自分が行った故障診断の結果が故障であってかつ再帰的に確認を行う深さの数(例えば3階層までと設定されていてまだ2階層目である場合とか)に到達していない場合、再帰的に(自分を起点として更に)故障診断の依頼を発行する。また、位置情報記録部26は、自端末が位置している位置情報を記録する。
なお、位置情報記録部26で記録する位置情報を獲得する具体的な実現手法として、例えばGPSのような機能で獲得してもよいし、配置するユーザが予め入力する座標軸データでもよい。また、その他にも、他端末との通信を行った結果、得られる(端末間の)電波強度や、通信時のエラーレート等を利用もしくは併用して組み合わせてもよい。
図3は、この発明の実施の形態1に係る無線アドホック端末の隣接端末リスト保持部に格納される隣接端末リストの構成を示す図である。
この図3は、無線アドホック端末101−dの隣接端末リスト保持部14に格納される隣接端末リストの一例を示す。隣接端末リスト250は、無線アドホック端末101−a、101−c、101−e、101−h及び101−iの各識別子(251a〜251e)と、位置情報(252a〜252e)とを保持する。なお、位置情報は、ここでは一例として、座標軸の情報を記入している。
図4は、この発明の実施の形態1に係る無線アドホック端末の共通隣接端末テーブル保持部に格納される共通隣接端末テーブルの構成を示す図である。
この図4は、無線アドホック端末101−dの共通隣接端末テーブル保持部16に格納される共通隣接端末テーブルの一例を示す。共通隣接端末テーブル300は、隣接無線アドホック端末の識別子毎の共通隣接無線アドホック端末の識別子と、位置情報とを保持する。つまり、隣接無線アドホック端末101−aのフィールド行310(領域311に無線アドホック端末101−aの情報が入っている)には、無線アドホック端末101−dと無線アドホック端末101−aとの間の共通隣接端末である、無線アドホック端末101−c、101−e、101−h及び101−iの各識別子(312a〜312d)、並びに位置情報(313a〜313d)が保持され、再帰的に故障診断を実施した結果、無線アドホック端末101−dには見えない他の端末(つまり、この共通隣接端末テーブルには出てこない端末)を経由して故障ではないことの確認ができた場合その端末情報が経由テーブル314、324、334に保持され、その他の情報が領域315、325、335に保持される。なお、位置情報は、ここでは一例として、座標軸の情報を記入している。
図5は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの存在通知メッセージの構成を示す図である。
この図5は、自端末がシステム内に存在することを他端末に通知するための存在通知メッセージ201のフォーマット例を示す。同図において、存在通知メッセージ201は、送信元端末の識別子201aと、送信元端末の位置情報201bと、ライフタイム201cと、応答要求フラグ201dと、隣接無線アドホック端末のリストの識別子の各フィールド201e、201g、201i、201k、201m、201oと、隣接無線アドホック端末のリストの位置情報の各フィールド201f、201h、201j、201l、201n、201pとを有する。
図6は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの故障診断メッセージの構成を示す図である。
この図6は、第1、第2の故障診断を行う無線アドホック端末が故障診断対象の無線アドホック端末に送信する故障診断メッセージのフォーマット例を示す。同図において、故障診断メッセージ203は、送信元端末の識別子203aと、ライフタイム203bと、応答要求フラグ203cと、再帰故障診断指定フラグ203dと、隣接無線アドホック端末の識別子及び位置情報203eとを有する。応答要求フラグ203cには、応答が必要であることを示す「ACK_REQUIRED」が付される。
図7は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの故障診断依頼メッセージの構成を示す図である。
この図7は、故障診断を行う無線アドホック端末が共通隣接端末の無線アドホック端末に故障診断を依頼する際に出力される故障診断依頼メッセージのフォーマット例を示す。同図において、故障診断依頼メッセージ205は、送信元端末の識別子205aと、故障診断対象端末の識別子205bと、再帰故障診断指定フラグ205cと、その他の情報205dとを有する。再帰故障診断指定フラグ205cは、故障診断を再帰的に行うことを指定するのに使われ(この場合やる“数値1”か、やらない“数値0”)、回数を指定する使い方も可能である(やらない“数値0”、N回やる“数値N”)。
図8は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの診断結果メッセージの構成を示す図である。
この図8は、故障診断依頼先の無線アドホック端末が故障診断依頼元の無線アドホック端末に故障診断結果を通知する際に出力される診断結果メッセージのフォーマット例を示す。同図において、診断結果メッセージ207は、送信元端末の識別子207aと、故障診断対象端末の識別子207bと、再帰故障診断指定フラグ207cと、その他の情報207dとを有する。再帰故障診断指定フラグ207cは、どこまで再帰的に故障診断を実施したかの結果を代入するのに使われる。
つぎに、この実施の形態1に係るアドホック・ネットワーク・システムの無線アドホック端末の動作について図面を参照しながら説明する。
無線アドホック端末101−dが、無線アドホック端末101−aの故障診断をする場合を一例として説明する。
図9は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの動作シーケンスを示す図である。
この図9は、無線アドホック端末101−d、101−a、101−g、101−e、そしてマネージャである101−yが存在するネットワークにおいて、無線アドホック端末101−eがまだ参入していない場合での、無線アドホック端末101−yからの周期的な問い合わせ、及び途中から無線アドホック端末101−eがネットワークへ参入するときの処理を示す。
図9において、無線アドホック端末101−yは、アドホック・ネットワーク・システムに既に参入している無線アドホック端末101−d、101−a、101−gに対して、SNMPに基づく周期的な問い合わせを継続する(ステップS501、シーケンスSQ601)。つまり、ハローパケットの送信が周期的に起動される。
また、例えば無線アドホック端末101−eが、このアドホック・ネットワーク・システムに新規参入する場合(ステップS502)、その加入について無線アドホック端末101−yに通知され(シーケンスSQ602)、無線アドホック端末101−yは、無線アドホック端末101−eに対してSNMPに基づく周期的な問い合わせを開始する(ステップS503、シーケンスSQ603)。
図10は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの動作シーケンスを示す図である。
この図10は、図9と同じ無線アドホック端末101−d、101−a、101−g、101−e、101−yで構成されており、無線アドホック端末101−d、101−a、101−g、101−eがそれぞれ周囲の隣接端末から存在通知メッセージ201を受け取り、隣接端末リスト250の作成/更新、及び共通隣接端末テーブル300の作成/更新を行う場合の動作シーケンスを示す。
図10において、アドホック・ネットワーク・システムに参入している無線アドホック端末101−d、101−a、101−e、101−gの各メッセージ処理部12は、図5に示す存在通知メッセージ201を生成し、隣接端末に送信する(ステップS504、S505、S701、S508、S509、S702、S703、S512、S513、S704、S705、S706、シーケンスSQ604〜SQ609、SQ801〜SQ806)。つまり、各無線アドホック端末は、自分がここに居るという「生存情報」を発信する。
図10(a)において、無線アドホック端末101−dは、無線アドホック端末101−a、101−eから存在通知メッセージ201を受け取る。無線アドホック端末101−dは、無線アドホック端末101−gからは受け取れない。
図10(b)において、無線アドホック端末101−eは、無線アドホック端末101−a、101−d、101−gから存在通知メッセージ201を受け取る。
図10(c)において、無線アドホック端末101−aは、無線アドホック端末101−g、101−d、101−eから存在通知メッセージ201を受け取る。
図10(d)において、無線アドホック端末101−gは、無線アドホック端末101−a、101−e、101−dから存在通知メッセージ201を受け取る。
ここで、図5の詳細を説明するにあたり、無線アドホック端末101−aを例にする。図5は、無線アドホック端末101−aから隣接端末である無線アドホック端末101−b、101−c、101−d、101−e、101−f、101−gに対して送信される存在通知メッセージ201を示している。
すなわち、同図において、存在通知メッセージ201は、上述したように、送信元端末の識別子201aと、送信元端末の位置情報201bと、ライフタイム201cと、応答要求フラグ201dと、隣接無線アドホック端末のリストの識別子の各フィールド201e、201g、201i、201k、201m、201oと、隣接無線アドホック端末のリストの位置情報の各フィールド201f、201h、201j、201l、201n、201pとを有する。
送信元端末の識別子201aには、無線アドホック端末101−aの識別子が、ライフタイム201cには、このメッセージの寿命を示す所定時間が、応答要求フラグ201dには、応答が不要であることを示す「NO_ACK」が、隣接無線アドホック端末のリストフィールド201e、201g、201i、201k、201m、201oには、無線アドホック端末101−aから見た隣接端末である、無線アドホック端末101−b〜gの各識別子が、そして隣接無線アドホック端末のリストフィールド201f、201h、201j、201l、201n、201pには、無線アドホック端末101−aから見た隣接端末である、無線アドホック端末101−b〜gの位置情報がそれぞれ埋め込まれる。
自端末の位置情報は、図2に示す位置情報記録部26を用いる。また、隣接無線アドホック端末のリストは、順次、周囲の隣接端末からの存在通知メッセージ201を受け取るとともに埋まっていく。図5では無線アドホック端末がある程度周囲の隣接端末から存在通知メッセージ201を受け取り終えた状態を示している。
なお、存在通知メッセージ201として自端末のみの状態(「生き死に」)を通知する観点にたてば、隣接無線アドホック端末のリスト情報201e〜201pは必須要件ではない。ただし、隣接無線アドホック端末のリスト情報は、後述する共通隣接端末テーブル300を作成する際に必要となる情報であり、存在通知メッセージ201に併せて送信することが、トラフィックの増加を抑制する観点において効果的である。
図10の動作シーケンスに戻って、「生存情報」を受け取った側の動作として、無線アドホック端末101−d、101−a、101−g、101−eでは、相互に通知された存在通知メッセージ201に含まれる隣接無線アドホック端末の情報に基づいて図3に示す隣接端末リスト250が作成あるいは更新されるとともに(ステップS506、S510、S514、S707)、さらに自端末における隣接端末リスト250の情報に基づいて図4に示す共通隣接端末テーブル300が作成あるいは更新される(ステップS507、S511、S515、S708)。
ここで、隣接端末リスト250及び共通隣接端末テーブル300の作成あるいは更新について、図11を用いて説明する。図11は、この発明の実施の形態1に係る無線アドホック端末のメッセージ処理部の隣接端末リストと共通隣接端末テーブルの作成及び更新動作を示すフローチャートである。
無線アドホック端末のメッセージ処理部12は、隣接端末から存在通知メッセージ201を受け取ると(ステップ1100)、まず隣接端末リスト250に空き(NULL)があるかの確認を行う(ステップ1101)。空きがある場合、存在通知メッセージ201を送ってきた端末が既に隣接端末リスト250にあるかの確認を行う(ステップ1102)。ある場合は、渡されてきた共通隣接端末情報が共通隣接端末テーブル300と一致するか確認を行い(ステップ1105)、もし一致すれば何も処理をしない(ステップ1199)。
ステップ1105に戻り、共通隣接端末テーブル300と一致しなかった場合は、渡されてきた共通隣接端末情報を共通隣接端末テーブル300に追加して更新して(ステップ1106)、終了する(ステップ1199)。
ステップ1102に戻り、存在通知メッセージ201を送ってきた端末が隣接端末リスト250に存在しない場合は、送られてきた隣接端末の識別子を隣接端末リスト250の空いている箇所に代入し(ステップ1103)、また、渡されてきた共通隣接端末情報を共通隣接端末テーブル300に代入して(ステップ1106)、終了する(ステップ1199)。
ステップ1101に戻り、隣接端末リスト250に空きが無い場合は、存在通知メッセージ201を送ってきた隣接端末の位置情報を隣接端末リスト250と比較参照し、最も通信の可能性が低い端末と入れ替える(ステップ1104)。場合によっては、存在通知メッセージ201を送ってきた隣接端末自体が最も通信の可能性が低い場合もあり、隣接端末リスト250に入れ替えがあったか否かを判断し(ステップ1107)、入れ替えがあった場合には、渡されてきた共通隣接端末情報を共通隣接端末テーブル300に代入して(ステップ1106)終了(1199)し、入れ替えが無かった場合にはそのまま終了する(1199)。
自端末と隣接端末との通信の可能性の高さの判定方法であるが、まず、位置情報から計算される端末間の距離で判定を行ってもよいし、また存在通知メッセージ201を受け取った際の電波強度も含めて判定を行ってもよいし、さらに近隣の端末が多い端末を優先するように判定を行ってもよい。
なお、図3に示す隣接端末リスト250は、無線アドホック端末101−dの隣接端末リスト保持部14に保持される隣接端末リストの一例を示すものであり、図1に示したアドホック・ネットワーク・システムの構成に従って、上述したように、無線アドホック端末101−a、101−c、101−e、101−h及び101−iの各識別子(251a〜251e)及び位置情報(252a〜252e)が保持される。なお、位置情報は、ここでは一例として、座標軸の情報を記入している。
また、図4に示す共通隣接端末テーブル300は、無線アドホック端末101−dの共通隣接端末テーブル保持部16に保持される共通隣接端末テーブルの一例を示すものであり、図1に示したアドホック・ネットワーク・システムの構成に従って、上述したように、隣接無線アドホック端末の識別子毎の共通隣接無線アドホック端末の識別子及び位置情報が保持される。すなわち、隣接無線アドホック端末101−aのフィールド行310(領域311に無線アドホック端末101−aの情報が入っている)には、無線アドホック端末101−dと無線アドホック端末101−aとの間の共通隣接端末である、無線アドホック端末101−c、101−e、101−h及び101−iの各識別子(312a〜312d)、並びに位置情報(313a〜313d)が保持され、再帰的に故障診断を実施した結果、無線アドホック端末101−dには見えない他の端末(つまり、この共通隣接端末テーブルには出てこない端末)を経由して故障ではないことの確認ができた場合その端末情報が領域314、324、334に、その他の情報が領域315、325、335に保持される。なお、位置情報は、ここでは一例として、座標軸の情報を記入している。
つぎに、図3に示すような隣接端末リスト250と、図4に示すような共通隣接端末テーブル300が保持された無線アドホック端末101−dにおいて、故障の可能性のある端末(以下「故障可能性端末」という)の検出が行われる処理について図12、図13、図14、図15を用いて説明する。
ここで、故障可能性端末の検出は、上述の存在通知メッセージ201を受領できたか否かに基づいて行われるほか、例えば自端末と検出対象の端末との間の無線インターフェースに関する情報に基づいて無線リンク切断の可能性ある端末を故障可能性端末として検出してもよい。なお、以下の動作シーケンスでは、故障可能性端末の検出を含む故障診断を、ここで示した存在通知メッセージ201や下記に示す他のメッセージの授受に基づいて行う場合を、その一例として説明するが、これらのメッセージの授受以外にも、ここで例示した無線インターフェースに関する情報などに基づいて行ってもよい。
故障の可能性がある端末が検出され、故障診断を実施したら存在通知メッセージ201が返ってきた場合について、図12を参照して説明する。
図12は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの動作シーケンスを示す図である。
この図12は、図9と同じ無線アドホック端末101−d、101−a、101−g、101−e、101−yで構成され、図11で示すように、無線アドホック端末101−d、101−a、101−g、101−eがそれぞれ隣接端末リスト250の作成/更新、並びに共通隣接端末テーブル300の作成/更新を行った状態において、無線アドホック端末101−dが無線アドホック端末101−aに対して故障の可能性を検出し、故障診断を行って見た結果、存在通知メッセージ201が返ってきたので故障ではないと判明した場合の動作シーケンスを示す。
その前に、無線アドホック端末101−dは、上述したような設定(図10)としているため、本来ならば、無線アドホック端末101−a(S504)と無線アドホック端末101−e(S505)から定期的な存在通知メッセージ201(SQ604、SQ605)だけを受け取り、無線アドホック端末101−g(S701)からの存在通知メッセージ201(SQ801)は受け取れない状態である。つまり、無線アドホック端末101−eからの存在通知メッセージ201が受領できた場合には(ステップS516、シーケンスSQ610)、無線アドホック端末101−eの故障可能性が否定される。
このような設定の元、図12に示すように、無線アドホック端末101−dが、無線アドホック端末101−eが行った存在通知メッセージ201の送信は受け取るが(S516、SQ610)、無線アドホック端末101−aからの存在通知メッセージ201を所定のライフタイム以内に受領できない場合(S710、SQ611)、無線アドホック端末101−aが故障可能性端末として検出され(S517)、メッセージ処理部12により、図6に示す故障診断メッセージ203が生成され、無線アドホック端末101−dから無線アドホック端末101−aに対して送信される(S518、SQ612)。
なお、無線アドホック端末101−dは、無線アドホック端末101−gからの存在通知メッセージ201は受け取れない(S709、SQ807)状況を今回設定しているため、無線アドホック端末101−gを故障可能性端末とは認識しない。無線アドホック端末101−dから無線アドホック端末101−aに対して送信される故障診断メッセージ203は、第1の故障診断として行われるものであり、後述する第2の故障診断の際に送信される故障診断メッセージ203と区別するために、便宜上、第1の故障診断メッセージと呼称する。
ここで、第1の故障診断メッセージが無線アドホック端末101−aによって受信された場合には、無線アドホック端末101−aから無線アドホック端末101−dに対して図5で示す存在通知メッセージ201が送信される(S519、SQ613)。この存在通知メッセージ201によって、無線アドホック端末101−aの故障可能性は否定される。
一方、例えば無線アドホック端末101−aが第1の故障診断メッセージを受信できない場合や、例えば無線リンクの不具合により無線アドホック端末101−aからの存在通知メッセージ201が無線アドホック端末101−dによって受信されない場合について、図13を参照して説明する。
図13は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの動作シーケンスを示す図である。
この図13は、無線アドホック端末101−dが無線アドホック端末101−aに対して故障の可能性を検出し、故障診断を行ったところまでは、図12と一緒であるが、故障診断に対して返事がないため、無線アドホック端末101−eに対して故障診断を依頼し、その結果、無線アドホック端末101−aから返事があった場合と、無かった場合の動作シーケンスを示す。
図13は、無線アドホック端末101−dが第1の故障診断メッセージを送信する動作(S518、SQ612)まで、上述の図12と同じである。これに対し、無線アドホック端末101−aから存在通知メッセージ201が帰ってこなかった場合(S711、SQ614)には、第1の故障診断を行った無線アドホック端末101−dは、隣接端末選択部18により、共通隣接端末テーブル300を参照し、位置情報から最も通信の可能性が高い共通隣接端末の一つである無線アドホック端末101−eを選択する。この無線アドホック端末101−eに対して、無線アドホック端末101−dは、図7に示す故障診断依頼メッセージ205を送信する(ステップS520、シーケンスSQ615)。
なお、この時、経由テーブル314が存在する場合(つまり、無線アドホック端末101−dが過去にも無線アドホック端末101−aの故障診断を実施したことがあり、その際他の隣接する端末に対し、依頼した結果、後述する再帰的に故障診断を依頼する手法をとった結果、無線アドホック端末101−dには直接見えない(つまり、無線アドホック端末101−aの共通隣接端末テーブル300には載っていない)無線アドホック端末(後述する本例だと101−g)を介して非故障診断結果を受けたことがある場合)、この経由テーブルにある端末に対して故障診断依頼メッセージ205を送信すればよい。
また、その際、その他の情報205dにその先で再帰的に故障診断を依頼すべき端末名(つまり無線アドホック端末101−dには見えないけど、故障の疑いがある無線アドホック端末101−aと通信することができるこの場合は無線アドホック端末101−g)を代入してもよい。当然、受取り側はその他の情報を確認し、何か入っていれば(自身が故障と疑わしき端末に対して故障診断を行わずに)再帰的に故障診断をその先の端末へ依頼することが可能となり、効率的に故障の確認を行うことができる。
経由テーブルが無く、位置情報から最も通信の可能性が高い端末を選択し、その端末に対し故障診断依頼メッセージ205を送った場合に話を戻す。
故障診断依頼メッセージ205を受信した無線アドホック端末101−eは、第2の故障診断を行う端末として、無線アドホック端末101−aに対して図6に示す故障診断メッセージ203(第1の故障診断の際に出力される故障診断メッセージと区別するため、便宜上第2の故障診断メッセージと呼称)を送信する(ステップS521、シーケンスSQ616)。
ここで、第2の故障診断メッセージが無線アドホック端末101−aによって受信された場合には、無線アドホック端末101−aから無線アドホック端末101−eに対して図5に示した存在通知メッセージ201が送信され(ステップS522、シーケンスSQ617)、無線アドホック端末101−eは、無線アドホック端末101−aからの存在通知メッセージ201に基づいて無線アドホック端末101−aを非故障と診断し、診断結果(非故障)を図8に示す診断結果メッセージ207に埋め込んで無線アドホック端末101−dに送信する(ステップS523、シーケンスSQ618)。なお、第1の故障診断のときと同様に、この存在通知メッセージ201によって、無線アドホック端末101−aの故障可能性は否定される。
一方、無線アドホック端末101−aからの存在通知メッセージ201を無線アドホック端末101−eが所定のライフタイム203b以内に受信できない場合でかつ再帰故障診断指定フラグが指定されていない場合について説明する。
上述の無線アドホック端末101−eが第2の故障診断メッセージを無線アドホック端末101−aに対し送信する(S521、SQ616)まで同じステップを実行後、無線アドホック端末101−aからの存在通知メッセージ201を無線アドホック端末101−eが所定のライフタイム203b以内に受信できない場合には(S712、シーケンスSQ619)、無線アドホック端末101−aを故障と診断し、診断結果(故障)を図8に示す診断結果メッセージ207に埋め込んで、故障診断の依頼元である無線アドホック端末101−dに送信する(ステップS524、シーケンスSQ620)。判定結果(故障)を受信した無線アドホック端末101−dは、マネージャである無線アドホック端末101−yに、無線アドホック端末101−aを故障端末として通知する(ステップS525、シーケンスSQ621)。
また、無線アドホック端末101−aからの存在通知メッセージ201を無線アドホック端末101−eが所定のライフタイム203b以内に受信できない場合でかつ再帰故障診断指定フラグが指定されている場合について、図14を参照しながら説明する。
図14は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの動作シーケンスを示す図である。
この図14は、無線アドホック端末101−eに対して故障診断依頼を出し、応答が無いところまで図13と一緒で、さらに再帰故障診断指定フラグが設定されており、その再帰的に依頼した先から応答が帰ってきた場合の動作シーケンスを示す。
図14は、上述の無線アドホック端末101−eが第2の故障診断メッセージを無線アドホック端末101−aに対し送信するが(S521、SQ616)、無線アドホック端末101−aから存在通知メッセージ201が届かない(S712、SQ619)ところまで同じである。無線アドホック端末101−eの再帰診断確認部22が、無線アドホック端末101−dから受け取った故障診断依頼メッセージ205の中で再帰故障診断指定フラグ205cが設定されているか否かを確認する。設定されていた場合には、第2の故障診断を行った無線アドホック端末101−eは、隣接端末選択部18により、(無線アドホック端末101−eが有する自分自身の)共通隣接端末テーブル300を参照し、位置情報から最も通信の可能性が高い共通隣接端末の一つである無線アドホック端末101−gを選択する。この無線アドホック端末101−gに対して、再帰診断依頼部24は、図7に示す故障診断依頼メッセージ205を発行し、これを送受信部10が送信する(ステップS713、シーケンスSQ808)。
このとき再帰故障診断指定フラグ205cは0にして送信する。また、再帰故障診断指定フラグ205cに数値が代入されており、その回数分だけ、再帰的に故障診断依頼を実施したい場合には、1を減らした値を用いる。本例では、再帰的に故障診断依頼を出すのは一度だけとする。故障診断依頼を受けた無線アドホック端末101−gは、無線アドホック端末101−eと同様に、無線アドホック端末101−aに対し、第2の故障診断メッセージを送信し(S714、SQ809)、無線アドホック端末101−aから存在通知メッセージ201があった場合(S715、SQ810)、無線アドホック端末101−gは、無線アドホック端末101−eに向けて非故障である診断結果メッセージ207を送信する(S716、SQ811)。これを受けた無線アドホック端末101−eは、無線アドホック端末101−dへ同様に非故障である診断結果メッセージ207を送信する(S717、SQ812)。
一方、再帰的に故障診断依頼を受けた無線アドホック端末101−gが(再帰的に)第2の故障診断メッセージを送信したが、無線アドホック端末101−aから応答が無かった場合について、図15を参照して説明する。
図15は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの動作シーケンスを示す図である。
この図15は、図14において、再帰的に依頼した先からも応答がなく、最終的に故障であることが判明した場合の動作シーケンスを示す。
図15は、上述の無線アドホック端末101−eから再帰的に故障診断依頼を受けた無線アドホック端末101−gが(再帰的に)第2の故障診断メッセージを送信する(S714、SQ809)まで同じである。無線アドホック端末101−aからの存在通知メッセージ201を無線アドホック端末101−gが所定のライフタイム203b以内に受信できない場合(S718、SQ813)、無線アドホック端末101−eに対し、故障の診断結果メッセージ207を送信する(S719、SQ814)。もちろん、無線アドホック端末101−gが故障診断の依頼を受けた際、再帰故障診断フラグの数値が0でなければ再帰的に故障の診断を行うが、本例では一度だけ行うように設定しているため、無線アドホック端末101−gは更に再帰的に故障の診断を出さず、故障の診断結果メッセージ207を返す。それを受けた無線アドホック端末101−eも同様に無線アドホック端末101−dに故障の診断結果メッセージ207を送信する(ステップS524、シーケンスSQ620)。判定結果(故障)を受信した無線アドホック端末101−dは、マネージャである無線アドホック端末101−yに、無線アドホック端末101−aを故障端末として通知する(ステップS525、シーケンスSQ621)。
つぎに、上述のシーケンスの中で使用されているメッセージの幾つかについて若干の補足説明を加える。まず、第1、第2の故障診断メッセージのそれぞれは、図5に示した存在通知メッセージ201と同一の、図6に示すフォーマットを使用することができる。ただし、応答要求フラグには、応答が必要であることを示す「ACK_REQUIRED」が付される。また、存在通知メッセージ201と同様に、隣接無線アドホック端末のリスト情報は必須要件ではない。ただし、その時点における最新の情報を伝達することによって、不要なトラフィックの発生が防止されるという効果が得られるので、隣接無線アドホック端末のリスト情報を併せて送信することが好ましい。さらに、第1、第2の故障診断メッセージ及び存在通知メッセージのそれぞれを図5及び図6に示すような共通のフォーマットにすることで、メッセージ生成に関する処理が単純化及び簡素化され、無線アドホック端末のリソースに与える影響を抑制することができる。
また、故障診断依頼元の無線アドホック端末から送信される故障診断依頼メッセージ205は、図7に示すようなフォーマットを使用することができ、同様に、故障診断依頼先の無線アドホック端末から送信される診断結果メッセージ207は、図8に示すようなフォーマットを使用することができる。なお、図7に示すフォーマットと図8に示すフォーマットとは同一であり、送信元端末の識別子205a及び207a、故障診断対象端末の識別子205b及び207b、再帰故障診断指定フラグ205c及び207c、並びにその他の情報205d及び207dによって構成される。再帰故障診断指定フラグ205cは、故障診断を再帰的に行うことを指定するのに使われ(この場合やる“数値1”か、やらない“数値0”)、回数を指定する使い方も可能である(やらない“数値0”、N回やる“数値N”)。一方の再帰故障診断指定フラグ207cは、どこまで再帰的に故障診断を実施したかの結果を代入するのに使われる。
第2の故障診断メッセージを一番最初に呼び起こした端末は、自分の手元に帰ってきた診断結果メッセージ207の中の再帰故障診断指定フラグ207cを参照することにより、どの深さまで再帰的に故障診断を行ったのかがわかる。また、図8に示すその他の情報207dは、図7に示す故障診断依頼メッセージ205における「その他の情報205d」のフィールドに診断結果を、埋め込むようにすればよい。
なお、上述のステップS523(シーケンスSQ618)及びステップS524(シーケンスSQ620)の処理では、故障診断依頼先の無線アドホック端末101−eが、故障診断依頼元の無線アドホック端末101−dに故障診断結果を送信するようにしているが、必ずしも故障診断結果を送信する必要はなく、故障診断依頼元の無線アドホック端末101−dが一定時間以内に受信できない場合に故障と判定するようにしてもよい。このような処理にすれば、アドホック・ネットワーク・システム内のトラフィックを制限することができる。また、再帰的に故障の診断を依頼するような場合にも同様に、一定時間内に受信できない場合、故障と判定するようにしてもよい。
また、上述の中で、故障診断依頼を受け付けた場合の処理について、図16を参照して補足説明する。
図16は、この発明の実施の形態1に係る無線アドホック端末が他の端末から故障診断依頼を受け取った場合の動作を示すフローチャートである。
まず、故障診断依頼(ステップ1200)を受けた無線アドホック端末は、他の無線アドホック端末から依頼を受けているのだが、まずは自分自身から故障の可能性がある故障診断対象端末に対して「第2の故障診断メッセージ」を送り、確認を行う(ステップ1201)。その結果(ステップ1202)、応答があった場合は、非故障の診断結果を返す(ステップ1203)。
一方、応答が無かった場合には、再帰故障診断指定フラグを確認し、再帰的に故障診断の指示を出すか出さないかを判断する(ステップ1204)。再帰故障診断指定フラグが0であった場合は、故障の診断結果を送信元の端末に返す(ステップ1205)。
再帰故障診断指定フラグが指定されていた、もしくは0以上の数値が入っていて場合には、共通隣接端末テーブル300を参照し、最適な端末の選択を行い(選択の判断には、一緒に格納されている位置情報を元に行う)、故障診断依頼を再帰的に送信する。この際、再帰故障診断指定フラグは0にするか、もしくは0以外の数値が入っていた場合には、1を減算した値を故障診断依頼メッセージ205に用いる(ステップ1206)。その結果(ステップ1207)、応答があった場合は、故障ではなかったと送信元に返し(ステップ1208)、応答が無かった、もしくは故障との通知であった場合には、故障であったと送信元へ返す(ステップ1209)。
なお、上記の説明では、アドホック・ネットワーク・システムの構成要素が、無線アドホック端末の場合を一例として説明したが、無線アドホック端末が、センサ・端末や無線デバイスであってもよい。
以上のように、この実施の形態1では、アドホック・ネットワーク・システムを構成する無線アドホック端末が、SNMPに基づく管理方式に加えて、各無線アドホック端末が自律的に隣接無線アドホック端末の故障検出を行うようにしているので、故障等によりシステムから離脱した無線アドホック端末をマネージャからの問い合わせ周期に依存することなく迅速に検出することができる。
さらに、故障したかの確認を隣接している端末に依頼する際、位置情報を用いることで最も通信の可能性の高い端末からアクセスすることができるため、効率的に故障・非故障の判定が行える。また、経由テーブルが存在する場合これを参照することで、いちいち経由途中の端末が無駄な故障確認をせずに通信が可能な端末に故障検出を依頼することが可能となる。
図17は、この発明の実施の形態1に係るアドホック・ネットワーク・システムの別の構成を示す図である。
この図17は、複数のサブ・アドホック・ネットワーク・システムから構成されるアドホック・ネットワーク・システムの構成を示す。
図1では、単一のアドホック・ネットワーク・システムを一例として説明したが、例えば、複数のサブ・アドホック・ネットワーク・システム901〜905によって構成された図17に示すようなアドホック・ネットワーク・システム900に適用することもできる。同図において、例えばサブ・アドホック・ネットワーク・システム901では、サブ・マネージャ911が図1における無線アドホック端末101−yとして機能し、サブ・アドホック・ネットワーク・システム901を管理している。その他のサブ・アドホック・ネットワーク・システム902〜905においても同様であり、これらのサブ・アドホック・ネットワーク・システム901〜905を管理するサブ・マネージャ911〜915からの管理情報がマネージャ910に伝達されることにより、アドホック・ネットワーク・システム900全体の管理が可能となる。
10 送受信部、12 メッセージ処理部、14 隣接端末リスト保持部、16 共通隣接端末テーブル保持部、18 隣接端末選択部、22 再帰診断確認部、24 再帰診断依頼部、26 位置情報記録部、101 無線アドホック端末、102 無線リンク、900 アドホック・ネットワーク・システム、901 サブ・アドホック・ネットワーク・システム、910 マネージャ、911 サブ・マネージャ。