(57)【要約】      （修正有）【課題】無線メッシュネットワークにおけるデータの高速配信を強化する技術を提供する。【解決手段】ブロードキャストメッセージ６０３を協調的に繰り返すためのシステムであって、ネイバーフッド６０２内に複数のルータノード３０１を備える。各ルータノードは、ブロードキャストメッセージを受信し、ブロードキャストメッセージの送信を繰り返すことができる。複数のルータノードは、複数のルータノードのネイバーフッド内で、１つまたは複数の周波数チャネル上でのブロードキャストメッセージの送信を、集合的な目標時間量だけ集合的に繰り返す。個々のルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０であり、集合的な目標繰り返し量を達成する。【選択図】図６
2019122032.tif 000002
【特許請求の範囲】
【請求項１】
複数のルータノードを備えるブロードキャストメッセージを協調的に繰り返すためのシステムであって、各々がブロードキャストメッセージを受信し、ブロードキャストメッセージの送信を繰り返すことができ、
前記複数のルータノードは、１つまたは複数の周波数チャネル上での前記ブロードキャストメッセージの送信を、前記複数のルータノードのネイバーフッド内で集合的な繰り返しの目標量だけ、集合的に繰り返すように構成され、
前記集合的な繰り返しの目標量を達成するために、前記個々のルータノードの繰り返しの量は、０からｎまで異なり、ｎ＞０である、
システム。
【請求項２】
前記ブロードキャストメッセージを受信する各ルータノードは、
各周波数チャネルについて、受信メッセージの送信を繰り返すかどうかを個別に決定し、
決定に応答して、周波数チャネル上で前記受信メッセージの送信を繰り返す
ように構成され、
前記ルータノードは、さらに、
前記周波数チャネル上での繰り返しの量を決定し、
前記周波数チャネル上での決定された量の前記受信メッセージの送信を繰り返す
ように構成される、
請求項１に記載のシステム。
【請求項３】
前記ルータノードは、前記送信を繰り返す決定および前記繰り返し量の決定の後に、前記受信メッセージの前記送信を周波数チャネル上で繰り返すように構成される、請求項２に記載のシステム。
【請求項４】
前記ルータノードは、
前記送信を繰り返す決定および前記チャネルでの繰り返し量の決定の後に、周波数チャネルおよび決定された繰り返し量をリストに追加し、
すべての周波数チャネルをチェックした後に、前記リストに追加されたすべての周波数チャネル上で前記受信メッセージの送信を繰り返す
ように構成される、
請求項２に記載のシステム。
【請求項５】
前記受信メッセージの送信を繰り返すか否かの決定は、周波数列チャネル固有の送信決定値ＴＤＶに基づく、請求項２から４のいずれか一項に記載のシステム。
【請求項６】
前記周波数チャネル固有ＴＤＶは、無線範囲当たりの集合的繰り返しの目標量および前記無線範囲内のルータノードの量に基づいて定義される、請求項５に記載のシステム。
【請求項７】
前記周波数チャネル固有ＴＤＶは、前記周波数チャネルにおける送信の成功率、ルータノードが平均して受信モードにある時間のパーセンテージ、のうちの少なくとも１つに基づいてさらに定義される、請求項６に記載のシステム。
【請求項８】
前記繰り返しを開始する前に、前記繰り返しの一部に対して、および／または前記メッセージの送信の各繰り返しに対して、ランダムおよび／または一定の遅延が用いられる、請求項１から７のいずれか一項に記載のシステム。
【請求項９】
前記メッセージの送信を繰り返す前に、各ルータノードは、クリアチャネルアセスメント（Ｃｌｅａｒ  Ｃｈａｎｎｅｌ  Ａｓｓｅｓｓｍｅｎｔ）ＣＣＡを使用して周波数チャネルを感知するように構成され、その感知が、周波数チャネルが空いていることを示す場合、前記ルータノードは、前記ブロードキャストメッセージの送信を繰り返すように構成される、請求項１から８のいずれか一項に記載のシステム。
【請求項１０】
前記感知が、前記周波数チャネルがビジーであるか、またはｎ回の試行の間ビジーのままであることを示す場合、前記ルータノードは、前記ブロードキャストメッセージの送信の前記繰り返しを後の時間に延期するように構成され、その後、前記ルータノードは、前記ブロードキャストメッセージの送信を再び繰り返すように試みるように構成されるか、または前記ルータノードは、前記周波数チャネル上で前記ブロードキャストメッセージの送信の前記繰り返しをスキップするように構成される、請求項９に記載のシステム。
【請求項１１】
前記メッセージの送信の繰り返しの前に、各ルータノードは、周波数ホッピングスケジュールをもたらすために、前記ブロードキャストメッセージの送信が繰り返される周波数チャネルの順序をランダム化するように構成される、請求項１から１０のいずれか一項に記載のシステム。
【請求項１２】
前記１つ以上の周波数チャネルは、前記ルータノードによって予め構成されるか、またはランタイム学習される、請求項１から１１のいずれか一項に記載のシステム。
【請求項１３】
ブロードキャストメッセージを協調的に繰り返すための方法であって、
複数のルータノードによって、１つまたは複数の周波数チャネル上での前記ブロードキャストメッセージの送信を、前記複数のルータノードのネイバーフッド内で集合的な繰り返しの目標量だけ、集合的に繰り返すことを備え、
集合的な目標繰り返し量を達成するために、個々のルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である、
方法。
【請求項１４】
前記方法は、
ブロードキャストメッセージを受信する各ルータノードによって、各周波数チャネルについて、受信メッセージの送信を繰り返すかどうかを個別に決定し、
前記決定に応答して周波数チャネル上で前記受信メッセージの送信を繰り返すことをさらに備え
前記方法は、
前記ルータノードによって、前記周波数チャネル上での繰り返し量を決定し、
前記ルータノードによって、前記周波数チャネル上での決定された量の前記受信メッセージの送信を繰り返すことをさらに備える、請求項１３に記載の方法。
【請求項１５】
前記方法は、前記ルータノードによって、前記送信を繰り返す決定および前記繰り返し量の決定の後に、前記受信メッセージの前記送信を周波数チャネル上で繰り返すことを備える、請求項１４に記載の方法。
【請求項１６】
前記方法は、
前記ルータノードによって、前記送信を繰り返す決定および前記チャネルでの繰り返し量の決定の後に、周波数チャネルおよび決定された繰り返し量をリストに追加し、
前記ルータノードによって、すべての周波数チャネルをチェックした後に、前記リストに追加されたすべての周波数チャネル上で前記受信メッセージの送信を繰り返すことを備える、請求項１４に記載の方法。
【請求項１７】
前記受信メッセージの送信を繰り返すか否かの決定は、周波数列チャネル固有の送信決定値ＴＤＶに基づく、請求項１４から１６のいずれか一項に記載の方法。
【請求項１８】
前記周波数チャネル固有ＴＤＶは、無線範囲当たりの集合的繰り返しの目標量および前記無線範囲内のルータノードの量に基づいて定義される、請求項１７に記載の方法。
【請求項１９】
前記周波数チャネル固有ＴＤＶは、前記周波数チャネルにおける送信の成功率、ルータノードが平均して受信モードにある時間のパーセンテージ、のうちの少なくとも１つに基づいてさらに定義される、請求項１８に記載の方法。
【請求項２０】
前記繰り返しを開始する前に、前記繰り返しの一部に対して、および／または前記メッセージの送信の各繰り返しに対して、ランダムおよび／または一定の遅延が使用される、請求項１３から１９のいずれか一項に記載の方法。
【請求項２１】
前記メッセージの送信を繰り返す前に、前記方法は、各ルータノードによって、クリアチャネルアセスメント（Ｃｌｅａｒ  Ｃｈａｎｎｅｌ  Ａｓｓｅｓｓｍｅｎｔ）ＣＣＡを使用することによって前記周波数チャネルを感知することをさらに含み、前記感知が、前記周波数チャネルが空いていることを示す場合、前記方法は、前記ルータノードによって、前記ブロードキャストメッセージの送信を繰り返すことをさらに含む、請求項１３から２０のいずれか一項に記載の方法。
【請求項２２】
前記感知が、前記周波数チャネルがビジーであるか、またはｎ回の試行の間ビジーであり続けることを示す場合、前記方法は、前記ルータノードによって、前記ブロードキャストメッセージの送信の繰り返しを後の時間に延期し、その後、前記ブロードキャストメッセージの送信を再度繰り返すことを試みるか、または前記ルータノードによって、前記周波数チャネル上でのブロードキャストメッセージの送信の繰り返しをスキップすることをさらに含む、請求項２１に記載の方法。
【請求項２３】
前記メッセージの送信を繰り返す前に、前記方法は、各ルータノードによって、前記ブロードキャストメッセージの送信が繰り返される周波数チャネルの順序をランダム化して、周波数ホッピングスケジュールをもたらすことをさらに含む、請求項１３から２２のいずれか一項に記載の方法。
【請求項２４】
前記１つ以上の周波数チャネルは、前記ルータノードによって予め構成されるか、またはランタイム学習される、請求項１３から２３のいずれか一項に記載の方法。
【請求項２５】
ブロードキャストメッセージの協調的に繰り返すためのルータノードであって、
マイクロコントローラユニットと、
コンピュータプログラムの少なくとも一部を記憶するメモリと、を備え、
前記マイクロコントローラユニットは、前記ルータノードに、少なくとも、
前記ブロードキャストメッセージの受信および繰り返し送信、ならびに
複数のルータノードの一部として集合的に、１つまたは複数の周波数チャネル上でのブロードキャストメッセージの送信を、複数のルータノードのネイバーフッド内で集合的な目標時間量だけ繰り返しすること
を行うように構成され、
集合的な目標繰り返し量を達成するために、ルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である、
ルータノード。
【請求項２６】
ブロードキャストメッセージを受信した後、ルータノードは、
各周波数チャネルについて、受信メッセージの送信を繰り返すかどうかを個別に決定し、
前記決定に応答して、周波数チャネル上で前記受信メッセージの送信を繰り返すように構成され、
前記ルータノードは、さらに、
前記周波数チャネル上の繰り返しの量を決定し、
前記周波数チャネル上で決定された時間の前記受信メッセージの送信を繰り返すように構成される、
請求項２５に記載のルータノード。
【請求項２７】
前記ルータノードは、前記送信を繰り返す決定および周波数チャネル上での繰り返しの量の決定の後に、前記受信メッセージの前記送信を繰り返すように構成される、請求項２６に記載のルータノード。
【請求項２８】
前記ルータノードは、送信を繰り返す決定および前記チャネルでの繰り返し量の決定の後に、周波数チャネルおよび決定された繰り返し量をリストに追加し、すべての周波数チャネルをチェックした後に、リストに追加されたすべての周波数チャネル上で前記受信メッセージの送信を繰り返すように構成される、請求項２６に記載のルータノード。
【請求項２９】
前記受信メッセージの送信を繰り返すか否かの決定は、周波数チャネル固有の送信決定値ＴＤＶに基づく、請求項２６から２８のいずれか一項に記載のルータノード。
【請求項３０】
前記周波数チャネル固有ＴＤＶは、無線範囲当たりの集合的繰り返しの目標量および前記無線範囲内のルータノードの量に基づいて定義される、請求項２９に記載のルータノード。
【請求項３１】
前記周波数チャネル固有ＴＤＶは、前記周波数チャネルにおける送信の成功率、ルータノードが平均して受信モードにある時間のパーセンテージ、のうちの少なくとも１つに基づいてさらに定義される、請求項３０に記載のルータノード。
【請求項３２】
前記繰り返しを開始する前に、前記繰り返しの一部に対して、および／または前記メッセージの送信の各繰り返しに対して、ランダムおよび／または一定の遅延が使用される、請求項２５から３１のいずれか一項に記載のルータノード。
【請求項３３】
前記メッセージの送信を繰り返す前に、前記ルータノードは、クリアチャネルアセスメント（Ｃｌｅａｒ  Ｃｈａｎｎｅｌ  Ａｓｓｅｓｓｍｅｎｔ）ＣＣＡを使用して前記周波数チャネルを感知するように構成され、前記感知が前記周波数チャネルが空いていることを示す場合、前記ルータノードは、前記ブロードキャストメッセージの送信を繰り返すように構成される、請求項２５から３２のいずれか一項に記載のルータノード。
【請求項３４】
前記感知が、前記周波数チャネルがビジーであるか、またはｎ回の試行の間ビジーのままであることを示す場合、前記ルータノードは、前記ブロードキャストメッセージの送信の前記繰り返しを後の時間に延期するように構成され、その後、前記ルータノードは、前記ブロードキャストメッセージの送信を再び繰り返すように試みるように構成されるか、または、前記ルータノードは、前記周波数チャネル上で前記ブロードキャストメッセージの送信の前記繰り返しをスキップするように構成される、請求項３３に記載のルータノード。
【請求項３５】
前記メッセージの送信を繰り返す前に、前記ルータノードは、周波数ホッピングスケジュールをもたらすために、前記ブロードキャストメッセージの送信が繰り返される周波数チャネルの順序をランダム化するように構成される、請求項２５から３４のいずれか一項に記載のルータノード。
【請求項３６】
前記１つ以上の周波数チャネルは、前記ルータノードによって予め構成されるか、またはランタイム学習される、請求項２５から３５のいずれか一項に記載のルータノード。
【請求項３７】
ルータノードのためのブロードキャストメッセージを協調的に繰り返す方法であって、
ブロードキャストメッセージの受信および繰り返し送信、ならびに、
１つまたは複数の周波数チャネル上でブロードキャストメッセージの送信を、複数のルータノードのネイバーフッド内の集合的な目標時間量だけ、複数のルータノードの一部として集合的に繰り返すことを備え、
集合的な目標繰り返し量を達成するために、ルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である、
方法。
【請求項３８】
前記方法は、
ブロードキャストメッセージを受信する各ルータノードによって、各周波数チャネルについて、受信メッセージの送信を繰り返すかどうかを個別に決定し、
前記決定に応答して周波数チャネル上で前記受信メッセージの送信を繰り返すことをさらに備え
前記方法は、
前記ルータノードによって、前記周波数チャネル上での繰り返し量を決定し、
前記ルータノードによって、前記周波数チャネル上での決定された量の前記受信メッセージの送信を繰り返すことをさらに備える、
請求項３７に記載の方法。
【請求項３９】
前記方法は、前記ルータノードによって、前記送信を繰り返す決定および前記繰り返し量の決定の後に、前記受信メッセージの前記送信を周波数チャネル上で繰り返すことを備える、請求項３８に記載の方法。
【請求項４０】
前記方法は、前記ルータノードによって、周波数チャネルおよび判定された繰り返し量を、前記チャネル上での繰り返し量の送信および判定を繰り返す判定の後にリストに加え、前記ルータノードによって、すべての周波数チャネルをチェックした後に、前記リストに加えられたすべての周波数チャネル上での前記受信メッセージの送信を繰り返すことを備える、請求項３８に記載の方法。
【請求項４１】
前記受信メッセージの送信を繰り返すか否かの決定は、周波数列チャネル固有の送信決定値ＴＤＶに基づく、請求項３８から４０のいずれか一項に記載の方法。
【請求項４２】
前記周波数チャネル固有ＴＤＶは、無線範囲当たりの集合的繰り返しの目標量および前記無線範囲内のルータノードの量に基づいて定義される、請求項４１に記載の方法。
【請求項４３】
前記周波数チャネル固有ＴＤＶは、前記周波数チャネルにおける送信の成功率、ルータノードが平均して受信モードにある時間のパーセンテージ、のうちの少なくとも１つに基づいてさらに定義される、請求項４２に記載の方法。
【請求項４４】
前記繰り返しを開始する前に、前記繰り返しの一部に対して、および／または前記メッセージの送信の各繰り返しに対して、ランダムおよび／または一定の遅延が使用される、請求項３７から４３のいずれか一項に記載の方法。
【請求項４５】
前記メッセージの送信を繰り返す前に、前記方法は、各ルータノードによって、クリアチャネルアセスメント（Ｃｌｅａｒ  Ｃｈａｎｎｅｌ  Ａｓｓｅｓｓｍｅｎｔ）ＣＣＡを使用することによって前記周波数チャネルを感知することをさらに含み、前記感知が、前記周波数チャネルが空いていることを示す場合、前記方法は、前記ルータノードによって、前記ブロードキャストメッセージの送信を繰り返すことをさらに含む、請求項３７から４４のいずれか一項に記載の方法。
【請求項４６】
前記感知が、前記周波数チャネルがビジーであるか、またはｎ回の試行の間ビジーであり続けることを示す場合、前記方法は、前記ルータノードによって、前記ブロードキャストメッセージの送信の繰り返しを後の時間に延期し、その後、前記ブロードキャストメッセージの送信を再度繰り返すことを試みるか、または、前記ルータノードによって、前記周波数チャネル上でのブロードキャストメッセージの送信の繰り返しをスキップすることをさらに含む、請求項４５に記載の方法。
【請求項４７】
前記メッセージの送信を繰り返す前に、前記方法は、前記ルータノードによって、前記ブロードキャストメッセージの送信が繰り返される周波数チャネルの順序をランダム化して、周波数ホッピングスケジュールをもたらすことをさらに含む、請求項３７から４６のいずれか一項に記載の方法。
【請求項４８】
前記１つ以上の周波数チャネルは、前記ルータノードによって予め構成されるか、またはランタイム学習される、請求項３７から４７のいずれか一項に記載の方法。
【請求項４９】
コンピュータで実行されるときに、請求項３７から４８のいずれか一項に記載の方法を実行するように構成されたコンピュータプログラム。
【請求項５０】
コンピュータで実行されるときに、請求項４９に記載のコンピュータプログラムを含む、有形不揮発性コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明は、一般に、無線メッシュネットワークの技術分野に関する。特に、本発明は、無線メッシュネットワークにおけるデータの高速配信を強化することに関する。
【背景技術】
【０００２】
背景無線メッシュネットワーク（ＷＭＮ：ｗｉｒｅｌｅｓｓ  ｍｅｓｈ  ｎｅｔｗｏｒｋ）は、例えば、送信範囲、周波数チャネルの使用などに応じて、互いに通信することができる複数の、場合によっては数百または数千またはそれ以上の無線ノード１０１によって形成される。無線メッシュネットワーク１００は、他のネットワーク１０３、例えばインターネット、へのゲートウェイの一部であり得る１つ以上のシンクノード１０２を有し得る。簡素な例の無線メッシュネットワーク１００を図１に示す。無線メッシュネットワークは、静的無線環境内になくてもよく、ノードの一部が移動、出現、または消滅してもよい。したがって、図１に示されるメッシュネットワークの例は、自己組織化型であり、すべてのノードは、独立して決定を行うことができるが、ネットワークおよびそのデータ配信機能をサポートする。
【０００３】
無線メッシュネットワークの一例は、データを生成するセンサデバイスによって形成される無線センサネットワーク（ＷＳＮ：ｗｉｒｅｌｅｓｓ  ｓｅｎｓｏｒ  ｎｅｔｗｏｒｋ）であってもよい。各センサデバイスは、データをシンクノードに向けて配信するために使用される１以上の無線機を備えることができる。たとえ単一のセンサ無線機がシンクノードに直接到達することができない場合でも、センサ無線ノード間に形成される無線メッシュネットワークは、シンクノードを処理する。各無線ノードにおいて実施されるルーティングプロトコルは、シンクへの道を選択する。同様に、複数の無線ホップを介して、シンクからノードへ、またはノード間で配信されるデータがあってもよい。
【０００４】
ＷＭＮで伝送されるデータは、厳しいタイミング要件、すなわち、ノードからノードへの、またはノードからシンクへの配信の低い遅延通信要件を有することができる。一例として、照明システムにおいて、スイッチング制御データは、無線メッシュネットワーク上で迅速に、例えば、数百ミリ秒以内に、より良いユーザ体験を作り出すために、配信されるべきである。
【０００５】
データ配信は高速でなければならないが、一方、ネットワークへのジャミングを引き起こしてはならない。ブロードキャスティング／フラッディングは、複数の受信機にデータを配信する最も速い方法であるが、衝突を引き起こし、干渉を増大させることもある。より大きなネットワークの場合、ブロードキャストメッセージの制御されないバーストは、チャネルを完全にブロックし、他のデータの配信に影響を与える。
【０００６】
ブロードキャスト通信では、信頼性と通信オーバーヘッドとの間のトレードオフは、ブロードキャストメッセージの異なる繰り返し量で制御することができる。典型的なブロードキャスト／フラッディング通信プロトコルでは、繰り返しの量がノード固有であり、通常、すべてのノードについて同じである。これは、高密度の設備では繰り返しの総量が過剰になり、例えば大量の衝突および干渉をもたらす大きなオーバーヘッドを引き起こす可能性があることを意味する。一方、疎な設備では、十分な信頼性を達成するには繰り返し量が少なすぎることがある。結果の両方がサービス品質の低下、例えば、データの喪失および／または遅延の増加をもたらす可能性がある。
【０００７】
本発明の目的は、ブロードキャスト通信におけるオーバーヘッドを最小にしながら信頼性を最大にする方法を提供することである。
【発明の概要】
【０００８】
本発明の目的は、ブロードキャストメッセージの協調的な繰り返しのためのシステム、方法およびルータノードを提供することである。本発明の別の目的は、ブロードキャストメッセージの協調的な繰り返しのためのシステム、方法およびルータノードが無線メッシュネットワークにおける不必要なトラフィックおよび衝突の量を減少させることである。
【０００９】
本発明の目的は、それぞれの独立請求項によって定義されるシステム、ルータノード、メソッド、コンピュータプログラム、およびコンピュータ可読媒体によって達成される。
【００１０】
一実施形態によれば、ブロードキャストメッセージの協働的な繰り返しのためのシステムが提供され、このシステムは、ブロードキャストメッセージを受信し、そのブロードキャストメッセージの送信を繰り返すことができる複数のルータノードを備え、複数のルータノードは、１つまたは複数の周波数チャネル上でのブロードキャストメッセージの送信を、前記複数のルータノードのネイバーフッド内で集合的な繰り返しの目標量だけ、集合的に繰り返すように構成され、集合的な繰り返しの目標量を達成するために、個々のルータノードの繰り返しの量は、０からｎまで異なり、ｎ＞０である。
【００１１】
一実施形態によれば、ブロードキャストメッセージを協調的に繰り返す方法が提供され、前記方法は、複数のルータノードによって、１つまたは複数の周波数チャネル上でのブロードキャストメッセージの送信を、複数のルータノードのネイバーフッド内で集合的な繰り返しの目標量だけ、集合的に繰り返すことを備え、集合的な目標繰り返し量を達成するために、個々のルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である。
【００１２】
一実施形態によれば、ブロードキャストメッセージの協調的な繰り返しのためのルータノードが提供され、前記ルータノードは、マイクロコントローラユニットと、コンピュータプログラムの少なくとも一部を記憶するメモリと、を備え、マイクロコントローラユニットは、ルータノードに少なくとも、前記ブロードキャストメッセージの受信および繰り返し送信、ならびに複数のルータノードの一部として集合的に、１つまたは複数の周波数チャネル上でのブロードキャストメッセージの送信を、複数のルータノードのネイバーフッド内で集合的な目標時間量だけ繰り返しすることを行うように構成され、集合的な目標繰り返し量を達成するために、ルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である。
【００１３】
一実施形態によれば、ルータノードのためのブロードキャストメッセージの協調的な繰り返しのための方法が提供され、前記方法は、ブロードキャストメッセージの受信および繰り返し送信、ならびに、１つまたは複数の周波数チャネル上でブロードキャストメッセージの送信を、複数のルータノードのネイバーフッド内の集合的な目標時間量だけ、複数のルータノードの一部として集合的に繰り返すことを備え、集合的な目標繰り返し量を達成するために、ルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である。
【００１４】
一実施形態によれば、ルータノードがコンピュータで実行されるときに、ルータノードによってブロードキャストメッセージを協調的に繰り返すためのコンピュータプログラムが提供される。プログラムは、ブロードキャストメッセージの受信および繰り返し送信、ならびに、１つまたは複数の周波数チャネル上でブロードキャストメッセージの送信を、複数のルータノードのネイバーフッド内の集合的な目標時間量だけ、複数のルータノードの一部として集合的に繰り返すコンピュータ実行可能なコードを備え、集合的な目標繰り返し量を達成するために、ルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である。
【００１５】
一実施形態によれば、コンピュータで実行されるときに、ルータノードによってブロードキャストメッセージを協調的に繰り返すためのコンピュータプログラムを備える有形不揮発性コンピュータ可読媒体が提供される。プログラムは、ブロードキャストメッセージの受信および繰り返し送信、ならびに、１つまたは複数の周波数チャネル上でブロードキャストメッセージの送信を、複数のルータノードのネイバーフッド内の集合的な目標時間量だけ、複数のルータノードの一部として集合的に繰り返すコンピュータ実行可能なコードを備え、集合的な目標繰り返し量を達成するために、ルータノードの繰り返し量は、０からｎまで異なり、ｎ＞０である。
【００１６】
さらなる実施形態は、従属請求項に開示される。
【００１７】
この特許出願において提示される本発明の例示的な実施形態は、出願中の特許請求の範囲の利用可能性に制限を与えると解釈されるべきではない。「備える」という動詞は、本特許出願において、列挙されていない特徴の存在を排除しないオープンな限定として用いられる。従属請求項に列挙される特徴は、相互に自由に組み合わせることができ、さもなければ明示的に述べられない。
【００１８】
本発明の特性と考えられる新規な特性は、特に添付の特許請求の範囲に記載されている。しかし、本発明自体は、その構造およびその動作方法の両方に関して、その追加の目的および利点と共に、添付の図面に関連して読んだときに、特定の実施形態の以下の説明から最もよく理解されるのであろう。
【図面の簡単な説明】
【００１９】
本発明の実施形態は、添付の図面において、限定としてではなく例として例示される。
【図１】図１は、無線メッシュネットワークの簡素な例を概略的に示す。
【図２】図２Ａ−２Ｄは、マルチホップＷＭＮ内でのデータのブロードキャストおよび反復の例を概略的に示す。
【図３Ａ】図３Ａは、すべてのノードがルータノードであるトポロジを概略的に示す。
【図３Ｂ】図３Ｂは、すべてのノードがルータノードであり、さらにネットワークがシンクノードも含むトポロジの例を概略的に示す。
【図４Ａ】図４Ａは、ノードの一部がルータノードであり、ノードの一部がルーティングできず、ネットワーク内のエンドノードのみであり得る例示的なトポロジを概略的に示す。
【図４Ｂ】図４Ｂは、ノードの一部がルータノードであり、ノードの一部がルーティングできず、ネットワーク内のエンドノードのみであることができ、さらに、ネットワークがシンクノードも含む、例示的なトポロジを概略的に示す。
【図５Ａ】図５Ａは、クラスタ化トポロジの例を概略的に示す。
【図５Ｂ】図５Ｂはクラスタ化トポロジの例を概略的に示し、ネットワークはシンクノードも含む。
【図６】図６は、本発明による高密度設備におけるノードのネイバーフッド内部の特定の反復量の一例を概略的に示す。
【図７】図７は、本発明による疎な設備におけるノードのネイバーフッド内部の特定の反復量の一例を概略的に示す。
【図８】図８は、本発明による複数の重複するネイバーフッドおよびマルチホップ通信の例を概略的に示す。
【図９Ａ】図９Ａは、ルータノードがネイバーフッド内で指定された量の繰り返しを協調して達成するための本発明による方法の一例を概略的に示す。
【図９Ｂ】図９Ｂは、ルータノードがネイバーフッド内で指定された量の繰り返しを協調して達成するための本発明による方法の別の例を概略的に示す。
【図１０】図１０Ａ−１０Ｃは、周波数ホッピングシーケンスの例を概略的に示す。
【図１１】図１１は、データメッセージを使用するネイバー探索の例を概略的に示す。
【図１２】図１２は、パッシブスキャニングを使用するネイバー探索の例を概略的に示す。
【図１３】図１３は、アクティブスキャニングを使用するネイバー探索の例を概略的に示す。
【図１４】図１４は、同期ネイバー探索プロトコルを使用するネイバー探索の例を概略的に示す。
【図１５】図１５は、本発明によるルータノードハードウェアアーキテクチャの例を概略的に示す。
【発明を実施するための形態】
【００２０】
無線メッシュネットワーク（ＷＭＮ）においてマルチホップ通信を達成するための１つの方法は、ネットワーク内でデータをブロードキャストし、中継する（再ブロードキャストする）ことであり、これは時々フラッディングとも呼ばれる。ノードは、ブロードキャストされたデータを複数回繰り返すことを許可されなくてもよく、すなわち、繰り返しノードは、後に再び現れる場合、同じデータの送信を再び繰り返すことを許可されない。例えば、データはデータを識別するための一意の識別子（ＩＤ）を含むことができ、ノードが、ノードが既に繰り返したＩＤを有するデータを受信する場合、ノードは、前記データを再び繰り返すことを許可されない。例えば、ＩＤは、オリジナルの送信者アドレスおよびシーケンス番号を含むことができる。さらに、データは、ブロードキャストされたデータの範囲を制限するためのホップ限界を含むことができる。例えば、送信側はデータに対してホップ限界を設定することができ、データを繰り返す各ノードは、ホップ限界値をデクリメント（減分）することができる。ノードは、ホップ限界値がゼロであるデータを受信すると、そのデータを繰り返さない。
【００２１】
図２Ａ−２Ｄは、マルチホップＷＭＮ１００内でデータをブロードキャストし、繰り返す例を示す。ノード１は、ノード２および３によって受信されるデータをブロードキャストする（図２（Ａ））。ノード２および３は、ノード１、２、３、４および５によって受信されるデータを繰り返す（図２（Ｂ））。繰り返しの間、ノード１、２、および３は、重複されたデータを受信し、重複されたデータを繰り返さない。ノード４および５は、ノード２、３、４、５、６および７によって受信されるデータを繰り返す（図２（ｃ））。繰り返しの間、ノード２、３、４および５は、重複されたデータを受信し、重複されたデータを繰り返しない。ノード６および７は、ノード４、５、６および７によって受信されるデータを繰り返す（図２（Ｄ））。繰り返しの間、ノード４、５、６、７は、重複されたデータを受信し、重複されたデータを繰り返さない。本発明の範囲において、ブロードキャストという用語は、宛先アドレス指定ではなく通信方法を指す。ブロードキャストおよび繰り返しによって、データはネットワーク内のノードに分配される。データが実際に対象とされるノードは、別個のアドレス指定によって識別することができる。別個のアドレス指定は、例えば、データがネットワーク内のすべてのノード宛であるブロードキャストアドレス指定、またはデータがネットワーク内のノードのグループ宛であるマルチキャストアドレス指定、またはデータがネットワーク内の単一のノード宛であるユニキャストアドレス指定を含むことができる。
【００２２】
本発明によるシステムは、複数のノード３０１、ここではルータノードと呼ばれ、各々がブロードキャストメッセージの送信を受信し、繰り返すことができる複数のノード３０１を含む。複数のルータノード３０１は、ルータノードの近傍内、すなわち無線範囲６０２内で、指定された集合目標時間量だけ、ブロードキャストメッセージ６０３の送信を集合的に、すなわち協調的に繰り返すように構成される。目的は、ブロードキャストメッセージ６０３の送信のローカル集合標的反復量を、ネイバーフッド６０２内のルータノード３０１の量とは無関係に、ネイバーフッド６０２内で同じに保つことである。個々のルータノード３０１の繰り返し量は、共通の集合的な目標繰り返し量を達成するために、０からｎまで異なることができ、ここで、ｎ＞０である。繰り返しは、例えば、ルータノード３０１によって、事前に構成された、またはランタイム学習されることができる、１以上の周波数チャネル上で行うことができる。繰り返しの集合的な目標量および使用される周波数チャネルは、異なる近傍６０２において同じであっても、同じでなくてもよい。繰り返しの集合的な目標量は、周波数チャネルごとに同じであっても異なっていてもよい。
【００２３】
例えば、受信ルータノードの無線範囲６０２内のルータノード３０１の数が多い場合、ブロードキャストメッセージ６０３の送信は、ネイバーフッド６０２内の他のルータノード３０１によって繰り返されることが期待されるので、ルータノード３０１は、ブロードキャストメッセージ６０３の送信を繰り返さないことを決定することができる。別の例によれば、周波数チャネルの品質が悪い、すなわち、周波数チャネルに多くの干渉がある場合、ルータノード３０１は、ブロードキャストメッセージ６０３の送信を繰り返すことを決定してもよく、その理由は、前記周波数チャネルにおける送信のブロッキング変化率が高く、したがって、信頼性の高い通信を達成するために、複数のルータノード３０１が前記周波数チャネル上でブロードキャストメッセージ６０３の送信を繰り返す必要があるからである。
【００２４】
本発明は、ブロードキャストメッセージ６０３が無線メッシュネットワークにおける不要なトラフィックおよび衝突の量を減らすことによって配信されることを可能にする。一方、本発明は、各ルータノード３０１がネイバーフッドから収集された情報に基づいて、受信されたブロードキャストメッセージ６０３を繰り返すか否かについて独立した決定を行うことを可能にする。本発明は、いくつかのＷＭＮトポロジで実施されることができる。
【００２５】
一例として、図３Ａに示すように、本発明は、すべてのノードがルータノード３０１であり、ネットワーク３００内のルータノード３０１間で通信が起こるトポロジで実施することができる。さらに、図３Ｂに示されるように、ネットワーク３００は、また、他のネットワーク３０５、例えばインターネット、へのゲートウェイの一部であり得るシンクノード３０４（黒い正方形として示される）を含んでもよく、通信は、シンクノード３０４とルータノード３０１との間でさらに起こり得る。
【００２６】
別の例として、図４Ａに示すように、本発明は、ノードの一部がルータノード３０１（黒丸で示す）であり、ノードの一部がルーティングできず、ネットワーク４００内のエンドノード４０１（白丸で示す）だけとすることができるトポロジで実施することができる。通信は、ネットワーク４００内のすべてのノード３０１、４０１間で起こり得るが、ルーティングできないノード４０１はデータを繰り返さない（すなわち、データのソースノードまたは宛先ノードとしてのみ動作できる）。さらに、図４Ｂに示されるように、ネットワーク４００は、また、他のネットワーク３０５、例えばインターネット、へのゲートウェイの一部であり得るシンクノード３０４を含んでもよく、通信は、ネットワーク内のシンクノード３０４と他のノード３０１、４０１との間で付加的に起こり得る。
【００２７】
別の例として、図５Ａに示されるように、本発明は、クラスタ化トポロジで実施することができ、ＷＭＮ５００は、動的または静的に形成することができる１以上のクラスタ５０６を含むことができる。ＷＭＮ５００は、クラスタヘッドおよびクラスタ部材として動作することができるルータノード３０１と、クラスタ部材としてのみ動作することができるデータをルーティングできないノード４０１とを含むことができる。通信は、ネットワーク５００内のすべてのノード３０１、４０１間で起こり得るが、ルーティングできないノード４０１はデータを繰り返さない（すなわち、データのソースノードまたは宛先ノードとしてのみ動作できる）。さらに、図５Ｂに示されるように、ネットワーク５００は、また、他のネットワーク３０５、例えばインターネット、へのゲートウェイの一部であり得るシンクノード３０４を含んでもよく、通信は、ネットワーク５００内のシンクノード３０４と他のノード３０１、４０１との間でさらに起こり得る。
【００２８】
図６は、ネイバーフッド６０２内の１０個のルータノード３０１の密な設備の例を概略的に示す。実際の設備では、１０個のルータノードは、高密度設備とはみなされないが、図６を明瞭に保つために、単純な１０個のルータノードを使用して高密度設備を表す。この例では、使用量周波数チャネルは、２であり、近傍６０２における集合的繰り返しの目標量は、両方の周波数チャネルについて５である。ブロードキャストメッセージ６０３を受信すると、各ルータノードは、後述する繰り返し決定手順を実行する。一例として、繰り返し決定手順の結果として、ノード３、１０、５、６、および１は、周波数チャネル１でのメッセージ６０３の送信を繰り返し、ノード１、２、７、６、および９は、周波数チャネル２でのメッセージ６０３の送信を繰り返す。この結果、両方の周波数チャネルにおいてブロードキャストメッセージ６０３の目標量の集合的反復が生じる。特定の周波数チャネルにおいてブロードキャストメッセージ６０３を繰り返すルータノード３０１のグループは、同一であってもよいし、同一でなくてもよい。
【００２９】
図７は、ネイバーフッド６０２内の３つのルータノード３０１の疎な設備の一例を概略的に示す。この例では、使用量周波数チャネルは、３であり、近傍６０２における集合的繰り返しの目標量は、周波数チャネル１および２に対して５であり、周波数チャネル３に対して２である。各ルータノード３０１は、ブロードキャストメッセージ６０３を受信すると、後述する繰り返し判定手順を実行する。一例として、繰り返し決定手順の結果として、ノード３および２は、メッセージ６０３の送信を２回繰り返し、ノード１は、メッセージ６０３の送信を周波数チャネル１で１回繰り返し、ノード１および２は、メッセージ６０３の送信を２回繰り返し、ノード３は、メッセージ６０３の送信を周波数チャネル２で１回繰り返し、ノード２および３は、メッセージ６０３の送信を周波数チャネル３で１回繰り返す。これは、全ての周波数チャネルにおいてブロードキャストメッセージ６０３の目標とされた総繰り返し量をもたらす。特定の周波数チャネルにおいてブロードキャストメッセージ６０３を繰り返すノード群３０１は、同一であってもよいし、同一でなくてもよい。
【００３０】
図８は、ノード３０１、３０１ａの複数の重複近傍６０２の一例を概略的に示す。各近傍６０２および各周波数チャネルにおいて、集合的な繰り返しの量は、共通の目標値またはその近傍６０２および周波数チャネルに対して最適化された個別の目標値を有することができる。複数のネイバーフッド６０２に属するルータノード３０１ａの繰り返しは、マルチホップ通信を可能にする複数のネイバーフッド６０２内でヒアリングされる。
【００３１】
上記の例で使用されるルータノード３０１、周波数チャネル、および繰り返しの数は、非限定的な例であり、本発明によるシステムは、任意の数のルータノード３０１を含むことができ、任意の数の周波数チャネルおよび繰り返しを使用することができる。
【００３２】
ネイバーフッド６０２内の各ルータノード３０１は、ネイバーフッドから収集された情報に基づいて独立して繰り返し決定を行う。これに代えて、またはこれに加えて、前記決定は、ルータノード３０１に予めプログラムされた情報、または動的に送信された情報（すなわち、ネイバーフッドノードのネイバーフッドの情報、またはランダムプロシージャの入力）に基づいてもよい。これは、トポロジが事前に知られており、例えばソーラーパネルの分野において、ネットワークの密度に大きな変化がない場合に有利であり得る。この種の明確なトポロジを用い、ノード位置を知ることで、ノード固有の最適な事前設定を行うことができ、エンドノード４０１さえもメッセージを繰り返すために使用することができる。ブロードキャストメッセージ６０３を受信すると、ルータノード３０１は、フロー、すなわち手順または方法を経て、特定の周波数チャネルでメッセージ６０３の送信を繰り返し、別の周波数チャネルのセットでメッセージ６０３の送信を繰り返さないという決定をもたらすことができる。言い換えれば、ブロードキャストメッセージ６０３を受信する各ルータノード３０１は、周波数チャネルごとに、受信メッセージ６０３の送信を繰り返すかどうかを個別に決定するように構成される。周波数チャネル上で受信メッセージ６０３の送信を繰り返す決定に応答して、ルータノード３０１は、さらに、前記周波数チャネル上での繰り返しの量を決定し、前記周波数チャネル上での受信メッセージ６０３の決定時間の送信を繰り返すように構成される。
【００３３】
図９Ａは、ネイバーフッド６０２内部および周波数チャネルごとの正確な集合的繰り返し量をもたらすルータノード３０１についての、本発明による例示的なフロー、すなわち手順または方法を概略的に示す。ルータノード３０１は、ブロードキャストデータ９０１をリッスンする。ブロードキャストされたメッセージ６０３が受信されると（９０２）、ルータノード３０１は、全ての使用された周波数チャネル９０５、９０６を通過する。各周波数チャネルについて、ノード３０１は、受信メッセージ６０３の送信が当該ルータノード３０１によって繰り返されるべきかどうか、およびルータノード３０１が周波数チャネル上で行うべき繰り返しの量をチェックする（９０３）。ノード３０１がメッセージ６０３の送信を繰り返すべき場合、ノード３０１は、予め定義されたチャネルアクセス方法またはランタイムで選択されたチャネルアクセス方法を使用して、決定された回数だけ現在の周波数チャネルでメッセージ６０３を送信し（９０４）、次のチャネル９０６をチェックし続ける。すなわち、ルータノード３０１は、周波数チャネルにおける繰り返し送信の決定および繰り返し量の決定を行った後に、受信メッセージ６０３の送信を繰り返す。
【００３４】
図９Ｂは、ネイバーフッド６０２内部および周波数チャネルごとの正確な集合的繰り返し量をもたらすルータノード３０１についての、本発明による別の例示的なフロー、すなわち手順または方法を概略的に示す。ルータノード３０１は、ブロードキャストデータ９０１をリッスンする。ブロードキャストメッセージ６０３が受信されると（９０２）、ルータノード３０１は全ての使用周波数チャネル９０５、９０６を通過する。各周波数チャネルに対して、ノード３０１は、受信されたメッセージ６０３の送信が問題のルータノード３０１によって繰り返されるべきかどうか、およびルータノードが周波数チャネル上で行うべき繰り返しの量をチェックする（９０３）。ノードがメッセージ６０３の送信を繰り返すべき場合、ノードは、周波数チャネルおよび繰り返し量をリストに追加する（９０７）。すべての周波数チャネルがチェックされた後、ルータノード３０１は、周波数チャネルのリストを通過し、予め定義されたまたはランタイムで選択された周波数チャネルアクセス方法９０８を使用して、指定された時間量だけ、周波数チャネルでメッセージ６０３を送信する。言い換えれば、ルータノード３０１は、送信及び繰り返し量の判定を繰り返す判定の後、周波数チャネル及び判定された繰り返し量をリストに追加し、全ての周波数チャネルをチェックした後に、リストに追加された全ての周波数チャネルについて受信メッセージ６０３の送信を繰り返す。
【００３５】
本発明の一実施形態によれば、メッセージの衝突を回避し、受信確率を高めるために、複数の方法を別々にまたは一緒に使用することができる。例えば、各ルータノードは、以下のうちの少なくとも１つを使用することができる：
【００３６】
・ランダム繰り返し遅延方法、目標は、メッセージ衝突の確率を減少させ、特定のルータノード３０１が送信しているときに他のルータノードが聞いている確率を増加させ、同時に繰り返すメッセージ６０３を受信した後に、ノード３０１に時間とともに非同期で繰り返しを開始させることである。これを達成する方法はいくつかある。例えば、任意の送信に対して、ランダム遅延が採用され得る。特に、ノード３０１が繰り返し処理を同期して開始するのを避け、衝突を回避するために、繰り返し処理を開始する前にランダム遅延を使用することが有益であり得る。例えば、単一のブロードキャストの全ての繰り返しに対して予想される時間の倍数であるランダム開始遅延を最初の送信の前に加えることによる。別の例として、ランダム開始遅延が使用されてもよく、その変化量は、ノード３０１がＣＳＭＡ−ＣＡ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ａｖｏｉｄａｎｃｅ）方法を介して、起こり得る衝突を検出することができるのに十分に高い。目標は、また、ランダムの上に一定の遅延を加えることによってこの確率が減少する、前の中継器または発信元ノードの上で送信することを避けることである。しかしながら、本発明方法によれば、繰り返しの予期される衝突確率がこれら２つまたは３つのランダムプロセスの組み合わされた結果である場合に、繰り返す周波数の順序および使用する周波数をランダム化することができるので、時間最適なインターリービング（交互配置）を得ることは適切ではないことに留意されたい。さらに、開始時間におけるより長い変動は、メッセージ配信の合計待ち時間を増加させ、したがって、時間にわたる送信を拡散する目標範囲は、通常、待ち時間、信頼性、およびデータスループットなどのアプリケーション要件に依存する。
【００３７】
・搬送波感知衝突回避多元接続（ＣＳＭＡ−ＣＡ）方法は、各送信の前に、周波数チャネルがクリア・チャネル・アセスメント（ＣＣＡ）を使用して感知される。周波数チャネルが空いている場合、メッセージが送信される。チャネルがビジーである場合、メッセージの送信は、後の時間、すなわちバックオフ時間にランダム化／延期され、その後、送信が再び試みられる。言い換えれば、周波数チャネルが空いていることをセンシングが示す場合、ルータノード３０１は、ブロードキャストメッセージ６０３の送信を繰り返し、周波数チャネルがビジーであることをセンシングが示す場合、ルータノード３０１は、ブロードキャストメッセージ６０３の送信の繰り返しを後の時間に延期し、その後、ルータノード３０１は、ブロードキャストメッセージ６０３の送信を再び繰り返しようと試みる。あるいは周波数チャネルがビジーであるか、またはｎ回の試行の間ビジーのままである場合、送信は、その周波数チャネル上でスキップされてもよい。
【００３８】
・ランダム化繰り返しチャネル選択方法（複数の周波数チャネルが使用される場合）では、周波数チャネルの順序がランダム化され、周波数ホッピングスケジュールもたらされる。周波数ホッピングシーケンスのいくつかの例を図１０Ａ−１０Ｃに示す。ＣＳＭＡ−ＣＡ方法と組み合わされる場合、他の周波数チャネル上の送信は、他のチャネル上のバックオフ時間中に試みられ得る。
【００３９】
・ブロードキャスト方法がユニキャストメッセージを配信するために使用され、アドレス指定されたノードがルータの部材または既知の隣接ノードである場合、ルータは、繰り返しをスキップし、代わりにポイントツーポイントメッセージをアドレス指定されたノードに送信することもできる。この場合、配信を確実にするために、メッセージに対するアクノレッジメント応答を要求することが有益であり得る。
【００４０】
周波数チャネルの予め構成された設定と、周波数チャネル上の最新の情報とが存在する場合、例えば、後述するように、同期またはエネルギー効率の良いネイバー探索プロトコルを介して、ネイバーフッド６０２において実際に使用される場合、使用される周波数チャネルは、使用されない周波数チャネルよりも優先される。オーバーヘッドをさらに最小限にするために、未使用の周波数チャネルでの送信を完全に省略することができる。
【００４１】
本発明の一実施形態によれば、ブロードキャストメッセージ６０３の送信を繰り返すか否かの決定（図９Ａおよび９Ｂのステップ９０３）は、周波数チャネル固有の送信決定値（ＴＤＶ）に基づいてもよい。ＴＤＶは、個々のルータノード３０１が周波数チャネル上でブロードキャストメッセージ６０３を送信して、総合目標量を達成すべき確率を記述する。
【００４２】
周波数チャネル固有のＴＤＶは、無線範囲毎の集合的繰り返しの目標量ＮＲ、および無線範囲内のルータノードの量ＮＤに基づいて定義することができる。さらに、周波数チャネル特定ＴＤＶは、以下のうちの少なくとも１つに基づいてさらに定義することができる：前記周波数チャネルＳＲにおける送信の成功率、ルータノードが平均して受信モードＡＲにある時間のパーセンテージ。
【００４３】
一例によれば、ＴＤＶは、以下の数式に従って定義することができる：
【数１】
2019122032.tif 000003
ここで、ＮＲは無線範囲当たりの集合的繰り返しの目標量であり、ＮＤは、無線範囲内のルータノードの量である。
【００４４】
ＮＲが増加すると、単一のルータノードがメッセージの送信を繰り返す可能性が増加し、その逆も同様である（より高いＮＲは、より多くの集合的な繰り返しが必要とされる手段である）。ＮＤが増加すると、単一のルータノードが繰り返す可能性が減少し、逆もまた同様である（より高いＮＤは、同じ総合目標値ＮＲを達成するためにルータノードごとにより少ない反復が必要とされることを手段する）。
【００４５】
各周波数チャネルについて、メッセージ６０３の送信を繰り返すか否かの決定は、以下のように提供され得る：
１．  チャネルのＴＤＶを計算する
２．  ０から１の間の一様な分布からランダム値Ｒを生成する
３．  Ｒ  ＜＝ＴＤＶ  −＞  チャネル上での反復／送信の場合
４．  ＴＤＶ＝ＴＤＶ−１５．ＴＤＶ＞０であれば２になる。
【００４６】
実施例１：
・ＮＲ＝１０，ＮＤ＝１０  −＞  ＴＤＶ  ＝１
・−＞  １０個のノードすべてが１回繰り返され、合計１０個の送信（＝ＮＲ）もたらされる
【００４７】
実施例２：
・ＮＲ＝１０，ＮＤ＝５  −＞  ＴＤＶ  ＝  ２
・−＞  ５つのノードはすべて２回繰り返し、合計１０回の送信（＝ＮＲ）となる
【００４８】
実施例３：
・ＮＲ＝５，ＮＤ＝１０  −＞  ＴＤＶ  ＝０．５
・−＞  １０個のノードの５０％（０．５）が繰り返し、合計５回の送信（＝ＮＲ）をもたらす
【００４９】
別の例によれば、より複雑なＴＤＶは、以下の数式に従って定義することができる：
【数２】
2019122032.tif 000004
ここで、ＮＲは無線範囲当たりの繰り返し数、無線範囲内のルータノードのＮＤ、前記チャネルにおける送信のＳＲ成功率、およびＡＲはルータノードが平均して受信モードにある時間のパーセンテージである。
【００５０】
ＮＲが増加すると、単一のルータノードがメッセージを繰り返す可能性が増加し、逆も同様である（より高いＮＲは、より多くの集合的な反復が必要とされることを手段する）。ＮＤが増加すると、単一のルータノードがメッセージを繰り返す可能性が減少し、逆も同様である（より高いＮＤは、同じ総合目標値ＮＲを達成するためにルータノードごとにより少ない反復が必要とされることを手段する）。ＳＲが増加すると、単一ルータノードがメッセージの伝送を繰り返す可能性が減少し、逆も同様である（より高いＳＲは、単一繰り返しの成功率が高いほど、同じ集合目標値ＮＲを達成するためにルータノード当たりより少ない繰り返しが必要とされることを手段する）。ＡＲが増加すると、単一ルータノードがメッセージの伝送を繰り返す可能性が減少し、逆も同様である（より高いＡＲは、単一繰り返しの受信成功率が高いほど、同じ総合目標値ＮＲを達成するためにルータノードごとに必要な繰り返しが少ないことを手段する）。
【００５１】
パラメータＮＲ、ＮＤ、ＳＲ、およびＡＲは、以下の例による試験のために、いくつかのやり方で得ることができる：
・一例として、ＮＲは、事前に構成された値であってもよいし、アプリケーションによって設定されてもよいし、ランタイム動作中に学習されてもよい。
・一例として、ＮＤは、他のノードのデータ送信から傍受することができ、またはビーコン対応ネットワークにおけるルータノードのシグナリングビーコンからの受動的または能動的なネットワークスキャンで取得することができ、または同期ネイバー探索方法がサポートされる場合、ネイバーのネイバーのアドバタイズメントから同期して取得することができ、または以前の方法の組み合わせを使用することができる。
・一例として、ＳＲは、周波数チャネル上で行われるＣＣＡ動作から得ることができる。
・一例として、ＡＲは、ルータノードの独自の動作から推定することができ、またはネットワークシグナリングフレームにおいてネイバーによって通知することができる。
【００５２】
一例として、ＮＤを取得するために、ノードは、前記ルータノードネイバーによって送信されたデータメッセージからルータノードネイバーを探索することができる。データメッセージは、１以上の周波数チャネルで送信および受信され得る。各データメッセージについて、ノードは、ルータノードネイバーから受信し、前記メッセージの送信者を内部リストに記録することができる。ネイバーフッドにおける総ルータノード量は、前記リスト内のアイテムの数である。さらに、送信者の他のパラメータも記録することができる。
【００５３】
図１１は、データメッセージからネイバーを学習するいくつかの例を示す。この例では、ノード１、２、および３は、すべて、互いの無線範囲にある。ノード１は、ネイバー探索を行い、ノード２および３は、ノード１によって探索される。ネイバーは、ブロードキャストデータメッセージから学習されることができる。図１１の例では、ノード３は、ノード１および２によって受信されるブロードキャストデータメッセージを送信する。このメッセージから、ノード１は、ノード３の存在を知ることができる。ネイバーは、ユニキャストデータメッセージから学習されることもできる。図１１の例では、ノード３は、ユニキャストデータメッセージをノード１に送信する。このメッセージから、ノード１は、ノード３の存在を知ることができる。ネイバーは、また、オーバーヒアリングされたデータメッセージから学習されてもよい。図１１の例では、ノード２は、ユニキャストデータメッセージをノード３に送信する。同じデータメッセージもノード１によってオーバーヒアリングされる。このメッセージから、ノード１は、ノード２の存在を知ることができる。分かりやすくするために、ノード１のネイバー探索手順に関係する受信機動作のみが図に示されている。ネイバー探索を行うノード（この例ではノード１）の受信機は、連続的または間欠的にオン（ｏｎ）であってもよい。ノード２および３は、連続的または間欠的にそれらの受信機を有することもでき、ノード２および３は、ノード１と同様にネイバー探索手順を実行することもできる。
【００５４】
別の例として、ＮＤを取得するために、ノードは、パッシブスキャンを使用してルータノードネイバーを探索することができる。ルータノードは、ネイバー探索を行うノードによってスキャンされる定期的なアドバタイズメントメッセージ（例えば、ビーコンまたはネットワークビーコンと呼ばれることもある）を送信する。アドバタイズメントメッセージは、１以上の周波数チャネルで送信および受信され得る。各アドバタイズメントメッセージについて、ノードは、ルータノードネイバーから受信し、該メッセージの送信者を内部リストに記録することができる。ネイバーフッドにおける総ルータノード量は、前記リスト内のアイテムの数である。さらに、送信者の他のパラメータも記録することができる。
【００５５】
図１２は、パッシブスキャニングを使用してネイバーを学習する例を示す。この例では、ノード１、２、および３はすべて、互いの無線範囲にある。ノード１は、ネイバー探索を行い、ノード２および３は、ノード１によって探索される。ノード１は、（ネットワーク）スキャンを実行するためにその受信機をスイッチオンする。スキャン中、ノード１は、ノード２およびノード３からアドバタイズメントを受信する。これらの受信されたアドバタイズメントから、ノード１は、ノード２および３の存在を知ることができる。明瞭化のために、ネイバー探索に関係するノード１の受信機動作手順のみが図に示されている。ネイバー探索を行うノード（この例ではノード１）の受信機は、連続的または間欠的にオン（ｏｎ）であってもよい。ノード２および３は、それらの受信機を連続的または間欠的に有することもでき、ノード２および３は、ノード１およびノード１がノード２および３と同様にアドバタイズメントを送信することができるのと同様に、ネイバー探索手順を実行することもできる。
【００５６】
別の例として、ＮＤを取得するために、ノードは、アクティブスキャンを使用してルータノードネイバーを探索することができる。ネイバー探索手順の起動時に、ネイバー探索を行うノードは、アドバタイズメント要求メッセージ（１つまたは複数）（たとえば、ビーコン要求と呼ばれることがある）を送信する。前記アドバタイズメント要求メッセージを受信するルータノードは、アドバタイズメントメッセージ（例えば、ビーコンまたはネットワークビーコンとも呼ばれることがある）を送信することによって応答し、ネイバー探索を行うノードは、これらのアドバタイズメントをスキャンする。アドバタイズメント要求およびアドバタイズメントメッセージは、１つまたは複数の周波数チャネルで送信および受信することができる。ノードがルータノードネイバーから受信する各アドバタイズメントメッセージについて、ノードは、前記メッセージの送信者を内部リストに記録することができる。ネイバーフッドにおける総ルータノード量は、前記表におけるアイテムの数である。さらに、送信者の他のパラメータも記録することができる。
【００５７】
図１３は、アクティブスキャニングを使用してネイバーを学習する例を示す。この例では、ノード１、２、および３は、すべて、互いの無線範囲にある。ノード１は、ネイバー探索を行い、ノード２および３は、ノード１によって探索される。第１のノード１は、アドバタイズメント要求メッセージを送信する。ノード２および３は、アドバタイズメント要求メッセージを受信し、アドバタイズメントメッセージで応答する。アドバタイズメント要求メッセージを送信した後、ノード１は、（ネットワーク）スキャンを実行するためにその受信機をオンに切り替える。スキャン中、ノード１は、ノード２およびノード３からアドバタイズメントを受信する。これらの受信されたアドバタイズメントから、ノード１は、ノード２および３の存在を知ることができる。分かりやすくするために、ノード１のネイバー探索手順に関係する受信機動作のみが図に示されている。ネイバー探索を行うノード（この例ではノード１）の受信機は、連続的または間欠的にオン（ｏｎ）であってもよい。ノード２および３は、それらの受信機を連続的または間欠的に有することもでき、ノード２および３は、ノード１およびノード１がノード２および３と同様にアドバタイズメントを送信することができるのと同様に、ネイバー探索手順を実行することもできる。
【００５８】
別の例として、ＮＤを取得するために、ノードは、同期ネイバー探索プロトコルを使用してルータノードネイバーを探索することができる。ルータノードは、周期的なアドバタイズメントメッセージ（例えば、ビーコンまたはクラスタビーコンと呼ばれることもある）を送信し、これらのメッセージは、隣接ノードによって同期して受信される。これらのアドバタイズメントメッセージは、アドバタイズメントメッセージを送信するノードによって知られる他のルータノードの情報（ネイバーのネイバー（ｎｅｉｇｈｂｏｒｓ’  ｎｅｉｇｈｂｏｒｓ）の情報）を含むことができる。アドバタイズメントメッセージは、１つまたは複数の周波数チャネルで送信および受信されることができる。各同期アドバタイズメントメッセージから、ノードは、ルータノードによって知られる他のルータノードの情報を含む、ルータノードネイバーから受信し、アドバタイズメントメッセージを送信した前記ルータノードによって知られる他のルータノードの形式を読み込むことができる。この情報は、アドバタイズメントメッセージを受信するノードによって内部リストに記録されてもよい。ネイバーフッドにおける総ルータノード量は、前記表内のアイテムの数である。さらに、前記情報を受信するノードは、受信した情報を使用して他のルータノードに同期しようと試みることができる。さらに、ネイバーのネイバー（ｎｅｉｇｈｂｏｒｓ’  ｎｅｉｇｈｂｏｒｓ）の他のパラメータも送信および記録され得る。
【００５９】
図１４は、同期ネイバー探索プロトコルを使用してネイバーを学習する例を示す。この例では、ノード１、２、および３は、すべて、互いの無線範囲にある。ノード１は、ネイバー探索を行い、ノード２は、ノード１によって探索されている。ノード１は、ノード３の存在を既に知っており、ノード３に同期している。また、ノード３は、ノード２の存在を知っている。ノード１は、ノード２の情報も含むノード３から同期してアドバタイズメントメッセージを受信する。ノード１は、アドバタイズメントメッセージを受信することにより、ノード２の存在も知る。さらに、ノード１もノード２に同期する。分かりやすくするために、ノード１のネイバー探索手順に関係する受信機動作のみが図に示されている。ネイバー探索を行うノード（この例ではノード１）の受信機は、連続的または間欠的にオン（ｏｎ）であってもよい。ノード２および３は、それらの受信機を連続的または間欠的に有することもでき、ノード２および３は、ノード１およびノード１がノード２および３と同様にアドバタイズメントを送信することができるのと同様に、ネイバー探索手順を実行することもできる。
【００６０】
図１５は、本発明によるルータノード３０１のハードウェアアーキテクチャの一例を示す。ルータノード３０１は、メモリ１５０１、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  ｕｎｉｔ）１５０２、無線トランシーバ１５０３、アンテナ１５０４、電源１５０５から構成される。ＭＣＵ１５０２は、上述したように、ルータノード３０１の少なくともいくつかのアクションを実装するように少なくとも構成される。アクションの実装は、ＭＣＵ１５０２に、メモリ１５０１に格納されたコンピュータプログラムコードの少なくとも一部を実行させ、ＭＣＵ１５０２に、記述されたルータノード３０１の１以上のアクションを実装させるようにＭＣＵ１５０２を構成することによって達成することができる。ルータノード３０１は、アンテナ１５０４を介して他のルータノード間でデータを送受信するために、無線送受信部１５０３を用いる。電源１５０５は、ルータノードに電力を供給するための構成要素、例えば、バッテリおよびレギュレータを含む。
【００６１】
メモリ１５０１は、コンピュータ、例えばルータノード３０１内で実行される場合に、この詳細な説明部分で提示されるルータノード３０１の形式毎の動作に適応されるコンピュータプログラムを含む。
【００６２】
コンピュータプログラムは、ＵＳＢスティックまたはＣＤ−ＲＯＭディスクなどの有形不揮発性コンピュータ読み取り可能媒体に格納することができる。
【００６３】
上述の発明は、目標（単数または複数）およびそれらに到達する方法に関する事前の知識なしに、ノードが１つまたは複数の他のノードを制御するための効率的で低遅延の送信方法を提供する。この方法は、疎なネットワークと密なネットワークの両方で機能し、ネットワークの密度に適応する。
【００６４】
上記で与えられた説明において提供される特定の例は、添付の特許請求の範囲の利用可能性および／または解釈を限定するものとして解釈されるべきではない。上記で与えられた説明において提供される表および実施例の基は他に明示的に述べられない限り、網羅的ではない。
【図１】
2019122032.tif 000005
【図２】
2019122032.tif 000006
【図３Ａ】
2019122032.tif 000007
【図３Ｂ】
2019122032.tif 000008
【図４Ａ】
2019122032.tif 000009
【図４Ｂ】
2019122032.tif 000010
【図５Ａ】
2019122032.tif 000011
【図５Ｂ】
2019122032.tif 000012
【図６】
2019122032.tif 000013
【図７】
2019122032.tif 000014
【図８】
2019122032.tif 000015
【図９Ａ】
2019122032.tif 000016
【図９Ｂ】
2019122032.tif 000017
【図１０】
2019122032.tif 000018
【図１１】
2019122032.tif 000019
【図１２】
2019122032.tif 000020
【図１３】
2019122032.tif 000021
【図１４】
2019122032.tif 000022
【図１５】
2019122032.tif 000023
【外国語明細書】
2019122032000001.pdf