(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【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以上の「シーケンス生成部」との組み合わせで用いられてもよい。シーケンス生成部の一例として、多項式関数(x
16+x
11+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】
本明細書の主題をその具体的な態様に関連して詳細に説明したが、先の説明の理解が得られるならば、これらの態様の修正例、変形例、およびその等価例を容易に生み出すことができることは、当業者には言うまでもない。したがって、本開示は、限定ではなく例示を目的として提示されたものであり、当業者には容易にわかるように、本明細書の主題に対する修正、変形、および/または追加の包含を除外するものではないことは、言うまでもない。