(57)【要約】  ティーチャシグナリングデバイスによって、学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得するためのオペレーションと、ティーチャシグナリングデバイスによって、取得された目的データに基づきティーチングルーチンを生成するためのオペレーションと、ティーチャシグナリングデバイスによって、生成されたティーチングルーチンに基づき学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されティーチング信号をブロードキャストするためのオペレーションとを備える一実施形態の方法を含む、非集中システム内の学習デバイスに対してプロキシティーチングを実行するための様々な実施形態が提供される。他の実施形態は、リフレックス情報を学習デバイスに要求するか、または学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることによって目的データを取得し得る。他の実施形態は、付近の学習デバイスを識別するため発見信号をブロードキャストすることと、生成されたティーチングルーチンの目的が達成され得ないときにティーチングルーチンを修正することとを含み得る。他の実施形態は、ティーチング信号をブロードキャストするかどうかを決定するために認可要求をユーザデバイスに送信することを含み得る。
2016526221.tif 000002
【特許請求の範囲】
【請求項１】
ティーチャシグナリングデバイスが非集中システム内の学習デバイスに対するプロキシティーチングを実行するための方法であって、
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することと、
前記ティーチャシグナリングデバイスによって、前記取得された目的データに基づきティーチングルーチンを生成することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることとを備える方法。
【請求項２】
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが、
前記ティーチャシグナリングデバイスによって、前記学習デバイスにリフレックス情報を要求する信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信することと、
前記ティーチャシグナリングデバイスによって、前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得することとを備える請求項１に記載の方法。
【請求項３】
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが、
前記ティーチャシグナリングデバイスによって、前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得することとを備える請求項１に記載の方法。
【請求項４】
前記ティーチャシグナリングデバイスによって、前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正することとをさらに備える請求項１に記載の方法。
【請求項５】
前記ティーチャシグナリングデバイスによって、認可要求をユーザデバイスに送信することと、
前記ティーチャシグナリングデバイスによって、前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定することとをさらに備え、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記ティーチャシグナリングデバイスによって、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備える請求項１に記載の方法。
【請求項６】
前記ティーチャシグナリングデバイスによって、前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストすることとをさらに備える請求項１に記載の方法。
【請求項７】
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストすることをさらに備える請求項１に記載の方法。
【請求項８】
前記ティーチャシグナリングデバイスによって、前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新することと、
前記ティーチャシグナリングデバイスによって、前記更新された記憶されているデータを表示することとをさらに備える請求項１に記載の方法。
【請求項９】
前記ティーチャシグナリングデバイスによって、前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスを含む環境の少なくとも一部の画像を取得することと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスを前記取得された画像のセグメントに相関させることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージに基づき前記学習デバイスの間の関係を識別することと、
前記ティーチャシグナリングデバイスによって、前記取得された画像上の前記識別された関係を指示するグラフィカルユーザインターフェース要素を表示することと、
前記ティーチャシグナリングデバイスによって、前記識別された関係に関係するグラフィカルユーザインターフェース要素上で第１のユーザ入力を受信したことに応答してイベントレポートメッセージをブロードキャストすることとをさらに備える請求項１に記載の方法。
【請求項１０】
前記識別された関係に関係する前記グラフィカルユーザインターフェース要素を調整する第２のユーザ入力を受信することをさらに備え、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記ティーチャシグナリングデバイスによって、前記グラフィカルユーザインターフェース要素を調整する前記受信された第２のユーザ入力に基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備える請求項９に記載の方法。
【請求項１１】
ワイヤレス受信機と送信機と、
前記ワイヤレス受信機と送信機とに結合され、
非集中システム内の学習デバイスの活動に関係する目的データを取得することと、
前記取得された目的データに基づきティーチングルーチンを生成することと、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることとを備える
オペレーションを実行するためのプロセッサ実行可能命令とともに構成されているプロセッサとを備えるコンピューティングデバイス。
【請求項１２】
前記プロセッサは、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスにリフレックス情報を要求する信号をブロードキャストすることと、
前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信することと、
前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得することとを備えるようなオペレーションを実行するようにプロセッサ実行可能命令とともに構成される請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記プロセッサは、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得することとを備えるようなオペレーションを実行するようにプロセッサ実行可能命令とともに構成される請求項１１に記載のコンピューティングデバイス。
【請求項１４】
前記プロセッサは、プロセッサ実行可能命令とともに
前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストすることと、
前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信することと、
前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定することと、
前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正することとをさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１５】
前記プロセッサは、プロセッサ実行可能命令とともに
認可要求をユーザデバイスに送信することと、
前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定することとをさらに備えるオペレーションを実行するように構成され、
前記プロセッサは、プロセッサ実行可能命令とともに、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備えるようなオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１６】
前記プロセッサは、プロセッサ実行可能命令とともに
前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストすることと、
前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストすることとをさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１７】
前記プロセッサは、プロセッサ実行可能命令とともに、前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストすることをさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１８】
前記プロセッサは、プロセッサ実行可能命令とともに
前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトすること、
前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新することと、
前記更新された記憶されているデータを表示することとをさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１９】
ディスプレイと、
カメラとをさらに備え、
前記プロセッサは前記ディスプレイと前記カメラとに結合され、プロセッサ実行可能命令とともに、
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記学習デバイスを含む環境の少なくとも一部の画像を取得することと、
前記学習デバイスを前記取得された画像のセグメントに相関させることと、
前記インターセプトされたイベントレポートメッセージに基づき前記学習デバイスの間の関係を識別することと、
前記ディスプレイ上に、前記取得された画像上の前記識別された関係を指示するグラフィカルユーザインターフェース要素を提示することと、
前記識別された関係に関係するグラフィカルユーザインターフェース要素上で第１のユーザ入力を受信したことに応答してイベントレポートメッセージをブロードキャストすることとをさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項２０】
前記プロセッサは、プロセッサ実行可能命令とともに
前記識別された関係に関係する前記グラフィカルユーザインターフェース要素を調整する第２のユーザ入力を受信することをさらに備えるオペレーションを実行するように構成され、
前記プロセッサは、プロセッサ実行可能命令とともに、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号を、前記ティーチャシグナリングデバイスによって、ブロードキャストすることが、前記グラフィカルユーザインターフェース要素を調整する前記受信された第２のユーザ入力に基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号を、前記ティーチャシグナリングデバイスによって、ブロードキャストすることを備えるようなオペレーションを実行するように構成される請求項１９に記載のコンピューティングデバイス。
【請求項２１】
非集中システム内の学習デバイスの活動に関係する目的データを取得するための手段と、
前記取得された目的データに基づきティーチングルーチンを生成するための手段と、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストするための手段とを備えるコンピューティングデバイス。
【請求項２２】
前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得するための手段が、
前記学習デバイスにリフレックス情報を要求する信号をブロードキャストするための手段と、
前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信するための手段と、
前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得するための手段とを備える請求項２１に記載のコンピューティングデバイス。
【請求項２３】
前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得するための手段が、
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトするための手段と、
前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得するための手段とを備える請求項２１に記載のコンピューティングデバイス。
【請求項２４】
前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストするための手段と、
前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信するための手段と、
前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定するための手段と、
前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正するための手段とをさらに備える請求項２１に記載のコンピューティングデバイス。
【請求項２５】
認可要求をユーザデバイスに送信するための手段と、
前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定するための手段とをさらに備え、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストするための手段が、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストするための手段を備える請求項２３に記載のコンピューティングデバイス。
【請求項２６】
前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストするための手段と、
前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストするための手段とをさらに備える請求項２３に記載のコンピューティングデバイス。
【請求項２７】
前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストするための手段をさらに備える請求項２３に記載のコンピューティングデバイス。
【請求項２８】
前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトするための手段と、
前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新するための手段と、
前記更新された記憶されているデータを表示するための手段とをさらに備える請求項２３に記載のコンピューティングデバイス。
【請求項２９】
プロセッサ実行可能命令が記憶され、前記プロセッサ実行可能命令はコンピューティングデバイスのプロセッサが
非集中システム内の学習デバイスの活動に関係する目的データを取得し、
前記取得された目的データに基づきティーチングルーチンを生成し、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることを備えるようなオペレーションを実行することを引き起こすように構成される非一時的プロセッサ可読記憶媒体。
【請求項３０】
前記記憶されているプロセッサ実行可能命令は、前記コンピューティングデバイスの前記プロセッサが、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスにリフレックス情報を要求する信号をブロードキャストすることと、
前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信することと、
前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得することとを備えるようなオペレーションを実行することを引き起こすように構成される請求項２９に記載の非一時的プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
[0001]本出願は、すべての目的に関して内容全体が参照により本明細書に組み込まれている、２０１３年５月２４日に出願した米国仮出願第６１／８２７，１４１号、名称「Ａ  Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｃｏｎｔｉｎｕｏｕｓ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｏｆ  ａ  Ｄｅｖｉｃｅ」の優先権の利益を主張するものである。
【０００２】
[0002]本出願は、学習デバイス（learning device）に関するさらなる詳細について参照により内容全体が組み込まれている本出願と同時出願されている米国特許出願第１４／２８６，２４４号、名称「Ｌｅａｒｎｉｎｇ  Ｄｅｖｉｃｅ  Ｗｉｔｈ  Ｃｏｎｔｉｎｕｏｕｓ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｃａｐａｂｉｌｉｔｙ」にも関係する。
【背景技術】
【０００３】
[0003]コンピュータプログラマーは、典型的には、デバイスが新しい挙動を実行することが必要になるたびにプログラム可能なデバイス（すなわち、スマートデバイス）を再プログラムしなければならない。プログラム可能なデバイスは、典型的には、デバイスとインターフェースする専用プログラマーインターフェースをプログラマー（またはユーザ）が使用してデバイスに新しいタスクをティーチングすることを必要とする。しかしながら、プログラマーインターフェースがあっても、プログラム可能なデバイスの再構成および再プログラミングは、デバイスに新しい挙動をティーチングするためにプログラマーインターフェースに関連付けられている骨の折れるコンピュータコードを書く上で専門的知識を必要とし得る。エキスパートがコードを書くのをスケジュールすることは、再プログラミングがすぐに成し遂げられることが滅多にないことを意味し、適切な変更を行うためにそのようなエキスパートをスタッフとして確保しておくか、またはコンサルタントを雇用することが必要になり得るので費用がかかることがある。そのため、プログラム可能なデバイス上で新しい挙動をプログラムすることは、単純な効率の良い活動ではない。エキスパートを必要とすることなく学習デバイスに新しい挙動をティーチングするための単純ですぐに使えるメカニズムが必要である。
【発明の概要】
【０００４】
[0004]様々な実施形態が、ティーチャシグナリングデバイス（teacher signaling device）が非集中システム内の学習デバイスに対するプロキシティーチング（proxy teaching）を実行するためのシステムと、デバイスと、非一時的プロセッサ可読記憶媒体と、方法とを提供する。ティーチャシグナリングデバイスのプロセッサによって実行され得る一実施形態の方法は、学習デバイスのうちの１つまたは複数のものの活動に関係する目的データを取得することと、取得された目的データに基づきティーチングルーチンを生成することと、生成されたティーチングルーチンに基づき学習デバイスのうちの１つまたは複数のものをティーチングするように構成されたティーチング信号をブロードキャストすることとを含み得る。いくつかの実施形態では、学習デバイスのうちの１つまたは複数のものの活動に関係する目的データを取得することは、学習デバイスからリフレックス（reflex）情報を要求する信号をブロードキャストすることと、学習デバイスからリフレックス情報を含む応答メッセージを受信することと、受信された応答メッセージからのリフレックス情報から目的データを取得することとを含み得る。いくつかの実施形態では、学習デバイスのうちの１つまたは複数のものの活動に関係する目的データを取得することは、学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、インターセプトされたイベントレポートメッセージに基づき目的データを取得することとを含み得る。
【０００５】
[0005]いくつかの実施形態では、この方法は、学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する学習デバイスからの応答を識別することを要求する発見信号をブロードキャストすることと、ブロードキャストされた発見信号に応答して学習デバイスから識別応答を受信することと、生成されたティーチングルーチンの目的が達成され得るかどうかを受信された識別応答に基づき決定することと、生成されたティーチングルーチンを、生成されたティーチングルーチンの目的が達成され得ることを受信された識別応答に基づき決定したことに応答して修正することとをさらに含み得る。いくつかの実施形態では、この方法は、認可要求をユーザデバイスに送信することと、送信された認可要求に応答して認可がユーザデバイスから受信されたかどうかを決定することとをさらに含むものとしてよく、ここにおいて、生成されたティーチングルーチンに基づき学習デバイスのうちの１つまたは複数のものをティーチングするように構成されたティーチング信号をブロードキャストすることは、認可がユーザデバイスから受信されたと決定したことに応答して生成されたティーチングルーチンに基づき学習デバイスのうちの１つまたは複数のものをティーチングするように構成されたティーチング信号をブロードキャストすることを含み得る。
【０００６】
[0006]いくつかの実施形態では、この方法は、学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストすることと、学習デバイスが学習モードを終了することを引き起こす第２の信号をブロードキャストすることとをさらに含み得る。いくつかの実施形態では、この方法は、学習デバイスのうちの１つまたは複数がリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストすることをさらに含み得る。いくつかの実施形態では、この方法は、ブロードキャストされたティーチング信号に応答して学習デバイスのうちの１つまたは複数によって送信されたイベントレポートメッセージをインターセプトすること、インターセプトされたイベントレポートメッセージとブロードキャストされたティーチング信号とに基づき生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新することと、更新された記憶されているデータを表示することとをさらに含み得る。
【０００７】
[0007]いくつかの実施形態では、この方法は、学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、学習デバイスを含む環境の少なくとも一部の画像を取得することと、学習デバイスを取得された画像のセグメントに相関させることと、インターセプトされたイベントレポートメッセージに基づき学習デバイスの間の関係を識別することと、取得された画像上の識別された関係を指示するグラフィカルユーザインターフェース要素を表示することと、識別された関係に関係するグラフィカルユーザインターフェース要素上で第１のユーザ入力を受信したことに応答してイベントレポートメッセージをブロードキャストすることとをさらに含み得る。いくつかの実施形態では、この方法は、識別された関係に関係するグラフィカルユーザインターフェース要素を調整する第２のユーザ入力を受信することをさらに含むものとしてよく、ここにおいて、生成されたティーチングルーチンに基づき学習デバイスのうちの１つまたは複数のものをティーチングするように構成されたティーチング信号をブロードキャストすることは、グラフィカルユーザインターフェース要素を調整する受信された第２のユーザ入力に基づき学習デバイスのうちの１つまたは複数のものをティーチングするように構成されたティーチング信号をブロードキャストすることを含む。
【０００８】
[0008]様々な実施形態は、上で説明されている方法のオペレーションを実行するようにプロセッサ実行可能命令とともに構成されたコンピューティングデバイスを含み得る。様々な実施形態は、上で説明されている方法のオペレーションの機能を実行するための手段を有するコンピューティングデバイスを含み得る。様々な実施形態は、コンピューティングデバイスのプロセッサが上で説明されている方法のオペレーションを実行することを引き起こすように構成されたプロセッサ実行可能な命令が記憶されている非一時的なプロセッサ可読記憶媒体を含み得る。様々な実施形態は、上で説明されている方法のオペレーションを実行するように構成された１つまたは複数のデバイスを備え得るシステムを含み得る。
【０００９】
[0009]本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な実施形態を示し、上記の概略的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１０】
【図１Ａ】[0010]様々な実施形態を実装する例示的なシステムを示すシステムブロック図。
【図１Ｂ】様々な実施形態を実装する例示的なシステムを示すシステムブロック図。
【図１Ｃ】[0011]様々な実施形態で使用するのに適している学習デバイスのコンポーネントブロック図。
【図１Ｄ】[0012]様々な実施形態で使用するのに適しているティーチャシグナリングデバイスのコンポーネントブロック図。
【図２】[0013]様々な実施形態で使用するのに適している学習デバイスのコンポーネントブロック図。
【図３Ａ】[0014]３つのコンポーネントを備える実施形態のイベントレポートメッセージ構造のコンポーネントブロック図。
【図３Ｂ】[0015]様々なコンポーネントを備える実施形態のイベントデータ構造のコンポーネントブロック図。
【図３Ｃ】[0016]様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｄ】様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｅ】様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｆ】様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｇ】様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図３Ｈ】様々な実施形態で使用するのに適しているイベントのパターンを識別し、および／または相関させるためにスマートボックス（または学習デバイス）によって利用され得る例示的な時間ウィンドウの図。
【図４】[0017]様々な実施形態で使用するのに適している４つのパターンからなる実施形態のリフレックスのコンポーネントブロック図。
【図５】[0018]様々な実施形態で使用するのに適しているイベントを生成したことに応答して状態を変化させるリフレックスシステムの例示的なタイムライン図。
【図６】[0019]様々な実施形態で使用するのに適している既存のリフレックスに基づく新しいリフレックスの作成を示す例示的なタイムライン図。
【図７】[0020]様々な実施形態で使用するのに適している新規作成されたリフレックスのトレーニング（training）を示す例示的なタイムライン図。
【図８】[0021]様々な実施形態で使用するのに適している学習デバイスに対する２つの例示的な学習率の図。
【図９】[0022]様々な実施形態で使用するのに適している繰返しを通じて知られているリフレックスのトリガー重みを増加させることによって学習デバイスをトレーニングするための報酬信号を示す例示的なタイムライン図。
【図１０】[0023]様々な実施形態で使用するのに適している繰返しを通じて知られているリフレックスのトリガー重みを減少させることによって学習デバイスをトレーニングするための補正信号を示す例示的なタイムライン図。
【図１１】[0024]アクションを実行するか、またはアクションをトリガーに関連付けるイベントを生成し、処理する一実施形態の方法を示すプロセスフロー図。
【図１２】[0025]学習と学習解除（unlearning）のためのトリガー重みを調整するための一実施形態の方法を示すプロセスフロー図。
【図１３Ａ】[0026]ティーチャシグナリングデバイスが取得された目的データから生成されたティーチングルーチンに基づき信号をブロードキャストするための実施形態の方法を示すプロセスフロー図。
【図１３Ｂ】ティーチャシグナリングデバイスが取得された目的データから生成されたティーチングルーチンに基づき信号をブロードキャストするための実施形態の方法を示すプロセスフロー図。
【図１３Ｃ】ティーチャシグナリングデバイスが取得された目的データから生成されたティーチングルーチンに基づき信号をブロードキャストするための実施形態の方法を示すプロセスフロー図。
【図１４】[0027]ティーチャシグナリングデバイスがティーチングルーチンのターゲットとなり得る付近の学習デバイスを発見するための一実施形態の方法を示すプロセスフロー図。
【図１５】[0028]ティーチャシグナリングデバイスがティーチングルーチンに基づきティーチング信号をブロードキャストする前にユーザに認可を要求するための一実施形態の方法を示すプロセスフロー図。
【図１６】[0029]ティーチャシグナリングデバイスが付近の学習デバイスが学習モードを構成することを引き起こす信号をブロードキャストするための一実施形態の方法を示すプロセスフロー図。
【図１７Ａ】[0030]ティーチャシグナリングデバイスがティーチングルーチンの使用を指示する情報を更新するためにイベントレポートメッセージをインターセプトするための一実施形態の方法を示すプロセスフロー図。
【図１７Ｂ】[0031]様々な実施形態とともに使用するのに適しているシステムにおけるティーチングルーチンに関係する情報の例示的な表示。
【図１８】[0032]様々な実施形態とともに使用するのに適しているティーチャシグナリングデバイスと学習デバイスとの間の例示的なシグナリングを示す呼出信号図。
【図１９】様々な実施形態とともに使用するのに適しているティーチャシグナリングデバイスと学習デバイスとの間の例示的なシグナリングを示す呼出信号図。
【図２０】[0033]学習デバイスがティーチャシグナリングデバイスからの要求に応答して情報を送信するための実施形態の方法を示すプロセスフロー図。
【図２１】学習デバイスがティーチャシグナリングデバイスからの要求に応答して情報を送信するための実施形態の方法を示すプロセスフロー図。
【図２２】[0034]学習デバイスがティーチャシグナリングデバイスから信号を受信したことに応答してリフレックスのトリガー重みをリセットするための一実施形態の方法を示すプロセスフロー図。
【図２３Ａ】[0035]ティーチャシグナリングデバイスとして動作するように構成されたモバイルデバイス上の例示的なグラフィカルユーザインターフェースを示す図。
【図２３Ｂ】ティーチャシグナリングデバイスとして動作するように構成されたモバイルデバイス上の例示的なグラフィカルユーザインターフェースを示す図。
【図２３Ｃ】ティーチャシグナリングデバイスとして動作するように構成されたモバイルデバイス上の例示的なグラフィカルユーザインターフェースを示す図。
【図２３Ｄ】ティーチャシグナリングデバイスとして動作するように構成されたモバイルデバイス上の例示的なグラフィカルユーザインターフェースを示す図。
【図２４Ａ】[0036]ティーチャシグナリングデバイスがグラフィカルユーザインターフェース（ＧＵＩ）に対するユーザのインタラクティブな操作に基づき信号を送信するための実施形態の方法を示すプロセスフロー図。
【図２４Ｂ】ティーチャシグナリングデバイスがグラフィカルユーザインターフェース（ＧＵＩ）に対するユーザのインタラクティブな操作に基づき信号を送信するための実施形態の方法を示すプロセスフロー図。
【図２５】[0037]様々な実施形態で使用するのに適している例示的なスマートフォン型モバイルデバイスのコンポーネントブロック図。
【発明を実施するための形態】
【００１１】
[0038]様々な実施形態について、添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実装形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【００１２】
[0039]「例示的な」という単語は、本明細書では、「一例、事例、または例示として使用する」ことを意味するために使用される。本明細書に「例示的」と記載されたいかなる実装態様も、必ずしも他の実装態様よりも好ましいまたは有利であると解釈されるべきではない。
【００１３】
[0040]「学習デバイス（複数可）」、「スマートデバイス（複数可）」、および「スマートボックス（複数可）」という用語は、本明細書では事前定義されたアクションをユーザ入力、状態の検出された変化、受信された信号または送信、およびデバイス側に取得され得る他の情報などの、トリガーに関係する情報と相関させることによって観察された情報から挙動を学習することができるコンピューティングデバイスを指す。学習デバイスは、時間の経過によって生じるトリガーと事前定義されたアクションとの間の新しい関係または相関を記憶するように構成され得る。事前定義されたアクションにすでに相関しているトリガーを検出したことに応答して、学習デバイスは、事前定義されたアクションを実行するか、または代替的に、他の関連付けられているデバイスが相関するアクションを実行することを引き起こすオペレーションを実行することができる。本開示全体を通して、修飾語「スマート」は、アプライアンス（たとえば、ランプ）が学習デバイスであることを指示するために使用され得る。たとえば、「スマートランプ」という用語は、学習デバイスとなるように構成され、学習デバイスに結合され、制御されるか、または他の何らかの形で学習デバイスのコンポーネントを備えるランプを指す。
【００１４】
[0041]「イベント」という用語は、本明細書では、１つまたは複数の学習デバイスによって検出または生成されたアクション、条件、および／または状況を表すデータ（たとえば、オブジェクトもしくは他のデータ構造）を指すために使用される。イベントは、アクションまたは条件の発生を指示する情報（本明細書では「発生データ」と称される）を取得したことに応答してローカルの学習デバイス上で生成され（または他の何らかの形で取得され）、記憶され得る。発生データは、アクションまたは条件を記述し、さらにはデバイス識別子、タイムスタンプ、優先度情報、利得情報、状態識別子などの、アクションまたは条件を実行または検出したデバイスを識別する様々なデータを含み得る。発生データは、学習デバイス（たとえば、学習デバイスのプロセッサもしくはコアに直接結合されたセンサーなど）に接続された、または学習デバイス（たとえば、非プログラム可能ランプなど）によって他の何らかの形で制御されるデバイスからの信号もしくは他の情報から学習デバイスによって受信されるか、または取得され得る。発生データは、他の付近のデバイスから受信されたブロードキャストメッセージ（本明細書では「イベントレポートメッセージ」と称される）からも学習デバイスによって受信されるか、または取得され得る。たとえば、ローカルで遭遇したセンサーデータに基づき第１のイベントを生成した後に、第１の学習デバイスは、第２の学習デバイスがイベントレポートメッセージ内のデータに基づき第１のイベントも生成することを有効化され得るように第１のイベントが発生したことを指示する発生データとともにイベントレポートメッセージをブロードキャストし得る。
【００１５】
[0042]「リフレックス」という用語は、本明細書では、トリガーと学習デバイスが実行するように構成されているアクションとの間の少なくとも１つの相関または関係を指示する学習デバイス内の記憶されている情報を指すために使用される。リフレックスの記憶されている情報は、学習デバイスがリフレックスのアクションを実行すること、および／またはリフレックス（たとえばトリガー重み）に関して記憶されている永続的データを調整することを引き起こすために所定の時間ウィンドウ内に生成されるイベントとマッチングされ得るパターンを含み得る。イベントは、リフレックス内のパターンの構成単位と考えられ得る。たとえば、リフレックス内に記憶されているトリガーパターンは、１つまたは複数のイベントからなるものとしてよい。
【００１６】
[0043]学習デバイスは、機械学習プロセスを通じて継続的な構成を経験するように構成され得る。そのような学習プロセスは、生体系をエミュレートし、それにより学習デバイスが直観的トレーニング方法を通じてユーザによって容易に構成されることを可能にし得る。学習デバイスは、ユーザアクションの結果として生成され得るイベント、他の学習デバイスの状態の変化などに応答して望ましい仕方で反応するように容易に構成され得る。単純な繰返しを通じて、プリコンディショニングまたはプログラマーインターフェースを必要とすることなく様々な挙動が複数の学習デバイスの非集中システムによって学習され、したがってその非集中システム内に実装され得る。繰り返される報酬トレーニング入力（rewarding training input）を使用することで、ユーザは、様々なトリガーに応答して事前定義されたタスクを自動的に実行するように学習デバイスを容易にトレーニングすることができる。同様の仕方で、ユーザは、繰り返される補正入力を使用することによって他のトリガーに応答して特定のタスクを自動的に実行することを停止するように学習デバイスを容易にトレーニングすることができる。そのようなトレーニングは、それが込み入った、または退屈なセットアップもしくはプログラミングを回避するので有益である。
【００１７】
[0044]しかしながら、ユーザは、スマートデバイスを、存在していて、またそのようなデバイスが（たとえば、エキスパート設定またはオプションを介して）トレーニング／プログラミングされ得る仕方も知っているときにのみトレーニングすることができる。時々、ユーザは、仕事中であるか、または休暇を取っているときなどに、ティーチングを目的として学習デバイスをインタラクティブに操作することができない場合がある。たとえば、出張することの多いユーザは、特定の外気温および／または時刻に応答して閉じるようにスマートブラインドをティーチングできるほど定期的に自宅の周りにいないことがある。時間の経過とともに直接的なインタラクティブな操作を行わなければ、ある場所において学習デバイスの望ましい挙動を行わせることは困難な場合がある。
【００１８】
[0045]様々な実施形態が、非集中システム内の学習システムに対するプロキシティーチングを可能にするデバイスと、方法と、プロトコルと、システムと、非一時的プロセッサ可読記憶媒体とを提供する。ティーチャシグナリングデバイスは、ユーザからの直接的なインタラクティブな操作なしで、ある場所の様々な学習デバイスを、様々なトリガーを事前定義された機能に関連付けるようにティーチングすることができる。たとえば、ユーザは、スマートブラインドを、家の中の照明および遮光に対する自分の選好に基づきそれらを開閉することによってティーチングすることができるが、ユーザがティーチャシグナリングデバイスをアクティブ化したときに、ティーチャシグナリングデバイスティーチャが、ユーザの行動の仕方（たとえば、部屋の中で太陽の光が検出されたときにただちにブラインドを閉めるなど）に類似する仕方でどのような挙動を示すべきかをスマートブラインドにティーチングすることを引き継ぐことができる。そのような間接的（またはプロキシ）ティーチング方式は、ユーザが家の外にいる、デバイスの実践的なティーチングに興味がない、および／またはシステムの学習デバイスをチューニングするために必要な特定の専門知識を欠いているときなど、ユーザが学習デバイスをインタラクティブに操作することができない状態にあるときに有益な場合がある。
【００１９】
[0046]システム内の物理的発生（たとえば、ユーザのインタラクティブな操作）および／または条件（たとえば、時間、センサー情報、など）をエミュレートする信号を送信することによって、ティーチャシグナリングデバイスは、学習デバイスが実際の物理的発生および／または条件が将来検出されたときにとるべきリフレックスまたはアクションを学習することを引き起こす入力を供給し得る。特に、ティーチャシグナリングデバイスは、本開示全体を通して説明されているように他の学習デバイスによって送信され得るイベントレポートメッセージと一致する仕方で情報を含むように構造化されている「ティーチング信号」をブロードキャストすることができる。たとえば、ティーチャシグナリングデバイスは、ユーザによって「スイッチが入れられた」後にスマート壁面スイッチによって送信されたイベントレポートメッセージ内の発生データに類似するデータを含むティーチング信号を送信し得る。したがって、ユーザがスマート壁面スイッチを入れるために存在していなくても、ティーチャシグナリングデバイスの通信範囲内にある他の学習デバイスは、ユーザがスイッチを入れたかのようにイベントレポートメッセージを受信する。いくつかの場合において、ティーチャはロボットであってもよく、その場合、ロボットは、人間のユーザが行うようにスイッチをオンまたはオフにすることができる。
【００２０】
[0047]ティーチング信号をフォーマットし、通常のイベントレポートメッセージと一致する情報を含めることによって、ティーチャシグナリングデバイスは、発生（たとえば、スイッチが入れられたこと、照明状態変化、など）が実際に生じたかのように学習デバイスによって受信され、処理され得る信号を送信する。こうして、ティーチャシグナリングデバイスは、学習デバイスが、ユーザが実際にティーチングアクションを実行したことに応答して学習デバイスが観察するものに一致するパターンおよびタイミングでイベントの情報を人工的に受信することを引き起こすことができる。いくつかの実施形態では、ティーチング信号は、学習デバイスに直接影響を及ぼすコマンドを含み得る。たとえば、ティーチング信号は、スマートランプに光源をオンにすることを指令するか、またはスマートブラインドに自動的に開閉することを指令するコマンドを含み得る。いくつかの実施形態では、ティーチング信号は、それがティーチング信号であって、実際のイベントレポートメッセージではないことを指示する情報（たとえば、ヘッダ情報）を含み得る。さらに、ティーチング信号は、新しい関連付けを学習するために、さらにはトリガー重みを調整するために学習デバイスによって使用されるトリガーパターン、アクションパターン、報酬パターン、および／または補正パターンに応答し得る。
【００２１】
[0048]学習デバイスは、受信されたティーチング信号内に含まれるデータを処理し、記録し、他の何らかの形で利用して、イベントおよび／またはパターンを生成することができる。言い換えれば、学習デバイスは、学習デバイスがイベントレポートメッセージの受信に応答する仕方に類似する仕方でティーチング信号の受信に応答し得る。たとえば、受信されたティーチング信号に基づき、スマートランプ学習デバイスは、スマート壁面スイッチに関係する「オン」イベントを生成することができる。さらに、学習デバイスは、学習デバイスが遭遇した他のデータ（たとえば、コマンド信号に応答して生成される内部イベント、センサーデータ、内部クロック、トリガーされたアクションなど）に加えて受信されたティーチング信号からのデータを利用してイベントとパターンとを生成し得る。たとえば、ティーチング信号と所定の時間ウィンドウ内で受信されたイベントレポートメッセージの両方からのデータは、スマートランプに対するトリガーパターンに関係するイベントを生成するために使用され得る。
【００２２】
[0049]ティーチング信号は、ティーチャシグナリングデバイスによって生成されるティーチングルーチンに基づきティーチャシグナリングデバイスによって送信され得る。ティーチングルーチンは、送信されるべきティーチング信号、ティーチング信号内に含まれるべきデータ、さらにはティーチング信号がティーチャシグナリングデバイスによって送信された仕方の種類（複数可）に対するスケジュール、命令、および／または他のガイドであるものとしてよい。たとえば、ティーチングルーチンは、時刻（複数可）と、持続時間と、繰返しの数と、含まれる発生データと、スマートランプをティーチングするように設計された特定のティーチング信号をブロードキャストするためのティーチャシグナリングデバイスに対する他の特定の送信情報を指示し得る。
【００２３】
[0050]ティーチングルーチンは、様々な方法で取得され得る、ユーザがシステムにどのような挙動を示すことを望むかを定義するデータ（本明細書では、「目的データ」と称される）に基づきティーチャシグナリングデバイスによって生成され得る。目的データは、事前定義されたプログラムと、スクリプトと、エキスパートガイド／仕様書と、命令セットと、発生データと、ユーザ選好データと、リフレックスと、ティーチャシグナリングデバイスによって取得された他のデータとを含み得る。たとえば、目的データは、ユーザが部屋を特定の温度のままにしておくか、またはセキュリティのために特定の時刻にブラインドを閉めておくことを望んでいることを指示するスクリプトまたはデータファイルを含み得る。別の例として、目的データは、特定の機会に対する良好な照明設定（たとえば、特定の時刻にくつろがせる色など）を指示するダウンロードされたエキスパート情報を含み得る。目的データおよび／または目的データの分析結果に基づき、ティーチャシグナリングデバイスは、通信相手となるべき学習デバイス（または学習デバイスのクラス）を識別し、さらには識別された学習デバイスにユーザの目的を遂行するようにティーチングするために送信されるべき様々なティーチング信号に対するスケジュールを識別することができる。
【００２４】
[0051]いくつかの実施形態では、ティーチャシグナリングデバイスは、ユーザのインタラクティブな操作に応答して学習デバイスによって送信されたイベントレポートメッセージまたは他の信号をインターセプトまたは観察し、記録することによってティーチングルーチンを生成するために使用される目的データを取得することができる。ティーチャシグナリングデバイスは、学習デバイスからイベントレポートメッセージが届かないか監視し、ユーザによって実行されたアクションさらにはそれらの実行されたアクションへの学習デバイスによる反応など、ある場所における条件を検出し得る。この仕方で、ティーチャシグナリングデバイスは、新しいティーチングルーチンを生成し、ユーザが離れた場所にいるときもティーチャシグナリングデバイスが学習デバイスをトレーニングし続けることができるように生成されたティーチングルーチンを更新するために、ユーザ自身が学習デバイスに対して行うインタラクティブな操作をエミュレートすることを学習することができる。たとえば、ティーチャシグナリングデバイスは、一定期間の間にスマートブラインドからブロードキャストされた信号を受信して、ユーザがいつどのような条件でブラインドを開閉するかを示すパターンを識別することができる。さらに、ティーチャシグナリングデバイスは、特定の環境条件またはユーザ選好を維持することに関係するティーチングルーチンを生成するために他の受信されたデータに加えて使用され得る環境センサーデータ（たとえば、時刻、気圧、光源レベル、温度など）を提供する他のデバイスまたはセンサーからデータ信号を受信することができる。たとえば、ティーチャシグナリングデバイスは、ティーチング信号とともに繰り返され得るパターンを検出するために分析され得る一連のイベント（たとえば、ドア開放、時計の時刻、照明スイッチがオンにされていること、温度読み取り、光センサー読み取りなど）を指示するイベントレポートメッセージをインターセプトすることができる。この方法で、ティーチャシグナリングデバイスは、ユーザが学習デバイスをインタラクティブに操作するのを「見て繰り返し」、ユーザが関わっていないときにその後のティーチングオペレーションに対するデータを取得することができる。いくつかの実施形態では、ティーチャシグナリングデバイスは、ある場所における信号の第１の観察された発生に基づきティーチングルーチンを生成し得るか、または代替的に、発生（または一連の発生）がインターセプトされた信号からのデータにおいて複数回指示されたときのみティーチングルーチンを生成し得る。他の実施形態では、ティーチャシグナリングデバイスは、特定の時間期間内に複数回（たとえば、数秒ごとに、など）受信された信号のデータを取り除くフィルタなどの、インターセプトされた信号から冗長目的データを取り除くためのロジックとともに構成され得る。
【００２５】
[0052]いくつかの実施形態では、目的データは、データストア（たとえば、フラッシュドライブ）またはエキスパート情報を記憶しているサーバなどのリモートデータソースからデータをダウンロードするか、または他の何らかの形で受信することによってティーチャシグナリングによって取得され得る。特に、そのような目的データは、ティーチャシグナリングデバイス上にロードされ、関係するティーチングルーチンを生成するために使用され得るスクリプト、プログラム、または他のアルゴリズム情報であってよい。たとえば、ユーザは、スマートホーム内のスマート照明デバイス（たとえば、クリスマス用照明、ムード照明、天井の照明、ランプなど）に様々な要因（たとえば、時刻、存在している居住者など）に応答してその強度を変化させることをティーチングする仕方を説明するスクリプトをティーチャシグナリングデバイスにダウンロードすることができる。別の例として、ユーザは、ティーチャシグナリングデバイスに、特定の室温を保つか、またはセキュリティを提供することをスマートブラインドにティーチングする信号を送信するためのスケジュールを生成するためにティーチャシグナリングデバイスが使用し得る一組の仕様データをダウンロードすることができる。（たとえばスマートブラインドが時間または利用可能な光の量をその動作に関連付けるようにティーチングされる）。そのようなダウンロードされた目的データは、エネルギー効率モード（たとえば、「エコ」ティーチング）、快適モード（たとえば、ユーザが帰宅する数分前にＡＣユニットをオンにするなど）、ムードモード（たとえば、チェンジライト、音楽、雰囲気またはホロスコープに基づくウォールアートなど）、およびエキスパート照明構成（たとえば、可能な最良の照明を展示するインダストリアルデザインの専門知識）における挙動を示すことを学習デバイスにティーチングするためのアプリケーション（または「アプリ」）を含み得る。いくつかの実施形態では、リモートデータソースからダウンロードされ得る目的データは、学習デバイスの特定のシステムに対する事前生成されたティーチングルーチンを含み得る。
【００２６】
[0053]いくつかの実施形態では、目的データは、ユーザが自分のスマートブラインドを下げさせたい時刻または温度など、選択された目的データでティーチャシグナリングデバイスを直接プログラミングすることができるユーザ入力を介してティーチャシグナリングデバイスによって取得され得る。そのような目的データは、ティーチャシグナリングデバイスに取り付けられた周辺機器を介して、および／またはタッチスクリーンなどのデバイスに結合されたインターフェース上で入力され得る。いくつかの実施形態では、そのようなユーザ定義目的データは、通信リンク（たとえば、ＷｉＦｉ（登録商標）通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を介してティーチャシグナリングデバイスにダウンロードされるか、または他の何らかの形で転送され得る。
【００２７】
[0054]いくつかの実施形態では、目的データは、分散学習システム内で学習された挙動を利用するために付近の学習デバイスにリフレックスデータを要求することによってティーチャシグナリングデバイスによって取得され得る。言い換えれば、ティーチャシグナリングデバイスは、それらの学習デバイスですでに利用されている記憶された情報に基づき学習デバイスのトリガーとアクションとの間の既存の関連付けをダウンロードするか、または他の何らかの形で受信することができる。この実施形態では、ティーチャシグナリングデバイスは、学習デバイスにおいて学習され、記憶されているトリガーパターンと、アクションパターンと、補正パターンと、報酬パターンとを含むか、または符号化するデータ構造を学習デバイスから取得することができる。そのようなすでに学習されているパターンおよびリフレックスデータは、異なる場所で使用され得るティーチングルーチンを生成するためにティーチャシグナリングデバイスによって使用され得る。このような仕方で、ティーチャシグナリングデバイスは、ユーザによって学習された挙動およびリフレックスを取得し記憶するために分散学習システム内に導入され、次いで、新しい分散学習システムに移動され、そこで、他の学習デバイスにユーザの選好をティーチングすることができる。たとえば、ティーチャシグナリングデバイスは、第１の部屋にある学習デバイスの分散システムからトリガーパターンと、アクションパターンと、補正パターンと、報酬パターンとを取得し、第２の部屋にある学習デバイスをティーチングする際に使用するためのティーチングルーチンを、スマートアプライアンスがユーザが第２の部屋でトレーニングプロセスを繰り返すことを必要とすることなく両方の部屋で同じような挙動を示すように生成することができる。別の例として、ユーザの家の中の学習デバイスからリフレックスを取得した後、ティーチャシグナリングデバイスは、ホテルの部屋の中で、ホテルの学習デバイスにユーザが自宅で満足していた挙動に従うようにティーチングするために使用され得る。こうして、そのようなリフレックスコピー機能があれば、ティーチャシグナリングデバイスは、他の場所に移動されて、既存の学習デバイスの挙動に基づくティーチングオペレーションを実行することができる。そのような実施形態を可能にするために、学習デバイスは、ティーチャシグナリングデバイスからイベントアクション関連付けを素早く学習するが、その後、ティーチャシグナリングデバイスからの信号が所定の長さの時間内に受信されなかったときに以前のまたは好ましい一連のイベントアクション関連付けに戻るように構成され得る。このような仕方で、ホテルの部屋の中の学習デバイスは、ティーチャシグナリングデバイスを有するユーザがチェックアウトした後に初期または既定の構成に戻ることができる。
【００２８】
[0055]いくつかの実施形態では、ティーチング信号を送信する前に、またはティーチング信号を送信することと併せて、ティーチャシグナリングデバイスは、学習デバイスが「学習モード」に入ることを引き起こす信号を送信することができる。いくつかの実施形態では、ティーチャシグナリングデバイスは、学習デバイスが何らかの学習された情報を取り除くこと、または破棄することを引き起こす「リセット」信号を学習デバイスに送信することができる。たとえば、ティーチャシグナリングデバイスからリセット信号を受信したことに応答して、スマートランプ学習デバイスは、トリガー重みを修正するか、または記憶されているリフレックスに関連付けられている利得を他の何らかの形で変更し得る。そのようなリセット信号は、特定の期間にわたる（たとえば、最後の日のティーチングなど）学習デバイスにおける学習された情報、または代替的にすべての経験された学習への変更を引き起こし得る。
【００２９】
[0056]いくつかの実施形態では、ティーチャシグナリングデバイスは、ある場所（たとえば、家、オフィス、部屋など）にある、またはイベントシグナリングメッセージの受信範囲内にある学習デバイスを、ワイヤレス信号を受信し、信号中の識別情報から各学習デバイスを識別することなどによって、検出／発見することができる。代替的に、ティーチャシグナリングデバイスは、識別メッセージを送信することによって応答することを信号を受信する学習デバイスに要求するクエリまたはデバイス発見信号を送信し得る。たとえば、発見信号への応答に基づき、または単に、インターセプトされた信号に基づき、ティーチャシグナリングデバイスは、ユーザの家庭内のスマートスイッチと、スマートランプと、スマートブラインドと、スマート洗濯機とを発見することができる。イベントシグナリングメッセージまたは応答信号内に含まれ得る識別データに基づき、ティーチャシグナリングデバイスは、発見された（または検出された）学習デバイスの種類、クラス、ファームウェアバージョン、ブランド、および／または機能を決定することができる。たとえば、クラスまたはデバイスＩＤ情報は、イベントシグナリングメッセージまたは応答信号のヘッダ内に含まれ得る。いくつかの実施形態では、ティーチャシグナリングデバイスは、様々な学習デバイスおよび／またはその機能を識別し、ティーチングルーチンを変更し、変換し、または他の何らかの形で調整して、異なる種類の学習デバイスの異なるオペレーション、機能、リフレックス、メッセージフォーマット、シグナリングプロトコル、またはデータ構造に適応するように構成され得る。たとえば、スマートブラインドが、部屋の中で発見されないが、スマートスカイライトカバーが発見されたときに、ティーチャシグナリングデバイスは、スマートスカイライトカバーを閉じて部屋の周辺光を減光するティーチング信号の送信を含むようにティーチングルーチンを更新する構成を取り得る。
【００３０】
[0057]いくつかの実施形態では、ティーチャシグナリングデバイスは、ティーチング信号を送信する前に確認をユーザに要求し得る。たとえば、ティーチャシグナリングデバイスは、「Ａｂｏｕｔ  ｔｏ  ｂｅｇｉｎ  ｔｅａｃｈｉｎｇ  ｔｈｅ  ｈｏｍｅ  ｄｅｖｉｃｅｓ．  Ｉｓ  ｔｈａｔ  ＯＫ？」を指示するクエリをユーザのスマートフォンに送信することができる。確認返信に応答して、ティーチャシグナリングデバイスは、生成されたティーチングルーチンに従ってティーチング信号を送信することを続ける場合も、続けない場合もあり得る。
【００３１】
[0058]ティーチャシグナリングデバイスは、付近の学習デバイスをティーチングする信号を発行するように構成され得るけれども、学習デバイスに対するユーザのインタラクティブな操作は、ティーチャシグナリングデバイスによるそのようなティーチングに取って代わるものとしてよい。たとえば、ティーチャシグナリングデバイスは、特定の条件（たとえば、時刻、別のスマートデバイスに関連して発生したイベント、など）に応答して点灯することをスマートフロアランプにティーチングするティーチング信号を送信することができる。しかしながら、ユーザによるその後のアクションまたは入力（たとえば、補正ボタンを押す、デバイスをオフにする、など）に基づき、スマートフロアランプは、フロアランプが特定の条件に応答してオンにならないように関係するリフレックスのトリガー重みを調整し得る。この方法で、ユーザは、ティーチャシグナリングデバイスによって提供され得るティーチングを上書きするか、または調整することができる。
【００３２】
[0059]さらに、ティーチャシグナリングデバイスは、ティーチング信号の影響を受ける学習デバイスに対するユーザのインタラクティブな操作に基づきその後のティーチングに対するユーザの選好を学習することができる。特に、ティーチャシグナリングデバイスは、ティーチングルーチンに反する学習デバイスの状態（または状態変化）を指示するイベントレポートメッセージをインターセプトしたことに応答してティーチングルーチンを調整することができる。一例として、ユーザは、ティーチャシグナリングデバイスが特定の条件（たとえば、時刻、外気温、など）の下で閉じるように付近のスマートブラインドをトレーニングすることを開始したときに自宅にいる場合がある。ティーチャシグナリングデバイスがティーチング信号を送信する過程で、ユーザは、自分が補正またはカスタマイズすることを望んでいる挙動（すなわち、ブラインドが閉じられること）を観察し、ブラインドを開き、それによりその学習を調整する入力をスマートブラインドに手動で与えることができる。ティーチャシグナリングデバイスは、ユーザのアクションに基づきブラインドが開かれたことを指示するイベントレポートメッセージをブラインドから受信し得る。ティーチャシグナリングデバイスは、受信されたイベントレポートメッセージを評価し、スマートブラインドのデバイス状態がそのティーチング命令と異なっていると決定し得る。そのような相違は、ユーザによってカウンターティーチング（counter-teaching）活動として解釈され、したがって、ティーチャシグナリングデバイスは、そのティーチングルーチンを、ユーザのインタラクティブな操作と協調するように更新することができる。したがって、ティーチャシグナリングデバイスは、同じ背景状況において閉じることをスマートブラインドにティーチングするティーチング信号をその後送信し得ない。
【００３３】
[0060]いくつかの実施形態では、ティーチャシグナリングデバイスは、受信された信号に基づき自動的にティーチングルーチンを調整し得るか、またはし得ないモードで動作するように構成され得る。たとえば、ユーザは、ティーチャシグナリングデバイス上のボタンを押して、ティーチング信号が送信されてからまもなくユーザによって実行される補正またはカウンターティーチングに基づきティーチャシグナリングデバイスがそのティーチングルーチンを調整することを可能にし得る。
【００３４】
[0061]いくつかの実施形態では、ティーチングシグナリングデバイスは、特定の事前定義されたアクションをデバイスからのアラート条件および／またはメッセージに関連付けることを付近の学習デバイスにティーチングするように構成され得る。たとえば、ティーチャシグナリングデバイスは、焦げた食べ物を検出したことに応答してスマートオーブンが送信するように構成されているというアラートメッセージに応答してアクティブ化することをスマートファンにティーチングするティーチング信号を送信することができる。そのようなアラート条件および／またはメッセージに関連してティーチャシグナリングデバイスによってティーチングされ得る挙動は、変わり得る。たとえば、スマートウィンドウは、スマートオーブンからの焦げた食べ物アラートに応答して開くことをティーチングされ得るが、動き検出機からの侵入者アラートメッセージに応答して閉じることをティーチングされ得る。いくつかの実施形態では、ティーチング信号デバイスは、活動（たとえば、時刻に基づきトリガーされたアクションなど）を再スケジュールすること、および／またはアラートメッセージを受信したことに応答してアラート構成モード／動作状態に入ることをスマートデバイスにティーチングすることができる。たとえば、ユーザは、朝、自分が家を出た後にスマート洗濯機または乾燥機が運転するように設定することができる。フレックスアラートが有効になっている場合、ティーチャシグナリングデバイスは、設定を修正し午後６時を過ぎたらアプライアンスが運転するようにすることができる。
【００３５】
[0062]様々な実施形態において、ティーチャシグナリングデバイスは、ロボット、またはコンピューティングデバイス上で実行されているソフトウェアであってもよい。たとえば、ティーチャシグナリングデバイスは、イベントレポートメッセージを受信し、付近の学習デバイスが受信するようにティーチング信号を送信するためのワイヤレス送信機／受信機を有するスマートフォン、ラップトップ、デスクトップ、または他のパーソナルコンピュータであってよい。
【００３６】
[0063]さらなる実施形態において、ティーチャシグナリングデバイスは、製造または試験設備内の学習デバイス（たとえば、スマートアプライアンス）をティーチングして初期構成またはイベントアクション関連付けを学習させるなどのために、工業環境において使用され得る。このような仕方で、スマートアプライアンスは、学習プロセスを使用する初期または既定の機能とともに構成され得る。
【００３７】
[0064]さらなる実施形態において、ティーチャシグナリングデバイスは、ユーザからの音声命令を受け取るための音声認識ソフトウェアとともに構成されたプロセッサを有するマイクロフォンを具備することができる。そのような実施形態では、ユーザは、デバイスをトレーニングするためコードに変換され得る音声命令をティーチャシグナリングデバイスに発することができる。たとえば、ユーザは、ティーチャシグナリングデバイスに「ｐｌｅａｓｅ  ｔｒａｉｎ  ｍｙ  ｂｌｉｎｄｓ  ｔｏ  ｃｌｏｓｅ  ｗｈｅｎｅｖｅｒ  ｔｈｅ  ｌｉｇｈｔ  ｓｈｉｎｅｓ  ｉｎ」と言い、ティーチャシグナリングデバイスは、その言葉による指示をイベントシグナリングメッセージのティーチングルーチンに翻訳することができる。
【００３８】
[0065]いくつかの実施形態では、ティーチャシグナリングデバイスは、環境における学習デバイス間の因果関係を再作成または調整するためにユーザが操作することができるグラフィカルユーザインターフェース（ＧＵＩ）とともに構成され得る。言い換えれば、ユーザによる（たとえば、ユーザがタッチスクリーンインターフェース上に表示されている要素をタッチすることによる）ＧＵＩ要素の選択は、ティーチャシグナリングデバイスが第１の学習デバイスによってすでに送信され、第２の学習デバイスのアクションへのトリガーとして識別されているデータに類似のまたは同一のコードもしくは他の情報を含むワイヤレス波形（たとえば、イベントレポートメッセージ）をブロードキャストすることを引き起こし得る。ティーチャシグナリングデバイスによるイベントレポートメッセージのそのようなブロードキャスト（または再ブロードキャスト）は、学習デバイスとティーチャシグナリングデバイスとの間の専用チャネルなしで実行され、さらに、そのイベントレポートメッセージを最初に送信した学習デバイスの認識なしで実行され得る。
【００３９】
[0066]そのような実施形態では、ティーチャシグナリングデバイスは、付近の学習デバイスから受信されたインターセプトされたイベントレポートメッセージを復号し、記憶するように構成され得る。これらの信号は、インターセプトされたイベントレポートメッセージを送信し、受信する学習デバイスを表す画像のセグメントと相関し得る。そのような画像は、ティーチャシグナリングデバイスに結合されたカメラによって取得されるデジタル写真またはビデオ撮像であってよい。第１の学習デバイス（たとえば、スマート壁面スイッチ）の表現を第２の学習デバイス（たとえば、スマートフロアランプ）の表現に接続する線または矢印のグラフィック要素などの、学習デバイス間の関係を指示するインタラクティブグラフィック要素が、ティーチャシグナリングデバイス上にレンダリングされ得る。たとえば、ティーチャシグナリングデバイスは、ＧＵＩを介して、第１の学習デバイスを表す画像の第１のブロックから第２の学習デバイスを表す画像の第２のブロックに達する矢印をレンダリングして、第１の学習デバイスからのイベントレポートメッセージ（たとえば、「ｏｎ」スマート壁面スイッチイベントレポートメッセージ）が第２の学習デバイスによるアクションに対するトリガーとして識別されていることを指示し得る（たとえば、スマートフロアランプが点灯し得る）。ユーザは、ティーチャシグナリングデバイスが学習デバイスの識別された因果関係と関連付けられているインターセプトされたイベントレポートメッセージを複製または再ブロードキャストすることを引き起こすために、ＧＵＩ要素をアクティブ化するか、押すか、または他の何らかの形でインタラクティブに操作することができる。たとえば、ユーザがＧＵＩディスプレイ上に表示されている第１の学習デバイスと第２の学習デバイスとの間の関係に関連付けられているか、または指示するソフトＧＵＩボタンを押したことに応答して、ティーチャシグナリングデバイスは、第２の学習デバイスがアクションを実行することを引き起こす第１の学習デバイスによって通常送信されるメッセージと一致するイベントレポートメッセージをブロードキャストし得る。
【００４０】
[0067]いくつかの実施形態では、ＧＵＩのグラフィック要素は、ティーチャシグナリングデバイスが学習デバイスの学習された挙動を変更するティーチング信号ブロードキャストすることを引き起こすためにユーザによって調整され得る。たとえば、ユーザは、第１および第２の学習デバイスに関連付けられている画像セグメント間の矢印グラフィック要素を切断し、それによって、ティーチャシグナリングデバイスが第２の学習デバイスが第１の学習デバイスからイベントレポートメッセージを受信したことに応答して特定のアクションを実行することがもはやないように第２の学習デバイスの関係するリフレックストリガー重みを「補正」（または学習解除）するティーチング信号を送信することを引き起こすことができる。別の例として、ユーザは、第１の学習デバイスと第３の学習デバイスとの間の矢印グラフィック要素を再接続し、それによって、ティーチャシグナリングデバイスが第３の学習デバイスが第１の学習デバイスからイベントレポートメッセージを受信したことに応答してアクションを実行することを学習するように第３の学習デバイスにおいて関係するリフレックストリガー重みに「報酬を与える」ティーチング信号を送信することを引き起こすことができる。
【００４１】
[0068]いくつかの実施形態では、ティーチャシグナリングデバイスは、ティーチャスマートフォンアプリケーション（または「アプリ」）の実行を介するなどして、ティーチャシグナリングデバイスとして動作するようにプロセッサ実行可能命令とともに構成されたモバイルデバイス（たとえば、スマートフォン、タブレットなど）であってよい。さらに、ティーチャシグナリングデバイスは、インターネットへの接続を必要とする場合も必要としない場合もある。いくつかの実施形態では、イベントレポートメッセージを画像のセグメントに関連付けることに加えて、ティーチャシグナリングデバイスは、ローカルセンサーデータ（たとえば、光センサーデータ、位置データまたはＧＰＳ座標、加速度計データ、ジャイロスコープデータ、磁力計データなど）を取得し、記憶し、画像のセグメントに関連付けるように構成され得る。そのようなセンサーデータは、ティーチャシグナリングデバイスが特定のイベントレポートメッセージにリンクされているアクション（たとえば、照明オンまたはオフ）を発見するために、および／またはイベントレポートメッセージの再ブロードキャストが類似の条件でのみ実行されることを確実にするためにイベントレポートメッセージが学習デバイスからインターセプトされた際の過去の条件を現在の条件と比較することを可能にし得る。
【００４２】
[0069]従来の自動化システムおよびデバイスと異なり、実施形態のティーチャシグナリングデバイスは、非集中システムにおける学習デバイスに対するユーザのインタラクティブな操作はエミュレートする信号をブロードキャストする。実施形態のデバイスは、そのような非集中システムにおける条件を最適化するか、変更するか、または他の何らかの形でより良く解釈するためのオペレーションを実行し得ないが、その代わりに、すでに経験されているか、または事前プログラミングされている目的に基づきティーチングルーチンを有するユーザの意図を模倣するプロキシとして働き得る。言い換えれば、実施形態の技術は、学習デバイスに対するインタラクティブな操作のトレーニングを実際に実行するユーザに代わってエミュレートされた信号により学習デバイスがどのような挙動を示すべきかをティーチングされる特定の種類のティーチングに関係する。さらに、実施形態のシステムおよびデバイスは、ユーザがいつ不在であるかを決定し、したがってオペレーションを開始するのに、人感センサーまたはモーション検出器に頼らないものとしてよい。その代わりに、実施形態のティーチャシグナリングデバイスが、ユーザ入力または他の受信された入力（たとえば、ＧＰＳ信号、ユーザボタンプロンプトなど）によって明示的にアクティブ化され得る。
【００４３】
[0070]次の説明では、学習デバイスは、１つまたは複数スマートボックスとして参照されるものとしてよく、これらは、図１Ｃおよび図２を参照しつつ以下で説明されているコンポーネントを有する学習デバイスの特定の実施形態である。しかしながら、類似のコンポーネントおよび機能を有する他の学習デバイスまたはスマートデバイスも、本開示において説明されているように様々な実施形態を利用するように構成され得ることは理解されるであろう。
【００４４】
[0071]図１は、様々なデバイス１０２、１０４、１０６、１１４、１１５、１１６が信号を互いに送受信するスマートボックス１０３ａ〜１０３ｅによって制御され得る一実施形態のシステム１００を示している。スマートボックス１０３ａ〜１０３ｅの間で伝達される信号は、各スマートボックスが信号をシステム１００内の特定のアクションまたは条件の発生に関係するものとして認識することを可能にするデータまたは他の情報を含み得る。特に、スマートボックス１０３ａ〜１０３ｅは、無線周波数（ＲＦ）送信１１２またはワイヤレス通信リンクを介して、図３Ａを参照しつつ以下で説明されているような発生データを含むイベントレポートメッセージをブロードキャストすることができる。スマートボックス１０３ａ〜１０３ｅは、代替的に、またはそれに加えて、有線接続、光、音、またはそのような媒体の組合せを介して互いに通信することができる。
【００４５】
[0072]一例として、様々な実施形態によって使用可能にされるシステム１００は、スマートボックス１０３ａに接続された壁面スイッチ１０２を備え、スマートボックス１０３ａは壁面スイッチ１０２が他のデバイスによる応答を制御する（たとえば、フロアランプ１０４をオンにする）ことを可能にする信号を送信する。壁面スイッチ１０２は、有線接続１１０によってスマートボックス１０３ａに接続されるか、またはスマートボックス１０３ａおよび壁面スイッチ１０２は、単一のユニットに組み合わされ得る。壁面スイッチ１０２がトグルされると、その関連付けられているスマートボックス１０３ａは、状態のこの変化を検出し、ＲＦ送信１１２を介してイベントレポートメッセージを発行し、これは送信するスマートボックス１０３ａの半径内にある他のスマートボックス１０３ｂから１０３ｅのうちのどれかによって受信され得る。１つのそのような受信するスマートボックス１０３ｂは、有線接続１１０ｂを介してフロアランプ１０４に接続され得る。例として、フロアランプのスマートボックス１０３ｂは、フロアランプ１０４がオンになることを引き起こすイベントを生成することによって「オン」位置に移動される壁面スイッチ１０２に対応するイベントレポートメッセージに応答するようにトレーニングされ得る。フロアランプ１０４がオンになると、そのスマートボックス１０３ｂは、イベントを指示する発生データを含み、他の付近のスマートボックス１０３ｃ〜１０３ｅさらには壁面スイッチ１０２に接続されているスマートボックス１０３ａによって受信され得るイベントレポートメッセージをブロードキャストし得る。代替的に、またはそれに加えて、スマートボックス１０３ａ、１０３ｃ〜１０３ｅは、ランプをオンにすることが発生／条件／アクションを指示する信号として処理され得るようにフロアランプ１０４からの光を感知し得る光センサーを備えることができる。
【００４６】
[0073]図１Ａに示されているように、電気スタンド１１５、ステレオ１０６、携帯電話１１４、およびセンサー１１６などの、様々なデバイスがスマートボックスに結合され得る。スマートボックス１０３ａ〜１０３ｅは、個別のデバイス１０２、１０４、１１５、１１６から分離しているように図示されているけれども、各デバイスは、内部スマートボックスを備えるものとしてよく、１つのデバイス内のスマートボックスは、分離しているデバイスに結合され得る。説明を簡単にするため、フロアランプ１０４、壁面スイッチ１０２、電気スタンド１１５、センサー１１６、およびステレオ１０６への参照は、断りのない限りその対応するスマートボックスも参照し得る。
【００４７】
[0074]図１Ａには示されていないけれども、システム全体を通して他の学習デバイスまたはスマートボックスによって受信され処理され得る信号（すなわち、イベントレポートメッセージ）を送信するために非学習デバイスがシステム１００内に備えられてもよい。たとえば、壁面スイッチ１０２は、図示されているスマートボックス１０３ａの代わりに送信機を有していてもよい。オンにトグルされたとき、壁面スイッチは符号化された「オン」信号（たとえば、１ビットイベントレポートメッセージ）を送信するものとしてよく、壁面スイッチがオフにトグルされたとき、これは、異なる符号化された「オフ」信号（たとえば、２ビットイベントレポートメッセージ）を送信し得る。システム内の別のスマートボックス（たとえば、フロアランプ１０４に接続されたスマートボックス１０３ｂ）は、いずれかの信号を受信し、これをイベントに変換することができ、これは記憶されているリフレックスの関連付けられているアクションに対応し得る。
【００４８】
[0075]スマートボックスは、典型的には、スマートボックスで、またはスマートボックスによって実行されたアクションおよび／またはスマートボックスで検出された条件（たとえば、センサーデータ）などの、スマートボックスにおいてイベントを指示するイベントレポートメッセージをブロードキャストするか、または他の何らかの形で送信するように構成され得る。たとえば、スマートボックスまたはスマートボックスにワイヤレス方式で接続されている送信機（「レポーター」）は、ガレージのドアが開かれていることを指示するデータを含む信号をブロードキャストすることができる。スマートボックスは、典型的にはある場所の他のスマートボックスに直接に関与するようには構成されないが、その代わりに、請求応答なしで、および／または他のデバイスのオペレーションを考慮することなく、発生データを単に報告するだけであってもよいことは理解されるであろう。しかしながら、いくつかの実施形態では、スマートボックスは、そのような送信１１２を介して互いに直接通信することができる。たとえば、ある場所（たとえば、家庭、オフィスなど）に置かれた新しいスマートボックスは、お気に入りの（または最も頻繁に遭遇する）イベントを指示するデータを求める信号をその場所における他の学習デバイスに送信することができ、他のデバイスから応答信号受信したことに応答して、新しいスマートボックスは、バイアスを設定するように構成され得る。
【００４９】
[0076]システム１００は、有線またはワイヤレス信号をシステム１００内の様々なスマートボックス１０３ａ〜１０３ｅと交換することができるティーチャシグナリングデバイス１５０をさらに備えることができる。特に、ティーチャシグナリングデバイス１５０は、Ｂｌｕｅｔｏｏｔｈ  ＬＥ、ＷｉＦｉ  Ｄｉｒｅｃｔ（登録商標）、ＲＦなどの、ワイヤレス送信１１２’を介して、スマートボックス１０３ａ〜１０３ｅから、イベントレポートメッセージおよびデータパケットなどの通信を受信し得る。たとえば、ティーチャシグナリングデバイス１５０は、壁面スイッチ１０２がオンにされたことに応答して第１のスマートボックス１０３ａによって送信されたイベントレポートメッセージをインターセプトするように構成され得る。ティーチャシグナリングデバイス１５０は、ワイヤレスまたは有線リンク１５３を介してインターネット１５２との接続を提供するように構成されたネットワークインターフェースをさらに備えることができる。たとえば、ネットワークインターフェースは、ワイドエリアネットワーク（ＷＡＮ）と通信することができるトランシーバ（たとえば、ＷｉＦｉ無線、セルラーネットワーク無線など）であってよい。インターネット１５２との接続に基づき、ティーチャシグナリングデバイス１５０は、接続１５５を介してインターネット１５２に接続されているリモートサーバ１５４などの、様々なデバイスおよびデータソースとインターネットプロトコルを介して通信することができる。リモートサーバ１５４は、ウェブサーバ、クラウドコンピューティングサーバ、またはサードパーティに関連付けられている他のサーバデバイスであってよい。たとえば、リモートサーバ１５４は、ストア、ライブラリ、またはティーチャシグナリングデバイス１５０上にダウンロードされ、使用され得るプログラム、アプリ（またはアプリケーション）、スクリプト、ルーチン、もしくは他の情報を配布する他のデータソースに関連付けられているサーバであってよい。いくつかの実施形態では、リモートサーバ１５４は、エネルギー効率の高い方式で動作する仕方を学習デバイスにティーチングするためのティーチングルーチンを生成し、特定の条件（たとえば、ホロスコープ）と調和して機能し、エキスパートによって設計された改善された照明ディスプレイを実現するために使用され得るデータを記憶することができる。
【００５０】
[0077]図１Ｂは、システム１００’内の壁面スイッチ１０２がスマートボックス１０３ａに、内部的に、または有線接続１１０ａなどの別の接続によって、接続され得ることを示している。壁面スイッチ１０２は、タッチセンサー１１９またはトグルを有することができる。タッチセンサー１１９がタッチされるか、またはトグルされたときに（たとえば、壁面スイッチ１０２がオンにされたときに）、状態の変化が発生データとしてスマートボックス１０３ａに有線接続１１０ａを介して伝達され得る。スマートボックス１０３ａは、発生データによってイベントとして指示される状態の変化を解釈し、ＲＦ送信１１２ａ、１１２ｂなどによって、イベントに関連付けられているイベントレポートメッセージをワイヤレス方式で送信することができる。イベントレポートメッセージは、壁面スイッチ１０２の受信範囲１２３内にあるスマートボックスによって受信され得る。いくつかの実施形態では、フロアランプ１０４は、ＲＦ送信１１２ａを受信するスマートボックス１０３ｂを備えるか、またはそれに結合され得る。ときには、ＲＦ送信１１２ａを介してイベントレポートメッセージを受信した後に、フロアランプ１０４上のランプスイッチ１２６が、ユーザによってオンにされ、これにより、照明１２４がオンになるものとしてよい。フロアランプ１０４は、そのスマートボックス１０３ｂに、現在「オン」状態になっていることを信号で知らせ、スマートボックス１０３ｂは、この信号を発生データとして解釈し得る。この信号は、ランプスイッチ１２６とスマートボックス１０３ｂとの間の有線接続１１０ｂによって、またはワイヤレス方式で（たとえば、Ｂｌｕｅｔｏｏｔｈデータリンクを介して）送信され得る。スマートボックス１０３ｂが、ランプを通電するスイッチを備える場合、このシグナリングは、このスイッチの作動であってよい。
【００５１】
[0078]様々な実施形態において、フロアランプ１０４に関連付けられているスマートボックス１０３ｂは、壁面スイッチ１０２をトグルする直前またはトグルした直後に（たとえば、５〜１０秒以内に）ユーザが手動でフロアランプ１０４をオンにすることによって壁面スイッチのスマートボックス１０３ａからトグル信号（すなわち、トグルアクションを指示する発生データを含むイベントレポートメッセージ）を受信したことに応答してフロアランプ１０４を通電するか、またはフロアランプ１０４がオンになることを引き起こすようにトレーニングされ得る。このような学習を遂行するために、スマートボックス１０３ｂは、所定の時間ウィンドウ内で壁面スイッチのトグル（イベントレポートメッセージで報告されるような）およびフロアランプ１０４の作動に関係するイベント（フロアランプ１０４から取得された発生データを介して報告されるような）がいつ生じたかを認識することができる。これは、少なくとも一部は、所定の時間ウィンドウに対する取得された発生データから生成されたイベントをバッファリングすることと、バッファに記憶されているイベントを処理し、相関させることと、その後、バッファからイベントを削除することとによって遂行され得る。たとえば、フロアランプ１０４に接続されているスマートボックス１０３ｂは、壁面スイッチ１０２の「オン」イベントをフロアランプ１０４のランプスイッチ１２６の「オン」イベントに関連付けることを、これら２つのイベントが生成されるか、または所定の時間ウィンドウ内で生じるときに行うことができ、実際、将来の壁面スイッチ１０２の「オン」イベントがフロアランプ１０４の作動をトリガーすべきであることを学習する。いくつかの実施形態では、イベントの順序は、重要であるが、いくつかの実施形態では、イベントの順序は問題にならず、したがって、イベントの順序は、イベントが所定の時間ウィンドウ内で生じる（または生成される）限り逆にされ得る。たとえば、壁面スイッチ１０２に接続されているスマートボックス１０３ａは、フロアランプ１０４のランプスイッチ１２６の「オン」イベントを後続する壁面スイッチ１０２の「オン」イベント（たとえば、タッチセンサー１１９へのタッチ）に関連付けることができ、実際、将来の壁面スイッチ１０２の「オン」イベントがフロアランプ１０４の作動をトリガーすべきであることをそのまま学習する。以下でより詳しく説明されているように、そのようなトレーニングは、望ましくない挙動をうっかり学習してしまうことを回避するためある程度の繰返しを必要とし得る。
【００５２】
[0079]さらに、イベントレポートメッセージは、Ｂｌｕｅｔｏｏｔｈブロードキャスト信号など、送信１１２ｃを介して付近のティーチャシグナリングデバイス１５０によって受信され得る。以下で説明されているように、ティーチャシグナリングデバイス１５０で受信されたイベントレポートメッセージ内の発生データは、新しいティーチングルーチンを生成し、既存のティーチングルーチンを更新し、および／またはスマートボックスのアクションおよび学習挙動に対応する統計量などの有益な情報を生成するためにティーチャシグナリングデバイス１５０によって使用され得る。
【００５３】
[0080]図１Ｃに示されているように、一実施形態のスマートボックス１０３は、信号受信機１４２から受信されたイベントレポートメッセージを処理するように構成されたプロセッサ１３２（図１Ｃにおいて、中央演算処理装置（ＣＰＵ）と称される）を備えることができる。スマートボックス１０３は、他の学習デバイスまたはスマートボックスおよび／またはティーチャシグナリングデバイスなどの、付近のデバイスによって受信され得るＲＦ信号を介してイベントレポートメッセージで発生データを送信するように構成された信号送信機１３６を備えることができる。上で説明されているように、そのようなイベントレポートメッセージ内の発生データは、スマートボックス１０３において遭遇した条件または実行されたアクションを定義または特徴付けることができる（すなわち、イベントレポートメッセージが、スマートボックス１０３において生成されたイベントを特徴付けることができる）。さらに、その信号受信機１４２を介して、スマートボックス１０３は、他のデバイスから類似の送信されたＲＦ信号を介してイベントレポートメッセージを受信することができ、以下で説明されているようなデータ構造を使用して受信された信号からの受信された発生データをイベントとしてメモリ１３８内のバッファに保存することができる。いくつかの実施形態では、メモリ１３８は、本開示全体を通して説明されているような関連付けられているパターンを有するリフレックスを記憶するためのある量（たとえば、３２キロバイト（ＫＢ）、６４ＫＢなど）の記憶装置（たとえば、ランダムアクセスメモリ（ＲＡＭ）、フラッシュなど）を備え得る。この実施形態のスマートボックス１０３は、スマートボックス１０３によって検出された状態の変化を指示する発生データを取得するためのセンサーエンコーダ１３４を備えることができる。たとえば、スマートボックス１０３が、フロアランプに接続され、フロアランプがオンにされた場合、接続されているスマートボックス１０３内のセンサーエンコーダ１３４は、状態の変化をデジタル方式で識別するか、またはマップするために発生データを生成し得る。この発生データは、スマートボックス１０３のメモリ１３８に記憶され、そのブロードキャスト範囲内の他の学習デバイス（たとえば、スマートボックス）に対してイベントレポートメッセージ内でブロードキャストされ得る。他の学習デバイスは、その信号受信機を通じて発生データを含むイベントレポートメッセージを受信し、最終的に本明細書で説明されている様々な学習アルゴリズムによって関係するイベントを処理することができる。いくつかの実施形態では、メモリ１３８は、揮発性ランダムアクセスメモリ（ＲＡＭ）ユニット（複数可）と不揮発性フラッシュメモリユニット（複数可）とを含むものとしてよい。そのような実施形態では、ＲＡＭユニットは、スマートボックス１０３の様々な機能を動作させるために使用され、フラッシュユニットは、永続的データ（たとえば、リフレックスなど）とログデータ（たとえば、取得されたイベント、信号など）を記憶するために使用され得る。いくつかの実施形態では、リフレックス（以下で説明されているような）は、フラッシュメモリに記憶され得ないが、その代わりに、揮発性ＲＡＭに記憶され、これにより、学習された挙動の再設定を効率的に簡単に行えるようにすることができる（たとえば、電源をオフにすることによって未トレーニング状態にリセットし、ＲＡＭ内のすべてのリフレックスを消去する）。いくつかの実施形態では、フラッシュメモリは、サイズが様々であり、また他の点で、オプションであってもよい。たとえば、フラッシュメモリは、６４ＭＢ  ＲＡＭユニットに等しい６４ＭＢ記憶ユニットであってもよく、両方とも図１Ｃに表されているようにメモリ１３８内に含まれ得る。
【００５４】
[0081]それに加えて、スマートボックス１０３は、補正されたトリガーに応答して学習されたリフレックスアクションとし接続されているデバイス上で物理的アクションを実行するためのモーター駆動装置１４０を備え得る。たとえば、スマートボックス１０３が、フロアランプに接続され、受信されたイベントレポートメッセージに応答して生成されたイベントに基づきフロアランプがオンになるべきであると決定した場合、スマートボックス１０３のプロセッサ１３２は、モーター駆動装置１４０に信号を送りフロアランプの電源スイッチを作動させることができる。モーター駆動装置１４０の代わりに（またはそれに加えて）、スマートボックス１０３は、補正されたトリガーに応答して学習されたリフレックスアクションとしてアプライアンスを外部電源（たとえば、１２０Ｖの交流電源）に接続するように構成されたリレーを備えることができる。
【００５５】
[0082]いくつかの実施形態では、スマートボックス１０３は、スマートボックス１０３のコンポーネントに結合された電池１４３（たとえば、充電式リチウムイオン電池など）を備え得る。いくつかの実施形態では、スマートボックス１０３は、それに加えて、電流を受けて充電式電池１４３を充電するか、またはスマートボックス１０３の様々なコンポーネントに他の何らかの形で電力を供給するための電線または他のインターフェース１４４（たとえば、交流（ＡＣ）電源コンセントに接続するためのプラグまたはプロング）を備えることができる。
【００５６】
[0083]図１Ｄに示されているように、一実施形態のティーチャシグナリングデバイス１５０は、リモートサーバからダウンロードされた情報、受信されたイベントレポートメッセージからの発生データ、およびユーザ入力などの、様々なデータを処理するように構成されたプロセッサ１８０を備え得る。ティーチャシグナリングデバイス１５０は、Ｂｌｕｅｔｏｏｔｈアドバタイズメントパケットなどの、短距離信号を交換するように構成されている信号トランシーバ１８８を備え得る。たとえば、ティーチャシグナリングデバイス１５０は、データをブロードキャストするか、または付近のスマートボックスからイベントレポートメッセージを受信するためＢｌｕｅｔｏｏｔｈまたはＷｉＦｉ無線を備え得る。ティーチャシグナリングデバイス１５０は、様々な通信ネットワークと通信するためにネットワークインターフェース１８４も備え得る。たとえば、ネットワークインターフェース１８４は、ワイドエリアネットワークトランシーバ、イーサネット（登録商標）インターフェース、セルラーネットワークチップ、および／またはティーチャシグナリングデバイス１５０がインターネットプロトコルを介してメッセージングを交換することを可能にする機能を有する他のコンポーネントであってよい。ティーチャシグナリングデバイス１５０は、ユーザ入力を受信するように構成されたタッチスクリーン、情報を表示することができる画面、および／またはユーザ側でティーチャシグナリングデバイス１５０のティーチングオペレーションを制御もしくは変更するための周辺機器などの、ユーザインターフェースコンポーネント１８６を含み得る。さらに、ティーチャシグナリングデバイス１５０は、メモリ１８２のバッファ内にデータ（たとえば、付近のスマートボックスから受信されたフレックス、ユーザ入力データ、リモートサーバからダウンロードされたデータ、など）を保存することができる。たとえば、ティーチャシグナリングデバイス１５０は、イベントデータ構造をメモリ１８２に記憶することができる。
【００５７】
[0084]いくつかの実施形態では、ティーチャシグナリングデバイス１５０は、ティーチャシグナリングデバイス１５０のコンポーネントに結合された電池１９０（たとえば、充電式リチウムイオン電池など）を備え得る。他の実施形態では、ティーチャシグナリングデバイス１５０は、それに加えて、電流を受けて充電式電池１９０を充電するか、またはティーチャシグナリングデバイス１５０の様々なコンポーネントに他の何らかの形で電力を供給するための電線または他のインターフェース１９２（たとえば、交流（ＡＣ）電源コンセントに接続するためのプラグまたはプロング）を備えることができる。
【００５８】
[0085]図２は、イベントから新しい挙動を学習し、その後のイベントに応答して学習された挙動を実行するために様々な機能コンポーネントがどのように一緒に結合されるか、または通信するかを示す一例を図示するスマートボックス１０３の一実施形態のアーキテクチャ２００を示している。スマートボックス１０３は、イベント生成器２０２と、センサーエンコーダ１３４と、信号受信機１４２とを備え得る。イベント生成器２０２は、知られているイベントパターン（たとえば、すでに学習されている、または事前プログラミングされているパターン）を指示するデータを受信したことに応答してイベントまたは１つもしくは複数のイベントのシーケンスを生成することができる。たとえば、イベントのパターンがスマートボックス１０３に接続されているフロアランプをオンにする事前定義されたアクションに関連付けられている場合、イベント生成器２０２は、イベントパターン記憶装置２０４に記憶されているパターンを有する信号内の受信された発生データから生成されるイベントとマッチしたことに応答して「ランプオン」イベントを生成し得る。次いで、生成されたイベントは、イベントバス２１４を介してモーター駆動装置１４０に伝達され、スマートボックス１０３に接続されているフロアランプのライトをオンにする。
【００５９】
[0086]スマートボックス１０３は、信号受信機１４２を介して別のスマートボックスから信号内の発生データ（たとえば、イベントレポートメッセージ）を受信することもできる。信号受信機１４２によって受信された信号からのデータは、イベントバス２１４を介して、イベントレコーダー２０６などの、他のデバイスコンポーネントにイベントとしてトランスポートされ得る。
【００６０】
[0087]スマートボックス１０３は、センサーエンコーダ１３４からのイベントも認識することができ、このエンコーダは、イベントバス２１４を介してイベントを他のコンポーネントに伝達し得る。たとえば、ユーザがスマートボックス１０３に接続されているフロアランプを手動でオンにする場合、状態の変化を示す発生データ（たとえば、ライトを「オフ」から「オン」にする）は、センサーエンコーダ１３４によってデジタル符号化され、状態の変化をイベントに変換することができる。
【００６１】
[0088]信号送信機１３６は、その後、イベントレポートメッセージを介して別のスマートボックスによって発生データも受信され得るようにイベントバス２１４を介して受信されたイベントに基づき発生データを送信することができる。これは、一方のスマートボックス１０３から他方のスマートボックスへのイベントに関する情報の転送を可能にし、これにより、スマートボックスが互いから学習し、各それぞれのスマートボックスによって学習された挙動に基づき複雑なシステム挙動を作成することを可能にし得る。イベントに関係するデータ（すなわち、イベントレポートメッセージ内の発生データ）の再送またはブロードキャストは、スマートボックスがデージーチェーンで一緒につながれ与えられたスマートボックスの信号範囲を拡張することを可能にし得る。
【００６２】
[0089]イベントレコーダー２０６は、イベントバス２１４からイベントを受信し、そのイベントをイベントパターン記憶装置２０４に保存し得る。いくつかの実施形態では、イベントレコーダー２０６は、発生データを受信し、受信されたデータに基づきイベントを作成し、イベントパターン記憶装置２０４に記憶することができる。イベントセレクター２１０は、イベントレコーダー２０６から１つまたは複数のイベントを受信することができる。イベントの特定の組合せを受信したことに応答して、セレクター２１０は、ストアパターンコマンドを生成し、ストアパターンコマンドをイベントレコーダー２０６に送信し、イベントの組合せをパターンとしてイベントパターン記憶装置２０４内に記憶することをそれに指令することができる。いくつかの実施形態では、イベントセレクター２１０は、イベントバス２１４から直接イベントを受信することができる。
【００６３】
[0090]コンポーネントのオペレーションおよびスマートボックス１０３に対するインタラクティブな操作は、次の例に示されている。フロアランプに接続されたスマートボックス１０３は、信号受信機１４２を通じてスマートボックス１０３で受信される、壁面スイッチからのイベントレポートメッセージを介して状態の変化を指示する発生データを受信し得る。信号受信機１４２を介したスマートボックス１０３は、壁面スイッチの状態の変化に関係するイベントをイベントバス２１４を介してイベントレコーダー２０６に伝達することができる。その後まもなく、ユーザは、スマートボックス１０３に接続されているフロアランプのライト１２４を手動でオンにすることができ、それに応答して、センサーエンコーダ１３４が、この状態の変化をイベントに変換して、そのイベントをイベントバス２１４を介してイベントレコーダー２０６に伝達し得る。イベントレコーダー２０６は、それらのイベントを、受信されるとともにセレクター２１０に送信し得る。セレクター２１０は、学習アルゴリズムを用いて、壁面スイッチのトグルに基づき生成される、イベントのパターンと、フロアランプの手動のライトオン発生データとを処理することができる。イベントを処理した後、セレクター２１０は、ストアパターンコマンドを通じてイベントのパターンをイベントパターン記憶装置２０４に記憶するようにイベントレコーダー２０６に指令することができる。イベントパターン記憶装置２０４は、イベント間の学習された関連付けをリフレックスとして特定の重み関連付けとともに記憶し得る。いくつかの実施形態では、イベントパターン記憶装置２０４は、補正パターンと、報酬パターンと、トリガーパターンと、アクションパターンとを生成するために使用されるパターンもしくはイベントなどの所定のパターンおよび／またはイベントも同様に記憶することができる。
【００６４】
[0091]観察されたイベントとアクションとの間の関連付けに応じて、セレクター２１０は、以下で説明されているように、利得調整器２１２と連携して、観察されたアクションパターン（たとえば、ユーザがフロアランプをオンにしたことの観察）および／または重み（すなわち、バイアス、スケール、など）の方程式および／または計算に関係する他の特性に関連付けられているイベントの重みを変更する（たとえば、トリガーイベントのトリガー重みを増加させる）ことができる。
【００６５】
[0092]適宜、センサーエンコーダ２５２は、指令されたアクションの開始に基づき追加のイベントを提供し得る。これらの追加のイベントは、指令されたイベントが実際に発生した（たとえば、「オン」アクションが実行されたことに応答してライトが実際に点灯した、など）ことの確認であるものとしてよく、スマートボックス１０３がイベントとアクションとの間の関連付けを学習するのを助ける報酬イベント（またはパターン）として処理することができる。
【００６６】
[0093]図３Ａは、発生データを特徴付けるために使用され得るデータ構造３００を示している。発生データは、フォーマットコンポーネント３０１と、識別コンポーネント３０２と、状態コンポーネント３０３とを含むようにデータレコード内に反映され得る。スマートボックス（たとえば、図１Ｃに示されているような）のプロセッサ１３２（またはＣＰＵ）は、復号情報をフォーマットコンポーネント３０１として記録し得る。これは、プロトコルバージョン、暗号化タイプ、シーケンス番号、トランザクション識別子（たとえば、指示なしで様々な発生データを次のデータから区別するために使用され得る情報、方向、順序、またはシーケンス）、記録時間、送信時間などを含み得る。しかしながら、記録時間および送信時間は、フォーマットコンポーネント３０１におけるオプションフィールドであり得る。いくつかの実施形態では、トランザクション識別子（またはＩＤ）は、値に関して連続していないか、または他の何らかの形で順序番号（たとえば、シーケンス内で増加または減少）を指示し得る。上で説明されているように、スマートボックスは、データ構造３００を少なくとも含む信号（すなわち、イベントレポートメッセージ）を送信するように構成されるものとしてよく、また他の学習デバイスは、そのような信号を受信し、このフォーマットコンポーネント３０１を使用してデータ構造３００の発生データの残りを読み取るように構成され得る。識別コンポーネント３０２は、発生データの発生元のデバイスを指示するものとしてよく、状態コンポーネント３０３は、発生データが表す状態または状態の変化に対応し得る。いくつかの実施形態では、状態コンポーネント３０３は、デバイスの動作状態（たとえば、「オン」、「オフ」など）に加えてボルト（たとえば、０．０２）などの、アナログ状態データを含み得る。
【００６７】
[0094]たとえば、発生データに対するデータ構造３００は、「Ｖ２．１」のフォーマットコンポーネント３０１と、「ＷＡＬＬＳＷＩＴＣＨ１０２」の識別コンポーネント３０２と、「ＯＮ」の状態コンポーネント３０３とを含み得る。これは、壁面スイッチに接続されているスマートボックスで２．１のデータフォーマットバージョンを表し、また壁面スイッチが「オフ」から「オン」にトグル式に切り替えられたことを表し得る。さらにこの例において、発生データおよび関連付けられているイベントは、壁面スイッチ（図１Ａに示されている）のところで生成され得る。生成された後、発生データは、イベントレポートメッセージで、そのブロードキャスト範囲内にあるすべてのスマートボックスによって受信されるように壁面スイッチに関連付けられているスマートボックスからブロードキャストされ得る。フロアランプに関連付けられている付近のスマートボックスは、ブロードキャストされた発生データを受信して処理することができる。発生データは、後で説明されるイベントデータ構造３５０（図３Ｂ）と類似のデータコンポーネントを有し得るので、受信するスマートボックスは、発生データを利用してイベントを生成し復号することができる。これは、イベントのフィルタリングおよびパターン生成を円滑にするのに役立ち得る。
【００６８】
[0095]図３Ｂは、イベントを記録するか、または特徴付けるために使用され得るデータ構造３５０を示している。データ構造３５０は、適宜、上で説明されているようなフォーマットコンポーネント３０１を含み得る。イベントは、時間コンポーネント３５１と、識別コンポーネント３５２と、状態コンポーネント３５３とを含むようにデータレコード内に反映され得る。イベントデータ構造３５０は、発生データに関して図３Ａにおいて上で説明されているようなデータ構造３００に類似しており、イベントは、発生データと同時に生成され得る。データ構造３００（すなわち、発生データ）は、データ構造３５０（すなわち、イベント）を生成するためにスマートボックスによって使用され、またその逆もあり得る。スマートボックスが、イベント発生源（たとえば、信号受信機１４２）を通じてイベントに対する発生データを受信したときに、イベントに関連付けられている時間コンポーネント３５１を記録することができる、イベントレコーダー２０６内のイベントを特徴付けるデータを記憶することができる。時間コンポーネント３５１は、受信するスマートボックスによってイベントが作成されるか、または観察された時間であってよい。代替的に、時間コンポーネント３５１は、イベントの発生データを送信する前に発生元のスマートボックスによって割り当てられた時間（すなわち、アクションが実行された、または条件が観察されたときなど）を示し得る。識別コンポーネント３５２は、イベントの発生データの発生元のデバイスを指示するものとしてよく、状態コンポーネント３５３は、イベントが表す状態または状態の変化に対応し得る。
【００６９】
[0096]たとえば、イベントは、１７：１２：０２の時間コンポーネント３５１と、「ＷＡＬＬＳＷＩＴＣＨ１０２」の識別コンポーネント３５２と、「ＯＮ」の状態コンポーネントとを含み得る。これは、壁面スイッチに接続されているスマートボックス上で１７：１２：０２に作成されたイベントを表し、また壁面スイッチが「オフ」から「オン」にトグル式に切り替えられたことを表し得る。引き続きこの例示において、そのようなイベントを記述する発生データは、イベントレポートメッセージで、壁面スイッチに関連付けられているスマートボックスからそのブロードキャスト範囲内にあるどれかのスマートボックスにブロードキャストされ得る。フロアランプに関連付けられているスマートボックスは、以下で説明されているように、ブロードキャストされたイベントレポートメッセージを受信し、含まれている発生データを処理して学習アルゴリズムによる処理のためのイベントを生成することができる。
【００７０】
[0097]イベントパターンは、取得されるか、生成されるか、または他の何らかの形で時間ウィンドウもしくはシーケンス内で遭遇する１つまたは複数のイベントを含み得る。たとえば、特定のイベントパターンが、学習デバイス（たとえば、スマートフロアランプなど）によって内部で生成された第１のイベントと、別のデバイス（たとえば、スマート壁面スイッチなど）から受信される信号を受信したことに応答して学習デバイスによって取得された第２のイベントとを含み得る。後で説明されているように、イベントパターンは、トリガーパターン、アクションパターン、補正パターン、または報酬パターンであってよい。どのタイプかに関係なく、イベントパターンは、順序依存であるものとしてよく、したがって特定のイベントが受信される順序がパターンを構成する。代替的に、イベントパターンは順序独立であってよく、その場合、パターンは、イベントの処理順序から独立している。たとえば、第１のイベント（イベントＡと称される）は、時刻０に取得され（たとえば、受信された発生データに基づき生成される）、第２および第３のイベント（それぞれイベントＢおよびイベントＣと称される）は、その後の時刻１に同時に取得され得る（Ａ：０、Ｂ：１、Ｃ：１と表される）。順序依存パターンでは、学習デバイスは、イベントＡが最初に取得され、イベントＢおよびＣがイベントＡの後に同時に取得される場合にのみパターンを認識し得る（Ａ：０、Ｂ：１、Ｃ：１と表される）。しかしながら、イベントＣが時刻１ではなく時刻２において取得された場合、パターン（Ａ：０、Ｂ：１、Ｃ：２）は、イベントＣが時刻１ではなく時刻２において取得されたので、パターンＡ：０、Ｂ：１、Ｃ：１に等しくなり得ない。したがって、時刻１にイベントＣを取得することによって作成される第１のパターン（Ａ：０、Ｂ：１、Ｃ：１）および時刻２にイベントＣを取得することによって作成されるパターン（Ａ：０、Ｂ：１、Ｃ：２）は、イベントＣを取得する時刻が異なるので異なる。順序独立パターンでは、学習デバイスは、取得されたイベントＡ：０、Ｂ：１、Ｃ：１を取得されたイベントＡ：０、Ｂ：１、Ｃ：２と同じように処理し得るが、それは、Ｃの時刻は、イベントＣがイベントＡおよびイベントＢと同じ所定の時間ウィンドウ内で取得される限り重要でないからである。言い換えれば、順序独立の場合、同じイベントは、特定の時間ウィンドウ内で取得されるだけでよい。スマートボックスまたは学習デバイスによって観察される時間ウィンドウは、図３Ｃ〜図３Ｈを参照しつつ以下でさらに説明される。
【００７１】
[0098]いくつかの実施形態では、複数のスマートボックスまたは学習デバイスが、パターン（たとえば、トリガーパターンおよびアクションパターン）を生成し、単一のイベントに基づきアクションを実行することができる。たとえば、ユーザは、壁面スイッチを「オフ」から「オン」にトグルし、壁面スイッチが単一の第１のイベントを生成することを引き起こすことができる。第１のイベントを生成した後、壁面スイッチは、関係するイベントレポートメッセージをワイヤレス方式ですべての付近の学習デバイスにブロードキャストし得る。第１の付近の学習デバイスは、たとえば、フロアランプであってよく、これは受信されたイベントレポートメッセージに基づき第１のイベントを生成し、それをトリガーパターンに変換し得る。トリガーパターンに応答して、フロアランプは、アクションパターンを生成し、このアクションパターンに基づきライトをアクティブ化することができる。同時に、付近のステレオが、同じイベントレポートメッセージを受信し、それと同時に、受信されたイベントレポートメッセージに基づき第１のイベントを同様に生成し、それをトリガーパターンに変換し、フロアランプと異なる関連付けられているアクションパターンを生成し、異なるアクションパターンに基づき音楽を再生することができる。したがって、この例において第１のパターンに関係する単一のブロードキャストされたイベントレポートメッセージは、フロアランプがそのライトをアクティブ化し、ステレオが音楽を再生することを引き起こした。
【００７２】
[0099]いくつかの実施形態では、複数のスマートボックスは、アクションパターンを生成し、複数の個別のイベントに関係する複数のイベントレポートメッセージを受信することに基づき対応するアクションを実行することができる。たとえば、ユーザは、図１Ａからの壁面スイッチを「オフ」から「オン」にトグルし、壁面スイッチにおいて第１のイベントを生成する。ユーザは、スマートフロアランプのランプスイッチをオフから「オン」にトグルすることもでき、これは、スマートフロアランプがスマートフロアランプにおいて第２のイベントを生成することを引き起こす。第１および第２のイベントに関係するイベントレポートメッセージ（すなわち、それぞれ第１および第２のイベントに対する発生データを含む）は、５〜１０秒の時間ウィンドウ内でそれぞれのスマートボックスからブロードキャストされ得る。なおもその時間ウィンドウ内で、付近のスマートステレオおよびスマート電気スタンドは、第１および第２のイベントに関係する両方のイベントレポートメッセージを受信し得る。スマートステレオは、第１および第２のイベントに関係するイベントレポートメッセージを受信することに基づきトリガーパターンと、対応するアクションパターンとを生成し得る。アクションパターン生成は、たとえば、ステレオがオンになり、音楽の再生を開始することを引き起こすことができる。それと同時に、スマート電気スタンドは、同じ２つのイベントに関係するイベントレポートメッセージを受信することに基づきトリガーパターンと、異なるアクションパターンとを生成する。アクションパターンを生成した後、スマート電気スタンドは、たとえば、そのライトをオンにすることができる。
【００７３】
[0100]図３Ｃ〜図３Ｈは、様々な実施形態の学習デバイスがイベントのパターンを識別し、および／または補正するために時間をロールオーバーする時間ウィンドウ３６２をどのように使用するかを示している。上で説明されているように、そのような時間ウィンドウ３６２は、与えられた時刻にパターンまたはパターンの一部として識別されることに対して適格であり得るイベントに対して時間的制限を加えることができる、秒数（たとえば、５〜１０秒）などの、所定の時間量であってよい。言い換えれば、時間ウィンドウ３６２内に発生するか、またはスマートボックスによって取得されるイベント（たとえば、時間ウィンドウ３６２内に収まる図３Ｂにおいて上で説明されているような時間コンポーネント３５１を有するイベント）が組み合わされて、以下で説明されているようにアクションをトリガーし、および／またはリフレックスに対するトリガー重みを調整する際に使用するためのパターンを生成し得る。いくつかの実施形態では、スマートボックスは、取得されたイベントを、そのような取得されたイベントが事前定義された時間ウィンドウ３６２内にもはや収まっていないときにメモリ、バッファ、または他の記憶装置から削除するように構成され得る。
【００７４】
[0101]図３Ｃは、タイムライン３６０に対する例示的な時間ウィンドウ３６２を示している。取得されるか、または観察されたイベント３７０〜３７４（図３Ｃ〜図３ＦにおいてイベントＡ〜Ｅと称される）は、第１の時刻３８０ａおよび第２の時刻３８０ｂに関して時間ウィンドウ３６２内でスマートボックスによって遭遇されているものとしてよい。時間ウィンドウ３６２の長さは、第１の時刻３８０ａと第２の時刻３８０ｂとの間の時間の長さとすることができる。そのため、第２の時刻３８０ｂにおいて、スマートボックスは、取得されたイベント３７０〜３７４のうちのどれかを任意の組合せまたは順序で使用して、記憶されているリフレックス内の事前定義されたパターンとマッチされ得るパターンを生成し得る。たとえば、スマートボックスは、「Ａ，Ｂ，Ｃ，Ｄ，Ｅ」、「Ａ，Ｂ，Ｃ，Ｄ，」「Ａ，Ｂ，Ｃ，」「Ａ，Ｂ」「Ａ」、「Ａ，Ｂ，Ｃ，Ｄ，Ｅ」、「Ａ，Ｃ，Ｅ」、「Ｅ，Ｃ，Ａ」、「Ａ，Ｅ，Ｃ」などの、イベントＡ〜Ｅの任意の組合せおよび／または順序を使用してパターンを生成することができる。
【００７５】
[0102]図３Ｄは、第３の時刻３８１ａと第４の時刻３８１ｂとの間の時間ウィンドウ３６２内で取得されたイベント３７１〜３７５（図３ＤにおいてイベントＢ〜Ｆと称される）を示している。たとえば、第４の時刻３８１ｂにおいて、イベント「Ａ」３７０は、もはや、時間ウィンドウ３６２内にはないが（すなわち、イベント「Ａ」３７０は、第３の時刻３８１ａよりも早い時刻に対応し得る）、イベントＢ〜Ｆ３７１〜３７５の任意の組合せは、スマートボックスに記憶されているリフレックス内の事前定義された情報とマッチし得るパターンを生成するように組み合わされ得る。いくつかの実施形態では、イベント「Ａ」３７０は、第４の時刻３８１ｂにおいてメモリ、バッファ、または他の記憶装置から削除されるか、または他の何らかの形で取り除かれ得る。
【００７６】
[0103]同様に、図３Ｅは、第５の時刻３８２ａと第６の時刻３８２ｂとの間の時間ウィンドウ３６２内でスマートボックスによって取得され得るイベント３７２〜３７６（図３ＥにおいてイベントＣ〜Ｇと称される）を示している。たとえば、第６の時刻３８２ｂにおいて、イベント「Ａ」３７０およびイベント「Ｂ」３７１は、もはや、時間ウィンドウ３６２内に入っていないが、イベントＣ〜Ｇ３７２〜３７６の任意の組合せは、スマートボックスに記憶されているリフレックス内の事前定義された情報とマッチし得るパターンを生成するように組み合わされ得る。いくつかの実施形態では、イベント「Ｂ」３７１は、第６の時刻３８２において（すなわち、時間ウィンドウ３６２の外であるとき）メモリ、バッファ、または他の記憶装置から削除されるか、または他の何らかの形で取り除かれ得る。スマートボックスは、同様の方式で時間ウィンドウ３６２をロールする（または進ませる）ことを続け、時間ウィンドウ３６２内に収まるイベントを継続的に評価し、イベントが事前定義されたパターンに対応しているかどうかを決定することができる。
【００７７】
[0104]図３Ｆ〜図３Ｈは、識別されたパターンに関する様々な他の例示的な時間ウィンドウを示している。本明細書で説明されているように、スマートボックス（または学習デバイス）は、フロアランプの「オン」イベントまたは壁面スイッチの「オン」イベントなどのイベントを識別されたトリガーまたはそのような事前定義された時間ウィンドウ内で発生する他のパターンに相関させることができる。たとえば、特定のリフレックス（たとえば、取得された壁面スイッチの「オン」イベント）のトリガーパターンの発生を検出したことに応答して、スマートボックスは、リフレックスの関係する報酬パターンまたは補正パターンもトリガーパターンから５〜１０秒の時間ウィンドウ内で発生したかどうかを決定し得る。スマートボックスは、関係するパターンにも遭遇したかどうかを決定するために識別されたパターン（たとえば、トリガーパターン）の前および／または後に取得される取得済みイベントを評価し得る。
【００７８】
[0105]図３Ｆ〜図３Ｈは、イベント「Ｄ」３７３および識別されたパターンに関連付けられている時刻３８９（図３Ｆ〜３Ｈでは「ｉｄ’ｄパターンの時間（Ｔｉｍｅ  ｏｆ  ｉｄ’ｄ  ｐａｔｔｅｒｎ）」と称されている）からなる識別されたパターンに関する様々な時間ウィンドウ３６２ａ〜３６２ｃを示している。図３Ｆは、識別されたパターン（すなわち、イベント「Ｄ」３７３）に関連付けられている時刻３８９の前に生じる第１の期間３９２ａを含むように構成され、識別されたパターンに関連付けられている時刻３８９の後に生じる第２の期間３９２ｂに等しい第１の時間ウィンドウ３６２ａを示している。スマートボックスは、識別されたパターンに関連付けられている時刻３８９から第２の期間３９２ｂが経過した後に生じる第１の終了時刻３９０ａまでに識別されたパターンに相関され得るイベントを取得し、バッファリングする（または他の何らかの形で記憶する）ように構成され得る。第１の期間３９２ａおよび第２の期間３９２ｂが同じ持続時間である場合に、等しい数のイベントが、潜在的に、識別されたパターンに関連付けられている時刻３８９の前および後に生じる期間３９２ａ、３９２ｂ内に取得され得る。言い換えれば、第１の時間ウィンドウ３６２ａにより、スマートボックスは、イベント「Ｂ」３７１、イベント「Ｃ」３７２、イベント「Ｅ」３７４、およびイベント「Ｆ」３７５のうちのどれかまたはすべてをイベント「Ｄ」３７３の識別されたパターンに相関させることができるものとしてよい。別の例として、スマートボックスは、イベント「Ｄ」３７３の識別されたパターンをイベント「Ｂ」３７１とイベント「Ｆ」３７５とを含む報酬パターンなどと相関させることができる。
【００７９】
[0106]図３Ｇは、識別されたパターンに関連付けられている時刻３８９の後に生じる第４の期間３９３ｂより短い（または時間的に小さい）識別されたパターン（すなわち、イベント「Ｄ」３７３）に関連付けられている時刻３８９の前に生じる第３の期間３９３ａを含むように構成されている第２の時間ウィンドウ３６２ｂを示している。スマートボックスは、識別されたパターンに関連付けられている時刻３８９から第４の期間３９３ｂが経過した後に生じる第２の終了時刻３９０ｂまでに識別されたパターンに相関され得るイベントを取得し、バッファリングする（または他の何らかの形で記憶する）ように構成され得る。したがって、識別されたパターンの後に生じる第４の期間３９３ｂ内で、より多くの数のイベントが潜在的に取得され得る。言い換えれば、第２の時間ウィンドウ３６２ｂにより、スマートボックスは、イベント「Ｃ」３７２、イベント「Ｅ」３７４、イベント「Ｆ」３７５、およびイベント「Ｇ」３７６のうちのどれかまたはすべてをイベント「Ｄ」３７３の識別されたパターンに相関させることができるものとしてよい。たとえば、スマートボックスは、イベント「Ｄ」３７３の識別されたパターンをイベント「Ｃ」３７２と、イベント「Ｅ」３７４と、イベント「Ｇ」３７６を含む補正パターンなどと相関させることができる。
【００８０】
[0107]図３Ｈは、識別されたパターンに関連付けられている時刻３８９の後に生じる第６の期間３９４ｂより長い（または時間的に大きい）識別されたパターン（すなわち、イベント「Ｄ」３７３）に関連付けられている時刻３８９の前に生じる第５の期間３９４ａを含むように構成されている第３の時間ウィンドウ３６２ｃを示している。スマートボックスは、識別されたパターンに関連付けられている時刻３８９から第６の期間３９４ｂが経過した後に生じる第３の終了時刻３９０ｃまでに識別されたパターンに相関され得るイベントを取得し、バッファリングする（または他の何らかの形で記憶する）ように構成され得る。したがって、識別されたパターンの前に生じる第５の期間３９４ａ内で、より多くの数のイベントが潜在的に取得され、バッファリングされ得る。言い換えれば、第３の時間ウィンドウ３６２ｃにより、スマートボックスは、イベント「Ａ」３７０、イベント「Ｂ」３７１、イベント「Ｃ」３７２、およびイベント「Ｅ」３７４のうちのどれかまたはすべてをイベント「Ｄ」３７３の識別されたパターンに相関させることができるものとしてよい。たとえば、スマートボックスは、イベント「Ｄ」３７３の識別されたパターンをイベント「Ｃ」３７２と、イベント「Ｅ」３７４とを含む補正パターンなどと相関させることができる。
【００８１】
[0108]上で説明されているように、リフレックスは、スマートボックスが関連付けられているトリガーを検出したことに応答して実行するか、または開始することができる事前定義されたアクションを指示する記憶されている情報であるものとしてよい。図４に示されているように、４つのパターンは、リフレックス４００、特にトリガーパターン４０２と、アクションパターン４０４と、報酬パターン４０６と、補正パターン４０８とを構成し得る。パターンは、１つまたは複数のイベントを含み、イベントは、データに関連付けられ得る。しかしながら、いくつかの実施形態では、パターンは、１ビット信号に関係付けられ得る（たとえば、割り込み信号線がＨｉｇｈレベルになる）。たとえば、１ビット信号は、報酬パターンに変換され、スマートボックスの論理イベントバス上に出され得る報酬信号であるものとしてよい。割り込みセンサーは一種のセンサーエンコーダであってよいので、そのような１ビット信号報酬パターンは、センサーエンコーダ経路を、上で説明されているように取り得る。他のパターンタイプ（たとえば、アクション、トリガーなど）は、単純な信号（たとえば、１ビット信号または割り込み）によっても定義され得る。
【００８２】
[0109]スマートボックスが知られているリフレックスの知られているトリガーパターンとマッチするイベント（または複数のイベント）を取得したときに、スマートボックスは、対応するアクションパターン４０４を生成し得る。リフレックスは、所定の報酬パターンおよび所定の補正パターンを有することができる。スマートボックスが、学習を許されたときに報酬パターンを受け取った場合、スマートボックスは、トリガーパターン４０２とアクションパターン４０４との間の関連付けに対する重み付け（すなわち、トリガー重み）を増加させ得る。関連付け重み付けが、閾値量を超えると、スマートボックスは、トリガーパターンに応答してアクションパターンを実行し得る。同様に、リフレックス４００は、所定の補正パターン４０８を有することができ、スマートボックスが、学習を許されたときに補正パターンを受け取った場合、スマートボックスは、トリガーパターン４０２とアクションパターン４０４との間の関連付け重み付けを減少させ得る。補正パターン４０８の処理で、関連付け重み付けの修正を、関連付け重み付けが閾値量よりも低くなり得、スマートボックスが事実上トリガーパターン４０２に応答してアクションパターン４０４を実行しないことを学習する十分な回数だけ行うことができる。この仕方で、スマートボックスは、トリガーパターン４０２と対応するアクションパターン４０４との間の関連付けを学習し、望ましくないトリガー／アクション関連付けを学習解除することができる。様々な実施形態において、補正パターン４０８および／または報酬パターン４０６は、アクションを実行すること、入力を受信することなどに応答してイベントレポートメッセージを発行する付近のデバイスなどの別のスマートボックスデバイスからスマートボックスによって受信されたデータに基づき取得され得る。
【００８３】
[0110]いくつかの実施形態では、スマートボックスのリフレックス４００の事前定義されたアクションパターン４０４をトリガーパターンに関連付けるために、スマートボックスに対する「学習を許された」状態（または学習モード）を有効化する方法が使用され得る。そのような学習モードは、スマートボックスがリフレックス４００のトリガー重みを変更することを可能にされ得る間のスマートボックスの動作状態であるものとしてよい。取得されたパターンが知られているリフレックス４００のトリガーパターン４０２にマッチした後、リフレックスは学習モードに入り得る。他の実施形態では、スマートボックスは、アクションパターン４０４が生成されるときに学習モードに入り得る。他の実施形態では、スマートボックスは、大域的学習モードまたは状態に入り、これはトリガー（たとえば、学習スイッチをオンにする）から独立しているものとしてよく、またそのときに、スマートボックスは様々なリフレックスに対するトリガー重みを変更するか、または他の何らかの形で、取得されたイベントに基づき新しいリフレックスを生成することができる。様々な実施形態において、リフレックス４００は、リフレックス４００がアクティブな監視モード、トリガーされたモード、学習モードなどに入っているかどうかを指示するビット、フラグ、または他のインジケータなどの、様々なモードのステータスを指示するデータを含み得る。
【００８４】
[0111]スマートボックスは、スマートボックスの所定の知られている能力に対するアクションパターンを有する１つまたは複数のリフレックスとともに構成され得る。スマートボックスは、複数のリフレックスを異なる対応するアクションとともに利用することができるけれども、いくつかの実施形態では、スマートボックスは、製造業者によって提供されるデータにおいて指示されるアクションパターンなどの、スマートボックスの知られている能力またはアクションの静的セットの外部のアクションを実行するように構成され得ない。そのため、スマートボックスは、知られているアクションに相関する知られていないトリガーを有する新しいリフレックスを生成するように構成され得るが、事前定義されていないアクションを有する新しいリフレックスを生成するように構成され得ない。
【００８５】
[0112]例示として、ステレオ学習デバイス（または学習デバイスまたはスマートボックスに結合されているステレオ）は、音量レベルを音量レベル値の有限の範囲（たとえば、０〜１０など）内の値に設定する、ラジオ（またはラジオチューナー）を「オン」にアクティブ化する、ラジオ（またはラジオチューナー）を非アクティブ化する、ラジオ放送局をラジオ放送局の値の有限の範囲（たとえば、８８．１〜１２１．９など）内の値に設定する、周波数変調（ＦＭ）構成または振幅変調（ＡＭ）構成を設定するなどの所定のアクションとともに構成され得る。ステレオ学習デバイスは、様々なトリガーパターンを有するこれらの所定のアクションの各々に対するリフレックスを記憶することができる。たとえば、ステレオ学習デバイスは、ラジオ放送局を第１の値（たとえば、９２．３ＦＭ）に設定するアクションパターンとランプ「オン」イベントのトリガーパターンとを有する第１のリフレックス、ラジオ放送局を第２の値（たとえば、１０１．５ＦＭ）に設定するアクションパターンと壁面スイッチ「オン」イベントのトリガーパターンとを有する第２のリフレックス、音量レベルを８に設定するアクションパターンとランプ「オン」イベントのトリガーパターンとを有する第３のリフレックス、などを記憶することができる。
【００８６】
[0113]パターンは、センサー（たとえば、光センサー、スイッチ視覚センサーなど）によって取得された発生データに基づき生成されるイベントおよび／または信号受信機１４２によって受信された発生データに基づき生成される１つまたは複数のイベントなどの、スマートボックスで取得される１つまたは複数のイベント（たとえば、時間コンポーネント、デバイスコンポーネント、など）から作成され得る。イベントは、メモリ１３８内に記憶され、パターンを作成または認識するためにイベントレコーダー２０６によって使用され得る。パターンを作成または認識するためにイベントを評価する前に、フィルタがイベントに適用され、これにより、考慮され得るイベントのセットを縮小することができる。たとえば、フロアランプのスマートボックスは、ステレオからのイベントレポートメッセージに関係するイベントを無視することができる。代替的な一例として、ステレオは、午後１１時などの、ある時刻以降に取得されるか、または生成されたイベントを無視することができる。スマートボックスが、イベントのパターンを生成した後、これは、そのパターンが記憶されているリフレックスに対応する知られているトリガーパターンとマッチするかどうかを決定することができる。
【００８７】
[0114]識別されたパターンがリフレックス内の記憶されているトリガーパターンとマッチし、関係するトリガー重みが特定の閾値に等しいか、またはそれ以上である場合に、対にされたアクションパターンが生成され得る。特定のリフレックス（Ｒｅｆｌｅｘi）に対する現在のトリガー重み（Ｗi）は、次の式に基づき計算され得る。
【００８８】
【数１】
2016526221.tif 000003
【００８９】
[0115]ただし、ｉは、リフレックスカウンターまたは識別子であり、ｎは、リフレックスのトリガーパターンに関連付けられているイベントの数であり、ｋは、リフレックスのトリガーパターン内の個別のイベントに対するカウンターを識別し、ｍは、リフレックスのトリガーパターン内の個別のイベントに対するイベントマッチインジケータであり、ｘは、リフレックスのトリガーパターン内の個別のイベントに関連付けられているマッチ重みであり、ｓは、リフレックスのトリガーパターン内の個別のイベントに適用されるスケール係数であり、ｂは、リフレックスのトリガーパターン内の個別のイベントに適用される重みマッチ全体に対するバイアスである。したがって、Ｒｅｆｌｅｘiの現在のトリガー重みＷiは、イベントマッチ（ｍ）にマッチ重み（ｘ）とスケール係数（ｓ）とを掛けて取った総和にＲｅｆｌｅｘiに関連付けられているトリガーパターンにおけるバイアスｂを加えたものに等しい。いくつかの実施形態では、マッチ重み（ｘ）は、それぞれのイベントに関連付けられている利得によって調整されるものとしてよく、本開示で説明されているように、利得は、学習デバイスが臨界期間内にあるか、または定常状態期間内にあるかに基づき設定され得る。いくつかの実施形態では、スマートボックスは、値を０．０から１．０の範囲内に正規化する。さらに、いくつかの実施形態では、イベント（ｍ）に対するイベントマッチインジケータは、イベントが完全にマッチしたかしていないかを指示し得る０．０と１．０との間で流動的な値であり得る。（すなわち、１．０のイベントマッチ値は、完全マッチを表し、０．０のイベントマッチは、完全なミスマッチを指示し得る）。
【００９０】
[0116]例示として、単一のイベントの識別されたパターンが特定のリフレックス（Ｒｅｆｌｅｘi）に対する知られているトリガーパターンとマッチする場合に、単一のイベントに対するイベントマッチインジケータ（ｍ）は、１に設定され得る。単一のイベントに対するマッチ重み（ｘ）が関連付けられている利得値に基づき１に設定され、スケール係数（ｓ）も１に設定され、Ｒｅｆｌｅｘiに対するバイアス（ｂ）は０に設定されていると仮定すると、Ｒｅｆｌｅｘiに対する新しい、または現在のトリガー重みＷiは１に等しいものとしてよい。同じパターンが再び受信された場合、マッチ重み（ｘ）は、リフレックスに関連付けられている現在の利得によって調整され、その結果、トリガー重み閾値よりも大きくなり得るその後の新しいトリガー重み（Ｗi）の増加が生じ得る。したがって、新しいトリガー重み（Ｗi）は、増減し得る。たとえば、２度目も同じトリガーパターンを受信することは、ｍk,iが１に設定され、ｘk,iが１．５に調整され、ｓk,iが１に設定され、ｂiが０に設定されていると仮定してトリガー重み（Ｗi）を１．５に増加させ得る。同じ条件の下で、識別されたパターンが、知られているトリガーパターンとマッチしない場合、ｍは、０に等しくなり、その結果、新しいトリガー重みＷiも０に等しくなり得る。
【００９１】
[0117]追加の例示として、ステレオ（たとえば、図１Ａにおいて上で説明されているようなステレオ１０６）は、様々なリフレックスを記憶し、利用することができるスマートボックスを備えるか、またはこれに結合され得る。特に、ステレオは（そのスマートボックスを介して）、付近のシーリングライトからの「オン」信号に関係する第１のイベントと、付近のリクライナー内の人感センサー（たとえば、圧力センサー、モーションセンサーなど）からの信号に関係する第２のイベントとを含むトリガーパターンを有する第１のリフレックス（Ｒi）を記憶し得る。たとえば、第１のイベントは、アクティブ化されたときにシーリングライト（またはシーティングライトに結合されているスマートボックス）によって送信された信号に対応するものとしてよく、第２のイベントは、リクライナーに人が座っているときにリクライナー（またはリクライナーに結合されているスマートボックス）によって送信された信号に対応するものとしてよい。第１のリフレックスは、ステレオがトリガーパターンの発生を検出したことに応答してステレオがオンになることを引き起こし得るアクションパターンも含み得る（すなわち、シーティングライトとリクライナーイベントの両方）。言い換えれば、第１のリフレックスに基づき、ステレオは、シーリングライトがオンにされ、誰かが事前定義された時間ウィンドウ（たとえば、５〜１０秒など）内でリクライナーに座ったことに応答してラジオをアクティブ化し、音楽を再生することができる。
【００９２】
[0118]次の表は、ステレオの第１のリフレックス（つまり、Ｒi）に関する式の例示的な特性を示している。次の例および表の目的に関して、第１のリフレックスのアクションパターン（すなわち、ステレオをオンにして、音楽を再生する）は、第１のリフレックス（すなわち、Ｗi）のトリガー重みが１．５のトリガー閾値以上であるときにトリガーされるものとしてよく、この条件はステレオが第１のイベントおよび第２のイベントのうちの少なくとも一方を受信したことに応答して発生し得る。第１のイベントは、イベントｋ＝０であり、第２のイベントは、ｋ＝１であるものとしてよい。さらに、様々イベント（ｍn,i）に対するマッチインジケータを除き、製造業者、開発者、またはユーザによって設定されるような、次の特性における様々な値は、事前定義され得ることは理解されるであろう。たとえば、イベントに対するマッチ重みは、製造業者によって設定され得るか、またはスマートボックスにおいて遭遇した以前のイベントに基づくものとしてよい。
【００９３】
【表１】
2016526221.tif 000004
【００９４】
[0119]上の表Ａの例示的な特性に示されているように、一シナリオにおいて、第１のイベント（すなわち、ｋ＝０）のみがステレオによって受信され得る。したがって、ステレオのスマートボックスは、第１のイベント（ｍ０，ｉ）に対するイベントマッチインジケータを１．０に（すなわち、第１のイベントに対してマッチがある）、第２のイベント（ｍ１，ｉ）に対するイベントマッチインジケータを０．０に（すなわち、第２のイベントに対してマッチがない）設定することができる。第１のリフレックスのトリガー重みは、各イベントに対する部分重み計算結果を総和することによって計算されるものとしてよく、それにより、第１のイベントの部分重みは、１．０と計算される。言い換えれば、（ｍ０，ｉ＊ｘ０，ｉ＊ｓ０，ｉ）＋ｂｉ＝（１．０＊１．０＊１．０）＋０．０＝１．０である。第２のイベントはないので、第２のイベント（ｍ１，ｉ）に対するイベントマッチインジケータは０．０であり、したがって、第２のベントに対する部分重み計算結果は０．０となり得る。言い換えれば、（ｍ１，ｉ＊ｘ１，ｉ＊ｓ１，ｉ）＋ｂｉ＝（０．０＊１．０＊１．０）＋０．０＝０．０である。したがって、第１のリフレックス（Ｗｉ）のトリガー重み合計は、１．０（すなわち、１．０＋０．０）であり、これは１．５のトリガー閾値よりも小さい。したがって、第１のイベントのみが受信された場合、第１のリフレックスのアクションパターンはトリガーされ得ない（たとえば、ステレオはラジオをアクティブ化し得ない）。
【００９５】
【表２】
2016526221.tif 000005
【００９６】
[0120]上の表Ｂの例示的な特性に示されているように、別のシナリオにおいて、第１のイベント（すなわち、ｋ＝０）および第２のイベント（すなわち、ｋ＝１）の両方がステレオによって受信され得る。したがって、スマートボックスは、第１のイベント（ｍ0,i）に対するイベントマッチインジケータを１．０に（すなわち、第１のイベントに対してマッチがある）、第２のイベント（ｍ1,i）に対するイベントマッチインジケータを非ゼロの値に設定することができる。しかしながら、いくつかの場合において、第２のイベントは、正確にマッチされ得ず、そのため、第２のイベント（ｍ1,i）に対するマッチインジケータは、０．８に設定され得る（すなわち、第２のイベントに対して少なくとも部分的なマッチがある）。第２のイベント（ｍ1,i）に対するイベントマッチインジケータに対する０．８の値は、第２のイベントマッチが、値を０．０から１．０までの範囲に正規化するシステムに対する不完全なマッチであったことを指示するものとしてよく、１．０は、イベントマッチ値に対する完全なマッチを表す。
【００９７】
[0121]上で説明されているように、トリガー重み（Ｗi）は、各イベントに対する部分重み計算結果を総和することによって計算されるものとしてよく、それにより、第１のイベントの部分重みは、１．０と計算される。言い換えれば、（ｍ0,i＊ｘ0,i＊ｓ0,i）＋ｂi＝（１．０＊１．０＊１．０）＋０．０＝１．０である。さらに、第２のイベントの部分重みは、０．８と計算される。言い換えれば、（ｍ1,i＊ｘ1,i＊ｓ1,i）＋ｂi＝（０．８＊１．０＊１．０）＋０．０＝０．８である。したがって、第１のリフレックス（Ｗi）のトリガー重み合計は、１．８（すなわち、１．０＋０．８）であり、これは１．５のトリガー閾値よりも大きい。そのため、第１のイベントと第２のイベントの両方がスマートボックスで取得される場合、第１のリフレックスのアクションパターンが生成され、これはアクションが実行されることを引き起こし得る（たとえば、ステレオがそのラジオをアクティブ化し、音楽を再生し得る、など）。いくつかの実施形態では、第１のリフレックスのアクションパターンが生成され、これはトリガー閾値（たとえば、１．５）以上の第１のリフレックス（Ｗi）のトリガー重み合計の計算に応答してアクションが実行されることを引き起こし得る。
【００９８】
【表３】
2016526221.tif 000006
【００９９】
[0122]いくつかの実施形態では、様々なイベントに対するマッチ重みに基づき、スマートボックスは、単一のイベントを取得したことに応答してアクションを実行するように構成され得る。たとえば、ステレオのスマートボックスは、誰かがリクライナーに座っていることを指示する信号を受信したことのみに応答してそのラジオ機能をアクティブ化するように構成され得る（すなわち、アクションパターンは、リクライナーに関連付けられている人感センサーのイベントによってトリガーされ得る）。上の表Ｃの例示的な特性に示されているように、第１のイベントは取得されず（すなわち、ｍ０，ｉ＝０．０）、第２のイベントは取得され（すなわち、ｍ１，ｉ＝０．８）、第２のイベント（ｘ１，ｉ）に対するマッチ重みは２．０の値に設定され得る。第２のイベントに対するマッチ重みが高いので、ステレオのラジオは、第２のイベントのみがステレオにおいて取得されたときにアクティブ化され得る。言い換えれば、第１のリフレックスに対するトリガー重みは、第２のイベントを取得することにのみ基づき１．５よりも大きいものとしてよい（すなわち、（（ｍ０，ｉ＊ｘ０，ｉ＊ｓ０，ｉ）＋（ｍ１，ｉ＊ｘ１，ｉ＊ｓ１，ｉ））＋ｂｉ＝（（０．０＊１．０＊１．０）＋（０．８＊２．０＊１．０））＋０．０＝１．６）。
【０１００】
【表４】
2016526221.tif 000007
【０１０１】
[0123]いくつかの実施形態では、ノイズの多いＲＦ環境などにおいて、不完全なイベントマッチングがあり得そうなときに、スケール係数は、マッチングが低い可能性があるとしてもリフレックスがトリガーされるように調整され得る。たとえば、上の表Ｄに示されているように、マッチングインジケータが理想値より低い（たとえば、１．０未満、０．８未満など）ときであっても、１．５の閾値より高いトリガー重みを可能にするために、第１のイベント（ｓ０，ｉ）に対するスケール係数および第２のイベント（ｓ１，ｉ）に対するスケール係数は２．０の値に増加され得る。言い換えれば、理想値より低いマッチングインジケータ（たとえば、それぞれ０．７および０．６）を有する第１のイベントと第２のイベントの両方を受信し、第１のリフレックスに対する２．６のトリガー重みを計算したことに応答して、ステレオはそのラジオをアクティブ化して、音楽を再生することができる（すなわち、（（ｍ０，ｉ＊ｘ０，ｉ＊ｓ０，ｉ）＋（ｍ１，ｉ＊ｘ１，ｉ＊ｓ１，ｉ））＋ｂｉ＝（（０．７＊１．０＊２．０）＋（０．６＊１．０＊２．０））＋０．０＝２．６）。
【０１０２】
【表５】
2016526221.tif 000008
【０１０３】
[0124]いくつかの実施形態では、スマートボックスが単一のイベントを取得したことに応答してアクションパターンがトリガーされることを引き起こすためにトリガー重み計算結果に対するバイアス値が調整され得る。たとえば、上の表Ｅに示されているように、バイアス（ｂi）は、１．０に設定されるものとしてよく、これは、第１のイベントまたは第２のイベントのいずれかがステレオが第１のリフレックスを介してそのラジオをアクティブ化することを個別に引き起こすことを許す。言い換えれば、アクションパターンは、第２のイベントのみが取得されたときに（すなわち、（（ｍ0,i＊ｘ0,i＊ｓ0,i）＋（ｍ1,i＊ｘ1,i＊ｓ1,i））＋ｂi＝（（０．０＊１．０＊１．０）＋（０．８＊１．０＊１．０））＋１．０＝１．８）または第１のイベントのみが取得されたときに（すなわち、（（ｍ0,i＊ｘ0,i＊ｓ0,i）＋（ｍ1,i＊ｘ1,i＊ｓ1,i））＋ｂi＝（（０．９＊１．０＊１．０）＋（０．０＊１．０＊１．０））＋１．０＝１．９）．トリガーされ得る。
【０１０４】
[0125]図５〜図７は、イベント（アクションを含む）がフレックスにおいてパターンとしてどのように認識（または識別）され得るかを示すタイムライン図である。これらのタイムラインの説明において、壁面スイッチおよびフロアランプは、それらのデバイスに関連付けられているスマートボックスに対する簡略表記として参照されている。さらに、壁面スイッチおよびフロアランプは、スマートボックスに結合され得るタイプのデバイスの説明に役立つ例として使用される。したがって、壁面スイッチおよびフロアランプへの参照は、いかなる形でも請求項の範囲を制限することを意図されていない。
【０１０５】
[0126]図５は、送信機５１０（たとえば、壁面スイッチ）と受信機（たとえば、ランプ）との間の送信の時間を示すリフレックスに対応するイベント送信のタイムライン図５００である。これらのイベント送信（またはイベントレポートメッセージ）は、受信機がイベントを生成するのを助け得る発生データを含み得る。タイムライン図は、受信機がモニターモード５０６に入っている状態で時刻０（または図５に示されているようにｔ＝「ｔ０」）から始まり、受信機が時刻「ｔＲｅｓｕｍｅＭｏｎｉｔｏｒ」（またはｔ＝「ｔＲｅｓｕｍｅＭｏｎｉｔｏｒ」）でモニターモード５０６に戻ったときに終了する。いくつかの実施形態では、図５００内の送信機５１０は、フロアランプによって受信され得る、イベントの発生データをブロードキャストする壁面スイッチであってよい。フロアランプは、モニターモード５０６またはトリガーモード５０８のいずれかとしてよい、各記憶されているリフレックスに関連付けられている受信機状態５１１を有し得る。フロアランプに関連付けられている各リフレックスの既定状態は、モニターモード５０６であってよい。フロアランプは、イベントを他のスマートボックスコンポーネントに転送し得る、イベントバス２１４（典型的にはそのスマートボックス内の）も有することができる。
【０１０６】
[0127]例示を目的として、時刻ｔ＝ｔ０において、フロアランプは、すべてのリフレックスに関してモニターモード５０６に入っていると考えられ得る。フロアランプは、その信号受信機１４２などを介してイベントレポートメッセージ５０２を受信することができる。たとえば、ユーザは、壁面スイッチを「オフ」から「オン」にトグルすることができる。それに応答して、壁面スイッチは、センサーエンコーダ１３４（図２に示されている）によりそのトグルをイベントとして記録することができる。壁面スイッチは、壁面スイッチの信号送信機１３６を通じて新しいイベントに関係する発生データを有するイベントレポートメッセージ５０２を送信し得る。イベントレポートメッセージ５０２は、フロアランプなどの、他のスマートボックスによって受信され得る。
【０１０７】
[0128]ｔ＝ｔＴｒｉｇｇｅｒにおいて、イベントレポートメッセージ５０２がフロアランプによって受信され得る。フロアランプは、イベントレポートメッセージ５０２に基づき生成されたイベントがリフレックスのトリガーパターンとマッチすると決定し、マッチしたリフレックスに関してトリガーモード５０８に入り得る。トリガーモード５０８において、フロアランプは、他のイベントの探索を続け、学習または学習解除をそれぞれ可能にするために報酬および／または補正パターンが存在するかどうかを決定し得る。
【０１０８】
[0129]ｔ＝ｔＲｅｓｐｏｎｓｅにおいて、フロアランプは、マッチするリフレックスのアクションパターンに関連付けられているイベント５１４を生成することができ、これはモーター駆動装置１４０をアクティブ化して、フロアランプ（図１Ｂおよび図１Ｃに示されている）のライト１２４をオンにすることなどのアクションを引き起こし得る。イベント５１４は、フロアランプのイベントバス２１４上に出され、最終的にパターンに変換され、メモリ１３８に記憶され得る。いくつかの実施形態では、生成されたアクションパターンは、追加のアクションパターンに対するトリガーパターンであってもよい。たとえば、フロアランプをオンにすることは、ステレオをオンにするためのトリガーパターンであってもよい。言い換えれば、複数の学習デバイスがデージーチェーンでつながれ、これにより、トリガーパターンおよびアクションパターンが生成されることを可能にし、対応するデータをデバイスからデバイスへと送信することができる。
【０１０９】
[0130]ｔ＝ｔＲｅｓｕｍｅＭｏｎｉｔｏｒにおいて、フロアランプは、トリガーモード５０８を抜けて、モニターモード５０６に再入し、そこで、フロアランプは、新しいイベントレポートメッセージを探索し、受信することができる。
【０１１０】
[0131]図５が示しているように、フロアランプは、単一のリフレックスに関して単一のトリガーモードに入ることができる。いくつかの実施形態では、フロアランプは、複数のリフレックスをメモリに記憶しておき、重なり合う時間間隔で複数のイベントを取得（または生成）することができる。フロアランプが、結果として複数のトリガーパターンを引き起こす複数のイベントを取得すると仮定すると、フロアランプは、同時トリガーモードに入り得る。各トリガーモードは、異なるリフレックスに対応し得る。たとえば、フロアランプは、壁面スイッチからＥｖｅｎｔＡに関係するイベントレポートメッセージを、ステレオからＥｖｅｎｔＢに関係するイベントレポートメッセージを同時に受信することができる。ＥｖｅｎｔＡは、フロアランプのメモリに記憶されている第１のリフレックスからのトリガーパターンに対応し得る。それに応答して、フロアランプは、第１のリフレックスＲｅｆｌｅｘＡに関してトリガーモードに入ることができる。ＥｖｅｎｔＢは、異なるリフレックスＲｅｆｌｅｘＢの異なるトリガーパターンに対応し得る。したがって、フロアランプは、ＲｅｆｌｅｘＢに関して第２のトリガーモードに同時に入り得る。各トリガーモードは、図５に示されているように表され得るが、フロアランプは、各イベントと、リフレックスと、トリガーモードとを独立して処理することができる。
【０１１１】
[0132]フロアランプは、異なる時刻に異なるリフレックスに対するトリガーパターンのイベントを生成することができ、これは、フロアランプが一方のトリガーに関して他のリフレックスに対する他方のトリガーモードと異なる時刻にトリガーモードに入ることを引き起こし得る。各リフレックスのトリガーモードが同じ時間期間（たとえば、５秒）に重なると仮定すると、フロアランプは、第１のリフレックスに関してトリガーモードを終了するが、第２のリフレックスに関してはトリガーモードに留まり得る。最終的に、イベントフロアランプは、各リフレックスに関してトリガーモードを終了し、各リフレックスに関してモニターモードに戻り得る。
【０１１２】
[0133]図６は、新しいリフレックスを作成する学習タイムラインを示すタイムライン図６００である。図６００は、知られているリフレックス（「ＲｅｆｌｅｘＦ１」または「Ｆ１」と称される）が新しいリフレックス（「ＲｅｆｌｅｘＦ２」または「Ｆ２」と称される）を作成するためにどのように使用され得るかを示している。図６００は、新しい壁面スイッチと、ランプスイッチと、フロアランプとを含む。フロアランプは、知られているＲｅｆｌｅｘＦ１を有し、これはモニターモード６０６とトリガーモード６０８とを含む状態６１８を有する。ＲｅｆｌｅｘＦ２は知られておらず、このタイムライン６０１上で最終的に作成される。タイムライン６０１は、時刻０（「ｔ＝ｔ０」）に開始し、時刻「ＲｅｓｕｍｅＭｏｎｉｔｏｒ」（ｔ＝「ｔＲｅｓｕｍｅＭｏｎｉｔｏｒ」）に終了する。
【０１１３】
[0134]ｔ＝ｔ０において、フロアランプは、ＲｅｆｌｅｘＦ１に関してモニターモード６０６で開始し得る。ＲｅｆｌｅｘＦ１は、トリガーパターン（ＭＤ２と称される）と、アクションパターン（ＭＤ３と称される）と、報酬パターン（ＭＤ４と称される）と、補正パターン（ＭＤ５と称される）とを含み得る。フロアランプは、ＲｅｆｌｅｘＦ１（ＭＤ２）のトリガーパターンとマッチするパターンに対する生成されたイベントを監視し得る。
【０１１４】
[0135]ｔ＝ｔＭｄ１−ｏｎにおいて、新しい壁面スイッチが「オフ」から「オン」に切り替えられ、これにより、イベントを生成し、関係する発生データ（「発生データ１」と称される）がフロアランプによって受信されたイベントレポートメッセージで壁面スイッチによってブロードキャストされることを引き起こし得る。新しい壁面スイッチからのイベントレポートメッセージからの発生データは、１つまたは複数のイベントと組み合わされ得るか、またはパターン（「ＭＤ１」）を作成するために個別に使用され得るイベントを生成するためにフロアランプによって使用され得る。
【０１１５】
[0136]ｔ＝ｔＭｄ１−ｄｏｎｅにおいて、フロアランプは、「発生データ１」を含むイベントメッセージを受信し、関係するイベントを生成し、それを（およびバッファに記憶されている可能な他のイベントを）パターン「ＭＤ１」として知られているパターンに変換し得る。このときに、フロアランプは、パターンＭＤ１をイベントバス上に出して、さらに処理するか、またはメモリに一時的に記憶することができる。フロアランプは、パターンＭＤ１がフロアランプの知られているリフレックスの知られているトリガーパターンと一致していないと決定し、そこで、モニターモード６０６で動作し続けることができる。
【０１１６】
[0137]ｔ＝ｔＭｄ２−ｏｎにおいて、ランプスイッチは、「オフ」から「オン」にされ、それに応答して、フロアランプが、状態変化に関係する発生データ（「発生データ２」と称される）に基づきイベントを生成し得る。それと同時に、フロアランプは、「発生データ２」から生成されたイベントをパターンＭＤ２としてまとめて処理される他のイベントと組み合わせて、パターンＭＤ２をイベントバス上に出して、メモリに一時的に記憶し得る。
【０１１７】
[0138]ｔ＝ｔＴｒｉｇｇｅｒにおいて、フロアランプは、パターンＭＤ２とＲｅｆｌｅｘＦ１のトリガーパターンとのマッチングを行うことができる。次いで、フロアランプは、パターンＭＤ２がＲｅｆｌｅｘＦ１のトリガーパターンとマッチするので、ＲｅｆｌｅｘＦ１に対するトリガーモード６０８に入ることができる。いくつかの実施形態では、フロアランプは、内部送信を完了し、ｔ＝ｔＴｒｉｇｇｅｒにおいて「発生データ２」から生成されたイベントをパターンＭＤ２に変換し得る。
【０１１８】
[0139]ｔ＝ｔＡｃｔｉｏｎにおいて、フロアランプは、イベントバス上に配置されるか、またはフロアランプのメモリに記憶されるＲｅｆｌｅｘＦ１（ＭＤ２）に対する知られているトリガーパターンに関連付けられているＲｅｆｌｅｘＦ１（ＭＤ３）に対するアクションパターンを生成し得る。パターンＭＤ３の生成は、フロアランプに接続されているモーター駆動装置がライトをオンにすることを引き起こし得る。
【０１１９】
[0140]ｔ＝ｔＮｅｗＲｅｆｌｅｘにおいて、パターンＭＤ１とマッチするトリガーパターンを有する既存のリフレックスがないので、新しいリフレックス（「ＲｅｆｌｅｘＦ２」または「Ｆ２」と称される）が作成される。ただ１つの知られているトリガーパターンは、ＲｅｆｌｅｘＦ１に関連付けられているＭＤ２である。ＲｅｆｌｅｘＦ２を作成する際に、フロアランプは、ＲｅｆｌｅｘＦ１に関連付けられているアクションパターンと、報酬パターンと、補正パターンとを新しいリフレックスにコピーし、タイムライン６０１上で受信されたパターン（ＭＤ１）をそのトリガーパターンとして新しいリフレックスに割り当て得る。コピーされるパターンに関連付けられている重みは、新しいリフレックスにコピーされるときに調整され得る。したがって、新しいリフレックス（ＲｅｆｌｅｘＦ２）は、パターンＭＤ１に等しく、新しい壁面スイッチから受信された発生データ（「発生データ１」）に関係するトリガーパターンと、フロアランプをオンにすることに関連付けられているパターンＭＤ３に等しいアクションパターンと、パターンＭＤ４に等しい報酬パターンと、パターンＭＤ５に等しい補正パターンとを有することができる。いくつかの実施形態では、フロアランプが、複数のアクションを実行し（たとえば、オンにする、オフにする、など）、それにより、少なくとも２つのリフレックス（すなわち、アクションごとに少なくとも１つのリフレックス）を利用するように構成され得るときに、未知のパターンを検出したことに応答して作成される新しいリフレックスは、そのトリガーモードにおいて既存のリフレックスからコピーされ得る。言い換えれば、新しいリフレックスを作成するときにどの既存のリフレックスからコピーするかを決定するために、フロアランプは、トリガーモードにおいてイベント（またはイベントのパターン）をリフレックスの知られているアクションに相関させるオペレーションを実行し得る（すなわち、新しいリフレックスに対するパターンが、未知のパターン／イベントの時間ウィンドウ内でアクションパターンに遭遇する既存のリフレックスからコピーされ得る）。図１１は、スマートボックスが新しいリフレックスを追加するためのオペレーションを含む一実施形態の方法を示している。
【０１２０】
[0141]ｔ＝ｔＲｅｗａｒｄにおいて、別のコンポーネントが、ＲｅｆｌｅｘＦ１に対する報酬パターンとして知られているパターンＭＤ４などの報酬パターンとマッチするイベントを生成し得る。たとえば、モーター駆動装置は、フロアランプのライトがオンになるときにパターンＭＤ４に等しいイベントを生成することができる（図１Ｂ〜図１Ｃに示されている）。モーター駆動装置は、パターンＭＤ４をイベントレコーダーに送信し得る。パターンＭＤ４は、ＲｅｆｌｅｘＦ１の報酬パターン（および新規作成されたＲｅｆｌｅｘＦ２）とマッチするので、ＲｅｆｌｅｘＦ１に関連付けられているトリガー重みは、ＲｅｆｌｅｘＦ１がトリガーモード６０８に入るときに増加され得る。いくつかの実施形態では、報酬パターンは、フロアランプのライトがオンになる限りパターンＭＤ４に等しい報酬パターンが常に生成され、トリガー重みが増加し得るように自己生成パターンであってよい。
【０１２１】
[0142]学習有効モードにおいて、報酬パターン（ＭＤ４）がマッチした場合、報酬利得が適用され得る（たとえば、トリガー重みを増加させる、など）。いくつかの実施形態では、マッチ重み（上で説明されているようにｘ）は、典型的には、学習有効モードに入っている間に修正されるけれども、式の中のパラメータまたは値は、学習有効モードに入っている間に調整され得る。言い換えれば、リフレックスのトリガー重みを増減することは、トリガー重みの式の中のパラメータを調整することを含み得る。
【０１２２】
[0143]しかし、補正パターン（ＭＤ５）がマッチした場合、補正利得が適用され得る（たとえば、トリガー重みを減少させる）。いくつかの実施形態では、報酬パターンまたは補正パターンは、入力、または応答が望ましいものであった（または望ましくなかった）というフィードバックを返すためにユーザがアクティブ化し得るボタンなどの、追加の発生によって生成され得る。たとえば、フロアランプがそのライトをオンにした後、ユーザは、フロアランプ上のボタンを押して、報酬パターンを生成する。報酬パターンに基づき、フロアランプは、関係するリフレックスのトリガー重みを増加させ得る。
【０１２３】
[0144]ｔ＝ｔＲｅｓｕｍｅ  Ｍｏｎｉｔｏｒにおいて、フロアランプは、ＲｅｆｌｅｘＦ１に対するトリガーモード６０８を終了し、モニターモード６０６に戻る。いくつかの実施形態では、フロアランプは、その後、パターンＭＤ１を受信するものとしてよく、これは、フロアランプがＲｅｆｌｅｘＦ２のトリガーされたアクションに基づきライトをアクティブ化することを引き起こし得る。
【０１２４】
[0145]いくつかの実施形態では、新しいリフレックスが、様々な発生データがフロアランプによって受信されるか、または取得される順序に関係なく生成され得る。言い換えれば、未知のトリガーパターン（たとえば、ＭＤ１）は、トリガーウィンドウの前、間、および後に受信され、使用される可能性があり、したがって、発生データを受信する順序と無関係にリフレックスの作成を引き起こす可能性がある。たとえば、「発生データ１」が受信され、フロアランプがＲｅｆｌｅｘＦ１に対するトリガーモード６０８に入った後（すなわち、「発生データ２」が受信され、ＭＤ２が取得された後）にパターンＭＤ１を生成するために使用される場合、ＭＤ１がトリガーモード６０８に関する時間ウィンドウ内でまだ発生していることがあり得るので、フロアランプはＲｅｆｌｅｘＦ２をまだ作成することができる。
【０１２５】
[0146]図７は、図６からの新規作成されたリフレックスＲｅｆｌｅｘＦ２がどのように報酬を受けおよび／または補正されてタイムライン７０１に沿ったアクションとの関連付けを増加／減少させるかを示している。ＲｅｆｌｅｘＦ２の状態７１８に応じて、フロアランプは、ＲｅｆｌｅｘＦ２に関してモニターモード７０６またはトリガーモード７０８に入り得る。モニターモード７０６において、フロアランプは、リフレックスに関してマッチするトリガーパターンを探索している。フロアランプが、記憶されているリフレックスの知られているトリガーパターンとマッチするイベントのパターンを生成する場合、フロアランプは、マッチするトリガーパターンを含むフレックスのトリガーモードに入り得る。図７００では、ＲｅｆｌｅｘＦ２は、パターンＭＤ１に等しいトリガーパターンと、パターンＭＤ３に等しいアクションパターンと、パターンＭＤ４に等しい報酬パターンと、パターンＭ５に等しい補正パターンとを有することができる。
【０１２６】
[0147]ｔ＝ｔ０において、壁面スイッチは、イベントを生成し、そのイベントに関係する発生データとともにイベントレポートメッセージをブロードキャストすることができる。フロアランプは、モニターモード７０６において、ｔ＝ｔＭＤ１−Ｒｘまでにイベントレポートメッセージを受信し得る。
【０１２７】
[0148]ｔ＝ｔＭＤ１−Ｒｘにおいて、フロアランプは、発生データを伴うイベントレポートメッセージ全体を受信し、それに応答してイベントを生成し、それをイベントレコーダーに転送し、このイベントレコーダーがイベントをパターンＭＤ１に変換して、イベントバスに出すものとしてよい（図２に示されているように）。フロアランプは、パターンＭＤ１をイベントバスからメモリの一時記憶装置（たとえば、図２のイベントパターン記憶装置２０４）に転送し得る。
【０１２８】
[0149]ｔ＝ｔＴｒｉｇｇｅｒにおいて、フロアランプは、パターンＭＤ１を処理し、それがＲｅｆｌｅｘＦ２に関連付けられている知られているトリガーパターンとマッチすると決定し得る。したがって、フロアランプは、ＲｅｆｌｅｘＦ２に関してトリガーモード７０８に入り、そこで、フロアランプは、ＲｅｆｌｅｘＦ２に関して学習または学習解除を行うことができる。
【０１２９】
[0150]ｔ＝ｔＡｃｔｉｏｎにおいて、フロアランプは、イベントバス上に出される、ＲｅｆｌｅｘＦ２に関連付けられているアクションパターン（ＭＤ３）を生成し得る。モーター駆動装置は、アクションパターン（ＭＤ３）をイベントバスから取り出し、生成されたアクションパターンに関連付けられているアクション（たとえば、フロアランプのライトをオンにする）を実行し得る。
【０１３０】
[0151]ｔ＝ｔＲｅｗａｒｄにおいて、ＲｅｆｌｅｘＦ２に関連付けられている報酬パターン（ＭＤ４）が、別のコンポーネントから生成され得る。たとえば、生成されたアクションパターン（ＭＤ３）は、モーター駆動装置がフロアランプをオンにすることを引き起こし得る。フロアランプがオンになると、モーター駆動装置がフィードバックを受信し得るか、またはセンサーエンコーダがランプの状態の変化を感知し、パターンＭＤ４を生成し得る。パターンＭＤ４は、その後、イベントパターン記憶装置に記憶され得る。パターンＭＤ４は、ＲｅｆｌｅｘＦ２の報酬パターンとマッチするものとしてよく、その結果、ＲｅｆｌｅｘＦ２トリガーパターン（ＭＤ１）に関連付けられている重みが増加され得る。
【０１３１】
[0152]いくつかの実施形態では、リフレックスのトリガー重みが、最大レベルに達した後、トリガー重みは、さらに調整されることはなく、これにより、システムリソースが別のところで使用されることを許し得る。そのような最大レベルは、重み計算の動的範囲を制限するか、または学習デバイス内に備えられるＲＡＭの量を減らすために利用され得る。たとえば、リフレックスにトリガー重みのより小さい動的範囲が使用されるときに（たとえば、最小のトリガー重みと最大のトリガー重みとの間のより小さい範囲）、学習デバイスではより少ないＲＡＭが使用され得る（たとえば、１６ビットの代わりに８ビット）。
【０１３２】
[0153]いくつかの実施形態では、フロアランプのメモリは、限られた数のパターンおよび／またはリフレックスを記憶できるだけのサイズを有し得る。そのような場合、記憶されているリフレックスのトリガー重みが、最小の重み値（たとえば、「破棄閾値」）に達した場合、トリガー重みは、リフレックスをトリガーすることが決してないことがあり得そうなほど低いものとして考えられ得る。そのような場合、フロアランプは、新しいリフレックスのためにそのリフレックスに割り振られているメモリを再使用（または再利用）することができる。したがって、低いトリガー重みでリフレックスを補正するための下限値を設定することは、そのメモリが他のパターンおよび／またはリフレックス用に記憶域を充てることを可能にし得る。他の実施形態では、新しいリフレックスを記憶するための制限されたリソースがあるときに、フロアランプは、最小のまたは「破棄」閾値を使用することなく、メモリを最も頻繁に使用されていない、または使用される可能性が最も低いものから（重み特性を介して）新しいリフレックスに再割り振りすることができる（すなわち、フロアランプは、単純に、最も無益なリフレックスを置き換えることができる）。
【０１３３】
[0154]ｔ＝ｔＣｏｒｒｅｃｔｉｏｎにおいて、異なるコンポーネントが補正パターン（ＭＤ５）を生成し得る。たとえば、フロアランプが、トリガーモード７０８においてオフにされた場合、センサーエンコーダは、この状態の変化をイベントに変換するものとしてよく、これはイベントレコーダーに受け渡され、補正パターンＭＤ５を作成することができる。パターンＭＤ５は、ＲｅｆｌｅｘＦ２（トリガーモード７０８に入っている）の補正パターンにマッチされるものとしてよく、その結果、トリガー重みは減らされて、トリガーパターン（ＭＤ１）とＲｅｆｌｅｘＦ２のアクションパターン（ＭＤ３）との間の関連付けを弱め得る。
【０１３４】
[0155]ｔ＝ｔＲｅｓｕｍｅ  Ｍｏｎｉｔｏｒにおいて、フロアランプは、ＲｅｆｌｅｘＦ２に関連付けられているトリガーモード７０８を終了し、モニターモード７０６に戻り得る。トリガーモード７０８は、それがタイムアウトになったことで単純に終了し得る。たとえば、トリガーモード７０８は、１０秒間のみ持続し得るので、１０秒間トリガーモード７０８で動作した後、フロアランプは、ＲｅｆｌｅｘＦ２に関してトリガーモード７０８を終了し、対応するモニターモード７０６に入り得る。
【０１３５】
[0156]図８は、フロアランプなどの、学習デバイスのリフレックスに対する異なる種類の学習率を示している。各デバイスは、学習の臨界学習期間８０１と定常状態学習期間８０２とを有し得る。言い換えれば、臨界学習期間８０１および定常状態学習期間８０２は、学習デバイスの異なる学習状態または学習条件に対応し得る。たとえば、臨界学習期間８０１は、高速学習状態に対応し、定常状態学習期間８０２は、低速または通常学習状態に対応し得る。これらの期間のうちの各々の期間内にあるときに利得の異なるセットがトリガー重みに適用され得る。図８は、２つの学習期間８０１、８０２を示しているが、リフレックスは、２つよりも多い学習期間を利用することができることは理解されるであろう。
【０１３６】
[0157]臨界学習期間８０１は、典型的には、学習デバイスの初期状態に関連付けられ得る。これは、学習デバイスの初期挙動をトレーニングすることが、ユーザにとってより有益である時間であり得る。初期動的リフレックスは、この状態で作成される可能性が高い、つまり、臨界学習期間８０１に関連付けられている様々な利得値（図８では「利得セット１」と称されている）が高く（すなわち、高利得セット）、スマートボックスは、学習および学習解除を行う可能性がより高い。たとえば、製造業者が、フロアランプを最初に高い利得を有する臨界学習期間８０１に設定し、フロアランプが壁面スイッチまたは他のデバイスに素早く関連付けることを可能にし得る。第１のトリガーアクション関連付けが発生した後、フロアランプは、定常状態学習期間８０２に変化し得る。
【０１３７】
[0158]定常状態学習期間８０２は、特定のデバイスが初期トレーニングされたときに生じるものとしてよく、追加のトレーニングは許されるが、より困難であることが意図される。定常状態学習期間８０２に関連付けられている利得（図８では「利得セット２」と称されている）は、低い利得（すなわち、低利得セット）を有し、学習をより困難なものにし得る。たとえば、フロアランプが壁面スイッチに関係する「オン」イベントとの「オン」イベント関連付けを有する場合、フロアランプは、定常状態学習期間８０２に入っているものとしてよい。定常状態学習期間８０２に入っている間、フロアランプは、ステレオから受信された発生データに応答してアクティブ化するなどの、追加の関連付けを学習し得る。しかしながら、ステレオとフロアランプとの間の関連付けを瞬時に学習する代わりに、フロアランプは、トリガーパターン（たとえば、ステレオから受信された発生データに基づくステレオ「オン」イベント）と、アクションパターン（たとえば、ランプがオンにされたことを指示する発生データに基づくフロアランプ「オン」イベント）と、報酬パターン（たとえば、ランプ上のユーザ入力ボタンから「報酬」信号または発生データを受信することに基づく）とに、ステレオがオンになったときにフロアランプがオンになることを学習する前に複数回遭遇しなければならない場合がある。
【０１３８】
[0159]臨界学習期間８０１に関連付けられている利得（「利得セット１」）と、定常状態学習期間８０２に関連付けられている利得（「利得セット２」）との関係は、次の式で示され得る。
【０１３９】
【数２】
2016526221.tif 000009
【０１４０】
[0160]言い換えれば、上記の式を使用する学習デバイスは、利得セット１で学習するのが利得セット２よりも高速であり得る。
【０１４１】
[0161]いくつかの実施形態では、各利得セットは、オペレーションの異なる段階でリフレックスのトリガー、報酬、および補正パターンに関連付けられている個別の利得または重みを有し得る。臨界期間と定常状態期間とにより近くなるように利得を調整するために２つまたはそれ以上の利得レベルが使用され得る。たとえば、第３の利得セットがあり得、これは、臨界期間と定常状態期間とのハイブリッドであってよい（たとえば、学習するのに繰返しが少なくて済む）。利得が調整されるときに、特定のパターンに関連付けられている重みが、システム内のマッチを決定するように調整され得る。
【０１４２】
[0162]特定のリフレックスが動的であるか、または静的であるかは、学習デバイスに関連付けられている利得と学習とに影響を及ぼし得る。特定の学習デバイスが、調整され得ない、組み込みの静的リフレックスを有し得る。たとえば、フロアランプは、関係する報酬パターンまたは補正パターンに遭遇することに関係なく再重み付けされ得ない組み込みのリフレックスを有し得る。言い換えれば、学習デバイスは、重み調整（たとえば、補正）の使用を通じて静的リフレックスを無効にする（または「忘れる」）ことができない。しかしながら、対照的に、動的リフレックスは、自然発生的に作成され、時間の経過とともに調整され得る。たとえば、フロアランプは、壁面スイッチに関連付けられているトリガーパターンに対応してフロアランプのアクションが実行され得ないように時間の経過とともに動的リフレックス（たとえば、上で示されているようなＲｅｆｌｅｘＦ２）の重みを調整し得る。言い換えれば、学習デバイスは、トリガーパターン（たとえば、壁面スイッチでの発生）とアクションパターン（たとえば、フロアランプをオンにする）との間の関連付けに関係するリフレックスのトリガー重みを、そのトリガー重みが閾値より低くなり、したがってアクションが実行されないように下げることができる。しかしながら、いくつかの実施形態では、動的リフレックスは、関連付けが忘れ去られないように静的リフレックスに変換され得る。いくつかの実施形態では、動的リフレックスは、アクションとトリガーとの間の関連付けを有するリフレックスのトリガー重みを変更することが困難になり、したがってそのような動的リフレックスをより永続的にするようなリジッド状態を与えられ得る。
【０１４３】
[0163]図９および図１０は、図８に示されているように定常状態学習期間８０２における動的リフレックスの学習および学習解除の例を示している。図９および図１０に示されている同じ原理は、臨界学習期間８０１における動的リフレックスにも当てはまる。
【０１４４】
[0164]図９は、トリガーアクション関連付けに報酬を与えることで、トリガーパターンがトリガー重み閾値９２５以上の重みを有するようになるまでトリガーパターンの重みをどのように変更することができるかを示しているタイムライン図９００である。図９００は、２つの知られているリフレックスＲｅｆｌｅｘＦ１とＲｅｆｌｅｘＦ２とを含む。ＲｅｆｌｅｘＦ１は、トリガーパターン（「ＭＤ２」と称される）と、そのトリガー閾値（図示せず）よりも高い第１のトリガー重みとを有する。ＲｅｆｌｅｘＦ１は、また、アクションパターン（「ＭＤ３」と称される）と、報酬パターン（「ＭＤ４」と称される）と、補正パターン（「ＭＤ５」と称される）とを有する。ＲｅｆｌｅｘＦ２は、ＲｅｆｌｅｘＦ２が異なるトリガーパターン（「ＭＤ１」と称される）を有することを除きＲｅｆｌｅｘＦ１と同じであり、最初にトリガー重み閾値９２５より低い第２のトリガー重みを有し得る。図９００は、ＲｅｆｌｅｘＦ２のトリガー重みを変えることができる、イベントおよび反応のタイムライン９０１を示している。
【０１４５】
[0165]時刻ｔ＝ｔ０において、フロアランプは、ＲｅｆｌｅｘＦ２に関してモニターモード９０６に入っているものとしてよい。モニターモード９０６では、フロアランプは、トリガーパターンＲｅｆｌｅｘＦ２とマッチするイベントに関係する信号が入ってくるのを監視し得る。モニターモード９０６において、フロアランプは、トリガーパターンＭＤ１に対応するイベントに遭遇するか、または取得し得る。たとえば、第１の壁面スイッチと同一であってもよい、新しい壁面スイッチは、新しい壁面が「オフ」から「オン」にトグルしたときにイベントレポートメッセージを発生データとともにフロアランプに送信することができ、次いで、フロアランプは、受信されたイベントレポートメッセージおよび発生データに基づきトリガーパターンＭＤ１を生成することができる。
【０１４６】
[0166]時刻ｔ＝ｔＮｏＡｃｔｉｏｎ１において、フロアランプは、ＲｅｆｌｅｘＦ１とＲｅｆｌｅｘＦ２とに対するトリガーパターンＭＤ１を処理することができる。すでに説明されているように、ＭＤ１は、ＲｅｆｌｅｘＦ２にのみ関連付けられ、したがって、フロアランプは、ＲｅｆｌｅｘＦ２に関してトリガーモード９０８に入り得る。ＲｅｆｌｅｘＦ２は、ｔ＝ｔＮｏＡｃｔｉｏｎ１でトリガー重み閾値９２５より低い第１のトリガー重みレベル９２１で現在のトリガー重みを有するので、フロアランプは、ＲｅｆｌｅｘＦ２に対するアクションパターン（たとえば、ＭＤ３）を生成し得ない。しかしながら、その後すぐに、フロアランプは、新しい壁面スイッチに対応する発生データとともに別のイベントレポートメッセージを受信してからトリガーパターンＭＤ２を生成し得る。たとえば、新しい壁面スイッチは、「オフ」から「オン」にトグルし、関係するイベントレポートメッセージをフロアランプに送信して、フロアランプがイベントレポートメッセージに基づきトリガーパターンＭＤ２を生成することを引き起こし得る。トリガーパターンＭＤ２はＲｅｆｌｅｘＦ１に対応し、トリガー重みはそのトリガー閾値よりも高いと、フロアランプはアクションパターンＭＤ３を生成し得る。フロアランプは、その後、結果としてランプがそのライトをオンにすることを引き起こす対応するアクションイベントを生成し得る。ライトがオンになった後、状態の変化が、センサーエンコーダによって記録されるものとしてよく、これは関連付けられているイベントを作成し、報酬パターンＭＤ４を生成する。
【０１４７】
[0167]時刻ｔ＝ｔＷｅｉｇｈｔＡｄｊｕｓｔ１において、報酬パターンＭＤ４は、ＲｅｆｌｅｘＦ１とＲｅｆｌｅｘＦ２とに対するトリガー重みを調整するように処理され得る。ＲｅｆｌｅｘＦ２に関してトリガーモード９０８に入っている間、フロアランプは、パターンＭＤ４がＲｅｆｌｅｘＦ２の報酬パターンとマッチしていると決定するものとしてよく、ＭＤ１およびＲｅｆｌｅｘＦ２のトリガー重みを増加させ得る。新しいトリガー重みは第２のトリガー重みレベル９２２にあり、これは、依然としてトリガー重み閾値９２５より低くなっている。トリガーモード９０８がタイムアウトになった後、フロアランプは、モニターモード９０６に再び入ることができる。
【０１４８】
[0168]ｔ＝ｔＷｅｉｇｈｔＡｄｊｕｓｔ２において、イベントに遭遇し、対応するパターンＭＤ１と、ＭＤ２と、ＭＤ３（またはＭＤ３’）と、ＭＤ４とを生成するプロセスが繰り返され、その結果、トリガー重み閾値９２５を超えて第３のトリガー重みレベル９２３にまで増加するようにＲｅｆｌｅｘＦ２のトリガー重みを調整し得る。
【０１４９】
[0169]ＲｅｆｌｅｘＦ２のトリガー重みをトリガー重み閾値９２５よりも高く調整した後いつでも、フロアランプは、パターンＭＤ１に対応するイベントに遭遇することがあり、その結果、ＲｅｆｌｅｘＦ１をトリガーするのにパターンＭＤ２に遭遇する必要なくアクションパターンＭＤ３’が生成され得る。たとえば、新しい壁面スイッチの「オン」イベントに対応するパターンＭＤ２を生成したときのみフロアランプがオンになった可能性がある前である。次に、壁面スイッチは、結果としてパターンＭＤ１に対応するイベントを生成し、したがってフロアランプがＲｅｆｌｅｘＦ２を介してそのライトをオンにするようにトリガーされることを引き起こし得る発生データを含むイベントレポートメッセージをフロアランプに送信することができる。
【０１５０】
[0170]図１０は、トリガー重み閾値１０２５より低くなるまでトリガー重みを調整することによってトリガーアクション関連付けを補正することを示すタイムライン図１０００である。図１０００は、補正イベントにフロアランプが遭遇することと、フロアランプがその後補正パターンを生成することを除き図９００に類似している。この補正パターンは、リフレックスのトリガー重みを減少させる。図９００と異なり、図１０００の補正プロセスは、ただ１つのリフレックスを伴い得る。ここで、ＲｅｆｌｅｘＦ２のみが関わり、図９００のように、同じトリガーパターンＭＤ１と、アクションパターンＭＤ３と、報酬パターンＭＤ４と、補正パターンＭＤ５とを含む。また図９００とは異なり、図１０００におけるＲｅｆｌｅｘＦ２は、トリガー重み閾値１０２５よりも高い１０２３の初期トリガー重みから始まり得る。したがって、トリガーパターンＭＤ１を生成した後に、フロアランプは、対応するアクションパターンと関連付けられているアクションとを生成し得る。
【０１５１】
[0171]時刻ｔ＝ｔ０において、フロアランプは、モニターモード１００６においてイベントを監視し得る。モニターモード１００６において、フロアランプは、トリガーパターンＭＤ１に対応するトリガーイベントに遭遇し得る。たとえば、新しい壁面スイッチは、新しい壁面スイッチが「オフ」から「オン」にトグルされたので、「オン」イベントに関係する、パターンＭＤ１に対応する、発生データとともにイベントレポートメッセージをブロードキャストすることができる。イベントが受信されると、フロアランプは、対応するトリガーパターンを生成し得る。
【０１５２】
[0172]時刻ｔ＝ｔＴｒｉｇｇｅｒｅｄ１において、フロアランプは、オンイベントに関係するイベントレポートメッセージを受信し、パターンＭＤ１を生成し得る。フロアランプは、パターンＭＤ１がＲｅｆｌｅｘＦ２に対応する知られているトリガーパターンであると決定し、したがって、ＲｅｆｌｅｘＦ２に関してトリガーモード１００８に入ることができる。その後すぐに、フロアランプは、ＲｅｆｌｅｘＦ２に対する第１のトリガー重みレベル１０２３がトリガー重み閾値１０２５より高いと決定し、アクションパターンＭＤ３を生成することができ、その結果、フロアランプがライトをオンにするアクションイベントおよび物理的アクションが生じる。フロアランプは、トリガーモード１００８に入っている間に補正パターンＭＤ５に対応するイベントにも遭遇し得る。たとえば、フロアランプは、ユーザがフロアランプ上の別の補正ボタン（たとえば、「Ｃｏｒｒｅｃｔｉｏｎ」というラベルが付いたボタン）を押したときにイベントに遭遇した後補正パターンＭＤ５を生成し得る。ユーザは、このボタンを押して、補正イベントをフロアランプに送信し、それに応答して、フロアランプは、補正パターンＭＤ５を生成し得る。代替的一例において、フロアランプは、ユーザが前のトリガーパターンの短い時間ウィンドウ内でフロアランプを手動でオフにしたときに補正パターンを生成し得る。前のトリガーパターンの反対の入力は、補正パターンに対応し、フロアランプは、トリガーパターンとアクションパターンとの関連付けを解除するように学習し得る。
【０１５３】
[0173]時刻ｔ＝ｔＣｏｒｒｅｃｔｉｏｎ１において、フロアランプは、補正パターンＭＤ５がＲｅｆｌｅｘＦ２の補正パターンとマッチしていると決定することができる。したがって、フロアランプは、ＲｅｆｌｅｘＦ２に関連付けられているトリガー重みを第２のトリガー重みレベル１０２２にまで下げることができる。第２のトリガー重みレベル１０２２はまだトリガー重み閾値１０２５より高く、そのため、フロアランプはライトをそのままアクティブ化することができる。最終的に、トリガーモード１００８は、時間の制約によって終了し、フロアランプは、モニターモード１００６に再び入り得る。
【０１５４】
[0174]モニターモード１００６に入っている間に、フロアランプは、第２のトリガーイベントに遭遇し、第２のトリガーパターンＭＤ１を生成し得る。たとえば、新規壁面スイッチは、再び、「オフ」から「オン」にトグルされ得る。時刻ｔ＝ｔＴｒｉｇｇｅｒｅｄ２において、フロアランプは、第２のパターンＭＤ１がＲｅｆｌｅｘＦ２の知られているトリガーパターンとマッチすると決定し、ＲｅｆｌｅｘＦ２に関してトリガーモード１００８に入ることができる。ＲｅｆｌｅｘＦ２が現在トリガー重み閾値１０２５よりも高い第２のトリガー重みレベル１０２２を有しているので、フロアランプは、アクションパターンＭＤ３と関連付けられている機械的アクション（たとえば、ライトをオンにする）を生成し得る。フロアランプが、ＲｅｆｌｅｘＦ２でトリガーモード１００８に入っている間、フロアランプは、再び、補正ボタンからの補正イベントに遭遇し、補正パターンＭＤ５を生成することができる。パターンＭＤ５は、ＲｅｆｌｅｘＦ２に対応しているので、時刻ｔ＝ｔＣｏｒｒｅｃｔｉｏｎ２において、トリガー重みは、第３のトリガー重みレベル１０２１に下げられるが、これはトリガー重み閾値１０２５よりも低い。したがって、時刻ｔ＝ｔＴｒｉｇｇｅｒｅｄ３においてフロアランプが別のトリガーイベントに遭遇し、別のトリガーパターンＭＤ１を生成する場合、フロアランプは、トリガーモード１００８において対応するアクションパターンＭＤ３を生成し得ない。言い換えれば、フロアランプはＲｅｆｌｅｘＦ２のトリガーアクション関連付けを事実上忘れてしまっている可能性があり、将来トリガーパターンＭＤ１を生成した後（または少なくともトリガーパターンへのその仕方に応答するように再トレーニングされるまで）そのライトをアクティブ化し得ない。
【０１５５】
[0175]いくつかの実施形態では、その関連付けトリガー重み閾値よりも低いトリガー重みは、報酬パターンに遭遇することなくフロアランプがトリガーモードに入ったことに応答して継続的に下げられ得る。たとえば、図１０では、時刻ｔＴｒｉｇｇｅｒｅｄ３において、フロアランプは、その後の報酬パターンなしでトリガーパターンＭＤ１を検出することができ、結果として、時刻ｔ＝ｔＳｕｂｔｈｒｅｓｈｏｌｄ１において示されているようにフロアランプはＲｅｆｌｅｘＦ２に対するトリガー重みを第４のトリガー重みレベル１０１９に減少させ続け得る。いくつかの実施形態では、リフレックスのトリガー重みは、トリガー重みがその関連付けられているトリガー重み閾値より低くなり、報酬パターンに遭遇しないと、時間の経過とともに周期的に減少（または減衰）させられ得る。
【０１５６】
[0176]いくつかの実施形態では、フロアランプは、そのトリガー重みがトリガー重み閾値１０２５よりも低くなり、メモリ不足が生じた後ただちに、またはしばらくしてからＲｅｆｌｅｘＦ２を取り除くことができる。したがって、フロアランプが、ＲｅｆｌｅｘＦ２が削除された後にＲｅｆｌｅｘＦ２のトリガーパターン（ＭＤ１）を検出した場合、フロアランプは、他の条件が満たされていると仮定して（たとえば、トリガーモードにおいて存在している報酬を有する）そのトリガーパターンとしてパターンＭＤ１を有する新しいリフレックスを作成し得る。いくつかの実施形態では、フロアランプは、メモリ不足（たとえば、記憶されているリフレックスに対してメモリ限界に達したこと）により関連付けられている閾値よりも高いトリガー重みを有するリフレックスを取り除くことができる。たとえば、フロアランプが、トリガーモードにおいて新しいトリガーパターンに遭遇したが、ローカルメモリに利用可能な記憶領域を有していないときに、フロアランプは、トリガー閾値よりも高いトリガー重みを有するが、あまり使用されない、使用される可能性が最も低い、および／またはトリガー重みがそれぞれのトリガー重み閾値を超えるすべてのリフレックスの最低のトリガー重みを有する、記憶されているリフレックスを取り除くことができる。
【０１５７】
[0177]図１１は、イベントに関連付けられているアクションを学習するためスマートボックス内に実装され得る一実施形態の方法１１００を示している。この実施形態の方法１１００は、どのようなスマートボックスとも使用され得るけれども、説明を簡単にするため、方法１１００は、壁面スイッチに接続されているスマートボックスからイベントレポートメッセージを受信するフロアランプに接続されているスマートボックスの例を参照しつつ説明されている。それに加えて、フロアランプ、壁面スイッチ、またはステレオへの参照は、対応するスマートボックスもそれぞれ包含する。たとえば、フロアランプによって実行されるものとして説明されているオペレーションは、フロアランプに関連付けられているスマートボックスのプロセッサによって実行され得る。これらのスマートボックスは、実際には、イベントレポートメッセージ内の発生データを交換するオペレーションと、イベントおよび／またはパターンを処理するオペレーションとを実行する。
【０１５８】
[0178]ブロック１１０２において、フロアランプはイベントを取得し得る。たとえば、フロアランプは、壁面スイッチからＲＦ送信上で発生データを含むイベントレポートメッセージを受信することができ、イベントレポートメッセージ内のデータに基づき、フロアランプは、図３Ｂを参照しつつ上で説明されているようなデータ構造としてイベントを生成し得る。そのような一例において、イベントレポートメッセージは、ユーザが壁面スイッチを「オフ」から「オン」にトグルしたときに壁面スイッチによって送信され得る。上で説明されているように、フロアランプは、代替的に、フロアランプに結合されたセンサー（たとえば、光センサーなど）に基づき、および／またはアクションを実行したことに応答して、イベントを取得し得る。時間の経過とともに、方法１１００および１２００のオペレーションのその後の繰返しにおいて、フロアランプは、取得されたイベントに関係する場合もない場合もある追加の要素を取得し得る。たとえば、取得されてイベントに基づきトリガーモードをアクティブ化した後、フロアランプは、受信されたイベントレポートメッセージおよび／またはフロアランプによって実行されたアクションに応答して生成されたイベントなどの、取得され、メモリ内にバッファリングされた以前のイベントを取り出すことによって追加のイベントを取得し得る。
【０１５９】
[0179]決定ブロック１１０４において、フロアランプは、イベントフィルタが適用されるかどうかを決定することができる。イベントフィルタは、時間フィルタ、タイプフィルタ、デバイスイベントフィルタなどを含み得る。イベントフィルタが適用されることを決定したことに応答して（決定ブロック１１０４＝「はい」）、フロアランプは、ブロック１１０６においてさらなる処理からイベントを破棄し、ブロック１１０２において新しく入ってくる信号を監視し続けることができる。いくつかの実施形態では、イベントフィルタが時間ベースのフィルタである場合、日中にイベントを破棄するプリセットのスケジュールがあってよい。たとえば、ステレオは、真夜中の時間から午前１０時までに取得されたイベントを無視する時間フィルタを有することができる。別の例では、フロアランプのところのイベントフィルタは、単に、ステレオからの取得されたすべてのイベントを無視し得る。さらなる例では、ステレオは、特定のユーザに関連付けられている取得されたイベントを無視し得る。いくつかの実施形態では、壁面スイッチは、入力されたユーザＩＤ（たとえば、指紋データ、パスコード、Ｂｌｕｅｔｏｏｔｈまたは近距離通信（ＮＦＣ）からの付近のモバイルデバイスのデータなど）を受信し、そのユーザＩＤをイベントレポートメッセージ内の発生データに含めることができる。ステレオを所有する父親は、自分のステレオを自分以外の誰かに壁面スイッチでオンにしてもらいたくない場合がある。したがって、ステレオは、取得されたすべてのイベントを、それらが父親のユーザＩＤを含まない場合に破棄し、それによって、他人が壁面スイッチでステレオをオンにするのを防ぐことができる。しかしながら、イベントフィルタが適用されない場合（すなわち、決定ブロック１１０４＝「いいえ」）、フロアランプは、メモリ１３８（図１Ｃに示されている）に配置されているバッファ内にイベントを記憶し得る。
【０１６０】
[0180]イベントフィルタが適用されないと仮定すると、フロアランプは、ブロック１１０８においてメモリ１３８に配置されているバッファ内にイベントを記憶し得る。イベントはバッファに記憶されることで、フロアランプがモニターモードに入っている間にイベントレコーダー２０６のところでパターンを生成することを円滑にし得る。言い換えれば、フロアランプは、モニターモードに入っている間にイベントのバッファリングを実行し得る。図示されていないけれども、フロアランプは、特定の時間期間（たとえば、５〜１０秒）にメモリ内にイベントをバッファリングし、次いで、イベントを破棄して新しいイベントのための領域をあけることができる。
【０１６１】
[0181]ブロック１１１０において、フロアランプは、イベントがバッファ内に常駐していることに基づきパターンを生成し得る。いくつかの実施形態では、フロアランプは、メモリ内にバッファリングされている様々なイベントを取り出して組み合わせることなどによって、バッファ内に常駐する複数のイベントに基づきパターンを生成し得る。たとえば、フロアランプは、２つの異なる壁面スイッチが「オン」位置に切り替えられたときに受信されるイベントレポートメッセージに基づき生成された２つのイベントに基づきパターンを生成しているものとしてよい。パターンは、次の４つの方法のうちの１つによって生成され得る、すなわち、（１）イベントの時間順序のシーケンスに基づくこと、（２）複数のイベントをシングレットに圧縮すること、（３）発見的手法、および（４）パターン生成においてイベントから時間を取り除くことによって生成され得る。
【０１６２】
[0182]イベントの時間順序のシーケンスに基づきパターンを生成するときに、イベントが生成されるか、または他の何らかの形で取得される時間が問題になり得る。したがって、イベントが特定の時間ウィンドウ内で生成されない場合、フロアランプは、イベントに基づきパターンを生成し得ない。たとえば、フロアランプは、壁面スイッチに関係する「オン」イベントおよびステレオに関係する「オン」イベントと同等のトリガーパターンを有することができる。フロアランプが、時間ウィンドウ内で壁面スイッチに関係する「オン」イベントを取得するが、時間ウィンドウの外でステレオに関係する「オン」イベントが取得された場合、フロアランプは、トリガーイベントを認識し得ない。いくつかの実施形態では、パターンは、イベントＡがイベントＢの前に取得される場合にのみ生成され得る。たとえば、フロアランプが、壁面スイッチの「オン」イベントの前にステレオの「オン」イベントを取得した場合、壁面スイッチのイベントが最初に取得されたときにのみフロアランプがトリガーパターンを受け付けるので、フロアランプはこれらのイベントをトリガーパターンとして認識し得ない。
【０１６３】
[0183]いくつかの実施形態では、複数のイベントが、単一のイベントまたはシングレットに圧縮され得る。たとえば、フロアランプは、ランプイベントバッファに記憶されている、異なる時刻における２つの「Ａ」イベント、次いで「Ｂ」イベントを取得し得る。フロアランプは、第２の「Ａ」イベントを破棄して、１つの「Ａ」イベントと１つの「Ｂ」イベントとに基づきパターンを生成し得る。したがって、２つの「Ａ」イベントと１つの「Ｂ」イベントとを有するトリガーパターンは、１つの「Ａ」イベントと１つの「Ｂ」イベントとを有するトリガーパターンに圧縮され得る。「Ａ」イベントは、異なる時刻に繰り返されるので、フロアランプは、繰り返されるイベントを無視することができる。
【０１６４】
[0184]いくつかの実施形態では、フロアランプは、一連の発見的計算を実行して、イベントを無視するかどうかを決定することができる。これらの発見的計算のうちのいくつかは、単に、カウントするメカニズムを含み得る。たとえば、フロアランプは、「Ａ」イベントを３回受信したか（たとえば、壁面スイッチに関係する「オン」イベント）を決定することができ、その時点で、フロアランプは、３つの「Ａ」イベントを受信することはトリガーパターンを生成することと同じであるという発見的ルールに基づきトリガーパターンなどの対応するパターンを生成し得る。
【０１６５】
[0185]いくつかの実施形態では、フロアランプは、イベントからパターンを作成する時刻を無視することができる。時刻を無視することは、発見的計算と同時に起こってよい。たとえば、フロアランプがメモリ１３８において３つの「Ａ」イベントと１つの「Ｂ」イベントとを受信した場合、フロアランプは、一連の発見的計算を実行して時間ウィンドウなしでイベントに基づきパターンを生成するかどうかを決定することができる。時刻を無視することは、順序独立であることも含み得る。たとえば、フロアランプは、まず「Ａ」イベント、続いて「Ｂ」イベントを取得するか、または「Ｂ」イベント、続いて「Ａ」イベントを取得するかどうかに関係なく同じパターンを作成し得る。
【０１６６】
[0186]決定ブロック１１１２において、フロアランプは、パターンフィルタを適用するどうかを決定することができる。これは、決定ブロック１１０４を参照しつつ説明されているイベントフィルタに類似するものであってよく、これは記憶されている無視パターン、時間ベースのフィルタ、デバイスタイプフィルタなどを含み得る。フロアランプは、パターンが時間閾値などの閾値よりも低くなったときにパターンフィルタを使用してパターンをメモリ（たとえば、３２Ｋメモリ、６４Ｋメモリなど）から取り除くことができる。フロアランプがパターンフィルタが適用されることを決定したことに応答して（すなわち、決定ブロック１１１２＝「はい」）、フロアランプは、パターンを破棄し、ブロック１１１３においてそのパターンのさらなる処理を止めることができる。いくつかの実施形態では、フロアランプは、最近実行されたアクションに対して生成されたパターンをフィルタリングし得る。たとえば、フロアランプがオンになったときに、フロアランプは、イベントからアクションパターンを生成することができる。アクションパターンが、一定の時間期間において無視されなかった場合、フロアランプは、アクションパターンを別のアクション（たとえば、ステレオをオンにする）へのトリガーパターンとして処理しようと試み得る。新しいトリガーアクション関連付けの作成を回避するために、フロアランプは、フロアランプが短い時間期間において生成されたアクションパターンを無視する一時的無視パターンフィルタを作成し得る。フロアランプがパターンを破棄した後、フロアランプはブロック１１０２において新しいイベントを取得することに戻る。いくつかの実施形態では、フロアランプは、ブロック１１０２において、イベントを絶えず取得し得る。
【０１６７】
[0187]いくつかの実施形態では、フロアランプは、パターンのトリガー重みまたは対応するリフレックスが低閾値よりも低い場合にパターンフィルタを適用することができる。パターンフィルタを適用することによって、フロアランプは、特定のリフレックスの閾値が特定の設定値よりも低いときにそのメモリからパターンを削除することができるものとしてよい。フロアランプは、本出願全体を通して説明されている補正プロセスを通じてリフレックスのトリガー重みを低減することができる。パターンを取り除くことで、フロアランプが新しいリフレックスの作成のためリソース（たとえば、メモリ）を節約することを可能にし得る。いくつかの実施形態では、フロアランプは、利用可能なローカルの記憶装置に関係なく、ユーザが与えられた時刻にフロアランプの学習能力に関して混乱する可能性が低くなるように所定の限られた数のリフレックス（たとえば、ランプ１つにつきリフレックス２つ）を利用するように構成され得る。記憶されるリフレックスに対するそのような限界は、記憶されるリフレックスおよびパターンがより少ないことで比較される必要があり得るパターンの数を減らすことによってパターンマッチング速度を改善するなどによって性能改善するという追加の利点も有し得る。
【０１６８】
[0188]決定ブロック１１１２に戻って参照すると、パターンフィルタが適用されないことを決定したことに応答して（すなわち、決定ブロック１１１２＝「いいえ」）、フロアランプは、決定ブロック１１１４において生成されたパターンが知られているパターンとマッチしているかどうかを決定し得る。たとえば、フロアランプは、受信されたイベントが時間ベースのフィルタの時間ウィンドウ内にあると決定し得る。そこで、フロアランプは、イベントをパターンとして処理し続ける。フロアランプは、生成されたパターンが、知られているトリガーパターン、知られている補正パターン、知られている報酬パターンなどの、任意の種類の知られているパターンであるかどうかを決定し得る。
【０１６９】
[0189]一例として、決定ブロック１１１４において、フロアランプは、生成されたパターンが、図６を参照しつつ上で説明されているリフレックス「ＲｅｆｌｅｘＦ１」に対するトリガーパターン「ＭＤ２」などの、リフレックスの知られているトリガーパターンに対応するかどうかを決定し得る。生成されたパターンが知られているパターンとマッチすると決定したことに応答して（すなわち、決定ブロック１１１４＝「はい」）、フロアランプは、図１２を参照しつつ以下で説明されている決定ブロック１２０２のオペレーションを実行し得る。たとえば、フロアランプは、少なくとも１つのイベントがリフレックスに関連付けられているトリガーパターンに対応するときにリフレックスに関係するトリガーモードに入り、リフレックスに関連付けられているアクションを実行することができる。
【０１７０】
[0190]しかしながら、生成されたパターンが知られているパターンにマッチしていないと決定したことに応答して（すなわち、決定ブロック１１１４＝「いいえ」）、フロアランプは、決定ブロック１１１６において新しいリフレックスを作成するかどうかを決定し得る。たとえば、図７のシナリオにおいて上で説明されているように、生成されたパターンは、知られているパターンに対応していないパターン「ＭＤ１」であり得（すなわち、ＲｅｆｌｅｘＦ２はまだ作成されていない）、したがってフロアランプは、パターンＭＤ１を有する新しいリフレックスをその新しいトリガーパターンとして作成すべきかどうかを決定し得る。フロアランプは、未知のパターンが検出されたかどうかと、リフレックスがトリガーモードに入っているかどうかの両方に基づき新しいリフレックスが作成されるべきかどうかを決定することができる。
【０１７１】
[0191]フロアランプが新しいリフレックスを作成しないことを決定したことに応答して（すなわち、決定ブロック１１１６＝「いいえ」）、フロアランプは、ブロック１１１３において生成されたパターンを破棄し、ブロック１１０２において新しいベントを監視することを開始し得る。いくつかの実施形態では、フロアランプは、フロアランプが新しい関連付けを学習することができない非学習モードに切り替えられ、それによって、新しいリフレックスを作成する能力を無効化することができる。たとえば、フロアランプは、壁面スイッチがオン／オフイベントに関連付けられているイベントレポートメッセージを送信したときにライトをオン／オフにすることをすでに学習している場合がある。ユーザは、この単純なオン／オフ関連付けに満足し、フロアランプによる追加の学習を無効化することができる。そのため、フロアランプは、ステレオまたは他の学習デバイスのところでの発生（たとえば、電源オンなど）との追加の関連付けを学習し得ない。他の実施形態では、フロアランプは、新しいリフレックスを学習することを避けるための他の考慮事項（たとえば、十分なメモリがない、トリガーモードがタイムアウトした、など）を有し得る。
【０１７２】
[0192]フロアランプが新しいリフレックスを作成することを決定したことに応答して（すなわち、決定ブロック１１１６＝「はい」）、フロアランプは、ブロック１１１８において新しいパターンを新しいリフレックスに対するトリガーパターンとして記憶することができる。新しいリフレックスは、所定のアクションパターンと、報酬パターンと、補正パターンとともに作成され得る。したがって、ブロック１１１９において、フロアランプは、現在トリガーモードに入っているリフレックスから、新しいリフレックスに、アクションパターンと、報酬パターンと、補正パターンとをコピーし得る。たとえば、上記の図６に示されているように、フロアランプは、新しいパターンＭＤ１を含むＲｅｆｌｅｘＦ２をトリガーパターンとして作成し、他の知られているＲｅｆｌｅｘＦ１のみからアクションパターンと、報酬パターンと、補正パターンとをコピーすることができる。代替的な一例において、フロアランプは、トリガーモードで他の記憶されているリフレックスからパターンを取り出すことによって新しいリフレックスを作成し得る。
【０１７３】
[0193]すでに指摘されているように、フロアランプは、トリガーモードに入っている間に追加のイベントを取得することができ、そのような追加のイベントは、異なるトリガーに関連付けられるか、または相関され得る。フロアランプは、これらの追加のイベントに基づきパターンを識別するか、またはパターンとメモリに記憶されているリフレックスのパターンとのマッチングを行うことを試み得る。しかしながら、これらの追加のイベントに基づくパターンは、記憶されているリフレックスの知られているパターンに対応し得ず、フロアランプは、新しいリフレックスを作成することを決定し得る。言い換えれば、フロアランプは、追加のイベントに基づくパターンがリフレックスに関連付けられているトリガーパターン、アクションパターン、補正パターン、および報酬パターンのうちの少なくとも１つに対応しないときに、トリガーパターンと、アクションパターンと、補正パターンと、報酬パターンとともに第２のリフレックスを作成し得る。
【０１７４】
[0194]図１２は、図１１からのマッチしたパターンの継続処理の一実施形態の方法１２００を示している。上で説明されているように、生成されたパターンが知られているパターンにマッチしていると決定したことに応答して（すなわち、図１１の決定ブロック１１１４＝「はい」）、フロアランプは、決定ブロック１２０２において生成されたパターンがリフレックスの知られているトリガーパターンとマッチするかどうかを決定し得る。たとえば、フロアランプは、壁面スイッチの「オン」イベントに基づき生成されたパターンが、記憶されているリフレックスの知られているトリガーパターンとマッチしている（たとえば、パターンＭＤ１が図６に示されているＲｅｆｌｅｘＦ２に対するトリガーパターンとマッチしている）かどうかを決定することができる。フロアランプが生成されたパターンが知られているトリガーパターンとマッチすると決定したことに応答して（すなわち、決定ブロック１２０２＝「はい」）、フロアランプは、ブロック１２０３において生成されたパターンとマッチする知られているトリガーパターンに関連付けられているリフレックスに対するトリガーモードをアクティブ化する（または、「オン」にする）ことができる。トリガーモードをアクティブ化することで、リフレックスに関連付けられているモニターモードを非アクティブ化することができる。フロアランプは、他のリフレックスに関連付けられている他のイベントなどの、リフレックスに関係するトリガーモードに入っている間に追加のイベントを受信し、識別することができ、これにより、同時にアクティブ化されたトリガーモードを引き起こすことに注意されたい。
【０１７５】
[0195]フロアランプは、決定ブロック１２０４においてマッチしているパターンのリフレックスのトリガー重みがトリガー閾値以上かどうかを決定し得る。引き続き図１１の例によれば、フロアランプは、生成されたパターンＭＤ１が最近作成されたＲｅｆｌｅｘＦ２の知られているトリガーパターンとマッチしていると決定し、ＲｅｆｌｅｘＦ２に対する現在の記憶されているトリガー重みをそれぞれのトリガー閾値と比較し得る。決定ブロック１２０４において、フロアランプは、トリガー重みが閾値以上であるかどうかを決定することができる。トリガー重みが閾値以上であると決定したことに応答して（すなわち、決定ブロック１２０４＝「はい」）、フロアランプは、マッチしているトリガーパターンのリフレックスを使用してフロアランプが所定のアクションを行うか、または実行することを引き起こすパターンもしくはその結果生じるイベントを生成することなどによって、ブロック１２１６においてアクションを生成し得る。たとえば、フロアランプは、ＲｅｆｌｅｘＦ２のトリガー重みが、図９に示されているようにトリガー重み閾値９２５より高い場合にライト１２４をオンにすることができる。様々な実施形態において、アクションを生成することは、さらに外部的に、または内部的に伝搬され得る、またアクチュエータを駆動するためにモーター駆動装置によって使用されるイベントのパターンを生成することを含み得る。
【０１７６】
[0196]いくつかの実施形態では、フロアランプは、トリガーされたときに限られた数のアクションを生成するように構成され得る。たとえば、フロアランプは、１つのトリガーモードにおいて１つのアクションのみの生成を、そのトリガーモードで受信されたトリガーパターンの数に関係なく行うことができる。
【０１７７】
[0197]オプションのブロック１２１７において、フロアランプは、生成されたアクション（またはその結果のイベント）を指示する発生データを含むブロードキャストメッセージなどの、生成されたアクションに基づくイベントレポートメッセージをブロードキャストし得る。フロアランプが、マッチしたトリガー重みがリフレックスに対するトリガー閾値以上でないと決定したことに応答して（すなわち、決定ブロック１２０４＝「いいえ」）、またはブロック１２１６におけるオペレーションによりアクションが生成され、オプションのブロック１２１７におけるオペレーションによりブロードキャストが行われる場合、フロアランプは、以下で説明されている決定ブロック１２２０におけるオペレーションを実行することができる。
【０１７８】
[0198]フロアランプが生成されたパターンが知られているトリガーパターンにマッチしていないと決定したことに応答して（すなわち、決定ブロック１２０２＝「いいえ」）、フロアランプは、決定ブロック１２０６においてフロアランプが学習することを許されているかどうかを決定し得る。たとえば、フロアランプは、トリガーパターン（たとえば、ＭＤ１）をすでに処理している場合があり、現在は、トリガーモードに入っている間に生成された報酬パターンおよび補正パターンを監視している。したがって、フロアランプは、トリガーパターンを受信し、関連付けられているリフレックスに対するアクティブ化されたトリガーモードに入った後まもなく、報酬イベントを取得し、対応する報酬パターン（たとえば、ＭＤ４）を生成し得る。
【０１７９】
[0199]フロアランプが学習することを許されていないと決定したことに応答して（すなわち、決定ブロック１２０６＝「いいえ」）、フロアランプは、以下で説明されている決定ブロック１２２０におけるオペレーションを実行し得る。たとえば、フロアランプは、トリガーパターン（たとえば、ＭＤ１）に関連付けられている新しいアクションを学習／学習解除するためにトリガーパターンを生成した後５秒の指定された時間ウィンドウを有し得る。報酬パターンまたは補正パターンが５秒のウィンドウ内で生成される限り、フロアランプは、トリガーパターン（たとえば、ＭＤ１）でアクションを学習／学習解除し得るが、フロアランプは、受信された報酬／補正パターンが５秒の時間ウィンドウの外にある場合に新しい関連付けを学習すること、または古い関連付けを学習解除することを実行し得ない。別の例では、フロアランプは、単純に関連付けられているリフレックスが学習解除状態にあるか、または関連付けられているリフレックスが学習または学習解除し得ない静的リフレックスであるという理由により学習することができない場合がある。
【０１８０】
[0200]しかし、フロアランプが、リフレックスのアクショントリガー関連付けに関して学習することを許されていると決定した場合（すなわち、決定ブロック１２０６＝「はい」）、決定ブロック１２０８において、フロアランプは、生成されたパターンが報酬パターンとマッチしているかどうかを決定し得る。いくつかの実施形態では、フロアランプは、学習時間ウィンドウ内で報酬パターンを受信するかまたは生成し得る。たとえば、ユーザは、壁面スイッチをスイッチオンし、フロアランプをオンにしてから５秒以内にフロアランプ上の報酬ボタンを押すことができる。フロアランプ上の報酬ボタンを押すことによって、報酬パターン（たとえば、図７に示されているようなパターンＭＤ４）を生成し得る。代替的な一例において、ユーザは、壁面スイッチをオンにしてから５秒以内にフロアランプに取り付けられているランプスイッチ１２６をオンにし、フロアランプがランプがアクティブ化したときに報酬パターン（たとえば、ＭＤ４）を生成し、フロアランプがオンになったことを確認することを引き起こし得る。
【０１８１】
[0201]いくつかの実施形態では、フロアランプは、モニターモードに入っているか、またはトリガーモードに入っているかに基づき学習することを許され得る。たとえば、特定のリフレックスに対するモニターモードに入ったときに、フロアランプは、そのリフレックスに関して学習することを許されないが、学習することは、リフレックスのトリガーモードに入っているときに許され得る。いくつかの実施形態では、１つまたは複数のリフレックスは、フロアランプの全体的状態または構成などの、他の要因により学習することを許され得る。たとえば、フロアランプは、様々なリフレックスがテストされ得るアクティブデバッグモードなどの、システム設定により学習することを許さないように構成され得る。
【０１８２】
[0202]フロアランプが、生成されたパターンが報酬パターンとマッチすると決定した場合（すなわち、決定ブロック１２０８＝「はい」）、ブロック１２１２ａにおいて、フロアランプは、関連付けられているリフレックスのトリガー重みを調整することができる。いくつかの実施形態では、フロアランプは、トリガー重みを増加させることによって適切なリフレックスに関連付けられているトリガー重みを調整し得る。たとえば、フロアランプが、トリガーパターン（たとえば、ＭＤ１）に遭遇してからの５秒の学習時間ウィンドウ内でパターン（たとえば、ＭＤ４）を受信するかまたは生成する場合、フロアランプは、トリガーパターンのリフレックスのトリガー重みを増加させることができる。トリガー重みが調整された後、ブロック１２１４において、フロアランプは、調整されたトリガー重みをメモリ１３８に記憶することができ、フロアランプは、以下で説明されているように決定ブロック１２２０におけるオペレーションを実行することができる。
【０１８３】
[0203]いくつかの実施形態では、フロアランプは、ブロック１２１２ａにおけるオペレーションを実行した後に決定ブロック１２１０におけるオペレーションも適宜実行し得る。言い換えれば、フロアランプは、決定ブロック１２０８の決定に関係なく、学習することを許されていると決定したことに応答して（すなわち、決定ブロック１２０６＝「はい」）、決定ブロック１２０８において報酬パターンがマッチしたかどうかと、決定ブロック１２１０において補正パターンがマッチしたかどうかの両方を評価するように構成され得る。言い換えれば、報酬および補正のマッチは、フロアランプによって並行してチェックされ得る。
【０１８４】
[0204]フロアランプが生成されたパターンが知られている報酬パターンにマッチしていないと決定した場合（すなわち、決定ブロック１２０８＝「いいえ」）、フロアランプは、決定ブロック１２１０において補正パターンのマッチをチェックし得る。いくつかの実施形態では、フロアランプは、学習時間ウィンドウ内で補正パターンを受信するかまたは生成し得る。たとえば、ユーザは、壁面スイッチをスイッチオンし、フロアランプをオンにしてから５秒以内にフロアランプ上の補正ボタンを押すことができる。補正ボタンを押すことによって、フロアランプは、補正パターン（たとえば、図７に示されているようなパターンＭＤ５）を生成し得る。代替的な一例において、ユーザは、壁面スイッチをオンにしてから５秒以内にフロアランプに取り付けられているランプスイッチ１２６をオフにし、フロアランプがライト１２４をオフにしたときにフロアランプが補正パターン（たとえば、ＭＤ４）を生成することを引き起こし得る。
【０１８５】
[0205]フロアランプが、生成されたパターンが知られている補正パターンとマッチすると決定した場合（すなわち、決定ブロック１２１０＝「はい」）、フロアランプは、ブロック１２１２ｂにおいてトリガー重みを調整することができる。いくつかの実施形態では、フロアランプは、学習時間ウィンドウ内で補正パターンを受信した後にトリガー重みを減少させ得る。たとえば、フロアランプは、ユーザが壁面スイッチの「オン」イベントに関連付けられているトリガーパターン（たとえば、ＭＤ１）を生成して５秒以内にフロアランプのランプスイッチ１２６を「オフ」にするときに補正パターン（たとえば、パターンＭＤ５）を生成することができる。フロアランプは、ＲｅｆｌｅｘＦ２の補正パターンとして生成されたパターン（ＭＤ５）とマッチし、ＲｅｆｌｅｘＦ２に関連付けられているトリガー重みを小さくすることができる。ブロック１２１４において、フロアランプは、調整された重みをメモリ１３８に記憶することができ、フロアランプは、以下で説明されているように決定ブロック１２２０におけるオペレーションを実行することができる。言い換えれば、フロアランプは、少なくとも１つの追加のイベントがリフレックスに関連付けられている補正パターンおよび報酬パターンのうちの少なくとも一方に対応するときにリフレックスの１つまたは複数のトリガー重みを調整し得る。
【０１８６】
[0206]フロアランプが生成されたパターンが補正パターンとマッチしないと決定したことに応答して（すなわち、決定ブロック１２１０＝「いいえ」）、またはフロアランプがマッチしたトリガー重みがトリガー閾値以上ではないと決定したことに応答して（すなわち、決定ブロック１２０４＝「いいえ」）、またはフロアランプが学習することを許されていないと決定したことに応答して（すなわち、決定ブロック１２０６＝「いいえ」）、またはフロアランプがブロック１２１７または１２１４のオペレーションを実行したことに応答して、フロアランプは、ブロック１２０３におけるオペレーションでアクティブ化されたトリガーモードに入るので失効した持続時間に基づくなどして決定ブロック１２２０においてモニターモードに戻るかどうかを決定し得る。トリガーモードを非アクティブ化することで、リフレックスに関連付けられているモニターモードをアクティブ化することができる。フロアランプがモニターモードに戻るべきと決定したことに応答して（すなわち、決定ブロック１２２０＝「はい」）、フロアランプは、ブロック１２２２においてリフレックスに対するトリガーモードを非アクティブ化することができる。フロアランプがモニターモードに戻るべきでないと決定したことに応答して（すなわち、決定ブロック１２２０＝「いいえ」）、またはブロック１２２２のオペレーションが実行されたときに、フロアランプは、図１１を参照しつつ上で説明されているように方法１１００のブロック１１０２においてイベントを取得することを続け得る。
【０１８７】
[0207]図６にシナリオに基づく例として、壁面スイッチは、フロアランプによって受信される新しい発生データとともに新しいイベントレポートメッセージを送信し得る（たとえば、壁面スイッチの「オン」イベント）。フロアランプは、受信された新しいイベントレポートメッセージに基づきイベントに関連付けられている第１のパターン（たとえば、パターンＭＤ１）を生成するまでブロック１１０２、１１０４、１１０８、および１１１０のオペレーションを実行し得る。同じ時間ウィンドウ内で、フロアランプは、他の発生データに基づき第２のパターン（たとえば、パターンＭＤ２）を生成し、図１１を参照しつつ上で説明されているようなブロック１１０２〜１１４および図１２を参照しつつ上で説明されているようなブロック１２０２、１２０３、１２０４、１２１６におけるオペレーションにより第２のパターンを処理し得る。フロアランプは、これらのオペレーションに基づき第２のパターンに関連付けられている第２のリフレックス（たとえば、ＲｅｆｌｅｘＦ１）をトリガーモードにすることができる。
【０１８８】
[0208]次いで、フロアランプは、受信された新しいイベントレポートメッセージに基づきイベントに関連付けられている第１のパターン（たとえば、パターンＭＤ１）を生成するまで図１１を参照しつつ上で説明されているようなブロック１１０２、１１０４、１１０８、および１１１０におけるオペレーションを実行し得る。フロアランプは、図１１を参照しつつ上で説明されているようなブロック１１１２、１１１４、１１１６、１１１８、１１１９のオペレーションを実行することと、第１のパターンをトリガーパターン（たとえば、パターンＭＤ１）として第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）を作成することと、第２のリフレックスがトリガーモードに入っているので第２のリフレックス（たとえば、ＲｅｆｌｅｘＦ１）からそのアクションパターンと、報酬パターンと、補正パターンとをコピーすることとによって新しいパターンを処理することを続け得る。
【０１８９】
[0209]フロアランプが、その後、同じイベントを取得し、壁面スイッチから受信された他のデータに基づき第１のパターン（たとえば、パターンＭＤ１）を生成する場合、フロアランプは、図１１を参照しつつ上で説明されているようなブロック１１０２、１１０４、１１０８、１１１０、１１１２、および１１１４のオペレーションで第１のリフレックスを参照して第１のパターンを処理することができる。決定ブロック１１１４において、フロアランプは、壁面スイッチに関連付けられているパターンがメモリに記憶されている第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）のトリガーパターンとして現在知られているので、壁面スイッチに関連付けられている生成されたパターン（たとえば、パターンＭＤ１）は知られているパターンとマッチすると判定し得る。そこで、フロアランプは、壁面スイッチの「オン」イベントに対する生成されたパターンの処理を継続するために図１２を参照しつつ上で説明されているオペレーションを実行し続け得る。
【０１９０】
[0210]この例を続けると、フロアランプは、新しい壁面スイッチイベントからマッチした第１のパターン（ＭＤ１）を処理し、マッチしたパターンがトリガーパターンマッチであると決定し（すなわち、決定ブロック１２０２＝「はい」）、第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）に対するトリガーモードをアクティブ化することができる。しかしながら、第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）に対するトリガー重みは、そのトリガー閾値よりも低い場合があり、その場合、フロアランプは、ブロック１２１６においてアクションを生成しないが、他のイベント／パターンを監視することを続け得る。その一方で、フロアランプは、ランプスイッチ１２６からの「オン」イベントなどの、異なるトリガーベントに遭遇し得る。フロアランプは、図１１を参照しつつ上で説明されているような方法１１００のブロック１１０２、１１０４、１１０８、および１１１０を通じてランプスイッチ１２６からのオンイベントを処理し、ランプスイッチ１２６のオンイベントに関連付けられている第２のパターン（たとえば、パターンＭＤ２）を生成し得る。フロアランプは、図１１と図１２とを参照しつつ上で説明されているようなブロック１１１２、１１１４、および１２０２のオペレーションを通じてオンイベントパターンを処理することを続け得る。方法１２００の決定ブロック１２０２において、フロアランプは、第２のパターン（ＭＤ２）が第２のリフレックス（ＲｅｆｌｅｘＦ１）に対するトリガーパターンマッチであると決定し、決定ブロック１２０４において、第２のリフレックスに対するトリガー重みは、閾値より高いと決定し得る。その場合、第２のリフレックスのトリガー重みに基づき、フロアランプは、図１２を参照しつつ上で説明されているようなブロック１２１６においてアクションパターンと関連付けられているアクション（たとえば、ライトをオンにする）とを生成し得る。ライトをオンにすることによって、フロアランプは、図１１を参照しつつ上で説明されているようなブロック１１１０において報酬イベントとその後の報酬パターン（たとえば、パターンＭＤ４）とを生成し得る。フロアランプは、決定ブロック１２０８においてフロアランプが生成された報酬パターン（ＭＤ４）が第１のリフレックス（ＲｅｆｌｅｘＦ２）の報酬パターンとマッチすると決定するまで上で説明されているような方法１１００と１２００とを通じて報酬パターンを処理することができる。フロアランプは、トリガー重みを増加させることと、調整をメモリ１３８に記憶することとによってＲｅｆｌｅｘＦ２に関連付けられている重みを調整し、それによって、壁面スイッチでのオンイベントとフロアランプでのオンイベントとの間の関連付けを学習し得る。このプロセスは、第１のリフレックス（たとえば、ＲｅｆｌｅｘＦ２）のトリガー重みが、図９に示されているようなトリガー閾値より高くなるまでフロアランプによって繰り返され得る。
【０１９１】
[0211]図１１と図１２とを参照しつつ上で説明されている実施形態の方法は、イベントがある時間ウィンドウに対して取得されてバッファリングされ、その時間ウィンドウにおいて任意の数のイベントが取得されるものとしてよく、バッファリングされたイベントを処理してマッチしているパターンを識別し、新しい相関またはリフレックスを学習することは複数のイベントとイベントおよびリフレックスの組合せとを包含し得るので、ある種の再帰アルゴリズムとして機能し得る。ユーザが実施形態のスマートボックスと学習デバイスとをトレーニングすることを可能にするためにこれらの実施形態がどのように機能し得るかをさらに開示するために、そのようなデバイスを実装するユーザアクションの次の例が提示されている。この例では、ユーザは、まだ互いに関連付けられていない、２つの学習デバイス、すなわち、壁面スイッチとフロアランプとをトレーニングする。説明を簡単にするため、フロアランプまたは壁面スイッチへの次の参照は、それらの関連付けられているスマートボックスを包含することを意図されている。
【０１９２】
[0212]この例では、フロアランプおよび壁面スイッチの各々は、それらの関連付けられているスマートボックスのメモリに記憶されている事前定義されたリフレックスを有するものとしてよい。たとえば、壁面スイッチは、トリガーパターン「ＷＴ」と、アクションパターン「ＷＡ」と、補正パターン「ＷＣ」と、報酬パターン「ＷＲ」とを含み得るメモリに記憶されている事前定義されたリフレックスＲｅｆｌｅｘＷを有するものとしてよい。トリガーパターンＷＴは、ユーザが壁面スイッチを「オフ」から「オン」にトグルするトリガーイベントに対応し得る。ユーザが、壁面スイッチを「オフ」から「オン」にトグルしたときに、壁面スイッチは、イベントを生成し、さらには「オン」イベントに関係する発生データを含むイベントレポートメッセージをブロードキャストし得る。壁面スイッチの「オン」イベントに関係する生成されたイベントから、壁面スイッチ内に備えられているか、または結合されているスマートボックスが、トリガーパターンＷＴを生成し得る。最初に、アクションパターンＷＡは、スイッチをトグルするなどの日常の生活におけるアクションに対応していない可能性がある。その代わりに、ＷＡは、単純に、将来のリフレックスにいつでも割り当てられるようになっているコンピュータコードであってよい。
【０１９３】
[0213]補正パターンＷＣは、「Ｃｏｒｒｅｃｔｉｏｎ」というラベルが付けられている壁面スイッチ上のボタンに対応し得る。ユーザが補正ボタンを押すと、壁面スイッチは、補正イベントを生成し、さらには補正イベントを指示する発生データとともに別のイベントレポートメッセージをブロードキャストし得る。生成された補正イベントから、壁面スイッチに関連付けられているスマートボックスは、補正パターンＷＣを生成し得る。報酬パターンＷＲは、ユーザが「Ｒｅｗａｒｄ」というラベルが付けられている壁面スイッチ上の報酬ボタンを押すイベントに対応し得る。ユーザが報酬ボタンを押すと、壁面スイッチは、報酬イベントを生成し、さらには報酬イベントを指示する発生データとともに別のイベントレポートメッセージをブロードキャストし得る。生成された報酬イベントから、壁面スイッチに関連付けられているスマートボックスは、報酬パターンＷＲを生成し得る。
【０１９４】
[0214]同様に、フロアランプは、トリガーパターンＭＤ１と、アクションパターンＭＤ３と、補正パターンＭＤ５と、報酬パターンＭＤ４とを含み得るメモリに記憶されている  事前定義されたリフレックスＲｅｆｌｅｘＦ２を有することができる。トリガーパターンＭＤ１は、ユーザがフロアランプのランプスイッチを「オフ」から「オン」にトグルするトリガーイベントに対応し得る。ユーザが、ランプスイッチを「オフ」から「オン」にトグルしたときに、壁面スイッチは、トリガーイベントを生成し、さらにはランプの「オン」イベントを指示する発生データを含むイベントレポートメッセージをブロードキャストし得る。生成されたトリガーイベントから、フロアランプ内に備えられているか、または結合されているスマートボックスが、トリガーパターンＭＤ１を生成し得る。アクションパターンＭＤ３は、フロアランプがライトを「オフ」から「オン」にするイベントに対応し得る。補正パターンＭＤ５は、フロアランプがトリガーモードに入っているときに「Ｃｏｒｒｅｃｔｉｏｎ」というラベルが付けられているフロアランプ上の追加のボタンに対応し得る。ユーザが補正ボタンを押すと、ランプは、補正イベントを生成し、さらにはランプの補正イベントを指示する発生データとともにイベントレポートメッセージをブロードキャストし得る。生成された補正イベントから、フロアランプに関連付けられているスマートボックスは、補正パターンＭＤ５を生成し得る。報酬パターンＭＤ４は、ユーザがトリガーモードに入っている場合にフロアランプをオンにしたときに、報酬イベントを生成し、さらにはランプの報酬イベントを指示する発生データとともにイベントレポートメッセージをブロードキャストすることに対応する。報酬イベントから、フロアランプに関連付けられているスマートボックスは、報酬パターンＭＤ４を生成し得る。
【０１９５】
[0215]壁面スイッチおよびフロアランプが最初にこの仕方で構成されている状態で、ユーザは、次のように壁面スイッチに応答してオンになるようにフロアランプをトレーニングすることができる。壁面スイッチが「オフ」位置にあり、フロアランプがオフにされている状態で、ユーザは壁面スイッチをオンにし、手動によるオペレーション（たとえば、デバイス上のスイッチを入れる）を介して即座にフロアランプをオンにすることがある。これら２つのアクションが短い時間期間（たとえば、５から１０秒）内に遂行された場合、フロアランプに関連付けられているスマートボックスは、ランプオンリフレックスに関連付けられている重みを増加させることによってターンオンアクションを学習することを始めることができる。同様に、ユーザは、壁面スイッチをオフにし、即座にフロアランプをオフにすることによって壁面スイッチがオフにされたことに応答するようフロアランプをティーチングすることができる。ここでもまた、これら２つのアクションが短い時間期間（たとえば、５から１０秒）内に遂行された場合、フロアランプに関連付けられているスマートボックスは、ランプオフリフレックスに関連付けられている重みを増加させることによってターンオフアクションを学習することを始めることができる。
【０１９６】
[0216]そのようなトレーニングサイクルが１つでは十分でない場合があり（すでにトレーニング解除されているスマートボックスが単一のステップで第１のリフレックスイベント相関を学習するいくつかの実施形態の場合を除き）、したがって、ユーザは、壁面スイッチをオンにし、即座にフロアランプをオンにし、続いて少し間を置いて、壁面スイッチをオフにし、即座にフロアランプをオフにするプロセスを繰り返すものとしてよい。この一連のステップは、フロアランプに関連付けられているスマートボックスの学習ヒステリシス構成に応じて、３回またはそれ以上の回数、繰り返される必要があり得る。
【０１９７】
[0217]２、３、またはそれ以上の繰返しの後、フロアランプに関連付けられているスマートボックスは、壁面スイッチのその後のトグルがフロアランプがしかるべくオンまたはオフになることを引き起こすようにランプオンおよびランプオフのリフレックスに関連付けられている重みを増加させている可能性がある。したがって、壁面スイッチのオン／オフイベントとフロアランプのオン／オフアクションとのこの望ましい相関をトレーニングするために、ユーザは、フロアランプがユーザが壁面スイッチをトグルしたことに応答してオンにすることを開始するまでこのプロセスを単純に繰り返すことができる。
【０１９８】
[0218]ユーザによるこの一連のアクションは、壁面スイッチおよびフロアランプと関連付けられているスマートボックス内で次のアクションが生じることを引き起こす。壁面スイッチに関連付けられているスマートボックスが、「オフ」から「オン」へのトグルを感知したときに、壁面スイッチは、受信するブロードキャスト範囲（たとえば、１００フィート）内のすべての学習デバイスに対してイベントレポートメッセージでブロードキャストされ得るトリガーイベントと関連付けられている発生データとを生成し得る。フロアランプに関連付けられているスマートボックスは、壁面スイッチのブロードキャスト範囲内にあり、イベントレポートメッセージを受信することができる。受信した後、フロアランプは、関係するイベントを生成し、メモリに記憶されているイベントフィルタが生成されたイベントのさらなる処理を妨げるかどうかを決定し得る。既定の状態では、フロアランプは、フィルタを生成されたイベントに適用し得ず、したがって、フロアランプは生成されたイベントをバッファに記憶し得る。生成されたイベントに基づき、フロアランプは、パターンＭＤ２を生成し得る。
【０１９９】
[0219]最初に、フロアランプは、ＲｅｆｌｅｘＦ２に関連付けられているパターンをメモリに記憶しておくだけである（たとえば、ＭＤ１、ＭＤ３、ＭＤ５、およびＭＤ４）。この例の目的のために、フロアランプは、パターンＭＤ２を生成するのと同じ時間ウィンドウ内で、ＲｅｆｌｅｘＦ２に対するトリガーパターン、パターンＭＤ１を生成したことなどに応答して、ＲｅｆｌｅｘＦ２に対するトリガーモード内にすでに入っていることが仮定される。生成されたパターンＭＤ２がＲｅｆｌｅｘＦ２のどのパターンともマッチしないので、生成されたパターンＭＤ２は、新しいリフレックスに対するトリガーパターンとして使用され得る未知のパターンと考えられ得る。フロアランプは、未知の、またはマッチしていないパターンＭＤ２で新しいリフレックスを作成するかどうかを決定し得る。フロアランプには、新しいリフレックスを作成しない異なる多くの理由があり得る。たとえば、フロアランプは、学習阻止モード（たとえば、保持モード）に入っているか、またはフロアランプは、特定のデバイスに関連付けられている特定のパターンからリフレックスを作成することを禁じられている場合がある（たとえば、フロアランプは、壁面スイッチに関連付けられているパターンからリフレックスを作成しない）。
【０２００】
[0220]この例では、フロアランプは、新しいリフレックスを作成することを阻止されていないので、フロアランプは、未知のパターンＭＤ２をトリガーパターンとして、新しいリフレックスＲｅｆｌｅｘＦ１を作成することができる。新しいリフレックスＲｅｆｌｅｘＦ１は、完全なリフレックスとなるように、アクションパターンと、補正パターンと、報酬パターンとを含み得る。そこで、フロアランプは、メモリに記憶してあるアクションパターンと、補正パターンと、報酬パターンとを（たとえば、ＭＤ３と、ＭＤ５と、ＭＤ４とを）コピーすることによってトリガーモードにおける知られているリフレックスＲｅｆｌｅｘＦ２のみからのパターンを使用し、それらのパターンを新しいトリガーパターンＭＤ２とともに新しいリフレックスＲｅｆｌｅｘＦ１に割り当てることができる。フロアランプの設定に応じて、フロアランプは、オンにトグルする壁面スイッチに関係するトリガーイベントとフロアランプのライトのアクティブ化との間の新しい関連付けを学習したばかりである場合がある。たとえば、フロアランプは、フロアランプが新しいリフレックスをすぐに学習する臨界学習期間８０１（図８に示されているような）に入っているものとしてよい（たとえば、フロアランプ上で実行される単一のオン／オフシーケンス）。そこで、フロアランプは、壁面スイッチが「オフ」から「オン」にトグルした後、ライトをアクティブ化し得る。しかしながら、この例の目的に関して、フロアランプが、臨界期間内になく、「オフ」から「オン」への壁面スイッチのトグルとフロアランプのライトをアクティブ化することとの間の関連付けをまだ完全には学習していないことが仮定される。
【０２０１】
[0221]ユーザが、壁面スイッチをトグルした後まもなくフロアランプをオンにしたときに、フロアランプに関連付けられているスマートボックスは、最近学習されたパターンＭＤ２をトリガーパターンとして、そのランプオンイベントを新しいリフレックスＲｅｆｌｅｘＦ１と相関させることができる。壁面スイッチがオフにされ、その後すぐにフロアランプがオフにされるアクションでは、壁面スイッチとフロアランプとにおいて類似の応答を生成し得る。
【０２０２】
[0222]壁面スイッチが、２回目に「オフ」から「オン」にトグルされると、オンイベントの関連付けられている発生データは、再び、イベントレポートメッセージでブロードキャストされ、フロアランプによって受信され得る。ここでもまた、フロアランプは、発生データとともに関係するイベントレポートメッセージを処理し、イベントを、そして最終的にパターンＭＤ２を生成し得る。しかしながら、今回、フロアランプは生成されたパターンＭＤ２とＲｅｆｌｅｘＦ１の知られているパターンとのマッチングを行う。このマッチングに応答して、フロアランプは、また、パターンＭＤ２とＲｅｆｌｅｘＦ１の記憶されているトリガーパターンとの間にマッチがあると決定し、ＲｅｆｌｅｘＦ１に関してトリガーモードに入ることができる。さらに、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上であるかどうかを決定することができる。この例では、１回のみのトレーニングサイクルの後に、ＲｅｆｌｅｘＦ１が新しいリフレックスであるので、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上でないと決定し得る。そこで、フロアランプは、ＲｅｆｌｅｘＦ１に対してトリガーモードに入っている間により多くのイベントを監視することを続け得る。
【０２０３】
[0223]ユーザが５〜１０秒の時間ウィンドウ内でフロアランプをオンにしたときに、フロアランプは、最終的にフロアランプが報酬パターンＭＤ４を生成することを引き起こす報酬イベントを生成し得る。フロアランプは、ＭＤ４を処理し、報酬パターンとＲｅｆｌｅｘＦ１とのマッチがあると決定する。それに応答して、フロアランプは、ＲｅｆｌｅｘＦ１に関してまだトリガーモードに入っており、ＲｅｆｌｅｘＦ１のトリガー重みを増加させ得る。重みを調整した後、または５〜１０秒の時間ウィンドウの後に、フロアランプは、ＲｅｆｌｅｘＦ１に関してトリガーモードを終了し、フロアランプがより多くのイベントを監視する監視モードに入り得る。
【０２０４】
[0224]その後しばらくして、ユーザが３回目にまた壁面スイッチをオンにトグルし、壁面スイッチがフロアランプによって受信された発生データとともにイベントレポートメッセージをブロードキャストすることを引き起こし得る。ここでもまた、受信されたメッセージ内のデータに基づき、フロアランプは、関係するイベントを生成し、次いでパターンＭＤ２を生成し得る。フロアランプは、生成されたパターンＭＤ２とＲｅｆｌｅｘＦ１のトリガーパターンとの間にトリガーのマッチがあると決定し、３回目にＲｅｆｌｅｘＦ１に関してトリガーモードに入ることができる。もう一度、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上であるかどうかを決定することができる。３回目では、ＲｅｆｌｅｘＦ１が新しいリフレックスであるので、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みがトリガー重み閾値以上でないと決定し得る。そこで、フロアランプは、トリガーモードに入っている間により多くのイベントを監視することを続ける。
【０２０５】
[0225]ＲｅｆｌｅｘＦ１の最近のトリガーモードの５〜１０秒の時間ウィンドウ内にまだある間に、ユーザが、３回目にフロアランプをオンにすることができる。それに応答して、フロアランプは、最終的にフロアランプが報酬パターンＭＤ４を生成することを引き起こす報酬イベントを生成する。フロアランプは、ＭＤ４を処理し、報酬パターンとＲｅｆｌｅｘＦ１とのマッチがあると決定し得る。フロアランプは、ＲｅｆｌｅｘＦ１に関してまだトリガーモードに入っており、ＲｅｆｌｅｘＦ１のトリガー重みをトリガー閾値より高く増加させ得る。
【０２０６】
[0226]その後しばらくして、ユーザが４回目に壁面スイッチを「オフ」から「オン」にトグルしたときに、同じシーケンスのイベントが発生し、今回のみ、フロアランプは、ＲｅｆｌｅｘＦ１のトリガー重みが閾値以上であり、したがってアクションパターンＭＤ３を生成すると決定し得る。アクションパターンＭＤ３に応答して、フロアランプは、フロアランプのライトをオンにするモーターコントローラを通電する関連付けられているアクションイベントを生成し得る。その後、フロアランプは、ユーザが壁面スイッチを「オフ」から「オン」にトグルしたことに応答してオンにされる。
【０２０７】
[0227]図１３Ａ〜図１３Ｃ、図１４〜図１６、および図１７Ａは、ティーチャシグナリングデバイスが付近の学習デバイス（またはスマートボックス）をティーチングする信号をブロードキャストするための実施形態の方法を示している。上で説明されているように、ティーチャシグナリングデバイスは、学習デバイスを物理的にインタラクティブに操作することを実際に行わなくてもユーザが学習デバイスをティーチングすることを可能にするプロキシデバイスであり得る。たとえば、ユーザが継続的にスマート壁面スイッチを、次いでスマートランプをオンにして、壁面スイッチを照明機能に関連付けることをランプにティーチングする代わりに、ユーザは、単純に、ティーチャシグナリングデバイスが物理的なアクションを実際に行うことなくスマート壁面スイッチおよびスマートランプがオンになったことを指示する信号を送信することによってこれらのインタラクティブな操作をエミュレートすることを許すことができる。
【０２０８】
[0228]そのようなプロキシティーチングオペレーションを実行するために、ティーチャシグナリングデバイスは、ユーザがある場所で学習デバイスによって遂行されることを望んでいる目的、条件、目標、または他のシナリオでプログラムされる必要があり得る。たとえば、ユーザは、スマートハウス内のスマートデバイスをエネルギー効率の高い仕方で動作させて節電したい、自分が部屋に入ったときにスマートランプをオンにさせたい、様々な季節に異なる温度に基づきスマートブラインドを閉じさせたい、ユーザが望む他の挙動をさせたい場合がある。図１３Ａ〜図１３Ｃは、ティーチャシグナリングデバイスがそのようなデータ（すなわち、目的データ）を取得し、学習デバイスに目的を遂行することをティーチングするためのルーチン（すなわち、ティーチングルーチン）を生成するための様々な実施形態を示している。
【０２０９】
[0229]図１３Ａを参照すると、ブロック１３０２において、ティーチャシグナリングデバイスのプロセッサは、非集中システム内の１つまたは複数の学習デバイスの活動に関係するデータを取得し得る。たとえば、ティーチャシグナリングデバイスは、リモートソース（たとえば、ウェブサーバ）からエキスパート照明仕様をダウンロードすることができる。別の例として、ティーチャシグナリングデバイスは、スマートブラインドの特定の挙動が室内でなされることをユーザが望んでいることを指示するユーザインターフェース上のユーザボタンの押下を介して目的データを受信することができる。目的データは、図１３Ｂ〜図１３Ｃを参照しつつ以下でさらに説明されているような他の様々な仕方で取得され得る。
【０２１０】
[0230]目的データは、スクリプト、コマンド、仕様、デバイス関係、指令、命令、ユーザ選好もしくは設定、動作パラメータ、一般的な目標ステートメント、およびユーザが学習デバイスのシステムにとって欲しい挙動がどのようであるかを説明する他の情報を含み得る。たとえば、目的データは、時刻と、季節と、ユーザモードと、ユーザホロスコープと、年齢とに関する提案された光強度のリストを含み得る。別の例として、目的は、ユーザがすぐに仕事ができる状態にあるときにロック音楽を朝聴くが、仕事から家に戻ったときにはクラシック音楽を聴くことを好むことを指示するユーザ選好を含み得る。いくつかの実施形態では、目的データは、デバイスに対する明示的アクションを含み、またデバイスアクションに対する明示的トリガーも含み得る。たとえば、スクリプトは、スマートステレオをチャネル「Ａ」にするための命令を含み得る。別の例として、ユーザ定義スクリプトは、スマートステレオは、午後５時以降になったら必ずチャネル「Ａ」にされ、ユーザが正面玄関を開けることを指示し得る。そのような明示的目的データは、デバイス識別子（たとえば、「Ｊｏｈｎ’ｓ  Ｓｔｅｒｅｏ」、デバイスシリアル番号など）を含む場合も含まない場合もあり、さらに、デバイスクラス識別子（たとえば、一般スマートステレオデバイス、一般スマートランプなど）を含む場合も含まない場合もある。いくつかの実施形態では、目的データは、学習デバイスに対するリフレックスを記述するデータおよび／または個別のパターン／イベント（たとえば、トリガーパターン、アクションパターン、補正パターン、および報酬パターン）を含み得る。
【０２１１】
[0231]ブロック１３０４において、ティーチャシグナリングデバイスのプロセッサは、取得された目的データに基づきティーチングルーチンを生成することができる。ティーチャシグナリングデバイスは、様々な目的データを分析し、処理し、他の何らかの形で評価して、ユーザによって望まれている挙動またはゴール、さらには、システム内の学習デバイスがそれらの目標を達成することを引き起こすティーチング信号をどのように送信するかを決定することができる。たとえば、ユーザのセキュリティ目標に基づき、ティーチャシグナリングデバイスは、ユーザが自宅にいるときに特定の時間が経過した後閉じることを学習することをスマートブラインドにティーチングするためのティーチングルーチンを生成し得る。別の例として、エキスパート照明情報に基づき、ティーチャシグナリングデバイスは、特定のいくつかの時刻に光出力を弱めるか、または強くすることをリビングルーム内にあるスマートランプにティーチングするためのティーチングルーチンを生成し得る。いくつかの実施形態では、ティーチャシグナリングデバイスは、ティーチングルーチンを生成するときに取得された目的データに対して、自然言語処理および／または音声認識処理などの、様々な処理オペレーションを実行するように構成され得る。他の実施形態では、ユーザの目標は、目的データ内のコードまたは他のインジケータによって明示的に指示され得る。たとえば、ダウンロードされたスクリプトは、特定の時刻の後にライトがオフにされるべきであることを指示するように知られているコードを含み得る。
【０２１２】
[0232]いくつかの実施形態では、ティーチャシグナリングデバイスは、様々な種類の目的または目標を達成するのに適した学習デバイスの種類またはクラス、さらには様々な学習デバイスによって実行できる事前定義されたアクションまたは機能を指示するデータとともに構成され得る。たとえば、ティーチャシグナリングデバイスは、学習デバイスのデバイスクラスの種類、デバイス仕様、製造業者、および／またはブランドを様々なトピックまたは目標（たとえば、照明、暖房、娯楽など）に関連付けるデータテーブルを記憶することができる。そのようなデータにより、ティーチャシグナリングデバイスは、学習デバイスおよびその機能が取得された目的データにおいて指示されている目標を達成するために何をティーチングされるべきかを決定し得る。たとえば、セキュリティ目的を達成するために、ティーチャシグナリングデバイスは、開閉を学習することができることが知られているスマートブラインドは反復する時刻指定ブロードキャスト信号を介してティーチングされるべきであると決定することができる。
【０２１３】
[0233]ティーチングルーチンは、取得された目的データによって指示される目標を達成するようにティーチングシグナリングデバイスによって実行され得る命令セットであるものとしてよい。特に、ティーチングルーチンは、ティーチャシグナリングデバイスが学習デバイスによって受信されるべきティーチング信号をいつどのように送信し得るかに関する詳細な命令を含み得る。ティーチングルーチンは、時刻、信号強度、ブロードキャスト周波数、含まれるデータ（たとえば、コード、パケット、識別子など）、フォーマッティング、および取得された目的データに関係するティーチング信号に関する他の特定の情報を指示し得る。たとえば、生成されたティーチングルーチンは、ティーチャシグナリングデバイスが、スマートランプがオンになっていることを指示するデータ（すなわち、発生データ）を含む第１のティーチング信号とスマート壁面スイッチが入れられたことを示す第２のティーチング信号とをブロードキャストすべきであることを指示し得る。
【０２１４】
[0234]様々な実施形態において、生成されたティーチングルーチンは、ティーチャシグナリングデバイスが上で説明されているようなイベントレポートメッセージに類似するティーチング信号を送信するためのスケジュールおよび命令を含み得る。言い換えれば、ティーチングルーチンは、実際の発生なしでイベントレポートメッセージをいつどのように送信するかについてティーチャシグナリングデバイスに命令し得る。たとえば、スマート壁面スイッチは、生成されたティーチングルーチンに基づき、ユーザによって物理的に入れられないけれども、ティーチャシグナリングデバイスは、スマート壁面スイッチが入れられていることを報告するイベントレポートメッセージとしてフォーマットされているティーチング信号を送信するよう命令され得る。
【０２１５】
[0235]生成されたティーチングルーチンは、ティーチャシグナリングデバイスが定期的に実行するための命令を含み得る。言い換えれば、ティーチングルーチンは、「ティーチングセッション」を含み得る。したがって、生成されたティーチングルーチンは、ティーチャシグナリングデバイスがティーチング信号を送信するための反復の回数と反復の間の時間間隔とを指示し得る。たとえば、生成されたティーチングルーチンは、毎日１時間、１分に１回ティーチング信号ブロードキャストすることをティーチャシグナリングデバイスに命令することができる。別の例として、生成されたティーチングルーチンは、ステレオクラスのスマートデバイスがオンにされていることを指示するティーチング信号が１時間おきに正時でブロードキャストされるべきであることを命令することができる。ブロック１３０６において、ティーチャシグナリングデバイスのプロセッサは、不揮発性記憶装置またはメモリ内のデータベースなどに、生成されたティーチングルーチンを記憶することができる。
【０２１６】
[0236]いくつかの実施形態では、取得された目的データは、学習デバイスの知られているシステムに対して送信されるべき特定のティーチング信号のスケジュールなどの、既存のティーチングルーチンを含み得る。たとえば、ユーザは、システム内で利用可能な学習デバイスの種類を指示するユーザ選好データと情報とを受信するアプリケーションを利用してティーチャシグナリングデバイス内にダウンロードされるティーチングルーチンを生成し得る。そのような場合、ティーチャシグナリングデバイスは、ティーチング信号をいつどのように送信するかを決定するために取得された目的データを処理することまたは他の何らかの形で分析することを必要とする場合も必要としない場合もある。
【０２１７】
[0237]決定ブロック１３０８において、ティーチャシグナリングデバイスのプロセッサは、ティーチャシグナリングデバイスによってティーチングオペレーションをトリガーする入力が受信されるかどうかを決定し得る。言い換えれば、ティーチャシグナリングデバイスは、生成されたティーチングルーチンによって指示されるように、ティーチング信号送信することなど、命令を実行することを開始し得るかどうかを決定することができる。入力は、ティーチャシグナリングデバイス側に受信される事前定義された信号であってよい。たとえば、ティーチャシグナリングデバイスは、事前定義されたワイヤレス信号（たとえば、Ｂｌｕｅｔｏｏｔｈ接続などを介して受信された「起動」信号）を監視し得る。いくつかの実施形態では、入力は、付近の学習デバイスからのイベントレポートメッセージであってよい。代替的に、入力は、ティーチャシグナリングデバイスに結合されているユーザインターフェースのボタンまたは他の要素上のボタンを押すことなどの、ユーザ入力であってよい。（たとえば、ティーチャシグナリングデバイスに接続されたタッチスクリーン上のグラフィカルユーザインターフェースボタンを押すこと、ティーチャシグナリングデバイスのハウジング上の触覚ボタンを押すこと、など）。他の実施形態では、ティーチャシグナリングデバイスは、ティーチングオペレーションをトリガーするメッセージをインターネットプロトコルを介して受信し得る。たとえば、ティーチングオペレーションは、インターネット上で通信サーバ（たとえば、ウェブサイトまたはポータルに関係するサーバ）から受信された受信メッセージに基づき開始され得る。
【０２１８】
[0238]ティーチャシグナリングデバイスが、ティーチングオペレーションをトリガーする入力を受信していないと決定したことに応答して（すなわち、決定ブロック１３０８＝「いいえ」）、ティーチャシグナリングデバイスは、ティーチングルーチンを生成するために使用され得る追加の目的データを取得するためブロック１３０２におけるオペレーションを続行することができる。しかしながら、ティーチャシグナリングデバイスが、ティーチングオペレーションをトリガーする入力を受信していると決定したことに応答して（すなわち、決定ブロック１３０８＝「はい」）、ブロック１３１０において、ティーチャシグナリングデバイスのプロセッサは、生成されたティーチングルーチンに基づき学習デバイスのうちの１つまたは複数をティーチングするように構成されたティーチング信号をブロードキャストすることができる。たとえば、ティーチングルーチンによって記述されている時間間隔を使用することで、ティーチャシグナリングデバイスは、スマート壁面スイッチが入れられたこと、および／またはスマートランプがオンにされたことを指示するティーチング信号を送信することができる。
【０２１９】
[0239]オプションの決定ブロック１３１２において、ティーチャシグナリングデバイスのプロセッサは、ティーチャシグナリングデバイスによってティーチングオペレーションを終了する別の入力が受信されるかどうかを指示し得る。他の入力は、別の入力がティーチャシグナリングデバイスがティーチングオペレーションを終了し得ることを除き、決定ブロック１３０８におけるオペレーションを参照しつつ上で説明されている入力に類似しているものとしてよい。たとえば、ユーザは、ティーチャシグナリングデバイス上の「Ｓｔｏｐ」ボタンを押すか、またはティーチャシグナリングデバイスが、ティーチング信号がもはやブロードキャストされ得ないことを意味するようにあらかじめ決定されているワイヤレス信号を受信し得る。オプションの決定ブロック１３１２におけるオペレーションは、生成されたティーチングルーチンがティーチャシグナリングデバイスがそのティーチングを終了し得る正確な時間または条件を指示し得るのでオプションであってよい。たとえば、ティーチングルーチンが１回だけブロードキャストされる設定された数のティーチング信号の送信を命令するときにティーチャシグナリングデバイスを停止するため入力を必要としなくてよい。ティーチャシグナリングデバイスが、ティーチングオペレーションを終了する入力を受信していないと決定したことに応答して（すなわち、オプションの決定ブロック１３１２＝「いいえ」）、ティーチャシグナリングデバイスは、生成されたティーチングルーチンに基づきティーチング信号をブロードキャストするためブロック１３１０におけるオペレーションを続行することができる。言い換えれば、ティーチャシグナリングデバイスが、ティーチング信号をブロードキャストすることが停止されるべきであると命令されること、または他の何らかの形で識別されることがなかったときに、ティーチャシグナリングデバイスは、ブロック１３１０におけるオペレーションを実行することを連続するティーチングセッションとして続け得る。たとえば、ティーチャシグナリングデバイスは、しばらくしてからのある時刻において、または代替的に連続的な仕方で、ティーチング信号をブロードキャストし得る。ティーチャシグナリングデバイスが、ティーチングオペレーションを終了する入力を受信していると決定したことに応答して（たとえば、オプションの決定ブロック１３１２＝「はい」）、方法１３００が終了し得る。他の実施形態では、ティーチャシグナリングデバイスは、ティーチングオペレーションを終了する入力を受信したかどうかに関係なくブロック１３０２におけるオペレーションを続行することができる（すなわち、オプションの決定ブロック＝「いいえ」または「はい」）。
【０２２０】
[0240]図１３Ｂは、ティーチャシグナリングデバイスがインターセプトされた信号から取得されたデータとともに生成されたティーチングルーチンに基づき信号をブロードキャストするための実施形態の方法１３５０を示している。方法１３５０は、方法１３５０がイベントレポートメッセージをリアルタイムで観察する（またはインターセプトする）ことによってティーチングルーチンを生成するためのデータを取得するオペレーションをさらに含み得ることを除き、図１３Ａの方法１３００を参照しつつ上で説明されているものと似たオペレーションを含み得る。言い換えれば、ティーチャシグナリングデバイスは、ある場所にある学習デバイスが、ユーザのインタラクティブな操作などのトリガーに実際にどのように応答するかを観察し、これらの観察結果に基づきティーチングルーチンを生成するように構成され得る。たとえば、目的データは、ユーザがスマート壁面スイッチを「オン」に入れ、スマートランプをオンにしたときにブロードキャストされる２つのイベントレポートメッセージから取得され得る。この方式は、学習デバイスが実際にアクションを学習する前に複数の繰返しを必要とするが、ユーザは自分が行うインタラクティブな操作を繰返し実行することができないときにユーザが学習デバイスに対してインタラクティブに行う操作を複製するために役立ち得る。
【０２２１】
[0241]ブロック１３５２において、ティーチャシグナリングデバイスのプロセッサは、学習デバイスによって送信されたイベントレポートメッセージをインターセプトし得る。たとえば、ティーチャシグナリングデバイスは、学習デバイスにおける最近の発生（たとえば、状態変化、受信された入力、実行されたアクションなど）に関する情報を含むことを指示するコードまたは他の情報を利用するワイヤレス信号（たとえば、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉ、ＲＦなど）を継続的に監視するように構成され得る。ブロック１３５４において、ティーチャシグナリングデバイスのプロセッサは、受信されたイベントレポートメッセージに基づき学習デバイスの活動に関係する目的データを取得し得る。ティーチャシグナリングデバイスは、ユーザのインタラクティブな操作によってティーチングされることを意図されているトリガーアクション関係に関係するイベントレポートメッセージをグループ化するか、または他の何らかの形で関連付けるために時間ウィンドウを利用することができる。そのような時間ウィンドウは、上で説明されているような学習デバイス（またはスマートボックス）によって使用されるものと類似していてもよい。たとえば、ティーチャシグナリングデバイスは、５〜１０秒のウィンドウ内で受信されるイベントレポートメッセージをグループ化し得る。このようにして、ティーチャシグナリングデバイスは、イベントレポートメッセージで報告されるような実際に発生するものに基づきユーザの目的を決定することができる（たとえば、壁面スイッチが入れられたときにオンになることをスマートランプにティーチングする、外で特定の温度を超えたときに閉じることをスマートブラインドにティーチングする、など）。他の実施形態では、ティーチャシグナリングデバイスは、イベントレポートメッセージを処理するか、またはグループ化するように構成され得ないが、その代わりに、受信されたメッセージの正確な時刻と種類とを単純に記録して受信されたイベントレポートメッセージを複製するためのスクリプトを生成することができる。たとえば、受信されたイベントレポートメッセージに基づくティーチングルーチンは、本質的に、ある時間期間にわたって受信された様々なイベントレポートメッセージのログであり得る。
【０２２２】
[0242]ティーチャシグナリングデバイスは、図１３Ａを参照しつつ上で説明されているようにブロック１３０４〜１３１２におけるオペレーションを続行し、適宜、ティーチングオペレーションを終了する入力が受信されたときにブロック１３５２におけるオペレーションを続行し得る（すなわち、オプションの決定ブロック１３１２＝「はい」）。しかしながら、図１３Ａを参照しつつ上で説明されているのとは異なり、ティーチャシグナリングデバイスは、ティーチャシグナリングデバイスがティーチングをトリガーする入力が受信されていないと決定したときに（すなわち、決定ブロック１３０８＝「いいえ」）、ブロック１３５２におけるオペレーションを続行し得る。
【０２２３】
[0243]図１３Ｃは、ティーチャシグナリングデバイスが学習デバイスから受信されたデータとともに生成されたティーチングルーチンに基づき信号をブロードキャストするための実施形態の方法１３７０を示している。方法１３７０は、方法１３７０がシステム内の付近の学習デバイス（たとえば、スマートボックス）からリフレックス情報を取得するためのオペレーションをさらに含み得ることを除き、図１３Ａの方法１３００を参照しつつ上で説明されているものと類似しているオペレーションを含み得る。言い換えれば、ティーチャシグナリングデバイスは、付近の学習デバイスの各々からトリガーアクション関連付け（さらにはトリガー重み）をダウンロードするか、または他の何らかの形で受信するように構成され得る。すでに存在している学習された関連付けを取得することによって、ティーチャシグナリングデバイスは、他の場所にある他の学習デバイスにそれらの同じ関連付けをティーチングするためのティーチングルーチンを生成し得る。たとえば、ティーチャシグナリングデバイスは、一方の部屋にあるスマートブラインドの第１のセットの学習された挙動を、別の部屋にあるスマートブラインドの第２のセットに同じ挙動をティーチングするために複製することができる。
【０２２４】
[0244]ブロック１３７２において、ティーチャシグナリングデバイスのプロセッサは、付近の学習デバイスにリフレックス情報を要求する信号をブロードキャストし得る。そのような信号は、それぞれの記憶されているリフレックスを指示するデータをパッケージ化し、送信する要求として付近の学習デバイスによって処理され識別され得るコードまたは他の情報（たとえば、ヘッダ情報など）を含み得る。ブロック１３７４において、ティーチャシグナリングデバイスのプロセッサは、付近の学習デバイスからのリフレックス情報を含む応答メッセージを受信し得る。リフレックス情報は、付近の学習デバイスによって使用される様々なトリガーパターンと、アクションパターンと、報酬パターンと、補正パターンとを指示するデータを含み得る。リフレックス情報は、様々なパターンに関連付けられているトリガー重みおよび／または利得値も含み得る。ブロック１３７６において、ティーチャシグナリングデバイスのプロセッサは、受信された応答メッセージからのリフレックス情報に基づき学習デバイスのリフレックスに関係する目的データを取得し得る。特に、目的データは、付近の学習デバイスから受信されたリフレックス情報内に定義されているトリガーパターンとアクションパターンとの間の関連付けであってよい。たとえば、スマートランプが壁面スイッチの「オン」トリガーパターンを検出したことに応答してオンになるように構成されていることを指示する受信されたリフレックス情報に基づき、ティーチャシグナリングデバイスは、壁面スイッチの「オン」トリガーパターンに関してランプのアクションを記憶することができる。ティーチャシグナリングデバイスは、他の場所における受信されたリフレックス情報を複製するか、または代替的に、応答する学習デバイスによる進行中の学習を進めるために使用され得るティーチングルーチンを生成し得る。たとえば、ティーチャシグナリングデバイスは、応答する学習デバイスがそれらのそれぞれのリフレックスのトリガー重みを加減するのを助けるティーチング信号をブロードキャストされることを引き起こす受信されたリフレックス情報に基づくティーチングルーチンを生成し得る。
【０２２５】
[0245]ティーチャシグナリングデバイスは、図１３Ａを参照しつつ上で説明されているようにブロック１３０４〜１３１２におけるオペレーションを続行し、適宜、ティーチャシグナリングデバイスが、ティーチングオペレーションを終了する入力が受信されたと決定したときにブロック１３７２におけるオペレーションを続行し得る（すなわち、オプションの決定ブロック１３１２＝「はい」）。しかしながら、図１３Ａを参照しつつ上で説明されているのとは異なり、ティーチャシグナリングデバイスは、それがティーチングをトリガーする入力が受信されていないと決定したときに（すなわち、決定ブロック１３０８＝「いいえ」）、ブロック１３７２におけるオペレーションを続行し得る。
【０２２６】
[0246]図１４は、ティーチャシグナリングデバイスがティーチングルーチンのターゲットとなり得る付近の学習デバイスを発見するための一実施形態の方法１４００を示している。取得された目的データは、多くの場合、ユーザが帰宅したときに再生したい音楽、またはエキスパートがストレスの軽減に推奨する照明方式などの、ユーザがある場所（たとえば、スマートホーム）で達成させることを望んでいる目標またはターゲット条件を記述し得る。しかしながら、その場所にある学習デバイスは取り除かれるか、追加されるか、または他の何らかの形で機能を変更される可能性があるので（たとえば、学習モードが無効にされる、など）、ティーチャシグナリングデバイスは、ティーチングルーチンの目的を最もよく達成するためにティーチング信号をブロードキャストする前にその場所の中の学習デバイスを調査する必要があり得る。したがって、方法１４００のオペレーションは、方法１４００が、ティーチャシグナリングデバイスが付近の学習デバイスを評価し、学習ルーチンが目的を達成するように修正され得るかどうかを決定するためのオペレーションを含み得ることを除き、上で説明されている方法１３００のものに類似している。
【０２２７】
[0247]ブロック１３０２〜１３０８におけるオペレーションは、図１３Ａを参照しつつ上で説明されているとおりのものであってよい。ブロック１４０２において、ティーチャシグナリングデバイスのプロセッサは、現在のシステム内の学習デバイスに応答を識別することを要求する発見信号をブロードキャストし得る。たとえば、ティーチャシグナリングデバイスは、受信する学習デバイスがそのデバイス識別子および／またはそのデバイスタイプもしくはクラスタイプのインジケータを含む応答メッセージを送信することを引き起こすように構成されたスクリプト、コード、または他のインジケータを含む信号をブロードキャストし得る。いくつかの実施形態では、発見信号は、受信する学習デバイスが、現在学習モードに入っているかどうか、学習モードに入ることができるかどうか、さらには学習デバイスが新しい関連付けを生成する能力に関係する他のデータを指示する情報を送信することを引き起こすようにも構成され得る。たとえば、発見信号は、付近のスマートランプによって処理されたときに、スマートランプがクラス識別子（たとえば、スマートランプ）を含む戻りメッセージを送信することを引き起こし得るコードと、ティーチングルーチンを通じて調整され得ない静的リフレックスのみを指示するコードとを含み得る。
【０２２８】
[0248]ブロック１４０４において、ティーチャシグナリングデバイスのプロセッサは、ブロードキャストされた発見信号に応答して学習デバイスからの識別応答を受信し得る。デバイス識別子と、デバイスタイプ（またはクラスタイプ）インジケータと、付近のスマートデバイスの機能性と可用性とを指示する他の情報とを含む１つまたは複数の応答が受信され得る。たとえば、スマートランプが存在していること、さらにはスマートランプが「オン」アクションと、「オフ」アクションと、「輝度増大」アクションと、「輝度減少」アクションとを実行することができることを指示する識別応答が受信され得る。いくつかの実施形態では、受信された応答は、ティーチャシグナリングデバイスが発見信号をブロードキャストするのに利用しているのと同じフォーマットおよび／またはシグナリング媒体（たとえば、Ｂｌｕｅｔｏｏｔｈなど）を使用して学習デバイスによって送信され得る。
【０２２９】
[0249]決定ブロック１４０５において、ティーチャシグナリングデバイスのプロセッサは、生成されたティーチングルーチンの目的が発見信号への受信された応答により識別された学習デバイスにより達成され得るかどうかを決定することができる。言い換えれば、ティーチャシグナリングデバイスは、付近の学習デバイスのタイプ、番号、および可用性（またはティーチングできること）を生成されたティーチングルーチンと比較して、現在の場所に特定の学習挙動をティーチングするための十分な能力があるかどうかを決定し得る。たとえば、ティーチャシグナリングデバイスは、生成されたティーチングルーチン内のデバイスタイプ、ブランド、ファームウェアバージョン、および他の特定の情報を付近の学習デバイスの特定の情報と比較して、エキスパート照明、快適モード、またはエコフレンドリー環境が達成され得るかどうかを決定することができる。一例として、生成されたティーチングルーチンが、部屋の中の高い温度読み取り値に応答して閉じることをスマートブラインドにティーチングするためにティーチング信号を送信されるべきであることと、受信された識別応答に基づき、部屋にはスマートブラインドがないこととを指示するときに、ティーチャシグナリングデバイスは、他の方法で部屋を冷房すること（たとえば、スマートスカイライトカバーが閉じること、スマートシーリングファンがオンになることなど）をティーチングされ得る他のスマートデバイスが部屋の中にあるかどうかを決定することができる。別の例として、生成されたティーチングルーチンが、ティーチング信号が部屋の中の高い温度読み取り値に応答して閉じることをスマートブラインドにティーチングするために送信されるべきであることを指示するときに、ティーチャシグナリングデバイスは、部屋の中にスマートデバイスがないときにティーチングルーチンが達成され得ないと決定し得る。
【０２３０】
[0250]ティーチャシグナリングデバイスが、付近の学習デバイスを識別する受信された応答に基づき生成されたティーチングルーチンの目的が達成され得ないと決定したことに応答して（すなわち、決定ブロック１４０５＝「いいえ」）、ティーチャシグナリングデバイスは、追加の目的データを取得するためブロック１３０２におけるオペレーションを続行することができる。他の実施形態では、ティーチャシグナリングデバイスは、方法１４００を終了し、および／またはティーチングルーチンが学習デバイスが不十分であるため実行され得ないことを指示するメッセージをユーザデバイスに送信し得る。
【０２３１】
[0251]ティーチャシグナリングデバイスが、付近の学習デバイスを識別する受信された応答に基づき生成されたティーチングルーチンの目的が達成され得ると決定したことに応答して（すなわち、決定ブロック１４０５＝「はい」）、オプションのブロック１４０６において、ティーチャシグナリングデバイスのプロセッサは、現在のシステム内で識別された学習デバイスに基づきティーチングルーチンを修正し得る。特に、ティーチャシグナリングデバイスは、付近の学習デバイスのタイプ、番号、および可用性（またはティーチングできること）を生成されたティーチングルーチンと比較して、ティーチングルーチンの目的を達成するために調整が必要かどうかを決定し得る。そのような調整は、生成されたティーチングルーチンにおいて最初に示されたのと異なるタイプの学習デバイスに影響を及ぼすようにティーチング信号内のコードを変更するか、または変換することを含み得る。たとえば、ティーチャシグナリングデバイスは、ティーチング信号内でブロードキャストされるコードを翻訳しデバイスの特定の製造業者またはクラス（たとえば、Ｂｌｕｅｔｏｏｔｈデバイスクラスなど）のデバイスによって認識されるコードを含むようにできる。非限定的な例として、ティーチングルーチンは、最初に、部屋の温度をより低くするために、温度センサーが事前定義された閾値より高い値をブロードキャストしたときに閉じることをスマートブラインドにティーチングするためにティーチング信号がブロードキャストされる必要があり得ることを指示することができる。しかし、スマートブラインドが現在の部屋に存在していないときに、ティーチャシグナリングデバイスは、温度が事前定義された値を超えたときにライトを減光することをスマートランプにティーチングするためのティーチング信号を含むようにティーチングルーチンを変更し得る。言い換えれば、ティーチャシグナリングデバイスは、既存のティーチングルーチンの同じまたは類似の目的を達成することをティーチングする代替的な学習デバイスを識別し得る。ティーチャシグナリングデバイスは、図１３Ａを参照しつつ上で説明されているようなブロック１３１０〜１３１２におけるオペレーションを続行することができる。
【０２３２】
[0252]図１５は、ティーチャシグナリングデバイスがティーチング信号をブロードキャストする前にユーザに認可を要求するための一実施形態の方法１５００を示している。多くの場合において、ティーチャシグナリングデバイスは、ティーチングオペレーションを自動的に実行するように構成され得る。たとえば、太陽の光が家の中に差し込み、光センサーによって検出され、家の外の温度が熱センサーによって閾値より高いと報告されたときに、能動的なティーチャシグナリングデバイスは、閉じることをスマートブラインドにティーチングし得る。しかしながら、ユーザは、ティーチャシグナリングデバイスがある場所にある学習デバイスをいつ能動的にティーチングするかを制御したい場合がある。たとえば、家の中の温度が、事前定義された閾値より高いが、家の中に人がいないときに、ユーザは、ティーチャシグナリングデバイスが開くことをスマートフォンウィンドウにティーチングするかどうかを選択したい場合がある。したがって、方法１５００のオペレーションは、方法１５００が、ティーチャシグナリングデバイスがティーチングがシステム内で実行され得ることをユーザに確認するためのオペレーションを含み得ることを除き、上で説明されている方法１３００のものに類似している。たとえば、ユーザによって個人的に実行されるアクションをオーバーライドし得る不要な、または望まれていないティーチングを回避するために、ティーチャシグナリングデバイスは、学習デバイスのティーチングを続ける前に確認応答を要求する通信（たとえば、電子メール、テキスト、自動音声通話など）をユーザのデバイス（たとえば、スマートフォン、ラップトップなど）に送信するように構成され得る。
【０２３３】
[0253]ブロック１３０２〜１３０８におけるオペレーションは、図１３Ａを参照しつつ上で説明されているとおりのものであってよい。ティーチャシグナリングデバイスがティーチングをトリガーする入力が受信されたと決定したことに応答して（すなわち、決定ブロック１３０８＝「はい」）、ブロック１５０２において、ティーチャシグナリングデバイスのプロセッサは、認可要求をユーザデバイスに送信し得る。たとえば、ティーチャシグナリングデバイスは、家の照明および／または暖房／冷房に関係する生成されたティーチングルーチンを介してティーチングを実行する許可を求めるメッセージを送信することができる。上で指摘されているように、認可要求は、ユーザデバイスによる受信のためにティーチャシグナリングデバイスによって送信され得る何らかの形態の通信またはメッセージングであってよい。たとえば、認可要求は、電子メール、ＳＭＳ／ＭＭＳテキストメッセージ、アプリケーション通知、自動通話、および／または通信ネットワーク（たとえば、セルラーネットワーク、ＷｉＦｉローカルエリアネットワークなど）上で配信される他の通信であってよい。ティーチャシグナリングデバイスは、ローカルのメモリに記憶されている事前定義された宛先アドレス（たとえば、電話番号、電子メールアドレスなど）に認可要求を送信することができる。いくつかの実施形態では、ティーチャシグナリングデバイスは、ティーチャシグナリングデバイスに結合されているスピーカーおよび／または画面を介して発せられる音または画像などの、認可要求をレンダリングするように構成され得る。たとえば、ティーチャシグナリングデバイスとして（たとえば、ティーチングアプリを介して）動作するように構成されているスマートフォンは、インターフェースにポップアップウィンドウをレンダリングして、ユーザに、「Ｙｅｓ」または「Ｎｏ」のいずれかのグラフィカルユーザインターフェースボタンを押すことによってティーチング手順を確認することを要求することができる。
【０２３４】
[0254]いくつかの実施形態では、複数の認可要求が、与えられた時刻に１人または複数のユーザに送信され得る。たとえば、ティーチャシグナリングデバイスは、テレビ室内のスマートブラインドをティーチングすることに関して第１の認可要求の電子メールを第１のユーザ（たとえば、自宅所有者である妻）に送信し、台所のスマートブラインドをティーチングすることに関して第２の認可要求のテキストメッセージを第２のユーザ（たとえば、自宅所有者である夫）に送信することができる。さらに、ティーチャシグナリングデバイスは、ローカルのデバイスに記憶され、その後受信されたメッセージを評価するために使用され得る、固有コードまたはキーなどの、そのような認可要求内の情報を識別することを含むように構成され得る。たとえば、ティーチャシグナリングデバイスは、記憶されているコードを受信された着信メッセージのヘッダ情報内のコードと比較し、着信メッセージが有効な認可応答メッセージであるかどうかを決定し得る。別の例として、ティーチャシグナリングデバイスは、第１のティーチングルーチンが実行され得ることを決定するために第１の記憶されているコードと第１の受信された認可応答メッセージ内の情報とのマッチングを行うことができ（たとえば、暑い天気などのときをスマートブラインドにティーチングすることを認可される）、ティーチャシグナリングデバイスは、第２のティーチングルーチンが実行され得ないことを決定するために第２の記憶されているコードと第２の受信された認可応答メッセージ内の情報とのマッチングを行うことができる（たとえば、テレビがオンになっているときなどに、減光することをスマートライトにティーチングすることを認可されない）。
【０２３５】
[0255]様々な実施形態において、ティーチャシグナリングデバイスは、新規生成されたティーチングルーチンのティーチング信号を送信する前に認可要求を送信し得る。たとえば、インターネットからダウンロードされたエキスパート照明ガイドに基づき新しいティーチングルーチンを生成した後に、ティーチャシグナリングデバイスは、新しいルーチンが実行され得ることの認可をユーザに要求し得る（たとえば、認可要求は、「Ｉ’ｍ  ａｂｏｕｔ  ｔｏ  ｔｅａｃｈ  ｔｈｅ  ｌｉｇｈｔｓ  ｔｏ  ｄｉｍ  ｗｈｅｎ  ｉｔ  ｇｅｔｓ  ｈｏｔ  ｂａｓｅｄ  ｏｎ  ａ  ｎｅｗ  ｔｅａｃｈｉｎｇ  ｒｏｕｔｉｎｅ，  ｍａｙ  Ｉ  ｇｏ  ａｈｅａｄ？」というメッセージであってよい）。代替的に、ティーチャシグナリングデバイスは、ティーチングルーチンに関係する個別のティーチングセッションの前に認可要求を送信し得る。たとえば、毎日、ティーチャシグナリングデバイスは、同じティーチングルーチンに関係するティーチング信号をブロードキャストする前に認可要求を送信し得る（たとえば、認可要求は、「Ｔｈｉｓ  ｉｓ  ｔｈｅ  ｓｅｃｏｎｄ  ｄａｙ  ｏｆ  ｔｅａｃｈｉｎｇ  ｔｈｅ  ｂｌｉｎｄｓ  ｔｏ  ｃｌｏｓｅ  ｗｈｅｎ  ｉｔ  ｇｅｔｓ  ｈｏｔ，  ｍａｙ  Ｉ  ｇｏ  ａｈｅａｄ  ｗｉｔｈ  ｔｈｉｓ  ｔｅａｃｈｉｎｇ  ｓｅｓｓｉｏｎ？」というメッセージであってよい）。
【０２３６】
[0256]決定ブロック１５０４において、ティーチャシグナリングデバイスのプロセッサは、認可要求をユーザデバイスに送信したことに応答して認可が受信されるかどうかを決定し得る。ティーチャシグナリングデバイスは、ユーザからの認可情報を含むメッセージ（すなわち、認可応答メッセージ）を検出するために着信メッセージバッファを監視し得る。たとえば、ティーチャシグナリングデバイスは、ティーチングルーチンの受理または拒絶を指示するフラグまたはビットを含む認可応答メッセージを受信し得る。ティーチャシグナリングデバイスは、ローカルに記憶されている情報を着信メッセージまたは信号内のデータ（たとえば、ヘッダ情報）と比較し、着信メッセージが両方とも送信された認可要求に関係し、受理または拒絶を含むかどうかを決定することができる。たとえば、ティーチャシグナリングデバイスは、送信された認可要求に関連付けられている記憶されているコードと受信された着信メッセージ内のコード（たとえば、要求番号、デバイス識別子、ティーチングルーチンインデックス、など）とのマッチングを行い得る。いくつかの実施形態では、ティーチャシグナリングデバイスは、受信メッセージ内の他の情報を評価して、認可応答メッセージを検証するために必要になり得るキー、秘密の言葉、パスワード、または他の認証情報を検出することもできる。たとえば、受信された認可応答メッセージが処理され、それがティーチャシグナリングデバイスとユーザにのみ知られているパスワードを含むかどうかを決定し得る。
【０２３７】
[0257]ティーチャシグナリングデバイスが、認可メッセージが受信されていないと決定したことに応答して（すなわち、決定ブロック１５０４＝「いいえ」）、ティーチャシグナリングデバイスは、上で説明されているようにブロック１３０２においてデータを取得するためのオペレーションを続行することができる。オプションの一実施形態において、ティーチャシグナリングデバイスは、認可要求をユーザデバイスおよび／または学習デバイスの非集中システムのユーザに関連付けられていることが知られている他のデバイスに継続的に送信するように構成され得る。たとえば、ティーチャシグナリングデバイスは、ティーチャシグナリングデバイスによってティーチングされる学習デバイスを含む家の所有者との連絡のための代替的セル番号または電子メールアドレスを記憶し得る。しかしながら、ティーチャシグナリングデバイスが、認可メッセージが受信されたと決定したことに応答して（すなわち、決定ブロック１５０４＝「はい」）、ティーチャシグナリングデバイスは、図１３Ａを参照しつつ上で説明されているようにブロック１３１０〜１３１２におけるオペレーション（たとえば、ティーチングルーチンに基づきティーチング信号をブロードキャストする、など）を続行することができる。
【０２３８】
[0258]図１６は、ティーチャシグナリングデバイスが付近の学習デバイスが学習モードを構成することを引き起こす信号をブロードキャストするための一実施形態の方法１６００を示している。多くの場合において、学習デバイスは、トリガーとそれぞれの事前定義されているアクションとの間の関連付けを定義する静的または動的リフレックスを利用するように構成され得る。そのような学習デバイスは、上で説明されているような臨界および定常状態学習期間などの、学習の状態の様々なモードに入るようにも構成され得る。他の場合に、そのような学習デバイスによるティーチングを遂行するために、ティーチャシグナリングデバイスは、学習デバイスおよびそれらのリフレックスの学習モードまたは学習能力を修正する信号を送信するように構成され得る。したがって、方法１６００のオペレーションは、方法１６００が、ティーチャシグナリングデバイスがティーチング信号に基づきリフレックスを生成し、および／またはトリガー重みを修正する能力を有効にする付近の学習デバイス内の設定またはモードを直接制御するためのオペレーションを含み得ることを除き、上で説明されている方法１３００のものに類似している。いくつかの実施形態では、ティーチャシグナリングデバイスは、学習デバイスが学習モードをアクティブ化（または非アクティブ化）し、および／またはすでに学習されている情報（たとえば、トリガー重み）をリセットすることを引き起こす信号を送信するための補助チャネル（またはＡＵＸチャネル）を利用し得る。
【０２３９】
[0259]ブロック１３０２〜１３０８におけるオペレーションは、図１３Ａを参照しつつ上で説明されているとおりのものであってよい。ティーチャシグナリングデバイスがティーチングをトリガーする入力が受信されたと決定したことに応答して（すなわち、決定ブロック１３０８＝「はい」）、ブロック１６０２において、ティーチャシグナリングデバイスのプロセッサは、付近の学習デバイスが学習モードに入ることを引き起こす信号をブロードキャストし得る。たとえば、この信号は、受信側の学習デバイスが学習モードをアクティブ化するか、または他の何らかの形で学習モードに入るようにコマンドとして識別し得るコードを指示するか、またはそのように識別し得るフォーマットを取り得る。
【０２４０】
[0260]オプションのブロック１６０４において、ティーチャシグナリングデバイスのプロセッサは、付近の学習デバイスがその関連付けをリセットする（たとえば、リフレックスに対するトリガー重みをゼロにする）ことを引き起こす信号（すなわち、リセット信号）をブロードキャストし得る。たとえば、この信号は、受信側の学習デバイスが、学習デバイスがオペレーションの前の状態に戻るように最近の学習されたトリガー重みを巻き戻すか、削除するか、または無効にするコマンドとして識別し得るコードを指示するか、またはそのように識別し得るフォーマットを取り得る。いくつかの実施形態では、学習デバイスは、ティーチャシグナリングデバイスからのティーチング信号に基づきティーチングされている学習された挙動（すなわち、リフレックスに対する増加または減少させられたトリガー重み）をリセットするだけであってよい。言い換えれば、ティーチャシグナリングデバイスからのリセット信号は、前のティーチング信号の効果を無効にするためにのみ使用され、システムの学習デバイスをユーザが直接インタラクティブに操作することに基づく学習を無効にするためには使用され得ない。いくつかの実施形態では、リセット信号は、学習された情報をリセットするように指令され得る特定のデバイスタイプまたはデバイス識別子を含み得る。たとえば、リセット信号は、スマートブラインドのみがそのトリガー重みへの最近の増加／減少を無効にすべきであり、スマートランプはそうすべきでないことを指示し得る。様々な実施形態において、そのようなリセット信号は、学習デバイスが最後の時、日、週などにおいて影響を受けるリフレックスへのすべてのトリガー重み調整を取り除かなければならないことを指示するデータを含めることによって、学習デバイス内で無効にされるべき学習の特定の時間期間を指示し得る。いくつかの実施形態では、リセット信号は、学習デバイスがトリガー重みを工場出荷時設定に戻すことを引き起こし得る。
【０２４１】
[0261]ティーチャシグナリングデバイスは、上で説明されているようにブロック１３１０で生成されたティーチングルーチンに基づきティーチング信号をブロードキャストし、オプションの決定ブロック１３１２において、ティーチングを終了する入力が受信されているかどうかを決定し得る。オプションの決定ブロック１３１２におけるオペレーションは、ティーチャシグナリングデバイスが事前定義された時間期間の間、または事前定義された繰返し回数でティーチングに関連付けられているオペレーションを実行するように構成され得るのでオプションであってよく、したがって、ティーチングを終了させるための時間または条件を指示する入力を必要としなくてよい。ティーチャシグナリングデバイスが、ティーチングを終了する入力が受信されていないと決定したことに応答して（すなわち、オプションの決定ブロック１３１２＝「いいえ」）、ティーチャシグナリングデバイスは、ブロック１３１０におけるオペレーションを続行するか、または代替的にブロック１６０６におけるオペレーションを続行し得る。
【０２４２】
[0262]ティーチャシグナリングデバイスがティーチングを終了する入力が受信されたと決定したことに応答して（すなわち、オプションの決定ブロック１３１２＝「はい」）、ブロック１６０６において、ティーチャシグナリングデバイスのプロセッサは、付近の学習デバイスが学習モードを終了することを引き起こす信号をブロードキャストし得る。たとえば、この信号は、受信側の学習デバイスが学習モードを非アクティブ化するか、または他の何らかの形で学習モードを終了するようにコマンドとして識別し得るコードを指示するか、またはそのように識別し得るフォーマットを取り得る。次いで、ティーチャシグナリングデバイスは、方法１６００を終了するか、または代替的に、ブロック１３０２におけるオペレーションを続行し得る。
【０２４３】
[0263]図１７Ａは、ティーチャシグナリングデバイスがティーチングルーチンの使用に関係する情報を更新するためにイベントレポートメッセージをインターセプトするための一実施形態の方法１７００を示している。システム内に学習デバイスをティーチングするためにティーチャシグナリングデバイスを配備するときに、学習デバイスは、時間の経過とともにその挙動を変化させ得る。たとえば、特定の数の受信されたティーチング信号の後に、スマートランプが、ドアの開放または場所における他の発生に応答してオンになることを学習し得る。ユーザは、ティーチングの結果、さらにはティーチャシグナリングデバイスによって実行されたアクションを指示するデータを活用することができる。たとえば、ユーザは、時間の経過とともに更新する省エネ統計量を示し、ティーチング信号がティーチャシグナリングデバイスによって送信される前と後の学習デバイスによるエネルギー使用量の比較を可能にする履歴情報を検討することができる。したがって、方法１７００のオペレーションは、方法１７００が、ティーチャシグナリングデバイスがある場所におけるティーチングルーチンの影響を反映する記憶されている情報を受信し、管理するためのオペレーションを含み得ることを除き、上で説明されている方法１３００のものに類似している。
【０２４４】
[0264]ブロック１３０２〜１３１０におけるオペレーションは、図１３Ａを参照しつつ上で説明されているとおりのものであってよい。ブロック１７０２において、ティーチャシグナリングデバイスのプロセッサは、生成されたティーチングルーチンに基づきティーチング信号をブロードキャストしたことに応答して付近の学習デバイスによって送信されたメッセージをインターセプトし得る。そのようなインターセプトされたメッセージは、アクションを実行するか、または事前定義された条件、アクション、または状況の発生を他の何らかの形で検出した後に学習デバイスがブロードキャストするイベントレポートメッセージを含み得る。インターセプトされたメッセージは、生成されたティーチングルーチンおよびティーチング信号のターゲットとなる学習デバイス、さらには他のデバイスから受信された信号を含み得るメッセージを含むものとしてよい。たとえば、インターセプトされた信号は、学習する能力があり得ないセンサーデバイスからの時間または温度の定期的ブロードキャストを含み得る。いくつかの実施形態では、メッセージは、学習デバイスの様々な動作条件を指示するデータを含み得る。たとえば、インターセプトされたメッセージは、現在の電池残量と、時間期間内の電力使用量と、状態情報（たとえば、アクティブ化された学習モードなど）と、付近のスマートランプのリフレックスに対するトリガー重みとを指示し得る。
【０２４５】
[0265]いくつかの実施形態では、ユーザがその場にいて、ティーチャシグナリングデバイスのティーチングをリアルタイムで補正することができる。たとえば、スマートブラインドが受信されたティーチング信号に基づき閉じたことに応答して、ブラインドが閉じられることを望んでいないユーザがすぐに行ってスマートブラインドを開けると、これにより、スマートブラインドが開いていることを指示するイベントレポートメッセージをスマートブラインドが送信することを引き起こし得る。ユーザのそのようなティーチングに対抗するアクションは、ティーチャシグナリングデバイスによって識別され、ユーザの望みに反してティーチングを伝搬することを回避するようにティーチングルーチンを調整するために使用され得る。したがって、オプションのブロック１７０３において、ティーチャシグナリングデバイスのプロセッサは、インターセプトされたメッセージに基づきティーチングルーチンを更新することができる。インターセプトされたメッセージが、学習デバイスがその状態をティーチングルーチンに反する仕方で変更したことを指示するイベントレポートメッセージであるときに、ティーチャシグナリングデバイスは、状態をティーチングルーチンの意図された状態と比較して相違を検出し得る。反する状態が、学習デバイスによって定められており、報告されたと決定したことに応答して、ティーチャシグナリングデバイスは、ユーザによるアクションの結果としてそのような活動を解釈し、ユーザが望んでいると決定された命令を含め、および／またはユーザが望んでいないと決定された命令を取り除くようにブロック１３０４において生成されたティーチングルーチンを調整し得る。たとえば、ティーチャシグナリングデバイスは、ユーザがスマートブラインドを即座に開いたときにスマートブラインドが閉じることを引き起こすティーチング信号を送信することに対応する命令をティーチングルーチンから取り除くことができる。
【０２４６】
[0266]ブロック１７０４において、ティーチャシグナリングデバイスのプロセッサは、インターセプトされたメッセージとブロードキャストされたティーチング信号とに基づきティーチングルーチンに関係する履歴情報を指示する記憶されているデータを更新し得る。特に、ティーチャシグナリングデバイスは、ティーチングセッション内で様々なティーチング信号に対するブロードキャストの時刻と、タイプと、方式とを記録し得る。たとえば、更新された記憶されているデータは、挙動をティーチングし目的を達成するために午前のティーチングセッションにおいてＢｌｕｅｔｏｏｔｈブロードキャスト信号がいくつブロードキャストされたかを指示し得る（たとえば、エコフレンドリーな家、好ましい照明方式など）。さらに、ティーチャシグナリングデバイスは、ティーチングルーチンに関して様々な学習デバイスの進捗状況を示す情報を生成するためにインターセプトされたメッセージからのデータを処理し得る。たとえば、更新された記憶されているデータは、時間の経過とともに変わるスマートランプの特定のリフレックスに対するトリガー重みを示し得る。更新された記憶されているデータは、ティーチングルーチンの成功率などの統計量、さらにはティーチングセッション時にサーミスタデバイスによってブロードキャストされた温度センサーデータなどの、ティーチングに関して遭遇した他の環境条件を含み得る。ブロック１７０４におけるオペレーションは、様々な集約と、コンパイルと、将来のある時点においてユーザによって調べられ得る有用なデータを生成するためにティーチャシグナリングデバイスによって実行される命令、ルーチン、および／またはアクションを分析することとを含み得る。
【０２４７】
[0267]クロック１７０６において、ティーチャシグナリングデバイスのプロセッサは、スマートフォンのタッチスクリーンまたはティーチャシグナリングデバイスに結合されている別の画面上にデータをレンダリングすることなどによって、更新された記憶されているデータを表示し得る。以下で説明されている図１７Ｂは、そのような記憶されているデータの例示的な表示を示している。ティーチャシグナリングデバイスは、図１３Ａを参照しつつ上で説明されているようなオプションの決定ブロック１３１２におけるオペレーションを続行することができる。
【０２４８】
[0268]図１７Ｂは、システム内のティーチングルーチンに関係する情報の例示的な表示１７５０を示している。表示１７５０は、ティーチャシグナリングデバイスに結合されているＬＥＤ画面などの、ティーチャシグナリングデバイスの表示ユニット（たとえば、専用ティーチャユニットまたはティーチャアプリケーションなどとともに構成されているスマートフォン）上のレンダリングであってよい。表示１７５０は、システム内の様々なスマートデバイスに対するタイムライン１７５５（たとえば、２４時間の期間）にわたるティーチング活動を示し得る。たとえば、表示１７５０は、第１のスマートランプに対するティーチング時間のグラフィック情報１７５２と、第２のスマートランプに対するティーチング時間のグラフィック情報１７５３と、スマートブラインドに対するティーチング時間のグラフィック情報１７５４とを含み得る。たとえば、例示的な表示１７５０は、特定の日に、ティーチャシグナリングデバイスが、第１のスマートランプ（「ランプ１」）を６ＡＭから８ＡＭおよび８ＰＭから１０ＰＭに、第２のスマートランプ（「ランプ２」）を６ＡＭから７ＡＭおよび８ＰＭから１０ＰＭに、スマートブラインド（「ブラインド」）を１２ＡＭから３ＡＭ、６ＡＭから８ＡＭ、１０ＡＭから３ＰＭ、および８ＰＭから１０ＰＭにティーチングしていたことを示し得る。
【０２４９】
[0269]いくつかの実施形態では、ティーチャシグナリングデバイスは、ティーチャシグナリングデバイスの期待される将来のアクションを表示するように構成され得る。たとえば、例示的な表示１７５０は、ティーチャシグナリングデバイスが６ＡＭから１０ＡＭの間にオンになることを期待し、１０ＡＭから１１ＡＭの間にオフになり、その後、１２ＰＭから３ＰＭまで再びオンになることを期待することを指示するグラフィック情報１７５５を含み得る。ティーチャシグナリングデバイスのそのような期待される将来のアクションは、前のティーチングの活動または傾向および／またはユーザ入力を介して入力される将来の時刻に実行されるか、またはリモートソースからダウンロードされるティーチングルーチンなどの、将来実行されるべき取得されたティーチングルーチンに基づき得る。期待される将来のアクションは、推定と事実（または実際に記録されている活動）とを区別するために過去の活動の他のグラフィック情報１７５２〜１７５４と異なる仕方で表示され得る。
【０２５０】
[0270]図１８〜図１９は、ある場所における一実施形態のティーチャシグナリングデバイス１５０と様々な学習デバイスとの間の例示的なシグナリングを示している。以下で説明されているシグナリングは、情報がデバイス間でやり取りされることを可能にする通信の手段であるものとしてよい。たとえば、信号は、物理媒体（たとえば、電線、光線、ＲＦなど）上のアナログ信号、またはコンピュータ通信ネットワーク内のバイナリメッセージであってよい。
【０２５１】
[0271]図１８において、ティーチャシグナリングデバイス１５０は、時間期間全体を通してユーザがデバイスをインタラクティブに操作することをエミュレートする信号をブロードキャストするためのスケジュールを生成することなどによって、上で説明されているような学習デバイスに対するティーチングルーチンを生成するオペレーション１８０１を実行し得る。ティーチャシグナリングデバイス１５０は、ランプ（たとえば、スマートランプ）に結合されているが、またはその中にあるスマートボックスなどの、第１のスマートボックス１０３ａによって受信され得る発見信号１８０２を適宜送信することができる。第１のスマートボックス１０３ａは、第１のスマートボックス１０３ａに関する識別情報と他の説明情報（たとえば、デバイスＩＤ、デバイスクラスまたは目的、ステータス情報など）を指示するオプションの識別応答信号１８０４を送信し得る。識別応答信号１８０４を受信したことに応答して、ティーチャシグナリングデバイス１５０は、識別情報に基づきティーチングルーチンを修正するためのオプションのオペレーション１８０６を実行し得る。たとえば、ティーチャシグナリングデバイスは、ティーチング信号および／または発見信号１８０２に応答するデバイスのタイプに基づきそれらの信号がブロードキャストされ得る時刻を変換し、翻訳し、削除し、または追加することができ、したがって現在の場所内にあると決定され得る。
【０２５２】
[0272]ティーチングルーチンに基づき、ティーチャシグナリングデバイス１５０は、ブロードキャスト範囲内にある学習デバイスによって受信され得る１つまたは複数のティーチング信号１８０８を送信し得る。たとえば、ティーチング信号１８０８は、イベントレポートメッセージと同一である、ある時間期間のティーチングルーチンおよび／またはその場所内にあると決定されたスマートデバイスのクラスに基づく発生データを含む、構造を有するメッセージであってよい。可能なティーチング信号１８０８の各々は、ティーチャシグナリングデバイス１５０によって生成されるティーチングルーチンに応じて、同じであり得るか、または代替的に、わずかに異なり得る。さらに、ティーチング信号１８０８は、異なる学習デバイスをトレーニングするように構成されているイベントレポートメッセージであってもよい。たとえば、ティーチング信号１８０８の１つまたは複数は、イベントとトリガーパターンとを生成するために第１のスマートボックス１０３ａ（たとえば、スマートランプ）によって使用されるものとしてよく、ティーチング信号１８０８の１つまたは複数は、イベントと補正パターンもしくは報酬パターンとを生成するために第２のスマートボックス（たとえば、スマート壁面スイッチ）によって使用され得る。
【０２５３】
[0273]ティーチング信号１８０８を受信したことに応答して、第１のスマートボックス１０３ａは、イベントとパターンとを生成することなどによって、信号１８０８内のデータを処理するオペレーションを実行し得る。たとえば、第１のスマートボックス１０３ａは、受信されたティーチング信号１８０８に基づき生成されたイベント内の補正、報酬、またはトリガーパターンを検出し、その結果のイベントおよびパターンを生成し得る。次いで、第１のスマートボックス１０３ａは、第１のスマートボックス１０３ａがアクションを実行した（たとえば、ライトをオンにした、スイッチを入れた、など）を指示するイベントレポートメッセージなどの、オペレーション１８１０に基づく１つまたは複数のイベントレポートメッセージ１８１２をブロードキャストし得る。ティーチャシグナリングデバイス１５０は、集計履歴データ、統計量、および将来のティーチングオペレーションを調整するために使用され、および／またはユーザに対して表示され得る他の参考情報などの、第１のスマートボックス１０３ａからのイベントレポートメッセージ１８１２内の情報を処理するオペレーション１８１４を適宜実行し得る。
【０２５４】
[0274]図１９は、複数のスマートボックスがティーチャシグナリングデバイス１５０とともにある場所において信号をブロードキャストし受信することが図示されていることを除き、図１８おいて上で示されているような類似のシグナリングを示している。特に、第１のスマートボックス１０３ａ（たとえば、スマートランプ）および第２のスマートボックス１０３ｂ（たとえば、スマート壁面スイッチ）は、アクションを実行する（たとえば、ライトをオンにする、スイッチを入れる、など）ことに応答するなどして、イベントレポートメッセージ１９０２と１９０４とをそれぞれブロードキャストし得る。ティーチャシグナリングデバイス１５０は、これらのイベントレポートメッセージ１９０２、１９０４を受信し、オペレーション１８０１で時間の経過に従ってティーチングルーチンを生成し得る。たとえば、ティーチャシグナリングデバイス１５０は、その場所にいるユーザの活動を記録し、複製するために時間の経過とともにイベントレポートメッセージ１９０２、１９０４をインターセプトするように構成され得る。ティーチング信号１８０８’は、それらがその場所およびブロードキャスト受信範囲内にあるいずれかのスマートボックス１０３ａ、１３０ｂによって受信され得ることを除き、上で説明されているものと類似しているものとしてよい。ティーチャシグナリングデバイスからブロードキャストされるティーチング信号１８０８’を受信したことに応答して、第１のスマートボックス１０３ａは、イベントとパターンとを生成することなどによって、信号１８０８内のデータを処理するオペレーションを実行し得る。次いで、第１のスマートボックス１０３ａは、第１のスマートボックス１０３ａがアクションを実行したことを指示するイベントレポートメッセージなどの、オペレーション１８１０に基づく１つまたは複数のイベントレポートメッセージ１８１２をブロードキャストし得る。第２のスマートボックス１０３ｂによって受信されたイベントレポートメッセージ１８１２’は、ティーチャシグナリングデバイス１５０によって受信されたイベントレポートメッセージ１８１２と同じであり得る。第２のスマートボックス１０３ｂは、イベントレポートメッセージ１８１２’を受信したことに応答して、第２のスマートボックス１０３ｂにおいてアクションをトリガーするか、またはトリガーを強化し得るイベントまたはパターン（たとえば、補正、報酬）を生成するなどの、オペレーション１９１０を適宜実行し得る。
【０２５５】
[0275]図２０は、学習デバイスがティーチャシグナリングデバイスからの要求に応答してリフレックス情報を送信するための一実施形態の方法２０００を示している。方法２０００は、上で説明されている方法１３７０を実行するティーチャシグナリングデバイスと組み合わせて学習デバイスによって実行され得る。いくつかの実施形態では、方法２０００は、上で説明されている方法１１００、１２００の一部として、または代替的に、独立した同時実行プロセスとして学習デバイスによって実行され得る。
【０２５６】
[0276]ブロック２００２において、学習デバイスのプロセッサは、ティーチャシグナリングデバイスにリフレックス情報を要求するブロードキャスト信号を受信し得る。ブロック２００４において、学習デバイスのプロセッサは、記憶されているリフレックスに基づき応答メッセージ内にリフレックス情報をパッケージ化することができる。たとえば、学習デバイスは、トリガーパターンと、アクションパターンと、報酬パターンと、補正パターンと、トリガー重みとを定義するローカルメモリ内に記憶されているデータを変換するか、符号化するか、または他の何らかの形でフォーマットすることができる。応答メッセージは、デバイス識別子と、デバイスクラス／タイプと、学習デバイスに関する他の識別情報とを含むヘッダ情報も含み得る。ブロック２００６において、学習デバイスのプロセッサは、ティーチャシグナリングデバイスに応答メッセージを送信し得る。いくつかの実施形態では、そのような送信は、Ｂｌｕｅｔｏｏｔｈブロードキャストなどのワイヤレスブロードキャスト、ペアリングされた通信（たとえば、学習デバイスおよびティーチャシグナリングデバイスがＢｌｕｅｔｏｏｔｈを介してペアリングされるときなど）、および／または有線通信であってよい。
【０２５７】
[0277]図２１は、学習デバイスがティーチャシグナリングデバイスからの要求に応答して識別情報を送信するための一実施形態の方法２１００を示している。方法２１００は、上で説明されている方法１４００を実行するティーチャシグナリングデバイスと組み合わせて学習デバイスによって実行され得る。いくつかの実施形態では、方法２１００は、上で説明されている方法１１００、１２００の一部として、または代替的に、独立した同時実行プロセスとして学習デバイスによって実行され得る。
【０２５８】
[0278]ブロック２１０２において、学習デバイスのプロセッサは、ティーチャシグナリングデバイスに識別情報を要求する発見信号を受信し得る。ブロック２１０４において、学習デバイスのプロセッサは、ローカルの学習デバイスに記憶されているデータに基づき識別応答メッセージ内に識別情報をパッケージ化することができる。たとえば、学習デバイスは、学習デバイスの固有のデバイス識別子と、クラス／タイプコードと、学習デバイスにおけるリフレックスに対応する学習モードの現在状態とを定義するローカルメモリに記憶されているデータを変換し、符号化し、または他の何らかの形でフォーマットし得る。いくつかの実施形態では、識別応答メッセージは、図２０を参照しつつ上で説明されている応答メッセージに類似しているものとしてよい。ブロック２１０６において、学習デバイスのプロセッサは、ティーチャシグナリングデバイスに識別応答メッセージを送信し得る。いくつかの実施形態では、そのような送信は、Ｂｌｕｅｔｏｏｔｈブロードキャストなどのワイヤレスブロードキャスト、ペアリングされた通信（たとえば、学習デバイスおよびティーチャシグナリングデバイスがＢｌｕｅｔｏｏｔｈを介してペアリングされるときなど）、および／または有線通信であってよい。
【０２５９】
[0279]図２２は、学習デバイスがティーチャシグナリングデバイスからのリセット信号に応答してトリガー重みをリセットするための一実施形態の方法２２００を示している。方法２２００は、上で説明されている方法１６００を実行するティーチャシグナリングデバイスと組み合わせて学習デバイスによって実行され得る。いくつかの実施形態では、方法２２００は、上で説明されている方法１１００、１２００の一部として、または代替的に、独立した同時実行プロセスとして学習デバイスによって実行され得る。
【０２６０】
[0280]ブロック２２０２において、学習デバイスのプロセッサは、ティーチャシグナリングデバイスから、リフレックス情報をリセットすることを学習デバイスに命令する信号（すなわち、リセット信号）を受信し得る。様々な実施形態において、リセット信号は、変更が特定のリフレックスに適用され、および／または特定の時間期間に対応するべきであることを指示し得る。さらに、リセット信号は、トリガー重みに対してなされるべき変化の量（たとえば、無効にする、リセットする、ゼロにするなどのためのトリガー重みの割合）を指示し得る。たとえば、リセット信号は、特定のトリガーパターン（たとえば、壁面スイッチの「オン」）またはアクションパターン（たとえば、ライトの「オン」）を有するリフレックスのみがリセットされるべきであることを指示し得る。ブロック２２０４において、学習デバイスのプロセッサは、受信された信号に基づき修正されたトリガー重みでリフレックスのセットを識別することができる。言い換えれば、学習デバイスは、受信されたイベントレポートメッセージおよび／またはティーチング信号に基づきその既定値から変更されているトリガー重みでローカルに記憶されているすべてのリフレックスを識別し得る。さらに、識別されたセットは、特定のアクションパターンを含むものなどの、リセット信号内の他のパラメータに基づき得る。
【０２６１】
[0281]オプションのブロック２２０６において、学習デバイスのプロセッサは、ティーチャシグナリングデバイスからのティーチング信号によって修正されたトリガー重みを有するリフレックスのみを含むように識別されたセットを変更することができる。言い換えれば、いくつかの実施形態において、そのようなリセット信号は、ティーチャシグナリングデバイスからのティーチング信号によりすでに変更されていたトリガー重みに関してのみ適用され、したがってユーザによる直接的なインタラクティブな操作によってすでに変更されているトリガー重みは、リセットされ得ない。
【０２６２】
[0282]ブロック２２０８において、学習デバイスのプロセッサは、受信されたリセット信号に基づきリフレックスのセットに対するトリガー重みをリセットすることができる。たとえば、学習デバイスは、リセット信号で指示されるパラメータに基づき最後の分、時、日に加えられたトリガー重みの変更を無効化するか、またはリセットし得る。
【０２６３】
[0283]図２３Ａ〜図２４Ｂは、ティーチャシグナリングデバイスにおいて実装されるグラフィカルユーザインターフェース（ＧＵＩ）技術を示している。次の説明では、「トリガー学習デバイス」という用語は、第２の学習デバイスがリフレックスに基づき動作することを引き起こすイベントレポートメッセージを送信する学習デバイスを指すために使用され得る。
【０２６４】
[0284]学習デバイスのそのような非集中システムのユーザは、スマート環境（たとえば、スマートハウス）内の学習デバイス間の因果関係を識別する使いやすい直観的な方法を利用することができる。ユーザは、離れた場所（たとえば、スマートハウスの外、など）から学習された挙動をトリガーすることなどによって、識別された関係に基づきそのような学習デバイスを制御する扱いやすい方法を利用することもできる。したがって、いくつかの実施形態では、ティーチャシグナリングデバイス（またはスマート環境内でユーザによって使用される他のモバイルデバイス）は、ユーザがスマート環境内の学習デバイスのトリガーアクション関係（または「因果関係」）を表示し、操作することを可能にするように構成され得る。一般に、ワイヤレストランシーバ（たとえば、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉなど）を使用することで、ティーチャシグナリングデバイス（たとえば、ティーチャシグナリングデバイスとして動作するためのソフトウェアを実行するように構成されたスマートフォンまたはタブレットデバイス）は、スマート環境内の学習デバイスによって送信されたイベントレポートメッセージをインターセプトし、記録するように構成され得る。ティーチャシグナリングデバイスは、インターセプトされたイベントレポートメッセージをスマート環境の画像のセグメントに関連付けることができる。たとえば、ティーチャシグナリングデバイスは、画像処理ルーチンに基づき、信号内のデータ（たとえば、デバイスタイプコードなど）に基づき、および／またはユーザによる手動の入力に基づき特定の学習デバイス（またはデバイスタイプ）に関係するデジタル写真の画像セグメントを自動的に識別することができる。さらに、因果関係は、画像の変化（たとえば、ランプがオンまたはオフになる）を認識することと、観察された変化の事前定義された時間ウィンドウ内のインターセプトされた信号の発生を評価することとによってティーチャシグナリングデバイスによって自動的に識別され得るか、または代替的に、ユーザによって手動で識別され得る。
【０２６５】
[0285]ティーチャシグナリングデバイスは、環境内の学習デバイスの様々な因果関係を視覚的に示すため画像上に情報をレンダリングすることもできる。たとえば、一方のデバイスからのイベントレポートメッセージが別のデバイスにおいて特定のアクションを引き起こすことを示す情報がレンダリングされ得る。これは、スマート環境内に多数の学習デバイスおよび関連付けがあるときに有益な視覚的補助手段となり得る。
【０２６６】
[0286]ユーザは、ティーチャシグナリングデバイスのグラフィカルユーザインターフェース（ＧＵＩ）を使用してスマート環境内の学習デバイスの因果関係に関連付けられているアクションを制御する（たとえば、トリガー／再生、変更するなど）ことができる。たとえば、ユーザは、ＧＵＩボタンを押して、すでにインターセプトされている信号を複製するか、または再ブロードキャストし、学習デバイスによる相関するアクションをトリガーし得る。別の例として、ユーザは、このＧＵＩを使用して、第２の学習デバイスからのイベントレポートメッセージ（たとえば、壁面スイッチ「オン」イベントレポートメッセージ）に応答してアクションを実行すること（たとえば、「オン」にすること）を止めることを第１の学習デバイスにティーチングすることができる。このようにして、ユーザは、スマート環境内に存在する学習された挙動を見るだけでなく、すでにインターセプトされており、画像内に見える学習デバイスによるアクションに関連付けられているイベントレポートメッセージを送信することによって学習デバイスの挙動を操作することもできる。様々な実施形態において、ユーザは、アクションがＧＵＩを介して生じることを離れた場所から引き起こすことができるものとしてよい（たとえば、ソフトＧＵＩボタンをクリックして、異なる部屋に配置されている学習デバイスのアクションをトリガーする）。いくつかの実施形態では、ティーチャシグナリングデバイスは、近接範囲内にあるときにのみ学習デバイスを制御するためにインターセプトされたイベントレポートメッセージを送信することができるものとしてよい。
【０２６７】
[0287]いくつかの実施形態では、ティーチャシグナリングデバイスは、学習デバイスのイベントアクション関連付けを「オンザフライ」で発見するためにデバイスのプロセッサによって分析され得るビデオデータまたはオーディオデータを記録するために使用され得る。たとえば、スマートフォンは、スマート壁面スイッチとスマートランプとによって送信されたレポートメッセージを含むイベントレポートメッセージをインターセプトしながら、ユーザがスマート壁面スイッチを入れ、スマートランプがオンまたはオフになるシーンのビデオを録画することができる。そのようなビデオ内の画像をスマート壁面スイッチとスマートランプとからの同時インターセプトされたイベントレポートメッセージと組み合わせて処理することによって、ティーチャデバイスは、デバイス間のトリガーアクション関連付けを発見し、さらには画像内でイベントレポートメッセージを発行する学習デバイスを識別することができる。たとえば、スマート壁面スイッチが入れられ画像とスマート壁面スイッチからのイベントレポートメッセージの受信との相関を求めることによって、ティーチングシグナリングデバイスは、スイッチの画像とそのイベントレポートメッセージとの相関を求めることができる。同様に、スマートランプがいつオンになるか、またはオフになるかを一連の画像から識別することによって、ティーチングシグナリングデバイスは、スマートランプからの「オンにする」または「オフにする」イベントレポートメッセージとランプの画像とを相関させることができる。上で説明されていように、スマート壁面スイッチからのイベントレポートメッセージをスマートランプからの「オンにする」または「オフにする」イベントレポートメッセージと相関させることによって、ティーチングシグナリングデバイスは、イベントアクション相関を発見することができる。次いで、相関のＧＵＩ表示（たとえば、矢印）が、スマートライトスイッチとスマートランプの両方を含むＧＵＩ画像に提示され得る。
【０２６８】
[0288]様々な実施形態において、ティーチングシグナリングデバイスは、様々な画像認識アルゴリズムおよび／またはルーチンを利用して、リアルタイムの拡張現実表示がストリーミングビデオ上にレンダリングされるようにスマート環境内の知られている学習デバイスを識別するように構成され得る。たとえば、静止画像上のユーザによる特定のスマートランプの属性の以前に記憶されている識別に基づき、ティーチングシグナリングデバイスアプリケーションとともに構成されているスマートフォンは、スマートランプが認識されたときにリアルタイムのビデオでスマートランプに対するトリガーアクション関連付けを自動的に表示することができるものとしてよい。
【０２６９】
[0289]いくつかの実施形態では、ティーチングシグナリングデバイスは、ユーザに対して、環境内の学習デバイスのリストビューおよび／またはアイコンビューをレンダリングするか、または他の何らかの形で提示するように構成され得る。たとえば、ティーチングシグナリングデバイスは、構造の編成が異なるデバイス間の関係を指示するように環境（たとえば、スマートハウスなど）内の認識された学習デバイスのすべてのツリー構造または他のリスト構造を表示することができる。このようにして、ユーザは、デバイス間の関連付けを理解しやすいように提示され得る。さらに、このようなリスティング機能は、ティーチャシグナリングデバイスが現在特定の関連付けられている環境内にあるかどうかに関係なく、時間の経過とともに発見された様々なデバイスを示すために使用され得る。たとえば、ティーチャシグナリングデバイスは、ティーチャシグナリングデバイスが第２のスマートハウス内に配置されているにもかかわらず、第１のスマートハウス内のすべてのデバイスのリスト構造をレンダリングし、ティーチャシグナリングデバイスのユーザが一目で、またティーチャシグナリングデバイスを別の環境に物理的に移動することなく、関連付けを見ることを可能にするように構成され得る。
【０２７０】
[0290]いくつかの実施形態では、ティーチャシグナリングデバイスは、環境内でインターセプトされたメッセージの識別子に基づき記憶されている画像をロードしてレンダリングするように構成され得る。たとえば、ティーチャシグナリングデバイスは、スマートリビングルームおよび／またはスマートリビングルームに関連付けられている学習デバイスの識別子を指示するコードまたは他のデータを含む短距離ワイヤレス信号（たとえば、イベントレポートメッセージ）を受信したことに応答してスマートリビングルームの画像をロードし得る。いくつかの実施形態では、ティーチャシグナリングデバイスは、ＧＰＳ座標に基づき記憶されている画像にインデックスを付け、ティーチャシグナリングデバイスが事前定義されている場所に入ったと決定したときに画像をロードしレンダリングすることができる。
【０２７１】
[0291]いくつかの実施形態では、ティーチャシグナリングデバイスは、分、時、日などの観察期間などの、ある時間間隔にわたってインターセプトされたイベントレポートメッセージに基づき学習デバイスの特定のトリガーパターンとアクションパターンとの間の相関を発見することができる。たとえば、ティーチャシグナリングデバイスは、接続されているマイクロフォンまたはカメラが可聴アクション（たとえば、スマートステレオがオンになる、など）をピックアップし、その接続されているカメラがアクションにリンクされている変化（たとえば、ランプが周辺光の変化などに基づきオンになる）を認識し得るように特定の場所（たとえば、リビングルーム）に残され得る。代替的に、ティーチャシグナリングデバイスは、オンまたはオフになったときにスマートランプによって送信された信号をインターセプトし、識別する、および／またはオンまたはオフになったときにスマートステレオによって送信された信号を識別することなどによって学習デバイスのアクションがトリガーされていることを指示するものとして特定の受信されたイベントレポートメッセージを認識するように事前プログラミングされ得る。
【０２７２】
[0292]次は、ティーチャシグナリングデバイスを使用するそのようなＧＵＩ技術の非限定的な例である。ティーチャシグナリングデバイスソフトウェア（たとえば、ティーチャアプリなど）を実行しているユーザのスマートフォンは、リビングルーム内のスマート壁面スイッチおよびスマートランプの表現を含む画像（たとえば、ピクチャ、ビデオなど）を取り込み得る。このスマートランプは、スマート壁面スイッチが入れられたことに関係するイベント信号を受信したことに応答してスマートランプがオンになることを引き起こすリフレックスをすでに学習してある場合がある。ＧＵＩを介して、ユーザは、スタイラスを使用してスマートランプとスマート壁面スイッチを円で囲む（またはその周りにボックスを置く）ことなどによって、学習デバイスに関連付けられている取り込まれた画像のセグメントを定義し得る。スマートフォンは、スマートランプとスマート壁面スイッチから（たとえば、Ｂｌｕｅｔｏｏｔｈ無線を使用することによって）の信号（たとえば、イベントレポートメッセージ）を監視することができ、スマート壁面スイッチの「オン」イベントを指示する信号と、スマートランプの「オン」イベントを指示する別の信号とをインターセプトすることができる。スマートフォンは、インターセプトされた信号の情報（たとえば、送信機デバイスＩＤ、メッセージ内容など）を表示し、ユーザが信号を取り込まれた画像のセグメントに関連付けることを可能にし得る。たとえば、ユーザは、ＧＵＩを使用して、スマート壁面スイッチの「オン」イベント信号とスマート壁面スイッチの画像セグメントとの、またインターセプトされたスマートランプの「オン」イベント信号とスマートランプの画像セグメントとのマッチングを行うことができる。ユーザは、ＧＵＩを使用して、スマート壁面スイッチの画像セグメントからスマートランプの画像セグメントまで矢印グラフィック要素をドラッグしてスマート壁面スイッチの「オン」イベント信号がスマートランプの「オン」イベント信号を生成するスマートランプのアクションをトリガーすることを指示することなどによって、スマートランプおよびスマート壁面スイッチの画像セグメントと関連付けられているインターセプトされた信号との間の関係を設定することができる。この関連付けの後に、ユーザは、物理的スマート壁面スイッチに頼らずにＧＵＩを介してスマートランプを制御することができ、スマート壁面スイッチの画像セグメントに関連付けられているＧＵＩ要素（またはボタン）をタップして、スマートフォンがスマート壁面スイッチの「オン」イベント信号を送信することを引き起こし、したがってスマートランプがオンになることを引き起こすことができる。
【０２７３】
[0293]図２３Ａ〜図２３Ｂは、ティーチャシグナリングデバイスとして動作するように構成されたモバイルデバイス２５００上の例示的なグラフィカルユーザインターフェース（ＧＵＩ）を示している。ＧＵＩは、環境（たとえば、リビングルームなど）内の様々な学習デバイス１０４、１０２、１０６に関係するグラフィック要素を含み得る。特に、図２３Ａにおいて、モバイルデバイス２５００は、その画面２５１２（たとえば、スマートフォンのＬＥＤタッチスクリーンなど）上に、モバイルデバイス２５００に結合されているカメラユニット（図示せず）を介してモバイルデバイス２５００で撮ったビデオ、写真などの画像２３３０を表示し得る。モバイルデバイス２５００は、環境内の学習デバイス１０４、１０２、１０６に対応するセグメントグラフィック要素２３０２、２３０４、２３０６をレンダリングすることができる。たとえば、第１のセグメントグラフィック要素２３０２は、スマートフロアランプ１０４に対応し、第２のセグメントグラフィック要素２３０４は、スマート壁面スイッチ１０２に対応し、第３のセグメントグラフィック要素２３０６は、スマートステレオ１０６に対応し得る。セグメントグラフィック要素２３０２、２３０４、２３０６は、画像２３３０の画像認識アルゴリズムおよび／または他のソフトウェア処理に基づき、および／または画面２５１２上のスタイラスもしくは指による入力などを用いる、ユーザによる手動入力に基づきモバイルデバイス２５００によって識別され得る。いくつかの実施形態では、モバイルデバイス２５００は、インターセプトされた信号を送信するデバイスを識別し、それらの識別されたデバイスをデバイス１０２、１０４、１０６からのインターセプトされた信号に基づき画像２３３０のセグメントグラフィック要素２３０２、２３０４、２３０６と相関させるように構成され得る。いくつかの実施形態では、モバイルデバイス２５００は、異なる仕方（たとえば、色、サイズ、形状など）でデバイスに関連付けられているグラフィック要素を、デバイスの異なる機能を指示するようにレンダリングし得る。たとえば、モバイルデバイス２５００は、スマートデバイス１０２、１０４、１０６のセグメントグラフィックス要素２３０４、２３０２、２３０６と異なる、目立つ色彩に富んだ仕方でイベントレポートメッセージのみを送信する（すなわち、受信または学習しない）レポーターデバイス（図示せず）のセグメントグラフィック要素をレンダリングし得る。
【０２７４】
[0294]モバイルデバイス２５００は、インターセプトされた信号と環境内の様々な学習デバイス１０２、１０４、１０６との間の因果関係を識別することができる。たとえば、ユーザ入力または信号からのデータ（たとえば、受信されたイベントレポートメッセージのタイムスタンプ）に基づき、モバイルデバイス２５００は、スマート壁面スイッチ１０２からの第１の信号（たとえば、第１の「オン」イベントレポートメッセージ）がスマートフロアランプ１０４がオンになり、第２の信号（たとえば、第２の「オン」イベントレポートメッセージ）をブロードキャストするためのトリガーであると識別し得る。図２３Ｂに示されているように、モバイルデバイス２５００は、環境内の様々なデバイスの機能間の関係を指示する関係グラフィック要素２３５２（たとえば、矢印）をレンダリングし得る。たとえば、関係グラフィック要素２３５２は、スマート壁面スイッチ１０２がオンになるとスマートフロアランプ１０４がそのライトをオンにすることを引き起こすことを指示するようにレンダリングされ得る。
【０２７５】
[0295]モバイルデバイス２５００は、モバイルデバイス２５００が関係グラフィック要素２３５２に関係する信号をブロードキャストすることを引き起こすように構成されたソフトボタン、アイコン、ピクチャ、または他のインタラクティブなグラフィック要素２３５４（たとえば、「トグル」ボタン）をレンダリングすることができる。たとえば、インタラクティブなグラフィック要素２３５４は、ユーザがインタラクティブなグラフィック要素２３５４に対応する画面２５１２の領域をタッチしたことに応答してモバイルデバイス２５００がＢｌｕｅｔｏｏｔｈ無線を介して壁面スイッチの「オン」イベントレポートメッセージを送信することを引き起こすように構成され得る。そのようなトリガーされたイベントレポートメッセージは、関係グラフィック要素２３５２によって示されている関係に従ってスマートフロアランプ１０４がオンになることを引き起こし得る。
【０２７６】
[0296]図２３Ｃは、ティーチングシグナリングデバイスとして構成されているモバイルデバイス２５００による新しいティーチングを引き起こす関係グラフィック要素２３５２の調整を示している。いくつかの実施形態では、モバイルデバイス２５００によってレンダリングされた関係グラフィック要素は、ユーザがインタラクティブなグラフィック要素２３５４をインタラクティブに操作することに応答して信号がモバイルデバイス２５００によって送信される仕方をユーザ側で変更できるように調整され得る。言い換えれば、ティーチングシグナリングデバイスとして構成されたモバイルデバイス２５００は、学習デバイスがイベントレポートメッセージへの新しい応答を学習することを引き起こすためにユーザが関係グラフィック要素２３５２を再接続することを可能にし得る。たとえば、ユーザは、端点２３５３がもはや第１のセグメントグラフィック要素２３０２に接触しないように関係グラフィック要素２３５２の端点２３５３を移動し得る。そのような切断調整では、補正メッセージまたは一連のメッセージをスマートランプ１０４に送信し、それがスマート壁面スイッチ１０２とオンまたはオフにするアクションと間のイベントアクション関連付けの学習を解除することを引き起こし得る。したがって、ユーザが関係グラフィック要素２３５２上でこの入力を実行した後、スマートフロアランプ１０４は、もはや、スマート壁面スイッチ１０２からイベントレポートメッセージを受信したことに応答してオンまたはオフになり得ない。
【０２７７】
[0297]別の例として、ユーザは、調整された関係グラフィック要素２３５２’の新しい端点２３５３’がスマートステレオ１０６に対応する第３のセグメントグラフィック要素２３０４に接触しているように関係グラフィック要素２３５２の端点２３５３を移動し得る。そのようなユーザ入力は、ティーチングシグナリングデバイスが、スマート壁面スイッチ１０２からのイベントレポートメッセージに応答してステレオ１０６がアクション（たとえば、オンにすること）を学習することを引き起こすティーチングメッセージをブロードキャストすることを引き起こし得る。言い換えれば、関係グラフィック要素２３５２を調整するユーザは、ティーチングシグナリングデバイスとして構成されたモバイルデバイス２５００が新しいティーチングルーチンを学習することを引き起こし、スマートステレオ１０６がスマート壁面スイッチ１０２に関連付けられているイベントレポートメッセージを受信したことに応答して動作することを学習してしまうまで信号（たとえば、ティーチング信号）が送信されることを引き起こし得る。たとえば、ティーチングシグナリングデバイスとして構成されているモバイルデバイス２５００は、スマートステレオ１０６が新しい学習された挙動をアクティブ化する（たとえば、壁面スイッチのイベント信号に応答してオンにする）か、または別の挙動を無効にする（たとえば、ランプの「オン」イベント信号に応答してオンにする）ことを引き起こす報酬信号を送信し得る。
【０２７８】
[0298]別の実施形態では、ティーチングシグナリングデバイスとして構成されているモバイルデバイス２５００は、ユーザが関係グラフィック要素２３５２を切断したことに応答してスマートフロアランプ１０４によって学習されたイベントアクション関連付けを取り除くティーチング信号（たとえば、補正信号）を送信し得る。たとえば、スマートステレオ１０６が、スマート壁面スイッチ１０２がオンにされていることを指示するその後のイベントレポートメッセージに応答してオンになることを引き起こすティーチング信号を送信することとともに、モバイルデバイス２５００も、スマートフロアランプ１０４が、スマート壁面スイッチ１０２がオンにされたときにスマートフロアランプ１０４がもはやオンにならないようにスマートフロアランプ１０４がイベントレポートメッセージに応答してオンになることを引き起こすリフレックスに対するトリガー重みを下げることを引き起こすティーチング信号を送信し得る。
【０２７９】
[0299]図２３Ｄは、ティーチャシグナリングデバイスとして動作するように構成されているモバイルデバイス２５００上のグラフィカルユーザインターフェースを介して画面２５１２上に表示されている学習デバイス間の関係の例示的な表示を示している。上で説明されているのと同様に、モバイルデバイス２５００は、イベントレポートメッセージを送信するように構成されている複数のデバイスを備える、リビングルームなどの、環境の画像２３３０を取り込むように構成され得る。たとえば、画像２３３０は、光センサー２３８２、スマートブラインド２３８５、スマートフロアランプ１０４、スマート常夜灯２３９１、および時計デバイス２３９５（または時計／カレンダーデバイス）の表現を含み得る。光センサー２３８２は、環境内の周辺光が光閾値を超えたかどうか（たとえば、部屋の中が明るいか、暗いか）を指示するイベントレポートメッセージを送信するように構成され得る。時計デバイス２３９５は、現在の時刻、曜日、月、季節などを指示するイベントレポートメッセージを定期的に送信するように構成され得る。スマートブラインド２３８５は、スマートブラインド２３８５が部屋の中が明るいことを指示するイベントレポートメッセージを光センサー２３８２から受信したことに応答して開くことを引き起こす第１のリフレックスと、スマートブラインド２３８５が部屋の中が暗いことを指示するイベントレポートメッセージを光センサー２３８２から受信したことに応答して閉じることを引き起こす第２のリフレックスとともに構成され得る。スマートブラインド２３８５の第１および第２のリフレックスは、また、時計デバイス２３９５からのイベントレポートメッセージを利用して、スマートブラインド２３８５の開閉をトリガーすることもできる（たとえば、暗いときおよび夜間には閉じ、明るいときおよび夏期には閉じ、平日には開く、など）。スマートブラインド２３８５は、開いているか閉じられているかを指示するイベントレポートメッセージを送信するようにも構成され得る。
【０２８０】
[0300]スマートフロアランプ１０４は、スマートフロアランプ１０４が閉じられていることを指示するイベントレポートメッセージをスマートブラインド２３８５から受信したことに応答してオンになることを引き起こす第１のリフレックスと、スマートフロアランプ１０４が開いていることを指示するイベントレポートメッセージをスマートブラインド２３８５から受信したことに応答してオフになることを引き起こす第２のリフレックスとともに構成され得る。様々な実施形態において、スマートフロアランプ１０４のリフレックスは、時計デバイス２３９５のイベントレポートメッセージからのデータなどの他のデータを利用することもできる。たとえば、スマートフロアランプ１０４は、時計デバイス２３９５からのイベントレポートメッセージに基づき平日にオフになるように構成され得る。
【０２８１】
[0301]スマート常夜灯２３９１は、スマート常夜灯２３９１が部屋の中が暗いことを指示するイベントレポートメッセージを光センサー２３８２から受信したことに応答してオンになることを引き起こす第１のリフレックスと、スマート常夜灯２３９１が部屋の中が明るいことを指示するイベントレポートメッセージを光センサー２３８２から受信したことに応答してオフになることを引き起こす第２のリフレックスとともに構成され得る。スマート常夜灯２３９１の第１および第２のリフレックスは、時計デバイス２３９５からのイベントレポートメッセージを利用して、そのアクションをトリガーすることもできる。
【０２８２】
[0302]上で説明されているように、モバイルデバイス２５００は、画像２３３０上のデバイスの表現を識別するように構成され、したがって、環境内の学習デバイス１０４、２３８２、２３８５、２３９１、２３９５に対応するセグメントグラフィック要素２３０２、２３８０、２３８４、２３９０、２３９４をレンダリングすることができる。いくつかの実施形態では、特定のデバイスまたはデバイスタイプは、その能力の違いを示すために異なる仕方でモバイルデバイス２５００によってレンダリングされ得る。たとえば、光センサー２３８２および時計デバイス２３９５が、イベントレポートメッセージを介してイベントを報告するように構成されているが、学習するようには構成されていない（すなわち、リフレックスなどを介して新しい挙動を学習することができるスマートデバイスではない）ことを示すために、モバイルデバイス２５００は、光センサーのセグメントグラフィック要素２３８０と、時計デバイスのセグメントグラフィック要素２３９４を環境内の学習デバイス１０４、２３８５、２３９１のセグメントグラフィック要素２３８４、２３０２、２３９０に似ていない特定の仕方で丸みを付けられるか、色付けされるか、またはラベルを付けられたものとしてレンダリングし得る。
【０２８３】
[0303]さらに、モバイルデバイス２５００は、いくつかのデバイスの動作条件のステータスに対応するグラフィック要素をレンダリングすることができる。たとえば、モバイルデバイス２５００は、スマートブラインド２３８５が与えられた時刻に開いているかまたは閉じられているかを指示するためのスマートブラインド２３８５の表現に関連する開／閉グラフィック要素２３８６と、スマートフロアランプ１０４が与えられた時刻にオンであるかオフであるかを指示するためのスマートフロアランプ１０４の表現に関連するオン／オフグラフィック要素２３８８と、スマート常夜灯２３９１が与えられた時刻にオンであるかオフであるかを指示するためのスマート常夜灯２３９１の表現に関連するオン／オフグラフィック要素２３９２とをレンダリングし得る。いくつかの実施形態では、グラフィック要素２３８６、２３８８、２３９２は、関連付けられているデバイス２３８５、１０４、２３９１が、スマートランプ１０４がオンまたはオフになることを引き起こすことなどによって、グラフィック要素２３８６、２３８８、２３９２に従ってアクションをトリガーすることを引き起こすように構成され得る。いくつかの実施形態では、グラフィック要素２３８６、２３８８、２３９２は、図２３Ｂを参照しつつ上で説明されているインタラクティブなグラフィック要素２３５４に類似しているものとしてよく、そのため、それらの関連付けられているデバイス２３８４、１０４、２３９１がイベントレポートメッセージを送信することを引き起こすように構成され得る。
【０２８４】
[0304]さらに、インターセプトされたイベントレポートメッセージを評価することに基づき、モバイルデバイス２５００は、環境内の様々なデバイス間の因果関係を示す関係グラフィック要素２３９６、２３９６’、２３９７、２３９８をレンダリングし得る。たとえば、モバイルデバイス２５００は、光センサー２３８５からのイベントレポートメッセージ内の光センサー情報がスマートブラインド２３８５が閉じるか、または開くことを引き起こし得ることを示す、光センサーのセグメントグラフィック要素２３８０からスマートブラインドのセグメントグラフィック要素２３８４への第１の関係グラフィック要素２３９６と、光センサー２３８５からのイベントレポートメッセージ内の光センサー情報がスマート常夜灯２３９１がオンまたはオフになることを引き起こし得ることを示す、光センサーのセグメントグラフィック要素２３８０からスマート常夜灯のセグメントグラフィック要素２３９０への第２の関係グラフィック要素２３９６’と、スマートブラインド２３８５からのイベントレポートメッセージ内の開または閉ステータス情報がスマートフロアランプ１０４がオンまたはオフになることを引き起こし得ることを示す、スマートブラインドのセグメントグラフィック要素２３８４からスマートフロアランプのセグメントグラフィック要素２３０２への第３の関係グラフィック要素２３９７と、時計デバイス２３９５からのイベントレポートメッセージ内の時刻／日／週情報がスマートブラインド２３８５が閉じるかまたは開くことを引き起こし得ることを示す、時計デバイスのセグメントグラフィック要素２３９４からスマートブラインドのセグメントグラフィック要素２３８４への第４の関係グラフィック要素２３９８とをレンダリングし得る。図２３Ａ〜図２３Ｃを参照しつつ上で説明されているのと同様に、関係グラフィック要素２３９６、２３９６’２３９７、２３９８は、別のデバイスでの応答アクションを引き起こすようにイベントレポートメッセージが送信されることを引き起こすためにユーザが各要素に入力を供給する（たとえば、押す、タップするなど）ことができるようにインタラクティブであってもなくてもよい。
【０２８５】
[0305]いくつかの実施形態では、モバイルデバイス２５００は、ユーザがＧＵＩ要素（たとえば、ソフトボタン、矢印など）を使用して別の環境の関係を離れた場所からトリガーできるように、別の環境およびその学習デバイスのすでに取り込まれている画像などの、別の表示がレンダリングされることを引き起こすように構成されたリンクグラフィック要素２３９９（たとえば、「ｖｉｅｗ  ｍｏｒｅ」または「ｓｈｏｗ  ｍｏｒｅ」リンクなど）もレンダリングすることができる。さらに、モバイルデバイス２５００上にレンダリングされ得る他の表示がモバイルデバイス２５００の現在地に関連するように近接度が評価され得る。たとえば、モバイルデバイス２５００の現在地（たとえば、ＧＰＳ座標）とスマートハウスの事前定義された位置または座標との間の距離に基づき、モバイルデバイス２５００は、ユーザがリンクグラフィック要素２３９９をクリックして、スマートハウス内の部屋だけではなく、スマートハウス全体（または近所などの、スマートハウスの周りのより広い領域すらも）の中のデバイスを表示することを可能にし得る。
【０２８６】
[0306]図２４Ａは、ティーチャシグナリングデバイスがグラフィカルユーザインターフェース（ＧＵＩ）に対するユーザのインタラクティブな操作に基づき信号を送信するための一実施形態の方法２４００を示している。方法２４００は、方法２４００が環境の画像を取得し使用して環境内の様々な学習デバイスにおける挙動に対するトリガーとして識別されるイベントレポートメッセージの送信をユーザが容易にトリガーすることを可能にするためのオペレーションを含み得ることを除き、上で説明されている方法１３００または１３５０に類似しているものとしてよい。たとえば、図２３Ａ〜図２３Ｃを参照しつつ上で説明されているようにＧＵＩを使用することで、ティーチャシグナリングデバイスは、スマートフロアランプがスマート壁面スイッチに関連付けられているティーチャシグナリングデバイスの表示上にレンダリングされるソフトボタンをユーザが押したことに応答してオンになることを引き起こすイベントレポートメッセージを送信するように構成され得る。
【０２８７】
[0307]ブロック１３５２〜１３０６におけるオペレーションは、図１３Ｂを参照しつつ上で説明されている同様の番号が振られているブロックに対するオペレーションに類似しているものとしてよい。オプションのブロック１３５４〜１３０６におけるオペレーションは、ティーチャシグナリングデバイスが新しいティーチングルーチンを生成するように選択的に構成され、その代わりに、ＧＵＩの機能を使用可能にするためのオペレーションを実行するように単純に構成され得るので、オプションであってよい。ブロック２４０２において、ティーチャシグナリングデバイスのプロセッサは、インターセプトされたイベントレポートメッセージに基づき学習デバイスを識別することができる。たとえば、ティーチャシグナリングデバイスは、受信されたメッセージを解析して、受信されたメッセージを送信した学習デバイスを指示するデバイス識別子を識別し得る。ブロック２４０４において、ティーチャシグナリングデバイスのプロセッサは、識別された学習デバイスを含む環境の少なくとも一部の画像を取得し得る。たとえば、ティーチャシグナリングデバイスは、結合されるか、または接続されているビデオもしくは静止画カメラを利用して、リビングルーム、オフィススペース、ホテルの部屋、または多数のスマートデバイスを備える他の場所の画像を取り込むことができる。ブロック２４０６において、ティーチャシグナリングデバイスのプロセッサは、画像の表現とインターセプトされた信号から識別されたデバイス識別子とのマッチングを行うことなどによって、識別された学習デバイスと取得された画像のセグメントとの相関を求めることができる。いくつかの実施形態では、ティーチャシグナリングデバイスは、ユーザが特定の識別された学習デバイスを表現するものとして識別するセグメントの周りにボックスまたは選択を描画するユーザ入力などの、様々な学習デバイスを画像のセグメントに関連付けるユーザ入力を受信し得る。いくつかの実施形態では、ティーチャシグナリングデバイスは、画像処理およびパターンマッチングルーチンなどの、様々な処理ルーチンを実行して、識別された学習デバイスと画像のセグメントとの間の最もありそうなマッチを決定することができる。たとえば、第１の識別された学習デバイスがフロアランプのデバイスタイプであることに基づき、ティーチャシグナリングデバイスは、フロアランプにおそらく対応するものとしてあらかじめ決定されている特定の高さ、形状、および／または特性（たとえば、球状要素から光を発するなど）を有する画像を含む画像のセグメントを識別し得る。別の例として、ティーチャシグナリングデバイスは、ライトがオンまたはオフになる、壁面スイッチが位置を変えるなど、一方の画像から次の画像への状態の変化を認識することによって画像内の学習デバイスを識別することができる。
【０２８８】
[0308]ブロック２４０８において、ティーチャシグナリングデバイスのプロセッサは、インターセプトされたイベントレポートメッセージに基づき識別された学習デバイスの間の関係を識別することができる。ティーチャシグナリングデバイスは、インターセプトされたメッセージを評価して、学習デバイスがそれぞれのリフレックスにおいて定義されているトリガーアクションパターンに基づきアクションを実行することを引き起こすイベントレポートメッセージなどの、可能な因果関係を検出し得る。上で説明されているように、ティーチャシグナリングデバイスは、特定の時間ウィンドウ内で受信されたイベントレポートメッセージを評価して、第１の受信されたイベントレポートメッセージが第２の受信されたイベントレポートメッセージに関係するアクションを引き起こすトリガーであり得るかどうかを決定し得る。たとえば、スマート壁面スイッチの「オン」イベントに対する第１のイベントレポートメッセージが、スマートフロアランプがオンになることに対する第２のイベントレポートメッセージから事前定義されているミリ秒数または秒数の範囲内で発生するときに、ティーチャシグナリングデバイスは、２つのインターセプトされたメッセージの間の因果関係を識別し得る。いくつかの実施形態では、これらの関係は、第１の学習デバイスのイベントレポートメッセージが第２の学習デバイスのアクションをトリガーすることを指示するためにユーザが第１の学習デバイスに対する第１の画像セグメントと第２の学習デバイスの第２の画像セグメントとの間に矢印を引くことなどによって、ユーザ入力に基づき識別され得る。
【０２８９】
[0309]ブロック２４１０において、ティーチャシグナリングデバイスのプロセッサは、取得された画像の相関するセグメントを使用して識別された関係を指示する画像とＧＵＩ要素とを表示することができる。言い換えれば、ティーチャシグナリングデバイスは、認識された学習デバイスの存在を視覚的に指示するように様々なグラフィック要素（たとえば、選択、配色、ボックスなど）をレンダリングし、さらには識別された学習デバイスの相互接続性（すなわち、イベントアクション関連付け）を示すように他のグラフィック要素をレンダリングすることができる（たとえば、グラフィックの矢印または導管）。そこで、ティーチャシグナリングデバイスは、グラフィック要素を使用してインターセプトされたイベントレポートメッセージに基づき発見する因果関係を表し得る。ＧＵＩ要素は、対応する学習デバイスに対する識別子などのデータ、さらには、コード、またはＧＵＩに関係するインターセプトされたイベントレポートメッセージを表す他の情報に関連付けられ得る。特に、ティーチャシグナリングデバイスは、関係グラフィック要素（たとえば、画像のセグメントとセグメントとの間にある矢印）をティーチャシグナリングデバイスが因果関係（すなわち、イベントアクション関連付け）に関係する特定のインターセプトされたイベントレポートメッセージをブロードキャストするための命令に関連付けることができる。いくつかの実施形態では、ＧＵＩ要素は、ティーチャシグナリングデバイスによるイベントレポートメッセージの送信をトリガーするために使用され得る因果関係に関連付けられているソフトボタン（たとえば、「トグル」ボタンなど）を含み得る。他の実施形態では、因果関係に関連付けられている関係グラフィック要素は、イベントレポートメッセージの送信を引き起こすように構成され得る（たとえば、識別された学習デバイスの画像セグメントと画像セグメントとの間にある矢印は、インタラクティブなボタンであり得る）。
【０２９０】
[0310]決定ブロック２４１２において、ティーチャシグナリングデバイスのプロセッサは、関係をトリガーするグラフィカルユーザインターフェース（ＧＵＩ）要素（たとえば、ソフトボタン）上の入力が、ＧＵＩを介して受信されたかどうかを決定し得る。たとえば、ティーチャシグナリングデバイスは、学習デバイスがアクションを実行することを引き起こすインターセプトされたイベントレポートメッセージをティーチャシグナリングデバイスが再ブロードキャストすることを引き起こすように構成されたグラフィック要素に対応するタッチスクリーン上のタッチ入力が受信されたかどうかを決定することができる。入力は受信されていないと決定したことに応答して（すなわち、決定ブロック２４１２＝「いいえ」）、ティーチャシグナリングデバイスは、ブロック１３５２において追加のイベントレポートメッセージをインターセプトすることと、決定ブロック２４１２においてユーザ入力を監視することとを続行し得る。
【０２９１】
[0311]入力が受信されたと決定したことに応答して（すなわち、決定ブロック２４１２＝「はい」）、ティーチャシグナリングデバイスのプロセッサは、ブロック２４１４においてＧＵＩ要素に関連付けられている関係に対応するイベントレポートメッセージをブロードキャストし得る。言い換えれば、ティーチャシグナリングデバイスは、学習デバイスがリフレックスにおいて定義されているアクションを実行することを引き起こすトリガーとしてティーチャシグナリングデバイスが識別しているインターセプトされたイベントレポートメッセージを複製するか、または再ブロードキャストし得る。ティーチャシグナリングデバイスは、ブロック１３５２において追加のイベントレポートメッセージをインターセプトすることと、決定ブロック２４１２においてユーザ入力を監視することとを続行し得る。
【０２９２】
[0312]図２４Ｂは、ティーチャシグナリングデバイスがグラフィカルユーザインターフェース（ＧＵＩ）に対するユーザのインタラクティブな操作に基づき信号を送信するための一実施形態の方法２４５０を示している。方法２４５０は、方法２４５０が環境の学習デバイス間の関係を調整するためにＧＵＩ上のユーザの入力に基づき学習デバイスのトリガー重みを変更するティーチング信号を送信するためのオペレーションを含み得ることを除き、上で説明されている方法２４００に類似しているものとしてよい。たとえば、ユーザが図２３Ｃに示されているようなスマートフロアランプに関連付けられている画像の第１のセグメントからグラフィック要素（たとえば、矢印）を切断したことに応答して、ティーチャシグナリングデバイスは、スマートフロアランプがもはや特定のイベントレポートメッセージ（たとえば、スマート壁面スイッチの「オン」イベントレポートメッセージ）に反応しなくなるように関係するリフレックスのトリガー重みをスマートフロアランプが下げることを引き起こすティーチング信号（たとえば、「補正信号」）を送信し得る。別の例として、ユーザがグラフィック要素をスマートステレオに関連付けられている画像の第２のセグメントに再接続したことに応答して、ティーチャシグナリングデバイスは、スマートステレオがイベントレポートメッセージに反応し始めるように関係するリフレックスのトリガー重みをスマートステレオが上げることを引き起こすティーチング信号（たとえば、「報酬信号」）を送信し得る。
【０２９３】
[0313]ブロック１３５２〜１３０６におけるオペレーションは、図１３Ｂを参照しつつ上で説明されている類似の番号のブロックのオペレーションに類似しているものとしてよい。ブロック２４０２〜２４１０におけるオペレーションは、図２４Ａを参照しつつ上で説明されている類似の番号のブロックのオペレーションであってよい。決定ブロック２４５２において、ティーチャシグナリングデバイスのプロセッサは、環境内の学習デバイス間の関係を調整するように構成されているＧＵＩ内のグラフィカルユーザインターフェース要素上の入力を受信したされたかどうかを決定し得る。たとえば、ティーチャシグナリングデバイスは、関係グラフィック要素の端点がティーチャシグナリングデバイスのタッチスクリーン上に表示されている画像の第１のセグメントへの接続から画像の第２のセグメントにユーザ入力（たとえば、タッチスクリーン上のスライディングタッチ入力など）を介して移動されたかどうかを決定することができる。いくつかの実施形態では、ユーザは、タッチスクリーンでのジェスチャを使用して関係グラフィック要素を仮想ごみ箱にスライドさせることなどによって、グラフィカルユーザインターフェース要素を取り除く（または削除する）ことができる。
【０２９４】
[0314]ＧＵＩ内のグラフィカルユーザインターフェース要素上で入力が受信されたと決定したことに応答して（すなわち、決定ブロック２４５２＝「はい」）、ティーチャシグナリングデバイスのプロセッサは、学習デバイスがブロック２４５４において調整された関係のイベントアクション関連付けを学習することを引き起こすティーチング信号をブロードキャストし得る。上で説明されているように、ティーチャシグナリングデバイスは、上で説明されているように学習デバイスのリフレックスに対するトリガー重みが修正されることを引き起こすティーチング信号を送信するためのティーチングルーチンを実装し得る。特に、ティーチャシグナリングデバイスは、トリガーデバイスとの関係から切断された表示されている画像のセグメントと相関する学習デバイスを識別し、リフレックスのアクションパターンが関係のトリガーイベントレポートメッセージに応答してもはや生成されないように事前定義されたトリガー閾値よりも低くなるように関係するリフレックストリガー重みをこれらの学習デバイスが下げる（たとえば、補正）ことを引き起こすティーチング信号を送信し得る。
【０２９５】
[0315]さらに、ティーチャシグナリングデバイスは、関係に接続された表示されている画像のセグメントと相関する学習デバイスを識別し、リフレックスのアクションパターンが関係のその後のトリガーイベントレポートメッセージに応答して生成されるように事前定義されたトリガー閾値よりも高くなるように関係するリフレックストリガー重みをこれらの学習デバイスが上げる（たとえば、報酬）ことを引き起こすティーチング信号を送信し得る。たとえば、ユーザがＧＵＩを使用して第１の学習デバイス（たとえば、スマートフロアランプ）に関連付けられている第１のセグメントから離れる方向に矢印グラフィック要素を向け直し、矢印がその代わりにトリガー学習デバイス（たとえば、スマート壁面スイッチ）を第２の学習デバイス（たとえば、スマートステレオ）と接続するようにしたことに応答して、ティーチャシグナリングデバイスは、トリガー学習デバイスがイベントレポートメッセージ（たとえば、スイッチオンイベントレポートメッセージ）を送信したことに応答して第２の学習デバイスがオンになることを学習することを引き起こすティーチング信号、および／またはトリガー学習デバイスがイベントレポートメッセージを送信したことに応答して第１の学習デバイスがもはやオンにならないことを学習することを引き起こすティーチング信号をブロードキャストし得る。いくつかの実施形態では、関係グラフィック要素をユーザが削除したか、または取り除いたと決定したことに応答して、ティーチャシグナリングデバイスは、学習デバイスのリフレックスへの補正を引き起こすティーチング信号のみをブロードキャストし得る（たとえば、トリガー重みは、トリガー学習デバイスからのイベントレポートメッセージに応答してアクションが実行されないように下げられる）。
【０２９６】
[0316]ＧＵＩ内のグラフィカルユーザインターフェース要素上で入力が受信されていないと決定したことに応答して（すなわち、決定ブロック２４５２＝「いいえ」）、またはティーチャシグナリングデバイスがクロック２４５４におけるオペレーションを実行したことに応答して、ティーチャシグナリングデバイスは、図２４Ａを参照しつつ上で説明されているように決定ブロック２４１２におけるオペレーションを続行し得る。
【０２９７】
[0317]図２５は、様々な実施形態で使用するのに適している例示的なモバイルデバイス２５００（たとえば、スマートフォンモバイルデバイスなど）を示している。モバイルデバイス２５００は、タッチスクリーンコントローラ２５０４と内部メモリ２５０２とに結合されたプロセッサ２５０１を備え得る。プロセッサ２５０１は、一般的な、または特定の処理タスクに指定された１つまたは複数のマルチコア集積回路であってよい。内部メモリ２５０２は、揮発性メモリ、または不揮発性メモリとすることができ、また、セキュアおよび／または暗号化メモリであるか、または非セキュアおよび／または非暗号化メモリであるか、またはこれらの任意の組合せであってよい。タッチスクリーンコントローラ２５０４およびプロセッサ２５０１は、抵抗膜方式タッチスクリーン、静電容量方式タッチスクリーン、赤外線方式タッチスクリーンなどのタッチスクリーンパネル２５１２にも結合され得る。モバイルデバイス２５００は、互いに結合され、および／またはプロセッサ２５０１に結合されている、送受信用の、１つまたは複数の無線信号トランシーバ２５０８（たとえば、Ｐｅａｎｕｔ（登録商標）、Ｂｌｕｅｔｏｏｔｈ、Ｚｉｇｂｅｅ（登録商標）、Ｗｉ−Ｆｉ（登録商標）、ＲＦ無線）とアンテナ２５１０とを有することができる。トランシーバ２５０８およびアンテナ２５１０は、様々なワイヤレス送信プロトコルスタックとインターフェースとを実装するために上述の回路とともに使用され得る。モバイルデバイス２５００は、セルラーネットワークを介して通信を可能にし、プロセッサに結合されているセルラーネットワークワイヤレスモデムチップ２５１６を備え得る。モバイルデバイス２５００は、プロセッサ２５０１に結合された周辺デバイス接続インターフェース２５１８を備え得る。周辺デバイス接続インターフェース２５１８は、１つのタイプの接続を受け付けるように単独で構成されるか、またはＵＳＢ、ＦｉｒｅＷｉｒｅ（登録商標）、Ｔｈｕｎｄｅｒｂｏｌｔ、またはＰＣＩｅなどの、共通または専用の、様々なタイプの物理的および通信接続を受け付けるように多重構成され得る。周辺デバイス接続インターフェース２５１８は、同様に構成された周辺デバイス接続ポート（図示せず）にも結合され得る。モバイルデバイス２５００は、オーディオ出力を行うためにスピーカー２５１４も備え得る。モバイルデバイス２５００は、本明細書で説明されているコンポーネントのうちの全部また一部を収容するために、プラスチック、金属、または材料の組合せから作製されたハウジング２５２０も備え得る。モバイルデバイス２５００は、使い捨て型または充電式電池などの、プロセッサ２５０１に結合された電源２５２２を備え得る。充電式電池は、また、モバイルデバイス２５００の外部にある電源から充電電流を受けるため周辺デバイス接続ポートに結合され得る。それに加えて、モバイルデバイス２５００は、カメラ２５５５およびマイクロフォン２５５６などの、プロセッサ２５０１に結合された様々なセンサーを備え得る。
【０２９８】
[0318]プロセッサ２５０１は、上述した様々な実施形態の機能を含む、様々な機能を実施するようにソフトウェア命令（アプリケーション）によって構成できる任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは１つまたは複数の多重プロセッサチップとすることができる。様々なデバイスでは、１つのプロセッサがワイヤレス通信機能専用にされ、１つのプロセッサが他のアプリケーションの実行専用にされるなど、マルチプルプロセッサが設けられ得る。典型的には、ソフトウェアアプリケーションがアクセスされ、プロセッサ２５０１にロードされる前に、ソフトウェアアプリケーションは内部メモリ２５０２に記憶されるものとしてよい。プロセッサ２５０１は、アプリケーションソフトウェア命令を記憶するのに十分な容量の内部メモリを備えることができ得る。多くのデバイスでは、内部メモリは、揮発性メモリ、またはフラッシュメモリなどの不揮発性メモリ、あるいは両方の混合であり得る。この説明の目的に関して、メモリへの一般的な参照は、内部メモリまたは様々なデバイスに差し込まれている取り外し可能なメモリ、およびプロセッサ２５０１内のメモリを含む、プロセッサ２５０１によってアクセス可能なメモリを指す。
【０２９９】
[0319]上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な態様のステップを提示された順序で実行しなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の態様におけるステップの順序は、いかなる順序でも実行され得る。「その後」、「次いで」、「次に」などの用語は、それらのステップの順序を限定することが意図されず、これらの用語は、単に、読者をこれらの方法の説明に導くためである。さらに、たとえば、冠詞「ａ」、「ａｎ」または「ｔｈｅ」を使用する単数形の請求項の要素への言及は、その要素を単数形に限定するものと解釈されるべきではない。
【０３００】
[0320]本明細書で開示される態様に関して説明される、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上述されている。このような機能性がハードウェアとして実施されるか、またはソフトウェアとして実施されるかは、特定の応用およびシステム全体に課される設計の制約によって決まる。当業者は、各具体的なアプリケーションについて様々な方法で説明された機能性を実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすと解釈されるべきではない。
【０３０１】
[0321]スマートボックス１０３などのハードウェアは、本明細書で開示されている態様に関して説明されている様々例示的な論理回路、論理ブロック、モジュール、および回路を実装するために使用され、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、または本明細書で説明されている機能を実行するように設計されているこれらの任意の組合せにより実装または実行され得る。汎用プロセッサはマルチプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマルチプロセッサとの組合せ、複数のマルチプロセッサ、ＤＳＰコアと連携する１つもしくは複数のマルチプロセッサ、または任意の他のそのような構成としても実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実施できる。
【０３０２】
[0322]１つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装された場合、これらの機能は、非一時的コンピュータ可読記憶媒体、非一時的コンピュータ可読媒体、または非一時的プロセッサ可読記憶媒体上に１つまたは複数の命令もしくはコードとして記憶され得る。本明細書で開示されている方法またはアルゴリズムのステップは、非一時的コンピュータ可読媒体またはプロセッサ可読記憶媒体上に存在し得る、プロセッサ実行可能ソフトウェアモジュールで具現化され得る。非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセス可能な何らかの記憶媒体であってよい。限定ではなく、例として、そのような非一時的コンピュータ可読媒体または非一時的プロセッサ可読媒体は、所望されるプログラムコードを命令またはデータ構造の形で記憶するために使用可能であり、かつコンピュータによってアクセス可能なＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＦＬＡＳＨメモリ、ＣＤ−ＲＯＭもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または何らかの他の媒体を含むことが可能である。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、一方、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体および非一時的プロセッサ可読媒体の範囲に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品内に組み込むことが可能な１つのコードおよび／もしくは命令、あるいはコードおよび／もしくは命令の任意の組合せまたはセットとして、非一時的プロセッサ可読媒体上および／または非一時的コンピュータ可読媒体上に存在し得る。
【０３０３】
[0323]開示した実施形態の上記の説明は、当業者が本発明を製作または使用できるように提供したものである。これらの実施形態への様々な修正は当業者には容易に明らかであり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書で示された実施形態に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示される原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
【図１Ａ】
2016526221.tif 000010
【図１Ｂ】
2016526221.tif 000011
【図１Ｃ】
2016526221.tif 000012
【図１Ｄ】
2016526221.tif 000013
【図２】
2016526221.tif 000014
【図３Ａ】
2016526221.tif 000015
【図３Ｂ】
2016526221.tif 000016
【図３Ｃ】
2016526221.tif 000017
【図３Ｄ】
2016526221.tif 000018
【図３Ｅ】
2016526221.tif 000019
【図３Ｆ】
2016526221.tif 000020
【図３Ｇ】
2016526221.tif 000021
【図３Ｈ】
2016526221.tif 000022
【図４】
2016526221.tif 000023
【図５】
2016526221.tif 000024
【図６】
2016526221.tif 000025
【図７】
2016526221.tif 000026
【図８】
2016526221.tif 000027
【図９】
2016526221.tif 000028
【図１０】
2016526221.tif 000029
【図１１】
2016526221.tif 000030
【図１２】
2016526221.tif 000031
【図１３Ａ】
2016526221.tif 000032
【図１３Ｂ】
2016526221.tif 000033
【図１３Ｃ】
2016526221.tif 000034
【図１４】
2016526221.tif 000035
【図１５】
2016526221.tif 000036
【図１６】
2016526221.tif 000037
【図１７Ａ】
2016526221.tif 000038
【図１７Ｂ】
2016526221.tif 000039
【図１８】
2016526221.tif 000040
【図１９】
2016526221.tif 000041
【図２０】
2016526221.tif 000042
【図２１】
2016526221.tif 000043
【図２２】
2016526221.tif 000044
【図２３Ａ】
2016526221.tif 000045
【図２３Ｂ】
2016526221.tif 000046
【図２３Ｃ】
2016526221.tif 000047
【図２３Ｄ】
2016526221.tif 000048
【図２４Ａ】
2016526221.tif 000049
【図２４Ｂ】
2016526221.tif 000050
【図２５】
2016526221.tif 000051
【手続補正書】
【提出日】平成28年2月8日(2016.2.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ティーチャシグナリングデバイスが非集中システム内の学習デバイスに対するプロキシティーチングを実行するための方法であって、
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスの望ましい挙動を示す前記取得された目的データの評価に基づきティーチングルーチンを生成することと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの前記１つまたは複数のデバイスの挙動を制御するために記憶されているリフレックスを調整するイベント情報を提供することによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることと
を備える方法。
【請求項２】
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが、
前記ティーチャシグナリングデバイスによって、前記学習デバイスの前記記憶されたリフレックスに情報を要求する信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスの前記記憶されたリフレックスから前記情報を含む応答メッセージを受信することと、
前記ティーチャシグナリングデバイスによって、前記受信された応答メッセージからの前記情報から前記目的データを取得することと
を備える請求項１に記載の方法。
【請求項３】
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが、
前記ティーチャシグナリングデバイスによって、前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得することと
を備える請求項１に記載の方法。
【請求項４】
前記ティーチャシグナリングデバイスによって、前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正することと
をさらに備える請求項１に記載の方法。
【請求項５】
前記ティーチャシグナリングデバイスによって、認可要求をユーザデバイスに送信することと、
前記ティーチャシグナリングデバイスによって、前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定することと
をさらに備え、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記ティーチャシグナリングデバイスによって、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備える請求項１に記載の方法。
【請求項６】
前記ティーチャシグナリングデバイスによって、前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストすることと
をさらに備える請求項１に記載の方法。
【請求項７】
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストすることをさらに備える請求項１に記載の方法。
【請求項８】
前記ティーチャシグナリングデバイスによって、前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新することと、
前記ティーチャシグナリングデバイスによって、前記更新された記憶されているデータを表示することと
をさらに備える請求項１に記載の方法。
【請求項９】
前記ティーチャシグナリングデバイスによって、前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスを含む環境の少なくとも一部の画像を取得することと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスを前記取得された画像のセグメントに相関させることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージに基づき前記学習デバイスの間の関係を識別することと、
前記ティーチャシグナリングデバイスによって、前記取得された画像上の前記識別された関係を指示するグラフィカルユーザインターフェース要素を表示することと、
前記ティーチャシグナリングデバイスによって、前記識別された関係に関係するグラフィカルユーザインターフェース要素上で第１のユーザ入力を受信したことに応答してイベントレポートメッセージをブロードキャストすることと
をさらに備える請求項１に記載の方法。
【請求項１０】
前記識別された関係に関係する前記グラフィカルユーザインターフェース要素を調整する第２のユーザ入力を受信することをさらに備え、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記ティーチャシグナリングデバイスによって、前記グラフィカルユーザインターフェース要素を調整する前記受信された第２のユーザ入力に基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備える請求項９に記載の方法。
【請求項１１】
ワイヤレス受信機と送信機と、
前記ワイヤレス受信機と送信機とに結合され、
非集中システム内の学習デバイスの活動に関係する目的データを取得することと、
前記学習デバイスの望ましい挙動を示す前記取得された目的データの評価に基づきティーチングルーチンを生成することと、
前記学習デバイスのうちの１つまたは複数のデバイスの挙動を制御するために記憶されているリフレックスを調整するイベント情報を提供することによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることと
を備えるオペレーションを実行するためのプロセッサ実行可能命令とともに構成されているプロセッサとを備えるコンピューティングデバイス。
【請求項１２】
前記プロセッサは、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスの前記記憶されたリフレックスに情報を要求する信号をブロードキャストすることと、
前記学習デバイスの前記記憶されたリフレックスから前記情報を含む応答メッセージを受信することと、
前記受信された応答メッセージからの前記情報から前記目的データを取得することと
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令とともに構成される請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記プロセッサは、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得することと
を備えるようなオペレーションを実行するようにプロセッサ実行可能命令とともに構成される請求項１１に記載のコンピューティングデバイス。
【請求項１４】
前記プロセッサは、プロセッサ実行可能命令とともに
前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストすることと、
前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信することと、
前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定することと、
前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正することと
をさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１５】
前記プロセッサは、プロセッサ実行可能命令とともに
認可要求をユーザデバイスに送信することと、
前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定することと
をさらに備えるオペレーションを実行するように構成され、
前記プロセッサは、プロセッサ実行可能命令とともに、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備えるようなオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１６】
前記プロセッサは、プロセッサ実行可能命令とともに
前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストすることと、
前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストすることと
をさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１７】
前記プロセッサは、プロセッサ実行可能命令とともに、前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストすることをさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１８】
前記プロセッサは、プロセッサ実行可能命令とともに
前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新することと、
前記更新された記憶されているデータを表示することと
をさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項１９】
ディスプレイと、
カメラと
をさらに備え、
前記プロセッサは前記ディスプレイと前記カメラとに結合され、プロセッサ実行可能命令とともに、
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記学習デバイスを含む環境の少なくとも一部の画像を取得することと、
前記学習デバイスを前記取得された画像のセグメントに相関させることと、
前記インターセプトされたイベントレポートメッセージに基づき前記学習デバイスの間の関係を識別することと、
前記ディスプレイ上に、前記取得された画像上の前記識別された関係を指示するグラフィカルユーザインターフェース要素を提示することと、
前記識別された関係に関係するグラフィカルユーザインターフェース要素上で第１のユーザ入力を受信したことに応答してイベントレポートメッセージをブロードキャストすることと
をさらに備えるオペレーションを実行するように構成される請求項１１に記載のコンピューティングデバイス。
【請求項２０】
前記プロセッサは、プロセッサ実行可能命令とともに
前記識別された関係に関係する前記グラフィカルユーザインターフェース要素を調整する第２のユーザ入力を受信することをさらに備えるオペレーションを実行するように構成され、
前記プロセッサは、プロセッサ実行可能命令とともに、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号を、前記コンピューティングデバイスによって、ブロードキャストすることが、前記グラフィカルユーザインターフェース要素を調整する前記受信された第２のユーザ入力に基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号を、前記コンピューティングデバイスによって、ブロードキャストすることを備えるようなオペレーションを実行するように構成される請求項１９に記載のコンピューティングデバイス。
【請求項２１】
非集中システム内の学習デバイスの活動に関係する目的データを取得するための手段と、
前記学習デバイスの望ましい挙動を示す前記取得された目的データの評価に基づきティーチングルーチンを生成するための手段と、
前記学習デバイスのうちの１つまたは複数のデバイスの挙動を制御するために記憶されているリフレックスを調整するイベント情報を提供することによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストするための手段と
を備えるコンピューティングデバイス。
【請求項２２】
前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得するための手段が、
前記学習デバイスの前記記憶されたリフレックスに情報を要求する信号をブロードキャストするための手段と、
前記学習デバイスの前記記憶されたリフレックスから前記情報を含む応答メッセージを受信するための手段と、
前記受信された応答メッセージからの前記情報から前記目的データを取得するための手段と
を備える請求項２１に記載のコンピューティングデバイス。
【請求項２３】
前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得するための手段が、
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトするための手段と、
前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得するための手段と
を備える請求項２１に記載のコンピューティングデバイス。
【請求項２４】
前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストするための手段と、
前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信するための手段と、
前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定するための手段と、
前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正するための手段と
をさらに備える請求項２１に記載のコンピューティングデバイス。
【請求項２５】
認可要求をユーザデバイスに送信するための手段と、
前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定するための手段と
をさらに備え、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストするための手段が、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストするための手段を備える請求項２３に記載のコンピューティングデバイス。
【請求項２６】
前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストするための手段と、
前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストするための手段と
をさらに備える請求項２３に記載のコンピューティングデバイス。
【請求項２７】
前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストするための手段をさらに備える請求項２３に記載のコンピューティングデバイス。
【請求項２８】
前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトするための手段と、
前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新するための手段と、
前記更新された記憶されているデータを表示するための手段と
をさらに備える請求項２３に記載のコンピューティングデバイス。
【請求項２９】
プロセッサ実行可能命令が記憶され、前記プロセッサ実行可能命令はコンピューティングデバイスのプロセッサが
非集中システム内の学習デバイスの活動に関係する目的データを取得し、
前記学習デバイスの望ましい挙動を示す前記取得された目的データの評価に基づきティーチングルーチンを生成し、
前記学習デバイスのうちの１つまたは複数のデバイスの挙動を制御するために記憶されているリフレックスを調整するイベント情報を提供することによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすること
を備えるようなオペレーションを実行することを引き起こすように構成される非一時的プロセッサ可読記憶媒体。
【請求項３０】
前記記憶されているプロセッサ実行可能命令は、前記コンピューティングデバイスの前記プロセッサが、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスの前記記憶されたリフレックスに情報を要求する信号をブロードキャストすることと、
前記学習デバイスの前記記憶されたリフレックスから前記情報を含む応答メッセージを受信することと、
前記受信された応答メッセージからの前記情報から前記目的データを取得することと
を備えるようなオペレーションを実行することを引き起こすように構成される請求項２９に記載の非一時的プロセッサ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０３０３
【補正方法】変更
【補正の内容】
【０３０３】
[0323]開示した実施形態の上記の説明は、当業者が本発明を製作または使用できるように提供したものである。これらの実施形態への様々な修正は当業者には容易に明らかであり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書で示された実施形態に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示される原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ティーチャシグナリングデバイスが非集中システム内の学習デバイスに対するプロキシティーチングを実行するための方法であって、
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することと、
前記ティーチャシグナリングデバイスによって、前記取得された目的データに基づきティーチングルーチンを生成することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることとを備える方法。
［Ｃ２］
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが、
前記ティーチャシグナリングデバイスによって、前記学習デバイスにリフレックス情報を要求する信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信することと、
前記ティーチャシグナリングデバイスによって、前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得することとを備えるＣ１に記載の方法。
［Ｃ３］
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが、
前記ティーチャシグナリングデバイスによって、前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得することとを備えるＣ１に記載の方法。
［Ｃ４］
前記ティーチャシグナリングデバイスによって、前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定することと、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正することとをさらに備えるＣ１に記載の方法。
［Ｃ５］
前記ティーチャシグナリングデバイスによって、認可要求をユーザデバイスに送信することと、
前記ティーチャシグナリングデバイスによって、前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定することとをさらに備え、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記ティーチャシグナリングデバイスによって、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備えるＣ１に記載の方法。
［Ｃ６］
前記ティーチャシグナリングデバイスによって、前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストすることとをさらに備えるＣ１に記載の方法。
［Ｃ７］
前記ティーチャシグナリングデバイスによって、前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストすることをさらに備えるＣ１に記載の方法。
［Ｃ８］
前記ティーチャシグナリングデバイスによって、前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新することと、
前記ティーチャシグナリングデバイスによって、前記更新された記憶されているデータを表示することとをさらに備えるＣ１に記載の方法。
［Ｃ９］
前記ティーチャシグナリングデバイスによって、前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスを含む環境の少なくとも一部の画像を取得することと、
前記ティーチャシグナリングデバイスによって、前記学習デバイスを前記取得された画像のセグメントに相関させることと、
前記ティーチャシグナリングデバイスによって、前記インターセプトされたイベントレポートメッセージに基づき前記学習デバイスの間の関係を識別することと、
前記ティーチャシグナリングデバイスによって、前記取得された画像上の前記識別された関係を指示するグラフィカルユーザインターフェース要素を表示することと、
前記ティーチャシグナリングデバイスによって、前記識別された関係に関係するグラフィカルユーザインターフェース要素上で第１のユーザ入力を受信したことに応答してイベントレポートメッセージをブロードキャストすることとをさらに備えるＣ１に記載の方法。
［Ｃ１０］
前記識別された関係に関係する前記グラフィカルユーザインターフェース要素を調整する第２のユーザ入力を受信することをさらに備え、
前記ティーチャシグナリングデバイスによって、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記ティーチャシグナリングデバイスによって、前記グラフィカルユーザインターフェース要素を調整する前記受信された第２のユーザ入力に基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備えるＣ９に記載の方法。
［Ｃ１１］
ワイヤレス受信機と送信機と、
前記ワイヤレス受信機と送信機とに結合され、
非集中システム内の学習デバイスの活動に関係する目的データを取得することと、
前記取得された目的データに基づきティーチングルーチンを生成することと、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることとを備える
オペレーションを実行するためのプロセッサ実行可能命令とともに構成されているプロセッサとを備えるコンピューティングデバイス。
［Ｃ１２］
前記プロセッサは、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスにリフレックス情報を要求する信号をブロードキャストすることと、
前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信することと、
前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得することとを備えるようなオペレーションを実行するようにプロセッサ実行可能命令とともに構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ１３］
前記プロセッサは、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得することとを備えるようなオペレーションを実行するようにプロセッサ実行可能命令とともに構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ１４］
前記プロセッサは、プロセッサ実行可能命令とともに
前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストすることと、
前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信することと、
前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定することと、
前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正することとをさらに備えるオペレーションを実行するように構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ１５］
前記プロセッサは、プロセッサ実行可能命令とともに
認可要求をユーザデバイスに送信することと、
前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定することとをさらに備えるオペレーションを実行するように構成され、
前記プロセッサは、プロセッサ実行可能命令とともに、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることが、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストすることを備えるようなオペレーションを実行するように構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ１６］
前記プロセッサは、プロセッサ実行可能命令とともに
前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストすることと、
前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストすることとをさらに備えるオペレーションを実行するように構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ１７］
前記プロセッサは、プロセッサ実行可能命令とともに、前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストすることをさらに備えるオペレーションを実行するように構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ１８］
前記プロセッサは、プロセッサ実行可能命令とともに
前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトすること、
前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新することと、
前記更新された記憶されているデータを表示することとをさらに備えるオペレーションを実行するように構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ１９］
ディスプレイと、
カメラとをさらに備え、
前記プロセッサは前記ディスプレイと前記カメラとに結合され、プロセッサ実行可能命令とともに、
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトすることと、
前記学習デバイスを含む環境の少なくとも一部の画像を取得することと、
前記学習デバイスを前記取得された画像のセグメントに相関させることと、
前記インターセプトされたイベントレポートメッセージに基づき前記学習デバイスの間の関係を識別することと、
前記ディスプレイ上に、前記取得された画像上の前記識別された関係を指示するグラフィカルユーザインターフェース要素を提示することと、
前記識別された関係に関係するグラフィカルユーザインターフェース要素上で第１のユーザ入力を受信したことに応答してイベントレポートメッセージをブロードキャストすることとをさらに備えるオペレーションを実行するように構成されるＣ１１に記載のコンピューティングデバイス。
［Ｃ２０］
前記プロセッサは、プロセッサ実行可能命令とともに
前記識別された関係に関係する前記グラフィカルユーザインターフェース要素を調整する第２のユーザ入力を受信することをさらに備えるオペレーションを実行するように構成され、
前記プロセッサは、プロセッサ実行可能命令とともに、前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号を、前記ティーチャシグナリングデバイスによって、ブロードキャストすることが、前記グラフィカルユーザインターフェース要素を調整する前記受信された第２のユーザ入力に基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号を、前記ティーチャシグナリングデバイスによって、ブロードキャストすることを備えるようなオペレーションを実行するように構成されるＣ１９に記載のコンピューティングデバイス。
［Ｃ２１］
非集中システム内の学習デバイスの活動に関係する目的データを取得するための手段と、
前記取得された目的データに基づきティーチングルーチンを生成するための手段と、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストするための手段とを備えるコンピューティングデバイス。
［Ｃ２２］
前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得するための手段が、
前記学習デバイスにリフレックス情報を要求する信号をブロードキャストするための手段と、
前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信するための手段と、
前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得するための手段とを備えるＣ２１に記載のコンピューティングデバイス。
［Ｃ２３］
前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得するための手段が、
前記学習デバイスによって送信されたイベントレポートメッセージをインターセプトするための手段と、
前記インターセプトされたイベントレポートメッセージに基づき前記目的データを取得するための手段とを備えるＣ２１に記載のコンピューティングデバイス。
［Ｃ２４］
前記学習デバイスの各々に対する少なくとも１つのデバイスタイプを指示する識別応答を前記学習デバイスに要求する発見信号をブロードキャストするための手段と、
前記ブロードキャストされた発見信号に応答して前記学習デバイスから前記識別応答を受信するための手段と、
前記生成されたティーチングルーチンの目的が達成され得るかどうかを前記受信された識別応答に基づき決定するための手段と、
前記生成されたティーチングルーチンを、前記生成されたティーチングルーチンの前記目的が達成され得ることを前記受信された識別応答に基づき決定したことに応答して修正するための手段とをさらに備えるＣ２１に記載のコンピューティングデバイス。
［Ｃ２５］
認可要求をユーザデバイスに送信するための手段と、
前記送信された認可要求に応答して認可が前記ユーザデバイスから受信されたかどうかを決定するための手段とをさらに備え、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストするための手段が、前記認可が前記ユーザデバイスから受信されたと決定したことに応答して前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの前記１つまたは複数のデバイスをティーチングするように構成された前記ティーチング信号をブロードキャストするための手段を備えるＣ２３に記載のコンピューティングデバイス。
［Ｃ２６］
前記学習デバイスが学習モードに入ることを引き起こす第１の信号をブロードキャストするための手段と、
前記学習デバイスが前記学習モードを終了することを引き起こす第２の信号をブロードキャストするための手段とをさらに備えるＣ２３に記載のコンピューティングデバイス。
［Ｃ２７］
前記学習デバイスのうちの前記１つまたは複数のデバイスがリフレックスに対するトリガー重みをリセットすることを引き起こす信号をブロードキャストするための手段をさらに備えるＣ２３に記載のコンピューティングデバイス。
［Ｃ２８］
前記ブロードキャストされたティーチング信号に応答して前記学習デバイスのうちの前記１つまたは複数のデバイスによって送信されたイベントレポートメッセージをインターセプトするための手段と、
前記インターセプトされたイベントレポートメッセージと前記ブロードキャストされたティーチング信号とに基づき前記生成されたティーチングルーチンに関連付けられている履歴情報を指示する記憶されているデータを更新するための手段と、
前記更新された記憶されているデータを表示するための手段とをさらに備えるＣ２３に記載のコンピューティングデバイス。
［Ｃ２９］
プロセッサ実行可能命令が記憶され、前記プロセッサ実行可能命令はコンピューティングデバイスのプロセッサが
非集中システム内の学習デバイスの活動に関係する目的データを取得し、
前記取得された目的データに基づきティーチングルーチンを生成し、
前記生成されたティーチングルーチンに基づき前記学習デバイスのうちの１つまたは複数のデバイスをティーチングするように構成されたティーチング信号をブロードキャストすることを備えるようなオペレーションを実行することを引き起こすように構成される非一時的プロセッサ可読記憶媒体。
［Ｃ３０］
前記記憶されているプロセッサ実行可能命令は、前記コンピューティングデバイスの前記プロセッサが、前記学習デバイスのうちの１つまたは複数のデバイスの活動に関係する目的データを取得することが
前記学習デバイスにリフレックス情報を要求する信号をブロードキャストすることと、
前記学習デバイスから前記リフレックス情報を含む応答メッセージを受信することと、
前記受信された応答メッセージからの前記リフレックス情報から前記目的データを取得することとを備えるようなオペレーションを実行することを引き起こすように構成されるＣ２９に記載の非一時的プロセッサ可読記憶媒体。
【国際調査報告】
2016526221.tif 000052
2016526221.tif 000053
2016526221.tif 000054