(57)【要約】【課題】中継ノードのバッテリ残量が少ないことによるメッセージの再送信の失敗を防止する無線通信装置を提供する。【解決手段】本発明に係る無線通信装置は、ＯＬＳＲに従って動作する複数の無線通信装置から構成される無線ネットワークにおいて、他の無線通信装置の中から選択した中継ノードを介してメッセージを再送信することにより、ネットワーク全体に一斉送信する無線通信装置であって、前記無線通信装置それぞれは、この無線通信装置の電池残量を示す値を取得する取得手段と、取得した電池残量に基づいて、メッセージを積極的に再送信する度合いを示す積極度を算出して、メッセージに対して設定する積極度設定手段と、設定された積極度を含むメッセージを他の無線通信装置に対して送信する送信手段と、他の無線通信装置から受信したメッセージに含まれる積極度に基づいて、他の無線通信装置の中から、中継ノードを選択する選択手段とを有する。【選択図】図３
2012049803.tif 000002
【特許請求の範囲】
【請求項１】
ＯＬＳＲ（Optimized Link State Routing Protocol）に従って動作する複数の無線通信装置から構成される無線ネットワークにおいて、他の無線通信装置の中から選択した中継ノードを介してメッセージを再送信することにより、前記無線ネットワーク全体にメッセージを一斉送信する前記無線通信装置であって、
前記無線通信装置それぞれは、
この無線通信装置の電池残量を示す値を取得する電池残量取得手段と、
前記取得した電池残量を示す値に基づいて、メッセージを積極的に再送信する度合いを示す積極度を算出して、メッセージに対して設定する積極度設定手段と、
前記設定された積極度を含むメッセージを、他の無線通信装置に対して送信するメッセージ送信手段と、
他の無線通信装置から、前記他の無線通信装置の積極度を含むメッセージを受信し、前記受信したメッセージに含まれる積極度に基づいて、他の無線通信装置の中から、前記中継ノードを選択する中継ノード選択手段と
を有する無線通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信装置に関する。
【背景技術】
【０００２】
例えば、非特許文献１は、アドホックネットワークのルーティングプロトコルの１つであるＯＬＳＲ（Optimized Link State Routing Protocol）の仕様を開示する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】T.Clausen他, “Optimized Link State Routing Protocol”, ２００３年１０月, The Internet Society, ［２０１０年５月３１日検索］, Internet URL http://www.ietf.org/rfc/rfc3626.txt
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＯＬＳＲプロトコルに従って動作する複数の無線通信装置から構成される無線ネットワークにおいて、無線通信装置それぞれは、隣接する無線通信装置からメッセージを受信する。
また、無線通信装置それぞれは、受信したメッセージに含まれる情報に基づいて、隣接する無線通信装置の中から、メッセージを再送信する中継ノードを選択し、選択した中継ノードを介して、無線ネットワーク全体に、メッセージを一斉送信する。
ここで、送信されるメッセージに含まれる情報は、例えば、メッセージを積極的に再送信する度合いである積極度を示す。
しかしながら、積極度に基づいて選択された中継ノードのバッテリ（電池）残量が少ない場合、中継ノードとして選択された無線通信装置が中継ノードとして機能せず、メッセージが期待通りに再送信されない場合がある。
【０００５】
本発明は、上述のような背景からなされたものであり、無線通信装置のバッテリ残量に基づいてメッセージ再送信の積極度を設定し、中継ノードのバッテリ残量が少ないことによるメッセージの再送信の失敗を防止するよう改良された無線通信装置を提供する。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る無線通信装置（２）は、ＯＬＳＲ（Optimized Link State Routing Protocol）に従って動作する複数の無線通信装置から構成される無線ネットワーク（１）において、他の無線通信装置の中から選択した中継ノードを介してメッセージを再送信することにより、前記無線ネットワーク全体にメッセージを一斉送信する前記無線通信装置であって、前記無線通信装置それぞれは、この無線通信装置の電池残量を示す値を取得する電池残量取得手段（２００）と、前記取得した電池残量を示す値に基づいて、メッセージを積極的に再送信する度合いを示す積極度を算出して、メッセージに対して設定する積極度設定手段（２０２）と、前記設定された積極度を含むメッセージを、他の無線通信装置に対して送信するメッセージ送信手段（２０４）と、他の無線通信装置から、前記他の無線通信装置の積極度を含むメッセージを受信し、前記受信したメッセージに含まれる積極度に基づいて、他の無線通信装置の中から、前記中継ノードを選択する中継ノード選択手段（２１４）とを有する。
なお、ここで付された符号は、本願発明の理解を助けることを意図するものであり、本願発明の技術的範囲を限定することを意図するものではない。
【発明の効果】
【０００７】
本発明に係る無線通信装置によれば、中継ノードのバッテリ残量が少ないことによるメッセージの再送信の失敗を防止することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係る無線通信装置から構成される無線ネットワークを例示する図である。
【図２】（Ａ）は、ＯＬＳＲで使用されるＨｅｌｌｏメッセージのフォーマットを例示する図であり、（Ｂ）は、（Ａ）に示したＨｅｌｌｏメッセージフォーマットのWillingnessに設定される定数名と、対応する値とを例示する図である。
【図３】図１に示した無線通信装置上で実行される無線通信プログラムの構成を例示する図である。
【図４】図３に示した積極度設定部のWillingness設定処理を例示するフローチャートである。
【図５】（Ａ）は、図３に示した積極度設定部のWillingness設定処理の変形例を示すフローチャートであり、（Ｂ）は、現在のバッテリレベルと、前回のバッテリレベルの値とに基づいて算出されるWillingnessに対する加算値および減算値を例示する図である。
【図６】図３に示した選択可否設定部の選択可否情報設定処理を例示するフローチャートである。
【図７】図１に示した無線ネットワークにおける無線通信装置の動作例を示すシーケンス図である。
【発明を実施するための形態】
【０００９】
［無線ネットワーク１］
図１は、本発明の実現に用いられる無線通信装置２−１〜２−１０を有するアドホックな無線ネットワーク１の構成を例示する図である。
図１に示すように、無線ネットワーク１は、無線通信装置２−１〜２−１０と、隣接する無線通信装置間をアドホックに接続する無線通信リンク１２０とから構成される。
また、無線ネットワーク１は、ユニキャストのプロアクティブ型（通信要求が発生する前から、予め通信経路を確立する）ルーティングプロトコル（例えば、ＯＬＳＲ）に従って動作する。
無線通信装置２−１〜２−１０それぞれは、隣接する無線通信装置の中から、メッセージを再送信する中継ノードを選択し、選択した中継ノードを介して、無線ネットワーク１全体に、メッセージを一斉送信する。
なお、以下、「無線通信装置」を、「ノード」と記述することがある。
【００１０】
また、図１においては、説明の明確化・具体化のために、無線ネットワーク１が、１０台の無線通信装置２−１〜２−１０から構成される場合を具体例としているが、無線通信装置の数は、これに限定されるものではない。
また、例えば、無線通信装置２−１と無線通信装置２−３、および、無線通信装置２−１と無線通信装置２−４が、無線通信リンク１２０により接続されているが、図１に示すような接続状態に限定されるものではない。
また、以下、無線通信装置２−１〜２−１０など、複数ある構成部分のいずれかを示すときは、単に、無線通信装置２と記載することがある。
以下、各図において、実質的に同じ構成部分・処理には、同じ符号が付される。
【００１１】
［ＯＬＳＲプロトコル］
以下、図１に示した無線ネットワーク１の経路構築を制御するＯＬＳＲプロトコルの概要を説明する。
ＯＬＳＲプロトコルは、通信に先立って、各ノードがＨｅｌｌｏメッセージまたはＴＣ（Topology Control）メッセージなどの経路制御メッセージを送受信することによって、通信前に通信経路（リンク）を構築する。
このように、ＯＬＳＲプロトコルに準拠したアドホックネットワークにおいては、経路が通信を行なう前に確定されているため、いつでも直ちに通信を開始することができる。
【００１２】
ここで、Ｈｅｌｌｏメッセージとは、各ノードの持つ情報の配信を目的として、定期的（例えば２秒ごと）に送信される経路制御メッセージ（制御信号）である。
このＨｅｌｌｏメッセージは、各ノードから、通信可能な全ての他のノードに対して一斉に送信（フラッディング）される。
ノードは、このＨｅｌｌｏメッセージを他のノードから受信することによって、自身の周辺情報の収集を行って他のノードとの論理接続を構築し、複数の他のノードの中からＭＰＲ（Multipoint Relay）と呼ばれる中継ノードを決定する。
このＭＰＲの決定により、経路制御メッセージのフラッディングが効率的に行われるようになる。
なお、Ｈｅｌｌｏメッセージには、自己のノードのリンク情報や、ＭＰＲとして選択された隣接ノードの集合（ＭＰＲ集合）、および、自己のノードをＭＰＲとして選択しているノードの集合（ＭＰＲセレクタ集合）などが含まれる。
【００１３】
また、ＴＣメッセージとは、ＭＰＲとして選択された中継ノードが定期的に送信する経路制御メッセージであり、このＴＣメッセージを送信した中継ノードと、この中継ノードをＭＰＲとして選択しているノードの集合（ＭＰＲセレクタ集合）とのリンクに関する情報（トポロジ情報）を含む。
ＴＣメッセージを受信した各ノードは、トポロジ情報に基づいて任意のノード間の経路を計算し、計算結果に基づいて経路表を作成する。
これらの経路制御メッセージによって、各ノードは、アドホックネットワークを構築した無線ネットワーク１内の全てのノードと通信を行うことができる。
【００１４】
図２（Ａ）は、Ｈｅｌｌｏメッセージのフォーマットを例示する図である。
図２（Ａ）に示すように、Ｈｅｌｌｏメッセージのフォーマットは、Htime、Willingness、Link Code、および、Neighbor Interface Addressなどのフィールドを含む。
Htimeは、Ｈｅｌｌｏメッセージの送信時間間隔を格納する。
【００１５】
図２（Ｂ）は、Willingnessに設定される定数名と、定数名に対応する値とを例示する図である。
Willingnessには、メッセージを積極的に再送信する度合いを示す積極度が設定される。
つまり、Willingnessに設定された積極度を示す値が高いほど、そのノードは、メッセージを再送信する中継ノードであるＭＰＲとして選択されやすくなる。
例えば、Willingnessが、図２（Ｂ）に示す「ＷＩＬＬ＿ＮＥＶＥＲ」（つまり、値が“０”）の場合、そのノードがＭＰＲとして選択されることはない。
一方、Willingnessが、「ＷＩＬＬ＿ＡＬＷＡＹＳ」（つまり、値が“７”）の場合、そのノードは、常にＭＰＲとして選択される。
【００１６】
Link Codeには、隣接ノードとのリンク状態を示すLink TypeとNeighbor Typeが設定される。
Link Typeは、リンク状態が不明であることを示す「ＵＮＳＰＥＣ＿ＬＩＮＫ」タイプ、片方向（非対称）リンクを示す「ＡＳＹＭ＿ＬＩＮＫ」タイプ、双方向（対称）リンクを示す「ＳＹＭ＿ＬＩＮＫ」、および、切断されたリンクを示す「ＬＯＳＴ＿ＬＩＮＫ」のいずれかを示す。
ここで、片方向リンクは、隣接ノードからＨｅｌｌｏメッセージを受信したことを示し、双方向リンクは、隣接ノードからＨｅｌｌｏメッセージを受信するとともに、受信したＨｅｌｌｏメッセージの隣接ノード情報に、自己のノード情報が含まれていることを示す。
【００１７】
Neighbor Typeは、双方向リンクを確立しているが、発信元ノードが自己のノードをＭＰＲに選択していないことを示す「ＳＹＭ＿ＮＥＩＧＨ」タイプ、双方向リンクを確立しているとともに、発信元ノードが自己のノードをＭＰＲに選択していることを示す「ＭＰＲ＿ＮＥＩＧＨ」タイプ、および、双方向リンクを確立していないことを示す「ＮＯＴ＿ＮＥＩＧＨ」タイプのいずれかを示す。
Neighbor Interface Addressには、Link Codeに設定されたリンク状態に対応する隣接ノードのアドレスが設定される。
【００１８】
［ハードウェア構成］
以下、無線通信装置２のハードウェア構成を説明する。
図１に示すように、無線通信装置２は、ＣＰＵ１０２、ＲＯＭ及びＲＡＭなどを含むメモリ１０４及びこれらの周辺回路などから構成される本体１００、表示装置、キーボードなどを含む入出力装置１０６、無線通信リンク１２０と本体１００との間で情報を送受信する無線インターフェース（ＩＦ）部１１０、ＨＤ，ＣＤ，ＤＶＤなどの記憶媒体１１４に対してデータの書き込みおよび読み出しを行う記録装置１１２から構成される。
つまり、無線通信装置２は、要求される機能を実現するための構成部分を有し、他の無線通信装置２と通信可能な無線通信装置としての構成部分を有している。
【００１９】
［無線通信プログラム２０］
図３は、無線通信装置２（図１）上で実行される無線通信プログラム２０の構成を例示する図である。
図３に示すように、無線通信プログラム２０は、バッテリ残量取得部２００、積極度設定部２０２、Ｈｅｌｌｏメッセージ送信部２０４、選択可否設定部２０６、選択可否情報記憶部２０８、Ｈｅｌｌｏメッセージ受信部２１０、選択可否情報取得部２１２、ＭＰＲ選択部２１４、ＴＣメッセージ受信部２１６、ＭＰＲ判定部２１８、および、ＴＣメッセージ送信部２２０から構成される。
無線通信プログラム２０は、例えば、メモリ１０４（図１）に記憶されて各無線通信装置２に供給され、ＣＰＵ１０２で実行される。
無線通信プログラム２０は、自己のバッテリ（電池）残量を示す値（例えば、バッテリのＡ／Ｄ（Analog/Digital）変換値）に基づいて、Willingnessを設定する。
【００２０】
バッテリ残量取得部２００は、定期的に、自己の無線通信装置２のバッテリ残量値を取得し、積極度設定部２０２に対して出力する。
積極度設定部２０２は、バッテリ残量取得部２００から入力されたバッテリ残量値に基づいて、Willingnessを設定する（図４，図５を参照して後述）。
また、積極度設定部２０２は、設定されたWillingnessを含むＨｅｌｌｏメッセージを、メッセージ送信部２０４に対して出力する。
【００２１】
Ｈｅｌｌｏメッセージ送信部２０４は、積極度設定部２０２およびＭＰＲ選択部２１４から入力された情報を含むＨｅｌｌｏメッセージを、ＯＬＳＲに従って、他の無線通信装置２に対して定期的に送信する。
選択可否設定部２０６は、無線通信装置２の操作者からの操作に基づいて、ＭＰＲとして選択されることを許可するか否かを示す選択可否情報を設定し、選択可否情報記憶部２０８に対して出力する（図６を参照して後述）。
選択可否情報記憶部２０８は、選択可否設定部２０６から入力された選択可否情報を、選択可否設定部２０６および他の無線通信装置２の要求に応じて参照可能に記憶する。
【００２２】
Ｈｅｌｌｏメッセージ受信部２１０は、他の無線通信装置２から定期的に送信されるＨｅｌｌｏメッセージを受信して、ＭＰＲ選択部２１４に対して出力する。
選択可否情報取得部２１２は、他の無線通信装置２の選択可否情報記憶部２０８に記憶された選択可否情報を取得して、ＭＰＲ選択部２１４に対して出力する。
ＭＰＲ選択部２１４は、Ｈｅｌｌｏメッセージ受信部２１０から入力されたＨｅｌｌｏメッセージ、および、選択可否情報取得部２１２から入力された選択可否情報に基づいて、双方向リンク状態の複数の他の無線通信装置２の中から、ＭＰＲを選択する。
【００２３】
具体的には、例えば、ＭＰＲ選択部２１４は、まず、選択可否情報取得部２１２から入力された選択可否情報が「選択不可」を示す無線通信装置２を、ＭＰＲの選択候補から除外する。
次に、ＭＰＲ選択部２１４は、ＭＰＲに選択された無線通信装置２を中継することにより、１ホップ先のすべての無線通信装置２にメッセージが送信される状態になるまで、ＨｅｌｌｏメッセージのWillingnessの値が大きい順に、ＭＰＲ選択候補の他の無線通信装置２をＭＰＲとして選択することを繰り返す。
また、ＭＰＲ選択部２１４は、選択したＭＰＲの集合を、Ｈｅｌｌｏメッセージ送信部２０４に対して出力する。
ＴＣメッセージ受信部２１６は、他の無線通信装置２から定期的に送信されるＴＣメッセージを受信して、ＭＰＲ判定部２１８に対して出力する。
【００２４】
ＭＰＲ判定部２１８は、ＴＣメッセージ受信部２１６から入力されたＴＣメッセージの発信元の無線通信装置２が、自己の無線通信装置をＭＰＲとして選択しているか否かを判定する。
具体的には、例えば、ＭＰＲ判定部２１８は、発信元の無線通信装置２から受信したＨｅｌｌｏメッセージのＭＰＲ集合に、自己のノードが含まれているか否かを判断する。
ＭＰＲとして選択されている場合、ＭＰＲ判定部２１８は、ＴＣメッセージ受信部２１６から入力されたＴＣメッセージを、ＴＣメッセージ送信部２２０に対して出力し、それ以外の場合、入力されたＴＣメッセージを破棄する。
ＴＣメッセージ送信部２２０は、ＭＰＲ判定部２１８から入力されたＴＣメッセージを、ＯＬＳＲに従って、他の無線通信装置２に対して出力する。
【００２５】
［積極度設定部２０２の処理］
図４は、積極度設定部２０２（図３）が、ＨｅｌｌｏメッセージのWillingness（図２（Ａ））を設定する処理を例示するフローチャートである。
以下、図４を参照して、積極度設定部２０２のWillingness設定処理をさらに説明する。
ステップ３００（Ｓ３００）において、積極度設定部２０２は、バッテリ残量取得部２００（図３）から入力されたバッテリ残量値を取得する。
【００２６】
ステップ３０２（Ｓ３０２）において、積極度設定部２０２は、Ｓ３００において取得したバッテリ残量値に基づいて、バッテリレベルを算出する。
具体的には、例えば、積極度設定部２０２は、バッテリ残量の割合０％から１００％までが、５つのバッテリレベル１〜５に区分されている場合に、Ｓ３００において取得したバッテリ残量値からバッテリ残量の割合を求め、バッテリレベル１〜５のいずれに属するかを算出する。
なお、本説明においては、バッテリレベルの値が高いほど、バッテリ残量の割合が高いこととする。
また、説明の具体化・明確化のために、図４を参照する本説明においては、バッテリレベルを５つに区分する場合を具体例としているが、バッテリレベルの区分数は、これに限定されるものではなく、任意の区分数に設定することができる。
【００２７】
ステップ３０４（Ｓ３０４）において、積極度設定部２０２は、Ｓ３０２において算出したバッテリレベルが５の場合は、Ｓ３０６の処理に進み、バッテリレベルが４の場合は、Ｓ３０８の処理に進み、バッテリレベルが３の場合は、Ｓ３１０の処理に進み、バッテリレベルが２の場合は、Ｓ３１２の処理に進み、バッテリレベルが１の場合は、Ｓ３１４の処理に進む。
ステップ３０６（Ｓ３０６）において、積極度設定部２０２は、Willingnessの値を７（つまり、「ＷＩＬＬ＿ＡＬＷＡＹＳ」）に設定する。
ステップ３０８（Ｓ３０８）において、積極度設定部２０２は、Willingnessの値を５（つまり、「ＷＩＬＬ＿ＨＩＧＨ」）に設定する。
【００２８】
ステップ３１０（Ｓ３１０）において、積極度設定部２０２は、Willingnessの値を３（つまり、「ＷＩＬＬ＿ＤＥＦＡＵＬＴ」）に設定する。
ステップ３１２（Ｓ３１２）において、積極度設定部２０２は、Willingnessの値を１（つまり、「ＷＩＬＬ＿ＬＯＷ」）に設定する。
ステップ３１４（Ｓ３１４）において、積極度設定部２０２は、Willingnessの値を０（つまり、「ＷＩＬＬ＿ＮＥＶＥＲ」）に設定する。
【００２９】
ステップ３１６（Ｓ３１６）において、積極度設定部２０２は、Ｓ３０６〜Ｓ３１４のいずれかにおいて設定されたWillingnessを含むＨｅｌｌｏメッセージを、メッセージ送信部２０６（図３）に対して出力する。
ステップ３１８（Ｓ３１８）において、積極度設定部２０２は、予め定められた時間（例えば、Ｔ秒）待機した後、Ｓ３００の処理に戻り、同様な処理を繰り返す。
【００３０】
［積極度設定部２０２の処理の変形例］
図５（Ａ）は、積極度設定部２０２（図３）が、ＨｅｌｌｏメッセージのWillingness（図２（Ａ））を設定する処理の変形例を示すフローチャートである。
本変形例において、積極度設定部２０２は、現在のバッテリレベルが、現在のバッテリレベルの１つ前に算出されたバッテリレベルから変化した場合に、変化の内容に応じて、Willingnessを変更する処理を行う。
以下、図５（Ａ）を参照して、積極度設定部２０２のWillingness設定処理の変形例をさらに説明する。
ステップ３４０（Ｓ３４０）において、積極度設定部２０２は、バッテリ残量取得部２００から入力されたバッテリ残量値を取得する。
【００３１】
ステップ３４２（Ｓ３４２）において、積極度設定部２０２は、Ｓ３４０において取得したバッテリ残量値に基づいて、バッテリレベルを算出する。
なお、説明の明確化・具体化のために、図５（Ａ）を参照する本説明においては、バッテリレベルを３つに区分する場合を具体例としているが、バッテリレベルの区分数は、これに限定されるものではなく、任意の区分数に設定することができる。
ステップ３４４（Ｓ３４４）において、積極度設定部２０２は、Ｓ３４２において算出したバッテリレベル（現在のバッテリレベル）の値と、本ステップにおいて算出される１つ前に算出されたバッテリレベル（前回のバッテリレベル）の値とを比較する。
【００３２】
また、積極度設定部２０２は、これらの値を比較した結果、現在のバッテリレベルの値が、前回のバッテリレベルの値よりも大きい場合は、Ｓ３４６の処理に進み、現在のバッテリレベルの値が、前回のバッテリレベルの値よりも小さい場合は、Ｓ３４８の処理に進み、現在のバッテリレベルの値と前回のバッテリレベルの値とが同じである場合は、Ｓ３５０の処理に進む。
ステップ３４６（Ｓ３４６）において、積極度設定部２０２は、現在のバッテリレベルの値と、前回のバッテリレベルの値とに基づいて算出された値を、Willingnessの値に加算する（図５（Ｂ）を参照して詳述）。
【００３３】
ステップ３４８（Ｓ３４８）において、積極度設定部２０２は、現在のバッテリレベルの値と、前回のバッテリレベルの値とに基づいて算出された値を、Willingnessの値から減算する（図５（Ｂ）を参照して詳述）。
ステップ３５０（Ｓ３５０）において、積極度設定部２０２は、現在のWillingnessの値を保持する。
【００３４】
図５（Ｂ）は、現在のバッテリレベルの値と、前回のバッテリレベルの値とに基づいて算出されるWillingnessに対する加算値および減算値を例示する図である。
具体的には、例えば、積極度設定部２０２は、現在のバッテリレベルの値と前回のバッテリレベルの値との差分の絶対値を２倍した値を、Willingnessに加算または減算する。
図５（Ｂ）に示すように、例えば、現在のバッテリレベルの値が３、前回のバッテリレベルの値が２の場合（つまり、Ｓ３４６の処理を行う場合）、これらの値の差分の絶対値を２倍した値である２を、Willingnessに加算する（つまり、「＋２」）。
【００３５】
また、図５（Ｂ）に示すように、例えば、現在のバッテリレベルの値が１、前回のバッテリレベルの値が３の場合（つまり、Ｓ３４８の処理を行う場合）、これらの値の差分の絶対値を２倍した値である４を、Willingnessから減算する（つまり、「−４」）。
なお、説明の具体化・明確化のために、本説明においては、Willingnessに対する加算値および減算値を、現在および前回のバッテリレベルの値の差分の絶対値を２倍した値とする場合を具体例としているが、加算値および減算値の算出方法は、これに限定されるものではなく、別の算出方法を用いてもよい。
【００３６】
ステップ３５２（Ｓ３５２）において、積極度設定部２０２は、Ｓ３４６〜Ｓ３５０のいずれかにおいて設定されたWillingnessを含むＨｅｌｌｏメッセージを、メッセージ送信部２０４（図３）に対して出力する。
ステップ３５４（Ｓ３５４）において、積極度設定部２０２は、予め定められた時間（例えば、Ｔ秒）待機した後、Ｓ３４０の処理に戻り、同様な処理を繰り返す。
【００３７】
［選択可否設定部２０６の処理］
図６は、選択可否設定部２０６（図３）が、選択可否情報を設定する処理を例示するフローチャートである。
以下、図６を参照して、選択可否設定部２０６の選択可否情報設定処理をさらに説明する。
ステップ３６０（Ｓ３６０）において、選択可否設定部２０６は、無線通信装置２を操作する操作者により入出力装置１０６（図１）などから入力された「選択許可」または「選択不許可」の指示を受け入れる。
なお、操作者は、例えば、無線通信装置２のWillingnessの値を参照し、Willingnessの値が低い（つまり、バッテリ残量が少ない）と判断した場合に、無線通信装置２を操作して「選択不許可」を指示し、操作した無線通信装置２を、ＭＰＲとして選択できないようにする。
【００３８】
ステップ３６２（Ｓ３６２）において、選択可否設定部２０６は、選択可否情報記憶部２０８に記憶された選択可否情報を取得する。
ステップ３６４（Ｓ３６４）において、選択可否設定部２０６は、Ｓ３６０において受け入れた操作者からの指示が、「選択許可」を示しているか否かを判断する。
選択可否設定部２０６は、「選択許可」を示している場合、Ｓ３６６の処理に進み、それ以外の場合、Ｓ３６８の処理に進む。
【００３９】
ステップ３６６（Ｓ３６６）において、選択可否設定部２０６は、Ｓ３６２において取得した選択可否情報を、「選択可」に変更して、選択可否情報記憶部２０８（図３）に対して出力し、処理を終了する。
ステップ３６８（Ｓ３６８）において、選択可否設定部２０６は、Ｓ３６２において取得した選択可否情報を、「選択不可」に変更して、選択可否情報記憶部２０８に対して出力し、処理を終了する。
【００４０】
［選択可否設定部２０６の処理の変形例］
以下、選択可否設定部２０６の選択可否情報設定処理の変形例を説明する。
選択可否設定部２０６は、上述のように、操作者からの操作に基づいて選択可否情報の設定を行うのではなく、無線通信装置２のWillingnessの値を参照し、予め定められた閾値（例えば、“３”）以上の場合は「選択可」、それ以外の場合は「選択不可」に設定するようにしてもよい。
なお、選択を許可するか否かのWillingnessの閾値は、各無線通信装置２に対して個別に設定されてもよいし、ＨｅｌｌｏメッセージやＴＣメッセージに付加して、無線ネットワーク１（図１）全体に伝達され、一律に定められるようにしてもよい。
【００４１】
また、選択可否設定部２０６は、選択可否情報を設定せず、「選択不可」に設定する場合は、無線通信装置２のWillingnessの値を０（つまり、「ＷＩＬＬ＿ＮＥＶＥＲ」）に変更するようにしてもよい。
また、選択可否設定部２０６は、上述のように、選択可否情報を、選択可否情報記憶部２０８に対して出力するのではなく、隣接ノードに対して送信されるＨｅｌｌｏメッセージに付加してもよい。
【００４２】
［無線通信装置２の動作例］
図７は、図１に示した無線ネットワーク１における無線通信装置２の動作例を示すシーケンス図である。
以下、図７を参照して、無線通信装置２の動作例をさらに説明する。
なお、本説明において用いられる値や、無線通信装置２の数は、説明の明確化・具体化のための例示であり、これらの値や数に限定されるものではない。
【００４３】
ステップ４００（Ｓ４００）において、それぞれの無線通信装置のバッテリ残量に基づいて、無線通信装置２−２は、Willingnessの値を５に、無線通信装置２−３は、Willingnessの値を４に、無線通信装置２−４は、Willingnessの値を３に、無線通信装置２−５は、Willingnessの値を２に設定する。
また、無線通信装置２−５は、選択可否情報を「選択不可」に設定する。
ステップ４０２（Ｓ４０２）において、無線通信装置２−２〜２−５それぞれは、Ｓ４００において設定したWillingnessの値を含むＨｅｌｌｏメッセージを、無線通信装置２−１に対して出力する。
【００４４】
ステップ４０４（Ｓ４０４）において、無線通信装置２−１は、無線通信装置２−２〜２−５から送信されたＨｅｌｌｏメッセージのWillingnessの値、および、各無線通信装置の選択可否情報に基づいて、無線通信装置２−２および無線通信装置２−３を、ＭＰＲとして選択する。
ステップ４０６（Ｓ４０６）において、無線通信装置２−１は、Ｓ４０４において選択したＭＰＲ集合を含むＨｅｌｌｏメッセージを、無線通信装置２−２〜２−５に対して出力する。
これにより、無線通信装置２−２および無線通信装置２−３は、無線通信装置２−１のＭＰＲとして選択されていることを認識する。
【００４５】
ステップ４０８（Ｓ４０８）において、無線通信装置２−１は、ＴＣメッセージを、無線通信装置２−２〜２−５に対して出力する。
ステップ４１０（Ｓ４１０）において、無線通信装置２−１のＭＰＲである無線通信装置２−２は、Ｓ４０８において無線通信装置２−１から送信されたＴＣメッセージを、隣接する無線通信装置２−６，２−７，２−９（図１）に対して出力する。
ステップ４１２（Ｓ４１２）において、無線通信装置２−１のＭＰＲである無線通信装置２−３は、Ｓ４０８において無線通信装置２−１から送信されたＴＣメッセージを、隣接する無線通信装置２−７，２−８，２−１０（図１）に対して出力する。
【００４６】
ステップ４１４（Ｓ４１４）において、無線通信装置２−４は、無線通信装置２−１のＭＰＲではないので、無線通信装置２−１から送信されたＴＣメッセージを破棄する。
ステップ４１６（Ｓ４１６）において、無線通信装置２−５は、無線通信装置２−１のＭＰＲではないので、無線通信装置２−１から送信されたＴＣメッセージを破棄する。
【符号の説明】
【００４７】
１・・・無線ネットワーク，２・・・無線通信装置，１００・・・本体，１０２・・・ＣＰＵ，１０４・・・メモリ，１０６・・・入出力装置，１１０・・・無線ＩＦ部，１１２・・・記録装置，１１４・・・記憶媒体，１２０・・・無線通信リンク，２００・・・バッテリ残量取得部，２０２・・・積極度設定部，２０４・・・Ｈｅｌｌｏメッセージ送信部，２０６・・・選択可否設定部，２０８・・・選択可否情報記憶部，２１０・・・Ｈｅｌｌｏメッセージ受信部，２１２・・・選択可否情報取得部，２１４・・・ＭＰＲ選択部，２１６・・・ＴＣメッセージ受信部，２１８・・・ＭＰＲ判定部，２２０・・・ＴＣメッセージ送信部
【図１】
2012049803.tif 000003
【図２】
2012049803.tif 000004
【図３】
2012049803.tif 000005
【図４】
2012049803.tif 000006
【図５】
2012049803.tif 000007
【図６】
2012049803.tif 000008
【図７】
2012049803.tif 000009