(57)【特許請求の範囲】
【請求項１】
ホームオートメーション（ＨＡ）システムであって、
複数のアドレス指定可能ＨＡデバイスであり、各々が該各々に関連づけられたそれぞれのＨＡデバイス署名を有する、アドレス指定可能ＨＡデバイスと、
複数の通信ポートのうちそれぞれのポートを介して、前記複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、前記複数のアドレス指定可能ＨＡデバイスと通信し、
前記複数のアドレス指定可能ＨＡデバイスのうち所与のデバイスが、現在使用されていない前記所与の通信ポートを介して通信したとき、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかを前記それぞれのＨＡデバイス署名に基づいて決定し、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウドに通信し、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作していると検証されたとき、前記所与のアドレス指定可能ＨＡデバイスとの通信を終了し、通知を生成する
ように構成されたＨＡセキュリティコントローラ及び関連づけられたメモリと、
を含むＨＡシステム。
【請求項２】
前記ＨＡセキュリティコントローラは、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能ＨＡデバイスと通信する、請求項１に記載のＨＡシステム。
【請求項３】
各ＨＡデバイス署名は、前記所与のアドレス指定可能ＨＡデバイスの、複数の予期されたアクションを含む、請求項１に記載のＨＡシステム。
【請求項４】
前記複数のＨＡデバイス署名の各々は、ＭＡＣアドレス、ポートデータ、及びユニバーサルシリアルバス（ＵＳＢ）識別子のうち、１つを含む、請求項１に記載のＨＡシステム。
【請求項５】
前記複数のアドレス指定可能ＨＡデバイスの各々は、該各々に関連づけられた製造業者を有し、前記ＨＡセキュリティコントローラは、異常に動作していると検証された前記所与のアドレス指定可能ＨＡデバイスに関連づけられたそれぞれの製造業者に前記通知を通信するように構成される、請求項１に記載のＨＡシステム。
【請求項６】
前記メモリは前記ＨＡデバイス署名を記憶するように構成され、前記ＨＡセキュリティコントローラと前記クラウドとの間の通信を提供するように構成された通信インターフェース、をさらに含み、前記ＨＡセキュリティコントローラは、前記通信インターフェースを介して前記クラウドと通信して前記メモリ内の前記記憶されたＨＡデバイス署名を更新するように構成される、請求項１に記載のＨＡシステム。
【請求項７】
前記ＨＡセキュリティコントローラに結合された少なくとも１つの無線コントローラ、をさらに含み、前記複数のアドレス指定可能ＨＡデバイスの各々は、前記少なくとも１つのそれぞれの無線コントローラを介して前記ＨＡセキュリティコントローラとワイヤレスで通信するように構成される、請求項１に記載のＨＡシステム。
【請求項８】
前記複数のアドレス指定可能ＨＡデバイスの各々は、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及びカメラのうち、１つを含む、請求項１に記載のＨＡシステム。
【請求項９】
複数のアドレス指定可能ホームオートメーション（ＨＡ）デバイスを含むＨＡシステムのためのＨＡセキュリティサーバであって、前記複数のアドレス指定可能ＨＡデバイスは、各々が該各々に関連づけられたそれぞれのＨＡデバイス署名を有し、当該ＨＡセキュリティサーバは、
複数の通信ポートのうちそれぞれのポートを介して、前記複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、前記複数のアドレス指定可能ＨＡデバイスと通信し、
前記複数のアドレス指定可能ＨＡデバイスのうち所与のデバイスが、現在使用されていない前記所与の通信ポートを介して通信したとき、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかを前記それぞれのＨＡデバイス署名に基づいて決定し、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウドに通信し、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作していると検証されたとき、前記所与のアドレス指定可能ＨＡデバイスとの通信を終了し、通知を生成する
ように構成されたＨＡセキュリティコントローラ及び関連づけられたメモリ、
を含むＨＡセキュリティサーバ。
【請求項１０】
前記ＨＡセキュリティコントローラは、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能ＨＡデバイスと通信する、請求項９に記載のＨＡセキュリティサーバ。
【請求項１１】
各ＨＡデバイス署名は、前記所与のアドレス指定可能ＨＡデバイスの、複数の予期されたアクションを含む、請求項９に記載のＨＡセキュリティサーバ。
【請求項１２】
前記複数のＨＡデバイス署名は、ＭＡＣアドレスとポートデータとユニバーサルシリアルバス（ＵＳＢ）識別子とのうち少なくとも１つを、複数含む、請求項９に記載のＨＡセキュリティサーバ。
【請求項１３】
前記複数のアドレス指定可能ＨＡデバイスの各々は、該各々に関連づけられた製造業者を有し、前記ＨＡセキュリティコントローラは、異常に動作していると検証された所与のアドレス指定可能ＨＡデバイスに関連づけられたそれぞれの製造業者に前記通知を通信するように構成される、請求項９に記載のＨＡセキュリティサーバ。
【請求項１４】
前記メモリは前記ＨＡデバイス署名を記憶するように構成され、前記ＨＡセキュリティコントローラと前記クラウドとの間の通信を提供するように構成された通信インターフェース、をさらに含み、前記ＨＡセキュリティコントローラは、前記通信インターフェースを介して前記クラウドと通信して前記メモリ内の前記記憶されたＨＡデバイス署名を更新するように構成される、請求項９に記載のＨＡセキュリティサーバ。
【請求項１５】
複数のアドレス指定可能ホームオートメーション（ＨＡ）デバイスを含むＨＡシステムにおいて通信する方法であって、前記複数のアドレス指定可能ＨＡデバイスは、各々が該各々に関連づけられたそれぞれのＨＡデバイス署名を有し、当該方法は、
ＨＡセキュリティコントローラ及び関連づけられたメモリを使用して、
複数の通信ポートのうちそれぞれのポートを介して、前記複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、前記複数のアドレス指定可能ＨＡデバイスと通信し、
前記複数のアドレス指定可能ＨＡデバイスのうち所与のデバイスが、現在使用されていない前記所与の通信ポートを介して通信したとき、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかを前記それぞれのＨＡデバイス署名に基づいて決定し、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウドに通信し、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作していると検証されたとき、前記所与のアドレス指定可能ＨＡデバイスとの通信を終了し、通知を生成すること
を含む方法。
【請求項１６】
前記ＨＡセキュリティコントローラは、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能ＨＡデバイスと通信する、請求項１５に記載の方法。
【請求項１７】
各ＨＡデバイス署名は、前記所与のアドレス指定可能ＨＡデバイスの、複数の予期されたアクションを含む、請求項１５に記載の方法。
【請求項１８】
前記複数のＨＡデバイス署名の各々は、ＭＡＣアドレス、ポートデータ、及びユニバーサルシリアルバス（ＵＳＢ）識別子のうち、１つを含む、請求項１５に記載の方法。
【請求項１９】
前記複数のアドレス指定可能ＨＡデバイスの各々は、該各々に関連づけられた製造業者を有し、前記ＨＡセキュリティコントローラは、異常に動作していると検証された前記所与のアドレス指定可能ＨＡデバイスに関連づけられたそれぞれの製造業者に前記通知を通信することに使用される、請求項１５に記載の方法。
【請求項２０】
前記ＨＡセキュリティコントローラを使用して、前記ＨＡセキュリティコントローラと前記クラウドとの間の通信を提供する通信インターフェースを介して前記クラウドと通信して、前記メモリ内の記憶されたＨＡデバイス署名を更新すること、をさらに含む請求項１５に記載の方法。
【請求項２１】
複数のアドレス指定可能ホームオートメーション（ＨＡ）デバイスを含むＨＡシステムのための非一時的コンピュータ読取可能媒体であって、前記複数のアドレス指定可能ＨＡデバイスは、各々が該各々に関連づけられたそれぞれのＨＡデバイス署名を有し、当該非一時的コンピュータ読取可能媒体は、ＨＡセキュリティコントローラに動作を実行させるコンピュータ実行可能命令を含み、前記動作は、
複数の通信ポートのうちそれぞれのポートを介して、前記複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、前記複数のアドレス指定可能ＨＡデバイスと通信することと、
前記複数のアドレス指定可能ＨＡデバイスのうち所与のデバイスが、現在使用されていない前記所与の通信ポートを介して通信したとき、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかを前記それぞれのＨＡデバイス署名に基づいて決定することと、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウドに通信することと、
前記所与のアドレス指定可能ＨＡデバイスが異常に動作していると検証されたとき、前記所与のアドレス指定可能ＨＡデバイスとの通信を終了し、通知を生成することと、
を含む、非一時的コンピュータ読取可能媒体。
【請求項２２】
コンピュータ実行可能命令は前記ＨＡセキュリティコントローラに、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能ＨＡデバイスと通信させる、請求項２１に記載の非一時的コンピュータ読取可能媒体。
【請求項２３】
各ＨＡデバイス署名は、前記所与のアドレス指定可能ＨＡデバイスの、複数の予期されたアクションを含む、請求項２１に記載の非一時的コンピュータ読取可能媒体。
【請求項２４】
前記複数のＨＡデバイス署名の各々は、ＭＡＣアドレス、ポートデータ、及びユニバーサルシリアルバス（ＵＳＢ）識別子のうち、１つを含む、請求項２１に記載の非一時的コンピュータ読取可能媒体。
【請求項２５】
前記複数のアドレス指定可能ＨＡデバイスの各々は、該各々に関連づけられた製造業者を有し、前記コンピュータ実行可能命令は前記ＨＡセキュリティコントローラに、異常に動作していると検証された所与のアドレス指定可能ＨＡデバイスに関連づけられたそれぞれの製造業者に前記通知を通信させる、請求項２１に記載の非一時的コンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態はエレクトロニクスの分野に向けられ、より詳細にはホームオートメーションシステム及び関連方法に向けられる。
【背景技術】
【０００２】
家庭内の電気的デバイスの自動化された制御を可能にしようとするホームオートメーションシステム及びアプローチは多数存在する。ホームオートメーションの人気は、スマートフォン及びタブレットのさらなる可用性に起因して増加してきている。２０１３年９月２６日付けのＦｏｒｂｅｓに掲載された“Ｔｈｅ  Ｐｒｏｂｌｅｍ  Ｗｉｔｈ  Ｈｏｍｅ  Ａｕｔｏｍａｔｉｏｎ’ｓ  Ｉｎｔｅｒｎｅｔ  Ｏｆ  Ｔｈｉｎｇｓ  （ＩｏＴ）”及び記事に記されるように、ホームオートメーションは典型的には、ライト、ホームシアター、セキュリティ、空調、及びホームオーディオを制御するための高価なシステムを有する裕福な消費者向けであった。この市場が、多くの自作（ＤＩＹ）プロダクトが今や利用可能になって拡大してきており、上記プロダクトは有用であるが、これらは集約することが困難である場合がある。換言すると、上記記事で説明されるように、消費者がネスト（Nest）のサーモスタット、クイックセット（Kwikset）のドアロック、フィリップス（Phillips）のＨｕｅライティングデバイス、ルートロン（Lutron）のライトスイッチ、ソノス（Sonos）のオーディオシステム、及びベルキン（Belkin）のワイヤレスプラグを購入した場合、困難が生じる可能性がある。消費者は、セットアップし、学習し、かつ使用するのに時間を各々要する複数のアプリケーションを有する必要がある。さらに、記事は、例えば、消費者があるデバイスを使用したあるイベントを別のデバイスからの別のイベントに基づいてトリガしたい場合などに、デバイスを一緒に動作させる容易な方法がないと述べている。
【０００３】
複数の通信プロトコルもまた問題になる可能性がある。具体的に、異なるデバイスは、異なる通信プロトコル、例えば、Ｗｉｆｉ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、Ｚｗａｖｅ、Ｉｎｓｔｅｏｎ、Ｉｔｒｏｎ（登録商標）、ＲａｄｉｏＲＡ２などを用いて動作することがある。このことは、ホームオートメーションに対するさらなる困難を生み出す可能性がある。
【０００４】
これらの欠点に対処する１つのアプローチは、ユーザ及び／又は企業を含み得る消費者が、１つのアプリケーションとまとめられたワイヤレスアダプタユニットとを提供するサービス及びデバイスアグリゲータを使用することである。ユーザは、数年の間、こうしたプロバイダと契約することになる。不運なことに、記事に記されるとおり、消費者は、最も高度なハードウェア及びソフトウェアからの恩恵を受けない可能性がある。
【０００５】
Ｆｏｒｂｅｓの記事に記された別のアプローチは、例えば、異なる通信プロトコルの各々を用いて、異種のアプリケーションをまとめ、かつワイヤレスアダプタをまとめるよう試みる単一のアプリケーションを提供することである。依然として、デバイスの動作及び統合に対するさらなる向上が望ましい可能性がある。
【発明の概要】
【０００６】
ホームオートメーション（ＨＡ）システムが、複数のアドレス指定可能ＨＡデバイスを含むことができ、複数のアドレス指定可能ＨＡデバイスは、各々が該各々に関連づけられたそれぞれのＨＡデバイス署名を有する。ＨＡシステムは、複数の通信ポートのうちそれぞれのポートを介して、複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、複数のアドレス指定可能ＨＡデバイスと通信するように構成されたＨＡセキュリティコントローラ及び関連づけられたメモリをさらに含んでもよい。ＨＡセキュリティコントローラは、複数のアドレス指定可能ＨＡデバイスのうち所与のデバイスが現在使用されていない所与の通信ポートを介して通信したとき、所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかをそれぞれのＨＡデバイス署名に基づいて決定し、所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウドに通信し、所与のアドレス指定可能ＨＡデバイスが異常に動作していると検証されたとき、所与のアドレス指定可能ＨＡデバイスとの通信を終了し、通知を生成するように構成されてもよい。
【０００７】
ＨＡセキュリティコントローラは、複数の通信ポートをスキャンすることにより複数の通信ポートのうちそれぞれのポートを介して複数のアドレス指定可能ＨＡデバイスと通信してもよい。デバイス署名は、例えば、所与のアドレス指定可能ＨＡデバイスの、複数の予期されたアクションを含んでもよい。
【０００８】
複数のＨＡデバイス署名の各々は、例えば、ＭＡＣアドレス、ポートデータ、及びユニバーサルシリアルバス（ＵＳＢ）識別子のうち、１つを含んでもよい。複数のアドレス指定可能ＨＡデバイスの各々は、該各々に関連づけられた製造業者を有してもよく、ＨＡセキュリティコントローラは、異常に動作していると検証された所与のアドレス指定可能ＨＡデバイスに関連づけられたそれぞれの製造業者に通知を通信するように構成されてもよい。
【０００９】
メモリは、ＨＡデバイス署名を記憶するように構成されてもよく、ＨＡシステムは、ＨＡセキュリティコントローラとクラウドとの間の通信を提供するように構成された通信インターフェースをさらに含んでもよい。ＨＡセキュリティコントローラは、通信インターフェースを介してクラウドと通信してメモリ内の記憶されたＨＡデバイス署名を更新するように構成されてもよい。
【００１０】
ＨＡシステムは、ＨＡセキュリティコントローラに結合された少なくとも１つの無線コントローラをさらに含んでもよい。複数のアドレス指定可能デバイスの各々は、例えば、少なくとも１つのそれぞれの無線コントローラを介してＨＡセキュリティコントローラとワイヤレスで通信するように構成されてもよい。複数のアドレス指定可能ＨＡデバイスは、例えば、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び／又はカメラのうち任意のものを、複数含んでもよい。
【００１１】
一方法態様が、複数のアドレス指定可能ＨＡデバイスを含むＨＡシステムにおいて通信する方法に向けられ、上記複数のアドレス指定可能ＨＡデバイスは、各々が該各々に関連づけられたそれぞれのＨＡデバイス署名を有する。方法は、ＨＡセキュリティコントローラ及び関連づけられたメモリを使用して、複数の通信ポートのうちそれぞれのポートを介して、複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、複数のアドレス指定可能ＨＡデバイスと通信することを含み得る。方法は、ＨＡセキュリティコントローラを使用して、複数のアドレス指定可能ＨＡデバイスのうち所与のデバイスが現在使用されていない所与の通信ポートを介して通信したとき、所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかをそれぞれのＨＡデバイス署名に基づいて決定し、所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウドに通信し、所与のアドレス指定可能ＨＡデバイスが異常に動作していると検証されたとき、所与のアドレス指定可能ＨＡデバイスとの通信を終了し、通知を生成することをさらに含み得る。
【００１２】
別の態様が、複数のアドレス指定可能ＨＡデバイスを含むＨＡシステムのための非一時的コンピュータ読取可能媒体に向けられ、複数のアドレス指定可能ＨＡデバイスは、各々が該各々に関連づけられたそれぞれのＨＡデバイス署名を有する。非一時的コンピュータ読取可能媒体は、ＨＡセキュリティコントローラにその動作を実行させるコンピュータ実行可能命令を含む。
【図面の簡単な説明】
【００１３】
【図１ａ】本発明の一実施形態に従う電子デバイス統合システムの概略図である。
【図１ｂ】一実施形態に従うＨＡシステムの概略図である。
【図２ａ】図１ａのシステムにおいて使用されるメッセージキューの概略ブロック図である。
【図２ｂ】一実施形態に従うメッセージキューを含むＨＡシステムの概略ブロック図である。
【図３】図１ａのシステムにおいて使用されるアクションサーバの概略図である。
【図４】図１ａのシステムにおいて使用される解析サーバの動作の概略図である。
【図５】図１ａのシステムにおいて使用されるカメラサーバの概略図である。
【図６】図１ａのシステムにおいて使用される構成サーバの概略図である。
【図７】図１ａのシステムにおいて使用されるデバッグサーバの概略図である。
【図８ａ】図１ａのシステムにおいて使用される発見サーバの概略図である。
【図８ｂ】図８ａの発見サーバの別の概略図である。
【図９】図１ａのシステムにおいて使用される通知サーバの概略図である。
【図１０】図１ａのシステムにおいて使用されるローダサーバの概略図である。
【図１１】図１ａのシステムにおいて使用されるステータスサーバの概略図である。
【図１２】図１ａのシステムにおいて使用されるウェブサーバの概略図である。
【図１３ａ】図１ａのシステムにおけるセキュリティサーバの概略図である。
【図１３ｂ】一実施形態に従うセキュリティサーバの別の概略図である。
【図１４ａ】図１ａのシステムのリモートデバイスに文脈的ヘルプを表示するユーザインターフェースの図である。
【図１４ｂ】図１ａのシステムのリモートデバイスに文脈的ヘルプを表示するユーザインターフェースの図である。
【図１５ａ】図１ａのシステムのリモートデバイスに部屋ごとに配置されたアドレス指定可能デバイスを示すユーザインターフェースの図である。
【図１５ｂ】図１ａのシステムのリモートデバイスにデバイスタイプごとに配置されたアドレス指定可能デバイスを示すユーザインターフェースの図である。
【図１５ｃ】図１ａのシステムのリモートデバイスにシーンタイプごとに配置されたアドレス指定可能デバイスを示すユーザインターフェースの図である。
【図１６】図１ａのシステムのＬＥＤライトアドレス指定可能デバイスと共に使用されるカラーピッカーを示すユーザインターフェースの図である。
【図１７】本発明の一実施形態に従うリモートデバイス及びＬＥＤ電球アドレス指定可能デバイスの概略ブロック図である。
【図１８】本発明の一実施形態に従う複数のハブデバイス間のインターフェースの概略図である。
【図１９】図１ａのシステムにおけるブリッジの概略図である。
【図２０】新しいブリッジが追加されたときの図１ａのシステムの動作の概略図である。
【図２１ａ】図１ａのシステムにおけるサンドボックス化された処理を例示する図である。
【図２１ｂ】図１ａのシステムにおけるサンドボックス化された処理を例示する別の概略図である。
【図２２】図１ａのシステムにおける応答シーン定義を例示する図である。
【図２３】図１ａのシステムにおける構成要素応答シーンを例示するフロー図である。
【図２４】図１ａのシステムにおける、シーンを完成させるための構成要素に基づいて推奨された購入を示すユーザインターフェースの図である。
【図２５】図１ａのシステムにおける、シーンの構成要素ブロックのリストから選ぶべきユーザの能力を示すユーザインターフェースの図である。
【図２６】図１ａのシステムにおける、シーンのためのユーザ入力に基づいて示唆されたデバイス動作ブロックを示すユーザインターフェースの図である。
【図２７】図１ａのシステムにおける、どのデバイスがシーンの構成要素を提供するかを選ぶためのユーザ入力のプロンプトを示すユーザインターフェースの図である。
【図２８】図１ａのシステムにおける、構成要素又はデバイスの所与のセットについての異なるシーンを示すユーザインターフェースの図である。
【図２９ａ】図１ａのシステムにおける、デバイスを選んでシーンをホームに固有のデバイスにマッピングするためのユーザ入力のプロンプトを示すユーザインターフェースの図である。
【図２９ｂ】図１ａのＨＡシステムにおけるＨＡデバイスシーンコントローラの動作の概略ブロック図である。
【図２９ｃ】図１ａのＨＡシステムにおけるＨＡデバイスシーンコントローラの動作の概略ブロック図である。
【図３０ａ】本発明の別の実施形態に従う、電子デバイス統合システムのブロック図である。
【図３０ｂ】一実施形態に従う、ユーザヘルススコアを生成するＨＡシステムの概略図である。
【図３１】本発明の一実施形態に従う、リモートデバイスに対する近接を検出するハブデバイスの図である。
【図３２】本発明の一実施形態に従う、複数電子デバイス統合システムの概略図である。
【図３３】本発明の一実施形態に従う、短距離通信プロトコルＩＤデバイスを含む電子デバイス統合システムの概略図である。
【図３４】本発明の一実施形態に従う、複数電子デバイス統合システムについてのリモートデバイス上のイベント生成を例示するユーザインターフェースの図である。
【図３５】一実施形態に従う気候制御システムの概略図である。
【図３６】図３５の気候制御システムの動作を例示するグラフである。
【図３７ａ】一実施形態に従う、アドレス指定可能ＨＡデバイスとリモートアクセスワイヤレス通信デバイスとの間の通信を例示するＨＡシステムの概略ブロック図である。
【図３７ｂ】一実施形態に従う、アドレス指定可能ＨＡデバイスとリモートアクセスワイヤレス通信デバイスとの間の通信を例示するＨＡシステムの概略ブロック図である。
【図３７ｃ】一実施形態に従う、アドレス指定可能ＨＡデバイスとリモートアクセスワイヤレス通信デバイスとの間の通信を例示するＨＡシステムの概略ブロック図である。
【図３７ｄ】一実施形態に従う、アドレス指定可能ＨＡデバイスとリモートアクセスワイヤレス通信デバイスとの間の通信を例示するＨＡシステムの概略ブロック図である。
【図３７ｅ】一実施形態に従う、アドレス指定可能ＨＡデバイスとリモートアクセスワイヤレス通信デバイスとの間の通信を例示するＨＡシステムの概略ブロック図である。
【発明を実施するための形態】
【００１４】
次に、本発明が以降で添付図面を参照してより十分に説明され、添付図面には、本発明の好適な実施形態が示される。本発明は、しかしながら、多くの異なる形式で具現化されてもよく、本明細書に明記される実施形態に限定されるようにみなされるべきではない。むしろ、これら実施形態は、本開示が充分かつ完全になり、かつ本発明の範囲を当業者に十分に伝えるように提供される。同様の番号は、全体を通して同様の要素を参照し、プライム記号表記は、別の実施形態における同様の要素を示すために用いられる。
【００１５】
図１ａを最初参照すると、電子デバイス統合システムが、例示的にホームオートメーション（ＨＡ）システム２０の形式であり、これは、Ｋ４Ｃｏｎｎｅｃｔシステムとして参照される。ＨＡシステム２０は、複数のアドレス指定可能（addressable）デバイス３１ａ〜３１ｎ、ホームデバイス３２、リモートデバイス３６、及びクラウドデバイス３３を例示的に含む。ＨＡシステム２０が本明細書において説明されるが、システムは家庭において使用するように限定されず、任意の設定、商業、工業、住居等で使用されてもよいことが理解されるべきである。
【００１６】
アドレス指定可能デバイス３１ａ〜３１ｎは、制御可能デバイス及び／又はセンサ、例えば、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び／又はカメラを含んでもよい。当然ながら、アドレス指定可能デバイスは、さらなる又は他のデバイスを含んでもよい。
【００１７】
クラウドデバイス３３又はハードウェアサーバが説明されるが、クラウドデバイスにより実行される処理及び機能は、プロセッサ４６によって、又は、当業者によりクラウドとして理解されるものにおいて異なる地理的ロケーションにありかつ異なるネットワークにわたる複数のプロセッサによって実行されてもよいことが当業者により理解されるべきである。ホームデバイス３２は、パーソナルコンピュータ、タブレットコンピュータ、スタンドアロンコンピューティングデバイス、又は任意の他のコンピューティングデバイスであってもよい。ＨＡシステム２０は、ハブデバイス３４（すなわち、Ｋ４Ｈｕｂ）をさらに含んでもよい。いくつかの実施形態において、ハブデバイス３４及びホームデバイス３２は、ホーム４７内にあり、ホームネットワークにワイヤレスで接続されてもよく、ホームネットワークは、インターネットとの通信を提供してもよい。システム内のこれらデバイスの機能及び相互接続は、以下でさらに詳細に説明される。
【００１８】
Ｋ４Ｈｏｍｅソフトウェアプログラムは、プログラムに接続できるアドレス指定可能デバイス３１ａ〜３１ｎについて、ホーム、オフィス、ビジネス、及びビルディングオートメーションの、Ｋ４Ｃｏｎｎｅｃｔ  ＨＡシステム２０を実行する。Ｋ４Ｈｏｍｅソフトウェアは、パーソナルコンピュータ又は他のスモールコンピュータデバイス、例えば、ホームデバイス３２にロードできるソフトウェアのみのパッケージとして利用可能である。Ｋ４Ｈｏｍｅソフトウェアの機能は、Ｋ４Ｈｏｍｅソフトウェアを実行する１つ以上のデバイスのそれぞれのプロセッサ又は処理回路、例えば、以下に説明されるように、ホームデバイス３２のプロセッサ３８により実行される。
【００１９】
Ｋ４Ｈｕｂ３４は、Ｋ４Ｈｏｍｅソフトウェアを同様に実行でき、かつデバイス上のシステムアーキテクチャをホストするデバイスである。Ｋ４Ｈｕｂ３４は、ハウジング４１と、ハウジングにより担体された（carried）ハブ処理回路４２とを含む。Ｋ４Ｈｕｂ３４は、ハウジング４１により担体され、かつ複数の無線コントローラ４４ａ〜４４ｎのうち任意のものに結合する複数の無線ポート４３ａ〜４３ｎ、例えば、ユニバーサルシリアルバス（ＵＳＢ）ポートをさらに含む。Ｋ４Ｈｕｂ３４は、クラウドベースの処理を通してルーティングすることに代わって、ローカルでシステムを実行し、直接、アドレス指定可能デバイス３１ａ〜３１ｎと通信することができる。換言すると、ハブ処理回路４２は、プラグ接続された（plugged）無線コントローラ４４ａ〜４４ｎと協働して、それぞれのプロトコルに基づいてアドレス指定可能デバイス３１ａ〜３１ｎと通信する。
【００２０】
無線コントローラ４４ａ〜４４ｎは、各々、所与の無線プロトコルに関し得る。例えば、Ｚ‐ｗａｖｅ無線コントローラが、無線ポート４３ａ〜４３ｎのうち１つにプラグ接続されてもよく、このことは、Ｋ４Ｈｕｂ３４がＺ‐ｗａｖｅベースのアドレス指定可能デバイスと通信することを可能にする。第２又は第３の無線コントローラが、第２及び第３の無線プロトコルを用いて制御可能デバイスと通信する能力を追加するために、Ｋ４Ｈｕｂの無線ポート４３ａ〜４３ｎにプラグ接続されてもよい。
【００２１】
Ｋ４Ｈｕｂ３４が、ネットワーク接続を必要とする現在のホームオートメーションデバイスにおいて共通したレイテンシ及びシステム機能停止を低減するため、Ｋ４Ｈｕｂ３４は、現在のテクノロジーに対する一向上である。Ｋ４Ｈｕｂ３４と同様に、パーソナルコンピュータ、例えば、ホームデバイス３２上で実行するＫ４Ｈｏｍｅソフトウェアは、Ｋ４Ｈｕｂ又はコンピュータのＵＳＢポートを通してポートにアタッチすることにより、ＺｉｇＢｅｅ及びＺ‐ｗａｖｅなどのさらなるホームオートメーション通信プロトコルで拡張されることができる。
【００２２】
Ｋ４Ａｐｐは、Ｋ４Ｃｏｎｎｅｃｔ  ＨＡシステム２０のユーザインターフェース３５のロケーションであり、ユーザがリモートデバイス３６を通して又はリモートデバイス３６から、Ｋ４Ｈｏｍｅソフトウェアにアクセスし、かつＫ４Ｃｏｎｎｅｃｔシステム２０を制御することを可能にし、リモートデバイス３６は、例えば、ディスプレイ４８と、該ディスプレイに結合されたプロセッサ４９とを含むスマートフォン又はタブレットデバイスである。ユーザインターフェース３５はまた、パーソナルコンピュータのデスクトップアプリケーションによって、及び／又はテレビジョンの画面上のアプリケーションによってアクセスされてもよい。２つ以上のリモートデバイス３６が存在してもよく、各リモートデバイスが異なるタイプのデバイスであってもよい。
【００２３】
いくつかの実施形態において、リモートデバイス３６は、クラウドデバイス３３を通して又はクラウドデバイス３３と通信することなく、「ローカルで」接続してもよい。このことは、通信がネットワーク接続性に依存せず、インターネットから独立してローカルで機能し得るため、特に有利な可能性がある。さらに、通信が比較的高速で、より信頼性がある可能性がある。
【００２４】
Ｋ４Ａｗａｙとして参照されるソフトウェアを実行するリモートサーバ又はクラウドデバイス３３は、例えばホームデバイス３２又はＫ４Ｈｕｂ３４で実行するローカルのＫ４Ｈｏｍｅソフトウェアと、ローカルホームネットワークの外側にいるときに例えばリモートデバイス３６で実行するＫ４Ａｐｐとの間の接続を提供する、クラウドベースのサブスクリプションシステムである。Ｋ４Ａｗａｙは、Ｋ４ＨｏｍｅソフトウェアとＫ４Ｃｏｎｎｅｃｔシステム解析及びヘルプシステムとの間の接続をさらに提供する。Ｋ４Ａｐｐは、いくつかの実施形態において、クラウドデバイス３３を通して通信することなくＫ４Ｈｏｍｅ、すなわちホームデバイス３２又はＫ４Ｈｕｂ３４に直接接続してもよく、あるいはクラウドデバイスを通した通信なしに間接的に接続してもよい。
【００２５】
次に図１ｂを参照し、ＨＡシステム２０の上述されたコンポーネントが説明される。ＨＡシステム２０は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎを含み、各々が、異なるＨＡワイヤレス通信プロトコルの中からそれぞれのＨＡワイヤレス通信プロトコルを用いてワイヤレスで通信するように構成される。アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び／又はカメラのうち任意のものを含んでもよい。当然ながら、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、他の及び／又はさらなるデバイスを含んでもよい。
【００２６】
ＨＡシステム２０は、ＨＡワイヤレス無線コントローラ４４ａ〜４４ｎをさらに含み、各々が、同様に異なるＨＡワイヤレス通信プロトコルの中からそれぞれの異なるＨＡワイヤレス通信プロトコルを用いてワイヤレスで通信するように構成される。各ＨＡワイヤレス無線コントローラ４４ａ〜４４ｎは、回路４４１ａ〜４４１ｎと、これに結合されたコネクタ４４２ａ〜４４２ｎとを含む。ＨＡワイヤレス無線コントローラ４４ａ〜４４ｎは、例えば、Ｚｉｇｂｅｅコントローラ、Ｚ‐Ｗａｖｅコントローラ、及び／又は他タイプのコントローラであってもよい。
【００２７】
ＨＡシステム２０は、ＨＡハブデバイス３４をさらに含み、ＨＡハブデバイス３４は、ハウジング４１と、該ハウジングにより担体されたワイヤレス無線ポートコネクタ４３ａ〜４３ｎとを含む。各ポートコネクタ４３ａ〜４３ｎは、対応するＨＡワイヤレス無線コントローラ４４ａ〜４４ｎのそれぞれのコネクタ４４２ａ〜４４２ｎに結合するように構成される。ポートコネクタ４３ａ〜４３ｎは、例えば、ＵＳＢコネクタ、及び／又は他の若しくはさらなるタイプのコネクタであってもよい。ＨＡハブデバイス３４は、ワイヤレス無線ポートコネクタ４３ａ〜４３ｎに結合されたハブ処理回路４２をさらに含む。ハブ処理回路４２は、それぞれのＨＡワイヤレス通信プロトコルに基づいてアドレス指定可能ＨＡデバイス３１ａ〜３１ｎと通信する。いくつかの実施形態において、ＨＡワイヤレス無線コントローラ４４ａ〜４４ｎは、当業者により十分理解されるように、例えば、クラウドベースの処理を通してルーティングされることに代わって、ＨＡハブデバイス３４を介してアドレス指定可能デバイスと直接通信してもよい。
【００２８】
一方法態様が、ＨＡシステム２０において通信する方法に向けられる。方法は、ＨＡワイヤレス無線コントローラ４４ａ〜４４ｎを使用して、異なるＨＡワイヤレス通信プロトコルの中からそれぞれの異なるＨＡワイヤレス通信プロトコルを使用してワイヤレスで通信することを含む。方法は、ＨＡハブデバイス３４を使用して、それぞれのＨＡワイヤレス通信プロトコルに基づいてアドレス指定可能ＨＡデバイス３１ａ〜３１ｎと通信することをさらに含む。
【００２９】
次に、図２ａをさらに参照すると、ＨＡシステム２０（すなわち、Ｋ４Ｃｏｎｎｅｃｔ）の主要な機能が、Ｋ４Ｈｏｍｅソフトウェアを実行するデバイスに位置する独立したローカルメッセージキュー５１とクラウドデバイス３３（すなわち、Ｋ４Ａｗａｙ）上にホストされたクラウドメッセージキュー５２との組み合わせである独立したスタンドアロンのメッセージキューサーバ５０に基づいており、クラウドデバイス３３は、ローカルホームネットワークの外側の登録されたデバイスに対して接続性を提供する。メッセージキュー５１、５２、及び接続されたアドレス指定可能デバイス３１ａ〜３１ｎと、接続されたサーバと、接続されたブリッジとの間の通信は、例えば、トランスポート媒体としてウェブソケットを使用する。
【００３０】
ローカル及びクラウド双方のメッセージキュー５１、５２は、独立して機能するが連続的に接続されたままであり、したがって、どのようなユーザロケーションであろうと、接続されたデバイス、例えば、サーバ及びブリッジへの及びからの通信は、依然として利用可能である。連続的な接続は、ローカルメッセージキュー５１から開始されて、ローカルネットワークのファイアウォールに穴を開けるときに内在し得るセキュリティ問題を低減する。接続をファイアウォール化された（firewalled）システムの内側から始めさせることは、例えば、ホームシステムのセキュリティ完全性を維持すると同時に、メッセージキュー５１、５２がより容易に接続することを可能にする。換言すると、各リモートデバイス３６は、クラウドメッセージキュー５２に接続し、ローカルメッセージキュー５１又はＫ４Ｈｏｍｅ３２若しくはＫ４Ｈｕｂ３４のいずれかに直接接続しない。さらに、ローカルメッセージキュー５１及びクラウドメッセージキュー５２と、接続されたアドレス指定可能デバイス３１ａ〜３１ｎと、サーバと、ブリッジとの間の通信は、増加したセキュリティのためにローカルネットワーク上を含めＳＳＬ暗号化されてもよい。Ｋ４Ａｐｐが、例えばリモートデバイス３６を介して、クラウド又はリモートサーバ３３に接続されるとき、上記連続的な接続は、クラウドサーバに対するユーザの接続がローカルメッセージキュー５１に対する直接接続の役割を果たすことを可能にする。
【００３１】
ローカルメッセージキュー５１は、クラウドメッセージキュー５２への及びからの、並びにローカルサーバ８１及びデバイスブリッジ８２への及びからの、メッセージを受信し、配布する。メッセージに関するこの配布手法は、プログラムの各コンポーネントの独立性を可能にし、ロジック又は規定されたアクションを個々のサーバ又はブリッジに任せる。プログラムのコンポーネントのこの独立性はまた、システムクラッシュエラーの確率を低減する可能性がある。このことはまた、例えば、全部のソフトウェアパッケージを更新することなく、新しいブリッジの連続的な展開と新しいデバイスの互換性とを可能にする。
【００３２】
当業者に十分理解されるように、典型的な従来のオートメーション統合システムはメッセージを、すべてがホームネットワーク内か、又はファイアウォールを通って突き抜けることによりすべてがインターネット上かのいずれかで交換する。本明細書に説明される実施形態は、有利には、「ホーム内」メッセージ処理の増加したスピードを含み（インターネットを介した処理は遅延を加える）、かつインターネットの増加したセキュリティを有する（ホームネットワークを晒すようにファイアウォールを突き抜けない）、ハイブリッドメッセージングアプローチを提供する。
【００３３】
次に図２ｂを参照し、ローカル及びクラウドメッセージキュー５１、５２に関して、ＨＡシステム２０の別の態様が次に説明される。ＨＡシステム２０は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎを含み、各々が該各々にそれぞれのデバイス能力、デバイス構成、及びデバイスステートを関連づけられる。
【００３４】
各デバイス構成は、例えば、デバイスアドレス、デバイスロケーション、及びデバイス識別子のうち、少なくとも１つを含んでもよい。例示的なデバイス構成が、デバイスのＩＰアドレス、家の中でのデバイスのロケーション、及びオーディオ構成におけるチャネルロケーション（例えば、左、右）を含んでもよい。当然ながら、デバイス構成は、他の及び／又はさらなる要素を含んでもよい。
【００３５】
各デバイス能力は、感知機能及び出力機能のうち、少なくとも１つを含んでもよい。例えば、ライトスイッチに関して、デバイス能力は、「オン」、「オフ」になる、及び異なる「調光レベル」になる能力を含んでもよい。
【００３６】
各デバイスステートは、複数のとり得るステートの中からの現在のステートを含んでもよい。例えば、ライトスイッチに関して、現在のステートは、「オン」、「オフ」、及び「所与のレベルに調光されている」であってもよい。
【００３７】
ＨＡシステム２０は、クラウドメッセージキューコントローラ５２１と、これにクラウド内で結合されて複数のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのデバイス構成、デバイス能力、及びデバイスステートを記憶するクラウドメッセージキューメモリ５２２とを含む。クラウドメッセージキューコントローラ５２１及びクラウドメッセージキューメモリ５２２は、例えば、クラウドメッセージキュー５２の一部であってもよい。
【００３８】
ＨＡシステム２０は、ホームデバイスメッセージキューコントローラ５１１と、これに結合されて複数のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのデバイス構成、デバイス能力、及びデバイスステートを記憶するホームデバイスメッセージキューメモリ５１２とをさらに含む。ホームデバイスメッセージキューコントローラ５１１及びホームデバイスメッセージキューメモリ５１２は、例えば、ローカルメッセージキュー５１の一部であってもよい。
【００３９】
クラウドメッセージキューコントローラ５２１及びホームデバイスメッセージキューコントローラ５１１は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎのデバイス構成、デバイス能力、及びデバイスステートを同期させる。クラウドメッセージキューコントローラ５２１は、アドレス指定可能ＨＡデバイスに関して、例えば、アドレス指定可能デバイス３１ａ〜３１ｎとの通信のため、及び同期のために、ローカルメッセージキューコントローラ５１１とメッセージを交換する。例えば、上記メッセージは、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎの動作及び制御に関連したメッセージを含んでもよい。
【００４０】
ローカルクライアントデバイス３６ａ又はリモートデバイス（例えば、Ｋ４Ａｐｐを実行している）は、ローカルクライアントデバイスコントローラ３６１ａと、これに結合され、ローカルメッセージキューコントローラ５１１と同期するとアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのデバイス構成、デバイス能力、及びデバイスステートを記憶するローカルクライアントデバイスメモリ３６２ａとを含む。ローカルクライアントデバイスコントローラ３６１ａは、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎ、例えば、感知、応答、及び制御動作に関して、ローカルメッセージキューコントローラ５１１とメッセージを交換する。
【００４１】
クラウドクライアントデバイス３６ｂ又はリモートデバイス（例えば、Ｋ４Ａｐｐを実行している）は、クラウドクライアントデバイスコントローラ３６１ｂと、これに結合され、クラウドメッセージキューコントローラ５２１と同期するとアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのデバイス構成、デバイス能力、及びデバイスステートを記憶するクラウドクライアントデバイスメモリ３６２ｂとを含む。クラウドクライアントデバイスコントローラ３６１ｂは、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎ、例えば、感知、応答、及び制御動作に関して、クラウドメッセージキューコントローラ５２１とメッセージを交換する。
【００４２】
当業者に十分理解されるように、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎのデバイス構成、デバイス能力、及びデバイスステートを、又はメッセージを同期させることにより、クラウド又はローカルクライアントデバイス３６ａ、３６ｂとの通信はより速くなる可能性があり、これは、例えば、メッセージ、応答、ステータス問い合わせ、命令等の処理が、クラウド若しくはローカルクライアントデバイスで、又はクラウド若しくはメッセージキューのうち最も近いもので処理できる（すなわち、要求又は通信は、一般に、ローカル又はクラウドメッセージキュー５１、５２のうち一方又は他方に進む必要がない可能性がある）からである。
【００４３】
一方法態様が、複数のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎと通信する方法に向けられ、上記複数のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、各々が該各々に関連づけられたそれぞれのデバイス能力、デバイス構成、及びデバイスステートを有する。方法は、クラウドメッセージキューコントローラ５２１と、これにクラウド内で結合されて複数のアドレス指定可能ＨＡデバイスのデバイス構成、デバイス能力、及びデバイスステートを記憶するクラウドメッセージキューメモリ５２２とを使用することを含む。方法は、ホームデバイスメッセージキューコントローラ５１１と、これに結合されて複数のアドレス指定可能ＨＡデバイスのデバイス構成、デバイス能力、及びデバイスステートを記憶するホームデバイスメッセージキューメモリ５１２とを使用することをさらに含む。クラウドメッセージキューコントローラ５２１及びホームデバイスメッセージキューコントローラ５１１は、複数のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのデバイス構成、デバイス能力、及びデバイスステートを同期させる。
【００４４】
次に図４〜図１３をさらに参照すると、例えばホームデバイス３２又はＫ４Ｈｕｂ３４を用いて実行されるＫ４Ｈｏｍｅプログラムが、ＨＡシステム２０の機能の各々について、独立したサーバ又は機能モジュールを提供する。サーバ８１は、セキュリティのためにＨＡシステム２０上で動作するブリッジ８２から分離され、全体としてシステムの独立した実行を可能にすることができる。ホームオートメーション統合システム２０のサーバ８１は、アクションサーバ６９、解析サーバ５４、カメラサーバ６１、構成サーバ６２、デバッグサーバ６３、発見サーバ５５、ローダサーバ６４、メッセージサーバ６５、通知サーバ６６、ステータスサーバ６７、更新サーバ５９、ウェブサーバ６８、及びセキュリティサーバ５６を含む。新しい機能が必要とされる場合、さらなるサーバがソフトウェアに追加されてもよい。用語サーバが本明細書において用いられているが、サーバは、例えば上記で説明されたように、任意のデバイスの１つ以上のプロセッサ上で実行される１つ以上のスタンドアロンソフトウェア処理であり得ることが理解されるべきである。各サーバ８１の機能性は、当業者により十分理解されるように、詳細には該機能性が実行されるデバイス上のプロセッサ、コントローラ、及び／又は関連した回路、例えば、ホームデバイスプロセッサ３８又はハブデバイス処理回路４２により実行される。
【００４５】
アクションサーバは、ＨＡシステム２０で、より詳細にはホームデバイス３２で連続的に動作し、ホーム内のＫ４Ｈｏｍｅシステム又はコンポーネントの応答シーン（responsive  scenes）を実行する（図３）。解析サーバ５４は、クラウドストレージシステム又はサーバ３３にユーザ及びシステムアクションのログをとり、Ｋ４Ｈｏｍｅ  ＨＡシステム２０を向上させるためにユーザが実現できる可能な応答シーン又はユーザが取ることができるアクションの示唆を受信する（図４）。
【００４６】
最初のＫ４Ｈｏｍｅシステムセットアップにおいて、解析サーバ５４は、システムのサーバ８１及びブリッジ８２からのアドバタイズメント（advertisements）を要求する。Ｋ４Ｈｏｍｅシステム２０のサーバ８１及びブリッジ８２はアドバタイズメントを返信し、このことは、解析サーバ５４が個々のサーバ及びブリッジをサブスクライブする（subscribe）ことを可能にする。ひとたびサブスクライブされると、サーバ及びブリッジ８２は、個々のイベント、コマンド、及び変数変更を解析サーバ５４に送信し、解析サーバ５４は、送られたデータのログを保持する。
【００４７】
周期的又は規則的であり得る間隔で、解析サーバ５４は、プライベートのグローバル一意識別子（ＧＵＩＤ）を用いて、クラウドシステム又はクラウドデバイス３３に、収集されたデータを報告する。クラウドベースの解析又はデバイス３３は、匿名化されたデータを処理し、再調査し、データをクラウドデータベースに記憶する。このデータは、次いで、Ｋ４Ｈｏｍｅ  ＨＡシステム２０の機能を再調査するために使用され、このことは、ソフトウェアに存在し得る問題を明らかにする可能性がある。このＨＡシステム２０は、さらに、セキュリティサーバから集められたデータを使用して、セキュリティ脅威を評価し、軽減プランを開発することができる。クラウドベースの分析又はクラウドデバイス３３は、さらに、Ｋ４Ｈｏｍｅシステムを再調査し、プライベートＧＵＩＤに対してデバイス及び応答シーンを推奨する。ひとたびクラウド内の情報がクラウドデバイス３３により解析され、集められると、この情報は、クラウドへの次の「チェックイン」時間と共にローカルの解析サーバ５４にプッシュバックされる。
【００４８】
カメラサーバ６１（図５）は、カメライメージ／ビデオの位置を特定し、イメージ／ビデオをシステムにストリーミングする。カメラサーバは、さらに、例えば、カメラに直接接続することができないリモートのユーザのためのイメージプロキシとして動作する。
【００４９】
構成サーバ６２（図６）は、ホームオートメーション統合システム２０の永続的な構成を記憶する。構成サーバ６２は、さらに、デバイス接続処理の間にデバイス記述を使用して、デバイスセットアップウィザードと連動してＨＡシステム２０にアドレス指定可能デバイス３１ａ〜３１ｎをセットアップする。デバッグサーバ６３は、ブリッジデバッギングを可能にする（図７）。
【００５０】
発見サーバ５５（図８ａ）は、Ｋ４Ｃｏｎｎｅｃｔシステム２０に接続すべきアドレス指定可能デバイスを見つける。発見サーバ５５は、その検索において、デバイス、例えばアドレス指定可能デバイス３１ａ〜３１ｎの署名を使用して、システムへの接続に関して自然には発見不可能なデバイスを発見する。典型的な従来技術のホームオートメーション統合システムに関して、特定のアドレス指定可能デバイスは、その可用性を自動的にブロードキャストせず、ゆえに、ユーザにより手動で接続される必要がある。手動のエントリは、しばしば、デバイスをそのホームオートメーションシステムに追加するのに、高度な技術的知識、又は詳細な複雑な命令に従う必要を伴い、例えば、ＩＰアドレス、デバイスＩＤ、及び／又は他の識別情報を手動で入力することを伴う。発見サーバ５５は、こうした複雑さを低減する。
【００５１】
ネットワークデバイス及びＵＳＢデバイスに関して発見サーバ５５で実行される例示的なコードが、それぞれ、以下のとおりである：
【００５２】
【表１】
0006487072.tif 000002
発見サーバ５５は、新しい制御可能デバイスからの信号を受動的に待つか、又はアドレス指定可能デバイス３１ａ〜３１ｎの署名についてシステムをスキャンするかのいずれかで、システムホームオートメーション統合２０を監視する処理を典型的に常時実行する。発見サーバ５５は、アドレス指定可能デバイス３１ａ〜３１ｎの署名からのテキストマッチ処理を使用するＵＰＮＰ及びＭＤＮＳ処理を実行して、制御可能デバイスを識別する。発見サーバ５５は、さらに、例えばチャレンジレスポンスにより、マルチキャスト処理を実行し、上記の接続されていないアドレス指定可能デバイス８３に接続する。
【００５３】
発見サーバ５５の有利な要素は、ＡＲＰスキャン及びｕｄｅｖスキャンである。ＡＲＰスキャンは、ロードされた制御可能デバイス署名についてポートマッチを実行し、チャレンジレスポンス処理を実行して、アドレス指定可能デバイス３１ａ〜３１ｎを識別する。例えば、発見サーバ５５は、データを用いてポートに問い合わせ、問い合わせに基づいて識別応答を取得してもよい。ＡＲＰスキャンは、さらに、ＭＡＣアドレスマッチングによりデバイスを識別する。他方の有利な要素は、Ｋ４Ｈｏｍｅを実行し、かつＴＴＹマッチを実行するハードウェアに接続されたデバイスについて、ＵＳＢマッチを使用するＵＤＥＶスキャンである。ＴＴＹマッチは、チャレンジレスポンス処理でデバイスを識別する。当業者に十分理解されるように、制御可能デバイス署名を定義する任意数の要素又はネットワーク特性が使用されてよい。
【００５４】
ひとたび発見サーバ５５が新しいアドレス指定可能デバイス（すなわち、システム２０に対して新しい）を発見すると、発見サーバ５５は、メッセージキュー５１を通じて制御サーバ６２及び通知サーバ６６（図７）に通知を送信し、通知サーバ６６は、次いで、新たに発見されたアドレス指定可能デバイスをユーザに通知し、ウィザードセットアップ処理を開始する。識別可能な署名が存在しない、新しいアドレス指定可能デバイスが利用可能になったとき（例えば、システムに対してだけでなく市場に対して新しい）、新しい署名フィルタが発見サーバ５５に追加されてもよい。
【００５５】
いくつかの実施形態において、アドレス指定可能デバイス３１ａ〜３１ｎからのアドバタイジングが、アドレス指定可能デバイスを限定することに使用されてもよい。例えば、制御可能スピーカーデバイスが、アドバタイジングに基づき一般的デバイスとしてホームオートメーション統合システム２０に現れることがある。しかしながら、アドレス又は署名要素のサブセットに基づく問い合わせが使用されてもよく、このことは、制御可能デバイス発見のスピードを増加させる可能性がある。例えば、署名要素が、デバイスタイプを限定又は制限するために使用されてもよく、発見が、上記サブセットに基づいて継続してもよい。
【００５６】
次に図８ｂをさらに参照し、発見サーバ５５がＨＡシステム２０に関して説明される。アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、各々が、該各々に関連づけられたそれぞれのＨＡデバイス署名を有し、各々が、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信するように構成される。アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び／又はカメラのうち、任意のものを含んでもよい。当然ながら、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、他の及び／又はさらなるデバイスを含んでもよい。
【００５７】
発見サーバ５５は、コントローラ５５１、及びこれに結合されたメモリ５５２の形式であってもよい。メモリ５５２は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎのうちペアリングされた（paired）及びペアリングされていない（unpaired）デバイスについて、ＨＡデバイス署名を記憶する。ＨＡデバイス署名は、例えば、ＭＡＣアドレス、ポートデータ、及び／又はユニバーサルシリアルバス（ＵＳＢ）識別子を含んでもよい。
【００５８】
コントローラ５５１は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎをポーリングし、ポーリングに基づいて複数のアドレス指定可能ＨＡデバイスの中からペアリングされていないアドレス指定可能ＨＡデバイスを決定する。コントローラ５５１は、アドレス指定可能ＨＡデバイスからのブロードキャストについてポーリングすることにより、及び／又はメモリ５５２に記憶された記憶されたＨＡデバイス署名のうち所与の１つに応答してアドレス指定可能デバイスについてスキャンすることにより、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎをポーリングしてもよい。
【００５９】
コントローラ５５１は、さらに、ペアリングされていないアドレス指定可能ＨＡデバイスの関連づけられたＨＡデバイス署名を、記憶されたＨＡデバイス署名と比較する。コントローラ５５１は、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）処理とマルチキャストドメインネームシステム（ｍＤＮＳ）処理とのうち少なくとも１つに基づいて、ペアリングされていないアドレス指定可能ＨＡデバイスの関連づけられたＨＡデバイス署名を、記憶されたＨＡデバイス署名と比較してもよい。ＵＰｎＰ処理及びｍＤＮＳ処理のうち任意のものが、例えば、テキストマッチ処理に基づいて実行されてもよい。
【００６０】
いくつかの実施形態において、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、各々が、該各々に関連づけられたポートデータを有してもよく、その場合、コントローラ５５１は、アドレス解決プロトコル（ＡＲＰ）スキャンに基づいてアドレス指定可能ＨＡデバイスをポーリングし、ＡＲＰスキャンからのポートデータに基づいて、ペアリングされていないアドレス指定可能ＨＡデバイスの関連づけられたＨＡデバイス署名を、記憶されたＨＡデバイス署名と比較してもよい。
【００６１】
別法として、又はさらに、コントローラ５５１は、ｕｄｅｖスキャンに基づいてアドレス指定可能ＨＡデバイス３１ａ〜３１ｎをポーリングしてもよく、その場合、コントローラは、ｕｄｅｖスキャンに基づいて、ペアリングされていないアドレス指定可能ＨＡデバイスの関連づけられたＨＡデバイス署名を、記憶されたＨＡデバイス署名と比較する。
【００６２】
コントローラ５５１は、ペアリングされていないアドレス指定可能ＨＡデバイスのＨＡデバイス署名と記憶されたＨＡデバイス署名のうち１つとの間にマッチが存在するとき、それぞれのワイヤレス通信プロトコルを用いてペアリングされていないアドレス指定可能ＨＡデバイスと通信するように、ペアリングされていないアドレス指定可能ＨＡデバイスのペアリングを許可する。コントローラ５５１は、ペアリングされていないアドレス指定可能ＨＡデバイスのペアリングを承認するようにユーザに促してもよい。ペアリングされていないアドレス指定可能ＨＡデバイスのペアリングは、ユーザに関連づけられた電子デバイス、例えば、リモートデバイス３６からの、チャレンジレスポンスに基づいてもよい。
【００６３】
通信インターフェース５５３は、コントローラ５５１と、クラウド、例えばクラウドデバイス３３との間の通信を提供する。コントローラ５５１は、通信インターフェース５５３を介してクラウドデバイス３３と通信して、メモリ５５２内の記憶されたＨＡデバイス署名を更新する。
【００６４】
ＨＡシステム２０は、さらに、コントローラ５５１に結合された無線コントローラ４４ａ〜４４ｎを含む。アドレス指定可能デバイス３１ａ〜３１ｎの各々は、それぞれの無線コントローラ４４ａ〜４４ｎを介してコントローラ５５１とワイヤレスで通信するように構成される。
【００６５】
一方法態様が、ＨＡシステム２０においてペアリングされていないアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのペアリングを許可する方法に向けられる。方法は、５５１コントローラと、これに結合されて複数のアドレス指定可能ＨＡデバイスのうちペアリングされた及びペアリングされていないデバイスについて複数のＨＡデバイス署名を記憶するメモリ５５２とを使用して、複数のアドレス指定可能ＨＡデバイスをポーリングし、ポーリングに基づいて複数のアドレス指定可能ＨＡデバイスの中からペアリングされていないアドレス指定可能デバイスを決定することを含む。コントローラ５５１及びメモリ５５２は、さらに、ペアリングされていないアドレス指定可能ＨＡデバイス３１ａ〜３１ｎの関連づけられたＨＡデバイス署名を、記憶されたＨＡデバイス署名と比較し、ペアリングされていないアドレス指定可能ＨＡデバイスのＨＡデバイス署名と記憶されたＨＡデバイス署名のうち１つとの間にマッチがあるとき、それぞれのワイヤレス通信プロトコルを用いてペアリングされていないアドレス指定可能ＨＡデバイスと通信するように、ペアリングされていないアドレス指定可能ＨＡデバイスのペアリングを許可することに使用される。
【００６６】
ローダサーバ６４は、ブリッジ８２及びサーバ８１をロードする（図１０）。メッセージサーバ６５は、メッセージキュー５１を実行し、あるいは動作させる。通知サーバ６６は、システム２０からの通知を、例えばリモートデバイス３６の、ユーザインターフェース３５に送信する（図９）。
【００６７】
ステータスサーバ６７は、システム内のデバイスをポーリングする必要なく最後に知ったステートのログを記憶するシステム全体のステートマシンの役割を果たす（図１１）。このことは、ステータスサーバ６７を、システムの最後に知ったステートを追跡するスタンドアロンステートマシンとして実行させることにより達成される。当業者に十分理解されるように、ステータスサーバ６７は、有利には、例えば、システムがドライバスタックにステート情報を記憶する現在の一般的なやり方に対しての一向上である。ウェブサーバ６８は、ユーザインターフェースコンテンツを実行する（図１２）。いくつかの実施形態において、ユーザインターフェースコンテンツは、ローカルで記憶されてもよい。
【００６８】
セキュリティサーバ５６は、ホームオートメーション統合システム２０のセキュリティ処理を実行する（図１３ａ）。セキュリティサーバ５６は、ホームオートメーション統合システム２０により使用されていないオープンの通信ポート８４をリッスンする。このことは、デバイス、例えばアドレス指定可能デバイス３１ａ〜３１ｎ又はリモートデバイス３６が、ポートをスキャンし、あるいはポートに接続したときに、セキュリティサーバ５６がログをとることを可能にする。セキュリティサーバ５６は、次いで、スキャン又は接続することが分かっており、かつシステムに対して脅威でない如何なるデバイスも無視し、セキュリティサーバ５６が知らない又は予期しないスキャンを受けたときにログをとってもよい。例えば、オープンポートが、接続されたユーザのリモートのｉＰｈｏｎｅ（登録商標）によりスキャンされ、あるいは該ｉＰｈｏｎｅに接続されることがある。しかし、このことは、ｉＰｈｏｎｅからの予期されたアクションであるため、セキュリティサーバ５６は、自動的に、これをホームオートメーション統合システム２０に対する脅威と考えない。接続されたホームオートメーション又はアドレス指定可能デバイス３１ａ〜３１ｎ、例えば、冷蔵庫が、オープンポートの同じスキャンを行い、あるいはオープンポートに接続する場合、セキュリティサーバ５６は、そのアクションのログをとり、次いで、ログを解析サーバ５４に報告する。セキュリティサーバ５６は、すべての既知の制御可能デバイスについて含まれる署名ファイルを用いて、何がアドレス指定可能デバイス３１ａ〜３１ｎの通常の挙動と考えられるかを承知している。換言すると、ネットワーク上のホームオートメーション統合システム２０に結合されるリモート及び制御可能の双方のデバイスのタイプが分かっているため、デバイス間のトラフィックは、セキュリティを維持するように監視できる。特定のデバイスに関連づけられたトラフィック又は通信が一定しないと決定された場合、セキュリティサーバ５６は、上記デバイスを、乗っ取られている及び／又はマルウェアである、並びに解析サーバ５４に報告するようにフラグを立てられているとして識別してもよい。解析サーバ５４は、セキュリティ分析のためにデータをクラウドデバイス３３にアップロードする。
【００６９】
ネットワークデバイスの通常の挙動と考えられ得るものを記述した一例示的なセキュリティサーバ署名が以下のとおりである：
【００７０】
【表２】
0006487072.tif 000003
クラウドサーバ又はクラウドデバイス３３は、分析を実行して、パターンを評価又は分類して、セキュリティサーバ５６のアクションを推奨してもよい。セキュリティサーバ５６が取るアクションのいくつかの例には、デバイスの異常なアクションをユーザに通知すること、危険にさらされたデバイスをＫ４Ｃｏｎｎｅｃｔシステム２０から切断すること、又はアクションが悪意のない場合に無視することが含まれる。いくつかの例におけるＫ４Ｃｏｎｎｅｃｔシステム２０が、製造業者のスマートデバイス内の脆弱性又は攻撃を認識してもよく、脆弱性に関する情報を製造業者に提供することができる。当然ながら、クラウドデバイス３３は、分析に基づいてセキュリティサーバのための他の及び／又はさらなるアクションを推奨してもよい。
【００７１】
次に図１３ｂを参照し、ＨＡシステム２０に関するセキュリティサーバ５６が次に説明される。ＨＡシステム２０は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎを含み、各々が、該各々に関連づけられたそれぞれのＨＡデバイス署名を有し、ＨＡデバイス署名は、メモリ５６２に記憶されてもよい。ＨＡデバイス署名は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎの予期されたアクションに関するデータを含んでもよい。ＨＡデバイス署名はまた、例えば、ＭＡＣアドレス、ポートデータ、及びユニバーサルシリアルバス（ＵＳＢ）識別子を含んでもよい。当然ながら、ＨＡデバイス署名は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎの動作挙動を特徴付けるための基礎として使用できるさらなる識別子、及び／又はこれらの任意の組み合わせを含んでもよい。
【００７２】
アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び／又はカメラのうち、任意のものを含んでもよい。当然ながら、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、他の及び／又はさらなるデバイスを含んでもよい。アドレス指定可能デバイス３１ａ〜３１ｎは、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信する。
【００７３】
ＨＡシステム２０は、メモリ５６２に結合され、かつ例えば通信ポートをスキャン又はポーリングすることによってそれぞれの通信ポートを介してアドレス指定可能ＨＡデバイス３１ａ〜３１ｎと通信する、ＨＡセキュリティコントローラ５６１を含む。所与の通信ポートが、現在使用されておらず、あるいはオープンである。所与のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎが、現在使用されていない所与の通信ポートを介して通信したとき、ＨＡセキュリティコントローラ５６１は、それぞれのＨＡデバイス署名に基づいて所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかを決定し、所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウド３３に通信する。所与のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎが異常に動作していると検証されたとき、ＨＡセキュリティコントローラ５６１は、所与のアドレス指定可能ＨＡデバイスとの通信を終了する。
【００７４】
ＨＡセキュリティコントローラ５６１は、所与のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎが異常に動作していると検証されたとき、通知をさらに生成する。いくつかの実施形態において、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、各々、該各々に関連づけられた製造業者を有し、ＨＡセキュリティコントローラ５６１は、通知を、異常に動作していると検証された所与のアドレス指定可能ＨＡデバイスに関連づけられたそれぞれの製造業者に通信してもよい。当然ながら、ＨＡセキュリティコントローラ５６１は、当業者に十分理解されるように、通知を別のデバイス及び／又はエンティティに通信してもよい。
【００７５】
ＨＡシステム２０は、ＨＡセキュリティコントローラ５６１とクラウド３３との間の通信を提供する通信インターフェース５６３をさらに含んでもよい。ＨＡセキュリティコントローラ５６１は、通信インターフェース５６３を介してクラウド３３と通信して、例えば、メモリ５６２内の記憶されたＨＡデバイス署名を更新する。
【００７６】
ＨＡシステム２０は、ＨＡセキュリティコントローラ５６１に結合された無線コントローラ４４ａ〜４４ｎをさらに含む。アドレス指定可能デバイス３１ａ〜３１ｎの各々は、それぞれの無線コントローラ４４ａ〜４４ｎを介してＨＡセキュリティコントローラ５６１とワイヤレスで通信するように構成されてもよい。
【００７７】
一態様方法が、ＨＡシステム２０において通信する方法に向けられる。方法は、ＨＡセキュリティコントローラ５６１を使用して、通信ポートのうちそれぞれのポートを介して、所与の通信ポートが現在使用されていない状態で、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎと通信することを含む。方法は、ＨＡセキュリティコントローラ５６１を使用して、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎのうち所与の１つが現在使用されていない所与の通信ポートを介して通信したとき、それぞれのＨＡデバイス署名に基づいて所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかを決定し、所与のアドレス指定可能ＨＡデバイスが異常に動作しているかどうかの検証のためにクラウド３３に通信し、所与のアドレス指定可能ＨＡデバイスが異常に動作していると検証されたとき、所与のアドレス指定可能ＨＡデバイスとの通信を終了し、通知を生成することを含む。
【００７８】
別の態様が、Ｋ４Ｈｏｍｅソフトウェアのセットアップウィザードに向けられる。セットアップウィザードが、Ｋ４Ｃｏｎｎｅｃｔシステム２０に接続された、詳細にはＫ４Ｈｏｍｅに接続された各デバイスについて、ますます簡素かつ比較的同形のセットアップ処理を提供することができる。セットアップウィザードは、ウィザードの各画面ステップ上のアクション可能アイテムを限定して、簡素さを維持してもよい。例えば、セットアップウィザードは、ウィザード内で次のステップに移る前、１つの質問とその質問から受け取られる１つのデータ入力とを可能にしてもよい。
【００７９】
各セットアップウィザードは、ソフトウェア開発者が新しいユーザインターフェースコンポーネントを構築する必要なくデバイスのセットアップのためのデータを収集することを可能にする、予め構築されたテンプレートに基づく。各セットアップウィザードは、例えば、開発者及びブリッジ構築者がカスタマイズ可能であってもよい。カスタマイズは、各セットアップウィザードが基本スタイルの一貫性を保持しながら固有のスタイルシートを有することを可能にすることにより達成されてもよい。基本スタイルを越えて、各セットアップウィザード内のユーザインターフェースが変更可能であってもよく、しかし、これらの変更は特定パラメータの範囲内であることが望ましい。例えば、開発者にとって適切なテンプレートが利用可能でない場合、ユーザインターフェースコンポーネントが作成されてもよい。カスタムテンプレートは、利用可能なときはＫ４Ｃｏｎｎｅｃｔコンポーネントを依然として使用することになり、Ｋ４Ｈｏｍｅソフトウェアにより提供される比較的簡素かつ同形のセットアップ処理に相反し得ない。
【００８０】
さらに図１４ａ及び図１４ｂを参照すると、各セットアップウィザードは、例えば、リモートデバイス３６のディスプレイ４８に、又はユーザインターフェース３５の一部として、プログレスバー７１を供給することにより文脈的ヘルプをさらに提供してもよく、これは、例えば、プログレスバー上にヘルプボタン７２を含む。ヘルプボタン７２は、セットアップウィザード内のユーザの現在のステップに対応するヘルプにリンクする。換言すると、ユーザは、ユーザがセットアップ処理内でどこにいるかに依存して、異なる命令をディスプレイ４８に提示されることになる。このことは、頻繁に問題になるセットアップ内のステップにおいてユーザを支援し、かつユーザ体験を現在のホームオートメーションセットアップよりもより適応的かつより容易にすることができる点で、特に有利である可能性がある。
【００８１】
次に図１５ａ〜図１５ｃを参照すると、ユーザインターフェース３５は、Ｋ４Ｃｏｎｎｅｃｔシステム２０を制御し、あるいはＫ４Ｃｏｎｎｅｃｔシステム上のアドレス指定可能デバイス３１ａ〜３１ｎを制御するための、いくつかの異なる方法を提供してもよい。例えば、Ｋ４Ｃｏｎｎｅｃｔシステム２０は、部屋ごとに（図１５ａ）、シーンごとに（図１５ｂ）、及びデバイスタイプごとに（図１５ｃ）制御されてもよい。当然ながら、Ｋ４Ｃｏｎｎｅｃｔシステム２０は、他のやり方で又は他の手法を用いて制御されてもよい。
【００８２】
リモートデバイス３６のディスプレイ４８、例えば、モバイルフォンのタッチスクリーンディスプレイを介して提示できるユーザインターフェース３５は、ユーザがアドレス指定可能デバイスのデバイスカテゴリごとに又はロケーションごとに（図１５ａ）アドレス指定可能デバイス３１ａ〜３１ｎを見ることを可能にする。ユーザは、さらに、ロケーションからのアドレス指定可能デバイス選択から、直接、アドレス指定可能デバイスカテゴリビューに切り替えることができる。ユーザインターフェース３５は、さらに、有利には、最後にコンタクトされたデバイスを追跡することにより、使用されたデバイスのヒストリを追跡する。このことは、ユーザがユーザインターフェースの前のページに戻って検索することに代わって、より迅速に最近使用されたアドレス指定可能デバイス３１ａ〜３１ｎに直接アクセスすることを可能にすることができる。ユーザインターフェース３５は、さらに、調整のためにタッチスクリーンディスプレイ上の単一ポイントの位置を特定することに代わって、リモートデバイス３６、例えばタッチスクリーンリモートデバイスの画面全体を使用してアドレス指定可能デバイス３１ａ〜３１ｎを調整できるようにすることにより、増加したユーザビリティを提供してもよい。いくつかの実施形態において、アドレス指定可能デバイス３１ａ〜３１ｎは、例えば、音声認識を用いてユーザインターフェース３５を介して制御されてもよい。他のタイプの制御もまた、かつ／あるいは追加的に使用されてもよく、例えば、バイオメトリクス又はジェスチャ（例えば、腕、手、目）認識である。
【００８３】
次に図１６を参照すると、アドレス指定可能デバイス３１ａ〜３１ｎのうち１つ以上が発光ダイオード（ＬＥＤ）電球の形式であるとき、ユーザインターフェース３５は、ＬＥＤカラーピッカー７５機能を含む。ＬＥＤカラーピッカー７５は、制御可能マルチカラーＬＥＤ電球３１ａにおける色を設定するためのより正確な方法を提供する。現在、ユーザはパレットから色を選択しており、電球はとり得る最も近い色に調整される。このことは、ユーザがディスプレイ４８から選択したものとマルチカラーＬＥＤ電球３１ａからの実際の出力との間の差異を結果としてもたらす可能性がある。
【００８４】
リモートデバイス３６のプロセッサ４９によるＬＥＤカラーピッカー７５は、マルチカラーＬＥＤ電球３１ａが生み出すことができる色を検出し、その色選択肢をユーザに提示する。このことは、例えば、マルチカラーＬＥＤ電球３１ａのＣＩＥデルタを決定することにより行われる。ＣＩＥデルタは、製造業者により決定されてもよく、そのためのデータは、リモートデバイス３６に記憶されてもよく、あるいはクラウドデバイス３３から受信されてもよい。
【００８５】
図１７を参照すると、別の実施形態において、リモートデバイス３６’がカメラ８６’を含むとき、リモートデバイスのプロセッサ４９’がカメラと協働して、マルチカラーＬＥＤ電球３１ａ’により実際に照射された色を捕捉してもよい。リモートデバイス３６’のプロセッサ４９’は、次いで、記憶されたＣＩＥデルタ情報又は捕捉されたイメージに基づいて、マルチカラーＬＥＤ電球の利用可能な色をディスプレイ４８’に表示する。色は、デルタの端部における色を見つけることに対してＣＩＥ三角形の中で算出される。さらに、いくつかの実施形態において、マルチカラーＬＥＤ電球の場合の、上記で論じられたリモートデバイス署名が、例えば、モデル番号に基づく電球のＣＩＥデルタを含んでもよい。ユーザは、次いで、ディスプレイ４８’上で選択肢から正確な色を選び、マルチカラーＬＥＤ電球３１ａ’は、選択された色に変化する。このことは、近似に基づいて色を選択する現在の方法と対照的に、ユーザの予期を電球出力にマッチさせる。
【００８６】
当業者に十分理解されるように、マルチカラーＬＥＤ電球３１ａの能力は、典型的なＣＩＥ図が示すものよりも典型的にかなり低い。本明細書に説明される実施形態は、有利には、マルチカラーＬＥＤ電球３１ａの色表示能力を決定し、近似を行うのでなくその実際の色の選択を可能にする。
【００８７】
次に図１８をさらに参照すると、ユーザインターフェース３５は、複数のＫ４Ｈｕｂハブ又はハブデバイス、例えば、ホームハブ３４ａ及びオフィスハブ３４ｂとインターフェースをとるインターフェースをさらに提供する。現在、ホームオートメーション市場では、エンドユーザがそのホームで複数のハブをセットアップすることができないか、あるいは、ハブが組み合わせられてクラウドシステムにされ、ユーザがシステム間の明白な区別を行えるようにすることを妨げているかのいずれかである。Ｋ４Ｃｏｎｎｅｃｔシステム２０は、有利には、例えば、自動的にローカルハブに接続し、かつクラウドを通して任意の他のハブに接続することにより、ユーザにユーザインターフェース３５から複数のハブを制御する選択肢を可能にする。
【００８８】
例えば、Ｗｉｆｉを介してローカルネットワークに接続されたとき、リモートデバイス３６のユーザインターフェース３５は、同じローカルネットワークのハブデバイス３４ａ、３４ｂに自動的に（すなわち、ユーザ介在なしに）接続してもよい。ハブデバイス３４ａ、３４ｂに接続されないセルラー接続又はＷｉｆｉネットワークを使用するとき、ユーザインターフェース３５は、複数のシステムのうちいずれをユーザが見たいかをユーザが選定することを可能にする。例えば、第１のシナリオは、ユーザのオフィスに位置するハブデバイス３４ａに対する接続である。Ｋ４Ａｐｐ又はユーザインターフェース３５は、オフィスハブ３４ａからアドレス指定可能デバイス３１ａ〜３１ｎを制御し、しかし、ユーザは、ユーザインターフェースを切り替えて他の接続されたハブを制御する選択肢を有する。第２のシナリオにおいて、ユーザがＬＴＥ（登録商標）ネットワークなどのセルラーネットワークに対してのみ接続されたとき、ユーザインターフェース３５は、ユーザが接続されたハブ間で２つ以上ある場合に選ぶための選択肢を提供し、ゆえにユーザは、ホームハブ３４ｂ又はオフィスハブ３４ａの間で選定することができる。第３のシナリオにおいて、ユーザはホームハブ３４ｂに接続され、ユーザインターフェース３５はホームのアドレス指定可能デバイス３１ａ〜３１ｎを自動的に制御し、しかしユーザは、ユーザインターフェース上でオフィスハブ３４ａを制御することへ切り替えることができる。
【００８９】
例えば、新しいアドレス指定可能デバイス３１ａ〜３１ｎがホームデバイス３２又はハブデバイス３４（すなわち、Ｋ４Ｈｏｍｅを実行しているデバイス）により検出されたとき、新たに検出されたアドレス指定可能デバイスをサポートする新しいソフトウェアがダウンロードされてもよい。例えば、制御可能デバイスの「アプリストア」が、新たに検出された制御可能デバイスのサポート又はドライバを提供してもよい。「アプリストア」は、例えば、クラウドサーバ３３又はサードパーティプロバイダによりホストされてもよい。クラウドサーバ上で利用可能であるアプリストアに関して、クラウドサーバは、アドレス指定可能デバイスドライバをメモリに記憶してもよい。新しいアドレス指定可能デバイス３１ａ〜３１ｎがホームデバイス３２又はハブデバイス３４により検出されたとき、ホーム又はハブデバイスは、ソフトウェアパッケージ全体でなく対応するドライバ又はソフトウェアを「プルダウンし（pull  down）」てもよい。
【００９０】
次に図１９をさらに参照し、ブリッジ８２のさらなる詳細が次に説明される。Ｋ４Ｃｏｎｎｅｃｔブリッジ８２は、メッセージキュー又はメッセージキューサーバ５０のための変換レイヤを提供して、Ｋ４Ｃｏｎｎｅｃｔシステム２０に接続されたアドレス指定可能デバイス３１ａ〜３１ｎと通信する。ユーザ又は所定シーンがＫ４Ｃｏｎｎｅｃｔシステム２０でコマンドを実行したとき、メッセージキュー５０は、一般的形式のメッセージをＮｏｄｅ．ｊｓ  ＡＰＩを通して関連づけられたブリッジ８２に送信する。当業者に十分理解されるように、一般的形式のメッセージは、異なるＡＰＩを通して、又は異なる手法によって送信されてもよい。ブリッジ８２は、次いで、一般的コマンドをアドレス指定可能デバイス３１ａ〜３１ｎのための特定のコマンドに変換し、変換されたコマンドをアドレス指定可能デバイスに送信する。
【００９１】
ブリッジ８２の独立性は、有利には、開発者がＫ４Ｃｏｎｎｅｃｔシステム２０の全体から独立してほぼいかなる制御可能デバイスについてもブリッジを書くことを可能にする。例えば、一般にメッセージキュー５０とは別個に記憶され得るブリッジ８２がコード化された後、ブリッジ８２は、Ｋ４Ｃｏｎｎｅｃｔソフトウェアプログラム全体を更新する必要なくメッセージキュー５０にダウンロードされ、統合されてもよい。
【００９２】
より詳細には、例えば、新しいアドレス指定可能デバイス３１ａ〜３１ｎがホームデバイス３２又はハブデバイス３４により検出されたとき、この新たに検出された制御可能デバイスをサポートする新しいソフトウェア、すなわち、ブリッジがダウンロードされてもよい。例えば、制御可能デバイスの「アプリストア」が、新たに検出された制御可能デバイスのサポート又はブリッジを提供してもよい。「アプリストア」は、例えば、クラウドサーバ３３又はサードパーティプロバイダによりホストされてもよい。クラウドデバイス３３上で利用可能であるアプリストアに関して、クラウドデバイスは、アドレス指定可能デバイスブリッジをメモリに記憶してもよい。新しいアドレス指定可能デバイス３１ａ〜３１ｎがホームデバイス３２又はハブデバイス３４により検出されたとき、ホーム又はハブデバイスは、ソフトウェアパッケージ全体でなく対応するブリッジ又はソフトウェアを「プルダウンし」てもよい。
【００９３】
各ブリッジの独立性は、さらに、ホームＫ４Ｃｏｎｎｅｃｔシステム２０上の帯域幅及び記憶空間のより良い使用を可能にする。ブリッジが更新されるたびにソフトウェア更新パッケージ全体をダウンロードしないことにより、ユーザ及びＫ４Ｃｏｎｎｅｃｔは、インターネット帯域幅及びデータを保護する。さらに、各ユーザにより所望されるブリッジ８２のみダウンロードする能力は、ユーザがＫ４Ｈｏｍｅを実行するデバイス、例えばホームデバイス３２及び／又はＫ４Ｈｕｂ３４上のメモリ空間を保護することを可能にする。この保護されたメモリ空間は、例えば、Ｋ４Ｃｏｎｎｅｃｔシステム２０がユーザデバイス上の膨張したソフトウェア又は限られた記憶空間をあまり懸念することなく、新しいホームオートメーションデバイスのために比較的多数のブリッジを提供することを可能にする。
【００９４】
次に図２０を詳細に参照すると、新しいブリッジ９１が作成され、Ｋ４Ｃｏｎｎｅｃｔシステム２０にロードされたとき、各Ｋ４Ｃｏｎｎｅｃｔシステム上の更新サーバ５９が、クラウドデバイス３３又はＫ４Ａｗａｙに接続し、システムがいつ更新を実行するかを通知される。当業者に十分理解されるように、更新サーバ５９は、クラウドサーバと通信し、該クラウドサーバとの通信に基づいて更新が存在するかどうかを（例えば、日付、更新ＩＤ等に基づいて）決定することにより、更新を実行してもよい。新しいブリッジのデバイス署名及びデバイス記述が、更新サーバ５９に送信される。デバイス署名及び記述に関連づけられた１つ又は複数のファイルは、一般に、完全なブリッジファイルよりかなり小さく、完全なブリッジファイルは、新しい制御可能デバイスがＫ４Ｃｏｎｎｅｃｔシステム２０に最終的に接続される場合にダウンロードされる。更新サーバ５９は、デバイス署名を発見サーバ３５に、デバイス記述を構成サーバ６２に送信する。デバイス署名は、発見サーバ３５が利用可能なポートをスキャンし、新しいブリッジ９１により接続できる新しいアドレス指定可能デバイス３１ａ〜３１ｎがホーム内にあるかを認識することを可能にする。デバイス記述は、例えば、新しい制御可能デバイスをセットアップするための、上記で説明されたようなウィザード処理を含む。発見サーバ５５が、新しいブリッジ９１により接続できる新しい制御可能デバイスを見つけたとき、発見サーバ５５は、構成サーバ６２にメッセージを送信して、構成サーバに新しいアドレス指定可能デバイスを通知する。発見サーバ５５は、さらに、新しいアドレス指定可能デバイス通知を通知サーバ６６に送信し、通知サーバ６６は、リモートデバイス３６のディスプレイ４８上でユーザインターフェース３５を起動して、ユーザに新しいアドレス指定可能デバイスを知らせる。ブリッジウィザード９２がさらに起動される。ブリッジウィザード９２は、デバイス記述に関し、かつ構成サーバ６２から要求された情報を集める。
【００９５】
ひとたび情報が集められ、ユーザが例えばブリッジウィザード９２を介して応答を提供すると、構成サーバ６２は、ローダサーバ６４に、新しい構成されたアドレス指定可能デバイスを通知する。ローダサーバ６４は、更新サーバ５９からのフルブリッジダウンロードを要求し、更新サーバは、クラウドデバイス３３又はＫ４Ａｗａｙからのフルのブリッジを要求する。更新サーバ５９は、フルブリッジダウンロードをローダサーバ６４に送信し、ローダサーバ６４は、そのファイルを記憶し、新しいブリッジを起動する。こうして、新たに接続された制御可能デバイスがＫ４Ｃｏｎｎｅｃｔシステム２０に接続される。
【００９６】
次に図２１ａをさらに参照すると、Ｋ４Ｃｏｎｎｅｃｔシステム２０のブリッジ８２ａ〜８２ｃは、さらに、所与のブリッジが機能しなくなった場合にシステムが中断をあまり被らなくてよいように「サンドボックス化されている（sandboxed）」と当業者に言われ得るものである。ブリッジ８２ａ〜８２ｃのうち１つが機能しなくなった場合、又はメッセージキュー５０に対する接続が機能しなくなった場合、残りのシステムコンポーネントは機能し続ける。ブリッジ８２ａ〜８２ｃは、これら自体及びメッセージキュー５０の間で通信を実行し、そのため、通信における機能停止がある場合、ブリッジは一般に通信を再スタートさせることになる。ブリッジ８２ａ〜８２ｃがエラーを有する場合、例えば、ローダサーバ６４がブリッジ８２ａ〜８２ｃをリロードする。これらのサンドボックス化された処理は、エラーがブリッジ８２ａ〜８２ｃにおいて発生した場合に、ホームデバイス３２又はハブデバイス３４上で実行するソフトウェアプログラム全体の再スタートを限定し、あるいは低減する。しかしながら、Ｋ４Ｃｏｎｎｅｃｔシステム２０に対する１つの効果は、機能しなくなったブリッジ８２ａ〜８２ｃに関連づけられた特定のアドレス指定可能デバイス３１ａ〜３１ｎを制御できないことであり得、このことは、ローダサーバ６４がブリッジをリロードしたときに迅速に是正され得る。メッセージキュー５０、他のサーバ、及び他のブリッジの機能性は、一般に影響を受けない。上述されたように、ブリッジは、アドレス指定可能ＨＡデバイスと通信するためにオンデマンドで、例えば、必要に応じて設置されてもよい。
【００９７】
次に図２１ｂを参照し、「サンドボックス化された」ブリッジ８２ａ〜８２ｃがＨＡシステム２０に関連して次に説明される。ＨＡシステム２０は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎを含む。アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び／又はカメラのうち、任意のものを含んでもよい。当然ながら、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、他の及び／又はさらなるデバイスを含んでもよい。アドレス指定可能デバイス３１ａ〜３１ｎは、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信する。
【００９８】
プロセッサ６４１と該プロセッサに関連づけられたメモリ６４２とが協働して、サンドボックス化されたブリッジ８２ａ〜８２ｃに関して上記で説明された機能を実行してもよい。より詳細には、プロセッサ６４１及びメモリ６４２は、メッセージキュー５０を実現するように構成される。すなわち、メッセージキュー５０は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎのうちそれぞれのデバイスのための一般的メッセージを生成する。プロセッサ６４１及びメモリ６４２は、さらに、サンドボックス化されたブリッジ８２ａ〜８２ｃを実現する。各々のサンドボックス化されたブリッジ８２ａ〜８２ｃは、メッセージキュー５０からの一般的メッセージ形式を、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎのうち所与の１つのための特定のメッセージにコンバートする。特定のメッセージは、それぞれのサンドボックス化されたブリッジ８２ａ〜８２ｃに対して固有である特定の制御及び／又はステータスメッセージであってもよい。
【００９９】
サンドボックス化されたブリッジ８２ａ〜８２ｃのうち１つが機能しなくなると、プロセッサ６４１及びメモリ６４２は、他のサンドボックス化されたブリッジを動作可能に維持する間、機能しなくなったサンドボックス化されたブリッジ８２ａ〜８２ｃをリロードすることを実現する。プロセッサ６４１は、例えば、サンドボックス化されたブリッジとメッセージキュー５０との間の通信、及び／又はサンドボックス化されたブリッジ８２ａ〜８２ｃ間の通信に基づいて、機能しなくなった１つのサンドボックス化されたブリッジ８２ａ〜８２ｃを決定してもよい。
【０１００】
ＨＡシステム２０は、プロセッサ６４１に結合された無線コントローラ４４ａ〜４４ｎをさらに含む。アドレス指定可能デバイス３１ａ〜３１ｎの各々は、それぞれの無線コントローラ４４ａ〜４４ｎを介してプロセッサ６４１とワイヤレスで通信するように構成されてもよい。
【０１０１】
一方法態様が、ＨＡシステム２０において複数のサンドボックス化されたブリッジ８２ａ〜８２ｃを動作可能に維持する方法に向けられる。方法は、プロセッサ６４１と該プロセッサ６４１に関連づけられたメモリ６４２とを使用して、メッセージキュー５０を介して、複数のアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのうちそれぞれのデバイスのための複数の一般的メッセージを生成し、メッセージキューからの一般的メッセージを、複数のサンドボックス化されたブリッジ８２ａ〜８２ｃを用いてアドレス指定可能ＨＡデバイスのうち所与の１つのための特定のメッセージにコンバートすることを含む。方法は、プロセッサ６４１及びメモリ６４２を使用して、複数のサンドボックス化されたブリッジ８２ａ〜８２ｃのうち１つが機能しなくなると、他のサンドボックス化されたブリッジを動作可能に維持する間、機能しなくなったサンドボックス化されたブリッジをリロードすることをさらに含む。
【０１０２】
次に図２２をさらに参照すると、ホームデバイス３２又はハブデバイス３４上で実行され得るＫ４Ｈｏｍｅソフトウェアは、Ｋ４Ｃｏｎｎｅｃｔシステム２０の要素９５のリストとして、機能する応答シーンをさらに特徴づける。Ｋ４Ｃｏｎｎｅｃｔシステム２０は、次いで、システム２０に接続されたアドレス指定可能デバイス３１ａ〜３１ｎにおけるアクションを引き起こしてもよい。応答シーンは、さらに、例えば、ユーザインターフェース３５においてシステム２０のステータスに基づいて、平易な言葉の通知をユーザに返すことができる。
【０１０３】
標準応答シーンが、シーンウィザードを用いてユーザによりセットアップされてもよい。シーンウィザードは、アドレス指定可能デバイス３１ａ〜３１ｎとコマンドイベント変数又はトリガとのリストを含む。ユーザは、例えばＫ４Ａｐｐのユーザインターフェース３５を介して、シーンのトリガと、影響を受けるアドレス指定可能デバイス３１ａ〜３１ｎと、シーンに応答するためにアドレス指定可能デバイスが取ることになるアクション又はステートとを選択する。
【０１０４】
標準応答シーンは、プログラムにより検出されたトリガのリストによって、又はユーザがユーザインターフェース３５内のシーン９３をアクティブ化することによって開始されてもよい。コマンド変数又はトリガリストの一例が、以下のとおりである：トリガ１は、時間期間であり、トリガ２は、モバイル制御デバイスがネットワークに接続されることであり、トリガ３は、設定された日であり、トリガ４は、接続された動き検出器が動きを感知することである。
【０１０５】
シーンは、ユーザ定義されたコンポーネント、又は、アドレス指定可能デバイス３１ａ〜３１ｎのうちいずれのセットがこのシーンのためにコンタクトされることになるか、及び、そのアドレス指定可能デバイスがどのステートを取るべきかを指定している。例えば、制御可能デバイス１  ３１ａが、テレビジョン（ＴＶ）であり、アドレス指定可能デバイス２  ３１ｂが、ＴＶの部屋内のライトのセットであり、アドレス指定可能デバイス３  ３１ｃが、ＴＶの部屋内の部屋のサーモスタットであり、アドレス指定可能デバイスｎ  ３１ｎが、コーヒーメーカーの動作を制御する。システム２０は、アドレス指定可能デバイスに送信されるコマンドを生成する。アドレス指定可能デバイス３１ａ〜３１ｎは、コマンドに基づいて応答する。
【０１０６】
例えば、トリガ１は、７〜９ｐｍにアクティブ化され、トリガ２は、所与のユーザのスマートフォン又はリモートデバイス３６がローカルネットワークに接続されたときにアクティブ化され、トリガ３は、平日にアクティブ化され、トリガ４は、リビングルームの動き検出器が動きを検出することによりアクティブ化される。トリガに基づいて、ユーザ定義されたコンポーネントは、ＴＶをオンにして所与のチャネルをつけ、ＴＶの部屋内のライトを調光し、サーモスタットを７２度に調整し、晩のカフェイン抜きコーヒーを入れ始める。
【０１０７】
標準応答シーンは、さらに、クラウドデバイス３３又はＫ４Ａｗａｙを使用するユーザと、利用可能シーンをリストアップするマーケットプレイスとの間で共有されてもよい。Ｋ４Ｃｏｎｎｅｃｔシステム２０は、さらに、Ｋ４Ｈｏｍｅの個々のユーザに、機能性及びさらなる応答シーンを追加するために接続すべきとり得る他の及び／又はさらなるアドレス指定可能デバイス３１ａ〜３１ｎを示唆してもよい。
【０１０８】
ひとたびユーザが応答シーンウィザードを完了させ、あるいは共有された応答シーンを追加すると、リモートデバイス３６が、ユーザインターフェース３５を介して、アクティブ化するとシーンがどのように見えるかを示すシーンのモデル化されたアニメーションを表示してもよい。ユーザが、さらに、１日全体を通して機能することになるシーンのアニメーションとそのトリガとにアクセスしてもよい。
【０１０９】
次に図２３〜図２９ａを参照すると、Ｋ４Ｈｏｍｅの別の態様は、プロパティベースの構成要素（property  based  ingredients）に基づく構成要素応答シーンとして参照され得るものであり、これは、レシピ内の同じプロパティを生み出せる異なるアドレス指定可能デバイスの使用を可能にする。例えば、シーンが所与の機能のために特定のアドレス指定可能デバイス３１ａ〜３１ｎに結び付けられることに代わって、シーンは特定のプロパティに基づく。これは、有利には、複数の応答シーンが、応答シーンが必要とする同じ要素を用いて実現されることを可能にし、しかし、同一のデバイスを使用しない。
【０１１０】
例えば、所与のユーザが、別のユーザがいつ家にいるかを知りたい場合、ユーザは、誰かが家にいるか否かを示すために使用できるアドレス指定可能デバイス３１ａ〜３１ｎを識別する応答シーンをセットアップしてもよい。所与のユーザについて、応答シーンにおけるアドレス指定可能デバイス３１ａ〜３１ｎ又は構成要素は、非アクティブ化された警報システムであり得、この警報システムは、始動されたときに、応答シーンをトリガするための所望のプロパティを与える。次いで、応答シーンは、Ｋ４Ｃｏｎｎｅｃｔシステム２０に、所与のユーザに対しての他のユーザが家にいるという通知、例えば、平易な言葉の通知を送信させる。次いで、このシーンは、警報システムを有さず、しかし動き検出器１０１を有するさらなる第３のユーザとの間で共有でき、動き検出器１０１は、レシピを完成させるために所望のプロパティを与えることができるデバイスの同じリスト内に入る。換言すると、シーンは、特定のアドレス指定可能デバイス３１ａ〜３１ｎにかかわらず、所望の結果に関連づけられる。レシピがほぼ完成されており、あるいはさらなる制御可能デバイスを追加することにより拡張できる事例において、Ｋ４Ｃｏｎｎｅｃｔシステム２０は、例えばリモートデバイス３６のユーザインターフェース３５を介して、とり得るレシピベースの応答シーンをユーザに知らせ、これらをオンラインマーケットにリンクする。オンラインマーケットでは、ユーザが無料でか又は購入でかのいずれかで、アドレス指定可能デバイス３１ａ〜３１ｎをダウンロードすることができる。
【０１１１】
構成要素リストに基づく応答シーンの別の例は、システム２０がレシピが満たされていないと示す場合に、システム２０がレシピが満たされていないという平易な言葉の通知を送信できることである。例えば、人が特定の時間までに家に到着していない場合、そのレシピは、存在（動き検出器、カメラ、及び接続されたスマートフォン（すなわち、リモートデバイス３６）によって）と時間との構成要素を含む。特定の時間における存在の欠如が、シーンをトリガし、ユーザに警報する。当然ながら、その他、例えば、監視センタ及び／又は他の指名された人が警報されてもよい。
【０１１２】
ユーザは、構成要素応答シーンをセットアップし（ブロック１１４）、あるいはクラウドデバイス３３から共有された応答シーンをダウンロードすることができる。Ｋ４Ｈｏｍｅは、次いで、すべての構成要素がＫ４Ｃｏｎｎｅｃｔシステム２０内に存在するかどうかを決定する（ブロック１０２）。構成要素プロパティを提供できるアドレス指定可能デバイス３１ａ〜３１ｎがＫ４Ｃｏｎｎｅｃｔシステム２０に接続されている場合、システムは、アドレス指定可能デバイスをポーリングすることにより（ブロック１０３）、アドレス指定可能デバイスのステート（ブロック１０６）を決定する。シーンの構成要素のすべてが満たされる場合（ブロック１０４）、Ｋ４Ｃｏｎｎｅｃｔシステム２０は、シーンを実行する（ブロック１０８）。Ｋ４Ｃｏｎｎｅｃｔシステム２０の構成要素が条件を満たさない場合（ブロック１０４）、システムは、プロパティステートを再度ポーリングしてもよく（ブロック１０３）、あるいはＫ４Ｈｏｍｅ又は応答シーンにより設定された指定量の時間待機してもよい。構成要素を提供できるアドレス指定可能デバイス３１ａ〜３１ｎが接続されていないため、構成要素／プロパティのいずれかがＫ４Ｃｏｎｎｅｃｔシステム２０において利用可能でない場合、Ｋ４Ｈｏｍｅは、メッセージを解析サーバ５４に送信して、クラウドデバイス３３からの示唆された制御可能デバイスを要求し（ブロック１１０）、さらに、示唆された制御可能デバイスを購入する機会をユーザに例えばユーザインターフェース３５上で提示するように協働してもよい（図２４）。新しいアドレス指定可能デバイスは、ブロック１１２において設置できる。
【０１１３】
別の例において、ユーザが、カメラを利用して特定の時間期間の間に動きイベントを記録する応答シーンをダウンロードしてもよい。例えば、所与のユーザが、自分が８ａｍ〜５ｐｍに仕事をしている間、自分の犬がいつリビングルームのカウチに登るかを記録したい。次いで、所与のユーザは、３つの構成要素、すなわち、ビデオを記録する能力（Ｋ４Ｈｏｍｅに接続されたカメラにより提供される）と、動き（同じカメラの内蔵の検出器により提供される）と、時間期間とでシーンを構築する。次いで、所与のユーザは、Ｋ４Ａｗａｙ又はクラウドデバイス３３上の応答シーンマーケットプレイスでこれを共有する。別のユーザが、例えば、このシーンをダウンロードし、このシーンを夜のホームセキュリティのために使用しようとする。別のユーザは、カメラを有するが、動きを感知する能力を有さない。Ｋ４Ｈｏｍｅは、別のユーザに、このシーンを使用可能にするための独立した動きセンサを設置するように示唆し、Ｋ４Ｓｔｏｒｅ又はクラウドデバイス３３に対するリンクを提供する。Ｋ４Ｓｔｏｒｅ又はクラウドデバイス３３から、複数のブランド及び型の動きセンサのうち任意のものの注文が購入できる。次いで、別のユーザは動きセンサを設置し、上記動きセンサは、すべての構成要素が満たされるため、応答シーンを成立させることが今や可能である。次いで、別のユーザは、構成要素を提供する異なるデバイスを用いると同時に同じベースの応答シーンを用いて、１０ｐｍ〜６ａｍに自身のリビングルーム内のいかなる動きも記録する。
【０１１４】
例えば、ユーザが、「ホーム」のアイデアを提供するために応答シーンを生成してもよい。応答シーンは、「私が家にいるとき、私はリビングルームのライトが欲しい」のように、ユーザに関して生成されてもよい。Ｋ４Ｃｏｎｎｅｃｔシステム２０は、例えばメニューを介して、「私が家にいるかどうかを決定するためにあなたが使用できるｘ個のデバイスがあり、ここにライトを提供するデバイスがある」ことを示し、あるいは表示する。換言すると、シーンが最初構築され、次いで、シーンを作ることができるアドレス指定可能デバイス３１ａ〜３１ｎが提供される。
【０１１５】
次に図２９ｂ及び図２９ｃを参照し、ＨＡシステム２０に関連するものとしての構成要素応答シーンが次に説明される。ＨＡシステム２０は、所与のロケーションにアドレス指定可能ＨＡデバイス３１ａ〜３１ｎを含む。アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び／又はカメラのうち、任意のものを含む。当然ながら、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎは、さらなる及び／又は他のデバイスを含んでもよい。
【０１１６】
ＨＡシステム２０は、ユーザから例えばワイヤレスで第１のトリガアクションと第１の応答イベントとを含む第１のシーンを取得するＨＡデバイスシーンコントローラ５８１をさらに含む。例えば、第１のトリガは「私が家に着いたとき」であってもよく、第１の応答イベントは「リビングルームのライトをオンにする」であってもよい。実際、第１のトリガアクション及び第１の応答イベントは、アドレス指定可能ＨＡデバイス３２ａ〜３２ｎのうちいずれが第１のトリガアクション及び第１の応答イベントを実現することを担うかを識別しない。ＨＡデバイスシーンコントローラ５８１は、ユーザインターフェースデバイス３６０、例えば、より詳細にはユーザインターフェースコントローラ３５３に結合されてユーザ入力を可能にするユーザ入力デバイス３５１から、第１のトリガアクション及び第１の応答イベントを取得してもよい。ユーザインターフェースデバイス３６０は、リモートデバイス、例えば、タブレットコンピュータ、スマートフォン等であってもよい。２つ以上の第１のトリガアクション及び任意数の第１の応答イベントがあってもよい。
【０１１７】
ＨＡデバイスシーンコントローラ５８１は、さらに、例えばユーザインターフェースコントローラ３５３に結合されたユーザインターフェースデバイス３６０のディスプレイ３５４に、第１の所望シーンを実現することができるアドレス指定可能ＨＡデバイス３１ａ〜３１ｎのうち対応するデバイスの第１のユーザ選択可能リストを提示する。換言すると、ＨＡデバイスシーンコントローラ５８１は、第１のトリガアクション及び第１の応答イベントに対応するか又はこれらを実行することになるアドレス指定可能ＨＡデバイス３１ａ〜３１ｎを提示する。
【０１１８】
ＨＡデバイスシーンコントローラ５８１は、さらに、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎのうち第１のユーザ選択されたデバイスを決定し、第１のトリガイベントが発生すると、第１のユーザ選択されたアドレス指定可能ＨＡデバイスを用いて第１の応答イベントを実行し、これにより、第１の所望シーンを実現する。第１の所望シーンは、ワイヤレスで実行されてもよく、例えば、ＨＡデバイスシーンコントローラ５８１は、アドレス指定可能ＨＡデバイス３１ａ〜３１ｎとワイヤレスで通信して、第１の所望シーンを実現してもよい。いくつかの実施形態において、ＨＡデバイスシーンコントローラ５８１は、トリガイベントが発生すると通知を生成してもよい。
【０１１９】
ＨＡデバイスシーンコントローラ５８１は、さらに、クラウドから、例えばワイヤレスで、第２のトリガアクションと第２の応答イベントとを含む第２の所望シーンを取得する。第２のトリガアクション及び第２の応答イベントは、第２のトリガアクション及び第２の応答イベントを実現することを担うアドレス指定可能ＨＡデバイス３１ａ〜３１ｎを識別することなく取得される。
【０１２０】
ＨＡデバイスシーンコントローラ５８１は、例えばディスプレイ３５４に、第２の所望シーンを実現することができる対応するアドレス指定可能ＨＡデバイス３１ａ〜３１ｎの第２のユーザ選択可能リストを提示してもよい。換言すると、第２のシーンは共有されたシーンとして、例えば別の人のＨＡシステムから取得される。ＨＡデバイスシーンコントローラ５８１は、さらに、第２のユーザ選択されたアドレス指定可能ＨＡデバイス３１ａ〜３１ｎを決定し、上記で説明されたのと同様に、例えばワイヤレスで、第２のトリガイベントが発生すると、第２のユーザ選択されたアドレス指定可能ＨＡデバイスを用いて第２の応答イベントを実行し、これにより、第２の所望シーンを実現する。
【０１２１】
ＨＡデバイスシーンコントローラ５８１は、さらに、所与のロケーションにおけるアドレス指定可能ＨＡデバイス３１ａ〜３１ｎがシーンを実現することができないときを決定してもよい。このことが当てはまるとき、ＨＡデバイスシーンコントローラ５８１は、例えばディスプレイ３５４に、さらなるアドレス指定可能ＨＡデバイスについて、購入オファーを提示する。ユーザは、例えば、ハイパーリンクをクリックすることにより、さらなるアドレス指定可能ＨＡデバイスを購入してもよい。
【０１２２】
一方法態様が、ＨＡシステム２０において第１及び第２の所望シーンを実現する方法に向けられる。方法は、ＨＡデバイスシーンコントローラ５８１を使用して、ユーザから第１のトリガアクションと第１の応答イベントとを含む第１の所望シーンを取得し、第１の所望シーンを実現することができる対応するアドレス指定可能ＨＡデバイス３１ａ〜３１ｎの第１のユーザ選択可能リストを提示することを含む。ＨＡデバイスシーンコントローラ５８１は、さらに、第１のユーザ選択されたアドレス指定可能ＨＡデバイス３１ａ〜３１ｎを決定し、第１のトリガイベントが発生すると、第１のユーザ選択されたアドレス指定可能ＨＡデバイスを用いて第１の応答イベントを実行し、これにより、第１の所望シーンを実現することに使用される。
【０１２３】
ＨＡデバイスシーンコントローラ５８１は、さらに、クラウド３３１から第２のトリガアクションと第２の応答イベントとを含む第２の所望シーンを取得し、第２の所望シーンを実現することができる対応するアドレス指定可能ＨＡデバイス３１ａ〜３１ｎの第２のユーザ選択可能リストを提示することに使用される。デバイスシーンコントローラ５８１は、さらに、アドレス指定可能ＨＡデバイスのうち第２のユーザ選択されたデバイスを決定し、少なくとも１つの第２のトリガイベントが発生すると、第２のユーザ選択されたアドレス指定可能ＨＡデバイス３１ａ〜３１ｎを用いて第２の応答イベントを実行し、これにより、第２の所望シーンを実現することに使用される。いくつかの実施形態において、ＨＡデバイスシーンコントローラ５８１は、所与のロケーションのアドレス指定可能ＨＡデバイス３１ａ〜３１ｎがシーンを実現することができないときを決定し、さらなるアドレス指定可能ＨＡデバイスの購入オファーを提示することに使用される。
【０１２４】
次に、Ｋ４Ｃｏｎｎｅｃｔシステム２０に関連するものとしての開発キットが説明される。Ｋ４Ｃｏｎｎｅｃｔシステム２０は、ソフトウェア及びハードウェア双方の開発キットを提供する。ソフトウェア開発キットは、開発者がメッセージキューとのすべての通信と対話し、かつ該通信を扱うための完全なデバイススタックを構築する。ビルトインのブリッジエディタが、例えば、開発者がウェブブラウザからブリッジを作成及び編集することを可能にし、記述エディタが、デバイス記述ＸＭＬファイルを作成する。
【０１２５】
ハードウェア開発キットは、開発者が中間ブリッジなしに制御可能デバイスを直接メッセージキューに接続することを可能にする。例えば、開発者がその制御可能デバイスに通信プロトコルを追加するとき、Ｋ４Ｃｏｎｎｅｃｔシステム２０、詳細にはその通信コンポーネントが、そのハードウェアに統合されて、システムのブリッジをバイパスし、メッセージキューと直接通信してもよい。
【０１２６】
次に、クラウドデバイス３３又はＫ４Ａｗａｙのさらなる詳細が説明される。すでに説明されたＫ４Ａｗａｙの機能に追加で、Ｋ４Ａｗａｙは外部ＡＰＩをホストする。外部ＡＰＩは、独自にインターネットベースのサービスに接続することができないデバイスのためのインターフェースを提供する。Ｋ４Ｃｏｎｎｅｃｔシステム２０及びＫ４Ａｗａｙに接続されたとき、前にネットワーク化されていないデバイスが、そのＫ４Ａｗａｙとの接続を通して、例えばＩＦＴＴＴ、Ｅｖｅｒｎｏｔｅ、及びＦａｃｅｂｏｏｋ（登録商標）などの外側のサービスにアクセス可能になる。
【０１２７】
セキュリティに関して、Ｋ４Ｃｏｎｎｅｃｔシステム２０のセキュリティモデルは、システムに比較的高いレベルのセキュリティを提供することに基づく。各々の電話又はリモートデバイス３６は、２つのレベルで認証される。第１のレベルは、システム管理者により追加されたデバイス固有の許容である。第２のレベルは、リモートデバイス３６上のユーザログインである。この２レイヤのシステムは、正当なユーザログインがあった場合でさえ、承認されていないデバイスのログインの発生を低減する。
【０１２８】
Ｋ４Ｃｏｎｎｅｃｔシステム２０は、その解析データ収集においてプライバシー手法を通してセキュリティをさらに提供する。データは、２つの別個のサーバに記憶される。一方のサーバが、匿名ユーザを表すトークンを保持し、他方のサーバが、使用及び解析データを保持する。２つのサーバ間の接続は、技術的ヘルプのためにユーザにより承認されたとき、発生する。ユーザが応答シーン又はデバイス推奨を送信されたとき、その示唆は、典型的に、上記ユーザを表すトークンにのみ送信される。ユーザは、常時匿名のままである。換言すると、ユーザに関する情報の一部は、「知る必要」原則と同様に、技術的サポートを提供するために選択的に利用可能であり得る。
【０１２９】
Ｋ４Ｃｏｎｎｅｃｔシステム２０は、収集されるデータに対する完全な権利及び所有権をユーザに授与するセキュリティ手法をさらに使用する。Ｋ４Ｃｏｎｎｅｃｔシステム２０は、ユーザからのデータを収集し、解析し、それを別個のセキュアサーバ上に記憶する。閾時間期間、例えば、１年の後、データは恒久的に削除される。この方法は、上記データをいつでも恒久的に削除する能力をユーザに授与するユーザオーバーライドを含む。
【０１３０】
Ｋ４Ｈｕｂ３４は、ホームルータに接続されたＷｉｆｉルータとしてさらに使用でき、そのため、Ｋ４Ｃｏｎｎｅｃｔシステム２０に接続されたすべてのデバイスは、Ｋ４Ｈｕｂ３４のプライベートＷｉｆｉネットワークを通してルーティングされる。このことは、有利には、Ｋ４Ｃｏｎｎｅｃｔシステムに接続されたデバイス、例えばパーソナルコンピュータなどの間の分離を可能にする。この分離は、Ｋ４Ｃｏｎｎｅｃｔシステム２０のデバイス間のネットワークに影響することからのパーソナルコンピュータに対する攻撃の機会を低減する可能性がある。
【０１３１】
次に図３０ａを参照すると、別の態様が、Ｋ４Ｃｏｎｎｅｃｔシステム２０’’上で使用されるヘルス関連デバイスに向けられる。Ｋ４Ｃｏｎｎｅｃｔシステム２０’’と連動したヘルス関連デバイスの使用は、Ｋ４Ｌｉｆｅと称されることがある。しかしながら、ヘルス関連か否かにかかわらず、他の及び／又はさらなるデバイスがＫ４Ｌｉｆｅシステムの一部であってもよいことが留意されるべきである。上記で説明されたＫ４Ｃｏｎｎｅｃｔシステムと同様に、Ｋ４Ｌｉｆｅシステム２０’’はアドレス指定可能デバイス３１ａ’’〜３１ｎ’’を含み、これらのうちいくつかが、例えば、歩いた歩数、血圧、体重、及び他のメトリクスなどのヒューマンヘルス関連データを測定するヘルスデバイスの形式であり得る。換言すると、Ｋ４Ｌｉｆｅシステム２０’’は、上記で説明されたＫ４Ｃｏｎｎｅｃｔシステムの機能を実行し、以下でさらに詳細に説明されるようにさらなるヘルス関連機能を含む。例えば、ヘルスデバイスは、例えば、１つ以上のベッドセンサ、動き検出器、フィットネス追跡デバイス、血圧バンド／モニタ、体重計、及び温度プローブを含んでもよい。当然ながら、例えばＫ４Ｈｏｍｅシステムからの、他の及び／又はさらなるヘルスデバイス若しくはセンサが使用されてもよい。
【０１３２】
さらに、Ｋ４Ａｐｐは、社会的交流、例えば、写真共有及びライブビデオチャットを提供する。より詳細には、ライブビデオチャットが開始されるとき、Ｋ４Ｌｉｆｅシステム２０’’は、ライブビデオチャットの開始時間及び継続時間を、中央サーバ、例えばクラウドデバイス３３’’又はローカルサーバデバイスに報告してもよい。
【０１３３】
Ｋ４Ｌｉｆｅシステム２０’’、例えば解析サーバ５４’’は、ユーザの全体的ヘルスを示すスコアを計算し、このスコアは、Ｋ４Ｓｃｏｒｅとして参照されてもよい。Ｋ４Ｓｃｏｒｅは、直接測定されたヘルスデータと、アドレス指定可能デバイス又はヘルスデバイス３１ａ’’〜３１ｎ’’の使用から測定された活動レベルと、Ｋ４Ａｐｐの使用により測定された社会的関わりとを組み合わせることにより決定される。Ｋ４Ｓｃｏｒｅは、他の及び／又はさらなる情報を含み、あるいは該情報に基づいてもよい。このスコアの過去の傾向が、例えば、ユーザの健康における向上又は低下を予測するために使用されてもよい。当然ながら、このデータは、他の目的で使用されてもよく、例えば、ヘルスケア専門家、モニタリングステーション等のような他のユーザに通信されてもよい。例えば、座りがちな人が、不規則な睡眠パターンを有し、わずかな社会的交流が、潜在的な健康問題を有するとして識別されてもよい。Ｋ４Ｌｉｆｅシステム２０’’及びＫ４Ｓｃｏｒｅが比較的有利であり得る１つの例示的なシナリオは、年配の親によるシステムの使用であって、その子供が親の健康状態をチェックしたい場合であり、あるいはユーザがその自身の健康状態を単に知らされていたい場合である。
【０１３４】
いくつかの実施形態において、ヘルス又は活動データは、家族メンバによって、又は介護付き住宅などのグループ生活設定において、又はオンサイト若しくはリモートの監督者によって閲覧されてもよい。ヘルスデータは、さらに、例えばリモートデバイス３６’’のユーザインターフェース３５’’を介して表示されて、個々のユーザのヘルススコア又はユーザのコミュニティの総計を示してもよい。
【０１３５】
次に図３０ｂを参照すると、Ｋ４Ｃｏｎｎｅｃｔ又はＨＡシステム２０’’のヘルス関連の態様が次に説明される。ＨＡシステム２０’’は、アドレス指定可能ＨＡデバイス３１ａ’’〜３１ｎ’’を含む。アドレス指定可能ＨＡデバイス３１ａ’’〜３１ｎ’’は、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、カメラ、及び／又はヘルス関連センサ（例えば、部屋占有センサ、ベッドセンサ、歩数カウンタ、心拍モニタ、血圧モニタ、温度センサ、及び体重計）のうち、任意のものを含んでもよい。当然ながら、アドレス指定可能ＨＡデバイス３１ａ’’〜３１ｎ’’は、他の及び／又はさらなるデバイスを含んでもよい。アドレス指定可能デバイス３１ａ’’〜３１ｎ’’は、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信する。
【０１３６】
ＨＡシステム２０’’は、ユーザソーシャルネットワーキングを可能にし、かつこれに基づいてユーザソーシャルネットワーキングデータを生成するユーザインターフェースデバイス３６’’をさらに含み、上記データは、例えば、いずれのソーシャルネットワーキングアプリケーションか、及び各ソーシャルネットワーキングアプリケーションを用いて費やされた時間の量に関連するデータである。ユーザインターフェースデバイス３６’’は、ポータブルハウジング３６１’’と、ポータブルハウジングにより担体されたディスプレイ４８’’と、ポータブルハウジングにより担体されたワイヤレス通信回路３６２’’と、ディスプレイ及びワイヤレス通信回路に結合されて少なくとも１つのワイヤレス通信機能を実行するユーザインターフェースデバイスコントローラ４９’’とを含む。例えば、ユーザインターフェースデバイス３６’’は、スマートフォン又はタブレットであってもよく、任意数のソーシャルネットワーキングアプリケーション、例えば、写真共有、ライブビデオチャット、及びソーシャルメディアアプリケーションを実行してもよい。
【０１３７】
ＨＡシステム２０’’は、コントローラ３８１’’と、これに結合されたメモリ３８２’’とをさらに含み、測定されたユーザヘルスデータを記憶し、アドレス指定可能ＨＡデバイス３１ａ’’〜３１ｎ’’に基づいてユーザ身体活動データを決定する。身体活動は、時間期間のある期間に基づいて決定されてもよい。
【０１３８】
コントローラ３８１’’は、さらに、ユーザソーシャルネットワーキングデータとユーザヘルスデータとユーザ身体活動データとに基づいてユーザヘルススコアを生成し、クラウド３３１’’を介してユーザヘルススコアを通信する。コントローラ３８１’’は、さらに、例えば、上記時間の期間内に間隔を置いて決定された身体活動レベルに基づいてユーザヘルススコアを生成してもよい。
【０１３９】
コントローラ３８１’’は、例えば、ユーザヘルススコアが閾値を超えているとき、通知を生成してもよい。より詳細には、ユーザヘルススコアが不健康を示す場合、例えば、電子メール、ＳＭＳメッセージ、ディスプレイ上の視覚的通知等のような通知が生成され、クラウド３３１’’を介して電子デバイス３６１’’に通信されてもよい。いくつかの実施形態において、コントローラ３８１’’は、ある時間期間にわたり連続的な低下するユーザヘルススコアがある場合に通知を生成してもよい。ひとたびユーザヘルススコアがクラウド３３１’’に通信されると、上記スコアは、例えば、当業者に十分理解されるように、記憶、閲覧、分析、及び／又は他のデータ処理のために電子デバイス３６１’’によりダウンロードされてもよい。
【０１４０】
一方法態様が、ＨＡシステム２０’’においてユーザヘルススコアを通信する方法に向けられる。方法は、ユーザインターフェース３６’’を介して、ユーザソーシャルネットワーキングを許可し、これに基づいてユーザソーシャルネットワーキングデータを生成することを含む。方法は、コントローラ３６１’’及びこれに結合されたメモリ３６２’’を使用して、測定されたユーザヘルスデータを記憶し、複数のアドレス指定可能ＨＡデバイスに基づいてユーザ身体活動データを決定し、ユーザソーシャルネットワーキングデータとユーザヘルスデータとユーザ身体活動データとに基づいてユーザヘルススコアを生成し、クラウドを介してユーザヘルススコアを通信することをさらに含む。
【０１４１】
次に図３１を参照し、Ｋ４Ｃｏｎｎｅｃｔシステム２０’’’が、ロケーション決定にさらに使用されてもよい。Ｋ４Ｃｏｎｎｅｃｔシステム２０’’’が、Ｋ４Ｈｕｂ３４’’’の指定された範囲内にあるモバイルデバイス（すなわち、リモートデバイス３６’’’）を検出してもよい。これらの検出は、中央サーバ、例えば、クラウドデバイス又はＫ４Ａｗａｙに報告でき、中央サーバにおいて、例えば、上記検出が、家又は施設内の人又はデバイスのロケーションを推定するために使用される。２つ以上のＫ４Ｈｕｂ３４’’’が一時にあるモバイル又はリモートデバイス３６’’’を検出することができるとき、Ｋ４Ｃｏｎｎｅｃｔシステム２０’’’は、重なったデータの検出強度を比較し、いずれのＫ４Ｈｕｂが検出された人又はデバイスに最も近かったかを決定することにより、重複データを低減する。当然ながら、この実施形態に説明されるＫ４Ｃｏｎｎｅｃｔシステム２０’’’は、上記で説明されたＫ４Ｌｉｆｅシステムとの使用に特に有用であり得る。
【０１４２】
次に図３２を参照すると、別の実施形態において、複数のＫ４Ｌｉｆｅ（又は、Ｋ４Ｃｏｎｎｅｃｔ）システム２０ａ’’’’〜２０ｎ’’’’が、Ｋ４Ｃｏｍｍｕｎｉｔｙとして参照され得るシステムにおいて集合的に使用されてもよい。Ｋ４Ｃｏｍｍｕｎｉｔｙシステムは、有利には、例えばクラウドデバイス又はＫ４Ａｗａｙにおいて、複数のＫ４Ｌｉｆｅ又はＫ４Ｃｏｎｎｅｃｔシステム２０ａ’’’’〜２０ｎ’’’’からの集約データがコミュニティ内における比較のために解析されることを可能にする。他のコントローラ及び／又はデバイスからのデータがさらに集約されてもよい。当然ながら、任意の又は各々のシステム２０ａ’’’’〜２０ｎ’’’’が、例えば全体的にかあるいは共有又は負荷分散された配置で、データを処理し、あるいは集約してもよい。さらに、Ｋ４Ｃｏｍｍｕｎｉｔｙ２０ａ’’’’〜２０ｎ’’’’におけるユーザは、互いに通信し、いくつかの実施形態において、所与のユーザの実行に対して他がどれほど実行しているかを見ることができてもよい。当業者に十分理解されるように、ヘルス関連データが収集され、可能性として交換されているため、ヘルス関連データは、ヘルスデータのユーザ又は所有者がそれを共有することに同意し、あるいはそれを実際に共有するまで、匿名を維持され、暗号化されてもよい。
【０１４３】
いくつかの実施形態において、Ｋ４Ｌｉｆｅ又はＫ４Ｃｏｍｍｕｎｉｔｙシステムは、ヘルス関連デバイス及びヘルス関連データに限られなくてもよい。例えば、上記で説明されたシステムの原理は、ユーティリティ管理、例えば、アパートユーティリティ負荷制御管理に適用されてもよい。こうした実施形態において、センサ又は制御可能デバイスが、例えば、エネルギー及び水道使用を監視し、これに基づいてプロファイルを構築するために使用されてもよい。他のテナントと比べてより多くユーティリティを使用する特定のテナントが識別されてもよい。さらに、共用エリアが監視され、スコア付けされてもよい。さらに、スコアが各テナントに割り当てられてもよい。
【０１４４】
図３３を参照し、別の実施形態において、Ｋ４Ｌｉｆｅシステム１２０がヘルスケア設定において使用されて、どれほどの時間をヘルスケア専門家が患者又はユーザに与えているかを決定してもよい。１つの具体的な例において、システム１２０が養護ホームにおいて使用されて、どれほどの時間を看護師がユーザ／患者に費やしているか、並びに看護師が患者と共に部屋１４７にいたとき及び場合を監視してもよい。システム１２０、詳細にはハブデバイス１３４は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）などの短距離通信プロトコルコントローラ１９９を含む。当然ながら、ハブデバイス１３４は、上記又は他の実施形態においてホームデバイスと置き換え可能に使用されてもよい。さらに、各看護師は、短距離通信プロトコルを介してシステムと通信するように構成された回路１９６を含む識別デバイス又はタグ１９７を装着することになる。看護師がユーザ又は患者と共に部屋にいて、かつ通信範囲内にいるとき、システムとタグとが通信し、通信の時間及び継続時間がログをとられる。この情報は、当業者に十分理解されるように、Ｋ４Ｃｏｍｍｕｎｉｔｙ環境で使用できる。
【０１４５】
次に図３４を参照し、別の実施形態において、例えば、ヘルスケア施設などのＫ４Ｃｏｍｍｕｎｉｔｙシステムにおいて、アドレス指定可能デバイスに基づいたイベント又はチケットが生成されてもよい。上記イベントは、ログをとられ、かつ／あるいはスタッフに割り当てられ、リモートデバイス１３６’のユーザインターフェース１３５’に表示されてもよい。スタッフが、例えば、イベント生成に関連づけられた人の部屋に到着したとき、そのスタッフの人の到着時間が、例えば、上記で説明されたようにログをとられてもよい。
【０１４６】
いくつかの実施形態が、電子デバイスのプロセッサ又は処理回路により実行されるソフトウェアを含むものとして説明されたが、上記ソフトウェアは、ファームウェア、マシンコード、又はプロセッサ若しくは処理回路の構成を含み得ることが当業者に理解されるべきである。さらに、いくつかの実施形態が説明されたが、任意の所与の実施形態において説明された機能は、種々の実施形態において説明されたように、例えば他の及び／又はさらなる機能と共に使用されてもよいことが十分理解されるであろう。またさらに、用語「ホーム」が、特定のデバイス及び／又はロケーションを説明するために（例えば、ホームオートメーションに関して）使用されたが、システム及びそのコンポーネントは、アパート、ヘルスセンタ等などの他の場所において使用されてもよいことが当業者に十分理解されるであろう。ゆえに、用語「ホーム」は、ユーザの家に具体的に限定されない。さらに、プロセッサ及び／又はコントローラが本明細書において説明されたが、プロセッサ及び／又はコントローラは、それぞれの機能を実行する回路を含んでもよく、かつメモリをさらに含んでもよいことが十分理解されるであろう。メモリは、例えば、プロセッサ及び／又はコントローラにさらに結合されてもよい。
【０１４７】
方法態様が、本明細書に説明された実施形態のうち任意のものにおいて説明されたように、例えば、Ｋ４Ｃｏｎｎｅｃｔ、Ｋ４Ｌｉｆｅ、及びＫ４Ｃｏｍｍｕｎｉｔｙを含むホームオートメーション統合システムを作成することを含む。他の方法態様が、システム又はその様々なコンポーネントの動作と、上記で詳細化された機能のうち任意のもの、例えば、統合、通信、表示等を実行することとを含む。
【０１４８】
別の態様が、本明細書に説明されたシステム及び方法の機能のうち任意のものを実行する命令を記憶した非一時的コンピュータ読取可能媒体に向けられる。例えば、Ｋ４Ａｐｐ、Ｋ４Ｈｏｍｅ、及びＫ４Ａｗａｙの機能性が、非一時的コンピュータ読取可能媒体に記憶されたコンピュータ実行可能命令として具現化されてもよい。当然ながら、本明細書に説明された他の機能が、非一時的コンピュータ読取可能媒体上に具現化されてもよい。
【０１４９】
次に図３５を参照し、別の実施形態が、屋内建物エリア１０２２のための暖房、換気、及び空調（ＨＶＡＣ）システム１０２１を含む気候制御システム１０２０に向けられる。ＨＶＡＣシステム１０２１は、暖房と冷房との動作モード間で切り替え可能である。気候制御システム１０２０は、屋内建物エリア１０２２内にホームオートメーション（ＨＡ）サーモスタットデバイス１０３０を含む。ＨＡサーモスタットデバイス１０３０は、ハウジング１０３１と、ハウジングにより担体された屋内温度センサ１０３２とを含む。屋内温度センサ１０３２は、屋内建物エリア１０２２の屋内温度を感知する。
【０１５０】
温度コントローラ１０３３が、ハウジング１０３１により担体される。ＨＡサーモスタットデバイス１０３０は、温度コントローラ１０３３に結合されたワイヤレス通信回路１０３４をさらに含む。ワイヤレス通信回路１０３４は、例えば、Ｗｉｆｉ、セルラー、又は他のプロトコルを介して通信するように構成されてもよい。
【０１５１】
温度コントローラ１０３３は、屋内建物エリア１０２２の設定点温度を取得する。設定点温度は、ワイヤレスで、例えば、ワイヤレス通信回路１０３４を介して取得されてもよい。設定点温度は、当業者に十分理解されるように、入力デバイス、リモート電子デバイス、及び／又は他のデバイスから取得されてもよい。
【０１５２】
ＨＡサーモスタットデバイス１０３０は、ユーザ設定点温度入力デバイス１０３５とディスプレイ１０３６とをさらに含み、双方がハウジング１０３１により担体され、かつ温度コントローラ１０３３に結合される。ユーザ設定点温度入力デバイス１０３５は、当業者に十分理解されるように、タッチディスプレイ、プッシュボタン、回転可能ダイヤル、又は他の入力デバイスの形式であってもよい。ユーザ設定点温度入力デバイス１０３５は、設定点温度を設定するために使用されてもよい。温度コントローラ１０３３は、ディスプレイ１０３６と協働して、屋内温度及び設定点温度を表示してもよい。
【０１５３】
設定点温度は、さらに、ＨＡコントローラ１０３７に基づいて生成され、あるいは設定されてもよく、ＨＡコントローラ１０３７は、例えば、上記で説明されたように、ＨＡサーモスタットデバイス１０３０に結合され、設定点温度を生成するように構成される。上記で説明されたように、ＨＡコントローラ１０３７は、アドレス指定可能ＨＡデバイス１０３８ａ〜１０３８ｎ、例えば、動き検出器、ライト等に結合されてもよい。ＨＡコントローラ１０３７は、アドレス指定可能ＨＡデバイス１０３８ａ〜１０３８ｎのうち１つに基づいて設定点温度を生成する。例えば、動き検出器から検出された動きに基づいて、ＨＡコントローラ１０３７は、ＨＡサーモスタットデバイス１０３０と通信して、設定点温度を設定してもよい（すなわち、誰かが家にいるとき、設定点温度をより冷たく設定する）。当然ながら、設定点温度は、他のタイプのアドレス指定可能ＨＡデバイス１０３８ａ〜１０３８ｎに基づいて設定可能である。
【０１５４】
温度コントローラ１０３３は、屋内建物エリア１０２２に対して外部からの外部温度をさらに取得する。外部温度は、ワイヤレスで、例えば、インターネットを介して取得されてもよい。外部温度は、例えば、外側温度であってもよく、あるいは屋内建物エリア１０２２に対して外部と考えられ得る部屋又はエリアの内側温度であってもよい。いくつかの実施形態において、２つ以上の温度センサ（屋内及び／又は屋外）が、外部温度を取得するために使用されてもよい。
【０１５５】
温度コントローラ１０３３は、設定点温度の外部温度の交差を決定し、設定点温度の外部温度の交差と、屋内温度が閾温度差、例えば１度だけ設定点温度を超えて移行することとに基づいて、ＨＶＡＣシステム１０２１を動作モード間で切り替える。他の閾温度差が使用されてもよい。
【０１５６】
次に図３６をさらに参照すると、気候制御システム１０２０の動作が、グラフ１０４０と対応するディスプレイ１０３６ａ〜１０３６ｅとにより例示され、ディスプレイ１０３６ａ〜１０３６ｅは、グラフ上で識別された異なる時点における対応する屋内温度１０４３ａ〜１０４３ｅと設定点温度１０４４ａ〜１０４４ｅとを示す。グラフ１０４０において、外側温度はライン１０４１で示され、実際の又は屋内の温度はライン１０４２で示される。例示的に、屋内温度又は部屋温度は瞬間的に所望温度又は設定点温度からずれ、外部温度はデッドバンド１０４５を通過する。
【０１５７】
一方法態様が、気候制御システム１０２０を動作させる方法に向けられる。方法は、屋内温度センサ１０３２を介して屋内建物エリア１０２２の屋内温度を感知することを含む。方法は、屋内建物エリア１０２２内のＨＡサーモスタットデバイス１０３０を使用して、屋内建物エリアの設定点温度を取得し、屋内建物エリアの外部からの外部温度を取得し、設定点温度の外部温度の交差を決定し、設定点温度の外部温度の交差と屋内建物エリア１０２２の屋内温度が閾温度差だけ設定点温度を超えて移行することとに基づいて、ＨＶＡＣシステム１０２１を動作モード間で切り替えることをさらに含む。
【０１５８】
次に図３７ａ〜３７ｅを参照すると、ＨＡシステム２０２０の別の実施形態において、アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎにリモートでアクセスすることが望ましい場合がある。ＩＯＴデバイスとしても知られるアドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎのリモートアクセスは、例えば、所与のアドレス指定可能ＨＡデバイスでの問題をトラブルシューティングすること、及び／又はソフトウェア若しくは構成を更新することに特に役立つ可能性がある。
【０１５９】
アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎは、当業者に十分理解されるように、典型的には１つ以上のネットワークアドレス変換（ＮＡＴ）ルータ及び／又はファイアウォールの背後にあり、ゆえに一般にインターネットアクセス可能でない。したがって、アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎにアクセスするために、オンデマンドセキュアシェル（ＳＳＨ）トンネリングが使用されてもよい。
【０１６０】
オンデマンドＳＳＨトンネリングは、アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎのうち所与の１つが、例えば周期的接続を通して、既知のホストと通信してトンネリング命令を取り出すことを可能にする。ゆえに、例えば、トンネリング命令が、ＳＳＨプロトコルを通して低減されたオーバーヘッドで所与のアドレス指定可能ＨＡデバイスに対するリモートアクセスを可能にすることができる。当然ながら、他のプロトコル、例えば、セキュアプロトコルが使用されてもよい。
【０１６１】
アドレス指定可能ＨＡ又はＩＯＴデバイス２０３１ａ〜２０３１ｎに対するリモート接続を確立するために、要求が、トンネルをオープンするために所与のアドレス指定可能ＨＡデバイスに対して発行される。このことは、例えば、リモートのユーザによって、リモートアクセスワイヤレス通信デバイス２０３６を介して、オンデマンドＳＳＨトンネリングを用いて実行されてもよく、所与のアドレス指定可能ＨＡデバイスに固有の、ウェブで見える（例えば、パブリックにアクセス可能な）ロケーションにファイルを作成する（図３７ａ）。ウェブで見えるロケーションは、例えば、サーバ２０９９上、又は他のウェブで見えるロケーションであってもよい。例示的な実施形態において、ファイルは、所与のアドレス指定可能ＨＡデバイスの一意の識別と最後の一意のクラウドセッション識別とのハッシュであるＡｍａｚｏｎ（登録商標）シンプルストレージサービス（Ｓ３）ファイルであってもよい。Ｓ３ファイルは、アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎに関する他の及び／又はさらなる情報を含んでもよい。
【０１６２】
クラウドサーバ２０３３が、例えば、サーバ２０９９上で、既知のロケーションにおける所与のＨＡデバイス２０３１ａ〜２０３１ｎのためのデバイス固有命令を利用可能にしてもよい（図３７ｂ）。いくつかの実施形態において、デバイス固有命令は、クラウドサーバ２０３３上に併置されてもよい。
【０１６３】
アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎは、例えば、周期的にポーリングすることにより、このロケーションと通信する。例えば、上記ロケーションは、数分ごとにポーリングされてもよい。当然ながら、アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎは、より長い、より短い、及び／又は異なる間隔で上記ロケーションと通信し、あるいは上記ロケーションをポーリングしてもよい。ポーリングに基づいて、例えば、アドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎは、所与のアドレス指定可能ＨＡデバイスのために記憶されかつ利用可能にされたトンネリング命令を見つける（図３７ｃ）。１つの例において、命令は、クラウドで見えるホスト／ポート／ユーザ名／パスワードを含むｊｓｏｎファイルであってもよい。当然ながら、命令は異なるタイプのファイル内に具現化されてもよく、かつ／あるいは、他のデータ要素が命令ファイルに記憶されてもよい。
【０１６４】
所与のアドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎは、ウェブアクセス可能なロケーションから取り出された命令に従ってクラウドサーバ２０３３に対するＳＳＨトンネルをオープンする（図３７ｄ）。次いで、リモートユーザがリモートアクセスワイヤレス通信デバイス２０３６を介して、例えば、ログインすることにより、所与のアドレス指定可能ＨＡデバイス２０３１ａ〜２０３１ｎとの通信を可能にするトンネルのクラウド側に、それがインターネットで見えるかのように接続してもよい（図３７ｅ）。
【０１６５】
本発明の多くの変更及び他の実施形態が、前述の説明及び関連した図面に提示された教示の恩恵を有した当業者に思い浮かぶであろう。したがって、本発明は、開示された特定の実施形態に限定されるべきでなく、変更及び実施形態が別記の特許請求の範囲内に含まれるよう意図されることが理解される。
【図１ａ】
0006487072.tif 000004
【図１ｂ】
0006487072.tif 000005
【図２ａ】
0006487072.tif 000006
【図２ｂ】
0006487072.tif 000007
【図３】
0006487072.tif 000008
【図４】
0006487072.tif 000009
【図５】
0006487072.tif 000010
【図６】
0006487072.tif 000011
【図７】
0006487072.tif 000012
【図８ａ】
0006487072.tif 000013
【図８ｂ】
0006487072.tif 000014
【図９】
0006487072.tif 000015
【図１０】
0006487072.tif 000016
【図１１】
0006487072.tif 000017
【図１２】
0006487072.tif 000018
【図１３ａ】
0006487072.tif 000019
【図１３ｂ】
0006487072.tif 000020
【図１４ａ】
0006487072.tif 000021
【図１４ｂ】
0006487072.tif 000022
【図１５ａ】
0006487072.tif 000023
【図１５ｂ】
0006487072.tif 000024
【図１５ｃ】
0006487072.tif 000025
【図１６】
0006487072.tif 000026
【図１７】
0006487072.tif 000027
【図１８】
0006487072.tif 000028
【図１９】
0006487072.tif 000029
【図２０】
0006487072.tif 000030
【図２１ａ】
0006487072.tif 000031
【図２１ｂ】
0006487072.tif 000032
【図２２】
0006487072.tif 000033
【図２３】
0006487072.tif 000034
【図２４】
0006487072.tif 000035
【図２５】
0006487072.tif 000036
【図２６】
0006487072.tif 000037
【図２７】
0006487072.tif 000038
【図２８】
0006487072.tif 000039
【図２９ａ】
0006487072.tif 000040
【図２９ｂ】
0006487072.tif 000041
【図２９ｃ】
0006487072.tif 000042
【図３０ａ】
0006487072.tif 000043
【図３０ｂ】
0006487072.tif 000044
【図３１】
0006487072.tif 000045
【図３２】
0006487072.tif 000046
【図３３】
0006487072.tif 000047
【図３４】
0006487072.tif 000048
【図３５】
0006487072.tif 000049
【図３６】
0006487072.tif 000050
【図３７ａ】
0006487072.tif 000051
【図３７ｂ】
0006487072.tif 000052
【図３７ｃ】
0006487072.tif 000053
【図３７ｄ】
0006487072.tif 000054
【図３７ｅ】
0006487072.tif 000055