添付の図面を参照して、様々な実施形態が詳細に記載される。可能な場合はいつでも、同じまた同様の部分を参照するために、図面全体を通して同じ参照番号が使用される。特定の例および実装形態へと行われる言及は、説明を目的とし、本発明の範囲または特許請求の範囲を限定するものではない。
本明細書で使用する「制御デバイス」という用語は、様々な実施形態の動作を実施するためのプログラム可能プロセッサおよびメモリおよび回路要素を含む、パーソナルまたはモバイルコンピューティングスマートオブジェクト、マルチメディアプレーヤ、ラップトップコンピュータ、タブレットコンピュータ、パームトップコンピュータ、パーソナルコンピュータ、テレビセットトップボックス、統合デジタルテレビ、ケーブルテレビ受信機、および同様のパーソナル電子スマートオブジェクトのうちのいずれか1つまたはすべてを指し得る。
本明細書で使用する「スマートオブジェクト」、「スマートデバイス」または「デバイス」という用語は、デジタルビデオブロードキャストシステムから、または通信ネットワーク(たとえば、WiFi、Bluetooth(登録商標)(BT)、BTLEなど)から受信された内容を受信し、復号するためのプログラム可能プロセッサおよびメモリおよび回路要素を含むスマート家電(コーヒーメーカー、冷蔵庫、サーモスタット、ブラインド制御、オーブン、洗濯乾燥機など)、スマート電球、スマートスピーカー、スマートパーソナルまたはモバイルコンピューティングスマートオブジェクト、スマートマルチメディアプレーヤ、ラップトップコンピュータ、タブレットコンピュータ、パームトップコンピュータ、パーソナルコンピュータ、テレビセットトップボックス、統合デジタルスマートテレビ、ケーブルテレビ受信機、および同様のパーソナル電子スマートオブジェクトのうちのいずれか1つまたはすべてを指し得る。これらのスマートオブジェクトに関連する「スマート」への言及は、デバイスステータスを通信し、通信ネットワークまたはネットワーキングフレームワークを通してリモートにデバイスを制御し、操作するための能力を指し得る。
本明細書で使用する「改名」という用語は、スマートオブジェクトに関連付けられた新たな識別情報を含むように総称識別子を変えることを指し得る。改名は、スマートオブジェクトに関連付けられた名称、識別子、および/またはメタデータをタグ付けし、識別し、またはさもなければ調節することを含み得るが、それらに限定されない。たとえば、新たな識別情報は、タグ、新たな名称、新たな識別子、新たなメタデータなどであってよい。いくつかの実施形態では、スマートオブジェクトに関連付けられた、総称名または識別子などの名称が変えられ得る。いくつかの実施形態では、スマートオブジェクトに関連付けられた情報に、タグが追加され得る。他の実施形態では、識別子が変えられ得る。さらに他の実施形態では、メタデータが、変えられるか、またはスマートオブジェクトに関連付けられた情報に追加され得る。そのような実施形態は、スマートオブジェクトの識別を容易にすることができる。そのような実施形態では、スマートオブジェクトの名称は、不変なままであってもよく、変えられてもよい。改名、タグ付け、識別などの他の組合せも可能であり得る。
本明細書で使用する「ネットワーキングフレームワーク」という用語は、通信フレームワークと、アプリケーションフレームワークと、デバイス間(たとえば、ピアツーピア、すなわち「P2P」)およびアプリケーション間の通信および対話を容易にするための通信およびアプリケーション対話プロトコルおよびコマンドからなる組織化システムとを互換的に指し得る。ネットワーキングフレームワークは、アドホックネットワークであってよい通信ネットワークを通して結合された制御側スマートオブジェクトと被制御スマートオブジェクトとの間でインターフェースをとることを可能にするための標準機構およびインターフェース定義を集合的に提供する、アプリケーションプログラミングインターフェース(API)、ソフトウェア開発キット(SDK)、および他のアプリケーションまたはシステムソフトウェアの集合体として実装することができる。様々なAPIおよびSDKが、通常はソフトウェアアーキテクチャ中の下位レイヤにおいてアクセスまたは制御されることになる機能への、(たとえば、アプリケーションレイヤからの)高水準アクセスを提供し得る。そのような機能は、アドホックネットワーキング、セキュリティ、ペアリング、デバイス発見、サービス発見、プラットフォーム透明性、無線アクセス制御、メッセージフォーマット化、メッセージ送信、メッセージ受信および復号などを含み得るが、それらに限定されない。ピアツーピア双方向性に対するサポートを提供する編成のいくつかの例は、デジタルリビングネットワークアライアンス(DLNA(登録商標))、ユニバーサルプラグアンドプレイ(UPnP)アライアンス、およびBonjourを含む。ただし、これらの技術は、概してデバイス中心であり、ソフトウェアアーキテクチャ内の下位レイヤにおいて(たとえば、IPトランスポートレイヤにおいて)動作する傾向がある。包括的ネットワーキングフレームワークの例が、Qualcomm Innovation Centerによって最初に開発され、Allseen Allianceによって管理されるAllJoyn(登録商標)コアフレームワークである。
AllJoyn(登録商標)コアフレームワークは、単純であるとともに、ユーザが近くのオブジェクトと対話することを可能にするサービスフレームワークのセットを含む。サービスフレームワークのセットの例は、以下を含み得る。すなわち、デバイス情報および構成:デバイスが、デバイスタイプ、製造元およびシリアルナンバーなどの情報をブロードキャストし、ユーザが名称およびパスワードをデバイスに割り当てることも可能にする。搭載:オブジェクトが、(たとえば、アクセスポイントなどの媒介により)ユーザのネットワークに容易に接続されるようにする。通知:オブジェクトが、基本通信(たとえば、テキスト、画像/ビデオ、オーディオ、制御、ステータス)をブロードキャストし、受信し得る。制御パネル:スマートフォンまたはタブレットなどの制御デバイスが、グラフィカルインターフェース(たとえば、GUIまたはUI)を介して別のオブジェクトを制御し得る。オーディオ:オーディオソースオブジェクトが、選択されたAllJoyn(登録商標)対応スピーカー、オーディオ受信機および他のオーディオ再生スマートオブジェクトにストリーミングし得る。
様々な実施形態は、ネットワークアドレス指定、識別、通信および制御のための、スマートオブジェクトの改名(またはタグ付け、識別など)を容易にするための方法を提供する。様々な実施形態は、部屋の中のオブジェクトの発見と、制御デバイスを使う、部屋固有の個々の名称およびグループ名での、ネットワーキングされたスマートオブジェクトの改名、タグ付け、識別とを有効にする。制御デバイスは、超音波信号であってよい音信号を受信し、処理するように構成され得る1つまたは複数のマイクロフォンを装備し得る。1つのマイクロフォンを装備しているとき、制御デバイスは、マイクロフォンを使っての音信号の受信によって、1つまたは複数のスマートオブジェクトの存在を検出することができる。1つのマイクロフォンを装備しているとき、制御デバイスは、範囲または距離情報を検出することも可能であり得る。少なくとも2つのマイクロフォンを装備しているとき、制御デバイスは、音信号のソースに関連付けられた存在およびロケーションまたは位置の情報を検出することができる。スマートオブジェクトは、AllJoyn(登録商標)フレームワークなどのネットワーキングフレームワークを使うRFネットワークを介して通信するように構成されてよい。スマートオブジェクトは、情報(たとえば、デバイスIDなど)を符号化するオーディオまたは超音波信号を少なくともブロードキャストすることができるモジュールを装備することができる。
様々な実施形態では、制御デバイスは、音信号によりスマートオブジェクトを識別するための信号の範囲内のすべてのスマートオブジェクトに、ネットワーキングフレームワークを介してRF信号を発することができる。このRF要求信号を受信したスマートオブジェクトは、たとえば、デバイスID、デフォルト名、現在名、または他の情報など、オブジェクトに関連付けられた情報を符号化する超音波信号を発することによってなど、音信号を介して応答すればよい。
制御デバイスは、スマートオブジェクトによって発せられた音信号を受信し、スマートオブジェクトのリスト/データベースを構築または更新することができ、それは、現時点で対話に利用可能なスマートオブジェクトのユーザインターフェース表示を更新することを含み得る。制御デバイスは、ネットワーキングフレームワークプロセスにより、自動またはユーザ促進改名、タグ付け、識別などを実行し得る。比較的高い周波数音、特に超音波は、壁または床を容易には通らないので、他の部屋またはフロアにあるスマートオブジェクトからの超音波通信は、制御デバイスによって受信されない場合がある。したがって、制御デバイスに応答するために、帯域外通信において音信号を使用すると、制御デバイスと同じ部屋の中のそれらのスマートオブジェクトに改名を制限することによって、改名プロセスが容易になる。さらに、音信号の使用により、部屋の中にあるオブジェクトを、家庭または施設内の他のオブジェクトからフィルタリングすることができるようになり得る。さらに、通信を、部屋の中のそれらのデバイスに制限することに基づいてフィルタリングまたは改名することにより、グループとしての許可の割当てまたはグループとしての制御など、他のグループ関連アクションが容易になり得る。そのような制限により、部屋識別子プレフィックスおよび単純なサフィックス(たとえば、Room1 smart object1、Room1 smart object2など)によってスマートオブジェクトが識別される単純な命名規則が可能になる。
様々な実施形態は、スマートオブジェクトを、RF信号によって応答するのではなく、2次通信チャネル上で音信号を使ってオブジェクト自体を識別するようにトリガするためのRF信号の使用を包含する。応答側スマートオブジェクトは、高い周波数音が壁、ドア、床または窓を通らないということを活用して自己識別信号を送信し、そうすることによって、対話させられる(たとえば、制御され、フィルタリングされ、改名され、タグ付けされ、識別される、など)べきスマートオブジェクトの数を、所与の部屋にあるものに制限することができる。こうすることにより、部屋プレフィックスが識別される(たとえば、ユーザによって入れられる、システムによって選ばれる)と自動的に実装され得る、部屋識別子プレフィックスに基づく単純/論理的スマート命名規則が可能になる。
様々な実施形態では、超音波信号を含み得る高周波音信号を使っての、制御デバイスによる近くのスマートオブジェクトの発見に基づいて、ユーザインターフェースソリューションが提供され得る。ある実施形態では、部屋の中のスマートオブジェクトは、それらのオブジェクトのみがユーザインターフェース中で列挙されるように判定され得る。さらに別の実施形態では、制御デバイスは、ユーザが、ユーザインターフェースと対話する前に、スマートオブジェクトにおいて制御デバイスを単にポインティングすることによってスマートオブジェクトをアドレス指定し、制御することを可能にするように構成されてよい。
制御デバイスがすべてのスマートオブジェクトに対して、音信号を介してオブジェクトを識別するためのRF要求を発したことに応答して、付近にあるスマートオブジェクト、特に同じ部屋にあるもののサブセットが、それらのスマートオブジェクトから受信された音信号から、制御デバイスによって判定され得る。制御デバイス上で提示されるユーザインターフェースは、すべての知られているスマートオブジェクトのサブセットであり得る、近くのオブジェクトを、作成され得る応答音信号中で受信されたIDに基づいて列挙することができる。受信された音信号に基づいて判定された、ユーザインターフェース表示中の、ネットワーキングされたスマートオブジェクトのリストは、制御デバイスと同じ部屋にあるものにのみ制限されるので、ユーザには、ユーザが見ることができるスマートオブジェクトの短いリストが与えられ得る。そうすることによって、人がいる部屋の中のすべての明かりをオンにするなど、それらのスマートオブジェクトとの部屋固有の対話が可能にされ得る。
様々な実施形態では、ユーザは、ネットワーキングフレームワークを介して、たとえばRF信号(たとえば、スマートオブジェクトに対してアドレス指定されたWiFiメッセージ)を介して、スマートオブジェクトを識別し、選択し、スマートオブジェクトに対して個々の制御コマンドを送り、またはアクションを始動するために、スマートオブジェクトにおいて制御デバイスを「ポインティング」することによってスマートオブジェクトと対話することができる。ポインティングを可能にするために、スマートオブジェクトによって送信された音信号は、スマートデバイス上で、間隔を空けられた2つ以上のマイクロフォンを通して受信されてよい。各スマートオブジェクトに対する方向または相対方位は、各マイクロフォンの間の音信号の相対到着時間に基づいて算出することができる。音源に関連付けられた位置、ロケーション、または方位は、三角測量、三辺測量、多辺測量、または他のロケーション算出手法を通して判定することができる。判定されると、スマートオブジェクトの位置またはロケーションは、制御デバイス上またはネットワーク内のノード中のデータベース中に記憶されてよい。三角測量とは、たとえば相対到達時間の間の時間差、マイクロフォンの間の距離などの因子に基づいて角度情報が判定される、単純な三角計算である。三辺測量とは、送信機など、3つ以上のデバイスについての測距情報に関連付けられた情報の比較に基づくロケーション判定手法である。多辺測量とは、既知の時間に信号をブロードキャストすることができる、既知のロケーションにあるデバイスまでの距離の差の測定に基づくロケーション判定手法である。2つのデバイスの間の距離の差を測定することによって、測定値を満足するロケーションの曲線を展開することができる。異なるロケーションにある異なるデバイスから、追加測定を行うことができる。時間経過に伴って、追加曲線が展開され得る。デバイスのより厳密なロケーションを突き止めるために、多辺測量手法は、様々な曲線を比較し、曲線が交差する点を突き止めることができる。送信機と受信機との間の距離の近似値の比較、ならびに距離情報および可能な他の情報からの相対角度の判定など、他の手法も使うことができる。デバイスがポインティングしているスマートオブジェクトを判定するために、またはスマートオブジェクトのロケーション算出に入力を与えるために、デバイス内の加速度計もしくはジャイロスコープからの情報に基づいて、または他の情報から、スマートデバイスの配向がデバイスプロセッサによって判定されてよい。他の例では、スマートオブジェクトは、空間内のオブジェクトのロケーションプロファイルをより十分に展開するために、他のスマートオブジェクトから音信号を受信し、相対位置算出を行うことができる。
たとえば、2つのマイクロフォンを有する制御デバイスが、オブジェクトへの相対方向を判定するためのソフトウェアを有して構成され得る。3つ以上のマイクロフォンを有する制御デバイスは、スマートオブジェクトへの3次元方向を判定するためのソフトウェアを有して構成され得る。各応答側スマートオブジェクトに対する判定された方位は、制御デバイスのメモリに記憶された、近くのスマートオブジェクトのリストまたはサブセットと相関し得る。スマートオブジェクトを照会し、音信号を受信し、制御デバイスのメモリに記憶されたオブジェクトのIDおよび相対方位のテーブルを構築する動作は、ユーザが動き回ると相対方位が更新または確認され得るように、頻繁に繰り返されてよい。様々な実施形態では、制御デバイスは、ユーザが部屋を動き回るときに受信された相対方位を、スマートオブジェクトの絶対ロケーションのテーブルを構築するのに使うことができる。スマートオブジェクトの絶対ロケーションのテーブルを使って、スマートデバイスは、各スマートオブジェクトへの方向/相対方位を、部屋の中でのオブジェクトの現在のロケーションに基づいて算出することができる。
制御デバイスのポインティングを通してスマートオブジェクトとの対話を可能にするユーザインターフェースは、内部加速度計、ジャイロスコープ、または類似デバイスからの信号に基づいて制御デバイスのポインティング方向を判定することによって、スマートオブジェクトの相対または絶対ロケーションのテーブルを使うことができる。判定されたポインティング方向は、ポインティング方向に接近して置かれているスマートオブジェクトを識別するために、スマートオブジェクトIDおよび相対方位/ロケーションのテーブルと比較すればよい。識別されたスマートオブジェクトについてのIDは、その特定のスマートオブジェクトを伴うアクションを制御し、または始動するために、ネットワーキングフレームワークを介して、たとえばRF AllJoyn(登録商標)ネットワークを介して送られるRFメッセージをアドレス指定するのに使うことができる。たとえば、ユーザの視点からは、ユーザが単に、所望のオブジェクトにおいて制御デバイスアプリケーションを実行している自分のスマートフォンをポインティングし、オブジェクトと対話し、制御するためにタッチスクリーン上の仮想キーを押すように見える。
様々な実施形態では、ネットワーキングフレームワークは、たとえばスマート電球の減光レベルを制御し、スマート電球をオンまたはオフするなど、スマートオブジェクト上でどのアクションが始動されることも可能にし得る。ある例では、1つまたは複数のスマートオブジェクト向けのオブジェクト命名は、部屋(たとえば、Room1)の中のスマートオブジェクトのポインティングおよび選択を通して遂行することができる。オブジェクトは次いで、グループとしての識別情報を、総称名がプリペンドまたはアペンドされる部屋特有プレフィックスまたはサフィックスを含むように変えるなどして、改名されてよい(たとえば、Room1smart object1、Room1SmartObject2、…、SmartObject1Room1、SmartObject2Room1など)。代替として、改名は、オブジェクトのロケーションをさらに定義するメタデータを有してオブジェクトが構成され得るように、オブジェクトの識別情報を変えることを伴う場合がある。たとえば、スマートオブジェクトによって送られる識別用メタデータ情報中のデータフィールドは、ロケーションまたは部屋識別情報を含み得る。いくつかの実施形態では、改名は、オブジェクト名が不変のまま、部屋特有、グループ特有、または他の特有識別を容易にするタグを有してオブジェクトが構成され得るように、オブジェクトの識別情報を変えることを伴い得る。別の例では、ユーザは、スマートオブジェクトをポインティングし、仮想キーを押し、次いで、オブジェクトについての所望の新たな名称、タグ、識別子、またはメタデータをタイプ入力することができる。これらのアクションは、制御デバイスに、登録もしくは搭載プロセス中にそのスマートオブジェクトに割り当てられた総称名を見直し、または置き換えるための、またはたとえばタグ、識別子、メタデータなど、他の識別情報を追加し、もしくは変えるためのアクションを、ネットワーキングフレームワークにより実装させることができる。別の例では、スマートオブジェクトは、点滅などの視覚フィードバックを提供することによって、正しいポインティングの確認を与えることができる。いくつかの事例では、視覚フィードバックには、RFチャネルまたはオーディオチャネル上での確認メッセージが付随し得る。
様々な実施形態は、図1Aに示す例示的な通信システム100などの様々な通信システム内で実装され得る。ある実施形態では、通信システム100は、モバイル通信デバイス(たとえば、スマートフォン、タブレットなど)などの制御デバイス120を含み得る。制御デバイス120は、アクセスポイント130(たとえば、ワイヤレスアクセスポイント、ワイヤレスルータなど)との確立されたリンク111、121を通して、1つまたは複数のスマートオブジェクト110(たとえば、スマートオブジェクト)を制御することができる。リンク111、121はワイヤレスであってもよく、たとえばイーサネット(登録商標)接続や電力線通信(PLC)接続、または他のワイヤード接続でのように、ワイヤードであってもよい。ある代替実施形態または複数の代替実施形態では、制御デバイス120は、直接リンクまたは接続101を通して、スマートオブジェクト110と直接接続することができる。さらに、ある代替実施形態または複数の代替実施形態では、スマートオブジェクト110は、直接リンク(たとえば、接続101)を通して、またはアクセスポイント130を通して提供される1つもしくは複数のリンクを通して、互いと接続することができる。アクセスポイント130は、サービスプロバイダ131を通してインターネット102に接続され得る。いくつかの実施形態では、ローカルネットワークサーバ140がネットワーク内に存在してよく、ネットワーキングフレームワークに組み込まれてよい。
様々なさらなる代替実施形態では、制御デバイス120は、セルラーサービスを提供するためのセルラーインフラストラクチャ構成要素を集合的に指し得るセルラーインフラストラクチャ103を通してネットワーク、スマートオブジェクト、および/または他のデバイスに接続することができる。セルラーインフラストラクチャ103は、1つの構成要素または一連の構成要素を含むことができ、これらの構成要素は、セルラーアンテナ、基地局(たとえば、eNodeB)などのうちのいくつかまたは全部を含み得る。制御デバイス120は、アクセスポイント130に関連付けられたユニバーサルリソースロケータ(URL)に基づいて、インターネット102などの公衆網、または私設ネットワークを通してセルラーインフラストラクチャ103によって提供される接続を通して、アクセスポイント130に接続することができる。セキュリティの理由により、アクセスポイント130を通したネットワークへのアクセスは、パスワード保護されてよく、暗号化を使ってよく、他のセキュリティ対策を使ってよく、またはセキュリティ設備の組合せを使ってよい。代替または追加として、制御デバイス120は、私設ネットワーク、ピアツーピア(P2P)ネットワーク、デバイス間(D2D)ネットワークなどでのような、セルラーインフラストラクチャによって提供されるネットワーク接続を通してスマートオブジェクト110に直接接続することができる。以下でより詳細に説明するように、ネットワーキングフレームワークは、アプリケーションレイヤにおいてセキュリティを実装するためのAPIを提供し得る。セキュリティAPIを提供することによって、制御デバイスおよびスマートオブジェクト向けの特定のハードウェアの詳細は、詳細なプラットフォーム固有の実装を理解する必要なく、ネットワーキングフレームワークの範囲内で扱われ得る。
様々な実施形態では、制御デバイス120とスマートオブジェクト110との間の相互接続は、図1Bに示すようなネットワーキングフレームワーク150を通して確立することができる。DEV1 110a、DEV2 110b、DEVn 110cなど、1つまたは複数のスマートオブジェクト110が、CTL DEV1 120a、CTL DEV2 120b、およびCTL DEVn 120cなど、1つまたは複数の制御デバイスに結合され得る。図1Bにおいて、実線は、いくつかの実施形態では、スマートオブジェクト110のすべてが、ネットワーキングフレームワーク150を通して互いに接続され得ることを示す。ネットワーキングフレームワーク150を通した相互接続は、これ以降でより詳細に記載するように、スマートオブジェクトがネットワーキングフレームワークに登録されることを必要とし得る。さらに、いくつかの実施形態では、制御デバイス120も、ネットワーキングフレームワークへの登録を必要とし得る。様々な実施形態では、点線は、スマートオブジェクト110のうちの少なくともいくつかが、互いと直接接続され得ることを示す。たとえばアクセスポイントを通して、ネットワーキングフレームワーク150に直接アクセスすることが可能でないスマートオブジェクト110の間でアドホック接続が確立され得るので、スマートオブジェクト110の間の直接接続は、ネットワーキングフレームワーク150と両立可能であり得る。代替または追加として、スマートオブジェクト110は、アクセスポイントを使って確立されるフレームワーク接続に加え、フレームワーク150の下で、アドホックまたは直接接続を確立することができる。そのような例では、スマートオブジェクトのうちの少なくとも1つがネットワーク接続へのアクセスを有するのであれば、あるスマートオブジェクトが、別のスマートオブジェクトに、スマートオブジェクトの間の直接接続を通してネットワーキングフレームワーク150へのアクセスを提供し得る。ネットワークアクセスは、スマートオブジェクト110が制御デバイス120によって制御されるために重要である。代替として、スマートオブジェクト110および制御デバイス120は、直接接続(たとえば、接続101)によってネットワーク(たとえば、ピアツーピア(P2P)、デバイス間(D2D)など)を確立することができる。
様々な実施形態では、ネットワーキングフレームワーク150におけるスマートオブジェクト構成は、図2Aに示すように実装され得る。ネットワーキングフレームワーク150は、AllJoyn(登録商標)フレームワークなどのネットワーキングフレームワークの核心態様を指し得る。ネットワーキングフレームワーク150は、制御デバイス120、およびスマートオブジェクト110など、1つまたは複数の被制御オブジェクトにクライアントサービスを提供し、制御デバイス120がフレームワーク接続124および114、ならびに一連のAPI、SDK、および他のソフトウェア機構を通して被制御スマートオブジェクト110を制御することを可能にする分散ソフトウェアバスアーキテクチャを表す。フレームワーク接続124および114は、分散ソフトウェアバスの一部と見なすことができる。一態様では、ネットワーキングフレームワーク150により、アプリケーションは、一連のユニバーサル高水準ソフトウェア機構を通して対話することができる。
ネットワーキングフレームワーク150と両立可能なアプリケーションは、ネットワーキングフレームワーク150(たとえば、ソフトウェアバス)に接続され得る。AllJoyn(登録商標)フレームワークでは、たとえば、そのようなアプリケーションはバスアタッチメント(Bus Attachment)と呼ばれ得る。バスアタッチメントは、どのタイプのアプリケーションであってもよく、一意の名称を有し得る。一意の名称は、バスアタッチメントがAllJoyn(登録商標)Busに(たとえば、搭載中に)接続されると、自動的に割り当てられ得る。バスアタッチメントはバスオブジェクトを作成することができ、バスオブジェクトは、それらの存在をブロードキャストするように広告するプロセスを使って、それら自体を他のバスオブジェクトに対して識別することができる。発見処理により、バスオブジェクトは、他のバスオブジェクトの存在を判定することができる。バスオブジェクトは、他のAllJoyn(登録商標)バスアタッチメントによって提供されるサービスにアクセスすることができる。
様々な実施形態では、制御デバイス120は、制御デバイス120のリソースへの直接または間接アクセスを提供するネットワーキングフレームワーク標準クライアント122を有して構成され得る。ネットワーキングフレームワーク標準クライアント122向けのアクセスは、制御デバイスオペレーティングシステム125ならびに制御デバイス120のデバイスプラットフォーム126のハードウェア(およびソフトウェア)リソースへのアクセスを通して提供され得る。リソースは、表示リソースおよび入力リソース(たとえば、ハードまたはソフトキーボード、タッチスクリーン、マウス、カメラ、マイクロフォン、加速度計など)を含み得る、プロセッサ、メモリ、およびユーザインターフェース128へのアクセスを含み得る。
スマートバルブ、スマート家電、またはスマートオブジェクトとして構成された他のデバイスなど、制御され得るスマートオブジェクト110は一般に、有限処理リソースを有する。様々な実施形態では、そのようなスマートオブジェクト110は、スマートオブジェクト110のリソースへの直接または間接アクセスを提供するネットワーキングフレームワークシンクライアント112を有して構成され得る。ネットワーキングフレームワークシンクライアント112向けのアクセスは、スマートオブジェクト組込みオペレーティングシステムまたは組込みシステム115へのアクセスを通して提供され得る。スマートオブジェクト110が大量の処理リソースを有する状況では、スマートオブジェクト110はそれにも関わらず、ネットワーキングフレームワークシンクライアント112を装備し得る。シンクライアント112は、スマートオブジェクト110が主として、被制御デバイスであるように構成されるときに設けられ得る。ただし、スマートオブジェクト110が、他のスマートオブジェクトを制御するように動作することもできるとき、スマートオブジェクト110は、ネットワーキングフレームワーク標準クライアント122をもつ制御デバイス120として構成されてよい。いくつかの実施形態では、スマートオブジェクト110は、処理タスクを完了するのに十分なリソースをもたない場合がある。そのような状況において、処理要件は、制御デバイス120上のネットワーキングフレームワーク標準クライアント122など、他のクライアントに、または他のスマートオブジェクトもしくは制御デバイスに分散されてよい。
スマートオブジェクト110上のネットワーキングフレームワークシンクライアント112は、スマートオブジェクト110によって提供される機能またはサービス118へのアクセスをさらに有し得る。機能またはサービス118は、たとえば、スマートバルブの減光またはオンおよびオフ、スマートコーヒーメーカーにおける抽出(brewing)サイクルの開始など、制御デバイス120によって制御することができるアクションであり得る。機能またはサービス118は、スマートコーヒーメーカーにおける抽出サイクルが完了したなどのステータス表示または通知を制御デバイス120に与えることをさらに含み得る。代替または追加として、スマートオブジェクト110は、利用可能であるその機能またはサービス118など、スマートオブジェクト110の能力についての情報を提供し得る。
AllJoyn(登録商標)フレームワークの例において、AllJoyn(登録商標)シンクライアント(Thin Client)(AJTC)は、組込みシステムとして構成されたスマートオブジェクト110の概ね制限されたリソースに、分散プログラミング環境を提供する。AJTCが動作する動作環境は非常に制約され得るので、バスオブジェクトなどのAllJoyn(登録商標)構成要素はシステム制約内で存続しなければならない。AllJoyn(登録商標)標準クライアント(Standard Client)(AJSC)は、マルチスレッド能力など、一般に制御デバイス内にインストールされる高性能プロセッサの特徴を利用するように構成され得る。ただし、AJTCを稼働させるスマートオブジェクトは一般に、そのようなリソースをもたない。したがって、一般にAJSCに付随するとともにマルチスレッドを必要とするAllJoyn(登録商標)デーモンが、多くのネットワーク接続を扱い、AJTC中に設けることができない比較的大量のメモリを使う。代替言語束縛を含むオブジェクト指向プログラミング環境を稼働させる能力など、AJSCの他の拡張態様はまた、AJTCにおいて利用可能でない。したがって、AJTCは、スマートオブジェクトのインターフェース、メソッド、信号、プロパティに対応するデータ構造を有するバスアタッチメントとして構成される。AJTC中のバスオブジェクトは、メモリ空間の効率的使用のために高度に最適化され得る。したがって、AJTC中のAPIは一般に、AJSC中で提供されるものとは異なる。APIはAJTCにおいて異なり得るが、AJSC中に見られるAllJoyn(登録商標)フレームワークの主要な概念ブロックはすべて、コンパクトな形でAJTCシステム中に見ることができる。いくつかの事例では、いくつかのバスオブジェクトは、別の、より性能の高い機械上でリモートに稼働するように構成され得る。
様々な実施形態では、スマートオブジェクトと制御デバイスとの間の通信は、図2Bに示すように、2次通信チャネルを使うことができる。論じたように、いくつかのネットワーキングフレームワーク通信にRFチャネルを使うことによって、家庭または施設内のすべてのスマートオブジェクトをアドレス指定することができる。いくつかの事例では、すべてのスマートオブジェクトからRF通信を受信することは不利な場合がある。ユーザは、制御デバイスのユーザインターフェース上に現れる多数の総称的に命名されたスマートオブジェクトに基づいて、対話の対象とされた特定のスマートオブジェクトを識別することができない場合がある。したがって、制御デバイス120には2次通信モジュール240が設けられてよく、スマートオブジェクト110には2次通信モジュール230が設けられてよい。2次通信モジュール230、240は、制御デバイス120とスマートオブジェクト110との間の部屋固有の通信を可能にすることができる。2次通信モジュール230、240は、通信の範囲を部屋の中に制限するオーディオ通信チャネル、超音波通信チャネル、または他の通信チャネル/技術を使うことができる。
いくつかの実施形態では、2次通信機構として超音波を使うので、2次通信モジュール230は、超音波エミッタを含むことができる。スマートオブジェクト110は、超音波エミッタ上で符号化超音波信号として送信される信号上で情報を符号化することができる。2次通信モジュール240は、1つまたは複数の超音波受信機を含み得る。2つ以上の超音波受信機要素があるので、2次通信モジュールは、受信された超音波信号のソースの相対位置に関する付加情報を提供する能力があり得る。たとえば、2つの超音波受信機要素(たとえば、マイクロフォン)を用いて、制御デバイスは、超音波エミッタの少なくとも相対方位または方向を確立することができ、3つの超音波受信機要素を用いると、制御デバイスは、少なくともエミッタの3次元位置を確立することができる。単一の超音波受信機要素を用いると、制御デバイスは超音波エミッタまでの距離を判定することができる。
他の実施形態では、スマートオブジェクト110が追加超音波エミッタまたは送信機を装備するためのリバースアーキテクチャが利用され得る。そのような実施形態では、スマートオブジェクト110に関連付けられた角度情報は、制御デバイス中の複数のエミッタから、1つまたは複数の受信要素を使って信号を受信することによって推定することができる。代替または追加として、制御デバイスは、1つまたは複数のエミッタから超音波信号を送信することができ、スマートオブジェクト110は、1つまたは複数の超音波受信機で信号を受信することができる。スマートオブジェクト110は、その位置を、1つまたは複数の超音波受信機を使っての、制御デバイスからの1つの超音波信号または複数の超音波信号の受信に基づいて算出または推定することができる。いくつかの実施形態では、スマートオブジェクト110中で算出された位置情報は、たとえばRFチャネル上で、制御デバイスに返送されてよい。
様々な実施形態では、制御デバイス120は、ネットワーキングフレームワーク150に接続またはリンク221を通して結合されてよく、接続またはリンク221は、制御デバイス120から、ネットワーキングフレームワーク150に関連付けられた分散ソフトウェアバスへの接続を表し得る。スマートオブジェクト110は、ネットワーキングフレームワーク150に接続またはリンク211を通して結合されてよく、接続またはリンク211は、スマートオブジェクト110から、ネットワーキングフレームワーク150に関連付けられた分散ソフトウェアバスへの接続を表し得る。接続またはリンク221および211は、アクセスポイント130などのネットワーク要素へのRF接続を通して行われ得る。図2Bの例において、ネットワーキングフレームワーク150は、制御デバイス120上で動作する標準クライアントの構成要素の相互動作と、スマートオブジェクト110上のシンクライアントの動作とを表し得る。
2次通信モジュール230、240は、スマートオブジェクト110と制御デバイス120との間の2次通信チャネルを提供し得る。2次通信チャネルは、スマートオブジェクト110が、2次通信モジュール230から制御デバイス120の2次通信モジュール240に超音波信号を送ることを表し得る直接通信チャネル233であってよい。いくつかの実施形態では、2次通信モジュール230および240は、ネットワーキングフレームワーク150内にある2次通信チャネルを提供し得る。2次通信チャネルは、ネットワーキングフレームワーク150と、スマートオブジェクト110および制御デバイス120との間のチャネル235aおよびチャネル235bを含み得る。そのようなケースでは、スマートオブジェクト110は、スマートオブジェクト110上で動作するネットワーキングフレームワークシンクライアントとの対話を通して、2次通信モジュール230から超音波信号を送信することができる。超音波信号は、チャネル235bを通して制御デバイス120によって受信されてよく、制御デバイス120上で動作するネットワーキングフレームワーク標準クライアント内で処理されてよい。チャネル235aおよび235bは、例では、スマートオブジェクトが2次通信モジュール230および240を通して、または1次チャネル(たとえば、リンク211、221)および2次チャネル(たとえば、チャネル235a、235b)による通信の組合せを通して双方向通信を行い得ることを考慮して、双方向として示される。2次チャネル235aおよび235bの双方向性は、分離距離を算出または推定するのにさらに使うことができる。たとえば、制御デバイス120は、スマートオブジェクト110によって受信され得る超音波信号を送信することができ、オブジェクト110は、所定の遅延時間の後で応答を送信し得る。ハンドセットは、応答の受信の時間に、あらかじめ定義された遅延を加えたものを、往復遅延を算出するのに使うことができ、往復遅延は、分離距離を算出するのに使って、空気中の音速を知ることができる。さらなる例では、制御デバイス120は、チャネル235aおよび235bのうちの1つの上での通信を通して、WiFiアクセスポイントにアクセスするのに必要とされる情報などの証明書情報を提供することができる。
超音波の例を続けると、図2Cを参照して利点を明らかにすることができ、この図は、部屋など、2つの定義エリア中で、定義エリアを有する家庭、会社、または他の施設などの施設201中で分散されたスマートオブジェクトを示す。スマートオブジェクト110a〜110fは、壁203によって分離される部屋1(Room 1)202および部屋2(Room 2)204などの定義エリア中で、施設201全体に分散されたものとして図2Cに示されている。壁203が図示されているが、他のエリアからの定義エリアの分離は、床、天井、ドア、または他の分離構造によるものであってもよい。具体的には、スマートオブジェクト110a、110b、および110cは、部屋1 202内で分散されているものとして示されており、スマートオブジェクト110d、110e、および110fは、部屋2 204内で分散されているものとして示されている。制御デバイス120は、部屋1 202の中に置かれているものとして示されている。アクセスポイント130は、施設201内に存在してよく、スマートオブジェクト110a〜110fおよび制御デバイス120とのワイヤレス接続を確立することができる。スマートオブジェクト110a〜110fはそれぞれの2次通信モジュール230a〜230fを装備することができ、これらのモジュールは、本例では、超音波信号を発するために構成された超音波モジュールであり得る。制御デバイス120は2次通信モジュール240を装備することができ、モジュール240は、本例では、超音波信号を受信するために構成された超音波モジュールであり得る。スマートオブジェクト110a〜110fの間の様々なRF接続はリンク211として示されるが、例示および説明しやすいように、リンク211の一例のみが標示されている。制御デバイス120とスマートオブジェクト110a〜110fとの間の接続はリンク221として示されるが、例示および説明しやすいように、リンク221の一例のみが標示されている。例示および説明をさらに簡単にするために、アクセスポイント130、スマートオブジェクト110a〜110fおよび制御デバイス120の間の個々のリンクについては図示せず、記載していない。ただし、リンク211、221は、アクセスポイント130を通して容易にされる物理的または論理的(すなわち、ネットワーキングフレームワーク)リンクを表し得る。
いくつかの実施形態では、制御デバイス120は、(たとえば)超音波信号などの2次通信チャネルを介してオブジェクトがそれら自体を識別することを要求するRF信号を、RF通信チャネル(たとえば、リンク221)上でスマートオブジェクト110a〜110fに送ることができる。そのような要求メッセージを受信したことに応答して、スマートオブジェクト110a〜110fの各々は、それぞれの2次通信モジュール230a〜230fから超音波信号233a〜233fを送信すればよい。代替または追加として、制御デバイス120は、特定のデバイスタイプ(たとえば、スマートバルブ)など、スマートオブジェクト110a〜110fのサブセットを識別するRF信号を送ることができる。そのような要求メッセージを受信したことに応答して、RF信号中で識別されたスマートオブジェクトなど、スマートオブジェクト110a〜110fのうちのいくつかは、超音波信号を送信し得る。他の例では、デバイスは、他の要因に基づいて、RF要求に応答しても応答しなくてもよい。たとえば、いくつかのデバイスは、故意にオフにされるか、または無効にされている場合がある。そのようなデバイスは、RF要求に応答しなくてもよく、デバイスがアクティブでないという表示で応答してもよい。
超音波信号は概して、20KHzを上回る周波数など、比較的高い周波数をもつ音響信号であると見なされる。超音波信号が様々な材質または媒体を通して伝播するとき、超音波信号は、吸収、減衰、散乱および他の現象により改変または遮断され得る。説明しやすいように、超音波伝播の機械学の詳細な説明は省く。ただし、超音波および他の高周波数オーディオまたは音響信号は、壁および床などの密な材質を通っては容易に伝播しないことが一般に認められている。いくつかの実施形態では、10KHzと20KHzとの間の周波数など、「超音波」帯域よりも低い周波数(すなわち、20KHz未満)が使われ得る。そのような実施形態では、音響出力レベルによっては、高周波準超音波信号は、何人かの人達の知覚の範囲外になる場合がある。たとえば、比較的年配の人達は一般に、より若い人達と比較して、高周波音、特に10KHzを上回るオーディオ周波数に対して敏感でない。いくつかの実施形態では、2次通信チャネル用に使われる20KHz未満のオーディオ周波数は、施設を使う人の年齢範囲などの追加検討事項に基づいて選択され得る。
したがって、制御デバイス120は、部屋1 202に置かれているスマートオブジェクト110a〜110cから、2次通信モジュール240を使って超音波信号233a〜233cを受信し得る。ただし、超音波信号233d〜233fは、壁203を通って伝播することができず、したがって、制御デバイス120は、部屋1 202からのそれらの超音波信号233a〜233cのみを受信する。説明しやすいように、壁203は、例において、超音波信号を遮断するものとして使われている。ただし、超音波信号は、床、物体、または他の材質もしくは構造によって遮断される場合もある。いくつかの実施形態では、2次通信モジュール240は、たとえば閾検出レベルで、超音波信号233d〜233fの減衰されたいくつかのインスタンスが壁203を通って伝播する場合であっても、それらのインスタンスが(たとえば、受信された容量が閾容量を下回る場合)制御デバイス120によって無視されるように特に構成されてよい。代替として、減衰信号が受信された場合、制御デバイス120は、2次通信モジュール240中で受信された減衰(すなわち、閾下)信号レベルに基づいて、スマートオブジェクト110d〜110fが異なる部屋に置かれていると結論づけ、それらのスマートオブジェクトを改名、タグ付け、識別、または関連動作に含めなくてよい。
制御デバイス120とスマートオブジェクト110a〜110fとの間の通信が、図3Aにおいてさらに示される。制御デバイス120とスマートオブジェクト110a〜110fは、アクセスポイント130を通して、ネットワークへの物理接続を確立することができる。そのような接続は、ネットワーキングフレームワーク150への論理接続をもたらし得る。制御デバイス120は、ネットワーキングフレームワーク150に関連付けられたネットワーキングフレームワーク標準クライアントを装備することができ、スマートオブジェクト110a〜110fは、前に記載したネットワーキングフレームワーク150に関連付けられたネットワーキングフレームワークシンクライアントを有して構成することができる。ネットワーキングフレームワーク150は、様々なスマートオブジェクトおよびネットワーキングフレームワーククライアントが、相互動作のために求められる様々なアクションについての、ネットワーキングフレームワークにおいて定義されたメッセージを送受信することを可能にする一連のAPIを提供することができる。RF通信チャネルに関連付けられ得るメッセージシーケンス310中で、制御デバイス120は、ネットワーキングフレームワーク150に現在登録されているスマートオブジェクトを発見するための発見要求メッセージなどのメッセージを送信することができる。発見要求メッセージは、ネットワーキングフレームワーク150の動作を通して、スマートオブジェクト110a〜110fのすべてにブロードキャストされ得る。
発見要求メッセージに応答して、スマートオブジェクト110a〜110fは、各デバイスを、その識別子または総称名で識別するメッセージで応答し得る。たとえば、デバイスD1 110aは、デバイスD1 110aの<generic name>を表す「OBJ 01」として応答し得る。デバイスD2 110bは、デバイスD2 110bの<generic name>を表す「OBJ 02」などとして、デバイスD6 110fの<generic name>を表す「OBJ 06」として応答し得るデバイスD6 110fに応答し得る。いくつかの実施形態では、スマートオブジェクト110a〜110fの一部または全部からのメッセージは、別のネットワークまたはフレームワーク機構において、オブジェクト(たとえば、WiFi識別子)を指すのに使われる識別子を含み得る。スマートオブジェクト110a〜110fの一部または全部からのメッセージは、製造元、型番、等級などについての情報をさらに含み得る。スマートオブジェクト110a〜110fの一部または全部からのメッセージは、SSID/パスワードなど、制御デバイス120がスマートオブジェクトにアクセスするのに必要な情報をさらに含み得る。スマートオブジェクト110a〜110fの一部または全部からのメッセージは、1つまたは複数のスマートオブジェクトが搭載されているか、またはさもなければネットワーキングフレームワークに登録されているかに関する情報などをさらに含み得る。いくつかの実施形態では、スマートオブジェクト110a〜110fの一部または全部からのメッセージは、上記情報と他の情報の組合せを表す情報を含み得る。
スマートオブジェクトすべてが発見されると、制御デバイス120は、スマートオブジェクトの総称名をユーザインターフェースディスプレイに表示することができる。制御デバイス120は、現時点では部屋1 202に置かれている可能性があるので、要求に応答するスマートオブジェクトの数は、部屋1 202において可視的であるスマートオブジェクトを超える場合があり、デバイスのうちのどれが、部屋1 202に置かれているか、それとも置かれていないかに関して、制御デバイス120のユーザを混乱させる可能性がある。
様々な実施形態では、メッセージシーケンス310中でデバイス発見を行う代わりに、またはそれに加え、制御デバイス120は、スマートオブジェクト110a〜110fが、RF通信チャネルに関連付けられ得るメッセージシーケンス312中で、それら自体を識別するための要求を、それぞれの2次通信チャネルを通して送信すればよい。メッセージシーケンス312に応答して、スマートオブジェクト110a〜110fは、それぞれの超音波信号を、1つまたは複数の超音波通信チャネルに関連付けられ得るメッセージシーケンス313中で送ることによって、2次通信チャネルを通して応答することができる。制御デバイス120は、同じ部屋の中のスマートオブジェクトD1 110a、D2 110b、およびD3 110cのみから超音波信号を受信する。制御デバイス120は、信号が壁203によって遮断されるせいで、別の部屋にあるスマートオブジェクトD4 110d、D5 110eおよびD6 110fからの超音波信号は受信しない。同じ部屋にあるスマートオブジェクトD1 110a、D2 110b、およびD3 110cからの超音波信号のみの受信に応答して、これらのスマートオブジェクトは、ユーザディスプレイ上でハイライトされ得る。いくつかの例では、別の部屋にあるスマートオブジェクトD4 110d、D5 110eおよびD6 110fなど、超音波信号がそこから受信されなかった追加スマートオブジェクトは表示されない。したがって、部屋1にあるスマートオブジェクトのリストは、ネットワーキングフレームワークを通して対話することができるスマートオブジェクトの完全リストから効果的に「フィルタリング」され得る。
様々な実施形態では、制御デバイス120が、部屋1 202にあるスマートオブジェクトのフィルタリングされたリスト、またはそれらのスマートオブジェクトのみがハイライトされるリストを有するとき、スマートオブジェクトは、RF通信チャネルに関連付けられ得るメッセージシーケンス314中で改名することができる。制御デバイスは、同じ部屋にあるスマートオブジェクトD1 110a、D2 110b、およびD3 110cを、部屋(たとえば、部屋1)に関連付けられたプレフィックスまたはサフィックスで改名するためのメッセージを送信することができる。上述したように、「改名」は、スマートオブジェクトに関連付けられたデフォルト名もしくは現在名を変えるなど、スマートオブジェクトに関連付けられた識別情報を追加し、もしくは変えること、スマートオブジェクトに関連付けられた情報にタグ、メタデータ、もしくは識別子を追加すること、またはスマートオブジェクトを識別することに関連付けられた情報に対する別の変化(もしくは変化の組合せ)を指し得る。したがって、総称的なデバイス名は部屋固有の名称に変換されてよく、部屋固有のタグが識別情報に追加されてよく、かつ/または部屋固有のメタデータが、総称名を変えるか、または変えずに、スマートオブジェクトに関連付けられた識別情報に追加されてよい。他のオプションも可能である。「部屋1」という名称が総称的な例として使われる間、部屋名称は、実際の部屋(たとえば、「LivingRoom」、「Bedroom」、「Kitchen」など)を記述することができる。代替または追加として、制御デバイス120は、実際のデバイスについてのより具体的な情報を追加するように、たとえば「EndTableLampLivingRoom」、「OverheadLampLivingRoom」などのスマートオブジェクトを、これ以降でより詳細に記載するように、ポインティングおよび確認を通すなどして、各デバイスの特定のアイデンティティの確認に基づいて改名することができる。スマートオブジェクトが改名されると、ネットワーキングフレームワーク定義も、新たな名称、新たなタグ、新たな識別子、新たなメタデータまたは他の識別情報など、新たな識別情報を反映するように更新されてよい。たとえば、ネットワーキングフレームワーク構成要素を用いて提供される「改名」APIの一部として、ネットワーキングフレームワークは、デバイスへの参照を、たとえば新たな名称、タグ、識別子、メタデータなど、新たな識別情報を反映するように自動的に更新することができる。
いくつかの実施形態では、制御デバイス120が、部屋および実際のスマートオブジェクトを記述する新たな名称など、新たな識別情報でスマートオブジェクトを改名し、かつ/またはタグ、識別子、メタデータもしくは他の識別情報を追加すると、制御デバイス120はスマートオブジェクトと対話することができる。制御デバイス120は、各オブジェクトの新たな識別情報を、メッセージシーケンス316、318および320に示すように、RF通信チャネルに関連付けられたメッセージングアドレスとして使うことによって、各オブジェクトと個々に対話することができる。いくつかの実施形態では、制御デバイス120は、RF通信チャネルに関連付けられ得るメッセージシーケンス321に示すように、部屋名称への参照によって、グループとしてのオブジェクトとさらに対話することができる。
ネットワーキングフレームワーク150内で認識されるために、スマートオブジェクト110a〜110fを含むスマートオブジェクトおよび制御デバイス120は、ネットワーキングフレームワークに登録しなければならない。たとえば、AllJoyn(登録商標)では、フレームワーク登録は、「搭載」として知られるプロセスを通して行われる。いくつかの実施形態では、各デバイス(スマートオブジェクトD1 110a、D2 110b、D3 110c、D4 110d、D5 110e、およびD6 110fなど)が、たとえば、メッセージシーケンス322中で、アクセスポイント130を通してRF通信チャネル上でメッセージを送ることによって、ネットワーキングフレームワーク150に登録要求メッセージを送信し得る。いくつかの実施形態では、アクセスポイント130は、ネットワーキングフレームワークオブジェクトの登録を追跡し、記録するのに使うことができるネットワーキングフレームワーク構成要素を有して構成され得る。いくつかの実施形態では、制御デバイス120は、メッセージシーケンス324中でネットワーキングフレームワーク150に登録するために、登録要求メッセージを送信し得る。制御デバイス120は、アクセスポイント130を通してRF通信チャネル上でメッセージを送信すればよい。
ネットワーキングフレームワーク登録の一部として、制御デバイス120は、スマートオブジェクト110a〜110fなど、現在搭載されているオブジェクトをすべて受信し得る。代替または追加として、制御デバイスは、メッセージシーケンス326中で発見要求メッセージを送ってよい。メッセージを受信すると、スマートオブジェクトは、制御デバイス120のものと識別され得る。
いくつかの実施形態では、アクセスポイント130は、メッセージが必ずしも各デバイスに送られる必要がないように、ネットワーキングフレームワーク構成要素を装備し得る。むしろ、アクセスポイント130は、制御デバイス120を、登録済みオブジェクト(たとえば、スマートオブジェクト)の総称名で更新してよい。アクセスポイント130のネットワーキングフレームワーク構成要素は、スマートオブジェクトに、制御デバイス120の登録をさらに通知し得る。代替として、制御デバイス120は、ネットワーキングフレームワーク150内でのその存在を通知または広告することができる。前の例におけるメッセージシーケンス312でのように、制御デバイス120が、現在登録されているスマートオブジェクトをすべて発見および表示すると、RF通信チャネルに関連付けられ得るメッセージシーケンス328に示すように、スマートオブジェクト110a〜110fがそれぞれの2次通信チャネルを通して識別するための要求が送信され得る。
メッセージシーケンス328に応答して、スマートオブジェクト110a〜110fは、それぞれの超音波信号を、1つまたは複数の超音波通信チャネルに関連付けられ得るメッセージシーケンス330中で送ることによって、2次通信チャネルを通して応答することができる。制御デバイス120は、同じ部屋の中のスマートオブジェクトD1 110a、D2 110b、およびD3 110cのみから超音波信号を受信する。制御デバイス120は、他の部屋にあるオブジェクトからの超音波信号は、壁203によってそれらの超音波信号が遮断されるので、受信しない。同じ部屋にあるスマートオブジェクトD1 110a、D2 110b、およびD3 110cからの超音波信号のみを受信したことに応答して、これらのスマートオブジェクトは、ブロック334において、ユーザディスプレイ上でハイライトされ得る。いくつかの例では、別の部屋にあるスマートオブジェクトD4 110d、D5 110eおよびD6 110fなど、超音波信号がそこから受信されなかった追加スマートオブジェクトは表示されなくてよい。したがって、部屋1にあるスマートオブジェクトのリストは、ネットワーキングフレームワークを通して対話することができるスマートオブジェクトの完全リストから効果的に「フィルタリング」され得る。スマートオブジェクトは、改名、タグ付けなどをされ、メッセージシーケンス314、316、318、320および321に関連して上述したように制御されてよい。
様々な実施形態では、スマートオブジェクト110a〜110cは、メッセージシーケンス342に示すように超音波通信チャネルを使って、前に記載したように信号を送信し得る。制御デバイス120は、超音波信号が受信され得るための少なくとも2つの超音波受信要素(たとえば、マイクロフォン)を装備し得る。超音波信号の受信に基づいて、制御デバイス120は、部屋1 202の中でのオブジェクトの位置を算出することができる。制御デバイス120は、ブロック346において、ポインティング方向をさらに算出することができる。制御デバイス120のポインティング方向は、デバイスのポインティング方向を生成することが可能な搭載加速度計、ジャイロスコープ、または他の同様のデバイスを使って算出することができる。前に記載したように、スマートオブジェクトの絶対または相対ロケーションは、前に取得され、記憶されてよい。ポインティング方向が取得されると、制御デバイス120は、制御デバイスが対話することを望むデバイスを識別するのを支援するために、ポインティング方向を、記憶されたロケーションのリストと比較すればよい。制御デバイス120は、オブジェクトをポインティングし、確認を要求するメッセージ348を送信することができる。要求メッセージは、オブジェクトの新たな名称を含み得る。オブジェクトは、メッセージ348に、確認350で応答すればよい。確認350は、制御デバイス120がポインティングしているデバイスが、制御デバイス120のディスプレイに列挙され、ハイライトされるスマートオブジェクトに対応するという点滅または他の視覚的もしくは聴覚的に識別可能な確認を含み得る。
いくつかの実施形態では、ポインティング手順は、改名(またはタグ付け、識別など)プロセス中に使うことができる。たとえば、ユーザは、エンドテーブルランプなど、命名されるべきスマートオブジェクトにおいて制御デバイス120をポインティングすればよく、制御デバイスに、メッセージ348などの確認要求メッセージを送信するよう命令し、促すことができる。制御デバイス120は、制御デバイス120がポインティングしているオブジェクトが、意図されたオブジェクトであると確認し、オブジェクトを、たとえば「EndTableLampRoom1」に改名してよい。オブジェクトまたはスマートオブジェクト110のロケーションが制御デバイス120またはネットワーキングフレームワーク150によってすでに知られている場合、制御デバイス120は、制御デバイス120がポインティングしているスマートオブジェクトのアイデンティティを確かめればよい。そのようなケースでは、確認350を与える代わりに、またはそれに加え、制御デバイス120は、2次通信チャネル上で確認352を送信するか、またはRF通信チャネル上で確認354を送信してよい。
スマートオブジェクトまたはネットワーキングフレームワーク150内のオブジェクトの改名のための実施形態方法400が、図4Aに示されている。論じたように、「改名」という用語は、スマートオブジェクトが識別され得るやり方を変える、どの動作も指し得る。たとえば、改名は、スマートオブジェクトの総称名を変えること、スマートオブジェクトの以前割り当てられた名称を変えること、またはスマートオブジェクトのデフォルト名を変えることを指し得る。「名称」は、ネットワーキングフレームワーク内の他のデバイスによって見ることができる値であり得る。たとえば、AllJoyn(登録商標)フレームワークにおいて、名称は、ネットワーキングフレームワークを通してオブジェクトに接続されたデバイスのユーザインターフェース上に現れる名称などの「愛称」であってよい。代替または追加として、改名は、デバイスに関連付けられた情報にタグを追加すること(すなわち「タグ付け」)を指す場合があり、これは、デバイスまたは同様のデバイスを識別するのを支援することができる。代替または追加として、改名は、愛称以外の、スマートオブジェクトに関連付けられた識別子を修正することを指し得る。たとえば、識別子は普通には、スマートオブジェクトがネットワーキングフレームワークを通して接続されているデバイスのユーザインターフェース上では見えない場合がある。代替または追加として、改名は、スマートオブジェクトに関連付けられたメタデータを追加し、または変えることを指し得る。
実施形態方法の動作を実施するために、制御デバイスを含むデバイスの各々が、記載されたように、ネットワーキングフレームワークを通して接続され得る。ブロック402において、制御デバイス120のプロセッサが、本明細書において上で記載したように、ネットワーキングフレームワーク標準クライアントなどのネットワーキングフレームワークを実行し得る。1つまたは複数のスマートオブジェクト110のそれぞれのプロセッサまたは複数のプロセッサも、上述したように、ネットワーキングフレームワークシンクライアントなどのネットワーキングフレームワークを実行することができる。いくつかの実施形態では、ネットワーキングフレームワーク標準クライアントおよびネットワーキングフレームワークシンクライアントはAllJoyn(登録商標)クライアントであってよい。標準クライアントおよびシンクライアントの機能および動作は、様々な標準コードパッケージ、API、SDK、またはAllseen Alliance機構に関連付けられた現在および将来の技術規格に準拠する、個別に開発されたソフトウェアパッケージに従って規定され得る。他の実施形態では、標準クライアントおよびシンクライアントは、異なる出所のソフトウェアパッケージに基づく動作を実施することができ、これは、標準およびシンクライアントが、本明細書に記載するものと一致する動作を実施することを可能にし得る。
ブロック404において、制御デバイスのプロセッサは、ネットワーキングフレームワークに現在登録されているすべてのスマートオブジェクトの識別を要求するRF信号を、第1の通信チャネル上でブロードキャストし得る。RF信号のブロードキャストは、フレームワークアプリケーションやクライアントなどのアプリケーションによって呼び出されるネットワーキングフレームワーク機能として遂行され得る。ネットワーキングフレームワーク機能は、次に、プロセッサに、トランシーバなどの必要なハードウェア、およびRF信号の実際の送信に必要であり得るより低レベルのソフトウェアアクションを呼び出させ得る。
様々な実装形態によっては、制御デバイスのプロセッサは、RF通信チャネルを介して行われた以前の発見処理に基づいて、ネットワーキングフレームワークに登録済みであるスマートオブジェクトに個々の要求を送る場合がある。したがって、ブロック404において、制御デバイスのプロセッサは、制御デバイスが置かれている部屋(たとえば、部屋1)などの定義エリア内のスマートオブジェクトすべてのサブセットを含む、ネットワーキングフレームワークに登録されている、家庭または施設内のすべてのスマートオブジェクトにRF信号をブロードキャストし得る。RF信号(たとえば、要求)に応答して、要求を受信する、施設全体のスマートオブジェクトすべてのプロセッサは、超音波信号などの信号を第2の通信チャネル上で送信することによって応答し得る。無線周波数信号伝播の性質により、第1の通信チャネル上で送られるRF信号は、施設内の壁、床、天井、および他の構造物を貫通する見込みがある。したがって、第1の通信チャネル上で送られるRF信号は、定義エリアまたは部屋にあるスマートオブジェクト、および定義エリアまたは部屋の外にあるそれらのスマートオブジェクトにも到達する見込みがある。
ブロック408において、制御デバイスのプロセッサは、RF信号を受信したスマートオブジェクトから、第2の通信チャネル上で信号を受信し得る。制御デバイスのプロセッサは、同じ部屋にあるスマートオブジェクトのサブセットから、第2の通信チャネル上で信号を受信し得る。制御デバイスを、部屋の外のスマートオブジェクトから隔てる壁、床、または他の構造物の超音波フィルタリングアクションにより、制御デバイスのプロセッサは、同じ部屋にないスマートオブジェクトからは、第2の通信チャネル上で信号を受信することはできない。したがって、第2の通信チャネル中での超音波信号の使用および壁、床および他の構造物のフィルタリングアクションは、プロセッサが、制御デバイスが位置付けられている限定エリア内のスマートオブジェクトを効率的に識別することを可能にするという利点をもたらす。いくつかの実施形態では、制御デバイスのプロセッサは、部屋の外にあるスマートオブジェクトから、減衰超音波信号を受信する場合がある。そのような実施形態では、プロセッサは、たとえば、超音波信号の容量またはレベルが最小閾を下回る場合、そのスマートオブジェクトを無視してよい。したがって、制御デバイスは、同じ部屋にあるスマートオブジェクトを、命名する目的で識別するのに、第2の通信チャネル上で受信された信号に依拠し得る。
制御デバイスのプロセッサは、制御デバイス上のネットワーキングフレームワーク標準クライアントおよび各スマートオブジェクト上のシンクライアントによって呼び出されたネットワーキングフレームワーク機能として、第2の通信チャネル上でスマートオブジェクトによって直接送信された応答を受信し、処理することができる。代替として、第2の通信チャネル上での応答の送信の、制御デバイスのプロセッサによる受信は、少なくとも最初は、フレームワーク外または帯域外通信として、ネットワーキングフレームワークの外で遂行され得る。そのようなフレームワーク外通信は、制御デバイスによって受信されると、たとえば、フレームワーク外通信のデータまたは結果をフレームワークステータス、状態、機能などに組み込むことによって、ネットワーキングフレームワークに内在化され得る。
判定ブロック410において、制御デバイスのプロセッサは、スマートオブジェクトから超音波信号が受信されたかどうか判定することができる。制御デバイスは、ネットワーキングフレームワークに登録されているすべてのスマートオブジェクトのリストを以前受信している場合も、していない場合もある。制御デバイスが、たとえばネットワーキングフレームワークとの対話を通してリストを受信済みであるケースでは、超音波信号の受信は、リスト上の各スマートオブジェクトと照合されてよい。リストが受信されない場合、制御デバイスのプロセッサは、超音波信号の受信に基づいてスマートオブジェクトの表示リストを構築すればよい。ただし、すべてのスマートオブジェクトのリストは、超音波信号がそこから受信されたスマートオブジェクトのリストとは異なり得る(たとえば、より多くのエントリを含み得る)。
スマートオブジェクトから超音波信号が受信されたと判定したことに応答して(すなわち、判定ブロック410=「Yes」)、制御デバイスのプロセッサは、ブロック412において、スマートオブジェクトの総称名に基づいて、スマートオブジェクトをユーザインターフェース表示上で表示し、またはハイライトし得る。制御デバイスのプロセッサが、フレームワークに登録済みであるスマートオブジェクトのリストを受信する実施形態では、制御デバイスのプロセッサは、超音波信号がそこから受信されたスマートオブジェクトを、たとえば制御デバイスのユーザインターフェースにおいて、リスト中でハイライトし得る。フレームワークに登録されているスマートオブジェクトのリストをプロセッサがまだ受信していない実施形態では、制御デバイスのプロセッサは、たとえば制御デバイスのユーザインターフェース中の総称名によって、スマートオブジェクトを表示し得る。
たとえば照合プロセスを通して、スマートオブジェクトから信号が受信されていないと判定したことに応答して(すなわち、判定ブロック410=「No」)、制御デバイスのプロセッサは、判定ブロック414において、超音波信号がそこから受信されたスマートオブジェクトがすべて検討されるかどうか判定し得る。
いくつかの実施形態では、超音波信号が受信されると、制御デバイスのプロセッサは、スマートオブジェクトが超音波信号の送信をやめてよいことを示す個々のメッセージを、超音波信号がそこから受信されたスマートオブジェクトに送り得る。代替として、超音波信号がそこから受信されたすべてのスマートオブジェクトが、制御デバイスのディスプレイに提示またはハイライトされると、超音波信号の送信をやめるためのブロードキャストメッセージが、RF通信チャネル上でスマートオブジェクトすべてに送信され得る。いくつかの実施形態では、制御デバイスは超音波送信機を装備することができ、スマートオブジェクトは超音波受信機を装備することができ、そうすると、制御デバイスは、各スマートオブジェクトまたはデバイスに個々に超音波確認応答を送信することによって、各デバイスからの超音波信号の受信に確認応答することができる。
たとえば、列挙されたスマートオブジェクトを、受信された超音波信号と突き合わせることによって、超音波信号がそこから受信されたすべてのスマートオブジェクトが検討されると判定したことに応答して(すなわち、判定ブロック414=「Yes」)、制御デバイスのプロセッサは、ブロック416において、ネットワーキングフレームワーク内の、超音波信号がそこから受信された各スマートオブジェクトを改名してよく、かつ/または改名させてよい。超音波信号がそこから受信された各スマートオブジェクトは制御デバイスと同じ部屋(たとえば、部屋1)にあるので、各スマートオブジェクトは、「部屋1」など、部屋への参照を名称中に使う新たな識別情報で改名することができる。いくつかの実施形態では、たとえば新たな識別情報が名称であるとき、部屋参照は、プレフィックスもしくはサフィックスとして追加されてよく、またはさもなければスマートオブジェクトの総称名とともに組み込まれてよい。たとえば、スマートオブジェクトがスマート電球である場合、新たな名称は「SmartBulb1Room1、SmartBulb2Room1、…」などであってよい。いくつかの実施形態では、制御デバイスのプロセッサは、スマートオブジェクトを、制御デバイスのユーザインターフェース上での表示用にのみ改名し得る。スマートオブジェクトの総称名は、他のユーザがそれぞれの制御デバイス内で改名を行うことができるように、フレームワーク内で同じままであってよい。他の実施形態では、制御デバイスのプロセッサは、新たな識別情報を、新たなタグ、新たな識別子、新たなメタデータなどの形で提供することによって、スマートオブジェクトをフレームワーク内で改名させ得る。
ブロック418において、制御デバイスのプロセッサは、超音波信号がそこから受信されたスマートオブジェクトに改名コマンドを送り得る。制御デバイスのプロセッサは、スマートオブジェクトが置かれている定義エリアまたは部屋への参照を使う、ブロック416において考案された新たな識別情報(たとえば、SmartBulb1Room1)を使って、スマートオブジェクトを改名することができる。超音波信号がそこから受信されるスマートオブジェクトはすべて、改名に成功すると、制御デバイスからの改名コマンドを通して新たな識別情報を通知される。ブロック420において、制御デバイスのプロセッサは、たとえば、部屋参照を含む名称、タグ、識別子、メタデータなど、新たな識別情報への参照によって、各デバイスと通信し、制御することができる。
図4Bに示される実施形態方法401において、制御デバイスは、フレームワークに登録済みであるスマートオブジェクトに気づくことができる。ブロック422において、制御デバイスのプロセッサは、ネットワーキングフレームワークに登録することができる。フレームワークへの登録は、制御デバイスのプロセッサが、その存在および能力を広告すること、ネットワーキングフレームワークサーバと接続すること、フレームワークにすでに登録されている他のデバイスと接続することなどを伴い得る。制御デバイスのプロセッサは、スマートオブジェクトと接続するのを容易にするのに利用可能であるネットワーキングフレームワークサービスに気づくことができ、スマートオブジェクトは次いで、制御デバイスによって制御され得る。各スマートオブジェクトのプロセッサは、たとえばこれ以降で記載される搭載手順中に、ネットワーキングフレームワークに登録し、総称識別子割当て(たとえば、総称名、識別子など)を受信することができる。
AllJoyn(登録商標)フレームワークにおいて、登録は、制御デバイスから実行される「搭載」サービスまたは手順中に遂行され得る。搭載は、デバイスがそれ自体を広告し、かつ/またはネットワーキングフレームワークによって発見されるための1つの手順または一連の手順および/もしくは機能を指し得る。搭載されるべきデバイスは、広告通信を受信することが可能なすべてのデバイスに対して広告することができる。代替または追加として、搭載されるべきデバイスは、たとえばネットワーキングフレームワークに接続された制御デバイスまたは他のデバイスによって発見され得る。代替または追加として、搭載されるべきデバイスは、ネットワーキングフレームワークサーバまたは同様のノードなどのネットワーキングフレームワークデバイスによって発見され得る。いくつかの実施形態では、ネットワーキングフレームワークノードが、搭載されるべきデバイスの代わりに、他のデバイスへの広告を行ってよい。搭載はさらに、または代替として、識別および能力情報、ならびに他の情報(たとえば、ロケーション情報)を、通信および制御アクションが可能であるように、ネットワーキングフレームワークに取り付けられた他のノードに報告することを伴い得る。搭載サービスは、制御デバイスがネットワーキングフレームワークに加えられ、または搭載されると、ネットワーキングフレームワーク標準クライアントの一部としての制御デバイス上で利用可能であり得る。
ブロック424において、制御デバイスのプロセッサは、搭載または登録中にスマートオブジェクトに割り当てられた総称識別子を含む、フレームワークに登録されている各スマートオブジェクトについての情報を受信し得る。ブロック425において、制御デバイスのプロセッサは、登録済みスマートオブジェクトすべてのリストを、総称名によって作成することができる。たとえば、制御デバイスのプロセッサは、各登録済みスマートオブジェクトに関連付けられた表示項目またはオブジェクトを、登録中に割り当てられた総称名とともに、制御デバイスのユーザインターフェース(UI)上に表示させ得る。
ブロック404〜420における動作は、図4Aを参照して上述したのと同じであり、したがって、ブロック404〜420の記述は簡潔のために省く。ただし、ブロック412において、制御デバイスのプロセッサは、第2の通信チャネル上で超音波信号がそこから受信されたスマートオブジェクトをハイライトし得る。図示した実施形態では、登録済みスマートオブジェクトのリストは、制御デバイスのUI上にすでに表示されていてよく、したがって、制御デバイスのプロセッサは、超音波信号がそこから受信されるスマートオブジェクトをハイライトし得る。そのようなハイライト表示の結果、ハイライトされたスマートオブジェクトが表示されてよく、これは、表示されたリスト中の登録済みスマートオブジェクトすべてのサブセットである。ハイライトされたスマートオブジェクトは、制御デバイスと同じ定義エリアにあるスマートオブジェクトも表し得る。ハイライトされたスマートオブジェクトは、改名を求めるスマートオブジェクトも表し得る。
図4Cに示される実施形態方法403では、スマートオブジェクト(たとえば、スマートオブジェクト)の位置が判定され得る。スマートオブジェクトのうちの1つまたは複数が超音波信号を送信中であるいかなる状況においても、制御デバイスは、スマートオブジェクトの位置を判定することができる。たとえば、プロセッサが、実施形態方法400および401のブロック408、410、412、および414を参照して上述した動作のうちの1つまたは複数を実施すると、スマートオブジェクトから超音波信号が送信され得る。ブロック408、410、412、および414における動作の完全な記述は、図4Aを参照して上で与えられている。いくつかの実施形態では、制御デバイスは、マイクロフォン、マイクロフォン要素または他のトランスデューサ要素など、2つ以上の超音波受信要素を装備し、3次元座標系における、スマートオブジェクトに対する方位またはそれらの位置を算出するように構成され得る。したがって、ブロック450において、制御デバイスのプロセッサは、現在の定義エリアまたは部屋(たとえば、部屋1)にあるスマートオブジェクトの各々の位置を算出することができる。位置は、受信された超音波信号または他の情報に基づいて、2または3次元で算出することができる。ブロック451において、制御デバイスのプロセッサは、各スマートオブジェクトの算出された位置情報を記憶してもよく、算出された位置を、制御デバイスに関連付けられるか、または制御デバイスにとってアクセス可能な、たとえばメモリ中に、各スマートオブジェクトについて前に記憶された位置情報を更新するのに使ってもよい。
様々な実施形態では、制御デバイスは、制御デバイスがポインティングしている方向を判定することが可能な、加速度計、コンパス要素、または他の要素など、1つまたは複数の要素を装備し得る。ポインティングは、制御デバイスおよび座標系または位置システムの前など、基準点に相対した方向または配向として定義され得る。ブロック452において、制御デバイスのプロセッサは、制御デバイスが、対話の対象とされたオブジェクトをアドレス指定するために、ユーザによってスマートオブジェクトの方向にポインティングされていると判定し得る。
ブロック454において、制御デバイスのプロセッサは、制御デバイスのポインティング方向を算出し得る。ポインティング方向は、加速度計、ジャイロスコープ、もしくは同様の要素、またはこれらもしくは同様の要素の組合せからの出力に基づいて、2次元(たとえば、x、y)または3次元(たとえば、x、y、z)で算出されてよい。代替または追加として、ポインティング方向は、アドホックベース、相対ベース、デッドレコニングベース、または他のベースで算出または推定されてよい。いくつかの実施形態では、ポインティング方向は、制御デバイスによる超音波信号の受信から得られた情報を使って算出され、推定され、または洗練され得る。ポインティング方向は、本明細書に記載するように、スマートオブジェクトとの対話を通して算出され、推定され、または取得され得る。そのような実施形態では、スマートオブジェクトは、制御デバイスに対する相対位置をアドホックベースで算出し、その位置を制御デバイスに通信することができる。他の実施形態では、スマートオブジェクトは、1つまたは複数の他のスマートオブジェクトに対する相対位置を算出することができ、その位置を制御デバイスにさらに通信することができる。カメラなど、他のセンサーが、制御デバイスのポインティング方向を展開し、洗練し、または確認するのに使われ得る。様々な実施形態では、制御デバイスのポインティング方向は、スマートオブジェクトと対話するために制御デバイスの動作が呼び出されたときにポインティング方向が算出され得るように、絶えず、または定期的に監視されてよい。
判定ブロック456において、制御デバイスのプロセッサは、制御デバイスの算出されたポインティング方向がスマートオブジェクトの位置に対応するかどうか判定し得る。いくつかの実施形態では、現在のポインティング方向は複数のスマートオブジェクトに対応し得る。したがって、制御デバイスのプロセッサは、算出されたポインティング方向に対応する1つまたは複数のスマートオブジェクトを識別することができる。
算出されたポインティング方向が、スマートオブジェクトに対する方位またはその位置に対応すると判定したことに応答して(すなわち、判定ブロック456=「Yes」)、制御デバイスのプロセッサは、ブロック457において、スマートオブジェクトのアイデンティティを確認するよう要求する、そのスマートオブジェクトにアドレス指定されたメッセージを送信し得る。確認要求は、制御デバイスがポインティングしているスマートオブジェクトが、制御デバイスのユーザによる対話の対象とされたデバイスに実際に対応するという確認であり得る。いくつかの実施形態では、スマートオブジェクトの位置および所与のポインティング方向とスマートオブジェクトの位置の対応は、すでに確立されている場合がある。ブロック458において、制御デバイスがポインティングしているスマートオブジェクトは、ブロック458において、制御デバイスのユーザインターフェース上で随意にハイライトされ得る。そのようなハイライト表示は、複数のスマートオブジェクトが、制御デバイスに相対して同じポインティング方向にあるとき、有用であり得る。
ブロック457において制御デバイスのプロセッサによって送られた確認要求メッセージを受信したことに応答して、スマートオブジェクトは、確認表示を与えることができる。確認表示は、スマート電球の点滅、オーディオを生じることが可能なスマートオブジェクト向けのトーンを発すること、または他の確認もしくは確認の組合せを含み得る。可視的または可聴確認を受信することによって、ユーザは、制御デバイスが現在ポインティングしている(または制御デバイスがポインティングしていることを意図している)スマートオブジェクトが、意図されたスマートオブジェクトであることを視覚的または聴覚的に確認することが可能である。
ブロック460において、制御デバイスのプロセッサは、制御デバイスがポインティングしているスマートオブジェクトから確認を受信し得る。たとえば、いくつかの実施形態では、制御デバイスのプロセッサは、制御デバイスのビデオまたはオーディオ取込みデバイス(たとえば、カメラおよび/またはマイクロフォン)からデータを受信し得る。確認は、制御デバイスのカメラおよび/またはマイクロフォンによって取り込まれ、取り込まれたオーディオまたはビデオデータを処理するときに制御デバイスのプロセッサによって使われ得る閃光シーケンスおよび/またはオーディオトーンを含み得る。他の実施形態では、制御デバイスのユーザは、聴覚または視覚確認を観察し、ユーザインターフェース上の確認ボタンを押すことによって制御デバイスのポインティング方向を確認することができる。ブロック462において、制御デバイスのプロセッサは、デバイスをポインティングすることによってスマートオブジェクトを制御することができる。たとえば、ポインティングおよび確認は、スマートオブジェクトについての識別情報を含む、対話が意図している正しいスマートオブジェクトを確立し得る。その後、確認されたデバイスについての正しい識別情報を使って、ネットワーキングフレームワークを通して利用可能な改名および他のアクションを含むネットワーキングフレームワーク動作が呼び出され得る。ポインティングベースの制御は、制御デバイスおよびネットワーキングフレームワークを用いてスマートオブジェクトが識別、改名、および確認済みであるとき、RF通信チャネルを介して進行し得る。
スマートオブジェクトまたは本明細書に記載するスマートオブジェクトは、ネットワークに接続し、超音波チャネルなどの2次通信チャネルを提供する能力を有する、ほぼどのデバイスであってもよい。ある実施形態では、図5に示すように、デバイスまたはスマートオブジェクトはスマートバルブ500を含み得る。スマートバルブ500は、発光ダイオード(LED)要素などの制御可能能動素子539を含み得る。いくつかの実施形態では、スマートバルブ500は、スマートバルブ500をソケットまたはレセプタクル(図示せず)に差し込むための口金532を含み得る。口金532は、当業者によく知られているねじタイプバルブ口金など、非常に様々なバルブ口金タイプのうちのいずれであってもよい。バルブ口金532は、非標準または固有の口金であってもよい。ソケットまたはレセプタクルは一般に、スマートバルブ500が能動素子539を操作するための電力を取得し得るための電力源、概して交流(AC)電力を提供する。
スマートバルブ500は制御ユニット510を装備することができ、制御ユニット510は、少なくとも、プロセッサ502およびメモリ506、RFユニット508、オーディオ/超音波ユニット504、要素制御ユニット522、ならびに電力ユニット524を含み得る。制御ユニット510内の様々なユニットは、接続501を通して結合され得る。接続501は、データ線、制御線、電力線、もしくは他の線または線の組合せを含み得るバス構成であってよい。プロセッサ502は、接続501の動作を制御し、接続501からステータスを受信し、接続501を使って他の動作を実施するために、ネットワーキングフレームワークの少なくともシンクライアントバージョンを実行することが可能であり得る。プロセッサ502は、組込みプロセッサもしくはコントローラ、汎用プロセッサ、または同様のプロセッサであってよく、内部および/または外部メモリ506を装備し得る。内部/外部メモリ506は揮発性または不揮発性メモリであってよく、また、セキュアおよび/もしくは暗号化メモリであっても、または非セキュアおよび/もしくは非暗号化メモリであっても、あるいはそれらの任意の組合せであってもよい。制御ユニット510は、互いに、および/またはプロセッサ502に結合された、通信を送り、受信するための1つまたは複数の無線信号トランシーバ508(たとえば、Peanut、Bluetooth(登録商標)、Bluetooth(登録商標) LE、Zigbee、Wi-Fi、RF無線など)と、アンテナ509とを有する場合がある。トランシーバ508およびアンテナ509は、様々なワイヤレス送信プロトコルスタックおよびインターフェースを実装するために、上述した回路とともに使用されてよく、ネットワーキングフレームワークの少なくともシンクライアントバージョンによって制御可能であり得る。オーディオ/超音波ユニット504は、第2の通信チャネルに関連して本明細書に記載するように、超音波信号を送信するための超音波エミッタ505aを含み得る。代替または追加として、オーディオ/超音波ユニット504は、超音波および/またはオーディオ信号を送信することが可能なスピーカーまたはトランスデューサ505bを含み得る。代替実施形態では、オーディオ/超音波ユニット504は、超音波信号を受信するための1つまたは複数の超音波受信機507をさらに含み得る。スマートバルブ500、または何らかのスマートオブジェクトに超音波受信機が設けられる例では、そうすることによって、スマートオブジェクトについての位置情報を展開する際の支援が提供され得る。代替または追加として、スピーカーまたはトランスデューサ505bなどのオーディオ構成要素が双方向2次通信に使われてよい。
様々な態様は、様々なモバイルコンピューティングスマートオブジェクト(たとえば、スマートフォン、タブレットなど)のいずれにも実装することができ、その一例が図6に示される。モバイルコンピューティングデバイス600は、コンピューティングデバイス600の様々なシステムに、それらとの通信およびそれらの制御のために結合されたプロセッサ602を含み得る。たとえば、プロセッサ602は、タッチスクリーンコントローラ604、無線通信要素、スピーカーおよびマイクロフォン、ならびに内部メモリ606に結合され得る。プロセッサ602は、全般的な処理タスクまたは特定の処理タスクのために指定された1つまたは複数のマルチコア集積回路とされ得る。内部メモリ606は揮発性もしくは不揮発性メモリであってもよく、また、セキュアおよび/もしくは暗号化メモリであっても、または非セキュアおよび/もしくは非暗号化メモリであっても、あるいはそれらの任意の組合せであってもよい。別の実施形態(図示せず)では、コンピューティングデバイス600はまた、外部ハードドライブなどの外部メモリに結合される場合がある。
タッチスクリーンコントローラ604およびプロセッサ602は、抵抗感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンパネル612にも結合され得る。加えて、モバイルコンピューティングデバイス600のディスプレイは、タッチスクリーン能力を有する必要はない。モバイルコンピューティングデバイス600は、互いに、および/またはプロセッサ602に結合された、通信を送受信するための1つまたは複数の無線信号トランシーバ608(たとえば、Peanut、Bluetooth(登録商標)、Bluetooth(登録商標) LE、Zigbee、Wi-Fi、RF無線など)と、アンテナ610とを有する場合がある。トランシーバ608およびアンテナ610は、様々なワイヤレス送信のプロトコルスタックおよびインターフェースを実装するために、上述の回路とともに使用される場合がある。モバイルコンピューティングデバイス600は、セルラーネットワークを介する通信を可能にし、プロセッサに結合されたセルラーネットワークワイヤレスモデムチップ616を含む場合がある。
モバイルコンピューティングデバイス600は、プロセッサ602に結合された周辺デバイス接続インターフェース618を含む場合がある。周辺デバイス接続インターフェース618は、1つのタイプの接続を受け入れるように単独で構成される場合があるか、またはUSB、FireWire、Thunderbolt、もしくはPCIeなどの様々なタイプの物理接続および通信接続を共通もしくはプロプライエタリに受け入れるように構成される場合がある。周辺デバイス接続インターフェース618は、同様に構成された周辺デバイス接続ポート(図示せず)に結合される場合もある。
いくつかの実施形態では、モバイルコンピューティングデバイス600は、マイクロフォン615を含み得る。様々な実施形態では、モバイルコンピューティングデバイス600は、単一のマイクロフォンまたは複数のマイクロフォンを装備し得る。たとえば、モバイルコンピューティングデバイスは、呼の最中に音声または他のオーディオ周波数エネルギーをユーザから受信するための従来のマイクロフォン615aを有し得る。モバイルコンピューティングデバイス600はさらに、超音波信号を含むオーディオを受信するように構成され得る追加マイクロフォン615bおよび615cを有して構成されてよい。単一のマイクロフォンが、同じ部屋の中に存在するデバイスを検出するなど、「存在」情報を求めて使われてよい。複数のマイクロフォンは、相対位置情報を展開するのに使うことができる。代替として、すべてのマイクロフォン615a、615b、および615cが、超音波信号を受信するように構成されてよい。マイクロフォン615は、圧電トランスデューサ、または他の従来のマイクロフォン要素であってよい。複数のマイクロフォン615を使うことができるので、たとえば三角測量、三辺測量、多辺測量など、様々な方法を通して、相対ロケーション情報が、受信された超音波信号に関連して受信され得る。超音波信号を受信するように構成された少なくとも2つのマイクロフォン615が、超音波エネルギーのエミッタについての位置情報を生成するのに使われ得る。
モバイルコンピューティングデバイス600は、オーディオ出力を提供するためのスピーカー614を含む場合もある。モバイルコンピューティングデバイス600は、本明細書で説明された構成要素のすべてまたはいくつかを収容するための、プラスチック、金属、または材料の組合せから構築された筐体620を含む場合もある。モバイルコンピューティングデバイス600は、使い捨てまたは充電可能なバッテリーなどの、プロセッサ602に結合された電源622を含む場合もある。充電可能なバッテリーは、モバイルコンピューティングデバイス600の外部にある電源から充電電流を受けるために、周辺デバイス接続ポートに結合される場合もある。モバイルコンピューティングデバイス600は、ユーザ入力を受け取るための物理ボタン624を含む場合もある。モバイルコンピューティングデバイス600は、モバイルコンピューティングデバイス600をオンオフするための電源ボタン626を含む場合もある。
いくつかの実施形態では、モバイルコンピューティングデバイス600は、加速度の多方向値および変化を検出するための能力を通して、デバイスの動き、振動、および他の側面を感知する加速度計628をさらに含み得る。様々な実施形態では、加速度計628は、モバイルコンピューティングデバイス600のx、y、およびz位置を判定するのに使うことができる。加速度計からの情報を使って、モバイルコンピューティングデバイス600のポインティング方向を検出することができる。
様々な実施形態は、ネットワーキングフレームワークを実行する制御デバイスによって、部屋の中のスマートオブジェクトと対話するための実施形態方法を含み得る。実施形態方法は、ネットワーキングフレームワークに関連付けられた第1の通信チャネル上で、制御デバイスからの信号を、ネットワーキングフレームワークに登録されている複数のスマートオブジェクトによる受信のためにブロードキャストするステップを含み得る。信号は、複数のスマートオブジェクトのうちの1つまたは複数に、ネットワーキングフレームワークに関連付けられた第2の通信チャネルを介して、ネットワーキングフレームワークへの登録中に割り当てられたスマートオブジェクトの総称名を含む応答信号を送信させるように構成され得る。方法は、制御デバイスによって、部屋の中のスマートオブジェクトによって送信された応答信号を受信するステップをさらに含んでよく、というのは、部屋の外のスマートオブジェクトによって送信された応答信号は、部屋の壁、床および天井によって遮断されるからである。制御デバイスは、ネットワーキングフレームワークの範囲内で、制御デバイスが置かれている部屋への参照を含む新たな識別情報とともに応答信号がそこから受信された各スマートオブジェクトを改名することができる。ある実施形態では、方法は、部屋への参照を含む新たな識別情報を使って、改名されたスマートオブジェクトのうちの1つまたは複数と、ネットワーキングフレームワークを介して通信するステップをさらに含み得る。さらなる実施形態方法は、割り当てられたグループへの参照を含む新たな識別情報とともに、改名されたスマートオブジェクトをグループに割り当てるステップを含み得る。ある実施形態では、方法は、制御デバイス中で、改名されたスマートオブジェクトのうちの1つまたは複数から、2つ以上の超音波信号を受信するステップと、受信された2つ以上の超音波信号に基づいて、制御デバイス中で、1つまたは複数の改名されたスマートオブジェクトの相対位置を算出するステップとをさらに含み得る。
ある実施形態では、方法は、改名されたスマートオブジェクトのうちの1つまたは複数の中の制御デバイスから送信された2つ以上の超音波信号を受信するステップを含み得る。改名されたスマートオブジェクトは、受信された2つ以上の超音波信号に基づいて、制御デバイスの相対位置を算出し、算出された相対位置を第1の通信チャネル上で制御デバイスに送信すればよい。ある実施形態では、ネットワーキングフレームワークの第1の通信チャネルは無線通信チャネルを含んでよく、ネットワーキングフレームワークの第2の通信チャネルは超音波信号を含んでよい。
ある実施形態では、方法は、制御デバイス中で、超音波信号がそこから受信された複数のスマートオブジェクトの各々の存在、それに対する相対方位、および/またはその位置のうちの1つまたは複数を判定するステップを含み得る。さらに、ある実施形態では、超音波信号がそこから受信されたスマートオブジェクトの各々のネットワーキングフレームワーク内での改名は、各スマートオブジェクトに対する判定された相対方位またはその位置に基づき得る。ある実施形態では、方法は、制御デバイスのポインティング方向を判定するステップをさらに含み得る。ある実施形態では、方法は、判定されたポインティング方向を、スマートオブジェクトのサブセット中のスマートオブジェクトの各々に対する、判定された相対方位またはその位置のうちの1つと相関させるステップと、制御デバイスのポインティング方向と相関する相対方位または位置を有するスマートオブジェクトの新たな識別情報を使って表示を与えるステップとをさらに含み得る。ある実施形態では、スマートオブジェクトの各々は、通信フレームワークに関連付けられたシンクライアントを有して構成され得る。ある実施形態では、ネットワーキングフレームワークはAllJoyn(登録商標)フレームワークであってよく、制御デバイスによって、ネットワーキングフレームワークの範囲内で、制御デバイスが置かれている部屋への参照を含む新たな識別情報とともに応答信号がそこから受信された各スマートオブジェクトを改名するステップは、AllJoyn(登録商標)搭載手順中に割り当てられたスマートオブジェクトの総称名を置き換えるステップを含み得る。
さらなる実施形態は、総称的な一意の名称を、ネットワーキングフレームワークを介した通信をアドレス指定する際に使用するために、複数のスマートオブジェクトの各々に割り当てるステップを含む、複数のスマートオブジェクトの各々をネットワーキングフレームワークに登録するステップを含む、複数のスマートオブジェクトと通信するための方法を含み得る。ある実施形態では、方法は、ネットワーキングフレームワークに制御デバイスを登録するステップをさらに含んでよく、このステップ中に、制御デバイスは、割り当てられた総称名を含む、複数のスマートオブジェクトのリストを受信する。ある実施形態では、方法は、制御デバイスから、ネットワーキングフレームワークの無線通信チャネル上で、信号を、複数のスマートオブジェクトによる受信のためにブロードキャストするステップをさらに含んでよく、ここで信号は、信号を受信したスマートオブジェクトに、超音波信号で応答するよう促すように構成される。ある実施形態では、方法は、無線通信チャネル上で信号を受信したことに応答して、複数のスマートオブジェクトの各々から、割り当てられた総称名を含む超音波信号をブロードキャストするステップをさらに含み得る。ある実施形態では、方法は、制御デバイス中で、スマートオブジェクトから超音波信号を受信するステップと、ネットワーキングフレームワークの範囲内で、制御デバイスが置かれている部屋への参照を含む新たな識別情報とともに超音波信号がそこから受信された各スマートオブジェクトを改名するステップとをさらに含み得る。ある実施形態では、方法は、新たな識別情報を使って、ネットワーキングフレームワークを介して部屋の中のスマートオブジェクトのうちの1つまたは複数と通信するステップをさらに含み得る。
ある実施形態では、方法は、制御デバイスによって、受信された超音波信号に基づいて、部屋の中のスマートオブジェクトの各々の相対位置を判定するステップをさらに含み得る。ある実施形態では、ネットワーキングフレームワークの範囲内で、超音波信号がそこから受信されたスマートオブジェクトの各々を改名するステップは、スマートオブジェクトの各々の判定された相対位置に基づく。ある実施形態では、方法は、制御デバイスのポインティング方向を判定するステップをさらに含み得る。ある実施形態では、方法は、判定されたポインティング方向を、スマートオブジェクトの各々の判定された相対位置のうちの1つと相関させるステップをさらに含み得る。ある実施形態では、方法は、制御デバイスのポインティング方向と相関する相対位置を有するスマートオブジェクトの新たな識別情報を使って表示を与えるステップをさらに含み得る。ある実施形態では、スマートオブジェクトの各々は、通信フレームワークに関連付けられたシンクライアントを含んでよく、通信フレームワークはAllJoyn(登録商標)フレームワークであってよく、この場合、総称的な一意の名称を、ネットワーキングフレームワークを介した通信をアドレス指定する際に使用するために複数のスマートオブジェクトの各々に割り当てるステップは、AllJoyn(登録商標)搭載手順中にローカル名を割り当てるステップを含み得る。
様々な実施形態は、上述した実施形態方法に関連付けられた1つまたは複数の動作を実施するように構成された、プロセッサと、回路要素とを有する制御デバイスを含む。様々な実施形態は、上で説明した実施形態方法の機能を実施するための手段を有する制御デバイスを含む。様々な実施形態は、上で説明した実施形態方法の動作を制御デバイスのプロセッサに実行させるように構成された、プロセッサ実行可能命令を記憶している、非一時的プロセッサ可読記憶媒体をさらに含む。様々な実施形態は、制御デバイスと、制御デバイスに結合された1つまたは複数のスマートオブジェクトとを含むシステムをさらに含み、ここで、制御デバイスおよび1つまたは複数のスマートオブジェクトは、上で説明した実施形態方法の1つまたは複数の動作を実施するように構成された、プロセッサおよび回路要素を含む。様々な実施形態は、上で説明した実施形態方法の機能を実施するための手段を含むシステムをさらに含む。
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な実施形態のステップが提示された順序で実施されなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の実施形態におけるステップの順序は、任意の順序で実施することができる。「その後」、「次いで」、「次に」などの言葉は、ステップの順序を限定するものではなく、これらの言葉は単に、読者に本方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する単数形での請求要素への任意の言及は、その要素を単数に限定するものとして解釈されるべきではない。
本明細書において開示された実施形態に関して記載された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装される場合がある。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的構成要素、ブロック、モジュール、回路、およびステップが、一般にそれらの機能性に関して上述された。そのような機能性がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課された設計制約に依存する。当業者は、説明した機能性を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。さらに、たとえば本明細書に記載するアルゴリズムおよびプロセスに基づく、プロセッサ、コンピュータ、コントローラ、または他のデバイスにおける、様々な実施形態方法および動作の実装は、基底プロセッサまたはコンピュータの動作を向上させ得る。
本明細書で開示される態様に関連して説明される様々な例示的論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、本明細書で説明される機能を実施するように設計された汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、またはそれらの任意の組合せとともに実装または実施され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替実施形態では、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連結した1つまたは複数のマイクロプロセッサ、または任意の他のこのような構成など、受信機スマートオブジェクトの組合せとしても実装されてよい。代替として、いくつかのステップまたは方法は、所与の機能に固有の回路要素によって実施される場合がある。
1つまたは複数の例示的な態様では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装することができる。ソフトウェアで実装される場合、機能は、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上に1つまたは複数の命令またはコードとして記憶されてもよい。本明細書で開示する方法またはアルゴリズムのステップは、非一時的コンピュータ可読またはプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュール内で具現化され得る。非一時的なコンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であり得る。限定ではなく例として、そのような非一時的なコンピュータ可読記憶媒体またはプロセッサ可読記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROM、または他の光ディスク記憶、磁気ディスク記憶もしくは他の磁気記憶スマートオブジェクト、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するのに使用されてよく、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。ディスク(disk)およびディスク(disc)は、本明細書で使用するとき、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せは、また、非一時的なコンピュータ可読媒体およびプロセッサ可読媒体の範囲内に含まれる。さらに、方法またはアルゴリズムの動作は、コードおよび/または命令の1つまたは任意の組合せまたはセットとして非一時的プロセッサ可読記憶媒体および/またはコンピュータ可読記憶媒体上に常駐してよく、非一時的プロセッサ可読記憶媒体および/またはコンピュータ可読記憶媒体はコンピュータプログラム製品に組み込まれてもよい。
開示した実施形態の前述の説明は、当業者が本発明を作成または使用することを可能にするために提供される。これらの実施形態に対する様々な修正が当業者には容易に明らかであり、本明細書で定義された一般原理は、本発明の趣旨または範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書で示した実施形態に限定されるものではなく、以下の特許請求の範囲、ならびに本明細書で開示した原理および新規な特徴と一致する最も広い範囲が与えられるべきである。