JP6384785B2 - 無線通信システム - Google Patents

無線通信システム Download PDF

Info

Publication number
JP6384785B2
JP6384785B2 JP2014159771A JP2014159771A JP6384785B2 JP 6384785 B2 JP6384785 B2 JP 6384785B2 JP 2014159771 A JP2014159771 A JP 2014159771A JP 2014159771 A JP2014159771 A JP 2014159771A JP 6384785 B2 JP6384785 B2 JP 6384785B2
Authority
JP
Japan
Prior art keywords
node
data
ack
wireless communication
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014159771A
Other languages
English (en)
Other versions
JP2016039411A (ja
Inventor
征慶 南山
征慶 南山
靖洋 川上
靖洋 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2014159771A priority Critical patent/JP6384785B2/ja
Priority to CN201480061277.3A priority patent/CN105706496B/zh
Priority to US15/034,357 priority patent/US10251202B2/en
Priority to PCT/JP2014/005806 priority patent/WO2015079656A1/ja
Priority to DE112014005395.3T priority patent/DE112014005395T5/de
Publication of JP2016039411A publication Critical patent/JP2016039411A/ja
Application granted granted Critical
Publication of JP6384785B2 publication Critical patent/JP6384785B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Radio Relay Systems (AREA)

Description

本発明は、無線通信システムに関し、より詳細には、ノード間の無線通信を中継用のノードで中継伝送する無線通信システムに関する。
従来、基地局ノード装置と、複数台の子ノード装置との間で、マルチホップで無線通信を行うネットワークシステムが提案されている(例えば特許文献1参照)。
このネットワークシステムでは、複数台ある子ノード装置のそれぞれに計測機器が接続されている。基地局ノード装置が、ある計測機器に接続されている子ノード装置にデータを要求する場合に、この子ノード装置との接続関係が不明であれば、データを要求する要求パケットを、送信先となる子ノード装置を特定することなくブロードキャストで送信する。
子ノード装置が、基地局ノード装置からの要求パケットを受信した場合に、要求パケットの送信先アドレスが機器IDと一致しなければ、子ノード装置は中継ノードとして機能し、要求パケットを他の子ノード装置にブロードキャスト送信する。このように、子ノード装置による要求パケットの受信及びブロードキャスト送信が繰り返されることで、いずれ、要求パケットは送信先の計測機器が接続されている子ノード装置に受信される。送信先の計測機器に接続された子ノード装置は、基地局ノード装置からの要求パケットに対する応答パケットを作成し、送信先となるノード装置を特定してユニキャストで送信する。ここで、応答パケットのヘッダには、応答パケットを作成した子ノード装置の機器IDと、基地局ノード装置までの通信経路が含まれており、子ノード装置による受信およびユニキャスト送信が繰り返されることで、最終的に基地局ノード装置まで送信される。
特開2013−74355号公報
特許文献1のネットワークシステムでは、基地局ノード装置から特定の子ノード装置への要求パケットをブロードキャスト送信すると、ノード間で中継処理が行われることで、送信先の子ノード装置と基地局ノード装置の間の接続関係が特定される。そのため、送信先の子ノード装置までの通信経路が特定されると、ホップ数がより少ない通信経路が他にあるにも関わらず、最初に決定した通信経路で以後の通信が行われる可能性があった。
本発明は上記課題に鑑み、ホップ数がより少なくなるように送信先ノードを設定できる無線通信システムを提供することを目的とする。
本発明の無線通信システムは、無線通信システムを構成するノードとして、無線通信機能を有する送信元の第1ノードと、無線通信機能を有する送信先の第2ノードと、前記第1ノードと前記第2ノードとの間の無線通信を中継する機能をそれぞれ有する複数台の第3ノードとを備え、前記第1ノードから前記第2ノードまでデータを送信する通信経路が確立していない状態では、前記第1ノード及び前記第3ノードの各々はブロードキャストでデータを送信するように構成され、前記通信経路の少なくとも一部で送信先ノードが決まると、前記第1ノード及び前記第3ノードのうち送信先ノードが決まったノードは、前記送信先ノードへユニキャストでデータを送信するように構成され、前記第3ノードは、データ受信時に次段のホップ数を付加したACKを送信元ノードに送信するように構成され、前記通信経路における下位ノードは、前記下位ノードが送信したデータに対して第1の上位ノードから前記下位ノードに宛てて送信された第1ACKを受信すると、前記第1ACKに付加されたホップ数をもとに、送信先ノードを前記第1の上位ノードとした場合の第1ホップ数を求め、前記下位ノードは、前記第1ACKの受信後に前記下位ノードが送信したデータに対して第2の上位ノードから他のノードに宛てて送信された第2ACKを受信すると、前記第2ACKに付加されたホップ数をもとに、送信先ノードを前記第2の上位ノードとした場合の第2ホップ数を求め、前記下位ノードは、前記第1ホップ数よりも前記第2ホップ数の方が少なければ、前記第2の上位ノードを送信先ノードに決定するように構成されることを特徴とする。
この無線通信システムにおいて、前記第2ノードは、データ受信時に次段のホップ数を付加したACKを送信元ノードに送信するように構成され、前記第3ノードは、上位ノードからホップ数が付加されたACKを受信すると、前記ACKに付加されたホップ数から次段のホップ数を求め、次回のデータ受信時に前記次段のホップ数を付加したACKを送信元ノードに送信するように構成されてもよい。
この無線通信システムにおいて、前記下位ノードが送信先ノードを決定していない状態で、前記下位ノードが前記第1ACKを受信した場合に、前記第1ACKにホップ数が付加されていれば、前記下位ノードは前記第1の上位ノードを送信先ノードに決定し、前記下位ノードが前記第1ACKを受信した後に前記第2ACKを受信した場合に、前記第2ACKにホップ数が付加されていれば、前記下位ノードは前記第1ホップ数と前記第2ホップ数との大小を比較し、前記第1ホップ数よりも前記第2ホップ数の方が少なければ、前記下位ノードは送信先ノードを前記第1の上位ノードから前記第2の上位ノードに変更するように構成されてもよい。
この無線通信システムにおいて、前記下位ノードが送信先ノードを前記第1の上位ノードに決定している状態で、前記下位ノードが送信したデータに対して前記第2の上位ノードから他のノード宛てに送信された前記第2ACKを前記下位ノードが受信した場合に、前記第2ACKにホップ数が付加されていれば、前記下位ノードは前記第1ホップ数と前記第2ホップ数との大小を比較し、前記第1ホップ数よりも前記第2ホップ数の方が少なければ、前記下位ノードは送信先ノードを前記第1の上位ノードから前記第2の上位ノードに変更するように構成されてもよい。
この無線通信システムにおいて、前記下位ノードは、送信先ノードを前記第1の上位ノードから前記第2の上位ノードに変更する場合、前記第1の上位ノードを送信先の候補ノードとしてメモリに保存するように構成されてもよい。
この無線通信システムにおいて、前記下位ノードは、送信先ノードを決定している状態で、前記送信先ノードへのデータ送信に失敗すると、前記送信先ノードへユニキャストでデータを再送信するように構成され、前記下位ノードは、前記送信先ノードへの再送信でもデータ送信に失敗すると、前記メモリに保存されている前記候補ノードにユニキャストでデータを送信するように構成され、前記下位ノードは、前記候補ノードの全てでデータ送信に失敗すると、ブロードキャストでデータを送信して、前記通信経路を再構築するように構成されてもよい。
この無線通信システムにおいて、前記第3ノードは、他のノードからブロードキャストで送信されたデータを受信した場合、前記データに対するACKを送信する前に、同一の前記データに対するACKを他の前記第3ノードが送信していれば、前記データに対するACKを送信しないように構成されてもよい。
この無線通信システムにおいて、前記第3ノードは、他のノードからブロードキャストで送信されたデータを受信した場合、前記データに対するACKを送信する前に、同一の前記データに対するACKを前記第2ノードが送信していれば、前記データに対するACKを送信しないように構成されてもよい。
この無線通信システムにおいて、前記第3ノードは、他のノードからブロードキャストで送信されたデータを受信して、前記データに対するACKを最初に送信した場合、ACKの返送時間よりも長いウェイト時間が経過した後に、上位ノードへ前記データを中継送信するように構成されてもよい。
この無線通信システムにおいて、前記通信経路が確定すると、前記第1ノード及び前記第3ノードの各々は、次に上位ノードへデータを送信する場合に、個々のノードに割り当てられた識別情報を前記データに付加して送信するように構成されてもよい。
本発明の無線通信システムでは、下位ノードは、他のノードに宛てて送信されたACKも受信している。下位ノードは、第2の上位ノードから他のノードに宛てて送信された第2ACKを受信した結果、第2の上位ノードの方が第1の上位ノードよりもホップ数が少なくなると判断すると、送信先ノードを第2の上位ノードに決定する。したがって、下位ノードは、ホップ数がより少なくなるように送信先ノードを設定することができる。
実施形態の通信手順を説明する通信経路図である。 実施形態の子機のブロック図である。 実施形態の親機のブロック図である。 実施形態の中継機のブロック図である。 実施形態の通信手順を説明する通信経路図である。 実施形態の通信手順を説明する通信経路図である。 実施形態の通信手順を説明する通信経路図である。 実施形態の通信手順を説明する通信経路図である。 実施形態の通信手順を説明する通信経路図である。 実施形態の通信手順を説明する通信経路図である。 実施形態の通信手順を説明する通信経路図である。
以下、本発明に係る無線通信システムの実施形態について図面を参照して説明する。ただし、以下に説明する構成は本発明の一例に過ぎない。本発明は、以下の実施形態に限定されず、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能である。
図1に本実施形態の無線通信システムの概略構成を示す。本実施形態では、無線通信システムを構成するノードとして、送信元の子機10(第1ノード)と、送信先の親機20(第2ノード)と、子機10と親機20の間の無線通信を中継する複数台(図示例では例えば6台)の中継機30(第3ノード)とを備える。なお、本実施形態の無線通信システムは6台の中継機30を備えているが、中継機30の台数は6台に限定されず、信号の中継に必要な台数があればよい。また、本実施形態の無線通信システムはデータの送信元である子機10を1台備えているが、子機10の台数は1台に限定されず、2台以上でもよく、必要に応じて適宜変更が可能である。また、本実施形態では子機10から親機20にデータを送信しているが、中継機30に所定の物理量を測定するセンサが接続されている場合、親機20が中継機30に対してセンサの測定データを要求する要求データを送信してもよい。この場合、親機20が要求データを送信する送信元の第1ノードとなり、測定データを要求する対象の中継機30が送信先の第2ノードとなる。
子機10と親機20と中継機30とは、それぞれ、無線免許が不要の無線通信機能を備えている。無線免許が不要の通信方式としては例えば特定小電力無線方式がある。なお、子機10と親機20と中継機30とが備える無線通信機能の通信方式はIEEE(The Institute of Electrical and Electronics Engineers, Inc.)802.15.1の規格に準拠した通信方式でもよい。また、子機10と親機20と中継機30とが備える無線通信機能の通信方式は、IEEE802.11の規格に準拠した通信方式でもよい。
ここで、子機10と親機20とが互いの通信圏内にあり、子機10と親機20との間の通信環境が良好であれば、子機10と親機20との間で無線通信が直接行われる。しかしながら、子機10と親機20とが直接通信できない場合や、通信可能であっても通信環境が良好でない場合、子機10と親機20との間では中継機30を介して無線通信が行われる。そのため、複数台の中継機30は、子機10と親機20の間の無線通信を中継できるように、隣接する他の中継機30が通信圏内に存在するように配置されており、子機10と親機20と複数台の中継機30で中継通信網が構築されている。
子機10と親機20と複数台の中継機30には、ネットワーク内で個々のノードを識別するために個別のノード番号(識別情報)が割り当てられている。本実施形態の無線通信システムでは、子機10のノード番号が「11」に設定され、親機20のノード番号が「0」に設定されている。また、6台の中継機30の各々に「1」〜「6」のノード番号が設定されている。なお、図1及び図5〜図11において、子機10、親機20、中継機30のそれぞれを示す四角内の数字は、各ノードに割り当てられたノード番号を示している。
次に、子機10と親機20と中継機30の構成を図2〜図4に基づいて説明する。
子機10は、図2に示すように、MCU(Micro Control Unit)100と、測定部101と、記憶部102と、無線通信部103と、アンテナ104と、操作部105と、表示部106と、電源部107と、有線通信部108とを備えている。子機10は、所定の送信間隔が経過するごとに、測定部101によって測定されたデータを親機20に無線送信する。
測定部101は、例えば周囲温度に応じて電気抵抗が変化するサーミスタを備え、サーミスタの抵抗値を測定することによって周囲温度を測定する。なお、測定部101の測定対象は温度に限定されず、周囲の湿度や照度でもよいし、測定対象の電気機器による消費電力でもよく、使用目的や用途に応じた物理量を測定すればよい。
記憶部102は、例えばEEPROM(electrically erasable and programmable read-only memory)やフラッシュメモリのような電気的に書き換え可能な不揮発性メモリで構成されている。記憶部102は、MCU100によってデータの書き込み及び読み出しが行われる。記憶部102は、子機10に割り当てられた識別情報(例えばアドレスやノード番号)や、測定部101による測定データや、送信先ノードの情報や、候補ノードの情報や、通信経路の情報などを記憶する。
無線通信部103は例えば特定小電力無線の通信方式に適合した無線モジュールからなり、アンテナ104を介して無線信号の送信又は受信を行う。また、無線通信部103は、受信信号の受信信号強度を測定する機能も備える。
有線通信部108は、例えば設定器(図示せず)などの機器に通信線を介して接続され、有線通信方式で通信を行う。
操作部105は、例えば測定部101による測定範囲の下限値及び上限値や、測定間隔や、測定データの送信間隔を設定するために用いられる。また、操作部105は、記憶部102に保存する候補ノードの数の上限などを設定するためにも使用される。
表示部106は例えば1個又は複数個の発光ダイオードからなり、MCU100によって点灯/消灯が制御される。
電源部107は例えば電池を電源として、子機10の内部回路に動作に必要な電力を供給する。
MCU100は、組み込みのプログラムを実行することによって、子機10の全体的な制御を行う。MCU100は、予め設定されたサンプリング間隔でスリープモードから起動し、測定部101によって測定された測定データを記憶部102に記憶させる。またMCU100は、上記のサンプリング間隔よりも長い送信間隔(例えば数秒から数分の間隔)が経過するごとに、記憶部102に記憶された測定データを無線通信部103から無線送信させる。MCU100は、測定部101にデータを測定させる期間と、無線通信部103に測定データを無線送信させる期間とを除いては、子機10の状態をスリープ状態として、子機10の消費電力を低減している。
親機20は、図3に示すように、MCU200と、記憶部201と、無線通信部202と、アンテナ203と、有線通信部204と、操作部205と、表示部206と、電源部207とを備えている。
MCU200は、組込みのプログラムを実行することによって、親機20の全体的な制御を行う。
記憶部201は、例えばEEPROMやフラッシュメモリのような電気的に書き換え可能な不揮発性メモリで構成されている。記憶部201は、MCU200によってデータの書き込み及び読み出しが行われる。記憶部201は、親機20に割り当てられた識別情報(例えばアドレスやノード番号)や、子機10から収集した測定データや、通信経路の情報などを記憶する。
無線通信部202は例えば特定小電力無線の通信方式に適合した無線モジュールからなり、アンテナ203を介して無線信号の送信又は受信を行う。また、無線通信部202は、受信信号の受信信号強度を測定する機能も備える。
有線通信部204は、例えばサーバ(図示せず)に通信線を介して接続されており、子機10から収集したデータを有線通信方式でサーバに送信する。
操作部205は、例えば親機20の動作設定を行うために使用される。また、操作部205は、候補ノードの数の上限などを設定するためにも使用される。
表示部206は例えば1個又は複数個の発光ダイオードからなり、MCU200によって点灯/消灯が制御される。
電源部207は、例えば商用電源のような外部電源から電力の供給を受け、親機20の内部回路に動作に必要な電力を供給する。
中継機30は、図4に示すように、MCU300と、記憶部301と、無線通信部302と、アンテナ303と、操作部304と、表示部305と、電源部306と、有線通信部307とを備える。この中継機30は、子機10と親機20との間の無線通信を中継する機能を有している。
MCU300は、組込みのプログラムを実行することによって、中継機30の全体的な制御を行う。
記憶部301は、例えばEEPROMやフラッシュメモリのような電気的に書き換え可能な不揮発性メモリで構成されている。記憶部301は、MCU300によってデータの書き込み及び読み出しが行われる。記憶部301は、自機に割り当てられた識別情報(例えばアドレスやノード番号)や、無線通信部302が受信したデータや、無線通信部302が過去に送信したデータや、送信先ノードの情報や、候補ノードの情報や、通信経路の情報などを記憶する。
無線通信部302は例えば特定小電力無線の通信方式に適合した無線モジュールからなり、アンテナ303を介して無線信号の送信又は受信を行う。また、無線通信部302は、受信信号の受信信号強度を測定する機能も備える。
有線通信部307は、例えば設定器(図示せず)などの機器に通信線を介して接続され、有線通信方式で通信を行う。
操作部304は、例えば中継機30の動作設定を行うために使用される。また、操作部304は、候補ノードの数の上限などを設定するためにも使用される。
表示部305は例えば1個又は複数個の発光ダイオードからなり、MCU300によって点灯/消灯が制御される。
電源部306は例えば電池を電源として、中継機30の内部回路に動作に必要な電力を供給する。中継機30は電池を電源としているので、中継機30を自由な場所に設置して使用することができる。なお、電源部306は、商用電源などの外部電源から電力の供給を受けて、中継機30の内部回路に動作に必要な電力を供給してもよい。
次に、この無線通信システムにおいて、送信元の子機10と送信先の親機20との間の通信経路が確立されていない状態で、子機10から親機20へデータ(例えば測定データなど)を送信する通信手順について図1、図5、及び図6を参照して説明する。なお、子機10と、親機20と、複数台の中継機30とには、それぞれ別個のノード番号が割り当てられており、以下では複数台の中継機30を区別して説明するために、ノード番号を使用して説明する。例えば、ノード番号が「2」の中継機30は2番の中継機30と表記し、ノード番号が「11」の子機10は11番の子機10と表記する。また、図1及び図5〜図11における矢印線はノード間でのデータの伝送処理を示し、実線の矢印線はデータの送信処理を、点線の矢印線はACKの送信処理を示している。
子機10から親機20までデータを送信する通信経路が確立されていない状態で、子機10が測定データを1回目に送信する場合の通信手順について図1を参照して説明する。本実施形態の無線通信システムでは、子機10及び中継機30の各々は、送信先ノードが決定されていない状態ではデータをブロードキャストで送信し、送信先ノードが決定されると送信先ノードに対してユニキャストでデータを送信する。
子機10のMCU100は、予め設定された送信間隔が経過するごとにスリープモードから起動し、記憶部102から送信対象の測定データ(例えば、前回のデータ送信後に測定部101で測定された測定データ)を読み出す。MCU100は、測定データとシーケンス番号とを格納し、宛先アドレスをブロードキャスト用に割り当てた番号(以下、ブロードキャスト番号という)、送信元アドレス及びデータ元アドレスを自機のノード番号とした送信データを作成する。なお、シーケンス番号は、子機10から送信される送信データに割り付けられた個別の番号であり、このシーケンス番号を用いて送信データを識別することができる。そして、MCU100は、作成した送信データを、無線通信部103からブロードキャストで送信させる(図1の処理T1)。
図1の例では、子機10の通信圏内にノード番号が4番、5番、6番の3台の中継機30が存在し、子機10から送信されたデータは、4番、5番、6番の中継機30の無線通信部302で受信される。4番、5番、6番の中継機30のMCU300は、無線通信部302が受信したデータから、測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。本実施形態では、各中継機30のMCU300は、データを受信した場合にACK(acknowledgement:肯定応答)を送信するまでの返送時間をランダムな時間に設定している。図1の例では、4番の中継機30の返送時間が、5番及び6番の中継機30の返送時間よりも短い時間となっている。そのため、4番の中継機30のMCU300が、5番及び6番の中継機30よりも早く、返送時間の経過後に無線通信部302を制御し、送信元の子機10に宛ててACKを送信させる(図1の処理T2)。子機10のMCU100は、データを送信した後に、上位ノードから送信されてきたACKを受信すると、所定時間の経過後にスリープモードに切り替わり、消費電力の低減を図る。
4番の中継機30の通信圏内には5番、6番の中継機30と子機10とが存在し、4番の中継機30が送信したACKは、子機10だけでなく、5番及び6番の中継機30の無線通信部302によっても受信される。5番及び6番の中継機30のMCU300は、4番の中継機30から送信されたACKに含まれるデータ元アドレス、シーケンス番号などに基づいて、子機10の送信したデータに対するACKを4番の中継機30が送信したと判断する。すなわち、5番及び6番の中継機30のMCU300は、子機10からの送信データに対して、自機がACKを送信する前に、他の中継機30からACKが送信されたと判断し、子機10へのACKの送信を行わず、データの中継送信も行わない。すなわち、中継機30は、他のノードからブロードキャストで送信されたデータを受信した場合、このデータに対するACKを送信する前に、同一のデータに対するACKを他の中継機30が送信すれば、このデータに対するACKを送信しなくてもよい。ブロードキャスト送信されたデータを受信した全ての中継機30のうち、最初にACKを送信した中継機30以外はACKの送信を行わないから、ACKの送信回数が減少し、送信データの衝突が起こりにくくなる。
4番の中継機30のMCU300は、子機10からの送信データから、測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。4番の中継機30のMCU300は、送信データから取り出した測定データとシーケンス番号を含め、宛先アドレスをブロードキャスト番号、送信元アドレスを自機のノード番号、データ元アドレスを子機10のノード番号とした送信データを作成する。そして、4番の中継機30のMCU300は、データの受信時からウェイト時間が経過した時点で、この送信データを無線通信部302からブロードキャストで送信させる(図1の処理T3)。
図1の例では、4番の中継機30の通信圏内に2番、3番、5番、6番の中継機30と子機10とが存在し、4番の中継機30からブロードキャストで送信されたデータは、2番、3番、5番、6番の中継機30の無線通信部302によって受信される。子機10は、データ送信後にACKを受信するとスリープモードに切り替わっているので、4番の中継機30から送信されたデータは子機10では受信されない。なお、中継機30がデータを受信してから受信したデータを中継送信するまでのウェイト時間は、中継機30がACKを送信するまでの返送時間(中継機30ごとにランダムな時間)の最大値よりも長い時間に設定されていてもよい。このようにウェイト時間が設定されていれば、子機10からのデータを受信した全ての中継機30がACKを送信する場合でも、最初にACKを送信した中継機30が上位ノードに中継送信するデータが、他の中継機30から送信されるACKと衝突しにくくなる。
2番、3番、5番、6番の中継機30の無線通信部302が、4番の中継機30からの送信データを受信すると、これらの中継機30のMCU300は受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。上述のように、各中継機30がACKを送信するまでの返送時間はランダムな時間に設定されており、図1の例では、3番の中継機30の返送時間が、2番、5番、6番の中継機30の返送時間よりも短い時間となっている。そのため、3番の中継機30のMCU300が、2番、5番、6番の中継機30よりも早く、返送時間の経過後に無線通信部302を制御して送信元の4番の中継機30に宛ててACKを送信する(図1の処理T4)。
3番の中継機30から4番の中継機30へ送信されたACKは、2番、5番、6番の中継機30の無線通信部302によっても受信される。2番、5番、6番の中継機30のMCU300は、4番の中継機30からの送信データに対するACKを別の中継機(この場合は3番の中継機30)が送信しているので、データの中継送信を行わず、ACKの送信も行わない。
3番の中継機30のMCU300は、4番の中継機30からの送信データから、測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。3番の中継機30のMCU300は、送信データから取り出した測定データとシーケンス番号を含め、宛先アドレスをブロードキャスト番号、送信元アドレスを自機のノード番号、データ元アドレスを子機10のノード番号とした送信データを作成する。そして、3番の中継機30のMCU300は、データの受信時からウェイト時間が経過した時点で、この送信データを無線通信部302からブロードキャストで送信させる(図1の処理T5)。
図1の例では、3番の中継機30の通信圏内に2番、4番、5番の中継機30が存在し、3番の中継機30からブロードキャストで送信されたデータは、2番、4番、5番の中継機30の無線通信部302によって受信される。2番、4番、5番の中継機30では、無線通信部302が3番の中継機30からの送信データを受信すると、MCU300が無線通信部302の受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。
4番の中継機30のMCU300は、データ元アドレスとシーケンス番号とをもとに、自機が以前に送信したデータと判断し、ACKの送信は行わない。本実施形態では、各中継機30のMCU300は、無線通信部302が他のノードからの送信データを受信した場合、送信データに含まれるデータ元アドレスとシーケンス番号とから、自機が以前に送信したデータか否かを判断する。なお、各中継機30のMCU300は、送信データに含まれるデータ元アドレス、シーケンス番号、データ(測定データなど)のうちの複数の項目から、自機が以前に送信したデータか否かを判断してもよい。
2番及び5番の中継機30のMCU300は、それぞれ、データを受信してから返送時間が経過した時点で、無線通信部302を制御して送信元の3番の中継機30に宛ててACKを送信する。図1の例では、2番の中継機30の返送時間が、5番の中継機30の返送時間よりも短い時間となっている。そのため、2番の中継機30のMCU300が、5番の中継機30よりも早く、返送時間の経過後に無線通信部302を制御し、送信元の3番の中継機30に宛ててACKを送信させる(図1の処理T6)。2番の中継機30から3番の中継機30に送信されたACKは5番の中継機30によっても受信される。5番の中継機30のMCU300は、自機が受信したデータに対するACKが、他の中継機(この場合は2番の中継機30)から送信されていると判断し、ACKの送信を行わず、データの中継処理も行わない。
また2番の中継機30のMCU300は、送信データから取り出した測定データとシーケンス番号を含め、宛先アドレスをブロードキャスト番号、送信元アドレスを自機のノード番号、データ元アドレスを子機10のノード番号とした送信データを作成する。そして、2番の中継機30のMCU300は、データの受信時からウェイト時間が経過した時点で、この送信データを無線通信部302からブロードキャストで送信させる(図1の処理T7)。
図1の例では、2番の中継機30の通信圏内に1番及び3番の中継機30が存在し、2番の中継機30からブロードキャストで送信されたデータは、1番及び3番の中継機30の無線通信部302によって受信される。1番の中継機30の無線通信部302が、2番の中継機30からの送信データを受信すると、1番の中継機30のMCU300は、受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。1番の中継機30のMCU300は、データを受信してから返送時間が経過した時点で、無線通信部302を制御して送信元の2番の中継機30に宛ててACKを送信する(図1の処理T8)。なお、2番の中継機30から送信されたデータは3番の中継機30によっても受信されるが、3番の中継機30は、自機が送信したデータであると判断し、ACKの送信やデータの中継処理は行わない。
また、1番の中継機30のMCU300は、2番の中継機30からの送信データから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。1番の中継機30のMCU300は、送信データから取り出した測定データとシーケンス番号を含め、宛先アドレスをブロードキャスト番号、送信元アドレスを自機のノード番号、データ元アドレスを子機10のノード番号とした送信データを作成する。そして、1番の中継機30のMCU300は、データの受信時からウェイト時間が経過した時点で、この送信データを無線通信部302からブロードキャストで送信させる(図1の処理T9)。
図1の例では、1番の中継機30の通信圏内に親機20が存在し、1番の中継機30からブロードキャストで送信されたデータは、親機20に受信される。
親機20の無線通信部202が、1番の中継機30からの送信データを受信すると、親機20のMCU200は、受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。親機20のMCU200は、受信した測定データとデータ元アドレスを対応付けて記憶部201に記憶させる。
また、親機20のMCU200は、1番の中継機30から送信データを受信すると、返送時間を設けずに、送信元である1番の中継機30に最終宛先情報を付加したACKを送信する(図1の処理T10)。最終宛先情報は、子機10からの最終的な送信先である親機20と通信可能なことを示す情報である。本実施形態では、最終宛先情報を親機20までのホップ数としており、1番の中継機30に対しては親機20までのホップ数、すなわちデータの「1」を付加したACKが送信される。なお、上述した処理T2、T4、T6、T8で1〜4番の中継機30がACKを送信する場合、その時点では1〜4番の中継機30はホップ数の情報を受信していないので、1〜4番の中継機30から送信されるACKにはホップ数の情報が付加されていない。換言すれば、処理T2、T4、T6、T8で各中継機30から送信されるACKには、ホップ数がゼロであることを示すデータが付加されている。
1番の中継機30は、親機20からホップ数(最終宛先情報)が付加されたACKを受信すると、データの送信先である親機20と直接通信可能であると判断し、送信先ノードを親機20に決定する。1番の中継機30は、以後、データを送信する際は親機20にユニキャストでデータを送信する。
次に、子機10が測定データを2回目に送信する場合の通信手順について図5を参照して説明する。なお、図1を参照して説明した1回目の通信手順と同様の通信手順については、簡略な説明とする。
前回のデータ送信時から送信間隔が経過すると、子機10は、スリープモードから起動し、測定データとシーケンス番号とを格納した送信データを、ブロードキャストで送信させる(図5の処理T11)。
図5の例では、4番、5番、6番の中継機30が子機10から送信されたデータを受信する。ここで、4番の中継機30が送信元の子機10に宛てて最初にACKを送信すると(図5の処理T12)、このACKを受信した子機10はスリープモードに戻り、消費電力を抑制する。また、4番の中継機30から送信されたACKは5番及び6番の中継機30によっても受信される。5番及び6番の中継機30は、子機10から送信されたデータを受信した後に、このデータに対するACKが他の中継機30(この場合は、4番の中継機30)から送信されるのを受信すると、ACKの送信を行わず、データの中継送信も行わない。
4番の中継機30は、子機10から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、送信データをブロードキャストで送信させる(図5の処理T13)。
4番の中継機30からブロードキャストで送信されたデータは2番、3番、5番、6番の中継機30によって受信される。2番、3番、5番、6番の中継機30は、それぞれ、ランダムな返送時間が経過した後にACKを送信するのであるが、図5の例では、3番の中継機30から、送信元の4番の中継機30に最初にACKが送信される(図5の処理T14)。3番の中継機30から送信されたACKは2番、5番、6番の中継機30によっても受信され、2番、5番、6番の中継機30は、ACKの送信を取りやめ、データの中継送信も行わない。
3番の中継機30が、4番の中継機30から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、送信データをブロードキャストで送信させる(図5の処理T15)。
図5の例では、3番の中継機30の通信圏内に2番、4番、5番の中継機30が存在し、3番の中継機30からブロードキャストで送信されたデータは、2番、4番、5番の中継機30の無線通信部302によって受信される。2番、4番、5番の中継機30では、無線通信部302が3番の中継機30からの送信データを受信すると、MCU300が、無線通信部302の受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。
4番の中継機30のMCU300は、データ元アドレスとシーケンス番号とをもとに、3番の中継機30から送信されたデータが、自機が以前に送信したデータであると判断し、ACKの送信を行わず、データの中継送信も行わない。
2番及び5番の中継機30のMCU300は、それぞれ、データを受信してから返送時間が経過した時点で、無線通信部302を制御して送信元の3番の中継機30に宛ててACKを送信する。図5の例では、2番の中継機30の返送時間が、5番の中継機30の返送時間よりも短い時間となっている。そのため、2番の中継機30のMCU300が、5番の中継機30よりも早く、返送時間の経過後に無線通信部302を制御し、送信元の3番の中継機30に宛ててACKを送信させる(図5の処理T16)。2番の中継機30から3番の中継機30に送信されたACKは5番の中継機30によっても受信される。5番の中継機30のMCU300は、自機が受信したデータに対するACKが、他の中継機(この場合は2番の中継機30)から送信されていると判断し、ACKの送信を行わず、データの中継処理も行わない。
また2番の中継機30のMCU300は、送信データから取り出した測定データとシーケンス番号を含め、宛先アドレスをブロードキャスト番号、送信元アドレスを自機のノード番号、データ元アドレスを11番の子機10のノード番号とした送信データを作成する。そして、2番の中継機30のMCU300は、データの受信時からウェイト時間が経過した時点で、この送信データを無線通信部302からブロードキャストで送信させる(図5の処理T17)。
2番の中継機30から送信されたデータは1番の中継機30によって受信され、1番の中継機30から、送信元の2番の中継機30にACKが送信される(図5の処理T18)。ここで、1番の中継機30は、ホップ数の情報(最終宛先情報)を保持しているので、次段のホップ数の情報、すなわち自機のホップ数「1」に1を加えたホップ数「2」の情報を付加したACKを、送信元の2番の中継機30に送信する。2番の中継機30は、1番の中継機30から送信されたACKに付加されているホップ数の情報(最終宛先情報)を取得すると、このホップ数の情報をもとに、自機から親機20までのホップ数を「2」とする。また、2番の中継機30は、送信先ノードを1番の中継機30に決定し、以後、データを送信する際は1番の中継機30にユニキャストでデータを送信する。なお、2番の中継機30から送信されたデータは3番の中継機30によっても受信されるが、3番の中継機30は、自機が送信したデータであると判断し、ACKの送信やデータの中継処理は行わない。
1番の中継機30は、2番の中継機30から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、送信データを親機20にユニキャストで送信させる(図5の処理T19)。
親機20は、1番の中継機30からユニキャストで送信されたデータを受信すると、返送時間を設けずに、送信元である1番の中継機30にホップ数の情報(最終宛先情報)を付加したACKを送信する(図5の処理T20)。
このように、子機10から4番の中継機30と3番の中継機30と2番の中継機30と1番の中継機30とを経由して親機20に2回目のデータが送信されると、1番の中継機30から2番の中継機30にホップ数の情報(最終宛先情報)が伝達される。これにより、2番の中継機30は、1番の中継機30から受信したホップ数の情報に基づいて、1番の中継機30を送信先ノードに決定する。そして、以後の通信では、1番及び2番の中継機30は、それぞれ、送信先ノードに対してユニキャストでデータを送信する。
次に、子機10が測定データを3回目に送信する場合の通信手順について図6を参照して説明する。なお、上述した1回目及び2回目のデータ送信時の通信手順と共通する通信手順については、説明を簡略化する。
前回のデータ送信時から送信間隔が経過すると、子機10は、スリープモードから起動し、測定データとシーケンス番号とを格納した送信データを、ブロードキャストで送信させる(図6の処理T21)。
図6の例では、4番、5番、6番の中継機30が子機10から送信されたデータを受信する。ここで、4番の中継機30が送信元の子機10に宛てて最初にACKを送信すると(図6の処理T22)、このACKを受信した子機10はスリープモードに戻り、消費電力を抑制する。また、4番の中継機30から送信されたACKは5番及び6番の中継機30によっても受信される。5番及び6番の中継機30は、子機10から送信されたデータを受信した後に、このデータに対するACKが他の中継機30(この場合は、4番の中継機30)から送信されるのを受信すると、ACKの送信を行わず、データの中継送信も行わない。
4番の中継機30は、子機10から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、送信データをブロードキャストで送信させる(図6の処理T23)。
4番の中継機30からブロードキャストで送信されたデータは2番、3番、5番、6番の中継機30によって受信される。2番、3番、5番、6番の中継機30は、それぞれ、ランダムな返送時間が経過した後にACKを送信するのであるが、図6の例では、3番の中継機30から、送信元の4番の中継機30に最初にACKが送信される(図6の処理T24)。3番の中継機30から送信されたACKは2番、5番、6番の中継機30によっても受信され、2番、5番、6番の中継機30は、ACKの送信を取りやめ、データの中継送信も行わない。
3番の中継機30が、4番の中継機30から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、送信データをブロードキャストで送信させる(図6の処理T25)。
図6の例では、3番の中継機30の通信圏内に2番、4番、5番の中継機30が存在し、3番の中継機30からブロードキャストで送信されたデータは、2番、4番、5番の中継機30の無線通信部302によって受信される。2番、4番、5番の中継機30では、無線通信部302が3番の中継機30からの送信データを受信すると、MCU300が、無線通信部302の受信したデータから測定データとシーケンス番号と宛先アドレスと送信元アドレスとデータ元アドレスを取り出す。
4番の中継機30のMCU300は、データ元アドレスとシーケンス番号とをもとに、3番の中継機30から送信されたデータが、自機が以前に送信したデータであると判断し、ACKの送信を行わず、データの中継送信も行わない。
2番及び5番の中継機30のMCU300は、それぞれ、データを受信してから返送時間が経過した時点で、無線通信部302を制御して送信元の3番の中継機30に宛ててACKを送信する。図6の例では、2番の中継機30の返送時間が、5番の中継機30の返送時間よりも短い時間となっている。そのため、2番の中継機30のMCU300が、5番の中継機30よりも早く、返送時間の経過後に無線通信部302を制御し、送信元の3番の中継機30に宛ててACKを送信させる(図6の処理T26)。ここで、2番の中継機30は、ホップ数の情報(最終宛先情報)を保持しているので、次段のホップ数の情報、すなわち自機のホップ数「2」に1を加えたホップ数「3」の情報(最終宛先情報)を付加したACKを、送信元の3番の中継機30に送信する。3番の中継機30は、2番の中継機30からのACKに付加されたホップ数の情報(最終宛先情報)を取得すると、このホップ数の情報をもとに、自機から親機20までのホップ数を「3」とする。また、3番の中継機30は、送信先ノードを2番の中継機30に決定し、以後、データを送信する際は2番の中継機30にユニキャストでデータを送信する。
また、2番の中継機30から3番の中継機30に送信されたACKは5番の中継機30によっても受信される。5番の中継機30のMCU300は、自機が受信したデータに対するACKが、他の中継機(この場合は2番の中継機30)から送信されていると判断し、ACKの送信を行わず、データの中継処理も行わない。
2番の中継機30が、3番の中継機30から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、1番の中継機30に送信データをユニキャストで送信する(図6の処理T27)。
2番の中継機30からユニキャストで送信されたデータが1番の中継機30によって受信されると、1番の中継機30から、送信元の2番の中継機30に、ホップ数の情報(最終宛先情報)を付加したACKが送信される(図6の処理T28)。
1番の中継機30は、データの受信時からウェイト時間が経過した時点で、送信データを親機20にユニキャストで送信する(図6の処理T29)。
親機20は、1番の中継機30からユニキャストで送信されたデータを受信すると、返送時間を設けずに、送信元である1番の中継機30にホップ数の情報(最終宛先情報)を付加したACKを送信する(図6の処理T30)。
このように、子機10から4番の中継機30と3番の中継機30と2番の中継機30と1番の中継機30とを経由して親機20に3回目のデータが送信されると、2番の中継機30から3番の中継機30にホップ数の情報(最終宛先情報)が送信される。これにより、3番の中継機30は、2番の中継機30から受信したホップ数の情報に基づいて、2番の中継機30を送信先ノードに決定する。そして、以後の通信では、1〜3番の中継機30は、それぞれ、送信先ノードに対してユニキャストでデータを送信する。
次に、子機10が測定データを4回目に送信する場合の通信手順について図7を参照して説明する。なお、上述した1〜3回目のデータ送信時の通信手順と共通する通信手順については、説明を簡略化する。
前回のデータ送信時から送信間隔が経過すると、子機10は、スリープモードから起動し、測定データとシーケンス番号とを格納した送信データを、ブロードキャストで送信させる(図7の処理T31)。
図7の例では、4番、5番、6番の中継機30が子機10から送信されたデータを受信する。ここで、4番の中継機30が送信元の子機10に宛てて最初にACKを送信すると(図7の処理T32)、このACKを受信した子機10はスリープモードに戻り、消費電力を抑制する。また、4番の中継機30から送信されたACKは5番及び6番の中継機30によっても受信される。5番及び6番の中継機30は、子機10から送信されたデータを受信した後に、このデータに対するACKが他の中継機30(この場合は、4番の中継機30)から送信されるのを受信すると、ACKの送信を行わず、データの中継送信も行わない。
4番の中継機30は、子機10から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、送信データをブロードキャストで送信させる(図7の処理T33)。
4番の中継機30からブロードキャストで送信されたデータは2番、3番、5番、6番の中継機30によって受信される。2番、3番、5番、6番の中継機30は、それぞれ、ランダムな返送時間が経過した後にACKを送信するのであるが、図7の例では、3番の中継機30から、送信元の4番の中継機30に最初にACKが送信される(図7の処理T34)。ここで、3番の中継機30は、ホップ数の情報(最終宛先情報)を保持しているので、次段のホップ数の情報、すなわち自機のホップ数「3」に1を加えたホップ数「4」の情報(最終宛先情報)を付加したACKを、送信元の4番の中継機30に送信する。4番の中継機30は、3番の中継機30から送信されたACKに付加されたホップ数の情報を取得すると、このホップ数の情報をもとに、自機から親機20までのホップ数を「4」とする。また、4番の中継機30は、送信先ノードを3番の中継機30に決定し、以後、データを送信する際は3番の中継機30にユニキャストでデータを送信する。
3番の中継機30から送信されたACKは2番、5番、6番の中継機30によっても受信され、2番、5番、6番の中継機30は、ACKの送信を取りやめ、データの中継送信も行わない。
また、3番の中継機30は、4番の中継機30から送信されたデータに対してACKを最初に送信すると、データの受信時からウェイト時間が経過した時点で、送信先ノードである2番の中継機30に送信データをユニキャストで送信させる(図7の処理T35)。
3番の中継機30からユニキャストで送信されたデータが2番の中継機30によって受信されると、2番の中継機30は、返送時間の経過後に、送信元の3番の中継機30に宛ててホップ数の情報(最終宛先情報)を付加したACKを送信する(図7の処理T36)。
2番の中継機30は、データの受信時からウェイト時間が経過した時点で、送信データを1番の中継機30にユニキャストで送信する(図7の処理T37)。
2番の中継機30からユニキャストで送信されたデータが1番の中継機30によって受信されると、1番の中継機30は、返送時間の経過後に、送信元の2番の中継機30に宛ててホップ数の情報(最終宛先情報)を付加したACKを送信する(図7の処理T38)。
1番の中継機30は、データの受信時からウェイト時間が経過した時点で、送信データを親機20にユニキャストで送信する(図7の処理T39)。
親機20は、1番の中継機30からユニキャストで送信されたデータを受信すると、返送時間を設けずに、送信元である1番の中継機30にホップ数の情報(最終宛先情報)を付加したACKを送信する(図7の処理T40)。
このように、子機10から4番の中継機30と3番の中継機30と2番の中継機30と1番の中継機30とを経由して親機20に4回目のデータが送信されると、3番の中継機30から4番の中継機30にホップ数の情報(最終宛先情報)が送信される。これにより、4番の中継機30は、3番の中継機30から受信したホップ数の情報(最終宛先情報)に基づいて、3番の中継機30を送信先ノードに決定する。そして、以後の通信では、1〜4番の中継機30は、それぞれ、送信先ノードに対してユニキャストでデータを送信する。
その後、前回のデータ送信時から送信間隔が経過して、子機10から送信データがブロードキャストで送信された場合に、この送信データに対するACKが4番の中継機30から送信されると、子機10にホップ数の情報が付加されたACKが送信される。これにより、子機10は、送信先ノードを4番の中継機30と決定し、以後のデータ送信では4番の中継機30にユニキャストでデータを送信する。
ところで、本実施形態では、各中継機30は、送信先ノードを決めた後で、他の中継機30宛てに送信されたACKに付加されているホップ数の情報をもとに、よりホップ数が少なくなる中継機30を検出すると、この中継機30に送信先ノードを変更する。この中継機30の動作を図8に基づいて説明する。図8において、図7と同一の通信処理には同一の符号を付している。
図7を参照して説明した子機10から親機20への4回目のデータ送信において、3番の中継機30が2番の中継機30に送信データを送信すると(処理T35)、2番の中継機30は送信元の3番の中継機30にACKを送信する(処理T36)。ここで、図8に示すように、2番の中継機30から送信されたACKが4番の中継機30によって受信されると、4番の中継機30のMCU300は、このACKが、自機が以前に送信したデータに対するACKか否かを判断する。2番の中継機30から受信したACKが、自機が以前に送信したデータに対するACKであれば、4番の中継機30のMCU300は、このACKにホップ数の情報(最終宛先情報)が付加されているか否かを判断する。2番の中継機30から受信したACK(第2ACK)にホップ数の情報が付加されている場合、4番の中継機30のMCU300は、このホップ数「3」をもとに、送信先ノードを2番の中継機30(第2の上位ノード)とした場合の第2ホップ数「3」を求める。4番の中継機30のMCU300は、以前の通信(処理T34)で受信した3番の中継機30からのACK(第1ACK)にホップ数が付加されていることから、送信先ノードを3番の中継機30に決定している。また4番の中継機30のMCU300は、第1ACKに付加されたホップ数の情報をもとに、送信先ノードを3番の中継機30(第1の上位ノード)とした場合の第1ホップ数「4」を求めている。4番の中継機30のMCU300は、送信先ノードを3番の中継機30とした場合の第1ホップ数「4」と、送信先ノードを2番の中継機30とした場合の第2ホップ数「3」との大小を比較する。ここで、送信先ノードを2番の中継機30とした場合の方が、送信先ノードを3番の中継機30とした場合よりもホップ数が少なくなるので、4番の中継機30のMCU300は、送信先ノードを3番の中継機30から2番の中継機30に変更する。また、4番の中継機30のMCU300は、送信先ノードを3番の中継機30から2番の中継機30に変更すると、変更前の送信先ノードである3番の中継機30を送信先の候補ノードとして記憶部301に保存する。なお、送信先ノードを2番の中継機30とした場合の方が、送信先ノードを3番の中継機30とした場合よりも、ホップ数が多くなる場合、4番の中継機30のMCU300は送信先ノードを3番の中継機30から変更しない。
このようにして、4番の中継機30のMCU300が送信先ノードを2番の中継機30に変更すると、次回のデータ送信時には、図9に示すように、4番の中継機30から2番の中継機30にユニキャストでデータが送信されることになる(図9の処理T51)。この場合、2番の中継機30から1番の中継機30にユニキャストでデータが送信された後(図9の処理T51)、1番の中継機30から親機20にユニキャストでデータを送信される(図9の処理T52)。
ところで、図8の例では、4番の中継機30は、送信先ノードが決まっていない状態で、送信先ノードを、一旦、3番の中継機30に決めた後に、2番の中継機30に変更しているが、送信先ノードが決まっている状態で同様の処理を行ってもよい。
図10に示すように、子機10から親機20までの通信経路が、子機10→4番の中継機30→3番の中継機30→2番の中継機30→1番の中継機30→親機20のように決定された場合について説明する。
前回のデータ送信時から送信間隔が経過すると、子機10は、スリープモードから起動し、4番の中継機30にユニキャストで送信データを送信する(図10の処理T61)。
4番の中継機30は、子機10から送信データを受信すると、ホップ数の情報(最終宛先情報)を付加したACKを子機10に送信する(図10の処理T62)。子機10は、データ送信後にACKを受信すると、スリープモードに戻り、消費電力を低減する。
4番の中継機30は、データ受信時からウェイト時間が経過した時点で、送信先ノードである3番の中継機30にユニキャストで送信データを送信する(図10の処理T63)。
3番の中継機30は、4番の中継機30から送信データを受信すると、ホップ数の情報(最終宛先情報)を付加したACKを4番の中継機30に送信する(図10の処理T64)。また、3番の中継機30は、データ受信時からウェイト時間が経過した時点で、送信先ノードである2番の中継機30にユニキャストで送信データを送信する(図10の処理T65)。
2番の中継機30は、3番の中継機30から送信データを受信すると、ホップ数の情報(最終宛先情報)を付加したACKを3番の中継機30に送信する(図10の処理T66)。また、2番の中継機30は、データ受信時からウェイト時間が経過した時点で、送信先ノードである1番の中継機30にユニキャストで送信データを送信する(図10の処理T67)。
1番の中継機30は、2番の中継機30から送信データを受信すると、ホップ数の情報(最終宛先情報)を付加したACKを2番の中継機30に送信する(図10の処理T68)。また、1番の中継機30は、データ受信時からウェイト時間が経過した時点で、送信先ノードである親機20にユニキャストで送信データを送信する(図10の処理T69)。
親機20は、1番の中継機30からの送信データを受信すると、送信元の1番の中継機30にACKを送信しており(図10の処理T70)、これによって子機10から親機20への1回のデータ送信が完了する。
ここで、処理T66で2番の中継機30から送信されたACKが4番の中継機30によって受信された場合について説明する。4番の中継機30では、無線通信部302が2番の中継機30から送信されたACKを受信すると、MCU300はこのACKに含まれるデータ元アドレスやシーケンス番号をもとに、自機が以前に送信したデータに対するACKであるか否かを判断する。2番の中継機30から受信したACKが、自機が以前に送信したデータに対するACKであれば、4番の中継機30のMCU300は、このACKにホップ数の情報(最終宛先情報)が付加されているか否かを判断する。このACKにホップ数の情報が付加されていれば、4番の中継機30のMCU300は、ACKに付加されたホップ数の情報「3」をもとに、送信先ノードを2番の中継機30(第2の上位ノード)とした場合の第2ホップ数「3」を求める。4番の中継機30は、決定済みの通信経路では3番の中継機30(第1の上位ノード)を送信先ノードとしており、この場合の第1ホップ数は「4」となっている。4番の中継機30は、第1ホップ数「4」と、2番の中継機30を送信先ノードとした場合の第2ホップ数「3」との大小を比較する。ここで、送信先ノードを2番の中継機30とした場合の方が、送信先ノードを3番の中継機30とした場合よりもホップ数が少なくなるので、4番の中継機30のMCU300は、送信先ノードを3番の中継機30から2番の中継機30に変更する。また、4番の中継機30のMCU300は、送信先ノードを3番の中継機30から2番の中継機30に変更すると、変更前の送信先ノードである3番の中継機30を送信先の候補ノードとして記憶部301に保存する。なお、送信先ノードを2番の中継機30とした場合の方が、送信先ノードを3番の中継機30とした場合よりも、ホップ数が多くなる場合、4番の中継機30のMCU300は送信先ノードを3番の中継機30から変更しない。
次に、次回のデータ送信時での通信手順について図11を参照して説明する。前回のデータ送信時から送信間隔が経過すると、子機10は、スリープモードから起動し、4番の中継機30にユニキャストで送信データを送信する(図11の処理T71)。
4番の中継機30は、子機10から送信データを受信すると、自機のホップ数「3」に1を加えた次段のホップ数の情報「4」をACKに付加して、子機10に送信する(図11の処理T72)。子機10は、データ送信後にACKを受信すると、スリープモードに戻り、消費電力を低減する。また4番の中継機30は、データ受信時からウェイト時間が経過した時点で、送信先ノードである2番の中継機30にユニキャストで送信データを送信する(図11の処理T73)。
2番の中継機30は、4番の中継機30から送信データを受信すると、ホップ数の情報(最終宛先情報)を付加したACKを4番の中継機30に送信する(図11の処理T74)。また、2番の中継機30は、データ受信時からウェイト時間が経過した時点で、送信先ノードである1番の中継機30にユニキャストで送信データを送信する(図11の処理T75)。
1番の中継機30は、2番の中継機30から送信データを受信すると、ホップ数の情報(最終宛先情報)を付加したACKを2番の中継機30に送信する(図11の処理T76)。また、1番の中継機30は、データ受信時からウェイト時間が経過した時点で、送信先ノードである親機20にユニキャストで送信データを送信する(図11の処理T77)。
親機20は、1番の中継機30からの送信データを受信すると、送信元の1番の中継機30にACKを送信しており(図11の処理T78)、これによって子機10から親機20への1回のデータ送信が完了する。4番の中継機30が、送信先ノードを3番の中継機30から2番の中継機30に変更することによって、ホップ数が少なくなる。したがって、送信元の子機10から送信先の親機20までデータを送信する間にノード間で行われる通信回数が少なくなり、その結果、送信データの衝突が起こりにくくなる。
ところで、上述の実施形態において、子機10は、データ送信後にACKを受信すると、スリープモードに戻って電池の消耗を抑制しているが、外部電源から電力が供給される場合はスリープモードに戻る必要が無い。その場合、子機10も、中継機30と同様に、第2の上位ノードから他のノード宛てに送信されるACKを受信して、このACKに付加されたホップ数の情報から第2ホップ数を求めても良い。そして、子機10が、送信先ノードを第1の上位ノードとする場合の第1ホップ数と第2ホップ数を比較し、第2ホップ数が第1ホップ数よりも少なければ、送信先ノードを第1の上位ノードから第2の上位ノードに変更してもよい。
以上説明したように、本実施形態の無線通信システムでは、子機10から親機20までデータを送信する通信経路が確立していない状態では、子機10及び中継機30の各々はブロードキャストでデータを送信する。上記の通信経路の少なくとも一部で送信先ノードが決まると、子機10及び中継機30のうち送信先ノードが決まったノードは、送信先ノードへユニキャストでデータを送信する。そして、通信経路における下位ノード(子機10又は中継機30)は、下位ノードが送信したデータに対して第1の上位ノードから下位ノード宛てに送信された第1ACKを受信すると、第1ACKに付加されたホップ数をもとに第1ホップ数を求める。また下位ノードは、第1ACKの受信後に、下位ノードが送信したデータに対して第2の上位ノードから他のノードに宛てて送信された第2ACKを受信すると、第2ACKに付加されたホップ数をもとに第2ホップ数を求める。そして、下位ノードは、第1ホップ数よりも第2ホップ数の方が少なければ、第2の上位ノードを送信先ノードに決定するので、ホップ数がより少なくなるように送信先ノードを設定できる。したがって、子機10から親機20までデータを中継伝送する間の通信回数が減り、送信データが衝突する可能性が減少する。
本実施形態において、親機20は、データ受信時に次段のホップ数を付加したACKを送信元ノードに送信してもよい。また、中継機30は、上位ノードからホップ数が付加されたACKを受信すると、ACKに付加されたホップ数から次段のホップ数を求め、次回のデータ受信時に次段のホップ数を付加したACKを送信元ノードに送信してもよい。このように、子機10と親機20との間で通信が行われるたびに、ホップ数の情報が下位のノードへと伝達されていくから、各々の中継機30に予めホップ数の情報を設定しておく必要が無い。
本実施形態において、下位ノードが送信先ノードを決定していない状態で、下位ノードが、第1の上位ノードを送信先ノードに決定した後に、第1ホップ数よりも第2ホップ数の方が少なくなると、送信先ノードを第2の上位ノードに変更してもよい。下位ノードは、ホップ数がより少なくなるように送信先ノードを設定できるから、子機10から親機20までデータを中継伝送する間の通信回数が減り、送信データが衝突する可能性が減少する。
本実施形態において、下位ノードが送信先ノードを第1の上位ノードに決定している状態で、第2ACKから求められた第2ホップ数の方が第1ホップ数よりも少なくなると、下位のノードが、送信先ノードを第2の上位ノードに変更してもよい。下位ノードは、ホップ数がより少なくなるように送信先ノードを設定できるから、子機10から親機20までデータを中継伝送する間の通信回数が減り、送信データが衝突する可能性が減少する。
また、本実施形態の無線通信システムにおいて、下位ノード(子機10及び中継機30)は、送信先ノードを第1の上位ノードから第2の上位ノードに変更する場合、第1の上位ノードを送信先の候補ノードとしてメモリ(記憶部102,301)に保存してもよい。下位ノードは、メモリに候補ノードとして保存している第1の上位ノードと通信が可能である。したがって、下位ノードは、第2の上位ノードとの通信に失敗した場合に、候補ノードの第1の上位ノードと通信することで、子機10と親機20との間の通信が不能になる可能性を低減できる。
本実施形態において、下位ノードは、送信先ノードを決定している状態で、送信先ノードへのデータ送信に失敗すると、送信先ノードへユニキャストでデータを再送信すればよい。また下位ノードは、送信先ノードへの再送信でもデータ送信に失敗すると、メモリに保存されている候補ノードにユニキャストでデータを送信すればよい。また下位ノードは、候補ノードの全てでデータ送信に失敗すると、ブロードキャストでデータを送信して、通信経路を再構築すればよい。このように、下位ノードは、送信先ノードへのデータ送信に失敗すると、送信先ノード及び候補ノードへのユニキャスト送信を順番に試した後、ブロードキャストでデータを送信しているから、データ送信が行えなくなる可能性を低減できる。なお、候補ノードが複数存在する場合、下位ノードは、例えば、ホップ数の少ない候補ノードから順番にデータをユニキャストで送信してもよいし、受信信号強度が大きい候補ノードから順番にデータをユニキャストで送信してもよい。
本実施形態において、中継機30は、他のノードからブロードキャストで送信されたデータを受信した場合、このデータに対するACKを送信する前に、同一のデータに対するACKを親機20が送信していれば、このデータに対するACKを送信しなくてもよい。他のノードが親機20と通信可能である場合、このノードは親機20を送信先ノードにすればホップ数が最小になるから、中継機30はACKを送信する必要は無い。したがって、中継機30がACKの送信を行わないことで、送信データの衝突が起こりにくくなり、送信データのロスが少なくなる。
また、子機10から親機20までの通信経路が確定すると、子機10及び中継機30の各々は、次に上位ノードへデータを送信する場合に、個々のノードに割り当てられた識別情報(例えばノード番号)をデータに付加して送信してもよい。
子機10は、ホップ数が付加されたACKを受信すると、このACKを送信してきた中継機30を送信先ノードに決定しており、親機20までの通信経路が確定したと判断する。この子機10は、次にデータを送信する際に、自機の識別情報と、中継機30に通信経路を通知させるコマンドとをデータに付加して上位ノードに送信する。このデータを受信した中継機30は、データに付加されたコマンドに応じて、受信したデータに自機の識別情報をさらに付加して上位ノードに送信する。これにより、親機20が受信したデータには、子機10から親機20までの通信経路を構成する各ノードの識別情報が順番に付加されることになる。よって、親機20は、子機10から親機20までの通信経路を把握することができる。
10 子機(第1のノード)
20 親機(第2のノード、下位ノード)
30 中継機(第3のノード、下位ノード)

Claims (10)

  1. 無線通信システムを構成するノードとして、無線通信機能を有する送信元の第1ノードと、無線通信機能を有する送信先の第2ノードと、前記第1ノードと前記第2ノードとの間の無線通信を中継する機能をそれぞれ有する複数台の第3ノードとを備え、
    前記第1ノードから前記第2ノードまでデータを送信する通信経路が確立していない状態では、前記第1ノード及び前記第3ノードの各々はブロードキャストでデータを送信するように構成され、
    前記通信経路の少なくとも一部で送信先ノードが決まると、前記第1ノード及び前記第3ノードのうち送信先ノードが決まったノードは、前記送信先ノードへユニキャストでデータを送信するように構成され、
    前記第3ノードは、データ受信時に次段のホップ数を付加したACKを送信元ノードに送信するように構成され、
    前記通信経路における下位ノードは、前記下位ノードが送信したデータに対して第1の上位ノードから前記下位ノードに宛てて送信された第1ACKを受信すると、前記第1ACKに付加されたホップ数をもとに、送信先ノードを前記第1の上位ノードとした場合の第1ホップ数を求め、
    前記下位ノードは、前記第1ACKの受信後に前記下位ノードが送信したデータに対して第2の上位ノードから他のノードに宛てて送信された第2ACKを受信すると、前記第2ACKに付加されたホップ数をもとに、送信先ノードを前記第2の上位ノードとした場合の第2ホップ数を求め、
    前記下位ノードは、前記第1ホップ数よりも前記第2ホップ数の方が少なければ、前記第2の上位ノードを送信先ノードに決定するように構成された
    ことを特徴とする無線通信システム。
  2. 前記第2ノードは、データ受信時に次段のホップ数を付加したACKを送信元ノードに送信するように構成され、
    前記第3ノードは、上位ノードからホップ数が付加されたACKを受信すると、前記ACKに付加されたホップ数から次段のホップ数を求め、次回のデータ受信時に前記次段のホップ数を付加したACKを送信元ノードに送信するように構成された
    ことを特徴とする請求項1に記載の無線通信システム。
  3. 前記下位ノードが送信先ノードを決定していない状態で、前記下位ノードが前記第1ACKを受信した場合に、前記第1ACKにホップ数が付加されていれば、前記下位ノードは前記第1の上位ノードを送信先ノードに決定し、
    前記下位ノードが前記第1ACKを受信した後に前記第2ACKを受信した場合に、前記第2ACKにホップ数が付加されていれば、前記下位ノードは前記第1ホップ数と前記第2ホップ数との大小を比較し、
    前記第1ホップ数よりも前記第2ホップ数の方が少なければ、前記下位ノードは送信先ノードを前記第1の上位ノードから前記第2の上位ノードに変更するように構成された
    ことを特徴とする請求項2に記載の無線通信システム。
  4. 前記下位ノードが送信先ノードを前記第1の上位ノードに決定している状態で、
    前記下位ノードが送信したデータに対して前記第2の上位ノードから他のノード宛てに送信された前記第2ACKを前記下位ノードが受信した場合に、前記第2ACKにホップ数が付加されていれば、前記下位ノードは前記第1ホップ数と前記第2ホップ数との大小を比較し、
    前記第1ホップ数よりも前記第2ホップ数の方が少なければ、前記下位ノードは送信先ノードを前記第1の上位ノードから前記第2の上位ノードに変更するように構成された
    ことを特徴とする請求項2又は3に記載の無線通信システム。
  5. 前記下位ノードは、送信先ノードを前記第1の上位ノードから前記第2の上位ノードに変更する場合、前記第1の上位ノードを送信先の候補ノードとしてメモリに保存するように構成された
    ことを特徴とする請求項3又は4に記載の無線通信システム。
  6. 前記下位ノードは、送信先ノードを決定している状態で、前記送信先ノードへのデータ送信に失敗すると、前記送信先ノードへユニキャストでデータを再送信するように構成され、
    前記下位ノードは、前記送信先ノードへの再送信でもデータ送信に失敗すると、前記メモリに保存されている前記候補ノードにユニキャストでデータを送信するように構成され、
    前記下位ノードは、前記候補ノードの全てでデータ送信に失敗すると、ブロードキャストでデータを送信して、前記通信経路を再構築するように構成された
    ことを特徴とする請求項5に記載の無線通信システム。
  7. 前記第3ノードは、他のノードからブロードキャストで送信されたデータを受信した場合、前記データに対するACKを送信する前に、同一の前記データに対するACKを他の前記第3ノードが送信していれば、前記データに対するACKを送信しないように構成された
    ことを特徴とする請求項1〜6の何れか1項に記載の無線通信システム。
  8. 前記第3ノードは、他のノードからブロードキャストで送信されたデータを受信した場合、前記データに対するACKを送信する前に、同一の前記データに対するACKを前記第2ノードが送信していれば、前記データに対するACKを送信しないように構成された
    ことを特徴とする請求項1〜7の何れか1項に記載の無線通信システム。
  9. 前記第3ノードは、他のノードからブロードキャストで送信されたデータを受信して、前記データに対するACKを最初に送信した場合、ACKの返送時間よりも長いウェイト時間が経過した後に、上位ノードへ前記データを中継送信するように構成された
    ことを特徴とする請求項1〜8の何れか1項に記載の無線通信システム。
  10. 前記通信経路が確定すると、前記第1ノード及び前記第3ノードの各々は、次に上位ノードへデータを送信する場合に、個々のノードに割り当てられた識別情報を前記データに付加して送信するように構成された
    ことを特徴とする請求項1〜9の何れか1項に記載の無線通信システム。
JP2014159771A 2013-11-26 2014-08-05 無線通信システム Expired - Fee Related JP6384785B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014159771A JP6384785B2 (ja) 2014-08-05 2014-08-05 無線通信システム
CN201480061277.3A CN105706496B (zh) 2013-11-26 2014-11-19 无线通信系统
US15/034,357 US10251202B2 (en) 2013-11-26 2014-11-19 Wireless communication system
PCT/JP2014/005806 WO2015079656A1 (ja) 2013-11-26 2014-11-19 無線通信システム
DE112014005395.3T DE112014005395T5 (de) 2013-11-26 2014-11-19 Drahtloskommunikationssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014159771A JP6384785B2 (ja) 2014-08-05 2014-08-05 無線通信システム

Publications (2)

Publication Number Publication Date
JP2016039411A JP2016039411A (ja) 2016-03-22
JP6384785B2 true JP6384785B2 (ja) 2018-09-05

Family

ID=55530192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014159771A Expired - Fee Related JP6384785B2 (ja) 2013-11-26 2014-08-05 無線通信システム

Country Status (1)

Country Link
JP (1) JP6384785B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1557008B1 (en) * 2002-10-30 2008-07-30 Telefonaktiebolaget Lm Ericsson A method for use an ad-hoc wlan system
JP4076022B2 (ja) * 2004-03-05 2008-04-16 Kddi株式会社 マルチホップ無線ネットワークの経路確立方法および無線端末
WO2006098723A1 (en) * 2005-03-10 2006-09-21 Thomson Licensing Hybrid mesh routing protocol
JP5812917B2 (ja) * 2011-03-31 2015-11-17 ミツビシ・エレクトリック・リサーチ・ラボラトリーズ・インコーポレイテッド マルチホップネットワークにおいて複数の経路を発見する方法および複数の経路を検索するノード

Also Published As

Publication number Publication date
JP2016039411A (ja) 2016-03-22

Similar Documents

Publication Publication Date Title
US9842202B2 (en) Device proximity
WO2015079656A1 (ja) 無線通信システム
ES2805350T3 (es) Protocolo de interconexión en red de múltiples saltos para implementaciones de red de sensores de recolección de energía de área extensa
US8605657B2 (en) Mesh routing method and mesh routing apparatus in beacon enabled wireless AD-HOC networks
JP5038813B2 (ja) 無線センサ装置及び無線センサ装置の起動制御方法
JP6508594B2 (ja) 通信ノード、通信方法及び無線通信システム
JP2009267532A5 (ja)
CN103973532A (zh) 通信网络和用于在通信网络中通信的方法
US20180338290A1 (en) Control system, communication method, communication device, and terminal device
JP6841368B2 (ja) 無線センサシステム、無線端末装置、通信制御方法および通信制御プログラム
JP6399424B2 (ja) 無線通信システム
JP2016218660A (ja) センサ情報伝送装置、センサ、センサ情報伝送システム、センサ情報伝送方法およびセンサ情報伝送プログラム
JP6384785B2 (ja) 無線通信システム
JP2015211273A (ja) 無線通信システム
ES2754450T3 (es) Sistema de bus, estación participante para ello y procedimiento para la configuración de un sistema de bus estático para una comunicación dinámica
JP2015170971A (ja) 無線通信システム
JP6929634B2 (ja) 制御装置、端末装置及び機器制御システム
ES2600457T3 (es) Método para mejorar la transferencia de datos a través de una disposición de red inalámbrica
JP6399432B2 (ja) 無線通信システム
US20220159546A1 (en) Wireless communication system, wireless communication device, and wireless communication control method
JP2016009929A (ja) 無線通信システム
JP2007129467A (ja) 中継接続ユニット
JP6036859B2 (ja) 通信装置
JP6234848B2 (ja) 無線通信システム、無線通信装置及び無線機
KR102151993B1 (ko) 정보 전달 단말 및 방법

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180727

R151 Written notification of patent or utility model registration

Ref document number: 6384785

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees