説明

サーバベースまたはピアツーピアネットワーク環境用のデバイス制御システム、方法および装置

【課題】サーバベースまたはピアツーピアネットワーク環境において電子デバイスを制御するためのシステムを提供すること。
【解決手段】ハンドヘルドコントローラなどの統一インターフェイスを介して様々なデバイスタイプを制御するための手段を提供するデバイス制御システムにおいて、同期プロトコルは、ピアツーピアネットワーク環境においてそのような複数のコントローラ間の同期を確実にし、そのようなコントローラ(506)間でカスタム構成を転送するための手段を提供し、そのようなコントローラをピアツーピアネットワーク環境からサーバベースのネットワーク環境へ、またその逆の方向へ移行させるための手段を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概してデバイス制御を対象とするものである。特に、本発明は、サーバベースまたはピアツーピアネットワーク環境において電子デバイスを制御するためのシステム、方法および装置に関する。
【背景技術】
【0002】
家庭およびオフィス環境において利用される遠隔操作可能な電子デバイスの数および種類が増加の一途をたどっている。そのようなデバイスは、赤外線(IR)またはシリアルコマンドコードを実装する、ハンドヘルドリモートによる制御に適合されるレガシーコンシューマ電子デバイスや、UPnPTMプロトコルに準拠するデバイスなどの、有線または無線のネットワークを介する制御に適合される電子デバイスを含む。
【0003】
従来型のデバイス制御ソリューションは、単一のハンドヘルドコントローラなどの統一インターフェイスを介して前述のデバイスタイプを制御するための手段を提供しない。さらに、従来型のデバイス制御ソリューションは、ピアツーピアネットワーク環境においてそのような複数のコントローラ間の同期を確実にするための手段、そのようなコントローラ間でカスタム構成を転送するための手段、およびそのようなコントローラをピアツーピアネットワーク環境からサーバベースのネットワーク環境へ、またその逆の方向へ移行させるための手段を提供しない。
【発明の概要】
【課題を解決するための手段】
【0004】
本明細書で開示する発明は、ハンドヘルドコントローラなどの統一インターフェイスを介して様々なデバイスタイプを制御するための手段を提供するデバイス制御システムにおいて使用される。本発明に従って、同期プロトコルは、ピアツーピアネットワーク環境においてそのような複数のコントローラ間の同期を確実にし、そのようなコントローラ間でカスタム構成を転送するための手段を提供し、そのようなコントローラをピアツーピアネットワーク環境からサーバベースのネットワーク環境へ、移行させるための手段を提供する。
【0005】
特に、本発明の実施形態は、第1のコントローラを第2のコントローラと同期させるための方法を提供し、前記第1および第2のコントローラはそれぞれ1つ以上の電子デバイスを遠隔制御するように適合される。前記方法は、前記第2のコントローラを発見するステップと、前記第1および第2のコントローラを同期させるための第1コントローラ同期データを生成するステップと、前記第1コントローラ同期データに関連するメッセージを前記第2のコントローラへ伝送するステップとを含む。第1コントローラ同期データは、1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作を変更するコマンドの実行に応じて、前記第1のコントローラの制御構成を変更するコマンドの実行に応じて、または、前記1つ以上の電子デバイスのうち少なくとも1つの構成、ステータスおよび/または操作において検出された変更に応じて生成され得る。
【0006】
本発明の別の実施形態において、1つ以上の電子デバイスを遠隔制御するための装置が提供される。前記装置は、ネットワーク上での通信に適合するネットワークインターフェイスと、ユーザ入力を受け取るように適合されるユーザインターフェイスと、前記ネットワークインターフェイスおよび前記ユーザインターフェイスに連結され、前記ユーザ入力に応じてコマンドを実行するよう適合された制御論理とを含む。前記制御論理は、前記ネットワークに通信可能なように連結された前記1つ以上の電子デバイスを制御するための第2の装置を発見し、前記装置を前記第2の装置と同期するための同期データを生成し、前記ネットワークインターフェイスを介して前記同期データに関連するメッセージを前記第2の装置へ伝送するようさらに適合される。同期データは、前記1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作を変更するコマンドの実行に応じて、前記装置の制御構成を変更するコマンドの実行に応じて、または、前記1つ以上の電子デバイスのうち少なくとも1つの構成、ステータスおよび/または操作において検出された変更に応じて生成され得る。
【0007】
本発明のさらなる実施形態において、デバイス制御のためのシステムが提供される。前記システムは、電子デバイスと、無線ネットワークなどのネットワークを介して、前記電子デバイスおよび互いに通信可能なように連結された第1および第2のコントローラとを含む。第1および第2のコントローラのそれぞれは、前記ネットワークを介して前記電子デバイスを遠隔制御するように適合される。前記第1のコントローラは、前記第2のコントローラを発見し、前記第1および第2のコントローラを同期するための第1コントローラ同期データを生成し、前記ネットワーク上で前記第1コントローラ同期データに関連するメッセージを前記第2のコントローラへ伝送するようにさらに適合される。第1コントローラ同期データは、前記電子デバイスの構成、ステータスおよび/または操作を変更するコマンドの実行に応じて、前記第1のコントローラの制御構成を変更するコマンドの実行に応じて、または、前記電子デバイスの構成、ステータスおよび/または操作において検出された変更に応じて生成され得る。
【0008】
本発明のさらなる実施形態において、第1のコントローラを第2のコントローラと同期させるための方法が提供され、前記第1および第2のコントローラのそれぞれは、1つ以上の電子デバイスを遠隔操作するように適合される。前記方法は、前記第2のコントローラを発見するステップと、前回の同期以後に発生した1つ以上の第1のコントローライベントに関連する第1のデータを前記第2のコントローラへ伝送するステップと、前記前回の同期以後に発生した1つ以上の第2のコントローライベントに関連する第2のデータを前記第2のコントローラから受け取るステップとを含む。前記方法はまた、前記第1および第2のデータに基づくイベントのログを更新するステップを含んでもよく、当該ステップは、第1のコントローライベントに関連するデータを第2のコントローライベントに関連するデータと比較するステップと、前記第1のコントローライベントに関連するデータが前記第2のコントローライベントに関連するデータと矛盾する場合、前記第1のコントローライベントに関わるタイムスタンプが前記第2のコントローライベントに関わるタイムスタンプより早い場合に限り、イベントのログを更新するステップとをさらに含んでもよい。前記方法は、前記第1のコントローラの制御構成を、前記第2のデータに基づいて前記第2のコントローラの制御構成と一致させるために変更するステップをさらに含むことができる。
【0009】
別の実施形態において、1つ以上の電子デバイスを遠隔操作するための装置が提供される。前記装置は、ネットワーク上での通信に適合するネットワークインターフェイスと、ユーザ入力を受け取るように適合されるユーザインターフェイスと、前記ネットワークインターフェイスおよび前記ユーザインターフェイスに連結され、前記ユーザ入力に応じてコマンドを実行するよう適合された制御論理とを含む。前記制御論理は、前記ネットワークに通信可能なように連結された前記1つ以上の電子デバイスを制御するための第2の装置を発見し、前回の同期以後に発生した1つ以上の第1のコントローライベントに関連する第1のデータを前記第2の装置へ伝送し、前回の同期以後に発生した1つ以上の第2のコントローライベントに関連する第2のデータを前記第2の装置から受け取るようさらに適合される。前記制御論理は、前記第1および第2のデータに基づきメモリ内に格納されたイベントのログを更新するようさらに適合されてもよく、当該ステップは、第1のコントローライベントに関連するデータを第2のコントローライベントに関連するデータと比較するステップと、前記第1のコントローライベントに関連するデータが前記第2のコントローライベントに関連するデータと矛盾する場合、前記第1のコントローライベントに関わるタイムスタンプが前記第2のコントローライベントに関わるタイムスタンプより早い場合に限り、イベントのログを更新するステップとをさらに含んでもよい。また前記制御論理は、前記装置の制御構成を、前記第2のデータに基づいて前記第2の装置の制御構成と一致させるために変更するようさらに適合され得る。
【0010】
さらなる実施形態において、デバイス制御のためのシステムが提供される。前記システムは、電子デバイスと、無線ネットワークなどのネットワークを介して、前記電子デバイスおよび互いに通信可能なように連結された第1および第2のコントローラとを含む。第1および第2のコントローラのそれぞれは、前記ネットワークを介して前記電子デバイスを遠隔制御するように適合される。前記第1のコントローラは、前記第2のコントローラを発見し、前回の同期以後に発生した1つ以上の第1のコントローライベントに関連する第1のデータを前記第2のコントローラへ伝送し、前回の同期以後に発生した1つ以上の第2のコントローライベントに関連する第2のデータを前記第2のコントローラから受け取るようさらに適合される。前記第1のコントローラは、前記第1および第2のデータに基づくイベントのログを更新するようさらに適合されてもよく、当該ステップは、第1のコントローライベントに関連するデータを第2のコントローライベントに関連するデータと比較するステップと、前記第1のコントローライベントに関連するデータが前記第2のコントローライベントに関連するデータと矛盾する場合、前記第1のコントローライベントに関わるタイムスタンプが前記第2のコントローライベントに関わるタイムスタンプより早い場合に限り、イベントのログを更新するステップとをさらに含んでもよい。また前記第1のコントローラは、前記第1のコントローラの制御構成を、前記第2のデータに基づいて前記第2のコントローラの制御構成と一致させるために変更するようさらに適合され得る。
【0011】
さらなる実施形態において、1つ以上の電子デバイスを遠隔操作するよう適合されるコントローラを、スタンドアロンモードからクライアントサーバモードへ移行させるための方法が提供される。初めに、前記コントローラはスタンドアロンモードのコントローラにより維持される制御構成に従って1つ以上の電子デバイスを遠隔操作する。前記方法は、サーバを発見するステップと、前記コントローラにより維持される制御構成に関連するデータを前記サーバへ伝送するステップと、その後前記サーバにより維持される制御構成に従って1つ以上の電子デバイスを制御するステップとを含む。
【0012】
別の実施形態において、1つ以上の電子デバイスを遠隔操作するための装置が提供される。前記装置は、ネットワーク上での通信に適合するネットワークインターフェイスと、ユーザ入力を受け取るように適合されるユーザインターフェイスと、前記ネットワークインターフェイスおよび前記ユーザインターフェイスに連結され、前記ユーザ入力に応じてコマンドを実行するよう適合された制御論理とを含む。前記制御論理は、前記ネットワークに通信可能なように連結されたサーバを発見し、前記装置により維持される制御構成に関連するデータを前記サーバへ伝送し、その後、前記装置により維持される前記制御構成に従う代わりに前記サーバにより維持される制御構成に従って前記1つ以上の電子デバイスを制御するようさらに適合される。
【0013】
さらなる実施形態において、デバイス制御システムが提供される。前記システムは、電子デバイスと、無線ネットワークなどのネットワークを介して前記電子デバイスに通信可能なように連結されたコントローラと、前記ネットワークを介して前記電子デバイスを遠隔操作するよう適合される前記コントローラと、前記ネットワークを介して前記電子デバイスおよび前記コントローラに通信可能なように連結されたサーバとを含む。前記コントローラは、前記サーバを発見し、前記コントローラにより維持される制御構成に関連するデータを前記サーバへ伝送し、その後、前記コントローラにより維持される前記制御構成に従う代わりに前記サーバにより維持される制御構成に従って前記電子デバイスを制御するようさらに適合される。
【0014】
さらなる実施形態において、1つ以上の電子デバイスを遠隔操作するよう適合されるコントローラを、クライアントサーバモードからスタンドアロンモードへ移行させるための方法が提供される。初めに、前記コントローラはサーバにより維持される制御構成に従って1つ以上の電子デバイスを遠隔操作する。前記方法は、前記サーバにより維持される前記制御構成に関連するデータを前記サーバから受け取るステップと、その後、前記コントローラにより維持される制御構成に従って1つ以上の電子デバイスを制御するステップとを含む。
【0015】
別の実施形態において、1つ以上の電子デバイスを遠隔操作するための装置が提供される。前記装置は、ネットワーク上での通信に適合するネットワークインターフェイスと、ユーザ入力を受け取るように適合されるユーザインターフェイスと、前記ネットワークインターフェイスおよび前記ユーザインターフェイスに連結され、前記ユーザ入力に応じてコマンドを実行するよう適合された制御論理とを含む。前記制御論理は、前記サーバにより維持される制御構成に関連するデータを前記ネットワークに通信可能なように連結されたサーバから受け取り、その後、前記サーバにより維持される制御構成に従うかわりに前記装置により維持される制御構成に従って1つ以上の電子デバイスを制御するようさらに適合される。
【0016】
さらなる実施形態において、デバイス制御システムが提供される。前記システムは、電子デバイスと、無線ネットワークなどのネットワークを介して前記電子デバイスに通信可能なように連結されたコントローラと、前記ネットワークを介して前記電子デバイスを遠隔操作するよう適合される前記コントローラと、前記ネットワークを介して前記電子デバイスおよび前記コントローラに通信可能なように連結されたサーバとを含む。前記コントローラは、前記サーバにより維持される制御構成に関連するデータを前記サーバから受け取り、その後、前記サーバにより維持される前記制御構成に従う代わりに前記コントローラにより維持される制御構成に従って前記電子デバイスを制御するようさらに適合される。
【0017】
本発明の様々な実施形態の構造および操作や、本発明のさらなる特徴および利点を、付随する図面を参照し以下に詳しく説明する。本発明は、本明細書に記載される特定の実施形態に限定されるものではないことを述べておく。そのような実施形態は、例示のみを目的として本明細書に提示されるものである。本明細書に含まれる教示に基づき、当業者にはさらなる実施形態が明白であろう。
【0018】
付随する図面は、ここに組み込まれ本明細書の一部を形成するものであり、本発明を図示し、記述と併せてさらに本発明の原理を説明し、当業者が本発明を作成し使用できるようにする役割を果たす。
【0019】
本発明の特徴および利点は、図面と併せて以下に説明する詳細な説明からより明らかになり、類似の参照文字は全体を通して対応する要素を特定するものである。図面中において、類似の参照番号は概して、同一の、機能的に同様の、および/または構造的に同様の要素を示す。要素が最初に現れる図面は、対応する参照番号の左端の桁により示される。
例えば、本発明は以下の項目を提供する。
(項目1)
第1のコントローラを第2のコントローラと同期させるための方法であって、
該第1および第2のコントローラはそれぞれ1つ以上の電子デバイスを遠隔制御するように適合され、該方法は、
該第2のコントローラを発見することと、
該第1および第2のコントローラを同期させるための第1コントローラ同期データを生成することと、
該第1コントローラ同期データに関連するメッセージを該第2のコントローラへ伝送することと
を包含する、方法。
(項目2)
上記第2のコントローラを発見することが、
クエリーメッセージを伝送することと、
該クエリーメッセージに対する応答を受け取るために一定時間待機することと
を包含する、項目1に記載の方法。
(項目3)
上記第1コントローラ同期データを生成することが、コマンドの実行に応答して該第1コントローラ同期データを生成することを包含する、項目1に記載の方法。
(項目4)
上記コマンドの実行に応答して上記第1コントローラ同期データを生成することが、
上記1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作を変更するコマンドの実行に応答して該第1コントローラ同期データを生成することを包含する、項目3に記載の方法。
(項目5)
上記コマンドの実行に応答して上記第1コントローラ同期データを生成することが、
上記第1のコントローラの制御構成を変更するコマンドの実行に応答して該第1コントローラ同期データを生成することを包含する、項目3に記載の方法。
(項目6)
上記第1コントローラ同期データを生成することが、上記1つ以上の電子デバイスのうち少なくとも1つの構成、ステータスおよび/または操作において検出された変更に応答して該第1コントローラ同期データを生成することを包含する、項目1に記載の方法。
(項目7)
第2コントローラ同期データに関連するメッセージを上記第2のコントローラから受け取ることと、
該メッセージを受け取ることに応答してログを更新することと
をさらに包含する、項目1に記載の方法。
(項目8)
第2コントローラ同期データに関連するメッセージを上記第2のコントローラから受け取ることと、
上記第1のコントローラの制御構成を、該メッセージを受け取ることに応答して、該第2のコントローラの制御構成と一致させるために変更することと
をさらに包含する、項目1に記載の方法。
(項目9)
1つ以上の電子デバイスを遠隔制御するための装置であって、該装置は、
ネットワーク上での通信に適合するネットワークインターフェイスと、
ユーザ入力を受け取るように適合されるユーザインターフェイスと、
該ネットワークインターフェイスおよび該ユーザインターフェイスに連結され、該ユーザ入力に応答してコマンドを実行するよう適合された制御論理と
を備え、該制御論理は、該ネットワークに通信可能なように連結された該1つ以上の電子デバイスを制御するための第2の装置を発見し、該装置を該第2の装置と同期するための同期データを生成し、該ネットワークインターフェイスを介して該同期データに関連するメッセージを該第2の装置へ伝送するようさらに適合される、装置。
(項目10)
上記ネットワークインターフェイスがトランシーバを備える、項目9に記載の装置。
(項目11)
上記トランシーバがIEEE 802.3イーサネット(登録商標)プロトコルに準拠する通信に適合される、項目10に記載の装置。
(項目12)
上記トランシーバがブルートゥースプロトコルに準拠する無線通信に適合される、項目10に記載の装置。
(項目13)
上記トランシーバがIEEE 802.11プロトコルに準拠する無線通信に適合される、項目10に記載の装置。
(項目14)
上記制御論理が、上記ネットワークインターフェイスを介してクエリーメッセージを伝送することと、該クエリーメッセージに対する応答を受け取るために一定時間待機することとによって、上記第2の装置を発見するよう適合される、項目9に記載の装置。
(項目15)
上記制御論理が、コマンドの実行に応答して上記同期データを生成するよう適合される、項目9に記載の装置。
(項目16)
上記制御論理が、上記1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作を変更するコマンドの実行に応答して上記同期データを生成するよう適合される、項目15に記載の装置。
(項目17)
上記制御論理が、上記装置の制御構成を変更するコマンドの実行に応答して上記同期データを生成するよう適合される、項目15に記載の装置。
(項目18)
上記制御論理が、上記1つ以上の電子デバイスのうち少なくとも1つの構成、ステータスおよび/または操作において検出された変更に応じて上記同期データを生成するよう適合される、項目9に記載の装置。
(項目19)
上記装置がメモリをさらに備え、上記制御論理が、第2装置同期データに関連するメッセージを上記第2の装置から受け取り、該メッセージの受け取りに応答して該メモリ内に格納されたログを更新するようさらに適合される、項目9に記載の装置。
(項目20)
上記制御論理が、上記ネットワークインターフェイスを介して第2装置同期データに関連するメッセージを上記第2の装置から受け取り、上記装置の制御構成を、該メッセージの受け取りに応答して該第2の装置の制御構成に一致させるために変更するようさらに適合される、項目9に記載の装置。
(項目21)
システムであって、
電子デバイスと、
ネットワークを介して該電子デバイスおよび互いに通信可能なように連結された第1および第2のコントローラであって、該第1および第2のコントローラのそれぞれは、該ネットワークを介して該電子デバイスを遠隔制御するように適合される、第1および第2のコントローラと
を備え、該第1のコントローラは、該第2のコントローラを発見し、該第1および第2のコントローラを同期するための第1コントローラ同期データを生成し、該第1コントローラ同期データに関連するメッセージを該ネットワーク上で該第2のコントローラへ伝送するようさらに適合される、システム。
(項目22)
上記ネットワークが無線ローカルエリアネットワークを含む、項目21に記載のシステム。
(項目23)
上記第1および第2のコントローラが、それぞれのIEEE 802.11リンクを介してそれぞれ通信可能なように上記ネットワークに連結される、項目21に記載のシステム。
(項目24)
上記第1および第2のコントローラが、それぞれ携帯情報端末またはウェブパッドのうちの1つを備える、項目21に記載のシステム。
(項目25)
上記電子デバイスが、コンピュータ、コンピュータ周辺機器、テレビ、ビデオカセットレコーダ、デジタル多用途ディスクプレーヤー、パーソナルビデオレコーダ、コンパクトディスクプレーヤー、ステレオレシーバ、電子サーモスタット、UPnPデジタルメディアレンダラおよび/またはサーバ、ランプ、またはビデオカメラのうちの1つを備える、項目21に記載のシステム。
(項目26)
上記第1のコントローラが、上記ネットワーク上でクエリーメッセージを送信し、該クエリーメッセージに対する応答を受け取るために一定時間待機することにより、上記第2のコントローラを発見するよう適合される、項目21に記載のシステム。
(項目27)
上記第1のコントローラが、コマンドの実行に応答して上記第1コントローラ同期データを生成するよう適合される、項目21に記載のシステム。
(項目28)
上記第1のコントローラが、上記電子デバイスの構成、ステータスおよび/または操作を変更するコマンドの実行に応答して上記第1コントローラ同期データを生成するよう適合される、項目27に記載のシステム。
(項目29)
上記第1のコントローラが、該第1のコントローラの制御構成を変更するコマンドの実行に応答して上記第1コントローラ同期データを生成するよう適合される、項目27に記載のシステム。
(項目30)
上記第1のコントローラが、上記電子デバイスの構成、ステータスおよび/または操作において検出された変更に応じて上記第1コントローラ同期データを生成するよう適合される、項目21に記載のシステム。
(項目31)
上記第1のコントローラが、第2コントローラ同期データに関連するメッセージを上記ネットワーク上で上記第2のコントローラから受け取り、該メッセージの受け取りに応答してログを更新するようさらに適合される、項目21に記載のシステム。
(項目32)
上記第1のコントローラが、第2コントローラ同期データに関連するメッセージを上記ネットワーク上で上記第2のコントローラから受け取り、上記第1のコントローラの制御構成を、該メッセージの受け取りに応答して、該第2のコントローラの制御構成と一致させるために変更するようさらに適合される、項目21に記載のシステム。
(項目33)
第1のコントローラを第2のコントローラと同期させるための方法であって、該第1および第2のコントローラのそれぞれは1つ以上の電子デバイスを遠隔操作するように適合され、該方法は、
該第2のコントローラを発見することと、
前回の同期以後に発生した1つ以上の第1のコントローライベントに関連する第1のデータを該第2のコントローラへ伝送することと、
該前回の同期以後に発生した1つ以上の第2のコントローライベントに関連する第2のデータを該第2のコントローラから受け取ることと
を包含する、方法。
(項目34)
上記第2のコントローラを発見することが、
クエリーメッセージを伝送することと、
該クエリーメッセージに対する応答を受け取るために一定時間待機することと
を包含する、項目33に記載の方法。
(項目35)
上記1つ以上の第1のコントローライベントのうちの少なくとも1つがコマンドの実行に関連する、項目33に記載の方法。
(項目36)
上記1つ以上の第1のコントローライベントのうちの上記少なくとも1つが、上記1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作を変更するコマンドの実行に関連する、項目35に記載の方法。
(項目37)
上記1つ以上の第1のコントローライベントのうちの上記少なくとも1つが、該第1のコントローラの制御構成を変更するコマンドの実行に関連する、項目35に記載の方法。
(項目38)
上記1つ以上の第1のコントローライベントのうちの少なくとも1つが、上記1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作において検出された変更に関連する、項目33に記載の方法。
(項目39)
上記第1および第2のデータに基づいてイベントのログを更新することをさらに包含する、項目33に記載の方法。
(項目40)
上記第1および第2のデータに基づいてイベントのログを更新することが、
第1のコントローライベントに関連するデータを第2のコントローライベントに関連するデータと比較することと、
該第1のコントローライベントに関連する該データが該第2のコントローライベントに関連する該データと矛盾する場合、該第1のコントローライベントに関わるタイムスタンプが該第2のコントローライベントに関わるタイムスタンプより早い場合に限り、イベントの該ログを更新することと
をさらに包含する、項目39に記載の方法。
(項目41)
上記第1のコントローラの制御構成を、上記第2のデータに基づいて上記第2のコントローラの制御構成と一致させるために変更することをさらに包含する、項目33に記載の方法。
(項目42)
上記第1のコントローラの制御構成を変更することが、
該第1のコントローラの制御構成の該変更を確認するようユーザに指示することを包含する、項目41に記載の方法。
(項目43)
1つ以上の電子デバイスを遠隔制御するための装置であって、
ネットワーク上での通信に適合するネットワークインターフェイスと、
ユーザ入力を受け取るように適合されるユーザインターフェイスと、
該ネットワークインターフェイスおよび該ユーザインターフェイスに連結され、該ユーザ入力に応じてコマンドを実行するよう適合された制御論理と、
を備え、該制御論理は、該ネットワークに通信可能なように連結された該1つ以上の電子デバイスを制御するための第2の装置を発見し、前回の同期以後に発生した1つ以上の第1のコントローライベントに関連する第1のデータを該第2の装置へ伝送し、該前回の同期以後に発生した1つ以上の第2のコントローライベントに関連する第2のデータを該第2の装置から受け取るようさらに適合される、装置。
(項目44)
上記ネットワークインターフェイスがトランシーバを備える、項目43に記載の装置。
(項目45)
上記トランシーバがIEEE 802.3イーサネット(登録商標)プロトコルに準拠する通信に適合される、項目44に記載の装置。
(項目46)
上記トランシーバがブルートゥースプロトコルに準拠する無線通信に適合される、項目44に記載の装置。
(項目47)
上記トランシーバがIEEE 802.11プロトコルに準拠する無線通信に適合される、項目44に記載の装置。
(項目48)
上記制御論理が、上記ネットワークインターフェイスを介してクエリーメッセージを伝送することと、該クエリーメッセージに対する応答を受け取るために一定時間待機することとによって、上記第2の装置を発見するよう適合される、項目43に記載の装置。
(項目49)
上記1つ以上の第1のコントローライベントのうちの少なくとも1つがコマンドの実行に関連する、項目43に記載の装置。
(項目50)
上記1つ以上の第1のコントローライベントのうちの上記少なくとも1つが、上記1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作を変更するコマンドの実行に関連する、項目49に記載の装置。
(項目51)
上記1つ以上の第1のコントローライベントのうちの上記少なくとも1つが、上記装置の制御構成を変更するコマンドの実行に関連する、項目49に記載の装置。
(項目52)
上記1つ以上の第1のコントローライベントのうちの少なくとも1つが、上記1つ以上の電子デバイスのうちの1つの構成、ステータスおよび/または操作において検出された変更に関連する、項目43に記載の装置。
(項目53)
上記装置がメモリをさらに備え、上記制御論理が、上記第1および第2のデータに基づいて、該メモリ内に格納されたイベントのログを更新するようさらに適合される、項目43に記載の装置。
(項目54)
上記制御論理が、第1のコントローライベントに関連するデータを第2のコントローライベントに関連するデータと比較し、該第1のコントローライベントに関連する該データが該第2のコントローライベントに関連する該データと矛盾する場合、該第1のコントローライベントに関わるタイムスタンプが該第2のコントローライベントに関わるタイムスタンプより早い場合に限り、イベントの上記ログを更新するよう適合される、項目53に記載の装置。
(項目55)
上記制御論理が、上記装置の制御構成を、上記第2のデータに基づいて上記第2の装置の制御構成と一致させるために変更するようさらに適合される、項目43に記載の装置。
(項目56)
上記制御論理が、上記ユーザインターフェイスを介して上記装置の上記制御構成の上記変更を確認するようユーザに指示するよう適合される、項目55に記載の装置。
(項目57)
システムであって、
電子デバイスと、
ネットワークを介して該電子デバイスおよび互いに通信可能なように連結された第1および第2のコントローラであって、該第1および第2のコントローラのそれぞれは、該ネットワークを介して該電子デバイスを遠隔制御するように適合される、第1および第2のコントローラと
を備え、該第1のコントローラは、該第2のコントローラを発見し、前回の同期以後に発生した1つ以上の第1のコントローライベントに関連する第1のデータを該第2のコントローラへ伝送し、該前回の同期以後に発生した1つ以上の第2のコントローライベントに関連する第2のデータを該第2のコントローラから受け取るようさらに適合される、システム。
(項目58)
上記ネットワークが無線ローカルエリアネットワークを含む、項目57に記載のシステム。
(項目59)
上記第1および第2のコントローラが、それぞれのIEEE 802.11リンクを介してそれぞれ通信可能なように上記ネットワークに連結される、項目57に記載のシステム。
(項目60)
上記第1および第2のコントローラが、それぞれ携帯情報端末またはウェブパッドのうちの1つを備える、項目57に記載のシステム。
(項目61)
上記電子デバイスが、コンピュータ、コンピュータ周辺機器、テレビ、ビデオカセットレコーダ、デジタル多用途ディスクプレーヤー、パーソナルビデオレコーダ、コンパクトディスクプレーヤー、ステレオレシーバ、電子サーモスタット、UPnPデジタルメディアレンダラおよび/またはサーバ、ランプ、またはビデオカメラのうちの1つを備える、項目57に記載のシステム。
(項目62)
上記第1のコントローラが、上記ネットワーク上でクエリーメッセージを伝送し、該クエリーメッセージに対する応答を受け取るために一定時間待機することにより、上記第2のコントローラを発見するよう適合される、項目57に記載のシステム。
(項目63)
上記1つ以上の第1のコントローライベントのうちの少なくとも1つがコマンドの実行に関連する、項目57に記載のシステム。
(項目64)
上記1つ以上の第1のコントローライベントのうちの上記少なくとも1つが、上記電子デバイスの構成、ステータスおよび/または操作を変更するコマンドの実行に関連する、項目63に記載のシステム。
(項目65)
上記1つ以上の第1のコントローライベントのうちの上記少なくとも1つが、上記第1のコントローラの制御構成を変更するコマンドの実行に関連する、項目63に記載のシステム。
(項目66)
上記1つ以上の第1のコントローライベントのうちの少なくとも1つが、上記電子デバイスの構成、ステータスおよび/または操作において検出された変更に関連する、項目57に記載のシステム。
(項目67)
上記第1のコントローラが、上記第1および第2のデータに基づいてイベントのログを更新するようさらに適合される、項目57に記載のシステム。
(項目68)
上記第1のコントローラが、第1のコントローライベントに関連するデータを第2のコントローライベントに関連するデータと比較し、該第1のコントローライベントに関連する該データが該第2のコントローライベントに関連する該データと矛盾する場合、該第1のコントローライベントに関わるタイムスタンプが該第2のコントローライベントに関わるタイムスタンプより早い場合に限り、イベントの上記ログを更新するよう適合される、項目67に記載のシステム。
(項目69)
上記第1のコントローラが、上記第1のコントローラの制御構成を、上記第2のデータに基づいて上記第2のコントローラの制御構成と一致させるために変更するようさらに適合される、項目57に記載のシステム。
(項目70)
上記第1のコントローラが、上記第1のコントローラの上記制御構成の上記変更を確認するようユーザに指示するよう適合される、項目69に記載のシステム。
(項目71)
1つ以上の電子デバイスを遠隔操作するよう適合されるコントローラを、スタンドアロンモードからクライアントサーバモードへ移行させるための方法であって、該コントローラはスタンドアロンモードのコントローラにより維持される制御構成に従って1つ以上の電子デバイスを遠隔制御し、該方法は、
サーバを発見することと、
該コントローラにより維持される制御構成に関連するデータを該サーバへ伝送することと、
その後該サーバにより維持される制御構成に従って1つ以上の電子デバイスを制御することと
を包含する、方法。
(項目72)
上記伝送することが、上記サーバとの前回の同期以後に発生した1つ以上のイベントに関連するデータを該サーバへ伝送することを包含する、項目71に記載の方法。
(項目73)
上記伝送することが、ユーザ入力に応答して上記コントローラにより維持される制御構成に関連するデータを上記サーバへ伝送することを包含する、項目71に記載の方法。
(項目74)
上記サーバを発見することが、
クエリーメッセージを伝送することと、
該クエリーメッセージに対する応答を受け取るために一定時間待機することと
を包含する、項目71に記載の方法。
(項目75)
1つ以上の電子デバイスを遠隔操作するための装置であって、
ネットワーク上での通信に適合するネットワークインターフェイスと、
ユーザ入力を受け取るように適合されるユーザインターフェイスと、
該ネットワークインターフェイスおよび該ユーザインターフェイスに連結され、該ユーザ入力に応答してコマンドを実行するよう適合された制御論理と
を備え、該制御論理は、該ネットワークに通信可能なように連結されたサーバを発見し、該装置により維持される制御構成に関連するデータを該サーバへ伝送し、その後、該装置により維持される該制御構成に従う代わりに該サーバにより維持される制御構成に従って該1つ以上の電子デバイスを制御するようさらに適合される、装置。
(項目76)
上記ネットワークインターフェイスがトランシーバを備える、項目75に記載の装置。
(項目77)
上記トランシーバがIEEE 802.3イーサネット(登録商標)プロトコルに準拠する通信に適合される、項目76に記載の装置。
(項目78)
上記トランシーバがブルートゥースプロトコルに準拠する無線通信に適合される、項目76に記載の装置。
(項目79)
上記トランシーバがIEEE 802.11プロトコルに準拠する無線通信に適合される、項目76に記載の装置。
(項目80)
上記制御論理が、上記サーバとの前回の同期以後に発生した1つ以上のイベントに関連するデータを該サーバへ伝送するよう適合される、項目75に記載の装置。
(項目81)
上記制御論理が、ユーザ入力に応答して上記装置により維持される制御構成に関連するデータを上記サーバへ伝送するよう適合される、項目75に記載の装置。
(項目82)
上記制御論理が、上記ネットワークインターフェイスを介してクエリーメッセージを伝送することと、該クエリーメッセージに対する応答を受け取るために一定時間待機することとによって、上記サーバを発見するよう適合される、項目75に記載の装置。
(項目83)
システムであって、
電子デバイスと、
ネットワークを介して該電子デバイスに通信可能なように連結されたコントローラであって、該コントローラは該ネットワークを介して該電子デバイスを遠隔制御するように適合される、コントローラと、
該ネットワークを介して該電子デバイスおよび該コントローラを通信可能なように連結されたサーバと、
を備え、該コントローラは、該サーバを発見し、該コントローラにより維持される制御構成に関連するデータを該サーバへ伝送し、その後、該コントローラにより維持される該制御構成に従う代わりに該サーバにより維持される制御構成に従って該電子デバイスを制御するようさらに適合される、システム。
(項目84)
上記ネットワークが無線ローカルエリアネットワークを含む、項目83に記載のシステム。
(項目85)
上記コントローラが、IEEE 802.11リンクを介して上記ネットワークに通信可能なように連結される、項目83に記載のシステム。
(項目86)
上記コントローラが携帯情報端末またはウェブパッドのうちの1つを備える、項目83に記載のシステム。
(項目87)
上記電子デバイスが、コンピュータ、コンピュータ周辺機器、テレビ、ビデオカセットレコーダ、デジタル多用途ディスクプレーヤー、パーソナルビデオレコーダ、コンパクトディスクプレーヤー、ステレオレシーバ、電子サーモスタット、UPnPデジタルメディアレンダラおよび/またはサーバ、ランプ、またはビデオカメラのうちの1つを備える、項目83に記載のシステム。
(項目88)
上記コントローラが、上記サーバとの前回の同期以後に発生した1つ以上のイベントに関連するデータを該サーバへ伝送するよう適合される、項目83に記載のシステム。
(項目89)
上記コントローラが、ユーザ入力に応答して該コントローラにより維持される制御構成に関連するデータを上記サーバに伝送するよう適合される、項目83に記載のシステム。
(項目90)
上記コントローラが、上記ネットワーク上でクエリーメッセージを伝送することと、該クエリーメッセージに対する応答を受け取るために一定時間待機することとによって、上記サーバを発見するよう適合される、項目83に記載のシステム。
(項目91)
1つ以上の電子デバイスを遠隔操作するよう適合されるコントローラを、クライアントサーバモードから移行させるための方法であって、該コントローラはサーバにより維持される制御構成に従って該1つ以上の電子デバイスをスタンドアロンモードへ遠隔制御し、該方法は、
該サーバにより維持される該制御構成に関連するデータを該サーバから受け取ることと、
その後、該コントローラにより維持される制御構成に従って該1つ以上の電子デバイスを制御することと
を包含する、方法。
(項目92)
上記サーバから受け取った上記データのコピーを第2のコントローラへ伝送することをさらに含む、項目91に記載の方法。
(項目93)
1つ以上の電子デバイスを遠隔操作するための装置であって、
ネットワーク上での通信に適合するネットワークインターフェイスと、
ユーザ入力を受け取るように適合されるユーザインターフェイスと、
該ネットワークインターフェイスおよび該ユーザインターフェイスに連結され、該ユーザ入力に応答してコマンドを実行するよう適合された制御論理と
を備え、該制御論理は、該サーバにより維持される制御構成に関連するデータを該ネットワークに通信可能なように連結されたサーバから受け取り、その後、該サーバにより維持される該制御構成に従う代わりに該装置により維持される制御構成に従って該1つ以上の電子デバイスを制御するようさらに適合される、装置。
(項目94)
上記制御論理が、上記サーバから受け取った上記データのコピーを、上記ネットワークに通信可能なように連結された第2の装置へ伝送するようさらに適合される、項目93に記載の装置。
(項目95)
システムであって、
電子デバイスと、
ネットワークを介して該電子デバイスに通信可能なように連結されたコントローラであって、該ネットワークを介して該電子デバイスを遠隔制御するように適合された、コントローラと、
該ネットワークを介して該電子デバイスおよび該コントローラに通信可能なように連結されたサーバと、
を備え、該コントローラは、該サーバにより維持される制御構成に関連するデータを該サーバから受け取り、その後、該サーバにより維持される該制御構成に従うかわりに該コントローラにより維持される制御構成に従って該電子デバイスを制御するようさらに適合される、システム。
(項目96)
上記コントローラが、上記サーバから受け取った上記データのコピーを、上記ネットワークに通信可能なように連結された第2のコントローラへ伝送するようさらに適合される、項目95に記載のシステム。
【図面の簡単な説明】
【0020】
【図1】図1は、本発明の実施形態に従う、デバイス制御システムの要素を表している。
【図2】図2は、本発明の実施形態に従う、デバイス制御システムの特定の実装を図示する。
【図3】図3は、本発明の実施形態に従う、コントローラ実装例を表している。
【図4】図4は、本発明の実施形態に従う、コントローラにより格納され得る様々なソフトウェアライブラリの概念提示である。
【図5】図5は、本発明の実施形態に従う、デバイス制御システムにおいてコントローラを同期するための方法の流れ図を示す。
【図6】図6は、本発明の実施形態に従う、デバイス制御システムにおいてその他のコントローラを発見するための方法の流れ図を示す。
【図7】図7は、本発明の実施形態に従う、コントローラを同期するための同期プロトコルの流れ図を示す。
【発明を実施するための形態】
【0021】
(A.本発明の実施形態によるデバイス制御システム)
図1は、本発明の実施形態に従うデバイス制御システム例100を表している。デバイス制御システム例100は、例示目的のみのために示され、本発明を限定するものではないことを理解すべきである。デバイス制御システム例100のその他の実装は、本明細書に含まれる教示に基づいて当業者には明らかであり、本発明はそのようなその他の実装を対象とする。
【0022】
図1に示すように、デバイス制御システム例100は、複数のコントローラ102a乃至102nおよび1つ以上の電子デバイス104a乃至104nを含み、それらはそれぞれネットワーク106に通信可能なように連結されている。一実施形態において、ネットワーク106は、家庭内においてデバイスを通信可能なように接続するための家庭用ネットワークを備える。そのような実施形態に従って、ネットワーク106は例えば、家庭用電話回線ネットワーク、家庭用電力線ネットワーク、イーサネット(登録商標)ネットワーク、無線ネットワーク、または上記任意の組み合わせを備えることができる。しかしながら、本発明は家庭用ネットワークに限定されるものではなく、ネットワーク106は、ローカルエリアネットワーク(LAN)またはインターネットなどのワイドエリアネットワーク(WAN)を含むがこれらに限定されない、いかなる種類の家庭用または家庭用でないネットワークを備えてもよい。
【0023】
電子デバイス104a乃至104nのそれぞれは、家庭および/またはオフィス環境において使用できる、多岐にわたる遠隔操作可能な電子デバイスのうちの1つを備えることができる。例えば、電子デバイス104a乃至104nのそれぞれは、コンピュータ、コンピュータ周辺機器、テレビ(TV)、ビデオカセットレコーダ(VCR)、デジタル多用途ディスク(DVD)プレーヤー、パーソナルビデオレコーダ(PVR)、コンパクトディスク(CD)プレーヤー、ステレオレシーバ、電子サーモスタット、UPnPTMデジタルメディアレンダラおよび/またはサーバ、ランプ、またはビデオカメラのうち1つを備えることができる。しかしながら、これらの例は限定を意図するものではなく、その他の電子デバイスも本発明の範囲と精神内である。
【0024】
コントローラ102a乃至102nのそれぞれは、電子デバイス104a乃至104nのうち1つ以上を遠隔操作するよう適合される。特に、また本明細書でさらに詳しく論じるように、コントローラ102a乃至102nのそれぞれは、様々な電子デバイスを制御するためのユーザ設定可能な汎用インターフェイスを提供し、それらはそれぞれ異なるメーカーおよび/またはモデルタイプを有してよく、リモートデバイス制御のために異なる通信プロトコルをサポートしてよい。
【0025】
本発明の実施形態に従って、コントローラ102a乃至102nのそれぞれは1つ以上の電子デバイス104a乃至104nを制御するためのスタンドアロンインターフェイスを備える。代替の実施形態において、コントローラ102a乃至102nのそれぞれは、電子デバイス制御機能を行うため、ネットワーク106を介して通信可能なようにコントローラおよび電子デバイスと連結された、任意の制御サーバ108と連動して動作する。リモートコマンドおよび家庭用または家庭用でない環境におけるデバイスおよびアプリケーションの制御を提供する制御サーバ、コントローラおよびネットワークの詳細な例は、2002年6月27日に出願された、共同所有の同時継続米国特許出願第10/180,500号、発明の名称「Method,System,and Computer Program Product for Managing Controlled Residential or Non−residential Environments」にも見られ、参照することによりその全体が本明細書に組み込まれる。
【0026】
図2は、本発明の実施形態に従う、デバイス制御システム200の特定の実装を表している。デバイス制御システム200の様々な要素は、Krzyzanowskiらにより2003年3月14日に出願された、共同所有の同時継続米国特許出願第10/387,590号、発明の名称「Legacy Device Bridge for Residential or Non−Residential Networks」でさらに詳しく説明されており、参照することにより、完全に説明したかのようにその全体が本明細書に組み込まれる。
【0027】
図2に示すように、デバイス制御システム200は、ネットワーク202と通信可能なように連結された複数の電子デバイスを含み、その実施形態は無線LANを備える。携帯情報端末(PDA)206、タブレットPC208、PCベースのコンピュータシステム210、およびネットワークレディのビデオカメラ222などの電子デバイスは、TCP/IPなどのパケットベースの通信プロトコルによる通信に適合される。TV212、VCRおよび/またはDVDプレーヤー214、ステレオレシーバ216、電子サーモスタット218、ならびにランプ220および関連する照明システム制御インターフェイス226を含むレガシーコンシューマ電子デバイスはそのように適合されていないため、通信目的のためには赤外線(IR)またはシリアル通信プロトコルに依存しなければならない。レガシーデバイスブリッジ224aおよび224bは、パケットベースの通信プロトコルを使用するデバイスと、IRまたはシリアル通信プロトコルに排他的に依存するデバイスとの間の通信を容易にする、プロトコル変換機能を行う。
【0028】
図2において、PDA206、タブレットPC208、またはPCベースのコンピュータシステム210のそれぞれは、ネットワーク202に連結されたその他の電子デバイスのうち1つ以上を遠隔操作するためのコントローラを備えることができる。さらに、本発明の実施形態に従って、ネットワーク202に連結されたその他の電子デバイスのうち1つ以上でスタンドアロン制御を提供するために、複数のPDA206、タブレットPC208、またはPCベースのコンピュータシステム210を使用することができる。あるいは、これらのコントローラは、リモートデバイス制御機能を行うため、任意の制御サーバ204と連動して動作することができる。
【0029】
(B.本発明の実施形態によるコントローラ実装)
図3は、本発明の実施形態に従う、コントローラ102a乃至102n(本明細書では、総称的にコントローラ102とも称する)のうちの1つの実装例を図示する。図3に表されている実装例は例示目的のみのために提供され、本発明を限定するものではないことを理解すべきである。コントローラ102のその他の実装は、本明細書に含まれる教示に基づいて当業者には明らかであり、本発明はそのようなその他の実装を対象とする。
【0030】
図3に示すように、コントローラ102は、ユーザ入力を受け取りユーザへ情報を提供するためのユーザインターフェイス308、ネットワークへのアクセスを提供するためのネットワークインターフェイス306、および情報をCEデバイスへ伝送し、任意でそこからの情報を受け取るための任意のコンシューマ電子(CE)デバイスインターフェイス304を含む。ある実施形態において、ユーザインターフェイス308はタッチパネルディスプレイを介してユーザ入力を受け取るグラフィカルユーザインターフェイス(GUI)を備え、ネットワークインターフェイス306はIEEE802.11b、ブルートゥース、またはイーサネット(登録商標)プロトコルなどの通信プロトコルによるネットワーク通信に適合するプラグインまたはビルトイントランシーバを備え、任意のCEデバイスインターフェイス304は片方向IR送信機、あるいは双方向IRトランシーバを備える。
【0031】
図3に示すように、コントローラ102は、ユーザインターフェイス308、ネットワークインターフェイス306、およびCEデバイスインターフェイス304と通信可能なように連結した制御論理302をさらに含む。制御論理302は、本明細書でさらに詳しく説明するように、本発明の機能を実行するよう適合され、ピアツーピアモードで動作中に1つ以上のその他のコントローラで同期プロトコルを行うステップ、およびピアツーピアモードからクライアントサーバモードへの動作の移行に関する機能を行うステップを含むがこれらに限定されない。本明細書で提供される教示に基づいて当業者により理解されるように、制御論理302は、1つ以上の汎用プロセッサ、特定用途向け集積回路、または前述の組み合わせを使用して容易に実装され得る。
【0032】
コントローラ102は、通信可能なように制御論理と連結されたメモリ310を含んでもよい。ある実施形態において、メモリ310は、読み出し専用メモリ(ROM)などのスタティックメモリ、ランダムアクセスメモリ(RAM)などのダイナミックメモリ、ハードディスクドライブ、または前述の任意の組み合わせを備えることができる。本発明の実施形態に従って、メモリ310は、各実行のためのアプリケーションおよびデータを含み、制御論理302により処理を行う複数のソフトウェアライブラリを格納する。
【0033】
本発明のある実施形態において、コントローラ102は、本発明はそのように限定されるものではないが、PDA、タブレットコンピュータ、ウェブパッド、またはパーソナルコンピュータのうちの1つを備える。
【0034】
図4は、本発明の実施形態に従う、メモリ310に格納され得る様々なソフトウェアコンポーネントまたはライブラリの概念提示である。図4に示すように、そのようなコンポーネントは、オペレーティングシステムファームウェア402、ユーザインターフェイスファームウェア404、デバイス制御データベース404、デバイス構成データベース408、システム構成データベース410、ユーザ選択データベース412、コントローラ同期ソフトウェア414、およびイベントログ416を含む。これらの各コンポーネントについて、以下で論じる。
【0035】
オペレーティングシステムファームウェア402は、実行時、起動できるその他のコントローラアプリケーション上にプラットフォームを提供し、コントローラ入力/出力(I/O)およびファイル管理に関連する機能などの基本機能を行う。ユーザインターフェイス404は、実行時、ユーザインターフェイス308の様々なプログラム可能な側面の実装および管理を提供する。
【0036】
デバイス制御データベース406は、様々な電子デバイスを遠隔操作するための所定のコマンドおよびコードのセットを、そのようなデバイス固有の制御挙動に関するメタデータと同様に、格納する。本発明のある実施形態において、コントローラ102は、デバイス制御データベース406に格納するため、ネットワーク106を介してデバイスコマンドコードおよびメタデータをダウンロードすることができる。そのような機能性の詳しい説明は、Krzyzanowskiらにより2003年9月26日に出願された、米国暫定特許出願第60/505,851号、発明の名称「Device Control System,Method and Apparatus」において提供され、参照することにより、完全に説明したかのようにその全体が本明細書に組み込まれる。そのようなコマンドコードおよびメタデータは、例えばCD‐ROMに格納されたライブラリから得られる、上述のようにネットワーク106を介してダウンロードされる、もしくはエンドユーザとの指示された対話を通じて、または経験によって「学習する」ことができる(例えば、先行するユーザ制御方法の分析)。
【0037】
ソフトウェアライブラリ408、410および412は、概して、コントローラ102の動作のユーザカスタマイズまたは個別の側面およびデバイス制御システム100全体に関する情報を格納するデータベースを備える。特に、デバイス構成データベース408は、デバイス状況およびその他の動作情報を含む、デバイス制御システム100の一部として実際に認識されたデバイスに関するデータを含む。
【0038】
システム構成データベース410は、ユーザ認可、位置管理、およびデバイス発見等、システム管理の様々な側面に関するデータを含む。ユーザ認可設定は、システムユーザがデバイスを制御する、または特定の位置に観念する制御デバイスを制御するのを、選択的に許可するまたは禁止するために使用することができる。位置管理データは、デバイス制御システム100内の1つ以上の部屋または制御区域に対するデバイスの定義および割り当てに関連する。デバイス発見データは、コントローラ102のネットワーク106上にあるデバイスの存在を検出する能力およびそれに関する維持状況情報に関するデータである。例えば、本発明の実施形態によるコントローラ102は、ネットワーク106上に現れるデバイスを自動的に発見しそれについて状況情報を得るため、UpnPTMプロトコルまたは専用プロトコルを使用することができる。
【0039】
ユーザ選択データベース412は、コントローラ102およびデバイス制御システム100内の制御されるデバイスの動作に関する様々なユーザ特定選択に関するデータを含む。ユーザ選択は、例えばテレビ鑑賞用のお気に入りチャンネルまたは特定のグラフィカルユーザインターフェイス(GUI)、またはコントローラ102の「スキン」を含むことができる。
【0040】
本明細書でさらに詳しく説明するように、コントローラ同期ソフトウェア414およびイベントログ416はコントローラ102により使用され、コントローラ102とデバイス制御システム100内のその他1つ以上のコントローラとの間で、そのようなコントローラがスタンドアロンまたはピアツーピアモードで動作している場合に、確実に同期するプロトコルを行う。さらに、また本明細書においても詳しく説明するように、これらのコンポーネントは、コントローラ102をピアツーピアネットワーク環境からサーバベースのネットワーク環境へ移行させるための手段に加え、コントローラ102とその他のコントローラとの間のカスタム構成情報を転送するための手段をさらに提供することができる。
【0041】
(C.本発明の実施形態によるピアツーピアモードにおけるコントローラ同期)
上述したように、デバイス制御システム100において、複数のコントローラ102a乃至102nは、1つ以上の同じ電子デバイスを制御するため、複数のユーザにより動作され得る。これらのコントローラがスタンドアロンモードで動作している場合、コントローラを調整する必要が生じる。複数のコントローラの動作を調整するためのいかなる手段もなければ、各コントローラは自立的におよび互いに無関係に動作するため、結果として制御カオスが起こるであろう。
【0042】
例えば、デバイス制御システム100が家庭において実装されると仮定する。2階の部屋に位置する第1のユーザは、つけたままになっていると思われる、地階にあるテレビを消したい。コントローラ102aを使用して、第1のユーザはネットワーク106を介して地階のテレビに「電源オン/オフ」信号を送信する。しかしながら、第1のユーザが地階のTVについて思い違いをしていた場合、ことによると第2のユーザがコントローラ102bを使用して既に消したかもしれず、第1のユーザにより送信された「電源オン/オフ」信号は、意図したものと反対の効果を有する操作によりTVをつけるという結果になるであろう。
【0043】
したがって、デバイス制御システム100において、コントローラ102a乃至102nのそれぞれは、家庭またはオフィスなどの共通制御領域にある1つ以上の電子デバイスの、調整された効果的な動作を確実にするために、その他のコントローラと通信を行うように適合される。結果として、各コントローラは、その他のユーザにより動作されるいくつかのコントローラを含むシステムにおいて機能することができる。特定の実施形態において、各コントローラは、ある一定の制御環境において動作するその他のコントローラとの直接のネットワーク接続性を有し、そのようなその他のコントローラと同期する。
【0044】
この同期を行うため、コントローラ102a乃至102nのそれぞれはタイムスタンプされたイベントのログ416を維持する(図4参照)。各イベントはいくつかのシステム状況のうち、追加、変更、または削除の記録を備える。ある実施形態において、システム状況全体は様々なサブカテゴリに分類される。これらのサブカテゴリは、
(1)ユーザ設定:ユーザの追加または削除、パスワードの変更、TV鑑賞のためのお気に入りチャンネルの認識、特定のコントローラGUI(または「スキン」)の選択等を含むがこれらに限定されない、ユーザ定義のパラメータに関する状況情報;
(2)デバイスモジュール:デバイステンプレートへの追加、削除、または変更、デバイスドライバ、もしくはデバイスコードデータベースを含むがこれらに限定されない、特定のデバイスのための制御パラメータに関する状況情報(本明細書で使用する場合、「デバイステンプレート」という用語はデバイス挙動に関するパラメータのことを指し、「デバイスドライバ」という用語は特定のデバイスと通信を行うために必要なソフトウェアのことを指し、上述したように、デバイスコードデータベースは、IRまたはシリアルコードなどのデバイスのための制御コードマッピングを含む);および、
(3)構成:デバイス部屋割り、部屋定義、デバイス構成および接続性への追加、削除または変更を含むがこれらに限定されない、カスタマイズされたシステムまたはデバイス構成パラメータに関する状況情報
を含むことができる。各イベントがイベントログ416へ入力されると、イベントが発生した時刻を示すタイムスタンプと関連付けられる。
【0045】
状態変化は、本発明によるシステムがその経過を記録し同期目的のために伝播するイベントのことをいう。デバイスの場合、そのような状態変化は、状態変数、制御コード、およびガイドデバイス制御のためのスクリプトへの変化を伴うことができる。状態変数は、入力選択(例えば、レシーバはDVDプレーヤーからの入力を受け入れるように設定されてよい)、オン/オフ状態(例えば、TVはオンであってよい)、またはチューナー選択(例えば、TVはチャンネル3に設定されてよい)を含むことができる。制御コードは、コンシューマ電子デバイスの遠隔操作のためのIR制御コードなどの、構成されたデバイスを制御するために使用されるコードである。これらは一般に静的であるが、そのようなコードは、そのデバイスが初めてシステムに導入された時刻にコントローラへ伝播されなくてはならず、コントローラが制御コードの特定のセットを再学習するよう要求される時もあってよい。ガイドデバイス制御のためのスクリプトは、デバイス機能を定義し、状態変数の経過を記録し、制御コードを適切な制御モジュールに回送する(例えば、IRコードを特定のレガシーデバイスブリッジへ伝送する)ための、XMLスクリプトのようなスクリプトのことをいう。
【0046】
状態変化は、経験を定義するスクリプトへの変化をさらに伴うことができる。例えば、本発明のある実施形態において、経験(DVDを観る、またはCDを聴く等)内の制御は、セットアッププロセスの間に発生する質問および返答プロトコル中のユーザ応答に基づいて、基本テンプレートから生成されたスクリプト、またはマクロにより定義される。例えば、DVDを観るという状況において、マクロ「オン」は「TVをオンにする」「DVDプレーヤーをオンにする」「レシーバをオンにする」「レシーバをDVD入力にセットする」および「TVをビデオ2入力にセットする」であると定義されるかもしれない。これらの各コマンドは、マクロの呼び出しに応じて適切なデバイススクリプトへ伝送される。
【0047】
状態変化は、タイマー、時限アクション、トリガー、およびトリガーアクションへの変化も含むことができる。タイマーすなわちアラームは、特定のスクリプトの実行に関連する時刻(例えば、午後11:00にTVを消す)のことをいう。関連するスクリプトすなわち時限アクションは、アラーム時刻が実時間と等しくなったときに実行される。トリガーは、状態変数変化の、特定のスクリプトの実行との関連付け(例えば、TVがついたら必ず明かりを消す)のことをいう。関連するスクリプト、すなわちトリガーアクションは、モニターされている状態変数が変化したときに実行される。本発明によるシステムにおいて、タイマー、トリガー、および関連するスクリプトはユーザプログラム可能な機能である。このような機能性の詳しい説明は、Krzyzanowskiらにより同封にて出願する、共同所有の米国特許出願番号未定[代理人整理番号2100.0030004]、発明の名称「Method,System,and Computer Program Product for Automatically Managing Components within a Controlled Environment」において提供され、参照することにより、完全に説明したかのようにその全体が本明細書に組み込まれる。
【0048】
状態変化は、ユーザ、部屋、および部屋内のデバイスの定義、部屋およびデバイスへのユーザのアクセス権、ならびにユーザインターフェイスを定義するビットマップおよびスクリーンレイアウト(時に「スキン」と称される)の収集等、様々な構成パラメータへの変化をさらに含むことができる。
【0049】
図5は、本発明の実施形態に従う、デバイス制御システムにおいてコントローラを同期するための方法の流れ図500を示す。しかしながら本発明は、流れ図500により提供される説明に限定されるものではない。むしろ、本明細書において提供される教示に基づいて、当業者にはその他の機能を示すフローが本発明の範囲と精神内であることが明らかであろう。流れ図500について、図1に関連して上述したシステム例100を引き続き参照し、説明する。しかしながら、本発明はこの実施形態に限定されるものではない。
【0050】
最初のステップ502において、ユーザはコントローラ102aの電源を入れる。電源が入ったことを受けて、コントローラ102aは最初の発見プロトコル504を行い、これによりコントローラ102aはデバイス制御システム100内にその他のアクティブコントローラがあるか否かを判断する。この発見プロトコルを実装する少なくとも1つの方式については、本明細書において別途提供する。
【0051】
利用可能なその他のコントローラがある場合、コントローラ102aは次いでその利用可能なコントローラの1つとの同期プロトコル506を行う。同期ステップ506は、コントローラ102aが、状態情報を受け取るかデバイス制御システム100内の別のコントローラと交換することによって、イベントログを含むその内部に格納された状態を更新するプロセスである。同期ステップ506を行うためのプロトコルついては、本明細書において別途提供する。事実上、1つを超えるその他のコントローラが利用可能であっても、同期ステップ506を行うためにその他のコントローラのうちのいずれが選択されるかということは問題にならないはずである。したがって、その他のコントローラは恣意的に選択され得る。あるいは、その他のコントローラはその他の基準で選択されてもよい。例えば、その他のコントローラは、その他のコントローラと通信を行うための予測応答時間などの、ネットワーク接続性に関連する、あるパラメータに基づいて選択され得る。
【0052】
同期506の後、コントローラ102aは、その他のコントローラがもしあるならば、そのいずれが現在システムにおいて利用可能であるかを判断するため、ステップ524においてコントローラ102aのパワーダウンが発生する時などまで、定期的に発見ステップ508を行う。本発明の実施形態に従って、コントローラ102a乃至102nのそれぞれは知られているピア(すなわち、その他のコントローラ)すべてのメモリ内においてテーブルを維持する。各ピアについて、コントローラは、現在の接続性情報や、当該ピアとの前回の同期の時刻を格納する。例えば、現在の接続性情報は、IPアドレス、前回の発見時刻、および最新の発見試行が、このデバイスが利用可能であると判断したか否かの指示等、ピアのためのネットワークアドレスを含むことができる。
【0053】
図5に示すように、定期的な発見試行508の間において、コントローラ102aが1つ以上の状態変化510を生成することができる、コントローラ102aが1つ以上の状態変化を別のコントローラ514から受け取ることができる、コントローラ102aが別のコントローラ516のための同期要求を受け取ることができる、またはコントローラ102aがパワーダウン522され得る、という少なくとも4つのその他のイベントが発生し得る。
【0054】
コントローラ102aは、コントローラの内部構成を変化させるため、または遠隔制御される電子デバイス104a乃至104nの構成を変化させるために、ユーザがコントローラを使用した結果として、1つ以上の状態変化510を生成することができる。またコントローラは、その構成または遠隔制御される電子デバイスの構成を、特定のイベントの発生またはある一定の所定の日時への到達に応じて等、自動的に変化させるようプログラムされ得る。いずれかの場合において、ステップ512に示すように、イベントログ416は更新され、状態変化情報はデバイス制御システム512内の利用可能なすべてのコントローラに伝送される。ある実施形態において、状態変化情報の伝送はイベントログ416からの入力の伝送を含む。このステップの結果として、状態変化発生後まもなく、その他の利用可能なコントローラの状態はコントローラ102aと同期される。
【0055】
コントローラ102aは、デバイス制御システム100内にあるその他のアクティブコントローラから状態変化情報514を受け取ることもできる。この状態変化情報は、いずれかの別のコントローラまたは共通制御の電子デバイスに適用された構成変化と関連してよい。いずれかの場合において、コントローラ102aは、ステップ516に示すように、そのような受け取った情報に基づいてそのイベントログ416を更新するであろう。ある実施形態において、状態変化情報の受信は、別のコントローラのイベントログからの入力の受信を含む。
【0056】
コントローラ102aは、最近電源を入れられたアクティブコントローラ等、デバイス制御システム100内にある別のアクティブコントローラから同期要求518を受け取ることもできる。この場合、ステップ520に示すように、コントローラ102aはその他のコントローラとの同期プロトコルを行うであろうし、この実装については本明細書においてさらに詳しく説明する。
【0057】
コントローラ102aは、また、いつでもパワーダウン522され得る。パワーダウンは、ユーザ、長時間の非活動を受けてパワーダウンするためのコードなどの内部制御論理、もしくはシステムワイドなパワーダウンまたはリセットコマンドを発行できるネットワーク付属デバイスなどの別のデバイスによって開始され得る。いずれの場合にも、これはコントローラ102aが電源オフ状態524を入力し、それによって同期プロトコル500を終了するという結果を引き起こすであろう。
【0058】
図6は、図5を参照して上述した発見ステップ504および508を行うための1つの方法を示す流れ図600を示す。この方法は、ほんの一例として提供され、限定的なものではない。この方法は、ステップ602において開始される。ステップ604において、コントローラ102aはネットワーク106を介してクエリーメッセージを1つ以上のその他のコントローラへ伝送する。ある実施形態において、コントローラ102aはネットワーク全体にわたってクエリーメッセージを送信する。ステップ606において、コントローラ102aは、アクティブであり通信可能なようにネットワーク106と連結されたその他のコントローラから応答を受け取るために一定時間待機する。ステップ608において、コントローラ608は、もしあるとすればステップ606の間に、コントローラアベイラビリティに関する内部格納されたデータを受け取った応答に基づいて更新する。本発明のある実施形態において、コントローラ102aは、知られているすべてのピアの内部格納されたテーブルにおいてアベイラビリティデータを更新することにより、このステップを行う。ステップ610において、発見プロトコルは終了される。
【0059】
図7は、図5中のステップ504および520を参照して上記で言及した同期プロトコルを行うための1つの方法を示す流れ図700を示す。本明細書において説明したものなどの同期プロトコルは、電源が切られているか、そうでなければ状態変化情報が伝送された際にネットワーク106から切断されているために、そのような状態変化情報を受け取れないコントローラを処理するのに必要である。本明細書で提供される教示に基づいて当業者により理解されるように、プロトコル700に従って同期する能力は、部分的に、同期クロックを有する各コントローラに依存する。コントローラ間にクロックスキューがある限り、これは接続性において補正され得る。
【0060】
第1のコントローラ102aおよび第2のコントローラ102bを参照して流れ図700の方法を説明するが、コントローラ102aは同期を要求したものである。上述したように、ある実施形態において、コントローラ102aはパワーアップ後まもなく同期を要求する。
【0061】
同期は、ステップ702において開始される。ステップ704において、第1のコントローラ102aは、コントローラ102bとの前回の同期以後に発生した1つ以上のイベントまたは状態変化に関わる情報を第2のコントローラ102bへ伝送する。ある実施形態において、このステップは、コントローラ102bとの前回の同期以後、コントローラ102aによって記録されていたイベントすべてのログの伝送を伴う。ステップ706において、第1のコントローラ102aは、第2のコントローラ102bから、コントローラ102aとの前回の同期以後に発生した1つ以上のイベントに関する情報を受け取る。ある実施形態において、このステップは、コントローラ102aとの前回の同期以後、コントローラ102bによって記録されていたイベントすべてのログの受け取りを伴う。電源を切られたコントローラは報告すべきいかなる状態変化も有さないため、上記コントローラ間のダイアログはほとんどの場合に一方向であることが予測される。
【0062】
ある実施形態において、コントローラ間で交換されるイベントログは、各コントローラによってログからの上書き動作を省略することにより、最適化される。例えば、ログがあるTVがつけられたことを示す第1の入力および同じTVが消されたことを示す第2の入力を含む場合、前者の入力は不要であり、よってログから削除される。
【0063】
ステップ708において、コントローラ102aは、コントローラ102bからいずれかのイベントを受け取ったか否かを判断する。イベントを受け取っていない場合、ステップ722において同期プロトコルが終了する。しかしながら、1つ以上のイベントを受け取った場合、ステップ710に示すように、コントローラ102aは受け取ったイベントを調べる。コントローラ102aは次いで、受け取ったイベントが以前に記録されたイベントと矛盾するか否かを判断する。コントローラ102aだけがパワーダウンされ、コントローラ102bはシステム状態の観点で完全にカレントである状況においては、矛盾は生じず受け取ったすべての入力が受け入れられることが予測される。
【0064】
しかしながら、両方のコントローラが新しい状態変化を生成したか、あるいは同期できなかった場合、矛盾が生じることがある。例えば、コントローラ102aは、コントローラ102bがパワーダウンされている間、特定のデバイスへの特定のユーザアクセスを承諾するために使用されたかもしれない。コントローラ102aが次いでパワーダウンされ、コントローラ102bがパワーアップして、同じデバイスにアクセスし制御するために、同じまたは別のユーザに使用されたかもしれない。そのような事情はコントローラ102aと102bとの間に矛盾を生じさせるであろう。このような矛盾が発生している場合、より最近のタイムスタンプに関連付けられたイベントが優勢となる。したがって、例えばコントローラ102aが、あるTVの状態が9:42:30に「オン」になるよう設定されたことを示す新しいログ入力を含み、コントローラ102bが、同じTVの状態が9:59:10に「オフ」になるよう設定されたことを示す新しい入力ログを含む場合、コントローラ102aはコントローラ102bからの状態変更を受け入れるであろうが、コントローラ102bはコントローラ102aからの変更を拒否し、相互に矛盾のない状態となるであろう。
【0065】
この機能性はステップ712において図示されており、コントローラ102aは受け取ったイベントが以前に記録されたイベントと矛盾するか否かを判断する。矛盾していない場合、コントローラ102aはステップ716に示すように受け取ったイベントを受け入れ、状態変更情報をそのイベントログ416へ入力する。矛盾が確認された場合、コントローラ102aは、ステップ714に示すように、以前に記録されたイベントが受け取ったイベントより後のタイムスタンプに関連付けられているか否かを判断する。そうである場合、コントローラ102aはステップ716に示すように受け取ったイベントを受け入れる。そうでない場合、コントローラ102bはステップ718に示すように受け取ったイベントを受け入れない。
【0066】
本発明の実施形態に従って、図716に示すような状態変更情報の受け入れは、様々なユーザ設定、デバイスモジュール、またはコントローラ/デバイス/システム構成の追加、削除、または変更のアプリケーションも含む。ある実施形態において、コントローラ102aのユーザは、そのようないかなる追加、削除または変更もそれらが適用される前に確認するよう指示され得る。
【0067】
受け取ったイベントがステップ716で受け入れられるかステップ718で拒否されるかのいずれかであると、コントローラ102aは、ステップ720に示すように、受け取った分析すべきイベントがそれ以上あるか否かを判断する。ある場合、プロトコルはステップ710において次に受け取ったイベントの分析を続ける。そうでない場合、ステップ722に示すように同期プロトコルは終了する。
【0068】
前述のプロトコルに関して、コントローラ102aは、前回の同期時刻の記録を有さない、またはコントローラ102bから受け取ったイベントのそれぞれに関連付けられたタイムスタンプより早い前回の同期時刻を有する新たに導入されたユニットを含んでよいことに留意されたい。ある実施形態において、この状況は、受け取ったイベントログを完全に無視することによって、またその代わりに完全な構成状態をコントローラ102bからコントローラ102aへ単に伝播させることによって、処理される。
【0069】
上述の同期プロトコルによって、デバイス制御システム100のコントローラ102a乃至102nのそれぞれは、デバイス状態情報を更新し、そのそれぞれのユーザに、共通制御領域にある様々な電子デバイス104a乃至104nの現在の状態を通知することができる。
【0070】
さらに、本発明の同期方法は、コントローラにデバイス制御データベース情報を更新させるために使用されてもよい。例えば、あるユーザが新しいコントローラを追加したい、または古いコントローラを新しいものと取り替えたい場合、新しいコントローラは制御環境において電子デバイスを制御するよう容易に構成され得る。具体的には、現存するコントローラのデータベースは、本発明の実施形態に従って同期操作を実装することにより、無線ネットワークなどのネットワーク上で新しいコントローラへ転送され得る。
【0071】
本発明の実施形態に従って、同期プロトコルは、実行可能コードを含むデバイス制御ライブラリなどのデバイス制御ライブラリを、あるコントローラから別のコントローラへ伝播させるために使用してもよい。そのような機能性は、特にJava(登録商標)ベースのシステムにおいて有効となり得る。
【0072】
(D.本発明の実施形態によるピアツーピアからクライアントサーバモードへの移行)
本発明の実施形態に従って、コントローラ102をスタンドアロンモードから、他のそのようなコントローラなどのコントローラがクライアントまたはユーザインターフェイスとしての役割を果たすクライアントサーバ環境へ、または必須の操作可能なファームウェアおよびデータベースを格納するセントラルサーバ108へ移行させることができる。
【0073】
セントラルサーバ108がネットワーク106に追加される場合、コントローラ102のデータベースは、コントローラ102(現在のクライアント)上の更新されたデータを制御サーバ108の対応するデータベースに追加できるようにするセントラルサーバ108と同期され得る。クライアントサーバモードの動作において、コントローラ102a乃至102nは制御サーバ108のためのユーザインターフェイスとして作用する。例えば、コントローラ102a乃至102nのそれぞれは、ユーザの制御要求を実行するために制御サーバ108へ転送し、制御サーバ108からGUI情報を得る。
【0074】
前項で論じた発見プロセスの一部として、コントローラ102はネットワーク106上において制御サーバ108の存在を発見することができる。これは、インフラストラクチャがピアツーピア環境からクライアントサーバ環境に移行したことを示すものである。このモードにおいて、コントローラ102は、主として制御サーバ108に格納されているすべてのユーザおよびデバイス構成情報、デバイス制御モジュール、ならびに状態変数とのユーザインターフェイス端末として機能する。
【0075】
コントローラ102は、制御サーバ108を初めて検出した場合、その構成データのすべてまたは一部を制御サーバ108へ送信するか否かを判断しなければならない。これは、前項で説明した同期プロトコルと同様のプロトコルを使用して遂行できる。コントローラ102と制御サーバ108があらかじめ同期していた場合、コントローラ102はその同期時刻以降に記録されたイベントのみを送信する。コントローラ102と制御サーバ108が同期されていない場合、コントローラ102はその全体構成を制御サーバ108に送信する。このプロセスは、一方向性であり、コントローラ102へ制御サーバ108はいかなる更新も送信しない。同期完了後、コントローラ102はその構成を取り消し、クライアントサーバモードに切り替え、任意の情報を求めて、または任意のコマンドを伝送するために、制御サーバ108に接触するであろう。
【0076】
上述した実施形態において、スタンドアロンモードからクライアントサーバ環境への移行は、ネットワーク106上で制御サーバ108の存在が検出されると自動的に開始される。しかしながら、代替の実施形態において、移行の開始は、自動的とは対照的にユーザプロンプトである。そのような実施形態は、ネットワーク上で制御サーバが検出された場合であってもユーザがピアツーピア動作を保持したがる状況に適応する。結果として、ネットワーク上に制御サーバがあっても、ピアツーピア環境が存在することができる。移行プロセスのユーザプロンプト制御は、コントローラまたはネットワーク106に通信可能なように連結されたその他のデバイスへの1つ以上のコマンド入力を含んでもよい。ある実施形態において、ユーザはシステムに、ユーザがサーバベースのシステムに切り替えることを決定するまで制御サーバを単に無効にするか無視するよう指示する。
【0077】
代替の実施形態において、ピアツーピア動作を維持するため、ユーザは自動的に開始されたピアツーピアからサーバベースの環境への移行プロセスを終了する能力を提供される。
【0078】
本発明のさらなる実施形態に従って、1つ以上のコントローラ102を上述した環境などのクライアントサーバ環境からピアツーピアまたはスタンドアロンモードへ移行することもできる。そのような実施形態において、セントラルサーバ108は、セントラルサーバ108がネットワーク106から離れる、またはコントローラに利用できないようにレンダリングされる前に、状態変更データを同期目的のためのコントローラのうち少なくとも1つへダウンロードするよう構成される。状態変更を受け取るコントローラは、その他すべてのコントローラに状態変更データを転送するため、次いで本明細書に別途記載のプロトコルなどのピアツーピア同期プロトコルに従事するよう構成される。そのようなシステムを実装するため、各コントローラは、ダウンロードデータを受け取り使用するための適切なメモリを含む十分な容量を有することが推測される。
【0079】
(E.結論)
本発明の様々な実施形態について説明したが、それらは例示目的のみのために提示したものであり、限定目的でないことを理解すべきである。当業者には、添付の特許請求の範囲において定義されるような本発明の精神と範囲から逸脱することなく、形式上および詳細における様々な変更を行い得ることが理解されるであろう。したがって、本発明の幅と範囲は上述の例となる実施形態のいずれによっても限定されるべきでなく、以下の特許請求の範囲および同等のものによってのみ定義されるべきである。

【特許請求の範囲】
【請求項1】
1つ以上の電子デバイスを遠隔操作するように構成されたコントローラをスタンドアロンモードからクライアントサーバモードに移行させる方法であって、該コントローラは、スタンドアロンモードのコントローラによって維持される制御構成に従って1つ以上の電子デバイスを遠隔制御し、
該方法は、
サーバを発見することと、
該コントローラによって維持される制御構成に関連するデータを該サーバに伝送することと、
その後、該サーバによって維持される制御構成に従って1つ以上の電子デバイスを制御することと
を包含する、方法。
【請求項2】
前記伝送することが、前記サーバとの前回の同期以後に発生した1つ以上のイベントに関連するデータを該サーバに伝送することを包含する、請求項1に記載の方法。
【請求項3】
前記伝送することが、ユーザ入力に応答して前記コントローラによって維持される制御構成に関連するデータを前記サーバに伝送することを包含する、請求項1に記載の方法。
【請求項4】
前記サーバを発見することが、
クエリーメッセージを伝送することと、
該クエリーメッセージに対する応答を受け取るために一定時間待機することと
を包含する、請求項1に記載の方法。
【請求項5】
1つ以上の電子デバイスを遠隔操作する装置であって、
該装置は、
ネットワークを介して通信を行うように構成されたネットワークインターフェイスと、
ユーザ入力を受け取るように構成されたユーザインターフェイスと、
該ネットワークインターフェイスおよび該ユーザインターフェイスに結合され、該ユーザ入力に応答してコマンドを実行するように構成された制御論理と
を備え、
該制御論理は、該ネットワークに通信可能に結合されたサーバを発見し、該装置によって維持される制御構成に関連するデータを該サーバに伝送し、その後、該装置によって維持される該制御構成に従う代わりに、該サーバによって維持される制御構成に従って該1つ以上の電子デバイスを制御するようにさらに構成されている、装置。
【請求項6】
前記ネットワークインターフェイスがトランシーバを備える、請求項5に記載の装置。
【請求項7】
前記トランシーバが、IEEE 802.3イーサネット(登録商標)プロトコルに準拠する通信を行うように構成されている、請求項6に記載の装置。
【請求項8】
前記トランシーバが、ブルートゥースプロトコルに準拠する無線通信を行うように構成されている、請求項6に記載の装置。
【請求項9】
前記トランシーバが、IEEE 802.11プロトコルに準拠する無線通信を行うように構成されている、請求項6に記載の装置。
【請求項10】
前記制御論理が、前記サーバとの前回の同期以後に発生した1つ以上のイベントに関連するデータを該サーバに伝送するように構成されている、請求項5に記載の装置。
【請求項11】
前記制御論理が、ユーザ入力に応答して前記装置によって維持される制御構成に関連するデータを前記サーバに伝送するように構成されている、請求項5に記載の装置。
【請求項12】
前記制御論理が、前記ネットワークインターフェイスを介してクエリーメッセージを伝送することと、該クエリーメッセージに対する応答を受け取るために一定時間待機することとによって、前記サーバを発見するように構成されている、請求項5に記載の装置。
【請求項13】
システムであって、
電子デバイスと、
ネットワークを介して該電子デバイスに通信可能に結合されたコントローラであって、該コントローラは、該ネットワークを介して該電子デバイスを遠隔制御するように構成されている、コントローラと、
該ネットワークを介して該電子デバイスおよび該コントローラに通信可能に結合されたサーバと
を備え、
該コントローラは、該サーバを発見し、該コントローラによって維持される制御構成に関連するデータを該サーバに伝送し、その後、該コントローラによって維持される該制御構成に従う代わりに、該サーバによって維持される制御構成に従って該電子デバイスを制御するようにさらに構成されている、システム。
【請求項14】
前記ネットワークが無線ローカルエリアネットワークを含む、請求項13に記載のシステム。
【請求項15】
前記コントローラが、IEEE 802.11リンクを介して前記ネットワークに通信可能に結合されている、請求項13に記載のシステム。
【請求項16】
前記コントローラが、携帯情報端末またはウェブパッドのうちの1つを備える、請求項13に記載のシステム。
【請求項17】
前記電子デバイスが、コンピュータ、コンピュータ周辺機器、テレビ、ビデオカセットレコーダ、デジタル多用途ディスクプレーヤー、パーソナルビデオレコーダ、コンパクトディスクプレーヤー、ステレオレシーバ、電子サーモスタット、UPnPデジタルメディアレンダラおよび/またはサーバ、ランプ、またはビデオカメラのうちの1つを備える、請求項13に記載のシステム。
【請求項18】
前記コントローラが、前記サーバとの前回の同期以後に発生した1つ以上のイベントに関連するデータを該サーバに伝送するように構成されている、請求項13に記載のシステム。
【請求項19】
前記コントローラが、ユーザ入力に応答して該コントローラによって維持される制御構成に関連するデータを前記サーバに伝送するように構成されている、請求項13に記載のシステム。
【請求項20】
前記コントローラが、前記ネットワークを介してクエリーメッセージを伝送することと、該クエリーメッセージに対する応答を受け取るために一定時間待機することとによって、前記サーバを発見するように成されている、請求項13に記載のシステム。
【請求項21】
1つ以上の電子デバイスを遠隔操作するように構成されたコントローラをクライアントサーバモードから移行させる方法であって、該コントローラは、サーバによって維持される制御構成に従って該1つ以上の電子デバイスをスタンドアロンモードに遠隔制御し、
該方法は、
該サーバによって維持される該制御構成に関連するデータを該サーバから受け取ることと、
その後、該コントローラによって維持される制御構成に従って該1つ以上の電子デバイスを制御することと
を包含する、方法。
【請求項22】
前記サーバから受け取った前記データのコピーを第2のコントローラに伝送することをさらに含む、請求項21に記載の方法。
【請求項23】
1つ以上の電子デバイスを遠隔操作する装置であって、
該装置は、
ネットワークを介して通信を行うように構成されたネットワークインターフェイスと、
ユーザ入力を受け取るように構成されたユーザインターフェイスと、
該ネットワークインターフェイスおよび該ユーザインターフェイスに結合され、該ユーザ入力に応答してコマンドを実行するように構成された制御論理と
を備え、
該制御論理は、該サーバによって維持される制御構成に関連するデータを該ネットワークに通信可能に結合されたサーバから受け取り、その後、該サーバによって維持される該制御構成に従う代わりに、該装置によって維持される制御構成に従って該1つ以上の電子デバイスを制御するようにさらに構成されている、装置。
【請求項24】
前記制御論理が、前記サーバから受け取った前記データのコピーを、前記ネットワークに通信可能に結合された第2の装置に伝送するようにさらに構成されている、請求項23に記載の装置。
【請求項25】
システムであって、
電子デバイスと、
ネットワークを介して該電子デバイスに通信可能に結合されたコントローラであって、該ネットワークを介して該電子デバイスを遠隔制御するように構成されたコントローラと、
該ネットワークを介して該電子デバイスおよび該コントローラに通信可能に結合されたサーバと
を備え、
該コントローラは、該サーバによって維持される制御構成に関連するデータを該サーバから受け取り、その後、該サーバによって維持される該制御構成に従う代わりに、該コントローラによって維持される制御構成に従って該電子デバイスを制御するようにさらに構成されている、システム。
【請求項26】
前記コントローラが、前記サーバから受け取った前記データのコピーを、前記ネットワークに通信可能に結合された第2のコントローラに伝送するようさらに構成されている、請求項25に記載のシステム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−225167(P2010−225167A)
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願番号】特願2010−108833(P2010−108833)
【出願日】平成22年5月10日(2010.5.10)
【分割の表示】特願2006−546965(P2006−546965)の分割
【原出願日】平成16年9月2日(2004.9.2)
【出願人】(504317525)オープンピーク インコーポレイテッド (33)
【Fターム(参考)】