(58)【調査した分野】(Int.Cl.,DB名)
前記HAセキュリティコントローラは、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能HAデバイスと通信する、請求項1に記載のHAシステム。
前記複数のHAデバイス署名の各々は、MACアドレス、ポートデータ、及びユニバーサルシリアルバス(USB)識別子のうち、1つを含む、請求項1に記載のHAシステム。
前記複数のアドレス指定可能HAデバイスの各々は、該各々に関連づけられた製造業者を有し、前記HAセキュリティコントローラは、異常に動作していると検証された前記所与のアドレス指定可能HAデバイスに関連づけられたそれぞれの製造業者に前記通知を通信するように構成される、請求項1に記載のHAシステム。
前記メモリは前記HAデバイス署名を記憶するように構成され、前記HAセキュリティコントローラと前記クラウドとの間の通信を提供するように構成された通信インターフェース、をさらに含み、前記HAセキュリティコントローラは、前記通信インターフェースを介して前記クラウドと通信して前記メモリ内の前記記憶されたHAデバイス署名を更新するように構成される、請求項1に記載のHAシステム。
前記HAセキュリティコントローラに結合された少なくとも1つの無線コントローラ、をさらに含み、前記複数のアドレス指定可能HAデバイスの各々は、前記少なくとも1つのそれぞれの無線コントローラを介して前記HAセキュリティコントローラとワイヤレスで通信するように構成される、請求項1に記載のHAシステム。
前記複数のアドレス指定可能HAデバイスの各々は、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及びカメラのうち、1つを含む、請求項1に記載のHAシステム。
複数のアドレス指定可能ホームオートメーション(HA)デバイスを含むHAシステムのためのHAセキュリティサーバであって、前記複数のアドレス指定可能HAデバイスは、各々が該各々に関連づけられたそれぞれのHAデバイス署名を有し、当該HAセキュリティサーバは、
複数の通信ポートのうちそれぞれのポートを介して、前記複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、前記複数のアドレス指定可能HAデバイスと通信し、
前記複数のアドレス指定可能HAデバイスのうち所与のデバイスが、現在使用されていない前記所与の通信ポートを介して通信したとき、
前記所与のアドレス指定可能HAデバイスが異常に動作しているかどうかを前記それぞれのHAデバイス署名に基づいて決定し、
前記所与のアドレス指定可能HAデバイスが異常に動作しているかどうかの検証のためにクラウドに通信し、
前記所与のアドレス指定可能HAデバイスが異常に動作していると検証されたとき、前記所与のアドレス指定可能HAデバイスとの通信を終了し、通知を生成する
ように構成されたHAセキュリティコントローラ及び関連づけられたメモリ、
を含むHAセキュリティサーバ。
前記HAセキュリティコントローラは、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能HAデバイスと通信する、請求項9に記載のHAセキュリティサーバ。
前記複数のHAデバイス署名は、MACアドレスとポートデータとユニバーサルシリアルバス(USB)識別子とのうち少なくとも1つを、複数含む、請求項9に記載のHAセキュリティサーバ。
前記複数のアドレス指定可能HAデバイスの各々は、該各々に関連づけられた製造業者を有し、前記HAセキュリティコントローラは、異常に動作していると検証された所与のアドレス指定可能HAデバイスに関連づけられたそれぞれの製造業者に前記通知を通信するように構成される、請求項9に記載のHAセキュリティサーバ。
前記メモリは前記HAデバイス署名を記憶するように構成され、前記HAセキュリティコントローラと前記クラウドとの間の通信を提供するように構成された通信インターフェース、をさらに含み、前記HAセキュリティコントローラは、前記通信インターフェースを介して前記クラウドと通信して前記メモリ内の前記記憶されたHAデバイス署名を更新するように構成される、請求項9に記載のHAセキュリティサーバ。
複数のアドレス指定可能ホームオートメーション(HA)デバイスを含むHAシステムにおいて通信する方法であって、前記複数のアドレス指定可能HAデバイスは、各々が該各々に関連づけられたそれぞれのHAデバイス署名を有し、当該方法は、
HAセキュリティコントローラ及び関連づけられたメモリを使用して、
複数の通信ポートのうちそれぞれのポートを介して、前記複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、前記複数のアドレス指定可能HAデバイスと通信し、
前記複数のアドレス指定可能HAデバイスのうち所与のデバイスが、現在使用されていない前記所与の通信ポートを介して通信したとき、
前記所与のアドレス指定可能HAデバイスが異常に動作しているかどうかを前記それぞれのHAデバイス署名に基づいて決定し、
前記所与のアドレス指定可能HAデバイスが異常に動作しているかどうかの検証のためにクラウドに通信し、
前記所与のアドレス指定可能HAデバイスが異常に動作していると検証されたとき、前記所与のアドレス指定可能HAデバイスとの通信を終了し、通知を生成すること
を含む方法。
前記HAセキュリティコントローラは、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能HAデバイスと通信する、請求項15に記載の方法。
前記複数のHAデバイス署名の各々は、MACアドレス、ポートデータ、及びユニバーサルシリアルバス(USB)識別子のうち、1つを含む、請求項15に記載の方法。
前記複数のアドレス指定可能HAデバイスの各々は、該各々に関連づけられた製造業者を有し、前記HAセキュリティコントローラは、異常に動作していると検証された前記所与のアドレス指定可能HAデバイスに関連づけられたそれぞれの製造業者に前記通知を通信することに使用される、請求項15に記載の方法。
前記HAセキュリティコントローラを使用して、前記HAセキュリティコントローラと前記クラウドとの間の通信を提供する通信インターフェースを介して前記クラウドと通信して、前記メモリ内の記憶されたHAデバイス署名を更新すること、をさらに含む請求項15に記載の方法。
複数のアドレス指定可能ホームオートメーション(HA)デバイスを含むHAシステムのための非一時的コンピュータ読取可能媒体であって、前記複数のアドレス指定可能HAデバイスは、各々が該各々に関連づけられたそれぞれのHAデバイス署名を有し、当該非一時的コンピュータ読取可能媒体は、HAセキュリティコントローラに動作を実行させるコンピュータ実行可能命令を含み、前記動作は、
複数の通信ポートのうちそれぞれのポートを介して、前記複数の通信ポートの中の所与の通信ポートが現在使用されていない状態で、前記複数のアドレス指定可能HAデバイスと通信することと、
前記複数のアドレス指定可能HAデバイスのうち所与のデバイスが、現在使用されていない前記所与の通信ポートを介して通信したとき、
前記所与のアドレス指定可能HAデバイスが異常に動作しているかどうかを前記それぞれのHAデバイス署名に基づいて決定することと、
前記所与のアドレス指定可能HAデバイスが異常に動作しているかどうかの検証のためにクラウドに通信することと、
前記所与のアドレス指定可能HAデバイスが異常に動作していると検証されたとき、前記所与のアドレス指定可能HAデバイスとの通信を終了し、通知を生成することと、
を含む、非一時的コンピュータ読取可能媒体。
コンピュータ実行可能命令は前記HAセキュリティコントローラに、前記複数の通信ポートをスキャンすることにより前記複数の通信ポートのうちそれぞれのポートを介して前記複数のアドレス指定可能HAデバイスと通信させる、請求項21に記載の非一時的コンピュータ読取可能媒体。
前記複数のHAデバイス署名の各々は、MACアドレス、ポートデータ、及びユニバーサルシリアルバス(USB)識別子のうち、1つを含む、請求項21に記載の非一時的コンピュータ読取可能媒体。
前記複数のアドレス指定可能HAデバイスの各々は、該各々に関連づけられた製造業者を有し、前記コンピュータ実行可能命令は前記HAセキュリティコントローラに、異常に動作していると検証された所与のアドレス指定可能HAデバイスに関連づけられたそれぞれの製造業者に前記通知を通信させる、請求項21に記載の非一時的コンピュータ読取可能媒体。
【発明を実施するための形態】
【0014】
次に、本発明が以降で添付図面を参照してより十分に説明され、添付図面には、本発明の好適な実施形態が示される。本発明は、しかしながら、多くの異なる形式で具現化されてもよく、本明細書に明記される実施形態に限定されるようにみなされるべきではない。むしろ、これら実施形態は、本開示が充分かつ完全になり、かつ本発明の範囲を当業者に十分に伝えるように提供される。同様の番号は、全体を通して同様の要素を参照し、プライム記号表記は、別の実施形態における同様の要素を示すために用いられる。
【0015】
図1aを最初参照すると、電子デバイス統合システムが、例示的にホームオートメーション(HA)システム20の形式であり、これは、K4Connectシステムとして参照される。HAシステム20は、複数のアドレス指定可能(addressable)デバイス31a〜31n、ホームデバイス32、リモートデバイス36、及びクラウドデバイス33を例示的に含む。HAシステム20が本明細書において説明されるが、システムは家庭において使用するように限定されず、任意の設定、商業、工業、住居等で使用されてもよいことが理解されるべきである。
【0016】
アドレス指定可能デバイス31a〜31nは、制御可能デバイス及び/又はセンサ、例えば、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び/又はカメラを含んでもよい。当然ながら、アドレス指定可能デバイスは、さらなる又は他のデバイスを含んでもよい。
【0017】
クラウドデバイス33又はハードウェアサーバが説明されるが、クラウドデバイスにより実行される処理及び機能は、プロセッサ46によって、又は、当業者によりクラウドとして理解されるものにおいて異なる地理的ロケーションにありかつ異なるネットワークにわたる複数のプロセッサによって実行されてもよいことが当業者により理解されるべきである。ホームデバイス32は、パーソナルコンピュータ、タブレットコンピュータ、スタンドアロンコンピューティングデバイス、又は任意の他のコンピューティングデバイスであってもよい。HAシステム20は、ハブデバイス34(すなわち、K4Hub)をさらに含んでもよい。いくつかの実施形態において、ハブデバイス34及びホームデバイス32は、ホーム47内にあり、ホームネットワークにワイヤレスで接続されてもよく、ホームネットワークは、インターネットとの通信を提供してもよい。システム内のこれらデバイスの機能及び相互接続は、以下でさらに詳細に説明される。
【0018】
K4Homeソフトウェアプログラムは、プログラムに接続できるアドレス指定可能デバイス31a〜31nについて、ホーム、オフィス、ビジネス、及びビルディングオートメーションの、K4Connect HAシステム20を実行する。K4Homeソフトウェアは、パーソナルコンピュータ又は他のスモールコンピュータデバイス、例えば、ホームデバイス32にロードできるソフトウェアのみのパッケージとして利用可能である。K4Homeソフトウェアの機能は、K4Homeソフトウェアを実行する1つ以上のデバイスのそれぞれのプロセッサ又は処理回路、例えば、以下に説明されるように、ホームデバイス32のプロセッサ38により実行される。
【0019】
K4Hub34は、K4Homeソフトウェアを同様に実行でき、かつデバイス上のシステムアーキテクチャをホストするデバイスである。K4Hub34は、ハウジング41と、ハウジングにより担体された(carried)ハブ処理回路42とを含む。K4Hub34は、ハウジング41により担体され、かつ複数の無線コントローラ44a〜44nのうち任意のものに結合する複数の無線ポート43a〜43n、例えば、ユニバーサルシリアルバス(USB)ポートをさらに含む。K4Hub34は、クラウドベースの処理を通してルーティングすることに代わって、ローカルでシステムを実行し、直接、アドレス指定可能デバイス31a〜31nと通信することができる。換言すると、ハブ処理回路42は、プラグ接続された(plugged)無線コントローラ44a〜44nと協働して、それぞれのプロトコルに基づいてアドレス指定可能デバイス31a〜31nと通信する。
【0020】
無線コントローラ44a〜44nは、各々、所与の無線プロトコルに関し得る。例えば、Z‐wave無線コントローラが、無線ポート43a〜43nのうち1つにプラグ接続されてもよく、このことは、K4Hub34がZ‐waveベースのアドレス指定可能デバイスと通信することを可能にする。第2又は第3の無線コントローラが、第2及び第3の無線プロトコルを用いて制御可能デバイスと通信する能力を追加するために、K4Hubの無線ポート43a〜43nにプラグ接続されてもよい。
【0021】
K4Hub34が、ネットワーク接続を必要とする現在のホームオートメーションデバイスにおいて共通したレイテンシ及びシステム機能停止を低減するため、K4Hub34は、現在のテクノロジーに対する一向上である。K4Hub34と同様に、パーソナルコンピュータ、例えば、ホームデバイス32上で実行するK4Homeソフトウェアは、K4Hub又はコンピュータのUSBポートを通してポートにアタッチすることにより、ZigBee及びZ‐waveなどのさらなるホームオートメーション通信プロトコルで拡張されることができる。
【0022】
K4Appは、K4Connect HAシステム20のユーザインターフェース35のロケーションであり、ユーザがリモートデバイス36を通して又はリモートデバイス36から、K4Homeソフトウェアにアクセスし、かつK4Connectシステム20を制御することを可能にし、リモートデバイス36は、例えば、ディスプレイ48と、該ディスプレイに結合されたプロセッサ49とを含むスマートフォン又はタブレットデバイスである。ユーザインターフェース35はまた、パーソナルコンピュータのデスクトップアプリケーションによって、及び/又はテレビジョンの画面上のアプリケーションによってアクセスされてもよい。2つ以上のリモートデバイス36が存在してもよく、各リモートデバイスが異なるタイプのデバイスであってもよい。
【0023】
いくつかの実施形態において、リモートデバイス36は、クラウドデバイス33を通して又はクラウドデバイス33と通信することなく、「ローカルで」接続してもよい。このことは、通信がネットワーク接続性に依存せず、インターネットから独立してローカルで機能し得るため、特に有利な可能性がある。さらに、通信が比較的高速で、より信頼性がある可能性がある。
【0024】
K4Awayとして参照されるソフトウェアを実行するリモートサーバ又はクラウドデバイス33は、例えばホームデバイス32又はK4Hub34で実行するローカルのK4Homeソフトウェアと、ローカルホームネットワークの外側にいるときに例えばリモートデバイス36で実行するK4Appとの間の接続を提供する、クラウドベースのサブスクリプションシステムである。K4Awayは、K4HomeソフトウェアとK4Connectシステム解析及びヘルプシステムとの間の接続をさらに提供する。K4Appは、いくつかの実施形態において、クラウドデバイス33を通して通信することなくK4Home、すなわちホームデバイス32又はK4Hub34に直接接続してもよく、あるいはクラウドデバイスを通した通信なしに間接的に接続してもよい。
【0025】
次に
図1bを参照し、HAシステム20の上述されたコンポーネントが説明される。HAシステム20は、アドレス指定可能HAデバイス31a〜31nを含み、各々が、異なるHAワイヤレス通信プロトコルの中からそれぞれのHAワイヤレス通信プロトコルを用いてワイヤレスで通信するように構成される。アドレス指定可能HAデバイス31a〜31nは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び/又はカメラのうち任意のものを含んでもよい。当然ながら、アドレス指定可能HAデバイス31a〜31nは、他の及び/又はさらなるデバイスを含んでもよい。
【0026】
HAシステム20は、HAワイヤレス無線コントローラ44a〜44nをさらに含み、各々が、同様に異なるHAワイヤレス通信プロトコルの中からそれぞれの異なるHAワイヤレス通信プロトコルを用いてワイヤレスで通信するように構成される。各HAワイヤレス無線コントローラ44a〜44nは、回路441a〜441nと、これに結合されたコネクタ442a〜442nとを含む。HAワイヤレス無線コントローラ44a〜44nは、例えば、Zigbeeコントローラ、Z‐Waveコントローラ、及び/又は他タイプのコントローラであってもよい。
【0027】
HAシステム20は、HAハブデバイス34をさらに含み、HAハブデバイス34は、ハウジング41と、該ハウジングにより担体されたワイヤレス無線ポートコネクタ43a〜43nとを含む。各ポートコネクタ43a〜43nは、対応するHAワイヤレス無線コントローラ44a〜44nのそれぞれのコネクタ442a〜442nに結合するように構成される。ポートコネクタ43a〜43nは、例えば、USBコネクタ、及び/又は他の若しくはさらなるタイプのコネクタであってもよい。HAハブデバイス34は、ワイヤレス無線ポートコネクタ43a〜43nに結合されたハブ処理回路42をさらに含む。ハブ処理回路42は、それぞれのHAワイヤレス通信プロトコルに基づいてアドレス指定可能HAデバイス31a〜31nと通信する。いくつかの実施形態において、HAワイヤレス無線コントローラ44a〜44nは、当業者により十分理解されるように、例えば、クラウドベースの処理を通してルーティングされることに代わって、HAハブデバイス34を介してアドレス指定可能デバイスと直接通信してもよい。
【0028】
一方法態様が、HAシステム20において通信する方法に向けられる。方法は、HAワイヤレス無線コントローラ44a〜44nを使用して、異なるHAワイヤレス通信プロトコルの中からそれぞれの異なるHAワイヤレス通信プロトコルを使用してワイヤレスで通信することを含む。方法は、HAハブデバイス34を使用して、それぞれのHAワイヤレス通信プロトコルに基づいてアドレス指定可能HAデバイス31a〜31nと通信することをさらに含む。
【0029】
次に、
図2aをさらに参照すると、HAシステム20(すなわち、K4Connect)の主要な機能が、K4Homeソフトウェアを実行するデバイスに位置する独立したローカルメッセージキュー51とクラウドデバイス33(すなわち、K4Away)上にホストされたクラウドメッセージキュー52との組み合わせである独立したスタンドアロンのメッセージキューサーバ50に基づいており、クラウドデバイス33は、ローカルホームネットワークの外側の登録されたデバイスに対して接続性を提供する。メッセージキュー51、52、及び接続されたアドレス指定可能デバイス31a〜31nと、接続されたサーバと、接続されたブリッジとの間の通信は、例えば、トランスポート媒体としてウェブソケットを使用する。
【0030】
ローカル及びクラウド双方のメッセージキュー51、52は、独立して機能するが連続的に接続されたままであり、したがって、どのようなユーザロケーションであろうと、接続されたデバイス、例えば、サーバ及びブリッジへの及びからの通信は、依然として利用可能である。連続的な接続は、ローカルメッセージキュー51から開始されて、ローカルネットワークのファイアウォールに穴を開けるときに内在し得るセキュリティ問題を低減する。接続をファイアウォール化された(firewalled)システムの内側から始めさせることは、例えば、ホームシステムのセキュリティ完全性を維持すると同時に、メッセージキュー51、52がより容易に接続することを可能にする。換言すると、各リモートデバイス36は、クラウドメッセージキュー52に接続し、ローカルメッセージキュー51又はK4Home32若しくはK4Hub34のいずれかに直接接続しない。さらに、ローカルメッセージキュー51及びクラウドメッセージキュー52と、接続されたアドレス指定可能デバイス31a〜31nと、サーバと、ブリッジとの間の通信は、増加したセキュリティのためにローカルネットワーク上を含めSSL暗号化されてもよい。K4Appが、例えばリモートデバイス36を介して、クラウド又はリモートサーバ33に接続されるとき、上記連続的な接続は、クラウドサーバに対するユーザの接続がローカルメッセージキュー51に対する直接接続の役割を果たすことを可能にする。
【0031】
ローカルメッセージキュー51は、クラウドメッセージキュー52への及びからの、並びにローカルサーバ81及びデバイスブリッジ82への及びからの、メッセージを受信し、配布する。メッセージに関するこの配布手法は、プログラムの各コンポーネントの独立性を可能にし、ロジック又は規定されたアクションを個々のサーバ又はブリッジに任せる。プログラムのコンポーネントのこの独立性はまた、システムクラッシュエラーの確率を低減する可能性がある。このことはまた、例えば、全部のソフトウェアパッケージを更新することなく、新しいブリッジの連続的な展開と新しいデバイスの互換性とを可能にする。
【0032】
当業者に十分理解されるように、典型的な従来のオートメーション統合システムはメッセージを、すべてがホームネットワーク内か、又はファイアウォールを通って突き抜けることによりすべてがインターネット上かのいずれかで交換する。本明細書に説明される実施形態は、有利には、「ホーム内」メッセージ処理の増加したスピードを含み(インターネットを介した処理は遅延を加える)、かつインターネットの増加したセキュリティを有する(ホームネットワークを晒すようにファイアウォールを突き抜けない)、ハイブリッドメッセージングアプローチを提供する。
【0033】
次に
図2bを参照し、ローカル及びクラウドメッセージキュー51、52に関して、HAシステム20の別の態様が次に説明される。HAシステム20は、アドレス指定可能HAデバイス31a〜31nを含み、各々が該各々にそれぞれのデバイス能力、デバイス構成、及びデバイスステートを関連づけられる。
【0034】
各デバイス構成は、例えば、デバイスアドレス、デバイスロケーション、及びデバイス識別子のうち、少なくとも1つを含んでもよい。例示的なデバイス構成が、デバイスのIPアドレス、家の中でのデバイスのロケーション、及びオーディオ構成におけるチャネルロケーション(例えば、左、右)を含んでもよい。当然ながら、デバイス構成は、他の及び/又はさらなる要素を含んでもよい。
【0035】
各デバイス能力は、感知機能及び出力機能のうち、少なくとも1つを含んでもよい。例えば、ライトスイッチに関して、デバイス能力は、「オン」、「オフ」になる、及び異なる「調光レベル」になる能力を含んでもよい。
【0036】
各デバイスステートは、複数のとり得るステートの中からの現在のステートを含んでもよい。例えば、ライトスイッチに関して、現在のステートは、「オン」、「オフ」、及び「所与のレベルに調光されている」であってもよい。
【0037】
HAシステム20は、クラウドメッセージキューコントローラ521と、これにクラウド内で結合されて複数のアドレス指定可能HAデバイス31a〜31nのデバイス構成、デバイス能力、及びデバイスステートを記憶するクラウドメッセージキューメモリ522とを含む。クラウドメッセージキューコントローラ521及びクラウドメッセージキューメモリ522は、例えば、クラウドメッセージキュー52の一部であってもよい。
【0038】
HAシステム20は、ホームデバイスメッセージキューコントローラ511と、これに結合されて複数のアドレス指定可能HAデバイス31a〜31nのデバイス構成、デバイス能力、及びデバイスステートを記憶するホームデバイスメッセージキューメモリ512とをさらに含む。ホームデバイスメッセージキューコントローラ511及びホームデバイスメッセージキューメモリ512は、例えば、ローカルメッセージキュー51の一部であってもよい。
【0039】
クラウドメッセージキューコントローラ521及びホームデバイスメッセージキューコントローラ511は、アドレス指定可能HAデバイス31a〜31nのデバイス構成、デバイス能力、及びデバイスステートを同期させる。クラウドメッセージキューコントローラ521は、アドレス指定可能HAデバイスに関して、例えば、アドレス指定可能デバイス31a〜31nとの通信のため、及び同期のために、ローカルメッセージキューコントローラ511とメッセージを交換する。例えば、上記メッセージは、アドレス指定可能HAデバイス31a〜31nの動作及び制御に関連したメッセージを含んでもよい。
【0040】
ローカルクライアントデバイス36a又はリモートデバイス(例えば、K4Appを実行している)は、ローカルクライアントデバイスコントローラ361aと、これに結合され、ローカルメッセージキューコントローラ511と同期するとアドレス指定可能HAデバイス31a〜31nのデバイス構成、デバイス能力、及びデバイスステートを記憶するローカルクライアントデバイスメモリ362aとを含む。ローカルクライアントデバイスコントローラ361aは、アドレス指定可能HAデバイス31a〜31n、例えば、感知、応答、及び制御動作に関して、ローカルメッセージキューコントローラ511とメッセージを交換する。
【0041】
クラウドクライアントデバイス36b又はリモートデバイス(例えば、K4Appを実行している)は、クラウドクライアントデバイスコントローラ361bと、これに結合され、クラウドメッセージキューコントローラ521と同期するとアドレス指定可能HAデバイス31a〜31nのデバイス構成、デバイス能力、及びデバイスステートを記憶するクラウドクライアントデバイスメモリ362bとを含む。クラウドクライアントデバイスコントローラ361bは、アドレス指定可能HAデバイス31a〜31n、例えば、感知、応答、及び制御動作に関して、クラウドメッセージキューコントローラ521とメッセージを交換する。
【0042】
当業者に十分理解されるように、アドレス指定可能HAデバイス31a〜31nのデバイス構成、デバイス能力、及びデバイスステートを、又はメッセージを同期させることにより、クラウド又はローカルクライアントデバイス36a、36bとの通信はより速くなる可能性があり、これは、例えば、メッセージ、応答、ステータス問い合わせ、命令等の処理が、クラウド若しくはローカルクライアントデバイスで、又はクラウド若しくはメッセージキューのうち最も近いもので処理できる(すなわち、要求又は通信は、一般に、ローカル又はクラウドメッセージキュー51、52のうち一方又は他方に進む必要がない可能性がある)からである。
【0043】
一方法態様が、複数のアドレス指定可能HAデバイス31a〜31nと通信する方法に向けられ、上記複数のアドレス指定可能HAデバイス31a〜31nは、各々が該各々に関連づけられたそれぞれのデバイス能力、デバイス構成、及びデバイスステートを有する。方法は、クラウドメッセージキューコントローラ521と、これにクラウド内で結合されて複数のアドレス指定可能HAデバイスのデバイス構成、デバイス能力、及びデバイスステートを記憶するクラウドメッセージキューメモリ522とを使用することを含む。方法は、ホームデバイスメッセージキューコントローラ511と、これに結合されて複数のアドレス指定可能HAデバイスのデバイス構成、デバイス能力、及びデバイスステートを記憶するホームデバイスメッセージキューメモリ512とを使用することをさらに含む。クラウドメッセージキューコントローラ521及びホームデバイスメッセージキューコントローラ511は、複数のアドレス指定可能HAデバイス31a〜31nのデバイス構成、デバイス能力、及びデバイスステートを同期させる。
【0044】
次に
図4〜
図13をさらに参照すると、例えばホームデバイス32又はK4Hub34を用いて実行されるK4Homeプログラムが、HAシステム20の機能の各々について、独立したサーバ又は機能モジュールを提供する。サーバ81は、セキュリティのためにHAシステム20上で動作するブリッジ82から分離され、全体としてシステムの独立した実行を可能にすることができる。ホームオートメーション統合システム20のサーバ81は、アクションサーバ69、解析サーバ54、カメラサーバ61、構成サーバ62、デバッグサーバ63、発見サーバ55、ローダサーバ64、メッセージサーバ65、通知サーバ66、ステータスサーバ67、更新サーバ59、ウェブサーバ68、及びセキュリティサーバ56を含む。新しい機能が必要とされる場合、さらなるサーバがソフトウェアに追加されてもよい。用語サーバが本明細書において用いられているが、サーバは、例えば上記で説明されたように、任意のデバイスの1つ以上のプロセッサ上で実行される1つ以上のスタンドアロンソフトウェア処理であり得ることが理解されるべきである。各サーバ81の機能性は、当業者により十分理解されるように、詳細には該機能性が実行されるデバイス上のプロセッサ、コントローラ、及び/又は関連した回路、例えば、ホームデバイスプロセッサ38又はハブデバイス処理回路42により実行される。
【0045】
アクションサーバは、HAシステム20で、より詳細にはホームデバイス32で連続的に動作し、ホーム内のK4Homeシステム又はコンポーネントの応答シーン(responsive scenes)を実行する(
図3)。解析サーバ54は、クラウドストレージシステム又はサーバ33にユーザ及びシステムアクションのログをとり、K4Home HAシステム20を向上させるためにユーザが実現できる可能な応答シーン又はユーザが取ることができるアクションの示唆を受信する(
図4)。
【0046】
最初のK4Homeシステムセットアップにおいて、解析サーバ54は、システムのサーバ81及びブリッジ82からのアドバタイズメント(advertisements)を要求する。K4Homeシステム20のサーバ81及びブリッジ82はアドバタイズメントを返信し、このことは、解析サーバ54が個々のサーバ及びブリッジをサブスクライブする(subscribe)ことを可能にする。ひとたびサブスクライブされると、サーバ及びブリッジ82は、個々のイベント、コマンド、及び変数変更を解析サーバ54に送信し、解析サーバ54は、送られたデータのログを保持する。
【0047】
周期的又は規則的であり得る間隔で、解析サーバ54は、プライベートのグローバル一意識別子(GUID)を用いて、クラウドシステム又はクラウドデバイス33に、収集されたデータを報告する。クラウドベースの解析又はデバイス33は、匿名化されたデータを処理し、再調査し、データをクラウドデータベースに記憶する。このデータは、次いで、K4Home HAシステム20の機能を再調査するために使用され、このことは、ソフトウェアに存在し得る問題を明らかにする可能性がある。このHAシステム20は、さらに、セキュリティサーバから集められたデータを使用して、セキュリティ脅威を評価し、軽減プランを開発することができる。クラウドベースの分析又はクラウドデバイス33は、さらに、K4Homeシステムを再調査し、プライベートGUIDに対してデバイス及び応答シーンを推奨する。ひとたびクラウド内の情報がクラウドデバイス33により解析され、集められると、この情報は、クラウドへの次の「チェックイン」時間と共にローカルの解析サーバ54にプッシュバックされる。
【0048】
カメラサーバ61(
図5)は、カメライメージ/ビデオの位置を特定し、イメージ/ビデオをシステムにストリーミングする。カメラサーバは、さらに、例えば、カメラに直接接続することができないリモートのユーザのためのイメージプロキシとして動作する。
【0049】
構成サーバ62(
図6)は、ホームオートメーション統合システム20の永続的な構成を記憶する。構成サーバ62は、さらに、デバイス接続処理の間にデバイス記述を使用して、デバイスセットアップウィザードと連動してHAシステム20にアドレス指定可能デバイス31a〜31nをセットアップする。デバッグサーバ63は、ブリッジデバッギングを可能にする(
図7)。
【0050】
発見サーバ55(
図8a)は、K4Connectシステム20に接続すべきアドレス指定可能デバイスを見つける。発見サーバ55は、その検索において、デバイス、例えばアドレス指定可能デバイス31a〜31nの署名を使用して、システムへの接続に関して自然には発見不可能なデバイスを発見する。典型的な従来技術のホームオートメーション統合システムに関して、特定のアドレス指定可能デバイスは、その可用性を自動的にブロードキャストせず、ゆえに、ユーザにより手動で接続される必要がある。手動のエントリは、しばしば、デバイスをそのホームオートメーションシステムに追加するのに、高度な技術的知識、又は詳細な複雑な命令に従う必要を伴い、例えば、IPアドレス、デバイスID、及び/又は他の識別情報を手動で入力することを伴う。発見サーバ55は、こうした複雑さを低減する。
【0051】
ネットワークデバイス及びUSBデバイスに関して発見サーバ55で実行される例示的なコードが、それぞれ、以下のとおりである:
【0052】
【表1】
発見サーバ55は、新しい制御可能デバイスからの信号を受動的に待つか、又はアドレス指定可能デバイス31a〜31nの署名についてシステムをスキャンするかのいずれかで、システムホームオートメーション統合20を監視する処理を典型的に常時実行する。発見サーバ55は、アドレス指定可能デバイス31a〜31nの署名からのテキストマッチ処理を使用するUPNP及びMDNS処理を実行して、制御可能デバイスを識別する。発見サーバ55は、さらに、例えばチャレンジレスポンスにより、マルチキャスト処理を実行し、上記の接続されていないアドレス指定可能デバイス83に接続する。
【0053】
発見サーバ55の有利な要素は、ARPスキャン及びudevスキャンである。ARPスキャンは、ロードされた制御可能デバイス署名についてポートマッチを実行し、チャレンジレスポンス処理を実行して、アドレス指定可能デバイス31a〜31nを識別する。例えば、発見サーバ55は、データを用いてポートに問い合わせ、問い合わせに基づいて識別応答を取得してもよい。ARPスキャンは、さらに、MACアドレスマッチングによりデバイスを識別する。他方の有利な要素は、K4Homeを実行し、かつTTYマッチを実行するハードウェアに接続されたデバイスについて、USBマッチを使用するUDEVスキャンである。TTYマッチは、チャレンジレスポンス処理でデバイスを識別する。当業者に十分理解されるように、制御可能デバイス署名を定義する任意数の要素又はネットワーク特性が使用されてよい。
【0054】
ひとたび発見サーバ55が新しいアドレス指定可能デバイス(すなわち、システム20に対して新しい)を発見すると、発見サーバ55は、メッセージキュー51を通じて制御サーバ62及び通知サーバ66(
図7)に通知を送信し、通知サーバ66は、次いで、新たに発見されたアドレス指定可能デバイスをユーザに通知し、ウィザードセットアップ処理を開始する。識別可能な署名が存在しない、新しいアドレス指定可能デバイスが利用可能になったとき(例えば、システムに対してだけでなく市場に対して新しい)、新しい署名フィルタが発見サーバ55に追加されてもよい。
【0055】
いくつかの実施形態において、アドレス指定可能デバイス31a〜31nからのアドバタイジングが、アドレス指定可能デバイスを限定することに使用されてもよい。例えば、制御可能スピーカーデバイスが、アドバタイジングに基づき一般的デバイスとしてホームオートメーション統合システム20に現れることがある。しかしながら、アドレス又は署名要素のサブセットに基づく問い合わせが使用されてもよく、このことは、制御可能デバイス発見のスピードを増加させる可能性がある。例えば、署名要素が、デバイスタイプを限定又は制限するために使用されてもよく、発見が、上記サブセットに基づいて継続してもよい。
【0056】
次に
図8bをさらに参照し、発見サーバ55がHAシステム20に関して説明される。アドレス指定可能HAデバイス31a〜31nは、各々が、該各々に関連づけられたそれぞれのHAデバイス署名を有し、各々が、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信するように構成される。アドレス指定可能HAデバイス31a〜31nは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び/又はカメラのうち、任意のものを含んでもよい。当然ながら、アドレス指定可能HAデバイス31a〜31nは、他の及び/又はさらなるデバイスを含んでもよい。
【0057】
発見サーバ55は、コントローラ551、及びこれに結合されたメモリ552の形式であってもよい。メモリ552は、アドレス指定可能HAデバイス31a〜31nのうちペアリングされた(paired)及びペアリングされていない(unpaired)デバイスについて、HAデバイス署名を記憶する。HAデバイス署名は、例えば、MACアドレス、ポートデータ、及び/又はユニバーサルシリアルバス(USB)識別子を含んでもよい。
【0058】
コントローラ551は、アドレス指定可能HAデバイス31a〜31nをポーリングし、ポーリングに基づいて複数のアドレス指定可能HAデバイスの中からペアリングされていないアドレス指定可能HAデバイスを決定する。コントローラ551は、アドレス指定可能HAデバイスからのブロードキャストについてポーリングすることにより、及び/又はメモリ552に記憶された記憶されたHAデバイス署名のうち所与の1つに応答してアドレス指定可能デバイスについてスキャンすることにより、アドレス指定可能HAデバイス31a〜31nをポーリングしてもよい。
【0059】
コントローラ551は、さらに、ペアリングされていないアドレス指定可能HAデバイスの関連づけられたHAデバイス署名を、記憶されたHAデバイス署名と比較する。コントローラ551は、ユニバーサルプラグアンドプレイ(UPnP)処理とマルチキャストドメインネームシステム(mDNS)処理とのうち少なくとも1つに基づいて、ペアリングされていないアドレス指定可能HAデバイスの関連づけられたHAデバイス署名を、記憶されたHAデバイス署名と比較してもよい。UPnP処理及びmDNS処理のうち任意のものが、例えば、テキストマッチ処理に基づいて実行されてもよい。
【0060】
いくつかの実施形態において、アドレス指定可能HAデバイス31a〜31nは、各々が、該各々に関連づけられたポートデータを有してもよく、その場合、コントローラ551は、アドレス解決プロトコル(ARP)スキャンに基づいてアドレス指定可能HAデバイスをポーリングし、ARPスキャンからのポートデータに基づいて、ペアリングされていないアドレス指定可能HAデバイスの関連づけられたHAデバイス署名を、記憶されたHAデバイス署名と比較してもよい。
【0061】
別法として、又はさらに、コントローラ551は、udevスキャンに基づいてアドレス指定可能HAデバイス31a〜31nをポーリングしてもよく、その場合、コントローラは、udevスキャンに基づいて、ペアリングされていないアドレス指定可能HAデバイスの関連づけられたHAデバイス署名を、記憶されたHAデバイス署名と比較する。
【0062】
コントローラ551は、ペアリングされていないアドレス指定可能HAデバイスのHAデバイス署名と記憶されたHAデバイス署名のうち1つとの間にマッチが存在するとき、それぞれのワイヤレス通信プロトコルを用いてペアリングされていないアドレス指定可能HAデバイスと通信するように、ペアリングされていないアドレス指定可能HAデバイスのペアリングを許可する。コントローラ551は、ペアリングされていないアドレス指定可能HAデバイスのペアリングを承認するようにユーザに促してもよい。ペアリングされていないアドレス指定可能HAデバイスのペアリングは、ユーザに関連づけられた電子デバイス、例えば、リモートデバイス36からの、チャレンジレスポンスに基づいてもよい。
【0063】
通信インターフェース553は、コントローラ551と、クラウド、例えばクラウドデバイス33との間の通信を提供する。コントローラ551は、通信インターフェース553を介してクラウドデバイス33と通信して、メモリ552内の記憶されたHAデバイス署名を更新する。
【0064】
HAシステム20は、さらに、コントローラ551に結合された無線コントローラ44a〜44nを含む。アドレス指定可能デバイス31a〜31nの各々は、それぞれの無線コントローラ44a〜44nを介してコントローラ551とワイヤレスで通信するように構成される。
【0065】
一方法態様が、HAシステム20においてペアリングされていないアドレス指定可能HAデバイス31a〜31nのペアリングを許可する方法に向けられる。方法は、551コントローラと、これに結合されて複数のアドレス指定可能HAデバイスのうちペアリングされた及びペアリングされていないデバイスについて複数のHAデバイス署名を記憶するメモリ552とを使用して、複数のアドレス指定可能HAデバイスをポーリングし、ポーリングに基づいて複数のアドレス指定可能HAデバイスの中からペアリングされていないアドレス指定可能デバイスを決定することを含む。コントローラ551及びメモリ552は、さらに、ペアリングされていないアドレス指定可能HAデバイス31a〜31nの関連づけられたHAデバイス署名を、記憶されたHAデバイス署名と比較し、ペアリングされていないアドレス指定可能HAデバイスのHAデバイス署名と記憶されたHAデバイス署名のうち1つとの間にマッチがあるとき、それぞれのワイヤレス通信プロトコルを用いてペアリングされていないアドレス指定可能HAデバイスと通信するように、ペアリングされていないアドレス指定可能HAデバイスのペアリングを許可することに使用される。
【0066】
ローダサーバ64は、ブリッジ82及びサーバ81をロードする(
図10)。メッセージサーバ65は、メッセージキュー51を実行し、あるいは動作させる。通知サーバ66は、システム20からの通知を、例えばリモートデバイス36の、ユーザインターフェース35に送信する(
図9)。
【0067】
ステータスサーバ67は、システム内のデバイスをポーリングする必要なく最後に知ったステートのログを記憶するシステム全体のステートマシンの役割を果たす(
図11)。このことは、ステータスサーバ67を、システムの最後に知ったステートを追跡するスタンドアロンステートマシンとして実行させることにより達成される。当業者に十分理解されるように、ステータスサーバ67は、有利には、例えば、システムがドライバスタックにステート情報を記憶する現在の一般的なやり方に対しての一向上である。ウェブサーバ68は、ユーザインターフェースコンテンツを実行する(
図12)。いくつかの実施形態において、ユーザインターフェースコンテンツは、ローカルで記憶されてもよい。
【0068】
セキュリティサーバ56は、ホームオートメーション統合システム20のセキュリティ処理を実行する(
図13a)。セキュリティサーバ56は、ホームオートメーション統合システム20により使用されていないオープンの通信ポート84をリッスンする。このことは、デバイス、例えばアドレス指定可能デバイス31a〜31n又はリモートデバイス36が、ポートをスキャンし、あるいはポートに接続したときに、セキュリティサーバ56がログをとることを可能にする。セキュリティサーバ56は、次いで、スキャン又は接続することが分かっており、かつシステムに対して脅威でない如何なるデバイスも無視し、セキュリティサーバ56が知らない又は予期しないスキャンを受けたときにログをとってもよい。例えば、オープンポートが、接続されたユーザのリモートのiPhone(登録商標)によりスキャンされ、あるいは該iPhoneに接続されることがある。しかし、このことは、iPhoneからの予期されたアクションであるため、セキュリティサーバ56は、自動的に、これをホームオートメーション統合システム20に対する脅威と考えない。接続されたホームオートメーション又はアドレス指定可能デバイス31a〜31n、例えば、冷蔵庫が、オープンポートの同じスキャンを行い、あるいはオープンポートに接続する場合、セキュリティサーバ56は、そのアクションのログをとり、次いで、ログを解析サーバ54に報告する。セキュリティサーバ56は、すべての既知の制御可能デバイスについて含まれる署名ファイルを用いて、何がアドレス指定可能デバイス31a〜31nの通常の挙動と考えられるかを承知している。換言すると、ネットワーク上のホームオートメーション統合システム20に結合されるリモート及び制御可能の双方のデバイスのタイプが分かっているため、デバイス間のトラフィックは、セキュリティを維持するように監視できる。特定のデバイスに関連づけられたトラフィック又は通信が一定しないと決定された場合、セキュリティサーバ56は、上記デバイスを、乗っ取られている及び/又はマルウェアである、並びに解析サーバ54に報告するようにフラグを立てられているとして識別してもよい。解析サーバ54は、セキュリティ分析のためにデータをクラウドデバイス33にアップロードする。
【0069】
ネットワークデバイスの通常の挙動と考えられ得るものを記述した一例示的なセキュリティサーバ署名が以下のとおりである:
【0070】
【表2】
クラウドサーバ又はクラウドデバイス33は、分析を実行して、パターンを評価又は分類して、セキュリティサーバ56のアクションを推奨してもよい。セキュリティサーバ56が取るアクションのいくつかの例には、デバイスの異常なアクションをユーザに通知すること、危険にさらされたデバイスをK4Connectシステム20から切断すること、又はアクションが悪意のない場合に無視することが含まれる。いくつかの例におけるK4Connectシステム20が、製造業者のスマートデバイス内の脆弱性又は攻撃を認識してもよく、脆弱性に関する情報を製造業者に提供することができる。当然ながら、クラウドデバイス33は、分析に基づいてセキュリティサーバのための他の及び/又はさらなるアクションを推奨してもよい。
【0071】
次に
図13bを参照し、HAシステム20に関するセキュリティサーバ56が次に説明される。HAシステム20は、アドレス指定可能HAデバイス31a〜31nを含み、各々が、該各々に関連づけられたそれぞれのHAデバイス署名を有し、HAデバイス署名は、メモリ562に記憶されてもよい。HAデバイス署名は、アドレス指定可能HAデバイス31a〜31nの予期されたアクションに関するデータを含んでもよい。HAデバイス署名はまた、例えば、MACアドレス、ポートデータ、及びユニバーサルシリアルバス(USB)識別子を含んでもよい。当然ながら、HAデバイス署名は、アドレス指定可能HAデバイス31a〜31nの動作挙動を特徴付けるための基礎として使用できるさらなる識別子、及び/又はこれらの任意の組み合わせを含んでもよい。
【0072】
アドレス指定可能HAデバイス31a〜31nは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び/又はカメラのうち、任意のものを含んでもよい。当然ながら、アドレス指定可能HAデバイス31a〜31nは、他の及び/又はさらなるデバイスを含んでもよい。アドレス指定可能デバイス31a〜31nは、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信する。
【0073】
HAシステム20は、メモリ562に結合され、かつ例えば通信ポートをスキャン又はポーリングすることによってそれぞれの通信ポートを介してアドレス指定可能HAデバイス31a〜31nと通信する、HAセキュリティコントローラ561を含む。所与の通信ポートが、現在使用されておらず、あるいはオープンである。所与のアドレス指定可能HAデバイス31a〜31nが、現在使用されていない所与の通信ポートを介して通信したとき、HAセキュリティコントローラ561は、それぞれのHAデバイス署名に基づいて所与のアドレス指定可能HAデバイスが異常に動作しているかどうかを決定し、所与のアドレス指定可能HAデバイスが異常に動作しているかどうかの検証のためにクラウド33に通信する。所与のアドレス指定可能HAデバイス31a〜31nが異常に動作していると検証されたとき、HAセキュリティコントローラ561は、所与のアドレス指定可能HAデバイスとの通信を終了する。
【0074】
HAセキュリティコントローラ561は、所与のアドレス指定可能HAデバイス31a〜31nが異常に動作していると検証されたとき、通知をさらに生成する。いくつかの実施形態において、アドレス指定可能HAデバイス31a〜31nは、各々、該各々に関連づけられた製造業者を有し、HAセキュリティコントローラ561は、通知を、異常に動作していると検証された所与のアドレス指定可能HAデバイスに関連づけられたそれぞれの製造業者に通信してもよい。当然ながら、HAセキュリティコントローラ561は、当業者に十分理解されるように、通知を別のデバイス及び/又はエンティティに通信してもよい。
【0075】
HAシステム20は、HAセキュリティコントローラ561とクラウド33との間の通信を提供する通信インターフェース563をさらに含んでもよい。HAセキュリティコントローラ561は、通信インターフェース563を介してクラウド33と通信して、例えば、メモリ562内の記憶されたHAデバイス署名を更新する。
【0076】
HAシステム20は、HAセキュリティコントローラ561に結合された無線コントローラ44a〜44nをさらに含む。アドレス指定可能デバイス31a〜31nの各々は、それぞれの無線コントローラ44a〜44nを介してHAセキュリティコントローラ561とワイヤレスで通信するように構成されてもよい。
【0077】
一態様方法が、HAシステム20において通信する方法に向けられる。方法は、HAセキュリティコントローラ561を使用して、通信ポートのうちそれぞれのポートを介して、所与の通信ポートが現在使用されていない状態で、アドレス指定可能HAデバイス31a〜31nと通信することを含む。方法は、HAセキュリティコントローラ561を使用して、アドレス指定可能HAデバイス31a〜31nのうち所与の1つが現在使用されていない所与の通信ポートを介して通信したとき、それぞれのHAデバイス署名に基づいて所与のアドレス指定可能HAデバイスが異常に動作しているかどうかを決定し、所与のアドレス指定可能HAデバイスが異常に動作しているかどうかの検証のためにクラウド33に通信し、所与のアドレス指定可能HAデバイスが異常に動作していると検証されたとき、所与のアドレス指定可能HAデバイスとの通信を終了し、通知を生成することを含む。
【0078】
別の態様が、K4Homeソフトウェアのセットアップウィザードに向けられる。セットアップウィザードが、K4Connectシステム20に接続された、詳細にはK4Homeに接続された各デバイスについて、ますます簡素かつ比較的同形のセットアップ処理を提供することができる。セットアップウィザードは、ウィザードの各画面ステップ上のアクション可能アイテムを限定して、簡素さを維持してもよい。例えば、セットアップウィザードは、ウィザード内で次のステップに移る前、1つの質問とその質問から受け取られる1つのデータ入力とを可能にしてもよい。
【0079】
各セットアップウィザードは、ソフトウェア開発者が新しいユーザインターフェースコンポーネントを構築する必要なくデバイスのセットアップのためのデータを収集することを可能にする、予め構築されたテンプレートに基づく。各セットアップウィザードは、例えば、開発者及びブリッジ構築者がカスタマイズ可能であってもよい。カスタマイズは、各セットアップウィザードが基本スタイルの一貫性を保持しながら固有のスタイルシートを有することを可能にすることにより達成されてもよい。基本スタイルを越えて、各セットアップウィザード内のユーザインターフェースが変更可能であってもよく、しかし、これらの変更は特定パラメータの範囲内であることが望ましい。例えば、開発者にとって適切なテンプレートが利用可能でない場合、ユーザインターフェースコンポーネントが作成されてもよい。カスタムテンプレートは、利用可能なときはK4Connectコンポーネントを依然として使用することになり、K4Homeソフトウェアにより提供される比較的簡素かつ同形のセットアップ処理に相反し得ない。
【0080】
さらに
図14a及び
図14bを参照すると、各セットアップウィザードは、例えば、リモートデバイス36のディスプレイ48に、又はユーザインターフェース35の一部として、プログレスバー71を供給することにより文脈的ヘルプをさらに提供してもよく、これは、例えば、プログレスバー上にヘルプボタン72を含む。ヘルプボタン72は、セットアップウィザード内のユーザの現在のステップに対応するヘルプにリンクする。換言すると、ユーザは、ユーザがセットアップ処理内でどこにいるかに依存して、異なる命令をディスプレイ48に提示されることになる。このことは、頻繁に問題になるセットアップ内のステップにおいてユーザを支援し、かつユーザ体験を現在のホームオートメーションセットアップよりもより適応的かつより容易にすることができる点で、特に有利である可能性がある。
【0081】
次に
図15a〜
図15cを参照すると、ユーザインターフェース35は、K4Connectシステム20を制御し、あるいはK4Connectシステム上のアドレス指定可能デバイス31a〜31nを制御するための、いくつかの異なる方法を提供してもよい。例えば、K4Connectシステム20は、部屋ごとに(
図15a)、シーンごとに(
図15b)、及びデバイスタイプごとに(
図15c)制御されてもよい。当然ながら、K4Connectシステム20は、他のやり方で又は他の手法を用いて制御されてもよい。
【0082】
リモートデバイス36のディスプレイ48、例えば、モバイルフォンのタッチスクリーンディスプレイを介して提示できるユーザインターフェース35は、ユーザがアドレス指定可能デバイスのデバイスカテゴリごとに又はロケーションごとに(
図15a)アドレス指定可能デバイス31a〜31nを見ることを可能にする。ユーザは、さらに、ロケーションからのアドレス指定可能デバイス選択から、直接、アドレス指定可能デバイスカテゴリビューに切り替えることができる。ユーザインターフェース35は、さらに、有利には、最後にコンタクトされたデバイスを追跡することにより、使用されたデバイスのヒストリを追跡する。このことは、ユーザがユーザインターフェースの前のページに戻って検索することに代わって、より迅速に最近使用されたアドレス指定可能デバイス31a〜31nに直接アクセスすることを可能にすることができる。ユーザインターフェース35は、さらに、調整のためにタッチスクリーンディスプレイ上の単一ポイントの位置を特定することに代わって、リモートデバイス36、例えばタッチスクリーンリモートデバイスの画面全体を使用してアドレス指定可能デバイス31a〜31nを調整できるようにすることにより、増加したユーザビリティを提供してもよい。いくつかの実施形態において、アドレス指定可能デバイス31a〜31nは、例えば、音声認識を用いてユーザインターフェース35を介して制御されてもよい。他のタイプの制御もまた、かつ/あるいは追加的に使用されてもよく、例えば、バイオメトリクス又はジェスチャ(例えば、腕、手、目)認識である。
【0083】
次に
図16を参照すると、アドレス指定可能デバイス31a〜31nのうち1つ以上が発光ダイオード(LED)電球の形式であるとき、ユーザインターフェース35は、LEDカラーピッカー75機能を含む。LEDカラーピッカー75は、制御可能マルチカラーLED電球31aにおける色を設定するためのより正確な方法を提供する。現在、ユーザはパレットから色を選択しており、電球はとり得る最も近い色に調整される。このことは、ユーザがディスプレイ48から選択したものとマルチカラーLED電球31aからの実際の出力との間の差異を結果としてもたらす可能性がある。
【0084】
リモートデバイス36のプロセッサ49によるLEDカラーピッカー75は、マルチカラーLED電球31aが生み出すことができる色を検出し、その色選択肢をユーザに提示する。このことは、例えば、マルチカラーLED電球31aのCIEデルタを決定することにより行われる。CIEデルタは、製造業者により決定されてもよく、そのためのデータは、リモートデバイス36に記憶されてもよく、あるいはクラウドデバイス33から受信されてもよい。
【0085】
図17を参照すると、別の実施形態において、リモートデバイス36’がカメラ86’を含むとき、リモートデバイスのプロセッサ49’がカメラと協働して、マルチカラーLED電球31a’により実際に照射された色を捕捉してもよい。リモートデバイス36’のプロセッサ49’は、次いで、記憶されたCIEデルタ情報又は捕捉されたイメージに基づいて、マルチカラーLED電球の利用可能な色をディスプレイ48’に表示する。色は、デルタの端部における色を見つけることに対してCIE三角形の中で算出される。さらに、いくつかの実施形態において、マルチカラーLED電球の場合の、上記で論じられたリモートデバイス署名が、例えば、モデル番号に基づく電球のCIEデルタを含んでもよい。ユーザは、次いで、ディスプレイ48’上で選択肢から正確な色を選び、マルチカラーLED電球31a’は、選択された色に変化する。このことは、近似に基づいて色を選択する現在の方法と対照的に、ユーザの予期を電球出力にマッチさせる。
【0086】
当業者に十分理解されるように、マルチカラーLED電球31aの能力は、典型的なCIE図が示すものよりも典型的にかなり低い。本明細書に説明される実施形態は、有利には、マルチカラーLED電球31aの色表示能力を決定し、近似を行うのでなくその実際の色の選択を可能にする。
【0087】
次に
図18をさらに参照すると、ユーザインターフェース35は、複数のK4Hubハブ又はハブデバイス、例えば、ホームハブ34a及びオフィスハブ34bとインターフェースをとるインターフェースをさらに提供する。現在、ホームオートメーション市場では、エンドユーザがそのホームで複数のハブをセットアップすることができないか、あるいは、ハブが組み合わせられてクラウドシステムにされ、ユーザがシステム間の明白な区別を行えるようにすることを妨げているかのいずれかである。K4Connectシステム20は、有利には、例えば、自動的にローカルハブに接続し、かつクラウドを通して任意の他のハブに接続することにより、ユーザにユーザインターフェース35から複数のハブを制御する選択肢を可能にする。
【0088】
例えば、Wifiを介してローカルネットワークに接続されたとき、リモートデバイス36のユーザインターフェース35は、同じローカルネットワークのハブデバイス34a、34bに自動的に(すなわち、ユーザ介在なしに)接続してもよい。ハブデバイス34a、34bに接続されないセルラー接続又はWifiネットワークを使用するとき、ユーザインターフェース35は、複数のシステムのうちいずれをユーザが見たいかをユーザが選定することを可能にする。例えば、第1のシナリオは、ユーザのオフィスに位置するハブデバイス34aに対する接続である。K4App又はユーザインターフェース35は、オフィスハブ34aからアドレス指定可能デバイス31a〜31nを制御し、しかし、ユーザは、ユーザインターフェースを切り替えて他の接続されたハブを制御する選択肢を有する。第2のシナリオにおいて、ユーザがLTE(登録商標)ネットワークなどのセルラーネットワークに対してのみ接続されたとき、ユーザインターフェース35は、ユーザが接続されたハブ間で2つ以上ある場合に選ぶための選択肢を提供し、ゆえにユーザは、ホームハブ34b又はオフィスハブ34aの間で選定することができる。第3のシナリオにおいて、ユーザはホームハブ34bに接続され、ユーザインターフェース35はホームのアドレス指定可能デバイス31a〜31nを自動的に制御し、しかしユーザは、ユーザインターフェース上でオフィスハブ34aを制御することへ切り替えることができる。
【0089】
例えば、新しいアドレス指定可能デバイス31a〜31nがホームデバイス32又はハブデバイス34(すなわち、K4Homeを実行しているデバイス)により検出されたとき、新たに検出されたアドレス指定可能デバイスをサポートする新しいソフトウェアがダウンロードされてもよい。例えば、制御可能デバイスの「アプリストア」が、新たに検出された制御可能デバイスのサポート又はドライバを提供してもよい。「アプリストア」は、例えば、クラウドサーバ33又はサードパーティプロバイダによりホストされてもよい。クラウドサーバ上で利用可能であるアプリストアに関して、クラウドサーバは、アドレス指定可能デバイスドライバをメモリに記憶してもよい。新しいアドレス指定可能デバイス31a〜31nがホームデバイス32又はハブデバイス34により検出されたとき、ホーム又はハブデバイスは、ソフトウェアパッケージ全体でなく対応するドライバ又はソフトウェアを「プルダウンし(pull down)」てもよい。
【0090】
次に
図19をさらに参照し、ブリッジ82のさらなる詳細が次に説明される。K4Connectブリッジ82は、メッセージキュー又はメッセージキューサーバ50のための変換レイヤを提供して、K4Connectシステム20に接続されたアドレス指定可能デバイス31a〜31nと通信する。ユーザ又は所定シーンがK4Connectシステム20でコマンドを実行したとき、メッセージキュー50は、一般的形式のメッセージをNode.js APIを通して関連づけられたブリッジ82に送信する。当業者に十分理解されるように、一般的形式のメッセージは、異なるAPIを通して、又は異なる手法によって送信されてもよい。ブリッジ82は、次いで、一般的コマンドをアドレス指定可能デバイス31a〜31nのための特定のコマンドに変換し、変換されたコマンドをアドレス指定可能デバイスに送信する。
【0091】
ブリッジ82の独立性は、有利には、開発者がK4Connectシステム20の全体から独立してほぼいかなる制御可能デバイスについてもブリッジを書くことを可能にする。例えば、一般にメッセージキュー50とは別個に記憶され得るブリッジ82がコード化された後、ブリッジ82は、K4Connectソフトウェアプログラム全体を更新する必要なくメッセージキュー50にダウンロードされ、統合されてもよい。
【0092】
より詳細には、例えば、新しいアドレス指定可能デバイス31a〜31nがホームデバイス32又はハブデバイス34により検出されたとき、この新たに検出された制御可能デバイスをサポートする新しいソフトウェア、すなわち、ブリッジがダウンロードされてもよい。例えば、制御可能デバイスの「アプリストア」が、新たに検出された制御可能デバイスのサポート又はブリッジを提供してもよい。「アプリストア」は、例えば、クラウドサーバ33又はサードパーティプロバイダによりホストされてもよい。クラウドデバイス33上で利用可能であるアプリストアに関して、クラウドデバイスは、アドレス指定可能デバイスブリッジをメモリに記憶してもよい。新しいアドレス指定可能デバイス31a〜31nがホームデバイス32又はハブデバイス34により検出されたとき、ホーム又はハブデバイスは、ソフトウェアパッケージ全体でなく対応するブリッジ又はソフトウェアを「プルダウンし」てもよい。
【0093】
各ブリッジの独立性は、さらに、ホームK4Connectシステム20上の帯域幅及び記憶空間のより良い使用を可能にする。ブリッジが更新されるたびにソフトウェア更新パッケージ全体をダウンロードしないことにより、ユーザ及びK4Connectは、インターネット帯域幅及びデータを保護する。さらに、各ユーザにより所望されるブリッジ82のみダウンロードする能力は、ユーザがK4Homeを実行するデバイス、例えばホームデバイス32及び/又はK4Hub34上のメモリ空間を保護することを可能にする。この保護されたメモリ空間は、例えば、K4Connectシステム20がユーザデバイス上の膨張したソフトウェア又は限られた記憶空間をあまり懸念することなく、新しいホームオートメーションデバイスのために比較的多数のブリッジを提供することを可能にする。
【0094】
次に
図20を詳細に参照すると、新しいブリッジ91が作成され、K4Connectシステム20にロードされたとき、各K4Connectシステム上の更新サーバ59が、クラウドデバイス33又はK4Awayに接続し、システムがいつ更新を実行するかを通知される。当業者に十分理解されるように、更新サーバ59は、クラウドサーバと通信し、該クラウドサーバとの通信に基づいて更新が存在するかどうかを(例えば、日付、更新ID等に基づいて)決定することにより、更新を実行してもよい。新しいブリッジのデバイス署名及びデバイス記述が、更新サーバ59に送信される。デバイス署名及び記述に関連づけられた1つ又は複数のファイルは、一般に、完全なブリッジファイルよりかなり小さく、完全なブリッジファイルは、新しい制御可能デバイスがK4Connectシステム20に最終的に接続される場合にダウンロードされる。更新サーバ59は、デバイス署名を発見サーバ35に、デバイス記述を構成サーバ62に送信する。デバイス署名は、発見サーバ35が利用可能なポートをスキャンし、新しいブリッジ91により接続できる新しいアドレス指定可能デバイス31a〜31nがホーム内にあるかを認識することを可能にする。デバイス記述は、例えば、新しい制御可能デバイスをセットアップするための、上記で説明されたようなウィザード処理を含む。発見サーバ55が、新しいブリッジ91により接続できる新しい制御可能デバイスを見つけたとき、発見サーバ55は、構成サーバ62にメッセージを送信して、構成サーバに新しいアドレス指定可能デバイスを通知する。発見サーバ55は、さらに、新しいアドレス指定可能デバイス通知を通知サーバ66に送信し、通知サーバ66は、リモートデバイス36のディスプレイ48上でユーザインターフェース35を起動して、ユーザに新しいアドレス指定可能デバイスを知らせる。ブリッジウィザード92がさらに起動される。ブリッジウィザード92は、デバイス記述に関し、かつ構成サーバ62から要求された情報を集める。
【0095】
ひとたび情報が集められ、ユーザが例えばブリッジウィザード92を介して応答を提供すると、構成サーバ62は、ローダサーバ64に、新しい構成されたアドレス指定可能デバイスを通知する。ローダサーバ64は、更新サーバ59からのフルブリッジダウンロードを要求し、更新サーバは、クラウドデバイス33又はK4Awayからのフルのブリッジを要求する。更新サーバ59は、フルブリッジダウンロードをローダサーバ64に送信し、ローダサーバ64は、そのファイルを記憶し、新しいブリッジを起動する。こうして、新たに接続された制御可能デバイスがK4Connectシステム20に接続される。
【0096】
次に
図21aをさらに参照すると、K4Connectシステム20のブリッジ82a〜82cは、さらに、所与のブリッジが機能しなくなった場合にシステムが中断をあまり被らなくてよいように「サンドボックス化されている(sandboxed)」と当業者に言われ得るものである。ブリッジ82a〜82cのうち1つが機能しなくなった場合、又はメッセージキュー50に対する接続が機能しなくなった場合、残りのシステムコンポーネントは機能し続ける。ブリッジ82a〜82cは、これら自体及びメッセージキュー50の間で通信を実行し、そのため、通信における機能停止がある場合、ブリッジは一般に通信を再スタートさせることになる。ブリッジ82a〜82cがエラーを有する場合、例えば、ローダサーバ64がブリッジ82a〜82cをリロードする。これらのサンドボックス化された処理は、エラーがブリッジ82a〜82cにおいて発生した場合に、ホームデバイス32又はハブデバイス34上で実行するソフトウェアプログラム全体の再スタートを限定し、あるいは低減する。しかしながら、K4Connectシステム20に対する1つの効果は、機能しなくなったブリッジ82a〜82cに関連づけられた特定のアドレス指定可能デバイス31a〜31nを制御できないことであり得、このことは、ローダサーバ64がブリッジをリロードしたときに迅速に是正され得る。メッセージキュー50、他のサーバ、及び他のブリッジの機能性は、一般に影響を受けない。上述されたように、ブリッジは、アドレス指定可能HAデバイスと通信するためにオンデマンドで、例えば、必要に応じて設置されてもよい。
【0097】
次に
図21bを参照し、「サンドボックス化された」ブリッジ82a〜82cがHAシステム20に関連して次に説明される。HAシステム20は、アドレス指定可能HAデバイス31a〜31nを含む。アドレス指定可能HAデバイス31a〜31nは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び/又はカメラのうち、任意のものを含んでもよい。当然ながら、アドレス指定可能HAデバイス31a〜31nは、他の及び/又はさらなるデバイスを含んでもよい。アドレス指定可能デバイス31a〜31nは、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信する。
【0098】
プロセッサ641と該プロセッサに関連づけられたメモリ642とが協働して、サンドボックス化されたブリッジ82a〜82cに関して上記で説明された機能を実行してもよい。より詳細には、プロセッサ641及びメモリ642は、メッセージキュー50を実現するように構成される。すなわち、メッセージキュー50は、アドレス指定可能HAデバイス31a〜31nのうちそれぞれのデバイスのための一般的メッセージを生成する。プロセッサ641及びメモリ642は、さらに、サンドボックス化されたブリッジ82a〜82cを実現する。各々のサンドボックス化されたブリッジ82a〜82cは、メッセージキュー50からの一般的メッセージ形式を、アドレス指定可能HAデバイス31a〜31nのうち所与の1つのための特定のメッセージにコンバートする。特定のメッセージは、それぞれのサンドボックス化されたブリッジ82a〜82cに対して固有である特定の制御及び/又はステータスメッセージであってもよい。
【0099】
サンドボックス化されたブリッジ82a〜82cのうち1つが機能しなくなると、プロセッサ641及びメモリ642は、他のサンドボックス化されたブリッジを動作可能に維持する間、機能しなくなったサンドボックス化されたブリッジ82a〜82cをリロードすることを実現する。プロセッサ641は、例えば、サンドボックス化されたブリッジとメッセージキュー50との間の通信、及び/又はサンドボックス化されたブリッジ82a〜82c間の通信に基づいて、機能しなくなった1つのサンドボックス化されたブリッジ82a〜82cを決定してもよい。
【0100】
HAシステム20は、プロセッサ641に結合された無線コントローラ44a〜44nをさらに含む。アドレス指定可能デバイス31a〜31nの各々は、それぞれの無線コントローラ44a〜44nを介してプロセッサ641とワイヤレスで通信するように構成されてもよい。
【0101】
一方法態様が、HAシステム20において複数のサンドボックス化されたブリッジ82a〜82cを動作可能に維持する方法に向けられる。方法は、プロセッサ641と該プロセッサ641に関連づけられたメモリ642とを使用して、メッセージキュー50を介して、複数のアドレス指定可能HAデバイス31a〜31nのうちそれぞれのデバイスのための複数の一般的メッセージを生成し、メッセージキューからの一般的メッセージを、複数のサンドボックス化されたブリッジ82a〜82cを用いてアドレス指定可能HAデバイスのうち所与の1つのための特定のメッセージにコンバートすることを含む。方法は、プロセッサ641及びメモリ642を使用して、複数のサンドボックス化されたブリッジ82a〜82cのうち1つが機能しなくなると、他のサンドボックス化されたブリッジを動作可能に維持する間、機能しなくなったサンドボックス化されたブリッジをリロードすることをさらに含む。
【0102】
次に
図22をさらに参照すると、ホームデバイス32又はハブデバイス34上で実行され得るK4Homeソフトウェアは、K4Connectシステム20の要素95のリストとして、機能する応答シーンをさらに特徴づける。K4Connectシステム20は、次いで、システム20に接続されたアドレス指定可能デバイス31a〜31nにおけるアクションを引き起こしてもよい。応答シーンは、さらに、例えば、ユーザインターフェース35においてシステム20のステータスに基づいて、平易な言葉の通知をユーザに返すことができる。
【0103】
標準応答シーンが、シーンウィザードを用いてユーザによりセットアップされてもよい。シーンウィザードは、アドレス指定可能デバイス31a〜31nとコマンドイベント変数又はトリガとのリストを含む。ユーザは、例えばK4Appのユーザインターフェース35を介して、シーンのトリガと、影響を受けるアドレス指定可能デバイス31a〜31nと、シーンに応答するためにアドレス指定可能デバイスが取ることになるアクション又はステートとを選択する。
【0104】
標準応答シーンは、プログラムにより検出されたトリガのリストによって、又はユーザがユーザインターフェース35内のシーン93をアクティブ化することによって開始されてもよい。コマンド変数又はトリガリストの一例が、以下のとおりである:トリガ1は、時間期間であり、トリガ2は、モバイル制御デバイスがネットワークに接続されることであり、トリガ3は、設定された日であり、トリガ4は、接続された動き検出器が動きを感知することである。
【0105】
シーンは、ユーザ定義されたコンポーネント、又は、アドレス指定可能デバイス31a〜31nのうちいずれのセットがこのシーンのためにコンタクトされることになるか、及び、そのアドレス指定可能デバイスがどのステートを取るべきかを指定している。例えば、制御可能デバイス1 31aが、テレビジョン(TV)であり、アドレス指定可能デバイス2 31bが、TVの部屋内のライトのセットであり、アドレス指定可能デバイス3 31cが、TVの部屋内の部屋のサーモスタットであり、アドレス指定可能デバイスn 31nが、コーヒーメーカーの動作を制御する。システム20は、アドレス指定可能デバイスに送信されるコマンドを生成する。アドレス指定可能デバイス31a〜31nは、コマンドに基づいて応答する。
【0106】
例えば、トリガ1は、7〜9pmにアクティブ化され、トリガ2は、所与のユーザのスマートフォン又はリモートデバイス36がローカルネットワークに接続されたときにアクティブ化され、トリガ3は、平日にアクティブ化され、トリガ4は、リビングルームの動き検出器が動きを検出することによりアクティブ化される。トリガに基づいて、ユーザ定義されたコンポーネントは、TVをオンにして所与のチャネルをつけ、TVの部屋内のライトを調光し、サーモスタットを72度に調整し、晩のカフェイン抜きコーヒーを入れ始める。
【0107】
標準応答シーンは、さらに、クラウドデバイス33又はK4Awayを使用するユーザと、利用可能シーンをリストアップするマーケットプレイスとの間で共有されてもよい。K4Connectシステム20は、さらに、K4Homeの個々のユーザに、機能性及びさらなる応答シーンを追加するために接続すべきとり得る他の及び/又はさらなるアドレス指定可能デバイス31a〜31nを示唆してもよい。
【0108】
ひとたびユーザが応答シーンウィザードを完了させ、あるいは共有された応答シーンを追加すると、リモートデバイス36が、ユーザインターフェース35を介して、アクティブ化するとシーンがどのように見えるかを示すシーンのモデル化されたアニメーションを表示してもよい。ユーザが、さらに、1日全体を通して機能することになるシーンのアニメーションとそのトリガとにアクセスしてもよい。
【0109】
次に
図23〜
図29aを参照すると、K4Homeの別の態様は、プロパティベースの構成要素(property based ingredients)に基づく構成要素応答シーンとして参照され得るものであり、これは、レシピ内の同じプロパティを生み出せる異なるアドレス指定可能デバイスの使用を可能にする。例えば、シーンが所与の機能のために特定のアドレス指定可能デバイス31a〜31nに結び付けられることに代わって、シーンは特定のプロパティに基づく。これは、有利には、複数の応答シーンが、応答シーンが必要とする同じ要素を用いて実現されることを可能にし、しかし、同一のデバイスを使用しない。
【0110】
例えば、所与のユーザが、別のユーザがいつ家にいるかを知りたい場合、ユーザは、誰かが家にいるか否かを示すために使用できるアドレス指定可能デバイス31a〜31nを識別する応答シーンをセットアップしてもよい。所与のユーザについて、応答シーンにおけるアドレス指定可能デバイス31a〜31n又は構成要素は、非アクティブ化された警報システムであり得、この警報システムは、始動されたときに、応答シーンをトリガするための所望のプロパティを与える。次いで、応答シーンは、K4Connectシステム20に、所与のユーザに対しての他のユーザが家にいるという通知、例えば、平易な言葉の通知を送信させる。次いで、このシーンは、警報システムを有さず、しかし動き検出器101を有するさらなる第3のユーザとの間で共有でき、動き検出器101は、レシピを完成させるために所望のプロパティを与えることができるデバイスの同じリスト内に入る。換言すると、シーンは、特定のアドレス指定可能デバイス31a〜31nにかかわらず、所望の結果に関連づけられる。レシピがほぼ完成されており、あるいはさらなる制御可能デバイスを追加することにより拡張できる事例において、K4Connectシステム20は、例えばリモートデバイス36のユーザインターフェース35を介して、とり得るレシピベースの応答シーンをユーザに知らせ、これらをオンラインマーケットにリンクする。オンラインマーケットでは、ユーザが無料でか又は購入でかのいずれかで、アドレス指定可能デバイス31a〜31nをダウンロードすることができる。
【0111】
構成要素リストに基づく応答シーンの別の例は、システム20がレシピが満たされていないと示す場合に、システム20がレシピが満たされていないという平易な言葉の通知を送信できることである。例えば、人が特定の時間までに家に到着していない場合、そのレシピは、存在(動き検出器、カメラ、及び接続されたスマートフォン(すなわち、リモートデバイス36)によって)と時間との構成要素を含む。特定の時間における存在の欠如が、シーンをトリガし、ユーザに警報する。当然ながら、その他、例えば、監視センタ及び/又は他の指名された人が警報されてもよい。
【0112】
ユーザは、構成要素応答シーンをセットアップし(ブロック114)、あるいはクラウドデバイス33から共有された応答シーンをダウンロードすることができる。K4Homeは、次いで、すべての構成要素がK4Connectシステム20内に存在するかどうかを決定する(ブロック102)。構成要素プロパティを提供できるアドレス指定可能デバイス31a〜31nがK4Connectシステム20に接続されている場合、システムは、アドレス指定可能デバイスをポーリングすることにより(ブロック103)、アドレス指定可能デバイスのステート(ブロック106)を決定する。シーンの構成要素のすべてが満たされる場合(ブロック104)、K4Connectシステム20は、シーンを実行する(ブロック108)。K4Connectシステム20の構成要素が条件を満たさない場合(ブロック104)、システムは、プロパティステートを再度ポーリングしてもよく(ブロック103)、あるいはK4Home又は応答シーンにより設定された指定量の時間待機してもよい。構成要素を提供できるアドレス指定可能デバイス31a〜31nが接続されていないため、構成要素/プロパティのいずれかがK4Connectシステム20において利用可能でない場合、K4Homeは、メッセージを解析サーバ54に送信して、クラウドデバイス33からの示唆された制御可能デバイスを要求し(ブロック110)、さらに、示唆された制御可能デバイスを購入する機会をユーザに例えばユーザインターフェース35上で提示するように協働してもよい(
図24)。新しいアドレス指定可能デバイスは、ブロック112において設置できる。
【0113】
別の例において、ユーザが、カメラを利用して特定の時間期間の間に動きイベントを記録する応答シーンをダウンロードしてもよい。例えば、所与のユーザが、自分が8am〜5pmに仕事をしている間、自分の犬がいつリビングルームのカウチに登るかを記録したい。次いで、所与のユーザは、3つの構成要素、すなわち、ビデオを記録する能力(K4Homeに接続されたカメラにより提供される)と、動き(同じカメラの内蔵の検出器により提供される)と、時間期間とでシーンを構築する。次いで、所与のユーザは、K4Away又はクラウドデバイス33上の応答シーンマーケットプレイスでこれを共有する。別のユーザが、例えば、このシーンをダウンロードし、このシーンを夜のホームセキュリティのために使用しようとする。別のユーザは、カメラを有するが、動きを感知する能力を有さない。K4Homeは、別のユーザに、このシーンを使用可能にするための独立した動きセンサを設置するように示唆し、K4Store又はクラウドデバイス33に対するリンクを提供する。K4Store又はクラウドデバイス33から、複数のブランド及び型の動きセンサのうち任意のものの注文が購入できる。次いで、別のユーザは動きセンサを設置し、上記動きセンサは、すべての構成要素が満たされるため、応答シーンを成立させることが今や可能である。次いで、別のユーザは、構成要素を提供する異なるデバイスを用いると同時に同じベースの応答シーンを用いて、10pm〜6amに自身のリビングルーム内のいかなる動きも記録する。
【0114】
例えば、ユーザが、「ホーム」のアイデアを提供するために応答シーンを生成してもよい。応答シーンは、「私が家にいるとき、私はリビングルームのライトが欲しい」のように、ユーザに関して生成されてもよい。K4Connectシステム20は、例えばメニューを介して、「私が家にいるかどうかを決定するためにあなたが使用できるx個のデバイスがあり、ここにライトを提供するデバイスがある」ことを示し、あるいは表示する。換言すると、シーンが最初構築され、次いで、シーンを作ることができるアドレス指定可能デバイス31a〜31nが提供される。
【0115】
次に
図29b及び
図29cを参照し、HAシステム20に関連するものとしての構成要素応答シーンが次に説明される。HAシステム20は、所与のロケーションにアドレス指定可能HAデバイス31a〜31nを含む。アドレス指定可能HAデバイス31a〜31nは、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、及び/又はカメラのうち、任意のものを含む。当然ながら、アドレス指定可能HAデバイス31a〜31nは、さらなる及び/又は他のデバイスを含んでもよい。
【0116】
HAシステム20は、ユーザから例えばワイヤレスで第1のトリガアクションと第1の応答イベントとを含む第1のシーンを取得するHAデバイスシーンコントローラ581をさらに含む。例えば、第1のトリガは「私が家に着いたとき」であってもよく、第1の応答イベントは「リビングルームのライトをオンにする」であってもよい。実際、第1のトリガアクション及び第1の応答イベントは、アドレス指定可能HAデバイス32a〜32nのうちいずれが第1のトリガアクション及び第1の応答イベントを実現することを担うかを識別しない。HAデバイスシーンコントローラ581は、ユーザインターフェースデバイス360、例えば、より詳細にはユーザインターフェースコントローラ353に結合されてユーザ入力を可能にするユーザ入力デバイス351から、第1のトリガアクション及び第1の応答イベントを取得してもよい。ユーザインターフェースデバイス360は、リモートデバイス、例えば、タブレットコンピュータ、スマートフォン等であってもよい。2つ以上の第1のトリガアクション及び任意数の第1の応答イベントがあってもよい。
【0117】
HAデバイスシーンコントローラ581は、さらに、例えばユーザインターフェースコントローラ353に結合されたユーザインターフェースデバイス360のディスプレイ354に、第1の所望シーンを実現することができるアドレス指定可能HAデバイス31a〜31nのうち対応するデバイスの第1のユーザ選択可能リストを提示する。換言すると、HAデバイスシーンコントローラ581は、第1のトリガアクション及び第1の応答イベントに対応するか又はこれらを実行することになるアドレス指定可能HAデバイス31a〜31nを提示する。
【0118】
HAデバイスシーンコントローラ581は、さらに、アドレス指定可能HAデバイス31a〜31nのうち第1のユーザ選択されたデバイスを決定し、第1のトリガイベントが発生すると、第1のユーザ選択されたアドレス指定可能HAデバイスを用いて第1の応答イベントを実行し、これにより、第1の所望シーンを実現する。第1の所望シーンは、ワイヤレスで実行されてもよく、例えば、HAデバイスシーンコントローラ581は、アドレス指定可能HAデバイス31a〜31nとワイヤレスで通信して、第1の所望シーンを実現してもよい。いくつかの実施形態において、HAデバイスシーンコントローラ581は、トリガイベントが発生すると通知を生成してもよい。
【0119】
HAデバイスシーンコントローラ581は、さらに、クラウドから、例えばワイヤレスで、第2のトリガアクションと第2の応答イベントとを含む第2の所望シーンを取得する。第2のトリガアクション及び第2の応答イベントは、第2のトリガアクション及び第2の応答イベントを実現することを担うアドレス指定可能HAデバイス31a〜31nを識別することなく取得される。
【0120】
HAデバイスシーンコントローラ581は、例えばディスプレイ354に、第2の所望シーンを実現することができる対応するアドレス指定可能HAデバイス31a〜31nの第2のユーザ選択可能リストを提示してもよい。換言すると、第2のシーンは共有されたシーンとして、例えば別の人のHAシステムから取得される。HAデバイスシーンコントローラ581は、さらに、第2のユーザ選択されたアドレス指定可能HAデバイス31a〜31nを決定し、上記で説明されたのと同様に、例えばワイヤレスで、第2のトリガイベントが発生すると、第2のユーザ選択されたアドレス指定可能HAデバイスを用いて第2の応答イベントを実行し、これにより、第2の所望シーンを実現する。
【0121】
HAデバイスシーンコントローラ581は、さらに、所与のロケーションにおけるアドレス指定可能HAデバイス31a〜31nがシーンを実現することができないときを決定してもよい。このことが当てはまるとき、HAデバイスシーンコントローラ581は、例えばディスプレイ354に、さらなるアドレス指定可能HAデバイスについて、購入オファーを提示する。ユーザは、例えば、ハイパーリンクをクリックすることにより、さらなるアドレス指定可能HAデバイスを購入してもよい。
【0122】
一方法態様が、HAシステム20において第1及び第2の所望シーンを実現する方法に向けられる。方法は、HAデバイスシーンコントローラ581を使用して、ユーザから第1のトリガアクションと第1の応答イベントとを含む第1の所望シーンを取得し、第1の所望シーンを実現することができる対応するアドレス指定可能HAデバイス31a〜31nの第1のユーザ選択可能リストを提示することを含む。HAデバイスシーンコントローラ581は、さらに、第1のユーザ選択されたアドレス指定可能HAデバイス31a〜31nを決定し、第1のトリガイベントが発生すると、第1のユーザ選択されたアドレス指定可能HAデバイスを用いて第1の応答イベントを実行し、これにより、第1の所望シーンを実現することに使用される。
【0123】
HAデバイスシーンコントローラ581は、さらに、クラウド331から第2のトリガアクションと第2の応答イベントとを含む第2の所望シーンを取得し、第2の所望シーンを実現することができる対応するアドレス指定可能HAデバイス31a〜31nの第2のユーザ選択可能リストを提示することに使用される。デバイスシーンコントローラ581は、さらに、アドレス指定可能HAデバイスのうち第2のユーザ選択されたデバイスを決定し、少なくとも1つの第2のトリガイベントが発生すると、第2のユーザ選択されたアドレス指定可能HAデバイス31a〜31nを用いて第2の応答イベントを実行し、これにより、第2の所望シーンを実現することに使用される。いくつかの実施形態において、HAデバイスシーンコントローラ581は、所与のロケーションのアドレス指定可能HAデバイス31a〜31nがシーンを実現することができないときを決定し、さらなるアドレス指定可能HAデバイスの購入オファーを提示することに使用される。
【0124】
次に、K4Connectシステム20に関連するものとしての開発キットが説明される。K4Connectシステム20は、ソフトウェア及びハードウェア双方の開発キットを提供する。ソフトウェア開発キットは、開発者がメッセージキューとのすべての通信と対話し、かつ該通信を扱うための完全なデバイススタックを構築する。ビルトインのブリッジエディタが、例えば、開発者がウェブブラウザからブリッジを作成及び編集することを可能にし、記述エディタが、デバイス記述XMLファイルを作成する。
【0125】
ハードウェア開発キットは、開発者が中間ブリッジなしに制御可能デバイスを直接メッセージキューに接続することを可能にする。例えば、開発者がその制御可能デバイスに通信プロトコルを追加するとき、K4Connectシステム20、詳細にはその通信コンポーネントが、そのハードウェアに統合されて、システムのブリッジをバイパスし、メッセージキューと直接通信してもよい。
【0126】
次に、クラウドデバイス33又はK4Awayのさらなる詳細が説明される。すでに説明されたK4Awayの機能に追加で、K4Awayは外部APIをホストする。外部APIは、独自にインターネットベースのサービスに接続することができないデバイスのためのインターフェースを提供する。K4Connectシステム20及びK4Awayに接続されたとき、前にネットワーク化されていないデバイスが、そのK4Awayとの接続を通して、例えばIFTTT、Evernote、及びFacebook(登録商標)などの外側のサービスにアクセス可能になる。
【0127】
セキュリティに関して、K4Connectシステム20のセキュリティモデルは、システムに比較的高いレベルのセキュリティを提供することに基づく。各々の電話又はリモートデバイス36は、2つのレベルで認証される。第1のレベルは、システム管理者により追加されたデバイス固有の許容である。第2のレベルは、リモートデバイス36上のユーザログインである。この2レイヤのシステムは、正当なユーザログインがあった場合でさえ、承認されていないデバイスのログインの発生を低減する。
【0128】
K4Connectシステム20は、その解析データ収集においてプライバシー手法を通してセキュリティをさらに提供する。データは、2つの別個のサーバに記憶される。一方のサーバが、匿名ユーザを表すトークンを保持し、他方のサーバが、使用及び解析データを保持する。2つのサーバ間の接続は、技術的ヘルプのためにユーザにより承認されたとき、発生する。ユーザが応答シーン又はデバイス推奨を送信されたとき、その示唆は、典型的に、上記ユーザを表すトークンにのみ送信される。ユーザは、常時匿名のままである。換言すると、ユーザに関する情報の一部は、「知る必要」原則と同様に、技術的サポートを提供するために選択的に利用可能であり得る。
【0129】
K4Connectシステム20は、収集されるデータに対する完全な権利及び所有権をユーザに授与するセキュリティ手法をさらに使用する。K4Connectシステム20は、ユーザからのデータを収集し、解析し、それを別個のセキュアサーバ上に記憶する。閾時間期間、例えば、1年の後、データは恒久的に削除される。この方法は、上記データをいつでも恒久的に削除する能力をユーザに授与するユーザオーバーライドを含む。
【0130】
K4Hub34は、ホームルータに接続されたWifiルータとしてさらに使用でき、そのため、K4Connectシステム20に接続されたすべてのデバイスは、K4Hub34のプライベートWifiネットワークを通してルーティングされる。このことは、有利には、K4Connectシステムに接続されたデバイス、例えばパーソナルコンピュータなどの間の分離を可能にする。この分離は、K4Connectシステム20のデバイス間のネットワークに影響することからのパーソナルコンピュータに対する攻撃の機会を低減する可能性がある。
【0131】
次に
図30aを参照すると、別の態様が、K4Connectシステム20’’上で使用されるヘルス関連デバイスに向けられる。K4Connectシステム20’’と連動したヘルス関連デバイスの使用は、K4Lifeと称されることがある。しかしながら、ヘルス関連か否かにかかわらず、他の及び/又はさらなるデバイスがK4Lifeシステムの一部であってもよいことが留意されるべきである。上記で説明されたK4Connectシステムと同様に、K4Lifeシステム20’’はアドレス指定可能デバイス31a’’〜31n’’を含み、これらのうちいくつかが、例えば、歩いた歩数、血圧、体重、及び他のメトリクスなどのヒューマンヘルス関連データを測定するヘルスデバイスの形式であり得る。換言すると、K4Lifeシステム20’’は、上記で説明されたK4Connectシステムの機能を実行し、以下でさらに詳細に説明されるようにさらなるヘルス関連機能を含む。例えば、ヘルスデバイスは、例えば、1つ以上のベッドセンサ、動き検出器、フィットネス追跡デバイス、血圧バンド/モニタ、体重計、及び温度プローブを含んでもよい。当然ながら、例えばK4Homeシステムからの、他の及び/又はさらなるヘルスデバイス若しくはセンサが使用されてもよい。
【0132】
さらに、K4Appは、社会的交流、例えば、写真共有及びライブビデオチャットを提供する。より詳細には、ライブビデオチャットが開始されるとき、K4Lifeシステム20’’は、ライブビデオチャットの開始時間及び継続時間を、中央サーバ、例えばクラウドデバイス33’’又はローカルサーバデバイスに報告してもよい。
【0133】
K4Lifeシステム20’’、例えば解析サーバ54’’は、ユーザの全体的ヘルスを示すスコアを計算し、このスコアは、K4Scoreとして参照されてもよい。K4Scoreは、直接測定されたヘルスデータと、アドレス指定可能デバイス又はヘルスデバイス31a’’〜31n’’の使用から測定された活動レベルと、K4Appの使用により測定された社会的関わりとを組み合わせることにより決定される。K4Scoreは、他の及び/又はさらなる情報を含み、あるいは該情報に基づいてもよい。このスコアの過去の傾向が、例えば、ユーザの健康における向上又は低下を予測するために使用されてもよい。当然ながら、このデータは、他の目的で使用されてもよく、例えば、ヘルスケア専門家、モニタリングステーション等のような他のユーザに通信されてもよい。例えば、座りがちな人が、不規則な睡眠パターンを有し、わずかな社会的交流が、潜在的な健康問題を有するとして識別されてもよい。K4Lifeシステム20’’及びK4Scoreが比較的有利であり得る1つの例示的なシナリオは、年配の親によるシステムの使用であって、その子供が親の健康状態をチェックしたい場合であり、あるいはユーザがその自身の健康状態を単に知らされていたい場合である。
【0134】
いくつかの実施形態において、ヘルス又は活動データは、家族メンバによって、又は介護付き住宅などのグループ生活設定において、又はオンサイト若しくはリモートの監督者によって閲覧されてもよい。ヘルスデータは、さらに、例えばリモートデバイス36’’のユーザインターフェース35’’を介して表示されて、個々のユーザのヘルススコア又はユーザのコミュニティの総計を示してもよい。
【0135】
次に
図30bを参照すると、K4Connect又はHAシステム20’’のヘルス関連の態様が次に説明される。HAシステム20’’は、アドレス指定可能HAデバイス31a’’〜31n’’を含む。アドレス指定可能HAデバイス31a’’〜31n’’は、動き検出器、サーモスタット、ライトスイッチ、オーディオコントローラ、ドアロック、カメラ、及び/又はヘルス関連センサ(例えば、部屋占有センサ、ベッドセンサ、歩数カウンタ、心拍モニタ、血圧モニタ、温度センサ、及び体重計)のうち、任意のものを含んでもよい。当然ながら、アドレス指定可能HAデバイス31a’’〜31n’’は、他の及び/又はさらなるデバイスを含んでもよい。アドレス指定可能デバイス31a’’〜31n’’は、異なるワイヤレス通信プロトコルの中からそれぞれの異なるワイヤレス通信プロトコルを用いてワイヤレスで通信する。
【0136】
HAシステム20’’は、ユーザソーシャルネットワーキングを可能にし、かつこれに基づいてユーザソーシャルネットワーキングデータを生成するユーザインターフェースデバイス36’’をさらに含み、上記データは、例えば、いずれのソーシャルネットワーキングアプリケーションか、及び各ソーシャルネットワーキングアプリケーションを用いて費やされた時間の量に関連するデータである。ユーザインターフェースデバイス36’’は、ポータブルハウジング361’’と、ポータブルハウジングにより担体されたディスプレイ48’’と、ポータブルハウジングにより担体されたワイヤレス通信回路362’’と、ディスプレイ及びワイヤレス通信回路に結合されて少なくとも1つのワイヤレス通信機能を実行するユーザインターフェースデバイスコントローラ49’’とを含む。例えば、ユーザインターフェースデバイス36’’は、スマートフォン又はタブレットであってもよく、任意数のソーシャルネットワーキングアプリケーション、例えば、写真共有、ライブビデオチャット、及びソーシャルメディアアプリケーションを実行してもよい。
【0137】
HAシステム20’’は、コントローラ381’’と、これに結合されたメモリ382’’とをさらに含み、測定されたユーザヘルスデータを記憶し、アドレス指定可能HAデバイス31a’’〜31n’’に基づいてユーザ身体活動データを決定する。身体活動は、時間期間のある期間に基づいて決定されてもよい。
【0138】
コントローラ381’’は、さらに、ユーザソーシャルネットワーキングデータとユーザヘルスデータとユーザ身体活動データとに基づいてユーザヘルススコアを生成し、クラウド331’’を介してユーザヘルススコアを通信する。コントローラ381’’は、さらに、例えば、上記時間の期間内に間隔を置いて決定された身体活動レベルに基づいてユーザヘルススコアを生成してもよい。
【0139】
コントローラ381’’は、例えば、ユーザヘルススコアが閾値を超えているとき、通知を生成してもよい。より詳細には、ユーザヘルススコアが不健康を示す場合、例えば、電子メール、SMSメッセージ、ディスプレイ上の視覚的通知等のような通知が生成され、クラウド331’’を介して電子デバイス361’’に通信されてもよい。いくつかの実施形態において、コントローラ381’’は、ある時間期間にわたり連続的な低下するユーザヘルススコアがある場合に通知を生成してもよい。ひとたびユーザヘルススコアがクラウド331’’に通信されると、上記スコアは、例えば、当業者に十分理解されるように、記憶、閲覧、分析、及び/又は他のデータ処理のために電子デバイス361’’によりダウンロードされてもよい。
【0140】
一方法態様が、HAシステム20’’においてユーザヘルススコアを通信する方法に向けられる。方法は、ユーザインターフェース36’’を介して、ユーザソーシャルネットワーキングを許可し、これに基づいてユーザソーシャルネットワーキングデータを生成することを含む。方法は、コントローラ361’’及びこれに結合されたメモリ362’’を使用して、測定されたユーザヘルスデータを記憶し、複数のアドレス指定可能HAデバイスに基づいてユーザ身体活動データを決定し、ユーザソーシャルネットワーキングデータとユーザヘルスデータとユーザ身体活動データとに基づいてユーザヘルススコアを生成し、クラウドを介してユーザヘルススコアを通信することをさらに含む。
【0141】
次に
図31を参照し、K4Connectシステム20’’’が、ロケーション決定にさらに使用されてもよい。K4Connectシステム20’’’が、K4Hub34’’’の指定された範囲内にあるモバイルデバイス(すなわち、リモートデバイス36’’’)を検出してもよい。これらの検出は、中央サーバ、例えば、クラウドデバイス又はK4Awayに報告でき、中央サーバにおいて、例えば、上記検出が、家又は施設内の人又はデバイスのロケーションを推定するために使用される。2つ以上のK4Hub34’’’が一時にあるモバイル又はリモートデバイス36’’’を検出することができるとき、K4Connectシステム20’’’は、重なったデータの検出強度を比較し、いずれのK4Hubが検出された人又はデバイスに最も近かったかを決定することにより、重複データを低減する。当然ながら、この実施形態に説明されるK4Connectシステム20’’’は、上記で説明されたK4Lifeシステムとの使用に特に有用であり得る。
【0142】
次に
図32を参照すると、別の実施形態において、複数のK4Life(又は、K4Connect)システム20a’’’’〜20n’’’’が、K4Communityとして参照され得るシステムにおいて集合的に使用されてもよい。K4Communityシステムは、有利には、例えばクラウドデバイス又はK4Awayにおいて、複数のK4Life又はK4Connectシステム20a’’’’〜20n’’’’からの集約データがコミュニティ内における比較のために解析されることを可能にする。他のコントローラ及び/又はデバイスからのデータがさらに集約されてもよい。当然ながら、任意の又は各々のシステム20a’’’’〜20n’’’’が、例えば全体的にかあるいは共有又は負荷分散された配置で、データを処理し、あるいは集約してもよい。さらに、K4Community20a’’’’〜20n’’’’におけるユーザは、互いに通信し、いくつかの実施形態において、所与のユーザの実行に対して他がどれほど実行しているかを見ることができてもよい。当業者に十分理解されるように、ヘルス関連データが収集され、可能性として交換されているため、ヘルス関連データは、ヘルスデータのユーザ又は所有者がそれを共有することに同意し、あるいはそれを実際に共有するまで、匿名を維持され、暗号化されてもよい。
【0143】
いくつかの実施形態において、K4Life又はK4Communityシステムは、ヘルス関連デバイス及びヘルス関連データに限られなくてもよい。例えば、上記で説明されたシステムの原理は、ユーティリティ管理、例えば、アパートユーティリティ負荷制御管理に適用されてもよい。こうした実施形態において、センサ又は制御可能デバイスが、例えば、エネルギー及び水道使用を監視し、これに基づいてプロファイルを構築するために使用されてもよい。他のテナントと比べてより多くユーティリティを使用する特定のテナントが識別されてもよい。さらに、共用エリアが監視され、スコア付けされてもよい。さらに、スコアが各テナントに割り当てられてもよい。
【0144】
図33を参照し、別の実施形態において、K4Lifeシステム120がヘルスケア設定において使用されて、どれほどの時間をヘルスケア専門家が患者又はユーザに与えているかを決定してもよい。1つの具体的な例において、システム120が養護ホームにおいて使用されて、どれほどの時間を看護師がユーザ/患者に費やしているか、並びに看護師が患者と共に部屋147にいたとき及び場合を監視してもよい。システム120、詳細にはハブデバイス134は、例えばBluetooth(登録商標)などの短距離通信プロトコルコントローラ199を含む。当然ながら、ハブデバイス134は、上記又は他の実施形態においてホームデバイスと置き換え可能に使用されてもよい。さらに、各看護師は、短距離通信プロトコルを介してシステムと通信するように構成された回路196を含む識別デバイス又はタグ197を装着することになる。看護師がユーザ又は患者と共に部屋にいて、かつ通信範囲内にいるとき、システムとタグとが通信し、通信の時間及び継続時間がログをとられる。この情報は、当業者に十分理解されるように、K4Community環境で使用できる。
【0145】
次に
図34を参照し、別の実施形態において、例えば、ヘルスケア施設などのK4Communityシステムにおいて、アドレス指定可能デバイスに基づいたイベント又はチケットが生成されてもよい。上記イベントは、ログをとられ、かつ/あるいはスタッフに割り当てられ、リモートデバイス136’のユーザインターフェース135’に表示されてもよい。スタッフが、例えば、イベント生成に関連づけられた人の部屋に到着したとき、そのスタッフの人の到着時間が、例えば、上記で説明されたようにログをとられてもよい。
【0146】
いくつかの実施形態が、電子デバイスのプロセッサ又は処理回路により実行されるソフトウェアを含むものとして説明されたが、上記ソフトウェアは、ファームウェア、マシンコード、又はプロセッサ若しくは処理回路の構成を含み得ることが当業者に理解されるべきである。さらに、いくつかの実施形態が説明されたが、任意の所与の実施形態において説明された機能は、種々の実施形態において説明されたように、例えば他の及び/又はさらなる機能と共に使用されてもよいことが十分理解されるであろう。またさらに、用語「ホーム」が、特定のデバイス及び/又はロケーションを説明するために(例えば、ホームオートメーションに関して)使用されたが、システム及びそのコンポーネントは、アパート、ヘルスセンタ等などの他の場所において使用されてもよいことが当業者に十分理解されるであろう。ゆえに、用語「ホーム」は、ユーザの家に具体的に限定されない。さらに、プロセッサ及び/又はコントローラが本明細書において説明されたが、プロセッサ及び/又はコントローラは、それぞれの機能を実行する回路を含んでもよく、かつメモリをさらに含んでもよいことが十分理解されるであろう。メモリは、例えば、プロセッサ及び/又はコントローラにさらに結合されてもよい。
【0147】
方法態様が、本明細書に説明された実施形態のうち任意のものにおいて説明されたように、例えば、K4Connect、K4Life、及びK4Communityを含むホームオートメーション統合システムを作成することを含む。他の方法態様が、システム又はその様々なコンポーネントの動作と、上記で詳細化された機能のうち任意のもの、例えば、統合、通信、表示等を実行することとを含む。
【0148】
別の態様が、本明細書に説明されたシステム及び方法の機能のうち任意のものを実行する命令を記憶した非一時的コンピュータ読取可能媒体に向けられる。例えば、K4App、K4Home、及びK4Awayの機能性が、非一時的コンピュータ読取可能媒体に記憶されたコンピュータ実行可能命令として具現化されてもよい。当然ながら、本明細書に説明された他の機能が、非一時的コンピュータ読取可能媒体上に具現化されてもよい。
【0149】
次に
図35を参照し、別の実施形態が、屋内建物エリア1022のための暖房、換気、及び空調(HVAC)システム1021を含む気候制御システム1020に向けられる。HVACシステム1021は、暖房と冷房との動作モード間で切り替え可能である。気候制御システム1020は、屋内建物エリア1022内にホームオートメーション(HA)サーモスタットデバイス1030を含む。HAサーモスタットデバイス1030は、ハウジング1031と、ハウジングにより担体された屋内温度センサ1032とを含む。屋内温度センサ1032は、屋内建物エリア1022の屋内温度を感知する。
【0150】
温度コントローラ1033が、ハウジング1031により担体される。HAサーモスタットデバイス1030は、温度コントローラ1033に結合されたワイヤレス通信回路1034をさらに含む。ワイヤレス通信回路1034は、例えば、Wifi、セルラー、又は他のプロトコルを介して通信するように構成されてもよい。
【0151】
温度コントローラ1033は、屋内建物エリア1022の設定点温度を取得する。設定点温度は、ワイヤレスで、例えば、ワイヤレス通信回路1034を介して取得されてもよい。設定点温度は、当業者に十分理解されるように、入力デバイス、リモート電子デバイス、及び/又は他のデバイスから取得されてもよい。
【0152】
HAサーモスタットデバイス1030は、ユーザ設定点温度入力デバイス1035とディスプレイ1036とをさらに含み、双方がハウジング1031により担体され、かつ温度コントローラ1033に結合される。ユーザ設定点温度入力デバイス1035は、当業者に十分理解されるように、タッチディスプレイ、プッシュボタン、回転可能ダイヤル、又は他の入力デバイスの形式であってもよい。ユーザ設定点温度入力デバイス1035は、設定点温度を設定するために使用されてもよい。温度コントローラ1033は、ディスプレイ1036と協働して、屋内温度及び設定点温度を表示してもよい。
【0153】
設定点温度は、さらに、HAコントローラ1037に基づいて生成され、あるいは設定されてもよく、HAコントローラ1037は、例えば、上記で説明されたように、HAサーモスタットデバイス1030に結合され、設定点温度を生成するように構成される。上記で説明されたように、HAコントローラ1037は、アドレス指定可能HAデバイス1038a〜1038n、例えば、動き検出器、ライト等に結合されてもよい。HAコントローラ1037は、アドレス指定可能HAデバイス1038a〜1038nのうち1つに基づいて設定点温度を生成する。例えば、動き検出器から検出された動きに基づいて、HAコントローラ1037は、HAサーモスタットデバイス1030と通信して、設定点温度を設定してもよい(すなわち、誰かが家にいるとき、設定点温度をより冷たく設定する)。当然ながら、設定点温度は、他のタイプのアドレス指定可能HAデバイス1038a〜1038nに基づいて設定可能である。
【0154】
温度コントローラ1033は、屋内建物エリア1022に対して外部からの外部温度をさらに取得する。外部温度は、ワイヤレスで、例えば、インターネットを介して取得されてもよい。外部温度は、例えば、外側温度であってもよく、あるいは屋内建物エリア1022に対して外部と考えられ得る部屋又はエリアの内側温度であってもよい。いくつかの実施形態において、2つ以上の温度センサ(屋内及び/又は屋外)が、外部温度を取得するために使用されてもよい。
【0155】
温度コントローラ1033は、設定点温度の外部温度の交差を決定し、設定点温度の外部温度の交差と、屋内温度が閾温度差、例えば1度だけ設定点温度を超えて移行することとに基づいて、HVACシステム1021を動作モード間で切り替える。他の閾温度差が使用されてもよい。
【0156】
次に
図36をさらに参照すると、気候制御システム1020の動作が、グラフ1040と対応するディスプレイ1036a〜1036eとにより例示され、ディスプレイ1036a〜1036eは、グラフ上で識別された異なる時点における対応する屋内温度1043a〜1043eと設定点温度1044a〜1044eとを示す。グラフ1040において、外側温度はライン1041で示され、実際の又は屋内の温度はライン1042で示される。例示的に、屋内温度又は部屋温度は瞬間的に所望温度又は設定点温度からずれ、外部温度はデッドバンド1045を通過する。
【0157】
一方法態様が、気候制御システム1020を動作させる方法に向けられる。方法は、屋内温度センサ1032を介して屋内建物エリア1022の屋内温度を感知することを含む。方法は、屋内建物エリア1022内のHAサーモスタットデバイス1030を使用して、屋内建物エリアの設定点温度を取得し、屋内建物エリアの外部からの外部温度を取得し、設定点温度の外部温度の交差を決定し、設定点温度の外部温度の交差と屋内建物エリア1022の屋内温度が閾温度差だけ設定点温度を超えて移行することとに基づいて、HVACシステム1021を動作モード間で切り替えることをさらに含む。
【0158】
次に
図37a〜37eを参照すると、HAシステム2020の別の実施形態において、アドレス指定可能HAデバイス2031a〜2031nにリモートでアクセスすることが望ましい場合がある。IOTデバイスとしても知られるアドレス指定可能HAデバイス2031a〜2031nのリモートアクセスは、例えば、所与のアドレス指定可能HAデバイスでの問題をトラブルシューティングすること、及び/又はソフトウェア若しくは構成を更新することに特に役立つ可能性がある。
【0159】
アドレス指定可能HAデバイス2031a〜2031nは、当業者に十分理解されるように、典型的には1つ以上のネットワークアドレス変換(NAT)ルータ及び/又はファイアウォールの背後にあり、ゆえに一般にインターネットアクセス可能でない。したがって、アドレス指定可能HAデバイス2031a〜2031nにアクセスするために、オンデマンドセキュアシェル(SSH)トンネリングが使用されてもよい。
【0160】
オンデマンドSSHトンネリングは、アドレス指定可能HAデバイス2031a〜2031nのうち所与の1つが、例えば周期的接続を通して、既知のホストと通信してトンネリング命令を取り出すことを可能にする。ゆえに、例えば、トンネリング命令が、SSHプロトコルを通して低減されたオーバーヘッドで所与のアドレス指定可能HAデバイスに対するリモートアクセスを可能にすることができる。当然ながら、他のプロトコル、例えば、セキュアプロトコルが使用されてもよい。
【0161】
アドレス指定可能HA又はIOTデバイス2031a〜2031nに対するリモート接続を確立するために、要求が、トンネルをオープンするために所与のアドレス指定可能HAデバイスに対して発行される。このことは、例えば、リモートのユーザによって、リモートアクセスワイヤレス通信デバイス2036を介して、オンデマンドSSHトンネリングを用いて実行されてもよく、所与のアドレス指定可能HAデバイスに固有の、ウェブで見える(例えば、パブリックにアクセス可能な)ロケーションにファイルを作成する(
図37a)。ウェブで見えるロケーションは、例えば、サーバ2099上、又は他のウェブで見えるロケーションであってもよい。例示的な実施形態において、ファイルは、所与のアドレス指定可能HAデバイスの一意の識別と最後の一意のクラウドセッション識別とのハッシュであるAmazon(登録商標)シンプルストレージサービス(S3)ファイルであってもよい。S3ファイルは、アドレス指定可能HAデバイス2031a〜2031nに関する他の及び/又はさらなる情報を含んでもよい。
【0162】
クラウドサーバ2033が、例えば、サーバ2099上で、既知のロケーションにおける所与のHAデバイス2031a〜2031nのためのデバイス固有命令を利用可能にしてもよい(
図37b)。いくつかの実施形態において、デバイス固有命令は、クラウドサーバ2033上に併置されてもよい。
【0163】
アドレス指定可能HAデバイス2031a〜2031nは、例えば、周期的にポーリングすることにより、このロケーションと通信する。例えば、上記ロケーションは、数分ごとにポーリングされてもよい。当然ながら、アドレス指定可能HAデバイス2031a〜2031nは、より長い、より短い、及び/又は異なる間隔で上記ロケーションと通信し、あるいは上記ロケーションをポーリングしてもよい。ポーリングに基づいて、例えば、アドレス指定可能HAデバイス2031a〜2031nは、所与のアドレス指定可能HAデバイスのために記憶されかつ利用可能にされたトンネリング命令を見つける(
図37c)。1つの例において、命令は、クラウドで見えるホスト/ポート/ユーザ名/パスワードを含むjsonファイルであってもよい。当然ながら、命令は異なるタイプのファイル内に具現化されてもよく、かつ/あるいは、他のデータ要素が命令ファイルに記憶されてもよい。
【0164】
所与のアドレス指定可能HAデバイス2031a〜2031nは、ウェブアクセス可能なロケーションから取り出された命令に従ってクラウドサーバ2033に対するSSHトンネルをオープンする(
図37d)。次いで、リモートユーザがリモートアクセスワイヤレス通信デバイス2036を介して、例えば、ログインすることにより、所与のアドレス指定可能HAデバイス2031a〜2031nとの通信を可能にするトンネルのクラウド側に、それがインターネットで見えるかのように接続してもよい(
図37e)。
【0165】
本発明の多くの変更及び他の実施形態が、前述の説明及び関連した図面に提示された教示の恩恵を有した当業者に思い浮かぶであろう。したがって、本発明は、開示された特定の実施形態に限定されるべきでなく、変更及び実施形態が別記の特許請求の範囲内に含まれるよう意図されることが理解される。