(57)【特許請求の範囲】
【請求項１】
種々異なる製造業者の様々なタイプの機器の動作を遠隔制御するために使用される、ハンドヘルド機器の能力を表示するための命令を有する可読媒体であって、当該の命令により実行されるステップは、下記を含む、
すなわち、ソフト・キーの操作に応答していずれかの機能を実行するためにハンドヘルド機器をセットアップする必要がある状態を表す、第１の外観を有するソフト・キーの表現を表示するステップと、
ハンドヘルド機器が、ソフト・キーの操作に応答して当該の機能を実行するためにセットアップされる状態を表す、第２の外観を有するソフト・キーの表現を表示するステップとを含む可読媒体。
【請求項２】
第２の外観は、オーバレイが取り除かれた第１の外観を含む請求項１記載の可読媒体。
【請求項３】
オーバレイは、レンチの画像を備える請求項２記載の可読媒体。
【請求項４】
ソフト・キーの操作により、リモートコントロールアプリケーションが、様々な機器タイプのうちいずれかの特定機器タイプの機器の制御を行うモードにおかれる請求項１記載の可読媒体。
【請求項５】
ソフト・キーは、そのいずれかの特定タイプの機器の種々異なる製造業者の１つを指定することによってセットアップされる請求項４記載の可読媒体。
【請求項６】
ソフト・キーの操作により、様々なタイプのうち１つの機器をお気に入りチャネルにチューニングさせるように、コマンドの送信を行わせる請求項１記載の可読媒体。
【請求項７】
ソフト・キーは、様々な機器タイプのうちいずれかの特定機器タイプの種々異なる製造業者のうちの１つ、およびお気に入りチャネルのチューニングロケーションを指定することによってセットアップされる請求項６記載の可読媒体。
【請求項８】
追加のアイコンを表示することをさらに含み、追加のアイコンの起動は、セットアップするために必要な第２のソフト・キーの表現を追加するために使用される請求項１記載の可読媒体。
【請求項９】
追加のアイコンは、ハンドヘルド機器の動作モードの表現を追加するために使用される請求項８記載の可読媒体。
【請求項１０】
第１の外観を有するソフト・キーの操作により、自動的にセットアップ・ウイザードを呼び出す請求項１記載の可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連する出願情報
本出願は、２００１年１２月２０日に出願された米国仮出願第６０／３４４０２０号、および２００１年１１月２０日に出願された米国仮出願第６０／３３４７７４号の利益を主張する。
【０００２】
本発明は、一般にハンドヘルド電子機器に関し、より詳細には、ハンドヘルド電子機器に常駐する汎用遠隔制御アプリケーション用のユーザ・インタフェースに関する。
【背景技術】
【０００３】
複数の異なる民生機器の動作を制御するための汎用遠隔制御は、良く知られている。これに関して、汎用遠隔制御は、１つの機器内に３つ、４つ、５つ、および５つより多い遠隔制御を統合することによって、有益な機能を実行する。しかしながら、より多くの遠隔に制御可能な機器が、消費者の家庭に入り、かつ遠隔に制御可能な動作の数が増大するにつれ、汎用遠隔制御のユーザ・インタフェースは、ますますより複雑になってきた。この複雑性は、より多くのキーを提供する必要性から生じ、キーは、増大した数の民生機器の増大した数の動作を制御する制御コードの送信を開始するために使用される。都合の悪いことに、汎用遠隔制御のユーザ・インタフェースが、より雑然となるにつれ、汎用遠隔制御の利便性は低減した。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、汎用遠隔制御の動作、および厳密な意味での民生機器の遠隔動作を単純にする、改善されたユーザ・インタフェースを有する汎用遠隔制御に関する必要性が存在する。
【課題を解決するための手段】
【０００５】
これらの必要性に応じて、本発明は、ユーザに対して動作モード情報を表示するように機能するリモートコントロールアプリケーション・ユーザ・インタフェースを有する、ハンドヘルド電子機器に向けられる。ハンドヘルド電子機器のための代表的なプラットフォームは、携帯電子端末、ウエブ・タブレット、ラップ・トップ・コンピュータ、機能拡張された携帯電話、遠隔制御機器などの機器を含むが、これらに限定されず、以降これらの装置を、まとめて“ＰＤＡ”と呼ぶ。リモートコントロールアプリケーション・ユーザ・インタフェースの目的、利点、特徴、特性、および関係の理解は、以下の詳細な記載、および例示的な実施形態を示す添付の図面から得られ、例示的な実施形態は、リモートコントロールアプリケーション・ユーザ・インタフェースの原理を用いることができる様々な方法を示すものである。
【０００６】
リモートコントロールアプリケーション・ユーザ・インタフェースのより良好な理解のために、添付の図面に示される様々な好ましい実施形態が参照されなければならない。
【発明を実施するための最良の形態】
【０００７】
次世代のホーム・オートメーションおよび民生電子制御を提供する、ハンドヘルド電子機器にある汎用遠隔制御アプリケーション用のユーザ・インタフェースの例示的な実施形態が示されかつ記載される。ハンドヘルド電子機器の代表的なプラットフォームは、民生装置ＩＲ遠隔制御コードを送信するビルトイン・サポートを含む、ウインドウズＣＥブランド・オペレーティング・システムまたはポケットＰＣタイプの機器をサポートする機器を含む。例示的な機器は、これに限定されないが、コンパック（現在ＨＰ）ｉＰＡＱブランド・モデル３９５０または３９７０などの機器を含み、この機器は、様々な民生機器の動作を制御するために使用されるリモートコントロールアプリケーションとともに、ＩＲ送信機および民生電子コマンド・コードのＩＲデータベースを収容するハードウエア・モジュールを含む。ＩＲ送信機能性を実施するためのビルトインまたはアドオン・ハードウエアのいずれかを使用する他のプラットフォーム実現も可能であり、他のウインドウズＣＥブランド・クラス・機器、または例えばＰａｌｍブランド・オペレーティング・システムなどの他のソフトウエア・システムを使用する。以下の記載は、特に、ｉＰＡＱポケットＰＣブランド・プラットフォームを使用して示されるが、これらの教示は、例えば、異なる動作環境に適合する必要がある、表示グラフック・サイズおよびレイアウト、ファイル・フォーマットなどを簡単に調整することによって、他のプラットフォームおよびソフトウエア・システムに容易に適合できることは、当業者には明らかである。
【０００８】
図１および図２を見ると、ＰＤＡ機器１１５０が、ホーム・エン-ターテイメント装置１１２０、照明１１２２、および温度制御装置１１２４などの民生機器の無線制御を提供するように適合されるシステムが示されている。例えば、ＰＤＡ１１５０が、それぞれの機器に本来供給される標準的な遠隔制御で使用される無線信号（ＩＲ、ＲＦなど）をエミュレートさせることによって、制御信号が提供される。ＰＤＡ１１５０は、また好ましくは、図２に特に示されるように、ホスト・デスクトップ・コンピュータ１１５２およびドッキング・ステーション１１５１を介して、ＩＲコード・アップデート、グラフィックス、ソフトウエア・エンハンスメント、電子プログラム・ガイド（ＥＰＧ）などのウエブサイトにおけるホスティング・サービス１１０６と相互作用するように適合される。ＰＤＡ１１５０が直接インターネットと通信するように適合する場合には、介在するホスト・デスクトップ・コンピュータ無しで、ウエブサイトにおけるホスティング・サービスに直接アクセスできることは、当業者には明らかである。さらに、ＰＤＡ１１５０は、他の互換可能なＰＤＡ１１５０’を有するユーザがプログラムした構成設定の全てまたは一部を共有するように適合することができる。そのような例示的なシステムのトポロジの例示的なグラフィック表現が、図３に示される。図３は、リモートコントロールアプリケーションの主要な構成要素と、それが動作する環境とを示す。ＰＤＡ１１５０、ホスト・デスクトップＰＣ１１５２、およびインターネット１１５４を介してアクセス可能なウエブ・サービスが、図３に示される。
【０００９】
以降記載されかつ図３に図示されるＰＤＡソフトウエア・アプリケーション１１００は、一般に、例えばホーム・エンターテイメント・コンポーネント１１２０と、照明１１２２および環境制御１１２４などのホーム・オートメーション・コンポーネントとを制御するために、一般にＰＤＡ１１５０にインストールされる４つのプログラム・セグメントを含む。例示的な例として、４つのプログラム・セグメントは以下を含む。
【００１０】
遠隔制御ソフトウエア１１０２：このアプリケーションは、ユーザが、ユーザの民生電子機器を制御することを可能にする。このアプリケーションは、ユーザに、家庭にあるユーザのホーム・エンターテイメント装置、ならびに（Ｘ１０タイプの機器など）ホーム・オートメーション・機器を管理するための簡単で直感的な手段を提供する。リモートコントロールアプリケーション自体は、トップ・レベル（「プレゼンテーション・エンジン」と呼ばれる）だけが、エンド・ユーザに呈示されるが、４つの主要なアーキテクチャのサブ・コンポーネントを含むことがある。これらの４つのコンポーネント、すなわち、プレゼンテーション・エンジン１１０８、構成エンジン１１１０、ハードウエア通信マネージャ１１１４、およびファイルＩ／Ｏマネージャ１１１２は、より詳細に以降で記載される。
【００１１】
ＡｃｔｉｖｅＳｙｎｃソフトウエア１１１６：このアプリケーションは、ホスト・デスクトップＰＣ１１５２にインストールされたリモートコントロールアプリケーションへの通信コンジット、およびリモートコントロールアプリケーションからの通信コンジットとして使用される。
【００１２】
ＩＲシグナリング・ソフトウエア１１１８：このアプリケーションは、汎用に機器を制御する機能を生成するＩＲ信号発生機能を実行し、ＩＲコードのデータベース、および図４を参照して以降に記載されるＩＲハードウエア・コンポーネントとともに使用する送信プロトコルをサポートする。
【００１３】
ＲＦモジュール・ソフトウエア／ハードウエア１１１９：ブルートゥースまたは８０２．１１ＲＦモジュールは、任意に、ＲＦ機器を制御し、および／またはサーバまたはホスト・デスクトップＰＣ１１５２に常駐する他のアプリケーションと無線通信するために、ＲＦ信号の生成を実行することができる。そのようなＲＦモジュールは、民生機器の制御を実行するために上述のＩＲシグナリングとともに、またはＩＲシグナリングの代わりに使用することができる。
【００１４】
上述のように、ＡｃｔｉｖｅＳｙｎｃソフトウエア１１１６は、ホスト・デスクトップＰＣ１１５２にインストールされた遠隔制御コンパニオン・アプリケーション１１０４と協働する。アプリケーションのこの組み合わせは、一般に、リモートコントロールアプリケーションへの通信コンジット、およびリモートコントロールアプリケーションからの通信コンジットとして機能する、標準のマイクロソフトに基づくＡｃｔｉｖｅＳｙｎｃブランド・ユーティリティを実現する。リモートコントロールアプリケーションに必要なデータが、適切な手法でコンジットに沿って通過することを確実にするため、ＡｃｔｉｖｅＳｙｎｃブランド・アプリケーションを補足するソフトウエアが必要とされることがある。そのような補足のソフトウエアは、リストア／バックアップ構成１１３０（例えば、構成ファイルおよびイベント・ジャーナルがバックアップされかつ再格納することを可能にする）に使用され、かつアップデート／ダウンロード補足パッチ１１３２（例えば、ソフトウエア、ＩＲコード・データベースなどの現在のバージョン数をレビューし、最新のバージョンが、ダウンロードで利用可能なバージョンであることを確かめる）を検査するために使用される。これらの機能は、ローカルに格納されたソフトウエア（例えば、ＰＤＡ１１５０および／またはホスト・コンピュータ１１５２）によって実行される、または例えばＪａｖａ（登録商標）アプリケーションを使用するウエブを介して実行できることは、当業者には明らかである。任意のデスクトップ・アプリケーションが、デスクトップ・システム１１５２のリモートコントロールアプリケーションに基づきＰＤＡの構成および外観をエジット１１３４および／またはエミュレート１１３６するために使用できる。
【００１５】
ホスティングされたサイト１１０６におかれるサービスまたはデータは、遠隔制御ソフトウエア・サービスによって表現される。遠隔制御ソフトウエア・サービスは、リモートコントロールアプリケーション・ソフトウエア・アップデート１１４０、補足ＩＲデータベース・アップデート１１４４（追加の機器および／またはダウンロードのためのキー機能を含む）、および／または遠隔制御ユーザ・コミュニティ１１４２を含むことができ、遠隔制御ユーザ・コミュニティ１１４２は、例えば、ユーザが、インタフェース・カスタマイゼーションのための追加のグラフィックスをダウンロードし、他のユーザと共有するためにそれらの構成ファイルをアップロードするなどを可能にできる。このユーザ・コミュニティ１１４２は、また、ソフトウエア拡張を開発した第三者が、所望であればダウンロードのために配置できる場所である。ホスティングされたサイト１１０６は、例えば、ダウンロード可能な電子プログラム・ガイド（「ＥＰＧ」）情報、ケーブル・チャネル・ラインナップ、映画スケジュールなどのリモートコントロールアプリケーション１１４６の拡張された特徴１１４６とともに使用されるデータのソースであってもよい。
【００１６】
リモートコントロールアプリケーション・ソフトウエア１１０２は、また、以下の高レベルの機能を含むことができる。セットアップ・ウイザード；ＩＲおよび／またはＲＦ信号送信を介する民生機器制御；ＩＲコードを学習する能力、マクロを割り当てかつ再生する能力、キーを再割り当てる能力、ネットワーク・ロゴに対してチャネル数の迅速な割り当てを含むお気に入りをプログラムする能力、複数のユーザ・プロファイルを構成する能力、リストア・ポイントを設定する能力、ゲスト・モードを構成する能力、新規なＩＲコードおよびキー機能、スキン、追加のネットワーク・ロゴ、ソフトウエア拡張のダウンロードを含む、ホストまたは遠隔コンピュータからのリモートコントロールアプリケーションをカスタマイズする能力を含むカスタマイゼーション特徴。あるＰＤＡから他のＰＤＡへの構成データのコピー；ジャーナリング・アクティビティ；拡張するために第三者開発者に関するＡＰＩ。これらの機能は、以下の段落でより詳細に説明される。
【００１７】
セットアップ・ウイザード
セットアップ・ウイザードの目的は、可能な限り迅速に使用のために構成されたＰＤＡ１１５０を得ることである。セットアップ・ウイザードは、通常、ステップ・バイ・ステップのセットアップまたは構成プロセスを介してユーザに案内する機能を行うアプリケーション・プログラムの特定化部分である。セットアップ・ウイザードに関連して使用される情報は、所望の結果をうまく得るユーザの増大した尤度が存在するように、プリ・ポピュレート（事前分布集団化）できる。
【００１８】
一例として、ユーザ・セットアップ・ウイザードは、１人以上のユーザまたはそれらの性能を識別するために、リモートコントロールアプリケーション１１５０をセットアップするように用いられる。初期的なユーザ・セットアップのために、ユーザ・セットアップ・ウイザードは、所有者の登録情報ファイルから直接データを読むことができる。リモートコントロールアプリケーションを使用するために、さらなる情報は必要としない。代替的に、初期的なユーザ・セットアップのために、ユーザ・セットアップ・ウイザードは、必ずしもデフォルトによって読まれかつ利用される所有者の登録情報ファイルを呼び出す必要はない。
【００１９】
さらなる例として、機器・セットアップ・ウイザードは、リモートコントロールアプリケーションが制御されるように構成される機器のリストを確立し、ならびにどのように機器が制御されるべきかを確立するために使用される。この目的のために、リモートコントロールアプリケーションのグラフィカル・ユーザ・インタフェースが、初期的にセットアップされていないわずかな数の機器・ボタン（例えば、リモートコントロールアプリケーションを、機器を制御するモードにおくために操作されるボタン）を表示することによってスタートできる。セットアップされていない機器・ボタンの選択は、機器・セットアップ・ウイザードを自動的に呼び出すために使用することができる。リモートコントロールアプリケーションが、新たな機器を制御するためにセットアップされるときに毎回、または既にセットアップされた機器の設定を追加または変更することが望まれるときに、機器・セットアップ・ウイザードが呼び出されることは明らかである。機器・セットアップ・ウイザードと同様に、ユーザ・セットアップ・ウイザードは、より多くのユーザを追加するために複数回呼び出すことができる。セットアップ・ウイザードを呼び出すとき、リモートコントロールアプリケーションは、セットアップ・プロセスが既に実行されているかを検出し、そして、構成または変更に関してユーザに現在の設定を表示することができる。
【００２０】
以降に記載されるように、セットアップは、実行するためのインストールのタイプ（一般的またはカスタム）をユーザに促すことができる。カスタム・セットアップに関して、ユーザは、機器・サポートのどのレベルが所望であるか（標準、パワー、拡張）を指定することができる。セットアップ・ウイザードは、異なるカスタマイゼーション・スクリーンからの機能性を共に合わせて連鎖することができる。カスタマーゼーションの２つの主要な領域は、ユーザ・セットアップおよび機器・セットアップである。ユーザは、開始から順次にセットアップ・ウイザードを実行する必要があるか、またはリモートコントロールアプリケーションの初期構成の後で実行するために、特定のセットアップ・ウイザードまたはセットアップ・ウイザードの一部を選択することができる。リモートコントロールアプリケーションは、構成ファイルにユーザの好みを格納することができ、また（例えば、セットアップのエジットの性能において）それらのセットアップ・ウイザードの以降の実行時にセットアップ・ウイザード・スクリーンを含む構成ファイルの好みを再び呼び出することができる。
【００２１】
民生機器制御
ＰＤＡ１１５０が、機器を制御するためにリモートコントロールアプリケーションを介してセットアップされたとき、リモートコントロールアプリケーションは、ＰＤＡ１１５０をセットアップ・機器の主な赤外（ＩＲ）遠隔制御として使用可能にするために呼び出すことができる。これに関して、機器は、テレビ、ＶＣＲ、ＤＶＤプレーヤ、ＰＶＲなどの従来の民生機器を含む。機器は、ホーム・オートメーション・機器を含むこともできる。ホーム・オートメーション・機器は、リモートコントロールアプリケーションの観点から従来の民生機器（例えば、ホーム・シアター装置）として視聴されるものと見えるが、それらホーム・オートメーション・機器は全く類似している。ホーム・オートメーション・機器が、制御される（例えば、ＩＲ、ＲＦ、信号を介して）限り、リモートコントロールアプリケーションは、ホーム・オートメーション・機器への信号を送信させることができる。したがって、リモートコントロールアプリケーションのグラフィカル・ユーザ・インタフェースは、ホーム・オートメーション・機器に固有の動作（例えば、照明を暗く／明るく、カーテンを開く／閉じる、ファンの回転速度など）をサポートするために、例えばビットマップ画像の使用を介して、ボタン、スライドなどの制御をサポートすることができる。
【００２２】
リモートコントロールアプリケーション・カスタマイゼーション
リモートコントロールアプリケーション・カスタマイゼーションは、ユーザが、グラフィカル・ユーザ・インタフェース、機器および／または機能制御能力など、またはリモートコントロールアプリケーションおよび／またはＰＤＡプラットフォームを修正することを可能にする。一般に、任意のリモートコントロールアプリケーション・カスタマイゼーションは、セットアップ・ウイザードによってアシストされる。カスタマイゼーションを介して達成可能な修正は、例として、ＩＲコードの学習、マクロの割り当ておよび再生、お気に入り（エンターテイメント機器をネットワーク・ロゴにチャネルを切り替えさせるために必要なチャネル数および／またはＩＲシーケンスの割り当て）の指定、ユーザ・セキュリティ・レベルの設定などを含む。修正が行われる前に、遠隔制御ソフトウエア・アプリケーションの１つ以上の構成要素部分の設定の自動バックアップは、それらが所望の結果を達成しないなら、ユーザが変更を元に戻せるように、そのバックアップが可能である。
【００２３】
ＰＣ／外部アップデートからのリモートコントロールアプリケーション・カスタマイゼーション
リモートコントロールアプリケーション（例えば、スキン、マクロなど）、リモートコントロールアプリケーション・アップデート、ＩＲコード・アップデートなどとともに使用可能な設定は、外部システムに格納された情報に基づき追加、削除、および／または修正することもできる。情報は、ウエブサイト、ホスト・コンピュータ１１５２などで発生することができる。
【００２４】
ジャーナル・アクティビティ
システムは、ＰＤＡ１１５０に格納することができるファイルに、ユーザおよび／またはシステムのアクティビティのいくつかまたは全てをジャーナルする（すなわちログする）ように構成することができる。例として、いくつかのジャーナル・データは、最近視聴したチャネルを判定するためにアクセスすることができ、適応学習特徴などでお気に入りを生成および／またはアップデートするために使用できる。ジャーナル・データは、例えば、サポート・チームが問題をデバッグすることができる速度を加速するために、ウエブ・サーバ１１５４と同期することによって、デバッグの目的に利用可能にすることもできる。
【００２５】
第三者開発者のためのＡＰＩを介する拡張可能
システム設計は、第三者開発者が、リモートコントロールアプリケーションに機能性を追加し、リモートコントロールアプリケーションと通信するなどのために使用できる。
【００２６】
電子プログラム・ガイド（「ＥＰＧ」）
ＰＤＡ１１５０上のＥＰＧアプリケーションで、ユーザは、放映予定のショーを見ることができ、またテレビを見る他の誰かを煩わせることなく、どのショーを見るかを選択することができる。さらに、リモートコントロールアプリケーションは、ユーザにプログラムを見ることを促し、プログラムをチューニングすることをコマンドすることを可能にし、プログラムを記録するなどのために、ＥＰＧアプリケーションと共働することができる。
【００２７】
動作環境
ＰＤＡ１１５０のための主な動作環境は、家庭におけるリビング・ルーム／ホーム・シアター・ルームであることが予想される。リモートコントロールアプリケーションは、機器およびオフィスを含む複数のルームに関連する機器・タイプの事前構成されたリストを付して出荷することができる。リストは修正することができる。さらに、セットアップ・ウイザードが、１つ以上の個別のルームのためにリモートコントロールアプリケーションを構成するために使用可能である。
【００２８】
ハードウエア構成要素
遠隔制御アプリケーション用のプラットフォームとして作用する基本的なハードウエア構成要素およびＰＤＡのアーキテクチャは、当技術分野で良く知られている。したがって、簡単にする目的で、遠隔制御機能性に固有の例示だけの選択されたハードウエア特徴が、詳細に議論される。図４を参照すると、標準のＰＤＡ２００は、他のＰＤＡおよび周辺機器とショートレンジの通信で使用されるＩｒＤＡ送受信器２０２を有する。さらに、制御可能な機器は、一般に、ＩｒＤＡによって使用される波長とは異なるＩＲ波長を使用するので、例示的なプラットフォームは、また、ＩＲ送信器ＩＣ２０４と、機器ＩＲ制御で使用するのに適した別個のＬＥＤ２０６とを備える。一実施形態において、ＩＲシグナリング・モジュール１１１８は、シリアル接続２０８（例えばＣＯＭ１／ＣＯＭ４）を介してＩＲ送信器ＩＣ２０４と通信する。シリアル・インターフェースを介してそのようなＩＲ送信器ＩＣ２０４と通信する方法およびコマンド・プロトコルは、良く知られており、したがって、本明細書でさらなる記載をする必要はない（例えば、同時係属出願第０９／９０５４３２号を参照されたい）。示された例では、送信器パルス・タイミングは、示される特別のチップによって制御することが可能であり、他の実施形態において、ＩＲ送信器ＩＣ２０４の代わりとして働く主要なＣＰＵ自体で動作するソフトウエアを介して、これらのタイミング機能を実施できることは、当業者には明らかである。さらに、リモートコントロールアプリケーションに関連して使用すべき場合には、ＩｒＤＡ受信器が、元々供給された遠隔制御などの他の機器からの学習ＩＲコードのために使用することもできる。学習機能は、ＩｒＤＡ受信器出力信号２１０を、示されるように通常のＰＤＡ接続２１２とＩＲ送受信器ＩＣの学習入力２１４との両方に並列にすることによって、可能にできる。
【００２９】
リモートコントロールアプリケーションは、ＰＤＡ１１５０に設けられる任意のハード・キーを利用することもできる。例えば、図１０に示される図示されたｉＰＡＱブランド・ポケットＰＣは、ナビゲーション・パッド１０４およびユニットの底部の４個の追加のキー１０２（「ホットキー」）を含み、追加のキー１０２は、通常、カレンダ・アプリケーション、アドレス・ブック・アプリケーションなどの頻繁に使用されるアプリケーションに迅速なアクセスを容易にするために使用される。１つの例示的な実施形態において、リモートコントロールアプリケーションは、デフォルト・ホットキー機能をオーバライドし、かつそれらを一般に使用される遠隔制御機能（例えば、音量またはチャネル調整など）と置き換えるために、下にあるオペレーティング・システムＡＰＩに対して適切な呼び出しを行うことができる。さらに、キー・オーバライドは、リモートコントロールアプリケーションが、アクティブまたは注目のアプリケーションであるときだけに発生するように構成することができる。このように、リモートコントロールアプリケーションがまだ動作している間に、ユーザが、他のアプリケーション、例えばＥｘｃｅｌブランド表計算ソフト・アプリケーションに変更した場合に、ハードウエア・ホットキーは、リモートコントロールアプリケーションが再びアクティブにされるまで、それらの前の設定に戻る。さらに、ハードウエア・キーに対する機能性の割り当ては、ユーザが決定可能であり、および／または以降により詳細に記載されるように、リモートコントロールアプリケーションの動作の現在のモードによって自動的に決定することができる。
【００３０】
リモートコントロールアプリケーションは、また、任意のデフォルト・シャット・オフ・タイミングのオーバライドを提供することができる。このように、表示のシャット・オフ・タイミングは、リモートコントロールアプリケーションが「フォーカス」されるプログラムであるとき、機器を動作するためのユーザの必要性とともに使用するのにより適するように構成することができる。例えば、通常のシャット・オフ・タイムアウトを、アクティビティが無い１５秒後に、スプラッシュ・スクリーンに切り替え、その後さらに５秒後にパワー・ダウンするなどの２段階のプロセスと換える。代わりに、これらのタイムアウト値は、ユーザが調整可能にすることができる。
【００３１】
ソフトウエア構成要素
リモートコントロールアプリケーション１１０２の例示的な構成要素が、図５に示される。例示された構成要素は、プレゼンテーション・エンジン１１０８、構成エンジン１１１０、ハードウエア通信マネージャ１１１４、およびファイルＩ／Ｏマネージャ１１１２を含む。これら構成要素のそれぞれは、以降のセクションでより詳細に議論される。
【００３２】
プレゼンテーション・エンジン
プレゼンテーション・エンジン１１０８は、ユーザ・インタフェースを管理し、ユーザ・インタフェースは、例えば、機器へコマンドを送信させるために、リモートコントロールアプリケーションの動作をコマンドするためにユーザが相互作用する。プレゼンテーション・エンジン１１０８は、ユーザ構成の現在のハードウエア・フォーム・ファクタへのマッピングを管理し、ハードウエア・フォーム・ファクタは、例示的な実施形態においてｉＰＡＱブランドＰＤＡであるが、他の実施形態において、これは、ＷｅｂＰａｄまたはタブレットＰＣ、遠隔制御ソフトウエア・エミュレータ、遠隔制御自体などである。
【００３３】
ユーザ入力
ユーザ入力モジュール５１０は、ユーザによって生成された全ての入力イベントを取り扱う。これは、タッチ・スクリーンおよびハード・キーの両方からの入力を含むことができる。ユーザ入力モジュール５１０は、例えば、ｉＰＡＱ３９５０ブランドＰＤＡのデフォルトによってインストールされるＩＢＭ  ＶｉａＶｏｉｃｅブランドソフトウエアなどの音声認識ソフトウエア・エンジン、または利用可能であるそのような他の音声認識アプリケーションからの入力を取り扱うことができる。アクション・マップ５１４（図１８を参照）は、ユーザが各機器・タイプに関して実行できる全てのアクションを制御する。したがって、ユーザ入力イベントは、アクション・マップ５１４に関して処理される。
【００３４】
オブジェクト・マネージャ
オブジェクト・マネージャ・モジュール５１１は、表示スクリーンを作成するために使用されるリソースを管理する。オブジェクト・マネージャは、また、固有の制御ならびに第三者によって開発された制御を管理することができる。
【００３５】
イベント・マネージャ
イベント・マネージャ・モジュール５１２は、イベントが、システムにおいてスケジュールすることが可能なとき、オペレーティング・システム・カレンダリング機能とインタフェースできる。
【００３６】
ステータス・マネージャ
ステータス・マネージャ・モジュール５１３は、機器からの任意のステータス・ブロードキャストに対するリスニング・スレッドを作成することができる。例えば、遠隔制御インタフェース・アプリケーションの現在のステータスが、現在制御ページ、お気に入りページ、動作しているセットアップ・ウイザード上にあるかどうかを決定するために、遠隔制御インタフェース・アプリケーションの現在のステータスを追跡することもできる。
【００３７】
構成エンジン
構成エンジン・モジュール１１１０は、構成リソースを管理し、プレゼンテーション・エンジン・モジュールを使用する表示スクリーンを作成する。構成エンジン１１１０のためのリソースは、一般に構成ファイルに格納される。
【００３８】
リソース・マップ
リソース・マップ５２１は、任意のビットマップ、ストリング・リテラル、ページ・レイアウト、およびリモートコントロールアプリケーションで使用される他のリソースを含むことができる。
【００３９】
ＩＲマップ
ＩＲマップ５２３は、システムによって使用される任意のユーザ定義ＩＲコードを含む。これらのコードは、学習されまたはダウンロードすることができる。ＩＲマップは、ＩＲ送信器ＩＣに結合されるＩＲデータベースに対するリンク、および／またはＰＤＡ１１５０の主要または補足的なメモリ・システムを含むこともできる。ＩＲマップ・リンクは、ＩＲデータベースリビジョン間のマッピングの可能な変化を説明するために、実行時に作成することができる。
【００４０】
マクロ・マップ
マクロ・マップ５２２は、システム内で利用可能なマクロのリストを含む。マクロを実行する各制御は、マクロ・マップを参照することができる。
【００４１】
機器・マップ
機器・マップ５２０は、各機器に関する様々なタイプの情報（リソース・マップ、ＩＲマップ、およびマクロ・マップ）と、相互作用するように構成されたリモートコントロールアプリケーションとの間のリンクを管理する。図１８は、ユーザがアクションを実行するとき、様々なマップが互いにどのように関連するかの例であり、この場合、以降により詳細に記載されるようにマクロ（ホーム・シアターのためのパワー・オンに切り替える）である。
【００４２】
ハードウエア通信マネージャ
ハードウエア通信マネージャ・モジュール１１１４は、ＩＲ、ブルートゥース、および８０２１１．ｂＲＦハードウエア、および可能な他のものを利用して、システムの外部の機器と通信する。新たなハードウエアが開発されたとき、そのようなハードウエアに対するアクセスは、ハードウエア通信マネージャ内の特定のインタフェースを介することができる。図６は、例示的なハードウエア通信インタフェースを示す。各インタフェース・オブジェクトは、以下に簡単に議論される。
【００４３】
送信
送信オブジェクト５３０は、必要なプロコトル・スタック（例えば、ＩＲ、ＲＦ、またはＴＣＰ）を介してバイト・シーケンスの出力を制御するために使用される。
【００４４】
学習
学習オブジェクト５３１は、例えば、ＩＲ送信器ＩＣ２０４への共有されるＩＲ／ＩｒＤＡ入力２１４を介して得られたデータなどの、必要なプロトコル・スタックを介するバイト・シーケンスの学習を制御するために利用される。
【００４５】
ステータス
ステータス・オブジェクト５３２は、特定のプロトコル・スタック上でブロードキャスト・メッセージを聞くために利用される。これは、ＰＤＡ１１５０と他の機器・ハードウエア、例えば、ホーム・シアターおよびホーム・オートメーション・システム内のハードウエアとの間で両方向の変換のために使用することができる。
【００４６】
プラットフォーム・ハードウエア統合
プラットフォーム・ハードウエア統合オブジェクト５３３は、リモートコントロールアプリケーションが現在インストールされているＰＤＡ１１５０の特定のハードウエア能力を、リモートコントロールアプリケーションが利用することを可能にする。
【００４７】
プロトコル・スタック
プロトコル・スタック５３７は、家庭内のハードウエアと通信するために、システムが使用する相異なるプロトコル間の抽象化層である。リモートコントロールアプリケーションのベーシック・バージョンは、ＩＲプロトコル・スタック５３４だけを使用することができ、一方、リモートコントロールアプリケーションのより進んだ（能力において）バージョンは、ＩＲプロトコル・スタックとともに、またはＩＲプロトコル・スタックの代わりに、１つ以上の追加のプロトコル・スタック（５３５、５３６）を使用できる。
【００４８】
ＩＲ
ＩＲプロコトル５３４は、ＩＲを使用する任意の機器と通信するために使用される。ＩＲオブジェクトは、送信および学習のためにＩＲ送信器ＩＣ２０４とインタフェースすることができる。
【００４９】
ＲＦ
ＲＦプロトコル５３５は、無線周波数を使用する任意の機器と通信するために使用される。ＲＦ構成要素は、リモートコントロールアプリケーションと専有プロトコルとの間の通信、例えばブルートゥース、Ｚｉｇｂｅｅ、８０２、１１、または他のＲＦ信号を抽象化するために使用できる。
【００５０】
ＴＣＰ
ＴＣＰ５３６は、家庭が有線接続され、機器が、例えばＩＥＥＥ８０１．１１ｂ標準とともに使用されるネットワーク・プロコトルなどの標準のネットワーク・プロコトルを介して接続されると、ますます使用することができる。ＴＣＰスタックは、リモートコントロールアプリケーションが、ロケーションには関わらず家庭内の任意の有線接続された機器とともに動作することを可能にできる。ＴＣＰスタックは、また、ユーザが、インターネットまたは他のコンジットを介して遠隔ロケーションから家庭と通信することを可能にすることができる。
【００５１】
ファイルＩ／Ｏマネージャ
ファイルＩ／Ｏマネージャ・モジュール１１１２は、データ・アクセスが、リモートコントロールアプリケーション内の単一の場所から管理されかつ制御することを可能にする。図７は、ファイルＩ／Ｏマネージャ・オブジェクトを示し、各ファイルＩ／Ｏマネージャ・オブジェクトは、以下に簡単に議論される。
【００５２】
パーサ
パーサ５４０は、リモートコントロールアプリケーションが使用する種々のファイル・フォーマットを確認しかつ分析するためのコードを含む。パーサは、情報を表示するために必要な異なるリソースを読みかつ分析するために、主に構成エンジン１１１０によって使用することができる。
【００５３】
シリアリゼーション／パーシステンス
シリアリゼーション／パーシステンス・オブジェクト５４１は、異なるファイル・フォーマットを読みかつ書くためにリモートコントロールアプリケーションによって使用される。
【００５４】
機器構成
機器構成ファイル５４２は、ユーザが、リモートコントロールアプリケーションを介して制御されるように構成した機器の定義を含む。各ファイルは、機器に関する内容および様々な表示可能なページのレイアウトを記載することができる。これらのファイルは、そのような機器の動作をコマンドするために使用される任意のリソースを含むこともできる。制限なく、リソースのリストは、マクロ、ＩＲコード、ビットマップ、ストリング・リテラル、および他のデータを含むことができる。これらのファイル属性のより詳細な記載が、後のセクションに示される。
【００５５】
ユーザ・プロファイル
ユーザ・プロファイル５４３は、ユーザ・ネーム、ユーザ・アバターのためのビットマップ、ユーザＰＩＮ、ビット・マスク・オーバレイ、および全ての優先設定を含むことができるリモートコントロールアプリケーションの異なるユーザに関するデータを格納する。適応学習の結果（ユーザ毎に基づき）は、また、ユーザ・プロファイルに格納することができる。さらに、ユーザのお気に入りのチャネル・リスト（および関連するネットワーク・ロゴ）は、同様にここに格納することができる。
【００５６】
ユーザＩＲコード・データベース
ユーザＩＲコード・データベース５４４は、ウエブサイトからまたは他のいくつかのソースからダウンロードされた補足的なＩＲコードを格納するために使用される。ユーザＩＲコード・データベースは、ＰＤＡ１１５０とともに出荷された標準のＩＲコード・データベースから分離することができる。ユーザＩＲコード・データベースは、学習されたＩＲコードを含むこともできる。
【００５７】
イベント・ジャーナル
イベント・ジャーナル５４５は、ユーザのログ、およびリモートコントロールアプリケーション内で発生したシステム・アクションを含むために提供することができる。イベント・ジャーナルは、家庭内の機器から受信されたブロードキャスト・メッセージを含むこともできる。イベント・ジャーナルは、ユーザが行ったこと、ならびに家庭内の発生したことのログである。ユーザは、バーボース・モードとアラート・モードとの間で切り替えることができる。イベント・ジャーナルは、また、デバッグの目的のために使用することができる。
【００５８】
システム特徴および機能
以下の段落は、リモートコントロールアプリケーションの個別の特徴の詳細な記載を示す。いくつかの場合において、一般的な使用例は、ユーザ入力、または他の外部のアクションまたはイベントを、関連する応答と共に提示される。一般的な使用のそのような例は、単に例示するだけのものであり、したがって限定するものではないことは明らかである。
【００５９】
セットアップ・ウイザード
セットアップ・ウイザードは、制御される機器を追加する、ユーザ性能を構成するなどのステップを介して、リモートコントロールアプリケーションのユーザをガイドするアプリケーション・ロジックの一部である。セットアップ・ウイザードを使用する結果は、必要なときにリモートコントロールアプリケーションによって後で参照される構成ファイル５４２、５４３にセーブできる。以下の議論において、セットアップ・ウイザードは、ユーザ・セットアップおよび機器・セットアップという２つの一般的なカテゴリに分けられる。ユーザ・セットアップ・ウイザードは、リモートコントロールアプリケーションのユーザおよびそれらの好みを識別するために呼び出すことができる。機器・セットアップ・ウイザードは、リモートコントロールアプリケーションが制御できる機器のリスト、および／またはどのように機器が制御されるべきかを確立するために、呼び出すことができる。機器・セットアップ・ウイザードは、リモートコントロールアプリケーションによりどの機器が起動されているかについての情報を集めるように使用することもできる。これに関連して、全ての初期セットアップ・プロセスは、４つの手順を含むものと考えることができる。
【００６０】
（１）機器識別
（２）マクロの生成（明示的エントリを介してまたは自動的のいずれかで）
（３）お気に入りの定義
（４）ホーム・スクリーンの構成
セットアップ・ウイザードは、例えばより多いユーザの追加、機器（制御される）の追加／変更、設定の追加／変更などのために、複数回実行することができる。例示的なシステムにおいて、セットアップ・ウイザードは、特定のセットアップが既に実行されたかどうかを検出し、かつ参照のためにユーザに現在の設定を表示することができる。
【００６１】
プラットフォーム・セットアップ
プラットフォーム・セットアップ−機器識別
リモートコントロールアプリケーション・プラットフォームをセットアップするために、機器・セットアップ・ウイザードは、ＰＤＡ１１５０で動作させるべき機器の種類（ＴＶ、ＤＶＤ、ＤＳＳ、ＡＭＰ・・）のセットアップを呼び出すことができる。この情報は、ターゲット・機器の製造業者を含むこともできる。このために、ユーザは、どのＩＲコードがターゲット・機器を応答させるかを決定するために、選択された製造業者からの異なるＩＲコード（すなわち、ＩＲコード信号の送信を行う）をテストする機会を与えられてよく、１つ以上のＩＲコードの選択についての提示を受けることができる。ユーザにより、良好な組み合わせが見出されかつテストされると、機器は、制御される利用可能な機器のリストに加えることができる。
【００６２】
機器・セットアップの４つの異なる良く知られている方法を、サポートすることができる、すなわち、ブランド・セットアップ（上述された）、ステップおよび設定（ユーザは、ＩＲコードのシーケンスにおける次のＩＲコードをテストする場合）、直接エントリ（ユーザは、所期のターゲットである製造業者／機器・タイプに関する所定のコードを入力する場合）、およびダウンロードされたウエブ・コード（インターネット・アクセスを介して得られた新しいＩＲコードをリモートコントロールアプリケーションが適用するように、ユーザが指示する場合）である。イベントにおいて、ＲＦ通信が、ＰＤＡ１１５０と機器との間で利用され、これら同じセットアップ手順を、制限なしに利用することができる。
【００６３】
正しいコマンド・コード・セットが上述された方法の１つによって確立されると、リモートコントロールアプリケーションは、リモートコントロールアプリケーションの現在のユーザに応じて、機能性（すなわち、機器機能をコマンドするためのキー）の異なるレベルに呈示することができる。例として、ユーザ・インタフェースは、複雑性の３つのレベルまでで実施することができる。デフォルト・レベルは、標準レベルの機能性（すなわち、機器・タイプおよび構成されたモデルのための最も一般的にアクセスされるコマンド機能の代表的なセット）を呈示するものである。代替的レベルは、機器・タイプおよび構成されたモデルのためのリモートコントロールアプリケーション・ライブラリ内で利用可能な全てのコマンド機能を呈示するパワー・レベル、または、基本コマンド機能だけが、機器・タイプおよび構成されたモデルのためにユーザに呈示される単純化されたレベルを含むことができる。これら、または他のレベルは、事前設定されたユーザ・パラメータ（例えば、以降記載されるユーザ・セットアップの間に入力される）に基づきユーザに提供することができる。
【００６４】
プラットフォーム・セットアップ−マクロの生成
リモートコントロールアプリケーションは、リモートコントロールアプリケーション環境（すなわち、セットアップ・機器を含むシステム）を分析することができ、ユーザおよび機器の知識に基づいて、リモートコントロールアプリケーションは、自動的に機器機能を繰り返すために１つ以上のマクロを生成するために使用することができる。自動化されるまたは半自動化されるタスクのそのような多くの他の機会が存在することができることは、理解されるが、例として、２つの一般的な機器機能、「ホーム・シアターのためのパワー・マクロ」および「オーディオ／ビデオ・ルーティング」が、以降により詳細に記載される。
【００６５】
ホーム・シアターのためのパワー・マクロ
ホーム・シアター・システムにおける全ての機器が、個別のオン／オフ・コードを有するなら、遠隔制御アプリケーションは、全体的な（ホーム・シアター）オンおよびオフ機能を提供することができる。このために、遠隔制御アプリケーションは、全ての利用可能なアプリケーションのリスト（すなわち、遠隔制御アプリケーションが制御のためにセットアップされる全ての機器）を表示することができ、ユーザは、ホーム・シアター・パワー・マクロに含まれる１つを選択することができる。例えば、遠隔制御アプリケーションは、ＤＳＳ、Ｃａｂｌｅ  Ｂｏｘ、Ａｍｐ、ＶＣＲ、ＤＶＤ、およびＴＶを含むリストを有することができる。ユーザは、ホーム・シアター・パワー・マクロの一部として、一緒にオンおよびオフが切り替えられるＡｍｐ、ＤＶＤ、およびＴＶだけを選択することができる。なぜなら、ＶＣＲは、プログラムを記録するために、ＤＳＳおよびＣａｂｌｅ  Ｂｏｘからの入力信号を受信するように独立して起動することができるからである。
【００６６】
オーディオ／ビデオ・ルーティング
ユーザが、増幅器を介して全てのオーディオ出力をルーティングするなら、遠隔制御アプリケーションは、ユーザが、いずれかの機器を、注目されるべき機器として選択したときに、適正なオーディオ入力信号が使用することを確実にすることによって、ユーザをアシストすることができる。マクロ・セットアップのこの形式は、機器に入力を関連付けるために遠隔制御アプリケーションによって利用されるセットアップの間に、質問をすることによって達成することができる。代わりに、マクロ・セットアップは、機器相互接続および入力／出力構成に関する機器・マップ５２０に前に格納された情報を利用することによって達成することができる。質問／回答セッションの結果として作成されたマクロは、特定の状況を処理するためにユーザによってカスタマイズ可能である。
【００６７】
プラットフォーム・セットアップ−お気に入り
ユーザは、多数のカテゴリに関してお気に入りのチャネルのリストを指定することができる。お気に入りリストは、ケーブルまたは衛星サービス・プロバイダによって提供されるチャネル・ラインナップと同期することができる。個人的なお気に入りのセットアップの間、ユーザは、常に循環させたいグループ（チャネルの）を指定することができる。個人的なお気に入りに関して選択されたチャネルは、必ずしも同一のカテゴリ（例えば、同じ機器から利用可能である）である必要はない。例えば、お気に入りのニュースは、ローカル・ブロードキャスト・チャネルを含むことができ、一方、お気に入りの映画は、ケーブル・チャネルを含むことができる。個人的なお気に入りのグループは、制限されない数のチャネルを含むことができ、または、提供されるプログラム材料の量に対してチャネル可能性にわたってのステップ的進行において消費される時間をバランスさせるために、例えば７つ未満のエントリに数を制限することができる。
【００６８】
プラットフォーム・セットアップ−ホーム・スクリーン
他のセットアップのオプションは、ユーザが、図１１に示される例である遠隔制御アプリケーション・ホーム・スクリーンをカスタマイズすることを可能にする。遠隔制御アプリケーション・ホーム・スクリーンは、ユーザが、遠隔制御アプリケーションを開始したときにロードされる初期（スプラッシュ）スクリーンで混乱されるべきではない。これに関して、遠隔制御アプリケーション・ホーム・スクリーンは、様々な機器制御スクリーンまたはページに対するユーザの主要なポータルである。このホーム・スクリーンのセットアップの間に、ユーザは、機器・セントリック・ビュー、アクティビティ・セントリック・ビュー、または２つの組み合わせを介して、すなわちユーザの好みに応じて制御をどう表示するかを選択でき、ホーム・スクリーンは、機器をリストにすることができ、またはユーザが実行することができるアクティビティをリストにすることができ、または両方の組み合わせをリストにすることができる。アクティビティは、所定の過去で中心にされた１つ以上の機器の所望の構成を示す。例として、「ウオッチ・ムービ」アクティビティは、オーディオ／ビデオ・ソースとしてＤＶＤプレーヤを選択し、オーディオ増幅器上のサラウンド・音声モードを設定し、ＳビデオへのＴＶ入力を切り替えるなどのために、コマンドを送信させるようにセットアップすることができる。
【００６９】
まだセットアップされない機器、アクティビティ、お気に入りなどは、機器、アクティビティ、お気に入りなどのアイコン表示が、オーバレイ、例えば、図１１に示されるようなレンチを有するように、遠隔制御ホーム・ページを表示することができる。オーバレイは、セットアップが必要なユーザに示す。これに関して、さらなるアクションの性能が、例えば機器制御ページを表示させるように選択することができるソフト・キーとしてのアイコン機能は、コマンドの送信などを行わせる。さらに、所望であれば、セットアップされていない機器、アクティビティ、お気に入りなどのアイコン表示は、異なる色で表示することもできる（例えば、グレー・スケール画像として通常より薄く表示されるように「グレーにされる」）。オーバレイおよび／またはグレーにすることは、セットアップ手順が完了されると取り除くことができる。
【００７０】
セットアップは、前にセットアップされていない機器、アクティビティ、お気に入りなどのユーザ選択に応答して自動的に開始することができ、すなわち、上述のようにオーバレイでアイコンを選択することが、選択されたアイコンの対応に応じて、セットアップ・ウイザードを自動的に呼び出すことができる。遠隔制御アプリケーションの初期実行によっては、また、セットアップが全く実行されていないことを検出し、かつ遠隔制御アプリケーション用のスタート時構成を確立するために、１つ以上のセットアップ・ウイザード（この例において、次々に連鎖的に行うことができる）を自動的に呼び出すことができる。さらにまた、遠隔制御アプリケーションは、典型的な機器、アクティビティなどのセットとともに事前構成することができる。このセットは、例えば、マーケットまたはＰＤＡ１１５０が販売された領域に関して各機器・タイプの最も知られているブランド／モデルであることができ、ＰＤＡ１１５０に関連付けられる特定の製造業者またはブランドに対応する機器のセットであることができ、または上記あるいは適切であると思われる他の任意基準間の何らかの組み合わせであってよい。
【００７１】
遠隔制御アプリケーション・セットアップおよびホーム・ページ
図８および図９は、遠隔制御アプリケーションを含む例示的なＰＤＡ１１５０にインストールされたプログラムを有する例示的な表示スクリーンを示す（「Ｖａｉｈａｌｌａ」と呼ばれる）。ユーザは、例えば、スクリーン８０上を直接Ｖａｉｈａｌｌａアイコン８２のタッピング（軽く叩くこと）によって、またはドロップ・ダウン開始メニュー９０からＶａｉｈａｌｌａアプリケーション９２を選択することによって、遠隔制御アプリケーションを開始することができる。遠隔制御アプリケーションが、初めて開始されたとき、図１０に示されるなどスプラッシュ・スクリーンを表示することができる。スプラッシュ・スクリーンは、製品ネームおよびリビジョン、企業ネーム、特許、および著作権警告などの情報を含むことができる。スプラッシュ・スクリーンは、所望であればＯＥＭの詳細であることができる。代替的に、遠隔制御アプリケーションは、この初期状態から開始したとき、遠隔制御アプリケーションの特徴の迅速なオーバビューを示すために、スタートアップ・デモを動作することができる。任意のスプラッシュ・スクリーン表示および／またはデモが完了すると、新規に開始された遠隔制御アプリケーションは、図１１に示されるようなセットアップされていない機器の示唆されたセットとともに、デフォルト・ホーム・スクリーンをロードすることができる。代替的に、図１２に示されるセットアップ・アイコン１１２／１１３だけを有する空のホーム・スクリーンを表示することができる。さらに、遠隔制御アプリケーションは、前述のように制御可能であるすでにセットアップされた所定の事前決定機器、例えば特定の製造業者の機器とともに、開始するように事前構成することができる。
【００７２】
機器および／またはアクティビティを示すアイコンは、選択された機器またはアクティビティをホイールのトップにするように、回転するホイール１１０で表示することができる。トップ（主要な）アイコン１１２は、他のアイコン１１３、１１４、１１５（例示的な実施形態において２４×２４ピクセル）より大きく（例示的な実施形態において４８×４８ピクセル）表示することができる。さらに、中間サイズ（例えば３６×３６ピクセル）が、一次の機器の表示に提供することができる。アイコンの間隔は、ホイール１１０の周りに等しい間隔を提供するようにアイコンの数に応じて動的に計算することができる。
【００７３】
図１１に示される例において、機器は、例えば標準の機器・アイコン上のレンチ・シンボルをオーバレイすることによって、セットアップされる必要のある旨の指示が、ユーザになされる。セットアップされた機器は、ホイール１１０のトップ近くに（すなわち、位置付けられるように移動）浮動することができる。ホイール１１０と相互作用することによって、ユーザは、セットアップを開始するために主要な機器１１２を選択し、または主要な機器になるように他のアイコン１１４を選択することができる。他のアイコン１１４が選択されたとき、ホイールは、主要な位置、ホイールのトップに、最も速く所望の機器を移動する方向に
向けるインテリジェント回転を実行することができる。
【００７４】
図１１または図１２の例として示されるホーム・ページ表示は、現在のユーザ１１６と現在のルーム１１８の指示を含むこともできる。以降に記載されるように、ユーザおよびルームを示すアイコンは、これらアイテムに関する構成メニューを呼び出すために使用することもできる。デフォルト・ユーザ・ネームは、ＰＤＡ１１５０所有者情報から得られる。例が図１１に示される（ホイールに既に表示されたセットアップすることを示唆された機器とともに、デフォルトのルームが、ＴＶ、ＤＶＤ、Ｃａｂｌｅ  Ｂｏｘ、ＶＣＲ、Ｓａｔｅｌｉｔｅ、音響受信器などの機器を含む「リビング・ルーム」として示される）。
【００７５】
ホーム・ページ・ディスプレイは、ＰＤＡ１１５０のハード・キーの現在の割り当ての表示を開始し、および／またはこれらの割り当てを変更することができるキー・ガイド・アイコン１２０、カスタマイゼーション・メニューを開始するアイコン１２０、および他のディスプレイ・ページに切り替えるためのアイコン１２４および１２６も含むことができ、これらのアイコンの全ては、以降により詳細に記載される。
【００７６】
機器・セットアップ
機器を制御するために、ユーザは、最初に、遠隔制御アプリケーションに対して、製造業者および各機器によって使用されるＩＲコードを識別すると共に、任意の所望の特定の特徴（表示ネーム、マクロなど）を機器と関連付けることが要求される。一般に、機器・セットアップは、以下の１つ以上のステップの性能を含む。
【００７７】
（１）ユーザが、セットアップするために機器・アイコンを選択する。
【００７８】
（２）ユーザが、機器・タイプを選択する。（いくつかの場合において、これは、所望の機器・タイプが、選択された表示アイコンと一致することを単に確認することを含む。）
（３）ユーザは、機器ＩＲフォーマット、および選択された機器を制御するために使用されるコマンド・セットを指定する。これは、一般に、いくつかの方法、すなわちユーザが、数によって所望のセットアップ・コードを直接指定する方法、ユーザが、全ての利用可能なコード（ローカルなおよび／またはウエブサイトのホスティング・サービスからダウンロードされる）を介して調べることができる方法、ユーザが、遠隔制御アプリケーションによって示されるリストからブランド・ネームを選択する（および、複数の可能性が存在する場合には、その製造業者のＩＲコードの様々なバージョンを選択することができる）ことができる方法の内の１つで行うことができ、または、適切であるそのような他の技術を使用することができる。
【００７９】
例示的なセットアップ・プロセスは、以下の段落でより詳細に記載される。
【００８０】
図１１を再び参照し、機器・ホイール１１０が、セットアップを必要とする全ての機器とともに示される。さらに、追加の機器・アイコン１１３および追加のアクティビティ・アイコン１１５が示される。図１１の機器・ホイール１１０は、ユーザが、最初に遠隔制御アプリケーションを開始するときに、機器・ホイール１１０の開始の外観の例を示す。例として、ブランド・ネームを使用するＴＶのセットアップで呼び出されるステップは、詳細に記載される。ユーザは、ＴＶアイコン１１２をタッチすることによって開始する（または、パワー・ボタン１１７を押す、またはナビゲーション・パッド１０４などのハード・キーを選択する）。説明として、通常のオペレーション（すなわち、遠隔制御アプリケーションが、機器のためにセットアップされた後）の間、機器・アイコンをタッチすることによって、遠隔制御アプリケーションが、その機器に関する制御機能のページを表示させる（例えば、図１９ａを参照されたい）。しかしながら、この場合、機器は、まだセットアップされていないため（主要なＴＶシンボル上にオーバレイされた小さなレンチ・アイコンによって示されるように）、図１４ａから図１４ｉに示されるセットアップ・ウイザードが呼び出される。代替的に（例えば、ＴＶ機器が既にセットアップされており、ユーザが第２のＴＶを追加することを望む場合、またはユーザが、デフォルト・ホイールに示されていない機器を追加することを望む場合）、ユーザは、追加の機器・アイコン１１３を選択することができる。
【００８１】
ＴＶセットアップのための機器・セットアップ・ウイザードは、図１４ａに示されるように導入メッセージで開始することができる。また、セットアップ・ウイザードとともに使用するための、キーボード１４０１およびキャンセル１４１２、バック１４１４、およびネクスト１４１６を、表示することができる。一般に、キーボードおよびボタンは、各セットアップ・ウイザード・ページで表示することができ、使用において容易に全てのスクリーンで同一の位置を占める。オプションのヘルプ・メッセージが読まれると、ユーザは、図１４ｂに示される例示的なスクリーンに進むネクスト・ボタン１４１６を押す。ユーザは、次に、どのセットアップ方法を使用することを望むかを選択することができる。示される例において、デフォルト・セットアップ方法（ブランド・セットアップ）が、既に選択され、ユーザは、このセットアップ方法を使用するように進めるためにネクスト・ボタン１４１６を単に押す。例えばコード・サーチ、直接エントリなどの他の機器・セットアップ方法も利用可能であり、従来技術において良く知られている。参考としてその全体が本明細書に組み込まれる米国特許第４９５９８１０号、米国特許第５６１４９０６号、または米国特許第６１５７３１９号を参照するとよい。
【００８２】
図１４ｃに示されるステップにしたがって機器・セットアップを実行するために、ユーザは、遠隔制御アプリケーションによってサポートされる全ての機器・タイプのドロップ・ダウン・メニュー１４１８から機器・タイプ（この例においてＴＶ）を選択する。次に、図１４ｄおよび図１４ｅに示されるように、ユーザは、選択された機器・タイプに対応するブランド・ネーム１４２０のドロップ・ダウン・リストとともに示すことができる。ユーザは、アップおよびダウン矢印１４２２、リストの側方に表示されるスライダ１４２４、または任意の他の従来のＧＵＩ機器を使用して、このリストをナビゲートすることができる。さらに、ドロップ・ダウン・リスト内の一般的な領域の迅速な位置決めのために、ユーザは、ブランド・ネームの開始文字でタイプするためにキーボード１４１０を使用することができる。ブランド・ネームが強調されると（例えば、図１４ｅにおける「ソニー」）、ユーザは、ネクスト・ボタン１４１６を選択することによって（例えば、タッピングすることによって）、そのブランドを選択することを望むことを示すことができる。特別上等のブランドを選択するためのさらなるＧＵＩ技術も検討する。
【００８３】
複数のＩＲコード・セットの可能性が、選択されたブランドに関して存在するなら、ユーザは、図１４ｆで示されるように、テスト機能キー１４３２の表示されたセットとともにドロップ・ダウン・メニュー１４３０を使用して、各可能なＩＲコード・セットをテストするための機会を提示してもらうことができる。テスト機能１４３２は、それらの指定された機能を示すテスト・ラベルとともに表示することも、テスト・ラベルなしで表示することもでき、図１４ｆに示され
る例１４３２は、ラベルを有しないが、図２０ｂに示される例は、テスト機能ラベルを有するキーを含む。ユーザは、テスト機能キーが、所望なときに機器を制御するように機能するかどうかを調べるために（すなわち、それらの起動に応答して、選択されたセットからのＩＲコマンド・コードが、ターゲット・機器が応答するかどうかをテストするために送信される）、１つ以上のテスト機能キー１４３２を起動することができる。ターゲット・機器が、予想されるような応答に失敗したなら、ユーザは、ドロップ・ダウン・リスト１４３０から異なるコード・セット数を単に選択し、かつテスト手順を繰り返す（例えば、テスト機能キーを再び起動する）。適正な設定が見出されたとき（すなわち、機器が予想されるように応答する）、ユーザは、セットアップ手順で継続させるために、ネクスト・ボタン１４１６を押すことができる。
【００８４】
図１４ｇおよび図１４ｈに示されるようなオプションのステップは、ユーザが、セットアップ・機器のタグ・ネームを入力することを可能にする。図１４ｇに示されるように、デフォルト・ネームは、ブランド・ネームおよび機器・タイプの簡単な連鎖であってよい。しかしながら、ユーザは、図１４ｈに示されるように、それらの選択のより記述的なネームの使用を選ぶことができる。次に、ネクスト・ボタン１４１６をタッピングすることは、機器・セットアップ・ウイザード・プロセスを完了するために使用することができる。その際ＴＶ機器・アイコン１４２は、次に、図１４ｉに示されるように、ユーザが入力した機器・ネームとともに、ホイール１１０（レンチ・オーバレイ無しで）に表示される。代替的に、さらなる付加的ステップは、ユーザを、機器を示すためにカスタマイズされたアイコンを選択できるようにするため組み込むことができる。
【００８５】
ユーザ・プロファイル
新たなユーザ・プロファイルをセットアップするための例示的なステップが、図１５ａから図１５ｆに示される。図１５ａを参照して、ユーザ・カスタマイゼーションは、カスタマイズ・ユーザ・メニュー１５２の表示を結果として生じる現在のユーザ・アイコン１１６をタッピングすることによって開始することができる。カスタマイズ・ユーザ・メニュー１５２は、ユーザを選択するために使用することができ、ここで、選択されたユーザに（図１５に示される例において、１人のユーザ「Ｐａｔ」が、現在定義される）関連付けられたアクティビティなどを実行する機器制御モードに遠隔制御アプリケーションをおき、ユーザを追加／削除し、または存在するユーザのプロファイルを編集するために使用することができる。例として、一人のユーザを追加することに関わるステップが示される。存在するユーザのプロファイルを編集するプロセスは、非常に類似していることは明らかである。
【００８６】
ユーザ・セットアップ・ウイザードは、カスタマイズ・ユーザ・メニュー１５２から「ａｄｄ  ｕｓｅｒ」を選択することによって呼び出すことができる。ユーザ・セットアップ・ウイザードは、図１５ｂに示されるように導入メッセージを表示することによって開始することできる。ユーザ・セットアップ・ウイザードは、次に、図１５ｃに示されるように新たなユーザ・ネーム１５１０、例示だけによって、セットアップされるプロファイルに対する将来の変更を許可するために必要なオプションのパスワードまたは個人の識別番号（ＰＩＮ）のエントリを促すことができる。示された例において、ユーザ・セットアップ・ウイザード・ページは、また、新たなユーザが、チェックボックス１５３０を介して「ゲスト」として定義することを可能にする。設定されると、ゲスト・ステータスは、好ましくは、遠隔制御アプリケーション内の全てのセットアップおよびカスタマイゼーション機能（機器、ユーザ、ルーム、お気に入りなど）を起動不能にし、一方、ゲストとして指定されたこのユーザがアクティブになる。ゲスト・ステータスは、例としてカレンダ、アドレス・ブック、計算表などのＰＤＡ１１５０ＭＰ他のアプリケーションへのアクセスを禁止するために使用することもできる。禁止機能は、大域的に実現することができ、すなわち、ゲスト・ユーザが、遠隔制御アプリケーションから離脱することを妨げられる、またはＰＤＡプラットフォーム内で利用可能なサポートのレベルに応じて、アプリケーション毎に基づくことができる。
【００８７】
ネームまたは任意のＰＩＮまたは特定のステータスが、ユーザ・セットアップの間に入力されると、アイコンは、新たなユーザ（図１５ｄに示されるように）を示すように選択することができ、音声が、（図１５ｅに示されるように）そのユーザによって使用するための遠隔制御アプリケーションを切り替えるときに、可聴な表示を提供するために割り当てられることもできる。アイコンを選択するために、ユーザは、所定のユーザ画像（代替的に、ドロップ・ダウン・リストなどとして示すことができる）のリスト（例えば、ストリップ１５３４として示される）を通してスクロールし、ビットマップを通して検索し、かつＰＤＡ１１５０内のファイル・ホルダーからの画像、ダウンロードされた画像などを選択することができる。同様に、ユーザは、所定の音声のドロップ・ダウン・リストからの音声を選択し、ＰＤＡ１１５０内に格納された全ての音響（例えば、ｗａｖファイル）を介して検索し、音響ファイルのダウンロードなどができる。
【００８８】
ユーザ・セットアップ・プロセスを決定するために、確認スクリーンは、図１５ｆに示されるように提示することができる。この確認スクリーン上のネクスト・ボタン１４１６をタッピングすることにより、次に、新たなユーザとともにホーム・ページ表示に遠隔制御アプリケーションを戻すことができる（例えば、図１４ｉまたは図１６ａに示される、選択された「Ｈａｒｌｅｙ」アイコン）。上述の方法での新たなユーザの初期化は、このユーザに割り当てられた新たなブランクお気に入りページを結果として生じることができる。お気に入りページの目的および構成は、後のセクションで詳細に議論される。
【００８９】
ルーム・プロファイル
ルーム・プロファイルを構成する例示的なプロセスは、図１６ａから図１６ｆに示されている。図１６ａを参照して、ルーム・プロファイル構成は、例えば、現在のルーム・アイコン１１８をタッピングすることによって開始することができ、現在のルーム・アイコン１１８により、カスタマイズ・ルーム・メニュー１６２の表示が得られる。カスタマイズ・ルーム・メニュー１６２は、異なるルームの選択を可能にし、遠隔制御アプリケーションを、機器を制御するモードにし、（示される例では、ただ１つのルーム、「リビング・ルーム」が現在定義されている）選択されたルームに関連付けられるアクティビティ、新たなルームの追加／削除、または存在するルームのプロファイルの編集を実行することを許容する。構成の目的のために、カスタマイズ・ルーム・メニュー１６２は、選択されたルームに現在構成された全ての機器に関する機器・コード・セットアップ数を表示するためのオプションも含む。機器・コード・セットアップ情報は、例えば、機器に関して拡張された機能コードを提供し、かつ自動的なプロセスまたは半自動的なプロセスによってサポートされないウエブに基づくサービスにアクセスするときに、有用であることができる。（半自動的なウエブに基づくサービスに関するさらなるバックグラウンドとして、リーダが、参照によってその全体が本明細書に組み込まれる、同時係属米国特許出願第１０／１５１５０１号「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｕｐｇｒａｄｉｎｇ  ｔｈｅ  Ｒｅｍｏｔｅ  Ｃｏｎｔｒｏｌ  Ｆｕｎｃｔｉｏｎａｌｉｔｙ  ｏｆ  ａ  Ｄｅｖｉｃｅ」が言及される。）例として、ルームを追加することに含まれるステップが示される。しかしながら、存在するルームを編集することは、類似のプロセスであることが明らかである。
【００９０】
ルーム・セットアップ・ウイザードを呼び出すために、「ａｄｄ  ｒｏｏｍ」アイテムは、ルーム・カスタマイゼーション・メニュー１６２から選択することができる。呼び出されるときに、ルーム・セットアップ・ウイザードは、図１６ｂに例として示される導入メッセージを表示することによって始めることができる。ルーム・セットアップ・ウイザードは、次に、図１６ｃに示されるようなルーム、および図１６ｄに示されるようなこのルームに関連付けられる画像のネーム１６２０のエントリを促すことができる。画像を選択するために、ユーザは、所定のルーム画像１６３０のリスト（例えば、示されるようなストリップ、ドロップ・ダウン・リスト、または他の同様のＧＵＩ選択機器）を通してスクロールし、ＰＤＡ１１５０内のファイル・ホルダー内のビットマップ画像を通して検索し、画像をダウンロードすることなどをするができる。ユーザは、図１６ｄに示されるように、そのルームへの切り替えに音声を任意選択で関連付けることもできる。再び、ユーザは、所定の音声のドロップ・ダウン・リストから音声を選択することができ、ＰＤＡ１１５０のファイル・システムに格納された音声ファイル（例えば、ｗａｖファイル）を通して検索し、音響ファイルなどをダウンロードすることができる。
【００９１】
確認スクリーンは、図１６ｆに示されるように、ルーム・セットアップ・プロセスが完了したことを示すために与えられる。この確認スクリーンのネクスト・ボタン１４１６をタッピングすることは、次に、遠隔制御アプリケーションを、例えば図１２に示されるような、選択された新たなルーム「Ｄｅｎ」、機器のために構成される用意がされた空のホイール１１０、および／または新たに定義されたルーム・モードに関連付けられたアクティビティを有するホーム・ページ表示に戻ることができる。上述されたような新しいルームの初期化によっては、そのルーム（および適切であればそのルームのユーザ）に割り当てられる新しいブ
ランクのお気に入りページが得られる。お気に入りページの目的および構成は、以降のセクションで詳細に議論される。
【００９２】
ルーム・セットアップ−段階２−マクロの生成
遠隔制御アプリケーションによっては、また、共通のアクティビティに関するマクロ（単一のキーを押すことによって再生することができる、事前プログラムされたコマンド・アクションのシーケンス）の自動的または半自動的な構成を実現させることができる。例として、しばしば必要なコマンドのシーケンスは、ホーム・シアター・システムでの場合であるなど、いくつかの機器をともにパワー・オン（およびパワー・オフ）であることができる。例示的なマクロのこのタイプの生成を容易にするために、遠隔制御アプリケーションは、セットアップ・ウイザードの一部として、「ｃｈｅｃｋｂｏｘｅｓ」に伴う現在構成された全ての機器１６４０のリストをユーザに表示することができ、「ｃｈｅｃｋｂｏｘｅｓ」で、ユーザは、これらの機器のどれが、「ａｌｌ  ｏｎ」マクロに含まれるかを指示することができる。これは、図１６ｇに示されるように、ルーム・セットアップ・ウイザードのさらなる付加的ステップとして含まれることができる。なぜなら、そのようなマクロは、一般に、特定のルーム内で利用可能な機器に関連付けられるからである。
【００９３】
さらなる例として、他のしばしば必要なコマンドのシーケンスは、入力ルーティングを実行するコマンドである。入力ルーティングを実行するためにマクロを構成するために、ユーザは、機器がフック・アップされる方法についての一連の質問に回答することができ、リストから（またはビジュアル／ダイアグラムを有するリストから）機器・ルックアップ構成を選択することができる。代替的に、機器１１５０の基礎にあるグラフィック能力がそれをサポートする場合には、ドラッグおよびドロップ・インタフェースは、機器がフック・アップされる仕方、手法を表す異なる機器の入力および出力を整合させるために、提供することができる。これらの各入力／出力対は、次に、１つの特定の機器が使用のために選択されるときに、全ての必要な音響／ビデオ制御が、その使用が可能になるように自動的に選択または設定されるように、入力ルーティングを実行するためにマクロ・シーケンスを確立するように使用することができる。
【００９４】
ホーム・スクリーンのカスタマイゼーション
システムは、ユーザが、カスタマイズされたバックグラウンドを加え、ホイール１１０上の機器だけまたはアクティビティだけを表示し（デフォルトは、両方のタイプを表示することができ、両方のタイプは、それらがセットアップされた順番に混ぜられる）、セットアップ機能へのアクセスを制限することによって、ホーム・ページの外観および機能性をカスタマイズすることを可能にすることができる。
【００９５】
遠隔制御アプリケーションの初期化および他のアプリケーションとの相互作用
遠隔制御アプリケーションは、それをターン・オンおよびオフする基本的な特性を有することができる。例として、初期化シーケンスは、遠隔制御アプリケーションが開始されたときに実行することができる。一般的な初期化シーケンスの全体的な外観が、図２４に示される。示された例において、ウインドウズ・ポケットＰＣ２００２ブランド・ソフトウエア・システムとシームレスに統合されるように、ｉＰＡＱブランドＰＤＡによって提供されるハードウエアおよびソフトウエアを利用する。この例示的なプラットフォームの基本的な初期化特性は、ポケットＰＣブランド・ソフトウエア・システムの他の部分と相互作用とともに、以下の段落で記載される。
【００９６】
ユーザが、「ｐｒｏｇｒａｍｓ」または「ｓｔａｒｔ」スクリーン表示（図８および図９に示される）から遠隔制御アプリケーション・アイコンを選択するとき、内部一貫性チェックは、好ましく、遠隔制御アプリケーションを動作するために必要なファイルおよびリソースが利用可能であることを確実するように実行される。ファイルがない場合には、例えば、ユーザが、ファイルまたはアプリケーションが再インストールされる必要があることを、ユーザは知ることができる。問題が生起し続けるなら、技術的なサポートをとりつけるべきであることを、ユーザに知らせるために、メッセージを表示することができる。従属性チェックは、また、必要なハードウエア（例えば、ＩＲシグナリング・モジュール１１１８または送信器ＩＣ２０４）が利用可能であり、遠隔制御アプリケーションおよび現在インストールされた他のソフトウエアの正しいバージョンであることを確認することができる。クラス初期化において、個別のモジュールは、構成ファイルがロードされる前に、デフォルト状態に初期化することができる。リソース初期化において、最初のウイザードを通してユーザをガイドするために必要な基本リソースをロードすることができる。リソースは、ＩＲデータベース、アイコン、ビットマップ、ダイアログなどを含む。
【００９７】
その後、全ての必要なシステム・リソースは、初期化され、遠隔制御アプリケーションは、適切なスタートアップ・ユーザおよびルーム（複数が構成されるなら）を選択する。システムは、システムが複数のユーザか単一のユーザであるかを調べるためにチェックすることができる。システムが、単一のユーザであるなら、複数ユーザ・ログインは生成されない。システムが複数のユーザであるなら、システムは、ユーザ・プロファイル（構成ファイルが使用することができる、ユーザ・ネーム、ユーザ・アイコン、ユーザＰＩＮを含む）をロードすることができる。システムが単一のユーザであるなら、システムは、ユーザが１つ以上の構成ファイルを有するかどうかを調べるためにチェックすることができる。単一の構成ファイルが存在するなら、次に、その構成ファイルをロードすることができる。ユーザが、システムに１つ以上の構成ファイルを有するなら、システムは、デフォルトとして指定される構成ファイルをロードすることができる。デフォルトは、システムで使用される最後の構成ファイルであることができる。システムが、ユーザが任意の他の構成ファイルを（選択しかつ）ロードすることを可能にする方法を提供することができるように、システムは、ビットを設定することができる。最初のユーザ・ウイザード・フラッグを設定するなら、システムは、ユーザに関する情報を集めることができる。構成ファイルが、既にＰＤＡ１１５０にあるなら、ユーザを促して、その構成ファイルを使用すること、または新たな構成ファイルを生成させることができる。
【００９８】
初期化が成功したときに、図１０に例が示されるスプラッシュ・スクリーンを、また表示することができる。スプラッシュ・スクリーンは、製品名、企業名、特許および著作権表示を含む法律上の情報などの情報を含むことができる。このスプラッシュ・スクリーンは、ユーザ識別および／またはログインを必要とすることができ、またはタイムアウト後にホーム・スクリーンに単に切り替えることができる。いずれの場合でも、スプラッシュ・スクリーン・アクティビティの完了時に、遠隔制御アプリケーションは、注目のアプリケーションである。起動時に、遠隔制御アプリケーションは、この文書の他のセクションでより詳細に記載されるように、任意のホットキーの標準の割り当てを一時的にオーバライドすることができる。
【００９９】
遠隔制御アプリケーションが、起動しているとき、ユーザが、タイムアウト期間内で（例えば、時間がユーザによって設定可能であることができる２０秒）起動を実行しないなら、システムは、バッテリ・エネルギーを節約するために、表示をターン・オフすることができる。しかしながら、表示がターン・オフされても、注目のアプリケーションが、まだ遠隔制御アプリケーションであることができる。ディスプレイを、ホーム・スクリーン（または、たとえ他のスクリーンが現在表示されていても）から、タイムアウトが発生したことを警告するスプラッシュ・スクリーンへ、簡単に切り替わって戻すことができる。
【０１００】
ユーザは、例えばポケット・エクセル・ブランド表計算アプリケーションなどのＰＤＡ１１５０によってサポートされる他のアプリケーションを選択するなら、遠隔制御アプリケーションは、バックグラウンドで実行を継続することができるが、もはや注目のアプリケーションではない。この場合、遠隔制御アプリケーションは、ユーザが、遠隔制御アプリケーションがまだ注目されていないので、再び操作されるホットキー（例えば、ｉＴａｓｋボタン）を選択することによって、または、スタート・メニューまたはプログラム・ページから遠隔制御アプリケーションを再選択することによって、注目のアプリケーションとして再指定することができる。遠隔制御アプリケーションが再指定される場合には、遠隔制御アプリケーションは、上述された完全な初期化シーケンスを実行することはできない。むしろ、遠隔制御アプリケーションが既にロードされかつ起動されているので、停止される点で単に再開することができる。
【０１０１】
お気に入りページ
遠隔制御アプリケーションは、ユーザがお気に入りプログラミングに（例えば、機器が、お気に入りチャネルにチューニングさせるようにコマンドを送信させる）直接アクセスために構成することができるボタン・アイコンを含む、１つ以上のお気に入りページ、お気に入り機器などを提供することができる。そのようなお気に入りページに対するアクセスは、例えば、図１１に示されるホーム・スクリーン・ページ上のアイコン１２６を介することができる。例示的なお気に入りページが、図１７ａに示される。お気に入りページは、図１７ａに示されるように、一般に要求されるコンテンツ・プロバイダ（例えば、それらのロゴを使用して）の選択１７１０で、オプションで事前に分布している（ｐｒｅｐｏｐｕｌａｔｅｄ）ことができ、または初期的にはブランクであってよい。いずれの場合でも、デフォルトお気に入りページの初期化は、好ましくは、遠隔制御アプリケーションの最初のスタートアップを生じる。ユーザおよび／またはルームが前に記載されたように追加されるとき、別個のさらなるお気に入りページを、生成することができる。お気に入りページは、特定の機器（例えば、衛星ＳＴＢまたはＣＤジュークボックス）に指定することができ、一方、他の例では、お気に入りページは、単一のアクセス点から全てのユーザのお気に入り媒体コンテンツへのアクセスを可能にするために、複数の機器に及ぶことができることも理解される。
【０１０２】
初期のお気に入りページが事前に分布している（ｐｒｅｐｏｐｕｌａｔｅｄ）存在する場合には、ユーザによってまだ構成されていないアイコンは、セットアップが必要である（例えば、図１７ａに見られるようにレンチ・オーバレイを使用して）指示とともに表示することができる。お気に入りアイコンを構成または追加するために、ユーザは、カスタマイズお気に入りメニュー（例として、例えば、お気に入りページが表示されている間に、カスタマイズ・アイコン１２２をタッピングすることによって）を呼び出し、図１７ｂに示されるような「Ａｄｄ  Ｆａｖｏｒｉｔｅ」または「Ｅｄｉｔ  Ｆａｖｏｒｉｔｅ」を選択する、またはそれがまだ構成されていないことを示すために、レンチ・オーバレイを表示する１つのデフォルト・アイコンを単にタッッピングすることができる。いずれの場合でも、お気に入りセットアップ・ウイザードは、図１７ｃから図１７ｈを参照して以下の段落で記載されるようにお気に入りエントリを構成するために呼び出すことができる。
【０１０３】
お気に入りセットアップ・ウイザードは、図１７ｃによって示される導入メッセージを表示することによって始めることができる。次に、お気に入りセットアップ・ウイザードは、図１７ｄに示されるように、ユーザに、キーストロークのシーケンスまたは構成されるお気に入りエントリと関連付けられる他のアクションを記録するように指示することができる。ユーザが、ネクスト・ボタン１４１６をタッピングすると、ユーザは、例えば図１７ｅに示される衛星機器制御ページなどの、機器制御ページの通常のセットを提示してもらうことができる。ユーザは、アイコン１２４を使用して個別の機器制御ページに切り替えるように、ホーム・ページ・ホイール１１０（ホーム・ページが、アイコン１２３の選択を介してアクセスされる）を使用して構成される全ての機器をナビゲートすることができる。この方法によって、ユーザは、一連のキーストローク、例えばキー「０，」、「０，」、「４，」、および「Ｅｎｔｅｒ」を選択して入力し、チャネル４に対して図１７ｅおよび図１７ｆに示される衛星受信器機器を切り替えるために、お気に入りボタン・コマンドに割り当てることができる。例示的なシステムにおいて、「ｍｉｎｉ−ｗｉｚａｒｄ」（ガイダンス・メッセージ１２５によって明示される）は、セットアップ・プロセスを介してユーザを案内し続けるが、各機器のアプリケーション・インタフェース内のソフト・キー・ページに対する完全なアクセスをまだ提供する。ユーザが、所望のシーケンスのエントリを完了すると、カスタマイズ・アイコン１２２をタッピングすることは、ユーザが、お気に入りセットアップ・ウイザードの最後のステップを完了することを可能にするメニューを表示する。この例示的なメニューから、ユーザは、また一時的に停止し、かつ後でキーストロークの記録し、再生シーケンスに遅延を挿入し、またはそれを再生する点まで入力されたシーケンスをテストすることを再開するオプションを有する。図１７ｇおよび図１７ｈに示されるお気に入りセットアップ・ウイザードの最後のステップは、ネーム１７２０および画像１７３０をお気に入りエントリに割り当てられることを可能にする。音声は、また、お気に入りエントリの選択に関連付けることができる。さらに、基礎にあるＰＤＡプラットフォームによってサポートされる場合、例えば、自動的に同時に動作するブラウザ・アプリケーションにロードされるＵＲＬなどの追加のデータは、お気に入りエントリと関連付けることができる。（ユーザが定義可能なお気に入りキーとともにそのようなデータの使用に関する追加のバックグラウンドに関して、その全体が参照によって本明細書に組み込まれる、「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｒｅｔｒｉｅｖｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｗｈｉｌｅ  Ｃｏｍｍａｎｄｉｎｇ  Ｏｐｅｒａｔｉｏｎ  ｏｆ  ａｎ  Ａｐｐｌｉａｎｃｅ」という名称の同時継続米国特許出願第１０／１７６３１５号に示される。）
ナビゲーション・モデル
遠隔制御アプリケーションは、遠隔制御アプリケーションが起動している間に、ハードウエア・キーに関連付けられる機能を再定義することによって、ＰＤＡ１１５０に提供されたハードウエア・キーを利用することができる。例として、図１０を参照して、例示的なｉＰＡＱブランド・ポケットＰＣ機器は、ユニットのボタンを横切って配置されたナビゲーション・パッド１０４（アップ／ダウン／左／右および選択）に加えて、４つのハード・キー１０２を提供する。通常の動作の間、これらのキーは、一般に、様々な迅速な機能を実行するようにデフォルトによって割り当てられる。これらの迅速な機能は、カレンダまたはアドレス・ブック・アプリケーションに直接切り替える、（ときには「ｉＴａｓｋ  ｂｕｔｔｏｎ」を使用するとして参照される）現在起動しているアプリケーションのリストを表示し、方向またはスクリーン上に表示されるメニューをナビゲーションするなどである。遠隔制御アプリケーションが起動されると、そのようなハード・キーは、とりわけ、遠隔制御アプリケーションが、一般に使用される機器制御機能に関するアクションを実行するように定義付けることができる。この機能性は、ユーザが、現在のアクティビティに基づくハード・キー割り当ての様々なグルーピングの間で選択することを可能にすることによって、さらに高めることができる。例えば、ＰＶＲ機器のメニューのナビゲーションの間の最適な便宜とは、これらのキーを、方向制御、メニュー、出口、および機能選択に関するコマンドの送信を行うように構成する必要があるということであり、一方、ＤＶＤを視聴している間の最適な便宜とは、これらのキーを、制御機能（操作／停止／早送りなど）を伝送するコマンドの送信を行うように構成することを必要とするということである。
【０１０４】
このハード・キー再割り当てモデルおよびそれに関するユーザ制御の様々な態様が、図１３とともに以下の段落で議論される。これらのモデルは、以下を含むが、それに限定されるものではない。
【０１０５】
・４つのハード・キー１０２によって駆動される、例示的なアプリケーション・ナビゲーション・モデル
・ナビゲーション、制御、または伝送であってよい例示的な複数のナビゲーション・パッド１０４キー割り当て
・現在のキー割り当てを指示するキー・ガイドを表示する例示的な方法
・操作しているナビゲーション・パッド・キー割り当てを選択する例示的な方法
アプリケーション・ナビゲーション
ボタン１０２ａは、遠隔制御アプリケーションが、図１１に示されるスクリーンのトップを横切ってそれぞれタブ・アイコン１２３、１２４、および１２６によって示される、ホーム・スクリーン・ページ、機器制御ページ（現在起動している機器に関して、その１つ機器がホイールのトップにある）、お気に入りページなどの各ページ・タイプを通して循環させるように使用することができる。アプリケーションが起動されているが、低いパワー状態であるときに、ボタン１０２ａが押されたときに、現在のページを表示することができる。この例において、第２の押しは、次のページ・タイプに循環することができる。ボタン１０２ｂは、遠隔制御アプリケーションが、このページ・タイプ（例えば、制御が４ページからなり、お気に入りが３ページからなるなど）に関する次のページを表示させるために使用することができる。アプリケーションが起動されているが、低いパワー状態であるときに、ボタン１０２ｂが押されたときに、現在のページを表示することができる。この例において、第２の押圧は、このページ・タイプに関するページのファミリ内の次のページ・タイプに循環することができる。
【０１０６】
ボタン１０２ｄは、トグル・ミュート（例えば、注目の機器に対してミュート・トグル・コマンドを送信させる）に使用することができる。このボタンは、グループの他のキーに関して選択された割り当てに関わらず、常に利用可能であるようにすることができる。
【０１０７】
ボタン１０２ｃは、キー・ガイド１３０を表示し、ユーザが、ナビゲーション・パッド１０４に関するキー割り当てを変更することを可能にするために使用することができる。最初に押されると、現在のキー・ガイドは、図１３に示されるように、表示ページが現在アクティブであるかどうかをボタン上に重ねて表示することができる。キー・ガイド１３０の表示は、固定されたまたはユーザが設定可能な時間期間、例えば５秒にすることができる。ボタン１０２ｃが、この時間ウインドウ内すなわちキー・ガイド１３０表示が見える間に、再び押されると、ナビゲーション・パッド・キー割り当て構成は、循環させることができる。例として、３つの可能な選択可能な構成１３０ａ、１３０ｂ、および１３０ｃが示される。これらの割り当ての重要性は、以下の段落でより詳細に議論される。
【０１０８】
ナビゲーション・パッド・キー割り当て
ユーザの便宜のために、ナビゲーション・パッド１０４に存在する５つのキー機能（アップ、ダウン、左、右、および選択）を、実行される現在のアクティビティに応じていくつかの機能グループの１つに割り当てることができる。この割り当ては、現在選択された機器・タイプまたは実行される現在のアクティビティに応じた遠隔制御アプリケーションによって、動的におよび自動的に変更することができ、または、ユーザによって手動で設定することができる。示された例において、機能の３つのセットが利用可能であり、すなわちナビゲーション１３０ａ（メニュー、または民生機器でのガイド動作）、制御１３０ｂ（音量およびチャネル・アップ／ダウン）、および伝送１３０ｃ（作動、巻き戻し、早送りなど）である。ナビゲーション・パッド１０４の起動は、次に、所期のターゲット・機器の適切な動作を制御するためにコマンドの送信を行わせることは理解される。
【０１０９】
これらのキーの現在の設定の指示は、キー・アイコン１２０によってスクリーンの右下の角に提示される。このアイコンは、ナビゲーション・パッド・ハード・キーの現在の設定に応じて、異なる形態１２０ａ（ナビゲーションを指示する）、１２０ｂ（制御を指示する）、および１２０ｃ（伝送を指示する）をとることができる。このアイコン１２０をタッピングすることで、所望のキー割り当てがユーザによって選択できるメニューを呼び出すことができる。代替的に、キー割り当ては、前に記載されたように、ハード・キー１２０ｃを使用によって変更することができる。
【０１１０】
ユーザが、遠隔制御アプリケーションが、テレビの動作を制御するモードにあるときに、制御、例えば伝送機能に関して選択された機器によってサポートされていないモードに、ハード・キーを変更しようと試みる場合には、遠隔制御アプリケーションは、そのキー割り当ての選択を禁止することができ、結果として何のアクションもシステムによって行われない、ハード・キーによる起動への割り当てを選択することを可能にできる（または、手動で設定されるまたは自動的に設定されるパンチで、デフォルト・機器またはアクションを実行することができる最後の機器に適切なフォーマットの信号送信を行う）。
【０１１１】
遠隔制御アプリケーションが、現在、構成メニューを表示するモード、またはセットアップ・ウイザードを実行するモードであるときに、ナビゲーション・キー・パッド１０４は、セットアップ・ウイザードの実行の間に、標準のアプリケーション機能性、すなわちメニュー・アップ／ダウン／左／右および選択に自動的に戻ることができる。
【０１１２】
民生電子機器の制御
遠隔制御アプリケーションは、多数の民生電子機器の機能性を制御するために使用できる。ＴＶが、以下の例示的な記載に関するテンプレート・機器として使用されるが、しかしながら、多くの他の機器・タイプが存在することは明らかである。
【０１１３】
ＴＶ機器の動作は以下の通りである。ＴＶが、前に記載されたようにセットアップされていると仮定すると、遠隔制御アプリケーションは、ＴＶが、アクティブ（トップ）機器・アイコン、図１４ｉにおける１４２になるまで、例えば、ホーム・ページ・ホイール１１０を回し、次に、ＴＶアイコン１４２または制御タブ・アイコン１２４をタッピングすることによって、ＴＶを制御するモードにすることができ、図１９ａに示されるような機器制御ページの第１ページの表示を結果として生じる。機器・タイプに応じて、制御機能の追加のページが、図１９ｂおよび図１９ｃに示されるように利用可能である。ユーザは、ページ・ハード・キー１０２ｂまたは制御表面スイッチング・アイコン１９２のいずれかを使用することによって、もしあればこれら追加のページをナビゲートすることができる。ユーザは、上述のような機器を選択するときに、表示される制御ページは、最後に使用された制御ページであってよく、逆に常に１ページで始まることができる。例えば、ＶＣＲなどの他の機器・タイプに切り替える前に実行されたユーザの最後のアクションが、ＴＶ選択時に音量調整コマンドであるなら、第３ページ（図１９ｃ）を表示することができる。なぜなら、このページは、（最近に使用された）ＴＶ音量制御ボタン１９４を含むからである。
【０１１４】
表示されたソフト・キーは、セットアップされた特定の機器に応じて遠隔制御アプリケーションによって調整することができる。例として、図２１ａおよび図２１ｂは、２つの異なるテレビ・モデルに関して表れることができる制御ページを示す。図２１ｂに示されるＰａｎａｓｏｎｉｃブランド・テレビ・モデルは、「−／−−」キー１２１２をサポートするが、一方図２１ｂに示されるＳｏｎｙブランド・テレビ・モデルは、サポートしないことに留意するのが望ましい。この例において、遠隔制御アプリケーションは、現在選択された機器に実際に存在する機能に関するそれらボタンだけを表示する。
【０１１５】
制御ページがアクティブである（表示されている）いる間、カスタマイズ・アイコン１２２は、全て以降のセクションでより詳細に議論される、ユーザがキー割り当ておよびレイアウトを変更することを可能にするメニュー１２０２を呼び出し、他の遠隔制御または機器からの新たな機能を学習し、キーおよびページを追加および削除するために使用することができる。さらに、便宜のために、このメニュー１２０２から、ユーザは、図２０ｂに示されるようなキー機能ラベルのテスト表示を任意選択で可能にすることができる。さらなる説明として、キー自体は、一般に、言語従属性を排除するために（例えば図２０ａおよび図２０ｂにおいて見られるように）可能であるグラフィカル・アイコンを使用してラベル付けされるが、アイコン・システムに慣れていないユーザのために、オプションのテキスト・ラベルを提供することができる。
【０１１６】
テキスト・ラベルは、一般な機能ネームであることができ、または現在制御されている機器の製造業者によるその機能に割り当てられたネームであることができる。例示として、前に見られていたチャネルにＴＶセット（または他のチューニング機器）を戻す遠隔制御コマンド機能は、通常「ｌａｓｔ  ｃｈａｎｎｅｌ」または「ｐｒｅｖｉｏｕｓ  ｃｈａｎｎｅｌ」としてグラフィックに参照される。しかしながら、Ｓｏｎｙブランド装置では、この機能はしばしば「Ｊｕｍｐ」とラベル付けされ、Ｐａｎａｓｏｎｉｃブランドでは、これはしばしば「Ｒ−Ｔｕｎｅ」とラベル付けされる。したがって、慣れている用語でラベル付けするユーザ・キーを提供するために、これは、特定のアプリケーションで有利であることは明らかである。
【０１１７】
前述のように、遠隔制御アプリケーションは、機能性の標準レベル（すなわち、最も一般的にアクセスされる機能）をサポートする機能、一般的なパワーに関する機能、または機器を１００％完全にサポートする一般的ではないまたは拡張された機能をサポートする機能を表示することができる。
【０１１８】
ホーム・オートメーション・機器の制御
遠隔制御アプリケーションは、一般に、ホーム・オートメーション・機器を含む、ＩＲまたはＲＦ通信を使用して制御できる任意の機器を制御することができる。ホーム・オートメーション・機器の場合、ユーザは、これらの機器の機能および／または動作を表す異なるボタン画像を有することを望むものである。したがって、追加のボタン画像は、これら機器を制御する遠隔制御アプリケーションに適合および使用を助けるために、ＰＤＡ１１５０にローカルに格納されるか、または例えばウエブサイトまたは機器からダウンロードすることができるようにして、ユーザに利用可能にすることができる。そのようなオプションのボタン・アイコンのリストは、照明、カーテン、ブラインド、空調、暖房、プール・ヒータ、スパなどの機器のためのオン／オフおよび開放／閉鎖アイコンなどのアイテムを含むことができる。システムは、画像に対する機能を、例えばＩＲコードのシーケンスをＸ１０機器への送信と関連付ける能力を有することもできる。
【０１１９】
ＩＲコードの学習
新たな機器が、市場に導入され、そのような新たな機器をサポートするコマンド・セットを、遠隔制御アプリケーションに追加することができる。これは、以下の３つの方法の１つで行うことができる。すなわち、学習すること、ダウンロードすること、またはＰＤＡ１１５０の不揮発性メモリに焼き付けられたデータベースの臨時にリフレッシュすることである。ＩＲコード学習の詳細な方法は、従来技術において良く知られており（例えば、参照によってその全体が本明細書に組み込まれる、米国特許第４６２６８４８号、および米国特許第６０９７３０９号を参照されたい）、また遠隔制御アプリケーションは、１つ以上のこれらの方法または最近開発された方法を使用して、新たな機器に特定な遠隔制御からＩＲコードを学習する能力を提供することができる。このために、学習されるべき入力信号は、この目的のために特に提供されるＩＲ受信器に与えることができ、または図４に示される機器１１５０に既に搭載されたＩＲ受信器２１４の出力信号から得ることができる。
【０１２０】
一般に、ＩＲコードは、一時に単一の機能に関して学習される。ユーザは、利用可能な機能毎に学習することを選択でき、その機器・タイプに関する選択機能の学習を選ぶことができる。ユーザは、存在する機能に関するコードを、新たなＩＲコード・シーケンスと置き換えるために選択することもできる。さらに、ユーザは、この機器・タイプに関して通常呈示されない機能を追加することができる。新たな機能が追加されたとき、ユーザは、学習されたコマンド・コードに割り当てられないボタンを追加することができ、適切なラベルをボタンに与えることができる。
【０１２１】
一般に、遠隔制御アプリケーションが、学習モードが入力されたことを検出すると、ソフトウエアは、学習するために新たなコードを聞こうとする。ソフトウエアは、コードが学習されたとき、音響的におよび／または視覚的に応答することができる。さらに、ソフトウエアは、コードが学習できないとき、異なる音響的トーンおよび／または視覚的な指示で応答することができる。
【０１２２】
割り当ておよび再生マクロ
マクロは、ユーザがタスクの組み合わせを迅速に実行する方法を提供する。遠隔制御アプリケーションによってサポートされる２つのタイプのマクロが存在することでき、システムが生成したマクロと、ユーザが生成したマクロとである。システムが生成したマクロは、ホーム・シアター・システムに対するパワーのオンおよびオフのような一般にタスクを容易にするために、遠隔制御アプリケーションによって自動的にまたは半自動的に生成される。システムが生成したマクロは、より前に記載された。
【０１２３】
ユーザが生成したマクロは、そのシーケンスを、単一のボタンの押圧によって繰り返すことができるように、ユーザが、単一のボタンに割り当てられるアクションのシーケンスを手動でプログラムできる。ユーザが生成したマクロの例は、「Ｗａｔｃｈ  ＤＶＤ  Ｍｏｖｉｅ」マクロであることができ、これは、１）ＤＶＤプレーヤをオンし、２）ＤＶＤ入力に対するＡＭＰに向け、３）ＴＶをオンし、４）ＴＶ入力を「Ｖｉｄｅｏ  １」に設定し、および５）Ｍｏｖｉｅを作動する。マクロを定義するそのようなユーザは、ホーム・スクリーン・機器・ホイール１１０上のアクティビティ・アイコンを介して、例示的な実施形態で始動することができる。
【０１２４】
図２２ａから図２２ｇを参照して、ユーザは、図２２ａに示されるように、例えばそれを選択することによって、ホイールの最上の位置へ追加アクティビティ・アイコン１１５を回転することによって、新たなマクロ・シーケンスのプログラミングを始動することができる。追加アクティビティ・アイコン１１５の選択は、次に、プログラミング・プロセスを介してユーザをガイドするアクティビティ・セットアップ・ウイザードを呼び出させることができる。アクティビティ・セットアップ・ウイザードは、図２２ｂおよび図２２ｃに示されるようにいくつかの情報メッセージを表示することによって開始することができる。アクティビティ・セットアップ・ウイザードは、次に、マクロとして格納されるキーストロークのシーケンスをユーザに促すことができる。このエントリ・プロセスは、図１７ｅおよび図１７ｆとともに前に記載されたプロセス（お気に入りキーの定義）と類似し、したがってここで繰り返される必要はない。シーケンス・エントリの完了時に、ユーザは、このプログラムされたアクティビティに関連する画像（図２２ｅ）およびネーム（図２２ｆ）を選択することができる。ユーザは、また、例えばチェックボックス２２４を介して、ホーム・ページ（チェックされていないボックス）で残るか、またはコマンドを出された（チェックされたボックス）最後の機器の機器制御ページに切り替えられるかの完了時に、マクロ再生を有するオプションを提供することができる。これは、例えば、ユーザ・プログラミング「Ｗａｔｃｈ  ＤＶＤ」マクロが、ホーム・スクリーン・ページよりむしろＤＶＤ機器制御ページ（図２２ｄに示されるような）に切り替えられた遠隔制御で、シーケンスが終了することを望むことができる。マクロ定義が完了すると、新たなアクティビティ（この例では、「Ｗａｔｃｈ  ＤＶＤ」）が、図２２ｇに示されるような機器・ホイール１１０に現れる。類似の画像を、機器とアクティビティとの両方に適用できるので、アクティビティ・アイコンは、機器・アイコンとは異なる色で表示することができる。さらにホイールの中央の制御ボタン１１７は、赤色の「Ｐｏｗｅｒ」ボタンの代替的に緑色の「ＧＯ」ボタンに変更することができる。
【０１２５】
ソフトウエアは、マクロが機器を制御する任意のスクリーンに割り当てられることを可能にできることは理解される。さらに、ソフトウエアは、マクロが、ハードウエア・ホットキーならびに共通ユーザ・インタフェース要素のためのパンチ・スルー・コマンドとして追加することを可能にする。さらに、ソフトウエアは、マクロがコピーされ、リンクされ、および／または編集することができる。編集で使用するために、ソフトウエアは、マクロが所望なように機能することを確実にするステップ・スルー能力を可能にし、ユーザがマクロを細かく調整できるように、マクロ・エジターを提供することができる。マクロは、ノン・タイムド・キー・ストロークおよび／またはタイムド・キー・ストロークで記録することもできる。
【０１２６】
キーのカスタマイゼーションおよび再割り当て
遠隔制御アプリケーションは、ユーザが、他の機器、または所定の機器制御ページのボタン・レイアウトを単なる再配置を示す、制御ページ上の１つの機器からの機能性を呈示することを可能にする。
【０１２７】
カスタマイゼーションおよびキー再割り当ては、図２０ａに例として示されるカスタマイゼーション・メニュー１２０２からアクセス可能な、コピー・キーおよびムーブ・キー機能を使用することによって達成することができる。カスタマイゼーション・メニュー１２０２を使用して、ユーザは、存在するボタンをオーバライドする、またはスクリーンに新たなボタンを追加することを選択することができる。例えば、キー機能のコピーは、基礎にある機能性に対するリンクを生成し、キーにリンクされた基礎にある特性が修正されるなら、リンクされた全てのキーが更新される。代替的に、ユーザは、元々の機能性のコピーになるように、デフォルト状態（リンク）を変更するためのオプションを有することができる。この例において、「ｏｒｉｇｉｎａｌ」キーの機能性の修正は、「ｏｒｉｇｉｎａｌ」キーの機能性に割り当てられる他のキーに影響を与えない。
【０１２８】
上述したように基礎にあるキー機能性の再定義に加えて、ユーザは、新たなキーを追加または存在するキーの編集のオプションを提供することができる。このように、キー形状およびラベルは、必要に応じて変更することができる。遠隔制御アプリケーションは、選択するために、ローカルに格納されたキー形状および色の選択を提供することができ、他は、デスクトップ１１０４またはウエブで施されるホスティング・サービス１１０６からダウンロードすることができる。例として、各ボタン画像は、ユーザが、非アクティブなボタンと押されたすなわちアクティブなボタンとの間に識別できるように、「Ｕｐ」および「Ｄｏｗｎ」の２つの状態を備えることができる。遠隔制御アプリケーションは、参照によってその全体が本明細書に組み込まれる米国特許第５９５９７５１号、米国特許第５５１５０５２号、および米国特許第６０１４０９２号に記載されるようなカスタマイゼーション特徴をサポートすることもできる。
【０１２９】
お気に入りマネージャ
各ユーザは、異なる視聴習慣およびお気に入りチャネルを有することがあるので、遠隔制御アプリケーションは、お気に入りを、グルーバルに（全てのユーザに対して）する、またはユーザに固有であってよい。例えば、数人の家族において、チャネル・ラインナップは同じままであるが、個人のお気に入りは異なることがある。さらに、お気に入りは、実際にいくつかの機能（容易に識別可能なログをネットワーク・チャネルに関連付け、および／またはＩＲまたは機器に適切なチャネルを向ける他のコマンドを送信する）を実行することができるので、１人の個人に関して、お気に入りとして全体のネットワーク・ラインナップをセットアップするために使用することができ、他のユーザが、お気に入りのページのセット全体をコピーすることを可能にする。各ユーザは、次に、通常見られないお気に入りページを削除することによって、またはそれらのリンクに対してページ上にお気に入りを再配置することによって、お気に入りのページのセットをさらにカスタマイズすることができる。このお気に入りの削除技術は、例えば、子供のために許容可能なチャネル・ラインナップを構成するときに親によって使用することもできる。子供のユーザ・プロファイルは、他の構成変更が行われないように、子供が知らない（およびしたがって構成することができない）ＰＩＮでセットアップされる、および／またはＧｕｅｓｔとしてセットアップできる。特定の個人に関連するチャネル・ラインナップをさらに制限するために、お気に入り（およびチャネル・アップ／ダウンまたは数値キー・パッド・エントリによって）を介するチャネル・アクセスだけを可能にするために（ユーザ毎に基づき）インタフェースにおける設定も存在することがある。
【０１３０】
図１７とともに前に記載されたお気に入りのセットアップの間に、アシスタンスを提供することができる。例えば、ショート・リスト（例えば７つのエントリ）を、ユーザの最も頻繁にアクセスするチャネルを示す遠隔制御アプリケーションによって維持できる。お気に入りセットアップ・ウイザードの実行の間、頻繁にアクセスされるチャネルの現在のリストは、それによって、表示されたリストからチャネルを拾うことによって実行される、お気に入りボタンの迅速で半自動的なプログラミングを可能にして表れることができる。任意選択で、ユーザは、お気に入りセットアップ・ウイザードに作られる様々なジャンルまたはカテゴリを包含するように、複数のそのようなリストを作成することができる。
【０１３１】
遠隔制御アプリケーションは、ＥＰＧ機能性とともに使用されるように適合されるとき、システムは、チャネルをカテゴリに自動的にグループに分けるために、ＥＰＧに提供される拡張チャネル情報を読むことができる。ジャンル・カテゴリは、例えば、Ｐｅｒｓｏｎａｌ、Ｎｅｗｓ、Ｓｐｏｒｔｓ、Ｍｏｖｉｅｓ、Ｍｕｓｉｃなどをサポートすることもできる。ユーザは、カスタム・ネームを有する追加のカテゴリを作成することができる。ユーザは、カテゴリにチャネル数（機器とともに）を追加することができる。ユーザは、チャネルにラベルを追加することができる。ユーザは、ログをチャネルに関連付けることができる。システムは、複数の入力ソースにわたって実施されるお気に入りチャネルを取り扱うことができる。例えば、映画リストは、１つのローカル・ケーブル・チャネルと衛星によってサポートされる４つのチャネルとを含むことができる。遠隔制御アプリケーションは、自動的またはユーザ・オプションのいずれかによって、お気に入りチャネル・プログラミング・シーケンスを調整するように、チャネル・ラインナップにおける変更のためにホスティングされたサービス・サイト１１０６から定期的にダウンロードされるＥＰＧデータをモニタすることもできる。
【０１３２】
お気に入りページ表示は、適合することもできる。これに関して、遠隔制御アプリケーションは、ユーザに基づきユーザで、チャネル・アクセスの頻度に応じてお気に入りページの表示を編成することができる。最も頻繁に選択されたチャネルは、リストの最も上に表示できる。この表示順は、自動的またはユーザの要求のいずれかによって、週における日および日における時間に基づき変更することもできる。
【０１３３】
拡張可能なファイル・フォーマット
ユーザＩＲコードＤＢ
ユーザＩＲコード・データベースは、それらが、ウエブサイトまたはいくつかの他のソースからダウンロードされたときに、補足的なＩＲコードを格納するために使用できる。これは、ＰＤＡ１１５０とともに出荷された標準のＩＲコード・データベースとは別である。ユーザＩＲデータベースは、学習されたコードを含むことも含まないこともできる。全ての学習されたコードは、遠隔制御アプリケーションの全てのユーザにアクセス可能である。
【０１３４】
機器構成ファイル
機器構成ファイルは、ユーザが遠隔制御アプリケーションで制御するように構成した機器を含む。機器構成ファイルは、各機器に関する遠隔制御アプリケーションの機器制御ページのコンテンツおよびレイアウトを記載することもできる。機器構成ファイルは、個々の機器によって必要な任意のリソースをさらに含むことができる。リソースのリストは、これに限定されないが、マクロ、ＩＲコード、ビットマップ、ストリング文字、および他の必要なデータを含む。
【０１３５】
構成ファイルの拡張可能性
前の部分で記載されたように、遠隔制御アプリケーションに関連付けられた構成およびユーザ・セットアップ・データを管理するために、この情報を、格納された情報に対する将来の拡張を容易にし、ならびに同様の機器間でこの情報の伝送を容易にするように構成されたファイル・システムに格納することは有利である。これらの目的を達成するために使用できる例示的なファイル構成は、以下の段落および以下の表１から表１２に示される。
【０１３６】
構成ヘッダ
例示的な表１に示されるように、構成ヘッダは、ファイルの属性の記述に使用するデータ・フィールドを含む
【０１３７】
【表１】
0004253797.tif 000002
プラットフォームおよびハードウエア・テーブル
例示的な表２に示されるように、プラットフォームおよびハードウエア・テーブルは、ファイルが生成されるハードウエア・プラットフォームの属性の記述に使用するデータ・フィールドを含む。
【０１３８】
【表２】
0004253797.tif 000003
機器・テーブル
例示的な表３に示されるように、機器・テーブルは、ユーザが制御するために遠隔制御アプリケーションをセットアップした、各機器の属性の記述に使用するデータ・フィールドを含む。
【０１３９】
【表３】
0004253797.tif 000004
外部からダウンロードされたデータは、ダウンロード・機器・データに格納される。
【０１４０】
ページ・テーブル
例示的な表４に示されるように、ページ・テーブルは、遠隔制御アプリケーションの各表示ページの属性の記述に使用するデータ・フィールドを含む。
【０１４１】
【表４】
0004253797.tif 000005
ページ記録は、好ましくは、機器ＩＤによってグループに分けられる。
ＣＯＬＯＲＲＥＦは、好ましくは、ＲＧＢカラーを指定するために使用される３２ビット値である。
【０１４２】
ラベル・ページ・テーブル
例示的な表５に示されるように、ラベル・ページ・テーブルは、ページ内のラベルの記載に使用するデータ・フィールドを含む。
【０１４３】
【表５】
0004253797.tif 000006
ボーダ・テーブル
例示的な表６に示されるように、ボーダ・テーブルは、ページ・ボーダの記載に使用するデータ・フィールドを含む。
【０１４４】
【表６】
0004253797.tif 000007
キー・テーブル
例示的な表７に示されるように、キー・テーブルは、遠隔制御アプリケーションによってサポートされるキーの属性の記述に使用するデータ・フィールドを含む。
【０１４５】
【表７】
0004253797.tif 000008
キー記録は、ページＩＤキーによってグループに分けられかつ分類される。
キー・タイプは、キーが可動かどうかを指定するためのブール演算型である。
【０１４６】
機能テーブル
例示的な表８に示されるように、機能テーブルは、キーの起動に応答して実行される機能に関するデータ・フィールドを含む。
【０１４７】
【表８】
0004253797.tif 000009
ハードウエア・タイプは、例えばＲＦまたはＩＲ送信器ＩＣであることができる。
ＩＤ機能が、ダウンロードされたデータであるなら、機器ＩＤキーは、機器を示し、そうでなければＮＵＬＬである。
【０１４８】
マクロ・テーブル
例示的な表９に示されるように、マクロ・テーブルは、マクロ機能の属性の記述に使用するデータ・フィールドを含む。
【０１４９】
【表９】
0004253797.tif 000010
任意のネストされたマクロは、マクロ・リストから新たなマクロ・リストへ全ての機能をコピーである。
【０１５０】
リソース・テーブル
例示的な表１０に示されるように、リソース・テーブルは、リソース（例えば、画像ファイル、音声ファイルなど）を定義するためのデータ・フィールドを含む。
【０１５１】
【表１０】
0004253797.tif 000011
イベント・ジャーナル・ファイル
例示的な表１１に示されるように、イベント・ジャーナル・テーブルは、遠隔制御アプリケーションの動作の間で捕らえられるイベントを記載するデータ・フィールドを含む。
【０１５２】
【表１１】
0004253797.tif 000012
ユーザ・プロファイル・ファイル
例示的な表１２に示されるように、ユーザ・プロファイル・ファイルは、ユーザ属性の記述に使用するためのデータ・フィールドを含む。
【０１５３】
【表１２】
0004253797.tif 000013
ルーム・プロファイル・ファイル
例示的な表１３に示されるように、ルーム・プロファイル・ファイルは、ルーム属性の記述に使用するデータ・フィールドを含む。
【０１５４】
【表１３】
0004253797.tif 000014
ファイル・フォーマットが、バージョン変更可能であり、ファイル・フォーマットが、もとと互換性があることができ、ファイル・フォーマットが、新たな特徴を含むように拡張できることができ、ファイル・フォーマットが、第三者の開発者が格納機構を使用することを可能にすることができ、ファイル・フォーマットが、有効な格納モデルを備えることができ、およびファイルが、ビットマップのような高価なリソースの複製を低減できる機能性が理解される。
【０１５５】
複数のユーザ・プロファイルをサポートする構成ファイル
遠隔制御アプリケーションは、好ましくは、複数のユーザによって使用されるように構成される。したがって、ユーザ・プロファイル・ファイルは、ユーザ・ネーム、ユーザ・アバターに関するビットマップ、ユーザＰＩＮまたはパスワード、および全ての好ましい設定を含む、システムのユーザに関するデータを格納することができる。さらに、ユーザ毎に基づく最も頻繁にアクセスされるチャネルのショート・リストは、ユーザ・プロファイルに格納できる。ユーザのお気に入りチャネル・リスト（および関連するネットワーク・ロゴ）は、同様にユーザ・プロファイルに格納できる。
【０１５６】
特定の例において、遠隔制御アプリケーションの外観および機能性を制御する主要なユーザを指定することが好ましい。全ての他のユーザ・プロファイルは、主要なユーザのユーザ・プロファイル（「ｍａｓｔｅｒ  ｐｒｏｆｉｌｅ」）から導き出すことができる。マスタ・ファイルにおける任意の変化は、マスタ・ファイルに基づき任意のプロファイルに更新することができる。したがって、マスタ・プロファイルは、テンプレートが修正されたなら、テンプレートを使用する任意の文書が更新される場合に、テンプレート後に仕上げられることができる。
【０１５７】
主要なユーザが、主要な構成をセットアップしたなら、新たな構成を、マスタ・プロファイルに基づいて作成することができる。主要なユーザは、どの機器およびどの機能性のレベルを呈示するかを選択することができる。これは、バックグラウンド、特定のお気に入り、および他の特徴を含むことができる。主用なユーザは、プロファイルを、他のユーザのプロファイルによる全てのさらなるカスタマイゼーションを防止するために使用することができる、「ｌｏｃｋｅｄ  ｄｏｗｎ」であるかどうかを選択することもできる。このように、主要なユーザは、他のユーザ（例えば、家族メンバ）が遠隔制御アプリケーションと相互作用する方法に対して完全な制御を維持することができる。
【０１５８】
全ての適合学習機能は、個々のユーザが、他の任意のチャネルよりお気に入りのチャネルにアクセスできるように、各プロファイル内に格納することができる。ファイルが、「ｌｏｃｋｅｄ  ｄｏｗｎ」であっても、お気に入りは、ユーザ毎に基づいて格納することができる。追加の機能性は、他の家族メンバの視聴習慣をレビューする能力を主要なユーザに与えるために必要である可能性がある。
【０１５９】
個人化のために、アイコン（またはアバター）を、各ユーザに提示することができる。アバターは、ユーザ・プロファイルに格納された３２×３２ビットマップであることができる。遠隔制御アプリケーションが開始したとき、スプラッシュ・スクリーンは、現在のユーザが適切なユーザ・アバターを選択することを可能にするために、ビットマップで生成することができ、それによって、選択されたユーザに関連する遠隔制御アプリケーション構成へのアクセスを得る。
【０１６０】
ユーザ・プロファイル
以下の表１４は、ユーザ・プロファイル・オブジェクト・タイプの例示的な属性を含む。
【０１６１】
【表１４】
0004253797.tif 000015
お気に入りマップ
以下の表は、お気に入りマップ・オブジェクト・タイプの例示的な属性を含む。
【０１６２】
【表１５】
0004253797.tif 000016
したがって、遠隔制御アプリケーションは、構成ファイル内のユーザの好みに関する情報を格納することができる。ユーザ・プロファイルは、ユーザ・ネーム、ユーザ・アバターに関するビットマップ、ユーザＰＩＮ、およびお気に入り、ネットワーク・ロゴ、ならびに適合学習の結果を含む全ての好ましい設定を格納することができる。システムは、ユーザ毎に複数の構成ファイルをサポートすることができるので、システムは、ユーザが最後に使用した構成ファイルを使用して（デフォルトによって）コンテンツを表示することができる。システムは、また、ユーザが、使用のために異なる構成ファイルを選択することを可能にすることができる。システムは、複数のユーザが、同一のＰＤＡ１１５０に彼らの構成ファイルを格納することを可能にすることができる。システムは、遠隔制御アプリケーションを使用した最後のユーザの識別を格納することができる。システムは、ユーザの１人が、主要なユーザとしてネーム付けられる必要がある可能性がある。主要なユーザに関するマスタ・プロファイルにおける構成セットは、他のユーザによって使用される構成の確立における使用に関して利用可能であるとよい。マスタ・プロファイルになされた任意の変化は、他のユーザによって使用される構成に利用可能であるとよい。システムは、主要なユーザが、次に、いかに第２のユーザが設定をカスタマイズできるかを決定することができる、１つ以上ユーザ構成に関連する「ｌｏｃｋ  ｄｏｗｎ」のレベルを決定することを可能にできる。
【０１６３】
リストア・ポイント
ユーザが、いつ遠隔制御アプリケーションの構成を変更することができる動作を実行しても、遠隔制御アプリケーションが、構成を変更する直前のリストア・ポイントを生成することができる。例えば、ユーザが構成ファイルを変更し、ユーザ設定を変更し、またはＩＲコード・データベースを変更したリストア・ポイントを、システムが生成することができる。したがって、ユーザが変更前の状態に戻ることを決定するなら、遠隔制御アプリケーションが戻ることできる設定を、リストア・ポイントが維持する。
【０１６４】
ユーザが、例えばセーブ・ダイアログ内のチェックボックスと相互作用することによって、新たな構成をセーブしかつリストア・ポイントを更新することを選択するなら、リストア・ポイントはリセットすることができる。好ましくは、補足的なＩＲデータベースは、遠隔制御アプリケーションが新たなＩＲコードを学習したときに、リストア・ポイントを使用してバックアップされる。補足的なＩＲデータベースは、また、ユーザが新たなＩＲデータベース・パッチを適用したとき、好ましくはバックアップされる。一般に、構成ファイルは、ローカル格納装置でバックアップすることができる。しかしながら、ローカル格納装置が利用可能でないなら、構成ファイルは、機器１１５０が収容された次の時間を、ＰＣにアップロードすることができる。この目的のために、ユーザを、変更が行われた後で機器を収容するよう促すことができ、かつユーザを、構成ファイルがうまくバックアップされたことが検出されるまで、遠隔制御アプリケーションのスタートアップ時に収容することを連続して促すことができる。収容されたときに、何らかの変更があったなら、構成ファイルは自動的にバックアップすることができる。ＣＲＣは、変更後にファイルに格納することができる。ＣＲＣがチューニングの間に変更したなら、ファイルは、（スペースが利用可能であれば）バックアップすることができる。
【０１６５】
ゲスト・モード
主要なユーザは、ゲスト・ユーザが、簡単な方法で、例えば、学習機能が利用できず、ＰＩＮ確認などなしで機器１１５０上の他のプログラムにアクセスが無く、ホスト・システムを動作することを可能にするゲスト・アクセス（他のユーザ・プロファイルとして生成された）を可能にするように選択できる。さらに、ゲスト・アクセスは、パワー・ダウンする能力をオーバライドし、かつゲスト・モードを阻止する手段としてリブートすることができる。ゲスト・プロファイルは、ベース構成としてマスタ・プロファイルに基づくことができ、ゲストは、構成を変更する能力を有さないことができる。
【０１６６】
セキュリティ
ユーザに関して、遠隔制御アプリケーションにおいて最も感度のある情報（イー・コマース・トランザクションに関するサポートなしに）は、一般に、イベント・ジャーナル内に格納されたデータであると考えられる。製造業者に関して、最も感度のある情報は、一般に、ＩＲコード・データベースであると考えらえる。したがって、ファイル暗号を、セキュリティの測定値としてイベント・ジャーナルおよびＩＲコード・データベースに適用することができる。
【０１６７】
ユーザは、スケジュール、コンタクト、ファイナンシャル情報、ノート、およびｅメールを含むがそれに限定されない、ＰＤＡ１１５０上に格納された他の感度のあるデータを有することができる。ユーザは、周りに他人が居る状態で、その機密情報を保持するために使用される機器１１５０を、夕方何時間もコーヒー・テーブルの上またはその近傍に置かれてもよいかどうかを確かめる必要がある。機密性のこのレベルは、ＰＩＮコードが入力されていない場合に遠隔制御アプリケーションを実行するときに、遠隔制御アプリケーション機能だけへのアクセスに制限することによって提供することができる。さらに、主要なユーザは、追加ネームのユーザが許可されず、かつゲスト・アクセスを否定することを選択することができる。主要なユーザは、遠隔制御アプリケーションの開始を含む安全なトランザクションに関するＰＩＮを入力することができる。これは、遠隔制御アプリケーションを、ＰＩＮコードなしで他のプログラムがアクセスすることができ、それによって全ての外部データをセーフにするモードにする。
【０１６８】
主要なユーザは、第２のネームのユーザを追加することを選択し、第２のネームのユーザは、割り当てられたＰＩＮコードを有することもできる。第２のネームのユーザは、機能を学習することができ（主要なユーザが、「ｌｏｃｋｅｄ  ｄｏｗｎ」構成を有さないなら）、かつお気に入りを格納することができる。しかしながら、ＰＩＮ確認なしに、他のアプリケーションまたはＰＤＡ１１５０に、第２のユーザによってアクセスを有さないことができる。
【０１６９】
ネットワーク・ロゴに対するチャネル数の迅速な割り当て
ケーブルおよび衛星企業は、絶えずそのチャネル・ラインナップを改良するので、遠隔制御アプリケーションは、ユーザがお気に入りに割り当てたチャネル数を修正する簡単な方法を提供すべきである。そのようなチャネル数の再割り当ては、図１７ａから図１７ｈに関連して前述したセットアップ・ウイザードに類似するセットアップ・ウイザードを呼び出すように、所定の時間（例えば、３秒間、キーに割り当てられるチャネル選択または他のシーケンスを通常実行する、タッピングすることと違ったものとして）、チャネル・ロゴ（すなわち、チャネルをチューニングするために使用されるボタン）をユーザが下方に保持することによって達成することができる。
【０１７０】
代替的に、ユーザは、一連のキーストロークの代わりに可変の数値としてチャネル数を指定できる。この数は、次に、遠隔制御アプリケーションによって、実行時にＩＲコマンド信号の適切なシーケンスに変換される。数値変数を遠隔制御ＩＲ信号に指定しかつ変換する方法に関する追加のバックグラウンドに関して、参考例として本明細書にその全体が組み込まれる、同一の譲渡人の名称「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｉｎｔｅｒａｃｔｉｎｇ  ｗｉｔｈ  ａ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ  Ｄｉｓｐｌａｙｅｄ  ｏｎ  ａ  Ｐｏｒｔａｂｌｅ  Ｅｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅ」の同時係属出願を参照されたい。
【０１７１】
お気に入りのユーザ定義を簡単にすることに加えて、ＥＰＧ機能性をサポートする遠隔制御アプリケーションの場合には、このアプローチは、ＥＰＧからのチャネルのリストを監視することによって、チューニングしてお気に入りチャネル（および恐らく他のチャネル）を維持することもできる。この場合に、ＥＰＧが一般に定期的に基づきダウンロードされるとき、遠隔制御アプリケーションは、任意のチャネル割り当てが変更されたかどうかを決定するために、前にダウンロードされたＥＰＧと最新のダウンロードされたＥＰＧを比較することができる。任意のチャネル割り当てが変更されたなら、遠隔制御アプリケーションは、次に、任意の変更されたチャネルがお気に入りリストにリストされたかどうかを決定するように、お気に入りリストを検査することができる。そうであれば、遠隔制御アプリケーションは、お気に入りに割り当てられた新たなチャネル数を反映するように、お気に入りチャネル・リストを更新することができる。例として、ＥＰＧ比較が、「ＥＳＰＮ」がチャネル２９からチャネル４５へ変更されたことを示すことを仮定する。「ＥＳＰＮ」が、お気に入りリストにあるなら、お気に入りリストは、チャネル２９からチャネル４５への「ＥＳＰＮ」のマッピングを変更するために更新され、それによって、「ＥＳＰＮ」ロゴ・アイコンのユーザによる以降の起動は、コマンドの送信が適切なチャネル割り当てに対するターゲット・機器をチューニングさせる。
【０１７２】
遠隔制御アプリケーションは、ブロードキャスト・チャネル識別子としてお気に入りチャネル割り当てを格納し、お気に入りがユーザによって選択されたとき毎に、これらのチャネル識別子を絶対値チャネル数に動的に変換するためにＥＰＧのデータを使用できることは予想される。この場合、前述の例であれば、お気に入りは、「ＥＳＰＮ」ロゴ・アイコンが起動される（すなわち、現在のＥＰＧが「ＥＳＰＮ」を示すチャネルが、ブロードキャストされている）ときに現在ロードされたＥＰＧデータに基づき、適切であれば、チャネル２９またはチャネル４５へ変換される「ＥＳＰＮ」として単に格納することができる。このように、「ＥＳＰＮ」お気に入りと、「ＥＳＰＮ」がブロードキャストされるチャネルとの間に遅れた結合が存在する。
【０１７３】
ロゴ・アイコンまたは他のアイコンが起動されると、異なる状態を、ユーザに対して表示することができる。例えば、システムは、ボタン・アップ状態とボタン・ダウン状態に対応する２つのビットマップの形態で、ネットワーク・ロゴをサポートすることができる。使用されるロゴ寸法および色深さは、供給者によって指定することができ、異なるプラットフォームに関して変更することができる。お気に入りチャネル情報は存在することができるので、システムは、ユーザ・プロファイルにネットワーク・ログを格納することもできる。
【０１７４】
ダウンロード・スキン（Skin）
スキン（Skin）は、ボタン、バックグランドなどを表現する製造業者またはユーザが開発したビットマップである。ボタンは、複数の状態、すなわちアップ、ダウン、およびディセーブルを有することができる。ディセーブル状態は、ターゲット・機器と遠隔制御との間で二方向通信が可能である場合、特定のユーザ・プロファイルを、機能に対するアクセスを有さない場合（例えば、主要なユーザによってディセーブルされたために）などの機能性をサポートするために使用することができる。
【０１７５】
ビットマップ・リソースを含む構成ファイルは、ウエブ・ホスティングされた拡張された特徴サービス１１４６で提供されたベンダが供給する拡張された特徴の一部として、利用可能にすることができ、または他のユーザによるダウンロードされるために、ウエブ・ホスティング・ユーザ・コミュニティ１１４２にユーザ自身によってアップロードすることができる。そのような構成ファイルは、特定の機器に利用可能にすることができ、または任意の機器での使用に適した一般的なキー形状を表現することができる。例として、システムは、構成ファイルに関してデフォルト・ネームのローカル・ディレクトリを調べることができ、またはＡｃｔｉｖｅＳｙｎｃの間に更新される構成ファイルに関してホストＰＣ上のデフォルト・ネームのディレクトリを調べることができる。更新されたとき、システムは、前の構成ファイルからビットマップをオーバライドすることができる。
【０１７６】
１つのＰＤＡから他のＰＤＡへの構成コピー
構成ファイルを共有する能力は、遠隔制御アプリケーションの使用における成長を可能にする。構成ファイルは、多数の方法で共有することができる。構成ファイルは、インターネット・サイトにアップロードされ、メールを介して送られ、またはフレキシブル・ディスクにコピーすることができる。構成ファイルを受けたユーザは、ＰＤＡ１１５０にそれをロードするために、ＡｃｔｉｖｅＳｙｎｃアプリケーションを使用することができる。他の方法は、ユーザが、１つのＰＤＡから他のＰＤＡへＩＲＤＡポートを介して構成を送信（「ｂｅａｍｉｎｇ」と呼ばれる）することができることである。この方法は、一般的なＰＤＡハードウエア・プラットフォームで利用可能なファシリティを利用する。
【０１７７】
構成ファイルは、例えば機器、ページ、テーマ、学習したＩＲコード、ネットワーク・ロゴ・アイコン、およびお気に入りなどの要素に分解することができる。ユーザは、いくつかの要素だけを供給する、または構成ファイル全体を共有することを望むことができる。
【０１７８】
構成ファイルは、バージョンを有することが好ましく、ユーザが、遠隔制御アプリケーションの古いバージョンを有するユーザと、構成ファイルを共有するなら、伝送された構成ファイルが慎重に取り扱われる。構成ファイルは、ＩＲデータベース・モジュールの新しいバージョンに応じるなら、ユーザがそのＩＲデータベースを更新するまで、ユーザは、機器が適切に機能できないことを通知することができる。システムは、ソフトウエアのバージョン数、インストールされたＩＲ送信器ＩＣのバージョン数を検査することができ、および／またはフォーム・ファクタ（ＰＤＡまたはウエブパッド）およびプラットフォームのＯＥＭを決定することができる。
【０１７９】
送信ユーザは、ビームとしてアクセスすることを望むオプションのリストから選択することができる。受信者は、受信された構成ファイルが、存在する構成ファイルとマージされるどうか、または新たな構成ファイルとして格納されるかどうかを選択することができる。構成ファイルがマージされるなら、遠隔制御アプリケーションは、ユーザに、ホーム・シアター・モード設定を更新したいかどうかを尋ねることができる。受信システムは、ビームとしてアクセスされるか、またはダウンロードされたリソースのための宛て先ロケーションを決定することができる。さらに、ユーザは、全体に基づく共有を可能にするために、ホスティングされたウエブサイトに、構成ファイルに関連するリソースをコピーすることができる。したがって、単一の構成だけをサポートする最新のホーム・汎用遠隔制御とは異なり、システムは、ユーザが複数の構成から選択することを可能にする機構を提供することができる。
【０１８０】
ダウンロード・ネットワーク・ロゴ
ネットワーク・ロゴは、ネットワーク・ステーションまたはチャネルのグラフィック表現である。その基本的な形態において、それは、アップ・ビットマップおよびダウン・ビットマップを有するボタンである。ディセーブルされたビットマップは、必ずしも必要ではない、なぜならボタンは、いずれかの状態を有していないからである。ダウンロードされたネットワーク・ロゴ特徴は、インターネットを介してアクセスできるリソースのセットを示す。この特徴を実施するために、ほとんど全てのアーキテクチャ・モジュールは、すなわち、ホスティングされた遠隔制御ソフトウエア・サービス、デスクトップ遠隔制御ソフトウエア・アプリケーション、および遠隔制御ソフトウエアは、起動し始める。ネットワーク・ロゴの共有は、ユーザが、ネットワーク・ロゴ情報ボタンを他のユーザに送信することを可能にし、受信したユーザは、お気に入りリスト、チャネル・ラインナップ・ページなどにそれを追加するように選択することができる。システムは、ケーブル・オペレータまたはＥＰＧプロバイダなどの技術的なパートナから、ネットワーク・ロゴ・ビットマップへのアクセスを確立する機構とともに動作することができる。ネットワーク・ロゴは、ホスティングされたウエブサイトから利用可能に作られることもできる。システムは、ユーザが、ＩＲビーミングを介してネットワーク・ロゴを共有することを可能にすることができる。
【０１８１】
ジャーナル・アクティビティ
イベント・ジャーナルは、ユーザのリスト、および遠隔制御アプリケーション内で発生したシステム・アクションを含むことができる。イベント・ジャーナルは、家庭内で機器からのブロードキャスト・メッセージを含むこともできる。イベント・ジャーナルは、ユーザがどのログを行ったか、ならびに家庭内で何が起こったかである。ユーザは、冗長なモードとブロードキャスト・メッセージに関する迅速なモードとの間で切り替わることができる。イベント・ジャーナルは、デバッグの目的に使用することができる。
【０１８２】
【表１６】
0004253797.tif 000017
イベント・ジャーナルは、ＡｃｔｉｖｅＳｙｎｃアプリケーションを有するＰＣにアップロードすることができる。
【０１８３】
第三者開発者のためのアプリケーション・プログラマ・インタフェース（ＡＰＩ）
あるユーザは、遠隔制御アプリケーションに対する拡張の開発を望む開発者であることができる。したがって、遠隔制御アプリケーションは、拡張をする第三者開発者に機能性を呈示することができる。提供されるサポートは、第三者グラフィックスおよび補足的なＩＲコードを含むカスタム構成ファイルを介することができる。
【０１８４】
除外
プラットフォームで動作する遠隔制御アプリケーションは、除外条件下で慎重な特性を示すべきである。遠隔制御アプリケーションに関するそのような条件および適切な応答のいくつかの例は、以下のようである。
【０１８５】
低パワー状況：低パワー指示は、遠隔制御アプリケーションは注目される間に、ハードウエアを動作する基礎にあるＰＤＡによって生成される。この場合、遠隔制御アプリケーションは、ユーザに対する指示を出すことができ、また、例えば特定のアクションを許可しないことによって、電力消費を最小化するステップをとることができる。ＰＤＡ１１５０が電力を超えて動作するとき、遠隔制御アプリケーションは、任意のセットアップおよび構成情報を失うべきではないので、遠隔制御アプリケーションは、（利用可能であれば）不揮発性メモリにこのタイプのデータを格納することができ、低パワー状態の間に全ての書き込みアクティビティ（すなわち、そのメモリに対する変更）を禁止することができる。
【０１８６】
受信された低パワーまたは低格納指示：遠隔制御アプリケーションが注目されている間に、プラットフォームの動作システムは、低メモリまたは低格納指示を出すなら、遠隔制御アプリケーションは、ユーザに対する指示を出し、使用された任意のスクラッチ・メモリをシステムに放棄させ、追加の格納を消費することができるセットアップまたは他のアクティビティを禁止し、ジャーナリング・アクティビティを停止し、かつメモリおよび格納要件を最小化することを可能にする任意の他のステップとることができる。
【０１８７】
遠隔制御アプリケーションの新たな（アップデートされたまたは拡張された）バージョンのインストール：ユーザが、遠隔制御アプリケーションの新たなバージョンをインストールするなら、これは、初期インストールが、アプリケーションの前のバージョンに関して既に構成されたことを検出することができ、発生した任意の新規なインストール／カスタマイゼーション・プロセスの間に、デフォルト設定としてこれらの構成設定を使用することができる。
【０１８８】
さらに、遠隔制御アプリケーションが起動している間に、遠隔制御アプリケーションは、ユーザが一時的に格納およびプログラム・メモリの割り当てを変更するなら、慎重に動作することができる。遠隔制御アプリケーションの補足的なバージョンのインストールは、現在存在する全ての構成設定を慎重に使用することができる。
【０１８９】
デスクトップ遠隔制御ソフトウエア・アプリケーション
デスクトップ遠隔制御アプリケーション１１０４は、ＰＤＡ１１５０上の遠隔制御アプリケーションをサポートするためにユーザのＰＣ１１５２にインストールされるアプリケーションである。ＰＣ遠隔制御ソフトウエア・アプリケーションの例は、以下を含む。
【０１９０】
構成デザイナ
構成デザイナ１１３４は、ユーザが、遠隔制御アプリケーションにロードすることができるＰＣ上の構成ファイルを作成することを可能にする。
【０１９１】
構成エミュレータ
構成エミュレータ１１３６は、まるでターゲットＰＤＡで動作するように、ユーザが、ＰＣ上で構成をレビューすることを可能にする。
【０１９２】
リストア／バックアップ構成
この要素１１３０は、ユーザが、ＰＣおよびＰＤＡ１１５０へ、またはＰＣおよびＰＤＡ１１５０からのＡｃｔｉｖｅＳｙｎｃ通信コンジットを介して、構成ファイルおよびイベント・ジャーナルをバックアップしかつリストアすることを可能にする。
【０１９３】
アップデート・チェッキング／補足的なパッチ・ダウンロード
この要素１１３２は、遠隔制御アプリケーションの現在のバージョン数およびＩＲコード・データベースを検索し、ウエブ・ホスティング更新サービスに対してそれらを確認し、かつ最新バージョンがダウンロードするために利用可能であるときはいつでも、ユーザに知らせることができる。任意選択で、この要素は、ＡｃｔｉｖｅＳｙｎｃコンジットを介して自動的な更新を実行することもできる。
【０１９４】
文化および政治的な要件
遠隔制御アプリケーションは、全世界的なＩＲコード・データベースを有して発送することができ、多くの国際的なロケーションで使用することができる。したがって、遠隔制御アプリケーションは、両方の言語、ならびに地域的な設定を支持するキー・レイアウトの変形に関するローカライゼーションをサポートすることができる。図２３ａから図２３ｄを参照すると、ステップ２でのルーム・セットアップ・ウイザード入力要件は、様々な地域を選択することができるドロップ・ダウン・リスト２３０を含むように、図１６ｃに示されるルーム・セットアップ・ウイザードから拡張することができる。この入力に基づいて、遠隔制御アプリケーションの動作は、使用される地域により適合するように調整することができる。例えば、機器・セットアップの間に、ＩＲ機器・コードが、ドロップ・ダウン・メニュー１４３０（図１４ｆ）を検査するためにユーザに提示される順番は、リストのトップに最も可能性がある（すなわち、その国または地域で最も人気のある）コードを配置するために、地域毎に変わることがある。さらに、同一のＩＲコード・セット内であっても、機能性およびキー割り当ては、地域によって変わることもあり、選択された地域に基づいて自動的に調整することができる。
【０１９５】
さらなる例示によって、同一のテレビ・ブランドの制御ページ４が、「北米」に設定された地域で現れるものとして図２３ｃに、また「欧州」に設定された地域で現れるものとして図２３ｄに示される。バックグラウンドの説明として、欧州におけるいくつかのテレビ・ブロードキャストは、「Ｔｅｌｅｔｅｘｔ」として知られている特徴を含み、「Ｔｅｌｅｔｅｘｔ」において、ニュース・ブリーフ、天気予想などの文章情報が、テレビ信号の垂直ブランキング・インターバルで符号化される。したがって、多くの欧州市場のテレビ・セットは、ユーザ制御の下でこの情報を復号化しかつ表示する能力を含むことができる。したがって、「欧州」に対して地域設定とともに、遠隔制御アプリケーションは、制御２３２信号およびナビゲート２３４信号を、Ｔｅｌｅｔｅｘｔデータ表示に影響を与えるように送信させるために必要な機能に関してソフト・キーを表示する。さらに、図２３ｄに対する図２３ｃにおけるキー２３２を比較することによって分かるように、製造業者は、同様の制御機能、この例では欧州市場に関するＴｅｌｅｔｅｘｔに対する北米市場に関する「Ｐｉｃｔｕｒｅ  ｉｎ  Ｐｉｃｔｕｒｅ」という制御機能によって呼び出される種々異なる特徴を種々異なる市場に提供することができる。
【０１９６】
この地域選択パラメータは、他の目的に関しても遠隔制御アプリケーションによって内部的に使用することができ、例えば、ＰＤＡ１１５０に事前にロードされ、またはデスクトップＰＣ１１５２またはウエブで施されるホスティング・サービス１１０６からのダウンロードを介して得られた異なる言語における「Ｈｅｌｐ」のいくつかの可能なセットの１つを選択するために使用することができる。全てのストリング・リテラルは、ローカライゼーション作業を実行する中心ロケーションを提供するために、ウインドウズ・ブランドＯＳリソース・ファイルに格納することができる。
【０１９７】
本発明の特定の実施形態が、詳細に記載されたが、これらの詳細に対する様々な修正および変形を、本開示の全体の教示に照らして開発できることは、当業者には明らかである。したがって、開示された特定の構成は、例示だけのものであり、添付の請求項およびそれらの任意の等価物の完全な範囲で与えられる本発明の範囲を制限するものではないことを意味する。
【図面の簡単な説明】
【０１９８】
【図１】ＰＤＡが、民生機器を制御するように適合された例示的なシステムを示す。
【図２】ＰＤＡが、ウエブサイトから更新および補足的なＩＲコードを受信する例示的なシステムを示す。
【図３】ＰＤＡが、民生機器を制御するように適合された例示的なシステムの内部トポロジを示す。
【図４】ＰＤＡが民生機器ＩＲコードを送信することを可能にする例示的なハードウエア回路を示す。
【図５】ＰＤＡのための例示的な遠隔制御アプリケーション・ソフトウエア・アーキテクチャを示す。
【図６】ＰＤＡのための例示的なハードウエア通信マネージャ・ソフトウエア・アーキテクチャを示す
【図７】ＰＤＡのための例示的なファイルＩ／Ｏマネージャ・ソフトウエア・アーキテクチャを示す。
【図８】存在するまたはインストールされた遠隔制御アプリケーションを示す、例示的なＰＤＡ表示スクリーンを示す。
【図９】存在するまたはインストールされた遠隔制御アプリケーションを示す、例示的なＰＤＡ表示スクリーンを示す。
【図１０】例示的なＰＤＡ物理的外観およびレイアウトを示す。
【図１１】民生機器の動作を制御するように構成された遠隔制御アプリケーションを有する、例示的な遠隔制御アプリケーション・ホーム・スクリーンを示す。
【図１２】民生機器の動作を制御するように構成された遠隔制御アプリケーションの前の、例示的な遠隔制御アプリケーション・ホーム・スクリーンを示す
【図１３】対応する情報表示とともに、ＰＤＡ上の例示的な遠隔制御アプリケーション・ハード・キー機能割り当てを示す。
【図１４】新たな民生機器の動作をコマンドするための遠隔制御アプリケーションをセットアップする例示的な一連のステップを示す。
【図１５】遠隔制御アプリケーションの新たなユーザをセットアップする例示的な一連のステップを示す。
【図１６】指定されたルームにおける民生機器の動作をコマンドするための遠隔制御アプリケーションをセットアップする例示的な一連のステップを示す。
【図１７】新たな遠隔制御アプリケーションのお気に入りチャネル・ソフト・キーをセットアップする例示的な一連のステップを示す。
【図１８】遠隔制御アプリケーションのマクロ機能を実行するためのデータ関係の例示的なセットを示す。
【図１９】例示的な遠隔制御アプリケーション・機器制御ページを示す。
【図２０】遠隔制御アプリケーション・機器制御ページの例示的なユーザ・カスタマイゼーションを示す。
【図２１】遠隔制御アプリケーション・機器制御ページの例示的な自動カスタマイゼーションを示す。
【図２２】遠隔制御アプリケーション・アクティビティまたはマクロをプログラムする例示的な一連のステップを示す。
【図２３】地理的な領域に基づく遠隔制御アプリケーション・機器制御ページの例示的な自動調整を示す。
【図２４】遠隔制御アプリケーション用の例示的なスタートアップ初期化シーケンスを示す。
【符号の説明】
【０１９９】
８０  スクリーン
８２  Ｖａｉｈａｌｌａアイコン
９０  ドロップ・ダウン開始メニュー
９２  Ｖａｉｈａｌｌａアプリケーション
１０２  追加のキー
１０４  ナビゲーション・パッド
１１０  ホイール
１１２、１１３  セットアップ・アイコン
１１６  現在のユーザ
１１７  パワー・ボタン
１１８  現在のルーム
１２０  キー・ガイド・アイコン
１２３、１２４、１２６  タブ・アイコン
１３０  キー・ガイド
１４２  ＴＶ機器・アイコン
１５２  ユーザ・メニュー
１６２  カスタマイズ・ルーム・メニュー
１９２  制御表面スイッチング・アイコン
２００  ＰＤＡ
２０２  ＩｒＤＡ送受信器
２０４  ＩＲ送信器ＩＣ
２０６  ＬＥＤ
２０８  シリアル接続
２１０  ＩｒＤＡ受信器出力信号
２１２  ＰＤＡ接続
２１４  学習入力
５１０  ユーザ入力モジュール
５１１  オブジェクト・マネージャ・モジュール
５１２  イベント・マネージャ・モジュール
５１３  ステータス・マネージャ・モジュール
５１４  アクション・マップ
５２０  機器・マップ
５２１  リソース・マップ
５２２  マクロ・マップ
５２３  ＩＲマップ
５３０  送信オブジェクト
５３１  学習オブジェクト
５３２  ステータス・オブジェクト
５３３  プラットフォーム・ハードウエア統合オブジェクト
５３４  ＩＲプロトコル
５３５  ＲＦプロトコル
５３６  ＴＣＰ
５３７  プロトコル・スタック
５４０  パーサ
５４１  シリアリゼーション／パーシステンス・オブジェクト
５４２  機器構成ファイル
５４３  ユーザ・プロファイル
５４４  ユーザＩＲコード・データベース
５４５  イベント・ジャーナル
１１０２  遠隔制御アプリケーション・ソフトウエア
１１０４  遠隔制御コンパニオン・アプリケーション
１１０６  ウエブ・ホスト・サービス
１１０８  プレゼンテーション・エンジン
１１１０  構成エンジン
１１１２  ファイルＩ／Ｏマネージャ
１１１４  ハードウエア通信マネージャ
１１１６  ＡｃｔｉｖｅＳｙｎｃソフトウエア
１１１８  ＩＲシグナリング・ソフトウエア
１１１９  ＲＦモジュール・ソフトウエア／ハードウエア
１１２０  ホーム・エンターテイメント装置
１１２２  照明
１１２４  温度制御装置
１１３０  リストア／バックアップ構成
１１３２  アップデート／ダウンロード補足パッチ
１１４０  遠隔制御アプリケーション・ソフトウエア・アップデート
１１４２  遠隔制御ユーザ・コミュニティ
１１４４  補足ＩＲデータベース・アップデート
１１４６  遠隔制御アプリケーション
１１５０  ＰＤＡ機器
１１５１  ドッキング・ステーション
１１５２  ホスト・デスクトップ・コンピュータ
１１５４  インターネット
１２１２  「−／−−」キー
１４１０  キーボード
１４１２  キャンセル
１４１４  バック
１４１６  ネクスト
１４１８  ドロップ・ダウン・メニュー
１４２２  アップおよびダウン矢印
１４２４  スライダ
１４３０  ドロップ・ダウン・メニュー
１４３２  テスト機能キー
１５３０  チェックボックス
１６３０  ルーム画像
１７２０  ネーム
１７３０  画像                                                                        
【図１】
0004253797.tif 000018
【図２】
0004253797.tif 000019
【図３】
0004253797.tif 000020
【図４】
0004253797.tif 000021
【図５】
0004253797.tif 000022
【図６】
0004253797.tif 000023
【図７】
0004253797.tif 000024
【図８】
0004253797.tif 000025
【図９】
0004253797.tif 000026
【図１０】
0004253797.tif 000027
【図１１】
0004253797.tif 000028
【図１２】
0004253797.tif 000029
【図１３】
0004253797.tif 000030
【図１４ａ】
0004253797.tif 000031
【図１４ｂ】
0004253797.tif 000032
【図１４ｃ】
0004253797.tif 000033
【図１４ｄ】
0004253797.tif 000034
【図１４ｅ】
0004253797.tif 000035
【図１４ｆ】
0004253797.tif 000036
【図１４ｇ】
0004253797.tif 000037
【図１４ｈ】
0004253797.tif 000038
【図１４ｉ】
0004253797.tif 000039
【図１５ａ】
0004253797.tif 000040
【図１５ｂ】
0004253797.tif 000041
【図１５ｃ】
0004253797.tif 000042
【図１５ｄ】
0004253797.tif 000043
【図１５ｅ】
0004253797.tif 000044
【図１５ｆ】
0004253797.tif 000045
【図１６ａ】
0004253797.tif 000046
【図１６ｂ】
0004253797.tif 000047
【図１６ｃ】
0004253797.tif 000048
【図１６ｄ】
0004253797.tif 000049
【図１６ｅ】
0004253797.tif 000050
【図１６ｆ】
0004253797.tif 000051
【図１６ｇ】
0004253797.tif 000052
【図１７ａ】
0004253797.tif 000053
【図１７ｂ】
0004253797.tif 000054
【図１７ｃ】
0004253797.tif 000055
【図１７ｄ】
0004253797.tif 000056
【図１７ｅ】
0004253797.tif 000057
【図１７ｆ】
0004253797.tif 000058
【図１７ｇ】
0004253797.tif 000059
【図１７ｈ】
0004253797.tif 000060
【図１８】
0004253797.tif 000061
【図１９ａ】
0004253797.tif 000062
【図１９ｂ】
0004253797.tif 000063
【図１９ｃ】
0004253797.tif 000064
【図２０ａ】
0004253797.tif 000065
【図２０ｂ】
0004253797.tif 000066
【図２１ａ】
0004253797.tif 000067
【図２１ｂ】
0004253797.tif 000068
【図２２ａ】
0004253797.tif 000069
【図２２ｂ】
0004253797.tif 000070
【図２２ｃ】
0004253797.tif 000071
【図２２ｄ】
0004253797.tif 000072
【図２２ｅ】
0004253797.tif 000073
【図２２ｆ】
0004253797.tif 000074
【図２２ｇ】
0004253797.tif 000075
【図２３ａ】
0004253797.tif 000076
【図２３ｂ】
0004253797.tif 000077
【図２３ｃ】
0004253797.tif 000078
【図２３ｄ】
0004253797.tif 000079
【図２４】
0004253797.tif 000080