(57)【要約】様々な実施形態でWPAN（例えばBLE）及び宅内LAN（例えばWi-Fiネットワーク）を共に利用してホームオートメーションシステムのハードウェア要素のプロビジョニング及びコンフィギュレーションを行うための技術が開示される。一実施形態では、ホームオートメーションシステムの第１のWPAN発見可能ハードウェア要素（例えばホストコントローラ）がその存在をWPAN上で広告する。第１のWPAN発見可能ハードウェア要素は、ユーザにより提供されたネットワーククレデンシャルをモバイルアプリケーションから受信し、該ネットワーククレデンシャルは、宅内LAN上で第１のWPAN発見可能ハードウェア要素のコンフィギュレーションを行うために使用され、及び第１のWPAN発見可能ハードウェア要素の記憶装置に格納される。宅内LAN上でホームオートメーションシステムの第２のWPAN発見可能ハードウェア要素（例えば装置）のプロビジョニングを行うために、第１のWPAN発見可能ハードウェア要素は、前記ネットワーククレデンシャルを宅内LANを介してモバイルアプリケーションへ送り返して、モバイルアプリケーションに該ネットワーククレデンシャルをWPANを介して第２のWPAN発見可能ハードウェア要素へ転送させる。【選択図】図４Ａ
2018534644.tif 000002
【特許請求の範囲】
【請求項１】
ホームオートメーションシステムのハードウェア要素のプロビジョニング及び／又はコンフィギュレーションを行うための方法であって、
該ホームオートメーションシステムにより使用される宅内ローカルエリアネットワーク（LAN）上でアクセスできない該ホームオートメーションシステムの第１のワイヤレスパーソナルエリアネットワーク（WPAN）発見可能ハードウェア要素によりその存在をWPAN上で広告して、該第１のWPAN発見可能ハードウェア要素をモバイルアプリケーションにより発見することを可能とし、
前記WPANを介して前記第１のWPAN発見可能ハードウェア要素において前記モバイルアプリケーションからユーザにより提供されたネットワーククレデンシャルを受信し、
該ネットワーククレデンシャルを使用して前記宅内LAN上で前記第１のWPAN発見可能ハードウェア要素のコンフィギュレーションを行い、
該第１のWPAN発見可能ハードウェア要素の記憶装置に前記ネットワーククレデンシャルを格納し、及び、
前記ホームオートメーションシステムの第２のWPAN発見可能ハードウェア要素上で前記第１のWPAN発見可能ハードウェア要素からの前記ネットワーククレデンシャルを使用して該第２のWPAN発見可能ハードウェア要素のプロビジョニングを行う、
ホームオートメーションシステムのハードウェア要素のプロビジョニング及び／又はコンフィギュレーションを行うための方法。
【請求項２】
前記プロビジョニングが、前記ネットワーククレデンシャルを前記宅内LANを介して前記モバイル・アプリケーションに送り返し、及び該モバイル・アプリケーションに該ネットワーククレデンシャルを前記WPANを介して前記第２のWPAN発見可能ハードウェア要素に転送させることを含む、請求項１に記載の方法。
【請求項３】
前記第１のWPAN発見可能ハードウェア要素が、前記ホームオートメーションシステムのホストコントローラであり、前記第２のWPAN発見可能ハードウェア要素が、該ホストコントローラの制御下にある照明装置、オーディオ／ビデオ（A/V）装置、セキュリティ装置、冷暖房空調（HVAC）装置、又は電子ドアロックである、請求項１に記載の方法。
【請求項４】
前記WPANがBLE（Bluetooth Low Energy）であり、前記宅内LANがWi-Fiネットワークであり、前記ネットワーククレデンシャルが該Wi-FiネットワークのためのSSID（Service Set Identifier）又はパスワードを含む、請求項１に記載の方法。
【請求項５】
前記第２のWPAN発見可能ハードウェア要素のためのユーザにより提供されたコンフィギュレーション情報を前記モバイルアプリケーションから前記宅内LANを介して前記第１のWPAN発見可能ハードウェア要素において受信し、該コンフィギュレーション情報が、該第２のWPANで発見可能ハードウェア要素が関連付けられている部屋と、該第２のWPAN発見可能ハードウェア要素のその他のハードウェア要素に対する１つ以上の相互接続との少なくとも一方を含み、及び、
該第２のWPAN発見可能ハードウェア要素のための該コンフィギュレーション情報を、前記第１のWPAN発見可能ハードウェア要素の記憶装置で維持されているホームデータベースに追加する
ことを更に含む、請求項１に記載の方法。
【請求項６】
前記ホームデータベースをクラウドサービスのコンフィギュレーションデータベースと同期させることを更に含む、請求項５に記載の方法。
【請求項７】
前記第１のWPAN発見可能ハードウェア要素から前記宅内LANを介して前記第２のWPAN発見可能ハードウェア要素へ制御メッセージを送信して該第２のWPAN発見可能ハードウェア要素を設定し、使用し、又は維持することを更に含む、請求項１に記載の方法。
【請求項８】
前記第１のWPAN発見可能ハードウェア要素により前記宅内LAN上をスキャンしてインターネットプロトコル（IP）発見可能ハードウェア要素を発見することを更に含む、請求項１に記載の方法。
【請求項９】
前記第１のWPAN発見可能ハードウェア要素において、前記IP発見可能ハードウェア要素のためのユーザにより提供されたコンフィギュレーション情報を前記宅内LANを介して前記モバイルアプリケーションから受信し、該コンフィギュレーション情報が、該IP発見可能ハードウェア要素が関連付けられている部屋と、該IP発見可能ハードウェア要素のその他のハードウェア要素に対する１つ以上の相互接続との少なくとも一方を含み、及び、
該IP発見可能ハードウェア要素のための該コンフィギュレーション情報を、前記第１のWPAN発見可能ハードウェア要素の前記記憶装置で維持されているホームデータベースに追加する
ことを更に含む、請求項８に記載の方法。
【請求項１０】
前記ホームデータベースをクラウドサービスのコンフィギュレーションデータベースと同期させることを更に含む、請求項９に記載の方法。
【請求項１１】
前記第１のWPAN発見可能ハードウェア要素から前記宅内LANを介して前記IP発見可能ハードウェア要素へ制御メッセージを送信して該IP発見可能ハードウェア要素を設定し、使用し、又は維持することを更に含む、請求項１０に記載の方法。
【請求項１２】
前記第１のWPAN発見可能ハードウェア要素により前記WPAN上をスキャンして前記第２のWPAN発見可能ハードウェア要素を発見し、及び、
前記第１のWPAN発見可能ハードウェア要素により前記第１のWPAN発見可能ハードウェア要素の前記記憶装置から前記ネットワーククレデンシャルを読み出す
ことを更に含み、
前記プロビジョニングが、前記第１のWPAN発見可能ハードウェア要素から前記WPANを介して前記第２のWPAN発見可能ハードウェア要素へ前記ネットワーククレデンシャルを転送することを更に含む、請求項１に記載の方法。
【請求項１３】
前記第２のWPAN発見可能ハードウェア要素が、最初は前記宅内LAN上でアクセス可能であるが、次いでリセットされて前記ネットワーククレデンシャルを失い、及び前記プロビジョニングが、自己修復動作の一部として実行されて該第２のWPAN発見可能ハードウェア要素を該宅内LAN上で再びアクセス可能にする、請求項１２に記載の方法。
【請求項１４】
前記第２のWPAN発見可能ハードウェア要素により前記WPAN上をスキャンして、前記ホームオートメーションシステムにより使用される前記宅内LAN上でアクセスできない該ホームオートメーションシステムの第３のWPAN発見可能ハードウェア要素を発見し、
前記第２のWPAN発見可能ハードウェア要素により前記宅内LANを介して前記第１のWPAN発見可能ハードウェア要素から前記ネットワーククレデンシャルを読み出し、及び、
該ネットワーククレデンシャルを該第２のWPAN発見可能ハードウェア要素から前記WPANを介して前記第３のWPAN発見可能ハードウェア要素へ転送することにより該第３のWPAN発見可能ハードウェア要素のプロビジョニングを行う
ことを更に含む、請求項１に記載の方法。
【請求項１５】
前記第３のWPAN発見可能ハードウェア要素が、前記第１のWPAN発見可能ハードウェア要素からWPAN範囲外にある、請求項１４に記載の方法。
【請求項１６】
前記第２のWPAN発見可能ハードウェア要素が、第２の照明装置、オーディオ／ビデオ（A/V）装置、セキュリティ装置、冷暖房空調（HVAC）装置、又は電子ドアロックであり、前記第３のWPAN発見可能ハードウェア要素が、第３の照明装置、A/V装置、セキュリティ装置、HVAC装置、又は電子ドアロックである、請求項１４に記載の方法。。
【請求項１７】
前記第３のWPAN発見可能ハードウェア要素が、最初は前記宅内LAN上でアクセス可能であるが、次いでリセットされて前記ネットワーククレデンシャルを失い、及び前記スキャン、前記読み出し、及び前記プロビジョニングが、自己修復動作の一部として実行されて該第３のWPAN発見可能ハードウェア要素を該宅内LAN上で再びアクセス可能にする、請求項１４に記載の方法。
【請求項１８】
プロビジョニング及び／又はコンフィギュレーションを必要とするホームオートメーションシステムであって、
該ホームオートメーションシステムにより使用される宅内ローカルエリアネットワーク（LAN）上で少なくとも最初はアクセスできない第１のワイヤレスパーソナルエリアネットワーク（WPAN）発見可能ハードウェア要素と、
第２のWPAN発見可能ハードウェア要素と、
モバイルアプリケーションを実行しているモバイルデバイスと
を備えており、
前記モバイルアプリケーションが、前記第１のWPAN発見可能ハードウェア要素から前記WPAN上でアドバタイズメントを受信し、及びユーザにより提供されたネットワーククレデンシャルを前記WPANを介して該第１のWPAN発見可能ハードウェア要素へ提供するよう構成されており、
該第１のWPAN発見可能ハードウェア要素が、該ネットワーククレデンシャルを記憶装置に格納し、及び該ネットワーククレデンシャルを使用して前記第２のWPAN発見可能ハードウェア要素のプロビジョニングを行うよう構成されている、
プロビジョニング及び／又はコンフィギュレーションを必要とするホームオートメーションシステム。
【請求項１９】
前記第１のWPAN発見可能ハードウェア要素が、前記ネットワーククレデンシャルを前記宅内LANを介して前記モバイルアプリケーションへ送り返して、該モバイルアプリケーションに該ネットワーククレデンシャルを前記WPANを介して前記第２のWPAN発見可能ハードウェア要素へ転送させることにより、該第２のWPAN発見可能ハードウェア要素のプロビジョニングを行うよう構成されている、請求項１８に記載のホームオートメーションシステム。
【請求項２０】
前記第１のWPAN発見可能ハードウェア要素が、前記ネットワーククレデンシャルを該第１のWPAN発見可能ハードウェア要素から前記WPANを介して前記第２のWPAN発見可能ハードウェア要素へ転送することにより該第２のWPAN発見可能ハードウェア要素のプロビジョニングを行うよう構成されている、請求項１８に記載のホームオートメーションシステム。
【請求項２１】
第３のWPAN発見可能ハードウェア要素を更に備えており、
前記第２のWPAN発見可能ハードウェア要素が、前記ネットワーククレデンシャルを該第２のWPAN発見可能ハードウェア要素から前記WPANを介して前記第３のWPAN発見可能ハードウェア要素へ転送することにより該第３のWPAN発見可能ハードウェア要素のプロビジョニングを行うよう構成されている、
請求項１８に記載のホームオートメーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にホームオートメーションシステムに関し、特にホームオートメーションシステムのハードウェア要素のプロビジョニング及びオンボーディングに関する。
【背景技術】
【０００２】
ホームオートメーションシステムは、住居及び商業ビルの両方で次第に一般的なものとなりつつある。かかるシステムは、広範な装置（例えば、照明装置、セキュリティ装置、オーディオ／ビデオ（A/V）装置、冷暖房空調（HVAC）装置、電子ドアロック、及び／又はその他のタイプの装置）の制御、それら装置間の切り替え、それら装置間でのデータ交換、及びその他のそれら装置との相互作用を行うことが可能な１つ以上の宅内コントローラを含み得る。これまで、多くのホームオートメーションシステムは、該システムを機能させるために複雑なインストール手順を必要としてきた。更に、該システムに変更を加える度に複雑な更新手順を必要としてきた。かかるインストール及び更新手順は、それに伴う様々な複雑さを扱うためにホームオートメーションシステムの熟練したインストール要員によるサービスを必要としてきた。
【０００３】
かかる複雑さの１つが、ネットワーク上で互いに通信することを可能にするためのネットワーククレデンシャル（credentials：信用情報）をホームオートメーションシステムの各装置に提供すること（provisioning：プロビジョニング）である。各装置のプロビジョニングを行うために、インストール要員は典型的には、ホームオートメーションシステムの全ての装置の各々毎に作業を行う必要があった。専用のユーザインタフェイス（例えば、画面及び入力装置）を有する装置の場合、インストール要員は一般に、該装置に手作業でネットワーククレデンシャルを入力することになる。特定の装置で、ユーザインタフェイスを利用することはできないが、接続ポート（例えば、ユニバーサルシリアルバス（USB）やRS232ポートなど）が提供されている場合には、インストール要員は、かかる各装置にケーブルを介して他の装置（例えば、専用ソフトウェアを実行しているラップトップ又はタブレットコンピュータ）を一時的に接続し、該ケーブル接続を介してネットワーククレデンシャルを送信する場合が多い。更に別の装置の場合には、インストール要員は、かかる装置に物理的なアクション（例えば、ペアリングボタンの押下、スイッチの操作など）を行って該装置にネットワーククレデンシャルを取得させる場合がある。
【０００４】
かかる既存のプロビジョニング手順は、時間を要し、間違いが生じやすいものである。ホームオートメーションシステム内に多数の装置が存在する場合には、同じネットワーククレデンシャルを繰り返し入力することは、かなりの時間を要するものとなる。誤り（例えば、タイプミス）が生じた場合には、問題が診断されるまで複数の装置は互いに通信することができなくなる。
【０００５】
もう１つの複雑さは、新しい装置を使用するためにホームオートメーションシステムのコンフィギュレーションを行う（configure：設定する）ことである。新しい装置は、一旦プロビジョニングが行われれば、ネットワーク上の他の装置と通信することが可能となるが、典型的には、ホームオートメーションシステムがプロビジョニングサービスで該新しい装置を利用するために何らかのコンフィギュレーション情報が必要となる。従来、かかるコンフィギュレーション情報は、高レベル（すなわち「設計者を対象とした（architects view）」）設計ツール（例えば、Savant Systems Inc.から入手可能なRacePoint Blueprint（登録商標）設計ツール）を使用してインストール要員により提供されてきた。該設計ツールを使用して、インストール要員は、ホームオートメーションシステムの詳細なシステムコンフィギュレーションを構築して、各装置のコンフィギュレーションを行い、及びそれら装置間の相互接続を定義することになる。該システムコンフィギュレーションが完成すると、インストール要員は、該システムコンフィギュレーションを、サービスを提供するために実行することができる実行可能形式へとコンパイルすることになる。
【０００６】
かかる既存のコンフィギュレーション手順は一般に複雑であり時間を要するものである。ホームオートメーションシステムのアーキテクチャ及び設計原理の徹底的な理解が必要となるため、かかる手順は、住宅所有者又は熟練度の低い汎用的なインストール要員には使用されないものとなる。したがって、既存のコンフィギュレーション手順の場合には、熟練したホームオートメーションシステムのインストール要員によるサービスが必要となる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
タスクを単純化し及び住宅所有者及び汎用的なインストール要員が一層容易にアクセスすることを可能にする、ホームオートメーションシステムの最初のインストール作業及び更新の一部としての装置のプロビジョニング及びコンフィギュレーションのための新しい技術が必要とされている。かかる技術は、それが利用可能となれば、自分のシステムの最初の設定及びその後の更新を行うために熟練したホームオートメーションシステムのインストール要員に代金を支払うことができず又はかかる代金を支払いたくない一層広範なホームオートメーションシステムの支持者がホームオートメーションを利用することを可能にする。
【課題を解決するための手段】
【０００８】
住宅所有者及び汎用的なインストール要員がタスクに容易にアクセスすることを可能にする簡素化された手順とすることが可能な、ホームオートメーションシステムのホストコントローラ及び複数の装置（包括的にハードウェア要素と称す）のワイヤレスプロビジョニング及びオンボーディングのための例示的な技術が提供される。かかる技術は、ワイヤレスパーソナルエリアネットワーク（WPAN）（例えば、BLE（Bluetooth Low Energy））を宅内LAN（例えば、Wi-Fiネットワーク）と共に使用し、及びモバイルデバイス上で実行しているモバイルアプリケーション（app）の能力を利用することが可能である。
【０００９】
一実施形態では、ホームオートメーションシステムの第１のWPAN発見可能（WPAN-discoverable）（例えば、Bluetooth発見可能（Bluetooth-discoverable））ハードウェア要素（例えば、ホストコントローラ）が、WPAN（例えば、BLE）上でその存在を公表する（advertise）。モバイルアプリケーションは、WPAN上をスキャンして該第１のWPAN発見可能ハードウェア要素を発見する。該第１のWPAN発見可能ハードウェア要素は、ユーザにより提供されたネットワーククレデンシャル（例えば、SSID（Service Set Identifier）及びパスワード）をWPANを介してモバイルアプリケーションから受信し、該ハードウェア要素のネットワークアダプタを宅内LAN（例えば、Wi-Fiネットワーク）用に設定する。このようにして、モバイルアプリケーションは、WPANを介してWPAN発見可能ハードウェア要素のプロビジョンを行う。第１のWPAN発見可能ハードウェア要素はまた、前記ネットワーククレデンシャルを後の使用に備えてローカル記憶装置に格納する。必要に応じて、該第１のWPAN発見可能ハードウェア要素は、ホームオートメーションシステムの第２のWPAN発見可能（例えば、Bluetooth発見可能）ハードウェア要素（例えば、装置）のプロビジョニングを行うことが可能であり、これは、前記宅内LANを介して前記モバイルアプリケーションへ前記ネットワーククレデンシャルを送り返して、該モバイルアプリケーションに該ネットワーククレデンシャルをWPAN（例えば、BLE）を介して該２のハードウェア要素へ転送させることにより行うことが可能である。
【００１０】
第２の例示的な実施形態では、ホームオートメーションシステムの第１のWPAN発見可能（例えば、Bluetooth発見可能）ハードウェア要素（例えば、ホストコントローラ）がWPAN（例えば、BLE）をスキャンして、宅内LAN（例えば、Wi-Fiネットワーク）上ではアクセスできないホームオートメーションシステムの第２のWPAN発見可能（例えば、Bluetooth発見可能）ハードウェア要素（例えば、装置）を発見する。該第１のWPAN発見可能ハードウェア要素は、ローカル記憶装置から宅内LAN用のネットワーククレデンシャル（例えば、SSID及びパスワード）を読み出す。該第１のWPAN発見可能ハードウェア要素は、該ネットワーククレデンシャルをWPANを介して前記第２のWPAN発見可能ハードウェア要素へ送信することにより、該第２のWPAN発見可能ハードウェア要素のプロビジョニングを行う。
【００１１】
第３の例示的な実施形態では、ホームオートメーションシステムの第２のWPAN発見可能（例えば、Bluetooth発見可能）ハードウェア要素（例えば、装置）は、WPAN（例えば、BLE）上をスキャンして、宅内LAN（例えば、Wi-Fiネットワーク）上でアクセスできないホームオートメーションシステムの第３のWPAN発見可能（例えば、Bluetooth発見可能）ハードウェア要素（例えば、別の装置）を発見する。該第２のWPAN発見可能ハードウェア要素は、宅内LAN用のネットワーククレデンシャル（例えば、SSID及びパスワード）をローカル記憶装置内に維持しているホームオートメーションシステムの第１のWPAN発見可能（例えば、Bluetooth発見可能）ハードウェア要素（例えば、ホストコントローラ）から該ネットワーククレデンシャルを宅内LANを介して読み出す。該第２のWPAN発見可能ハードウェア要素は、該ネットワーククレデンシャルをWPAN（例えば、BLE）を介して該第３のWPAN発見可能ハードウェア要素に転送することにより、該第３のWPAN発見可能ハードウェア要素のプロビジョニングを行う。
【００１２】
第４の実施形態例では、モバイルアプリケーションが、WPAN（例えば、BLE）上をスキャンして、宅内LAN（例えば、Wi-Fiネットワーク）上ではアクセスできないホームオートメーションシステムの第２のWPAN発見可能（例えばBluetooth発見可能）ハードウェア要素（例えば、装置）を発見する。該モバイルアプリケーションは、宅内LAN用のネットワーククレデンシャル（例えば、SSID及びパスワード）をローカル記憶装置内に維持しているホームオートメーションシステムの第１のWPAN発見可能（例えば、Bluetooth発見可能）ハードウェア要素（例えば、ホストコントローラ）から該ネットワーククレデンシャルを宅内LANを介して読み出す。該モバイルアプリケーションは、該ネットワーククレデンシャルをWPAN（例えば、BLE）を介して該第２のWPAN発見可能ハードウェア要素に転送することにより、該第２のWPAN発見可能ハードウェア要素のプロビジョニングを行う。
【００１３】
ここで説明したもの以外にも様々な更なる特徴及び代替的な実施形態を実施することが可能であることを理解されたい。上記説明は、単に読者に対する序論を意図したものであり、本書で言及した実施形態が本開示の全ての特徴を網羅するものであること又は本開示の必要不可欠な特徴であることを示し又は示唆するものではない。
【図面の簡単な説明】
【００１４】
【図１】建造物に関する複数の装置を制御するよう動作可能なホームオートメーションシステムの例示的なアーキテクチャを示すブロック図である。
【図２】ホストコントローラ上のホストソフトウェアと、モバイルデバイス上のモバイルアプリケーションと、ホームオートメーションシステムの複数の装置との間の相互作用を示すブロック図である。
【図３】ホストコントローラのプロビジョニング及びオンボーディングを行うための例示的な技術を一層詳細に示すメッセージング図である。
【図４Ａ】WPAN発見可能装置のプロビジョニング及びオンボーディングを行うための第１の例示的な技術の更なる詳細を示すメッセージング図である。
【図４Ｂ】WPAN発見可能装置のプロビジョニング及びオンボーディングを行うための第２の例示的な技術の更なる詳細を示すメッセージング図である。
【図４Ｃ】WPAN発見可能装置のプロビジョニング及びオンボーディングを行うための第３の例示的な技術の更なる詳細を示すメッセージング図である。
【図５】IP発見可能装置のプロビジョニング及びオンボーディングを行うための例示的な技術の詳細を示すメッセージング図である。
【図６】図３ないし図５に関して説明した技術を共に利用してホストコントローラ及び複数のWPAN発見可能装置（一部がWPAN範囲内にあり、他の一部がWPAN範囲外にあるもの）のプロビジョニングを行う態様の一例を示す例示的なホームオートメーションシステムを示す図である。
【図７】図３ないし図５に関して説明した技術を共に利用して、最初は宅内LAN上でアクセス可能であったがリセットされてネットワーククレデンシャルを失ってしまった装置を自己修復させる態様の一例を提供する例示的なホームオートメーションシステムを示す図である。
【図８Ａ】モバイルデバイスの表示画面に表示することが可能なモバイルアプリケーションのプロビジョニング及びコンフィギュレーションUIの一連の例示的なスクリーンショットである。
【図８Ｂ】モバイルデバイスの表示画面に表示することが可能なモバイルアプリケーションのプロビジョニング及びコンフィギュレーションUIの一連の例示的なスクリーンショットである。
【図８Ｃ】モバイルデバイスの表示画面に表示することが可能なモバイルアプリケーションのプロビジョニング及びコンフィギュレーションUIの一連の例示的なスクリーンショットである。
【図９】サービスを提供するようにホームオートメーションシステムを設定するためにコンフィギュレーションエンジンにより実行することが可能な例示的な一連のステップを示すフローチャートである。
【発明を実施するための形態】
【００１５】
●定義
本書で用いる場合、用語「ホームオートメーションシステム」とは、様々なタイプのホーム制御、「スマートホーム」、及び／又は建造物（例えば、住居又は商業ビル）内の複数の装置（例えば、照明装置、セキュリティ装置、A/V装置、HVAC装置、電子ドアロック、及び／又はその他のタイプの装置）を制御することが可能な装置制御システムを包含する広範な意味で解釈されるべきものである。
【００１６】
本書で用いる場合、用語「モバイルデバイス」とは、汎用オペレーティングシステムを実行し、及び携帯して運ばれるよう構成された電子機器を指す。スマートフォンやタブレットコンピュータなどの装置は、モバイルデバイスと見なすべきものである。デスクトップコンピュータ、サーバー、又はその他の基本的に動かさないコンピューティング装置は一般にモバイルデバイスと見なすべきものではない。
【００１７】
本書で用いる場合、用語「ハードウェア要素」とは、ホームオートメーションシステムなどの一層大きなシステムの一部となり得る物理的なハードウェアユニットを指す。ホームオートメーションシステムのハードウェア要素は、該ホームオートメーションシステムのホストコントローラ及び該ホームオートメーションシステムの装置（例えば、該ホームオートメーションシステムのホストコントローラにより制御される照明装置、A/V装置、セキュリティ装置、HVAC装置、電子ドアロック、又はその他のタイプの装置など）、又は該ホストコントローラを制御するために使用されるリモコンを含むことが可能である。
【００１８】
本書で用いる場合、用語「プロビジョニング」とは、ハードウェア要素がLANに参加することを可能にするネットワーククレデンシャルを該ハードウェア要素に提供することを指す。ネットワーククレデンシャルはLANのタイプに応じて異なり得る。例えば、LANがWi-Fiネットワークである場合、ネットワーククレデンシャルはSSID及びパスワードを含むことが可能である。
【００１９】
本書で用いる場合、用語「オンボーディング」とは、ホームオートメーションシステムにおいて１つ以上のサービスを提供する際にハードウェア要素を使用することを可能にする該ハードウェア要素に関するコンフィギュレーション情報を提供することを指す。該コンフィギュレーション情報は、ハードウェア要素が位置する部屋、該ハードウェア要素と他のハードウェア要素との間の接続、並びに他のタイプの情報を含むことが可能である。
【００２０】
本書で用いる場合、用語「サービス」とは、ホームオートメーションシステムの１つ以上のハードウェア要素間の対話を含む該ホームオートメーションシステムにより提供されるアクティビティを指す。サービスは、該アクティビティに適用することが可能なコマンドのリスト及び状態のフィードバックを定義することが可能である（が必須ではない）。
●例示的なホームオートメーションシステム
図１は、建造物（例えば、住居又は商業ビル）に関連する複数の装置を制御するよう動作することが可能なホームオートメーションシステムの例示的なアーキテクチャ100を示すブロック図である。該システムの中核をなすのが、宅内LAN150（例えば、Wi-Fiネットワーク）に接続されたホストコントローラ110である。該ホストコントローラ110は、プロセッサ、メモリ、記憶装置、LANインタフェイス（例えば、Wi-Fiインタフェイス）、及びWPANインタフェイス（例えば、BLEインタフェイス）、並びにその他のハードウェア要素を含むことが可能である。該記憶装置は、ホストソフトウェア111を格納することが可能であり、該ホストソフトウェア111は、その実行時に、以下で説明するプロビジョニング及びコンフィギュレーション技術の部分を実施し、並びに、装置112-122の動作を監視し及び制御し、リモコン124と接続し及び該リモコン124のためにユーザインタフェイス（UI）翻訳を提供し、システム管理及び監視並びにクラウドサービス180及びモバイルデバイス160との同期を提供し、アクティビティの記録及びプロファイル管理を提供し、及びその他の機能を実行することが可能なものである。ホストコントローラ110の記憶装置は、宅内LAN用のネットワーククレデンシャル（例えば、SSID及びパスワード）のセキュアな記憶場所を維持すること並びにホームデータベース130を維持することが可能である。
【００２１】
ホームオートメーションシステムの装置112-122は、照明装置112（例えば、照明コントローラ、ランプモジュール、調光モジュール、スイッチ、キーパッド、ファンコントローラなど）、セキュリティ装置114（例えば、カメラ／ホームモニタ、モーションセンサ、ホームヘルスケアセンサ、及びそれらに関連するコントローラなど）、オーディオ装置116及びビデオ装置118（包括的にA/V装置と称す）（例えば、A/Vコントローラ、赤外線（IR）ブラスタ、マトリクススイッチ、メディアサーバ、オーディオ増幅器、ケーブルテレビ用チューナなど）、電子ドアロック120及びその他のタイプのモータ又はリレー駆動式装置、サーモスタット等のHVAC装置122、並びにその他のタイプの装置を含むことが可能である。更に、リモコン124を配設することが可能である。該リモコンは、装置112-122へ制御コマンドを発行するようホストコントローラ110をトリガするための入力をユーザが提供することを可能にするホームオートメーション制御UIを提供することが可能である。以下の説明のため、リモコン124を装置の１つとみなすこととする。
【００２２】
実施形態によって、ホームオートメーションシステムの装置112-124の通信能力は変化し得る。例えば、複数の装置のうちの少なくとも幾つかは、それら装置がホストコントローラ110及びその他の装置と宅内LAN150又はWPANを介して通信することが可能となるように、LANインタフェイス（例えば、Wi-Fiインタフェイス）及びWPANインタフェイス（例えば、BLEインタフェイス）の両方を含むことが可能である。同様に、幾つかの装置は、宅内LAN150を介してホストコントローラ110及びその他の装置と通信するためにLANインタフェイス（例えば、Wi-Fiインタフェイス）のみを含むことが可能である。更に別の装置は、有線通信又はポイントツーポイントワイヤレス通信のためのポート又は送受信器（例えば、RS-232ポート、赤外線（IR）送受信器、リレー制御ポート、汎用入出力（GPIO）ポートなど）のみを有し、かかるポートを使用してホストコントローラ110及びその他の装置と通信することが可能である。更に、幾つかの装置は、LANインタフェイス（例えば、Wi-Fiインタフェイス）を含むが、宅内LAN150を介してホストコントローラ110と直接通信するよう構成されておらず、その代わりにインターネット170及びサードパーティ製インフラストラクチャ190を介して最初にクラウドサービス180と通信することが可能である。HVAC装置122は、このように通信することができるタイプの装置の一例として図１に示されているが、他のタイプの装置112-122が代替的にこの通信方法を使用することが可能である（逆も又同様）。
【００２３】
通信は、とりわけ、リモコン124により提供されるホームオートメーション制御UIにおいてユーザにより選択されたサービスを実施するために使用することが可能である。更に、ユーザは、モバイルデバイス160を使用してホームオートメーションシステムを制御することが可能である。モバイルデバイス160は、プロセッサ、メモリ、記憶装置、表示画面（例えば、タッチセンサ式ディスプレイ）、LANインタフェイス（例えば、Wi-Fiインタフェイス）、WPANインタフェイス（例えば、BLEインタフェイス）、並びにその他のハードウェア要素を含むことが可能である。モバイルデバイスは、ホストコントローラ110及び／又はクラウドサービス180と協働するよう構成されたモバイルアプリケーション162を実行することが可能であり、該モバイルアプリケーション162は、リモコン124上で提供されるものと同様の（又は拡張された機能を含む）もう１つのホームオートメーション制御UIをユーザに提供することが可能である。モバイルアプリケーション162は更に、上述したプロビジョニング及びコンフィギュレーション技術の実施の一部として使用することが可能なプロビジョニング及びコンフィギュレーションUIを提供することが可能である。
【００２４】
ホストコントローラ110及びモバイルデバイス160は、インターネット170を介してクラウドサービス180及びそのホストアプリケーションプログラムインタフェイス（API）182及びモバイルAPI184と通信することが可能である。クラウドサービス180は、数ある機能の中でもとりわけ、ホームオートメーション制御へのリモートアクセス、ホームデータベース130の持続性バックアップ（コンフィギュレーションデータベース186内にデータを格納）、サードパーティ製インフラストラクチャへの（サードパーティ製アダプタ188を介した）インタフェイス、ユーザプロファイル維持及び利用追跡（ユーザデータベース189内にデータを格納）、無線による更新機構、ホストクラッシュレポート、及びライセンス管理を提供することが可能である。
●ワイヤレスプロビジョニング及びオンボーディング
ホストコントローラ110上のホストソフトウェア111及びモバイルデバイス160上のモバイルアプリケーション162は、WPAN（例えば、BLE）及び宅内LAN（例えば、Wi-Fiネットワーク）150の組み合わせを利用して、ホームオートメーションシステムの初期インストールの一部として、又はホームオートメーションシステムの更新又は自己修復の一部として、ホストコントローラ110及び装置112-124（包括的に「ハードウェア要素」）のプロビジョニング及びコンフィギュレーションを行うことが可能である。その後、ホストコントローラ110は、宅内LAN（例えば、Wi-Fiネットワーク）150を利用して、モバイルアプリケーション162の指示下で各装置に制御メッセージを送信して、該装置112-124の更なるセットアップ、使用、又は維持を行うことが可能である。
【００２５】
図２は、ホストコントローラ110上のホストソフトウェア111と、モバイルデバイス160上のモバイルアプリケーション162と、ホームオートメーションシステムの装置112-124との間の相互作用を示すブロック図である。特定のエンティティ（例えば、クラウドサービス180、インターネット170など）は、プロビジョニング及びコンフィギュレーションの態様に焦点を当てるため、図２では省略されている。
【００２６】
ホームオートメーションシステムの装置112-124は、それらの発見能力に応じて分類することが可能である。他の装置、ホストコントローラ110、及び／又はモバイルデバイス160に自分の存在を広告するためにWPAN（例えば、BLE）を利用する装置は、WPAN発見可能（例えば、Bluetooth発見可能）装置210と見なすことができる。ホストコントローラ110自体が、その存在を広告するためにWPAN（例えば、BLE）を利用することが可能であり、これによりWPAN発見可能ホストコントローラとみなすことが可能である、ということが理解されよう（WPAN発見可能装置210及びWPAN発見可能ホストコントローラは包括的に「WPAN発見可能ハードウェア要素」と称することができる）。
【００２７】
WPAN（例えば、BLE）を介して通信することができない又はWPANを使用してその存在を広告しないよう構成されているが、宅内LAN150（例えば、Wi-Fiネットワーク）を利用してその存在を広告する装置は、インターネットプロトコル（IP）発見可能装置220とみなすことが可能である。他のコントローラ（図示せず）が、WPANを介して通信することができない又はWPANを利用してその存在を広告しないよう構成されているが、宅内LAN150を利用してその存在を広告することが可能であり、これによりIP発見可能コントローラとみなすことが可能なものであることが可能である、ということが理解されよう（IP発見可能装置220及びIP発見可能コントローラは包括的に「IP発見可能ハードウェア要素」である）。
【００２８】
更に、WPAN（例えば、BLE）及び宅内LAN（例えば、Wi-Fiネットワーク）150を介して通信することができず、又はWPAN若しくは宅内LAN150を利用してその存在を広告しないよう構成された装置は、発見不能装置230とみなすことが可能である。
【００２９】
モバイルアプリケーション162は、アドバタイズメント（advertisements：広告）（例えば、BLEアドバタイズメント）を監視することによりWPAN上をスキャンしてホストコントローラ110を最初に発見し、次いでWPAN発見可能装置210を発見するように構成された、発見及びプロビジョニングプロセス240を含むことが可能である。該モバイルアプリケーション162のコンフィギュレーションインタフェイス245は、該モバイルアプリケーション162により提供されるプロビジョニング及びコンフィギュレーションUIと協働して、ユーザにより提供されたネットワーククレデンシャルを最初に受信し、かかるユーザにより提供されたネットワーククレデンシャルをホストコントローラ110に転送して該ホストコントローラ110のプロビジョニングを行い、該ネットワーククレデンシャルは該ホストコントローラ110のローカル記憶装置内に維持される。その後、プロビジョニング及びコンフィギュレーション情報を含むIPメッセージを宅内LANを介して送信することにより、発見された装置に関する通知をホストコントローラ110上のコンフィギュレーションインタフェイス260に提供することが可能である。場合によっては、モバイルアプリケーション162のコンフィギュレーションインタフェイス245は、後に装置のプロビジョニングを行うためにホストコントローラ110にネットワーククレデンシャルを要求することが可能である。更に、ユーザは、モバイルアプリケーション162により提供されるプロビジョニング及びコンフィギュレーションUIを使用して装置のオンボーディングを行うことが可能である。モバイルアプリケーション162のコンフィギュレーションインタフェイス245は、ユーザにより提供されたコンフィギュレーション情報（例えば、装置が関連付けられている部屋、又は他の装置との１つ以上の相互接続）をプロビジョニング及びコンフィギュレーションUIから受信し、この情報をホストコントローラ110上のコンフィギュレーションインタフェイス260に伝えることが可能である。
【００３０】
ホストコントローラ110は、アドバタイズメント（例えば、BLEアドバタイズメント）を監視することによりWPAN発見可能装置210に関してWPAN上をスキャンし、及びIP発見可能装置220に関して（例えば、IP発見プロトコルを使用して）宅内LAN上をスキャンするよう構成された、発見及びプロビジョニングプロセス265を含むことが可能である。発見された装置に関する情報は、ホストコントローラ110のコンフィギュレーションインタフェイス260並びに制御プロセス270に伝えることが可能である。コンフィギュレーションインタフェイス260は、発見された装置のプロビジョニングを行うために該装置へ送信されるべきネットワーククレデンシャルをホストコントローラのローカル記憶装置から受信することが可能である。モバイルアプリケーション162から受信した装置のコンフィギュレーション情報は、該装置のオンボーディングの一部としてコンフィギュレーションエンジン275に渡すことが可能である。コンフィギュレーションエンジン275は、該コンフィギュレーション情報を使用して、システムコンフィギュレーションを生成し又は更新することが可能であり、これにより以下で一層詳細に説明するように、ホームオートメーションシステムにおいて１つ以上のサービスを提供する際に該装置を使用することが可能となる。該システムコンフィギュレーションは、ホームデータベース130内に格納することが可能である。
【００３１】
装置のプロビジョニング及びコンフィギュレーションが行われると、ホームオートメーションシステムを積極的に使用することが可能となる。ユーザは、モバイルアプリケーション162の制御プロセス250と連携して動作するモバイルアプリケーション162により提供されるホームオートメーション制御UIを使用することが可能である。ユーザ入力が、制御プロセス250により処理されて、宅内LAN150を介してホストコントローラ110の制御プロセス270へ送信されるIPメッセージとなる。その後、制御プロセス270は、宅内LAN150を介して該宅内LANに接続された装置に対して適切な制御コマンドをIP制御メッセージで発行し、かかる接続性を有さない装置には、IR、RS232、又はその他のタイプの制御メッセージを送信する。同様に、ユーザは、リモコン124により提供されるUIを使用して、ホストコントローラ110の制御下にある装置へ制御メッセージを発行させることが可能である。
【００３２】
図３は、ホストコントローラ110のプロビジョニング及びオンボーディングを行うための例示的な技術を詳細に示すメッセージング図300である。この例では、ホストコントローラ110は、（新品を）箱から出して電源を入れたばかりであることが想定されているが、同様の技術を使用して既存のホストコントローラを更新させ及び／又は自己修復させることが可能である。更に、この例では、ユーザが既にモバイルアプリケーション162を使用してクラウドサービス180でアカウントを作成していることが想定されている。
【００３３】
ステップ310で、ホストコントローラ110は、その存在をWPAN（例えば、BLE）上で広告し、該WPAN上でアドバタイズメント（例えば、BLEアドバタイズメント）を交換することによりモバイルアプリケーション162により発見される。
【００３４】
ステップ320で、ホストコントローラ110は、ユーザにより提供された宅内LAN（例えば、Wi-Fiネットワーク）のためのネットワーククレデンシャル（例えば、SSID及びパスワード等のWi-Fiクレデンシャル）をWPANを介してモバイルアプリケーション162から受信し、及び該ネットワーククレデンシャルを使用してその宅内LANに対するインタフェイスのプロビジョニングを行う。ホストコントローラ110はまた、他の装置のプロビジョニングを行う際に後に使用するために該ネットワーククレデンシャルをセキュアに格納する。ホストコントローラ110は、該ホストコントローラ110のプロビジョニングが行われてネットワーククレデンシャルが格納されたことを確認するLANセットアップレスポンス（例えば、Wi-Fiセットアップレスポンス）で応答する。
【００３５】
ステップ330で、ホストコントローラ110は、自身をクラウドサービス180に報告し、双方向通信のための接続（例えば、ウェブソケットセキュア（WSS）接続）を開く。ステップ330の一部として、ホームオートメーションシステム及びユーザをホストコントローラ110に関連付ける際に使用することができる一意のホーム識別子（ID）をホストコントローラ110に割り当てることが可能である。
【００３６】
ステップ340で、モバイルアプリケーション162は、ホストコントローラ110に関して宅内LAN上をスキャンし、及び該宅内LAN上でアドバタイズメント（例えば、Wi-Fiアドバタイズメント）を交換して通信を確立する。ステップ350で、モバイルアプリケーション162は、クラウドサービス180との交換を開始することにより、ホームIDを部分的に使用して、ユーザをホストコントローラ162に関連付けることが可能である。その後、該ユーザは、モバイルアプリケーション162により提供されるホームオートメーション制御UIを使用してホストコントローラ110にサービスを提供させることが可能となる。かかる動作中に、ホストコントローラ110のホームデータベース130が更新されるたびに、全ての新しい情報を、クラウドサービス180により維持されるコンフィギュレーションデータベース186に同期させることが可能である。
【００３７】
図４Ａは、WPAN発見可能（例えば、Bluetooth発見可能）装置210のプロビジョニング及びオンボーディングを行うための第１の例示的な技術を詳細に示すメッセージング図400である。この例では、WPAN発見装置210は、箱から出されて電源が入れられたばかりであることが想定されているが、同様の技術を使用して既存の装置を更新させ及び／又は自己修復させることが可能である。モバイルアプリケーション162は、WPAN発見可能装置210のWPAN範囲（例えば、BLE範囲）内に移動させる必要があるが、ホストコントローラ110は、図４Ａに示すタイプのプロビジョニング及びオンボーディングの範囲内にある必要はない。図４Ａの動作は、ホストコントローラ110のプロビジョニング及びオンボーディングが行われた直後に又はその後に実行することが可能なものである。
【００３８】
ステップ410で、WPAN発見可能装置210は、その存在をWPAN（例えば、BLE）上で広告し、該WPAN上でアドバタイズメント（例えば、BLEアドバタイズメント）を交換することによりモバイルアプリケーション162により発見される。
【００３９】
ステップ420で、モバイルアプリケーション162は、WPAN発見可能装置210がホームオートメーションシステムに追加されることを示すユーザからの入力、並びにユーザにより提供されたコンフィギュレーション情報（例えば、装置が関連付けられている部屋、及び／又は該装置の１つ以上の相互接続）を受信する。かかる情報は、モバイルアプリケーション162のプロビジョニング及びコンフィギュレーションUIで受け取ることが可能である。かかる情報を受け取ると、モバイルアプリケーション162は、宅内LAN（例えば、Wi-Fiネットワーク）150のためのネットワーククレデンシャル（例えば、SSID及びパスワード等のWi-Fiクレデンシャル）を該宅内LANを介してホストコントローラ110から受信することが可能である。
【００４０】
ステップ430で、モバイルアプリケーション162は、該ネットワーククレデンシャルをWPANを介してWPAN発見可能装置210へ転送して、その宅内LANに対するインタフェイスのプロビジョニングを行うことが可能である。
【００４１】
ステップ440で、モバイルアプリケーション162は、WPAN発見可能装置210のコンフィギュレーション情報を宅内LANを介してホストコントローラ110へ転送することが可能である。ホストコントローラ110は、WPAN発見可能装置210のコンフィギュレーション情報をホームデータベース130に追加し、該ホームデータベース130に対するかかる更新に応じて、その新たな情報を、クラウドサービス180により維持されるコンフィギュレーションデータベース186に同期させることが可能である。
【００４２】
その後、ステップ450で、ホストコントローラ110は、宅内LAN150上でアドバタイズメント（例えば、Wi-Fiアドバタイズメント）をWPAN発見可能装置210と交換し、通信を確立し、及び宅内LAN150を介して制御メッセージを送信して、ホームオートメーションシステムの稼働中にWPAN発見可能装置210を設定し、使用し、又は維持することが可能である。
【００４３】
図４Ｂは、WPAN発見可能（例えば、Bluetooth発見可能）装置210のプロビジョニング及びオンボーディングを行うための第２の例示的な技術を詳細に示すメッセージング図402である。この例では、ホストコントローラ110は、WPAN発見可能装置210のWPAN範囲（例えば、BLE範囲）内にあることが想定されている。図４Ｂの動作は、ホストコントローラ110のプロビジョニング及びオンボーディングが行われた直後に又はその後で実行することが可能である。
【００４４】
ステップ412で、WPAN発見可能装置210は、その存在をWPAN（例えば、BLE）上で広告し、及び該WPAN上でアドバタイズメント（例えば、BLEアドバタイズメント）を交換することによりホストコントローラ110によって発見される。
【００４５】
ステップ422で、ホストコントローラ110は、宅内LANのためのネットワーククレデンシャル（例えば、SSID及びパスワード等のWi-Fiクレデンシャル）をWPANを介してWPAN発見可能装置210に転送して、該WPAN発見可能装置210の宅内LAN（例えば、Wi-Fiネットワーク）150についてののプロビジョニングを行う。
【００４６】
ステップ432で、ホストコントローラ110は、WPAN発見可能装置210の存在を宅内LAN150を介してモバイルアプリケーション162に通知する。モバイルアプリケーション162は、WPAN発見可能装置210がホームオートメーションシステムに追加されることを示すユーザからの入力、並びにユーザにより提供されたコンフィギュレーション情報（例えば、装置が関連付けられた部屋及び／又は該装置の１つ以上の相互接続）を受信する。かかる情報は、モバイルアプリケーション162のプロビジョニング及びコンフィギュレーションUIで受け取ることが可能である。
【００４７】
ステップ442で、モバイルアプリケーション162は、WPAN発見可能装置210のコンフィギュレーション情報を宅内LAN150を介してホストコントローラ110に転送することが可能である。ホストコントローラ110は、該WPAN発見可能装置210のコンフィギュレーション情報をホームデータベース130へ追加することが可能であり、及びかかる更新に応じて、その新たな情報を、クラウドサービス180により維持されているコンフィギュレーションデータベース186に同期させることが可能である。
【００４８】
その後、ステップ452で、ホストコントローラ110は、宅内LAN150上でWPAN発見可能装置210とアドバタイズメント（例えば、Wi-Fiアドバタイズメント）を交換し、通信を確立し、及び宅内LAN150上で制御メッセージを送信して、ホームオートメーションシステムの稼働中にWPAN発見可能装置210を設定し、使用し、又は維持することが可能である。
【００４９】
図４Ｃは、WPAN発見可能装置（例えば、Bluetooth発見可能装置）のプロビジョニング及びオンボーディングを行うための第３の例示的な技術を詳細に示すメッセージング図404である。この例では、ホストコントローラ110は、プロビジョニング及びオンボーディングの対象となる第２のWPAN発見可能装置470のWPAN範囲（例えば、BLE範囲）内にないが、（プロビジョニング及びオンボーディングが既に行われている）第１のWPAN発見可能装置460は、該第２のWPAN発見可能装置のWPAN範囲内にある。図４Ｃの動作は、該第１のWPAN発見可能装置460のプロビジョニング及びオンボーディングが行われた直後に又はその後に行うことが可能である。
【００５０】
ステップ414で、第２のWPAN発見可能装置470は、その存在をWPAN（例えば、BLE）上で広告し、アドバタイズメント（例えば、BLEアドバタイズメント）を交換することにより第１のWPAN発見可能装置460によって発見される。
【００５１】
ステップ424で、第１のWPAN発見可能装置460は、宅内LAN（例えば、Wi-Fiネットワーク）150のネットワーククレデンシャル（例えば、SSID及びパスワード等のWi-Fiクレデンシャル）を該宅内LAN150を介してホストコントローラ110から受信する。
【００５２】
ステップ434で、第１のWPAN発見可能装置460は、宅内LANのネットワーククレデンシャルを宅内LANを介して第２のWPAN発見可能装置470に転送して、宅内LAN150に対する該第２のWPAN発見可能装置470のインターフェースのプロビジョニングを行う。
【００５３】
ステップ444で、ホストコントローラは、第２のWPAN発見可能装置470の存在を宅内LAN150を介してモバイルアプリケーション162に通知する。モバイルアプリケーション162は、第２のWPAN発見可能装置210がホームオートメーションシステムに追加されることを示すユーザからの入力、並びにユーザにより提供されたコンフィギュレーション情報（例えば、装置が関連付けられた部屋及び／又は該装置の１つ以上の相互接続）を受信する。かかる情報は、モバイルアプリケーション162のプロビジョニング及びコンフィギュレーションUIで受け取ることが可能である。
【００５４】
ステップ454で、モバイルアプリケーション162は、第２のWPAN発見可能装置470のコンフィギュレーション情報を宅内LANを介してホストコントローラ110に送信することが可能である。ホストコントローラ110は、第２のWPAN発見可能装置470のコンフィギュレーション情報をホームデータベース130に追加することが可能であり、及びかかるホームデータベース130に対する更新に応じて、その新しい情報をクラウドサービス180により維持されるコンフィギュレーションデータベース186に同期させることが可能である。
【００５５】
その後、ステップ464で、ホストコントローラ110は、宅内LAN150上でアドバタイズメント（例えば、Wi-Fiアドバタイズメント）を第２のWPAN発見可能装置470と交換し、通信を確立し、及び宅内LAN150を介して制御メッセージを送信して、ホームオートメーションシステムの稼働中に第２のWPAN発見可能装置470を設定し、使用し、又は維持することが可能である。
【００５６】
図５は、IP発見可能装置220のプロビジョニング及びオンボーディングを行うための例示的な技術を詳細に示すメッセージング図500である。この例では、IP発見可能装置220は箱から出されて電源が入れられたばかりであることが想定されているが、同様の技術を使用して既存の装置を更新させ及び／又は自己修復させることが可能である。図５の操作は、ホストコントローラのプロビジョニング及びオンボーディングが行われた直後に又はその後に行うことが可能である。
【００５７】
ステップ510で、ホストコントローラ110は、（例えば、SSDP（Simple Service Discovery Protocol）等のIP発見プロトコルを使用して）IP発見可能装置220に関して宅内LAN（例えばWi-Fiネットワーク）150をスキャンし、及び該宅内LAN上でアドバタイズメント（例えば、Wi-Fiアドバタイズメント）を交換して通信を確立する。
【００５８】
ステップ520で、ホストコントローラ110は、IP発見可能装置220の存在をモバイルアプリケーション162に報告し、該モバイルアプリケーション162がユーザに通知することが可能である。
【００５９】
ステップ530で、モバイルアプリケーション162は、IP発見可能装置220がホームオートメーションシステムに追加されることを示すユーザからの入力、並びにユーザにより提供されたコンフィギュレーション情報（例えば、装置が関連付けられている部屋及び／又は該装置の１つ以上の相互接続）を受信する。かかる情報は、モバイルアプリケーション162のプロビジョニング及びコンフィギュレーションUIで受け取ることが可能である。かかる情報を受信すると、モバイルアプリケーション162は、該コンフィギュレーション情報を宅内LAN150を介してホストコントローラ110に転送することが可能である。ホストコントローラ110は、該コンフィギュレーション情報をホームデータベース130に追加することが可能であり、及びホームデータベース130に対するかかる更新に応じて、その新しい情報を、クラウドサービス180により維持されるコンフィギュレーションデータベース186に同期させることが可能である。
【００６０】
その後、ステップ540で、ホストコントローラ110は、宅内LAN150上でアドバタイズメント（例えば、Wi-Fiアドバタイズメント）をIP発見可能装置220と交換して通信を確立し、及び宅内LAN150を介して制御メッセージを送信して、ホームオートメーションシステムの稼働中にIP発見可能装置220を設定し、使用し、又は維持することが可能である。
【００６１】
図６は、例示的なホームオートメーションシステム600を示す図であり、図３ないし図５に関して説明した技術を共に使用してホストコントローラ110及びWPAN発見可能装置610-650（その一部はWPAN（例えば、BLE）範囲内にあり、他の一部はその範囲外にある）のプロビジョニングを行う態様の一例を示している。図６では、操作の全体的な流れをより明確に理解できるように特定のアドバタイズメントとメッセージが概略的に示されている。
【００６２】
ステップ601で、モバイルアプリケーション162は、WPAN（例えば、BLE）を介してホストコントローラ110のプロビジョニングを行う。ステップ602で、ホストコントローラ110は、該ホストコントローラ110のWPAN範囲（例えば、BLE範囲）内にある第１のWPAN発見可能装置610及び第２のWPAN発見可能装置620を発見する。ステップ603で、ホストコントローラ110は、第１のWPAN発見可能装置610のプロビジョニングをWPANを介して行い、及びステップ604で、第２のWPAN発見装置620のプロビジョニングをWPANを介して行う。ステップ605で、定期的なWPANスキャンの間に、第２のWPAN発見可能装置620が、ホストコントローラ110からWPAN範囲外にある（モバイルアプリケーション162の範囲外でもよい）第３のWPAN発見可能装置630を発見する。ステップ606で、第２のWPAN発見可能装置620が、宅内LAN150を介してホストコントローラ110にネットワーククレデンシャルを要求し、ステップ607で、ホストコントローラ110は、宅内LAN150を介してネットワーククレデンシャルで応答する。ステップ608で、第２のWPAN発見可能装置620は、WPANを介して第３のWPAN発見可能装置630のプロビジョニングを行う。
【００６３】
ユーザは、第４のWPAN発見可能装置640及び第５のWPAN発見可能装置650のプロビジョニングが行われていないことに気付くことができる。第４のWPAN発見可能装置640及び第５のWPAN発見可能装置650は、ホストコントローラ110、既にプロビジョニングが行われているWPAN発見可能装置610-630、及びモバイルアプリケーション162（モバイルデバイス160がその元の位置に配置されている場合）のWPAN範囲（例えば、BLE範囲）外にあることが可能である。ステップ609で、ユーザは、モバイルアプリケーション162が第４のWPAN発見可能装置640のWPAN範囲内に入るように、モバイルアプリケーション162（より詳細には該モバイルアプリケーション162を実行しているモバイルデバイス160）を移動させる。ステップ610で、モバイルアプリケーション162は、WPANを使用して第４のWPAN発見可能装置640を発見する。ステップ611で、モバイルアプリケーション162は、宅内LAN150を介してホストコントローラ110にネットワーククレデンシャルを要求し、ステップ612で、ホストコントローラ110が宅内LAN150を介してネットワーククレデンシャルで応答する。ステップ613で、モバイルアプリケーション162は、WPANを介して第４のWPAN発見可能装置640のプロビジョニングを行う。
【００６４】
ステップ614で、定期的なWPANスキャンの間に、第４のWPAN発見可能装置640は、ホストコントローラ110及びモバイルアプリケーション162からWPAN範囲外にある第５のWPAN発見可能装置650を発見する。ステップ615で、第４のWPAN発見可能装置640は、宅内LAN150を介してホストコントローラ110にネットワーククレデンシャルを要求し、ステップ616で、ホストコントローラ110は、宅内LAN150を介してネットワーククレデンシャルで応答する。ステップ617で、第４のWPAN発見可能装置640は、WPANを介して第５のWPAN発見可能装置650のプロビジョニングを行う。
【００６５】
図６の例示的な動作シーケンスから分かるように、ホームオートメーションシステムの全ての装置が宅内LANを使用するようにそれら装置のプロビジョニングが行われるまで、ホームコントローラ110（又はモバイルアプリケーション162）のWPAN範囲内にない装置をカバーするように装置間でプロビジョニングをカスケードする（連鎖的に行う）ことが可能である。
【００６６】
図７は、当初は宅内LAN（例えば、Wi-Fiネットワーク）150上でアクセス可能であったが（例えば、データの破損、ソフトウェアの「ロックアップ（動かなくなること）」、又はその他の誤りに応じて）リセット（例えば、工場出荷時設定にリセット）されてそのネットワーククレデンシャルを失った装置を、図３ないし図５に関して説明した技術を共に使用して自己修復させる態様の一例を提供する例示的なホームオートメーションシステム700を示す図である。第５のWPAN発見可能装置650がリセットされてそのネットワーククレデンシャルを失ったものと仮定する。ステップ701で、第５のWPAN発見可能装置650は、該装置がプロビジョニングを必要としていることを示すアドバタイズメントをWPAN（例えば、BLE）上に送信する。ステップ702で、ホストコントローラ110は、第５のWPAN発見可能装置650がもはや宅内LAN（例えば、Wi-Fiネットワーク）150上でアクセス可能でないことを検出し、該装置をWPAN上で発見しようと試みるが、該装置がホストコントローラ110のWPAN範囲（例えば、BLE範囲）外にあるため、その発見に失敗する。ステップ703で、定期的なWPANスキャンの間に、第４のWPAN発見可能装置640が、該第５のWPAN発見可能装置650を発見し、アドバタイズメントを受信して応答する。ステップ704で、該第４のWPAN発見可能装置640は、宅内LAN150を介してホストコントローラ110にネットワーククレデンシャルを要求し、ステップ705で、ホストコントローラ110は、宅内LAN150を介してネットワーククレデンシャルで応答する。ステップ706で、第４のWPAN発見可能装置640は、WPANを介して第５のWPAN発見可能装置650のプロビジョニングを行う。該第５のWPAN発見可能装置650は、ネットワーククレデンシャルを使用して宅内LAN150に再参加し、ホストコントローラ110と再び通信することが可能となる。
【００６７】
図８Ａないし図８Ｃは、モバイルデバイス160の表示画面上に表示することが可能なモバイルアプリケーション162のプロビジョニング及びコンフィギュレーションUIの一連の例示的なスクリーンショット810-880である。該スクリーンショット810-880は、プロビジョニング及びコンフィギュレーションUIの特定の例示的な動作のみを表したものであり、ホームオートメーションシステムの装置のプロビジョニング及びオンボーディングを行う際に遭遇し得る様々な異なる状況をカバーするように多種多様な他の画面を表示することが可能であることが理解されよう。画面810で、ユーザは、クラウドサービス180でアカウントを作成し、次いで画面820で該アカウントにログインすることが可能である。画面830で、ホストコントローラ110とのプロビジョニング及びオンボーディングを開始するようユーザに促し、及びホストコントローラをコンセントに繋いでWPAN（例えば、BLE）範囲内に移動するよう要求することが可能である。画面840で、ホストコントローラ110がWPAN上で成功裏に発見されたことをユーザに通知することが可能である。更に、モバイルアプリケーション162は、検出された宅内LAN（例えば、Wi-Fiネットワーク）150の少なくとも第１のネットワーククレデンシャル（例えば、SSID）を自動的に発見し、ユーザにそれが正しいことを確認するよう促すことが可能である。画面850で、検出された宅内LAN150のための第２のネットワーククレデンシャル（例えば、パスワード）を提供するようユーザに促すことが可能である。画面860で、ホーム名（home name）を提供するようユーザに促すことが可能である。次いでホストコントローラ110のプロビジョニングを行うことが可能である。画面870で、モバイルアプリケーション162及び／又はホストコントローラ110が装置をスキャンしていることをユーザに通知することが可能である。かかる装置は、その検出と同様にそのプロビジョニングを行うことも可能である。画面880で、検出された装置について、該装置のオンボーディングを行うためのコンフィギュレーション情報（例えば、該装置が関連付けられた部屋、該装置の１つ以上の相互接続など）を提供するようユーザに促すことが可能である。提供されたコンフィギュレーション情報は、ホストコントローラ110に渡し、コンフィギュレーションエンジン275により処理し、及びホームデータベース130に追加することが可能である。
●システムコンフィギュレーションの生成
再び図２を参照すると、ホストコントローラ110は、オンボーディングが行われる装置のコンフィギュレーション情報を受信すると、該コンフィギュレーション情報をコンフィギュレーションインターフェース260によりコンフィギュレーションエンジン275に渡し、該コンフィギュレーションエンジン275がホームデータベース130に格納されるシステムコンフィギュレーションを生成し又は更新して、ホームオートメーションシステムにおいて１つ以上のサービスを提供する際に該装置を使用することを可能にする。
【００６８】
図９は、サービスを提供するようホームオートメーションシステムを設定するためにコンフィギュレーションエンジン275により実行することが可能な例示的な一連のステップ900を示すフローチャートである。ステップ910で、ホームオートメーションシステムの装置のコンフィギュレーション情報を受信すると、コンフィギュレーションエンジン275は、それぞれの装置の能力を（例えば、そのタイプの装置の装置プロファイルを参照することにより）決定することが可能である。ステップ920で、コンフィギュレーションエンジン275は、複数の装置間の相互接続の指示に基づき、ホームオートメーションシステムを介した接続経路に沿った全ての利用可能な能力の順序付けされたリストを蓄積することが可能である。ステップ930で、コンフィギュレーションエンジン275は、該蓄積された順序付けされたリストを、サービスを提供するために必要とされる能力を定義した一組の規則と比較し、その一致に基づき、ホームオートメーションシステムにより提供することができる提供可能なサービスのリストを決定する。ステップ940で、コンフィギュレーションエンジン275は、該提供可能なサービスのリストを（例えば、ユーザによりモバイルアプリケーション162のプロビジョニング及びコンフィギュレーションUIに提供された）ユーザの嗜好に基づいてフィルタリングしてサービスのリストを生成することが可能である。次いでステップ950で、該リストの各サービス毎に、コンフィギュレーションエンジン275が、各要素の能力に基づいてサービスに送信することができる一組のコマンドを決定することが可能である。前記サービスのリスト及び前記コマンドのリストは、（コンフィギュレーション情報自体と共に）ホームデータベース130に格納することが可能である。ホームオートメーションシステムの進行中の動作の間、この情報を制御プロセス270により使用して、サービスを制御するための適当なIP制御メッセージ（及びIR、RS232などの他のタイプの制御メッセージ）を生成すること、並びにモバイルデバイス162上に表示し及びサービスを制御するためにユーザが使用することが可能な制御UIの適当なUI要素を生成することが可能となる。
●結論
上記で提供した開示に対して様々な適応及び変更をなし得ることを理解されたい。上述した実施形態は、照明装置、セキュリティ装置、A/V装置、電子ドアロック、HVAC装置などの様々な異なるタイプの装置を含むホームオートメーションシステムを含むことが可能であるが、本技術は、より限定されたタイプのホームオートメーションシステムでの使用に適合させることが可能である。例えば、本技術は、照明制御のみを提供するホームオートメーションシステム（すなわち、照明制御システム）、A/V制御のみを提供するホームオートメーションシステム（すなわち、A/V制御システム）、又は別のタイプのより限定されたホームオートメーションシステムで使用することが可能である。
【００６９】
更に、上述した実施形態は、様々なソフトウェアプロセスが特定の装置（例えば、ホストコントローラ110、リモコン124、又はモバイルデバイス160など）上で実行できることを示唆しているが、ソフトウェアプロセスは、クラウドサービス180の一部としてのクラウドベースのハードウェアを含む様々なハードウェアデバイスで実行できることが理解されよう。特に、モバイルアプリケーション162がモバイルデバイス160上で実行されることが上記で議論されているが、モバイルアプリケーションは、特定のリモコン124又はその他の携帯型の電子装置上で実行することも可能であることが理解されよう。
【００７０】
更に、WPANの一例としてBLEを説明したが、様々なプロトコルを実行する多種多様な他のネットワークタイプ（例えば、クラシックBluetooth、ワイヤレスUSB、INSTEAON、Z-Wave、ZigBeeなど）をBLEの代わりに又はBLEと共にWPANのために使用することが可能であることが理解されよう。
【００７１】
同様に、宅内LAN150の一例としてWi-Fiネットワークを上記で説明したが、様々なプロトコルを実行する多種多様な他のネットワークタイプ（例えば、有線Ethernetなど）をWi-Fiの代わりに又はWi-Fiと共に宅内LANのために使用することが可能であることが理解されよう。
【００７２】
更に、ソフトウェアで実施するよう上記で提案した機能の少なくとも一部をハードウェアで実施することが可能であることが理解されよう。一般に、機能は、ソフトウェア、ハードウェア、又はそれらの様々な組み合わせで実施することが可能である。ソフトウェアによる実施形態は、揮発性メモリ又は持続性メモリ、ハードディスク、コンパクトディスク（CD）、又はその他の有形の媒体といった非一時的な電子デバイス読み取り可能媒体（例えば、非一時的なコンピュータ読み取り可能媒体）に格納された電子デバイス実行可能命令（例えば、コンピュータ実行可能命令）を含むことが可能である。ハードウェアによる実施形態は、論理回路、特定用途向け集積回路、及び／又はその他のタイプのハードウェア要素を含むことが可能である。更に、ソフトウェア／ハードウェアの組み合わせによる実施形態は、非一時的な電子デバイス読み取り可能媒体に格納された電子デバイス実行可能命令と、例えば、プロセッサ、メモリなどの１つ以上のハードウェア要素との両方を含むことが可能である。とりわけ、上記実施形態は例示としてのみ解釈されることが意図されていることを理解されたい。
【図１】
2018534644.tif 000003
【図２】
2018534644.tif 000004
【図３】
2018534644.tif 000005
【図４Ａ】
2018534644.tif 000006
【図４Ｂ】
2018534644.tif 000007
【図４Ｃ】
2018534644.tif 000008
【図５】
2018534644.tif 000009
【図６】
2018534644.tif 000010
【図７】
2018534644.tif 000011
【図８Ａ】
2018534644.tif 000012
【図８Ｂ】
2018534644.tif 000013
【図８Ｃ】
2018534644.tif 000014
【図９】
2018534644.tif 000015
【国際調査報告】
2018534644.tif 000016
2018534644.tif 000017
2018534644.tif 000018