(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-23
(45)【発行日】2022-03-31
(54)【発明の名称】無線メッシュネットワークにおける再送回数を更新するための方法およびデバイス
(51)【国際特許分類】
H04W 28/04 20090101AFI20220324BHJP
H04W 84/18 20090101ALI20220324BHJP
H04W 84/10 20090101ALI20220324BHJP
H04W 76/10 20180101ALI20220324BHJP
【FI】
H04W28/04 110
H04W84/18
H04W84/10 110
H04W76/10 110
(21)【出願番号】P 2020521897
(86)(22)【出願日】2017-10-27
(86)【国際出願番号】 EP2017077568
(87)【国際公開番号】W WO2019081037
(87)【国際公開日】2019-05-02
【審査請求日】2020-06-10
(73)【特許権者】
【識別番号】598036300
【氏名又は名称】テレフオンアクチーボラゲット エルエム エリクソン(パブル)
(74)【代理人】
【識別番号】110003281
【氏名又は名称】特許業務法人大塚国際特許事務所
(74)【代理人】
【識別番号】100076428
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100188879
【氏名又は名称】渡邉 未央子
(72)【発明者】
【氏名】ラルモ, アンナ
(72)【発明者】
【氏名】ディ マルコ, ピエールジュゼッペ
【審査官】桑原 聡一
(56)【参考文献】
【文献】欧州特許出願公開第02437440(EP,A1)
【文献】国際公開第2016/015213(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24-7/26
H04W 4/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数のメッシュノードを含む
フラッディングメッシュネットワークにおけるメッシュノードに対する再送回数を更新する方法であって、前記再送回数は、前記メッシュノードが前記
フラッディングメッシュネットワーク内で受信したメッセージを再送する
回数を定義し、前記方法は、
- 前記メッシュノードによって、
宛先メッシュノードからの確認応答を期待するある数のデータメッセージを受信することであって、前記データメッセージの各々は、同じソースメッシュノードから発信され、前記
フラッディングメッシュネットワークにおける同じ宛先メッシュノードを対象とする、ことと、
- 前記メッシュノードによって、前記再送回数に基づいて前記数のデータメッセージの各々を送信することと、
- 前記メッシュノードによって、ある数の確認応答メッセージを受信することであって、各確認応答メッセージは、前記宛先メッシュノードから発信され、当
該数のデータメッセージの
うちの少なくとも1つのデータメッセージの受信に確認応答する
ための確認応答メッセージである、ことと、
- 前記メッシュノードによって、前記データメッセージの数に基づいて、かつ、前記確認応答メッセージの数に基づいて、前記再送回数を更新すること、
を含む、方法。
【請求項2】
請求項1に記載の方法であって、前記数のデータメッセージを受信することは、
- 前記メッシュノードによって、受信されたメッセージがデータメッセージであることを、前記受信されたメッセージにおいて、
- ネットワーク層の宛先(DST)フィールドがユニキャストアドレスであること、
- ネットワーク層ネットワーク制御メッセージ指示(CTL)フィールドが0に設定されていること、
- 下位トランスポート層セグメント指示ビット(SEG)が1に設定されていること、
のいずれかを識別することによって決定することを含む、方法。
【請求項3】
請求項1または2に記載の方法であって、前記数の確認応答メッセージを受信することは、
前記メッシュノードによって、受信されたメッセージが確認応答メッセージであることを、前記受信されたメッセージにおいて、
- ネットワーク層ネットワーク制御メッセージ指示(CTL)フィールドが1に設定されていること、
- 下位トランスポート層セグメント指示ビット(SEG)が0に設定されていること、
- 下位トランスポート層オペコードが0に設定されていること、
のいずれかを識別することによって決定することを含む、方法。
【請求項4】
請求項1から3のいずれか1項に記載の方法であって、前記メッシュノードによって、前記再送回数を更新することは、
- 前記メッシュノードによって、前記確認応答メッセージの数と前記データメッセージの数との間の比である信頼性閾値を決定することと、
- 前記メッシュノードによって、前記決定された信頼性閾値が0でないときに前記信頼性閾値を所定の閾値と比較し、前記信頼性閾値が0であるときに前記再送回数を0に設定することと、
- 前記メッシュノードによって、前記信頼性閾値が前記所定の閾値を下回る場合に前記再送回数を増加させ、前記信頼性閾値が前記所定の閾値を上回る場合に前記再送回数を減少させること、
を含む、方法。
【請求項5】
請求項4に記載の方法であって、前記所定の閾値は、0.7~0.9、好ましくは約0.8である、方法。
【請求項6】
請求項1から5のいずれか1項に記載の方法であって、前記メッシュノードはメモリを備え、前記方法は、
- 前記メッシュノードによって、前記メモリに、受信されたデータメッセージを格納すること、
- 前記メッシュノードによって、任意の受信された確認応答メッセージを前記メモリに格納されたデータメッセージと相関させること、
を含む、方法。
【請求項7】
請求項1から6のいずれか1項に記載の方法であって、前記
フラッディングメッシュネットワークはBluetoothメッシュ型のネットワークである、方法。
【請求項8】
複数のメッシュノードを含む
フラッディングメッシュネットワークにおけるメッシュノードに対する再送回数を更新する前記メッシュノードであって、前記再送回数は、前記メッシュノードが前記
フラッディングメッシュネットワーク内で受信したメッセージを再送する
回数を定義し、前記メッシュノードは、
- 確認応答を期待するある数のデータメッセージを受信するために構成された受信装置であって、前記データメッセージの各々は、同じソースメッシュノードから発信され、前記
フラッディングメッシュネットワークにおける同じ宛先メッシュノードを対象する、受信装置と、
- 前記再送回数に基づいて前記数のデータメッセージの各々を送信するために構成された送信装置と、を備え
前記受信装置は、さらに、ある数の確認応答メッセージを受信するために構成され、ここで、各確認応答メッセージは、前記宛先メッシュノードから発信され、当
該数のデータメッセージの
うちの少なくとも1つのデータメッセージの受信に確認応答
するための確認応答メッセージであり、前記メッシュノードは、さらに、
- 前記データメッセージの数に基づいて、かつ、前記確認応答メッセージの数に基づいて、前記再送回数を更新するために構成されたプロセッサ、
を備える、メッシュノード。
【請求項9】
請求項8に記載のメッシュノードであって、前記受信装置は、さらに、
- 受信されたメッセージがデータメッセージであることを、前記受信されたメッセージにおいて、
- ネットワーク層の宛先(DST)フィールドがユニキャストアドレスであること、
- ネットワーク層ネットワーク制御メッセージ指示(CTL)フィールドが0に設定されていること、
- 下位トランスポート層セグメント指示ビット(SEG)が1に設定されていること、
のいずれかを識別することによって決定するために構成される、メッシュノード。
【請求項10】
請求項8または9に記載のメッシュノードであって、前記受信装置は、さらに、
前記メッシュノードによって、受信されたメッセージが確認応答メッセージであることを、前記受信されたメッセージにおいて、
- ネットワーク層ネットワーク制御メッセージ指示(CTL)フィールドが1に設定されていること、
- 下位トランスポート層セグメント指示ビット(SEG)が0に設定されていること、
- 下位トランスポート層オペコードが0に設定されていること、
のいずれかを識別することによって決定するために構成される、メッシュノード。
【請求項11】
請求項8から10のいずれか1項に記載のメッシュノードであって、前記プロセッサは、
- 前記確認応答メッセージの数と前記データメッセージの数との間の比である信頼性閾値を決定することと、
- 前記決定された信頼性閾値が0でないときに前記信頼性閾値を所定の閾値と比較し、前記信頼性閾値が0であるときに前記再送回数を0に設定し、
- 前記信頼性閾値が前記所定の閾値を下回る場合に前記再送回数を増加させ、前記信頼性閾値が前記所定の閾値を上回る場合に前記再送回数を減少させる、
ために構成される、メッシュノード。
【請求項12】
請求項11に記載のメッシュノードであって、前記所定の閾値は、0.7~0.9、好ましくは約0.8である、メッシュノード。
【請求項13】
請求項8から12のいずれか1項に記載のメッシュノードであって、前記メッシュノードはメモリを備え、前記プロセッサは、さらに、
- 前記メモリに、受信されたデータメッセージを格納し、
- 前記メッシュノードによって、任意の受信された確認応答メッセージを前記メモリに格納されたデータメッセージと相関させる、
ために構成される、メッシュノード。
【請求項14】
少なくとも1つのプロセッサ上で実行されると、前記少なくとも1つのプロセッサに、請求項1から7のいずれか1項に記載の方法を実行させる命令を含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に、無線メッシュネットワークに関し、より具体的には、メッシュネットワークの特定のメッシュノードの再送回数を更新する方法に関する。
【背景技術】
【0002】
無線メッシュネットワーク(WMN)は、メッシュトポロジーに編成された複数のメッシュノードを含む。ここで、各メッシュノードは、データを次のメッシュノードに転送することによる、ある種のプロバイダーでもある。ネットワークインフラストラクチャは、各メッシュノードが隣接するメッシュノードに送信することができるだけでよいので、分散化され、単純化される。そのような無線メッシュネットワークは、遠隔地に住む人々と、地方の近隣で動作する小規模企業とが、手頃なインターネット接続のためにそれらのネットワークを互いに接続することを可能にすることができる。
【0003】
無線メッシュネットワークは、自己形成および自己回復することができる。これらのネットワークは、802.11、802.15、802.16、セルラ技術を含む種々の無線技術によって実現することができ、特定の技術またはプロトコルに制限される必要はない。
【0004】
低電力無線技術は、メッシュネットワークトポロジを使用して、ネットワークカバレッジおよび柔軟性を増大させる。メッシュネットワークは、パケットを転送し、最終的には互いに無線範囲外にあるノード間の通信を可能にする能力を有するマシンデバイス、例えばセンサおよびアクチュエータ、ならびに中継ノードからなる。
【0005】
最も単純で最も簡単なネットワーキング方法は、フラッディング(flooding)である。フラッディングネットワークでは、パケットを受信する各中継機がそれを転送する。この方法は、ネットワークトポロジの変更に対してロバスト性がある。また、このアプローチは、通常、メモリおよび計算リソースの点で制約される低電力ネットワークにおけるデバイスの特性によく適合する。
【0006】
ライセンスされていない帯域で動作する低電力メッシュネットワークでは、各ノードからの各送信が無線チャネル上で他のノード送信との干渉または衝突を引き起こす可能性がある。より多くのトラフィックがネットワークに注入されるほど、より多くの干渉および衝突が起こり、その結果、パケットが失われる。
【0007】
ユニキャスト送信のために、技術は典型的に、信頼できるホップ・バイ・ホップ通信を保証するためにリンク層確認応答を供給する。一方、メッシュでは、送信はしばしば、いくつかの受信機を有し、データはしばしば、ブロードキャストされる。ブロードキャスト無線メッシュネットワークにおける信頼性を高める典型的な方法は、オリジナルの試みが失われた場合に、ブロードキャスト送信を複数回盲目的に繰り返すことである。
【0008】
2017年7月に正式に発売されたBluetoothメッシュは、IoT(Internet of Things)接続空間に加え、非常に期待されているものである。この解決策は、1組の共有チャネル、すなわちアドバタイズメント(広告)チャネルを介したブロードキャストを使用するフラッディングに基づく。
【0009】
アプリケーションは、事前定義されたBluetoothモデルに関連付けられたデータメッセージを生成する。上位トランスポート層は、制御機能と共に、アプリケーションメッセージの暗号化と認証を提供する。下位トランスポート層は、セグメント化されたメッセージの受信を確認応答するためのエンド・ツー・エンドセグメント確認応答メッセージの送信を含む、セグメント化および再組立機能を提供する。セグメント確認応答は、セグメント化されたパケットに必須であるが、単一のセグメント化されたメッセージで送信されるとき、オプションでショートパケットを確認応答するために使用できる。ネットワーク層は、適切なベアラ(Bluetooth Core v4.0コントローラなど)を介してメッセージを転送する。
【0010】
Bluetoothメッシュネットワークで中継機として機能するノードは、メッシュパケットのアドバタイズメントチャネルをスキャンする。パケットが検出されて受信されると、ノードはパケットの宛先であるかどうかを確認する。Yesの場合、パケットの内容は処理されるアプリケーションに送信される。ノードがパケットの宛先でない場合、ノードはパケットを受信して転送したかどうかをネットワークキャッシュにおいて確認する。Yesの場合、パケットは破棄される。それ以外の場合、パケットはノードの隣接機器が受信できるように、アドバタイズメントチャネルを介して再送(再送信)することによって、メッシュネットワーク内で転送される。典型的には、衝突を避けるためにパケットを転送する前に、あるランダム遅延が導入される。この分散メカニズムの手段では、パケットが宛先に到着するまで、ネットワーク内のノードからノードにパケットが転送される。無限の再送を伴うループを回避するために、いくつかの制約が適用される。メッセージが以前に受信されているか、または設定された回数(Time-to-Live)より多く中継されている場合、それは廃棄される。しかし、小規模展開では、すべてのノードが最終的にネットワークで生成されたメッセージを受信することが期待される。さらに、各メッセージは成功確率を高めるために、発信者および中継機によって複数回送信される。
【0011】
Bluetoothメッシュネットワークにおけるメッセージは、2レベルの認証および暗号化メカニズムで保護される。1つの鍵は、ネットワーク層ペイロードをセキュアにするために使用され、ネットワークに属するすべてのノードに知られている。上部トランスポート層は異なる鍵を使用して、アプリケーションデータを認証し、暗号化する。この鍵は、同じアプリケーションを共有するノード間でのみ共有される。アプリケーション鍵をネットワーク鍵から分割する目的は、中間ノードを介してアプリケーションデータを送信できるようにし、中間ノードがアプリケーションデータを読み取ったり変更したりしなくても、それらが中継されるときにこれらのメッセージを認証できるようにすることである。例えば、電球はドアのロックを解除できないはずである。ノードは、アプリケーション鍵を知る必要はなくても。したがって、アプリケーションデータを変更したり理解したりすることはできくても、ネットワーク鍵を使用してアプリケーションメッセージを中継できる。
欧州特許出願EP 2437440 A1は、ソースノードと宛先ノード間の距離に基づいて再送信の数を調整する方法を開示している。このような方法では、2つの連続するノード間のチャネル品質は考慮されない。
国際特許出願WO2016 / 015213は、無線通信ネットワークにおいて送信される反復符号化パケットの数を調整する方法を開示している。このようなアプローチでは、実際に受信したパケット数ではなく、受信側が正常に復号したパケット数を利用する。さらに、そのような方法は、メッシュネットワークにおける各中間ノードに適用できないため、意図された受信側ではないメッセージを復号できない。
【0012】
既存の概念の欠点の一つは、転送されたメッセージが正常に配送されたか否かをローカルに決定するために、特定のメッシュノードで利用可能な情報がないことである。
【発明の概要】
【0013】
本発明の目的は、複数のメッシュノードを含むメッシュネットワークにおいて、メッシュノードに対する再送回数(再送の数)を更新する方法を提供することである。
【0014】
他の目的は、追跡する再送回数を更新するように構成されたメッシュノードを提供することである。
【0015】
第1の態様において、複数のメッシュノードを含むメッシュネットワークにおいて、メッシュノードに対する再送回数を更新する方法が提供され、ここで、再送回数は、メッシュノードがメッシュネットワーク内で受信したメッセージを再送する頻度を定義する。
【0016】
方法は、メッシュノードによって、確認応答を期待するある数のデータメッセージ(いくつかのデータメッセージ)を受信するステップを含み、データメッセージの各々は、同じソースメッシュノードから発信され、メッシュネットワークにおける同じ宛先メッシュノードを対象とする。
【0017】
さらなるステップでは、方法は、メッシュノードによって、再送回数に基づいて複数のデータメッセージの各々を送信するステップを含む。
【0018】
別のステップでは、方法は、メッシュノードによって、ある数の確認応答メッセージ(いくつかの確認応答メッセージ)を受信するステップを含み、各確認応答メッセージは、宛先メッシュノードから発信され、第1の数のデータメッセージの特定のデータメッセージの受信に確認応答する。
【0019】
さらに別のステップでは、方法は、メッシュノードによって、データメッセージの数に基づいて、かつ、確認応答メッセージの数に基づいて、再送回数を更新するステップを含む。
【0020】
メッシュネットワークではしばしば、再送回数はメッシュノードのプロビジョニング段階中に事前に設定され、静的に割り当てられるが、展開され、動作するメッシュネットワークの動的性を考慮しないことがわかった。再送回数の過大評価はネットワークにおける増加した輻輳(混雑)のために、ネットワーク性能を劣化させる可能性がある。
【0021】
アプリケーション層では、宛先メッシュノードからのステータスメッセージの受信が送信元の発信元、または要求/設定メッセージの送信元メッシュノードによって、そのメッセージのエンド・ツー・エンドの確認応答として解釈される。しかしながら、メッセージは、下位トランスポート層までの中間メッシュノードによってのみ処理され、アプリケーション層コンテンツはメッセージのソースメッシュノードと宛先によってのみ復号化されるので、この情報はネットワークの中間メッシュノードでは利用できないかもしれない。
【0022】
その結果、メッシュノードが実際の必要性に基づいてネットワーク層送信の数を自己調整することを可能にするメッシュネットワークにおけるメカニズムが適所に存在しない可能性がある。
【0023】
上記に続いて、本開示は、メッシュノードがソースメッシュノードおよび宛先メッシュノードペアのメッセージ受信統計を収集し、それらの統計に基づいて送信動作を調整するためのメッシュノードのためのメカニズムを導入する。
【0024】
本開示によれば、特定のメッシュノードは、メッシュネットワークにおける任意のメッシュノードからデータメッセージを受信することができる。特定のメッシュノードは、同じメッシュノードから、または複数のメッシュノードから、同じデータメッセージを数回受信することさえ可能である。
【0025】
このような場合、メッシュノードは、受信したデータメッセージをメモリに格納することを決定してもよい。同じデータメッセージが例えば、同じメッシュノードまたは異なるメッシュノードから再び受信される度に、データメッセージがすでにメモリ内に存在するので、データメッセージがすでに受信されていると判断される。特定のデータメッセージは、たとえ同じデータメッセージが特定のメッシュノードによって複数回受信されても、一度だけ受信されると考えることができる。そのため、各データメッセージは、特定のメッシュノードで受信されるか、または受信されていない。
【0026】
上記と同じ推論が、宛先メッシュノードによってソースメッシュノードに送信される確認応答メッセージに適用可能である。メッシュネットワークにおける特定のメッシュノードは、たとえその特定の確認通知メッセージが同一または異なるメッシュノードから複数回受信されたとしても、確認通知メッセージが一度だけ受信されたと考えることができる。
【0027】
上記の例によれば、受信した確認応答メッセージの数は、受信したデータメッセージの数を超えることはできない。このように、受信したデータメッセージに対する受信した確認応答メッセージの比率は、ゼロと1の間であり得る。
【0028】
上述の方法の利点は、メッシュネットワークの信頼性が向上し、媒体の輻輳が低減されることである。
【0029】
本開示による実施形態では、ある数のデータメッセージ(いくつかのデータメッセージ)を受信するステップは、メッシュノードによって、受信されたメッセージがデータメッセージであることを、当該受信されたメッセージにおいて、ネットワーク層の宛先(DST)フィールドがユニキャストアドレスであること、ネットワーク層ネットワーク制御メッセージ指示ビット(CTL)がゼロに設定されていること、および/または下位トランスポート層セグメント指示ビット(SEG)フィールドが1に設定されていることのいずれかを識別することによって、決定することを含む。
【0030】
DSTフィールドは、ネットワークプロトコルデータユニット(PDU)が向けられる1つまたは複数の要素を識別する16ビット値である。このアドレスは、ユニキャストアドレス、グループアドレス、または仮想アドレスとする。DSTフィールドは、発信元ノードによって設定され、リレーノードとして動作するノードのネットワーク層には影響されない。CTLフィールドは、メッセージが制御メッセージの一部であるかアクセスメッセージの一部であるかを決定するために使用される1ビット値である。CTLフィールドが0に設定されている場合、下位トランスポートPDUはアクセスメッセージを含む。下位トランスポートPDUの最初のオクテットの最上位ビットはSEGフィールドであり、これは下位トランスポートPDUがセグメント化されたか、または非セグメント化されたメッセージとしてフォーマットされているかを決定するために使用される。
【0031】
したがって、CTLビットが0にセットされ、SEGビットが1に設定されると、下位トランスポートPDUがセグメントアクセスメッセージであることが一緒に定義される。このフォーマットは、宛先ノードに送信されるデータメッセージに固有であると決定される。さらに、下位トランスポート層SEGビットが1に設定されているメッセージを受信しているノードは、対応する確認応答メッセージが期待されることを理解する。
【0032】
上記のフィールドのいずれか1つ以上を検査して、受信されたメッセージがデータメッセージであることを識別することができる。しかしながら、ロバスト性を改善するために、上述した全てのフィールドを検査することが有益であり得る。さらに、上述のフィールドは、Bluetoothメッシュパケットに典型的であることに留意されたい。
【0033】
メッシュノードは、受信されたメッセージがデータメッセージであると判断すると、メッシュノードは、同じデータメッセージが以前に当該ノードによって受信されたかどうかを確認する。受信されていない場合、ローカルコピーがキャッシュメモリに記憶され得、受信されたデータメッセージの数を1インクリメントするためにカウンタが起動される。確認の後、ノードがデータメッセージを受信済みであると判断した場合、そのメッセージは破棄される可能性がある。
【0034】
受信されたデータメッセージの別個のカウントが、ノードの異なる発信元-宛先ペアに関連するメッセージについて維持されることを理解されたい。さらに、言及されたすべてのフィールドは、アプリケーション鍵によって暗号化されておらず、ネットワークにおこえるどのノードからも見えるメッセージの部分において呼び出されることに留意されたい。
【0035】
前述したように、メッシュネットワークにおけるメッセージは、2レベルの認証および暗号化メカニズムで保護することができる。1つの鍵はネットワーク層ペイロードをセキュアにするために使用され、ネットワークに属するすべてのノードに知られている。上部トランスポート層は異なる鍵を使用して、アプリケーションデータを認証し、暗号化する。この鍵は、同じアプリケーションを共有するノード間でのみ共有される。この原則を使用して、任意の中間ノードは受信されたメッセージがデータメッセージ(すなわち、ソースメッシュノードから発信され、宛先メッシュノードに向けられたメッセージ)、または確認応答メッセージ(すなわち、データメッセージの受信を確認応答するための、宛先メッシュノードから発信され、ソースメッシュノードに向けられたメッセージで)あるかどうかを少なくとも決定することができる。
【0036】
本開示の一実施形態によれば、ある数の確認応答メッセージ(いくつかの確認応答メッセージ)を受信するステップは、メッシュノードによって、受信されたメッセージが確認応答メッセージであることを、当該受信されたメッセージにおいて、ネットワーク層CTLフィールドが1に設定されていること、下位トランスポート層SEGフィールドがゼロに設定されていること、および/または、下位トランスポート層オペコードがゼロに設定されていることのいずれかを識別することによって、決定することを含む。
【0037】
受信されたメッセージをデータメッセージとして識別するのと同様に、ネットワーク層CTL、下位トランスポート層SEGおよび/または下位トランスポート層オペコードの1つ以上のフィールドを検査することによって、受信されたメッセージが確認応答メッセージであると識別され得る。CTLビットが1に設定され、SEGビットが0に設定されている場合、下位のトランスポートPDUが非セグメント制御メッセージであることが定義される。さらに、0のオペコードは、セグメント化されていない制御メッセージがセグメント確認応答メッセージであることを示す。好ましくは、オペコードは16進形式であり、0x00として指定される。
【0038】
上記のフィールドのいずれか1つ以上を検査して、受信されたメッセージがデータメッセージであることを識別することができる。しかしながら、ロバスト性を改善するために、上述した全てのフィールドを検査することが有益であり得る。例えば、0x00だけのオペコードは、受信されたメッセージがセグメント確認応答メッセージであることを決定するが、CTLおよびSEGビットをさらに確認することは、本開示による方法のロバスト性を改善する。
【0039】
ブロックACKフィールドは、下位トランスポートパケットデータユニット(PDU)すなわち、セグメント化されたメッセージのセグメントが確認される情報を含む確認メッセージ内に存在することができる。代替案では、単一の確認応答メッセージが1度に複数のセグメントに確認応答することもでき、これは再送の量を決定するときに考慮に入れることができる。
【0040】
ノードは、受信されたメッセージが確認応答メッセージであると決定すると、ノードは、同じ確認応答メッセージがノードによって以前に受信されたかどうかを確認することができる。受信されていない場合、受信された確認応答メッセージが対応するデータメッセージは確認応答としてマークされ、受信された確認応答メッセージの数を1ずつインクリメントするためにカウンタが起動され得る。確認の後、ノードがデータメッセージを受信済みであると判断した場合、そのメッセージは破棄される可能性がある。
【0041】
受信されたデータメッセージの別個のカウントは、ノードの異なる起点-宛先ペアに関連するメッセージに対して維持され得ることが理解され得る。さらに、言及されたすべてのフィールドは、アプリケーション鍵によって暗号化されておらず、ネットワーク内のどのノードからも見えるメッセージの部分において呼び出されることに留意されたい。
【0042】
本開示の一実施形態によれば、メッシュノードによって、再送回数を更新するステップは、当該メッシュノードによって、確認応答メッセージの数とデータメッセージの数との間の比である信頼性閾値を決定することと、当該メッシュノードによって、当該信頼性閾値を、当該決定された信頼性閾値がゼロでないときに所定の閾値と比較することと、当該信頼性閾値がゼロであるときに当該再送回数をゼロに設定し、当該メッシュノードによって、当該信頼性閾値が当該所定の閾値を下回る場合に当該再送回数を増加させ、当該信頼性閾値が当該所定の閾値を上回る場合に当該再送回数を減少させることとを含む。
【0043】
信頼性閾値は、受信された確認応答メッセージの数と受信されたデータメッセージの数との間の比として計算される。データメッセージと確認応答メッセージの後続のコピーは破棄されるので、受信した確認応答メッセージの数は、受信したデータメッセージの数より大きくなることはない。その結果、信頼性閾値は最大値1となる。
【0044】
決定された信頼性閾値は、所定の閾値と比較される。信頼性閾値が所定の閾値よりも低い場合には再送回数が増加され、信頼性閾値が所定の閾値よりも高いことが分かった場合には再送回数が減少される。信頼性閾値が所定の閾値に等しいことがわかった場合、再送回数は調整されないことを理解されたい。
【0045】
もしノードがネットワークにおける弱い通信リンクを持っているなら、送信するすべてのメッセージが隣接ノードで受信されるかもしれない。この結果、ノードにおける信頼性閾値の値が低くなる。したがって、再送回数を増加させることによって、隣接ノードによってメッセージが受信される確率が増加する。同様に、あるノードが、所定の閾値よりも高い信頼性閾値をもたらすネットワークにおける良好な通信リンクを有する場合、ネットワークにおけるトラフィックを減少させることが望ましく、従って、ネットワークにおける冗長メッセージの数を減少させるように再送回数を減少させることが望ましい。
【0046】
さらに、再送回数を増加させるとき、再送(再送信)の数がそれ以上増加されない最大限度を定義することができる。このような場合、ノードはさらに、再送回数が最大限度を超えているかどうかを確認し、超えている場合は再送回数を最大限度に設定する。同様に、再送の最小数は、1として定義される可能性がある。したがって、各ノードは少なくとも1回メッセージを再送する。このような場合、ノードは再送回数を更新した後、再送回数が1より少ないか否かを確認し、このような場合には再送回数を1に設定する。
【0047】
特別な場合として、信頼性閾値がゼロであるシナリオを考慮することができる。このような状況は、ノードが受信データメッセージの確認応答メッセージを受信しない場合に発生する可能性がある。このような状況は、ノードがソースノードと宛先ノードの間のパスにないために発生する。この状況では、ノードが受信メッセージをブロードキャストし、それによってネットワーク内のトラフィックを増加させることは意味がない。したがって、信頼性閾値がゼロである場合、再送回数もゼロに設定される。したがって、再送回数を更新するステップでは、4つの結果を定義することができる。
i. 信頼性閾値がゼロである場合、再送回数はゼロに設定される。
ii. 信頼性閾値がゼロよりも大きいが、所定の閾値よりも小さい場合、再送回数は1だけインクリメントされ、おそらく再送の規定された最大回数に制限される。
iii. 信頼性閾値が所定の閾値に等しい場合、再送回数に変更は行われない。
iv. 信頼性閾値が所定の閾値よりも大きい場合、送信の数は1だけ減分され、場合によっては再送の最小数(通常は1)によって制限される。
【0048】
再送回数は、決定された信頼性閾値がゼロであるときはいつでもゼロに設定されてもよいことに留意されたい。そのような予防措置は、ネットワークが機能を全く停止しないことを保証するために一時的にとられることができる。すなわち、再送回数は特定のタイムアウト値に対してゼロに設定されてもよく、タイムアウト値の満了後に、再送回数は、再びデフォルト値に設定されてもよい。
【0049】
当業者は、信頼性閾値が所定の閾値に等しい特定の結果が項目ii.またはiv.で指定されるような結果のいずれか1つと組み合わされてもよいことを理解する。
【0050】
一実施形態によれば、所定の閾値は、0.7~0.9、好ましくは約0.8である。これにより、ブロードキャストされたメッセージのほとんどが確認応答され、同時にネットワーク内のトラフィックが高すぎないことが保証される。
【0051】
本開示の一実施形態によれば、メッシュノードはメモリを含み、方法は、当該メッシュノードによって、当該メモリに任意の受信データメッセージを格納するステップと、当該メッシュノードによって、任意の受信した確認応答メッセージを当該メモリに格納されたデータメッセージと相関させるステップとを含む。
【0052】
前述したように、各ソース-宛先ノードに対して受信メッセージの記録を維持し、対応する確認応答メッセージが受信されたときに、これらのメッセージを確認されたものとしてマークすることは有益であろう。
【0053】
本開示の実施形態では、ネットワークは、Bluetoothメッシュ型ネットワークである。本開示の教示は、任意のタイプの有線または無線メッシュネットワークに適用され得るが、ネットワークは好ましくはBluetoothメッシュ型ネットワークである。
【0054】
本開示によれば、方法の利点を含む、方法の上述の例に適用可能な異なる態様は、メッシュネットワークのノードに適用可能な態様に対応する。
【0055】
本開示の第2の態様では、複数のメッシュノードを備えるメッシュネットワークにおけるメッシュノードに対する再送回数を更新するためのメッシュノードが提供され、当該再送回数は当該メッシュノードが当該メッシュネットワークにおいて受信されたメッセージをどのくらいの頻度で再送するかを定義し、当該メッシュノードはある数のデータメッセージ(いくつかのデータメッセージ)を受信するように構成された受信装置を備え(含み)、当該データメッセージのそれぞれは、同じソースメッシュノードから発信し、当該メッシュネットワーク内の同じ宛先メッシュノードを対象とする。ノードは、当該再送回数に基づいて当該データメッセージの数の各々を送信するように構成された送信装置をさらに備える(含む)。受信装置はさらに、ある数の確認応答メッセージ(いくつかの確認応答メッセージ)を受信するように構成され、各確認応答メッセージは、当該RDメッシュノードから発信され、当該第1の数のデータメッセージの特定のデータメッセージの受信に確認応答し、当該メッシュノードは、当該データメッセージの数に基づいて、かつ当該確認応答メッセージの数に基づいて、当該再送回数を更新するように構成されたプロセッサを備える。
【0056】
本開示の第1の態様の利点は、メッシュネットワークにおけるのメッシュノードに対する再送回数を更新する方法であり、本質的に本開示の第2の態様の一部でもある。
【0057】
本開示の第2の態様の例によれば、受信装置は、受信メッセージがデータメッセージであることを、当該受信メッセージにおいて、ネットワーク層の宛先(DST)フィールドがユニキャストアドレスであること、ネットワーク層(CTL)フィールドが0(ゼロ)に設定されていること、および/または、下位トランスポート層(SEG)フィールドが1に設定されていることのいずれかを識別することによって、決定するようにさらに構成される。
【0058】
本開示の第2の態様の例によれば、受信装置は、受信されたメッセージが確認応答メッセージであることを、当該受信メッセージにおいて、ネットワーク層(CTL)フィールドが1に設定されていること、下位トランスポート層SEGフィールドが0に設定されている、および/または、下位トランスポート層オペコードが0に設定されていることのいずれかを識別することによって、決定するようにさらに構成される。
【0059】
本開示の第2の態様の実施形態では、プロセッサが確認応答メッセージの数とデータメッセージの数との間の比である信頼性閾値を決定し、当該決定された信頼性閾値がゼロでない場合に当該信頼性閾値を所定の閾値と比較し、当該信頼性閾値がゼロである場合に当該再送回数を0に設定し、当該信頼性閾値が当該所定の閾値を下回る場合に当該再送回数を増加させ、当該信頼性閾値が当該所定の閾値を上回る場合に当該再送回数を減少させるにさらに構成される。
【0060】
本開示の第2の態様の実施形態では、所定の閾値は、0.7~0.9、好ましくは約0.8である。
【0061】
本開示の第2の態様の一例によれば、メッシュノードは、メモリを備え(含み)、当該プロセッサは当該メッシュノードによって、当該メモリ内の任意の受信データメッセージを格納し、当該メッシュノードによって、任意の受信された確認確認メッセージを当該メモリに格納されたデータメッセージと相関させるようにさらに構成される。
【0062】
本開示の第3の態様によれば、少なくとも1つのプロセッサ上で実行されると、少なくとも1つのプロセッサに上記で説明した方法を実行させる命令を備える非一時的なコンピュータ可読記憶媒体が提供される。
【0063】
本開示のこの態様では、コンピュータ可読記憶媒体には当該記憶媒体がロードされたシステムが本開示による方法を実行することを可能にする指示が提供される。
【0064】
本開示の上記および他の特徴および利点は、添付の図面を参照した以下の説明から最もよく理解されるのであろう。図面において、同一の参照符号は、同一又は同等の機能又は操作を実行する同一の部品又は部品を示す。
【図面の簡単な説明】
【0065】
【
図1】
図1は、本開示による方法の実施を概略的に示す。
【
図2】
図2は、本開示による方法の実施を概略的に示す。
【
図3】
図3は、本開示によるネットワーク要素の一例を示す概略図である。
【発明を実施するための形態】
【0066】
図1は、本開示による方法を実行するためにメッシュネットワーク内のノードによって実行される様々なステップを示す概略
図10を示す。受信するステップ10では、メッシュノードは複数のデータメッセージを受信する。複数のノードを含むメッシュネットワークでは、ソースメッシュノードが存在する。ソースメッシュノードは代替的に、オリジンノード、ソースノード、またはソースメッシュノードと呼ばれることがある。ソースメッシュノードはさらに、要求を開始するか、またはアプリケーションからネットワーク内の1つ以上のノードに情報を送信するアプリケーションが実行されているサーバと通信することもできる。
【0067】
ソースメッシュノードは、宛先メッシュノードに情報を送信する。宛先メッシュノードは、宛先ノードとも呼ばれる。ソースメッシュノードから宛先メッシュノードに情報を送信する間、通常は直接送信されず、ネットワーク内の中間ノードを経由して送信される。また、情報は帯域幅をより良く利用するために、より小さなサイズのパケットまたはメッセージに分割されてもよい。送信されるすべてのメッセージは、少なくとも、送信される情報と共に、ソースメッシュノードと宛先メッシュノードの指示を含んでいる。
【0068】
受信するステップ20において、ノードは、メッセージがデータメッセージであるとさらに識別することができる。そのような識別は、ネットワーク層の宛先(DST)、ネットワークCT層、および/または下位トランスポート層SEGの1つまたは複数のフィールドを確認することによって実行され得る。受信されたメッセージがデータメッセージであると識別されると、ノードのプロセッサによって確認が実行され、受信されたメッセージが以前にまだ受信されていないことが決定される。一意のデータメッセージが識別されると、受信されたデータメッセージは、ノードで利用可能なメモリにローカルに記憶され得、および/またはカウンタが受信されたメッセージの数を1だけインクリメントするように起動され得る。
【0069】
メッシュネットワークでは、メッセージは、フラッディング(flooding)と呼ばれるプロセスによって、ソースメッシュノードからデスティネーションメッシュノードに向けて伝播される。フラッディングでは、データメッセージを受信する各ノードがそれをブロードキャストする。従って、次の送信するステップ30では、ノードは、受信したデータメッセージを、隣接するすべてのノードに送信する。メッセージは、ノードによって特定の回数送信されるように指定することができる。本発明の目的は、メッセージが特定のノードによって送信される回数を動的に調整できるようにすることである。
【0070】
ノードは、送信する前に、メッセージが既に規定の回数送信されているか否かを確認することができる。受信するさらなるステップ40では、ノードは、ノードが送信した対応するデータメッセージに対する確認応答メッセージを受信する。確認応答メッセージが受信されると、ノードは、受信した確認応答メッセージがどのデータメッセージに対応するかを確認する。識別されると、ノードは、データメッセージが確認応答されたものとして追加的にマークし、および/または、カウンタを作動させて、受信した確認応答メッセージの数を1ずつインクリメントしてもよい。
【0071】
ノードは、受信されたメッセージが確認メッセージであることを決定するために、ネットワーク層CTL、下位トランスポート層SEGフィールド、および/または下位トランスポート層オペコードのフィールドのいずれかに存在するデータを確認してもよい。特定のデータメッセージに対する確認応答がすでに受信されている場合、同じデータメッセージに対して受信された後続の確認応答メッセージは破棄される可能性があることが理解され得る。
【0072】
更新するステップ50で、ノードは、次いで、ノードによって実行される再送回数を更新する。このような更新は、受信されたデータメッセージの数と、特定のペアのRO-宛先メッシュノードに対するノードによって受信された確認応答メッセージの数とに基づく。当業者であれば、受信された情報および各RO-宛先メッシュノードに対する確認応答メッセージの数をカウントするために、別個のカウンタ、またはカウントを示す別個のエントリを維持しなければならないことを理解するであろう。
【0073】
ノードによって実行されるステップの正確なシーケンスは、
図2に示されるフローチャート100を考慮することによって詳細に理解され得る。ステップ101において、メッセージは、メッシュネットワークにおけるノードによって受信される。ステップ102において、ノードは、メッセージが既にノードのキャッシュメモリに記憶されているか否かを判定する。メッセージがすでにキャッシュに格納されている場合、そのメッセージは破棄される103。これは、メッセージがデータメッセージであるか確認メッセージであるかにかかわらず、すでにそれがノードで受信されている場合、それ以上の処理なしに単に破棄されることを意味する。
【0074】
ただし、メッセージがまだキャッシュにない場合は、それはキャッシュに格納される104。次の決定のステップ105で、ノードは、受信されたメッセージがデータメッセージであるか否かを決定する。これは、ネットワーク宛先層DSTの1つ以上のフィールドがユニキャストアドレスであること、ネットワーク層CTLフィールドが0(ゼロ)に設定されていること、および/または、下位トランスポート層SEFフィールドが1に設定されていることを確認することによって決定される。
【0075】
もし、受信されたメッセージがデータメッセージではないとノードが判断した場合、ノードは次に、受信されたメッセージが確認応答メッセージであるか否かを確認106に進む。これは、ネットワーク層CTLフィールドの1つまたは複数のフィールドが1に設定されていること、下位トランスポート層SEGフィールドが0に設定されていること、および/または、下位トランスポート層オペコードが0に設定されていることを確認することによって決定され得る。メッセージが確認メッセージでもない場合、アクションは実行されない107。受信メッセージが確認応答メッセージである場合、対応するデータメッセージは確認応答としてマーク108され、さらにカウンタが起動されて、受信された確認応答メッセージの数をインクリメントする。
【0076】
ステップ105で、受信されたメッセージがデータメッセージであると判断された場合、タイマが起動されて109、対応する確認応答メッセージを待ち、ステップ110で、特定のRO-宛先メッシュノードペアの信頼性統計が更新される。当業者は、信頼性統計が更新されるRO-宛先メッシュノードペアが、受信されたデータメッセージに対応するRO-宛先メッシュノードペアであることを理解する。さらに、ステップ109において、受信されたメッセージがデータメッセージであると判断した後、受信されたデータメッセージの数は、1だけインクリメントされてもよい。
【0077】
ステップ111で、ノードによって送信されたデータメッセージに対して何らかの確認応答メッセージが受信されたか否かが確認される。特定のRO-宛先メッシュノードペアに対する確認応答メッセージがノードによって受信されない場合、そのノードはRO-宛先メッシュノードペア間のパスにないと解釈される。したがって、特定のRO-宛先メッシュノードペアに対する任意の受信メッセージの送信を停止し、したがって、ネットワークにおけるトラフィックを低減し、エネルギーを節約することが有益であり得る。したがって、対応するRO-宛先メッシュノードペアに対する送信の回数は、ゼロに設定される112。
【0078】
しかしながら、確認応答メッセージが受信されている場合、信頼性閾値が計算される。信頼性閾値は、受信された確認応答メッセージの数と受信されたデータメッセージの数との間の比率として定義することができる。ステップ113において、信頼性閾値が所定の閾値未満であるかどうかが確認される。信頼性閾値が所定の閾値未満である場合、再送回数が1だけインクリメントされる114。しかしながら、信頼性閾値が所定の閾値よりも大きい場合には、再送回数が1だけデクリメントされる115。
【0079】
図示されていないが、さらなるステップにおいて、信頼性閾値が所定の閾値に等しい場合、再送回数は変更されなくてもよい。
【0080】
図3において、参照番号200は、本開示による方法を実行するように構成されたネットワーク要素を示す。このようなネットワーク要素200は例えば、ノードのメッシュネットワークにおけるノードであってもよい。そのようなノード200は、ネットワークの隣接ノードからメッセージを受信するように構成された受信器手段201、2012を含む。受信メッセージは、データメッセージまたは確認応答メッセージであり得る。ノードは、受信したデータメッセージをその隣接ノードに送信するように構成された送信器手段をさらに含む。
【0081】
ノード200は、本開示による方法を実行するように構成されたプロセッサを含む。さらに、ノード200は、メモリ206も含む。メモリ206は、プロセッサによって実行されると、ノードに本開示による方法を実行させるコンピュータプログラム製品を記憶するように構成されている。メモリ206はまた、受信したメッセージのコピーを記憶し、受信した情報およびネットワークにおける各RO-宛先メッシュノードペアに対する確認通知メッセージのカウントを維持するように構成されてもよい。
【0082】
開示された例に対する他の変形は図面、開示、および添付の特許請求の範囲の研究から、特許請求された開示を実施する際に、当業者によって理解され、達成され得る。特許請求の範囲において、単語「含む」は他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は複数を排除するものではない。単一のプロセッサまたは他のユニットは、特許請求の範囲に列挙されるいくつかのアイテムの機能を満たすことができる。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せが有利に使用されることができないことを示すものではない。コンピュータプログラムは他のハードウェアと一緒に、またはその一部として供給される光記憶媒体またはソリッドステート媒体などの適切な媒体上に記憶/配布することができるが、インターネットまたは他の有線もしくは無線電気通信システムなどを介して、他の形態で配布することもできる。特許請求の範囲におけるいかなる参照符号も、その範囲を限定するものとして解釈されるべきではない。
【0083】
本開示は、上記に開示された例に限定されず、発明の技能を適用する必要なく、添付の特許請求の範囲に開示された本開示の範囲を超えて、当業者によって修正および強化され得る。