(57)【要約】  一実施形態において、接続が、第1のモノのインターネット(IoT)デバイスと第2のIoTデバイスとの間で確立される。近さ検出手順を実行する決定がなされた後、第2のIoTデバイスは、音の放出およびデータパケットを実質的に同時に出力する。第1のIoTデバイスは、マイクロホンによって音の放出を検出し、データパケットを受信する。第1のIoTデバイスは、相関情報を用いて、検出された音の放出をデータパケットと相互に関連付け、それによって、相関情報は、検出された音の放出、データパケット、またはその両方に含まれる。第1のIoTデバイスは、検出された音の放出とデータパケットとの間の相関を用いて第1のIoTデバイスと第2のIoTデバイスとの間の距離の推定値を計算する。
2016535518.tif 000002
【特許請求の範囲】
【請求項１】
第2のモノのインターネット(IoT)デバイスに対する近さを決定するように構成される第1のIoTデバイスを操作する方法であって、
前記第2のIoTデバイスとの接続を確立するステップと、
前記第2のIoTデバイスとの近さ検出手順を実行すると決定するステップと、
前記第1のIoTデバイスに結合されたマイクロホンによって、前記決定に応じて前記第2のIoTデバイスからの第1の通信経路での音の放出を監視するステップと、
第1の時点で、前記音の放出が前記第1の通信経路で前記第2のIoTデバイスによって発せられるのと実質的に同時に第2の通信経路で前記第2のIoTデバイスによって送信されるデータパケットを受信するステップと、
第2の時点で、前記監視するステップに基づいて前記音の放出を検出するステップと、
(i)前記検出された音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記検出された音の放出を特定するのを助けるように構成される第2の相関情報に基づいて、前記検出された音の放出を前記データパケットと相互に関連付けるステップと、
前記第2の時点に少なくとも部分的に基づいて前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値を計算するステップとを含む、方法。
【請求項２】
計算する前記ステップが、前記第1の時点と前記第2の時点との間の時間差を計算し、前記時間差に基づいて前記距離の推定値を生成する請求項1に記載の方法。
【請求項３】
前記第2のIoTデバイスが前記第1のIoTデバイスに前記データパケットを送信した通信経路に関連するネットワーク伝播レイテンシの推定値を得るステップと、
ネットワーク伝播レイテンシの前記推定値に基づいて前記第1の時点を調整するステップとをさらに含み、
計算する前記ステップが、調整された第1の時点と前記第2の時点との間の時間差を計算し、前記時間差に基づいて前記距離の推定値を生成する請求項1に記載の方法。
【請求項４】
ネットワーク伝播レイテンシの前記推定値が、前記第1のIoTデバイスと前記第2のIoTデバイスとの間でやりとりされる別のデータパケットによって運ばれるか、または
前記第1のIoTデバイスおよび前記第2のIoTデバイスのクロックが、同期されず、ネットワーク伝播レイテンシの前記推定値が、決まった送信スケジュールに従って一連の対応する音の放出およびデータパケットをやりとりし、それから、前記一連の対応する音の放出およびデータパケットの到着時間の間の差を平均することによって得られる請求項3に記載の方法。
【請求項５】
前記第1のIoTデバイスで実行される第1のクロックが前記第2のIoTデバイスで実行される第2のクロックと同期され、
前記データパケットが、前記第2のクロックに従って前記第2のIoTデバイスが前記データパケットを送信した第3の時点の指示を含み、
前記第2の時点が、前記第1のクロックに従って決定され、
計算する前記ステップが、前記第2の時点と前記データパケットからの前記第3の時点との間の時間差を計算し、前記時間差に基づいて前記距離の推定値を生成する請求項1に記載の方法。
【請求項６】
前記データパケットが、前記検出された音の放出を特定するのを助けるように構成される前記第2の相関情報を含み、
検出する前記ステップが、前記第2の相関情報と監視する前記ステップによって監視される音声データとの間の比較に基づく請求項1に記載の方法。
【請求項７】
前記第2の相関情報が、前記検出された音の放出を特徴付けるデュアルトーン多周波数(DTMF)シグネチャおよび/または前記検出された音の放出を特徴付けるパルス符号変調(PCM)シグネチャを含む請求項6に記載の方法。
【請求項８】
前記検出された音の放出が、前記データパケットを特定するのを助けるように構成される前記第1の相関情報を含み、
前記データパケットが、前記第1の相関情報と前記データパケットに含まれるデータとの間の比較に基づいて特定される請求項1に記載の方法。
【請求項９】
前記第1の相関情報が、前記データパケットのシーケンス番号を含み、
前記データパケットに含まれる前記データが、前記データパケットのヘッダのシーケンスフィールド内の前記シーケンス番号を含む請求項8に記載の方法。
【請求項１０】
前記データパケットが受信される前記第2の通信経路が、直接通信経路または間接通信経路に対応する請求項1に記載の方法。
【請求項１１】
前記直接通信経路が、Bluetooth（登録商標）接続および/または見通し(LoS)発光シーケンスを含む請求項10に記載の方法。
【請求項１２】
前記間接通信経路が、アクセスポイントを介したインターネットプロトコル(IP)接続を含む請求項10に記載の方法。
【請求項１３】
前記IP接続が、ユーザデータグラムプロトコル(UDP)に基づく請求項12に記載の方法。
【請求項１４】
少なくともさらに2つのIoTデバイスとの少なくともさらに2つの近さ検出手順を実行して前記少なくとも2つのさらなるIoTデバイスに対する少なくともさらに2つの距離の推定値を計算するステップと、
前記距離の推定値および前記少なくともさらに2つの距離の推定値に基づいて三辺測量によって前記第1のIoTデバイスの位置を計算するステップとをさらに含む請求項1に記載の方法。
【請求項１５】
前記音の放出が出力される前記第1の通信経路が、音声伝播媒体である請求項1に記載の方法。
【請求項１６】
前記近さ検出手順を実行する前記決定が、前記第1のIoTデバイスによって開始されるか、または
前記近さ検出手順を実行する前記決定が、前記第2のIoTデバイスによって開始される請求項1に記載の方法。
【請求項１７】
前記第1のIoTデバイスで実行される第1のクロックが前記第2のIoTデバイスで実行される第2のクロックと同期され、
前記データパケットが、前記第2のクロックに従って前記第2のIoTデバイスが前記データパケットを送信した時点の指示を含む請求項1に記載の方法。
【請求項１８】
第2のモノのインターネット(IoT)デバイスにおいて第1のIoTデバイスと前記第2のIoTデバイスとの間の近さの検出を容易にする方法であって、
前記第1のIoTデバイスとの接続を確立するステップと、
前記第1のIoTデバイスとの近さ検出手順を実行すると決定するステップと、
前記第2のIoTデバイスに結合された音声出力デバイスによって、前記決定に応じて第1の通信経路で前記第2のIoTデバイスからの音の放出を出力するステップと、
前記第1の通信経路で前記音の放出を出力する前記ステップと実質的に同時に、第2の通信経路で前記第1のIoTデバイスにデータパケットを送信するステップとを含み、
前記音の放出および前記データパケットが、相関情報に基づく前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値の計算のために前記近さ検出手順に関連して前記第1のIoTデバイスにおいて互いに相互に関連付けられるように構成され、
前記相関情報が、(i)前記音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記音の放出を特定するのを助けるように構成される第2の相関情報を含む、方法。
【請求項１９】
前記データパケットが、前記音の放出を特定するのを助けるように構成される前記第2の相関情報を含む請求項18に記載の方法。
【請求項２０】
前記第2の相関情報が、前記音の放出を特徴付けるデュアルトーン多周波数(DTMF)シグネチャおよび/または前記音の放出を特徴付けるパルス符号変調(PCM)シグネチャを含む請求項19に記載の方法。
【請求項２１】
前記音の放出が、前記データパケットを特定するのを助けるように構成される前記第1の相関情報を含む請求項18に記載の方法。
【請求項２２】
前記第1の相関情報が、前記データパケットのシーケンス番号を含み、
前記シーケンス番号が、前記データパケットのヘッダのシーケンスフィールドに含まれる請求項21に記載の方法。
【請求項２３】
前記データパケットが送信される前記第2の通信経路が、直接通信経路または間接通信経路に対応する請求項18に記載の方法。
【請求項２４】
前記直接通信経路が、Bluetooth（登録商標）接続および/または見通し(LoS)発光シーケンスを含む請求項23に記載の方法。
【請求項２５】
前記間接通信経路が、アクセスポイントを介したインターネットプロトコル(IP)接続を含む請求項23に記載の方法。
【請求項２６】
前記IP接続が、ユーザデータグラムプロトコル(UDP)に基づく請求項25に記載の方法。
【請求項２７】
前記音の放出が出力される前記第1の通信経路が、音声伝播媒体である請求項18に記載の方法。
【請求項２８】
前記近さ検出手順を実行する前記決定が、前記第1のIoTデバイスによって開始されるか、または
前記近さ検出手順を実行する前記決定が、前記第2のIoTデバイスによって開始される請求項18に記載の方法。
【請求項２９】
前記近さ検出手順が、前記第1のIoTデバイスと少なくとも1つのその他のIoTデバイスとの両方に出力される前記音の放出を調整し、前記音の放出を出力する前記ステップと実質的に同時に前記少なくとも1つのその他のIoTデバイスに少なくとも1つのその他のデータパケットを送信することによって前記第1のIoTデバイスおよび前記少なくとも1つのその他のIoTデバイスによって平行して実施される請求項18に記載の方法。
【請求項３０】
前記第1のIoTデバイスで実行される第1のクロックが前記第2のIoTデバイスで実行される第2のクロックと同期され、
前記データパケットが、前記第2のクロックに従って前記第2のIoTデバイスが前記データパケットを送信した時点の指示を含む請求項18に記載の方法。
【請求項３１】
第2のモノのインターネット(IoT)デバイスに対する近さを決定するように構成される第1のIoTデバイスであって、
前記第2のIoTデバイスとの接続を確立するための手段と、
前記第2のIoTデバイスとの近さ検出手順を実行すると決定するための手段と、
前記第1のIoTデバイスに結合されたマイクロホンによって、前記決定に応じて前記第2のIoTデバイスからの第1の通信経路での音の放出を監視するための手段と、
第1の時点で、前記音の放出が前記第1の通信経路で前記第2のIoTデバイスによって発せられるのと実質的に同時に第2の通信経路で前記第2のIoTデバイスによって送信されるデータパケットを受信するための手段と、
第2の時点で、前記監視に基づいて前記音の放出を検出するための手段と、
(i)前記検出された音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記検出された音の放出を特定するのを助けるように構成される第2の相関情報に基づいて、前記検出された音の放出を前記データパケットと相互に関連付けるための手段と、
前記第2の時点に少なくとも部分的に基づいて前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値を計算するための手段とを含む、第1のIoTデバイス。
【請求項３２】
第2のモノのインターネット(IoT)デバイスにおいて第1のIoTデバイスと前記第2のIoTデバイスとの間の近さの検出を容易にするように構成された第2のIoTデバイスであって、
前記第1のIoTデバイスとの接続を確立するための手段と、
前記第1のIoTデバイスとの近さ検出手順を実行すると決定するための手段と、
前記第2のIoTデバイスに結合された音声出力デバイスによって、前記決定に応じて第1の通信経路で前記第2のIoTデバイスからの音の放出を出力するための手段と、
前記第1の通信経路での前記音の放出の前記出力と実質的に同時に、第2の通信経路で前記第1のIoTデバイスにデータパケットを送信するための手段とを含み、
前記音の放出および前記データパケットが、相関情報に基づく前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値の計算のために前記近さ検出手順に関連して前記第1のIoTデバイスにおいて互いに相互に関連付けられるように構成され、
前記相関情報が、(i)前記音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記音の放出を特定するのを助けるように構成される第2の相関情報を含む、第2のIoTデバイス。
【請求項３３】
第2のモノのインターネット(IoT)デバイスに対する近さを決定するように構成される第1のIoTデバイスであって、
前記第2のIoTデバイスとの接続を確立するように構成された論理と、
前記第2のIoTデバイスとの近さ検出手順を実行すると決定するように構成された論理と、
前記第1のIoTデバイスに結合されたマイクロホンによって、前記決定に応じて前記第2のIoTデバイスからの第1の通信経路での音の放出を監視するように構成された論理と、
第1の時点で、前記音の放出が前記第1の通信経路で前記第2のIoTデバイスによって発せられるのと実質的に同時に第2の通信経路で前記第2のIoTデバイスによって送信されるデータパケットを受信するように構成された論理と、
第2の時点で、前記監視に基づいて前記音の放出を検出するように構成された論理と、
(i)前記検出された音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記検出された音の放出を特定するのを助けるように構成される第2の相関情報に基づいて、前記検出された音の放出を前記データパケットと相互に関連付けるように構成された論理と、
前記第2の時点に少なくとも部分的に基づいて前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値を計算するように構成された論理とを含む、第1のIoTデバイス。
【請求項３４】
第2のモノのインターネット(IoT)デバイスにおいて第1のIoTデバイスと前記第2のIoTデバイスとの間の近さの検出を容易にするように構成された第2のIoTデバイスであって、
前記第1のIoTデバイスとの接続を確立するように構成された論理と、
前記第1のIoTデバイスとの近さ検出手順を実行すると決定するように構成された論理と、
前記第2のIoTデバイスに結合された音声出力デバイスによって、前記決定に応じて第1の通信経路で前記第2のIoTデバイスからの音の放出を出力するように構成された論理と、
前記第1の通信経路での前記音の放出の前記出力と実質的に同時に、第2の通信経路で前記第1のIoTデバイスにデータパケットを送信するように構成された論理とを含み、
前記音の放出および前記データパケットが、相関情報に基づく前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値の計算のために前記近さ検出手順に関連して前記第1のIoTデバイスにおいて互いに相互に関連付けられるように構成され、
前記相関情報が、(i)前記音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記音の放出を特定するのを助けるように構成される第2の相関情報を含む、第2のIoTデバイス。
【請求項３５】
第2のモノのインターネット(IoT)デバイスに対する近さを決定するように構成される第1のIoTデバイスによって実行されるときに前記第1のIoTデバイスに動作を実行させる記憶された命令を含む非一時的コンピュータ可読媒体であって、前記命令が、
前記第1のIoTデバイスに前記第2のIoTデバイスとの接続を確立させるための少なくとも1つの命令と、
前記第1のIoTデバイスに前記第2のIoTデバイスとの近さ検出手順を実行すると決定させるための少なくとも1つの命令と、
前記第1のIoTデバイスに、前記第1のIoTデバイスに結合されたマイクロホンによって、前記決定に応じて前記第2のIoTデバイスからの第1の通信経路での音の放出を監視させるための少なくとも1つの命令と、
前記第1のIoTデバイスに、第1の時点で、前記音の放出が前記第1の通信経路で前記第2のIoTデバイスによって発せられるのと実質的に同時に第2の通信経路で前記第2のIoTデバイスによって送信されるデータパケットを受信させるための少なくとも1つの命令と、
前記第1のIoTデバイスに、第2の時点で、前記監視に基づいて前記音の放出を検出させるための少なくとも1つの命令と、
前記第1のIoTデバイスに、(i)前記検出された音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記検出された音の放出を特定するのを助けるように構成される第2の相関情報に基づいて、前記検出された音の放出を前記データパケットと相互に関連付けさせるための少なくとも1つの命令と、
前記第1のIoTデバイスに、前記第2の時点に少なくとも部分的に基づいて前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値を計算させるための少なくとも1つの命令とを含む、非一時的コンピュータ可読媒体。
【請求項３６】
第2のモノのインターネット(IoT)デバイスにおいて第1のIoTデバイスと前記第2のIoTデバイスとの間の近さの検出を容易にするように構成された第2のIoTデバイスによって実行されるときに前記第2のIoTデバイスに動作を実行させる記憶された命令を含む非一時的コンピュータ可読媒体であって、前記命令が、
前記第2のIoTデバイスに前記第1のIoTデバイスとの接続を確立させるための少なくとも1つの命令と、
前記第2のIoTデバイスに前記第1のIoTデバイスとの近さ検出手順を実行すると決定させるための少なくとも1つの命令と、
前記第2のIoTデバイスに、前記第2のIoTデバイスに結合された音声出力デバイスによって、前記決定に応じて第1の通信経路で前記第2のIoTデバイスからの音の放出を出力させるための少なくとも1つの命令と、
前記第2のIoTデバイスに、前記第1の通信経路での前記音の放出の前記出力と実質的に同時に、第2の通信経路で前記第1のIoTデバイスにデータパケットを送信させるための少なくとも1つの命令とを含み、
前記音の放出および前記データパケットが、相関情報に基づく前記第1のIoTデバイスと前記第2のIoTデバイスとの間の距離の推定値の計算のために前記近さ検出手順に関連して前記第1のIoTデバイスにおいて互いに相互に関連付けられるように構成され、
前記相関情報が、(i)前記音の放出に含まれ、前記データパケットを特定するのを助けるように構成される第1の相関情報、および/または(ii)前記データパケットに含まれ、前記音の放出を特定するのを助けるように構成される第2の相関情報を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条の下での優先権の主張
本特許出願は、対象の出願と同じ発明者によって2013年7月29日に出願され、本出願の譲受人に譲渡され、参照によりその全体が本明細書に明示的に組み込まれている「PROXIMITY DETECTION OF INTERNET OF THINGS (IoT) DEVICES USING SOUND CHIRPS」と題された米国仮出願第61/859,443号の優先権を主張するものである。
【０００２】
実施形態は、音声チャープを用いるモノのインターネット(IoT)デバイスの近さ検出に関する。
【背景技術】
【０００３】
インターネットは、互いに通信するために標準的なインターネットプロトコルスイート(たとえば、伝送制御プロトコル(TCP)およびインターネットプロトコル(IP))を用いる相互に接続されたコンピュータおよびコンピュータネットワークの全世界的システムである。モノのインターネット(IoT)は、コンピュータおよびコンピュータネットワークだけでなく日常的なモノ(object)がIoT通信ネットワーク(たとえば、アドホックシステムまたはインターネット)によって読み取り可能、認識可能、位置特定可能、アドレス指定可能、および制御可能であり得るという考えに基づく。
【０００４】
いくつかの市場の流れが、IoTデバイスの開発を促している。たとえば、上昇しているエネルギーコストが、スマートグリッド、ならびに電気自動車および公共の充電ステーションなどの未来の消費のサポートへの政府の戦略的投資を促している。上昇している健康管理のコストおよび高齢化が、遠隔/接続型の健康管理およびフィットネスサービスの開発を促している。家庭向けの技術革新が、サービスプロバイダが「N」プレイ('N' play)(たとえば、データ、音声、映像、セキュリティ、エネルギー管理など)を売り出し、ホームネットワークを拡大することによる整理統合を含む新しい「スマート」デバイスの開発を促している。建物は、企業の設備の運用コストを削減するための手段としてよりスマートでより便利になりつつある。
【０００５】
IoTに関するいくつかの重要な応用がある。たとえば、スマートグリッドおよびエネルギー管理の領域では、公益事業会社が、家庭および企業へのエネルギーの送達を最適化することができる一方、顧客が、エネルギーの使用をより適切に管理することができる。家および建物のオートメーションの領域では、スマートホームおよびスマートビルディングが、家庭または事業所で、電化製品からプラグイン電気自動車(PEV)のセキュリティシステムまで実質的に任意のデバイスまたはシステムを集中的に制御することができる。資産追跡(asset tracking)の分野では、企業、病院、工場、およびその他の大きな組織が、価値の高い機器、患者、車両などの位置を性格に追跡することができる。健康およびウェルネスの領域では、医者が、患者の健康を遠隔で監視することができる一方、人が、フィットネスルーチンの経過を追跡することができる。
【０００６】
したがって、近い将来、IoTテクノロジーのますます進む発展が、多くのIoTデバイスが家庭、車内、職場、および多くのその他の場所でユーザを取り巻くことにつながる。しかし、IoT対応デバイスが、ユーザを取り巻く環境についてのかなりのリアルタイムの情報(たとえば、好み、選択、癖、デバイスの状態、および使用パターンなど)を提供することができるという事実にもかかわらず、異なるIoTデバイスが、それらのIoTデバイスが互いに物理的にごく近くにあるかどうかを決定することは比較的難しい可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００７】
一実施形態において、接続が、第1のモノのインターネット(IoT)デバイスと第2のIoTデバイスとの間で確立される。近さ検出手順を実行する決定がなされた後、第2のIoTデバイスは、音の放出およびデータパケットを実質的に同時に出力する。第1のIoTデバイスは、マイクロホンによって音の放出を検出し、データパケットを受信する。第1のIoTデバイスは、相関情報を用いて、検出された音の放出をデータパケットと相互に関連付け、それによって、相関情報は、検出された音の放出、データパケット、またはその両方に含まれる。第1のIoTデバイスは、検出された音の放出とデータパケットとの間の相関を用いて第1のIoTデバイスと第2のIoTデバイスとの間の距離の推定値を計算する。
【０００８】
本開示の態様およびそれに付随する利点の多くのより完全な理解は、本開示の限定ではなく例示のためにだけ示される添付の図面に関連して考慮されるときに以下の詳細な説明を参照することによって本開示の態様およびそれに付随する利点の多くがより深く理解されるようになるときに容易に得られるであろう。
【図面の簡単な説明】
【０００９】
【図１Ａ】本開示の一態様によるワイヤレス通信システムの高レベルのシステムアーキテクチャを示す図である。
【図１Ｂ】本開示の別の態様によるワイヤレス通信システムの高レベルのシステムアーキテクチャを示す図である。
【図１Ｃ】本開示の一態様によるワイヤレス通信システムの高レベルのシステムアーキテクチャを示す図である。
【図１Ｄ】本開示の一態様によるワイヤレス通信システムの高レベルのシステムアーキテクチャを示す図である。
【図１Ｅ】本開示の一態様によるワイヤレス通信システムの高レベルのシステムアーキテクチャを示す図である。
【図２Ａ】本開示の態様による例示的なモノのインターネット(IoT)デバイスを示す図である。
【図２Ｂ】本開示の態様による例示的な受動的IoTデバイスを示す図である。
【図３】本開示の一態様による、機能を実行するように構成された論理を含む通信デバイスを示す図である。
【図４】本開示の様々な態様による例示的なサーバを示す図である。
【図５】本発明の実施形態によるIoT環境の例を示す図である。
【図６】本発明の実施形態による第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを示す図である。
【図７】第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とする図であり、本発明の実施形態によれば、そのプロセスによって、閾値の量のネットワーク伝播遅延が存在し、第1のIoTデバイスにおいてチャープをデータパケットと相互に関連付けるのを助けるためにデータパケットによって相関情報が提供される。
【図８】第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とする図であり、本発明の実施形態によれば、そのプロセスによって、皆無かそれに近いネットワーク伝播遅延しか存在せず、第1のIoTデバイスにおいてチャープをデータパケットと相互に関連付けるのを助けるためにチャープによって相関情報が提供される。
【図９】本発明の実施形態による、第1のIoTデバイスと第2のIoTデバイスとの間のクロックの同期が存在する場合の第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とする図である。
【図１０】第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とする図であり、本発明の実施形態によれば、そのプロセスによって、閾値の量のネットワーク伝播遅延が存在し、クロックの同期が利用不可能である。
【図１１】本発明の実施形態による、マイクロホンを有する複数のIoTデバイスが、単一の近さ検出手順によってチャープを発するIoTデバイスに対するそれらのIoTデバイスの距離を計算することができるプロセスを対象とする図である。
【図１２】本発明の実施形態による、マイクロホンを有するIoTデバイスが三辺測量によって複数のその他のチャープを発するデバイスに対するそのIoTデバイスの相対的位置を計算するプロセスを対象とする図である。
【発明を実施するための形態】
【００１０】
様々な態様が、モノのインターネット(IoT)デバイスの間の近さ検出の例示的な実施形態に関する特定の例を示すために以下の説明および関連する図面において開示される。代替的な実施形態は、本開示を読むと当業者に明らかになり、本開示の範囲または精神から逸脱することなく構築され、実施され得る。加えて、よく知られている要素は、本明細書において開示される態様および実施形態の関連する詳細を曖昧にしないように詳細に説明されないか、または省略される可能性がある。
【００１１】
語「例示的な」は、本明細書においては「例、具体例、または事例としての役割を果たす」ことを表すために使用される。本明細書において「例示的」と記載されたいずれの実施形態も、必ずしもその他の実施形態よりも好ましいかまたは有利であると解釈されるべきではない。同様に、用語「実施形態」は、すべての実施形態が検討される特徴、利点、または動作のモードを含むことを必要としない。
【００１２】
本明細書において使用される用語は、特定の実施形態を説明するに過ぎず、本明細書において開示されるいずれかの実施形態を限定すると考えられるべきではない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、文脈がそうでないことをはっきりと示さない限り複数形も含むように意図される。用語「含む(comprises)」、「含む(comprising)」、「含む(includes)」、および/または「含む(including)」は、本明細書において使用されるとき、言及された特徴、完全体(integer)、ステップ、操作、要素、および/または構成要素の存在を指定するが、1つまたは複数のその他の特徴、完全体、ステップ、操作、要素、構成要素、および/またはこれらのグループの存在または追加を除外しないことがさらに理解されるであろう。
【００１３】
さらに、多くの態様が、たとえば、コンピューティングデバイスの要素によって実行される一連の動作によって説明される。本明細書において説明される様々な動作が特定の回路(たとえば、特定用途向け集積回路(ASIC))、1つもしくは複数のプロセッサによって実行されるプログラム命令、またはこれら両方の組合せによって実行され得ることが、認められるであろう。加えて、本明細書において説明されるこれらの一連の動作は、実行されると関連するプロセッサに本明細書において説明される機能を実行させるコンピュータ命令の対応する組を記憶する任意の形態のコンピュータ可読ストレージ媒体内に完全に具現化されると考えられ得る。したがって、本開示の様々な態様は、いくつかの異なる形態で具現化される可能性があり、それらの異なる形態のすべては、特許請求の対象の範囲内にあると考えられてきた。さらに、本明細書において説明される態様のそれぞれに関して、対応する形態の任意のそのような態様は、たとえば、説明される動作を実行する「ように構成された論理」として本明細書において説明される可能性がある。
【００１４】
本明細書において使用されるとき、「モノのインターネットデバイス」(または「IoTデバイス」)という用語は、アドレス指定可能なインターフェース(たとえば、インターネットプロトコル(IP)アドレス、Bluetooth（登録商標）識別子(ID)、近距離無線通信(NFC: near-field communication)IDなど)を有し、有線またはワイヤレスの接続を介して1つまたは複数のその他のデバイスに情報を送信することができる任意のモノ(たとえば、電化製品、センサなど)を指す可能性がある。IoTデバイスは、クイックレスポンス(QR)コード、無線周波数識別(RFID)タグ、NFCタグなどの受動的な通信インターフェース、またはモデム、トランシーバ、送信機-受信機などの能動的な通信インターフェースを有する可能性がある。IoTデバイスは、中央演算処理装置(CPU)、マイクロプロセッサ、ASICなどに埋め込まれ、および/または中央演算処理装置(CPU)、マイクロプロセッサ、ASICなどによって制御/監視され、ローカルアドホックネットワークまたはインターネットなどのIoTネットワークに接続するように構成され得る特定の1組の属性(たとえば、IoTデバイスがオンであるかまたはオフであるか、開いているかまたは閉じているか、アイドルかまたはアクティブか、タスクの実行のために利用可能かまたは使用中かなどのデバイスの状態またはステータス、冷やすまたは暖める機能、環境を監視または記録する機能、光を発する機能、音を発する機能など)を有する可能性がある。たとえば、IoTデバイスは、デバイスがIoTネットワークと通信するためのアドレス指定可能な通信インターフェースを備えている限り、冷蔵庫、トースター、オーブン、電子レンジ、冷凍庫、食洗機、皿、手工具、洗濯機、衣類乾燥機、炉、エアコン、サーモスタット、テレビ、照明設備、掃除機、スプリンクラー、電気メータ、ガスメータなどを含み得るがこれらに限定されない。IoTデバイスは、セル電話、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯情報端末(PDA)なども含み得る。したがって、IoTネットワークは、通常、インターネット接続性を持たないデバイス(たとえば、食洗機など)に加えて「レガシーの」インターネットに接続可能なデバイス(たとえば、ラップトップコンピュータまたはデスクトップコンピュータ、セル電話など)の組合せからなる可能性がある。
【００１５】
図1Aは、本開示の一態様によるワイヤレス通信システム100Aの高レベルのシステムアーキテクチャを示す。ワイヤレス通信システム100Aは、テレビ110、空調室外機112、サーモスタット114、冷蔵庫116、ならびに洗濯機および乾燥機118を含む複数のIoTデバイスを含む。
【００１６】
図1Aを参照すると、IoTデバイス110〜118は、図1Aにおいては無線インターフェース108および直接有線接続109として示される物理的な通信インターフェースまたはレイヤを介してアクセスネットワーク(たとえば、アクセスポイント125)と通信するように構成される。無線インターフェース108は、IEEE 802.11などのワイヤレスインターネットプロトコル(IP)に準拠する可能性がある。図1AはIoTデバイス110〜118が無線インターフェース108を介して通信し、IoTデバイス118が有線接続109を介して通信するところを示すが、各IoTデバイスは、有線もしくはワイヤレスの接続、またはこれら両方を介して通信する可能性がある。
【００１７】
インターネット175は、(図1Aには便宜上示されていない)いくつかのルーティングエージェントおよび処理エージェントを含む。インターネット175は、異なるデバイス/ネットワーク間で通信するために標準的なインターネットプロトコルスイート(たとえば、伝送制御プロトコル(TCP)およびIP)を用いる相互に接続されたコンピュータおよびコンピュータネットワークの全世界的システムである。TCP/IPは、データがどのようにフォーマットされ、アドレス指定され、送信され、ルーティングされ、送信先で受信されるべきかを指定するエンドツーエンドの接続性を提供する。
【００１８】
図1Aにおいて、デスクトップコンピュータまたはパーソナルコンピュータ(PC)などのコンピュータ120は、(たとえば、イーサネット（登録商標）接続またはWi-Fiもしくは802.11に基づくネットワークを介して)インターネット175に直接接続するものとして示される。コンピュータ120は、モデムまたはルータへの直接接続などのインターネット175への有線接続を有する可能性があり、モデムまたはルータは、一例において、(たとえば、有線接続性とワイヤレス接続性との両方を有するWi-Fiルータの)アクセスポイント125自体に対応する可能性がある。代替的に、有線接続を介してアクセスポイント125およびインターネット175に接続されるのではなく、コンピュータ120は、無線インターフェース108または別のワイヤレスインターフェースを介してアクセスポイント125に接続され、無線インターフェースを介してインターネット175にアクセスする可能性がある。デスクトップコンピュータとして示されているが、コンピュータ120は、ラップトップコンピュータ、タブレットコンピュータ、PDA、スマートフォンなどの可能性がある。コンピュータ120は、IoTデバイスであり、および/またはIoTデバイス110〜118のネットワーク/グループなどのIoTネットワーク/グループを管理するための機能を含む可能性がある。
【００１９】
アクセスポイント125は、たとえば、FiOSなどの光通信システム、ケーブルモデム、デジタル加入者線(DSL)モデムなどを介してインターネット175に接続される可能性がある。アクセスポイント125は、標準的なインターネットプロトコル(たとえば、TCP/IP)を用いてIoTデバイス110〜120およびインターネット175と通信し得る。
【００２０】
図1Aを参照すると、IoTサーバ170は、インターネット175に接続されるものとして示される。IoTサーバ170は、複数の構造的に別々のサーバとして実装される可能性があり、または代替的に、単一のサーバに対応する可能性がある。一態様において、IoTサーバ170は、(破線によって示されるように)任意であり、IoTデバイス110〜120のグループは、ピアツーピア(P2P)ネットワークの可能性がある。そのような場合、IoTデバイス110〜120は、無線インターフェース108および/または有線接続109を介して互いに直接通信し得る。代替的にまたは追加的に、IoTデバイス110〜120の一部またはすべては、無線インターフェース108および有線接続109とは独立した通信インターフェースを用いて構成される可能性がある。たとえば、無線インターフェース108がWi-Fiインターフェースに対応する場合、特定のIoTデバイス110〜120は、互いにまたはその他のBluetooth（登録商標）対応デバイスもしくはNFC対応デバイスと直接通信するためのBluetooth（登録商標）インターフェースまたはNFCインターフェースを有する可能性がある。
【００２１】
ピアツーピアネットワークにおいては、サービス発見方式が、ノードの存在、それらのノードの能力、およびグループの加入者資格をマルチキャストする可能性がある。ピアツーピアデバイスは、この情報に基づいて関連付けおよびその後のインタラクションを確立し得る。
【００２２】
本開示の一態様によれば、図1Bは、複数のIoTデバイスを含む別のワイヤレス通信システム100Bの高レベルのアーキテクチャを示す。概して、図1Bに示されるワイヤレス通信システム100Bは、上でより詳細に説明された、図1Aに示されたワイヤレス通信システム100Aと同じおよび/または実質的に同様の様々な構成要素(たとえば、無線インターフェース108および/または直接有線接続109を介してアクセスポイント125と通信するように構成されるテレビ110、空調室外機112、サーモスタット114、冷蔵庫116、ならびに洗濯機および乾燥機118、インターネット175に直接接続し、および/またはアクセスポイント125を介してインターネットに接続するコンピュータ120、ならびにインターネット175を介してアクセス可能なIoTサーバ170などを含む様々なIoTデバイス)を含み得る。したがって、説明を簡潔および簡単にするために、図1Bに示されるワイヤレス通信システム100Bの特定の構成要素に関連する様々な詳細は、同じまたは同様の詳細が図1Aに示されたワイヤレス通信システム100Aに関連して上で既に与えられている限り、本明細書において省略される可能性がある。
【００２３】
図1Bを参照すると、ワイヤレス通信システム100Bは、スーパーバイザデバイス130を含む可能性があり、スーパーバイザデバイス130は、代替的にIoTマネージャ130またはIoTマネージャデバイス130と呼ばれる可能性がある。したがって、以下の説明が「スーパーバイザデバイス」130という用語を使用する場合、当業者は、IoTマネージャ、グループの所有者、または同様の用語へのすべての言及が、スーパーバイザデバイス130、または同じもしくは実質的に同様の機能を提供する別の物理的もしくは論理的な構成要素を指す可能性があることを理解するであろう。
【００２４】
一実施形態において、スーパーバイザデバイス130は、概して、ワイヤレス通信システム100Bの様々なその他の構成要素を観測、監視、制御、または場合によっては管理し得る。たとえば、スーパーバイザデバイス130は、無線インターフェース108および/または直接有線接続109を介してアクセスネットワーク(たとえば、アクセスポイント125)と通信して、ワイヤレス通信システム100B内の様々なIoTデバイス110〜120に関連する属性、活動、またはその他の状態を監視または管理することができる。スーパーバイザデバイス130は、インターネット175および任意で(破線として示される)IoTサーバ170への有線またはワイヤレスの接続を有する可能性がある。スーパーバイザデバイス130は、様々なIoTデバイス110〜120に関連する属性、活動、またはその他の状態をさらに監視または管理するために使用され得る情報をインターネット175および/またはIoTサーバ170から取得し得る。スーパーバイザデバイス130は、スタンドアロンのデバイス、またはコンピュータ120などのIoTデバイス110〜120のうちの1つである可能性がある。スーパーバイザデバイス130は、物理的なデバイス、または物理的なデバイスで実行されるソフトウェアアプリケーションである可能性がある。スーパーバイザデバイス130は、IoTデバイス110〜120に関連する監視された属性、活動、またはその他の状態に関連する情報を出力し、IoTデバイス110〜120に関連する属性、活動、またはその他の状態を制御または場合によっては管理するための入力された情報を受信することができるユーザインターフェースを含み得る。したがって、スーパーバイザデバイス130は、概して、ワイヤレス通信システム100B内の様々な構成要素を観測、監視、制御、または場合によっては管理するために様々な構成要素を含み、様々な有線およびワイヤレスの通信インターフェースをサポートする可能性がある。
【００２５】
図1Bに示されるワイヤレス通信システム100Bは、ワイヤレス通信システム100Bに結合されるか、または場合によってはワイヤレス通信システム100Bの一部にされる可能性がある(能動的なIoTデバイス110〜120とは対照的な)1つまたは複数の受動的なIoTデバイス105を含む可能性がある。概して、受動的なIoTデバイス105は、バーコード付きデバイス、Bluetooth（登録商標）デバイス、無線周波数(RF)デバイス、RFIDタグ付きデバイス、赤外線(IR)デバイス、NFCタグ付きデバイス、または近距離インターフェースを介して問い合わされるときにそのデバイスの識別子および属性を別のデバイスに提供することができる任意のその他の好適なデバイスを含み得る。能動的なIoTデバイスは、受動的なIoTデバイスの属性の変化を検出する可能性、記憶する可能性、伝達する可能性、そのような変化に基づいて動作する可能性などがある。
【００２６】
たとえば、受動的なIoTデバイス105は、それぞれがRFIDタグまたはバーコードを有するコーヒーカップおよびオレンジジュースの容器を含む可能性がある。棚IoTデバイスおよび冷蔵庫IoTデバイス116は、それぞれ、コーヒーカップおよび/またはオレンジジュースの容器の受動的なIoTデバイス105が追加されたかまたは取り除かれた時点を検出するためにRFIDタグまたはバーコードを読み取ることができる適切なスキャナまたはリーダを有する可能性がある。棚IoTデバイスがコーヒーカップの受動的なIoTデバイス105が取り除かれたことを検出し、かつ冷蔵庫IoTデバイス116がオレンジジュースの容器の受動的なIoTデバイスが取り除かれたことを検出すると、スーパーバイザデバイス130は、棚IoTデバイスおよび冷蔵庫IoTデバイス116で検出された活動に関する1つまたは複数の信号を受信し得る。次いで、スーパーバイザデバイス130は、ユーザがコーヒーカップでオレンジジュースを飲んでいる、および/またはコーヒーカップでオレンジジュースを飲むのが好きであると推測する可能性がある。
【００２７】
以上は受動的なIoTデバイス105を何らかの形態のRFまたはバーコード通信インターフェースを有するものとして説明しているが、受動的なIoTデバイス105は、そのような通信能力を持たない1つまたは複数のデバイスまたはその他の物理的なモノを含む可能性がある。たとえば、特定のIoTデバイスは、受動的なIoTデバイス105を特定するために受動的なIoTデバイス105に関連する形、大きさ、色、および/またはその他の観測可能な特徴を検出することができる適切なスキャナまたはリーダのメカニズムを有する可能性がある。このようにして、任意の好適な物理的なモノは、そのモノの識別情報および属性を伝達し、ワイヤレス通信システム100Bの一部になり、スーパーバイザデバイス130により観測、管理、制御、または場合によっては管理され得る。さらに、受動的なIoTデバイス105は、図1Aのワイヤレス通信システム100Aに結合されるか、または場合によっては図1Aのワイヤレス通信システム100Aの一部にされ、実質的に同様の方法で観測、監視、制御、または場合によっては管理され得る。
【００２８】
本開示の別の態様によれば、図1Cは、複数のIoTデバイスを含む別のワイヤレス通信システム100Cの高レベルのアーキテクチャを示す。概して、図1Cに示されるワイヤレス通信システム100Cは、上でより詳細に説明された図1Aおよび図1Bにそれぞれ示されたワイヤレス通信システム100Aおよび100Bと同じおよび/または実質的に同様である様々な構成要素を含み得る。したがって、説明を簡潔および簡単にするために、図1Cに示されるワイヤレス通信システム100Cの特定の構成要素に関連する様々な詳細は、同じまたは同様の詳細が図1Aおよび図1Bにそれぞれ示されたワイヤレス通信システム100Aおよび100Bに関連して上で既に与えられている限り、本明細書において省略される可能性がある。
【００２９】
図1Cに示される通信システム100Cは、IoTデバイス110〜118とスーパーバイザデバイス130との間の例示的なピアツーピア通信を示す。図1Cに示されるように、スーパーバイザデバイス130は、IoTスーパーバイザインターフェースを介してIoTデバイス110〜118のそれぞれと通信する。さらに、IoTデバイス110および114、IoTデバイス112、114、および116、ならびにIoTデバイス116および118は、互いに直接通信する。
【００３０】
IoTデバイス110〜118は、IoTグループ160を構成する。IoTデバイスグループ160は、ユーザのホームネットワークに接続されたIoTデバイスなどのローカルに接続されたIoTデバイスのグループである。示されていないが、複数のIoTデバイスグループが、インターネット175に接続されたIoT SuperAgent 140を介して互いに接続されるおよび/または通信する可能性がある。高いレベルで、スーパーバイザデバイス130がグループ内通信を管理し、一方、IoT SuperAgent 140はグループ間通信を管理することができる。別々のデバイスとして示されているが、スーパーバイザ130およびIoT SuperAgent 140は、同じデバイス(たとえば、図1Aのコンピュータ120のようなスタンドアロンのデバイスまたはIoTデバイス)であるか、または同じデバイス(たとえば、図1Aのコンピュータ120のようなスタンドアロンのデバイスまたはIoTデバイス)に存在する可能性がある。代替的に、IoT SuperAgent 140は、アクセスポイント125に対応するか、またはアクセスポイント125の機能を含む可能性がある。さらに別の代替として、IoT SuperAgent 140は、IoTサーバ170などのIoTサーバに対応するか、またはIoTサーバの機能を含む可能性がある。IoT SuperAgent 140は、ゲートウェイ機能145を包含する(encapsulate)可能性がある。
【００３１】
それぞれのIoTデバイス110〜118は、スーパーバイザデバイス130をピアとして扱い、スーパーバイザデバイス130に属性/スキーマの更新を送信する可能性がある。IoTデバイスは、別のIoTデバイスと通信する必要があるとき、スーパーバイザデバイス130にそのIoTデバイスへのポインタを要求し、次いで、ピアとして目標のIoTデバイスと通信することができる。IoTデバイス110〜118は、共通メッセージングプロトコル(CMP: common messaging protocol)を用いてピアツーピア通信ネットワークを介して互いに通信する。2つのIoTデバイスは、CMPに対応し、共通通信トランスポート(common communication transport)を介して接続される限り、互いに通信し得る。プロトコルスタックにおいて、CMPレイヤ154は、アプリケーションレイヤ152の下で、かつトランスポートレイヤ156および物理レイヤ158の上にある。
【００３２】
本開示の別の態様によれば、図1Dは、複数のIoTデバイスを含む別のワイヤレス通信システム100Dの高レベルのアーキテクチャを示す。概して、図1Dに示されるワイヤレス通信システム100Dは、上でより詳細に説明された図1A〜図1Cにそれぞれ示されたワイヤレス通信システム100A〜Cと同じおよび/または実質的に同様である様々な構成要素を含み得る。したがって、説明を簡潔および簡単にするために、図1Dに示されるワイヤレス通信システム100Dの特定の構成要素に関連する様々な詳細は、同じまたは同様の詳細が図1A〜図1Cにそれぞれ示されたワイヤレス通信システム100A〜Cに関連して上で既に与えられている限り、本明細書において省略される可能性がある。
【００３３】
インターネット175は、IoTの概念を用いて規制され得る「リソース」である。しかし、インターネット175は、規制されるリソースの単なる一例であり、任意のリソースが、IoTの概念を用いて規制され得る。規制され得るその他のリソースは、電気、ガス、ストレージ、セキュリティなどを含むがこれらに限定されない。IoTデバイスは、リソースに接続され、それによってリソースを規制する可能性があり、またはリソースは、インターネット175を介して規制される可能性がある。図1Dは、天然ガス、ガソリン、温水、および電気などのいくつかのリソース180を示し、リソース180は、インターネット175に加えておよび/またはインターネット175を介して規制され得る。
【００３４】
IoTデバイスは、それらのリソース180の使用を規制するために互いに通信し得る。たとえば、トースター、コンピュータ、およびヘアドライヤーなどのIoTデバイスが、それらの電気(リソース180)の使用を規制するためにBluetooth（登録商標）通信インターフェースを介して互いに通信する可能性がある。別の例として、デスクトップコンピュータ、電話、およびタブレットコンピュータなどのIoTデバイスが、インターネット175(リソース180)へのそれらのアクセスを規制するためにWi-Fi通信インターフェースを介して通信する可能性がある。さらに別の例として、ストーブ、衣類乾燥機、および給湯器などのIoTデバイスが、それらのガスの使用を規制するためにWi-Fi通信インターフェースを介して通信する可能性がある。代替的にまたは追加的に、それぞれのIoTデバイスは、IoTデバイスから受信された情報に基づいてそれらのリソース180の使用を規制するための論理を有するIoTサーバ170などのIoTサーバに接続される可能性がある。
【００３５】
本開示の別の態様によれば、図1Eは、複数のIoTデバイスを含む別のワイヤレス通信システム100Eの高レベルのアーキテクチャを示す。概して、図1Eに示されるワイヤレス通信システム100Eは、上でより詳細に説明された図1A〜図1Dにそれぞれ示されたワイヤレス通信システム100A〜Dと同じおよび/または実質的に同様である様々な構成要素を含み得る。したがって、説明を簡潔および簡単にするために、図1Eに示されるワイヤレス通信システム100Eの特定の構成要素に関連する様々な詳細は、同じまたは同様の詳細が図1A〜図1Dにそれぞれ示されたワイヤレス通信システム100A〜Dに関連して上で既に与えられている限り、本明細書において省略される可能性がある。
【００３６】
通信システム100Eは、2つのIoTデバイスグループ160Aおよび160Bを含む。複数のIoTデバイスグループが、インターネット175に接続されたIoT SuperAgentを介して互いに接続されるおよび/または通信する可能性がある。高いレベルで、IoT SuperAgentは、IoTデバイスグループの間のグループ間通信を管理し得る。たとえば、図1Eにおいては、IoTデバイスグループ160Aが、IoTデバイス116A、122A、および124A、ならびにIoT SuperAgent 140Aを含み、一方、IoTデバイスグループ160Bは、IoTデバイス116B、122B、および124B、ならびにIoT SuperAgent 140Bを含む。したがって、IoT SuperAgent 140Aおよび140Bは、IoTデバイスグループ160AとIoTデバイスグループ160Bとの間の通信を容易にするために、インターネット175に接続して、インターネット175を介して互いに通信し、および/または互いに直接通信し得る。さらに、図1EはIoT SuperAgent 140Aおよび140Bを介して互いに通信する2つのIoTデバイスグループ160Aおよび160Bを示すが、当業者は、任意の数のIoTデバイスグループがIoT SuperAgentを用いて互いに好適に通信する可能性があることを理解するであろう。
【００３７】
図2Aは、本開示の態様によるIoTデバイス200Aの高レベルの例を示す。外観および/または内部の構成要素がIoTデバイスの間で大きく異なる可能性があるが、ほとんどのIoTデバイスは、ディスプレイおよびユーザ入力のための手段を含み得るある種のユーザインターフェースを有する。ユーザインターフェースのないIoTデバイスは、図1A〜図1Bの無線インターフェース108などの有線またはワイヤレスのネットワークを介して遠隔で通信され得る。
【００３８】
図2Aに示されるように、IoTデバイス200Aに関する例示的な構成において、IoTデバイス200Aの外部ケーシングは、当技術分野で知られているように、構成要素の中でもとりわけ、ディスプレイ226、電源ボタン222、ならびに2つの制御ボタン224Aおよび224Bを用いて構成される可能性がある。ディスプレイ226は、タッチスクリーンディスプレイである可能性があり、その場合、制御ボタン224Aおよび224Bは、必要でない可能性がある。IoTデバイス200Aの一部として明示的に示されていないが、IoTデバイス200Aは、Wi-Fiアンテナ、セルラーアンテナ、衛星測位システム(SPS)アンテナ(たとえば、全地球測位システム(GPS)アンテナ)などを含むがこれらに限定されない1つもしくは複数の外部アンテナおよび/または外部ケーシングに組み込まれた1つもしくは複数の組み込みアンテナを含む可能性がある。
【００３９】
IoTデバイス200AなどのIoTデバイスの内部の構成要素は、異なるハードウェア構成で具現化される可能性があるが、内部のハードウェア構成要素に関する基本的な高レベルの構成は、図2Aにおいてプラットフォーム202として示される。プラットフォーム202は、図1A〜図1Bの無線インターフェース108および/または有線インターフェースなどのネットワークインターフェースを介して送信されたソフトウェアアプリケーション、データ、および/またはコマンドを受信し、実行し得る。また、プラットフォーム202は、ローカルに記憶されたアプリケーションを独立して実行し得る。プラットフォーム202は、概してプロセッサ208と呼ばれるマイクロコントローラ、マイクロプロセッサ、特定用途向け集積回路、デジタル信号プロセッサ(DSP)、プログラミング可能な論理回路、またはその他のデータ処理デバイスなどの1つまたは複数のプロセッサ208に動作可能に結合された有線および/またはワイヤレスの通信のために構成された1つまたは複数のトランシーバ206(たとえば、Wi-Fiトランシーバ、Bluetooth（登録商標）トランシーバ、セルラートランシーバ、衛星トランシーバ、GPS受信機もしくはSPS受信機など)を含み得る。プロセッサ208は、IoTデバイスのメモリ212内のアプリケーションプログラミング命令を実行し得る。メモリ212は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュカード、またはコンピュータプラットフォームによくある任意のメモリのうちの1つまたは複数を含み得る。1つまたは複数の入力/出力(I/O)インターフェース214は、示されたディスプレイ226、電源ボタン222、制御ボタン224Aおよび224Bなどの様々なI/Oデバイス、ならびにIoTデバイス200Aに関連するセンサ、アクチュエータ、中継機、バルブ、スイッチなどの任意のその他のデバイスとプロセッサ208が通信することと、それらのデバイスからの制御とを可能にするように構成され得る。
【００４０】
したがって、本開示の態様は、本明細書において説明される機能を実行する能力を含むIoTデバイス(たとえば、IoTデバイス200A)を含み得る。当業者によって理解されるように、様々な論理要素は、ディスクリート要素(discrete element)、プロセッサ(たとえば、プロセッサ208)で実行されるソフトウェアモジュール、または本明細書において開示される機能を実現するためのソフトウェアとハードウェアとの任意の組合せで具現化され得る。たとえば、トランシーバ206、プロセッサ208、メモリ212、およびI/Oインターフェース214が、本明細書で開示される様々な機能を協力してロードし、記憶し、実行するためにすべて使用される可能性があり、したがって、これらの機能を実行するための論理が、様々な要素に分散される可能性がある。代替的に、機能は、1つのディスクリート構成要素(discrete component)に組み込まれる可能性がある。したがって、図2AのIoTデバイス200Aの特徴は、例示的であるに過ぎないと見なされるべきであり、本開示は、示される特徴または構成に限定されない。
【００４１】
図2Bは、本開示の態様による受動的なIoTデバイス200Bの高レベルの例を示す。概して、図2Bに示される受動的なIoTデバイス200Bは、上でより詳細に説明された図2Aに示されたIoTデバイス200Aと同じおよび/または実質的に同様である様々な構成要素を含み得る。したがって、説明を簡潔および簡単にするために、図2Bに示される受動的なIoTデバイス200Bの特定の構成要素に関連する様々な詳細は、同じまたは同様の詳細が図2Aに示されたIoTデバイス200Aに関連して上で既に与えられている限り、本明細書において省略される可能性がある。
【００４２】
概して、図2Bに示される受動的なIoTデバイス200Bは、受動的なIoTデバイス200Bがプロセッサ、内部メモリ、または特定のその他の構成要素を持たない可能性があるという点で、図2Aに示されたIoTデバイス200Aとは異なる可能性がある。その代わりに、一実施形態において、受動的なIoTデバイス200Aは、I/Oインターフェース214、または受動的なIoTデバイス200Bが制御されるIoTネットワーク内で観測されるか、監視されるか、制御されるか、管理されるか、または場合によっては知られることを可能にするその他の好適なメカニズムのみを含み得る。たとえば、一実施形態において、受動的なIoTデバイス200Bに関連するI/Oインターフェース214は、バーコード、Bluetooth（登録商標）インターフェース、無線周波数(RF)インターフェース、RFIDタグ、IRインターフェース、NFCインターフェース、または近距離インターフェースを介して問い合わされるときに受動的なIoTデバイス200Bに関連する識別子および属性を別のデバイス(たとえば、受動的なIoTデバイス200Bに関連する属性に関する情報を検出するか、記憶するか、伝達するか、そのような情報に基づいて動作するか、または場合によってはそのような情報を処理することができるIoTデバイス200Aなどの能動的なIoTデバイス)に提供することができる任意のその他の好適なI/Oインターフェースを含み得る。
【００４３】
以上は受動的なIoTデバイス200Bをある形態のRF、バーコード、またはその他のI/Oインターフェース214を有するものとして説明しているが、受動的なIoTデバイス200Bは、そのようなI/Oインターフェース214を持たないデバイスまたはその他の物理的なモノを含む可能性がある。たとえば、特定のIoTデバイスは、受動的なIoTデバイス200Bを特定するために受動的なIoTデバイス200Bに関連する形、大きさ、色、および/またはその他の観測可能な特徴を検出することができる適切なスキャナまたはリーダのメカニズムを有する可能性がある。このようにして、任意の好適な物理的なモノは、その識別情報および属性を伝達し、制御されるIoTネットワーク内で観測、監視、制御、または場合によっては管理され得る。
【００４４】
図3は、機能を実行するように構成された論理を含む通信デバイス300を示す。通信デバイス300は、IoTデバイス110〜120、IoTデバイス200A、インターネット175に結合された任意の構成要素(たとえば、IoTサーバ170)などを含むがこれらに限定されない上述の通信デバイスのいずれかに対応する可能性がある。したがって、通信デバイス300は、図1A〜図1Bのワイヤレス通信システム100A〜Bを介して1つまたは複数のその他のエンティティと通信する(またはそれらのその他のエンティティとの通信を容易にする)ように構成される任意の電子デバイスに対応する可能性がある。
【００４５】
図3を参照すると、通信デバイス300は、情報を受信および/または送信するように構成された論理305を含む。一例においては、通信デバイス300がワイヤレス通信デバイス(たとえば、IoTデバイス200Aおよび/または受動的なIoTデバイス200B)に対応する場合、情報を受信および/または送信するように構成された論理305は、ワイヤレストランシーバなどのワイヤレス通信インターフェース(たとえば、Bluetooth（登録商標）、Wi-Fi、Wi-Fi Direct、ロングタームエボリューション(LTE)Directなど)ならびに関連するハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)を含み得る。別の例において、情報を受信および/または送信するように構成された論理305は、有線通信インターフェース(たとえば、シリアル接続、USB接続またはFirewire接続、インターネット175にアクセスし得るようにするイーサネット（登録商標）接続など)に対応する可能性がある。したがって、通信デバイス300がある種のネットワークに基づくサーバ(たとえば、アプリケーション170)に対応する場合、情報を受信および/または送信するように構成された論理305は、一例においては、ネットワークに基づくサーバをイーサネット（登録商標）プロトコルによってその他の通信エンティティに接続するイーサネット（登録商標）カードに対応する可能性がある。さらなる例において、情報を受信および/または送信するように構成された論理305は、通信デバイス300がそのローカルの環境を監視することができるようにする感知または測定のハードウェア(たとえば、加速度計、温度センサ、光センサ、ローカルのRF信号を監視するためのアンテナなど)を含む可能性がある。情報を受信および/または送信するように構成された論理305は、実行されるときに、情報を受信および/または送信するように構成された論理305の関連するハードウェアがその受信機能および/または送信機能を実行することを可能にするソフトウェアを含む可能性もある。しかし、情報を受信および/または送信するように構成された論理305は、ソフトウェアのみには対応せず、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００４６】
図3を参照すると、通信デバイス300は、情報を処理するように構成された論理310をさらに含む。一例において、情報を処理するように構成された論理310は、少なくともプロセッサを含み得る。情報を処理するように構成された論理310によって実行され得る処理の種類の例示的な実装は、判定を行うこと、接続を確立すること、異なる情報の選択肢の間で選択を行うこと、データに関連する評価を行うこと、通信デバイス300に結合されたセンサとインタラクションして測定動作を実行すること、情報をある形式から別の形式に(たとえば、.wmvから.aviになど、異なるプロトコルの間で)変換することなどを含むがこれらに限定されない。たとえば、情報を処理するように構成された論理310に含まれるプロセッサは、汎用プロセッサ、DSP、ASIC、フィールドプログラマブルゲートアレイ(FPGA)もしくはその他のプログラマブルロジックデバイス、ディスクリートゲート(discrete gate)もしくはトランジスタ論理、ディスクリートハードウェア構成要素(discrete hardware component)、または本明細書で説明される機能を実行するように設計されたこれらの任意の組合せに対応する可能性がある。汎用プロセッサはマイクロプロセッサである可能性があるが、代替として、プロセッサは、任意の通常のプロセッサ、コントローラ、マイクロコントローラ、または状態機械である可能性がある。また、プロセッサは、コンピューティングデバイスの組合せ(たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意のその他のそのような構成)として実装され得る。情報を処理するように構成された論理310は、実行されるときに、情報を処理するように構成された論理310の関連するハードウェアがその処理機能を実行することを可能にするソフトウェアを含む可能性もある。しかし、情報を処理するように構成された論理310は、ソフトウェアのみには対応せず、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００４７】
図3を参照すると、通信デバイス300は、情報を記憶するように構成された論理315をさらに含む。一例において、情報を記憶するように構成された論理315は、少なくとも非一時的メモリおよび関連するハードウェア(たとえば、メモリコントローラなど)を含み得る。たとえば、情報を記憶するように構成された論理315に含まれる非一時的メモリは、RAM、フラッシュメモリ、ROM、消去可能プログラマブルROM(EPROM)、EEPROM、レジスタ、ハードディスク、取り外し可能なディスク、CD-ROM、または当技術分野で知られている任意のその他の形態のストレージ媒体に対応する可能性がある。情報を記憶するように構成された論理315は、実行されるときに、情報を記憶するように構成された論理315の関連するハードウェアがその記憶機能を実行することを可能にするソフトウェアを含む可能性もある。しかし、情報を記憶するように構成された論理315は、ソフトウェアのみには対応せず、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００４８】
図3を参照すると、通信デバイス300は、任意で、情報を提示するように構成された論理320をさらに含む。一例において、情報を提示するように構成された論理320は、少なくとも出力デバイスおよび関連するハードウェアを含み得る。たとえば、出力デバイスは、映像出力デバイス(たとえば、ディスプレイスクリーン、USB、HDMI（登録商標）などの映像情報を運ぶことができるポートなど)、音声出力デバイス(たとえば、スピーカ、マイクロホンジャック、USB、HDMI（登録商標）などの音声情報を運ぶことができるポートなど)、振動デバイス、および/または情報が出力のためにフォーマットされるか、もしくは通信デバイス300のユーザもしくはオペレータによって実際に出力され得るようにする任意のその他のデバイスを含む可能性がある。たとえば、通信デバイス300が図2Aに示されたIoTデバイス200Aおよび/または図2Bに示された受動的なIoTデバイス200Bに対応する場合、情報を提供するように構成された論理320は、ディスプレイ226を含み得る。さらなる例において、情報を提示するように構成された論理320は、ローカルユーザのいないネットワーク通信デバイス(たとえば、ネットワークスイッチまたはルータ、遠隔のサーバなど)などの特定の通信デバイスに関しては省略される可能性がある。情報を提示するように構成された論理320は、実行されるときに、情報を提示するように構成された論理320の関連するハードウェアがその提示機能を実行することを可能にするソフトウェアを含む可能性もある。しかし、情報を提示するように構成された論理320は、ソフトウェアのみには対応せず、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００４９】
図3を参照すると、通信デバイス300は、任意で、ローカルユーザ入力を受信するように構成された論理325をさらに含む。一例において、ローカルユーザ入力を受信するように構成された論理325は、少なくともユーザ入力デバイスおよび関連するハードウェアを含み得る。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、音声入力デバイス(たとえば、マイクロホン、もしくはマイクロホンジャックなどの音声情報を運ぶことができるポートなど)、および/または情報が通信デバイス300のユーザもしくはオペレータから受信され得るようにする任意のその他のデバイスを含む可能性がある。たとえば、通信デバイス300が図2Aに示されたIoTデバイス200Aおよび/または図2Bに示された受動的なIoTデバイス200Bに対応する場合、ローカルユーザ入力を受信するように構成された論理325は、ボタン222、224A、および224B、ディスプレイ226(タッチスクリーンの場合)などを含み得る。さらなる例において、ローカルユーザ入力を受信するように構成された論理325は、ローカルユーザのいないネットワーク通信デバイス(たとえば、ネットワークスイッチまたはルータ、遠隔のサーバなど)などの特定の通信デバイスに関しては省略される可能性がある。ローカルユーザ入力を受信するように構成された論理325は、実行されるときに、ローカルユーザ入力を受信するように構成された論理325の関連するハードウェアがその入力受信機能を実行することを可能にするソフトウェアを含む可能性もある。しかし、ローカルユーザ入力を受信するように構成された論理325は、ソフトウェアのみには対応せず、その機能を実現するために少なくとも部分的にハードウェアに依拠する。
【００５０】
図3を参照すると、305から325までの構成された論理が図3の別々のまたは異なるブロックとして示されているが、それぞれの構成された論理がその機能を実行するようにするハードウェアおよび/またはソフトウェアは、部分的に重なる可能性があることが理解されるであろう。たとえば、305から325までの構成された論理の機能を助けるために使用される任意のソフトウェアは、305から325までの構成された論理が、情報を記憶するように構成された論理315によって記憶されたソフトウェアの動作に部分的に基づいてその機能(つまり、この場合、ソフトウェアの実行)をそれぞれ実行するように、情報を記憶するように構成された論理315に関連する非一時的メモリに記憶される可能性がある。同様に、構成された論理のうちの1つに直接関連付けられるハードウェアが、その他の構成された論理によって時折借用または使用され得る。たとえば、情報を処理するように構成された論理310のプロセッサは、情報を受信および/または送信するように構成された論理305が、情報を処理するように構成された論理310に関連するハードウェア(すなわち、プロセッサ)の動作に部分的に基づいてその機能(つまり、この場合、データの送信)を実行するように、情報を受信および/または送信するように構成された論理305によって送信される前にデータを適切な形式にフォーマットする可能性がある。
【００５１】
概して、別途明示的に示されない限り、本開示の全体を通じて使用される「〜ように構成された論理」という語句は、少なくとも部分的にハードウェアで実装される態様をもたらすように意図されており、ハードウェアとは独立したソフトウェアのみの実装に当てはまるように意図されていない。また、様々なブロックの構成された論理または「〜ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されず、概して、(ハードウェアかまたはハードウェアとソフトウェアとの組合せかのどちらかによって)本明細書において説明される機能を実行する能力を指すことが理解されるであろう。したがって、様々なブロックに示される構成された論理または「〜ように構成された論理」は、「論理」という語を共有するにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されない。様々なブロックの論理の間のその他のインタラクションまたは協力が、以下でより詳細に説明される態様を考察することにより当業者に明らかになるであろう。
【００５２】
様々な実施形態が、図4に示されるサーバ400などの様々な市販のサーバデバイスのいずれかで実装され得る。一例において、サーバ400は、上述のIoTサーバ170の1つの例示的な構成に対応する可能性がある。図4において、サーバ400は、揮発性メモリ402およびディスクドライブ403などの大容量不揮発性メモリに結合されたプロセッサ401を含む。サーバ400は、プロセッサ401に結合されたフロッピー（登録商標）ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ406も含む可能性がある。サーバ400は、その他のブロードキャストシステムのコンピュータおよびサーバまたはインターネットに結合されたローカルエリアネットワークなどのネットワーク407とのデータ接続を確立するためにプロセッサ401に結合されたネットワークアクセスポート404も含む可能性がある。図3に関連して、図4のサーバ400は、通信デバイス300の1つの例示的な実装を示し、それによって、情報を送信および/または受信するように構成された論理305は、ネットワーク407と通信するためにサーバ400によって使用されるネットワークアクセスポイント404に対応し、情報を処理するように構成された論理310は、プロセッサ401に対応し、情報を記憶するための論理の構成315は、揮発性メモリ402、ディスクドライブ403、および/またはディスクドライブ406の任意の組合せに対応することが理解されるであろう。情報を提示するように構成された任意の論理320およびローカルユーザ入力を受信するように構成された任意の論理325は、図4に明示的に示されておらず、サーバ400に含まれる可能性があり、または含まれない可能性がある。したがって、図4は、図2AのようなIoTデバイスの実装に加えて、通信デバイス300がサーバとして実装され得ることを示すのに役立つ。
【００５３】
IoTネットワークまたは環境においては、強化された機能が、2つ以上のIoTデバイスが互いに物理的にごく近くにあるかどうかに関する知識に基づいて特定の使用事例において得られる可能性がある。本明細書において使用されるとき、物理的にごく近くとは、IoTデバイスが互いに同じ部屋の中にあるか、または同じ部屋の中で互いに数フィート離れているか、またはさらにはそれぞれのIoTデバイスの間に壁が介在するようにして異なる部屋の中で互いに数フィート離れていることに対応する可能性がある。
【００５４】
図5は、本発明の実施形態によるIoT環境500の例を示す。図5において、IoT環境500は、会議室505、510から535までの複数の事務室、およびキッチン540を有する事務所空間である。事務所空間内で、IoTデバイス1(たとえば、ビデオプロジェクタ)およびIoTデバイス2(たとえば、セル電話またはタブレットコンピュータなどのハンドセットデバイス)が、会議室505に位置付けられ、IoTデバイス3(たとえば、セル電話またはタブレットコンピュータなどのハンドセットデバイス)が、事務室510内に位置付けられる。また、IoTデバイス4(たとえば、サーモスタット)、IoTデバイス5(たとえば、ミキサー)、IoTデバイス6(たとえば、冷蔵庫)、およびIoTデバイス7(たとえば、従業員の昼休みにその従業員によって操作されるセル電話またはタブレットコンピュータなどのハンドセットデバイス)が、キッチン540内に位置付けられる。理解されるように、図5のIoT環境500は事務所を対象とするが、IoT環境の多くのその他の構成もあり得る(たとえば、住宅、商店、車両、スタジアムなど)。
【００５５】
従来、ネットワークトランスポートレイヤにおける情報からIoTデバイスの間の物理的な近さを決定することは比較的難しい。たとえば、IoTデバイス4および5は、キッチン540内で互いに比較的近くにあり、Bluetooth（登録商標）などの直接接続によってまたはアクセスポイント125を介して互いに接続される可能性があり、それらのIoTデバイスの近さ(または互いの距離)は、受信信号強度インジケーション(RSSI: received signal strength indication)または経路損失の推定値から推定される可能性があるが、この種の測定基準は、近さを計算するための精度がそれほど高くない。NFC技術が、(たとえば、互いの20センチメートル以内の)非常に近いIoTデバイスに関する近さを計算するために使用される可能性もあるが、NFCは、遠く離れて離間されるIoTデバイスに関する近さを計算するには比較的効果的でない。それぞれのIoTデバイスにプロビジョニング(provision)されたマイクロホンが、それぞれのIoTデバイスが同じ部屋(または囲われた環境)内にあるかどうかを確かめるのに役立つ可能性がある環境雑音を比較のために捕捉するために使用される可能性がある。しかし、環境雑音の認識は、必ずしも、囲われた環境内での互いに対するそれらのIoTデバイスの近さの良好な指標であるとは限らない。その結果、本発明の実施形態は、第2のIoTデバイスにおいて検出される第1のIoTデバイスからの1つまたは複数の音の放出(または「チャープ」)によって2つ以上のIoTデバイスの間の近さを計算することを対象とする。
【００５６】
図6は、本発明の実施形態による第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを示す。図6において、第1のIoTデバイスおよび第2のIoTデバイスは、接続を確立する(600)。600において確立される接続は、Bluetooth（登録商標）などの直接接続、または代替的にアクセスポイント125または基地局などの第3のデバイス(図示せず)によって仲介される間接接続に対応する可能性がある。605において、第1のIoTデバイスがマイクロホンをプロビジョニングされており、第2のIoTデバイスが音声出力デバイスをプロビジョニングされていると決定される。605の決定は、第1のIoTデバイス、第2のIoTデバイス、または両方のIoTデバイスにおいてなされる可能性がある。605の決定は、いくつかの異なる方法でなされる可能性がある。一例において、第1のIoTデバイスは、マイクロホンを有するスマートフォンであり、第2のIoTデバイスは、「ビープ」機能を有する電子レンジである。この例においては、スマートフォンが、第2のIoTデバイスを電子レンジとして特定し、電子レンジが音声出力能力を有すると推測することができる(たとえば、電子レンジが、その電子レンジのハードウェアシリアル番号またはモデル番号をスマートフォンに提供する可能性があるなど)。605の決定は、600からの接続上で(たとえば、電子レンジがその電子レンジのシリアル番号をBluetooth（登録商標）データパケットでスマートフォンに報告する)または何らかのその他のメカニズムを介して(たとえば、スマートフォンがBluetooth（登録商標）によって電子レンジに接続する可能性があり、電子レンジを特定するためにそのスマートフォンの周囲のピクチャを別に撮り、音声出力能力がBluetooth（登録商標）接続上で交換されるデータによって推測されないようにその電子レンジの音声出力能力を推測する可能性があるなど)やりとりされる情報に基づく可能性がある。したがって、600において確立される接続は、必ずしも、605の決定などの後続の動作がこの特定の接続を使用しなければならないことを(これは確かにあり得るが)示唆するとは限らない。
【００５７】
610において、第1のIoTデバイスと第2のIoTデバイスとの間の近さ(または距離)を計算するための近さ検出手順を実行することが決定される。610の決定は、どちらかのIoTデバイスによって開始され、それから、他方のIoTデバイスに伝えられる可能性がある。したがって、610において、第1のIoTデバイスが近さ検出手順を実行すると決定する場合、第1のIoTデバイスは、手順を開始するための命令を600からの接続を介して第2のIoTデバイスに送信し得る。同様に、600において、第2のIoTデバイスが近さ検出手順を実行すると決定する場合、第2のIoTデバイスは、手順を開始するための命令を600からの接続を介して第1のIoTデバイスに送信し得る。
【００５８】
近さ検出手順を実行する決定の後、第1のIoTデバイスが、第2のIoTデバイスからの「チャープ」を監視するためにその第1のIoTデバイスのマイクロホンをオンにする(615)。第1のIoTデバイスにその第1のIoTデバイスのマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第2のIoTデバイスが、第1の通信経路(たとえば、音声伝播媒体)上でチャープを出力し(620)、さらに、第2の通信経路(たとえば、Bluetooth（登録商標）もしくは見通し(LoS: line-of-sight)発光シーケンスなどの直接通信、またはアクセスポイントを介したIP接続などの間接通信経路)上で第1のIoTデバイスにチャープに関連するデータパケットを送信する(625)。
【００５９】
図6の620を参照すると、第1の例において、チャープは、第1のIoTデバイスと第2のIoTデバイスとの間のネゴシエーションを必要としない予め決められたまたは予め構成された音声シグネチャに対応する可能性がある。たとえば、第1のIoTデバイスがスマートフォンであり、第2のIoTデバイスが電子レンジである例においては、電子レンジが、近さ検出手順のために使用する特別な種類のビープを用いて予め構成される可能性があり、スマートフォンが、電子レンジによって使用されるビープを知っている可能性があり、したがって、その種のチャープが、近さ検出手順中に第1のIoTデバイスと第2のIoTデバイスとの間でネゴシエーションされる必要がない。代替的に、第2の例において、チャープは、動的にネゴシエーションされる可能性がある(たとえば、第2のIoTデバイスがその第2のIoTデバイスの利用可能なチャープのリストを提供する可能性があり、第1のIoTデバイスがチャープのうちの1つを承認または選択する可能性があり、第1のIoTデバイスが特定のチャープを要求する可能性があり、利用可能である場合、第2のIoTデバイスがそのチャープを使用するなど)。さらに、チャープ自体は、第2のIoTデバイスの音声出力能力に応じて単純であるかまたは複雑である可能性がある。たとえば、上述のように、チャープは、第2のIoTデバイスが電子レンジなどの単純な機具である場合、単純なビープに対応する可能性があり、または代替的に、チャープは、第2のIoTデバイスがより洗練されたスピーカにアクセスすることができる場合、複雑な波形である可能性がある。また、第1のIoTデバイスおよび第2のIoTデバイスの近傍の任意のユーザに配慮するために、チャープは、チャープが人間の耳に検出され得ないように(たとえば、人が聞くことに関連する閾値未満の)超低周波数または(たとえば、人が聞くことに関連する閾値を超える)超音波周波数で変調される可能性がある。さらに別の例において、チャープは、第1のIoTデバイスのマイクロホンによって十分に検出され得ないチャープが避けられる一方、第1のIoTデバイスのマイクロホンによって十分に検出され得ると予測されるチャープが出力のために選択される(たとえば、第1のIoTデバイスのマイクロホンに関する検出範囲外であると分かっているチャープ周波数が近さ検出手順中に使用から除外されるなど)ように、部分的に、マイクロホンの品質に基づいて規制される可能性がある。
【００６０】
図6の625を参照すると、データパケットが、600において確立された接続または代替的に異なる接続を介して配信される可能性がある。図6の実施形態においては、データパケットが非常に少ないレイテンシで配信されると仮定される。たとえば、データパケットは、Bluetooth（登録商標）接続を介して、ローカルWiFi接続を介して、または第2のIoTデバイスから第1のIoTデバイスへの見通し(LoS)発光のシーケンスとして配信される可能性がある。どのようにしてデータパケットが第2のIoTデバイスから第1のIoTデバイスに配信されるかに関わりなく、チャープおよびデータパケットは、620および625において、第2のIoTデバイスによるそれらの各々の送信を実質的に同時に開始する(たとえば、チャープは、データパケットが第2のIoTデバイスを離れた後の短い期間再生され続ける可能性があるが、それらの送信の開始時間は、実質的に同じである)。本明細書において使用されるとき、「実質的に同時」に始まるチャープおよびデータパケットは、第1のIoTデバイスと第2のIoTデバイスとの間のチャープの予測される音の伝播遅延がそれぞれの送信開始時間の間のいずれの差に対しても多いと予測されることを意味する。これは、チャープの音の伝播遅延が第1のデバイスと第2のデバイスとの間の距離を概算するために使用され得ることを保証するためである。たとえば、「実質的に同時」は、一例においては、IoT環境自体のサイズに依存する特定のレベルの精度に関連する可能性がある(たとえば、小さなIoT環境に関しては15ミリ秒以内、大きなIoT環境に関しては2ミリ秒以内など)。
【００６１】
第1のIoTデバイスが、時間t1においてチャープを検出し、時間t2においてデータパケットを検出する(630)。そして、第1のIoTデバイスが、時間t1と時間t2との間の差に基づいて第2のIoTデバイスに対するその第1のIoTデバイスの近さを計算する(635)。たとえば、概して、音は、1フィート毎ミリ秒(ms)で進む。したがって、データパケットが非常に少ない伝播レイテンシを被ったという仮定の下で、t1とt2との間のミリ秒数が、フィートで表された第1のIoTデバイスと第2のIoTデバイスとの間の距離に関する推定値として使用され得る。たとえば、時間t1が7:03:05.003であり、時間t2が7:03:05.006である場合、第1のIoTデバイスおよび第2のIoTデバイスは、互いにおよそ3フィート離れているものとして推定され得る。音がその音の伝播速度を大きく落とすことなく壁およびその他の障害物を通り抜けることは、さらに理解されるであろう。その結果、上述の計算は、介在する障害物に無関係に2つのIoTデバイスの間の絶対的な距離(または近さ)の推定に役立ち得る。630の検出に関連して、第1のIoTデバイスは、(たとえば、時間t1およびt2が、互いに数ミリ秒離れているなど比較的互いに近いことに基づいて)チャープおよびデータパケットが近さ検出手順に関連付けられることを第1のIoTデバイスが知るようにチャープをデータパケットと相互に関連付ける。
【００６２】
図6が、第1のIoTデバイスがチャープの検出をデータパケットの受信と正しく関連付ける(または相互に関連付ける)ことができること、およびデータパケットに関する無視できる量の伝播レイテンシが存在することなどの特定の仮定に基づいて簡略化される実施形態を示すことは、理解されるであろう。図7は、第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とし、本発明の実施形態によれば、そのプロセスによって、閾値の量のネットワーク伝播遅延が存在し、第1のIoTデバイスにおいてチャープをデータパケットと相互に関連付けるのを助けるためにデータパケットによって相関情報が提供される。
【００６３】
図7を参照すると、700から715までは、実質的に、図6の600から615までに対応する。しかし、図7においては、700において確立される接続が、インターネット175によって仲介されると仮定され、インターネット175による仲介は、第1のIoTデバイスと第2のIoTデバイスとの間で接続を介してやりとりされる任意のデータパケットに対して特定の量のネットワーク伝播レイテンシを引き起こす。
【００６４】
図7を参照すると、720において、第2のIoTデバイスが、第2のIoTデバイスによって出力されるチャープをデータパケットと相互に関連付けるための相関情報を含むようにデータパケットを構成する。図6においては、第2のIoTデバイスによって出力されるチャープの種類が、第1のIoTデバイスがチャープを適切に検出し、検出されたチャープを到着するデータパケットと関連付けることができるようにするために第1のIoTデバイスに知られている必要があった。しかし、図7においては、第1のIoTデバイスが必ずしも近さ検出手順の前にいかなるチャープの特性も知っている必要がないように、データパケット自体が、第1のIoTデバイスがチャープを特定することを可能にするのに十分な情報を含む可能性がある。一例において、データパケットに含まれる相関情報は、チャープを特徴付けるデュアルトーン多周波数(DTMF: dual-tone multi-frequency)シグネチャを含む可能性がある。別の例において、データパケットに含まれる相関情報は、チャープを特徴付けるパルス符号変調(PCM)シグネチャを含む可能性がある。
【００６５】
720において相関情報を用いてデータパケットを構成した後、および第1のIoTデバイスにその第1のIoTデバイスのマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第2のIoTデバイスが、チャープを出力し、さらに、構成されたデータパケットを第1のIoTデバイスに実質的に同時に送信する(725および730)(たとえば、チャープは、データパケットが第2のIoTデバイスを離れた後の短い期間再生され続ける可能性があるが、それらの送信の開始時間は、実質的に同じである)。一実施形態において、第2のIoTデバイスは、データパケットの配信のために使用するために、1組の利用可能な転送メカニズムから最も低い予測されるネットワーク伝播レイテンシを有する転送メカニズムを選択する可能性がある。たとえば、第1のIoTデバイスおよび第2のIoTデバイスがインターネット175を通じたIP接続によって接続される場合、第2のIoTデバイスは、ユーザデータグラムプロトコル(UDP)がレイテンシのより低い転送プロトコルであるので伝送制御プロトコル(TCP)の代わりにUDPを選択する可能性がある。もちろん、その他の筋書きではデータパケットの配信のために引き続きTCPが使用される可能性がある。また、Bluetooth（登録商標）などの直接接続が利用可能であるとすれば、直接接続のより低い予測される伝播レイテンシが原因で、直接接続が選択されることになる。
【００６６】
第1のIoTデバイスは、時間t1においてチャープを検出し、時間t2においてデータパケットを検出する(735)(たとえば、図6の630と同様)。図7の実施形態において、第1のIoTデバイスは、さらに、チャープをデータパケットと相互に関連付けるのを助けるために、受信されたデータパケットから相関情報を抽出する(740)。たとえば、相関情報がPCMまたはDTMFシグネチャを含む場合、第1のIoTデバイスは、PCMまたはDTMFシグネチャをその第1のIoTデバイスの捕捉された音声データと比較して、735においてチャープが検出された時を正確に特定することができる。
【００６７】
745において、時間t2をデータパケットの検出時間として修正なしに使用する代わりに、第1のIoTデバイスが、ネットワーク伝播レイテンシの推定に基づいて時間t2を調整して、調整された検出時間t2'を生成する。一例において、ネットワーク伝播レイテンシの推定は、第1のIoTデバイスと第2のIoTデバイスとの間で別のデータパケットを送信して往復遅延(RTD)を決定することまたはその他のレイテンシ推定メカニズムなどの任意の数の方法で実施され得る。1つの特定のネットワーク伝播レイテンシ推定メカニズムが、図10に関連して以下でより詳細に説明される。そして、第1のIoTデバイスが、(図6の635の時間t1と時間t2との間の差の代わりに)時間t1と時間t2'との間の差に基づいて第2のIoTデバイスに対するその第1のIoTデバイスの近さを計算する(750)。
【００６８】
図7は、相関情報がデータパケット内に埋め込まれる実施形態を示すが、代わりに、相関情報がチャープ内に埋め込まれる可能性があることもあり得る。したがって、図7のデータパケット内の相関情報は、第1のIoTデバイスがチャープを特定し、チャープをデータパケットと関連付けるのを助けるが、図8のチャープ内の相関情報は、第1のIoTデバイスがデータパケットを特定し、データパケットをチャープと関連付けるのを助ける。
【００６９】
図8は、第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とし、本発明の実施形態によれば、そのプロセスによって、皆無かそれに近いネットワーク伝播遅延しか存在せず、第1のIoTデバイスにおいてチャープをデータパケットと相互に関連付けるのを助けるためにチャープによって相関情報が提供される。
【００７０】
図8を参照すると、800から815までは、実質的に、図6の600から615までに対応する。820において、第2のIoTデバイスが、第2のIoTデバイスによって出力されるデータパケットをチャープと相互に関連付けるための相関情報を含むようにチャープを構成する。図6においては、第2のIoTデバイスによって出力されるチャープの種類が、第1のIoTデバイスがチャープを適切に検出し、検出されたチャープを到着するデータパケットと関連付けることができるようにするために第1のIoTデバイスに知られている必要がある。しかし、図8においては、チャープ自体が、第1のIoTデバイスが対応するデータパケットを特定することを可能にするのに十分な情報を含む可能性がある。一例において、チャープに含まれる相関情報は、音声信号上に情報を重ねて合成するためのウォーターマークの特徴またはその他のメカニズムによって埋め込まれる可能性がある。さらなる例においては、第1のIoTデバイスがチャープからのシーケンス番号をデータパケットのヘッダ内のシーケンス番号と比較して、近さ検出手順に関連して受信されるデータパケットを検証することができるように、相関情報が、対応するデータパケットのシーケンス番号を含む可能性がある。
【００７１】
820において相関情報を用いてチャープを構成した後、および第1のIoTデバイスにその第1のIoTデバイスのマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第2のIoTデバイスは、構成されたチャープを出力し、さらに、データパケットを第1のIoTデバイスに実質的に同時に送信する(825および830)(たとえば、チャープは、データパケットが第2のIoTデバイスを離れた後の短い期間再生され続ける可能性があるが、それらの送信の開始時間は、実質的に同じである)。図8の実施形態において、データパケットは、たとえば、直接Bluetooth（登録商標）接続、光信号のシーケンスなどによって、皆無かそれに近いレイテンシ(たとえば、1または2ミリ秒以下など)で配信されると仮定される。
【００７２】
第1のIoTデバイスは、時間t1においてチャープを検出し、時間t2においてデータパケットを検出する(835)(たとえば、図6の630と同様)。図8の実施形態において、第1のIoTデバイスは、さらに、チャープをデータパケットと相互に関連付けるのを助けるために、検出されたチャープから相関情報を抽出する(840)。たとえば、相関情報がシーケンス番号を含む場合、第1のIoTデバイスは、チャープのシグネチャからのシーケンス番号をデータパケットのヘッダからのシーケンス番号と比較して、その特定のデータパケットがチャープに関連するデータパケットであることを近さ検出手順に関連して検証することができる。そして、第1のIoTデバイスが、(たとえば、図6の635と同様に)時間t1と時間t2との間の差に基づいて第2のIoTデバイスに対するその第1のIoTデバイスの近さを計算する(845)。
【００７３】
図7〜図8は、相関情報がデータパケット(たとえば、図7)かまたはチャープ(たとえば、図8)かのどちらかに含まれる例を示すが、相関情報は、データパケットとチャープとの両方に含まれることもあり得る。このようにして、最初にチャープが検出される場合、チャープ内の相関情報は、データパケットを検出するのを助けるために使用される可能性があり、最初にデータパケットが検出される場合、データパケット内の相関情報は、チャープを検出するのを助けるために使用される可能性がある。
【００７４】
図6から図8に関連して上で説明された実施形態は、クロックの同期が第1のIoTデバイスと第2のIoTデバイスとの間で可能かどうかに関わりなく実装のために構成される。たとえば、IoTコーヒーメーカーデバイスのクロックは、通常、近くのIoTスマートフォンデバイスとまったく同期されておらず、ましてや、ミリ秒レベルの精度では同期されていない。しかし、一部の筋書きでは、一部のIoTデバイスがそれらのデバイスのクロックを互いに同期させる可能性がある。このことを念頭に置いて、図9は、特に、このレベルの精度でクロックの同期が存在する実装を対象とする。より詳細には、図9は、本発明の実施形態による、第1のIoTデバイスと第2のIoTデバイスとの間のクロックの同期が存在する場合の第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とする。図9においては、以下でより詳細に説明されるように、クロックの同期のおかげで、データパケットに関する配信メカニズムに関連するネットワーク伝播レイテンシは無関係である。
【００７５】
図9を参照すると、900から915までは、実質的に、図6の600から615までに対応する。920において、第1のIoTデバイスにその第1のIoTデバイスのマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第2のIoTデバイスが、少なくとも数ミリ秒以内の正確さの精度のレベルで、「時間tX」と呼ばれる現在の時間、たとえば、9:36:04.001を含むようにデータパケットを構成する。精度のレベルは、第1のIoTデバイスと第2のIoTデバイスとの間のクロックの同期が正確である度合いに基づく可能性がある(たとえば、2つのクロックが2ミリ秒以内の誤差で同期される場合、時間tXは、2ミリ秒以内の正確さである可能性があるなど)。
【００７６】
920において時間tXを用いてデータパケットを構成した後、第2のIoTデバイスは、実質的に時間tXにおいてチャープを出力し(925)、さらに、構成されたデータパケットを第1のIoTデバイスに送信する(930)。図6〜図8とは異なり、チャープおよびデータパケットに関する送信開始時間は、データパケットが時間tXの指示を含むので、図9においては必ずしも揃えられる必要がない。言い換えれば、第1のIoTデバイスは、tXをチャープの推定された送信開始点として使用し、したがって、たとえデータパケット自体が厳密に時間tXに送信されないとしても、時間tXは、チャープの音の伝播速度に基づいて第1のIoTデバイスと第2のIoTデバイスとの間の距離を概算するためにやはり有用である。
【００７７】
第1のIoTデバイスは、時間t1においてチャープを検出し(935)、時間t2においてデータパケットを検出する(940)(たとえば、図6の630と同様)。図9の実施形態において、第1のIoTデバイスは、さらに、受信されたデータパケットからtXを抽出する(940)。そして、第1のIoTデバイスが、(図6の635の時間t1と時間t2との間の差の代わりに)時間t1と時間tXとの間の差に基づいて第2のIoTデバイスに対するその第1のIoTデバイスの近さを計算する(945)。理解されるように、時間t1と時間tXとの間の時間差は、第1のIoTデバイスと第2のIoTデバイスとの間の距離を推測するために使用され得るチャープに関する伝播時間に実質的に等しい。
【００７８】
図9の代替として、データパケットの代わりに、チャープ自体が、時間tXを埋め込まれる可能性がある。この場合、データパケットは、完全に省略される可能性があり、第1のIoTデバイスは、チャープの受信時間t1とチャープ内で示される時間tXとの間の差にのみ基づいて第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算する可能性がある。
【００７９】
図10は、第1のIoTデバイスと第2のIoTデバイスとの間の近さを計算するプロセスを対象とし、本発明の実施形態によれば、そのプロセスによって、閾値の量のネットワーク伝播遅延が存在し、クロックの同期が利用不可能である。
【００８０】
図10を参照すると、1000から1005までは、実質的に、図6の600から605までに対応する。しかし、図10においては、1000において確立される接続が、インターネット175によって仲介されると仮定され、インターネット175による仲介は、第1のIoTデバイスと第2のIoTデバイスとの間で接続を介してやりとりされる任意のデータパケットに対して特定の量のネットワーク伝播レイテンシを引き起こす。さらに、ネットワーク伝播レイテンシが第1のIoTデバイスに既に知られていると仮定された図7とは異なり、図10は、レイテンシ発見方式によってネットワーク伝播レイテンシを動的に計算することを対象とする。
【００８１】
図10を参照すると、1010において、(図6〜図9のチャープおよびデータパケットの1回の送信とは対照的に)決まった送信スケジュールに従って近さ検出手順を実施すると決定される。1015において、第1のIoTデバイスが、その第1のIoTデバイスのマイクロホンをオンにする。そして、第1のIoTデバイスと第2のIoTデバイスとの両方が決まった送信スケジュールを知らされると、第2のIoTデバイスが、決まった送信スケジュールによって定義された間隔で、チャープのシーケンスを対応するデータパケットとともに送信し始める。
【００８２】
したがって、第2のIoTデバイスは、決まった送信スケジュールによって定義された第1の送信時間(「送信時間1」)において第1のチャープ(「チャープ1」)を出力し、第1のデータパケット(「データパケット1」)を送信する(1020および1025)。第1のIoTデバイスは、時間tC1においてチャープ1を検出し、時間tP2においてデータパケット1を検出する(1030)。次に、第2のIoTデバイスは、決まった送信スケジュールによって定義された送信時間2...N-1においてチャープ2...N-1をそれぞれのデータパケット2...N-1と一緒に出力する(1035および1040)。第1のIoTデバイスは、時間tC2...tCN-1においてチャープ2...N-1をそれぞれ検出し、時間tP2...tPN-1においてデータパケット2...N-1をそれぞれ検出する(1045)。ネットワーク伝播レイテンシが比較的一定であるという仮定の下で、第1のIoTデバイスは、データパケットのうちの1つの到着時間と次のチャープの到着時間との間の差の平均としてネットワーク伝播レイテンシを計算することができる。したがって、tP1とtC2との間の差、tP2とtC3との間の差、...、tPN-2とtCN-1との間の差が計算され、それから、ネットワーク伝播レイテンシを推定するためにまとめて平均され得る(1050)。1050においてネットワーク伝播レイテンシを推定した後、1055から1075までは、第1のIoTデバイスにそれぞれ時間tCNおよびtPNに到着するチャープNおよびデータパケットNの後続の送信に関して725から750までに実質的に対応し、それによって、tPNは、(たとえば、tPN'とtCNとの間の距離に基づいて)近さを計算するために使用されるtPN'を生成するために、推定されたネットワーク伝播レイテンシに基づいて調整される。
【００８３】
図6〜図10の実施形態は、2つのIoTデバイスが互いに対するそれらのIoTデバイスの近さを決定することに関するが、マイクロホンを有する複数のIoTデバイスが(たとえば、図11に関連して以下で説明されるように)単一の近さ検出手順によって「チャープを発する」IoTデバイスに対するそれらのIoTデバイスの位置を計算することができる実装と、さらに、マイクロホンを有する単一のIoTデバイスが(たとえば、図12に関連して以下で説明されるように)三辺測量によって複数のその他のチャープを発するデバイスに対するそのIoTデバイスの相対的位置を計算することができる実装とにこれらの教示を拡張することが可能である。
【００８４】
図11を参照すると、第1の、第2の、および第3のIoTデバイスが、互いに接続を確立する(1100)。1100において確立される接続は、同じであるかまたは異なる可能性がある。たとえば、第1のIoTデバイスが、第1のBluetooth（登録商標）接続によって第2のIoTデバイスに接続される可能性があり、第2のBluetooth（登録商標）接続によって第3のIoTデバイスに接続される可能性がある。別の例においては、第1のIoTデバイスが、アクセスポイント125を介して第2のIoTデバイスに接続される可能性があり、第2のIoTデバイスが、Bluetooth（登録商標）接続によって第3のIoTデバイスに接続される可能性がある。別の例においては、第1のIoTデバイスが、Bluetooth（登録商標）接続によって第2のIoTデバイスに接続される可能性があり、第1のIoTデバイスおよび第3のIoTデバイスが直接接続されないように第2のIoTデバイスへのホップによって第3のIoTデバイスに接続される可能性がある。
【００８５】
1105において、第1のIoTデバイスおよび第3のIoTデバイスがマイクロホンをプロビジョニングされており、第2のIoTデバイスが音声出力デバイスをプロビジョニングされていると決定される。1105の決定は、図6の605と同様に、第1のIoTデバイスから第3のIoTデバイスまでのいずれか(またはすべて)においてなされ得る。1110において、(i)第1のIoTデバイスと第2のIoTデバイスとの間およびさらに(ii)第2のIoTデバイスと第3のIoTデバイスとの間の近さ(または距離)を計算するための近さ検出手順を実行することが決定される。1110の決定は、図6の610と同様に、第1のIoTデバイスから第3のIoTデバイスまでのいずれかによってなされ得る。
【００８６】
近さ検出手順を実行する決定の後、第1のIoTデバイスおよび第3のIoTデバイスが、第2のIoTデバイスからの「チャープ」を監視するためにそれらのIoTデバイスのマイクロホンをオンにする(1115および1120)。第1のIoTデバイスおよび第3のIoTデバイスにそれらのIoTデバイスの各々のマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第2のIoTデバイスが、チャープを出力し(1125)、さらに、チャープに関連するデータパケットを第1のIoTデバイスと第3のIoTデバイスとの両方に送信する(1130)。したがって、1125は、単一のチャープが第2のIoTデバイスによって出力される限りにおいて図6の620と同様である一方、1130のデータパケットの送信は、2つの別々のデータパケットが第1のIoTデバイスおよび第3のIoTデバイスに送信されるので図6の625とは若干異なる。1130におけるデータパケットの送信は、同じ転送メカニズム(たとえば、UDP、Bluetooth（登録商標）、光シーケンスなど)を介して行われるかまたは異なる転送メカニズムを介して行われるかのどちらかである可能性がある。
【００８７】
第1のIoTデバイスが、時間t1においてチャープを検出し、時間t2においてそのデータパケットを検出し(1135)(たとえば、図6の630と同様)、第3のIoTデバイスが、時間t3においてチャープを検出し、時間t4においてそのデータパケットを検出する(1140)(たとえば、図6の630と同様)。そして、第1のIoTデバイスが、(たとえば、図6の635と同様に)時間t1と時間t2との間の差に基づいて第2のIoTデバイスに対するその第1のIoTデバイスの近さを計算し(1145)、第3のIoTデバイスも、(たとえば、図6の635と同様に)時間t3と時間t4との間の差に基づいて第2のIoTデバイスに対するその第3のIoTデバイスの近さを計算する(1150)。
【００８８】
図12に目を向けると、第1のIoTデバイスが、第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスとの接続を確立する(1200)。1200において確立される接続は、同じであるかまたは異なる可能性がある。たとえば、第1のIoTデバイスが、第1のBluetooth（登録商標）接続によって第2のIoTデバイスに接続される可能性があり、第2のBluetooth（登録商標）接続によって第3のIoTデバイスに接続される可能性があり、アクセスポイント125を介してインターネット175を通じて第4のIoTデバイスに接続される可能性がある。別の例においては、第1のIoTデバイスが、Bluetooth（登録商標）接続によって第2のIoTデバイスに接続される可能性があり、第1のIoTデバイスが第3のIoTデバイスまたは第4のIoTデバイスに直接接続されないように第2のIoTデバイスへホップすることによって第3のIoTデバイスおよび第4のIoTデバイスに接続される可能性がある。
【００８９】
1205において、第1のIoTデバイスがマイクロホンをプロビジョニングされており、第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスがそれぞれ音声出力デバイスをプロビジョニングされていると決定される。1205の決定は、図6の605と同様に、第1のIoTデバイスから第4のIoTデバイスまでのいずれかにおいてなされ得る。1210において、第1のIoTデバイスと第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスの各々との間の近さ(または距離)を計算するための近さ検出手順を実行することが決定される。1210の決定は、図6の610と同様に、第1のIoTデバイスから第4のIoTデバイスまでのいずれかによってなされ得る。
【００９０】
近さ検出手順を実行する決定の後、第1のIoTデバイスが、第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスからの「チャープ」を監視するためにその第1のIoTデバイスのマイクロホンをオンにする(1215)。一例において、第1のIoTデバイスは、時間に基づいて(たとえば、近さ検出手順が、チャープの混同を避けるために逐次的にもしくは連続的に実行される可能性がある)、または代替的に(たとえば、第1のIoTデバイスへのチャープの到着のタイミングがチャープとデバイスとの相関よりも関連性が低いように)第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスの各々から一意のチャープが送信されることによって第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスからのチャープを区別することができる。
【００９１】
第1のIoTデバイスにその第1のIoTデバイスのマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第2のIoTデバイスが、その第2のIoTデバイスのチャープを出力し(1220)、さらに、その第2のIoTデバイスのチャープに関連するデータパケットを第1のIoTデバイスに送信する(1225)。同様に、第1のIoTデバイスにその第1のIoTデバイスのマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第3のIoTデバイスが、その第3のIoTデバイスのチャープを出力し(1230)、さらに、その第3のIoTデバイスのチャープに関連するデータパケットを第1のIoTデバイスに送信する(1235)。同様に、第1のIoTデバイスにその第1のIoTデバイスのマイクロホンを設定するための時間を与えるための任意の遅延期間の後、第4のIoTデバイスが、その第4のIoTデバイスのチャープを出力し(1240)、さらに、その第4のIoTデバイスのチャープに関連するデータパケットを第1のIoTデバイスに送信する(1245)。1225、1235、および/または1245におけるデータパケットの送信は、同じ転送メカニズム(たとえば、UDP、Bluetooth（登録商標）、光シーケンスなど)を介して行われるかまたは異なる転送メカニズムを介して行われるかのどちらかである可能性がある。
【００９２】
第1のIoTデバイスが、それぞれの時間において第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスの各々からチャープおよびデータパケットを検出する(1250)。特に、第2のIoTデバイスからのチャープおよびデータパケットが、それぞれ時間t1およびt2において検出され、第3のIoTデバイスからのチャープおよびデータパケットが、それぞれ時間t3およびt4において検出され、第4のIoTデバイスからのチャープおよびデータパケットが、それぞれ時間t5およびt6において検出される。そして、第1のIoTデバイスが、時間t1と時間t2との間の差に基づいて第2のIoTデバイスに対するその第1のIoTデバイスの近さを計算し、時間t3と時間t4との間の差に基づいて第3のIoTデバイスに対するその第1のIoTデバイスの近さを計算し、時間t5と時間t6との間の差に基づいて第4のIoTデバイスに対するその第1のIoTデバイスの近さを計算する(1255)(たとえば、図6の635と同様)。
【００９３】
第1のIoTデバイスは、第2のIoTデバイス、第3のIoTデバイス、および第4のIoTデバイスに対するその第1のIoTデバイスの近さを取得した後、その第1のIoTデバイスの相対的位置を三辺測量する(1260)。理解されるように、第2のIoTデバイス、第3のIoTデバイス、または第4のIoTデバイスの絶対座標も知られている場合、第1のIoTデバイスは、これらの3つのデータ点からその第1のIoTデバイス自体の座標をさらに計算することができる。したがって、三辺測量などのよく知られている幾何学技術が、特定の空間内のモバイルデバイスの絶対的位置を決定するために使用され得る。
【００９４】
異なる実施形態が異なる態様を強調するために使用されるが、これらの態様が実施形態のうちの異なるもので交換可能なように使用され得ることは、理解されるであろう。たとえば、図11および図12は、ネットワーク伝播レイテンシに関連せずに説明されているが、ネットワーク伝播レイテンシが図7および/または図10に関連して上で説明されたように推定され、調整され得ることは理解される。同様に、データパケットおよび/またはチャープは、その他の実施形態のいずれかにおいても、それぞれ図8および図9に関連して上で説明されたように相関情報を用いて構成される可能性がある。同様に、クロックの同期が任意の2つのIoTデバイスの間に存在する場合は常に、図9に関連して上で説明された手順は、時間tXがマイクロホンを有するIoTデバイスに運ばれるように使用され得る等々。
【００９５】
さらに、上述の実施形態においては、マイクロホンをプロビジョニングされたIoTデバイスが近さの計算を実行する主体に対応するが、関連する時点を取得する任意のデバイスがこの計算を実行し得ることは、容易に理解されるであろう。したがって、図6の文脈において、第1のIoTデバイスは、第2のIoTデバイスが近さの計算を実行することができるように第2のIoTデバイスに時間t1およびt2を転送して返す可能性があり、IoTサーバ170が近さの計算を実行することができるようにIoTサーバ170に時間t1およびt2を転送する可能性がある等々。同様に、近さの計算の結果は、様々な方法で使用される可能性があり、任意の関連するデバイスに転送される可能性がある(たとえば、第1のIoTデバイスが計算後に第2のIoTデバイスにそれらのIoTデバイスの近さを知らせる可能性があり、またはその逆である可能性がある)。さらに、計算されると、近さは、インテリジェントな判断を実行する判断論理への入力として使用され得る(たとえば、コーヒーの準備ができているときにユーザのセル電話がそのユーザのコーヒーマシンの近くにある場合、コーヒーマシンは、通常通り音を発する可能性があるが、ユーザのセル電話がそのユーザのコーヒーマシンの近くになく、したがって、ユーザがコーヒーマシンの通常のビープの通知の範囲外にいると予測される場合、コーヒーマシンは、その代わりに、ユーザのコーヒーの準備ができていることをユーザが知っていることを保証するためにSMSによってアラートを配信する可能性があるなど)。
【００９６】
当業者は、情報および信号が様々な異なる技術および技法のうちのいずれかを使用して表され得ることを理解するであろう。たとえば、上の説明を通して言及される可能性があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁気的粒子、光場もしくは光学的粒子、またはこれらの任意の組合せによって表され得る。
【００９７】
さらに、当業者は、本明細書において開示された態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムのステップが、電子的なハードウェア、コンピュータソフトウェア、またはそれら両方の組合せとして実装される可能性があることを理解するであろう。ハードウェアとソフトウェアとのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点で上で説明された。そのような機能がハードウェアとして実装されるかまたはソフトウェアとして実装されるかは、システム全体に課された特定の用途および設計の制約による。当業者は、説明された機能をそれぞれの特定の用途のために様々な方法で実装し得るが、そのような実装の判断は、本開示の範囲から逸脱すると解釈されるべきでない。
【００９８】
本明細書において開示された態様に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくはその他のプログラマブルロジックデバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェア構成要素、または本明細書において説明された機能を実行するように設計されたこれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサの可能性があるが、代替として、プロセッサは、任意の通常のプロセッサ、コントローラ、マイクロコントローラ、または状態機械の可能性がある。また、プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意のその他のそのような構成として実装され得る。
【００９９】
本明細書において開示された態様と関連して説明された方法、シーケンス、および/またはアルゴリズムは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはこの2つの組合せで具現化される可能性がある。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意のその他の形態のストレージ媒体に存在する可能性がある。例示的なストレージ媒体は、プロセッサがストレージ媒体から情報を読むことができ、ストレージ媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、ストレージ媒体は、プロセッサに一体化される可能性がある。プロセッサおよびストレージ媒体は、ASIC内に存在する可能性がある。ASICは、IoTデバイス内に存在する可能性がある。代替として、プロセッサおよびストレージ媒体は、ユーザ端末内のディスクリート構成要素として存在する可能性がある。
【０１００】
1つまたは複数の例示的な態様において、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶または送信され得る。コンピュータ可読媒体は、ある場所から別の場所へとコンピュータプログラムを転送することを容易にする任意の媒体を含むコンピュータストレージ媒体と通信媒体との両方を含む。ストレージ媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体である可能性がある。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくはその他の光ディスクストレージ、磁気ディスクストレージもしくはその他の磁気ストレージデバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを運ぶかもしくは記憶するために使用可能であり、コンピュータによってアクセス可能である任意のその他の媒体を含み得る。また、当然、任意の接続がコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を用いてウェブサイト、サーバ、またはその他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書において使用されるとき、ディスク(disk)およびディスク(disc)は、CD、レーザディスク(laser disc)、光ディスク(optical disc)、DVD、フロッピー（登録商標）ディスク(floppy disk)、およびブルーレイディスク(Blu-ray（登録商標） disc)を含み、ディスク(disk)が、通常、磁気的におよび/またはレーザを用いて光学的にデータを再生する。上記のものの組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
【０１０１】
上述の開示は本開示の説明的な態様を示すが、添付の特許請求の範囲で定義された本開示の範囲を逸脱することなしに本明細書において種々の変更および修正がなされ得ることに留意されたい。本明細書において説明された本開示の態様による方法の請求項の機能、ステップ、および/または動作は、必ずしもいずれかの特定の順序で実行されない。さらに、本開示の要素が単数形で説明されるか、または特許請求の範囲に記載される可能性があるが、単数形への限定が明示的に述べられない限り、複数も想定される。
【符号の説明】
【０１０２】
100A  ワイヤレス通信システム
100B  ワイヤレス通信システム
100C  ワイヤレス通信システム
100D  ワイヤレス通信システム
100E  ワイヤレス通信システム
105  IoTデバイス
108  無線インターフェース
109  直接有線接続
110  テレビ、IoTデバイス
112  空調室外機、IoTデバイス
114  サーモスタット、IoTデバイス
116  冷蔵庫、IoTデバイス
116A  IoTデバイス
116B  IoTデバイス
118  洗濯機および乾燥機、IoTデバイス
120  コンピュータ、IoTデバイス
122A  IoTデバイス
122B  IoTデバイス
124A  IoTデバイス
124B  IoTデバイス
125  アクセスポイント
130  スーパーバイザデバイス
140  IoT SuperAgent
140A  IoT SuperAgent
140B  IoT SuperAgent
145  ゲートウェイ機能
152  アプリケーションレイヤ
154  CMPレイヤ
156  トランスポートレイヤ
158  物理レイヤ
160  IoTグループ、IoTデバイスグループ
160A  IoTデバイスグループ
160B  IoTデバイスグループ
170  IoTサーバ
175  インターネット
180  リソース
200A  IoTデバイス
200B  IoTデバイス
202  プラットフォーム
206  トランシーバ
208  プロセッサ
212  メモリ
214  入力/出力(I/O)インターフェース
222  電源ボタン
224A  制御ボタン
224B  制御ボタン
226  ディスプレイ
300  通信デバイス
305  論理
310  論理
315  論理
320  論理
325  論理
400  サーバ
401  プロセッサ
402  揮発性メモリ
403  ディスクドライブ
404  ネットワークアクセスポート
406  ディスクドライブ
407  ネットワーク
500  IoT環境
505  会議室
510〜535  事務室
540  キッチン
【図１Ａ】
2016535518.tif 000003
【図１Ｂ】
2016535518.tif 000004
【図１Ｃ】
2016535518.tif 000005
【図１Ｄ】
2016535518.tif 000006
【図１Ｅ】
2016535518.tif 000007
【図２Ａ】
2016535518.tif 000008
【図２Ｂ】
2016535518.tif 000009
【図３】
2016535518.tif 000010
【図４】
2016535518.tif 000011
【図５】
2016535518.tif 000012
【図６】
2016535518.tif 000013
【図７】
2016535518.tif 000014
【図８】
2016535518.tif 000015
【図９】
2016535518.tif 000016
【図１０】
2016535518.tif 000017
【図１１】
2016535518.tif 000018
【図１２】
2016535518.tif 000019
【国際調査報告】
2016535518.tif 000020
2016535518.tif 000021
2016535518.tif 000022