(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-28
(54)【発明の名称】非同期チャンネルホッピングメッシュネットワークにおけるブロードキャスト滞留期間の過負荷
(51)【国際特許分類】
H04W 72/0446 20230101AFI20240321BHJP
H04W 72/044 20230101ALI20240321BHJP
H04W 84/18 20090101ALI20240321BHJP
【FI】
H04W72/0446
H04W72/044 110
H04W84/18
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023563967
(86)(22)【出願日】2022-04-13
(85)【翻訳文提出日】2023-12-18
(86)【国際出願番号】 US2022024658
(87)【国際公開番号】W WO2022225769
(87)【国際公開日】2022-10-27
(32)【優先日】2021-04-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523325484
【氏名又は名称】ランディス・ギア・テクノロジー・インコーポレイテッド
【氏名又は名称原語表記】LANDIS+GYR TECHNOLOGY, INC.
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】ヘット,クリストファー
(72)【発明者】
【氏名】ハンリー,ジェイムズ パトリック
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067EE02
5K067EE25
5K067HH23
5K067HH28
(57)【要約】
ノードは、無線トランシーバおよびメモリに結合されたプロセッサを含む。メモリには、プロセッサにブロードキャストチャネルホッピングタイミング期間およびブロードキャストチャネルホッピングシーケンス、ならびに監視隣接ノードのためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを格納させることができる命令が含まれる。命令により、プロセッサはユニキャストメッセージの宛先ノードが監視隣接ノードに対応するか否かを判断できる。宛先ノードがいずれの監視隣接ノードにも対応しないという判断に基づいて、プロセッサは、(i)ブロードキャストチャネルホッピングタイミング期間に基づいてブロードキャスト滞留期間を、および(ii)ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定できる。さらに、命令により、プロセッサはブロードキャスト滞留期間中に宛先ノードにユニキャストメッセージを送信できる。
【特許請求の範囲】
【請求項1】
プロセッサと、
前記プロセッサに通信可能に結合され、チャネルホッピングタイミング期間およびチャネルホッピングシーケンスに基づいて通信を受信するように構成された無線トランシーバと、
前記プロセッサに通信可能に結合されたメモリであって、前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサは、
ブロードキャストチャネルホッピングタイミング期間およびブロードキャストチャネルホッピングシーケンスを格納し、
複数の監視隣接ノードのそれぞれのためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを格納し、
ユニキャストメッセージの宛先ノードが前記複数の監視隣接ノードのいずれかに対応するか否かを判断し、
前記宛先ノードが前記複数の監視隣接ノードのいずれにも対応しないという判断に基づいて、(i)前記ブロードキャストチャネルホッピングタイミング期間に基づいて次のブロードキャスト滞留期間を、および(ii)前記ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定し、
前記次のブロードキャスト滞留期間中に前記宛先ノードに前記ユニキャストメッセージを送信する、
命令を含む、メモリと、
を備える、ノード。
【請求項2】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、
前記次のブロードキャスト滞留期間中に前記次のブロードキャストチャネルを介して前記宛先ノードに前記ユニキャストメッセージを送信する、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項3】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、前記宛先ノードに前記ユニキャストメッセージを送信する前に、
前記次のブロードキャスト滞留期間中のブロードキャストトラフィックを検出し、
前記ブロードキャストトラフィックの検出に応答して、前記次のブロードキャスト滞留期間の後まで前記ユニキャストメッセージの送信を遅らせる、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項4】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、前記宛先ノードに前記ユニキャストメッセージを送信する前に、
前記次のブロードキャスト滞留期間中のブロードキャストトラフィックを検出し、
前記ブロードキャストトラフィックの検出に応答して、前記次のブロードキャスト滞留期間後まで前記ユニキャストメッセージの送信を中止する、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項5】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、
前記ユニキャストメッセージの前記宛先ノードからNACKメッセージを受信し、
前記NACKメッセージの受信に応答して、前記ユニキャストメッセージを再送信する、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項6】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、
前記ユニキャストメッセージの前記宛先ノードからのACKメッセージの受信の失敗を判断し、
前記ACKメッセージの受信の失敗の判断に応答して、前記ユニキャストメッセージを再送信する、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項7】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、
前記宛先ノードからNACKメッセージを受信し、
前記NACKメッセージの受信に応答して、後のブロードキャスト滞留期間中に前記ユニキャストメッセージを再送信する、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項8】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、
前記宛先ノードからのACKメッセージの受信の失敗を判断し、
前記ACKメッセージの受信の失敗の判断に応答して、後のブロードキャスト滞留期間中に前記ユニキャストメッセージを再送信する、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項9】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、
前記宛先ノードが前記複数の監視隣接ノードの1つに対応するという判断に基づいて、前記複数の監視隣接ノードのうちの監視隣接ノードのためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスに基づいてユニキャスト滞留期間を決定し、
前記ユニキャスト滞留期間中に前記宛先ノードに前記ユニキャストメッセージを送信する、
命令を前記メモリはさらに含む、請求項1に記載のノード。
【請求項10】
前記プロセッサにより実行可能な命令であって、前記プロセッサが実行すると、前記プロセッサが、
前記宛先ノードが前記複数の監視隣接ノードの隣接ノードに対応しないという判断に基づいて、前記宛先ノードのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを要求し、
前記宛先ノードのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを受信し、
前記宛先ノードのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを加えることで前記複数の監視隣接ノードのリストを更新する、
命令を前記メモリはさらに含み、
前記複数の監視隣接ノードの前記リストは、前記複数の監視隣接ノードのそれぞれのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを含む、
請求項1に記載のノード。
【請求項11】
非同期チャネルホッピング無線ネットワークにおいてユニキャストメッセージを送信する方法であって、
ノードが、前記ノードのための第1チャネルホッピングタイミング期間および第1チャネルホッピングシーケンスを格納することであって、前記ノードは、無線トランシーバおよびプロセッサを備え、前記ノードの前記無線トランシーバは、前記第1チャネルホッピングタイミング期間および前記第1チャネルホッピングシーケンスに基づいて通信を受信するように構成される、格納することと、
前記ノードが、ブロードキャストチャネルホッピングタイミング期間およびブロードキャストチャネルホッピングシーケンスを格納することと、
前記ノードが、複数の監視隣接ノードのそれぞれのための複数のチャネルホッピングタイミングおよびチャネルホッピングシーケンスを格納することと、
前記ノードが、前記ノードで保留しているユニキャストメッセージの宛先ノードが前記複数の監視隣接ノードのいずれかに対応するか否かを判断することと、
前記ユニキャストメッセージの前記宛先ノードが前記監視隣接ノードのいずれにも対応しないという判断に基づいて、前記ノードが、(i)前記ブロードキャストチャネルホッピングタイミング期間に基づいて次のブロードキャスト滞留期間を、および(ii)前記ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定することと、
前記ノードが、前記次のブロードキャスト滞留期間中に前記宛先ノードに前記ユニキャストメッセージを送信することと、
を含む、方法。
【請求項12】
前記ノードが、前記次のブロードキャスト滞留期間中に前記次のブロードキャストチャネルを介して前記宛先ノードに前記ユニキャストメッセージを送信することをさらに含む、請求項11に記載の方法。
【請求項13】
前記次のブロードキャスト滞留期間の開始時、
前記ノードが、ブロードキャストトラフィックをリッスンすることと、
前記ノードが、前記次のブロードキャスト滞留期間中のブロードキャストトラフィックを検出することと、
前記ブロードキャストトラフィックの検出に応答して、前記ノードが、前記次のブロードキャスト滞留期間後まで前記ユニキャストメッセージの送信を遅らせることと、
をさらに含む、請求項11に記載の方法。
【請求項14】
前記宛先ノードに前記ユニキャストメッセージを送信する前に、
前記ノードが、前記ブロードキャスト滞留期間中のブロードキャストトラフィックを検出することと、
前記ブロードキャストトラフィックの検出に応答して、前記ノードが、前記ユニキャストメッセージの送信を中止することと、
をさらに含む、請求項11に記載の方法。
【請求項15】
前記ノードが、前記宛先ノードからNACKメッセージを受信することと、
前記NACKメッセージの受信に応答して、前記ノードが、前記ユニキャストメッセージを再送信することと、
をさらに含む、請求項11に記載の方法。
【請求項16】
前記ノードが、前記宛先ノードからのACKメッセージの受信の失敗を判断することと、
前記ACKメッセージの受信の失敗の判断に応答して、前記ノードが、前記ユニキャストメッセージを再送信することと、
をさらに含む、請求項11に記載の方法。
【請求項17】
前記宛先ノードは、第1宛先ノードであり、前記方法は、
前記ノードが、後のブロードキャスト滞留期間中に前記第1宛先ノードおよび第2宛先ノードにブロードキャストメッセージ送信すること、
をさらに含む、請求項11に記載の方法。
【請求項18】
前記ノードが、前記監視隣接ノードの第1監視隣接ノードに第2ユニキャストメッセージを、前記第1監視隣接ノードのための前記次のチャネルホッピングタイミング期間中に前記第1監視隣接ノードのための前記チャネルホッピングシーケンスによって定められるチャネルで第2ユニキャストメッセージを送信することで、送信すること、
をさらに含む、請求項11に記載の方法。
【請求項19】
前記宛先ノードが前記複数の監視隣接ノードの隣接ノードに対応しないという判断に基づいて、前記ノードが、前記宛先ノードのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを要求することと、
前記ノードが、前記宛先ノードのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを受信することと、
前記ノードが、前記宛先ノードのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを加えることで前記複数の監視隣接ノードのリストを更新することと、
をさらに含み、
前記複数の監視隣接ノードの前記リストは、前記複数の監視隣接ノードのそれぞれのための前記チャネルホッピングタイミングおよび前記チャネルホッピングシーケンスを含む、
請求項11に記載の方法。
【請求項20】
第1ノードおよび第2ノードを備え、
前記第1ノードは、
第1プロセッサと、
前記第1プロセッサに通信可能に結合され、チャネルホッピングタイミング期間およびチャネルホッピングシーケンスに基づいて通信を受信するように構成された第1無線トランシーバと、
前記第1プロセッサに通信可能に結合された第1メモリであって、前記第1プロセッサにより実行可能な命令であって、前記第1プロセッサが実行すると、前記第1プロセッサは、
第1ブロードキャストチャネルホッピングタイミング期間および第1ブロードキャストチャネルホッピングシーケンスを格納し、
複数の監視隣接ノードのそれぞれのための複数のチャネルホッピングタイミングおよびチャネルホッピングシーケンスを格納し、
ユニキャストメッセージの前記第2ノードが前記複数の監視隣接ノードの中にあるか否かを判断し、
前記第2ノードが前記複数の監視隣接ノードの中にないという判断に基づいて、(i)前記第1ブロードキャストチャネルホッピングタイミング期間に基づいてブロードキャスト滞留期間を、および(ii)前記第1ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定し、
前記ブロードキャスト滞留期間中に前記第2ノードに前記ユニキャストメッセージを送信する、
命令を含む、第1メモリと、
を備え、
前記第2ノードは、
第2プロセッサと、
前記第2プロセッサに通信可能に結合され、第2ブロードキャストチャネルホッピングタイミング期間および第2ブロードキャストチャネルホッピングシーケンスに基づいて通信を受信するように構成された第2無線トランシーバと、
前記第2プロセッサに通信可能に結合された第2メモリであって、前記第2プロセッサにより実行可能な命令であって、前記第2プロセッサが実行すると、前記第2プロセッサは、
前記第2ブロードキャストチャネルホッピングタイミング期間および前記第2ブロードキャストチャネルホッピングシーケンスを格納し、
(i)前記第2ブロードキャストチャネルホッピングタイミング期間に基づいて前記ブロードキャスト滞留期間を、および(ii)前記第2ブロードキャストチャネルホッピングシーケンスに基づいて前記次のブロードキャストチャネルを決定し、
前記ブロードキャスト滞留期間中に前記ユニキャストメッセージを検出し、
前記ブロードキャスト滞留期間中の前記ユニキャストメッセージの検出に応答して、前記ブロードキャスト滞留期間中のブロードキャストメッセージの送信を中止する、
命令を含む、第2メモリと、
を備える、
システム。
【請求項21】
前記第2プロセッサにより実行可能な命令であって、前記第2プロセッサが実行すると、前記第2プロセッサが、
前記次のブロードキャスト滞留期間中に前記ユニキャストメッセージを受信し、
後のブロードキャスト滞留期間まで前記ブロードキャストメッセージの送信を遅らせる、
命令を前記第2メモリはさらに含む、請求項20に記載のシステム。
【請求項22】
第3ノードをさらに備え、
前記第3ノードは、
第3プロセッサと、
前記第3プロセッサに通信可能に結合され、第3ブロードキャストチャネルホッピングタイミング期間および第3ブロードキャストチャネルホッピングシーケンスに基づいて通信を受信するように構成された第3無線トランシーバと、
前記第3プロセッサに通信可能に結合された第3メモリであって、記第3プロセッサにより実行可能な命令であって、前記第3プロセッサが実行すると、前記第3プロセッサは、
前記次のブロードキャスト滞留期間中のブロードキャストトラフィックを検出し、
前記次のブロードキャスト滞留期間中の前記第1ノードまたは前記第2ノードへの第2ユニキャストメッセージの送信を中止する、
命令を含む、第3メモリと、
を備える、請求項20に記載のシステム。
【請求項23】
第3ノードをさらに備え、
前記第3ノードは、
第3プロセッサと、
前記第3プロセッサに通信可能に結合され、第3ブロードキャストチャネルホッピングタイミング期間および第3ブロードキャストチャネルホッピングシーケンスに基づいて通信を受信するように構成された第3無線トランシーバと、
前記第3プロセッサに通信可能に結合された第3メモリであって、記第3プロセッサにより実行可能な命令であって、前記第3プロセッサが実行すると、前記第3プロセッサは、
前記次のブロードキャスト滞留期間中のブロードキャストトラフィックを検出し、
後のブロードキャスト滞留期間中に前記複数の監視隣接ノードにブロードキャストメッセージを送信する、
命令を含む、第3メモリと、
を備える、請求項20に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は概して、非同期チャネルホッピングネットワークにおける通信に関する。より具体的には、本発明は、非同期チャネルホッピングメッシュネットワークにおいて1つ又は複数のブロードキャスト滞留期間(dwell interval:ドウェルインターバル)を使用してユニキャストメッセージを通信することに関する。
【背景技術】
【0002】
いくつかのリソースプロバイダは、チャネルホッピングメッシュネットワークを利用して、ネットワーク化されたさまざまなノードに通信プラットフォームを提供する。たとえば、公益事業会社、ホームオートメーションプロバイダ、産業モニタリングプロバイダ、科学アプリケーションプロバイダなどのリソースプロバイダは、ネットワーク化されたノードをチャネルホッピングメッシュネットワークを介して監視する場合がある。いくつかの場合、非同期チャネルホッピングメッシュネットワークを使用してネットワークトラフィックが最適化され得る。
【0003】
非同期チャネルホッピングメッシュネットワークの一例は、IEEE 802.15.4 2015規格を利用するWi-SUNフィールドエリアネットワーク(FAN)である。Wi-SUN FANネットワークは、Wi-SUN FANプロファイルまたはプロトコルを利用する1つ以上のパーソナルエリアメッシュネットワーク(PAN)を含んでもよい。さらに、Wi-SUN FANネットワークは、複数のWi-SUN FANノードを含み、いくつかの場合、複数の層のWi-SUN FANノードを含んでもよい。
【発明の概要】
【0004】
本発明のシステムおよび方法は、非同期チャネルホッピングネットワークにおける通信技術を提供する。施設に配置されたデバイスはノードを含むことができる。ノードは、他の多数のノードとともにネットワークに接続され得、ネットワークを介して中央システムと通信できる。デバイスは、非同期チャネルホッピングメッシュネットワークで1つまたは複数のブロードキャスト滞留期間を使用してメッセージを通信するように構成され得る。
【0005】
一例では、ノードは、プロセッサと、プロセッサに通信可能に結合され、チャネルホッピングタイミング期間およびチャネルホッピングシーケンスに基づいて通信を受信するように構成された無線トランシーバと、プロセッサに通信可能に結合されたメモリと、を備える。メモリは、プロセッサにより実行可能な命令を含み、プロセッサが命令を実行すると、プロセッサは、ブロードキャストチャネルホッピングタイミング期間およびブロードキャストチャネルホッピングシーケンスを格納し;複数の監視隣接ノードのそれぞれのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを格納し;メッセージの宛先ノードが複数の監視隣接ノードのいずれかに対応するか否かを判断し;宛先ノードが複数の監視隣接ノードのいずれにも対応しないという判断に基づいて、(i)ブロードキャストチャネルホッピングタイミング期間に基づいてブロードキャスト滞留期間を決定し、(ii)ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定し;ブロードキャスト滞留期間中に無線トランシーバにメッセージを宛先ノードに送信させる信号を送信する。
【0006】
非同期チャネルホッピング無線ネットワークにおいてメッセージを送信するための方法の一例は、ノードが、当該ノードの第1チャネルホッピングタイミング期間および第1チャネルホッピングシーケンスを格納することを含み、ここで、ノードは、無線トランシーバおよびプロセッサを備え、ノードの無線トランシーバは、第1チャネルホッピングタイミング期間および第1チャネルホッピングシーケンスに基づいて通信を受信するように構成される。また、当該方法の一例は、ノードが、ブロードキャストチャネルホッピングタイミング期間およびブロードキャストチャネルホッピングシーケンスを格納することと;ノードが、複数の監視隣接ノードのそれぞれのチャネルホッピングタイミング期間およびチャネルホッピングシーケンスを格納することと;ノードが、ノードで保留中のユニキャストメッセージの宛先ノードが複数の監視隣接ノードのいずれかに対応するか否かを判断することと;ユニキャストメッセージの宛先ノードが監視隣接ノードのいずれにも対応しないという判断に基づいて、ノードが、(i)ブロードキャストチャネルホッピングタイミング期間に基づいて次のブロードキャスト滞留期間を決定し、(ii)ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定することと;ノードが、次のブロードキャスト滞留期間中に宛先ノードにユニキャストメッセージを送信することとを含む。
【0007】
別の例では、システムは第1ノードおよび第2ノードを含む。第1ノードは、第1プロセッサと、第1プロセッサに通信可能に結合され、チャネルホッピングタイミング期間およびチャネルホッピングシーケンスに基づいて通信を受信するように構成された第1無線トランシーバと、第1プロセッサに通信可能に結合された第1メモリと、を備える。第1メモリは、第1プロセッサにより実行可能な命令を含み、第1プロセッサが命令を実行すると、第1プロセッサは、第1ブロードキャストチャネルホッピングタイミング期間および第1ブロードキャストチャネルホッピングシーケンスを格納し;複数の隣接ノードのそれぞれのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを格納し;ユニキャストメッセージの第2ノードが複数の監視隣接ノードのいずれかに対応するか否かを判断し;第2ノードが複数の監視隣接ノードのいずれにも対応しないという判断に基づいて、(i)第1ブロードキャストチャネルホッピングタイミング期間に基づいてブロードキャスト滞留期間を決定し、(ii)第1ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定し;ブロードキャスト滞留期間中に無線トランシーバに第2ノードにユニキャストメッセージを送信させる信号を送信する。第2ノードは、第2プロセッサと、第2プロセッサに通信可能に結合され、第2ブロードキャストチャネルホッピングタイミング期間および第2ブロードキャストチャネルホッピングシーケンスに基づいて通信を受信するように構成された第2無線トランシーバと、第2プロセッサに通信可能に結合された第2メモリと、を備える。第2メモリは、第2プロセッサにより実行可能な命令を含み、第2プロセッサが命令を実行すると、第2プロセッサは、第2ブロードキャストチャネルホッピングタイミング期間および第2ブロードキャストチャネルホッピングシーケンスを格納し;(i)第2ブロードキャストチャネルホッピングタイミング期間に基づいてブロードキャスト滞留期間を決定し、(ii)第2ブロードキャストチャネルホッピングシーケンスに基づいて次のブロードキャストチャネルを決定し;ブロードキャスト滞留期間中にユニキャストメッセージを検出し;ブロードキャスト滞留期間中のユニキャストメッセージの検出に応答して、ブロードキャスト滞留期間中のブロードキャストメッセージの送信を中止する。
【0008】
本開示の上記および他の特徴、態様、および利点は、添付の図面を参照して以下の詳細な説明を読むと、よりよく理解される。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本開示の特定の態様による、非同期チャネルホッピングメッシュネットワークにおいてブロードキャスト滞留期間を過負荷にするための例示的なネットワーク環境を示す。
【
図2】
図2は、本開示の特定の態様による、非同期チャネルホッピングメッシュネットワークにおいてブロードキャスト滞留期間を過負荷にするためのネットワーク環境における例示的なネットワーク通信を示す。
【
図3】
図3は、本開示の特定の態様による、例示的なノードを示す。
【
図4】
図4は、本開示の特定の態様による、非同期チャネルホッピングメッシュネットワークにおいてブロードキャスト滞留期間を過負荷にする例示的な方法を示す。
【
図5】
図5は、非同期チャネルホッピングメッシュネットワークにおいてブロードキャスト滞留期間を過負荷にする別の例示的な方法を示す。
【発明を実施するための形態】
【0010】
本発明の態様は、非同期チャネルホッピングメッシュネットワークにおいてブロードキャスト滞留期間を使用して、特定のユニキャストメッセージを通信する。本発明のさらなる態様は、ブロードキャスト滞留期間中に非同期チャネルホッピングメッシュネットワークを過負荷(overloading)にすることによってネットワークトラフィックを最適化できる。本発明の特定の態様は、ブロードキャストメッセージと特定のユニキャストメッセージの両方を通信するためにブロードキャスト滞留期間を使用することによって、非同期チャネルホッピングメッシュネットワークを過負荷にすることを含む。本開示において、過負荷にすることは、例えばブロードキャスト滞留期間中に、ブロードキャストチャネルを使用してブロードキャストメッセージ以外のメッセージを通信できることを含む。本開示の特定の態様を紹介するために以下の非限定的な例が提供される。
【0011】
一例では、非同期Wi-SUN FANネットワークは、例えば、Wi-SUN FANスロットフレームのチャネルホッピングシーケンスを介して、Wi-SUN FANノード間の通信を容易にできる。これらのスロットフレームは、一連のタイムスロット(たとえば、ユニキャスト期間、ユニキャスト滞留期間、ブロードキャスト期間、またはブロードキャスト滞留期間など)を含んでもよい。さらに、これらのスロットフレームには非同期ユニキャスト滞留期間が含まれるため、Wi-SUN FAN PAN内の各ノードは、異なるチャネルタイミング、チャネルシーケンス、またはその両方を含んでもよい。
【0012】
このような非同期チャネルホッピングメッシュネットワーク(例えばWi-SUN FAN)では、PAN内の各ノードが各自のチャネルホッピングタイミングとチャネルホッピングシーケンスを維持する。ノードがユニキャストフレームを隣接ノードに送信する必要がある場合、ノードはまず隣接ノード(たとえば、隣接ノードのチャネルホッピングタイミングおよびチャネルホッピングシーケンス)を監視する必要がある。ただし、大規模または高密度のPAN内のノード、または制約のあるノードの場合、これは問題となる可能性がある。たとえば、制約されたノードでは、隣接ノードを監視するために使用できるメモリの量が限られている場合がある。このような場合、制約されたノードは、監視されていない特定の隣接ノードにメッセージ(例えば、ユニキャストメッセージまたはユニキャストフレーム)を送信する必要があると判断する可能性がある。
【0013】
大規模なPAN、数が密集したPAN、または制約のあるノードを含むチャネルホッピングネットワークでは、重大な通信の問題が発生する可能性がある。たとえば、大規模なPANまたは数が密集したPANは、多数のノードを含む可能性がある。その結果、ノードが通信する可能性のあるノードが多数存在し得る。この数は、隣接するノードを監視するために割り当てられたメモリの量よりも大きくなる可能性がある。これは、ノードがメモリ量がより制限されている制約付きノードである場合に特に当てはまる。
【0014】
これらのそれぞれの場合において、ノードがブロードキャスト滞留期間を使用してメッセージを別のノードに送信すること、たとえば、ブロードキャスト滞留期間中にユニキャストメッセージを送信することは好適であり得る。一例では、ノードは、メッシュネットワーク内の宛先ノードにユニキャストメッセージを送信することによって、ブロードキャスト滞留期間を過負荷にすることができる。
【0015】
(例示的な動作環境)
本発明は、ネットワークのノード内で動作でき、当該ノードはチャネルホッピングタイミングおよびチャネルホッピングシーケンスを含む。
図1は、非同期チャネルホッピングメッシュネットワークを含む例示的な通信ネットワーク100を示す。例示的な通信ネットワーク100は、PANコーディネータ102、142およびノード104、106、108、110、112、114、116、118、120、122、124、126、128、130、132、134、136、および138を含み、それぞれは、通信ネットワーク144、146を介してヘッドエンド140と通信できる。
【0016】
この例では、ヘッドエンド140は、通信ネットワーク144、146を介してPANコーディネータ102、142およびノード104~138と通信する。通信ネットワーク144、146は、電話ネットワーク、無線電話ネットワーク、無線パーソナルエリアネットワーク(WPAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロエリアネットワーク(MAN)、別のデータネットワーク、または他の適切な通信ネットワークを含むことができる。いくつかの例では、ヘッドエンド140は、通信ネットワーク144、146を介して、非同期チャネルホッピングメッシュネットワークに対する集中制御を提供できる。
【0017】
例えば、ヘッドエンド140は、PANの集中制御を指示するネットワーク情報を提供できる。例えば、ヘッドエンド140は、PANのネットワーク情報をPANコーディネータ(例えば、PANコーディネータ102、142のいずれか)に送信できる。ネットワーク情報は、ブロードキャストタイミング情報、ネットワークトラフィック情報、帯域幅制約など、PAN内での動作のためのネットワークパラメータを含んでもよい。しかし、他の例では、PANコーディネータ(たとえば、PANコーディネータ102、142のいずれか)は、そのPAN内に含まれるノード(たとえば、ノード104~136、または138のそれぞれ)に対してこれらの集中制御を提供できる。
【0018】
ヘッドエンド140は、様々なタイプの通信信号を使用してネットワーク情報を配信できる。例えば、ヘッドエンド140は、無線周波数(RF)信号、グローバル移動体通信システム(GSM)信号、低電力無線(LPR)信号、メディア非依存信号、消費信号、その他の電気信号などを使用してネットワーク情報を通信できる。いくつかの例では、ヘッドエンド140は、(例えば:停止、稼働時間、健康状態の)モニタリングサービス、地理情報、(例えば:メータデータ、接続性、サービス品質の)データ収集を提供できる。さらに、ヘッドエンド140は、PANコーディネータ102、142、ノード104~138などのさまざまなネットワーク要素にメッセージまたは通知を送信できてもよい。
【0019】
例えば、ヘッドエンド140は、ブロードキャストスケジューリングパラメータを含むネットワーク情報をPANコーディネータ102に提供できる。これに応答して、PANコーディネータ102は、これらのブロードキャストスケジューリングパラメータに基づいて、同期ブロードキャストスケジュールを生成し、配布できる。いくつかの例では、ブロードキャストスケジューリングパラメータは、ブロードキャスト期間またはブロードキャスト滞留期間の頻度または周期性を指示できる。さらに、ブロードキャストスケジューリングパラメータは、ブロードキャスト期間またはブロードキャスト滞留期間中にメッセージを送信するために利用される特定のチャネルを指示または指定できる。
【0020】
図1に示される例示的な通信ネットワーク100について続けると、例示的な通信ネットワーク100は、PANコーディネータ102、142を含む。この例では、PANコーディネータ102、142は、それぞれのPANにわたる通信を容易にする。いくつかの例では、PANコーディネータ102、142のそれぞれは、境界ルータ(border router)、クリティカルノード、ルートノード、ゲートウェイルータ、外部ルータ、または他の適切なゲートウェイ装置であってもよい。さらに、PANコーディネータ102、142は、それぞれのPANのネットワーク情報を維持する。例えば、PANコーディネータ102、142は、ネットワーク情報を含むストレージ、メモリ、他のデータリポジトリなどを含むことができる。いくつかの例では、PANコーディネータ102、142は、同期ブロードキャストスケジュール、PAN識別子(ID)、ネットワークID、ネットワークトポロジ、任意の数の接続デバイスのネットワーク情報(例えば、ノード104~136の非同期ユニキャストスケジュール)、他のネットワーク特徴、またはこれらの組み合わせを含むネットワーク情報を格納できる。
【0021】
この例では、PANコーディネータ102は、様々な隣接ノード104~136を含むPANにわたる通信を調整するノードである。さらに、この例では、PANコーディネータ102は、通信ネットワーク144を介したPANとヘッドエンド140との間の通信を容易にする境界ルータである。例示の目的で、例示的な通信ネットワーク100はまた、異なるPANにわたる通信を調整し、少なくともノード138と通信する別のPANコーディネータ142を含む。PANコーディネータ102は親ノードであり、その子ノード104、106のそれぞれと通信する。そして、PANコーディネータ102は、その孫ノード108~114、曾孫ノード116~126、および玄孫ノード128~136のそれぞれと通信する祖父母ノードである。
【0022】
いくつかの例では、PANコーディネータ102は、そのPANの確立、形成、管理、または変更を実行できる。これらのタスクを実行するために、PANコーディネータ102は、PAN内の他のノードよりもかなり多くのリソース(例えば、処理能力、永続ストレージ、メモリなど)を必要とし得る。さらに、さまざまなネットワーク情報の格納はまた、PANコーディネータ102へのより多くのリソースの割り当てを必要とし得る。したがって、PANコーディネータ102は、通常、制約付きデバイスではない。しかしながら、他の例では、PANコーディネータ102は制約付きデバイスであってもよい。例えば、PANコーディネータ102は、レガシーデバイスなどの制約のあるデバイスであってもよいし、PANコーディネータ102は、大規模または人口密度の高いPAN内に位置していてもよい。
【0023】
この例では、PANコーディネータ102は、そのPAN内の17個のノード104~136すべてを監視するのに十分なリソース(例えば、メモリ)を含む。例えば、PANコーディネータ102は、PAN内の合計17個のノードのそれぞれについての非同期ユニキャストスケジュール情報を知っていてもよい。PANコーディネータ102は、ノード104~136のそれぞれのユニキャストチャネルホッピングタイミングおよびユニキャストチャネルホッピングシーケンスを監視できる。いくつかの例では、PANコーディネータ102は、そのPAN内の特定のノードが制約付きデバイスであってもよいことを示すネットワーク情報を有し得る。例えば、PANコーディネータ102は、例えばノード104~136のうちの、1つ以上のノードが、PAN内の隣接ノードのそれぞれを監視するのに十分なメモリを有さない制約付きデバイスであることを示すネットワーク情報をヘッドエンド140から受信できる。このネットワーク情報の受信に応答して、PANコーディネータ102は、周期的なブロードキャスト期間またはブロードキャスト滞留期間の継続時間が不十分であると判断できる。
【0024】
上述したように、PANコーディネータ102は、ブロードキャストスケジューリングパラメータに基づいて、同期ブロードキャストスケジュールを生成し、配信できる。いくつかの例では、PANコーディネータは、ヘッドエンド140から受信されたブロードキャストスケジューリングパラメータに基づいて、PANの同期ブロードキャストスケジュールを生成する。例えば、PANコーディネータ102は、ブロードキャストチャネル周波数に対応するブロードキャスト期間およびブロードキャスト滞留期間の指定された継続時間を含む同期ブロードキャストスケジュールを作成できる。さらに、PANコーディネータ102は、同期ブロードキャストスケジュールをそのPAN内のノードのそれぞれ(例えば、ノード104~136)に送信できる。PANコーディネータ102は、必要に応じて、同期ブロードキャストスケジュールを調整または変更できる。
【0025】
いくつかの場合、ノード間の通信を最適化するためにPAN内の通信を再構成すると好適であり得る。例えば、PANコーディネータ102は、特定のネットワークパラメータを調整して、PAN内でのユニキャストおよびブロードキャストメッセージの送信を最適化できる。さらに、またはその代わりに、ヘッドエンド140はまた、PANの同期ブロードキャストスケジュール、特定のネットワークパラメータ、またはプロトコルを調整または変更できてもよい。これは頻繁には行われないが、PANコーディネータ102は、PAN内の通信を最適化するため、または発生する可能性のあるネットワーク問題に応じて、特定のネットワークパラメータを調整できる。
【0026】
例えば、PANコーディネータ102は、同期ブロードキャストスケジュールにおけるブロードキャスト期間の周期性を増減させる必要性を判断できる。このような場合、PANコーディネータ102は、非同期チャネルホッピングメッシュネットワーク内の制約付きノードの数に基づいて周期性を増減させることができる。他の例では、PANコーディネータ102は、非同期チャネルホッピングメッシュネットワーク内の制約付きノードの数に基づいて、ブロードキャスト滞留期間を増減させる必要性を決定できる。
【0027】
例えば、PANコーディネータ102は、ブロードキャスト滞留期間の継続時間が短いと、PAN内での衝突(collision)数が増加すると判断してもよい。これに応じて、PANコーディネータ102は、ブロードキャスト滞留期間の継続時間を維持または増加させることができる。いくつかの例では、PANコーディネータ102は、同様の制約を有する1つまたは複数の隣接ノード(例えば、ノード104~136)に基づいて、ブロードキャスト滞留期間の十分性を判断できる。他の例では、PANコーディネータ102は、PAN内の1つまたは複数のネットワークリソースを監視することによって、ブロードキャスト滞留期間の十分性を判断できる。例えば、PANコーディネータ102は、時間の経過とともにPAN内で発生するネットワークトラフィックの量、利用可能な帯域幅、衝突、再送信、障害メッセージなどを監視できる。
【0028】
周期的なブロードキャスト期間またはブロードキャスト滞留期間が不十分であるとの判断に応答して、PANコーディネータ102は、ブロードキャスト期間の周期性またはブロードキャスト滞留期間の継続時間を調整できる。例えば、PANコーディネータ102が、所定の期間にわたってPAN内で望ましくない数の衝突が発生したと判断した場合、PANコーディネータ102は、ブロードキャスト期間の周期性またはブロードキャスト滞留期間の継続時間を増加させることができる。同様に、PANコーディネータ102が、一定期間にわたってPAN内で低閾値の数の衝突が発生しなかったと判断した場合、ノードは、ブロードキャスト期間の周期性、または1つまたは複数のブロードキャスト滞留期間の継続時間を減少させることができる。
【0029】
好適には、PANコーディネータ102は、同期ブロードキャストスケジュールを調整して、ネットワークリソースを最適化できる。例えば、PANコーディネータ102は、ブロードキャスト滞留期間中に存在するネットワークトラフィックの量を規制できる。PANコーディネータ102は、時間の経過に伴う帯域幅使用量または以前の期間における衝突の数を示すネットワーク情報をヘッドエンド140から受信できる。例えば、PANコーディネータ102が、以前のブロードキャスト滞留期間の利用可能な帯域幅が最適量以下であるか、または衝突が多すぎると判断した場合、PANコーディネータ102は、ブロードキャスト滞留期間の継続時間を増加させることによってネットワークトラフィックを規制できる。いくつかの例では、PANコーディネータ102は、ブロードキャスト期間の周期性または1つまたは複数のブロードキャスト滞留期間の長さを減少させることによってバッテリ駆動ノードのライフサイクルを延ばし、それによって、PAN内のノードがブロードキャスト滞留期間中にリッスン(listen)する必要がある時間の量の最小化によるバッテリの消耗を低減できる。
【0030】
例示的な通信ネットワーク100に戻ると、PANコーディネータ102は、自機および各ノード104~136のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持する。この例では、ノード104~136のそれぞれは、自機のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持する。さらに、ノード104~136のそれぞれは、親ノードおよび子ノード(存在する場合)のそれぞれのためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持する。
【0031】
例えば、ノード104および106は、それらの親ノード、例えばPANコーディネータ102、およびそれらの子ノードのそれぞれ、例えばそれぞれノード108、110およびノード112、114、のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持する。この例では、ノード104とノード106は両方とも、5つの隣接ノードを監視するのに十分なメモリを有する制約付きデバイスである。
【0032】
この例では、ノード104、106の両方が、自機およびそれらの5つの隣接ノードのためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持する。上述のように、ノード104、106は、それらの親ノード(例えば、PANコーディネータ102)、それらの兄弟ノード(例えば、互い)、およびそれらの子ノード(例えば、それぞれノード108、110とノード112、114)を監視する。しかし、この例では、ノード104、106のそれぞれは、1つのさらなる隣接ノードを監視するのに十分なリソースしか持っていない。
【0033】
したがって、ノード104は、自機のチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持し、PANコーディネータ102、ノード106、ノード108、ノード110、および孫ノード(例えば、ノード116)のチャネルホッピングタイミングおよびチャネルホッピングシーケンスを監視する。ノード104の制約により、ノード104は、ノード112、114、および118~136のチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持できない。同様に、ノード106は、自機のチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持し、PANコーディネータ102、ノード104、ノード112、ノード114、および1つの孫ノード(例えば、ノード120)のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを監視するのに十分なリソースのみを有する。したがって、ノード106は、ノード108、110、116、118、および122~136のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを維持できない。
【0034】
さらに、この例では、ノード104は、監視されていない宛先ノード(例えば、ノード130)にユニキャストメッセージを送信する必要性を判断する。ノード104は、PANコーディネータ102によってそのユニキャスト通信のために提供される同期ブロードキャストスケジュールを利用することによってこれを行うことができる。例えば、ノード104が、チャネルホッピングタイミングを監視できない隣接ノード(例えば、ノード130)にユニキャストメッセージを送信する必要があると判断した場合、ノード104は、同期ブロードキャストスケジュールをメモリから取得する。ノード104は、同期ブロードキャストスケジュールに基づいて、次の利用可能なブロードキャスト期間を決定する。さらに、ノード104は、次の利用可能なブロードキャスト滞留期間中にユニキャストメッセージを送信できる。好適には、ブロードキャストスケジュールが同期されているので、送信ノードは宛先ノードのためのチャネルホッピングタイミングを知る必要がない。
【0035】
上の例は非同期ネットワークに関して説明されているが、同じ原理が同期ネットワークにも適用できることを理解されたい。さらに、いくつかの例では、ノード104~136へのメモリ量を増やすことが可能であり、これにより、利用可能なすべての隣接ノードの監視が容易になり得る。また、いくつかの場合、ノード密度を所定の範囲内に制限することが有利な場合もある。例えば、ノード密度は、ノード104~136の1つまたは複数のうちの1つまたは複数の制約に一致するホップ数に制限され得る。
【0036】
図2は、ノード間の通信を示す別の例示的な通信ネットワーク200を示す。具体的には、通信ネットワーク200はノード202、204、206、および208を含み、当該ノードのそれぞれは互いに通信できる。例えば、ノード202、204、206、および208のそれぞれは、単一のPANに属することができる。さらに、ノード202、204、206、および208は、ヘッドエンド(例えば、ヘッドエンド140)、PANコーディネータ(例えば、PANコーディネータ102)、および/または1つまたは複数のさらなるノードと通信できる。
【0037】
図2は、複数のユニキャストチャネルおよびブロードキャストチャネルを含む通信ネットワーク200を示す。具体的には、通信ネットワーク200は、多数の通信チャネルを示す。例えば、通信ネットワーク200は、チャネル0~9を含む。通信ネットワーク200は、任意の適切な数のユニキャストチャネルおよびブロードキャストチャネルを含むことができることを理解されたい。
【0038】
通信ネットワーク200は、ノード202、204、206、および208のそれぞれのためのユニキャスト通信のための同期ブロードキャストスケジュールを示す。例えば、ノード202、204、206、および208のそれぞれは、同期ブロードキャストチャネルホッピングシーケンスを格納する。具体的には、ノード202、204、206、および208は、第1ブロードキャスト期間214中に第1ブロードキャスト滞留期間212を含む同期ブロードキャストチャネルホッピングシーケンスを格納する。
【0039】
この例では、ブロードキャスト滞留期間212はチャネル3に対応する。さらに、ブロードキャスト期間214が終了すると、チャネル7に対応する第2ブロードキャスト滞留期間が始まる。同様に、第2ブロードキャスト期間が終了すると、チャネル1に対応する第3ブロードキャスト滞留期間が始まる。同期ブロードキャストチャネルホッピングシーケンスに加えて、各ノードはユニキャスト通信のための自機のチャネルホッピングタイミング期間と監視ノードのための情報を格納する役割を有する。
【0040】
例えば、ノード202は、ユニキャストチャネル9で始まり、続いてホッピングシーケンスにおいてチャネル7、チャネル3、チャネル6、チャネル8、チャネル0、チャネル1、チャネル4、およびチャネル5に変化するユニキャスト通信のためのチャネルホッピングタイミング期間を含む。ノード204は、ホッピングシーケンスにおいてチャネル3、チャネル6、チャネル4、チャネル9、チャネル7、およびチャネル0に対応する期間を含む、ユニキャスト通信のためのチャネルホッピングタイミング期間を含む。同様に、ノード206のためのユニキャスト通信のためのチャネルホッピングタイミング期間は、チャネル1、0、8、5、3、7、および4を含む。この例では、第1ユニキャスト滞留期間210が、ノード208について示されており、これはチャネル6に対応する。ユニキャスト滞留期間210が終了すると、ノード208はホッピングシーケンスにおいてチャネル9、2、8、4、3、5、0、7、1、および6をリッスンする。
【0041】
図2に示される通信ネットワーク200は、ノード202、204、206、および208に対応する第1ユニキャスト滞留期間のそれぞれについての非同期開始時間によって例示される非同期メッシュネットワークを示す。さらに、通信ネットワーク200に示されているユニキャスト滞留期間は、ノード202、204、206、および208に対応する実質的に異なる継続時間およびユニキャストチャネルホッピングシーケンスを示す。通信ネットワーク200は、1つまたは複数のユニキャストチャネルホッピングシーケンスを含むことができ、任意の数、順序、または同期性のチャネルホッピングシーケンスを含むことができることを理解されたい。
【0042】
この例では、ノード202は隣接ノード204、206、および208と通信する。上述したように、ノード202は、同期ブロードキャストチャネルホッピングシーケンスおよび自機のユニキャスト通信チャネルホッピングシーケンスを維持する。この例では、ノード202はまた、隣接ノードに関連する情報を監視する。より具体的には、ノード202は、隣接ノード204および206のためのチャネルホッピングタイミング(例えば、特定のユニキャスト滞留期間に対応する継続時間)およびチャネルホッピングシーケンス(例えば、現在のユニキャスト滞留期間に対応する一連のユニキャスト通信チャネル)を監視する。そして、この例では、ノード202は、隣接ノード208のためのユニキャストチャネルホッピングタイミングおよびチャネルホッピングシーケンスを監視していない。ノード202、204、206、および208は、任意のタイプの隣接ノードであり得ることを理解されたい。例えば、ノード202、204、206、および208は、例えば、親、子、兄弟、孫、最近傍の隣接、別の関係などを含む、多くの関係を有し得る。
【0043】
いくつかの例では、ノード202は、限られた量のリソース(例えば、処理能力または利用可能なメモリ量)によって制約され得る。
図2は、ノード204、206、および208にさまざまなタイプのメッセージを送信するノード202の能力を示す。いくつかの例では、ノード202は、メディアアクセス制御(「MAC」)プロトコルを使用してメッセージを送信できる。MACプロトコルは、開放型システム間相互接続(OSI)スタックの第2層の一部としてIEEE802によって定義されている。
【0044】
この例では、ノード202は、宛先ノード(例えば、隣接ノード204、206、および208のうちの1つ)に関連付けられたMACアドレスを使用してメッセージを送信できる。いくつかの例では、ノード202は、隣接ノードがアイドル状態であるかどうかを判断できる。さらに、ノード202は、クリアチャネル評価(CCA)を使用して特定のチャネルの状態を検出できる。例えば、ノード202は、CCAを使用して、隣接ノードの非同期ユニキャストスケジュールに対応する現在のチャネルの状態、衝突が発生したかどうか、または(例えば、確認応答(ACK)、否定応答(NACK)、またはACKまたはNACKの欠如に基づいて)送信の完了などを判断できる。
【0045】
例えば、ノード202は、ユニキャストメッセージをノード204に送信する必要性を判断できる。上述のように、ノード202は、ノード204のためのユニキャストチャネルホッピングタイミングおよびチャネルホッピングシーケンスを監視している。そして、この例では、ノード202は、ユニキャストメッセージ「A」をノード204に送信する必要があると判断する。ノード202は、監視ノード204のための現在のチャネルホッピングタイミングおよびチャネルホッピングシーケンスのためのユニキャスト滞留期間がチャネル3に対応すると判断する。
【0046】
いくつかの例では、ノード202は、ユニキャスト滞留期間の残りの時間中にメッセージ「A」を送信できるかどうかを判断できる。さらに、またはその代わりに、ノード202は、ユニキャスト滞留期間に関連付けられたネットワークトラフィックの量に基づいて、メッセージ「A」を送信できるかどうかを判断できる。例えば、ノード202は、上述のCCAを使用してユニキャスト滞留期間についてのトラフィックを判断できる。他の例では、ノード202は、PANコーディネータ(例えば、PANコーディネータ102)から定期的なネットワークトラフィック情報を受信できる。いくつかの例では、ノード202は、例えば、メッセージ「A」の大きさ、ユニキャスト滞留期間の残り時間の量、またはユニキャスト滞留期間に関連付けられたネットワークトラフィックの量に基づいて、ユニキャスト滞留期間中のメッセージ「A」の送信を中止してもよい。この例では、ノード202は、ユニキャスト滞留期間中にユニキャストメッセージ「A」をノード204に送信する。
【0047】
この例について続けると、ノード202は、その後、ユニキャストメッセージ「B」をノード206に送信する必要性を判断できる。上述したように、ノード202は隣接ノード206を監視している。この例では、ノード202は、チャネル0に対応するノード206の監視されたユニキャスト滞留期間中に、ユニキャストメッセージ「B」をノード206に送信する必要があると判断する。ノード202は、ユニキャスト滞留期間中にユニキャストメッセージ「B」をノード206に送信する。
【0048】
さらに、ノード202は、ブロードキャストメッセージ「C」をノード208に送信する必要性を判断する。そうするために、ノード202は次のブロードキャスト期間を決定する。例えば、ノード202は、同期ブロードキャストチャネルホッピングシーケンスを使用して、次のブロードキャスト期間を決定する。さらに、ノード202は、同期ブロードキャストチャネルホッピングシーケンスを使用して、次のブロードキャスト期間中のブロードキャスト滞留期間を決定する。この例では、ノード202は、次のブロードキャスト間隔がチャネル7に対応すると決定する。
【0049】
上述のメッセージAのユニキャスト送信と同様に、ノード202は、ブロードキャスト滞留期間の残りの時間中にメッセージ「C」を送信できるかどうかを判断できる。さらに、ノード202は、ブロードキャスト滞留期間に関連付けられたネットワークトラフィックの量に基づいて、メッセージ「C」を送信できるかどうかを判断できる。いくつかの例では、ノード202は、例えば、メッセージ「C」の大きさ、ブロードキャスト滞留期間の残り時間の量、またはブロードキャスト滞留期間に関連付けられたネットワークトラフィックの量に基づいて、ブロードキャスト滞留期間中のメッセージ「C」の送信を中止してもよい。ノード202は、ブロードキャスト滞留期間中にブロードキャストメッセージ「C」を送信する。
【0050】
この例について続けると、ノード202はまた、ユニキャストメッセージ「D」をノード208に送信する必要性を判断できる。上述したように、ノード202は隣接ノード208を監視していないため、ノード202はノード208のためのユニキャストチャネルホッピングタイミングおよびチャネルホッピングシーケンスを認識していない。いくつかの例では、メモリの量が不十分なために、ノード202がノード208を監視していなくてもよい。
【0051】
この例では、ノード202は、ユニキャストメッセージ「D」をノード208に送信する必要があると判断する。さらに、ノード202は、ノード208のためのユニキャストチャネルホッピングタイミング情報の欠如およびチャネルホッピングシーケンス情報の欠如を判断できる。このような判断に基づいて、ノード202は、ユニキャストメッセージを送信するための次のブロードキャスト期間を決定できる。次のブロードキャスト期間中、ノード202は、チャネル1に対応するブロードキャスト滞留期間を介して、ユニキャストメッセージ「D」をノード208に送信する。
【0052】
上述したように、ノード202は、例えば、メッセージ「D」の大きさ、ブロードキャスト滞留期間の残り時間の量、またはブロードキャスト滞留期間に関連付けられたネットワークトラフィックの量に基づいて、ブロードキャスト滞留期間中のメッセージ「D」の送信を中止してもよい。さらに、ノード202は、別のメッセージ(例えば、メッセージ「C」)の送信を中止するという以前の決定に基づいて、ブロードキャスト滞留期間中のメッセージ「D」の送信を中止してもよい。
【0053】
いくつかの例では、ノード202は、メッセージを送信する別の隣接ノードと実質的に同時にメッセージを送信できる。例えば、ノード202は、ブロードキャスト滞留期間中にブロードキャストメッセージを送信できる。同時に、監視されていない隣接ノードは、ユニキャストメッセージをノード202に送信できる(図示せず)。この例では、ノード202および監視されていない隣接ノード208は、同じブロードキャスト滞留期間(例えば、ブロードキャスト滞留期間212)中に同じブロードキャストチャネル(例えば、チャネル3)上でそれぞれのメッセージを送信できる。
【0054】
この例では、ノード202によって送信されたブロードキャストメッセージは、監視されていない隣接ノード208によって送信されたユニキャストメッセージと衝突する。いくつかの例では、そのような衝突により、ブロードキャストメッセージ、ユニキャストメッセージ、またはその両方の配信に失敗する可能性がある。さらに、一定期間(例えば、所定の期間)の後、監視されていない隣接ノード208は、ノード202がユニキャストメッセージの受信に失敗したと判断できる。
【0055】
例えば、監視されていない隣接ノード208は、一定期間後に、ACKメッセージの欠如がユニキャストメッセージがノード202に配信されなかったことを示すと判断できる。さらに、または代わりに、監視されていない隣接ノード208は、NACKメッセージの受信がユニキャストメッセージが配信されなかったことを示すと判断できる。それに応じて、監視されていない隣接ノード208は、ユニキャストメッセージの送信を再試行できる。例えば、監視されていない隣接ノード208は、次のブロードキャスト滞留期間またはその後のブロードキャスト滞留期間中にユニキャストメッセージを再送信できる。同様に、ノード202はまた、次のブロードキャスト滞留期間またはその後のブロードキャスト滞留期間中にブロードキャストメッセージを再送信できる。
【0056】
いくつかの例では、ノード202は、監視されていない隣接ノードにメッセージを送信することが必要になったときに、特定のノードのネットワーク情報を要求できる。例えば、ノード202は、監視されていない隣接ノード208にユニキャストメッセージを送信する必要があると判断できる。それに応じて、ノード202は、監視されていない隣接ノード208のための非同期ユニキャストスケジュールについての要求を含むメッセージをPANコーディネータ(例えば、PANコーディネータ102)に送信できる。
【0057】
さらに、ノード202は、監視されていない隣接ノード208のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスをPANコーディネータから受信できる。ノード202は、監視されていない隣接ノード208のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを使用して、ユニキャスト滞留期間中にユニキャストメッセージを送信できる。いくつかの例では、限られた量のメモリなどの制約により、ノード202は、監視されていない隣接ノード208のための新たに受信した非同期ユニキャストスケジュールを格納するために、いくつかの既存のネットワーク情報を上書きすることを必要とし得る。
【0058】
(例示的なノード)
図3は、例示的なノード300を示す。ノード300は、それぞれがバス310を介して通信可能に結合されたプロセッサ302、メモリ304、およびトランシーバ314を含む。ノード300の構成要素は、A/C電源、またはバッテリなどの低エネルギー源(図示せず)によって電力が供給され得る。トランシーバ314は、アンテナ312を含んでもよく、アンテナ312に通信可能に結合されてもよく、またはアンテナ312に物理的に接続されてもよく、トランシーバ314は、ネットワーク上での通信(例えば、ユニキャストメッセージまたはブロードキャストメッセージなどの他のノードとの通信)を送受信するために使用され得る。
【0059】
プロセッサ302は、マイクロプロセッサ、特定用途向け集積回路(ASIC)、ステートマシン、フィールドプログラマブルゲートアレイ(FPGA)、または別の適切なコンピューティングデバイスを含み得る。プロセッサ302は、任意の数のコンピューティングデバイスを含むことができ、メモリ304などのコンピュータ可読媒体に通信可能に結合され得る。プロセッサは、コンピュータ実行可能プログラム命令を実行し、またはメモリに格納された情報にアクセスして、本明細書に記載されているような動作を実行できる。命令には、任意の適切なコンピュータプログラミング言語で書かれたコードからコンパイラおよび/またはインタプリタによって生成されたプロセッサ固有の命令が含まれてもよい。命令が実行されると、命令は、本明細書に記載された動作のいずれかを実行するようにノード300を構成できる。
【0060】
メモリ304は、チャネルホッピングタイミング306およびチャネルホッピングシーケンス308など、ノード300における特定のメータまたはスケジューリング情報に関する情報を格納する。他の情報や設定もメモリに格納されてもよい。メモリはコンピュータ可読媒体であってもよく、情報および設定を記憶することに加えて、実行されると本明細書に記載の動作を実行するように通信モジュールを構成するコンピュータ実行可能命令を記憶してもよい。
【0061】
図3に示されている構成要素以外の他の構成要素、構成要素間の接続、および構成要素の配置があってもよい。プロセッサ302、メモリ304、バス310、およびトランシーバ装置314は、互いに通信する別個のコンポーネントとして
図3に示されているが、他の実装も可能である。例えば、メモリおよび処理デバイスは、マイクロコントローラなどの単一のコンポーネントに含まれていてもよい。本明細書で説明するシステムおよび構成要素は、特定のハードウェアアーキテクチャまたは構成に限定されない。
【0062】
いくつかの例では、ノード300はメータを含むことができる。例えば、メータは施設内のガス、電気、水などのリソースの消費量を測定できる。メータは、ノード300が中央システムまたはヘッドエンドシステムに消費情報を通信するネットワーク上のノード300に含まれてもよい。
【0063】
いくつかの例では、ノード300は、計測部品などの追加の構成要素を含んでもよい。例えば、計測部品には、測定デバイス、メータ、校正デバイス、計測アプリケーション、計測ソフトウェアコンポーネント、計測スクリプトなどが含まれ得る。さらに、中央システムは消費情報を分析して、施設内のリソースを管理し、システムの他の要素を管理できる。
【0064】
(例示的な動作方法)
図4は、ノードによって実行される例示的な方法400を示す。
図4は、非同期チャネルホッピングメッシュネットワークにおけるブロードキャスト滞留期間の過負荷の一例を表す。
図4に関して説明される1つまたは複数の動作は、非同期チャネルホッピングメッシュネットワーク(例えば、通信ネットワーク200)における通信を伴う。本明細書に記載の態様によれば、通信ネットワーク200は、ノード(例えば、ノード202、204、206、208、300など)間の通信を容易にする。通信デバイス(例えば、ノード300)は、適切なプログラムコード(例えば、チャネルホッピングタイミング306、チャネルホッピングシーケンス308に関連するソフトウェアコンポーネント)を実行することによって、
図4に示される動作を実装する。例示の目的で、方法400は、図に示される特定の例を参照して説明される。しかしながら、他の実装も可能である。
【0065】
方法はブロック402で始まり、ここで、ノード(例えば、ノード202)は第1チャネルホッピングタイミングおよび第1チャネルホッピングシーケンスを維持する。
図2に関して上述したように、ノード202は、自機のユニキャスト通信チャネルホッピングタイミングおよび自機のユニキャスト通信チャネルホッピングシーケンスを含む第1チャネルホッピングタイミングおよび第1チャネルホッピングシーケンスを維持できる。
【0066】
いくつかの例では、ノード202は、同期ブロードキャストスケジュールおよび1つまたは複数の非同期ユニキャストスケジュールを維持する。これらの同期ブロードキャストおよび非同期ユニキャストスケジュールは、1つまたは複数の第1チャネルホッピングシーケンスのための1つまたは複数の第1チャネルタイミング期間を含むことができる。これらの第1チャネルホッピングシーケンスのそれぞれは、ノード202が、例えば特定の順序で、リッスンするネットワークチャネルを提供できる。さらに、同期ブロードキャストおよび非同期ユニキャストスケジュールには、ネットワークチャネルのリストまたは他の構成が含まれてもよい。
【0067】
いくつかの例では、第1チャネルホッピングタイミングは、同期ブロードキャストチャネルホッピングタイミング、それ自体のユニキャスト通信チャネルホッピングタイミング、またはその両方のためのタイミングを含むことができる。さらに、第1チャネルホッピングタイミングは、同期ブロードキャストチャネルホッピングタイミング期間(例えば継続時間)、それ自体のユニキャスト通信チャネルホッピングタイミング期間、またはその両方などの第1チャネルホッピングタイミング期間に対応し得る。
【0068】
第1チャネルホッピングシーケンスは、同期ブロードキャストチャネルホッピングシーケンス、それ自体のユニキャスト通信チャネルホッピングシーケンス、またはその両方のためのシーケンスを含むことができる。いくつかの例では、同期ブロードキャストおよび非同期ユニキャストスケジュールは、上述の第1チャネルホッピングタイミング期間に対応し得る、第1チャネルホッピングシーケンスを含み得る。
【0069】
ブロック404において、ノードは、1つまたは複数の隣接ノード(例えば、1つまたは複数の監視隣接ノード)の1つまたは複数の第2チャネルホッピングタイミングおよび1つまたは複数の第2チャネルホッピングシーケンスを監視する。例えば、
図2に関して上述したように、ノード202は、1つまたは複数の隣接ノード(例えば、ノード204、206)の1つまたは複数の第2チャネルホッピングタイミングおよび1つまたは複数の第2チャネルホッピングシーケンスを監視できる。この例では、ノード202は、ノード204、ノード206、またはその両方を含むことができる1つまたは複数の隣接ノードを監視する。いくつかの例では、隣接ノードの1つまたは複数の第2チャネルホッピングタイミングおよび1つまたは複数の第2チャネルホッピングシーケンスは、それぞれ、1つまたは複数のユニキャスト通信チャネルホッピングタイミングおよび1つまたは複数のユニキャスト通信チャネルホッピングシーケンスを含み得る。
【0070】
方法はブロック404からブロック406に進み、ここで、ノードは宛先ノードにメッセージを送信する必要性を判断する。例えば、ノードは、ユニキャストメッセージまたはユニキャストフレームを宛先ノードに送信する必要性を判断できる。
【0071】
ブロック408において、通信モジュールは、宛先ノードが1つまたは複数の隣接ノードの中のノードであるかどうかを判断する。宛先ノードが1つまたは複数の監視隣接ノードの中のノードである場合、方法はYes分岐を介してブロック410に進む。宛先ノードが1つまたは複数の監視隣接ノードの中にない場合、方法はNo分岐を介してブロック412に進む。
【0072】
ブロック410において、通信モジュールは、ユニキャストチャネルを介して宛先ノードにメッセージを送信する。例えば、ノード202が宛先ノード(例えば、監視隣接ノード204、206のいずれか)を監視しているという判断に応答して、ノード202は、ユニキャストチャネルを介して宛先ノードへのメッセージの送信を進める。例えば、ノード202は、
図2でメッセージ「A」および「B」によって示されるように、ユニキャストチャネルを介して宛先ノード204にユニキャストメッセージを送信できる。
【0073】
いくつかの例では、ノード202は、宛先ノード204の非同期ユニキャストスケジュールに基づいて、ユニキャストメッセージを宛先ノード204に送信できる。例えば、宛先ノード204のための非同期ユニキャストスケジュールは、宛先ノード204に関連付けられたチャネルホッピングタイミングおよびチャネルホッピングシーケンスを含むことができる。ノード202は、例えばメモリ(例えばメモリ304)から非同期ユニキャストスケジュールを取得することによって、ユニキャストメッセージを宛先ノード204に送信できる。
【0074】
ノード202は、取得した非同期ユニキャストスケジュールに基づいて、宛先ノード204のためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを決定できる。さらに、ノード202は、宛先ノード204のための現在のユニキャストチャネルを決定できる。いくつかの例では、ノード202は、ユニキャストメッセージの大きさが、残りのユニキャスト滞留期間(例えば、宛先ノード204が現在のユニキャストチャネルをリッスンするようにスケジュールされている残りの継続時間)中に送信するには大きすぎると判断できる。
【0075】
他の例では、ノード202は、宛先ノード204のための次のユニキャストチャネルをそのチャネルホッピングタイミングおよびチャネルホッピングシーケンスに基づいて決定できる。例えば、ノード202は、ネットワークトラフィックの量、利用可能な帯域幅、ネットワークリソース、残りのユニキャスト滞留期間、エラーメッセージ、受信通知などに基づいて、宛先ノードのための次のユニキャストチャネルを決定できる。
【0076】
あるいは、ブロック412において、通信モジュールは、ブロードキャスト滞留期間を決定する。例えば、ノード202は、ブロードキャスト滞留期間があいていると判断できる。ノード202が宛先ノード(例えば隣接ノード208)を監視していないという判断に応答して、ノード202は、ブロードキャストチャネルを介して宛先ノード208へのメッセージの送信を進める。例えば、ノード202は、ブロードキャストチャネルを介して宛先ノード208にユニキャストメッセージを送信できる。
【0077】
いくつかの例では、ノード202は、同期ブロードキャストスケジュールに基づいてユニキャストメッセージを宛先ノード208に送信できる。上述したように、ノード202は、PANのための同期ブロードキャストスケジュールを維持する。ノード202は、例えばメモリ(例えばメモリ304)から同期ブロードキャストスケジュールを取得することによって、ユニキャストメッセージを宛先ノード208に送信できる。
【0078】
ノード202は、同期ブロードキャストスケジュールのためのチャネルホッピングタイミングおよびチャネルホッピングシーケンスを決定できる。例えば、ノード202は、ブロードキャスト期間(例えばブロードキャスト期間214)中のブロードキャスト滞留期間(例えばブロードキャスト滞留期間212)を決定できる。さらに、ノード202は、ブロードキャスト滞留期間212に関連付けられた現在のブロードキャストチャネル(例えば、ブロードキャストチャネル3)を決定できる。
【0079】
いくつかの例では、ノード202は、ユニキャストメッセージの大きさが、残りのブロードキャスト滞留期間(例えば、ノード202、204、206、および208が現在のブロードキャストチャネルをリッスンするようにスケジュールされている残りの継続時間)中に送信するには大きすぎると判断できる。他の例では、ノード202は、例えば同期ブロードキャストスケジュールに基づいて、次のブロードキャスト滞留期間のための次のブロードキャストチャネルを決定できる。
【0080】
さらに、ノード202は、ネットワークトラフィックの量、利用可能な帯域幅、ネットワークリソース、残りのユニキャスト滞留期間、エラーメッセージ、受信通知などに基づいて、次のブロードキャストチャネルおよび/または次のブロードキャスト滞留期間を決定できる。いくつかの例では、ノード202は、例えば、ある程度の量のパケット損失、衝突の報告、失敗メッセージ(例えばNACKメッセージ)、メッセージの配信に関連付けられた別の指示(例えばACKメッセージ)などに基づいて、メッセージの送信との潜在的な干渉についての何らかのリスクがあると判断できる。
【0081】
現在のチャネルホッピングタイミング期間がブロードキャスト滞留期間に対応する場合、方法はブロック414に進み、ブロードキャスト滞留期間中にメッセージを宛先ノードに送信する。例えば、ノード202は、ブロードキャスト滞留期間(例えば、現在のブロードキャスト滞留期間)に関連付けられたブロードキャストチャネルを介してメッセージ(例えば、ユニキャストメッセージ)を送信できる。
【0082】
一例では、ノード202は、ブロードキャスト滞留期間中に、監視隣接ノードの中には含まれない宛先ノード208にユニキャストメッセージを送信する。
【0083】
図5は、ノードによって実行される例示的な方法500を示す。
図5は、非同期チャネルホッピングメッシュネットワークにおけるブロードキャスト滞留期間の過負荷の一例を表す。
【0084】
方法500のブロック502~512は、それぞれ、
図4に関して上述した方法400の対応するブロック402~412と実質的に同様である。
【0085】
しかし、この例では、方法はブロック514に進み、ブロードキャスト滞留期間中のブロードキャストトラフィックを検出する。例えば、ノード202は、例えば上述のCCAを使用して、現在のブロードキャスト滞留期間中のブロードキャストトラフィックの量を検出できる。一例では、ノード202は、現在のブロードキャスト滞留期間212に対応する現在のチャネル3のブロードキャストトラフィックの量を検出する。
【0086】
いくつかの例では、ノード202は、後のブロードキャスト滞留期間まで送信を中止してもよい。例えば、ノード202は、待機して(例えば、
図2に示す次のブロードキャストチャネル7に対応する)次のブロードキャスト滞留期間についてのブロードキャストトラフィックの量を検出できる。さらに、ノード202は、(例えば、
図2にも示されているブロードキャストチャネル1に対応する)後のブロードキャスト滞留期間、例えば現在のブロードキャスト滞留期間と次のブロードキャスト滞留期間の両方に続くブロードキャスト滞留期間、についてのブロードキャストトラフィックの量を検出できる。
【0087】
しかし、この例では、ノード202は、本明細書で説明される技術のいずれかを使用して、ブロードキャスト滞留期間中のブロードキャストトラフィックの量を検出する。例えば、ノード202は、ブロードキャスト滞留期間中のブロードキャストトラフィックの量に対応するか、関連するか、その間にスケジュールされているか、または示す、ネットワークトラフィックの量、利用可能な帯域幅、ネットワークリソース、ネットワークスケジュール、エラーメッセージ、受信通知、別のメッセージなどを検出できる。
【0088】
方法はブロック514からブロック516に進み、ここで、通信モジュールはブロードキャスト滞留期間中の宛先ノードへのメッセージの送信を中止する。例えば、ノード202は、現在のブロードキャスト滞留期間中のユニキャストメッセージの送信を中止してもよい。代わりに、ノード202は、後のブロードキャスト滞留期間までユニキャストメッセージの送信を中止してもよい。例えば、ノード202は、次のブロードキャスト滞留期間まで待機することができる。いくつかの例では、ノード202は、後のブロードキャスト滞留期間までユニキャストメッセージの送信を中止してもよい。
【0089】
さらに、いくつかの例では、ノード202は、ブロック514でのブロードキャストトラフィックの検出に応答して、ユニキャストメッセージの送信を中止してもよい。他の例では、ノード202は、次のブロードキャスト滞留期間中の宛先ノードへのユニキャストメッセージの送信を中止してもよい。例えば、ノード202は、ユニキャストメッセージの送信を中止し、次のブロードキャスト滞留期間を決定し、次のブロードキャスト滞留期間の前にブロードキャストメッセージを送信する必要性を判断できる。
【0090】
この例では、ノード202はまた、ブロードキャストメッセージがユニキャストメッセージよりも高い優先順位を有すると判断してもよい。この判断に応答して、ノード202はブロードキャストメッセージを送信できる。
【0091】
方法はブロック516からブロック518に進み、ここで、ノード202は次のブロードキャスト滞留期間中に宛先ノードにメッセージを送信する。中止期間が終了すると、方法はブロック518に進み、ブロードキャスト滞留期間中に宛先ノードにメッセージを送信する。例えば、ノード202は、ブロードキャスト滞留期間(例えば、次のブロードキャスト滞留期間)に関連付けられたブロードキャストチャネルを介してメッセージ(例えば、ユニキャストメッセージ)を送信できる。
【0092】
一例では、ノード202は、ブロードキャスト滞留期間中に、監視隣接ノードの中には含まれない宛先ノード208にユニキャストメッセージを送信する。
【0093】
上記は、本発明の態様を図示、記述、および説明する目的で提供されており、網羅的であること、または開示された正確な形態に本発明を限定することを意図したものではない。これらの実施形態のさらなる修正および適応は当業者には明らかであり、本発明の範囲および精神から逸脱することなく行うことができる。上述の構成要素の異なる配置、ならびに図示または説明されていない構成要素およびステップが可能である。同様に、いくつかの機能およびサブコンビネーションは有用であり、他の機能およびサブコンビネーションを参照せずに使用できる。本発明の実施形態は、限定を目的とするものではなく例示のために説明されており、代替実施形態はこの特許の読者には明らかとなるであろう。
【国際調査報告】