(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022159257
(43)【公開日】2022-10-17
(54)【発明の名称】無線ネットワークにおける時刻同期
(51)【国際特許分類】
H04W 56/00 20090101AFI20221006BHJP
H04W 84/10 20090101ALI20221006BHJP
H04W 76/10 20180101ALI20221006BHJP
【FI】
H04W56/00 130
H04W84/10 110
H04W76/10
【審査請求】未請求
【請求項の数】24
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022061797
(22)【出願日】2022-04-01
(31)【優先権主張番号】63/170,339
(32)【優先日】2021-04-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/389,625
(32)【優先日】2021-07-30
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ブルートゥース
(71)【出願人】
【識別番号】507364997
【氏名又は名称】サイプレス セミコンダクター コーポレーション
【氏名又は名称原語表記】Cypress Semiconductor Corporation
【住所又は居所原語表記】198 Champion Court, San Jose, CA 95134, United States of America
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】久見瀬 修二
(72)【発明者】
【氏名】綱島 伸明
(72)【発明者】
【氏名】ジェイムズ ウィハルジャ
(72)【発明者】
【氏名】ヴィクター ゾズィシュスキー
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067DD30
5K067EE35
5K067LL11
(57)【要約】 (修正有)
【課題】中央装置(CD)とCDと無線通信する複数の周辺装置(PD)とを有する無線ネットワークにおける同期動作を促進する方法及びシステムを提供する。
【解決手段】CDは、1つまたは複数のメッセージをPDに送信する。さまざまなPDは、受信したメッセージを使用して、PDにより実行されるべき同期動作の時点を決定する。この同期動作は、各PDと、PDと通信可能に結合された1つまたは複数の関連するデバイスと、の対話を含む。同期動作が完了すると、PDは、同期動作に関連して、PDによってか或いは1つ又は複数の関連するデバイスによって生成されたデータを送信することができる。
【選択図】
図9
【特許請求の範囲】
【請求項1】
無線ネットワークにおける同期動作を実行するための方法であって、前記方法は、
前記無線ネットワークの中央装置(CD)と、前記無線ネットワークの複数の周辺装置(PD)と、の間に無線接続を確立するステップであって、前記無線ネットワークは、ブルートゥース(BT)無線ネットワークまたはブルートゥース低エネルギー(BLE)無線ネットワークであり、前記PDの各々は、1つまたは複数の関連するデバイスに通信可能に結合されるステップと、
前記CDにより、前記複数のPDの各々と前記各1つまたは複数の関連するデバイスとの対話を含む前記同期動作の実行を促進するために、1つまたは複数のメッセージを前記複数のPDの各々に送信するステップと、
前記CDにより、複数のデータを受信するステップであって、前記複数のデータの各々は、前記複数のPDの各PDによって、または前記各PDに関連付けられたデバイスによって実行される前記同期動作に関連して生成されるステップと、
を含む方法。
【請求項2】
前記1つまたは複数のメッセージを前記複数のPDの各々に送信するステップは、前記各PDから時刻同期要求を受信することに応じており、前記1つまたは複数のメッセージは、各PDからの前記時刻同期要求の前記CDによる受信に関連付けられ、前記CDのクロックによって測定される基準時間に関連付けられたタイムスタンプを含む、
請求項1記載の方法。
【請求項3】
前記1つまたは複数のメッセージは、
前記複数のPDのうちの第1のPDのための第1のメッセージであって、前記同期動作の第1の時点の表示を含み、前記第1の時点の表示は、前記第1のPDのための予め定められた第1の通信時間に対して定められる第1のメッセージと、
前記複数のPDのうちの第2のPDのための第2のメッセージであって、前記同期動作の第2の時点の表示を含み、前記第2の時点の表示は、前記第2のPDのための予め定められた第2の通信時間に対して定められる第2のメッセージと、
を含み、
前記第2の通信時間は、前記第1の通信時間とは異なる、
請求項1記載の方法。
【請求項4】
前記複数のPDの各々に送信される前記1つまたは複数のメッセージは、前記同期動作の少なくとも第1の時点の表示を含み、前記第1の時点の表示は、前記各PDのために前記CDによって生成される、
請求項1記載の方法。
【請求項5】
前記複数のデータを受信するステップは、
前記CDにより、前記複数のPDのうちの第1のPDから、前記同期動作に関連して生成された前記複数のデータのうちの第1のデータを受信しないことに応答して、前記第1のPDに前記第1のデータのための要求を通信するステップと、
前記CDにより、前記第1のPDから前記第1のデータのための交換データを受信するステップと、
を含む、
請求項4記載の方法。
【請求項6】
前記複数のPDの各々に送信される前記1つまたは複数のメッセージは、第1の広告メッセージを含み、前記第1の時点の表示は、前記複数のPDに対して共通である、
請求項4記載の方法。
【請求項7】
前記複数のPDの各々に送信される前記1つまたは複数のメッセージは、前記複数のPDに対して共通の前記第2の時点の表示を有する第2の広告メッセージをさらに含み、前記第2の広告メッセージは、前記第1の広告メッセージの送信からの予め定められた時間の経過に応じて送信され、前記第1の広告メッセージまたは前記第2の広告メッセージの少なくとも一方は、周期的な広告パケットを含む、
請求項6記載の方法。
【請求項8】
前記複数のPDの各々と前記各1つまたは複数の関連するデバイスとの前記対話は、前記1つまたは複数の関連するデバイスのうちの少なくともいくつかの状態の測定を実行するステップを含む、
請求項1記載の方法。
【請求項9】
前記同期動作は、前記同期動作の開始より前の予め定められた時点において、前記同期動作を開始する割り込みを設定することによってスケジュールされ、前記割り込みは、
プログラマブルソフトウェア割り込み、
ファームウェア割り込み、または
前記同期動作に関連付けられたクロック値を検出する比較器によって引き起こされるハードウェア割り込みのうち、
の少なくとも1つである、
請求項1記載の方法。
【請求項10】
無線ネットワークにおける同期動作を実行するための方法であって、前記方法は、
前記無線ネットワークの中央装置(CD)と、前記無線ネットワークの複数の周辺装置(PD)の第1の周辺装置(PD)と、の間に無線接続を確立するステップであって、前記無線ネットワークは、ブルートゥース(BT)無線ネットワークまたはブルートゥース低エネルギー(BLE)無線ネットワークであり、前記PDの各々は、1つまたは複数の関連するデバイスに通信可能に結合されるステップと、
前記第1のPDにより、前記CDから1つまたは複数のメッセージを受信するステップと、
前記第1のPDにより、前記1つまたは複数の受信されたメッセージを考慮して、前記複数のPDの前記同期動作の時点を決定するステップと、
前記第1のPDまたは前記第1のPDによって関連付けられたデバイスにより、決定された時点において前記同期動作を実行するステップと、
を含む方法。
【請求項11】
前記1つまたは複数のメッセージは、前記CDのクロックによって測定される基準時間に関連付けられたタイムスタンプを含む、
請求項10記載の方法。
【請求項12】
前記方法は、前記第1のPDにより、前記CDに時刻同期要求を送信するステップをさらに含み、前記基準時間は、前記CDにより、前記時刻同期要求の受信に関連付けられた時間である、
請求項11記載の方法。
【請求項13】
前記同期動作の前記時点は、i)前記タイムスタンプと、ii)前記CDと前記第1のPDと、の間のデータ交換の周期に関連付けられた接続間隔とを考慮して決定される、
請求項11記載の方法。
【請求項14】
前記1つまたは複数の受信されたメッセージは、前記同期動作の、前記第1のPDのための前記CDによって生成された第1の時点の表示を含み、前記第1の時点の表示は、前記第1のPDのための予め定められた第1の通信時間に対して定められる、
請求項10記載の方法。
【請求項15】
前記方法は、前記第1のPDにより、前記CDに前記同期動作に関連して生成された第1のデータを送信するステップをさらに含む、
請求項10記載の方法。
【請求項16】
前記方法は、
前記第1のPDにより、前記CDから、前記第1のデータのための交換データの要求を受信するステップであって、受信された前記要求は、CDが第1のデータを受信していないことを示すステップと、
前記第1のPDにより、前記CDに第2のデータを送信するステップであって、前記第2のデータは、前記第1のデータのための交換データであるステップと、
をさらに含む、
請求項15記載の方法。
【請求項17】
前記1つまたは複数のメッセージは、前記CDにより、前記複数のPDのうちの第2のPDに向けられ、前記第2のPDは、前記第1のPDとは異なる、
請求項10記載の方法。
【請求項18】
前記1つまたは複数のメッセージは、前記複数のPDの各々に送信され、第1の広告メッセージを含み、前記第1の広告メッセージは、前記同期動作の第1の時点の表示を含む、
請求項10記載の方法。
【請求項19】
前記1つまたは複数のメッセージは、第2の広告メッセージをさらに含み、前記第2の広告メッセージは、第2の時点の表示を含み、前記第1の広告メッセージの送信からの予め定められた時間の経過に応じて送信され、前記第1の広告メッセージまたは前記第2の広告メッセージの少なくとも一方は、周期的な広告パケットを含む、
請求項18記載の方法。
【請求項20】
前記同期動作を実行するステップは、前記第1のPDに通信可能に結合された前記1つまたは複数の関連するデバイスの状態を測定するステップを含む、
請求項10記載の方法。
【請求項21】
前記同期動作は、前記同期動作の開始より前の予め定められた時点において、前記同期動作を開始する割り込みを設定することによってスケジュールされ、前記割り込みは、
プログラマブルソフトウェア割り込み、
ファームウェア割り込み、または
前記同期動作に関連付けられたクロック値を検出する比較器によって引き起こされるハードウェア割り込み、
のうちの少なくとも1つである、
請求項10記載の方法。
【請求項22】
システムであって、前記システムは、
ブルートゥース無線ネットワークまたはブルートゥース低エネルギー無線ネットワークである無線ネットワークの複数の周辺装置(PD)と、
前記無線ネットワークの中央装置(CD)と、
を含み、
前記CDは、
前記CDと前記複数のPDの各々との間に無線接続を確立し、
1つまたは複数のメッセージを前記複数のPDの各々に通信することができ、
前記複数のPDの各PDは、
前記CDによって通信される前記1つまたは複数のメッセージを使用して、前記複数のPDのための同期動作の時点を決定し、
各PDと、前記PDに通信可能に結合された1つまたは複数の関連するデバイスと、の対話を含む前記同期動作を実行し、
前記各PDによって、または前記1つまたは複数の関連するデバイスによって前記同期動作に関連して生成されたデータを送信することができる、
システム。
【請求項23】
前記CDは、前記各PDから時刻同期要求を受信したことに応答して、前記複数のPDの各々に前記1つまたは複数のメッセージを通信することができ、前記1つまたは複数のメッセージは、前記CDのクロックによって測定される基準時間に関連付けられたタイムスタンプを含み、前記基準時間は、前記各PDからの前記時刻同期要求の前記CDによる受信に関連付けられた時間である、
請求項22記載のシステム。
【請求項24】
前記CDによって送信される前記1つまたは複数のメッセージは、
前記複数のPDのうちの第1のPDのための第1のメッセージであって、前記同期動作の第1の時点の表示を含み、前記第1の時点の表示は、前記第1のPDのための予め定められた第1の通信時間に対して定められる第1のメッセージと、
前記複数のPDのうちの第2のPDのための第2のメッセージであって、前記同期動作の第2の時点の表示を含み、前記第2の時点の表示は、前記第2のPDのための予め定められた第2の通信時間に対して定められる第2のメッセージと、
を含み、
前記第2の通信時間は、前記第1の通信時間とは異なる、
請求項22記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2021年4月2日に出願された米国仮出願第63/170,339号の利益を主張するものであり、その全内容は参照により本明細書に組み込まれる。
【0002】
技術分野
本開示は、無線ネットワークに関し、より具体的には、例えば、ブルートゥース接続またはブルートゥース低エネルギー(BLE)接続を介して無線通信するさまざまな電子デバイスの時刻同期に関する。
【背景技術】
【0003】
例えば、ブルートゥース(BT)などのパーソナルエリアネットワークは、個人、産業、科学および医療などのさまざまな用途に対して無線接続を提供するために、2.4GHzの無線周波数帯域を使用する。BTネットワークは、パケットベースのプロトコルを使用し、中央装置(CD)および周辺装置(PD)を含むアーキテクチャを有している。CDは、複数のPDと通信することができる。典型的には、データは、特定のPD-CD通信リンクに対して割り当てられた時間の間に、CDと特定のPDとの間で転送される。指定された時間に、PDは、CDからメッセージおよびデータを受信し、次いでデータをCDに通信するために調整することができる。付加的に、CDは、同じデータが複数のPDに同時に通信される一斉送信モードを時折使用することもできる。ブルートゥース低エネルギー(BLE)ネットワークは、BTネットワークと同様の通信範囲を有しているが、電力消費およびコストはかなり低い。BLEデバイスは、スリープモードに留まっていることが多く、データ通信が行われようとしているときにアクティブモードに移行する。また、BLEプロトコルは、データが複数のパスを介して流れ得るメッシュネットワークもサポートしており、これは、デバイスの硬直的な階層構造には依存しないため、特定のネットワーク条件やトポロジーに応じて、同じデバイスがCDやPDとしての役割を果たせることも多い。
【図面の簡単な説明】
【0004】
【
図1】いくつかの実施形態による、中央装置によって生成されたタイムスタンプと接続時間間隔の既知の持続時間とを使用する無線ネットワークにおける例示的なクロック同期を示す図である。
【
図2】いくつかの実施形態による、スケジュールされた接続イベントを使用して無線ネットワークにおける同期動作を実行する例示的なプロセスを示す図である。
【
図3】いくつかの実施形態による、同報通信広告を使用して無線ネットワークにおける同期動作を実行する例示的なプロセスを示す図である。
【
図4】いくつかの実施形態による、パケット損失に対する付加的な保護を伴う、スケジュールされた接続イベントを使用して無線ネットワークにおける同期動作を実行するための例示的なプロセスを示す図である。
【
図5】いくつかの実施形態による、盗聴を利用することによって空域使用を制限しながら、無線ネットワークにおける同期動作を実行するための例示的なプロセスを示す図である。
【
図6A】いくつかの実施形態による、無線ネットワークにおける同期イベントを開始するための例示的なトリガースキームであって、ハードウェア割り込みを使用するトリガースキームを示す図である。
【
図6B】いくつかの実施形態による、無線ネットワークにおける同期イベントを開始するための例示的なトリガースキームであって、ファームウェアまたはソフトウェア割り込みを使用するトリガースキームを示す図である。
【
図7】いくつかの実施形態による、無線ネットワークの複数の周辺装置による同期動作を促進するための、無線ネットワークの中央装置によって実行される例示的な方法のフローチャートである。
【
図8】いくつかの実施形態による、データ損失に対する付加的な保護を伴う、複数の周辺装置による同期動作を促進するために無線ネットワークの中央装置によって実行される例示的な方法のフローチャートである。
【
図9】いくつかの実施形態による、同期動作を実行するために無線ネットワークの周辺装置によって実行される例示的な方法のフローチャートである。
【
図10】いくつかの実施形態による、同期動作の実行をスケジュールする周辺装置のための例示的な方法のフローチャートである。
【
図11】いくつかの実施形態による、時刻同期および同期動作が実行されてもよい無線ネットワークシステムの図である。
【発明を実施するための形態】
【0005】
個人、産業、科学および医療など多くの用途において、別個のデバイスの時刻同期は、大きな利点を提供する可能性がある。時間変動する条件下では、測定を実行すること、または複数のデバイスによって同時にいくつかの他のアクションを開始することが利点となる場合がある。例えば、電気車両の性能は、複数の高電圧バッテリセルの充電および放電の均一性に依存する可能性がある。各セルの状態の正確な同期的(同時的)測定は、車両の加速、走行、制動および他のさまざまな操作中のバッテリ利用を最適化するために使用可能なデータ、ならびに充電中のデータを提供し得る。同様に医療装置は、患者の身体の複数の部位から同時にデータを収集するように構成されてもよい。産業試験(例えば、自動車や任意の他の安全性重視の装備品の衝突試験)は、複数のセンサによる測定の同期に依存する場合がある。そのような同期は、典型的には、有線接続によって達成され、この有線接続は、すべての信号が同時に生成、送信および/または受信されることを保証するために使用することができる。しかしながら、有線接続は、特に多数の小型デバイスが統合され、より大きなシステムの一部として使用される場合、設置や保守が面倒になることもある。場合によっては、多数の周辺装置への有線接続は、不便であるばかりでなく、非現実的であるか、あるいは安全でない可能性さえある。したがって、有線デバイスよりも設置、保守、交換が容易な無線センサ/デバイスを配備することが有利となる場合がある。
【0006】
無線デバイスは、互いにほぼ独立しているため、他のクロックに比べて多少異なる速度で動作するクロックを有することができる。例えば、異なるクロックは、若干異なるドリフト、ジッターなどを有する場合がある。したがって、無線デバイスのすべてまたは少なくとも一部を同期させることは有益であろう。例えば、BT、BLE、または他のいくつかの無線ネットワーク技術を使用して動作するデバイスは、中央装置(CD)とさまざまな周辺装置(PD)との間で交換される適切に準備された信号によって同期することができる。
【0007】
時刻同期の既存の方法は、PDが、第1の記録時点taでタイムスタンプの要求をCDに送信することを含む。CDは、この要求を受信し、リアルタイムクロック(RTC)タイムスタンプTSを生成し、このTSをPDに送り返す。PDは、この応答を第2の時点tbで受信し、この時点を記録し、さらにマスタータイムスタンプTSが、2つの記録された時点の間の中間時点(ta+tb)/2で生成されたことを推定する。次いで、PDは、2つのクロック間で推定された不一致Δ=(ta+tb)/2-TSを記録するためにこの情報を使用する。この推定された不一致は、その後、将来的な同期動作のために使用することができる。例えば、PDが、CDによって(CDのクロックによる)時点T’に所定の動作を実行するように指示されている場合、PDは、この動作が(PDのクロックによる)時点t’=T’+Δに実行されるべきことを決定するために、特定の時点でこの不一致分を付加することができる。
【0008】
この方法の暗黙の前提は、タイムスタンプの要求を送信してからCDによってRTCタイムスタンプが生成されるまでの間の時間間隔が、CDによってRTCタイムスタンプが生成されてからPDによってRTCタイムスタンプが受信されるまでの間の時間間隔に等しいことである。データの送信および処理のための正確な時間は、(例えば、信号の妨害、ネットワークの干渉やノイズなどに起因する)さまざまな不確実性の影響を受けるため、そのような前提は、必ずしも正確ではない場合がある。例えば、時折CDからPDへの送信は、その逆方向よりも長くかかる可能性がある(あるいはその逆もあり得る)。他方では、ある期間にわたって複数のRTCタイムスタンプを要求し、平均クロック不一致を計算することに、長すぎるかもしれないかなりの時間がかかる可能性もある(さらに、より長時間にわたって付加的なクロックドリフトに悩まされる場合もある)。
【0009】
本開示の態様および実施形態は、(例えば同期動作の実行のために)無線ネットワークにおける効率的かつ正確なクロック同期のシステムおよび方法を可能にすることによって、既存の技術のこれらの制限および他の制限に対処するものである。1つの例示的な実施形態では、CDおよびPDは、接続間隔T
0毎に1回通信することができ、PDは、接続イベントの開始時にタイムスタンプ要求をCDに送信することができ、CDは、要求を受信した直後にCDのタイムスタンプTSを記録することができる。次いで、CDは、記録されたタイムスタンプをPDに通信するために、次の接続イベントまで待機することができる。以下でより詳細に説明するように、PDは、タイムスタンプ時点TSと接続間隔T
0の持続時間とに基づいてクロック不一致Δを推測することができる。さまざまなPDによって不一致Δが決定されると、CDは、決定された不一致を使用して、同期動作の時間によって命令を送信することができ、複数のPDは、この動作を同期的に実行することが可能であってもよい。別の例示的な実施形態では、CDは、タイムスタンプをPDに通信しないようにしてもよい。その代わりに、CDとさまざまなPDとの間の無線接続の初期確立中に、CDは、各PDに対して、接続間隔の開始から個別にオフセットされた接続スロットを(接続間隔T
0内で)割り当てることができる。個別のオフセットは、同期動作をスケジュールする(CDにインストールされている)アプリケーションに認識されてもよい。アプリケーションは、同期動作のための目標時点を設定し、各PDに割り当てられた接続スロット中に、目標時点までの残り時間を各PDに通信することができる。通信された時間を使用して、さまざまなPDは、同じ目標時点に同期動作の実行を開始することが可能であってよい。いくつかの実施形態では、CDは、同期動作のための目標時点を複数のPDに同時に通信するために広告同報通信を使用することができる。多数の他の実施形態およびこれらの実施形態の複数の変形形態は以下で論じられる。便利な場合、異なる図面において同様の役割を果たす特徴には、(1桁目が異なる)同様のラベルが付与されている(例えば
図1、
図2および
図3におけるCD110、CD210およびCD310など)。
【0010】
図1は、いくつかの実施形態による、中央装置によって生成されたタイムスタンプと接続時間間隔の既知の持続時間とを使用する無線ネットワークにおける例示的なクロック同期100が示されている。
図1には、中央装置(CD)110および周辺装置(PD)120の動作が概略的に示されている。CD110およびPD120は、ブルートゥース(BT)ネットワーク、BT低エネルギー(BLE)ネットワーク、または任意の他の無線ネットワークの一部であってよい。CD110およびPD120は、先行して確立された無線ネットワーク接続を有することができる。
図1には、簡略化および簡素化のために、単一のPD120が示されているが、CD110は、複数のPDとの接続を同時にサポートしていてもよい。
図1に示されているさまざまなデバイスは、(例えば、有線接続、バス、または無線を介して)1つまたは複数の関連するデバイスと通信可能に結合されてもよい。いくつかの実施形態では、PD120(およびいくつかの事例ではCD110)は、関連するデバイスの状態を監視してもよいし、関連するデバイスの動作を促進させてもよい。例えば、PD120(および/または
図1には示されていない他のさまざまなPD)は、バッテリ(例えば、電気自動車の自動車用バッテリ)の1つまたは複数のセルに関連付けられてもよいし、バッテリセルの状態の測定が実行(または促進)されてもよい。この測定は、周期的に、またはCD110に通信可能に結合されたホストコントローラによって決定された時点に実行されてもよい。PD120(および/または他のさまざまなPD)は、バッテリパックに組み込まれてもよい。バッテリは、電気自動車を推進する電気モーターに電力を供給するために使用されてもよい。バッテリがモーターに電力を供給しているとき、バッテリセルは、異なるセルにおいて異なって発生し得る放電(および/または例えば制動中の充電)の一定の状態であってもよい。さまざまなセルの状態の有意でかつ正確な測定を実行するために、無線ネットワークのさまざまなPDは、測定を同期的に実行する(またはセルに結合された関連するセンサによって実行されるべき測定を引き起こす)ことができる。
【0011】
いくつかの実施形態では、無線ネットワークのさまざまなデバイスが、それらの内部クロックと、ネットワーク内の少なくとも1つの他の基準デバイス、例えばCD110との差分を決定することを可能にすることにより、PDによる同期動作が可能になる。決定されたクロック差分は、複数のデバイスにおいて同時に同期動作を実行するために使用されてもよい。いくつかの実施形態では、クロック同期100は、CD-PD接続の無線プロトコルの仕様によって促進されてもよい。例えば、CD110とPD120との間の接続の初期確立中にCD110によって設定され得るように、接続イベント130-1および130-2は、接続間隔T
0だけ離間させることができる。以下の
図1の説明では、CD110の内部クロック(例えば、RTC)の読み取りは、(使用されている場合)さまざまな下付き文字を伴って大文字Tで示され、PD120の内部クロックの読み取りは、同様にさまざまな下付き文字を伴って小文字tで示される。
【0012】
いくつかの実施形態では、クロック同期100は以下のようにして達成されてもよい。CD110は、接続イベント130-1の開始時に、メッセージ112をPD120に送信することができる。このメッセージ112は、1つまたは複数のデータパケットと、例えば管理フレーム、制御フレームなどのフレームと、を含むことができる。いくつかの実施形態では、メッセージ112は、ヘッダを含むがデータフレームは含まない空のメッセージであってよい。メッセージ112の受信に応じて、PD120は、CD110のRTCからタイムスタンプTSの要求122を生成し、生成された要求をCD110に送信することができる。PD120へのメッセージ112の供給、PD120による要求122の生成、ならびにCD110への要求122の送信は、接続間隔T0の持続時間よりも実質的に短い時間にわたって実行することができるが、いくつかの遅延がそのようなプロセスに関連付けられる場合もある。例えば、メッセージ112がCD110からPD120に送信され、PD120によって(例えばPD120のPHY層およびリンク層によって)処理されるのに時間t1がかかる可能性がある。さらに、PD120が要求122を生成し、この要求122を1つまたは複数のフレームに変換し、このフレームに基づいてデータパケットを生成し、このデータパケットをCD110に送信するのに時間t2がかかる可能性がある。付加的に、要求122がCD110によって受信され、処理されるのに時間t3がかかる可能性がある。
【0013】
PD120から要求122を受信すると、CD110は、タイムスタンプ140を生成する。生成されたタイムスタンプ140は、タイムスタンプ140が生成されたときの時点におけるCD110のRTCの現在値TSを含み得る。次の接続イベント130-2が発生した場合、CD110は、生成されたタイムスタンプ140をメッセージ114においてPD120に送信することができる。ここでも再び(先行のメッセージ112の場合のように)メッセージ114がPD120によって受信されるまで時間t1がかかる可能性がある。
【0014】
クロック同期を実行するために、PD120は、(タイムスタンプ140を伴う)メッセージ114の到着時点に自身の時点tを記録することができ、接続間隔を考慮して、CD110から受信したタイムスタンプ140の値TSと、PD120のクロックの現在の値(例えば、RTC)と、の間で比較を実行することができる。いくつかの実施形態では、この比較は、以下のように実行されてもよい。PD120の処理装置は、メッセージ114を受信することに応じて、PD120がタイムスタンプtを生成した時点でのCDのクロックの現在値Tを推測することができる。いくつかの実施形態では、PD120の処理装置は、タイムスタンプ140値TSと接続間隔の持続時間との和としての現在値Tを推測することができる;T=TS+T0。いくつかの実施形態では、PD120の処理装置は、さらに、PD120によって生成されるべき要求122が送信され、CD110によって処理されるのにかかる時間を補正することができ、かつ時間を例えばT=TS+T0-t2-t3として推測することができる。
【0015】
上記の式は例として意図されており、例えば、異なる(または付加的な)補正を考慮しながら異なる特定の式を使用する、接続間隔の持続時間に基づく他のさまざまなクロック同期スキームが可能であるが、それでもなお本開示の範囲内にあることを理解されたい。
【0016】
CD110の現在のクロック値Tが推測されると、PD120の処理装置は、次いで、クロック差分(不一致、オフセットなど)Δ=t-Tを計算し、このクロック差分を、CD110によって指示されるか、PD120上で動作するソフトウェアもしくはファームウェアによってスケジュールされ得るようなさまざまな同期動作の実行のために使用することができる。そのような命令は、メッセージ112、メッセージ114、またはCD110によって通信される任意の他の(先行するもしくは後続の)メッセージの一部として受信されてもよい。時点T’において同期動作を実行するための命令を受信すると、PD120は、決定されたクロック差分Δを加算して、動作を実行(または開始)するために正確な時点t’=T’+Δを識別することができる。
【0017】
いくつかの実施形態では、
図1に示される動作主体は逆であってもよく、すなわち、CD110が、タイムスタンプの要求を(例えばメッセージ112の一部として)PD120に送信することができ、PD120からタイムスタンプを受信すると、CD110は、2つのデバイス間のクロック差分を決定するために(上記のものと同様の)計算を実行することができる。続いて、CD110は、PD120が(例えば無線ネットワークの他のPDと同期して)動作を実行するための命令を生成する場合、CD110は、この差分Δを考慮して補正された動作の時間を命令に含むことができる。いくつかの実施形態では、データパケットが欠落したか否かを検出するための論理ユニット、例えば、PD110が要求112を生成してからタイムスタンプ140を受信し、CD110への付加的な要求が新しいタイムスタンプのためにトリガーされるまでの間に、接続間隔T
0よりも長い時間(または2倍の接続間隔2T
0など)が経過したか否かを検出するための論理ユニットがPD120上に存在してもよい。いくつかの実施形態では、付加的な精度のために、プロセスが複数回繰り返されてもよく、さらに統計的メトリックが、例えば、計算された差分Δの平均またはモードを計算することによって、クロック差分に対する補正のために使用されてもよい。
【0018】
図2は、いくつかの実施形態による、スケジュールされた接続イベントを使用して無線ネットワークにおける同期動作を実行する例示的なプロセス200を示している。図示のように、クロック同期は、複数のPD220-X(例えば、PD220-A、PD220-Bなど)に無線接続されたCD210を含むシステムにおいて実行されてよく、CD210は、特定の時点250における同期動作を促進するためにさまざまなPD220-Xとのスケジュールされた通信時間の差分を使用する。
図2では、CD210は、さまざまなPD220-Xの各々と通信するための時間をスケジュールする。
図2では、簡素化のために2つの周辺装置PD220-AおよびPD220-Bのみが示されているが、さまざまな実施形態では、周辺装置の数を限定する必要はない。いくつかの実施形態では、無線ネットワークは、接続されたメッシュネットワークであってもよく、それによって、任意のデバイスを動作CDとして指定でき、その役割を時間の経過と共にデバイス毎に変更することができる。
図2では実施形態の理解に役立ついくつかの情報が示されているが、明示的に示されていない他のデバイス、イベントおよびプロセス、例えば、CD210またはPD220-Xに関連付けられた(または結合された)他のデバイスや、さまざまな接続イベント(例えば接続イベント230-A、230-B、231-Aなど)の間にPD220-XによってCD210に返信される無線通信などが、無線ネットワークやそれらの通信の一部であってもよいことが理解されるであろう。
【0019】
時点250において発生する同期動作は、PD220-Xおよび/またはCD210に関連付けられたデバイスの状態の測定であってもよい。1つの実施形態では、各PD220-Xは、電気車両のバッテリ内のセルを監視するように構成されたセンサに関連付けられ、あるいは患者の身体の特定の部位からの読み取りを行う医療装置等に関連付けられている。同期動作の時点250に到達した場合、一部またはすべてのデバイス(例えばPD220-Xおよび/またはCD210)は、測定されるシステムの状態を特徴付ける正確なデータを取得するために(または他の何らかの動作を開始するために)、同時測定(または任意の他の動作)を実行することができる。
【0020】
いくつかの実施形態では、同期動作は、代替的にクロック同期イベントであってもよく、ここで、すべてのPD220-Xは、RTCタイムスタンプtを同時に記録し、記録されたタイムスタンプを、同じ時点でCD210によって記録されPD220-Xに通信(例えば一斉通信)されたタイムスタンプTと比較する。その後、PD220-Xは、将来的な同期動作の実行において、記録されたタイムスタンプの差分T-tを使用することができる。
【0021】
いくつかの実施形態では、CD210は、複数のPD220-Xとの通信を確立し、プログラミングする。CD210は、接続間隔T0毎に各PD220-Xとのデータの交換のために各PD220-Xとのさまざまな接続イベント230-Xのタイミングを管理する。CD210は、例えば、PD220-AおよびPD220-Bと無線通信してもよい。CD210は、PD220-Aとの通信時点と、オフセット時間B232だけ遅延されるPD220-Bとの通信時点と、をスケジュールする。
【0022】
1つの非限定的な例では、CD210は、接続イベント230-Aの間(例えばその開始時)にメッセージ212をPD220-Aに送信する。メッセージ212は、同期動作の将来的な時点250までの遅延時間TA234を含むことができる。メッセージ212は、上記で論じられたように、例えば、t1によって捕捉されたものなどの、通信時間、処理時間などについての補正を含むことができる。より具体的には、CD210によって通信される遅延時間TAは、予想される補正によって短縮されてもよい。例えば、遅延時間TA-t1は、PD220-Aに通信されてもよい。いくつかの実施形態では、CD210は、意図的な遅延時間TAを通信することができるのに対して、補正は、PD220-Aによって適用されてもよい。接続イベント230-Bの間、CD210は、同期動作の将来的な時点250まで続く遅延時間TB236も含んだ別のメッセージ214をPD220-Bに送信する。遅延時間TB236は、接続イベント230-Aと接続イベント230-Bとの間の時間を考慮して、例えばオフセット時間B232を考慮して選択されてもよい。
【0023】
図2に示されているように、同期動作の時点250を過ぎた後(ならびに同期動作が実行された後)、CD210は、後続の接続イベントのうちの1つ、例えば接続イベント231-Aの間にPD220-Aと再び通信することができる。より具体的には、CD210は、新たなメッセージ216をPD220-Aに送信することができ、この新たなメッセージ216は、第2の同期動作(図示せず)に対する新たな遅延時間を含むことができる。付加的に、PD220-Aは、データ218をCD210に送信することもできる。このデータは、実行された同期動作と連携して、PD220-A(またはPD220-Aに関連付けられたデバイス)によって行われた測定結果を含むことができる。
【0024】
いくつかの実施形態では、遅延時間TAおよびTBの決定は、CD210上で実行される同期アプリケーションによって実行されてよい。この同期アプリケーションは、同期動作の時点250を決定し、さまざまなPD220-Xのためのオフセット時間を識別し、メッセージ212および214の内容を生成し、PDから、同期動作中または同期動作に関連して生成されたデータを収集することなどができる。一部のデバイスおよび無線ネットワーク(例えばBTおよびBLEネットワーク)では、同期アプリケーションは、CD210の下位レベルの機構(例えばリンク層)によって管理することができるオフセット時間に対する標準アクセスを持たない場合がある。そのような状況に対処するために、CD210およびPD220-Xによって使用される通信規格に対する変更が行われてもよい。より具体的には、CD210のリンク層が、さまざまなPDのためのオフセット時間を決定した後(例えば、ネットワーク接続が確立されている期間中に)、リンク層は、同期アプリケーションが、設定されたオフセットにアクセスすることを許可することができる。
【0025】
図3は、いくつかの実施形態による、同報通信広告を使用して無線ネットワークにおける同期動作を実行する別の例示的なプロセス300を示している。特に、CD310は、PD320-Xによって受信されるメッセージ312-X(例えば、312-1、312-2、312-3など)を同報通信することができる。いくつかの実施形態では、メッセージ312-Xは、BTまたはBLE広告パケットを含むことができる。メッセージ312-Xは、無線ネットワークのデバイスによる将来的な同期動作を促進するデータを含むことができる。いくつかの実施形態では、無線干渉または環境条件の変化に起因するデータ損失を回避するために、単一の同期動作に備えて複数のメッセージを同報通信することがCD310にとって有利になる場合があり、連続した同報通信は、間隔T
1(または、いくつかの実施形態では、不等長な時間間隔T
1≠T
2)によって分離されてもよい。複数の同報通信は、送信中の、またはPD320-Xによるデータ受信エラーの結果としてのパケット損失の問題を軽減することができる。
【0026】
1つの例示的な実施形態では、CD310が、メッセージ312-1を複数のPD320-Xに同報通信する(
図3では2つのPDが示されているが、任意の数のPDが存在してもよいことが理解されるであろう)。メッセージ312-1は、将来的な時点(例えば同期動作の時点350)において、PD320-Xのうちの少なくともいくつかによる同期動作を促進する情報を含むことができる。予め定められた時間、例えば間隔T
1の経過後、CD310は、将来的な時点350における同期動作をさらに促進し、時間間隔T
1の経過を考慮して生成される更新情報を含み得る第2のメッセージ312-2を同報通信することができる。同様に、より多くのメッセージが、同期動作の時点350を広告するために同報通信され、各々が同報通信メッセージ間の時間の経過を考慮して調整されてもよい。
【0027】
1つの実施形態では、CD310は、同期動作が将来の時点TSYNCにおいて実行されるべきであることを決定することができる。CD310は、同期動作の時点350までの遅延時間334(例えばTSYNC)を含む第1の広告メッセージ312-1を同報通信することができる。時間間隔T1の経過後、CD310は、同期動作の時点350までの更新された遅延時間336(例えばTSYNC-T1)を含み得る第2の広告メッセージ312-2を同報通信することができる。同様に、時間間隔T2の経過後、CD310は、同期動作の時点350までの別の更新された遅延時間(例えばTSYNC-T1-T2)を含み得る第3の広告メッセージ312-3などを同報通信することができる。別の実施形態では、メッセージ312-Xは、イベントカウンタおよび遅延時間を含むことができる。目標イベントカウントに到達したら、例えば所定の数の間隔T1,T2…が経過したら、PD320-Xは、同報通信された遅延時間の経過を待機し、次いで、同期動作の時点350において動作を実行することができる。
【0028】
いくつかの実施形態では、間隔T
1,T
2…は、同じ持続時間である。そのような実施形態では、メッセージ312-Xは、周期的な広告であってよい。付加的に、CD310(および/またはPD320-X)は、例えば、通信遅延t
1のための補正などさまざまな補正を考慮することができる。
図3では、通信遅延t
1が、PD320-AについてもPD320-Bについてと同じであるように示されているが、これは、限定として解釈されるべきではない。さまざまなPD320-Xの異なる場所、環境、プロセッサ、機能などを考慮して、別個のPD320-Xに対して、明確で異なる補正が(例えば経験的に)決定されてもよい。これらの補正は、さまざまな形態をとることができ、そのいくつかは
図1に関連して説明される。
【0029】
図4は、いくつかの実施形態による、パケット損失に対する付加的な保護を伴う、スケジュールされた接続イベントを使用して無線ネットワークにおける同期動作を実行するための例示的なプロセス400を示している。
図4には2つのPD420-Aおよび420-Bが示されているが、これらのPDの数が限定されるものではないことが理解されるであろう。CD410は、(例えば、通信間隔T
1、T
2などの開始時に)PD420-Xにメッセージを送信し、各PD420-Xからの通信を受信する時間をスケジュールすることができる。特定の無線ネットワーク、例えばメッシュネットワークでは、異なるデバイスが異なる時点においてCD410として動作できることが理解されるであろう。CD410は、1つまたは複数のPD420-X(例えば、PD420-A、PD420-Bなど)にメッセージ412を同報通信することができる。このメッセージ412は、将来的な同期イベントの時点の表示を含むことができる。この時点の表示は、いくつかの実施形態では、遅延時間(例えば遅延時間434)か、またはイベントカウンタおよび遅延時間であってもよい。メッセージ412は、CD410によって管理され、CD410に返信するための各PD420-Xに対する時間およびチャネルを示す情報も含むことができる。(例えばCD410によって実装される)ネットワーク設定に依存して、すべてのPD420-Xは、各通信間隔でCD410にデータを送信するようにスケジュールされてもよく、あるいはPD420-Xのいくつかのみは所与の通信間隔でCD410と通信することができる。特定のPD420-XからCD410への通信のための時点の表示は、特定の通信間隔の開始からPD420-xによる通信時点までのオフセット時間であってもよく、例えば、PD420-Aについてのオフセット時間A428、PD420-Bについてのオフセット時間B432などであってもよい。上記の図面に関連して説明したように、通信および処理(例えばt
1)における遅延、ならびに他の可能性のある遅延を、さまざまな方法で考慮にいれてもよい。
【0030】
それらのスケジュールされた時点において、PD420-Xは、メッセージ414および416をCD410に通信することができる。これらのメッセージ414および416は、空のパケット(例えばヘッダのみのパケット)、PD420-Xに関連付けられたデバイスによって取得された最近の(例えば同期時の)測定値からのデータ、タイムスタンプ、または他の情報を含むことができる。いくつかのケースでは、
図4においてPD420-AからCD410へのメッセージ414上の十字によって描かれているように、干渉、ノイズ、妨害に起因して、または何らかの他の原因により、PD420-Xのいずれかによって送信された1つまたは複数のデータパケットが、CD410によって受信されない場合がある。CD410が、PD420-Aからのスケジュールされたメッセージ414が到着していないことを検出すると、CD410は、例えば、次の通信間隔T
2の開始時に後続のメッセージ418を同報通信することができる。このメッセージ418は、メッセージ412と同様のデータ、例えば、同期イベントの時点450の表示(遅延時間436)およびCD410へのPD420-Xの通信を促進する情報を含むことができる。メッセージ418は、損失したデータパケットを交換する要求、例えばPD420-Aにメッセージ414のコピーを再送信させる要求を含むこともできる。次いで、CD410に届かなかったメッセージ414の内容が再送信されてもよく、例えば、PD420-Aは、CD410によってスケジュールされた通信時点において、メッセージ414で失われたデータを含み得る新たなメッセージ422を送信することができる。例えば、
図4に示されているような実施形態は、PD420-XからCD410への信頼性の高いデータ転送が望まれる場合、無線ネットワークが相当量のノイズおよび/または干渉を有する場合、PD420-Xの一部が低電力デバイスであり得る場合および他の場合に使用されてもよい。
【0031】
図5は、いくつかの実施形態による、盗聴を利用することによって空域使用を制限しながら、無線ネットワークにおける同期動作を実行するための例示的なプロセス500を示している。
図5に概略的に示されているように、CD510は、PD520-Aとの接続を確立することができる(PD520-Xの数は2つに限定されないことが理解されるであろう)。各接続イベント530-1、530-2などの間、CD510は、将来的な同期動作の時点(例えば同期動作の時点550)の表示を含むメッセージ512、514などをPD520-Aに送信することができる。上記詳述のように時点の表示は、遅延時間(例えば遅延時間532など)や目標クロック時間を含むことができ、さらにイベントカウンタを含むことができ、あるいは同期動作を促進する任意の他の適切な方法を表すことができる。同期動作は、測定を行うこと(または関連するデバイスに測定の実行を指示すること)、タイムスタンプなどのデータを生成すること、または(例えば、スイッチの作動、物理的なデバイスの操作など)何らかの他の動作を実行することを含むことができる。
【0032】
PD520-Bは、(例えば、破線の矢印513によって示されているように)CD510によって送信されるメッセージ512を盗聴することができる。この盗聴は、CD510とPD520-Bとの間に確立された以前の(例えば一時的な)無線接続、またはPD520-AとPD520-Bとの間の以前の(または現在の)無線接続などによって促進されてもよい。例えば、CD510との以前の接続から、PD520-Bは、認証情報(例えば、無線ネットワークの名前、通信の暗号化に使用される公開鍵/秘密鍵および/または他の情報)を所有している場合がある。いくつかの実施形態では、PD520-Bは、CD510および/またはPD520-Aとの接続を以前に確立していない可能性があり、CD510とPD520-Aとの間で発生する通信の受動的リスナーである。メッセージ512から盗聴するPD520-Bは、例えばメッセージ512に含まれる遅延時間532に基づいて、同期動作の時点550を決定することができる。続いて、PD520-Bは、PD520-Aと同時に同期動作を実行することができる。
【0033】
図5に示されているように、PD520-Aは、接続イベント530-2の間、例えば、同期動作に関連して生成されたデータを通信するために、メッセージ522をCD510に送信することができる。メッセージ522は、例えば、測定データ、RTCタイムスタンプなどを含むことができる。次の接続イベント530-2は、接続間隔T
0の後に発生することができ、CD510およびPD520-Aは、例えば、メッセージ514に含まれていてもよいなどの将来的な同期イベントに関するさらなる命令を傍受するために(例えば、破線矢印515によって示されているように)依然として通信を盗聴しているPD520-Bと再び通信することができる。いくつかの実施形態では、PD520-Bは、接続イベント530-2の間にCD510とのアクティブな無線接続を確立して、同期イベントに関連してPD520-Bによって取得されたデータを含むメッセージ524をCD510に配信することができる。
【0034】
いくつかの盗聴実施形態では、CD510は、CD510が無線通信する特定のPDを(例えば、周期的に、または時折)変更することができる。例えば、予め定められた時間後、CD510は、PD520-Aとの接続を解除し、PD520-Bとの接続を(今度はPD520-Aが盗聴する状態で)確立することができる。いくつかの盗聴実施形態では、CD510は、PD520-Xの第2のサブセットが第1のサブセットの通信を盗聴している間に、PD520-Xの第1のサブセットとの接続を維持することができる。いくつかの盗聴実施形態では、PD520-Bは、他のPD、例えばPD520-Aと無線通信することができ、PD520-Aを介してCD510にデータを中継することができる。本開示の範囲内にある他のさまざまな接続スキームおよびパターンが考案されてもよい。
【0035】
図6Aおよび
図6Bは、いくつかの実施形態による、無線ネットワークにおいて同期イベントを開始するための例示的なトリガースキームを示す。
図6Aおよび
図6Bに示されているコンポーネント(およびその動作)は、無線ネットワークの周辺装置の一部として実装されてもよい。
図6Aは、ハードウェア割り込みを使用するトリガースキーム600を示している。同期動作の時点を示すメッセージがCDからPDによって受信された後、PD上でインスタンス化されたアプリケーション630は、(例えば、
図1~
図5に関連して説明したように)PDによって実行されるべき同期動作の将来的な時点を決定することができる。アプリケーション630は、同期動作の時点で、プログラミング可能な比較器(例えばハードウェア比較器)620を構成することができる。比較器620は、例えば上述した方法の1つを使用して、CDのクロック(またはネットワーク内の他のクロック)と同期させてもよいPDのクロック610によって出力されるクロック値を監視してもよい。比較器620は、クロック610によって出力された現在のクロック値が(アプリケーション630によってプログラミングされたように)同期動作の時点と一致する(または超える)ことを検出すると、比較器620は、割り込み信号をPDの中央処理装置(CPU)650に出力する。CPU650は、そこで処理されている現在のタスクを停止し、PDおよび/またはPDに関連付けられている1つまたは複数のデバイスを使用して、CPU650に同期動作640(例えば、測定を実行させる、1つまたは複数の動作を開始させるなど)を実行させる命令を有するメモリデバイス(例えば、レジスタ)にアクセスする。
【0036】
図6Bは、ファームウェアまたはソフトウェア割り込みを使用するトリガースキーム602を示している。同期動作の時点を示すメッセージがPDによって受信された後、PD上にインスタンス化されたアプリケーション630は、同期動作の時点を決定することができ、BTファームウェア660内にプログラマブルファームウェア(FW)割り込み662を構成することができる。BTファームウェア660は、同期動作の時点が到来したことを決定すると、BTファームウェア660は、CPU650に割り込み信号を出力し、CPU650は、
図6Aに関連して上述したように同期動作640を実行する。いくつかの実施形態では、FW割り込み662をプログラミングする代わりに、アプリケーション630は、(破線のボックスで示されている)ソフトウェア(SW)割り込み632をプログラミングすることができる。同期動作の時点では、SW割り込み632は、BTファームウェア660に命令を出力し、BTファームウェア660は、割り込み信号をCPU650に通信する。
【0037】
図7~
図10は、無線ネットワークを介して接続されたさまざまなデバイスによって同期動作を実行する例示的な方法700~1000を示すフローチャートである。いくつかの実施形態では、各デバイスの内部クロックを同期させるためにネットワークの少なくともいくつかのデバイス間でメッセージが通信される。いくつかの実施形態では、CDは、複数のPDによる動作の同時実行を促進するメッセージを送信する。いくつかのケースでは、動作は、測定を行うことであってもよいし、あるいはPDに関連付けられたいくつかの付加的なデバイス、例えばPDと(有線、無線、光などの接続を介して)通信するが、CDとは直接的に通信しないデバイスを利用することであってもよい。いくつかの実施形態では、いくつかのまたはすべてのPDは、タイムスタンプを同期的に記録し、この記録されたタイムスタンプを、内部クロックを同期させ、後続の同期動作を実行するために使用することができる。いくつかの実施形態では、データ損失または他の通信エラーに対する方法700~1000のいずれかに保護があってもよい。
【0038】
図7~
図10は、そこに記載された方法を、所定の組み合わせ、順列、または動作主体の割り当て、すなわちPDまたはCDが特定の動作を実際に行うか否かに限定することを意図するものではない。むしろ、それらは、本開示のいくつかの実施形態が示されることを意図しており、当業者は、いくつかの動作が特定の用途のために再配置されてもよく、いくつかの動作が常に実行される必要はなく、いくつかの動作が省略されてもよいなどを認識するであろう。
【0039】
図7は、いくつかの実施形態による、無線ネットワークの複数の周辺装置による同期動作を促進するための、無線ネットワークの中央装置によって実行される例示的な方法700のフローチャートである。方法700は、1つまたは複数のPDの内部クロックをCDの内部クロックとの一致させるために使用されてもよい。方法700は、PDの各々に関連付けられた複数のデバイスによる同期動作を促進するために使用されてもよい。ブロック710では、CDが、複数のPDとの無線接続を確立する。確立された接続は、無線ネットワークをサポートするために任意の適切な無線通信プロトコルを使用することができる。いくつかの実施形態では、無線ネットワークは、ブルートゥース(BT)ネットワークまたはブルートゥース低エネルギー(BLE)ネットワークであってよい。ネットワークのいくつかのまたはすべてのPDは、少なくとも1つの関連するデバイス、例えば、測定を行うかまたは動作を実行するように構成されたデバイスに通信可能に結合されてもよい。例えば、関連するデバイスは、物理的に分離された場所に配置されてもよい他のいくつかのデバイスの条件または状態を決定するように構成されてもよい。
【0040】
ブロック720では、CDが、任意選択的に(ブロックの破線の輪郭によって示されているように)PDのうちの少なくとも1つから時刻同期要求を受信する。ブロック730では、CDは、1つまたは複数のメッセージをPDに送信する。CDが(ブロック720において)時刻同期要求を受信したこれらの実施形態では、ブロック730において送信されるメッセージは、要求を受信することに応じたものであってよい。送信されるメッセージは、CDの内部クロックによって測定される基準時間に関連付けられたタイムスタンプを含むことができる。この基準時間は、各PDからの時刻同期要求のCDによる受信(ブロック720)に関連付けられてもよい。例えば、基準時間は、同期要求を受信する実際の時間であってもよく、これは、さらに
図1に関連して説明したように、さまざまな遅延時間t
1、t
2、t
3によって補正されてもよい。
【0041】
ブロック730においてCDによって送信されるメッセージは、同期動作の実行を促進することができる。このメッセージは、同期動作の時点の表示を含むことができる。この表示は、メッセージの時点から動作の時点までの遅延時間であってもよい。この表示は、例えば、イベントカウンタと、目標イベントカウンタが到達した後に実施されるべき遅延と、を含むことができる。PDのいくつかまたは各々は、個別化された時点の表示を受信することができる。例えば、第1のPDのために送信される第1のメッセージは、同期動作の第1の時点の表示(例えば、
図2における遅延時間T
A234)を含むことができる。第1の時点の表示は、第1のPDのための予め定められた第1の通信時間(例えば、
図2に示されているように接続間隔T
0の開始時点)に対して定められてもよい。同様に、第2のPDのために送信される第2のメッセージは、同期動作の第2の時点の表示(例えば、
図2における遅延時間T
B236)を含むことができる。第2の時点の表示は、第2のPDのための予め定められた第2の通信時間(例えば、オフセット時間B232)に対して定められてもよい。より具体的には、遅延時間T
B236は、接続間隔T
0とオフセット時間B232との間の差分として定められてもよい(任意選択的に、補正、例えばt
1も考慮される)。同期動作は、例えばメータに測定を行うように指示するなどの、PDと1つまたは複数の関連するデバイスとの対話であってもよい。
【0042】
ブロック740では、CDは、PDのうちのいくつかまたはすべてによって送信されたデータを受信する。送信されたデータは、各PDによって、または各PDに関連付けられたデバイスによって実行された同期動作に関連して生成されてもよい。例えば、送信されたデータは、PDによって、またはPDに関連付けられたデバイスによって実行された測定の結果を含むことができる。送信されたデータは、PDのCPUによって記録されたタイムスタンプを、または同期動作に関連する他のデータを含むこともできる。
【0043】
図8は、いくつかの実施形態による、データ損失に対する付加的な保護を伴う、複数の周辺装置による同期動作を促進するために無線ネットワークの中央装置によって実行される例示的な方法800のフローチャートである。
図8の方法800(または同様の方法)は、上述した複数の実施形態と共に使用されてもよい。ブロック810では、CDは、同期動作の実行を促進するために1つまたは複数のPDにメッセージを送信する。このメッセージは、例えばBLE接続イベントなどの予めスケジュールされた接続イベントの間に送信されてもよい。CDは、複数のPDによって受信されるべきメッセージを同報通信してもよいし、個々の各PDに目標通信を送信してもよいし、それらの組み合わせを実行してもよい。CDがすべてのPDに対してメッセージを同報通信している場合、そのようなメッセージは、広告メッセージであってもよいし、あるいは広告フレームを含む他のタイプのメッセージであってもよい。メッセージは、周期的なBLE広告であってもよいし、周期的なBLE広告を含んでいてもよい。送信されるメッセージが、広告メッセージである場合、同期イベントの時点の表示は、すべてのPDに対して共通であってもよい。同期イベントの促進は、クロック同期の形態をとることができ、同期動作の特定の時点に遅延時間を(イベントカウンタありまたはなしで)中継するか、または任意の他の適切な形態をとることができる。時点の表示が遅延時間である場合、一連のメッセージは、メッセージ間の時間の経過によって調整された(例えば低減された)時点の第2(第3など)の表示と共に同じ同期動作を参照することができる。
【0044】
次いで、いくつかのまたはすべてのPDは、例えば、測定を実行することによって、1つまたは複数の動作を開始することによって、関連するデバイスに測定を実行させるかまたは1つまたは複数の動作をとらせることによって、あるいは任意の数の他の適切な同期動作を実行することによって同期動作を実行することができる。同期動作の実行中、同期動作に関連付けられたデータが生成されてもよい。例えば、バッテリの各セルの状態は、PDまたはPDに関連付けられたデバイスによって同期的にプローブされてもよい。いくつかのまたはすべてのPDは、同期動作に関連付けられたデータを含むメッセージをCDに通信することができる。ブロック820では、CDは、第1のPDから、同期動作に関連して生成されたデータが受信されなかったことを決定することができる。ブロック830では、データが受信されていないことに応じて、CDは、第1のPDからの交換データの要求を通信することができる。ブロック840では、CDは、受信された要求に応じて第1のPDによって生成された交換データを受信することができる。
【0045】
図9は、いくつかの実施形態による、同期動作を実行するために無線ネットワークの周辺装置によって実行される例示的な方法900のフローチャートである。ブロック910では、PD(ここでは第1のPDと称する)とCDとの間で無線接続が確立される。確立された接続は、任意の適切な無線通信ネットワークを介していてもよい。いくつかの実施形態では、無線通信ネットワークは、BTネットワークまたはBLEネットワークであってよい。いくつかの実施形態では、第1のPDは、CDとの双方向接続を有すること、例えば、第1のPDがデータを受信してデータをCDに送信することを可能にする接続を有することができる。いくつかの実施形態では、第1のPDは、CDから無線ネットワークの第2(第3など)のPDに向けられたデータを受信することのみ(例えば、受け入れるが送信はしないこと)を可能にするCDとの接続を有することができる。より具体的には、第1のPDは、第2(第3など)のPDとCDとの間に確立された双方向接続を盗聴することが可能であってもよい。他の実施形態では、第1(第2など)のPDとCDとの間に形成された通信接続が存在しない場合もあり、そのため、CDは、代わりに、複数のPDによって受信されることを意図したメッセージ(例えばBT広告メッセージ)を同報通信することができる。PDの各々またはいくつかは、1つまたは複数の関連するデバイスに通信可能に結合されてもよい。
【0046】
いくつかの実施形態では、ブロック920において、第1のPDが、時刻同期要求をCDに送信することができる。この時刻同期要求を受信することに応じて、CDは、CDの内部クロックによって測定され、CDが時刻同期要求を受信した時点に関連付けられた基準時間のタイムスタンプを含み得る1つまたは複数のメッセージを生成および送信することができる。いくつかの実施形態では、CDが要求を受信したときの時点は、CDが要求を処理し、タイムスタンプを作成するのにかかった時間によって、ならびに他の可能性のある遅延によって調整されてもよい。
【0047】
ブロック930では、第1のPDが、CDから、時刻同期要求を受信することに応じてCDによって生成および送信された1つまたは複数のメッセージを受信する。ブロック940では、第1のPDは、受信したメッセージを考慮して、同期動作の時点を決定する。より具体的には、同期動作は、第1のCDに関連付けられた1つまたは複数のデバイスに、何らかの機能を実行させ(例えば測定を行わせまたは他の何らかの動作を実行させ)、後続のCDへの(または他のPDへの)通信のためのタイムスタンプを記録させるなどの動作であってもよい。CDが(例えば第1のPDからの要求に応じて)タイムスタンプを記録する実施形態では、同期動作の時点は、
図1に関連してより詳細に説明したように、CDによって記録されたタイムスタンプTSと、CDと第1のPDとの間のデータ交換の周期に関連付けられた接続間隔(例えばT
0)と、を考慮して決定されてもよい。ブロック950では、同期動作が第1のPDによって実行されてもよい。この同期動作は、同様の(または個別化された)動作を実行するネットワークのさまざまな他のPDと同時に実行されてもよい。いくつかの実施形態では、CDは、同様の(または異なる)動作を同時に実行することもできる。例えば、CDは、同様に、バッテリの1つまたは複数のセルの状態の測定を実行することができる。同期動作は、例えば、測定デバイス(例えばセンサ)、アクチュエータ、処理装置または任意の他の適切なデバイスなどの1つまたは複数の関連するデバイスとの第1(第2など)のPDの対話を含むことができる。
【0048】
いくつかの実施形態では、ブロック960において、第1(第2など)のPD(および任意選択的にCD)は、同期動作に関連してデータを生成することができる。ブロック970では、第1(第2など)のPDは、同期動作に関連して生成されたデータ、例えば、第1(第2など)のPDに関連付けられたデバイスの状態の測定を記述するデータなどをCDに送信することができる。
【0049】
CDは、例えば、通信エラー、干渉などに起因して、PDのいくつかまたはすべてからデータを受信しない場合がある。いくつかの実施形態では、CDは、失われたデータのための交換データの要求をPDに送信することができる。この交換データの要求は、ブロック980において第1(第2など)のPDによって受信されてもよい。要求を受信すると、PDは、ブロック990において、例えばCDと通信するためのPDの次のスケジュールされた時点に、失われたデータのための交換データを含む別のデータパケット(または複数のデータパケット)を送信することができる。
【0050】
図10は、いくつかの実施形態による、同期動作の実行をスケジュールする周辺装置のための例示的な方法1000のフローチャートである。ブロック1010では、PDが、1つまたは複数のメッセージを受信する。ブロック1020では、1つまたは複数の受信したメッセージを考慮して、PDは、例えば
図1~
図5に関連して上述したように、同期動作の将来的な時点を決定する。受信されたメッセージは、同期動作の表示を提供する任意の適切なタイプのものであってもよい。ブロック1030では、PDは、同期動作を開始する割り込みを設定することにより同期動作をスケジュールする。この割り込みは、例えば
図6に関連して上記で論じられたものなどの遅延を考慮して、同期動作の時点より前の予め定められた時点に設定されてもよい。これらの遅延の長さは、任意の適切な方法を使用して経験的に決定された(例えば、先に測定または推定された)ものであってもよい。割り込みは、プログラミング可能なソフトウェア割り込み、ファームウェア割り込み、またはハードウェア割り込みのうちの任意の1つまたは複数であってもよい。いくつかの実施形態では、ハードウェア割り込みは、同期動作に関連付けられたクロック値を検出し、前記クロック値が検出されたときに動作をトリガーする専用のハードウェアブロック比較器によって引き起こされる。ブロック1040では、割り込みによってトリガーされた同期動作が実行される。
【0051】
図11は、いくつかの実施形態による、時刻同期および同期動作が実行されてもよい無線ネットワークシステム1100の図である。無線接続ならびに複数のPDとのデータ交換をサポートすることができるCD1110が示されている。2つのPD1120-Aおよび1120-Bが簡素化のために示されているが、無線ネットワークシステム1100は、任意の数のPDを含むことができる。以下でより詳細に論じられるように、PD1120-Aのいくつかのコンポーネントおよびモジュールが示されている。CD1110およびPD1120-Bの内部構造は示されていないが、PD1120-Aのいくつかまたはすべてのコンポーネントは、無線ネットワークシステム1100のCD1110、PD1120-Bおよび他のデバイス内に存在してもよいことが理解されるであろう。
【0052】
CD1110は、矢印で概略的に示されるように、PD1120-Aおよび1120-Bとそれぞれ無線接続1104および1106を確立することができる。無線接続1104および1106は、BT接続、BLE接続、または任意の他の適切な接続であってもよい。いくつかのまたはすべてのPDは、1つまたは複数のデバイスに関連付けられてもよく、例えば、
図11のそれぞれの実線によって示されるように、PD1120-Aは、1つまたは複数のデバイス1122-Aに関連付けられ(かつ通信可能に結合され)てもよく、PD1120-Bは、デバイスB1122-Bに関連付けられてもよい。いくつかの実施形態では、1つまたは複数のPD、例えばPD1120-Aおよび/またはPD1120-Bは、時刻同期要求をCD1110に送信することができる。同様に、CD1110は、1つまたは複数のメッセージをPD1120-Aおよび/またはPD1120-Bに通信することができる。CD1110によって送信されるメッセージは、1つまたは複数のPDから時刻同期要求を受信することに応じたものであってもよい。このメッセージは、別個の接続イベントの間に各PDに送信されてもよく、あるいは無線ネットワークシステム1100のすべてのPD(またはそのサブセット)に同報通信されてもよい。いくつかの実施形態では、CD1110は、PD1120-Bとの無線接続1106を確立し、PD1120-Aとの無線接続1104を確立しないことがある。そのような場合、PD1120-Aは、無線接続1106を盗聴している場合がある。メッセージは、CD1110のクロックによって測定される基準時間に関連付けられたタイムスタンプを含むことができる。この基準時間は、1つまたは複数のPD1120-Aおよび/または1120-Bから時刻同期要求を受信するCD1110に関連付けられた時間であってもよい。CD1110からPDへのメッセージは、将来的な同期動作の時点の表示を含むことができる。この時点の表示は、無線ネットワークシステム1100のいくつかのまたはすべてのPDに対して共通であってよいし、あるいは、例えばCD1110と、無線ネットワークシステム1100のさまざまなPDとの通信のためのスケジュールを考慮して、個々のPD(またはPDのグループ)のために生成されてもよい。
【0053】
PD1120-A(および同様に、PD1120-Bまたは無線ネットワークシステム1100の任意の他のPD)は、ネットワークの接続性および機能性(例えば、データの受信、送信および中継)をサポートする任意のデバイス、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、電話、スマートTV、センサ、照明装置、電気電池、発電機、電気器具、コントローラ(例えば、空調、暖房、給湯コントローラ)、ロック、セキュリティシステムのコンポーネント、ロケーションビーコン、あるいは任意の他の種類のネットワークデバイスなどであってもよい。PD1120-Aは、時刻同期を実行し、PD1120-Aによる同期動作を促進するためのモジュール(例えば、ソフトウェア、ファームウェア、ハードウェアコンポーネント、またはこれらの任意の組み合わせ)であってよい、同期アプリケーション1130をサポートすることができる。いくつかの実施形態では、PD1120-Aによる同期動作は、他のデバイスによる(例えば、無線ネットワークシステム1100の他のPDおよび/またはCDによる)動作と同時に実行される。いくつかの実施形態では、PD1120-Aによる同期動作は、他のデバイスによって実行される動作と同時ではないが、予め定められたパターンに従って実行されてもよい。例えば、PD1120-Aは、第1の予め定められた時点に1つの動作を実行し、PD1120-Bは、(第1の予め定められた時点よりも前または後であってもよい)第2の予め定められた時点に別の(または同様の)動作を実行するなどができる。PD1120-A上の同期アプリケーション1130は、CD1110上にインスタンス化された同様のアプリケーションと連携して動作する(例えば、そこから命令を受信してそこにデータを提供する)ことができる。同期アプリケーション1130は、産業アプリケーション、車両アプリケーション、安全アプリケーション、測定制御アプリケーション、技術的制御および監視アプリケーション、スマートホームコントロールアプリケーション、ナビゲーションアプリケーション、ロボットアプリケーションなどであってよい。同期アプリケーション1130は、CD1110に対する時刻同期要求を生成し、同期動作の時点の表示をCD1110から受信して処理し、関連するデバイス1122-Aに、同期動作と連携して1つまたは複数の動作を実行させ、関連するデバイス1122-Aからデータを収集し、収集したデータ(交換データを含む)を処理してCD11110に通信するなどができる。
【0054】
PD1120-A(ならびに他のPDおよびCD)は、単一の無線帯域(例えば、2.4GHz帯域、5GHz帯域、60GHz帯域など)または複数の帯域(例えば、2.4GHz帯域および5GHz帯域の両方)での無線接続が可能であってもよい。PD1120-Aは、電波の受信および送信のために1つまたは複数のアンテナ1140を使用(または接続)することができる。いくつかの実施形態では、アンテナ1140は、単一のマルチ入力マルチ出力(MIMO)であってもよいし、それを含んでいてもよい。アンテナ1140によって受信された信号は、無線コンポーネント1142によって処理されてもよく、この無線コンポーネント1142は、フィルタ(例えば、バンドパスフィルタ)、低ノイズ無線周波数増幅器、逓降変換ミキサ、中間周波数増幅器、アナログ-デジタル変換器、逆フーリエ変換モジュール、逸脱モジュール、インターリーバー、エラー補正モジュール、スクランブラー、ならびにアンテナ1140によって受信された変調信号を処理するために使用されてもよい他の(アナログおよび/またはデジタル)回路を含むことができる。無線コンポーネント1142は、受信した(およびデジタル化された)信号を物理層コンポーネント(PHY)1144に提供することができる。PHY1144は、デジタル化された信号を、リンク層1146に供給することができるフレームに変換することができる。リンク層1146は、例えば、広告、スキャン、開始、接続およびスタンバイなどの複数の状態を有し得る。リンク層1146は、フレームをデータパケットに変換することができる。送信の間、データ処理は、リンク層1146がデータパケットをフレームに変換し、それがPHY1144によって無線コンポーネント1142に提供されるデジタル信号に変換されるという逆の方向で発生することができる。無線コンポーネント1142は、デジタル信号を無線信号に変換し、この無線信号を、アンテナ1140を使用して送信することができる。いくつかの実施形態では、無線コンポーネント1142、PHY1144およびリンク層1146は、無線コントローラの一部として、例えば単一の集積回路として実装されている無線コントローラとして実装されてもよい。
【0055】
PD1120-A(または他のPDおよびCDデバイス)は、1つまたは複数のCPU1150を含むことができる。いくつかの実施形態では、CPU1150は、1つまたは複数の有限状態機械(FSM)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)などを含むことができる。PD1120-Aは、PD1120-A上で実行されてもよい他のプロセスと一緒に、同期動作に関連するさまざまな動作を実行する単一のプロセッサを有することができる。いくつかの実施形態では、PD1120-Aは、PD1120-A上で実行される他のプロセスおよびアプリケーションとは別個の同期操作のための専用のプロセッサを有することができる。PD1120-Aは、さらに、メモリデバイス1160を含むことができ、このメモリデバイス1160は、不揮発性の、例えば読み取り専用(ROM)メモリ、ならびに揮発性の、例えばランダムアクセス(RAM)メモリであってもよい(または含んでいてもよい)。PD1120-Aのメモリデバイス1160は、同期アプリケーション1130のためのコードおよびサポートデータを記憶することもできる。
【0056】
PD1120-Aは、クロック1148と、電力管理ユニット(PMU)1170と、をさらに含むことができ、この電力管理ユニット1170は、クロック/リセットおよび電力リソースを管理することができる。PD1120-Aは、関連するデバイス1122-Aを含む他の外部デバイスおよび構造部との通信を可能にするために、入/出力(I/O)コントローラ1190をさらに含むことができる。いくつかの実施形態では、I/Oコントローラ1190は、汎用I/O(GPIO)インタフェース、USBインタフェース、PCMデジタルオーディオモジュール、ならびに他のI/Oコンポーネントを使用可能にすることができる。
【0057】
上記の説明は、例示的であり、限定的ではないことが意図されていることが理解されるべきである。上記説明を読んで理解すれば、他の多くの実施形態例が当業者には明らかであろう。本開示は特定の例を説明しているが、本開示のシステムおよび方法は、本明細書に記載の例に限定されるのではなく、添付の特許請求の範囲の範囲内で修正を加えて実施されてもよいことが認識されるであろう。したがって、本明細書および図面は、限定的な意味ではなく、むしろ例示的な意味で見なされるべきである。したがって、本開示の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲で権利付与される同等物の全範囲と共に決定されるべきである。
【0058】
上述の方法、ハードウェア、ソフトウェア、ファームウェア、またはコードの実施形態は、処理要素によって実行可能な、機械アクセス可能、機械読み取り可能、コンピュータアクセス可能、またはコンピュータ読み取り可能媒体上に格納された命令またはコードを介して実装されてよい。「メモリ」は、例えばコンピュータまたは電子システムなどの機械によって読み取り可能な形態で情報を提供する(すなわち格納および/または送信する)任意の機構を含む。例えば、「メモリ」には、例えばスタティックRAM(SRAM)またはダイナミックRAM(DRAM)などのランダムアクセスメモリ(RAM)、ROM、磁気的もしくは光学的記録媒体、フラッシュメモリデバイス、電気的記録デバイス;光学的記録デバイス、音響的記録デバイス、ならびに機械(例えばコンピュータ)によって読み取り可能な形態で電子的命令もしくは情報を格納もしくは送信するのに適した任意の種類の有形の機械可読媒体が含まれる。
【0059】
「1つの実施形態」または「ある実施形態」に対する本明細書全体を通した参照は、実施形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれていることを意味する。したがって、本明細書全体を通したさまざまな場所での「1つの実施形態において」または「ある実施形態において」という語句の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。さらに、特定の特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせてもよい。
【0060】
前述の明細書では、特定の例示的な実施形態を参照して詳細な説明が与えられている。しかしながら、添付の特許請求の範囲に記載されているように、本開示のより広い趣旨および範囲から逸脱することなく、それらの実施形態に対してさまざまな修正および変更を行うことができることは明らかであろう。したがって、本明細書および図面は、限定的な意味ではなく、むしろ例示的な意味で見なされるべきである。さらに、前述の実施形態、実施形態および/または他の例示的な言語の使用は、必ずしも同じ実施形態または同じ例を指すとは限らないが、異なる別個の実施形態、ならびに潜在的に同じ実施形態を指す場合がある。
【0061】
「例」または「例示的」という言葉は、本明細書では、例、事例、または例示として機能することを意味するために使用されている。本明細書で「例」または「例示的」として記載される任意の態様または設計は、必ずしも他の態様または設計よりも好適もしくは有利であるとの意に解釈されるべきではない。むしろ、「例」または「例示的」という言葉の使用は、概念を具体的な形態に提示することを意図する。本出願で使用される場合、「または」という用語は、排他的な「または」ではなく、むしろ包括的な「または」を意味することを意図している。すなわち、特段の明記がない限り、または文脈から明らかでない限り、「Xは、AまたはBを含む」とは、任意の自然な包括的順列を意味することを意図している。つまり、XがAを含む、XがBを含む、またはXがAとBの両方を含むならば、「XはAまたはBを含む」とは、上記のいずれかの事例を満たすことになる。付加的に、本出願および添付の特許請求の範囲で使用される冠詞「a」および「an」は、単数形に向けられるべき特段の明記がない限り、またはそのことが文脈から明らかでない限り、一般に、「1つまたは複数」を意味すると解釈されるべきである。さらに、全体を通して「ある実施形態」または「1つの実施形態」あるいは「ある実施形態」または「1つの実施形態」という用語の使用は、特段の説明がない限り、同じ実施形態または実施形態を意味することを意図したものではない。また、本明細書で使用される「第1」、「第2」、「第3」、「第4」などの用語は、異なる要素間を区別するラベルとしての意味であり、必ずしもそれらの数値指定に従った序数の意味を有するものとは限らない。
【外国語明細書】