(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6807113
(24)【登録日】2020年12月9日
(45)【発行日】2021年1月6日
(54)【発明の名称】通信システム、通信方法及び通信装置
(51)【国際特許分類】
H04L 1/00 20060101AFI20201221BHJP
H04L 12/70 20130101ALI20201221BHJP
H04W 84/18 20090101ALI20201221BHJP
H04W 4/38 20180101ALI20201221BHJP
H04W 28/04 20090101ALI20201221BHJP
H04W 76/10 20180101ALI20201221BHJP
【FI】
H04L1/00 A
H04L12/70 F
H04W84/18
H04W4/38
H04W28/04
H04W76/10 110
【請求項の数】15
【全頁数】14
(21)【出願番号】特願2019-107428(P2019-107428)
(22)【出願日】2019年6月7日
(65)【公開番号】特開2020-202470(P2020-202470A)
(43)【公開日】2020年12月17日
【審査請求日】2019年6月7日
(73)【特許権者】
【識別番号】519166154
【氏名又は名称】ソナス株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100172591
【弁理士】
【氏名又は名称】江嶋 清仁
(72)【発明者】
【氏名】大原 壮太郎
(72)【発明者】
【氏名】鈴木 誠
【審査官】
川口 貴裕
(56)【参考文献】
【文献】
特開平03−174841(JP,A)
【文献】
米国特許出願公開第2008/0062901(US,A1)
【文献】
Zhitao He et al.,Arpeggio: a Penetration Attack on Glossy Networks, 2016 13th Annual IEEE International Conference on Sensing, Communication, and Networking (SECON),2016年11月 3日
(58)【調査した分野】(Int.Cl.,DB名)
H04L 1/00
H04L 12/70
H04W 4/00 − 99/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
複数の通信ノード間で同時送信を利用したフラッディングにより通信を行う通信システムであって、前記複数の通信ノードは、パケットを生成して送信する送信ノード、前記パケットを中継する中継ノード、および前記パケットの宛先となる宛先ノードのいずれかであり、
前記送信ノードは、所定の送信データと、少なくとも前記送信データに対する第1の誤り検出符号と、少なくとも前記送信データと前記パケットが送信されるタイミングに対応するタイミング情報と前記第1の誤り検出符号とに対する第2の誤り検出符号と、を含む前記パケットを生成して送信し、
前記中継ノードは、前記パケットを受信し、前記第2の誤り検出符号に基づいて誤り検出を行い、誤りが検出された場合は前記パケットを破棄し、誤りが検出されなかった場合は、前記第2の誤り検出符号を更新して前記パケットを再構成して送信し、
前記宛先ノードは、前記送信ノードまたは前記中継ノードから前記パケットを受信し、少なくとも前記第1の誤り検出符号に基づいて誤り検出を行う、
ことを特徴とする通信システム。
【請求項2】
前記タイミング情報は前記中継ノードが前記パケットを中継するときに変更されることを特徴とする請求項1に記載の通信システム。
【請求項3】
前記第2の誤り検出符号は、前記パケットの内の前記第2の誤り検出符号を除くすべてのデータに対して生成され、
前記第1の誤り検出符号は、前記パケットの内の前記タイミング情報と、前記第1の誤り検出符号と、前記第2の誤り検出符号とを除くすべてのデータに対して生成されることを特徴とする請求項1又は2に記載の通信システム。
【請求項4】
前記第1の誤り検出符号および前記第2の誤り検出符号は、データリンク層の誤り検出符号であることを特徴とする請求項1から3の何れか1項に記載の通信システム。
【請求項5】
前記第1の誤り検出符号のビット長は前記第2の誤り検出符号のビット長よりも長いことを特徴とする請求項1から4のいずれか1項に記載の通信システム。
【請求項6】
複数の通信ノード間で同時送信を利用したフラッディングにより通信を行う通信方法であって、前記複数の通信ノードは、パケットを生成して送信する送信ノード、前記パケットを中継する中継ノード、および前記パケットの宛先となる宛先ノードのいずれかであり、
前記送信ノードが、所定の送信データと、少なくとも前記送信データに対する第1の誤り検出符号と、少なくとも前記送信データと前記パケットが送信されるタイミングに対応するタイミング情報と前記第1の誤り検出符号とに対する第2の誤り検出符号と、を含むパケットを生成して送信すること、
前記中継ノードが前記パケットを受信し、前記第2の誤り検出符号に基づいて誤り検出を行い、誤りが検出された場合は前記受信したパケットを破棄し、誤りが検出されなかった場合は前記第2の誤り検出符号を更新し、前記パケットを再構成して送信すること、
前記宛先ノードが前記送信ノードまたは前記中継ノードからパケットを受信し、少なくとも前記第1の誤り検出符号に基づいて誤り検出を行うこと、
を含むことを特徴とする通信方法。
【請求項7】
前記タイミング情報は前記中継ノードが前記パケットを中継するときに変更されることを特徴とする請求項6に記載の通信方法。
【請求項8】
前記第2の誤り検出符号は、前記パケットの内の前記第2の誤り検出符号を除くすべてのデータに対して生成され、前記第1の誤り検出符号は、前記パケットの内の前記タイミング情報と、前記第1の誤り検出符号と、前記第2の誤り検出符号とを除くすべてのデータに対して生成されることを特徴とする請求項6又は7に記載の通信方法。
【請求項9】
前記第1の誤り検出符号および前記第2の誤り検出符号は、データリンク層の誤り検出符号であることを特徴とする請求項6から8の何れか1項に記載の通信方法。
【請求項10】
前記第1の誤り検出符号のビット長は前記第2の誤り検出符号のビット長よりも長いことを特徴とする請求項6から9のいずれか1項に記載の通信方法。
【請求項11】
通信装置であって、
データが入力される入力部と前記データを含むパケットを生成する制御部と前記パケットを送信する送信部とパケットを受信する受信部とを含み、
前記制御部は、
前記入力部に入力されたデータを送信するときは、少なくとも前記データに対する第1の誤り検出符号と、少なくとも前記データと前記パケットが送信されるタイミングに対応するタイミング情報と前記第1の誤り検出符号とに対する第2の誤り検出符号とを生成し、前記データと前記タイミング情報と前記第1の誤り検出符号と前記第2の誤り検出符号とを含む前記パケットを生成し、
前記受信部が受信した、他の通信装置からの送信データが含まれるパケットを中継するときは、前記受信したパケットに含まれる第3の誤り検出符号に基づいて誤り検出を行い、誤りが検出されたときは前記受信したパケットを破棄し、誤りが検出されなかったときは前記第3の誤り検出符号を更新し、前記パケットを再構成し、
前記第3の誤り検出符号は、少なくとも前記送信データと少なくとも前記送信データに対する第4の誤り検出符号と前記受信したパケットが送信されたときのタイミングに対応するタイミング情報とに対して生成された、
ことを特徴とする通信装置。
【請求項12】
前記タイミング情報は、パケットが中継されるときに変更されることを特徴とする請求項11に記載の通信装置。
【請求項13】
前記第3の誤り検出符号は、前記パケットの内の前記第3の誤り検出符号を除くすべてのデータに対して生成されることを特徴とする請求項11又は12に記載の通信装置。
【請求項14】
前記第1の誤り検出符号、前記第2の誤り検出符号、前記第3の誤り検出符号及び前記第4の誤り検出符号は、データリンク層の誤り検出符号であることを特徴とする請求項11から13のいずれか1項に記載の通信装置。
【請求項15】
前記第1の誤り検出符号のビット長は前記第2の誤り検出符号のビット長よりも長く、前記第4の誤り検出符号のビット長は前記第3の誤り検出符号のビット長よりも長いことを特徴とする請求項11から14のいずれか1項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フラッディング方式で通信を行う通信システム、通信方法及び通信装置に関する。
【背景技術】
【0002】
センサノードを複数配置して、データ収集を行う場合、ノードの消費電力を抑え、データ収集の確率を高めるため、同時送信を利用したフラッディングというブロードキャスト方式が提案されている(例えば、非特許文献1参照)。
【0003】
同時送信を利用したフラッディング方式では、1つのセンサノードがデータ送信を行った際、そのデータを受信した1つ以上の中継ノードが、データ受信後、同じデータをブロードキャスト的に送信する。中継ノードが無線信号の同時送信を起こし、これを複数回繰り返すことで、無線通信システム全体にデータを伝達することが可能である。同時送信を利用したフラッディング方式では、同時に同じデータが複数のノードから送信され、中継ノードは複数のノードから同時に信号を受信しても復号ができる。またルーティングも不要であり、実装も簡単化でき、消費電力を低減できる利点がある。
【0004】
同様な方式には、各通信ノードにタイムスロットを割当て、タイムスロット内にフラッディング方式を用いて自ノードのデータを送信し、受信した中継ノードは割り当てられたタイムスロットでデータを中継する。これを繰り返すことで送信ノードから送信されたデータを中継し、最終的にデータ収集ノードに到達させる方式がある。(例えば、非特許文献2参照)。
【0005】
特許文献1には、中継ノードを介して発信元ノードから宛先ノードへパケットを送信すること、パケットに巡回冗長検査(CRC)を含めること、中継は復号化不可能なパケットを破棄することが記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−42911号公報
【非特許文献】
【0007】
【非特許文献1】F. Ferrari et al., ”Efficient Network Flooding and Time Synchronization with Glossy”, IPSN'11, 2011
【非特許文献2】Chao GAO et al., ”Efficient Collection Using Constructive−Interference Flooding in Wireless Sensor Networks”, 電子情報通信学会ソサイエティ大会講演論文集,2011年_通信(2),428,2011−08−30
【非特許文献3】鈴木 誠、長山 智則、大原 壮太郎、森川 博之、”同時送信型フラッディングを利用した構造モニタリング”、電子情報通信学会論文誌B、No.12、pp.952−960、2017
【発明の概要】
【発明が解決しようとする課題】
【0008】
センサデータの収集に適するプロトコル、例えばIEEE802.15.4ではFCS(frame check sequence)にCRC16を使っている。ところで、同時送信を利用したフラッディング方式による通信でデータ収集を行う場合は、中継ノードは受信したデータを同じタイミングで送信するように構成されるので、中継時に大きな遅延は許容し難い。また長期間にわたりバッテリ駆動されることが多いので、中継ノードはできるだけ低消費電力であることがよい。そのためにフラッディング方式に使用する中継ノードには、誤り検出符号の生成等の処理に必要な時間と電力の低減が要求されるため、長いビット長のFCSを使うことは避けたい。一方、フラッディング方式による通信では必ずしも送信ノードに距離的に近いノードが中継をするとは限らない。距離が離れた中継ノードがデータを受信し、その際に受信条件によっては誤ったデータを正常なデータとして復号し、次のノードに送信することがあり得る。また、センサデータの収集は、多数の箇所に配置されたセンサデータを所定の時間間隔で長期間にわたって行うことが多いので、伝送されるデータが多くなる分だけデータの伝送誤りが発生する回数も多くなる可能性がある。したがって、CRC16よりも優れた誤り検出性能を有する、長いビット長のFCSを使用したいという要求もあった。
【0009】
本発明は、上記の課題に鑑みて成されたものであり、同時送信を利用したフラッディング方式を用いる通信を行う無線通信システムにおいて、データの伝送エラーの検出精度を向上するのに有利な技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明は、複数の通信ノード間で同時送信を利用したフラッディングにより通信を行う通信システムであって、前記複数の通信ノードは、パケットを生成して送信する送信ノード、前記パケットを中継する中継ノード、および前記パケットの宛先となる宛先ノードのいずれかであり、前記送信ノードは、所定の送信データと、少なくとも前記送信データに対する第1の誤り検出符号と、少なくとも前記送信データと前記パケットが送信されるタイミングに対応するタイミング情報と前記第1の誤り検出符号とに対する第2の誤り検出符号と、を含む前記パケットを生成して送信し、前記中継ノードは、前記パケットを受信し、前記第2の誤り検出符号に基づいて誤り検出を行い、誤りが検出された場合は前記パケットを破棄し、誤りが検出されなかった場合は、前記第2の誤り検出符号を更新して前記パケットを再構成して送信し、前記宛先ノードは、前記送信ノードまたは前記中継ノードから前記パケットを受信し、少なくとも前記第1の誤り検出符号に基づいて誤り検出を行うことを特徴とする。
【発明の効果】
【0011】
本発明によれば、同時送信を利用したフラッディング方式を用いる無線通信システムにおいて、データの伝送エラーの検出精度を向上するのに有利な技術を提供することができる。
【図面の簡単な説明】
【0012】
【
図1】一実施形態に係る無線通信システムの構成例を示す図。
【
図2】一実施形態に係る送信ノードの機能ブロック図。
【
図3】一実施形態に係る中継ノードの機能ブロック図。
【
図4】一実施形態に係るシンクノードの機能ブロック図。
【
図5】一実施形態に係るフラッディング方式を用いる通信のサブスロットを示すタイミング図。
【
図6】一実施形態に係るフラッディング方式を用いた通信で送受信されるパケットの構造の一例を示す図。
【
図7】一実施形態に係るフラッディング方式を用いる通信のフラッディングスロットを示すシーケンス図。
【
図8】一実施形態に係る送信ノードが実行する処理の一例を示すフローチャート図。
【
図9】一実施形態に係る中継ノードが実行する処理の一例を示すフローチャート図。
【
図10】一実施形態に係るシンクノードが実行する処理の一例を示すフローチャート図。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0014】
<第1の実施形態>
図1は、第1の実施形態に係る中継ノードを含む無線通信システム100を示すブロック図である。
【0015】
この例では、無線通信システム100は、通信を行う通信ノードとしてパケットを生成して送信する送信ノード110、パケットを中継する中継ノード120a〜120fおよびパケットの宛先である宛先ノードを含む。ここでは宛先ノードとしてデータを収集するシンクノード130を例に説明する。
【0016】
本実施形態に係る無線通信システムの送信ノードは、所定のタイミングでセンサデータなどを含むパケットを生成し、送信を行う。そのパケットを受信した中継ノードは同じパケットをフラッディング方式を用いてブロードキャスト送信する。この受信と送信を繰り返すことにより、送信ノード110から送信されたデータはパケットの宛先であるシンクノード130で収集される。送信ノード110からデータが送信され、中継ノード120はフラッディング方式を用いるブロードキャスト送信を繰り返してデータを中継する。データが送信ノードから送信されて、中継されたデータをシンクノード130が受信するまでの1つのサイクルが実行される期間をフラッディングスロットと呼ぶ。フラッディングスロット内において、各通信ノードが送信または受信を行うタイムスロットをサブスロットと呼ぶ。
【0017】
なお、
図1では、1台の送信ノード110、複数の中継ノード120a〜120f、および宛先ノードとして1台のシンクノード130を含む無線通信システムを例に説明を行うが、無線通信システムは複数の送信ノード110および複数のシンクノード130を含んでもよい。
【0018】
また、本実施形態では、送信ノード110と中継ノード120とは別の通信ノードであるものとして説明を行うが、送信ノード110が、中継ノード120として動作してもよい。また中継ノード120が送信ノード110として動作することもできる。通信ノードが
図1に示されるように配置されている場合、実線で示すように、距離が近い通信ノードを経由してパケットが送信ノード110からシンクノード130へ伝送される場合について以下に説明する。
【0019】
通信ノード間での同時送信を利用したフラッディング方式による通信の説明の前に、それぞれのタイプの通信ノードについて説明する。また本実施形態では、送信ノード110が、センサからのデータを送信する場合を例に送信ノード110について
図2により説明する。送信ノード110は、送信部と受信部とを含む無線通信部201と、通信制御部202と、スケジュール管理部203と、時刻生成部204と、データ保持部205と、センサ入力部207とを備える。通信制御部202は、送信処理部2021と、転送処理部2022とを備える。この例ではセンサ206は送信ノード110のセンサ入力部207に接続されているが、送信ノード110は、内部にセンサ206を備えてもよい。
【0020】
センサ206は、設置個所における所定のセンシングを行い、センシングしたデータを送信ノード110へ送信する。無線通信部201は、無線通信の送受信部として動作するモジュールであり、他の中継ノード120との間で無線通信部201が備えるアンテナまたは外部のアンテナ(不図示)を介して無線によりデータの送受信を行う。通信制御部202は、無線通信部201の通信状態を管理し、決められたシーケンスに従って送信・転送処理を実行させる。
【0021】
通信制御部202の送信処理部2021は、データ保持部205からのデータを無線通信部201へ送出するが、その際にデータに対する第1の誤り検出符号を生成してデータに付加することができる。通信制御部202の転送処理部2022は、無線通信部201の受信部を介して他の通信ノードからのパケットを受信すると共に、他の通信ノードからのデータを解析して、受信したパケットをブロードキャスト送信する中継処理を担当する。その際にパケットに含まれる後述する第2の誤り検出符号の誤りを検出した場合は、そのパケットを破棄する。また、転送処理部2022は、中継処理において、パケットに含まれる後述するタイミング情報を変更する。無線通信部201が送信するデータは、
図6を参照して後述する。また、無線通信部201は送信するパケットについて第2の誤り検出符号を生成し、パケットに含めて送信する。第1の誤り検出符号は第2の誤り検出符号よりも誤り検出精度が優れた符号を使うとよい。誤り検出符号はデータリンク層の誤り検出符号であり、例えば第1の誤り検出符号はCRC32であり、第2の誤り検出符号は第1の誤り検出符号よりビット長が短いCRC16である。
【0022】
センサ入力部207は、センサ206からのデータを受け取ってデータ保持部205に送る。データ保持部205は、センサ入力部207からのセンサデータを時刻と対応させて保持するメモリを備える。スケジュール管理部203は、送信ノード110の送受信タイミングの管理を行う。また、スケジュール管理部203は、フラッディングスロット長や、サブスロット長、フラッディングスロットにおける最大送信回数などの、フラッディング方式の通信に必要なパラメータを保持する。時刻生成部204は、時計であり、各処理部の制御タイミング設定に用いられる。本実施形態では送信ノードがセンサからのデータを送信するものを例に説明するが、センサからのデータを送信するのに限らない。例えば、送信ノードは他の情報処理装置からの情報を送信することもできる。
【0023】
図3は、中継ノード120の構成を示すブロック図である。中継ノード120は、無線通信部301と、通信制御部302と、スケジュール管理部303と、時刻生成部304とを備える。通信制御部302は、転送処理部3022を備える。
【0024】
中継ノード120の無線通信部301、スケジュール管理部303、および時刻生成部304は、それぞれ送信ノード110の無線通信部201、スケジュール管理部203、および時刻生成部204と同様の機能を有するため、説明を省略する。中継ノードの通信制御部302は、送信処理部を有していないこと以外は送信ノードの通信制御部202と同様の機能を有するため説明を省略する。なお、中継ノード120は随意に送信ノード110と同様の構成を備えてもよく、送信ノードとしての機能を持っていてもよい。
【0025】
図4に、シンクノード130の構成例を示す。シンクノード130は、無線通信部401と、通信制御部402と、データ収集部403と、スケジュール管理部404と、時刻生成部405と、を備える。通信制御部402は、受信処理部4021と、再送処理部4022と、同期処理部4023とを備える。
【0026】
無線通信部401は、無線通信の送受信部として動作するモジュールであり、無線通信部401が備えるアンテナまたは外部のアンテナ(不図示)を介して無線によりデータの送受信を行う。また、無線通信部401は受信したパケットに含まれる第2の誤り検出符号を検査して、誤りがあった場合には受信したパケットを破棄する。受信処理部4021は、受信したパケットデータに含まれる第1の誤り検出符号により受信したデータが誤っているかどうかを判定し、正常に受信されたデータをデータ収集部403に格納する。受信したデータに誤りが検出された場合は、再送処理部4022は送信ノード110に対する再送命令を生成して無線通信部401を介して再送を指示する。同期処理部4023は、系全体のスケジュールを作成管理する。スケジュール管理部404は、自己のサブスロットの管理を行う。また、スケジュール管理部404は、フラッディングスロット長や、サブスロット長、フラッディングスロットにおける最大送信回数などの、フラッディング方式の通信に必要なパラメータを保持する。時刻生成部405は、時計である。
【0027】
同期処理部4023は、系全体のスケジュールを作成管理するため、各送信ノード110および中継ノード120に対して、定期的に時刻同期パケットを送信する。シンクノード130は自己のサブスロットに送出するパケットを用いて他の送信ノード110および中継ノード120に同期を促す。時刻同期パケットは、他の通信と同様に、フラッディング方式で中継される。
【0028】
一例では、シンクノード130は、収集したデータを、外部装置に送信するための通信部または外部の通信装置に接続するインタフェースを随意に有してもよい。通信部は、セルラ通信などの広域無線通信ネットワーク、Wi−Fiなどの無線ローカルエリアネットワーク、および有線ネットワークの少なくとも何れかを含む通信ネットワークと通信を行うよう構成するとよい。
【0029】
次に、
図5を参照して、
図1の構成の無線通信システムが行う同時送信を利用したフラッディング方式による通信の一例を概略説明する。
【0030】
図5は、
図1のノード構成において実線で示すような経路で通信が行われる場合の各通信ノードのサブスロットの使用例を示している。なお、この例では、通信ノードが1つのフラッディングスロット内で送信を行うことができる最大送信回数を規定する。ここでは、最大送信回数は2回であるものとして説明を行う。つまり一つのフラッディングスロットの期間内では通信ノードがパケットを送信できる回数は2回までに制限される。
【0031】
まず、最初のサブスロット501において、送信ノード110は、パケットを送信する。送信ノード110からのパケットは、中継ノード120aおよび120bが受信するものとする。なお、
図5においてTXは通信ノードがパケットを送信することを表し、RXは通信ノードがパケットを受信することを表している。
【0032】
ここで、
図6を参照して、送信ノード110が送信するパケットフォーマットの一例を説明する。
【0033】
送信元601は、パケットの送信元を示す識別子である。本実施形態では送信ノード110を示す情報である。宛先情報602は、パケットの宛先を示す識別子である。本実施形態ではシンクノード130を示す情報である。送信データ603は、パケットのペイロードであり、本実施形態では送信ノード110のセンサ206が取得したセンサデータに基づいて生成される情報であるが、これに限らない。他の情報処理装置からのデータを送信データ603としてもよい。パケットタイプ604は、時刻同期パケット、データのためのパケット、またはスリープパケットなどの、通信ノードが送信するパケットの種類を示す情報である。認証コード605は、送信ノード110が無線通信システム内の正当な送信ノード110であることを検証するために用いられる情報である。この例では、第1の誤り検出符号606は、
図6の送信元601から認証コード605までのデータの内の、少なくとも送信データ603を含む所定の送信データに対して生成された誤り検出符号とする。タイミング情報607は、パケットが送信されるタイミングを示す情報であり、例えば
図5のサブスロット番号に対応する情報である。第2の誤り検出符号608は、
図6の送信元601からタイミング情報607までのデータの内の、少なくとも送信データ603とタイミング情報を含む所定の送信データに対して生成された誤り検出符号とする。
【0034】
図5に戻ってフラッディング方式による通信についての説明をする。中継ノード120は、パケットを中継する場合に、パケットに含まれる第2の誤り検出符号608を検査し、誤りを検出した場合はそのパケットを破棄する。誤りを検出しなかった場合は次の通信ノードへパケットを転送する。転送時には、中継ノード120は少なくとも送信元601、宛先情報602、送信データ603、およびパケットタイプ604を変更しない。一方で、タイミング情報607を変更して転送する。タイミング情報が変更されるので、中継ノード120は第2の誤り検出符号608を生成し直して更新し、パケットを再構成して次の通信ノードへ向けて転送する。タイミング情報は中継ノード120における中継のタイミングに対応して変更され、変更されたタイミング情報を含むデータに対して中継ノード120は、転送の際に第2の誤り検出符号の更新を行う。
【0035】
例えば、サブスロット501において、送信ノード110は、タイミング情報607に「1」を設定してパケットを送信する。送信ノード110から送信されたパケットは、サブスロット501において中継ノード120aおよび120bに受信される。
【0036】
サブスロット501の次のサブスロット502において、中継ノード120aおよび120bは、タイミング情報607を「2」に増やしてパケットの転送を行う。1つのサブスロット内で、複数の通信ノードが送信したパケットは、データが同一であり、送信時刻が同期されているため、衝突しても問題なく復号される。このため、中継ノード120cは、中継ノード120aおよび120bから同時送信されたパケットを1つのパケットとして受信する。中継ノード120aおよび120bからのパケットは、送信ノード110ならびに中継ノード120cおよび120dが受信するものとする。
【0037】
続いて、サブスロット502の次のサブスロット503において、送信ノード110ならびに中継ノード120cおよび120dは、中継ノード120aおよび120bから受信したパケットを送信する。送信ノード110ならびに中継ノード120cおよび120dは、タイミング情報607を「3」に設定して受信したパケットを転送する。送信ノード110ならびに中継ノード120cおよび120dからのパケットは、中継ノード120a、120b、120e、および120f、ならびにシンクノード130が受信するものとする。このとき、送信ノード110の送信回数は2回目になり、送信回数が最大送信回数に達したために、以降のサブスロットでは送信は行わない。
【0038】
それ以降も中継が行われ、サブスロット504でパケットを送信した中継ノード120a、120bは送信回数が最大送信回数の2回に達したため、以降のサブスロットでは送信を行わない。サブスロット506において、中継ノード120cおよび120dからのパケットを受信した中継ノード120eおよび120fは、タイミング情報607を「6」に設定して受信したパケットを転送する。中継ノード120eおよび120fからのパケットは、シンクノード130に受信される。
【0039】
なお、シンクノード130が、後述する時刻同期などのために時刻同期パケット(時刻同期信号)を送信する場合も、送信ノード110からシンクノード130へのフラッディングと同様に、シンクノード130から各通信ノードへ情報がフラッディングにより伝達される。この場合は送信元601にはシンクノード130の識別子が設定され、宛先情報にはブロードキャストであることを示す情報が設定され、パケットタイプには時刻同期パケットを示す情報が設定される。
【0040】
また、この例では、サブスロット501では中継ノード120c〜120fおよびシンクノード130はパケットを検出しなくても受信を行っている。また、サブスロット502でも、中継ノード120e〜120fおよびシンクノード130は受信を行っている。すなわち、フラッディングスロットが始まると、中継ノード120a〜120fおよびシンクノード130はパケットを受信するために受信動作を行っている。
【0041】
次に、
図7を参照して、本実施形態に係る無線通信システムが実行する処理の一例を概略説明する。
【0042】
図7は、シンクノード130が無線通信システム内の時刻同期を実行させ、送信ノード110からデータを収集するまでの処理のシーケンス図を示す。
【0043】
ここで
図7に示すように、フラッディングスロットとは、例えば時刻同期をするときは、シンクノード130が送信した時刻同期パケットがネットワーク内の通信ノードに行き渡るまでの期間である。また、送信ノード110がデータ送信をするときは、送信ノード110からシンクノード130への送信に割り当てられる期間でもある。このように各フラッディングスロットは、フラッディングによるデータ転送の期間を表す。言い換えると、1つのフラッディングスロットは、シンクノード130から、送信ノード110および中継ノード120のうちの少なくとも1台のノードを宛先とした一連の通信に割り当てられる期間(ダウンリンク)を表す。または送信ノード110および中継ノード120のうちの少なくとも1台の通信ノードからシンクノード130への一連の通信に割り当てられる期間(アップリンク)を表す。
【0044】
アップリンクおよびダウンリンクの両方において、
図5で説明したようなフラッディング方式の通信が用いられる。ダウンリンクの場合はシンクノード130が送信ノードとなる。この場合は、パケットの送信元601にはシンクノード130を示す情報が設定され、パケットの宛先情報602には宛先となる通信ノードを示す情報又はブロードキャストを示す情報が設定される。
【0045】
フラッディングスロット701は、シンクノード130が時刻同期パケットを送信する期間である。この期間に、フラッディング方式でネットワーク内の各ノードに時刻同期に必要な情報、例えばタイムスタンプ情報、を無線通信システム内の通信ノードに通知する。
【0046】
フラッディングスロット702において、シンクノード130へ送信すべきデータを有している送信ノード110は、時刻同期後の所定のタイミングで、シンクノード130を宛先情報602に設定したデータ送信を要求する送信要求パケットを送信する。
【0047】
一例では、送信ノード110が所定のタイミングとして疑似ランダム関数を用いて生成したランダム時間またはランダム数のサブスロットだけ待機し、送信要求パケット(送信要求信号)を送信する。この場合、送信要求パケットを送信する前に他の送信ノードから送信要求パケットを受信した送信ノード110は、当該他の通信ノードからの送信要求パケットを中継し、自身の送信要求パケットの送信を中止する。このように、フラッディングスロット702において、シンクノード130はデータの送信を要求する通信ノードを把握することができる。
【0048】
続いて、フラッディングスロット703において、シンクノード130は、所定の送信ノード110を宛先情報602に設定し、次のフラッディングスロット704における送信を許可する送信許可パケットを送信する。
【0049】
続いて、フラッディングスロット704において、送信許可パケットで指定された送信ノード110は、当該フラッディングスロットで送信を開始する。すなわち、送信元601にその送信ノード110の識別子を設定し、宛先情報602にシンクノード130の識別子を設定し、データを送信する。
【0050】
続いて、フラッディングスロット704においてセンサデータを正常に受信したと判断したシンクノード130は、フラッディングスロット705において他の送信ノード110にも、送信許可を送信する。フラッディングスロット706以降は、シンクノード130によって送信を許可された送信ノード110の数に対応するフラッディングスロット数だけセンサデータのアップリンク送信が行われる。その後、フラッディングスロットNにおいて、全ての送信ノード110からのデータ収集が完了したと判定したシンクノード130は、スリープを指示するスリープパケット(スリープ信号)を送信する。スリープパケットを受信した無線通信システム内の通信ノードは、フラッディングスロットNの終了後、所定の時刻までスリープ状態に遷移する。
【0051】
<誤り検出符号の生成と付加>
図1のように通信ノードが配置されている場合であっても、送信ノード110が送信したパケットが中継ノード120a、120bに届くタイミングで、
図1に点線で示すように、同じパケットが中継ノード120cで受信される場合がある。その場合に中継ノード120cでの受信状況が悪い(例えばS/N比が低い。)等の理由により受信データに誤りが生じ得る。この誤りの有るデータが、条件によって誤り検出符号で誤りが検出されずに、送信されることがある。そうすると、誤ったデータがシンクノード130に受信されてしまう可能性がある。また、中継ノード120cが誤ったデータを送信した場合、中継ノード120cが送信するデータと中継ノード120a、120bが送信するデータが違うために、パケットが衝突してバーストエラー生じることがある。このバーストエラーを有するデータが誤り検出符号によって検出されずにシンクノード130へ中継されることがあり得る。そこで、第1の誤り検出符号と第2の誤り検出符号とを使って、データ誤りの検出精度を向上させている。
【0052】
以下に、送信ノード110がシンクノードへパケットを送信する場合の動作について
図8により説明する。ここではセンサのデータを送信する場合を例にする。送信ノード110はセンサ206からデータを受信する(S801)。送信処理部2021はパケットに、送信ノードを識別する送信元601と送信先を識別する宛先情報602とを設定する。この例では、パケットタイプ604には「データ」を設定される。さらにセンサからのデータを送信データ603に設定し、送信ノード110の認証コード605を設定する。そして、この送信元601、宛先情報602、送信データ603、パケットタイプ604、認証コード605に対して第1の誤り検出符号606を生成する(S802)。ここで第1の誤り検出符号606を生成する対象は
図6に示される送信元601から認証コード605までの全データとせずに、例えば送信データ603に対してだけ生成してもよい。次に、送信ノード110はタイミング情報を取得し、パケットのタイミング情報607に設定する。例えば「1」をタイミング情報607に設定する(S803)。続いて、送信元601からタイミング情報607までの全データに対する第2の誤り検出符号608を生成してパケットに付加し(S805)、パケットをフラッディング方式により送信する(S806)。第2の誤り検出符号を生成するときも、対象を全データとせずに、例えば送信データ603と第1の誤り検出符号606とタイミング情報607としてもよい。
【0053】
中継ノード120の動作について
図9により説明する。中継ノード120はパケットを受信し(S901)、パケットに含まれた第2の誤り検出符号608を検査する(S902)。誤りが検出された場合はパケットを破棄しパケットの受信を再び開始する。誤りが検出されなかった場合は、パケットのタイミング情報607を更新する(S903)。更新は例えば、タイミング情報607を1増やして、「2」とする。次に新たな第2の誤り検出符号608を生成して(S904)、パケットを再構成し(S905)、パケットをフラッディング方式により送信する(S906)。
【0054】
シンクノード130の動作について
図10により説明する。シンクノード130はフラッディングにより送信されたパケットを受信する(S1001)。受信したパケットについて第2の誤り訂正符号608を検査する。第2の誤り訂正符号608によって誤りが検出された場合はパケットを破棄する(S1002)。誤りが検出されなかった場合は、第1の誤り検出符号606を検査する。誤りが検出された場合はパケットを破棄する(S1003)。誤りが検出されなかった場合は、受信されたデータをデータ収集部403へ格納する(S1003)。
【0055】
第1の誤り検出符号606に第2の誤り検出符号608より検出精度が高い符号を使用するとよい。例えば、第2の誤り検出符号608は中継ノード120で更新する必要があるからハードウエア化が容易で、短時間で生成できるCRC16を採用する。ここでCRC16を採用すれば802.15.4に準拠したフォーマットとすることができるから、規格に準拠した通信用チップを使うことができることや、無線の規制を満たしやすい等の便益がある。第2の誤り検出符号608によりノード間でのデータ誤りを検出することができる。第1の誤り検出符号606は、送信ノード110で生成され、シンクノード130で検査され、中継ノード120では変更されない。この第1の誤り検出符号606には例えばCRC32を採用する。CRC32は、送信ノード110とシンクノード130だけで処理されるので中継の遅延と中継時の電力消費を特に増やすことなくデータに対する誤り検出の精度を向上することができる。第1の誤り検出符号606と第2の誤り検出符号608とでデータに対する誤り検出を2重に行う。このために、第2の誤り検出符号608で見逃された、例えばバーストエラーなどを、第1の誤り検出符号606により検出することが可能になる。
【符号の説明】
【0056】
110:送信ノード、120a〜f:中継ノード、130:シンクノード