(57)【要約】      （修正有）【課題】マルチホップメッシュネットワークにおいてより短い遅延時間によりデータ送信を実現するためのネットワーク、ノードおよび方法を提供する。【解決手段】時間同期されたネットワークは、複数のノードを備える。複数のノードは、複数のソースノードと、複数の宛先ノードと、少なくとも１つの中間ノードとを備える。複数のソースノードは、第１のフラッディングラウンドにおいてそれぞれの送信機を介してその他のソースノードとコンカレントに複数の対応する宛先ノードへデータを送信する。複数の宛先ノードは、それぞれの受信機を介して複数の対応するソースノードからデータを受信する。中間ノードは、それぞれの受信機を介して複数のソースノードのうちの少なくとも１つからデータを受信し、送信機を使用して、受信されたデータを、そのデータが受信された形態で再送信する。【選択図】図２
2020048189.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを備える時間同期されたネットワークであって、前記複数のノードがそれぞれ、
受信機と、送信機と、コントローラと、プログラム命令を格納するメモリとを備え、前記複数のノードが、前記ネットワーク内の時間同期されたデータ再送信に参加するのに適しており、
前記複数のノードが、複数のソースノードと、複数の宛先ノードと、少なくとも１つの中間ノードとを備え、
前記複数のソースノードのうちの各々の前記それぞれのプログラム命令が、前記それぞれのコントローラによって実行されたときに、
第１のフラッディングラウンドにおいて前記それぞれの送信機を介してその他のソースノードとコンカレントに複数の対応する宛先ノードへデータを送信することを前記それぞれのコントローラに行わせ、
前記複数の宛先ノードの前記それぞれのプログラム命令が、前記それぞれのコントローラによって実行されたときに、
前記それぞれの受信機を介して複数の対応するソースノードからデータを受信することを前記それぞれのコントローラに行わせ、
前記中間ノードの前記それぞれのプログラム命令が、前記それぞれのコントローラによって実行されたときに、
前記それぞれの受信機を介して前記複数のソースノードのうちの少なくとも１つからデータを受信することと、
前記それぞれの送信機を使用して、前記受信されたデータを、そのデータが受信された形態で再送信することとを前記それぞれのコントローラに行わせる、
時間同期されたネットワーク。
【請求項２】
前記複数の宛先ノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、前記対応するソースノードからデータが受信されたときに第２のフラッディングラウンドにおいてその他の宛先ノードとコンカレントに信号を送信することを前記それぞれのコントローラに行わせ、前記信号が、前記対応するソースノードからの前記データが成功裏に受信されたということを示す、請求項１に記載のネットワーク。
【請求項３】
前記複数のソースノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、単一のチャネル上で、または複数のチャネル上で前記データを送信することを前記それぞれのコントローラに行わせる、請求項１に記載のネットワーク。
【請求項４】
前記複数のノードが、シンクロナイザノードを備え、前記シンクロナイザノードの前記それぞれのプログラム命令が、前記それぞれのコントローラによって実行されたときに、前記複数のノードが時間同期されるように同期フラッディングラウンドにおいて前記ネットワークをフラッドさせることを前記それぞれのコントローラに行わせる、請求項１に記載のネットワーク。
【請求項５】
前記複数のソースノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、データが前記ソースノードにおいて作成されたかどうかに基づいて、データが送信されるべきであるかどうかを決定することと、データを作成した前記その他のソースノードとコンカレントに前記第１のフラッディングラウンドにおいて前記データを送信することとを前記それぞれのコントローラに行わせる、請求項１に記載のネットワーク。
【請求項６】
前記複数の宛先ノードのうちの少なくとも１つの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、受信されたときに最強の信号を有しているデータを処理することを前記それぞれのコントローラに行わせる、請求項１に記載のネットワーク。
【請求項７】
前記複数のソースノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、前記第１のフラッディングラウンドを少なくとも１回繰り返すことを前記それぞれのコントローラに行わせ、前記複数の宛先ノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、前記第２のフラッディングラウンドを少なくとも１回繰り返すことを前記それぞれのコントローラに行わせる、請求項２に記載のネットワーク。
【請求項８】
前記複数のソースノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、前記対応する宛先ノードから前記信号を受信することと、前記対応する宛先ノードによって前記信号が受信されたと決定することと、データの送信を停止することとを前記それぞれのコントローラに行わせる、請求項２に記載のネットワーク。
【請求項９】
少なくとも１つの宛先ノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、データが成功裏に受信されたということを示す前記複数の宛先ノードのうちの別の宛先ノードからの信号を受信することと、前記宛先ノードの前記対応するソースノードからデータを受信することと、前記宛先ノード向けに意図されているデータが成功裏に受信されたということを示すさらなる信号と、前記別の宛先ノードによってデータが成功裏に受信されたという情報とを送信することとを前記それぞれのコントローラに行わせる、請求項２に記載のネットワーク。
【請求項１０】
前記中間ノードが、データを作成するソースノードと、データを消費する宛先ノードと、データを作成または消費しない中継ノードとのうちの少なくとも１つである、請求項１に記載のネットワーク。
【請求項１１】
前記シンクロナイザノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、ソースノードとそれらのソースノードの対応する宛先ノードとの間における成功した送信に関する情報を前記同期フラッディングラウンド内に含めることを前記それぞれのコントローラに行わせる、請求項４に記載のネットワーク。
【請求項１２】
それぞれのフラッディングラウンド内に、送信用のタイムスロットがあり、前記少なくとも１つの中間ノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、再送信されるべきデータを受信することと、送信されるべきデータを前記ノードが既に有しているかどうかを決定することと、送信されるべきデータを前記ノードが既に有している場合に、より早い送信スロットを選択することと、受信されたデータと、前記ノードが既に有しているデータとを前記より早い送信スロットにおいて送信することとを前記それぞれのコントローラに行わせる、請求項２に記載のネットワーク。
【請求項１３】
前記少なくとも１つの中間ノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、データが受信され、送信すべきデータを前記ノードが既に有しているときには、前記送信スロットを決定するためにインターバル［０，Ｓ＿ＭＡＸpiggyback］から待機スロットの数Ｓpiggybackを選択することと、データが受信され、送信すべきデータを前記ノードが既に有しているわけではないときには、前記送信スロットを決定するためにインターバル［Ｓ＿ＭＡＸpiggyback＋１，Ｓ＿ＭＡＸrelay］から待機スロットの数Ｓrelayを選択することとを前記それぞれのコントローラに行わせる、請求項１２に記載のネットワーク。
【請求項１４】
前記中間ノードの前記それぞれのプログラム命令がさらに、前記それぞれのコントローラによって実行されたときに、さらなるデータが受信されるときに前記インターバル［０，Ｓ＿ＭＡＸpiggyback］から待機スロットの数Ｓ＿ＮＥＷpiggybackを決定することと、更新された送信スロットを、前記送信スロットと、現在のタイムスロット＋前記待機スロットＳ＿ＮＥＷpiggyback＋１とのうちでより早い方としてスケジュールすることとを前記それぞれのコントローラに行わせる、請求項１３に記載のネットワーク。
【請求項１５】
ワイヤレスセンサおよび／もしくはアクチュエータネットワークまたはサイバーフィジカルシステムである、請求項１に記載のネットワーク。
【請求項１６】
受信機と、送信機と、コントローラと、プログラム命令を格納するメモリとを備えるノードであって、複数のノードを有するネットワーク内の時間同期されたデータ再送信に参加するのに適しており、前記プログラム命令が、前記コントローラによって実行されたときに、
前記受信機を介して前記ネットワーク内の複数のソースノードからデータを受信することと、
第１のフラッディングラウンドにおいて前記それぞれの送信機を介して前記複数のソースノードのうちの少なくとも１つとコンカレントに前記ネットワーク内の複数の宛先ノードへデータを送信することと、
前記送信機を使用して、前記受信されたデータを、そのデータが受信された形態で再送信することとを前記コントローラに行わせる、
ノード。
【請求項１７】
複数のソースノードと、複数の宛先ノードと、少なくとも１つの中間ノードとを備える自律的な時間同期されたノードのネットワークにおけるフラッディングを使用するデータ送信の方法であって、
第１のフラッディングラウンドにおいて前記複数のソースノードからコンカレントに、対応する宛先ノードへデータを送信することと、
前記対応するソースノードから前記複数の宛先ノードにおいてデータを受信することと、
前記複数のソースノードのうちの少なくとも１つから前記少なくとも１つの中間ノードにおいてデータを受信することと、
前記受信されたデータを、そのデータが受信された形態で前記少なくとも１つの中間ノードにおいて再送信することと
を備える方法。
【請求項１８】
自律的な時間同期されたノードのネットワークにおけるフラッディングを使用するデータ送信の方法であって、ノード内で、
前記ネットワーク内の複数のソースノードからデータを受信することと、
第１のフラッディングラウンドにおいて前記複数のソースノードからコンカレントに前記ネットワーク内の複数の宛先ノードへデータを送信することと、
前記受信されたデータを、そのデータが受信された形態で再送信することと
を備える方法。
【請求項１９】
コンピュータプログラム命令を備える非一時的ストレージメディアであって、前記コンピュータプログラム命令が、プロセッサによって実行されたときに、請求項１７に記載の方法を前記プロセッサに実行させるように構成される、非一時的ストレージメディア。
【請求項２０】
コンピュータプログラム命令を備える非一時的ストレージメディアであって、前記コンピュータプログラム命令が、プロセッサによって実行されたときに、請求項１８に記載の方法を前記プロセッサに実行させるように構成される、非一時的ストレージメディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に記載の実施形態は、全般的には、ワイヤレスメッシュネットワークに、および関連するデータ送信方法に関する。より具体的には、実施形態は、そのようなネットワークにおける使用のためのフラッディング技法に関する。
【背景技術】
【０００２】
産業用制御アプリケーションはしばしば、待ち時間および信頼性について非常に厳しい要件を提示する。これは、有線ソリューションが、ワイヤレステクノロジーよりもはるかに高いコストがかかるにもかかわらず、より人気がある理由でもある。産業は実際に、有線のテクノロジーから、よりフレキシブルで、低メンテナンスで、容易に配備可能なワイヤレステクノロジーへ移行することに、明確なコスト上の利点を見出している。それにもかかわらず、共有されている工業用、科学用、および医療用（ＩＳＭ）無線帯域におけるワイヤレスソリューションのオペレーションは、これらの帯域における高いレベルの干渉などのいくつかのファクタに起因して、疑念を招いている。ワイヤレスチャネルの固有の信頼性欠如に加えて、メッシュネットワーキングのためのほとんどのワイヤレスソリューションは、複数のノードから生じて単一の中央ノード（シンクとしても知られている）に宛てられているコンバージキャストトラフィック用に設計されている。
【０００３】
ワイヤレス制御ソリューションをワイヤレスセンサおよびアクチュエータネットワーク（ＷＳＡＮ）用に設計することが望ましい場合には、データが最初にすべてのセンサから中央ノード（しばしばコントローラと呼ばれる）へ収集されることが必要とされ、中央ノードが次いで、受信されたパケットに基づいて下された決定をアクチュエータのセットに伝達して、それらのアクチュエータに自らの適切なアクションを実行させる。したがって、実質的には、別々のフェーズ、すなわち、センサからコントローラへの通信フェーズ、およびコントローラからアクチュエータへの通信フェーズを必要とした閉ループ制御である。これらのフェーズが時間において次々と配置されるにつれて、その制御ループを閉じる際に、より長いエンドツーエンドの遅延が招かれ、実質的には、より多くの遅延をもたらし、したがってタイムクリティカルな期限が見逃される。これは、成功裏に送達されたパケットでさえ、制御を行う上で役立たなくする。
【０００４】
ファクトリーズオブフューチャー（ＦｏＦ）およびその他の進んだオートメーションアプリケーションは、さらに厳しい待ち時間要件、ならびにセンサと、コントローラと、アクチュエータとの間における通信のさらに複雑なパターンを有する。
【０００５】
以降では、図面を参照しながら実施形態が記述される。
【図面の簡単な説明】
【０００６】
【図１】一実施形態によるワイヤレスフレームネットワークのためのプロトコルのデューティーサイクル化されたオペレーションを示す図。
【図２】一実施形態のデータ送信方法の流れ図。
【図３】一実施形態によるセンサからアクチュエータへの通信の表示を提供する図。
【図４】一実施形態によるアクチュエータからセンサへの通信の表示を提供する図。
【図５】一実施形態による差別化された転送スキームの表示を提供する図。
【図６】図５の差別化された転送スキームのスロットごとのタイムラインの表示を提供する図。
【図７】一実施形態によるノードを示す図。
【発明を実施するための形態】
【０００７】
一実施形態においては、複数のノードを備える時間同期されたネットワークが提供される。複数のノードはそれぞれ、受信機と、送信機と、コントローラと、プログラム命令を格納するメモリとを備える。複数のノードは、ネットワーク内の時間同期されたデータ再送信に参加するのに適している。複数のノードは、複数のソースノードと、複数の宛先ノードと、少なくとも１つの中間ノードとを備える。複数のソースノードのうちの各々のそれぞれのプログラム命令は、それぞれのコントローラによって実行されたときに、第１のフラッディングラウンド（flooding round）においてそれぞれの送信機を介してその他のソースノードとコンカレントに（concurrently）複数の対応する宛先ノードへデータを送信することをそれぞれのコントローラに行わせる。複数の宛先ノードのそれぞれのプログラム命令は、それぞれのコントローラによって実行されたときに、それぞれの受信機を介して複数の対応するソースノードからデータを受信することをそれぞれのコントローラに行わせる。中間ノードのそれぞれのプログラム命令は、それぞれのコントローラによって実行されたときに、それぞれの受信機を介して複数のソースノードのうちの少なくとも１つからデータを受信することと、それぞれの送信機を使用して、受信されたデータを、そのデータが受信された形態で再送信することとをそれぞれのコントローラに行わせる。
【０００８】
一実施形態においては、複数の宛先ノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、対応するソースノードからデータが受信されたときに第２のフラッディングラウンドにおいてその他の宛先ノードとコンカレントに信号を送信することをそれぞれのコントローラに行わせ、その信号は、対応するソースノードからのデータが成功裏に受信されたということを示す。
【０００９】
一実施形態においては、複数のソースノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、単一のチャネル上で、または複数のチャネル上でデータを送信することをそれぞれのコントローラに行わせる。
【００１０】
一実施形態においては、複数のノードは、シンクロナイザノードを備え、シンクロナイザノードのそれぞれのプログラム命令は、それぞれのコントローラによって実行されたときに、複数のノードが時間同期されるように同期フラッディングラウンドにおいてネットワークをフラッドさせることをそれぞれのコントローラに行わせる。
【００１１】
一実施形態においては、複数のソースノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、データがソースノードにおいて作成されたかどうかに基づいて、データが送信されるべきであるかどうかを決定することと、データを作成したその他のソースノードとコンカレントに第１のフラッディングラウンドにおいてデータを送信することとをそれぞれのコントローラに行わせる。
【００１２】
一実施形態においては、少なくとも１つの対応する宛先ノードは、少なくとも１つの対応するソースノードからある距離だけ離れて配置され、それによって、その対応するソースノードからのデータは、別のソースノードからのその他のデータがその対応するソースノードからのデータに干渉する前に、対応する宛先ノードによって受信される。
【００１３】
一実施形態においては、複数の宛先ノードのうちの少なくとも１つのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、受信されたときに最強の信号を有しているデータを処理することをそれぞれのコントローラに行わせる。
【００１４】
一実施形態においては、複数のソースノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、第１のフラッディングラウンドを少なくとも１回繰り返すことをそれぞれのコントローラに行わせ、複数の宛先ノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、第２のフラッディングラウンドを少なくとも１回繰り返すことをそれぞれのコントローラに行わせる。
【００１５】
一実施形態においては、信号は、受信された形態での受信されたデータと、宛先ノードの識別情報と、データを送信した対応するソースノードの識別情報とのうちの少なくとも１つを含む。
【００１６】
一実施形態においては、複数のソースノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、対応する宛先ノードから信号を受信することと、対応する宛先ノードによって信号が受信されたと決定することと、データの送信を停止する（cease）こととをそれぞれのコントローラに行わせる。
【００１７】
一実施形態においては、少なくとも１つの宛先ノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、データが成功裏に受信されたということを示す複数の宛先ノードのうちの別の宛先ノードからの信号を受信することと、宛先ノードの対応するソースノードからデータを受信することと、宛先ノード向けに意図されているデータが成功裏に受信されたということを示すさらなる信号と、その別の宛先ノードによってデータが成功裏に受信されたという情報とを送信することとをそれぞれのコントローラに行わせる。
【００１８】
一実施形態においては、中間ノードは、データを作成するソースノードと、データを消費する宛先ノードと、データを作成または消費しない中継ノードとのうちの少なくとも１つである。
【００１９】
一実施形態においては、シンクロナイザノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、ソースノードとそれらのソースノードの対応する宛先ノードとの間における成功した送信に関する情報を同期フラッディングラウンド内に含めることをそれぞれのコントローラに行わせる。
【００２０】
一実施形態においては、それぞれのフラッディングラウンド内に、送信用のタイムスロットがあり、少なくとも１つの中間ノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、再送信されるべきデータを受信することと、送信されるべきデータをそのノードが既に有しているかどうかを決定することと、送信されるべきデータをそのノードが既に有している場合に、より早い送信スロットを選択することと、受信されたデータと、そのノードが既に有しているデータとをより早い送信スロットにおいて送信することとをそれぞれのコントローラに行わせる。
【００２１】
一実施形態においては、少なくとも１つの中間ノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、データが受信され、送信すべきデータをノードが既に有しているときには、送信スロットを決定するためにインターバル［０，Ｓ＿ＭＡＸpiggyback］から待機スロットの数Ｓpiggybackを選択することと、データが受信され、送信すべきデータをノードが既に有しているわけではないときには、送信スロットを決定するためにインターバル［Ｓ＿ＭＡＸpiggyback＋１，Ｓ＿ＭＡＸrelay］から待機スロットの数Ｓrelayを選択することとをそれぞれのコントローラに行わせる。
【００２２】
一実施形態においては、中間ノードのそれぞれのプログラム命令はさらに、それぞれのコントローラによって実行されたときに、さらなるデータが受信されている場合にインターバル［０，Ｓ＿ＭＡＸpiggyback］から待機スロットの数Ｓ＿ＮＥＷpiggybackを決定することと、更新された送信スロットを、送信スロットと、現在のタイムスロット＋待機スロットＳ＿ＮＥＷpiggyback＋１とのうちでより早い方としてスケジュールすることとをそれぞれのコントローラに行わせる。
【００２３】
一実施形態においては、このネットワークは、ワイヤレスセンサおよび／もしくはアクチュエータネットワークまたはサイバーフィジカルシステムである。
【００２４】
一実施形態においては、受信機と、送信機と、コントローラと、プログラム命令を格納するメモリとを備えるノードが提供される。このノードは、複数のノードを有するネットワーク内の時間同期されたデータ再送信に参加するのに適している。プログラム命令は、コントローラによって実行されたときに、前記受信機を介してネットワーク内の複数のソースノードからデータを受信することと、第１のフラッディングラウンドにおいてそれぞれの送信機を介して複数のソースノードのうちの少なくとも１つとコンカレントにネットワーク内の複数の宛先ノードへデータを送信することと、送信機を使用して、受信されたデータを、そのデータが受信された形態で再送信することとをコントローラに行わせる。
【００２５】
一実施形態においては、複数のソースノードと、複数の宛先ノードと、少なくとも１つの中間ノードとを備える自律的な時間同期されたノードのネットワークにおけるフラッディングを使用するデータ送信の方法が提供される。この方法は、第１のフラッディングラウンドにおいて複数のソースノードからコンカレントに、対応する宛先ノードへデータを送信することと、対応するソースノードから複数の宛先ノードにおいてデータを受信することと、複数のソースノードのうちの少なくとも１つから少なくとも１つの中間ノードにおいてデータを受信することと、受信されたデータを、そのデータが受信された形態で少なくとも１つの中間ノードにおいて再送信することとを備える。
【００２６】
一実施形態においては、自律的な時間同期されたノードのネットワークにおけるフラッディングを使用するデータ送信の方法であって、ノード内で、ネットワーク内の複数のソースノードからデータを受信することと、第１のフラッディングラウンドにおいて複数のソースノードからコンカレントにネットワーク内の複数の宛先ノードへデータを送信することと、受信されたデータを、そのデータが受信された形態で再送信することとを備える方法が提供される。
【００２７】
一実施形態においては、コンピュータプログラム命令を備える非一時的ストレージメディアが提供され、それらのコンピュータプログラム命令は、プロセッサによって実行されたときに、上述の方法をプロセッサに実行させるように構成される。
【００２８】
本明細書において記述されている実施形態は、センサとアクチュエータとの間における堅牢で、高速で、エネルギー効率のよい多対多の通信を可能にするために、ソース／宛先ペアの間における空間的多様性、キャプチャー効果、および空間的に分離されたマルチホップパスを利用する。本明細書において開示されている実施形態は、待ち時間と、信頼性と、エネルギー消費との間におけるトレードオフのバランスを取るようにそのパラメータを構成することによって適合されることが可能である。
【００２９】
本明細書において記述されている実施形態は、マルチホップメッシュネットワークにおけるセンサからアクチュエータへのおよびアクチュエータからセンサへの通信の間において中央コントローラをバイパスして、待ち時間を低減する。同時に、複数のセンサおよびアクチュエータの間における直接の通信が、さまざまなケースにおいて、はるかに低い待ち時間を達成する。たとえば、コントローラが、相互に通信しているセンサおよびアクチュエータのうちのいずれかから比較的遠い場合には、直接の通信は、より速い。すなわち、センサ／コントローラペアおよびコントローラペアに比べてソース／宛先ペアの間に空間的近接がある可能性がある。典型的には、センサは、ローカルエリアをモニタするために配備される。アクションを必要とする、センサによるいかなる観察もしばしば、同じまたは近くのエリア内のアクチュエータによって実行される。コントローラが、より遠く離れて配備されている場合には、センサからアクチュエータへの直接の通信が、より低い待ち時間を提供することが可能である。これを例示するための一例が、火災安全ホームオートメーションシステムであり、このシステムにおいては、煙センサによって台所において火災が検知されることが可能であり、そこに配備されているスプリンクラーのみがアクティブ化されることが必要とされ、家のさらに遠く離れたその他の部分に配備されているゲートウェイノードを関与させることはない。
【００３０】
実施形態は、複数のデータソース（ソースノード）がコンカレントに複数の宛先（宛先ノード）へデータを送信することを可能にする。実施形態は、データがソースから宛先へいかなる損失も伴わずにその当初の形態で送達されることを可能にする。
【００３１】
本明細書において記述されている実施形態は、センサどうしが自分たちの別々のデータパケットをフラッドして共有チャネルを介してぴったり同時にアクチュエータに届くことを可能にすることによって、低い待ち時間の通信を可能にする。（数十）ミリ秒ほどの低い待ち時間、および９９．９９９％以上の高い信頼性が達成されることが可能である。
【００３２】
多対多の通信のための同期送信ベースのネットワークスタックの実施形態は、予測不可能なボリュームのトラフィックをセンサから複数のアクチュエータへ送達するために、（フラッディングプリミティブ内の）キャプチャー効果、宛先の多様性、およびアグレッシブなチャネルホッピングスキームを利用する。これは、単一のチャネル上で同時に複数の冗長なデータパスを介してデータを送信することによる低い待ち時間の通信と、複数のセンサと複数のアクチュエータとの間における多対多の通信とを達成する。
【００３３】
実施形態の構造的な特徴は、下記を含む。
【００３４】
ａ）  アクチュエータがコントローラとして機能する：  センサとアクチュエータは、ネットワークワイドなコントローラなどの専用の中央ノードを経由する必要なく、マルチホップネットワークを介して直接通信して、最小のエンドツーエンドの遅延を達成する。
【００３５】
ｂ）  フラッディングラウンドごとの複数の受信：  パスの多様性と、複数の宛先の存在と、ノードどうしが自分たちのデータパケットを送信する方法とに起因して、実施形態は、いずれかの方向で通信したいと望むセンサとアクチュエータとの複数のペアの間において複数の成功した受信を可能にすることができる。
【００３６】
ｃ）  センサとアクチュエータとの間における成功した受信の伝達（dissemination）：  実施形態は、センサとアクチュエータとのペアの間における成功した通信に関する情報をノードが伝達することを可能にするプロトコルを含む。この情報は、どのノードが、自分のデータを送信するためのメディアにアクセスするべきかを決定するために使用される。
【００３７】
ｄ）  適応的で反応的なメカニズム：  事前の優先度付けまたはスケジューリングを伴わずに複数の送信機から複数の受信機へ複数の異なるパケットを送達するためのメカニズム。実施形態は、別々のソースノードからデータパケットを送信するための洗練されたプランニングまたはスケジューリングステージを必要としない。同じフラッディングラウンドにおいて同じデータパケットまたは複数の異なるデータパケットを複数の受信機へ送達することが可能である。
【００３８】
ｅ）  差別化された転送スキーム：  実施形態は、ネットワークにおいて送信するための新たなまたはより多くのデータを実際に有しているノードからの送信を優先する転送戦略を採用する。
【００３９】
本明細書において記述されている実施形態においては、センサは、変化を１つまたは複数のアクチュエータへ報告することが可能である。その上、アクチュエータが、自分の必要とされているアクションを実行するために、感知された値を複数のセンサに要求することも可能である。これは、プロトコルが多対多の通信をサポートして、理想的には、複数のセンサがアクチュエータへ同時に（at the same time）（すなわち、並列に（in parallel））通信することを可能にして、待ち時間を非常に低く保つことが可能であるということを意味している。実施形態は、複数のセンサと複数のアクチュエータとの間における複数の並列な通信パスをサポートすることが可能である。
【００４０】
センサは、感知されることになる物理量に応じて任意の時点で、およびそれらの値が特定のアクションを命じる場合に、アクチュエータのために無作為にデータを生成することが可能である。このデータは次いで、中継ノードのセットを通じて中継されて、アクチュエータに届く。データパケットのタイミングも周波数も演繹的に知られることはない。データ生成の予測不可能性は、さらなる難題をプロトコル設計に提示する。たとえば、プロトコルが、有用なデータをまれにしか生成しない結果に終わる個々のセンサ／アクチュエータに専用の無線リソースを割り当てるならば、多くのリソースが浪費されて、高いエネルギー消費および待ち時間をもたらす。ノードどうしが自分たちの間で無線リソースを共有すること、および必要とされる場合にのみそれらの無線リソースにアクセスすることを可能にするさらにフレキシブルなプロトコルが、このケースにおいては非常に望ましい。プロトコルは、可変量のトラフィックを伴うセンサとアクチュエータとの間における複数のデータフローに対処できることが可能である。
【００４１】
実施形態は、センサとアクチュエータとの間における予測不可能なボリュームのトラフィックの堅牢で干渉に強い多対多の通信をサポートするフルネットワークプロトコルスタックについて記述する。複数のデータソース（センサと呼ばれる場合がある）と、データソースからのデータを必要とする複数の宛先（アクチュエータと呼ばれる場合がある）とがある。データを作成または消費しないネットワークのその他のノードは、中継ノードと呼ばれ、他のノードのトラフィック（すなわちデータ）を転送するために使用されるだけである。
【００４２】
デューティーサイクリングを通じた低電力オペレーション：
図１は、プロトコルの一実施形態のデューティーサイクル化されたオペレーションを示している。すべてのネットワークノードは、アクティブフェーズのみにおいて周期的に自分のトランシーバをオンにする。実施形態においては、任意の２つの連続したアクティブフェーズの間において、すべてのネットワークノードは、スリープであるか、またはプロトコルの範囲外の他の何かをするのにビジーであるかのいずれかである。主要な給電されるデバイスにとっては、アクティブフェーズは、いくつかの実施形態においては、それらの間に最小のスリープインターバルを伴ってまたはスリープインターバルを伴わずに立て続けの様式で現れることが可能である。そのようなアプローチは、バッテリー消費を犠牲にしてプロトコルの待ち時間を著しく低減することが可能である。
【００４３】
アクティブフェーズ
１つのアクティブフェーズは、複数のフラッディングラウンドへと分割され、それぞれのフラッディングラウンドは、別々の目的を達成することを試みる。図２は、一実施形態の方法１０を示している。通信プロトコルの一実施形態に含まれる複数の異なるステージ（たとえばステージａ〜ｅ）がある：
ａ）  時刻同期：  最初に、方法１０のステップ１２において、シンクロナイザ（またはシンクロナイザノード）と呼ばれる、ネットワーク内の専用のノードが、ネットワークをフラッドし、それによってノードどうしが、フラッドされたデータパケットと、これらのデータパケット内に含まれている情報との受信のタイムスタンプに基づいて自分たち自身を同期することが可能である。言い換えれば、ネットワークが同期フラッディングラウンドにおいてフラッドされ、それによって、ネットワーク内のノードどうしが時間同期される。その他の実施形態においては、シンクロナイザは、ソースノード、宛先ノード、または中継ノードのうちの１つであることが可能である。いくつかの実施形態においては、シンクロナイザは、専用のノード、ならびに、ソースノード／宛先ノード／中継ノードのうちの１つであることが可能である。
【００４４】
ｂ）  センサからアクチュエータへの通信：  ネットワークワイドな同期がステップ１２において達成された後に、ステップ１４において、自分の値における何らかの変化を経験した（たとえば、自分が感知している属性が変化した）すべてのセンサ（ソースノード）が、単一のフラッディングラウンド（第１のフラッディングラウンド）を共有して、自分の更新されたステータスを自分の意図されている（対応する）アクチュエータ（宛先ノード）へ送信する。言い換えれば、センサどうしは、送信すべきデータを自分たちが有している場合にのみ、単一のフラッディングスロットを共有する。これは、プロトコルが可変量のデータに対処することが可能であるということを意味している。これは、それぞれのソースが専用スロットを有している時分割多元接続（ＴＤＭＡ）ベースのスケジュールと対照的である。可変量のデータに関しては、これらの専用スロットの多くが浪費されて、エネルギーの枯渇をもたらす可能性がある。スロットを共有することによって、この実施形態は、より効率よく時間を使用する。
【００４５】
シンクロナイザは、シンクロナイザによって固定状態で保持されること、または変更されることのいずれかが、この情報を同期フラッド（第１のフラッド）において送信することによって可能であるタイムピリオドで周期的に第１のフラッドを開始する。複数のソースノード（センサ）が、イニシエータとして機能して自分たち自身の別々のデータパケットを注入することが可能であり、その一方で中継ノードおよび宛先ノードは、受信機として機能する。この実施形態においては、複数の宛先ノード（アクチュエータ）が存在している。それらのアクチュエータのいくつかがフラッド開始センサに物理的に近い場合には、それらのアクチュエータは、別々のフラッド開始センサによって生成された複数のデータパケットが互いに干渉し始める前でさえ、フラッドされたデータパケットを聞くことが可能である。
【００４６】
図３は、センサＳ１、Ｓ２、およびＳ３がアクチュエータＡ１、Ａ２と、すなわち、Ｓ１からＡ１へ、Ｓ２からＡ２へ、ならびにＳ３からＡ１およびＡ２へ通信しているところを示している。明確さのために、すべての送信が示されているとは限らず、ｔ０およびｔ１は、２つの連続したタイムスロットを指し、それぞれは、１つのデータパケットを送信するのに十分な幅である。Ｓ３からＡ１およびＡ２への成功した通信は示されていない。なぜなら、それは、ｔ１の後に発生するまたは発生する可能性があるからである。この時点で、Ｓ１とＳ２の両方は参加していない。なぜなら、これらは肯定応答されているからである。単一のフラッディングラウンドにおいて、対応するセンサアクチュエータペアの間における空間的近接と、宛先の多様性とに起因して、複数の成功したデータ受信が（すなわち、Ｓ１−Ａ１とＳ２−Ａ２との間において）生じている。センサＳ２からアクチュエータＡ２への通信は、それぞれ中間ノードＩ１およびＩ２を含む２つの別個のパスを通じて送信される。それぞれの中間ノードは、この実施形態においては中継ノードであり、ステップ１６において記述されているように、センサＳ２からデータパケットを受信し、そのデータパケットを、そのデータパケットが受信された形態でアクチュエータＡ２へ再送信する。すなわち、その再送信されるデータパケットは、センサＳ２によって当初送信されたデータパケットと同じであり、データが、それをその他のデータとマージすることによって失われることはない。これは、ノードにおいてデータをその他のデータとマージすることと比較された場合に、処理時間における低減につながることが可能である。
【００４７】
センサＳ２からアクチュエータＡ２への通信はまた、建設的干渉からも利益を得ることが可能である。１つの感知ノードによって開始されたフラッドされたデータパケットの波が、その他の感知ノードによって開始されたフラッドされたデータパケットのその他の波と接触する場合でさえ、受信ノードは、キャプチャー効果から利益を得ることが可能である。これは、センサどうしが時間内に非常に正確に無線で自分たちのデータパケットを送信するのを手助けしたシンクロナイザによって開始された前のフラッディングラウンド（同期フラッディングラウンド）に起因する。キャプチャー効果は、ノードによって受信される最強の信号のみをノードによって処理すること（すなわち復調すること）である。すなわち、ノードは、受信された最強の信号にロックオンし、その最強の信号を伴うデータパケットをデコードするのみである。キャプチャー効果に起因して、より強い信号がアクチュエータによって受信されている。信号どうしが、同じソースからの（たとえば、別々のマルチホップパスから来ている）ものである場合には、これらの信号どうしが同期して受信機に到達する限り、それらの信号どうしは建設的に干渉することが可能である。これらが同期していない、または信号どうしの内容が異なる（すなわち、別々のソースである）ケースにおいては、キャプチャー効果が依存される。このケースにおいては、より強い信号は、成功裏にデコード可能／受信可能であるためには、より弱い信号よりも十分に強いことが望ましい。この実施形態においては、複数のセンサが複数のアクチュエータへ送信を行うことが可能である。
【００４８】
ｃ）  アクチュエータからセンサおよびシンクロナイザへの通信：  ステップ１８において、別のフラッディングラウンド（第２のフラッディングラウンド）があり、そこでは、センサからの関連したデータ（すなわち、アクチュエータ向けに意図されているデータ）を聞いたそれぞれのアクチュエータが、自分自身のＩＤと、フラッド開始センサのＩＤとを含む受信されたデータパケットをエコーバックすることになる。言い換えれば、アクチュエータどうしは、送信すべきデータを自分たちが有している場合にのみ、単一のフラッディングスロットを共有する。これは、プロトコルが可変量のデータに対処することが可能であるということを意味している。
【００４９】
図４は、アクチュエータＡ１およびＡ２が、（図３において示されているように）センサＳ１およびＳ２からの前のフラッド（第１のフラッディングラウンド）において聞かれたデータパケットをエコーバックしているところを示している。明確さのために、すべての送信が示されているとは限らず、ｔ０およびｔ１は、このフラッディングラウンド内の２つの連続したタイムスロットを指している。アクチュエータＡ１およびアクチュエータＡ２は、それぞれセンサＳ１およびセンサＳ２に対して、それらのソースに対するそれらの空間的近接に起因して成功裏に報告を返している。アクチュエータＡ２からセンサＳ２への通信は、中間ノードＩ１または中間ノードＩ２を経由する。通信はその他のパスを取ることが可能であり、その他の中間ノードを経由することが可能であるということが理解される。センサＳ３は、フラッドがｔ０およびｔ１を超えて続くことになるにつれて十分な時間を与えられれば、アクチュエータＡ１およびＡ２からの返答を成功裏に聞くことも可能である。しかしながら、これらのさらなるステップは示されていない。
【００５０】
アクチュエータＡ２からセンサＳ２への通信は、建設的干渉およびキャプチャー効果から利益を得ることも可能である。センサおよびシンクロナイザは、成功裏に通信したセンサとアクチュエータとのペアのＩＤを知るためにリッスンする。こうすると、個々のセンサは、自分が自分の変化を、自分が到達しようとするすべてのアクチュエータへ成功裏に通信することができるかどうかを決定することが可能である。たとえば、センサＳ１およびＳ２は、自分たちがＡ１およびＡ２に成功裏に到達したかどうかを決定することが可能である。そうである場合には、それらのセンサは、自分たちのセンサ値にさらなる変化があるまで、イニシエータとしてその後のフラッドに参加することを避けることが可能である。このメカニズムは、データパケットが、必要とされる場合にのみ送信されることを可能にし、そしてまたデータソースの数を抑制し、これは、キャプチャー効果のパフォーマンス、したがって全体的な信頼性を改善する。
【００５１】
図１は、使用されることが可能である別々の周波数チャネル（たとえばＣｈ１からＣｈ５）を示している。ＷｉＦｉ等などの共存するテクノロジーによって激しく干渉される可能性がある単一のチャネルへの依存を低減するために、チャネルの多様性が使用される。別々のタイムスロットにわたってラウンドロビン様式で交替される固定された数のチャネルが使用されることが可能であり、またはそのような種類のシーケンスは、メッシュネットワークにわたって共有されている擬似ランダムシードによって決定されることが可能である。
【００５２】
ｄ）  センサとアクチュエータとの間における双方向通信の繰り返し：  ステップ２０において、実施形態は、アクティブフェーズを終了する前に、固定された回数（Ｎｆと呼ばれる）だけステップｂ）およびｃ）を繰り返すことが可能である。Ｎｆの値は、信頼性とエネルギー効率との間におけるトレードオフのバランスを取るように構成されることが可能である。Ｎｆのより高い値は、より高い信頼性およびより高速の通信をもたらすことになる一方で、より多くのエネルギー消費をもたらすことになり、その逆もまた同様である。この実施形態においては、Ｎｆの値は、メッシュネットワークにわたって事前に決定されている／固定されている。
【００５３】
ｅ）  次のアクティブフェーズ：  アクティブフェーズの終わりに、望ましいアクチュエータにまだ報告されていない可能性があるセンサ内のいくつかの変化がある可能性がある。それは、いくつかの値がセンサからアクチュエータへ通信された可能性があるが、アクチュエータからセンサへの返答がステージｃにおいて失われた可能性があるというケースであり得る。シンクロナイザがステージｃにおいてリッスンしていたので、シンクロナイザは、センサとアクチュエータとの複数の成功したペアのＩＤを漏れ聞いていた可能性がある。それぞれのアクティブフェーズの始まりで、シンクロナイザは、ネットワークワイドな同期を達成するためにフラッドを開始するように既に要求されている。このフラッディングラウンドは、より早いアクティブフェーズにおいてシンクロナイザが知ったアクチュエータにおける成功した受信に関する情報を送信するために使用されることも可能である。
【００５４】
ステップ２２において、シンクロナイザは、再びネットワークをフラッドし、対応するセンサとアクチュエータとのペアの間における成功した送信に関連したデータを含める。したがって、センサどうしは、自分たちの成功した送信に関する情報を探してリッスンするためのさらに別の機会を有する。これは、すべての望ましいアクチュエータが到達されたか否かに応じてそれらのセンサがフラッドを開始するべきか否かをそれらのセンサが決定する上で役立つ。成功した送信上のデータは、フラッドにおいてシンクロナイザから時刻同期データ上で「ピギーバックされている」とみなされることが可能である。このピギーバックされた情報は、センサどうしが自分たちの不要な送信を抑制するためにさらに多くを知る上で役立つことになり、したがってキャプチャー効果を改善する。
【００５５】
ｆ）  実施形態の最後のステップ（図２においては示されていない）においては、ステージｂ、ｃ、ｄ、およびｅを通るループがある。この実施形態においては、ループは、アクティブピリオドを周期的にスケジュールするための継続的なループであり、すなわち、ループは止まらない。これは、ネットワークを継続的に稼働させるために、すなわち、センサと、コントローラと、アクチュエータとの間における通信を維持するために必要とされる場合がある。
【００５６】
アクティブフェーズにおけるアクチュエータのグループ返答メカニズム
ステージｂにおいて、センサからのデータを直近に受信したいずれのアクチュエータも、ステージｃにおいてネットワークをフラッドして、少なくとも、自分に宛てられた成功した受信を告知しなければならない。しかしながら、同じアクチュエータは、その他のセンサとアクチュエータとがそれらの間で成功裏に通信したことを知っていた可能性がある。これは、ステージｂにおいて自分自身のデータを受信しなかったアクチュエータが、（ステージｂにおいて自分のデータを受信した）その他のアクチュエータが成功した受信を告知している場合に、ステージｃにおいて受信機として機能するからである。そのようなアクチュエータが、ステージｂにおいて、自分に宛てられたデータを受信した場合は常に、それらのアクチュエータは、自分への成功した送信（すなわち、自分の直近の受信）をカプセル化しているデータ、ならびに前のｃステージにおいて自分が知ったその他の対応するセンサ／アクチュエータペアの間におけるデータをフラッドすることも可能である。
【００５７】
ピギーバッキング
ワイヤレス通信は、固有の信頼性問題を有している。センサどうし（ソースノードどうし）またはアクチュエータどうし（宛先ノードどうし）は、ステージｂおよびｃにおいて互いの間で通信することができないのが典型的である。しかしながら、シンクロナイザまたは中継ノードなどのその他のノードは、それらからのデータを聞くことが可能である。実施形態は、漏れ聞くこれらの機会を活用して、ピギーバッキング、アグリゲーティング、またはマージングオペレーションを通じて通信エンティティーどうしの間においてデータを間接的に送信する。この説明の残りに関しては、ピギーバッキング、アグリゲーション、およびマージングは、同義語とみなされることが可能である。実施形態は、以降で記述されているようにピギーバッキングのための２つのメカニズムを採用する。
【００５８】
アクティブフェーズどうしにわたるピギーバッキング：
データソースノード（センサ）は典型的に、アプリケーション報告インターバルＴappとして定義されることが可能である特定の頻度で宛先ノード（アクチュエータ）へデータを周期的に報告するようにアプリケーションによって要求される。所与のＴappにおいて、実施形態は、複数のアクティブフェーズを周期的にスケジュールすることが可能である。アクティブインターバルの値は、それがＴappの因数になるように選ばれることが可能である。これは、ソースノードから宛先ノードへ、およびその逆へデータを送信するための単一のＴappインターバル内に複数のアクティブフェーズが存在するということを意味している。シンクロナイザノードがステージｂおよびｃのいずれかにおいてソースノードまたは宛先ノードのいずれかから何かを聞いた場合には、シンクロナイザノードは、現在のＴappインターバルに属しているすべての次なるアクティブフェーズにおいてこの情報をピギーバックする。Ｔappの終わりに、シンクロナイザノードは、漏れ聞いた（overheard information）情報を破棄し、新たに開始する。次なるＴappの始まりに、すべてのノードは、古い情報を取り除くことが可能であり、前のインターバルからの情報を伝達するのを止める（stop）ことが可能である。Ｔappの終わりに、ソースノードは、送信するための新たな情報を有する場合がある。したがって、古い情報は廃れる場合がある。これは、データを周期的に報告するアプリケーションに特に関連している場合がある。しかしながら、プロトコルは、たとえ非周期的なトラフィックをアプリケーションが生成しても機能する。一般に、送信するための新たな情報をアプリケーションが有している場合には、ノードは、廃れた情報を伝達するのを止めることが可能である。
【００５９】
アクティブフェーズおよびフラッディングラウンド内のピギーバッキング：
シンクロナイザノード、ソースノード、または宛先ノードによってネットワークにおいてデータがフラッドされるにつれて、データパケットは、メッシュネットワークのさまざまな部分をたどる。このプロセスにおいて、データパケットは、自分たちのそれぞれの宛先ノードへまだ送達されていない自分たち自身の情報を有しているノードどうしを通って遷移することが可能である。上述のメカニズムは、これらのノード（ソース／宛先）が、これらが自分たち自身のデータを送信できる前に、その後のフラッディングラウンド（ステージｂおよびステージｃ）またはその後のアクティブフェーズを待つことを必要とする。これは、さらなる通信待ち時間をもたらす。本明細書において記述されている実施形態は、ノード（ソース／宛先）が、同じフラッディングラウンド内で、受信されたパケット上で自分自身の情報をすぐにピギーバックすることを可能にすることによって、この制限を克服する。この目的のために、差別化された転送スキームが記述される。
【００６０】
差別化された転送スキーム
それぞれのフラッディングラウンド内に、送信のための特定のタイムスロットがある。ステージａ、ｂ、およびｃにおけるフラッディングラウンドのうちのいずれかにおいて、ノードが、その他のノードへ送信されるべき自分自身の情報を有していて、データパケットを受信したばかりである場合には、そのノードは、自分自身の情報でピギーバックされたこのデータパケットの送信を優先するべきである。そうするために、そのノードは、同じタイムスロットにおいてそのデータパケットを聞いた、およびまったく同じデータパケットを中継することを必要とするだけであるノードと比較して、ピギーバックされたデータパケットを送信する前に、より少ない数のスロットを待つべきである。ピギーバックされたデータは、受信されたデータと同じ形態である。すなわち、再送信されたピギーバックされたデータは、ソースから宛先へいかなる損失も伴わずにその当初の形態で送達される。ピギーバックされたデータ内の情報は、その他のデータとマージすることによって失われることはない。
【００６１】
自分自身の情報を実際に有しているノードは、データパケットを転送する前に、Ｓpiggyback個のスロットを待つべきである。Ｓpiggybackの値は、インターバル［０，Ｓ＿ＭＡＸpiggyback］から無作為に選ばれる。しかしながら、ノードが自分自身の情報を有していない場合には、そのノードは、Ｓrelay個のスロットを待つことになり、Ｓrelayの値は、インターバル［Ｓ＿ＭＡＸpiggyback＋１，Ｓ＿ＭＡＸrelay］において無作為に選ばれる。Ｓ＿ＭＡＸrelayの値は、Ｓ＿ＭＡＸpiggybackよりも大きくなるように選ばれる。
【００６２】
ノードは、無作為に選ばれた数の待機スロットにおいて送信を行わないが、自分の近隣によって送信されたその他のデータパケットを漏れ聞くために実際にリッスンしている。このリスニングの結果として、これらのノードが、ＳpiggybackまたはＳrelay個のスロットを待った後に自分たちの次なる送信されるパケット上でピギーバックされるように既にスケジュールされているわけではない情報を実際に漏れ聞いた場合には、下記の２つのアクションが取られる。
【００６３】
−  新たな情報でピギーバックされるようにパケットを更新する。
【００６４】
−  前にスケジュールされたタイムスロットと、現在のタイムスロット＋インターバル［０，Ｓ＿ＭＡＸpiggyback］において選ばれた待機スロットの無作為の数＋１として算出された新たなスロットとの間における最も早いタイムスロット上でのデータパケットの送信をスケジュールする。
【００６５】
待機スロットの数上の最大しきい値（Ｓ＿ＭＡＸpiggyback、Ｓ＿ＭＡＸrelay）は、データパケットが、受信された後に複数のホップにわたって最終的に伝達されることを保証する。自分たち自身の情報がその他のノードへ送信されることを必要とするノードにさらに高い優先度を割り当てることは、単一のフラッディングラウンド内でのそれらのノードのトラフィック（データ）のさらに速い伝達をもたらす。このアプローチは、話すためのデータをより多く有しているノードが、より少ないデータを有しているその他のノードと比較して、より早く話すことを可能にする。これは、ノードがより多くの情報をソースから受信していて、そしてまた、おそらくはその他の宛先へ送信するための自分たち自身のデータを有している場合には、それらのノードに対して、自分たちのデータをより早く送信するための優先度を与える。
【００６６】
図５〜図６は、一実施形態の差別化された転送スキームを説明するための一例を示している。１つのシンクロナイザＳＹＮおよび２つのセンサノードＳ１およびＳ２が、自分たちの情報を単一のフラッディングラウンドにおいて２つのアクチュエータＡ１およびＡ２へ送信することを試みている。たとえばセンサＳ１は、アクチュエータＡ１またはＡ２のいずれにも直接送信を行うことができず、データは、センサＳ２を通じて送信されなければならないということが、送信機および通信範囲（ノードを囲んでいる円）から理解されることが可能である。シンクロナイザＳＹＮによってフラッドが開始される。第１のタイムスロットｔ０において、シンクロナイザＳＹＮは、自分自身のデータを送信し、そのデータは、センサＳ１および中継ノードＲ１によって受信される。受信機のうちでセンサＳ１のみが自分自身の情報を有しているので、センサＳ１は、シンクロナイザＳＹＮからのデータとアグリゲートされた自分自身のデータを送信するための、中継ノードＲ１を上回る優先度を与えられる。センサＳ１は、インターバル［０，Ｓ＿ＭＡＸpiggyback］から無作為に待機スロットの数Ｓpiggybackを決定し、その一方で中継ノードＲ１は、インターバル［Ｓ＿ＭＡＸpiggyback＋１，Ｓ＿ＭＡＸrelay］から無作為に待機スロットの自分自身の数Ｓrelayを決定する。この決定は、センサＳ１の送信が中継ノードＲ１よりも早くスケジュールされることを保証する。一例として、Ｓ＿ＭＡＸpiggybackおよびＳ＿ＭＡＸrelayは、それぞれ３および６である。
【００６７】
Ｓpiggybackが、インターバル［０，３］から１であるように選ばれ、Ｓrelayが、インターバル［４，６］から４であるように選ばれた場合には、センサＳ１は、スロットｔ２においてデータパケットを送信する前に１つの単独のスロットにおいて待機してリッスンし、その一方で中継ノードＲ１は、ｔ５における自分の送信の前に４つの待機スロット（ｔ１、ｔ２、ｔ３、ｔ４）をスケジュールする。センサＳ１は、待機スロットにおいてリッスンするが受信を行わず、次いでｔ２において、シンクロナイザＳＹＮからのデータとともに自分自身のデータをピギーバックしているデータパケットを送信する。この特定のデータパケットは、ｔ２においてリッスンしている、シンクロナイザＳＹＮ、中継ノードＲ１、およびセンサＳ２を含む近隣のリスニングノードによって受信される。中継ノードＲ１は、自分が前に有していなかった新たな情報（すなわち、センサＳ１のデータ）を聞いたので、次なるスケジュールされた送信のためにこの新たな情報で自分のデータパケットを更新することになる。次いで中継ノードＲ１は、インターバル［０，３］から取られた無作為の数の待機スロットの直後のスロットがｔ５よりも早い場合には、おそらくは自分のスケジュールされた送信スロットをｔ５よりも早い時点へ移動することが可能である。待機スロットの無作為の数が１であると判明していると想定すると、次いで中継ノードＲ１は、ｔ３において待機スロットをスケジュールするように、およびｔ５の代わりにｔ４において送信をスケジュールするように要求される。
【００６８】
ｔ２においてセンサＳ１からのデータパケットを受信すると、センサＳ２は、インターバル［０，３］から選ばれた無作為の数のスロットを待った後での、受信された情報（シンクロナイザＳＹＮとセンサＳ１の両方からのデータ）ならびに自分自身の情報を含むデータパケットの自分の次なる送信をスケジュールする。センサＳ２によって１つの待機スロットのみが加えられることになる場合には、センサＳ２は、スロットｔ４において自分の送信をスケジュールする。したがって、センサＳ２と中継ノードＲ１の両方は、スロットｔ４において自分たちのデータパケットを送信する。センサＳ２からのデータパケットは、アクチュエータＡ１とアクチュエータＡ２の両方によって受信される。この特定のデータパケットは、シンクロナイザＳＹＮによって送信されたデータを含むだけでなく、２つのセンサＳ１およびＳ２によって送信されたデータも含む。それは、この例においてはすべてのデータソース（シンクロナイザＳＹＮ、センサＳ１、およびセンサＳ２）がすべての宛先に到達することが可能であるということを意味している。これは、１つのソースのみがその他の宛先へ送信を行うことが可能であるその他のシステムとは異なる。
【００６９】
図６は、図５において示されている実施形態のスロットごとのタイムラインを示している。アクチュエータＡ１、Ａ２は、タイムスロットｔ４においてすべてのソースからのデータを受信する。ＴＸ、ＲＸ、およびＬとラベル付けされているブロックはそれぞれ、無線送信、受信、およびリスニング状態を示している。たとえば、タイムスロットｔ０において、シンクロナイザ（ＳＹＮ）は、データを中継ノードＲ１およびセンサＳ１へ送信する。したがって、シンクロナイザ（ＳＹＮ）およびタイムスロットｔ０に対応するブロックは、ＴＸとラベル付けされている。中継ノードＲ１とセンサＳ１の両方は、タイムスロットｔ０においてデータを受信し、したがってブロックＲＸを有している。タイムスロットｔ１において、中継ノードＲ１とセンサＳ１の両方は、リッスンしているが受信してはおらず、したがってラベルＬを伴うブロックを有している。実際に、その他のノードのうちのすべてもまた、ｔ１においてリッスンしており、したがってそれぞれのノードは、列ｔ１においてラベルＬを有している。
【００７０】
角括弧［  ］は、所与の受信スロットまでデータが受信される元であるソースのＩＤを囲んでいる。たとえば、タイムスロットｔ０において、中継ノードＲ１およびセンサＳ１は、シンクロナイザ（ＳＹＮ）からのデータを受信しており、したがって、対応するロケーションの両方にはラベル［ＳＹＮ］がある。厳密に所与の受信スロットにおける新たな受信された情報は、太字で示されており、古い情報（すなわち、受信されたばかりではないもの）は、太字で示されていない。タイムスロットｔ０において、シンクロナイザ（ＳＹＮ）からのデータは、中継ノードＲ１およびセンサＳ１によって受信されたばかりであり、したがってそれは、新たな情報であり、太字のラベル、すなわち、
【数１】
2020048189.tif 000003
を有する。その一方でタイムスロットｔ２においては、シンクロナイザ（ＳＹＮ）からの中継ノードＲ１によって保持されている情報は古く、センサＳ１からの情報は、新たに受信されている。したがって、ｔ２における中継ノードＲ１に関する角括弧内のラベルは、
【数２】
2020048189.tif 000004
である。加えて、中継ノードＲ１は、ｔ２において依然として受信を行っており、したがって、ＲＸとラベル付けされているブロックを再び有している。
【００７１】
破線で囲まれているブロックは、当初はスケジュールされていたが、後に、待機スロットにおいて新たなデータパケットを受信した結果として、より早い送信をスケジュールし直すためにキャンセルされた送信スロットである。より詳細には、中継ノードＲ１は、タイムスロットｔ５において送信を行うようにもともとスケジュールされていたものであり、したがって、ＴＸとラベル付けされているブロックを有していた。しかしながら、中継ノードＲ１が、自分が前に有していなかった新たな情報（すなわち、タイムスロットｔ２におけるセンサＳ１のデータ）を聞いたことに起因して、中継ノードＲ１は、自分のスケジュールされた送信スロットを、ｔ５よりも早い時点へ、すなわちｔ４へ移動した。したがって、タイムスロットｔ４において、中継ノードＲ１は、ラベルＴＸを伴うブロックを有している。
【００７２】
図７は、一実施形態によるノード１００を示している。このノードは、送信１１０および受信１２０アンテナ、または送信と受信の両方のために使用される複合アンテナと、送信チェーン１３０と、受信チェーン１４０とを備える。このノードは、その上、コントローラ１６０と不揮発性メモリ１７０とを備える。コントローラ１６０は、メモリ１７０内に格納されているコンピュータプログラム命令にアクセスするように、およびこれらの命令に基づいて、本明細書において記述されている方法を実行するように構成される。
【００７３】
メッシュネットワークは、複数のノード１００から構成される。複数のノード１００は、上述のようなソースノード、宛先ノード、または中継ノードであることが可能である。ネットワーク内の複数のノード１００のうちの１つまたは複数は、上述のような、受信されたデータを、そのデータが受信された形態で再送信するように構成される中間ノードであることが可能である。ソースノード、宛先ノード、および中継ノードは、それらが別の意図されている宛先向けのデータを受信および送信している場合には、中間ノードであるとみなされることが可能である。
【００７４】
特定の実施形態が記述されてきたが、これらの実施形態は、単なる例として提示されており、本発明の範囲を限定することを意図されているものではない。実際に、本明細書において記述されている新規なデバイス、および方法は、その他のさまざまな形態で具現化されることが可能であり、さらに、本明細書において記述されているデバイス、方法、および製品の形態におけるさまざまな省略、置換、および変更が、本発明の趣旨から逸脱することなく行われることが可能である。添付の特許請求の範囲およびそれらの均等物は、本発明の範囲および趣旨内に含まれるそのような形態または修正をカバーすることを意図されている。
【図１】
2020048189.tif 000005
【図２】
2020048189.tif 000006
【図３】
2020048189.tif 000007
【図４】
2020048189.tif 000008
【図５】
2020048189.tif 000009
【図６】
2020048189.tif 000010
【図７】
2020048189.tif 000011
【外国語明細書】
2020048189000001.pdf