(57)【特許請求の範囲】
【請求項１】
モノのインターネット(IoT)ネットワークにおいて関係性を発見し、構成し、利用するための方法であって、
IoTネットワークに1つまたは複数の物体を登録するステップと、
前記1つまたは複数の登録された物体と関連付けられる使用および前記1つまたは複数の登録された物体の間の対話に従って、1つまたは複数のIoTグループへと前記1つまたは複数の登録された物体を形成するステップと、
少なくとも1人の訪問者のユーザと関連付けられる少なくとも1つのデバイスと前記IoTネットワーク中の前記1つまたは複数の登録された物体との間の1つまたは複数の対話に従って、前記IoTネットワークへの前記少なくとも1人の訪問者のユーザに関係性識別子を割り当てるステップであって、前記少なくとも1人の訪問者のユーザに割り当てられた前記関係性識別子が、前記1つまたは複数の登録された物体の所有者と前記少なくとも1人の訪問者のユーザの間の関係性を示し、前記1つまたは複数の対話が発生した時間と、前記1つまたは複数の対話が発生した位置の1つまたは複数に基づいて推測される、ステップと、
前記少なくとも1人の訪問者のユーザに割り当てられた前記関係性識別子に従って、前記1つまたは複数のIoTグループの各々に対して前記少なくとも1人の訪問者のユーザが有するアクセス権を制御するステップとを含む、方法。
【請求項２】
前記1つまたは複数のIoTグループへのアクセスを制御する1つまたは複数のユーザコマンドを受け取るステップ、または、前記1つまたは複数のIoTグループをカスタマイズするための1つまたは複数のユーザコマンドを受け取るステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記1つまたは複数の登録された物体と関連付けられる前記使用および前記1つまたは複数の登録された物体の間の前記対話に従って、1つまたは複数のサブセットへと前記1つまたは複数のIoTグループを分割するステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記1つまたは複数の登録された物体が、少なくとも1つの通信していない物理的物体と、少なくとも1つの通信しているIoTデバイスと関連付けられる前記使用および前記対話に関する情報をローカルデータベースに記憶する前記少なくとも1つの通信しているIoTデバイスとを含む、請求項1に記載の方法。
【請求項５】
前記少なくとも1つの通信しているIoTデバイスから、前記少なくとも1つの通信しているIoTデバイスと関連付けられる前記使用および前記対話に関する前記情報を受信するステップと、
前記通信しているIoTデバイスと関連付けられる前記対話が前記通信しているIoTデバイスと前記通信していない物理的物体との間の少なくとも1つの対話を含むことに応答して、前記少なくとも1つの通信しているIoTデバイスから受信された前記情報に基づいて、前記通信していない物理的物体と関連付けられる前記使用および前記対話に関する情報を導出するステップとをさらに含む、請求項4に記載の方法。
【請求項６】
前記1つまたは複数の登録された物体の間の前記対話が、第1のIoTデバイスと第2のIoTデバイスとの間の少なくとも1つの対話を含み、前記方法が、
前記少なくとも1つの対話と関連付けられる1つまたは複数の属性および前記第2のIoTデバイスと関連付けられる1つまたは複数の属性に基づいて、前記第1のIoTデバイスと前記第2のIoTデバイスとの間の関係性にランクを割り当てるステップと、
前記第1のIoTデバイスと前記第2のIoTデバイスとの間の前記ランク付けされた関係性に基づいて、前記第1のIoTデバイスに前記第2のIoTデバイスへのアクセスを承認するかどうかを判定するステップとをさらに含む、請求項1に記載の方法。
【請求項７】
1つまたは複数の以前の対話が前記第1のIoTデバイスと前記第2のIoTデバイスとの間で発生したと判定したことに応答して、前記第1のIoTデバイスと前記第2のIoTデバイスとの間の前記関係性に割り当てられた前記ランクを更新するかどうかを判定するステップをさらに含む、請求項6に記載の方法。
【請求項８】
前記少なくとも1つの対話と関連付けられる前記1つまたは複数の属性、前記第2のIoTデバイスと関連付けられる前記1つまたは複数の属性、および、前記1つまたは複数の以前の対話と関連付けられる1つまたは複数の属性に基づいて、前記第1のIoTデバイスと前記第2のIoTデバイスとの間の前記関係性に割り当てられる前記ランクを更新するステップをさらに含む、請求項7に記載の方法。
【請求項９】
前記第1のIoTデバイスが前記IoTネットワークと関連付けられる所有者のユーザに属し、前記第2のIoTデバイスが前記少なくとも1人の訪問者のユーザに属し、
前記第1のIoTデバイスと前記第2のIoTデバイスとの間の前記関係性に割り当てられた前記ランクに基づいて、前記第1のユーザに属する別のIoTデバイスに前記第2のIoTデバイスへのアクセスを承認するかどうかを判定するステップをさらに含む、請求項6に記載の方法。
【請求項１０】
前記少なくとも1人の訪問者のユーザと関連付けられる前記少なくとも1つのデバイスと、前記IoTネットワーク中の前記1つまたは複数の登録された物体との間の前記1つまたは複数の対話が、前記IoTネットワークと関連付けられる所有者のユーザに属する第1のIoTデバイスと前記少なくとも1人の訪問者のユーザに属する第2のIoTデバイスとの間の少なくとも1つの対話を含み、前記方法が、
前記第1のIoTデバイスと関連付けられる第1の対話テーブルに、前記少なくとも1つの対話に関する情報を記憶するステップであって、前記対話テーブルに記憶される前記情報が、前記少なくとも1つの対話が発生した前記時間と、前記少なくとも1つの対話が発生した前記位置の1つまたは複数を含む、ステップと、
前記第1の対話テーブルに記憶された前記情報に少なくとも一部基づいて、前記第2のIoTデバイスと関連付けられる前記少なくとも1人の訪問者のユーザに前記関係性識別子を割り当てるステップとをさらに含む、請求項1に記載の方法。
【請求項１１】
前記関係性識別子が、前記所有者のユーザと関連付けられる1つまたは複数のIoTデバイスと前記少なくとも1人の訪問者のユーザと関連付けられる1つまたは複数のIoTデバイスとの間の複数の対話を反映する、請求項10に記載の方法。
【請求項１２】
前記複数の対話が、閾値の期間内に発生する対話、実質的に同時に発生する対話、実質的に同じ位置で発生する対話、閾値の時間長を有する対話、閾値の頻度を有する対話、または実質的に同じタイプを有する対話の1つまたは複数を含む、請求項11に記載の方法。
【請求項１３】
複数のIoTデバイスの間の対話を追跡し、前記追跡された対話が発生した位置を追跡するステップであって、前記複数のIoTデバイスが前記IoTネットワークと関連付けられる少なくとも所有者のユーザおよび前記少なくとも1人の訪問者のユーザと関連付けられ、前記追跡された対話が前記少なくとも1人の訪問者のユーザと関連付けられる前記少なくとも1つのデバイスと前記IoTネットワーク中の前記1つまたは複数の登録された物体との間の前記1つまたは複数の対話の少なくとも1つを含む、ステップと、
前記追跡された対話および前記追跡された対話と関連付けられる前記位置に基づいて、前記所有者のユーザと前記少なくとも1人の訪問者のユーザとの間の少なくとも1つの非対称的な関係性を発見するステップとをさらに含む、請求項1に記載の方法。
【請求項１４】
請求項1乃至13の何れか1項に記載の方法を実施するように構成された手段を含む、装置。
【請求項１５】
コンピュータ実行可能命令が記録されたコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令を実行することが、請求項1乃至13の何れか1項に記載の方法を実施するように構成される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、2013年2月25日に出願された「AN IMPLICIT METHOD FOR CREATING RELATIONSHIPS BETWEEN INTERNET OF THINGS (IOT) DEVICE」という表題の仮特許出願第61/769,130号、2013年2月25日に出願された「AUTOMATIC AND CONFIGURABLE INTERNET OF THINGS NETWORK SUB-DIVISION」という表題の仮特許出願第61/769,145号、2013年11月8日に出願された「METHOD TO DISCOVER ASYMMETRIC RELATIONSHIPS AMONG INTERNET OF THINGS (IOT) DEVICES」という表題の仮特許出願第61/901,844号、および2013年11月29日に出願された「AN IMPLICIT METHOD FOR CREATING RELATIONSHIPS BETWEEN INTERNET OF THINGS (IOT) DEVICES」という表題の仮特許出願第61/910,203号の利益を主張し、これらの各々は、本明細書の譲受人に譲渡され、全体が参照によって本明細書に明示的に組み込まれる。
【０００２】
本明細書で説明される様々な実施形態は全般に、モノのインターネット(IoT)ネットワークにおいて関係性を発見し、構成し、利用することに関する。
【背景技術】
【０００３】
インターネットは、標準的なインターネットプロトコルスイート(たとえば、送信制御プロトコル(TCP)およびインターネットプロトコル(IP))を使用して互いに通信する、相互接続されたコンピュータとコンピュータネットワークの世界規模のシステムである。モノのインターネット(IoT)は、コンピュータおよびコンピュータネットワークだけではなく、日常的な物体が、IoT通信ネットワーク(たとえば、アドホックシステムまたはインターネット)を介して、読取り可能に、認識可能に、位置決定可能に、アドレス指定可能に、かつ制御可能になり得るという考えに基づく。
【０００４】
いくつかの市場の傾向が、IoTデバイスの開発を促している。たとえば、増大するエネルギーコストは、スマートグリッドへの政府の戦略的な投資と、電気自動車および公共の充電ステーションのような未来の消費形態に対する支援とを促している。増大する健康管理のコストおよび高齢化は、遠隔の/回線接続された健康管理およびフィットネスのサービスの発展を促している。家庭における技術革新は、「N」プレイ(たとえば、データ、音声、ビデオ、セキュリティ、エネルギー管理など)を販売するサービスプロバイダによる統合および拡大するホームネットワークを含む、新たな「スマート」サービスの発展を促している。建物は、企業の設備の運用コストを減らすための手段として、より賢くより便利になっている。
【０００５】
IoTにはいくつかの重要な適用形態がある。たとえば、スマートグリッドおよびエネルギー管理の領域では、電力会社は、家庭および事業者へのエネルギーの送達を最適化することができ、一方で顧客はエネルギー使用をより良好に管理することができる。ホームオートメーションおよびビルディングオートメーションの領域では、スマートホームおよびスマートビルディングは、家電機器からプラグイン電気自動車(PEV)セキュリティシステムに至るまで、家庭またはオフィスの中の実質的にあらゆるデバイスまたはシステムに対する集中的な制御権を有し得る。資産追跡の分野では、企業、病院、工場、および他の大きな組織は、高価な装置、患者、車両などの位置を正確に追跡することができる。健康およびウェルネスの領域では、医師は患者の健康を遠隔から観察することができ、一方で人々はフィットネスルーチンの進行状況を追跡することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国仮特許出願第61/901,822号
【発明の概要】
【課題を解決するための手段】
【０００７】
以下は、本明細書で開示される1つまたは複数の態様および/または実施形態に関する簡略化された概要を提示する。したがって、以下の概要は、すべての企図される態様および/または実施形態に関する包括的な概観であると考えられるべきではなく、以下の概要は、すべての企図される態様および/または実施形態に関する主要な要素もしくは重要な要素を特定するもの、または任意の特定の態様および/もしくは実施形態と関連付けられる範囲を描くものと見なされるべきでもない。したがって、以下の概要は、以下で提示される詳細な説明に先行するものとして、本明細書で開示される1つまたは複数の態様および/または実施形態に関するいくつかの概念を簡略化された形式で提示するという唯一の目的を有する。
【０００８】
1つの例示的な態様によれば、本開示は、様々なデバイスおよび/または他の物理的物体を含むモノのインターネット(IoT)ネットワークにおける構成可能な区分を自動的に作成するために使用され得る機構に関する。たとえば、様々な実施形態において、IoTネットワークにおけるデバイスおよび/または他の物理的物体は、とりわけ、通信能力を有する1つまたは複数のIoTデバイス、通信能力を有する非IoTデバイス、および/または、通信能力を有さない他の物理的物体を含み得る。一実施形態では、デバイスおよび/または他の物理的物体を検出しIoTネットワークへと登録したことに応答して、監督デバイスは、それらと関連付けられる対話およびまたは使用を監視し、IoTネットワークと関連付けられる1つまたは複数のグループを作成するように構成され得る。たとえば、1つまたは複数のグループは一般に、登録されたデバイスおよび/または他の物理的物体をいくつかのサブネットワークへと編成する、IoTネットワーク内の1つまたは複数のサブネットワークを定義することができる。一実施形態では、IoTネットワークと関連付けられる1つまたは複数のグループは次いで、(たとえば、監督デバイス上の)ユーザインターフェースを介して提示されてよく、ユーザインターフェースは、ユーザが、IoTネットワークを制御しまたは別様に構成するために、1つまたは複数のコマンドを与えることを可能にし得る。たとえば、一実施形態では、1つまたは複数のコマンドは、IoTネットワークと関連付けられるグループをカスタマイズし、とりわけ、IoTネットワークと関連付けられるいくつかのグループ、サブセット、または他のサブネットワークへのアクセスを制御するために使用され得る。
【０００９】
別の例示的な態様によれば、本開示は、IoTデバイス間の関係性を暗黙的に作成するために使用され得る機構に関する。一態様では、第1のユーザに属する第1のIoTデバイスは、第2のユーザに属する第2のIoTデバイスとの現在の対話を検出し、次いで、現在の対話と関連付けられる属性に基づいて、第2のIoTデバイスと関連付けられる関係性ランクを更新するかどうかを判定することができる。加えて、1つまたは複数の以前の対話が第1のIoTデバイスと第2のIoTデバイスとの間で発生したと判定したことに応答して、第1のIoTデバイスはさらに、IoTデバイス間の以前の対話と関連付けられる1つまたは複数の属性とともに現在の対話と関連付けられる属性に基づいて、第2のIoTデバイスと関連付けられる関係性ランクを更新するかどうかを判定することができる。さらに、第2のIoTデバイスと関連付けられる関係性ランクが更新されるべきであると第1のIoTデバイスが判定したことに応答して、第1のIoTデバイスは、それに従って関係性ランクを更新する(たとえば、友人から家族へと関係性を昇格する、友人から知人へと関係性を降格するなど)ことができる。一実施形態では、第1のIoTデバイスはさらに、第2のIoTデバイスが第1のユーザに属するIoTデバイス(たとえば、第1のIoTデバイスまたは第1のユーザに属する何らかの他のIoTデバイス)へのアクセスを要求しているかどうかを判定することができ、第2のIoTデバイスがアクセスを要求している場合、第1のIoTデバイスは、第2のIoTデバイスに割り当てられた関係性ランクに基づいて、要求されたアクセスを承認するか拒否するかを判定することができる。
【００１０】
別の例示的な態様によれば、本開示は、IoTネットワーク中のユーザ間の関係性を暗黙的に割り当てるために使用され得る機構に関し、(たとえば、第1のIoTデバイスおよび第2のIoTデバイスが互いに近接して位置している間に)第1のユーザに属する第1のIoTデバイスと第2のユーザに属する第2のIoTデバイスとの間の対話が検出され得る。したがって、一実施形態では、第1のIoTデバイスは次いで、対話に関する情報をローカルの対話テーブルに記憶し、第1のユーザと関連付けられるIoTデバイス(たとえば、第1のIoTデバイスおよび/または第1のユーザに属する他のIoTデバイス)と第2のユーザと関連付けられる1つまたは複数のIoTデバイス(たとえば、第2のIoTデバイスおよび/または第2のユーザに属する他のIoTデバイス)との間の、対話および/または1つまたは複数の以前の対話に関する記憶された情報に少なくとも一部基づいて、第2のIoTデバイスと関連付けられる第2のユーザに関係性識別子を割り当てることができる。さらに、一実施形態では、サーバは、サーバが第1のIoTデバイスおよび/または第2のIoTデバイスから受信し得る対話に関する位置情報に基づいて、第1のIoTデバイスと第2のIoTデバイスとの間の対話を検出することができ、関係性識別子を割り当てるために使用される対話は、閾値の期間内に、実質的に同時に、かつ/もしくは実質的に同じ位置で発生する対話、閾値の時間長、閾値の頻度、および/もしくは実質的に同じタイプを有する対話、または、他の適切な基準を満たす対話を含み得る。
【００１１】
別の例示的な態様によれば、本開示は、ユーザ固有の、場合によっては非対称的な、IoTデバイス間の関係性を発見するために、様々なIoTデバイスと関連付けられる位置および対話を追跡するために使用され得る機構に関する。具体的には、関係性は通常複雑であり、(たとえば、ある位置、ある時間などにおける)同時の発生は、異なるユーザ間の実際の関係性を常に示し得るとは限らない。たとえば、2人の人物が互いに頻繁に対話しているがそれでも友人ではないことがある。加えて、いくつかの関係性は非対称的であることがあり、このときいくつかのユーザ間の関係性は、ユーザごとに異なるように分類されることがある。したがって、様々なIoTデバイスと関連付けられる位置、対話、使用、および他の関連する状態データは、異なるユーザ間の非対称的な関係性を推測するために追跡されてよく、この関係性は、IoTデバイス間の後続の対話を制御するために使用されてよい。さらに、一実施形態では、特定の対話が発生する位置を占めるユーザを追跡することが、異なるユーザ間の関係性についてのさらなる情報を導出するために使用され得る。たとえば、一実施形態では、様々な登録されたIoTデバイスは、位置および位置と関連付けられる対話に関するデータをサーバに送信することができ、サーバは、IoTデバイスと関連付けられる位置およびIoTデバイス間の対話を追跡し、ある間隔で各IoTデバイスから受信される追跡された位置および対話データを付加的に処理して、同様の使用パターンおよび/もしくは異なる使用パターン、位置の一致、または、様々なユーザ間の関係性についての知識もしくは他の知見を提供し得る他の関連する類似性および/もしくは相違を特定することができる。現在の追跡期間において受信される位置および対話データは、様々なIoTデバイス間での同様のパターンまたは位置の重複(たとえば、毎日の、または別の周期的な間隔に従った)を特定するために事前処理されてよく、これによって、任意の特定の期間において追跡される位置および対話データが、1つまたは複数の以前の追跡期間において追跡された位置および対話データの上に付加的に構築され得る。さらに、古いデータに従って動作するのを避け、より新しい位置およびより新しい対話により大きな重要性を与えるために、以前の追跡期間からの位置および対話データは、特定の期間内(たとえば、先月)に決定された位置および対話データに限定され得る。サーバは次いで、現在の追跡期間からの事前処理された位置および対話データ(および/または以前の追跡期間からの任意の以前に処理された位置および対話データ)を使用して、適切な統計的技法に従って位置および対話データを複数の支配的なグループへとクラスタ化することができる。クラスタ化された関係性データは次いで、ユーザ固有のクラスタ表現を導出するために分析されてよく、クラスタ表現は、追跡されたIoTデバイス(およびそれらと関連付けられるユーザ)の間でユーザ固有の関係性識別子を割り当てるために使用され得る。たとえば、一実施形態では、各入力と関連付けられる位置は、導出されたx軸およびy軸の上にプロットされてよく、ユーザ固有のクラスタ表現は、追跡されたIoTデバイスおよびそれらと関連付けられるユーザの間の、任意の非対称性を含む関���性を学習し分類するのを助けるものと見なされそのために分析され得る、適切なグラフ描画ユーティリティを使用してプロットされ得る。
【００１２】
本明細書で開示される態様および実施形態と関連付けられる他の物体および利点は、添付の図面および詳細な説明に基づいて、当業者に明らかとなるであろう。
【００１３】
本開示の態様およびその付随する利点の多くのより完全な理解は、本開示を限定するためではなく単に例示するために提示される添付の図面とともに考察されるときに以下の詳細な説明を参照することによって、より良く理解されるようになるのに応じて容易に得られるであろう。
【図面の簡単な説明】
【００１４】
【図１Ａ】本開示の様々な態様による、ワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｂ】本開示の様々な態様による、ワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｃ】本開示の様々な態様による、ワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｄ】本開示の様々な態様による、ワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図１Ｅ】本開示の様々な態様による、ワイヤレス通信システムの例示的なハイレベルシステムアーキテクチャを示す図である。
【図２Ａ】本開示の様々な態様による、例示的なモノのインターネット(IoT)デバイスを示す図である。
【図２Ｂ】本開示の様々な態様による、例示的な受動的IoTデバイスを示す図である。
【図３】本開示の様々な態様による、機能を実行するように構成された論理を含む例示的な通信デバイスを示す図である。
【図４】本開示の様々な態様による、例示的なサーバを示す図である。
【図５】本開示の一態様による、発見可能なピアツーピア(P2P)サービスをサポートし得るワイヤレス通信ネットワークを示す図である。
【図６】本開示の一態様による、様々なデバイスがそれを通じて通信できる近接に基づく配信バスを確立するために、発見可能なP2Pデバイスが使用され得る、例示的な環境を示す図である。
【図７】本開示の一態様による、様々なデバイスがそれを通じて通信できる近接に基づく配信バスを確立するために、発見可能なP2Pデバイスが使用され得る、例示的なメッセージシーケンスを示す図である。
【図８】本開示の様々な態様による、様々なIoTデバイスを含むIoTネットワークにおける自動的かつ構成可能な区分のための例示的な方法を示す図である。
【図９】本開示の一態様による、IoTデバイス間の関係性を暗黙的に作成し得る例示的な方法を示す図である。
【図１０】本開示の様々な態様による、IoTデバイス間の関係性を作成することに関するある状況において使用され得る例示的なsin関数のグラフを示す図である。
【図１１Ａ】本開示の様々な態様による、IoTデバイス間の関係性を暗黙的に作成し得る例示的な方法を示す図である。
【図１１Ｂ】本開示の様々な態様による、様々なIoTデバイスと関連付けられる位置および対話を追跡し、場合によっては非対称的なユーザ固有の関係性を発見することができる、例示的な方法を示す図である。
【図１２Ａ】IoTネットワークにおいて関係性を発見し、構成し、利用するために使用され得る例示的なアーキテクチャを示す図である。
【図１２Ｂ】本開示の様々な態様による、図12Aに示されるアーキテクチャにおけるコンポーネント間の例示的な対話を示す図である。
【図１３Ａ】本開示の様々な態様による、IoTネットワークにおける関係性を利用し得る例示的な対話を示す図である。
【図１３Ｂ】本開示の様々な態様による、IoTネットワークにおける関係性を利用し得る例示的な対話を示す図である。
【図１３Ｃ】本開示の様々な態様による、IoTネットワークにおける関係性を利用し得る例示的な対話を示す図である。
【発明を実施するための形態】
【００１５】
様々な態様が、以下の説明および関連する図面において開示される。本開示の範囲から逸脱することなく、代替の態様が考案され得る。加えて、本開示の関連する詳細を不明瞭にしないように、本開示のよく知られている要素は詳細に説明されず、または省略される。
【００１６】
「例示的」および/または「例」という言葉は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」および/または「例」として説明されるいかなる態様も、必ずしも他の態様よりも好ましいまたは有利であると解釈されるべきではない。同様に、「本開示の態様」という用語は、本開示のすべての態様が、論じられた特徴、利点、または動作モードを含むことを必要としない。
【００１７】
さらに、多くの態様が、たとえばコンピューティングデバイスの要素によって実行されるべき、一連の動作に関して説明される。本明細書において説明される様々な動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行され得ることが認識されるだろう。さらに、本明細書において説明されるこれらの一連の動作は、実行されると、関連付けられるプロセッサに本明細書で説明される機能を実行させる、コンピュータ命令の対応するセットを記憶している、任意の形のコンピュータ可読記憶媒体内で完全に具現化されるものと見なされ得る。したがって、本開示の様々な態様はいくつかの異なる形で具現化されてよく、そのすべてが、特許請求される主題の範囲内に入ると考えられる。加えて、本明細書で説明される態様の各々に対して、任意のそのような態様の対応する形式は、本明細書において、たとえば、説明される動作を実行する「ように構成される論理」として説明されることがある。
【００１８】
本明細書で使用される場合、「モノのインターネット(IoT)デバイス」は、アドレス指定可能なインターフェース(たとえば、インターネットプロトコル(IP)アドレス、Bluetooth（登録商標）識別子(ID)、近距離通信(NFC)IDなど)を有し有線接続またはワイヤレス接続を通じて情報を1つまたは複数の他のデバイスに送信できる、任意の物体(たとえば、家電機器、センサなど)を指すために使用される。IoTデバイスは、クイックレスポンス(QR)コード、高周波識別(RFID)タグ、NFCタグなどのような受動的な通信インターフェース、または、モデム、送受信機、送信機-受信機などのような能動的な通信インターフェースを有し得る。IoTデバイスは、中央処理装置(CPU)、マイクロプロセッサ、ASICなどにおいて具現化され、かつ/またはそれらによって制御/監視され、ローカルのアドホックネットワークもしくはインターネットのようなIoTネットワークへの接続のために構成され得る、属性の特定のセット(たとえば、IoTデバイスがオンであるかオフであるか、公開か非公開か、アイドル状態かアクティブ状態か、タスク実行のために利用可能であるかビジー状態であるかなどのような、デバイスの状態またはステータス、冷房機能または暖房機能、環境監視または記録機能、光放出機能、音放出機能など)を有し得る。たとえば、IoTデバイスは、IoTネットワークと通信するためのアドレス指定可能な通信インターフェースを備える限り、限定はされないが、冷蔵庫、トースタ、オーブン、電子レンジ、冷凍庫、食器洗い機、皿、手工具、衣類洗濯機、衣類乾燥機、炉、空調機、サーモスタット、テレビ、照明器具、電気掃除機、スプリンクラ、電力計、ガスメータなどを含み得る。IoTデバイスはまた、携帯電話、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯情報端末(PDA)などを含み得る。したがって、IoTネットワークは、インターネット接続性を通常は有さないデバイス(たとえば、食器洗い機など)に加えて、「レガシー」のインターネットアクセス可能なデバイス(たとえば、ラップトップコンピュータまたはデスクトップコンピュータ、携帯電話など)の組合せからなり得る。
【００１９】
図1Aは、本開示のある態様による、ワイヤレス通信システム100Aのハイレベルシステムアーキテクチャを示す。ワイヤレス通信システム100Aは複数のIoTデバイスを含み、複数のIoTデバイスは、テレビ110、屋外空調機ユニット112、サーモスタット114、冷蔵庫116、および洗濯乾燥機118を含む。
【００２０】
図1Aを参照すると、IoTデバイス110〜118は、図1Aにエアインターフェース108および直接有線接続109として示されている物理通信インターフェースまたはレイヤを通じて、アクセスネットワーク(たとえば、アクセスポイント125)と通信するように構成される。エアインターフェース108は、IEEE802.11のようなワイヤレスインターネットプロトコル(IP)に適合し得る。図1Aは、IoTデバイス110〜118がエアインターフェース108を通じて通信しIoTデバイス118が直接有線接続109を通じて通信することを示すが、各IoTデバイスは有線接続またはワイヤレス接続を通じて、または両方を通じて通信し得る。
【００２１】
インターネット175は、いくつかのルーティングエージェントおよび処理エージェント(便宜上図1Aには示されていない)を含む。インターネット175は、標準的なインターネットプロトコルスイート(たとえば、送信制御プロトコル(TCP)およびIP)を使用して異なるデバイス/ネットワークの間で通信する、相互接続されたコンピュータとコンピュータネットワークの世界規模のシステムである。TCP/IPは、データがどのようにフォーマットされ、アドレス指定され、送信され、ルーティングされ、宛先で受信されるべきかを規定する、エンドツーエンドの接続性を提供する。
【００２２】
図1Aでは、デスクトップコンピュータまたはパーソナルコンピュータ(PC)のようなコンピュータ120が、インターネット175に直接(たとえば、イーサネット（登録商標）接続またはWi-Fiまたは802.11ベースのネットワークを通じて)接続しているものとして示される。コンピュータ120は、モデムまたはルータへの直接接続のようなインターネット175への有線接続を有してよく、モデムまたはルータはある例では、アクセスポイント125自体(たとえば、有線接続とワイヤレス接続の両方を伴うWi-Fiルータのための)に相当し得る。あるいは、有線接続を通じてアクセスポイント125およびインターネット175に接続されるのではなく、コンピュータ120は、エアインターフェース108または別のワイヤレスインターフェースを通じてアクセスポイント125に接続されてよく、エアインターフェース108を通じてインターネット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の1つまたは複数は、互いに、または他のBluetooth（登録商標）もしくはNFC対応デバイスと直接通信するための、Bluetooth（登録商標）またはNFCインターフェースを有し得る。
【００２５】
ピアツーピアネットワークでは、サービス発見方式は、ノードの存在、ノードの能力、およびグループのメンバーシップをマルチキャストすることができる。ピアツーピアデバイスは、この情報に基づいて、接続と後続の対話とを確立することができる。
【００２６】
本開示の態様によれば、図1Bは、複数のIoTデバイスを含む別のワイヤレス通信システム100Bのハイレベルアーキテクチャを示す。一般に、図1Bに示されるワイヤレス通信システム100Bは、上でより詳細に説明された、図1Aに示されるワイヤレス通信システム100Aと同一の、かつ/または実質的に同様の様々なコンポーネント(たとえば、エアインターフェース108および/または直接有線接続109を通じてアクセスポイント125と通信するように構成される、テレビ110、屋外の空調機ユニット112、サーモスタット114、冷蔵庫116、洗濯乾燥機118を含む様々なIoTデバイス、インターネット175に直接接続する、かつ/またはアクセスポイント125を通じてインターネット175に接続するコンピュータ120、およびインターネット175を介してアクセス可能なIoTサーバ170など)を含み得る。したがって、説明を簡潔かつ簡単にするために、図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に結合され得る、または別様にその一部とされ得る、(能動的なIoTデバイス110〜120とは対照的に)1つまたは複数の受動的なIoTデバイス105を含み得る。一般に、受動的なIoTデバイス105は、バーコード付きデバイス、Bluetooth（登録商標）デバイス、高周波(RF)デバイス、RFIDタグ付きデバイス、赤外線(IR)デバイス、NFCタグ付きデバイス、または、短距離インターフェースを通じて問い合わされたときに自身の識別子および属性を別のデバイスに提供できる任意の他の適切なデバイスを含み得る。能動的なIoTデバイスは、受動的なIoTデバイスの属性の変化を検出すること、記憶すること、通信すること、それに従って動作することなどができる。
【００３０】
たとえば、受動的なIoTデバイス105は、RFIDタグまたはバーコードを各々有するコーヒーカップおよびオレンジジュースの容器を含み得る。キャビネットIoTデバイスおよび冷蔵庫IoTデバイス116は、RFIDタグまたはバーコードを読み取ってコーヒーカップおよび/またはオレンジジュースの容器である受動的なIoTデバイス105がいつ追加されまたは取り出されたかを検出できる、適切なスキャナまたはリーダを各々有し得る。キャビネットIoTデバイスが、コーヒーカップである受動的なIoTデバイス105の取り出しを検出し、冷蔵庫IoTデバイス116がオレンジジュースの容器である受動的なIoTデバイスの取り出しを検出したことに応答して、監督デバイス130は、キャビネットIoTデバイスおよび冷蔵庫IoTデバイス116において検出された活動に関する1つまたは複数の信号を受信し得る。監督デバイス130は次いで、ユーザがコーヒーカップからオレンジジュースを飲んでいる、および/またはコーヒーカップからオレンジジュースを飲むのが好きであると、推測することができる。
【００３１】
上では、何らかの形式のRFIDタグまたはバーコード通信インターフェースを有するものとして受動的なIoTデバイス105を説明するが、受動的なIoTデバイス105は、そのような通信能力を有さない1つまたは複数のデバイスまたは他の物理的物体を含み得る。たとえば、いくつかのIoTデバイスは、受動的なIoTデバイス105を識別するために、受動的なIoTデバイス105と関連付けられる形状、サイズ、色、および/または他の観測可能な特徴を検出できる、適切なスキャナまたはリーダ機構を有し得る。この方式で、任意の適切な物理的物体が、自身の識別情報および属性を通信でき、ワイヤレス通信システム100Bの一部となることができ、監督デバイス130によって観測され、監視され、制御され、または別様に管理され得る。さらに、受動的なIoTデバイス105は、図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スーパーエージェント140を介して互いに接続され、かつ/または互いに通信することができる。ハイレベルにおいて、監督デバイス130はグループ内通信を管理するが、IoTスーパーエージェント140はグループ間通信を管理することができる。別々のデバイスとして示されるが、監督デバイス130およびIoTスーパーエージェント140は、同じデバイス(たとえば、図1Aのコンピュータ120のようなスタンドアロンデバイスまたはIoTデバイス)であってよく、または同じデバイス上に存在していてよい。あるいは、IoTスーパーエージェント140は、アクセスポイント125の機能に対応してよく、またはそれを含んでよい。さらに別の代替形態として、IoTスーパーエージェント140は、IoTサーバ170のようなIoTサーバの機能に対応してよく、またはそれを含んでよい。IoTスーパーエージェント140はゲートウェイ機能145を包含し得る。
【００３５】
各IoTデバイス110〜118は、監督デバイス130をピアとして扱い、属性/スキーマの更新を監督デバイス130に送信することができる。IoTデバイスが別のIoTデバイスと通信する必要があるとき、IoTデバイスは、監督デバイス130からのそのIoTデバイスへのポインタを要求し、次いでピアとしてターゲットIoTデバイスと通信することができる。IoTデバイス110〜118は、共通メッセージングプロトコル(CMP)を使用して、ピアツーピア通信ネットワークを通じて互いに通信する。2つのIoTデバイスがCMP対応であり、共通の通信転送機構を通じて接続される限り、それらは互いに通信することができる。プロトコルスタックにおいて、CMPレイヤ154はアプリケーションレイヤ152の下にあり、トランスポートレイヤ156および物理レイヤ158の上にある。
【００３６】
本開示の別の態様によれば、図1Dは、複数のIoTデバイスを含む別のワイヤレス通信システム100Dのハイレベルアーキテクチャを示す。一般に、図1Dに示されるワイヤレス通信システム100Dは、上でより詳細に説明された、図1A〜図1Cにおいてそれぞれ示されるワイヤレス通信システム100A〜100Cと同じ、かつ/または実質的に同様の、様々なコンポーネントを含み得る。したがって、説明を簡潔かつ簡単にするために、図1Dに示されるワイヤレス通信システム100Dの中のいくつかのコンポーネントに関する様々な詳細は、ここでは、同じまたは同様の詳細が図1A〜図1Cにそれぞれ示されるワイヤレス通信システム100A〜100Cに関して上ですでに与えられた程度まで省略され得る。
【００３７】
インターネット175は、IoTの概念を使用して調整され得る「資源」である。しかしながら、インターネット175は、調整されるリソースの一例にすぎず、任意のリソースがIoTの概念を使用して調整され得る。調整され得る他の資源は、限定はされないが、電気、ガス、ストレージ、セキュリティなどを含む。IoTデバイスは、資源に接続されてよく、それによって資源を調整することができ、または、資源はインターネット175を通じて調整されてよい。図1Dは、天然ガス、ガソリン、湯、および電気のようないくつかの資源180を示し、資源180はインターネット175に加えて、かつ/またはインターネット175を通じて調整され得る。
【００３８】
IoTデバイスは、資源180の使用を調整するために互いに通信することができる。たとえば、トースタ、コンピュータ、およびヘアドライヤのようなIoTデバイスが、Bluetooth（登録商標）通信インターフェースを通じて互いに通信して、それらによる電気(資源180)の使用を調整することができる。別の例として、デスクトップコンピュータ、電話、およびタブレットコンピュータのようなIoTデバイスが、Wi-Fi通信インターフェースを通じて通信して、インターネット175(資源180)へのそれらのアクセスを調整することができる。さらに別の例として、ストーブ、衣類乾燥機、および湯沸器のようなIoTデバイスが、Wi-Fi通信インターフェースを通じて通信して、それらによるガスの使用を調整することができる。あるいは、または加えて、各IoTデバイスは、IoTサーバ170のようなIoTサーバに接続されてよく、IoTサーバは、IoTデバイスから受信される情報に基づいて各IoTデバイスによる資源180の使用を調整するための論理を有する。
【００３９】
本開示の別の態様によれば、図1Eは、複数のIoTデバイスを含む別のワイヤレス通信システム100Eのハイレベルアーキテクチャを示す。一般に、図1Eに示されるワイヤレス通信システム100Eは、上でより詳細に説明された、図1A〜図1Dにおいてそれぞれ示されるワイヤレス通信システム100A〜100Dと同じ、かつ/または実質的に同様の、様々なコンポーネントを含み得る。したがって、説明を簡潔かつ簡単にするために、図1Eに示されるワイヤレス通信システム100Eの中のいくつかのコンポーネントに関する様々な詳細は、ここでは、同じまたは同様の詳細が図1A〜図1Dにそれぞれ示されるワイヤレス通信システム100A〜100Dに関して上ですでに与えられた程度まで省略され得る。
【００４０】
通信システム100Eは、2つのIoTデバイスグループ160Aおよび160Bを含む。複数のIoTデバイスグループが、インターネット175に接続されたIoTスーパーエージェントを介して互いに接続され、かつ/または互いに通信することができる。ハイレベルにおいて、IoTスーパーエージェントは、IoTデバイスグループ間のグループ間通信を管理することができる。たとえば、図1Eでは、IoTデバイスグループ160Aは、IoTデバイス116A、122A、および124A、ならびにIoTスーパーエージェント140Aを含むが、IoTデバイスグループ160Bは、IoTデバイス116B、122B、および124B、ならびにIoTスーパーエージェント140Bを含む。したがって、IoTスーパーエージェント140Aおよび140Bは、インターネット175に接続し、インターネット175を通じて互いに通信し、かつ/または、互いに直接通信して、IoTデバイスグループ160Aと160Bとの間の通信を支援することができる。さらに、図1Eは、2つのIoTデバイスグループ160Aおよび160BがIoTスーパーエージェント140Aおよび140Bを介して互いに通信するのを示すが、任意の数のIoTデバイスグループがIoTスーパーエージェントを使用して互いに適切に通信できることを、当業者は理解するであろう。
【００４１】
図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は、マイクロコントローラ、マイクロプロセッサ、特定用途向け集積回路、デジタル信号プロセッサ(DSP)、プログラマブル論理回路、または、プロセッサ208と一般に呼ばれる他のデータ処理デバイスのような、1つまたは複数のプロセッサ208に動作可能に結合される有線通信および/またはワイヤレス通信のために構成された1つまたは複数の送受信機206(たとえば、Wi-Fi送受信機、Bluetooth（登録商標）送受信機、セルラー送受信機、衛星送受信機、GPSまたはSPS受信機など)を含み得る。プロセッサ208は、IoTデバイスのメモリ212内のアプリケーションプログラミング命令を実行することができる。メモリ212は、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリの、1つまたは複数を含み得る。1つまたは複数の入力/出力(I/O)インターフェース214は、プロセッサ208が、示されるようなディスプレイ226、電源ボタン222、制御ボタン224Aおよび224Bなどの様々なI/Oデバイス、および、IoTデバイス200Aと関連付けられるセンサ、アクチュエータ、リレー、バルブ、スイッチなどのような任意の他のデバイスと通信し、それらから制御することを可能にするように構成され得る。
【００４４】
したがって、本開示のある態様は、本明細書で説明された機能を実行する能力を含むIoTデバイス(たとえば、IoTデバイス200A)を含み得る。当業者によって理解されるように、様々な論理要素は、本明細書で開示される機能を達成するために、個別の要素、プロセッサ(たとえば、プロセッサ208)上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せで具現化され得る。たとえば、送受信機206、プロセッサ208、メモリ212、およびI/Oインターフェース214がすべて、本明細書で開示される様々な機能をロードし、記憶し実行するために協調的に使用され得るので、これらの機能を実行するための論理は様々な要素に分散され得る。代替的には、機能は1つの個別コンポーネントに組み込まれ得る。したがって、図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デバイス200Bは、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インターフェースを含み得る。
【００４７】
上では、何らかの形式のRF、バーコード、または他のI/Oインターフェース214を有するものとして受動的なIoTデバイス200Bを説明するが、受動的な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〜100Bを通じて1つまたは複数の他のエンティティと通信する(または通信を容易にする)ように構成された任意の電子デバイスに対応し得る。
【００４９】
図3を参照すると、通信デバイス300は、情報を受信および/または送信するように構成される論理305を含む。ある例では、通信デバイス300がワイヤレス通信デバイス(たとえば、IoTデバイス200Aおよび/または受動的なIoTデバイス200B)に対応する場合、情報を受信および/または送信するように構成された論理305は、ワイヤレス送受信機および関連するハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)のようなワイヤレス通信インターフェース(たとえば、Bluetooth（登録商標）、WiFi、Wi-Fi Direct、Long-term Evolution(LTE) Directなど)を含み得る。別の例では、情報を受信および/または送信するように構成される論理305は、有線通信インターフェース(たとえば、それを通してインターネット175がアクセスされ得るシリアル接続、USBまたはファイアワイヤ接続、イーサネット（登録商標）接続など)に対応し得る。したがって、通信デバイス300が、何らかのタイプのネットワークベースのサーバ(たとえば、アプリケーション170)に対応する場合、情報を受信および/または送信するように構成される論理305は、ある例では、イーサネット（登録商標）プロトコルを介してネットワークベースのサーバを他の通信エンティティに接続するイーサネット（登録商標）カードに対応し得る。さらなる例では、情報を受信および/または送信するように構成される論理305は、通信デバイス300が、それによってその局所環境を監視することができる感知または測定ハードウェア(たとえば、加速度計、温度センサ、光センサ、局所RF信号を監視するためのアンテナなど)を含み得る。情報を受信および/または送信するように構成される論理305は、実行されるときに、情報を受信および/または送信するように構成される論理305の関連するハードウェアがその受信および/または送信機能を実行するのを可能にする、ソフトウェアも含み得る。しかしながら、情報を受信および/または送信するように構成される論理305は、ソフトウェアだけに対応するのではなく、情報を受信および/または送信するように構成される論理305は、その機能を達成するためのハードウェアに少なくとも部分的に依拠する。
【００５０】
図3を参照すると、通信デバイス300は、情報を処理するように構成される論理310をさらに含む。ある例では、情報を処理するように構成される論理310は、少なくともプロセッサを含み得る。情報を処理するように構成される論理310によって実行され得るタイプの処理の例示的な実装形態は、限定はされないが、決定を行うこと、接続を確立すること、異なる情報の選択肢の間で選択を行うこと、データに関する評価を実行すること、測定動作を実行するために通信デバイス300に結合されたセンサと対話すること、情報をあるフォーマットから別のフォーマットに(たとえば、.wmvから.aviなどのように、異なるプロトコル間で)変換することなどを含む。たとえば、情報を処理するように構成された論理310に含まれるプロセッサは、汎用プロセッサ、DSP、ASIC、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェアコンポーネント、あるいは本明細書で説明される機能を実行するように設計されたそれらの任意の組合せに対応し得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)として実装され得る。情報を処理するように構成される論理310は、実行されるときに、情報を処理するように構成される論理310の関連するハードウェアがその処理機能を実行するのを可能にする、ソフトウェアも含み得る。しかしながら、情報を処理するように構成される論理310は、ソフトウェアだけに対応するのではなく、情報を処理するように構成される論理310は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
【００５１】
図3を参照すると、通信デバイス300は、情報を記憶するように構成される論理315をさらに含む。ある例では、情報を記憶するように構成される論理315は、少なくとも非一時的メモリおよび関連するハードウェア(たとえば、メモリコントローラなど)を含み得る。たとえば、情報を記憶するように構成された論理315に含まれる非一時的メモリは、RAM、フラッシュメモリ、ROM、消去可能プログラマブルROM(EPROM)、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に対応し得る。情報を記憶するように構成される論理315は、実行されるときに、情報を記憶するように構成される論理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は、ソフトウェアだけに対応するのではなく、情報を提示するように構成される論理320は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
【００５３】
図3を参照すると、通信デバイス300はさらに、任意選択で、ローカルユーザ入力を受け取るように構成される論理325を含む。ある例では、ローカルユーザ入力を受け取るように構成される論理325は、少なくともユーザ入力デバイスおよび関連するハードウェアを含み得る。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロフォン、またはマイクロフォンジャックのようなオーディオ情報を搬送することができるポートなど)、および/または、それによって情報が通信デバイス300のユーザもしくは操作者から受け取られ得る任意の他のデバイスを含み得る。たとえば、通信デバイス300が、図2Aに示されたIoTデバイス200Aおよび/または図2Bに示された受動的なIoTデバイス200Bに対応する場合、ローカルユーザ入力を受け取るように構成された論理325は、ボタン222、224A、および224B、ディスプレイ226(タッチスクリーンであれば)などを含み得る。さらなる例では、ローカルユーザ入力を受け取るように構成される論理325は、ローカルユーザを有さないネットワーク通信デバイス(たとえば、ネットワークスイッチまたはルータ、リモートサーバなど)のようないくつかの通信デバイスでは省略されることがある。ローカルユーザ入力を受け取るように構成される論理325はまた、実行されるときに、ローカルユーザ入力を受け取るように構成される論理325の関連するハードウェアがその入力受取り機能を実行するのを可能にする、ソフトウェアも含み得る。しかしながら、ローカルユーザ入力を受け取るように構成される論理325は、ソフトウェアだけに対応するのではなく、ローカルユーザ入力を受け取るように構成される論理325は、その機能を達成するためにハードウェアに少なくとも部分的に依拠する。
【００５４】
図3を参照すると、305〜325の構成される論理は、図3では別個のまたは相異なるブロックとして示されているが、それによってそれぞれの構成された論理がその機能を実行するハードウェアおよび/またはソフトウェアは、部分的に重複し得ることが理解されるだろう。たとえば、305〜325の構成される論理の機能を支援するために使用される任意のソフトウェアが、情報を記憶するように構成された論理315と関連付けられる非一時的メモリに記憶され得るので、305〜325の構成される論理は各々、その機能(すなわち、この場合、ソフトウェア実行)を、情報を記憶するように構成される論理315によって記憶されたソフトウェアの動作に部分的に基づいて実行する。同様に、構成される論理の1つと直接関連付けられるハードウェアは、時々、他の構成される論理によって借用または使用され得る。たとえば、情報を処理するように構成される論理310のプロセッサは、データを、情報を受信および/または送信するように構成される論理305によって送信される前に、適切なフォーマットへとフォーマットすることができるので、情報を受信および/または送信するように構成される論理305は、その機能(すなわち、この場合、データの送信)を、情報を処理するように構成される論理310と関連付けられたハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて実行する。
【００５５】
一般に、別段明示的に述べられない限り、本開示全体にわたって使用される「ように構成された論理」という句は、ハードウェアにより少なくとも部分的に実装される態様を呼び出すことが意図され、ハードウェアから独立したソフトウェアだけの実装形態に対応付けることは意図されない。様々なブロックにおける構成された論理または「ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されず、全般に、本明細書で説明された機能を(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実行するための能力を指すことが理解されるだろう。したがって、様々なブロックにおいて示されるような、構成される論理または「ように構成される論理」は、「論理」という言葉を共有するにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されるとは限らない。様々なブロック中の論理の間の他の対話または協働が、以下でより詳細に説明される態様の検討から、当業者に明らかになるであろう。
【００５６】
様々な実施形態は、図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、ディスク(disk)ドライブ403、および/またはディスク(disc)ドライブ406の任意の組合せに対応することが理解されるだろう。情報を提示するように構成される任意選択の論理320およびローカルユーザ入力を受け取るように構成される任意選択の論理325は、図4には明示的に示されず、その中に含まれることも含まれないこともある。したがって、図4は、通信デバイス300が、図2AのようなIoTデバイスの実装形態に加えて、サーバとして実装され得ることを説明するのを助ける。
【００５７】
IPベースの技術およびサービスはさらに成熟してきており、IPのコストを下げ、利用可能性を上げている。これは、インターネット接続性が、より多くのタイプの日常的な電子的物体に追加されることを可能にした。IoTは、コンピュータおよびコンピュータネットワークだけではなく、日常的な電子的物体が、インターネットを介して、読取り可能に、認識可能に、位置決定可能に、アドレス指定可能に、かつ制御可能になり得るという考えに基づく。一般に、IoTの発展および普及に伴い、多数の近接した異種のIoTデバイスと、異なるタイプを有し異なる活動を実行する他の物理的物体(たとえば、照明、プリンタ、冷蔵庫、空調機など)とが、多くの異なる方法で互いに対話することができ、多くの異なる方法で使用され得る。したがって、制御されたIoTネットワーク内で使用され得る、潜在的に多数の異種のIoTデバイスおよび他の物理的物体があるので、様々な異種のIoTデバイスが互いに通信し情報を交換するのを可能にするために、明確に定義され信頼性のある通信インターフェースが一般に必要とされ得る。したがって、図5〜図7に関して与えられる以下の説明は全般に、本明細書で開示される様々な態様および実施形態に従ってIoTデバイス間の通信を可能にするための、発見可能なピアツーピア(P2P)サービスをサポートし得る、例示的な通信フレームワークを概説する。
【００５８】
一般に、電話、タブレットコンピュータ、ラップトップおよびデスクトップコンピュータ、何らかの車両などのようなユーザ機器(UE)は、局所的に(たとえば、Bluetooth（登録商標）、ローカルWi-Fiなど)、または遠隔的に(たとえば、セルラーネットワークを介して、インターネットを通じて、など)、互いに接続するように構成され得る。さらに、いくつかのUEはまた、互いに直接通信するために、いくつかのデバイスを含むグループへの1対1の接続または同時の接続をデバイスが行うことを可能にする何らかのワイヤレスネットワーキング技術(たとえば、Wi-Fi、Bluetooth（登録商標）、Wi-Fi Directなど)を使用して、近接ベースのピアツーピア(P2P)通信をサポートし得る。この目的のために、図5は、発見可能なP2Pサービスをサポートし得る、例示的なワイヤレス通信ネットワークまたはWAN500を示す。たとえば、一実施形態では、ワイヤレス通信ネットワーク500は、様々な基地局510および他のネットワークエンティティを含む、LTEネットワークまたは別の適切なWANを含み得る。簡単のために、3つの基地局510a、510bおよび510c、1つのネットワークコントローラ530、ならびに1つの動的ホスト構成プロトコル(DHCP)サーバ540のみが、図5に示される。基地局510は、デバイス520と通信するエンティティであってよく、Node B、発展型Node B(eNB)、アクセスポイントなどとも呼ばれることがある。各基地局510は、特定の地理的エリアに対して通信カバレッジを提供することができ、カバレッジエリア内に位置するデバイス520のための通信をサポートすることができる。ネットワーク容量を増やすために、基地局510の全体のカバレッジエリアは、複数(たとえば、3つ)のより小さなエリアに区分されてよく、各々のより小さなエリアはそれぞれの基地局510によってサービスされ得る。3GPPでは、「セル」という用語は、この用語が使用される状況に応じて、このカバレッジエリアにサービスしている基地局510および/または基地局サブシステム510のカバレッジエリアを指し得る。3GPP2では、「セクタ」または「セルセクタ」という用語は、このカバレッジエリアにサービスしている基地局510および/または基地局サブシステム510のカバレッジエリアを指し得る。明確にするために、本明細書の説明では3GPPの「セル」の概念が使用され得る。
【００５９】
基地局510は、マクロセル、ピコセル、フェムトセル、および/または他のセルタイプに通信カバレッジを与えることができる。マクロセルは、比較的大きい地理的エリア(たとえば、半径数キロメートル)をカバーすることができ、サービスに加入しているデバイス520による無制限のアクセスを可能にし得る。ピコセルは、比較的小さい地理的エリアをカバーすることができ、サービスに加入しているデバイス520による無制限のアクセスを可能にし得る。フェムトセルは、比較的小さい地理的エリア(たとえば、家)をカバーすることができ、フェムトセルとの接続を有するデバイス520(たとえば、限定加入者グループ(CSG)中のデバイス520)による限定されたアクセスを可能にし得る。図5に示される例では、ワイヤレスネットワーク500は、マクロセルのためのマクロ基地局510a、510b、および510cを含む。ワイヤレスネットワーク500は、ピコセルのためのピコ基地局510および/またはフェムトセルのためのホーム基地局510(図5には示されていない)も含み得る。
【００６０】
ネットワークコントローラ530は、基地局510のセットに結合することができ、これらの基地局510の調整および制御を行うことができる。ネットワークコントローラ530は、バックホールを介して基地局と通信することができる、単一のネットワークエンティティまたはネットワークエンティティの集合体であり得る。基地局はまた、たとえば、直接、またはワイヤレスバックホールもしくは有線バックホールを介して間接的に、互いに通信し得る。DHCPサーバ540は、以下で説明されるように、P2P通信をサポートすることができる。DHCPサーバ540は、ワイヤレスネットワーク500の一部であってよく、ワイヤレスネットワーク500の外部にあってよく、インターネット接続共有(ICS)を介して動作してよく、またはこれらの任意の適切な組合せであってよい。DHCPサーバ540は、(たとえば、図5に示されるように)別個のエンティティであってよく、または、基地局510、ネットワークコントローラ530、もしくは他の何らかのエンティティの一部であってよい。いずれの場合も、DHCPサーバ540は、ピアツーピアの通信を望むデバイス520によって到達可能であり得る。
【００６１】
デバイス520はワイヤレスネットワーク500全体にわたって分散されてよく、各デバイス520は固定式または移動式であり得る。デバイス520はまた、ノード、ユーザ装置(UE)、局、移動局、端末、アクセス端末、加入者ユニットなどと呼ばれ得る。デバイス520は、携帯電話、携帯情報端末(PDA)、ワイヤレスモデム、ワイヤレス通信デバイス、ハンドヘルドデバイス、ラップトップコンピュータ、コードレス電話、ワイヤレスローカルループ(WLL)局、スマートフォン、ネットブック、スマートブック、タブレットなどであってよい。デバイス520は、ワイヤレスネットワーク500中の基地局510と通信することができ、さらに他のデバイス520とのピアツーピアで通信することができる。たとえば、図5に示されるように、デバイス520aおよび520bはピアツーピアで通信することができ、デバイス520cおよび520dはピアツーピアで通信することができ、デバイス520eおよび520fはピアツーピアで通信することができ、デバイス520g、520h、および520iはピアツーピアで通信することができるが、残りのデバイス520は基地局510と通信することができる。図5にさらに示されるように、デバイス520a、520d、520f、および520hはまた、たとえば、P2P通信に関与していないとき、または場合によってはP2P通信と同時に、基地局500と通信することができる。
【００６２】
本明細書の説明では、WAN通信は、たとえば別のデバイス520のような遠隔エンティティとの通話のための、ワイヤレスネットワーク500におけるデバイス520と基地局510との間の通信を指し得る。WANデバイスは、WAN通信に関心を持っているか、WAN通信に関与しているデバイス520である。P2P通信は、基地局510を通ることのない、2つ以上のデバイス520間の直接通信を指す。P2Pデバイスは、P2P通信に関心のある、またはそれに関与しているデバイス520、たとえば、P2Pデバイスに近接している別のデバイス520のためのトラフィックデータを有するデバイス520である。2つのデバイスは、たとえば、各デバイス520が他のデバイス520を検出できる場合、互いに近接していると見なされ得る。一般に、デバイス520は、P2P通信のために直接、または、WAN通信のために少なくとも1つの基地局510を介して、別のデバイス520と通信することができる。
【００６３】
一実施形態では、P2Pデバイス520間の直接通信は、P2Pグループへと編成され得る。より具体的には、P2Pグループは一般に、P2P通信に関心がある、またはそれに関与している2つ以上のデバイス520のグループを指し、P2Pリンクは、P2Pグループのための通信リンクを指す。さらに、一実施形態では、P2Pグループは、P2Pグループオーナー(またはP2Pサーバ)として指定された1つのデバイス520と、P2PグループオーナーによってサービスされるP2Pクライアントとして指定された1つまたは複数のデバイス520とを含み得る。P2Pグループオーナーは、WANとのシグナリングの交換、P2PグループオーナーとP2Pクライアントとの間でのデータ送信の調整などのような、いくつかの管理機能を実行することができる。たとえば、図5に示されるように、第1のP2Pグループは、基地局510aのカバレッジのもとにあるデバイス520aおよび520bを含み、第2のP2Pグループは、基地局510bのカバレッジのもとにあるデバイス520cおよび520dを含み、第3のP2Pグループは、異なる基地局510bおよび510cのカバレッジのもとにあるデバイス520eおよび520fを含み、第4のP2Pグループは、基地局510cのカバレッジのもとにあるデバイス520g、520hおよび520iを含む。デバイス520a、520d、520f、および520hは、それぞれのP2PグループのP2Pグループオーナーであってよく、デバイス520b、520c、520e、520g、および520iは、それぞれのP2Pグループ中のP2Pクライアントであってよい。図5の他のデバイス520は、WAN通信に関与していてよい。
【００６４】
一実施形態では、P2P通信は、各P2Pグループ内のみで発生してよく、さらに、P2Pグループオーナーと、それと関連付けられるP2Pクライアントとの間のみで発生してよい。たとえば、同じP2Pグループ内の2つのP2Pクライアント(たとえば、デバイス520gおよび520i)が情報を交換することを望む場合、P2Pクライアントの1つは情報をP2Pグループオーナー(たとえば、デバイス520h)に送信することができ、P2Pグループオーナーは次いで、送信を他のP2Pクライアントに中継することができる。一実施形態では、特定のデバイス520は、複数のP2Pグループに属すことがあり、各P2Pグループの中で、P2PグループオーナーとP2Pクライアントのいずれかとして振る舞い得る。さらに、一実施形態では、特定のP2Pクライアントは、1つのP2Pグループのみの属すことがあり、または、複数のP2Pグループに属し、任意の特定の瞬間において複数のP2Pグループのいずれかの中のP2Pデバイス520と通信することがある。一般に通信は、ダウンリンクおよびアップリンク上での送信を介して支援され得る。WAN通信では、ダウンリンク(または順方向リンク)は基地局510からデバイス520への通信リンクを指し、アップリンク(または逆方向リンク)はデバイス520から基地局510への通信リンクを指す。P2P通信では、P2PダウンリンクはP2PグループオーナーからP2Pクライアントへの通信リンクを指し、P2PアップリンクはP2PクライアントからP2Pグループオーナーへの通信リンクを指す。いくつかの実施形態では、WAN技術を使用してP2Pで通信するのではなく、2つ以上のデバイスがより小さなP2Pグループを形成し、Wi-Fi、Bluetooth（登録商標）、またはWi-Fi Directのような技術を使用してワイヤレスローカルエリアネットワーク(WLAN)上でP2Pで通信することができる。たとえば、Wi-Fi、Bluetooth（登録商標）、Wi-Fi Direct、または他のWLAN技術を使用するP2P通信は、2つ以上の携帯電話、ゲームコンソール、ラップトップコンピュータ、または他の適切な通信エンティティ間のP2P通信を可能にし得る。
【００６５】
本開示の一態様によれば、図6は、様々なデバイス610、630、640がそれを通じて通信できる近接に基づく配信バスを確立するために、発見可能なP2Pサービスが使用され得る、例示的な環境600を示す。たとえば、一実施形態では、単一のプラットフォーム上でのアプリケーション間の通信などは、配信バス625上でプロセス間通信プロトコル(IPC)フレームワークを使用して支援されてよく、配信バス625は、ネットワーク化されたコンピューティング環境における、アプリケーション対アプリケーションの通信を可能にするために使用されるソフトウェアバスを含んでよく、ネットワーク化されたコンピューティング環境において、アプリケーションは他のアプリケーションにサービスを提供するために配信バス625に登録し、他のアプリケーションは登録されたアプリケーションについての情報を配信バス625に問い合わせる。そのようなプロトコルは、信号メッセージ(たとえば、通知)が点対点またはブロードキャストであり得る、非同期的な通知およびリモートプロシージャコール(RPC)を提供することができ、メソッド呼出しメッセージ(たとえば、RPC)は同期的または非同期的であってよく、配信バス625(たとえば、「デーモン」バスプロセス)は様々なデバイス610、630、640の間でのメッセージのルーティングを扱うことができる。
【００６６】
一実施形態では、配信バス625は、種々の転送プロトコル(Bluetooth（登録商標）、TCP/IP、Wi-Fi、CDMA、GPRS、UMTSなど)によってサポートされ得る。たとえば、一態様によれば、第1のデバイス610は、配信バスノード612および1つまたは複数のローカルエンドポイント614を含んでよく、配信バスノード612は、第1のデバイス610と関連付けられるローカルエンドポイント614と、第2のデバイス630および第3のデバイス640と関連付けられるローカルエンドポイント634および644との間の通信を、配信バス625を通じて(たとえば、第2のデバイス630上の配信バスノード632および第3のデバイス640上の配信バスノード642を介して)支援することができる。図7を参照して以下でさらに詳細に説明されるように、配信バス625は、対照的なマルチデバイスネットワークトポロジーをサポートすることができ、デバイスのドロップアウトの存在下で安定した動作を提供することができる。したがって、あらゆる背後の転送プロトコル(たとえば、Bluetooth（登録商標）、TCP/IP、Wi-Fiなど)とは一般に独立であり得る、仮想配信バス625は、セキュアではないもの(たとえば、公開)からセキュアなもの(たとえば、認証され暗号化されている)まで、様々なセキュリティの選択肢を可能にすることができ、セキュリティの選択肢は、第1のデバイス610、第2のデバイス630、および第3のデバイス640の間の自発的な接続を、様々なデバイス610、630、640が互いにある範囲内に来ると、または接近すると、調停を伴わずに促進しながら、使用され得る。
【００６７】
本開示の一態様によれば、図7は、第1のデバイス(「デバイスA」)710および第2のデバイス(「デバイスB」)730がそれを通じて通信できる近接に基づく配信バスを確立するために、発見可能なP2Pサービスが使用され得る、例示的なメッセージシーケンス700を示す。一般に、デバイスA 710はデバイスB 730と通信することを要求することができ、デバイスA 710は、通信するための要求を行い得るローカルエンドポイント714(たとえば、ローカルアプリケーション、サービスなど)を、そのような通信を促進するのを支援できるバスノード712に加えて含み得る。さらに、デバイスB 730は、ローカルエンドポイント714がそれとの通信を試み得るローカルエンドポイント734を、デバイスA 710上のローカルエンドポイント714とデバイスB 730上のローカルエンドポイント734との間の通信を促進するのを助け得るバスノード732に加えて含み得る。
【００６８】
一実施形態では、バスノード712および732は、メッセージシーケンスステップ754において、適切な発見機構を実行することができる。たとえば、Bluetooth（登録商標）、TCP/IP、UNIX（登録商標）などによってサポートされる接続を発見するための機構が使用され得る。メッセージシーケンスステップ756において、デバイスA 710上のローカルエンドポイント714は、バスノード712を通じて利用可能な、エンティティ、サービス、エンドポイントなどに接続することを要求し得る。一実施形態では、要求は、ローカルエンドポイント714とバスノード712との間の、要求および応答プロセスを含み得る。メッセージシーケンスステップ758において、配信メッセージバスが、バスノード712をバスノード732に接続し、これによってデバイスA 710とデバイスB 730との間のP2P接続を確立するために形成され得る。一実施形態では、バスノード712と732との間の配信バスを形成するための通信が、適切な近接に基づくP2Pプロトコル(たとえば、接続された製品間での相互運用性を実現するように設計されるAllJoyn(商標)ソフトウェアフレームワーク、および、近接ネットワークを動的に作成し近接P2P通信を支援するための異なる製造業者からのソフトウェアアプリケーション)を使用して支援され得る。あるいは、一実施形態では、サーバ(図示されず)が、バスノード712と732との間の接続を支援し得る。さらに、一実施形態では、適切な認証機構が、バスノード712と732との間の接続を形成する前に使用され得る(たとえば、認証カンバセーションを開始するための認証コマンドをクライアントが送信し得る、SASL認証)。またさらに、メッセージシーケンスステップ758の間に、バスノード712および732は、他の利用可能なエンドポイント(たとえば、図6のデバイスC 640上のローカルエンドポイント644)についての情報を交換することができる。そのような実施形態では、バスノードが維持する各ローカルエンドポイントは他のバスノードに告知されてよく、この告知は、固有のエンドポイント名称、転送タイプ、接続パラメータ、または他の適切な情報を含み得る。
【００６９】
一実施形態では、メッセージシーケンスステップ760において、バスノード712およびバスノード732は、ローカルエンドポイント734および714とそれぞれ関連付けられる取得された情報を使用して、様々なバスノードを通じて利用可能な本物の取得されたエンドポイントを表し得る、仮想エンドポイントを作成することができる。一実施形態では、バスノード712上でのメッセージのルーティングは、本物のエンドポイントおよび仮想エンドポイントを使用してメッセージを配信することができる。さらに、遠隔デバイス(たとえば、デバイスA 710)上に存在するすべてのエンドポイントに対して1つのローカルな仮想エンドポイントがあり得る。またさらに、そのような仮想エンドポイントは、配信バス(たとえば、バスノード712とバスノード732との間の接続)を通じて送信される、メッセージを多重送信および/または非多重送信することができる。一態様では、仮想エンドポイントは、本物のエンドポイントのように、ローカルバスノード712または732からメッセージを受信することができ、配信バスを通じてメッセージを転送することができる。したがって、仮想エンドポイントは、エンドポイント多重送信配信バス接続から、ローカルバスノード712および732にメッセージを転送することができる。さらに、一実施形態では、遠隔デバイス上の仮想エンドポイントに対応する仮想エンドポイントは、特定の転送タイプの所望のトポロジーに対応するために、任意の時間に再接続され得る。そのような態様では、UNIX（登録商標）ベースの仮想エンドポイントはローカルであると見なされ得るので、再接続のための候補と見なされないことがある。さらにTCPベースの仮想エンドポイントは、1ホップルーティングに対して最適化され得る(たとえば、各バスノード712および732が直接互いに接続され得る)。またさらに、Bluetooth（登録商標）ベースの仮想エンドポイントは、Bluetooth（登録商標）ベースのマスターがローカルマスターノードと同じバスノードであり得る、単一のピコネット(たとえば、1個のマスターおよびn個のスレーブ)に対して最適化され得る。
【００７０】
メッセージシーケンスステップ762において、バスノード712およびバスノード732は、バス状態情報を交換して、バスインスタンスを統合し、配信バスを通じた通信を可能にし得る。たとえば、一実施形態では、バス状態情報は、有名な固有のエンドポイント名称の割当て、一致規則、ルーティンググループ、または他の適切な情報を含み得る。一実施形態では、状態情報は、ローカルエンドポイント714および734が配信バスに基づくローカル名称を使用して通信するインターフェースを使用して、バスノード712とバスノード732のインスタンスの間で通信され得る。別の態様では、バスノード712およびバスノード732は各々、配信バスへのフィードバックを提供することを担うローカルバスコントローラを維持することができ、バスコントローラは、配信バスと関連付けられる規格へと、グローバルなメソッド、引数、信号、および他の情報を変換することができる。メッセージシーケンスステップ764において、バスノード712およびバスノード732は、上で説明されたようなバスノード接続の間にもたらされる任意の変化についてそれぞれのローカルエンドポイント714および734に知らせるために、信号を通信する(たとえば、ブロードキャストする)ことができる。一実施形態では、新たな名称および/または削除されたグローバル名称および/または変換された名称が、オーナー名称変更信号によって示され得る。さらに、(たとえば、名称の競合により)ローカルで失われ得るグローバル名称は、名称喪失信号によって示され得る。またさらに、名称の競合により譲渡されたグローバル名称は、オーナー名称変更信号によって示されてよく、バスノード712およびバスノード732が非接続状態になった場合、かつ/またはそうなったときに消滅する固有の名称は、オーナー名称変更信号によって示され得る。
【００７１】
上で使用されるように、有名な名称が、ローカルエンドポイント714および734を一意に記述するために使用され得る。一実施形態では、デバイスA 710とデバイスB 730との間で通信が発生するとき、異なる有名な名称のタイプが使用され得る。たとえば、デバイスのローカル名称は、バスノード712が直接接続するデバイスA 710と関連付けられるバスノード712上でのみ存在し得る。別の例では、グローバル名称は、すべての既知のバスノード712および732の上で存在してよく、この場合、すべてのバスセグメント上で、その名称のオーナーが1つだけ存在し得る。言い換えると、バスノード712およびバスノード732が結合され何らかの競合が発生すると、オーナーの一方がグローバル名称を失い得る。さらに別の例では、クライアントが仮想バスと関連付けられる他のバスノードに接続されるとき、変換された名称が使用され得る。そのような態様では、変換された名称は、付加された終端部(たとえば、グローバルに一意な識別子「1234」を伴う配信バスに接続された、有名な名称「org.foo」を伴うローカルエンドポイント714は、「G1234.org.foo」と見なされ得る)を含み得る。
【００７２】
メッセージシーケンスステップ766において、バスノード712およびバスノード732は、エンドポイントバストポロジーに対する変更を他のバスノードに知らせるために信号を通信(たとえば、ブロードキャスト)することができる。その後、ローカルエンドポイント714からのトラフィックは、仮想エンドポイントを通って移動し、デバイスB 730上の意図されるローカルエンドポイント734に到達し得る。さらに、動作において、ローカルエンドポイント714とローカルエンドポイント734との間の通信は、ルーティンググループを使用し得る。一態様では、ルーティンググループは、エンドポイントが、信号、メソッド呼出し、または他の適切な情報をエンドポイントのサブセットから受信することを可能にし得る。したがって、ルーティング名称は、バスノード712または732に接続されるアプリケーションによって決定され得る。たとえば、P2Pアプリケーションは、アプリケーションに内蔵された固有の有名なルーティンググループ名称を使用することができる。さらに、バスノード712および732は、ルーティンググループへのローカルエンドポイント714および734の登録および/または登録解除をサポートすることができる。一実施形態では、ルーティンググループは、現在のバスインスタンス以外での持続性を有さなくてよい。別の態様では、アプリケーションは、配信バスに接続するたびに、好ましいルーティンググループに登録することができる。またさらに、グループは公開(たとえば、任意のエンドポイントが参加できる)であってよく、または非公開(たとえば、グループの作成者のみがグループを修正できる)であってよい。またさらに、バスノード712または732は、他の遠隔のバスノードに、追加、除去、またはルーティンググループエンドポイントへの他の変更を通知するために、信号を送信することができる。そのような実施形態では、バスノード712または732は、メンバーがグループに追加され、かつ/またはグループから除去されたときは常に、ルーティンググループ変更信号を他のグループメンバーに送信することができる。さらに、バスノード712または732は、配信バスから切断されるエンドポイントへ、それら自体をルーティンググループから最初に除去することなく、ルーティンググループ変更信号を送信することができる。
【００７３】
IoTネットワーク内で構成可能な区分を自動的に作成し、それによって、様々な異種のIoTデバイスと異なるタイプを有し得る他の物理的物体とを管理するために使用され得る例示的な方法800は、様々な活動(たとえば、照明、プリンタ、冷蔵庫、空調機など)を実行し、様々な対話および使用のパターンを有する。具体的には、制御されたIoTネットワーク内で使用され得る、潜在的に多数の異種のIoTデバイスおよび他の物理的物体があることにより、対話と、対話と関連付けられる使用とを調整して、ユーザの要求および需要を満たすように所望の機能を実装し、または別様にIoTネットワークを制御することは、難しいことがある。たとえば、別の人物の家への訪問者は、その家の中に位置するスピーカーである曲を再生することを望むことがある。しかしながら、訪問者はその曲を複製することができない(たとえば、その曲にデジタル著作権管理が埋め込まれているので)ことがあり、別のデバイスへのBluetooth（登録商標）ペアリングが難しいことがあり、または、他の条件が、その家のスピーカーでその曲を簡単に再生するための能力と干渉することがある。さらに、制御されたIoTネットワーク内で使用され得る、潜在的に多数のデバイスおよび他の物理的物体があることにより、利用可能なデバイスを探すユーザは、検索結果が現実的に無意味となり得るほどの多数の選択肢により、混乱させられることがある。したがって、本明細書でさらに詳細に説明されるように、図8に示される方法800は、様々な異種のIoTデバイスまたは他の物理的物体(たとえば、通信能力を有する非IoTデバイスおよび/または通信能力を有さない他の物理的物体)を自動的に編成し、または別様にグループ化するために使用されてよく、このことは、IoTネットワークに対する自動的で構成可能な制御を可能にし得るので、IoTネットワーク中に展開される異種のIoTデバイスおよび他の物理的物体は、より効率的に一緒に動作し、通信および情報共有を最適化し、全体的な有効性とユーザ体験とを全般に改善できる。
【００７４】
より具体的には、本開示の様々な態様によれば、図8に示される方法800は最初に、ブロック810において、様々なデバイスおよび/または他の物理的物体を検出し、IoTネットワークに登録するステップを含んでよく、IoTネットワークと関連付けられる監督デバイスは、1つまたは複数のIoTデバイス、1つまたは複数の非IoTデバイス、および/または、ブロック810において制御されたIoTネットワークに結合される、もしくは別様にそこで使用される他の適切な物理的物体を、検出し登録することができる。一実施形態では、ブロック810において検出されIoTネットワークに登録されたIoTデバイスは、監督デバイスに組み込まれ、それによって観測され、監視され、制御され、または別様に管理され得るいくつかの属性および状態情報を有し、IoTネットワークに接続される、任意の適切な電子デバイス(たとえば、家電機器、センサ、冷蔵庫、トースタ、オーブン、電子レンジ、冷凍庫、食器洗い機、洗濯機、乾燥機、炉、空調機、サーモスタット、テレビ、照明器具、電気掃除機、電力計、ガスメータ、携帯電話、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータなど)を含み得る。一実施形態では、IoTデバイスと関連付けられる属性は、IoTデバイスと関連付けられる対話および使用に関する任意の適切な様相を定義し得る、汎用的で、適応的で、拡張可能なスキーマを与える、一般的な語彙を使用して表現され得る(たとえば、スキーマ値は、周辺環境からの学習およびIoTデバイス間の発見および対話に基づいて進化し、または別様に適応することができ、新たなスキーマ要素が既存のIoTデバイスの語彙を拡張するために追加され得る)。たとえば、一実施形態では、一般的な語彙は、とりわけ、グローバルに一意な識別子、メイク、モデル、タイプ、およびバージョン属性を含み得るスキーマ要素、サポートされる入力(たとえば、ボルト数、アンペア数、ガロン数、BTUなど)、サポートされる出力(たとえば、ワット数、温度、面積単位、体積単位、速度など)、サポートされる能力(たとえば、開始、停止、シャットダウン、休止状態、スタンバイ、リセット、導入など)、ならびにサポートされる通信方法(たとえば、Bluetooth（登録商標）、Wi-Fi、赤外線、近距離通信、短波無線など)に従って、特定のIoTデバイスと関連付けられる属性を表現し得る。さらに、IoTデバイスと関連付けられる状態情報は、IoTデバイスがオンであるかオフであるか、公開か非公開か、アイドル状態かアクティブ状態か、タスク実行のために利用可能であるかビジー状態であるか、または、IoTデバイスと関連付けられるステータスに関し得る任意の他の適切な情報を示し得る。
【００７５】
さらに、一実施形態では、ブロック810において検出されIoTネットワークに登録された非IoTデバイスは、バーコード付きデバイス、Bluetooth（登録商標）デバイス、RFデバイス、RFIDタグ付きデバイス、IRデバイス、または、短距離インターフェース(たとえば、エアインターフェース)を通じて通信でき、監督デバイスが観察し、監視し、制御し、もしくは別様に管理できる、任意の他の適切なデバイスを含み得る。加えて、検出されIoTネットワークに登録され得る他の物理的物体は、通信能力を有さない非IoTデバイスを含み得る。たとえば、監督デバイスまたは他のIoTデバイスは、通信していない物理的物体と関連付けられる形状、サイズ、色、または他の観察可能な特徴を検出できる、適切なスキャナまたはリーダ機構を有してよく、通信していない物理的物体は次いでIoTネットワークに登録され得る。その上、いくつかのIoTデバイス、通信している非IoTデバイス、および/または通信していない物理的物体は、デバイスおよび/または物体をIoTネットワークに追加するコマンドをユーザが監督デバイスに提供したことに応答して、または、他の自動的な検出能力に基づいて(たとえば、ある特定の物体を購入するためのオンライン注文をユーザが行い、その後、その物体が家に配達されたと判定したことに応答して)、ブロック810においてIoTネットワークに明示的に登録され得る。このようにして、任意の適切な物理的物体は、(たとえば、監督デバイスを介して)ブロック810において検出され登録されたことに応答して、IoTネットワークの一部になり得る。
【００７６】
一実施形態では、ブロック820において、監督デバイスは次いで、ブロック810において検出され登録されたデバイスおよび/または他の物体と関連付けられる対話および使用を監視することができ、監視された対話および使用が次いで、ブロック830において、IoTネットワーク内の1つまたは複数のグループ、サブネットワーク、サブセット、または他の適切な区分を作成するために使用され得る。たとえば、一実施形態では、ブロック810において登録された各デバイスまたは物体は、グローバルに一意な識別子を含んでよく、各IoTデバイスはさらに、IoTネットワーク中の別のデバイスまたは物体との各出会いまたは他の対話に関する情報(たとえば、対話と関連付けられる他のデバイスもしくは物体に対応するグローバルに一意な識別子、対話に関するタイムスタンプもしくは他の時間的な背景、対話が実行した、もしくは対話に別様に関係する機能、対話が発生した位置、または、対話が発生したときに所有者がIoTネットワークに存在していたか、もしくはIoTネットワークから離れていたかのような、対話に関する他の適切な背景)を記憶する、ローカルデータベースを含み得る。
【００７７】
したがって、一実施形態では、IoTデバイスは、ローカルデータベースに記憶された、各出会いまたは他の対話に関する情報を監督デバイスに通信することができ、監督デバイスはさらに、ブロック820において対話および使用を監視するために、IoTネットワークにおける各出会いまたは他の対話に関する情報を記憶するローカルデータベースを維持することができる。さらに、一実施形態では、監督デバイスは、ブロック820において、IoTネットワーク中で発生する他の対話および使用を観察し、または別様に監視して、ローカルデータベースをさらに埋めることができる。たとえば、一実施形態では、非IoTデバイスは、RFIDタグまたはバーコードを有するコーヒーカップを含んでよく、キャビネットIoTデバイスは、コーヒーカップがいつキャビネットに置かれ、またはキャビネットから取り出されたかを検出するために、RFIDタグまたはバーコードを読み取ることができる適切なスキャナまたはリーダを有し得る。別の例では、冷蔵庫IoTデバイスは、冷蔵庫IoTデバイスに追加され、もしくはそれから取り出される物品のRFIDタグもしくはバーコードを読み取ることができ、かつ/または、冷蔵庫IoTデバイスに追加され、もしくはそれから取り出される通信していない物理的物体と関連付けられる形状、サイズ、色、もしくは他の観察可能な特徴を検出して、通信していない物理的物体を識別することができる、同様のスキャナまたはリーダ機構を備えていてよい(たとえば、冷蔵庫IoTデバイスは、ライムおよびレモンがある物理的な形状およびサイズを有することを知っていて、その物理的な形状およびサイズを有する追加された物体または取り出された物体がライムであったかレモンであったかを、その物体が緑色であったか黄色であったかに基づいて区別することができる)。さらに別の例では、冷蔵庫IoTデバイスは台所の中に存在し得るので、IoTネットワークと関連付けられる家への訪問者が台所に入り、冷蔵庫IoTデバイスに対して適切な近接の範囲内に来ると、冷蔵庫IoTデバイスが訪問者との出会いおよび/またはそのときに台所の中にいる任意の他の個人を記録することができる。
【００７８】
一実施形態では、上で述べられたように、監督デバイスはこうして、ブロック820において監視された対話および使用に基づいて、ブロック830において、IoTネットワーク内の1つまたは複数のグループ、サブネットワーク、サブセット、または他の適切な区分を作成することができ、ブロック820において監視される対話は一般に、様々なIoTデバイスの間で、IoTデバイスと通信している非IoTデバイスとの間で、IoTデバイスと通信していない物理的物体との間で、通信している非IoTデバイスと通信していない物理的物体との間で、複数の通信していない物理的物体の間で、またはこれらの任意の適切な組合せで発生し得るが、ブロック820において監視される使用は一般に、1つまたは複数のIoTデバイスに、1つまたは複数の通信している非IoTデバイスに、1つまたは複数の通信していない物理的物体に、またはこれらの任意の適切な組合せに関し得る。具体的には、IoTデバイスは、IoTデバイスおよびIoTデバイスと関連付けられる任意の使用に関与する任意の対話に関する関連情報を監督デバイスに通信することができ、監督デバイスは次いで、通信された情報を使用してローカルデータベースを埋めることができる。しかしながら、通信している非IoTデバイスおよび通信していない物理的物体は、それらと関連付けられる対話および使用に関するすべての情報を記憶してはいないことがあるので、監督デバイスは、IoTネットワーク内で通信される他の信号に基づいて関連情報を導出することができる(たとえば、監督デバイスは、通信している非IoTデバイスが監督デバイスに送信するグローバルに一意な識別子からの通信している非IoTデバイスと関連付けられる対話および使用に関する情報、一意な識別子が受信された時間、対話および使用が発生した位置を示し得る情報などを導出することができ、監督デバイスは同様に、IoTデバイスおよび/または通信している非IoTデバイスが監督デバイスに送信する任意の関連情報から、通信していない物理的物体と関連付けられる対話および使用に関する情報を導出することができる)。
【００７９】
一実施形態では、ブロック830において、IoTネットワーク内の1つまたは複数のグループ、サブネットワーク、サブセット、または他の適切な区分を次いで作成するために、監督デバイスは、ローカルデータベースに記憶されている監視された対話および使用に基づいて、IoTネットワークに登録された様々なデバイスおよび物体の間の、明示的な、暗黙的な、事前に定められた、動的な、または他の適切な関係性を決定することができる。より具体的には、いくつかのデバイスまたは物体は、別のデバイスまたは物体に対する明示的な関係性を有するように事前にプログラムされ得る(たとえば、冷蔵庫は、冷蔵庫を所有する人物およびIoTネットワーク中の位置との明示的な関係性を有してよく、たとえば、主要な冷蔵庫は永続的に台所に配置され、二次的な冷蔵庫は永続的に倉庫に配置される)。さらに、監視された対話および使用が、所有者が存在したのと同じ時間に訪問者が台所に入ったことを示すことに応答して、その訪問者を信頼される友人グループに追加するように、訪問者と所有者との間の暗黙的な関係性が自動的に導出され得る。たとえば、監督デバイスは、IoTネットワークにアクセスする、または別様にIoTネットワークに接近する人々を、関係性の階層(たとえば、家族、友人、知人など)へと編成することができる。したがって、監視された対話がある個人と初めて会うことを示すのに応答して、監督デバイスは、ブロック830において、その個人を知人グループに追加することができる。さらに、後続の監視された対話が、ある期間内でのその個人との追加の会合を示すことに応答して、監督デバイスは、ブロック830において、その個人を知人グループから友人グループに昇格することができる。またさらに、IoTネットワークと関連付けられる家の中で、またはある時間帯に、追加の会合が発生した場合(たとえば、所有者および他の個人が頻繁に夜を一緒に過ごしていることを示す)、監督デバイスは、ブロック830において、その個人を家族グループに昇格することができる。
【００８０】
さらに、一実施形態では、ブロック830で作成された様々なグループは、IoTネットワークに登録された物理的デバイスまたは他の物体と関連付けられる区分を同様に作成することができる。具体的には、物理的デバイスおよび他の物体がIoTネットワーク内でどのように使用され対話するかに基づいて、物理的デバイスおよび他の物体は、メディアデバイス、ホームオフィスデバイスなどに区分され得る。たとえば、写真を撮るためにカメラが使用され、カメラから写真をダウンロードするためにコンピュータが使用され、写真を編集し、または写真をオンラインで共有するためにあるアプリケーションがコンピュータにロードされ、その写真が何人かの個人と共有されたことを、対話および使用が示す場合、ブロック830で作成されるグループは、カメラ、コンピュータ、コンピュータアプリケーション、写真が共有された個人、およびダウンロードされた写真自体を含むメンバーを伴う、写真グループを含み得る。別の例では、プロジェクタデバイスが使用されているときは部屋の照明が常に切られている、または弱められていることを、監視された対話および使用が示す場合、ブロック830で作成されたグループは、プロジェクタデバイス、照明、およびプロジェクタが使用され照明が弱められまたは切られていた部屋を含むメンバーを伴う、適切な区分を含み得る。
【００８１】
したがって、ブロック830で作成された様々なグループは、IoTネットワークにおいて観察され、または別様に監視される実際の使用および対話に基づいて、(たとえば、監督デバイスが実行する)機械学習アルゴリズムを使用して動的に形成され得る。このようにして、グループは、あらゆる事前に定義されたセマンティクス構造または言語とは独立に、ブロック830において作成されてよく、それどころか、ユーザの選好および現実世界の活動を反映する方式でコンテキストを学習する動的かつアドホックな方式で、グループを構築する。
【００８２】
さらに、一実施形態では、ユーザは、ブロック830で作成されたグループ構造をカスタマイズし、それによって、ユーザの選好および現実世界の活動をさらに反映するように自動的に学習されたコンテキストを調整し、監督デバイスが後続の対話および使用からコンテキストを学習し得る方法を改善するための能力を、与えられ得る。たとえば、一実施形態では、ブロック830で作成された様々なグループは、ブロック840において(たとえば、監督デバイス上の)ユーザインターフェースを介して提示されてよく、監督デバイスはその後、ブロック850において、ユーザコマンドが受信されたかどうかを判定することができる。したがって、ユーザコマンドがブロック850において受信されなかったと判定したことに応答して、監督デバイスは、IoTネットワークにおける対話および使用を繰り返し監視し(すなわち、ブロック820および後続のブロックに戻り)、機械学習アルゴリズムで使用された基準がグルーピングを作成するために以前に使用されたユーザ選好および現実世界の活動を正確に反映したという仮定のもとで、IoTネットワーク内のグループ、サブセット、サブネットワーク、または他の適切な区分を作成または修正することができる。
【００８３】
一方、ブロック850においてユーザコマンドが受信されたと判定したことに応答して、監督デバイスは次いで、ブロック860においてコマンドを処理することができる。たとえば、一実施形態では、コマンドは、ブロック830で作成されたグループを修正し、かつ/または新たなグループを作成するために使用されてよく、この場合、監督デバイスは、ブロック860において、コマンドに基づいてグループを適切に修正し、かつ/または新たなグループを作成することができる。さらに、コマンドは、IoTネットワーク(たとえば、いくつかのデバイスおよび/または他の物体を含むサブネットワーク)内のいくつかの部分へのアクセスを制御するために使用され得る。たとえば、一実施形態では、コマンドは、IoTネットワーク中のすべてのものに対する完全なアクセス許可を家族グループ中の全員に与え、IoTネットワークの一部分への限られたアクセスをあるグループ中の人々に与え(たとえば、友人グループの全員が、IoTネットワーク全体の中のWi-Fiサブネットワークを使用するのを可能にする、顧客サービスグループの人々が、所有者が休暇中であり得る間にペットに給餌するために冷蔵庫に近づく、または、故障した装置を点検するためにユーティリティルームに近づくことを可能にするなど)、または、精密なアクセス制御をIoTネットワークへ別様に提供する(たとえば、客がアクセスできる特定のサブネットワークを制御する、IoTネットワーク中のデバイスおよび/または他の物体が互いにどのように対話できるか、または使用され得るかを制御するなど)ために、使用され得る。加えて、ブロック860においてコマンドを適切に処理したことに応答して、監督デバイスは、ブロック860において処理されたコマンドで示され得るユーザ選好および現実世界の活動をより正確に反映するようにIoTネットワーク内のグループ、サブセット、サブネットワーク、または他の適切な区分を作成または修正するために、監督デバイスが機械学習アルゴリズムで使用される基準を精緻化し得るという点を除いて、コマンドが受信されなかったときと同様の方式で、IoTネットワークにおける対話および使用を繰り返し監視する(すなわち、ブロック820および後続のブロックに戻る)ことができる。
【００８４】
図8に示される方法800に関する前述の説明は、制御されたIoTネットワーク中のデバイスおよび/または他の物理的物体とは別個のデバイスを監督デバイスが表すことを示すように見えることがあるが、制御されたIoTネットワーク中の特定のIoTデバイスが監督デバイスであり得ること、監督デバイスが制御されたIoTネットワーク中の特定のIoTデバイスに組み込まれ得ること、または、任意の他の適切な構成または配置が使用され得ることを、当業者は理解するであろう。たとえば、一実施形態では、監督デバイスは、いくつかの機能を実装するためにローカルの属性を使用することに加えて、デバイスの制御または管理の動作を実行するコンピュータまたは携帯電話に対応し得る(たとえば、コンピュータは、投影スクリーンのための照明効果を調整しながら、調整された照明効果に適応するようにプロジェクタにストリーミングされるビデオのコントラスト比を出力のために別個に調整するための、監督デバイスであり得る、など)。したがって、前述の説明は、いくつかの信号および他のメッセージが、監督デバイスと、制御されたIoTネットワークを形成するデバイスおよび他の物体との間で交換されることを示し、いくつかの信号またはメッセージが、監督デバイスが制御されたIoTネットワーク中の特定のIoTデバイスに対応する程度にまで省略され得ることを、当業者は理解するであろう。
【００８５】
IoTネットワークにおける監視された対話および使用に基づいてIoTネットワーク内の関連する区分を作成するために使用され得るいくつかの機構に関する背景を上で提供してきたが、以下の説明は、発見された関係性がデバイス間の対話を制御するために利用され得る(たとえば、訪問者および家主が既知の関係性を有する場合に、訪問者が家の中のスピーカーで曲を迅速かつ簡単に再生することを可能にする)ように、デバイス(および拡張としてデバイスを所有するユーザ)間の関係性を発見するためにIoT技術を使用し得る、様々な機構を詳述する。より具体的には、上で述べられたように、様々なIoTデバイスが、検出され、サーバまたは他の適切な監督デバイスに登録され、一般的な語彙を使用して表現され得る様々な属性と関連付けられ得る。たとえば、属性は一般に、IoTデバイスと関連付けられる位置、対話、使用、または他の関連する状態データを記述し得る。さらに、各IoTデバイスは、固有の識別子を割り当てられてよく、他のユーザが所有し得るIoTデバイスを含む他のIoTデバイスとIoTデバイスが有する各対話を記憶するためのローカルデータベースを有してよい。したがって、特定のIoTデバイスが別のユーザと関連付けられるIoTデバイスとより多く対話するほど、IoTデバイスの間で、また結果として、IoTデバイスを所有するユーザの間で、より強い関係性が暗示され、または別様に推測され得る。さらに、関係性と関連付けられる強さおよび/またはタイプはさらに、互いに対話するIoTデバイスと関連付けられるタイプ、対話が発生した位置、対話が発生した時間、または他の適切な要因に従って暗示され、または別様に推測され得る。
【００８６】
一実施形態では、IoTデバイスと、IoTデバイスと関連付けられるユーザとの間の関係性は、明示的なタイプ、暗黙的なタイプ、事前に定義されたタイプ、動的なタイプ、または他の適切なタイプを有することがあり、これらの関係性はさらに、階層的に(たとえば、知人、友人、親友、家族などに従って)編成され得る。あるいは(または加えて)、関係性は、番号を付けられ、または、別の適切なランキング(たとえば、1から5まで、または1から10まで、ここで1は最も弱い関係性であり、5または10は最も強い関係性である)を割り当てられ得る。一実施形態では、2つのIoTデバイスが初めて互いに対話するとき、2つのIoTデバイス間の関係性は最も弱いランキングを与えられてよく、IoTデバイス間のさらなる対話に基づいて、その関係性と関連付けられるランキングは時間とともに上げられ得る。たとえば、2つの異なるユーザ間の最初の対話において、ユーザの所有するそれぞれのIoTデバイスは、対話を記録し、知人の関係性をユーザに割り当てることができる。場合によってはある期間内またはある位置におけるユーザ間の追加の対話の後、IoTデバイスは、ユーザ間の関係性を友人に昇格することができる。対話が家の中で、かつある時間に(たとえば、毎晩)発生する場合、ユーザ間の関係性はさらに家族へと更新されてよい、などである。
【００８７】
一実施形態では、特定のIoTデバイスと関連付けられるタイプおよび/または位置は、2人のユーザ間の関係性を暗示するために利用され得る。この文脈では、IoTデバイスと関連付けられる位置は必ずしも地理的な位置を指さず、むしろ、デバイスと関連付けられるタイプから推測され得る、IoTデバイスが位置し得る部屋または他の個人的空間を指し得る。たとえば、冷蔵庫IoTデバイスが訪問者と関連付けられるIoTデバイスを検出する場合、冷蔵庫は通常は台所に位置するので、訪問者は台所に位置すると推測されてよく、このことにより、初対面の知人は通常は人の台所には入らないので、訪問者と家主は友人の関係性またはより深い関係性を有すると推測され得る。別の例では、IoTデバイスが、IoTデバイスと関連付けられるユーザが仕事中であることを知っている場合、他のIoTデバイスとのあらゆる対話は、それらの対話が頻繁に発生する場合であっても、他のIoTデバイスについてのランクを必ずしも上げなくてよい。むしろ、関係性は知人レベルのままであってよい。しかしながら、IoTデバイスが仕事以外の位置(たとえば、別のユーザの家)において別のユーザと関連付けられる仕事用のIoTデバイスを検出する場合、その位置はユーザが社会的なコンテキストで対話していることを示すので、ユーザ間の関係性は上げられ得る。
【００８８】
さらに、一実施形態では、第1のユーザと関連付けられるIoTデバイスが別のユーザと関連付けられるIoTデバイスと対話する時間が、ユーザ間の関係性を暗示するために利用され得る。たとえば、第1のユーザと関連付けられるIoTデバイスが毎月決められた時間に他のユーザと関連付けられる特定のIoTデバイスを検出する場合、第1のユーザと関連付けられるIoTデバイスは、上記の他のユーザは非常に重要なユーザではないと判定し、したがって、関係性に低いランクを割り当てることができる。しかしながら、第1のユーザと関連付けられるIoTデバイスが毎晩他のユーザと関連付けられるIoTデバイスを検出する場合、第1のユーザと関連付けられるIoTデバイスは、それが重要なユーザであると判定し、したがって、関係性により高いランクを割り当てることができる。最も強く、または最も正確な関係性の判定を行うために、IoTデバイスは、対話と関連付けられるあらゆる関連する判定可能な要因(たとえば、対話と関連付けられる頻度、位置、および時間、互いに対話するIoTデバイスと関連付けられるタイプなど)を利用することができる。その上、関係性ランキングは、IoTデバイスおよび/または関連するユーザ間の検出された対話に基づいて、適切に下げられ得る。たとえば、異なるユーザと関連付けられるIoTデバイスの間で頻繁な対話が検出され、その後、対話が長い期間停止した場合、ユーザ間の関係性が終了したという推測が行われ得る。別の例では、第1のユーザと関連付けられるIoTデバイスが、定期的に第1のユーザの家において特定の訪問者と関連付けられるIoTデバイスを検出し、次いで定期的な訪問が止まった場合、ユーザ間の関係性はより重要ではない関係性へと下げられ得る。
【００８９】
一実施形態では、関係性の階層における各レベルは、1つまたは複数のIoTデバイスおよび/またはIoTデバイスグループへのあるアクセスレベルを割り当てられ得る。たとえば、知人の関係性を有するユーザと関連付けられるIoTデバイスは、低レベルのアクセスを許可され得るが、家族の関係性を有するユーザと関連付けられるIoTデバイスは、(たとえば、ペアレンタルコントロールまたは他の要因に応じて)高レベルのアクセスまたは完全なアクセスを許可され得る。別の例では、友人の関係性を有するユーザと関連付けられるIoTデバイスは、娯楽システム、ローカルワイヤレスネットワーク、家電機器、または、他の適切なIoTデバイスおよび/もしくはIoTデバイスグループにアクセスすることを許可され、アクセスが許可され得るIoTデバイスを再プログラムまたは別様に修正することを禁止され得る。またさらに、親友の関係性を有するユーザと関連付けられるIoTデバイスは、より多くのIoTデバイスおよび/もしくはIoTデバイスグループへのアクセス、ならびに/または、アクセスが許可されるIoTデバイスに対するより大きな制御権を許可され得るが、家族の関係性を有するユーザと関連付けられるIoTデバイスは、すべてのIoTデバイスに対するアクセスおよび完全な制御権を有し得る。
【００９０】
ここで図9を参照すると、IoTデバイス間の関係性を暗黙的に作成するための例示的な方法900は、様々な異なるユーザと関連付けられるIoTデバイスが、IoTデバイスの検出する対話およびIoTデバイスの推測する関係性に関するデータを管理エンティティ(たとえば、図1B〜図1Dに示される監督デバイス130、図1A〜図1Bおよび図1D〜図1Eに示されるIoTデバイス170など)に送信することを伴い得る。管理エンティティは次いで、様々なIoTデバイスから受信された対話データを照合し、照合された対話データを使用して、IoTデバイスと、IoTデバイスと関連付けられるユーザとの間の関係性をさらに推測することができる。たとえば、特定の関係性が照合された対話データに基づいて異なるランクを有するべきであると、管理エンティティが判定する場合、管理エンティティは、IoTデバイスと関連付けられるローカルデータベースに記憶された関係性ランキングを更新するように、適切なIoTデバイスに命令することができる。あるいは、一実施形態では、IoTデバイスは、他のIoTデバイスとの対話についてのデータを記憶し、対話データを管理エンティティに送信するだけでよく、管理エンティティは次いで、関係性を推測し、管理エンティティの推測した関係性をIoTデバイスが使用して他のIoTデバイスと関連付けられる許可されたアクセスを制御できるように、推測された関係性についてIoTデバイスに通知することができる。
【００９１】
したがって、一実施形態では、図9に示される方法900は特定のIoTデバイスにおいて実行されてよく、または、管理エンティティが代替的に(または追加で)方法900を実行してよい。さらに、本明細書で説明される態様は、他のIoTデバイスを検出でき他のIoTデバイスと対話でき、他のIoTデバイスと関連付けられる関係性を割り当て、または別様にランク付けでき、他のIoTデバイスが有し得る許可されるアクセス権を関係性に基づいて決定できる、IoTデバイスを管理エンティティが含み得るという点で、管理エンティティにさらに適用される。
【００９２】
一実施形態では、ブロック910において、第1のユーザと関連付けられるIoTデバイスは、別のユーザに属するIoTデバイスとの対話を検出し、他のIoTデバイスを少なくとも一意に識別するのに十分な情報を他のIoTデバイスから取得することができる。したがって、IoTデバイスは、他のIoTデバイスと関連付けられるユーザ識別子が対話を検出したIoTデバイスと関連付けられるユーザ識別子とは異なると判定したことに応答して、同じユーザに属さないと判定することができる。あるいは、IoTデバイスは、第1のユーザが所有する各IoTデバイスと関連付けられる識別子をレジストリに記憶し、レジストリ中で現れる識別子を他のIoTデバイスが有さない場合、他のIoTデバイスは同じユーザに属さないと判定することができる。
【００９３】
一実施形態では、ブロック920において、第1のユーザと関連付けられるIoTデバイスは、他のIoTデバイスと関連付けられる任意の決定可能な属性および他のIoTデバイスとの対話を記録することができる。たとえば、記録される属性は、とりわけ、他のIoTデバイスと関連付けられる識別子、他のIoTデバイスと関連付けられるタイプ、対話が発生した時間、対話が発生した位置および個人的空間(たとえば、第1のユーザの仕事場の中、外、または仕事場において、第1のユーザの家において、家の中の部屋など)を含み得る。加えて、対話と関連付けられる属性は、他のIoTデバイスが、IoTデバイスへのアクセスを要求したか第1のユーザと関連付けられる別のIoTデバイスへのアクセスを要求したか、IoTデバイスが何に対するアクセスを要求したか、などを示し得る。さらに、IoTデバイスが管理エンティティと異なる場合、IoTデバイスは、ブロック920で記録された属性を管理デバイスに適切に送信することができる。
【００９４】
一実施形態では、ブロック930において、IoTデバイスは、以前に記録された対話と関連付けられる属性および/または現在の対話と関連付けられる記録された属性に基づいて、他のIoTデバイスと関連付けられる関係性ランキングを更新するかどうかを判定することができる。たとえば、現在の対話が、回数または他のIoTデバイスとの対話の頻度を閾値を超えて増やす場合、IoTデバイスは、ブロック940において、他のIoTデバイスと関連付けられる関係性ランキングを上げることができる。別の例では、現在の対話が、第1のユーザの家における最初の対話に対応する場合、IoTデバイスは、ブロック940において、他のIoTデバイスと関連付けられる関係性ランキングを同様に上げることができる。さらに別の例では、現在の対話が、ある閾値を超える期間における最初の対話に対応する場合、IoTデバイスは、ブロック940において、他のIoTデバイスと関連付けられる関係性ランキングを下げることができる。したがって、他のIoTデバイスと関連付けられる関係性ランキングがブロック930において更新されるべきであるとIoTデバイスが判定する場合、IoTデバイスは、ブロック940において関係性ランキングを適切に更新することができる。
【００９５】
一実施形態では、ブロック950において、IoTデバイスは、(たとえば、アクセスを要求するメッセージが他のIoTデバイスから受信されたことを示す、ブロック920で記録された属性に基づいて)他のIoTデバイスがIoTデバイスへのアクセスを要求しているか、第1のユーザと関連付けられる別のIoTデバイスへのアクセスを要求しているかを判定することができる。他のIoTデバイスがIoTデバイスまたは第1のユーザと関連付けられる別のIoTデバイスへのアクセスを要求したと判定したことに応答して、IoTデバイスは、他のIoTデバイスに割り当てられた関係性と関連付けられるランキングに従って、ブロック960において他のIoTデバイスと関連付けられるアクセスを制御することができる(たとえば、完全なアクセスを承認する、限られたアクセスを承認する、アクセスを拒否するなど)。
【００９６】
一実施形態では、ブロック970において、IoTデバイスは次いで、IoTデバイスが管理エンティティに対応しなければ、検出された対話に関するデータを管理エンティティへ任意選択で送信することができる。たとえば、管理エンティティに送信される対話データは、他のIoTデバイスおよび対話と関連付けられる記録された属性、他のIoTデバイスと関連付けられる関係性に対する任意の更新もしくは他の変更、アクセスが要求されたかどうかに関する指示、および/または、任意のアクセスが承認もしくは拒否される範囲を含み得る。
【００９７】
本開示の一態様によれば、異なる性格および挙動パターンを各々有する可能性があり得る多くのIoTユーザがいるので、以下の説明は、実現可能な程度に多くのユーザに適用される、関係性を分類するために使用され得る尺度を有利に決定し得る、様々な機構を詳述する。たとえば、ユーザの性格および対話の強さと関連付けられる様相が、関係性を分類するときに考慮されてよく、関係性は、すべてのユーザに一律に適用される規定された数ではなく、ある割合のユーザの対話に基づき得る。具体的には、各IoTデバイスは、固有の識別子を割り当てられてよく、IoTデバイスが他のIoTデバイスと有する各対話に関する情報を記憶するローカルデータベースを有し得る。あるいは、集中的なサーバ、プロキシ、または他の適切なエンティティが、IoTデバイス間の対話に関する情報を記憶することができる。たとえば、家庭では、トースタが、家の住人と照明スイッチとの間のすべての対話を記憶し得る。
【００９８】
一般に、第1のユーザと関連付けられる特定のIoTデバイスが別のユーザと関連付けられる1つまたは複数のIoTデバイスとより多くの回数対話するほど、ユーザ間の暗示される関係性は強くされ得る。関係性ランクは、弱くされることもある。たとえば、2人のユーザによる頻繁な会合をIoTデバイスが検出し、それらの会合が長い期間止まった場合、IoTデバイスは、ユーザ間の関係性が終了したと推測することができる。別の例では、IoTデバイスが、定期的にユーザの家において特定の訪問者を検出し、次いでその定期的な訪問が止まった場合、IoTデバイスは、関係性がより重要ではない関係性に変化したと判定することができる。しかしながら、2つのIoTデバイス間の対話が停止した、またはより稀になったすべての場合が、関係性ランクの低下をもたらすことになるとは限らない。むしろ、以前の対話が、将来のより低頻度の対話を、より関連のあるものにすることがある。たとえば、2人のユーザが隣人であり良い友人であり得るが、1人が転居することがあり、これは、ユーザ間の対話の数の減少(および高い確率で、対話のタイプの変化)をもたらす。ある将来の時点で、ユーザの1人が再び他方のユーザの近くに移ることがある。そのような状況では、ユーザは互いを探し出して、以前の親密な関係性を再び確立し、または続ける可能性が高い。したがって、この関係性は、以前に下げられていた場合は、再びより高いランクを与えられるべきである。いずれの場合でも、関係性の強さおよび/またはタイプは、IoTデバイスのタイプおよび/もしくは位置、ならびに/または対話の時間にも基づき得る。これらの要因に基づいて、IoTデバイスは、ユーザ間の暗示される関係性を決定することができる。一実施形態では、IoTデバイス間の対話は、近接の検出、テキストメッセージ、マルチメディアメッセージ、通話、電子メールなどであり得る。近接の検出は、Listen Location(LILO)近接確認のような近接確認、Bluetooth（登録商標）ペアリング、同じローカルワイヤレスネットワークを通じた通信、または、互いに近接していることを示す2つのUE間の任意の他の対話を含み得る。代替的に、または追加で、サーバは、サーバに記憶されているIoTデバイスの位置に基づいて、2つ以上のIoTデバイスが互いに近接していると判定することができる。たとえば、IoTデバイスは、自身の位置をサーバに定期的に(たとえば、数分ごと、1時間に数回など)送信することができ、サーバは、受信された位置を比較して、どのIoTデバイスが互いに閾値の距離以内にあるかを決定することができる。閾値は、数メートル、または、互いに対話しているユーザにIoTデバイスが属する可能性が高いことを示す何らかの他の閾値であり得る。
【００９９】
一実施形態では、IoTデバイスの対話は、IoTデバイスにおける1つまたは複数の対話テーブルに記憶され、定期的に(たとえば、数時間ごと、1日に1回など)、または要求に応じてサーバにアップロードされ得る。あるいは、対話は、発生するにつれてリアルタイムでサーバにアップロードされ、サーバ上の対話テーブルに追加され得る。この場合、IoTデバイス上には対話テーブルはなくてもよい。各ユーザは、ユーザ対話テーブルがどのように記憶されることを望むかを決めることができる。たとえば、一部のユーザは、自分のIoTデバイスにユーザ対話テーブルを記憶して、ユーザ対話テーブルを、または必要に応じて必要なエントリだけをサーバに要求させることを望むことがあるが、他のユーザは、サーバに記憶されている遠隔の対話テーブルへ対話を単にアップロードすることを望むことがある。対話テーブルは、対話テーブルが対応するIoTデバイスの識別子によって編成され得る。対話テーブルは、ユーザの識別子、ユーザのIoTデバイスの識別子、他のユーザの識別子、他のユーザのIoTデバイスの識別子、対話のタイプ(たとえば、近接、電子メール、テキストメッセージ、通話など)、対話の位置、可能であれば、対話の時間および/または長さ(たとえば、対話が開始/終了した時間)を記憶することができる。1人のユーザが、多数のIoTデバイスと関連付けられることがある。対話テーブルは、IoTデバイスの寿命(すなわち、IoTデバイスが同じユーザによって使用されている時間)にわたって発生する各IoTデバイスに対するすべての対話を、または、昨年の対話または最後の1000回の対話のような、ある数の対話のみを、記憶することができる。
【０１００】
一実施形態では、対話テーブル中のデータを分析するための適切な期間が決定され得る。たとえば、周期的な期間を使用する場合、IoTデバイスまたは他のサーバは、24時間の期間、1カ月の期間、または1年の期間などにわたる対話を分析することができる。また、24時間のような周期的な期間を使用する場合、IoTデバイスまたはサーバは、時間23が時間0に移行することを確実にしなければならない。あり得る時間構成のすべてが、位置のパターンを検索するために使用され得る。たとえば、ユーザが、毎週日曜日のAM 11:00からPM 3:00までモールにいる、または、平日のAM 9:00からPM 5:00まで自分のオフィスにいると仮定する。第1の解決法として、(たとえば、本出願の譲受人に譲渡され、参照によって全体が本明細書に明確に組み込まれる、「NORMALIZING LOCATION IDENTIFIERS FOR PROCESSING IN MACHINE LEARNING ALGORITHMS」という表題の米国仮特許出願第61/901,822号で説明される技法に従って)IoTデバイスまたはサーバは、遷移テーブルを構築し、遷移テーブル中の遷移距離を使用して、遷移テーブル中の遷移距離に基づくクラスタ分析を使用してデータ入力を互いに比較することができる。別の解決法では、IoTデバイスまたはサーバは、sin関数を使用して時間の周期的な関係を作成することができ、各sin関数は、現在の24時間の時計の時間に基づいて再構築され得る。たとえば、関数y = sin(x/7.5 + j/12)は、24時間の時計を反映する周期的な関係を作り出すことができ、ここでx = 1つの入力時間、j = 2回目の入力時間、およびy = 2回の間の距離である。図10は、関数y = sin(x/7.5 + j/12)のグラフ1000を示す。
【０１０１】
一実施形態では、記憶された対話テーブルを使用して、IoTデバイスは、対話テーブルに記載された他の各ユーザに関係性の値を割り当てることができる。あるいは、サーバが対話テーブルを記憶する場合、サーバは関係性の値を割り当てることができる。したがって、ユーザの間の対話の数に基づいて関係性を単に割り当てるのではなく、本開示の様々な態様は、関係性を分類するときに、ユーザの性格の様相および対話の強さを考慮することができる。たとえば、関係性は、すべてのユーザに一律に適用される規定された数ではなく、ある割合のユーザの対話に基づいてよい。すなわち、閾値の割合のユーザの対話が同じ他のユーザとのものであるとき、閾値の割合の対話がある位置で(たとえば、ユーザの家で)発生するとき、閾値の割合の対話が所与のタイプ(たとえば、近接の検出)であるとき、閾値の割合の対話がある時間に(たとえば、夜に、または仕事中以外に)発生するときなどに、家族という関係性が割り当てられ得る。さらに、関係性の階層がIoTデバイスのユーザに割り当てられ得る(たとえば、知人、同僚、ゴルフ仲間、友人、親友、家族など)。あるいは、関係性は、1から5まで、または1から10までの番号を付けられてよく、ここで、たとえば1は最も弱く、5または10は最も強い。2つのIoTデバイスによる最初の会合において、関係性は最低のランキングを割り当てられ得る。時間とともに、IoTデバイスまたはサーバは、IoTデバイス間のさらなる対話に基づいて、暗示される関係性を上げることができる。
【０１０２】
一実施形態では、近接対話、それらが発生する位置、それらが発生する頻度、それらが発生する時間、および場合によってはそれらの長さが、関係性を決定する際に特に関連がある。最も強い、または最も正確な関係性の決定を行うために、IoTデバイスは、対話の決定可能な要因のすべてを利用することができる。たとえば、特定の位置において頻繁に一緒にいる(すなわち、互いに近接している)ユーザは、友人または家族である可能性が高い(たとえば、一緒に頻繁に買い物に行く2人のユーザは親友であると考えられ得る)。IoTデバイスまたはサーバは、2人のユーザがショッピングセンターにいる間に閾値の期間互いに閾値の近接の範囲内にいることを検出することによって、2人のユーザが一緒に買い物をしていると判定することができる。IoTデバイスは最初に、友人という関係性をそれらのユーザに割り当てることができ、次いで、閾値の回数の買い物または他のそのような対話(たとえば、レストラン、ナイトクラブ、社交行事などに行くこと)の後で、それらのユーザを親友へと昇格することができる。
【０１０３】
一実施形態では、ユーザのIoTデバイスが別のIoTデバイスと対話する時間は、ユーザ間の関係性を暗示するために利用され得る。たとえば、ユーザのIoTデバイスが毎月ある設定された時間に特定のIoTデバイスを検出する場合、IoTデバイスは、それが非常に重要な関係性ではないと判定し、低いランクをその関係性に割り当てることができる。しかしながら、IoTデバイスが毎晩上記の他のIoTデバイスを検出する場合、IoTデバイスは、それが重要な関係性であると判定し、より高いランクをその関係性に割り当てることができる。たとえば、2人以上のユーザが、(ある閾値よりも長い)ほぼ同じ長さの時間、毎晩ほぼ同じ時刻に同じ部屋に頻繁に一緒に集まる場合、彼らは一緒に夕食をとっている可能性が高く、家族であると考えられ得る。同様に、別のユーザがその時間にユーザのこのグループに時折加わる場合、そのユーザは、親友または家族の一員である可能性が高く、そのユーザの関係性ステータスはそれに従って昇格され得る。一方、他のタイプの位置において頻繁に一緒にいるユーザは、比較的長い時間一緒にいるとしても、友人または家族ではないことがある。たとえば、ユーザが仕事中であることをユーザのIoTデバイスが知っている場合、他のIoTデバイスとの任意の会合は、それが頻繁に発生したとしても、その関係性に割り当てられるランクを必ずしも上げないことがある。むしろ、関係性は知人レベルのままであってよい。しかしながら、ユーザのIoTデバイスが、仕事以外の位置で仕事のIoTデバイスを検出する場合、ユーザ間の関係性は上げられ得る。たとえば、仕事のIoTデバイスがユーザの家で検出される場合、ユーザ間の関係性は友人へと上げられ得る。
【０１０４】
一実施形態では、2つのIoTデバイスのタイプおよび/または位置は、それらの2人のユーザ間の関係性を暗示するためにも利用され得る。IoTデバイスの位置は、その地理的位置を必ずしも指さず、IoTデバイスが位置する部屋のタイプを指し得る。これは、たとえば、デバイスのタイプから推測され得る。たとえば、冷蔵庫は通常台所に位置する。したがって、冷蔵庫IoTデバイスが異なるユーザ(たとえば、訪問者)のIoTデバイスを検出する場合、これは訪問者が台所の中にいることを意味し、知人は通常は人の台所に入らないので、冷蔵庫IoTデバイスは、その訪問者が友人またはそれ以上の家主との関係性を有すると暗示し得る。したがって、IoTデバイスが日々対話するにつれて、関係性のグルーピングがデバイスのコンテキストアウェアネスに基づいて導出されてよく、ここで、コンテキストはグループによって定義され、グループは暗黙的な関係性によって定義される。いくつかの場合、2つ以上の関係性、たとえば友人およびゴルフ仲間が、同じユーザに割り当てられ得る。これらのグループを識別し、その後、時間的かつ空間的に分離することによって、システムはユーザにとってより価値のあるものになり得る。したがって、ユーザおよびユーザの対応する対話は、必ずしも単独で定義されない。むしろ、各ユーザはコンテキストにおいて定義され得る。たとえば、ある人物は2人のユーザ、すなわち父親であるユーザA、および夫であるユーザBであり得る。その人物が父親としてのユーザAのコンテキストで活動しているとき、その人物の対話は、その人物が夫としてのユーザBのコンテキストで活動しているときとは異なるように解釈され得る。
【０１０５】
本開示の様々な態様によれば、図11Aは、IoTデバイス間の関係性を暗黙的に作成できる、例示的な方法1100Aを示す。図11Aに示される方法1100Aは、IoTデバイス110、112、114、116、118、120、200、または300のような、IoTデバイスによって実行され得る。あるいは、図11Aに示される方法1100Aは、監督デバイス130のような監督デバイス、またはIoTサーバ170のようなサーバによって実行され得る。本明細書で説明される態様はまた、監督デバイスが、訪問者のIoTデバイスを検出しそれと対話し、関係性ランクをそれに割り当て、関係性ランクに基づいてそれにアクセスを承認することができるという点で、監督デバイスに適用可能である。
【０１０６】
一実施形態では、ブロック1110において、第1のユーザデバイスと第2のユーザデバイスとの間の対話が検出される。第1のユーザデバイスは、図11に示される方法1100Aを実行するIoTデバイスであり得る。この検出は、第1のユーザデバイスが第2のユーザデバイスに近接していることを検出することを含み得る。第1のユーザデバイスは、それが第2のユーザデバイスに近接していることを検出することができ、または、方法1100Aがサーバによって実行されている場合、サーバは、第1のユーザデバイスおよび第2のユーザデバイスから受信された位置情報に基づいて、第1のユーザデバイスが第2のユーザデバイスに近接していることを検出することができる。
【０１０７】
一実施形態では、ブロック1120において、対話に関する情報が、第1のユーザデバイスと関連付けられる第1の対話テーブルに記憶される。対話テーブルは、第1のユーザデバイスに記憶されてよく、またはサーバが図11Aに示される方法1100Aを実行している場合、サーバに記憶されてよい。情報は、対話のタイプ、対話の位置、対話の時間、対話の時間長、対話の頻度、第1のユーザデバイスの識別子、第1のユーザデバイスのユーザの識別子、第2のユーザデバイスの識別子、または第2のユーザデバイスのユーザの識別子の、1つまたは複数を含み得る。対話のタイプは、近接の検出、ショートメッセージングサービス(SMS)メッセージ、マルチメディアメッセージングサービス(MMS)メッセージ、通話、または電子メールの1つを含み得る。
【０１０８】
一実施形態では、ブロック1130において、関係性識別子が、対話に関する情報に少なくとも一部基づいて、第2のユーザデバイスのユーザに割り当てられる。関係性識別子は、第2のユーザデバイスのユーザに対する第1の対話テーブル中のエントリに追加され得る。ブロック1130において発生する割当ては、第2のユーザデバイスのユーザに属する1つまたは複数のユーザデバイスとの複数の対話に基づいて、関係性識別子を第2のユーザデバイスのユーザに割り当てることを含み得る。複数の対話についての情報は、第1の対話テーブルに記憶され得る。複数の対話は、閾値の期間内に発生する、同時に発生する、同じ位置で発生する、閾値の時間長を有する、閾値の頻度を有する、および/または同じ対話のタイプを有する、複数の対話を含み得る。加えて、一実施形態では、ブロック1130で発生する割当ては、第2のユーザデバイスのユーザの関係性識別子を更新することを含み得る。
【０１０９】
本開示の別の態様によれば、図11Bは、様々なIoTデバイスと関連付けられる位置および対話を追跡し、ユーザ固有の、場合によっては非対称的なIoTデバイス間の関係性を発見するために使用され得る、例示的な方法1100Bを示す。具体的には、図11Aに示され上でさらに詳細に説明された方法1100Aは、IoTデバイス間の対話に基づいて、IoTデバイス間の関係性を暗黙的に作成し得るが、関係性は通常は複雑であり、(たとえば、ある位置での、ある時間における、など)同時の発生が常に、異なるユーザ間の実際の関係性を示すとは限らない。たとえば、2人の人物が互いに頻繁に対話しているがそれでも友人ではないことがある。加えて、一部の関係性は非対称的であることがあり、このとき、第1の人物(デービッド)は別の人物(ジョン)を良い友人であると考えていることがあるが、ジョンはデービッドをただの知人であると考えている。したがって、本明細書でさらに詳細に説明されるように、図11Bに示される方法1100Bは、様々なIoTデバイスと関連付けられる位置、対話、使用、および他の関連する状態データに基づいて、異なるユーザ間の関係性における非対称性を推測するために使用されてよく、これは、異なるIoTデバイスが互いにどのように対話するかを決定する、または別様に制御する際に有用であることが判明し得る。たとえば、上で与えられた場合では、追跡された位置、対話、使用、および他の関連する状態データが実際に、デービッドがジョンをさほど好きではないことを示すことがあり、その知識が、デービッドおよびジョンの所有するIoTデバイス間のその後の対話を制御するために利用され得る。加えて、特定の対話が発生する位置を占めるユーザを追跡することが、さらなる関係性の情報を導くために使用され得る。たとえば、ジョンがデービッドのクラスタ化された空間に頻繁に来るが、デービッドはジョンのクラスタ化された空間にほとんど現れない場合、その非対称性が、デービッドとジョンとの間の関係性についてのさらなる情報を学習するために使用され得る。
【０１１０】
より具体的には、ブロック1150において、様々な登録されたIoTデバイスが、IoTデバイスと関連付けられる位置および対話に関するデータをサーバに送信することができ、サーバは、IoTデバイスと関連付けられる位置およびIoTデバイス間の対話を追跡し、各IoTデバイスから受信された位置および対話データを他のIoTデバイスから受信された位置および対話データと比較して、ユーザ固有の関係性を決定することができる。一実施形態では、追跡されサーバに記憶される位置および対話データは、ある類似性(たとえば、使用パターンの類似性、位置の一致など)を特定するために、ある間隔で(たとえば、毎日)処理され得る。したがって、サーバは、ブロック1155で現在の追跡期間が終了したかどうかを判定し、続いて、現在の追跡期間が終了したと判定したことに応答して、追跡された位置および対話データを処理することができる。それ以外の場合、サーバは、現在の追跡期間が終了するまで、ブロック1150において、登録されたIoTデバイスから位置および対話データを受信し続けることができる。
【０１１１】
一実施形態では、現在の追跡期間が終了したと判定したことに応答して、サーバは、様々なIoTデバイス間での同様のパターンまたは位置の重複を特定するために、ブロック1160において、最新の追跡期間に受信された位置および対話データを事前処理することができる。具体的には、サーバは一般に、毎日、または、最新の追跡期間に受信された新たな位置および対話データに基づく別の周期的な間隔で、追跡された位置および対話データを処理することができる。したがって、任意の特定の追跡期間に追跡される位置および対話データは、付加的な方式で、以前の追跡期間に追跡された位置および対話データの上に構築され得る。
【０１１２】
一実施形態では、ブロック1160において発生する事前処理は、最新の追跡期間において各IoTデバイスから報告されたすべての位置および対話データと、(可能であれば)特定の各IoTデバイスと関連付けられるディレクトリにおいて以前に処理されたすべての位置および対話データとを記憶することを含み得る。一実施形態では、特定の追跡期間からの位置および対話データが次いで取り出され、適切なフォーマットを有さないあらゆるデータを除去するためにフィルタリングされ得る。ブロック1160において発生する事前処理はさらに、各IoTデバイスと関連付けられる遷移テーブルを構築して、あらゆる関連する状態変化(たとえば、2つのIoTデバイス間の変化した関係性)を定義することができる。さらに、ブロック1160において、サーバは、共通のディレクトリまたは他の適切なリポジトリに、すべての追跡されたIoTデバイスと関連付けられる位置および対話データを記憶し、追跡された各IoTデバイスを特定するデバイスリストを作成することができる。現在の追跡期間からの事前処理された位置および対話データは次いで、各IoTデバイスと関連付けられる、他の以前に処理された位置および対話データとともに記憶され得る。
【０１１３】
一実施形態では、現在の追跡期間からの位置および対話データを事前処理したことに応答して、サーバは、ブロック1165において、位置および対話データが関係性を決定するために以前に分析されたかどうかを判定することができる。分析されていれば、ブロック1170において、最新の決定された関係性クラスタが取り出され、現在の反復において関係性を更新または別様に決定するために使用され得る。それ以外の場合、位置および対話データが以前に分析されていない(すなわち、現在の反復が最初の反復である)場合、以前に決定された取り出すべき関係性クラスタがまったくないことがあるので、ブロック1170は省略され得る。さらに、古いデータに従って動作するのを避け、より新しい位置およびより新しい対話により大きな重要性を与えるために、ブロック1170で取り出された関係性クラスタは、特定の期間内(たとえば、先月)に決定された関係性クラスタに限定され得る。
【０１１４】
一実施形態では、ブロック1175において、サーバは次いで、任意の関連する構成パラメータを設定し、現在の追跡期間からの事前処理された位置および対話データ(および/またはブロック1170で取り出されている可能性のある任意の以前に決定された関係性クラスタ)を使用して、適切な統計的技法に従って位置および対話データを複数の支配的なグループへとクラスタ化することができる。支配的なグループへとクラスタ化された関係性データは次いで、ブロック1180において、ユーザ固有のクラスタ表現を導出するために分析されてよく、ユーザ固有のクラスタ表現は次いで、ブロック1185において、追跡されたIoTデバイス(およびそれと関連付けられるユーザ)の間のユーザ固有の関係性識別子を割り当てるために使用され得る。たとえば、一実施形態では、各入力と関連付けられる位置は、導出されたx軸およびy軸の上にプロットされてよく、ブロック1180で導出されたユーザ固有のクラスタ表現は、追跡されたIoTデバイスおよびそれらと関連付けられるユーザの間の、任意の非対称的な関係性を含む関係性を学習し分類するのを助けるものと見なされそのために分析され得る、適切なグラフ描画ユーティリティ(たとえば、gnuplot)を使用してプロットされ得る。
【０１１５】
本開示の様々な態様によれば、図12Aは、IoTネットワークにおける関係性を発見し、構成し、利用するために使用され得る例示的なアーキテクチャ1200を示し、図12Bは、図12Aに示されるアーキテクチャ1200におけるコンポーネント間の例示的な対話を示す。具体的には、図12Aに示されるアーキテクチャ1200は一般に、適切なIoTデバイスにおいて実装されてよく、とりわけ、近接に基づくP2P通信をサポートできIoTネットワークにおける関係性を発見し、構成し、利用できるセキュリティモジュール1215を含み得る、ピアツーピア(P2P)プラットフォーム1210と、IoTネットワークで利用され得る関係性を表し得る関係性グラフ1224を、関係性グラフ1224で表される何人かのユーザがどの活動または他の挙動を実行することが許可されるかを定義し得る適応挙動モジュール1228に加えて含み得る、信用モデル1220と、関係性グラフ1224で表される何人かのユーザまたはいくつかのユーザグループに割り当てられる許可を制御し、それによって、関係性グラフ1224から導出される信用レベルに基づいて情報を共有しまたはデバイスにアクセスするために使用され得る、機能アクセスアプリケーション1230と、機構に従っていくつかの主要な動作をサポートし得るデバイスドライバ1235(たとえば、相手先ブランド名製製造業者(OEM)が提供し得るデバイスドライバ1235)とを含み得る。
【０１１６】
一実施形態では、上で述べられたように、信用モデル1220は一般に、ある信用レベルを有し得る1人または複数のユーザまたはユーザグループを定義し、1人または複数のユーザまたはユーザグループ間の関係性をさらに定義するための、関係性グラフ1224を含み得る。さらに、適応挙動モデル1228は、関係性グラフ1224において定義されるユーザまたはユーザグループが「何」について信用されているかを定義することができ、これによって、信用モデル1220は、ユーザ(または人々)の間の関係性と、被制御者デバイスとの対話に関する挙動パターンとを自動的に特定することができる。たとえば、図12Bを参照すると、「所有者」のユーザと関連付けられる関係性グラフ1224は、ある信用レベルを有するユーザまたはユーザグループを表すために様々なノードを含んでよく、図12Bに示される関係性グラフ1224は、「ジル」、「ジョン」、「ジム」、「メアリー」、「ジャック」、および「スーザン」と名付けられたユーザを表すためのノードを含む。この状況では、経時的に発生する対話パターンに基づいて、「ジャック」および「スーザン」は家族の一員であると見なされ得るので、「家族」グループに含まれてよく、機能アクセスアプリケーション1230は、テレビおよび空調機ユニットに対して異なるユーザが有し得るアクセス権を定義する許可セットを含む。たとえば、テレビの許可セットは、すべてのユーザを、テレビを制御するための許可を承認する信用プロファイルと関連付け得るが、テレビを使用して番組を録画するための許可を承認する信用プロファイルとは、家族のメンバーのみが関連付けられ得る。同様の様相で、空調機の許可セットは、家族グループ中のユーザを、暖房または冷房を行うように空調機ユニットを設定し、空調機のファンを高速または低速に設定するための許可を承認する、冬および夏の信用プロファイルと関連付けることができるが、友人グループ中のユーザは、ファンの速度を設定するための許可を承認することなく暖房を行うように空調機を設定するための許可を承認する、暖房の信用プロファイルのみと関連付けられ得る。したがって、機能アクセスアプリケーション1230を使用して定義される許可セットは、信用モデル1220で定義される関係性およびそれぞれのユーザと関連付けられるグローバルに一意な識別子(GUID)に従ってユーザを異なるアクセスレベルへと変換する、それぞれのセキュリティ設定1215A〜1215Cに割り当てられ得る。
【０１１７】
本開示の様々な態様によれば、図13A〜図13Cは、IoTネットワークにおける関係性を利用し得る(たとえば、図12Aに示されるアーキテクチャ1200と、図12Bに示されるようなアーキテクチャ1200中のコンポーネント間の例示的な対話とを使用する)例示的な対話を示す。具体的には、図13Aに示される対話は一般に、図12Aに示される信用モデル1220とは独立に、IoTネットワークにおける関係性を利用し得るが、図13Bおよび図13Cに示される対話は、信用モデル1220を使用して関係性を利用することができる。
【０１１８】
たとえば、図13Aを参照すると、ジルが代表制御者デバイス1310を所有し、さらに被制御者デバイス1340を所有し、一方でジャンが訪問制御者デバイス1330を所有する。一実施形態では、セキュリティブリッジ1350が、被制御者デバイス1340と関連付けられる紹介告知をブロードキャストすることができ、被制御者デバイス1340は、紹介告知を検出し、ローカルバスノード1342(たとえば、図6〜図7に示されるようなローカルバスノードに対応する)に紹介告知をブロードキャストさせる、アプリケーション1344(たとえば、図6〜図7に示されるようなローカルエンドポイントに対応する)を含み得る。したがって、ジルの代表制御者デバイス1310上のアプリケーション1314は、同様の方式で紹介告知を検出し得るので、ジルの代表制御者デバイス1310は、対象のコントローラを見つけることができ、ジルの代表制御者デバイス1310上のローカルバスノード1312と被制御者デバイス1340上のローカルバスノード1342との間で(たとえば、それらと関連付けられるそれぞれのGUIDの間で)セキュアなセッションが確立され得る。ジルがジャンに被制御者デバイス1340へのアクセスを承認することを決める場合、ジルの代表制御者デバイス1310上のアプリケーション1314は次いで、被制御者デバイス1340からの許可および役割リストを要求することができ、被制御者デバイス1340は次いで、その許可および役割リストを、ジルの代表制御者デバイス1310上のアプリケーション1314に返すことができる。ジルの代表制御者デバイス1310上のアプリケーション1314は次いで、ジャンに承認する許可または役割を選択するようにジルに促し、ジルがジャンに承認した許可または役割について被制御者デバイス1340に通知することができる。被制御者デバイス1340は次いで、ジャンと関連付けられるGUIDのもとにある承認を記録し、ジルの代表制御者デバイス1310上のアプリケーション1340に肯定応答を返すことができる。
【０１１９】
一実施形態では、セキュアなセッションが次いで、ジャンの訪問制御者デバイス1330上のローカルバスノード1332と、被制御者デバイス1340上のローカルバスノード1342との間で(たとえば、それらと関連付けられるそれぞれのGUIDの間で)確立されてよく、ジャンは、セキュアな接続を介して被制御者デバイス1340にアクセスすることを試み得る。したがって、被制御者デバイス1340は、ジャンのGUIDが検証されているかどうかを判定することができ、ジャンのGUIDが以前に検証されていない場合には、ローカルバスノード1342を介してジャンの訪問制御者デバイス1330上のアプリケーション1334にメッセージを送信することができる。ジャンのGUIDの検証を求めるメッセージに応答して、ジャンの訪問制御者デバイス1330上のアプリケーション1334と認証エンティティ1360(たとえば、OpenIDプロバイダ)との間で、1つまたは複数の認証ステップが実行され得る。したがって、ジャンのGUIDは認証されてよく、ジャンは次いで、自身の訪問制御者デバイス1330上のアプリケーション1334を使用して、(たとえば、被制御者デバイス1340がサーモスタット、空調機ユニット、または他の温度制御デバイスに対応する場合)温度を変えるためのセキュアな呼出しを開始することができる。被制御者デバイス1340は次いで、ジャンが温度を変えるための許可を有するかどうかを確認し、以前に記録された承認が温度を変えるための許可を含まない場合、ジャンの訪問制御者デバイス1330上のアプリケーション1334に、未認証ステータスを返すことができる。それ以外の場合、すなわち以前に記録された承認が温度を変えるための許可を含まない場合、被制御者デバイス1340上のローカルバスノード1342は、適切なアプリケーション1344と通信して、温度変更のメソッド呼出しを実行し、次いで、ジャンの訪問制御者デバイス1330上のアプリケーション1334に、肯定応答と任意の適切な戻り値とを送信することができる。
【０１２０】
図13Bをここで参照すると、図13Bで示される対話は全般に、家族グループに含まれるジルとジャックとの間の既知のまたは学習された関係性を適用するために信用モデル1320が利用され得ることを除き、図13Aについて上で説明された対話と同様であり得る。したがって、ジルは、自分の機能アクセスアプリケーション1330を使用してGetFamily()メソッド1322を呼び出し、家族グループ中の各メンバーと関連付けられるGUIDを要求することができ、これによって、ジルは、個々のユーザに承認する許可または役割を選択するのではなく、家族グループに承認する許可または役割を選択することができるので、家族グループ中の各メンバーと関連付けられるGUIDに承認する許可または役割を選択することができる。同様に、個々のユーザと関連付けられるGUIDのもとにある承認を記録するのではなく、被制御者デバイス1340は、各家族メンバーと関連付けられるGUIDのもとにある承認を記録することができる。このようにして、ジルは、機能アクセスアプリケーション1330を使用して、家族のメンバーを特定し、現在家族グループのメンバーである、かつ/または今後家族グループのメンバーになり得るすべてのユーザと関連付けられ得る好ましい設定プロファイルへと、様々な可能な機能を統合することができる。
【０１２１】
たとえば、ここで図13Cを参照すると、図13Cで示される対話は全般に、現在メンバーである、かつ/または今後特定のグループのメンバーになり得るすべてのユーザと関連付けられ得る学習された習慣的機能へと様々な機能が統合され得る方式で簡略化を行うために、GetProfiles()メソッド1324が信用モデル1320においてさらに使用され得ることを除き、図13Bを参照して上で説明された対話と同様であり得る。たとえば、家族グループ中の各メンバーと関連付けられるGUIDを取り出したことに続いて、ジルは、機能アクセスアプリケーション1330を使用して、GetProfiles()メソッド1324への呼出しを使用して被制御者デバイス1340と関連付けられる学習された習慣的機能を取り出すことができる。したがって、ジルは、家族グループに承認する習慣的機能を選択し、それによって、家族グループ中の各メンバーと関連付けられるGUIDに様々な統合された機能を承認することができ、被制御者デバイス1340は同様に、各家族メンバーと関連付けられるGUIDのもとで習慣的機能を承認され得る。したがって、被制御者デバイス1340が、特定のメソッド呼出しを開始することを試みる特定のユーザからの要求を受信するとき、被制御者デバイス1340は、GetProfiles()1324に問い合わせて、信用モデル1320(たとえば、図12Bに示されるような)から活動定義の変換を取り出し、これによって、呼び出すべき適切なメソッド呼出しを決定することができる。たとえば、ジャックが温度を変えるためのセキュアな呼出しを開始する場合、被制御者デバイス1340は、GetProfiles()1324に問い合わせて、空調機ユニットを冷房に設定しファンの速度を高速に設定する活動定義へと夏のプロファイルを変換し、次いで、活動定義の呼出しを実行することができる。
【０１２２】
情報および信号が多種多様な異なる技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【０１２３】
さらに、本明細書において開示される態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実現され得ることを、当業者は理解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上では全般にそれらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計の制約に依存する。当業者は、説明された機能を具体的な各用途に対して様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱するものと解釈されるべきではない。
【０１２４】
本明細書において開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェアコンポーネント、または本明細書において説明される機能を実行するように設計されているそれらの任意の組合せを用いて実現または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【０１２５】
本明細書において開示された実施形態に関連して説明された方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体の中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態において、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC内に存在し得る。ASICはユーザ端末(たとえば、UE)中に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別のコンポーネントとして存在し得る。
【０１２６】
1つまたは複数の例示的な実施形態では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装された場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセス可能である任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され、コンピュータによってアクセスされ得る、任意の他の媒体を含み得る。また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(「DSL」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書において使用されるとき、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生するが、ディスク(disc)は、レーザーで光学的にデータを再生する。前述の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１２７】
上記の開示は本開示の例示的な態様を示すが、添付の特許請求の範囲によって定義される本開示の範囲から逸脱することなく、本明細書において様々な変更および修正が行われ得ることに留意されたい。本明細書において説明された本開示の態様による方法クレームの機能、ステップおよび/または動作は、特定の順序で実行される必要はない。さらに、本開示の要素は単数形で記載または特許請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が考慮される。
【符号の説明】
【０１２８】
100A  ワイヤレス通信システム
100B  ワイヤレス通信システム
100C  ワイヤレス通信システム
100D  ワイヤレス通信システム
100E  ワイヤレス通信システム
105  受動的IoTデバイス
108  エアインターフェース
109  直接有線接続
110  テレビ
112  空調機ユニット
114  サーモスタット
116  冷蔵庫
118  洗濯乾燥機
120  コンピュータ
122A  IoTデバイス
122B  IoTデバイス
124A  IoTデバイス
124B  IoTデバイス
125  アクセスポイント
130  監督デバイス
140A  IoTスーパーエージェント
140B  IoTスーパーエージェント
145  ゲートウェイ
152  アプリケーションレイヤ
154  CMPレイヤ
156  物理レイヤ
158  トランスポートレイヤ
160A  IoTデバイスグループ
160B  IoTデバイスグループ
170  IoTサーバ
175  インターネット
180  資源
200A  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  ワイドエリアネットワーク
510a  基地局
510b  基地局
510c  基地局
520  デバイス
530  ネットワークコントローラ
540  DHCPサーバ
600  環境
610  デバイスA
612  配信バスノード
614  ローカルエンドポイント
625  配信バス
630  デバイスB
632  配信バスノード
634  ローカルエンドポイント
640  デバイスC
642  配信バスノード
644  ローカルエンドポイント
700  メッセージシーケンス
710A  デバイスA
712  バスノード
714  ローカルエンドポイント
730  デバイスB
732  バスノード
734  ローカルエンドポイント
754  メッセージシーケンスステップ
756  メッセージシーケンスステップ
758  メッセージシーケンスステップ
760  メッセージシーケンスステップ
762  メッセージシーケンスステップ
764  メッセージシーケンスステップ
766  メッセージシーケンスステップ
800  方法
900  方法
1000  グラフ
1100A  方法
1100B  方法
1200  アーキテクチャ
1210  P2Pプラットフォーム
1215  セキュリティモジュール
1215a  セキュリティ設定
1215b  セキュリティ設定
1215c  セキュリティ設定
1220  信用モデル
1224  関係性グラフ
1228  適応挙動
1230  機能アクセスアプリケーション
1235  デバイスドライバ
1310  代表制御者デバイス
1312  バスノード
1314  アプリケーション
1320  信用モデル
1330  訪問制御者デバイス
1330  機能アクセスアプリケーション
1332  バスノード
1334  アプリケーション
1340  被制御者デバイス
1342  バスノード
1344  アプリケーション
1350  セキュリティブリッジ
1360  認証者
【図１Ａ】
0006367840.tif 000002
【図１Ｂ】
0006367840.tif 000003
【図１Ｃ】
0006367840.tif 000004
【図１Ｄ】
0006367840.tif 000005
【図１Ｅ】
0006367840.tif 000006
【図２Ａ】
0006367840.tif 000007
【図２Ｂ】
0006367840.tif 000008
【図３】
0006367840.tif 000009
【図４】
0006367840.tif 000010
【図５】
0006367840.tif 000011
【図６】
0006367840.tif 000012
【図７】
0006367840.tif 000013
【図８】
0006367840.tif 000014
【図９】
0006367840.tif 000015
【図１０】
0006367840.tif 000016
【図１１Ａ】
0006367840.tif 000017
【図１１Ｂ】
0006367840.tif 000018
【図１２Ａ】
0006367840.tif 000019
【図１２Ｂ】
0006367840.tif 000020
【図１３Ａ】
0006367840.tif 000021
【図１３Ｂ】
0006367840.tif 000022
【図１３Ｃ】
0006367840.tif 000023