(57)【特許請求の範囲】
【請求項１】
データを表示のためにキャッシュする手段と、
当該コンピューティングデバイスのユーザ以外の別の人間の存在を検出するセンサーと、
キャッシュされた前記データを表示しないために、該センサーの検出に応じて前記キャッシュされたデータを消去するプロセッサと
を備え、
前記コンピューティングデバイスはラップトップコンピュータであり、
前記ラップトップコンピュータの蓋に表示デバイスが搭載され、前記ラップトップコンピュータの蓋が開いており、および前記センサーが前記別の人間の存在を検出しているときには、前記キャッシュされたデータは前記表示デバイスの表示画面上に表示されないことを特徴とするコンピューティングデバイス。
【請求項２】
コンピューティングデバイスにおけるデータを保護する方法であって、
該コンピューティングデバイスは前記データを表示のためにキャッシュする手段、センサーおよびプロセッサを有し、
前記コンピューティングデバイスのユーザ以外の別の人間の存在を前記センサーにより検出するステップと、
前記キャッシュする手段によりキャッシュされたデータを表示しないために当該検出に応じて当該キャッシュされたデータを前記プロセッサにより消去するステップと
を有し、
前記コンピューティングデバイスはラップトップコンピュータであり、
前記ラップトップコンピュータの蓋に表示デバイスが搭載され、前記ラップトップコンピュータの蓋が開いており、および前記センサーが前記別の人間の存在を検出しているときには、前記キャッシュされたデータは前記表示デバイスの表示画面上に表示されないことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータシステムに関し、より詳細にはコンピューティングデバイス上に情報を表示するための改善された方法およびシステムに関する。
【背景技術】
【０００２】
米国特許出願第１０／４２９９３０号明細書および米国特許出願第１０／４２９９３２号明細書は、一般に何らかの補助コンピューティング機能を提供する補助処理メカニズムおよび補助メカニズム、特にディスプレイ関連メカニズムを有するコンピュータシステムの概念を対象としている。例えば、ラップトップコンピュータのふたが閉じられており、またはその主要コンピュータの電源が遮断されており、あるいはその両方の場合など、たとえ主要なコンピュータディスプレイが簡単には見えない場合でも、ラップトップコンピュータのふたまたは側面上の小型のＬＣＤは、ミーティングの場所や時刻など、有用な情報をその所有者に提供することができる。
【０００３】
しかし、かかる補助ディスプレイの使用は、専用の補助ディスプレイプログラムが、ディスプレイのタイプについて、また表示される情報に関してカスタマイズされる狭い限られたオペレーションだけにこれまで制限されてきている。かかるシステムにおいては、補助ディスプレイプログラムは、そのサイズや解像度などディスプレイタイプの仕様に合わせてコード化され、その結果、このプログラムは、判読可能だがそのスクリーン領域内に合った何かを出力することができる。これは、たとえどのような特定のビデオグラフィックスアダプタがインストールされていても、最新のオペレーティングシステムコンポーネントが、より高レベルのプログラムからその複雑さおよび詳細を抽出する通常のコンピュータシステムディスプレイとは違っている。同時に、専用の補助ディスプレイコードは、補助ディスプレイが一般的に製造される際にこのハードウェア中に構築される２行または３行のテキストディスプレイであったと仮定すると、賢明な解決方法であり、また必要とされるすべてのことは、この専用アプリケーションにミーティングの時刻や現在の時刻などの情報を有する簡単なテキストをこのディスプレイに対して書き込ませることであった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この専用の解決方法に伴う１つの問題は、１つのコンテキストにおいて表示することが望ましいことが、他のコンテキストにおいては望ましくないこともあることである。例えば、来るべきミーティングの通知は望ましいが、そのミーティングが始まってしまうと、他の出席者が、この補助ディスプレイ上に表示され得る他の情報を見ることができるようにすることは一般的には望ましくないはずである。他の（例えば、個人的な）情報を除いたある情報の表示が、ユーザが本当に望んでいることである場合などには、簡単なオン／オフスイッチでは、多くのシナリオについて十分ではない。
【０００５】
コンピュータシステムの主要オペレーティングシステムの下で実行されて、現在のコンテキストを仮定すると表示することが望ましいデータだけを補助デバイス上に自動的に提示するアプリケーションプログラムについての方法が必要になっている。
【課題を解決するための手段】
【０００６】
簡単に言えば、本発明は、アプリケーションプログラム（または補助デバイス通信を処理するためのそのプラグイン）と補助サービスが一緒に動作して、その補助ディスプレイの現在のコンテキストにおいて検出される変化について調整を行うメカニズムを提供している。１つまたは複数のコンテキストセンサが、コンテキストの変化を検出し、それをこの主要コンピュータシステムおよび／または補助デバイスに対して報告することができ、それによってこの補助ディスプレイデバイス上でどのような情報が表示されるか、または表示できるかなどに関して何らかのアクションが取られる。この補助デバイスシステムを介して流れるコンテキスト関連イベントに起因する他のタイプのアクションが、この主要（ホスト）コンピュータシステムに対して恒久的なまたは一時的な変化を引き起こす可能性がある。
【０００７】
主要コンピュータシステムは実行されていないが、補助デバイスが実行されているオフライン状態（ｏｆｆｌｉｎｅ  ｓｔａｔｅ）において、コンテキストの変化は、この現在のコンテキスト状態に基づいてこのキャッシュされたデータを異なるように解釈し、または使用し、このキャッシュされたデータに多分追加しまたはそこから削除するなど、キャッシュされたアプリケーションプログラムおよび他のデータに何らかの影響を及ぼし得る。このアプリケーションは、このシステムがオフラインになる以前にこの特定のコンテキストの影響を受けやすい振舞いについて登録（または照会）することができる。したがってこの補助デバイスは、これらのイベントが検出されたときに、または検出後の適切なある時刻に、コンテキストの影響を受けやすいイベントを送り、あるいは照会に応答するためにコンテキスト関連データを保持することができる。この補助デバイスはまた、アプリケーションプログラム照会に応答してなどオンデマンドでこのコンテキスト関連データを取得することができ、または必要に応じて１つまたは複数のセンサを時々ポーリングする（ｐｏｌｌ）ことができ、あるいはその両方を行うことができる。この補助デバイスはまた、このイベントが最後に送られた時刻に実行および／または登録が行われていなかったアプリケーションなどのためにコンテキスト関連イベントを再送することもできる。
【０００８】
この主要コンピュータシステムもこの補助デバイスも共に動作しているオンライン状態（ｏｎｌｉｎｅ  ｓｔａｔｅ）にある場合には、これらのオンラインアプリケーションプログラムおよび／またはこれらのオペレーティングシステムコンポーネントに対してコンテキスト変化を伝えることができる。かかるコンテキストベースのイベントは、これらのアプリケーションプログラム、オペレーティングシステムおよび／または補助デバイスによってそれぞれが適当と思うときに使用される。その結果、これらのコンテキスト変化は、例えばレジストリまたは他の設定を変更することにより、この主要コンピュータシステムおよび／または補助デバイスを一時的にまたは恒久的に変化させることができる。この主要コンピュータシステムのプログラムに対して報告された変化は、この主要コンピュータシステムがオフラインであった時に引き起こされている可能性もあり、もしそうなら、この補助デバイスによって保存され、この主要コンピュータシステムが再びオンラインになる場合に報告されることに留意されたい。
【０００９】
この補助ディスプレイを使用するために登録されている（オペレーティングシステムコンポーネントなど）アプリケーションプログラムおよび他のプログラムは、このディスプレイの物理位置、移動または動きデータ、特定のユーザまたは他のユーザの存在、電源状態、ネットワーク接続性ステータス、プライバシステータスなどに対応するコンテキストなど、特定のコンテキスト変化通知についても登録することもできる。プラグインは、これらのプラグインがそのオフラインの電源状態、またはオンラインの電源状態、またはその両方において使用可能であるかどうかについて登録することができる。
【００１０】
この補助デバイスが、その主要ディスプレイに対してどこに配置されているかに関して、すなわちこの主要スクリーンを見ることができる、またはできない場合にそれを見ることができるか、あるいはこの主要スクリーンから独立しているかに関して、この補助デバイスはまた、それに関連する登録済みのコンテキストを有することも可能である。
【００１１】
補助ディスプレイプラグインを開発する場合に、この開発業者は、このアプリケーションを表示することができる、（例えば、コンテキスト変化に応じて自動的に）表示すべきである、または表示することができないという適切な１つまたは複数のコンテキストを指定することができる。その場合に、これはそのオフライン状態では知られているが、この状態ではその出力を調整するためのアプリケーションは、実行されていない。オンライン状態においては、この補助サービスは、コンテキストイベントにおけるどのような変化もこのプラグインに対して伝えることができ、このプラグインは、その将来の出力をそれに応じて調整することができる。一実施形態においては、コンテキスト状態変化が起こると、この補助サービスは、このコンテキスト変化に基づいてプラグインをどれか追加または削除すべきかどうかについて決定する有効なプラグインのリストを列挙する。このオフライン状態で実行される場合に、この補助プロセッサ上で実行されるそのファームウェアまたはオペレーティングシステムは、同じコンテキストフィルタを適用して、このオフライン電源状態においてはもはや関連性のないプラグインを無効にすることができる。代わりに、異なるフィルタを適用することもできる。
【００１２】
情報感受性レベル（ｉｎｆｏｒｍａｔｉｏｎ  ｓｅｎｓｉｔｉｖｉｔｙ  ｌｅｖｅｌ）をこのプラグインが使用して、この情報の感知された感受性、およびこのユーザの現在のコンテキストに基づいて、このプラグインのデータを表示することができるかどうかを指定することができる。このコンテキストは、現在の状況に基づいてこのユーザが選択し、この補助サービスまたはファームウェアに渡すことができる。ヒューリスティックは、ユーザによって選択されたコンテキストおよび他の関連情報に基づいて、どのレベルの情報が示されるべきかを決定する。
【００１３】
より具体的には、本願発明は、データをキャッシュする手段と、当該コンピューティングデバイスのユーザ以外の別の人間の存在を検出するセンサーと、該センサーの検出に応じてキャッシュされた前記データを消去するプロセッサとを備えたことを特徴する。
他の利点については、図面と併せ考える場合に、以下の詳細な説明から明らかになろう
。
【発明を実施するための最良の形態】
【００１４】
例示の動作環境
図１は、本発明を組み込むことができるパーソナルコンピュータシステムの形態のコンピューティングデバイス１２０を示すブロック図である。図１に示すパーソナルコンピュータシステム１２０は、単に例示的であるにすぎないことを意図しており、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルな大衆消費電子製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、ヘッドレスサーバなどを含めて、他のコンピュータシステムコンフィギュレーションを用いて実行することもできることが当業者には理解されよう。本発明は、タスクが通信ネットワークを介してリンクされたリモート処理デバイスによって実施される分散コンピューティング環境において実行することもできる。分散コンピューティング環境においては、プログラムモジュールは、ローカルメモリストレージデバイス中にもリモートメモリストレージデバイス中にも配置することができる。
【００１５】
パーソナルコンピュータシステム１２０は、処理装置１２１、システムメモリ１２２、およびこのシステムメモリを含めて様々なシステムコンポーネントを処理装置１２１に結合するシステムバス１２３を含んでいる。このシステムバス１２３は、メモリバスまたはメモリコントローラ、ペリフェラルバス、および様々なバスアーキテクチャのうちのどれかを使用したローカルバスを含めて、いくつかのタイプのバス構造のうちのどれにすることもできる。このシステムメモリは、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ読取り専用メモリ）１２４およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙランダムアクセスメモリ）１２５を含んでいる。起動中などパーソナルコンピュータ１２０内のエレメント間で情報を転送する助けをする基本ルーチンを含むＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ基本入出力システム）１２６は、ＲＯＭ１２４に記憶される。パーソナルコンピュータ１２０は、ハードディスク（図示せず）から情報を読み取りそれに情報を書き込むハードディスクドライブ１２７、着脱可能な磁気ディスク１２９から情報を読み取りそれに情報を書き込む磁気ディスクドライブ１２８、およびＣＤ−ＲＯＭや他の光媒体など着脱可能な光ディスク１３１から情報を読み取りそれに情報を書き込む光ディスクドライブ１３０をさらに含むことができる。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、および光ディスクドライブ１３０は、それぞれハードディスクドライブインターフェース１３２、磁気ディスクドライブインターフェース１３３、および光ドライブインターフェース１３４によってシステムバス１２３に接続される。これらのドライブおよびその関連するコンピュータ読取り可能媒体は、パーソナルコンピュータ１２０のためのコンピュータ読取り可能命令、データ構造、プログラムモジュールおよび他のデータの不揮発性ストレージを提供する。本明細書中で説明されるこの例示のコンピュータシステムは、ハードディスク、着脱可能磁気ディスク１２９、および着脱可能光ディスク１３１を使用しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ（Ｂｅｒｎｏｕｌｌｉ  ｃａｒｔｒｉｄｇｅ）、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）など、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ読取り可能媒体も、この例示のコンピュータシステム中で使用することができることを当業者には理解されたい。
【００１６】
（Ｗｉｎｄｏｗｓ（登録商標）ＸＰなどの）オペレーティングシステム１３５、（Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｏｕｔｌｏｏｋなど）１つまたは複数のアプリケーションプログラム１３６、他のプログラムモジュール１３７およびプログラムデータ１３８を含めて、いくつかのプログラムモジュールは、このハードディスク、磁気ディスク１２９、光ディスク１３１、ＲＯＭ１２４またはＲＡＭ１２５に記憶することができる。ユーザは、キーボード１４０やポインティングデバイス１４２などの入力デバイスを介してパーソナルコンピュータ１２０中にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含むことができる。これらおよび他の入力デバイスはしばしば、このシステムバスに結合されるシリアルポートインターフェース１４６を介して処理装置１２１に接続されることもあるが、パラレルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓユニバーサルシリアルバス）など他のインターフェースによって接続することもできる。モニタ１４７または他のタイプのディスプレイデバイスもまた、ビデオアダプタ１４８などのインターフェースを介してシステムバス１２３に接続される。このモニタ１４７に追加してパーソナルコンピュータは、一般的にスピーカやプリンタなど他のペリフェラル出力デバイス（図示せず）を含んでいる。補助ディスプレイ２００は、追加の出力デバイスであり、例えば補助ディスプレイインターフェース１５５を介してシステムバス１２３に接続することができる。補助ディスプレイ２００は、シリアルインターフェースを介して、またはパラレルポート、ゲームポート、赤外線接続または無線接続、ユニバーサルシリアルバス（ＵＳＢ）または他のペリフェラルデバイス接続など、他のインターフェースによってコンピューティングデバイス１２０に接続することもできる。図１における入力デバイス２０１は、補助ディスプレイ２００とインターフェースし、および／または補助ディスプレイ２００を制御する１つまたは複数のアクチュエータを提供することができ、例えばシリアルインターフェースとすることができる入力デバイスインターフェース１５６を介して、またはパラレルポート、ゲームポート、赤外線接続または無線接続、ユニバーサルシリアルバス（ＵＳＢ）または他のペリフェラルデバイス接続など、他のインターフェースによってシステムバス１２３に接続することができる。
【００１７】
パーソナルコンピュータ１２０は、リモートコンピュータ１４９など１つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク環境において動作することができる。リモートコンピュータ１４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードであってもよく、一般的にパーソナルコンピュータ１２０に対して前述したエレメントの多くまたはすべてを含んでいるが、メモリストレージデバイス１５０しか図１には示してはいない。図１に示す論理接続は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋローカルエリアネットワーク）１５１およびＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋワイドエリアネットワーク）１５２を含んでいる。かかるネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいては一般的である。
【００１８】
ＬＡＮネットワーキング環境中で使用する場合には、パーソナルコンピュータ１２０は、ネットワークインターフェースまたはアダプタ１５３を介してローカルエリアネットワーク１５１に接続される。ＷＡＮネットワーキング環境中で使用する場合には、パーソナルコンピュータ１２０は、一般的にインターネットなどのワイドエリアネットワーク１５２上で通信を確立するモデム１５４または他の手段を含んでいる。モデム１５４は、内蔵であってもまた外付けであってもよいが、シリアルポートインターフェース１４６を介してシステムバス１２３に接続される。ネットワーク環境においては、パーソナルコンピュータ１２０に対して示したプログラムモジュール、またはその一部分は、このリモートメモリストレージデバイスに記憶することができる。図に示すネットワーク接続は、例示的であり、これらのコンピュータ間で通信リンクを確立する他の手段を使用することもできることが理解されよう。
【００１９】
このコンピュータシステムは、本発明に従って機能する補助ディスプレイについて完全に動作可能になっている必要がないことに留意されたい。実際に、図６に関して以下で説明するように、このコンピュータシステムがスリープ状態もしくはハイバネーションモード（ｈｉｂｅｒｎａｔｅ  ｍｏｄｅ）にある場合、および／またはこのユーザがこのシステムにまだログオンしていないか、それともセキュリティメカニズムを介してこのシステムからロックアウトされている場合などに、少なくともデフォルトの範囲まで、またはユーザが構成する範囲までは、補助ディスプレイは、このコンピュータの電源が遮断されている場合にも依然として動作することができる。例えば、このユーザは、パーソナルコンピュータに一体化されている電話ハンドセットおよびスピーカフォンが、このコンピュータシステムの電源が遮断されている場合に従来のアプライアンスとして動作し、この補助ディスプレイを発呼者ＩＤデバイス（ｃａｌｌｅｒ  ＩＤ  ｄｅｖｉｃｅ）として使用することを望むこともある。このデバイスは、このコンピュータシステムが完全に起動されていなかった場合を含めて、受信されたこの呼出しをログするなど、このコンピュータシステムが再び起動される場合に、このコンピュータシステムに後で伝送するためにデータを記憶することもできる。
【００２０】
この補助ディスプレイは、この主要ディスプレイを補完し、この主要ディスプレイが遮断されるか、それとも動作可能でない（例えば、切り離されている）場合に代理ディスプレイとしての役割を果たしてこのユーザにある情報を提供することができる。例えば、この主要ディスプレイが遮断されており、または簡単に見えない（例えばラップトップのふたが閉じられている）、あるいはその両方の場合に、ユーザが閲覧することができるモバイルコンピュータに接続された補助ディスプレイデバイス上にミーティングの部屋番号および／またはそこへの方向が示されるとすれば、この主要ディスプレイをどのようにして起動すべきかなどの情報が助けになることもある。絶えず見ることができるスクリーンの付いたタブレットＰＣ上においてさえ、その主要ディスプレイが電力を節約するために遮断されていて、それによって補助ディスプレイが実質上の利点をもたらし得ることもあることに留意されたい。ユーザが、このコンピュータシステム状態に基づいてこの表示の範囲を制限することができ、例えば、このユーザがログインしていない場合には、ある種の微妙な内容でない、または非常に詳細に制御された情報しか表示することができないことに留意されたい。
【００２１】
これらのパワーダウンモード中の通信を可能にし、制御するために、第２のプロセッサによってロードされ動作される場合に、何らかの電力が利用可能である限り、他の補助コンポーネントと一緒にこの補助ディスプレイを使用可能にする、不揮発性メモリに記憶されたファームウェアが存在することができる。本明細書中で使用されるときに、用語「ファームウェア」は、一般にこの補助メモリ、その中のコード、および／またはそのコードが実行される第２のプロセッサを表していると考えることができることに留意されたい。
【００２２】
図２Ａ〜２Ｅは、それぞれ補助ディスプレイスクリーン２００ａ〜２００ｅを配置するためのコンピューティングデバイス上の、あるいはコンピューティングデバイスに関連する例示の位置を示している。図２Ａおよび２Ｂに示すように、補助ディスプレイスクリーン２００ａは、（ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）技術などを介して別の方法でリンクする場合には物理的に結合する必要がない）スタンドアローンの（地上通信線またはモバイル）電話２０２の前面、裏面、または他の表面上、および／またはモバイルコンピュータ２０４またはタブレットコンピューティングデバイス（図示せず）のエッジもしくはふたに配置された別の補助ディスプレイスクリーン２００ｂ上に配置することができる。補助ディスプレイスクリーン２００ｃ用の別の場所（図２Ｃ）は、コンピュータ上にマウントされた電話上、あるいはモニタ２０６やキーバード上など、コンピュータに取り付けられたペリフェラルデバイス上であってもよい。図２Ｄおよび２Ｅは、それぞれコンピュータに接続されたスタンドアローンコンソール２０８の前面パネル上、または（このマザーボード用のハウジングなど）他の何らかのハウジング２１０の補助ディスプレイスクリーン２００ｄおよび２００ｅの追加の配置を示している。補助ディスプレイスクリーンは、コンピュータに対する無線接続または他の接続を有する時計上、リモート制御デバイス上、リモート壁掛けユニット上などに配置される、表示機能を有する任意のコンピューティングデバイスまたは他のデバイスのどのような表面上にも配置することができることが当業者には理解されよう。
【００２３】
図２Ａ〜２Ｅから明らかなはずのように、補助ディスプレイは、１つまたは複数のＬＥＤ、２行のアルファニューメリックディスプレイ、モノクロディスプレイ、カラーディスプレイなど任意数の知られているタイプのディスプレイの形態とすることができる。本発明はまた、他のコンピューティングデバイスまたは通信デバイスのディスプレイを補助ディスプレイ２００として使用することもできることが当業者には理解されよう。これらの他のコンピューティングデバイスまたは通信デバイスは、汎用コンピュータ、セル電話、およびページャやＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ携帯型個人情報端末）などのハンドヘルドデバイスを含んでいる。さらに、本発明は、以前にユーザがログインしていることを含めて、コンピューティングデバイス１２０のオンスクリーンディスプレイの区域内に実施された仮想補助ディスプレイ（例えば、スクリーンセイバーまたはグラフィックユーザインターフェースのコンポーネント）を補助ディスプレイ２００として使用することもできる。補助ディスプレイ２００は、前述の形態の任意の組合せを含むことができ、また１つまたは複数のＬＥＤなどのインジケータと物理的または論理的に組み合わせ、および／または仮想補助ディスプレイに関連して使用することもできる。
【００２４】
スクリーンがないとしても、アクティビティの発生について通知するために１つまたは複数のＬＥＤを補助ディスプレイ２００として有利に使用することができる。かかる補助ディスプレイは、低コストで、少ない電力消費で実施することができ、目立たない方法での通知を実現することができる。この補助ディスプレイは、極めてタイトなフォームファクタをもつシステムでは、またはユーザについての通信が別の人によって管理されるシステムでは、効果的に使用することもできる。通知を遠くから見えるようにする必要がある場合に、補助ディスプレイ２００は、さらに効果的にすることができる。新しい電子メールメッセージの通知など、そのアクティビティに関連する情報内容がある場合にも、補助ディスプレイはまた、オンスクリーン仮想補助ディスプレイに関連して使用することができる。この場合には、この電子メールからの内容を仮想補助ディスプレイ２００上に表示することもできる。さらに、補助ディスプレイ２００は、内容の表示が望ましくない場合にパブリックシステム（ライブラリまたはキオスク）または共用コンピュータについて、効果的に使用することもできる。
【００２５】
代わりに、２行のアルファニューメリックディスプレイは、コストまたはスペースがクリティカルであるが通知および基本的な内容が望ましい場合に補助ディスプレイ２００として有利に使用することができる。このアルファニューメリックディスプレイは、タブレットＰＣ、ラップトップ、安価なＰＣ、電話ドッキングステーション、モニタベゼル、および小型もしくは低コストのＰＣアプライアンス、またはハンドセット、キーボード、リモコンなどのペリフェラルのために効果的に使用することができる。アルファニューメリックディスプレイは、発呼者ＩＤボックスの置換（およびその改良）として効果的に使用することもできる。
【００２６】
さらに、モノクロまたはカラーの複数行ディスプレイは、メディアの豊富なアプリケーション、ハイエンドコンシューマシステムまたはメディアセンタシステムのための補助ディスプレイ２００として有利に使用することもできる。この複数行ディスプレイは、より一般的なフォームファクタを有し、または通信に重点が置かれるハイエンドラップトップ、大がかりなビジネスまたは通信に重点のおかれるフル機能のＰＣ、（リモコン、携帯型メディア機能を備えたコンソールシステムを含めて）メディアセンタまたはハイエンドのメディアアプライアンス、およびモバイル補助ディスプレイでは、効果的に使用することができる。さらに、別のコンピューティングデバイスまたは通信デバイスのディスプレイは、ユーザが自分のＰＣを使用する場合にこれらの補助デバイスの役割を拡張することができる補助ディスプレイ２００として有利に使用することができる。これらの他のコンピューティングデバイスまたは通信デバイスには、汎用コンピュータ、セル電話、およびページャや携帯型個人情報端末（ＰＤＡ）などのハンドヘルドデバイスが含まれる。さらに、この補助ディスプレイは、実際のディスプレイである必要はなくて、この情報の（例えば、壁への）投影とすることも可能であることを留意されたい。本明細書中ではこのように呼ばれるが、補助ディスプレイは、任意の視覚表現、聴覚表現、および／または触覚表現を含めて感知することが可能な基本的にどのような表現から構成することもできる。
【００２７】
前述のように、仮想補助ディスプレイは、内容の表示が望ましくない場合には、パブリックシステム（ライブラリまたはキオスク）または共用コンピュータについての補助ディスプレイ２００として使用することができる。この仮想補助ディスプレイは、低コストシステム、またはＬＥＤさえ非実用的にする非常に小さなフォームファクタをもつデバイスでは、効果的に使用することもできる。仮想補助ディスプレイは、スクリーンセイバーとして、またはグラフィックユーザインターフェースのコンポーネントとして実施することもできる。
【００２８】
以降では（たとえボタンやポインティングデバイスなどの１つのメカニズムであったとしても複数の）アクチュエータと呼ぶ入力デバイス２０１は、アプリケーションデータ、あるいは電子メール通知、ボイスメール通知、カレンダ通知、システム状態通知、発呼者ＩＤリスト、他のタイプの通知メッセージなどの通知の異なるカテゴリの間で切り換えを行うメカニズムをユーザに対して提供する。付随しているかかるスイッチボタンは、このユーザが特定のカテゴリ内のこれらの通知メッセージを介して前方または後方にスクロールできるようにするアップボタンおよびダウンボタンとすることもできる。キーボード、マイクロフォン、ジョイスティック、ゲームパッドや、生物測定センサ、環境センサ、位置センサ、または他のタイプのセンサを含むデバイスを含めて、他のデバイスなど任意の他のタイプのアクチュエータを使用することもできることが当業者には理解されよう。図１に示すコンピューティングデバイス１２０の入力デバイスのうちのどれもが入力デバイス（アクチュエータ）２０１として使用することができ、また独立なアクチュエータに関連して使用することもできる。
【００２９】
補助ディスプレイシステムアーキテクチャ
理解されるように、本発明は、気を散らさずに、またはたとえあるにしてもスクリーン上の現在のタスクから動作の重点を切り換える必要なしに、ユーザが、ペリフェラルタスクに関する情報を簡単に速やかに閲覧するための補助ディスプレイ２００を提供している。本発明に従って、ユーザは、アクチュエータ２０１を使用してアプリケーションプログラムデータの中から選択することにより、どのような情報が補助ディスプレイ上に表示されるかについて、ある程度まで選択することができる。プログラムデータおよびイベント通知を使用して、情報の補助表示を示すことになるが、本発明では、トランザクションサービス、オークションサービス、広告サービス、娯楽サービス、および位置サービスを含めて、インターネット関連サービスなどからの他のタイプの情報の補助表示を提供することができることを理解されたい。かかるサービスは、ユーザが特に要求する情報、ならびに頼まれもしないのに送りつけられる情報を含めて、金融トランザクション情報、ヘッドラインニュース、株価情報、スポーツスコア、天候または他の情報を含む広範な様々な情報を提供することができる。また補助ディスプレイ２００は、１組の通知光、２行のアルファニューメリックディスプレイ、モノクロディスプレイ、カラーディスプレイなど、いくつかの知られているタイプのディスプレイを使用して動作可能にすることができることも理解されよう。本明細書中で使用しているように、簡潔にするために、「補助ディスプレイデバイス」は、一般的にこの補助ディスプレイスクリーンおよび／またはこのスクリーンに関連するアクチュエータ、ならびにそのデバイス中の他の任意のハードウェア、ファームウェアまたはソフトウェアのことを意味していることに留意されたい。しかし、このスクリーンおよびアクチュエータは、独立したメカニズムとすることができること、および／またはデータを入力するために物理的接触を必要とするアクチュエータが存在しなくてもよいことを理解されたい。さらに、この補助ディスプレイデバイスは、ピクセルタイプのディスプレイスクリーンの代わりの、またはそれに追加したインジケータ（例えば、個別ＬＥＤ）を多分含んでいると考えることもできることに留意されたい。
【００３０】
図３に一般的に示すように、１つまたは複数のアプリケーションプログラム３０２が仮想的に任意のタイプの補助ディスプレイデバイス３０４とインターフェースしてそのディスプレイ２００にデータを出力し、またはアクチュエータ２０１を介してそのユーザと対話し、あるいはその両方を行うことができるアーキテクチャ３００が提供されている。かかるアプリケーションプログラム３０２（またはこのアプリケーションプログラムに結合された関連するプラグインコンポーネント）は、補助ディスプレイについて知るためにプログラムされている（すなわち、補助ディスプレイ認識型の）プログラムであり、したがってユーザと情報を交換するためにこのプログラムが存在し、それによってユーザの体験を改善できるときはいつでも補助ディスプレイデバイス３０４を使用することができる。本明細書中で使用しているように、「アプリケーション」または「アプリケーションプログラム」の概念は、従来のプログラム、ならびにオペレーティングシステムコンポーネントを表しており、このオペレーティングシステムコンポーネントは、補助ディスプレイにデータを提供し、および／または補助ディスプレイデバイスの関連するアクチュエータを介してそれと共に解釈を行いたいと望むことができることに留意されたい。
【００３１】
任意の補助ディスプレイ認識型アプリケーションプログラム３０２が、補助ディスプレイデバイス３０４を使用できるようにするために、補助ディスプレイサービス３０６は、コンピュータシステム上にインストールされ、正規のコンピュータオペレーティングシステム上で実行されるアプリケーションレイヤプログラムが補助デバイス３０４と情報をやりとりして、そのディスプレイ２００上に情報を表示し、および／またはアクチュエータ２０１を介してナビゲーションコマンドなどのコマンドを受け取ることができるアプリケーションモデル／レイヤが提供される。この目的を達成するためにアプリケーションプログラム３０２は、定義されたインターフェース３０４を介して（サービスレイヤの）補助ディスプレイサービス３０６とデータを交換する。次に、以下に説明するように、補助ディスプレイサービス３０６は、補助ディスプレイデバイス３０４とこのデータを交換する。したがって、この高度に柔軟性に富んだモデルの結果として、まだ開発されていないプログラムも含めて、任意のプログラムが、定義済みのインターフェースセット３０８を適切に実施することによって補助ディスプレイデバイス３０４を使用することができるようになる。
【００３２】
さらに、一実施形態においては、補助ディスプレイサービス３０６は、他のレイヤからのこの補助ディスプレイデバイスハードウェア（ならびに任意のデバイスのファームウェアまたはソフトウェア）を抽出し、それによって適切な任意のデバイスが、まだ開発されていないデバイスを含めて補助ディスプレイデバイスとしての役割を果たすことができる。この目的を達成するために、アーキテクチャ３００は、このサービス３０６が適切な通信プロトコル／インターフェースおよび有線または無線のデバイスインターフェース３１０上でこのデバイスファームウェア／ハードウェアと情報をやりとりするプロトコルレイヤを提供する。ディスプレイサービス３０６および補助ディスプレイデバイス３０４が共に実施する既存のまたは将来の任意のプロトコルは、（まだ開発されていないインターフェースを含めて）対応する物理的または無線の任意のコンピュータ−デバイス間インターフェース３１０が満たすように、満たすことになる。
【００３３】
以下で説明するように、一実施形態においては、（例えば、列挙およびアービトレーションを取り扱う）調停コンポーネント（ｍｅｄｉａｔｉｏｎ  ｃｏｍｐｏｎｅｎｔ）３１２が、使用される通信プロトコルについて必要に応じて、プロトコルプロキシ３１６がプラグインする定義済みのインターフェース３１４を介してこれらの通信メカニズムから抽出される。このプロトコルプロキシは、補助デバイスサービス３０６の一部分として図３に示されているが、このサービスの一部分として考えられている物は、任意の何であってもよく、したがってこのプロトコルプロキシは、代わりにこのプロトコルレイヤの一部分と考えることもできることに留意されたい。いずれにしても、この階層化アーキテクチャは、アプリケーション開発業者およびディスプレイデバイス製造業者にとっての高い柔軟性を実現する。
【００３４】
図４ならびにこのアプリケーションレイヤオペレーションおよびサービスレイヤオペレーションの説明を参照すると、アプリケーションプログラム３０２を必要に応じて拡張して、補助ディスプレイデバイス３０４を介してそのデータの一部をユーザに対して提示することができる。これは、アプリケーションプログラム３０２を開発して補助ディスプレイサービスインターフェース３０８を直接に解釈することによって、またはこのインターフェース３０８を解釈するコンポーネントをアプリケーションプログラム３０２に関連づけることによって、あるいはその両方を行うことによって達成することができる。例えば、（例えば、ＤＬＬ形式における）プラグインにより、アプリケーションの開発業者は、（このプラグインにリンクすることを除いて）この主要アプリケーションコードを変更せずに、開発業者のアプリケーションプログラムを簡単に拡張することができるようになる。図４は、補助アプリケーションコンポーネント４０２をアプリケーションプログラム３０２内に存在するように示しているが、これは単なる１表現にすぎず、したがってこのコンポーネント４０２は、このアプリケーションコードそれ自体の内部に存在することができ、このアプリケーション中にプラグされる、ＤＬＬなどのプラグ可能コンポーネントとすることができると理解されることに留意されたい。さらに、このアプリケーションプログラムそれ自体は、表示するためのそのデータを提供していないこともあることを理解されたい。例えば、このアプリケーションプログラムと独立にすることができる別のプログラムは、このアプリケーションプログラムに対応するデータを提示することができる。この目的を達成するために、例えば、このアプリケーションプログラムのファンクションコールをフックすることにより、この他のプログラムが、このアプリケーションプログラムに由来しているように見える補助ディスプレイデバイス３０４に対してデータを提供することができる。
【００３５】
図４に示すように、補助ディスプレイサービス３０６が提供するアプリケーション−サービス間レイヤにより、アプリケーション／プラグインが補助ディスプレイサービス３０６のサービス登録コンポーネント４０４にそれ自体を登録するための補助プラグイン登録を含めて、様々な構造および機能が可能になり、それによってこのアプリケーション／プラグインは、使用可能になっている補助デバイス３０４を使用する機能を有する。図４の実施例の実施形態において、サービス登録コンポーネント４０４は、この目的のためのＩＡｕｘＡｐｐＲｅｇインターフェースを提供する。他のアプリケーションプログラムも同様に、このインターフェースを介してそれら自体を登録する。
【００３６】
補助アプリケーションコンポーネント４０２は、この関連する補助ディスプレイデバイスおよび／または関連したリソースからイベントを受け取る機能を有する。例えば、補助デバイスがそれにデータを送るために使用可能になると補助アプリケーションコンポーネント４０２にあるイベントを送ることができるが、一方、別のイベントは、この補助デバイスアクチュエータとのユーザ相互作用に対応する可能性がある。図４の実施例の実施形態において、このアプリケーションプログラムは、ＩＡｕｘＡｐｐＳｉｎｋインターフェースを実施してかかるイベントを受け取る。
【００３７】
また前述のように、アプリケーションプログラム３０２は、１つまたは複数の使用可能な補助ハードウェアデバイスを列挙する機能を有する。図４の実施例の実施形態において、補助デバイスサービス３０６中の調停コンポーネント４０６は、ＩＡｕｘＭｅｄｉａｔｏｒインターフェースを介してこの列挙機能を提供する。このようにして、このデバイスまたはこのデバイスに関連した何らかのデータ（例えば、対応するＸＭＬファイル）は、このデバイスディスプレイスクリーンなど、および／またはそのアクチュエータの機能をアプリケーションプログラム３０２に報告することができる。次いでアプリケーションプログラム３０２は、このディスプレイに従ってこの出力および入力を調整することができ、例えばこのデバイス特性についてカラースキーム、解像度、ナビゲーションコマンドなどを修正することができる。例えば、アプリケーションプログラム３０２が、この補助ディスプレイデバイスが高解像度カラースクリーンおよび４方向ナビゲーションボタンを有することを知っている場合には、このアプリケーションは、豊富にフォーマットされたデータをこの補助ディスプレイに出力し、４方向のナビゲーションコマンドを受け入れるように調整することができる。代わりに、２行テキストディスプレイしか使用できない場合には、このアプリケーションプログラム３０２は、簡単なテキストを出力することもできる。
【００３８】
またアービトレーションが、このアプリケーションレイヤの調停コンポーネント４０６中で提供されて、どのアプリケーションが、そのデータを現時点で表示し、ナビゲーションコマンドを受け取っているべきであるかを決定するメカニズムを提供する。このアプリケーションプログラムは、必要に応じて順番にこのディスプレイを共用することに留意されたい。すなわち換言すれば、調停のアービトレーションファンクションは、補助アプリケーションプログラムおよび／またはプラグインの優先順位（ｚ順位）を管理する。補助デバイスは少量のディスプレイスペースしか有することができない（または、１個のＬＥＤほど少ないことさえある）ので、一実施形態においては、１つのアプリケーションだけで、ディスプレイ全体を一度に占有してしまうが、代替実施形態においては、十分なスクリーンスペースが使用可能であり、またはスクリーンおよびインジケータが同じデバイス上で使用可能である場合には、ディスプレイおよび／またはインジケータをアプリケーション間で分割し、あるいは複数のアプリケーションから情報を提供することも実現可能である（例えば、このデバイスは、１つのアプリケーションのデータを示し、別のアプリケーションが変更済みの状態にある場合にはフラッシュすることができ、基本的にはユーザが何らかの注意を払うことを要求するが、強くは要求しない）。
【００３９】
アービトレーションがまた、このサービスレイヤの調停コンポーネント中において提供されて、どのアプリケーションまたはオペレーティングシステムコンポーネントが、そのデータを現時点で表示しているべきであるかを決定するメカニズムも提供している。すなわち、このアプリケーションおよび他のプログラムは、必要に応じて順番にこのディスプレイを共用することに留意されたい。このディスプレイデバイスに現時点で（重点を置くのと同様に）結合されているプログラムはしばしば、ホームページからそこへナビゲートすることなどによってユーザ選択されていることもあるが、他のイベントが、（ずっと以前になされている）このユーザの選択に優先することもある。例えば、ミーティングの催促通知、電話呼出し、ホームページのタイムアウトへの復帰、低電力状態、現時点で表示されている表示に比べて表示することがより重要な可能性があると考えられる何かなどのイベントが発生する場合には、この補助ディスプレイは、別のアプリケーションのデータまたはシェルアプリケーションホームページを全面的に示すか、あるいは何らかの方法（例えば、フラッシュ）においてそのイベントを指し示すように変化することができる。複数の補助ディスプレイ、およびＬＥＤなど１つまたは複数のインジケータを有し、それによってアービトレーションが、アプリケーションプログラムなどの間における、かかるディスプレイおよび／またはインジケータのそれぞれへ、またそれぞれからのデータマッピングを決定することが可能であることに留意されたい。
【００４０】
プログラムが、そのディスプレイに書き込み、またそのアクチュエータを介してコマンドを受け取ることが許可された後に、補助システムを参照することにより、現在選択されている補助アプリケーション（例えば、プラグイン）コンポーネント４０２が、これらのディスプレイリソースを使用できるようにする抽出されたメモリバッファに対してブリット／レンダリングする機能が提供される。図４の実施例の実施形態において、デバイスコンポーネントは、このアプリケーションプログラムがこのサービスレイヤを介してそのデバイスにそのデータを提供するためのＩＡｕｘＤｅｖｉｃｅインターフェースを提供する。このサービスレイヤを介して渡す前にアプリケーションデータを処理して、例えばレンダリング、ならびに前述の「Ｃａｃｈｉｎｇ  Ｄａｔａ  ｆｏｒ  Ｏｆｆｌｉｎｅ  Ｄｉｓｐｌａｙ  ａｎｄ  Ｎａｖｉｇａｔｉｏｎ  ｏｆ  Ａｕｘｉｌｉａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ」という名称の米国特許出願で説明されているキャッシングを実施する、ツリーやグラフなどの何らかの方法でこのデータを構造化することができることに留意されたい。
【００４１】
概要として、丸で囲んだ番号（１）ないし（６）を用いてラベル付けした矢印は、補助アプリケーションのブートストラッピングおよび実行の一般化された時系列に相当する。矢印（１）で示すように、補助デバイスサービスが開始される。その初期化プロセスの一部分としての矢印（２）において、このサービスは、アウトオブプロセスアプリケーションＣＯＭオブジェクト（ｏｕｔ−ｏｆ−ｐｒｏｃｅｓｓ  ａｐｐｌｉｃａｔｉｏｎ  ＣＯＭ  ｏｂｊｅｃｔ）を作成する。このアウトオブプロセスＣＯＭオブジェクトは、ＩＡｕｘＡｐｐＳｉｎｋインターフェースをサポートする。
【００４２】
矢印（３）で示すように、この補助アプリケーションコンポーネント（例えば、オブジェクト）は、補助デバイスサービス３０６のサービス登録コンポーネント（例えば、オブジェクトメソッド）のＩＡｕｘＡｐｐＲｅｇインターフェースに呼出しを行って１つまたは複数の補助デバイスに予約を行う。各使用可能なデバイスは、この呼出しから返された特定のアイデンティティによってリストアップすることができ、また使用可能なデバイスとして単に識別することもでき、この中で、イベント列挙により、各デバイスの特性を決定することができる。
【００４３】
矢印（４）で示すように登録に続いて、登録サービス４０４は、この登録コンポーネントからＩＡｕｘＭｅｄｉａｔｏｒオブジェクトインターフェースを返すことにより、補助アプリケーションコンポーネント４０２に対する調停コンポーネント（例えば、オブジェクト）を実質的に識別する。このサービスの調停コンポーネント（オブジェクト）は、このＩＡｕｘＡｐｐＳｉｎｋインターフェースのコピーを保持し、その結果、調停機構４０６は、このアプリケーションコンポーネント４０２がアクチュエータイベントに応答して、ディスプレイを利用しインジケータの状態を設定することを要求することができる。
【００４４】
図４の番号付き矢印（５）は、ＩＡｕｘＡｐｐＳｉｎｋを介してＩＡｕｘＤｅｖｉｃｅインターフェースをこの補助アプリケーションに渡す調停コンポーネント４０６を示す。このアプリケーションは、次にこのインターフェースを使用してこのデバイスコンポーネントを介してこの要求を実現する。
【００４５】
図５は、調停コンポーネント（オブジェクト）４０６に接続された複数のアプリケーションプログラム３０２Ａ〜３０２Ｃを示している。かかる３つのアプリケーションプログラム３０２Ａ〜３０２Ｃが示されているが、実用的な任意の数が実現可能であることが理解されよう。一般的に、調停コンポーネント４０６は、どのアプリケーションプログラムが、そのデータを補助ディスプレイ２００上（および／または１組の１つまたは複数のインジケータ上）に現時点において表示しているべきであり、またはユーザ入力データをアクチュエータ２０１から受け取っているべきであり、あるいはその両方を行っているべきであるかを決定する。複数の補助ディスプレイデバイスが存在する場合には、調停コンポーネント（オブジェクト）４０６は、これらのアプリケーションをこれらのデバイスに対してマッピングする。どの時点においても、異なる補助デバイスが、それぞれインジケータまたはディスプレイスクリーンを介して異なるアプリケーションプログラムのデータを表示することができ、あるいは任意の１つのアプリケーションが、複数の補助デバイス上で同時にそのデータを表示することができる。したがって、この同じアプリケーションが、複数のディスプレイに対してデータを出力することができるが、このアプリケーションデータは、補助デバイスごとに異なっていてもよいことに留意されたい。簡単にするために、以下の説明では、（インジケータセットに対してではなく）ディスプレイに対して出力する１つの補助ディスプレイデバイスについて言及することにする。
【００４６】
図５において相互作用マネージャ５０１と呼ばれるアクチュエータオブジェクトは、この補助ディスプレイに対応するアクチュエータ２０１とのユーザ相互作用を管理する。この相互作用は、これらのアプリケーションのうちのどれがそのデータを表示すべきであるかを変更するようにこの調停コンポーネント（オブジェクト）４０６に伝えるナビゲーションコマンドのユーザ入力を含むことができる。このコマンドはまた、例えば選択された電子メールメッセージの本体などそのデータの一部を表示するその現時点における補助ディスプレイアクティブなアプリケーションプログラムを対象としたコマンドでもある。代わりに、時刻指定されたイベントなどのイベント５２０を調停コンポーネント４０６によって受け取り処理してこのイベントに応答してかかる変更を自動的に行うことができる。この調整コンポーネントが保持するルックアップテーブルなどは、イベント（または内部タイマ）をアクションに対してマッピングすることができる。
【００４７】
この相互作用マネージャは、このアプリケーションプログラムに全面的に依存してこのディスプレイを変更する必要はないことに留意されたい。例えば、ユーザが選択することができる使用可能なアプリケーションプログラムをリストアップする「ホームページ」プログラムは、相互作用マネージャおよび／またはディスプレイオブジェクト４０８中に構築することができる。アプリケーションが選択されるまで、このホームページプログラムは、ユーザがこれらのアプリケーションのうちの１つを選択するまで、このアクチュエータ２０１とのユーザ相互作用に応答してこのディスプレイを調整する（例えば、使用可能なアプリケーションのリストをハイライトおよび／またはスクロールする）。
【００４８】
一実施形態において、（例えば、イベントベースの）かかるアプリケーションの選択または他の変更要求を検出すると、調停コンポーネント４０６は、この新しく選択された、または現時点において選択されているアプリケーションに対してイベントを送って、このアプリケーションに指示して、適切なデータを表示するために表示オブジェクト４０８に対して提供する。時刻指定されたイベントなどのために１つのアプリケーションプログラムから別のアプリケーションプログラムへと変更する場合、またはそのホームページへと戻って変更する場合には、調停コンポーネント４０６は、この以前にアクティブだったアプリケーションに対して、もはやそのデータが表示されていないことを指し示すイベントを送ることもできる。複数のディスプレイおよび／またはインジケータを用いてこの調停コンポーネントは、アプリケーションを再マッピングして、変更が行われる場合にオブジェクトを表示することができ、したがって、アプリケーションがデータを出力している対象がどの１つのディスプレイ、複数のディスプレイ、および／またはインジケータであるかを指し示すためのメカニズムが、別のデバイスについてどのようにしてそのデータを調整するかをそのアプリケーションに通知するために必要とされることもあることに留意されたい。
【００４９】
任意の補助ディスプレイデバイスについてのディスプレイオブジェクトにより、データがその対応するディスプレイにとって適切であるようにすることができ、例えば（テキストがカラーおよび／またはフラッシュパターンなどの特定のディスプレイ状態に対応していない限り）ＬＥＤに対してテキストは無意味なはずである。さらに、このディスプレイオブジェクトは、例えば、カラーをグレースケールへ、テキストを表示するためのビットマップへとなど、データを必要に応じてデータを再フォーマットすることができる。
【００５０】
アクチュエータ２０１は、そのデータを表示している、現時点において選択されているアプリケーションプログラムの状態を変更することもできる。例えば、選択される場合に、電子メールアプリケーションプログラムは、電子メールメッセージのリストを表示することができ、このリストは、適切なボタンから受け取った動作に応答してこのアプリケーションプログラムによってスクロールすることができる。電子メールメッセージを選択すると、このアプリケーションは、メッセージリストの代わりに選択されたメッセージの内容を出力するようにその状態を変更することができる。
【００５１】
アプリケーション関連レイヤの下には、プロトコルプロキシ（例えば、ＤＬＬ）がプラグインする通信関連インターフェースを介して実現されるプロトコルレイヤが存在する。このプロトコルレイヤのために、この通信の詳細および要件が、このアプリケーションプログラムおよびその調停コンポーネントから抽出される。
【００５２】
さらに、このプロトコルは、固定されておらず、その代わりにプラグ可能なプロトコルプロキシを介して構成可能である。したがって、まだ開発されていないプロトコルを含めて実質的に任意のプロトコルを補助デバイスと合わせて使用することができる。このプロキシのプラグインは、結合された補助ディスプレイの存在の初期検出に応じて自動的または非常に自動的にすることができることに留意されたい。例えば、ユーザはスマートモバイル電話をコンピュータに結合することができ、この結合が検出される場合に、このモバイル電話のディスプレイは、適切なプロトコルプロキシを自動的にロードすることによって補助ディスプレイになることが可能である。
【００５３】
階層化アーキテクチャのために、このアプリケーションプログラムおよびこの補助ディスプレイデバイスは、本質的に補助デバイスサービスだけしか見ないことになるが、この補助デバイスサービスは、データを適切に交換するために必要なそれぞれのインターフェースを有している。このようにして、（ＵＳＢ  ＨＩＤ、ブルートゥース上などで接続するための、また例えば世界中の基本的にどこにでも配置されるウェブサービスに接続するためにさえ）合意したプロトコルが存在する、任意のアプリケーションから任意の補助ディスプレイデバイスへの情報のやりとりが可能である。
【００５４】
図６を参照すると、補助デバイスサービス３０６の（時にハードウェア抽象化機構と呼ばれる）プロトコルレイヤは、このアプリケーションプラグインを１つまたは複数の様々なデバイスに経路指定することを可能にする抽象化機構である。一実施形態においては、出力の物理的手段は、些細な１個のＬＥＤからフルカラーのビットマップ補助ディスプレイまで、または（例えば、アルファニューメリックディスプレイ、カスタムセグメントを伴う補助ディスプレイ、２ｎ−ビットの小型のグレースケールビットマップディスプレイ、３２−ビットのより大型のビットマップディスプレイなど）その間で事実上どのようにも変化することができる。この入力機能もまた変化し、例えば、このアクチュエータは、ボタンから、容量性センサ、または光センサ、動きセンサ、質量センサなどを含めた他のセンサに対するスイッチにまで変化することができる。
【００５５】
図６に示すように、一実施形態においては、このプロトコルプロキシは、このアプリケーション内容に物理デバイスを対象とすることを可能にするＤＬＬを含んでいる。このプロキシのＩＤｅｖｉｃｅインターフェースおよびＩＰｒｏｔｏｃｏｌインターフェースは、補助デバイスサービス３０６のコアコードにとって見えるようになっており、この補助デバイスサービスは、これらのプロキシからコールバックイベントを受け取る。図６の実施例においては、実施例６１６および６１７が、ユニバーサルシリアルバス／ヒューマンインターフェースデバイス（ＵＳＢ／ＨＩＤ）ベースの補助ディスプレイおよびウィンソック（ＷｉｎＳｏｃｋ）ベースの端点についてそれぞれ示されている。同時にアクティブな異なる通信プロトコルを有する複数の補助ディスプレイを有することが可能であることに留意されたい。この補助デバイスサービスは、プロトコルプロキシプロバイダのデータ６５０（例えば、ＸＭＬ−フォーマットのデバイスコンフィギュレーションリスト）およびそのそれぞれの機能を保持している。
【００５６】
このポイントまでは、このコンピューティング環境は、本明細書中で「オンライン」状態と呼ばれる実行中のオペレーティングシステムに関連する主要コンピュータ上で活発に実行されるアプリケーション（ＡＣＰＩ状態Ｓ０）を用いて説明してきていることに留意されたい。しかし、代替シナリオにおいては、この補助ディスプレイは、それ自体のＣＰＵおよびメモリを有することができ、このファームウェアは、この主要コンピュータが「オフライン」である場合、例えば完全に電源が遮断されるか、あるいはスリープ／ハイバネーション状態など（Ｓ１またはより高いＡＣＰＩスリープ状態）、例えば、このコンピュータがある程度まで電力を低下している場合に、この補助デバイスを動作させることができる。かかるファームウェアが存在する場合に、この補助デバイスは、このデバイスがオンラインまたはオフラインである間、データを表示することができる。ファームウェアが存在しない場合には、この補助デバイスは、オンライン状態において動作することしかできない。このオンライン機能だけの状態においては、前述のアプリケーションおよび様々なコンポーネントは、そのオペレーティングシステムの下において主要ＣＰＵ上で実行される。
【００５７】
図７は、一般にこれら２つのシナリオ、すなわちオンライン機能だけのシナリオまたはオンライン／オフライン機能のシナリオのうちのいずれか一方の場合における（この実施例では、それぞれ補助プラグイン４０２Ａおよび４０２Ｂを有する）アプリケーション３０２Ａおよび３０２Ｂと、これらの相互作用マネージャとの間の関係を示している。オンライン機能だけの場合には、（この主要ＣＰＵのオペレーティングシステム中で実行される）このオンライン相互作用マネージャ５０１１は、ユーザの入力を受け取り、補助ディスプレイサービス３０６を介して、処理するためにその現時点において選択されているアプリケーションプログラムおよび／またはディスプレイコントローラ７３０１に対して対応するデータを渡すことができる。これは、基本的には図５に関連して前述されていることに留意されたい。さらに、この処理する電力およびメモリ容量は、そのオンライン状態において通常はより大きいので、またこれらのアプリケーションは、キャッシュされたデータではなくて実際のデータを用いて実行されるので、たとえデバイスが、オフライン機能も可能であったとしても、これらのオンラインコンポーネントは、この主要システムがオンラインであるときはいつでも実行することができることにも留意されたい。
【００５８】
オフラインの場合には、異なるオフライン相互作用マネージャ５０１２が使用される。理解されるように、このオフライン相互作用マネージャ５０１２は、この補助マイクロコントローラおよびオフライン（例えば、フラッシュまたは代替的に電力が供給される）ストレージの下で実行される。一般に、このオフライン相互作用マネージャ５０１２は、アクチュエータ２０１からのナビゲーションコマンドに応答してキャッシュされたデータを操作する。（別のコンポーネントであることもあるが）オフライン相互作用マネージャ５０１２の一部分と考えることができるオフラインシェルプログラムは、ホームページを提供することができ、どのようなイメージ（例えば、ビットマップ）を表示すべきか、またはこのシェル中のレンダラー（ｒｅｎｄｅｒｅｒ）などによってこのディスプレイに対してレンダリングするためにどのような内容を解釈すべきかを決定するナビゲーションロジックを含んでいる。これらの同じアクチュエータおよび補助ディスプレイは、オンラインであるかオフラインであるかにかかわらず、オンライン／オフライン機能デバイス上で使用することができるが、補助プロセッサおよび／またはメモリの制限に起因して何を表示することができるかには、一部違いがあり得ることに留意されたい。例えば、キャッシュされたビットマップがこのオフラインシナリオについて使用され、スペースが制限されている場合には、この画像の解像度が異なることもある。しかし、そのユーザが同様な体験をすること、およびこれらの様々なコンポーネントは、オンライン状態またはオフライン状態に応じて異なる構造を処理するように構成する必要がないことを含めて、オンラインおよびオフラインについて共通のナビゲーション（例えば、ツリーまたはグラフ）構造のディスプレイデバイスに送られたこのデータをフォーマットすることには、利点があることに留意されたい。しかし、表示することができる実際のデータは、異なることもあり、例えば、ストレージ空間制限に起因してオフラインで閲覧するためにこれらのアプリケーションのデータの必ずしもすべてをキャッシュしなくてもよい場合には、キャッシュすべきデータ量は、前述の「Ｃａｃｈｉｎｇ  Ｄａｔａ  ｆｏｒ  Ｏｆｆｌｉｎｅ  Ｄｉｓｐｌａｙ  ａｎｄ  Ｎａｖｉｇａｔｉｏｎ  ｏｆ  Ａｕｘｉｌｉａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ」という名称の米国特許出願中に説明されているように、サイズが低減される（例えば、ツリー構造が取り除かれる）。
【００５９】
コンテキスト認識型補助ディスプレイプラットフォームおよびアプリケーション
図８は、図７と同様な図であるが、コンテキストセンサの概念が追加されている。図８において、この１つまたは複数のコンテキストセンサが、オンラインまたはオフラインのコンテキストセンシングについて、それぞれ別々のセンサ８４０および８４２として示されているが、これらのセンサのうちの一部または全部は、同じであり状態間で共用されていてもよいことが理解されよう。
【００６０】
本発明の一態様によれば、一般的にコンテキストセンサは、何らかのコンテキスト変化を決定し、このコンテキスト変化をこの主要コンピュータシステムおよび／またはこの補助デバイスに報告する。次いで、この報告されたコンテキスト変化を使用してどのような情報がこの補助ディスプレイデバイス上に表示されるかに関して何らかのアクションを取り、あるいは他のタイプの何らかのアクションが取られる。
【００６１】
オフライン状態において、コンテキストのこの変化は、この現行のコンテキスト状態に基づいてこのキャッシュされたデータを異なるように解釈し、または使用し、あるいはこのキャッシュされたデータに多分追加し、またはこのデータから削除するなど、そのキャッシュされたデータに何らかの影響を及ぼすことができる。実施例として、センサが、このシステムのユーザと一緒にいる別の人の存在を検出する場合、このユーザが微妙な内容であるとしてあらかじめ識別したこのキャッシュ中のどのような情報も、取り除き、また時を改めて復元することができる。したがって、ミーティング中において、ユーザは、この補助ディスプレイを見ることができる他の出席者にユーザの電子メールメッセージをうっかりと見せてしまうことにはならない。同様に、補助ディスプレイが、ラップトップコンピュータのふたに取り付けられており、しかもこのふたが開いている場合には、このデバイスのユーザはこの補助ディスプレイを見ることができないが、他の出席者は見ることができ、したがって、微妙な内容のどのような情報も通常は、このふたが開いている場合には表示されるべきではない。以上の実施例の両方において、その現行のコンテキストは、この望ましいディスプレイ出力を何が決定するかであり、したがってこのコンテキストを感知することによってこの表示を制御することができる。
【００６２】
オンラインおよびオフラインの両方のオペレーションを伴うコンテキスト認識機能は、オンラインの場合、コンテキスト変化をオンラインアプリケーションプログラムまたはオペレーティングシステムコンポーネントに伝えることができるのに対して、オフラインの場合にはこのコンテキスト変化を使用して、補助ファームウェアが取得するこのキャッシュされたデータおよび／または他のデータの使用を修正することに違いがあることに留意されたい。このキャッシュされたデータに追加し、またはそれとマージすることができるかかる他のデータについては、「Ｐｒｏｃｅｓｓｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｃｅｉｖｅｄ  ａｔ  ａｎ  Ａｕｘｉｌｉａｒｙ  Ｃｏｍｐｕｔｉｎｇ  Ｄｅｖｉｃｅ」という名称の前述の米国特許出願中に説明されている。また、これらのセンサは異なっていることもあり、または少なくともオンラインからオフラインになるにつれその数が異なることがあり、例えば、一部のセンサは、このオペレーティングシステムに報告することができ、また携帯型補助デバイスでは、このデバイスに取り付けられたセンサがこのデバイスと一緒に動作するが、この主要コンピュータシステムに取り付けられた他のセンサは、この主要コンピュータシステムと共にとどまることになる。
【００６３】
この主要コンピュータシステムもこの補助デバイスも、動作しているオンライン状態にある場合には、これらのアプリケーションプログラムおよび／またはこれらのオペレーティングシステムコンポーネントに伝えられるコンテキスト変化は、これらの通信の各受信側が適当と思うときにこれらのアプリケーションプログラムおよび／またはオペレーティングシステム（および／またはこの補助デバイスそれ自体）によって使用される。その結果、これらのコンテキスト変化は、例えばレジストリまたは他の設定を変更することによってこの主要コンピュータシステムおよび／または補助デバイスを一時的または恒久的に変更することができる。この主要コンピュータシステムのプログラムに報告される変化はこの主要コンピュータシステムがオフラインであった時刻に起きている可能性もあり、もしそうなら、この補助デバイスによって保存され、この主要コンピュータシステムがオンラインに復帰する場合に報告されることに留意されたい。このオンラインの場合には、この補助ディスプレイを使用するために登録しているアプリケーションに対して様々なコンテキストデータを報告することができる。このディスプレイまたは主要コンピュータシステムの物理的位置、移動または動きデータ、特定のユーザまたは他の人々の存在、電源状態、ネットワーク接続性ステータス、プライバシステータスなどに対応するコンテキストなど様々なタイプのコンテキストを感知することができる。
【００６４】
前述のように、たとえこの補助コードが、実際にはプラグインでなくて、この主要アプリケーションプログラムコードであったとしても、これらの補助デバイス認識型アプリケーションは、代わりにプラグインと呼ばれることもある。このアプリケーションは、このシステムがオフラインに移行する以前に、特定のコンテキスト感知動作について登録（または照会）することができる。したがって、この補助デバイスは、検出された時または検出の後の適切なある時刻に、コンテキスト感知イベントを送ることができ、あるいは、照会に応答するためにコンテキスト関連データを保持することができる。この補助デバイスは、アプリケーションプログラム照会に応答してなどこのコンテキスト関連データをオンデマンドで取得することもでき、または必要に応じて１つまたは複数のセンサを時々ポーリングすることができ、あるいはその両方を行うことができる。この補助デバイスは、このイベントが最後に送られた時刻に実行および／または登録されていなかったアプリケーションなどのためにコンテキスト関連イベントを再送することもできる。
【００６５】
本発明に従って、プラグインは、複数の電源状態で使用可能なように登録することができる。例えば、カレンダプラグインは、このシステムがオンラインまたはオフラインである場合に適切であるが、この主要コンピュータシステムを介して受け取るライブの株価情報は、オフライン使用のためにキャッシュするのは適切ではない。プラグインは、複数の位置で使用可能なように登録することもできる。例えば、バッテリメータは、この補助ディスプレイがラップトップコンピュータのベゼル上またはそのふた上、あるいはその両方に配置される場合に、適切となる。
【００６６】
補助ディスプレイプラグインを開発する場合に、開発業者は、アプリケーションを表示することができる（またはコンテキスト変化に応じて表示すべき）、あるいは表示することができない、適切な１つ（または複数）のコンテキストを指定することができる。このサービスが、コンテキストイベントの変化をこのプラグインに対して伝えることもでき、このプラグインは、その将来の出力をそれに応じて調整することもできる。プラグインは、コンテキスト変化に応じてこの表示を変更することについて登録することができ、例えばブルートゥースデバイスがその範囲内にある場合に、ある種の表示を自動的に提示することができる。さらに、このブルートゥースデバイスが、補助ディスプレイとして使用可能になる場合には、適切な登録された各アプリケーションプラグインには、このコンテキスト変化についての通知を行うことができ、その結果、例えば、このプラグインは、この新しいデバイスのためにその出力を調整することができる。
【００６７】
現行のシステムコンテキストについて知っている補助サービス３０６は、この現行のコンテキストに基づいてどのプラグインからのデータを表示することが適切か、またどのプラグインを無効にすべきかを選択することができる。この目的を達成するために、一実施形態において、コンテキスト状態変化が起こる場合に、この補助サービスは、有効なプラグインのリストを列挙して、このコンテキスト変化に基づいてどれかを追加または除去すべきかどうかを決定する。このオフライン状態において実行される場合に、この補助プロセッサ上で実行されるファームウェアまたはオペレーティングシステムは、同じコンテキストフィルタを適用して、このオフライン電源状態ではもはや関連していないプラグインを無効にすることができる。代わりに異なるフィルタを適用することもできる。
【００６８】
様々なコンテキストの実施例は、電源状態を含んでおり、この電源状態は、この情報のソースが、このプラグインの対応するアプリケーションプログラムであっても、このアプリケーションプログラムについてのキャッシュされたデータであっても、どの電源状態においてこのプラグインの対応する情報が表示されることになるかを決定する。この補助サービス３０６は、この既存のシステム通知を介してこのシステムの電源状態に対する変化について知っている。プラグイン電源状態オプションは、このシステムがオンラインである場合にこのプラグインが適切になるオンライン（Ｓ０）と、このシステムがオフラインである場合にこのプラグインが適切になるオフライン（Ｓ３〜Ｓ５）とを含んでいる。プラグインは、オンラインおよびオフラインで使用可能になるように登録することができる。
【００６９】
別のコンテキストは、相対的なディスプレイの位置であり、これを使用して、この主要コンピュータシステムの一次ディスプレイに対するこの補助ディスプレイの位置に基づいてこのプラグインが情報を表示することになるかどうかを決定することができる。その製造業者は、このシステムコンフィグレーションの一部分としてこの補助ディスプレイの位置を登録することができ、またユーザは、定義されたどのカテゴリにも完全には当てはまらない、またはユーザがこの登録済みの位置を無効にしたいと思う場合のカスタム位置についてなど、このシステムに対する位置を特定することができる。次いで各プラグインは、動作させるのにどの位置が適切かについて補助サービス３０６に登録することができる。例えば、プラグイン位置オプションは、一次ディスプレイと共に見えること、例えば、この補助ディスプレイが、ラップトップのベゼル上などこの一次ディスプレイと同時に見える位置にあることを含んでいる。別の位置は、一次ディスプレイと共には見ることができないこと、例えばラップトップのふたの上に取り付けられ、したがってこのふたが閉じられている場合にまたはこの主要ディスプレイの他方の側からしか見ることができない場合など、この補助ディスプレイが、一次ディスプレイと同時には見ることができないような位置にあることである。登録することができる別の位置は、リモートディスプレイであり、この補助ディスプレイが、この主要ＰＣから取り外し可能であり、またはリモート接続（例えば、モバイル電話へのブルートゥース）を介して接続された別のデバイス上にあることを示している。プラグインは、これらの位置オプションの任意の組合せの形で示されるように登録することができる。
【００７０】
ネットワーク接続性は、検出することができる別のコンテキストであり、これを使用して、この現行のネットワーク接続性ステータスに基づいて情報を表示することになるかどうかを決定することができる。プラグインネットワーク接続性オプションは、無線接続、イーサネット（登録商標）接続、ブルートゥース接続、およびネットワーク無接続を含んでいる。プラグインは、これらのネットワーク接続性オプションの任意の組合せの形で示されるように登録することができる。この補助サービスは、既存のＡＰＩを介して現行のネットワークステータスについて知っている。オフラインの場合には、補助プロセッサ上のファームウェアまたはオペレーティングシステムは、このネットワークにアクセスすることができ、必要に応じてこのプラグインについてのステータスを設定することができる。
【００７１】
異なるタイプのコンテキストセンシングは、勤務先や家庭などこのデバイスの実際の物理的位置を検出することである。例えば、ユーザが勤務先から帰宅し、異なる無線ネットワーキングが検出される場合、このコンテキスト変化は、このユーザの電子メールアプリケーションプログラムに対して報告することができ、次いで、この電子メールアプリケーションプログラムは、ユーザの勤務先電子メールアドレスについての電子メールメッセージの代わりに、このユーザの個人アドレス向けにアドレス指定された電子メールメッセージをこの補助ディスプレイ上に出力するように調整することになる。ＧＰＳ（ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ全地球測位システム）データは、ユーザの現行の位置および速度を感知して将来の位置を予測し、したがってそれに応じて出力データを調整することができるので、位置を決定することもできる。
【００７２】
情報感受性は、このプラグインが、この情報の感知された感受性およびこのユーザの現行のコンテキストに基づいて表示されることになるかどうかを決定する。このコンテキストは、現行の状況に基づいてこのユーザが選択し、この補助サービスまたはファームウェア／ＯＳに渡される。ヒューリスティックは、このユーザ選択されたコンテキストおよび他の関連情報に基づいてどのレベルの情報を示すべきかを決定する。例えば、第２のユーザが、ターミナルサービス（Ｔｅｒｍｉｎａｌ  Ｓｅｒｖｉｃｅ）を使用して別のユーザがログインされるのと同時にこのラップトップにアクセスする場合に、この補助ディスプレイ上にプライベート情報を示さないことは適切なこともある。別の実施例は、このユーザが、自分のコンピュータを放置することについての実施例であり、それによって不在の間にプライベート情報が存在しないようにすることが望ましいはずである。
【００７３】
プラグイン情報感受性オプションは、このプラグインが全く個人情報を有していないシステムデータ（例えば、バッテリメータ）と、このプラグインがユーザの個人的な好みに関連したデータを含むがプライベートデータではないユーザデータ（例えば、郵便番号による天気予報またはユーザが選択した株価情報）とを含んでいる。より微妙な内容のオプションは、プラグインが、ユーザに特に関連しているデータを含んでいるが、音楽プレイリストなど必ずしもプライベートではない場合などの個人情報である。プライベート情報は、このプラグインがプライベートと考えるべき情報（例えば、カレンダ電子メール）を含むことを指し示す。一実施形態においては、プラグインは、これらのオプションのうちの１つに登録することができるだけである。代替実施形態においては、より細かい細分性が実現可能であり、例えば、プラグインのデータの一部は、ある感受性でフラグが立てられるが、他のデータは別の感受性でフラグが立てられ、またこの感受性を指定する時刻は、登録の時刻ではない。
【００７４】
感知することができる事実上任意のコンテキストを使用して、コンテキスト変化に応じてプログラムのデータ表現を変更することができることを理解することができよう。これは、このコンテキスト変化に先立って、あるいはこのコンテキスト変化についてプログラムに通知し、このプログラムにその出力を調整させることによってプログラムが提供する規則に基づくようにすることができる。
【００７５】
さらに、補助デバイスは、（例えば、そのアクチュエータを介して）コンテキストを変更することも可能である。例えば、この補助ディスプレイデバイスアクチュエータ上で押されたボタンは、ラップトップコンピュータなどの主要システムの電源状態（例えば、電源オン／オフ／スタンバイ／ハイバネート）を変更することができる。代わりにこの補助ディスプレイ上のボタンを押すことを使用してこの主要システムを無線ネットワークに接続することもできる。
【００７６】
前述のことから分かるように、本発明は、様々なコンテキストアプリケーションプログラム（プラグイン）が、コンピュータシステムの補助ディスプレイに適切な時にデータを提供することを可能にしているが、同時に専用補助ディスプレイとして組み込まれたディスプレイであれ独立なデバイスディスプレイであれ、事実上任意の機能のディスプレイが補助ディスプレイとしての役割を果たすことを可能にもしている。したがって、本発明は、補助ディスプレイデバイスを有する最新のコンピューティングにおいて必要とされる多数の利点および長所を提供している。
【００７７】
本発明では、様々な変更形態および代替構成形態が可能であるが、そのうちのある種の例示の実施形態を図面に示し、また以上に詳細に説明してきている。しかし、本発明を開示のその特定の１つまたは複数の形態に限定する意図はなく、逆に、本発明の趣旨および範囲に含まれるすべての変更形態、代替構成形態、および等価形態を包含することを意図していることを理解されたい。
【図面の簡単な説明】
【００７８】
【図１】本発明を組み込むことができるパーソナルコンピュータシステムの形態の汎用コンピューティングデバイスを示すブロック図である。
【図２Ａ】様々なデバイス上に補助ディスプレイを配置するための位置を一般的に示す例示の図である。
【図２Ｂ】様々なデバイス上に補助ディスプレイを配置するための位置を一般的に示す例示の図である。
【図２Ｃ】様々なデバイス上に補助ディスプレイを配置するための位置を一般的に示す例示の図である。
【図２Ｄ】様々なデバイス上に補助ディスプレイを配置するための位置を一般的に示す例示の図である。
【図２Ｅ】様々なデバイス上に補助ディスプレイを配置するための位置を一般的に示す例示の図である。
【図３】本発明の一態様による、アプリケーションプログラムが任意の補助ディスプレイデバイスを用いて抽象化された方法でデータを交換することができる階層化アーキテクチャを一般的に示すブロック図である。
【図４】本発明の一態様による一実施形態において、どのようにして補助認識型（ａｕｘｉｌｉａｒｙ−ａｗａｒｅ）アプリケーションプログラムが、補助ディスプレイサービスとインターフェースして、補助ディスプレイデバイスとデータを交換するかを示す図である。
【図５】本発明の一態様による、それぞれが調停に基づいて補助ディスプレイデバイスとのデータ交換のために選択的に結合することが可能な複数のアプリケーションプログラムを一般的に示すブロック図である。
【図６】本発明の一態様による、補助ディスプレイデバイスのオフラインオペレーションおよびオンラインオペレーションを可能にするファームウェアを含む階層化アーキテクチャのコンポーネントを一般的に示すブロック図である。
【図７】本発明の一態様による、異なるタイプのディスプレイデバイスと共に動作することが可能な一実施形態における補助ディスプレイサービスを示す図である。
【図８】本発明の一態様による、補助ディスプレイデバイスのオフラインオペレーションおよびオンラインオペレーションを可能にするファームウェアを含むコンポーネントを一般的に示すブロック図である。
【符号の説明】
【００７９】
１２１  主要処理装置
１２２  システムメモリ
１２３  システムバス
１３２  ハードディスクドライブインターフェース
１３３  磁気ディスクドライブインターフェース
１３４  光ドライブインターフェース
１３５  オペレーティングシステム
１３６  アプリケーションプログラム
１３６’  アプリケーションプログラム
１３７  他のプログラムモジュール
１３８  プログラムデータ
１４０  キーボード
１４２  マウス
１４６  シリアルポートインターフェース
１４７  モニタ
１４８  ビデオアダプタ
１４９  リモートコンピュータ
１５１  ローカルエリアネットワーク
１５２  ワイドエリアネットワーク
１５３  ネットワークインターフェース
１５４  モデム
１５５  補助ディスプレイインターフェース
１５６  入力デバイスインターフェース
２００  補助ディスプレイ
２０１  入力デバイス
【図１】
0004794205.tif 000002
【図２Ａ】
0004794205.tif 000003
【図２Ｂ】
0004794205.tif 000004
【図２Ｃ】
0004794205.tif 000005
【図２Ｄ】
0004794205.tif 000006
【図２Ｅ】
0004794205.tif 000007
【図３】
0004794205.tif 000008
【図４】
0004794205.tif 000009
【図５】
0004794205.tif 000010
【図６】
0004794205.tif 000011
【図７】
0004794205.tif 000012
【図８】
0004794205.tif 000013