(58)【調査した分野】(Int.Cl.,DB名)
前記伝送電子デバイスと前記受信電子デバイスとの間の同期時間よりも後の後続の時間のために、前記インタフェース回路が、前記初期窓周期で前記初期幅を有する走査窓を開くことによって前記伝送電子デバイスからの前記後続ビーコンを受信するように構成される、請求項1に記載の受信電子デバイス。
前記伝送電子デバイスを探知した後に、前記インタフェース回路が、前記初期ビーコン周期及び前記クロックドリフトを特定する前記伝送電子デバイスからの情報を受信すること、伝送されたビーコンを受信し、前記伝送されたビーコンに基づいて前記初期ビーコン周期及び前記クロックドリフトを判定すること、ネットワークを介して、前記初期ビーコン周期及び前記クロックドリフトを特定する情報にアクセスすること、並びに前記受信電子デバイス内に記憶された、前記初期ビーコン周期及び前記クロックドリフトを特定する情報にアクセスすること、のうちの1つを実行するように構成される、請求項1に記載の受信電子デバイス。
前記プログラムモジュールが、前記伝送電子デバイスと前記受信電子デバイスとの間の同期時間よりも後の後続の時間のために、前記初期窓周期で前記初期幅を有する走査窓の間に前記伝送電子デバイスからの前記後続ビーコンを受信するための命令を含む、請求項7に記載の受信電子デバイス。
前記プログラムモジュールが、前記伝送電子デバイスを探知するための前記命令の後に、前記伝送電子デバイスによって、前記ビーコンを伝送する際に用いられる初期ビーコン周期、及び前記クロックドリフトを特定する前記伝送電子デバイスからの情報を受信すること、伝送されたビーコンを受信し、前記伝送されたビーコンに基づいて前記初期ビーコン周期及び前記クロックドリフトを判定すること、ネットワークを介して、前記初期ビーコン周期及び前記クロックドリフトを特定する情報にアクセスすること、並びに前記受信電子デバイス内に記憶された、前記初期ビーコン周期及び前記クロックドリフトを特定する情報にアクセスすること、のうちの1つのための命令を含む、請求項7に記載の受信電子デバイス。
前記ビーコンを受信した後に、前記方法が、前記伝送電子デバイスによって、前記ビーコンを伝送する際に用いられる初期ビーコン周期、及び前記クロックドリフトを特定する前記伝送電子デバイスからの情報を受信すること、伝送されたビーコンを受信し、前記伝送されたビーコンに基づいて前記初期ビーコン周期及び前記クロックドリフトを判定すること、ネットワークを介して、前記初期ビーコン周期及び前記クロックドリフトを特定する情報にアクセスすること、並びに前記受信電子デバイス内に記憶された、前記初期ビーコン周期及び前記クロックドリフトを特定する情報にアクセスすること、のうちの1つを含む、請求項11に記載の方法。
前記ビーコンを伝送している間に、前記インタフェース回路が、前記初期ビーコン周期及びクロックドリフトを特定する情報を前記受信電子デバイスに提供するように構成される、請求項14に記載の伝送電子デバイス。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、これらのビーコンを定期的に伝送し、受信することは通例、ネットワーキングサブシステムによる著しい電力消費を生じさせる。したがって、無線ネットワーク内の既存の探知法では電子デバイスの動作時間が短くなってしまう場合があり、そのために、ユーザエクスペリエンスが悪化し得る。
【課題を解決するための手段】
【0005】
記載されている諸実施形態は受信電子デバイスを含む。この受信電子デバイスは、アンテナと、このアンテナに結合され、無線ネットワーク内の伝送電子デバイスと通信するインタフェース回路と、を含む。インタフェース回路は、走査窓の間に、初期ビーコン周期を有する一連のビーコン内のビーコンを受信することによって、伝送電子デバイスを探知する。ここで、インタフェース回路は、初期窓幅及び初期窓周期を有する走査窓を用いる。次に、インタフェース回路は、伝送電子デバイスのクロックドリフト、及び/又は初期ビーコン周期に基づいて伝送電子デバイスからの後続ビーコンの伝送時間を算出する。次に、インタフェース回路は、後続ビーコンの算出された伝送時間を包含し、初期幅よりも小さい幅を有する後続の走査窓の間に伝送電子デバイスからの後続ビーコンを受信する。
【0006】
いくつかの実施形態では、伝送電子デバイスを探知した後に、インタフェース回路は、初期ビーコン周期よりも大きい変更されたビーコン周期を伝送電子デバイスに提供し、後続ビーコンの算出された伝送時間は、変更されたビーコン周期に基づいて更に算出される。
【0007】
更に、伝送電子デバイスと受信電子デバイスとの間の同期時間よりも大きい後続の時間のために、インタフェース回路は、初期窓周期で初期幅を有する走査窓を開くことによって伝送電子デバイスからの後続ビーコンを受信してもよい。それゆえ、同期時間の後に、受信電子デバイスは初期の探知法に戻ってもよい。
【0008】
更に、後続の時間のために、後続の走査窓の大きさは時間の関数として増大してもよく、大きさの増大はクロックドリフトに比例してもよい。
【0009】
受信電子デバイスは様々な仕方で伝送電子デバイスのクロックドリフトを得るか又は判定してもよい。具体的には、伝送電子デバイスを探知した後に、インタフェース回路は、初期ビーコン周期及びクロックドリフトを特定する伝送電子デバイスからの情報を受信すること、伝送されたビーコンを受信し、伝送されたビーコンに基づいて初期ビーコン周期及びクロックドリフトを判定すること、ネットワークを介して、初期ビーコン周期及びクロックドリフトを特定する情報にアクセスすること、並びに受信電子デバイス内に記憶された、初期ビーコン周期及びクロックドリフトを特定する情報にアクセスすること、をしてもよい。
【0010】
いくつかの実施形態では、インタフェース回路はネットワークを介してネットワーククロックを受信し、算出された伝送時間はネットワーククロックにも基づく。次に、インタフェース回路は後続ビーコンの伝送時間をネットワーククロックと比較する。伝送時間と算出された伝送時間との差が閾値を超える場合には、インタフェース回路は同期補正を伝送電子デバイスに提供する。
【0011】
いくつかの実施形態では、インタフェース回路によって実行される上記の動作の少なくともいくつかは、上記の動作の少なくともいくつかのための命令を含むプログラムモジュールを実行するプロセッサによって実行されることに留意されたい。
【0012】
別の実施形態は、受信電子デバイスと共に使用されるコンピュータプログラム製品を提供する。このコンピュータプログラム製品は、受信電子デバイスによって実行される動作の少なくともいくつかのための命令を含む。
【0013】
別の実施形態は、伝送電子デバイスと受信電子デバイスとの間で通信するための方法を提供する。この方法は、受信電子デバイスによって実行される動作の少なくともいくつかを含む。
【0014】
別の実施形態は伝送電子デバイスを提供する。伝送電子デバイスは、アンテナと、このアンテナに結合され、無線ネットワーク内の受信電子デバイスと通信するインタフェース回路と、を含む。更に、インタフェース回路は初期ビーコン周期に基づいてビーコンを伝送する。次に、インタフェース回路は、受信電子デバイスから、初期ビーコン周期よりも大きい変更されたビーコン周期を受信する。次に、インタフェース回路は、変更されたビーコン周期に基づいてビーコンを伝送する。
【0015】
伝送電子デバイスは、クロックドリフトを有するクロック回路を含んでもよく、ビーコンは、クロック回路によって出力されたクロックに基づく伝送時間に伝送されてもよいことに留意されたい。更に、インタフェース回路はネットワークを介してネットワーククロックを受信してもよい。この場合には、クロック回路はネットワーククロックに基づいてクロックを出力する。次に、インタフェース回路は受信電子デバイスから同期補正を受信してもよい。次に、インタフェース回路は、同期補正に基づいて、ネットワーククロックとクロックの倍数との差が閾値未満になるようにクロック回路を調整してもよい。
【0016】
いくつかの実施形態では、ビーコンを伝送している間に、インタフェース回路は、初期ビーコン周期及びクロックドリフトを特定する情報を受信電子デバイスに提供する。
【0017】
別の実施形態は、伝送電子デバイスと共に使用されるコンピュータプログラム製品を提供する。このコンピュータプログラム製品は、伝送電子デバイスによって実行される動作の少なくともいくつかのための命令を含む。
【0018】
別の実施形態は、伝送電子デバイスと受信電子デバイスとの間で通信するための方法を提供する。この方法は、伝送電子デバイスによって実行される動作の少なくともいくつかを含む。
【発明を実施するための形態】
【0021】
無線ネットワーク内の伝送電子デバイス(センサなど)が探知された後の電力消費を低減するために、受信電子デバイス(スマートフォンなど)は、伝送電子デバイスのクロックドリフト、及びビーコン周期に基づいて伝送電子デバイスからの後続ビーコンの伝送時間を算出する。次に、受信電子デバイスは、算出された伝送時間を包含する走査窓を開くことによって後続ビーコンを受信する。しかし、伝送電子デバイスが探知された(及び伝送電子デバイスのクロックドリフトが受信電子デバイスに知られた)後には、伝送時間はより予測可能になるため、受信電子デバイスは走査窓の幅を縮小することができる。加えて、伝送電子デバイスは、ビーコン周期を拡大することによって電力消費を更に低減することができる。受信電子デバイスはまた、実際のビーコン伝送時間に基づいて伝送電子デバイスとの同期を監視してもよく、同期を維持するために同期補正を伝送電子デバイスに提供してもよく、それにより、より小さい走査窓及び/又は拡大されたビーコン周期の継続的使用を可能にする。
【0022】
例えば、ビーコン、クロックドリフトを特定する情報、及び同期補正は、受信電子デバイス内の無線機によって、米国電気電子学会(IEEE)802.11規格、(Kirkland、WashingtonのBluetoothスペシャル・インタレスト・グループからの)Bluetooth(登録商標)、及び/又は別の種類の無線インタフェースなどの、通信プロトコルに従って伝送及び受信されるパケット内に含めて伝達されてもよい。以下の説明では、Bluetooth(登録商標)が説明のための例として用いられる。
【0023】
図1に、電子デバイス間の通信が示される。
図1は、無線通信する電子デバイス110及び112を示すブロック図を示す。具体的には、これらの電子デバイスは、無線チャネルを走査することによって互いを探知している間、無線チャネル上でビーコン若しくはビーコンフレームを伝送及び受信している間、(例えば、接続要求を伝送することによって)接続を確立している間、並びに/又は(要求及び/又は追加の情報をペイロードとして含んでもよい)パケットを伝送及び受信している間に、無線通信してもよい。
【0024】
以下において
図8を参照して更に説明されるように、電子デバイス110及び112は、ネットワーキングサブシステム、メモリサブシステム及びプロセッササブシステムなどの、サブシステムを含んでもよい。加えて、電子デバイス110及び112はネットワーキングサブシステム内に無線機114を含んでもよい。より一般的には、電子デバイス110及び112は、電子デバイス110及び112が別の電子デバイスと無線通信することを可能にするネットワーキングサブシステムを有するあらゆる電子デバイスを含むことができる(又はそれらの内部に含めることができる)。これは、電子デバイスが互いとの初期接触を行うこと又は互いを探知することを可能にするために、無線チャネル上でビーコンを伝送すること、並びにそれに続き、接続の確立、セキュリティオプション(例えば、IPSec)の構成、接続を介したパケット若しくはフレームの伝送及び受信、等のために、後続のデータ/管理フレーム(接続要求など)を交換することを含むことができる。
【0025】
図1において見ることができるように、無線信号116(ぎざぎざの線によって表現されている)が電子デバイス内110の無線機114−1から伝送される。これらの無線信号116は電子デバイス112内の無線機114−2によって受信される。具体的には、電子デバイス110(センサ、例えば、心拍数モニタ又はコンピュータマウス、など)は伝送時間にビーコンをブロードキャスト又は伝送してもよい。そして今度は、電子デバイス112(スマートフォンなど)が、伝送時間の間に走査窓を開くことによって、1つ以上のビーコンを受信し、それにより、電子デバイス110の存在を探知してもよい。これによって、電子デバイス110及び112は任意選択的に接続を確立し、互いに通信することが可能になり得る。
【0026】
しかし、電子デバイス110及び112は同期されていないため、電子デバイス110はビーコンをより頻繁に通過することが必要になる場合があり、及び/又は電子デバイス112は、ビーコンが受信されることを確実にするために広い走査窓幅を用いることが必要になる場合がある。その結果、このために、電子デバイス110及び112内のネットワーキングサブシステム(インタフェース回路など)は、より頻繁に、及び/又はより長い期間、アクティブモード若しくは高電力消費モードになっていることが必要になる場合がある。そのため、電力消費が増大し、電子デバイス110及び112の動作時間が短くなる場合がある。
【0027】
後述の探知法では、電子デバイス112は、電子デバイス110の発見後、又はその間に、電子デバイス110のクロックドリフトを受信又は判定してもよい。例えば、電子デバイス112は、無線通信を介して、電子デバイス110から、クロックドリフトを特定する情報を受信してもよい。代替的に、又は追加的に、電子デバイス112は、伝送時間を測定すること、ネットワーク118を介して、コンピュータ120内に記憶された情報にアクセスすること、及び/又は電子デバイス112内に記憶された、クロックドリフトを特定する情報(例えば、情報は電子デバイス112内にあらかじめロードされていてもよい)にアクセスすることによって、クロックドリフトを判定してもよい。
【0028】
電子デバイス110のクロックドリフトを用いて、電子デバイス112は電子デバイス110からのビーコンの後続の伝送時間を算出してもよい。これによって、電子デバイス112はより小さい走査窓幅を用いることが可能になり得る。加えて、電子デバイス112は、ビーコン伝送時間の間の時間インターバル(これは時として「ビーコン周期」と呼ばれる)を拡大するための命令を電子デバイス110に提供してもよい。このように、本探知法は、電子デバイス110及び/又は112内のネットワーキングサブシステムが高電力消費モードにおいて費やす時間を短くすることを可能にすることができ、これにより、電力消費を低減し、電子デバイス110及び/又は112のバッテリ充電の間の動作時間を増大させる。
【0029】
時が経つにつれて、伝送時間における不確実性は増大することになる。最終的に、同期時間の後には、不確実性があまりにも大きくなるため、電子デバイス112は初期走査窓幅に戻らなければならなくなり、及び/又は電子デバイス110は初期ビーコン周期に戻らなければならなくなるであろう。例えば、電子デバイス110及び112は短い間、接続し、通信してもよい。ある時間インターバルの間、電子デバイス110及び112の間に通信がなく、その後、電子デバイス110及び112が再び通信しようと試みる場合には、電子デバイス112は電子デバイス110を「思い出し」てもよく、この後続の通信が、電子デバイス110及び112の間の初期接続又は電子デバイス110の初期探知の後の同期時間よりも小さい時間のために行われる限りは、短縮された走査窓幅を用いてもよい。さもなくば、電子デバイス110及び112は初期ビーコン周期及び/又は短縮された走査窓幅を用いてもよい。
【0030】
代替的なアプローチでは、電子デバイス112は、電子デバイス110からの後続ビーコンの伝送時間を監視してもよく、電子デバイス110及び112の間の同期が維持されるように同期補正を電子デバイス110に提供してもよい(すなわち、伝送時間における不確実性は限度内にとどめられたままになってもよい)。この再同期アプローチは、コンピュータ120、セルラー電話ネットワーク、及び/又はGPSなどの全地球測位システムによって提供されるものなどの、ネットワーククロックによって促進されてもよい(それゆえ、ネットワーククロックはGPSクロックであってもよい)。具体的には、電子デバイス112は、伝送時間におけるドリフトを評価するためにそれ自身のクロック及び/又はネットワーククロックを用いることができ、電子デバイス110及び112の間の同期を維持するために、無線通信を介して、同期補正を電子デバイス110に(必要に応じ)提供することができる。これによって、より小さい走査窓幅及び/又は拡大されたビーコン周期の継続的使用、並びに、それゆえ、電子デバイス110及び/又は112の電力消費の継続的低減が可能になり得る。
【0031】
いくつかの実施形態では、同期は、電子デバイス110の探知後、又はその間に、電子デバイス110及び112の間で接続が確立されることなく、電子デバイス110及び112の間で行われることに留意されたい。そのため、Bluetooth(登録商標)との関連では、探知法に電子デバイス110及び112の間の双方向パケット交換は存在しなくてもよい。
【0032】
記載されている諸実施形態では、電子デバイス110及び112のいずれかにおいてパケット又はフレームを処理することは、パケット若しくはフレームを有する無線信号116を受信すること、パケット若しくはフレームを取得するために、受信された無線信号116からパケット若しくはフレームをデコード/抽出すること、並びにパケット若しくはフレームに内包されている情報(ペイロード内の要求又は追加の情報、例えば、電子デバイス110のクロックドリフト、及び/若しくは同期補正を特定する情報、など)を決定するために、パケット若しくはフレームを処理すること、を含む。
【0033】
本発明者らは、一例として
図1に示されるネットワーク環境について説明しているが、代替実施形態では、異なる数又は種類の電子デバイスが存在してもよい。例えば、一部の実施形態は、より多くの、又はより少ない電子デバイスを含む。別の例として、別の実施形態では、異なる電子デバイスがパケット又はフレームを伝送及び/又は受信している。
【0034】
図2は、
図1における電子デバイス110及び112の間の通信を示すタイミング図を示す。通信中に、電子デバイス110は、公称又は目標初期ビーコン周期214によって分離された伝送時間212にビーコン210を伝送する。電子デバイス110におけるクロックドリフトのために、伝送時間212は不確実性216を有する。その結果、電子デバイス112は、ビーコン210のうちの1つ以上を受信し、かくして、電子デバイス110を探知するために、初期窓周期220で初期幅222を有する走査窓(走査窓218など)を開いてもよい。具体的には、窓周期220は短くてもよく、幅222は広くてもよい。
【0035】
電子デバイス110が探知された後に、電子デバイス112は任意選択的に、電子デバイス110と接続又はペアリングを確立してもよい。(ただし、上述したように、いくつかの実施形態では、接続は確立されない。)次に、電子デバイス112は、クロックドリフト及び/又はビーコン周期214を受信するか、それにアクセスするか、又はそれを判定してもよい。例えば、電子デバイス112は、クロックドリフト及び/又はビーコン周期214を特定する情報を電子デバイス110から受信してもよく、伝送時間212からクロックドリフト及び/又はビーコン周期214を判定してもよく、電子デバイス110の識別情報(電子デバイス110の媒体アクセス制御アドレス若しくはMACアドレス、又は電子デバイス110のモデルタイプなど)に基づいてコンピュータ120(
図1)内のクロックドリフト及び/又はビーコン周期214を特定する記憶された情報にアクセスしてもよく、並びに/又は電子デバイス110の識別情報に基づいて、電子デバイス112内に記憶された、初期ビーコン周期及びクロックドリフトを特定する情報にアクセスしてもよい。この情報を用いて、電子デバイス112は後続ビーコン224のための伝送時間226を算出してもよい。これらのビーコンは、電子デバイス112によって、変更された窓周期234で、変更された幅(単数又は複数)(幅236など)を有する後続の走査窓(走査窓232など)を開くことによって、受信されてもよい。変更された窓周期234は初期窓周期220よりも小さくてもよく、変更された幅236は幅222よりも小さくてもよい。上述したように、これによって、電子デバイス112の電力消費は大幅に低減され得る。
【0036】
更に、電子デバイス110が探知された後に、電子デバイス112は、変更されたビーコン周期228を電子デバイス110に提供してもよい。この変更されたビーコン周期は初期ビーコン周期214よりも大きくてもよく、これによって、電子デバイス110の電力消費は大幅に低減され得る。これらの実施形態では、電子デバイス112はまた、変更されたビーコン周期228に基づいて後続ビーコン224のための伝送時間226を算出してもよい。
【0037】
電子デバイス110におけるクロックドリフトのために、伝送時間226における不確実性230は大きくなっていく。具体的には、伝送時間226における不確実性は時間の関数として増大する場合がある。例えば、2ppmのクロックドリフトの場合には、電子デバイス110が探知されてから2時間後に、累積の不確実性は28msになり得る。電子デバイス112は、後続の走査窓の幅を時間の関数として比例して増大させることによって、この不確実性の増大に対処してもよい。
【0038】
最終的に、電子デバイス110及び112の間の同期時間よりも大きい時間のために、電子デバイス112は初期の探知法に戻ることが必要になり得る。
図3にこれが示される。
図3は、
図1における電子デバイス110及び112の間の通信を示すタイミング図を示す。具体的には、同期時間(これは、電子デバイス110が最初に探知されてから数時間又は数日後であり得る)の後に、電子デバイス112は、初期窓周期220で初期幅222を有する走査窓を開いてもよい。同様に、電子デバイス110は、ビーコンを伝送する際に、初期ビーコン周期214に戻ってもよい。
【0039】
いくつかの実施形態では、電子デバイス110及び/又は112は、例えば、ネットワーク(
図1におけるネットワーク118など)を介して、高精度のネットワーククロックを受信する。(いくつかの実施形態では、ネットワーククロックはネットワークの通常動作の最中に提供され、それゆえ、特別の信号ではない。)電子デバイス112は、ネットワーククロックに基づいて伝送時間226を算出してもよい。更に、電子デバイス112は、実際の伝送時間226を、ネットワーククロックに基づいて決定された時間(M及びNは整数とする、ネットワーククロックのM/N倍数など)と比較してもよい。実際の伝送時間と算出された伝送時間との差が閾値を超える場合には、電子デバイス112は同期補正を電子デバイス110に提供してもよい。このように、伝送時間における不確実性は、電子デバイス110及び112の間の同期を維持することによって、限度内にとどめられてもよく、これにより、電力節約の継続が可能になり得る。これらの実施形態では、後続の走査窓の幅は(時間の関数として増大するのとは対照的に)一定に保たれてもよい。
【0040】
図4に、(時として「校正された探知」と呼ばれる)このアプローチが示される。
図4は、
図1における電子デバイス110及び112の間の通信を示すタイミング図を示す。具体的には、伝送時間226のうちの1つにおける不確実性410が閾値(幅236の数分の1など)を超えると、電子デバイス112は、同期補正412を電子デバイス110に提供してもよく、それにより、電子デバイス110が後続の伝送時間を調整し、不確実性を(少なくとも一時の間)リセット又は除去することを可能にする。
【0041】
例えば、電子デバイス110は、クロックドリフトを有するクロック回路(
図8におけるクロック回路828など)を含んでもよく、ビーコン224は、クロック回路によって出力されたクロックに基づく伝送時間226に伝送されてもよい。電子デバイス110がネットワーククロックを受信する場合には、このとき、クロック回路はまた、ネットワーククロックに基づくクロックを出力してもよい。
【0042】
電子デバイス110が同期補正412を受信すると、電子デバイス110は同期補正412に基づいて、ネットワーククロックとクロックの倍数(クロックのM/N倍など)との差が閾値よりも小さくなるように、クロック回路を調整してもよい。このように、伝送時間226における不確実性410は限度内にとどめられてもよく、それにより、窓周期234、幅236、及び/又は変更されたビーコン周期228の継続的使用が可能になる。
【0043】
同期補正は複数の電子デバイス(他の「走査機」など)と共有され、それにより、これらの他の電子デバイスが、それらが電子デバイス110と初めてやり取りする時に(短縮された走査窓幅及び/又は拡大された窓周期を含む)探知法を用いることができるようにしてもよいことに留意されたい。加えて、グローバルクロック又はネットワーククロックの利用によって、電子デバイス110及び112の間の通信中に、耐リプレイ攻撃技法を用いることが可能になり得る。
【0044】
上記の例は、固定された初期ビーコン周期214及び固定された初期窓周期220(
図2及び
図3)の使用を示したが、いくつかの実施形態では、初期ビーコン周期及び初期窓周期はランダムに選択されてもよい(それゆえ、初期値は平均値であってもよい)。例えば、ビーコンモードの間に、Bluetooth(登録商標)は、ランダムなビーコン及び走査窓の技法を用いてもよい。ここで、電子デバイス110(
図1)がビーコンを送信し、電子デバイス112(
図1)がビーコンを求めて走査する。これらの活動は同期されていないため、走査機(電子デバイス112)がアドバタイザ(電子デバイス110)に出会うことになる可能性は低い。この統計的なアプローチは、非常に広い走査窓幅(電力消費に対する相応の悪影響を伴う)又は非常に長い探知時間(数十秒に達する)のいずれかの使用を必要とし得る。対照的に、探知及び任意選択的に接続の確立後に、開示されている探知法は、電力消費を低減し、(今度は決定論的である)探知時間を短縮するために、電子デバイス110及び112が、それらが後続のアドバタイジングと走査を同期させることを可能にする共有クロックを交換することを可能にする。
【0045】
例示的な実施形態では、初期ビーコン周期は181msであってもよく、初期窓周期は900msであってもよく、初期走査窓幅は30msであってもよい。これらの値は、3.5sの平均探知時間及び500mWの電力消費をもたらし得る。電子デバイス110が探知され、電子デバイス110及び112(
図1)が同期された後には、変更されたビーコン周期は1.8sになってもよく、変更された窓周期は1.8sになってもよく、変更された走査窓幅は100μsになってもよい。変更された値は、1.8sの平均探知時間(より一般的には、探知時間は0.5〜2sになるように選択されてもよい)及び300mWの電力消費をもたらし得る。
【0046】
図5は、電子デバイス110と通信する電子デバイス112などの、
図1における電子デバイス間で通信するための方法500を示すフロー図を示す。動作の間に、電子デバイスは、初期ビーコン周期でブロードキャスト又は伝送されるビーコンを受信することによって別の電子デバイスを探知する(動作510)。例えば、電子デバイスは、初期窓周期で初期幅を有する走査窓を開いてもよい。次に、電子デバイスは任意選択的に他の電子デバイスとの接続を確立する(動作512)。更に、電子デバイスは、他の電子デバイスのクロックドリフトを特定する情報を受信するか、又はクロックドリフトを判定する(動作514)。電子デバイスはまた任意選択的に、変更されたビーコン周期を他の電子デバイスに提供してもよい(動作516)。この変更されたビーコン周期は初期ビーコン周期よりも大きくてもよい。
【0047】
次に、電子デバイスは他の電子デバイスからの後続ビーコンの伝送時間を算出してもよい(動作518)。更に、電子デバイスは、算出された伝送時間に他の電子デバイスから後続ビーコンを受信してもよい(動作520)。例えば、電子デバイスは、変更された窓周期で、変更された幅を有する走査窓を開いてもよい。変更された幅は初期幅よりも小さくてもよく、変更された窓周期は初期窓周期よりも大きくてもよいことに留意されたい。
【0048】
いくつかの実施形態では、電子デバイス間の通信は校正される。具体的には、電子デバイスは、クロック(ネットワーククロック若しくは電子デバイス内のクロックなど)並びに実際の伝送時間に基づく同期補正を他の電子デバイスに提供してもよい(動作522)。同期補正は、他の電子デバイスが、クロックドリフトに関連付けられる、伝送時間における不確実性を限度内にとどめることを可能にし得る。
【0049】
図6は、電子デバイス112と通信する電子デバイス110などの、
図1の電子デバイス間で通信するための方法を示すフロー図を示す。動作中、他の電子デバイスは初期ビーコン周期に基づいてビーコンを伝送する(動作610)。次に、他の電子デバイスは任意選択的に電子デバイスとの接続を確立する(動作612)。更に、他の電子デバイスは任意選択的に、他の電子デバイスのクロックドリフト、及び/又は初期ビーコン周期を特定する情報を提供してもよい(動作614)。他の電子デバイスは任意選択的に、電子デバイスから、変更されたビーコン周期を特定する情報を受信してもよいことに留意されたい(動作616)。
【0050】
その後、他の電子デバイスは、変更されたビーコン周期に基づく伝送時間に後続ビーコンを伝送する(動作618)。
【0051】
電子デバイス間の通信が校正される実施形態では、他の電子デバイスは電子デバイスから同期補正を受信してもよい(動作620)。同期補正は、他の電子デバイスが、クロックドリフトに関連付けられる、伝送時間における不確実性を限度内にとどめることを可能にし得る。
【0052】
このように、電子デバイス(例えば、電子デバイス内のインタフェース回路及び/又はドライバ)は、電力消費を低減し、探知時間を短縮した電子デバイス間の通信を促進してもよい。具体的には、アドバタイジング若しくはブロードキャスト並びに探知は(統計的である代わりに)決定論的なものにすることができ、これによって、電子デバイス内のインタフェース回路は、高電力消費モードにおいて費やす時間を短くすることが可能になり得る。加えて、無線ネットワーク内の電子デバイス間で通信されるビーコンは、既知の時間又は決定論的な時間にあることができるため、少ないネットワーク資源をめぐる競争を回避することができる。これは競合の確率を低減することができ、そのおかげで、電子デバイスがアクティブ(高電力消費)モードにおいて費やす時間量を低減することが可能になり得る。
【0053】
方法500(
図5)及び/又は600のいくつかの実施形態では、追加の動作が存在するか、又は動作はもっと少ない場合がある。更に、動作の順番を変えることができ、及び/又は2つ以上の動作を単一の動作に結合することができる。
【0054】
図7に、探知法が更に示されている。
図7は、電子デバイス110及び112(
図1)の間の通信を示す図を示す。具体的には、電子デバイス110は、初期ビーコン周期を有する伝送時間にビーコン710を電子デバイス112へ伝送してもよい。そして今度は、電子デバイス112が、初期窓周期で初期幅を有する走査窓を開くことによって、ビーコン710のうちの1つ以上を受信してもよい。
【0055】
ビーコン(ビーコン710−2など)が受信されると、電子デバイス110及び112の間の接続712が任意選択的に確立される。次に、電子デバイス110は任意選択的に、クロックドリフト及び/又は初期ビーコン周期を特定する情報714を電子デバイス112に提供してもよい。代替的に、又は追加的に、電子デバイス112は任意選択的に、伝送時間に基づいてクロックドリフト及び/又は初期ビーコン周期を判定してもよい。いくつかの実施形態では、電子デバイス112は任意選択的に、電子デバイス112及び/又はコンピュータ120内に記憶された、電子デバイス110に関連付けられたクロックドリフト及び/又は初期ビーコン周期を特定する情報にアクセスする。例えば、電子デバイス112は情報を要求してもよく716、それに応じて、コンピュータ120は情報718を提供してもよい。
【0056】
接続712が任意選択的に確立された後に、電子デバイス112はまた任意選択的に、変更されたビーコン周期720を電子デバイス110に提供してもよい。
【0057】
更に、電子デバイス112は、クロックドリフト、初期ビーコン周期及び/又は変更されたビーコン周期に基づいて電子デバイス110からの後続ビーコンの伝送時間を算出してもよい。
【0058】
その後、電子デバイス110は、変更されたビーコン周期を有する伝送時間にビーコン(ビーコン710−3及び710−4など)を電子デバイス112に伝送してもよい。そして今度は、電子デバイス112が、変更された窓周期で、変更された幅を有する走査窓を開くことによって、ビーコン710−3及び710−4のうちの1つ以上を受信してもよい。変更されたビーコン周期は初期ビーコン周期よりも大きく、変更された幅は初期幅よりも小さく、及び/又は変更された窓周期は初期窓周期よりも大きいため、電子デバイス110及び/又は112から電力を大幅に節約できる。
【0059】
いくつかの実施形態では、コンピュータ120がネットワーククロック722を電子デバイス110及び/又は112に提供する。電子デバイス112は、伝送時間における不確実性又は変動がいつ閾値を超えたのかを判定するために、ネットワーククロック722、並びに電子デバイス110によって提供された後続ビーコン710−3及び710−4の実際の伝送時間を用いてもよい。これが起きると、電子デバイス112は同期補正724を電子デバイス110に提供してもよく、これにより、電子デバイス110は不確実性を限度内に保つことができ、そのため、電子デバイス110及び112は決定論的な仕方でアドバタイズし、互いを探知し続けることができる。
【0060】
次に、本発明者らは電子デバイスの諸実施形態について説明する。
図8は、
図1における電子デバイス110及び112の一方などの、電子デバイス800を示すブロック図を示す。この電子デバイスは、処理サブシステム810、メモリサブシステム812、及びネットワーキングサブシステム814を含む。処理サブシステム810は、計算動作を実行するように構成される1つ以上のデバイスを含む。例えば、処理サブシステム810は、1つ以上のマイクロプロセッサ、特定用途向け集積回路(ASIC)、マイクロコントローラ、プログラム可能ロジックデバイス、及び/又は1つ以上のデジタル信号プロセッサ(DSP)を含み得る。
【0061】
メモリサブシステム812は、処理サブシステム810及びネットワーキングサブシステム814のためのデータ及び/又は命令を記憶するための1つ以上のデバイスを含む。例えば、メモリサブシステム812は、ダイナミック・ランダムアクセスメモリ(DRAM)、スタティック・ランダムアクセスメモリ(SRAM)、及び/又はその他の種類のメモリを含み得る。いくつかの実施形態では、メモリサブシステム812内の処理サブシステム810のための命令は、処理サブシステム810によって実行されてもよい、1つ以上のプログラムモジュール又は命令のセット(プログラムモジュール822又はオペレーティングシステム824など)を含む。1つ以上のコンピュータプログラムは、コンピュータプログラム機構を構成することができることに留意されたい。更に、メモリサブシステム812内の様々なモジュール内の命令は、高水準手続き型言語、オブジェクト指向プログラム言語、並びに/又はアセンブリ言語若しくは機械語で実施することができる。更に、プログラムミング言語は、処理サブシステム810によって実行されるようにコンパイル又は解釈実行されてもよい。例えば、そのように構成可能であるか又は構成されてもよい(これらは本記載において互換的に用いられてもよい)。
【0062】
更に、メモリサブシステム812は、メモリへのアクセスを制御するための機構を含み得る。一部の実施形態では、メモリサブシステム812は、電子デバイス800内のメモリに結合される1つ以上のキャッシュを含むメモリ階層を含む。これらの実施形態の一部では、キャッシュのうちの1つ以上は処理サブシステム810内に配置される。
【0063】
一部の実施形態では、メモリサブシステム812は1つ以上の大容量の大記憶デバイス(不図示)に結合される。例えば、メモリサブシステム812は、磁気又は光学ドライブ、ソリッドステートドライブ、又は別の種類の大容量記憶デバイスに結合することができる。これらの実施形態では、メモリサブシステム812は、頻繁に使用されるデータのための高速アクセス記憶装置として電子デバイス800によって用いることができるのに対して、大記憶デバイスは、使用頻度の低いデータを記憶するために用いられる。
【0064】
ネットワーキングサブシステム814は、制御論理816、インタフェース回路818及びアンテナ820を含む、有線及び/又は無線ネットワークに結合し、その上で通信するように(すなわち、ネットワーク動作を実行するように)構成される1つ以上のデバイスを含む。例えば、ネットワーキングサブシステム814は、Bluetooth(登録商標)ネットワーキングシステム、セルラーネットワーキングシステム(例えば、UMTS、LTEなど等の3G/4Gネットワーク)、ユニバーサルシリアルバス(USB)ネットワーキングシステム、IEEE 802.11に記述されている規格に基づくネットワーキングシステム(例えば、Wi−Fi(登録商標)ネットワーキングシステム)、イーサネット(登録商標)ネットワーキングシステム、及び/又は別のネットワーキングシステムを含み得る。
【0065】
ネットワーキングサブシステム814は、プロセッサ、コントローラ、無線機/アンテナ、ソケット/プラグ、及び/又はそれぞれのサポートされているネットワーキングシステムに結合し、その上で通信し、そのためのデータ及びイベントを処理するために用いられるその他のデバイスを含む。それぞれのネットワークシステムのための、ネットワークに結合し、その上で通信し、その上のデータ及びイベントを処理するために用いられる機構は、時として、まとめて、ネットワークシステムのための「ネットワークインタフェース」と呼ばれることに留意されたい。更に、いくつかの実施形態では、電子デバイス間の「ネットワーク」は、まだ存在しない。したがって、電子デバイス800は、電子デバイス間の単純な無線通信を実行する、例えば、上述したように、アドバタイジングフレーム若しくはビーコンフレームを伝送し、並びに/又は他の電子デバイスによって伝送されたアドバタイジングフレームを求めて走査するために、ネットワーキングサブシステム814内の機構を用いてもよい。
【0066】
電子デバイス800内において、処理サブシステム810、メモリサブシステム812、及びネットワーキングサブシステム814は、バス830を用いて互いに結合される。バス830は、サブシステムが互いの間でコマンド及びデータを伝達するために使用することができる電気的、光学的、及び/又は電気光学的接続部を含んでもよい。分かりやすくするために1本のバス830のみが示されているが、異なる実施形態は、異なる数又は構成の電気的、光学的、及び/又は電気光学的接続部をサブシステム間に含み得る。
【0067】
いくつかの実施形態では、電子デバイス800は、ディスプレイ上に情報を表示するための表示サブシステム826を含む。表示サブシステム826は、ディスプレイドライバ、及び液晶ディスプレイ、マルチタッチ・タッチスクリーン等などの、ディスプレイを含んでもよい。加えて、電子デバイス800は、クロックを出力するクロック回路828を含んでもよい。クロック回路828はGPS回路内に含まれてもよいことに留意されたい。
【0068】
電子デバイス800は、少なくとも1つのネットワークインタフェースを有する任意の電子デバイスとすることができる(又は、該任意の電子デバイス内に含めることができる)。例えば、電子デバイス800は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、メディアプレーヤ(MP3プレーヤなど)、家庭電化製品、サブノート/ネットブック、タブレットコンピュータ、スマートフォン、セルラー電話、試験設備、ネットワーク家庭電化製品、セットトップボックス、無線携帯情報端末(PDA)、玩具、コントローラ、デジタル信号プロセッサ、ゲームコンソール、家庭電化製品内計算エンジン、消費者用電子デバイス、携帯型コンピューティングデバイス、電子手帳、センサ、ユーザインタフェース機器及び/又は別の電子デバイス、とすることができる(又は、これらの中に含めることができる)。
【0069】
電子デバイス800を説明するために特定の構成要素が用いられているが、代替実施形態では、異なる構成要素及び/又はサブシステムが電子デバイス800内に存在してもよい。例えば、電子デバイス800は、1つ以上の追加の処理サブシステム810、メモリサブシステム812、ネットワーキングサブシステム814、及び/又は表示サブシステム826を含んでもよい。加えて、サブシステムのうちの1つ以上は電子デバイス800内に存在しなくてもよい。更に、一部の実施形態では、電子デバイス800は、
図8に示されていない1つ以上の追加のサブシステムを含んでもよい。例えば、電子デバイス800は、限定するものではないが、データ収集サブシステム、オーディオ及び/又は映像サブシステム、アラームサブシステム、メディア処理サブシステム及び/又は入出力(I/O)サブシステムを含むことができる。また、
図8には、独立したサブシステムが示されているが、一部の実施形態では、所与のサブシステム又は構成要素の一部又は全ては電子デバイス800内の他のサブシステム又は構成要素(単数又は複数)の1つ以上の中に統合することができる。例えば、いくつかの実施形態では、プログラムモジュール822はオペレーティングシステム824内に含まれる。
【0070】
更に、電子デバイス800内の回路及び構成要素は、バイポーラ、PMOS及び/又はNMOSゲート又はトランジスタを含む、アナログ及び/又はデジタル回路機構の任意の組み合わせを用いて実装されてもよい。更に、これらの実施形態における信号は、ほぼ離散的な値を有するデジタル信号、及び/又は連続的な値を有するアナログ信号を含んでもよい。加えて、構成要素及び回路はシングルエンド形又は差動形であってもよく、電源はユニポーラ形又はバイポーラ形であってもよい。
【0071】
集積回路が、無線機などの、ネットワーキングサブシステム814の機能性の一部又は全てを実施してもよい。更に、集積回路は、電子デバイス800から無線信号を送信し、電子デバイス800において他の電子デバイスから信号を受信するために用いられるハードウェア及び/又はソフトウェア機構を含むことができる。本明細書において説明されている機構を除いて、無線機は当技術分野において一般的に知られており、それゆえ、詳細には説明されない。一般に、ネットワーキングサブシステム814及び/又は集積回路は任意の数の無線機を含むことができる。複数の無線機の実施形態における無線機は、記載されている単一の無線機の実施形態と同様に機能することに留意されたい。
【0072】
いくつかの実施形態では、ネットワーキングサブシステム814及び/又は集積回路は、無線機(単数又は複数)を、所与の通信チャネル(例えば、所与の搬送周波数)上で伝送及び/又は受信するように構成する(1つ以上のハードウェア及び/又はソフトウェア機構などの)構成機構を含む。例えば、いくつかの実施形態では、構成機構は、無線機を、所与の通信チャネル上における監視及び/又は伝送から、異なる通信チャネル上における監視及び/又は伝送へ切り換えるために用いることができる。(本明細書において使用されている「監視」は、他の電子デバイスからの信号を受信すること、及び場合によっては、受信された信号に対して1つ以上の処理動作を実行すること、例えば、受信された信号はアドバタイジングフレームを含んでいるかどうかを判定すること等、を含むことに留意されたい。)
【0073】
Bluetooth(登録商標)規格に適合した通信プロトコルが説明のための例として用いられたが、説明されている通信技法の諸実施形態は様々なネットワークインタフェースにおいて用いられてもよい。更に、上記の諸実施形態における動作のいくつかはハードウェア又はソフトウェアの形で実施されたが、一般的には、上記の実施形態における動作は多種多様な構成及びアーキテクチャで実施することができる。したがって、上記の諸実施形態における動作の一部又は全ては、ハードウェアの形、ソフトウェアの形又はその両方の形で実行されてもよい。例えば、探知法における動作の少なくともいくつかは、プログラムモジュール822、オペレーティングシステム824(インタフェース回路818のためのドライバなど)を用いて、又はインタフェース回路818内のファームウェアの形で実施されてもよい。代替的に、又は追加的に、探知法における動作の少なくともいくつかは、インタフェース回路818内のハードウェアなどの、物理層内で実施されてもよい。
【0074】
上記の説明において、本発明者らは「いくつかの実施形態」に言及している。「いくつかの実施形態」は、可能な実施形態の全てのサブセットを表現しているが、必ずしも実施形態の同じサブセットを指定しているわけではないことに留意されたい。
【0075】
前述の説明は、当業者が本開示を製作及び使用することを可能にすることが意図されており、特定の用途及び要件というコンテキストにおいて行われている。更に、本開示の実施形態の前述の説明は、例示及び説明のみを目的として提示したものである。網羅的であること、又は、開示した形態に本開示を限定しないものとする。したがって、多くの改変及び変形が、当業者に明らかであろうし、本明細書で定義される一般原則は、本開示の趣旨と範囲から逸脱することなく他の実施形態及び用途に適用することができる。更に、前出の実施形態に関して論じた内容は、本開示を限定しないものとする。したがって、本開示は、示す実施形態に限定されないものとし、本明細書で開示する諸原理及び特徴と合致する最も広い範囲を与えられるものとする。