特許第6572306号(P6572306)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ランディス・ギア イノベーションズ インコーポレイテッドの特許一覧

特許6572306最適化されたチャネルホッピングシーケンスを生成する技術
<>
  • 特許6572306-最適化されたチャネルホッピングシーケンスを生成する技術 図000002
  • 特許6572306-最適化されたチャネルホッピングシーケンスを生成する技術 図000003
  • 特許6572306-最適化されたチャネルホッピングシーケンスを生成する技術 図000004
  • 特許6572306-最適化されたチャネルホッピングシーケンスを生成する技術 図000005
  • 特許6572306-最適化されたチャネルホッピングシーケンスを生成する技術 図000006
  • 特許6572306-最適化されたチャネルホッピングシーケンスを生成する技術 図000007
  • 特許6572306-最適化されたチャネルホッピングシーケンスを生成する技術 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6572306
(24)【登録日】2019年8月16日
(45)【発行日】2019年9月4日
(54)【発明の名称】最適化されたチャネルホッピングシーケンスを生成する技術
(51)【国際特許分類】
   H04B 1/7143 20110101AFI20190826BHJP
【FI】
   H04B1/7143
【請求項の数】20
【全頁数】16
(21)【出願番号】特願2017-518792(P2017-518792)
(86)(22)【出願日】2015年9月28日
(65)【公表番号】特表2017-536733(P2017-536733A)
(43)【公表日】2017年12月7日
(86)【国際出願番号】US2015052550
(87)【国際公開番号】WO2016057252
(87)【国際公開日】20160414
【審査請求日】2018年8月22日
(31)【優先権主張番号】14/511,630
(32)【優先日】2014年10月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】513113895
【氏名又は名称】ランディス・ギア イノベーションズ インコーポレイテッド
【氏名又は名称原語表記】LANDIS+GYR INNOVATIONS, INC.
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100163050
【弁理士】
【氏名又は名称】小栗 眞由美
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】ハートマン, ジェイムス
【審査官】 阿部 弘
(56)【参考文献】
【文献】 特開2005−045637(JP,A)
【文献】 特開平11−251970(JP,A)
【文献】 特開2000−101481(JP,A)
【文献】 特開平09−093654(JP,A)
【文献】 特表2010−519850(JP,A)
【文献】 国際公開第2008/103091(WO,A1)
【文献】 特開2016−012954(JP,A)
【文献】 特開2000−101482(JP,A)
【文献】 特開2005−286754(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 1/7143
(57)【特許請求の範囲】
【請求項1】
ネットワークのホッピングシーケンスを決定する方法であって、
ノードにおいて、前記ネットワークを介したメッセージにより受信したシード値に少なくとも部分的に基づいて、チャネル番号のシーケンスを複数生成する生成ステップと、
前記ノードにおいて、前記シーケンスを連結してホッピングシーケンス候補とする連結ステップであって、前記シーケンスのそれぞれが該ホッピングシーケンス候補のセグメントである、連結ステップと、
前記ホッピングシーケンス候補を調整し、前記ホッピングシーケンスを生成する調整ステップとを有し、当該調整ステップでは、
前記ホッピングシーケンス候補の最初の位置が前記ホッピングシーケンス候補の最後の位置と同じチャネル番号であるとき、前記ノードにおいて、前記ホッピングシーケンス候補の第1のセグメントの最初の2つの位置または前記ホッピングシーケンス候補の最終セグメントの最後の2つの位置を入れ替えることによって、前記ホッピングシーケンス候補の端点を調整する処理と、
前記ホッピングシーケンス候補のある1つのセグメントの最後の位置が前記ホッピングシーケンス候補の次のセグメントの最初の位置と同じチャネル番号であるとき、前記ノードにおいて、前記ホッピングシーケンス候補の前記1つのセグメントの最後の2つの位置または前記ホッピングシーケンス候補の前記次のセグメントの最初の2つの位置を入れ替えて、前記ホッピングシーケンス候補のセグメント境界点を調整する処理とが行われ、
該方法は、前記ネットワークを介して通信を行うために、前記ホッピングシーケンスを用いた前記ノードのネットワークインターフェースの構成を行うステップをさらに有する、方法。
【請求項2】
請求項1に記載の方法であって、
前記シーケンスのそれぞれは、長さが少なくとも3である、前記シーケンスのそれぞれの位置のチャネル番号が異なる、利用可能なチャネルのセットの固有チャネル番号の数に長さが等しいという特徴のうち、1つ以上を有する、方法。
【請求項3】
請求項1に記載の方法であって、
前記シーケンスの生成ステップは、前記シーケンスのそれぞれに異なるシード値を用い、該異なるシード値はそれぞれ少なくとも部分的に前記シード値に基づく、方法。
【請求項4】
請求項1に記載の方法であって、
前記ノードにおいて、前記ノードにアクセス可能な別のネットワークからの別のメッセージを受信するステップをさらに有し、
前記別のメッセージは前記ノードが前記別のネットワークで通信するための前記ネットワークインターフェースを構成する別のシード値を含む、方法。
【請求項5】
請求項1に記載の方法であって、
前記ホッピングシーケンスは前記ホッピングシーケンス候補である、方法。
【請求項6】
請求項1に記載の方法であって、
前記ホッピングシーケンス候補は3以上のセグメントを含み、
前記ホッピングシーケンス候補の複数のセグメント境界それぞれについて、前記セグメント境界点の調整処理を繰り返すステップ、をさらに含む方法。
【請求項7】
コンピューティングデバイスのプロセッサによって実行可能なプログラムを格納する非一時的なコンピュータ読取可能媒体であって、前記プログラムは、
少なくとも部分的にシード値に基づいて、チャネル番号のシーケンスを複数生成する生成処理と、
前記シーケンスを連結して、ネットワークのホッピングシーケンス候補であって前記シーケンスのそれぞれがそのセグメントとなるホッピングシーケンス候補を形成する連結処理と、
前記ホッピングシーケンス候補を調整してホッピングシークエンスを生成する調整処理と、
を前記プロセッサに実行させるコードを含み、前記調整処理では、
前記ホッピングシーケンス候補の最初の位置が前記ホッピングシーケンス候補の最後の位置と同じチャネル番号であるとき、前記ホッピングシーケンス候補の第1のセグメントの最初の2つの位置または前記ホッピングシーケンス候補の最終セグメントの最後の2つの位置を入れ替えることによって、前記ホッピングシーケンス候補の端点を調整する処理と、
前記ホッピングシーケンス候補のある1つのセグメントの最後の位置が前記ホッピングシーケンス候補の次のセグメントの最初の位置と同じチャネル番号であるとき、前記ホッピングシーケンス候補の前記1つのセグメントの最後の2つの位置または前記ホッピングシーケンス候補の前記次のセグメントの最初の2つの位置を入れ替えることによって、前記ホッピングシーケンス候補のセグメント境界点を調整する処理とが行われ、
前記プログラムは、前記ネットワークを介して通信を行うために、前記ホッピングシーケンスを用いた前記コンピューティングデバイスのネットワークインターフェースの構成を前記プロセッサに実行させるコードをさらに含む、コンピュータ読取可能媒体。
【請求項8】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記シーケンスは第1シーケンスと第2シーケンスとを備え、前記第1シーケンスは前記シード値を含むよう構成されるシーケンス生成部を用いて生成され、前記第2シーケンスは前記シード値と異なる第2シード値を含むよう構成される前記シーケンス生成部を用いて生成される、コンピュータ読取可能媒体。
【請求項9】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記プログラムは、前記ネットワークのビーコンで前記シード値を送信するコードをさらに含む、コンピュータ読取可能媒体。
【請求項10】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記シーケンスのそれぞれは、少なくともチャネル番号3つの長さを有する、コンピュータ読取可能媒体。
【請求項11】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記セグメント境界点の調整処理は、前記ホッピングシーケンス候補の各セグメント境界について、前記セグメント境界点を調整することを含む、コンピュータ読取可能媒体。
【請求項12】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記シーケンスの生成処理は、前記シーケンスのそれぞれに異なるシード値を用い、前記異なるシード値はそれぞれ少なくとも部分的に前記シード値に基づく、コンピュータ読取可能媒体。
【請求項13】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記シーケンスそれぞれの長さは、候補となるチャネル番号の数に等しい、コンピュータ読取可能媒体。
【請求項14】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記シード値は前記ネットワークを介してビーコンで受信される、コンピュータ読取可能媒体。
【請求項15】
請求項7に記載の非一時的なコンピュータ読取可能媒体であって、
前記プログラムは、前記ノードにアクセス可能な別のネットワークのステータスデータを受信するコードをさらに含み、
前記ステータスデータは、前記ノードが前記別のネットワークで通信するための前記ネットワークインターフェースを構成することを可能とする別のシード値を含む、コンピュータ読取可能媒体。
【請求項16】
ノードであって、
プロセッサと、
ネットワークのステータスデータであって、シード値を含むステータスデータを受信するよう構成されたネットワークインターフェースと、
前記ノードで実行されるネットワークアプリケーションで構成されたメモリとを備え、
前記ネットワークアプリケーションは、
少なくとも部分的に前記シード値に基づいて、チャネル番号のシーケンスを複数生成する生成処理と、
前記シーケンスを連結して、前記ネットワークのホッピングシーケンス候補であって前記シーケンスのそれぞれがそのセグメントとなるホッピングシーケンス候補を形成する連結処理と、
前記ホッピングシーケンスを調整してホッピングシークエンスを生成する調整処理と、
を前記ノードに行わせるものであり、前記調整処理では、
前記ホッピングシーケンス候補の最初の位置が前記ホッピングシーケンス候補の最後の位置と同じチャネル番号であるとき、前記ホッピングシーケンス候補の第1のセグメントの最初の2つの位置または前記ホッピングシーケンス候補の最終セグメントの最後の2つの位置を入れ替えることによって、前記ホッピングシーケンス候補の端点を調整する処理と、
前記ホッピングシーケンス候補のある1つのセグメントの最後の位置が前記ホッピングシーケンス候補の次のセグメントの最初の位置と同じチャネル番号であるとき、前記ホッピングシーケンス候補の前記1つのセグメントの最後の2つの位置または前記ホッピングシーケンス候補の前記次のセグメントの最初の2つの位置を入れ替えることによって、前記ホッピングシーケンス候補のセグメント境界点を調整する処理とが行われ、
前記前記ネットワークアプリケーションは、前記ネットワークを介して通信を行うために、前記ホッピングシーケンスを用いた前記ネットワークインターフェースの構成を前記ノードに行わせるものである、ノード。
【請求項17】
請求項16に記載のノードであって、
前記ネットワークアプリケーションは、前記ノードにアクセス可能な別のネットワークの別のステータスデータを受信する処理をさらに備え、
前記別のステータスデータは、前記別のネットワークで通信するための前記ネットワークインターフェースを前記ノードが構成することを可能とする別のシード値を含む、ノード。
【請求項18】
請求項16に記載のノードであって、
前記ホッピングシーケンス候補は3以上のセグメントを含み、
前記ネットワークアプリケーションは、前記ホッピングシーケンス候補の複数のセグメント境界それぞれについて、前記セグメント境界点の調整を繰り返す処理をさらに備える、ノード。
【請求項19】
請求項16に記載のノードであって、
前記各シーケンスにおいて、前記各シークエンスの各位置が異なるチャネル番号を有する、ノード。
【請求項20】
請求項16に記載のノードであって、
前記シーケンスの生成は、前記シーケンスのそれぞれに異なるシード値を用い、前記異なるシード値はそれぞれ少なくとも部分的に前記シード値に基づく、ノード。
【発明の詳細な説明】
【背景技術】
【0001】
時間同期チャネルホッピング(TSCH)ネットワークなどのメッシュネットワークは、ネットワーク上でアクティブな装置がデータを送受信する周波数チャネルを周期的に変更する。任意のネットワーク上でアクティブな装置は、それぞれ、ネットワーク通信に用いられるチャネルのシーケンスを特定する定義済みチャネルホッピングシーケンス(または単に「ホッピングシーケンス」)を含むよう構成されている。ホッピングシーケンスの最後に到達すると、ネットワーク上の装置は最初からホッピングシーケンスを繰り返すことができる。短いおよび/または予測可能なチャネルホッピングシーケンスを用いることで、ノードが近傍のネットワークを発見することが難しくなったり、無線干渉の可能性が高まったりすることがある。長いチャネルホッピングシーケンスを用いると、近傍のネットワークを発見する可能性が向上するが、隣接する反復チャネルを含むこともあり、無線干渉の可能性が高まる。
【発明の概要】
【0002】
本発明の様々な態様は、ネットワークで使用するための最適化されたチャネルホッピングシーケンス(または単に「ホッピングシーケンス」)の生成に関する。一実施例において、ノードは、少なくとも部分的にシード値に基づいてチャネル番号のシーケンスを生成する。シード値は、ネットワーク経由で受信されるビーコンまたは他のタイプのステータスデータの一部として受信することができる。ネットワークは、IEEE802.15.4規格のファミリーで記述されるような、TSCHネットワークであってもよい。シーケンスは、最小長、シーケンス内でチャネルを繰り返さない、シーケンスごとに異なるシード値を用いる等、1以上の特徴を有することができる。ノードは、シーケンスを連結してホッピングシーケンスを形成する。ホッピングシーケンスを形成するシーケンスのそれぞれは、ホッピングシーケンスの「セグメント」と称することができる。
【0003】
そして、ノードは、ホッピングシーケンスの最初の位置がホッピングシーケンスの最後の位置と同じチャネル番号であるとき、ホッピングシーケンスの端点を調整する。端点の調整は、ホッピングシーケンスの第1のセグメント内の最初の2つの位置、またはホッピングシーケンスの最終セグメント内の最後の2つの位置の入れ替えを含む。
【0004】
ホッピングシーケンスの1以上のセグメント境界点は、ホッピングシーケンスのあるセグメントの最後の位置がこのホッピングシーケンスの次のセグメントの最初の位置と同じチャネル番号であるとき、調整される。ホッピングシーケンスの1以上のセグメント境界点の調整は、ホッピングシーケンスのセグメントの最後の2つの位置、またはこのホッピングシーケンスの次のセグメントの最初の2つの位置を入れ替えることを含む。ノードは、ホッピングシーケンス内の境界点を全て調べて、調整が必要であるかどうかを判断することができる。ノードは、ネットワーク経由で通信を行うためにホッピングシーケンスを用いてそのネットワークインターフェースを構成する。ネットワークインターフェースを構成する代わりに、ノードは、後に予想されるネットワークインターフェースの構成に用いることができるよう、チャネルホッピングシーケンスを格納することができる。
【図面の簡単な説明】
【0005】
本開示における多くの態様は、以下の図面を参照してよりよく理解することができる。各図における構成要素は、本開示の原理を明確に図示することを重視し、必ずしも縮尺通りとはなっていない。また、図面において、いくつかの図を通じて対応する部分には同一の参照番号を付している。
図1図1は、本開示の様々な実施形態によるメッシュネットワークの図である。
図2図2は、様々なシーケンスの一図であり、本開示の各種実施形態にかかるチャネルホッピングシーケンスの生成に用いることができる動作を示す。
図3図3は、様々なシーケンスの一図であり、本開示の各種実施形態にかかるチャネルホッピングシーケンスの生成に用いることができる動作を示す。
図4図4は、様々なシーケンスの一図であり、本開示の各種実施形態にかかるチャネルホッピングシーケンスの生成に用いることができる動作を示す。
図5図5は、本開示の様々な実施形態にかかるメッシュネットワークの別の図である。
図6図6は、本開示の様々な実施形態にかかる図1のメッシュネットワークにおいて、ノードなどのネットワーク装置によって実施される機能の一例を説明するフローチャートである。
図7図7は、本開示の様々な実施形態にかかる図1のメッシュネットワークにおいて用いられるノードを示す一例の概略ブロック図である。
【発明を実施するための形態】
【0006】
本発明は、ネットワークにおいて用いられる最適化されたチャネルホッピングシーケンスを生成するシステムおよび方法に関する。ノードまたはコレクタなどのネットワーク装置は、少なくとも部分的にシード値に基づいてチャネル番号のシーケンスを生成する。ネットワーク装置は、これらのシーケンスを連結してホッピングシーケンスを形成し、シーケンスのそれぞれがホッピングシーケンスのセグメントとなる。ホッピングシーケンスの端点およびセグメント間の1以上の境界点の位置が調べられて、隣接する位置で同じチャネル番号が現れるかどうかが判断される。もし現れる場合、隣接する反復チャネル番号の少なくとも一方の位置が調整され、チャネル番号が分離される。その後、ネットワーク装置は、ホッピングシーケンスを格納および/または使用して、ネットワークを介して通信を行うためにそのネットワークインターフェースを構成することができる。
【0007】
本明細書において、「ノード」は、メッシュネットワークにおいてメッセージの配信に関する機能を果たすことができるインテリジェント装置を含む。あるシステムでは、ノードは、一戸建て家屋または集合住宅などの施設にある、ガス、水道、または電力などの資源の消費量を測定するメータであってもよい。このようなメータは、advanced
metering infrastructure(AMI)や無線周波数(RF)ネットワークの一部であってもよい。ノードの他の例としては、ネットワークに接続されて、通信チャネルを介して情報を送受信または転送することができる、ルータ、コレクタ、収集点、ホストコンピュータ、ハブ、またはその他の演算装置(computing device)がある。
【0008】
ノードは、本発明の実施例における機能を可能とする複数の構成要素を含んでいてもよい。例えば、ノードは、このノードがメッシュネットワーク内の同様のノードおよび/または他の装置と通信することを可能にすることができる無線機を含んでもよい。各ノードの無線機は、無線機をコンピュータのように機能させるプログラマブルロジックコントローラ(PLC)のような装置を有することができ、コンピュータおよびコマンド機能を実行し本明細書に記載の本発明の実施を提供することができる。また、ノードは、他のノードとの通信に関する情報を保存する記憶媒体を含んでもよい。このような記憶媒体は、例えば、ノードの内部に設けられた、またはネットワークを介してノードがアクセス可能な、メモリ、フロッピーディスク、CD−ROM、DVD、またはその他のメモリ装置を含んでもよい。また、ノードは、計時を行う水晶発振器(すなわち、クロック)と、バックアップ電源となるバッテリーとを含んでもよい。ノードには、バッテリーのみで電力供給されるものがあってもよい。
【0009】
ノードは、メッシュネットワーク内の他のノードと、いくつかの周波数チャネルを介して通信することができる。同じチャネルホッピングシーケンスを共有する、すなわち、周波数間を同時にホップするノードは、同じ周波数を介して互いに通信することができる。よって、TSCHネットワークにおいては、ノードは、その時々においてホップし、利用可能な周波数スペクトル、例えば、例示の実施例によれば4つのチャネルを介して、他のノードとの通信を確立することができる。ノードは、例えば700ミリ秒など、一定の時間増加または滞留時間に応じてホップすることができ、このとき、ノードは任意のチャネルまたは周波数を介してメッセージを送受信することができる。用いられるホッピングシーケンスの長さは、ホッピングシーケンスにおいていくらかの重複を促すために、チャネル数の倍数であってもよい。例えば、チャネルが4つある場合には、ホッピングシーケンスの長さは12などの4の倍数とすることができ、ホッピングシーケンスが12のスロットまたは位置を有するようにしてもよい。これにより、非干渉のランダム化を行いつつ、地理的に近いコレクタのホッピングシーケンス内にある程度の重複が発生する可能性が高くなる。
【0010】
本明細書において、「コレクタノード」は、ネットワーク内、およびこのネットワークとコントロールセンターなどの他のネットワークとの間で、特定のルートでメッセージを転送するために用いられるノードを指す。ノードは、任意のコレクタのネットワークの一部であるとき、このコレクタ上で「アクティブ」になる、またはこのコレクタに「関連」付けられているということができる。
【0011】
本明細書において、「ステータスデータ」はメッセージまたはメッセージのシーケンス中で伝達される情報を指し、ノードは、このメッセージまたはメッセージのシーケンスから任意のコレクタに関連付けられたネットワークステータス情報を獲得することができる。ステータスデータは、ノードによって、コレクタから直接的にまたは1以上の介在ノードを介して、受信されてもよい。IEEE802.15.4eによって定義されるネットワークの実施形態のいくつかでは、ステータスデータはビーコンによって伝達されてもよい。ビーコンは、スケジュール駆動型および/またはイベント駆動型ベースで送信されてもよい。
【0012】
本明細書において、「チャネルホッピングシーケンス」または単に「ホッピングシーケンス」は、チャネルホッピングネットワークを介して通信を行うために装置によって使用されるチャネルのシーケンスを指す。チャネルホッピングシーケンスは、チャネル番号のシーケンスを2つ以上連結を含んでもよく、このシーケンスは、それぞれ、チャネルホッピングシーケンスの「セグメント」と呼ぶことができる。
【0013】
本明細書において、「セグメント境界」は、2つのシーケンスが連結されてチャネルホッピングシーケンスの全てまたは一部を形成するポイントを指す。すなわち、チャネルホッピングシーケンスの2つのセグメントが接するポイントである。各セグメント境界において、チャネルホッピングシーケンスのセグメントの最後の位置が、チャネルホッピングシーケンスの次のセグメントの最初の位置に論理的に隣接している。
【0014】
本明細書において、チャネルホッピングシーケンスの「端点」は、チャネルホッピングシーケンスの最初と最後の位置を指す。
【0015】
ここで図面を参照すると、図1は、本明細書に記載の動作を実施するよう構成された例示的メッシュネットワーク10を示す。メッシュネットワーク10は、コレクタノード19と、無線ノード21〜28と、ステータスデータ119と、場合によってはその他の図示しない構成要素とを含む。コレクタノード19は、ノード21〜28がノードと関連付けられた施設におけるガス、水道、または電力などの消費量の測定値などの情報を送信することができる収集点として機能することができる。すでに述べたように、ノード21〜28は、メッシュネットワーク内の他のノードと通信してこの通信を容易にするための高度な決定を行うための、ネットワークおよびコンピュータとしての十分な性能を備えることができる。
【0016】
コレクタノード19は、少なくともノード21〜28と同じ機能および性能を有するよう構成することができる。また、コレクタノード19は、ノード21〜28からの情報を保存する十分なストレージ性能を備えてもよく、いくつかの例では、ノードから受信した情報を処理するためのより高い計算能力を備えてもよい。他の例では、ノードから受信した情報の処理に、コマンドセンターまたは計算装置(不図示)を用いてもよい。
【0017】
ネットワーク10のステータスデータ119は、コレクタ19によって発信され、ノード28などのノード候補によってネットワーク10を見つけるために用いられてもよく、またノード21〜27など、ネットワークにおいて現在アクティブなノード間の同期を維持するために用いられてもよい。ステータスデータ119の情報は、1以上のネットワーク識別子、シード値、時間同期データ、および/または認識され得るその他のステータス情報を含むことができる。ネットワーク識別子は、ステータスデータ119が関連付けられているネットワーク10を識別する。シード値は、ネットワークに加わろうとしているノード候補によりネットワーク10のチャネルホッピングシーケンスを導出することを可能にする。時間同期データは、ネットワークのノードが各ノードの無線機によって使用されるクロック間の同期を維持することを可能にする。ステータスデータ119の一例が、ビーコンまたは高度ビーコンである。
【0018】
次に、ネットワーク10のコレクタ19および/またはノード21〜28において実施されるチャネルホッピングシーケンスの生成に関する動作について、例示的に説明する。説明の便宜上、ノード28で行われる動作について説明するが、ネットワーク10のいずれの装置においても類似の動作が行われることは言うまでもない。まず、ノード28は、コレクタ19またはコレクタ19に接続されたノードからステータスデータ119を受信する。ステータスデータ119は、スケジュール駆動型および/またはイベント駆動型ベースで、ネットワーク10の1以上のチャネルで送信されてもよい。ステータスデータ119が受信される時点では、ノード28は、どのネットワークとも関連付けられてなくてよく、ネットワーク10とは別のネットワークと関連付けられていてもよい。ノード28は、時間経過で変化する1以上のチャネルを走査することにより、指示されたチャネルを受け付けることにより、および/またはその他考えられる技術を介して、ノード28が未だアクティブとなっていないネットワークであるネットワーク10のステータスデータ119を得ることができる。
【0019】
ノード28は、ステータスデータ119からネットワーク10のシード値を取得することができる。コレクタ19などのコレクタは、任意のネットワークのステータスデータの送信を開始することができる。チャネルホッピングシーケンスを生成する必要があるのがノードではなくコレクタである場合、シード値は、まずコレクタによって生成されてもその他の動作によって生成されてもよい。シード値とシーケンスに含まれることになるチャネル番号とを用いて、図2に示すように複数のチャネル番号のシーケンスを生成することができる。図2に示す例では、3つのシーケンスが示されており、各シーケンスはチャネル4〜7の4つのチャネルから構成されている。様々な実施形態において、シーケンス生成動作は、シーケンス内でチャネル番号を繰り返さない、全シーケンスが固定長である、最小シーケンス長、シーケンスのそれぞれは利用可能なチャネルのセットを全て使用する、各シーケンスは異なるシード値を用いて生成される、および/またはその他考えられる特徴などの、様々な特徴の1以上を有するシーケンスを生成するよう構成することができる。
【0020】
本開示を通じて、説明例では、生成されたシーケンスが、各シーケンス内で繰り返すチャネルがない、および各シーケンスは少なくとも3つのチャネルからなるという特徴を有するものとしている。シード値は、多項式関数などの予めプログラムされた数学的動作を用いて実施されてシーケンスを生成する、1以上の「シーケンス生成部」との組み合わせで用いられてもよい。シーケンス生成部の一例として、多項式関数(x16+x11+1)を実施し、シード値を入力として用いてシーケンスを生成する、リニアフィードバックシフトレジスタ(LFSR)がある。異なるシード値を用いて各シーケンスを生成する場合には、シード値は、ステータスデータ119内に形成されてもよく、または単一のシード値からその他の予めプログラムされた数学的動作によって導出されてもよい。後者の例として、ノードは、ステータスデータ内で受信したシード値を用いて第1シーケンスを生成し、第1シード値を4ビットシフトした第2シード値を用いて第2シーケンスを生成し、第2シード値にビット単位のNOT操作を行った第3シード値を用いて第3シーケンスを生成する、等を行ってもよい。
【0021】
その後、図3に示すように、ノード28は、様々なシーケンスを連結してチャネルホッピングシーケンスを構成することができる。図3に示すホッピングシーケンスは、図2に示す3つのシーケンスの考えられる連結の結果である。ホッピングシーケンスを構成する連結された個々のシーケンスは、それぞれ、ホッピングシーケンスの「セグメント」と呼ぶことができる。この段階では、ホッピングシーケンスはホッピングシーケンス候補と呼ばれるが、これはまだノード28によって調べられておらず、連結の結果隣接する反復チャネルが存在するかどうかが判断されていないためである。もし存在するのであれば、隣接する反復チャネル番号の少なくとも一方の位置が調整され、チャネル番号が分離される。隣接する反復チャネルを有するホッピングシーケンスでは、干渉の低減など、チャネルホッピングを実施する利点が損なわれることがある。結果として、繰り返されるシーケンスに隣接するチャネルのないホッピングシーケンスが望ましい。
【0022】
図3に示す例では、ホッピングシーケンスの同じチャネルに隣接したチャネルを強調しており、これらは位置1と12、位置4と5、および位置8と9に発生している。なお、ネットワーク10などのネットワークにおいて採用される場合、ホッピングシーケンスの使用は、通常、ホッピングシーケンスの最後の位置にあるチャネルを用いた後に同じホッピングシーケンスの最初の位置にあるチャネルが使用されるといったように、環状に繰り返される。このような構成を踏まえると、ホッピングシーケンスの最初と最後の位置は、隣接する反復チャネルを除去するという目的においては、隣接する位置と考えられる。
【0023】
続けて、図4に、図3に示す隣接する反復チャネルを除去するためにホッピングシーケンスに行うべき調整の、考えられる例を示す。図3のホッピングシーケンスの最初と最後の位置(すなわち、位置1および12)に現れる隣接する反復チャネル4を除去するため、図4のホッピングシーケンスの最後の2つの位置(すなわち、位置11および12)における強調したチャネルを入れ替えた。図3のホッピングシーケンスのセグメント1および2の間の境界(すなわち、位置4および5)で隣接する反復チャネル6を除去するため、図4のセグメント1の最後の2つの位置(すなわち、位置3および4)の強調表示したチャネルを入れ替えた。
【0024】
同様に、図3のホッピングシーケンスのセグメント2および3の間の境界(すなわち、位置8および9)で隣接する反復チャネル7を除去するため、図4のセグメント2の最後の2つの位置(すなわち、位置7および8)の強調表示したチャネルを入れ替えた。なお、図4では特定の位置を選択して入れ替えているが、図6との関連で本明細書に開示するように、代わりにその他の位置を入れ替えて同等の結果となるよう特定の隣接する反復を除去することもできる。適切に相互運用を行うために、隣接する反復チャネルを取り除くために適用される特定の位置入れ替え動作には、ネットワーク10のノード21〜28およびその他の装置の間で一貫性を持たせるべきである。
【0025】
チャネルホッピングシーケンスに調整を行う際、ノード28は、ネットワーク10上で通信を行うためのネットワークインターフェースをホッピングシーケンスを用いて構成してもよい。ある実施形態においては、ノード28は、図5の例に示すように、ホッピングシーケンスを後で利用するために保存してもよい。図5に、図1に関連して上述したコレクタ19、ノード21〜28、ステータスデータ119を示す。ただし、図5では、ノード28は、ステータスデータ119のシード値から引き出されたネットワーク10のホッピングシーケンスとのネットワークインターフェースを構成した後、ノード25とのリンクを介して、ネットワーク10に加わっている。加えて、図5は、コレクタ519とノード529〜531からなる別のネットワーク500を含んでいる。ネットワーク500のステータスデータ520は、コレクタ519によって発信され、ノード28などのノード候補によって近傍のネットワーク500を見つけるために用いられてもよく、またノード529〜531などのネットワーク500において現在アクティブなノード間の同期を維持するために用いられてもよい。
【0026】
ネットワーク10上でアクティブである間、ノード28は、ネットワーク10のホッピングシーケンスに従うことができる。しかし、ノード28は、ノード28がアクティブとなっていないネットワークであるネットワーク500のステータスデータ520を、2つのネットワークのチャネルのある時点での確率的な重複、指示されたチャネルを周期的に受け付けること、および/またはその他考えられる技術を介して、得ることができる。2つのネットワーク間でのチャネルの重複は、ネットワーク10とネットワーク500のチャネルホッピングシーケンスにおいて、同一期間に同じチャネルが利用される結果として起こることがある。ランダム化した長いチャネルホッピングシーケンスを使用することの利点の一つが、これによってチャンネルがときおり重複する可能性が高まり、ノードが近傍にある他のネットワークを見つけることができるということである。これらの近傍のネットワークは、任意のノードが現在アクティブであるネットワークからのフェイルオーバーを選択および/または性能を向上させることができる。
【0027】
例えば、一定時間から開始して、ネットワーク10のホッピングシーケンスが[4 5 6
7 6 4 7 5 7 6 4 5]、ネットワーク500のホッピングシーケンスが[5 6 7 4 5 7 4 6 7 5 6 4]であってもよい。これら2つのホッピングシーケンスにおいて、上に強調して示したように両方のネットワークがチャネル7を使用しているシーケンスの9番目の位置を除いては、チャネルは、12の位置それぞれで異なっている。この時にネットワーク500から送信されるならば、この間、ノード28はネットワーク500のステータスデータ519を受信してもよい。ステータスデータ519がシード値と合わせて受信されると、本明細書で開示するように、ノード28はネットワーク500のホッピングシーケンスを導出することができる。その後、ノード28はネットワーク500のホッピングシーケンスを保存してもよく、これを後で用いてノード28のネットワークインターフェースを構成することができる。いくつかの実施形態において、ノード28は、ステータスデータ500に含まれ得るその他の様々なデータを用いて、ネットワーク500の性能を現在のネットワーク10と比較してより好ましいネットワークを選択してもよく、および/または、ネットワーク10が中断された場合には、ネットワーク500が適切なフェイルオーバー選択であるかどうかを判断してもよい。
【0028】
次に図6を参照すると、ネットワーク10などの様々な実施形態にかかるTSCHネットワークにおいて、コレクタおよび/またはノードの方法600のチャネルホッピングシーケンス生成動作の一例を示すフローチャートを示す。図6のフローチャートが、本明細書で説明する方法600のネットワーク最適化動作を実施するために採用し得る、数多くのタイプの異なる機能構成の一例に過ぎないことは言うまでもない。図6のフローチャートに示す例示的な動作は、ネットワークのコレクタおよび/またはノードによって、シード値を得た後、開始される。上述の通り、ノード21〜28などのノードは、ネットワーク用に送信されるステータスデータからシード値を得てもよい。コレクタ19などのコレクタは、シード値をローカルで生成してもよく、またはシード値を含むよう構成されてもよく、コレクタによって編成されたネットワークのステータスデータ中のシード値を送信することになる。
【0029】
ブロック603から始めると、方法600は、少なくとも部分的にシード値に基づいて、チャネル番号のシーケンスを複数生成する。シード値は、シーケンスを生成するよう、1以上の予めプログラムされた数学的動作と組み合わせて用いられてもよい。様々な実施形態において、シーケンス生成動作は、シーケンス内でチャネル番号を繰り返さない、全シーケンスが固定長である、最小シーケンス長、シーケンスのそれぞれは利用可能なチャネルのセットを全て使用する、各シーケンスは異なるシード値を用いて生成される、および/またはその他考えられる特徴などの、様々な特徴の1以上を有するシーケンスを生成するよう構成することができる。異なるシード値を用いて各シーケンスを生成する場合には、シード値は、ネットワークのステータスデータ内に形成されてもよく、または単一のシード値から導出されてもよい。例えば、シーケンス1=[1 2 3]、シーケンス2=[3 2 1]、シーケンス3=[2 3 1]のように、それぞれ3つのチャネル番号を有するシーケンスを3つ生成してもよい。
【0030】
次に、ブロック606において、様々なシーケンスが連結してチャネルホッピングシーケンスをする。チャネルホッピングシーケンスを形成構成する連結された個々のシーケンスは、それぞれ、チャネルホッピングシーケンスの「セグメント」と呼ぶことができる。この段階では、ホッピングシーケンスは、ホッピングシーケンス候補と呼ばれるが、これはまだ調べられておらず、連結の結果隣接する反復チャネルが存在するかどうか判断されていないためである。隣接する反復チャネルが存在する場合、隣接する反復チャネル番号の少なくとも一方の位置が調整され、チャネル番号が分離される。隣接する反復チャネルを有するチャネルホッピングシーケンスでは、干渉の低減など、チャネルホッピングを実施する利点が損なわれることがある。結果として、繰り返されるシーケンスに隣接するチャネルのないホッピングシーケンスが望ましい。例えば、上の例で考えられる3つのシーケンスの連結(シーケンス1+シーケンス2+シーケンス3)の結果、[1 2 3 3 2 1 2 3 1]というホッピングシーケンスが形成される。
【0031】
続けて、ブロック609において、ホッピングシーケンスを調べてホッピングシーケンスの最初と最後の位置に同じチャネルがあるかどうかを判断する。なお、ネットワーク10などのネットワークにおいて採用される場合、ホッピングシーケンスの使用は、通常、ホッピングシーケンスの最後の位置にあるチャネルを用いた後に同じシーケンスの最初の位置にあるチャネルが使用されるといったように、環状に繰り返される。このような構成を踏まえると、ホッピングシーケンスの最初と最後の位置は、隣接する反復チャネルを除去するという目的においては、隣接する位置と考えられる。ホッピングシーケンス[1 2 3 3 2 1 2 3 1]を有する上の例に戻ると、ホッピングシーケンスの最初と最後の強調表示した位置でチャネル1が繰り返されている。
【0032】
ホッピングシーケンスの最初と最後の位置で同じチャネルが検出されると、方法600はブロック612へ進む。あるいは、ホッピングシーケンスの最初と最後の位置で異なるチャネルが検出されると、方法600はブロック615へ進む。ブロック612において、方法600は、ホッピングシーケンスの第1のセグメントの最初の2つの位置またはホッピングシーケンスの最終セグメントの最後の2つの位置を入れ替える。上の例に戻ると、ホッピングシーケンスを、第1のセグメントの最初の2つの位置を強調表示のように調整して[2 1 3 3 2 1 2 3 1]となるように調整、または最終セグメントの最後の2つの位置を強調表示のように調整して[1 2 3 3 2 1 2 1 3]となるように調整する。なお、適切に相互運用を行うために、隣接する反復チャネルを取り除くために適用される特定の位置入れ替え動作には、ネットワークのノード、コレクタ、およびその他の装置の間で一貫性を持たせるべきである。
【0033】
次に、ブロック615において、方法600は、あるセグメントの最後の位置と次のセグメントの最初の位置に同じチャネルがあるかどうかを判断する。それぞれチャネルを3つ有するセグメント3つから最初に生成されるホッピングシーケンス[2 1 3 3 2 1 2 3 1]の例で続けると、第1のセグメントの最後の位置と第2のセグメントの最初の位置で、強調表示したようにチャネル3が繰り返されている。あるセグメントの最後の位置と次のセグメントの最初の位置に同じチャネルが存在する場合、方法600はブロック618へ進む。あるいは、あるセグメントの最後の位置と次のセグメントの最初の位置で異なるチャネルが検出されると、方法600はブロック621へ進む。
【0034】
ブロック618において、方法600は、ホッピングシーケンスのあるセグメントの最後の2つの位置またはホッピングシーケンスの次のセグメントの最初の2つの位置を入れ替える。上の例に戻ると、ホッピングシーケンス[2 1 3 3 2 1 2 3 1]を、第1のセグメントの最後の2つの位置を強調表示のように調整して[2 3 1 3 2 1 2 3 1]となるように調整、または最終セグメントの最初の2つの位置を強調表示のように調整して[1 2 3 2 3 1 2 1 3]となるように調整する。なお、適切に相互運用を行うために、隣接する反復チャネルを取り除くために適用される特定の位置入れ替え動作には、ネットワークのノード、コレクタ、およびその他の装置の間で一貫性を持たせるべきである。
【0035】
次に、ブロック621において、方法600は、ホッピングシーケンス内に調べるべきセグメント境界がまだ残っているかどうかを判断する。3つのシーケンスが連結して生成されたホッピングシーケンスの例に戻ると、第1および第2のセグメント間の第1のセグメント境界が調べられて調整されたが、ホッピングシーケンスの第2および第3のセグメント間にもさらにセグメント境界が存在する。ただし、ホッピングシーケンス[2 3 1 3 2 1 2
3 1]を用いる場合は、強調表示した第2および第3のセグメントの境界位置には同じチャネルが存在しないため、これ以上調整を行う必要はない。
【0036】
続けて、調べるべきセグメント境界が残っていれば、方法600の実行はブロック615に戻る。あるいは、方法600の実行はブロック624へ進む。ブロック624において、方法600は、隣接する反復チャネルを取り除くよう調整されたホッピングシーケンスを用いて、ネットワーク内の同じくホッピングシーケンスを用いる他の装置と通信するネットワークインターフェースを構成してもよい。ある実施形態において、ノードまたはその他の装置は、まず、後に予想される使用のためにホッピングシーケンスを保存してもよい。
【0037】
次に、無線メッシュネットワークまたはその他のデータネットワークにおいて、本明細書に開示する技術を実施するために用いられるノード21〜28の例を示すブロック図を、図7に示す。ノード21〜28は、処理装置702を含んでもよい。処理装置702の非限定的な例には、マイクロプロセッサ、特定用途向け集積回路(「ASIC」)、ステートマシン、その他の適した処理装置などがある。処理装置702は、1を含む任意の数の処理装置を含んでもよい。処理装置702は、メモリデバイス704などのコンピュータ読取可能媒体に通信可能に連結することができる。処理装置702は、メモリデバイス704に格納されたコンピュータ実行可能プログラムのインストラクションを実行、および/またはメモリデバイス704にそれぞれ格納された情報にアクセスすることができる。
【0038】
メモリデバイス704は、処理装置702によって実行されると本明細書に記載された動作を処理装置702に行わせるインストラクションを格納してもよい。メモリデバイス704は、電子、光学、磁気、またはその他のメモリ装置などの(ただしこれに限定されない)、プロセッサにコンピュータ読取可能なインストラクションを与えるコンピュータ読取可能媒体であってもよい。このような光学、磁気、またはその他のメモリ装置の非限定的な例として、リードオンリー(「ROM」)装置、ランダムアクセスメモリ(「RAM」)装置、磁気ディスク、磁気テープ、またはその他の磁気ストレージ、メモリチップ、ASIC構成のプロセッサ、光学メモリ装置、またはコンピュータプロセッサがインストラクションを読み取ることができるその他任意の媒体がある。インストラクションは、任意の適切なコンピュータプログラム言語で記述されたコードから、コンパイラおよび/またはインタープリターによって生成された、特定プロセッサ用インストラクションを含んでおよい。適切なコンピュータプログラム言語の非限定的な例として、C言語、C++、C#、Visual Basic、Java(登録商標)、Python、Perl、JavaScript(登録商標)、等がある。
【0039】
ノード21〜28は、ノード21〜28の1以上の構成要素を通信可能に連結することができるバス706を含んでもよい。プロセッサ702、メモリ704、およびバス706は、図7では互いに通信可能な別構成要素として描かれているが、別の形で実施することも可能である。例えば、プロセッサ702、メモリ704、およびバス706は、ノード21〜28に配置してプログラムコードを格納および実行することのできるプリント回路基板またはその他の適切な装置の構成要素であってもよい。
【0040】
また、ノード21〜28は、ネットワークインターフェース装置708を含んでもよい。ネットワークインターフェース装置708は、アンテナ710を介して1以上の無線通信リンクを確立するよう構成された送受信装置とすることができる。ネットワークインターフェース装置708の非限定的な例の一つが無線トランシーバーであり、メッシュネットワーク10内の他のノード21〜28との間で無線通信リンクを確立する1以上の構成要素を含むことができる。
【0041】
本明細書においては、請求の主題の十分な理解を与えられるよう、数多くの具体的詳細を説明している。しかしながら、請求の主題がこれらの具体的詳細を欠いても実現可能であることは、当業者には言うまでもないことであろう。当業者に知られるその他の例、方法、装置、またはシステムについては、請求の主題を曖昧なものにしないためにも詳細な説明を省いている。
【0042】
コンピュータメモリなどのコンピュータシステムメモリに格納されるデータビットや2値デジタル信号での動作のアルゴリズムや記号表現との関連で、提示する部分もある。これらのアルゴリズム的記述または表現は、データ処理分野の当業者によって仕事の内容を別の当業者に伝達するために用いられる技術の例である。アルゴリズムは、所望の結果をもたらすための、首尾一貫した動作のシーケンスまたは類似の処理である。この文脈では、動作または処理は、物理量の物理的操作を含むものである。必須ではないが、通常、このような物理量は、保存、転送、結合、比較、またはその他の操作を行うことが可能な電気または磁気信号の形をとる。主として一般的な用法上の理由から、このような信号を、ビット、データ、数値、要素、記号、文字、用語、番号、数字、等と呼ぶことが、時に便利であることがわかっている。しかしながら、これら全ておよび類似の用語が適切な物理量と関連付けられるべきものであり、単に便利なラベルにすぎないことは言うまでもない。特に記載がない限り、本明細書を通じて、「処理」「演算」「計算」「判断」「識別」等の用語を用いた議論は、メモリ、レジスタ、またはその他のメモリ装置内の物理的な電子量または磁気量として表現されるデータの操作または変換を行う1以上のコンピュータまたは類似の電子計算装置などの計算装置、送信装置、またはコンピュータプラットフォームの表示装置の、動作または処理を指すものであることは言うまでもない。
【0043】
本明細書で論じたシステムまたは複数のシステムは、特定のハードウェア構造や構成に限定されるものではない。計算装置は、1以上の関数呼び出しによって条件付けられる結果をもたらす構成要素の任意の適切な配列を含んでもよい。適切な計算装置は、本主題の1以上の態様を実施するものである汎用演算装置から専用演算装置までを含む演算システムをプログラムするまたは構成する格納されたソフトウェアにアクセスする、多目的マイクロプロセッサベースのコンピュータシステムを含むことができる。任意の適切なプログラム、スクリプト、またはその他のタイプの言語、または言語の組み合わせを用いて、計算装置のプログラムまたは構成に用いられることになるソフトウェアにおいて、本明細書に記載の技術を実施することができる。
【0044】
本開示の方法の態様は、このような計算装置の動作において行うことができる。上の例で提示されたブロックの順番は、例えばブロックの並び替え、結合、および/またはサブブロックへの分解など、変更可能である。いくつかのブロックまたは処理を並行して行うこともできる。
【0045】
本明細書における「に適している」または「よう構成される」の使用は、非限定的かつ包括的な言語を意味し、追加的なタスクやステップを行うことに適したりそのように構成されたりする装置を除外するものではない。加えて、「基づく」の使用は、非限定的かつ包括的な意味であり、1以上の規定の条件または値に「基づく」プロセス、ステップ、計算、またはその他の動作は、実際には、規定外の追加的な条件または値に基づいてもよい。本明細書の見出し、リスト、および番号は、単に説明をわかりやすくするためのものであり、限定を意味するものではない。
【0046】
本明細書の主題をその具体的な態様に関連して詳細に説明したが、先の説明の理解が得られるならば、これらの態様の修正例、変形例、およびその等価例を容易に生み出すことができることは、当業者には言うまでもない。したがって、本開示は、限定ではなく例示を目的として提示されたものであり、当業者には容易にわかるように、本明細書の主題に対する修正、変形、および/または追加の包含を除外するものではないことは、言うまでもない。
図1
図2
図3
図4
図5
図6
図7