(57)【要約】【課題】  メインコンピュータシステムに関連する補助デバイスで新しいデータを受け取り、あるアクションを行うために補助デバイスファームウェア内でその新しいデータを処理するメカニズムを提供すること。【解決手段】  データの受け取りおよび処理は、メインコンピュータシステムがパワーアップ状態（オンライン）またはパワーダウン状態（オフライン）のどちらであるかに独立である。オフラインナビゲーションのためにユーザアプリケーションデータを維持するキャッシュを、キャッシュ内の既存データを変更するか新しいナビゲーションパスを追加するのいずれかのために、新しいデータを用いて更新する。受け取られたデータを処理して、補助処理によって決定されるデータの内容に応じて、他のアクションを実行する。【選択図】  図５
2005339526.tif 000002
【特許請求の範囲】
【請求項１】
メインコンピュータシステムおよび前記メインコンピュータシステムに無関係に動作する補助デバイスファームウェアを有するコンピューティング環境において、
前記補助デバイスファームウェアで前記メインコンピュータシステムの他の供給源からデータを受け取ることと、
行われるアクションが前記メインコンピュータシステムはオンラインであるかどうかに無関係に決定されるように、前記データに基づいて前記アクションを行うために前記補助デバイスファームウェアで前記データを処理することと
を含むことを特徴とする方法。
【請求項２】
前記補助デバイスでデータを受け取ることは、前記メインコンピュータシステムに接続され、動作しつつあるハードウェアからデータを受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記補助デバイスでデータを受け取ることは、前記メインコンピュータシステムからリモートであるデータ供給源からデータを受け取ることを含むことを特徴とする請求項１に記載の方法。
【請求項４】
アクションを行うために前記データを処理することは、前記メインコンピュータシステムから入手したデータのキャッシュを更新することを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記キャッシュは、ツリー構造を含み、前記キャッシュを更新することは、前記ツリー構造に新しい枝を追加することを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記キャッシュは、ツリー構造を含み、前記キャッシュを更新することは、前記ツリー構造内のデータを変更することを含むことを特徴とする請求項４に記載の方法。
【請求項７】
アクションを行うために前記データを処理することは、前記メインコンピュータシステムをウェイクすることを含むことを特徴とする請求項１に記載の方法。
【請求項８】
アクションを行うために前記データを処理することは、イベントを生成することを含むことを特徴とする請求項１に記載の方法。
【請求項９】
アクションを行うために前記データを処理することは、後に発火するためにイベントを登録することを含むことを特徴とする請求項１に記載の方法。
【請求項１０】
アクションを行うために前記データを処理することは、登録されたイベントを変更することを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
アクションを行うために前記データを処理することは、補助ディスプレイでバッテリ関連情報を提示することを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
アクションを行うために前記データを処理することは、ネットワーク関連情報を処理することを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記メインコンピュータシステムに前記他の供給源から受け取った前記データへのアクセスを提供することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１４】
アクションを行うために前記データを処理することは、前記メインコンピュータシステムはオンラインである場合の前記メインコンピュータシステムとの同期化のために前記データの少なくとも一部をストレージ内で維持することを含むことを特徴とする請求項１に記載の方法。
【請求項１５】
実行される場合に請求項１に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とするコンピュータ可読メディア。
【請求項１６】
メインコンピュータシステムを有するコンピューティング環境において、
前記メインコンピュータシステムがオンラインであるかどうかに無関係に動作するように構成された補助デバイスと、
前記メインコンピュータシステムの他のデータ供給源からデータを受け取る、補助デバイスに結合されたメカニズムと
を含み、前記補助デバイスは、前記メインコンピュータシステムはオンラインであるかどうかに無関係に、行うアクションを決定するために前記他の供給源から受け取ったデータを処理する
ことを特徴とするシステム。
【請求項１７】
前記他の供給源は、前記メインコンピュータシステムに接続され、動作しつつあるハードウェアを含むことを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記他の供給源は、前記メインコンピュータシステムからリモートであることを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記補助デバイスは、データのキャッシュを更新することによってアクションを行い、前記キャッシュの少なくとも一部が、前記メインコンピュータシステムから入手されたことを特徴とする請求項１６に記載のシステム。
【請求項２０】
前記キャッシュは、前記他の供給源から受け取った前記データに基づいて前記補助デバイスが拡張するツリー構造を含むことを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記キャッシュは、前記他の供給源から受け取った前記データに基づいて前記補助デバイスが変更するツリー構造を含むことを特徴とする請求項１９に記載のシステム。
【請求項２２】
前記補助デバイスは、前記メインコンピュータシステムをウェイクすることによってアクションを行うことを特徴とする請求項１６に記載のシステム。
【請求項２３】
前記補助デバイスは、登録されたイベントの登録、生成、または変更によってアクションを行うことを特徴とする請求項１６に記載のシステム。
【請求項２４】
前記補助デバイスは、前記補助デバイスのディスプレイに情報を提示することによってアクションを行うことを特徴とする請求項１６に記載のシステム。
【請求項２５】
前記補助デバイスは、前記メインコンピュータシステムがオンラインである場合の前記メインコンピュータシステムとの同期化のためにストレージ内で前記データの少なくとも一部を維持することによってアクションを行うことを特徴とする請求項１６に記載のシステム。
【請求項２６】
メインコンピュータシステムを有するコンピューティング環境において、
前記メインコンピュータシステムはオフラインの場合に使用するために前記メインコンピュータから受け取ったオフラインキャッシュ内のデータに基づいてユーザに情報を表示する補助デバイスと、
前記メインコンピュータシステムの他のデータ供給源からデータを受け取る、前記補助デバイスに結合されたメカニズムと
を含み、前記補助デバイスは、新しい情報は前記補助デバイスのディスプレイについて使用可能になるように、前記オフラインキャッシュを更新するために前記他の供給源から受け取ったデータを処理する
ことを特徴とするシステム。
【請求項２７】
前記補助デバイスは、前記新しい情報の少なくとも一部を含むイメージを表示することを特徴とする請求項２６に記載のシステム。
【請求項２８】
前記新しい情報は、バッテリ関連情報を含むことを特徴とする請求項２６に記載のシステム。
【請求項２９】
前記新しい情報は、ネットワーキング情報を含むことを特徴とする請求項２６に記載のシステム。
【請求項３０】
前記新しい情報は、頻繁に変化する可能性があるコンテンツを含むことを特徴とする請求項２６に記載のシステム。
【請求項３１】
前記新しい情報は、ニュースデータ、スポーツデータ、気象データ、金融データ、およびビッディング関連データを含むコンテンツデータの組の少なくとも１タイプのコンテンツデータを含むことを特徴とする請求項２６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはコンピュータシステムに関し、具体的には、コンピューティングデバイスの情報を表示する改善された方法およびシステムに関する。
【背景技術】
【０００２】
ラップトップ機および他のモバイルデバイスを用いると、ユーザが、様々な位置で働けるようになり、ユーザにとって非常に便利である。しかし、モバイルデバイス、特に通常は移動中にリッドが閉じられるラップトップ機は、しばしば、位置の間で移動する場合にパワーダウンされる。その結果、デバイスの関連データへのアクセスは、ラップトップリッドを開き、パワーアップを待ち、所望の情報までナビゲートすることを必要とする。これは、特に、所望のデータが、会議の部屋番号などの単純な物である場合に、時間がかかり、より望ましくないユーザ経験である。
【０００３】
米国特許仮出願第１０／４２９９３０号明細書および米国特許仮出願第１０／４２９９３２号明細書は、全般的に、あるコンピューティング機能性を提供する、補助処理メカニズムおよび補助メカニズム、特にディスプレイ関連メカニズムを有するコンピュータシステムの概念を対象とする。たとえば、ラップトップコンピュータのリッドまたは側面の小さいＬＣＤが、その所有者に、会議の場所および時刻など、有用な情報を与えることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、そのような補助ディスプレイは、これまで、専用の補助ディスプレイプログラムが、表示できる情報に関してカスタマイズされる、狭い限られた動作に制限されてきた。たとえば、会議情報が望まれる場合に、ユーザは、補助ディスプレイプログラムが、現在の会議に関する特定のタイプのデータならびに関連データを表示するようにプログラムされている場合に限って、その情報を見る。さらに、表示されるデータのすべてが静的であり、データに対する変更のすべてが、その変更を得るためにコンピュータをパワーアップ状態に戻すことを必要とする。
【０００５】
必要な物は、コンピュータシステムのメインオペレーティングシステムの下で走るアプリケーションが、コンピュータシステムが実質的にパワーダウンされている場合など、新しいデータが使用可能になり、メインディスプレイがすぐにアクセス可能でないか全くアクセス可能でない時を含めて、コンピュータシステムの補助ディスプレイでの表示用の適当なデータを供給する形である。
【課題を解決するための手段】
【０００６】
短く言うと、本発明は、メインコンピュータシステムに関連する補助デバイスで新しいデータを受け取り、補助デバイスファームウェア内でその新しいデータを処理して、あるアクションを行うメカニズムを提供する。データの受け取りおよび処理は、メインコンピュータシステムがパワーアップ状態（オンライン）またはパワーダウン状態（オフライン）のどちらであるかに独立である。たとえば、補助ディスプレイデバイスは、キャッシュからのデータをユーザに提示することができ、新しいデータを使用して、キャッシュ内のデータを更新し、または増補することができる。これは、メインコンピュータシステムがオンラインであり、補助デバイスで表示できる他のデータを供給している場合に、またはメインコンピュータシステムがオフラインであり、メインコンピュータシステムのアプリケーションデータの供給源のサブセットとしてキャッシュだけが使用可能である場合に、行うことができる。要するに、補助デバイスは、複数の供給源からデータを受け取り、メインコンピュータシステムをこれらの供給源の１つと考える。
【０００７】
オフライン動作では、キャッシュで、構造化ナビゲーション情報に関連してユーザアプリケーションデータが維持され、これによって、ユーザが、たとえばデータのページを見るなど、データの間でナビゲートすることができる。メインＣＰＵ、オペレーティングシステム、およびアプリケーションプログラムがオンラインである場合に、これらは、データキャッシュを作り、ファームウェア内の補助ストレージなど、補助デバイスによってアクセス可能なメディアに転送する。
【０００８】
キャッシュは、メインＣＰＵ、オペレーティングシステム、およびアプリケーションプログラムを用いることなく、補助デバイスによって受け取られる新しいデータを用いて更新することができる。データは、補助プロセスで処理されるので、新しいデータは、メインＣＰＵ、オペレーティングシステム、およびアプリケーションプログラムが走っているかどうかに無関係に、補助デバイスから使用可能である。したがって、新しいデータは、オンライン状態のアプリケーションプログラムデータを補足し、オフライン状態でキャッシングされアタプリケーションプログラムデータのツリーに追加し、かつ／またはツリー内の何かを置換もしくは除去することができる。一実施形態で、キャッシュは、ツリー構造として配置され、これによって、新しい情報は、そのデータをキャッシングされたプログラムに関係しない場合に新しい枝に追加され得、関連データが既にキャッシュ内にある場合にキャッシュデータを更新することができる。
【０００９】
新しいデータの供給源に、ファームウェアへの無線接続または有線接続によって受け取られるリモートデータが含まれる。データ供給源の他の例に、メインコンピュータシステムコンポーネント（ＣＰＵ、オペレーティングシステム、および類似物）がオフラインである間に動作し続ける、バッテリコントローラまたはネットワークカードなどのメインコンピュータハードウェアのいずれかが含まれる。受け取られたデータを処理して、補助ディスプレイを更新するか、メインコンピュータシステムをウェイクアップするなど、他のアクションを実行することができる。
【００１０】
他の利益は、図面と共に理解される場合に、次の詳細な説明から明白になる。
【発明を実施するための最良の形態】
【００１１】
例示的オペレーティング環境
図１は、本発明を組み込むことができる普通のパーソナルコンピュータシステムの形のコンピューティングデバイス１２０を表すブロック図である。当業者は、図１に示されたパーソナルコンピュータシステム１２０が、単に例示的であることを意図されていることと、本発明を、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルなコンシューマ電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、ヘッドレスサーバ、および類似物を含む他のコンピュータシステム構成と共に実践できることを諒解するであろう。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールを、ローカルおよびリモートの両方のメモリストレージデバイスに配置することができる。
【００１２】
パーソナルコンピュータシステム１２０に、処理ユニット１２１、システムメモリ１２２、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニット１２１に結合するシステムバス１２３が含まれる。システムバス１２３は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む複数のタイプのバス構造のいずれかとすることができる。システムメモリに、読取専用メモリ（ＲＯＭ）１２４およびランダムアクセスメモリ（ＲＡＭ）１２５が含まれる。スタートアップ中などにパーソナルコンピュータ１２０内の要素の間での情報の転送を助ける基本ルーチンを含む基本入出力システム１２６（ＢＩＯＳ）が、ＲＯＭ  １２４に保管される。パーソナルコンピュータ１２０に、さらに、図示されないハードディスクから読み取り、これに書き込むハードディスクドライブ１２７、取外し可能磁気ディスク１２９から読み取り、これに書き込む磁気ディスクドライブ１２８、ＣＤ−ＲＯＭまたは他の光学メディアなどの取外し可能光学ディスク１３１から読み取り、これに書き込む光学ディスクドライブ１３０を含めることができる。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、および光学ディスクドライブ１３０は、それぞれ、ハードディスクドライブインターフェース１３２、磁気ディスクドライブインターフェース１３３、および光学ドライブインターフェース１３４によってシステムバス１２３に接続される。ドライブおよびそれに関連するコンピュータ可読メディアは、パーソナルコンピュータ１２０に、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。本明細書に記載の例示的コンピュータシステムでは、ハードディスク、取外し可能磁気ディスク１２９、および取外し可能光学ディスク１３１を使用するが、当業者は、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、および類似物などのコンピュータによってアクセス可能なデータを保管できる他のタイプのコンピュータ可読メディアも、例示的コンピュータシステムで使用できることを諒解するであろう。
【００１３】
オペレーティングシステム１３５（Ｗｉｎｄｏｗｓ（登録商標）ＸＰなど）、１つまたは複数のアプリケーションプログラム１３６（Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｏｕｔｌｏｏｋなど）、他のプログラムモジュール１３７、およびプログラムデータ１３８を含む複数のプログラムモジュールを、ハードディスク、磁気ディスク１２９、光学ディスク１３１、ＲＯＭ  １２４、またはＲＡＭ  １２５に保管することができる。ユーザは、キーボード１４０およびポインティングデバイス１４２などの入力デバイスを介して、パーソナルコンピュータ１２０にコマンドおよび情報を入力することができる。他の入力デバイス（図示せず）に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、または類似物を含めることができる。これらおよび他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインターフェース１４６を介して処理ユニット１２１に接続されるが、パラレルポート、ゲームポート、またはｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）などの他のインターフェースによって接続することができる。モニタ１４７または他のタイプのディスプレイデバイスも、ビデオアダプタ１４８などのインターフェースを介してシステムバス１２３に接続される。モニタ１４７の他に、パーソナルコンピュータに、通常はスピーカおよびプリンタなどの他の周辺出力デバイス（図示せず）が含まれる。補助ディスプレイ２００は、追加出力デバイスであり、たとえば、補助ディスプレイインターフェース１５５を介してシステムバス１２３に接続することができる。補助ディスプレイ２００は、シリアルインターフェースを介して、または、パラレルポート、ゲームポート、赤外線接続、無線接続、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）、または他の周辺デバイス接続などの他のインターフェースによって、コンピューティングデバイス１２０に接続することもできる。図１の入力デバイス２０１は、補助ディスプレイ２００とインターフェースし、かつ／またはこれを制御する１つまたは複数のアクチュエータを提供することができ、たとえば、入力デバイスインターフェース１５６を介してシステムバス１２３に接続することができ、入力デバイスインターフェース１５６は、シリアルインターフェースとするか、パラレルポート、ゲームポート、赤外線接続、無線接続、ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）、または他の周辺デバイス接続などの他のインターフェースによる物とすることができる。
【００１４】
パーソナルコンピュータ１２０は、リモートコンピュータ１４９などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータ１４９は、もう１つのパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、パーソナルコンピュータ１２０に関して上で説明した要素の多くまたはすべてを含むが、図１には、メモリストレージデバイス１５０だけを示した。図１に示された論理接続に、ローカルエリアネットワーク（ＬＡＮ）１５１および広域ネットワーク（ＷＡＮ）１５２が含まれる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれた物である。
【００１５】
ＬＡＮネットワーキング環境で使用される場合に、パーソナルコンピュータ１２０は、ネットワークインターフェースまたはネットワークアダプタ１５３を介してローカルエリアネットワーク１５１に接続される。ＷＡＮネットワーキング環境で使用される場合に、パーソナルコンピュータ１２０に、通常は、インターネットなどの広域ネットワーク１５２を介する通信を確立する、モデム１５４または他の手段が含まれる。モデム１５４は、内蔵または外付けとすることができるが、シリアルポートインターフェース１４６を介してシステムバス１２３に接続される。ネットワーク化された環境では、パーソナルコンピュータ１２０に関して図示したプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに保管することができる。図示のネットワーク接続が例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることを諒解されたい。
【００１６】
本発明に従って補助ディスプレイが働くために、コンピュータシステムが完全に動作する必要がないことに留意されたい。実際に、図６に関して下で説明するように、補助ディスプレイは、コンピュータシステムがスリープ状態またはハイバネーションモードである場合、および／またはユーザがまだログオンしていないか、他の形でセキュリティメカニズムを介してシステムからロックアウトされている場合など、コンピュータがパワーダウンされている場合でも、少なくともデフォルトの範囲またはユーザによって構成される範囲まで働くことができる。たとえば、ユーザは、コンピュータシステムがパワーダウンされている場合でも、パーソナルコンピュータに一体化された電話受話器およびスピーカホンが普通の機器として働くことを求め、発呼者ＩＤデバイスとして補助ディスプレイを使用することを求める可能性がある。このデバイスは、コンピュータシステムが完全にはパワーアップされなかった場合を含めて、着呼をログ記録するなど、コンピュータがもう一度パワーアップされた場合に、後でコンピュータシステムに送るためにデータを保管することもできる。
【００１７】
補助ディスプレイは、メインディスプレイを補足することができ、メインディスプレイがシャットダウンされるか他の形で動作しない（たとえば切断された）場合に、ユーザにある情報を与えるために代理ディスプレイとして働くこともできる。たとえば、メインディスプレイをパワーアップする方法などの情報が役に立つ可能性があり、メインディスプレイがオフであり、かつ／または簡単に可視でない（たとえば、ラップトップ機のリッドが閉じられている）場合にユーザが見ることのできるモバイルコンピュータに接続された補助ディスプレイデバイスの会議の部屋番号および／または道順もそうである。継続的に可視のスクリーンを有するタブレットＰＣであっても、電力を節約するためにメインディスプレイをシャットダウンすることができ、これによって、補助ディスプレイがかなりの利益を提供できるようになる。ユーザが、コンピュータシステムの状態に基づいてディスプレイの範囲を制限することができ、たとえば、ユーザがログインしていない場合に、ある機密でないか非常に特に制御された情報だけを表示することなどができることに留意されたい。
【００１８】
これらのパワーダウンモードでの通信を可能にし、制御するために、不揮発性メモリに保管され、副プロセッサによってロードされ実行される場合に、ある電力が使用可能である限り、使用される他の補助コンポーネントと共に補助ディスプレイをイネーブルするファームウェアが存在することができる。本明細書で使用される用語「ファームウェア」が、一般に、補助メモリ、その中のコード、および／またはそれが動作する副プロセッサを表すと考えることができることに留意されたい。
【００１９】
図２Ａから２Ｅに、補助ディスプレイスクリーン２００ａから２００ｅの配置に関する、コンピューティングデバイス上またはコンピューティングデバイスに関連する例示的な位置を示す。図２Ａおよび２Ｂからわかるように、補助ディスプレイスクリーン２００ａを、独立型の（陸線または携帯）電話機２０２の前面、背面、または他の表面に置くことができ（Ｂｌｕｅｔｏｏｔｈテクノロジを介するなど、他の形でリンクされる場合に物理的に結合される必要はない）、かつ／または、別の補助ディスプレイスクリーン２００ｂを、モバイルコンピュータ２０４またはタブレットコンピューティングデバイス（図示せず）の縁またはリッドに置くことができる。補助ディスプレイスクリーン２００ｃ（図２Ｃ）のもう１つの場所は、コンピュータに取り付けられる電話機上あるいはモニタ２０６またはキーボード（図示せず）などのコンピュータに取り付けられる周辺デバイス上とすることができる。図２Ｄおよび２Ｅに、コンピュータに接続された独立型コンソール２０８の前面パネル上または他のハウジング２１０（マザーボードのハウジングなど）上の、補助ディスプレイスクリーン２００ｄおよび２００ｅの追加の配置を示す。コンピュータへの無線接続または他の接続を有する時計、リモートコントロールデバイス、またはリモート壁掛けユニットなどに配置されるなど、コンピューティングデバイスまたは表示機能性を有する他のデバイスの表面に補助ディスプレイスクリーンを置くことができることを、当業者は諒解するであろう。
【００２０】
図２Ａから２Ｅからわかるように、補助ディスプレイは、１つまたは複数のＬＥＤ、２行英数字ディスプレイ、白黒ディスプレイ、またはカラーディスプレイなどの任意の個数の既知のタイプのディスプレイの形とすることができる。本発明が、補助ディスプレイ２００としての他のコンピューティングデバイスまたは通信デバイスのディスプレイも使用できることを、当業者は諒解するであろう。これらの他のコンピューティングデバイスまたは通信デバイスに、汎用コンピュータ、セル電話機、および、ポケットベルまたは携帯情報端末（ＰＤＡ）などのハンドヘルドデバイスが含まれる。さらに、本発明は、ユーザがログインする前を含めて、補助ディスプレイ２００として、コンピューティングデバイス１２０のオンスクリーンディスプレイの区域内で実施される仮想補助ディスプレイ（たとえば、スクリーンセーバまたはグラフィカルユーザインターフェースのコンポーネント）を使用することができる。補助ディスプレイ２００に、上で説明した形のいずれかの組合せを含めることができ、補助ディスプレイ２００を、１つまたは複数のＬＥＤなどのインジケータと物理的にまたは論理的に組み合わせ、かつ／または仮想補助ディスプレイと共に使用することもできる。
【００２１】
スクリーンがなくても、アクティビティの発生に関する通知のための補助ディスプレイ２００として、１つまたは複数のＬＥＤを有利に使用することができる。そのような補助ディスプレイは、低コスト低電力消費で実施することができ、控え目な形で通知を提供することができる。これは、極端に小さいフォームファクタを有するシステムまたはユーザのための通信が別の人によって管理されるシステムに効果的に使用することができる。補助ディスプレイ２００は、さらに、通知を遠くから見る必要がある場合に効果的になる可能性がある。補助ディスプレイは、新しい電子メールメッセージの通知など、アクティビティに関連する情報コンテンツがある場合に、オンスクリーン仮想補助ディスプレイとあいまって使用することもできる。この場合に、電子メールからの内容を、仮想補助ディスプレイ２００に表示することができる。さらに、内容の表示が望ましくない場合に、公衆システム（図書館またはキオスク）または共有されるコンピュータについて、補助ディスプレイ２００を効果的に使用することができる。
【００２２】
その代わりに、コストまたはスペースがクリティカルであるが、通知および基本的内容が望まれる場合に、２行英数字ディスプレイを補助ディスプレイ２００として有利に使用することができる。これは、タブレットＰＣ、ラップトップ機、バジェットＰＣ、電話ドッキングステーション、モニタベゼル、および、受話器、キーボードまたはリモートコントロールなどの小さく低コストのＰＣ機器または周辺機器に効果的に使用することができる。これは、発呼者ＩＤボックスの置換物（およびこれに対する改善）としても効果的に使用することができる。
【００２３】
さらに、メディアリッチアプリケーション、ハイエンドコンシューマシステム、またはメディアセンタシステムに、白黒またはカラーの複数行ディスプレイを補助ディスプレイ２００として有利に使用することができる。これは、より大きいフォームファクタを有するハイエンドラップトップ機に、または、通信が強調される場合、ビジネスまたは通信を強く強調されたフル機能ＰＣ、メディアセンタ機器またはハイエンドメディア機器（ポータブルメディア機能を有するリモートコンソールシステムを含む）およびモバイル補助ディスプレイに、効果的に使用することができる。さらに、ユーザがＰＣを使用する場合に補助デバイスの役割を拡張できる場合に、別のコンピューティングデバイスまたは通信デバイスのディスプレイを補助ディスプレイ２００として有利に使用することができる。これらの他のコンピューティングデバイスまたは通信デバイスに、汎用コンピュータ、セル電話機、および、ポケットベルまたは携帯情報端末（ＰＤＡ）などのハンドヘルドデバイスが含まれる。さらに、補助ディスプレイが、実際のディスプレイである必要はなく、情報の投射（たとえば壁への）とすることができることに留意されたい。本明細書で称する補助ディスプレイは、視覚表現、聴覚表現、および／または触覚表現のすべてを含む、感知することができる本質的にすべての物からなる物とすることができる。
【００２４】
前に述べたように、仮想補助ディスプレイは、公衆システム（図書館またはキオスク）または、内容の表示が望ましくない場合の共有されるコンピュータの補助ディスプレイ２００として使用することができる。これは、低コストシステムまたは、ＬＥＤさえ非実用的になる非常に最小限のフォームファクタを有するデバイスに効果的に使用することもできる。仮想補助ディスプレイは、スクリーンセーバとしてまたはグラフィカルユーザインターフェースのコンポーネントとして実施することができる。
【００２５】
入力デバイス２０１は、下ではアクチュエータ（ボタンまたはポインティングデバイスなどの単一のメカニズムだけである場合であっても複数形）と称するが、ユーザに、電子メール通知、ボイスメール通知、カレンダ通知、システム状況通知、発呼者ＩＤリスト、および他のタイプの通知メッセージなどのアプリケーションデータまたは通知の異なるカテゴリの間で切り替えるメカニズムを与える。そのようなスイッチボタンに、ユーザが特定のカテゴリ内の通知メッセージの中で前後にスクロールできるようにするアップボタンおよびダウンボタンも付随させることができる。当業者は、キーボード、マイクロホン、ジョイスティック、ゲームパッド、または、バイオメトリックセンサ、環境センサ、位置センサ、もしくは他のタイプのセンサを含むデバイスを含む他のデバイスなどのすべての他のタイプのアクチュエータを使用できることを諒解するであろう。図１に示されたコンピューティングデバイス１２０の入力デバイスのいずれかを、入力デバイス（アクチュエータ）２０１として使用することができ、独立のアクチュエータと共に使用することができる。
【００２６】
オフライン補助ディスプレイ動作のためのキャッシング
理解されるように、本発明は、ユーザが単純に素早く補助情報を見るための補助ディスプレイ２００を提供する。本発明と調和して、ユーザは、アプリケーションプログラムデータの中で補助デバイスに提示できる物を選択するためにアクチュエータ２０１を使用することによって、ある範囲まで、どの情報が補助ディスプレイに現れるかを選択することができる。プログラムデータおよびイベント通知を使用して、情報の補助表示を示すことができるが、本発明が、トランザクションサービス、オークションサービス、宣伝サービス、エンターテイメントサービス、およびロケーションサービスを含むインターネット関連サービスからのデータなど、他のタイプの情報の補助表示を提供できることを理解されたい。そのようなサービスは、金融トランザクション情報、見出しまたは他のニュース、株式市況、スポーツスコア、オークションまたは他のビッディング状況、気象データおよび、ユーザによって具体的に要求される情報および求められていない情報を含む他の情報を含む様々な情報を提供することができる。補助ディスプレイ２０１が、通知ライトのセット、２行英数字ディスプレイ、白黒ディスプレイ、またはカラーディスプレイなどの任意の個数の既知のタイプのディスプレイを使用して動作できることも諒解されたい。本明細書で使用される説明を単純にするための「補助ディスプレイデバイス」が、一般に、補助ディスプレイスクリーンおよび／またはそのスクリーンに関連するアクチュエータならびにデバイス内の他のハードウェア、ファームウェアまたはソフトウェアを指すことに留意されたい。しかし、スクリーンおよびアクチュエータを独立のメカニズムとすることができること、および／またはデータを入力するために物理的接触を必要とするアクチュエータがない場合があることを理解されたい。さらに、補助ディスプレイデバイスを、ピクセルタイプディスプレイスクリーンの代わりにまたはこれに加えて多分インジケータ（たとえば個々のＬＥＤ）を含むと考えることができることに留意されたい。
【００２７】
本発明の態様によれば、本発明は、メインＣＰＵ／オペレーティングシステムおよびアプリケーションプログラムが動作していない時すなわちシステムがオフラインである場合であるが、補助デバイスが動作している場合の補助ディスプレイの使用を容易にする。オフライン補助システムコンポーネントが、補助プロセッサと実行可能コードおよびデータを含む補助メモリとを含むファームウェアで実施されることに留意されたい。オフライン動作を達成するために、オンラインの場合に、メインＣＰＵ／オペレーティングシステムおよびアプリケーションプログラムは、データキャッシュおよび他の情報を準備し、これが、その後、オフラインでの使用のためにファームウェア内の補助ストレージに転送される。
【００２８】
転送は、パワーダウン（たとえば、シャットダウン／スリープ／ハイバーネート時）でのキャッシュのフル転送とすることができ、あるいは、同期化だけ（フルデータ転送ではなく）がパワーダウン時に要求されるなど、バックグラウンドプロセスまたは類似物によって部分的に実行することができる。さらに、デスクトップ機などのコンピュータデバイスは、そのようなキャッシュをアクセス可能にするために、パワーダウン状態に入ってはならない。たとえば、バックグラウンドプロセスまたは手動で開始される動作を介して、キャッシュを作ることができる。キャッシュが、リモートからアクセス可能である場合に、ユーザは、キャッシングされた補助情報へのリモートアクセスを有し、転送は、コンピュータデバイスをパワーダウンする必要なしに、リモートデバイスに対して行うことができる。したがって、コンピュータなしであるが、メインコンピュータのキャッシュデータにリモートアクセスするように構成されたスマートホンなどの別のデバイスを有する、会議に出かけるユーザを考慮されたい。キャッシュのゆえに、そのようなリモートユーザは、リモートデバイスを介してキャッシュをリモートから見、ナビゲートすることができ、これは、キャッシュのゆえにシステムの補助ディスプレイである。
【００２９】
図３で全般的に表されているように、階層化アーキテクチャが設けられ、これによって、１つまたは複数のアプリケーションプログラム３０２が、事実上すべてのタイプの補助ディスプレイデバイスとインターフェースして、そのディスプレイ２００にデータを出力し、および／またはアクチュエータ２０１を介してユーザと対話することができる。このために、前述の関連する米国特許出願、名称「Ａｕｘｉｌｉａｒｙ  Ｄｉｓｐｌａｙ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ」に全般的に記載されているように、ソフトウェアの独立のアーキテクチャ的層を有するアーキテクチャが提供される。この関連米国特許出願では、層が、一般に、図３と同一の順序で示されているが、多少任意であるコンポーネントのグループ化が、本明細書の図３とわずかに異なる可能性があることに留意されたい。どの場合でも、図３では、サービスを、アプリケーション層３０２がサービス層３０４の上にあり、プロトコル層３０６がサービス層３０４の下にある、独立の層３０４と見なすことができる。
【００３０】
図３で表される実施形態では、４つの層が存在し、それぞれがインターフェースによって分離される。具体的に言うと、アプリケーション層３０２、サービス層３０４、およびプロトコル層３０６の他に、図３に、ファームウェア層３０８が示されている。下で説明するように、これらの層は、単純なメカニズムを提供し、このメカニズムによって、アプリケーションプログラムが、コンピュータに電力を与える必要なしに（かつ／またはラップトップ機またはカバーされたタブレット機の場合にメインディスプレイスクリーンを見るために開く必要なしに）関連するキャッシングされた情報への簡単なアクセスをユーザに提供する構造化された形でのキャッシングのために補助データを提供することができる。
【００３１】
図４に、層および様々なインターフェースのいくつかを詳細に示す。一般に、アプリケーション層３０２は、アプリケーションプログラミングインターフェース（ＡＰＩ）として、管理されたネイティブインターフェースを提供し、このＡＰＩは、下で説明するように、たとえばツリーフォーマットまたは他の適当な構造の、構造化されたキャッシュの作成を容易にする。アプリケーション層３０２の目標の１つは、構造化されたキャッシュの詳細に対する抽象化を提供し、その結果、アプリケーションプログラムが、データを特定の構造にあてはめるのではなく、データを供給することだけを必要にすることである。
【００３２】
アプリケーション層３０２は、開発者が解決策を作るためのインターフェースを提供するが、サービス層は、補助情報を提示することのある態様すなわち、アービトレーション、割込み、およびキャッシュ作成に対処する。アービトレーション（前述の米国特許仮出願、名称「Ａｕｘｉｌｉａｒｙ  Ｄｉｓｐｌａｙ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ」に全般的に記載されている）および割込みサポートは、補助リソースの共有を可能にするフレームワークを提供する。
【００３３】
本発明の態様によれば、キャッシュ作成は、オフライン経験用のアプリケーションデータを構造化するメカニズムである。図５を参照して下で説明するように、サービス層は、コンテキストおよび構造情報を保存する形でキャッシュを作り、その結果、ファームウェアが、オンライン動作状態から完全に分離される場合にデータをナビゲートできるようにする。下でさらに説明するように、一実施形態で、サービス層は、内容サイズが補助デバイスファームウェアの割り当てられたストレージ容量を超える場合にデータ構造を枝刈りする責任も負う。
【００３４】
図４に表されているように、アプリケーション層３０２および補助ディスプレイサービス層３０４は、アプリケーションプログラム４０２（または関連するアプリケーションプラグイン）が補助ディスプレイ層３０４のサービス登録コンポーネント４０４にそれ自体を登録する補助登録を含む様々な構造および機能性を使用可能にする。図４の例の実施形態では、サービス登録コンポーネント４０４が、このためにＩＡｕｘＡｐｐＲｅｇインターフェースを提供する。他のアプリケーションプログラムは、同様にこのインターフェースを介してそれ自体を登録することができる。
【００３５】
登録されたならば、補助アプリケーション４０２は、関連する補助ディスプレイデバイスおよび／または関連するリソースからイベントを受け取る能力を有する。たとえば、補助デバイスが使用可能になった時にイベントを補助アプリケーションコンポーネント４０２に送ることができ、別のイベントが、補助デバイスアクチュエータとのユーザ対話に対応することができる。図４に示された例の実施形態では、アプリケーションプログラムが、そのようなイベントを受け取るためにＩＡｕｘＡｐｐＳｉｎｋインターフェースを実装し、公開する。
【００３６】
アプリケーションプログラム４０２は、使用可能な補助ハードウェアデバイスまたは使用可能なデバイスを列挙する能力も有する。図４の例の実施形態では、補助デバイスサービス３０６内のメディエータ（ｍｅｄｉａｔｏｒ）コンポーネント４０６が、ＩＡｕｘＭｅｄｉａｔｏｒインターフェースを介して列挙を提供する。この形で、デバイスまたはデバイスに関連するデータ（たとえば対応するＸＭＬファイル）が、デバイスディスプレイスクリーンまたは類似物および／またはそのアクチュエータの機能をアプリケーションプログラム４０２に報告することができる。アプリケーションプログラム４０２は、ディスプレイに従って入出力を調整することができ、たとえば、カラースキーム、解像度、ナビゲーションコマンドなどを、デバイス特性のために変更することができる。
【００３７】
アービトレーションも、ＩＡｕｘＭｅｄｉａｔｏｒインターフェースを介してサービス層のメディエーションコンポーネント４０６で提供されて、どのアプリケーションプログラム４０２がそのデータを現在表示されなければならず、ナビゲーションコマンドを受け取らなければならないかを決定するメカニズムが提供される。複数のアプリケーションプログラムが、適当にディスプレイを交替で共有する、言い換えると、メディエーションのアービトレーション機能が、補助アプリケーションプログラムおよび／またはプラグインの優先順位（ｚ順）を管理することに留意されたい。
【００３８】
プロトコル層３０６は、抽象化を作成し、この抽象化を介して、サービス層３０４が、補助デバイスにデータを送り、補助デバイスからデータを受け取る。したがって、プロトコル層３０６は、あるレベルのハードウェア独立性を維持するのを容易にする。サービス層は、デバイスにデータを通信するために、ＩＡｕｘＤｅｖｉｃｅインターフェースを介してディスプレイに書き込むか、インジケータの状態をセットすることができる。
【００３９】
プログラムが、ディスプレイに書き込み、そのアクチュエータを介してコマンドを受け取ることを許可されたならば、補助システム参照が、現在選択されている補助アプリケーション（たとえばプラグイン）コンポーネント４０２がディスプレイリソースを使用することを可能にする、抽象化されたメモリバッファにブリット／レンダリングする能力を提供するメカニズムの１つである。オフラインキャッシングを許容しない実施形態では、メディエータが、補助デバイスインターフェースへの参照ポインタを補助アプリケーションに渡し、アプリケーションプログラムに、その後、ディスプレイおよび／またはインジケータにディスプレイデータを供給するためにこのインターフェースを直接に呼び出させることができる。これは、オフライン対応モデルでも実現可能であるが、その場合に、アプリケーションは、データを構造化する責任を負い、これは、本明細書で全般的に望まれる物とまったく同一のレベルの抽象化である。したがって、図４の例の実施形態では、アプリケーションプログラムが、サービス層（メディエータインターフェース）を介してそのデータを渡し、その結果、サービス層が、オフラインキャッシング用にコードを構造化できるようになる。オンラインで動作する場合にキャッシュと同一の構造を使用することができるが、オンラインの場合にキャッシュを送るのではなく、その代わりにキャッシュへのポインタをプロトコル／ファームウェア層に送ることができ、その結果、補助デバイスが、キャッシングされたデータのフルセットを受け取ったり、規則的にキャッシングされたコピーを同期化するのではなく、現在の瞬間に表示に必要なデータだけを入手できるようになる。
【００４０】
すぐに諒解されるように、様々な層は、包括的で拡張可能なアーキテクチャで補助機能性を提供する。プラグ可能（ｐｌｕｇｇａｂｌｅ）アーキテクチャは、低レベル要件の理解または処理を必要とせずに、補助リソースを使用できるアプリケーションによる書き込みを容易にする。
【００４１】
本発明の態様によれば、関連アプリケーションデータおよび他の情報が、補助ディスプレイデバイスによる使用のためにキャッシングされる。全般的な目標は、アプリケーションがキャッシングされる情報を提供する単純な方法論の提供と共に、情報を素早くアクセス可能なストアにキャッシングすることである。このために、一実施形態で、データを、ツリーフォーマット（構造化キャッシュツリーと称する）に構造化し、構造化キャッシュツリーを構築する単純なプリミティブを提供する。この実施形態では、構造化キャッシュツリー（またはツリーサブセット）の収集、ファームウェアへのツリーの転送、およびメインコンピュータがパワーダウンされている場合のツリーデータとのファームウェアによる相互作用が、補助ディスプレイのオフライン使用を容易にするメカニズムを提供する。
【００４２】
図５は、オンライン専用のコンポーネントおよびデータと、メインシステムがオンラインである場合にオンラインコンポーネントと共に働くことができ、メインシステムがオフラインの場合に補助ディスプレイを操作する、オフライン（ファームウェア）コンポーネントおよびデータとの間の分割を表す。オンラインの場合に、図５に示されたオフラインコンポーネントおよびデータが、必ずしも存在しないかアクティブでないことに留意されたい。たとえば、オンラインの場合に、オンライン相互作用マネージャ（図示せず）が、ユーザ入力（たとえばナビゲーションコマンド）の大半を動作中のアプリケーションプログラムに送り、これにょってオフライン相互作用マネージャ５０８がアクティブになる必要をなくすことによって、アクチュエータとのユーザ対話を処理する。また、図５に示されたキャッシュおよび他の転送されるデータは、オンラインからオフラインへの遷移まで補助ストレージ５１０に転送しないことができるが、スピードのためには、すべてのデータの転送ではなく、上で述べたように、データの一部を、時々補助ストレージにコピーし、オンラインからオフラインへの遷移の時に同期化することができる。
【００４３】
図５からわかるように、オンラインアプリケーションデータ５０２が、キャッシングメカニズム５０４によって、補助ディスプレイを使用する各アプリケーションプログラムをそのデータについてポーリングすることなどによって収集される（動作していないが、そのデータとのオフライン対話の必要をユーザが示したアプリケーションを、起動してデータを得ることができる）。オンラインの場合に補助ディスプレイデバイスを使用するすべてのアプリケーションが、オフラインの場合にそれを使用するように構成されない場合があり、オフラインデータ表示についてアプリケーションを構成する場合にオフライン限度をセットすることによるなど、オフラインの場合に異なる形で補助デバイスを使用する場合があることに留意されたい。たとえば、補助ディスプレイは、オンラインの場合に任意の数のメッセージをスクロールすることができるが、アプリケーションは、オフラインスクロールについてあるデフォルトのまたはユーザ構成可能な（たとえば２０個の）メッセージしか作らない場合がある。
【００４４】
ユーザは、システムを構成して、どのアプリケーションプログラムがオフライン表示のためにキャッシュにデータを供給するかを制御することができる。たとえば、ユーザが、オフライン表示のために電話番号、電子メールメッセージ、タスク、およびカレンダデータをキャッシングすることを望むが、他のプログラムのデータを望まない場合がある。たとえば、オンラインアプリケーションが、株式市況を表示するために補助ディスプレイを使用する可能性があっても、ユーザが、すぐに古くなるそのようなデータのキャッシングが、データに関するストレージスペースの浪費になるので、補助表示に関して株式市況がキャッシングされることを望まない場合がある。
【００４５】
ユーザは、各アプリケーションが、そのデータのために取得するストレージの量を構成することもでき、オフラインストレージに関するルールを用いてアプリケーションを構成することができる。その代わりに、アプリケーションプログラムが、多すぎるデータをキャッシュに供給する場合に、アルゴリズム（下で説明する）が、ツリーからデータを枝刈りし、あるアプリケーションのデータが使用可能以上のスペースを使用する場合に、別のアプリケーションの割振りからの余りをそのアプリケーションに使用する。余剰データの再配分は、ユーザ指定の優先順位の順序付けに基づいて、たとえば、ホームページにリストされた最初のアプリケーション（リスト順序はユーザ構成可能である）に、次に、すべてが必要ではない場合に次にリストされたアプリケーションなどに、与えられる。
【００４６】
前に述べたように、収集動作は、パワーダウンされる場合に行うことができ、あるいは、ある範囲まで進行中とし、オフラインへの遷移の時に同期化を実行することができる。枝仮は、必要に応じて、データ枝刈りメカニズム５０６によって実行して、使用可能なストレージをアプリケーションの間で分割し、使用可能なスペースの量に合わせてそれぞれの必要に応じてデータをトリミングする。どの場合でも、図５の例の実施形態では、結果が、ツリー構造を介してナビゲートできるオフラインデータの構造化キャッシュ５１２である。
【００４７】
アプリケーションが、ユーザにナビゲーションデータ以上の物を提供したがる場合がある。たとえば、カレンダプログラムは、ある日時に自動的に表示される会議のリマインダなどのデータを提供したがる場合がある。定期的にオフラインキャッシュツリーをウォークしてそのようなイベントを探すことは非効率的なので、時間ベースの割込みをトリガするなどの情報を、時刻および行われるアクションのリストとして（多分、１回ウォークするだけでそれを見つけられるツリーを介して、しかし、別々のデータであることが好ましい）ファームウェアに転送することができる。図５に表されているように、ファームウェアは、そのような時刻ベース割込み５１４をセットアップすることができ、各識別されたタイマ割込みが発生する場合に行われるアクションを、タイマＩＤ対アクションテーブル５１６または類似物に保管することもできる。この形で、たとえば、特定のリマインダを、正しい瞬間に表示でき、１つまたは複数のインジケータを、光らせるか点滅させることなどができる。
【００４８】
セットアップされ、転送され、メインコンピュータがパワーダウンされたならば、マイクロコントローラ５２０および補助ストレージは、補助ディスプレイ２００およびアクチュエータ２０１の完全な制御を握る。オフラインシェルプログラム５２０は、ナビゲーションが基づくホームページを、時刻ベースイベントおよび類似物を処理する論理と共に提供することができる。オフラインシェルプログラム５２０は、オフライン相互作用マネージャ５０８と共に、オフラインキャッシュを通るナビゲーションを処理し、多分、たとえばバッテリ残量が少ない場合に特定のメッセージを表示するなど、非手動アクチュエータに応答してディスプレイの状態を変更する。
【００４９】
図６に、３つのアプリケーションプログラムを表すノード６０１から６０３がシェル（ホーム）ノード６０４の下にある、単純なツリー構造を示す。３つのアプリケーションプログラムが示されているが、任意の個数（使用可能なストレージスペースに関する）のアプリケーションが、実現可能である。図からわかるように、この構造のゆえに（構造自体は、通常、表示された物ではないが）、ノードを介する手動ナビゲーションが、比較的直観的であり、単純である。たとえば、ツリー構造内で、上下のナビゲーションだけが必要であり、これによって、たとえば、２ボタンコントローラだけが必要になる（一方または両方のボタンが、タイマイベント駆動ディスプレイスクリーンを閉じるなど、他の機能を有することができるが）。
【００５０】
一般に、ホームページは、単に、アプリケーションプログラムのメニューを提供することができるが（必要な場合にスクロール可能）、アクチュエータの配置に応じて、階層を反映するより複雑なメニューが、実現可能であり、たとえば、４方向ナビゲーションボタンが、スクロールに上下のボタンを使用し、サブツリーを表すデータを示すために現在強調表示されているメニュー項目の展開および縮小に左右のボタンを使用することができる。ユーザが、ホームページメニューの１ページを、そのページにいる場合に選択アクチュエータボタンを押すことによるなど、選択する場合に、シェルノードが、本質的にそのノードに移動し、そこで、そのページに関する情報が入手され、ページがレンダリングされる。情報ページに、所与のデバイスでのレンダリングに適する、ビットマップからマークアップ言語（たとえばＨＴＭＬまたはＸＡＭＬ）まで、デバイスにインストールされたコードに依存して、どのような物でも含めることができる。キャッシングされたデータを解釈するコードを、転送するか、他の形でファームウェアにダウンロードできることにも留意されたい。
【００５１】
図６からわかるように、ツリー構造に複数のサブレベルを設けることができる。たとえば、図示の個人情報マネージャノード６０１は、その下に連絡先ノード、面会予定ノード、およびタスクノード（それぞれ６２０から６２２）を有することができ、各ノードは、それ自体の対応するディスプレイスクリーンおよび対応するサブノード、Ｃ１からＣｉ、Ａ１からＡｊ、およびＴ１からＴｋを有する。アプリケーションプログラムノードは、メッセージノードＭ１からＭｎによって表されるように、その下に１つのレベルだけを有することができる。一般に、各ノードは、そのデータおよびそれへのナビゲーションが可能なサブノードを表示するスクロール可能ページに対応する。
【００５２】
図６で、メディアプレイヤアプリケーション６０３が、完全を期して、いくつかの実施形態で、メディアアプリケーションがオフライン状態で動作しない可能性があるが、オンラインまたはオフラインの場合に次にレンダリングするスクリーンを決定するために、同一のナビゲーションツリーを使用できることを示すために示されていることに留意されたい。そのような実施態様でオンラインの場合に、オンライン専用メディアプレイヤアプリケーションが、現在のトラックおよびタイマデータを補助ディスプレイで見るなどのために、ユーザがそこにナビゲートできるツリー内のディスプレイスクリーンノードを有する。オフラインの場合に、そのようなディスプレイスクリーンを表すノード（端末または生ノードと称する）をツリーから枝刈りして、ストレージスペースを節約することができる。その代わりに、ＭＰ３プレイやなどのメディアプレイヤが補助ディスプレイとして働く場合に、そのようなノードによって、ＭＰ３プレイヤが、他のアプリケーションデータとのナビゲーションフレームワーク内で、望み通りにスクリーンを使用することを可能にする。
【００５３】
図７に、全般的に、アプリケーション３０２Ａおよび３０２Ｂ（この例ではめいめいの補助プラグイン４０２Ａおよび４０２Ｂを有する）と相互作用マネージャとの間の、この２つのシナリオすなわちオンライン対応のみまたはオンライン／オフライン対応のいずれかでの関係を表す。オンラインのみの場合に、オンライン相互作用マネージャ５０１１（メインＣＰＵオペレーティングシステムで動作）は、ユーザ入力を受け取り、補助ディスプレイサービス３０６を介し、対応するデータを処理のために現在選択されているアプリケーションプログラムおよび／またはディスプレイコントローラ７３０１に渡すことができる。これが、本質的に、上で図５に関して説明した物であることに留意されたい。さらに、デバイスがオフライン対応でない場合であっても、処理能力およびメモリが通常はオンライン状態でより高いので、およびアプリケーションがキャッシングされたデータではなく実際のデータを用いて動作しているので、これらのオンラインコンポーネントは、メインシステムがオンラインである時にいつでも動作することができることに留意されたい。
【００５４】
オフラインの場合に、異なるオフライン相互作用マネージャ５０１２が使用される。理解されるように、オフライン相互作用マネージャ５０１２は、補助マイクロコントローラ／およびオフライン（たとえばフラッシュまたは代替電力供給の）ストレージの下で動作する。
【００５５】
補助コンピューティングデバイスで受け取られたデータの処理
本発明の態様によれば、ファームウェアは、メインコンピュータシステムのオンライン状態またはオフライン状態に無関係に、追加データを受け取り、処理することができる。補助デバイスの展望から、メインコンピュータシステムは、デバイスによってレンダリングできる情報の唯一の供給源であり、実際に、独立ストレージメディア上のキャッシュに保管することを除いて、補助デバイスに接続されない場合がある。メインコンピュータシステムがオフラインである間に受け取られるデータを含む他の使用可能なデータ供給源を使用することによって、補助ディスプレイで動作するファームウェアが、メインコンピュータシステムが使用可能であるかどうかに無関係にアクションを実行することができる。そのようなアクションに、キャッシングされたアプリケーション情報の更新、新しいデータによるキャッシュの補足またはユーザに情報を提供するメカニズムを他の形で提供すること、イベントの生成、既に登録されたイベントの変更、後に発火するための新しいイベントの登録、コードのダウンロード（他の新たに受け取られるデータを解釈するコードを含む）などが含まれる。これによって、補助ディスプレイが、より最新の情報を有することが可能になり、したがって、より貴重な情報をユーザに表示することが可能になる。
【００５６】
メインコンピュータシステムがオンラインまたはオフラインのどちらであるかに無関係に、他のデータ供給源からの無線通信または有線通信を受け取ることができるハードウェアを有する補助ディスプレイデバイスを検討されたい。受け取ることができる情報の種類の例に、電子メール、カレンダリング、タスク、気象、ニュース、バッテリ寿命、およびネットワーク状況が含まれる。変化し、補助ディスプレイハードウェアからアクセス可能なすべての種類の情報が、メインコンピュータシステムがオンラインまたはオフラインのどちらであるかに独立な、補助処理の候補である。
【００５７】
図８および９は、補助デバイスが、メインコンピュータシステムの外部で受け取られる情報を含めて、それが提示する情報をどのように受け取ることができるかを説明するのに役立つ。一般に、図８に示されているように、オンラインの場合に、メインコンピュータシステムコンポーネント８０２（たとえばＣＰＵおよびメモリを含む）は、図８でブロック８０４によって表されるように、通常は上で説明したサービス層およびプロトコル層を介して、補助ディスプレイ８００で提示される情報の主要な供給源である。図８で、データが、ツリー構造で渡されるか、補助デバイスファームウェア８１０からの要求に応答してオンデマンドでなど、メインコンピュータシステムのＣＰＵおよびメモリ８０２を介してどのように進んで補助ディスプレイ８００に達するかの具体的な例としてバッテリコントローラ８０６を使用して、陰付きの矢印が、補助ディスプレイデバイスファームウェア８１０へのデータの主要な流れを示すことに留意されたい。下で図９に関して説明するように、このデータパスがメインコンピュータシステムのＣＰＵおよびメモリ８０２ならびにサービス層およびプロトコル層８０４を介するので、このデータパスが、メインコンピュータシステム（すなわちコンポーネント８０２）がオフラインである間に使用不能であることに留意されたい。それにもかかわらず、理解されるように、補助デバイスファームウェア８１０は、それでも、メインコンピュータシステム８０２がオフライン状態である場合にデータを提示することができる。
【００５８】
新しいデータのもう１つの供給源に、バッテリコントローラ８０６に対応するハードウェアなど、メインコンピュータシステム８０２に関連する既存ハードウェアを含めることができる。一般に、メインコンピュータシステム８０２からアクセス可能なすべてのハードウェアが、図８でブロック８１８および８２０によって表されるように、データ供給源になることができる可能性が高い。
【００５９】
新しいデータの供給源は、メインコンピュータシステムに結合されない場合があり、その代わりに、補助ディスプレイハードウェア／ファームウェア８１０に特に関連付けられ、メインコンピュータシステムによって使用されない場合がある。たとえば、無線アンテナ／ネットワークインターフェースを介して受信され、ファームウェアから使用可能にされる株式市況は、オンラインの場合にメインコンピュータシステムに転送される必要がない（もちろん、オフラインの場合には転送できない）。たとえば、そのようなデータ供給源の１つが、情報を補助ファームウェアに供給できるＳＰＯＴ（Ｓｍａｒｔ  Ｐｅｒｓｏｎａｌ  Ｏｂｊｅｃｔ  Ｔｅｃｈｎｏｌｏｇｙ）ラジオチップに接続されたＳＰＯＴアンテナであり、ファームウェアが、このデータを処理する方法を知っている場合に、コンテキストベースのアクションを開始するために、そのデータからあるコンテキストを抽出することができる。
【００６０】
補助デバイス処理のためのデータを供給するのに使用できる他の供給源の例に、たとえば無線ＬＡＮおよびＢｌｕｅｔｏｏｔｈ、別のＦＭサブキャリアまたは他のラジオデータレシーバ、セルラデータハードウェア、および／あるいは英数字ページングハードウェアなど、他の無線手段を介してデータを入手できるコンポーネントが含まれる。そのような他のデータ供給源は、図８ではブロック８１４によって表されている。
【００６１】
データ供給源の別の例に、無線ＬＡＮラジオ（たとえば信号強度情報を供給するため）、バッテリコントローラ、および／またはＢｌｕｅｔｏｏｔｈトランシーバなど、マシン自体を介してデータを入手できるコンポーネントが含まれる。より一般的なデータ供給源に、温度計、光センサ、加速度計、マイクロホン、ＧＰＳレシーバなど、事実上すべてのタイプのセンサベース入力が含まれる。
【００６２】
補助ハードウェアの一実施形態が、マイクロコントローラ８１０に、コンピュータシステムのＳＭＢｕｓ  ８１６へのアクセスを提供し、これによって、すべての接続されたハードウェアを、補助ディスプレイマイクロコントローラおよびファームウェア８１０によって再利用できることに留意されたい。図９に、ハードウェアが、コンピュータシステムのＳＭＢｕｓ  ８１６へのアクセスをどのようにマイクロコントローラ８１０に提供し、これによって、ＳＭＢｕｓ  ８１６を介してアクセス可能なすべてのハードウェアが、データ供給源になることができる可能性が高くなることを示す。図９で、メインコンピュータシステムコンポーネント８０２がオフラインであり、したがって、データフローが、図８のようにブロック８０２および８０４を介するのではなく、ＳＭＢｕｓ  ８１６を介することに留意されたい。補助ファームウェアは、データ供給源に直接にアクセスできるので、メインコンピュータコンポーネント８０２の電源を切ることができ、それでも、データが、たとえばキャッシングのために、それをファームウェアにすることができる。
【００６３】
一実施形態で、上で説明したように、ファームウェアメモリ内のオフラインキャッシュに保管された情報は、本質的に、ビットマップまたはレンダリングのために構造化された文書（たとえばＨＴＭＬまたはＸＡＭＬ）などの表示可能データに対応するツリーとして保管される。このキャッシュは、ナビゲーションコマンドまたはイベントに基づいて、ディスプレイ用の内容を突き止めるためにアクセスされる。
【００６４】
本発明の態様によれば、キャッシュ（たとえばツリー）を、読取専用キャッシュにするのではなく、補助ファームウェアによって変更可能にすることができるメカニズムが提供される。このために、図８および９のように、補助デバイスハードウェアが、１つまたは複数の新しい供給源からデータを受け取ることができ、それを補助ディスプレイファームウェア８１０に供給できる場合に、ファームウェアは、その新しいデータを処理してキャッシュを更新でき、これによって、ユーザナビゲーション（またはイベント）が表示させる物を変更し、データの内容に基づいて他のアクションを行う。新しいデータが、キャッシュ内の情報を削除することができるが、キャッシュ内のデータの量が増える場合に、そのような新しいデータを追加するのに十分なストレージが使用可能である必要があり、あるいは、なんらかのメカニズム（たとえばオフライン枝刈り）が、追加のストレージを使用可能にする必要があることに留意されたい。
【００６５】
さらに、上で説明したように、キャッシュを変更する情報を、他のデータ供給源から受け取り、メインコンピュータシステムのアプリケーションデータに追加することができる。ツリー構造または類似物を使用することによって、そのようなデータを、メインコンピュータシステムがオフライン（キャッシュがアプリケーションデータを保持する場合）またはオンライン（キャッシュがアプリケーションデータを保持できるか、メインアプリケーションストレージ内のデータへの参照ポインタを含むことができる場合）のどちらであるかに無関係に、マージできることに留意されたい。
【００６６】
たとえば、図１０に示されたツリー１０００を検討されたい。この例では、「スポーツニュース」枝に、メインコンピュータシステムがオンラインである場合にメインプロセッサおよびメモリを通過することさえなしに入手されるデータ（たとえば、ファームウェアに接続されたＳＰＯＴアンテナを介して）が含まれる。そのようなデータが受け取られる場合に、そのデータは、ノード１０２０としてツリー１０００に追加され（その子と共に）、「スポーツニュース」エントリ１０５０が、ファームウェアによってリストされるホームページに追加される。この形で、そのエントリ１０５０が、ユーザによってホームページから選択される場合に、補助デバイスコンポーネントによって収集されたデータを、メインコンピュータシステムの動作中のアプリケーションプログラムから来たかのように表示することができる。
【００６７】
図１１Ａから１１Ｃに、もう１つの例のインスタンスでツリー１１１０を作る形を示す。図１１Ａに、新しい情報を受け取る前の、ツリーフォーマットでの補助ディスプレイのデータキャッシュを示す。図１１Ｂで、ファームウェアが、バッテリコントローラと通信し（たとえば、イベントまたはナビゲーションコマンドに応答して呼び出す）、マシンがプラグインされ、９５％充電されていることを示すデータを入手する。ファームウェアは、この情報に基づいて枝を作り、図１１Ｃで、新しいサブツリーをキャッシュツリーの正しい位置に書き込む。この情報を、今、ユーザに提示することができるが、ツリーが、新しいデータを見るユーザ要求またはイベントによって開始された要求の前に作られる可能性があることに留意されたい。
【００６８】
この形で、電子メールメッセージまたはカレンダ設定に対する変更などの受け取られたすべてのデータを使用して、キャッシュ内のツリー（または他の構造）を変更することができる。これは、既存データを変更することができ、あるいは、上の例のように、新しいデータをツリーに追加することができ、このツリーは、その後、新しいデータが受け取られる時に規則的に更新することができる。これによって、補助ディスプレイを介してユーザが使用可能な情報が、より最新になり、したがってより貴重になり、メインディスプレイを見るか単にツリーを再構成し、補助ディスプレイに新しいツリーを送るのいずれかのために、新しいデータを得るためにメインコンピュータをブートする必要がなくなることによって、ユーザが時間とバッテリ寿命を節約するのを助ける。
【００６９】
受け取られるデータを処理して、オフラインナビゲーション関連キャッシュデータを更新すること以外のアクションを実行できることに留意されたい。たとえば、ＳＭＢｕｓまたは他のインテグレーションが、外部データ受け取りに関連してＰＣの他のハードウェアコンポーネント（およびオペレーティングシステムなどの関連ソフトウェア）を呼び出すことができる。たとえば、あるＳＳＩＤでの無線強度が強いことのハードウェア通知を処理し、認識して、マシンにデバイスのデータを無線ネットワークからリフレッシュするように要求するために、マシンをウェイクアップする（たとえば、ＡＣＰＩスリープ状態Ｓ３からＳ０に遷移させる）ことができる。他のウェイクメカニズムと異なって、補助プロセッサが、新しいデータが検出された時にいつでもマシンを単に自動的にウェイクするのではなく、データを処理して、データのコンテキストに基づいてアクションを決定することに留意されたい。
【００７０】
もう１つの例として、ＳＰＯＴ「キル信号」をファームウェアによって処理して、データ窃盗の仮定の脅威の下で、オペレーティングシステムがメインコンピュータシステムへのアクセスを制限することを要求することができる。
【００７１】
メインコンピュータシステムがオフラインである間にデータが受け取られる場合に、メインコンピュータシステムがオンラインに戻った場合にオンライン同期化メカニズムを介してメインコンピュータシステムがそのデータを更新できるようにするためなど、補助デバイスに新しいデータへのアクセスを提供させることが実現可能である。たとえば、新しいデータは、単に受け取られるのではなく処理されるので、メインコンピュータシステムに、それがオンラインに戻った場合にデータのタイプ（たとえば電子メールデータ）をレポートするなどのことを行い、その結果、適当な同期化メカニズムを呼び出せるようにすることが実現可能である。
【００７２】
さらに、やはりデータが処理されるので、メインコンピュータシステムがスリープ状態の場合に、あるハードウェアをウェイクし、他のハードウェアをウェイクしないことが可能である。たとえば、補助プロセッサは、ハードドライブをスタートアップし、メインオペレーティングシステムが再始動した場合のメインオペレーティングシステムを介する読み取りのためにハードドライブに新しいデータ（または新しいデータに関する情報）を書き込むことができる。
【００７３】
前述からわかるように、本発明は、新しいデータが使用可能になり、メインコンピュータシステムがパワーダウン（オフライン）状態である時を含めて、補助ディスプレイに表示できるデータを更新するメカニズムを提供する。したがって、本発明は、現在のコンピューティングに必要な多数の利益および長所を提供する。
【００７４】
本発明は、様々な変更および代替構成を許すが、ある図示された実施形態を、図面に示し、上で詳細に説明した。しかし、本発明を開示された特定の形態に制限する意図はなく、逆に、本発明は、本発明の趣旨および範囲に含まれるすべての修正形態、代替構成、および同等物を含む。
【図面の簡単な説明】
【００７５】
【図１】本発明を組み込むことができる普通のパーソナルコンピュータシステムの形の汎用コンピューティングデバイスを表すブロック図である。
【図２Ａ】様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。
【図２Ｂ】様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。
【図２Ｃ】様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。
【図２Ｄ】様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。
【図２Ｅ】様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。
【図３】本発明の態様による、それによってアプリケーションプログラムが任意の補助ディスプレイデバイスのファームウェアとデータを交換できる階層化アーキテクチャを全般的に表すブロック図である。
【図４】一実施形態で、本発明の態様に従って、補助対応アプリケーションプログラムが補助ディスプレイデバイスとデータを交換するために補助ディスプレイサービスとどのようにインターフェースするかを示す表現である。
【図５】本発明の態様によるオフラインナビゲーションを提供するコンポーネントを全般的に表すブロック図である。
【図６】本発明の態様によるオフラインナビゲーションを提供するためにユーザデータをキャッシングするツリーの形の１つの例示的なナビゲーション構造を示す表現である。
【図７】一実施形態で、本発明の態様に従って、補助ディスプレイサービスが異なるタイプのディスプレイデバイスと共に動作するためにどのように調整できるかを示す表現である。
【図８】本発明の態様に従って、メインコンピュータシステムがオンライン状態の場合にデータが補助デバイスにどのように流れるかを示す表現である。
【図９】本発明の態様に従って、メインコンピュータシステムがオフライン状態の場合にデータが補助デバイスにどのように流れるかを示す表現である。
【図１０】本発明の態様による、補助データを用いて更新できるツリーの形の構造化されたキャッシュデータを示す表現である。
【図１１Ａ】本発明の態様による、メインコンピュータシステムがオフライン状態の場合に、得られた補助データを用いて更新されるツリーの形の構造化されたキャッシュデータを示す表現である。
【図１１Ｂ】本発明の態様による、メインコンピュータシステムがオフライン状態の場合に、得られた補助データを用いて更新されるツリーの形の構造化されたキャッシュデータを示す表現である。
【図１１Ｃ】本発明の態様による、メインコンピュータシステムがオフライン状態の場合に、得られた補助データを用いて更新されるツリーの形の構造化されたキャッシュデータを示す表現である。
【符号の説明】
【００７６】
１２２  システムメモリ
１３５  オペレーティングシステム
１３６  アプリケーションプログラム
１３７  他のプログラムモジュール
１３８  プログラムデータ
１２１  メイン処理ユニット
１５５  補助ディスプレイインターフェース
１５６  入力デバイスインターフェース
１４８  ビデオアダプタ
２００  補助ディスプレイ
２０１  入力デバイス
１４７  モニタ
１２３  システムバス
１３２  ハードディスクドライブインターフェース
１３３  磁気ディスクドライブインターフェース
１３４  光学ドライブインターフェース
１４６  シリアルポートインターフェース
１５３  ネットワークインターフェース
１５１  ローカルエリアネットワーク
１３５  オペレーティングシステム
１３６  アプリケーションプログラム
１３７  他のプログラムモジュール
１３８  プログラムデータ
１４２  マウス
１４０  キーボード
１５４  モデム
１５２  広域ネットワーク
１４９  リモートコンピュータ
１３６’  アプリケーションプログラム
【図１】
2005339526.tif 000003
【図２Ａ】
2005339526.tif 000004
【図２Ｂ】
2005339526.tif 000005
【図２Ｃ】
2005339526.tif 000006
【図２Ｄ】
2005339526.tif 000007
【図２Ｅ】
2005339526.tif 000008
【図３】
2005339526.tif 000009
【図４】
2005339526.tif 000010
【図５】
2005339526.tif 000011
【図６】
2005339526.tif 000012
【図７】
2005339526.tif 000013
【図８】
2005339526.tif 000014
【図９】
2005339526.tif 000015
【図１０】
2005339526.tif 000016
【図１１Ａ】
2005339526.tif 000017
【図１１Ｂ】
2005339526.tif 000018
【図１１Ｃ】
2005339526.tif 000019
【外国語明細書】
2005339526000001.pdf