Method and system for controlling a complementary user interface on a display surface
Abstract
An alternate display content controller provides a technique for controlling avideo display separately from and in addition to the content displayed on the operatingsystem display surface. Where the display is a computer monitor, the altemate displaycontent controller interacts with the computer utility operating system and hardware driversto control allocation of display space and create and control one or more parallel graphicaluser interfaces adjacent the operating system desktop. An alternate display contentcontroller may be incorporated in either hardvware or software. As software, an alternatedisplay content controller may be an application running on the computer operating system,or may include an operating system kernel of varying complexity ranging froln dependent onthe utility operating system for hardware system services to a parallel system independent ofthe utility operating system and capable of supporting dedicated applications. The altematedisplay content controller may also include content and operating software delivered over theintemet or any other LAN. The alternate display content controller may also be included in atelevision decoder/settop box to permit two or more parallel graphical user interfaces to bedisplayed simultaneously.

Term
No projected expiry on record.
- Priority
- Filed
- Granted
- Today
47 claims: 46 independent, 1 dependent
- 1一種在視訊顯示系統上修改一次級使用者介面的顯示來包含一入口區域的方法,該視訊顯示系統具有一整體可顯示區域,其包含一第一區域及一第二區域,該第一區域由電腦作業系統控制,其呈現一使用者介面,並至少佔用了該第一區域的一部份,該第二區域係位在該第一區域之外,以及該作業系統的控制之外,該次級使用者介面係顯示於該第二區域,其包含:在接收到一指示時即顯示一入口區域;藉由重新配置該第一區域與該第二區域之間的整體可顯示區域來增加該第二區域的尺寸,所以該第一區域對於該作業系統係以透明化的方式而減小了尺寸;配置該加大第二區域的一第一部份給該次級使用者介面,及一第二部份給該入口區域;在該加大的第二區域的第一部份中重新顯示該次級使用者介面;決定出一內容的指示來顯示在該入口區域;及在該入口區域中載入及顯示該指定的內容。
- 2如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一個人資訊管理系統的使用者介面。
- 3如申請專利範圍第2項之方法,其中該個人資訊管理系統包含一月曆,提供事件的排程。
- 4如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一以超文字標記語言為主的影像。
- 5如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一透過網路通訊的應用程式。
- 6如申請專利範圍第5項之方法,其中該網路為網際網路。
- 7如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一用於立即訊息傳遞的使用者介面。
- 8如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一廣告。
- 9如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一電子郵件應用程式的使用者介面。
- 10如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容包含有文字或圖形的資訊。
- 11如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一應用程式,其利用控制該第二區域的程式碼的程式化介面來修改該第二區域的特性。
- 12如申請專利範圍第1項之方法,其中在該入口區域中所載入及顯示的內容為一電子化程式導引。
- 13如申請專利範圍第1項之方法,另包含:可動態地決定該次級使用者介面的一組件,其可能是新的或更新過的;將該決定的組件整合到該次級使用者介面。
- 14一種在視訊顯示系統上修改一次級使用者介面的顯示來包含一入口區域的裝置,該視訊顯示系統具有一整體可顯示區域,其包含一第一區域及一第二區域,該第一區域由電腦作業系統控制,其呈現一使用者介面,並至少佔用了該第一區域的一部份,該第二區域係位在該第一區域之外,以及該作業系統的控制之外,該次級使用者介面係顯示於該第二區域,其包含:一顯示調整機制,其在接收到一指示來顯示一入口區域時,藉由重新配置該第一區域與該第二區域之間的整體可顯示區域來增加該第二區域的尺寸,所以該第一區域對於該作業系統係以透明化的方式而減小了尺寸;一區域調整機制,其在該加大的第二區域中配置一第一部份給該次級使用者介面,及一第二部份給入口區域,使得該次級使用者介面被重新顯示在該加大的第二區域的第一部份;及一入口管理系統,其決定了要顯示在該入口區域的內容的指示,並載入及在該入口區域中顯示出該指定的內容。
- 15如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一個人資訊管理系統的使用者介面。
- 16如申請專利範圍第15項之裝置,其中該個人資訊管理系統包含一月曆,提供事件的排程。
- 17如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一以超文字標記語言為主的影像。
- 18如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一透過網路通訊的應用程式。
- 19如申請專利範圍第18項之裝置,其中該網路為網際網路。
- 20如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一用於立即訊息傳遞的使用者介面。
- 21如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一廣告。
- 22如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一電子郵件應用程式的使用者介面。
- 23如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容包含有文字或圖形的資訊。
- 24如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一應用程式,其利用控制該第二區域的程式碼的程式化介面來修改該第二區域的特性。
- 25如申請專利範圍第14項之裝置,其中在該入口區域中所載入及顯示的內容為一電子化程式導引。
- 26如申請專利範圍第14項之裝置,另包含:一使用者介面結合設備,其可動態地決定該次級使用者介面的一組件,其可能是新的或更新過的,並將該決定的組件整合到該次級使用者介面。
- 27一種電腦可讀取記憶媒體,其包含用於控制一電腦處理器的指令,用以在視訊顯示系統上修改一次級使用者介面的顯示來包含一入口區域,該視訊顯示系統具有一整體可顯示區域,其包含一第一區域及一第二區域,該第一區域由電腦作業系統控制,其呈現一使用者介面,並至少佔用了該第一區域的一部份,該第二區域係位在該第一區域之外,以及該作業系統的控制之外,該次級使用者介面係顯示於該第二區域,其藉由:在接收到一指示時即顯示一入口區域;藉由重新配置該第一區域與該第二區域之間的整體可顯示區域來增加該第二區域的尺寸,所以該第一區域對於該作業系統係以透明化的方式而減小了尺寸;配置該加大第二區域的一第一部份給該次級使用者介面,及一第二部份給該入口區域;在該加大的第二區域的第一部份中重新顯示該次級使用者介面;決定出一內容的指示來顯示在該入口區域;及在該入口區域中載入及顯示該指定的內容。
- 28如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一個人資訊管理系統的使用者介面。
- 29如申請專利範圍第28項之電腦可讀取記憶媒體,其中該個人資訊管系統包含一月曆,提供事件的排程。
- 30如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一以超文字標記語言為主的影像。
- 31如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一透過網路通訊的應用程式。
- 32如申請專利範圍第31項之電腦可讀取記憶媒體,其中該網路為網際網路。
- 33如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一用於立即訊息傳遞的使用者介面。
- 34如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一廣告。
- 35如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一電子郵件應用程式的使用者介面。
- 36如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容包含有文字或圖形的資訊。
- 37如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一應用程式,其利用控制該第二區域的程式碼的程式化介面來修改該第二區域的特性。
- 38如申請專利範圍第27項之電腦可讀取記憶媒體,其中在該入口區域中所載入及顯示的內容為一電子化程式導引。
- 39如申請專利範圍第27項之電腦可讀取記憶媒體,另包含指令用於控制該電腦處理器,藉由:可動態地決定該次級使用者介面的一組件,其可能是新的或更新過的;將該決定的組件整合到該次級使用者介面。
- 40一種在一電腦系統中用來更新顯示在一視訊顯示系統的一第二區域中的一次級使用者介面之方法,該介面係位在該視訊顯示系統的一第一區域之外,該第一區域由電腦作業系統控制,其呈現一使用者介面在至少該第一區域中的一部份,該第二區域係在該作業系統的控制之外,該次級使用者介面至少包含一卡匣,該卡匣具有複數個使用者介面組件,用以修改顯示在該第二區域中的影像,其包含:可動態地決定一卡匣的一指示,其可能是新的或更新過的;將該指定卡匣的複數個使用者介面組件透明化地整合到該次級使用者介面。
- 41一種在一電腦系統中用來顯示在一視訊顯示系統的一第二區域中透過網路來取用資料的結果之方法,該結果係位在該視訊顯示系統的一第一區域之外,該第一區域由電腦作業系統控制,其呈現一使用者介面在至少該第一區域中的一部份,該第二區域係在該作業系統的控制之外,其包含:接收在網路上資料位置的一指示;利用該指示來取得資料;及在該第二區域中顯示出該取得的資料,所以該取得的資料將不會被由該作業系統控制的該使用者介面所覆寫。
- 42如申請專利範圍第41項之方法,其中在網路上資料位置的該指示係由一搜尋功能來獲得。
- 43如申請專利範圍第41項之方法,其中在網路上資料位置的該指示係由一特定的網路位置來獲得。
- 44如申請專利範圍第43項之方法,其中該特定網路位置係利用一統一資源定位器來指定。
- 45如申請專利範圍第41項之方法,另包含:在接收到一指示來在一大區域中顯示所取得的資料時,將取得的資料顯示在一第三區域,其覆蓋了該第一區域,而不是將取得的資料顯示在該第二區域,該第三區域係在該作業系統的控制之外;及在該第二區域中顯示使用者介面組件,藉以控制在該第三區域中該取得資料的顯示。
- 46如申請專利範圍第45項之方法,其中該使用者介面組件控制了與該網路的存取。
- 47如申請專利範圍第45項之方法,其中該網路為網際網路。
Independent claims47
461 paragraphs in 3 sections, as filed
Method and system for controlling complementary user interface on display surface
Figure 1 shows a block diagram of a first specific embodiment of the present invention;
Figure 2 shows a block diagram of a second specific embodiment of the present invention;
Figure 3 shows a standard display with an overscan user interface on the four borders of the display;
Figure 4 shows a block diagram of the basic components of the present invention;
Figure 5 shows a cursor or indicator in the user interface of the standard display, and a hot spot on the over-scanning user interface;
Figure 6 shows the usable boundary within the vertical overscan and the horizontal overscan surrounding the standard display;
Figure 7 is a schematic flow chart showing the operation of a preferred embodiment of the present invention;
FIG. 8 is a flowchart of the next step in step 102 of identifying the display shown in FIG. 7; FIG.
FIG. 9 is a flowchart of the next step in step 104 of changing the display resolution of FIG. 7;
FIG. 10 shows a flowchart of the next step in the drawing display step 120 of FIG. 7;
FIG. 11 is a flowchart of the next steps in the enabling linear addressing step 112 of FIG. 7;
FIG. 12 is a flowchart of the secondary steps of processing the message loop of FIG. 7;
FIG. 13 is a flowchart of the next step in step 184 of checking mouse and keyboard events in FIG. 12;
FIG. 14 is a flowchart of the next step of step 115 of changing the simulation resolution in FIG. 7;
Figure 15 shows a standard display of the prior art;
Figure 16 shows a standard display with an overscan user interface in the bottom overscan area;
Figure 17 shows a standard display, including a desktop, an overscan user interface in the overscan area at the bottom, and an associated sensitive browser on the side;
Figure 18 shows a standard display with an overscan user interface in the bottom and right overscan areas;
FIG. 19 shows a line drawing of a parallel graphical user interface (GUI) according to an exemplary embodiment;
Figure 20 shows a simplified example of a function tree;
Figure 21 shows a line drawing of a parallel GUI with an accessory container or cassette.
Technical category
The present invention relates to a method and system for controlling information displayed on the surface of a display, in particular, to computer software that can display one or more user interfaces and can coexist with a standard user interface provided by the computer system.
Schematic description
Figure 1 shows a block diagram of a first specific embodiment of the present invention;
Figure 2 shows a block diagram of a second specific embodiment of the present invention;
Figure 3 shows a standard display with an overscan user interface on the four borders of the display;
Figure 4 shows a block diagram of the basic components of the present invention;
Figure 5 shows a cursor or indicator in the user interface of the standard display, and a hot spot on the over-scanning user interface;
Figure 6 shows the usable boundary within the vertical overscan and the horizontal overscan surrounding the standard display;
Figure 7 is a schematic flow chart showing the operation of a preferred embodiment of the present invention;
FIG. 8 is a flowchart of the next step in step 102 of identifying the display shown in FIG. 7; FIG.
FIG. 9 is a flowchart of the next step in step 104 of changing the display resolution of FIG. 7;
FIG. 10 shows a flowchart of the next step in the drawing display step 120 of FIG. 7;
FIG. 11 is a flowchart of the next steps in the enabling linear addressing step 112 of FIG. 7;
FIG. 12 is a flowchart of the secondary steps of processing the message loop of FIG. 7;
FIG. 13 is a flowchart of the next step in step 184 of checking mouse and keyboard events in FIG. 12;
FIG. 14 is a flowchart of the next step of step 115 of changing the simulation resolution in FIG. 7;
Figure 15 shows a standard display of the prior art;
Figure 16 shows a standard display with an overscan user interface in the bottom overscan area;
Figure 17 shows a standard display, including a desktop, an overscan user interface in the overscan area at the bottom, and an associated sensitive browser on the side;
Figure 18 shows a standard display with an overscan user interface in the bottom and right overscan areas;
FIG. 19 shows a line drawing of a parallel graphical user interface (GUI) according to an exemplary embodiment;
Figure 20 shows a simplified example of a function tree;
Figure 21 shows a line drawing of a parallel GUI with an accessory container or cassette.
Summary of the invention
Specific embodiments of the present invention provide a computer-based method and system for displaying information on the surface of a display. When a resident operating system appears, the specific embodiment displays information in a manner complementary to the resident operating system. In addition, specific embodiments can be included in a resident operating system and provide a main interface to a display surface.
This specific embodiment provides a technology for controlling the configuration and content of the display space between one or more user interfaces, operating systems or applications, which allows an application or parallel graphics to be operated outside the desktop User interface (GUI), this area is used to display the operating system interface and its related applications. In an exemplary embodiment, a computer operates under the control of any public operating system, such as Microsoft Windows <sup>TM</sup> , Linux, Apple O/S, or Unix, etc., can all be controlled by the technology of the present invention to control the configuration of the visible display content. The operating system desktop can be zoomed and/or moved to a specific area of the display, allowing a parallel (or complementary) GUI to operate in the open area. An exemplary embodiment of the present invention may be an application program under the operation of a main or public operating system, or it may be combined with an operating system core to control the display and content in the parallel display.
At the same time, in some specific embodiments, a technique is provided for adding and using a parallel graphical user interface, which is adjacent to the standard user graphical display interface, for example, outside the standard screen display area On the border. Conventional video systems, such as VGA, SVGA, and XGA video systems, include a defined boundary surrounding the display area. The original purpose of this boundary is to allow an appropriate time for the horizontal and vertical folding back of the electron gun in a cathode ray tube display. However, with the advent of LCD displays, and the speed of turnback has been increased in the latest monitors, it is now possible to present a user interface within this boundary. The part of the boundary that can be controlled by a user interface is known as "overscan". The exemplary embodiment includes a method for presenting one or more additional or secondary user interfaces. For example, the overscan area surrounding the conventional user interface display is usually referred to as desktop ).
When the electron gun in the cathode ray tube (CRT) is folded back to the left or above the screen, it takes a considerable amount of time to show the scan line of the data. During the return process, the electron gun is turned off ("blank"). If the closing time required for the return is equal to the available time, there will be no available overscan. However, the return speed of today's monitors has been very fast, which allows a considerable amount of time when the electron gun does not need to be turned off, and allows a displayable boundary. In the prior art, although the border is usually "black" (the electron gun is off), there are methods to set the border to be displayed in one of six colors. The standard BIOS allows this color to be set. The required color only needs to be set in a register in the video controller. An exemplary embodiment of the present invention can create an additional video buffer for the boundary and allow this buffer to be written to display data, just like a normal display register. This additional video buffer is usually present in most computer graphics systems, but is not used, because the video memory is usually a power of two as its capacity, such as "512K", while the standard The desktop size is not, for example, "640x480=300K". Therefore, the display area is expanded by one or more edges to provide an area that was previously invisible but is now visible. The pixels in the new visible area of the display are made available to applications through the application programming interface (API) component of the exemplary embodiment of the present invention. Regarding a parallel graphical user interface program, it can be displayed in the previously blanked area of the display, and the accessible area of the display is increased functionally without hardware modification. In other examples, the desktop can be increased or decreased to a non-standard size.
In other exemplary embodiments of the present invention, a method for displaying images on a video display system is included, and the video display system generates an area outside the main display area. There are two sizes that define the standard display area, each with the number of pixels as the unit. Selecting a video "mode" specifies these dimensions. The method can be achieved by adjusting the parameters of the video display system to increase the number of pixels in at least one size 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 effectively display. Any gap defined here is the overscan area. Therefore, the overscan area can be the gap between the current desktop video mode and the display capability of the display device, or more specifically, it is any unused area when the operating system is under a given screen size. Video memory. Because most interface displays form a video display by writing a required image to a buffer or memory, this method requires additional video display memory for the added pixels. The image written on this kind of memory is then displayed on the original display area by the system.
In other exemplary embodiments, only the vertical size is increased, and the overscan user interface exists above or below the main display area. In addition, the horizontal size can also be increased. The overscan user interface exists on the right or left of the main display area. Similarly, the interface image can also be displayed on any or all of the four main display areas.
For other specific embodiments, a parallel (or complementary) GUI is used to include access to existing search engines and browsers. In another embodiment, the parallel GUI includes a search engine and/or browser. A search engine and/or browser can be opened in the overscan space, or in a space in or above the user interface of the operating system.
These and other features and benefits of the specific embodiments of the present invention can be better understood from the following detailed description and drawings.
Description of the invention
Specific embodiments of the present invention provide a method and system for displaying information on a display surface, and the method can be complementary to the display modification and technology provided by a resident operating system. With the technology of specific embodiments of the present invention, a complementary user interface can operate within an existing system or become an independent operating environment. The complementary user interface can coexist with a primary user interface to become a secondary graphical user interface (GUI), which is like a custom desktop GUI provided by a resident operating system. The complementary user interface provided by this embodiment can be used, for example, to provide additional and real display areas on the display screen, or to provide quick or continuous ("dense") access to selected applications. The new user interface can provide a wide range of access capabilities, including continuous access to a user's favorite network address on the Internet.
Now please refer to Figures 1 and 2. In a preferred embodiment, in a video display and control system, such as computer system 7 or set-top box 8, its programming mechanism and interface can provide one or more parallel GUIs, like in a display area, such as display area 1 or display area 9, its space 2C and/or space 4, by providing access and visibility to a part of the display, this part is originally ignored And/or inaccessible state (hereafter referred to as "overscan area"). The display area such as display area 1 or display area 9 can be generated by any type of analog or digital display, including, but not limited to, CRT, TFT, LCD and flat panel.
The alternative display content controller 6 interacts with the common computer operating system 5B and the hardware driver 5C to control the configuration of the display area 1, and generates and controls one or more parallel graphical user interfaces, for example adjacent to the operating system desktop 3's associated sensitive web browser (CSNB) 2, and web pages 2A and 2B. The alternative display content controller 6 can be integrated in hardware or software. For software, an alternative display content controller can be an application running on a computer operating system, or it can include an operating system core, which has varying levels of complexity, from a common operating system based on hardware system services to a Parallel systems that have nothing to do with public operating systems can support exclusive applications. The alternative display content controller may also include content or operating software, such as JAVA delivered on Internet I or any other local network.
The alternative display content controller can also be included in a TV decoder/set-top box, such as box 8, which allows two or more parallel graphical user interfaces, such as pages 9A and 9B, to be displayed simultaneously. The method and system of the present invention are compatible with conventional television formats, such as NTSC, PAL, PAL-C, SECAM and MESECAM. In this architecture, content and software can be delivered on any conventional delivery medium 10, which includes, but is not limited to, air broadcast signal 10A, cable 10C, optical fiber, and satellite 10B.
Figures 1 and 2 will be described in more detail below.
Figure l5 shows the software used by Microsoft Window95 <sup>TM</sup> The standard prior art display desktop generated by the operating system, in the desktop 31 is the work stick 32 and the desktop image 33.
In a preferred embodiment of the present invention, a graphical user interface image is drawn on one or more sides of the overscan area, as shown in FIG. 3. Figure 3 shows a Super VGA (SVGA) display with a graphical stick user interface displayed in the overscan area. The overscan user interface stick 30 is defined to be arranged outside the boundary of the "desktop display area 31. In Figure 16, the display will be modified to include a graphical user interface 30 in a 20-pixel high bar below the bottom edge. In Figure 3, the display is modified to have a graphical user interface of four bars with a height of 20 pixels/width outside the four display edges: a bottom bar 30, a left bar 34, and a right bar 36 , And an upper rod 38.
The overscan interface may include, but is not limited to, buttons, menus, application output control (such as a clock window), animation, and user input control (such as an edit box). Because the overscan interface is not hindered by other programs running in the standard desktop, the overscan interface can be seen constantly, or it can be switched between visible and invisible by any number of programmed parameters ( Including but not limited to, the status of the start window, the status of the switch button, etc.).
Figure 4 is a block diagram of the basic components of the present invention. Among the software components S is an operating system 63 and one or more applications, such as application 61. In the protected mode of the current system, the application 61 does not directly access the video or graphics driver 64, or hardware components, such as the video card 66 including the video chipsets 66A, 66B, and 66C. The inclusion layer, such as the application programming interface (API) 60 and/or the direct API 62, usually provides limited access through the operating system 63.
The specific embodiment of the present invention provides a technique for drawing and accessing areas that are not accessed or used in the computer display in the desktop drawing mode during operation. In the Microsoft Windows environment (including Microsoft Window95 and subsequent series, and Microsoft Windows NT 4.0 and subsequent series), and other existing operating environments, the main display area "desktop" is usually designated by the operating system as a set of pre-set videos One of the modes, such as those listed in Tables 1 and 2 below, is each predefined at a specific pixel resolution. Therefore, the accessible area of the computer display will not change except for selecting another available predefined mode.
<tables><img file="TW490652B_D0001.tif" /></tables>
<tables><img file="TW490652B_D0002.tif" /></tables>
<tables><img file="TW490652B_D0003.tif" /></tables>
<tables><img file="TW490652B_D0004.tif" /></tables>
<tables><img file="TW490652B_D0005.tif" /></tables>
<tables><img file="TW490652B_D0006.tif" /></tables>
As shown in Figure 6, a displayed image is "overscan". That is to say, the space occupied by the displayed video buffer data is smaller than the size of the entire driveable screen. The size of the driveable screen is determined by the total amount of video memory and the characteristics of the available video display. The width of the available overscan boundary is based on the horizontal overscan amount 52 minus the horizontal blank 54 and the vertical overscan amount 53 minus the vertical blank 55.
In a first specific embodiment, only the bottom boundary of the standard display area is used. Therefore, only the vertical control parameters of the cathode ray tube (CRT) controller need to be adjusted, such as the control registers 6H, 16H, 11H, 10H, 12H, and 15H in Figure 4. These parameters are shown in Table 3 below:
<tables><img file="TW490652B_D0007.tif" /></tables>
<tables><img file="TW490652B_D0008.tif" /></tables>
In this standard 640x480 drawing mode, the nominal horizontal scan rate is 31.5KHz (31,500 times per second), and it is at a vertical scan rate of 60Hz (60 frames per second). So the number of lines in a frame is 31,500/60, or 525. Because there are only 480 lines of data to be displayed, a total of 525-480 or 45 lines can be used for vertical overscan. However, there is a space that is more versatile than turning back, and it only takes the time equivalent to 2 lines. The preferred embodiment uses 20 lines for the replacement display. Therefore, the extra 23, an unused but usable line, can be used to increase the size of the operating system desktop to a certain non-standard size, while still allowing the required two lines to be folded back, or left blank, Or it can be used for one or more additional alternating parallel user interface displays.
The information display method of a preferred embodiment of the present invention can be achieved by satisfying the following three requirements: (1) Addressing and modifying the visible resolution of the video display system, so that the desired part of the overscan area becomes visible As shown in Figure 6, (2) address and modify the video display content for the visible part of the overscan area, and (3) provide an application programming interface (API) or other mechanism to allow applications to implement this Function.
The additional details and sub-steps presented in FIGS. 7 and 8-13 provide an exemplary flow chart of a preferred embodiment of the present invention that can meet the above requirements. The result environment is a standard Microsoft Windows95 <sup>TM</sup> Operating environment, and use Microsoft Visual C and Microsoft MASM as the development platform. Those skilled in the art can understand that other specific embodiments can be executed in other environments and on other platforms. For example, specific embodiments can be built in any graphical interface environment, such as X-Windows, OSF Motif, Apple OS, a Java OS, etc., where the same video standards (VGA, SVGA, XGA, 8514) can be used. /A). You can refer to the book PC Video Systems, written by Richard Wilton, published by Microsoft Press, and Programmer's Guide to the EGA, VGA, and Super VGA Cards, written by Richard F. Ferrano, published by Addison Wesley, provided by Sufficient background information to build a specific embodiment in a Windows environment.
Now please refer to Fig. 7 in particular. During initialization, in step 102 of identifying the display type, the program tries to determine the display type and the memory location currently used by the display driver to determine the size of any display correction. And location, such as the size and location of the overscan area.
As further illustrated in Figure 8, the program first asks the hardware registration step 131 to try to determine the type of display to be registered. If successful, the program will determine the compatible information in the supported display type, step 135, to verify that the program supports the display type and determine the memory configuration information.
If the hardware registration information is not available, the display type determined in step 131 or the display type determined in step l31 is not supported in step l04, the program uses another method, as shown in Figure 8. As shown in the procedure of inquiring the hardware in step 135, the BIOS is inquired in step 134, and the similar information of the video chipset 66 is inquired in step 136.
If you want to access the BIOS in step 134, the physical memory is first configured in the configuration physical memory in step 132, and is accessed using Microsoft's DPMI (DOS Protected Mode Interface), and mapped to the linear memory address , Where the BIOS resides in Use DPMI and in step 133, the BIOS linear address is assigned to the physical memory.
Then, the program asks the BIOS in the read BIOS box, searches for the VGA/XVA type and manufacturer ID, in step 134. If it succeeds, the driver and chipset are then asked to determine the display type and memory configuration. In step 136, the actual chipset is asked for the driver/chipset.
If the compatibility information does not indicate a standard VGA, SVGA, XGA or 8514/A label, step 134, the procedure returns a failure message. If a known chip set manufacturer identification data is found, the driver and/or chipset can also be inquired using a specific manufacturer program, step 136, to identify and if necessary initialize the specific chip set.
In step 104, if the program cannot finally recognize the type of the display, either because of the login query in step 131 or the hardware query in step 135 failed, the user will be prompted to be in window mode Execute <sub>.</sub> Step 16, and the program can continue to be executed in a standard "application stick" or "tool stick" format. The program can choose to leave or proceed to execute on the desktop as a tool bar.
Now returning to Figure 8, if a supported display type is detected, the program determines the boundary of the screen, takes it in the step of identifying the boundary, and displays it in the overscan area, step 106, which is based on the users Preferences, and as needed, decide whether there is enough video memory to make the necessary display changes. For example, if the screen is currently set to a resolution of 1024x768 and 16 bits per pixel, the program can contain 4 graphical interface sticks, one on each edge, and the width of each stick is 20 pixels. Preferably Yes, the program can check whether the video memory is larger than 1.7MB (the required number of bytes is pixel width * number of bits per pixel * pixel height).
The controller registers 6H, 16H, 11H, 10H, 12H, and 15H shown in Figure 4, see Table 3 for details, can use standard input/output functions and access through standard input/output ports. The CR registers 6H, 16H, 11H, 10H, 12H, and 15H are unlocked first, and the CRTC registers are unlocked as shown in step 108 in FIG. 7 to make them writable. They are unlocked by clearing bit 7 in the controller register 11H.
The addressing of the video memory, step 112, can be achieved in one of the following ways. One is to use a standard VGA64Kb "hardware window" to move it along the video memory buffer 67 (Figure 4) in 64Kb as needed. An exemplary method is to enable linear addressing by querying the video chipset for linear window position addressing, step 138 in FIG. 11. This 32-bit offset in the memory allows the program to map the linear memory to a physical address, as shown in steps 140 and 142 in FIG. 11, which can be manipulated by a program.
At this time, the program can modify the size of the display, step 114 and Figure 9 to include the border area. This program first checks to determine whether the system is operating in the "toolbar" mode, step 144, if yes, it returns the true value. If not, it decides whether to reset all the registers and their values to their original state, which can effectively restore the display to its original appearance, step 152. This decision is based on several parameters, such as whether the current resolution, step 146, reflects a standard value, or the previous programmed manipulation, step 148. If a standard resolution has been set, the variable is reset to include the specific boundary area, step 150. Adjust the CR register, step 154, correct the scanned and blank display parts. If the top and sides have been corrected, the video memory existing according to step 162 of FIG. 10 will be removed.
If any of the above procedures return a failure, the program will prompt the user to decide whether to use the "simulation" mode, step 13, or the window mode step 116, or the program should exit in step 124.
In its simplest form, the specific embodiment of the present invention can be regarded as adding a secondary GUI technology to reset the actual display mode, and adding a modified non-standard GUI mode, in which the standard display size or The resolution has been adjusted to include a secondary display in addition to the main display. For example, a standard 640x480 display is modified according to the technology of the present invention to become a larger display, one part is about the original 640x480 display, and the other part is about a 640x25 secondary GUI display.
Many techniques and mechanisms are needed to modify the system to include the secondary GUI according to the needs of the secondary GUI and the current state of the unmodified system.
In another embodiment of the system of the present invention, resources are allocated to the secondary GUI, by tricking the video driver into a larger resolution. This method can automatically ensure that there is enough space to maintain a clean state, because according to the resolution, the video driver needs to allocate system resources so that the video driver believes it is operating in it. In order to operate one or more secondary user interfaces in one or more screen areas, it is necessary to make the position of the video memory or the memory in the frame buffer continuously freely available under the main surface . By writing a series of small programs (applets) of specific hardware, which are known to have system resource allocation problems for the primary user interface, the secondary user interface application can be initialized when the resolution is switched The chipset related to the specific applet, and execute it. If the application finds a small program about the current special chipset, it will be activated. The applet or mini driver itself will perform changes to the video resolution table of the driver, resulting in a re-enablement, and in turn sufficient space available for one or more secondary user interfaces.
When re-enabled, the driver will configure the video memory according to the data in the UCCO resolution table, depending on the needs of the main display. Therefore, the corrected value will result in a larger configuration. Once the driver has allocated the required memory for the main surface, the driver does not allow the outside world to access the allocated memory. This tricks the driver into believing that it needs to allocate enough memory for a resolution that is actually x bytes larger than the current resolution, where x is the size of one or more secondary user interfaces , The application can guarantee that the allocated memory location will not be used internally or externally, and conflict with the secondary user interface.
This method can ensure that system resources can be allocated to one or more secondary user interfaces, and by writing a small program that can address the video driver, for example, forcing the video driver to re-enable it next time. Configure the video memory required for a higher resolution than the actual operating system resolution. This can also be achieved by modifying the items in each published mode table, which can generate a screen size larger than the screen size of the main user interface.
This method has an additional advantage in that it can avoid the need for the driver to actually convert to the specified larger resolution, and control the main user interface to become the resolution of a larger display surface. This "hardware mode table" is a change of the aforementioned video resolution table, which is not published and cannot be accessed. Therefore, when the driver confirms the new resolution, it checks the hardware model table, it will always fail and therefore refuses to convert to the resolution. Because this method corrects the published video resolution table at an early and appropriate stage in the driver's processing, the allocated memory and memory address set are corrected before the confirmation mode fails. Then when the CRTS is modified, in step 114, the driver reserves enough memory for one or more secondary user interfaces, so that it cannot be used for any other processing or purpose.
In another specific embodiment of the present invention, a wrapper driver is installed, which is located before the existing driver, and fills itself between the hardware antagonism layer and the actual video driver, in order to be able to Handle all calls to the video driver, and modify the driver and the driver's table in a more general way, not a chipset-specific way. The wrapper driver fills in the main video driver, and transparently transfers program calls to the main video driver. The wrapper driver can find the video resolution table in the main video driver, which can be located in several places in the driver. The wrapper driver modifies the table (such as increasing 800x600 to 80ox620). The items in a 1024x768 table may become 1024x800.
As in the specific embodiment described previously, the main driver cannot confirm the new resolution, and therefore cannot actually change the display settings. Therefore, the driver must allocate memory, allocate cache space, determine the memory address, and move the cache and off-screen buffers as needed. Therefore, the main driver will never use all the allocated space, and will never draw into that space.
As mentioned above, the method of the present invention may include three main steps: finding or generating unused video memory, generating or expanding the overscan area, and placing data in the overscan area.
The step of finding or generating unused video memory requires a review of the contents of the controller register, the CR register used by the VGA compatible chipset, or the graphics circuit board to identify the overscan area, blank, and The vertical and horizontal as a whole, and the weakened place should be set there. The CR defines the desktop display, how it is synchronized, its left and right arrangements, how many buffer areas there are on each side, where to store in the video memory area, etc. Therefore, the inspection of the contents of the CR data register can completely define and allow to control the potential position and size in the overscan area.
In order to achieve the steps of generating and expanding the overscan area, the CR can be directly applied to the video display system with a resolution of up to 1024 pixels in any direction, that is to say, the resolution can be 10 bits per register The method is defined under the generally accepted VGA standard. In order to expand the overscan area, new data can be written into CR using standard methods, such as Inp and Outp functions. A standard video port and MMIO function can also be used to correct CRs.
In larger resolutions, it may take 11 bits to properly define the resolution. There is currently no standard method that can be used to define the 11th bit. Therefore, for example, in the resolution of 1280x1024, the knowledge of the video card itself, especially how to store the 11 bits representing the resolution, is currently required, which will be described in detail below.
When expanding the overscan area, it is important to determine whether a previous overscan bar may not be displayed due to a previous failure or other unexpected problems. Whether it is best to reset the monitor to the proper default resolution immediately, or the CR is asked to determine whether the overall screen resolution can be accepted by the video card and driver, it will be known to the operating system monitor interface The screen resolution of is different. If the overall screen resolution is not equal to a standard VGA or SVGA resolution, the scan bar may have been displayed. In particular, if the overall screen resolution is equal to a standard VGA/SVGA resolution plus the area required by the overscanner, or is greater than the resolution reported by the operating system display interface, the display will be reset.
Once the display area or resolution stored in the CR is determined, the resolution or display area can be extended in several different ways. The overscan area can be added to the bottom, upper, or right side of the current display area, or if necessary, the display area can be repositioned, so the overscan bar can be kept in the middle in appearance. In addition, the overscan area can be added anywhere, while the original or desktop display area is located in the middle to improve the appearance. Regardless of the situation, the height and width of the display area required for the overscan bar are adjacent to the desktop area stored in the CR, and this combination will be written into the CR and cover the previous data.
The screen basically displays a rapid flash when it is in different modes, including a desktop display area and a parallel GUI, such as a display bar in the overscan area. As long as there is a change, a black screen will cover the new area. Then the new function data can be safely written on the black screen, so the user will never see the memory "garbage".
Basically there will be a few seconds of loading time, at which time a brief message will be displayed, such as "Loading..." ("Loading...") to avoid user confusion.
There are several different mechanisms to achieve this goal. It uses a set of category objects, all of which are derived from a common basic category related to the above-mentioned VGA-based technology.
The first mechanism is the implementation of VGA-based technology. Using this mechanism, no information about a specific video card is required, and VGA support can be guaranteed. With standard application programming interface (API) procedures, primary and secondary surfaces can be configured. The new display data in CR is just the physical address at the beginning of the main surface plus the number of pixels defined by the screen size.
The configuration of the main surface is usually determined based on the entire screen display. Given the linear address of the main surface of the configuration, a physical address can be obtained. After extrapolation, the physical address of the position immediately adjacent to the main surface in the video memory can be used to maintain the main surface. The number of memory bytes of the surface in the memory is represented by the value of the physical address of the main surface.
Once the physical address of the main surface is obtained, the size of the main surface represented in the video memory can also be determined.
For example, the system looks for a screen resolution of 800x600 in CR, and its unit is the number of bits per pixel, or the number of bytes per pixel. Then add the data stored in CR that represents any level of synchronization space. This is the true scan line length. The scan line length is a more accurate width measurement at a given resolution.
Then, the physical address of the configured secondary surface can be obtained from its linear address. When the secondary surface of this configuration is actually connected to the memory space of the primary surface (the value of the secondary surface physical memory is equal to the physical address value of the primary surface plus its size), the secondary surface is defined as The location in the memory displayed by the overscan.
However, if the above is not true, and the secondary surface is not continuous with the main surface, another method mechanism is required.
In summary, the first mechanism determines how many physical areas should be allocated to the desktop, and allows the adjacent areas of the parallel GUI secondary space to be displayed in the overscan area. This newly allocated area will be the first available memory block. If the block follows the main surface, the physical address can be associated with the value of the physical address of the main surface plus the size of the main surface. If this is true, the memory block is continuous and the VGA-based mechanism can be used.
If the first VGA-based mechanism cannot be used, the video card, driver name and version and other related information obtained by the hardware registration and BIOS can be used in conjunction with a look-up table as described above to determine The best choice among the remaining mechanisms. The table contains a set of criteria, which typed in the list of driver names found in the hardware registry. For example, the category object for the video chipset can be directly or indirectly based on the VGA-based object.
If the hardware query fails to obtain a reliable agreement, a reliability, or confidence, and fabrication factor can be used. For example, if the hardware query determines that a device of a certain XYZ brand is being used, but the specific XYZ device name is not in the lookup table, a general model obtained by the chipset manufacturer can usually be used . If there is no information available, the user can get a message stating that the hardware is not supported and the program cannot be executed in the overscan area. The user is then asked to decide whether the system should be operated in the form of "application function stick", which basically performs exactly the same functions, but it is operated in a windowed environment in the desktop, rather than In the overscan area outside the desktop.
The next available mechanism is to use surface coverage. The first step of this method is to decide whether the system supports surface coverage. It will have a call to the video driver to determine the supported features and other factors required. If it supports surface coverage, for example, a scaling factor will be required.
For example, a special video card in a given machine, which uses 2Mb of video RAM, can support an unscaled surface coverage of 1024x768 at 8 bits per pixel, but cannot cover 1024x768 at 16 bits per pixel. Resolution, because the bandwidth of the video card, or the speed of the card, combined with a relatively small video memory, is not enough to draw a full width of coverage. Normally, the horizontal scale is the key, which prevents the driver from drawing a full-width coverage. The literal meaning of overlay is the image drawn on the main surface. It is not a secondary surface as described above. Basically, the system uses the video driver to send its signal to the hardware, so it combines the two signals and overlays the second signal on the first signal.
If a system cannot support unscaled coverage, it may be due to bandwidth factors or memory factors, and this mechanism cannot be used. It was not rejected, but it became a lower priority option. For example, if the zoom factor is less than 1, a normal function bar can be drawn, but it will be cropped close to the edge. If the scaling factor exceeds 10%, another method is needed.
In the next set of mechanisms, the secondary surface is configured with a sufficient size, which includes a normal desktop display area plus an overscan area, and can be used to display more than one overscan bar. Using these mechanisms, the secondary surface of the configuration does not need to be configured in the memory continuous to the primary surface. However, these methods use more video memory than other methods.
The first step is to configure the secondary surface with a sufficient size, and include the video display (ie, the main surface) plus the overscan area to be used. If the configuration fails, it means that there is not enough video memory to complete the work, and this set of mechanisms is skipped, and the next option is tried. After configuring the new memory block, use a very small scale recorder to perform a simple memory copy, that is, copy the content of the main surface to the appropriate position on the surface of the current level. The tape recorder performs this copy approximately 85 times per second.
Among the alternative mechanisms in this group, one change is the use of system page tables. This mechanism queries the system page table to determine the current GDI surface address, that is, the physical address used for the main surface in the page table. Then, a secondary surface large enough to hold all the data in the video memory plus the memory required by the overscan bar to be displayed is created. Then the surface address is put into the system page table and reserved as the GDI surface address.
Later, when GDI reads or writes to the main surface through the driver, it actually reads or writes to the new larger surface. The overscanning bar program can be sequentially modified to the surface area addressed by GDI. The original main surface can be de-allocated to re-declare the memory usage. This mechanism can achieve higher memory efficiency than the previously described mechanism, and it is a better choice. However, the page table scheme does not work correctly on a chipset with a common processor. If the initial device query shows that the device does include a common processor, then this change mechanism will not be tried.
Other changes to the above mechanism can be used to obtain category objects. For example, the VGA-based mechanism can be changed when the video card requires more than 10 bits to represent the video resolution in the CR. Some situations may require 11 bits. This kind of register basically does not need to use consecutive bytes, but uses extended bits to specify higher-level bit address information.
In this example, the 11th bit is usually set in an extended CR register, and the extended CR register usually belongs to a specific chip.
Similarly, changes in the surface coverage mechanism include scaling factors as described above. This other option is handled by a specific framework through the obtained class of objects, which is a better solution in certain situations.
Another implementation method of this technology uses a "hook-in" mechanism, as shown in Figure 14. After the display driver is registered by the hardware or recognized by the BIOS, as described above, the driver is hooked up at some programming interface entry points, as shown in step 117. In other words, when the video system device interface, such as Windows GDI, calls those entry points into the display driver, the program can use the opportunity to modify the parameters sent to the display driver, and/or to modify the parameters returned by the display driver Value.
By hooking the "re-enable" function to the display driver, in step 117, the overscan bar program can configure the screen area in different ways in step 119:
(1) In the boost mode, step 121, by intercepting a resolution change request, and identifying the next higher supported screen resolution, and sending the higher resolution to the display driver, then, when the When the display driver knows the change, it intercepts the return value, which can reflect the new resolution and return the actual original required resolution. For example, the GDI request is changed from 640x480 resolution to 800x600 resolution; the overscan program intercepts the request and modifies it to change the display driver to the next supported resolution higher than 800x600, for example 1024x768. The display driver will change the screen resolution to 1024x768 and return the new resolution. The overscan program will intercept the return value and return the original request, 800x600, to GDI. The display driver has been configured and displays a 1024x768 memory area. GDI and windows will display the 800x600 area of the monitors desired desktop, and leave the right and bottom edges of the screen for use by the overscan program.
(1) In the sharing mode, step 123, by only intercepting the value returned by the display driver, and modifying the value to change the operating system's perception of the actual screen resolution. For example, GDI requires a resolution of 800x600 to be changed to 1024x768. The overscan program intercepts the returned learned content and subtracts 32 before sending the returned value to GDI. The display driver has been configured and displays a 1024x768 memory area. GDI and windows will display a 1024x736 display area of the desktop, leaving the bottom edge of the screen for the overscanner program to use.
After hooking in, the overscanning bar program can be displayed in the following ways:
(1) Use standard API calls to display the bar to an off-screen buffer, as explained in the next paragraph, and then hook the "BitBlt" function entry point to the display driver, so the offset and size parameters can be corrected , And then re-direct the BitBlt to the outer area that the API considers to be in the screen.
(1) Using the mechanism of primary and secondary surface addresses, as mentioned above, the program can determine linear addresses, so that the memory locations outside the desktop can be reserved for their use and can be directly displayed to those memoriesPosture. Body position.
The second stage of the method of the specific embodiment of the present invention starts by drawing a new image to a standard off-screen buffer. Step 118, which is the one commonly used in the art, and makes the content visible , Step 120, as shown in Figure 10. If the program is in the "function bar" mode, step 156, the off-screen buffer is drawn to the standard window client space, step 166, and make it visible, step 164, which uses a common window system program. Otherwise, the linear window position address is mapped, and step 158 is shown in FIG. 11, which has been described previously. Once the linear memory is mapped to a physical memory address, in step 142, the contents of the off-screen display buffer can be directly copied to the video buffer, step 154 of FIG. 10, or drawn onto a secondary surface.
The application of the preferred embodiment includes a standard application message loop, step 122, which can process system and user events. Fig. 12 is an example of a minimum function processing loop. Here the application handles the smallest group of system events, like drawing requests, step 170, changing the system resolution, step 172, that is, start/stop, step 174. Similarly, user events, such as keyboard or mouse events, can also be processed here. Step 184 is shown in FIG. 13 for details. The system drawing information is processed by appropriately drawing to the buffer outside the screen, step 178, and drawing the window or display buffer appropriately, step 180, as previously described in FIG. 10. Whenever the system or the user changes the screen or color resolution, the system resolution message can be received. The program resets all the registers to the correct new values, and then changes the display resolution. Step 182, as previously described in FIG. 9, reflects the revised new resolution. When the program is not an activated application, the user message is ignored.
Figure 13 illustrates a method of handling user input events. In this embodiment, there are three alternative mechanisms for constructing cursor or mouse support, so the user has a pointing device input tool in the overscan area user interface.
In a preferred embodiment, the "cut box" of the GDI is modified to include the display area of the overscan bar. This change does not need to make the cursor visible or provide event feedback to the application, but it is the first step.
Some existing Windows applications continuously reset the crop box. It is a standard programming procedure to reset the crop box after use or loss of input focus. Some applications use the crop box to restrict the mouse to a specific area, which may be required by the activated application. Whenever the overscan display bar interface receives the input focus, it re-declares the crop box and makes it large enough to enable the mouse to run down to the overscan space.
Once the crop box is expanded, the mouse can generate messages to the operating system to reflect the actions in the expanded area. GDI does not draw the cursor beyond the resolution it understands, but it does not send an "exceeding boundary" event message to an application. The overscan program uses a VxD device driver and related callback functions, and makes the hardware driver call in ring 0 to monitor the physical difference or change between the actual sliding position and the state. Each mouse position or state change is sent back to the program in an event, which can graphically indicate its position in the function display bar.
An additional mechanism can avoid the need to expand the crop box, and can avoid conflicts with a type of device driver that uses the crop box to form a rotating lens of the virtual display. By directly interrogating the mouse input device, the overscan program can determine the "difference" and the change of position and state. Whenever the cursor touches the last pixel row or column on the standard display, it is restricted there, and the crop box is set to a rectangle that only contains the last row or column. A "virtual" cursor position can be obtained from the difference used by the input device. The actual cursor is hidden, and a virtual cursor indicates that it is clearly displayed with virtual coordinates and provides correct feedback to the user. If the virtual coordinates are moved back to the desktop from the overscan area, the crop box is cleared, the virtual representation is also removed, and the actual cursor is restored to the screen.
A third alternative mechanism is to generate a transparent window, using a predetermined number of pixels to cover the actual window desktop display area, such as two or four pixels. If the mouse enters the narrow and transparent area, the program hides the cursor. Then a cursor image is displayed in the overscan area with the same X coordinate, and the Y coordinate is correspondingly deviated from the overscan area. If you use one or two pixel overlapping areas, use this method and use a granularity of 2. Therefore, this API-only method only provides limited vertical granularity. This additional mechanism can ensure that all implementations have some degree of mouse input support, even when the crop box and input device driver solutions fail.
Figure 7 illustrates the cleanup mechanism executed in step 124 when the program is closed. The display is reset to its original resolution, step 126, and the CR register is reset to its original value, step 128, and locked, step 130.
In another specific embodiment of the present invention, turning on or initializing another display content controller 6 can be modified and controlled. The replacement display content controller 6 can be activated as a service, an application, or a user application. As a service, another display content controller 6 can be activated as a service within the login of the public operating system 5B. The first type of the application is activated in the execution section of the registration, and the user application can be initialized in the execution group in the start button. Therefore, the replacement display content controller 6 can be initialized to the last thing activated by the first thing after the drawing mode is enabled at any time.
If activated in the service mode, the alternative display content controller can be seen immediately after the public operating system 5B. For example, the window actually addresses the display and determines how fast the alternative content controller 6 is to execute. Things to start as a service in order. It is possible to place an alternative display content controller 6, so it can actually start the first service, so it can be started almost at the same time as the driver, that is, start in a very, very short time after the driver is started . Therefore, it is possible to change the screen from text mode to drawing mode, draw a colored background, and immediately redisplay the addressed overscan area, and a parallel GUI, such as the CSNB2 display that is generated almost at the same time as the work bar. The application program started in a linear form, the alternative display content controller 6 may become visible in the display space 1 soon after the image is displayed.
Example of a secondary user interface
The following description provides an example user interface, which can be performed using the methods and techniques of the present invention. Appendices A, B, C, D and E, which are quoted here as a reference, contain source code, description, and visual display of many user interfaces, including xSides for example <sup>TM</sup> The application environment is issued by Pixel. xSides <sup>TM</sup> Many functions include a cylindrical image of a secondary user interface, a gate feature, and a Web Jump (NetSpace) feature, which provides Internet browsing and search capabilities. The gate feature can contain any form of textual or graphical content, which can be imagined by its builder. An example of using the gate area, such as a personal information manager, is discussed in detail in Appendix D. Those skilled in the art can understand that many other user interfaces can be implemented using the method, system, and technology of the present invention, and these interfaces can also be combined with each other for application.
xSides
TM
Summary of Application Environment
xSides <sup>TM</sup> The environment is a specific embodiment of the method and system of the present invention. The user interface provided by it includes: Always visible and accessible Technical scalability Can "overwhelm" the desktop Combinability Can provide highly secure data transmission Easy to use Miniaturization (<1.5MB downloads) Appendix B shows some examples of these functions. These functions and technologies provided by the user interface are provided by Appendix C and D.
xSides <sup>TM</sup> It is built with software and has nothing to do with any fundamental system user interface. It exists "below" the operating system and "above" the driver (if the system architecture is viewed from the driver's point of view, up to the application software). The software can directly communicate with the driver level and adjust the video display parameters. It can also allow keyboard and mouse events to occur outside of the main user interface supported by the operating system.
This technology can be used to deliver Internet content and services, third-party vendor applications, web browsers, personalized Internet portals, advertisements, web-based user-server applications, and electronic programming guides Cited (EPGs) and so on. Because xSides <sup>TM</sup> Technology allows content and functions to physically exist externally and has nothing to do with the control of the existing operating system. These content and functions will not interfere or be overwritten by operating systems or applications that reside on the desktop.
The xSides <sup>TM</sup> Technology can continuously support interactive content and applications outside the operating system because it is resident outside the control of the operating system. In particular, xSides <sup>TM</sup> The technology resides in an antagonistic layer "below" the operating system and "above" the device driver. According to this, xSides <sup>TM</sup> Technology can adjust the parameters of the video display system, and can increase the number of pixels and scan lines, and in xSides <sup>TM</sup> Enable keyboard and mouse events in the area. This allows xSides <sup>TM</sup> Dramatically adjust the size of the existing desktop as needed, and "expose" most of the display area surrounding any or all four sides of the desktop, which can then be used to display content and applications. One about xSides <sup>TM</sup> The application {interface" ("API") allows developers to quickly develop applications and benefit from these unique properties of the technology.
This technology can potentially address each users Internet-enabled computer or worldwide television. In addition, the proliferation of consumer electronic operating systems (ie, Microsoft CE) in such devices into portable daily planners and set-top boxes can also expand its product market opportunities.
xSides <sup>TM</sup> The initial product of the technology is a modification of the co-branded mini portal, which resides on the user's display and has the characteristics of the content and application of its strategic partners. These products first appeared at the bottom of a computer screen as a thin cylindrical image (the "control stick") containing a series of control buttons. The control rod contains several faces, which are called "xSides <sup>TM</sup> ", each contains a combination of different content, applications, graphics, etc. (hence the name xSides <sup>TM</sup> ). The user can easily click and click on xSides <sup>TM</sup> Switch to the next one to watch and use a given xSides <sup>TM</sup> Different content that existed on the previous one. This species can convert xSides <sup>TM</sup> The ability to switch the interface to different sides can expand the range of available computer monitors, allow compatibility between products licensed to different strategic partners, and allow users to easily view and access what they want The content you want. The control button can perform different tasks, including activating a web page connection or application, displaying the recorder and title of the content sent by the server, or allowing the user to activate an additional xSides <sup>TM</sup> The function of the display area, which is called xSides <sup>TM</sup> Entrance. The xSides <sup>TM</sup> The entrance is at xSides <sup>TM</sup> An Internet display area under the control stick, which can contain any hypertext markup language-based images or applications, including e-mail and instant message input and output, calendar and address book information, ISP Controls, advertising labels, electronic program guides, and web-based client-server applications. The xSides <sup>TM</sup> The portal was originally used to create a personalized "desktop" Internet portal, which can be customized and distributed by Internet content and transaction providers, billed and free Internet Service Providers (ISPS), with PC Mainly web application developer (ISVS), and hardware OEMS.
This xSides <sup>TM</sup> The important feature of the product is a function called "merge". This combination allows users to upgrade their existing xSides <sup>TM</sup> Products to subsequent versions, and add or remove additional surfaces on the control rod at will. Basically, the combination function allows users to change their xSides <sup>TM</sup> The product becomes a convenient, one-time goal, and includes all its favorite content and services. This is not only very important and attractive to users, but also for strategic partners who provide a variety of aspects, they can also update their users' applications and functions frequently. Although combined with the convenience and flexibility of providing products to users and strategic partners, in a preferred embodiment, a xSides <sup>TM</sup> Neither the original appearance nor the continuous logo on the product can be "anti-combined", and it also has additional attractiveness for strategic partners to distribute their products.
The xSides will be sorted out below <sup>TM</sup> The five basic functions of technology:
Extend the display surface surrounding the desktop to a previously unused area-the xSides <sup>TM</sup> The technology can adjust the parameters of the video display system to increase the number of pixels in at least one direction in the display system and one or more edges of the desktop.
Create an additional video memory buffer for the new visible area-the number of scan lines and pixels that need to be added to the display is determined by xSides <sup>TM</sup> Setting, so the video display system can display within the physical limits of the video RAM and monitor its updates.
Allow the buffer to be written just like other normal display buffers-the buffer is configured and locked to prevent it from being damaged by the video display system.
Allow in xSides <sup>TM</sup> Keyboard and mouse events in the area-these events can now occur outside the desktop, but they are only recognized by the operating system.
Protect the xSides <sup>TM</sup> Area-because of xSides <sup>TM</sup> The area directly communicates with the driver level, and does not need to communicate through the operating system, transactions, e-mail, and other data transmission, which can be more than the data transmission that occurs in a multi-level environment through an operating system Higher security, because there will be no interruption or intrusion.
xSides
TM
Example cylindrical user interface
Referring now to FIG. 19, according to a specific embodiment of the present invention, the display area 26 includes a parallel GUI 28. The display area 26 can be located anywhere on the screen 24S of the video monitor 24. For example, they are aligned horizontally with the long axis L in the display area 26, and they may be located adjacent to the edge 24T or the edge 24B. In addition, the long axis L can also be vertically aligned, and the display area 26 can be positioned opposite to, adjacent to the edge 24L or the edge 24R.
The aspect ratio 34 of the parallel GUI 28 is the relationship between the size 32 and the size 30 measured along the long axis L, which is represented by 34:1, where the aspect ratio 34 is determined by the equation 36.
36aspect ratio 34=size 32÷size 30
According to a preferred embodiment of the present invention, the parallel GUI 28 includes a rod 38 surrounded by an area 28A. The rod 38 may contain one or more containers or cassettes, such as the cassette 86 in FIG. 20. The area 28A can be any color. In this exemplary embodiment, the area 28A is black. The rod 38 may include separate elements, such as a title area 40, one or more description areas, such as the description area 42 or the description area 56, one or more rotators, such as the rotator 44 and/or the rotator 48, and One or more buttons, such as button 46, button 50, recorder 52, and button 54. A button can be depressed, such as button 46, or a button that cannot be depressed, such as button 40. A depressible button, such as the button 46, can perform a related action, and display the highlighted state when selected, and can be clicked with any conventional pointing device, such as the mouse 22. A non-depressible button, such as button 40, can be used as a label, and/or start the obvious rotation of the element of the stick 38, and go to the right side of the button 40 with related sounds, obvious actions, and as mentioned above Emphasize function.
In a "mouse passing" situation, that is, when an indicator, such as arrow 64, is moved past a depressible button, such as button 46, the appearance of the button frame 62 is changed, for example, its color is changed, so There is a significant intensity of emitted light. The changes caused by a button frame, such as the button frame 62, can be localized to a part of the button frame, such as the corner 62A. Preferably, a "mouse passing" condition allows light to be clearly emitted from the lower left corner of the button frame, such as corner 62B.
Clicking on a condition where the button can be pressed or "mouse pressed"', such as button 46, can show the obvious movement of the button and/or the obvious light change adjacent to the affected button. Preferably, a "mouse depression" that can depress a button, such as button 46, allows button 46 to move into rod 38 obviously, and after button frame 62, a significantly increased light emission is emitted. Obvious movements or changes in light emission can be achieved by any conventional method.
With the click of a depressible button, or a "mouse down" condition, such as the button 46, a "mouse up" condition is generated, thus completing a button selection cycle. A "mouse up" condition can initiate an action, such as a hyperlink, or an application related to the action button, such as button 46. In addition, a "mouse up" condition can cause a button, such as button 46, to restore the obvious action caused by the previous "mouse down" condition. Therefore, as described in the previous example, the button 46 will obviously be The back of 38 bounces back and aligns with rod 38. At the end of a button selection cycle, it may also include a change in emphasis of the selected button. In a specific embodiment, a post-selection emphasis is the same as the aforementioned "mouse passing" emphasis, and remains until another button is selected, such as button 54, or some others are started in the parallel GUI 28 Actions.
A complete button on a non-depressed button selects a cycle of actions, such as button 50, a title button, such as title area 40, or on a rotator, such as rotator 44, which can follow the length of the display area The axis L starts a rotation. In a specific embodiment, clicking on the right mouse button 22R generates a rotation 38 in a first direction D, and clicking on the left mouse button 22L generates a rotation 38 in a second direction U, which Opposite to the first direction D.
Accompanied by the complete button selection cycle as described above, sound can be used to enhance the experience, thus enhancing the similarity of a virtual metaphor to a real three-dimensional device. In a specific embodiment, the sound 66 can be emitted by a computer system, and the sound 66 can also simulate a sound emitted from a real device, such as a keen mechanical click. Any other suitable sound can also be used.
A non-press button like button 50 can be used as a title button or a position bracket, so when a complete button selection cycle is received, it will not trigger a utility, uniform resource locator, or any other Function. Therefore, a "mouse passing" condition of a non-depressed button, such as button 50, will not cause emphasis or other special displays. In another specific embodiment, a non-depressing button such as button 50 may include the function of a spinner, such as spinner 44 or 48. Therefore, for a complete button selection cycle on a non-depressed button, a significant rotation of the non-depressed button 50 is caused, and all the components of the bar 38 are turned to the right, such as the recorder 52 and the button 60.
The recorder, such as the recorder 52, can be a dynamic reading area in a cassette, such as the cassette 86 shown in FIG. 20. Scrolling can update text, such as text 53, which can be displayed, and the text reading area can also be dynamically linked to activate an application or uniform resource locator. A recorder, such as the recorder 52, can be a single button or a combination of multiple buttons in length. The displayed text, such as text 53, can be scrolled or used to move through the recorder window 52A. In the presently preferred embodiment of the present invention, the text enters the recorder window 52A on the right 52R, and scrolls to the left to the left 52L. Scrolling text, such as text 53, can be repeated in a loop at the end of the text string. Recorder text, such as text 53, can be updated locally or via the Internet. A recorder, such as the recorder 52, when the recorder 52 is clicked to open, a hyperlink can be activated via the network, or a complete button cycle can be received.
Now please refer to FIG. 20, which shows an example of a function tree displayed and accessed through the parallel GUI 28. The function 70 includes title bands 72, 74, 76, 78, and 80, which are related to the title area 40, the button 46, the button 50, the recorder 52, and the button 54, respectively. The rotators 44 and 48 are represented by belts 82 and 84, respectively. In this example, the title area 40 includes 6 containers or cassettes, cassettes 86, 87, 88, 89, 90 and cassette 91. There are more cassettes and titles available, and the number of available cassettes or titles is limited by the computer's resources. The cassettes such as cassette 90 and cassette 91 may include accessory programs, such as a web browser, or media player, or any other accessory programs. An accessory program, such as cassette 90, can be installed to be used together with system software, or they can be software components that constitute a parallel GUI, or they can also be used via the network.
Now referring to FIG. 21, the parallel GUI 28 and the accessory program cassette 90 are both visible. The accessory program cassette 90 may include actuators with specific functions, such as fast forwarding of a CD player or the next track. The paragraph of the accessory program cassette 90, or any other selected cassette, may also be dedicated to a single function, such as the web browser 92, which allows the browser to remain visible when running parallel GUI software.
Cassettes like 86-91 can be pre-loaded together with links and auxiliary programs. In addition, the components or buttons of a cassette can be blank and loaded by the user through the "combination" function (refer to Appendix E). User cassettes can contain access to applications, documents, files, or network links, such as uniform resource locators and/or embedded functions. Some embedded functions that can be activated by a cassette can include a browser, MP3 player, instant messaging, transaction notifications for market functions, reminders of auction and/or transaction results, and agent checks on price comparison searches. User items, such as applications, documents, files, or network links, can be added to a user button by any conventional method, such as copying and pasting of system software or any web browser, or Drag and drop function. Preferably, the user buttons can be renamed or cleared by any conventional method.
A parallel GUI like the parallel GUI 28 may also contain a descriptive function. Explain that the screen or menu can be constructed using any conventional method. The map of the content and structure of the stick 38 can be provided in the form of a function or a function tree, for example, the function 70 in FIG. 20. The function 70 and other explanation screens can be extended from the display area 26 by any conventional method. In a specific embodiment, the function 70 becomes visible from the edge 26T, thus allowing the stick 38 to remain visible. A full button cycle is activated on a title such as title 87C, which can activate the stick 38 Rotate to make the cassette 87 and the title 87C on the rod 38 visible.
In a specific embodiment of the present invention, the display area 26 includes four preset actuators 94. A complete button cycle is initiated on the actuator, such as the actuator 96, which moves the rotatable rod 38 to a preselected position. The user can initially load, change, or delete a preset about the actuator, such as the actuator 96.
The software constituting the parallel GUI may also include a screen storage component, such as the idle component 96. If the parallel GUI 28 is informed that the system software is in an idle state, instead of blanking the display area 26 in some conventional techniques, the parallel GUI 28 can automatically rotate out all possible cassettes of the function 70. When the system software returns to the activated state, the stick 38 will automatically return to the last activated position before being idle.
If the parallel GUI 28 is in the same direction as a title cassette, for example, the cassette 86 and the title 86A visible on the title area 40, as described above, a complete button cycle of the title area 40 can cause the stick 38 to rotate significantly, so a Adjacent cassettes, such as cassette 87 or cassette 85 (not shown). The title area 40 can also include all buttons and spinners to the right of the title area 40. In another specific embodiment, a full button cycle in the title area 40 can change the visible title like the title 86, and obviously rotate the element of the bar 38 to the right of the title area 40, such as the rotator 44, the rotator 48 , Button 46, button 50, recorder 52, and button 54. The result of changing a cassette and the visible title of the title area 40 is to make the cassette 87 visible, and the title 87A can also be visible as a group of its subsidiary titles, such as the titles 87B, 87C, 87D, and 87E. The additional circulation of the title area 40 may result in the display of additional cassettes and the resulting additional titles with 72, such as titles 88A and 89A.
If the title 89A is visible in the belt 72, the execution of a complete button cycle on the spinner 44 of the belt 82 will cause a significant rotation of the rod 38 at the button 46 of the belt 74, including various things rotating to To the right of button 46. A subsequent button cycle like the spinner 44 will cause the titles appearing on the button 46 to sequentially cycle through the titles 89B, 89C, 89D, 89E, and 89F, and a new title appears after each button cycle.
In a specific embodiment, a combination function may be included to allow cassettes, such as cassettes 86-91, to be added to an existing parallel GUI, such as parallel GUI 28 (refer to Appendix E). A cassette, such as cassette 86, which can be added to or combined with any existing cassette in a parallel GUI such as parallel GUI 28, which can utilize any conventional technology, such as copy/paste, or drag and drop functions . A combined cassette like cassette 86 can be added between any two adjacent cassettes, such as cassettes 88 and 89. Similarly, existing cassettes can be recorded using a conventional sorting function.
The new cassette can be combined or added to an existing parallel GUI from any conventional media, such as magnetic storage media, optical storage media, or from network resources such as the Internet, or any regional or corporate Network. A delete and/or sort function may also be included to allow a user to plan or personalize a stick, such as the stick 38 in the parallel GUI, which is based on the self-demand of the parallel GUI software.
For example, a user can go to a specific website to check the applications that can be integrated into the parallel GUI. One such application is an application that provides access to weather information through the WEB. The user selects the application to be combined, and the parallel GUI automatically determines a set of cassettes provided by the application. The parallel GUI software then combines the predetermined cassette set to the current data structure for storing data on the currently loaded cassette. Professionals in this art can understand that any customary data structure can be used, including arrays, chaotic tables, linked rows, and tree structures. It is preferable to use a cassette that allows easy replacement of the entire cassette (for example, a cassette that is stored as a branch of a tree structure). The parallel GUI software can then update any related data structure, whose information is based on the knowledge of the currently available cassette set.
Cyberspace
1 again, in another specific embodiment of the present invention, the technology of controlling the display area 1 is used to open a correlation-sensitive web browser 2 (CSNB), which is adjacent to but does not interfere with the operating system desktop 3 and / Or Parallel Graphical User Interface 4. A display controller, such as an alternative display content controller 6, may include CSNB2, thus allowing the browser to manufacture and control its own space on the display 1 without being covered by the common operating system 5B. The combined controller/browser can be an application running on a computer operating system, or it can include an operating system core of different complexity, ranging from a common operating system based on hardware system services to an irrelevant common operating system. Operating system, and can support exclusive applications. The alternative display content controller/browser may also include content and operating software, such as JAVA delivered on the Internet or any other local area network. There will also be more than one associated sensitive web browser, and more than one parallel graphical user interface in addition to the operating system desktop.
The associated sensitive interface, such as the web browser 2, can respond to the movement and placement of the cursor 1C controlled by a pointing device, such as a mouse 1M that can be anywhere on the display area 1. The generation and control of cursors that span two or more parallel graphical user interfaces are as described above. The position of cursor 1C will trigger CSNB2 to obtain the appropriate relevant web page, such as web page 2A. CSNB2 can store the last X CSNB enabled network addresses for offline display. In the presently preferred embodiment of the present invention, X is 10 pages. If the user views a stored CSNB offline, and clicks on the page or the link on the page, it will initialize the user's dial-up sequence and establish an online connection.
In another embodiment, the alternative display content controller 6 may include a browser or search engine. In another embodiment of the present invention, the space 2C may include an edit input box 2D. The edit input box 2D can contain customary functions, such as editing, copying, and pasting. The user can use any conventional input device to input a uniform resource locator into the edit input box 2D, and then select a button to activate or initialize the alternative display content controller 6 to become a browser. This can be achieved by using objects and/or drivers from the public operating system 5B. The initial replacement display content controller 6 becomes a browser, which can include a simple window to display the uniform resource locator as an instant hypertext markup language document with all customary functions. By constructing the alternative display content controller 6 as a small program type using the DLL, it can be slid to open or slide to close. Therefore, the replacement display content controller 6 is initialized to become a browser, that is, like a window connected to the Internet.
Secondly, the user can use any conventional input device to input any text into the edit input box 2D, and then select a button to activate or initialize the alternative display content controller 6 to become a search engine. By entering a search string, select the "search" button, enter any string, click the "search" button, the string will be sent to one or all, or selected search engines, and the recipient will use the search string Search for one or more selected search engines, or use the alternative display content controller 6 as a search engine. This can generate a number of different windows, such as stacked or waterfall or tile style, in which there are different search results.
Using the alternative display content controller 6 as a search engine or browser, the result or hypertext markup language document can be displayed in any over-scanned area or on the desktop.
Referring now to FIG. 17, an associated sensitive web browser like CSNB 13 may also include a set of tools, like tool 14, which may have a fixed position in the browser space. Such tools may include, but are not limited to, email, chat room, address book, and voice. As shown in the figure, the spaces such as the desktop 14A, the web page 14B, the secondary GUI 14C and the browser 13 can be configured in any way.
Hang up mechanism
Next, we will explain the hook mechanism used in conjunction with xSides (exemplary specific embodiment) on an Intel 80386 (or higher) processor. The description of the operation of the Intel 80386 (or better) processor will be simplified for clarity. This hook mechanism hopes to be able to work with most of the currently compatible processors, if not all of them.
Discontinuity description symbol table
The interrupt descriptor table (IDT) associates each interrupt with a descriptor, and obtains its instructions to service the related event. For example, when a software interrupt (INT3) is generated (and the interrupt is also activated), the Intel processor suspends its current work, and consults the appropriate entry point (or interrupt vector) in the IDT to find the program Code address to execute and provide the interrupt service. This code is known as Interrupt Service Routine (ISR). It will start executing ISR. When the return value of the Interrupt instruction (IRET) executed by the ISR is returned, the processor will return to the work performed before the interrupt.
Debug register
The Intel80386 microprocessor provides a set of system registers, which are usually used for debugging purposes, and are technically called debug registers (Debug Registers). These registers are allowed to control the execution of code and the access of data. The debug register is used in conjunction with exception code. There are a total of four address registers (that is, the locations of four different program codes and/or data) (DR0, DR1, DR2 and DR3).
It has a control register (DR7), which can be programmed to selectively enable the address register. In addition, DR7 is used to control the form of access to a memory location and generate a break. For example, when reading and/or writing a specific memory location, or executing a memory location, an exception may be generated (ie, code execution).
Finally, it has a status register (DR6), which is used to detect and determine the debug exception, which means which address register generated the accident. When it is enabled and meets the data conditions, the x86 processor generates an interrupt 1 (INT 1).
Usage of this mechanism
The best way to build xSides is to set IDT and assign its ISR to handle INT 1 interrupts. Then, write the address of the program code to be mounted (or the memory address of the data as in this example) into one of the address registers by the program, and set it in the control register In the appropriate bit. When the x86 processor executes this instruction (or touches the memory location of the data), the processor generates an INT 1. Then the processor generates the interrupt lISR (as described above). At this point, the ISR can control any processor, program code or data. When finished, the ISR executes an IRET instruction, and the processor starts executing after the INT 1 occurs. Please note that the interrupt code does not know the interrupt.
This mechanism is used to move the memory address of the cache or hardware cursor on some video systems, thereby increasing the proportion of systems that support the "overscan mode to about 90% (wherein the mechanism should be approximately the same Number of machines operating).
Additional specific embodiments
1. Use VESABIOS expansion (VBE) to replace the CRT controller register (Figure 5) to determine the linear window position address when necessary, step 138.
2. Use API (application programming interfaces) 62 with direct driver and/or hardware control, such as Microsoft's DirectX and/or DirectDraw, to replace the CRT controller register and/or directly access the display buffer.
3. Using API (application programming interfaces) 62, such as Microsoft's DirectX and/or DirectDraw, with direct driver and/or hardware control, a second virtual display surface can be generated on the main display to achieve the same purpose and display An independent, unobstructed graphical user interface.
4. Use the video system in the modified operating system 63 to replace the CRT controller register and/or DirectX to access the display buffer.
5. Use the video system in the modified operating system 63 to generate a second virtual display surface on the main display to achieve the same purpose and display an independent, unobstructed graphical user interface.
6. Construct this function to the actual video driver 64 and/or mini driver. Microsoft Windows provides virtual device driver support, VxDs, which can also directly interface with hardware and drivers. These may also include an API to provide applications with an interface to the modified display.
7. Incorporating the same function into the BIOS, it may have a VGA register, and API is provided to allow the interface of the application program to the revised display.
8. Combine the same functions to hardware devices, such as the monitor itself, hardware and/or software with an interface to the CPU.
9. This technology can be used to control the desktop (ie, window), which can easily enable the desktop to operate in any non-standard virtual size, which is only limited by the capabilities of the display hardware. This can be combined with the parallel graphical user interface display, or independently maximize the main operating system desktop display area without any modification to the operating system.
All in all, in the past, the value of the visual display area was maintained by the CRTC register on the chip and provided to the driver. This general display area is defined by the VGA standard, and then there is the SVGA standard with a preset number of modes. Each mode includes a specific display resolution, which sets the display area that can be displayed on the desktop.
The desktop can only be displayed in this area, because Windows does not directly read or write the video memory, but uses the program interface to call the video driver. The video driver only uses one address in the video memory for reading and writing. Therefore, the value that this mechanism needs to know is the value reserved for drawing for the video card and the driver. This value is obtained by querying in the register, and after correcting certain specific values, it is rewritten into the interface card. Then, the current specific embodiment changes the area of the visible display space that can be written without notifying the operating system of the change of the display interface. The specific embodiment of the present invention does not need to change the CRTC, in the case of only adding to the bottom. Preferably, the top part is also moved up only a little bit. As a result, the interface that can maintain the display is positioned in the center of the driveable display area. For example, instead of adding only 32 scan lines to the bottom, the top of the display area is moved up by 16 lines.
The specific embodiment of the present invention does not rely solely on its ability to change the CRTC to modify the visible display area. There are other mechanisms to define other methods of generating and using the visible area of the screen, which are outside the size of the desktop and accessed by the display interface of the operating system.
When considering these specifications, drawings, and the scope of the patent application, other specific embodiments, modified methods, and systems of the present invention should be clear to the professionals of computer science and technology.
In particular, the area where the secondary GUI is located is usually not located in the conventional overscan area. For example, the secondary GUI can be located in a small box in the center of the normal display to provide services required by specific systems and applications. In fact, the technology of reading and rewriting the information displayed on the screen can be used to maintain the information of the main GUI, or part of it, by means of an additional memory, selectively at a time, calculated Overtime, interactive, or on any basis, replace part of the primary GUI with a secondary GUI, such as a dialog box, window, or any other display space.
To take a simple example, a security system may need the ability to display information to the user, but is irrelevant to the state of the computer system and/or does not require the user to choose, such as clicking "911?" to call for assistance. Embodiments of the present invention can provide a video display buffer, in which a part of the main GUI interface is continuously recorded and displayed in a secondary GUI, such as in the center of the screen. In non-emergency situations, the secondary GUI will disappear, and the user will only notice the primary GUI.
In an appropriate emergency situation, an alarm monitor will cause the secondary GUI to present the "911?" status to the user by overwriting the copy of the main display stored in the secondary GUI memory. In addition, a database that can store a photo can remind the user that according to an incoming call, the caller ID can be related to the phone number of a photo entry point in the database.
Generally speaking, specific embodiments of the present invention can provide one or more secondary user interfaces, which can be more convenient and meet the needs of controlling a part of the entire display, whether it is an unused one other than the main display Area, such as the overscan area, or even directly on a part of the main GUI, or through time-slice multiplexing, directly communicate with the video memory, or at least skip part of the video memory to generate a New video memory. In other words, the method and system of the present invention can provide one or more secondary user interfaces outside the control of the system, such as an operating system that controls the main GUI. Additional user interfaces can be used to achieve many different purposes. For example, the primary user interface can be used to provide simultaneous Internet access, complete dynamic video, or a conference channel. The primary user interface can be dedicated to a local area network, or multiple secondary user interfaces, which can provide simultaneous access and data to one or more networks and allow a specific computer to connect.
Although specific specific embodiments and examples of the present invention have been described here, they do not constitute a limitation of the present invention. Equivalent methods, structures, processing, steps and other modifications within the spirit of the present invention are all within the scope of the present invention. At the same time, professionals in the art can also understand how to modify and change the present invention to meet their specific needs and conditions. For example, the principles of the present invention can be applied to other types of computer systems, including those that control non-integrated display surfaces. In addition, these principles can also be applied to other types of devices, computer operating systems and environments with display surfaces or other architectures. These related changes are derived from the above detailed description of the present invention. Therefore, the present invention is not limited to the disclosed content.
Appendix B
<img file="TW490652B_D0009.tif" />
<img file="TW490652B_D0010.tif" />
<img file="TW490652B_D0011.tif" />
Always visible and accessible
<img file="TW490652B_D0012.tif" />
Technically scalable
<img file="TW490652B_D0013.tif" />
<img file="TW490652B_D0014.tif" />
Can be overridden on the desktop display
<img file="TW490652B_D0015.tif" />
Main initial product Xsides <sup>TM</sup> Entrance packaging
<img file="TW490652B_D0016.tif" />
Two main applications
Desktop mini-entry-the present invention provides program code, others provide content-best location extended stay time income-partner promotion and dissemination to its users
Free ISP interface-continuous display area, user-friendly-through complete viewing, users can access the browsing area-unique competitive advantages in a business environment
Appendix C
Draft xSides <sup>TM</sup> Version 2.2 of the product specification includes entrance and web page jumping features. Compiled at 12:00 PM on August 16, 1999
xSides
TM
Version 2.2 product specifications
Contents: Overall description and definition 3 Section 1 xSides entrance design and characteristic specification 41.1: Description and definition 51.2: Recommended space usage specifications 61.3: Portal construction example 71.4: User interaction specifications 8
Section 2 xSides Single Package Design and Feature Specification 102.1: xSideS Single Package Product 112.2: Design and Feature Requirements 122.3: Functional Requirements 142.4: Design and Button Function 162.5: Single Package User Cartridge Function 172.6: Upgrade and Support Function 18
Section 3 xSides "Web Skip" Design and Feature Specifications 193.1: "Web Skip" Description 203.2: Operation 213.3: Appearance and Action Requirements, Search Mode 223.4: Appearance and Action Requirements, General 233.5: Internet Industry Jump Behavior Code 24
Description and definition
The following documents briefly describe the functions and design specifications of xSides, which are the most important products of Pixel.
The company's xSides <sup>TM</sup> Technology allows users and strategic partners to transmit and access content and applications in the area of the computer monitor, which is independent of the computer operating system. The area used by xSides will not be blocked by the Microsoft desktop or any of its applications at any time.
The xSides product originally appeared at the bottom of the computer screen as a thin cylindrical image ("control stick") containing a series of control buttons (refer to Figure 4 on page 8). The control rod is composed of a number of surfaces, which are called "Sides <sup>TM</sup> ", each one contains a different combination of content, applications and graphics (hence the name "xSides <sup>TM</sup> ”)。
The user can easily rotate from one side to the next, and view and access different content existing in a given side by clicking with the mouse. The minimum number of Sides in each xSides product is three. One is the content of the partner manufacturer; the other is instructions, FAQs and web support; the other is a user button that can be modified and controlled by the user. (See the user cassette function on page 17) xSides includes an additional display area called xSides (see Figure 1). This portal expands under the stick and provides an area for the company to display hypertext markup language content (emails, slogan advertisements, and indexers) outside the window. There is no design restriction for placing content, and enter this entrance display area.
xSides is designed to deliver a wide selection of available consumer products through some distribution sources, such as online services, personal computers, set-top boxes, etc. Therefore, a specific xSides composition of a partner manufacturer can coexist with other such products in this space.
Each partner manufacturer can create its own "skin". A shell is a packaging of graphic elements, which can form a single visual presentation style of xSides. These components include a set of buttons (which exist on each xSides surface), recorders, etc. xSides products allow cooperative manufacturers to modify their look and feel. They can use one of the shells provided by Pixel, or design by themselves.
xSides provides two versions to partner vendors:
1. xSides single package (SinglePack): This single package product includes the xSides entrance feature, and allows cooperating manufacturers to create an xSides product, which can modify the latest Pixel technology functions, such as launching the website, recorder information, and description functions. Cooperating manufacturers can modify the look and feel of xSides in the defined parameters (summarized by Pixel), or directly cooperate with Pixel to design new design specifications for specific cooperating manufacturers. But its function, size and number of cassettes will be limited.
2. xSides pre-package (PrePack): PrePack contains the pre-packaged content of the Pixel company's co-manufacturers to become the content on the stick. This PrePack version has limited functions and correction capabilities.
Section 1
xSides entrance design and characteristic specification
1.1: xSides entrance: description and definition
xSides technology includes an expansion of the area where partners can significantly show hypertext markup language content (ticker, links, banner ads). The xSides portal can be provided to strategic and content cooperative vendors who hope to provide products and services to their users. The area is always available and visible, without the need to combine with the functions of computers and web pages.
The entry zone function only exists in the xSides control stick (see section 2 on page 10). The xSides entry is activated under the stick and responds to xSides commands, such as open, close, update, etc. The function of xSides itself is explained in Section 2 (p.10) of this document.
The entrance area has a height of 70 pixels in the horizontal resolution of the screen, and at least 20 pixels on the right side are reserved for user control.
There are no design restrictions on the appearance and feel of the content presented in the display area of the xSides entrance. Content cooperating manufacturers can cooperate with Pixel to produce their own unique designs, where there is room for usage specifications to follow (p.6).
<img file="TW490652B_D0017.tif" />
1.2: xSides entrance recommended space usage specification
Design specifications are open to the needs of each partner manufacturer. However, for the consistency of product design, when the standard xSides entry function is proposed, the following specifications must be considered.
1. The background xSides rod must fall on a black background in the overscan area where it is located
2. The fixed dealer logo xSides will always display the dealer logo on the left side, which will remain visible for all rotations and the use of each stick surface.
3. Entry content flag This flag will remain until the user displays other xSides entries.
4. The xSides entrance of the application or link area allows users to access web applications, websites and source links, and recorders, etc. The recorder can display scrolling text when clicked, and it can start a related web page. The text and hyperlink can be updated according to the contract definition with each partner.
5. Slogan display area If the partner manufacturer chooses to include it, the size of the slogan can be provided in this area.
<img file="TW490652B_D0018.tif" />
1.3: xSides entry construction example
There can be unlimited new products in the xSides entrance area, which can include a monthly calendar, personal information management (PIM), stock recorder, etc. Here are just a few examples of different portal constructions.
<img file="TW490652B_D0019.tif" />
1.4: xSides entrance: user interaction specification
Minimization of the xSides entrance. When the user first opens the xSides product that contains the entrance area, it can be activated to its largest window, and this option of opening can be closed by the user. Each xSides control stick and entrance feature has a prominent "entry" button on its side. Once the product is installed, the user can click this button to display, update or hide the xSides entry area. Each entrance area also has a similar "X" button in the upper right corner. Click here to start the entrance or exit, and only the desktop and xSides bar will be displayed.
<img file="TW490652B_D0020.tif" />
Maximize the xSides entry again. When the xSides entry is in its minimized state (ie closed), the user can click the entry button and restore the xSides entry to its full window size.
<img file="TW490652B_D0021.tif" />
1.4: xSides entrance: user interaction specification (continued)
Users can install and combine several xSides products with the portal. Once completed, the user can quickly use an expandable functional system taken from the xSides logo on the right side of the stick to make quick jumps in between.
<img file="TW490652B_D0022.tif" />
chapter 2
xSides single packaging design and characteristic specification
2.1: xSides single package product
xSides single package xSides provides partners with the option of changing the look and feel of xSides in Pixel's specifications. A specific button or "housing" combination can provide partners with a space to customize their appearance on the xSides stick. Cooperating manufacturers can also cooperate with Pixel to build a unique shell for it, on a rental basis and time/resource permission. The following restrictions apply to xSides display and function:
The size of the control rod is the same for all xSides products, which will allow users to mix and configure the xSides rods according to their needs when they find new xSides applications on the market.
Each xSides product includes two additional SideS (sides)-a user side and a description/support side. (See "User Cartridge" and "Update and Support" on pages 17, 18)
Users can remove their applications from the computer screen, by exiting from their system and/or program uninstallation, as part of a larger group of xSides cassettes, or as a stand-alone product.
xSides products have a limited combination of buttons and functions, which must display and support the appearance of each product, except for buttons defined by partner manufacturers.
xSide products must be able to rotate
xSide products must include a logo
2.2: xSides design and characteristic requirements
1. The preset button preset function allows users to "bookmark" specific Sides. Users can set their choices (CD player, news and sports, etc.) by pressing the right button on the default button when the specific Side is visible. Once completed, the user can press the left button on the button to return to its default function. Once the settings are saved, the preset button changes color.
2. The main category title of the category is displayed here, just click to switch the category.
3. Description/? When the user clicks the Help/? button, it will be activated as soon as it pops out of the window, which contains the welcome screen, map, preferences, instructions, and information about xSides.
4. When the spinner is clicked, turn the spinner and the part of the stick to the right side of the spinner; click the left button to switch to the next Side, and click the right button to return.
5. Pixel logo When the cursor passes the Pixel company/xSideS logo, the simulated graphics will rotate. When you click the logo button, you are connected to PiXel's website.
<img file="TW490652B_D0023.tif" />
<img file="TW490652B_D0024.tif" />
2.2: xSides design and characteristic requirements (continued)
6. Cooperative manufacturer logo The partner manufacturer logo is displayed here. Use the left mouse button to connect to the webpage of the partner manufacturer.
7. No action button The no action button is only the function of the title button or position space, which is activated or emphasized when the mouse is pressed or keyboard commands.
8. Action button The action button is depressible and can activate the web page link, which will be emphasized and activated as described under the button emphasis. (Refer to the "xSides Function" section).
9. The recorder The recorder will display scrolling text, when clicked, it can be linked to the connected webpage. The text and hyperlink street can be updated according to the contract of each partner manufacturer.
10. Exit/(X) When the user clicks the exit button (X), a window will appear to confirm the user's choice to leave xSides.
<img file="TW490652B_D0025.tif" />
Note: Logo and trademark specification: xSides logo and trademark are related to product design and product download button. XSides/pixel logo and trademark indicate companies that use Pixel's patented technology. The logo and business can be used to improve the marketing documents, brochures, presentations and advertisements of partner manufacturers. Pixel and xSides logos and trademarks are used in accordance with the general specifications that can be transmitted. Any changes resulting from these specifications must be approved by Pixel.
2.00x0000s functional requirements
Startup process: Once the user downloads, installs and activates the xSides program, the user will be prompted by a dialog box to decide how they want to load it. The default here is to automatically load in the Windows startup program. When the product software is loaded, a text message displayed in the horizontal blank area is under the work bar, prompting the user that the program is "add overscan area to the display" or "initialize xSides display" (xSides activation does not The display of the Windows startup program interferes.
When starting: The next one of the above-mentioned text messages shows the xSides stick and the dealer or sub-dealer cassette, unless the user has set a different starting category under his preference, and the red " ?" button to access. When xSides is executed for the first time, the welcome screen will appear whenever the cursor moves anywhere within the xSides stick.
Rotating action: The rotator can switch different components on the rod. A left click will move the bar up to the next side, and a right click will move it below the previous one. The rotator is a long bar, located on the left side of the rod, and the red indicates the right side of the "?". The buttons on the right of the spinner are for switching and changing paragraphs.
Action button: When clicked, the action button will activate a related function, such as: application, uniform resource locator, document, CD player, etc. Buttons with no action function, such as the title area only, will not have related hyperlinks and will not be emphasized.
Indexer: The indexer displays scrolling text. When clicked, it can activate a hyperlink to open a related webpage. The text and hyperlinks of the recorder can be modified and updated. Users can receive the updated take-up text and uniform resource locator when they connect to the website, and xSides is executed on their machine.
Button emphasis: Mouse over: When the mouse is over, there will be a glowing effect in the lower left corner of the button frame. Mouse down: When the left mouse button is pressed down, the emphasis means that the xSides button is pressed down. Mouse up: When the left mouse button is released, the function is activated, and the xSides button bounces back as if it returns to the "mouse passing" state, as described above.
2.3: xSides functional requirements (continued)
Sound: Ingenious sound effects are accompanied by the rotation of the pole.
Pop up the window: When the user clicks the "?" button. There will be column labels, such as: "Welcome", "Help", "About", "Location" and "Preferences".
Screen saver: When the computer is in screen saver mode, xSides will spin out all the content in a slow mode.
Jump out of help: When the cursor stays on a button, a jump out window appears. The pop-up help contains sub-level menus, explanatory text, and other information.
Update path and combination: The xSides update/combination function provides users with some control and flexibility, and keeps the application fresh, useful, and personalized, processing one side at a time. The xSides technology is designed to deliver content to users, and has advanced capabilities to allow users to add new product features, combined with any xSides trademarked product, downloaded by a partner or an xSides website (under construction) , Users can download any number of xSides products freely.
In this combined state, distributor partners will maintain continuous trademarks and content. The dealer's logo and content will remain in its current position, regardless of whether other cassettes are added or deleted. In order to remove the dealer's trademark and content, the user must completely uninstall the product.
2.4: xSides design theme
xSides provides partners with the option of changing the look and feel of xSides in Pixel's specifications. A specific button or "theme" combination can provide partners with a space to customize their appearance on the xSides stick. Cooperative manufacturers can also cooperate with Pixel to build unique themes for it, on a rental basis and time/resource permission.
<img file="TW490652B_D0026.tif" />
2.5: xSides user cassette function
Note: The user button can be found in the user cassette in xSides. This cassette allows users to customize their buttons to meet their needs. The xSides product originally had 7 user buttons. Buttons can be added to the user cassette in different ways. Users can add links from this, and drag and drop (or copy/paste) to generate buttons to the user button box.
When installing other cooperative manufacturer cassettes (each costume cassette contains a user section), additional bonus user sticks can be added to the user cassette. This new user stick is added, with the name of the cooperating manufacturer as the title, with the link just selected.
To clear a user button, right-click the button, and then click "Delete" in the pop-up function that appears; or, select and highlight a user button, and press the DEL key on the keyboard. To rename a user button, right-click the button, and then left click "Rename" in the pop-up function that appears; then press "Enter" on the keyboard, or click "in the pop-up function" Yes". To cancel this change, click "NO."
<img file="TW490652B_D0027.tif" />
2.6xSides update and support functions
Description: Each xSides product has a cassette specially designed to support and update usage. Users can use these cassettes to link to FAQs, find the updated pages of other xSides products, and receive news and information about xSides products.
The cassette has a rotator, including a combination of button link and recorder.
<img file="TW490652B_D0028.tif" />
Section 3
xSides webpage jump design and characteristic specification
<img file="TW490652B_D0029.tif" />
3.1: Description of xSides "Web Skip"
The xSides product will include a cassette that allows Internet search, browse, and display outside the desktop screen. The user can "jump" to the web page area, but does not need to go online or run a browser. A complete navigation function can be provided to users in a "full view" mode, which displays the webpage in the largest display window developed.
<img file="TW490652B_D0030.tif" />
3.2: xSides web page jump: operation
Two modes of use: xSices "Web Jump" bar can be operated in two modes: search and browse search: the bar is first activated in search mode. This mode can present one side of the stick to provide an input position for the user to input search requirements, or the uniform resource locator to jump to the requirements. It has two search functions: search and inquiry. The search function can start the default browser, use the default search engine to start the search, and display the results. The inquiry function can accept general English requirements and announce the results.
The user can enter a standard uniform resource locator request at the beginning of the request, such as "http:" or "WWW" to jump to any position. If the user presses the Enter key, the program will recognize the string as a search or jump request and start the action.
A "full view" button can change the appearance of the stick, so it can display a complete web navigation function.
<img file="TW490652B_D0031.tif" />
"Browse" with "complete observation"
When the "Full View" button is pressed, a similar row of browser function buttons will be displayed on the right side of the xSides bar. These will display guidance tools that allow users to easily move around the web. These functions will be explained in the chapter "Appearance".
When the user types a request in the input field, the default browser can be fully viewed to start, which is a complete web page display area without a guide bar. The user can use the buttons in the xSides area to guide.
Click the full view button again to return the user to the search view.
<img file="TW490652B_D0032.tif" />
Note: All xSides configuration examples: the specific position of the function button can be changed according to the needs of the partner manufacturer
3.3xSides "Web Skip": Appearance and action requirements, search mode
Designed to provide a fast jump to the Internet, the user will be able to type in several request forms, and then jump out to the Net, and the action will be executed immediately. The first side of the page jump cassette that the user sees is the "search mode". The following is a list of the functions accessed on the web jump cassette.
1. "Title" This is your xSides browser.
2. "Rotator" This will lead the user to the search mode.
3. "Input field" The user enters all searches, queries and uniform resource locators here.
4. "Search" This button is to search the information entered into the input field.
5. "Proceed!" This will lead the user to the uniform resource locator position entered in the input field.
6. "Add to Favorites" The user clicks this button to add the currently used webpage to a favorite or bookmark folder
7. "Open favorite" brings out the folder of favorite (bookmark) website
8. "Full viewing" This can start the browser in full screen mode, and at the same time turn off the full viewing mode switch
<img file="TW490652B_D0033.tif" />
3.4: xSides "Web Jump": Appearance and action requirements, browser mode
1. "Title" This is your xSides browser.
2. "Rotator" This will lead the user to the search mode.
3. "Back" This button allows the user to return to the previous page.
4. "Stop" This button stops any web page access actions in progress.
5. "Forward" This button allows the user to move forward to the previously viewed, but "next" web page.
6. "New Load" (Update) This can reload and update the currently viewed web page.
7. "Homepage" This button allows users to return to their designated homepage.
8. "Print" This button provides browser printing function.
9. "Input field" Here the user enters all searches, queries and uniform resource locators.
10. "Search" This button executes a search for the information typed into the input field.
11. "Proceed" This button takes the user to enter the uniform resource locator position of the input field.
12. "Add to Favorites" The user clicks this button to add the currently used webpage to a favorite or bookmark folder
13. "Open favorite" brings out the folder of favorite (bookmark) website
14. "Full viewing" This can start the browser in full screen mode" and turn off the full viewing mode at the same time
<img file="TW490652B_D0034.tif" />
3.5: xSides "Web Jumping": Code of Conduct
Start: The xSides webpage jump will start with the user's default web application, and the user will start the xSides webpage jump in three states:
1. Offline, running without a browser
2. Go online, running without a browser
3. Go online, there is another browser in execution
The xSides browser will activate the user's default browser and mirror its functions to be consistent with the user's understanding and expectations. Therefore, the web page jump will be combined with the information stored in the system login file or the shared data file in the user's default browser.
Script #1: The user will work offline. Using the xSides browser displayed at the bottom of the screen, the user types the question into the input field and presses the search button. The login process will begin, and a full viewing web window will fill the screen. The user is then guided by the controls on the browser stick. (The user is actually using his default browser function, even if his recognizable function bar is not visible)
Script #2: The user is online, but no browser is running. Same as above, except that there is no login procedure.
Script #3: The user is online, but a browser is running it. The xSides browser will replicate the functions of the web browser, including favorites, homepage and other user-oriented information.
Users will be able to access the same information, in the same display format, by clicking the same button in each area.
The "favorites" area of handling favorites xSides will be read by the user's default browser. Because the new uniform resource locator link is added to the user's default browser, it can also be added to the favorite paragraph of xSides, and so on. Clicking the favorite button in the xSides browser area will bring up the same dialog box, just like IE or Netscape.
Handling the "Homepage" a user opens the page, which is the first place when entering the web browsing, which will be shared between the xSides browser and the user's default browser settings. xSides will be able to read the login to transmit the same Uniform Resource Locator location.
Jump out description When the mouse cursor stays on a button, a jump out window will appear. The pop-up description can include expanded functions, explanatory text, and so on.
3.5xSides "Web Skip": Code of Conduct (continued)
Switch between different sizes of full viewing and normal browsers: the user can switch between viewing default browsers in full viewing mode or normal browser display. Both the search bar and the browser bar have a full view button displayed on the right side of the input field. When the user clicks this button, the screen will expand, so the complete viewing area will be filled by the web window without borders, tool bars, guide buttons, etc. The user clicks one to switch.
<img file="TW490652B_D0035.tif" />
Appendix D
xSides <sup>TM</sup> Great PIM Side Version 5 (Personal Information Manager) Product Specification September 7, 1999 Pixel Company
Table of Contents 1. Functional Specifications 31.1 Overview 31.2 Hardware 31.2.1.1 Client 31.2.1.2 Server 3l.2.2 Software 31.2.2.1 Server 31.2.2.2 Client 31.3 General End User Features 42.UI Analysis 42.1xSides PIM side of the stick: (from left to right) 42.1.1 PIM/Information Manager side button 42.1.2 Calendar button: 42.1.2.1 Current date 52.1.2.2 Jump to today 52.1.2.3 Month-by-month calendar 52.1.2.4 Full-size monthly calendar 52.1 .2.5 Events 62.1.2.6 Scheduled items 72.1.2.7 Small advertising space 82.1.3 Contact button 92.1.3.1 Address book (listed in alphabetical order of personal contact list) 92.1.3, 2 Search by name 102.1.3.3 Contact description 102.1. 3.4 Clear 102.1.4 Computer button 102.1.4.1 Display 112.1.4, 2 display area 112.1.4.3 Screen keyboard 112.1.4.4 Additional calculation 112.1.4.5 Constant 112.1.4.6 Conversion 112.1.4.7 Small slogan advertisement 112.1.5 Note 122.1.5.1 Note input/retrieval area 122.1.5.2 Search area 122.1.6 Daily News 132.1.7 Newspaper cabinet 142.1.8 Apartment button 15
1 functional specifications
1.1 Overview This project is designed to convert the calendar and other suitable features/tools from the apartment; add new tools and enter the expansion (entry) side of the xSides stick. These features/tools all fall into the category of Personal Information Management. The title of the actual side is still undecided here.
1.2 Hardware
1.2.1.1 Client Internet access and provider Processor at least 0486D X/66 personal computer (Pentium or higher recommended) 3MB hard disk space 20MB RAM (for Win95, 24MB RAM recommended) 24MB RAM for Win98 (32MB recommended) Monitor: VGA (standard resolution) Support mouse and keyboard Recommended for a single monitor system Support Direct X (if needed by Installer to install) Modem
1.2.1.2 Server side WWW server SQL database server
1.2.2 Software
1.2.2.1 Server side Database support monthly calendar, dealer and immediate alarm SQL6.5 or 7.0 IIS 4.0User registration
1.2.2.2 Client Windows95 or 98 or Windows NT operating system Installation detects whether the client system has other supporting software installed
1.3 General end user characteristics: Users can download a single XSideS side, which is PIM or can download a pre-packaged, which contains PIM or other names yet to be determined, which can point out the idea of managing their personal information. By allowing users to store and access personal information, it is best that the PIM side can increase the usage of XSides.
Users will be able to access their personal address book through this side and maintain their own personal monthly calendar. By using the immediate alert function, if necessary, it can be notified before the events listed in its personal calendar, and it can pop out the window via email or a desktop. Please pay attention to any topics generated by the user; link to News headlines from our daily news and magazine cabinets; and apartments, which cannot contain an entrance, but can activate a full screen on the stick.
2UI analysis
PIM side of 2.1xSides stick: (from left to right)
2.1.1 PIMInformation Manager side button: The category title area on the left side of this side will contain this title; "PIM" or "Info Manager", or other names to be specified. The information manager side contains the following buttons, from left to right: calendar, contact, computer, note, daily news, newspaper cabinet, apartment, etc. In addition to the apartment button, if a user clicks a button, it can make the relevant entrance appear in the entrance area below the stick. (Clicking on the apartment button will cause the apartment to start, which constitutes a complete screen in the browser on the stick)
2.1.2 Calendar button: The first button on the right side of the category title area is labeled "Calendar". When the user clicks the monthly calendar button, the following information will be displayed from left to right in the expanded entry area below the bar.
<img file="TW490652B_D0036.tif" />
2.1.2.1 Current date The current date is displayed on the left side of the entry area of the calendar.
2.1.2.2 Jump to today Click the Jump to Today button on the entrance of the calendar, so that today's date can be emphasized on the monthly calendar, and today's scheduled events are displayed on the right of the entrance area.
2.1.2.3 Month-by-Month Calendar A small current month calendar, the current date system is emphasized and appears on the right side of the current date.
2.1.2.4 Full-size monthly calendar Click the link of the full-size monthly calendar to activate the existing monthly calendar in a browser window on the stick to provide a more detailed view of the event.
<img file="TW490652B_D0037.tif" />
2.1.2.5 Event: Click on the event link to make the scheduled event list listed on the right side of the entry area. This table shows the information (blue and white paragraphs) from the hour-by-hour section of the user's complete viewing calendar. The paragraph is scrollable, and displays controls to add, edit, and delete selections. If the user clicks to join, it will be presented as the joining event/appointment page of the existing calendar. The user selects the item to edit or delete by highlighting it. Click to delete the selected person, it can automatically delete the record of this event. Click the edit selector, and the edit event/appointment page of the existing calendar will pop up, displaying the current information of the specific event.
<img file="TW490652B_D0038.tif" />
2.1.2.6 Scheduled items: Clicking on scheduled items will cause the user to make a list of scheduled items to be listed in the entrance area in the same space, which shows the scheduled events. This paragraph is for non-specific date use and can be prioritized. This area is also scrollable, and contains the same editing controls as the scheduled event list, such as adding, editing the selected person, and deleting the selected person.
<img file="TW490652B_D0039.tif" />
To delete an item in the schedule list, the user first needs to select it to emphasize it. Click to edit the selected person or add, the edit will appear, or add to the pop-up dialog box of the scheduled item.
<img file="TW490652B_D0040.tif" />
2.1.2.7 Small advertising space: On the right side of the scheduled item list is a 100x70 slogan advertising space.
2.1.3 Contact button: The next button on the right is the contact button. When the user clicks this button, they can activate their address book in the entry area, and the following features can be seen from left to right in the entry area under the stick.
<img file="TW490652B_D0041.tif" />
2.1.3.1 Address Book: (Alphabetical list of personal contact lists) The user clicks a letter or # symbol to view the list of those whose surname starts with the selected letter or number. These names are displayed in a scrollable box, and on the right side of the alphabet column. This alphabetic directory has control items to add, edit the selector, and delete the selector. To add a name, the user can click Add to bring up the addition/change format of the current calendar, and then the user will fill in the information and click to execute the input change. To edit an item, the user selects a list in the right box, and then clicks Edit Selector. This will bring up the addition/change format of the list. To delete a list, the user selects the list, and then click Delete Selector.
The user can see the following information for each list: name; home phone; work phone; email address; mobile phone number; pager; fax, home and work address.
2.1.3.2 Search by name The next window will display the features of search by name. This is part of the function of the existing monthly calendar. The user types in the last name or first name, and clicks search to find the directory of their contact. The result will appear in the scrollable list area on the left.
2.1.3.3 The contact description is linked to the description of the address book. ( <sup>*</sup> This version of the address book/monthly calendar needs to be revised)
2.1.3.4 Clear Click this button to clear the current search.
2.1.4 Computer button: The next button on the right side of the contact button is the computer button. When the user clicks this button, they can see the following features from left to right in the entrance area:
<img file="TW490652B_D0042.tif" />
2.1.4.1 Display: There are two display modes for computers: commercial and scientific. The commercial display mode lists numbers in a column and keeps a simple execution account. The scientific display mode shows the actual calculations in a table column.
2.1.4.2 Display area: This is the area beside the right area displayed in commercial or scientific mode.
2.1.4.3 On-screen keyboard: On the right side of the display is a display on the screen of a traditional keyboard. Users can enter numbers and functions here, by tapping the numbers or functions on the on-screen keyboard, or using their actual keyboard.
2.1.4.4 Additional calculations: The next paragraph on the right (currently titled "title:") contains additional calculations that the user wants to select.
2.1.4.5 Constant: The right side of the computer is a constant. There is a list of constants that the user wants to select.
2.1.4.6 Conversion: The next paragraph on the right contains a series of drop-down functions, which are used to generate conversion. For example, the user can select miles in the left column and feet in the right column. When the user clicks the calculation button, the answer appears in the space below.
2.1.4.7 Small slogan advertisement: This is the space on the right side of the entrance as a small slogan advertisement.
2.1.5 Note: The fourth button on the PIM stick activates the note feature in the entrance area. This is a tool for users to write SMS of any topic to themselves. It can be a list of gifts to buy, or log what they have heard or designed ideas, etc. The entry of this note contains the following from left to right:
<img file="TW490652B_D0043.tif" />
2.1.5.1 Note input/acquisition area: The white area is the space where the user enters the content of his note. Each note has a number, (such as a page number), associated with it. The user can select a number from the upper part of the input/acquisition area in the list to view a specific note.
2.1.5.2 Search area: Users can also use the search area to get a note, they only need to type a character they remember in the search box to use it in the note, and click the search button. The result of this search appears in the white area. They use the search results button to view the results of different pages page by page.
2.1.6 Daily News: The fifth button on the stick is the Daily News. Click this button to display the headlines of daily news from the former MO in the entrance area. We already have this feature for general testing, so all that is needed here is a slight design change to make this feature compatible with other PIM portals.
<img file="TW490652B_D0044.tif" />
The daily news portal may include a function table that lists the paragraphs of each main daily news, such as news, sports, weather, etc. (Please ignore the beige feature on the far left, it will not be included).
2.1.7 Newspaper cabinet: The sixth button on the PIM side is the newspaper cabinet button. Clicking on this button will display the graphics of the current MO newspaper cabinet (also called the magazine cabinet) to be displayed in the entrance area. Each magazine is directly linked to the online e-magazine of the publication or the publication. We already have this function for general testing, and this design should be the final design.
<img file="TW490652B_D0045.tif" />
2.1.8 Apartment button: The last button on the PIM side is the apartment button. Click this button to launch the full screen of the apartment in the browser on the stick. This apartment will be the same as the one currently available through MO.
Appendix E
This is a quick description of xSides conversion and combination-proposed in the development specification of xSides.
1.1 End user characteristics
Version 2.2 of xSides must be completed and provide the following content: (Please note: the old data structure is included in an initial structure, and the new data structure is included in a "validated file", which will not be included after the conversion. more entry in xSides).
1 Convert the old data structure (MySpace2.1) to the new data structure (xSides2.2+). The old data structure conversion can use an independent executable program that exists in the same installation directory as xSides. The new executable file is called converter.exe. Conversion process: a) Each and every time the xSides executable file (pixels.exe) is started, it will check if there is any old version or format of the startup configuration file or approved file, it needs to be converted to the latest data Format. b) If the existing startup configuration file or verification file needs to be converted, pixels.exe will call converter.exe to make the old data structure conform to the new data structure and write it to the new data file: pixels.dat
2 Data combination In order to provide the ability to combine dynamic xSides content to be added to the new cassette and import to xSidex. Combination process: a) After the xSides executable file has undergone any data file conversion that needs to be completed, it can perform a further check to see if there are any newly downloaded pixels.dat files to combine with the current pixels.dat. (The Pixels.dat file contains the data structure for the xSides stick and entry area 53b) Pixels.exe will combine the previously existing xSides data and the new xSides cassette data into a single data tree. And write the newly combined audit file (pixels. dat) to the appropriate installation directory. c) So if the material is copied at this level, the combination will occur at the platinum level of xSides. The category name ("Where" is in the initial configuration file/verification file), which exists in the combination bar, and the latest data will replace the previous data. Any unique information will be combined into a new platinum category into the existing category list. In all these scripts, the following must be true: The combination will occur at the platinum level. Example: If xSides spreader A has an entertainment category, and xSides spreader B has an entertainment category, when the user already has spread A Distributor B will be cut after installation. Distributor B will replace the entertainment category of diffuser A. The distribution of the latest download of the xSides stick will occur before the combination (replace the duplicate Sides with the latest download), unless it is not the latest version of the application. When the cassette is unique in the platinum level between the spreads, the unique cassette will be retained. The cassette will always keep the original relevant spreader mark. Deletion: When the commercial version is on the market and installed by the user, it can be deleted. The delete function is selected by the user at the side level after the application is installed. It can be connected to the commercial market through the xSides interface in the help/favorite/map/commercial area. There will be a row of currently installed rods along the side presented to the user, and there will be other rods available for the user to install. This dialog box also provides that the user can select from the list of currently installed bars and choose to remove them. There is no limit to the number of cassettes that users can install on their xSides sticks. In the case of the xSides SDK version, it must be a statement, which becomes a performance impact if it has more #s to be installed. When a combination occurs, new content and cassettes are added, and all related pop-up instructions and expansion functions will also be combined, using the special case of the original distribution area, which is controlled by the original spreader instead of other subsequent spreaders. d) For version 2.2, the new rod will be placed at the end of the list (arranged in alphabetical order in the first version of the combination, and will not be retained with the newly combined rod). e) After the conversion and combination are completed, xSides will start the reading and display of the newly combined data. In version 2, the new rod will be placed at the end of the list (arranged in alphabetical order in the combination of the first version, and will not be kept with the newly combined rod). e) After the conversion and combination are completed, xSides will start the reading and display of the newly combined data. In version 2, the new rod will be placed at the end of the list (arranged in alphabetical order in the combination of the first version, and will not be retained with the newly combined rod). e) After the conversion and combination are completed, xSides will start the reading and display of the newly combined data.
<img file="TW490652B_D0046.tif" />
<img file="TW490652B_D0047.tif" />
<img file="TW490652B_D0048.tif" />
<img file="TW490652B_D0049.tif" />
Contents3
84 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37 Sheet 38 Sheet 39 Sheet 40 Sheet 41 Sheet 42 Sheet 43 Sheet 44 Sheet 45 Sheet 46 Sheet 47 Sheet 48 Sheet 49 Sheet 50 Sheet 51 Sheet 52 Sheet 53 Sheet 54 Sheet 55 Sheet 56 Sheet 57 Sheet 58 Sheet 59 Sheet 60 Sheet 61 Sheet 62 Sheet 63 Sheet 64 Sheet 65 Sheet 66 Sheet 67 Sheet 68 Sheet 69 Sheet 70 Sheet 71 Sheet 72 Sheet 73 Sheet 74 Sheet 75 Sheet 76 Sheet 77 Sheet 78 Sheet 79 Sheet 80 Sheet 81 Sheet 82 Sheet 83 Sheet 84
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10248687B2 | Cited by | United States of America | Applicant |
| US10437431B2 | Cited by | United States of America | Applicant |
| US9645698B2 | Cited by | United States of America | Applicant |
| US9665850B2 | Cited by | United States of America | Applicant |
| US10482637B2 | Cited by | United States of America | Applicant |
| US10482429B2 | Cited by | United States of America | Applicant |
| US10635266B2 | Cited by | United States of America | Applicant |
| US10997562B2 | Cited by | United States of America | Applicant |
| US10592073B2 | Cited by | United States of America | Applicant |
| US9864489B2 | Cited by | United States of America | Applicant |
| US9864489B2 | Cited by | United States of America | Applicant |
| US10635266B2 | Cited by | United States of America | Applicant |
| US9727989B2 | Cited by | United States of America | Applicant |
| US9619116B2 | Cited by | United States of America | Applicant |
| US10482429B2 | Cited by | United States of America | Applicant |
| US9715678B2 | Cited by | United States of America | Applicant |
| US9715678B2 | Cited by | United States of America | Applicant |
| US10521081B2 | Cited by | United States of America | Applicant |
| US9875009B2 | Cited by | United States of America | Applicant |
| US9690448B2 | Cited by | United States of America | Applicant |
| US10521081B2 | Cited by | United States of America | Applicant |
| US9690450B2 | Cited by | United States of America | Applicant |
| US10642927B2 | Cited by | United States of America | Applicant |
| US10521073B2 | Cited by | United States of America | Applicant |
| US9727989B2 | Cited by | United States of America | Applicant |
| US9665850B2 | Cited by | United States of America | Applicant |
| US10482637B2 | Cited by | United States of America | Applicant |
| US9690450B2 | Cited by | United States of America | Applicant |
| US9690448B2 | Cited by | United States of America | Applicant |
| US10997562B2 | Cited by | United States of America | Applicant |
| US10437431B2 | Cited by | United States of America | Applicant |
| US9645698B2 | Cited by | United States of America | Applicant |
| US10642927B2 | Cited by | United States of America | Applicant |
| US10248687B2 | Cited by | United States of America | Applicant |
26 members in 5 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 15528899 | United States of America | P | |
| 60155288 | United States of America | – | |
| 19990155288P | – | – | – |
| US19990155288P | – | – | – |
Members26
| Document | Office | Kind | |
|---|---|---|---|
| WO0122196A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU7985100A | Australia | A | |
| WO0161484A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU3846601A | Australia | A | |
| WO0122196A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO0239266A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU3254202A | Australia | A | |
| TW490652BThis record | Taiwan Province of China | B | |
| WO0161484A3 | World Intellectual Property Organization (WIPO) | A3 | |
| JP2003524843A | Japan | A | |
| US6630943B1 | United States of America | B1 | |
| WO0239266A9 | World Intellectual Property Organization (WIPO) | A9 | |
| US6677964B1 | United States of America | B1 | |
| US2004027387A1 | United States of America | A1 | |
| US2004032423A1 | United States of America | A1 | |
| WO0239266A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US6717596B1 | United States of America | B1 | |
| US6727918B1 | United States of America | B1 | |
| TWI222019B | Taiwan Province of China | B | |
| US2004226041A1 | United States of America | A1 | |
| US6892359B1 | United States of America | B1 | |
| US7340682B2 | United States of America | B2 | |
| US2010005396A1 | United States of America | A1 | |
| US2010064245A1 | United States of America | A1 | |
| US2011096081A1 | United States of America | A1 | |
| US2011221765A1 | United States of America | A1 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Annulment or lapse of patent due to non-payment of feesLapsedMM4A | MM4A | |
| Issue of patent certificate for granted invention patentGrantedGD4A | GD4A |
Numbers
- Publication
- 490652
- Publication, DOCDB
- 490652
- Publication, EPODOC
- TW490652B
- Application
- 89119484
- Application, DOCDB
- 89119484
- Application, EPODOC
- TW20000119484
Titles5
- English
- Method and system for controlling a complementary user interface on a display surface
- Chinese
- 在顯示器表面上控制互補性使用者介面之方法及系統
- English
- METHOD AND SYSTEM FOR CONTROLLING ACOMPLEMENTARY USER INTERFACE ON A DISPLAY SURFACE
- Unlabeled
- 在顯示器表面上控制互補性使用者介面之方法及系統
- Unlabeled
- Method and system for controlling complementary user interface on display surface
Classification
- CPC, 6
- G09G5/14
- G06F9/451
- G09G1/16
- G09G1/165
- G09G2310/0232
- G09G2370/027
- IPC, 3
- G06F9 44
- G09G1 16
- G09G5 14