(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6899781
(24)【登録日】2021年6月17日
(45)【発行日】2021年7月7日
(54)【発明の名称】ホームオートメーションシステムのためのクラウド同期アーキテクチャ
(51)【国際特許分類】
G06F 13/00 20060101AFI20210628BHJP
H04L 12/28 20060101ALI20210628BHJP
【FI】
G06F13/00 358A
G06F13/00 510A
G06F13/00 357A
H04L12/28 200M
【請求項の数】17
【全頁数】17
(21)【出願番号】特願2017-567195(P2017-567195)
(86)(22)【出願日】2016年10月4日
(65)【公表番号】特表2018-530801(P2018-530801A)
(43)【公表日】2018年10月18日
(86)【国際出願番号】US2016055327
(87)【国際公開番号】WO2017062360
(87)【国際公開日】20170413
【審査請求日】2019年10月1日
(31)【優先権主張番号】14/875,399
(32)【優先日】2015年10月5日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】520268997
【氏名又は名称】サバント システムズ インコーポレイテッド
【氏名又は名称原語表記】Savant Systems,Inc.
(74)【代理人】
【識別番号】100087642
【弁理士】
【氏名又は名称】古谷 聡
(74)【代理人】
【識別番号】100082946
【弁理士】
【氏名又は名称】大西 昭広
(74)【代理人】
【識別番号】100195693
【弁理士】
【氏名又は名称】細井 玲
(74)【代理人】
【識別番号】100121061
【弁理士】
【氏名又は名称】西山 清春
(72)【発明者】
【氏名】ウイリンカー,バラート
(72)【発明者】
【氏名】ヤコブソン,アーサー,エイ
(72)【発明者】
【氏名】グローレ,マット,エヌ
【審査官】
佐々木 洋
(56)【参考文献】
【文献】
国際公開第2005/032203(WO,A1)
【文献】
米国特許出願公開第2012/0331156(US,A1)
【文献】
韓国公開特許第10−2004−0049665(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
ホームオートメーションシステムを動作させるための方法であって、
該ホームオートメーションシステムの1つ以上のハードウェア要素に関連するサービスを提供するために使用されるコンフィギュレーション情報、該ホームオートメーションシステムで構成されたシーン、又は該ホームオートメーションシステムの1つ以上のハードウェア要素の現在の状態を示すシステム状態情報のうちの少なくとも1つを格納するホームデータベースを該ホームオートメーションシステムのホストコントローラで維持し、
該ホームデータベースをインターネットを介してクラウドサービスのコンフィギュレーションデータベースと同期させ、
該ホームオートメーションシステムを構成し及び/又は制御するために使用されるモバイルアプリケーションをモバイルデバイス上で実行し、該モバイルアプリケーションが、宅内ローカルエリアネットワーク(LAN)を介して前記ホストコントローラと対話すること及びインターネットを介して前記クラウドサービスと対話することにより該ホームオートメーションシステムに対するユビキタスアクセスを提供することが可能なものであり、
前記モバイルアプリケーションと前記ホストコントローラとの間に前記宅内LANを介した接続が存在する場合に、該ホームオートメーションシステムに関するデータ対話を該宅内LANを介して該モバイルアプリケーションと該ホストコントローラの前記ホームデータベースとの間で行い、及び、
該モバイルアプリケーションと該ホストコントローラとの間に該宅内LANを介した接続が存在しない場合に、該ホームオートメーションシステムに関するデータ対話をインターネットを介して該モバイルアプリケーションと前記クラウドサービスの前記コンフィギュレーションデータベースとの間で行う、
ホームオートメーションシステムを動作させるための方法。
【請求項2】
前記データ対話が、前記ホームオートメーションシステムの1つ以上のハードウェア要素に関連するサービスを制御する制御コマンドを前記モバイルアプリケーションから提供することを含む、請求項1に記載の方法。
【請求項3】
前記データ対話が、前記モバイルアプリケーションを使用して前記ホームオートメーションシステムにおける1つ以上のシーンを定義することを含む、請求項1に記載の方法。
【請求項4】
前記データ対話が、前記ホームオートメーションシステムの1つ以上のハードウェア要素の状態の変化を記述する状態変化通知を前記モバイルアプリケーションにおいて受信することを含む、請求項1に記載の方法。
【請求項5】
前記データ対話が、前記モバイルアプリケーションのホームオートメーション制御ユーザインタフェイス(UI)に表示するための情報を読み出すことを含む、請求項1に記載の方法。
【請求項6】
前記ホストコントローラがリセットされ又は交換されたことを検出し、及び、
前記ホームデータベースを前記クラウドサービスの前記コンフィギュレーションデータベースと同期させることにより、前記リセットされ又は交換された前記ホストコントローラの前記ホームデータベースを復元させる
ことを更に含む、請求項1に記載の方法。
【請求項7】
前記コンフィギュレーション情報が、前記ハードウェア要素が関連付けられている部屋、又は該ハードウェア要素のその他のハードウェア要素との1つ以上の相互接続のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
前記ホストコントローラのコンフィギュレーションエンジンにより、前記コンフィギュレーション情報と1つ以上のサービスを提供するために必要となる能力を定義する一組の規則とを使用して該1つ以上のサービスを提供するよう前記ホームオートメーションシステムを構成する
ことを更に含む、請求項1に記載の方法。
【請求項9】
前記コンフィギュレーションエンジンにより行われる前記構成が、
前記ホームオートメーションシステムの個々のハードウェア要素の能力を決定し、
該ホームオートメーションシステムの該ハードウェア要素を介した接続経路に沿って利用可能な能力の順序付けされたリストを蓄積し、及び、
該蓄積された順序付けされたリストを、前記サービスを提供するために必要となる能力を定義する前記一組の規則と比較する
ことを含む、請求項8に記載の方法。
【請求項10】
前記コンフィギュレーションエンジンにより行われる前記構成が、
前記比較からの一致に基づき、前記ホームオートメーションシステムにより提供することができる可能なサービスのリストを決定する
ことを更に含む、請求項9に記載の方法。
【請求項11】
前記コンフィギュレーションエンジンにより行われる前記構成が、
ユーザの嗜好に基づいて前記可能なサービスのリストをフィルタリングしてサービスの最終的なリストを生成し、及び、
該サービスの最終的なリストのサービスに関する情報を前記ホームデータベースに格納する
ことを更に含む、請求項10に記載の方法。
【請求項12】
ホームオートメーションシステムで動作するよう構成されたモバイルデバイスであって、
タッチセンサ式表示画面と、
プロセッサと、
該プロセッサ上で実行することが可能なソフトウェアを格納したメモリであって、該ソフトウェアが、前記ホームオートメーションシステムに対するユビキタスアクセスを提供することが可能なモバイルアプリケーションを含み、該モバイルアプリケーションがその実行時に、
該モバイルアプリケーションと、ホームデータベースを維持する前記ホームオートメーションシステムのホストコントローラとの間で、宅内ローカルエリアネットワーク(LAN)を介した接続を確立し、
該モバイルアプリケーションと、前記ホームデータベースと同期されたコンフィギュレーションデータベースを維持するクラウドサービスとの間で、インターネットを介した接続を確立し、
前記ホームオートメーションシステムの1つ以上のハードウェア要素のためのユーザにより提供されたコンフィギュレーション情報を該モバイルアプリケーションのコンフィギュレーションユーザインタフェース(UI)において受信し、及び該コンフィギュレーション情報を前記宅内LANを介して前記ホストコントローラに提供して、前記ホームデータベースにおけるシステムコンフィギュレーションを構築し、
該モバイルアプリケーションと前記ホストコントローラとの間に前記宅内LANを介した接続が存在する場合に、前記システムコンフィギュレーションに関するデータ対話を該宅内LANを介して該モバイルアプリケーションと該ホストコントローラとの間で行い、及び、
該モバイルアプリケーションと該ホストコントローラとの間に前記宅内LANを介した接続が存在しない場合に、前記システムコンフィギュレーションに関するデータ対話をインターネットを介して該モバイルアプリケーションと前記クラウドサービスとの間で行う
よう動作する、メモリと
を備えている、ホームオートメーションシステムで動作するよう構成されたモバイルデバイス。
【請求項13】
前記データ対話が、前記ホームオートメーションシステムの1つ以上のハードウェア要素に関連するサービスを制御する制御コマンドを前記モバイルアプリケーションから提供することを含む、請求項12に記載のモバイルデバイス。
【請求項14】
前記データ対話が、前記モバイルアプリケーションを使用して前記ホームオートメーションシステムにおける1つ以上のシーンを定義することを含む、請求項12に記載のモバイルデバイス。
【請求項15】
前記データ対話が、前記ホームオートメーションシステムの1つ以上のハードウェア要素の状態の変化を記述する状態変化通知を前記モバイルアプリケーションで受信することを含む、請求項12に記載のモバイルデバイス。
【請求項16】
前記データ対話が、前記モバイルアプリケーションのホームオートメーション制御ユーザインタフェース(UI)に表示するための情報を読み出すことを含む、請求項12に記載のモバイルデバイス。
【請求項17】
前記コンフィギュレーション情報が、前記ハードウェア要素が関連付けられている部屋、又は該ハードウェア要素のその他のハードウェア要素との1つ以上の相互接続のうちの少なくとも1つを含む、請求項12に記載のモバイルデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にホームオートメーションシステムに関し、より詳細にはクラウド同期を利用したホームオートメーションシステムのためのアーキテクチャに関する。
【背景技術】
【0002】
ホームオートメーションシステムは、住宅環境及び商用環境の両方でますます普及しつつある。かかるシステムは、照明装置、セキュリティ装置、オーディオ/ビデオ(A/V)装置、冷暖房空調(HVAC)装置、及び/又はその他の種類の装置を含む多種多様な装置を制御し、かかる装置間でデータ交換を行い、又はそれら装置間でその他の対話を行うことが可能なものである。
【0003】
一般に、ホームオートメーションシステムの能力を利用するには、コンフィギュレーション手順を実行しなければならない。該コンフィギュレーション中に、ユーザは、サービスを可能にするために必要とされる複数の装置のための特定のコンフィギュレーション情報を提供し、アクティブにされた際に複数の装置を所定の態様で制御する様々なシーンを定義し、複数の所定のイベントに応じて複数のサービス又はシーンをアクティブにする様々なトリガを定義する、といったことが可能である。かかる情報は、該ホームオートメーションシステムのコントローラの内部記憶装置にシステムコンフィギュレーションの一部として格納することが可能である。システムの稼働中に生成される付加的な情報を該コントローラの該内部記憶装置に格納することも可能である。例えば、該ホームオートメーションシステムの複数の装置及び該コントローラ自体の現在の状態を記述するシステム状態情報を維持することが可能である。
【0004】
従来、コントローラが故障してリセット(例えば、工場出荷時設定へのリセット)又は新しいユニットへの交換が必要となった場合、その内部記憶装置に保持されているシステムコンフィギュレーションその他のあらゆる情報が失われることになる。ユーザ(又は有料インストール要員)は、システムを完全に再構成しなければらならず、動作を回復させるために、装置のコンフィギュレーション情報を再び提供し、複数のシーンを定義する、といったことが必要となる。
【0005】
更に、通常の動作中に、従来のホームオートメーションシステムのユーザは、典型的には、ワイヤレス接続(例えば、赤外線(IR)、無線周波数(RF)、ローカルエリアネットワーク(LAN)など)を介してコントローラと通信する宅内装置(例えば、リモコン)上に提示されるユーザインタフェイス(UI)を使用して該システムを制御する。該宅内装置は、ユーザがサービスを制御すること、シーンをアクティブにし及び/又は変更すること、並びに該システムとのその他のタイプの対話を実行することを可能にするために、前記コントローラ内に格納された情報の少なくとも一部にアクセスし及び/又はそれを変更することが可能である。しかし、典型的には、かかる宅内装置(例えば、リモコン)は、家から離れているときに使用することはできない。
【0006】
ホームオートメーションシステムによってはモバイルデバイス上で遠隔制御を提供するものがあるが、かかるホームオートメーションシステムは典型的には多くの欠点を有する。一般に、ユーザエクスペリエンスは、家にいるときと遠隔地にいるときとでは顕著に異なり、それぞれ異なる機能が提供され、及び同様の機能が顕著に異なる視覚的外観で提示されるようになる。更に、遠隔制御を提供するために使用されるアーキテクチャは、動作上の欠点を導入し得るものとなる。アーキテクチャによっては、コントローラが接続される宅内ネットワークを保護するよう動作可能なファイアウォールを介した、モバイルデバイスからコントローラへのインターネットを介した直接アクセスを可能にするものがある。この種の直接アクセスは、望ましくないセキュリティ上の脆弱性を導入し得るものである。他のアーキテクチャでは、情報記憶装置をクラウドに完全に移動させ、モバイルデバイスがインターネットを介してクラウドベースのアプリケーションと専ら通信し、次いで該クラウドベースのアプリケーションがインターネットを介してホームオートメーションシステムの各装置と通信するようになっている。しかし、この種の完全なクラウド制御は、望ましくないレイテンシと信頼性の低下を招き得るものとなる。モバイルデバイスが家の中に配置されて高速の宅内ネットワークにアクセスする場合であっても、かかるアーキテクチャは一般に、インターネットを介してクラウドにメッセージを送り返し、情報交換の遅延を助長させるものとなる。同様に、インターネット接続が失われた場合には、ユーザは、該ユーザが家に居て宅内ネットワークに接続している場合であっても、ホームオートメーションシステムと対話することができなくなる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、データ損失に対する保護を提供し、及び以前のアーキテクチャで利用可能であったものよりも効果的かつ効率的な遠隔制御を可能とする、ホームオートメーションシステムのための新しいアーキテクチャが必要とされている。
【課題を解決するための手段】
【0008】
家の中にあるホストコントローラに格納されたホームデータベースを利用したクラウド同期アーキテクチャの一実施形態が提供され、該ホームデータベースは、遠隔クラウドサービスにより維持されるコンフィギュレーションデータベースと同期される。モバイルデバイス上で実行されているモバイルアプリケーション(app)は、家の中に位置しているとき(例えば、宅内LAN(例えば、Wi-Fiネットワーク)に接続できる場合)には、該宅内LANを介してホストコントローラと対話し、及び遠隔地にある場合(例えば、宅内LANに接続できないがインターネットに接続できる場合など)には、クラウドサービスと対話することが可能であり、これによりホームオートメーションシステムに対するユビキタスアクセスが提供される。これは、冗長性を提供し、ホストコントローラのリセット又は置換が必要となった場合に、クラウドサービスにより維持されているコンフィギュレーションデータベースからホームデータベースを復元することが可能となる。家の中では、宅内LANを使用することにより、レイテンシが短縮され、及びインターネット接続上の問題にかかわらず通信が確保されるため、応答性と信頼性が向上する。更に、遠隔地にいる場合に宅内へのセキュアなゲートウェイを提供し、宅内ネットワークの脆弱性を最小限に抑えることが可能となる。
【0009】
例示的な一実施形態では、ホームオートメーションシステムのホストコントローラは、該ホームオートメーションシステムの1つ以上のハードウェア要素に関連するサービスを提供するために使用されるコンフィギュレーション情報、該ホームオートメーションシステムにおいて構成されたシーン、又は該ホームオートメーションシステムの1つ以上のハードウェア要素の現在の状態を示すシステム状態情報のうちの少なくとも1つを格納するホームデータベースを維持する。該ホストコントローラは、該ホームデータベースを、インターネット上のクラウドサービスのコンフィギュレーションデータベースと同期させる。ホームオートメーションシステムの構成及び/又は制御を行うために使用されるモバイルデバイス上の実行中のモバイルアプリケーション(app)とホストコントローラとの間に宅内LANを介した接続が存在する場合、該ホームオートメーションシステムに関するデータ対話は、該モバイルアプリケーションと該ホストコントローラとの間で宅内LANを介して行われる。モバイルアプリケーションとホストコントローラとの間に宅内LANを介した接続が存在しない場合には、該ホームオートメーションシステムに関するデータ対話は、該モバイルアプリケーションと前記クラウドサービスとの間でインターネットを介して行われる。
【0010】
代替的な実施形態では、ホームオートメーションシステムのホストコントローラは、該ホームオートメーションシステムの1つ以上のハードウェア要素に関連するサービスを提供するために使用されるコンフィギュレーション情報、該ホームオートメーションシステムにおいて構成されるシーン、又は該ホームオートメーションシステムの1つ以上のハードウェア要素の現在の状態を示すシステム状態情報のうちの少なくとも1つを格納するホームデータベースを維持する。該ホストコントローラは、該ホームデータベースをインターネットを介してクラウドサービスのコンフィギュレーションデータベースと同期させる。その後、ホストコントローラがリセットされ又は故障して交換される可能性がある。クラウドサービスのソフトウェアは、該ホストコントローラがリセットされ又は交換されたことを検出し、該クラウドサービスのコンフィギュレーションデータベースをインターネットを介してホームデータベースと同期させることにより、該リセットされ又は交換されたホストコントローラのホームデータベースを復元させる。
【0011】
ここで論じたもの以外の様々な更なる特徴及び代替的な実施形態を実施することが可能であることが理解されよう。上記説明は、単に読者に対する簡単な導入を意図したものであり、本書で言及した実施形態が本開示の全ての特徴を網羅すること又は本開示の必要な又は不可欠な側面であることを示し又は示唆するものではない。
【図面の簡単な説明】
【0012】
【
図1】複数の装置を制御するよう動作可能なホームオートメーションシステムの例示的なアーキテクチャを示すブロック図である。
【
図2】ホームデータベースに格納されたシステムコンフィギュレーションを構築するために使用することが可能なホストコントローラ上のホストソフトウェアのソフトウェアプロセスを示すブロック図である。
【
図3】システムコンフィギュレーションのためのサービスを可能にするためにコンフィギュレーションエンジンにより実行することが可能な例示的な一連のステップを示すフローチャートである。
【
図4】ホームデータベースの例示的な部分的なスキーマであり、システムコンフィギュレーションの一部が維持される態様の一例を示している。
【
図5A】コンフィギュレーションデータベース及びユーザデータベースの例示的な部分的なスキーマであり、システムコンフィギュレーション及びユーザデータ等の他の情報がリモートで維持される態様の一例を示している。
【
図5B】コンフィギュレーションデータベース及びユーザデータベースの例示的な部分的なスキーマであり、システムコンフィギュレーション及びユーザデータ等の他の情報がリモートで維持される態様の一例を示している。
【
図5C】コンフィギュレーションデータベース及びユーザデータベースの例示的な部分的なスキーマであり、システムコンフィギュレーション及びユーザデータ等の他の情報がリモートで維持される態様の一例を示している。
【
図5D】コンフィギュレーションデータベース及びユーザデータベースの例示的な部分的なスキーマであり、システムコンフィギュレーション及びユーザデータ等の他の情報がリモートで維持される態様の一例を示している。
【
図6】ホストコントローラのホームデータベースとクラウドサービスのコンフィギュレーションデータベースとの間でのシステムコンフィギュレーションの同期の一例を示す図である。
【
図7】家の中にいるとき及び遠隔地にいるときのモバイルアプリケーションからのホームオートメーションシステムにおけるシーンの定義の一例を示す図である。
【
図8】家の中にいるとき及び遠隔地にいるときにモバイルアプリケーションからホストコントローラへ制御コマンドを送信することを示す図である。
【
図9】家の中にいるとき及び遠隔地にいるときにホームオートメーションシステムの1つ以上のハードウェア要素の現在の状態を示すシステム状態情報をホストコントローラからモバイルアプリケーションへ送信することを示す図である。
【発明を実施するための形態】
【0013】
●定義
本書で用いる場合、用語「ホームオートメーションシステム」は、様々なタイプのホーム制御、「スマートホーム」、及び/又は家の中の装置(例えば、照明装置、セキュリティ装置、A/V装置、HVAC装置、電子ドアロック、及び/又はその他のタイプの装置)を制御することが可能な装置制御システムを包含するものとして広範に解釈されるべきである。ホームオートメーションシステムは、様々な異なるタイプの装置、又は特定のタイプの装置のみ(例えば、照明装置のみ、A/V装置のみなど)を制御することが可能である。
【0014】
本書で用いる場合、用語「家」とは、様々なタイプの住居及び商業建築を包含するものとして広範囲解釈されるべきである。「家」とみなすために、建造物が住居である必要はない。
【0015】
本書で用いる場合、用語「モバイルデバイス」とは、汎用オペレーティングシステムを実行し及び身に着けて搬送するよう構成された電子的な装置を指す。スマートフォンやタブレットコンピュータ等の装置は、モバイルデバイスと見なすべきものである。デスクトップコンピュータ、サーバー、又はその他の主として固定されるコンピューティング装置は、一般にモバイルデバイスと見なすべきものではない。
【0016】
本書で使いる場合、用語「サービス」とは、ホームオートメーションシステムにより提供されるアクティビティを指し、該アクティビティは、該ホームオートメーションシステムの1つ以上の装置間の対話を含む。1つのサービスは、該アクティビティを提供するために使用される複数の装置間の1つ以上の一意の経路に対応することが可能であるが、必ずしもそうである必要はない。サービスの一例が、「Cable TV」サービスであり、該サービスは、ケーブルテレビ用チューナとテレビとの間の複数の経路に対応し、該経路を使用してケーブルテレビ視聴アクティビティが提供される。
【0017】
本書で用いる場合、用語「シーン」とは、アクティブにされた際に、ホームオートメーションシステムの1つ以上の装置を所定の態様で制御する、一組の命令を指す。シーンの一例が、「Wake Up(起床)」シーンであり、該シーンは、ユーザの朝の起床時の嗜好に従って、照明装置を所定レベルに設定し、及びA/V装置上で特定のメディアコンテンツを再生する。シーンは、ホームオートメーションシステムの最初のコンフィギュレーション時に又はその後に定義することが可能である。
【0018】
本書で用いる場合、「部屋」とは、1つ以上のサービスを提供することが可能な、家の内部又は家に関連する外部空間を指す。部屋は、単一の物理的な部屋、複数の物理的な部屋の集合、物理的な部屋の一部、又は外部空間の特定の描写に対応するものとすることが可能である。
【0019】
本書で用いる場合、用語「ハードウェア要素」とは、ホームオートメーションシステム等の一層大きなシステムの一部となり得る物理的なハードウェアユニットを指す。ホームオートメーションシステムのハードウェア要素は、該ホームオートメーションシステムのホストコントローラ、及び該ホストコントローラにより制御される照明装置、A/V装置、セキュリティ装置、HVAC装置、電子ドアロック、又はその他のタイプの装置といった該ホームオートメーションシステムの複数の装置、又は該ホストコントローラを制御するために使用されるリモコンを含むことが可能である。
●ホームオートメーションシステムの一実施形態
図1は、複数の装置を制御するよう動作することが可能なホームオートメーションシステムの例示的なアーキテクチャ100を示すブロック図である。該システムの中心には、宅内ローカルエリアネットワーク(LAN)150(例えば、Wi-Fiネットワーク)に接続されたホストコントローラ110がある。該ホストコントローラは、プロセッサ、メモリ、記憶装置、LANインタフェイス(例えば、Wi-Fiインタフェイス)、及びWPANインタフェイス(例えば、BLEインタフェイス)といったハードウェア要素、及びその他のハードウェア要素を含むことが可能である。前記記憶装置は、ホストソフトウェア111を格納することが可能であり、該ホストソフトウェア111は、その実行時に、後述するクラウド同期のための技術の一部を実施することが可能なものである。該ホストソフトウェア111はまた、複数の装置の動作をローカルで監視し及び制御し、システム管理サービスを提供し、アクティビティの記録を提供し、及びその他の機能を実行することが可能である。該記憶装置は更に、宅内LAN150を介したモバイルアプリケーション162との通信をサポートするために使用されるモバイルアプリケーションプログラムインタフェイス(API)135を格納することが可能である。更に、該記憶装置は、(ホームオートメーションシステムにおいて構成された複数のシーン、該ホームオートメーションシステムの複数の装置の現在の状態を示すシステム状態情報などを含む)システムコンフィギュレーション並びにその他の情報を維持するよう構成されたホームデータベース130を格納することが可能である。
【0020】
ホームオートメーションシステムの装置112-122は、照明コントローラ、ランプモジュール、調光モジュール、スイッチ、キーパッド、ファンコントローラ等の照明装置112、ホームモニタ/カメラ、モーションセンサ、ホームヘルスケアセンサ、及びそれらに関連するコントローラ等のセキュリティ装置114、A/V装置コントローラ、赤外線(IR)ブラスタ、マトリクススイッチャ、メディアサーバ、オーディオアンプ、ケーブルTV用チューナ、テレビ等のオーディオ装置116及びビデオ装置118(包括的にA/V装置と称す)、電子ドアロック120及びその他のタイプのモータ又はリレー作動式装置、サーモスタット等のHVAC装置122、並びにその他のタイプの装置を含むことが可能である。更に、リモコン124を配設することが可能である。該リモコンは、ホームオートメーション制御UIを提供することが可能であり、ユーザは、装置112-122に対する制御コマンドをホストコントローラ110に発行させるための入力を該ホームオートメーション制御UIで提供することが可能である。本書での説明のため、リモコン124は、ホームオートメーションシステムの装置の1つとみなすことが可能である。
【0021】
実施態様に応じて、ホームオートメーションシステムの装置112-124の通信能力は変化し得る。例えば、それら装置の少なくとも幾つかは、それら装置が宅内LAN150又はWPAN(例えば、BLE)を介してホストコントローラ110その他の装置と通信することを可能にするLANインタフェイス(例えば、Wi-Fiインタフェイス)及びWPANインタフェイス(例えば、BLEインタフェイス)を含むことが可能である。同様に、複数の装置の一部は、宅内LAN150を介してホストコントローラ110その他の装置と通信するためのLANインタフェイス(例えば、Wi-Fiインタフェイス)のみを含むことが可能である。更に別の装置は、有線通信又は二点間無線通信のためのポート又は送受信器(例えば、RS-232ポート、赤外線(IR)送受信器、リレー制御ポート、汎用入出力(GPIO)ポートなど)のみを有し、かかるポートを使用してホストコントローラ110その他の装置と通信することが可能である。更に、装置によっては、LANインタフェイス(例えば、Wi-Fiインタフェイス)を含むが、宅内LAN150を介してホストコントローラ110と直接通信を行わず、最初にサードパーティ装置のクラウドサービス199と通信するよう構成することが可能である。
図1では、HVAC装置122は、上述のように通信することが可能な特定のタイプの装置の一例として示されているが、他のタイプの装置が代替的にこの通信方法を用いることが可能であること(逆も又同様)が理解されよう。
【0022】
通信は、とりわけ、リモコン124(一般に家の中でのみ使用されるもの)上で提供されるホームオートメーション制御UIにおいてユーザにより選択されたサービス及びシーンを実施するために使用することが可能である。家の中又は遠隔地の両方でサービス及びシーンを制御するために、ホームオートメーションシステムはモバイルデバイス160を使用することが可能である。モバイルデバイス160は、プロセッサ、メモリ、及び記憶装置、表示画面(例えば、タッチセンサ式ディスプレイ)、LANインタフェイス(例えば、Wi-Fiインタフェイス)、WPANインタフェイス(例えば、BLEインタフェイス)、セルラーブロードバンドインタフェイス(例えば、4G LTE(Long-Term Evolution)インタフェイス)といったハードウェア要素、並びにその他のハードウェア要素を含むことが可能である。モバイルデバイス160は、モバイルアプリケーション162を実行することが可能であり、該モバイルアプリケーション162は、WPAN(例えば、BLE)を使用したプロビジョニング中に及び宅内LAN150(例えば、Wi-Fi)を使用しているそれ以外のときにホストコントローラ110と対話するように構成され、及び(セルラーブロードバンドインタフェイス又はLANを介して)インターネット170を使用してクラウドサービス180と対話するよう構成されている。該モバイルアプリケーション162は、ホームオートメーションシステムのホストコントローラ110及び複数の装置112-124(包括的にハードウェア要素と称す)のプロビジョニングを行い、ハードウェア要素のコンフィギュレーションを行い、及びシーンを定義する、といったことのために使用することが可能なコンフィギュレーションUIを提供することが可能である。モバイルアプリケーション162は更に、サービスを制御し、既に定義されたシーンをアクティブにする、といったことのためにホームオートメーションシステムの稼働中に使用することが可能なホームオートメーション制御UIを提供することが可能である。
【0023】
クラウドサービス180は、ホストコントローラ110との通信をサポートするホストAPI182、及びモバイルアプリケーション162との通信をサポートするモバイルAPI184を提供することが可能である。以下で一層詳細に説明するように、コンフィギュレーションデータベース186は、クラウドサービス180によって維持され、該クラウドサービス180は、ホームオートメーションシステムのシステムコンフィギュレーション及び更なる情報を格納し、及びホストコントローラ110のホームデータベース130と同期される。更に、クラウドサービス180は、ホームオートメーションシステムに関連するユーザデータ及びパーミッションのための主記憶場所であるユーザデータベース188を維持することが可能である。ビデオサービス192、REST(Representational State Transfer)サービス194、及びメッセージングサービス196を含む様々なサービスプラットフォームを利用して、数ある機能の中でもとりわけ、メディアコンテンツへのアクセス、同期及びリモートアクセス、イベント通知、及びユーザID管理を提供することが可能である。サードパーティアダプタ190は、サードパーティのトランザクションサービス198(例えば、メール、クラッシュログ、分析、支払い、同意(consent)メタデータ、ライセンス、支払い等を管理することが可能なサービス)、並びに上述したようなホームオートメーションシステムの特定の装置122と直接対話することが可能なサードパーティ装置のクラウドサービス199に対するインタフェイスを提供することが可能である。
●ホームデータベースにおけるシステムコンフィギュレーションの生成及び格納
図2は、ホームデータベース130に格納されるシステムコンフィギュレーションを構築するために使用することが可能なホストコントローラ110上のホストソフトウェア111のソフトウェアプロセスを示すブロック
図200である。コンフィギュレーションインタフェイス210は、モバイルアプリケーション162により提示されるコンフィギュレーションUIからユーザにより提供されたコンフィギュレーション情報(例えば、装置が関連付けられている部屋、他の装置に対する1つ以上の相互接続など)を受信することが可能である。更に、装置112-124とのWPAN(例えば、BLE)又は宅内LAN150による通信を介した発見(discovery)プロセス220により、発見可能な(discoverable)コンフィギュレーション情報を決定することが可能である。該コンフィギュレーション情報は、コンフィギュレーションインタフェイス210及び発見プロセス220からコンフィギュレーションエンジン230へ伝達することが可能である。該コンフィギュレーションエンジン230は、該コンフィギュレーション情報を使用して、ホームオートメーションシステムの完全なビューを提供するシステムコンフィギュレーションを生成し又は更新することが可能である。該システムコンフィギュレーションは、該システムコンフィギュレーションによって可能となるサービス、ホームオートメーションシステムにおいて構成されたシーン、ホームオートメーションシステムの現在の状態を示すシステム状態情報などを記述する他の情報と共に、ホームデータベース130に格納することが可能である。
【0024】
ホームオートメーションシステムの稼働中に、ユーザは、ホストコントローラ110上の制御プロセス240と通信するモバイルアプリケーション162により提供されるホームオートメーション制御UIを使用することが可能である。該制御プロセス240は、ユーザの意図を決定し、その後、装置112-122に適当な制御コマンドを発行して、システムコンフィギュレーションにより可能にされたサービス、シーン等をアクティブにする。
【0025】
図3は、システムコンフィギュレーションのためのサービスを可能にするためにコンフィギュレーションエンジン230により実行することが可能な例示的な一連のステップ300を示すフローチャートである。ステップ310で、ホームオートメーションシステムの装置112-124のためのコンフィギュレーション情報を受信した際に、コンフィギュレーションエンジン230は、個々の装置の能力を(例えば、その種の装置の装置プロファイルを参照することにより)決定することが可能である。ステップ320で、コンフィギュレーションエンジン230は、複数の装置間の相互接続の指示に基づき、ホームオートメーションシステムを介した接続経路に沿って利用可能な全ての機能の順序付けされたリストを蓄積することが可能である。ステップ330で、コンフィギュレーションエンジン230は、蓄積された順序されたリストを、サービスを提供するために必要とされる能力を定義する一組の規則と比較し、その一致に基づき、ホームオートメーションシステムにより提供することができる可能なサービスのリストを決定する。ステップ340で、コンフィギュレーションエンジン230は、(例えば、モバイルアプリケーション162のコンフィギュレーションUIにユーザにより提供される)ユーザの嗜好に基づいて該可能なサービスのリストをフィルタリングして、サービスのリストを生成することが可能である。次いで、ステップ350で、該リスト上の各サービス毎に、コンフィギュレーションエンジン230は、各要素の能力に基づいて該サービスに送信することができる一組のコマンドを決定することが可能である。該サービスのリスト及び該コマンドのリストは、ホームデータベース130に格納することが可能である。
【0026】
図4は、ホームデータベース130の例示的な部分的なスキーマ400であり、システムコンフィギュレーションの各部が維持される態様の一例を示している。この例では、関係リンク(relationship links)は省略されている。スキーマ400は複数のエンティティを含む。例えば、要素エンティティ410は、ホームオートメーションシステムの装置112-124を表すことが可能であり、及び装置の名称及びタイプ、装置が関連付けられている部屋、装置の製造及びモデル、並びに該装置を制御するホストコントローラ等を記述する属性を含むことが可能である。部屋エンティティ420は、機器が関連付けられている部屋を表すことが可能であり、及び部屋の名称及びタイプ、部屋に関連付けられているスイッチング装置、及び部屋に関連付けられている表示装置などの属性を含むことが可能である。更に、要素接続エンティティ430は、ホームオートメーションシステムの装置とそれとは別の装置との間の接続を表すことが可能であり、とりわけ、出所識別子及び宛先識別子などの属性を含むことが可能である。スキーマ400には様々な他のエンティティを提供することも可能である。
●クラウド同期及びリモートアクセス
ホストコントローラ130は、システムコンフィギュレーションを含むホームデータベース130を、インターネット170を介してクラウドサービスのコンフィギュレーションデータベース186と同期させることが可能である。永続的なリモートバックアップを作成することにより、ホストコントローラ110のリセット(例えば、工場出荷時設定へのリセット)又はホストコントローラの故障及び新しいユニットへの交換が生じた際に、ホームデータベースを復元させることが可能となる。
【0027】
図5A−5Dは、コンフィギュレーションデータベース186及びユーザデータベース188の例示的な部分的なスキーマ500であり、システムコンフィギュレーション並びにユーザデータ等の他の情報をリモートで維持することができる態様の一例を示している。この例では、関係リンクは省略されている。スキーマ500は、ホームコンフィギュレーションを格納するための複数のエンティティ(例えば、ホームデータベース130で維持されるエンティティに直接対応する要素エンティティ510及び部屋エンティティ520)を含む。スキーマ500はまた、ホームデータベースで維持される情報に基づいて拡張するエンティティ(例えば、ホームオートメーションシステムのホストコントローラ110を表すホストエンティティ530、及びホームオートメーションに関連付けられた家を表すホームエンティティ540など)を含むことが可能である。更に、スキーマ500は、ホームオートメーションシステムのユーザ及びそのパーミッションを記述するユーザデータを格納するエンティティ(例えば、ユーザエンティティ550)を含むことが可能である。スキーマ500には様々な他のエンティティを提供することも可能である。
【0028】
図6は、ホストコントローラ110のホームデータベース130とクラウドサービス180のコンフィギュレーションデータベース186との間におけるシステムコンフィギュレーションの例示的な同期を示す
図600である。システムコンフィギュレーションの構築又は更新のために使用されるコンフィギュレーション情報は、最初に(例えば、WebSocket接続を介して)宅内LAN150を介してモバイルアプリケーション162から受信され、及びホストコントローラ110により使用されて、ホームデータベース130で維持されるシステムコンフィギュレーションが構築され又は更新される。この動作の後、該ホームデータベース130は、(例えば、RESTを使用して)インターネット170を介してコンフィギュレーションデータベース186と同期することが可能である。システムコンフィギュレーションに対して追加の更新が行われた場合には、同様の同期を実行して、ホームデータベース130及びコンフィギュレーションデータベース186の両方が同期状態を維持するようにすることが可能である。その後の何らかの時点で、ホストコントローラ110に、リセット(例えば、工場出荷時設定へのリセット)又は新しいユニットとの交換を必要とする故障が生じる可能性がある。システムコンフィギュレーションが欠如したホームデータベース130が検出されたことに応じて、該ホームデータベース130を(例えば、RESTを使用して)インターネット170を介してコンフィギュレーションデータベース186と再度同期させることが可能であり、この場合には、データが逆方向に流れてホームデータベース130内のシステムコンフィギュレーションが復元される。
【0029】
故障発生というシナリオでシステムコンフィギュレーションの復元を可能にすることに加えて、ホームデータベース130とコンフィギュレーションデータベース186との間の同期は、ホームオートメーションシステムとの他のタイプのデータ対話を容易にし、家にいる(例えば、宅内LAN150に接続できる)場合と遠隔地にいる(例えば、宅内LAN150に接続することはできないがインターネット170を使用している)場合とでユビキタスアクセスを提供するものとなる。同様に、クラウドソリューションのみの場合よりも応答性及び信頼性が向上する。これは、家の中での動作が、インターネットメッセージングの遅延なしで実行され、及びインターネットの接続状態とは無関係に実行することが可能であるからである。更に、ホストコントローラへの直接的なインターネットアクセスを可能にするソリューションよりもセキュリティを強化することが可能となる。これは、クラウドサービスが、ホームオートメーションシステムのハードウェア要素にアクセスするための単一のセキュアなゲートウェイを提供することが可能であるからである。
【0030】
図7は、家の中にいる(例えば、宅内LAN150に接続している)場合、及び遠隔地にいる(例えば、宅内LAN150には接続できないがインターネット170を使用している)場合に、モバイルアプリケーション162からホームオートメーションシステムにおけるシーンを定義することの一例を示す
図700である。家の中にいる場合、シーンは、(例えば、WebSocket接続を介して)ホストコントローラ110で宅内LAN150を介してモバイルアプリケーション162から受信してホームデータベース130に格納することが可能である。次いで、該ホームデータベース130を(例えば、WebSocket接続を使用して)インターネット170を介してコンフィギュレーションデータベース186と同期させて、その両データベースが利用可能な複数のシーンの同一のライブラリを有するようにすることが可能である。遠隔地にいる場合には、クラウドサービス180でインターネット170を介してモバイルアプリケーション162からシーンを受信してコンフィギュレーションデータベース186に格納することが可能である。次いで該コンフィギュレーションデータベース186をインターネット170を介して(例えば、WebSocket接続を使用して)ホームデータベース130と同期させることが可能である。何れの場合にも、モバイルアプリケーション162上でシーンを定義するためのユーザエクスペリエンスを同一にすることが可能となり、これにより、ユーザは、(例えば、宅内LAN150に接続できる)家の中と(例えば、宅内LAN150に接続できないがインターネット170を使用している)遠隔地とで操作上の違いに気づくことがなくなる。
【0031】
図8は、家の中にいる(例えば、宅内LAN150に接続できる)とき及び遠隔地にいる(例えば、宅内LAN150に接続できないがインターネット170を使用している)ときにモバイルアプリケーション162からホストコントローラ110へ制御コマンドを送信することを示す
図800である。家の中にいるときには、ホームオートメーションシステムのサービス、シーン、又はその他の機能をアクティブにし、非アクティブにし、又はその他の対話を行うための制御コマンドを(ホームオートメーション制御UIにおけるユーザ入力に応じて)モバイルアプリケーション162から宅内LAN150を介して(例えば、WebSocket接続を介して)ホストコントローラ110へ発行することが可能である。次いで、ホストコントローラ110は、ホームデータベース130内のシステムコンフィギュレーションにアクセスして、該制御コマンドの実行に関する情報を決定して、未決のサービス、シーン、又はその他の機能を実施するよう装置112-122を適切に制御する。遠隔地にいる場合には、クラウドサービス180でインターネット170を介して(例えば、WebSocket接続を介して)モバイルアプリケーション162からの制御コマンドを受信することが可能である。次いで、該制御コマンドを(例えば、WebSocket接続を使用して)インターネット170を介してホストコントローラ110へ転送することが可能であり、該ホストコントローラ110は、上記と同様に動作することが可能である。この場合も、モバイルアプリケーション162の観点からすれば、ユーザエクスペリエンスは同一とすることが可能であり、これにより、ユーザは、家の中にいる(例えば、宅内LAN150に接続できる)ときと、遠隔地にいる(例えば、宅内LAN150には接続できないがインターネット170を使用している)ときとで動作上の差異に気づくことがなくなる。
【0032】
図9は、家の中にいる(例えば、宅内LAN150に接続できる)場合、及び遠隔地にいる(例えば、宅内LAN150には接続できないがインターネット170を使用している)場合に、ホームオートメーションシステムの1つ以上のハードウェア要素の現在の状態を示すシステム状態情報をホストコントローラ110からモバイルアプリケーション162へ送信することを示す
図900である。家の中にいる場合には、システム状態情報は、ホストコントローラ110から宅内LAN150を介して(例えば、WebSocket接続を介して)モバイルアプリケーション162へ転送することが可能である。遠隔地にいる場合には、システム状態情報は、インターネット170を介して(例えば、WebSocket接続を介して)クラウドサービス180へ転送され、次いで該クラウドサービス180によりインターネット170を介して(例えば、WebSocket接続を介して)モバイルアプリケーション162へ転送されることが可能である。他のタイプのデータ対話と同様に、モバイルアプリケーション162の観点からすれば、ユーザエクスペリエンスを同一にすることが可能である。
【0033】
ホームオートメーションシステムへ情報を転送するため、又はホームオートメーションシステムからモバイルアプリケーション162へ(例えば、その制御UIで表示するために)情報を転送するために、本書で説明するクラウド対応アーキテクチャによって多種多様な他のタイプの宅内及び遠隔地でのデータ対話を容易にすることが可能となることを理解されたい。システムコンフィギュレーション、シーン、制御コマンド、及びシステム状態情報は、データ対話の単なる例示に過ぎないものである。
●結論
ホームオートメーションシステムのための上述のクラウド同期アーキテクチャは、様々な応用及び変更をなし得るものであることを理解されたい。上述の実施形態は、照明装置、セキュリティ装置、A/V装置、電子ドアロック、HVAC装置などの様々な異なるタイプの装置を含むホームオートメーションシステムを含むことが可能であるが、その技術は、より限定されたタイプのホームオートメーションシステムでの使用に適応させることが可能であることを想起されたい。例えば、その技術は、照明制御(すなわち、照明制御システム)のみを提供するホームオートメーションシステム、A/V制御(すなわち、A/V制御システム)のみを提供するホームオートメーションシステムなどで使用することが可能である。
【0034】
特定の動作が家の中又は家から離れた場所で発生し、及び特定のハードウェア要素が家の中又は家から遠れた場所に配置されていることが上記で説明されているが、この技術は住居及び商業施設の両方に適用可能なものであり、「家」と称した場合、これは、様々なタイプの住居用及び商業用の建造物を包含する。
【0035】
更に、上述したように様々なソフトウェアプロセスを特定の装置(例えば、ホストコントローラ110、モバイルデバイス160など)上で実行することが可能であるが、ソフトウェアプロセスは、クラウドサービス180の一部としてのクラウドベースのハードウェアを含む様々なハードウェア上で実行することが可能であることを理解されたい。
【0036】
更に、ソフトウェアで実施される上述の機能の少なくとも一部をハードウェアで実施することが可能であることを理解されたい。一般に、機能は、ソフトウェア、ハードウェア、又はそれらの様々な組み合わせで実施することが可能である。ソフトウェアによる実施形態は、揮発性メモリ又は持続性メモリ、ハードディスク、コンパクトディスク(CD)、又はその他の有形の媒体などの非一時的な電子装置読み出し可能媒体(例えば、非一時的なコンピュータ読み取り可能媒体)に格納された電子装置実行可能命令(例えば、コンピュータ実行可能命令)を含むことが可能である。ハードウェアによる実施形態は、論理回路、特定用途向け集積回路、及び/又はその他のタイプのハードウェア要素を含むことが可能である。更に、ソフトウェア/ハードウェアの組み合わせによる実施形態は、非一時的な電子装置読み取り可能媒体に格納された電子装置実行可能命令、並びに1つ以上のハードウェア要素(例えばプロセッサ、メモリなど)の両方を含むことが可能である。とりわけ、上記実施形態は単なる例示として解釈されることを意図したものであることを理解されたい。