(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-22
(45)【発行日】2024-08-30
(54)【発明の名称】複数のノードを含むネットワークのための方法、ブルートゥース低エネルギーネットワーク、およびコンピュータプログラム製品
(51)【国際特許分類】
H04W 40/02 20090101AFI20240823BHJP
H04W 84/18 20090101ALI20240823BHJP
H04W 84/10 20090101ALI20240823BHJP
H04W 24/04 20090101ALI20240823BHJP
【FI】
H04W40/02 110
H04W84/18
H04W84/10 110
H04W24/04
(21)【出願番号】P 2020175115
(22)【出願日】2020-10-19
【審査請求日】2023-05-11
(32)【優先日】2019-10-21
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】591003493
【氏名又は名称】キャリア コーポレイション
【氏名又は名称原語表記】CARRIER CORPORATION
(74)【代理人】
【識別番号】100086232
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【氏名又は名称】富岡 潔
(72)【発明者】
【氏名】アダム クエンジ
(72)【発明者】
【氏名】マイケル ラング
(72)【発明者】
【氏名】チー-クアン リン
(72)【発明者】
【氏名】ダヴィデ ヴィラ
【審査官】望月 章俊
(56)【参考文献】
【文献】米国特許第07978725(US,B2)
(58)【調査した分野】(Int.Cl.,DB名)
H04W4/00-H04W99/00
H04B7/24-H04B7/26
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
複数のノードを含むネットワー
クのための方法であって、
第1のノード(N2)で、第2のノード(N1)が障害のあるノードであることを検出すること、
前記第1のノードで、前記第2のノードが障害のあるノードであり、第1の経路が利用できないことを記録すること、
前記第1のノードで第2の経路に切り替えること、前記第2の経路は第3のノード(N6)を含む、
前記第1のノードで、前記第3のノード
のホップカウントをチェックすること、この場合前記第3のノードは前記第2の経路
における、前記第1のノードから次のホップである、
前記第1のノードで情報パケットを生成すること、この場合、前記情報パケットは、前記障害のあるノードの固有のID及び前記第1のノード
のホップカウントを含む、
前記第1のノード(N2)から前記第1のノードの1つまたは複数の1ホップ隣接ノード(N1、N3、N6)に前記情報パケットをブロードキャストすること、
前記情報パケットを受信する前記1ホップ隣接ノードのそれぞれで、前記障害のあるノード(N1)の前記固有のIDと前記第1のノードの前記ホップカウントを格納すること、
前記情報パケットを受信する前記1ホップ隣接ノードのそれぞれで、
新しいホップカウントを再計算すること、この場合、
前記1ホップ隣接ノード
の1つにおける前記
新しいホップカウントが、前記情報パケットを受信する前の前記ホップカウントとは異なるように再計算される場合、前記1ホップ隣接ノードは、前記1ホップ隣接ノードの前記新しいホップカウントを含む第2の情報パケットを生成し、それ自体の1ホップ隣接ノードの1つまたは複数に前記第2の情報パケットをブロードキャストする、を含む、方法。
【請求項2】
前記第1のノードが前記第1の経路に沿って前記第1のノードから前記第2のノードにデータパケットを送
信し、前記第2のノードが障害のあるノードであり、前記データパケットが前記第2のノードに成功裏には送信されない、請求項1に記載の方法。
【請求項3】
前記第3のノードが前記第2のノード
のホップカウントと異なるホップカウントを有する場合、前記第1のノードの前記ホップカウントを更新する、請求項1または2に記載の方法。
【請求項4】
前記第1のノードは、そ
の1ホップ隣接ノードのすべてに前記情報パケットをブロードキャストする、請求項1~3のいずれかに記載の方法。
【請求項5】
前記第1のノードが、ホップ
カウント、それらが
前記ネットワー
ク内のサブネットワークの要素であるかどうか、及び受信信号強度インジケータ(RSSI)を含むパラメータに従って、その1ホップ隣接物の各々をランク付けするように構成されている、請求項1~4のいずれかに記載の方法。
【請求項6】
前記第1のノードが前記トップランクの1ホップ隣接ノードから開始する1ホップ隣接ノードの総数のサブセットに前記情報パケットを送信する、請求項5に記載の方法。
【請求項7】
前記第1のノードが、オンデマンドルート更新をさらに利用することができる、
前記第1のノードから、そのリンクがアップリンクルートの一部である場合は障害のあるリンクを含む経路の元のソースに、またはそのリンクがダウンリンク経路の一部である場合にはヘッドノード(HN)に、第
3の情報パケットを送信すること、この場合、前記第
3の情報パケット
の目的地ノードが前記第
3の情報パケットを受信すると、前記目的地ノードは前記
障害のあるリンクを含む経路を無効にし、前記障害のあるリンクを含む前記経路は将来のデータ配信で使用されない、請求項1~6のいずれかに記載の方法。
【請求項8】
前記第1のノードと前記目的地ノードとの間の任意の中間ノードはまた、前記障害のあるリンクを含む経路を無効として記録す
る、請求項7に記載の方法。
【請求項9】
前記第
3の情報パケットは、他のデータパケットよりも優先度が低い、請求項7または8に記載の方法。
【請求項10】
前記第1の経路は、データパケットがソースノードから目的地ノードへ移動する経路である、請求項1~9のいずれかに記載の方法。
【請求項11】
前記第1の経路が1つまたは複数の中間ノードを含む、請求項10に記載の方法。
【請求項12】
ブルートゥース低エネルギー(BLE)ネットワーク(300)であって、
第1のノード(N2)、
第2のノード(N1)、及び
1つまたは複数の
1ホップ隣接ノード(N1、N3、N6)であって、前記第1のノードから1ホップ
カウントの距離にある、前記隣接ノード
を含む複数のノードを含み、
この場合、前記第1のノードは、前記第2のノードが障害のあるノード(N1)であることを検出し、前記第2のノードが障害のあるノードであり、第1の経路が利用できないことを記録し、第2の経路に切り替え、前記第2の経路は第3のノードを含み、前記第3のノード
のホップカウントをチェックし、この場合前記第3のノードは前記第2の経路
における、前記第1のノードから次のホップであり、情報パケットを生成し、この場合前記情報パケットは、前記障害のあるノードの固有のIDと前記第1のノードのホップカウントを含み、1つまたは複数の1ホップ隣接ノードに前記情報パケットをブロードキャストし、また
この場合、前記情報パケットを受信する前記1ホップ隣接ノード(N1、N3、N6)のそれぞれは、前記障害のあるノードの前記固有のIDと前記第1のノード
のホップカウントを格納し、
新しいホップカウントを再計算するように構成され、この場合
前記1ホップ隣接ノード
の1つにおける前記新しいホップカウントが、前記情報パケットを受信する前の前記
1ホップ隣接ノードのホップカウントとは異なるように再計算される場合、前記1ホップ隣接ノードは、前記1ホップ隣接ノードの前記新しいホップカウントを含む第2の情報パケットを生成し、それ自体の1ホップ隣接ノードの1つまたは複数に前記第2の情報パケットをブロードキャストする、ブルートゥース低エネルギー(BLE)ネットワーク(300)。
【請求項13】
請求項1~11のいずれかに記載の方法に従って前記ネットワーク(300)が動作するように構成されている、請求項12に記載のブルートゥース低エネルギー(BLE)ネットワーク(300)。
【請求項14】
複数のノードを含むブルートゥース低エネルギー(BLE)ネットワーク(300)内で実行されたときに、前記ネットワーク(300)が請求項1~11のいずれかの方法に従って動作するように構成する命令を含む、コンピュータプログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ブルートゥースネットワーク、特にブルートゥース低エネルギーネットワークにおけるノード障害に対処する方法に関する。
【背景技術】
【0002】
Bluetooth(登録商標) Low Energy(BLE)の仕様は、2.4~2.4835GHzの産業科学医療(ISM)用バンド内で動作するワイヤレスネットワークテクノロジの一連の標準である。BLEは、レガシーまたは「クラシック」のBluetooth(登録商標)のデバイスと比較して、消費電力を大幅に削減するように設計されている。
【0003】
BLE仕様の用途には、ヘルスケア、セキュリティ、フィットネス、及びホームエンターテイメントが含まれる。これらの用途の中で、デバイスはBluetoothメッシュプロファイルを利用して、ネットワークの他のBLEデバイスと通信できる。ネットワークの各デバイスは、ネットワーク内の他のデバイス間でデータを転送し、いわゆる「メッシュ」を作成することができる。
【0004】
仕様によると、BLEデバイスは2.4GHzのバンドの40チャネルで作動し、それぞれがRF(無線周波数)チャネルインデックスの値0、1、…、39のセットにマッピングされる。チャネル0~36はデータの送信に使用され、チャネル37、38、及び39は広告(ADV)イベントの送信に使用される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、無線ネットワークでのノード障害発生後のオンデマンドテーブル及びルートの更新を提供する。
【課題を解決するための手段】
【0006】
本明細書で使用される場合、「ノード」という用語は、BLEの機能を有することができる任意のデバイスを指すことができる。このようなデバイスには、スマートフォン、スマートプラグ、電球、ラップトップ、ホームエンターテインメント用デバイス、またはBLEネットワークに接続できる他のいずれかのデバイスが含まれ得る。また、ノードは、Wi-Fi(RTM)ネットワークやセルラーネットワークなどの他のワイヤレスネットワークでも通信できる場合がある。ノードはまた、そのようなネットワークを介してインターネットにより通信可能であり得る。
【0007】
一部のネットワークは自己修復機能を備えている場合がある。つまり、ネットワーク内のノードに障害が発生した場合、ネットワークは障害が発生したノードを避けて、依然データパケットを目的地に確実に配信できるようにする。しかし、そうするための現在の方法は、エネルギー及びリソースを集中的に使用するものであり、これは、特に電池動力式ノードを含むネットワーク、またはネットワークの更新に時間がかかる可能性がある大規模で高密度のネットワークに関係し得る。
【0008】
第1の態様から見ると、本発明は、複数のノードを含むネットワークのための方法であって、第1のノードで、第2のノードが障害のあるノードであることを検出すること;第1のノードで、第2のノードが障害のあるノードであり、第2のノードを含む第1の経路が利用できないことを記録すること;第1のノードで第2の経路に切り替えること、第2の経路は第3のノードを含む;第1のノードで、第3のノードのホップカウントをチェックすること、この場合第3のノードは第2の経路の次のホップである;第1のノードで情報パケットを生成すること、この場合、情報パケットは、障害のあるノードの固有のID及び第1のノードの前記ホップカウントを含む;第1のノードから第1のノードの1つまたは複数の1ホップ隣接ノードに情報パケットをブロードキャストすること;情報パケットを受信する1ホップ隣接ノードのそれぞれで、障害のあるノードの固有のIDと第1のノードのホップカウントを格納すること;情報パケットを受信する1ホップ隣接ノードのそれぞれで、ホップカウントを再計算すること、この場合、1ホップ隣接ノードでのホップカウントが、情報パケットを受信する前のホップカウントとは異なるように再計算される場合、1ホップ隣接ノードは、1ホップ隣接ノードの新しいホップカウントを含む第2の情報パケットを生成し、それ自体の1ホップ隣接ノードの1つまたは複数に第2の情報パケットをブロードキャストする、を含む方法を提供する。
【0009】
本発明の利点は、ノードの障害が発生した場合の無線ネットワークの堅牢性及び応答時間を改善することである。この方法により、ネットワーク情報が最新の状態に保たれ、ネットワークの各ノードがネットワークを介して作動するルートを選択して、エネルギーや資源の無駄を省き、ノードの障害を回避できる。これは、ノードの一部またはすべてが電池動力式であることによって制約されているネットワークでは特に重要である。
【0010】
第2の態様から見ると、本発明は、Bluetooth Low Energy(ブルートゥース低エネルギー,BLE)ネットワークであって、第1のノード;第2のノード;及び1つまたは複数の隣接ノードであって、第1のノードから1ホップ距離にある、隣接ノードを含む複数のノードを含み、この場合、第1のノードは、第2のノードが障害のあるノードであることを検出し、第2のノードが障害のあるノードであり、第1の経路が利用できないことを記録し、第2の経路に切り替え、第2の経路は第3のノードを含み、第3のノードのホップカウントをチェックし、この場合第3のノードは第2の経路の次のホップであり、情報パケットを生成するよう構成され、この場合情報パケットは、障害のあるノードの固有のIDと第1のノードのホップカウントを含み、1つまたは複数の1ホップ隣接ノードに情報パケットをブロードキャストし;またこの場合、情報パケットを受信する1ホップ隣接ノードのそれぞれは、障害のあるノードの固有のIDと第1のノードのホップカウントを格納し、ホップカウントを再計算するように構成され、この場合1ホップ隣接ノードでのホップカウントが、情報パケットを受信する前のホップカウントとは異なるように再計算される場合、1ホップ隣接ノードは、1ホップ隣接ノードの新しいホップカウントを含む第2の情報パケットを生成し、それ自体の1ホップ隣接ノードの1つまたは複数に第2の情報パケットをブロードキャストする、Bluetooth Low Energy(BLE)ネットワークを提供する。
【0011】
第3の態様から見ると、本発明は、複数のノードを含むBluetooth Low Energyネットワーク内で実行されたときに、ネットワークが第1の態様の方法に従って動作するように構成する命令を含むコンピュータプログラム製品を提供する。
【0012】
以下に、第1の態様の方法、第2の態様のネットワーク、または第3の態様のコンピュータプログラム製品と組み合わせることができる任意選択の機能について説明する。
【0013】
BLEデバイスには、Bluetooth低エネルギー送信を使用して他のデバイスと通信することができる任意のデバイスを含めることができる。このようなデバイスには、スマートフォン、スマートプラグ、電球、ラップトップ、アクセス制御システム、及びホームエンターテインメント用デバイスが含まれ得る。BLEデバイスは、BLEネットワークの要素である場合がある。BLEネットワークは、ヘッドノードまたはゲートウェイを含むことができ、ヘッドノードは、プロトコルの変換を実行して、BLEネットワークから、ヘッドノードが接続されている別のネットワークに、データを通信することができる。その他のネットワークには、セルラーネットワーク、インターネット、ローカルイントラネット、及びクラウドネットワークが含まれ得る。
【0014】
BLEネットワークでは、ネットワークの要素であるBLEデバイスはノードと呼ばれることがある。ネットワークは、任意の数のノードを含むことができ、またヘッドノードが少なくとも1つのノードに接続されるように分配させることができる。ネットワーク内の各ノードは、ヘッドノードに直接接続すること、または少なくとも1つの他のノードを介してヘッドノードに接続することができる。このようにすると、ヘッドノードはBLEネットワーク内のすべてのノードと通信でき、その逆も可能である。
【0015】
ネットワーク内のすべてのノードは、ヘッドノードに対してダウンストリームまたはダウンリンクとみなすことができ、逆に、ヘッドノードは、ネットワーク内の他のノードのアップストリームまたはアップリンクとみなすことができる。ネットワークの構造は、データが目的地のノードに到達する前に、ヘッドノードから他の中間ノードを経由して移動できるようにし得る。このようにすると、中間ノードはいくつかのノードのアップストリームにあり得、他のノードのダウンストリームにあり得る。ネットワークの端にあるノードは、エンドノードと呼ばれることがある。ヘッドノードから中間ノードまたはエンドノードに送信されるデータは、ダウンストリームまたはダウンリンクに移動しているとみなすことができる。エンドノードまたは中間ノードからヘッドノードの方向に送信されるデータは、アップストリームまたはアップリンクに移動しているとみなすことができる。
【0016】
BLEネットワークは、BLEデバイスが実行中ネットワークに参加及び離脱できるように構成できる。当業者は、BLEネットワークが、ネットワークに参加する新しいデバイスまたはネットワークを離れる現在のデバイスを左右するように再構築されるように構成され得ることを容易に理解する。当業者はまた、BLEネットワークが、ネットワーク内のBLEデバイスの物理的位置の変化を左右するために、及び/またはデバイス間の効率的なデータの転送のためにネットワークを最適化するために、それ自体を再構築するように構成され得ることを容易に理解する。
【0017】
任意の特定のノードがヘッドノードから離れている距離は、その特定のノードに到達するためにデータが通過しなければならないノードの数によって定めることができる。例えば、ヘッドノードと直接通信するノードは、ヘッドノードから1「ホップ」離れているとみなすことができる。同様に、第2のノードを介してヘッドノードと通信する第1のノードは、ヘッドノードから2「ホップ」離れているとみなすことができる。この後者の場合、第2のノードは、ヘッドノードのダウンストリームにあり、また第1のノードのアップストリームにあるとみなすことができる。このようにすると、任意の特定のノードがヘッドノードから何ホップ離れているかを明確にできる。ホップカウントは、ノード間の物理的な距離とは関係ない。特定のノードから1ホップ離れたノードは、その特定のノードの隣接物と呼ばれることがある。
【0018】
ネットワークの再構成により、特定のノードのホップ距離が変動し得る。このような再構成は、ネットワークの最適化、ネットワークにおけるノード数の変化に応じること、及びネットワーク内のノードの物理的な動きを含むがこれらに限定されない、任意の数の理由で発生し得る。
【0019】
特定のノードのホップ距離は、そのノードの識別データとして、該ノードのメモリに格納され得る。他の識別データには、そのノードに関するノードID(識別)番号またはMAC(メディアアクセス制御)アドレスが含まれる場合がある。ノードは、隣接ノードなど、ネットワーク内の他のノードの識別データを格納できる。ノードIDは、ノードの固有の識別情報であり得る。
【0020】
第1のノードの第1の経路は、最初の送信ノードから目的地ノードまでのより長い経路の一部であり得る。この場合、送信ノードは、データパケットが発信されたノードとみなされ得る。あるいは、送信ノードは、データの送信元のいずれかのノードとみなされてもよい。目的地ノードは、データパケットが到達するように意図されているノードであるとみなすことができる。あるいは、目的地ノードは、データパケットを受信する任意のノードであり得る。データパケットの経路は、目的地ノードに到達するために複数のノードを経由する複数のホップで構成され得る。送信ノードと目的地ノードの間の経路上のノード(複数可)は、中間ノードと呼ばれる場合がある。「経路」及び「ルート」という用語は、互換的に使用できる。
【0021】
通常、送信ノードと目的地ノード間の経路は、可能な限り少ない数の中間ノードを必要とする場合があり、いずれの中間ノードもまったく必要としない場合さえもある。データが送信されて目的地ノードに到達するために、ネットワーク内の任意の1つのノードから複数の経路が存在する場合がある。ノードは通常、最小のホップカウントに基づいて経路を選択するが、RSSI(受信信号強度インジケータ)、ノードのバッテリーレベル、ネットワーク全体またはノードのローカルの近隣におけるワークロードとトラフィックの輻輳、または、経路の次のノードがサブネットの一部であるかどうか、及びそのサブネットが現在のノードと同じサブネットかどうかなどの他のパラメータを考慮して、どの経路を使用するかを決定する場合もある。
【0022】
ネットワーク内のノードは、ルーティングテーブルから情報を取得する場合がある。ルーティングテーブルには、ネットワークのトポロジに関する情報が含まれている。ノードは、データ配信用のノードIDやルーティング経路などの情報をルーティングテーブルから引き出すことができる。
【0023】
オンデマンドテーブル更新方法は、情報パケットを生成すること;第1のノードから第1のノードの1ホップ隣接ノードに情報パケットをブロードキャストすること;及び情報パケットを受信する1ホップ隣接ノードのそれぞれで、ホップカウントを再計算すること、この場合、1ホップ隣接ノードでのホップカウントが、情報パケットを受信する前のホップカウントとは異なるように再計算される場合、1ホップ隣接ノードはオンデマンドテーブル更新をトリガーする、を含むものとしてより明確に定義することができる。
【0024】
オンデマンドテーブル更新の目的は、ネットワークで発生した変更について、1ホップ隣接物を特定のノードに通知することであり得る。更新は、次のいずれかの条件によってトリガーされる可能性がある:第1のノードが障害のあるノードを検出した場合、または第1のノードがホップカウントを再計算し、新しいホップカウントが以前のホップカウントと異なる場合である。これらの条件の一方または両方が、オンデマンドテーブル更新をトリガーすることができる。
【0025】
障害のあるノードは、送信ノードがノードへのルートに沿ったデータパケットの送信を試み、配信が成功しなかったことを見出したときに検出される可能性がある。したがって、障害のあるノードによりデータパケットの配信が失敗した場合、オンデマンド更新がトリガーされる。障害のあるノードの検出には、送信ノードが一定期間、障害のあるノードとのいずれの接続をも確立できなかったため、データパケットが送信されている経路の次のホップに不具合が発生したことを、それが知る限りにおいて送信ノードが表すことを含む場合がある。
【0026】
第1のノードがオンデマンドテーブル更新をトリガーすると、ブロードキャスト情報パケットが生成される。情報パケットは、第1のノードのホップ距離と、検出されたいずれかの障害のあるノードのノードIDを含むことができる。次に、第1のノードは、情報パケットをその1ホップ隣接物のそれぞれに送信する。情報パケットを受信すると、第2のノードはパケットの送信元である第1のノードのホップ距離を更新し、自身のホップ距離を再計算する。第2のノードのホップ距離が変更された場合、オンデマンドテーブル更新が再帰的にトリガーされ、第2のノードが新しいブロードキャスト情報パケットを生成してブロードキャストする。さらに、第2のノードはいずれかの障害のあるノードのIDを格納し、障害のあるノードのいずれかが第2のノードの1ホップ隣接物であるかどうかを確認できる。その場合、第2のノードは、隣接する障害のあるノードを使用してルートを無効にするように構成されており、それらのルートは将来のデータパケット配信で選択されない。
【0027】
ブロードキャスト情報パケットは、オンデマンド更新をトリガーしたデータパケットよりも優先度が低い場合があるため、情報パケットは、データパケットまたは潜在的な障害通知パケットの後に送信され得る。これは、ネットワークがデータパケットを最終的な目的地にできるだけ早く転送するように構成されているためである。さらに、さらなるノードの障害が検出された場合、ノードは、発生したノード障害ごとに複数の情報パケットを生成して送信するのではなく、1つの情報パケットに障害のあるノードIDとその再計算されたホップカウントに関する新しい情報を含めることができる。
【0028】
潜在的な障害通知パケットは、可能なマルチ経路障害回復方法の一部であってもよい。潜在的な障害通知パケットは、現在のデータパケットと比較して優先度が高いクラスのパケットである場合がある。潜在的な障害通知パケットは、メッセージの元のソースに送り返され、障害のあるノードのことと、現在の経路を介してデータパケットを最終的な目的地に配信できないことを、ソースノードに通知することができる。このとき、潜在的な障害通知パケットを受信すると、元のソースノードは、最終的な目的地ノードにデータパケットを配信するための代替経路を選択できる。
【0029】
特定のノードに接続された1ホップ隣接物の数は、ネットワークのトポロジと密度に依存し得る。状況によっては、この数が多くなる可能性があり、そのためオンデマンドの更新時に情報パケットをこれらのノードのそれぞれにブロードキャストするのに必要な時間とエネルギーは、リソースを大量に消費する可能性がある。そのような状況では、ノードは、その1ホップ隣接物のランク付けを実行するように構成できる。このランク付けは、ホップ距離、それらがより広域のネットワーク内のサブネットワークの要素であるかどうか、及び受信信号強度インジケータ(RSSI)などの様々なパラメータに基づいている場合がある。このようにすると、ノードは、これらのパラメータの1つまたは複数に従って各1ホップ隣接物をランク付けして、ネットワークでより重要度の高いノードを判定できる。このような重要度は、これらのパラメータから判定することができ、これらのノードのデータのスループットと接続性を考慮している。最も頻繁に使用されるノード、またはネットワークで最も多くの接続性を誇る位置にあるノードを、障害のあるノードに関する情報で更新して、これらのノードを通過するデータパケットが目的地への到達の遅延を回避できるようにすることが不可欠であると想像できる。提唱されているランク付けの方法は、情報パケットブロードキャストのオーバーヘッドコストを削減しながら、障害のあるノードの周囲の代替経路にとって、より適切な隣接ノードを見つけることを目的としている。次に、情報パケットは、最高ランクのノードから始まる、利用可能なすべてのオンホップノードのサブセットにのみ送信され得る。より多くのネットワークがより大きなサブセットによって更新される可能性があるが、これにより、ネットワークの更新をトリガーしたデータパケットの配信に対する待機時間とエネルギー使用量の増加に至る可能性もある。サブセットのサイズは、必要なネットワーク更新のレベルに依存する場合があり、ネットワーク密度、ノードの接続性、及び使用可能なデータの経路を考慮に入れることができる。
【0030】
障害のあるノードの復元は、ネットワークをリセットすることでネットワークに統合し、新しく復元されたノードの全ルートと全隣接物のすべての情報を更新することができる。代わりに、復元されたノードは、例えば、新しく利用可能になったことを隣接物に通知し、中間ノードとしてそれを使用するすべてのルートが通常に戻るようにすることで、ネットワークに再統合される結合プロトコルに従う場合がある。復元されたノードを再統合する他の方法は当業者に知られており、ネットワークの特定のパラメータに応じて使用することができる。
【0031】
オンデマンドテーブル更新に加えて、ネットワークは、オンデマンドルート更新方法を利用して、ネットワーク内のノード障害に対処することもできる。オンデマンドテーブル更新は、特定のノードに関するステータスと情報を使用してネットワーク内のノードを更新することに関係しているが、オンデマンドルート更新方法は、むしろ、データパケットがネットワークを通過する可能性のある障害のあるルートの更新をもたらすことに関係している。更新は特定の状況でトリガーされ得るか、継続的に発生する可能性があり、後者は前者よりもリソースを集中して使用するが、ネットワークがネットワーク全体で最新であることを保証するという利点がある。
【0032】
オンデマンドルート更新をトリガーするための1つの条件は、障害のあるノードの検出である場合がある。送信ノードがデータパケットの配信中に障害のあるノードを検出すると、送信ノードと障害のあるノードの間のリンクは、送信ノードで使用不可として記録され得る。次に、送信ノードはネットワークのルーティングテーブルをチェックして、そのリンクがアップリンクとダウンリンクの両方ですでに作成されている他のルートによって使用されているかどうかを判断できる。その場合、次にオンデマンドルート更新がトリガーされる。
【0033】
オンデマンドルート更新は、送信ノードから、そのリンクがアップリンクルートの一部である場合は障害のあるリンクを含む経路の元のソースに、またはそのリンクがダウンリンク経路の一部である場合にはヘッドノードに、情報パケットを送信することを含み得る。情報パケットの送信先の最終ノードが情報パケットを受信すると、最終ノードは通知された経路を無効にし、そのため障害のあるリンクを含む経路は将来のデータ配信で使用されない。また、送信ノードと最終ノードの間のいずれかの中間ノードが、障害のあるリンクを含む経路を無効として記録する場合がある。
【0034】
オンデマンドルート更新の情報パケットは、元のデータパケットよりも優先度が低い場合がある。つまり、両方のパケットが同じノードから送信される場合、情報パケットはデータパケットの後に送信される。
【0035】
オンデマンドテーブル更新と組み合わせてオンデマンドルート更新を使用する利点は、ネットワークで障害のあるノードが検出された場合に、ネットワークがより包括的に更新できることである。これにより、ネットワークはノード障害に応じてより適応性が高くなり、自己修復して、外部の操作者がシステムを継続的に保守する必要なしに、ネットワークを介した効果的かつ効率的なデータ配信を保証できる。
【0036】
これより、本開示の特定の実施形態を、添付の図面を参照しながら単なる例として説明する。
【図面の簡単な説明】
【0037】
【
図3】本発明のオンデマンドテーブル更新方法が実行され得る例示的なネットワークを示す図である。
【
図4】本発明のオンデマンドルート更新方法が実行され得る例示的なネットワークを示す図である。
【発明を実施するための形態】
【0038】
図1は、ネットワーク100がツリーとして描かれている例示的なBLEネットワーク100を示す。ヘッドノード102はネットワーク100の「ルート」を形成し、BLEネットワーク内のデバイスはネットワーク内の「ブランチ」を形成する。一部のBLEデバイスは、ヘッドノード102に直接接続されていない。代わりに、これらはブランチノードを介して接続される。これは、ヘッドノード102から送信されたいずれの送信も、送信が目的地のノードに到達する前に別のBLEノードを介して通信される必要がある場合があることを意味する。
【0039】
図2は、第1のノード200及び第2のノード202を示す。第1のノード200及び第2のノード202は、BLEネットワーク100内の任意の2つの隣接するノードであり得る。この場合、「隣接する」という用語は、第1のノード200及び第2のノード202が、中間ノードを介するのではなく、直接互いに通信するように構成されることを意味する。各ノードは、その隣接物に関する識別情報を格納することにより、他のノードに対するBLEネットワーク100内での位置を判定できるようにし得る。隣接ノードは、ネットワーク100内のノードにじかに接続されるものとして定めることができる。識別情報には、ホップ距離と固有のノードIDが含まれる場合がある。
【0040】
次に、オンデマンドテーブル更新方法は、
図3に示されるように、ネットワーク300で動作するものとして説明される。この例示的なネットワーク300は、ヘッドノードNH及び複数のノードN1~N8を含み、ノードN1及びN5は、ヘッドノードNHから1ホップである。ノードN2及びN6は、それぞれ、ヘッドノードNHからN1及びN5を経由して2ホップ、ノードN3及びN7は、それぞれ、ヘッドノードNHからN2及びN6を経由して3ホップ、ノードN4及びN8は、それぞれ、ヘッドノードNHからN3及びN6を経由して4ホップである。さらに、ノードN2とN6は相互から1ホップ離れており、ノードN3とN7、ノードN4とN8と同様である。
【0041】
ノードN2は、経路#1を介してヘッドノードNHにデータパケットを送信させたい。そう試みると、N2は、ノードN1に障害が発生し、データパケットを正しく受信できないことを検出する。この時点で、ノードN2はノードN1の情報を更新し、リンクN1-N2を使用不可としてマークする。次に、ノードN2は自身のホップ距離を再計算し、ホップ距離が2(N1を通過)から3(N6を通過)に変更されたことを検出する。オンデマンドテーブル更新は、少なくとも1つの条件が満たされているためにトリガーされるが、この場合は両方の条件が満たされている。したがって、ノードN2は、ブロードキャスト情報パケットを生成し、最初に、データパケットの優先度が高いことから、その第2の経路#2を介してノードN6経由でデータパケットをプッシュしようとする。この配信が完了すると、情報パケットは機能できる。
【0042】
この例では、ネットワークは非常に小さく単純であり、そのため、隣接する1ホップノードのランキングを使用する必要はなく、情報パケットをすべての隣接物(N3及びN6)に送信できる。情報メッセージを受信すると、ノードN3とN6はノードN2のホップカウント距離を更新し、自身のホップ距離を再計算する。ノードN6は、ノードN5に依存しているため、そのホップ距離は変更されない。一方、ノードN3からヘッドノードNHへの経路はノードN2に依存していたため、ノードN3はホップ距離を3から4に変更した。
【0043】
さらに、ノードN3にノードN3とヘッドノードNHの間にある経路のすべての中間ノードに関する情報がある場合、ノードN3には障害のあるノードN1が含まれているため、経路を無効にするように構成される。次に、ノードN3は、障害が発生したノードN1を回避するヘッドノードNHへの代替経路を選択するように構成される。これは、情報パケットを受信する他のノードで繰り返される可能性があるため、情報パケットを受信するすべてのノードは、障害のあるノードN1を含むノードに格納されているいずれかの経路を無効にする。
【0044】
ノードN3でのホップ距離の変化は、ノードN3でのオンデマンド更新をトリガーし、ノードN3は別の情報ブロードキャストパケットを生成する。このパケットは、ノードN3、ノードN2、N4、及びN7という各隣接物に送信される。ノードN2及びN7には、ノードN3に依存しないヘッドノードNHへの経路があるため、これらのノードでのホップ距離に変化はない。しかし、ノードN4からヘッドノードNHへの経路はノードN3に依存しており、そのため、N4の場合、ノードN4のホップ距離は4から5に変化する。次いで、このホップ距離の変化により、ノードN4でオンデマンド更新がトリガーされる。このプロセスは、ホップ距離の変更が発生しなくなるまで続く。
【0045】
また、オンデマンドテーブル更新に加えて、ネットワーク300は、オンデマンドルート更新方法を利用して、ネットワーク300でのノード障害に対処することもできる。オンデマンドテーブル更新は、特定のノードに関するステータスと情報でネットワーク300のノードを更新することに関係しているが、オンデマンドルート更新方法は、代わりに、データパケットがネットワーク300を通過し得る障害のあるルートの更新をもたらすことに関係している。ネットワーク300は、上記のオンデマンドテーブル更新の代わりに、またはそれに加えて、オンデマンドルート更新を使用することができる。
図4は、
図3と同じネットワーク300を示し、オンデマンドルート更新がいかに実行されるかを示す。
【0046】
オンデマンドルート更新をトリガーするための1つの条件は、障害のあるノードの検出である。送信ノードN2がデータパケットの配信中に障害のあるノードN1を検出した場合、送信ノードN2と障害のあるノードN1との間のリンクは、送信ノードN1で使用不可として記録され得る。次に、送信ノードN1は、ネットワーク300のルーティングテーブルをチェックして、そのリンクが送信ノードN2のアップリンクとダウンリンクの両方である、すでに作成されている他のルートによって使用されているかどうかを判断することができる。その場合、オンデマンドルート更新がトリガーされる。
【0047】
オンデマンドのルート更新は、送信ノードN1から、リンクがリーフノードN4などのアップリンクルートの一部である場合には障害のあるリンクを含む経路の元のソースに、またはそのリンクがダウンリンク経路の一部である場合にはヘッドノードNHに、情報パケットを送信することを含む。情報パケットの送信先の最終ノードが情報パケットを受信すると、最終ノードは通知された経路を無効にし、そのため、障害のあるリンクを含む経路は将来のデータ配信では使用されない。また、送信ノードと最終ノードの間のいずれかの中間ノードが、障害のあるリンクを含む経路を無効として記録する。
【0048】
この例では、ノードN3はまた、経路#1で使用できないリンクN1-N2を使用している。したがって、ノードN3はその経路を無効にする。将来のパケット配信で、ノードN3はノードN7を有するその経路#2を中間ノードとして使用する。ノードN4は、ノードN4がその経路#1をノードN3を介して無効にするという点で、ノードN3と同じ傾向に従い、それはその経路#2をノードN8を介して使用する。見やすくするために、ノードN4の経路は
図4に示されていない。
【0049】
図5は、上述の方法を利用することができる一対のBLEデバイス500、510を示す。BLEデバイス500、510は、任意の適切な既知のタイプのデバイスとすることができ、それらは、上述の方法に従って動作するように既知のデバイスと比較して変更される。第1のBLEデバイス500は、プロセッサ502、メモリユニット504、無線機506、及びアンテナ508を備える。本明細書で説明される方法を実行するためのコンピュータプログラム製品は、メモリユニット504にアプリケーションとして格納され得る。メモリユニット504は、ハードドライブ、ソリッドステートまたは光学メモリソースであり得る。プロセッサ502は、メモリユニット504に格納されたソフトウェア、アプリケーション、及びデータにアクセスして実行するように構成される。
【0050】
無線機506は、アンテナ508を介してBLE信号を送受信するように構成される。プロセッサ502は、無線機506と連動するように構成され、アプリケーションは、プロセッサ502で実行されるときに、無線機506及びアンテナ508を制御するように構成され得る。
【0051】
第2のBLEデバイス510は、第1のBLEデバイス500と同様のハードウェア及び動作を含む。第1のBLEデバイス500のアンテナ508は、第2のBLEデバイス510のアンテナ518と通信するように構成される。