(58)【調査した分野】(Int.Cl.,DB名)
少なくとも、自身が送信する前記応答パケットが他の前記無線中継装置が送信する前記応答パケットと衝突せずに送信できる所定の成功率を満たす範囲内で、前記前半の応答待ち時間が定まることを特徴とする請求項2に記載の無線通信システム。
前記応答待ち時間算出手段は、スロット単位に分割された前記前半の応答待ち時間及び前記後半の応答待ち時間から、スロット単位で選択して応答待ち時間を算出することを特徴とする請求項2又は3に記載の無線通信システム。
算出した前記応答待ち時間が経過するまでの間に、他の1又は複数の前記無線通信装置から前記隣接探索パケットを受信した場合には、受信した全ての前記隣接探索パケットに対する1つの前記応答パケットとしてまとめて前記ネットワークに向けて送信することを特徴とする請求項2〜5のいずれかに記載の無線通信システム。
前記接続先選択手段は、前記応答パケットの送信元の前記無線中継装置に対応する前記指標値が前記閾値以上の場合には、前記応答パケットの送信元の前記無線中継装置を接続先に選択し、
前記接続先選択手段は、所定の探索期間内に接続先が選択されなかった場合には、前記探索期間内に受信した、前記応答パケットの送信元の前記無線中継装置に対応する前記指標値の中から最も良い値を検索し、最も良い前記指標値を有する前記無線中継装置を接続先に選択する
ことを特徴とする請求項2〜6のいずれかに記載の無線通信システム。
ネットワークへの接続を要求する無線通信装置と、前記ネットワークへの接続要求を中継する複数の無線中継装置とを有する無線通信システムにおける無線中継装置であって、
自身と隣接する前記無線中継装置の通信品質に関する指標値を管理する隣接ノード情報管理手段と、
前記無線通信装置から複数の前記無線中継装置の内、接続先とする前記無線中継装置を探索するための隣接探索パケットを受信すると、自身の前記指標値と隣接する前記無線中継装置の前記指標値とを用いて、前記隣接探索パケットに対する応答パケットを送信するまでの応答待ち時間を算出する応答待ち時間算出手段と、
応答待ち時間算出手段により算出した応答待ち時間経過後、前記応答パケットを前記無線通信装置に送信する応答パケット送信手段とを有し、
前記応答待ち時間算出手段は、自身の前記指標値と閾値とを比較し、その比較した結果に応じて、前記応答待ち時間として取り得る最大期間を2分した期間の内、短い応答待ち時間の範囲である前半の応答待ち時間又は長い応答待ち時間の範囲である後半の応答待ち時間のいずれかを選択し、選択した前記前半の応答待ち時間又は前記後半の応答待ち時間の範囲内で、前記応答待ち時間を算出し、
自身及び隣接する前記各無線中継装置の前記指標値と前記閾値とを比較し、前記閾値以上の通信品質の良い前記無線中継装置の数をカウントし、通信品質の良い前記無線中継装置の数が多い程、前記前半の応答待ち時間を長くし、長くした分だけ前記後半の応答待ち時間を短くし、通信品質の良い前記無線中継装置の数が少ない程、前記前半の応答待ち時間を短くし、短くした分だけ前記後半の応答待ち時間を長くする
ことを特徴とする無線中継装置。
ネットワークへの接続を要求する無線通信装置と、前記ネットワークへの接続要求を中継する複数の無線中継装置とを有する無線通信システムにおける無線中継装置に搭載されるコンピュータを、
自身と隣接する前記無線中継装置の通信品質に関する指標値を管理する隣接ノード情報管理手段と、
前記無線通信装置から複数の前記無線中継装置の内、接続先とする前記無線中継装置を探索するための隣接探索パケットを受信すると、自身の前記指標値と隣接する前記無線中継装置の前記指標値とを用いて、前記隣接探索パケットに対する応答パケットを送信するまでの応答待ち時間を算出する応答待ち時間算出手段と、
応答待ち時間算出手段により算出した応答待ち時間経過後、前記応答パケットを前記無線通信装置に送信する応答パケット送信手段として機能させ、
前記応答待ち時間算出手段は、自身の前記指標値と閾値とを比較し、その比較した結果に応じて、前記応答待ち時間として取り得る最大期間を2分した期間の内、短い応答待ち時間の範囲である前半の応答待ち時間又は長い応答待ち時間の範囲である後半の応答待ち時間のいずれかを選択し、選択した前記前半の応答待ち時間又は前記後半の応答待ち時間の範囲内で、前記応答待ち時間を算出し、
自身及び隣接する前記各無線中継装置の前記指標値と前記閾値とを比較し、前記閾値以上の通信品質の良い前記無線中継装置の数をカウントし、通信品質の良い前記無線中継装置の数が多い程、前記前半の応答待ち時間を長くし、長くした分だけ前記後半の応答待ち時間を短くし、通信品質の良い前記無線中継装置の数が少ない程、前記前半の応答待ち時間を短くし、短くした分だけ前記後半の応答待ち時間を長くする
ことを特徴とする無線中継プログラム。
【背景技術】
【0002】
複数の無線通信装置(以下、「ノード」とも呼ぶ)と、各ノードを管理する管理装置とからなる無線ネットワークシステムでは、各ノードが管理装置と直接通信できない場合、他のノードが直接通信できないノードに代わって通信を中継するマルチホップネットワークの形態を採用することがある。このマルチホップネットワークの形態により、遠距離にあるノードは、管理装置と通信することが可能となる。
【0003】
マルチホップネットワークに新規参加するノード(以下、「参加ノード」とも呼ぶ)は、ネットワークに参加(加入)するとき、自身が管理装置と直接通信できない場合には、ネットワーク参加要求パケットを参加ノードに代わって中継してもらうノード(以下、「親ノード」とも呼ぶ)を、ネットワークに加入済みのノードの中から選択する。このような親ノードを選択するために、参加ノードは、自身の周辺ノード(以下、「隣接ノード」とも呼ぶ)を探索するパケット(以下、「隣接ノード探索パケット」とも呼ぶ)をブロードキャス卜する。当該パケットを受信した隣接ノードは、応答パケットを参加ノードに返信する。このとき、隣接ノードの応答パケットの送信タイミングが他の隣接ノードと重なると、パケットが衝突し、参加ノードは応答パケットを受信できない。そのため、隣接ノードは、衝突を回避するために、隣接ノード探索パケットの受信後にランダム時間だけ待ってから応答パケットを送信する。
【0004】
ところで、最適な親ノードの選択方法には、種々様々な方法が存在すると考えられるが、例えば、受信パケットの受信信号強度(RSSI値)が最も高いノードを選択することが考えられる。参加ノードは、全ての近隣ノードの応答パケットを収集し、その中から親ノードを選択することで、最適な親ノードを決定できる。ただし、参加ノードは、全ての近隣ノードの応答パケットを収集するためには、応答パケットのランダム待ち時間を考慮し、選択され得る最大待ち時間だけ待つ必要がある。ここで、応答パケットは、隣接ノード数が多いほど衝突する確率が高くなるため、衝突確率を一定以下に抑える必要がある。そのため、ランダム待ち時間の最大値は、隣接ノード数が多い場合を考慮して長めに設定されるべきである。
【0005】
以上より、参加ノードは、親ノードを選択するまでに多くの時間を要するため、ネットワーク加入までの時間が長期化することが問題となる。
【0006】
ところで、特許文献1及び2に記載の技術は、マルチホップネットワークにおける、最適な親ノードの選択方法に関する技術である。特許文献1及び2に記載の技術では、参加ノードは、隣接ノードから送信される当該隣接ノードの情報(現在の子ノードの数、管理装置までのホップ数、管理装置までのRTT(Round Trip TiMe)等)を受信し、最適と思われる隣接ノードを親ノードとして選択する。
【0007】
また、特許文献2では、各ノードはネットワーク参加後にも、隣接ノードとの通信履歴から、パケットロス率やSN比(Signal−to−Noise ratio)を算出し、これらの情報から最適な親ノードを動的に変更する。
【発明を実施するための形態】
【0017】
(A)実施形態
以下、本発明に係る無線通信システム、無線中継装置、及び無線中継プログラムの主たる実施形態を、図面を参照しながら詳述する。
【0018】
(A−1)実施形態の構成
(A−1−1)全体構成
図2は、実施形態に係る無線通信システム1の全体構成例を示すブロック図である。
【0019】
まず、無線通信システム1の構成について説明する。
【0020】
無線通信システム1には、無線通信装置10(10−1〜10−n)を管理する管理装置20と、無線通信を行う複数の無線通信装置10が配置されている。無線通信システム1に配置される各装置の数は限定されないものであるが、この実施形態の無線通信システム1では、1個の管理装置20と、複数個の無線通信装置10(10−1〜10−n)が配置されているものとして説明する。
【0021】
また、無線通信システム1では、管理装置20及び無線通信装置10−1〜10−nを含むノードによりマルチホップネットワークが構成されているものとする。以下では、各無線通信装置10のことを、マルチホップネットワークを構成する「ノード」とも呼ぶものとする。また、無線通信システム1のネットワークへ参加しようとするノードを「参加ノード」と呼び、参加ノードの参加要求パケットを管理装置20へ中継するノードを「親ノード」と呼ぶものとする。また、あるノードと直接通信可能な隣接するノードを「隣接ノード」と呼ぶものとする。無線通信システム1内の各装置間(ノード間)の通信方式(通信媒体)については限定されないものであるが、例えば、種々の無線LANインタフェースの通信方式を適用することができる。
【0022】
次に、この実施形態の無線通信システム1の特徴について説明する。
【0023】
この実施形態では、参加ノードに周囲に存在する隣接ノード(親候補ノード)は、パス品質と隣接ノード情報を用いて、応答パケット(参加ノードが送信する隣接探索パケットに対する応答パケット)の送信待ち時間を決定する。「パス品質」とは、自身(無線通信装置10)と管理装置20(基地局)との間の通信品質を示すものであり、例えば、基地局までの経路上のリンク品質値(例えば、RSSI値、パケットロス率を基に算出される値)の和で示される。また、「隣接ノード情報」とは、自身の隣接ノードのアドレスとパス品質(及び基地局までのホップ数を含んでも良い)を含む情報である。隣接ノード情報は、例えば、各ノードによって定期送信される制御パケットから生成される。
【0024】
応答パケットの送信待ち時間は、パス品質が良いと短い待ち時間が設定され、パス品質が悪いと長い待ち時間が設定される。ただし、このように送信待ち時間を設定する場合、パス品質の良い隣接ノード数が多いと応答パケットが衝突する恐れがある。そこで、パス品質の良いノードが選択する送信待ち時間を、さらに隣接ノード情報を用いて決定する。具体的には、応答パケットの衝突を回避するために、パス品質の良い隣接ノード数が多い程、選択され得る送信待ち時間の幅を広くとることとする。
【0025】
参加ノードは、応答パケットの送信元ノード(親候補ノード)のパス品質と、自身と送信元ノードのリンク品質を加算したパス品質が閾値以上である場合に、当該ノードを親ノードに選択する。
【0026】
(A−1−2)無線通信装置の詳細な構成
次に、無線通信装置10の内部構成について説明する。
【0027】
図1は、無線通信装置の機能的構成について示すブロック図である。
図1において、無線通信装置10は、通信部11、処理部12、隣接ノード情報管理部13、応答待ち時間算出部14、及び親ノード選択部15を有する。
【0028】
無線通信装置10は、例えば、プロセッサ及びメモリを有するコンピュータにプログラムをインストールすることにより構築するようにしても良い。また、無線通信装置10は、一部又は全部をハードウェア(例えば、専用の半導体チップや電気回路等)を用いて構成するようにしても良い。
【0029】
この実施形態の無線通信装置10は、参加ノードとしての機能と親候補ノード(無線中継装置)としての機能を有する構成例を示しているが、これに限定されるものでは無く、例えば、無線中継装置としての機能を果たすだけならば、親ノード選択部15を省略しても良い。
【0030】
通信部11は、マルチホップネットワークにアクセスするための通信インタフェースである。例えば、通信部11は、後述する処理部12からパケット送信要求を受けると、パケットを管理装置20又は他の無線通信装置10に送信する手段を有する。また、通信部11は、直接通信相手に送信することができない場合には、他の無線通信装置10を介してパケットを送信する。なお、通信部11は、他の無線通信装置10への中継方法について、種々様々なルーティング方式を適用することができる。例えば、通信部11は、ルーティング方式として、AODV(Ad hoc On−Demand Distance Vector)、RPL(IPv6 Routing Protocol for Low−Power and Lossy Networks)等のルーティング方式を適用することができる。また、通信部11は、パケット受信時にRSSI値を測定する手段を有する。
【0031】
処理部12は、ネットワークに加入前の場合、親ノードの候補となる隣接する無線通信装置10を探索するためのパケット(以下、「隣接探索パケット」とも呼ぶ)を、一定間隔で生成し、通信部11へ当該隣接探索パケット送信を要求する。処理部12は、通信部11から隣接探索パケットに対する応答パケットを受信すると、親選択判断を親ノード選択部15に要求する。処理部12は、親ノード選択部15から選択された親ノードのアドレスを受信すると、親ノードを中継先とした管理装置20宛の参加要求パケットを生成し、通信部11に当該パケットの送信を要求する。
【0032】
一方、処理部12は、ネットワークに加入後の場合、通信部11から隣接探索パケットを受信すると、応答待ち時間算出部14から応答待ち時間を取得する。そして、処理部12は、取得した待ち時間だけ待機した後、応答パケットを生成し、通信部11に応答パケットの送信を要求する。なお、応答パケットには、親ノードを選択するために参照される指標値(この実施形態では、自身のパス品質値と隣接探索パケット受信時のRSSI値)が含まれる。また、処理部12は、通信部11から制御パケットを受信すると、隣接ノード情報の登録を隣接ノード情報管理部13に要求する。
【0033】
親ノード選択部15は、受信した応答パケットから親ノードとなる無線通信装置10を選択する手段を有する。親ノード選択部15は、処理部12から親選択判断の要求を受けると、応答パケットの送信元ノードを親選択するか否か判断する。親ノード選択部15は、判断した結果、親選択されなかった場合には、応答パケットの情報を保存する。ただし、次の隣接探索パケット送信までの間に親選択されなかった場合には、保存されている応答パケットの情報から親選択を行う。親ノード選択部は、親ノードを選択すると、選択した親ノードを処理部12に通知する。
【0034】
隣接ノード情報管理部13は、隣接ノード情報を保持して管理する手段を有する。隣接ノード情報管理部13は、処理部12から隣接ノード情報の登録要求を受信すると、当該パケットから送信元アドレスとパス品質の情報を取り出し、例えば、隣接ノードのアドレスとパス品質を対応付けて管理するテーブルに保持する。隣接ノード情報管理部13は、既に登録済みのノードからの制御パケットであった場合には、テーブルのパス品質を更新する。また、隣接ノード情報管理部13は、一定時間制御パケットを受信しなかったノードについては、ネットワークから離脱したとみなし、テーブルから削除しても良い。
【0035】
応答待ち時間算出部14は、参加ノードの隣接探索パケットに対する応答パケット送信までの待ち時間を算出する手段を有する。応答待ち時間算出部14は、処理部12から応答待ち時間算出の要求を受けると、隣接ノード情報管理部13から隣接ノード情報を取得し、応答待ち時間を算出する。応答待ち時間算出部14は、算出した待ち時間を処理部12に通知する。
【0036】
(A−1−3)管理装置の詳細な構成
次に、管理装置20の内部構成について説明する。
【0037】
図3は、管理装置の機能的構成について示すブロック図である。管理装置20の各構成(親ノード選択部15を除く各構成)も先述の
図1で示した無線通信装置10と同様である。ただし、処理部の内容が異なるので、この異なる点を中心に説明する。
【0038】
管理装置20の処理部22は、無線通信装置10の処理部12の機能に加えて、通信部11から参加ノードの参加要求パケットを受信すると、参加要求パケットに対する応答パケット(参加承認パケット)を生成し、通信部11に当該パケットの送信を要求する手段を有する。
【0039】
(A−2)実施形態の動作
次に、以上のような構成を有する実施形態の無線通信システム1の動作を説明する。
【0040】
以下では、新規の無線通信装置10(参加ノード)が、隣接ノード(ネットワーク加入済みノードの親候補ノード)の中から親となるノード(親ノード)を選択して、マルチホップネットワークに参加するまでの各装置の動作を
図4〜
図6を用いて説明する。参加ノードの動作は、後述するステップS101(
図4)である。また、隣接ノード(親候補ノード)の動作は、後述するステップS102(
図5)及びステップS103(
図6)である。さらに、管理装置20の動作はステップS104である。なお、以下では、参加ノードは、無線通信システム1のネットワークに加入前の無線通信装置10(10−1〜10−n)のいずれかであるものとする。また、隣接ノード(親候補ノード)は、参加ノードによりブロードキャストされたパケットを受信できる範囲内に存在する無線通信システム1のネットワークに加入済の無線通信装置10(10−1〜10−n)のいずれかであるものとする。
【0041】
[ステップS101:参加ノードの動作]
図4は、実施形態に係る無線通信装置(参加ノード)の動作(ネットワーク加入時の動作)を示すフローチャートである。
【0042】
参加ノード(処理部12)は、起動後、隣接ノード(親候補ノード)を探索するため、通信部11を介して、生成した隣接探索パケットをブロードキャストする(S101−1、S101−2)。この際、処理部12は、次の隣接探索パケットを送信するまでの時間(以下、「隣接探索パケット送信間隔」と呼ぶ)だけタイマをセットする。
【0043】
処理部12は、隣接探索パケット送信間隔が経過(セットしたタイマのタイムアウトの通知)されるまで、後述するステップS101−4以降の処理を行い、隣接探索パケット送信間隔が経過されると、後述するステップS101−7の処理を行う(S101−3)。
【0044】
処理部12は、通信部11を介して、いずれかの隣接ノードから応答パケットを受信すると、受信した応答パケットの情報(少なくとも、応答パケットのパス品質値、隣接探索パケット受信時のRSSI値の情報を含む)と、応答パケット受信時のRSSI値を親ノード選択部15に通知する(S101−4)。親ノード選択部15は、応答パケット受信の通知を受けると、親ノード選択の判断をするために、まず、隣接探索パケット受信時のRSSI値と応答パケット受信時のRSSI値とから、自身と送信元ノード(隣接ノード)とのリンク品質値を計算する。リンク品質値は、例えば、2つのRSSI値をリンク品質値に変換し、掛け合わせた値とする。RSSI値からリンク品質値への変換は、RSSI値の範囲に対して1つのリンク品質値を与えることで行う。例えば、RSSI値が−60dBm以上の時は、リンク品質値として最も良い(大きい)値を与え、−60dBm未満かつ−80dBm以上の時は、2番目に良い値を与え、それ以外の場合には、最も悪い(小さい)値を与える等である。次に、親ノード選択部15は、求めたリンク品質値と応答パケットのパス品質値を足し合わせ、自身(参加ノード)から管理装置20までのパス品質値を算出する。
【0045】
そして、親ノード選択部15は、算出したパス品質値と予め設定された閾値とを比較する(S101−5)。親ノード選択部15は、パス品質値が閾値以上の場合には、送信元ノードを親ノードと選択し、閾値未満の場合には、応答パケットの情報を内部に保存する(後述するステップS101−8の処理で用いる)。親ノード選択部15は、親ノード選択がされた場合、処理部12に選択した親ノードのアドレスを通知する。
【0046】
処理部12は、先述のステップS101−5の処理(又は後述するステップS101−8の処理)により、親ノード選択部15から親ノードアドレスの通知を受けると、当該アドレスを中継先とする参加要求パケットを生成し、通信部を介して、当該パケットを送信する(S101−6)。
【0047】
一方、処理部12は、隣接探索パケット送信間隔の間に、親ノード選択部15から親ノードアドレスの通知を受信しなかった場合、親ノード選択部15に親ノード選択要求を通知する。
【0048】
親ノード選択部15は、処理部12から親ノード選択要求を受信すると、これまでに1以上の応答パケットを受信したか(言い換えれば、応答パケットの情報が内部に保存されているか)確認する(S101−7)。親ノード選択部15は、1つの応答パケットも受信していなかった場合には、隣接探索パケットの再送を処理部12に通知する(再度、ステップS101−2から一連の処理を実行する)。
【0049】
親ノード選択部15は、先述のステップS101−7の処理により、1以上の応答パケットを受信していた場合は、最もパス品質値の良い応答パケットの送信元ノードを親ノードに選択し、選択した親ノードのアドレスを処理部12に通知する(S101−8)。通知後の処理は、先述のステップS101−6の処理と同様であるので、省略する。
【0050】
そして、通信部11は、S101−6の処理により送信した参加要求パケットに対する参加承認パケットを受信すると、処理部12にその旨を通知する。通知後、処理部12は、参加ノードから親候補ノードの動作に移行する。
【0051】
[ステップS102:親候補ノードの動作]
図5は、実施形態に係る無線通信装置(親候補ノード)の動作(隣接探索パケット受信時の動作)を示すフローチャートである。
【0052】
親候補ノードの通信部11は、隣接探索パケットを受信すると、処理部12に隣接探索パケットの情報を通知する(S102−1)。処理部12は、隣接探索パケット受信時のRSSI値を通知すると共に、応答待ち時間の算出を応答待ち時間算出部14に要求する。
【0053】
応答待ち時間算出部14は、後述するステップS103の処理を実行し、応答待ち時間を算出する(S102−2)。応答待ち時間算出部14は、算出した応答待ち時間を処理部12に通知する。
【0054】
処理部12は、応答待ち時間を受信すると、受信した応答待ち時間分だけ待機する(S102−3)。
【0055】
処理部12は、応答待ち時間が経過したか監視し、経過した場合には、応答パケットを生成し、通信部11に応答パケットの送信を要求する(S102−4)。
【0056】
通信部11は、参加ノードに応答パケットを送信する(S102−5)。
【0057】
[ステップS103:親候補ノードの動作(応答待ち時間の算出動作)]
図6は、実施形態に係る無線通信装置(親候補ノード)の動作(応答パケットの送信待ち時間算出動作)を示すフローチャートである。
【0058】
後述するステップS103−1〜S103−5の処理は、後述する(2)式で用いるN(パス品質を満たす自身を含めた隣接ノード数)を算出する処理である。求めたNは、後述するステップS103−6の処理((2)式を計算)で用いられる。そして、ステップS103−7〜S101−10の処理で算出した(2)式を用いて、応答待ち時間を求める。以下、各ステップの処理の詳細について述べる。
【0059】
応答待ち時間算出部14は、Nを初期化(Nを「0」にセットする)する(S103−1)。
【0060】
応答待ち時間算出部14は、隣接探索パケット受信時のRSSI値をリンク品質値に変換し、求めたリンク品質値と自身のパス品質値を足し合わせ、閾値と比較する(S103−2)。
【0061】
応答待ち時間算出部14は、先述のステップS103−2の処理の結果(比較結果)が閾値以上の場合には、自身を参加ノードにとってパス品質を満たすノードとみなし、Nをインクリメントする(S103−3)。一方、応答待ち時間算出部14は、比較結果が閾値未満の場合には、自身を参加ノードにとってパス品質を満たさないノードとみなす(Nに対して、特に処理を行わない)。
【0062】
応答待ち時間算出部14は、隣接ノード情報管理部13から全ての隣接ノードのパス品質値を取得し、取得したパス品質値の内、閾値以上の値となる隣接ノード数を計算する(S103−4)。
【0063】
応答待ち時間算出部14は、Nに先述のステップS103−4の処理で求めた閾値以上の値となる隣接ノード数を加算する(S103−5)。
【0064】
続いて、応答待ち時間算出部14は、パス品質を満たす自身を含む隣接ノード数であるN及び自身がパス品質を満たすか否かの情報(先述のステップS103−2の判定結果)を基に応答待ち時間を算出する。
図7は、実施形態に係るスロット単位に分割した隣接探索パケット送信間隔を示す説明図である。応答待ち時間は、
図7に示すように、参加ノードの隣接探索パケット送信間隔をスロットSL単位に分割し、いずれかのスロットSLを選択することで決定される。1スロットSL当りの長さは定数である。分割したスロットSLのうち、前半のスロットSLはパス品質を満たすノードによって選択され、後半のスロットSLはパス品質を満たさないノードによって選択される。例えば、
図7(A)は、パス品質を満たす隣接ノードが少ない場合のスロットSLの状態を示しており、スロットSL1〜スロットSL3がパス品質を満たすノードが選択するスロット(前半のスロット)となり、スロットSL4〜スロットSL9がパス品質を満たさないノードが選択するスロット(後半のスロット)となる。一方、
図7(B)は、パス品質を満たす隣接ノードが多い場合のスロットSLの状態を示しており、スロットSL1〜スロットSL6がパス品質を満たすノードが選択するスロット(前半のスロット)となり、スロットSL7〜スロットSL8がパス品質を満たさないノードが選択するスロット(後半のスロット)となる。分割したスロットの内、パス品質の良いノードが選択するスロットと悪いノードが選択するスロットの境界は、例えば、(1)式を基に算出される。
【数1】
【0065】
(1)式のslotはスロット数、Nは、先に説明した通り、自身を含めたパス品質を満たす隣接ノード数である。(1)式のPは、パス品質を満たすあるノードとパス品質を満たす他のN−1台の隣接ノードが、slotの中からランダムに1スロットを選択して応答パケットを送信する場合に、当該ノードが他のノードの応答パケットと衝突せずに応答パケットを送信できる確率(応答パケット送信成功率と呼ぶ)を示している。ネットワークシステムとして満たすべき応答パケット送信成功率は、予め定められているものとすると、スロットの境界は、応答パケット送信成功率Pを満たすように算出されることになる。
【0066】
すなわち、満たすべき応答パケット送信成功率をPgivenとした場合、下記の(2)式を満たす最小のslotがスロットの境界となる。
【数2】
【0067】
応答待ち時間算出部14は、先述のステップS103−2の処理により、自身がパス品質を満たすノードと判定された場合、(2)式で求めた境界の前半のスロットSLからランダムに1スロットを選択する(S103−7、S103−8)。一方、応答待ち時間算出部14は、先述のステップS103−2の処理により、自身がパス品質を満たさないノードと判定された場合、後半のスロットSLからランダムに1スロットを選択する(S103−9)。
【0068】
応答待ち時間算出部14は、選択したスロットSLを時間の単位(選択したスロット×1スロットサイズ)に変換し、処理部12に通知する(S103−10)。例えば、応答待ち時間算出部14は、自身のパス品質が良くて、
図7(A)の前半スロットSL(SL1〜SL3)からスロットSL2を選択した場合、「2」に「1スロットのサイズ」を乗じた値を応答待ち時間と算出する(処理部12に算出した応答待ち時間を通知する)。
【0069】
[ステップS104:管理装置の動作]
管理装置20の通信部11は無線通信装置10から参加要求パケットを受信すると、処理部22にその旨を通知する。処理部22は、参加承認パケットを生成し、通信部11を介して当該パケットを送信する。
【0070】
(A−3)実施形態の効果
この実施形態によれば、以下の効果を奏する。
【0071】
無線通信装置10(親候補ノード)は、応答待ち時間算出部14により、参加ノードの隣接探索パケットに対する応答パケットの送信タイミングをパス品質情報と隣接ノード情報を用いて算出する。すなわち、パス品質情報を用い、パス品質の良い親候補ノードについては、早く応答パケットを返すように送信タイミングを設定することで、参加ノードは、パス品質の良い親候補ノードから最初に応答パケットを受信することができる。
【0072】
また、隣接ノード情報を用い、パス品質の良い隣接ノード数に応じて動的に応答待ち時間の選択幅を変更することで、親候補ノードは、ノードの設置密度等に依存しない適切な送信タイミングの算出が可能となる。例えば、パス品質の良い隣接ノード数が多い場合には、応答待ち時間の選択幅が広くとられるため、応答パケットの衝突が回避され、参加ノードは良い親候補ノードから高確率で応答パケットを受信することができる。さらに、参加ノードは、受信した応答パケット中のパス品質情報を用い、パス品質が閾値以上の場合に親ノード選択することで、親ノード選択にかかる時間を短縮することができる。
【0073】
そして、この実施形態では、隣接探索パケットに対する応答パケットの送信タイミングをスロット単位で設定することで、非スロット単位で応答タイミングを設定するよりもスループットを向上できる。
【0074】
(B)他の実施形態
本発明は、上記実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0075】
(B−1)上記実施形態では、良い親候補ノードの判断指標にパス品質を用いる例を示したが、これに限定するものではない。例えば、無線通信装置10は、パス品質値をホップ数で除算した、1ホップ当りのリンク品質値を用いることができる。パス品質は、ホップ数にも依存する値であるため、ホップ数の多い親候補ノードほど良い親候補ノードになる可能性が低くなる。無線通信装置10は、1ホップ当りのリンク品質を用いることでホップ数に依存しない判断指標が得ることができる。
【0076】
(B−2)上記実施形態では、親候補ノードが複数の参加ノードの隣接探索パケットを受信した場合に、それぞれのノードに対して応答パケットを送信する例を示したが、これに限定するものではない。例えば、無線通信装置10(親候補ノード)が、複数の隣接探索パケットをまとめて1つの応答パケットとして送信しても良い。このようにする場合、親候補ノードは、応答待ち時間の間に、受信した隣接探索パケットのRSSI値を送信元アドレスとともに記憶して置き、応答パケットに記憶していたRSSI値と送信元アドレスの組を全て記載し、ブロードキャストする。親候補ノードは、応答パケットを1つにまとめて送信することで、トラフィック量を削減することができる。また、複数の隣接探索パケット受信時の応答待ち時間の算出方法も限定されず、最初に受信した隣接探索パケットの応答待ち時間を選択する方法や算出した応答待ち時間のうち最も短い時間を選択する方法、等種々の方法を適用する事ができる。
【0077】
(B−3)上記実施形態では、良い親候補ノードか否かの判断を定数の閾値を用いて判断する例を示したが、これに限定するものではなく、例えば、隣接ノード数に応じて動的に変化する閾値を用いて判断しても良い。例えば、隣接ノード数が多いほど、ネットワークのノード密度が高く、良い親候補ノードが多くあると想定されるため、このような場合には、閾値をより厳しく設定することで、応答パケットの衝突を防ぐと共に、参加ノードはより良い親ノードを選択することができる。
【0078】
(B−4)上記実施形態では、ネットワーク参加時の無線通信装置10の動作を例に示したが、これに限定されるものではない。例えば、無線通信装置10から管理装置20までのマルチホップで中継する際の中継経路を、上記実施形態の仕組み(技術的思想)を用いて構築しても良い。
【0079】
(B−5)上記実施形態では、無線通信システム1において、1台の管理装置20が存在していることを前提としていたが、これに限定するものではない。例えば、無線通信システム1は、管理装置20が設置されず、予め定められた1又は複数の無線通信装置10が他の無線通信装置10からの接続を受け付けるような構成の無線ネットワークシステムでも良い。この場合、接続を受け付ける無線通信装置10(親候補ノード)は、例えば、処理部12と親ノード選択部15を取り除いたような構成(
図8の構成)として良い。
図8における応答待ち時間算出部14は、
図1の処理部12の役割も併せ持つ事になる。また、接続を要求する無線通信装置10(参加ノード)は、
図1の構成から応答待ち時間算出部14と隣接ノード情報管理部13を取り除いたような構成(
図9の構成)として良い。