(57)【特許請求の範囲】
【請求項１】
制御環境内のシステムコンポーネントを管理する方法であって、
前記方法は、
開始パラメータの発生を検出することと、
携帯型コントローラの位置に基づいて前記制御環境内の領域を決定することと、
前記領域内に配置された複数のシステムコンポーネントを識別することと、
前記識別されたシステムコンポーネントに関連付けられたコンポーネント固有コマンドのシーケンスにアクセスすることであって、前記携帯型コントローラが前記コンポーネント固有コマンドのシーケンスにアクセス可能であるように、前記携帯型コントローラを再構成することを含むことと、
前記シーケンスを前記識別されたシステムコンポーネントに送信することと、
前記シーケンスからの各コンポーネント固有コマンドを、対応する識別されたシステムコンポーネントでそのコンポーネント固有コマンドを受信したときに前記対応する識別されたシステムコンポーネントを制御するように実行することと
を含み、
前記開始パラメータは、前記複数のシステムコンポーネントからの１つのシステムコンポーネントの少なくとも検出された動作状態として指定される、方法。
【請求項２】
前記検出することは、日および／または時間を検出することを含み、前記日および／または時間が、前記開始パラメータとして指定される、請求項１に記載の方法。
【請求項３】
前記検出することは、所定領域内の対象の存在を検出することを含み、前記検出された存在が、前記開始パラメータとして指定される、請求項１に記載の方法。
【請求項４】
前記検出することは、前記複数のシステムコンポーネントからの１つのシステムコンポーネントの警報状態を検出することを含み、前記警報状態が、前記開始パラメータとして指定される、請求項１に記載の方法。
【請求項５】
前記検出することは、１つ以上の種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの汎用シーケンスを実行するためのリクエストを検出することを含み、前記汎用シーケンスは、特定のシステムコンポーネントの識別を排除し、前記検出されたリクエストは、前記開始パラメータとして指定される、請求項１に記載の方法。
【請求項６】
前記決定することは、前記制御環境内で対象を位置決めすることにより、前記領域を決定することを含む、請求項１に記載の方法。
【請求項７】
前記決定することは、
前記制御環境全体にわたりシステムコンポーネントの移動を追跡および／または監視することと、
移動するシステムコンポーネントの現在位置から前記領域を決定することと
を含む、請求項１に記載の方法。
【請求項８】
前記決定することは、前記複数のシステムコンポーネントからの１つのシステムコンポーネントの現在位置から前記領域を決定することを含む、請求項１に記載の方法。
【請求項９】
前記決定することは、ユーザー入力から前記領域を決定することを含み、前記ユーザー入力が前記領域を指定する、請求項１に記載の方法。
【請求項１０】
前記識別することは、前記制御環境内のシステムコンポーネントをポーリングすることにより、前記領域内に配置された前記複数のシステムコンポーネントを識別することを含む、請求項１に記載の方法。
【請求項１１】
前記識別することは、
１つの種類のシステムコンポーネントを制御するためのリクエストを受信することであって、前記リクエストは、特定のシステムコンポーネントの識別を排除する、ことと、
前記リクエストにおいて指定された１つの種類のシステムコンポーネントにマッチングする前記領域内に配置された前記複数のシステムコンポーネントを識別することと
を含む、請求項１に記載の方法。
【請求項１２】
前記アクセスすることは、
１つ以上の種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの汎用シーケンスにアクセスすることであって、前記汎用シーケンスは、特定のシステムコンポーネントの識別を排除する、ことと、
前記汎用シーケンスを前記識別されたシステムコンポーネントに関連付けられたコンポーネント固有コマンドのシーケンスに翻訳することであって、前記識別されたコンポーネントは、前記１つ以上の種類のシステムコンポーネントにマッチングする、ことと
を含む、請求項１に記載の方法。
【請求項１３】
前記送信するステップを実行する前に、各システムコンポーネントの制御に対する許可を認証することをさらに含む、請求項１に記載の方法。
【請求項１４】
前記送信することは、無線メディアを通じて前記シーケンスを送信することを含む、請求項１に記載の方法。
【請求項１５】
前記携帯型コントローラが前記制御環境内の異なる領域に移動したことを検出することと、
前記異なる領域内に配置された複数のシステムコンポーネントを識別することと、
実行されたコンポーネント固有コマンドに対応する少なくとも１つのコンポーネント固有コマンドを、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの少なくとも１つにより実行されるように、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの前記少なくとも１つに自動的に送信することと
をさらに含む、請求項１に記載の方法。
【請求項１６】
複数の領域を有する制御環境内のシステムコンポーネントを管理する方法であって、
前記方法は、
開始パラメータの発生を検出することと、
１つ以上の種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの汎用シーケンスにアクセスすることであって、前記汎用シーケンスは、特定のシステムコンポーネントの識別を排除する、ことと、
前記制御環境内の対象の現在位置を決定することにより、前記現在位置を含む領域を選択することであって、前記決定することは、携帯型コントローラの位置に基づく、ことと、
前記汎用シーケンスにおいて指定された１つ以上の種類のシステムコンポーネントにマッチングする前記選択された領域内に配置された複数のシステムコンポーネントを識別することと、
前記汎用シーケンスを前記識別されたシステムコンポーネントの動作および／または機能を制御するためのコンポーネント固有コマンドのシーケンスに翻訳することであって、前記携帯型コントローラが前記コンポーネント固有コマンドのシーケンスを使用可能であるように、前記携帯型コントローラを再構成することを含むことと、
前記コンポーネント固有コマンドのシーケンスを前記識別されたシステムコンポーネントに送信することと、
前記シーケンスからの各コンポーネント固有コマンドを、対応する識別されたシステムコンポーネントでそのコンポーネント固有コマンドを受信したときに前記対応する識別されたシステムコンポーネントを制御するように実行することと
を含み、
前記開始パラメータは、前記複数のシステムコンポーネントからの１つのシステムコンポーネントの少なくとも検出された動作状態として指定される、方法。
【請求項１７】
前記携帯型コントローラが前記制御環境内の異なる領域に移動したことを検出することと、
前記異なる領域内に配置された複数のシステムコンポーネントを識別することと、
実行されたコンポーネント固有コマンドに対応する少なくとも１つのコンポーネント固有コマンドを、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの少なくとも１つにより実行されるように、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの前記少なくとも１つに自動的に送信することと
をさらに含む、請求項１６に記載の方法。
【請求項１８】
制御環境内のシステムコンポーネントを管理する方法であって、
前記方法は、
１つ以上の種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの汎用シーケンスの作成を可能にすることであって、前記汎用シーケンスは、特定のシステムコンポーネントの識別を排除する、ことと、
前記シーケンスを開始パラメータの発生と関連付けることと、
前記開始パラメータの発生を検出することと、
携帯型コントローラの位置に基づいて前記制御環境内の領域を決定することと、
前記汎用シーケンスにおいて指定された１つ以上の種類のシステムコンポーネントにマッチングする前記領域内に配置された前記システムコンポーネントを識別することと、
前記汎用シーケンスを、実行されたときに前記識別されたシステムコンポーネントの動作および／または機能を制御するコンポーネント固有コマンドのシーケンスに翻訳することであって、前記携帯型コントローラが前記コンポーネント固有コマンドのシーケンスを使用可能であるように、前記携帯型コントローラを再構成することを含むことと、
前記コンポーネント固有コマンドのシーケンスを前記識別されたシステムコンポーネントに送信することと、
各コンポーネント固有コマンドを、対応する識別されたシステムコンポーネントでそのコンポーネント固有コマンドを受信したときに前記対応する識別されたシステムコンポーネントを制御するように実行することと
を含み、
前記開始パラメータは、複数のシステムコンポーネントからの１つのシステムコンポーネントの少なくとも検出された動作状態として指定される、方法。
【請求項１９】
前記可能にすることは、
１つ以上の種類のシステムコンポーネントを指定する第１のユーザー入力を受信することと、
前記１つ以上の種類のシステムコンポーネントが実行するように構成されている動作または機能を指定する第２のユーザー入力を受信することと、
前記第１のユーザー入力および前記第２のユーザー入力を処理することにより、前記コマンドの汎用シーケンスを生成することと
を含む、請求項１８に記載の方法。
【請求項２０】
前記可能にすることは、前記コマンドの汎用シーケンスの起動を開始するための開始パラメータを指定する第３のユーザー入力を受信することを含む、請求項１９に記載の方法。
【請求項２１】
前記可能にすることは、
前記制御環境内のシステムコンポーネントの存在を検出することと、
前記検出されたシステムコンポーネントにマッチングする１つの種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの少なくとも１つの所定のシーケンスを再呼び出しすることと、
前記コマンドの汎用シーケンスを生成することであって、前記検出されたシステムコンポーネントは、前記識別するステップの次の実行中に前記識別されたシステムコンポーネントである候補として前記汎用シーケンスに関連付けられている、ことと
を含む、請求項１８に記載の方法。
【請求項２２】
前記検出することは、日および／または時間を検出することを含み、前記日および／または時間が、前記開始パラメータとして指定される、請求項１８に記載の方法。
【請求項２３】
前記携帯型コントローラが前記制御環境内の異なる領域に移動したことを検出することと、
前記異なる領域内に配置された複数のシステムコンポーネントを識別することと、
実行されたコンポーネント固有コマンドに対応する少なくとも１つのコンポーネント固有コマンドを、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの少なくとも１つにより実行されるように、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの前記少なくとも１つに自動的に送信することと
をさらに含む、請求項１８に記載の方法。
【請求項２４】
制御環境内の複数のシステムコンポーネントとインタラクトするための携帯型コントローラであって、
前記コントローラは、
１つ以上の種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの汎用シーケンスを生成または格納するように構成されたユーザーインターフェースであって、前記汎用シーケンスは、特定のシステムコンポーネントの識別を排除し、前記汎用シーケンスは、開始パラメータに関連付けられている、ユーザーインターフェースと、
前記携帯型コントローラの位置に基づいて前記制御環境内の領域を決定し、前記汎用シーケンスにおいて指定された１つ以上の種類のシステムコンポーネントにマッチングする前記領域内の１つ以上のシステムコンポーネントを識別する第１の処理手段と、
前記汎用シーケンスを、実行されたときに前記識別された１つ以上のシステムコンポーネントの動作および／または機能を制御するコンポーネント固有コマンドのシーケンスに翻訳する第２の処理手段であって、前記第２の処理手段により実行される翻訳することは、前記携帯型コントローラが前記コンポーネント固有コマンドのシーケンスを使用可能であるように、前記携帯型コントローラを再構成することを含む、第２の処理手段と、
前記識別された１つ以上のシステムコンポーネントに、前記開始パラメータの発生に応答して受信システムコンポーネントの動作および／または機能を制御するためのコンポーネント固有コマンドを送信する送信手段と
を備え、
前記開始パラメータは、前記識別された１つ以上のシステムコンポーネントのうちの１つのシステムコンポーネントの少なくとも検出された動作状態として指定される、コントローラ。
【請求項２５】
前記第１の処理手段が、さらに、
前記携帯型コントローラが前記制御環境内の異なる領域に移動したことを検出することと、
前記異なる領域内に配置された１つ以上のシステムコンポーネントを識別することと
を実行し、
前記送信手段が、さらに、
送信されたコンポーネント固有コマンドに対応する少なくとも１つのコンポーネント固有コマンドを、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの少なくとも１つにより実行されるように、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの前記少なくとも１つに自動的に送信する、請求項２４に記載の携帯型コントローラ。
【請求項２６】
制御環境内の複数のシステムコンポーネントを管理するシステムであって、
前記システムは、
前記複数のシステムコンポーネントの動作および／または機能を制御する制御センターと、
前記制御センターとインタラクトする携帯型コントローラと
を備え、
前記携帯型コントローラは、１つ以上の種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの汎用シーケンスを構成するように動作可能であり、前記汎用シーケンスは、特定のシステムコンポーネントの識別を排除し、前記汎用シーケンスは、開始パラメータに関連付けられており、
前記制御センターは、前記汎用シーケンスを、実行されたときに前記携帯型コントローラの位置に基づいて前記携帯型コントローラから受信された入力により決定される前記携帯型コントローラの近傍に配置された前記複数のシステムコンポーネントのうちの１つ以上のシステムコンポーネントを制御するコンポーネント固有コマンドのシーケンスに翻訳するように動作可能であり、かつ、前記携帯型コントローラが前記コンポーネント固有コマンドのシーケンスを使用可能であるように、前記携帯型コントローラを再構成するように動作可能であり、
前記制御センターは、前記コマンドの汎用シーケンスを格納することと、前記開始パラメータの発生に応答して前記コンポーネント固有コマンドのシーケンスを前記複数のシステムコンポーネントのうちの１つ以上のシステムコンポーネントに送信することとを実行するように動作可能であり、
前記開始パラメータは、前記複数のシステムコンポーネントからの１つのシステムコンポーネントの少なくとも検出された動作状態として指定される、システム。
【請求項２７】
前記携帯型コントローラの位置または移動を追跡および／または監視するポジショニング手段をさらに備え、
前記携帯型コントローラは、前記ポジショニング手段とインタラクトするように動作可能であり、
前記制御センターは、前記コンポーネント固有コマンドのシーケンスを、前記ポジショニング手段により決定される前記携帯型コントローラの近傍に配置された前記複数のシステムコンポーネントのうちの１つ以上のシステムコンポーネントに送信するように動作可能である、請求項２６に記載のシステム。
【請求項２８】
前記制御センターは、さらに、
前記携帯型コントローラが前記制御環境内の異なる領域に移動したことを検出することと、
前記異なる領域内に配置された複数のシステムコンポーネントを識別することと
を実行するようにさらに動作可能であり、
前記制御センターは、さらに、
既に送信されたコンポーネント固有コマンドに対応する少なくとも１つのコンポーネント固有コマンドを、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの少なくとも１つにより実行されるように、前記異なる領域内に配置された前記識別されたシステムコンポーネントのうちの前記少なくとも１つに自動的に送信するようにさらに動作可能である、請求項２６に記載のシステム。
【請求項２９】
コンピュータ可読プログラムコード機能が埋め込まれたコンピュータ可読格納媒体であって、前記コンピュータ可読プログラムコード機能は、コンピュータに、制御環境内のコンポーネントのシステムを管理させ、
前記コンピュータ可読プログラムコード機能は、
前記コンピュータに、開始パラメータの発生を検出させる第１のコンピュータ可読プログラムコード機能と、
前記コンピュータに、１つ以上の種類のシステムコンポーネントの動作および／または機能を制御するためのコマンドの汎用シーケンスにアクセスさせる第２のコンピュータ可読プログラムコード機能であって、前記汎用シーケンスは、特定のシステムコンポーネントの識別を排除し、前記汎用シーケンスは、前記開始パラメータに関連付けられている、第２のコンピュータ可読プログラムコード機能と、
前記コンピュータに、携帯型コントローラの位置に基づいて前記制御環境内の領域を決定させる第３のコンピュータ可読プログラムコード機能と、
前記コンピュータに、前記汎用シーケンスにおいて指定された１つ以上の種類のシステムコンポーネントにマッチングする前記領域内の１つ以上のシステムコンポーネントを識別させる第４のコンピュータ可読プログラムコード機能と、
前記コンピュータに、前記汎用シーケンスを、実行されたときに前記識別された１つ以上のシステムコンポーネントの動作および／または機能を制御するためのコンポーネント固有コマンドのシーケンスに翻訳させ、かつ、前記コンピュータに、前記携帯型コントローラが前記コンポーネント固有コマンドのシーケンスを使用可能であるように、前記携帯型コントローラを再構成させる第５のコンピュータ可読プログラムコード機能と
を含み、
前記開始パラメータは、前記第１のコンピュータ可読プログラムコード機能により検出された前記識別された１つ以上のシステムコンポーネントのうちの１つのシステムコンポーネントの少なくとも動作状態として指定される、コンピュータ可読格納媒体。
【請求項３０】
前記第１のコンピュータ可読プログラムコード機能は、前記コンピュータに、日および／または時間を検出させるコンピュータ可読プログラムコードを含み、前記日および／または時間が、前記開始パラメータとして指定される、請求項２９に記載のコンピュータ可読格納媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して家庭用電子機器の制御方法に関し、特に（ｉ）特定の時間および／または特定のイベントの発生時に自動的に実行するように定義できるか、または（ｉｉ）特定のコンテキストにおけるアプリケーションに対して自動的に特殊化できる、コマンド動作のシーケンスを介した家庭用電子機器の制御方法に関する。
【背景技術】
【０００２】
情報時代の幕開けによって、コンピュータの処理機能に新しく刺激的な機会が提供されている。パーソナルコンピュータは、効率の向上、コストの削減、および生産性の向上のために、様々な分野に展開されている。パーソナルコンピュータは、その小型化および携帯性によって、よりアクセスしやすく、またビジネス環境におけるより重要なツールとなっている。パーソナルコンピュータはまた、教育機関および家庭を含む非ビジネス環境においても非常に有用なツールとなっている。
【０００３】
パソコンのネットワークは、その普及が拡大している。家庭内では、複数のパーソナルコンピュータを互いに接続することができ、これによって、ユーザーはある部屋から別の部屋にディスケットを手で持ち運ぶことなくファイルを共有することが可能となる。コンピュータネットワークによって、ユーザーは、プリンタ、ファクシミリ、および他の装置を共有することも可能になる。同様にインターネット接続設備も備えることができ、外部のネットワークおよびサービスへのアクセスが可能となる。したがって、ユーザーは、家庭用コンピュータを操作して世界中のどこからでも情報に即時にアクセスすることができる。
【０００４】
家庭用コンピュータのネットワークは増加しているが、いくつかの重要な問題を解決しなければならない。例えば、家庭内ネットワークの導入は、展開に時間がかかり高価になる場合がある。加えて、コンピュータのネットワークと、テレビ、ステレオ、ＤＶＤプレーヤ、および他の家庭用電子機器のような他の家庭用機器とを統合する容易な方法が存在しない。パーソナルコンピュータおよび他のオーディオ／ビデオ（ＡＶ）機器（テレビ、ＤＶＤプレーヤ、ＰＶＲなど）の間でのデジタルＡＶデータの効率的な配信は、通信規格および／またはフォーマットの差異や発展によって困難である。
【０００５】
他の重要な課題は、ネットワーク化した家庭用機器を有効に制御できるようにすることである。娯楽センター（テレビ、ステレオ、およびＶＣＲなど）のコンポーネントに信号を送信するために、リモートコントロールユニットを調整することができるが、家庭内で複数のパーソナルコンピュータおよび他のアナログおよび／またはデジタル機器の通信および制御ができる既知の中心的な機器が存在しない。さらに、ユーザーが介入せずに複数の家庭用機器の通信および制御ができる既知の機器が存在しない。リモートコントロールユニットを用いても、ユーザーは、コマンド（赤外線信号）を制御可能な家庭用電子機器に送信するために、ハードキーを手動で起動しなければならない。
【０００６】
向上したコンピュータ処理機能と情報への世界的なアクセスとの組み合わせによって、情報処理時代における著しい発展がもたらされているが、単純かつ廉価であり、さらに家庭内ネットワークに接続した複数の家庭用機器の機能を統合でき、ユーザーの介入を最小限にしてこれらの機器の操作を容易にできる汎用的なシステムが必要である。
【発明の概要】
【課題を解決するための手段】
【０００７】
家庭、企業、学校などの制御環境とそれらの周辺地域内での複数の機器および／またはアプリケーションを管理するための方法、システム、およびコンピュータプログラム製品を提供する。制御センターは、１つ以上のサーバーまたは他のデータ処理機器を備え、機器および／またはアプリケーションの統合化したコマンドおよび制御を行えるようにする。
【０００８】
本発明の実施態様では、携帯型コントローラ（携帯情報端末、無線ノートパッドなど）によって、ユーザーは制御センターと情報のやりとりを行えるようになる。当該の情報のやりとりは、他の機器および／またはアプリケーションの構成および性能の変更を含む。したがって、携帯型コントローラによって、他の機器および／またはアプリケーションにリモートアクセスが提供され、ユーザーは、その環境内のあらゆる場所からそれらの機能および／または動作の制御を行えるようになる。
【０００９】
一実施態様では、携帯型コントローラは、（例えば、ＩＥＥＥ規格８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇなどで規定される）無線ネットワークを介して制御環境内で他の機器および／またはアプリケーションを制御する制御センターへの無線接続を有するグラフィックディスプレイを備えた、ハンドヘルドプラットホームである。別の実施態様では、制御センターは、携帯型コントローラに構築される。別の実施態様では、携帯型コントローラは、赤外線（ＩＲ）コード信号を介して、他の機器および／またはアプリケーションと直接通信する。
【００１０】
一実施態様では、システムコンポーネントの動作および／または機能の制御のために、１つ以上の制御マクロを構築することができる。制御マクロは、実行時に制御センターがシステムコンポーネントの複数の動作および／または機能を制御できるようにする、コマンドのセットを含む。制御マクロ（すなわちコマンドのセット）は、後の再呼び出しおよび実行のための制御マクロのファイル名に関連づけることができる。
【００１１】
ユーザーは、携帯型コントローラ、別のコンピュータクライアント、または制御センターと通信するユーザーインターフェイスを操作することによって、制御マクロを定義することができる。一実施態様では、制御マクロを携帯型コントローラにおいて保存する。ユーザーが制御マクロを起動すると、携帯型コントローラは制御センターにリクエストを送信し、制御センターは所望の結果（ＤＶＤプレーヤおよび関連するテレビの電源を入れる、ＤＶＤプレーヤにＤＶＤの動画を再生させる、など）が生じるように、必要な機能を実行するための命令信号のシーケンスを送信する。
【００１２】
別の実施態様では、制御マクロは、ユーザーがほとんど、または全く介入することなく、自動的に実行される。制御マクロは、開始パラメータの発生時に自動的に実行するように定義できるか、または特定のコンテキストにおけるアプリケーションに対して自動的に特殊化できる、コマンド動作のシーケンスを介して起動する。開始パラメータは、所定の時間、日付、状態、イベントなど、またはそれらを組み合わせたものとすることができる。
【００１３】
本願明細書に組み込まれ、明細書の一部を形成する添付図面は、本発明を図示し、記述とともに本発明の原理を説明し、当業者が本発明を使用できるようにするために用いられる。図において、通常、同様の参照番号は、同一の要素または機能的あるいは構造的に類似する要素を示す。加えて、通常、参照番号の最左端の数字は、その参照番号が最初に現れる図面を示している。
本発明は、例えば、以下を提供する。
（項目１）
制御環境内のシステムコンポーネントの管理方法であって、
所定の開始パラメータの発生を検出するステップと、
該開始パラメータに関連する、コンポーネント固有のコマンドのシーケンスにアクセスするステップと、
該シーケンスを複数のシステムコンポーネントに送信するステップと、
該シーケンスのうちのコンポーネント固有のコマンドを、該複数のシステムコンポーネントのうちの対応するシステムコンポーネントで受信した時に、該対応するシステムコンポーネントを制御するために該コンポーネント固有のコマンドの各々を実行するステップと
を含む、方法。
（項目２）
前記検出するステップは、日および／または時間を検出するステップを含み、該日および／または時間が、前記開始パラメータとして指定される、項目１に記載の方法。
（項目３）
前記検出するステップは、前記複数のシステムコンポーネントのうちの１つのシステムコンポーネントの動作状態を検出するステップを含み、該動作状態が、前記開始パラメータとして指定される、項目１に記載の方法。
（項目４）
前記制御環境内の領域を決定するステップと、
該領域内に含まれるシステムコンポーネントを識別するステップと
をさらに含み、前記複数のシステムコンポーネントが、該識別されたシステムコンポーネントを含む、項目１に記載の方法。
（項目５）
前記決定するステップは、前記複数のシステムコンポーネントのうちの１つのシステムコンポーネントの現在位置から前記領域を決定するステップを含む、項目４に記載の方法。
（項目６）
前記決定するステップは、ユーザー入力から前記領域を決定するステップを含み、該入力が該領域を指定する、項目４に記載の方法。
（項目７）
前記送信するステップを実行する前に、各システムコンポーネントの制御に対する許可を認証する、項目１に記載の方法。
（項目８）
前記送信するステップは、無線メディアを通じて前記シーケンスを送信するステップを含む、項目１に記載の方法。
（項目９）
制御環境内のシステムコンポーネントの管理方法であって、
実行時に複数のシステムコンポーネントを制御するコンポーネント固有のコマンドのシーケンスを作成できるようにするステップと、
該シーケンスを開始パラメータの発生と関連づけるステップと、
該開始パラメータの該発生を検出するステップと、
該シーケンスのうちのコンポーネント固有のコマンドを、該複数のシステムコンポーネントのうちの対応するシステムコンポーネントで受信した時に、該対応するシステムコンポーネントを制御するために該コンポーネント固有のコマンドの各々を実行するステップと
を含む、方法。
（項目１０）
前記検出するステップは、日および／または時間を検出するステップを含み、該日および／または時間が、前記開始パラメータとして指定される、項目９に記載の方法。
（項目１１）
前記検出するステップは、前記複数のシステムコンポーネントのうちの１つのシステムコンポーネントの動作状態を検出するステップを含み、該動作状態が、前記開始パラメータとして指定される、項目９に記載の方法。
（項目１２）
前記制御環境内の領域を決定するステップと、
該領域内に含まれるシステムコンポーネントを識別するステップと
をさらに含み、前記複数のシステムコンポーネントが、該識別されたシステムコンポーネントを含む、項目９に記載の方法。
（項目１３）
制御環境内の複数のシステムコンポーネントと情報のやりとりを行うためのコントローラであって、
該コントローラは、所定の開始パラメータに関連する、コンポーネント固有のコマンドのシーケンスを構成および保存するように機能し、
該コントローラは、該所定の開始パラメータの発生に応じて、該複数のシステムコンポーネントのうちの１つ以上のシステムコンポーネントの動作または機能を制御するために、該シーケンスのうちのコンポーネント固有のコマンドを該コンポーネントに送信するように機能する、コントローラ。
（項目１４）
制御環境内の複数のシステムコンポーネントを管理するためのシステムであって、
該複数のシステムコンポーネントの動作および／または機能を制御するための制御センターと、
該制御センターと情報のやりとりを行うためのコントローラとを備え、
該コントローラは、所定の開始パラメータに関連するコンポーネント固有のコマンドのシーケンスを構成するように機能し、
該制御センターは、該コンポーネント固有のコマンドの該シーケンスを保存し、該所定の開始パラメータの発生に応じて、該シーケンスを該複数のシステムコンポーネントに送信するように機能する、システム。
（項目１５）
前記制御センターが、前記コンポーネント固有のコマンドのシーケンスを、前記コントローラから受信した入力によって定められる該コントローラの近傍に位置する１つ以上の複数のシステムコンポーネントに送信するように機能する、項目１４に記載のシステム。
（項目１６）
前記コントローラの位置または動きを追跡および／または監視するためのポジショニング手段をさらに備え、
該コントローラは、該ポジショニング手段と情報のやりとりを行うように機能し、
前記制御センターは、前記コンポーネント固有のコマンドのシーケンスを、該ポジショニング手段によって定められる該コントローラの近傍に位置する１つ以上の複数のシステムコンポーネントに送信するように構成される、項目１４に記載のシステム。
（項目１７）
コンピュータが制御環境内のコンポーネントのシステムの管理を行うための、コンピュータが使用可能な媒体に組み込まれたコンピュータ可読のプログラムコード手段を有する、該媒体を含むコンピュータプログラム製品であって、
所定の開始パラメータの発生を検出するための第１のコンピュータ可読のプログラムコード手段と、
該開始パラメータに関連するコンポーネント固有のコマンドのシーケンスにアクセスするための第２のコンピュータ可読のプログラムコード手段と、
該シーケンスを複数のシステムコンポーネントに送信するための第３のコンピュータ可読のプログラムコード手段と
を含み、該シーケンスのうちの各コンポーネント固有のコマンドは、該複数のシステムコンポーネントのうちの対応するシステムコンポーネントで該コンポーネント固有のコマンドの受信した時に、該対応するシステムコンポーネントの各々を制御するように実行可能である、コンピュータプログラム製品。
（項目１８）
前記第１のコンピュータ可読のプログラムコード手段は、日および／または時間を検出するための第４のコンピュータ可読のプログラムコード手段を含み、該日および／または時間が、前記開始パラメータとして指定される、項目１７に記載のコンピュータプログラム製品。
（項目１９）
前記第１のコンピュータ可読のプログラムコード手段は、
前記複数のシステムコンポーネントのうちのシステムコンポーネントの動作状態を検出するための第４のコンピュータ可読のプログラムコード手段を含み、
該動作状態が、前記開始パラメータとして指定される、項目１７に記載のコンピュータプログラム製品。
（項目２０）
前記制御環境内の領域を決定するための第４のコンピュータ可読のプログラムコード手段と、
該領域内に含まれるシステムコンポーネントを識別するための第５のコンピュータ可読のプログラムコード手段と
をさらに含み、前記複数のシステムコンポーネントが、該識別されたシステムコンポーネントを含む、項目１７に記載のコンピュータプログラム製品。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施態様による、制御システムを示す。
【図２】本発明の一実施態様による、システムコンポーネントの追跡および／または監視を示す。
【図３】本発明の一実施態様による、ユーザー位置に応じたシステムコンポーネントへの命令および制御を示す。
【図４】本発明の一実施態様による、動画の記録を視聴するための制御マクロの定義を示す。
【図５】本発明の一実施態様による、図４の制御マクロの起動を示す。
【図６】本発明の一実施態様による、自動的に実行可能な制御マクロの定義を示す。
【図７】本発明の一実施態様による、図６の自動的に実行可能な制御マクロの起動を示す。
【図８】本発明の一実施態様による、コンテキストベースの制御マクロの定義を示す。
【図９】本発明の一実施態様による、図８のコンテキストベースの制御マクロの起動を示す。
【図１０】本発明の一実施態様による、時間ベースの制御マクロを構成するためのユーザーインターフェイスを示す。
【図１１】本発明の一実施態様による、時間ベースの制御マクロを実行する制御可能なシステムコンポーネントを構成するためのユーザーインターフェイスを示す。
【図１２】本発明の一実施態様による、時間ベースの制御マクロを実行する、関連する制御可能なシステムコンポーネントを構成するためのユーザーインターフェイスを示す。
【図１３】本発明の実施に有用なコンピュータシステムの一例を示す。
【発明を実施するための形態】
【００１５】
（目次）
Ｉ．システム概要
ＩＩ．位置認識
ＩＩＩ．個人で使用するための携帯型コントローラのプロファイリング
ＩＶ．典型的なシステムの実装。
【００１６】
（Ｉ．システム概要）
本発明は、家庭、企業、学校などの制御環境とそれらの周辺地域内での複数の機器および／またはアプリケーションに対する統合化した命令および制御を目的とする。居住制御環境には、住宅、家庭、アパート、移動住宅、ハウスボートまたは他の種類の住居が挙げられる。しかし、実施態様では、居住環境は、指定地域内のあらゆるシェルター、構造物、建物などとともに住居の周辺地域を含む。
【００１７】
他の実施態様では、本発明は、非居住環境において実行される。非居住環境には、限定されないが、オフィスビル、一連の小オフィス、制作スタジオ、倉庫、娯楽場、学校または大学、医療施設、ホテル、リゾート地、航空機、船、自動車などが挙げられる。実施態様では、非居住環境の実施態様のための制御環境は、上述の建造物の現実的な範囲だけでなく、指定地域内のそれらの周辺も含む。
【００１８】
制御環境の例は、名称「Ｍｅｔｈｏｄ，Ｓｙｓｔｅｍ，  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｔ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｃｏｎｔｒｏｌｌｅｄ  Ｒｅｓｉｄｉｅｎｔｉａｌ  ｏｒ  Ｎｏｎ−Ｒｅｓｉｄｅｎｔｉａｌ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」（米国特許出願第１０／３８２，８９７号）、および名称「Ｍｅｔｈｏｄ，Ｓｙｓｔｅｍ，ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｅ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｃｏｎｔｒｏｌｌｅｄ  Ｒｅｓｉｄｅｎｔｉａｌ  ｏｒ  Ｎｏｎ−Ｒｅｓｉｄｅｎｔｉａｌ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」（米国特許出願第１０／１８０，５００号）に記載されており、両出願を参照することにより本願明細書にその全体が組み込まれる。これらの出願に記載されているように、制御環境内の他の機器および／またはアプリケーションへの情報（ビデオ、オーディオ、音声、テキスト、グラフィック、制御メッセージなどを含む）の配信を管理するために、様々な方法およびシステムを提供することができる。このような機器には、これらに限定されないが、通信装置、（電話、インターホンなど）、娯楽用システム（テレビ、ＣＤ／ＤＶＤプレーヤ、ゲーム用アプリケーション、ステレオなど）、監視システム（防犯カメラ、乳児モニタなど）、安全／保安システム（火災報知機、スプリンクラーシステム、ドアまたは窓の施錠など）、パーソナルコンピュータ（デスクトップ、ノート、ノートパッド、携帯情報端末など）、調理器具（オーブン、コーヒーメーカー、食品／野菜用電気加温器など）、コンフォートシステム（冷暖房空調設備（ＨＶＡＣ）、加湿器、除湿機、空気清浄機、電灯のスイッチ、調光器など）、コンセント、電源などが挙げられる。
【００１９】
当該の制御環境の例を図１に示す。図１は、本発明の一実施態様による、居住制御システム１００を示す。システム１００は、複数のシステムコンポーネントを相互接続する通信ネットワーク１８０を含む。システムコンポーネントは、位置決めユニット１０２、２台のテレビ１０４（テレビ１０４（ａ）および１０４（ｂ）として示す）、２台のコンピュータクライアント１０６（コンピュータクライアント１０６（ａ）およびコンピュータクライアント１０６（ｂ）として示す）、１台以上の携帯型コントローラ１０８、照明機器１１０、ＨＶＡＣシステム用サーモスタット１１２、チューナー１１４、メディアプレーヤ１１６、ケーブルボックス１１８、ＤＳＳボックス１２０、および１台以上の中央サーバー１２２を備える。他の機器および／またはアプリケーションもシステムコンポーネントに備えることができる。
【００２０】
ポジショニングユニット１０２は、システム１００のためのホスティング環境としての機能を果たす住居内で、空間的な位置を指定する。ポジショニングユニット１０２は、有線および／または無線インターフェイスを介して、他のシステムコンポーネント（例、携帯型コントローラ１０８）に接続される。ポジショニングユニット１０２は、住居内の階または部屋を指定するように機能する。ポジショニングユニット１０２はまた、特定の位置、または階あるいは部屋の中の領域も指定するように機能する。さらに、ポジショニングユニット１０２は、住居外に配置して住居の外側の領域を指定することができる。
【００２１】
コンピュータクライアント１０６は、有線および／または無線パーソナルコンピュータ、携帯情報端末（ＰＤＡ）、高機能電話、個人用テレビ、または通信ネットワークに接続された他のデータ処理機器を備える。パーソナルコンピュータとして、コンピュータクライアント１０６は、デスクトップ、ノート、ノートパッドなどとすることができる。ディスプレイは、文字またはグラフィカルユーザーインターフェイス（ＧＵＩ）を表示し、ユーザーがサーバー１２２と双方向で通信できるようにコンピュータクライアント１０６に接続される。コンピュータクライアント１０６用の入力装置には、キーボード、マウス、音声コマンドインターフェイス、マウスホイール、ジョイスティック、ラダーペダル、タッチスクリーン、マイク、ジョイスティック、スタイラス、ライトペン、または他の種類の周辺装置が挙げられる。
【００２２】
携帯型コントローラ１０８は、有線および／または無線データ処理機器であり、ユーザーが情報のやりとり、制御メッセージの送信、および／または他のシステムコンポーネントの中で情報（オーディオ、ビデオ、音声、および他のデータを含む）の配信を行えるようにする。携帯型コントローラ１０８は、コンピュータクライアント１０６としてリストされた装置の携帯バージョンとすることができる。例えば、携帯型コントローラ１０８は、個人用ノートブックまたはノートパッドコンピュータ、ＰＤＡ、高機能電話、または通信ネットワーク１８０に接続され、他のシステムコンポーネントと相互通信できるディスプレイを備えた他の機器とすることができる。したがって、携帯型コントローラ１０８によって、ユーザーはシステム１００の様々なコンポーネントの動作をリモートで制御できるようになる。一実施態様では、携帯型コントローラ１０８のディスプレイは、他のシステムコンポーネントからビデオおよび／またはオーディオを受信することができる。一実施態様では、携帯型コントローラ１０８は、無線ダウンロードおよび／またはアップロードを可能にするフラッシュＲＯＭを含む。
【００２３】
テレビ１０４は、通常のテレビである。一実施態様では、テレビ１０４は、双方向および／またはパーソナルサービスに対応するように拡張される。パーソナルサービスには、仮想記録、プログラミング、生放送の一時停止／巻き戻しなどが挙げられる。例えば、テレビ１０４は、ＷｅｂＴＶ  Ｎｅｔｗｏｒｋｓ社（Ｍｏｕｎｔａｉｎ  Ｖｉｅｗ、ＣＡ）が提供し、Ｍｉｃｒｏｓｏｆｔ社（Ｒｅｄｍｏｎｄ、ＷＡ）から入手可能なＷＥＢＴＶ（登録商標）のサービスに対応する、ＭＳＮ（登録商標）  ＴＶサービスに対応するように拡張したパーソナルテレビとすることができる。図に示されるように、テレビ１０４は、ケーブルセットトップボックス１１８、ＤＳＳセットトップボックス１２０、および／またはメディアプレーヤ１１６（例、ＰＶＲ、ＶＣＲ、またはＤＶＤプレーヤ）に接続することができる。
【００２４】
１つ以上のサーバー１２２は、他のシステムコンポーネントの間の全てのトラフィックを監視する。システムコンポーネントの間の情報の交換は、サーバー１２２を介して経路が定められるか、または別の方法で制御される。このように、サーバー１２２は、他のシステムコンポーネントと情報のやりとりを行い、通信ネットワーク１８０を通じて直接または間接的にデータ（オーディオおよび／またはビデオを含む）、音声、および／または制御メッセージを配信する。一実施態様では、サーバー１２２は、他のシステムコンポーネントの１つ以上の動作および／または機能に対して命令および制御を行う。サーバー１２２が管理する機能には、ビデオサービング、オーディオサービング、電話通信、メッセージング、ファイルシェアリング、インターネットアクセス、およびセキュリティが挙げられる。本発明の実施態様によれば、ユーザーは携帯型コントローラ１０８を操作して、これらの機能を構築または再構成し、および／またはサーバー１２２または他のシステムコンポーネントからメディアを受信する（他のシステムコンポーネントから直接、またはサーバー１２２を介してシステムコンポーネントから間接的に受信する）。
【００２５】
一実施態様では、携帯型コントローラ１０８には、本願明細書において説明するように、サーバー１２２の複数の機能が含まれ、他のシステムコンポーネントの間の情報（オーディオ、ビデオ、音声、および、他のデータを含む）の配信を管理する。別の実施態様では、通信ネットワーク１８０は、ピアツーピア通信に対応する。このように、システムコンポーネントは、オーディオ、ビデオ、音声、他のデータ、および／または制御メッセージを互いに直接、そしてサーバー１２２によって一元管理されることなく交換する。
【００２６】
上述のシステムコンポーネントがすべてというわけではない。限定されないが、冷蔵庫、ストーブ、マイクロ波、トースタ、コーヒーメーカー、アラーム時計、加湿機、スプリンクラー装置、照明、調光器などを含む、他の機器（装置を含む）などを実装することができる。一実施態様では、サーバー１２２および／または携帯型コントローラ１０８は、オン／オフ、タイマー、調整（オーブンの温度など）、一時停止、スヌーズなどの、当該のコンポーネントの動作および／または機能を制御する。
【００２７】
上述のように、通信ネットワーク１８０は、システムコンポーネントの間で通信するための送信媒体を提供する。通信ネットワーク１８０は、有線および／または無線ローカルエリアネットワーク（ＬＡＮ）である。したがって、通信ネットワーク１８０は、衛星、地上波（光ファイバ、銅線、ＵＴＰ、ＳＴＰ、同軸ケーブル、光同軸ハイブリッド送信など）、無線、マイクロ波、自由空間光通信、および／または他のあらゆる形態、あるいは他のあらゆる送信方法を含む、有線、無線、またはその両方の送信媒体を含む。
【００２８】
有線送信媒体を使用する実施態様では、通信ネットワーク１８０は、ＣＡＴ−５ケーブルを用いたイーサネット（登録商標）ＬＡＮであり、サーバー１２２に接続され、各部屋内のある場所に分配される。一実施態様では、ケーブルは、テレビ１０４、メディアプレーヤ１１６などの各システムコンポーネントに分配される。システムコンポーネントには、該ケーブルを受けるオーディオ／ビデオ（ＡＶ）コネクタを備える。一実施態様では、通信ネットワーク１８０は、電話線および／または電力線（Ｈｏｍｅ  Ｐｈｏｎｅｌｉｎｅ  Ｎｅｔｗｏｒｋｉｎｇ  Ａｌｌｉａｎｃｅ（ＨｏｍｅＰＮＡ）などの利用が可能な通信技術など）を含む。
【００２９】
無線送信媒体を使用する実施態様では、通信ネットワーク１８０は、大容量ビデオ用の無線イーサネット（登録商標）プロトコルを規定する、ＩＥＥＥ規格の８０２．１１（ａ）に対応する。別の無線の実施態様では、通信ネットワーク１８０は、小容量ビデオ用の無線イーサネット（登録商標）プロトコルを規定する、ＩＥＥＥ規格の８０２．１１（ｂ）に対応する。別の無線の実施態様では、通信ネットワーク１８０は、ＩＥＥＥ規格の８０２．１１（ｇ）に対応する。別の実施態様では、システム１００による短距離無線インターフェイスに対応するために、ＢＬＵＥＴＯＯＴＨＴＭ無線技術（Ｂｌｕｅｔｏｏｔｈ
ＳＩＧ社が開発）を使用する。
【００３０】
図１に示されるように、通信ネットワーク１８０は、システムコンポーネントのプラットフォームとして、Ｌｉｎｋｓｙｓ  Ｇｒｏｕｐ社（Ｉｒｖｉｎｅ、ＣＡ）またはＣｉｓｃｏ  Ｓｙｓｔｅｍｓ社（Ｓａｎ  Ｊｏｓｅ、ＣＡ）から入手可能なもののような無線ネットワークのアクセスポイント１８２を含む。無線アクセスポイント１８２は、無線ネットワーク接続のための中心的ポイント、およびシステムコンポーネントの追跡状態に必要な常時接続を提供する。加えて、無線アクセスポイント１８２は、有線および無線ネットワーク間の接続ポイントを提供することができる。サーバー１２２を使用する一実施態様では、上述のように、無線アクセスポイント１８２は、サーバー１２２のためのプラットホームとしての機能を果たす。本発明とは別のサーバーベースの実施態様では、サーバー１２２は、ブリッジ装置（ブリッジ１３０（ａ）〜１３０（ｅ））、携帯情報端末（１０８など）、パーソナルコンピュータ（１０６など））などを含む、無線アクセスポイント（１８０で示される無線アクセスポイント１８２など）に加えて、実際に複数の異なる機器のプラットフォーム上に配置することができる。
【００３１】
システム１００はまた、無線通信規格ＩＥＥＥ  ８０２．１１（ｂ）に適合する、複数の赤外線／シリアルブリッジ１３０（ａ）〜１３０（ｄ）も備える。各赤外線／シリアルブリッジ１３０は、１つ以上のコンポーネントと情報のやりとりを行う。図に示されるように、赤外線／シリアルブリッジ１３０（ａ）は、テレビ１０４（ａ）、ケーブルボックス１１８、および、メディアプレーヤ１１６と情報のやりとりを行う。赤外線／シリアルブリッジ１３０（ｂ）は、チューナ１１４または赤外線／シリアル通信プロトコルに依存するあらゆる種類の専用機器と情報のやりとりを行うことが、当業者によって理解されよう。赤外線／シリアルブリッジ１３０（ｃ）は、サーモスタット１１２と情報のやりとりを行う。赤外線／シリアルブリッジ１３０（ｄ）は、照明機器１１０と情報のやりとりを行う。無線イーサネット（登録商標）ブリッジ１３０（ｅ）は、テレビ１０４（ｂ）およびＤＳＳボックス１２０と情報のやりとりを行う。無線イーサネット（登録商標）ブリッジ１３０（ｅ）は、あらゆるＩＰアドレスの指定が可能な機器に対応することができる。このように、テレビ１０４（ｂ）およびＤＳＳボックス１２０は、ＩＰアドレスを有する「次世代の」ＵＰｎＰ機器である。
【００３２】
したがって、本発明は、ＵＰＮＰＴＭ機器およびユニバーサルプラグアンドプレイ（ＵＰｎＰ）フォーラムが規定するアプリケーションとともに、レガシー機器（例えば、赤外線／シリアル通信プロトコルに依存する家庭用電化製品（ＣＥ））をシステムコンポーネントとして統合することができる。ＩＥＥＥ  ８０２．１１（ｂ）の赤外線／シリアルブリッジを実装した制御環境の一例が、名称「Ｌｅｇａｃｙ  Ｄｅｖｉｃｅ  Ｂｒｉｄｇｅ
ｆｏｒ  Ｒｅｓｉｄｅｎｔｉａｌ  ｏｒ  Ｎｏｎ−Ｒｅｓｉｄｅｎｔｉａｌ  Ｎｅｔｗｏｒｋｓ」（米国特許出願第１０／３８７，５９０号、２００３年３月１４日出願）に記載されており、該出願を参照することにより本願明細書にその全体が組み込まれる。
【００３３】
上述のように、携帯型コントローラ１０８（携帯情報端末、無線ノートパッドなど）によって、ユーザーは、制御環境内のあらゆる場所から他の機器および／またはアプリケーションの構成および機能を遠隔で変更できるようになる。一実施態様では、携帯型コントローラ１０８は、グラフィックディスプレイを有するハンドヘルドプラットホームである。このプラットフォームは、（例えば、ＩＥＥＥ規格の８０２．１１ｂによって規定されるような）無線通信ネットワーク１８０を介して制御環境内の他の機器および／またはアプリケーションを制御できる、中央サーバー１２２への無線接続を有する。他の実施態様において、サーバー１２２は、携帯型コントローラ１０８に組み込まれる。他の実施態様において、携帯型コントローラ１０８は、赤外線（ＩＲ）コード信号を介して、他の機器および／またはアプリケーションと直接通信する。
【００３４】
一実施態様では、本発明は、複数の入力システムコンポーネント（例、ＤＶＤ、ＶＣＲ、衛星チューナ、デジタルビデオレコーダ、ステレオなど）を有する１つの出力システムコンポーネント（例、テレビ、モニタ、スピーカなど）を備えるシステムの制御を容易にする。本発明によれば、最初に、ユーザーは携帯型コントローラ１０８上に現れるＧＵＩを介して出力コンポーネントを選択する。次いで、ユーザーは、「タブ方式」のインターフェイスを使用して特定の入力コンポーネントを選択する能力をユーザーに提供する制御スクリーンに示される。その入力が選択されると、そのコンポーネントに対する制御スクリーンが示される。様々なシステムコンポーネントの関連づけおよび制御を行うためのユーザーインターフェイスの例は、名称「Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｍｕｌｔｉ−Ｄｅｖｉｃｅ  Ｃｏｎｔｒｏｌ」（米国特許出願第６０／５１６，３０２号）に記載されており、その出願を参照することにより本願明細書にその全体が組み込まれる。
【００３５】
（ＩＩ．位置認識）
本発明の実施態様では、ネットワーク制御システム１００は、リアルタイムまたは短期間で、様々のシステムコンポーネント（以下、本願明細書では「ターゲットコンポーネント」と称する）の位置を追跡および／または監視する。ユーザーが、システム１００をホストする制御環境内を移動するとき、本発明は、複数のプロトコルを実行して、システム１００がターゲットコンポーネントの位置、したがってユーザーの位置をターゲットコンポーネントと通信して判断できるようにする。一実施態様では、制御センター（サーバー１２２、ターゲットコンポーネントに接続したローカルプロセッサなど）は、ターゲットコンポーネント（携帯型コントローラ１０８など）の現在位置を判断し、ターゲットコンポーネントを再構成するために命令を送信して、特定の近傍内の他のシステムコンポーネントを制御する。例えば、携帯型コントローラ１０８が食堂内に位置すると判断された場合、サーバー１２２によって、携帯型コントローラ１０８は、食堂内にあるシステムコンポーネントを制御できるようになる。当該のコンポーネントには、調光器、オーディオシステム、食品サーバー用の加温ユニットなどが挙げられる。
【００３６】
ポジショニングユニット１０２は、ターゲットコンポーネントを追跡および／または監視するためのいくつかの実施態様に用いられる。図１を参照して上述したように、１つ以上のポジショニングユニット１０２が、システム１００をホストする制御環境全体にわたって分配される。ポジショニングユニット１０２は、ターゲットコンポーネント（携帯型コントローラ１０８、オーディオクライアント、電話など）に接続するか、または制御環境内にスタンドアロンの機器として配置することができる。
【００３７】
一実施態様では、ポジショニングユニット１０２は、ＲＦ通信システムの一部である。すなわち、ＲＦトランスポンダは、ポジショニング情報を通信するためにＲＦインタロゲータと情報のやりとりを行う。トランスポンダは、システムコンポーネントに接続され、一意的にシステムコンポーネントを識別する識別情報を利用できるようにする。トランスポンダは、コンポーネントが固定か、またはまれに移動する機器である場合のシステムコンポーネントの割り当てられた位置を含む、他の種類の情報を利用できるようにすることができる。したがって、トランスポンダは、ターゲットコンポーネントまたはポジショニングコンポーネント（例、ポジショニングユニット１０２）のどちらかに接続することができる。
【００３８】
トランスポンダは、アクティブまたは、パッシブとすることができる。アクティブトランスポンダは、識別情報を含む連続的または定期的な信号を送信する。パッシブトランスポンダは、例えばインタロゲータによって起動されるか、またはユーザーによって手動で起動されるまで、非アクティブまたはサイレントな状態のままである。したがって、（トランスポンダを含む）システムコンポーネントは、サイレントモードまたはアクティブモードで作動させることができる。アクティブモードにおいて、システムコンポーネント（すなわち、ターゲットコンポーネント）の位置は、リアルタイムまたは短期間で監視される。サイレントモードにおいて、システムコンポーネント（すなわち、ターゲットコンポーネント）の絶対的に確実な現在位置は、トランスポンダが起動されるまで、システム１００には知らされない。
【００３９】
インタロゲータは、トランスポンダの通信範囲内に入ると、別のシステムコンポーネントに接続され、ポジショニング情報（識別情報など）を受信する。インタロゲータは、アクティブトランスポンダからポジショニング情報を自動的に受信するか、またはパッシブトランスポンダを起動させてポジショニング情報を受信する。
【００４０】
トランスポンダとインタロゲータとの間の情報のやりとりは、名称「Ｍｅｔｈｏｄ，Ｓｙｓｔｅｍ，ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｔ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｃｏｎｔｒｏｌｌｅｄ  Ｒｅｓｉｄｅｎｔｉａｌ  ｏｒ  Ｎｏｎ−Ｒｅｓｉｄｅｎｔｉａｌ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」（米国特許出願第１０／３８２，８９７号）、および名称「Ｍｅｔｈｏｄ，Ｓｙｓｔｅｍ，ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｐｒｏｇｒａｍ  Ｐｒｏｄｕｃｅ  ｆｏｒ  Ｍａｎａｇｉｎｇ  Ｃｏｎｔｒｏｌｌｅｄ  Ｒｅｓｉｄｅｎｔｉａｌ  ｏｒ  Ｎｏｎ−Ｒｅｓｉｄｅｎｔｉａｌ  Ｅｎｖｉｒｏｎｍｅｎｔｓ」（米国特許出願第１０／１８０，５００号）に詳述されている。上述のように、システムコンポーネントの位置を追跡および／または監視するために、例えば、ＲＦ通信、ＢｌｕｅｔｏｏｔｈＴＭ無線技術（Ｂｌｕｅｔｏｏｔｈ  ＳＩＧ社が開発）、バーコード化技術、ＧＰＳ受信器、携帯電話の信号、三角測量などを含む、様々なポジショニング技術を本発明で使用することができる。
【００４１】
一実施態様では、ポジショニングは、ポジショニングユニット１０２を使用せずに実現することができる。携帯型コントローラ１０８などは、携帯型コントローラ１０８を操作するユーザーからのコマンドの受信および処理に対応する。コマンドは、手動および／または音声で携帯型コントローラ１０８に入力される。携帯型コントローラ１０８は、場所を判断するために、コマンドを処理するか、またはコマンドをサーバー１２２に送信する。例えば、ユーザーは、位置を「居間」に指定することができ、携帯型コントローラ１０８は、その居間にある機器および／またはアプリケーションを制御するようにプロファイルされる。
【００４２】
しかし、別の実施態様では、音声または手動コマンドは、ポジショニングユニット１０２などに入力することができる。ユーザーはまた、ターゲットコンポーネントの位置記録を更新するために、ターゲットコンポーネント（携帯型コントローラ１０８など）に対する識別子も入力し、ポジショニングユニット１０２は、サーバー１２２に制御信号を送信する。
【００４３】
上述のように、本発明は、位置情報を得るための様々なプロトコルに対応する。本発明は、システム１００の様々なコンポーネントの位置または動きを追跡および／または監視するために、位置情報を処理する複数の方法および／または技術を提供する。図２を参照する。フローチャート２００は、本発明の実施態様の一般的な動作フローを表す。さらに具体的には、フローチャート２００は、制御環境内でシステムコンポーネントを追跡および／または監視する制御フローの一例を示す。
【００４４】
図２を参照する。フローチャート２００の制御フローは、ステップ２０１から始まり、直ちにステップ２０３に移動する。ステップ２０３で、システム１００の適切なコンポーネントは、識別情報または追跡および／または監視されるシステムコンポーネント（すなわち、ターゲットコンポーネント）に対応するロケータコードにアクセスする。図１を参照する。本発明は、限定されないが、ポジショニングユニット１０２、テレビ１０４、コンピュータクライアント１０６、携帯型コントローラ１０８、照明機器１１０、チューナ１１４、メディアプレーヤ１１６、ケーブルボックス１１８、ＤＳＳボックス１２０、サーバー１２２、電話、防犯カメラ、防犯モニタ、および／または他の機器および／またはアプリケーションを含む、あらゆる上述のシステムコンポーネントの現在位置を判断することができる。加えて、上述のように、本発明は、ロケータコードにアクセスするための様々な実施態様を含む。ロケータコードは、送信またはポーリング携帯型コントローラ１１０または他のシステムコンポーネントのための識別子を含む。ロケータコードはまた、ポーリングまたは送信システムコンポーネントのための他の識別コードまたは情報も含むことができる。一実施態様では、他の識別情報は、送信またはポーリング携帯型コントローラ１０８、ポジショニングユニット１０２、または他のシステムコンポーネントが位置する、居住環境の領域（階、部屋など）に対する近傍識別子などを含む。
【００４５】
一実施態様では、ユーザーは、ターゲットコンポーネントに対する現在位置を手動で入力するために、テキストまたはグラフィカルインターフェイスと情報のやりとりを行う。別の実施態様では、音声コマンドインターフェイスによって、ユーザーは、ターゲットコンポーネントに対して音声コマンドを入力できるようになる。このように、ユーザーは音声で現在位置を通信する。
【００４６】
別の実施態様では、ターゲットコンポーネントは、ロケータコードにアクセスするために、ポジショニングユニット１０２と情報のやりとりを行う。例えば、ターゲットコンポーネント（携帯型コントローラ１０８など）を、近傍識別子のためにポジショニングユニット１０２にポーリングするインタロゲータに接続することができる。近傍識別子は、両システムコンポーネントに対する現在位置のためのロケータコードを含む。
【００４７】
他の例によれば、インタロゲータ４０６は、ポジショニングユニット１０２と統合することができる。したがって、ターゲットコンポーネント（携帯型コントローラ１０８など）は、インタロゲータによってポーリングされる。その結果、インタロゲータは、ポーリングしたターゲットコンポーネントに対する識別子を受信する。ロケータコードは、識別子をインタロゲータのための近傍識別子と関連づけることによって形成される。
【００４８】
ステップ２０６で、ロケータコードは、更なるポジショニング処理のために、コマンドセンターに送信される。一実施態様では、コマンドセンターは、サーバー１２２である。別の実施態様において、コマンドセンターは、ターゲットコンポーネント（携帯型コントローラ１０８、コンピュータクライアント１０６など）にある。
【００４９】
ステップ２０９で、ロケータコードは、１つの領域にマッチングされる。該領域は、特定の階、廊下、回廊、バルコニ、部屋などとすることができる。該領域は、階、廊下、回廊、バルコニ、部屋、などの範囲内の特定の領域とすることができる。該領域はまた、システム１００をホストする住居の外部の周辺部、または居住場所上の近接するまたは自立したシェルタ内の特定の領域とすることもできる。
【００５０】
ステップ２１２で、現在の領域は、ターゲットコンポーネントに通信される、および／または後の再呼び出しのためにサーバー１２２に記録される。システムコンポーネントが配置され、そのポジショニングデータが更新された後、ステップ２９５に示されるように、制御フローは終了する。
【００５１】
一実施態様では、ポジショニング情報によって、システム１００は、システム１００と情報のやりとりを行うユーザーの現在位置に基づいて、特定のシステムコンポーネントに対する命令および制御が行えるようになる。これは、図３を参照して説明することができる。図３に示されるように、フローチャート３００は、本発明の実施態様の一般的な動作フローを表す。さらに具体的には、フローチャート３００は、ユーザーの現在位置に基づいたシステムコンポーネントに対する命令および制御のための制御フローの一例を示す。
【００５２】
図３を参照する。フローチャート３００の制御フローは、ステップ３０１から始まり、直ちにステップ２０３〜２０９に移動する。図２のステップ２０３〜２０９を参照して説明したように、ロケータコードによって、システム１００は、ターゲットコンポーネント（例、携帯型コントローラ１０８）と情報のやりとりを行うユーザーの現在位置または領域を判断できるようになる。
【００５３】
ステップ３１２で、領域に対して領域プロファイルがアクセスされる。領域プロファイルは、領域内のサーバー１２２および／または携帯型コントローラ１０８からコマンドを受信および／または制御する機器および／またはアプリケーション（すなわち、システムコンポーネント）のリストを含む。
【００５４】
ステップ３１５で、ユーザーがチェックするための制御オプションを示すために、領域プロファイルが処理される。制御オプションは、該領域プロファイルに対応する機器および／またはアプリケーションのリストを含む。図２を参照して説明したように、ポジショニングは、サーバー１２２においてリモートで、またはターゲットコンポーネント（例、携帯型コントローラ１０８）においてローカルで判断することができる。リモートで判断した場合、サーバー１２２は、例えば、ユーザーインターフェイスを作成および送信して、ターゲットコンポーネント（例えば、ユーザーが操作する携帯型コントローラ１０８または他のシステムコンポーネント）上の制御オプションを表示させる。ローカルで判断した場合、ターゲットコンポーネント（携帯型コントローラ１０８など）は、領域プロファイルを検索してユーザーインターフェイスを作成する。領域プロファイルは、要求に応じてターゲットコンポーネントに送信することができる。またはターゲットコンポーネントが利用可能な領域プロファイルで定期的に更新することができる。
【００５５】
ステップ３１８で、ユーザーは、ターゲットコンポーネント（携帯型コントローラ１０８など）を操作して、領域プロファイルにおいて識別されるシステムコンポーネント（テレビ１０４、照明機器１１０など）を制御するためのリクエストを送信する。ユーザーは、システムコンポーネントの機能および／または動作を制御するためのリクエストを送信することができる。ユーザーは、コンポーネントの構成またはセキュリティプロファイルを変更するためのリクエストを送信することができる。当業者には理解されるように、他の制御リクエストを送信することができる。
【００５６】
ステップ３２１で、制御リクエストは、指定コンポーネントによって実行される。制御リクエストは、指定コンポーネントに直接送信されるか、またはサーバー１２２を介して指定コンポーネントに間接的に送信されることができる。制御リクエストが実行された後、ステップ３９５によって示されるように、制御フローは終了する。
【００５７】
例えば、ユーザーが携帯型コントローラ１０８を操作しており、システム１００によって「居間」に位置すると判断された場合、携帯型コントローラ１０８は、居間にあるシステムコンポーネントを制御するためのユーザーインターフェイスを受信する。あるシステムコンポーネントは、例えば、住居の玄関に配置された防犯カメラからビデオ入力を受信する防犯モニタを備えることができる。ユーザーは、防犯カメラを転回、傾斜、または焦点を合わせるために携帯型コントローラ１０８と情報のやりとりを行って、玄関に立っている来訪者の画像を防犯モニタ上に表示させることができる。別のシステムコンポーネントは、テレビ１０４とすることができ、携帯型コントローラ１０８は、テレビ１０４の音量またはチャンネル選択を制御するためのユーザーインターフェイスを受信することができる。ユーザーはまた、携帯型コントローラ１０８と情報のやりとりを行って、ＨＶＡＣ（すなわち、サーモスタット１１２）の設定を変更することもできる。
【００５８】
（ＩＩＩ．個人で使用するための携帯型コントローラのプロファイリング）
本発明によって、ユーザーは、携帯型コントローラ１０８を操作して他のシステムコンポーネントに対して命令および／または制御することができるようになる。一実施態様では、携帯型コントローラ１０８によって、ユーザーは、携帯型コントローラ１０８の近傍のシステムコンポーネントを制御するだけである。別の実施態様では、携帯型コントローラ１０８は、別の領域内のシステムコンポーネントを制御するオプションを提供する。
【００５９】
実施態様において、様々なシステムコンポーネントの制御は、ユーザーのために構築されるプリセットプロファイルに基づく。プロファイルは、全てのユーザーに対して汎用的とすることができ、および／または特定のユーザーに対して特別に構成することができる。特定のユーザーに対して構成した場合、本発明は、様々なプロトコルを用いて特定のユーザーを識別または認証し、該ユーザーに対して構築したプロファイルを実行する。一実施態様では、ユーザー名および／またはパスワードが、システムコンポーネント（携帯型コントローラ１０８など）に入力される。パスワードは、音声コマンド、テキスト、オブジェクト、ピクセル、などで表すことができる。別の実施態様では、システムコンポーネントによって生体認証が利用される。すなわち、ユーザーを識別および／または認証するために、網膜、虹彩、顔面、手のひら、指紋、および／または音声認識技術などを使用する。別の実施態様では、システムコンポーネント（携帯型コントローラ１０８など）によってユーザーカードを読み込む。ユーザーを識別および／または認証するために、他のユーザー識別および／または認証技術を使用することができる。本発明によって、ユーザーは、必要に応じてプロファイルを変更できるようになる。
上述の識別および／または認証技術によって、ユーザープロファイルを構築した後に他のユーザーがそのプロファイルを変更または削除することを防止する。
【００６０】
実施態様では、本発明によって、ユーザーは、システムコンポーネントに対する「お気に入り」設定を保存するためにプロファイルを構築することができる。例えば、お気に入り設定は、テレビ番組、オーディオ／ビデオの記録、室温、浴槽の制御、時計のアラーム、調光器の設定、ウェブサイト、ニュース放送、経済チャンネルなどに対して構築することができる。
【００６１】
実施態様において、ユーザーは、「プレイリスト」を作成するためのプロファイルを構築することができる。例えば、一連のビデオまたはオーディオの記録を、例えばテレビ１０４または他のオーディオクライアントで再生するために、準備および／または保存することができる。グラフィック画像または写真のシーケンスを、例えばモニタまたはコンピュータクライアント１０６で再生するために、準備および／または保存することができる。他の方式またはメディアおよび／またはマルチメディアのプレイリストも、本発明の実施態様によって作成することができることは、当業者によって理解されよう。
【００６２】
実施態様において、システムコンポーネントのためのセキュリティプロトコルを構築するために、プロファイルを作成することができる。例えば、指定されたユーザーが特定のコンテンツにアクセスできないようブロックするために、プロファイルを作成することができる。例えば、未成年のユーザーが、特定のテレビチャンネル、ウェブサイト、（鍵のかけられる部屋、引き出し、金庫などのような）領域などにアクセスできないようにすることができる。
【００６３】
実施態様では、本発明によって、ユーザーは複数のプロファイルを構築できるようになる。複数のプロファイルのそれぞれは、コンテクストに応じた行動に対して調整することができる。例えば、ユーザーは、制限されないが、照明、オーディオ／ビデオプレゼンテーション、セキュリティアクセスの警告、浴槽の制御などのプリセットを含む、夜の娯楽のためのプロファイルを作成することができる。限定されないが、乳児モニタ、クラシックレコードのプレイリスト、コーヒーメーカー、タイマー制御などを含む、ホームオフィスでの活動のための、他のプロファイルを構築することができる。限定されないが、アラーム／スヌーズの制御、コーヒーメーカーのタイマー制御、照明、ニュース放送などを含む、朝の習慣のためのプロファイルを構築することができる。
【００６４】
ユーザーはまた、他の個人とともに使用する複数のプロファイルを構築することができる。例えば、ユーザーは、未成年者と一緒である場合に、特定のテレビ番組、ウェブサイト、オーディオの記録などをブロックするように設定したセキュリティ制御を備えたプロファイルを有することができる。しかし、未成年者と一緒である場合に、ユーザーは、より自由なセキュリティ設定のプロファイルを再呼び出しすることができる。
【００６５】
このように、本発明によって場所を認識することに加えて、ユーザーを認識するための様々なシステムコンポーネント（携帯型コントローラ１０８など）が使用できるようになる。したがって、例えば、携帯型コントローラ１０８は、上述のユーザープロファイルに基づいてユーザーごとにカスタマイズすることができる。実施態様では、ユーザー認識機能によって、システム１００は、「ｆｏｌｌｏｗ−ｍｅ」システム制御を使用できるようになる。例えば、「ｆｏｌｌｏｗ−ｍｅ」ビデオは、選択したビデオ製品を制御環境の全体にわたって様々なディスプレイに転送するために使用する。ユーザーは、例えば、携帯型コントローラ１０８を操作して、ビデオ製品（テレビ番組、ＤＶＤの記録など）を選択する。該ビデオ製品は、携帯型コントローラ１０８（図７を参照して説明するメディアビューア７１０）上に表示することができる。ユーザーが制御環境内の部屋から部屋に移動すると、システム１００は、携帯型コントローラ１０８を追跡し、各領域に対する領域プロファイルを検索する。したがって、ユーザーが新しい領域または部屋に入ると、部屋内に位置するモニタまたはテレビ１０４が自動的に起動し、携帯型コントローラ１０８で選択したビデオ製品を表示する。
【００６６】
同様に、「ｆｏｌｌｏｗ−ｍｅ」オーディオも、本発明で使用することができる。このように、ユーザーは、例えば携帯型コントローラ１０８を操作して、オーディオ製品（ＣＤの記録、無線放送など）を選択することができる。ユーザーが部屋から部屋に移動するとき、本発明のポジショニング技術によって、システム１００は、オーディオ製品を携帯型コントローラ１０８の近傍に位置するクライアント、モニタなどに転送できるようになる。
【００６７】
「ｆｏｌｌｏｗ−ｍｅ」照明は、本発明の別の典型的な実施態様である。携帯型コントローラ１０８を持っているユーザーが部屋に出入りするとき、システム１００は、プロファイルの設定に基づいて照明（例、照明機器１１０）を暗くしたり、電源のオン／オフを行ったりするようにコマンドを送信する。
【００６８】
一実施態様では、システムコンポーネントの動作および／または機能を制御するために、１つ以上の制御マクロを構築することができる。制御マクロは、実行すると、サーバー１２２が１つ以上のシステムコンポーネントの複数の動作および／または機能を制御できるようになる、コマンドのセットを含む。制御マクロ（すなわち、コマンドのセット）は、後の再呼び出しおよび実行のために制御マクロファイル名に関連づけることができる。
【００６９】
ユーザーは、携帯型コントローラ１０８、コンピュータクライアント１０６、またはサーバー１２２と通信するユーザーインターフェイスによって制御マクロを定義することができる。一実施態様では、ユーザーが新しい制御マクロを定義できるようにするために、グラフィカルユーザーインターフェイスを使用することができる。図４は、本発明の一実施態様による、制御マクロを定義するための一例を示す。フローチャート４００は、ＤＶＤに記録した動画を見るための制御マクロを定義する制御フローの一例を示す。
【００７０】
図４を参照する。マクロの記録モードを通常のシステム動作から識別するために、ユーザーがマクロの記録コマンドを起動する場合、フローチャート４００の制御フローはステップ４０１から始まる。ステップ４０３で、ユーザーは、上述の機器（すなわち、携帯型コントローラ１０８、コンピュータクライアント１０６、またはサーバー１２２へのユーザーインターフェイス）のうちの１つを操作して、ユーザーが動画を視聴するために使用を望むシステムコンポーネント（テレビ１０４、モニタなど）がある部屋を選択する。
【００７１】
ステップ４０６で、選択した部屋の領域プロファイルが再呼び出しされる。上述のように、領域プロファイルは、指定された領域に位置する全てのシステムコンポーネントを識別する。一実施態様では、領域プロファイルはサーバー１２２に保存されるが、サーバー１２２は、ユーザーが利用可能な適切な領域プロファイルを検索および作成する。
【００７２】
ステップ４０９で、ユーザーは、領域プロファイルをチェックし、視聴システムコンポーネント（例、テレビ１０４）を選択する。ユーザーはまた、ＤＶＤソース（例、メディアプレーヤ１１６）のためのビデオ入力を指定する。ユーザーは、限定されないが、コントラスト、輝度などを含むあらゆる所望の設定を指定することができる。
【００７３】
ステップ４１２で、ユーザーは、所望のオーディオ設定を指定する。一実施態様では、ユーザーは、視聴システムコンポーネント（例、テレビ１０４）のボリュームレベルを設定する。別の実施態様において、ユーザーは、使用する外部スピーカまたはさらに他のオーディオクライアントを選択するか、または代わりに、視聴システムコンポーネント（例、テレビ１０４）用の内部スピーカを選択する。
【００７４】
ステップ４１５で、ユーザーは、ＤＶＤプレーヤ（すなわち、メディアプレーヤ１１６）から所望のＤＶＤ動画を選択する。あるいは、ＤＶＤプレーヤが選択した視聴システムコンポーネント（例、テレビ１０４）と同じ部屋に位置する場合、ユーザーはメディアプレーヤ１１６に、現在ロードされている動画の再生開始を命令するか、または単にメディアベイを開きユーザーが所望のＤＶＤの挿入を待つように命令することができる。
【００７５】
ステップ４１８で、ユーザーは、領域プロファイル内に示される照明機器１１０の設定を指定する。ユーザーは、所望の快適なレベルまで照明を暗くすることができる。一実施態様では、照明機器１１０は、Ｌｕｔｒｏｎ  Ｅｌｅｃｔｒｏｎｉｃｓ社（Ｃｏｏｐｅｒｓｂｕｒｇ、ＰＡ）から入手可能な、ＲａｄｉｏＲＡ家庭用調光システムを含む。このように、本発明によって、ＲａｄｉｏＲＡ調光システムのための制御コマンドを作成できるようになる。図１に戻ると、照明１１０は、Ｌｕｔｒｏｎ社のＲａｄｉｏＲＡまたはＸ−１０調光システムなどの調光システムの信号反応器１２０２によって制御される典型的な照明システムである。
【００７６】
ステップ４２１で、テレビ１０４、オーディオクライアント１１８（選択した場合）、メディアプレーヤ１１６、および照明機器１１０の仕様を実行するための制御コマンドは、共通の制御マクロと集合的に関連する。
【００７７】
ステップ４２４で、ユーザーは、制御マクロを保存して、「動画の視聴」のようなファイル名を付与する。「動画の視聴」というマクロを作成するために携帯型コントローラ１０８を使用する一実施態様では、ユーザーは、該マクロを特定のマクロボタンまたはアイコンに関連づけることができる。したがって、ユーザーが「動画を視聴する」マクロボタンを起動すると、テレビ１０４が所望の映画を再生する状態になるように、ユーザーが予め指定した選択を実行するための全ての関連するコマンドが再呼び出しされ、実行される。制御マクロを作成および保存すると起動できる状態になり、ステップ４９５に示されるように、制御フローは終了する。
【００７８】
一実施態様では、特定の制御マクロに関連するコマンドは、サーバー１２２か、またはサーバー１２２に属するデータベースまたはライブラリに保存される。したがって、制御マクロを実行するために携帯型コントローラ１０８を使用する一実施態様では、携帯型コントローラ１０８によって、ユーザーは、制御マクロを制御マクロボタンまたはアイコンに関連づけられるようになる。実行すると、制御マクロボタンは、汎用コマンドをサーバー１２２に送信する。次いで、サーバー１２２は、該汎用コマンドを関連づけたコマンドのセットを検索し、該コマンドのセットを適切なシステムコンポーネントに送信して実行する。すなわち、本発明によって、携帯型コントローラ１０８のようなモバイル機器は、単一の高レベルのリクエストをサーバー１２２のような統合化したコマンドセンターに送信できるようになる。サーバー１２２は、その環境（例、ユーザー、位置）に基づいて単一のリクエストを翻訳し、無線（または電力線）通信を含む通信ネットワーク１８０を通じて送信する必要のある、対応するコマンドのシーケンスを検索する。
【００７９】
別様には、本発明の一実施態様によれば、部屋のプロファイルを作成した時にサーバー１２２が、保存された部屋のプロファイルを介して認識した時か、またはサーバー１２２がリアルタイムで検出した時に、選択した部屋または領域に存在する特定の機器および／またはアプリケーションに基づいて、サーバー１２２は、制御マクロを自動的に作成することができる。例えば、サーバー１２２が、居間などの部屋にＤＶＤプレーヤ（すなわち、メディアプレーヤ１１６）およびテレビ１０４があることを検出した場合、制御サーバーは、ユーザーがさらにカスタマイズできる、上述のマクロに相当する基本的な「動画を視聴する」マクロを自動的に構築する。
【００８０】
図５は、本発明の一実施態様による、制御マクロを起動させるための一例を示す。フローチャート５００は、フローチャート４００の制御マクロを起動させるための制御フローを示し、ＤＶＤに記録された動画の視聴に関する。
【００８１】
図５を参照する。フローチャート５００の制御フローは、ステップ５０１から始まり、直ちにステップ５０３に移動する。ステップ５０３で、ユーザーは、ステップ４０１〜４９５で定義される「動画を視聴する」制御マクロを起動させる。
【００８２】
ステップ５０６で、「動画を視聴する」制御マクロに関連するコマンドのセットが、それらの保存場所から再呼び出しされる。該コマンドのセットは、特定のシステムコンポーネントの機能および／または動作を制御するための、ユーザーが予め定義した仕様を含む。本例では、「動画を視聴する」制御マクロに関連するコマンドのセットは、照明機器１１０の変更、メディアプレーヤ１１６の起動、テレビ１０４の起動のためのコマンドを含む。ユーザーが、家庭用ステレオスピーカシステムで動画の音声を聞きたい場合、コマンドのセットは、適切なオーディオビデオシステムコンポーネントを起動するためのコマンドも含む。
【００８３】
制御マクロを起動するために携帯型コントローラ１０８を使用する一実施態様では、携帯型コントローラ１０８は、「動画を視聴する」制御マクロに関連する汎用コマンドを送信する。該汎用コマンドは、サーバー１２２に送信され、サーバー１２２では、「動画を視聴する」制御マクロのための汎用コマンドに関連するコマンドのセットを再呼び出しする。
【００８４】
ステップ５０９で、部屋およびシステムコンポーネント（例、テレビ１０４またはメディアプレーヤ１１６、照明機器１１０、オーディオクライアント）は、コマンドのセットによって識別される。図４を参照して説明した例では、該部屋は、制御マクロにおいて指定される。しかし、別の実施態様では、制御マクロ自身が部屋特定のものである必要がない。上述のように、本発明は、ユーザーまたは携帯型コントローラ１０８の位置を追跡するための手順および／または技術を含む。したがって、ユーザーは、ユーザーが現在位置するいずれかの部屋で動画を視聴するために、制御マクロ（「動画を視聴する」制御マクロなど）を起動するように要求することができる。このように、サーバー１２２は、ユーザーの現在位置が、制御マクロを実行する部屋であると指定する。同様に、サーバー１２２は、ユーザーの現在位置の部屋のプロファイルを検索し、指定された部屋に位置する視聴コンポーネント、メディアプレーヤ、および照明コンポーネントを識別することができる。
【００８５】
ステップ５１２で、機器のアクセス許可が、ステップ５０９で識別された各システムコンポーネントに対して認証される。上述のように、種々のシステムコンポーネントの操作に関する制限は、サーバー１２２によって実行されるセキュリティプロトコルによって構築および監視される。したがって、本発明は、ユーザーが制御マクロにおいて指定されたシステムコンポーネント（実際のＤＶＤを含む）の操作を許可されているかどうかを判断するための、また「動画を視聴する」制御マクロを要求するユーザーを識別または認証するための手順および／または技術を提供する。ユーザーが、指定されたシステムコンポーネントへアクセスする許可を得られなかった場合、アクセスがブロックされたことを知らせるメッセージを該ユーザーに送信することができる。
【００８６】
ステップ５１５で、本発明は、どのコマンドが、ステップ５０９で識別された各システムコンポーネントに関連するのかを判断する。例えば、ビューアの設定を指定する制御コマンドは、テレビ１０４のキューに入れられる。同様に、照明の設定を指定するための制御コマンドは、照明機器１１０のキューに入れられる。
【００８７】
一実施態様では、サーバー１２２は、各システムコンポーネントのためのコンポーネント固有のコマンドを割り当てる。コンポーネント固有のコマンドは、符号化され、適切なプロトコルを介して指定されたシステムコンポーネントに送信される。サーバー１２２はまた、各システムコンポーネントの状態を追跡するためにその記録を更新する。
【００８８】
ステップ５１８で、各システムコンポーネントは、コンポーネント固有のコマンドを受信して実行する。このように、特定の部屋の照明（すなわち、照明機器１１０）は自動的に暗くされ、特定のテレビ１０４の電源が入れられ、予め定義されたように構成される。特定のＤＶＤプレーヤ（すなわち、メディアプレーヤ１１６）も同様に起動される。制御マクロで指定されたスピーカのオプションに依存して、識別されたオーディオコンポーネントも起動され、ＤＶＤプレーヤから送られるオーディオを待つ。
【００８９】
ステップ５２１で、制御スクリーンは、ユーザーが制御マクロを起動するように操作したユーザーインターフェイスに送信される。携帯型コントローラ１０８を使用する場合、制御スクリーンがディスプレイ上に現れ、制御マクロが適切に実行されてＤＶＤの動画の再生を始める準備ができたこと（または、オプションを選択した場合は、ＤＶＤプレーヤが所望の動画を受信する準備ができたこと）を示す。その後、ステップ５９５に示されるように、制御フローは終了する。
【００９０】
上述のように、ユーザーによって基本的な「動画を視聴する」マクロを実行するように割り当てられた、携帯型コントローラ１０８上の特定のキーをユーザーが押した場合、携帯型コントローラ１０８は、中央ネットワークサーバー１２２にリクエストを送信する。そしてまた、中央サーバー１２２は、８０２．１１／ＩＲブリッジ１３０を介して種々の家庭用電子機器への無線ネットワーク接続を有する。したがって、携帯型コントローラ１０８から「動画を視聴する」リクエストを受信すると、サーバー１２２は、コマンド信号のシーケンスを送信して、ユーザーがＤＶＤを視聴できるようにする（例えば、メディアプレーヤ１１６および関連するテレビ１０４またはモニタの電源を入れ、メディアプレーヤ１１６にＤＶＤの再生を始めるように命令する）、複数の機能を実行する。
【００９１】
本発明は、ハードキーを実装したものに限定されない。一実施態様では、携帯型コントローラ１０８は、スクリーンを備えたＰＤＡであり、中央ネットワークサーバー１２２への無線インターフェイスとしての機能を果たす。本実施態様では、ユーザーが、携帯型コントローラ１０８のためのＧＵＩ上の「ソフト」、「動画を視聴する」マクロのボタンまたはアイコンを起動させた時に、ユーザーの「動画を視聴する」マクロのリクエストがサーバー１２２に転送される。次いで、サーバー１２２は、いずれもサーバー１２２へのネットワーク接続を有する、テレビ１０４およびメディアプレーヤ１１６に適切なコマンドを送信する。本発明の利点は、ユーザーが、制御可能な機器の照準線上に存在する必要がないことであるが、従来のＩＲリモートコントロールユニットではそのようにする必要がある。
【００９２】
本発明の一実施態様によれば、ユーザーは、携帯型コントローラ１０８上のハードまたはソフトキーを起動することによって、制御マクロの動作を物理的に始めなければならない。本発明の他の実施態様では、制御マクロは、ユーザーがほとんど介入せずに制御マクロが自動的に実行される。制御マクロは、（ｉ）特定の時間および／または特定のイベントの発生時に自動的に実行するように定義できるか、または（ｉｉ）特定のコンテキストにおけるアプリケーションに対して自動的に特殊化できる、コマンド動作のシーケンスを介して実行される。
【００９３】
（Ａ．時間ベースの実行）
本発明の一実施態様では、制御コマンドの所定のシーケンスは、プリセットした時間（すなわち、時計ベース）、および／または日付（すなわち、カレンダベース）になった時に、自動的に（すなわち、ユーザーが直接介入せずに）実行される。例えば、ユーザーは、テレビ１０４および衛星テレビチューナ１１４を本人の寝室に備えることができる。ユーザーは、本人の「起床」の日課として、午前６時３０分に寝室のテレビ１０４の電源を自動的に入れて、特定のチャンネルに合わせたいと望む場合がある。これは、本発明と一致する制御マクロによって達成することができる。
【００９４】
寝室のテレビ１０４および照明１１０が、無線ネットワーク１８０を介して中央サーバー１２２に接続されている場合、中央サーバー１２２は、午前６時３０分に照明１１０を点灯し、テレビ１０４の電源を入れて所望のチャンネルに衛星テレビチューナ１１４を合わせるようにプログラムすることができる。上述のように、ユーザーは、中央サーバー１２２によって作成され、携帯型コントローラ１０８のスクリーン上に表示することができるＧＵＩを介して、制御マクロを構成する。中央サーバー１２２は、図１に示されるように、携帯型コントローラ１０８から物理的に独立しているか、または中央サーバー１２２自身が携帯型コントローラ１０８内に存在できる、ＰＣベースの装置とすることができる。
【００９５】
携帯型コントローラ１０８を、サーバー１２２のないスタンドアロンに基づいて操作する一実施態様では、携帯型コントローラ１０８が、適切な１つまたは複数のコマンドをそれぞれの制御可能なコンポーネント（例、テレビ１０４）に直接出すか、またはネットワークのアクセスポイント１８２および／またはブリッジ１３０を介して制御可能なコンポーネントに間接的に出した時に、携帯型コントローラ１０８の内部時計は、午前６時３０分に自動的に制御マクロを開始する。ユーザーは、したがって、携帯型コントローラ１０８によって作成されるＧＵＩを使用して制御マクロを構成する。
【００９６】
別様には、「起床」制御マクロは、特定の日にだけ実行するように構成することができる。例えば、ユーザーは、平日にだけ「起床」制御マクロの実行を所望する場合がある。したがって、該ユーザーは、「起床」制御マクロを平日にだけ実行するように、中央サーバー１２２または携帯型コントローラ１０８をプログラムすることができる。
【００９７】
図１０は、本発明の一実施態様による、時間ベースの制御マクロを構成するためのユーザーインターフェイス１０００を示す。ユーザーインターフェイス１０００は、構成制御フィールド１００２、名前フィールド１００４、時間フィールド１００６、反復フィールド１００８、反復定義フィールド１０１０、制御可能アクティビティフィールド１０１２、および受入れアクティベータ１０１４を備える。
【００９８】
構成制御フィールド１００２は、時間ベースの制御マクロを設定するための構成レベルを表す。構成制御フィールド１００２に示されるように、「起床」制御マクロは、家庭用制御システム１００のような制御環境の寝室内で生じるように予定されている。
【００９９】
名前フィールド１００４によって、ユーザーは、制御マクロの名前をパーソナライズすることができる。この例では、制御マクロは、「起床」に指定されている。
【０１００】
時間フィールド１００６によって、ユーザーは、制御マクロを実行する時間を指定できる。反復フィールド１００８では、制御マクロを繰り返すのか（すなわち、反復イベント）、または一度だけ行うのか（すなわち、非反復イベント）、を指定する。反復定義フィールド１０１０で使用できる選択肢は、反復フィールド１００８での入力によって決まる。反復フィールド１００８で反復イベントを指定すると、反復フィールド１０１０によって、ユーザーは、反復の頻度を指定できる。例えば、制御マクロは、毎日、隔週、毎週、隔月、毎月、年ごとなどの頻度で繰り返すように予定することができる。制御マクロは、週末のみ、平日のみ、偶数日のみ、または指定した休日、誕生日、または記念日などにのみ実行するように予定することができる。一実施態様では、ユーザーが、制御マクロを実行する開始日および／または終了日を指定できるようにするフィールドを備える。
【０１０１】
制御可能アクティビティフィールド１０１２によって、ユーザーは、制御マクロの実行時に生じる１つまたは複数の特定のイベントを識別することができる。例えば、ユーザーは、テレビ１０４の電源を入れて特定のチャンネルに合わせる（図１０に「ケーブルテレビを視聴する」で示す）こと、テレビ１０４およびＤＶＤプレーヤ（すなわち、メディアプレーヤ１１６）の電源を入れて指定した動画を見る（図１０に「ＤＶＤを視聴する」で示す）こと、ステレオの電源を入れて指定した周波数のチャンネルに合わせる（図１０に「衛星ラジオを聴く」で示す）こと、照明１１０を点灯すること、起床アラームなどを要求することができる。
【０１０２】
各フィールド（例、時間フィールド１００６、反復定義フィールド１０１０、制御可能アクティビティフィールド１０１２など）に対するオプションは、ドロップダウンメニューに予め定義して表示することができる。または、ユーザーは、入力機器を使用して、所望のパラメータを手動で入力することができる。
【０１０３】
受入れアクティベータ１０１４によって、ユーザーは、選択を終了させ、中央サーバーに新しく定義した制御マクロを受け入れるように命令することができる。ユーザーインターフェイス１０００のフィールドが適切に入力されると、ユーザーは、入力機器（マウス、スタイラス、フィンガーなど）を操作して、受入れアクティベータ１０１４に触れることができ、ユーザーインターフェイス１０００からの入力は、中央サーバー１２２で処理され、必要に応じて次のユーザーインターフェイスが示される。
【０１０４】
図１０に示されるように、「ケーブルＴＶを視聴する」を制御可能アクティビティフィールド１０１２において所望のアクティビティとして選択する。したがって、ユーザーは、所望のアクティビティを実行するための主たるシステムコンポーネントおよび関連するシステムコンポーネントを指定する必要がある。図１１は、本発明の一実施態様による、時間ベースの制御マクロを実行するために制御可能なシステムコンポーネントを構成するためのユーザーインターフェイス１１００を示す。構成制御フィールド１００２に示すように、テレビ１０４は、制御環境（例、居住制御システム１００）の寝室内で「起床」制御マクロを実行するように構成されている。
【０１０５】
ユーザーインターフェイス１１００は、入力フィールド１１０４、オーディオフィールド１１０３、および、キャプションフィールド１１０８を備える。入力フィールド１１０４によって、ユーザーは、予定したテレビのイベントに対する入力ソースを指定することができる。図に示されるように、ユーザーは、ケーブルソース（例、ケーブルボックス１１８）から入力を要求される。他のオプションには、ＤＳＳボックス１２０から送られる衛星放送、チューナ１１４またはテレビ１０４に接続されたアンテナから放送する無線放送、メディアプレーヤ１１６（ＰＶＲ、ＶＣＲ、ＤＶＤなど）などが挙げられる。
【０１０６】
オーディオフィールド１１０６によって、ユーザーは、オーディオレベルを指定することができる。オーディオレベルは、ミュートまたは所定のデシベルレベルにすることができる。
【０１０７】
キャプションフィールド１１０８によって、ユーザーは、テキストまたは字幕のオプションを要求することができる。ユーザーインターフェイス１１００での適切な完了時に、ユーザーは、入力機器（マウス、スタイラス、フィンガーなど）を操作して、受入れアクティベータ１０１４に触れることができ、ユーザーインターフェイス１１００からの入力は、中央サーバー１２２で処理され、必要に応じて次のユーザーインターフェイスが示される。
【０１０８】
図１１に示されるように、「ケーブル」は、テレビ１０４のための所望の入力ソースとして選択される。したがって、ユーザーは、主たるシステムコンポーネントのテレビ１０４への入力を提供するために、関連するシステムコンポーネントを構成する必要があるが、この例では、所望のアクティビティを実行するためのケーブルチャンネルを指定する。図１２は、本発明の一実施態様による、時間ベースの制御マクロを実行するために、関連する制御可能なシステムコンポーネントを構成するためのユーザーインターフェイス１２００を示す。構成制御フィールド１００２に示されるように、ケーブルボックス１１８は、制御環境（例、居住制御システム１００）の寝室内で「起床」制御マクロを実行するように構成されている。
【０１０９】
ユーザーインターフェイス１２００は、ユーザーに所望のチャンネルを指定させる、チャンネルフィールド１２０４を備える。チャンネルフィールド１２０４の適切な完了時に、ユーザーは、受入れアクティベータ１０１４を起動させることができ、ユーザーインターフェイス１２００からの入力は、中央サーバー１２２で処理される。ユーザーが、必要に応じて更なるシステムコンポーネントを構成できるように、更なるユーザーインターフェイスを示すことができる。
【０１１０】
（Ｂ．状態またはイベントベースの実行）
本発明の一実施態様では、制御コマンドの所定のシーケンスは、特定のイベントが生じた時、または特定のシステムまたはコンポーネントの状態が生じた時に始まる。例えば、制御マクロは、システムコンポーネント（例、家庭用電子機器）が特定の状態（例えば、居間にあるテレビ１０４の電源が入れられた状態）にあることが検出された時に、自動的に実行される。参照することにより本願明細書に全体が組み込まれる、係属中の出願、名称「Ｌｅｇａｃｙ  Ｄｅｖｉｃｅ  Ｂｒｉｄｇｅ  ｆｏｒ  Ｒｅｓｉｄｅｎｔｉａｌ  ｏｒ  Ｎｏｎ−Ｒｅｓｉｄｅｎｔｉａｌ  Ｎｅｔｗｏｒｋｓ」（米国特許出願第１０／３８７，５９０号、２００３年３月１４日出願）に記載されているように、家庭用電子機器のオン／オフ状態は、状態検出器を使用することによって判断することができる。当該の状態検出器は、テレビ１０４用のスクリーン向けである光電性プローブのように単純にするか、または基本的なオン／オフメーターとして機能するようにできる。光電性プローブが、テレビ１０４のスクリーンからの発光（または、代わりに、テレビ１０４用ＬＥＤ電源インジケータの赤色光から緑色光への変化）を感知すると、プローブはその情報を中央サーバー１２２に渡し、そこではテレビ１０４が「オン」の状態にあると判断する。
【０１１１】
該サーバーは、居間のテレビ１０４が「オン」の状態であることを検出または判断すると、次いで、所望の制御マクロを定義する適切なコマンドのシーケンスをそれぞれのシステムコンポーネントに自動的に送信する。例えば、サーバー１２２は、テレビ１０４の電源が入ったら居間の照明を暗くしてＤＶＤやメディアプレーヤ１１６を起動させる、「ＤＶＤを視聴する」マクロを実行するようにプログラムすることができる。
【０１１２】
本発明の別の実施態様では、（状態とは対照的な）特定の検出可能なイベントの発生は、予めプログラムされたマクロを即座に自動実行する役目を果たすことができる。例えば、窓（またはドア）には、中央サーバー１２２に接続され、その窓が開いているかどうかを中央サーバー１２２に知らせるために、電気や磁気、あるいは光センサーを備えることができる。台所の窓が開いていることを検出した時、サーバー１２２は、「セキュリティ」制御マクロを自動的に実行することができる。この制御マクロは、台所の照明１１０の電源を入れ、および／または警報器を鳴らす（すなわち、照明１１０および警報器は、中央サーバー１２２へのネットワーク接続を有する）。または、例えば、ドアベル（ドアベルは中央サーバー１２２へのネットワーク接続を有する）が鳴らされた時に、サーバー１２２は、屋外の照明を点灯する制御マクロを実行することができる。
【０１１３】
本発明の制御マクロはまた、状態、イベント、および時間との組み合わせに応じて起動させることもできる。例えば、上述の「セキュリティ」マクロは、週末（すなわち、日付）の午後１０時以降（すなわち、時間）に台所の窓が開けられている（すなわち、状態）場合にのみ起動させることができる。
【０１１４】
図６は、所定の時間、日付、状態、イベント等の「開始」パラメータが生じた時に起動される、制御マクロを定義するための一例を示す。図６を参照する。ユーザーがマクロの記録コマンドを起動した時に、フローチャート６００の制御フローは、ステップ６０１から始まる。
【０１１５】
ステップ６０３で、ユーザーは、上述の機器（すなわち、携帯型コントローラ１０８、コンピュータクライアント１０６、サーバー１２２へのユーザーインターフェイスなど）のうちの１つを操作して、制御マクロを構築するために１つ以上のシステムコンポーネントの設定を識別および指定する。例えば、ユーザーは、図４のステップ４０３〜４１８によって上述のように動画を視聴するために、複数のオーディオビデオ機器を構成することができる。別の例として、ユーザーは、上述のような「起床」制御マクロを作成するために、寝室の照明１１０、テレビ１０４、およびチューナ１１４を構成することができる。ユーザーはまた、上述のような「セキュリティ」制御マクロを定義するために、警報システム、照明１１０、防犯カメラ、およびモニタの動作を構成することもできる。上述の例がすべてをいうわけではない。他の種類のシステムコンポーネントおよびシステムコンポーネントの組み合わせを、本願明細書において述べたように構成し制御マクロに関連づけることができる。
【０１１６】
上述のように、一実施態様では、制御マクロはサーバー１２２によって自動的に作成することができる。このように、ステップ６０３で、サーバー１２２は、例えば、保存した部屋のプロファイルから検出された時、または部屋のプロファイルが作成されたことをリアルタイムで検出した時に、選択された部屋または領域内に適切なシステムコンポーネントが存在することを検出することによって、ＤＶＤを視聴するように制御マクロを設定することができる。
【０１１７】
ステップ６０６で、ユーザーは、起動したときに、ステップ６０３で指定される制御マクロを自動的に実行できるようにする、開始パラメータを指定する。上述のように、開始パラメータは、所定の時間、日付、状態、イベントなどとすることができる。開始パラメータはまた、開始パラメータを組み合わせたものとすることもできる。
【０１１８】
ステップ６０９で、仕様をステップ６０３〜６０６で実行するための制御コマンドは、制御マクロに集合的に関連する。ステップ６１２で、制御マクロにはファイル名が与えられ、保存場所に保存される。携帯型コントローラ１０８および中央サーバー１２２を使用する一実施態様では、制御マクロは携帯型コントローラ１０８に保存され、関連する制御コマンドは中央サーバー１２２に保存される。別の実施態様では、制御マクロおよび関連する制御コマンドは、サーバー１２２に保存される。（上述のように）中央サーバー１２２を用いない一実施態様では、制御マクロおよび関連する制御コマンドのどちらも携帯型コントローラ１０８に保存される。
【０１１９】
制御マクロが作成および保存された後、制御マクロは、１つまたは複数の開始パラメータが発生した時に起動できる状態になり、ステップ６９５に示されるように、制御フローは終了する。
【０１２０】
図７は、本発明の一実施態様による、自動的に実行可能な制御マクロを起動させるための一例を示す。フローチャート７００は、フローチャート６００の制御マクロを起動させるための制御フローを示す。
【０１２１】
図７を参照する。フローチャート７００の制御フローは、ステップ７０１から始まり、直ちにステップ７０３に移動する。ステップ７０３で、開始パラメータの発生は、携帯型コントローラ１０８、サーバー１２２、または携帯型コントローラ１０８またはサーバー１２２と通信するいくつかの他のシステムコンポーネントによって検出される。開始パラメータの発生を検出すると、ステップ７０６で、開始パラメータの発生に関連する制御マクロにアクセスし起動させる。
【０１２２】
例えば、開始パラメータは、所定の日付／時刻およびコンポーネントの状態とすることができる。すなわち、ユーザーは、１月中の午後８時以降にテレビ１０４の電源が入った場合に、部屋の照明を点灯させるように制御マクロを設定することが可能である。開始パラメータは、したがって、日および時間（すなわち、１月１日から３１日の午後８時以降）およびコンポーネントの状態（すなわち、テレビの電源が入れられている）を組み合わせたものとなる。このように、誰かが１月中の午後８時以降にテレビの電源を入れた場合、ステップ７０３で、状態検出器は、上述のように中央サーバー１２２に信号を送る。その後、ステップ７０６で、部屋の照明を点灯するために、制御コマンドが送信される。
【０１２３】
一実施態様では、ユーザーの役割は、ステップ５１２で述べたように、制御コマンドを起動する前に構築および照合することができる。他の実施態様では、特定の領域および／または制御可能なシステムコンポーネントは、ステップ５０９〜５２１で述べたように、識別および命令される。
【０１２４】
所定の開始パラメータが発生した時に、制御マクロが自動的に実行された後、ステップ７９５に示されるように、制御フローは終了する。
【０１２５】
（Ｃ．コンテキストベースのマクロ）
上述のように、（図５のステップ５０９を参照して）、制御マクロは、部屋特定のものとする必要がない。実際に、本発明の一実施態様によれば、一般制御マクロ（例えば「ＴＶの電源オン」マクロ）は、ある種のコンテキスト（例、特定の部屋）で使用するために自動的に特殊化することができる。固定された所定のコマンドのシーケンスによって定義される制御マクロとは異なり、本発明の「コンテキストベースの」制御マクロは、下位のコマンドは異なっていて、それが適用されるそれぞれのコンテキストに対して自動的に作成される、という意味においては動的である。
【０１２６】
上述のように、「ＤＶＤを視聴する」マクロは、システムコンポーネントのセットを制御するために、構築および使用することができる。したがって、居間の娯楽センター（例えば、ＳＯＮＹ社のＴＶおよびＰＨＩＬＩＰＳ社のＤＶＤプレーヤを備える場合がある）のために特に作成された「ＤＶＤを視聴する」マクロは、異なるシステムコンポーネントのセット（例えば、ＲＣＡ社のＴＶおよびＳＡＭＳＵＮＧ社のＤＶＤプレーヤ）を備える寝室では使用できない。ユーザーが、住居内の全てのテレビおよびＤＶＤプレーヤを制御できる「汎用」のリモコンを所有していても、該ユーザーは依然として各部屋の特定のシステムコンポーネントのセットに対して異なる「ＤＶＤを視聴する」マクロをプログラムしなければならない。
【０１２７】
本発明は、ユーザーが、ユーザーの家庭内の家庭用電子機器および汎用アプリケーションのための他のシステムコンポーネント（システム１００）を制御するために、一般マクロをプログラムできるようにする手順および／または技術を含む。一実施態様では、一般マクロを起動する場合、該マクロは、特定の部屋に備えられたシステムコンポーネントに即してマクロを実行するために、中央サーバー１２２（家庭用電子機器および他のシステムコンポーネントとのネットワーク接触を有する）によって解釈される。例えば、ユーザーは、システムコンポーネントが部屋ごとに異なることに関係なく、住居全体（例、システム１００）で使用できる「ＤＶＤを視聴する」一般マクロ（例えば、テレビ１０４、ＤＶＤやメディアプレーヤの電源を入れ、ＤＶＤを再生する）をプログラムすることができる。
【０１２８】
上述のように、「位置認識」プロトコルによって、中央サーバー１２２および／または携帯型コントローラ１０８は、ユーザーがどんな部屋に入って、その部屋のシステムコンポーネントを携帯型コントローラ１０８で制御しようとしているのかを検出できるようになる。本発明に関して、ユーザーが、本人の部屋において「ＤＶＤを視聴する」一般マクロを起動した場合、中央サーバー１２２は、ユーザーが現在存在する部屋（例、居間）に即して一般マクロを解釈する。したがって、中央サーバー１２２は、居間で起動された「ＤＶＤを視聴する」一般マクロに対応する適切なコマンド（例えば、居間にあるＳＯＮＹ社のＴＶおよびＰＨＩＬＩＰＳ社のＤＶＤプレーヤの電源を入れる）を発行する。同様に、ユーザーが、本人の寝室において、同一の「ＤＶＤを視聴する」一般マクロを起動した場合、中央サーバー１２２は、寝室で起動された一般マクロを検出し、適切なコマンドをユーザーの寝室にあるＲＣＡ社のＴＶおよびＳＡＭＳＵＮＧ社のＤＶＤプレーヤに送信する。このように、ユーザーは、制御環境を通して見出される、異なるシステムコンポーネントのセットに使用できる単一の「ＤＶＤを視聴する」一般マクロをプログラムおよび維持するだけでよい。
【０１２９】
コンテキストベースのマクロの他の例には、マクロが起動される部屋に即して自動的に実行される、「照明を点灯する」一般マクロが挙げられる。したがって、本発明によれば、ユーザーが、台所で「照明を点灯する」マクロを起動した場合、中央サーバーは、台所にある照明だけを点灯する。このように、ユーザーは、住居内の各部屋に対して異なる「照明を点灯する」マクロをプログラムおよび維持する必要がない。
【０１３０】
図８は、本発明の一実施態様による、コンテキストベースの制御マクロを定義するための一例を示す。図８を参照する。ユーザーがマクロの記録コマンドを起動した場合に、フローチャート８００の制御フローはステップ８０１から始まる。
【０１３１】
ステップ８０３で、ユーザーは、上述の機器（すなわち、携帯型コントローラ１０８、コンピュータクライアント１０６、またはサーバー１２２へのユーザーインターフェイス）のうちの１つを操作して、１つ以上のシステムコンポーネントの動作および／または機能を制御するために、一般制御マクロを構築する。しかし、ユーザーは、特に、システムコンポーネントを識別するのではなく、むしろ所望の結果に対する設定を指定する。例えば、図４で述べた「動画を視聴する」例を参照して、ユーザーは、所望の結果（例、記録したＤＶＤを視聴する）を作成する必要のあるシステムコンポーネントの「種類」を指定し、そのコンポーネントのための設定を構成する。
【０１３２】
一実施態様では、スクリーンは、特定のテレビ１０４と無関係なテレビ１０４のようなコンポーネントの種類の識別だけを行うユーザーに示される。ユーザーは、スクリーンと情報のやりとりを行って、上述のステップ４０９を参照して、テレビ１０４のための所望の設定を指定するが、特定の機器（例えば、居間にあるＳＯＮＹのテレビ）は、制御スクリーンにおいて識別されない。ユーザーは、類似した種類のコンポーネントのスクリーンを完了して、所望の結果の作成が必要な他の種類のシステムコンポーネントの所望の設定を指定する。図４を参照する。他の種類のシステムコンポーネントは、オーディオクライアント、ＤＶＤ／メディアプレーヤ１１６、および照明機器１１０である。これらの種類のシステムコンポーネントの設定は、特定のコンポーネントを識別せずに構築される。所望の結果に応じて、他の種類のシステムコンポーネントおよびシステムコンポーネントを組み合わせたものを、本願明細書で述べたように、構築および一般制御マクロに関連づけることができる。
【０１３３】
図６を参照する。上述のように、一実施態様では、ユーザーは、開始パラメータを指定することができる。上述のように、ユーザーは、１つ以上の開始パラメータが発生したときに、自動的に実行するように、一般制御マクロをプログラムすることができる。
【０１３４】
ステップ８０６で、仕様をステップ８０３から実行するための制御コマンドは、一般制御マクロに関連づけられる。ステップ８０９で、一般制御マクロにはファイル名が与えられ、保存場所に保存される。携帯型コントローラ１０８および中央サーバー１２２を使用した一実施態様では、一般制御マクロは携帯型コントローラ１０８に保存され、関連する制御コマンドは中央のサーバー１２２に保存される。別の実施態様では、一般制御マクロおよび関連する制御コマンドは、サーバー１２２に保存される。（上述のように）中央サーバー１２２を用いない一実施態様では、一般制御マクロおよび関連する制御コマンドのどちらも携帯型コントローラ１０８に保存される。
【０１３５】
別様には、コンテキストベースの制御マクロは、参照することによりその全体が組み込まれる、名称「Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｍｕｌｔｉ−Ｄｅｖｉｃｅ  Ｃｏｎｔｒｏｌ」（米国特許仮出願第６０／５１６，３０２）に記載されているように、システムコンポーネントの標準設定プロセスを介して情報を入力することによって、システムコンポーネント間の関連をユーザーが定義する時に作成することができる。例えば、ユーザーが所望する各体験（例、ＤＶＤを視聴する、衛星テレビを視聴する、ＣＤを聴くなど）に対して、ユーザーは、その体験に関連してどのシステムコンポーネントを起動する必要があるのか、起動した各システムコンポーネントに対してどのような設定があるのか、各システムコンポーネントが入力（例、受信器、アンプ、テレビ１０４）を備えているかどうか、どのようなシステムコンポーネントがそれらの入力に接続されているのか、などを含む、特定の情報を提供するように求められる。この情報から、制御スクリプトのセットが特定のユーザー体験に対して生成される。スクリプト内のコマンドは、その体験のためのユーザーインターフェイスに対する動作によって起動される。スクリプト内のコマンドは、次いで、それらが作用するシステムコンポーネントに関するシステムコンポーネント固有のコマンドを起動する（例えば、「ＤＶＤを視聴する」マクロの起動が、テレビ１０４およびＤＶＤプレーヤ（例、メディアプレーヤ１１６に対する「オン」コマンドを起動する））。
【０１３６】
一般制御マクロが作成および保存された後、制御マクロが起動できる状態になり、ステップ８９５に示されるように、制御フローは終了する。
【０１３７】
図９は、本発明の一実施態様による、コンテキストベースの制御マクロを起動させるための一例を示す。フローチャート９００は、フローチャート８００の制御マクロを起動させるための制御フローを示す。
【０１３８】
図９を参照する。フローチャート９００の制御フローは、ステップ９０１から始まり、直ちにステップ９０３に移動する。
【０１３９】
ステップ９０３で、ステップ８０１〜８９５において定義される一般制御マクロを起動させる。制御マクロは、ユーザーが携帯型コントローラ１０８を操作して起動することができる。または、制御マクロは、図７に示されるように、１つまたは複数の開始パラメータが生じた時に自動的に起動することができる。
【０１４０】
図９を参照する。ステップ９０６で、一般制御マクロに関連するコマンドのセットが、それらの保存場所から再呼び出しされる。該コマンドのセットは、１つまたは複数の特定の種類の１つまたは複数のシステムコンポーネントの機能または動作を制御するための、ユーザーが予め定義した仕様を含む。図４に記述される「動画を視聴する」例において、「動画を視聴する」一般制御マクロに関連するコマンドのセットは、照明機器１１０の変更、メディアプレーヤ１１６の起動、テレビ１０４の起動、およびオーディオクライアントの起動に対するコマンドを含むが、特定のシステムコンポーネントは該コマンドでは識別されない。
【０１４１】
ステップ９０９で、特定の領域および１つ以上のシステムコンポーネント（例、テレビ１０４またはメディアプレーヤ１１６、照明機器１１０、オーディオクライアントなど）が、コマンドのセットのために識別される。図４を参照する。上述のように、ユーザーは、制御マクロを構築する時に領域を指定することができる。また、上述のように、本発明は、ユーザーまたは携帯型コントローラ１０８の位置を追跡するための手順および／または技術を含む。したがって、ユーザーは、ユーザーが現在位置する制御環境１００のいずれかの領域で動画を視聴するために、一般制御マクロを起動するように要求することができる。このように、サーバー１２２は、ユーザーの現在位置が、制御マクロを実行する領域であると指定する。サーバー１２２はまた、ユーザーの現在位置に対する領域プロファイルを検索し、指定した領域に位置するシステムコンポーネント（メディアプレーヤ１１６、照明機器１１０など）を識別する。一実施態様では、ユーザーの役割は、各識別されたシステムコンポーネントに対して構築および照合することができる。
【０１４２】
ステップ９１２で、本発明は、どのコマンドが、ステップ９０９で識別された各システムコンポーネントに関連するのかを判断する。ステップ９１５で、各識別されたシステムコンポーネントは、コンポーネント固有のコマンドを受信して実行する。「動画を視聴する」例を参照する。このように、特定の領域内の照明（すなわち、照明機器１１０）は自動的に暗くされ、特定のテレビ１０４の電源が入れられ、予め定義されたように構成される。特定のＤＶＤプレーヤ（すなわち、メディアプレーヤ１１６）も同様に起動される。制御マクロで指定されたスピーカのオプションによって、識別されたオーディオコンポーネントが同様に起動され、ＤＶＤプレーヤから送られるオーディオを待つ。コンテキストベースの制御マクロが実行された後、ステップ９９５に示されるように、制御フローは終了する。
【０１４３】
（ＩＶ．典型的なシステムの実装）
図１〜１２は、本発明を説明できる概念上の図である。本発明の実施態様は、ハードウェア、ファームウェア、ソフトウェア、またはそれらを組み合わせたものにおいて使用できると理解されたい。当該の実施態様では、本発明の機能を実行するために、様々なコンポーネントおよびステップが、ハードウェア、ファームウェア、および／またはソフトウェアにおいて使用される。すなわち、ハードウェア、ファームウェア、またはソフトウェアのモジュールの同一部分は、１つ以上の図示されたブロック（すなわち、コンポーネントまたはステップ）を実行することができる。
【０１４４】
加えて、本発明は、本願明細書に記述される機能を実行できる１つ以上のコンピュータシステムまたは他の処理システムにおいて使用することができる。図１３を参照する。本発明の実施に有用な例であるコンピュータシステム１０００を示す。様々な実施態様を、この例示的コンピュータシステム１３００に関して説明する。この記述を読んだ後、当業者には、他のコンピュータシステムおよび／またはコンピュータアーキテクチャを使用して、どのように本発明を実施するのかが明らかになろう。
【０１４５】
コンピュータシステム１３００は、プロセッサ１３０４のような１つ以上のプロセッサを備える。プロセッサ１３０４は、特殊用途向けまたは汎用デジタル信号処理装置とすることができる。プロセッサ１３０４は、通信インフラ１３０６（例、通信バス、クロスオーバーバー、またはネットワーク）に接続される。
【０１４６】
コンピュータシステム１３００は、グラフィック、テキスト、および他のデータを通信インフラ１３０６（または図示しないが、フレームバッファ）からディスプレイユニット１３３０のディスプレイに転送する、ディスプレイインターフェイス１３０２を備える。
【０１４７】
コンピュータシステム１３００はまた、メインメモリ１３０８、好ましくはランダムアクセスメモリ（ＲＡＭ）を備え、二次メモリ１３１０を含むこともできる。二次メモリ１３１０には、例えば、ハードディスクドライブ１３１２および／またはフロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光学ディスクドライブなどに相当するリムーバブル記憶ドライブ１３１４を備えることができる。リムーバブル記憶ドライブ１３１４は、周知の方法でリムーバブル記憶ユニット１３１８との読み書きを行う。リムーバブル記憶ユニット１３１８は、リムーバブル記憶ドライブ１３１４によって読み書きを行うフロッピー（登録商標）ディスク、磁気テープ、光学ディスクなどに相当する。理解されるように、リムーバブル記憶ユニット１３１８は、その中にコンピュータソフトウェア（例えば、プログラムまたは他の命令）および／またはデータが保存された、コンピュータが使用可能な記憶媒体を備える。
【０１４８】
別の実施態様では、二次メモリ１３１０は、ソフトウェアおよび／またはデータをコンピュータシステム１３００にロードさせる、他の類似する手段を備える。当該の手段には、例えば、リムーバブル記憶ユニット１３２２およびインターフェイス１３２０が挙げられる。当該の手段の例には、（ビデオゲーム機器に見られるような）プログラムカートリッジおよびカートリッジインターフェイス、（ＥＰＲＯＭ、またはＰＲＯＭのような）リムーバブルメモリチップおよび関連するソケット、およびリムーバブル記憶ユニット１３２２ならびにソフトウェアおよびデータをリムーバブル記憶ユニット１３２２からコンピュータシステム１３００に移動させる、インターフェイス１３２０が挙げられる。
【０１４９】
コンピュータシステム１３００はまた、通信インターフェイス１３２４を備えることもできる。通信インターフェイス１３２４は、コンピュータシステム１３００と外部機器との間でソフトウェアおよび／またはデータを移動させる。通信インターフェイス１３２４の例には、モデム、（イーサネット（登録商標）カードのような）ネットワークインターフェイス、通信ポート、ＰＣＭＣＩＡスロットおよびカードなどが挙げられる。通信インターフェイス１３２４を介して移動されるソフトウェアおよびデータの形態は、電子的、電磁的、または通信インターフェイスが受信することのできる他の信号とすることができる、信号１３２８である。これらの信号１３２８は、通信経路（すなわち、チャネル）を介して、通信インターフェイス１３２４に提供される。通信経路１３２６は、信号１３２８を搬送し、ワイヤーまたはケーブル、光ファイバ、電話回線、携帯電話リンク、ＲＦリンク、自由空間光通信、および他の通信チャネルを使用して実装することができる。
【０１５０】
本明細書において、「コンピュータプログラム媒体」および「コンピュータが使用可能な媒体」という用語は、概してリムーバブル記憶ユニット１３１８、リムーバブル記憶ユニット１３２２、ハードディスクドライブ１３１２に組み込まれるハードディスク、および信号１３２８のような媒体を指すために使用される。これらのコンピュータプログラム製品は、ソフトウェアをコンピュータシステム１３００に提供するための手段である。一実施態様では、本発明は、当該のコンピュータプログラム製品を対象とする。
【０１５１】
コンピュータプログラム（コンピュータ制御ロジックまたはコンピュータ可読のプログラムコードとも呼ばれる）は、メインメモリ１３０８および／または二次メモリ１３１０に保存される。コンピュータプログラムはまた、通信インターフェイス１３２４を介して受信することもできる。実行すると、当該のコンピュータプログラムによって、コンピュータシステム１３００は、本願明細書で述べるように本発明を実施することができるようになる。特に、実行すると、コンピュータプログラムによって、プロセッサ１３０４は、例えば、携帯型コントローラ１０８、サーバー１２２および／または、例えば、方法２００、３００、４００、５００、６００、７００、８００、および／または９００のような上述のシステム１００の他のシステムコンポーネントを使用して実行される方法のような、本発明の処理を実行できるようになる。したがって、当該のコンピュータプログラムは、コンピュータシステム１３００のコントローラに相当する。
【０１５２】
ソフトウェアを使用して本発明が実行される一実施態様では、ソフトウェアをコンピュータプログラム製品に保存することができ、リムーバブル記憶ドライブ１３１４、ハードディスク装置１３１２、または通信インターフェイス１３２４を使用してコンピュータシステム１３００にロードすることができる。プロセッサ１３０４によって実行すると、制御ロジック（ソフトウェア）は、プロセッサ１３０４に、本願明細書に記述されたような本発明の機能を実行させる。
【０１５３】
別の実施態様では、本発明は、主に、例えば、特定用途向け集積回路（ＡＳＩＣ）のようなハードウェアコンポーネントを使用したハードウェアにおいて実行される。本願明細書に記述される機能を実行するためのハードウェア状態機械の使用は、当業者には明らかである。
【０１５４】
さらに別の実施態様では、本発明は、ハードウェアおよびソフトウェアを組み合わせて使用して実行される。
【０１５５】
本発明の様々な実施態様を述べてきたが、それらは一例として示されたものであり、これに限定されるものではないと理解されたい。本発明の精神と範囲から逸脱することなく、形態および細部の様々な変更を行うことができることは、当業者には明らかである。さらに、上述のように、本発明の方法、システム、およびコンピュータプログラム製品は、居住環境に限定されるものではないと理解されたい。本発明は、メディアを配信し、コマンドおよび／または制御信号を指定された領域全体に分散された複数の機器および／またはアプリケーションに送信するための中央処理システムを有する他の環境においても実行することができる。住居に加えて、指定された領域には、これに限定されないが、オフィスビル、一連の小オフィス、制作スタジオ、倉庫、娯楽場、医療施設、ホテル、リゾート地、航空機、船、自動車などが挙げられる。したがって、本発明は、上述の典型的な実施態様のいずれかに限定されるものではなく、以下の請求項およびそれらの同等物によってのみ定義されるべきである。
【図１】
0005634964.tif 000002
【図２】
0005634964.tif 000003
【図３】
0005634964.tif 000004
【図４】
0005634964.tif 000005
【図５】
0005634964.tif 000006
【図６】
0005634964.tif 000007
【図７】
0005634964.tif 000008
【図８】
0005634964.tif 000009
【図９】
0005634964.tif 000010
【図１０】
0005634964.tif 000011
【図１１】
0005634964.tif 000012
【図１２】
0005634964.tif 000013
【図１３】
0005634964.tif 000014