(57)【特許請求の範囲】
【請求項１】
装置を動作させる方法であって、
モノのインターネット(IoT)環境において動きモニタのセットによって検出された生動きデータの1つまたは複数のレポートを受信するステップと、
前記IoT環境内でIoTデバイスのセットによって検出された1つまたは複数の自発的ユーザ主導型イベントを示す1つまたは複数のレポートを受信するステップであって、前記1つまたは複数の検出された自発的ユーザ主導型イベントの各々が複数の異なるイベントタイプのうちの1つに関連付けられるステップと、
前記1つまたは複数の検出された自発的ユーザ主導型イベントの各々について、前記検出された自発的ユーザ主導型イベントに先行するしきい値期間内に報告された生動きデータをスキャンして、前記しきい値期間中に生じた前記IoT環境内の1つまたは複数の動きシーケンスを特定するステップと、
前記報告された生動きデータの前記スキャンに基づいて、前記複数の異なるイベントタイプにおける所与のイベントタイプを有する所与の自発的ユーザ主導型イベントが、相関に関するしきい値信頼レベルを超える信頼レベルにおいて前記しきい値期間内に前記IoT環境に関する所与の動きシーケンスの後に生じると少なくとも部分的に予測することによって、前記所与のイベントタイプを前記所与の動きシーケンスと相関付けるステップと、
前記相関付けの後、前記IoT環境内で前記所与の動きシーケンスを検出するステップと、
前記検出に応答して、ユーザ対話なしに前記所与のイベントタイプを有する所与のイベントを実行するようにIoTデバイスの前記セットにおける1つまたは複数のIoTデバイスをトリガするステップとを含む方法。
【請求項２】
前記装置は、前記IoT環境からリモートに位置するサーバとして実装されたIoTコントローラ、または、前記IoT環境におけるIoTデバイスとして実装されたIoTコントローラ、または動きモニタの前記セットにおける所与の動きモニタである、請求項1に記載の方法。
【請求項３】
前記所与のイベントタイプの前記所与の動きシーケンスとの前記相関は、負のユーザフィードバックによって改善される、請求項1に記載の方法。
【請求項４】
前記所与のイベントタイプの前記所与の動きシーケンスとの前記相関は、1つまたは複数の二次因子を考慮することによって改善される、請求項1に記載の方法。
【請求項５】
前記1つまたは複数の二次因子は状態情報を含む、請求項4に記載の方法。
【請求項６】
前記IoT環境内の対象物は、複数の異なる状態のうちの1つまたは複数の異なる状態履歴のうちの1つを現在有するように構成され、
前記相関付けでは、どの状態または状態履歴が前記対象物に関する現在の状態または状態履歴であると判定されるかに基づいて1つまたは複数の異なるイベントタイプを前記所与の動きシーケンスと相関付ける、請求項5に記載の方法。
【請求項７】
前記生動きデータを報告する前記1つまたは複数のレポートならびに/あるいは前記1つまたは複数の検出された自発的ユーザ主導型イベントを報告する前記1つまたは複数のレポートは、前記装置によるポーリングなしに周期的にまたはイベント駆動式に前記装置によって受信される、請求項1に記載の方法。
【請求項８】
動きモニタの前記セットおよび/またはIoTデバイスの前記セットを周期的にあるいはイベント駆動式にポーリングするステップをさらに含み、
前記生動きデータを報告する前記1つまたは複数のレポートならびに/あるいは前記1つまたは複数の検出された自発的ユーザ主導型イベントを報告する前記1つまたは複数のレポートは、前記ポーリングに応答して前記装置によって受信される、請求項1に記載の方法。
【請求項９】
前記IoT環境において検出された前記報告された生動きデータおよび/または1つまたは複数の動きシーケンスの少なくとも一部に関する所与のデバイスからの問合せを受信するステップと、
前記問合せを満足する動きデータを特定することを試みるステップと、
前記特定された動きデータが見つかった場合に前記特定された動きデータを前記所与のデバイスに返すステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
所与の動きシーケンスが、相関に関するしきい値信頼レベルを超える信頼レベルにおいてしきい値期間内にモノのインターネット(IoT)環境内で検出された後、前記IoT環境において1つまたは複数のIoTデバイスによって実行される所与のイベントタイプがユーザによって自発的に開始されるという予想に基づいて、前記所与のイベントタイプが前記所与の動きシーケンスと相関付けられると判定するステップと、
前記IoT環境内で監視される生動きデータをスキャンするステップと、
前記スキャンされた生動きデータ内で前記所与の動きシーケンスを検出するステップと、
前記検出に応答して、前記判定に基づいてユーザ対話なしに前記所与のイベントタイプを有する所与のイベントを実行するように前記IoT環境内の前記1つまたは複数のIoTデバイスをトリガするステップと
を含む、請求項1に記載の方法。
【請求項１１】
前記トリガするステップは、
状態情報に基づいて前記所与の動きシーケンスと相関付けられた複数のイベントから前記所与のイベントを選択するステップを含む、請求項10に記載の方法。
【請求項１２】
複数の異なる状態または異なる状態履歴のうちの1つを有するように構成された前記IoT環境内の対象物に関連付けられた現在の状態または現在の状態履歴を判定するステップをさらに含み、
前記選択するステップは、前記対象物に関連する前記現在の状態または前記現在の状態履歴に基づいて前記所与のイベントを選択する、請求項11に記載の方法。
【請求項１３】
モノのインターネット(IoT)環境において動きモニタのセットによって検出された生動きデータの1つまたは複数のレポートを受信するように構成された論理と、
前記IoT環境内でIoTデバイスのセットによって検出された1つまたは複数の自発的ユーザ主導型イベントを示す1つまたは複数のレポートを受信するように構成された論理であって、前記1つまたは複数の検出された自発的ユーザ主導型イベントの各々が複数の異なるイベントタイプのうちの1つに関連付けられる論理と、
前記1つまたは複数の検出された自発的ユーザ主導型イベントの各々について、前記検出された自発的ユーザ主導型イベントに先行するしきい値期間内に報告された生動きデータをスキャンして、前記しきい値期間中に生じた前記IoT環境内の1つまたは複数の動きシーケンスを特定するように構成された論理と、
前記報告された生動きデータの前記スキャンに基づいて、前記複数の異なるイベントタイプにおける所与のイベントタイプを有する所与の自発的ユーザ主導型イベントが、相関に関するしきい値信頼レベルを超える信頼レベルにおいて前記しきい値期間内に前記IoT環境に関する所与の動きシーケンスの後に生じると少なくとも部分的に予測することによって、前記所与のイベントタイプを前記所与の動きシーケンスと相関付けるように構成された論理と、
前記相関付けの後、前記IoT環境内で前記所与の動きシーケンスを検出するように構成された論理と、
前記検出に応答して、ユーザ対話なしに前記所与のイベントタイプを有する所与のイベントを実行するようにIoTデバイスの前記セットにおける1つまたは複数のIoTデバイスをトリガするように構成された論理と
を備える装置。
【請求項１４】
所与の動きシーケンスが、相関に関するしきい値信頼レベルを超える信頼レベルにおいてしきい値期間内にモノのインターネット(IoT)環境内で検出された後、前記IoT環境において1つまたは複数のIoTデバイスによって実行される所与のイベントタイプがユーザによって自発的に開始されるという予想に基づいて、前記所与のイベントタイプが前記所与の動きシーケンスと相関付けられると判定するように構成された論理と、
前記IoT環境内で監視される生動きデータをスキャンするように構成された論理と、
前記スキャンされた生動きデータ内で前記所与の動きシーケンスを検出するように構成された論理と、
前記検出に応答して、前記判定に基づいてユーザ対話なしに前記所与のイベントタイプを有する所与のイベントを実行するように前記IoT環境内の前記1つまたは複数のIoTデバイスをトリガするように構成された倫理と
を備える、請求項13に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条に基づく優先権の主張
本特許出願は、本出願の譲受人に譲渡され、その全体が本明細書に参照により明確に組み込まれている、本出願と同じ発明者によって2013年12月30日に出願された、「PREEMPTIVELY TRIGGERING A DEVICE ACTION IN AN INTERNET OF THINGS (IoT) ENVIRONMENT BASED ON A MOTION-BASED PREDICTION OF A USER INITIATING THE DEVICE ACTION」と題する仮出願第61/922,065号に対する優先権を主張する。
【０００２】
実施形態は、デバイスアクションを開始するユーザの動きベースの予測に基づいてモノのインターネット(IoT)環境においてデバイスアクションをプリエンプティブにトリガすることに関する。
【背景技術】
【０００３】
インターネットは、標準インターネットプロトコルスイート(たとえば、伝送制御プロトコル(TCP)およびインターネットプロトコル(IP))を使用して互いに通信する、相互接続されたコンピュータならびにコンピュータネットワークのグローバルシステムである。モノのインターネット(IoT)は、コンピュータおよびコンピュータネットワークだけでなく、日常の物が、IoT通信ネットワーク(たとえば、アドホックシステムまたはインターネット)を介して読取り可能、認識可能、位置特定可能、アドレス指定可能、および制御可能であり得るという発想に基づく。
【０００４】
いくつかの市場動向がIoTデバイスの開発を推進している。たとえば、増大するエネルギーコストは、政府によるスマートグリッドに対する戦略投資、ならびに電気自動車および公共充電ステーションなど、将来の消費に対するサポートを推進している。増大する医療費および老齢人口は、遠隔/コネクテッドヘルスケア(connected health care)およびフィットネスサービスの開発を推進している。住居内の技術革命は、「N」プレイ(たとえば、データ、音声、ビデオ、セキュリティ、エネルギー管理など)をマーケティングして、ホームネットワークを拡張するサービスプロバイダによる統合を含めて、新しい「スマート」サービスの開発を推進している。企業設備の運転費を削減するための手段として、建造物はよりスマートかつより便利になっている。
【０００５】
IoT用のいくつかの重要なアプリケーションが存在する。たとえば、スマートグリッドおよびエネルギー管理の領域では、公益事業会社は住居および事業に対するエネルギーの配給を最適化することができるのに対して、カスタマはエネルギー使用をより良好に管理することができる。住居およびビルディングオートメーションの領域では、スマートホームおよびスマート建造物は、住居もしくは事務所内の、電化製品からプラグイン電気自動車(PEV)セキュリティシステムまで、事実上、どのようなデバイスまたはシステムに対しても集中制御し得る。資産管理の分野では、企業、病院、工場、および他の大型組織は、価値が高い設備、患者、車両などの位置を正確に追跡することができる。ヘルスおよびウェルネスの領域では、医師は患者の健康を遠隔で監視することができるのに対して、人々はフィットネスルーチンの進捗を追跡することができる。
【発明の概要】
【課題を解決するための手段】
【０００６】
一実施形態では、装置は、IoT環境において検出された生動きデータのレポートを受信し、IoT環境内のIoTデバイスのセットによって検出されたユーザ主導型イベントを示すレポートも受信する。装置は、検出された特定のユーザ主導型イベントに先行するしきい値期間内の生動きデータをスキャンして、しきい値期間中に生じたIoT環境内の動きシーケンスを特定する。特定の動きシーケンスが、ユーザ主導型イベントがこの動きシーケンスの後に生じる信頼レベルに基づいてユーザ主導型イベントと相関付けられる。以後のある時点で動きシーケンスが検出されたときに、相関付けられたイベントがユーザ対話なしでプリエンプティブにトリガされる。
【０００７】
本開示の態様およびその付随する利点の多くに関するより完全な理解は、以下の詳細な説明を参照しながら、本発明を限定するためではなく単に例示するために提示される添付の図面とともに考察することによって、本開示の態様およびその付随する利点の多くがより深く理解されるようになるときに容易に得られるであろう。
【図面の簡単な説明】
【０００８】
【図１Ａ】本開示の一態様によるワイヤレス通信システムのハイレベルシステムアーキテクチャを示す図である。
【図１Ｂ】本開示の別の態様によるワイヤレス通信システムのハイレベルシステムアーキテクチャを示す図である。
【図１Ｃ】本開示の一態様によるワイヤレス通信システムのハイレベルシステムアーキテクチャを示す図である。
【図１Ｄ】本開示の一態様によるワイヤレス通信システムのハイレベルシステムアーキテクチャを示す図である。
【図１Ｅ】本開示の一態様によるワイヤレス通信システムのハイレベルシステムアーキテクチャを示す図である。
【図２Ａ】本開示の態様による例示的なモノのインターネット(IoT)デバイスを示す図である。
【図２Ｂ】本開示の態様による例示的な受動IoTデバイスを示す図である。
【図３】本開示の態様による、機能を実現するように構成された論理を含む通信デバイスを示す図である。
【図４】本開示の様々な態様による例示的なサーバを示す図である。
【図５】本発明の一実施形態による「シングルユーザ」IoT環境(または分散IoTネットワーク)の一例を示す図である。
【図６】本発明の一実施形態による「マルチユーザ」IoT環境(または分散IoTネットワーク)の一例を示す。
【図７】本発明の一実施形態による、動きシーケンスを特定のタイプのイベントと相関付けるプロセスを示す図である。
【図８Ａ】本発明の一実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。
【図８Ｂ】本発明の別の実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。
【図９Ａ】本発明の別の実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。
【図９Ｂ】本発明の別の実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。
【図１０】本発明の一実施形態による、動きデータについて問い合わせるプロセスを示す図である。
【発明を実施するための形態】
【０００９】
モノのインターネット(IoT)デバイス間の近接検出の例示的実施形態に関する特定の例を示すために、次の説明および関連する図面において様々な態様を開示する。代替的実施形態は、この開示を読むと当業者には明らかであり、本開示の範囲または趣旨を逸脱することなく構築され、実践され得る。加えて、本明細書で開示する態様および実施形態の関連する詳細を不明瞭にしないように、よく知られている要素は詳細には説明されず、または省略され得る。
【００１０】
「例示的」という言葉は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」として説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「実施形態」という用語は、すべての実施形態が、論じられた特徴、利点または動作モードを含むことを要求しない。
【００１１】
本明細書で使用される用語は、特定の実施形態のみを説明しており、本明細書で開示されるいずれかの実施形態を限定すると解釈されるべきではない。本明細書で使用される単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、本明細書で使用すると、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが理解されよう。
【００１２】
さらに、多くの態様について、たとえばコンピューティングデバイスの要素によって実施されるべき、動作のシーケンスに関して説明する。本明細書で説明する様々な動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実施され得ることは認識されよう。さらに、本明細書で説明されるこれらの一連の動作は、実行されると、関連するプロセッサに本明細書において説明される機能を実行させることになる対応する1組のコンピュータ命令を記憶した、任意の形のコンピュータ可読記憶媒体内で完全に具現されるものと見なされ得る。したがって、本開示の様々な態様は、特許請求される主題の範囲内にすべて入ることが企図されているいくつかの異なる形で具現され得る。さらに、本明細書で説明される実施形態ごとに、任意のそのような実施形態の対応する形は、本明細書において、たとえば、説明される動作を実行する「ように構成された論理」として説明される場合がある。
【００１３】
本明細書で使用する「モノのインターネットデバイス」(すなわち「IoTデバイス」)という用語は、アドレス指定可能なインターフェース(たとえば、インターネットプロトコル(IP)アドレス、Bluetooth(登録商標)識別子(ID)、近距離無線通信(NFC:near-field communication)IDなど)を有し、有線またはワイヤレス接続を通じて1つまたは複数の他のデバイスに情報を送信することができる任意の物(たとえば、電化製品、センサーなど)を指すことができる。IoTデバイスは、クイックレスポンス(QR)コード、無線周波数識別(RFID)タグ、NFCタグなどの受動通信インターフェース、または、モデム、トランシーバ、送信機-受信機などの能動通信インターフェースを有し得る。IoTデバイスは、中央処理装置(CPU)、マイクロプロセッサ、ASICなどの中に組み込まれること、および/あるいは、それらによって制御/監視されることが可能であり、ローカルアドホックネットワークまたはインターネットなどのIoTネットワークに接続するように構成された特定の属性セット(たとえば、IoTデバイスがオンであるか、もしくはオフであるか、開いているか、もしくは閉じているか、アイドルであるか、もしくはアクティブであるか、タスク実行のために利用可能であるか、もしくはビジーであるかなど、冷房機能であるか、もしくは暖房機能であるか、環境監視機能であるか、もしくは環境記録機能であるか、発光機能であるか、音響放射機能であるかなど、デバイスの状態またはステータス)を有し得る。たとえば、IoTデバイスは、これらのデバイスがIoTネットワークと通信するためのアドレス指定可能通信インターフェースを備える限り、冷蔵庫、トースター、オーブン、電子レンジ、冷凍庫、皿洗い機、パラボラアンテナ(dishes)、手工具、洗濯機、衣類乾燥機、加熱炉、空調機、温度自動調整器、テレビジョン、照明設備、掃除機、スプリンクラー、電気メータ、ガスメータなどを含み得るが、これらに限定されない。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は、エアインターフェース108を介して通信するIoTデバイス110〜118と、有線接続109を介して通信するIoTデバイス118とを示すが、各IoTデバイスは、有線接続もしくはワイヤレス接続、または両方を介して通信することができる。
【００１６】
インターネット175は、いくつかのルーティングエージェントおよび処理エージェント(便宜上、図1Aには示されていない)を含む。インターネット175は、標準インターネットプロトコルスイート(たとえば、伝送制御プロトコル(TCP)およびIP)を使用して、異種のデバイス/ネットワークの間で通信する、相互接続されたコンピュータならびにコンピュータネットワークのグローバルシステムである。TCP/IPは、データが、宛先において、どのようにフォーマッティング、アドレス指定、送信、経路指定、および受信されるべきかを指定するエンドツーエンド接続性を提供する。
【００１７】
図1Aでは、デスクトップコンピュータまたはパーソナルコンピュータ(PC)などのコンピュータ120は、(たとえば、Ethernet(登録商標)接続またはWi-Fiもしくは802.11ベースのネットワークを介して)インターネット175と直接接続するとして示される。コンピュータ120は、(たとえば、有線接続性とワイヤレス接続性の両方を有するWiFiルータ用の)アクセスポイント125自体などに相当してよいモデムまたはルータとの直接接続など、インターネット175との有線接続を有し得る。代替的に、有線接続を介して、アクセスポイント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がWiFiインターフェースに対応する場合、IoTデバイス110〜120のうちのいくつかは、互いに、または他の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など)を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは同様の詳細が図1Aに示したワイヤレス通信システム100Aに関して上ですでに提供されている限り、図1Bに示すワイヤレス通信システム100B内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００２２】
図1Bを参照すると、ワイヤレス通信システム100Bは、代替的に、IoTマネージャ130またはIoTマネージャデバイス130と呼ばれる場合もあるスーパーバイザデバイス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に関連付けられた、監視される属性、活動、または他の状態に関する情報を出力して、それらに関連付けられた属性、活動、または他の状態を制御あるいは管理するための入力情報を受信することができるユーザインターフェースを含み得る。したがって、スーパーバイザデバイス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は、各々、RFIDタグもしくはバーコードを読み取って、コーヒーカップおよび/またはオレンジジュースの容器の受動IoTデバイス105がいつ追加あるいは除去されたかを検出することができる適切なスキャナまたはリーダーを有し得る。キャビネットIoTデバイスがコーヒーカップの受動IoTデバイス105の除去を検出し、冷蔵庫IoTデバイス116がオレンジジュースの容器の受動IoTデバイスの除去を検出すると、スーパーバイザデバイス130は、キャビネットIoTデバイスおよび冷蔵庫IoTデバイス116において検出された活動に関する1つまたは複数の信号を受信することができる。スーパーバイザデバイス130は、次いで、ユーザがコーヒーカップからオレンジジュースを飲んでいる、およびまたはコーヒーカップからオレンジジュースを飲みたいことを推定することができる。
【００２６】
上記は何らかの形のRF通信インターフェースまたはバーコード通信インターフェースを有するとして受動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と同じ、かつ/または実質的に同様の様々な構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細が、それぞれ、図1Aおよび図1Bに示したワイヤレス通信システム100Aならびに100Bに関して上ですでに提供されている限り、図1Cに示すワイヤレス通信システム100C内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００２８】
図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 SuperAgent140を介して互いに接続されること、および/または通信することが可能である。ハイレベルで、スーパーバイザデバイス130はグループ内通信を管理するのに対して、IoT SuperAgent140はグループ間通信を管理することができる。別個のデバイスとして示すが、スーパーバイザデバイス130およびIoT SuperAgent140は、同じデバイス(たとえば、図1Aのコンピュータ120など、独立型デバイスもしくはIoTデバイス)であり得るか、またはその中に存在し得る。代替的に、IoT SuperAgent140は、アクセスポイント125の機能に対応し得るか、またはその機能を含み得る。さらに別の代替として、IoT SuperAgent140は、IoTサーバ170などのIoTサーバの機能に対応し得るか、またはその機能を含み得る。IoT SuperAgent140は、ゲートウェイ機能145をカプセル化することができる。
【００３０】
各IoTデバイス110〜118は、スーパーバイザデバイス130をピアとして扱って、属性/スキーマ更新をスーパーバイザデバイス130に送信することができる。IoTデバイスが別のIoTデバイスと通信する必要があるとき、IoTデバイスは、スーパーバイザデバイス130にそのIoTデバイスに対するポインタを要求し、次いで、ピアとしてターゲットIoTデバイスと通信することができる。IoTデバイス110〜118は、共通メッセージングプロトコル(CMP)を使用して、ピアツーピア通信ネットワークを介して互いに通信する。2つのIoTデバイスがCMP対応であり、共通通信トランスポートを介して接続される限り、それらのIoTデバイスは互いに通信することができる。プロトコルスタック内で、CMPレイヤ154は、アプリケーションレイヤ152の下にあり、トランスポートレイヤ156および物理レイヤ158の上にある。
【００３１】
本開示の別の態様によれば、図1Dは、複数のIoTデバイスを含む別のワイヤレス通信システム100Dのハイレベルアーキテクチャを示す。一般に、図1Dに示すワイヤレス通信システム100Dは、それぞれ、上でより詳細に説明した、図1A〜図1Cに示したワイヤレス通信システム100A〜100Cと同じ、かつ/または実質的に類似した様々構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細がそれぞれ図1A〜図1Cに示したワイヤレス通信システム100A〜100Cに関して上ですでに提供されている限り、図1Dに示すワイヤレス通信システム100D内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００３２】
インターネット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デバイスから受信された情報に基づいて、そのリソース180の使用を調整するための論理を有する、IoTサーバ170などのIoTサーバに接続され得る。
【００３４】
本開示の別の態様によれば、図1Eは、複数のIoTデバイスを含む別のワイヤレス通信システム100Eのハイレベルアーキテクチャを示す。一般に、図1Eに示すワイヤレス通信システム100Eは、上でより詳細に説明した、それぞれ、図1A〜図1Dに示したワイヤレス通信システム100A〜100Dと同じ、かつ/または実質的に類似した様々構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細がそれぞれ図1A〜図1Dに示したワイヤレス通信システム100A〜100Dに関して上ですでに提供されている限り、図1Eに示すワイヤレス通信システム100E内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００３５】
通信システム100Eは、2つのIoTデバイスグループ160Aおよび160Bを含む。複数のIoTデバイスグループは、インターネット175に接続されたIoT SuperAgentを介して互いに接続されること、および/または互いに通信することが可能である。ハイレベルで、IoT SuperAgentは、IoTデバイスグループ内のグループ間通信を管理することができる。たとえば、図1Eで、IoTデバイスグループ160Aは、IoTデバイス116A、122A、および124Aと、IoT SuperAgent140Aとを含むのに対して、IoTデバイスグループ160Bは、IoTデバイス116B、122B、および124Bと、IoT SuperAgent140Bとを含む。したがって、IoT SuperAgent140Aおよび140Bは、インターネット175と接続して、インターネット175を介して互いと通信すること、ならびに/またはIoTデバイスグループ160Aおよび160B間の通信を促すために互いと直接通信することができる。さらに、図1Eは、IoT SuperAgent140Aおよび140Bを介して互いと通信する2つのIoTデバイスグループ160Aおよび160Bを示すが、任意の数のIoTデバイスグループが、IoT SuperAgentを使用して互いと好適に通信することができることを当業者は諒解されよう。
【００３６】
図2Aは、本開示の態様によるIoTデバイス200Aのハイレベルな例を示す。外観および/または内部構成要素はIoTデバイス間でかなり異なる場合があるが、大部分のIoTデバイスは、ディスプレイとユーザ入力のための手段とを含み得る、ある種のユーザインターフェースを有することになる。ユーザインターフェースがないIoTデバイスは、図1A〜図1Bにおけるエアインターフェース108など、有線ネットワークまたはワイヤレスネットワークを介してリモートで通信され得る。
【００３７】
図2Aに示すように、IoTデバイス200Aに関する例示的な構成では、IoTデバイス200Aの外部ケーシングは、当技術分野で知られているように、構成要素の中でも、ディスプレイ226と、電源ボタンと、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は、プロセッサ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と同じ、かつ/または実質的に類似した様々構成要素を含み得る。したがって、説明を簡潔かつ簡単にするために、同じまたは類似の詳細が図2Aに示したIoTデバイス200Aに関して上ですでに提供されている限り、図2Bに示す受動IoTデバイス200B内のいくつかの構成要素に関する様々な詳細は本明細書で省略される場合がある。
【００４１】
図2Bに示す受動IoTデバイス200Bは、プロセッサ、内部メモリ、またはある種の他の構成要素を有しない場合があるという点で、一般に、図2Aに示すIoTデバイス200Aとは異なる場合がある。代わりに、一実施形態では、受動IoTデバイス200Bは、受動IoTデバイス200Bが、制御されたIoTネットワーク内で観測されること、監視されること、制御されること、管理されること、あるいは知られることを可能にする、I/Oインターフェース214または他の適切な機構だけを含み得る。たとえば、一実施形態では、受動IoTデバイス200Bに関連付けられたI/Oインターフェース214は、短距離インターフェースを介して問い合わされたとき、受動IoTデバイス200Bに関連付けられた識別子および属性を別のデバイス(たとえば、受動IoTデバイス200Bに関連付けられた属性に関する情報を検出すること、記憶すること、通信すること、その情報に作用すること、あるいはその情報を処理することができる、IoTデバイス200Aなどの能動IoTデバイス)に提供することができる、バーコード、Bluetooth(登録商標)インターフェース、無線周波数(RF)インターフェース、RFIDタグ、IRインターフェース、NFCインターフェース、または任意の他の適切な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(登録商標)、Wi-Fi、Wi-Fi Direct、Long-Term Evolution (LTE) Directなど)を含むことができる。別の例では、情報を受信および/または送信するように構成された論理305は、有線通信インターフェース(たとえば、インターネット175にアクセスする手段となり得るシリアル接続、USBまたはFirewire接続、Ethernet(登録商標)接続など)に対応することができる。したがって、通信デバイス300が、何らかのタイプのネットワークベースのサーバ(たとえば、アプリケーション170)に対応する場合には、情報を受信および/または送信するように構成された論理305は、一例では、Ethernet(登録商標)プロトコルによってネットワークベースのサーバを他の通信エンティティに接続するEthernet(登録商標)カードに対応し得る。さらなる例では、情報を受信および/または送信するように構成された論理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デバイスの実装形態に加えてサーバとして実装され得ることを説明するのを助ける。
【００５２】
従来の監視デバイス(たとえば、監視カメラ、屋外照明、ウィーリモコン、Microsoft Kinectなど)は、動き検出を実施して特定のアクションをトリガするように構成することが可能である。これらの監視デバイスでは一般に、製造業者(またはゲーム開発者)が対応するアクションをトリガするのに使用される動きの特定のセットを定義する必要がある。しかし、従来の監視デバイスが環境の監視に基づいてアクショントリガリングのための新しい動きを覚えることは困難である。
【００５３】
本発明の実施形態は、IoT環境内に動き検出器を装備することに関し、IoT環境内の特定のイベントをプリエンプティブにトリガするために、IoT環境内の様々なIoTデバイスによって検出されたイベントが、イベントに先行する動きシーケンスと相関付けられる。
【００５４】
図5は、本発明の一実施形態による「シングルユーザ」IoT環境(または分散IoTネットワーク)500の一例を示す。図5において、IoT環境500は、リビングルーム505と、寝室510と、台所515と、玄関520と、浴室525とを有するアパートである。アパート内では、リビングルーム505にIoTデバイスA(たとえば、シーリングファン)が位置付けられ、寝室510にIoTデバイスB(たとえば、ライトスイッチ)が位置付けられ、浴室525にIoTデバイスC(たとえば、電球)が位置付けられ、台所515にIoTデバイスD(たとえば、サーモスタット)、E(たとえば、オーブン)、およびF(たとえば、コーヒーメーカー)が位置付けられる。さらに、IoTデバイスG...K(たとえば、動きセンサーまたは動き検出器)がアパート500全体にわたって各領域505〜525内に位置付けられる。IoT環境500は、1人のユーザが主としてこのアパートを占有すると考えられるので「シングルユーザ」環境と呼ばれる。IoT環境を「シングルユーザ」と特徴付けると、動きシーケンスが特別の特定手順なしに1人のユーザによって実行されると仮定することができるので、後述の動作のいくつかが簡略化される。
【００５５】
図6は、本発明の一実施形態による「マルチユーザ」IoT環境(または分散IoTネットワーク)600の一例を示す。図6において、IoT環境600は、会議室605と、複数のオフィス610〜635と、キッチン640と、受付け645とを有するオフィス空間である。オフィス空間600内では、会議室605にIoTデバイスA(たとえば、セルフォンまたはタブレットコンピュータなどのハンドセットデバイス)およびIoTデバイスB(たとえば、電球)が位置付けられ、キッチン640にIoTデバイスC(たとえば、冷蔵庫)、IoTデバイスD(たとえば、サーモスタット)、IoTデバイスE(たとえば、ミキサー)、IoTデバイスF(たとえば、コーヒーメーカー)、およびIoTデバイスG(たとえば、ライトスイッチ)が位置付けられ、オフィス610にIoTデバイスH(たとえば、セルフォンまたはタブレットコンピュータなどのハンドセットデバイス)が位置付けられる。さらに、IoTデバイスI...L(たとえば、動きセンサーまたは動き検出器)がオフィス空間全体にわたって各領域605〜645内に位置付けられる。IoT環境600は、様々なユーザが同時にあるいはそれぞれに異なる時間にオフィス空間を占有し、したがって、特定の検出された動きシーケンスを特定のユーザ(またはユーザのグループ)に相関付けるための何らかのタイプの特別の特定手順がなければ特定の検出された動きシーケンスをそのユーザ(またはユーザのグループ)に関連付けることができないので「マルチユーザ」環境と呼ばれる。特定の検出された動きに関連するユーザ(またはユーザのグループ)を特定することは、検出された動きシーケンスの近傍においてユーザ(またはユーザのグループ)に登録された電話を検出することと、特定のユーザ(またはユーザのグループ)のみが特定の動きシーケンスを実行すると判定することと、特定のユーザ(またはユーザのグループ)に割り当てられたオフィス内の動きシーケンスを検出することなど、いくつかの異なる方法で実現することができる。
【００５６】
図7〜図9に関して下記において説明する実施形態は、シングルユーザIoT環境(たとえば、図5のシングルユーザIoT環境500など)内で実施することもあるいはマルチユーザIoT環境(たとえば、図6のマルチユーザIoT環境600など)内で実施することもできる。以下ではこれ以上詳細に説明しないが、図7〜図9のプロセスがマルチユーザIoT環境内で実施されるときには、ユーザ特定手順に基づいてそれぞれのプロセスを特定のユーザまたはユーザの特定のグループのいずれかに関して選択的に実施できることが諒解されよう。マルチユーザシナリオでは、図7〜図9のプロセスを同じ環境内のそれぞれに異なるユーザ(またはユーザのグループ)に対して冗長に実行することができ、様々な動きシーケンスが特定のユーザまたは特定のグループごとにそれぞれに異なるイベントと相関付けられる。したがって、図7〜図9の実施形態について、主として、シングルユーザIoT環境を含意すると思われる1人のユーザに関して説明するが、動きシーケンスをイベントと相関付けることができるように特定のユーザまたはユーザの特定のグループに関連する動きシーケンスとして特定することができる限り、これらの実施形態を任意のマルチユーザIoT環境においても実施できることが諒解されよう。さらに、それぞれに異なるユーザによる特定の動きは、実質的に類似している場合があり、したがって、ユーザの特定にかかわらず、ユーザのグループまたは場合によってはすべてのユーザに適用されてもよい。さらに、本明細書では、「イベント」は単一のアクションを含むこともあるいは一連のアクションを含むことも可能である。したがって、特定の動きシーケンスによってトリガされるイベントが、単一のアクションがトリガされていることを暗示するのではなく(この場合があり得ることも確かであるが)、場合によっては、まとめて実行されたときにイベントを構成する一連のアクションまたはアクションのシーケンスをトリガすることができる。
【００５７】
図7は、本発明の一実施形態による、動きシーケンスを特定のタイプのイベントと相関付けるプロセスを示す図である。図7を参照すると、700において、IoT環境(たとえば、シングルユーザIoT環境またはマルチユーザIoT環境)内に装備されたIoTデバイスのセット(「IoTデバイス1...N」)が経時的にユーザ主導型イベントを検出する。一例では、図7のIoTデバイス1...Nは、図5のIoTデバイスA...Fに対応することもあるいは図6のIoTデバイスA...Hに対応することも可能である。たとえば、IoTデバイス1は、ライトスイッチまたは電球である場合、「オン」イベントまたは「オフ」イベント、ディム設定などのイベントを検出することができる。別の例では、IoTデバイス2がサーモスタットである場合、IoTデバイス2は、ユーザによって指定された目標温度設定値または目標湿度設定値への変更などのイベントを検出することができる。別の例では、IoTデバイス3がオーブンである場合、オーブンは、ユーザによって「オン」に切り替えられたことおよび「オフ」に切り替えられたこと(あるいは切り替えられるようにスケジュールされたこと)など様々なイベントを検出することができるが、ユーザによってオーブンが「焼く」に設定されているかそれとも「直火焼き」に設定されているか、オーブンの温度設定値、オーブンタイマーの設定時間なども検出することができる。別の例では、IoTデバイス3がコーヒーメーカーである場合、コーヒーメーカーは、ユーザによって「オン」に切り替えられたことおよび「オフ」に切り替えられたこと、特定のコーヒー入れサイクルの間にあるいはいくつかのコーヒー入れサイクルにわたってどのくらいの量のコーヒーが入れられたかを示すフィルレベルなどのイベントを検出することができる。検出された各イベントは、700においてイベントに関連する発生時間(またはタイミング情報)に従って記録される。
【００５８】
図7を参照すると、IoTデバイス1...Nは、700において得られた検出されたイベントおよびそれに関連するタイミング情報を、705において周期的にあるいはイベントトリガ式にIoTコントローラに報告する。IoTコントローラは、IoTサーバ170などのサーバに対応することが可能であり、その場合、705のレポートはインターネット接続を介して送信することが可能である。代替的に、IoTコントローラは、ローカルサーバおよび/またはIoT環境におけるIoTデバイスのうちの1つ(たとえば、IoTマネージャまたはスーパーエージェント)であることが可能であり、その場合、705のレポートはローカルIoT通信インターフェース(たとえば、Bluetooth（登録商標）、WiFiなど)を介して送信することが可能である。IoTデバイス1...Nは、710において、場合によっては二次環境データをIoTコントローラに報告することもできる。たとえば、IoTデバイス1がシーリングファンである場合、このシーリングファンが周囲室内温度に基づいてオンまたはオフにされる可能性があることが諒解されよう。したがって、シーリングファンは、「オン」イベントまたは「オフ」イベントを報告するときに、温度情報を710において報告できるようにローカル温度センサー(たとえば、サーモスタット)から収集するかあるいはローカル温度センサーにそれ自体のレポートを独立してIoTコントローラに供給するよう促すことができる。代替として、二次環境情報を単に連続的に監視しイベント検出とは独立して報告することもできる(たとえば、IoTコントローラは、その時点でIoTデバイス1...Nのうちのいずれかによっていずれかのイベントが実際に検出されるかどうかにかかわらずローカルな温度条件および湿度条件に関するレポートを取得する)。
【００５９】
図7を参照すると、700〜710の間にIoTデバイス1...Nによってイベントが検出され報告される間、IoT環境内に装備されたIoT動きモニタのセット(「IoT動きモニタ1...N」)は、715においてIoT環境をスキャンして「生」動きデータを検出する。本明細書において使用されるIoT動きモニタは、IoT環境内の動きを監視することができる任意のIoTデバイスに対応することができ、「生」動きデータは、IoT動きモニタによって検出できるが、まだ特定の動きシーケンス(動きシーケンスについては以下において詳細に説明する)の一部として認識されていない任意の動きを指すのに使用される。さらに、図7では、IoT動きモニタの数および同じくIoTデバイスの数を示すのに「N」が使用されるが、「N」は、IoT動きモニタおよびIoTデバイスのそれぞれの数がIoT環境間で異なることがあり、任意の特定のIoT環境におけるIoTデバイスの実際の数と動きモニタの実際の数が同じである場合もあるいは異なる場合もあることを伝えるものにすぎない。さらに、IoTデバイス1...Nのうちの1つが動きモニタ1...Nのうちの1つであることもあり得る。たとえば、IoT環境における動きを検出することができ、さらにイベント検出を行うこともできるIoT動きモニタは、図7に関してIoT動きモニタとIoTデバイスの両方と見なすことができる。たとえば、シーリングファンに組み込まれた動きモニタは、動きを検出することと、シーリングファンの「オン」、シーリングファンの「オフ」などのファンに関するイベントがいつ生じたかを記録することの両方を行うができる。
【００６０】
図7を参照すると、IoT動きモニタ1...Nは、715において得られた検出された生動きデータおよびそれに関連するタイミング情報を、720において周期的にIoTコントローラに報告する。705と同様に、IoTコントローラがリモートサーバである場合、720のレポートをインターネット接続を介して送信することができ、IoTコントローラがローカルサーバまたはローカルIoTデバイスである場合、720のレポートをIoT通信インターフェース(たとえば、Bluetooth（登録商標）、WiFiなど)を介して送信することができる。さらに、710と同様に、IoT動きモニタ1...Nは、725において、場合によっては二次環境データをIoTコントローラに報告することもできる。
【００６１】
図7を参照すると、705、710、720、および/または725において送信されるレポートは、IoTコントローラによってレポートを送信することをレポートごとに明示的に要求せずにIoTコントローラに「プッシュする」ことが可能であり、あるいは代替的に、IoTコントローラによって1つまたは複数のレポート要求を介してレポートを「プル」することができる。たとえば、IoTコントローラは、IoTデバイス1...Nおよび/またはIoT動きモニタ1...Nを周期的にポーリングしてそれぞれのレポートを収集することができ、あるいは代替的にIoTデバイス1...Nおよび/またはIoT動きモニタ1...NがそのレポートをポーリングなしにIoTコントローラに送信することができる。代替として、IoTコントローラは、IoTコントローラによってイベントが検出されたことに応答してIoTデバイス1...Nおよび/またはIoT動きモニタ1...Nをポーリングしてそれぞれのレポートを収集することができ、あるいは代替的に、IoTデバイス1...Nおよび/またはIoT動きモニタ1...Nが、最終的にレポートを送信するそれぞれのデバイスにおいてイベントが検出されたことに応答してそのレポートをIoTコントローラに送信することができる。
【００６２】
図7を参照すると、IoTコントローラは、730において、関連するイベントタイプ(たとえば、ライトスイッチ「オン」、シーリングファン「オフ」、サーモスタットが「冷房」または「暖房」に設定されることなど)ごとに705において報告されたイベントをログし、(場合によっては)任意の関連する二次環境データを記録する。735において、IoTコントローラは、報告された生動き検出データをスキャンして、報告されたイベントごとに、イベントに先行する時間のしきい値内に1つまたは複数の動きシーケンスが生じたかどうかを特定する。たとえば、IoTコントローラが午後10時23分22秒にライトスイッチ「オフ」イベントをログし、ライトスイッチ「オフ」イベントに使用される時間のしきい値が25秒であると仮定する。このことは、IoTコントローラが、午後10時23分22秒に先行する25秒の間にログされた生動き検出データをスキャンし、その期間内に何らかの動きシーケンスを特定できるかどうかを検出する。動きシーケンスは、ログされた生動き検出データから抽出することができる一連の動きで構成することが可能であり、これらの動きシーケンスは、ユーザがくつろいだ姿勢から立ち上がること、ユーザが右手を上げることなどの実際のユーザの動きに対応することができる。25秒の期間内に検出された任意の動きシーケンスが、その特定のイベントに関連付けてログに追加される。さらに、イベントが検出される前に動きシーケンスが探索されるしきい値期間(または走査窓)は、イベントタイプを含む任意の数の因子に基づいて変更することが可能である(たとえば、ユーザの環境の照明状況を変更したいユーザは比較的迅速に行動することが予期されるので、ライトスイッチイベントには5秒走査窓が割り振られてもよく、サーモスタットにおける温度/湿度設定変更イベントについては、ユーザがサーモスタットに変更を加える前にはより慎重になる場合があるのでより長い走査窓を割り振ることができる)。
【００６３】
この時点で、少なくとも1つのイベントタイプに関するいくつかのイベントがしきい値(たとえば、20、30など)を超えるまで735が複数のイベントについて繰り返される。735が特定の回数だけ繰り返された後、IoTコントローラは、740において特定のイベントタイプを動きシーケンスと相関付けることを試みる。たとえば、特定のライトスイッチ(またはIoT環境内の任意のライトスイッチ)が20回「オフ」にされた後、IoTコントローラは、そのライトスイッチがライトスイッチ「オフ」のイベントタイプに関する十分なサンプルサイズを有すると判定し、ライトスイッチ「オフ」のイベントタイプを動きシーケンスと相関付けることを試みてもよい。さらなる一例では、ライトスイッチ「オフ」の例を使用して、しきい値期間内の20回のライトスイッチ「オフ」イベントのうちの17回のライトスイッチ「オフ」イベントの前に「ユーザが右腕を上げる」動きシーケンスが生じ、しきい値期間内の20回のライトスイッチ「オフ」イベントのうちの6回のライトスイッチ「オフ」イベントの前に「ユーザが立ち上がる」動きシーケンスが生じ、しきい値期間内の20回のライトスイッチ「オフ」イベントのうちの1回のライトスイッチ「オフ」イベントの前に「ユーザが頭をかく」動きシーケンスが生じると仮定する。この情報を使用して、特定の動きシーケンスによって関連するライトスイッチ「オフ」のイベントタイプが生じる信頼レベルを生成することができる。たとえば、ライトスイッチ「オフ」の信頼レベルは、「ユーザが右腕を上げる」動きシーケンスについては85%であり、「ユーザが立ち上がる」動きシーケンスについては30%であり、「ユーザが頭をかく」動きシーケンスについては5%である。信頼レベルしきい値(たとえば、70%、80%など)は、信頼レベルがしきい値よりも低い動きイベント相関候補が無視されるように確立することが可能である。上述の例では、このことは、「ユーザが右腕を上げる」動きシーケンスが十分な信頼レベル(すなわち、85%)でライトスイッチ「オフ」イベントと相関付けられているが、他の動きシーケンスは、しきい値信頼レベルではライトスイッチ「オフ」イベントと相関付けられないことを意味する。
【００６４】
745において、740の相関付けを場合によっては1つまたは複数の二次因子に基づいて改善することができる。たとえば、ユーザはおそらく、スイッチを軽く押す「オフ」イベントまたは「オン」イベントを実行する前にライトスイッチまで歩いていく。しかし、ユーザは、ライトスイッチを軽く押す意図を有さずに時々IoT環境全体にわたって歩く可能性が最も高い。したがって、「ユーザが歩いている」イベントを検出しただけでは、ライトスイッチが軽く押されるという推測はなされない。したがって、特定のイベントとは無関係に頻繁に生じる動きシーケンスは、そのイベントとの相関付けから除外される。この場合、この動きシーケンス(たとえば、「ユーザが歩いている」)が全体的に優先され、信頼レベルを低下させることによって、動きイベント相関付け候補が無相関状況に再特徴付けされる(または改善される)。言い換えれば、信頼レベルは、特定の動きシーケンスが特定のイベントタイプに先行する可能性だけでなく、特定のイベントタイプが特定の動きシーケンスの後に生じる可能性も反映する。それによって「汎用」動きシーケンスは、以下においてより詳細に説明するように信頼レベルを高くする1つまたは複数の二次因子が存在しない限り、相関付けから除外される。
【００６５】
別の例では、「ユーザが額をこする」などのイベントが、ユーザが頭痛を有するか、あるいは代替的に、ユーザが暑さを感じているのでユーザの額が汗ばんでいることを示す場合がある。ユーザが暑さを感じている場合、ユーザがサーモスタットの設定値を調整する可能性が高い。このことを考慮すると、「ユーザが額をこする」ことが「ユーザがサーモスタットの温度を低下させる」イベント全体に先行する信頼レベルは5%にすぎない場合があるが、ユーザが位置する場所の現在の周囲室内温度が温度しきい値(たとえば、85°F)を超えている場合、「ユーザが額をこする」ことが「ユーザがサーモスタットの温度を低下させる」イベントに先行する信頼レベルは70%に達することがある。この場合、710または725において現在の周囲室内温度を二次環境データの一部として報告することができ、この特別の(または二次)情報を、「ユーザがサーモスタットの温度を低下させる」イベントに「ユーザが額をこする」動きシーケンスが先行する信頼レベルを改善するための追加の条件として使用することができる。
【００６６】
別の例では、ユーザは、毎晩ユーザのリビングルームにおいてTVを見ながら眠る習慣を有する場合があり、ユーザは、目覚めた後、一般にTVおよびユーザの家の中のライトをオフにし、次いで床に就く。この場合、この動きシーケンスに関連して考慮することのできる二次因子は時間である。特に、「ユーザがリモコンを掴んでTV画面の方に向ける」動きシーケンスは、(たとえば、ユーザは、日中にTVをオンにするかまたはチャンネルを変えるときにこのアクションを実行するので)「TVおよびライトをオフにする」イベント全体に先行する信頼レベルが2%になる場合があるが、TVが「オン」状態である深夜から午前5時までの間に検出されたときには信頼レベルが99%になる場合がある。この場合、710または725においてTV状況が「オン」であることを二次環境データの一部として報告することができ、このTV状態情報を、「ユーザがTVおよびライトをオフにする」イベントに「ユーザがリモコンを掴んでTV画面の方に向ける」動きシーケンスが先行する信頼レベルを改善するための現在の時間とともに使用することができる。
【００６７】
別の例では、二次因子がIoTデバイス1...Nまたは動きモニタ1...Nから報告される環境データに基づく必要はない。たとえば、ユーザが野球およびバスケットボールの熱心なファンであり、特定のチームを応援している場合がある。ユーザのひいきのチームの野球の試合がチャンネル5で放送される野球シーズンの間、「ユーザがリモコンを掴んでTV画面の方に向ける」動きシーケンスは、(必要に応じて)TVをオンにして(まだチャンネル5に調整されていない場合に)チャンネル5に調整することに関して92%の信頼レベルを有する場合がある。ユーザのひいきのチームのバスケットボールの試合がチャンネル9で放送されるバスケットボールシーズンの間、「ユーザがリモコンを掴んでTV画面の方に向ける」動きシーケンスは、(必要に応じて)TVをオンにして(まだチャンネル9に調整されていない場合に)チャンネル5に調整することに関して87%の信頼レベルを有する場合がある。したがって、特定のイベントタイプに特定の動きシーケンスが先行する信頼レベルを改善するために、現在のTVスケジューリング情報を二次因子としてのスポーツに対するユーザの関心と組み合わせて使用することができる。
【００６８】
別の例では、二次因子に、745において求められる1つまたは複数の相関を改善するように働く負のフィードバックを含めることができる。たとえば、「ユーザが両手を上げる」動きシーケンスと「TVをオンにする」イベントとの間の信頼レベルが82%である相関が検出され、IoTコントローラがこの相関を使用して、「ユーザが両手を上げる」動きシーケンスが検出されたときはいつでもプリエンプティブにTVをオンにすることを開始すると仮定する。しかし、プリエンプティブにTVをオンにしたことに応答して、TVは、ユーザがしきい値期間(たとえば、30秒など)内にTVをオフにすることをIoTコントローラに報告する。これは、ユーザがTVをオンにしたくなかったことと、ユーザが手動でTVをオフにする必要があることを嫌がる可能性が高いことの暗黙的な表示である。負のフィードバック(たとえば、ユーザが事前相関トリガイベントを無効にすることなど)を使用して、相関に関連する信頼レベルを低下させるか、または場合によっては相関を完全に排除することによって相関を改善することができる。代替として、負のフィードバックを使用して、相関の前提条件である追加の条件を特定することができる。たとえば、IoTコントローラが、午後10時から午前5時までの間にTVがプリエンプティブにオンにされたときにのみユーザがTVをオフにすると経時的に判定した場合、午後10時から午前5時までの間相関を非アクティブ化することによって負のフィードバックによって相関を向上させることができる。したがって、相関トリガイベントを無効にする明示的なユーザアクションを使用して、特定された相関をさらに改善することができる。
【００６９】
別の例では、二次因子に、745において求められる1つまたは複数の相関を改善するように働く状態情報を含めることができる。この状態情報は、IoT環境における対象物の状態(または状態履歴)を特徴付ける(TVの利用可能な状態のセットは「オン」、「オフ」、「通常の音量でのオン」、「消音でのオン」などとすることが可能である)。たとえば、ライトを「オフ」状態にするのに使用されるのと同じ動きを使用してライトを「オン」状態にすることもできる。この場合、オフオンイベントまたはオンオフイベントは部分的にライトの現在の状態に基づき、すなわち、ライトが「オン」状態である場合、動きが「オフ」状態への遷移をトリガし、ライトが「オフ」状態である場合、動きが「オン」状態への遷移をトリガする。したがって、単一の動き(たとえば、このようなライトの変更を誘導する動き)を使用して、状態情報に応じて異なるタイプのイベントをトリガすることができる。
【００７０】
さらに、上記の例はバイナリである(たとえば、ライトは「オン」または「オフ」のいずれかであり、連続する各動きは2つの状態を切り替えるにすぎない)が、他の例には2つよりも多くの状態またはそれぞれに異なる状態遷移パターンを含めることができる。たとえば、TVの音量を上げるかまたはTVをオンにするのに使用される第1の動きおよびTVの音量を下げるかまたはTVをオフにするのに使用される第2の動きを考える。さらに、TVがオンにされかつ高音量に設定されているときには第1の動きが何のイベントもトリガせず、TVがオンにされかつ消音に設定されているときには第2の動きがTVをオフにするように働くと仮定する。(以下の)Table 1(表1)は、これらの仮定の下で現在のTV状態に基づいて生じる可能性のある例示的な一連の状態遷移を示す。
【００７１】
【表１】
0006581093.tif 000002
【００７２】
したがって、二次因子は、Table 1(表1)(上記)に示すように、状態ベースのニュアンスをイベントトリガリングに付加するのに使用することが可能である。別の例では、状態履歴を使用して相関を改善することができる。たとえば、自動販売機が「牛乳」または「水」を提供することができ、かつIoTコントローラが、いずれかの飲料を吐出させるのをトリガするための共通のベンディング動きシーケンスを使用するユーザを検出すると仮定する。次に、ユーザが「水」を2回吐出させ、その後「牛乳」を1回吐出させ、以後同様の動きを繰り返す確実な習慣を有すると仮定する。したがって、例示的な状態履歴は[牛乳、水、水、牛乳、水、水、牛乳...]になる。それによって、前の3つの状態が[...牛乳、水、水]である場合、次の状態は「牛乳」であると予測することが可能であり、それによって、共通のベンディング動きシーケンスは、この時点では、より一般的には「水」を吐出させるのと同じ動きシーケンスが使用されるにもかかわらず、「水」ではなく「牛乳」をトリガする。したがって、状態履歴を使用してイベント動きシーケンス相関を改善することもできる。
【００７３】
図7のプロセスは、動きシーケンスと様々なイベントとの間の複数の相関が確認されるようにある期間にわたって繰り返すことができる。IoTコントローラが、経時的に、(1つまたは複数の二次因子とは無関係にあるいは1つまたは複数の二次因子に関連して)複数のイベントに相関付けられる動きシーケンスを特定し、それによって、単一の動きシーケンスが複数のイベントと相関付けられるためのしきい値信頼レベルを満たすことが可能である。
【００７４】
一実施形態では、740において求められる初期信頼レベルと745において実施される任意の改善の両方が、様々なIoTデバイスおよび動きモニタがIoT環境に装備された後に経時的に学習され、初期信頼レベルおよび改善が、IoTデバイスおよび動きモニタが装備される前に事前にプログラムされることはない。イベントに先行する動きシーケンスを特定して特定の動きシーケンスとアクションとの間の相関をユーザ固有の方法で動的に確認するために実際の実世界イベント検出が使用される。言い換えれば、IoTコントローラは、IoT環境においてユーザによって自然に使用される動きシーケンスを学習することを試み、ユーザ自身が、アクションをトリガするための事前にプログラムされた動きシーケンスを覚えることを要求されることはない。
【００７５】
図8Aは、本発明の一実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。特に、図8Aの実施形態は、生動きデータがIoTコントローラに報告され、IoTコントローラが報告された生動きデータ内の任意の動きシーケンスを特定し相関付けられた任意のイベントを判定する役割を果たす中央集権的手法を対象とする。さらに、IoTコントローラは、同じ動きが複数のイベントと相関付けられるシナリオにおいてどのイベントがトリガされたかを判定する役割を果たす(たとえば、状態ベースのイベントトリガリングに関する上記の説明を参照されたい)。たとえば、同じ動きがライトをオンにしかつオフにし、所望の結果は現在の状態に依存する(たとえば、ライトの現在の状態が「オン」である場合動きは「オフ」イベントをトリガし、他の場合についても同様である)。この場合、IoTコントローラは、現在の状態テーブルに問い合わせ、現在の状態を状態変化の履歴と相互参照してトリガすべき適切なイベントを特定する。
【００７６】
図8Aを参照すると、IoTコントローラは、図7のプロセスを実行した後、800において、(二次因子とは無関係にあるいは二次因子に関連して)しきい値信頼レベルにおけるイベントタイプのセットと相関付けられる動きシーケンスのセットを指定する動きイベント相関テーブルを維持する。IoT動きモニタ1...Nは、805および810において(たとえば、図7の715および720と同様に)引き続きIoT環境において生動きデータを検出してIoTコントローラに報告する。さらに、IoTデバイス1...NおよびIoT動きモニタ1...Nは、815および820において(たとえば、図7の710および725と同様に)引き続き、場合によっては二次環境データを検出してIoTコントローラに報告する。
【００７７】
図8Aを参照すると、810、815、および/または820において送信されるレポートは、IoTコントローラによってレポートを送信することをレポートごとに明示的に要求せずにIoTコントローラに「プッシュする」ことが可能であり、あるいは代替的に、IoTコントローラによって1つまたは複数のレポート要求を介してレポートを「プル」することができる。たとえば、IoTコントローラは、IoTデバイス1...Nおよび/またはIoT動きモニタ1...Nを周期的にポーリングしてそれぞれのレポートを収集することができ、あるいは代替的にIoTデバイス1...Nおよび/またはIoT動きモニタ1...NがそのレポートをポーリングなしにIoTコントローラに送信することができる。同様に、IoTコントローラは、IoTコントローラによってイベントが検出されたことに応答してIoTデバイス1...Nおよび/またはIoT動きモニタ1...Nをポーリングしてそれぞれのレポートを収集することができ、あるいは代替的に、IoTデバイス1...Nおよび/またはIoT動きモニタ1...Nが、最終的にレポートを送信するそれぞれのデバイスにおいてイベントが検出されたことに応答してそのレポートをIoTコントローラに送信することができる。
【００７８】
IoTコントローラは、825において、報告された生動き検出データを監視し、830において、動きイベント相関テーブル内の動きシーケンスのセットにおける任意の動きシーケンスが検出されるかどうかを判定する。IoTコントローラが、830において動きシーケンスのセットにおける動きシーケンスを検出しない場合、プロセスは825に戻り、IoTコントローラは引き続き、報告された生動き検出データを監視する。これに対して、IoTコントローラは、830において動きシーケンスのセットにおける動きシーケンスのうちの1つを検出した場合、835において、場合によっては、検出された動きシーケンスがしきい値信頼レベルにおいてイベントタイプ相関に必要な1つまたは複数の二次因子に整合するかどうかを判定する。上述のように、二次因子には、TVスケジューリング情報、周囲室内温度データ、時刻または曜日などを含めることができる。IoTコントローラが、835において、検出された動きシーケンスがしきい値信頼レベルにおいてイベントタイプ相関に必要な1つまたは複数の二次因子に整合しないと判定した場合、プロセスは825に戻り、IoTコントローラは、引き続き報告される生動き検出データを監視する。これに対して、IoTコントローラは、835において、検出された動きシーケンスがしきい値信頼レベルにおいてイベントタイプ相関に必要な1つまたは複数の二次因子に整合すると判定した場合(あるいは検出された動きシーケンスがイベントタイプ相関に関する二次因子に依存しない場合)、840において、検出された動きシーケンスに相関付けられたイベントタイプを有するイベントをプリエンプティブにトリガするための1つまたは複数の信号を送信する。たとえば、相関付けられたイベントタイプがライトスイッチ「オン」およびシーリングファン「オン」である場合、IoTコントローラは、直接的なユーザ対話なしにライトスイッチを「オン」にし、シーリングファンを「オン」にするよう指示する信号を特定のライトスイッチおよび特定のシーリングファンに送信してもよい。845において、IoTデバイス1...Nのうちの1つまたは複数は、IoTコントローラから信号を受信し、イベントに関する1つまたは複数のアクションを実行する。上記の開示から諒解されるように、840においてIoTコントローラによってトリガされる特定のイベント(またはアクション)は、状態情報に基づくことが可能である(たとえば、特定の動きシーケンスは、ライトの状態が「オフ」である場合にライトに関する「オン」イベントをトリガし、一方、ライトの状態が「オン」である場合にライトに関する「オフ」イベントをトリガし、他の場合についても同様である)。
【００７９】
図8Aを参照すると、IoTコントローラは、845、850〜855において、場合によっては、イベントの実行を容易にするために1つまたは複数の二次イベントをトリガすることもできる。たとえば、845において実行されるイベントが「主浴室においてお湯のシャワーを開始する」ことであり、IoTコントローラが、ユーザが通常、シャワーのたびに25ガロンのお湯を使用し、シャワー用のお湯タンクには現在30ガロンのお湯が入っており、洗濯機が15ガロンのお湯を使用することが予期される洗濯サイクルを開始することを認識していると仮定する。この情報は、(たとえば、お湯タンクおよび洗濯機がIoTデバイス1...Nに含まれる場合)815および/または820において報告される二次環境データから少なくとも部分的に確認することが可能である。一例では、IoTコントローラは、シャワーが終わるまで洗濯サイクルを遅延させる二次イベントをトリガすることによって「主浴室においてお湯のシャワーを開始する」イベントを洗濯機の洗濯サイクルよりも優先することができる。別の例では、IoTコントローラは、シャワーまたは洗濯サイクル(またはその両方)によって使用される水の温度を低下させることによって両方のイベントのタイミングに対処することを試みることができる。図8Aには明示的に示されていないが、ユーザは場合によっては、二次イベントの通知を受けることができる(たとえば、「洗濯サイクルに対処するためにシャワーのお湯の温度を下げます」、「シャワー用のお湯を確保するためにシャワーが終わるまで洗濯サイクルを中断します」など)。
【００８０】
図8Bは、本発明の別の実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。図8Bを参照すると、800B〜835Bは、それぞれ図8Aの800〜835に対応しており、簡潔のためにこれ以上説明しない。
【００８１】
図8Aとは異なり、図8Bでは、IoTコントローラは、825B〜835Bにおいて検出された動きシーケンスと十分に相関付けられたイベントを特定した後、840Bにおいて、イベントを実行しないと決定する。イベントを実行しないことによってイベント相関を無効にすることの決定は、815Bまたは820Bにおいて報告される二次環境データを含む様々な因子に基づくことが可能である。たとえば、825B〜835Bにおいて検出された動きシーケンスに相関付けられるイベントは「台所のライトをオンにする」であるが、IoTコントローラは、(先験的にあるいはライトをオンにする試みが失敗したことによって)台所のライトが壊れているかまたは電力を供給されていないことを認識している。したがって、840Bの決定は、イベントが不可能であるかまたは実際的でないとの判定に対応することが可能である。別の例では、イベントが「主浴室においてお湯のシャワーを開始する」ことであり、IoTコントローラが、ユーザの家庭において現在他の2つのお湯のシャワーがアクティブであり、かつ給湯器がすべての3つのシャワーに同時に対処することができないことを認識していると仮定する。この場合、イベントに部分的に対処することができるが、すでにシャワーを使用している他のユーザを犠牲にする場合に限られる。したがって、840Bの決定は、イベントが(少なくとも部分的に)可能であるが推奨されないとの判定に対応することが可能である。
【００８２】
IoTコントローラは、840Bにおいてイベントを実行しないと決定した後、850Bにおいてイベントが実行されないことをユーザに伝え、さらに場合によってはイベントが実行されない理由をユーザに伝えるために、場合によっては、845BにおいてIoTデバイス1...Nのうちの1つまたは複数に警告を送信する。たとえば、ユーザのIoTフォンに「台所のライトがオンになりません」または「台所の電球が切れているので台所のライトがオンになりません」を表示するように促すことができる。別の例では、ユーザの浴室内のIoT無線に、スピーカを介して「お湯が不十分なのでシャワーはオンになりません。シャワーを利用するには10分お待ちください」を出力するよう促すことができる。上記の開示から諒解されるように、840BにおけるイベントをトリガしないというIoTコントローラによる決定は、状態情報に基づくことが可能である(たとえば、特定の動きシーケンスは、TVの状態が「オフ」である場合にTVに関する「オン」イベントをトリガし、一方、TVがすでに「オン」状態である場合には「オン」イベントをトリガせず、他の場合についても同様である)。
【００８３】
図8Bにおいて、自動イベントまたは事前イベントがプリエンプティブにあるいは相関トリガ式に実行されることはないが、ユーザは依然としてイベントを手動で実行することを試みることができる。したがって、一例では、IoTコントローラが台所の電球が切れていることを認識しているにもかかわらず、ユーザは、電球を交換する前に電球の状況を確認するためにライトスイッチを軽く押すことを試みてもよい。別の例では、IoTコントローラがユーザのシャワーよりも既存のシャワーのお湯を優先するにもかかわらず、ユーザが急いでおり、熱いお湯が利用可能になるのを待つのではなく冷たいシャワーまたはぬるいシャワーをすぐに利用することを望む場合がある。
【００８４】
図9Aは、本発明の別の実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。図8Aとは異なり、図9Aの実施形態は、個々のIoT動きモニタが報告された生動きデータ内の任意の動きシーケンスを特定し相関付けられた任意のイベントを判定する役割を果たす分散手法を対象とする。
【００８５】
図9Aを参照すると、IoTコントローラは、図7のプロセスを実行した後、900において、(二次因子とは無関係にあるいは二次因子に関連して)しきい値信頼レベルにおけるイベントタイプのセットと相関付けられる動きシーケンスのセットを指定する動きイベント相関テーブルを有するようにIoT動きモニタ1...Nを構成する。IoT動きモニタ1...Nはその後、この機能を実行するうえでIoTコントローラに依存せずに動きイベント相関テーブル(場合によっては二次因子も含む)を維持する。図9Aには明示的に示されていないが、新しいイベントタイプが特定の動きシーケンスに相関付けられ、ならびに/あるいは他のイベントタイプはそれにすでに相関付けられている動きシーケンスとは相関付けられず、それによって、IoT動きモニタ1...Nが比較的新しい動きイベント相関テーブルを維持することができるので、900〜905を繰り返すことができる。
【００８６】
図9Aを参照すると、910において、IoT動きモニタ1...Nは、IoT環境において生動きデータを引き続き検出する。図9Aには示されていないが、追加の動きイベント相関を特定することを目的として、図7の720と同様に、910において検出された生動きデータをIoTコントローラに報告することができる。さらに、IoTデバイス1...NおよびIoT動きモニタ1...Nは、915および920において(たとえば、図7の710および725と同様に)引き続き、場合によっては二次環境データを検出してIoTコントローラに報告する。IoTデバイス1...Nは、図9Aの915において二次環境データを(たとえば、上述のようにプッシュプロトコルまたはプルプロトコルを介して)IoT動きモニタ1...Nに報告するが、IoT動きモニタは、図9Aにおいて二次環境データがIoTコントローラに報告されるように示されないように、二次環境データをローカルに使用して動きシーケンスを検出するように構成される。しかし、図9Aには示されていないが、追加の動きイベント相関を特定する(かつ相関の改善を助ける)ことを目的として、図7の710および725と同様に、915または920において取得された二次環境データをIoTコントローラに報告することもできる。
【００８７】
IoT動きモニタ1...Nの各々は、925においてIoT動きモニタ自体の検出された生動き検出データを監視して、(たとえば、中央集権化されたIoTコントローラではなく個々のIoT動きモニタによって分散的に実施されることを除いて図8Aの830と同様に)930において動きイベント相関テーブル内の動きシーケンスのセットにおける任意の動きシーケンスが検出されるかどうかを判定する。所与のIoT動きモニタが、930において、動きシーケンスのセットにおける動きシーケンスがIoT動きモニタ自体の検出された生動き検出データ内に存在することを検出しない場合、プロセスは925に戻り、所与のIoT動きモニタは引き続き、IoT動きモニタ自体の検出された生動き検出データを監視する。これに対して、所与のIoT動きモニタは、930において動きシーケンスのセットにおける動きシーケンスのうちの1つを検出した場合、935において、(たとえば、中央集権化されたIoTコントローラではなく個々のIoT動きモニタによって分散的に実施されることを除いて図8Aの835と同様に)場合によっては、検出された動きシーケンスがしきい値信頼レベルにおいてイベントタイプ相関に必要な1つまたは複数の二次因子に整合するかどうかを判定する。
【００８８】
上述のように、二次因子には、TVスケジューリング情報、周囲室内温度データ、時刻または曜日などを含めることができる。所与のIoT動きモニタが、935において、検出された動きシーケンスがしきい値信頼レベルにおいてイベントタイプ相関に必要な1つまたは複数の二次因子に整合しないと判定した場合、プロセスは925に戻り、所与のIoT動きモニタは、引き続きそれ自体の検出された生動き検出データを監視する。これに対して、所与のIoT動きモニタは、935において、検出された動きシーケンスがしきい値信頼レベルにおけるイベントタイプ相関に必要な1つまたは複数の二次因子に整合すると判定した場合(あるいは検出された動きシーケンスがイベントタイプ相関に関する二次因子に依存しない場合)、940において、(たとえば、中央集権化されたIoTコントローラではなく個々のIoT動きモニタによって分散的に実施されることを除いて図8Aの840と同様に)検出された動きシーケンスに相関付けられたイベントタイプを有するイベントをプリエンプティブにトリガするための1つまたは複数のシグナリングメッセージを送信する。
【００８９】
たとえば、相関付けられたイベントタイプがライトスイッチ「オン」およびシーリングファン「オン」である場合、所与のIoT動きモニタは、直接的なユーザ対話なしにライトスイッチを「オン」にし、シーリングファンを「オン」にするよう指示する信号を特定のライトスイッチおよび特定のシーリングファンに送信してもよい。945において、IoTデバイス1...Nのうちの1つまたは複数は、所与のIoT動きモニタから信号を受信し、イベントに関する1つまたは複数のアクションを実行する。950において、所与のIoT動きモニタは、場合によっては、(たとえば、中央集権化されたIoTコントローラではなく個々のIoT動きモニタによって分散的に実施されることを除いて図8Aの850に関して上記において説明したように)945においてトリガされるイベントを推進するために1つまたは複数の二次イベントをトリガし、IoTデバイス1...Nのうちの1つまたは複数は、955において、(たとえば、図8Aの855に関して上記において説明したように)1つまたは複数の二次イベントを実行する。上記の開示から諒解されるように、940においてIoT動きモニタによってトリガされる特定のイベント(またはアクション)は、状態情報に基づくことが可能である(たとえば、特定の動きシーケンスは、ライトの状態が「オフ」である場合にライトに関する「オン」イベントをトリガし、一方、ライトの状態が「オン」である場合にライトに関する「オフ」イベントをトリガし、他の場合についても同様である)。
【００９０】
図9Bは、本発明の別の実施形態による、動きシーケンス相関に基づいてイベントをプリエンプティブにトリガするプロセスを示す図である。図9Bを参照すると、900B〜935Bは、それぞれ図8Aの800〜835に対応しており、簡潔のためにこれ以上説明しない。
【００９１】
図9Aとは異なり、図9Bでは、所与のIoT動きモニタは、925B〜935Bにおいて検出された動きシーケンスと十分に相関付けられたイベントを特定した後、(たとえば、中央集権化されたIoTコントローラではなく個々のIoT動きモニタによって分散的に実施されることを除いて図8Bの840Bに関して上記において説明したように)940Bにおいてイベントを実行しないと決定する。所与のIoT動きモニタは、940Bにおいてイベントを実行しないと決定した後、(たとえば、図8Bの850Bに関して上記において説明したように)950Bにおいてイベントが実行されないことをユーザに伝え、さらに場合によってはイベントが実行されない理由をユーザに伝えるために、場合によっては、(たとえば、中央集権化されたIoTコントローラではなく個々のIoT動きモニタによって分散的に実施されることを除いて図8Bの845Bに関して上記において説明したように)945BにおいてIoTデバイス1...Nのうちの1つまたは複数に警告を送信する。上記の開示から諒解されるように、940BにおけるイベントをトリガしないというIoT動きモニタによる決定は、状態情報に基づくことが可能である(たとえば、特定の動きシーケンスは、TVの状態が「オフ」である場合にTVに関する「オン」イベントをトリガし、一方、TVがすでに「オン」状態である場合には「オン」イベントをトリガせず、他の場合についても同様である)。
【００９２】
図10は、本発明の一実施形態による、動きデータについて問い合わせるプロセスを示す図である。図7〜図9Bに関して上記において説明したように、図7の715〜720において報告された動きデータを使用して、IoT環境においてイベントを選択的に(かつプリエンプティブに)トリガするのに使用されるシーケンスイベント相関を開発することができる。しかし、また、動きデータを追跡するデバイスのうちの任意のデバイスが、関与する1つまたは複数のデバイスに動きデータを分配することもできると考えられる。
【００９３】
図10を参照すると、1000において、図7の740よりも後のある時点で、所与のデバイス(たとえば、IoT環境に装備されたIoTデバイス、IoT環境からリモートに位置するデバイスなど)が、IoT環境に関する動きデータをフェッチし、動きデータに関する問合せを動きロギングデバイスに送信することを決定する。たとえば、所与のデバイスは、IoT環境に装備されたIoTデバイス(たとえば、サーモスタットなど)に対応することが可能である。別の例では、所与のデバイスはIoT環境からリモートに位置するデバイスに対応することが可能である(たとえば、リモートユーザは、動き監視を幼児監視機能の一部として使用する親であってもよく、その場合、問合せは、IoT環境における幼児に関係する動きデータに関する問合せなどである)。動きロギングデバイスは、IoTコントローラとして働くことのない個々のIoT動きモニタまたはIoTコントローラ自体に対応することが可能である。動きロギングデバイスが個々のIoT動きモニタに対応する場合、問合せは、その特定のIoT動きモニタによってログされた動きデータを問い合わせる働きをする。動きロギングデバイスがIoTコントローラに対応する場合、問合せは、IoTコントローラが動きデータを収集する任意のIoT動きモニタからログされた動きデータを問い合わせる働きをすることができる。
【００９４】
図10の1000を参照すると、一例では、問合せは、要求される動きデータのタイプに関して汎用である(たとえば、「IoT環境において検出されたすべての最近の動きデータを返す」)かまたは要求される動きデータのタイプに関して特定的である(たとえば、「すべてのログされた生動きデータの履歴を返す」、「少なくとも2つの異なるイベントと相関付けられ、4時間前以内にIoT環境において検出された動きシーケンスを返す」、「相関付けられておらず先週の月曜日から金曜日までの午後4時から午後6時までの間に検出された動きシーケンスを返す」、「単一のイベントと相関付けられ、台所の近傍に装備されたIoTモニタによってのみ15分前以内にIoT環境において検出された動きシーケンスを返す」など)ことが可能である。
【００９５】
1005において、監視ロギングデバイスは、1000における問合せを満足する動きデータを特定することを試みる。諒解されるように、動きロギングデバイスは、問合せのパラメータを報告された生動きデータおよび/またはIoT環境において検出された(相関付けられたまたは相関付けられていない)動きシーケンスと比較することができる。本明細書で使用する「相関付けられていない」動きシーケンスは、IoT環境において観測されたが、まだ所与の信頼レベルにおける任意のイベントと相関付けられていない動きシーケンスにすぎない。1010において、動きロギングデバイスによって、問合せを満足する任意の動きデータが問合せデバイスに返される。図示されていないが、問合せデバイス(またはそのユーザ)は、返された動きデータの分析に基づいて1つまたは複数のアクションを実行することを選択してもよい。
【００９６】
情報および信号が多種多様な異なる技術および技法のいずれかを使用して表すことができることを、当業者は理解されよう。たとえば上記説明全体を通して参照することができるデータ、命令、指令、情報、信号、ビット、記号およびチップは、電圧、電流、電磁波、磁界または粒子、光学場または粒子、あるいはそれらの任意の組合せによって表すことができる
【００９７】
さらに、本明細書で開示する態様に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は理解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、一般的にそれらの機能性に関してこれまで説明されてきた。そのような機能性がハードウェアとして実現されるか、またはソフトウェアとして実現されるかは、具体的な適用例および全体的なシステムに課される設計制約によって決まる。当業者は、説明される機能を具体的な応用形態ごとに様々な方法で実現することができるが、そのような実現の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
【００９８】
本明細書に開示する態様と関連して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、個別のゲートもしくはトランジスタロジック、個別のハードウェア部品、または本明細書に記載した機能を行うように設計されたこれらの任意の組合せを用いて、実装または実行され得る。汎用プロセッサを、マイクロプロセッサとすることができるが、代替案では、プロセッサを、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)として実装され得る。
【００９９】
本明細書において開示する態様に関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接具現され得る。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読取り、そこに情報を書込みできるようにプロセッサに結合される。代替案では、記憶媒体は、プロセッサに一体とされ得る。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICはIoTデバイス内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別の構成要素として存在し得る。
【０１００】
1つまたは複数の例示的な態様では、述べられる機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで、実施され得る。ソフトウェアに実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、または、コンピュータ可読媒体を介して送信される場合がある。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできるすべての使用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク(disc)ストレージ、磁気ディスク(disk)ストレージもしくは他の磁気ストレージデバイス、あるいは命令もしくはデータ構造の形で所望のプログラムコードを担持しまたは記憶するのに使用でき、コンピュータによってアクセスできる任意の他の媒体を含むことができる。また、任意の接続は、適切にコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、CD、レーザディスク(disc)、光ディスク(disc)、DVD、フロッピーディスク(disk)およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。前述の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１０１】
上記の開示は本開示の例示的な態様を示すが、添付の特許請求の範囲によって規定される本開示の範囲から逸脱することなく、本明細書で様々な変更および修正が行われ得ることに留意されたい。本明細書で説明した本開示の態様による方法クレームの機能、ステップおよび/または動作は、特定の順序で実施される必要はない。さらに、本開示の要素は、単数形で記載または特許請求されている場合があるが、単数形に限定することが明示的に述べられていない限り、複数形が考えられる。
【符号の説明】
【０１０２】
100A、100B、100C  ワイヤレス通信システム
105  受動IoTデバイス
108  エアインターフェース
109  有線接続
110  テレビジョン、IoTデバイス
112  屋外空調機、IoTデバイス
114  温度自動調整器、IoTデバイス
116  冷蔵庫、IoTデバイス
116A、116B  IoTデバイス
118  洗濯機および乾燥機、IoTデバイス
120  コンピュータ
122A、122B  IoTデバイス
124A、124B  IoTデバイス
125  アクセスポイント
130  IoTマネージャ、スーパーバイザデバイス
140、140A、140B  IoT SuperAgent
145  ゲートウェイ機能
152  アプリケーションレイヤ
154  CMPレイヤ
156  トランスポートレイヤ
158  物理レイヤ
160  IoTグループ、IoTデバイスグループ
160A、160B  IoTデバイス
170  IoTサーバ
175  インターネット
180  リソース
200A  IoTデバイス
202  プラットフォーム
206  トランシーバ
208  プロセッサ
210  カメラ
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  寝室
515  台所
520  玄関
525  浴室
600  マルチユーザIoT環境
605  会議室
610  オフィス
640  キッチン
645  受付け
【図１Ａ】
0006581093.tif 000003
【図１Ｂ】
0006581093.tif 000004
【図１Ｃ】
0006581093.tif 000005
【図１Ｄ】
0006581093.tif 000006
【図１Ｅ】
0006581093.tif 000007
【図２Ａ】
0006581093.tif 000008
【図２Ｂ】
0006581093.tif 000009
【図３】
0006581093.tif 000010
【図４】
0006581093.tif 000011
【図５】
0006581093.tif 000012
【図６】
0006581093.tif 000013
【図７】
0006581093.tif 000014
【図８Ａ】
0006581093.tif 000015
【図８Ｂ】
0006581093.tif 000016
【図９Ａ】
0006581093.tif 000017
【図９Ｂ】
0006581093.tif 000018
【図１０】
0006581093.tif 000019