詳細な説明
本明細書に開示される実施形態に従うと、WiFi接続を用いてユーザの存在および不在を判断することにより、或るWiFiデバイスによる同じ環境内でのWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断を用いて、当該WiFiデバイスに関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断することが可能となり得る。当該環境内のWiFiアクセスポイントは、WiFiデバイスによる接続および切断の時間を含む報告をクラウドコンピューティングシステムに送信し得る。クラウドコンピューティングシステムは、WiFiアクセスポイントとの接続およびWiFiアクセスポイントからの切断の時間を用いてWiFiデバイスについての報告を照合して、当該WiFiデバイスがWiFiアクセスポイントに接続される期間と、WiFiアクセスポイントから切断される期間とを決定し得る。クラウドコンピューティングシステムは、接続の期間および切断の期間にルールを適用して、これらの期間が、当該ルールの適用時点でWiFiデバイスおよびその関連付けられたユーザが当該環境に存在しているかまたは不在であるかを示しているかどうかを判断し得る。WiFiデバイスによる同じ環境におけるWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断を当該環境における他のデバイスからの信号とともに用いることで、そのWiFiデバイスによるWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断を使用すべきかどうかを判断して、そのWiFiデバイスに関連付けられたユーザが環境に存在しているかまたは不在であるかを判断してもよい。
環境はいくつかのWiFiアクセスポイントを含み得る。環境は、たとえば、家、オフィス、アパート、または他の構造物などの構造物であってもよく、閉鎖空間と開放空間との組合わせを含み得る。WiFiアクセスポイントは、環境全体にわたって分散されてもよく、たとえば、メッシュネットワークまたはハブ・アンド・スポークネットワークを形成し得る。WiFiアクセスポイントは、ローカルエリアネットワーク(local area network:LAN)、およびワイドエリアネットワーク(wide area network:WAN)、たとえばインターネットなどにアクセスするWiFiアクセスポイントに接続するWiFiデバイスを備え得る。WANへのアクセスは、WiFiアクセスポイントが、たとえば、有線モデムまたは無線モデムへの接続を介してアクセスし得る任意の好適な有線または無線のWAN接続を介して提供され得る。
WiFiアクセスポイントがWiFi信号を同報通信および受信することが可能であり得る範囲は重複するエリアを含み得るので、結果として、環境内に、WiFiデバイスがWiFiアクセスポイントのうちの複数のアクセスポイントに接続することが可能となり得るエリアが得られることとなる。たとえば、家屋は3階分のフロアを有する場合があり、各フロアに位置する単一のWiFiアクセスポイントを含み得る。1階の特定のエリア内のWiFiデバイスは、家屋の1階および2階にあるWiFiアクセスポイントのいずれかに接続することが可能であり得る。
WiFiデバイスは、環境内のWiFiアクセスポイントに接続し得るとともに、WiFiアクセスポイントから切断され得る。WiFiデバイスは、たとえば、電話、タブレット、ラップトップ、腕時計もしくは他のウェアラブルデバイス、またはWiFi対応の追跡タグなどの、WiFiデバイスがWiFiネットワークに接続することを可能にするWiFi無線機を含む任意の好適なデバイスであり得る。WiFiデバイスが環境内で移動し、当該環境に入ったり当該環境から出たりする際、当該WiFiデバイスは、WiFiデバイスの位置およびWiFiアクセスポイントの範囲に応じて環境全体にわたってさまざまなWiFiアクセスポイントに接続し得るとともにさまざまなWiFiアクセスポイントから切断され得る。たとえば、WiFiデバイスは家屋の3階から始まっていてもよく、そのフロアにあるWiFiアクセスポイントに接続し得る。WiFiデバイスは、家屋の2階に移動すると、3階のWiFiアクセスポイントから切断されて、2階のWiFiアクセスポイントに接続し得る。WiFiデバイスは、家屋の1階に移動すると、2階のWiFiアクセスポイントから切断されて、1階のWiFiアクセスポイントに接続し得る。WiFiデバイスは家屋から出ると、1階のWiFiアクセスポイントから切断され得る。その後、WiFiデバイスが再び家屋に入ると、1階のWiFiアクセスポイントに接続し得る。
或る環境内のWiFiアクセスポイントは、WiFiデバイスによってWiFiアクセスポイントとの接続およびWiFiアクセスポイントからの切断を報告し得る。これらの接続および切断は、たとえばインターネット接続を介して、当該環境から遠隔であり得るクラウドコンピューティングシステムに報告されてもよい。WiFiアクセスポイントは、WiFiデバイスの接続および切断をリアルタイムで報告し得る。たとえば、家屋の3階のWiFiアクセスポイントは、接続に成功するとWiFiデバイスの接続をクラウドコンピューティングシステムに報告し得るとともに、切断を検出するとWiFiデバイスの切断を報告し得る。WiFiアクセスポイントによるWiFiデバイスの切断の検出は、WiFiデバイス上で行なわれるので実際の切断からは遅れる可能性がある。
クラウドコンピューティングシステムに送信されるWiFiデバイスの接続および切断の報告は、WiFiデバイスについての識別子と、WiFiアクセスポイントについての識別子と、報告が接続のためのものであるかまたは切断のためのものであるかについての指示と、WiFiアクセスポイントが接続または切断を検出した時間とを含む、任意の好適なデータを含み得る。WiFiアクセスポイントについての識別子は、クラウドコンピューティングシステムが同じ環境内のさまざまなWiFiアクセスポイントからの報告を区別することを可能にし得る任意の好適な識別子であり得る。WiFiアクセスポイントについての識別子は、たとえば、WiFiアクセスポイントのコンポーネントのMACアドレスに基づき得るか、またはユーザによってWiFiアクセスポイントに割当てられた識別子であり得る。
WiFiデバイスについての識別子はプライバシー保護型識別子であってもよく、クラウドコンピューティングシステムがWiFiデバイスについての報告を他のWiFiデバイスについての報告から区別することを可能にし得るが、WiFiデバイス自体またはWiFiデバイスのユーザを確実に識別することができない可能性がある。たとえば、識別子は、WiFiデバイスのメディアアクセス制御(media access control:MAC)アドレスに基づき得るものであって、たとえば、クラウドコンピューティングシステムが環境内のWiFiアクセスポイントから報告を受信することを可能にするためにユーザがオプトインする際に生成されるソルト化されたハッシュ化MAC(salted hashed MAC:SHMAC)に基づき得る。WiFiデバイスのためのSHMACは、たとえば、WiFiアクセスポイントによって生成され得るとともに、WiFiデバイスについての報告に含めてクラウドコンピューティングシステムに送信され得る。ユーザはまた、SHMAC、またはWiFiデバイスについての他の任意の好適な識別子を、直接、WiFiアクセスポイントまたはクラウドコンピューティングシステムに入力してもよい。SHMACは、同じSHMACを含むクラウドコンピューティングシステムが受信したすべての報告が同じWiFiデバイスについての報告であると見なすことを可能にし得るが、たとえば、物理的なWiFiデバイスを識別するのに使用可能なそのMACアドレスまたは他のこのような識別子を決定することによって、クラウドコンピューティングシステムがWiFiデバイスを識別することができなくなる可能性がある。
ユーザは、クラウドコンピューティングシステムが環境内のユーザの存在の有無を判断する際に用いるべきWiFiデバイスを指定し得る。指定されたWiFiデバイスは、環境内のWiFiデバイスのユーザの存在または不在についての指標として機能するものと見なされ得る。WiFiアクセスポイントは、指定されたWiFiデバイスについての報告のみをクラウドコンピューティングシステムに送信してもよく、または、すべてのWiFiデバイスについての報告をクラウドコンピューティングシステムに送信してもよい。クラウドコンピューティングシステムは、指定された各WiFiデバイスについての識別子を受信してもよく、これにより、クラウドコンピューティングシステムは、どの報告がどのWiFiデバイスに属するかを判断することが可能になり得るが、物理的なWiFiデバイスのいずれも識別することができなくなる可能性がある。同様に、クラウドコンピューティングシステムは、WiFiデバイスの個々のユーザを識別することができない可能性がある。別個のWiFiデバイスは各々、別個のユーザに関連付けられると見なされ得るが、クラウドコンピューティングシステムに対してユーザが明確に識別されない可能性がある。WiFiデバイスの存在の有無は、そのWiFiデバイスに関連付けられたユーザの存在の有無を示すものと見なされてもよい。
WiFiアクセスポイントはまた、接続および切断についての予め送信されていた報告を更新し得る。たとえば、WiFiアクセスポイントは、WiFiデバイスが或る期間中にWiFiアクセスポイントにデータを送信していなかった場合、WiFiデバイスが切断されたことを検出し得る。場合によっては、WiFiデバイスは、依然としてWiFiアクセスポイントに接続され得るとともに、WiFiアクセスポイントがクラウドコンピューティングシステムに切断を報告した後にWiFiアクセスポイントにデータを送信し始め得る。WiFiアクセスポイントは、切断の報告と報告の更新との間の期間中にWiFiデバイスが切断されなかったことを示すように報告を更新し得る。
クラウドコンピューティングシステムは、環境内のWiFiアクセスポイントから受信したWiFiデバイスによる接続および切断についての報告を用いて、環境内におけるWiFiデバイスのユーザの存在または不在を判断し得る。クラウドコンピューティングシステムは、同じWiFiデバイスについての識別子を有する報告を照合し得る。クラウドコンピューティングシステムは、報告に含まれる接続および切断の時間を用いて、WiFiデバイスが環境内のWiFiアクセスポイントの各々に接続されている期間と、WiFiデバイスが環境内のいずれのWiFiアクセスポイントにも接続されていない任意の期間とを決定し得る。これにより、WiFiデバイスのための接続シーケンスが生成され得る。クラウドコンピューティングシステムは、次いで、接続シーケンス内の期間にルールを適用して、当該ルールが接続シーケンスに適用された時点でWiFiデバイスのユーザが環境内に存在しているかまたは不在であるかを判断し得る。たとえば、WiFiデバイスが第1のしきい値期間を超える期間中に環境内の単一のWiFiアクセスポイントに接続されている場合、クラウドコンピューティングシステムは、WiFiデバイスに関連付けられたユーザがその期間中に環境内に存在していたと判断し得る。WiFiデバイスが、第1のしきい値期間を超える期間中に環境内の単一のWiFiアクセスポイントに接続されていない場合、WiFiデバイスが環境内の任意のWiFiアクセスポイントに接続されていた総時間量が決定され得る。総時間量が第1のしきい値期間を超える場合、クラウドコンピューティングシステムは、WiFiデバイスに関連付けられたユーザがその期間中に環境内に存在していたと判断し得る。WiFiアクセスポイントのうちの1つから切断された後、WiFiデバイスが、第2のしきい値期間を超える時間量にわたって環境内のWiFiアクセスポイントのうちのいずれにも接続しない場合、クラウドコンピューティングシステムは、WiFiデバイスに関連付けられたユーザが環境内に不在であると判断し得る。第1のしきい値期間および第2のしきい値期間は任意の好適な方法で決定される任意の好適な長さの時間であり得る。
WiFiデバイスが高速でWiFiアクセスポイントに接続されたりWiFiアクセスポイントから切断されたりする場合、デバウンスが用いられ得る。デバウンスは、WiFiアクセスポイントの範囲の端にあるWiFiデバイスを示し得る、高速連続生成された複数の報告を除去し得るものであって、接続と切断との間で往復して行なわれる。たとえば、WiFiデバイスがWiFiアクセスポイントの範囲の端にある場合、WiFiデバイスは、そのWiFiアクセスポイントに対する接続および切断を繰返し得ることで、WiFiアクセスポイントに接続および切断の報告を繰返し生成させ得る。クラウドコンピューティングシステムは、たとえば、いくつかの報告が同じWiFiデバイスについての識別子を有している場合、WiFiアクセスポイントからの報告を無視することによってデバウンスしてもよく、さらに、互いに近すぎる切断と再接続との時間は、たとえば、WiFiアクセスポイントの範囲の端にあるWiFiデバイスを示し得るいくつかの小さいしきい値を下回る期間によって分離される。
クラウドコンピューティングシステムは、当該クラウドコンピューティングシステムが報告を受信する別個の各WiFiデバイスに基づいて、存在または不在を別個に判断し得る。たとえば、クラウドコンピューティングシステムが或る環境内のWiFiアクセスポイントから2つの異なるSHMACをもつ2つの異なるWiFiデバイスについての報告を受信する場合、クラウドコンピューティングシステムは、2つの別個のWiFiデバイスおよびそれらの関連付けられたユーザについての存在または不在を判断し得る。第1のWiFiデバイスについての判断は、2つの異なるSHMACのうちの第1のSHMACを含む報告に基づいて行なわれ得るとともに、第2のWiFiデバイスについての判断は、2つの異なるSHMACのうちの第2のSHMACを含む報告に基づいて行なわれ得る。
クラウドコンピューティングシステムは、任意の好適な時間に存在または不在の判断を更新し得る。たとえば、クラウドコンピューティングシステムは、或るWiFiデバイスについての新しい報告がWiFiアクセスポイントから受信されるたびに、またはそのWiFiデバイスについての以前の報告が更新されるたびに遡及的に、当該WiFiデバイスについての報告に基づいて行なわれる存在または不在の判断を更新し得る。これにより、クラウドコンピューティングシステムが、その時点での存在または不在の両方の判断を維持すること、および、以前に行なわれた判断を遡及的に調整することが可能となり得るので、時間が経過しても維持される存在および不在についての記録がより正確になり得る。
クラウドコンピューティングシステムは、任意の好適な方法で、関連するWiFiデバイスに基づいて判断されたユーザの存在または不在を用いてもよい。たとえば、環境は、クラウドコンピューティングシステムから直接制御され得るかまたは環境内に位置するハブコンピューティングデバイスなどのコンピューティングデバイスを介して制御され得る制御可能なデバイス、たとえば、照明、センサ、セキュリティ機器、ロック、A/V機器、HVACシステム、およびブラインドなどの電動デバイスなどを含み得る。クラウドコンピューティングシステムは、環境内に存在しているかまたは存在していないと判断されたユーザに基づいて、制御可能なデバイスを制御するための制御信号を生成してもよく、または、制御可能なデバイスのための制御信号を生成するために用いられ得る存在および不在についての判断を環境内のコンピューティングデバイスに送信してもよい。
いくつかの実現例では、ユーザが当該ユーザの存在または不在を判断するためにどのWiFiデバイスを用いるべきかをクラウドコンピューティングシステムに伝える代わりに、クラウドコンピューティングシステムは、同じ環境内のWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断と、当該環境内の他のデバイスからの信号とに基づいて、どのWiFiデバイスを用いるべきかを判断し得る。或る環境内におけるいくつかのWiFiデバイスの接続および切断は、当該環境内にユーザが存在しているかまたは不在であるかについての優れた指標ではない可能性もある。たとえば、デスクトップコンピュータ、WiFi内蔵型テレビ、ゲームコンソール、他のWiFi対応機器、ならびにA/V機器および電気機器などのいくつかのWiFiデバイスは主に据置型であり得る。これらのWiFiデバイスは、ほとんどの時間、単一のWiFiアクセスポイントに接続されたままであり得るので、これらのWiFiデバイスに関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断する際に有用でない可能性がある。たとえば、ラップトップおよびタブレットなどのいくつかのWiFiデバイスは、環境内を動き回って、当該環境内のさまざまなWiFiアクセスポイントに対して接続および切断を行なう可能性があるが、ごくまれに、または決して、環境を離れない可能性もあるため、ユーザが環境内に不在であるかどうかを判断する際にさほど有用でない可能性もある。加えて、いくつかのWiFiデバイスが環境に出入りすることもあるが、これは、場合によっては環境の訪問者がこれらWiFiデバイスを所持し得る場合に起こり得る。
WiFiアクセスポイントは、これらのWiFiアクセスポイントに接続したりこれらのWiFiアクセスポイントから切断されたりするすべてのWiFiデバイスについての報告をクラウドコンピューティングシステムに送信し得る。WiFiデバイスは、たとえば、WiFiアクセスポイントによってWiFiデバイスについて判断されるSHMACなどのプライバシー保護型識別子を用いて識別され得る。クラウドコンピューティングシステムは、WiFiデバイスのSHMACを認識し得るだけであって、WiFiアクセスポイントの報告からWiFiデバイスについての他の如何なる識別データも受信し得ない。
クラウドコンピューティングシステムは、WiFiアクセスポイントからの報告を用いて、さまざまなWiFiデバイスによるWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断に関するデータを判断し得る。クラウドコンピューティングシステムは、たとえば、報告が受信される各WiFiデバイスごとに、たとえば24時間の期間などの設定された期間にわたって行なわれる当該WiFiデバイスの接続および切断の回数を決定してもよい。クラウドコンピューティングシステムは、たとえば、報告が受信される各WiFiデバイスごとに、WiFiデバイスが環境内の任意のWiFiアクセスポイントに接続される時間スパンと、同様に、WiFiデバイスが環境内の任意のWiFiアクセスポイントに接続されない時間スパンとを決定し得る。クラウドコンピューティングシステムは、たとえば、報告が受信される各WiFiデバイスごとに、設定された期間にわたって環境内でWiFiデバイスが接続するさまざまなWiFiアクセスポイントの数と、WiFiデバイスが環境内のWiFiアクセスポイント間で行なう移行の回数とを決定し得る。クラウドコンピューティングシステムは、たとえば、報告が受信される各WiFiデバイスごとに、WiFiデバイスが各WiFiアクセスポイントに接続される別個の時間量を決定し得る。
クラウドコンピューティングシステムはまた、環境内の他のデバイスからデータを受信し得る。環境は、たとえば、ハブコンピューティングデバイスを含んでもよい。ハブコンピューティングデバイスは、環境内のセンサおよび他のシステム、たとえば自動化システムなど、を管理するための任意の好適なコンピューティングデバイスであり得る。ハブコンピューティングデバイスは、たとえば、環境用のコントローラであってもよい。たとえば、ハブコンピューティングデバイスは、環境内に位置するサーモスタット、セキュリティハブ、または他のコンピューティングデバイスであり得るかまたはこれを含み得る。ハブコンピューティングデバイスはまた、環境内の別のデバイスであってもよく、または、たとえばインターネットを介して環境内のデバイスに接続され得るとともに当該環境を管理する専用の別個のコンピューティングデバイスであってもよい。ハブコンピューティングデバイスは、任意の好適な有線接続、無線接続、ローカルエリア接続、およびワイドエリア接続を介して、環境または構造物全体に分散されたいくつかのセンサおよび制御可能なデバイスに接続され得る。たとえば、当該環境のハブコンピューティングデバイス、センサ、および他のコンポーネントはメッシュネットワークで接続され得る。センサのいくつかは、たとえば、動きの検出に用いられる受動型赤外線センサを含むモーションセンサ、光センサ、カメラ、マイクロフォン、通路センサ、光スイッチであり得るとともに、さらには、電話、タブレット、ラップトップまたはフォブなどのデバイスの存在を検出するためのセンサとしてBluetooth(登録商標)、WiFi、RFID、または他の無線デバイスを用い得るモバイルデバイススキャナであり得る。センサは、個別に分散されてもよく、またはセンサデバイス内の他のセンサと組合わされてもよい。たとえば、センサデバイスは、低電力モーションセンサおよび光センサ、またはマイクロフォンおよびカメラ、または入手可能なセンサの他の任意の組合せを含み得る。
ハブコンピューティングデバイスは、環境全体にわたってセンサおよび他のデバイスからデータを含む信号を受信し得るとともに、これらの信号からのデータをクラウドコンピューティングシステムに送信し得る。データは、たとえば、環境の外部ドアを監視するセンサによって検出される開閉イベントと、環境の外部ドアの周囲の領域を監視するモーションセンサによって検出される動きと、照明、電化製品、およびA/V機器を含むデバイスが、ハブコンピューティングデバイスまたはクラウドコンピューティングシステムによる自動制御によってではなくユーザからの入力に基づいてオンまたはオフにされた時間を示すデータと、ユーザが環境内に存在しているか、不在であるか、入ってきたのか、または出ていったのかを示し得る他の任意の好適なデータとを含み得る。いくつかの実現例では、ハブコンピューティングデバイスが全体的に、クラウドコンピューティングシステムのうち環境から離れた場所に位置するとともに計算能力を有する部分であり得るので、センサおよび他のデバイスからのデータはWiFiアクセスポイントを介して当該クラウドコンピューティングシステムに直接送信され得る。
クラウドコンピューティングシステムは、WiFiデバイスから直接他のデータを受信し得る。たとえば、WiFiデバイスは、そのユーザによって、ジオロケーションデータ、およびジオロケーションデータを用いて決定されたデータをクラウドコンピューティングシステムに送信することが許可され得る。ジオロケーションデータは、全地球測位システム(Global Position System:GPS)無線を用いる方法、またはセルラー方式もしくはWiFiの三角測量を用いる方法を含む任意の好適な方法で、WiFiデバイスによって取得され得る。ジオロケーションデータは、たとえばジオフェンシングのために用いられてもよい。WiFiデバイスまたはクラウドコンピューティングシステムは、WiFiデバイスについてのジオロケーションデータを用いて、当該WiFiデバイスがいつジオフェンスを横断したか、またはジオフェンスによって囲まれたエリアにいつ出入りしたかを判断し得る。ジオフェンスは、たとえば、環境の周りのジオフェンスであってもよく、このため、WiFiデバイスによるジオフェンスの出口の横断は、WiFiデバイスと当該WiFiデバイスに関連付けられたユーザとが環境を出ていったことを示し得る。WiFiデバイスから直接受信されるデータは、環境内のWiFiアクセスポイントを介して、環境外のWiFiアクセスポイントを介して、またはセルラーデータ接続などの他のデータ接続を介して送信され得る。
いくつかの実現例では、クラウドコンピューティングシステムはまた、Bluetooth(登録商標)無線機を有するWiFiアクセスポイントからデバイスのBluetooth(登録商標)無線機による接続および切断についての報告を受信し得る。たとえば、追跡タグはBluetooth(登録商標)無線機を含んでもよく、当該Bluetooth(登録商標)無線機は、追跡タグが環境内を動き回るのに応じて当該環境内のWiFiアクセスポイントのBluetooth(登録商標)無線機に接続したりこれから切断されたりし得る。
クラウドコンピューティングシステムは、さまざまなWiFiデバイスによるWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断に関する決定されたデータ、環境内の他のデバイスおよびセンサから受信したデータ、ならびにWiFiデバイスから直接受信したデータ、たとえばジオロケーションデータなどを用いて、環境内のユーザの存在または不在を判断するのにどのWiFiデバイスを用いるべきかを判断し得る。たとえば、クラウドコンピューティングシステムは機械学習システムを含んでもよい。機械学習システムは任意の好適な機械学習システムであってもよく、たとえば、深層学習ニューラルネットワークなどの人工ニューラルネットワーク、ベイジアンネットワーク、サポートベクトルマシン、任意のタイプの分類器、または他の任意の好適な統計的もしくはヒューリスティックな機械学習システムタイプなどであり得る。機械学習システムは、教師ありもしくは教師なしのオフライントレーニングを受けた可能性のあるトレーニング済み機械学習システムであってもよく、または、教師ありまたは教師なしのオンライン学習を用いる機械学習システムであってもよい。
WiFiアクセスポイントに対するさまざまなWiFiデバイスの接続および切断に関して決定されたデータ、環境内の他のデバイスおよびセンサから受信されたデータ、ならびにWiFiデバイスから直接受信されたジオロケーションデータなどのデータは、機械学習システムへの入力データとしてクラウドコンピューティングシステムによって用いられ得る。機械学習システムは、環境におけるWiFiデバイスのユーザの存在または不在を判断するためにクラウドコンピューティングシステムが用いるべきであるWiFiデバイスの指示を含み得るデータを生成および出力し得る。
入力データは、任意の好適な方法で機械学習システムに入力され得る。たとえば、入力データは、入力データの第1のセットが他の任意のWiFiデバイスではなく第1のWiFiデバイスに関するデータを含むことで、結果として第1のWiFiデバイスのみに関する出力データが得られるように、かつ、入力の第2のセットが他の任意のWiFiデバイスではなく第2のWiFiデバイスに関するデータを含み得ることで、結果として第2のWiFiデバイスのみに関する出力データが得られるように、WiFiデバイスによって分割され得る。出力データは、たとえば、WiFiデバイスの任意のユーザ(たとえば、WiFiデバイスの特定のユーザもしくはWiFiデバイスの予想されるユーザであり得るユーザのグループ)についての環境内における存在もしくは不在を判断するのにクラウドコンピューティングシステムにとってWiFiデバイスが有用となるであろう確率であり得るか、または、環境内の任意のユーザの存在もしくは不在を判断するためにクラウドコンピューティングがWiFiデバイスを用いるべきであるか否かについての2進表現の指示であり得る。
たとえば、クラウドコンピューティングシステムは、SHMACによって識別される2つのWiFiデバイスについての報告を環境内のWiFiアクセスポイントから受信し得る。第1のWiFiデバイスはたとえば電話機であってもよく、第2のWiFiデバイスはたとえばラップトップであってもよく、但し、報告はSHMACによってWiFiデバイスを特定し得るだけであるので、クラウドコンピューティングシステムはWiFiデバイスの各々のタイプを認識しない可能性もある。クラウドコンピューティングシステムは、電話機およびラップトップによるWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断に関するデータを決定し得る。クラウドコンピューティングシステムはまた、環境内の他のデバイスおよびセンサからデータを受信し得るとともに、これらのデバイスのSHMACによってのみ識別され得るデータを電話機およびラップトップから直接受信し得る。クラウドコンピューティングシステムは、最初に、電話機についてのWiFiアクセスポイント報告から電話機について判断されたデータを、電話機から直接受信した任意のデータならびに環境内の他のデバイスおよびセンサからのデータとともに、機械学習システムに入力し得る。機械学習システムは、電話機に関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断するために電話機がクラウドコンピューティングシステムによって用いられるべきかどうかの指示を出力し得る。当該指示は、たとえば、電話機を用いるべきである信頼度のレベルを示し得る確率であり得るか、または、電話機を用いるべきであるかどうかについての2進表現「yes」(はい)/「no」(いいえ)の指示であり得る。クラウドコンピューティングシステムは、次いで、ラップトップに関して判断されたデータを、ラップトップから直接受信した任意のデータならびに環境内の他のデバイスおよびセンサからのデータとともに機械学習システムに入力してもよく、当該機械学習システムは、ラップトップに関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断するためにクラウドコンピューティングシステムがラップトップを用いるべきかどうかについての指示を出力してもよい。
入力データはまた、任意の数のWiFiデバイスについてのデータを含み得る。これにより、結果として、機械学習システムが、たとえば、環境内におけるユーザの存在または不在を判断するためにWiFiデバイスのいずれかを用いるべきかどうかに関する確率のベクトルまたは2進表現の指標であり得る出力データを生成することとなり得る。機械学習システムからの出力データは、SHMACによって任意のWiFiデバイスを識別し得る。たとえば、入力データは電話機およびラップトップの両方についてのデータを含み得るとともに、機械学習システムは2つの値を含むベクトルを出力し得る。これら2つの値のうちの一方の値は、電話機に関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断するためにクラウドコンピューティングシステムが電話機を用いるべきかどうかを示すものであり、他方の値は、ラップトップに関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断するためにクラウドコンピューティングシステムがラップトップを用いるべきかどうかを示すものである。ベクトル内の値は、たとえば、確率または2進表現の指標であり得る。
入力データは、任意の好適な時点で機械学習システムに入力され得る。たとえば、クラウドコンピューティングシステムは、任意のWiFiデバイスについての新しい報告がWiFiアクセスポイントのうちのいずれかから受信されるたびに、新しいデータが環境内のいずれかのセンサもしくはデバイスから受信されるたびに、または新しいデータがWiFiデバイスのいずれかから直接受信されるたびに、いつでも入力データを更新し得る。クラウドコンピューティングシステムは、いずれかの更新の直後に、または入力データを何回かの設定回数分だけ更新した後に、機械学習システムへの入力として更新済みの入力データを用いてもよい。クラウドコンピューティングシステムはまた、たとえば、1時間に1回などの時間間隔に基づいて機械学習システムに入力データを入力してもよい。更新された入力データに基づく機械学習システムからの出力データを用いて、環境におけるユーザの存在または不在を判断するためにクラウドコンピューティングシステムがどのWiFiデバイスを用いるかを更新し得る。たとえば、ユーザが古い電話機を新しい電話機と交換する場合、入力データの更新は新しい電話機による接続および切断についての報告を示し得る一方で、古い電話機は、その最後の切断についての報告の後、決して再接続することはない。この更新された入力データに基づく機械学習システムからの出力データは、環境内のユーザの存在または不在を判断するために新しい電話機を用いるべきであることと、古い電話機をもはや用いるべきでないことを示し得る。
いくつかの実現例では、WiFiアクセスポイントは、当該WiFiアクセスポイントがオンにされてアクティブであることを示すための信号をクラウドコンピューティングシステムに送信し得る。これらの信号は、たとえば、WiFiアクセスポイントがオンでありアクティブである間、指定された間隔で送信され得る心拍についての報告であり得る。心拍についての報告が何らかの期間中にWiFiアクセスポイントから受信されない場合、WiFiアクセスポイントはオフであるかまたは非アクティブであると見なされ得る。WiFiアクセスポイントが最初にオフであるかまたは非アクティブであると見なされたときにWiFiアクセスポイントに接続されていたWiFiデバイスのための接続シーケンスは、機械学習システムがそのWiFiアクセスポイントへの接続を用いるべきではないことを示すように更新され得る。機械学習システムは、他のいずれかの利用可能なデータに基づいて存在または不在についての指示を出力してもよい。オフであるかまたは非アクティブであるWiFiアクセスポイントがあまりにも多過ぎると見なされる場合、機械学習システムは、WiFiデバイスについての存在または不在の判断を行なうのに充分なデータを利用することができないことを示す「未知の」存在または不在についての指示を出力してもよい。
いくつかの実現例では、機械学習システムは、環境のためのハブコンピューティングデバイスの一部であり得る。WiFiアクセスポイントからの報告、環境内のデバイスおよびセンサからのデータ、ならびにWiFiデバイスから直接受信されるデータはすべて、ハブコンピューティングデバイスによって受信され得る。環境におけるユーザの存在または不在を判断するために既に用いられているWiFiデバイスについてのWiFiアクセスポイントからの報告だけがクラウドコンピューティングシステムに送信され得る。ハブコンピューティングデバイスは、さまざまなWiFiデバイスによるWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断に関するデータを決定し得るとともに、決定されたデータを、環境内の他のデバイスおよびセンサから受信したデータならびにWiFiデバイスから直接受信したデータとともに、機械学習システムのための入力データとして用いてもよい。環境内のユーザの存在または不在を判断するためにどのWiFiデバイスを用いるべきかを示す機械学習システムからの出力データは、WiFiアクセスポイントがどの報告をクラウドコンピューティングシステムに送信すべきかを制御するためにハブコンピューティングデバイスによって用いられてもよい。
図1Aは、開示される主題の一実現例に従った、WiFi接続を用いてユーザの存在および不在を判断するのに適した例示的なシステムを示す。クラウドコンピューティングシステム100は、報告プロセッサ110と、ルールエンジン120と、ストレージ140とを含み得る。クラウドコンピューティングシステム100は、報告プロセッサ110、ルールエンジン120、およびストレージ140を実現するための、たとえば図9に説明されるようなコンピュータ20などの任意の好適なコンピューティングデバイスまたはシステムであってもよい。クラウドコンピューティングシステム100は、たとえば、任意のエリアにわたって分散されるとともに任意の好適な方法で接続されるコンピューティングデバイスの任意の好適な組合わせを用いてクラウドコンピューティングサービスを提供するサーバシステムであってもよい。報告プロセッサ110は、WiFiアクセスポイントから報告を受信するとともに当該報告を処理して接続シーケンス145を生成するためのハードウェアまたはソフトウェアの任意の好適な組合せであり得る。ルールエンジン120は、存在/不在の指示を生成するために接続シーケンス145にルールを適用するためのハードウェアとソフトウェアとの任意の好適な組合せであり得る。ストレージ140は、揮発性ストレージおよび不揮発性ストレージを実現するためのハードウェアとソフトウェアとの任意の好適な組合せであり得るとともに、接続シーケンス145を格納し得る。
環境150はWiFiアクセスポイント171、172、および173を含み得る。環境150は、たとえば、家またはオフィスなどの構造物であってもよく、屋内空間と屋外空間との組合わせを含んでもよい。WiFiアクセスポイント171、172、および173は、WiFiを備えたデバイスが接続し得るWiFi LANを設けるための任意の好適なデバイスであり得る。WiFiアクセスポイント171、172、および173は、メッシュネットワークを形成し得るか、またはハブ・アンド・スポークネットワークの一部であり得るとともに、たとえば、任意の好適な有線接続または無線接続を通じてWiFiアクセスポイント171、172、および173のうちの1つ以上に接続された有線モデムまたは無線モデムを介して、インターネットなどのWANに接続され得る。
WiFiデバイス191および192は、たとえば、スマートフォン、タブレット、ウェアラブルデバイス、または他のポータブルWiFi装備デバイスであり得る。ユーザは、WiFiデバイス191および192のユーザが環境150に存在しているかまたは不在であるかを判断するためにWiFiデバイス191および192を用いるべきであることをクラウドコンピューティングシステム100に示し得る。WiFiデバイス191はWiFiアクセスポイント171に接続され得る。WiFiデバイス192はWiFiアクセスポイント172に接続され得る。WiFiデバイス191は環境150内を動き回り得る。WiFiデバイス191がWiFiアクセスポイント171から遠ざかってWiFiアクセスポイント172へと向かって進む場合、WiFiデバイス191は、WiFiアクセスポイント172に接続し得るとともにWiFiアクセスポイント171から切断され得る。WiFiアクセスポイント171は、WiFiデバイス191がWiFiアクセスポイント172にすでに接続した後にWiFiデバイス191が切断されたことを検出し得る。WiFiデバイス191は、引き続き、環境150内を通って、WiFiアクセスポイント172から遠ざかってWiFiアクセスポイント173に向かって進み得る。WiFiデバイス191がWiFiアクセスポイント172から遠ざかってWiFiアクセスポイント173に向かって進む場合、WiFiデバイス191は、WiFiアクセスポイント173に接続し得るとともにWiFiアクセスポイント172から切断され得る。WiFiアクセスポイント172は、WiFiデバイス191がWiFiアクセスポイント173にすでに接続した後にWiFiデバイス191が切断されたことを検出し得る。WiFiデバイス191は、引き続き、WiFiアクセスポイント173から遠ざかって、WiFiアクセスポイント173から切断され得る一方でWiFiアクセスポイント171および172のいずれにも接続し得ない。WiFiデバイス191の移動中、WiFiデバイス192はWiFiアクセスポイント172に接続されたままであり得る。
WiFiアクセスポイント171、172、および173はクラウドコンピューティングシステム100に報告を送信し得る。これらの報告は、WiFiデバイス191および192などの環境150内のWiFiデバイスによるWiFiアクセスポイント171、172、および173対する接続および切断の時間を含み得る。当該報告は、任意の好適な時間もしくは間隔で、または任意の好適なイベントに基づいて送信され得る。たとえば、WiFiアクセスポイント171、172、および173は、WiFiデバイスの接続もしくは切断を検出するたびに新しい報告を送信してもよく、または、任意の好適な長さの間隔で新しい報告を送信してもよい。当該報告は、たとえば、WiFiデバイスについて決定されたSHMACなどのプライバシー保護型識別子を用いてWiFiデバイスを識別し得る。たとえば、WiFiアクセスポイント171は、WiFiデバイス191が最初にWiFiアクセスポイント171に接続するときにクラウドコンピューティングシステム100に報告を送信してもよい。当該報告は、WiFiデバイス191のためのSHMACと、WiFiアクセスポイント171についての識別子と、接続が報告されているという指示と、接続の時間とを含み得る。WiFiアクセスポイント171は、同様に、WiFiデバイス191がWiFiアクセスポイント171から切断されたと判断すると、報告を送信し得る。WiFiアクセスポイント172は、WiFiデバイス192の接続、WiFiデバイス191の接続、およびWiFiデバイス191のその後の切断を伝える報告をクラウドコンピューティングシステム100に送信し得る。WiFiアクセスポイント173は、WiFiデバイス191の接続およびその後のWiFiデバイス191の切断を伝える報告をクラウドコンピューティングシステム100に送信し得る。
クラウドコンピューティングシステム100は報告プロセッサ110を含み得る。報告プロセッサ110は、WiFiアクセスポイント171、172、および173などのWiFiアクセスポイントから報告を受信するとともに、接続シーケンス145を生成するように当該報告を処理するためのハードウェアとソフトウェアとの任意の好適な組合せであり得る。報告プロセッサ110は、WiFiデバイス191およびWiFiデバイス192の接続および切断に基づいて生成された報告をWiFiアクセスポイント171、172、および173から受信し得る。報告プロセッサ110は、当該報告を用いてWiFiデバイス191およびWiFiデバイス192のための接続シーケンスを生成および更新し得る。WiFiデバイスのための接続シーケンスは、そのWiFiデバイスに関する報告を報告プロセッサ110が受信するたびに更新され得る。たとえば、WiFiデバイス191がWiFiアクセスポイント171に接続したことを示す報告を受信すると、報告プロセッサ110は、当該報告に示される時間にWiFiアクセスポイント171への接続の指示を追加することによって、WiFiデバイス191のための接続シーケンスを更新し得る。その後、報告プロセッサ110がWiFiデバイス191からの接続を示す報告をWiFiアクセスポイント172から受信すると、報告プロセッサ110は、当該報告に示される時間にWiFiアクセスポイント172への接続の指示を追加することによって、WiFiデバイス191のための接続シーケンスを更新し得る。切断の報告が受信されると、切断が同様に接続シーケンスに追加され得る。報告プロセッサ110によって生成されて更新された接続シーケンス145は任意の好適なフォーマットでストレージ140に格納され得る。
クラウドコンピューティングシステム100はルールエンジン120を含み得る。ルールエンジン120は、ユーザが環境150内に存在していると見なされるべきかまたは不在であると見なされるべきかを示す存在/不在の指示を決定および出力するためのルールを接続シーケンス145に適用するためのハードウェアとソフトウェアとの任意の好適な組合せであり得る。WiFiデバイス191などのWiFiデバイスが第1のしきい値期間を超える期間中に環境150内のWiFiアクセスポイント171などの単一のWiFiアクセスポイントに接続されている場合、ルールエンジン120は、WiFiデバイスに関連付けられたユーザがその期間中に環境150内に存在していたと判断し得る。WiFiデバイスが、第1のしきい値期間を超える期間中に環境150内の単一のWiFiアクセスポイントに接続されていない場合、WiFiデバイスが環境150内の任意のWiFiアクセスポイントに接続されていた総時間量が決定され得る。当該総時間量が第1のしきい値期間を超える場合、ルールエンジン120は、WiFiデバイスに関連付けられたユーザがその期間中に環境150内に存在していたと判断し得る。WiFiデバイスが、WiFiアクセスポイントのうちの1つから切断された後、第2のしきい値期間を超える時間量にわたって環境150内のWiFiアクセスポイントのいずれにも接続していない場合、ルールエンジン120は、WiFiデバイスに関連付けられたユーザが環境150内に不在であると判断し得る。第1のしきい値期間および第2のしきい値期間は、任意の好適な方法で決定される任意の好適な長さの時間であり得る。
たとえば、ルールエンジン120は、WiFiデバイス191がWiFiアクセスポイント172に接続してWiFiアクセスポイント171から切断された後の何らかの時点で、WiFiデバイス191のための接続シーケンスにルールを適用し得る。WiFiデバイス191がWiFiアクセスポイント172に接続されていた時間量は第1のしきい値未満であり得る。WiFiデバイス191がWiFiアクセスポイント171および172に接続されていた総時間量は第1のしきい値よりも大きくなり得る。たとえば、第1のしきい値は5分であってもよく、ルールエンジン120がWiFiデバイス191のための接続シーケンスにルールを適用するとき、WiFiデバイス191は、2分間はWiFiアクセスポイント171に接続されており、3分半の間はWiFiアクセスポイント172に接続されていた可能性がある。したがって、ルールエンジン120は、WiFiデバイス191のユーザが環境150内に存在しているという指示を出力し得る。同様に、ルールエンジン120は、ルールがWiFiデバイス191のための接続シーケンスに適用されるのと同時に、WiFiデバイス192のための接続シーケンスにルールを適用し得る。WiFiデバイス192がWiFiアクセスポイント172に接続されていた時間量は第1のしきい値よりも大きくなり得る。したがって、ルールエンジン120は、WiFiデバイス192のユーザが環境150内に存在しているという指示を出力し得る。その後、ルールエンジン120は、WiFiデバイス191がWiFiアクセスポイント173から切断された後、WiFiデバイス191のための接続シーケンスにルールを適用し得る。WiFiデバイス191が第2のしきい値よりも長い時間長さにわたってWiFiアクセスポイント173から切断されていた場合、ルールエンジン120は、WiFiデバイス191のユーザが環境150内に不在であるという指示を出力し得る。たとえば、第2のしきい値は3分であってもよく、ルールエンジン120がWiFiデバイス191のための接続シーケンスにルールを適用する場合、WiFiデバイス191は、4分間はWiFiアクセスポイント171または172に再接続することなくWiFiアクセスポイント173から切断されていた可能性がある。
ルールエンジン120によって出力される存在/不在の指示は、任意の好適なフォーマットであってもよく、任意の好適な識別子を用いてもよい。たとえば、クラウドコンピューティングシステム100は、WiFiデバイス191および192のSHMACを認識し得るだけであり、WiFiデバイス191および192のいずれのユーザについての如何なる識別データも認識し得ないか、または、特定のユーザを特定のWiFiデバイスと相関させることができない可能性がある。ルールエンジン120によって出力される存在/不在の指示は、SHMACを含み得るとともに、或るWiFiデバイスのユーザが環境150内に存在し得るかまたは不在であり得ることを示す接続シーケンスを有する当該WiFiデバイスに当該SHMACが属するかどうかを示している。異なるWiFiデバイスについての存在/不在の指示は、それらが別々のユーザについての存在/不在の指示であるかのように処理され得る。たとえば、WiFiデバイス191についての存在/不在の指示は、WiFiデバイス192のユーザとは重複しないユーザについての存在/不在の指示として処理されてもよい。いくつかの実現例では、クラウドコンピューティングシステム100は、たとえば、特定のユーザについてのアイデンティティまたはプライバシー保護型識別子をSHMACに関連付けることを可能にすることをユーザが選択することに基づいて、SHMACを当該特定のユーザに関連付けることが可能であり得る。単一の識別されたユーザは複数のSHMACに関連付けられてもよく、これにより、同じユーザに関連付けられたSHMACのためのルールエンジン120によって出力された存在/不在の指示を集約させて、当該ユーザについての存在/不在の判断を行なうようにしてもよい。
ルールエンジン120は、任意の好適な時間に、たとえば、任意の好適な間隔で、または任意の好適なイベントに基づいて、ルールを接続シーケンス145に適用し得る。たとえば、ルールエンジン120は、30秒毎に接続シーケンス145にルールを適用してもよく、または、たとえば、環境150内のさまざまな制御可能なデバイスを如何に制御するかを決定するために環境150内のユーザの存在または不在についての判断が必要であるという、クラウドコンピューティングシステム100の別のコンポーネントからの指示に基づいて、接続シーケンス145にルールを適用してもよい。
図1Bは、開示される主題の一実現例に従った、WiFi接続を用いてユーザの存在および不在を判断するのに適した例示的なシステムを示す。環境150内のWiFiアクセスポイント、たとえば、WiFiアクセスポイント171、172および173は、当該WiFiアクセスポイントに接続するとともに当該WiFiアクセスポイントから切断されるすべてのWiFiデバイスについての報告をクラウドコンピューティングシステム100の報告プロセッサ110に送信し得る。たとえば、WiFiアクセスポイント171、172、および173は、WiFiデバイス191、192、491、および492のいずれかがWiFiアクセスポイント171、172または173のいずれかに接続するかまたはいずれかから切断されると、クラウドコンピューティングシステム100に報告を送信し得る。当該報告は、たとえばSHMACなどのプライバシー保護型識別子を用いてWiFiデバイスを識別し得る。
報告プロセッサ110は、環境150内のWiFiアクセスポイントから受信した報告を処理して、機械学習入力データ445の一部として格納され得るデータを生成および更新し得る。報告プロセッサ110は、たとえば当該報告を用いて、WiFiデバイスが環境150内の各WiFiアクセスポイントに接続される別個の時間量であり得る接続時間451と、設定された期間にわたる環境150内のWiFiアクセスポイントに対するWiFiデバイスの接続および切断の回数のカウントであり得る接続/切断452と、WiFiデバイスが環境150内の任意のWiFiアクセスポイントに接続されたままである時間のスパン、およびWiFiデバイスが環境150内の任意のWiFiアクセスポイントから切断されたままである時間のスパンであり得る接続/切断長さ453と、設定された期間にWiFiデバイスが接続するWiFiアクセスポイントの回数の数、およびその設定された期間にWiFiデバイスによって行なわれるWiFiアクセスポイント間の移行の回数であり得る移行454とを決定し得る。
クラウドコンピューティングシステム100はまた、WiFiデバイスから直接デバイスデータを受信し得る。たとえば、クラウドコンピューティングシステム100は、ジオロケーションデータと、ジオフェンス横断などのジオロケーションデータを用いて決定されるデータとを、WiFiデバイス191、192、491、および492から直接受信してもよい。WiFiデバイスから直接受信されたデータは、WiFiデバイスデータ456として機械学習入力データ445に格納され得る。クラウドコンピューティングシステム100はまた、環境150のセンサおよびデバイスから信号を受信し得る。クラウドコンピューティングシステム100は、当該信号をセンサデータおよびデバイスデータ455としてストレージ140に格納し得る。センサデータおよびデバイスデータ455は機械学習入力データ445の一部として格納され得る。
クラウドコンピューティングシステムは機械学習システム420を含み得る。機械学習システム420は、環境150におけるWiFiデバイスのユーザの存在または不在を判断するためにWiFiデバイスを用いるべきという指示を生成し得る機械学習システムを実現するためのハードウェアとソフトウェアとの任意の好適な組合せであり得る。機械学習システム420は、たとえば、人工ニューラルネットワーク、たとえば深層学習ニューラルネットワーク、ベイジアンネットワーク、サポートベクトルマシン、任意のタイプの分類器、または他の任意の好適な統計的もしくはヒューリスティックな機械学習システムタイプなどであり得る。機械学習システム420は、機械学習入力データ445を入力として受信し得るとともに、環境150内におけるWiFiデバイスのユーザの存在または不在を判断するためにWiFiデバイスを用いるべきという指示を出力し得る。機械学習システム420は、たとえば、教師ありまたは教師なしのオンライン学習またはオフライン学習を含む、任意の好適なタイプの学習を用いて実現されてもよい。
機械学習入力データ445は、任意の好適な方法で機械学習システム420に入力され得る。たとえば、機械学習入力データ445は入力データのセットに分割されてもよく、入力データの別個の各セットは別個のWiFiデバイスに関するデータを含んでいる。入力データの第1のセットは、たとえば、WiFiデバイス191に関するデータを含み得る一方で、入力データの第2のセットはWiFiデバイス491に関するデータを含み得る。入力データの各セットは、機械学習システム420に別々に入力されてもよい。たとえば、WiFiデバイス191についてのデータを含む入力データの第1のセットは機械学習システム420に入力され得る。機械学習システム420は、WiFiデバイス191に関連付けられたユーザが環境150に存在しているかまたは不在であるかを判断するためにWiFiデバイス191が用いられるべきかどうかの指示を出力し得る。当該指示は、たとえば、確率または2進表現の結果であり得る。報告が受信されたすべてのWiFiデバイス(たとえばWiFiデバイス191、192、491、および492など)についてのデータを含む機械学習入力データ445がすべて、同時に機械学習システム420に入力され得る。機械学習システム420は、複数の指示、たとえばWiFiデバイス191、192、491、および492の各々につき1つの指示、を出力し得る。当該指示は、各WiFiデバイスに関連付けられたユーザが環境150内に存在しているかまたは不在であるかを判断するために当該各WiFiデバイスが用いられるべきかどうかを示すものである。
WiFiデバイスに関連付けられたユーザが環境150内に存在しているかまたは不在であるかを判断するためにWiFiデバイスを用いるべきとの指示は、たとえば、機械学習入力データ445内のさまざまなタイプのデータ間の相互関係と、環境150のWiFiアクセスポイントに対する接続および切断に関するデータ中のパターンとに基づき得る。たとえば、WiFiデバイス491は、たとえばデスクトップコンピュータまたはゲームコンソールなどのように固定式であり得る。WiFiデバイス491は、WiFiアクセスポイント171への接続時間が長くなる可能性があるが、切断または移行は行なわれず、WiFiアクセスポイント171へのその接続は、環境150へのユーザの出入り(たとえば、ドアを開閉する状況など)に対応する、環境150内のセンサからの信号との相関関係を示さない可能性もある。これにより、結果として、機械学習システム420が、環境150内の任意のユーザの存在または不在を判断するためにWiFiデバイス491が用いられるべきではないという指示を出力することとなり得る。当該指示は、たとえば、低い確率、または2進表現の「NO」という指示であり得る。WiFiデバイス492は可動式であってもよく、たとえば環境150内のユーザに属する電話機であってもよい。WiFiデバイス492は、WiFiアクセスポイント171、173、および173のすべてに対する接続および切断の時間が長くなる可能性があり、頻繁に接続、切断、および移行を行ない得るとともに、環境150に通じるドアが開閉されていることを示す通路センサからの信号に対応する接続および切断を有し得る。WiFiデバイス492からのジオロケーションデータは、WiFiアクセスポイントからのWiFiデバイス492のいくつかの切断が環境150の周りのジオフェンスについてのジオフェンス出口イベントに対応すること、および、WiFiデバイス492のいくつかの接続が環境150の周りのジオフェンスについてのジオフェンス入口イベントに対応することを示し得る。これにより、結果として、WiFiデバイス492に関連付けられたユーザが環境150内に存在しているかまたは不在であるかを判断するためにWiFiデバイス492が用いられるべきであるという指示を機械学習システムが出力することとなり得る。この指示は、たとえば、いずれの接続シーケンス145をルールエンジン120に入力すべきかを決定する際にクラウドコンピューティングシステム100によって用いられてもよい。
機械学習入力データ445は、たとえば報告プロセッサ110、信号受信機410、およびWiFiデバイスから新しいデータが受信されるのに応じて継続的に更新され得る。更新された機械学習入力データ445は、新しいWiFiデバイスの指示を生成し得る機械学習システム420への入力として用いられ得る。
機械学習システム420によって出力されるWiFiデバイス指示は任意の好適な方法で用いられ得る。クラウドコンピューティングシステム100は、たとえば、環境150内のユーザについての存在/不在の指示を生成するためにルールエンジン120がどの接続シーケンス145にルールを適用すべきかを決定するのにWiFiデバイス指示を用いてもよい。たとえば、WiFiデバイス191および492の関連付けられたユーザが環境150内に存在しているかまたは不在であるかを判断するために当該WiFiデバイス191および492を用いるべきであることを、機械学習システム420によって出力されるWiFiデバイス指示が示している場合、ルールエンジン120はWiFiデバイス191および492のための接続シーケンスにルールを適用し得る。ルールエンジン120は、WiFiデバイス192および491のための接続シーケンスにルールを適用しない可能性もある。なぜなら、これらのWiFiデバイスは、それらの関連するユーザが環境150内に存在するかまたは不在であるかを示す指標としては有用ではない可能性があるからである。これにより、この目的のためにどのWiFiデバイスを用いるべきかをユーザがクラウドコンピューティングシステム100に明確に伝えることを必要とすることなく、ルールエンジン120が有用な存在/不在の指示を生成することが可能となり得る。
図2は、開示される主題の一実現例に従った、WiFi接続を用いてユーザの存在および不在を判断するのに適した例示的な時間フローチャートを示す。WiFiアクセスポイント171は、WiFiデバイス191からの接続が8:30amに発生したことを示す報告を報告プロセッサ110に送信し得る。WiFiアクセスポイント172は、WiFiデバイス191からの接続が8:33amに発生したことを示す報告を報告プロセッサ110に送信し得る。期間210は、WiFiアクセスポイント172に接続する前にWiFiデバイス191がWiFiアクセスポイント171に接続されていた期間であり得る。WiFiアクセスポイント171は、WiFiデバイス191の切断が8:34amに発生したことを示す報告を報告プロセッサ110に送信し得る。期間211は、WiFiデバイス191がWiFiアクセスポイント171から切断されていたとWiFiアクセスポイント171が判断する前にWiFiデバイス191がWiFiアクセスポイント172に接続されていた期間であり得る。WiFiアクセスポイント173は、WiFiデバイス191からの接続が8:36amに発生したことを示す報告を報告プロセッサ110に送信し得る。期間211と組合わされた期間212は、WiFiアクセスポイント173に接続する前にWiFiデバイス191がWiFiアクセスポイント172に接続されていた期間であり得る。WiFiアクセスポイント172は、WiFiデバイス191の切断が8:37amに発生したことを示す報告を報告プロセッサ110に送信し得る。期間213は、WiFiデバイス191がWiFiアクセスポイント172から切断されていたとWiFiアクセスポイント172が判断する前にWiFiデバイス191がWiFiアクセスポイント173に接続されていた期間であり得る。WiFiアクセスポイント173は、WiFiデバイス191の切断が8:40amに発生したことを示す報告を報告プロセッサ110に送信し得る。期間214は、WiFiデバイス191がWiFiアクセスポイント173から切断されていたとWiFiアクセスポイント173が判断する前にWiFiデバイス191がWiFiアクセスポイント173に接続されていた期間であり得る。期間215は、WiFiデバイス191が環境150内のWiFiアクセスポイントのすべてから切断されている期間であり得る。接続シーケンスにおける最新の期間(たとえば、期間215)は常に現在の時間にまで及ぶものとルールエンジン120によって見なされ得る。たとえば、WiFiデバイス191が8:50amにおいてWiFiデバイス171、172、および173のいずれかに接続していたことを示す報告がなく、WiFiデバイス191のための接続シーケンスが8:50amにルールエンジン120に入力される場合、切断の期間215は8:50amにまで延長され得る。
所与の時間にユーザが環境150に存在しているかまたは不在であるかについての指示を決定する際に、ルールエンジン120はその時間に接続シーケンス145にルールを適用し得る。たとえば、ルールエンジン120が8:36amでの存在/不在の指示を決定する場合、ルールエンジン120は、ルールの第1のしきい値および第2のしきい値と照らし合わせて、期間210および211をテストし得るとともに、8:34amと8:36amとの間の期間212の部分をテストし得る。第1のしきい値が5分である場合、ルールエンジン120は、WiFiデバイス191のための接続シーケンスがユーザの存在を示していると判断し得る。なぜなら、WiFiデバイス191が期間210、期間211、および期間212の最初の2分にわたって合計6分の間、WiFiアクセスポイント171および172に接続されていたからである。ルールエンジン120が8:45amにおける存在/不在の指示を決定する場合、ルールエンジン120は第2のしきい値と照らし合わせて期間215をテストし得る。第2のしきい値が4分である場合、ルールエンジン120は、WiFiデバイス191がすべてのWiFiアクセスポイントから5分間にわたって切断されていたので、WiFiデバイス191のための接続シーケンスがユーザの不在を示していると判断し得る。第2のしきい値が6分である場合、ルールエンジン120は、第1のしきい値と照らし合わせて期間210、211、212、213、および214をテストし得るとともに、WiFiデバイス191のための接続シーケンスがユーザの存在を示していると判断し得る。なぜなら、WiFiデバイス191が期間210、211、212、213、および214にわたって合計10分間、WiFiアクセスポイント171、172、および173に接続されていたからである。したがって、第2のしきい値は、WiFiデバイスの切断に基づいてユーザの不在を判断するための遅延期間としての役割を果たし得る。
図3は、開示される主題の一実現例に従った、WiFi接続を用いてユーザの存在および不在を判断するのに適したプロセスの一例を示す。300において、WiFiデバイスによる環境内のWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断に関する報告がWiFiアクセスポイントからクラウドコンピューティングシステムにおいて受信され得る。
302において、環境内のWiFiアクセスポイントから受信した報告内のWiFiデバイスについての接続時間および切断時間を用いて接続シーケンスが更新され得る。
304において、WiFiデバイスが環境内のWiFiアクセスポイントに接続されていた期間またはWiFiアクセスポイントから切断されていた期間に基づいて、WiFiデバイスが環境内に存在していた期間または環境内に不在であった期間を判断するために、接続シーケンスにルールが適用され得る。
306において、WiFiデバイスの存在または不在についての判断に基づいて、ユーザの存在および不在の指示を生成し得る。
図4は、開示される主題の一実現例に従った、WiFi接続を用いてユーザの存在および不在を判断するのに適したプロセスの一例を示す。400において、WiFiデバイスによる環境内のWiFiアクセスポイントへの接続およびWiFiアクセスポイントからの切断に関する報告がWiFiアクセスポイントからクラウドコンピューティングシステムにおいて受信され得る。
402において、接続時間データ、接続/切断カウントデータ、接続/切断長データ、および移行データを含む機械学習入力データが報告から生成され得る。
404において、センサデータおよびデバイスデータがクラウドコンピューティングシステムにおいて受信され、機械学習入力データとともに格納され得る。
406において、ジオロケーションデータならびにジオフェンス入口および出口データを含むデバイスデータがWiFiデバイスから直接受信されて、機械学習入力データとともに格納され得る。
408において、機械学習入力データが機械学習システムに入力され得る。
410において、環境内のユーザの存在または不在を判断するためにどのWiFiデバイスが用いられるべきかを示すWiFiデバイス指示が機械学習システムによって生成され得る。
図5は、開示される主題の一実現例に従った、WiFi接続を用いてユーザの存在および不在を判断するのに適した例示的なシステムを示す。ハブコンピューティングデバイス400は信号受信機410を含み得る。ハブコンピューティングデバイス400は、信号受信機410を実現するための、たとえば、図9に説明されるようなコンピュータ20等の任意の好適なデバイスであり得る。ハブコンピューティングデバイス400は、たとえば、図7に記載されるコントローラ73であってもよい。ハブコンピューティングデバイス400は、単一のコンピューティングデバイスであってもよく、または、接続された複数のコンピューティングデバイスを含んでもよく、たとえば、サーモスタット、他のセンサ、電話機、タブレット、ラップトップ、デスクトップ、テレビ、腕時計であってもよく、もしくは、セキュリティシステムおよび自動化機能を含み得るとともに環境150のためのハブとして機能し得る他のコンピューティングデバイスであってもよい。
環境150はハブコンピューティングデバイス400から制御され得る。ハブコンピューティングデバイス400は、環境全体にわたってさまざまなセンサに接続され得るとともに、HVACシステムなどの環境150内のさまざまなシステムに接続され得る。ハブコンピューティングデバイス400は、ユーザがハブコンピューティングデバイス400と対話するのに経由し得る任意の好適なハードウェアインターフェイスおよびソフトウェアインターフェイスを含み得る。ハブコンピューティングデバイス400は、環境150内に位置してもよく、現場から外れた所に位置してもよく、または環境150および現場から外れた位置の両方に計算デバイスを含んでもよい。現場にあるハブコンピューティングデバイス400は、環境150全体にわたる他のコンピューティングデバイスからの計算リソースを用いてもよく、または、たとえばクラウドコンピューティングプラットフォームの一部としてリモートに接続された他のコンピューティングデバイスからの計算リソースを用いてもよい。
信号受信機410は、環境150の一部であり得るとともにハブコンピューティングデバイス400に接続され得るセンサおよび他の電子デバイスによって生成された信号を受信するためのハードウェアまたはソフトウェアの任意の好適な組合せであり得る。たとえば、信号受信機410は、環境150全体にわたって分散され得るセンサおよびデバイス470から信号を受信し得る。センサおよびデバイス470は、たとえば、モーションセンサ、通路センサ、カメラ、マイクロフォン、光センサ、接触センサ、傾斜センサ、WiFiまたはBluetooth(登録商標)検出器、照明、電化製品、A/V機器、HVACシステム、セキュリティシステム、または、環境150内の他の任意の好適なセンサタイプおよびデバイスタイプの任意の組合わせであり得る。信号受信機410によって受信されるセンサおよびデバイス470からの信号は、たとえば、環境の外部ドアを監視するセンサによって検出される開閉イベントと、環境150の外部ドアの周囲のエリアを監視するモーションセンサによって検出される動きと、照明、電化製品、およびA/V機器を含むデバイスが、ハブコンピューティングデバイス400またはクラウドコンピューティングシステム100による自動制御によってではなくユーザからの入力に基づいて、いつオンまたはオフにされたかを示すデータと、ユーザが環境150内に存在しているか不在であるか、環境150内へと入ってきたのか、または環境150から出ていったのかを示し得る他の任意の好適なデータとを含み得る。当該信号は、たとえば、センサからのアクティブな出力に基づいて、またはセンサからのアクティブな出力がないことに基づいて、センサおよびデバイス470によって生成される信号および他のデータを含み得る。たとえば、モーションセンサは、それが動きを検出するときにアクティブな出力を生成してもよく、それが動きを検出しなければアクティブな出力を生成しなくてもよい。
信号受信機410は、環境150のセンサおよびデバイス470から受信した信号をクラウドコンピューティングシステム100に送信し得る。クラウドコンピューティングシステム100は信号をセンサデータおよびデバイスデータ455としてストレージ140に格納し得る。センサデータおよびデバイスデータ455は機械学習入力データ445の一部として格納され得る。
いくつかの実現例では、機械学習システム420はハブコンピューティングデバイス400上で実行され得る。機械学習入力データ445は、クラウドコンピューティングシステム100のストレージ140の代わりにハブコンピューティングデバイス400のストレージに格納されてもよく、または、ストレージ140はハブコンピューティングデバイス400にアクセス可能であってもよい。機械学習入力データ445がハブコンピューティングデバイス400に格納される場合、ハブコンピューティングデバイス400は、環境150のWiFiアクセスポイントから報告を受信し、WiFiデバイスからデバイスデータを受信し得るとともに、当該報告から接続時間451、接続/切断452、接続/切断長さ453、および移行454を生成するために、報告プロセッサ110と同様の報告プロセッサを含み得る。機械学習システム420によって出力されるWiFiデバイス指示は、クラウドコンピューティングシステム100に送信されてもよく、または、どの報告をクラウドコンピューティングシステム100に送信すべきかを制御するためにハブコンピューティングデバイス400によって用いられてもよい。たとえば、ハブコンピューティングデバイス400は、環境におけるユーザの存在または不在を判断するために用いられるべきであってWiFiデバイス指示が示すWiFiデバイスについての報告だけをクラウドコンピューティングシステム100に送信させてもよい。
報告は環境内のWiFiアクセスポイントから受信され得る。当該報告は、WiFiデバイスの識別子と、WiFiアクセスポイントのうちの1つへの接続またはWiFiアクセスポイントのうちの1つからの切断の指示と、接続または切断の時間と、WiFiアクセスポイントのうちの1つの識別子とを含み得る。WiFiデバイスのための接続シーケンスは当該報告から生成され得る。接続シーケンスは、WiFiデバイスによるWiFiアクセスポイントへの接続の時間とWiFiアクセスポイントからの切断の時間とを含み得る。指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかについては、接続シーケンスにおけるWiFiアクセスポイントのいずれかへの接続の期間と、接続シーケンスにおけるすべてのWiFiアクセスポイントからの切断の期間とに基づいて判断され得る。WiFiデバイスが環境内に存在していると判断された場合、WiFiデバイスに関連付けられたユーザについての存在の指示が生成されてもよく、または、WiFiデバイスが環境内に不在であると判断された場合、WiFiデバイスに関連付けられたユーザについての不在の指示が生成されてもよい。
存在の指示または不在の指示に基づいて、環境内の制御可能なデバイスのための制御信号が生成され得る。当該制御信号は、デバイスによって実現されるように当該デバイスに送信され得る。
指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかについては、WiFiアクセスポイントのいずれかへの接続の期間のうちの1つの期間の開始と指定された時間との間の時間量が第1のしきい値時間量よりも大きく、かつ、当該接続の期間のうちの1つの期間が指定された時間を含む場合、または、WiFiアクセスポイントのいずれかへの接続の2つ以上の連続する期間のうちの最初の期間の開始と指定された時間との間の総時間量が第1のしきい値よりも大きく、かつ、当該2つ以上の連続する期間のうちの最後の期間が指定された時間を含む場合、WiFiデバイスが環境内に存在すると判断することによって、接続シーケンスにおけるWiFiアクセスポイントへの接続の期間と接続シーケンスにおけるWiFiアクセスポイントからの切断の期間とに基づいて、判断され得る。
指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかについては、すべてのWiFiアクセスポイントからの切断の期間のうちの1つの期間の開始との間の時間量が第2のしきい値時間量よりも大きく、かつ、切断の期間のうちの1つの期間が指定された時間を含む場合、WiFiデバイスが環境内に不在であると判断することによって、接続シーケンスにおけるWiFiアクセスポイントへの接続の期間と接続シーケンスにおけるWiFiアクセスポイントからの切断の期間とに基づいて判断され得る。
WiFiデバイスの識別子は、ソルト化されたハッシュ化メディアアクセス制御アドレス(SHMAC)であり得る。
指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかについて、接続シーケンスにおけるWiFiアクセスポイントのいずれかへの接続の期間と接続シーケンスにおけるすべてのWiFiアクセスポイントからの切断の期間とに基づいて判断される前に、WiFiデバイスについての接続時間データ、接続/切断カウントデータ、移行データ、および、接続/切断長データが当該報告から生成されてもよく、センサデータおよびデバイスデータが環境内のセンサまたはデバイスから受信されてもよく、WiFiデバイスに関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断するためにWiFiデバイスが用いられるべきであることを示すWiFiデバイス指示が機械学習システムで生成されてもよく、この場合、WiFiデバイスについての接続時間データ、接続/切断カウントデータ、移行データおよび接続/切断長データ、ならびにセンサデータおよびデバイスデータが機械学習システムに入力される。
追加の報告が環境内のWiFiアクセスポイントから受信され得る。追加の報告は、第2のWiFiデバイスの識別子と、WiFiアクセスポイントのうちの1つへの接続またはWiFiアクセスポイントのうちの1つからの切断の指示と、接続または切断の時間と、WiFiアクセスポイントのうちの1つの識別子とを含み得る。第2のWiFiデバイスについての第2の接続時間データ、第2の接続/切断カウントデータ、第2の移行データ、および第2の接続/切断長データは当該追加の報告から生成され得る。第2のWiFiデバイスに関連付けられた第2のユーザが環境内に存在しているかまたは不在であるかを判断するために第2のWiFiデバイスが用いられるべきではないことを示す第2のWiFiデバイス指示が機械学習システムで生成され得る。この場合、第2のWiFiデバイスについての第2の接続時間データ、第2の接続/切断カウントデータ、第2の移行データ、および第2の接続/切断長データ、ならびにセンサデータおよびデバイスデータが機械学習システムに入力される。
デバイスデータはWiFiデバイスから受信され得る。デバイスデータは機械学習システムに入力され得る。
デバイスデータは、WiFiデバイスについてのジオロケーションデータおよび/またはWiFiデバイスについてのジオフェンスデータを含み得る。
システムは、環境内のWiFiアクセスポイントと、環境内の当該WiFiアクセスポイントから報告を受信するクラウドコンピューティングシステムのコンピューティングデバイスとを含み得る。当該報告の各々は、WiFiデバイスの識別子と、WiFiアクセスポイントのうちの1つへの接続またはWiFiアクセスポイントのうちの1つからの切断の指示と、接続または切断の時間と、WiFiアクセスポイントのうちの1つの識別子とを含む。クラウドコンピューティングシステムのコンピューティングデバイスは、WiFiデバイスのための接続シーケンスを当該報告から生成する。接続シーケンスは、WiFiデバイスによるWiFiアクセスポイントへの接続の時間とWiFiアクセスポイントからの切断の時間とを含む。クラウドコンピューティングシステムのコンピューティングデバイスは、接続シーケンスにおけるWiFiアクセスポイントのいずれかへの接続の期間および接続シーケンスにおけるすべてのWiFiアクセスポイントからの切断の期間に基づいて、指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかを判断し、WiFiデバイスが環境内に存在していると判断された場合、WiFiデバイスに関連付けられたユーザについての存在の指示を生成するか、または、WiFiデバイスが環境内に不在であると判断された場合、WiFiデバイスに関連付けられたユーザについての不在の指示を生成する。
クラウドコンピューティングシステムのコンピューティングデバイスは、存在の指示または不在の指示に基づいて、環境内における制御可能なデバイスのための制御信号を生成し得るとともに、デバイスによって実現されるべき制御信号を当該デバイスに送信し得る。
クラウドコンピューティングシステムのコンピューティングデバイスは、WiFiアクセスポイントのいずれかへの接続の期間のうちの1つの期間の開始と指定された時間との間の時間量が第1のしきい値時間量よりも大きく、かつ、接続の期間のうちの1つの期間が指定された時間を含む場合、または、WiFiアクセスポイントのいずれかへの接続の2つ以上の連続する期間のうちの最初の期間の開始と指定された時間との間の総時間量が第1のしきい値よりも大きく、かつ、2つ以上の連続する期間のうちの最後の期間が指定された時間を含む場合、WiFiデバイスが環境内に存在していると判断することによって、接続シーケンスにおけるWiFiアクセスポイントへの接続の期間およびWiFiアクセスポイントからの切断の期間に基づいて、指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかを判断し得る。
クラウドコンピューティングシステムのコンピューティングデバイスは、すべてのWiFiアクセスポイントからの切断の期間のうちの1つの期間の開始との間の時間量が第2のしきい値時間量よりも大きく、かつ、切断の期間のうちの1つの期間が指定された時間を含む場合、WiFiデバイスが環境内に不在であると判断することによって、接続シーケンスにおけるWiFiアクセスポイントへの接続の期間および接続シーケンスにおけるWiFiアクセスポイントからの切断の期間に基づいて、指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかを判断し得る。
WiFiデバイスの識別子は、ソルト化されたハッシュ化メディアアクセス制御アドレス(SHMAC)を含み得る。
クラウドコンピューティングシステムのコンピューティングデバイスは、接続シーケンスにおけるWiFiアクセスポイントのいずれかへの接続の期間および接続シーケンスにおけるすべてのWiFiアクセスポイントからの切断の期間に基づいて、指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかを判断する前に、WiFiデバイスについての接続時間データ、接続/切断カウントデータ、移行データ、および接続/切断長データを当該報告から生成し、環境内のセンサまたはデバイスからセンサデータおよびデバイスデータを受信し、WiFiデバイスに関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断するためにWiFiデバイスが用いられるべきであることを示すWiFiデバイス指示を機械学習システムで生成する。この場合、WiFiデバイスについての接続時間データ、接続/切断カウントデータ、移行データ、および接続/切断長データ、ならびにセンサデータおよびデバイスデータは機械学習システムに入力され得る。
クラウドコンピューティングシステムのコンピューティングデバイスは、環境内のWiFiアクセスポイントから追加の報告を受信し得る。この場合、追加の報告の各々は、第2のWiFiデバイスの識別子と、WiFiアクセスポイントのうちの1つへの接続またはWiFiアクセスポイントのうちの1つからの切断の指示と、接続または切断の時間と、WiFiアクセスポイントのうちの1つの識別子とを含み得る。クラウドコンピューティングシステムのコンピューティングデバイスはさらに、第2のWiFiデバイスについての第2の接続時間データ、第2の接続/切断カウントデータ、第2の移行データ、および第2の接続/切断長データを追加の報告から生成し得るとともに、第2のWiFiデバイスに関連付けられた第2のユーザが環境に存在しているかまたは不在であるかを判断するために第2のWiFiデバイスが用いられるべきではないことを示す第2のWiFiデバイス指示を機械学習システムで生成し得る。この場合、第2のWiFiデバイスについての第2の接続時間データ、第2の接続/切断カウントデータ、第2の移行データ、および第2の接続/切断長データ、ならびにセンサデータおよびデバイスデータは機械学習システムに入力され得る。
クラウドコンピューティングシステムのコンピューティングデバイスはWiFiデバイスからデバイスデータを受信し得る。デバイスデータは機械学習システムに入力され得る。
デバイスデータは、WiFiデバイスについてのジオロケーションデータと、WiFiデバイスについてのジオフェンスデータとを含み得る。
環境内のWiFiアクセスポイントから報告を受信するための手段が含まれる。この場合、当該報告の各々は、WiFiデバイスの識別子と、WiFiアクセスポイントのうちの1つへの接続またはWiFiアクセスポイントのうちの1つからの切断の指示と、接続または切断の時間と、WiFiアクセスポイントのうちの1つのWiFiアクセスポイントの識別子とを含む。さらに、WiFiデバイスのための接続シーケンスを当該報告から生成するための手段が含まれる。この場合、当該接続シーケンスは、当該WiFiデバイスによる当該WiFiアクセスポイントへの接続の時間および当該WiFiアクセスポイントからの切断の時間を含む。さらに、当該接続シーケンスにおける当該WiFiアクセスポイントのいずれかへの接続の期間および当該接続シーケンスにおけるすべての当該WiFiアクセスポイントからの切断の期間に基づいて、指定された時間にWiFiデバイスが環境内に存在しているかまたは不在であるかを判断するための手段と、WiFiデバイスが環境内に存在していると判断された場合、WiFiデバイスに関連付けられたユーザについての存在の指示を生成するか、または、WiFiデバイスが環境内に不在であると判断された場合、WiFiデバイスに関連付けられたユーザについての不在の指示を生成するための手段と、存在の指示または不在の指示に基づいて環境内の制御可能なデバイスのための制御信号を生成するための手段と、デバイスによって実現されるべき制御信号を当該デバイスに送信するための手段と、WiFiアクセスポイントのいずれかへの接続の期間のうちの1つの期間の開始と指定された時間との間の時間量が第1のしきい値時間量よりも大きく、かつ、接続の期間のうちの当該1つの期間が指定された時間を含む場合、または、WiFiアクセスポイントのいずれかへの接続の2つ以上の連続する期間のうちの最初の期間の開始と指定された時間との間の総時間量が第1のしきい値よりも大きく、かつ、2つ以上の連続する期間のうちの最後の期間が指定された時間を含む場合、WiFiデバイスが環境内に存在していると判断するための手段と、すべてのWiFiアクセスポイントからの切断の期間の1つの期間の開始との間の時間量が第2のしきい値時間量よりも大きく、かつ、切断の期間のうちの当該1つの期間が指定された時間を含む場合、WiFiデバイスが環境内に不在であると判断するための手段と、WiFiデバイスについての接続時間データ、接続/切断カウントデータ、移行データおよび接続/切断長データを報告から生成するための手段と、環境内の1つ以上のセンサまたはデバイスからセンサデータおよびデバイスデータを受信するための手段と、WiFiデバイスに関連付けられたユーザが環境内に存在しているかまたは不在であるかを判断するためにWiFiデバイスが用いられるべきであることを示すWiFiデバイス指示を機械学習システムで生成するための手段とが含まれる。この場合、WiFiデバイスについての接続時間データ、接続/切断カウントデータ、移行データ、および接続/切断長データ、ならびにセンサデータおよびデバイスデータは機械学習システムに入力される。さらに、環境内のWiFiアクセスポイントから追加の報告を受信するための手段が含まれる。この場合、追加の報告の各々は、第2のWiFiデバイスの識別子と、WiFiアクセスポイントのうちの1つへの接続またはWiFiアクセスポイントのうちの1つからの切断の指示と、接続または切断の時間と、WiFiアクセスポイントのうちの1つの識別子とを含む。さらに、第2のWiFiデバイスについての第2の接続時間データ、第2の接続/切断カウントデータ、第2の移行データ、および第2の接続/切断長データを追加の報告から生成するための手段と、第2のWiFiデバイスに関連付けられた第2のユーザが環境内に存在しているかまたは不在であるかを判断するために第2のWiFiデバイスが用いられるべきではないことを示す第2のWiFiデバイス指示を機械学習システムで生成するための手段とが含まれる。この場合、第2のWiFiデバイスについての第2の接続時間データ、第2の接続/切断カウントデータ、第2の移行データ、および第2の接続/切断長データ、ならびにセンサデータおよびデバイスデータが機械学習システムに入力される。さらに、機械学習システムに入力されるデバイスデータをWiFiデバイスから受信するための手段が含まれる。
ここに開示される実施形態は1つ以上のセンサを用いてもよい。一般に、「センサ」は、その環境に関する情報を得ることができる任意のデバイスを指し得る。センサは、それらが収集する情報のタイプによって説明され得る。たとえば、ここに開示されるセンサの種類は、動き、煙、一酸化炭素、近接度、温度、時間、物理的配向、加速度、場所などを含んでもよい。センサはまた、環境情報を取得する特定の物理的デバイスの観点から説明されてもよい。たとえば、加速度計は、加速度情報を取得してもよく、したがって、一般的なモーションセンサおよび/または加速度センサとして用いられてもよい。センサはまた、センサを実現するために用いられる特定のハードウェアコンポーネントの観点から説明されてもよい。たとえば、温度センサは、サーミスタ、熱電対、抵抗温度検出器、集積回路温度検出器、またはそれらの組み合わせを含んでもよい。場合によっては、温度センサが温度の変化および人または動物の存在を検出するために用いられる等の場合、センサは複数のセンサタイプとして順次または同時に動作してもよい。
概して、ここに開示される「センサ」は、位置センサが全地球測位センサ(GPS)と、ロケーション情報を取得するために既知の無線ネットワークと相関させることができるデータを提供する無線ネットワークセンサとの両方を含むなどの場合、複数のセンサまたはサブセンサを含んでもよい。単一のデバイスが動きセンサ、温度センサ、磁気センサ、および/または他のセンサを含む等の場合、複数のセンサを単一の物理的ハウジング内に配置してもよい。このようなハウジングはセンサまたはセンサデバイスと称されてもよい。明確にするために、センサは、それらが実行する特定の機能および/または用いられる特定の物理的ハードウェアに関して、そのような仕様がここに開示される実施形態の理解のために必要とされる場合に説明される。
センサは、環境についての情報を取得する特定の物理的センサに加えてハードウェアを含み得る。図6はここに開示される例示的なセンサを示す。センサ60は、温度センサ、煙センサ、一酸化炭素センサ、モーションセンサ、加速度計、近接度センサ、受動赤外線(passive infrared:PIR)センサ、磁場センサ、無線周波数(radio frequency:RF)センサ、光センサ、湿度センサ、またはセンサ60が位置する環境に関する対応する種類の情報を取得する他の任意の好適な環境センサ等の環境センサ61を含み得る。プロセッサ64は、センサ61によって取得されたデータを受信および分析し、センサ60の他のコンポーネントの動作を制御し、センサと他のデバイスとの間の通信を処理し得る。プロセッサ64は、コンピュータ可読メモリ65に格納された命令を実行し得る。センサ60内のメモリ65または別のメモリはまた、センサ61によって取得された環境データを格納してもよい。Wi-Fiもしくは他の無線インターフェイス、イーサネット(登録商標)または他のローカルネットワークインターフェイスなどの通信インターフェイス63は、センサ60による他のデバイスとの通信を可能にし得る。ユーザインターフェイス(user interface:UI)62は、情報を提供してもよく、および/またはセンサのユーザからの入力を受信してもよい。UI62は、たとえば、センサ60によってイベントが検出されたときに可聴アラームを出力するスピーカを含んでもよい。代替的または付加的には、UI62は、イベントがセンサ60によって検出されたときに起動される照明を含んでもよい。ユーザインターフェイスは、限定出力ディスプレイ等の比較的極小規模のものであってもよく、またはタッチスクリーン等のフル装備型インターフェイスであってもよい。センサ60内のコンポーネントは、当業者によって容易に理解され得るように、内部バスまたは他の機構を介して相互に情報を送受信し得る。1つ以上のコンポーネントは、複数のコンポーネントが単一の集積回路上に実装されるなどの場合、単一の物理的配置で実現されてもよい。ここに開示されるセンサは、他のコンポーネントを含んでもよく、および/または図示される例示的なコンポーネントのすべてを含んでいなくてもよい。
ここに開示されるセンサは、従来の無線ネットワークなどの通信ネットワーク内で、ならびに/または、センサが互いにおよび/もしくは専用の他のデバイスと通信し得るセンサ特有ネットワーク内で動作してもよい。いくつかの構成では、1つ以上のセンサは、1つ以上の他のセンサ、中央コントローラ、または1つ以上のセンサとネットワーク上で通信することができる他の任意のデバイスに情報を提供し得る。中央コントローラは汎用であっても専用であってもよい。たとえば、或るタイプの中央コントローラはホームオートメーションネットワークであって、住宅内の1つ以上のセンサからデータを収集して分析する。中央コントローラの別の例として、機能のサブセット専用の専用コントローラがあり、たとえば、位置に対するさまざまなセキュリティ考慮事項に関係するような、主としてまたは専らセンサデータを収集および分析するセキュリティコントローラなどが挙げられる。中央コントローラは、ホームオートメーションおよび/またはセンサネットワークを含む住宅内に位置付けられる等の場合、中央コントローラが通信してセンサデータを取得するセンサに対してローカルに位置付けられてもよい。代替的には、または加えて、ここに開示されるような中央コントローラは、中央コントローラが、複数の箇所に位置し得るとともに互いに対してローカルであるかまたは遠隔であり得る複数のセンサと通信するクラウドベースのシステムとして実現される等の場合、センサから遠隔であってもよい。
図7は、任意の好適な有線および/または無線の通信ネットワークを介して実現され得る、本明細書中に開示されるようなセンサネットワークの例を示す。1つ以上のセンサ71、72は、Wi-Fiまたは他の好適なネットワークなどのローカルネットワーク70を介して、互いに通信してもよく、および/またはコントローラ73と通信してもよい。コントローラは汎用または専用のコンピュータであり得る。コントローラは、たとえば、センサ71、72から受信した環境情報を受信、集約、および/または分析してもよい。センサ71、72およびコントローラ73は、単一の住居、オフィス空間、建物、部屋などの内部などにおいて互いにローカルに配置されてもよく、またはコントローラ73がクラウドベースの報告および/もしくは分析システムなどの遠隔システム74に実現される等の場合、互いから遠隔にあってもよい。代替的には、または加えて、センサは遠隔システム74と直接通信してもよい。遠隔システム74は、たとえば、複数の場所からのデータを集約してもよく、命令、ソフトウェア更新、および/または集約されたデータをコントローラ73および/またはセンサ71、72に提供してもよい。
たとえば、図1~図10に関してさらに詳細に図示および説明されるように、ハブコンピューティングデバイス400はコントローラ73の一例であり得るとともに、センサ210はセンサ71および72の例であり得る。
開示される主題のセキュリティシステムおよびスマートホーム環境のデバイスは、デバイスが互いに通信するためのネットワークアーキテクチャおよび/またはプロトコルを提供するThread等のメッシュ型ネットワークであり得るネットワーク70を介して通信可能に接続され得る。典型的なホームネットワークは、単一のデバイス通信ポイントを有してもよい。このようなネットワークは、単一のデバイス通信ポイントが正常に動作しない場合にネットワークのデバイスが互いに通信できないように故障する傾向もあり得る。開示される主題のセキュリティシステムにおいて用いられ得るThreadのメッシュ型ネットワークは単一のデバイスを使用する通信を回避してもよい。すなわち、ネットワーク70などのメッシュ型ネットワークでは、ネットワークに結合されたデバイスが互いに通信するのを妨げるために故障する可能性がある単一の通信ポイントが存在しない。
ネットワーク70に通信可能に結合されるデバイスによって用いられる通信およびネットワークプロトコルは、安全な通信を提供し、用いられる電力の量を最小限にし(すなわち、電力効率的であり)、住宅内の多種多様なデバイスおよび/または製品、たとえば、電化製品、アクセス制御、環境制御、エネルギー管理、照明、安全性、およびセキュリティをサポートし得る。たとえば、ネットワークおよびそれに接続されるデバイスによってサポートされるプロトコルは、本質的にIPv6を担持し得るオープンプロトコルを有してもよい。
ネットワーク70などのThreadネットワークはセットアップが容易であり安全に使用できるだろう。ネットワーク70は、認証方式、高度暗号化標準(Advanced Encryption Standard:AES)暗号化などを用いて、他の無線プロトコルに存在するセキュリティホールを削減および/または最小化し得る。Threadネットワークは、デバイス(たとえば、2、5、10、20、50、100、150、200またはそれ以上の個数のデバイス)を、(たとえば、ネットワークの1つ以上のノードが正常に動作していないときにデバイス間の通信を確立するように)複数のホップをサポートする単一のネットワークに接続するようにスケーラブルであり得る。Threadネットワークであり得るネットワーク70はネットワークおよびアプリケーション層においてセキュリティを提供し得る。ネットワーク70に通信可能に結合された1つ以上のデバイス(たとえば、コントローラ73、遠隔システム74など)は、許可されたデバイスのみが確実にネットワーク70に加入できるようにするために製品インストールコードを格納し得る。ネットワーク70の1つ以上の動作および通信は公開鍵暗号法などの暗号法を用いてもよい。
ここに開示されるスマートホーム環境および/またはセキュリティシステムのネットワーク70に通信可能に結合されるデバイスは電力消費が少ない、および/または電力消費が削減されている可能性がある。すなわち、デバイスは互いに効率的に通信し、ユーザに機能を提供するように動作する。この場合、当該デバイスは従来のデバイスよりもバッテリサイズが小さくバッテリ寿命が長くなっている可能性がある。デバイスは、バッテリ寿命を延ばすとともに電力要件を削減するためにスリープモードを含んでいてもよい。たとえば、ネットワーク70に結合されたデバイス間の通信は電力効率の良いIEEE802.15.4 MAC/PHYプロトコルを用いてもよい。開示される主題の実施形態では、ネットワーク70上のデバイス間のショートメッセージングは帯域幅および電力を節約し得る。ネットワーク70のルーティングプロトコルはネットワークオーバーヘッドおよびレイテンシを低減し得る。スマートホーム環境に結合されたデバイスの通信インターフェイスは、低電力で、セキュアで、安定した、および/またはスケーラブルな通信ネットワーク70をサポートするように無線のシステムオンチップを含んでもよい。
図7に示されるセンサネットワークはスマートホーム環境の一例であり得る。図示されるスマートホーム環境は、構造物、家屋、オフィスビル、ガレージ、移動式住宅などを含み得る。センサ71、72、コントローラ73、およびネットワーク70などの、スマート環境のデバイスは、アパート、コンドミニアム、またはオフィス空間などの構造物全体を含まないスマートホーム環境に統合されてもよい。
スマート環境は構造物の外部のデバイスを制御してもよく、および/または当該デバイスに結合されてもよい。たとえば、センサ71、72のうちの1つ以上は、構造物の外部に、たとえば、当該構造物から1以上の間隔を空けた位置に(たとえば、センサ71、72は構造物の外側に配置されてもよい)、当該構造物が位置する土地の周囲に沿った点などに、配置されてもよい。スマート環境内のデバイスのうちの1つ以上は物理的にその構造物内にある必要はない。たとえば、センサ71、72から入力を受信し得るコントローラ73は構造物の外側に位置してもよい。
スマートホーム環境の構造物は、壁を介して互いに少なくとも部分的に分離された複数の部屋を含み得る。壁は内壁または外壁を含み得る。各部屋はさらに、床および天井を含み得る。スマートホーム環境のデバイス、たとえばセンサ71、72などは、構造物の壁、床、もしくは天井に取り付けられてもよく、一体化されてもよく、および/または支持されてもよい。
図7に示されるセンサネットワークを含むスマートホーム環境は、ホームセキュリティ機能およびスマートホーム機能を提供するために、互いにおよび/または中央サーバもしくはクラウドコンピューティングシステム(たとえば、コントローラ73および/または遠隔システム74)とシームレスに統合することができる、インテリジェントな、マルチセンシングの、ネットワーク接続されたデバイスを含む複数のデバイスを含んでもよい。スマートホーム環境は、1つ以上のインテリジェントな、マルチセンシングの、ネットワーク接続されたサーモスタット(たとえば、「スマートサーモスタット」)と、1つ以上のインテリジェントな、ネットワーク接続された、マルチセンシングのハザード検出ユニット(たとえば、「スマートハザード検出器」)と、1つ以上のインテリジェントな、マルチセンシングの、ネットワーク接続された進入路インターフェイスデバイス(たとえば、「スマートドアベル」)とを含み得る。スマートハザード検出器、スマートサーモスタット、およびスマートドアベルは図7に示されるセンサ71、72であってもよい。
開示される主題の実施形態に従うと、スマートサーモスタットは、周囲の気候特性(たとえば、温度および/または湿度)を検出し得るとともに、それに応じて構造物のHVAC(暖房、換気、および空調)システムを制御し得る。たとえば、周囲の気候特性は図7に示されるセンサ71、72によって検出されてもよく、コントローラ73は構造物のHVACシステム(図示せず)を制御してもよい。
スマートハザード検出器は、危険物質または危険物質を示す物質(たとえば、煙、火、または一酸化炭素)の存在を検出し得る。たとえば、煙、火、および/または一酸化炭素は、図7に示されるセンサ71、72によって検出されてもよく、コントローラ73は、スマートホーム環境のユーザに視覚的アラームおよび/または可聴のアラームを与えるようにアラームシステムを制御してもよい。
スマートドアベルは、ドアベル機能を制御し、ある場所(たとえば、構造物への外側ドア)への人の接近または構造物から人の出発を検出し、たとえば、コントローラ73に結合されたスピーカおよび/またはディスプレイによって出力される可聴および/または視覚メッセージを介して、構造物への人の接近または構造物からの人の出発を通知してもよい。
いくつかの実施形態では、図7に示すセンサネットワークのスマートホーム環境は、1つ以上のインテリジェントな、マルチセンシングの、ネットワーク接続された壁スイッチ(たとえば、「スマート壁スイッチ」)、1つ以上のインテリジェントな、マルチセンシングの、ネットワーク接続された壁プラグインターフェイス(たとえば、「スマート壁プラグ」)を含み得る。スマート壁スイッチおよび/またはスマート壁プラグは図7に示されるセンサ71、72であってもよい。スマート壁スイッチは、周囲の照明条件を検出し得るとともに、1つ以上の照明の電力状態および/または減光状態を制御し得る。たとえば、センサ71、72は周囲照明条件を検出してもよく、コントローラ73はスマートホーム環境内の1つ以上の照明(図示せず)への電力を制御してもよい。スマート壁スイッチはまた、天井ファンなどのファンの出力状態または速度を制御し得る。たとえば、センサ71、72は、ファンの出力および/または速度を検出してもよく、コントローラ73は、それに応じてファンの出力および/または速度を調整してもよい。スマート壁プラグは、(たとえば、スマートホーム環境内に誰もいないことが検出される場合、電力がプラグに供給されないように)1つ以上の壁プラグへの電力の供給を制御し得る。たとえば、スマート壁プラグの1つがランプ(図示せず)への電力の供給を制御してもよい。
開示される主題の実施形態では、スマートホーム環境は、1つ以上のインテリジェントな、マルチセンシングの、ネットワーク接続された進入検出器(たとえば、「スマート進入検出器」)を含み得る。図7に示されるセンサ71、72はスマート進入検出器であってもよい。図示のスマート進入検出器(たとえば、センサ71、72)は、スマートホーム環境の1つ以上の窓、ドア、および他の進入ポイントに配置されて、窓、ドア、または他の進入ポイントがいつ開かれ、破壊され、侵入され、および/またはセキュリティ侵害されたかを検出し得る。スマート進入検出器は、窓またはドアが開かれたり、閉じられたり、侵入されたり、および/またはセキュリティ侵害されたりしたときに、コントローラ73および/または遠隔システム74に提供されるべき対応する信号を生成し得る。開示される主題のいくつかの実施形態では、コントローラ73とともに含まれ得る、および/またはネットワーク70に結合され得るアラームシステムは、すべてのドア、窓、進入路などが閉じられていること、および/またはすべてのスマート進入検出器が警備状態になっていることをすべてのスマート進入検出器(たとえば、センサ71、72)が示すのでなければ警備状態になり得ない。
図7に示すセンサネットワークのスマートホーム環境は、1つ以上のインテリジェントな、マルチセンシングの、ネットワーク接続されたドアノブ(たとえば、「スマートドアノブ」)を含み得る。たとえば、センサ71、72は、ドアのドアノブ(たとえば、スマートホーム環境の構造物の外部ドア上に位置するドアノブ122)に結合されてもよい。しかしながら、スマートドアノブをスマートホーム環境の外部ドアおよび/または内部ドア上に設けることができることを理解されたい。
スマートサーモスタット、スマートハザード検出器、スマートドアベル、スマート壁スイッチ、スマート壁プラグ、スマート進入検出器、スマートドアノブ、キーパッド、およびスマートホーム環境の他のデバイスは、(たとえば、図7のセンサ71、72として図示されるように)スマート環境のためのセキュリティ、安全性および/または快適性を提供するように、ネットワーク70を介して互いに、ならびにコントローラ73および/または遠隔システム74に通信可能に結合され得る。
ユーザは、ネットワーク接続されたスマートデバイスのうちの1つ以上と(たとえば、ネットワーク70を介して)対話することができる。たとえば、ユーザは、コンピュータ(たとえば、デスクトップコンピュータ、ラップトップコンピュータ、タブレット等)または他のポータブル電子デバイス(たとえば、スマートフォン、タブレット、キーFOB等)を用いて、ネットワーク接続されたスマートデバイスのうちの1つ以上と通信することができる。ウェブページまたはアプリケーションは、ユーザから通信を受信し、当該通信に基づいて、ネットワーク接続されたスマートデバイスのうちの1つ以上を制御し、および/または、デバイスの動作に関する情報をユーザに提示するように、構成され得る。たとえば、ユーザは、住宅のセキュリティシステムを視認することができ、かつ、当該セキュリティシステムを警備状態または警備解除状態にすることができる。
1人以上のユーザは、ネットワーク接続されたコンピュータまたはポータブル電子デバイスを用いて、スマートホーム環境において、ネットワーク接続されたスマートデバイスのうちの1つ以上を制御することができる。いくつかの例では、ユーザ(たとえば、住宅に住む個人)の何人かまたはすべてが、彼らのモバイルデバイスおよび/またはキーFOBをスマートホーム環境に(たとえば、コントローラ73に)登録することができる。このような登録を中央サーバ(たとえば、コントローラ73および/または遠隔システム74)において行なって、ユーザおよび/または電子デバイスをスマートホーム環境に関連付けられているものとして認証し、電子デバイスを用いてスマートホーム環境のネットワーク接続されたスマートデバイスおよびセキュリティシステムを制御する許可をユーザに与えることができる。ユーザは、自身の登録された電子デバイスを用いて、居住者が仕事中であるかまたは休暇中である場合などに、スマートホーム環境のネットワーク接続されたスマートデバイスおよびセキュリティシステムを遠隔制御することができる。ユーザはまた、ユーザがスマートホーム環境内にいるときに、自身の登録された電子デバイスを用いて、ネットワーク接続されたスマートデバイスを制御してもよい。
代替的には、または電子デバイスを登録することに加えて、スマートホーム環境は、どの個人がその住宅に住み、したがって、ユーザであるか、およびどの電子デバイスがそれらの個人に関連付けられているかについての推論を行なってもよい。したがって、スマートホーム環境は、誰がユーザ(たとえば、許可されたユーザ)であり、それらの個人に関連付けられた電子デバイスがスマートホーム環境のネットワーク接続されたスマートデバイス(たとえば、ネットワーク70に通信可能に結合されたデバイス)を制御することを許可するかを「学習する」。さまざまなタイプの通知および他の情報が、1つ以上のユーザ電子デバイスに送信されるメッセージを介してユーザに提供され得る。たとえば、メッセージは、電子メール、ショートメッセージサービス(short message service:SMS)、マルチメディアメッセージングサービス(multimedia messaging service:MMS)、非構造付加サービスデータ(unstructured supplementary service data:USSD)、ならびに他の任意のタイプのメッセージングサービスおよび/または通信プロトコルを介して送信され得る。
スマートホーム環境は、スマートホーム環境の外側にあるが住宅の地理的近接範囲内にあるデバイスとの通信を含み得る。たとえば、スマートホーム環境は、人々、動物、および他の任意の物体についての検出された動きならびに/または存在に関して、通信ネットワーク70を介してまたは中央サーバもしくはクラウドコンピューティングシステム(たとえば、コントローラ73および/または遠隔システム74)に直接情報を伝達し、それに応じて照明を制御するためのコマンドを折返し受信する屋外照明システム(図示せず)を含んでもよい。
コントローラ73および/または遠隔システム74は、スマートホーム環境における他のネットワーク接続されたスマートデバイスから受信した情報に基づいて、屋外照明システムを制御することができる。たとえば、屋外に位置するスマート壁プラグなどのネットワーク接続されたスマートデバイスのいずれかが夜間に動きを検出する場合、コントローラ73および/または遠隔システム74は、スマートホーム環境において屋外照明システムおよび/または他の照明を作動させることができる。
いくつかの構成では、遠隔システム74は、複数の建物、複数の住居建物、近所内の個々の住居、複数の近所などの複数の場所からのデータを集約し得る。概して、図8に関して上述したような複数のセンサ/コントローラシステム81、82は、遠隔システム74に情報を提供し得る。システム81、82は、前述のように1つ以上のセンサから直接データを提供してもよく、またはデータは、遠隔システム74と通信するコントローラ73等のローカルコントローラによって集約および/または分析されてもよい。遠隔システムは、複数の場所からのデータを集約および分析し得るとともに、集約結果を各場所に提供し得る。たとえば、遠隔システム74は、センサデータ内の共通のセンサデータまたは傾向について、より大きい領域を調査してもよく、識別された共通性または環境データ傾向に関する情報を各ローカルシステム81、82に提供してもよい。
ここで論じられるシステムがユーザに関する個人情報を収集するかまたは個人情報を利用し得る状況では、ユーザには、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの好み、またはユーザの現在位置に関する情報)を収集するかどうかを制御する機会、またはユーザにより関連し得るコンテンツをコンテンツサーバから受信するかどうか、および/もしくはどのように受信するかを制御する機会が提供され得る。加えて、特定のデータは、個人的に識別可能な情報が排除されるように、格納される前または使用される前に、1つ以上の方法で処理されてもよい。したがって、ユーザは、ユーザについての情報がどのように収集され、ここに開示されるシステムによって用いられるかを制御してもよい。
ここに開示される主題の実施形態は、さまざまなコンピューティングデバイスにおいて実現され得るとともに、さまざまなコンピューティングデバイスとともに用いられ得る。図9は、ここに開示される主題の実施形態を実施するのに適した例示的なコンピューティングデバイス20である。たとえば、デバイス20は、コントローラ、ここに開示されるようなセンサを含むデバイス等を実現するために用いられてもよい。代替的には、または加えて、デバイス20は、たとえば、デスクトップもしくはラップトップコンピュータ、またはスマートフォン、タブレット等のモバイルコンピューティングデバイスであってもよい。デバイス20は、コンピュータ20の主要なコンポーネントを相互接続するバス21を含み得る。コンピュータ20の主要なコンポーネントは、たとえば、中央プロセッサ24、ランダムアクセスメモリ(Random Access Memory:RAM)、読取り専用メモリ(Read Only Memory:ROM)、フラッシュRAMなどのメモリ27、ディスプレイスクリーンなどのユーザディスプレイ22、1つ以上のコントローラおよびキーボード、マウス、タッチスクリーンなどの関連するユーザ入力デバイスを含み得るユーザ入力インターフェイス26、ハードドライブ、フラッシュストレージなどの固定ストレージ23、光ディスク、フラッシュドライブなどを制御および収容するように動作可能なリムーバブルメディアコンポーネント25、ならびに、好適なネットワーク接続を介して1つ以上の遠隔デバイスと通信するように動作可能であるネットワークインターフェイス29などであり得る。
バス21は、前述のように、中央プロセッサ24と、RAM、ROM、および他のメモリを含み得る1つ以上のメモリコンポーネント25、27との間のデータ通信を可能にする。コンピュータ20に常駐するアプリケーションは、一般に、コンピュータ可読記憶媒体に格納され、コンピュータ可読記憶媒体を介してアクセスされる。
固定ストレージ23は、コンピュータ20と一体であってもよく、または別個であり、他のインターフェイスを介してアクセスされてもよい。ネットワークインターフェイス29は、有線接続または無線接続を介して遠隔サーバに直接接続されてもよい。ネットワークインターフェイス29は、デジタルセルラー電話、WiFi、Bluetooth(登録商標)、近距離場等を含む、当業者によって容易に理解されるであろう任意の好適な技術およびプロトコルを用いてこのような接続を提供し得る。たとえば、ネットワークインターフェイス29は、デバイスが、ここでさらに詳細に説明するように、1つ以上のローカルネットワーク、ワイドエリアネットワーク、または他の通信ネットワークを介して、他のコンピュータと通信することを可能にし得る。
図10は、開示される主題の一実施形態に従った例示的なネットワーク構成を示す。ローカルコンピュータ、スマートフォン、タブレットコンピューティングデバイスなどの1つ以上のクライアント10、11は、1つ以上のネットワーク7を介して他のデバイスに接続し得る。ネットワークは、ローカルネットワーク、ワイドエリアネットワーク、インターネット、または他の任意の好適な通信ネットワークであってもよく、有線ネットワークおよび/または無線ネットワークを含む任意の好適なプラットフォーム上で実現されてもよい。クライアントは、1つ以上のサーバ13および/またはデータベース15と通信し得る。デバイスは、クライアント10、11によって直接アクセス可能であってもよく、またはサーバ13がデータベース15に格納されたリソースへのアクセスを提供する場合などに1つ以上の他のデバイスが中間アクセスを提供してもよい。クライアント10、11はまた、遠隔プラットフォーム17にアクセスし得るか、またはクラウドコンピューティング構成およびサービス等の、遠隔プラットフォーム17によって提供されるサービスにアクセスし得る。遠隔プラットフォーム17は1つ以上のサーバ13および/またはデータベース15を含み得る。1つ以上の処理ユニット14は、たとえば、データベース15および/またはユーザインターフェイス13を含むかまたはそれ(ら)と通信し得るクラウドベースのコンピューティングシステム、検索エンジン、コンテンツ配信システムなどの分散システムの一部であってもよい。いくつかの構成では、分析システム5は、格納されたデータまたは取得されたデータが、処理ユニット14、データベース15、および/またはユーザインターフェイス13に送達される前に、分析システム5によって前処理される場合などに、バックエンド処理を提供してもよい。
本開示の主題のさまざまな実施形態は、コンピュータにより実現されるプロセスおよびそれらのプロセスを実施するための装置を含んでもよく、またはそれらの形態で具現化されてもよい。実施形態はまた、ハードドライブ、USB(ユニバーサルシリアルバス)ドライブ、または他の任意の機械可読記憶媒体などの非一時的媒体および/または有形媒体において具現化される命令を含むコンピュータプログラムコードを有するコンピュータプログラム製品の形態で具現化されるものであり、このため、コンピュータプログラムコードがコンピュータにロードされ、コンピュータによって実行されると、コンピュータが、開示される主題の実施形態を実施するための装置となるように構成されている。コンピュータプログラムコードは、汎用マイクロプロセッサ上に実装されると、命令によって指定される特定の論理回路を作成することなどによってマイクロプロセッサを専用デバイスになるように構成してもよい。
実施形態は、開示される主題の実施形態に従った技術のすべてまたは一部をハードウェアおよび/もしくはファームウェアで具現化する汎用マイクロプロセッサならびに/または特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)などのプロセッサを含み得るハードウェアを用いて実現され得る。プロセッサは、RAM、ROM、フラッシュメモリ、ハードディスク、または電子情報を格納することができる他の任意のデバイスなどのメモリに結合されてもよい。メモリは、開示された主題の実施形態に従った技術を実行するためにプロセッサによって実行されるように適合された命令を格納してもよい。
前述の記載は、説明を目的として特定の実施形態を参照して記載されている。しかしながら、上記の例示的な記載は、網羅的であること、または開示される主題の実施形態を開示される厳密な形態に限定することを意図するものではない。上記の教示に鑑み、多くの修正および変形が可能である。これらの実施形態は、開示される主題の実施形態の原理およびそれらの実際の適用例を説明するために選択および説明されたものであり、これにより、他の当業者が、それらの実施形態および企図される特定の用途に適し得るようなさまざまな変更を伴うさまざまな実施形態を利用することを可能にする。