(57)【要約】  デバイスを動作させる方法は、デバイスの周囲の環境からのセンサ情報をバッファリングされたセンサ情報としてバッファリングする段階と、環境において人の視線を検出する段階と、検出された視線に基づいて、バッファリングされたセンサ情報を含むいくつかのセンサ情報の認識を開始する段階であり、上記認識はバッファリングされたセンサ情報を含むセンサ情報中の少なくとも１つの命令を決定する段階と、少なくとも１つの命令に基づいてデバイスを動作させる段階と、を含む。
2016502137.tif 000002
【特許請求の範囲】
【請求項１】
デバイスであって、
（Ａ）前記デバイスのデバイス固有の機能をサポートする複数の第１の機構と、
（Ｂ）前記複数の第１の機構の制御をサポートする複数の第２の機構と、を備え、前記複数の第２の機構は、
（Ｂ）（１）前記デバイスの物理的および環境的な複数の特性と前記デバイスの周囲の環境とのうちの少なくとも１つに関する情報を取得する複数のセンサと、
（Ｂ）（２）複数の制御機構と、
（Ｂ）（３）前記複数のセンサのうちの少なくともいくつかからセンサ入力を取得して、前記センサ入力に基づいてセンサ情報を決定し、前記複数の制御機構に前記センサ情報を提供する複数のヒューマンインターフェース機構と、を含み、
（Ｃ）前記複数の制御機構は、
（Ｃ）（ｉ）前記複数のヒューマンインターフェース機構からの前記センサ情報に基づいて制御情報を決定し、
（Ｃ）（ｉｉ）前記複数の第１の機構に前記制御情報のうちの少なくともいくつかを提供し、
（Ｄ）前記複数の第１の機構は、前記複数の制御機構から前記制御情報を取得し、少なくとも部分的に、前記複数の制御機構から取得される前記制御情報に従って動作し、
（Ｅ）前記複数のセンサは、
（Ｅ）（１）前記デバイスの周囲の前記環境から画像情報を取得し、前記複数のヒューマンインターフェース機構に前記画像情報を提供する１または複数のカメラと、
（Ｅ）（２）前記デバイスの周囲の前記環境から音情報を取得し、前記複数のヒューマンインターフェース機構に前記音情報を提供する１または複数のマイクと、を含み、
（Ｆ）前記複数のヒューマンインターフェース機構は、
（Ｆ）（１）前記音情報中のスピーチを認識し、前記複数の制御機構に前記音情報中の認識されたスピーチについての情報をスピーチ情報として提供する複数のスピーチ機構と、
（Ｆ）（２）前記画像情報中の、顔情報と視線情報とのうちの少なくとも１つを検出する複数の顔機構と、を備え、
前記複数の制御機構は前記スピーチ情報に基づいて前記制御情報を決定し、
前記複数のスピーチ機構（Ｆ）（１）は、前記複数の顔機構によって検出された情報に基づいてスピーチ認識を開始する
デバイス。
【請求項２】
前記複数のスピーチ機構は、前記複数の顔機構によって検出された視線情報に基づいてスピーチ認識を開始する
請求項１に記載のデバイス。
【請求項３】
前記複数のスピーチ機構は前記デバイスの周囲の前記環境からの音情報をバッファリングし、前記複数の顔機構によって検出された視線情報に基づいてバッファリングされた音情報のスピーチ認識を開始する
請求項１または２に記載のデバイス。
【請求項４】
前記複数のスピーチ機構は、少なくとも１つのスピーチコーパスを使用し、前記複数のスピーチ機構は、前記複数の顔機構によって提供される顔情報に基づいて前記少なくとも１つのスピーチコーパスからスピーチコーパスを選択する
請求項１または２に記載のデバイス。
【請求項５】
前記複数のヒューマンインターフェース機構は更に、
（Ｆ）（３）前記画像情報中の複数のジェスチャーを検出および認識し、前記複数の制御機構に前記画像情報中の認識された複数のジェスチャーについての前記情報をジェスチャー情報として提供する複数のジェスチャー機構を備え、
前記複数の制御機構は前記ジェスチャー情報に基づいて前記制御情報を決定する
請求項１または２に記載のデバイス。
【請求項６】
デバイスであって、
（Ａ）前記デバイスのデバイス固有の機能をサポートする複数のデバイス固有の機構と、
（Ｂ）前記複数のデバイス固有の機構の制御をサポートする複数の第２の機構と、を備え、前記複数の第２の機構は、
（Ｂ）（１）複数の制御機構と、
（Ｂ）（２）前記デバイスの周囲の環境から画像情報を取得する１または複数のカメラと、前記デバイスの周囲の前記環境から音情報を取得する１または複数のマイクと、を含む複数のセンサと、
（Ｂ）（３）複数のヒューマンインターフェース機構と、を含み、前記複数のヒューマンインターフェース機構は、
（Ｂ）（３）（１）前記１または複数のカメラから取得される画像情報中の視線情報を決定する複数の顔機構と、
（Ｂ）（３）（２）前記１または複数のマイクから取得される音情報中のスピーチを認識し、前記複数の制御機構に前記音情報中の認識されたスピーチについての情報をスピーチ情報として提供する複数のスピーチ機構と、を備え、
前記複数のスピーチ機構は、前記複数の顔機構によって検出された視線情報に基づいてスピーチ認識を開始し、
前記複数のヒューマンインターフェース機構は、前記複数のスピーチ機構から取得される認識されたスピーチについての前記情報に基づいてインターフェース情報を決定し、前記複数の制御機構に前記インターフェース情報を提供し、
前記複数の制御機構は、
前記複数のヒューマンインターフェース機構からの前記インターフェース情報に基づいて制御情報を決定し、
前記複数のデバイス固有の機構に前記制御情報のうちの少なくともいくつかを提供し、
前記複数のデバイス固有の機構は、前記複数の制御機構から前記制御情報を取得し、少なくとも部分的に前記複数の制御機構から取得される前記制御情報に従って動作する
デバイス。
【請求項７】
前記デバイス固有の機能はサウンドレンダリングを含む
請求項１から６の何れか一項に記載のデバイス。
【請求項８】
前記デバイスはスピーカである
請求項７に記載のデバイス。
【請求項９】
デバイスを動作させる方法であって、前記方法は、少なくとも部分的に、少なくとも１つのプロセッサおよびメモリを含むハードウェアによって実装され、前記方法は、
（Ａ）前記メモリのバッファに前記デバイスの周囲の環境からのセンサ情報をバッファリングされたセンサ情報としてバッファリングする段階と、
（Ｂ）前記環境において人の視線を検出する段階と、
（Ｃ）（Ｂ）において検出される前記視線に基づいて、前記バッファリングされたセンサ情報を含むいくつかのセンサ情報の認識を開始する段階と、
（Ｄ）（Ｃ）において開始される前記認識が、前記バッファリングされたセンサ情報を含む前記センサ情報中の少なくとも１つの命令を決定する段階と、
（Ｅ）前記少なくとも１つの命令に基づいて前記デバイスを動作させる段階と、を備える
方法。
【請求項１０】
前記センサ情報は画像情報を含み、（Ｃ）において開始される前記認識はジェスチャー認識を含み、前記少なくとも１つの命令は前記ジェスチャー認識によって認識される少なくとも１つのジェスチャーに基づいて決定される
請求項９に記載の方法。
【請求項１１】
前記センサ情報は音情報を含み、（Ｃ）において開始される前記認識はスピーチ認識を含み、前記少なくとも１つの命令は、前記スピーチ認識によって認識される少なくとも１つの発話句に基づいて決定される
請求項９に記載の方法。
【請求項１２】
デバイスを動作させる方法であって、前記方法は、少なくとも部分的に、少なくとも１つのプロセッサおよびメモリを含むハードウェアによって実装され、前記方法は、
（Ａ）前記メモリに前記デバイスの周囲の環境からの音をバッファリングされた音としてバッファリングする段階と、
（Ｂ）前記環境において人の視線を検出する段階と、
（Ｃ）（Ｂ）において検出される前記視線に基づいて、前記バッファリングされた音を含むいくつかの音のスピーチ認識を開始する段階と、
（Ｄ）前記スピーチ認識が、前記バッファリングされた音を含む前記音における少なくとも１つの命令を決定する段階と、
（Ｅ）前記少なくとも１つの命令に基づいて前記デバイスを動作させる段階と、を備える
方法。
【請求項１３】
デバイスを動作させる方法であって、前記方法は、少なくとも部分的に、少なくとも１つのプロセッサおよびメモリを含むハードウェアによって実装され、前記方法は、
（Ａ）前記メモリに前記デバイスの周囲の環境からの画像情報をバッファリングされた画像情報としてバッファリングする段階と、
（Ｂ）前記環境において人の視線を検出する段階と、
（Ｃ）（Ｂ）において検出される前記視線に基づいて、前記バッファリングされた画像情報を含むいくつかの画像情報のジェスチャー認識を開始する段階と、
（Ｄ）前記ジェスチャー認識が、前記バッファリングされた画像情報を含む前記画像情報における少なくとも１つの命令を決定する段階と、
（Ｅ）前記少なくとも１つの命令に基づいて前記デバイスを動作させる段階と、を備える
方法。
【請求項１４】
前記デバイスはサウンドレンダリングデバイスである
請求項９から１３の何れか一項に記載の方法。
【請求項１５】
前記デバイスはスピーカである
請求項１４に記載の方法。
【請求項１６】
フレームワークで使用可能な方法であって、前記方法は、
（Ａ）デバイスを提供する段階であり、前記デバイスはデバイス固有の機能を有する段階と、
（Ｂ）前記フレームワークのユーザに前記デバイスを関連付ける段階であり、前記ユーザは自身に関連付けられるユーザ固有設定情報を有し、前記ユーザの前記ユーザ固有設定情報は、前記ユーザのスピーチの認識をサポートする少なくとも１つのスピーチコーパスを備える段階と、
（Ｃ）前記ユーザに関連付けられる前記ユーザ固有設定情報に基づく設定情報で前記デバイスを自動的に設定する段階と、を備える
方法。
【請求項１７】
前記ユーザの前記ユーザ固有設定情報は、
ネットワーク設定情報と、
パスワード情報と、
前記ユーザに関連付けられるジェスチャー認識用の少なくとも１つのジェスチャーコーパスと、
前記ユーザの顔認識用の顔情報と、のうちの１または複数を更に含む
請求項１６に記載の方法。
【請求項１８】
（Ｄ）前記ユーザに関連付けられる更新されたユーザ固有設定情報に基づいて前記デバイス上の前記設定情報のうちの少なくともいくつかを更新する段階を更に備える
請求項１６または１７に記載の方法。
【請求項１９】
前記デバイスは、別のデバイスから前記更新されたユーザ固有設定情報を取得する
請求項１８に記載の方法。
【請求項２０】
（Ｄ）別のデバイスに少なくともいくつかのユーザ固有設定情報を提供する段階を更に備える
請求項１９に記載の方法。
【請求項２１】
前記デバイスは、前記デバイスとの１または複数のヒューマン対話に基づいて前記ユーザ固有設定情報のうちのいくつかを更新する
請求項１８に記載の方法。
【請求項２２】
（Ｄ）他の場所に更新されたユーザ固有設定情報を提供する段階を更に備える
請求項２１に記載の方法。
【請求項２３】
前記更新されたユーザ固有設定情報は前記他の場所に格納される
請求項２２に記載の方法。
【請求項２４】
フレームワークで使用可能な方法であって、前記方法は、
（Ａ）第１のデバイスを前記フレームワークのユーザに関連付ける段階であり、前記ユーザは自身に関連付けられるユーザ固有設定情報を有し、前記ユーザ固有設定情報は前記ユーザに関連付けられる複数の対話の認識用の少なくとも１つのコーパスを含む段階と、
（Ｂ）前記ユーザに関連付けられる前記ユーザ固有設定情報のうちの少なくともいくつかで前記第１のデバイスを自動的に設定する段階と、を備える
方法。
【請求項２５】
前記少なくとも１つのコーパスは、
前記ユーザに関連付けられるスピーチ認識用の少なくとも１つのスピーチコーパスと、
前記ユーザに関連付けられるジェスチャー認識用の少なくとも１つのジェスチャーコーパスと、のうちの１または複数を備える
請求項２４に記載の方法。
【請求項２６】
前記ユーザ固有設定情報は、
ネットワーク設定情報と、
パスワード情報と、
前記ユーザの顔認識用の顔情報と、のうちの１または複数を更に含む
請求項２４または２５に記載の方法。
【請求項２７】
前記第１のデバイスは、１または複数のヒューマン対話に基づいて前記ユーザ固有設定情報のうちのいくつかを更新する
請求項２６に記載の方法。
【請求項２８】
前記第１のデバイスは、他の場所に更新されたユーザ固有設定情報を提供する
請求項２７に記載の方法。
【請求項２９】
（Ｃ）前記他の場所において、前記第１のデバイスから受信される更新されたユーザ固有設定情報を前記ユーザに関連付ける段階を更に備える
請求項２８に記載の方法。
【請求項３０】
（Ｄ）第２のデバイスを前記ユーザに関連付ける段階と、
（Ｅ）前記更新されたユーザ固有設定情報で前記第２のデバイスを自動的に設定する段階と、を更に備える
請求項２９に記載の方法。
【請求項３１】
前記第１のデバイスはサウンドレンダリングデバイスである
請求項２４から３０の何れか一項に記載の方法。
【請求項３２】
前記第１のデバイスおよび前記第２のデバイスはサウンドレンダリングデバイスである
請求項３０に記載の方法。
【請求項３３】
複数のユーザに代わって複数のデバイスの動作をサポートするフレームワークであって、前記複数のデバイスの各デバイスは、前記フレームワークにおいて前記複数のユーザのうちの一ユーザに主に関連付けられ、前記フレームワークは、
少なくとも１つのプロセッサおよびメモリを含む、ハードウェアおよびソフトウェアを備えるバックエンドシステムを備え、前記バックエンドシステムはデータベースシステムおよび複数のバックエンドアプリケーションを含み、前記複数のバックエンドアプリケーションは、前記ハードウェア上で実行され、
（ａ）前記データベースシステムおよび前記複数のデバイスとインターフェースで接続し、
（ｂ）前記データベースシステムにおいて、前記複数のデバイスの各デバイスについてのデバイス情報を維持し、
（ｃ）前記データベースシステムにおいて、前記複数のユーザの各ユーザについてのユーザ情報を維持し、
（ｄ）前記複数のユーザのうちの特定のユーザに関連付けられる少なくとも１つのデバイスに前記データベースシステムからの前記特定のユーザのユーザ情報のうちの少なくともいくつかを提供し、
各特定のデバイスについての前記デバイス情報は、前記特定のデバイスに関連付けられる任意のユーザについての情報を含み、
各特定のユーザについての前記ユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の少なくとも１つのヒューマンインターフェース制御機構をサポートする情報を含む
フレームワーク。
【請求項３４】
各特定のユーザの前記ユーザ情報は前記特定のユーザに関連付けられる設定情報を更に含み、（ｄ）において前記バックエンドシステムによって提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる設定情報を含む
請求項３３に記載のフレームワーク。
【請求項３５】
前記バックエンドシステムによって提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の前記少なくとも１つのヒューマンインターフェース制御機構をサポートする前記情報を含む
請求項３３に記載のフレームワーク。
【請求項３６】
前記少なくとも１つのヒューマンインターフェース制御機構はスピーチ認識機構を含み、特定のユーザに対して、前記少なくとも１つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによるスピーチの認識をサポートするスピーチ認識機構によって利用可能な、少なくとも１つのスピーチコーパスを備える
請求項３３から３５のいずれか一項に記載のフレームワーク。
【請求項３７】
前記少なくとも１つのヒューマンインターフェース制御機構はジェスチャー認識機構を含み、特定のユーザに対して、前記少なくとも１つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによる複数のジェスチャーの認識をサポートするジェスチャー認識機構によって利用可能な少なくとも１つのジェスチャーコーパスを備える
請求項３３から３５のいずれか一項に記載のフレームワーク。
【請求項３８】
前記複数のバックエンドアプリケーションは更に、
（ｅ）複数のデバイスから更新されたユーザ情報を取得し、
（ｆ）前記データベースシステムにおいて、対応する複数のユーザに前記更新されたユーザ情報を関連付ける
請求項３３に記載のフレームワーク。
【請求項３９】
特定のデバイスからの前記更新されたユーザ情報は、前記特定のデバイス上のヒューマンインターフェース制御機構をサポートする更新された情報を備える
請求項３８に記載のフレームワーク。
【請求項４０】
（ｆ）において、前記複数のバックエンドアプリケーションは、前記特定のデバイスに関連付けられるユーザに、前記特定のデバイス上の前記ヒューマンインターフェース制御機構をサポートする前記更新された情報を関連付ける
請求項３９に記載のフレームワーク。
【請求項４１】
前記特定のデバイス上の前記ヒューマンインターフェース制御機構はスピーチ認識機構を備え、前記更新されたユーザ情報は、前記スピーチ認識機構用の更新されたスピーチコーパスを備える
請求項３９に記載のフレームワーク。
【請求項４２】
（ｆ）において、前記複数のバックエンドアプリケーションは、前記特定のデバイスに関連付けられるユーザに、前記特定のデバイス上の前記スピーチ認識機構用の前記更新されたスピーチコーパスを関連付ける
請求項４１に記載のフレームワーク。
【請求項４３】
複数のユーザに代わって複数のデバイスの動作をサポートするフレームワークで使用可能な方法であって、前記複数のデバイスの各デバイスは、前記フレームワークにおいて前記複数のユーザのうちの一ユーザに主に関連付けられ、前記フレームワークは、少なくとも１つのプロセッサおよびメモリを含む、ハードウェアおよびソフトウェアを備えるバックエンドシステムを備え、前記バックエンドシステムは、データベースシステムと、前記ハードウェア上で実行され、前記データベースシステムおよび前記複数のデバイスとインターフェースで接続する複数のバックエンドアプリケーションと、を含み、
前記方法は、
（Ａ）前記データベースシステムにおいて、前記複数のデバイスの各デバイスについてのデバイス情報を維持する段階であり、各特定のデバイスについての前記デバイス情報は前記特定のデバイスに関連付けられる任意のユーザについての情報を含む段階と、
（Ｂ）前記データベースシステムにおいて、前記複数のユーザの各ユーザについてのユーザ情報を維持する段階であり、各特定のユーザについての前記ユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の少なくとも１つのヒューマンインターフェース制御機構をサポートする情報を含む段階と、
（Ｃ）前記複数のユーザのうちの特定のユーザに関連付けられる少なくとも１つのデバイスに前記データベースシステムからの前記特定のユーザのユーザ情報のうちの少なくともいくつかを提供する段階と、を備える
方法。
【請求項４４】
各特定のユーザの前記ユーザ情報は前記特定のユーザに関連付けられる設定情報を更に含み、（Ｃ）において提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる設定情報を含む
請求項４３に記載の方法。
【請求項４５】
（Ｃ）において提供される前記特定のユーザのユーザ情報は、前記特定のユーザに関連付けられる複数のデバイス中の前記少なくとも１つのヒューマンインターフェース制御機構をサポートする前記情報を含む
請求項４３に記載の方法。
【請求項４６】
前記少なくとも１つのヒューマンインターフェース制御機構はスピーチ認識機構を含み、特定のユーザに対して、前記少なくとも１つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによるスピーチの認識をサポートするスピーチ認識機構によって利用可能な少なくとも１つのスピーチコーパスを備える
請求項４３から４５のいずれか一項に記載の方法。
【請求項４７】
前記少なくとも１つのヒューマンインターフェース制御機構はジェスチャー認識機構を含み、特定のユーザに対して、前記少なくとも１つのヒューマンインターフェース制御機構をサポートする前記情報は、前記特定のユーザに関連付けられ、前記特定のユーザによる複数のジェスチャーの認識をサポートするジェスチャー認識機構によって利用可能な少なくとも１つのジェスチャーコーパスを備える
請求項４３から４５のいずれか一項に記載の方法。
【請求項４８】
前記複数のバックエンドアプリケーションによる、
（Ｄ）特定のデバイスから更新されたユーザ情報を取得する段階と、
（Ｅ）前記データベースシステムにおいて、前記特定のデバイスの対応するユーザに前記更新されたユーザ情報を関連付ける段階と、を更に備える
請求項４３に記載の方法。
【請求項４９】
前記特定のデバイスからの前記更新されたユーザ情報は、前記特定のデバイス上のヒューマンインターフェース制御機構をサポートする更新された情報を備える
請求項４８に記載の方法。
【請求項５０】
前記特定のデバイス上の前記ヒューマンインターフェース制御機構はスピーチ認識機構を備え、前記更新されたユーザ情報は前記スピーチ認識機構用の更新されたスピーチコーパスを備える
請求項４９に記載の方法。
【請求項５１】
（Ｄ）前記データベースシステムにおいて、ユーザに新たなデバイスを関連付ける段階を更に備える
請求項４３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［著作権声明］
本特許文献は著作権保護を受ける内容を含む。著作権の保有者は、本特許文献または米国特許商標局のファイルにおけるいかなる関連資料の複製に対しても異議を唱えるものではないが、さもなければいかなる理由があろうとも全ての著作権を保有する。
【０００２】
［関連出願］
本願は２０１２年１１月１６日出願の、「Ｕｎｉｆｉｅｄ  Ｆｒａｍｅｗｏｒｋ  Ｆｏｒ  Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ，  Ｉｎｔｅｒａｃｔｉｏｎ  Ａｎｄ  Ｃｏｎｔｒｏｌ，  Ａｎｄ  Ａｓｓｏｃｉａｔｅｄ  Ｍｅｔｈｏｄｓ，  Ｄｅｖｉｃｅｓ  Ａｎｄ  Ｓｙｓｔｅｍｓ」と題する米国仮特許出願第６１／７２７，２１７号の優先権を主張し、その両方の内容全体は全ての目的のために参照によって本明細書に完全に組み込まれる。
【０００３】
本発明はデバイス設定、対話および制御のための統一フレームワーク、および関連する複数の方法、複数のデバイス、および複数のシステムに関する。
【背景技術】
【０００４】
コンピュータベースの複数のデバイス、特に、消費者コンピュータベースの複数のデバイスはユビキタスである。これらのデバイスは一般的に、互いに独立して設計および製造され、それらが互いに対話できる、または互いを使用できる限り、そうすべく、臨時のまたは標準化された複数の技術を用いようと試みる傾向にある。結果的に、消費者らが複数の異なるデバイスを共に用いようと試みる場合は、たとえ同一のベンダがその複数のデバイスを作成する場合でも、彼らは、彼らが取得する複数のデバイスのための複雑なセットアップ手順を実行するよう強いられることが多い。複数のシングル、スタンドアローンデバイスについてでさえも、セットアップ手順は一般的に複雑である。いくつかの企業は、彼ら自身のデバイスの使用を簡略化しようと試みてきたが、複数の他企業の複数のデバイスについてはそうではない。
【発明の概要】
【課題を解決するための手段】
【０００５】
複数のデバイスが容易にプロビジョニングされ、設定され、融合されうるシステム／フレームワークを提供することが望ましく、本発明の目的である。
【０００６】
複数の異なるタイプのデバイスと複数の異なるユーザが対話できるシステム／フレームワークを提供することが更に望ましく、本発明の目的である。
【０００７】
複数のデバイス内にコアシステムを提供し、互いの、および、共通フレームワークとの、それらの対話をサポートすることが更に望ましく、本発明の目的である。
【図面の簡単な説明】
【０００８】
本願発明の他の複数の目的、複数の特徴、および複数の特性、ならびに、動作の複数の方法および構造の関連する複数の要素の複数の機能、および複数の部分の組み合わせおよび製造の効率が、その全てが本明細書の一部を形成する添付の複数の図面を参照し、以下の説明および添付の特許請求を考慮すれば明らかになるであろう。
【０００９】
【図１】本明細書の複数の実施形態による、例示的システムのためのフレームワークを示す。
【００１０】
【図２】本明細書の複数の実施形態による、図１のフレームワーク内のユーザのデバイスの構成の複数の態様を示す。
【００１１】
【図３Ａ】本明細書の複数の実施形態による、図１のフレームワークのデータベースの詳細を示す。
【図３Ｂ】本明細書の複数の実施形態による、図１のフレームワークのデータベースの詳細を示す。
【図３Ｃ】本明細書の複数の実施形態による、図１のフレームワークのデータベースの詳細を示す。
【００１２】
【図４Ａ】本明細書の複数の実施形態による、図１のフレームワーク内で用いるための一般的なデバイスの態様を示す。
【図４Ａ−１】本明細書の複数の実施形態による、図１のフレームワーク内で用いるための一般的なデバイスの態様を示す。
【図４Ａ−２】本明細書の複数の実施形態による、図１のフレームワーク内で用いるための一般的なデバイスの態様を示す。
【図４Ｂ】本明細書の複数の実施形態による、図１のフレームワーク内で用いるための一般的なデバイスの態様を示す。
【図４Ｃ】本明細書の複数の実施形態による、図１のフレームワーク内で用いるための一般的なデバイスの態様を示す。
【００１３】
【図４Ｄ】本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。
【図４Ｅ】本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。
【図４Ｆ】本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。
【図４Ｇ】本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。
【図４Ｈ】本明細書の複数の実施形態による、システム内の複数のコーパスの例示的機構を示す。
【００１４】
【図４Ｉ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスの例示的動作を示すフローチャートである。
【図４Ｊ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスの例示的動作を示すフローチャートである。
【図４Ｋ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスの例示的動作を示すフローチャートである。
【図４Ｌ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスの例示的動作を示すフローチャートである。
【図４Ｍ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスの例示的動作を示すフローチャートである。
【図４Ｎ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスの例示的動作を示すフローチャートである。
【００１５】
【図５Ａ】本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。
【図５Ｂ】本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。
【図５Ｃ】本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。
【図５Ｄ】本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。
【図５Ｅ】本開示の複数の実施形態が実装され、実行されうる一般的なコンピュータシステムの態様を示す。
【００１６】
【図６Ａ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｂ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｃ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｄ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｅ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｆ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｇ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｈ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【図６Ｉ】本明細書の複数の実施形態による、図１のフレームワーク内のデバイスのプロビジョニングおよび設定の例示的態様を示す。
【００１７】
【図７Ａ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｂ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｃ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｄ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｅ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｆ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｇ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｈ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｉ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【図７Ｊ】本明細書の複数の実施形態による、図１のフレームワーク内の複数のデバイスの対話の態様を示す。
【００１８】
【図８Ａ】本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。
【図８Ｂ】本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。
【図８Ｃ】本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。
【図８Ｄ】本明細書の複数の実施形態による、サウンドレンダリングのための例示的な特定のデバイスの態様を示す。
【００１９】
【図９Ａ】本明細書の複数の実施形態による、複数のサウンドレンダリングデバイス間の協同の態様を示す。
【図９Ｂ】本明細書の複数の実施形態による、複数のサウンドレンダリングデバイス間の協同の態様を示す。
【図９Ｃ】本明細書の複数の実施形態による、複数のサウンドレンダリングデバイス間の協同の態様を示す。
【発明を実施するための形態】
【００２０】
「Ｍ」という用語は、説明されるシステム、複数のデバイス、複数の処理、複数の対話等の名称として本明細書において用いられる。この名称は説明を補助すべく用いられているだけであり、システムの範囲を限定する意図は全くないということが理解されるべきである。
【００２１】
図１は、複数のＭ対応型デバイス（１０２−１、１０２−２、...１０２−ｎ、集合的に１０２）が用いられている例示的なＭシステム１００のためのフレームワーク／システムを示している。Ｍ対応型デバイス（すなわちＭデバイス）１０２は、任意のデバイスおよび任意の種類のデバイスであり得て、スタンドアローンデバイスでありうる、または、任意の種類のデバイスまたはシステムに統合されうる、またはそれに組み合わされうる。例えば、Ｍ対応型デバイス１０２は、限定はしないが、コンテンツ（デジタルまたはアナログコンテンツを含む）をキャプチャおよび／または作成するデバイス、コンテンツ（再び、デジタルおよび／またはアナログコンテンツを含む）を生成および／またはレンダリングするデバイス、でありうる。Ｍ対応型デバイスは、例えば、カメラ、スピーカ、コンピュータ、電話、セットトップボックス、テレビ、電気器具、等でありうる（または、これらに組み込まれうる）。これらのデバイスの組み合わせはまた、例えば、カメラおよびスピーカおよびテレビモニタを含むセットトップボックスが考えられ、コンピュータは１または複数のＭ対応型デバイスでありうる。デバイス１０２に対してここで与えられる複数の例は、単に例示的なものであり、限定することは全く意図していないということが理解されるべきである。複数のＭ対応型デバイス（すなわち、Ｍデバイス）１０２は、以下でより詳細に説明される。
【００２２】
システム１００は好ましくは、公開キーインフラストラクチャ（ＰＫＩ）方式（図示せず）で、複数の認証機関のより大きな集合体または階層の一部でありうる１または複数の認証機関（ＣＡ）１０６を含むか、またはアクセスする。各ＣＡ１０６はシステム１００のため、またはシステム１００に代わってデジタル証明書を発行するエンティティである。
【００２３】
複数のＭ対応型デバイス１０２は好ましくは、（少なくとも部分的に）１または複数の認可デバイスメーカ１０８によって製造される。図１の複数のデバイス１０２は、複数の異なるメーカによって製造された複数の異なるタイプのデバイスでありうる、ということが理解されるべきである。
【００２４】
複数のＭ対応型デバイス１０２は、互いに、およびバックエンドシステム１０４と、対話しうる。複数の異なるタイプのデバイスは、互いに対話しうる（例えば、モバイルフォンにおいて具現化されたＭデバイスはスピーカにおいて具現化された別のＭデバイスと対話しうる）、ということが理解されるべきである。
【００２５】
複数のＭ対応型デバイス１０２はそれぞれユーザ１１０に関連付けられる。特定のユーザ１１０は、それに関連付けられる複数のデバイス１０２を有しうる。いくつかの実装形態において、各デバイス１０２は１人のユーザ１１０だけに関連付けられうる。「ユーザ」という用語はシステム１００内の内部のエンティティであり、システム１００内の複数のデバイスの間の結び付きを定義すべく用いられる、ということが理解されるべきである。ユーザ１１０は、システム１００内で特定の関係を有するエンティティであると見做されうる。そのエンティティは、人、または人々のグループ、または任意の他の種類のエンティティ（例えば、企業、学校、クラブ、等）に対応しうる。好適な実装形態において、ユーザ１１０はシステムに登録されたエンティティである。特定の人（またはエンティティ）は２人以上のユーザ１１０に対応しうる。例えば、人はシステム１００内で２人のユーザ１１０を有することを選択しうる。
【００２６】
バックエンド１０４は１または複数のバックエンドアプリケーション１１２を備え、そのうちの少なくともいくつかは、複数のデバイス１０２および複数のユーザ１１０についての情報を格納および維持する１または複数のデータベース１１４と対話する。バックエンド１０４はまた、複数のソーシャルネットワーキングサービス１１６（フェイスブック（登録商標）、ＬｉｎｋｅｄＩｎ（登録商標）、および同類のものなどの）および複数のコンテンツプロバイダ１１８（ＲＤＩＯおよび同類のものなどの）を含む、様々な他のエンティティと対話しうる。複数のソーシャルネットワーキングサービス１１６は複数のコンテンツプロバイダ１１８とは分離して示されているが、これらのエンティティ間でいくつかの重複がありうる、ということが理解されるべきである。バックエンド１０４は、複数のユーザ１１０に（または複数のデバイス１０２に）追加機能を提供できる複数のエンティティ１２０と対話しうる。追加機能は、例えば、音声または命令認識機能、顔認識、および同類のもの、を含みうる。バックエンド１０４はまた、他の種々の外部コンポーネント１２２と対話しうる。
【００２７】
追加機能は、複数のデバイス上に提供されるものに加えて機能を提供すべく、いくつかまたは全てのデバイス１０２上に提供される機能を提供する、または高める、または向上させうる。追加機能１２０は、例えば、デバイス１２０のハードウェア能力を超える機能を提供すべく用いられうる。従って、例えば、以下でより詳細に説明されるように、追加機能１２０は特定のデバイス１０２上に提供されるものを超える（または、特定のデバイス１０２のハードウェアを用いて可能であるものを超える）音声認識を提供しうる。実際には、追加機能１２０は、少なくとも部分的に、任意の特定のＭ対応型デバイス１０２の機能を拡張すべく用いられうる。
【００２８】
複数のエンティティ１２０によって提供される機能のいくつかまたは全ては、バックエンド１０４に（または複数のバックエンドアプリケーション１１２に）統合されうる、ということが理解されるべきである。
【００２９】
複数の図面における複数のコンポーネントの分離によって、所有権または管理または制御がないこと（またはそれらの欠如）が暗示される、ということもまた理解されるべきである。従って、例えば、ＣＡ１０４が、バックエンド１０４を管理する同一エンティティによって所有または管理される（または所有されない）必要はない。同様に、複数のソーシャルネットワーキングサービス１１６および／または複数のコンテンツプロバイダ１１８および／または追加機能１２０を提供する複数のエンティティは別個に所有され管理される（または、それらが共に所有され管理される）必要はない。システム１００のいくつかまたは全ては、ソーシャルネットワーキングサービス１１６および／またはコンテンツプロバイダ１１８に統合されうる。
システムおよびコンポーネントの複数の対話
【００３０】
様々なコンポーネント間で様々な対話がシステム１００において行われうる。図１において、これらの対話は番号を付した複数の弧線または複数の直線（１から１５と示される）によって示される。図１において描かれるシステム１００において、
弧線＃１は２つのデバイス１０２の間の複数の対話を指す。
弧線＃２はデバイスメーカ１０８と複数のデバイス１０２との間の複数の対話を指す。
弧線＃３はＣＡ１０６と複数のデバイス１０２との間の複数の対話を指す。
弧線＃４はＣＡ１０６と複数のユーザ１１０との間の複数の対話を指す。
弧線＃５は複数のユーザ１１０とバックエンド１０４との間の複数の対話を指す。
弧線＃６はＣＡ１０６とバックエンド１０４との間の複数の対話を指す。
弧線＃７は複数のデバイス１０２とバックエンド１０４との間の複数の対話を指す。
弧線＃８はバックエンドとデータベース１１４との間の複数の対話を指す。
弧線＃９はバックエンドと複数のソーシャルネットワーキングサービス１１６との間の複数の対話を指す。
弧線＃１０はバックエンドとコンテンツプロバイダ１１８との間の複数の対話を指す。
弧線＃１１はバックエンド１０４と追加機能を提供する複数のエンティティ１２０との間の複数の対話を指す。
弧線＃１２はバックエンド１０４と他の種々の外部コンポーネント１２２との間の複数の対話を指す。
弧線＃１３はデバイスメーカ１０８とバックエンド１０４との間の複数の対話を指す。
弧線＃１４は複数のデバイス１０２と複数のユーザ１１０との間の複数の対話を指す。
弧線＃１５はＣＡ１０６とデバイスメーカ１０８との間の複数の対話を指す。
【００３１】
ここで説明される様々な対話は任意の既知の方法およびプロトコルを用いて行われ得て、有線、無線、またはそれらの任意の組み合わせでありうる。いくつかの対話は、少なくとも部分的には、ネットワーク１０１（例えば、インターネットなどのパケットベースのネットワーク）を介して行われうる。ネットワーク１０１は公衆ネットワークまたはプライベートネットワーク、またはそれらのいくつかの組み合わせでありうる。ネットワークは１または複数のセルラー方式の、および／または衛星を用いたコンポーネントを含みうる。様々なコンポーネントがそれを通じて対話する通信媒体または複数の通信プロトコルはシステムを限定しない、ということが理解されるべきである。
【００３２】
バックエンド１０４と様々な他のコンポーネントまたはエンティティ（例えば、複数のＣＡ１０６、複数のソーシャルネットワーキングサービス１１６、コンテンツプロバイダ１１８、デバイスメーカ１０８、追加機能を提供する複数のエンティティ１２０、および他の種々の外部コンポーネント１２２）との間の複数の対話は、複数のアプリケーションプログラムインターフェース（ＡＰＩ）、またはそれらのコンポーネントまたはエンティティの他の複数のインターフェースを使用しうる。いくつかの実施形態において、バックエンド１０４は他の複数のコンポーネントのいくつかまたは全てに統合されうる。バックエンドが任意の他の複数のコンポーネントと通信するやり方はシステム１００の限定を全く意図しないということが理解されるべきであり、通信の複数の異なるモードおよび複数のやり方が本明細書において考えられる。さらに、バックエンド１０４と任意の他の複数のコンポーネントとの間の統合の程度（またはその欠如）はシステム１００の限定を全く意図せず、統合の、複数の異なるモード、複数のやり方、および複数の程度が本明細書において考えられる。
【００３３】
上述の通り、様々な対話および通信が任意の既知の方法およびプロトコルを用いて行われうるが、複数のデバイス間対話（図１における弧線＃１）は好ましくは、最も速く、最も安価な複数の通信技術−利用できるならば、一般的にはローカル（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）および同類のもの、またはローカルネットワーク上のＷｉ−Ｆｉ）を用いて、好ましくは、他の複数のネットワークを介した通信は回避する。
【００３４】
この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の複数の対話がシステムにおいて可能であり、図面から省略されることで排除されるものではない。従って、様々なエンティティは他の複数の対話（図面には示されない）を有し、さらには、システム１００の全ての実装形態が図面に示される全ての対話をサポートする必要はない、ということが理解されるべきである。
複数のユーザＩＤ
【００３５】
各ユーザ１１０はシステム１００内で少なくとも１つの固有のユーザ識別情報（ＩＤ）を有さなくてはならない。ユーザのユーザＩＤはそのユーザのソーシャルネットワークＩＤ（例えば、彼らのフェイスブック（登録商標）ＩＤ）に基づくか、または、これから得られうる。図２を参照すると、ユーザのユーザＩＤはＣＡ１０６によって発行されるユーザ証明書１７５の形でアサートされうる。デバイスＣＡ１２４およびユーザＣＡ１２６は同一のエンティティである、ということが理解されるべきであるが、ＣＡ１０６は、１または複数のデバイスＣＡ１２４（図６Ｂに示される）および１または複数のユーザＣＡ１２６（図２に示される）を含みうる。ＣＡ１０６が複数のユーザＣＡ１２６を含む場合、 ユーザのユーザ証明書１７５は好ましくは、 登録処理または同類のものの間にバックエンドによって提供される。
【００３６】
ユーザ証明書１７５は、ユーザのデバイス１７４（例えば、スマートフォン、Ｍ技術によって可能にされるスマートデバイス、または同類のもの）において、そのような複数の証明書およびユーザ識別情報のための場所１７６に格納されうる。
ユーザの複数の友人
【００３７】
システム１００内で、ユーザ１１０はシステム１００において１または複数の友人を有しうる。システム１００内のユーザの友人は、第１のユーザがシステム１００を介して関係を確立した別のユーザ１１０である。関係は様々なやり方で、例えば、互いのデバイス１０２と共有または対話することによって、確立されうる。ユーザはそのユーザの複数の友人と複数の許可を確立しうる。複数の許可は、例えば、ユーザに関連付けられるデバイス１０２のタイプに依存し得て、友人によって異なりうる。
【００３８】
システム１００内での別のユーザとのユーザの「友人」関係は、限定された範囲にあり得て、例えば、複数の許可によって決定されうる。友情関係の範囲は、友情関係の様々な態様、例えば、システム内での友人関係の継続時間、システム内での友人の複数の権利、等、を限定すべく用いられうる。
【００３９】
システム１００内のユーザの複数の友人は、重複はありうるが、ユーザのソーシャルネットワークの複数の友人（例えば、ユーザのフェイスブック（登録商標）の複数の友人）と区別されうる。例えば、ユーザのユーザＩＤがそのユーザのソーシャルネットワークＩＤ（例えば、彼らのフェイスブック（登録商標）ＩＤ）に基づく、または、それから得られる場合、ユーザのソーシャルネットワークの複数の友人は、システム１００におけるユーザの複数の友人と重複しうる。
【００４０】
システムは、複数のユーザが他の複数のユーザと「友人」関係を確立できるやり方によって、全く限定されない、ということが理解されるべきである。友人というシステム概念は、システム１００の外部で実際の複数の友情関係または他の複数の関係と、何ら関係を有する必要はなく、システム内での友人関係は、システム１００内での関連付けおよび結び付けを行うべく用いられる、ということもまた理解されるべきである。
複数のデバイスＩＤ
【００４１】
各デバイス１０２はシステム１００内で固有でなければならないデバイス識別情報（ＩＤ）を有する。複数のデバイスＩＤの作成および格納は以下でより詳細に議論される。
複数のデータベース
【００４２】
図３Ａを参照すると、バックエンド１０４は、１または複数のデータベース１１４と対話する１または複数のアプリケーションを含むバックエンドアプリケーション１１２を含む。データベース１１４は、デバイスデータベース１２８およびユーザデータベース１３０を含み、それぞれ、複数のデバイス１０２および複数のユーザ１１０についての情報を格納および維持する。
【００４３】
複数のデータベースは任意の種類のデータベース技術を用い得て、特定のデータベース実装はここでは説明されないか、または必要とされず、システム１００はデータベース実装によっては全く限定されない、ということが理解されるべきである。いくつかの場合において、データベース実装のいくつかまたは全ては第三者の複数のデータベースを用いうる。ユーザデータベース１３０およびデバイスデータベース１２８は統合されうるか、または複数の異なる、おそらくは分散されたデータベースから構成されうることもまた理解されるべきである。
デバイスデータベース１２８
【００４４】
図３Ａおよび図３Ｂに示されるように、データベース１１４は、デバイスの所有者（ユーザ１１０）、デバイスの複数の機能、デバイスの履歴についての情報、および、例えば、デバイスの最後の既知の位置、デバイスのメーカ等、などの他の情報を含む、システム１００内での各デバイス１０２についての情報を（デバイスデータベース１２８において）維持しうる。好ましくは、デバイスＩＤはデバイスデータベース１２８へのキー（またはインデックス）として用いられる。デバイス１０２が製造されるとき、それは所有者をもたない（製造において具体的にプロビジョニングされない限り）。デバイスの複数の機能はそのタイプを含みうる（例えば、スピーカ、等）。「所有」および「所有者」という用語は、ユーザによるデバイスの所有権の何らかの法律的概念を暗示する、または必要とすべくここで用いられるのではなく、それらはシステム１００内での複数のデバイス１０２と複数のユーザ１１０との間の関連または結び付きを指す、ということが理解されるべきである。
【００４５】
デバイスデータベース１２８は各デバイスに対してデバイスの複数のコーパスを含みうる。以下でより詳細に説明されるように、デバイスの複数のコーパスはデバイス上に格納される複数のコーパスに対応し得て、デバイスまたはデバイスの複数のユーザによって用いられ得る。
ユーザデータベース１３０
【００４６】
好ましくは、ユーザＩＤはユーザデータベース１３０のデータベースのプライマリキーとしてふるまう。ユーザデータベース１３０は好ましくは、（図３Ｃを参照して）以下のもののうちの１または複数を含む特定の情報を各ユーザ１１０に関連付ける。
・そのユーザについての情報を記述するユーザプロファイル。ユーザプロファイルは、ユーザのソーシャルネットワークデータ（例えば、ユーザのフェイスブック（登録商標）プロファイル）にリンクされうる、またはユーザのソーシャルネットワークデータから情報を取得しうる。ユーザプロファイルはまた、例えば、ＲＤＩＯ等などの、ユーザが関連付けられる（すなわち、複数のアカウントを有する）複数のコンテンツプロバイダについての情報を含みうる。
・ユーザの複数のデバイス１０２、および任意で、それらのデバイスについての情報（例えば、デバイスの複数の機能）。この説明を読むと当業者は気付き理解するであろうように、ユーザデータベース１３０中のいくつかの情報はデバイスデータベース１２８から得られ得て、逆のことも言える。例えば、ユーザデータベース１３０が各ユーザの複数のデバイスに対する複数のデバイス識別子を格納する場合、それらのデバイス識別子は、対応する複数のデバイスに対するデバイス固有情報をデバイスデータベース１２８から取得すべく用いられることができる。
・システム１００内でのユーザの複数の「友人」、および、おそらくは、それらの友人に関連付けられる複数の許可。好適な複数の実装形態において、システム内のユーザの複数の「友人」は、他の複数のユーザ１１０であり、ユーザの複数の友人それぞれについての情報がゼロまたは1以上のユーザＩＤのリストとしてユーザデータベース１３０内に格納されうる。複数のユーザは各友人に対してカスタマイズされた複数の許可を設定できうる。いくつかの実施形態において、複数のユーザは、複数の友人の複数のクラスまたは複数のグループまたは複数のタイプを定義または用いることができ得て、分類またはグループまたはタイプに基づき複数の許可を割り当てうる。このように、ユーザは、１または複数のユーザに対する複数の許可を迅速に設定または変更すべく、テンプレートまたは同類のものを使用できうる。複数のユーザが彼らの友人たちを選択する、または、彼らの友人たちに対する複数の許可を設定するやり方によってシステムは限定されない、ということが理解されるべきである。複数のユーザはまた、複数の友人として他の複数のユーザを排除しうる。
・好ましくは、デバイス１０２と、友人（すなわち、履歴の検索のための複数のキーとして１または複数のデバイス、または友人を用いる）と、時間と、のうちの１または複数によって格納される、または検索可能なユーザの履歴。デバイス履歴はユーザの複数のデバイスのそれぞれに関する複数のタイムスタンプ付きイベントのシーケンスでありうる。例えば、特定のデバイス１０２がスピーカである場合、そのデバイスの履歴は、そのスピーカで何が再生されたかのタイムスタンプ付きリストでありうる。複数の友人に関するユーザの履歴は、ユーザのデバイスがユーザの友人のデバイスと対話した（または、ユーザの友人のデバイスによって用いられた）（および／または逆のことも言える）複数の時間及び複数の位置を含みうる。複数の種類の検索されうる履歴の詳細についてここで与えられる複数の例は、この説明の範囲を限定することを全く意図せず、この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の情報および／または複数の要因が、ユーザの履歴を検索すべく用いられうる。
・ユーザの複数のＩＤ及び複数の証明書（ユーザＣＡ１２６によって発行されるものを含む）。
・様々なデバイスインターフェース機構に関するユーザの複数のコーパス（以下でより詳細に説明される）。ユーザの複数のコーパスは好ましくは複数のローカルコーパス及び複数の拡張コーパスを含む。以下でより詳細に説明されるように、ユーザの複数のローカルコーパスは、１または複数のデバイス上のそのユーザの複数のコーパスに対応し得て、ユーザの制御の下にある場合は複数のデバイスによって用いられうる。ユーザの複数の拡張コーパスは、いくつかまたは全てのデバイス１０２の容量を超えて拡張し得て、追加機能１２０によって用いられうるそのユーザの複数のコーパスに対応しうる。
・好ましくは、ユーザの複数のデバイスについての設定の詳細を含む設定情報、および他の（例えば、新しい）複数のデバイスを設定すべく用いられうる情報。設定情報は、様々な位置におけるユーザの無線ネットワークの複数の設定についての情報を含み、その情報は、複数のパスワード、およびそれらのネットワークに接続するためにデバイスにとって必要とされうる他の情報を含む。
【００４７】
この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の情報、複数の関連、および複数の関係はデバイスデータベース１２８およびユーザデータベース１３０に格納されうる。
複数のデバイス
【００４８】
各デバイス１０２はそれに関連付けられられる特定のデバイス固有の機能／複数のコンポーネントを有する。例えば、デバイス１０２がスピーカ（またはカメラまたは電話または同類のもの）である場合、デバイス固有の機能／複数のコンポーネントは、スピーカ（またはカメラまたは電話等）としてデバイスを動作させるべく用いられる機能／複数のコンポーネントを含むであろう。ここで図４Ａを参照すると、デバイス１０２は、デバイスのデバイス固有の機能／複数のコンポーネントをサポートする複数の機構１３２を含む。
【００４９】
本明細書において用いられるように、「機構」という用語は、単独のハードウェアまたはソフトウェアとの組み合わせのハードウェアを意味し、ファームウェアを含む。
【００５０】
デバイス１０２はまた、システム１００内で機能をサポートおよび実装すべく用いられる様々なＭのシステム機構／データ１３４を含む。複数のシステム機構／データ１３４は好ましくは、デバイス固有の機能１３２とは別個であるのよいが、複数のシステム機構／データ１３４はデバイスのデバイス固有の機能１３２と（１３６において）対話しうる。
【００５１】
デバイス１０２は好ましくは、システム機能の複数の態様を実装すべく複数のシステム機構１３４によって用いられうる１または複数のセンサ１３８を含む。本明細書において用いられるように、「センサ」は、物理的特性または刺激（例えば、熱、光、音、圧力、磁気、動き、タッチ、静電容量）を検知および／または測定できる任意の機構またはデバイスを意味する。センサは好ましくは、それが検知／測定する特性または刺激の指標（例えば、電気信号として）を提供する。センサはまた、それが検知／測定する物理的特性または刺激を記録、表示、あるいはそれに応答できうる。センサは、ハードウェア、ソフトウェア、またはそれらの複数の組み合わせにおいて実装されうる。センサはスタンドアローンデバイスまたはチップとして提供されうるか、または他の複数のデバイス（または複数のセンサ）または複数のチップに統合されうる。特定の複数のセンサ１３８は、少なくとも部分的に、複数の専用チップまたは回路、または同類のものを用いて実装されうる。この説明を読むと当業者は気付き理解するであろうように、システムは、複数のセンサが実装される、または統合されるやり方によっては全く限定されない。特定のセンサが２つ以上の種類の物理的特性または刺激を検知および／または測定しうる、ということもまた理解されるべきである。
【００５２】
図４Ａ−１を参照すると、複数のセンサ１３８は、例えば、１または複数のカメラ、マイク、モーションセンサ（外部の動きおよび／またはデバイスの動き）、複数の加速度計、コンパス、複数の位置測位システム（ＬＰＳ）、および同類のものを含みうる。本明細書において用いられるように、ＬＰＳは一般的に、デバイスの位置を決定すべく用いられることができる任意の位置測位システムを指し、米国の全地球測位システム（ＧＰＳ）およびロシアの全地球航法衛星システム（ＧＬＯＮＡＳＳ）、欧州連合のガリレオ測位システム、中国のコンパスナビゲーションシステム、ならびにインドの地域航法衛星システムを含む。ＬＰＳはまた、位置データを提供できるＷｉ−Ｆｉおよび／または携帯電話システム、ならびに、例えば、Ｗｉ−Ｆｉおよび／または携帯電話システムを用いる補助され増強された複数の測位システムを含む。ただ１つのカメラが顔およびジェスチャーの処理のために用いられうるが、必要ならば、２つ以上のカメラが三次元（３Ｄ）処理を可能にする。
【００５３】
複数のセンサ１３８は、（１４０において）各センサに提供される複数の標準インターフェースを介して複数のシステム機構１３４と対話しうる。全てのデバイス１０２があらゆる種類のセンサ１３８を有する必要はなく、複数の異なる種類のデバイス（または同一種類のデバイスの複数の異なる実装）は複数の異なるセンサまたは複数種類のセンサを有しうる、ということが理解されるべきである。
【００５４】
デバイス１０２は好ましくは、システム機能の複数の態様を実装すべく、（１４４において）複数のシステム機構１３４によって用いられうる１または複数の通信機構１４２を含む。図４Ａ−２を参照すると、複数の通信機構１４２は、例えば、ローカル通信のための複数の機構（例えば、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）を含むＢｌｕｅｔｏｏｔｈ（登録商標）、ジグビー等）と、Ｗｉ−Ｆｉ通信のための複数の機構（例えば、８０２．１１等）と、セルラー通信のための複数の機構（例えば、複数のモデムまたは携帯電話ネットワークを用いる他の複数のデバイス等）と、有線通信のための複数の機構（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）または同類のもの）と、のうちの１または複数を含みうる。複数の通信機構１４２はプロトコル固有の複数のチップまたは同類のものにおいて実装されうる。全てのデバイス１０２があらゆる種類の通信機構１４２を有する必要はなく、複数の異なる種類のデバイス（または同一種類のデバイスの複数の異なる実装）は複数の異なるセンサまたは複数の種類の通信機構を有しうる、ということが理解されるべきである。しかしながら、最低限、各デバイス１０２は、少なくとも幾ばくかの時間、何らかのやり方によって（携帯／電話ネットワークによって、Ｗｉ−Ｆｉによって、有線によって、または何か他のやり方によって、を問わず）、バックエンド１０４と通信可能であるべきである（図１における弧線＃７）。また、好ましくは各デバイス１０２は、それがシステム１００の他の複数のデバイス１０２と、少なくとも幾ばくかの時間、通信するのを可能にする少なくとも１つの通信機構を有する。各デバイスはまた、自身の様々な通信機構用に、必要とされる／適切な複数のコネクタ、および／またはアンテナを含む。これらのコネクタおよび／またはアンテナは、特に、複数の通信機構が複数の専用チップまたは複数の回路に設けられる場合、様々な通信機構に組み込まれうる。
【００５５】
複数のシステム機構１３４（あらゆる必要とされるセンサ１３８を含む）は別個のボードまたはチップセットとしてデバイス１０２に統合されうるか、または、それらはデバイス固有の機能を実装すべく用いられるデバイスの複数の機構と複数のコンポーネントを共有しうる（それらを結ぶ点線の楕円形によって示されるように）。例えば、デバイス固有の機能がマイクを必要とする場合、そのマイクはセンサ１３８として複数のシステム機構１３４と共有され（または、それらによって用いられ）うる。同様に、複数の通信機構のうちの少なくともいくつかは、複数のシステム機構１３４とデバイス固有の機能１３２との間で共有されうる（それらを結ぶ点線の楕円形によって示されるように）。しかしながら、複数のシステム機構１３４、複数のセンサ１３８、および複数の通信機構１４２は、複数のデバイス固有の機構とは独立して動作および制御されることが可能である必要があり、この必要性が、いくつかの実装形態において、複数のコンポーネントの共有より優先され、または共有を妨げうる、ということが理解されるべきである。
【００５６】
デバイス１０２は、（以下でより詳細に説明される）コンピュータシステム１４６を含みうる。コンピュータシステム１４６は複数のシステム機構１３４と対話し得て（１４８において）、それらの機構の複数の態様を実装しうる。図４Ａの図面において複数の別個のコンポーネントとして示されてはいるが、コンピュータシステム１４６のいくつかまたは全ては、複数のシステム機構／データ１３４と共有される、および複数のシステム機構／データ１３４の一部である（それらを結ぶ点で描いた楕円形によって示されるように）、ということが理解されるべきである。同様に、コンピュータシステム１４６のうちの少なくともいくつかは、デバイス１０２のデバイス固有の機能１３２と重複しうる（それらを結ぶ点で描いた楕円形によって示されるように）。
【００５７】
デバイスのデバイス識別情報（ＩＤ）および他の識別情報、ならびに証明書情報は複数のシステム機構／データ１３４に格納される（１５０において）。
【００５８】
各デバイス１０２は好ましくは、複数のブートストラッピング／プロビジョニング機構１５２および様々な動作機構１５４（両方は以下でより詳細に説明される）を含む。様々な動作機構１５４は、デバイス上に、対応する動作ストレージ１５５を有する。動作ストレージ１５５は様々な動作機構によって用いられるデータを格納し得て、永続的な、および／または一時的な格納のために用いられうる。この説明を読むと当業者は気付き理解するであろうように、動作ストレージ１５５のいくつかまたは全てはデバイス上の他のストレージと統合され得て、この説明を補助すべく、動作ストレージ１５５は別個のコンポーネントとして図面に示される。
【００５９】
各デバイス１０２は、システム機構１３４、コンピュータシステム１４６、複数のセンサ１３８、複数の通信１４２、および、デバイス固有の機能１３２を含むデバイスに電力を供給できる少なくとも１つの電力システム１５７を含む。電力システム１５７は、複数のコンポーネントのいくつかまたは全てに対して別個の複数のシステムを含み得て、複数のバッテリ電源を単独で、または複数の外部電源と併せて、含みうる。好ましくは複数のシステム機構は、デバイス固有の機能とは別個の電源（例えば、バッテリ）を有す。外部電源が用いられる場合（例えば、アダプタを介したＡ／Ｃ電力）、システムの全てのコンポーネントは、たとえそれらが外部のソースへ接続されない場合に使用するための複数の別個の内部の電力システムを有しているとしても、外部電源を用いるべきである。しかしながら、電力が複数のコンポーネントに供給されるやり方によってはシステムは限定されない、ということが理解されるべきである。
複数の動作機構
【００６０】
図４Ａ−図４Ｃを参照すると、デバイスの複数の動作機構１５４は以下の複数の機構のいくつかまたは全てを含みうる。
・デバイスツーデバイス対話および通信をサポートする複数の機構１５６（これは図１における弧線＃１によって示される対話に対応する）。複数のデバイスツーデバイス対話機構１５６は、対応するデバイスツーデバイスストレージ１６９（図４Ｃ）を有し、それを用いうる。
・デバイス１０２のコマンドおよび／または制御のための複数の機構１５８。複数のコマンドおよび／または制御機構１５８は、対応するコマンドおよび／または制御ストレージ１５９（図４Ｃ）を有し、それを用いうる。
・デバイスツーバックエンド対話および通信をサポートする複数の機構１６０（これは図１における弧線＃７によって示される対話に対応する）。複数のデバイスツーバックエンド機構１６０は、対応するデバイスツーバックエンドストレージ１６１（図４Ｃ）を有し、それを用いうる。
・システム１００内でデバイスを動作させ、デバイスの他の複数の機構および機能との対話（好ましくは、ヒューマン対話を含む）をサポートすべく用いられる複数のインターフェース機構１６２。複数のインターフェース機構１６２は、対応する複数のインターフェース機構のストレージ１６３（図４Ｃ）を有し、それを用いうる。
・対応するストレージ１６５（図４Ｃ）を有し得て、それを用いうる、システム１００内でデバイスを動作させるべく用いられる他の複数の動作機構１６４。
【００６１】
複数のインターフェース機構１６２は以下のうちの１または複数を含む。
○複数のユーザのジェスチャー（例えば、複数のジェスチャーコマンド、および同類のもの）を使用する複数の動作的および／または機能的特徴を実装すべく複数の動作機構１５４によって用いられうる複数のジェスチャー機構１６６。複数のジェスチャー機構１６６は、ジェスチャーストレージ１６７を有し得て、それを用いうる。複数のジェスチャー機構１６６は好ましくは、１または複数のジェスチャー検出機構１６８および１または複数のジェスチャー認識機構１７０を含み、ジェスチャーストレージ１６７は好ましくは、様々なジェスチャー機構によって用いられるための、関連付けられる複数のジェスチャーコーパス１７２を含む。ジェスチャーコーパス（複数形「複数のコーパス（ｃｏｒｐｏｒａ）」）は、複数のジェスチャーを検出および／または認識すべくジェスチャー機構が利用可能な複数のジェスチャーまたは複数のジェスチャーサンプルの集合を指す。好適な複数のシステムにおいて、複数のジェスチャー検出機構１６８および／またはジェスチャー認識機構１７０は、１または複数の人々（複数のユーザでありうる）の複数のジェスチャーを検出および／または認識すべくトレーニングおよび適合され得て、関連付けられる複数のジェスチャーコーパスはこのトレーニングに基づき変更されうる。ジェスチャー機構１６６は、例えば、カメラセンサを含む１または複数のセンサ１３８を用いうる。
○人の（例えば、複数のユーザの）複数の音声（例えば、複数の音声コマンド、および同類のもののための）を使用する複数の動作的および／または機能的特徴を実装すべく複数の動作機構１５４によって用いられうる複数の音声／スピーチ機構１７４。複数の音声／スピーチ機構１７４は音声／スピーチストレージ１７５を有し得て、それを用いうる。複数の音声／スピーチ機構１７４は好ましくは、１または複数の音声／スピーチ検出機構１７６および／または音声／スピーチ認識機構１７８を含み、音声／スピーチストレージ１７５は好ましくは、様々な音声／スピーチ機構によって用いられるための関連付けられる複数のコーパス１８０を含む。音声／スピーチコーパスは、音声／スピーチを検出および／または認識すべく音声／スピーチ機構が利用可能な複数の単語または語句のサンプルの集合を指す。好適な複数のシステムにおいて、複数の音声／スピーチ認識機構は１または複数の人々（例えば、複数のユーザ）の音声／スピーチを認識すべくトレーニングおよび適合され得て、関連付けられる複数のスピーチコーパスはこのトレーニングに基づき変更されうる。複数の音声／スピーチ機構１７４は、例えば、マイクセンサを含む１または複数のセンサ１３８を用いうる。
○人々の複数の顔および／または複数の視線を使用する複数の動作的および／または機能的特徴を実装すべく複数の動作機構１５４によって用いられうる顔／視線機構１８２。顔／視線機構１８２は顔／視線ストレージ１８３を用いうる。顔／視線機構１８２は顔／視線検出機構１８４および／または顔／視線認識機構１８６および／または顔動き検出機構１８７を含み得て、顔／視線ストレージ１８３は好ましくは、顔／視線・認識／検出機構１８２によって用いられるための関連付けられる複数の顔／視線コーパス１８８を含む。顔／視線コーパスは、複数の顔および／または複数の視線を検出および／または認識すべく顔／視線機構が利用可能な顔および／または視線の複数のサンプルの集合を指す。好適な複数のシステムにおいて、複数の顔／視線・認識／検出機構１８２は１または複数の顔を認識すべくトレーニングおよび適合され得て、関連付けられる複数の顔／視線コーパス１８２はこのトレーニングに基づき変更されうる。顔動き検出機構１８７は顔の複数の部分の動き、例えば、口、両目等の動きを検出し得て、例えば、人が話しているということの確認を試みるべく用いられうる。顔／視線機構１８２は、例えば、カメラセンサを含む複数のセンサ１３８を用いうる。
○他の複数のタイプのユーザ対話（例えば、タッチ、タイピング、デバイスの動き等）を使用する複数の動作的および／または機能的特徴を実装すべく複数の動作機構１５４によって用いられうる複数の他のインターフェース機構１９０。複数の他のインターフェース機構１９０は複数の他のインターフェース機構のストレージ１９１を用いうる。他のインターフェース機構１９０は複数のセンサ１３８を用いうる。
【００６２】
スピーチ、ジェスチャー、および顔／視線の認識／検出のための複数のコーパスが上述されているが、この説明を読むと当業者は気付き理解するであろうように、他の複数の機構、特に複数のインターフェース機構１６２は関連付けられる複数のコーパスを有し得て、また、人々との複数の対話、他の複数のデバイス１０２との複数の対話、バックエンド１０４との複数の対話、および複数のユーザ１１０との複数の対話を含む、デバイスが内部（またはシステム１００の外部）で有する複数の対話に基づき学習および順応もしうる。一般的に、特定のインターフェース機構のためのコーパスは、機能し実行すべくその特定の視線機構が利用可能な複数のサンプルの集合を指す。従って、例えば、図４Ｃに示されるように、複数の他のインターフェース機構１９０は関連付けられる複数のコーパス１９２を含みうる。
【００６３】
そうでないように述べられない限り、本明細書において用いられるように、「複数のコーパス（ｃｏｒｐｏｒａ）」という単語は、１つの「コーパス（ｃｏｒｐｕｓ）」および／または複数のコーパス（ｃｏｒｐｏｒａ）を指す。従って、例えば、デバイスがある特徴の複数のコーパスを有していると説明される場合、それは、デバイスはその特徴の少なくとも１つのコーパスを有する、または、デバイスはその特徴の１つのコーパスを有する、またはその特徴の複数のコーパスを有する、と読まれるべきである。
【００６４】
いくつかの好適な実施形態において、ユーザは特定の複数の語句および／または複数のジェスチャーパターンを認識すべく、それらのデバイスをトレーニングできる。これらの特徴的な複数の語句／ジェスチャーパターンのうちの１または複数は、例えば、デバイスのための複数のコマンドのいくつかまたは全てをトリガすべく、用いられ（および必要とされ）うる。デバイスは何の特定のユーザ介入または要求もなく学習し（従って、トレーニングされ）うるということが理解されるべきであり、好ましくは、各デバイスは、そうするように具体的に要求されることなく複数のユーザ対話を認識すべく学習する。
【００６５】
デバイス１０２はまた好ましくはハートビート（ＨＢ）機構１９４（以下でより詳細に説明される）を含む。ＨＢ機構は、デバイスツーデバイス機構１５６およびデバイスツーバックエンド機構１５８を含む他の複数の動作機構１５４と対話しうる。
【００６６】
この説明を読むと当業者は気付き理解するであろうように、特定のデバイスは複数のインターフェース機構１６２のうちのいくつかだけを用いうる。  以下でより詳細に説明されるように、様々なインターフェース機構１６２が組み合わせて用いられうることもまた理解されるべきである。
【００６７】
好ましくは、デバイス１０２上の各動作機構１５４は何の外部対話もなしに（つまり、何か他の複数のデバイス１０２またはバックエンド１０４との何の対話もなしに）デバイス上で動作できる。しかしながら、様々な動作機構１５４は、例えば、バックエンド１０４もしくは１または複数の他のデバイス１０２を介して提供される追加機能１２０を動作させうる、または用いうる（またはそれによって強化されうる）ことが理解されるべきである。従って、例えば、様々な音声／スピーチ機構１７４は、何の外部対話もなしに用いられる場合は複数の音声コマンドおよび同類のものの限定使用をサポートしうる。これらの音声コマンドは、例えば、様々な機構の複数の機能によって、および、デバイスの容量（メモリ及び計算の容量などの）によて、限定されうる。システム１００は、追加機能１２０によって強化される場合、デバイスに拡張された複数の音声コマンドおよび複数の対話を提供しうる。限定された複数のローカル音声／スピーチ対話は、デバイス上の音声／スピーチストレージ１７５に格納される複数の音声／スピーチコーパス１８０に反映されるだろう。複数の音声対話の場合、例えば、デバイス１０２は、それが認識できる、および、デバイスの複数の態様を制御すべく用いられることができる、複数の単語の限定されたコーパス（例えば、音声／スピーチストレージ１７５中に複数の音声／スピーチコーパス１８０として格納される）を有しうる。追加機能１２０を用いることで、より複雑な複数の命令／クエリを構文解析する能力へだけでなく、潜在的に非常に大きなコーパスへのアクセスをデバイスに提供する。例えば、デバイス１０２がスピーカである場合、複数の音声／スピーチ機構１７４と共にデバイス１０２上のコーパスは、「より大きな音量で再生」、「より優しく」等などの複数のコマンド／命令をサポートし得て、一方で、追加機能１２０によって提供される外部のコーパスは、例えば、「昨晩聴いていた歌を再生」などのより複雑な複数の命令をサポートしうる。この後者の要求は文法的により複雑で（故に、おそらくはデバイスが提供できるものよりも高いスピーチ認識能力を必要とし）、また外部のデータ（例えば、データベース１１４中の）へのアクセスも必要としうる。
【００６８】
インターフェース機構１６２は、複数の学習機構を提供される、またはそれを含み得て、それらがデバイスの複数のユーザについて、およびどのようにそれらのユーザがデバイスと対話するかについて、学習できるようにする。例えば、複数の音声／スピーチ機構１７４は特定の人々（好ましくは、デバイスに関連付けられるユーザ１１０に対応する人を含む）の複数の音声を認識すべく学習しうる。
【００６９】
デバイスは好ましくは、最初はそれの様々なインターフェース機構１６２のための複数の一般的なコーパスで設定される。デバイスの複数のインターフェース機構１６２が学習するとき、それらは学習したものを反映すべく様々なコーパスを更新しうる。例えば、デバイスが特定の人の音声を認識すべく学習するとき、それはその人についての複数の音声／スピーチコーパスを更新しうる。好ましくはデバイスは、最初の複数の一般的なコーパスのコピーを保持する、および／または、複数の元のコーパスはデバイスとは別個のどこかの場所（例えば、「クラウド」内）に保存されうる。
【００７０】
デバイスは複数の異なるユーザまたは人々の複数の異なるコーパスを有しうる。しかしながら、各デバイスがユーザに関連付けられるとき、デバイス上の各インターフェース機構は好ましくはそのユーザに関連付けられる少なくとも１つのコーパスを有することが理解されるべきである。そのデバイスを用いる他の人々は、それに関連付けられる彼ら／彼女ら自身の複数のコーパスを有しうる。
複数の対話のモニタリング
【００７１】
図４Ｉに示されるように、デバイス１０２は複数の起こりうる対話をモニタリングする（Ｓ４０２において）。デバイスは継続してモニタリングしうる（Ｓ４０２において）、または、それは複数の特定の時間に、および／または、複数の特定の条件下で、モニタリングしうる。このモニタリングは好ましくは、複数のデバイスのセンサ１３８（例えば、デバイスのカメラ、マイク等）のうちの１または複数を用いる。何らかの対話を逃すことを回避すべく、デバイスは好ましくは起こりうる対話をバッファリングまたは格納する（Ｓ４０４において）。これらのバッファリングされる複数の対話は、様々なインターフェース機構１６２によって、必要ならば、後の使用のために任意の既知の、および適切なやり方で格納されうる。例えば、デバイスのマイクによって検出される音は、音声／スピーチ機構１７４によって、必要ならば、後の使用に適したやり方でバッファリングされうる。同様に、デバイスのカメラによって検出される外部運動は、デバイスのジェスチャー機構１６６によって、必要ならば、後の使用に適したやり方でバッファリングされ得て、デバイスによって検出される複数の画像は、デバイスの顔／視線機構１８２および／または他の機構１９０によって、必要ならば、使用に適したやり方で格納されうる。全てのセンサ入力が、全てのデバイスまたは全てのタイプのデバイスに対してバッファリングされうるわけではないということが認識され理解されるべきである。しかしながら、たとえデバイスが、対話が開始された後しばらく経ってから対話が起こると理解するに過ぎないとしても、デバイスは対話を再構築できうるので、センサ情報をバッファリングすることでデバイスがその様々なインターフェース機構１６２を介して、より正確な複数の対話を提供できるようにしうることもまた理解されるべきである。
【００７２】
この説明を読むと当業者は気付き理解するであろうように、（Ｓ４０４において）バッファリングされる情報の量は情報の種類（例えば、音声、複数の画像、動きの履歴等）に依存する。同様に、この説明を読むと当業者は気付き理解するであろうように、異なる情報は異なる複数の期間にバッファリングされうる。例えば、デバイスのマイクによって検出される複数の音は、３０秒間バッファリングされ得て、一方でカメラによって検出される複数の画像は１５秒間バッファリングされうる。バッファリングは任意の技術、例えば、循環型、またはラップアラウンドバッファリング、を使用し得て、システムは用いられるバッファリングの種類、またはバッファリングの実装によって限定されない。複数の異なるバッファリング技術が複数の異なる種類の情報に対して用いられうる。デバイス１０２は、必要とされるバッファリングされる情報を格納するのに十分なメモリを有すべきである。
【００７３】
起こりうる対話をバッファリングして（Ｓ４０４において）、デバイスは、起こりうる（バッファリングされた）対話が実際の対話であるかどうかを決定しようと試みる（Ｓ４０６において）。デバイスが、起こりうる対話が実際の対話である（または、でありうる）ということを決定する場合（Ｓ４０６において）、デバイスはその実際の対話の処理を継続しうる（Ｓ４０８において）。実際の対話の処理（Ｓ４０８における）は図４Ｉを参照して上述された複数のコーパスの選択処理を使用しうる。
【００７４】
デバイスとの実際の対話が起こっている（または、起こっているかもしれない）かどうかの決定（Ｓ４０６における）は、１または複数のトリガを使用しうる。例えば、人が複数の音声コマンドをデバイスに与え始める場合、デバイスは、それが検出している音がそれらの音声コマンドに対応しているということを知り得ない。しかしながら、人がまた、話しながらデバイスを見てもいる場合（視線検出を用いて検出可能なように）、デバイスは、実際の対話を処理するためのトリガとして、検出されるスピーチと組み合わせて、その検出される視線を頼りにする。
【００７５】
デバイス１０２は様々な種類の環境において動作し得て、複数の環境要因および関連するノイズは対話検出および処理に影響を与えうる。ここで用いられるように、任意の種類の情報または信号に対する「ノイズ」という用語は、情報または信号の処理の能力を低下させうる（例えば、信号における情報の対応する検出および／または認識の能力を低下させうる）情報および／または複数の信号を指す。例えば、エアコンまたはファンの背景音は音声／スピーチ認識に支障をきたす、またはその能力を低下させ得て、または、持続的に点滅する光は複数の顔またはジェスチャー機構に支障をきたす、またはその能力を低下させうる。ゆえに、処理の前にノイズをフィルタリングまたは取り除くことを試みることはデバイスにとって有用である。この点で、他の機構１６４は、様々なセンサによって検出される複数の入力からノイズを取り除くべく、１または複数のノイズ除去フィルタリング／クリーニング機構を含みうる。１つのそのような機構は、デバイスのマイクによって検出される（およびバッファリングされる）音から複数の周囲音（例えば、複数のエアコンおよび複数のファンからの）を取り除く騒音キャンセルである。異なるおよび、または他の複数のノイズ除去フィルタリングが用いられ得て、これらのフィルタリング機構は、デバイスが置かれる環境に順応し、そこから学習しうる。
【００７６】
複数のフィルタリング／クリーニング機構が用いられる複数の場合において、好ましくは全てのバッファリングされる情報がフィルタリング／クリーニングされる。
【００７７】
図４Ｊにおけるフローチャートは、対話が行われているかどうかを決定（図４ＩのＳ４０６における）すべく、デバイス１０２が使用しうる例示的な処理を説明している。実際の対話が検出され、センサ出力が必要である場合、様々なセンサ１３８はモニタリングされ（図４ＩのＳ４０２において）、複数のセンサの出力はバッファリングされる（図４ＩのＳ４０４において）ことを思い出されたい。様々なセンサ１３８からの出力が様々なインターフェース機構１６２に（直接またはバッファリングを介して）提供され、そのそれぞれは、対話が行われているかどうかの決定を試みる。例えば、ジェスチャー検出機構１６８は、カメラセンサを介してそれらが検出しているいくらかの動きがジェスチャーに対応するかどうかの決定を試みる（Ｓ４１０において）。顔／視線検出機構１８４は、カメラセンサを介してそれらが検出しているいくらかの画像が少なくとも１つの顔に対応するかどうかの決定を試みる（Ｓ４１２において）。音声／スピーチ検出機構１７６は、マイクセンサを介してそれらが検出しているいくらかの音がスピーチに対応するかどうかの決定を試みる（Ｓ４１４において）。他の機構１９０は、センサ１３８を介してそれらが検出しているもの（例えば、タッチ、動き、他のユーザデバイスの近さ）がデバイスとの対話に対応するかどうかの決定を試みる（Ｓ４１６において）。ユーザ検出機構は、ユーザがデバイスと対話しているかどうかの検出を試みる（Ｓ４１８において）。
【００７８】
顔（または２つ以上の顔）が検出される場合（Ｓ４１２において）、検出される顔がデバイスを見ているかどうかを決定すべく（Ｓ４２０において）、視線検出機構が用いられ得て、検出される顔がジェスチャーおよび／またはスピーチに対応するように動いているかどうか決定すべく（Ｓ４２２において）、顔動き検出機構１８７が用いられうる。
【００７９】
顔動き検出機構１８７はまた、いずれかの検出される顔がスピーチおよび／または複数のジェスチャーに対応するように動いているかどうか決定すべく、単独で、または顔／視線検出機構１８４と併せて用いられうる。
【００８０】
複数の機構のうちのいくつか（例えば、視線検出および顔動き検出）は他の機構の複数の決定に依存しうるが、様々な対話検出機構は同時に動作しうる（図４Ｊに描かれるフローチャートに示されるように）。
【００８１】
いくつかの実装形態において、様々な検出機構はそれらの検出の判定を反映するブール値（真または偽）を生成しうる。それらの場合において、対話が検出されたかどうかに関する最終的決定はそれらの値の論理和によって決定される。例えば、Ｎ個の検出機構があり、ｉ番目の検出機構がブール値ｂｉを生成する場合、対話が検出されたかどうかに関する最終的決定は以下を用いて計算されうる。
【数１】
2016502137.tif 000003
【００８２】
この実装形態において、任意の真の値（すなわち、任意の検出機構による任意の検出）は対話が行われているという決定をもたらす。図４Ｊにおけるフローチャートを参照すると、任意の機構による任意の「はい」の値は対話が行われているという肯定決定をもたらす。
【００８３】
図４Ｊのフローチャートにおける複数の線上のラベル「はい」は、各機構のそれぞれによる、それらが何らかの特徴（例えば、ジェスチャー、顔、スピーチ等）を検出した可能性が高いという判定または決定を表わす、ということが理解されるべきである。同様に、そのフローチャートにおける複数の線上のラベル「いいえ」は、各機構のそれぞれによる、それらが何らかの特徴（例えば、ジェスチャー、顔、スピーチ等）を検出しなかった可能性が高いという判定または決定を表わす。ゆえに、これらの線上の様々なラベルは、特徴が発生している、または発生していない、ということを意味すると解釈されるべきではなく、それがある程度の確度をもって検出された、または検出されなかった、ということのみを意味するということが理解されるべきである。従って、この説明を読むと当業者は気付き理解するであろうように、図４Ｊにおける複数のフローの線上の複数の「はい」のラベルは、「多分そうである」または「恐らくそうである」または「どちらかと言えば多分そうである」と読まれ得て、その図における複数のフローの線上の複数の「いいえ」のラベルは、「恐らくそうではない」と読まれうる。よって、Ｉｎｔｅｒａｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄの値（上記数式１を用いて決定される）は、「真」の場合は「真の可能性が高い」または「どちらかと言えば多分偽よりも真である」を意味すると解釈されるべきであり、「偽」の場合は「偽の可能性が高い」を意味すると解釈されるべきである。
【００８４】
デバイスは対話検出の確率的性質を使用しうる。従って、いくつかの実装形態において、各検出機構は検出結果の確度の度合いを反映する値または数を生成しうる（例えば、０．０から１．０までの実数、ここで０．０は対話が検出されなかったことを意味し、１．０は対話が確実に検出されたことを意味する、または０から１００までの整数、ここで０は対話なしを意味し、１００は確実な対話を意味する）。それらの場合において、対話が検出されたかどうかに関する最終的決定は、様々な検出機構によって生成される複数の値の関数として決定されるスコアを少なくとも部分的に用いて決定される。例えば、Ｎ個の検出機構があり、ｉ番目の検出機構が０．０から１．０の範囲の実数の値ｒｉを生成し、ｉ番目の検出機構のスコアがｗｉの重みを有する場合、ある関数Ｆに対し以下のようになる。
【数２】
2016502137.tif 000004
式２における複数の重みｗｉは、Ｉｎｔｅｒａｃｔｉｏｎ  Ｓｃｏｒｅ≦１．０になるようなものであることが理解されるべきである。Ｉｎｔｅｒａｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄの値は、例えば、Ｉｎｔｅｒａｃｔｉｏｎ  Ｓｃｏｒｅ（例えば、数式２において決定されるような）を静的または動的閾値と比較することによって決定されうる。例えば、
Ｉｎｔｅｒａｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄ＝Ｉｎｔｅｒａｃｔｉｏｎ  Ｓｃｏｒｅ＞閾値（Ｔ）      （３）
【００８５】
いくつかの実装形態において、関数Ｆ（式２）は加重和または様々な検出機構によって生成される複数の値の平均を生成する。ここで、異なる複数の重みは、例えば、それらの既知の、または認識された、または今までの正確さに依存して、複数の異なる検出機構に与えられうる。例えば、Ｎ個の検出機構があり、ｉ番目の検出機構が０．０から１．０の範囲の実数の値ｒｉを生成し、ｉ番目の検出機構のスコアがｗｉの重みを有する場合、対話が検出されたかどうかに関する最終的決定は以下を用いて計算されうる。
【数３】
2016502137.tif 000005
上述の通り(式２を参照して)、複数の重みｗｉはＩｎｔｅｒａｃｔｉｏｎ  Ｓｃｏｒｅ≦１．０になるようなものである。
【００８６】
この例においては加重和が用いられるが、この説明を読むと当業者は気付き理解するであろうように、対話が行われているかどうかを決定すべく、異なるおよび／または他の複数の関数が用いられうる。例えば、以下の式２´´に示されるように、Ｉｎｔｅｒａｃｔｉｏｎ  Ｓｃｏｒｅを決定すべく、加重平均スコアが用いられうる。
【数４】
2016502137.tif 000006
【００８７】
図４Ｋにおいて描かれるフローチャートは、各検出機構がスコア（例えば、０．０から１．０の範囲の実数の値Ｒｉ）を生成する実装形態における対話検出段階（Ｓ４０６´）を示しており、対話が検出されるかどうかに関する最終的決定は、少なくとも部分的にそれらのスコア（例えば、上記の数式２または２´による）の関数として決定される。この例において、ジェスチャー検出機構１６８は、カメラセンサを介してそれらが検出するいくらかの動きがジェスチャーに対応するかどうかの決定を試み（Ｓ４１０´において）、この決定を示すスコア（Ｒ１∈［０．．１］）を生成する。顔／視線検出機構１８４は、カメラセンサを介してそれらが検出するいくらかの画像が少なくとも１つの顔に対応するかどうかの決定を試み（Ｓ４１２´において）、この決定を示すスコア（Ｒ２∈［０．．１］）を生成する。音声／スピーチ検出機構１７６は、マイクセンサを介してそれらが検出するいくらかの音がスピーチに対応するかどうかの決定を試み（Ｓ４１４´において）、この決定を示すスコア（Ｒ３∈［０．．１］）を生成する。他のインターフェース機構１９０は、センサ１３８を介してそれらが検出するもの（例えば、タッチ、動き、他のユーザデバイスの近さ）がデバイスとの対話に対応するかどうかの決定を試み（Ｓ４１６´において）、これらの決定を示すスコア（Ｒ４∈［０．．１］）を生成する。ユーザ検出機構は、ユーザがデバイスと対話しているかどうかの検出（Ｓ４１８´において）と、これらの決定を示すスコア（Ｒ７∈［０．．１］）の生成を試みる。
【００８８】
以前の例（図４Ｊ）におけるように、顔が検出される場合（Ｓ４１２´において）、検出される顔がデバイスを見ているかどうかを決定すべく、視線検出機構が用いられうる（Ｓ４２０´において）。この場合、視線検出機構は、用いられれば、それらの決定を示すスコア（Ｒ５∈［０．．１］）を生成する。同様に、顔動き検出機構１８７は、検出される顔がジェスチャーおよび／またはスピーチに対応するように動いているかどうかを決定し（Ｓ４２２´において）、それらの決定を示すスコア（Ｒ６∈［０．．１］）を生成すべく用いられうる。複数の視線検出および／または顔動き検出機構を開始または使用すべきかどうかに関する判定は、例えば、顔検出機構によって生成されるスコア（Ｒ２）に基づきうる（Ｓ４１２´において）。ここで、予め決定される複数の閾値（図４ＫにおいてＴＧおよびＴＭで示される）は複数の視線および／または顔動き検出を開始すべく用いられうる。これらの閾値の値（ＴＧおよびＴＭ）は同一でありうる。これらの閾値は、事前設定および固定されうる、またはそれらは、例えば、システムがその検出の成功について学習する情報に基づき動的でありうる。
【００８９】
上述の通り、各検出機構は、それに関連付けられる、対応する検出重みを有しうる。例えば、以下の表のようにまとめられる。
【表１】
2016502137.tif 000007
【００９０】
システムは好ましくは、様々な検出機構のそれぞれによって生成される複数の最新のスコア（この例示的な実装形態においては、Ｒ１．．Ｒ７）に対応するランニング値を生成する（Ｓ４０７において）。各検出機構はそれに関連付けられる対応する検出重みを有し得て、ランニング値は様々なスコアの重み関数を用いて（例えば、上記式２、２´または２´´を用いて）生成されうる。対話が検出されたかどうかに関する判定は、少なくとも部分的には、このスコア（Ｓ４０７において計算される）と別の閾値（図４Ｋの図面中のＴ対話で示される）との間での比較に基づきうる。閾値Ｔ対話は、事前設定および固定されうる、または、例えば、システムがその検出の成功について学習する情報に基づき動的でありうる。
【００９１】
様々な対話検出機構／処理は互いに平行および独立して進みうる。しかしながら、様々な機構／処理は、いくつかの場合において、他の複数の機構によって生成される複数のスコアにアクセスし得て、およびそれらを使用しうることが理解されるべきである。これらの他の機構の複数のスコアは、例えば、他の検出をトリガすべく用いられうる（Ｓ４１２´において顔検出によって生成されるスコア（Ｒ２）が視線および顔動き検出のためのトリガとして用いられる図４Ｋの例示的な複数の場合におけるように）。
【００９２】
様々な検出機構に対する複数の重みは、デバイスが前の複数の検出から学習した情報に基づき動的に変化しうる。各重みは、ｍａｘ＿ｗｅｉｇｈｔのある値に対し、０からｍａｘ＿ｗｅｉｇｈｔの範囲にある値である。スコアの閾値（上記例においてはＴ対話）が適宜設定される限り、任意の値が用いられることが可能だが、この説明の目的のために、ｍａｘ＿ｗｅｉｇｈｔは１．０であると仮定する。最初に全ての機構には同一の重み（例えば、ｍａｘ＿ｗｅｉｇｈｔ）が与えられ得て、それから特定の複数の機構に割り当てられる複数の重みはそれらの機構の正確さまたは有用性に基づき調節されうる。例えば、暗い部屋においては、ジェスチャーおよび顔検出機構には小さくされた重みが与えられ得て、または、（デバイスがノイズを十分にフィルタリングして除去できない）騒がしい部屋においては、スピーチ検出機構には小さくされた重みが与えられうる。部屋の中の光が変化する、または部屋の中のノイズが減らされると、対応する複数の機構の複数の重みは上方に調節されうる。加えて、デバイスが自身の以前の複数の判定から学習するとき、複数の重みは調節されることが可能である。
【００９３】
実際の対話を逃すよりも、起こりうる対話の偽の肯定検出を有することの方が概して好ましいということが理解されるべきである。デバイスが複数の対話に対して十分な（例えば、リアルタイムに近い）応答を提供しない場合、複数のユーザは複数の対話、およびおそらくはデバイスを用いることをやめるだろう。よって、デバイスとの複数の起こりうる対話を検出すべく、好ましくは、複数の重みは保守的に高く設定され、対応する複数の閾値は保守的に低くあるべきである。
【００９４】
複数の検出機構のそれぞれは電力を消費し、デバイスによるこれらの機構の絶え間のない使用は、それに過度な電力を使用させうる。正確な対話検出の必要性は、故に、デバイス上で電力を節約する必要性とバランスが取られなければならない。しかしながら、デバイスが外部電源に接続される場合は、複数の検出機構のユーザに制限が課される必要はない。様々な機構のための複数のトリガは、電力を節約すべく用いられうる。例えば、複数のスピーチ検出機構は、（より少ない電力を消費する）より簡易な音検出機構によってトリガされ得て、複数の顔およびジェスチャー検出機構は、（より少ない電力を消費し）、カメラセンサによってキャプチャされる複数の画像における複数の変化を検知する、より簡易な機構によってトリガされうる。
【００９５】
いくつかの実装形態において、複数のデバイスは、それらが最小の対話検出を実行するモード（例えば、スリープモードまたは無視モード）にされうる。このモードには、例えば、時刻、位置、ユーザ命令、または何か他の要因に基づき入れられうる。例えば、デバイスは、平日の午前０時と午前７時との間に最小の対話検出を実行すべく設定されうる。デバイスが混雑したまたは騒がしい場所で用いられるいくつかの場合（例えば、パーティーでのスピーカ、またはごった返す空港での電話）において、デバイスは特定の複数の対話を無視する、または複数の対話に対する複数のトリガまたは複数の確認を必要とすべく設定されうる。いくつかの場合において、特定の複数の対話は、デバイスが現在行っていることに基づきディセーブルにされうる。例えば、音楽再生デバイスがアクティブに音楽を再生している間、スピーチ入力はディセーブルにされ得て、曲と曲の間は再びアクティブにされうる。この種の設定は、複数の検出機構のうちのいくつかに関連付けられる複数の重みを調節することによって成されうる（例えば、ダンスパーティーにおいてはジェスチャー検出の重みは非常に低く設定する）。特定の検出機構に対する低い重みの設定は、その機構をディセーブルするわけではないので、それは依然動作し、電力を消費する。さらに、低い重みの値を有したとしても、機構は、起こりうる対話であるとデバイスが解釈しうるジェスチャーを検出しうる。好適な複数の実装形態において、特定の複数の対話検出機構は、それらが動作しない、または少しも電力を消費しないように、ターンオフ、またはディセーブルにされることが可能である。いくつかの場合において、これは、検出機構の対応する重みをゼロ（０．０）に設定することによって実現されうる。
【００９６】
好適な複数の実装形態において、ある期間（例えば、５−１０秒）の後、または検出された対話が実際に実行された後、各検出機構はそのスコアをゼロ（または偽）にリセットする。
【００９７】
複数の起こりうる対話に対する進行中のチェックの処理（例えば、図４ＩにおけるＳ４０６）は、典型的にどの人がその対話を開始し得たかを知ることなく実行される。従って、この処理が複数のコーパスの使用を必要とする（またはそれらから恩恵を受け得る）限り、複数の認識処理を実行すべく、デバイスは好ましくはデバイスに関連付けられるユーザの複数のコーパスを用いる。以下に説明されるように、起こりうる対話が検出されると、実際の対話を認識および処理すべく、デバイスは複数の異なるコーパスを使用し（または使用を試み）うる。
【００９８】
起こりうる対話を検出（図４ＩにおけるＳ４０６）すると、デバイスは好ましくは、どのような種類の対話が起こっているのかについての指標を維持する。これは、複数の起こりうる対話の決定の処理（図４Ｊ、４ＫのＳ４０６）に、その次の処理によって使用されるための情報を生成および提供させることによって実現されうる。図４Ｊのブール演算子を使った実装形態の場合において、処理は、上記式１においてＩｎｔｅｒａｃｔｉｏｎ  Ｄｅｔｅｃｔｅｄの値を決定すべく用いられる複数の値、ｂｉ，ｉ＝１...Ｎに対応するビットベクトルを設定しうる。図４Ｋにおける実装形態において用いられる複数の実数の値の場合では、処理は、その次の処理によって使用されるための、各検出機構によって生成されるスコアに対応する複数の値の配列またはベクトルを設定しうる。複数の起こりうる対話についての情報を維持すべく、他の複数のアプローチがデバイスに対して用いられ得て、システムは、この情報が維持または通信されるやり方によって限定されはしない。
【００９９】
対話が行われているかどうかの決定を試みながら（図４ＩのＳ４０６において）、デバイスは、様々なインターフェース機構１６２に対してどの複数のコーパスを使用すべきかを知り得ない（または知る必要がない）。好適な複数の実装形態において、対話検出がコーパスを必要とする場合、デバイス１０２はデバイスが関連付けられるユーザ１１０に関連付けられる複数のコーパスを用いる。いくつかの場合において、デバイスは処理のこの段階においては、他の複数のコーパス（例えば、複数の一般的なコーパス、または他の複数の許可されたユーザに関連付けられる複数のコーパス）を使用しうる。
【０１００】
起こりうる対話を検出して（図４ＩのＳ４０６）、デバイスは対話を処理すべく進む。実際の対話の処理は好ましくは、対話を処理すべく、複数のインターフェース機構１６２を他の複数の動作機構１５４と共に用いる。対話を処理すべく、デバイスは様々なインターフェース機構１６２に対して複数のコーパスを使用する必要がありうる。従って、図４Ｌにおけるフローチャートに示されるように、デバイスはまず、様々なインターフェース機構に対してどの複数のコーパスを使用すべきかを決定する（Ｓ４０９）。
【０１０１】
（デバイス上で及びバックエンドで、の両方における）複数のコーパスは、デバイスが特定の人を、彼らの顔、複数のジェスチャー、音声、または何か他のやり方によって認識する場合、その人に関連付けられるその他の複数のコーパスが決定され、対応する複数の機構によって用いられうるように、例えば、図４Ｄ−図４Ｈに示されるように編成されうる。例えば、デバイスがまず人の顔を認識する場合、デバイスは、必要ならば、その人に関連付けられる他の複数のコーパス（図４Ｄ）にアクセスし、それらを使用する（または、それは、ユーザのスマートデバイス（例えば、電話またはタブレット）に基づき関連付けうる）。同様に、デバイスがまず人の複数のジェスチャー（図４Ｅ）、音声／スピーチ（図４Ｆ）、または人の何か他の態様（図４Ｇ）を認識する場合、デバイスは、必要ならば、その人に関連付けられるその他の複数のコーパスにアクセスし、それらを使用しうる。さらに、デバイスが、それが対話しているユーザを決定できる場合、デバイスは、必要ならば、そのユーザの複数のコーパス（図４Ｈ）にアクセスしうる。システム１００内において、「ユーザ」１１０は、システム内の１または複数のデバイスの、何らかの種類の関連付けまたは結び付きを形成すべく用いられる概念であることが思い出されるべきである。ユーザ１１０は典型的に人に対応する。しかしながら、デバイスと対話する、または、デバイスとの対話を試みる全ての人々が必ずしもシステム１００内のユーザではない。
【０１０２】
複数のコーパスを選択（図４ＬにおけるＳ４０９）すべく用いられる例示的なフロー処理が、図４Ｍに示されている。この例示的な実装形態について、デバイスは様々なインターフェース機構に対して少なくともいくつかの一般的なコーパスを含むことが仮定される。これらの一般的なコーパスは、製造時または後のプロビジョニングまたは設定の間にデバイスに含まれ得る。この処理（複数のコーパスを選択する）に達すべく、デバイスは何らかの種類の対話を検出している（図４ＩのＳ４０６において）。デバイスは、音、外部運動、タッチ、デバイスの動き等のうちの１または複数を検出していた可能性がある。この検出は、複数のデバイスのセンサ１３８のうちのいくつかまたは全てを使用して、例えば、デバイスのマイクが音を検出する、デバイスのカメラが外部運動を検出する、デバイスの加速度計がデバイスの動きを検出する、デバイスの複数のタッチセンサが、デバイスが人または別のデバイスによってタッチされていることを検出する、デバイスがユーザからの対話を検出する、等のことをしうる。この時点において、デバイスは、どの可能性のあるタイプの対話が検出されたか（例えば、（図４Ｊの実装形態に関する）ビットベクトル、または（図４Ｋの実装形態に関する）複数のスコア値のベクトルを用いて）についての指標を有しうることを思い出されたい。デバイスは、どの対話であるのか、および、どの複数のコーパスを使用すべきかの決定を試みるべく、この情報を使用しうる。
【０１０３】
デバイスがどの起こりうる対話を検出したか（図４ＪのＳ４０６、図４ＫのＳ４０６´において）に応じて、それからデバイスは、それが特定のユーザまたは人を認識できるかどうかを決定しうる(図４ＭのＳ４２６において)。デバイスがユーザまたは人を認識する場合、デバイスはそのユーザまたは人の対応する複数のコーパスを選択する（図４ＭのＳ４２８において）。一方、起こりうる対話がデバイスに既知のいずれかのユーザまたは人に対応するとデバイスが認識しない（図４ＭのＳ４２６において）場合、デバイスはデバイスの複数の一般的なコーパスを選択する（図４ＭのＳ４３０において）。
【０１０４】
デバイスよって検出される（Ｓ４２４において）起こりうる対話のタイプに応じて、デバイスに既知の人またはユーザの認識を試みるべく、デバイスは適切なインターフェース機構を使用する（Ｓ４２６において）。デバイスが、ある人またはユーザに対して格納される少なくとも１つのコーパスを有する場合、その人またはユーザはデバイスにとって既知であると見做される。人はデバイスとの以前の複数の対話に基づき、デバイスにとって既知となりうる。なぜなら、その人はデバイスに関連付けられるユーザであるから、または、その人は、デバイスに関連付けられるユーザ（例えば、その友人）に関連付けられ、特定の複数のやり方でデバイスにアクセスする許可を与えられているからである。好適な複数の実装形態において、デバイスに関連付けられるユーザはデバイスにとって常に既知であるべきである。
【０１０５】
従って、例えば、図４Ｉに示されるように、何らかの対話が行われていることを検出して（Ｓ４２４において）、検出された複数のジェスチャーが既知のユーザ／人のものに対応するかどうかの決定を試みるべく、デバイスはジェスチャー検出機構１６８およびジェスチャー認識機構１７０を使用しうる（Ｓ４３２において）。デバイスが複数のジェスチャーを既知のユーザ／人のものであると認識する（Ｓ４３２において）場合、デバイスは対応する複数のコーパスを選択する（Ｓ４３４において）。デバイスは、認識される複数のジェスチャーに基づき複数のコーパスを決定すべく、図４Ｅに示されるマッピングを使用しうる。
【０１０６】
対話が、デバイスにとって、またはシステムにとって既知である顔の既知のユーザ／人のものであるかどうかの決定を試みるべく、デバイスはまた（もしくは代わりに）、複数のセンサ１３８（例えば、カメラである複数のセンサ）と併せて顔／視線検出機構１８４および顔／視線認識機構１８６を使用しうる（Ｓ４３６において）。デバイスが、近くの、または見える顔がデバイスにとって既知である（すなわち、デバイスにとって既知のユーザ／人に対応する）と決定する場合、デバイスはその顔に基づき対応する複数のコーパスを選択しうる（Ｓ４３８において）。デバイスは、認識される顔に基づき複数のコーパスを決定すべく、図４Ｄに示されるマッピングを使用しうる。
【０１０７】
デバイスはまた（もしくは代わりに）、（マイクである複数のセンサ１３８を用いて）検出される音、および、音声／スピーチ検出機構１７６および音声／スピーチ認識機構１７８を使用し、検出される音がスピーチであるかどうか、および、もしそうであるならば、それはデバイスにとって既知の人／ユーザのスピーチに対応するかどうか、の決定を試みうる（Ｓ４４０において）。検出される音がデバイスにとって既知の人／ユーザのスピーチであると決定される（Ｓ４４０において）場合、デバイスはそのスピーチに基づき複数の適切なコーパスを選択しうる（Ｓ４４２において）。デバイスは、認識されるスピーチに基づき複数のコーパスを決定すべく、図４Ｆに示されるマッピングを使用しうる。
【０１０８】
デバイスはまた（もしくは代わりに）、何か他のインターフェース機構１９０を用いて人／ユーザを認識し得て（Ｓ４４４において）、その場合、デバイスは、例えば、図４Ｇに示されるマッピングを用いることに基づき、その人／ユーザの適切な、対応する複数のコーパスを選択しうる（Ｓ４４６において）。
【０１０９】
デバイスはまた（もしくは代わりに）、対話が既知のユーザとのものであると認識し得て（Ｓ４４８において）、その場合、デバイスは、例えば、図４Ｈに示されるマッピングを用いることに基づき、ユーザの適切な、対応する複数のコーパスを選択しうる（Ｓ４５０において）。
【０１１０】
図４Ｍは様々な認識の試みを示しているが（Ｓ４２６において）、これらの段階のうちの全てが、全てのデバイスまたは全てのタイプのデバイスにおいて実行される（または利用できさえする）のではないことが理解されるべきである。さらに、いくつかのデバイスまたはいくつかのタイプのデバイスにおいて、複数の段階は平行して、連続して、または、それらの何らかの組み合わせで、実行されうることが理解されるべきである。いくつかの場合において、複数のコーパスが選択される前に、認識を認めるおよび／または確認すべく複数のテストが用いられうる（Ｓ４２６において）。従って、例えば、特定のデバイスまたは特定のタイプのデバイスは、まず顔認識を使用し得て、それからそれが失敗する場合にだけ、何か他の技術を使用する。別の例において、特定のデバイスまたは特定のタイプのデバイスは、同時に複数の顔の認識（図４ＪのＳ４１２；図４ＫのＳ４１２´において）および複数のユーザの認識（図４ＪのＳ４１８；図４ＫのＳ４１８´において）を試み得て、それから選択的に、他の複数の認識アプローチを引き続き行う。
【０１１１】
この説明を読むと当業者は気付き理解するであろうように、様々なユーザ／人認識段階が実行されるやり方または順序（平行、連続、またはそれらの複数の組み合わせを含む）によってシステムは限定されず、ユーザ／人の認識を試みるべく利用できる、または用いられる複数の機構によってもシステムは全く限定されない。
【０１１２】
２つ以上の認識機構が用いられる場合（Ｓ４２６において）、デバイスは複数のコンフリクトに対処可能である必要がある。例えば、１つの機構が１人のユーザ／人を識別し、別の認識機構が異なるユーザ／人を識別する場合、コンフリクトが生じうる。これは、デバイスと対話する人／ユーザについての十分な情報をデバイスが決定できない場合に生じ得て、その理由は、デバイスがその人についての十分な情報を有しない、および／または、デバイスと対話する可能性のある２人以上の人が存在するからでありうる。例えば、新たなデバイスは、正確な複数の認識決定をするだけの、その複数の潜在的なユーザについての十分な情報をまだ有し得ないので、複数の異なる機構は複数の異なる認識決定をしうる。近傍に２人以上の人が存在するせいでデバイスはまた混乱もしうるので、その複数のセンサは異なる人々からの詳細をとらえている。例えば、デバイスの近傍に複数の人々が存在する場合、そのマイクが１人の音声をとらえていてもよく、その一方で、そのカメラが別の人の顔をとらえている。
【０１１３】
特定のセンサが２人以上の人を認識することもまた可能である。例えば、デバイス中のカメラは２つ以上の顔を認識しうる、または複数の顔を見つけうる。
【０１１４】
デバイス１０２は好ましくは、少なくとも１つのコンフリクト解消戦略を有する。コンフリクト解消戦略は、複数の前の対話および複数の認識決定に基づきデバイスが学習することで、適応性があるといってよい。いくつかの場合において、デバイスは複数の認識決定の重み関数を使用しうる。例えば、ユーザ認識に対しては最も大きい重み（Ｓ４４８において）、顔認識に対してはより小さい重み（Ｓ４３６において）、音声／スピーチ認識に対しては、さらにより小さい重み（Ｓ４４０において）を与える、などである。この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の複数の関数が用いられ得て、異なるおよび／または他の複数のコンフリクト解消戦略が提供されうる。例えば、コンフリクト解消戦略は経時的に変化ながら（例えば、学習に基づいて）、動的でありうる。
【０１１５】
複数のコンフリクト解消戦略に加えて、人がデバイスとの対話を試みているのかどうか、および、もしそうならどの人か、の認識を向上させるべく、デバイス１０２はまた様々な最適化も含みうる。１つの例示的最適化は、誰かが実際にデバイスを見ているのかどうかを決定すべく視線検出（顔／視線機構１８２を用いる）を使用することである。視線検出は、他の認識および複数の対話のためのトリガとして、および／または、コンフリクト解消戦略の一部として、例えば、コーパスの選択をすべく用いられうる。例えば、デバイスが音を検出する場合（自身のマイクを用いて）、デバイスは、その音がデバイスに対する複数のコマンドまたは複数のクエリに対応するかどうかを知り得ない。デバイスがまた、誰かがデバイスを見ているということを検出もできる場合、その視線は、単独で、または検出される音と共に、スピーチ認識をトリガすべく用いられることができる。視線検出は顔認識を必要としない、またはそれに依存しないことが理解されるべきである。
【０１１６】
追加的な最適化として、いくつかの実装形態において、デバイスが検出した顔（顔／視線検出機構１８４を用いて）が、その検出を確認（または拒否）すべく用いられうるように動いているかどうかを決定すべく、デバイスは顔動き検出機構１８７を使用しうる。例えば、システムが複数の顔を見つけ（顔／視線検出機構１８４を用いて）、またスピーチも検出する（音声／スピーチ機構１７４を用いて）場合、スピーチに対応する動き（例えば、口が動いている）を示すどの顔もが選択の好適な複数の候補である。顔動き検出機構１８７はスピーチを解釈する必要はなく、それらはスピーチに対応しうる口またはあごの動き、または何か他の種類の動きを検出しさえすればよいことが理解されるべきである。
【０１１７】
いくつかの実装形態において、顔動き検出機構１８７は、ジェスチャー機構１６６によって使用されるように、顔の他の複数部分、例えば、両まゆ、両目、あご、口等、の動きを検出すべく用いられうる。複数の顔の動きは、それら自身がデバイスによって認識される複数のジェスチャーであるか、または、それらは他の複数の検出されるジェスチャーを確認すべく用いられうる。
【０１１８】
同様に、複数のジェスチャー（ジェスチャー機構１６６によって決定されるような）は単独で、または、他の検出される情報（例えば、複数の顔、複数の音声、複数の動き等）を確認すべく、用いられうる。
【０１１９】
この説明を読むと当業者は気付き理解するであろうように、概して、各インターフェース機構１６２は単独で、または複数の他のインターフェース機構と組み合わせて用いられうる。共に用いられる場合、様々なインターフェース機構は互いに確認し合うべく、および／または、互いのための複数のトリガとして、用いられうる。
【０１２０】
全てのデバイスまたは全ての種類のデバイスが複数のインターフェース機構の全てを有す必要はなく、これらの機構は全てが、全てのデバイスまたは全ての種類のデバイス上で用いられうるわけではないことが理解されるべきである。加えて、いくつかのデバイスは、どの複数のコーパスを使用すべきかを決定すべく、異なるおよび／または他の複数の技術を使用しうることが理解されるべきである。
【０１２１】
対話検出（例えば、図４ＪのＳ４０６、図４ＫのＳ４０６´）およびコーパス／複数のコーパスの選択（図４Ｌ）は別個の処理として示されているが、この説明を読むと当業者は気付き理解するであろうように、対話検出によって成される複数の決定のうちのいくつかはその次の処理において、例えば、人／ユーザが認識されるかどうかの決定において（図４ＭのＳ４２６において）、用いられうる。従って、いくつかの場合において、起こりうる対話の検出の処理（図４ＪのＳ４０６、図４ＫのＳ４０６´）においては、ユーザ／人の認識の処理（Ｓ４２６）をスキップ（または簡略化）すべく、デバイスは、デバイスと対話する人／ユーザについての決定された十分な情報を有しうる。
【０１２２】
再び図４Ｌを参照すると、実際の対話に対してどの複数のコーパスが使用されるべきかを決定して（Ｓ４０９において）、決定された複数のコーパス（Ｓ４０９において）および様々なインターフェース機構１６２を用いて、デバイスは実際の対話を決定すべく進みうる（Ｓ４１１において）。この説明を読むと当業者には明らかになるように、人の認識（Ｓ４２６）およびコーパスの選択（Ｓ４２８）の複数の処理によって、実際の対話は決定されうる（完全に、または一部）。これら２つの処理が実際の対話の決定をもたらさない場合、デバイスは実際の対話を決定すべく進む（Ｓ４１１において）。
【０１２３】
実際の実施形態を処理する代替の実装形態／アプローチは、だれか他の許可されたユーザが具体的に認識または識別されない限り、用いられるべき複数のコーパスはデバイスのユーザ１１０のそれであると仮定する。この例示的実装形態において、複数の対話検出機構によって生成される複数のスコアは、どの複数の認識機構が用いられるかを制御すべく用いられる。図４Ｎのフローチャートを参照すると、デバイスは、実際の対話に対してどの複数のコーパスを使用すべきかを決定する（Ｓ４０９´´において）。ユーザ検出処理（例えば、図４ＫにおけるＳ４１８´）がある閾値（図４ＮにおいてＴユーザで示される）よりも大きいスコアを生成した場合、デバイスはユーザの認識を試み（Ｓ４１８´´において）、成功すれば、認識されたユーザの複数のコーパスを選択する（Ｓ４５０´´において）。デバイスがユーザ（好ましくは許可されたユーザ）の認識に失敗する場合、または、ユーザ検出処理／機構によって生成されるスコア（Ｒ７）が閾値（Ｔユーザ）を超えない場合、デバイスは、（複数の一般的なコーパスでありうる、）デバイスのユーザに関連付けられる複数のコーパスを選択する。選択された複数のコーパス（Ｓ４０９´´において）を有し、デバイスは実際の対話の決定（Ｓ４１１´´において）に進む。図４Ｎの例示的な実装形態において、対応する複数の認識機構を起動するかどうかを決定すべく、デバイスは様々なインターフェース検出機構によって生成される複数のスコアを使用しうる。例えば、図４Ｎに示されるように、ジェスチャー検出機構１６８によって生成される（例えば、図４ＫにおけるＳ４１０´において）スコア（Ｒ１）が閾値（図４ＮにおいてＴジェスチャーで示される）を超える場合、デバイスはジェスチャー認識機構１７０を起動しうる（Ｓ４１０´´において）。同様に、顔検出機構１６８によって生成される（例えば、図４ＫにおけるＳ４１２´において）スコア（Ｒ２）が閾値（図４ＮにおいてＴ顔で示される）を超える場合、デバイスは顔認識機構１８４を起動しうる（Ｓ４１２´´において）。および同様に、音声／スピーチ検出機構１７６によって生成される（例えば、図４ＫにおけるＳ４１４´において）スコア（Ｒ３）が閾値（図４ＮにおいてＴスピーチで示される）を超える場合、デバイスは音声／スピーチ認識機構１７８を起動し得て（Ｓ４１４´´において）、他のインターフェース検出機構１９０によって生成される（例えば、図４ＫにおけるＳ４１６´において）スコア（Ｒ４）が閾値（図４ＮにおいてＴ他で示される）を超える場合、デバイスは他のインターフェース機構１９０を起動しうる（Ｓ４１６´´において）。
【０１２４】
理解および認識されるべきことは、対話を決定すべく用いられる様々な機構は、同時に、または、何らかの予め定められた順序（例えば、複数の検出機構によって生成されるスコアまたは重み付けされたスコアに基づいて）で進みうる、ということである。この説明を読むと当業者は気付き理解するであろうように、システムは、様々な認識機構が起動される順序によっては全く限定されない。
【０１２５】
複数の認識機構のうちのいくつかは複数の他の認識機構と共に動作しうる、または、複数の他の認識機構と統合されうるということもまた理解および認識されるべきである。
【０１２６】
例示的な複数の実装形態を参照して説明される複数の閾値は（例えば、図４Ｎにおける）、静的または動的であり得て、いずれの特定の認識機構の起動もが、異なるおよび／または他の複数の要因に基づきうる。いくつかの実装形態において、複数の閾値のいくつかまたは全ては、デバイスが複数の前の対話から学習する情報に基づいて変更されうる。この説明を読むと当業者は気付き理解するであろうように、システムは、様々な認識機構を起動すべく用いられる複数の値または複数のトリガによっては全く限定されない。
【０１２７】
図４Ｎにおける図から明らかなように、複数の起こりうる対話を検出すべく用いられた複数の機構（例えば、視線検出および顔動き検出）のうちのいくつかは、複数の対話認識機構から必要とされ得ないか、または、用いられ得ない。従って、例えば、視線が検出されると、その情報は対話認識をトリガすべく用いられうるが、それは実際の認識からはもはや必要とされ得ない。（様々な機構によって生成される複数のスコアに加えて、）検出処理の間に用いられる情報のうちのいくつかは、複数の認識機構によって提供されうることが理解されるべきである。そうであるので、例えば、顔認識機構（図４ＮのＳ４１２´´において起動される）は、どの顔を認識しようと試みるべきかを知るべく、視線検出機構からの情報をすでに有しうる。代替的に、顔認識機構および／またはジェスチャー認識機構は、それら自身が視線検出および／または顔動き検出機構を起動しうる。
実際の対話の処理
【０１２８】
実際の対話を決定して（Ｓ４１１において）、デバイスは、実際の対話に関連付けられる複数の命令または複数のコマンドまたは複数のクエリを実行すべく進む（Ｓ４１３において）。実際の対話の決定および／または実行（Ｓ４１１、Ｓ４１３における）は、デバイス上でローカルに成されうる、または、それは、複数の追加機能エンティティ１２０からの処理または支援だけでなく、バックエンド１０４からの（例えば、データベース１１４からの）情報、バックエンドを介する何か他のエンティティ（例えば、ソーシャルネットワーキングサービス１１６またはコンテンツプロバイダ１１８等）との対話、を必要としうる（またはそれらから恩恵を受けうる）。実際の対話の実行はまた、別のデバイス１０２との対話も伴いうる。デバイスとバックエンドとの間の複数の対話は、図１における弧線＃７に対応し、バックエンドデータベース１１４との複数の対話は弧線＃８に対応し、ソーシャルネットワーキングサービス１１６またはコンテンツプロバイダ１１８との複数の対話はそれぞれ弧線＃９および＃１０に対応し、複数の追加機能エンティティ１２０との複数の対話は弧線＃１１に対応する。他の複数のデバイスとのデバイスの複数の対話は図１における弧線＃１に対応する。
【０１２９】
実際の対話の実行（Ｓ４１３において）は、以前にバッファリングされた情報（図４ＩのＳ４０４）を使用すべく、デバイスを必要としうる。例えば、スピーチ対話でありうる音をデバイスが検出およびバッファリングする場合、デバイスがまた、デバイスを見ている（見つめている）人を検出するまで（または検出しない限り）（例えば、図４ＪのＳ４２０、図４ＫのＳ４２０´）、デバイスはスピーチ認識を開始し得ない。従って、視線は後のスピーチ認識（例えば、図４ＮのＳ４１４´´）のためのトリガとしてふるまう。このアプローチは、人がデバイスをまだ見ていない間に与え始め、デバイスを見ている間に提供し続けるスピーチまたは他の情報（例えば、複数のジェスチャー）を、デバイスがキャプチャできるようにする。すでに開始され得た複数の対話を含む複数の対話の、後の認識のための複数のトリガとして、他の複数の対話（例えば、複数のジェスチャー、複数の顔の動き等）が用いられうるということが理解されるべきである。システムはバッファリングされた起こりうる対話を有するので、１または複数のトリガーイベントが生じると、そのバッファリングされた情報を使用できる。
【０１３０】
この説明を読むと当業者は気付き理解するであろうように、複数のセンサ１３８によって検知および／または測定されうる任意の種類の情報はバッファリングされ得て、それから１または複数のトリガーイベントが検出された後に用いられうる。
学習
【０１３１】
先に記したように、複数の対話の検出および認識に用いられる様々な機構は、それらが時間と使用とを経てより正確になりうるように複数の学習機能を含みうる。いくつかの場合において、機構が特定のユーザについて学習するとき、その機構はそのユーザの対応する複数のコーパスを更新しうる。例えば、スピーチ認識機構が特定のユーザのスピーチを学習するとき、それは、その特定のユーザに関連付けられる複数のスピーチコーパスを更新しうる。
【０１３２】
個々の機構が、複数のユーザとのそれの対話から学習するのに加えて、デバイスそれ自身は、特定のユーザがどのようにしてデバイスと対話するかを学習し得て、その学習に基づいてそれの処理を最適化しうる。例えば、特定のユーザが複数のスピーチコマンドと組み合わせて常に同一のジェスチャー（例えば、デバイスに指さしする）を用いる場合、デバイスはそのパターンを学習できる。その例において、指さしのジェスチャーには、スピーチ認識のトリガとしてのより大きい重みが与えられうる。別の例として、特定のユーザが、複数の顔の動き（例えば、まゆを上げる）および特定の複数の単語と共に特定の手のジェスチャーを常に用いる場合、それらの特徴は、組み合わせで、デバイスによってより高い重みが与えられ得る。
【０１３３】
様々な動作機構が、分離された複数の機構として図４Ｂにおける図に示されているが、これらの分離は例として、およびこの説明を補助すべく提供されているだけであり、この説明の範囲を限定する意図は全くない。この説明を読むと当業者は認識および理解するであろうように、図４Ｂにおける複数の分離は必要とされるわけではなく、複数の機構のいくつかまたは全ては、異なるおよび／または他の複数の機能的ユニットへ組み合わされ得て、それは１つの機能的動作機構への組み合わせを含む。例えば、ジェスチャー検出機構１６８およびジェスチャー認識機構１７０は、１つのジェスチャー機構の一部でありうる。同様に、音声／スピーチ検出機構１７６および音声／スピーチ認識機構１７８は、１つの音声／スピーチ機構の一部でありうる。また同様に、顔／視線検出機構１８４および顔／視線認識機構１８６は、１つの顔／視線検出および認識機構の一部でありうる。同様に、図４Ｃにおける複数の動作機構のストレージ１５５の論理的描写は、この説明の補助のために与えられるのであって、この説明の範囲を限定する意図は全くない。この説明を読むと当業者は認識および理解するであろうように、異なるおよび／または他の複数のストレージ機構が本明細書において可能であり、考えられる。
複数のデバイス状態、複数のデバイスのプロビジョニングおよび設定
【０１３４】
本明細書において用いられるように、フレームワーク１００内のデバイス１０２を参照して、「プロビジョニング（ｐｒｏｖｉｓｉｏｎｉｎｇ）」という用語は、デバイスによって用いられる様々なシステム機構のインストール（または更新）の処理を指す。プロビジョニングはデバイス上へのファームウェアまたはソフトウェアのインストールおよび／または更新を含みうる。本明細書において用いられるように、フレームワーク１００内のデバイス１０２を参照して、「設定（ｃｏｎｆｉｇｕｒｉｎｇ）」という用語は、デバイスによって用いられる様々な機構に対する動作上の複数のオプションおよび／または複数のパラメータの確立または設定の処理を指す。例えば、デバイスを設定するということは、デバイスに対して複数のパスワードを設定すること、デバイスに対して複数のネットワークパラメータを確立すること、などを含みうる。
【０１３５】
ここで図６Ａを参照すると、デバイス１０２は様々なプロビジョニングおよび設定状態にあると考えられうる。デバイス１０２は、それが複数のシステム機構でまだプロビジョニングされていない場合、プロビジョニング前（ｐｒｅ−ｐｒｏｖｉｓｉｏｎｅｄ）状態にある。デバイス１０２は、それが複数のシステム機構でプロビジョニングさたが、ユーザ１１０とまだ関連付けられていない場合、一般的なプロビジョニング（ｇｅｎｅｒｉｃ  ｐｒｏｖｉｓｉｏｎｅｄ）状態にある。デバイス１０２は、それがまだ設定されていない場合、未設定（ｕｎｃｏｎｆｉｇｕｒｅｄ）状態にある。デバイス１０２は、それがシステム１００上で使用されるべく設定されたが、特定のユーザ１１０に対して設定されてはいない場合、一般的な設定（ｇｅｎｅｒｉｃ  ｃｏｎｆｉｇｕｒｅｄ）状態にある。デバイス１０２は、それが特定のユーザ１１０に対してプロビジョニングされた場合、ユーザプロビジョニング（ｕｓｅｒ−ｐｒｏｖｉｓｉｏｎｅｄ）状態にあると言われる。デバイス１０２は、それが特定のユーザ１１０に対して設定された場合、ユーザ設定（ｕｓｅｒ−ｃｏｎｆｉｇｕｒｅｄ）状態にあると言われる。デバイス１０２の様々な起こりうる状態遷移（Ｔ１、Ｔ２...Ｔ６で示される）が図６Ａに示されている。これらの状態および遷移は、単に記述的な、および例示的なものであり、この説明の補助をするためだけにここで用いられる。これら様々な状態、それらが何と称されるか、またはここで説明される複数の状態遷移によって、このシステムが限定されることはないことが理解されるべきである。これらの状態および遷移は、デバイス固有の機能とは独立でありうることもまた理解されるべきである。
【０１３６】
フレームワーク１００内でのデバイス１０２のプロビジョニングおよび設定に対して２つの態様がある。第１の態様は基本的に任意のユーザから独立しており、全てのシステム機構のその時々で最新の、および／またはローカライズされた複数のバージョンにデバイス１０２を従わせる。この態様は、プロビジョニング前から一般的なプロビジョニングへのデバイスの状態遷移Ｔ１に対応し、および、未設定から一般的な設定への遷移Ｔ２に対応する可能性もある。
【０１３７】
フレームワーク１００内でデバイス１０２をプロビジョニングおよび設定する第２の態様は、デバイスをデバイスに現在関連付けられる特定のユーザ１１０の複数の設定／複数の要求に従わせる。以前に一般的にプロビジョニングされ、または一般的に設定されたデバイスにとっては、この態様は、一般的なプロビジョニングからユーザプロビジョニングへの状態遷移Ｔ３に対応し、および、一般的な設定からユーザ設定への遷移Ｔ４に対応する可能性もある。デバイスの特定のユーザとの関連付けは、おそらく単に一時的に、または限定された複数の条件（例えば、位置、継続時間、使用等）下で変化しうる。従って、プロビジョニングおよび設定のこの第２の態様はまた、ユーザプロビジョニングデバイスが異なるユーザに対してプロビジョニングされる状態遷移Ｔ５に、および／または、ユーザ設定デバイスが異なるユーザに対して設定される状態遷移Ｔ６に対応しうる。
【０１３８】
従って、デバイスのプロビジョニングの処理は、デバイスへの全ての機構（例えば、ソフトウェア、ファームウェア等）の複数の最新バージョンのインストールを含みうる。デバイス１０２が製造されるとき、メーカ１０８は典型的に、デバイスに、複数のシステム機構１３４のあるバージョンをインストールする（デバイス固有の機能に対するものなどの他の複数の機構の複数のバージョンと共に）。しかしながら、それらのバージョンは製造時においてすら古いものであることが多い。従って、プロビジョニング処理において、ブートストラップ／プロビジョニング機構１５２は、最初の電源投入時、またはデバイスが配送または販売される前ですら、そのいずれかにおいて、いくつかまたは全ての機構（例えば、ソフトウェア、ファームウェア等）を更新しうる。いくつかの場合において、デバイス１０２は、全ての機構の更新を試みるべく、一定期間（例えば、３６時間）の後起動し、それからブートストラップ／プロビジョニング機構１５２を動作させるタイマ設定を有する低電力モードで配送されうる。デバイス１０２は、電源投入されると、既知の複数の無線（Ｗｉ−Ｆｉ）ネットワーク、またはインターネットに接続する他の複数のやり方を探すであろう。好ましくはデバイスは、既知の、および信頼できる複数のネットワークについての情報で（それの一般的な設定の一部として）予め設定され、デバイスは、複数の更新が得られうる既知の、および信頼できるソース位置にネットワーク１０１を介して接続すべく、それらのネットワークを用いる。ネットワーク接続が発見され確立されると、デバイス１０２は信頼できるソースから、それ自身で更新を開始できる。このように、デバイスがユーザの元に届く場合（例えば、それがユーザに販売された後）、デバイスは全ての機構の最も最近のバージョン（すなわち最新のバージョン）を有すべきであり、そのユーザに対して完全に（または実質的に完全に）プロビジョニングされるべきである。
【０１３９】
複数のコーパス（例えば、スピーチ認識、ジェスチャー認識等）を必要としうるそれらの機構に対し、最初はデバイスに複数の一般的なコーパスがインストールされる。
【０１４０】
好ましくは各デバイス１０２は、デバイスがバックエンド１０４とのセキュアなコンタクトを確立できるようにするのに十分な情報で設定される（例えば、製造時に）。この目的を達成すべく、デバイスに対する最初の一般的な設定は、デバイスとバックエンド１０４との間のセキュアな無線（例えば、セルラー方式またはＷｉＦｉの）通信をサポートすべく、様々な無線ネットワークに対する複数の名称および複数のパスワード、および／または複数の一般的な証明書を含みうる。セキュアな（ｓｅｃｕｒｅ）という用語は、信頼できる、および好ましくはスプーフィングされていない複数の通信チャネルを指すべくここで用いられる。セキュリティの程度は、デバイスのタイプに応じたものであり、複数の異なるタイプのデバイスは、デバイスツーデバイスおよびデバイスツーバックエンド通信のために複数の異なる程度のセキュリティを必要としうる。
【０１４１】
メーカによる、デバイスが任意のユーザ関連付けられるまでの処理は、図６Ａにおける状態遷移Ｔ１（Ｔ２の可能性もある）に対応する。
【０１４２】
システム１００を使用するように動作すべく、各デバイス１０２は好ましくはユーザ１１０に関連付けられる。デバイスはユーザに関連付けられないこともある（例えば、最初に製造されるとき）が、デバイスは２人以上の所有者に関連付けられないこともある（および、好ましくは一度に２人以上のユーザに関連付けられ得ない）。本明細書において説明されるように、デバイス１０２は２人以上の人またはユーザ１１０によって用いられうるが、システム１００内ではデバイスは１人のユーザに関連付けられるだけである。
【０１４３】
いくつかの場合において、製造および／またはプロビジョニング処理の、プロビジョニング段階の一部として、デバイスはユーザに関連付けられうる（例えば、ユーザがデバイスを注文または購入し、デバイス１０２の製造前にユーザの識別情報（ユーザＩＤ）を提供する場合）。
【０１４４】
第１のプロビジョニング処理（上述された）は、デバイスがユーザに関連付けられることなく行われうる。好ましくはプロビジョニングおよび設定の第２のレベルは、デバイス１０２がユーザ１１０に関連付けられると行われる。特に、デバイス１０２がユーザに関連付けられると、そのデバイス１０２はそのユーザから設定情報（例えば、複数のネットワークＩＤおよび複数のパスワードなどの無線ネットワーク情報）を取得することができる。デバイスが特定のユーザについて構成される場合、デバイスはユーザデータベース１３０からそのユーザについての情報を取得しうる。例えば、デバイス１０２はユーザプロファイル情報、複数のユーザローカルコーパス、および／または、そのユーザについての設定情報を取得しうる。この情報は、例えば、複数の動作機構１５５によって用いられるべく、デバイスによって格納されうる。例えば、デバイス１０２はユーザデータベース１３０から複数のユーザローカルコーパスを取得し得て、デバイス上の対応する適切な複数のインターフェース機構のストレージ１６３にそれらのコーパスを格納しうる。このように、ユーザが特定のデバイスまたは特定の種類のデバイスをすでに用いた場合、新しく取得したデバイスは、そのユーザとの様々な対話を検出および認知すべく再トレーニングされる必要はないといえる。
【０１４５】
ユーザデータベース１３０からのいくつかの情報（例えば、ユーザの複数のデバイスのリスト―そのユーザによって所有される複数のデバイスの複数のデバイスＩＤのリスト、およびユーザの複数の友人のリスト―ユーザの複数の友人の複数のユーザＩＤのリスト）は、デバイス上で一方向符号化で符号化されうる（例えば、ＭＤ５などの暗号化ハッシュを用いて）。このように、複数のデバイスＩＤおよび複数のユーザＩＤは公開されないが、（後に説明されるように）、複数のリスト中の情報が用いられうる（例えば、２つのデバイス間の可能性のある複数の関係を評価すべく）。
【０１４６】
各デバイスのプロビジョニングおよび設定状態を反映すべく、デバイスおよび複数のユーザデータベースは好ましくは更新される（好ましくは、ほぼリアルタイムで）ので、好ましくはデバイスデータベースはシステム中の各デバイスの状態および設定の現在の表示を提供する。ネットワーク１０１に接続されていない、または接続できない、もしくは何か他の方法（例えば、セルラーシステム）を用いる複数のデバイスはバックエンドに情報を提供するのを延期しうることが理解されるべきである。しかしながら、好ましくは各デバイスは、ネットワーク１０１に接続される間、および再接続するときに、その状態情報でバックエンドを更新する。同様に、何らかのやり方でバックエンド１０４にデバイス１０２が接続する場合、デバイスは好ましくは、デバイスのユーザに関するあらゆる更新データを含む、バックエンドからの複数の更新データを得る。
【０１４７】
特に、デバイス上の現在の複数のコーパスを反映すべく、各デバイス１０２はデバイスデータベース１２８中の複数のコーパスを定期的に更新すべきである。これらの更新は、定期的に（例えば、一日に一回）、または、デバイスがデータベースに接続できて（バックエンド１０４を介して）、デバイスデータベースが更新を必要としていると決定できるときはいつも行われうる。
【０１４８】
加えて、ユーザデータベース１３０中の複数のコーパスの情報は、各ユーザのデバイス上の複数のコーパスの現在状態を反映すべきである。従って、ユーザデータベース１３０は、そのユーザの最新のコーパスを反映すべく更新されるべきである（例えば、デバイスデータベースと同様に）。ユーザデータベース１３０は、複数のユーザローカルコーパスおよび複数のユーザ拡張コーパスを含みうることを思い出されたい。複数のユーザローカルコーパスはユーザの複数のデバイス上の複数のコーパスに対応する。複数のユーザ拡張コーパスは、複数のユーザ対話を処理すべく、バックエンドまたは他の複数の外部システム（例えば、追加機能１２０）によって用いられる複数のコーパスに対応する。例えば、複数のユーザローカルコーパスは、デバイス１０２が用いることができる複数の限定されたスピーチ認識コーパスを含み得て、一方で、複数のユーザ拡張コーパスは、例えば、追加機能１２０によって用いられることができる、そのユーザの複数の拡張されたスピーチ認識コーパスを含みうる。
【０１４９】
各ユーザの複数のコーパスは、ユーザの複数のデバイスの種類または複数の能力に基づいて、ユーザデータベース１３０上で編成または格納されうる。これは、システムが複数の種類のデバイスをサポートすることを可能にする。ユーザが特定のデバイスからの複数のコーパスでユーザデータベース１３０を更新する場合、データベースは好ましくは、デバイスの種類および複数の能力に基づいてそれらのコーパスを格納する。
【０１５０】
好ましくは、デバイスデータベース１２８およびユーザデータベース１３０は複数のコーパスの前のバージョンを維持する。
【０１５１】
いくつかの場合において、ユーザは同一タイプの複数のデバイス（例えば、複数のスピーカ）を有しうる。ユーザの複数のデバイス（特に同一タイプの複数のデバイス）のそれぞれにある複数のコーパスは、そのタイプのデバイスに対して、そのユーザの複数のコーパスの最新のバージョンを有するのが好ましい。従って、各デバイスは定期的にバックエンドにコンタクトして、それが複数のコーパスの最新バージョンを有しているかどうか決定すべきである。そうでない場合は、デバイスはユーザデータベース１３０からの複数のコーパスの最新バージョンを得うる。
【０１５２】
デバイスのプロビジョニングおよび設定は、最初にユーザと関連付けられれば、図６Ａの状態遷移Ｔ３（およびＴ４の可能性もある）に対応する。
デバイスの製造およびプロビジョニング
【０１５３】
図６Ｂ−図６Ｉは複数のデバイス１０２の製造の複数の例を示している。デバイスメーカ１０８は好ましくは、システム１００から複数のシステム対応型デバイス１０２を製造べく権限を与えられる。
【０１５４】
図６Ｂにおける例では、各デバイスはメーカによって提供される固有シリアルナンバを有し、各デバイスはデバイスの固有シリアルナンバに応じたデバイスＩＤを有する。図６Ｃにおける例では、以下で説明されるように、各デバイスはＭシステムによって提供される固有シリアルナンバを有する。Ｍシステムによって用いられる固有シリアルナンバは、デバイスメーカによって用いられる他の複数のシリアルナンバとは異なりうることが理解されるべきである。
【０１５５】
図６Ｂおよび図６Ｃにおける複数の図を参照すると、一例示的実施形態において、デバイスメーカ１０８はデバイス証明書発生器１７２（バックエンド１０４の一部でありうる）に複数のデバイスシリアルナンバを（個々に、またはバッチで、のいずれかで）提供する（Ｓ６０１において）。デバイス証明書発生器１７２はメーカによって提供されるデバイス情報（例えば、シリアルナンバ）を用いて、そのデバイスに対する（すなわち、そのシリアルナンバに関連付けられた、またはこれから関連付けられるデバイスに対する）固有デバイスＩＤを作成する（Ｓ６０２において）。その固有デバイスＩＤはデバイスＣＡ１２４に送信されて（Ｓ６０３において）、デバイスＣＡはそれをデバイスＣＡ１２４によってサインされた証明書に入れ込む。デバイスＣＡ１２４はそれから、サインされた証明書を送信してメーカに返し（Ｓ６０４、Ｓ６０５において）、デバイスに入れ込まれる。固有デバイスＩＤを有するサインされた証明書はデバイスの証明書１５０に格納される。
【０１５６】
この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の情報（Ｓ６０１においてメーカ１０８によって提供されるもの以外、またはそれに加えて）は、複数のデバイス証明書を生成すべくデバイス証明書発生器によって用いられうる（Ｓ６０２において）。
【０１５７】
好ましくは、メーカによって提供される情報（Ｓ６０２における）はまた、デバイスの複数の機能および／または複数のコンポーネントについての情報を含む。
【０１５８】
デバイス証明書が生成されサインされてしまえば、その証明書（証明書のコピーも含む可能性がある）についての情報はバックエンド１１２に送信される（Ｓ６０６において）。証明書に関連付けられるデバイスＩＤは、データベースへのキーまたはインデックスとして、デバイスデータベース１２８によって用いられうる。バックエンド１０４は複数のデバイスＩＤを生成すべく用いられる情報を提供されるので、デバイスについての情報（例えば、その複数の機能）はバックエンドによってすでに知られ得て、ゆえにこれらはデバイスデータベース１２８中のデバイスＩＤに関連付けられうる。
【０１５９】
好ましくは証明書中の情報は、デバイスによって適切な復号キーでのみ読み出されうるように、暗号化される。
【０１６０】
デバイス証明書がバックエンド１０４によって生成される（例えば、デバイス証明書発生器１７２を介して）と、その証明書は１つのデバイス（証明書に関連付けられた固有デバイスＩＤを有する）に関連付けられ得るのみであることが理解されるべきである。何らかの理由で、デバイスがアクティブでなくなる、または紛失する（または決して実際には製造されない）場合、そのデバイスＩＤおよび証明書は再利用されるべきではない。
【０１６１】
メーカ１０８とバックエンド１０４との間の複数の対話（デバイス証明書発生器１７２を介する）（Ｓ６０１、Ｓ６０５、およびＳ６０６における）は、図１における対話＃１３に対応する。デバイスＣＡ１２４とバックエンド１０４との間の複数の対話は（デバイス証明書発生器１７２を介する）、図１における対話＃６に対応する。
【０１６２】
いくつかの場合において、デバイス証明書発生器１７２は、メーカからの複数のシリアルナンバのリストに基づいて、メーカに証明書を大量に提供しうる。
【０１６３】
代替的および現在好適な例示的な実施形態において、システムは、複数のシリアルナンバおよび複数の関連付けられる証明書の複数のかたまりを生成（または取得）し、それらのシリアルナンバおよび証明書を複数のかたまりで複数のメーカに提供する。従って、図６Ｄおよび６Ｅにおける複数の図を参照すると、バックエンド１０４は複数のシリアルナンバを生成し、それらをデバイス証明書発生器１７２´に提供する（Ｓ６５１において）。以前の例におけるように、デバイス証明書発生器１７２´はバックエンド１０４の一部であり得て、および／または、バックエンド１０４と同じ位置に配置されうる。
【０１６４】
デバイス証明書発生器１７２´はバックエンドによって提供される情報（例えば、シリアルナンバ）を用いてシリアルナンバに関連付けられた、またはこれから関連付けられるデバイスに対する固有デバイスＩＤを作成する。その固有デバイスＩＤはデバイスＣＡ１２４に送信され（Ｓ６５３において）、デバイスＣＡ１２４はそれをデバイスＣＡ１２４よってサインされる証明書へ入れ込む。それから、デバイスＣＡ１２４はサインされた証明書をデバイス証明書発生器１７２´へ送信して返し（Ｓ６５４において）、デバイス証明書発生器１７２´はそれをバックエンドに送信して返す（Ｓ６５５において）。固有デバイスＩＤを備えるサインされた証明書は、デバイスの証明書１５０に格納される。
【０１６５】
複数の証明書中の情報は、それが、権限を与えられた複数のデバイスによってのみ読み出されうるように、好ましくは暗号化される。デバイス証明書発生器１７２´は、デバイスＣＡ１２４に証明書を提供する前に、シリアルナンバおよび固有デバイスＩＤを暗号化しうる。
【０１６６】
この説明を読むと当業者は気付き理解するであろうように、バックエンド１０４は複数のシリアルナンバを提供しているので、それらの数字は、複数のデバイスＩＤを形成すべく少なくとも部分的に用いられうる。
【０１６７】
バックエンド１０４は複数のシリアルナンバおよび対応する複数の証明書を、好ましくは、そのような複数の数字と複数の証明書とのかたまりで、デバイスメーカ１０８に提供（Ｓ６５６において）する。メーカは複数のデバイス中にそれらの証明書のいくつかまたは全てを用い得て、バックエンド１０４にそれが用いる複数のシリアルナンバ／複数の証明書のリストを提供する（Ｓ６５７において）。
【０１６８】
バックエンドは全てのシリアルナンバのリストおよび全ての証明書の複数のコピーを有しているので、それは用いられる複数の数字を追跡でき、それによって、複数のメーカによって提供される情報を検証できることが理解されるべきである。例えば、メーカが特定のデバイスにおける特定のシリアルナンバの使用の報告を失敗する場合、バックエンドは、その特定のデバイスがシステムに接続するときにそのシリアルナンバの使用を検出するであろう。同様に、メーカが複数のデバイスに同一のシリアルナンバ／証明書の組み合わせを用いる場合、バックエンドはその重複を検出するであろう。
【０１６９】
図６Ｅにおけるフローチャートは、図６Ｄにおいて説明される製造の実施形態の複数の態様を示している。図６Ｅにおける鉛直方向の破線は、どの複数の態様がシステムによって実行され、および、どの複数の態様がメーカによって実行されるか、を示すべく設けられている。システムは複数のシリアルナンバおよび複数の証明書を生成し（Ｓ６６１において）、これらを、好ましくは複数のナンバ／複数の証明書の複数のかたまりで、バックエンドに提供する（Ｓ６６２において）。メーカは複数のナンバ／複数の証明書のかたまりを取得し（Ｓ６６３において）、それらののうちのいくつかを複数のデバイスに用いる（Ｓ６６４において）。メーカは、どの複数のシリアルナンバ／複数の証明書を用いたかを報告し（Ｓ６６５において）、バックエンドは用いられた複数のシリアルナンバ／複数の証明書のリストを取得する（Ｓ６６６において）。
【０１７０】
いくつかの実装形態において、メーカはデバイスタイプ、機能等などの追加の情報を報告しうる（Ｓ６６５において）。
プロビジョニング、設定、およびユーザへの関連付け
【０１７１】
デバイス１０２の、例示的な最初のプロビジョニングおよび設定（図６Ａの状態変化Ｔ１およびＴ２にそれぞれ対応する）が、図６Ｆのフロー図に示されている。この段階において、デバイスはそれに関連付けられるデバイスＩＤを有することが仮定される（上述されたように）。メーカは、デバイス１０２に、必要に応じて、必要とされる複数の機構および他の複数のコンポーネント（例えば、複数のシステム機構１３４、複数のセンサ１３８、複数の通信１４２）を提供する（Ｓ６０８において）。これらの機構および他の複数のコンポーネントは、複数のデバイス固有のコンポーネントへの複数の接続を備える単一の基板またはキットの形で提供されうるか、または、それらは複数のデバイス固有のコンポーネントと完全にまたは部分的に統合されうる。キットまたは基板として提供される場合、全てのコンポーネントがアクティブでありうる、またはアクティブ化されうるわけではない。例えば、複数の特定のコンポーネントは、デバイスの位置、デバイスの種類、または、それらの後のアクティベーションに対してユーザらが追加的な料金を請求されるという理由に基づき、非アクティブ化されうる。
【０１７２】
複数の機構がインストールされて、デバイスは初期設定が提供される（Ｓ６１０において）。初期設定は、様々な機構用に、必要に応じて、複数の一般的なコーパスを含みうる。初期設定はまた、デバイスのバックエンドへの接続をサポートする情報（例えば、既知の、または信頼できるネットワークについての情報等）を含みうる。
【０１７３】
好ましくはデバイスは、バージョン情報および複数のコーパスの詳細を含む、全ての機構およびそれらの設定の現在状態のリストまたはマニフェストを維持する。デバイスが最初にプロビジョニングされ、および設定されると（例えば、製造中に）、その現在のマニフェストは、デバイスに関連付けられるデータベースエントリにおいて格納すべくバックエンドに提供される（Ｓ６１２において）。
【０１７４】
上述の通り、プロビジョニングされた／設定されたデバイスは、ユーザに関連付けられる前に、その複数の機構および設定を更新しうる（Ｓ６１４において）。例えば、デバイスは、配送中にそのファームウェアを更新すべく、既知の／信頼できるＷｉ−Ｆｉ接続を用いうる。全てのそのような更新が、デバイス上およびデバイスデータベース中の両方において、デバイスのマニフェストに反映されるべきである（Ｓ６１６において）。デバイスデータベースはデバイスへの更新の履歴を維持しうる。デバイスによって用いられるいくつかの機構（例えば、音声／スピーチ認識、ジェスチャー認識等）は複数の第三者によって提供されうる。それらの場合において、機構はそれに含まれるファームウェアおよび／または複数のコーパスを有し得て、それらのコンポーネントに対する複数の更新は複数の第三者から取得されなければならないといえる。
ユーザ登録
【０１７５】
各ユーザ１１０は、システム１００内で少なくとも１つの固有のユーザ識別情報（ＩＤ）を有さなくてはならないことを思い出されたい。好ましくは各ユーザ１１０は、システム１００に登録することによってそれらのユーザＩＤを取得する。ユーザ登録は、オフライン処理によって、バックエンドへのウェブインターフェースによって、または、デバイス１０２によって、行われうる。ユーザは何らかのデバイス１０２を有する前に登録しうる。ユーザの登録（上で説明されたような）の一部として、各ユーザはシステム１００内で固有でなくてはならないユーザＩＤを有する。ユーザが登録すると、そのユーザに対するエントリは、好ましくはそのユーザのユーザＩＤでプライマリにキー付け、またはインデックス付けされるユーザデータベース１３０において作成される。ユーザのデータベースエントリ（それらのユーザＩＤに対応する）は、登録処理中にポピュレートされて、ユーザによって提供される情報（例えば、フォームまたはアンケートによって）、および／またはユーザが（直接的にまたは間接的に）提供する情報に基づいてシステムが取得または導き出すことができる情報を含める。例えば、ユーザがソーシャルネットワークＩＤを用いる、またはソーシャルネットワークを介して登録する場合、そのソーシャルネットワークからのユーザについての情報はデータベース中に含まれうる。
【０１７６】
ユーザデータベース１３０は好ましくはユーザＩＤを用いてインデックス付けされるが、この説明を読むと当業者は認識し理解するであろうように、ユーザデータベース中のデータにアクセスすべく、異なるおよび／または他の複数のキーが用いられうる。
【０１７７】
上記したように、複数のデバイス１０２は各ユーザ１１０に関連付けられうる。複数のデバイスは、好ましくは階層的ステータスを有さない一方で、それは、ユーザが取得する第１のデバイスの設定の処理を説明するのに有用である。
【０１７８】
図２に示されるように、各ユーザは好ましくは、格納された、そのユーザのユーザＩＤおよび関連付けられるユーザ証明書１７５を有する、少なくとも１つのユーザデバイス１７４（例えば、スマートフォン、または同類のもの）を有す。ユーザデバイス１７４はまた、１または複数のシステム機構１７８を（例えば、ユーザデバイス１７４上で動作するアプリケーション（ａｐｐ）の形で）有しうる。システム機構／ユーザアプリケーション１７８は、システム１００内でのユーザデバイス１７４の設定、ならびにユーザデバイスの他の複数の態様の設定をするやり方をユーザに提供する。特に、ユーザデバイス１７４は、Ｗｉ−Ｆｉおよび他のネットワーク情報（複数のローカルＷｉ−Ｆｉネットワークの識別データ、複数のサービスセット識別子（ＳＳＩＤ）、および複数のパスワード、などの）を設定するやり方をユーザに提供しうる。この情報は、ユーザデバイス１７４上に設定情報１８０として格納され得て（図２）、また、ユーザデータベース１３０中にユーザに関連付けられる設定情報として格納されうる（図３Ａ）。この説明を読むと当業者は気付き理解するであろうように、この設定情報は慎重に扱うべきものであり、秘密裡に維持されるべきである（例えば、暗号化によって）。
【０１７９】
ユーザデバイス１７４はデバイス１０２の例でありうることが理解されるべきである。
【０１８０】
例示的なユーザ登録が図６Ｇを参照して説明される。まず、（Ｓ６２０において）ユーザはシステムからユーザＩＤを取得する（例えば、上述されたように）。それからシステムは、そのユーザのためのユーザデータベースエントリを作成する（好ましくは、ユーザＩＤでキー付け、またはインデックス付けされて）（Ｓ６２２において）。それからシステムはそのユーザのための複数のそのデータベースフィールドをポピュレートする（Ｓ６２４において）。
デバイスのユーザとの関連付け
【０１８１】
デバイスがシステム１００内で完全に動作すべく、各デバイス１０２はユーザ１１０に関連付けられる必要がある。どのユーザとも関連付けられていないデバイスは、依然としてそのデバイス固有の機能のうちのいくつかまたは全てを提供できうることが理解されるべきである。
【０１８２】
ユーザがデバイス１０２（例えば、新たなデバイス）を取得するとき、そのデバイスはそのユーザに関連付けられる必要がある。例示的な、デバイスのユーザとの関連付けが、図６Ｈを参照して説明される。まず（Ｓ６２６において）、デバイスはデバイスデータベース１２８およびユーザデータベース１３０においてユーザに関連付けられる。デバイスデータベース１２８において、デバイスの所有者はユーザのユーザＩＤに設定される。ユーザデータベース１３０において、デバイスの固有デバイスＩＤがユーザのユーザＩＤに関連付けられた複数のデバイスに追加される。デバイスについての情報は、ユーザデータベース１３０中の他の複数のフィールドに追加され、ユーザのこのデバイスとの関連付けを反映すべく履歴が更新されうる。
【０１８３】
いくつかの実施形態において、デバイスは、ユーザにユーザの別のデバイスでデバイスをタッチ（またはタップ）させることで、ユーザに関連付けられるようになりうる。好適な複数の実装形態において、特定のデバイスがまだどのユーザによっても所有されていない場合、初めてその特定のデバイスが他のデバイスによってタップされる時、その特定のデバイスは他のデバイスのユーザに関連付けられるようになる。特定のデバイスは、バックエンドデータベースから、および／または、それをタップしたユーザのデバイスから、ユーザの設定情報を取得しうる（図６ＨにおけるＳ６２８）。特定のデバイスがすでにユーザに関連付けられている場合、別のデバイスからの次のタッチ（またはタップ）は、その特定のデバイスに複数の一時的な許可を提供すべく用いられうる。そうして例えば、複数のデバイスが何らかのやり方で結合されることを可能にしたり、または、その特定のデバイスが、それをタッチしたデバイスからいくつかの設定情報を（好ましくは一時的に）引き継ぐことを可能にする。複数のデバイスがペアにされたら（例えば、タッチによって）、次にそれらはＢｌｕｅｔｏｏｔｈ（登録商標）信号またはＷｉＦｉ信号、または同類のものを介して情報を共有しうる。情報の共有は複数の形態で成されうることが理解されるべきである。例えば、コンテンツ（例えば、音楽またはビデオコンテンツ）がＷｉＦｉを介して共有されうる一方で、メタデータはＢｌｕｅｔｏｏｔｈ（登録商標）を介して共有されうる。さらに、以前にペアにされたことがあれば、２つのデバイスは、連携を継続または再確立すべく互いの存在を検出しうる（例えば、それらの範囲内でのＢｌｕｅｔｏｏｔｈ（登録商標）信号によって）。
【０１８４】
好ましくは各デバイスはそのデバイスに関連付けられるユーザについてのいくつかの情報（例えば、図４Ａのシステム機構／データ１３４）を維持する。デバイス上の情報は、ユーザについての情報を反映すべく更新されうる（Ｓ６２８において）。この情報は、ユーザデータベース１３０中のユーザのユーザＩＤに関連付けられる情報のうちの少なくともいくつかを含みうる。例えば、デバイス１０２上に格納される情報は、ユーザのユーザＩＤ、ユーザのプロファイルからの情報、ユーザに関連付けられる複数の他のデバイスについての情報、ユーザの複数の友人についての情報（例えば、彼らのそれぞれのユーザＩＤによる）、複数のユーザ証明書、ユーザの複数のコーパス、およびユーザ設定情報を含みうる。デバイス上のユーザの情報のうちの少なくともいくつかは、好ましくはセキュアなやり方、例えば、暗号化された形態で、格納され、維持されるべきであることが理解されるべきである。
【０１８５】
デバイスが、ユーザの情報を含めるべく更新されたら（Ｓ６２８において）、デバイスデータベース１２８は、デバイスに成された複数の変更を反映させるべく更新される必要がありうる（Ｓ６３０において）。例えば、ユーザの複数のローカルコーパスがデバイス上に格納されるならば（どんな複数のコーパスがすでにそこに存在しようとも、という代わりに、例えば、複数の一般的なコーパス）、デバイスデータベース１２８は、（デバイスの複数のコーパスおよびデバイス履歴において）この情報を反映させるべく更新されるべきである。
【０１８６】
ここで説明された、システム１００において特定のユーザ１１０にデバイスを関連付けるための例示的な処理は、図６Ａにおける、一般的なプロビジョニングからユーザプロビジョニングへの状態変化Ｔ３、および一般的な設定からユーザ設定への状態変化Ｔ４に対応する。
【０１８７】
ユーザがシステムで以前用いられた（およびゆえに、別のユーザに関連付けられられる）デバイスを取得する場合、デバイスはまず、それがそれに関連付けられるユーザ情報を有さない状態に復元される必要がありうる。デバイスは、その工場出荷時の複数の設定（または複数の前ユーザ設定）にそれを復元させる任意の技術によって復元されうる。この種のリセットは、図６Ａにおける、ユーザプロビジョニングから一般的なプロビジョニングへ戻る状態変化Ｔ３´および、ユーザ設定から一般的な設定へ戻る状態変化Ｔ４´に対応する。
設定情報のデバイスへの関連付け
【０１８８】
上記のように、デバイスは、デバイスが最初にユーザに関連付けられるとき、ユーザデータベース１３０から（または別のデバイスから）ユーザ設定情報を取得しうる（図６ＨにおけるＳ６２８）。しかしながら、ユーザ情報は変化しうるので（例えば、ユーザがシステム内で新たな友人を得る、またはユーザが、更新されたもしくは新たな無線ネットワーク情報を有する、またはユーザが新たなセルラー通信情報を有する、等）、その情報はデータベースからデバイスへ（およびその逆にも）伝搬すべきである。従って、図６Ｈに示されるように、ユーザの設定情報のデバイスへの提供（Ｓ６２８における）、および、ユーザデータベース１３０およびデバイスデータベース１２８の更新（Ｓ６３０における）は、必要に応じて繰り返される（可能な場合）。例えば、デバイスは、それがユーザの情報の最新バージョンを有するかどうかを決定すべく、可能な場合（例えば、それがバックエンド１０４に接続できる場合）に複数のデータベースをチェックしうる。いくつかの場合において、バックエンドは、ユーザ情報の更新についてデバイスに警告を出すべく、それに対する複数の通知のプッシュを試みうる。デバイスはユーザの情報に対する変更をし（または変更を引き起こし）うる（例えば、デバイスは更新された複数のコーパスまたはネットワーク設定情報を有しうる）ので、これらの変更はまた伝搬し、デバイスデータベースおよびユーザデータベースへ返される必要がある。この処理は、図６Ｉに反映され、それは、情報のデバイスからバックエンド１０４への提供（Ｓ６３２における）と、その後のそれに応じたユーザデータベースおよびデバイスデータベースの更新（Ｓ６３４における）とを繰り返して（必要に応じて、または可能な場合に）示している。特定のユーザのユーザデータベース１３０の任意の更新は、そのユーザの複数のデバイスに送信されるべき対応する複数の更新、およびデバイスデータベース１２８への対応する複数の更新を必要としうることが理解されるべきである。例えば、ユーザが複数のデバイスを有し、複数のコーパスおよび／または設定情報がそれらのデバイスのうちの１つのデバイス上で変更される場合、その複数のコーパスおよび／または設定情報は、そのユーザの他の複数のデバイスに伝搬されるべきである。このように、ユーザは、独立して、または別個にそれらのデバイスの全てをトレーニングまたは設定する必要はなく、各デバイスはそのユーザの他の複数のデバイスに適用されるトレーニングおよび複数の設定から恩恵を受けることが可能である。
【０１８９】
ユーザの複数のデバイスは、互いに同期しない、および／または、ユーザデータベース１３０およびデバイスデータベース１２８中の情報と同期しないことがある、ということが認識され理解されるべきである。これは、例えば、いくらかの期間、複数のデバイスがバックエンドに接続不可能になる場合に起きうる。システムは好ましくは、複数のデバイスおよび複数のデータベースを同期させるべくコンフリクト解消技術を適用する。例示的コンフリクト解消アプローチでは、最新の複数バージョンの設定および複数のコーパスの情報を選択すべく複数のタイムスタンプを用いうる。別の例示的なコンフリクト解消アプローチは、ユーザデータベースにおける設定および複数のコーパスの情報の複数のバージョンは正しいと常に仮定しうる。
【０１９０】
ユーザが特定の複数の設定および／または複数のコーパスを選択できるようにすべく、ユーザはバックエンドへの、および／または、そのユーザの複数のデバイスへのインターフェースを提供されうる（例えば、電話１７４などのユーザデバイス上のアプリケーションによって、またはウェブインターフェースによって）が、好ましくは任意のコンフリクト解消技術は、ユーザ介入なしに実行されうる。いくつかの実装形態において、ユーザはそれらのデバイスに複数の更新を強いる（例えば、プッシュする）ことができうる。
複数のコーパスについての注意
【０１９１】
複数のコーパスは、例えば、デバイス１０２中の様々なインターフェース機構１６２によって用いられる。例えば、音声／スピーチ認識機構１７８は、複数のローカルスピーチコーパス（デバイス１０２に格納される）を用いうる。しかしながら、当業者は理解するように、音声／スピーチ認識は、たとえ同一の音声／スピーチ認識機構１７８に対してであっても、いくつかの要因によって影響を受けうる。例えば、複数の異なる品質または種類の入力センサ（例えば、複数のマイク）は、たとえ同一の音声／スピーチ認識機構１７８に対してであっても、複数の異なるコーパスをもたらしうる。この目的を達成すべく、必要ならば、ユーザデータベース１２８中の複数のコーパスは複数のユーザの複数のデバイスのハードウェアの詳細に基づいて編成されうる。これらの場合において、特定のユーザの特定の複数のコーパスが変化する（例えば、その特定のユーザに関連付けられる特定のデバイス上での学習処理に基づいて）場合、それらのコーパスはデータベース中で更新されるが、そのユーザの同等の複数のデバイスに（すなわち、それらのコーパスに関連付けられる認識機構に対して同等のハードウェアおよびセンサ構成を有する、そのユーザの複数のデバイスに）伝搬されるのみである。
【０１９２】
例えば、特定のユーザ１１０が複数のデバイスを有すると仮定すると、それらのうちのいくつかは、それらのシステム機構１３４に対する第１のハードウェア構成および／または複数のセンサ１３８を有し、ほかの複数のデバイスはそれらのシステム機構１３４に対する第２のハードウェア構成および／または複数のセンサ１３８を有する。第１のハードウェア構成を備える複数のデバイスは、それらの対応する複数の動作機構に対して第１のセットのコーパスを用い、第２のハードウェア構成を備える複数のデバイスは、それらの対応する動作機構に対して第２のセットのコーパス（第１のセットのコーパスとは別個の）を用いる。この例において、第１のハードウェア構成を備える第１のデバイスがそれの複数のコーパス（例えば、スピーチ認識コーパスまたはジェスチャー認識コーパス）を更新する場合、その更新はユーザデータベース１３０に、およびデバイスデータベース１２８に送信されるべきであるが、それは第１のハードウェア構成を有する、その特定のユーザの他の複数のデバイスのみに伝搬するべきである。
【０１９３】
この説明を読むと当業者は気付き理解するであろうように、複数の異なるタイプの複数のデバイス（すなわち、異なる基本的なデバイス固有の機能を有する）はそれらのシステム機構に対して同一のハードウェア構成を有しうる。同様に、同一タイプの複数のデバイス（例えば、複数のスピーカ）はそれらのシステム機構に対して異なるハードウェア構成を有しうる。
【０１９４】
発明者らは、最小のユーザ介入およびアクションで、デバイスに様々なセットアップおよび設定情報を学習させることが有用でありうることを認識した。従って、彼らは、複数のデバイスに互いに学習させることが有利かつ好適であることを認識した。よって、いくつかの態様において、デバイス１０２―Ａは別のデバイス１０２―Ｂから設定情報を取得しうる。いくつかの場合においては、２つのデバイスに互いにタッチさせることで、デバイスは別のデバイスから情報を取得しうる。これらの対話は図１に描かれるデバイスツーデバイス対話＃１に対応し、少なくとも部分的にはデバイスツーデバイス機構１５６によって実装されうる。他の複数の場合において、デバイスは、情報を取得するようユーザコマンドによって命令されることで別のデバイスから情報を取得しうる。ユーザのデバイスはまた、ユーザデータベースから設定および他の情報を取得しうる。
デバイスのハートビートおよび複数の対話
【０１９５】
各デバイス１０２は好ましくはハートビート（ＨＢ）機構１９４（図４Ｂ）を含むことを思い出されたい。デバイス１０２上のハートビート機構１９４は、（１）複数のハートビートメッセージ（複数のハートビート）を生成するための機能、および、（２）他の複数のデバイスからの複数のハートビートのモニタリングをする機能、の２つの主な機能を有する。
【０１９６】
従って、特定のデバイス１０２上のハートビート機構１９４は、特定のデバイス１０２の状態または存在（ｅｘｉｓｔｅｎｃｅ）またはプレゼンス（ｐｒｅｓｅｎｃｅ）について、システム（例えば、バックエンド１０４）に、および／または他の複数のデバイス１０２に、様々な信号を提供すべく用いられうる。デバイスのハートビート（ＨＢ）機構１９４は、ローカル通信（例えば、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＬＥ）を含むＢｌｕｅｔｏｏｔｈ（登録商標）、ジグビー等）のためのデバイスの複数の機構と、Ｗｉ−Ｆｉ通信（例えば、８０２．１１等）のためのデバイスの複数の機構と、セルラー通信（例えば、携帯電話ネットワークを用いる複数のモデムまたは他の複数のデバイス等）のためのデバイスの複数の機構と、有線通信（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、または同類のもの）のためのデバイスの複数の機構とのうちの１または複数によって、デバイスのハートビート（および関連付けられる情報）をブロードキャストすべくデバイスの複数の通信機構１４２を用いうる。各ハートビートメッセージは、システム１００の他の複数のコンポーネント（例えば、バックエンド１０４、他の複数のデバイス１０２）が、それがハートビートメッセージであると認知する（おそらくは確認する）ことを可能にする情報、および、システム１００の他の複数のコンポーネントが認知する（および、おそらくはデバイス識別情報を確認する）ことができるようなデバイスを識別する情報、を含みうる。
【０１９７】
複数の異なるハートビートメッセージ（複数の異なるフォーマットを備え、異なる情報を有し、複数の異なる周波数における）は複数の異なる通信機構によってブロードキャストされうる。例えば、バックエンド１０４向けの、ネットワーク１０１またはセルラーネットワークを介して送信されるハートビートメッセージは、毎日、または何らかの履歴の情報が提供されるべき場合に、外へ送信されうる。一方、他の複数のデバイス向けの、デバイスの複数のローカル通信機構（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、および同類のもの）を介してブロードキャストされる、またはデバイスが接続されるローカルネットワーク上で送信されるハートビートメッセージは、一分毎に（または何らかの他の決まった、および短かい時間間隔で）外へ放たれる。
【０１９８】
ハートビート信号は、デバイスについてのいくつかの情報、好ましくは少なくともデバイスのデバイスＩＤを含むべきである。例えば、図７Ａに示されるように、デバイスからのハートビート信号７００は、対応するデバイスＩＤを符号化したもの、および任意で、デバイスの所有者のためのユーザＩＤを符号化したもの、を含む。ハートビート信号は追加の情報（図７Ａ中の図面において破線で示される）を含みうる。バックエンドに送信される信号は、例えば、デバイスの位置、履歴等、などの追加の情報を含みうる。ローカルのハートビート信号はデバイスＩＤのみを含みうる。ハートビート信号における情報は好ましくは保護される（例えば、暗号化によって）。デバイスＩＤおよびユーザＩＤはまた、それらが公開されるのを防止すべく一方向符号化（例えば、ＭＤ５などの暗号化ハッシュ）で符号化されうる。
【０１９９】
各デバイス１０２はまた、近くに存在しうる、または同一ネットワーク上に存在しうる他の複数のデバイス１０２からの複数のハートビートを定期的に（好ましくは継続して）モニタリングすべきである（例えば、ローカル通信のためのデバイスの複数の機構ならびにＷｉ−Ｆｉおよび有線通信のためのデバイスの複数の機構を用いて）。特定のデバイスが特定のデバイスのローカル通信機構を介してその他の複数のデバイスのハートビートをとらえることができる場合、別のデバイスは特定のデバイスの近くにあると言ってよい。近さについての他の複数の考えが本明細書において用いられ、考えられうる。
【０２００】
図７Ｂは、デバイスの複数の通信機構１４２―Ａ（例えば、ローカル通信機構）を用いるデバイスのハートビート（ＨＢ）機構１９４―Ａを介してハートビート信号をブロードキャストするデバイスＡ（１０２−Ａ）の例が示されている。図面に示されるように、第２のデバイス（デバイスＢ、１０２−Ｂ）はデバイスＢの通信機構１４２―Ｂを介してデバイスＡのハートビート信号を検出する。図面には示されないが、デバイスＢもまた自身のハートビート信号をブロードキャストしており、デバイスＡはデバイスＢのハートビート信号を検出しうることが理解されるべきである。さらに、これもまた図面には示されないが、複数のデバイスのそれぞれはまた、複数の異なる通信機構を介して他の複数のハートビート信号を送信しているといってよい。
【０２０１】
図７Ｃは、他の複数のデバイスからの複数のハートビートをモニタリングする（Ｓ７０２において）ための、各デバイス１０２による（例えば、デバイスのハートビート機構１９４による）例示的な処理を示している。別のデバイスからハートビートが検出される（Ｓ７０４において）場合、そのハートビートは処理され（Ｓ７０６において）、そうでなければシステムは複数のハートビートのモニタリングを続ける（Ｓ７０２において）。検出されたハートビートが処理されると（またはデバイスが検出されたハートビートの処理を開始すると）、デバイスは他の複数のデバイスからの複数のハートビートのモニタリングを続ける。
デバイスの協同／連携／結合
【０２０２】
いくつかのデバイス１０２は単独で、および１または複数の他のデバイスとの組み合わせで動作しうる。共に動作すべく、複数のデバイスは同種、または同一種類ですらある必要はないことが理解されるべきである。例えば、複数のスピーカである複数のデバイスは共に動作しうる（以下に説明されるように）。別の例として、スピーカであるデバイスはビデオディスプレイであるデバイスと共に動作しうる。
【０２０３】
何らかのやり方で共に動作する複数のデバイス１０２は、協同するまたは連携すると言われる。本文献の残りの部分について、「協同する」、「協同」および「協同している」という用語はそれぞれ、「協同する、および／または連携する」、「協同および／または連携」、「協同している、および／または連携している」、を指す。
【０２０４】
本明細書において用いられるように、複数のデバイス１０２は、それらがそれらの動作の少なくともいくつかの態様の目的のために組み合わされ協同する場合、結合される、と言われる。複数のデバイスは様々なやり方で結合されうる。いくつかの場合において、デバイスは、単にその他の複数のデバイスの近くに置かれることによって、１または複数の他のデバイスを結合しうる。いくつかの場合において、複数のデバイスはユーザインターフェースを介した複数の特定の命令によって結合されうる。いくつかの場合において、複数のデバイスは、それらのうちの１つをその他のものにタッチさせることで結合されうる。
【０２０５】
複数のデバイスはそれらの所有権を変化させることなく協同しうることが理解されるべきである。つまり、一ユーザのデバイスは別のユーザのデバイスと、それらのデバイスのいずれもが所有権を変化させることなく（すなわち、いずれのデバイスもシステム１００内の異なるユーザに関連付けられることなく）、協同しうる、すなわち結合されうる。
ハートビートの処理
【０２０６】
デバイスの、別のデバイスから検出された（Ｓ７０４）ハートビートの処理は、例えば、次のうちの少なくともいくつかを含む、いくつかの要因に依存しうる。
・第１のデバイスは第２のデバイスを知っているかどうか（例えば、以前の対話から）。
・第１のデバイスおよび第２のデバイスは共に所有されているかどうか（同一ユーザによって）。
・それらのデバイスは複数の友人によって所有されるかどうか。
・それらのデバイスは何らかのやり方で協同できるかどうか（これは、少なくとも部分的に、デバイスの種類に依存するか、または各デバイスの固有の機能、デバイスの近さ、および／または、各デバイスがすでに何をおこなっているか、に依存しうる）。例えば、スマートフォンデバイスおよびスピーカデバイスは、それらが同じ部屋に存在する場合、スピーカデバイス上のスマートフォンデバイスから音楽を再生すべく協同しうる。または２つのスピーカデバイスは、それらのうちの１つがすでに再生しているものと同一の音楽を両方で再生すべく協同しうる。一方で、２つのヘッドホンデバイスは、それらが両方ともすでに音を再生（すなわち、レンダリング）している場合、協同し得ない。
【０２０７】
ここで与えられる複数の要因および複数の例は、例として提供されているに過ぎない。複数の異なる要因は複数の検出されるハートビートをどのように処理するかを決定すべく用いられうる。
【０２０８】
図７Ｄは、別のデバイス（ここではデバイスＢと言う）のハートビートの、デバイス（この議論の複数の目的のためにここではデバイスＡと言う）による例示的処理（Ｓ７０６における）を示している。まず、デバイスＡ（この処理が実行されている）は、受信されるハートビートメッセージ（例えば、図７Ｂにおけるハートビート信号７００―Ａ）からデバイスＢのデバイスＩＤを決定する。デバイスＩＤはそれが他の複数のデバイスによって抽出され得るようなやり方で、信号において符号化されうる。いくつかの場合において、デバイスのハートビートはデバイスのデバイスＩＤの暗号化ハッシュ（例えば、ＭＤ５ハッシュ）を含みうる。これらの場合では、他の複数のデバイスは、それらの判定の基としてデバイスＩＤのハッシュを用いることができ、デバイスＩＤそれ自体は公開されない。
【０２０９】
他方のデバイスのデバイスＩＤ（またはそのハッシュ）を決定したら（Ｓ７０８において）、それからデバイスＡは、デバイスＡおよびデバイスＢが同一ユーザによって所有されているかどうか（すなわち、それらが共有されているかどうか）を決定する（Ｓ７１０において）。各デバイスは、そのデバイスのユーザのユーザデータベース１３０からの情報を格納および維持することを思い出されたい。この情報は好ましくは、ユーザの複数のデバイスのリストを、例えば、デバイスＩＤで、含む。デバイスＡは、ハートビートメッセージ中のデバイスＩＤがそのユーザの複数のデバイスのリスト中のデバイスＩＤと一致するかどうかを決定できる。デバイスＩＤがハッシュされる、または何らかの他のやり方で一方向符号化される場合、デバイスＡは同一の符号化を用いて共有される複数のデバイスのリストを格納しうる。
【０２１０】
それらのデバイスが共有されていると決定される場合（Ｓ７１０において）、デバイスＡはデバイスＢとの可能な協同を評価する（Ｓ７１２において）。可能な協同は上述の通り、いくつかの要因に依存しうる。それらの基本的な機能（例えば、複数のスピーカとして、等）に関しての協同に加えて、共有される複数のデバイスは互いを発見する場合（例えば、ハートビートによって）、それらのデバイスは必要に応じて設定情報を共有および／または更新しうる。
【０２１１】
それらのデバイスが実際に協同するかしないか（Ｓ７１２において決定されるように）を問わず、デバイスＡは好ましくはその履歴を更新してそのデバイスＢとのそれの遭遇を反映する（Ｓ７１４において）。デバイスＡはそれからその遭遇をバックエンドに通知しうる（Ｓ７１６において）。好ましくはデバイスによる、検出されるハートビートの処理は、デバイスがバックエンドにコンタクトする必要なく行われることに注意されたい。ゆえに、バックエンドへのその遭遇の通知は、別の定期的な接続がバックエンドとなされるまで行われる必要はない。いずれかのデバイスが遭遇の結果としてその設定を更新する場合、その更新は最終的には伝搬してバックエンドへ返されるべきであることにも注意されたい。
【０２１２】
それらのデバイスが共有される場合（Ｓ７１０において決定されるように）、デバイスＡは、デバイスＢがデバイスＡの所有者の友人によって所有されているかどうかの決定を試みる（Ｓ７１８において）。ハートビートメッセージはデバイスＢのユーザのユーザＩＤの符号化したものを含み得て、各デバイスは、複数の友人のリストを含む、ユーザデータベース１３０からの情報を格納することを思い出されたい。ハートビートメッセージ中のユーザＩＤは、一致するものがあるかどうかを決定すべく、複数の友人のリスト中の複数のユーザＩＤと比較されうる。ハートビートメッセージ中のユーザＩＤが一方向符号化される場合、複数の友人のリスト中の複数のユーザＩＤは同様に符号化されるべきであるであることが理解されるべきである。
【０２１３】
デバイスＢがデバイスＡの所有者の友人によって所有されると決定される場合（Ｓ７１８において）、それらのデバイス間のいくつかの協同が依然生じうる。従って、それからデバイスＡはそれらのデバイス間の可能な協同を評価する（複数の友人の複数のデバイス間の協同として）（Ｓ７２０において）。この種の協同は、共有される複数のデバイス間と同一の複数の種類の協同を含みうる（Ｓ７１２において）。しかしながら、それは友人と関連付けられる複数の許可に依存しうる。複数の友人の複数のデバイスはいくつかの設定および複数のコーパスの情報を共有しさえしうる。しかしながら、これは好ましくは限定的に、および一時的に行われる。
【０２１４】
共有される複数のデバイス間の協同（Ｓ７１２における）のように、複数の友人の複数のデバイスが実際に協同するか（Ｓ７２０において決定されるように）を問わず、デバイスＡは好ましくはその履歴を更新して、そのデバイスＢとの遭遇を反映し（Ｓ７１４において）、再び、それからデバイスＡはその遭遇をバックエンドに通知しうる（Ｓ７１６において）。
【０２１５】
それらのデバイスが複数の友人によって所有されないと決定される場合（Ｓ７１８において）、デバイスＡは、それが以前デバイスＢと遭遇したことがあるかどうかを決定する（Ｓ７２２において）。デバイスＡはそれからデバイスＢについての情報を記録し得て（Ｓ７２４において）、次にその履歴を更新すべく（Ｓ７１４において）、および最終的にはその遭遇をバックエンドに通知すべく（Ｓ７１６において）、進む。
【０２１６】
理解されるであろうように、複数のデバイス（共有される、または複数の友人の複数のデバイス）間の協同は、それらのデバイス間の追加的な通信を必要としうる。例えば、共有される複数のデバイスは、それらの設定情報を同期させるべく、互いに通信する必要がありうる。ゆえに各デバイス１０２は好ましくは、様々な通信機構を介して他の複数のデバイスからの複数の通信を待っている、少なくとも１つの実行中の機構または処理を有する。互いに遭遇する（例えば、それらのハートビートの片方または両方を介して）２つのデバイスはそれから、必要に応じて更に対話しうる。２つのデバイス間の通信（例えば、ローカル無線機構またはローカル有線ネットワーク等を介して）は好ましくは、どのようなチャネルが用いられるにしてもそのチャネルを介したセキュアな通信を使用する。いくつかの場合において、２つのデバイスはまず、一通信機構（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））上のハートビートを介して互いに遭遇し得て、それから異なる通信機構（例えば、Ｗｉ−Ｆｉ）を用いて次に続く通信を有しうる。
【０２１７】
共有される複数のデバイス間の可能な協同（Ｓ７１２において）の例示的処理が図７Ｅに示されている。この例において、デバイスＡ（デバイスＢのハートビートを検出した方）は、まずデバイスＢにコンタクトし、デバイスＢとの接続を確立しようと試みる（Ｓ７２６において）。接続されると、それらのデバイスは（Ｓ７２８において）それらの設定情報を更新／同期しうる（必要ならば）。（更新／同期（Ｓ７２８における）は図６Ａにおける状態遷移Ｔ６に対応する。）デバイスはまた、いくつかの協同が可能および所望のものであるかを決定すべく、それ自身および他方のデバイスについての情報を決定もする。デバイスは、他方のデバイスのデバイス固有の機能を決定し（Ｓ７３０において）、他方のデバイスが何を実行中かを決定し（Ｓ７３２において）、およびそのデバイス自身が何を実行中かを決定し（Ｓ７３４において）うる。この情報は、それらのデバイス間での可能な協同を決定（Ｓ７３６において）すべく用いられうる。複数のプロトコルが、それらの協同をサポートすべく、様々なデバイスまたはデバイスのタイプに対し確立されうる。例えば、いくつかの実装形態において、一デバイスは別のデバイスにタッチされて、それらの間の所望の協同を確立または示す。ゆえに、デバイスＡはまた、所望の協同についての指標が何かあるかどうか（例えば、一方のデバイスが他方をタッチしたかどうか、または発見された場合に、人が特定の複数のデバイスと協同するようそれらのデバイスに命令したかどうか）を決定しうる（Ｓ７３８において）。決定された情報に基づいて（Ｓ７３０、Ｓ７３２、Ｓ７３４、Ｓ７３６、Ｓ７３８において）、デバイスは可能な協同を選択し開始しうる（Ｓ７４０において）。複数の協同が可能な場合（Ｓ７３６において決定されるように）は、所望の協同（Ｓ７３８において決定されるような）の指示によってそれらのうちの１つの選択が優先されうる。
【０２１８】
デバイスＡはデバイスＢのハートビートを検出したので、デバイスＢもまたデバイスＡのハートビートを検出した、ということが可能であることに注意されたい。２つのデバイスが互いに協同を評価する場合には、どちらのデバイスが特定の複数の決定を成すかについて、規定が確立される必要がありうる。１つの例示的な規定は、他方のデバイスとのコンタクトを最初に開始するデバイスが、決定を成す際に必要に応じて主導権を握る、というものである。別の可能なアプローチは、最も高いデバイスＩＤを有するデバイスに、決定を成す際に必要に応じて主導権を握らせる、というものである。この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の複数のコンフリクト解消アプローチが必要に応じて用いられうる。
【０２１９】
デバイスＡがデバイスＢとの協同を開始する（Ｓ７４０において）からといって、デバイスＢがその協同に従うというわけではないことが理解されるべきである。いくつかの場合においては、デバイスＡおよびＢは協同について交渉し合意した後にそれを開始し、その場合において、デバイスＢは合意されたように従う。
【０２２０】
この説明を読むと当業者は気付き理解するであろうように、特定の協同が共有される複数のデバイス間で可能であるからといって、それが行われるというわけではない。さらに、異なるおよび／または他の複数の要因が、共有される複数のデバイス間で協同を決定、およびおそらくは開始すべく用いられうるということが理解されるべきである。
【０２２１】
複数の友人の複数のデバイス間の可能な協同のための例示的な処理（図７Ｄ中のＳ７２０における）が、図７Ｆに示されている。この処理は、共有される複数のデバイスについてのもの（図７Ｅを参照して上述された）と同様であるが、（ｉ）それらのデバイスは協同するための許可を有することが必要であり、（ｉｉ）好ましくは、任意の選択される協同をサポートするために必要とされる設定情報を更新するだけである。図７Ｆに示されるように、許可されれば（デバイスＢの所有者に関連付けられる友人の複数の許可に基づいて）、デバイスＡはデバイスＢとの接続を確立する（Ｓ７４２において）。許可されれば、デバイスＡはデバイスＢの固有の機能を決定し（Ｓ７４４において）、デバイスＢが何を実行中であるかを決定する（Ｓ７４６において）。デバイスＡは、それが現在何を実行中であるかを決定する（Ｓ７４８において）。少なくとも部分的に、それが決定した情報のうちのいくつかに、およびデバイスＢの所有者に関連付けられる友人の複数の許可に基づいて、それからデバイスＡはデバイスＢとの可能な協同を決定する（Ｓ７５０において）。デバイスＡはまた、それらのデバイス間に何か他の複数の、所望の協同の指標があるかどうかを決定する（Ｓ７５２において）。これらの決定に少なくとも部分的に基づいて、デバイスＡはデバイスＢとの可能な許可された協同を選択する（Ｓ７５４において）。複数の協同が可能な場合（Ｓ７３６において決定されるように）、それらのうちの１つの選択は、所望の協同の指標によって優先されうる（Ｓ７３８において決定されるように）。デバイスＡおよびＢはそれらの設定情報を更新して（Ｓ７５６において）（必要ならば）、選択された／許可された協同をサポートする。それから許可された協同は開始される（Ｓ７５８において）。
【０２２２】
共有される複数のデバイスと同様に、デバイスＡがデバイスＢとの協同を開始する（Ｓ７５８において）からといって、デバイスＢがその協同に従うというわけではないことが理解されるべきである。いくつかの場合において、デバイスＡおよびＢは協同について交渉し合意した後にそれを開始し、その場合において、デバイスＢは合意されたように従う。
【０２２３】
この説明を読むと当業者は気付き理解するであろうように、特定の協同が友人の複数のデバイス間で可能であるからといって、それが実行されるというわけではない。さらに、異なるおよび／または他の複数の要因が、友人の複数のデバイス間で協同を決定、およびおそらくは開始すべく用いられうることが理解されるべきである。
【０２２４】
デバイス協同がハートビートの検出（デバイスの可能な複数の対話を確認または選択すべく用いられる可能性のある、他の複数の要因を伴う）に基づいて上述されたが、この説明を読むと当業者は気付き理解するであろうように、（上述の通り）他の複数の要因がデバイス協同を開始すべく用いられうる。例えば、先に記したように、いくつかの場合において、デバイスは、単にその他の複数のデバイスの近くに置かれることによって、１または複数の他のデバイスを結合し得て、いくつかの場合において、複数のデバイスはユーザインターフェースを介した複数の特定の命令によって結合され、いくつかの場合において、複数のデバイスは、それらのうちの１つをその他のものにタッチさせることで結合されうる。これらの他の要因（例えば、タッチ、近さ、特定のコマンド等）は、いくつかの場合において、それらのデバイスのうちのどれがその時間実行中であるか、を含む他の複数の要因より優先される。
【０２２５】
従って、例えば、図７Ｇに示されるように、各デバイス１０２は他の複数のデバイスからの何らかのタイプのコンタクトを定期的にモニタリングしうる（Ｓ７６０において）。検出されたコンタクトのタイプは、例えば、デバイスのタイプなどの１または複数の要因に（すなわち、その基本的なデバイス固有の機能に）依存しうる。いくつかのデバイスは、物理的なタッチ、複数のユーザ命令等に基づいて他の複数のデバイスとのコンタクトの開始を試みうる。従って、別のデバイスからのコンタクトの試みの検出（Ｓ７６２において）は、センサ入力から（１または複数のセンサ１３８から）の、複数の音声および／またはジェスチャー命令の解釈（音声／スピーチ機構１７４および／またはジェスチャー機構１６６を用いて）等を伴いうる。可能なコンタクトの試みを検出して（Ｓ７６２において）、デバイスは他方のデバイスとのコンタクトを処理すべく進む（Ｓ７６４において）。
【０２２６】
可能なコンタクトの試みの処理（Ｓ７６４において）は、（図７Ｄ−図７Ｆを参照して）上述されたハートビート処理と同様でありうる。特に第１のデバイスが第２のデバイスからのコンタクトの試みを検出する場合、第１のデバイスは依然として、第２のデバイスのデバイスＩＤを決定し（およびその逆も）、それらのデバイスが複数の友人によって共有されている、または所有されているかどうかを決定し、および適宜コンタクトの試みを処理する、必要があるであろう。しかしながら、コンタクトの試みの場合において、デバイスは、他方のデバイス（コンタクトを開始したデバイス）がそれらのデバイス間での何らかの形態の協同の確立を試みていると仮定しうる。
【０２２７】
従って、デバイス主導型コンタクトの場合において、共有される複数のデバイス間の協同の評価（図７Ｄ，７ＥにおけるＳ７１２において）および複数の友人の複数のデバイス間の協同の評価（図７Ｄ、７ＦにおけるＳ７２０において）、のための処理は、図７Ｈ−図７Ｊを参照してここで説明されるように変更されうる。処理間の主な差異は、所望の協同が、可能な協同の選択において優先権を与えられている、ということであることに注意されたい。従って、共有される複数のデバイス間でのデバイス主導型協同の評価（図７ＩのＳ７１２´における）において、デバイス主導型の所望の協同は、それが可能な協同であると決定される場合に選択および開始され（図７ＩのＳ７４０´）、複数の友人の複数のデバイス間でのデバイス主導型協同の評価（図７ＪのＳ７２０´における）において、所望のデバイス主導型協同は、デバイス主導型協同が可能であり、許可されている場合に選択および開始される（Ｓ７５４´、Ｓ７５８´において）。
【０２２８】
協同中の複数のデバイスはまた、それらの協同を終了させることができる必要がある。協同は、限定はしないが、それらのデバイスのうちの１または複数が電源を切られることによる、明示的なユーザ命令による、複数の許可の変更（デバイスによって受信される、更新された設定情報から決定されるような）による、それらのデバイスが、もはや協同し得ないようなやり方で分離される（例えば、一方のデバイスが家の中の異なる部屋に移動される）ことによる、ことを含む様々なやり方で終了させうる。この説明を読むと当業者は気付き理解するであろうように、デバイス協同を終了させる異なるおよび／または他の複数のやり方が用いられうる。
【０２２９】
複数のデバイス間の対話は図１における弧線＃１に対応する。
【０２３０】
デバイスツーデバイス対話について上述された処理は単に例として与えられるのであって、システムの範囲を限定する意図は全くない。この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の複数の対話が実行され得て、このシステムの範囲内に含まれる。
コンピューティング
【０２３１】
この説明を読むと当業者は容易に認識および理解するであろうように、本明細書において説明される様々な処理は、例えば、任意のサイズまたは複雑性の複数の適切にプログラムされた汎用コンピュータ、複数の専用コンピュータおよび複数のコンピューティングデバイスによって実装されうる。１または複数のそのようなコンピュータまたはコンピューティングデバイスは、コンピュータシステムと言われてもよい。
【０２３２】
上で示され説明された複数のサービス、複数の機構、複数の動作および複数の作用は、少なくとも部分的に、システム１００の１または複数のコンピュータ上で実行中のソフトウェアによって実装される。例えば、バックエンド１０４に関連付けられる機能は、１または複数のコンピュータ上で実行中のソフトウェアによって実装されうる。
【０２３３】
そのような複数の方法を実装する複数のプログラム（ならびに他の複数タイプのデータ）は、いくつかのやり方で様々な媒体（例えば、コンピュータ可読媒体）を用いて格納され送信されうる。ハードワイヤード回路またはカスタムハードウェアは、様々な実施形態の複数の処理を実装できる複数のソフトウェア命令のうちのいくつかまたは全ての代わりに、またはそれらとの組み合わせで、用いられうる。従って、ハードウェアとソフトウェアとの様々な組み合わせは、ソフトウェアのみの代わりに用いられうる。
【０２３４】
この説明を読むと当業者は容易に認識および理解するであろうように、本明細書において説明される様々な処理は、例えば、複数の適切にプログラムされた汎用コンピュータ、複数の専用コンピュータ、および複数のコンピューティングデバイスによって実装されうる。１または複数のそのようなコンピュータまたはコンピューティングデバイスはコンピュータシステムと言われてよい。
【０２３５】
図５Ａは、本開示の複数の実施形態が実装され実行されうるコンピュータシステム５００の概略図である。
【０２３６】
本例によると、コンピュータシステム５００は、バス５０２（すなわち、相互接続）、１または複数のプロセッサ５０４、１または複数の通信ポート５１４、メインメモリ５０６、リードオンリメモリ５０８、リムーバブルストレージ媒体５１０、および大容量ストレージ５１２を含みうる。
【０２３７】
本明細書において用いられるように、「プロセッサ」とは、１または複数のマイクロプロセッサ、複数の中央処理装置（ＣＰＵ）、複数のコンピューティングデバイス、複数のマイクロコントローラ、複数のデジタル信号プロセッサ、または同様の複数のデバイスもしくはそれらの任意の組み合わせを、それらのアーキテクチャに関わらず、意味する。処理を実行する装置は、例えば、プロセッサと、処理を実行するのに適切である複数の入力デバイスおよび出力デバイスなどの複数のデバイスと、を含みうる。
【０２３８】
プロセッサ５０４は、限定はされないが、Ｉｎｔｅｌ（登録商標）Ｉｔａｎｉｕｍ（登録商標）またはＩｔａｎｉｕｍ２（登録商標）プロセッサ、ＡＭＤ（登録商標）Ｏｐｔｅｒｏｎ（登録商標）またはＡｔｈｌｏｎ  ＭＰ（登録商標）プロセッサ、または複数のＭｏｔｏｒｏｌａ（登録商標）系統のプロセッサ、複数のＡＲＭベースのプロセッサ、および同類のものなどの複数のカスタムプロセッサまたは任意の既知プロセッサでありうる。通信ポート５１４は、モデムを利用したダイアルアップ接続で使用するためのＲＳ−２３２ポート、１０／１００Ｅｔｈｅｒｎｅｔ（登録商標）ポート、銅線または光ファイバを用いるギガビットポート、またはＵＳＢポート、および同類のもののうちの任意のものでありうる。通信ポート５１４は、コンピュータシステム５００が接続する、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、または任意のネットワーク、などのネットワークに応じて選択されうる。コンピュータシステム５００は、入力／出力（Ｉ／Ｏ）ポート５２０を介して複数の周辺機器（例えば、ディスプレイ画面５１６、入力デバイス５１８）と通信状態になりうる。
【０２３９】
本明細書において複数の周辺機器と言われてはいるが、そのような複数のデバイスは、コンピュータシステム５００を備えるデバイスの形態に統合されうることが理解されるべきである。例えば、携帯電話において用いられるコンピュータシステムは、その電話の一部としてディスプレイ画面および入力デバイスを有する。提供されれば、複数の周辺機器は組み合わされうる（例えば、タッチスクリーン、または同類のものの場合）こともまた理解されるべきである。
【０２４０】
この説明を読むと当業者は気付き理解するであろうように、全てのコンピュータシステム５００が、複数のコンポーネントの全てを含む必要があるわけではない。例えば、全てのコンピュータシステム５００がリムーバブルストレージ媒体５１０または大容量ストレージ５１２を必要とするわけではない。同様に、全てのコンピュータシステム５００がディスプレイ画面５１６を有すわけではない。
【０２４１】
メインメモリ５０６はランダムアクセスメモリ（ＲＡＭ）、または当該技術分野において一般に知られる任意の他の動的ストレージデバイスでありうる。リードオンリメモリ５０８は、プロセッサ５０４への複数の命令などの静的情報を格納するための、複数のプログラマブルリードオンリメモリ（ＰＲＯＭ）チップなどの任意の静的ストレージデバイスでありうる。大容量ストレージ５１２は情報および複数の命令を格納すべく用いられうる。例えば、複数のＡｄａｐｔｅｃ（登録商標）ファミリのスモールコンピュータシリアルインターフェース（ＳＣＳＩ）ドライブなどのハードディスク、光学ディスク、複数のＡｄａｐｔｅｃ（登録商標）ファミリのＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）ドライブなどのＲＡＩＤなどの一連のディスク、または任意の他の複数の大容量ストレージデバイスが用いられうる。
【０２４２】
バス５０２は、プロセッサ５０４を他方のメモリ、ストレージ、および複数の通信ブロックと通信可能に結合する。バス５０２は、ＰＣＩ／ＰＣＩ−Ｘ、ＳＣＳＩ、用いられる複数のストレージデバイスに応じたユニバーサルシリアルバス（ＵＳＢ）ベースのシステムバス（または他のもの）、および同類のものでありうる。リムーバブルストレージ媒体５１０は、任意の種類の外付けハードドライブ、フロッピー（登録商標）ドライブ、ＩＯＭＥＧＡ（登録商標）ジップドライブ、コンパクトディスク―リードオンリメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク―リライタブル（ＣＤ−ＲＷ）、デジタルビデオディスク―リードオンリメモリ（ＤＶＤ−ＲＯＭ）等でありうる。
【０２４３】
本明細書における複数の実施形態は、コンピュータ（または他の複数の電子デバイス）が処理を実行するようにプログラムすべく用いられうる、複数の格納された命令を有する機械可読媒体を含みうる１または複数のコンピュータプログラムプロダクトとして提供されうる。本明細書において用いられるように、「機械可読媒体」という用語は、コンピュータ、プロセッサまたは同様のデバイスによって読み出されうるデータ（例えば、複数の命令、複数のデータ構造）の提供に与する、任意の媒体、複数の媒体、または異なる媒体の組み合わせ、を指す。そのような媒体は、限定はされないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多数の形態を取りうる。不揮発性媒体は、例えば、光または磁気ディスク、および他の永続的メモリを含む。揮発性媒体は、コンピュータのメインメモリを一般的に構成するダイナミックランダムアクセスメモリを含む。伝送媒体は、プロセッサに連結されるシステムバスを備える複数のワイヤを含む、同軸ケーブル、銅線、および光ファイバを含む。伝送媒体は、高周波（ＲＦ）および赤外線（ＩＲ）データ通信中に生成されるものなどの、音波、光波および電磁放射線を含む、または伝送しうる。
【０２４４】
機械可読媒体は、限定はされないが、フロッピー（登録商標）ディスケット、光学ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、消去およびプログラム可能リードオンリメモリ（ＥＰＲＯＭ）、電気的消去およびプログラム可能リードオンリメモリ（ＥＥＰＲＯＭ）、磁気または光カード、フラッシュメモリ、または複数の電子命令の格納に適した他のタイプの媒体／機械可読媒体、を含みうる。さらに、本明細書における複数の実施形態はまた、コンピュータプログラムプロダクトとしてダウンロードされうる。プログラムは、通信リンク（例えば、モデムまたはネットワーク接続）を介して、搬送波または他の伝搬媒体において具現化される複数のデータ信号として、遠隔コンピュータから要求しているコンピュータへ伝送されうる。
【０２４５】
様々な形態のコンピュータ可読媒体が、プロセッサへのデータ（例えば、複数の命令のシーケンス）の搬送に関わりうる。例えば、データは、（ｉ）ＲＡＭからプロセッサへ配信され、（ｉｉ）無線伝送媒体を介して伝搬され、（ｉｉｉ）多数のフォーマット、規格またはプロトコルに従ってフォーマットおよび／または送信され、および／または、（ｉｖ）当該技術分野において周知の様々なやり方のうちの任意のもので暗号されうる。
【０２４６】
コンピュータ可読媒体は、複数の方法を実行するのに適切であるそれらのプログラム要素を格納しうる（任意の適切なフォーマットで）。
【０２４７】
示されるように、メインメモリ５０６は、本明細書において議論されるような機能をサポートするアプリケーション５２２―１で符号化される（アプリケーション５２２―１は、本明細書において説明される複数のサービスの機能、例えば、バックエンド処理、のうちのいくつかまたは全てを提供するアプリケーションでありうる）。アプリケーション５２２―１（および／または本明細書において説明されるような他の複数のリソース）は、本明細書において説明される異なる複数の実施形態による処理機能をサポートする、データおよび／または複数のロジック命令（例えば、メモリに、またはディスクなどの別のコンピュータ可読媒体上に格納されるコード）などのソフトウェアコードとして具現化されうる。
【０２４８】
例えば、図５Ｂ−図５Ｃに示されるように、コンピュータシステム５００がバックエンド１０４の機能を実装すべく用いられる場合、アプリケーション５２２―１は複数のバックエンドアプリケーション５２４―１を含み得て、コンピュータシステム５００がデバイスの機能を実装すべく用いられる場合は、複数のアプリケーション５２２―１は複数のデバイスアプリケーション５２６―１を含みうる。
【０２４９】
一実施形態の動作中、プロセッサ５０４は、アプリケーション５２２―１の複数のロジック命令を開始（ｌａｕｎｃｈ）、実行（ｒｕｎ）、実行（ｅｘｅｃｕｔｅ）、解釈（ｉｎｔｅｒｐｒｅｔ）、または実行（ｐｅｒｆｏｒｍ）すべく、バス５０２を使用してメインメモリ５０６にアクセスする。アプリケーション５２２―１の実行は、そのアプリケーションに関係するサービスの処理機能を生成する。換言すると、処理５２２−２は、コンピュータシステム５００中のプロセッサ５０４内またはプロセッサ５０４上で実行するアプリケーション５２２―１の１または複数部分を表す。
【０２５０】
例えば、図５Ｄ−図５Ｅに示されるように、コンピュータシステム５００がバックエンド１０４の機能を実装すべく用いられる場合、処理５２２−２はバックエンド処理５２４−２を含み得て、コンピュータシステム５００がデバイスの機能を実装すべく用いられる場合、処理５２２−２はデバイス処理５２６−２を含みうる。
【０２５１】
本明細書において議論されるような複数の動作を実行する処理５２２−２に加えて、本明細書における他の複数の実施形態はアプリケーション５２２―１それ自体（すなわち、実行されていない、または不実行の複数のロジック命令および／またはデータ）を含むことが注意されるべきである。アプリケーション５２２―１は、ディスクなどのコンピュータ可読媒体（例えば、リポジトリ）上、または光媒体中に格納されうる。他の複数の実施形態によると、アプリケーション５２２―１はまた、メインメモリ５０６内（例えば、ランダムアクセスメモリすなわちＲＡＭ内）に実行可能なコードとして、ファームウェアにおいてなどのメモリタイプのシステムにおいて、リードオンリメモリ（ＲＯＭ）、またはこの例においてのように、格納されうる。例えば、アプリケーション５２２―１はまた、リムーバブルストレージ媒体５１０、リードオンリメモリ５０８、および／または大容量ストレージデバイス５１２に格納されうる。
【０２５２】
当業者は理解するであろうように、コンピュータシステム５００は、複数のハードウェアリソースの割り当ておよび使用を制御するオペレーティングシステムなどの、他の複数のプロセスおよび／またはソフトウェアおよびハードウェアコンポーネントを含みうる。例えば、カーネルを含むオペレーティングシステム（ＯＳ）の複数のプログラムは、コンピュータシステム上の複数のプロセスでありうる。
【０２５３】
本明細書において議論されるように、本願発明の複数の実施形態は様々な段階または動作を含む。様々なこれらの段階は、複数のハードウェアコンポーネントによって実行されうるか、または、複数の命令でプログラムされる汎用プロセッサまたは専用プロセッサに複数の動作を実行させるべく用いられうる複数の機械実行可能命令において具現化されうる。代替的に、複数の段階は、ハードウェア、ソフトウェア、および／またはファームウェアの組み合わせで実行されうる。「モジュール」という用語は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせを含みうる自己内蔵型機能コンポーネントを指す。
【０２５４】
この説明を読むと当業者は容易に認識および理解するであろうように、装置の複数の実施形態は、説明される処理のいくつか（しかし全てである必要はない）を実行すべく動作可能なコンピュータ／コンピューティングデバイスを含みうる。
【０２５５】
プログラムまたはデータ構造を格納するコンピュータ可読媒体の複数の実施形態は、実行されるとプロセッサに説明される処理のうちのいくつか（しかし全てである必要はない）を実行させるうるプログラムを格納するコンピュータ可読媒体を含む。
【０２５６】
処理が本明細書において説明され、当業者は、処理がいずれのユーザ介入もなしに動作しうることを理解するであろう。別の実施形態において、処理は何らかの人の介入を含む（例えば、ある段階は人の支援によって、またはそれを伴って実行される）。
【０２５７】
再び図４Ａ−図４Ｂを参照して、デバイス１０２がコンピュータシステム１４６を含むことを思い出されたい。理解されるべきように、コンピュータシステム１４６は図５Ａに示される複数のコンポーネントのうちの全てを含みうるわけではなく、コンピュータシステム１４６は複数の追加的なコンポーネント（例えば、デバイス１０２によって必要とされる特別な処理に関係する）を含みうるが、いくつかの場合において、単独の、またはシステム機構／データ１３４との組み合わせでのコンピュータシステム１４６は、（図５Ａ−図５Ｃを参照して）上述されたようにコンピュータシステム５００に対応しうる。例えば、コンピュータシステム１４６は複数のプロセッサ、複数のメモリ等を含みうる。コンピュータシステム１４６は複数のコンピュータシステム５００で形成され得ることもまた理解されるべきである。加えて、コンピュータシステム１４６はデバイス固有の機能１３２のうちのいくつかまたは全てを実装しうる。
複数の制御デバイス
【０２５８】
システム対応型デバイス１０２は、音声制御、ジェスチャー制御、コンタクト制御のうちの１または複数によって制御されうる（例えば、複数のボタンおよび同類のものを用いて）。加えて、特定の複数種類のシステム対応型デバイス１０２は、他の同様の複数のデバイスが存在する場合、他の複数のデバイスのうちの１または複数によって、または、他の複数のデバイスのうちの１または複数に与えられる複数の命令によって、完全にまたは部分的に制御されうる。例えば、複数のデバイス１０２が複数のスピーカである場合、複数のデバイスは共に動作すべく組み合わされうる。そのような複数の場合において、特定の複数のコマンド（例えば、音量を上げる）は、複数のデバイス（複数のスピーカ）のうちの１つに対してユーザによって与えられうるが、複数の協同するデバイスの全てによって従われるべきである。
音声制御
【０２５９】
デバイスの音声機構１６６はデバイスの音声制御をサポートすべく用いられうる。音声機構１６６は好ましくは、その種のデバイスに適した複数の基本コマンドのための複数の音声認識機構を含む。例えば、主にはスピーカであるデバイスに対して、複数の音声コマンドはデバイスのパワーオフ（または低電力モードからのパワーオン）、より大きな音量で再生、より優しい音量で再生、等の複数のコマンドを含みうる。音声機構１６６は特殊なハードウェアまたは回路、および複数のＤＳＰ（デジタル信号プロセッサ）を用いて実装されうる。
【０２６０】
各デバイスは好ましくは、複数のユーザからの、認識された複数の単語のコーパスを維持する。いくつかの場合において、デバイスは複数の単語の複数のコーパスを、幾人かのユーザのそれぞれに対して１つ、維持しうる。デバイスは２人以上の人々によって制御されうる（および、デバイスに設定される複数の許可によっては、デバイスを制御する人はシステムの既知のユーザではないこともある）ので、デバイスは特定の複数のコマンドを複数の適切なユーザに関連付けることができる必要がある。このように、デバイスは音声／コマンド認識に対してどの複数の単語のコーパスを使用すべきかを決定できる。
【０２６１】
デバイス１０２は、適切なコーパスを選択すべく、音声を特定のユーザに関連付けるために、１または複数のカメラ（複数のセンサ１３８）と組み合わせて顔認識機構１６８を使用する。
【０２６２】
いくつかの場合において、デバイスは音声コマンド／リクエストを処理できないこともある。これは、コマンド／リクエストの複雑性、複数の環境的原因（例えば、ノイズ）、スピーカのアクセント等を含む任意の数の要因のせいであるといえる。そのような複数の場合において、可能であれば（例えば、ネットワークに接続される場合）、および許容されるならば、デバイスは処理すべくバックエンドに音声コマンド／リクエストを送信しうる（例えば、音声認識が設けられた追加機能１２０によって）。音声はそのままの形態で、または何らかの前処理された形態で送信されうる。そのような処理の結果は、バックエンドへのコマンド／リクエスト（例えば、データベースクエリ）、またはデバイス自身へのコマンドでありうる。バックエンドによってリモートで処理される複数のデバイスコマンドは、デバイスの特定の複数の態様（例えば、スピーカに対する「より大きな音量で再生」）を制御するのに十分速いとは言えず、バックエンド処理は、より複雑な複数のコマンド、特に複数のデータベースクエリを伴うもの、に有用であることが理解されるべきである。
ジェスチャー制御
【０２６３】
デバイスのジェスチャー機構１６４は、デバイスのジェスチャー制御をサポートすべく、単独で、または音声機構１６６との組み合わせで用いられうる。ジェスチャー機構１６４は好ましくは、その種のデバイスに適した複数の基本コマンドのための複数のジェスチャー認識機構を含む。ジェスチャー機構１６４は、例えば、１または複数のカメラを含む複数のセンサ１３８のうちの１または複数を使用しうる。特殊な目的のジェスチャー検出／認識ハードウェアおよび回路が用いられうる。
顔および視線検出
【０２６４】
いくつかの場合において、デバイスの近くで同時に話しをする複数の人が存在しうる。彼らが言っていることのうちのいくつかは、デバイスへの複数のコマンドのつもりであるとは言えない。従って、いくつかの場合において、デバイスは、音声コマンドがデバイス向けであるかどうかを決定すべく、視線検出（顔／視線機構１６８によって決定される）の組み合わせを使用しうる。顔／視線機構１６８は、話している人が実際にデバイス１０２を見ているかどうかを決定すべく、１または複数のセンサ（例えば、１または複数のカメラ）を使用しうる。人は彼らがデバイスと完全に向かい合う前に（デバイスに向かって）話し始めうるので、好ましくは各デバイスはある期間の音を常にバッファリングして、視線が検出されれば、デバイスがバッファリングされたストリームの音声認識を開始できるようにする。
【０２６５】
いくつかの場合において、口の動きの検出は、デバイスを見ている人がデバイスに話しかけている人であると確認すべく、視線検出との組み合わせで用いられうる。
【０２６６】
この説明を読むと当業者は気付き理解するであろうように、音声認識、ジェスチャー検出および認識、ならびに顔および／または視線検出は、デバイスを制御すべく、様々な組み合わせで用いられうる。
バックエンドへ報告を返す
【０２６７】
動作中、各デバイスはバックエンド１０２へ情報を報告する（図１における弧線＃７に対応する）。情報は好ましくは、報告しているデバイスの固有デバイスＩＤと、デバイスがユーザに関連付けられている場合は、報告しているデバイスの所有者に関連付けられる固有ユーザＩＤと、を含む。各デバイスによって報告される情報のいくつかまたは全ては、デバイスデータベース１２８および／またはユーザデータベース１３０に、例えば、それぞれデバイス履歴および／またはユーザ履歴として格納されうる。各デバイスは固有デバイスＩＤを有するので、および、各ユーザは固有ユーザＩＤを有するので、デバイスからの情報はデバイスＩＤおよびユーザＩＤでキー付けされたデータベースに格納されうる。
【０２６８】
いくつかの場合において、デバイス１０２は、その報告時に、自身の位置についての情報を含みうる。それらの場合において、位置情報はデバイスデータベースに格納されうる（最近のデバイス位置、および、デバイス履歴の両方として）。同様に、位置情報はデバイス履歴の通りにユーザデータベースに格納されうる。このように、データベースへの複数のクエリはデバイス位置についての複数のクエリを含みうる。
【０２６９】
ユーザがシステムに登録する場合、ユーザは、登録時に彼らの現在位置に関連付けられる位置識別情報を提供しうる。ユーザはまた、システム内の複数の位置を格納し、そのそれぞれはユーザによって提供される異なる識別を有する。例えば、ユーザは、彼らの家、彼らの仕事、彼らの複数の友人の家、等についてのＧＰＳ位置情報を格納しうる。このように、システムは、名称を付けられた複数の位置に基づいて複数のデータベースクエリをサポートできる（例えば、「私のデバイスはどこ？」に対するシステムの応答は、「Ｊｏｅの家に」でありうる）。好ましくはユーザは、位置情報のストレージを具体的に要求する必要はない。なぜなら、位置（例えば、ＧＰＳ）データは好ましくは、履歴データまたはコンテキストメタデータの一部として自動的に格納されるからである。
【０２７０】
デバイス１０２はまた、その種のデバイスに特有である情報（例えば、デバイスの固有の機能）を報告しうる。例えば、主にスピーカであるデバイスは、それが何を再生していて、どこに位置しているか、についての情報をバックエンドに報告しうる。いくつかの場合において、情報は、複数のデバイス設定および他のどのような複数のデバイスが関わっているか（例えば、結合されているか）、についての情報を含みうる。このように、データベースは、「昨晩１０時頃にＪｏｅの家で私は何を再生していたか？」といった種類の複数のクエリをサポートし、それに対してシステムは歌のリストを提供しうる。
【０２７１】
デバイス１０２はまた、近接する複数のデバイスまたは複数のユーザについての情報の報告もする。
デバイス例−サウンドレンダリングデバイス
【０２７２】
図８Ａ−図８Ｄは、デバイスの固有の機能がサウンドレンダリングである例示的デバイス８００（デバイス１０２の実施形態）のアーキテクチャの複数の態様を示している。デバイス８００は、例えば、スピーカとして用いられうる。図８Ａ−図８Ｂに示されるように、サウンドレンダリングデバイス８００は、デバイス固有の機能をサポートする複数のコンポーネント８３２を含む。これらのコンポーネント８３２は、１または複数のスピーカドライバ８６０、１または複数の信号プロセッサ８６２、１または複数のプロセッサ８６４、メモリ／ストレージ８６６、および複数の制御８６８を含む。
【０２７３】
図８Ａ、図８Ｃに示されるように、デバイス８００は、複数のＢｌｕｅｔｏｏｔｈ（登録商標）機構、複数のＥｔｈｅｒｎｅｔ（登録商標）機構、複数のジグビー機構、複数のセルラー機構、複数のＷｉ−Ｆｉ機構を含む複数の通信機構を含みうる。一実装形態において、デバイス８００の複数の通信機構は、複数のＢｌｕｅｔｏｏｔｈ（登録商標）機構を含み、Ｅｔｈｅｒｎｅｔ（登録商標）機構、ジグビー機構、またはセルラー機構は含まない。
【０２７４】
図８Ａおよび図８Ｄに示されるように、サウンドレンダリングデバイス８００はまた、１または複数のカメラ８７０、１または複数のマイク８７２、デバイスモーションセンサ、場所／位置センサ、外部モーションセンサ、タッチ／コンタクトセンサ、光センサ、温度センサ、および他の複数のセンサを含む、複数のセンサ８３８を含みうる。一実装形態において、デバイス８００の複数のセンサは、カメラも温度センサも含まない。
【０２７５】
１つの例示的実装形態において、以下のものがこれらのコンポーネントのうちのいくつかに対して用いられうる。
【表２】
2016502137.tif 000008
【０２７６】
別の例示的実装形態においては、以下のものがこれらのコンポーネントのうちのいくつかに対して用いられうる。
【表３】
2016502137.tif 000009
【０２７７】
上記リストは、例として与えられるだけであって、デバイスの範囲を限定する意図は全くないことが理解されるべきである。
【０２７８】
任意の既知の機構が、様々なインターフェース機構１６２に対して用いられうる。例えば、顔動き検出は、複数の人の顔の、モデルに基づく符号化に対してＣＡＮＤＩＤＥシステムを使用しうる。ＣＡＮＤＩＤＥは、並みの計算能力で速い再構成を可能にする少数のポリゴン（約１００）を有する顔モデルを用いる。
【０２７９】
サウンドレンダリングデバイス８００は上述されたようなデバイス１０２として動作しうる。
【０２８０】
この説明を読むと当業者は気付き理解するであろうように、複数の異なるおよび／または他の特定のコンポーネントはサウンドレンダリングデバイス８００内で用いられ得て、そのような他の複数のコンポーネントが本明細書において考えられ、システム範囲内である。様々なコンポーネントが複数のやり方で実装およびパッケージングされ、デバイスは、複数のコンポーネントが実装またはパッケージングされるやり方によっては限定されないことが理解されるべきである。デバイスは、パッケージングまたはデバイスが取る形態によって（すなわち、デバイスの形態要因（ｆｏｒｍ  ｆａｃｔｏｒ）によって）限定されないことが更に理解されるべきである。
【０２８１】
以下の表は、デバイスが複数の音声認識機構を用いてローカルに解釈できる複数の例示的コマンド（すなわち、複数の語句）のリストの構文を含む。本明細書において用いられるように、語句は１または複数の単語を意味する。以下のコーパスの表において、太字の斜体フォントの複数の語句は、ローカルコーパスにおけるもので、角括弧（「［」、「］」）内の複数の語句は任意である。語句と語句の間の縦線（「｜」）は、「または」（すなわち、それらの語句のうちの１つ）を意味する。従って、例えば、「Ａ」｜「Ｂ」は、語句「Ａ」または語句「Ｂ」を意味する。「＃ｎ」で示される語句は数字を意味する。星印（「＊」）が続く語句は、その語句が繰り返されうることを意味する。「（複数可）」が続く単語の語句は、単数または複数のその単語が用いられうることを意味する。従って、例えば、表中のアイテム番号２、
［［少し］少しも（〜なく）｜ずっと＊｜＃ｎ］より優しく｜より低く｜より高く｜静かに［より静かに］
は、「少し低く」、「ずっと高く」、「より優しく」、「５倍低く」、「少しも優しくなく」、「ずっとずっと優しく」、「静かに」、「より静かに」、「少し静かに」等に対応しうる。
【表４】
2016502137.tif 000010
【０２８２】
例として、表中のアイテム番号３は、「次の１０曲を再生」、「どれか任意の歌を再生」、「次の曲を再生」、「前の歌を再び再生」、「任意の複数の曲を再生」、「再び再生」、「再生」等のうちの任意のものを意味しうる。別の例として、アイテム番号５は、「スキップ」、「次の３つの歌」、「曲」、「７つスキップ」、「前の曲」等のうちの任意のものを意味しうる。更なる例として、アイテム番号８は、「トーン」、「トレブルを上げるように調整」、「バスをより低く」等のうちの任意のものを意味しうる。
【０２８３】
音声／スピーチ認識機構１７８は、従って、特定の話された複数の語句を認識し得て、それから、デバイスを実際に制御すべく、それらの対応するセマンティクス（ｓｅｍａｎｔｉｃｓ）（すなわち、意味）を決定して、他の複数の動作機構に（例えば、コマンド／制御機構１５８に）、対応する複数の命令を提供しなくてはならない。
【０２８４】
この例示的コーパスは、認識された複数の語句の構文を提供し、全ての語句がそのデバイスに対して意味（または妥当な意味）を有するわけではないことが理解されるべきである。例えば、上記番号３は、「次のどれか３つの歌を再び再生」なる語句の認識をサポートし得て、上記番号５は「前の曲をスキップ」なる語句の認識をサポートしうる。これらの語句は両方とも構文的には正しい（コーパスの構文によれば）が、それらはどのような意味のあるコマンドにも対応し得ず、デバイスによって無視されうる。
【０２８５】
音声／スピーチ認識機構１７８に対して上に与えられたコーパスの構文は、例として提供されるだけであって、この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の複数の音声命令がサウンドレンダリングデバイス８００によって理解され得て、本明細書において考えられる。
【０２８６】
複数のサウンドレンダリングデバイス８００は、同じ音をレンダリングすべく互いに協同しうる（例えば、同じソースから同時に同じ音楽を再生すべく−好ましくは同期されて）。２又は３以上のサウンドレンダリングデバイス８００が同じソースから音をレンダリングすべく協同する場合、それらは全てが同じ音を正確にレンダリングする必要はない。例えば、複数のサウンドレンダリングデバイス８００は、サラウンドサウンドシステムとして同じソースから音をレンダリングすべく協同しうる。別の例として、複数のサウンドレンダリングデバイス８００は、それらのうちのいくつかが何らかの音（例えば、いくつかの楽器からの）をレンダリングするように同じソースから音をレンダリングすべく協同し、一方で、他の複数のサウンドレンダリングデバイスは他の音（例えば、他のいくつかの楽器からの）をレンダリングする。
【０２８７】
サウンドレンダリングデバイス８００はまた、音を生成すべく用いられる信号のソースでありうることが理解されるべきである。例えば、スマートフォン（ｉＰｈｏｎｅ（登録商標）、または同類のものなどの）はスピーカを有し得て（小型のものではあるが）、音を生成すべく用いられ得る信号（ｉＰｈｏｎｅ（登録商標）自身によって、および他の複数のデバイス８００によって、の両方で）を生成しうる。
【０２８８】
複数のサウンドレンダリングデバイス８００間の協同の複数の例が、図９Ａ−図９Ｃを参照して以下に与えられる。
協同の例−ステレオ
【０２８９】
図９Ａの図面を参照すると、２つのサウンドレンダリングデバイス８００―Ａおよび８００―Ｂがステレオ効果を提供すべく協同しうる。複数のデバイス中の複数のＤＳＰは、例えば、ハース効果を生成すべく協同する。複数のデバイスはそれらの相対位置を決定しうる（例えば、エコー位置または何らかの他の機構を用いて）ことが理解されるべきであり、それらは協同効果を最適化すべくこの相対位置情報を使用しうる。
協同の例−複数の別個の楽器
【０２９０】
図９Ｂの図面を参照すると、複数のサウンドレンダリングデバイス８００―Ａ−８００―Ｄは、それらのうちのそれぞれ１つがソース信号中の複数の楽器のうちのいくつかだけを再生するように協同しうる。ソース信号は各楽器の別個の複数のストリームを提供しうるか、または各ＤＳＰは特定の複数の楽器をフィルタリングして除去すべくプログラムされうる。複数のデバイスがこのグループに加わると、各デバイスはレンダリングすべく１または複数の楽器に割り当てられる。例えば、最初デバイスＡは単独で再生していて、ソース信号中の全ての音をレンダリングしていたと仮定する。デバイスＢがデバイスＡに加わる場合、デバイスＡは、例えば、ベースおよびバイオリンをレンダリングし得て、デバイスＢはチェロおよび複数のボーカルをレンダリングしうる。デバイスＣがデバイスＡおよびＢに加わる場合、デバイスＣはバイオリンの担当が与えられ得て、デバイスＡにはベースだけが残される。デバイスＤが加わる場合、それはデバイスＢから複数のボーカルの担当を引き受ける（図９Ｂの図面に示されるように）。他の複数のデバイスがグループに加わる場合、それらはすでに存在する複数のデバイスのうちの１または複数と組み合わされうるか、またはそれらは何か他の担当を引き受けうる。デバイスがグループを抜ける場合、それが担当していた信号部分はまだグループに残っている別のデバイスに再度割り当てられるべきである。
【０２９１】
この例はオーディオ信号中の複数の異なる楽器の選択的な担当を示しているが、この説明を読むと当業者は気付き理解するであろうように、デバイス８００はオーディオストリームの異なるおよび／または他の複数の態様に対して担当が与えられうる。デバイス８００は、自身のＤＳＰがフィルタリングできる（フィルタリングして取り込みまたは除去できる）オーディオストリームの任意の部分または複数部分をレンダリングしうる（またはレンダリングし得ない）ことが理解されるべきである。さらに、デバイス８００は、自身のＤＳＰがフィルタリングできるオーディオストリームの任意の部分または複数部分を強化または変更しうる。
協同の例−任意の配置
【０２９２】
図９Ｃの図面を参照すると、任意の（無計画な）構成で配置または位置された複数のサウンドレンダリングデバイス８００―Ａ−８００―Ｅが協同しうる。それらのデバイスはそれら自身の相対位置を決定し得て（例えば、エコー位置または何らかの他のアプローチを用いて）、それらは、協同効果を最適化すべく、この相対位置情報を使用しうる。それらのデバイスはまた、聞き手に対して最適または有益な協同効果を生成すべく協同ししうる（聞き手の位置が既知である、もしくは決定され得る場合）。
【０２９３】
それらのデバイスが、聞き手は複数のコマンド（音声、ジェスチャー等）をそれらに与えている人である、と仮定する場合、聞き手の位置決めをすべく（および聞き手に従うべく）、それらのデバイスはそれら各々のカメラを使用し得て、適宜音を調節する。単一デバイス中の単一のカメラは聞き手が位置する方向を決定できうる。いくつかの技術はそれら単一のカメラがおおよその距離を決定できるようにする。複数のカメラ（単一のデバイスまたは複数のデバイス中の）は聞き手の位置をより正確に決めることができる（例えば、顔の場所および／または動きの追跡によって）。人の位置を決めるべく１または複数のカメラを用いるのに加えて（またはその代わりに）、音声入力およびエコー検出を用いて位置検出が実現されうる。従って、例えば、カメラを有さないデバイスにおいては、位置を決定すべく音声入力およびエコー検出が単独で用いられうる。カメラを有するデバイスにおいては、位置を決定すべく、音声入力およびエコー検出は単独で、またはカメラとの組み合わせで用いられうる。
【０２９４】
この例においては、協同に対して様々な選択肢が可能である。例えば、複数の異なる楽器は異なる複数のステレオ線（図面中のＬ１、Ｌ２、Ｌ３）に沿って配置され得て、デバイス８００―Ａから８００―Ｅのうちのいくつかは、エコー、残響、または同類のものなどの複数の効果を加えるべく用いられ得て、複数のデバイスのうちのいくつかは、室内雑音または複数のエコー等を相殺すべく用いられうる。
【０２９５】
例えば、図９Ｃに示されるように、ベースはデバイスＡおよびＣ（ステレオ線Ｌ１上の）によってレンダリングされ得て、バイオリンおよびチェロはデバイスＡおよびＥ（ステレオ線Ｌ２上の）によってレンダリングされ得て、複数のボーカルはデバイスＤおよびＥ（ステレオ線Ｌ３上の）によってレンダリングされうる。複数の効果（例えば、室内雑音または複数のエコーの相殺）はデバイスＢによって実行されうる。
【０２９６】
オーディオ信号が複数のチャネルまたは他の複数の符号化したものを含む場合、複数のデバイスはこれらのチャネルをレンダリングすべく協同しうる。
【０２９７】
複数のサウンドレンダリングデバイス８００、特に複数のポータブルデバイス、の特質は、それらの協同に加わる。いくつかの実装形態において、ユーザは友人に、それらのデバイス８００を共有するための複数のゲスト特権を与えうる。いくつかの実装形態において、ユーザは全てのあらゆる他のデバイスに、それらのサウンドレンダリングデバイス８００を共有するための複数の一時的な（「パーティーモード」）権限を与えうる。
コンフリクトの解消
【０２９８】
上述されたように（ハートビート処理を参照して）、複数のデバイスが協同しようと試みる場合、１つのデバイスが制御権を握ることが必要でありうる。サウンドレンダリングデバイス８００の場合、好適な規定は、他方のデバイスとのコンタクト（例えば、それにタッチすることによって等）を最初に開始したデバイスが、決定を行う上で、必要に応じて主導権を握る、というものである。この説明を読むと当業者は気付き理解するであろうように、どのデバイスが制御権を握るかを決定するための異なるおよび／または他の複数の技術が用いられ得て、本明細書において考えられる。
ジャンルの分類
【０２９９】
音はジャンル（例えば、ボーカル、楽器、ジャズ、クラシック、発話音声、等）に分類され得て、これらのジャンルは音源信号が提供され得て、サウンドレンダリングデバイス８００中の複数のＤＳＰを自動的に設定または調節すべく用いられうる。いくつかの場合において、事前設定されたジャンル情報は、ユーザの複数の好み（何らかのユーザインターフェースを介して提供されうるか、またはデバイスとの複数のユーザ対話に基づいてデバイスによって学習されうる）によって組み合わされうるか、または無視されうる。例えば、ユーザが、常に事前設定された複数のＤＳＰ設定よりも優先して、常に複数のＤＳＰ設定を特定のジャンルの音楽に調節する場合、デバイス８００はユーザの所望の複数の設定を学習し得て、そのジャンルに対しては、常にシステムの事前設定された複数の設定の代わりにそれらを使用しうる。
【０３００】
ジャンル情報は、例えば、前もって、ソースの音を分析するオフライン処理を設定しうる。例えば、ソースライブラリの提供者は、音楽の各アイテムのジャンルを分類すべく、それらのライブラリにおける全ての音楽を事前分析しうる。その分類は、例えば、ジャンルを表すビットベクトルで格納され得て、ソースデータが提供されうる。しかしながら、ソース信号中のジャンル情報の処理は、そのジャンル情報が取得された、または設定されたやり方とは独立している、ということが理解されるべきである。
【０３０１】
協同する複数のデバイス８００は、どのようにそれらが協同するかを決定および調節すべく、ソース信号中のジャンル情報を使用しうる。従って、複数の歌に対応する音をレンダリングする場合、協同する複数のデバイス８００は、各歌のジャンルに応じてそれらの協同するやり方を変更しうる。
【０３０２】
この説明を読むと当業者は気付き理解するであろうように、異なるおよび／または他の複数の種類の協同が、複数のサウンドレンダリングデバイス８００によって用いられ得て、そのような協同は本明細書において考えられ、システムの範囲内に含まれる。
履歴および学習
【０３０３】
上述の通り、システム１００は各デバイス１０２から情報を取得しうる。複数のサウンドレンダリングデバイス８００の場合、複数のデバイスは好ましくは、それらが何の音をレンダリングしているのか（例えば、何の音楽等をそれらが再生しているのか）、並びにいつ、どこでそれがレンダリングされるのか、をバックエンド１８４に通知する。この目的を達成すべく、各デバイス８００はその複数のアクティビティの履歴を保持し、定期的に、および／または可能なときに、バックエンド１８４にその履歴を提供する。履歴は、デバイスの複数のアクティビティを再現すべく用いられうる、複数のアクティビティおよび複数のデバイス設定の、タイムスタンプされた、順序付けされたリストとして提供されうる。デバイスが別のデバイスと協同する場合、その情報はまた履歴に含められ、両方の（全ての）協同するデバイスは、バックエンドに自身の履歴情報を提供する。
【０３０４】
バックエンドはデバイスデータベース１２８およびユーザデータベース１３０にデバイス履歴情報を格納する。
【０３０５】
この種のデバイス履歴情報は、以下の種類の、次に続く複数のクエリをサポートする（バックエンド１８４およびおそらくは追加機能１２０によって）。
１．「月曜日の午後４時３０分に聴いていたものを再生」。
２．「日曜日の朝に［ユーザ］Ｊｏｅと一緒に聴いていたものを再生」。
３．「デバイスを２０１２年７月１日にしていた複数の設定に設定」。
４．「［ユーザおよび友人］Ｍａｒｙが今聴いているものを再生」。
【０３０６】
クエリ＃２は、Ｊｏｅとクエリを行っているユーザとが友人同士である必要があり得て、Ｊｏｅの許可が必要でありうることに注意されたい。クエリ＃４は、Ｍａｒｙとクエリを行っていユーザとが友人同士である必要があり得て、Ｍａｒｙの許可が必要でありうる。クエリ＃４は、Ｍａｒｙが聴いているものを知るべく（ほぼリアルタイムで）、システムが更新されたと仮定することにも注意されたい。
【０３０７】
これらのクエリは、複数の例として提供されるだけであって、システムの範囲を限定する意図は全くない。
ノイズキャンセル
【０３０８】
上述の通り、デバイスは、複数の音声対話をより正確に処理すべく、環境ノイズをフィルタリングして除去するよう試みうる。サウンドレンダリングデバイス８００は追加的な複数の問題をもたらす。なぜならば、デバイスそれ自身が環境ノイズのソースになりうるからである。何れの場合でも、デバイスは、デバイスによってレンダリングされる音がデバイスそれ自身に対する複数のコマンドであると認識すべきではない。従って、好適な複数の実装形態において、サウンドレンダリングデバイス８００は、それが、自身の複数の音センサ（複数のマイク）によって取得される音から生成する音を、フィルタリングして除去する。
【０３０９】
本明細書において用いられるように、「第１の」、「第２の」、などの単語は、用語の前につく形容詞として用いられる場合、単に複数の同様の用語を区別すべく用いられるのであり、それらの使用は、いかなる数的制限またはいかなる順序付け（時間に関する、またはその他）をも暗示または定義するものではない。従って、例えば、「第１のデバイス」および「第２のデバイス」という用語は、単に異なる複数のデバイスを指す、およびそれらを区別すべく用いられる。
【０３１０】
特許請求の範囲を含む本明細書において用いられるように、「に基づいて（ｂａｓｅｄ  ｏｎ）」という語句は、そうでないように具体的に述べられない限りは、「に少なくとも部分的に基づいて」を意味する。従って、例えば、「ＸＹＺに基づいて」という語句は、「ＸＹＺに少なくとも部分的に基づいて」を意味する。
【０３１１】
このように、デバイス設定、対話および制御のための統一フレームワークが、それらにおいて用いられる複数のシステム、複数のデバイスおよび複数の機構と共に説明される。本発明は、最も実用的で好適な複数の実施形態であると現在見做されるものに関連して説明されてきたが、本発明は開示された実施形態に限定されるものではなく、逆に、添付の特許請求の趣旨および範囲内に含まれる様々な変更形態および等価な構成を網羅する意図があると理解されるべきである。
【図１】
2016502137.tif 000011
【図２】
2016502137.tif 000012
【図３Ａ】
2016502137.tif 000013
【図３Ｂ】
2016502137.tif 000014
【図３Ｃ】
2016502137.tif 000015
【図４Ａ】
2016502137.tif 000016
【図４Ａ−１】
2016502137.tif 000017
【図４Ａ−２】
2016502137.tif 000018
【図４Ｂ】
2016502137.tif 000019
【図４Ｃ】
2016502137.tif 000020
【図４Ｄ】
2016502137.tif 000021
【図４Ｅ】
2016502137.tif 000022
【図４Ｆ】
2016502137.tif 000023
【図４Ｇ】
2016502137.tif 000024
【図４Ｈ】
2016502137.tif 000025
【図４Ｉ】
2016502137.tif 000026
【図４Ｊ】
2016502137.tif 000027
【図４Ｋ】
2016502137.tif 000028
【図４Ｌ】
2016502137.tif 000029
【図４Ｍ】
2016502137.tif 000030
【図４Ｎ】
2016502137.tif 000031
【図５Ａ】
2016502137.tif 000032
【図５Ｂ】
2016502137.tif 000033
【図５Ｃ】
2016502137.tif 000034
【図５Ｄ】
2016502137.tif 000035
【図５Ｅ】
2016502137.tif 000036
【図６Ａ】
2016502137.tif 000037
【図６Ｂ】
2016502137.tif 000038
【図６Ｃ】
2016502137.tif 000039
【図６Ｄ】
2016502137.tif 000040
【図６Ｅ】
2016502137.tif 000041
【図６Ｆ】
2016502137.tif 000042
【図６Ｇ】
2016502137.tif 000043
【図６Ｈ】
2016502137.tif 000044
【図６Ｉ】
2016502137.tif 000045
【図７Ａ】
2016502137.tif 000046
【図７Ｂ】
2016502137.tif 000047
【図７Ｃ】
2016502137.tif 000048
【図７Ｄ】
2016502137.tif 000049
【図７Ｅ】
2016502137.tif 000050
【図７Ｆ】
2016502137.tif 000051
【図７Ｇ】
2016502137.tif 000052
【図７Ｈ】
2016502137.tif 000053
【図７Ｉ】
2016502137.tif 000054
【図７Ｊ】
2016502137.tif 000055
【図８Ａ】
2016502137.tif 000056
【図８Ｂ】
2016502137.tif 000057
【図８Ｃ】
2016502137.tif 000058
【図８Ｄ】
2016502137.tif 000059
【図９Ａ】
2016502137.tif 000060
【図９Ｂ】
2016502137.tif 000061
【図９Ｃ】
2016502137.tif 000062
【国際調査報告】
2016502137.tif 000063
2016502137.tif 000064
2016502137.tif 000065