JP2006012123A - 補助ディスプレイシステムアーキテクチャ - Google Patents

補助ディスプレイシステムアーキテクチャ Download PDF

Info

Publication number
JP2006012123A
JP2006012123A JP2005130289A JP2005130289A JP2006012123A JP 2006012123 A JP2006012123 A JP 2006012123A JP 2005130289 A JP2005130289 A JP 2005130289A JP 2005130289 A JP2005130289 A JP 2005130289A JP 2006012123 A JP2006012123 A JP 2006012123A
Authority
JP
Japan
Prior art keywords
auxiliary device
data
auxiliary
computer
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005130289A
Other languages
English (en)
Inventor
Adrian Chandley
チャンドレー エイドリアン
Andrew J Fuller
ジェー.フラー アンドリュー
Christopher A Schoppa
エー ショッパ クリストファー
Curt A Steeb
エー.スティーブ カート
Juan Perez
ペレツ ジュアン
Matthew P Rhoten
ピー.ロテン マシュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006012123A publication Critical patent/JP2006012123A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B3/00Engineering works in connection with control or use of streams, rivers, coasts, or other marine sites; Sealings or joints for engineering works in general
    • E02B3/04Structures or apparatus for, or methods of, protecting banks, coasts, or harbours
    • E02B3/12Revetment of banks, dams, watercourses, or the like, e.g. the sea-floor
    • E02B3/14Preformed blocks or slabs for forming essentially continuous surfaces; Arrangements thereof
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01KANIMAL HUSBANDRY; AVICULTURE; APICULTURE; PISCICULTURE; FISHING; REARING OR BREEDING ANIMALS, NOT OTHERWISE PROVIDED FOR; NEW BREEDS OF ANIMALS
    • A01K61/00Culture of aquatic animals
    • A01K61/10Culture of aquatic animals of fish
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B3/00Engineering works in connection with control or use of streams, rivers, coasts, or other marine sites; Sealings or joints for engineering works in general
    • E02B3/04Structures or apparatus for, or methods of, protecting banks, coasts, or harbours
    • E02B3/043Artificial seaweed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1647Details related to the display arrangement, including those related to the mounting of the display in the housing including at least an additional display
    • G06F1/165Details related to the display arrangement, including those related to the mounting of the display in the housing including at least an additional display the additional display being small, e.g. for presenting status information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Multimedia (AREA)
  • Civil Engineering (AREA)
  • Computer Graphics (AREA)
  • Mechanical Engineering (AREA)
  • Ocean & Marine Engineering (AREA)
  • Structural Engineering (AREA)
  • Environmental Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Animal Husbandry (AREA)
  • Zoology (AREA)
  • Marine Sciences & Fisheries (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)

Abstract

【課題】 それによってアプリケーションプログラムが、ユーザへの表示のための本質的にすべてのタイプの補助ディスプレイデバイスにデータを供給できるアーキテクチャを提供すること。
【解決手段】 定義されたアプリケーション層(たとえば、インターフェースを介してアクセスされる)は、プログラムが、補助ディスプレイデバイスへのデータの出力を制御するサービスにデータを供給することを可能にし、アクチュエータを介するデバイスとの適当なユーザ相互作用の際にアプリケーションにナビゲーションデータを返す。列挙は、アプリケーションが、デバイスの機能を発見することを可能にし、アービトレーションは、どのアプリケーションがデバイスへの入出力権利を有するかを決定する。このアーキテクチャは、さらに、様々なタイプのディスプレイが補助ディスプレイとして働くことを可能にするプラグ可能プロトコルプロキシを含むプロトコル層を提供する。
【選択図】 図4

Description

本発明は、全般的にはコンピュータシステムに関し、具体的には、コンピューティングデバイスの情報を表示する改善された方法およびシステムに関する。
米国特許仮出願第10/429930号明細書および米国特許仮出願第10/429932号明細書は、全般的に、ある補助コンピューティング機能性を提供する、補助処理メカニズムおよび補助メカニズム、特にディスプレイ関連メカニズムを有するコンピュータシステムの概念を対象とする。たとえば、ラップトップコンピュータのリッドが閉じられており、かつ/またはメインコンピュータがパワーダウンされている場合など、メインコンピュータディスプレイがすぐに可視でない場合であっても、ラップトップコンピュータのリッドまたは側面の小さいLCDが、その所有者に、会議の場所および時刻など、有用な情報を与えることができる。
しかし、そのような補助ディスプレイの使用は、これまでは、専用の補助ディスプレイプログラムが、ディスプレイのタイプおよび表示される情報に関してカスタマイズされる、狭い限られた動作に制限されてきた。そのようなシステムでは、補助ディスプレイプログラムが、サイズおよび解像度など、ディスプレイのタイプの詳細に合わせてコーディングされ、その結果、プログラムが、可読であるがスクリーン領域におさまる物を出力できるようになる。これは、通常のコンピュータシステムディスプレイと異なり、通常のコンピュータシステムディスプレイでは、現代のオペレーティングシステムコンポーネントが、どの特定のビデオグラフィックスアダプタがインストールされているかに関する複雑さおよび詳細を高水準プログラムから抽象化する。それと同時に、専用補助ディスプレイコードは、補助ディスプレイが通常は製造の場合にハードウェアに2〜3行のテキストディスプレイを組み込まれ、必要な物が、専用アプリケーションに会議の時刻および現在時刻などの情報を有する単純なテキストをディスプレイに書き込ませることであったので、実際的な解決策であった。
専用解決策に関する問題の1つは、補助ディスプレイとして働くことができる物が、もはや必ずしも物理的に専用のデバイスでないことである。その代わりに、米国特許仮出願第10/429932号明細書に記載されているように、仮想的な形でコンピュータシステムとインターフェースできるディスプレイを有するすべてのデバイスが、潜在的に補助ディスプレイとして働くことができる。したがって、たとえば、携帯電話機、ポケットサイズのパーソナルコンピュータ、またはディジタルアシスタントを、別の(たとえばデスクトップまたはラップトップ)コンピュータに、物理的におよび/または無線(たとえばBluetooth)リンクを介して接続することができ、そのディスプレイを他のコンピュータによって乗っ取られることを許容するようにプログラムされている場合に、その別のコンピュータが、そのデバイスのディスプレイを補助ディスプレイとして使用することができる。実際に、デスクトップ機またはラップトップ機のメインモニタのある部分が、補助ディスプレイとして働くことができる。すぐに諒解されるように、ディスプレイのタイプおよび使用可能なアクチュエータ(たとえば、補助デバイスでのスクロールを可能にする)の両方が、デバイスごとに異なり、したがって、専用プログラムは、そのような補助ディスプレイの有用性を非常に制限する。
専用補助ディスプレイプログラムに関するもう1つの問題は、そのプログラムだけが、デバイスでの表示用の情報を提供できることである。専用プログラムは、たとえば、現在再生中のコンパクトオーディオディスクなどの外部供給源から情報を読み取ることができるが、他のアプリケーションプログラムは、そのアプリケーションが専用アプリケーションプログラムおよびディスプレイ要件の深い知識およびデータを専用プログラムから使用可能にする方法に関する深い知識を有しない限り、表示用のデータを提供することができない。
必要な物は、コンピュータシステムのメインオペレーティングシステムの下で走るアプリケーションプログラムが、そのコンピュータシステムに関連する補助ディスプレイでの表示のために適当なデータを適当な時に提供すると同時に、専用補助ディスプレイとして組み込まれた物であれ独立デバイスディスプレイであれ、事実上すべての可能なディスプレイが補助ディスプレイとして働くことを可能にする形である。
短く言うと、本発明は、アプリケーションプログラムおよびオペレーティングシステムコンポーネントを含むプログラムが、補助ディスプレイデバイスへのデータの出力を制御し、アクチュエータ(たとえばボタン)を介するデバイスのすべての相互作用を処理するサービス層にデータを供給できるようにする定義されたアプリケーション層(たとえばインターフェースを介してアクセスされる)を含むアーキテクチャを提供する。この階層化アーキテクチャは、さらに、様々なタイプのディスプレイが補助ディスプレイとして働くことを可能にするプラグ可能プロトコルプロキシを含むプロトコル層を提供する。この非常に柔軟でプラットフォーム様のモデルは、プログラム開発者に、使用可能な場合に補助ディスプレイを活用するプログラムを提供する能力を与え、ディスプレイ製造業者に、拡張可能な機能を有するディスプレイを提供する能力を与える。その結果、本発明の補助ディスプレイのモデルおよびアーキテクチャは、コンピュータシステムのメインコンポーネントがパワーダウンされている時を含めて、コンピュータシステムに関連する1つまたは複数の様々な位置で、ユーザが一目でコンパクトだが重要な情報を見ることを可能にすることによって、ユーザ経験を拡張する。「補助ディスプレイデバイス」が、全般的に、補助ディスプレイスクリーンおよび/またはそのスクリーンに関連するすべてのアクチュエータならびにデバイス内の他のハードウェア、ファームウェア、またはソフトウェアを指すことと、補助ディスプレイデバイスに、ピクセルタイプのディスプレイスクリーンの代わりにまたはこれに加えて、インジケータ(たとえば個々のLED)を含めることができることに留意されたい。
一実施形態で、列挙およびアービトレーションを処理するメディエーションコンポーネントを有する補助デバイスサービスが提供される。列挙は、オペレーティングシステム上で走るコンピュータプログラムが、補助ディスプレイおよびそれに対応するアクチュエータの機能の非同期イベントまたは照会によって機能を判定し、その結果、アプリケーションが、望み通りに、たとえば色、解像度、ナビゲーションコマンドなど、入出力をそれ相応に調整できるようにする形を提供することを指す。たとえば、補助ディスプレイデバイスが、高解像度カラースクリーンおよび4方向ナビゲーションボタンを有することをアプリケーションが知っている場合に、そのアプリケーションは、望まれる場合に、リッチフォーマットデータを補助ディスプレイに出力し、4方向でのナビゲーションコマンドを受け入れるように調整することができる。
どのアプリケーションまたはオペレーティングシステムコンポーネントがそのデータを現在表示されなければならないかを決定するメカニズムを提供するために、アービトレーションも、サービス層のメディエーションコンポーネント内で提供され、アプリケーションおよび他のプログラムタスクが、適当にディスプレイを交替で共有することに留意されたい。しばしば、現在ディスプレイデバイスに結合されている(同様に、フォーカスを有する)プログラムは、ホームページからナビゲートすることによるなど、ユーザ選択された物であるが、他のイベントが、ユーザの選択(かなり以前に行われた可能性がある)より優先される場合がある。たとえば、会議リマインダ、電話呼、ホームページへの復帰タイムアウト、電力低下状態、または現在表示されている物より表示することが重要である可能性が高いと考えられる物などのイベントが発生する場合に、補助ディスプレイを、別のアプリケーションのデータまたはシェルアプリケーションホームページを表示するために完全に、あるいはイベントを示す他の形で(たとえば、画面の点滅または一部を占める)のいずれかで変更することができる。複数の補助ディスプレイを有することが可能であり、LEDなどの1つまたは複数のインジケータも有することが可能であり、これによって、アービトレーションが、アプリケーションプログラムおよび類似物と各そのようなディスプレイおよび/またはインジケータとの間のデータマッピングを決定することに留意されたい。
サービス層のアプリケーション関連コンポーネントの下に、プロトコルプロキシ(たとえば、DLLすなわちダイナミックリンクライブラリ)がプラグインされる通信関連インターフェースがあり、この通信関連インターフェースは、結合された補助ディスプレイの存在の最初の検出に応答して、自動的または十分に自動的とすることができる。この形で、合意されたプロトコルが存在する補助ディスプレイデバイスとの通信が可能である(たとえば、USB HIDまたはBluetoothインターフェース/プロトコルおよび類似物を介する接続、および、たとえば、本質的に世界中のどこにでも配置されるウェブサービスへの接続)。
プラグ可能プロトコルプロキシのゆえに、通信の詳細および要件が、アプリケーションプログラムおよびメディエーションコンポーネントから抽象化される。本質的に、アプリケーションプログラムは、適当なインターフェースを介して補助デバイスサービスだけを見て、補助ディスプレイデバイスとデータを正しく交換する。同様に、補助ディスプレイデバイスは、必要なインターフェースだけを見て、上位コンポーネントとデータを正しく交換する。
一実施形態で、補助ディスプレイは、それ自体のCPU(本質的に組み込みコントローラから強力なプロセッサまでのすべての物)およびメモリを有することができ、このファームウェアは、本明細書で「オンライン」と称する、メインコンピュータ動作とあいまって動作することができ、あるいは、メインコンピュータが「オフライン」である、たとえば、コンピュータが、ある程度までパワーダウンされ、たとえば、完全にパワーダウンされるか、スリープ/スタンバイ/ハイバネーション状態または類似物(たとえば、ACPI状態S3からS5)である場合に動作することができる。オンラインの場合に、オンライン相互作用マネージャが、ユーザ入力を受け取り、対応するデータを、処理のためにアプリケーションプログラムおよびディスプレイコントローラに渡すことができ、オフラインの場合に、オフライン相互作用マネージャが、ユーザ入力を受け取り、キャッシングされたデータに基づいて、前述の米国特許仮出願、名称「Caching Data for Offline Display and Navigation of Auxiliary Information」に記載されているように、マイクロコントローラと共に働いて補助ディスプレイ出力を制御する。
他の利益は、図面と共に理解される場合に、次の詳細な説明から明白になる。
例示的オペレーティング環境
図1は、本発明を組み込むことができる普通のパーソナルコンピュータシステムの形のコンピューティングデバイス120を表すブロック図である。当業者は、図1に示されたパーソナルコンピュータシステム120が、単に例示的であることを意図されていることと、本発明を、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラマブルなコンシューマ電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、ヘッドレスサーバ、および類似物を含む他のコンピュータシステム構成と共に実践できることを諒解するであろう。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールを、ローカルおよびリモートの両方のメモリストレージデバイスに配置することができる。
パーソナルコンピュータシステム120に、処理ユニット121、システムメモリ122、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニット121に結合するシステムバス123が含まれる。システムバス123は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む複数のタイプのバス構造のいずれかとすることができる。システムメモリに、読取専用メモリ(ROM)124およびランダムアクセスメモリ(RAM)125が含まれる。スタートアップ中などにパーソナルコンピュータ120内の要素の間での情報の転送を助ける基本ルーチンを含む基本入出力システム126(BIOS)が、ROM 124に保管される。パーソナルコンピュータ120に、さらに、図示されないハードディスクから読み取り、これに書き込むハードディスクドライブ127、取外し可能磁気ディスク129から読み取り、これに書き込む磁気ディスクドライブ128、CD−ROMまたは他の光学メディアなどの取外し可能光学ディスク131から読み取り、これに書き込む光学ディスクドライブ130を含めることができる。ハードディスクドライブ127、磁気ディスクドライブ128、および光学ディスクドライブ130は、それぞれ、ハードディスクドライブインターフェース132、磁気ディスクドライブインターフェース133、および光学ドライブインターフェース134によってシステムバス123に接続される。ドライブおよびそれに関連するコンピュータ可読メディアは、パーソナルコンピュータ120に、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージを提供する。本明細書に記載の例示的コンピュータシステムでは、ハードディスク、取外し可能磁気ディスク129、および取外し可能光学ディスク131を使用するが、当業者は、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、および類似物などのコンピュータによってアクセス可能なデータを保管できる他のタイプのコンピュータ可読メディアも、例示的コンピュータシステムで使用できることを諒解するであろう。
オペレーティングシステム135(Windows(登録商標)XPなど)、1つまたは複数のアプリケーションプログラム136(Microsoft(登録商標)Outlookなど)、他のプログラムモジュール137、およびプログラムデータ138を含む複数のプログラムモジュールを、ハードディスク、磁気ディスク129、光学ディスク131、ROM 124、またはRAM 125に保管することができる。ユーザは、キーボード140およびポインティングデバイス142などの入力デバイスを介して、パーソナルコンピュータ120にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、または類似物を含めることができる。これらおよび他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインターフェース146を介して処理ユニット121に接続されるが、パラレルポート、ゲームポートおよび/またはuniversal serial bus(USB)などの他のインターフェースによって接続することができる。モニタ147または他のタイプのディスプレイデバイスも、ビデオアダプタ148などのインターフェースを介してシステムバス123に接続される。モニタ147の他に、パーソナルコンピュータに、通常はスピーカおよびプリンタなどの他の周辺出力デバイス(図示せず)が含まれる。補助ディスプレイ200は、追加出力デバイスであり、たとえば、補助ディスプレイインターフェース155を介してシステムバス123に接続することができる。補助ディスプレイ200は、シリアルインターフェースを介して、または、パラレルポート、ゲームポート、赤外線接続、無線接続、universal serial bus(USB)、または他の周辺デバイス接続などの他のインターフェースによって、コンピューティングデバイス120に接続することもできる。図1の入力デバイス201は、補助ディスプレイ200とインターフェースし、かつ/またはこれを制御する1つまたは複数のアクチュエータを提供することができ、たとえば、入力デバイスインターフェース156を介してシステムバス123に接続することができ、入力デバイスインターフェース156は、シリアルインターフェースとするか、パラレルポート、ゲームポート、赤外線接続、無線接続、universal serial bus(USB)、または他の周辺デバイス接続などの他のインターフェースによる物とすることができる。
パーソナルコンピュータ120は、リモートコンピュータ149などの1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータ149は、もう1つのパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、パーソナルコンピュータ120に関して上で説明した要素の多くまたはすべてを含むが、図1には、メモリストレージデバイス150だけを示した。図1に示された論理接続に、ローカルエリアネットワーク(LAN)151および広域ネットワーク(WAN)152が含まれる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれた物である。
LANネットワーキング環境で使用される場合に、パーソナルコンピュータ120は、ネットワークインターフェースまたはネットワークアダプタ153を介してローカルエリアネットワーク151に接続される。WANネットワーキング環境で使用される場合に、パーソナルコンピュータ120に、通常は、インターネットなどの広域ネットワーク152を介する通信を確立する、モデム154または他の手段が含まれる。モデム154は、内蔵または外付けとすることができるが、シリアルポートインターフェース146を介してシステムバス123に接続される。ネットワーク化された環境では、パーソナルコンピュータ120に関して図示したプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに保管することができる。図示のネットワーク接続が例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることを諒解されたい。
本発明に従って補助ディスプレイが働くために、コンピュータシステムが完全に動作する必要がないことに留意されたい。実際に、図6に関して下で説明するように、補助ディスプレイは、コンピュータシステムがスリープ状態、スタンバイ、またはハイバネーションモードである場合、(たとえばACPI状態S3〜S5)および/またはユーザがまだログオンしていないか、他の形でセキュリティメカニズムを介してシステムからロックアウトされている場合など、コンピュータがパワーダウンされている場合でも、少なくともデフォルトの範囲またはユーザによって構成される範囲まで働くことができる。たとえば、ユーザは、コンピュータシステムがパワーダウンされている場合でも、パーソナルコンピュータに一体化された電話受話器およびスピーカホンが普通の機器として働くことを求め、発呼者IDデバイスとして補助ディスプレイを使用することを求める可能性がある。このデバイスは、コンピュータシステムが完全にはパワーアップされなかった場合を含めて、着呼をログ記録するなど、コンピュータがもう一度パワーアップされた場合に、後でコンピュータシステムに送るためにデータを保管することもできる。
補助ディスプレイは、メインディスプレイを補足することができ、メインディスプレイがシャットダウンされるか他の形で動作しない(たとえば切断された)場合に、ユーザにある情報を与えるために代理ディスプレイとして働くこともできる。たとえば、メインディスプレイをパワーアップする方法などの情報が役に立つ可能性があり、メインディスプレイがオフであり、かつ/または簡単に可視でない(たとえば、ラップトップ機のリッドが閉じられている)場合にユーザが見ることのできるモバイルコンピュータに接続された補助ディスプレイデバイスの会議の部屋番号および/または道順もそうである。継続的に可視のスクリーンを有するタブレットPCであっても、電力を節約するためにメインディスプレイをシャットダウンすることができ、これによって、補助ディスプレイがかなりの利益を提供できるようになる。ユーザが、コンピュータシステムの状態に基づいてディスプレイの範囲を制限することができ、たとえば、ユーザがログインしていない場合に、ある機密でないか非常に特に制御された情報だけを表示することなどができることに留意されたい。
これらのパワーダウンモードでの通信を可能にし、制御するために、不揮発性メモリに保管され、副プロセッサによってロードされ実行される場合に、ある電力が使用可能である限り、使用される他の補助コンポーネントと共に補助ディスプレイをイネーブルするファームウェアが存在することができる。言い換えると、副プロセッサは、関連するメモリ(NVRAM、および潜在的にいくつかのROMも)を有し、ファームウェアは、NVRAMまたはROMのいずれかにロードされて、その副プロセッサによって実行される。本明細書で使用される用語「ファームウェア」が、一般に、補助メモリ、その中のコード、および/またはそれが動作する副プロセッサを表すと考えることができることに留意されたい。
図2Aから2Eに、補助ディスプレイスクリーン200から200の配置に関する、コンピューティングデバイス上またはコンピューティングデバイスに関連する例示的な位置を示す。図2Aおよび2Bからわかるように、補助ディスプレイスクリーン200を、独立型の(陸線または形態)電話機202の前面、背面、または他の表面に置くことができ(Bluetoothテクノロジを介するなど、他の形でリンクされる場合に物理的に結合される必要はない)、かつ/または、別の補助ディスプレイスクリーン200を、モバイルコンピュータ204またはタブレットコンピューティングデバイス(図示せず)の縁またはリッドに置くことができる。補助ディスプレイスクリーン200(図2C)のもう1つの場所は、コンピュータに取り付けられる電話機上あるいはモニタ206またはキーボード(図示せず)などのコンピュータに取り付けられる周辺デバイス上とすることができる。図2Dおよび2Eに、コンピュータに接続された独立型コンソール208の前面パネル上または他のハウジング210(マザーボードのハウジングなど)上の、補助ディスプレイスクリーン200および200の追加の配置を示す。コンピュータへの無線接続または他の接続を有する時計、リモートコントロールデバイス、またはリモート壁掛けユニットなどに配置されるなど、コンピューティングデバイスまたは表示機能性を有する他のデバイスの表面に補助ディスプレイスクリーンを置くことができることを、当業者は諒解するであろう。
図2Aから2Eからわかるように、補助ディスプレイは、1つまたは複数のLED、2行英数字ディスプレイ、白黒ディスプレイ、またはカラーディスプレイなどの任意の個数の既知のタイプのディスプレイの形とすることができる。本発明が、補助ディスプレイ200としての他のコンピューティングデバイスまたは通信デバイスのディスプレイも使用できることを、当業者は諒解するであろう。これらの他のコンピューティングデバイスまたは通信デバイスに、汎用コンピュータ、セル電話機、および、ポケットベルまたは携帯情報端末(PDA)などのハンドヘルドデバイスが含まれる。さらに、本発明は、ユーザがログインする前を含めて、補助ディスプレイ200として、コンピューティングデバイス120のオンスクリーンディスプレイの区域内で実施される仮想補助ディスプレイ(たとえば、スクリーンセーバまたはグラフィカルユーザインターフェースのコンポーネント)を使用することができる。補助ディスプレイ200に、上で説明した形のいずれかの組合せを含めることができ、補助ディスプレイ200を、1つまたは複数のLEDなどのインジケータと物理的にまたは論理的に組み合わせ、かつ/または仮想補助ディスプレイと共に使用することもできる。
スクリーンがなくても、メインコンピュータシステムで走るアプリケーションプログラムに関するアクティビティの発生に関する通知のための補助ディスプレイ200として、1つまたは複数のLEDを有利に使用することができる。そのような補助ディスプレイは、低コスト低電力消費で実施することができ、控え目な形で通知を提供することができる。これは、極端に小さいフォームファクタを有するシステムまたはユーザのための通信が別の人によって管理されるシステムに効果的に使用することができる。補助ディスプレイ200は、さらに、通知を遠くから見る必要がある場合に効果的になる可能性がある。補助ディスプレイは、新しい電子メールメッセージの通知など、アクティビティに関連する情報コンテンツがある場合に、オンスクリーン仮想補助ディスプレイとあいまって使用することもできる。この場合に、電子メールからの内容を、仮想補助ディスプレイ200に表示することができる。さらに、内容の表示が望ましくない場合に、公衆システム(図書館またはキオスク)または共有されるコンピュータについて、補助ディスプレイ200を効果的に使用することができる。
その代わりに、コストまたはスペースがクリティカルであるが、通知および基本的内容が望まれる場合に、2行英数字ディスプレイを補助ディスプレイ200として有利に使用することができる。これは、タブレットPC、ラップトップ機、バジェットPC、電話ドッキングステーション、モニタベゼル、および、受話器、キーボードまたはリモートコントロールなどの小さく低コストのPC機器または周辺機器に効果的に使用することができる。これは、発呼者IDボックスの置換物(およびこれに対する改善)としても効果的に使用することができる。
さらに、メディアリッチアプリケーション、ハイエンドコンシューマシステム、またはメディアセンタシステムに、白黒またはカラーの複数行ディスプレイを補助ディスプレイ200として有利に使用することができる。これは、より大きいフォームファクタを有するハイエンドラップトップ機に、または、通信が強調される場合、ビジネスまたは通信を強く強調されたフル機能PC、ラックマウントサーバのフロントパネルディスプレイ、メディアセンタ機器またはハイエンドメディア機器(ポータブルメディア機能を有するリモートコンソールシステムを含む)およびモバイル補助ディスプレイに、効果的に使用することができる。さらに、ユーザがPCを使用する場合に補助デバイスの役割を拡張できる場合に、別のコンピューティングデバイスまたは通信デバイスのディスプレイを補助ディスプレイ200として有利に使用することができる。これらの他のコンピューティングデバイスまたは通信デバイスに、汎用コンピュータ、セル電話機、および、ポケットベルまたは携帯情報端末(PDA)などのハンドヘルドデバイスが含まれる。さらに、補助ディスプレイが、実際のディスプレイである必要はなく、情報の投射(たとえば壁への)とすることができることに留意されたい。本明細書で称する補助ディスプレイは、視覚表現、聴覚表現、および/または触覚表現のすべてを含む、感知することができる本質的にすべての物からなる物とすることができる。
前に述べたように、仮想補助ディスプレイは、公衆システム(図書館またはキオスク)または、内容の表示が望ましくない場合の共有されるコンピュータの補助ディスプレイ200として使用することができる。これは、低コストシステムまたは、LEDさえ非実用的になる非常に最小限のフォームファクタを有するデバイスに効果的に使用することもできる。仮想補助ディスプレイは、スクリーンセーバとしてまたはグラフィカルユーザインターフェースのコンポーネントとして実施することができる。
入力デバイス201は、下ではアクチュエータ(ボタンまたはポインティングデバイスなどの単一のメカニズムだけである場合であっても複数形)と称するが、ユーザに、電子メール通知、ボイスメール通知、カレンダ通知、システム状況通知、発呼者IDリスト、および他のタイプの通知メッセージなどのアプリケーションデータまたは通知の異なるカテゴリの間で切り替えるメカニズムを与える。そのようなスイッチボタンに、ユーザが特定のカテゴリ内の通知メッセージの中で前後にスクロールできるようにするアップボタンおよびダウンボタンも付随させることができる。当業者は、キーボード、マイクロホン、ジョイスティック、ゲームパッド、または、バイオメトリックセンサ、環境センサ、位置センサ、もしくは他のタイプのセンサを含むデバイスを含む他のデバイスなどのすべての他のタイプのアクチュエータを使用できることを諒解するであろう。図1に示されたコンピューティングデバイス120の入力デバイスのいずれかを、入力デバイス(アクチュエータ)201として使用することができ、独立のアクチュエータと共に使用することができる。
補助ディスプレイシステムアーキテクチャ
理解されるように、本発明は、気を散らさず、現在オンスクリーンのタスクがある場合にそのタスクから動作フォーカスを切り替える必要なしに、ユーザが周辺タスクに関するちらりと見ることのできる情報を単純に素早く見るための補助ディスプレイ200を提供する。本発明と調和して、ユーザは、アプリケーションプログラムデータの中で選択するためにアクチュエータ201を使用することによって、ある範囲まで、どの情報が補助ディスプレイに現れるかを選択することができる。プログラムデータおよびイベント通知を使用して、情報の補助表示を示すことができるが、本発明が、トランザクションサービス、オークションサービス、宣伝サービス、エンターテイメントサービス、およびロケーションサービスを含むインターネット関連サービスからなど、他のタイプの情報の補助表示を提供できることを理解されたい。そのようなサービスは、金融トランザクション情報、見出しニュース、株式市況、スポーツスコア、気象および、ユーザによって具体的に要求される情報および求められていない情報を含む他の情報を含む様々な情報を提供することができる。補助ディスプレイ201が、通知ライトのセット、2行英数字ディスプレイ、白黒ディスプレイ、またはカラーディスプレイなどの任意の個数の既知のタイプのディスプレイを使用して動作できることも諒解されたい。本明細書で使用される説明を単純にするための「補助ディスプレイデバイス」が、一般に、補助ディスプレイスクリーンおよび/またはそのスクリーンに関連するアクチュエータならびにデバイス内の他のハードウェア、ファームウェアまたはソフトウェアを指すことに留意されたい。しかし、スクリーンおよびアクチュエータを独立のメカニズムとすることができること、および/またはデータを入力するために物理的接触を必要とするアクチュエータがない場合があることを理解されたい。さらに、補助ディスプレイデバイスを、ピクセルタイプディスプレイスクリーンの代わりにまたはこれに加えて多分インジケータ(たとえば個々のLED)を含むと考えることができることに留意されたい。
本発明の態様によれば、図3に全般的に示されているように、それによって1つまたは複数のアプリケーションプログラム302が事実上すべてのタイプの補助ディスプレイデバイス304とインターフェースしてディスプレイ200にデータを出力し、かつ/またはアクチュエータ201を介してユーザと相互作用できるアーキテクチャ300が提供される。そのようなアプリケーションプログラム302(またはアプリケーションプログラムに結合された関連するプラグインコンポーネントを介して)は、補助ディスプレイについて知るようにプログラムされた(すなわち、補助ディスプレイ対応)物であり、したがって、補助ディスプレイデバイス304が存在する場合に必ずその補助ディスプレイデバイス304を使用してユーザと情報を交換し、これによって改善されたユーザ経験を提供することができる。本明細書で使用する、「アプリケーション」または「アプリケーションプログラム」の概念は、補助ディスプレイにデータを供給することを求める可能性があり、かつ/または補助ディスプレイデバイスの関連するアクチュエータを介してそれに関連する割込みを発生させる可能性がある、普通のプログラムならびにオペレーティングシステムコンポーネントを表すことに留意されたい。
補助ディスプレイ対応のアプリケーションプログラム302が補助ディスプレイデバイス304を使用することを可能にするために、補助ディスプレイサービス306が、コンピュータシステムにインストールされ、アプリケーションモジュール/層を提供し、このアプリケーションモジュール/層を介して、普通のコンピュータオペレーティングシステムで走るアプリケーション層プログラムが、補助デバイス304と通信して、そのディスプレイ200に情報を表示し、かつ/またはアクチュエータ201を介してナビゲーションコマンドなどのコマンドを受け取ることができる。このために、アプリケーションプログラム302は、定義されたインターフェース308を介して、補助ディスプレイサービス306(サービス層の)とデータを交換する。下で説明するように、補助ディスプレイサービス306は、補助ディスプレイデバイス304とデータを交換する。したがって、この非常に柔軟なモデルの結果として、まだ開発されていないものを含むすべてのプログラムが、定義されたインターフェースセット308を正しく実装することによって、補助ディスプレイデバイス304を使用することができる。サービスが、別々のプロセスとして走っているのではないDLLとしてプラグインをロードする時に、いつでも、そのDLL内のコードが、サービスの(すなわち、システムの)セキュリティコンテキストではなく、ユーザプロセスのセキュリティコンテキストで走ることに留意されたい。
さらに、一実施形態で、補助ディスプレイサービス306は、補助ディスプレイデバイスハードウェア(ならびにすべてのデバイスファームウェアまたはデバイスソフトウェア)を他の層から抽象化し、これによって、適当なデバイスが、まだ開発されていないデバイスを含めて、補助ディスプレイデバイスとして働くことができる。このために、アーキテクチャ300は、プロトコル層を提供し、このプロトコル層によって、サービス306が、適当な通信プロトコル/インターフェースおよび有線または無線のデバイスインターフェース310を介してデバイスファームウェア/ハードウェアと通信する。ディスプレイサービス306および補助ディスプレイデバイス304の両方が適当に実装する既存のまたは将来のすべてのプロトコルが、すべての対応する物理的なまたは無線のコンピュータ−デバイスインターフェース310(まだ開発されていないものを含む)と同様に、十分である。
下で説明するように、一実施形態で、メディエーションコンポーネント312(たとえば、列挙およびアービトレーションを処理する)は、定義されたインターフェース314を介して通信メカニズムから抽象化され、この定義されたインターフェース314に、使用される通信プロトコルに適当なようにプロトコルプロキシ316がプラグインされる。プロトコルプロキシが、図3では補助ディスプレイサービス306の一部として図示されているが、このサービスの一部とみなされる物が、多少任意であり、したがって、プロトコルプロキシを、その代わりにプロトコル層の一部とみなすことができることに留意されたい。どの場合でも、階層化アーキテクチャは、アプリケーション開発者およびディスプレイデバイス製造業者に高い柔軟性を提供する。
図4に移り、アプリケーション層およびサービス層の動作を説明すると、アプリケーションプログラム302を望み通りに拡張して、そのデータの一部を補助ディスプレイデバイス304を介してユーザに提示することができる。これは、補助ディスプレイサービスインターフェース308を直接に理解するアプリケーションプログラム302を開発することによって、および/またはインターフェース308を理解するコンポーネントにアプリケーションプログラム302を関連付けることによって、達成することができる。たとえば、プラグイン(たとえば、DLLの形の)を用いて、アプリケーション開発者が、アプリケーションデータへの公開されたインターフェースを使用することによって、メインアプリケーションコードを変更せずに(プラグインへのリンクを除いて)アプリケーションプログラムを簡単に開発できるようになる。図4に、アプリケーションプログラム302内にある物として補助アプリケーションコンポーネント402が示されているが、これは、単なる表現であり、したがって、コンポーネント402を、アプリケーションコード自体の中にある物とするか、アプリケーションにプラグインされるDLLなどのプラグ可能コンポーネントとすることができることを理解されたい。さらに、アプリケーションプログラム自体が、そのデータを表示のために提供しない場合があることを理解されたい。たとえば、アプリケーションプログラムと独立とすることができる別のプログラムが、アプリケーションプログラムに対応するデータを提示することができ、このために、たとえば、アプリケーションプログラムの関数呼び出しをフックすることによって、他のプログラムが、そのアプリケーションプログラムから来るように見えるデータを補助ディスプレイデバイス304に供給することができる。
図4からわかるように、補助ディスプレイサービス306によって提供されるアプリケーション−サービス層は、補助プラグイン登録を含む様々な構造および機能性を提供し、この補助プラグイン登録によって、アプリケーション/プラグインが補助ディスプレイサービス306のサービス登録コンポーネント404にそれ自体を登録し、これによって、アプリケーション/プラグインが、使用可能な補助デバイス304を使用する能力を有する。図4の例の実施形態では、サービス登録コンポーネント404が、このためにIAuxAppRegインターフェースを提供する。他のアプリケーションプログラムは、同様に、このインターフェースを介してそれ自体を登録する。本明細書で使用される名前が、例にすぎず、すべての適当なインターフェース名が十分であることに留意されたい。
補助アプリケーションコンポーネント402は、関連する補助ディスプレイデバイスおよび/または関連するリソースからイベントを受け取る能力を有する。たとえば、補助デバイスがそれへのデータ送信に使用可能になった時にイベントを補助アプリケーションコンポーネント402に送ることができ、別のイベントが、補助デバイスアクチュエータとのユーザ対話に対応することができる。図4に示された例の実施形態では、アプリケーションプログラムが、そのようなイベントを受け取るためにIAuxAppSinkインターフェースを実装する。
上でも説明したように、アプリケーションプログラム302は、使用可能な補助ハードウェアデバイスまたは使用可能であるデバイスを列挙する能力を有する。図4の例の実施形態では、補助ディスプレイサービス306内のメディエータコンポーネント406が、IAuxMediatorインターフェースを介して列挙を提供する。この形で、デバイスまたはデバイスに関連するあるデータ(たとえば対応するXMLファイル)が、デバイスディスプレイスクリーンまたは類似物および/またはそのアクチュエータの機能をアプリケーションプログラム302に報告することができる。アプリケーションプログラム302は、ディスプレイに従って入出力を調整することができ、たとえば、カラースキーム、解像度、ナビゲーションコマンドなどを、デバイス特性のために変更することができる。たとえば、アプリケーションプログラム302が、補助ディスプレイデバイスが高解像度カラースクリーンおよび4方向ナビゲーションボタンを有することを知っている場合に、そのアプリケーションは、リッチフォーマットデータを補助ディスプレイに出力し、4方向でのナビゲーションコマンドを受け入れるように調整することができる。その代わりに、2行のテキストディスプレイだけが使用可能である場合に、アプリケーションプログラム302は、単純なテキストを出力することができる。
補助デバイスのコンフィギュレーション情報を、サービスからデバイスに渡すこともできることに留意されたい。たとえば、バックライトタイマ期間、フォントタイプ、フォントサイズ、パスワードデータ、スクリーンをイネーブル/ディスエーブルするコマンドなどを、メインコンピュータシステムで走るサービスから送ることができる。デバイスコンフィギュレーションを、列挙と完全に独立とすることができるが、時々、補助デバイスとメインコンピュータで走るプログラムの間でデバイスセッティングをネゴシエートすることが便利である場合があり、たとえば、デバイス機能を列挙して、走っているプログラムで、デバイスが何を行えるかを判定し、この機能(可変とすることができる)に基づいて、その特定の時にその走っているプログラムについて望まれるようにデバイスを構成する。
アービトレーションも、アプリケーションレイヤのメディエーションコンポーネント406で提供されて、どのアプリケーションがそのデータを現在表示されなければならず、ナビゲーションコマンドを受け取らなければならないかを決定するメカニズムが提供される。アプリケーションプログラムが、適当にディスプレイを交替で共有する、言い換えると、メディエーションのアービトレーション機能が、補助アプリケーションプログラムおよび/またはプラグインの優先順位(z順)を管理することに留意されたい。補助デバイスは、少量のディスプレイスペース(または、単一のLED程度に少ない)だけを有する場合があるので、一実施形態で、一時に1つのアプリケーションだけが、ディスプレイ全体を得るが、代替実施形態で、十分なスクリーンスペースが使用可能であるかスクリーンおよびインジケータが同一デバイスで使用可能である場合に、同時に複数のアプリケーションの間でディスプレイおよび/またはインジケータを分割することが実現可能であり、あるいは、他の形で複数のアプリケーションから情報を提供することが実行可能である(たとえば、デバイスが、あるアプリケーションのデータを表示するが、別のアプリケーションが状態を変え、本質的に、厳しい要求ではないがユーザが注意を払うことを要求する場合に点滅することができる)。
アービトレーションも、サービス層のメディエーションコンポーネントで提供されて、どのアプリケーションプログラムまたはオペレーティングシステムコンポーネントがそのデータを現在表示されなければならないかを決定するメカニズムが提供される。アプリケーションおよび他のプログラムが、適当にディスプレイを交替で共有することに留意されたい。一般に、ユーザは、ホームページを与えられ、このホームページに、ユーザがナビゲートできる(たとえば登録された)アプリケーションが表示される。システムのユーザが切り替わる場合、すなわち、別のユーザに切り替わる場合(または、あるユーザがログアウトし、別のユーザがログインする場合)に、サービスが、通知され、システムにログインしたばかりの特定のユーザについて登録されたアプリケーションに基づいて、適当なデータを準備し、補助ディスプレイデバイスに送る。
現在ディスプレイデバイスに結合されている(フォーカスを有するのに似る)プログラムが、ホームページからのナビゲートによるなど、ユーザ選択される場合など、アービトレーションはしばしば単純である。しかし、他のイベントは、ユーザの選択(かなり前に行われた可能性がある)より優先される。たとえば、会議リマインダ、電話呼、ホームページへの復帰タイムアウト、電力低下状態、または現在表示されている物より表示することが重要である可能性が高いと考えられる物などのイベントが発生する場合に、補助ディスプレイを、別のアプリケーションのデータまたはシェルアプリケーションホームページを表示するために完全に、あるいはイベントを示す他の形で(たとえば点滅)のいずれかで変更することができる。複数の補助ディスプレイを有することが可能であり、LEDなどの1つまたは複数のインジケータも有することが可能であり、これによって、アービトレーションが、アプリケーションプログラムおよび類似物と各そのようなディスプレイおよび/またはインジケータとの間のデータマッピングを決定することに留意されたい。
プログラムが、ディスプレイに書き込み、そのアクチュエータを介してコマンドを受け取ることを許可されたならば、補助システム参照が、現在選択されている補助アプリケーション(たとえばプラグイン)コンポーネント402がディスプレイリソースを使用することを可能にする、抽象化されたメモリバッファにブリット/レンダリングする能力を提供する。図4の例の実施形態では、デバイスコンポーネントが、アプリケーションプログラムにIAuxDeviceインターフェースを提供して、サービス層を介してそのデータをデバイスに供給する。たとえば、前述の米国特許仮出願、名称「Caching Data for Offline Display and Navigation of Auxiliary Information」に記載されているようにレンダリングならびにキャッシングを容易にするためにツリーまたはグラフなどの形でデータを構造化するために、アプリケーションデータを、サービス層を通過する前に処理することができることに留意されたい。
要約として、丸で囲まれた1から6までの数字のラベルを付けられた矢印は、補助アプリケーションのブートストラップおよび実行の一般化されたタイムラインに対応する。矢印1によって示されるように、補助デバイスサービスが開始される。矢印2では、その初期化プロセスの一部として、サービスが、アウトプロセスアプリケーションCOMオブジェクトを作成する。このアウトプロセスCOMオブジェクトは、IAuxAppSinkインターフェースをサポートする。アプリケーションが、IAuxAppSinkインターフェースを実装し、登録時にそのシンクをIAuxAppRegに渡し、ここで、シンクインターフェースを実装するオブジェクトが、サービスによって使用されることに留意されたい。
矢印3によって示されるように、補助アプリケーションコンポーネント(たとえばオブジェクト)は、補助ディスプレイサービス306のサービス登録コンポーネントのIAuxAppRegインターフェース(たとえばオブジェクトメソッド)を呼び込んで、1つまたは複数の補助デバイスにサブスクライブする。各使用可能デバイスは、この呼び出しから返される特定の識別によってリストすることができ、あるいは、単に、使用可能として識別することができ、この場合に、イベント列挙によって、各デバイスの特性を判定することができる。
矢印4によって示されるように、登録に続いて、登録サービス404は、本質的に、登録コンポーネントからIAuxMediatorオブジェクトインターフェースを返すことによって、補助アプリケーションコンポーネント402にメディエータコンポーネント(たとえばオブジェクト)を識別する。サービスのメディエータコンポーネント(オブジェクト)は、IAuxAppSinkインターフェースのコピーを保ち、その結果、アプリケーションコンポーネント402がディスプレイでのアクチュエータイベントドローに応答するかインジケータの状態をセットすることをメディエータ406が要求できるようにする。オンラインの場合に、アプリケーションがデータをレンダリングする番になった(たとえば、この例でデータが補助ディスプレイまたはインジケータに書かれることを除いて「フォーカスを得た」)場合に、このシステムが、周知のWM_PAINTモデルのように働くことに留意されたい。さらに、現在「フォーカスがある」アプリケーションの概念が、アクチュエータにも適用される、すなわち、ユーザがアクチュエータを押す時に、イベントが、現在フォーカスがあるアプリケーションだけに送られることに留意されたい。
図4の番号付きの矢印5は、メディエータコンポーネント406がIAuxAppSinkを介して補助アプリケーションにIAuxDeviceインターフェースを渡すことを表す。このアプリケーションは、そのインターフェースを使用して、デバイスコンポーネントを介して要求を現実化する。
図5に、メディエータコンポーネント(オブジェクト)406に接続された複数のアプリケーションプログラム302から302を示す。3つのそのようなアプリケーションプログラム302から302が示されているが、実用的なすべての個数が実現可能であることを理解されたい。一般に、メディエータコンポーネント406は、どのアプリケーションプログラムがそのデータを補助ディスプレイ200(および/または1つもしくは複数のインジケータ500)に表示させなければならず、かつ/またはアクチュエータ201からユーザ入力データを受け取らなければならないかを決定する。複数の補助ディスプレイデバイスが存在する場合に、メディエータコンポーネント(オブジェクト)406は、アプリケーションをそれらのデバイスにマッピングする。どの時点でも、異なる補助デバイスは、それぞれ、異なるアプリケーションプログラムのデータをインジケータまたはディスプレイスクリーンを介して表示することができ、あるいは、任意の1つのアプリケーションが、一時に複数の補助デバイスにそのデータを表示させることができる。したがって、同一のアプリケーションが、複数のディスプレイにデータを出力することができるが、アプリケーションのデータを、補助デバイスごとに異なる物とすることができることに留意されたい。説明を単純にするために、次の説明では、ディスプレイ(インジケータセットではなく)に出力する単一の補助ディスプレイデバイスに言及する。
図5では、相互作用マネージャ501と称するアクチュエータオブジェクトが、補助ディスプレイに対応するアクチュエータ201とのユーザ相互作用を管理する。この相互作用に、どのアプリケーションがそのデータを表示させるかを変更するようにメディエータコンポーネント(オブジェクト)406に指示するナビゲーションコマンドのユーザ入力を含めることができる。このコマンドは、たとえば、選択された電子メールメッセージの本体などのデータの一部を表示するために、現在補助ディスプレイアクティブなアプリケーションプログラムに向けられた物とすることができる。その代わりに、タイムドイベントなどのイベント520をメディエータコンポーネント406によって受け取り、処理して、イベントに応答するそのような変更を自動的に行うことができる。メディエータコンポーネントによって維持されるルックアップテーブルまたは類似物が、イベント(または内部タイマ)をアクションにマッピングすることができる。
相互作用マネージャが、ディスプレイを変更するのに完全にアプリケーションプログラムに頼る必要がないことに留意されたい。たとえば、ユーザが選択できる使用可能なアプリケーションプログラムをリストする「ホームページ」プログラムを、相互作用マネージャおよび/またはディスプレイオブジェクト408に組み込むことができる。アプリケーションが選択されるまで、ホームページプログラムは、ユーザがアプリケーションの1つを選択するまで、アクチュエータ201を用いるユーザ相互作用に応答して、ディスプレイを調整する(たとえば、使用可能なアプリケーションのリストを強調表示し、かつ/またはスクロールする)。もう1つの例として、走っているプログラムおよび/または補助サービスが、イベント関連データを補助デバイスに送ることができ、これによって、補助デバイスが、プログラムからのさらなる命令を必要とせずに、アクションを行うことができる。たとえば、「この特定のイメージを特定の時に表示する」などの時刻関連イベントを、「スリープしている場合にメインコンピュータをウェイクし、無線ネットワーク信号を検出する」などのコマンドと同様に補助デバイスに送ることができる。
一実施形態で、そのようなアプリケーション選択または他の変更要求(たとえばイベントベースの)の検出時に、メディエータコンポーネント406は、新たに選択されたまたは現在選択されているアプリケーションにイベントを送って、そのアプリケーションに、表示のために適当なデータをディスプレイオブジェクト408に供給するように指示する。タイムドイベントのゆえになど、あるアプリケーションプログラムから別のアプリケーションプログラムに変化する時、またはホームページに戻るように変化する場合に、メディエータコンポーネント406は、前にアクティブであったアプリケーションにもイベントを送って、それがもはやデータを表示されないことを示す。複数のディスプレイおよび/またはインジケータがある場合に、メディエータコンポーネントは、変化が起こる場合にアプリケーションをディスプレイオブジェクトに再マッピングすることができ、したがって、アプリケーションが出力しつつあるディスプレイおよび/またはインジケータがどれであるかを示すメカニズムが、別のデバイスのためにそのデータを調整する方法についてアプリケーションに知らせるために必要になる場合がある。
補助ディスプレイデバイスのディスプレイオブジェクトは、データが、それに対応するディスプレイに適当であることを保証することができ、たとえば、LEDへのテキストは無意味である(そのテキストが色および/または点滅パターンなどの特定の状態に対応しない限り)。さらに、ディスプレイオブジェクトは、たとえばカラーをグレイスケールに、テキストを表示用のビットマップになど、適当にデータを再フォーマットすることができる。
アクチュエータ201は、そのデータを表示させている現在選択されているアプリケーションプログラムの状態を変更することもできる。たとえば、選択された時に、電子メールアプリケーションプログラムは、電子メールメッセージのリストを表示することができ、このリストは、適当なボタンで受け取られるアクチュエーションに応答して、アプリケーションプログラムによってスクロールすることができる。電子メールメッセージの選択時に、アプリケーションは、その状態を変更して、メッセージのリストではなく選択されたメッセージの内容を出力することができる。
本発明のもう1つの態様によれば、アプリケーション関連層の下に、プロトコルプロキシ(たとえばDLL)がプラグインされる通信関連インターフェースを介して達成されるプロトコル層がある。プロトコル層のゆえに、通信の詳細および要件が、アプリケーションプログラムおよびメディエーションコンポーネントから抽象化される。
さらに、プロトコルは、固定されるのではなく、プラグ可能プロトコルプロキシを介して構成可能である。したがって、まだ開発されていないプロトコルを含めて、補助デバイスとの合意がある、本質的にすべてのプロトコルを使用することができる。プロキシのプラグインは、結合される補助ディスプレイの存在の最初の検出に応答して、自動的または十分に自動的とすることができる。たとえば、ユーザは、コンピュータにスマート携帯電話機を結合することができ、その結合が検出される場合に、適当なプロトコルプロキシを自動的にロードすることによって、携帯電話機のディスプレイを補助ディスプレイにすることができる。
階層化アーキテクチャのゆえに、アプリケーションプログラムと補助ディスプレイデバイスの両方が、本質的に、補助ディスプレイサービスだけを見、この補助ディスプレイサービスは、正しくデータを交換するのに必要なめいめいのインターフェースを有する。この形で、合意されたプロトコルが存在する、任意のアプリケーションから任意の補助ディスプレイデバイスへの通信が可能である(たとえば、USB HID、Bluetoothなどを介して接続すること、および、たとえば、本質的に世界中のどこにでも配置されるウェブサービスへの接続)。
図6に移ると、補助デバイスサービス306のプロトコル(時々ハードウェア抽象化とも称する)層は、アプリケーションプラグインを1つまたは複数の様々なデバイスにルーティングできるようにする抽象化である。一実施形態で、出力の物理的手段が、単一のLEDほどのわずかなものから、フルカラービットマップ補助ディスプレイまでにわたって変化するか、事実上その間のすべてである可能性がある(たとえば、英数字ディスプレイ、カスタムセグメント化を有する補助ディスプレイ、2ビットの小さいグレイスケールビットマップディスプレイ、32ビットのより大きいビットマップディスプレイなど)。入力能力も変化し、たとえば、アクチュエータは、ボタンから、スイッチ、光センサ、動きセンサ、質量センサなどを含む容量性または他のセンサまで変化することができる。
図6からわかるように、一実施形態で、プロトコルプロキシに、アプリケーション内容を物理デバイスに向けられるようにするDLLが含まれる。プロキシのIDeviceインターフェースおよびIProtocolインターフェースは、プロキシからコールバックイベントを受け取る補助ディスプレイサービス306のコアコードに公開される。図6の例では、例616および617が、それぞれUniversal Serial Bus/Human Interface Device(USB/HID)ベースの補助ディスプレイおよびWinSockベースエンドポイントについて示されている。同時に異なる通信プロトコルをアクティブにする複数の補助ディスプレイを有することが可能であることに留意されたい。補助デバイスサービスは、プロトコルプロキシプロバイダおよびそのめいめいの能力のデータ650(たとえば、XMLフォーマットのデバイスコンフィギュレーションリスト)を維持する。
ここまでで、本発明を、本明細書で「オンライン」状態と称する、走っている(動いていること)オペレーティングシステム(ACPI状態S0)と共にメインコンピュータで能動的に走るアプリケーションに関して説明したことに留意されたい。しかし、代替のシナリオでは、補助ディスプレイが、それ自体のCPUおよびメモリを有することができ、このファームウェアは、メインコンピュータが「オフライン」の場合、たとえば、コンピュータがある範囲までパワーダウンされ、たとえば、スリープ/スタンバイ/ハイバネーション状態または類似物(S1以上のACPIスリープ状態)である場合に、補助デバイスを操作することができる。そのようなファームウェアが存在する場合に、補助デバイスは、デバイスがオンラインまたはオフラインである間にデータを表示することができる。存在しない場合に、補助デバイスは、オンライン状態で働くことだけができる。オンライン対応のみの状態で、上で説明したアプリケーションおよび様々なコンポーネントは、オペレーティングシステムの下でメインCPU上で走る。
図7に、全般的に、アプリケーション302および302(この例ではめいめいの補助プラグイン402および402を有する)と相互作用マネージャとの間の、この2つのシナリオすなわちオンライン対応のみまたはオンライン/オフライン対応のいずれかでの関係を表す。オンラインのみの場合に、オンライン相互作用マネージャ501(メインCPUオペレーティングシステムで動作)は、ユーザ入力を受け取り、補助ディスプレイサービス306を介し、対応するデータを処理のために現在選択されているアプリケーションプログラムおよび/またはディスプレイコントローラ730に渡すことができる。これが、本質的に、上で図5に関して説明した物であることに留意されたい。さらに、デバイスがオフライン対応でない場合であっても、処理能力およびメモリが通常はオンライン状態でより高いので、およびアプリケーションがキャッシングされたデータではなく実際のデータを用いて動作しているので、これらのオンラインコンポーネントは、メインシステムがオンラインである時にいつでも動作することができることに留意されたい。
オフラインの場合に、オフライン相互作用マネージャ501が使用される。理解されるように、オフライン相互作用マネージャ501は、補助マイクロコントローラ/およびオフライン(たとえばフラッシュまたは代替電力供給の)ストレージの下で動作する。一般に、オフライン相互作用マネージャ501は、アクチュエータ201からのナビゲーションコマンドに応答して、キャッシングされたデータを操作する。オフライン相互作用マネージャ501の一部とみなすことができる(別々のコンポーネントとすることができるが)オフラインシェルプログラムは、ホームページを提供することができ、どのイメージ(たとえばビットマップ)を表示するか、またはシェル内のレンダラによるなど、どの内容をディスプレイへのレンダリングのために解釈しなければならないかを決定するナビゲーション論理を含む。同一のアクチュエータおよび補助ディスプレイを、オンラインまたはオフラインのどちらであるかに無関係に、オンライン/オフライン対応デバイスで使用することができるが、補助プロセッサおよび/またはメモリの制限に起因して表示できる物に相違がある場合があることに留意されたい。たとえば、イメージの解像度は、オフラインシナリオにキャッシングされたビットマップが使用され、スペースが制限されている場合に、異なる可能性がある。しかし、ユーザが類似する経験を得ることと、オンライン状態またはオフライン状態に応じて異なる構造を処理するために様々なコンポーネントを構成する必要がないことを含めて、ディスプレイデバイスに送られるデータをオンラインとオフラインに共通のナビゲーション(たとえばツリーまたはグラフ)構造でフォーマットすることが有利である可能性があることに留意されたい。しかし、表示できる実際のデータは、異なる可能性があり、たとえば、アプリケーションデータの一部が、ストレージスペース制限に起因してオフライン表示用にキャッシングできない場合に、前述の米国特許仮出願、名称「Caching Data for Offline Display and Navigation of Auxiliary Information」に記載されているように、キャッシングされるデータの量が、サイズを減らされる(たとえばツリー構造が枝刈りされる)。また、あるタイプの情報は、オフラインの場合に表示が無意味であり、たとえば、コンピュータが、コンピュータシステムと共にパワーダウンされるテープバックアップユニットを有する場合に、補助ディスプレイにテープバックアップユニットのパワーダウン状態を示すことは、価値をもたらさず、不必要にメモリを消費する。
前述からわかるように、本発明のアーキテクチャは、アプリケーションプログラムが、コンピュータシステムの補助ディスプレイに適当な時にデータを供給することを可能にすると同時に、専用補助ディスプレイとして組み込まれるものであれ、独立のディスプレイデバイスであれ、事実上すべての可能なディスプレイが補助デバイスとして働くことを可能にする。したがって、本発明は、補助ディスプレイデバイスに関する現在のコンピューティングに必要な多数の長所および利益を提供する。
本発明は、様々な変更および代替構成を許すが、ある図示された実施形態を、図面に示し、上で詳細に説明した。しかし、本発明を開示された特定の形態に制限する意図はなく、逆に、本発明は、本発明の趣旨および範囲に含まれるすべての修正形態、代替構成、および同等物を含む。
本発明を組み込むことができるパーソナルコンピュータシステムの形の汎用コンピューティングデバイスを表すブロック図である。 様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。 様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。 様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。 様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。 様々なデバイスの補助ディスプレイの配置のための位置を全般的に表す例示的な図である。 本発明の態様による、それによってアプリケーションプログラムが任意の補助ディスプレイデバイスと抽象化された様式でデータを交換できる階層化アーキテクチャを全般的に表すブロック図である。 一実施形態で、本発明の態様に従って、補助対応アプリケーションプログラムが補助ディスプレイデバイスとデータを交換するために補助ディスプレイサービスとどのようにインターフェースするかを示す表現である。 本発明の態様による、メディエーションに基づく補助ディスプレイデバイスとのデータ交換のためにそれぞれが選択的に結合可能である複数のアプリケーションプログラムを全般的に表すブロック図である。 本発明の態様による、異なるタイプのディスプレイデバイスと共に動作できる一実施形態での補助ディスプレイサービスを表す図である。 本発明の態様による、補助ディスプレイデバイスのオフライン動作およびオンライン動作がこれによって可能になるファームウェアを含む階層化アーキテクチャのコンポーネントを全般的に表すブロック図である。
符号の説明
122 システムメモリ
135 オペレーティングシステム
136 アプリケーションプログラム
137 他のプログラムモジュール
138 プログラムデータ
121 メイン処理ユニット
155 補助ディスプレイインターフェース
156 入力デバイスインターフェース
148 ビデオアダプタ
200 補助ディスプレイ
201 入力デバイス
147 モニタ
123 システムバス
132 ハードディスクドライブインターフェース
133 磁気ディスクドライブインターフェース
134 光学ドライブインターフェース
146 シリアルポートインターフェース
153 ネットワークインターフェース
151 ローカルエリアネットワーク
135 オペレーティングシステム
136 アプリケーションプログラム
137 他のプログラムモジュール
138 プログラムデータ
142 マウス
140 キーボード
154 モデム
152 広域ネットワーク
149 リモートコンピュータ
136’ アプリケーションプログラム

Claims (36)

  1. コンピュータシステムにおいて、
    補助情報を提示するために前記コンピュータシステムに結合された補助デバイスと、
    前記コンピュータシステムで走り、前記コンピュータシステムで走るコンピュータプログラムによってインターフェースを介してアクセスされる補助デバイスサービスであって、前記補助デバイスでの情報の提示に関連するデータを前記コンピュータプログラムから受け取るように構成された補助デバイスサービスと、
    前記コンピュータプログラムのうちのどれが出力データを前記補助デバイスに提示させるかを決定する、前記補助デバイスサービスのメディエーションコンポーネントと
    を含むことを特徴とするシステム。
  2. 前記メディエーションコンポーネントは、前記補助デバイスの出力機能に対応する情報を前記コンピュータプログラムに通信することを特徴とする請求項1に記載のシステム。
  3. 少なくとも1つの選択可能なプロトコルコンポーネントを含むプロトコルコンポーネントセットをさらに含み、前記補助デバイスサービスは、前記補助デバイスによって使用されるプロトコルに対応する、前記セットから選択されたプロトコルコンポーネントを介してその補助デバイスと通信することを特徴とする請求項1に記載のシステム。
  4. 前記組の各プロトコルコンポーネントは、前記補助デバイスサービスのインターフェースにプラグインすることを特徴とする請求項3に記載のシステム。
  5. 前記補助デバイスでの情報の提示に関係する前記コンピュータプログラムから受け取られる前記データは、登録データを含むことを特徴とする請求項1に記載のシステム。
  6. 前記補助デバイスでの情報の提示に関係する前記コンピュータプログラムから受け取られる前記データは、表示可能データに対応する情報を含むことを特徴とする請求項1に記載のシステム。
  7. 前記表示可能データから受け取られるデータは、ビットマップを含むことを特徴とする請求項1に記載のシステム。
  8. 前記表示可能データから受け取られるデータは、ページへのレンダリングのために解釈することができるデータを含むことを特徴とする請求項1に記載のシステム。
  9. 前記表示可能データから受け取られるデータは、レンダリング命令を含むことを特徴とする請求項1に記載のシステム。
  10. 前記コンピュータプログラムのそれぞれは、前記補助デバイスに関係するイベントを受け取るメカニズムを含むことを特徴とする請求項1に記載のシステム。
  11. コンピュータプログラムによって受け取られるイベントは、提示のためのデータを提供することの要求に対応することを特徴とする請求項10に記載のシステム。
  12. 前記補助デバイスは、関連するアクチュエータを有し、コンピュータプログラムによって受け取られるイベントは、ナビゲーションコマンドに対応することを特徴とする請求項10に記載のシステム。
  13. 前記補助デバイスは、関連するアクチュエータを有し、前記メディエーションコンポーネントは、前記コンピュータプログラムのどれはアクチュエータのアクチュエーションに対応するイベントを受け取るかを決定することを特徴とする請求項10に記載のシステム。
  14. 前記補助デバイスの少なくとも1つの特性は、前記コンピュータシステムによって構成可能であることを特徴とする請求項1に記載のシステム。
  15. 補助情報を提示するために前記コンピュータシステムに結合された少なくとも1つの他の補助デバイスをさらに含むことを特徴とする請求項1に記載のシステム。
  16. 1つの補助デバイスは、別の補助デバイスが結合された時より後の時に前記コンピュータシステムに結合されるようになることを特徴とする請求項15に記載のシステム。
  17. 前記補助デバイスが、無線接続を介して前記コンピュータシステムに結合されることを特徴とする請求項1に記載のシステム。
  18. コンピュータシステムにおいて、
    コンピュータプログラムからサービス層で関数呼び出しを受け取ることであって、前記関数呼び出しが、前記コンピュータシステムに結合された補助デバイスに情報を書き込むことを指示する、受け取ることと、
    前記補助デバイスからナビゲーションコマンドを受け取ることと、
    前記関数呼び出しおよび前記ナビゲーションコマンドに基づいて、前記補助デバイスで提示される情報を決定することと
    を含むことを特徴とする方法。
  19. 前記関数呼び出しを受け取ることは、前記補助デバイスへの結合のためにコンピュータプログラムを登録する要求を受け取ることを含むことを特徴とする請求項18に記載の方法。
  20. 前記関数呼び出しを受け取ることは、前記補助デバイスの機能を列挙する要求を受け取ることを含むことを特徴とする請求項18に記載の方法。
  21. イベントを受け取ることと、前記イベントに基づいて前記補助デバイスで提示される情報を決定することとをさらに含むことを特徴とする請求項18に記載の方法。
  22. 前記ナビゲーションコマンドは、コンピュータプログラムの選択に対応し、前記補助デバイスで提示される情報を決定することは、どのコンピュータプログラムが選択されたかを判定することと、前記選択されたコンピュータプログラムが前記補助デバイスで情報を提示するためのデータを提供することを要求するために前記選択されたコンピュータプログラムにデータを送ることとを含むことを特徴とする請求項18に記載の方法。
  23. 前記要求されたデータを受け取ることと、前記データを提示のために前記補助デバイスに通信することとをさらに含むことを特徴とする請求項22に記載の方法。
  24. 前記ナビゲーションコマンドは、選択されたコンピュータプログラムの前記データ内でのナビゲーションに対応し、前記補助デバイスで提示される情報を決定することは、前記ナビゲーションコマンドを前記選択されたコンピュータプログラムに送ることを含むことを特徴とする請求項18に記載の方法。
  25. 前記選択されたコンピュータプログラムを、メディエーションを介して選択することをさらに含むことを特徴とする請求項24に記載の方法。
  26. 前記補助デバイスでの提示のためのデータをコンピュータプログラムから受け取ることと、前記補助デバイスによって使用される通信プロトコルに対応するプラグ可能プロトコルコンポーネントを介して提示のために前記データを前記補助デバイスに通信することとをさらに含むことを特徴とする請求項18に記載の方法。
  27. 実行される時に、請求項18に記載の方法を実行するコンピュータ実行可能命令を有するコンピュータ可読メディア。
  28. コンピュータシステムにおいて、
    情報を提示する補助デバイスであって、その補助デバイスのプロトコルを介する前記コンピュータシステムとの通信のために結合された補助デバイスと、
    少なくとも1つの選択可能なプロトコルコンポーネントを含むプロトコルコンポーネントセットと、
    前記コンピュータシステムで走り、その補助デバイスの前記プロトコルに対応する前記セットからの選択されたプロトコルコンポーネントを介して前記補助デバイスと通信する補助デバイスサービスと
    を含むことを特徴とするシステム。
  29. 前記補助デバイスサービスは、前記コンピュータシステムで走るコンピュータプログラムからプログラムデータを受け取り、前記補助デバイスでの情報の提示のために前記補助デバイスに前記データを通信するのに前記選択されたプロトコルコンポーネントを使用することを特徴とする請求項28に記載のシステム。
  30. 前記補助デバイスは、前記補助デバイスに関連するアクチュエータに対応するコマンドを受け取り、データをプログラムするために前記コンピュータシステムで走るコンピュータプログラムに前記コマンドを通信するのに前記選択されたプロトコルコンポーネントを使用することを特徴とする請求項28に記載のシステム。
  31. 前記補助デバイスは、前記補助デバイスの少なくとも1つの特性を前記コンピュータシステムに通信するのに前記選択されたプロトコルコンポーネントを使用することを特徴とする請求項28に記載のシステム。
  32. 前記コンピュータシステムは、前記補助デバイスの少なくとも1つの構成可能な特性を構成するのに前記選択されたプロトコルコンポーネントを使用することを特徴とする請求項28に記載のシステム。
  33. 補助情報を提示するために前記コンピュータシステムに結合された少なくとも1つの他の補助デバイスをさらに含むことを特徴とする請求項28に記載のシステム。
  34. 前記他の補助デバイスは、前記選択されたプロトコルコンポーネントを介して前記補助デバイスサービスと通信することを特徴とする請求項33に記載のシステム。
  35. 前記他の補助デバイスは、第2の選択されたプロトコルコンポーネントを介して前記補助デバイスサービスと通信することを特徴とする請求項33に記載のシステム。
  36. 前記補助デバイスは、無線接続を介して前記コンピュータシステムに結合されることを特徴とする請求項33に記載のシステム。
JP2005130289A 2004-05-03 2005-04-27 補助ディスプレイシステムアーキテクチャ Pending JP2006012123A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/838,174 US7660914B2 (en) 2004-05-03 2004-05-03 Auxiliary display system architecture

Publications (1)

Publication Number Publication Date
JP2006012123A true JP2006012123A (ja) 2006-01-12

Family

ID=34939597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005130289A Pending JP2006012123A (ja) 2004-05-03 2005-04-27 補助ディスプレイシステムアーキテクチャ

Country Status (6)

Country Link
US (1) US7660914B2 (ja)
EP (1) EP1594046A3 (ja)
JP (1) JP2006012123A (ja)
KR (1) KR20060047710A (ja)
CN (1) CN1758217A (ja)
TW (1) TW200604818A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186448A (ja) * 2007-01-04 2008-08-14 Beijing Lenovo Software Ltd 再生システム及び方法
JP2013511915A (ja) * 2009-12-11 2013-04-04 ソニー株式会社 ベゼルに表示される識別情報を用いたユーザ個人化
JP2016500179A (ja) * 2012-10-25 2016-01-07 グーグル インコーポレイテッド コンピューティングデバイス上の構成可能なインジケータ

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248246B2 (en) * 2001-05-31 2007-07-24 Intel Corporation Rack mount server with tiltable display
US6947772B2 (en) * 2002-01-31 2005-09-20 Qualcomm Incorporated System and method for providing messages on a wireless device connecting to an application server
US7039398B2 (en) 2002-08-30 2006-05-02 Qualcomm Incorporated Server processing of interactive screens for a wireless device
US6996394B2 (en) 2002-08-30 2006-02-07 Qualcomm Incorporated Server processing in providing messages for a wireless device connecting to a server
US7511682B2 (en) 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
US8159414B2 (en) * 2005-06-17 2012-04-17 Logitech Europe S.A. Keyboard with integrated auxiliary display
US20060284847A1 (en) * 2005-06-17 2006-12-21 Logitech Europe S.A. Keyboard with programmable keys
TWI293156B (en) * 2005-08-12 2008-02-01 Winbond Electronics Corp Embedded controller and a computer system with said embedded controller
US20070079030A1 (en) * 2005-09-30 2007-04-05 Intel Corporation Auxiliary display and storage unit
US7631267B2 (en) 2006-02-17 2009-12-08 Microsoft Corporation Auxiliary display sidebar integration
US20070242061A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Mobile auxiliary display model
US8254991B1 (en) 2006-05-16 2012-08-28 Sprint Communications Company L.P. External interface for a mobile device
US7898500B2 (en) * 2006-05-22 2011-03-01 Microsoft Corporation Auxiliary display within a primary display system
TWI329265B (en) * 2007-01-16 2010-08-21 Asustek Comp Inc Portable computer
US20080186960A1 (en) * 2007-02-06 2008-08-07 Access Systems Americas, Inc. System and method of controlling media streams in an electronic device
US20080235527A1 (en) * 2007-03-19 2008-09-25 Winbond Electronics Corporation Operation of computer display using auxiliary display controller
US20080297433A1 (en) * 2007-05-29 2008-12-04 Winbond Electronics Corporation Secure activation of auxiliary display
US20090021450A1 (en) * 2007-07-19 2009-01-22 Winbond Electronics Corporation Data synchronization of auxiliary display
KR101415762B1 (ko) * 2007-07-25 2014-07-08 엘지전자 주식회사 보조 출력 장치 및 이를 구비한 휴대용 컴퓨터 그리고 이의os 전환 방법
US20090172710A1 (en) * 2007-12-28 2009-07-02 Arman Toorians Method and system for enabling a mini program on a computing device to access an auxiliary system
CN101499113B (zh) * 2008-01-28 2011-03-30 联想(北京)有限公司 安全调度显示的系统、方法及辅助显示装置
WO2009126135A1 (en) * 2008-04-07 2009-10-15 Hewlett-Packard Development Company, L.P. Method and system for communicating a signal corresponding to a message to an input/output device
KR20090121504A (ko) * 2008-05-22 2009-11-26 삼성전자주식회사 테두리 영역에 디스플레이가 배치된 영상표시장치 및 이를적용한 영상표시방법
US8555201B2 (en) * 2008-06-05 2013-10-08 Qualcomm Incorporated Wireless communication device having deterministic control of foreground access of the user interface
KR101027478B1 (ko) * 2009-11-24 2011-04-06 (주) 중산기업 주방용 듀얼모니터형 티브이 도어폰 장치 및 그 작동 방법
US9268367B2 (en) 2010-10-13 2016-02-23 Microsoft Technology Licensing, Llc Use of low-power display on device
US20130050222A1 (en) * 2011-08-25 2013-02-28 Dov Moran Keyboard with embedded display
US9798508B2 (en) * 2012-07-16 2017-10-24 Microsoft Technology Licensing, Llc Implementing previously rendered frame buffer information in a customized GUI display
EP3156881A4 (en) * 2014-01-22 2017-11-01 Li, Zhenhua Personal work system capable of dynamic combination and adjustment
US9544419B2 (en) 2014-12-24 2017-01-10 Intel Corporation Methods and systems for configuring a mobile device based on an orientation-based usage context
JP6019210B1 (ja) * 2015-12-28 2016-11-02 株式会社エイチアイ Ui制作装置、ui制作方法、及びui制作プログラム
CN110413046B (zh) 2018-04-30 2023-09-08 云创科技有限公司 辅助监视器及辅助显示系统
USD920975S1 (en) 2018-05-17 2021-06-01 Mobile Pixels Inc. Monitor
TWI707253B (zh) * 2018-05-24 2020-10-11 仁寶電腦工業股份有限公司 具第二螢幕之電子裝置及其控制方法
US11531374B2 (en) 2019-02-28 2022-12-20 Stand Steady Company, Llc Attachable display screen for electronic devices
USD910624S1 (en) 2019-02-28 2021-02-16 Stand Steady Company, Llc Display screen
US11209869B2 (en) 2019-02-28 2021-12-28 Stand Steady Company, Llc Attachable displays screen for electronic devices
US11815953B2 (en) 2019-04-17 2023-11-14 Mobile Pixels Inc. Auxiliary monitor system
USD973054S1 (en) 2021-02-08 2022-12-20 Mobile Pixels Inc. Monitor
US11774037B2 (en) 2021-03-05 2023-10-03 Mobile Pixels Inc. Auxiliary display kickstand
US11740664B2 (en) 2021-06-10 2023-08-29 Mobile Pixels Inc. Auxiliary monitors with articulated hinge

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6375978A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 多重画面表示計算機システム
JPH03171195A (ja) * 1989-11-30 1991-07-24 Hino Motors Ltd 画像データの記憶表示装置
JPH0926832A (ja) * 1995-07-07 1997-01-28 Seiko Epson Corp 情報処理装置および処理方法
JPH1031571A (ja) * 1996-04-15 1998-02-03 Hewlett Packard Co <Hp> コンピュータ・システム用即時使用ディスプレイ
JP2002073497A (ja) * 2000-09-04 2002-03-12 Sharp Corp 情報処理装置及び情報処理方法
JP2002244783A (ja) * 2001-02-20 2002-08-30 Toshiba Corp 携帯型情報機器
JP2002258825A (ja) * 2001-03-01 2002-09-11 Toshiba Corp 情報処理装置及びプログラム選択方法
JP2002287951A (ja) * 2001-03-23 2002-10-04 Toshiba Corp 情報処理装置及び情報処理装置の制御方法
JP2003108489A (ja) * 2001-09-28 2003-04-11 Toshiba Corp 情報処理装置及び電子メール受信制御方法

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4004277A (en) 1974-05-29 1977-01-18 Gavril Bruce D Switching system for non-symmetrical sharing of computer peripheral equipment
US5363502A (en) 1990-06-08 1994-11-08 Hitachi, Ltd. Hot stand-by method and computer system for implementing hot stand-by method
US5745105A (en) 1993-03-31 1998-04-28 Samsung Electronics Co., Ltd. Power saving apparatus and method of a monitor
US5649023A (en) 1994-05-24 1997-07-15 Panasonic Technologies, Inc. Method and apparatus for indexing a plurality of handwritten objects
JPH0922339A (ja) 1995-07-05 1997-01-21 Matsushita Electric Ind Co Ltd 遠隔操作装置
US6094600A (en) * 1996-02-06 2000-07-25 Fisher-Rosemount Systems, Inc. System and method for managing a transaction database of records of changes to field device configurations
US6281893B1 (en) 1996-04-04 2001-08-28 Sun Microsystems, Inc. Method and apparatus for providing an object oriented approach to a device independent graphics control system
US5910799A (en) 1996-04-09 1999-06-08 International Business Machines Corporation Location motion sensitive user interface
US6096096A (en) 1996-12-13 2000-08-01 Silicon Graphics, Inc. Web-site delivery
US6035339A (en) * 1997-03-13 2000-03-07 At&T Corporation Network information delivery system for delivering information based on end user terminal requirements
KR100248048B1 (ko) 1997-06-30 2000-03-15 윤종용 보조디스플레이장치를구비한컴퓨터
DE69841092D1 (de) 1998-01-07 2009-10-08 Clarion Co Ltd Anzeigesteuergerät und -verfahren für eine Navigationseinheit
JPH11341121A (ja) 1998-05-28 1999-12-10 Nec Corp 移動無線機
US6370629B1 (en) 1998-10-29 2002-04-09 Datum, Inc. Controlling access to stored information based on geographical location and date and time
JP2000242202A (ja) 1999-02-19 2000-09-08 Sony Corp 情報提示システム及び情報提示方法
US6438577B1 (en) * 1999-07-01 2002-08-20 Compaq Information Technologies Group, L.P. Portable networked computer system
JP4094777B2 (ja) 1999-07-15 2008-06-04 富士フイルム株式会社 画像通信システム
US6415418B1 (en) * 1999-08-27 2002-07-02 Honeywell Inc. System and method for disseminating functional blocks to an on-line redundant controller
GB2357220B (en) * 1999-12-10 2003-11-05 Nokia Mobile Phones Ltd A user interface
US6720983B1 (en) 2000-01-05 2004-04-13 Hewlett-Packard Development Company, L.P. Digital feedback display panel for communicating computer status information
US7356570B1 (en) 2000-08-29 2008-04-08 Raja Tuli Portable high speed communication device
JP2001337812A (ja) 2000-03-23 2001-12-07 Fujitsu Ltd 状態表示制御装置及び電子装置並びに記憶媒体
AU2001249541A1 (en) 2000-03-31 2001-10-15 Palm Inc. Information service and method
US7030837B1 (en) 2000-04-24 2006-04-18 Microsoft Corporation Auxiliary display unit for a computer system
US7123212B2 (en) 2000-12-22 2006-10-17 Harman International Industries, Inc. Information transmission and display method and system for a handheld computing device
US20020129006A1 (en) 2001-02-16 2002-09-12 David Emmett System and method for modifying a document format
US20020133601A1 (en) * 2001-03-16 2002-09-19 Kennamer Walter J. Failover of servers over which data is partitioned
US6694389B2 (en) 2001-03-19 2004-02-17 Sun Microsystems, Inc. Method and apparatus for data flow analysis
US6989801B2 (en) 2001-03-22 2006-01-24 Koninklijke Philips Electronics N.V. Two-way presentation display system
JP2002297508A (ja) 2001-03-30 2002-10-11 Fujitsu Ltd 情報処理装置、制御装置、記録媒体、およびプログラム
US20030006942A1 (en) 2001-07-05 2003-01-09 Damion Searls Ergonomic auxiliary screen and display subsystem for portable handheld devices
US20030043110A1 (en) * 2001-09-04 2003-03-06 Airspeak System and architecture of a personal mobile display
US6944818B2 (en) 2001-09-10 2005-09-13 Xerox Corporation Method and apparatus for the viewing and exploration of the content of hierarchical information
US7286112B2 (en) 2001-09-27 2007-10-23 Fujifilm Corporation Image display method
US7051196B2 (en) 2001-12-05 2006-05-23 Hewlett-Packard Development Company, L.P. Location-based security for a portable computer
US20030115415A1 (en) * 2001-12-18 2003-06-19 Roy Want Portable memory device
US6947772B2 (en) 2002-01-31 2005-09-20 Qualcomm Incorporated System and method for providing messages on a wireless device connecting to an application server
US8763061B2 (en) 2002-02-13 2014-06-24 Motorola Mobility Llc Correlation of tuned channel information with internet web addresses
US6912664B2 (en) * 2002-02-21 2005-06-28 Hewlett-Packard Development Company, L.P. Energy-aware software-controlled plurality of displays
US7898977B2 (en) 2002-03-01 2011-03-01 Enterasys Networks Inc. Using signal characteristics to determine the physical location of devices in a data network
JP3910112B2 (ja) * 2002-06-21 2007-04-25 シャープ株式会社 カメラ付携帯電話機
US7024415B1 (en) 2002-07-31 2006-04-04 Bellsouth Intellectual Property Corporation File conversion
US7356706B2 (en) 2002-09-30 2008-04-08 Intel Corporation Personal authentication method and apparatus sensing user vicinity
US7768234B2 (en) 2004-02-28 2010-08-03 Janik Craig M System and method for automatically synchronizing and acquiring content for battery powered devices
JP2004302512A (ja) * 2003-03-28 2004-10-28 Hitachi Ltd クラスタコンピューティングシステム、および、そのフェールオーバー方法
JP4052163B2 (ja) 2003-03-28 2008-02-27 日本電気株式会社 携帯電話機、その表示制御方法及びプログラム
US7240228B2 (en) 2003-05-05 2007-07-03 Microsoft Corporation Method and system for standby auxiliary processing of information for a computing device
US7443971B2 (en) 2003-05-05 2008-10-28 Microsoft Corporation Computer system with do not disturb system and method
US7221331B2 (en) 2003-05-05 2007-05-22 Microsoft Corporation Method and system for auxiliary display of information for a computing device
WO2004104778A2 (en) * 2003-05-19 2004-12-02 Modular Computing & Communications Corporation Apparatus and method for mobile personal computing and communications
US7047339B2 (en) * 2003-06-27 2006-05-16 Intel Corporation Computer system with detachable always-on portable device
KR100475573B1 (ko) 2003-07-01 2005-03-14 삼성전자주식회사 휴대용 컴퓨터시스템 및 그 제어방법
KR100557092B1 (ko) 2003-08-29 2006-03-03 삼성전자주식회사 가변적인 보조표시영역을 디스플레이하는 휴대단말기 및그 방법
US20050066089A1 (en) * 2003-09-22 2005-03-24 Jeyhan Karaoguz Consumption based source throttling
US20050073471A1 (en) * 2003-10-03 2005-04-07 Uni-Pixel Displays, Inc. Z-axis redundant display/multilayer display
US20050192922A1 (en) 2004-02-27 2005-09-01 Edlund Stefan B. Client-server computing system capable of validating cached data based on data transformation
US7152171B2 (en) 2004-04-28 2006-12-19 Microsoft Corporation Task-oriented processing as an auxiliary to primary computing environments

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6375978A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 多重画面表示計算機システム
JPH03171195A (ja) * 1989-11-30 1991-07-24 Hino Motors Ltd 画像データの記憶表示装置
JPH0926832A (ja) * 1995-07-07 1997-01-28 Seiko Epson Corp 情報処理装置および処理方法
JPH1031571A (ja) * 1996-04-15 1998-02-03 Hewlett Packard Co <Hp> コンピュータ・システム用即時使用ディスプレイ
JP2002073497A (ja) * 2000-09-04 2002-03-12 Sharp Corp 情報処理装置及び情報処理方法
JP2002244783A (ja) * 2001-02-20 2002-08-30 Toshiba Corp 携帯型情報機器
JP2002258825A (ja) * 2001-03-01 2002-09-11 Toshiba Corp 情報処理装置及びプログラム選択方法
JP2002287951A (ja) * 2001-03-23 2002-10-04 Toshiba Corp 情報処理装置及び情報処理装置の制御方法
JP2003108489A (ja) * 2001-09-28 2003-04-11 Toshiba Corp 情報処理装置及び電子メール受信制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186448A (ja) * 2007-01-04 2008-08-14 Beijing Lenovo Software Ltd 再生システム及び方法
JP2013511915A (ja) * 2009-12-11 2013-04-04 ソニー株式会社 ベゼルに表示される識別情報を用いたユーザ個人化
JP2016500179A (ja) * 2012-10-25 2016-01-07 グーグル インコーポレイテッド コンピューティングデバイス上の構成可能なインジケータ
JP2019050045A (ja) * 2012-10-25 2019-03-28 グーグル エルエルシー コンピューティングデバイス上の構成可能なインジケータ

Also Published As

Publication number Publication date
US20050243021A1 (en) 2005-11-03
CN1758217A (zh) 2006-04-12
KR20060047710A (ko) 2006-05-18
EP1594046A2 (en) 2005-11-09
EP1594046A3 (en) 2009-08-12
US7660914B2 (en) 2010-02-09
TW200604818A (en) 2006-02-01

Similar Documents

Publication Publication Date Title
US7660914B2 (en) Auxiliary display system architecture
JP4794205B2 (ja) コンテキスト認識型補助ディスプレイおよびアプリケーション
JP5323304B2 (ja) コンピュータシステムと補助ディスプレイの間でデータを交換するための方法およびシステム
RU2377635C2 (ru) Обработка информации, принимаемой дополнительным вычислительным устройством
JP4907964B2 (ja) 補助ディスプレイの拡張可能なアーキテクチャ
US7581034B2 (en) Sending notifications to auxiliary displays
US7784065B2 (en) Interface for consistent program interaction with auxiliary computing devices
EP1594047A2 (en) Caching data for offline display and navigation of auxiliary information
JP2004334876A (ja) コンピュータデバイスに対する情報の補助表示の方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110304