(57)【特許請求の範囲】
【請求項１】
１つ又は複数のコントローラ装置、もしくは１つ又は複数の制御可能装置の間の通信を管理するシステムであって、前記システムは、
１つ又は複数の制御可能装置であって、プロセッサ、メモリ、コントローラ装置又は別の制御可能装置の近接を検出する近接センサ、１つ又は複数の通信機構を有し、前記１つ又は複数の通信機構の内の１つは、少なくとも１つの近距離無線通信機構を含む１つ又は複数の近接通信機構であり、前記制御可能装置は、１つ又は複数のリソース記述ファイルにアクセスでき、前記リソース記述ファイルは、前記制御可能装置を制御するためにリソースの少なくとも一部を表すデータを含む、１つ又は複数の制御可能装置と、
１つ又は複数のコントローラ装置であって、プロセッサ、メモリ、制御可能装置又は別のコントローラ装置の近接を検出する近接センサ、１つ又は複数の通信機構を有し、前記１つ又は複数の通信機構の内の１つは、少なくとも１つの近距離無線通信機構を含む１つ又は複数の近接通信機構であり、前記コントローラ装置は、前記１つ又は複数のリソース記述ファイルにアクセスできない、１つ又は複数のコントローラ装置と、
を含み、
前記制御可能装置及び前記コントローラ装置が、それぞれの近接センサの内の少なくとも一方が別の装置の近接を確認するように一緒にされた後、データを交換するために前記近接通信機構を使用して無線で通信し、前記コントローラ装置が前記制御可能装置を制御できるよう、前記コントローラ装置の前記プロセッサにより前記リソース記述ファイルを処理するために、前記通信機構の１つ又は複数を使用して、前記コントローラ装置の前記メモリに、前記制御可能装置の１つ又は複数のリソース記述ファイルを伝達する、
システム。
【請求項２】
前記制御可能装置及び前記コントローラ装置は、認証証明書を有する、請求項１に記載のシステム。
【請求項３】
前記認証証明書がデジタル証明書である、請求項２に記載の構成。
【請求項４】
前記制御可能装置が、１つ又は複数の対称鍵及び／又は非対称鍵を有する、請求項１に記載のシステム。
【請求項５】
前記近接通信機構が、近距離無線通信（ＮＦＣ）又は無線自動識別（ＲＦＩＤ）、又は電気機械的若しくは光学的認識である、請求項１に記載のシステム。
【請求項６】
前記光学的認識が、電化製品の画像、もしくはバーコード又は２次元バーコード又はマトリクスバーコードの内の１つ又は複数、又は組み合わせ等の電化製品識別子を取り込み、処理することを含む、請求項５に記載のシステム。
【請求項７】
前記通信機構が、Ｂｌｕｅｔｏｏｔｈ（商標）、ＺｉｇＢｅｅ（商標）、Ｕｌｔｒａ
ｗｉｄｅｂａｎｄ、６ｌｏＷＰＡＮを含む無線プライベートエリアネットワーク、ＩＥＥＥ８０２．１１を含む無線ローカルエリアネットワーク、及び赤外線の内の１つ又は複数を含む、請求項１に記載のシステム。
【請求項８】
前記制御可能装置のプロセッサが、前記制御可能装置の前記リソース記述ファイルと対話するために、１つ又は複数のソフトウェアアプリケーションを実行し、前記制御可能装置が、前記制御可能装置の前記メモリ内及び／又は前記制御可能装置の外部に常駐する前記ソフトウェアアプリケーションにアクセスできる、請求項１に記載のシステム。
【請求項９】
前記コントローラ装置のプロセッサが、前記制御可能装置の１つ又は複数のリソース記述ファイルと対話するために１つ又は複数のソフトウェアアプリケーションを実行し、前記コントローラ装置が、前記コントローラ装置の前記メモリ内及び／又は前記コントローラ装置の外部に常駐する前記１つ又は複数のソフトウェアアプリケーションにアクセスできる、請求項１に記載のシステム。
【請求項１０】
制御可能装置の制御可能装置の１つ又は複数のリソース記述ファイルを有する複数のコントローラ装置が、近距離無線通信機構を使用せずに、関連付けられた制御可能装置と通信する、請求項１に記載のシステム。
【請求項１１】
前記コントローラ装置が、
前記制御可能装置の１つ又は複数のリソース記述ファイルと対話するために、ユーザが前記コントローラの前記プロセッサと対話するのを許可するコントローラユーザ入力機構、
を含む、請求項１乃至１０のいずれか一項に記載のシステム。
【請求項１２】
前記コントローラユーザ入力機構が、
タッチスクリーン、キー、及び音声受信機装置の内の１つ又は複数、
を含む、請求項１１に記載のシステム。
【請求項１３】
前記近接センサが、
磁気検出機構、容量検出機構、超音波検出機構、抵抗検出機構、運動検知機構、又は光検出機構の内の１つ又は複数、
を含む、請求項１２に記載のシステム。
【請求項１４】
前記コントローラ装置が、
それぞれの制御可能装置の１つ又は複数のリソース記述ファイルとの対話から生じる、前記コントローラ装置のプロセッサによって処理される情報を表示するためのディスプレイと、
を含む、請求項１乃至１３のいずれか一項に記載のシステム。
【請求項１５】
前記リソース記述ファイルが、
機能を宣言する情報であって、前記コントローラ装置は該機能に応答し、前記情報は、前記コントローラ装置によってアクセス可能な関連付けられたスタイルシート及び変換ファイルとともに、前記ディスプレイのセットアップ及び設定を記述する、情報、
を含む、請求項１４に記載のシステム。
【請求項１６】
前記コントローラ装置が、前記制御可能装置の前記ディスプレイに表示するために電子番組ガイドを受信する、請求項１５に記載のシステム。
【請求項１７】
制御可能装置が、前記制御可能装置の１つ又は複数のリソース記述ファイルへのアクセスを提供された後に前記制御可能装置のコントローラとなるコントローラ装置によって制御可能である、請求項１に記載のシステム。
【請求項１８】
複数のコントローラ装置が複数の制御可能装置を制御する、請求項１７に記載のシステム。
【請求項１９】
コントローラ装置が、
１つ又は複数の制御可能装置の１つ又は複数のリソース記述ファイルの内の１つに対するプロキシとして働くソフトウェアアプリケーション、
を含む、
請求項１乃至１８のいずれか一項に記載のシステム。
【請求項２０】
前記通信機構の内の１つの通信機構を前記通信機構の内の別の通信機構に変換し再送するゲートウェイ装置、
をさらに含む、請求項１乃至１９のいずれか一項に記載のシステム。
【請求項２１】
プロセッサ、メモリ、通信機構、及び近接センサを有し、前記制御可能装置のためのリソース記述ファイルにアクセスできないセンチネル装置であって、前記コントローラ装置と前記センチネル装置間でいったん通信が発生すると、前記コントローラ装置を１つ又は複数の他の装置と関連付けるセンチネル装置、
をさらに含む、請求項１に記載のシステム。
【請求項２２】
前記制御可能装置及び前記コントローラ装置の各々は、
認証証明書を含み、前記他の装置の内の１つが、いったん前記制御可能装置及び前記他の制御される装置が互いに近接にもたらされると、前記制御可能装置と使用可能な前記制御可能装置の使用のための物理アクセスコントローラになる、請求項２１に記載のシステム。
【請求項２３】
前記制御可能装置の前記プロセッサが、前記制御可能装置の１つ又は複数のリソース記述ファイルと対話するために、１つ又は複数のソフトウェアアプリケーションをトリガする、請求項９に記載のシステム。
【請求項２４】
前記コントローラ装置の前記プロセッサが、前記コントローラ装置の１つ又は複数のリソース記述ファイルと対話するために、１つ又は複数のソフトウェアアプリケーションをトリガする、請求項１０に記載のシステム。
【請求項２５】
前記コントローラ装置が、
前記制御可能装置を制御するために、音声コマンドに応えて、前記１つ又は複数のリソース記述ファイル内で利用可能である音声活性化制御機構、
をさらに含む、請求項１乃至２４のいずれか一項に記載のシステム。
【請求項２６】
前記コントローラ装置の前記プロセッサが、前記コントローラ装置の前記メモリ内に、１つ又は複数の制御可能装置を制御する前記コントローラ装置の使用に関するデータを記憶する、請求項１乃至２５のいずれか一項に記載のシステム。
【請求項２７】
前記１つ又は複数の通信機構が、前記コントローラ装置の外部の前記記憶される使用に関するデータを通信するために使用される、請求項２６に記載のシステム。
【請求項２８】
前記使用に関するデータが、
前記コントローラ装置のアイデンティティと、
制御される１つ又は複数の前記制御可能装置のアイデンティティと、
前記コントローラ装置で使用されてきた前記制御可能装置機能を表すデータと、
任意の使用の前記日付及び／又は時刻と、
前記使用に関するデータの圧縮バージョンと、
の内の１つ又は複数を含む、請求項２７に記載のシステム。
【請求項２９】
前記コントローラ装置、前記制御可能装置又は他の装置の内の１つ又は複数と通信し、それらの装置と関連付けられたリソースを制御するアクセス制御装置、
をさらに含む、請求項１に記載のシステム。
【請求項３０】
前記コントローラ装置、前記制御可能装置又は他の装置の内の１つ又は複数と通信し、それらの装置との間の通信を認証し、承認し、説明する認証装置、
をさらに含む、請求項１に記載のシステム。
【請求項３１】
前記認証装置が、ＲＡＤＩＵＳプロトコルを使用する、請求項３０に記載のシステム。
【請求項３２】
前記制御可能装置を制御するための前記リソース記述ファイルの前記部分が、
前記制御可能装置のアイデンティティと、
前記制御可能装置のデジタル証明書と、
前記制御可能装置によって提供される通信インタフェースのリストと、
前記制御可能装置のリソース記述ファイルの一部と、
前記制御可能装置のリソース記述ファイルが取得できるユニフォームリソースロケータと、
の内の１つ又は複数を含む、請求項１乃至３１のいずれか一項に記載のシステム。
【請求項３３】
プロキシ装置と１つ又は複数のコントローラ装置の間の通信を管理するためのシステムであって、各コントローラ装置が１つ又は複数の制御可能装置の１つ又は複数のリソース記述ファイルへのアクセス、及び前記１つ又は複数の制御可能装置を制御する権限を必要とし、前記システムが、
プロキシ装置であって、プロセッサ、メモリ、コントローラ装置の前記近接を検出するための近接センサ、１つ又は複数の通信機構を有し、前記１つ又は複数の通信機構の内の１つが少なくとも１つの近距離無線通信機構を含む近接通信機構であり、前記プロキシ装置が、１つ又は複数のリソース記述ファイルにアクセスでき、それらのリソース記述ファイルの内の１つがそれぞれの制御可能装置を制御するためにリソースの少なくとも一部を表すデータを含む、プロキシ装置と、
コントローラ装置であって、プロセッサ、メモリ、プロキシ装置の前記近接を検出するための近接センサと、１つ又は複数の通信機構を有し、前記１つ又は複数の通信機構の内の１つが少なくとも１つの近距離無線通信機構を含む近接通信機構である１つ又は複数の近接通信機構を有し、前記コントローラ装置は、１つ又は複数の制御可能装置の前記１つ又は複数のリソース記述ファイルにアクセスできない、コントローラ装置と、
を含み、
前記プロキシ装置及び前記コントローラ装置が、それぞれの近接センサの内の少なくとも一方が他方の装置の近接を確認するように一緒にされた後、データを交換するために前記近接通信機構を使用して無線で通信し、前記コントローラ装置が前記１つ又は複数のそれぞれの制御可能装置を制御できるよう、前記コントローラ装置の前記プロセッサにより前記リソース記述ファイルの処理するために、前記通信機構の１つ又は複数を使用して前記コントローラ装置の前記メモリに、１つ又は複数の制御可能装置の１つ又は複数のリソース記述ファイルを伝達する、
システム。
【請求項３４】
前記プロキシ装置及び前記コントローラ装置によって信頼される装置であるセンチネル装置をさらに含み、
前記センチネル装置が、プロセッサ、メモリ、コントローラ装置の前記近接を検出するための近接センサ、１つ又は複数の通信機構を有し、前記１つ又は複数の通信機構の内の１つが、少なくとも近距離無線通信機構を含む近接通信機構であり、
前記センチネル装置及び前記コントローラ装置が、それぞれの近接センサの内の少なくとも一方が他方の装置の近接を確認するように一緒にされた後、データを交換するために前記近接通信機構を使用して無線で通信し、前記センチネル装置により前記プロキシに少なくとも前記コントローラ装置のアイデンティティを伝達し、
前記コントローラ装置及び前記プロキシ装置が、それぞれの近接センサの内の少なくとも一方が他方の装置の近接を確認するように一緒にされた後、データを交換するために前記近距離無線通信機構を使用して無線で通信し、前記コントローラ装置により前記１つ又は複数のそれぞれの制御可能装置を制御できるよう、前記コントローラ装置の前記プロセッサにより前記リソース記述ファイルを処理するために、前記通信機構の内の１つ又は複数を使用して前記コントローラ装置の前記メモリに１つ又は複数の制御可能装置の前記１つ又は複数のリソース記述ファイルを伝達する、請求項３３に記載のシステム。
【請求項３５】
コントローラ装置と他のコントローラ装置の間の通信を管理するためのシステムであって、前記他のコントローラ装置が、１つ又は複数の制御可能装置の内の１つ又は複数のリソース記述ファイルへのアクセス、及び前記１つ又は複数の制御可能装置を制御する権限を必要とし、前記システムが、
コントローラ装置であって、プロセッサ、メモリ、コントローラ装置の前記近接を検出するための近接センサ、１つ又は複数の通信機構を有し、前記１つ又は複数の通信機構の内の１つが少なくとも近距離無線通信機構を含む近接通信機構であり、前記コントローラ装置は、コントローラ装置アイデンティティ、コントローラ装置暗号鍵／復号鍵、及び１つ又は複数の制御可能装置の前記アイデンティティを有する、コントローラ装置と、
他のコントローラ装置であって、プロセッサ、メモリ、前記コントローラ装置の前記近接を検出するための近接センサ、１つ又は複数の通信機構を有し、前記１つ又は複数の通信機構の内の１つが少なくとも１つの近距離無線通信機構を含む近接通信機構であり、前記他のコントローラ装置は、１つ又は複数の制御可能装置の前記１つ又は複数のリソース記述ファイルにアクセスできない、他のコントローラ装置と、
を含み、
前記コントローラ装置及び前記他のコントローラ装置が、それぞれの近接センサの少なくとも一方が他方の装置の前記近接を確認するように一緒にされた後、少なくとも前記コントローラ装置アイデンティティ、前記コントローラ装置暗号鍵／復号鍵、及び１つ又は複数の制御可能装置の前記アイデンティティを表すデータを交換するために、前記近距離無線通信機構を使用して無線で通信し、前記他のコントローラ装置の前記プロセッサが、受信されたそれぞれの制御可能装置アイデンティティを使用して、制御可能装置との通信を確立するために通信機構を使用し、前記それぞれの制御可能装置からメッセージを受信し、前記コントローラ装置の前記受信された暗号鍵で前記受信されたメッセージを暗号化し、前記他のコントローラ装置と前記それぞれの制御可能装置の間で信頼を確立するために前記それぞれの制御可能装置に前記暗号化されたメッセージを通信して戻し、前記他のコントローラ装置により前記それぞれの制御可能装置を制御できるよう、前記他のコントローラ装置の前記プロセッサにより前記１つ又は複数のリソース記述ファイルを処理するために、前記通信機構の１つ又は複数を使用して前記他のコントローラ装置の前記メモリに、１つ又は複数の制御可能装置の１つ又は複数のリソース記述ファイルを伝達する、システム。
【請求項３６】
請求項１で定義される制御可能装置と、１つ又は複数のコントローラ装置と、１つ又は複数の制御可能装置の間の無線通信を、
リソース記述ファイルの少なくとも一部にアクセスがある前記制御可能装置、及び前記制御可能装置のリソース記述ファイルにアクセスできない前記コントローラ装置、及び前記コントローラ装置が前記制御可能装置のリソース記述ファイルを利用できるようにするために無線で通信する前記コントローラ装置の近接を確認するステップ、
によって管理するための方法。
【請求項３７】
各装置が認証証明書を有し、前記方法が、
前記制御可能装置及び前記コントローラ装置が互いを認証するステップ、
をさらに含む、請求項３６に記載の方法。
【請求項３８】
前記方法が、
前記コントローラ装置によって１つ又は複数のリソース記述ファイルを解釈し、前記コントローラ装置がその中で参照される全てのリソースにアクセス可能であるのかを判断し、アクセス可能ではない場合には、前記リソースにアクセスするステップ、
をさらに含む、請求項３６に記載の方法。
【請求項３９】
前記方法が、
前記リソース記述ファイルの１つ又は複数内の所定のリソースの前記コントローラ装置による呼び出しステップ
をさらに含む、請求項３６に記載の方法。
【請求項４０】
前記コントローラ装置が１つ又は複数のソフトウェアアプリケーションを含み、前記方法が、
前記リソース記述ファイル内の関連付けられたリソース、及び／又は選択されたソフトウェアアプリケーションを呼び出すために外部トリガ入力を受け入れるステップ、
をさらに含む、請求項３６に記載の方法。
【請求項４１】
前記外部トリガが、放送媒体に含まれる情報から受信される、請求項４０に記載の方法。
【請求項４２】
前記外部トリガが、受信された無線信号に含まれる情報から受信される、請求項４０に記載の方法。
【請求項４３】
前記コントローラ装置がディスプレイ機構を含み、前記方法が、
前記制御可能装置の１つ又は複数のリソース記述ファイルから、前記コントローラ装置の前記ディスプレイ機構上の前記制御可能装置のための１つ又は複数の表示されたページでユーザインタフェースを生成するステップ、
をさらに含む、請求項３６に記載の方法。
【請求項４４】
前記コントローラ装置が、１つ又は複数のソフトウェアアプリケーションを含み、前記方法が、
前記制御可能装置から前記コントローラ装置による通信を受信するステップと、
前記コントローラ装置で１つ又は複数のソフトウェアアプリケーションを実行するステップと、
をさらに含む、請求項３６に記載の方法。
【請求項４５】
前記コントローラ装置が１つ又は複数のソフトウェアアプリケーションを含まない場合に、前記方法が、
前記コントローラ装置によって１つ又は複数のソフトウェアアプリケーションにアクセスするステップ、
をさらに含む、請求項３６に記載の方法。
【請求項４６】
前記コントローラ装置が１つ又は複数のソフトウェアアプリケーションを含み、前記方法が、
ユーザ対話、又は前記制御可能装置から受信される通信、及び／又は放送媒体から受信される通信に応えて前記ソフトウェアアプリケーションの内の１つ又は複数を実行するステップ、
をさらに含む、請求項３６に記載の方法。
【請求項４７】
前記コントローラ装置が１つ又は複数のソフトウェアアプリケーションを含み、前記方法が、
ユーザ対話、または前記制御可能装置から受信される通信、及び／又は無線機構から受信される通信に応えて前記ソフトウェアアプリケーションの内の１つ又は複数を実行するステップ、
をさらに含む、請求項３６に記載の方法。
【請求項４８】
前記コントローラ装置が１つ又は複数のリソース記述ファイルを有し、前記方法が、
前記コントローラ装置の１つ又は複数のリソース記述ファイルを、前記制御可能装置に通信するステップ、
をさらに含む、請求項３６に記載の方法。
【請求項４９】
前記制御可能装置の１つ又は複数のリソース記述ファイルを取得するために、前記コントローラ装置との近接を確認し、前記制御可能装置と、認証に十分な情報を交換する第３の装置をさらに含む、請求項３６に記載の方法。
【請求項５０】
請求項１に定義される制御可能装置と、コントローラ装置と、前記制御可能装置又は前記コントローラ装置の前記リソース記述ファイルを有さない別の制御可能装置又はコントローラ装置との間の無線通信を、
前記制御可能装置及び他の装置のリソース記述ファイルにアクセスがある前記コントローラ装置の近接を確認して、前記他の装置が前記制御可能な装置の前記リソース記述ファイルを利用できるようにするために、前記制御可能装置を制御するための前記リソースの少なくとも一部を前記コントローラ装置及び他の装置の間で通信するステップ、
によって行うための方法。
【請求項５１】
前記制御可能装置を制御するための前記リソースの前記一部が、以下
前記制御可能装置のアイデンティティと、
前記制御可能装置のデジタル証明書と、
前記制御可能出バイアスによって提供される通信インタフェースのリストと、
前記制御可能装置のためのリソース記述ファイルの一部と、
前記制御可能装置のための１つ又は複数のリソース記述ファイルが取得できるユニフォームリソースロケータと、
前記コントローラ装置による使用のための、前記制御可能装置のためのグラフィックユーザインタフェース仕様と、
前記コントローラ装置による使用のための、前記制御可能装置のためのマシン間インタフェース仕様と、
前記制御可能装置のための入力及び出力仕様と、
の内の１つ又は複数を含む、請求項５０に記載の方法。
【請求項５２】
前記入力及び出力仕様が、
前記制御可能装置の信号入力ポート及び信号出力ポートの仕様と、
前記制御可能装置の前記入力ポート及び前記出力ポートの前記通信プロトコルの仕様と、
前記ユーザが、コントローラ及び制御可能装置の前記システムを管理するのを支援するための仕様と、
前記ユーザが、ユーザが１つ又は複数のコントローラもしくは制御可能装置を互いに又は他の装置に接続するのを支援するための命令のセットを表示するのを支援するための仕様と、
を含む、請求項５０に記載の方法。
【請求項５３】
前記制御可能装置がディスプレイ及びユーザインタフェースを含み、前記方法が、
分類タグ、ウィジェット、及び前記コントローラ装置によって取得可能である１つ又は複数のリソース記述ファイルを使用する又はアクセスするためのスタイルシート、
の内の１つ又は複数を使用することによって前記制御可能装置の前記ディスプレイを修正するステップ、
をさらに含む請求項５２に記載の方法。
【請求項５４】
前記制御可能装置の前記ディスプレイに電子番組ガイドを表示するステップ、
を含む、請求項５３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リモコン、及び遠隔で操作される装置の分野に関し、さらに詳細にはコントローラと１つ又は複数の制御可能装置の間の対話を管理することに関する。
【背景技術】
【０００２】
現代の多くの台数の家庭用機器には、リモコンが付いてくる。これにより、ユーザは便利な位置から機器を制御できる。しかしながら、ユーザが追加の電化製品を購入するにつれ、これによりユーザは、それぞれが特定の１台の機器用の多くのリモコンを取得することになる。例えば、テレビ、ＤＶＤプレーヤ、ステレオ、有料テレビボックス、及び他の電化製品用に別々のリモコンがある場合がある。
【０００３】
さらに、多くの現代のリモコンは、多数の機能を提供する。これはユーザにより大きな制御を与えるが、それにより遠隔操作は複雑且つ分かりにくくなることがある。
【０００４】
それぞれが多数の機能を備えた多数のリモコンを有することの影響が悪化し、リモコン自体が提供する便利さが大幅に減ぜられる。１つの既存の解決策は「ユニバーサル」リモコン―複数の装置を制御できる単一のリモコン―である。単一のユニバーサルリモコンは、多くの他のリモコンを置換するために使用できる。
【０００５】
現在の状況は、図２ａから図２ｃに描かれている３つの世代の遠隔操作技術に大きく分類できる。第１世代のリモコンは、１台の電化製品用の完全な制御コードを含み、たまに第２の電化製品用に部分的な制御コードを含む。例えば、ＴＶのリモコンが、ＤＶＤプレーヤ用に共通して使用されるいくつかの機能も有することがある。制御コードは固定され、工場で製造メーカによってインストールされる。通信媒体は、通常、赤外線を利用し（ＲＦシステムもある）、コントローラから電化製品への一方向専用チャネルを提供する。第２世代のリモコンは、多くの電化製品用の制御コードを含むことができる。制御コードは、工場で製造メーカによってインストールされるか、又はユーザによって後でプログラムできるかのどちらかである。
【０００６】
プログラミングは、ユーザが、インターネット上のサーバからコンピュータに適切な制御コードをダウンロードし、次にコンピュータ上のソフトウェアがリモコンにこのコードをインストールすることによって達成される。通信媒体は、通常、赤外線を利用し、コントローラから電化製品への一方向専用チャネルを提供する。
【０００７】
さらに、ユーザにとってのプログラミングの状況は、前もってプログラムされた「マクロ」シーケンスでいくつかの装置を制御できるそれらのプログラマブルユニバーサルリモコンにとってさらに複雑化している。例えば、ＤＶＤプレーヤ及びテレビの電源をオンにし、ＴＶをＤＶＤにとって正しいＡＶ入力に変更し、ＤＶＤ再生を開始する「Ｐｌａｙ  ＤＶＤ（ＤＶＤ再生）」と名付けられたシーケンスが作成できるだろう。
【０００８】
第３世代のリモコンは、第２世代に非常に似ているが、それらのリモコンが他のリモコンから発せられる制御コードを「学習する」ことができる学習機能を含んでいる。通信媒体は、通常、赤外線を利用し、コントローラから電化製品への一方向専用チャネルを提供する。
【０００９】
ＲＦ４ＣＥとして知られる新しい遠隔操作技術が出現しつつある。この技術は多くの方法で現在の状況を改善する。最初に、この技術は、壁を貫通し、より長い距離で伝搬できる無線周波数システムで、赤外線システムを置換する。第２に、この技術は、多くの共通した視聴覚電化製品用の制御コードを含む、ＣＥＲＣとして知られている標準制御プロファイルを実装している。消費者用機器の製造品の工業連盟は、この標準プロファイルに準拠する電化製品の提供を計画している。これは、ある製造メーカによって作られるリモコンと、別の製造メーカによって作られる電化製品の間の基本的なレベルのインターオペラビリティーを約束する。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ＲＦ４ＣＥによって提供される解決策は依然として完成には程遠い。ＲＦ４ＣＥは、プロファイルを実装する全ての関係者が、それによってどの特長及び機能が提供されるべきなのかに関して合意しなければならない固定したプロファイルシステムを使用する。認定されなければならない装置の場合、装置はプロファイルを完全に実装しなければならない。これが製造メーカにとって多くの問題になっている。
【００１１】
問題は、製造メーカが、どの機能が標準プロファイルに含まれるべきか、及びどれが含まれるべきではないかに関して合意しなければならないときに始まる。標準プロファイルに含まれないあらゆる機能は、ベンダに特殊なプロファイルに入れられなければならない。標準プロファイルだけを実装するそれらの装置の場合、製造メーカの１つの製品と次の製品の間にほとんど又は全く区別がない。標準プロファイルに加えてベンダに特殊なプロファイルを実装する装置の場合、別のベンダのリモコンは、ベンダに特殊なコマンドセットを発行することができず、これはユーザにとっては不十分な状況である。
【００１２】
標準プロファイルが有用であるためには、標準プロファイルは、コマンドの適度に包括的なセットを有さなければならない。これは、低コスト製品の製造を希望するそれらの製造業者にとって問題になる。コストを低減するためには、製造メーカは少数の機能だけを実装する必要があるが、これを行うと、彼らの製品は標準プロファイルの全ての特長を実装しないために認定できない。
【００１３】
さらに、標準プロファイルを実装するリモコンが使用されるとき、低コスト装置は全ての標準的な特長を実装しないために、リモコン上の全機能が機能せず、これはユーザにとって面倒である。実際には、これらのＲＦ４ＣＥリモコンは、改善された第２世代の技術である。
【００１４】
現在の遠隔操作技術の制限のため、リモコンの使用は、一般に局所化された状況に制限されている。つまり、リモコンは、それが制御する電化製品と同じ場所に留まる。リモコンが、再プログラムされない限り「外来の」電化製品を制御することができないであろうために、現在のリモコンのユーザは、リモコンを、そのリモコンが制御できる電化製品を含む場所から持ち去らない。
【００１５】
人気のあるメディアプレーヤ等のいくつかの新しい装置は、それらが結合できる外部付属品を備えている。例えば、ｉＰｏｄは、強力なＨｉＦｉユニット、携帯型ステレオ、クロックラジオユニット等の、それ専用に設計された多くの種類の外部付属品とドッキングできる。ただし、消費者及び製造メーカにとっての問題は、Ａｐｐｌｅが、占有技術を使用し、遠隔操作を容易にしない、機械的なコネクタによって妨げられるドッキングインタフェースを厳しく管理している点である。
【００１６】
かかる構成を使用することは融通が利かず、リモコンに適切な無線通信技術を提供するためにコントローラと装置の間の有線接続、又はプラグインドングルを必要とし、さらにはユーザは、そのすべてを機能させるためのダウンロードソフトウェアアプリケーションを見つける必要がある。
【００１７】
最後に、現在、リモコンを備えていない装置（例えば、洗濯機、ドライヤ、オーブン、電灯、コンセント等）及び現在は存在していないが、将来作り出されるだろう新しい装置は、真にユニバーサルなコントローラによって制御され、且つそれと対話する能力、及び制御インタフェースが新しい電化製品のためにそれ自体を自動的に構成し、コントローラ又は装置のソフトウェア又はハードウェアに修正を加えずに、製造メーカによって容易に拡張可能となり、ユーザによってカスタマイズ可能となる能力から大きく恩恵を受けるだろう。
【００１８】
したがって、本発明の目的は、前述された問題及び不利な点の１つ又は複数を削減する又は改善し、コントローラと１つ又は複数の電子的に制御可能装置間での情報又は操作の交換及び制御に関して現状を前進させることである。
【課題を解決するための手段】
【００１９】
本発明、及びある装置と１つ又は複数の他の装置の間の無線通信を管理するための構成の態様において、構成は、プロセッサ、メモリ、通信機構、及び近接センサを有し、少なくとも第１の装置のリソース記述ファイルにアクセスできる第１の装置と、プロセッサ、メモリ、通信機構、及び近接センサを有し、第１の装置のリソース記述ファイルにアクセスできない第２の装置とを含み、第１の装置及び第２の装置が、第１の装置及び第２の装置の近接を確認する等のために、物理的な接点を含み一緒にされ、その結果第１の装置及び第２の装置が無線で通信することができ、したがって第２の装置のメモリは、第２の装置のプロセッサによる処理のために第１の装置の少なくともリソース記述ファイルを利用できる。
【００２０】
本発明の例示的な実施形態は、添付図面に関して説明される。
【図面の簡単な説明】
【００２１】
【図１】本発明の基本的な構成の概念図である。
【図２ａ】装置を制御するための第１世代（基本）のリモコンの概念図である。
【図２ｂ】複数の装置を制御するための第２世代（ユニバーサル）のリモコンの概念図である。
【図２ｃ】複数の装置を制御するための第３世代（学習）のリモコンの概念図である。
【図３】ＡＤＲＣプロトコルに従うコントローラと装置の間の関連付けのライフサイクルを示す図である。
【図４】コントローラと装置間の関連付けが、近接タッチジェスチャを使用してどのように達成できるのかを示す概念図である。
【図５】それによってソフトウェア装置を制御できる構成を示す概念図である。
【図６】プロキシ装置が導入される構成を示す概念図である。
【図７】新しいコントローラと既存の装置間の自動的な関連付けを容易にできる２台のコントローラ間の構成を示す概念図である。
【図８】センチネル装置がＰＡＮ上のコントローラと装置の間の関連付けを容易にできる構成を示す概念図である。
【図９】第１の装置（制御可能装置）を示すブロック図である。
【図１０】第１の装置との関連付けの前と後両方の第２の装置（コントローラ）を示すブロック図である。
【図１１】アクセス制御装置、コントローラ、及びアクセス制御が遠隔操作システムに導入されている装置の間の構成を示す図である。
【図１２】１つ又は複数のＰＡＮ上の装置が、遠隔位置にあるコントローラによって制御できる構成を示す概念図である。
【図１３】装置が、ＴＶの代わりにコントローラのディスプレイ上にどのようにメニュー及び他のステータス情報を表示してよいのかを示す概念図である。
【図１４】情報がどのようにして、フリートゥエアネットワーク上で放送され、装置によって受信され、コントローラにイベントとして伝達されてよいのかを示す概念図である。
【図１５】既存の遠隔操作技術を実装する装置を制御するために適切なフォーマットに、コントローラからの通信を変換するゲートウェイ装置を示す概念図である。
【図１６】本発明によるコントローラの好ましい実施形態の内部ブロック図である。
【図１７】本発明による装置の好ましい実施形態の内部ブロック図である。
【図１８】本発明によるゲートウェイ装置の好ましい実施形態の内部ブロック図である。
【図１９】本発明によるセンチネル装置の好ましい実施形態の内部ブロック図である。
【図２０ａ】ＡＤＲＣプロトコルによって定義される方法を説明するフローチャートである。
【図２０ｂ】ＡＤＲＣプロトコルによって定義される方法を説明するフローチャートである。
【図２０ｃ】ＡＤＲＣプロトコルによって定義される方法を説明するフローチャートである。
【図２０ｄ】ＡＤＲＣプロトコルによって定義される方法を説明するフローチャートである。
【図２０ｅ】ＡＤＲＣプロトコルによって定義される方法を説明するフローチャートである。
【図２１ａ】リソース記述ファイル内部のコンテンツの例を示す図である。
【図２１ｂ】リソース記述ファイル内部のコンテンツの例を示す図である。
【図２１ｃ】リソース記述ファイル内部のコンテンツの例を示す図である。
【発明を実施するための形態】
【００２２】
以下に詳細に説明される本発明は、一般に、コントローラが任意の種類の電化製品又は汎用装置を制御し、それと対話できるように適応され、システムがコントローラと自己記述的な装置の間の簡略な関連付け以外に動作するために、ユーザが任意のセットアップ又は設定を実行することを必要としない、新しく且つ創意に富んだ遠隔操作技術を開示する。
【００２３】
本発明においては、
『自己記述的な装置』、又は単に「装置」は、ハードウェア又はソフトウェアアプリケーションの品目を等しく指し、
機構は、ハードウェア又はソフトウェアのどちらか、もしくは両方の組み合わせで実現できる機能性を指し、
ディスプレイ機構は、ＬＣＤ、タッチスクリーン、又は投射システム等の、ユーザに視覚的な情報を表示できる品目を指し、
第１の装置は、少なくともそのリソース記述ファイルにアクセスできる装置である。この装置は、ハードウェア又はソフトウェアのどちらか、もしくは両方の組み合わせで実現できる。第１の装置の実装の一例は、制御可能装置であり、
第２の装置は、第１の装置のためのリソース記述ファイルにアクセスできない装置である。この装置は、ハードウェア又はソフトウェア、もしくは両方の組み合わせで実現できる。第２の装置の実装の一例は、コントローラ装置、又は単にコントローラである。
【００２４】
図１は、無線通信リンク２００を介して伝搬されるプロトコル手段２０００、２１００、２２００、２３００、２４００、２５００を使用して、本発明の教示に従って自己記述的である１つ又は複数の装置３００と通信する１つ又は複数のコントローラ１００を含む遠隔操作システムを開示する。さらに、コントローラ１００は、それ又はユーザが対話する必要がある場合があるあらゆるリソースにアクセスするために、又は装置３００のカスタマイズ化を達成するために、通信ネットワーク６００を介してサーバ５００とも通信してよい。
【００２５】
装置３００は、オートディスカバリ遠隔操作(ＡＤＲＣ)プロトコルを実装し、その結果少なくとも１つのリソース記述ファイル（ＲＤＦ）を含む。ＡＤＲＣプロトコルを使用し、コントローラ１００は無線通信リンク２００上で装置３００と通信する。
【００２６】
プロトコルステップ２０００で、コントローラ１００及び装置３００は互いを発見し、以後、それらが双方向通信に自由に参加し得る関連付けを形成する。
【００２７】
プロトコルステップ２１００で、コントローラ１００は、装置３００のサブユニットごとにＲＤＦを受信し、その中に示されるあらゆるリソースを取り戻そうと試みる。いったんこれらのリソースが取得されると、コントローラ１００はＲＤＦ内の情報を使用し、装置３００を制御するために必要且つ十分であるユーザインタフェースを動的に生成し、受信される可能性のあるイベントに応答するために必要とされるあらゆるハンドラリソースを構成する。
【００２８】
プロトコルステップ２２００で、コントローラ１００は、装置３００のための記述情報を受信する。記述情報は、製造メーカ、型、バージョン、及びリンクを含む項目を含むことがあり、これは装置３００が実装することがある１つ又は複数のサブユニットのために提供される。
【００２９】
プロトコルステップ２３００で、ユーザは、音声命令を発行することによってであってよいユーザインタフェースからの制御を活性化し、コントローラ１００は、ＲＤＦ内の関連付けられた情報を使用して正しいコマンドコードシーケンスを策定し、コマンドコードシーケンスを受信し、関連付けられたコマンドを実装する装置３００にこれを送る。
【００３０】
プロトコルステップ２４００で、装置３００は、コントローラ１００に、それが状態を変更したこと、又は何らかの他の状態の変化が発生したことを示す、求められていないイベント通知を送る。コントローラ１００は、ＲＤＦに含まれる情報を使用して通知を解釈し、関連付けられたハンドラリソースを呼び出すことによって適切な応答を実施できる。
【００３１】
プロトコルステップ２５００で、コントローラ１００及び装置３００は、その関連付けを忘れ、もはや通信できない。
【００３２】
前記に紹介されたように、現在の状況は、図２ａから図２ｃに示される３つの世代の遠隔操作技術に広く分類できる。これらの図は前述されたが、詳説するために、制御可能装置は一般に３００、及びコントローラは１００として参照される。
【００３３】
コントローラのディスプレイは１１０であり、ユーザ入力手段は１２０である。インターネットは、一般に６００として示され、携帯型ＰＣは５００と番号が付けられ、コントローラによって学習されているリモコンは、１３０として参照される。
【００３４】
次の説明が、コントローラ及び装置が、装置が非常に近いので、それらが実際に触れているときに活性化する近接タッチジェスチャを介して最初に互いを発見する実施形態に基づいていることを理解されたい。近接に基づいた発見は、以下の理由から消費者用電化製品にとって好ましい実施形態と見なされている。つまり、近接に基づいた発見は、ユーザがコントローラと装置間の関連付けを形成するための最も便利で、操作が容易な方法を提供し、それは全ての装置とコントローラ間の適切な「デフォルト」通信チャネルであり、それは、発見を装置及びコントローラ上で実装されるＰＡＮ／ＬＡＮ技術とは無関係とすることができ、それは暗号鍵等の機密情報を交換するための安全な機構であり、それは構築価格にほとんどコストを加算しない。
【００３５】
図３は、コントローラ１００と、７つの段階３１７、３１９、３２１、３２３、３２５、３２７、及び３２９から成る装置３００の間の関連付けのライフサイクルを示す。
発見３１７
【００３６】
関連付けを確立するために、装置３００は最初にコントローラ１００を発見しなければならない。
【００３７】
発見は、
・ＰＡＮプロトコルによって提供される発見機構、例えば、ＲＦ４ＣＥプロトコルのＮＬＭＥによって提供される発見特長と、
・ＬＡＮ上で提供される発見サービス、例えばＡｖａｈｉと、
・近接機構、例えば近距離無線通信（ＮＦＣ）、又は通常５ｃｍ未満の非常に狭い範囲で検出及び通信を可能にする何らかの他の誘導結合方法、バーコード読み取り等の光学的な方法、テープヘッド内で利用されるような磁気的な方法、ＯｎｅＷｉｒｅ等の電気的な方法、及びＲＦＩＤ等の無線周波数方法と、
を含むいくつかの方法を使用して達成されてよい。
【００３８】
近接タッチジェスチャ方法を使用して、装置及びコントローラは、それらがいつ実際に触れているのかを検知できる。いったん近接すると、それらは短距離通信リンクで情報を交換できる。それらが互いに無線接続を達成するために必要な通信設備を有しているかどうかを決定できるようにする情報が渡される。
【００３９】
発見３１７は、分離３２９にリンクされてもよい（３３３）。
関連付け３１９
【００４０】
アプリケーションに応じて、装置３００は、コントローラ１００が認証する、またはその逆を必要とすることがある。認証が必要とされ、無事に完了すると、装置３００及びコントローラ１００は互いとのネットワーク接続を確立するために必要とされる任意の情報を交換する。例えば、ネットワークがＲＦ４ＣＥＰＡＮであると、コントローラ１００はＰＡＩＲ．ｒｅｑｕｅｓｔメッセージをＮＬＭＥに送り、装置３００はＰＡＩＲ．ｒｅｓｐｏｎｓｅで応答するであろう。成功すると、両方関係者とも互いと「組になり」、ここで自由に通信できる。
プロビジョニング３２１
【００４１】
装置３００と対話するために、コントローラ１００は特定の情報、及びデータ又はソフトウェアアプリケーション等の他のリソースを必要とすることがある。これらはＲＤＦに指定されている。プロビジョニングは、それによってＲＤＦが取得され、その中に指定される任意の他のリソースが取得され、インストールされるプロセスである。
列挙３２３
【００４２】
列挙は、それによって装置３０がそのサブユニットのそれぞれの記述情報をコントローラ１００に提供する機構である。この情報は、製造メーカのアイデンティティ、型、バージョン、ＲＤＦが検出される可能性がある場所への任意選択のリンク、及び特定のアプリケーションによって必要とされる可能性がある任意の追加の情報を含む。
【００４３】
列挙３２３は、使用３２７にリンクされてもよい（３３１）。
活性化３２５
【００４４】
プロビジョニング段階の間に取得されるリソースのいくつかは、ソフトウェアアプリケーションであってよく、自動的に起動される必要がある場合がある。これは、活性化段階で行われる。
使用３２７
【００４５】
いったん前の段階が完了すると、コントローラ１００は、ユーザが装置３００を制御するために必要とされる設備を提供できる。さらに、装置３００が求められていないイベント通知を生成できる場合には、これらを処理するためにコントローラ１００によって必要とされる設備はここに整っている。
分離３２９
【００４６】
例えば装置がＡＶ機器の品目であり、所有者がそれを別の関係者に売却することを決定する場合等、なんらかの時点で、装置３００とコントローラ１００の間の関連付けを壊すことが必要となる場合がある。分離段階の間に、装置とコントローラ間で前に形成された関連付けは忘れられる。
【００４７】
図４は、ユーザ４１７と、彼らのコントローラ４１９と、この例ではＴＶである制御可能装置３００の間の関連付けが、近接タッチ技法、及び４１９としても示されている関連付けられた電子操作可能な交換を使用してどのように達成できるのかを示す概念図である。
【００４８】
図５を参照して、続く段落は、デスクトップコンピュータ又はラップトップコンピュータで実行するソフトウェアアプリケーションを制御するために適切なＡＤＲＣプロトコルの実施形態を開示する。
【００４９】
コンピュータ５００は、１つ又は複数の通信インタフェース、例えば有線ネットワークアダプタ５４０又は無線ネットワークアダプタ５５０をサポートする。これらの通信インタフェースは、複数のインタフェースによって提供されるネットワーク機能性にソフトウェアアプリケーションがアクセスすることを便利にする、通常、コンピュータにインストールされているオペレーティングシステムのネットワークマネージャ５７０によって管理される。本実施形態のＡＤＲＣプロトコル機能性は、集積回路チップ４００及びソフトウェアサービス５１０の両方として実装される。
【００５０】
集積回路チップ４００は、２つの主要な機能を有する。第１に、集積回路チップは、電源ユニット５６０を、コントローラ１００によってオンになるように命令できるように、プロキシ装置として働く。これによって、コンピュータ５００を、まさに任意の他の電化製品のようにオンにすることができる。第２に、集積回路チップは、ネットワークマネージャ５７０にＰＡＮ通信インタフェースを提供する。これによって、コンピュータ５００は、「ソフトコントローラ」機能性を実装することによってコントローラ１００の実施形態となることができ、したがってそれがＰＡＮ上の他の装置を制御できるようにする。
【００５１】
サービス５１０は、コンピュータ５００上のソフトウェアアプリケーションを、任意の他の装置と同じようにコントローラ１００によって管理できるように、プロキシ装置として働く。サービス５１０はネットワークマネージャ５７０を介してネットワーク通信設備にアクセスし、加えてサービスは、ＡＰＩを使用するソフトウェアアプリケーション５２０を開発し、その結果コントローラ１００によって遠隔操作できるようにアプリケーションプログラミングインタフェース（ＡＰＩ）５３０を提供する。ソフトウェアアプリケーション５２０がコンピュータ５００にインストールされるとき、インストール手順はさらにアプリケーションをサービス５１０に登録する。これは、例えば、アプリケーションのＲＤＦをサービス５１０のプロファイルキャッシュ領域にコピーすることによって達成されてよい。登録された各ソフトウェアアプリケーションがコンピュータ５００のサブユニットであるように見えるようにすることは、サービス５１０の機能である。
【００５２】
好ましい実施形態では、サービス５１０は、それ自体を、ＺｅｒｏＣｏｎｆの実装例の１つ、例えばＬｉｎｕｘシステム用のＡｖａｈｉ、又はＡｐｐｌｅシステム用のＢｏｎｊｏｕｒ等のＬＡＮに基づいたサービス発見プロトコルに登録する。コントローラ１００は、そのＬＡＮインタフェース１４０及びサービス発見プロトコルを使用して、このようにして、従来のＬＡＮに基づいた方法を使用するコンピュータ５００上でサービス５１０を発見し、サービス５１０と関連することができる。
【００５３】
本発明の教示に従って、コントローラ１００は、次にサービス５１０にそのサブユニット（このケースでは、登録されたソフトウェアアプリケーション）を列挙するように要求する。次に、コントローラ１００は、列挙プロセスによって返される記述情報を使用して、それがサブユニットごとのＲＤＦを有しているかを判断する。有していない場合、ＲＤＦ及びその中に指定されるあらゆるリソースが、前述されたように提供され、インストールされ、活性化される。この点で、コンピュータ５００上の各登録ソフトウェアアプリケーションのアイコンは、コントローラ１００によって提示されるユーザインタフェース上で利用できる。
【００５４】
使用段階では、グラフィックユーザインタフェース上の（ソフトウェアアプリケーションを表す）装置アイコンは、ソフトウェア装置が現在オン（実行中）であるのか、又はオフ（実行していない）のかを示すことができる。ユーザが、オフである装置のアイコンを活性化すると、コントローラ１００はその装置のための「オンコマンド」を、次に、実行中の、関連付けられたソフトウェアアプリケーション５２０を設定するサービス５１０に送る。ユーザが装置のための「オフボタン」を活性化すると、コントローラ１００は、次にソフトウェアアプリケーション５２０を止める（停止する）サービス５１０に、その装置用の「オフコマンド」を送る。
【００５５】
ユーザが装置のためのコマンドボタンを活性化すると、コントローラ１００は関連付けられたコマンドシーケンスを、次にＡＰＩ５３０を介して関連付けられたソフトウェアアプリケーション５２０にこれを渡すサービス５１０に送る。その後、ソフトウェアアプリケーション５２０は、ＡＰＩ３０を介してコマンドシーケンスを受信し、関連付けられたコマンドを実行する。
【００５６】
ソフトウェアアプリケーション５２０は、コマンドに応えて、ＡＰＩ５３０にデータを送ってよく、サービス５１０は、コントローラ１００にこれを配信する。例えば、ソフトウェアがスライドショーアプリケーションであり、ユーザが次のスライドに変わるためのコマンドを送ると、ソフトウェアアプリケーション５２０はユーザに対し、ディスプレイのためのスピーカノートを送ってよい。
【００５７】
ソフトウェアアプリケーション５２０は、ＡＰＩ５３０に対する、求められていないイベント通知を生成してよく、サービス５１０はこれらをコントローラ１００に配信する。例えば、ソフトウェアがメディアプレーヤアプリケーションであり、音楽トラックが再生中である場合には、イベントは、経過した時間ステータスディスプレイを更新するために毎秒コントローラ１００に設定できるだろう。
【００５８】
サービス５１０は、コンピュータ５００のオペレーティングシステムにインタフェースを提供してもよい。このインタフェースは、コントローラ１００がコンピュータハードウェアをオフにし、オペレーティングシステムの多様な設定値を構成し、オペレーティングシステム及びハードウェアの状態を問い合わせることができる能力を提供してよい。
【００５９】
図６を参照して、続く段落は、Ｍ台のコントローラとＮ台の装置間の関連付けを形成するタスクが、ユーザのために大幅に簡略化される構成を開示する。
【００６０】
特定のＰＡＮに基づいたネットワーキングシステムでは、ユーザは、各コントローラＭと装置Ｎの間の関連付けを形成するように要求される。関連付けの数がＭ＊Ｎ（Ｍ及びＮの積）であるため、これは、比較的早急にユーザにとって不便となる。例えば、ある家庭が３台のコントローラ及び５台の装置（例えば、ＴＶ、ＤＶＤ、ＳＴＢ、エアコン、加熱サーモスタット）を有していると、１５の関連付けが行われなければならないだろう。この数は、受容性の限界と近似している。しかしながら、別の家庭が３台のコントローラ及び２０台の装置（ＡＶ機器、電灯スイッチ、調節器、コンセント等）を有していた場合、関連付けの数は、明らかにセットアップに不便であり、管理が困難である６０になるだろう。
【００６１】
この状況を緩和するために、プロキシ装置７００が遠隔操作システムに導入されてよい。この構成では、各装置１．．．Ｎは、プロキシ７００との関連付けを形成し、各コントローラ１．．．Ｍもプロキシとの関連付けも形成する。したがって、Ｎ＋Ｍの関連付けがある。以前の例を続けると、家庭１では、現在、１５と比較して８の関連付けがあり、家庭２の場合、６０と比較して２３の関連付けがあるだろう。したがって、プロキシ７００の導入は、ユーザがセットアップし、保守しなければならない関連付けの数を大幅に削減し、したがって結果として生じるシステムはより便利で、望ましくなる。
【００６２】
プロキシ７００は、前述されたサービス５１０に類似するように動いてよく、各装置３００はプロキシ７００のサブユニットになる。したがって、コントローラ１００は、必要に応じて、コントローラ１００から装置３００に要求を、及び装置３００からコントローラ１００に応答を転送するプロキシ７００と対話するためにＡＤＲＣプロトコルを使用できる。
【００６３】
図７を参照して、続く段落は、Ｍ台のコントローラとＮ台の装置の間の関連付けを形成するタスクが、プロキシ７００を必要としなくても達成される、図６に開示されている構成の代替構成を開示している。
【００６４】
関連付け動作を調整するために、一方のコントローラ１００（ＲＣ１）がコーディネータとして指定され、他方のコントローラ１００（ＲＣ）が新入者として指定される。ＲＣ１は、最初に通常の方法で、装置３００（ＡＰ１、ＡＰ２、ＡＰ３）と関連付けなければならない。ＲＣ２が装置３００と関連付けられなければならないとき、ユーザは、最初に、プロキシジェスチャを使用してＲＣ２をＲＣ１と関連付ける。いったんこれが達成されると、支援された関連付けプロセスが、ＲＣ１が、それ自体の識別子（ＲＣ１．ＩＤ）、それ自体の秘密鍵（ＲＣ１．ＫＥＹ）、及び装置３００のそれぞれの関連付け情報（ＡＰ１．ＩＤ、ＡＰ２．ＩＤ、ＡＰ３．ＩＤ）を、本来安全である近接通信リンクを介してＲＣ２に送ることによって続行する。このプロセスは、ＲＣ２が順に装置３００のそれぞれと接続し、それらを関連付けるときに続行する。装置３００と関連付けるために、ＲＣ２は、それと無線通信リンクを確立し、関連付けを要求する。関連付けが許可される前、装置３００とＲＣ２の間に信頼が確立されなければならない。信頼を確立するために、装置３００は、ランダムメッセージＭＳＧを策定し、それをＲＣ２に送信する。次に、ＲＣ２は、対称暗号化アルゴリズムを使用してＭＳＧを暗号化するためにＲＣ１．ＫＥＹを使用し、その関連付け情報ＲＣ２．ＩＤ、信頼されたコーディネータのアイデンティティＲＣ１．ＩＤ、及び暗号化されたメッセージＥＮＣＲＹＰＴ（ＲＣ１．ＫＥＹ、ＭＳＧ）を装置３００に送る。装置３００は、ＲＣ１のためのその内部関連付け情報を調べ、ＲＣ１．ｋｅｙを取得し、ＭＳＧを暗号化するためにそれを使用し、結果を、ＲＣ２によって送られたＥＮＣＲＹＰＴ（ＲＣ１．ＫＥＹ、ＭＳＧ）と比較する。値が一致すると、装置３００は次にＲＣ２に対する信頼を確立し、ＲＣ２と装置３００の間の関連付けが確立される。
【００６５】
図８を参照して、続く段落が、コントローラが装置の閉鎖ネットワークに安全に導入できる構成を開示する。
【００６６】
特定の状況では、それによってコントローラがＰＡＮ内の装置を発見する、又はＰＡＮ内の装置との関連付けを行うことが通常は可能ではない閉鎖ＰＡＮ上で参加する装置のグループを構成することが有利であることがある。かかる構成の例はホテルである。ホテル内の各部屋は、ＴＶ、サーモスタット、多様な電灯及びランプ、クロックラジオ等、客が制御するためにそのコントローラを使用することを希望する多くの装置を有することがある。任意のコントローラが室内の装置との関連付けを自由に行うことができるならば、それは満足に行く状況ではないであろう。これが当てはまる場合、隣室の客は、自分の装置を『管理する』ことができるであろうが、どのような客も、自分自身の室内の、及び隣接する室内の装置、及びおそらく近傍の他の建物内の装置さえ含む、コントローラが潜在的に発見する装置によって圧倒される点をｍｏｒｅｓする。追加の例は、公衆と接続するために消費者用機器を使用し、その機器と干渉することから公衆を除外する必要がある事務所及び他の建物を含む。
【００６７】
この状況を緩和するために、センチネル８００が遠隔操作システムに導入される。センチネル８００は、信頼されている装置である。図６に開示された構成に基づいた構成を使用すると、室内の閉鎖ＰＡＮは、プロキシ７００、及びプロキシと以前関連付けられた多くの装置３００から成る。これらが閉鎖ＰＡＮを形成し、任意のコントローラからの関連付けを許可しない。プロキシは部屋のドアに対する錠等のそれ自体で機能的な装置であってよい。プロキシ７００は、センチネル８００がそれに導入したコントローラとの関連付けだけを許すように構成される。センチネル８００は、ホテルのレセプションデスク上に位置することがある。客がチェックインするとき、ホテルのスタッフは客に部屋を割り当て、これらの詳細はセンチネル８００に渡され、次に客のコントローラ１００が、それを認証するセンチネル８００に渡される。コントローラ１００が無事に認証されると、センチネルは、客が割り当てられた部屋のプロキシ７００に、コントローラ１００のアイデンティティを送り、プロキシ７００の関連付け情報が、任意選択でコントローラ１００に提供されてよい。ここでは、客が、ドアの上であることがあり、プロキシジェスチャ機能を有することがあるプロキシ７００にコントローラ１００を提示すると、プロキシはコントローラ１００から関連付け要求を受け入れる。いったんコントローラ１００がプロキシ７００と関連付けると、コントローラ１００は、部屋のＰＡＮ内の装置を、図６に前述されたのと同様に制御できる。最後に、客がチェックアウトするとき、センチネル８００は、コントローラ１００と分離するようにプロキシ７００に命令を送ることができる。
【００６８】
図９は、マイクロプロセッサ、メモリ、近接センサ、近接通信機構、任意選択で無線通信機構、少なくとも１つの内部ＲＤＦ、及び任意選択で外部に記憶されてよい他のＲＤＦを含む制御可能装置を開示する。
【００６９】
図１０は、マイクロプロセッサ、メモリ、近接センサ、近接通信機構、任意選択で無線通信機構を含み、及び初期には任意の装置用のＲＤＦを含まないコントローラを開示する。制御可能装置との関連付けの後、コントローラはその装置からの少なくとも１つのＲＤＦ、及び任意選択で、制御可能装置の外部に記憶される他のＲＤＦに対する参照を含む。
【００７０】
図１１を参照して、続く段落は、コントローラ１００及び装置３００とアクセス制御を調整するアクセス制御装置７００が導入される構成を開示する。
【００７１】
いくつかの遠隔操作施設では、発生し得る多様な動作を制限することが有利な場合がある。例えば、自宅所有者が、どのコントローラが家庭内の装置と関連付けることができるのかを、家族の構成員に属するそれらのコントローラだけ、又はおそらく１台の「マスタ」コントローラだけに制限することを望むことがある。さらに、特定のコントローラで利用できる機能性を制限することも有利である場合がる。例えば、親は、自分の子供のコントローラ上のインターネットアクセスの可用性を一日の特定の時間に制限する、又はデータ帯域幅を日々の割り当て量に制限することを選ぶことがある。
【００７２】
適切な特権をもつユーザは、アクセス制御装置７００上でアクセス制御情報３０００を作成してよい。これは、その目的専用のソフトウェアアプリケーションを使用して達成され得る。
【００７３】
いったん所望されるアクセス制御情報が作成又は更新されると、アクセス制御装置７００は、影響を受ける任意の装置３００にアクセス制御リスト（ＡＣＬ）３００５を、及び影響を受ける任意のコントローラ１００にＡＣＬ３０１０を送出する。ここで、コントローラ１００が装置３００にコマンド３０１５を送ると、装置は、コントローラ１００が要求された動作を実行する許可を有するかどうかを判断するために適切なＡＣＬと照合する。
【００７４】
コントローラ１００が許可をもたない場合、装置３００は要求を実施するのではなく、代わりに、なぜ要求が拒絶されたのかをコントローラに知らせる。同様に、コントローラ１００のユーザが特定の機能３０２０へのアクセスを要求するとき、コントローラ１００は、その機能が与えられるべきかどうかを判断するために適切なＡＣＬを照合する。
【００７５】
図１２を参照して、続く段落は、装置７００が、無線通信リンク２００の範囲外にある別の場所にあるコントローラ１００に遠隔アクセスを提供する構成を開示する。
【００７６】
仕事場所等の遠隔場所にいる間に、イベント通知を制御し、自分の家庭の装置からイベント通知を受信できることを有利だと感じるユーザもいる。例えば、ユーザがエアコンをオフにせずに外出したことが分かった場合に、彼らは仕事を始めるときに、又は一般に、インターネットにアクセスできる任意の場所から状況を訂正できるだろう。
【００７７】
別の例では、装置がイベントを生成すると、ユーザが警告され、その結果、なんらかの処置を講じることができるように、これを遠隔場所にあるコントローラに送ることができるであろう。
【００７８】
装置７００は、１つ又は複数のＰＡＮ上の装置３００と通信できるように構成される。これらのＰＡＮは、必ずしも同じ技術を使用する必要はない。例えば、ＰＡＮ１はＢｌｕｔｏｏｔｈ３ネットワークであってよく、ＰＡＮ２は超広帯域（ＵＷＢ）ネットワークであってよい。また、装置７００は、なんらかのＬＡＮネットワーキング手段を介して、例えば、Ｗｉ−Ｆｉ（商標）アクセスポイント又はＤＳＬモデム等を介して、インターネットに接続するように構成される。コンピュータ５００は遠隔位置にあり、インターネットへの接続部を有する。
【００７９】
ＡＤＲＣプロトコルを具体的に表現するソフトウェアアプリケーションが、コンピュータ５００上にインストールされる。この「ＳｏｆｔＲｅｍｏｔｅ」１００は、インターネット上のサーバからダウンロードされた可能性がある。さらに、装置７００は、ネットワークパケットをフォーマットし直し、それらをあるネットワークと別のネットワークの間で送ることを可能にする１つ又は複数のゲートウェア手段を実装する。
【００８０】
例えば、コンピュータ５００は、ＵＤＰ／ＩＰパケットを１つ又は複数のＢｌｕｅｔｏｏｔｈパケットにフォーマットし直し、これらをＰＡＮ１に送る装置７００にそのＵＤＰ／ＩＰパケットを送ることがある。最後に、前記に開示されたように、各装置３００がハブのサブネットの内の１つであるように見えるように、ハブ７００がプロキシとして働く。ここで「ＳｏｆｔＲｅｍｏｔｅ」１００は、あたかも装置３００ａ、３００ｂ、及び３００ｃがローカルであるかのように装置７００を介してそれらの装置と対話するためにＡＤＲＣプロトコルを使用できる。
【００８１】
図１３を参照して、続く段落は、装置３００がメニュー及びステータス表示等のディスプレイのためにコントローラ１００のディスプレイを使用する構成を開示する。
【００８２】
いくつかの装置は、ユーザと対話する非常に基本的な方法だけを提供するためにより安価に作ることができる。例えば、現代的なＤＶＤプレーヤは、数個のボタンを備えた非常に基本的なディスプレイしか備えていないので、完全に機能的なユーザインタフェースを提供するためにはＴＶ及び遠隔操作に依存する。この技法は、一般にオンスクリーンディスプレイ（ＯＳＤ）と呼ばれる。ただし、ＯＳＤを使用すると、任意の他の視聴者用のメインプログラムと干渉し、状況によっては最も面倒なことになる。したがって、あらゆるＯＳＤメニュー又は他のステータス情報が、ＴＶの代わりにコントローラ１００上に表示されるならば、きわめて望ましいであろう。
【００８３】
前記に開示されたように、装置３００と関連付けられたＲＤＦは、装置が応答する機能を宣言する情報を含み、関連付けられたスタイルシート及び変換ファイルとともに、画像、音声、及び他のセットアップパラメータ等の特定の設定を構成するためにＴＶ上に現在提示されているものと同様に、セットアップ画面及び設定画面を説明するためにも使用されてもよい。
【００８４】
本発明により提供される柔軟性のため、カーソルキーを使用してメニューのシステムを行き来する代わりに単純なジェスチャで直接的に起動できる、きわめて魅力的で、使用しやすいメニュー／制御インタフェースが説明されることがある。また、これらは、番組の題名、その持続時間、及び入手できる場合がある他のメタデータ等の番組関連情報を含むこともある。さらに、モード（例えば、再生、休止、停止）、実行時間、残り時間等のステータス情報もリアルタイムで表示、及び更新されてよく、コントローラ１００は、かかる情報を照会するためにそのＲＤＦに記述されるように装置のＡＰＩを使用し、装置３００が適宜にステータスを更新するためにコントローラ１００にイベントを送信する。
【００８５】
図１４を参照して、続く段落は、装置３００がフリートゥエアネットワーク上で放送された情報を受信し、コントローラ１００に対応するイベントを生成する構成を開示する。
【００８６】
現在、実際のプログラムコンテントとともにデジタル情報を送信できるフリートゥエア放送媒体サービスが存在する。例えば、デジタルビデオ放送（ＤＶＢ）システムはテレビ番組コンテンツとともに、局名、ＥＰＧ、及び他のデータを送信できる。同様に、無線データサービス（ＲＤＳ）は、ＦＭ音声番組コンテンツとともに、局名、番組名、及び他のデータを送信できる。
【００８７】
フリートゥエアネットワークの事業者は、自分たちが選ぶ通りに、自分たちのネットワーク上でデジタルデータ３２００を放送することができ、さらに、番組コンテンツと一致するようにかかるデータの配信の時刻を決めることもできる。これは、受信側装置３００もかかるデータを受信し、その後コントローラ１００に通知するために求められていないイベント３２０５を送ることができるときに有利な構成を提示する。イベント３２０５は、ＵＲＬ、トリガ条件、テキスト又は任意のデータ等の情報を含んでよい。コントローラ１００は、イベント３２０５を受信すると、相応してそれに作用してよい。
【００８８】
例えば、イベント３２０５がウェブページへのＵＲＬを含んでいた場合、コントローラ１００はこのページをレンダリングし、それをユーザに表示することを選んでよい。このウェブページは、ユーザがサーバ５００と対話できる３２０１ようにし、代わりにサーバ５００がユーザに適切な応答を行う３２１５ことができるようにするウェブアプリケーションであってよい。さらに、イベント３２０５がトリガ条件を含んでいた場合には、コントローラ１００は、そのトリガ条件をそれに知らせるハンドラリソース３２２０を活性化することを選んでよい。次に、このハンドラは、きわめて標的とされた情報又は個人化された情報をユーザに表示するためにコントローラ１００に記憶される個人化情報を使用してよい。
【００８９】
この構成を背景にするたえに、テレビ局は、フットボールの試合等のスポーツイベントを放送することがある。試合がクォータータイムに入り、テレビ局はＤＶＢ上でＵＲＬを含む情報を送る。スポーツファンは、本発明を実装するＴＶで試合を観戦している。ＴＶは、ＤＶＢ放送から情報を受信し、それをイベントとしてフォーマットし直し、それをリモコンに送る。
【００９０】
リモコンはイベントを受信し、関連付けられたハンドラリソースを呼び出す。ハンドラは、リモコン画面上にポップアップウィンドウを開き、それをイベントで提供されるＵＲＬに向ける。ＵＲＬは、ピザ配達会社用にオンライン注文システムを実装するウェブアプリケーションのＵＲＬである。ユーザは、可聴イベントトーンでイベントに注意を喚起される。ユーザはリモコンを取り上げ、画面上のピザのオファーを見る。ピザ会社は、ユーザが注文するようによい価格に見えるゲーム目玉商品を有する。三十分後、注文が配信され、それはちょうどハーフタイムの時間内であるため、ユーザは提供されるサービスに最も満足する。
【００９１】
図１５を参照して、続く段落は、本発明（第１世代、第２世代、及び第３世代の遠隔操作技術）を具体的に表現しない電化製品が、依然としてコントローラ１００によって制御できる構成を開示する。
【００９２】
電化製品は、赤外線通信又は何らかの他の無線周波数タイプである場合がある既存の制御インタフェースを有する。また、電化製品は、ＣＥＣコマンドに応えることができる１つ又は複数のＨＤＭＩポストを有することもある。本実施形態では、ゲートウェイ９００も、コントローラ１００からの無線通信リンク２００上の通信を、電化製品の遠隔操作技術と互換性のある形式に変換できる。
【００９３】
ゲートウェイ９００は、それがプロキシ装置として働き、したがって各電化製品がゲートウェイ９００のサブユニットになるという点で、前述されたプロキシ７００に類似するように動く。したがって、コントローラ１００は、ゲートウェイ９００と対話するためにＡＤＲＣプロトコルを使用することができ、ゲートウェイ９００は、正しい通信媒体を使用してコントローラ１００から１つ又は複数の電化製品にコマンドを転送する。
【００９４】
例えば、電化製品が赤外線リモコンを有する場合、ゲートウェイ９００は、コントローラ１００から無線通信リンク２００上でコマンドを受信し、次に電化製品にコマンドを通信するために赤外線信号を変調する。別の例では、電化製品が、ＣＥＣコマンドセットを介して制御をサポートするＨＤＭＩを有する場合、ゲートウェイ９００は無線通信リンク２００上でコントローラ１００からコマンドを受信し、その対応するＣＥＣフォーマットにコマンドをフォーマットし直し、ＨＤＭＩポートのＣＥＣピンを介して電化製品にそれを送る。
【００９５】
本発明の追加の態様では、コントローラ１００は、遠隔操作機能性を提供するソフトウェアアプリケーションに加えて、１つ又は複数のソフトウェアアプリケーションを実行できる。
【００９６】
効果的な広告キャンペーンを実施するために、及び製品設計の目的のために、消費者用機器（ＣＥ）製造メーカは、自社電化製品がどのように使用されるのか、誰がそれらを使用するのか、いつそれらが使用されるのか等を理解することが重要である。かかる情報は、現在、多大な時間を必要とする公開調査を実施することによって収集されている。
【００９７】
しかしながら、本発明の性質のため、コントローラ１００は、その使用の一部として、自動的に使用情報を収集できる。例えば、ユーザがユーザインタフェースを介して装置に命令するので、コントローラ１００は各対話の記録を保持できる。
【００９８】
対話のために記憶される情報は、以下を含むことがある。
・装置製造メーカ、型、及びクラス
・発行されたコマンド
・日付及びタイムスタンプ
・（コントローラ個人化詳細からの）国、郵便番号、年齢、性別等のユーザについての人口学的情報
【００９９】
コントローラ１００は、周期的に記憶されたレコードを前処理し、次に、集約、分析、及び報告のために、これらをインターネット上のサーバに転送できる。
【０１００】
放送業界は、調査を使用して、視聴者及び聴取者の挙動に関する情報を日常的に収集している。しかしながら、本発明の性質のため、情報は、コントローラ１００によって自動的に収集できる。
【０１０１】
ユーザは、ユーザインタフェースを介して装置に命令するので、コントローラ１００は、プログラム情報について装置に照会し、各対話のレコードを保持することができる。対話のために記憶される情報は、以下を含むことがある。
・番組名
・放送局
・日付及びタイムスタンプ
・（コントローラ個人化詳細からの）国、郵便番号、年齢、性別等のユーザについての人口学的情報
【０１０２】
コントローラ１００は、周期的に記憶されたレコードを前処理し、次に、集約、分析、及び報告のために、これらをインターネット上のサーバに転送できる。
【０１０３】
図１６は、コントローラ１００の好ましい実施形態による主要なハードウェアブロックを開示する。マイクロコントローラ１０５は多様なブロックと接続し、遠隔操作機能性、プロトコル、及び他のアプリケーションを実装するソフトウェアも実行する。タッチスクリーンＬＣＤブロック１１０は、ユーザに、動的に生成されるグラフィック制御インタフェースを表示し、ユーザ入力を受信するために提供される。無線充電ブロック１１５は、物理的な接続部を必要とせずに内蔵バッテリを充電するために提供される。１つ又は複数のラウドスピーカを含むスピーカブロック１２０は、ユーザに装置からの通知（例えば、警報又はステータス変更）を警告するために、及び特定のユーザインタフェース動作のための可聴フィードバックを可能にするために提供される。マイクロフォンブロック１２５が、ユーザから音声コマンドを受信するために提供される。近接コントローラブロック１３０が、数センチメートルの距離でのコントローラ１００と外部装置３００間の低データレートの短距離通信に提供される。無線ネットワークコントローラブロック１３５は、数十メートルの距離でのコントローラ１００と外部装置３００間の中データレートＰＡＮ通信のために提供される。無線ＬＡＮブロック１４０は、コントローラ１００と、通信ホットスポット又は外部装置３００の間の高データレートＬＡＮ通信のために提供される。運動センサブロック１４５は、コントローラ１００がいつ静止しているのか、及びコントローラ１００が電力モードを制御するためにいつ移動しているのかを判断するために提供される。赤外線受信機ブロック１５０は、既存の赤外線リモコンによって出力される赤外線信号を、これらが学習できるように学習するために提供される。ＦＭブロック１５５は、外部装置に音声コンテンツを送信するために、及びフリートゥエアＦＭサービス上で放送される情報を受信するために提供される。
【０１０４】
図１７は、装置３００及び集積回路チップ４００の好ましい実施形態による主要なハードウェアブロックを開示する。装置３００が、例がプロキシ７００、センチネル８００、及びゲートウェイ９００、消費者用機器、科学的機器、医療機器、及び工業用機器を含む、任意の汎用装置であることに留意されたい。マイクロプロセッサ４０５は、４００の多様なブロックと接続し、装置プロキシ機能性、プロトコル及び他のアプリケーションを実装するソフトウェアも実行する。シリアルインタフェースコントローラブロック４１０は、装置３００の内部回路３１０と接続し、データ通信を提供するために提供される。一般入力／出力（ＧＩＯ）ブロック４４０は、装置３００の内部回路３１０と接続し、刺激信号又は制御信号を提供するために提供される。無線ネットワークコントローラブロック４１５は、コントローラ１００との中データレートＰＡＮ通信のために提供される。ＦＬＡＳＨメモリブロック４２０は、ソフトウェア及びデータを記憶するために提供される。セキュリティブロック４２５は、認証及び暗号化の機能のために提供される。タイマブロック４３０は、通信のための正確なタイミング、及び他のシステム機能のために提供される。ＲＡＭメモリブロック４３５は、マイクロプロセッサ４０５用の作業メモリのために提供される。任意選択の外部メモリブロック３２０は、リソースのためのより大きな記憶容量のために提供される。プロキシ回路ブロック３３０は、集積回路チップ４００が、近接検出、及び数センチメートルの距離で低データレート短距離通信をコントローラ１００に提供することができるように提供される。
【０１０５】
図１８は、ゲートウェイ７００の好ましい実施形態の主要なハードウェアブロックを開示する。マイクロコントローラ７０５は、多様なブロックと接続し、ゲートウェイ機能性、装置プロキシ、プロトコル、及び他のアプリケーションも実装するソフトウェアも実行する。任意選択のユーザインタフェース７１０は、ユーザにステータス又は情報を表示し、ユーザ入力を受信するために提供される。近接コントローラブロック７１５は、数センチメートルの距離でのコントローラ１００間の低データレート短距離通信のために提供される。無線ＰＡＮコントローラブロック７２０は、コントローラ１００及び装置３００への中データレート通信のために提供される。レガシー通信インタフェースブロック７２５は、本発明に準拠しない電化製品と通信するために提供される。
【０１０６】
図１９は、センチネル８００の好ましい実施形態の主要なハードウェアブロックを開示する。マイクロコントローラ８０５は、多様なブロックと接続し、センチネル機能性、プロ通る及び他のアプリケーションを実装するソフトウェアも実行する。任意選択のユーザインタフェース８１０は、ユーザにステータス又は情報を表示し、ユーザ入力を受信するために提供される。近接コントローラブロック８１５は、数センチメートルの距離でのコントローラ１００への低データレート短距離通信のために提供される。シリアル通信ブロック８２０は、コンピュータ又は装置へのＵＳＢ及びＲＳ２３２通信のために提供される。無線ＬＡＮブロック８２５は、アプリケーションサーバ又は装置への高データレート通信のために提供される。有線ＬＡＮブロック８３０は、アプリケーションサーバ又は装置への高データ通信のために提供される。
【０１０７】
図２０を参照して、続く段落は、装置との関連付けの完全ライフサイクルを通したＡＤＲＣプロトコルの詳細な論理フローを開示する。
【０１０８】
ステップ２０００で、ユーザは、装置３００の近接範囲内にコントローラ１００を持ち込み、なんらかの点、ステップ２００２で、装置３００がコントローラ１００の存在を検出する。この状況は、図４に概念上示されている。
【０１０９】
ステップ２００４から２００６で、装置及びコントローラは、それらの間に確立された近接通信チャネルを介して「検出」トークンを交換する。検出トークンは、以下のような情報を含むことがある。
・近接リンクのための代替速度が使用されるべきかどうか。
・認証が必要とされるかどうか。
・どの無線通信インタフェースがサポートされているのか。
・サポートされている通信インタフェースごとに適切な特徴。例えば無線ＬＡＮインタフェースの場合、関連する情報は以下を含むだろう：８０２．１１バージョン、例えばｂ｜ｇ｜ｎ、ＷＥＰ、又はＷＰＡセキュリティ、ＡＥＳ−ＣＣＭＰ暗号化等
【０１１０】
ステップ２００８及び２０１２は、装置３００が、コントローラ１００に認証することを要求する場合に適用する。認証が必要とされる場合には、ここでは適切な技法が利用される。好ましい実施形態では、デジタル証明書、及び無作為に生成された秘密の交換を伴うＰＫＩ技法が利用されるであろう。これを容易にするために、コントローラと制御可能装置の両方とも、少なくともデジタル証明書及び非対称暗号鍵を有する。より低いレベルの信頼が、あるアプリケーションに対して容認可能な場合には、対称暗号鍵を必要とする場合がある他の技法が代用されてよい。
【０１１１】
ステップ２０１０及び２０１４は、コントローラ１００が、装置３００に認証することを要求する場合に適用する。認証が必要とされる場合には、ここでは適切な技法が利用される。最も例示的な実施形態では、デジタル証明書、及び無作為に生成された秘密の交換を伴うＰＫＩ技法が利用されるであろう。より低いレベルの信頼が、あるアプリケーションに対して容認可能な場合には、他の技法が代用されてよい。
【０１１２】
ステップ２０１６で、装置３００は、それがコントローラ１００との関連付けを許すかどうかを決定する。この決定は、別のコントローラとの関連付けがすでに形成され得ているかどうか、又はおそらくアクセス制御リスト方式が使用され、それによって指名されたコントローラだけが装置と関連付けることを許されているかどうか等の多様な基準に基づいてよい。
【０１１３】
装置がステップ２０１４で認証に失敗した場合も、ユーザは依然として関連付けが続行することを許す機会を与えられてよい。これは、ユーザが、彼らがそれを信頼できるようにする装置について何かを知ることができるときに適切であってよい。
【０１１４】
ステップ２０１８から２０２０で、装置及びコントローラは、それらの間で確立される近接通信チャネルを介して「関連付け」トークンを交換する。関連付けトークンは、以下のような情報を含むことがある。
・ネットワークアイデンティティ、例えば、ＲＦ４ＣＥネットワークのＰＡＮ
ＩＤ
・ＰＡＮ／ＬＡＮを介して他の関係者と接続するために必要とされる任意のパスワード、パスフレーズ、キー、又はパラメータ。例えば、暗号化されたリンクを必要とするＲＦ４ＣＥ装置は、キー交換転送コンテンツが指定されることを要求する。
・ネットワークアドレス
・ネットワークチャネル番号
・プロトコル、及び
・適宜に他のトークン
【０１１５】
ステップ２０２２から２０２４で、関連付けトークンが無事に交換されたかどうかが判断される。無事に交換された場合、関連付けは開始できる。関連付けが可能ではない場合、ユーザはステップ２０４２で知らされる。
【０１１６】
ステップ２０２６から２０２８で、装置３００及びコントローラ１００は、互いと関連付けを形成し、それによってそれらはここで通信チャネルを開き、自由に情報を通信できる。例えば、ネットワークが無線ＬＡＮである場合には、関連付けは、ＳＳＩＤ、セキュリティ方法及びキー、ＩＰアドレス、プロトコル、及びポート番号によって記述できる。
【０１１７】
ステップ２２００で、コントローラ１００は、それが、ステップ２１０２で装置３００によって返されるサブユニットごとの記述情報と一致するために、すでにＲＤＦを有しているかどうかを判断する。コントローラが有していないそれらのＲＤＦの場合、コントローラ１００は、ステップ２２０２から２２０４を使用し、装置３００から直接的にＲＤＦを取り出そうと試みる。装置３００から取り出すことができないＲＤＦの場合、コントローラ１００は、ステップ２２１０を使用して、示されたリンクからＲＤＦを取り出そうと試みる。リンクが示されなかった場合、コントローラ１００はステップ２２１２を使用し、デフォルトＵＲＬからＲＤＦを取り出そうと試みる。示されたリンク及びデフォルトＵＲＬは、サーバ５００上にあり、ネットワーク６００を介してアクセスされてよい。ステップ２２１４で、ＲＤＦが得られない場合、これはステップ２２１６でユーザに示される。
【０１１８】
ステップ２２２０で、コントローラ１００は、装置３００の関連付けられたサブユニットを制御するために任意の追加のリソースが必要とされるかどうかを判断するために、ＲＤＦに含まれる情報を使用する。本発明では、リソースは、データ、ソフトウェアアプリケーション、及びプラグイン、スタイルシート等のその制御機能を実行するようにコントローラによって要求されることがある項目を指す。
【０１１９】
リソースがＲＤＦに示され、コントローラ１００がすでにこれらを有していない場合には、ステップ２２２２から２２３８を使用して、コントローラは、ＲＤＦを取り出すために前述されたシーケンスを使用してこれらのそれぞれを取り出し、インストールしようと試みる。いったんＲＤＦ及び任意の他の必要とされるリソースが取得されると、ステップ２２４０で、コントローラ１００は、装置３００を制御するために必要且つ十分であるグラフィックユーザインタフェースを生成するためにＲＤＦに含まれる情報を使用する。
【０１２０】
ＲＤＦの追加の目的は、装置３００によって生成されるイベントがどのように処理されるのかを指定することである。ＲＤＦは、イベントが受信されるときに、それが関連付けられたハンドラリソースに転送されるように、装置イベントをコントローラ１００上の処理リソースと関連付けるための手段を提供する。
【０１２１】
さらに、ＲＤＦの追加の目的は、装置３００によって提供される入力設備及び出力設備を記述するための手段を提供することである。例えば、ＴＶ装置は２つの入力ＡＶ１とＨＤＭＩ１、及び１つの出力ＭＯＮＩＴＯＲを有することがある。この情報は、特に、ユーザが自分のシステムをセットアップし、構成するのを助けるために開発されてよいアプリケーションに有用である。
【０１２２】
ステップ２２４２から２２４４で、コントローラ１００は、自動呼び出し用にＲＤＦ内で記されるあらゆるリソース実行を設定する。
【０１２３】
ステップ２１００で、コントローラ１００は、装置３００への無線通信リンク２００を使用し、装置がそのサブユニットを列挙することを要求する。視聴覚（ＡＶ）機器等のハードウェア装置の場合、サブユニットは、明確に定義された機能を実行する機器のユニットであり、例えばＴＶは、１つのサブユニット（それ自体）しか有さないであろう。一方、複合型ＴＶ／ＤＶＤは２つのサブユニット（ＴＶ及びＤＶＤ）を有するであろう。ＰＣ又はサーバ等のコンピュータの場合、サブユニットは、ソフトウェアアプリケーション、又はサービスである。例えば、サーバが、とりわけ位置選定サービス及び支払いサービス等のサービスを提供してよいのに対し、ＰＣは音楽プレーヤアプリケーション及びゲームアプリケーションをインストールされてよい。各サブユニットは、制御されるためにそれ自体の一意のセットの情報を必要とする。
【０１２４】
ステップ２１０２で、装置３００は、そのサブユニットを列挙し、各ユニットの記述情報を収集し、これをコントローラ１００に送る。サブユニットの記述情報は、以下を含むことがある。
・製造メーカ
・型番号
・バージョン
・ＲＤＦ（任意選択）に対するリンク、及び
・特定の実施形態に必要とされる可能性のある他の情報
【０１２５】
ステップ２３００から２３１８は、ユーザが、関連付けられた装置を制御するためにステップ２２４０で生成されたグラフィックユーザインタフェースをどのように使用できるのかを示す。さらに、ステップ２４００から２４０６は、コントローラ１００に求められていないイベント通知を生成できる装置が、ＲＤＦに指定される関連付けられたハンドラリソースにリダイレクトすることによって、又は何も指定されていなかった場合には、単にＧＵＩを介してユーザに通知を表示することによって、それらをどのように処理できるのかを示す。
【０１２６】
分離は、それによって装置３００とコントローラ１００の間に以前形成された関連付けが忘れられるプロセスである。したがって、関連付けの間に効力を生じたあらゆる制約又はアクセス制御は、削除される。これは、新しい所有者に売却される可能性があるＡＶ機器等の特定のクラスの装置にとって重要である。
【０１２７】
ステップ２５００で、コントローラ１００は、装置３００に対する分離要求を送る。ステップ２５０２で、装置は、例えば、関連付けられたコントローラが要求を送ったが、そのコントローラがこの動作について特権を与えられていなかった場合、要求を拒絶することを選ぶことがある。要求が拒絶されると、ユーザは、ステップ２５１２及び２５１４によって通知され、関連付けは元の状態のままとなる。分離要求が受け入れられると、ステップ２５０４から２５１０が、装置３００とコントローラ１００の両方共が、それぞれが他方と有している関連付けをどのようにして削除するのかを示し、加えてコントローラ１００はＲＤＦとともにグラフィックユーザインタフェース及びそれと関連付けられたあらゆるリソースから装置のアイコンを削除する。いったん関連付けが削除されると、装置３００及びコントローラ１００はもはや互いと通信することはできない。
【０１２８】
図２１は、ＸＭＬに基づいているリソース記述ファイルの一実施形態を開示する。
【０１２９】
装置３００が列挙段階の間にコントローラ１００に提供する記述情報は、＜ｄｅｓｃｒｉｐｔｉｏｎ＞タグ１０００内に含まれている。
【０１３０】
装置３００によって提供される機能を定義する情報は、＜ｃｏｎｔｒｏｌｌａｂｌｅ＞タグ１０１０に含まれる。例えば、＜ｆｕｎｃｔｉｏｎ＞タグ１０１１は、装置３００への電力をトグルするために必要とされるコマンドを表す。ユーザインタフェースが生成されると、タグ１０１１は、これがスタイルシートを使用して無効にされない限り、（プッシュボタンである可能性がある）＜ｆｕｎｃｔｉｏｎ＞タグに割り当てられたデフォルトウィジェットを使用してレンダリングされる。このウィジェットがユーザによって活性化されると、コントローラ１００は、装置３００にコード「８０７Ｆ」を送る。音声活性化コマンドに対応している場合には、＜ｖｏｉｃｅ＞タグに含まれているワードがこのコマンドを活性化する。別の例として、＜ｆｕｎｃｔｉｏｎ＞タグ１０１２は、指名レベルにボリュームを設定するために必要とされるコマンドを表す。この場合、タグ１０１２は、このウィジェットが、２のステップで０から１００の一連の値を生成できることを示す＜ｒａｎｇｅ＞タグを含む。したがって、ユーザインタフェースが生成されるときに、タグ１０１２は、スライダ等の範囲を示すウィジェットを使用して、又はスタイルシートに指定されてもよい何らかの他のウィジェットを使用して、レンダリングされる。かかるウィジェットの他の入力指定子も考えられる。例えば、別の有用なものは、値の固定されたセットを選ぶことができる等のリスト又は列挙であろう。
【０１３１】
装置の機能は、＜ｇｒｏｕｐ＞タグ１０１３を使用してともに分類されてよい。例えば、特定の機能をともに保つことができることは、それらは数値キー０から９又はメニューナビゲーションキー等、論理的に関連付けられているため、有利である。さらに、最も最新の世代のリモコンは２０から３０のボタンを有し、これらが全てコントローラ１００の同じ画面上に提示されたならば、結果として生じるインタフェースは、使用が不可能ではないにしても使用するのは困難であろう。しかしながら、大部分のユーザは、通常は電源、ミュート、ボリューム＋／−、チャネル＋／−、バック等の少数の機能を使用するにすぎないため、共通して使用される機能を第１の画面上で分類し、他のあまり使用されない機能を第２及び第３の画面、並びにおそらくユーザによって所望される他の画面に割り当てることができることは有利である。また、当業者は、制御装置の位置決め及び制御装置のグループがスタイルシートを介して指定できることも理解するだろう。
【０１３２】
前記に開示されるように、いくつかの装置は、その動作をサポートし、強化するために１つ又は複数のハンドラリソースを提供することによって恩恵を受けることがある。加えて、いくつかのアプリケーションは、ユーザ入力なしに、コントローラ１００によって処置を講じることができる自動化制御装置の要素を必要とする場合がある。これらの機能をサポートするために必要となるリソース及びインタフェースは、＜ａｕｔｏｍａｔｉｏｎ＞タグ１０２０に定義されている。リソースは、ソフトウェアアプリケーション、埋め込みスクリプト、インタフェース、オブジェクト、データ、及び必要とされることがある他の任意の項目を含んでよい。例えば、＜ｒｅｓｏｕｒｃｅ＞タグ１０２１は、埋め込まれたスクリプト言語を使用して実装されるハンドラを定義する。一方、＜ｒｅｓｏｕｒｃｅ＞タグ１０２３は、別々にロードされたプラグインアプリケーションを指定する。ソフトウェアが装置３００を制御するために開発される場合には、装置のインタフェース又はＡＰＩが知られていなければならない。装置製造メーカは、１つ又は複数の＜ｉｎｔｅｒｆａｃｅ＞タグを使用してそれらの装置のＡＰＩを定義してよい。例えば、＜ｉｎｔｅｒｆａｃｅ＞タグ１０２５が文書、イベント、及び２つの方法を含む「ｅｐｇ」という名前を付けられた第２のインタフェースを定義するのに対し、＜ｉｎｔｅｒｆａｃｅ＞タグ１０２４は、（コントローラに送信されてよい）１つのイベントを含む「ｘｅｒｔ」と名付けられたインタフェースを定義する。ハンドラリソースは、１つ又は複数のインタフェースを実装するために作成される。＜ｉｍｐｌｅｍｅｎｔｓ＞タグは、ハンドラリソースがどのインタフェースを実装するのかを指定する。例えば、＜ｉｍｐｌｅｍｅｎｔｓ＞タグ１０２２は、その関連付けられたハンドラリソースが「ｘｅｒｔ」インタフェースを実装することを指定する。
【０１３３】
前記に開示されたように、コントローラ１００が装置３００の入力／出力機能が何であるのかを知ることが有利である場合がある。＜ｃｏｎｆｉｇｕｒａｔｉｏｎ＞タグ１０３０が、この目的のために提供される。＜ｃｏｎｆｉｇｕｒａｔｉｏｎ＞タグ１０３０に記述される情報から、コントローラ１００は、その命名及びカラーコーディング、並びにサポートされているデジタルプロトコル等の特殊機能を含む、入力又は出力を実装する技術、例えば、ＨＤＭＩ又はアナログ複合ビデオ、使用されているコネクタについて知ることができる。近接機構を通して、ＰＡＮを作成し、装置をＰＡＮに追加し、ＰＡＮから削除する機能。
[第１９条（１）の下での陳述]
出願人は、これにより最初に提出された２５ページから２９ページの代わりのページ２５ページから３３ページを転送する。ほぼ全ての請求項は、明瞭さを改善するため、及び本願を先行技術からさらに区別するために補正された。請求項２、請求項３、及び請求項４は変更されないままである。
【図１】
0005718311.tif 000002
【図２ａ】
0005718311.tif 000003
【図２ｂ】
0005718311.tif 000004
【図２ｃ】
0005718311.tif 000005
【図３】
0005718311.tif 000006
【図４】
0005718311.tif 000007
【図５】
0005718311.tif 000008
【図６】
0005718311.tif 000009
【図７】
0005718311.tif 000010
【図８】
0005718311.tif 000011
【図９】
0005718311.tif 000012
【図１０】
0005718311.tif 000013
【図１１】
0005718311.tif 000014
【図１２】
0005718311.tif 000015
【図１３】
0005718311.tif 000016
【図１４】
0005718311.tif 000017
【図１５】
0005718311.tif 000018
【図１６】
0005718311.tif 000019
【図１７】
0005718311.tif 000020
【図１８】
0005718311.tif 000021
【図１９】
0005718311.tif 000022
【図２０ａ】
0005718311.tif 000023
【図２０ｂ】
0005718311.tif 000024
【図２０ｃ】
0005718311.tif 000025
【図２０ｄ】
0005718311.tif 000026
【図２０ｅ】
0005718311.tif 000027
【図２１ａ】
0005718311.tif 000028
【図２１ｂ】
0005718311.tif 000029
【図２１ｃ】
0005718311.tif 000030