JP2003524843A - Method and system for controlling a complementary user interface on a display surface - Google Patents

Method and system for controlling a complementary user interface on a display surface

Info

Publication number
JP2003524843A
JP2003524843A JP2001560806A JP2001560806A JP2003524843A JP 2003524843 A JP2003524843 A JP 2003524843A JP 2001560806 A JP2001560806 A JP 2001560806A JP 2001560806 A JP2001560806 A JP 2001560806A JP 2003524843 A JP2003524843 A JP 2003524843A
Authority
JP
Japan
Prior art keywords
data
application
display
client system
message
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.)
Withdrawn
Application number
JP2001560806A
Other languages
Japanese (ja)
Inventor
ディー. デイビッド ネイソン,
ジェイ. スコット キャンベル,
フィリップ ブルックス,
カーソン カーン,
トーマス シー. オーローク,
ジェイムス ワーノック,
ジョン イーストン,
Original Assignee
エクスサイズ コーポレイション
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 エクスサイズ コーポレイション filed Critical エクスサイズ コーポレイション
Publication of JP2003524843A publication Critical patent/JP2003524843A/en
Withdrawn legal-status Critical Current

Links

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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G1/00Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data
    • G09G1/06Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows
    • G09G1/14Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible
    • G09G1/16Control arrangements or circuits, of interest only in connection with cathode-ray tube indicators; General aspects or details, e.g. selection emphasis on particular characters, dashed line or dotted line generation; Preprocessing of data using single beam tubes, e.g. three-dimensional or perspective representation, rotation or translation of display pattern, hidden lines, shadows the beam tracing a pattern independent of the information to be displayed, this latter determining the parts of the pattern rendered respectively visible and invisible the pattern of rectangular co-ordinates extending over the whole area of the screen, i.e. television type raster
    • G09G1/165Details of a display terminal using a CRT, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G1/167Details of the interface to the display terminal specific for a CRT
    • 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/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents

Abstract

(57)【要約】 代替的な表示コンテンツ制御器が、オペレーティングシステムの表示面上に表示されるコンテンツと別個でありかつ上記コンテンツに追加される映像表示を制御する技術を提供する。ディスプレイがコンピュータモニタである場合、上記代替的表示コンテンツ制御器は、コンピュータユーティリティオペレーティングシステムおよびハードウェアドライバと対話して、表示スペースの割り当てを制御し、上記オペレーティングシステムデスクトップに隣接する1つ以上のパラレルグラフィカルユーザインターフェースを生成および制御する。代替的表示コンテンツ制御器は、ハードウェアまたはソフトウェアのいずれとして取り入れてもよい。 (57) [Summary] An alternative display content controller provides a technique for controlling video display that is separate from and added to content displayed on a display surface of an operating system. If the display is a computer monitor, the alternative display content controller interacts with a computer utility operating system and hardware drivers to control the allocation of display space and to one or more parallel display systems adjacent to the operating system desktop. Create and control a graphical user interface. The alternative display content controller may be implemented as either hardware or software.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】 (技術分野) 本発明は、表示面への情報の表示を制御するための方法およびシステムに関し
、より詳細には、コンピュータシステムによって提供されるネイティブユーザイ
ンターフェースとともに存在し得る1つ以上のユーザインターフェースを表示す
るコンピュータソフトウェアに関する。
TECHNICAL FIELD The present invention relates to methods and systems for controlling the display of information on a display surface, and more particularly, one or more that may exist with a native user interface provided by a computer system. The present invention relates to computer software that displays a user interface.

【0002】 (発明の要旨) 本発明の実施形態によれば、表示面に情報を表示するためのコンピュータに基
づく方法およびシステムが提供される。ネイティブ(常駐)オペレーティングシ
ステムが存在する場合、これらの実施形態は、ネイティブオペレーティングシス
テムに相補的である方法で情報を表示する。表示された情報は、ネイティブオペ
レーティングシステムによって提供されたユーザインターフェースとともに存在
し得る。さらに、これらの実施形態をネイティブオペレーティングシステムに組
み込んで、一次インターフェースを表示面に提供することができる。
SUMMARY OF THE INVENTION According to embodiments of the present invention, a computer-based method and system for displaying information on a display surface is provided. If a native (resident) operating system is present, these embodiments display information in a manner that is complementary to the native operating system. The displayed information may be present with a user interface provided by the native operating system. Further, these embodiments can be incorporated into a native operating system to provide a primary interface to the display surface.

【0003】 実施形態はまた、1つ以上のユーザインターフェース間のディスプレイ空間の
割り当ておよびコンテンツ、オペレーティングシステム、または、アプリケーシ
ョンまたは並行グラフィカルユーザインターフェース(GUI)がデスクトップ
外(すなわち、ネイティブオペレーティングシステムインターフェース、および
、それに関連付けられたアプリケーションの表示に割り当てられた領域)で動作
するのを可能にするアプリケーションを制御する技術も提供する。例示的な実施
形態では、Microsoft Windwos(R)、Linux、Appl
eのMacintosh O/S またはUnix(R)等の任意のユーティリ
ティオペレーティングシステムの制御下で動作するコンピュータは、本発明の技
術によって制御される可視ディスプレイの割り当てを有し得る。オペレーティン
グシステムユーザインターフェース(ネイティブGUI)は、並行(または相補
)GUIがオープン領域において動作を可能にするディスプレイの特定の領域へ
と拡大され得るか、および/または、移動され得る。本発明の例示的な実施形態
は、一次オペレーティングシステムまたはユーティリティオペレーティングシス
テムのもとで動作するアプリケーションであり得るか、または、オペレーティン
グシステムカーネルと組み合わされ、並行ディスプレイにおける表示およびコン
テンツを制御する機能として分散され得る(例えば、マイクロカーネルとして分
散され得る)。
Embodiments also include allocation of display space between one or more user interfaces and content, operating system, or application or concurrent graphical user interface (GUI) off-desktop (ie, native operating system interface, and Also provided is a technique for controlling an application that allows it to operate in the area allocated for the display of the application associated with it. In an exemplary embodiment, Microsoft Windows (R), Linux, Appl.
A computer operating under the control of any utility operating system such as the Macintosh O / S or Unix (R) of e may have a visual display assignment controlled by the techniques of the present invention. The operating system user interface (native GUI) may be expanded and / or moved to a specific area of the display that allows a parallel (or complementary) GUI to operate in an open area. An exemplary embodiment of the invention may be an application running under a primary or utility operating system, or in combination with an operating system kernel, distributed as a function of controlling display and content on a parallel display. (Eg, distributed as a microkernel).

【0004】 また、いくつかの実施形態では、一次グラフィカルディスプレイユーザインタ
ーフェース(例えば、標準画面表示領域を超えて広がる境界内)に隣接する並行
グラフィカルユーザインターフェースを追加し、用いる技術が提供される。VG
A、SVGA、XGA、SXGAおよびUXGAビデオシステム等の従来のビデ
オシステムは、表示領域の周りの規定された境界を含む。この境界の本来の目的
は、陰極線管ディスプレイの電子銃の水平帰線および垂直帰線の適切な時間を可
能にすることであった。しかしながら、LCDディスプレイの出現にともなって
、現代のモニタにおける帰線速度がますます早くなったので、今では、この境界
にユーザインターフェースディスプレイを提示することが可能である。ユーザイ
ンターフェースとして制御され得る境界は、「オーバースキャン」領域として知
られる領域の一部である。例示的な実施形態は、1つ以上のさらなるユーザイン
ターフェースまたは二次ユーザインターフェースを、例えば、ネイティブユーザ
インターフェースディスプレイ(デスクトップ)の周りのオーバースキャン領域
に提示するための方法およびシステムを含む。
Also provided in some embodiments are techniques for adding and using a parallel graphical user interface adjacent to a primary graphical display user interface (eg, within a boundary that extends beyond the standard screen display area). VG
Conventional video systems such as the A, SVGA, XGA, SXGA and UXGA video systems include a defined border around the display area. The original purpose of this boundary was to allow adequate time for horizontal and vertical retrace of the electron gun of a cathode ray tube display. However, with the advent of LCD displays, the retrace speed in modern monitors has become ever faster, and it is now possible to present user interface displays at this boundary. The boundaries that can be controlled as the user interface are part of what is known as the "overscan" area. Example embodiments include methods and systems for presenting one or more additional or secondary user interfaces, for example, in an overscan area around a native user interface display (desktop).

【0005】 CRTの電子銃が画面の左側または画面の上部に達すると、データの走査線の
提示に対して十分な時間が必要になる。帰線中は、電子銃はオフになる(「消え
る」)。帰線に必要な消去時間が利用可能な時間に等しい場合、使用可能なオー
バースキャンは存在しない。しかしながら、現代のモニタの帰線速度ははるかに
高速となり、電子銃を消す必要がない場合には十分な時間が残るので、表示可能
な境界が可能になる。従来技術では、境界は通常「黒色」である(銃がオフとな
る)が、境界が6色の色のうち任意の色を呈していることを特定する方法は周知
である。標準BIOSは、この色を特定できる。所望の色が、ビデオコントロー
ラの1つのレジスタで簡単に特定される。典型的には、この色のデータは、表示
用のビデオメモリのバッファには格納されない。本発明の例示的な実施形態は、
境界用のさらなるビデオバッファを確立し、通常のディスプレイバッファのよう
に、ディスプレイデータとともにこのバッファに書き込むことを可能にする。さ
らなるビデオバッファが設けられる場合が多いが、多くのコンピュータのグラフ
ィックシステムでは使用されていない。これは、ビデオメモリは、通常、2のべ
き乗(例えば「512K」)のサイズで実現されるが、標準デスクトップの次元
は、2のべき乗ではなく「例えば、640×480=300K」である。それゆ
え、表示領域は、1つ以上の端部で広がり、以前は不可視であった領域を可視領
域にする。ディスプレイのこの新たな可視領域内のピクセルは、本発明の例示的
な実施形態のアプリケーションプログラミングインターフェース(API)コン
ポーネントを介してプログラムにアクセス可能になる。並行グラフィカルユーザ
インターフェースを組み込んだプログラムは、ディスプレイの以前の消去領域に
表示され得るので、ハードウェアを変更することなく、ディスプレイのアクセス
可能な領域を関数的に増加させることができる。他の場合、デスクトップは、非
標準サイズまで増加または減少され、並行グラフィカルユーザインターフェース
用にディスプレイ領域を開けることができる。
When the electron gun of a CRT reaches the left side of the screen or the top of the screen, sufficient time is required for the presentation of scan lines of data. The electron gun is turned off ("disappears") while it is returning. If the erase time required for retrace is equal to the available time, there is no overscan available. However, the retrace speed of modern monitors is much faster, leaving ample time when the electron gun does not have to be extinguished, thus allowing a visible border. In the prior art, the boundaries are usually "black" (the gun is turned off), but it is well known how to identify that the boundary exhibits any of the six colors. Standard BIOS can specify this color. The desired color is easily specified in one register of the video controller. Typically, this color data is not stored in the video memory buffer for display. An exemplary embodiment of the invention is
It establishes a further video buffer for the border and allows to write to this buffer with the display data, like a normal display buffer. Additional video buffers are often provided, but are not used in many computer graphics systems. This is typically achieved with video memory sized to a power of two (eg, “512K”), but the dimensions of a standard desktop are “eg 640 × 480 = 300K” rather than a power of two. Therefore, the display area extends at one or more edges, making previously invisible areas visible. Pixels within this new visible area of the display become accessible to the program through the application programming interface (API) component of the exemplary embodiment of the invention. A program that incorporates a parallel graphical user interface can be displayed in a previously erased area of the display so that the accessible area of the display can be functionally increased without changing the hardware. In other cases, the desktop may be increased or decreased to a non-standard size, opening up the display area for a parallel graphical user interface.

【0006】 本発明の例示的な実施形態は、ビデオディスプレイ領域を調節して、予め規定
されたビデオモード外にディスプレイメモリを含ませることによって、ビデオデ
ィスプレイシステムが生成した一次表示領域の外側の領域に、ビデオディスプレ
イシステムの画像を表示するための方法およびシステムを含む。二次元は標準表
示領域を規定し、各次元がピクセル数を特定する。ビデオ「モード」を選択する
ことによってこれらの次元が特定される。上記方法は、ビデオディスプレイシス
テム用のパラメータを調整して、ディスプレイシステムの少なくとも一次元のピ
クセル数を増加することによって達成され得る。追加されるピクセル数は、ビデ
オモードで指定されたピクセル数と、ビデオディスプレイシステムが効率的に表
示し得る最大ピクセル数との間の差以下である。本明細書中では、このような差
をいずれもオーバースキャン領域と呼ぶ。従って、オーバースキャン領域は、現
在のデスクトップビデオモードと表示デバイスの表示能力との間の差であり得る
。この差は、より詳細には、オペレーティングシステムが所与の画面寸法の場合
に未使用のビデオメモリの任意の部分である。多くのインターフェースディスプ
レイは、ビデオディスプレイ用のバッファまたはメモリに所望の画像を書き込む
ことによって作成されるので、上記方法は、追加されたピクセルに対してさらな
るビデオディスプレイメモリの割り当てを必要とする。次に、このようなメモリ
に書き込まれた画像は、元の表示領域と並んでシステムによって表示される。
An exemplary embodiment of the present invention adjusts the video display area to include a display memory outside of a predefined video mode, thereby creating an area outside the primary display area generated by the video display system. Including a method and system for displaying images on a video display system. The two dimensions define the standard display area, and each dimension specifies the number of pixels. Choosing a video "mode" identifies these dimensions. The method may be accomplished by adjusting the parameters for the video display system to increase the number of pixels in at least one dimension of the display system. The number of pixels added is less than or equal to the difference between the number of pixels specified in the video mode and the maximum number of pixels that the video display system can efficiently display. In the present specification, any such difference is referred to as an overscan area. Therefore, the overscan area may be the difference between the current desktop video mode and the display capabilities of the display device. This difference is more specifically any portion of unused video memory for the given operating system screen size. Since many interface displays are created by writing the desired image into a buffer or memory for the video display, the above method requires the allocation of additional video display memory for the added pixels. The image written to such memory is then displayed by the system alongside the original display area.

【0007】 他の例示的な実施形態では、垂直次元のみを増加させ、並行または相補ユーザ
インターフェースは、一次表示領域より上または下に提示される。あるいは、水
平次元を増加させてもよく、並行ユーザインターフェースが、一次表示領域の右
側または左側に表示される。同様に、並行ユーザインターフェースは、一次表示
領域の4つの辺のいずれか、またはすべてに表示され得る。
In another exemplary embodiment, increasing only the vertical dimension, a parallel or complementary user interface is presented above or below the primary display area. Alternatively, the horizontal dimension may be increased and a parallel user interface displayed on the right or left side of the primary display area. Similarly, the parallel user interface may be displayed on any or all of the four sides of the primary display area.

【0008】 さらに他の例示的な実施形態では、既存の検索エンジンおよびブラウザへのア
クセスを含む並行(または相補)GUIが設けられる。別の実施形態では、並行
GUIは、検索エンジンおよび/またはブラウザを含む。検索エンジンおよび/
またはブラウザは、オーバースキャン領域、または、ネイティブオペレーティン
グシステムのユーザインターフェース内またはユーザインターフェース上の空間
で開かれ得る。
In yet another exemplary embodiment, a parallel (or complementary) GUI is provided that includes access to existing search engines and browsers. In another embodiment, the parallel GUI includes a search engine and / or browser. Search engine and /
Alternatively, the browser may be opened in the overscan area, or space within or on the user interface of the native operating system.

【0009】 さらに他の例示的な実施形態では、オーバースキャン領域が未使用であっても
、一次グラフィカルディスプレイユーザインターフェースに隣接する並行グラフ
ィカルユーザインターフェースを追加し、かつ、使用する技術が提供される。こ
の技術は、表示領域全体を増加させるために用いられ得、これにより、デスクト
ップは、表示領域全体のうちより小さい部分または新しい部分に一致するように
、減少されるか、拡大されるか、または、移動される。次いで、並行ユーザイン
ターフェースは、表示領域全体のうちの残りの部分、または、デスクトップ内ま
たはデスクトップ上の空間に表示され得る。1実施形態において、ビデオディス
プレイドライバへの呼を妨害することによって、この技術は、ネイティブオペレ
ーティングシステムのユーザインターフェースにトランスペアレントに達成され
る。
In yet another exemplary embodiment, a technique is provided for adding and using a parallel graphical user interface adjacent to a primary graphical display user interface even though the overscan area is unused. This technique can be used to increase the overall display area, which causes the desktop to be reduced, expanded, or to match a smaller or newer portion of the overall display area, or , Will be moved. The parallel user interface may then be displayed in the remainder of the overall display area, or in space within or on the desktop. In one embodiment, by blocking the call to the video display driver, this technique is accomplished transparently to the native operating system user interface.

【0010】 本発明の実施形態のこれらの特徴、他の特徴ならびに利点は、詳細な説明およ
び添付の図面からさらに明らかとなる。
These and other features and advantages of the embodiments of the present invention will become more apparent from the detailed description and the accompanying drawings.

【0011】 (発明の説明) 本発明の実施形態は、ネイティブオペレーティングシステムによって提供され
る表示メタファーおよび技術を相補する様態で、表示面に情報を表示する方法お
よびシステムを提供する。本発明の実施形態の技術を用いることにより、相補ユ
ーザインターフェースは、既存システム内で動作可能になるか、または、独立型
の環境として提供される。相補ユーザインターフェースは、1つ以上の二次グラ
フィカルユーザインターフェース(「GUI」)として、ネイティブオペレーテ
ィングシステムによって提供される従来のデスクトップGUI等の一次ユーザイ
ンターフェースとともに存在し得る。このような実施形態によって提供される相
補ユーザインターフェースを用いて、さらなる表示画面領域を提供してもよいし
、または、選択されたアプリケーションへの迅速または連続(「スティッキー」
)アクセスを提供してもよい。相補ユーザインターフェースは、例えば、インタ
ーネット上のユーザのお気に入りネットワーク位置への連続アクセスを含む、広
範なアクセス能力を提供し得る。例えば、個人情報管理、カレンダー、電話、ビ
デオ会議、テレビ番組等のアプリケーションへの連続アクセスが提供され得る。
DESCRIPTION OF THE INVENTION Embodiments of the present invention provide methods and systems for displaying information on a display surface in a manner that complements the display metaphors and technologies provided by native operating systems. By using the techniques of the embodiments of the present invention, the complementary user interface can be operated within an existing system or provided as a stand-alone environment. The complementary user interface may exist as one or more secondary graphical user interfaces (“GUI”) with a primary user interface such as a conventional desktop GUI provided by a native operating system. The complementary user interface provided by such embodiments may be used to provide additional display screen area, or quick or continuous ("sticky") to selected applications.
) May provide access. The complementary user interface may provide a wide range of access capabilities, including, for example, continuous access to a user's favorite network locations on the Internet. For example, continuous access to applications such as personal information management, calendar, telephone, video conferencing, television programming, etc. may be provided.

【0012】 次に、図1および図2を参照する。好適な実施形態では、コンピュータシステ
ム7またはセットトップボックス8等のビデオディスプレイおよび制御システム
におけるプログラミングメカニズムおよびインターフェースは、ディスプレイの
一部へのアクセスを提供し、可視性を設けることによって、表示領域1または表
示領域9のような表示領域に空間2Cおよび/または空間4のような1つ以上の
並行GUIを提供する。このようなディスプレイの一部は、さもなくば無視され
る、および/または、アクセス不可能な領域である(「オーバースキャン領域」
)。表示領域1または表示領域9のような表示領域は、CRT、TFT、LCD
およびフラットパネルディスプレイを含むアナログまたはデジタルディスプレイ
ハードウェアの任意のタイプ上に作製され得るが、これらに限定されない。
Next, please refer to FIG. 1 and FIG. In a preferred embodiment, programming mechanisms and interfaces in a video display and control system such as computer system 7 or set top box 8 provide access to a portion of the display and provide visibility to display area 1 or A display area such as display area 9 is provided with one or more parallel GUIs such as space 2C and / or space 4. Some such displays are areas that are otherwise ignored and / or inaccessible ("overscan areas").
). A display area such as the display area 1 or the display area 9 may be a CRT, a TFT, an LCD.
And can be made on any type of analog or digital display hardware including, but not limited to, flat panel displays.

【0013】 別のディスプレイコンテンツコントローラ6が、コンピュータユーティリティ
オペレーティングシステム5Bおよびハードウェアドライバ5Cと対話し、表示
空間1の割り当てを制御し、オペレーティングシステムデスクトップ3に隣接す
る、コンテキストセンシティブネットワークブラウザ(CSNB)2およびイン
ターネットページ2Aおよび2Bのような1つ以上の並行グラフィカルユーザイ
ンターフェースを生成し、かつ、制御する。別のディスプレイコンテンツコント
ローラ6は、ハードウェアまたはソフトウェアのいずれかに組み込まれ得る。ソ
フトウェアに組み込んだ場合、別のディスプレイコンテンツコントローラは、コ
ンピュータオペレーティングシステム上で実行するアプリケーションであり得る
か、または、ハードウェアシステムサービス用のネイティブオペレーティングシ
ステムに依存するものから、ネイティブオペレーティングシステムに依存せず、
かつ、専用アプリケーションをサポートし得る並行システムに及ぶ種々の複雑な
オペレーティングシステムカーネルを含み得る。別のディスプレイコンテンツコ
ントローラとともに用いることが可能なアプリケーションもまた、種々のデバイ
スに組み込まれ得る。別のディスプレイコンテンツコントローラもまた、インタ
ーネットIまたは任意の他のネットワークを介して配信されるコンテンツおよび
JAVA(R)のようなオペレーティングソフトウェアを含み得る。
Another display content controller 6 interacts with the computer utility operating system 5B and the hardware driver 5C, controls the allocation of the display space 1 and is adjacent to the operating system desktop 3, a context sensitive network browser (CSNB) 2 And generate and control one or more concurrent graphical user interfaces such as Internet pages 2A and 2B. Another display content controller 6 may be incorporated in either hardware or software. When incorporated into software, another display content controller may be an application running on a computer operating system, or one that is dependent on the native operating system for hardware system services, and thus not dependent on the native operating system. ,
And may include various complex operating system kernels that span concurrent systems that may support specialized applications. Applications that can be used with other display content controllers can also be incorporated into various devices. Another display content controller may also include content distributed over Internet I or any other network and operating software such as JAVA®.

【0014】 別のディスプレイコンテンツコントローラはまた、ボックス8のようなテレビ
デコーダ/セットトップボックスにも含まれて、ページ9Aおよび9Bのような
2つ以上の並行グラフィカルユーザインターフェースを同時に表示することがで
きる。本発明の方法およびシステムは、NTSC、PAL、PAL−C、SEC
AMおよびMESECAM等の従来のテレビ方式と互換性があり得る。この構成
の場合、コンテンツおよびソフトウェアは、電波放送信号10A、ケーブル10
C、光ファイバおよび衛星10Bを含む任意の従来の送信媒体10を介して配信
され得るが、これらに限定されない。
Another display content controller may also be included in a television decoder / set top box, such as Box 8, to simultaneously display two or more parallel graphical user interfaces, such as pages 9A and 9B. . The method and system of the present invention is based on NTSC, PAL, PAL-C, SEC.
It may be compatible with conventional television systems such as AM and MESECAM. In the case of this configuration, the contents and software are the radio broadcast signal 10A and the cable 10
It may be delivered via any conventional transmission medium 10 including, but not limited to, C, fiber optics and satellites 10B.

【0015】 図1および図2を参照して以降でより詳述する。[0015]   It will be described in more detail below with reference to FIGS. 1 and 2.

【0016】 図15は、Microsoft Windows(R)95オペレーティング
システムによって生成される従来の標準的なディスプレイデスクトップの例を示
す。デスクトップ31内には、タスクバー32とデスクトップアイコン33とが
ある。
FIG. 15 shows an example of a conventional standard display desktop produced by the Microsoft Windows® 95 operating system. Inside the desktop 31, there are a taskbar 32 and a desktop icon 33.

【0017】 本発明の1実施形態では、相補グラフィカルユーザインターフェース画像が、
図3に示されるようなオーバースキャン領域の1つ以上の側面にペイントされる
。図3は、さらなるグラフィカルバーユーザインターフェースがオーバースキャ
ン領域に表示された状態のスーパーVGA(SVGA)ディスプレイの図である
。オーバースキャンユーザインターフェースバー30は、「デスクトップ」表示
領域31の境界の外側に位置するように規定される。図16では、ディスプレイ
は、下端から20ピクセル高さのバー内にグラフィカルユーザインターフェース
30を含むように変更されている。図3では、ディスプレイは、ディスプレイの
4つの端部のそれぞれから各25ピクセル高さ/幅の4つのバー(すなわち、下
部バー30、左側バー34、右側バー36および上部バー38)内にグラフィカ
ルユーザインターフェースを含むように変更されている。相補インターフェース
は、ボタン、メニュー、アプリケーション出力制御(例えば、「チッカーウィン
ドウ」)、アニメーション、ユーザ入力制御(例えば、編集ボックス)を含み得
るが、これらに限定されない。相補インターフェースは、標準デスクトップ内で
実行している他のアプリケーションによって見えなくなるので、相補インターフ
ェースは常に可視であり得るか、または、複数のプログラミングパラメータのう
ちの任意のパラメータに基づいて、可視状態と不可視状態との間で切り替えられ
得る。複数のプログラミングパラメータは、アクティブウィンドウの状態、切り
替えボタンの状態、ネットワークメッセージ、ユーザのお気に入り等を含むが、
これに限定されない。
In one embodiment of the invention, the complementary graphical user interface image is
Painted on one or more sides of the overscan area as shown in FIG. FIG. 3 is a diagram of a Super VGA (SVGA) display with a further graphical bar user interface displayed in the overscan area. The overscan user interface bar 30 is defined to be located outside the boundaries of the “desktop” display area 31. In FIG. 16, the display has been modified to include the graphical user interface 30 in a bar 20 pixels high from the bottom. In FIG. 3, the display is graphical user within four bars (ie, bottom bar 30, left bar 34, right bar 36 and top bar 38) each 25 pixels high / width from each of the four edges of the display. Changed to include the interface. Complementary interfaces may include, but are not limited to, buttons, menus, application output controls (eg, “ticker windows”), animations, user input controls (eg, edit boxes). The complementary interface may be visible at all times because it is invisible to other applications running within the standard desktop, or visible and invisible based on any of multiple programming parameters. Can be switched between states. Multiple programming parameters include active window states, toggle button states, network messages, user favorites, etc.
It is not limited to this.

【0018】 また、オーバースキャン領域を割り当てるか、または、他の方法を用いて、(
例え表示領域のサイズが変わらなくても)表示領域全体を増加させると、ネイテ
ィブデスクトップは、表示領域全体のより小さい部分または新しい部分に合うよ
うに小さくされ得るか、または、移動され得る。その結果、任意の側面または他
の領域を残して、相補ユーザインターフェースを表示することができる。図22
〜30は、1つ以上の相補ユーザインターフェースを含むための、いくつのかの
可能な表示領域の構成および割り当てを示す。これらの図は、相補ユーザインタ
ーフェースは、不均一な型およびサイズを有し得、1つ以上のオーバースキャン
領域上、および、ネイティブGUI内(GUI上)に常駐し得る(例えば、図2
3のメニュー2301を参照されたい)。さらに、図25および30に示される
ように、デスクトップを移動してもよいし、または、小さくしてもよく、変更さ
れたデスクトップ外またはデスクトップ内に常駐する相補ユーザインターフェー
スとともに用いられ得る。図25はまた、相補GUIのコンテンツがインターネ
ットのようなネットワークに接続することによって動的に駆動され得る様子を示
す。これらの特徴の任意の組み合わせが、本発明の実施形態を実行する上で可能
であり、本発明の範囲内であればさらなる特徴を追加してもよいことが、当業者
には明らかである。
In addition, by assigning an overscan area or by using another method, (
Increasing the total display area (even if the size of the display area does not change) may cause the native desktop to be reduced or moved to fit a smaller or newer portion of the total display area. As a result, the complementary user interface can be displayed, leaving any sides or other areas. FIG. 22
˜30 illustrate some possible display area configurations and allocations to include one or more complementary user interfaces. These figures show that the complementary user interface may have non-uniform types and sizes and may reside on one or more overscan areas and in the native GUI (on the GUI) (eg, FIG. 2).
3 menu 2301). Further, as shown in FIGS. 25 and 30, the desktop may be moved or made smaller and may be used with a modified user interface that resides outside or within the desktop. FIG. 25 also illustrates how the complementary GUI content can be dynamically driven by connecting to a network such as the Internet. It will be apparent to those skilled in the art that any combination of these features is possible in practicing the embodiments of the present invention and additional features may be added within the scope of the present invention.

【0019】 (1.ビデオディスプレイシステム環境) 図4は、本発明の方法およびシステムと対話するコンピュータシステムビデオ
ディスプレイ環境の基本的なコンポーネントのブロック図である。ソフトウェア
コンポーネント5内には、ネイティブオペレーティングシステム63およびアプ
リケーション61のような1つ以上のアプリケーションがある。モデムシステム
の保護モード内では、アプリケーション61は、ビデオまたはグラフィックスド
ライバ64、または、ビデオチップセット66A、66B、66Cを含むビデオ
カード66のようなハードウェアコンポーネントに直接アクセスしない。アプリ
ケーションプログラミングインターフェース(API)60のような抽出層およ
び/またはDirect X API62は、多くの場合にオペレーティングシ
ステム63を介するアクセスが制限される。このような例示的なAPIは、Mi
crosoft Windows(R)環境で実行するアプリケーションにグラ
フィカルディスプレイ能力を提供するMicrosoftのGDIである。
1. Video Display System Environment FIG. 4 is a block diagram of the basic components of a computer system video display environment that interacts with the method and system of the present invention. Within software component 5 are one or more applications, such as native operating system 63 and application 61. Within the protected mode of the modem system, the application 61 does not directly access hardware components such as the video or graphics driver 64 or the video card 66 including the video chipsets 66A, 66B, 66C. Extraction layers such as application programming interfaces (APIs) 60 and / or Direct X APIs 62 are often restricted in access through operating system 63. Such an exemplary API is Mi
Microsoft's GDI that provides graphical display capabilities to applications running in the Microsoft Windows (R) environment.

【0020】 本発明の実施形態は、ネイティブデスクトップグラフィックモードにおいてア
クセス不可能であるか、または、使用中のコンピュータディスプレイの領域をペ
イントし、かつ、その領域にアクセスする技術を提供する。Microsoft
Windows(R)環境(Microsoft Windows(R)95
およびその派生物、Microsoft Windows(R)NT4.0およ
びその派生物を含む)、および、他の最新のオペレーティング環境では、一次表
示領域デスクトップは、通常、以下の表1および表2に記載される所定のビデオ
「モード」のセットのうちのいずれかとなるように、オペレーティングシステム
によって割り当てられる。これらの表のそれぞれは、特定のピクセル解像度で予
め定義されている。従って、利用可能な予め定義されたモード以外を選択する場
合を除いて、コンピュータディスプレイのアクセス可能な領域は変更され得ない
Embodiments of the present invention provide techniques for painting and accessing areas of the computer display that are either inaccessible or in use in native desktop graphics mode. Microsoft
Windows (R) environment (Microsoft Windows (R) 95
And its derivatives, including Microsoft Windows (R) NT 4.0 and its derivatives), and other modern operating environments, primary display area desktops are typically described in Tables 1 and 2 below. Assigned by the operating system to be any of a set of predetermined video "modes". Each of these tables is predefined with a particular pixel resolution. Therefore, the accessible area of the computer display cannot be changed, except when selecting other than the predefined modes available.

【0021】[0021]

【表1】 [Table 1]

【0022】[0022]

【表2】 図6に示されるように、画像がコンピュータディスプレイ上に表示されると、
「オーバースキャン」される。つまり、表示されたビデオバッファデータは、駆
動可能な全体の画面サイズよりも小さいサイズを占める。駆動可能な画面サイズ
は、ビデオメモリの合計量および動作可能なビデオディスプレイ文字によって決
定される。相補ユーザインターフェースに用いられ得るオーバースキャン境界の
幅は、水平帰線消去54によって減少した水平オーバースキャン52の量と、垂
直帰線消去55によって減少した垂直オーバースキャン53の量とに依存する。
[Table 2] As shown in FIG. 6, when the image is displayed on the computer display,
"Overscanned". That is, the displayed video buffer data occupies a size smaller than the overall drivable screen size. The drivable screen size is determined by the total amount of video memory and operable video display characters. The width of the overscan boundaries that can be used in the complementary user interface depends on the amount of horizontal overscan 52 reduced by horizontal blanking 54 and the amount of vertical overscan 53 reduced by vertical blanking 55.

【0023】 1実施形態において、標準表示領域の下部の境界のみが用いられ、相補ユーザ
インターフェースをサポートする。従って、図4における制御レジスタ(CR)
6H、16H、11H、10H、12Hおよび15Hとして示される陰極線管(
CRT)コントローラの垂直制御パラメータのみを調整する必要がある。これら
のパラメータおよび他のパラメータは、以下の表3である。 表3:CRプログラミングの垂直タイミングパラメータ
In one embodiment, only the lower border of the standard display area is used to support the complementary user interface. Therefore, the control register (CR) in FIG.
Cathode ray tubes (designated as 6H, 16H, 11H, 10H, 12H and 15H (
Only the vertical control parameters of the CRT) controller need to be adjusted. These and other parameters are in Table 3 below. Table 3: Vertical timing parameters for CR programming

【0024】[0024]

【表3】 標準640×480グラフィックモードでは、公称水平スキャン速度は、垂直
スキャン速度が60Hz(1秒当り60フレーム)の場合には31.5KHz(
1秒当り31,500回)である。従って、1フレーム当りの線の数は、31,
500/60、すなわち525本である。表示されるには480のデータ線のみ
が必要であるため、垂直オーバースキャンに利用可能な線は、525〜480、
すなわち45本である。単位時間当り2本の線のみを必要とする帰線用の適切な
マージンよりも多くの部分が残るので、好適な実施形態は、別のディスプレイの
場合には25本の線を用いる。従って、利用可能であるが未使用の別の18本の
線を用いて、帰線のように2つの線を可能にしつつ、ネイティブオペレーティン
グシステムデスクトップのサイズを標準サイズとは異なる何らかのサイズまで大
きくしてもよいし、そのまま空白にしておいていもよいし、あるいは、1つ以上
のさらなる別の並行ユーザインターフェースディスプレイ用に用いてもよい。同
様に、1024×768グラフィックスモードは、垂直スキャン速度が85Hz
の場合に68.7KHzの公称水平スキャン速度を有し得る。これは、1フレー
ム当り808本の線、または、垂直オーバースキャンに利用可能な40本の線と
計算される。垂直スキャン速度を60Hzまで変更することによって、フレーム
サイズは、垂直オーバースキャンに利用可能な377本の線を含む、1145本
の線まで増加する。
[Table 3] In standard 640x480 graphics mode, the nominal horizontal scan rate is 31.5 KHz (60 frames per second) at a vertical scan rate of 60 Hz (60 frames per second).
It is 31,500 times per second). Therefore, the number of lines per frame is 31,
It is 500/60, that is, 525. Since only 480 data lines are needed to be displayed, the available lines for vertical overscan are 525-480,
That is, it is 45. The preferred embodiment uses 25 lines in the case of another display, since there remains more than an adequate margin for retrace, which requires only 2 lines per unit time. Therefore, you can increase the size of your native operating system desktop to some size other than the standard size, allowing another two lines, such as a blank line, with another 18 lines available but unused. It may be left blank, or it may be used for one or more additional concurrent user interface displays. Similarly, the 1024x768 graphics mode has a vertical scan rate of 85Hz.
May have a nominal horizontal scan rate of 68.7 KHz. This is calculated as 808 lines per frame, or 40 lines available for vertical overscan. By changing the vertical scan rate to 60 Hz, the frame size is increased to 1145 lines, including 377 lines available for vertical overscan.

【0025】 (2.ビデオディスプレイ領域を変更して相補GUIをサポートする) 物理的オーバースキャン領域を用いて表示画面を増加する、本発明の実施形態
の情報表示方法は、3つの能力を設けることによって達成され得る。 (1)図6に示されるように、オーバースキャン領域のいくつかの部分が可視と
なるように、ビデオディスプレイシステムの可視解像度を指定し、変更する能力
(2)オーバースキャン領域の可視部分のビデオディスプレイコンテンツを指定
し、変更する能力 (3)アプリケーションプログラミングインターフェース(API)または他の
機構を提供し、アプリケーションがこの機能を実行する能力 図7および図8〜13に提供されるさらなる詳細およびステップは、上述の能
力を満たす本発明の実施形態のインプリメンテーションの例示的なフローチャー
トを提供する。この例示的なインプリメンテーションのための環境は、開発プラ
ットフォーム用のMicrosoftの標準プラットフォームソフトウェア開発
者向けキット(SDK)およびデバイスドライバキット(DDK)を備えた、M
icrosoft Visual CおよびMicrosoft MASMを用
いた環境で動作する標準Microsoft Windows(R)95である
。当業者であれば、他の実施形態を他のプラットフォーム上および他の環境内に
おいて実行できることを理解する。例えば、X−Windows(R)、OSF
Motif、Apple Macintosh OS、Java(R) OS
、および、同様のビデオ標準(VGA、SVGA、XGA、SXGA、UXGA
、8514/A)が実行される他のもの等に任意のグラフィカルインターフェー
ス環境内で、実施形態を実行することができる。Richard Wilton
によるMicrosoft出版から発行されたPC Video System
s、および、Richard F.FerranoによるAddison We
sleyから発行されたProgrammer’s Guide to the
EGA,VGA,and Super VGA Cardsを参照されたい。
上記参考文献の全体を本明細書中で参考として援用する。上記参考文献は、Wi
ndows(R)環境で実施形態を実行するためにより多くの適切な背景情報を
提供する。
(2. Change video display area to support complementary GUI) The information display method of the embodiment of the present invention, which increases the display screen by using the physical overscan area, provides three capabilities. Can be achieved by (1) Ability to specify and change the visible resolution of the video display system such that some parts of the overscan area are visible, as shown in FIG. 6, (2) Video of the visible part of the overscan area. Ability to specify and modify display content (3) Provide an application programming interface (API) or other mechanism for an application to perform this function. Further details and steps provided in FIGS. 7 and 8-13 are: , Provides an exemplary flowchart of an implementation of an embodiment of the present invention that meets the above capabilities. The environment for this exemplary implementation is an M, with Microsoft's standard platform software developer kit (SDK) and device driver kit (DDK) for development platforms.
A standard Microsoft Windows (R) 95 operating in an environment using Microsoft Visual C and Microsoft MASM. One of ordinary skill in the art will appreciate that other embodiments can be performed on other platforms and in other environments. For example, X-Windows (R), OSF
Motif, Apple Macintosh OS, Java (R) OS
, And similar video standards (VGA, SVGA, XGA, SXGA, UXGA
, 8514 / A) may be implemented in any graphical interface environment such as others. Richard Wilton
PC Video System published by Microsoft Publishing by
s and Richard F.S. Addison We by Ferrano
Programmer's Guide to the issued by sley
See EGA, VGA, and Super VGA Cards.
All of the above references are incorporated herein by reference. The above references are Wi
It provides more pertinent background information for implementing embodiments in the Windows (R) environment.

【0026】 上述したように、本発明の方法およびシステムはまた、エミュレーションモー
ド等の他の技術を提供する。このようなエミュレーションモードは、別のディス
プレイコンテンツコントローラが、ネイティブGUIと並行ユーザインターフェ
ースとの間で使用可能な表示領域を共有することによって、並行ユーザインター
フェースに利用可能な表示領域のサイズを効率的に増加させる。エミュレーショ
ンモードは、一次GUIに割り当てられた表示領域の部分を効率的に縮小するこ
とによって、または、解像度を標準または非標準の解像度まで効率的に増加させ
、増加分のうちのいずれも一次GUIに提供することなく、この増加分を利用す
ることによって動作する。図14を参照して詳述されるエミュレーションモード
は、フックをビデオドライバへと提供し、画面のどの解像度のどの部分が一次G
UIに割り当てられているか、何が並行GUIに割り当てられているかを制御す
る。表示領域を増加するためにオーバースキャン法が用いられるか否かに関わら
ず、エミュレーションモードが、一次GUIと1つ以上の並行GUIとの間で表
示領域を共有するために用いられ得るという点に留意されたい。
As mentioned above, the method and system of the present invention also provide other techniques such as emulation mode. Such an emulation mode allows another display content controller to share the available display area between the native GUI and the concurrent user interface, thereby effectively sizing the available display area for the concurrent user interface. increase. The emulation mode effectively reduces the portion of the display area allocated to the primary GUI, or effectively increases the resolution to standard or non-standard resolutions, any of which is increased to the primary GUI. It works by utilizing this increment without providing it. The emulation mode detailed with reference to FIG. 14 provides hooks to the video driver so that what part of the screen resolution is the primary G.
Controls what is assigned to the UI and what is assigned to the parallel GUI. In that the emulation mode can be used to share the display area between the primary GUI and one or more parallel GUIs, whether or not the overscan method is used to increase the display area. Please note.

【0027】 別の表示コンテンツコントローラが、オーバースキャン法またはエミュレーシ
ョンモードのいずれも用いずに、相補GUIを表示することができると判断した
場合には、そのコントローラは、ネイティブオペレーティングシステムまたは一
次GUIによって提供される標準ウィンドウモードを用いようと試みる。
If another display content controller determines that the complementary GUI can be displayed without using either the overscan method or the emulation mode, then that controller is provided by the native operating system or the primary GUI. Try to use the standard window mode that is used.

【0028】 まとめると、別のディスプレイコンテンツコントローラは、ディスプレイのア
ドレス指定可能領域を増やすことによって(例えば、オーバースキャン領域を用
いるか、または、エミュレーションモードを用いて解像度を上げることによって
)、または、一次GUIが使用可能なディスプレイの部分を減らすことによって
、残りの表示領域を1つ以上の相補GUIが使用し得るように表示領域を増加さ
せ、相補GUIを用いる方法を確定する。オーバースキャン領域の使用は自動で
はなく、ハードウェアおよびソフトウェアシステムが、(ビデオドライバおよび
ハードウェアの知識またはヒューリスティックによって)このことを行うために
、ある程度アクセス可能である必要がある。オーバースキャン法を用いることが
できるか否かを判定するために、いくつかの機構が用いられ得、以下で詳述され
る。オーバースキャン法が特定のビデオディスプレイシナリオにおいて使用可能
でない場合には、別のディスプレイコンテンツコントローラは、「エミュレーシ
ョン」モードが使用可能であるかを判定し、一次GUIと任意の並行(相補)G
UIとの間のビデオディスプレイの解像度を共有する。これにより、アクセス可
能なオーバースキャン領域が効率的に作成される。
In summary, another display content controller can either increase the addressable area of the display (eg, by using overscan areas or by using emulation mode to increase resolution), or by the primary Decreasing the portion of the display available to the GUI increases the remaining display area so that it can be used by one or more complementary GUIs, and determines how to use the complementary GUI. The use of overscan areas is not automatic, and hardware and software systems need to be somewhat accessible (by knowledge or heuristics of the video driver and hardware) to do this. Several mechanisms can be used to determine whether the overscan method can be used and are detailed below. If the overscan method is not available in a particular video display scenario, another display content controller determines if the "emulation" mode is available and determines whether the primary GUI and any parallel (complementary) G
Share the resolution of the video display with the UI. As a result, the accessible overscan area is efficiently created.

【0029】 (2.1 表示領域を物理オーバースキャン領域に延ばす技術(オーバースキ
ャンモード)) ここで特に図7を参照すると、プログラムは初期化の際に、ユーザの選好およ
びプログラムのコンフィギュレーションに基づいて、「表示する境界線を識別す
る」にアクセスされる画面の境界線を決定し(ステップ106)、そして必要に
応じて、オーバースキャン領域における必要なディスプレイ変更を行うだけに十
分なビデオメモリが存在するか否かを判定する(ステップ106)。例えば、画
面を今、ピクセル当たり16ビットの1024×768の解像度に設定し、プロ
グラムが4つのグラフィカルインターフェースを各端部に1つ含み、各バー20
が20ピクセルの深さであるとすると、プログラムは、ビデオメモリが1.7M
B(必要なバイト数=ピクセル幅ピクセルごとのビットピクセルの高さ)よ
り大きいことをチェックする必要がある。この計算は、1つ以上のバーをオーバ
ースキャン画面上に表示し得る場合のみ必要である。計算がバー(単数または複
数)をオーバースキャン領域内に表示するだけに十分なビデオメモリが存在する
と判定することに失敗した場合、プログラムはエミュレーションモードでの実行
に進む。ディスプレイタイプ識別(ステップ102)において、プログラムは、
ディスプレイタイプおよび表示ドライバによって用いられるメモリ内の現在位置
を決定して、行われる任意のディスプレイ改変のサイズおよび位置(用いられる
オーバースキャン領域(単数または複数)のサイズおよび位置)を決定すること
を試みる。
(2.1 Technology for Extending Display Area to Physical Overscan Area (Overscan Mode)) Referring now particularly to FIG. 7, the program is initialized based on user preference and program configuration. "Identify borders to display" to determine the borders of the screen to be accessed (step 106), and if necessary, enough video memory to make the necessary display changes in the overscan area. It is determined whether or not it exists (step 106). For example, the screen is now set to a resolution of 1024 x 768 with 16 bits per pixel, and the program contains four graphical interfaces, one at each end and each bar 20
Is 20 pixels deep, the program uses 1.7M of video memory.
It must be checked that it is greater than B (number of bytes required = pixel width * bits per pixel * pixel height). This calculation is only necessary if one or more bars can be displayed on the overscan screen. If the calculation fails to determine that there is enough video memory to display the bar (s) in the overscan area, the program proceeds to run in emulation mode. In the display type identification (step 102), the program
Attempts to determine the display type and the current position in memory used by the display driver to determine the size and position of any display modifications that will be made (the size and position of the overscan region (s) used). .

【0030】 図8にさらに詳細に説明するように、プログラムはまず、照会ハードウェアレ
ジストリにおいて、ハードウェアレジストリを照会して(ステップ131)、登
録されたディスプレイタイプを判定しようとする。成功した場合、プログラムは
、サポートされたディスプレイタイプにおいて互換性情報を判定して(ステップ
135)、プログラムがこのディスプレイタイプをサポートし、そしてメモリ割
り当て情報を決定することを確認する。
As described in more detail in FIG. 8, the program first attempts to query the hardware registry in the query hardware registry (step 131) to determine the registered display type. If successful, the program determines compatibility information on the supported display type (step 135) to ensure that the program supports this display type and determines memory allocation information.

【0031】 ステップ131において決定されたハードウェアレジストリ情報が利用不可能
である場合、またはステップ131において決定されたディスプレイタイプがス
テップ104によってサポートされていないと判定された場合、プログラムはサ
ブルーチン照会ハードウェア(図8のステップ135)に示す別のアプローチを
用いて、BIOS(ステップ134)およびビデオチップセット66(ステップ
136)を照会して、以下すぐに説明する情報に類似した情報を求め得る。
If the hardware registry information determined in step 131 is not available, or if it is determined that the display type determined in step 131 is not supported by step 104, the program is the subroutine query hardware. Another approach, shown in (step 135 of FIG. 8), may be used to query the BIOS (step 134) and video chipset 66 (step 136) for information similar to that described immediately below.

【0032】 BIOSがステップ134においてアクセスされる場合、物理メモリはまず「
物理メモリ割り当て(Allocate Physical Memory)」
において割り当てられ(ステップ132)、そしてマイクロソフトのDPMI(
DOSプロテクトモードのインターフェース)を用いてアクセスされて、DPM
IをBIOSが常駐する線形メモリアドレスにマッピングする。物理メモリにD
PMIを用いて、BIOSの線形アドレスを物理メモリに割り当てる(ステップ
133)。
When the BIOS is accessed in step 134, the physical memory first
Allocate Physical Memory ”
(Step 132), and Microsoft's DPMI (
Access using the DOS protected mode interface)
Map I to the linear memory address where the BIOS resides. D in physical memory
A linear address of the BIOS is assigned to the physical memory using the PMI (step 133).

【0033】 以後、プログラムは、読み出しBIOSブロックにおいてBIOSを照会し、
VGA/XVAタイプおよび製造IDを検索する(ステップ134)。成功した
場合、ドライバおよびチップセットはさらに照会されて、ディスプレイタイプお
よび正確なチップセットの照会ドライバ/チップセットのメモリ位置を決定する
(ステップ136)。
Thereafter, the program queries the BIOS in the read BIOS block,
The VGA / XVA type and manufacturing ID are retrieved (step 134). If successful, the driver and chipset are further queried to determine the display type and the exact chipset inquiry driver / chipset memory location (step 136).

【0034】 互換性情報が標準のVGA、SVGA、XGA、SXGA、UXGAまたは8
514/A署名を示さない場合(ステップ134)、このルーチンは失敗を返す
。既知のチップセット製造業者のアイデンティフィケーションが見つかった場合
、ドライバおよび/またはチップセットは製造業者特定ルーチンをもって照会さ
れて(ステップ136)、必要に応じて、特定のチップセットを識別および初期
化し得る。
Compatibility information is standard VGA, SVGA, XGA, SXGA, UXGA or 8
If it does not indicate a 514 / A signature (step 134), this routine returns failure. If a known chipset manufacturer identification is found, the driver and / or chipset is queried with a manufacturer specific routine (step 136) to identify and initialize the particular chipset, if necessary. obtain.

【0035】 プログラムが、ディスプレイタイプを決定する際に、xSidesTMビデオ
ドライバ拡張部(VDE)によってサポートされるビデオデバイスドライバを識
別している場合、プログラムはVDEを用いて、オーバースキャンモードを実現
して実行に進む。xSidesTMVDEは、ビデオデバイスドライバの供給業
者によってより透過的に実現され得、そしてxSidesTM環境を合同してサ
ポートする拡張部である。
If the program identifies the video device driver supported by the xSides Video Driver Extensions (VDE) in determining the display type, the program uses VDE to implement overscan mode. And proceed to execution. The xSides VDE is an extension that can be implemented more transparently by video device driver vendors and jointly supports the xSides environment.

【0036】 ステップ104において、プログラムがディスプレイタイプを最終的に識別す
ることが不可能であった場合、ステップ131におけるレジストリ照会またはス
テップ135におけるハードウェア照会のいずれかが失敗したことにより、プロ
グラムは、「エミュレーション」モードでの実行に進む。
If, in step 104, the program was unable to finally identify the display type, then either the registry inquiry in step 131 or the hardware inquiry in step 135 failed, causing the program to Proceed to run in "emulation" mode.

【0037】 図7に戻ると、プログラムが「エミュレーション」モードに進む必要があると
プログラムがまだ決定していない場合、プログラムは、「オーバースキャン」モ
ードに進み得るか否かを判定する必要がある(ステップ104)。これが行われ
得る複数の機構がある。1セットのクラスが用いられ、このクラスはすべて、以
下に説明するVGAジェネリック技術に対応する共通のベースのクラスから得ら
れる。
Returning to FIG. 7, if the program has not yet determined that it needs to go to “emulation” mode, the program needs to determine if it can go to “overscan” mode. (Step 104). There are several mechanisms by which this can be done. A set of classes is used, all derived from a common base class that corresponds to the VGA generic technology described below.

【0038】 第1の機構はVGAジェネリック技術の一実現である。この機構を用いると、
ビデオカードに特定の情報は、VGAサポートを保証するもの以外には必要では
ない。標準のアプリケーションプログラミングインターフェース(API)のル
ーチンを用いて、第1の面および第2の面を割り当てる。
The first mechanism is an implementation of VGA generic technology. With this mechanism,
No video card specific information is needed other than to guarantee VGA support. Assign the first side and the second side using standard application programming interface (API) routines.

【0039】 第1の面の割り当ては常に、全画面表示に基づく。割り当てられた第1の面の
線形アドレスが与えられた場合、物理アドレスが得られ得、この線形アドレスは
、第1の面に直接隣接し、そしてこれゆえに、デスクトップディスプレイのすぐ
下にあるビデオメモリ内の場所の物理アドレスが、第1の面の物理アドレスに、
メモリ内の第1の面を維持するのに用いられるメモリのバイト数を加算した合計
によって、表されることが推定され得る。
The first side assignment is always based on a full screen display. Given the linear address of the assigned first side, a physical address may be obtained, which linear address is directly adjacent to the first side and is therefore the video memory immediately below the desktop display. The physical address of the location in is the physical address of the first side,
It can be deduced to be represented by the sum of the bytes of memory used to maintain the first side in memory.

【0040】 第1の面の物理アドレスが分かった後、ビデオメモリ内に表される第1の面の
サイズが決定され得る。
After knowing the physical address of the first side, the size of the first side represented in the video memory can be determined.

【0041】 例えば、システムはピクセル当たりのビット数、またはピクセル当たりのバイ
ト数に対して、800×600画面の解像度のCRのように見える。次いで、任
意の水平方向の長さ(stride)を表すCR内に格納された任意のデータが
含まれる。これは実際のスキャンラインの長さである。
For example, the system looks like a CR with a resolution of 800 × 600 screens for bits per pixel, or bytes per pixel. Then, any data stored in the CR that represents any horizontal length is included. This is the actual scanline length.

【0042】 次に、割り当てられた第2の面の物理アドレスが線形アドレスから得られる。
割り当てられた第2の面が、実際、第1の面に続くメモリ空間内に割り当てられ
ている(第2の面の物理アドレスの値が第1の面の物理アドレスの値に第1の面
のサイズを加算したものに等しい)場合、第2の面は、メモリ内のオーバースキ
ャンディスプレイの位置に決定される。
Next, the assigned second side physical address is obtained from the linear address.
The allocated second surface is actually allocated in the memory space following the first surface (the value of the physical address of the second surface is the same as the value of the physical address of the first surface. The second side is determined at the position of the overscan display in memory.

【0043】 しかし、これが正しくなく、第2の面が第1の面に続いていない場合には、別
のアプローチ機構が必要である。例えば、ビデオデバイスドライバからメモリを
「自由にし」、ビデオデバイスドライバデータを効果的に改変または移動させる
ことによって連続的なメモリを得る機構を用い得る。この機構は割り込みルーチ
ンを用いて、ドライバデータを透過的に移動し得る。
However, if this is incorrect and the second side does not follow the first side, another approach mechanism is needed. For example, a mechanism may be used that "frees" memory from the video device driver, effectively modifying or moving the video device driver data to obtain contiguous memory. This mechanism may use an interrupt routine to transparently move driver data.

【0044】 例えば、プログラムがインテル80386(またはこれ以上で互換性がある)
プロセッサから割り込み記述子テーブル(IDT)を識別し得る場合、プログラ
ムは、デバッグレジスタ(DR)を用いて、第1のディスプレイ面と第2のディ
スプレイ面との間に見られるドライバデータを、ビデオメモリのさらに下の位置
に移動させて、連続したメモリ空間をプログラムに利用可能にする。
For example, if the program is Intel 80386 (or higher compatible)
When the interrupt descriptor table (IDT) can be identified from the processor, the program uses the debug register (DR) to display the driver data found between the first display surface and the second display surface in the video memory. To a position further below to make contiguous memory space available to the program.

【0045】 IDTは各割り込みを、関連付けられたイベントを処理する命令の記述子に関
連付ける。例えば、ソフトウェア割り込み(INT3)が生成された(そして割
り込みがイネーブルにされた)場合、インテルプロセッサは自身が現在行ってい
ることを停止し、この割り込みを処理するために実行するコードアドレスの適切
な入力(すなわち、割り込みベクトル)をIDT内で調べる。コードは割り込み
サービスルーチン(ISR)として公知である。コードはISRの実行を開始す
る。割り込みから返る命令(IRET)がISRによって実行されると、プロセ
ッサは、割り込みの前に行っていたものを再開する。
The IDT associates each interrupt with a descriptor of the instruction that handles the associated event. For example, if a software interrupt (INT3) is generated (and the interrupt is enabled), the Intel processor will stop what it is currently doing and the appropriate code address to execute to handle this interrupt. Examine the input (ie interrupt vector) in the IDT. The code is known as an interrupt service routine (ISR). The code begins executing the ISR. When the instruction that returns from the interrupt (IRET) is executed by the ISR, the processor resumes what it was doing before the interrupt.

【0046】 インテル80386マイクロプロセッサ(またはこれ以上で互換性があるマイ
クロプロセッサ)は、デバッグを目的として通常用いられる1セットのシステム
レジスタを提供する。これらは技術的に、デバッグレジスタ(DR)と呼ばれる
。DRにより、コードの実行およびデータへのアクセスに対する制御が可能にな
る。DRは例外コードと共に用いられる。4つのアドレスレジスタ(すなわち、
コードおよび/またはデータの4つの異なる場所)(DR0、DR1、DR2お
よびDR3)がある。
The Intel 80386 microprocessor (or higher compatible microprocessor) provides a set of system registers commonly used for debugging purposes. These are technically called debug registers (DR). DR allows control over the execution of code and access to data. DR is used with the exception code. Four address registers (ie
There are four different places of code and / or data) (DR0, DR1, DR2 and DR3).

【0047】 制御レジスタ(DR7)をプログラムして、アドレスレジスタを選択的にイネ
ーブルにし得る。さらに、DR7を用いて割り込みを生成するメモリの場所への
アクセスの種類を制御する。例えば、特定のメモリ位置を読み出しおよび/また
は書き込む、あるいはメモリ位置を実行する(すなわち、コード実行)ために例
外を挙げ得る。
The control register (DR7) may be programmed to selectively enable the address register. In addition, DR7 is used to control the type of access to the memory location that generates the interrupt. For example, exceptions may be raised to read and / or write to a particular memory location, or to execute a memory location (ie code execution).

【0048】 最後に、ステータスレジスタ(DR6)を用いて、デバッグ例外(すなわち、
どのアドレスレジスタに例外が生成されたか)を検出および決定する。x86の
プロセッサがイネーブルにされ、そしてデータ基準が満たされた場合、x86の
プロセッサは割り込み1(INT1)を生成する。
Finally, using the status register (DR6), the debug exception (that is,
And in which address register the exception was generated). If the x86 processor is enabled and the data criteria are met, the x86 processor will generate an interrupt 1 (INT1).

【0049】 代替的表示コンテンツ制御器の一例示的な実現例は好適には、まずIDTを設
定して、新しいISRを示して、INT1の割り込みを処理する。次に、フック
されるコードのアドレス(すなわち、データのメモリ位置)を、アドレスレジス
タのうちの1つにプログラムして、制御レジスタ内の適切なビットを設定する。
x86のプロセッサがこの命令を実行する(すなわち、データのメモリ位置に触
れる)と、プロセッサはINT1を生成する。次いで、プロセッサは(上述した
ような)割り込み1 ISRを呼び出す。この時点で、ISRは、ほぼあらゆる
種類のプロセッサ操作、コード操作またはデータ操作を行い得る。完了すると、
ISRはIRET命令を実行し、プロセッサは、INT1が発生した時点より後
に実行を開始する。割り込みコードは割り込みの知識をまったく有さない。例示
の実施において用いるこの機構は、ビデオキャッシュおよびハードウェアカーソ
ルのメモリアドレスを移動させる。
An exemplary implementation of the alternative display content controller preferably first sets the IDT to indicate the new ISR and handles the INT1 interrupt. The address of the hooked code (ie, the memory location of the data) is then programmed into one of the address registers to set the appropriate bits in the control register.
When the x86 processor executes this instruction (ie, touches the memory location of the data), it generates INT1. The processor then calls the Interrupt 1 ISR (as described above). At this point, the ISR can perform almost any type of processor, code or data operation. When done,
The ISR executes the IRET instruction and the processor begins execution after the time when INT1 occurs. The interrupt code has no knowledge of interrupts. This mechanism used in the exemplary implementation moves the memory addresses of the video cache and the hardware cursor.

【0050】 要約すると、オーバースキャンがサポートされているか否かを判定する第1の
機構は、どのぐらいの物理領域をデスクトップに割り当てるかを決定し、これに
より、物理領域の下のパラレルGUIの第2の空間に隣接する領域をオーバース
キャン領域内に表示することが可能になる。新しく割り当てられた領域は、利用
可能なメモリの正に第1のブロックである。このブロックが第1の面にすぐ続く
場合、物理アドレスは、第1の面の物理アドレスに関連付けられた値に第1の面
のサイズを加算したものに対応する。これが当てはまる場合、メモリブロックは
連続的であり、このVGAジェネリック機構を用いてオーバースキャンモードに
進むことが可能であり、プログラムは図7のステップ104で真を返す。
In summary, the first mechanism for determining whether overscan is supported determines how much physical area is allocated to the desktop, and thus the parallel GUI below the physical area. It is possible to display the area adjacent to the two spaces in the overscan area. The newly allocated area is just the first block of available memory. If this block immediately follows the first side, the physical address corresponds to the value associated with the physical address of the first side plus the size of the first side. If this is the case, the memory block is contiguous and it is possible to go into overscan mode using this VGA generic mechanism and the program returns true in step 104 of FIG.

【0051】 この第1のVGAジェネリック機構を用い得ない場合、上述したように、ハー
ドウェアレジストリまたはBIOSから取り出されたビデオカードおよびドライ
バ名およびバージョン情報を、ルックアップテーブルと共に用いて、残っている
機構の中で最良の代替の機構を決定する。テーブルは、ハードウェアレジストリ
内に見られるドライバ名のリストのキーとなる1セットの標準を含む。ビデオチ
ップセットに特定の1クラスのオブジェクトを、VGAジェネリックオブジェク
トに基づいて、直接的または間接的に実例を示す。
If this first VGA generic mechanism cannot be used, the video card and driver name and version information retrieved from the hardware registry or BIOS, as described above, is used with the look-up table. Determine the best alternative mechanism among the mechanisms. The table contains a set of standards that are key to the list of driver names found in the hardware registry. An example of a class of objects specific to a video chipset, either directly or indirectly, based on VGA generic objects.

【0052】 ハードウェアのルックアップが信頼性の高い照合結果を出さない場合、信頼性
または信用性の高い補正係数を用い得る。例えば、ハードウェアのルックアップ
が所定の種類のXYZブランドのデバイスが用いられていると判定したが、特定
の指定されたXYZデバイスがルックアップテーブル内に見つからない場合、チ
ップセット製造業者からの一般モデルが利用可能である場合が多い。ビデオカー
ド上の情報が利用可能でない場合、プログラムは図7のステップ104で偽(f
alse)を返し、オーバースキャンモードに進まない。
If the hardware lookup does not give a reliable match result, a reliable or reliable correction factor may be used. For example, if a hardware lookup determines that a given type of XYZ brand device is being used, but the particular specified XYZ device is not found in the lookup table, then a generic chipset manufacturer Models are often available. If the information on the video card is not available, the program returns false (f
return) and do not proceed to overscan mode.

【0053】 オーバースキャンモードのサポートを判定する次の別の機構は面のオーバーレ
イを用いる。このアプローチへの第1のステップは、システムが面のオーバーレ
イをサポートするか否かを判定することである。ビデオドライバを呼び出して、
どの特徴がサポートされ、どの他の要素が必要であるかを決定する。面のオーバ
ーレイがサポートされている場合、例えば、倍率が必要であり得る。
The next alternative mechanism for determining support for overscan mode uses surface overlays. The first step to this approach is to determine if the system supports surface overlays. Call the video driver,
Determine which features are supported and which other elements are needed. If surface overlays are supported, for example, a scaling factor may be needed.

【0054】 例えば、2メガバイトのビデオRAMを用いる所与のマシーン内の特定のビデ
オカードは、比較的少量のビデオメモリに結合されたビデオカードの帯域幅また
はカードの速度が全幅にわたるオーバーレイを描くだけに十分でないため、ピク
セル当たり16ビットの1024×768ではなく、ピクセル当たり8ビットの
1024×768に、拡大縮小されていない面のオーバーレイをサポートし得る
。問題であるのは水平拡大縮小である場合が多く、これにより、ドライバが全幅
にわたるオーバーレイを描くことが妨害される。オーバーレイは、文字通りには
、第1の面の上に描かれた画像である。これは上述した第2の面ではない。通常
、システムは、ビデオドライバからハードウェアにその信号を送信し、次いで、
ハードウェアは2つの信号をマージして、これにより、第1の信号の上に第2の
信号がオーバーレイする。
For example, a particular video card in a given machine that uses 2 megabytes of video RAM will only draw an overlay over the full bandwidth of the video card's bandwidth or card speed combined with a relatively small amount of video memory. Since it is not enough, it may support an unscaled surface overlay to 8 bits per pixel 1024x768 instead of 16 bits per pixel 1024x768. Often the problem is horizontal scaling, which prevents the driver from drawing a full width overlay. The overlay is literally an image drawn on the first side. This is not the second aspect mentioned above. Usually the system sends that signal from the video driver to the hardware, and then
The hardware merges the two signals, which overlays the first signal with the second signal.

【0055】 システムが拡大縮小されていないオーバーレイをサポートし得ない場合、恐ら
く、帯域幅の問題またはメモリ問題のせいで、この機構は望ましくない。この機
構は拒否されないが、優先順位が低い選択肢となる。例えば、倍率が0.1より
低いと、通常のバーが引かれ得、そしてこのバーが端部の近位にクリッピングさ
れる。倍率が10%より高い場合、別のアプローチの機構が必要である。
If the system is unable to support unscaled overlays, this mechanism is not desirable, probably due to bandwidth or memory issues. This mechanism is not rejected, but it is a low priority option. For example, if the magnification is less than 0.1, a normal bar can be drawn and this bar clipped proximal to the end. If the magnification is higher than 10%, another approach mechanism is needed.

【0056】 次のセットの別の機構において、通常のデスクトップの表示領域にオーバース
キャンバー(単数または複数)の表示に用いられるオーバースキャン領域を加算
した領域を含むように、十分なサイズの第2の面が割り当てられる。これらの機
構を用いると、割り当てられた第2の面をメモリ内で第1の面と連続するように
配置する必要はない。しかし、これらのアプローチは、他のアプローチより多く
のビデオメモリを用いる。
In another mechanism of the next set, a second sufficiently sized to include an area of a normal desktop display plus an overscan area used to display the overscan bar (s). Faces are assigned. With these mechanisms, it is not necessary to place the assigned second side in memory in a contiguous manner with the first side. However, these approaches use more video memory than other approaches.

【0057】 第1のステップは、ビデオディスプレイ(第1の面)に、用いられるオーバー
スキャン領域を加算したものを含むように、十分なサイズの第2の面を割り当て
ることである。割り当てが失敗した場合、タスクを達成するのに十分なビデオメ
モリがなく、このセットの機構は飛ばされ、次の別の機構が試されることを意味
する。新しいメモリブロックが割り当てられた後、非常に小さい粒度のタイマー
を用いて、第1の面のコンテンツのメモリをこの第2の面の適切な場所上に単に
コピーする。このタイマーは、一秒当たり約85回でコピーを実行する。
The first step is to allocate a second surface of sufficient size to contain the video display (first surface) plus the overscan area used. If the allocation fails, it means that there is not enough video memory to accomplish the task and this set of mechanisms is skipped and the next alternative mechanism is tried. After the new memory block is allocated, a very small granularity timer is used to simply copy the memory of the content of the first side onto the appropriate location of this second side. This timer runs about 85 copies per second.

【0058】 オーバースキャンモードのサポートを決定する別の機構は、システムのページ
テーブルを用いて、Windows(R)のGDIなどのネイティブオペレーテ
ィングシステムのグラフィカルディスプレイインターフェースに対応するアドレ
スを探す変数である。当業者であれば、同様の方法をビデオデバイスドライバへ
の他のグラフィカルディスプレイインターフェースと共にシステム内で用い得る
ことを理解する。システムのページテーブル機構は、システムのページテーブル
を照会して、現在のGDI面アドレス、すなわち、ページテーブル内の第1の面
の物理アドレスを決定する。次いで、第2の面を、ビデオメモリに、表示される
オーバースキャン領域に必要なメモリを加算したものすべてを保持するだけに十
分に大きく作成する。次いで、この面を、システムのページテーブル内に押し込
み、そしてGDI面アドレスとしてアサートする。
Another mechanism that determines support for overscan mode is a variable that uses the system's page table to find the address that corresponds to the native operating system's graphical display interface, such as Windows® GDI. Those skilled in the art will appreciate that similar methods can be used in the system with other graphical display interfaces to video device drivers. The system page table mechanism queries the system page table to determine the current GDI plane address, ie, the physical address of the first plane in the page table. The second surface is then made large enough to hold all of the video memory plus the memory required for the displayed overscan area. This face is then pushed into the system's page table and asserted as the GDI face address.

【0059】 以後、GDIがドライバを介して第1の面から読み出すまたは第1の面に書き
込む場合、GDIは実際に、新しいより大きい面内の位置から読み出すまたはこ
の位置に書き込む。続いて、プログラムはGDIによってアドレス指定されてい
ない面領域を改変し得る。元の第1の面の割り当てを解除し、そしてメモリ使用
を改善し得る。この機構は、上述の機構よりメモリ効率が高く、好適な実施形態
である。しかし、ページテーブルを改変するこの機構は、共同プロセッサデバイ
スを含むチップセット上で正しく機能しない。最初のデバイス照会により、デバ
イスが共同プロセッサを含むことを示す場合、この変形機構は試されない。
Thereafter, when the GDI reads from or writes to the first surface via the driver, the GDI actually reads from or writes to a new larger in-plane location. Subsequently, the program may modify the surface area that is not addressed by GDI. It may deallocate the original first side and improve memory usage. This mechanism is more memory efficient than the mechanism described above and is the preferred embodiment. However, this mechanism of modifying the page table does not work properly on chipsets that include coprocessor devices. If the initial device query indicates that the device contains a coprocessor, this deformation mechanism is not tried.

【0060】 オーバースキャンモードのサポートを決定する上述の機構の他の変形を、得ら
れたクラスオブジェクトによって処理する。例えば、ビデオカードがCR内にビ
デオの解像度を表すのに10ビットより多いビットを必要とする場合、VGAジ
ェネリック機構は変化し得る。インスタンスの中には11ビットを必要とするも
のもあり得る。このようなレジスタは通常、連続したバイトを用いず、延長ビッ
トを用いて高次のビットのアドレス情報を指定する。この実施例において、11
番目のビットは通常、拡張されたCRレジスタ内で指定され、拡張されたCRレ
ジスタは通常チップ特定のものである。
Another variation of the above mechanism for determining support for overscan mode is handled by the resulting class object. For example, if the video card requires more than 10 bits in the CR to represent the resolution of the video, the VGA generic mechanism may change. Some instances may require 11 bits. Such registers typically do not use contiguous bytes, but extension bits to specify higher order bits of address information. In this example, 11
The second bit is usually specified in the extended CR register, which is usually chip-specific.

【0061】 同様に、面のオーバーレイ機構の変形は上述のような倍率を含む。この別の実
施形態は、得られたクラスオブジェクトを介して特定の実施例で処理され、そし
て特定の状況において好適な解決策であり得る。
Similarly, variations of the surface overlay mechanism include magnification as described above. This alternative embodiment is processed in a particular implementation via the resulting class object and may be the preferred solution in a particular situation.

【0062】 オーバースキャンモードがサポートされているか否かを決定し、続いて、オー
バースキャンモードを初期化するために用いられた上述の機構のいずれかが失敗
を返した場合、別のモード(例えば、「エミュレーション」モードまたは「ウィ
ンドウ」モード)に代わりに用い得る。
If any of the above mechanisms used to determine whether overscan mode is supported and subsequently initialize overscan mode returns a failure, another mode (eg, , "Emulation" mode or "window" mode).

【0063】 プログラムが「オーバースキャン」モードに進んだ場合、図7のステップ10
8のCRTCレジスタ解除に示すように、制御器レジスタすなわちCRをまずロ
ック解除して、CRを書き込み可能にする必要がある。図4に示し、そして表3
に説明する制御器レジスタ6H、16H、11H、10H、12Hおよび15H
に、標準の入力/出力機能を用いて、標準の入力/出力ポートを介してアクセス
し得る。制御器レジスタは、制御器レジスタ11H内のビット7をクリアにする
ことによってロック解除される。
If the program goes to “overscan” mode, step 10 of FIG.
The controller register, or CR, must first be unlocked and the CR made writable, as shown in the CRTC Register Release of 8. Shown in FIG. 4 and Table 3
Controller registers 6H, 16H, 11H, 10H, 12H and 15H described in
Can be accessed through standard input / output ports using standard input / output functionality. The controller register is unlocked by clearing bit 7 in controller register 11H.

【0064】 ビデオメモリのアドレス指定(ステップ112)はいくつかの手段のうちの1
つを介して達成される。1つは標準のVGA64Kbの「ハードウェアウィンド
ウ」を用いて、必要に応じて、ビデオメモリバッファ66B(図4)に沿って6
4Kbずつの増加で移動させることである。1つの例示の方法は、図11のステ
ップ138の線形のウィンドウ位置アドレスのビデオチップセットを照会するこ
とによって、線形のアドレス指定をイネーブルにすることである。メモリ内のこ
の32ビットのオフセットにより、プログラムが線形メモリを、プログラミング
によって操作され得る物理アドレスにマッピングすることが可能になる(図11
のステップ140および142)。
Video memory addressing (step 112) is one of several means.
Achieved through one. One uses a standard VGA 64Kb "hardware window," along with the video memory buffer 66B (FIG. 4) as needed.
It is to move in increments of 4 Kb. One exemplary method is to enable linear addressing by querying the linear window position address video chipset of step 138 of FIG. This 32-bit offset in memory allows the program to map linear memory to physical addresses that can be manipulated by programming (FIG. 11).
Steps 140 and 142).

【0065】 この時点において、プログラムはディスプレイのサイズを改変して(図7のス
テップ114)、境界線領域を含み得る。ディスプレイの解像度を変更してディ
スプレイのサイズを改変することを図9に詳細に示す。図9において、ルーチン
はまず、チェックを行い、システムが「エミュレーション」モードで実行してい
るかいないかを判定し(ステップ144)、実行している場合には、真を返す。
実行していない場合、ルーチンは、すべてのレジスタおよび値をその元の状態に
リセットして、ディスプレイをその元の外観に効果的に戻す(ステップ148〜
154)か否かを決定する。この決定は、現在の解像度(ステップ146)が標
準値を反映しているかまたは以前のプログラム操作を反映しているか(ステップ
148)などの複数のパラメータに基づく。標準の解像度がすでに設定されてい
る場合、変数をリセットして、指定の境界線領域を含む(ステップ150)。設
定されていない場合、レジスタを標準の値にリセットする。両方の場合において
、CRレジスタを調整して(ステップ154)、ディスプレイのスキャンされた
領域および空白にされた領域を改変する。上領域または横領域が改変されていな
い場合、既存のビデオメモリを図10のステップ162においてそれ相応に移動
させる。
At this point, the program may resize the display (step 114 in FIG. 7) to include the border area. Changing the display resolution to change the display size is shown in detail in FIG. In FIG. 9, the routine first checks to determine if the system is running in "emulation" mode (step 144) and, if so, returns true.
If not, the routine resets all registers and values to their original state, effectively returning the display to its original appearance (steps 148-).
154) or not. This decision is based on several parameters, such as whether the current resolution (step 146) reflects a standard value or a previous program operation (step 148). If the standard resolution is already set, the variable is reset to include the specified border area (step 150). If not set, reset register to standard value. In both cases, the CR register is adjusted (step 154) to modify the scanned and blanked areas of the display. If the top or side areas have not been modified, the existing video memory is moved accordingly in step 162 of FIG.

【0066】 上述のルーチンのいずれもが失敗を返す場合、プログラムは、「エミュレーシ
ョン」モード(図7のステップ113)、または可能な場合にはウィンドウモー
ド(図7のステップ116)での実行に進み得る。
If any of the above routines returns failure, the program proceeds to run in "emulation" mode (step 113 of FIG. 7) or window mode (step 116 of FIG. 7) if possible. obtain.

【0067】 本発明において、オーバースキャンモードを、実際のディスプレイモードを再
度環境設定して、改変された非標準型GUIモード(標準のディスプレイサイズ
または解像度を調整して、第1のディスプレイに加え第2のディスプレイを含む
)を追加することによって、第2のGUIを追加する技術としてみなし得る。例
えば、標準の640×480のディスプレイを本発明の技術によって改変してよ
り大きいディスプレイにする。このような選択のうちの1つは、元の640×4
80のディスプレイに対応し、別の選択は640×25の第2のGUIディスプ
レイに対応し得る。
In the present invention, the overscan mode is modified to the actual display mode again, and the modified non-standard GUI mode (standard display size or resolution is adjusted to be added to the first display). The second GUI can be considered as a technique for adding a second GUI. For example, a standard 640x480 display is modified by the techniques of the present invention into a larger display. One of these choices is the original 640x4
Corresponding to 80 displays, another choice may correspond to a 640x25 second GUI display.

【0068】 本発明のシステムの別の実施形態において、ビデオドライバをだましてより大
きい解像度にすることによって、リソースを第2のGUIに割り当てる。この技
術は、ビデオドライバがこの解像度で動作していると信じる解像度によって、ビ
デオドライバがシステムリソースを割り当てるため、十分なビデオメモリが割り
当てられ、そして十分なビデオメモリが使用されないことを保証する。1つ以上
の第2のユーザインターフェースを1つ以上の画面領域内で動作させるには、第
1の面の下で連続しているディスプレイ位置に関連付けられたビデオメモリまた
はフレームバッファ内のメモリを自由に利用可能にする必要がある。第2のユー
ザインターフェースのシステムリソースの割り当て問題を有していることが公知
であるハードウェアに特定の一連の小さいルーチンを利用すると、プログラムは
解像度が切替えられた場合にいつでもこのようなルーチンを実行して、特定のル
ーチンに関するチップセットを初期化し得る。プログラムが現在の特定のチップ
セットに関するルーチンを見つけた場合、このルーチンが起動される。ルーチン
はそれ自体を初期化して、ドライバのビデオ解像度テーブルに必要な変更を実行
し、再度イネーブルにし、そして続いて、十分な空間が1つ以上の第2のユーザ
インターフェースに利用可能となる。
In another embodiment of the system of the present invention, resources are assigned to the second GUI by tricking the video driver into a higher resolution. This technique ensures that enough video memory is allocated and not enough is used because the video driver allocates system resources with a resolution that the video driver believes is running at this resolution. To operate the one or more second user interfaces within the one or more screen areas, free the memory in the video memory or frame buffer associated with successive display positions below the first surface. Need to be available to. Utilizing a series of small routines specific to hardware known to have system resource allocation problems for the second user interface, the program executes such routines whenever the resolution is switched. To initialize the chipset for a particular routine. If the program finds a routine for the current particular chipset, this routine is invoked. The routine initializes itself, makes the necessary changes to the driver's video resolution table, re-enables, and then sufficient space is available to one or more second user interfaces.

【0069】 ビデオドライバは、再度イネーブルにされると、必要に応じて、ビデオ解像度
テーブルのデータによって、第1のディスプレイにビデオメモリを割り当てる。
したがって、改変された値の結果、より大きい割り当てが生じる。ビデオドライ
バが第1の面に必要なメモリを割り当てた後、ドライバは割り当てられたメモリ
外での改変を可能にしない。したがって、ドライバが現在の解像度よりちょうど
xバイト(xは1つ以上の第2のユーザインターフェースのサイズである)大き
い解像度に十分なメモリを割り当てる必要があると、ドライバを信じ込ませるこ
とによって、プログラムは、割り当てられたメモリ空間の内部使用も外部使用も
第2のユーザインターフェースと衝突し得ないことを確証し得る。
When re-enabled, the video driver allocates video memory for the first display as required by the data in the video resolution table.
Therefore, the modified value results in a larger allocation. After the video driver allocates the required memory for the first side, the driver does not allow modification outside the allocated memory. Therefore, by making the driver believe that the driver needs to allocate enough memory for a resolution that is just x bytes larger than the current resolution (where x is the size of one or more second user interfaces), the program will , It may be ensured that neither internal nor external use of the allocated memory space can conflict with the second user interface.

【0070】 ドライバをだましてさらなるリソースを割り当てさせることはさらに、ビデオ
ドライバの知らされているビデオモードテーブルの各インスタンスを改変し、し
たがって、第1のユーザインターフェースの画面サイズより大きい画面サイズを
生成することによっても行われ得る。この技術により、ドライバが指定のより高
い解像度に実際に移行して、第1のユーザインターフェースにより大きいディス
プレイ面の解像度を付与することを阻止する必要性が無くなる。ビデオドライバ
が新しい解像度を検証する場合、ビデオドライバは新しい解像度で更新されてい
ないハードウェアモードテーブルをチェックする。(「ハードウェアモードのテ
ーブル」は、上述のビデオ解像度テーブルの変形であり、知らされもせず、アク
セスも可能でない。)したがって、この検証は常に失敗し、ビデオドライバはこ
の解像度に移行することを拒否する。しかし、この技術が知らされたビデオモー
ド(解像度)のテーブルをドライバのプロセスにおいて十分に早い時期に改変す
るため、検証プロセス中に失敗が起こる前に、割り当てられたメモリ量が改変さ
れ、メモリアドレスは設定される。続いて、CRTCが改変された場合(ステッ
プ114)、ドライバは1つ以上の第2のユーザインターフェースに十分なメモ
リ(これは他の任意のプロセスまたは目的に利用可能でない)をすでに確保して
いる。
Tricking the driver into allocating additional resources further modifies each instance of the known video mode table of the video driver, thus creating a screen size larger than the screen size of the first user interface. It can also be done by This technique eliminates the need to prevent the driver from actually moving to the specified higher resolution and imparting a larger display surface resolution to the first user interface. If the video driver verifies the new resolution, the video driver checks the hardware mode table that has not been updated with the new resolution. (The "hardware mode table" is a variation of the video resolution table described above, and is neither known nor accessible.) Therefore, this verification will always fail and the video driver will be forced to transition to this resolution. Refuse. However, because this technique modifies the table of known video modes (resolutions) early enough in the driver's process, it modifies the amount of allocated memory before the failure occurs during the verification process, changing the memory address. Is set. Subsequently, if the CRTC is modified (step 114), the driver has already reserved sufficient memory for one or more second user interfaces, which is not available for any other process or purpose. .

【0071】 本発明のさらに別の実施形態において、エンベロッピング(envelopi
ng)ドライバを実際の(第1の)ビデオドライバ上にあるようにインストール
して、ハードウェア抽象層と第1のビデオドライバとの間にエンベロッピングド
ライバを埋めて(shim)、第1のドライバへのすべての呼び出しを処理でき
るようにする。この技術は第1のドライバおよびそのテーブルをチップセットの
特定の方式ではなく相当一般的な方式で改変する。エンベロッピングドライバは
第1のビデオドライバ内に埋め込まれて、第1のビデオドライバを往来する呼び
出しを透過的に処理する。エンベロッピングドライバは、第1のビデオドライバ
内にビデオの解像度テーブル(ドライバ内の複数の場所にあり得る)を探す。エ
ンベロッピングドライバはテーブルを改変する(例えば、800×600を80
0×625に増加させる)。1024×768のテーブルのエントリは、例えば
、1024×800のエントリになり得る。
In yet another embodiment of the invention, enveloping.
ng) the driver as if it were on the actual (first) video driver and shim the enveloping driver between the hardware abstraction layer and the first video driver to create the first driver. To be able to handle all calls to. This technique modifies the first driver and its table in a rather general way rather than a chipset specific way. The enveloping driver is embedded within the first video driver to transparently handle calls going to and from the first video driver. The enveloping driver looks for a resolution table for the video in the first video driver (which may be in multiple locations within the driver). The envelop driver modifies the table (e.g.
0x625). An entry in the 1024 × 768 table can be, for example, a 1024 × 800 entry.

【0072】 ビデオドライバをだます上述の技術と同様、第1のビデオドライバは新しい解
像度を検証し得ず、したがって、ディスプレイの解像度の設定を実際に変更し得
ない。結果、第1のビデオドライバは、メモリを割り当て、キャッシュ領域を割
り当て、メモリアドレスを決定し、そしてキャッシュを移動し、そして必要に応
じて、オフスクリーンバッファを移動するが、割り当てられた空間すべてを用い
たり、またはこの空間に入れたりする(draw)こともできない。
Fooling the Video Driver Similar to the techniques described above, the first video driver cannot verify the new resolution and, therefore, cannot actually change the resolution setting of the display. As a result, the first video driver allocates memory, allocates cache areas, determines memory addresses, moves the cache, and moves off-screen buffers as needed, but with all the allocated space. It cannot be used or drawn into this space.

【0073】 (2.2 表示領域を共有する技術(エミュレーションモード)) エミュレーションモードは図14に示す「フッキング(hooking)」機
構を用いて、表示領域およびドライバリソースを用いて、再度割り当てる。上述
したように、ビデオデバイスドライバがハードウェアレジストリまたはBIOS
などを介して識別された後、ドライバ内への特定のプログラミングインターフェ
ースの入力点がフックされて(例、ステップ117)、ドライバへのパラメータ
およびドライバからのパラメータを制御する。オペレーティングシステムのグラ
フィカルデバイスインターフェース、例えば、GDIがビデオデバイスドライバ
への入力点を呼び出した場合、代替的表示コンテンツ制御器がドライバに伝えら
れたパラメータおよび/またはドライバから返ってきた値を改変し、これにより
、ネイティブオペレーティングシステムのグラフィカルデバイスインターフェー
スに通信されるディスプレイの属性を制御する。したがって、プログラムはグラ
フィカルデバイスインターフェースに対する、およびグラフィカルデバイスイン
ターフェースからのビデオデバイスドライバへの呼び出しを「フック」する(す
なわち、傍受する)。
(2.2 Technology for Sharing Display Area (Emulation Mode)) The emulation mode is reallocated by using the display area and the driver resource by using the “hooking” mechanism shown in FIG. As mentioned above, the video device driver may be a hardware registry or a BIOS.
Once identified, such as through, the entry point of a particular programming interface into the driver is hooked (eg, step 117) to control parameters to and from the driver. When an operating system graphical device interface, eg, GDI, calls an input point to a video device driver, an alternative display content controller modifies the parameters communicated to the driver and / or the value returned from the driver, Controls the attributes of the display that are communicated to the native operating system's graphical device interface. Thus, the program "hooks" (ie, intercepts) calls to and from the graphical device interface to the video device driver.

【0074】 例えば、「再度イネーブル」機能をディスプレイドライバ内にフックすること
によって(ステップ117)、プログラムは画面領域を異なる方法で割り当て得
る(ステップ119)。
The program may allocate the screen area differently (step 119), for example by hooking a “re-enable” function into the display driver (step 117).

【0075】 (1)設定モードにおいて(ステップ121)、解像度変更のリクエストを傍
受し、そして次に高い、サポートされた画面の解像度を識別し、そしてより高い
解像度をビデオデバイスドライバに伝え、そして、ドライバが変更を承認した場
合に返ってきた値(これは新しい解像度を反映している)を傍受して、代わりに
元のリクエストされた解像度を実際に返す。例えば、GDIが640×480の
解像度から800×600の解像度への変更をリクエストした場合、プログラム
はリクエストを傍受し、そしてこれを改変して、ビデオデバイスドライバを80
0×600より高い次にサポートされた解像度(例えば、1024×768)に
変更する。ドライバは画面の解像度を1024×768に変更して、この新しい
解像度を返す。プログラムは返ってきたリクエストを傍受して、代わりに、元の
リクエスト800×600をGDIに伝える。ビデオデバイスドライバは102
4×768のメモリ領域を割り当て、そしてこれを表示する。GDIおよびネイ
ティブOSはデスクトップをディスプレイの800×600の領域に表示し、画
面の右および下端部における領域をプログラムが利用できるように残しておく。
(1) In setting mode (step 121), intercept the resolution change request and identify the next higher supported screen resolution, and inform the video device driver of the higher resolution, and If the driver approves the change, it intercepts the value returned (which reflects the new resolution) and instead returns the original requested resolution. For example, if GDI requests a change from 640x480 resolution to 800x600 resolution, the program intercepts the request and modifies it to make the video device driver 80
Change to the next supported resolution higher than 0x600 (eg, 1024x768). The driver changes the screen resolution to 1024x768 and returns this new resolution. The program intercepts the returned request and, instead, passes the original request 800x600 to GDI. 102 video device drivers
Allocate a 4x768 memory area and display it. GDI and the native OS display the desktop in an 800x600 area of the display, leaving areas at the right and bottom edges of the screen available to the program.

【0076】 (2)共有モードにおいて(ステップ123)、プログラムはビデオデバイス
ドライバから返ってくるリクエストのみ傍受し、そして値を改変して、実際の画
面の解像度に関するグラフィカルデバイスインターフェースの理解を変更する。
例えば、GDIが800×600の解像度から1024×768の解像度への変
更をリクエストした場合、プログラムは、返ってきた承認を傍受して、返ってき
たリクエストをGDIに伝える前に、所定の量(例えば、32)を減算する。ビ
デオデバイスドライバは1024×768のメモリ領域を割り当てて表示する。
GDIはデスクトップをディスプレイの1024×736の領域に表示し、画面
の下端部における領域をプログラムが利用できるように残しておく。
(2) In shared mode (step 123), the program intercepts only the request coming back from the video device driver and modifies the value to change the understanding of the graphical device interface regarding the actual screen resolution.
For example, if GDI requests a change from a resolution of 800x600 to a resolution of 1024x768, the program intercepts the returned authorization and sends a predetermined amount ( For example, 32) is subtracted. The video device driver allocates and displays a memory area of 1024 × 768.
GDI displays the desktop in a 1024 × 736 area of the display, leaving the area at the bottom of the screen available to the program.

【0077】 (3)ステップダウンモードにおいて(ステップ125)、プログラムはステ
ップアップモードの逆を実行する。すなわち、プログラムは解像度変更リクエス
トを傍受し、解像度変更をリクエストするが、次に低い解像度をグラフィカルデ
バイスインターフェースに返す。例えば、GDIが640×480の解像度から
800×600の解像度への変更をリクエストした場合、プログラムは、リクエ
ストを傍受して、これを改変して、ビデオデバイスドライバを800×600に
変更する。ビデオデバイスドライバは画面の解像度を800×600に変更して
、新しい解像度を返す。プログラムは返ってきたリクエストを傍受して、代わり
に、次に低い解像度640×480をGDIに伝える(リクエストを否認する)
。ドライバは800×600のメモリ領域を割り当ててこれを表示する。GDI
およびネイティブOSはデスクトップをディスプレイの640×480の領域に
表示し、画面の右および下端部における領域をオーバースキャンプログラムが利
用できるように残しておく。
(3) In step down mode (step 125), the program performs the reverse of step up mode. That is, the program intercepts the resolution change request and requests a resolution change, but returns the next lower resolution to the graphical device interface. For example, if GDI requests a change from 640x480 resolution to 800x600 resolution, the program intercepts the request and modifies it to change the video device driver to 800x600. The video device driver changes the screen resolution to 800x600 and returns the new resolution. The program intercepts the returned request and, instead, tells GDI the next lower resolution 640x480 (denies the request).
. The driver allocates 800 × 600 memory area and displays it. GDI
And the native OS displays the desktop in a 640x480 area of the display, leaving areas at the right and bottom edges of the screen available to the overscan program.

【0078】 これらのフッキング機構の別の実施形態は、特定のGDI機能に用いられるX
、Yオフセットを改変するために必要なすべてのビデオデバイスドライバ機能を
フックする。効果的に、これは、より大きい画面表示領域内でGDI表示領域を
移動させる。この機構により、下端部および/または右端部に最初に生成された
空間のいくつかまたはすべてを共有することによって、上端部および左端部上に
エミュレーションモードの空間を生成することが可能になる。
Another embodiment of these hooking mechanisms is the X used for specific GDI functions.
, Hooks all video device driver functions needed to modify the Y offset. Effectively, this moves the GDI display area within the larger screen display area. This mechanism allows creating emulation mode space on the top and left edges by sharing some or all of the space originally created at the bottom and / or right edges.

【0079】 上述したように、ビデオデバイスドライバがフックされ得ない場合、「エミュ
レーション」モードはサポートされ得ず、プログラムは、図7のステップ116
を参照して説明したように、「ウィンドウ」モードでの実行に進む。ウィンドウ
モードは、ネイティブオペレーティングシステムのGUIに対して確立されたA
PIルーチンを用いて、標準のウィンドウの表示領域内で「アプリケーションツ
ールバー」として実行する。標準のアプリケーションとして実行すると、プログ
ラムがネイティブOS上のすべてのアプリケーション(例えば、ウィンドウ作成
、ツールバーインターフェースのドッキングなど)に利用可能な機構を利用する
ことが可能になり、そしてプログラムが標準の条件下で実行することが可能にな
る。
As mentioned above, if the video device driver cannot be hooked, the “emulation” mode cannot be supported and the program will proceed to step 116 of FIG.
Proceed to execution in "window" mode as described with reference to. Window mode is established for native operating system GUIs.
It runs as an "application toolbar" within the display area of a standard window using a PI routine. Running as a standard application allows the program to take advantage of the mechanisms available to all applications on the native OS (eg window creation, toolbar interface docking, etc.), and the program under standard conditions. It becomes possible to carry out.

【0080】 要約すると、代替的表示コンテンツ制御器は、ディスプレイのアドレス指定可
能領域を増加させることにより(例えば、オーバースキャン領域を用いて、また
はエミュレーションモードを用いて解像度を増加させることにより)、または第
1のGUIによって使用可能なディスプレイの部分を少なくして、残りの表示領
域が1つ以上の相補的なGUIによって用いられ得るようにすることにより、表
示領域をいかに増やして相補的なGUIを利用するかを決定する。オーバースキ
ャン技術が特定のビデオ表示のシナリオにおいて利用可能でない場合、代替的表
示コンテンツ制御器は、「エミュレーション」モード(これは、第1のGUIと
任意の第2の(相補的)GUIとの間でビデオ表示の解像度を共有する)が用い
られ得るか否かを判定する。
In summary, the alternative display content controller may increase the addressable area of the display (eg, by using overscan areas or by using emulation mode to increase resolution), or By reducing the portion of the display available to the first GUI so that the remaining display area can be used by one or more complementary GUIs, the display area can be increased to provide complementary GUI. Decide whether to use. If the overscan technique is not available in a particular video display scenario, the alternative display content controller may be in an "emulation" mode, which is between the first GUI and any second (complementary) GUI. Share resolution of video display at) can be used.

【0081】 3.画像を改変された表示領域に提供する 図10を参照して説明したように、本発明の例示の実施形態の第2段階は、当
該技術分野において通常用いられる、新しい画像をオフスクリーンバッファにペ
イントし(ステップ118)、コンテンツを可視状態にする(ステップ120)
ことから開始する。
3. Providing an Image to a Modified Display Area As described with reference to FIG. 10, the second stage of the exemplary embodiment of the present invention involves painting a new image into an off-screen buffer, which is commonly used in the art. (Step 118), and the content is made visible (step 120).
Start with that.

【0082】 プログラムモードを決定および初期化した後、プログラムはデータをこれらの
技術のうちのいずれかによって適宜表示し得る。
After determining and initializing the program mode, the program may display the data as appropriate by any of these techniques.

【0083】 (1) 次のセクションにおいて説明するように、標準のAPI呼び出しを用
いて、データをオフスクリーンバッファに提供し、次いで、「BitBlt」関
数の入力点を表示ドライバ内にフックして、オフセットおよびサイズのパラメー
タを改変すると、プログラムは続いて、BitBltをAPIがオンスクリーン
であると信じている領域外の領域にリダイレクトする。
(1) Use standard API calls, as described in the next section, to provide data to an off-screen buffer, then hook the input point of the "BitBlt" function into the display driver, Modifying the offset and size parameters causes the program to subsequently redirect BitBlt to an area outside the area that the API believes is on-screen.

【0084】 (2) 上述した第1の面アドレスおよび第2の面アドレスの機構を用いると
、プログラムは、プログラムが利用できるままであるデスクトップ外のメモリ位
置(単数または複数)の線形アドレスを決定して、図11のステップ158およ
び142、ならびに図10のステップ154に示すようなメモリ位置に直接提供
し得る。
(2) Using the first side address and second side address mechanisms described above, the program determines the linear address of the off-desktop memory location (s) at which the program remains available. And may be provided directly to memory locations as shown in steps 158 and 142 of FIG. 11 and step 154 of FIG.

【0085】 (3)ビデオデバイスドライバエスケープを用いると、デバイスドライバイン
ターフェースのドメイン内の標準の機構がビデオバッファに直接ブリット(bl
it)し得る。
(3) With video device driver escape, standard mechanisms within the domain of the device driver interface directly blit (bl) to the video buffer.
it)

【0086】 (4)プログラムが「ウィンドウ」モードにある場合(ステップ156)、オ
フスクリーンバッファは標準のウィンドウクライアント空間にペイントされ(ス
テップ166)、そしてジェネリックウィンドウイングシステムのルーチンを用
いて可視状態にされる(ステップ164)。
(4) If the program is in "window" mode (step 156), the off-screen buffer is painted in standard window client space (step 166) and made visible using the generic windowing system routines. (Step 164).

【0087】 (4.改変されたビデオ表示領域と共に行うイベント処理) プログラムの好適な実施形態は、システムおよびユーザイベントを処理する標
準のアプリケーションメッセージのループを含む(ステップ122)。最小限の
機能のプロセスループの一実施例は図12にある。ここで、代替的表示コンテン
ツ制御器は、ペイントリクエスト(ステップ170)、システム解像度の変更(
ステップ172)および作動/停止(ステップ174)などの最低限のセットの
システムイベントを処理する。ここでも、図13に詳細に説明するユーザイベン
ト(例えば、キーイベントまたはマウスイベント)が処理され得る(ステップ1
84)。システムのペイントメッセージは、図10において先に説明したように
、適宜、オフスクリーンバッファ内をペイントして(ステップ178)、適宜、
ウィンドウバッファまたはディスプレイバッファをペイントする(ステップ18
0)ことによって処理される。システム解像度のメッセージは、システムまたは
ユーザが画面または色の解像度を変更した場合いつでも受信される。プログラム
は、すべてのレジスタをリセット、および/または現在のモードに適切な場合、
正しい新しい値にフックして、次いで、図9において先に説明したように、ディ
スプレイの解像度を変更して(ステップ182)、改変された新しい解像度を反
映させる。プログラムがアクティブなアプリケーションでない場合、ユーザメッ
セージは無視され得る。
4. Event Handling with Modified Video Display Area A preferred embodiment of the program includes a standard application message loop that handles system and user events (step 122). An example of a minimally functional process loop is in FIG. Here, the alternative display content controller may request a paint request (step 170), change system resolution (step 170).
Process a minimal set of system events such as step 172) and activation / deactivation (step 174). Again, user events (e.g., key events or mouse events) detailed in Figure 13 may be processed (step 1).
84). As for the system paint message, the inside of the off-screen buffer is appropriately painted (step 178) as described above with reference to FIG.
Paint the window or display buffer (step 18)
0) is processed. System resolution messages are received whenever the system or user changes screen or color resolutions. The program resets all registers and / or if appropriate for the current mode,
Hook to the correct new value and then change the resolution of the display (step 182) to reflect the modified new resolution, as previously described in FIG. User messages may be ignored if the program is not an active application.

【0088】 図13は、ユーザ入力イベントを実施する一方法を説明する。この実施形態に
おいて、ユーザが代替的表示コンテンツ制御器の領域のユーザインターフェース
内にポインティングデバイスの入力ツールを有するように、カーソルサポートま
たはマウスサポートを実施するために用いられる3つの別の機構がある。
FIG. 13 illustrates one method of implementing a user input event. In this embodiment, there are three different mechanisms used to implement cursor support or mouse support so that the user has a pointing device input tool within the user interface in the area of the alternative display content controller.

【0089】 1つの好適な機構によれば、GDIの「クリップレクト(cliprect)
」を改変して、バーの表示領域を含む。これにより、カーソルがオーバースキャ
ン領域内に移動する際にオペレーティングシステムが、カーソルをクリッピング
しないようにする。この変更は必ずしもカーソルを可視状態にするわけでも、イ
ベントフィードバックをアプリケーションに提供するわけでもないが、第1のス
テップである。
According to one preferred mechanism, GDI's “cliplect”
To include the display area of the bar. This prevents the operating system from clipping the cursor as it moves into the overscan area. This modification does not necessarily make the cursor visible or provide event feedback to the application, but it is the first step.

【0090】 現在のウィンドウズ(R)アプリケーションの中には、クリップレクトを継続
的にリセットするものもある。入力フォーカスの使用または入力フォーカスの損
失後、クリップレクトをリセットすることは、標準のプログラミング手順である
。アプリケーションの中には、アクティブアプリケーションによって必要とされ
る場合に、クリップレクトを用いてマウスを特定の領域に制限するものもある。
プログラムが入力フォーカスを受信した場合はいつでも、プログラムはクリップ
レクトを再度アサートし、これにより、マウスがプログラムの表示空間内に移動
するだけに十分、入力フォーカスが大きくなる。
Some current Windows® applications continually reset Cliplect. Resetting the cliplect after using or losing input focus is a standard programming procedure. Some applications use cliplect to limit the mouse to a particular area when needed by an active application.
Whenever the program receives input focus, the program reasserts cliprect, which causes the input focus to be large enough to move the mouse into the display space of the program.

【0091】 クリップレクトが拡大された後、マウスはメッセージを拡大領域内の動きを反
映するオペレーティングシステムに生成し得る。GDIはカーソルをGDI解像
度であると理解している外側を描かず、「境界の外に出た」イベントメッセージ
をアプリケーションに伝えない。好適なプログラムはVxDデバイスドライバお
よび関連の呼び戻し機能を用いて、リング0においてハードウェアドライバの呼
び出しを行って、実際の物理的デルタまたはマウスの位置および状態の変化をモ
ニタリングする。各マウスの位置または状態の変化はイベントとしてプログラム
に返され、プログラムはディスプレイ空間内の位置をグラフィックに表し得る。
After the cliplect is magnified, the mouse may generate a message to the operating system that reflects movement within the magnified area. GDI does not draw the cursor outside the understanding it is in GDI resolution and does not convey to the application an "out of bounds" event message. The preferred program uses the VxD device driver and associated recall functions to make hardware driver calls on ring 0 to monitor actual physical delta or mouse position and state changes. Each mouse position or state change is returned as an event to the program, which may graphically represent the position in display space.

【0092】 別の機構は、クリップレクトを用いる1クラスのデバイスドライバとの衝突が
生じないようにクリップレクトを拡大する必要性をなくして、仮想表示のパンを
促進する。マウス入力デバイスに直接照会すると、プログラムは「デルタ」すな
わち位置および状態の変化を決定し得る。カーソルが標準のディスプレイ上のピ
クセルの正に最後の行または列に触れるときはいつでも、カーソルは、この最後
の行または列のみからなる長方形にクリップレクトを設定することによってその
場所に制限される。「仮想」のカーソル位置は入力デバイスから利用可能なデル
タから得られる。実際のカーソルは隠され、仮想のカーソル表示が仮想の座標に
はっきりと表示されて、正確なフィードバックをユーザに提供する。仮想の座標
がオーバースキャン領域からデスクトップ上に移動する場合、クリップレクトが
クリアにされ、仮想の表示が取り除かれ、そして実際のカーソルが画面上に再格
納される。
Another mechanism facilitates panning of the virtual display, eliminating the need to magnify the cliplect so that it does not conflict with a class of device drivers that use it. When directly queried with a mouse input device, the program may determine a "delta" or change in position and state. Whenever the cursor touches the very last row or column of pixels on a standard display, the cursor is restricted to that location by setting the cliplect to a rectangle consisting of this last row or column only. The "virtual" cursor position is obtained from the delta available from the input device. The actual cursor is hidden and the virtual cursor display is clearly displayed at the virtual coordinates to provide the user with accurate feedback. When the virtual coordinates move from the overscan area onto the desktop, the cliplect is cleared, the virtual display is removed, and the actual cursor is restored on the screen.

【0093】 第3の別の機構は、透明なウィンドウを作成する。このウィンドウは、実際の
ウィンドウズ(R)のデスクトップの表示領域を所定数のピクセル数(例えば、
2または4ピクセル)だけ重複する。マウスがこの小さくて透明な領域に入ると
、プログラムはカーソルを隠す。次いで、カーソル画像がオーバースキャンバー
領域内で、X座標は同じで、Y座標においてはオーバースキャン領域内に相応分
だけオフセットされて表示される。2つのピクセルの重複領域を用いる場合、こ
の方法は粒度2を用いる。したがって、このAPIのみのアプローチは、限られ
た垂直の粒度のみを提供する。この別の機構は、すべての実現が、クリップレク
トデバイスドライバおよび入力デバイスドライバの解決策が失敗した場合でさえ
も、所定の程度のマウス入力サポートを有することを保証する。
A third alternative mechanism creates a transparent window. This window occupies the display area of the actual Windows (R) desktop by a predetermined number of pixels (for example,
2 or 4 pixels). When the mouse enters this small, transparent area, the program hides the cursor. Next, the cursor image is displayed in the overscan bar area with the same X coordinate, and in the Y coordinate with a corresponding offset in the overscan area. The method uses a granularity of 2 when using an overlapping region of two pixels. Therefore, this API-only approach provides only limited vertical granularity. This alternative mechanism ensures that all implementations have a certain degree of mouse input support, even if the cliprect and input device driver solutions fail.

【0094】 同様に、キーボード入力は、マウスがプログラムの表示空間内にあると判定さ
れた場合はいつでも捉えられ(trap)得る。ネイティブOSおよびグラフィ
カルユーザインターフェースに利用可能な標準のフッキング機構あるいはキーボ
ードドライバ上に直接あるフックを用いると、プログラムがキーイベントを捉え
て処理すると決定した場合(例えば、ユーザがマウスをプログラムの表示空間上
で移動する場合)はいつでも、キーイベントが捉えられて処理され得る。キー入
力が捉えられた場合、他のアプリケーションは、キーボードイベントを閲覧する
ことを阻止され得る。キーボードドライバ自体がフックされた場合、GDIでさ
えキー入力イベントを得ない。
Similarly, keyboard input can be trapped whenever the mouse is determined to be in the program's display space. If the program decides to catch and process key events using the standard hooking mechanism available for native OS and graphical user interfaces or hooks directly on the keyboard driver (for example, the user can move the mouse over the display space of the program). Key events can be captured and processed at any time. If the keystroke is captured, other applications may be prevented from viewing the keyboard event. Even GDI does not get keystroke events if the keyboard driver itself is hooked.

【0095】 図7はさらに、プログラムが閉じられた場合に(ステップ124)実行される
クリーンアップ機構を説明する。ディスプレイは元の解像度にリセットされ(ス
テップ126)、そしてCRレジスタはその元の値にリセットされ(ステップ1
28)そしてロックされる(ステップ130)。
FIG. 7 further illustrates the cleanup mechanism performed when the program is closed (step 124). The display is reset to its original resolution (step 126) and the CR register is reset to its original value (step 1).
28) and locked (step 130).

【0096】 (5.さらなる/別の実施形態) (5.1 表示領域を改変して相補的GUIをサポートするオーバースキャン
技術のさらなる実施形態) 以下の実施形態を用いて表示領域のサイズまたは表示領域の割り当てを改変し
て、相補的ユーザインターフェースをサポートする。
5. Further / Alternative Embodiments 5.1 Further Embodiments of Overscan Techniques that Modify Display Areas to Support Complementary GUIs The following embodiments are used to size or display the display areas. The area allocation is modified to support complementary user interfaces.

【0097】 1.CRT制御器レジスタ(図5)の代わりにVESA BIOS拡張部(V
BE)を用いて、必要に応じて、線形のウィンドウ位置アドレスを決定および/
またはアクセスする(ステップ138)。
1. Instead of the CRT controller register (Figure 5), the VESA BIOS extension (V
BE) to determine the linear window position address and / or
Alternatively, it is accessed (step 138).

【0098】 2.CRT制御器レジスタ(図5)の代わりにVESA BIOS拡張部(V
BE)を用いて、CRTが描く可視的な表示領域を増やす。
2. Instead of the CRT controller register (Figure 5), the VESA BIOS extension (V
BE) is used to increase the visible display area drawn by the CRT.

【0099】 3.CRT制御器レジスタおよび/またはディスプレイバッファへの直接アク
セスの代わりに、マイクロソフトのDirectXおよび/またはDirect
Drawなどの直接ドライバおよび/またはハードウェア操作が可能なAPI(
アプリケーションプログラミングインターフェース)62を用いる。
3. Instead of direct access to the CRT controller registers and / or the display buffer, Microsoft's DirectX and / or Direct
Direct driver such as Draw and / or API that can operate hardware (
An application programming interface) 62 is used.

【0100】 4.直接ドライバおよび/またはハードウェア操作が可能な、マイクロソフト
のDirectXおよび/またはDirectDrawなどのAPI(アプリケ
ーションプログラミングインターフェース)62を用いて、第2の仮想表示面を
第1のディスプレイ上に作成し、同じ目的で別個で明白なグラフィカルユーザイ
ンターフェースを表示する。
4. A second virtual display surface is created on the first display using an API (application programming interface) 62 such as Microsoft DirectX and / or DirectDraw, which allows direct driver and / or hardware operation, for the same purpose. To display a separate and clear graphical user interface.

【0101】 5.CRT制御器レジスタおよび/またはディスプレイバッファへのDire
ctXアクセスの代わりに、オペレーティングシステム63のシェルまたはシェ
ルのトレイウィンドウコンポーネントに対して改変を行う。
5. Dir to CRT controller register and / or display buffer
Instead of ctX access, a modification is made to the operating system 63 shell or tray window component of the shell.

【0102】 6.オペレーティングシステム63のシェルまたはシェルのトレイウィンドウ
コンポーネントに対して改変を行って、第2の仮想表示面を第1のディスプレイ
上に作成し、同じ目的で別個で明白なグラフィカルユーザインターフェースを表
示する。
6. A modification is made to the shell of the operating system 63 or the tray window component of the shell to create a second virtual display surface on the first display to display a separate and unambiguous graphical user interface for the same purpose.

【0103】 7.この機能を実際のビデオドライバ64および/またはミニドライバ内に構
築する。マイクロソフトウィンドウズ(R)は、仮想デバイスドライバ、VxD
、および/または、ハードウェアおよびドライバとさらに直接インターフェース
を取り得るシステムサービスにサポートを提供する。これらはさらに、APIを
含んで、アプリケーションに改変されたディスプレイへのインターフェースを提
供し得る。
7. This functionality is built into the actual video driver 64 and / or minidriver. Microsoft Windows (R) is a virtual device driver, VxD
, And / or support system services that may interface more directly with hardware and drivers. These may further include APIs to provide the application with an interface to the modified display.

【0104】 8.VGAレジスタを有するまたは有さない同じ機能をBIOSに組み込み、
そしてAPIを提供してアプリケーションに改変されたディスプレイへのインタ
ーフェースを可能にする。
8. Incorporating the same functionality into the BIOS with or without VGA registers,
It then provides an API to allow the application to interface to the modified display.

【0105】 9.同じ機能を、例えば、CPUへのハードウェアインターフェースおよび/
またはソフトウェアインターフェースを備えたモニタ自体などのハードウェアデ
バイス内に組み込む。
9. The same function, for example, a hardware interface to the CPU and / or
Or embedded within a hardware device such as the monitor itself with a software interface.

【0106】 10.同じ機能を、ビデオデバイスシステムを介してまたは介さずにオーバー
レイデバイス内に組み込み、ディスプレイをオーバーレイして、インターフェー
スを備えたアプリケーションをディスプレイに提供する。
10. The same functionality is built into the overlay device, with or without the video device system, overlaying the display and providing the interfaced application to the display.

【0107】 本発明の実施形態は、CRTCを変更して、可視の表示領域を改変する能力の
みに依存しない。上述したように、デスクトップ(これは、ネイティブオペレー
ティングシステムのユーザインターフェースによってアクセスされる)の寸法外
の画面の可視領域を作成しそしてこれにアクセスする他の方法を規定するさらな
るメカニズムが提供される。本発明の方法およびシステムの種々の他の実施形態
はさらに、当業者に明らかである。
Embodiments of the present invention do not rely solely on the ability to modify the CRTC to modify the visible display area. As mentioned above, additional mechanisms are provided that define other ways of creating and accessing the visible area of the screen outside the dimensions of the desktop, which is accessed by the native operating system user interface. Various other embodiments of the method and system of the present invention will be further apparent to those skilled in the art.

【0108】 5.2 代替的表示コンテンツ制御器を用いてネイティブデスクトップを駆動
する 本発明の技術を用いて、デスクトップ(例えば、ウィンドウズ(R))を制御
して、ディスプレイのハードウェアの能力によってのみ制限される実質的にあら
ゆる非標準型サイズでデスクトップを動作することが容易に可能になる。これは
、パラレルグラフィカルユーザインターフェースディスプレイと組み合わされて
もよいし、または独立して用いて、第1のオペレーティングシステムのデスクト
ップ表示領域を最大限にしてもよい。これはオペレーティングシステムに対して
いかなる改変も必要とし得ない。
5.2 Driving a Native Desktop with an Alternate Display Content Controller Using the techniques of the present invention, a desktop (eg, Windows) can be controlled only by the capabilities of the display's hardware. It easily enables the desktop to operate in virtually any non-standard size that is limited. It may be combined with a parallel graphical user interface display or used independently to maximize the desktop display area of the first operating system. This may not require any modification to the operating system.

【0109】 例えば、視覚表示領域は従来、チップ上のCRTCレジスタ内で維持され、そ
してドライバに利用可能な値によって規定される。通常に表示される領域はVG
A標準によって、続いて、SVGA標準によって、プリセットのモード数に規定
され、各モードは、ディスプレイの領域を指定する特定の表示解像度を含み、こ
のディスプレイにおいてデスクトップが表示され得る。
For example, the visual display area is traditionally maintained in a CRTC register on the chip and is defined by the values available to the driver. The area normally displayed is VG
A preset number of modes is defined by the A standard, followed by the SVGA standard, each mode including a particular display resolution that specifies an area of the display on which the desktop can be displayed.

【0110】 通常のネイティブオペレーティングシステム(例えば、ウィンドウズ(R))
のデスクトップは、オペレーティングシステムがビデオメモリを直接読み出し/
書き込むことをせず、むしろビデオドライバに対してプログラミングインターフ
ェース呼び出しを用いるため、この領域内にのみ表示され得る。ビデオドライバ
は単に、ビデオメモリ内にある任意のアドレスを用いて読み出す/書き込む。し
たがって、この機構は、ビデオカードおよびドライバアサートがペイントに利用
可能な値(例えば、アドレス)を認識する必要がある。この値はレジスタから照
会され、指定量だけ改変されて表示領域を増やし、そしてカードに上書きされる
。このように、例示の実施形態は、書き込み可能な属性および可視表示領域を、
オペレーティングシステムの表示インターフェースに変更を通知することなく変
更し得る。
Normal native operating system (eg Windows®)
Desktops, the operating system directly reads the video memory /
It does not write, but rather uses programming interface calls to the video driver, so it can only be displayed in this area. The video driver simply reads / writes using any address in video memory. Therefore, this mechanism requires that the video card and driver asserts know the value (eg, address) available for painting. This value is queried from the register, modified by the specified amount to increase the display area, and then overwritten on the card. Thus, the exemplary embodiment provides writable attributes and visible display areas,
Changes may be made without notifying the display interface of the operating system.

【0111】 本発明の実施形態は必ずしもCRTCを変更して下部のみを追加するわけでは
ない。好適には、上部も少し上に移動する。これにより、表示されたインターフ
ェースが駆動可能な表示領域内で中央に保たれる。例えば、下部に単に32本の
スキャンラインを加えるのではなく、表示領域の上部を16ラインだけ上に移動
させる。
Embodiments of the present invention do not necessarily modify the CRTC to add only the bottom. Preferably, the upper part also moves a little higher. This keeps the displayed interface centered within the drivable display area. For example, instead of simply adding 32 scan lines to the bottom, move the top of the display area up by 16 lines.

【0112】 (5.3 並行ユーザインターフェースを探し出すさらなる実施形態) 当業者であれば、任意の数の並行GUIを、通常、従来においてはオーバース
キャンエリアと考えられなかったエリアに位置付け得ることを理解する。例えば
、第2のGUIを通常のディスプレイのちょうど真ん中の小さい正方形の中に位
置付けて、特定のシステムおよびアプリケーションが必要とするサービスを提供
し得る。実際、画面表示情報を読み出す技術および上書きする技術を用いて、第
1のGUI情報またはこの一部を、追加のメモリ内に、時間ベース、演算ベース
、インタラクティブベースまたは他の任意のベースで選択的に維持し、第1のG
UIの一部を、ポップアップ、ウィンドウまたは他の任意のディスプレイ空間な
どの第2のGUIと替え得る。当業者であれば、説明した技術を用いて、代替的
表示コンテンツ制御器によってアドレス指定可能な表示画面上のいずれにおいて
も第2のGUIを効果的に位置付け得ることを理解する。制御器を用いて、何を
、どこに、いつ表示するかに関して、ネイティブ(第1の)GUIと任意の第2
のGUIとの間の関係も制御し得る。
5.3 Further Embodiments for Locating Concurrent User Interfaces One of ordinary skill in the art will appreciate that any number of concurrent GUIs may be located in areas that would not normally be considered overscan areas in the past. To do. For example, a second GUI could be positioned in a small square just in the middle of a regular display to provide the services required by a particular system and application. In fact, the technique of reading and overwriting the screen display information is used to selectively select the first GUI information or part thereof in additional memory on a time-based, arithmetic-based, interactive-based or any other basis. Keep the first G
A portion of the UI may be replaced with a second GUI such as a pop-up, window or any other display space. Those skilled in the art will appreciate that the techniques described may be used to effectively position the second GUI on any display screen addressable by the alternative display content controller. Use the controller to specify what you want to see, where, when, and the native (first) GUI and optional second
Can also control the relationship between the GUI and.

【0113】 簡単な一実施例として、セキュリティシステムは、コンピュータシステムの状
態に関係なく情報をユーザに表示する機能を必要とし得、および/またはユーザ
が「911?」をクリックしてヘルプを呼び出すなどの選択を行うことを必要と
し得る。本発明の実施形態は、第1のGUIインターフェースの一部は継続的に
記録され、そして第2のGUIにおいて、例えば、画面の中心に表示される、ビ
デオ表示バッファを提供し得る。緊急時ではない状態においては、第2のGUI
は、ユーザは第1のGUI以外には何も気が付かないという点で、効果的に隠さ
れている(invisible)。
As a simple example, a security system may require the ability to display information to the user regardless of the state of the computer system, and / or the user may click “911?” To invoke help, etc. May need to be made. Embodiments of the present invention may provide a video display buffer in which a portion of the first GUI interface is continuously recorded and displayed in the second GUI, eg, in the center of the screen. The second GUI in a non-emergency state
Is effectively invisible in that the user is unaware of anything other than the first GUI.

【0114】 適切な緊急時の状態において、警報モニタにより、第2のGUIが第2のGU
Iメモリ内に格納された第1の表示のコピーを上書きすることによって「911
?」をユーザに提示する。あるいは、写真のデータベースを格納し、かかってき
た電話に応答して(電話をかけた人のIDがデータベース内に入力された写真に
関連付けられた電話番号を識別する)、1枚の写真を呼び出し得る。
In a suitable emergency situation, the alarm monitor causes the second GUI to
By overwriting the copy of the first display stored in the I memory, "911
? Is presented to the user. Alternatively, you can store a database of photos and call one photo in response to an incoming call (the caller's ID identifies the phone number associated with the photo entered in the database). obtain.

【0115】 通常、本発明の実施形態は1つ以上の第2のユーザインターフェースを提供し
得る。第2のユーザインターフェースは、オーバースキャンエリアなどの未使用
エリアにおける第1のディスプレイの外側、またはさらには、第1のGUIの一
部において直接、ディスプレイ全体のうちの一部を、時分割多重方式によって;
ビデオメモリと直接通信することによって;またはビデオメモリの少なくとも一
部をバイパスして、新しいビデオメモリを生成することによって、制御すること
がより便利で望ましい場合はいつでも有用であり得る。すなわち、本発明の方法
およびシステムは、ネイティブシステム(例えば、第1のGUIを制御するネイ
ティブオペレーティングシステム)の制御外である1つ以上の第2のユーザイン
ターフェースを提供し得る。
In general, embodiments of the invention may provide one or more second user interfaces. The second user interface may time-division multiplex out a portion of the entire display outside the first display in an unused area, such as an overscan area, or even directly in a portion of the first GUI. By;
It may be useful whenever control is more convenient and desirable, by communicating directly with the video memory; or by bypassing at least a portion of the video memory and creating a new video memory. That is, the methods and systems of the present invention may provide one or more second user interfaces that are outside the control of the native system (eg, the native operating system that controls the first GUI).

【0116】 さらなるユーザインターフェースを、種々の異なる目的に用い得る。例えば、
第2のユーザインターフェースを用いて、インターネットへの同時アクセス、完
全なモーションビデオおよび会議チャンネルを提供し得る。第2のユーザインタ
ーフェースを、ローカルネットワーク専用にしてもよいし、または複数の第2の
ユーザインターフェースは、同時アクセスおよび特定のコンピュータが接続され
得る1つ以上のネットワークのデータを提供し得る。
Additional user interfaces may be used for a variety of different purposes. For example,
A second user interface may be used to provide simultaneous Internet access, full motion video and conference channels. The second user interface may be dedicated to the local network, or multiple second user interfaces may provide simultaneous access and data for one or more networks to which a particular computer may be connected.

【0117】 (6.代替的表示コンテンツ制御器を開始する) 本発明の別の実施形態において、プログラムの起動すなわち開始を改変および
制御し得る。例えば、代替的表示コンテンツ制御器6を、サービス、アプリケー
ションまたはユーザアプリケーションとして起動し得る。サービスとしては、代
替的表示コンテンツ制御器6を、ユーティリティオペレーティングシステム5B
のレジストリ内でサービスとして起動し得る。第1の種類のアプリケーションは
、レジストリ内の実行セクションにおいて起動し、ユーザアプリケーションはス
タートボタン内のスタートアップグループから開始し得る。したがって、代替的
表示コンテンツ制御器6を、グラフィクスモードをイネーブルにした後に開始さ
れた最初のものから正に最後のものの間でいつでも開始し得る。
6. Initiate Alternate Display Content Controller In another embodiment of the invention, the launch or initiation of a program may be modified and controlled. For example, the alternative display content controller 6 may be launched as a service, application or user application. As a service, the alternative display content controller 6 is used as a utility operating system 5B.
It can be started as a service in the registry. The first type of application launches in the execution section in the registry and the user application may start from the startup group in the start button. Therefore, the alternative display content controller 6 may be started at any time between the first one started after enabling the graphics mode and just the last one.

【0118】 代替的表示コンテンツ制御器6が、サービスとして起動された場合、ウィンド
ウズ(R)などのユーティリティオペレーティングシステム5Bが実際に、ディ
スプレイをアドレス指定した後すぐに可視状態(visible)になり得る。
可視状態になるまでの時間は、代替的表示コンテンツ制御器6が、サービスとし
て起動されるものすべてを順序付けし、ユーティリティオペレーティングシステ
ム5Bをどの順番に置くかに依存する。代替的表示コンテンツ制御器6が基本的
に第1のサービスとして起動し、これゆえに、ドライバが駆動された直後に、ド
ライバとほぼ同時に起動するように、代替的表示コンテンツ制御器6を設けるこ
とが可能であり得る。したがって、テキストモードからグラフィクスへの画面変
更を有し、背景を色付けし、アドレス指定されたオーバースキャン、およびCS
NB2ディスプレイなどの並行GUIを用いて、タスクバーとほぼ同時にすぐに
再表示することが可能である。代替的表示コンテンツ制御器6は、実行ラインア
プリケーションとして起動された場合、アイコンが現れた後すぐに、ディスプレ
イ空間1内で可視状態になり得る。
If the alternative display content controller 6 is activated as a service, it can actually become visible shortly after the utility operating system 5B, such as Windows®, addresses the display.
The time to reach the visible state depends on the order in which the alternative display content controller 6 orders everything that is launched as a service and places the utility operating system 5B. It is possible to provide the alternative display content controller 6 so that the alternative display content controller 6 basically starts as a first service, and therefore, immediately after the driver is driven, it starts almost simultaneously with the driver. May be possible. So you have a screen change from text mode to graphics, color the background, overscan addressed, and CS
It is possible to re-display almost immediately at the same time as the taskbar using a parallel GUI such as NB2 display. The alternative display content controller 6, when launched as a run-line application, may be visible in the display space 1 shortly after the icon appears.

【0119】 (7.例示の相補的なユーザインターフェースサポート) 以下の説明は、本発明の方法および技術を用いて実現され得る所定の例示のユ
ーザインターフェース機能を提供する。xSides Corporation
によって実現されたxSidesTMのアプリケーション環境(以下、「xSi
desTM」)は、本発明の技術を用いて、Windows(R)95などのネ
イティブデスクトップと共存し得る相補的なユーザインターフェースを提供する
。相補的なユーザインターフェースは、機能の中でも、第2のユーザインターフ
ェースの円柱型の視覚化、ポータル機能、およびインターネットのブラウズ機能
および検索機能を提供するウェブジャンプ(ネットワークブラウザ)機能を含む
。ポータル機能は、相補的なユーザインターフェースを実現した者によって具現
される任意の種類のテキストまたはグラフィックなコンテンツを含み得る。ポー
タルエリアの1つの例示的な用途はパーソナル情報マネージャー(PIM)であ
る。
7. Illustrative Complementary User Interface Support The following description provides certain exemplary user interface features that may be implemented using the methods and techniques of the present invention. xSides Corporation
XSides TM application environment realized by
des )) provides a complementary user interface that can co-exist with native desktops such as Windows® 95 using the techniques of the present invention. The complementary user interface includes, among other features, a cylindrical visualization of the second user interface, a portal function, and a web jump (network browser) function that provides browsing and searching functions for the Internet. Portal features may include any type of textual or graphical content embodied by a person implementing a complementary user interface. One exemplary use of the portal area is as a personal information manager (PIM).

【0120】 xSidesTMはさらに、アプリケーションプログラミングインターフェー
ス(API)コンポーネントを介して、これらのインターフェースを作成して、
そして実行する能力を含む。xSidesTMのAPIは、図19〜図21を参
照しながら、以下に説明する例示の円柱型ユーザインターフェースなどの第2の
GUIの作成および維持をサポートする。
XSides TM also creates these interfaces via application programming interface (API) components,
And includes the ability to execute. The xSides API supports the creation and maintenance of a second GUI, such as the exemplary cylindrical user interface described below with reference to FIGS. 19-21.

【0121】 当業者であれば、多くの他のユーザインターフェースは、本発明の方法、シス
テムおよび技術によって実現され得、そしてこれらのインターフェースが互いに
共に利用可能であり得ることを理解する。
Those skilled in the art will appreciate that many other user interfaces can be implemented by the methods, systems and techniques of the present invention and that these interfaces can be used together with each other.

【0122】 (7.1 xSidesTMアプリケーション環境の概略) xSidesTM環境は、本発明の方法およびシステムの一実施形態である。
xSidesTM環境は、常に可視状態でアクセス可能であり、技術的にサイズ
調整可能であり、デスクトップに「取って代わる」ことが可能であり、マージ可
能であり;安全性の高いデータ伝達を提供し得;使いやすく、そして小さい(ダ
ウンロードするのに<1.5MBである)ユーザインターフェースをサポートす
る。
7.1 Overview of xSides Application Environment The xSides environment is an embodiment of the method and system of the present invention.
The xSides environment is always visible and accessible, technically sizable, can “replace” the desktop, and can be merged; provides secure data transmission Get; Easy to use and support small (<1.5MB to download) user interface.

【0123】 xSidesTMは、いかなる根底のシステムのユーザインターフェースから
も独立しているソフトウェア(例えば、上述の代替的表示コンテンツ制御器)に
よって実現される。(システムアーキテクチャをドライバからアプリケーション
ソフトウェアまで見た場合)xSidesTMは、オペレーティングシステムの
「下」そしてドライバの「上」に常駐する。xSidesTMのソフトウェアは
、ドライバレベルに直接通信し、そしてビデオディスプレイのパラメータを調整
する。xSidesTMによりさらに、前のセクションにおいて上述したネイテ
ィブオペレーティングシステムによってサポートされている第1のユーザインタ
ーフェースの外側で、キーボードのイベントおよびマウスのイベントが可能にな
る。
The xSides is implemented by software that is independent of the user interface of any underlying system (eg, the alternative display content controller described above). The xSides ™ ( when looking at the system architecture from driver to application software) resides "below" the operating system and "above" the driver. The xSides software communicates directly to the driver level and adjusts video display parameters. The xSides further enables keyboard and mouse events outside the first user interface supported by the native operating system described above in the previous section.

【0124】 技術は、中でも、インターネットコンテンツおよびサービス、サードパーティ
のアプリケーション、ウェブブラウザ、パーソナルインターネットポータル、広
告、ウェブベースのクライアント−サーバアプリケーションおよび電子プログラ
ムガイド(EPG)を送達し得る。xSidesTMの技術により、コンテンツ
および機能が物理的に外部に常駐し、そして既存のオペレーティングシステムか
ら独立して制御されることが可能になるため、このようなコンテンツおよび機能
は、デスクトップ上で常駐するオペレーティングシステムまたはアプリケーショ
ンを干渉せず、そしてこのオペレーティングシステムまたはアプリケーションに
よってカバーされ得ない。xSidesTMの技術は、オペレーティングシステ
ムの制御外にあるため、オペレーティングシステムの外部で、永久的な形態でイ
ンタラクティブコンテンツおよびアプリケーションをサポートすることが可能で
ある。xSidesTMがオペレーティングシステムの「下」およびデバイスド
ライバの「上」の抽象層(abstraction layer)内に常駐する
ため、xSidesTMはビデオ表示システムのパラメータを調整し得、ピクセ
ルおよびスキャンラインの数を増加させ得、そしてオーバースキャンエリア内で
キーボードイベントおよびマウスイベントを可能にし得る。これにより、xSi
desTMが、動的に既存のデスクトップのサイズ変更を行うことが可能になり
、所望の場合には、デスクトップの任意または4つすべてのサイドの周囲で表示
エリアの大部分を「表すこと(uncover)」が可能になる。デスクトップ
は、次いで、相補的なコンテンツおよびアプリケーションを表示するために用い
られ得る。xSidesTMの技術へのアプリケーションプログラミングインタ
ーフェース(「API」)により、開発者が技術のこれらの一意的な特徴を利用
するアプリケーションを急速に開発することが可能になる。技術は、インターネ
ットにより可能になるコンピュータまたは世界中のTVのあらゆるユーザを潜在
的にアドレス指定し得る。さらに、ポータブルデイリープラナーおよびセットト
ップボックスのようなデバイス内の大衆消費電子製品のオペレーティングシステ
ム(すなわち、マイクロソフトCE)が増加したことにより、この技術の市場の
機会がさらに拡大する。
The technology may deliver internet content and services, third party applications, web browsers, personal internet portals, advertising, web-based client-server applications and electronic program guides (EPGs), among others. The xSides technology allows content and features to physically reside externally and be controlled independently of the existing operating system so that such content and features reside on the desktop. It does not interfere with and cannot be covered by this operating system or application. Since the xSides technology is outside the control of the operating system, it is possible to support interactive content and applications in a permanent form outside the operating system. Since xSides resides within the abstraction layer "below" the operating system and "above" the device driver, xSides can adjust the parameters of the video display system to increase the number of pixels and scanlines. And can allow keyboard and mouse events within the overscan area. This gives xSi
Des will be able to dynamically resize an existing desktop and, if desired, “uncover” most of the display area around any or all four sides of the desktop. ) ”Is possible. The desktop can then be used to display complementary content and applications. The application programming interface (“API”) to the xSides technology allows developers to rapidly develop applications that take advantage of these unique features of the technology. The technology could potentially address any user of Internet enabled computers or TVs around the world. In addition, the increasing operating system (ie, Microsoft CE) of consumer electronics products in devices such as portable daily planners and set-top boxes further expands the market opportunity for this technology.

【0125】 xSidesTM技術を用いた例示の製品は、ユーザの表示エリア上に常駐し
、パートナーであるベンダーのコンテンツおよびアプリケーションを特徴とする
携帯のミニポータルの変種である。これらの製品は最初、一連の制御ボタンを含
む薄いシリンダーアイコン(「制御バー」)としてコンピュータ画面の下に現れ
る。制御バーは、「SidesTM」と呼ばれる複数のフェースから構成されて
いる。「SidesTM」はそれぞれ、コンテンツ、アプリケーションおよびグ
ラフィクスの異なる組み合わせを含み得る(これゆえに、名前がxSides である)。ユーザは、マウスクリックによってあるSideTMから次のSi
deTMまで容易に回転して、所与のSideTM上にある異なるコンテンツを
閲覧およびアクセスし得る。xSidesTMインターフェースを異なる面に回
転させる機能は、利用可能なコンピュータディスプレイの場所を拡大して、異な
るパートナーに許可された製品間の互換性を可能にする。これにより、ユーザは
、自身が所望するどんなコンテンツも容易に閲覧およびアクセスすることが可能
になる。制御ボタンは、ウェブ接続またはアプリケーションを起動し、サーバに
よって送達されるコンテンツのチッカおよびバナーを表示することを含む種々の
タスクを実行し得、またはユーザが、xSidesTMポータルと呼ばれるさら
なるxSidesTM表示エリアで実行する機能を起動することを可能にし得る
An exemplary product using xSides technology is a portable mini-portal variant that resides on the user's display area and features partner vendor content and applications. These products initially appear at the bottom of the computer screen as a thin cylinder icon ("control bar") containing a series of control buttons. The control bar is composed of multiple faces called "Sides ". "Sides TM", respectively, the content may include different combinations of applications and graphics (hence, the name is xSides T M). The user clicks from one Side TM to the next Si by clicking the mouse.
You can easily rotate to a de to browse and access different content on a given Side . The ability to rotate the xSides interface to different faces expands the available computer display location, allowing compatibility between products authorized by different partners. This allows the user to easily browse and access any content he or she desires. The control buttons may perform a variety of tasks including launching a web connection or application and displaying a ticker and banner of content delivered by the server, or the user may have an additional xSides display area called the xSides portal. It may be possible to activate the function to be executed in.

【0126】 xSidesTMポータルは、電子メールおよびインスタントメッセージの入
力および出力、カレンダーおよびアドレス帳の情報、ISPコントロール、広告
バナー、電子番組ガイドおよびウェブベースのクライアント−サーバアプリケー
ションを含む任意の画像またはアプリケーションを含み得るインターネット表示
エリアである。ポータルは、xSidesTM制御バーから独立し得、そしてx
SidesTM制御バーと(この上、下またはそばで)共存し得る。一実施形態
において、画像およびアプリケーションはhtmlベースであるが、当業者であ
れば、ポータルサポートをプログラムして、データ/コンテンツを、Java(
R)ベースのコンテンツまたはXMLなどの任意のプログラム言語またはフォー
マットで表示し得る。それぞれの場合、ポータルサポートを改変して、ソースの
選択したコンテンツ言語を解釈する。さらに、ポータルのコンテンツソースは、
インターネット、イントラネットなどの遠隔ネットワークからのものであっても
よいし、またはハードディスクなどのローカルなデバイス記憶装置からのもので
あってもよい。xSidesTMポータルを用いて、例えば、個人の「デスクト
ップ」のインターネットポータルを構築し得る。一実施形態において、好適には
1つのポータルのみをxSidesTM制御バーと共に表示するが(画面上には
複数のバーがあり得る)、各ポータルがボタンまたはメニューなどのユーザイン
ターフェースコンポーネントを介してアクセス可能である場合には、複数のポー
タルを1つのサイドと関連付け得る。
The xSides portal displays any image or application, including email and instant message input and output, calendar and address book information, ISP controls, advertising banners, electronic program guides and web-based client-server applications. An internet display area that may be included. The portal can be independent of the xSides control bar, and x
It may co-exist (at the top, bottom or by) with the Sides control bar. In one embodiment, the images and applications are html-based, but one of ordinary skill in the art will be able to program the portal support to render the data / content in Java (
R) -based content or may be displayed in any programming language or format such as XML. In each case, modify portal support to interpret the source's selected content language. In addition, the portal content source is
It may be from a remote network such as the Internet or an intranet, or it may be from a local device storage such as a hard disk. The xSides portal may be used, for example, to build a personal “desktop” Internet portal. In one embodiment, preferably only one portal is displayed with the xSides control bar (there may be multiple bars on the screen), but each portal is accessible via a user interface component such as a button or menu. , Multiple portals may be associated with a side.

【0127】 (7.2 xSidesTMアーキテクチャ) 好適な実施形態において、xSidesTMの技術は、クライアントコンピュ
ータシステムおよびサーバコンピュータシステムからなる分散型アーキテクチャ
によって実現される。
7.2 xSides Architecture In a preferred embodiment, the xSides technology is implemented by a distributed architecture consisting of a client computer system and a server computer system.

【0128】 一実施形態において、ユーザ制御バーのコンテンツ(サイド)は、1つ以上の
xSidesTMのサーバ上に格納され、ユーザはネットワーク接続を介してこ
れらのサーバに通信する。図31は、xSidesTMアーキテクチャの実施の
例示的なブロック図を含む。サーバコンピュータシステム3101は、1セット
の通信機構3103および1セットのコンフィギュレーション機構3104を介
してクライアントコンピュータシステム3102に接続される。1セットの通信
機構3103および1セットのコンフィギュレーション機構3104は、xSi
desTMの制御バーのディスプレイを担うクライアントサイドのアプリケーシ
ョン3105にインターフェースを取る。(図31には図示しないが、当業者で
あれば、通信機構3103およびコンフィギュレーション機構3104はサーバ
サイドに同等の物(これらはサーバ3106のコンポーネントである)を有する
ことを理解する。)当業者であれば、サーバコンピュータシステム3101およ
びクライアントコンピュータシステム3102が、実施の際に、xSides サーバがいくつかのシステムにわたって分散され得るレイアウト、またはxS
idesTMサーバがクライアントコンポーネントと同じマシーン上に常駐し得
るレイアウトを含む、複数の分散型レイアウト、または非分散型のレイアウトに
おいて存在し得る。当業者であれば、他のコンフィギュレーションおよびコンポ
ーネントが可能であり、そして本明細書において説明する技術を実施するために
用いられ得ることをさらに理解する。
In one embodiment, the content (sides) of the user control bar is stored on one or more xSide servers and the user communicates with these servers via a network connection. FIG. 31 includes an exemplary block diagram of an implementation of the xSides architecture. The server computer system 3101 is connected to the client computer system 3102 via a set of communication mechanism 3103 and a set of configuration mechanism 3104. The set of communication mechanism 3103 and the set of configuration mechanism 3104 are xSi.
It interfaces to the client side application 3105 which is responsible for the display of the des control bar. (Although not shown in FIG. 31, those skilled in the art understand that the communication mechanism 3103 and the configuration mechanism 3104 have server-side equivalents (these are components of the server 3106).) if the server computer system 3101 and a client computer system 3102, in the practice, xSides T M server may be distributed across several system layout or xS,
The ids server may exist in multiple distributed layouts, including layouts that may reside on the same machine as client components, or non-distributed layouts. One of ordinary skill in the art will further appreciate that other configurations and components are possible and can be used to implement the techniques described herein.

【0129】 図31を参照すると、ユーザは、ユーザのクライアントマシーン上にxSid
esTMをインストールした際に、サーバマシーンから最初にパートナーのコン
テンツをダウンロードする。コンテンツは最初、データベース3107またはフ
ァイルシステム3108などのデータベースまたはファイルシステム内に格納さ
れる。xSidesTMサーバマシーン3106がコンテンツを、通信層310
3を介してxSidesTMアプリケーション3105に送信した後、クライア
ントコンピュータシステム3102は、ユーザの制御バーおよびコンフィギュレ
ーション情報のローカルコピーをローカルのデータベース/ファイルシステム3
109上に格納し得る。
Referring to FIG. 31, the user may select xSid on the user's client machine.
When you install es TM, you first download the partner's content from the server machine. Content is initially stored in a database or file system, such as database 3107 or file system 3108. The xSides server machine 3106 delivers the content to the communication layer 310.
Client computer system 3102, after sending it to the xSides application 3105 via a local database / file system 3 of the user's control bar and configuration information.
It may be stored on 109.

【0130】 通信層3103は、クライアントコンピュータシステム3102とサーバコン
ピュータシステム3101との間の通信を簡素化するように機能し、そしてクラ
イアントサイドの情報のモジュール化された更新をサポートする。通信は好適に
は、暗号化されたマークアップ(例えば、SGML)ファイルを用いて実行され
、このファイルは、標準のHTTPパケット処理を用いてネットワーク接続を介
して送信される。通信層3103は、種々のダイナミックリンクライブラリ(「
DLL」)からのリクエストを組み合わせてリクエストを簡素化する。DLLは
、クライアントサイドの機能を1つのリクエストパケット中に入れるように処理
し、このパケットがxSidesTMサーバに送信される。例えば、サイド管理
機能は、ユーザがサイドを追加および排除することを可能にし、種々の統計機能
は、好適には別個のDLLを用いて処理される。これらのDLLがリクエストを
発する必要がある場合、DLLはリクエストを通信層3103に送信し、通信層
3103は、各リクエストに対応するタグを付けることによってリクエストを組
み合わせて1つのパケットにし、このパケットがサーバに転送される。次いで、
サーバは各パケットを分解して、実際のリクエストを処理する。このように通信
を簡素化すると、ネットワークトラフィックおよびネットワーク遅れが最小限に
抑えられる。
The communication layer 3103 serves to simplify communication between the client computer system 3102 and the server computer system 3101, and supports modularized updating of client-side information. The communication is preferably performed using an encrypted markup (eg SGML) file, which is sent over the network connection using standard HTTP packet processing. The communication layer 3103 includes various dynamic link libraries (“
DLL ") to combine the requests from each other to simplify the requests. The DLL processes the client-side functionality into a single request packet, which is sent to the xSides server. For example, the side management function allows users to add and remove sides, and various statistical functions are preferably handled using separate DLLs. When these DLLs need to make a request, the DLL sends the request to the communication layer 3103, which combines the requests into a single packet by tagging each request with a corresponding packet. Transferred to the server. Then
The server parses each packet and handles the actual request. This simplification of communication minimizes network traffic and network delays.

【0131】 さらに、通信層(クライアント部分およびサーバ部分)により、サーバ通信を
スケジューリングする機能(情報用にサーバをピングする機能)が可能になり、
そして、クライアントサイドの依存型コンポーネントの代わりにサーバサイドの
タスク完了をスケジューリングすることが可能になる。例えば、以下に説明する
状況/ログイン機構は、サーバサイドのログイン情報の更新を定期的にスケジュ
ーリングし得る。さらに、クライアントサイドのxSidesTMプロセスのコ
ンポーネント(例えば、上述のDLL)を、各xSidesTMセッションの開
始時にダウンロードし得る。さらに、このコンポーネントに「ホットスワップ」
を実行して、背景内に更新されたシステムコンポーネントをダウンロードし得る
。これにより、xSidesTMが、動的に環境設定して、それ自身、ユーザに
気付かれないように更新することが可能になる。当業者であれば、更新の頻度お
よび情報を求めるためのサーバのポーリングを任意の様態−例えば、ランダムに
、またははっきりと、または暗に、ユーザによってまたはアプリケーション(ク
ライアントサイドまたはサーバサイド)によって設定し得ることを理解する。さ
らに、ピングおよびダウンロードのソースおよび宛先はコンフィギュレーション
可能−したがって、サーバサイドのコンポーネントのコンフィギュレーションも
動的に構成することが可能になる。
Furthermore, the communication layer (client part and server part) enables the function of scheduling server communication (function of pinging the server for information),
And it will be possible to schedule server-side task completions instead of client-side dependent components. For example, the status / login mechanism described below may periodically schedule updates of server-side login information. Additionally, the client-side xSides process components (eg, the DLLs described above) may be downloaded at the beginning of each xSides session. In addition, "hot swap" to this component
To download updated system components in the background. This allows the xSides to dynamically configure and update itself invisibly to the user. Those skilled in the art can configure the polling of the server for update frequency and information in any manner-for example randomly or explicitly or implicitly by the user or by the application (client-side or server-side). Understand what you get. Further, the ping and download sources and destinations are configurable-thus allowing the configuration of server-side components to be dynamically configured as well.

【0132】 (7.2.1 ユーザコンフィギュレーション) 各xSidesTMのユーザは一意的なグローバル識別子(「GUID」)に
よって識別可能である。GUIDは、通信層によって通信されたリクエストおよ
び応答パケットを識別することを含む、複数の目的に用いられる。さらに、各G
UIDは一意的に各ユーザを識別するため、各ユーザが、ユーザの物理的位置に
関わらず、そしてユーザによってxSidesTMを実行するために用いられる
マシーンに関わらず、ユーザの好適なコンフィギュレーションによってxSid
esTMを用い得るように、xSidesTMコンフィギュレーションプロファ
イルを相互と関連付け得る。したがって、ユーザはxSidesTMセッション
を遠隔の場所(例えば、ユーザの住宅のコンピュータ)から開始して、ユーザは
、ユーザの通常のマシーン(例えば、ユーザの職場のマシーン)から見るサイド
(アプリケーション)と同じサイドを見る。ユーザのGUID下で任意のマシー
ン上にユーザが行う変更は、同じGUID下におけるxSidesTMセッショ
ンの複数のインスタンスが同時に実行している場合でさえも、サーバシステム上
で自動的に同期を取られる。
7.2.1 User Configuration Each xSide user is identifiable by a unique global identifier (“GUID”). The GUID serves multiple purposes, including identifying request and response packets communicated by the communication layer. Furthermore, each G
The UID uniquely identifies each user, so that regardless of the user's physical location and the machine used by the user to execute the xSides TM , the xSid is configured according to the user's preferred configuration.
xSides configuration profiles may be associated with one another so that es can be used. Thus, the user initiates the xSide session from a remote location (eg, the user's home computer) and the user views the same side (application) as seen from the user's normal machine (eg, the user's work machine). Look to the side. Changes made by a user on any machine under the user's GUID are automatically synchronized on the server system, even when multiple instances of an xSides session under the same GUID are running concurrently.

【0133】 この機能を提供するには、xSidesTMは、ユーザ登録クライアント/サ
ーバアプリケーションを提供する。ユーザ登録クライアント/サーバアプリケー
ションは、好適には、DLLなどの抽出可能コンポーネントとして実現され、ユ
ーザから情報を収集し、そしてこれをサーバサイドのファイル格納機構(例えば
、データベース)上に格納する。ユーザがxSidesTMセッションを開始す
ると、ユーザはログインを実行し、ユーザのコンフィギュレーションプロファイ
ルがクライアントシステム上にダウンロード(およびキャッシュ)される。コン
フィギュレーションプロファイルに基づいて、xSidesTMはどのサイドが
クライアントシステム上にダウンロードおよびキャッシュされる必要があるかを
決定して、制御バーをユーザが所望する様態にする。リクエストを開始したマシ
ーンが異なるパートナーからインストールされたxSidesTMのバージョン
を有する場合であっても、この動作はユーザが気付くことなく実行されて、ユー
ザの所望する環境を提供する。つまり、キャッシュ機構および一般的なコンポー
ネント交換機構は、マージ機能と共に機能して、このコンフィギュレーション機
能を提供する。
To provide this functionality, xSides provides a user registration client / server application. The user registration client / server application is preferably implemented as an extractable component such as a DLL, which collects information from the user and stores it on a server-side file storage (eg, database). When a user initiates an xSides session, the user performs a login and the user's configuration profile is downloaded (and cached) on the client system. Based on the configuration profile, xSides determines which side needs to be downloaded and cached on the client system and puts the control bar in the manner desired by the user. Even if the machine that initiated the request has a version of xSides installed from a different partner, this operation is performed transparently to the user, providing the environment desired by the user. That is, the cache mechanism and the general component replacement mechanism work in conjunction with the merge function to provide this configuration function.

【0134】 (7.2.2 マージ機能(AllSides)) xSidesTM技術の重要な特徴は、複数のパートナーからのコンテンツを
「マージする」機能である。マージは1つの制御バーからのコンテンツを別のバ
ー内にマージするプロセスである。マージにより、ユーザが、ユーザの既存のx
SidesTM製品を次のバージョンに更新することが可能になり、そしてサイ
ド(またはフェース)をユーザの制御バーに自由に追加または排除することが可
能になる。好適には、マージが行われる場合、元の流通業者のロゴおよび一意的
なコンテンツがユーザのバー上にその位置を保持し、そして情報の1つ以上の新
しいサイドが追加される。基本的に、マージにより、ユーザがユーザのxSid
esTM製品を、ユーザのお気に入りのコンテンツおよびサービスすべてを便利
で一ヶ所で足りる宛先にすることが可能になる。これはユーザにとってだけが重
要かつ魅力的であるのではなく、複数のフェースを導入し、そして時間の経過と
共にユーザを新しいアプリケーションおよび機能に更新することが可能な戦略的
パートナーにとっても重要かつ魅力的である。マージがユーザおよび戦略的パー
トナーの両方にとって便利で柔軟な製品を提供するが、好適な実施形態において
、xSidesTM製品上の元のフェースも永久ロゴも「マージ解除」し得る。
これは、戦略的パートナーに製品を流通させるさらなる刺激を与える。
7.2.2 Merging Function (AllSides) An important feature of the xSides technology is the ability to “merge” content from multiple partners. Merging is the process of merging content from one control bar into another. The merge allows the user to add their existing x
The Sides product can be updated to the next version, and sides (or faces) can be freely added or removed from the user's control bar. Preferably, when the merge occurs, the original distributor's logo and unique content retain their position on the user's bar, and one or more new sides of information are added. Basically, the merge allows the user to add their xSid
Allows es products to be a convenient, one-touch destination for all of your favorite content and services. This is not only important and attractive to users, but also to strategic partners who can introduce multiple faces and update users with new applications and features over time. Is. Although merging provides a convenient and flexible product for both users and strategic partners, in a preferred embodiment, both the original face and the permanent logo on the xSides product can be “unmerged”.
This provides strategic partners with the additional incentive to distribute their products.

【0135】 xSidesTM技術によりさらに、例えば、ウェブサイト(例えば、All
sides.com)、およびユーザ登録/コンフィギュレーション機構の使用
を介してより新しいバージョンが利用可能になった場合に、ユーザが、ユーザの
制御バーのサイドを自動的に更新することが可能になる。ユーザがサイドをイン
ストールした後、xSidesTMは、定期的に、サイドのコンテンツを自動的
に更新する(例えば、サーバマシーンをポーリングすることによって、新しいコ
ンテンツが利用可能であるか否か、および新しいコンテンツがサイド定義ファイ
ルをダウンロードするときにダウンロードするか否かを判定すること)。自動更
新はさらに好適には、パートナーがサイドを変更し、サーバマシーンに通知する
場合に実行される。これらの更新の一部として、従属ファイル−新しいコンポー
ネントDLLなど−を、上述の「ホットスワッピング」機構を用いてクライアン
トマシーンにダウンロードし得る。さらに、ユーザがユーザコンフィギュレーシ
ョンアプリケーションを用いて登録して、そしてユーザがxSidesTMにロ
グインした場合、xSidesTMはユーザコンフィギュレーションプロファイ
ルによって、マージ技術を用いて制御バーを作成する。この特徴は、ユーザが異
なるコンピュータシステム間で移動する場合に特に有用である。サイドがマージ
またはダウンロードされた後、サイドはアクセスを効率的にするためにクライア
ントシステム上にキャッシュされる。サイドを、無期限に、使用の期間中だけ、
または別の有効期限ベースの方式でキャッシュし得る。さらに、ユーザのコンフ
ィギュレーションプロファイルに対する任意の変更をサーバシステムに通知し得
る。
[0135] The xSides technology also allows, for example, websites (eg All
sides. com), and when a newer version is available through the use of the user registration / configuration mechanism, the user can automatically update the side of the user's control bar. After the user installs the side, xSides automatically updates the side's content automatically on a regular basis (eg, by polling the server machine, whether new content is available, and whether new content is available). Determines whether or not to download the side definition file). The automatic update is more preferably performed when the partner changes sides and notifies the server machine. As part of these updates, dependent files-such as new component DLLs-may be downloaded to the client machine using the "hot swapping" mechanism described above. Furthermore, the user is registered with the user configuration application, and when a user logs in to xSides TM, xSides TM is a user configuration profile, to create a control bar with the merge technique. This feature is particularly useful when users move between different computer systems. After the sides are merged or downloaded, the sides are cached on the client system for efficient access. The side indefinitely, only during the period of use,
Or it may be cached in another expiration-based manner. In addition, the server system may be notified of any changes to the user's configuration profile.

【0136】 (7.2.3 xSidesTMフィルタリング) 各ユーザのコンフィギュレーションプロファイルおよびサイドを動的に追加/
削除する機能に加え、サイドはベンダー(パートナー/供給業者)によって、お
よびユーザクラスによってフィルタリングされ得る。この機能は、例えば、xS
idesTMサーバが、ユーザの最初のコンフィギュレーションで何を表示する
か、特定のユーザが何を修正し得るかを決定し、そしてパートナー用の情報を追
跡する場合に有用である。パートナーの制御バーのサイドがデータベース内に格
納されている(他の実現が可能である)と仮定すると、データベースはさらに、
特定のユーザのクラスをユーザに利用可能なサイドに相関させる格納された手順
を維持し得る。この例におけるベンダーはユーザクラスのリストに関連付けられ
、ユーザクラスはそれぞれ、ユーザGUIDのリストおよびサイドのリストに関
連付けられる。当業者であれば、このような情報を分類する他の組織が可能であ
り、リストまたは格納された手順以外のデータ構造を用い得ることを理解する。
(7.2.3 xSides TM Filtering) Dynamically add / drop configuration profile and side for each user
In addition to the ability to remove, sides can be filtered by vendor (partner / supplier) and by user class. This function is, for example, xS
The ides server is useful in determining what to display in a user's initial configuration, what a particular user may modify, and tracking information for partners. Assuming that the side of the partner's control bar is stored in the database (other realizations are possible), the database will
Stored procedures may be maintained that correlate the class of a particular user with the side available to the user. The vendors in this example are associated with a list of user classes, and each user class is associated with a list of user GUIDs and a list of sides, respectively. Those skilled in the art will appreciate that other organizations that classify such information are possible and can use data structures other than lists or stored procedures.

【0137】 (7.2.4 統計およびログイン設備) xSidesTMはさらに統計設備およびログイン設備を提供する。好適には
、統計設備は、クライアントコンピュータシステム上でxSidesTMアプリ
ケーションのDLLコンポーネントとして実現される。統計設備の目的は、活動
を収集および記録すること、およびこれをログされるサーバコンピュータシステ
ムに送信することである。ログされた後、ログイン設備はデータを用いて、会計
報告を作成し、そして他の会計機能を実行する。
7.2.4 Statistics and Login Facilities xSides also provides statistical and login facilities. Preferably, the statistical facility is implemented as a DLL component of the xSides application on the client computer system. The purpose of the statistical equipment is to collect and record activity and to send it to the logged server computer system. After being logged in, the login facility uses the data to generate accounting reports and perform other accounting functions.

【0138】 統計設備は、ユーザ活動を「クリック」および「インプレッション(impr
ession)」の点から記録する。クリックは、xSidesTMサイドまた
はポータル上のマウスクリックであり、インプレッションはxSidesTM
フトウェアの所与のエリアがユーザに表示される時間量である。したがって、M
yExampleSideのサイドがユーザに示された場合、インプレッション
はこのサイドが表示される時間であり、クリックはユーザがマウスボタンをMy
ExampleSideのサイドの一部上で押す場合に生じる。xSides のアプリケーションは、サイドが表示されるごとに(どの活動を記録するかを
)、およびマウスクリックが押された場合に(活動がいつ記録されるべきかを)
統計設備に通知する。統計DLLはマークアップストリングを準備して、記録さ
れたデータを符号化し、そしてこのデータを定期的にログされるサーバシステム
に送信する。(一実施形態において、別のDLLは統計DLLからデータを定期
的(例えば、毎分)で取り出すこと、およびデータをサーバシステムに送信する
ことを担う。)マークアップストリングは、ユーザ情報およびベンダー情報を含
み、したがって、ユーザ活動はベンダーによっても追跡され得る。ロガー設備は
、マークアップストリングをパーズして、適切なデータをデータベース内に入力
する。
The statistical facility provides “clicks” and “impressions” (impr) for user activity.
recorded from the point of "session)". A click is a mouse click on the xSides side or portal, and an impression is the amount of time a given area of xSides software is displayed to the user. Therefore, M
If the side of yExampleSide is shown to the user, the impression is the time this side is displayed and the click is the user pressing the mouse button My.
Occurs when pushing on a portion of the side of the ExampleSide. Application of xSides T M, every time the side is displayed (or which activity is recorded), and if the mouse click is pressed (or should activity is when recorded)
Notify the statistical equipment. The statistics DLL prepares a markup string, encodes the recorded data, and sends this data to a regularly logged server system. (In one embodiment, another DLL is responsible for retrieving data from the statistical DLL on a regular basis (eg, every minute) and sending the data to the server system.) The markup string is user and vendor information. , And thus user activity may also be tracked by the vendor. The logger facility parses the markup string and populates the database with the appropriate data.

【0139】 通常、サイドのインプレッション時間は、サイドが最初にユーザに表示された
ときに開始し、サイドが別の表示に替えられたときに終了する。しかし、ユーザ
がxSidesTMを実行したままにし、xSidesTMを用いていかなる機
能も実行しないことが可能である。統計設備は、タイムアウトヒューリスティッ
クを用いて、インプレッションと単なるアイドル時間とを区別する。特に、それ
ぞれのインプレッション時間はタイムアウト値に比較され、インプレッション時
間がこのタイムアウト値を越えると、インプレッション時間が中断される。当業
者であれば、他の技術を用いて、インプレッション期間を制限し、そしてインプ
レッション期間の最低期間を設定し得ることを理解する。
Typically, the impression time for a side starts when the side is first displayed to the user and ends when the side is switched to another display. However, it leaves the user executes xSides TM, it is possible not to perform any function using xSides TM. The statistical facility uses timeout heuristics to distinguish between impressions and simple idle time. In particular, each impression time is compared to a timeout value, and if the impression time exceeds this timeout value, the impression time is interrupted. One of ordinary skill in the art will appreciate that other techniques may be used to limit the impression duration and set a minimum duration for the impression duration.

【0140】 (7.2.5 インスタントアラート(Instant Alert)機構) xSidesTMはさらに、パートナーが、インスタントアラートとして公知
の機構を介して、優先順位の高いメッセージをユーザに送信する手段を提供する
。インスタントアラート設備は好適には、DLLコンポーネントであり、したが
って、上述の通信層を介してxSidesTMサーバと通信する。インスタント
アラート設備はさらに、自動的に更新され得る。インスタントアラート設備によ
り、パートナーがメッセージを特定のユーザに送信したり、またはこれをユーザ
グループ(クラス)にブロードキャストすることが可能になる。メッセージのコ
ンテンツは好適にはHTMLであり、ユーザのクライアントマシーン上のブラウ
ザウィンドウ内に表示される。各メッセージはパートナー、ユーザGUIDなど
を識別するタグを備えたマークアップベースであり、これゆえに、各メッセージ
を、xSidesTM通信層のパケットトランスポート機構を用いて処理し得る
。さらに、メッセージがマークアップベースであり、これゆえに、組み込まれた
識別情報を含むため、メッセージが表示または受信された場合、適切な肯定応答
をサーバに返信し得る。
7.2.5 Instant Alert Mechanism The xSides also provides a means for partners to send high priority messages to users via a mechanism known as instant alert. The instant alert facility is preferably a DLL component and thus communicates with the xSides server via the communication layer described above. The instant alert facility can also be updated automatically. Instant alerting facilities allow partners to send messages to specific users or broadcast them to groups of users (classes). The content of the message is preferably HTML and is displayed in a browser window on the user's client machine. Each message is markup-based with a tag that identifies the partner, user GUID, etc., and thus each message can be processed using the xSides communication layer packet transport mechanism. Furthermore, because the message is markup-based and thus contains embedded identification information, an appropriate acknowledgment may be returned to the server when the message is displayed or received.

【0141】 メッセージを繰返し用いる場合、パートナーはテンプレートタイプのメッセー
ジを用い得、このメッセージは、メッセージが送信されたときに記入される属性
を指定する機能を含む。これらの指定された属性は、これらの値がメッセージが
送信された時間に演算される点でマクロのように機能する。この値はユーザのG
UIDであり得、したがって、各ユーザに一意的な識別機構を提供する。インス
タントアラート設備は、このようなテンプレートメッセージを作成および管理す
るツールを提供する。ツールはフォームベースであってもよいし、メッセージ管
理用にAPIを提供してもよい。
When using messages repeatedly, partners can use template type messages, which include the ability to specify the attributes that will be filled in when the message is sent. These specified attributes act like macros in that their values are calculated at the time the message was sent. This value is the user's G
It may be a UID and thus provides each user with a unique identification mechanism. The instant alert facility provides tools to create and manage such template messages. The tool may be form-based or it may provide an API for message management.

【0142】 (7.3 xSidesTMの例示的な円柱型ユーザインターフェース) ここで図19を参照すると、表示エリア26は本発明の実施形態による並行G
UI28を含む。表示エリア26を、ビデオモニタ24の画面24S上のいずれ
にも配置し得る。例えば、長い軸Lに対して平行に方向付けた場合、表示エリア
26を端部24Tまたは端部24Bに隣接して設け得る。あるいは、長い軸Lに
対して垂直に方向付けた場合、表示エリア26を端部24Lまたは端部24Rに
隣接して設け得る。
7.3 Example xSides Cylindrical User Interface Referring now to FIG. 19, the display area 26 is a parallel G according to an embodiment of the present invention.
It includes the UI 28. The display area 26 may be located anywhere on the screen 24S of the video monitor 24. For example, when oriented parallel to the long axis L, the display area 26 may be provided adjacent the end 24T or end 24B. Alternatively, when oriented perpendicular to the long axis L, the display area 26 may be provided adjacent the end 24L or the end 24R.

【0143】 並行GUI28の縦横比34は、長い軸Lに沿って測定された寸法32と寸法
30との34:1として表される関係であり、縦横比34は式36によって決定
される。
The aspect ratio 34 of the parallel GUI 28 is the relationship expressed as 34: 1 between the dimension 32 and the dimension 30 measured along the long axis L, and the aspect ratio 34 is determined by equation 36.

【0144】 36→縦横比34=寸法32÷寸法30 本発明の好適な実施形態によれば、並行GUI28は、エリア28Aによって
取り囲まれたバー38を含む。バー38は、1つ以上のコンテナまたは図20の
カートリッジ86などのカートリッジを含み得る。エリア28Aは任意の色であ
ってよく、例示の実施形態において、エリア28Aは黒色である。バー38は、
タイトルエリア40、ヘルプエリア42および/またはヘルプエリア56などの
1つ以上のヘルプエリア、回転子44および/または回転子48などの1つ以上
の回転子、ならびにボタン46、ボタン50、チッカ52およびボタン54など
の1つ以上のボタンなど、別個の要素から構成され得る。ボタンはボタン46な
どの押圧(depressible)であってもよいし、またはボタン40など
の非押圧(non−depressible)であってもよい。ボタン46など
の押圧ボタンは、マウス22などの任意の従来のポインティングデバイスを用い
て、選択およびクリックされた場合に、関連付けられた動作を実行し、強調表示
を表示し得る。ボタン40などの非押圧ボタンは、ラベルとして動作し得、およ
び/または、以下に説明するすべての関連付けられた音、はっきりとした動き、
および強調表示と共に、バー38の要素をボタン40の右側へとはっきりと回転
させることを開始し得る。
36 → Aspect Ratio 34 = Dimension 32 ÷ Dimension 30 According to a preferred embodiment of the present invention, the parallel GUI 28 includes a bar 38 surrounded by an area 28A. Bar 38 may include one or more containers or cartridges such as cartridge 86 of FIG. Area 28A can be any color, and in the illustrated embodiment area 28A is black. Bar 38
One or more help areas such as title area 40, help area 42 and / or help area 56, one or more rotor areas such as rotor 44 and / or rotor 48, and button 46, button 50, ticker 52 and It may be composed of separate elements, such as one or more buttons, such as button 54. The button may be depressible, such as button 46, or non-depressible, such as button 40. A push button, such as button 46, may perform the associated action and display a highlight when selected and clicked using any conventional pointing device, such as mouse 22. Non-push buttons, such as button 40, may act as labels and / or all associated sounds, distinct movements, described below.
And with highlighting, one may begin to rotate the elements of bar 38 clearly to the right of button 40.

【0145】 「マウスオーバー(mouse over)」状態の間、すなわち、矢印64
などのポインタがボタン46などの押圧ボタン上を移動されるとき、ボタンフレ
ーム62の描写を、例えば、その色、したがって、発せられる光の見た目の強度
を変更することによって、変更し得る。ボタンフレーム62などのボタンフレー
ム内で誘発される変更を、コーナー62Aなどのボタンフレームの一部にローカ
ル化し得る。好適には、「マウスオーバー」状態により、光がコーナー62Bな
どのボタンフレームの左下のコーナーからはっきりと発するようになる。
During the “mouse over” state, ie arrow 64
When a pointer, such as, is moved over a push button, such as button 46, the depiction of button frame 62 may be changed, for example, by changing its color, and thus the apparent intensity of the light emitted. Changes induced in a button frame, such as button frame 62, may be localized to a portion of the button frame, such as corner 62A. Preferably, the "mouse over" condition causes light to be clearly emitted from the lower left corner of the button frame, such as corner 62B.

【0146】 クリックする、すなわち、ボタン46などの押圧ボタンが「マウスダウン(m
ouse down)」状態であると、ボタンのはっきりとした移動が誘発され
得、および/またははっきりとした光は隣接する、影響を受けたボタンを変更す
る。好適には、ボタン46などの押圧ボタンの「マウスダウン」は、ボタン46
をバー38内にはっきりと移動させ、そしてボタンフレーム62の後ろからの光
をはっきりと増加させる。はっきりとした動きおよび発光の変化は任意の従来の
手段によって達成され得る。
Clicking, that is, the push button such as the button 46 is “mouse down (m
In the "use down)" state, a distinct movement of the button may be triggered and / or a distinct light alters the adjacent, affected button. Preferably, the "mouse down" of a push button, such as button 46, is
Is clearly moved into the bar 38 and the light from behind the button frame 62 is clearly increased. Clear movements and changes in emission can be achieved by any conventional means.

【0147】 したがって、ボタン46などの押圧ボタンをクリックすること、すなわち「マ
ウスダウン」状態に続いて、ボタン選択サイクルを完了する「マウスアップ(m
ouse up)」状態が開始される。「マウスアップ」状態は、ハイパーリン
クなどの動作を開始したり、またはボタン46などの動作ボタンに関連付けられ
たアプリケーションを起動させ得る。さらに、「マウスアップ」状態は、ボタン
46などのボタンに、前の「マウスダウン」状態によって生じるはっきりした動
きを逆転させ得、したがって、前の例におけるように、ボタン46は、バー38
と一列に並んだ状態からバー38の外へはっきりと跳ね返る。ボタン選択サイク
ルの終わりにおいて、選択されたボタンの強調表示の変更をさらに含み得る。一
実施形態において、ポスト選択の強調表示は、上述の「マウスオーバー」の強調
表示と同じであり、ボタン54などの別のボタンが選択されるか、または並行G
UI28内の所定の他の動作が開始されるまで維持される。
Therefore, clicking a push button, such as button 46, ie, a “mouse down” state, is followed by a “mouse up (m
"use up)" state is initiated. The "mouse up" state may initiate an action, such as a hyperlink, or launch an application associated with an action button, such as button 46. Further, the "mouse up" state may cause a button, such as button 46, to reverse the apparent movement caused by the previous "mouse down" state, and thus, as in the previous example, button 46 causes bar 38 to move.
And from the state of being aligned in a line, it clearly bounces out of the bar 38. At the end of the button selection cycle, it may further include changing the highlighting of the selected button. In one embodiment, the post-selection highlighting is the same as the "mouse-over" highlighting described above, with another button selected, such as button 54, or a parallel G
It is maintained until another predetermined operation in the UI 28 is started.

【0148】 ボタン50などの非押圧ボタン、タイトルエリア40などのタイトルボタン、
または回転子44などの回転子上の全ボタン選択サイクルの作動は、表示エリア
の長い軸Lの周囲で回転を開始し得る。一実施形態において、右マウスボタン2
2Rをクリックすると、第1の方向Dにおいて38の回転が開始され、左マウス
ボタン22Lをクリックすると、第2の方向U(第1の方向Dの反対)において
38の回転が開始される。
Non-press buttons such as the button 50, title buttons such as the title area 40,
Or actuation of a full button selection cycle on a rotor, such as rotor 44, may initiate rotation about the long axis L of the display area. In one embodiment, the right mouse button 2
Clicking on 2R starts 38 rotations in the first direction D, and clicking left mouse button 22L starts 38 rotations in the second direction U (opposite the first direction D).

【0149】 上述した全ボタン選択サイクルと共に、音を用いて、体験を高め、これにより
、実際の3次元のデバイスに対する仮想メタファーの類似性を高め得る。一実施
形態において、音66をコンピュータシステムから発し得る。音66は、繊細な
機械的クリックなどの実際のデバイスから発せられる音(単数または複数)に類
似し得る。他の任意の適切な音(単数または複数)を用いてもよい。
Sound, along with the full button selection cycle described above, can be used to enhance the experience and thus the virtual metaphor's similarity to a real 3D device. In one embodiment, sound 66 may be emitted from a computer system. The sound 66 may be similar to the sound (s) emitted from the actual device, such as a delicate mechanical click. Any other suitable sound (s) may be used.

【0150】 ボタン50などの非押圧ボタンをタイトルボタンまたはプレースホルダーとし
て用いてもよく、そしてこれゆえに、全ボタン選択サイクルの影響を受けた場合
、ユーティリティ、URLまたは他の任意の機能を呼び出し得ない。したがって
、強調表示または他の特殊表示が、ボタン50などの非押圧ボタンの「マウスオ
ーバー」状態を伴わない。別の実施形態において、ボタン50などの非押圧ボタ
ンは、回転子44または48などの回転子の機能を含み得る。したがって、この
ような非押圧ボタン上の全ボタン選択サイクルにより、非押圧ボタン50および
バー38のすべての要素(チッカ52およびボタン60など)が右にはっきりと
回転する。
Non-pressed buttons, such as button 50, may be used as title buttons or placeholders, and therefore cannot invoke a utility, URL or any other function when affected by a full button selection cycle. . Therefore, the highlighting or other special display does not involve the "mouse over" state of an unpressed button, such as button 50. In another embodiment, non-push buttons, such as button 50, may include the functionality of a rotor, such as rotor 44 or 48. Thus, a full button selection cycle on such an unpressed button will cause all elements of the unpressed button 50 and bar 38 (such as ticker 52 and button 60) to rotate sharply to the right.

【0151】 チッカ52などのチッカは、図20に示すカートリッジ86などのカートリッ
ジ内の動的読み取りエリアであり得る。テキスト53などの更新可能なテキスト
のスクロールを表示し得、そして、テキスト読み取りエリアをさらに動的にリン
クして、アプリケーションまたはURLを起動し得る。チッカ52などのチッカ
は単一のボタンまたは複数のボタンの任意の組み合わせと同じぐらい長い場合が
ある。表示されているテキスト53などのテキストをスクロールしたり、そうで
ない場合には、これをチッカウィンドウ52Aを介して移動させ得る。本発明の
この好適な実施形態において、テキストは、チッカウィンドウ52Aの右側52
Rに入り、そして左側52Lまで左にスクロールする。テキスト53などのスク
ロールテキストは、テキストストリングの終わりにおいてループになって繰返し
得る。テキスト53などのチッカテキストを、ローカルに更新してもよいし、ま
たはネットワーク上で更新してもよい。チッカ52などのチッカは、チッカ52
がクリックされた場合、またはチッカ52が全ボタンサイクルの影響を受ける場
合に、ネットワークを介してハイパーリンクを作動させ得る。
A ticker, such as ticker 52, can be a dynamic read area within a cartridge, such as cartridge 86 shown in FIG. A scroll of updatable text, such as text 53, may be displayed and the text reading area may be further dynamically linked to launch an application or URL. A ticker, such as ticker 52, may be as long as a single button or any combination of buttons. Text such as the displayed text 53 may be scrolled or otherwise moved through the ticker window 52A. In this preferred embodiment of the invention, the text is on the right side 52 of the ticker window 52A.
Enter R and scroll left to left 52L. Scrolling text, such as text 53, may loop and repeat at the end of the text string. The ticker text, such as text 53, may be updated locally or over the network. A ticker such as ticker 52 is a ticker 52
A hyperlink may be activated over the network if is clicked or if the ticker 52 is affected by the entire button cycle.

【0152】 ここで図20を参照すると、表示され得、そして並行GUI28を介してアク
セスされ得るメニューの系図の一実施例が示されている。メニュー70は、タイ
トルバンド72、74、76、78および80を含み、これらは、タイトルエリ
ア40、ボタン46、ボタン50、チッカ52およびボタン54それぞれに対応
する。回転子44および48はそれぞれ、バンド82および84によって表示さ
れる。この実施例において、タイトルエリア40は、6個のコンテナまたは6個
のカートリッジ(カートリッジ86、87、88、89、90および91)を含
む。多くのさらなるカートリッジおよびタイトルが利用可能であり得る。利用可
能なカートリッジまたはタイトルの数はコンピュータのリソースによってのみ限
定され得る。カートリッジ90またはカートリッジ91などのカートリッジは、
ウェブブラウザまたはメディアプレイヤーまたは他の任意のアクセサリなどのア
クセサリを含み得る。カートリッジ90などのカートリッジのアクセサリを、シ
ステムソフトウェアに用いる場合にインストールしてもよいし、またはアクセサ
リは並行GUIを実現するソフトウェアのコンポーネントであってもよいし、ま
たはアクセサリはネットワークを介して利用可能であってもよい。
Referring now to FIG. 20, there is shown one example of a pedigree of menus that may be displayed and accessed via the parallel GUI 28. Menu 70 includes title bands 72, 74, 76, 78 and 80, which correspond to title area 40, button 46, button 50, ticker 52 and button 54, respectively. Rotors 44 and 48 are represented by bands 82 and 84, respectively. In this example, title area 40 includes six containers or six cartridges (cartridges 86, 87, 88, 89, 90 and 91). Many additional cartridges and titles may be available. The number of available cartridges or titles may be limited only by computer resources. Cartridges, such as cartridge 90 or cartridge 91,
It may include accessories such as a web browser or media player or any other accessory. A cartridge accessory, such as cartridge 90, may be installed for use with system software, or the accessory may be a component of software that implements a parallel GUI, or the accessory may be available over a network. It may be.

【0153】 ここで図21を参照すると、可視状態のアクセサリカートリッジ90を備えた
並行GUI28が示されている。アクセサリカートリッジ90は、CDプレイヤ
ーの早送りまたは次のトラックなどの特定のアクチュエータの機能を含み得る。
アクセサリカートリッジ90のセクション、または選択された他の任意のカート
リッジをさらに、ウェブブラウザ92などの単一の機能専用にして、ブラウザが
並行GUIソフトウェアが実行している時間においてずっと可視状態のままにす
ることを可能にし得る。
Referring now to FIG. 21, there is shown a parallel GUI 28 with the accessory cartridge 90 in the visible state. The accessory cartridge 90 may include the functionality of a particular actuator such as fast forward or next track for a CD player.
A section of accessory cartridge 90, or any other cartridge of choice, may also be dedicated to a single function, such as web browser 92, so that the browser remains visible all the time the concurrent GUI software is running. Can enable that.

【0154】 カートリッジ86〜91などのカートリッジを、リンクおよびアクセサリを用
いてあらかじめロードし得る。あるいは、カートリッジの要素またはボタンは、
ユーザが「マージ」機能を介してロードするように空白であり得る。ユーザカー
トリッジ(単数または複数)は、アプリケーション、文書、ファイル、またはU
RLおよび/または組み込まれた機能などのネットワークリンクへのアクセスを
含み得る。カートリッジから起動され得る所定の組み込まれた機能は、ブラウザ
、MP3プレーヤー、インスタントメッセージ、市場の取引通知機能、オークシ
ョン結果および/または取引のアラート、価格比較検索に関する代理人のチェッ
クを含み得る。アプリケーション、文書、ファイルまたはネットワークリンクな
どのユーザアイテムを、システムソフトウェアまたは任意のウェブブラウザのコ
ピーアンドペースト機能、またはドラッグアンドドロップ機能などの任意の従来
の方法を介してユーザボタンに追加し得る。好適には、ユーザボタンを、任意の
従来の様態で名前を変えたり、またはクリアし得る。
Cartridges, such as cartridges 86-91, may be preloaded with links and accessories. Alternatively, the cartridge element or button is
It can be blank for the user to load via the "merge" function. User cartridge (s) is an application, document, file, or U
It may include access to network links such as RL and / or embedded functionality. Certain built-in features that may be activated from the cartridge may include a browser, MP3 player, instant messaging, market trade notification features, auction results and / or trade alerts, agent checks for price comparison searches. User items such as applications, documents, files or network links may be added to user buttons via any conventional method such as system software or any web browser copy and paste function, or drag and drop function. Suitably, the user button may be renamed or cleared in any conventional manner.

【0155】 並行GUI28などの並行GUIはさらに、ヘルプ機能を含み得る。ヘルプ画
面またはメニューは、任意の従来の様態で実現され得る。コンテンツのマップお
よびバー38の編成を、図20のメニュー70などのメニューまたは系図の形態
で提供し得る。メニュー70および他のヘルプの画面は、任意の従来の様態で表
示エリア26から延び得る。メニュー70が可視状態であり、端部26Tから離
れる方向に延び、これにより、バー38が可視状態のままであることが可能にな
っている一実施形態において、タイトル87Cなどのタイトル上の全ボタンサイ
クルの作動により、バー38の回転が開始し、カートリッジ87およびタイトル
87Cがバー38上で可視状態になる。
A parallel GUI, such as parallel GUI 28, may further include help functionality. The help screen or menu may be implemented in any conventional manner. The map of content and organization of bars 38 may be provided in the form of a menu or pedigree, such as menu 70 in FIG. The menu 70 and other help screens may extend from the display area 26 in any conventional manner. In one embodiment where the menu 70 is visible and extends away from the end 26T, which allows the bar 38 to remain visible, all buttons on a title, such as title 87C. The operation of the cycle starts the rotation of the bar 38, and the cartridge 87 and the title 87C become visible on the bar 38.

【0156】 本発明の一実施形態において、表示エリア26は、4つの前もって設定された
アクチュエータ94を含む。アクチュエータ96などのアクチュエータ上で全ボ
タンサイクルを作動させると、バー38が事前選択された位置に回転する。ユー
ザは、アクチュエータ96などのアクチュエータに関連付けられた前もって設定
された設定を最初に、ロード、変更または削除し得る。
In one embodiment of the invention, the display area 26 includes four preset actuators 94. Activating a full button cycle on an actuator, such as actuator 96, causes bar 38 to rotate to a preselected position. A user may first load, change, or delete preset settings associated with an actuator, such as actuator 96.

【0157】 並行GUIを実現するソフトウェアはさらに、アイドルコンポーネント96な
どのスクリーンセーバーコンポーネントを含み得る。並行GUIが、いくつかの
従来の技術における点滅表示エリア26ではなくシステムソフトウェアが、アイ
ドルであることを通知されると、並行GUI28は、メニュー70のすべての可
能なカートリッジのディスプレイを介して自動回転し得る。システムソフトウェ
アがアクティブモードに戻ると、バー38はアイドリングの前の最後のアクティ
ブ位置に自動的に戻る。
The software that implements the parallel GUI may further include a screen saver component, such as idle component 96. When the parallel GUI is notified that the system software is idle, rather than the blinking display area 26 of some prior art, the parallel GUI 28 will auto-rotate through the display of all possible cartridges in the menu 70. You can When the system software returns to active mode, bar 38 will automatically return to the last active position before idling.

【0158】 並行GUI28を、タイトルエリア40上で可視状態であるタイトル86Aを
備えたカートリッジ86など、タイトルカートリッジに方向付けすると、上述の
タイトルエリア40の全ボタンサイクルの結果、バー38がはっきりと回転し、
これゆえに、カートリッジ87またはカートリッジ85(図示せず)などの隣接
するカートリッジが表示される。タイトルエリア40はさらに、すべてのボタン
および回転子をタイトルエリア40の右に含み得る。別の実施形態において、タ
イトルエリア40の全ボタンサイクルは、タイトル86などの可視状態のタイト
ルを変更して、そしてバーの要素38(例えば、回転子44、回転子48、ボタ
ン46、ボタン50、チッカ52およびボタン54)をタイトルエリア40の右
にはっきりと回転させる。カートリッジ、したがって、タイトルエリア40で可
視状態のタイトルを変更した結果、カートリッジ87が可視状態であるため、タ
イトル87Aおよび1セットのその従属タイトル(例えば、タイトル87B、8
7C、87Dおよび87E)も可視状態であり得る。タイトルエリア40のさら
なるサイクリングの結果、さらなるカートリッジ、したがって、タイトル88A
および89Aなどのバンド72のさらなるタイトルが表示される。
When the parallel GUI 28 is oriented to a title cartridge, such as a cartridge 86 with a title 86A that is visible on the title area 40, the bar 38 is clearly rotated as a result of the full button cycle of the title area 40 described above. Then
Thus, adjacent cartridges such as cartridge 87 or cartridge 85 (not shown) are displayed. The title area 40 may further include all buttons and rotators to the right of the title area 40. In another embodiment, the entire button cycle of the title area 40 modifies the visible title, such as the title 86, and the bar element 38 (eg, rotor 44, rotor 48, button 46, button 50, Clearly rotate the ticker 52 and button 54) to the right of the title area 40. Since the cartridge 87 is visible as a result of changing the cartridge, and thus the visible title in the title area 40, the title 87A and one set of its subordinate titles (eg, titles 87B, 8
7C, 87D and 87E) may also be visible. As a result of the additional cycling of the title area 40, additional cartridges and thus title 88A
And additional titles for band 72, such as 89A, are displayed.

【0159】 タイトル89Aがバンド72内で可視状態である場合、バンド82に対応する
回転子44上で全ボタンサイクルを実行すると、バンド74(ボタン46の右ま
でのすべてを含む)に対応するボタン46において、バー38がはっきりと回転
する。回転子44などの回転子の続きのボタンサイクルにより、ボタン46上に
現れるタイトルが、タイトル89B、89C、89D、89Eおよび89Fを順
次循環して、各ボタンサイクルの後に新しいタイトルが現れる。好適な実施形態
において、マージ機能を含んで、カートリッジ86〜91などのカートリッジを
、並行GUI28などの既存の並行GUIに追加することを可能にし得る。カー
トリッジ86などのカートリッジを、追加してもよいし、またはコピーアンドペ
ーストまたはドラッグアンドドロップなどの任意の従来の技術を用いて、並行G
UI28などの並行GUI内にある任意の既存のカートリッジとマージさせても
よい。カートリッジ86などのマージされたカートリッジを、カートリッジ88
および89などの任意の2つの隣接したカートリッジ間に追加してもよい。同様
に、既存のカートリッジを、従来のソート機能を用いて記録してもよい。
If title 89A is visible in band 72, performing a full button cycle on rotor 44 corresponding to band 82 causes the button corresponding to band 74 (including everything up to the right of button 46) to be performed. At 46, the bar 38 is clearly rotated. Subsequent button cycles of the rotor, such as rotor 44, cause the title appearing on button 46 to cycle through titles 89B, 89C, 89D, 89E and 89F, with a new title appearing after each button cycle. In a preferred embodiment, a merging function may be included to allow cartridges such as cartridges 86-91 to be added to an existing parallel GUI such as parallel GUI 28. Cartridges, such as cartridge 86, may be added or may be parallel G using any conventional technique such as copy and paste or drag and drop.
It may be merged with any existing cartridge in a parallel GUI such as UI 28. The merged cartridge, such as cartridge 86, is replaced by cartridge 88.
And may be added between any two adjacent cartridges such as 89. Similarly, existing cartridges may be recorded using the conventional sort function.

【0160】 新しいカートリッジを、磁気格納媒体、光格納媒体などの任意の従来の媒体か
ら、あるいはインターネット、または任意のローカルネットワークまたはイント
ラネットネットワークなどのネットワークリソースからの既存の並行GUIにマ
ージまたは追加してもよい。削除機能および/またはソート機能をさらに含んで
、並行GUIソフトウェアと一致したユーザの希望によって、並行GUI内のバ
ー38などのバーを、ユーザが体系化または個人化することが可能になる。
A new cartridge can be merged or added to an existing concurrent GUI from any conventional media such as magnetic storage media, optical storage media, or from network resources such as the Internet or any local or intranet network. Good. Further including delete and / or sort functionality allows the user to organize or personalize bars, such as bar 38 in the parallel GUI, as desired by the user consistent with the parallel GUI software.

【0161】 例えば、ユーザは特定のインターネットサイトに行って、並行GUI内にマー
ジされることが可能なアプリケーションを求め得る。このような1つのアプリケ
ーションは、ウェブ上での天気情報へのアクセスを提供するアプリケーションで
ある。ユーザがマージされるアプリケーションを選択すると、並行GUIはアプ
リケーションによって提供される1セットのカートリッジを自動的に決定する。
次いで、並行GUIソフトウェアは、決定された1セットのカートリッジを、現
在用いられているデータ構造内にマージして、現在ロードされているカートリッ
ジ上にデータを格納する。当業者であれば、アレイ、ハッシュテーブル、リンク
されたリストおよび系図を含む任意の従来のデータ構造を用い得ることを理解す
る。好適には、すべてのカートリッジ(例えば、系図の中のブランチとして格納
されているカートリッジ)の簡単な交換を可能にするデータ構造を用いる。次い
で、並行GUIソフトウェアは、任意の関連するデータ構造を更新し得、このデ
ータ構造の情報は、現在の1セットの利用可能なカートリッジの知識に依存する
For example, a user may go to a particular internet site and ask for an application that can be merged into a parallel GUI. One such application is an application that provides access to weather information on the web. When the user selects the application to be merged, the parallel GUI automatically determines the set of cartridges provided by the application.
The parallel GUI software then merges the determined set of cartridges into the currently used data structure to store the data on the currently loaded cartridge. Those skilled in the art will appreciate that any conventional data structure may be used including arrays, hash tables, linked lists and genealogy. Preferably, a data structure is used that allows easy replacement of all cartridges (eg, cartridges stored as branches in the pedigree). The parallel GUI software can then update any relevant data structures, the information of which is dependent on the knowledge of the current set of available cartridges.

【0162】 (7.4 ネットワークブラウザ) 図1を再度参照すると、本発明の別の実施形態において、表示エリア1の割り
当てを制御する技術を用いて、オペレーティングシステムのデスクトップ3およ
び/または並行グラフィカルユーザインターフェース4に隣接するが、これと干
渉しない、コンテキストセンシティブネットワークブラウザ(CSNB)2を開
ける。代替的表示コンテンツ制御器6などの表示制御器はCSNB2を含み得、
これにより、ブラウザが、ディスプレイ1上に、ユーティリティオペレーティン
グシステム5Bによって上書きされ得ないブラウザ自身の空間を作成および制御
することが可能になり得る。組み合わされた制御器/ブラウザは、コンピュータ
オペレーティングシステム上で実行するアプリケーションであってもよいし、ま
たは、様々な複雑性を有するオペレーティングシステムカーネルを含んでもよい
。様々な複雑性を有するオペレーティングシステムカーネルは、ハードウェアシ
ステムサービス用のユーティリティオペレーティングシステムに依存するものか
ら、ユーティリティオペレーティングシステムから独立し、専用アプリケーショ
ンをサポートすることのできる並行システムに及ぶ。代替的表示コンテンツ制御
器/ブラウザはまた、インターネットIまたは他の任意のLANを介して配信さ
れるコンテンツおよびオペレーティングソフトウェア(例えば、JAVA(R)
)も含み得る。さらに、オペレーティングシステムデスクトップに加え、1つよ
り多いコンテキストセンシティブネットワークブラウザおよび1つより多い並行
グラフィカルユーザインターフェースがあってもよい。
7.4 Network Browser Referring again to FIG. 1, in another embodiment of the present invention, a desktop 3 and / or concurrent graphical user of an operating system may be implemented using techniques to control the allocation of display area 1. Opens a context sensitive network browser (CSNB) 2 adjacent to, but not interfering with, interface 4. Display controllers, such as alternative display content controller 6, may include CSNB2,
This may allow the browser to create and control on the display 1 its own space that cannot be overwritten by the utility operating system 5B. The combined controller / browser may be an application running on a computer operating system, or may include an operating system kernel of varying complexity. Operating system kernels of varying complexity range from relying on utility operating systems for hardware system services to concurrent systems that are independent of utility operating systems and capable of supporting specialized applications. The alternative display content controller / browser also includes content and operating software (e.g., JAVA (R)) distributed over Internet I or any other LAN.
) Can also be included. Further, in addition to the operating system desktop, there may be more than one context sensitive network browser and more than one concurrent graphical user interface.

【0163】 ネットワークブラウザ2などのコンテキストセンシティブインターフェースは
、マウス1Mなどのポインティングデバイスによって制御されたカーソル1Cが
、表示エリア1上のいずれかに移動および置かれたことに応答し得る。2つ以上
の並行グラフィカルユーザインターフェースにわたったカーソルの生成および制
御を上述した。カーソル1Cの位置は、CSNB2をトリガーして、ウェブペー
ジ2Aなどの適切で関連したネットワークページを取り出す。CSNB2は、C
SNBによってイネーブルにされたネットワークアドレスの最後の数Xを格納し
て、オフライン表示を行い得る。本発明の現在の好適な実施形態において、Xは
10ページである。ユーザが保存されたCSNBによってイネーブルにされたオ
フラインのページを検査する場合、このページまたはこのページ上のリンクをマ
ウスクリックすると、ユーザのダイアルアップシーケンスが開始され、オンライ
ン接続が確立される。
A context sensitive interface such as the network browser 2 may respond to cursor 1C controlled by a pointing device such as mouse 1M being moved and placed anywhere on display area 1. The generation and control of cursors across two or more concurrent graphical user interfaces has been described above. The position of cursor 1C triggers CSNB2 to retrieve the appropriate and relevant network page, such as web page 2A. CSNB2 is C
The last number X of network addresses enabled by the SNB may be stored for offline display. In the currently preferred embodiment of the present invention, X is 10 pages. When a user inspects a saved CSNB-enabled offline page, a mouse click on this page or a link on this page will initiate the user's dial-up sequence and establish an online connection.

【0164】 別の実施形態において、代替的表示コンテンツ制御器6はブラウザまたは検索
エンジンを含み得る。本発明の別の実施形態において、空間2Cは編集入力ボッ
クス2Dを含み得る。編集入力ボックス2Dは、編集、コピー、ペーストなどの
従来の機能を含み得る。ユーザは、任意の従来の入力デバイスを用いてURLを
編集入力ボックス2Dに入力し、次いで、ブラウザとして、代替的表示コンテン
ツ制御器6を起動または開始するボタンを選択する。これは、ユーティリティオ
ペレーティングシステム5Bからのオブジェクトおよび/またはドライバを用い
ることによって達成され得る。代替的表示コンテンツ制御器6をブラウザとして
開始することには、URLを従来のすべての機能を備えたライブのHTML文書
としてURLを表示するための簡単なウィンドウが含まれる。代替的表示コンテ
ンツ制御器6をそのDLLを用いる小さいアプレットとして、実現することによ
り、代替的表示コンテンツ制御器はONまたはOFFにスライドされ得る。した
がって、代替的表示コンテンツ制御器6をブラウザとして開始することは、イン
ターネットへのウィンドウのようなものである。
In another embodiment, the alternative display content controller 6 may include a browser or search engine. In another embodiment of the invention, the space 2C may include an edit input box 2D. The edit input box 2D may include conventional functions such as edit, copy and paste. The user enters the URL into the edit input box 2D using any conventional input device and then selects, as a browser, the button to activate or start the alternative display content controller 6. This can be accomplished by using objects and / or drivers from the utility operating system 5B. Starting the alternative display content controller 6 as a browser includes a simple window for displaying the URL as a live HTML document with all conventional functionality. By implementing the alternative display content controller 6 as a small applet using its DLL, the alternative display content controller can be slid on or off. Therefore, starting the alternative display content controller 6 as a browser is like a window to the Internet.

【0165】 第2に、ユーザは、任意の従来の入力デバイスを用いて、任意のテキストを編
集入力ボックス2Dに入力し得、そして次いで、代替的表示コンテンツ制御器6
を検索エンジンとして起動または開始するボタンを選択し得る。検索ストリング
を入力し、そして「検索」を選択するか、または任意のストリングを入力し、そ
して「検索」をクリックすることによって、ストリングが1から任意の数の既存
の検索エンジンに伝えられ、そして引き続いて、1つ以上の選択された検索エン
ジンおよび/または検索エンジンとしての代替的表示コンテンツ制御器6によっ
て、検索ストリングが作動させる。この結果生じる複数の異なるウィンドウは、
スタックフォーマット、カスケードフォーマット、またはタイルフォーマットの
所定の種類で現れ、各ウィンドウ内には異なる検索結果が表示される。
Second, the user can enter any text into the edit input box 2D using any conventional input device, and then the alternative display content controller 6
You can select a button to launch or start as a search engine. A string is passed from 1 to any number of existing search engines by entering a search string and selecting "Search" or by entering any string and clicking "Search", and Subsequently, the search string is activated by one or more selected search engines and / or the alternative display content controller 6 as a search engine. The resulting different windows are
Appearing in certain types of stack format, cascade format, or tile format, different search results are displayed in each window.

【0166】 検索エンジンまたはブラウザとして代替的表示コンテンツ制御器6を用いると
、結果またはHTML文書を、任意のオーバースキャン内またはデスクトップ上
に表示し得る。
Using the alternative display content controller 6 as a search engine or browser, results or HTML documents may be displayed within any overscan or desktop.

【0167】 ここで図17を参照すると、CSNB13などのコンテキストセンシティブネ
ットワークブラウザはさらに、ブラウザ空間上で位置が固定されている場合もあ
れば固定されていない場合もあるツール14などの1組のツールを含み得る。こ
のようなツールは、電子メール、チャット、仲間リストおよびボイスを含み得る
(但し、これらに限定されない)。図示するように、デスクトップ14A、ウェ
ブページ14B、第2のGUI14Cおよびブラウザ13などの空間は、任意の
従来の様態で配置され得る。
Referring now to FIG. 17, a context sensitive network browser such as CSNB13 may further include a set of tools, such as tool 14, that may or may not be fixed in position in the browser space. Can be included. Such tools may include, but are not limited to, email, chat, buddy lists and voice. As shown, the space of desktop 14A, web page 14B, second GUI 14C, browser 13, etc. may be arranged in any conventional manner.

【0168】 本発明の特定の実施形態および実施例を本明細書中、例示を目的として説明し
てきたが、本発明はこれらの実施形態に限定されることは意図されない。本発明
の意図内の均等な方法、構造、プロセス、ステップおよび他の改変は本発明の範
囲内に入る。さらに、当業者であれば、本発明の特定の要件または条件を満たす
ように、いかに本発明を変更および改変するかを理解する。例えば、本発明の本
明細書に提供される教示は、非統合型(non−integrated)表示面
を制御するコンピュータシステムを含む、他の種類のコンピュータシステムに適
用され得る。さらに、教示は、コンピュータオペレーティングシステムおよび環
境の表示面および他の編成を有する他の種類のデバイスに適用され得る。上述の
詳細な説明から、本発明にこれらの変更および他の変更を行い得る。したがって
、本発明は本開示によって限定されない。
While particular embodiments and examples of the invention have been described herein for purposes of illustration, the invention is not intended to be limited to these embodiments. Equivalent methods, structures, processes, steps and other modifications within the spirit of the invention are within the scope of the invention. Furthermore, those of ordinary skill in the art will understand how to modify and modify the invention to meet the particular requirements or conditions of the invention. For example, the teachings provided herein of the invention may be applied to other types of computer systems, including computer systems that control non-integrated display surfaces. In addition, the teachings may be applied to other types of devices having display surfaces and other organizations of computer operating systems and environments. These and other changes can be made to the invention from the above detailed description. Therefore, the present invention is not limited by the present disclosure.

【図面の簡単な説明】[Brief description of drawings]

【図1】 図1は、本発明の第1の実施形態のブロック図である。[Figure 1]   FIG. 1 is a block diagram of the first embodiment of the present invention.

【図2】 図2は、本発明の第2の実施形態のブロック図である。[Fig. 2]   FIG. 2 is a block diagram of the second embodiment of the present invention.

【図3】 図3は、ディスプレイの4つの境界すべてにオーバースキャンユーザインター
フェースを備えた標準ディスプレイの図である。
FIG. 3 is a diagram of a standard display with an overscan user interface on all four boundaries of the display.

【図4】 図4は、本発明の方法およびシステムと対話するコンピュータシステムビデオ
ディスプレイ環境の基本コンポーネントのブロック図である。
FIG. 4 is a block diagram of the basic components of a computer system video display environment that interacts with the method and system of the present invention.

【図5】 図5は、オーバースキャンユーザインターフェース内にあるカーソルまたはポ
インタと、標準ディスプレイ内のそのオーバースキャンユーザインターフェース
上のホットスポットの図である。
FIG. 5 is a diagram of a cursor or pointer in an overscan user interface and hotspots on the overscan user interface in a standard display.

【図6】 図6は、標準ディスプレイを囲む垂直方向のオーバースキャンおよび水平方向
のオーバースキャン内の使用可能な境界の図である。
FIG. 6 is a diagram of usable boundaries within a vertical overscan and a horizontal overscan surrounding a standard display.

【図7】 図7は、本発明の好適な実施形態の動作を示すフローチャートの概略図である
FIG. 7 is a schematic diagram of a flow chart showing the operation of the preferred embodiment of the present invention.

【図8】 図8は、図7のディスプレイタイプを特定するステップ102のサブステップ
のフローチャートである。
FIG. 8 is a flowchart of the sub-steps of step 102 of identifying the display type of FIG.

【図9】 図9は、図7の表示解像度を変更するステップ114のサブステップのフロー
チャートである。
9 is a flowchart of a sub-step of step 114 of changing the display resolution of FIG.

【図10】 図10は、図7のディスプレイをペイントするステップ120のサブステップ
のフローチャートである。
10 is a flowchart of substeps of step 120 of painting the display of FIG.

【図11】 図11は、図7の線形アドレス指定を可能にするステップ112のサブステッ
プのフローチャートである。
11 is a flowchart of the substeps of step 112 of enabling linear addressing of FIG. 7.

【図12】 図12は、図7のメッセージループを処理するステップ122のサブステップ
のフローチャートである。
12 is a flowchart of the sub-steps of step 122 of processing the message loop of FIG.

【図13】 図13は、図12のマウスおよびキーボードイベントをチェックするステップ
184のサブステップのフローチャートである。
FIG. 13 is a flowchart of the substeps of step 184 of checking for mouse and keyboard events of FIG.

【図14】 図14は、図7のエミュレーション解像度を変更するステップ115のサブス
テップのフローチャートである。
FIG. 14 is a flowchart of substeps of step 115 of changing the emulation resolution of FIG.

【図15】 図15は、従来技術の標準ディスプレイの図である。FIG. 15   FIG. 15 is a diagram of a prior art standard display.

【図16】 図16は、下部オーバースキャン領域にあるオーバースキャンユーザインター
フェースを備えた標準ディスプレイの図である。
FIG. 16 is a diagram of a standard display with an overscan user interface in the lower overscan area.

【図17】 図17は、デスクトップ、下部オーバースキャン領域にあるオーバースキャン
ユーザインターフェースおよび側面にある操作状況に合わせて変化するブラウザ
を含む標準ディスプレイの図である。
FIG. 17 is a diagram of a standard display including a desktop, an overscan user interface in the lower overscan area, and a browser on the side that changes according to operating conditions.

【図18】 図18は、下部オーバースキャン領域および右側オーバースキャン領域にある
オーバースキャンユーザインターフェースを備えた標準ディスプレイの図である
FIG. 18 is a diagram of a standard display with an overscan user interface in a lower overscan region and a right overscan region.

【図19】 図19は、例示的な実施形態による並行GUIの線図である。FIG. 19   FIG. 19 is a diagram of a parallel GUI according to an example embodiment.

【図20】 図20は、メニューツリーの簡略化した例である。FIG. 20   FIG. 20 is a simplified example of a menu tree.

【図21】 図21は、アクセサリコンテナまたはカートリッジを備えた並行GUIの線図
である。
FIG. 21 is a diagrammatic view of a parallel GUI with an accessory container or cartridge.

【図22】 図22は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 22 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図23】 図23は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 23 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図24】 図24は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 24 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図25】 図25は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 25 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図26】 図26は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 26 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図27】 図27は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 27 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図28】 図28は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 28 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図29】 図29は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 29 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図30】 図30は、ネイティブGUIとともに存在する複数の相補ユーザインターフェ
ースの例示的な画面表示の例である。
FIG. 30 is an example of an exemplary screen display of multiple complementary user interfaces present with a native GUI.

【図31】 図31は、xSidesTMアーキテクチャを組み込んだ例示的なブロック図
である。
FIG. 31 is an exemplary block diagram incorporating the xSides architecture.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,US,UZ, VN,YU,ZA,ZW (72)発明者 ブルックス, フィリップ アメリカ合衆国 ワシントン 98199, シアトル, 23アールディー アベニュー ウエスト 3238 (72)発明者 カーン, カーソン アメリカ合衆国 ワシントン 98115, シアトル, 18ティーエイチ アベニュー ノースイースト 6856 (72)発明者 オーローク, トーマス シー. アメリカ合衆国 ワシントン 98112, シアトル, イースト ロアノーク 2409 (72)発明者 ワーノック, ジェイムス アメリカ合衆国 ワシントン 98133, シアトル, デンズモア ノース 10346 (72)発明者 イーストン, ジョン アメリカ合衆国 ワシントン 98070, バション, 135ティーエイチ アベニュ ー サウスウエスト 28224 Fターム(参考) 5E501 AA01 BA03 CA02 FA06 FA07 FA08 FA09 ─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE, TR), OA (BF , BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, G M, KE, LS, MW, MZ, SD, SL, SZ, TZ , UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, B Z, CA, CH, CN, CR, CU, CZ, DE, DK , DM, DZ, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, J P, KE, KG, KP, KR, KZ, LC, LK, LR , LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NO, NZ, PL, PT, R O, RU, SD, SE, SG, SI, SK, SL, TJ , TM, TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA, ZW (72) Inventor Brooks, Philip             United States Washington 98199,             Seattle, 23 Rd Avenue               Waist 3238 (72) Inventor Khan, Carson             United States Washington 98115,             Seattle, 18T Avenue               North East 6856 (72) Inventor Aurok, Thomas C.             United States Washington 98112,             Seattle, East Roanoke 2409 (72) Inventor Warnock, James             United States Washington 98133,             Seattle, Densmore North 10346 (72) Inventor Easton, John             United States Washington 98070,             Bastion, 135 ave avenue             -Southwest 28224 F-term (reference) 5E501 AA01 BA03 CA02 FA06 FA07                       FA08 FA09

Claims (67)

【特許請求の範囲】[Claims] 【請求項1】 クライアントシステムとサーバシステムとの間の通信を処理
するためのコンピュータベースの方法であって、 複数のモジュールからの該クライアントシステム上で個々に動作する複数のデ
ータリクエストを一体化させて、単一のトランザクションにするステップと、 該単一のトランザクションを単一の通信接続を介して該サーバシステムに送る
ステップと、 を包含する、方法。
1. A computer-based method for handling communication between a client system and a server system, the method comprising: integrating a plurality of data requests individually operating on the client system from a plurality of modules. Making a single transaction and sending the single transaction to the server system over a single communication connection.
【請求項2】 前記サーバシステムから単一のトランザクションを単一の通
信接続を介して受信するステップと、 該受信したトランザクションを複数のデータ応答に分解するステップと、 各データ応答を前記複数のモジュールのうち対応するモジュールに転送するス
テップと、 をさらに包含する、請求項1に記載の方法。
2. Receiving a single transaction from the server system via a single communication connection, decomposing the received transaction into a plurality of data responses, and each data response to the plurality of modules. The method of claim 1, further comprising: transferring to a corresponding module of the.
【請求項3】 前記複数のデータ応答は、前記複数のモジュールを選択的に
更新する際に用いられる、請求項2に記載の方法。
3. The method of claim 2, wherein the plurality of data responses are used in selectively updating the plurality of modules.
【請求項4】 前記複数のデータ応答は、一意的なユーザ識別子に基づく、
請求項2に記載の方法。
4. The plurality of data responses is based on a unique user identifier,
The method of claim 2.
【請求項5】 第2のクライアントシステムから前記サーバシステムへの同
一の一意的なユーザ識別子に基づいたリクエストが、該第2のクライアントシス
テムが受信するデータ応答と、前記クライアントシステムが受信する複数のデー
タ応答とを同一にする、第2のクライアントシステムをさらに備える、請求項4
に記載の方法。
5. A request from a second client system to the server system based on the same unique user identifier, a data response received by the second client system and a plurality of requests received by the client system. The method of claim 4, further comprising a second client system that makes the data response the same.
The method described in.
【請求項6】 前記単一のトランザクション中の各データリクエストは、異
なる種類のデータに対応する、請求項1に記載の方法。
6. The method of claim 1, wherein each data request in the single transaction corresponds to a different type of data.
【請求項7】 前記データリクエストは、前記クライアントシステム上のア
プリケーションを制御するために用いられ、 前記サーバシステムから前記アプリケーション用のデータを受信するステップ
と、 該受信したデータを該アプリケーションに転送するステップと、 をさらに包含する、請求項1に記載の方法。
7. The data request is used to control an application on the client system, receiving data for the application from the server system, and transferring the received data to the application. The method of claim 1, further comprising:
【請求項8】 前記アプリケーションは、前記クライアントシステムの常駐
型オペレーティングシステムが表示するデスクトップユーザインターフェースの
外部に配置されたユーザインターフェースである、請求項7に記載の方法。
8. The method of claim 7, wherein the application is a user interface located outside a desktop user interface displayed by a resident operating system of the client system.
【請求項9】 前記受信されたデータは、前記アプリケーションの自動更新
を該アプリケーションのユーザにとって透過的な方式で行なう、請求項7に記載
の方法。
9. The method of claim 7, wherein the received data provides for automatic updating of the application in a manner transparent to the user of the application.
【請求項10】 前記受信されたデータは、前記アプリケーションの更新バ
ージョンを提供する、請求項7に記載の方法。
10. The method of claim 7, wherein the received data provides an updated version of the application.
【請求項11】 前記受信されたデータは、既存のアプリケーションデータ
および新規のアプリケーションデータのマージに、前記アプリケーションのユー
ザにとって透過的な方式で実行させる、請求項7に記載の方法。
11. The method of claim 7, wherein the received data causes a merge of existing application data and new application data to be performed in a manner transparent to a user of the application.
【請求項12】 前記アプリケーションに関して受信されたデータは、一意
的なユーザ識別子に基づいてアプリケーションにマージされる、請求項7に記載
の方法。
12. The method of claim 7, wherein data received for the application is merged into the application based on a unique user identifier.
【請求項13】 前記アプリケーションについて受信されたデータの部分は
、一意的なユーザ識別子に基づいてフィルタリングされる、請求項7に記載の方
法。
13. The method of claim 7, wherein the portion of data received for the application is filtered based on a unique user identifier.
【請求項14】 前記受信されたデータは、前記クライアントシステム上に
上書き不可能な様式で表示されるメッセージを含む、請求項7に記載の方法。
14. The method of claim 7, wherein the received data comprises a message displayed on the client system in a non-overwriteable manner.
【請求項15】 前記メッセージは、ユーザ向けのメッセージに対象を絞っ
た特定の情報を符号化する、請求項14に記載の方法。
15. The method of claim 14, wherein the message encodes specific information targeted to a message for a user.
【請求項16】 前記メッセージは、該メッセージをユーザのグループにブ
ロードキャストする際に用いられる情報を共有特性に基づいて符号化する、請求
項14に記載の方法。
16. The method of claim 14, wherein the message encodes information used in broadcasting the message to a group of users based on sharing characteristics.
【請求項17】 前記メッセージは、属性を含むテンプレートメッセージか
ら構成され、該属性の値は、該メッセージが前記サーバシステムから送信される
際に演算される、請求項14に記載の方法。
17. The method of claim 14, wherein the message comprises a template message containing attributes, the value of the attribute being calculated when the message is sent from the server system.
【請求項18】 前記クライアントシステムおよび前記サーバシステムは、
同一のコンピュータシステム上に常駐する、請求項1に記載の方法。
18. The client system and the server system are
The method of claim 1, wherein the methods reside on the same computer system.
【請求項19】 前記トランザクションは、暗号化されたマークアップファ
イルを用いて送信される、請求項1に記載の方法。
19. The method of claim 1, wherein the transaction is sent using an encrypted markup file.
【請求項20】 前記一体化されたデータリクエストの1つとしてリクエス
トを、前記クライアントシステムの代わりにタスクのスケジューリングを行なう
ように前記サーバシステムに送るステップと、 該タスクのスケジューリングの結果を受信するステップと、 をさらに包含する、請求項1に記載の方法。
20. Sending a request to the server system to schedule a task on behalf of the client system as one of the integrated data requests, and receiving the result of scheduling the task. The method of claim 1, further comprising:
【請求項21】 前記クライアントシステムによって統計情報が収集され、
該統計情報は、前記単一のトランザクションに一体化された1以上のデータリク
エストとして前記サーバシステムに定期的に送られる、請求項1に記載の方法。
21. Statistics are collected by the client system,
The method of claim 1, wherein the statistical information is periodically sent to the server system as one or more data requests integrated into the single transaction.
【請求項22】 前記統計情報は、マークアップストリングに符号化され、
該マークアップストリングは、前記データリクエストの1つとして送信される、
請求項21に記載の方法。
22. The statistical information is encoded in a markup string,
The markup string is sent as one of the data requests,
The method of claim 21.
【請求項23】 前記データリクエストは、前記クライアントシステム上の
アプリケーションを制御するように用いられ、前記統計情報は、該アプリケーシ
ョンの利用時間に関するインプレッションデータを含む、請求項21に記載の方
法。
23. The method of claim 21, wherein the data request is used to control an application on the client system and the statistical information includes impression data regarding usage time of the application.
【請求項24】 サーバシステムとの通信を処理するクライアントシステム
上の通信設備であって、 前記クライアントシステム上で個々に動作する複数のモジュールからの複数の
データリクエストを単一のトランザクションに一体化させるリクエスト合理化機
構と、 該単一のトランザクションを単一の通信接続を介して該サーバシステムに送る
送信機構と、 を備える、通信設備。
24. A communication facility on a client system that handles communication with a server system, wherein multiple data requests from multiple modules operating individually on said client system are combined into a single transaction. A communication facility, comprising: a request rationalization mechanism; and a transmission mechanism that sends the single transaction to the server system via a single communication connection.
【請求項25】 前記サーバシステムから単一のトランザクションを受信し
、該トランザクションを複数のデータ応答に分解し、前記複数のモジュールのう
ち対応するモジュールに各データ応答を転送する分解機構をさらに備える、請求
項24に記載の通信設備。
25. A decomposing mechanism for receiving a single transaction from the server system, decomposing the transaction into a plurality of data responses, and forwarding each data response to a corresponding one of the plurality of modules. The communication equipment according to claim 24.
【請求項26】 前記データ応答は、モジュールを選択的に更新する際に用
いられる、請求項25に記載の通信設備。
26. The communication facility according to claim 25, wherein the data response is used in selectively updating a module.
【請求項27】 前記複数のデータ応答は、一意的なユーザ識別子に基づく
、請求項25に記載の通信設備。
27. The communication facility of claim 25, wherein the plurality of data responses are based on a unique user identifier.
【請求項28】 第2のクライアントシステムであって、該第2のクライア
ントシステムから前記サーバシステムへの同一の一意的なユーザ識別子に基づい
たリクエストにより、該第2のクライアントシステムが受信するデータ応答と、
前記クライアントシステムが受信する複数のデータ応答とを同一にする、第2の
クライアントシステムをさらに備える、請求項27に記載の通信設備。
28. A data response received by a second client system in response to a request from the second client system to the server system based on the same unique user identifier. When,
28. The communication facility of claim 27, further comprising a second client system that makes a plurality of data responses received by the client system the same.
【請求項29】 前記データリクエストは、前記クライアントシステム上の
アプリケーションを制御する際に用いられ、前記分解機構は、前記アプリケーシ
ョンに関するデータを前記サーバシステムから受信し、該受信したデータを該ア
プリケーションに転送する、請求項24に記載の通信設備。
29. The data request is used to control an application on the client system, the decomposing mechanism receives data relating to the application from the server system, and transfers the received data to the application. 25. The communication equipment according to claim 24.
【請求項30】 前記アプリケーションは、前記クライアントシステムの常
駐型オペレーティングシステムが表示するデスクトップユーザインターフェース
の外部に配置されたユーザインターフェースである、請求項29に記載の通信設
備。
30. The communication facility according to claim 29, wherein the application is a user interface arranged outside a desktop user interface displayed by a resident operating system of the client system.
【請求項31】 前記受信されたデータは、前記アプリケーションの局面を
自動的に更新する、請求項29に記載の通信設備。
31. The communication facility of claim 29, wherein the received data automatically updates aspects of the application.
【請求項32】 前記受信されたデータは、既存のアプリケーションデータ
および新規のアプリケーションデータのマージが、前記アプリケーションのユー
ザに見えなくするように実行される、請求項29に記載の通信設備。
32. The communication facility of claim 29, wherein the received data is performed such that a merge of existing application data and new application data is made invisible to a user of the application.
【請求項33】 前記受信されたデータは、一意的なユーザ識別子に基づい
て前記アプリケーションにマージされる、請求項29に記載の通信設備。
33. The communication facility of claim 29, wherein the received data is merged with the application based on a unique user identifier.
【請求項34】 前記アプリケーションについて受信されたデータ部分は、
一意的なユーザ識別子に基づいてフィルタリングされる、請求項29に記載の通
信設備。
34. The data portion received for the application comprises:
30. The communication facility of claim 29, filtered based on a unique user identifier.
【請求項35】 前記受信されたデータは、前記クライアントシステム上に
上書き不可能な様式で表示されるメッセージを含む、請求項29に記載の通信設
備。
35. The communication facility of claim 29, wherein the received data comprises a message displayed on the client system in a non-overwritable manner.
【請求項36】 前記メッセージは、ユーザ向けのメッセージに対象を絞っ
た特定の情報を符号化する、請求項35に記載の通信設備。
36. The communication facility of claim 35, wherein the message encodes specific information targeted to a user-oriented message.
【請求項37】 前記メッセージは、該メッセージをユーザのグループにブ
ロードキャストする際に用いられる情報を共有特性に基づいて符号化する、請求
項35に記載の通信設備。
37. The communication facility of claim 35, wherein the message encodes information used in broadcasting the message to a group of users based on sharing characteristics.
【請求項38】 前記メッセージは、属性を含むテンプレートメッセージか
ら構成され、該属性の値は、該メッセージが前記サーバシステムから送信される
際に演算される、請求項35に記載の通信設備。
38. The communication facility according to claim 35, wherein the message is composed of a template message including an attribute, and a value of the attribute is calculated when the message is transmitted from the server system.
【請求項39】 前記単一のトランザクション中の各データリクエストは、
異なる種類のデータに対応する、請求項24に記載の通信設備。
39. Each data request in the single transaction comprises:
25. The communication facility according to claim 24, corresponding to different types of data.
【請求項40】 前記クライアントシステムおよび前記サーバシステムは、
同一のコンピュータシステム上に常駐する、請求項24に記載の通信設備。
40. The client system and the server system are
25. The communication facility of claim 24, which resides on the same computer system.
【請求項41】 前記トランザクションは、暗号化されたマークアップファ
イルを用いて送信される、請求項24に記載の通信設備。
41. The communication facility of claim 24, wherein the transaction is sent using an encrypted markup file.
【請求項42】 前記一体化されたデータリクエストの1つとしてリクエス
トを前記サーバシステムに送って、前記クライアントシステムの代わりにタスク
をスケジューリングする、請求項24に記載の通信設備。
42. The communication facility of claim 24, wherein a request is sent to the server system as one of the integrated data requests to schedule a task on behalf of the client system.
【請求項43】 前記クライアントシステムによって統計情報が収集され、
該統計情報は、前記単一のトランザクションに一体化された1以上のデータリク
エストとして前記サーバシステムに定期的に送られる、請求項24に記載の通信
設備。
43. Statistics are collected by the client system,
25. The communication facility of claim 24, wherein the statistical information is periodically sent to the server system as one or more data requests integrated in the single transaction.
【請求項44】 前記統計情報は、マークアップストリングに符号化され、
該マークアップストリングは、前記データリクエストの1つとして送信される、
請求項43に記載の通信設備。
44. The statistical information is encoded in a markup string,
The markup string is sent as one of the data requests,
The communication equipment according to claim 43.
【請求項45】 前記データリクエストは、前記クライアントシステム上の
アプリケーションを制御するために用いられ、前記統計情報は、該アプリケーシ
ョンの利用時間に関するインプレッションデータを含む、請求項43に記載の通
信設備。
45. The communication facility according to claim 43, wherein the data request is used to control an application on the client system, and the statistical information includes impression data regarding usage time of the application.
【請求項46】 コンピュータプロセッサを制御してクライアントシステム
とサーバシステムとの間の通信を処理させるための命令を含むコンピュータによ
る読出しが可能なメモリ媒体であって、該処理ステップは、 複数のモジュールからの該クライアントシステム上で個々に動作する複数の
データリクエストを一体化させて、単一のトランザクションにするステップと、 該単一のトランザクションを単一の通信接続を介して該サーバシステムに送
るステップと、によって行なわれる、コンピュータによる読出しが可能なメモリ
媒体。
46. A computer readable memory medium containing instructions for controlling a computer processor to process communications between a client system and a server system, the processing steps comprising: Combining a plurality of data requests operating individually on the client system into a single transaction, and sending the single transaction to the server system over a single communication connection. A computer-readable memory medium that is made by.
【請求項47】 前記サーバシステムから単一のトランザクションを単一の
通信接続を介して受信することと、 該受信したトランザクションを複数のデータ応答に分解することと、 各データ応答を前記複数のモジュールのうち対応するモジュールに転送するこ
とと、をさらに含む、請求項46に記載のコンピュータによる読出しが可能なメ
モリ媒体。
47. Receiving a single transaction from the server system via a single communication connection, decomposing the received transaction into a plurality of data responses, each data response being the plurality of modules. 47. The computer readable memory medium of claim 46, further comprising: transferring to a corresponding module of the.
【請求項48】 前記データ応答は、前記複数のモジュールを選択的に更新
する、請求項47に記載のコンピュータによる読出しが可能なメモリ媒体。
48. The computer readable memory medium of claim 47, wherein the data response selectively updates the plurality of modules.
【請求項49】 前記複数のデータ応答は、一意的なユーザ識別子に基づく
、請求項47に記載のコンピュータによる読出しが可能なメモリ媒体。
49. The computer readable memory medium of claim 47, wherein the plurality of data responses are based on a unique user identifier.
【請求項50】 第2のクライアントシステムであって、該第2のクライア
ントシステムから前記サーバシステムへの同一の一意的なユーザ識別子に基づい
たリクエストにより、該第2のクライアントシステムが受信するデータ応答と、
前記クライアントシステムが受信する複数のデータ応答とを同一にする、第2の
クライアントシステムをさらに備える、請求項49に記載のコンピュータによる
読出しが可能なメモリ媒体。
50. A second client system, the data response received by the second client system in response to a request from the second client system to the server system based on the same unique user identifier. When,
50. The computer-readable memory medium of claim 49, further comprising a second client system that equates a plurality of data responses received by the client system.
【請求項51】 前記単一のトランザクション中の各データリクエストは、
異なる種類のデータに対応する、請求項46に記載のコンピュータによる読出し
が可能なメモリ媒体。
51. Each data request in the single transaction comprises:
47. The computer readable memory medium of claim 46 corresponding to different types of data.
【請求項52】 前記データリクエストを用いて前記クライアントシステム
上のアプリケーションを制御し、 前記サーバシステムから前記アプリケーション用のデータを受信することと、 該受信したデータを該アプリケーションに転送することをさらに含む、請求項
46に記載のコンピュータによる読出しが可能なメモリ媒体。
52. Further comprising controlling the application on the client system using the data request, receiving data for the application from the server system, and transferring the received data to the application. 47. A computer-readable memory medium according to claim 46.
【請求項53】 前記アプリケーションは、前記クライアントシステムの常
駐型オペレーティングシステムが表示するデスクトップユーザインターフェース
の外部に配置されたユーザインターフェースである、請求項52に記載のコンピ
ュータによる読出しが可能なメモリ媒体。
53. The computer readable memory medium of claim 52, wherein the application is a user interface located outside a desktop user interface displayed by a resident operating system of the client system.
【請求項54】 前記受信されたデータは前記アプリケーションを自動更新
する、請求項52に記載のコンピュータによる読出しが可能なメモリ媒体。
54. The computer readable memory medium of claim 52, wherein the received data automatically updates the application.
【請求項55】 前記受信されたデータは、既存のアプリケーションデータ
および新規のアプリケーションデータのマージに、前記アプリケーションのユー
ザに見えなくするように実行させる、請求項52に記載のコンピュータによる読
出しが可能なメモリ媒体。
55. The computer readable form of claim 52, wherein the received data causes a merge of existing application data and new application data to be performed such that it is invisible to a user of the application. Memory medium.
【請求項56】 前記アプリケーションについて受信されたデータは、一意
的なユーザ識別子に基づいてアプリケーションにマージされる、請求項52に記
載のコンピュータによる読出しが可能なメモリ媒体。
56. The computer readable memory medium of claim 52, wherein the data received for the application is merged into the application based on a unique user identifier.
【請求項57】 前記アプリケーションについて受信されたデータの部分は
、一意的なユーザ識別子に基づいてフィルタリングされる、請求項52に記載の
コンピュータによる読出しが可能なメモリ媒体。
57. The computer readable memory medium of claim 52, wherein the portion of data received for the application is filtered based on a unique user identifier.
【請求項58】 前記受信されたデータは、前記クライアントシステム上に
上書き不可能な様式で表示されるメッセージを含む、請求項52に記載のコンピ
ュータによる読出しが可能なメモリ媒体。
58. The computer readable memory medium of claim 52, wherein the received data comprises a message displayed in a non-overwriteable manner on the client system.
【請求項59】 前記メッセージは、ユーザ向けのメッセージに対象を絞っ
た特定の情報を符号化する、請求項58に記載のコンピュータによる読出しが可
能なメモリ媒体。
59. The computer readable memory medium of claim 58, wherein the message encodes specific information targeted to a message intended for a user.
【請求項60】 前記メッセージは、該メッセージをユーザのグループにブ
ロードキャストする際に用いられる情報を共有特性に基づいて符号化する、請求
項58に記載のコンピュータによる読出しが可能なメモリ媒体。
60. The computer readable memory medium of claim 58, wherein the message encodes information used in broadcasting the message to a group of users based on sharing characteristics.
【請求項61】 前記メッセージは、属性を含むテンプレートメッセージか
ら構成され、該属性の値は、該メッセージが前記サーバシステムから送信される
際に演算される、請求項58に記載のコンピュータによる読出しが可能なメモリ
媒体。
61. The computer readable form of claim 58, wherein the message comprises a template message that includes an attribute, the value of the attribute being calculated when the message is sent from the server system. Possible memory medium.
【請求項62】 前記クライアントシステムおよび前記サーバシステムは、
同一のコンピュータシステム上に常駐する、請求項47に記載のコンピュータに
よる読出しが可能なメモリ媒体。
62. The client system and the server system
48. The computer readable memory medium of claim 47, which resides on the same computer system.
【請求項63】 前記トランザクションは、暗号化されたマークアップファ
イルを用いて送信される、請求項47に記載のコンピュータによる読出しが可能
なメモリ媒体。
63. The computer readable memory medium of claim 47, wherein the transaction is transmitted using an encrypted markup file.
【請求項64】 前記クライアントシステムの代わりにタスクのスケジュー
リングを行なうように、前記一体化されたデータリクエストの1つとしてリクエ
ストを前記サーバシステムに送ることをさらに含む、請求項47に記載のコンピ
ュータによる読出しが可能なメモリ媒体。
64. The computer of claim 47, further comprising sending a request to the server system as one of the integrated data requests to schedule tasks on behalf of the client system. Readable memory medium.
【請求項65】 前記クライアントシステムによって統計情報が収集され、
該統計情報は、前記単一のトランザクションに一体化されたデータリクエストの
うちの1つ以上として前記サーバシステムに定期的に送られる、請求項47に記
載のコンピュータによる読出しが可能なメモリ媒体。
65. Statistics are collected by the client system,
48. The computer readable memory medium of claim 47, wherein the statistical information is periodically sent to the server system as one or more of data requests that are combined into the single transaction.
【請求項66】 前記統計情報は、マークアップストリングに符号化され、
該マークアップストリングは、前記データリクエストの1つとして送信される、
請求項65に記載のコンピュータによる読出しが可能なメモリ媒体。
66. The statistical information is encoded in a markup string,
The markup string is sent as one of the data requests,
A computer readable memory medium according to claim 65.
【請求項67】 前記データリクエストは、前記クライアントシステム上の
アプリケーションを制御する際に用いられ、前記統計情報は、該アプリケーショ
ンの利用時間に関するインプレッションデータを含む、請求項65に記載のコン
ピュータによる読出しが可能なメモリ媒体。
67. The computer readable form of claim 65, wherein the data request is used in controlling an application on the client system and the statistical information includes impression data regarding usage time of the application. Possible memory medium.
JP2001560806A 2000-02-18 2001-02-16 Method and system for controlling a complementary user interface on a display surface Withdrawn JP2003524843A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18345300P 2000-02-18 2000-02-18
US60/183,453 2000-02-18
US72456000A 2000-11-27 2000-11-27
US09/724,560 2000-11-27
PCT/US2001/005192 WO2001061484A2 (en) 2000-02-18 2001-02-16 Method and system for controlling a complementary user interface on a display surface

Publications (1)

Publication Number Publication Date
JP2003524843A true JP2003524843A (en) 2003-08-19

Family

ID=26879135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001560806A Withdrawn JP2003524843A (en) 2000-02-18 2001-02-16 Method and system for controlling a complementary user interface on a display surface

Country Status (4)

Country Link
JP (1) JP2003524843A (en)
AU (1) AU2001238466A1 (en)
TW (1) TWI222019B (en)
WO (1) WO2001061484A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018511843A (en) * 2015-05-20 2018-04-26 テンセント・テクノロジー・(シェンジェン)・カンパニ Method and device for displaying content on the same screen and terminal device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1288891A1 (en) 2001-08-27 2003-03-05 Hewlett-Packard Company Process and apparatus for displaying data in a specific area of the display in a computer or in an interactive terminal under control of the LAN card and independently on the operating system
CN1918556A (en) * 2004-02-05 2007-02-21 Kings情报通信 Computer security apparatus and method using security input device driver
US7340686B2 (en) 2005-03-22 2008-03-04 Microsoft Corporation Operating system program launch menu search
CN100377568C (en) * 2005-10-10 2008-03-26 中央电视台 Set-top box EPG application transplanting development interface system
JP5903835B2 (en) * 2011-04-28 2016-04-13 株式会社リコー Transmission terminal, image display control method, image display control program, recording medium, and transmission system
CN103914466B (en) * 2012-12-31 2017-08-08 阿里巴巴集团控股有限公司 A kind of method and system of label button management

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392400A (en) * 1992-07-02 1995-02-21 International Business Machines Corporation Collaborative computing system using pseudo server process to allow input from different server processes individually and sequence number map for maintaining received data sequence
US5844553A (en) * 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
US5995980A (en) * 1996-07-23 1999-11-30 Olson; Jack E. System and method for database update replication

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018511843A (en) * 2015-05-20 2018-04-26 テンセント・テクノロジー・(シェンジェン)・カンパニ Method and device for displaying content on the same screen and terminal device
US10698559B2 (en) 2015-05-20 2020-06-30 Tencent Technology (Shenzhen) Company Limited Method and apparatus for displaying content on same screen, and terminal device

Also Published As

Publication number Publication date
AU2001238466A1 (en) 2001-08-27
WO2001061484A3 (en) 2003-02-20
TWI222019B (en) 2004-10-11
WO2001061484A2 (en) 2001-08-23

Similar Documents

Publication Publication Date Title
US6892359B1 (en) Method and system for controlling a complementary user interface on a display surface
US7340682B2 (en) Method and system for controlling a complementary user interface on a display surface
US20100005396A1 (en) Method and system for controlling a comlementary user interface on a display surface
WO2000065563A1 (en) Secondary user interface
CN1130683C (en) Secondary user interface
US6686936B1 (en) Alternate display content controller
EP0967541B1 (en) Method and apparatus for graphical selection of data
US6639613B1 (en) Alternate display content controller
US6337717B1 (en) Alternate display content controller
US6570595B2 (en) Exclusive use display surface areas and persistently visible display of contents including advertisements
US7890884B2 (en) Exclusive use display surface areas and persistently visible display of contents including advertisements
US7649506B2 (en) Method and apparatus for controlling image-display devices collectively
US5668997A (en) Object-oriented system for servicing windows
US6118428A (en) Method and system for simultaneous presentation of multiple windows supported by different graphic user interfaces
US7007240B1 (en) Method and system for displaying non-overlapping program and auxiliary windows
JP2003524843A (en) Method and system for controlling a complementary user interface on a display surface
WO1999047990A1 (en) Electronic privacy screen and viewer
WO2002039266A2 (en) Method and system for controlling a complementary user interface on a display surface
KR20000063484A (en) Network-based advertisement method with virus checking and system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513