throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2008/0126958 A1
`Louie
`(43) Pub. Date:
`May 29, 2008
`
`US 2008O126958A1
`
`(54) ADDING GRAPHICAL USER INTERFACE TO
`DISPLAY
`
`(52) U.S. Cl. ........................................................ 71.5/764
`
`Wayne C. Louie, Uxbridge (CA)
`(75) Inventor:
`Correspondence Address:
`VEDDER PRICE KAUFMAN & KAMIMHOLZ
`222 N. LASALLE STREET
`CHICAGO, IL 60601
`
`(73) Assignee:
`
`ATI Technologies Inc., Markham
`(CA)
`
`(21) Appl. No.:
`(22) Filed:
`
`11/469,233
`Aug. 31, 2006
`
`Publication Classification
`
`(51) Int. Cl.
`G06F 5/16
`
`(2006.01)
`
`ABSTRACT
`(57)
`To operate a computer, a first graphical user interface of a
`server application is displayed in a first display region, which
`has user interface elements for presenting output from the
`server application and receiving runtime user input to the
`server application. A second display region is also provided,
`in which graphical user interfaces are provided. The second
`display region has a defined location and may be a sidebar. In
`response to user interaction with the first graphical user inter
`face, a first user interface element is selected from the first
`graphical user interface. The first user interface element pre
`sents a type of output from the server application or receiving
`a type of input to the server application. Further, a client
`application is configured to display a second graphical user
`interface in the second display region, Such that the second
`graphical user interface includes a second user interface ele
`ment corresponding to the first user interface element.
`
`
`
`Desktop
`)
`
`View Hotkeys Profiles Preferences Help
`Welcome
`Display Manager
`
`Sidebar
`
`Gadget
`Interface
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 1 of 17
`
`

`

`Patent Application Publication May 29, 2008 Sheet 1 of 7
`
`US 2008/O126958A1
`
`10
`
`
`
`CPU
`12
`
`Memory
`16
`
`
`
`PrOCeSSOr
`14
`
`FIG. 1
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 2 of 17
`
`

`

`Patent Application Publication May 29, 2008 Sheet 2 of 7
`
`US 2008/O126958A1
`
`
`
`Desktop
`
`Sidebar
`
`Gy All SerWer
`pplication
`N
`
`Gadget
`Interface
`
`36B
`Gadget
`Interface
`
`FIG. 2
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 3 of 17
`
`

`

`Patent Application Publication May 29, 2008 Sheet 3 of 7
`
`US 2008/O126958A1
`
`System Server
`40
`
`User Interface
`Configuration
`Application
`38
`
`Create Modify
`
`SerWer
`Applation
`
`
`
`
`
`Manager
`Appletion
`
`
`
`Gadget
`Interface
`36B
`
`FIG 3
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 4 of 17
`
`

`

`Patent Application Publication May 29, 2008 Sheet 4 of 7
`
`US 2008/O126958A1
`
`S42
`Display first GUI. Of Server application 1
`
`Provide client application for
`presenting Second GUI of Server
`application in designated display region
`
`S44
`-
`
`Monitor user interaction With first GUI S45
`
`Select UIE from first GUI for display in S46
`designated display region
`
`Configure client application to display S48
`Corresponding UIE in designated display
`region
`
`FIG. 4
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 5 of 17
`
`

`

`Patent Application Publication May 29, 2008 Sheet 5 of 7
`
`US 2008/O126958A1
`
`
`
`Desktop
`28
`)
`
`30
`GUI for SerWer
`Application
`
`Sidebar
`32
`)
`
`Gadget
`Interface
`
`F.G. 5
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 6 of 17
`
`

`

`Patent Application Publication May 29, 2008 Sheet 6 of 7
`
`US 2008/O126958A1
`
`
`
`Desktop
`
`2.
`
`View Hotkeys Profiles Preferences Help
`Welcome
`Display Manager
`
`Sidebar
`
`s
`
`Gadget
`Interface
`
`FIG. 6
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 7 of 17
`
`

`

`Patent Application Publication May 29, 2008 Sheet 7 of 7
`
`US 2008/O126958A1
`
`
`
`Desktop
`28
`
`Sidebar
`32
`
`Gadget
`Interface
`
`FIG. 7
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 8 of 17
`
`

`

`US 2008/O 126958 A1
`
`May 29, 2008
`
`ADDING GRAPHICAL USER INTERFACE TO
`DISPLAY
`
`FIELD OF THE INVENTION
`
`0001. The present invention relates to computing, and par
`ticularly to methods and devices for adding a graphical user
`interface to a display region on a computer display.
`
`BACKGROUND OF THE INVENTION
`
`0002 Graphical user interfaces (GUIs) have become stan
`dard Software user interfaces. Most end-user applications
`now interact with a user by way of a GUI, hosted by a GUI
`operating system, such as Windows, the Mac OS, or the like,
`directly or by way of an application called a “window man
`ager, that controls the placement and interaction of GUI
`windows. GUIs may be arranged in different display regions
`of a user Screen. For example, a conventional window, form
`ing part of, or defining, an application GUI, may appear
`anywhere on the screen. Such windows may be tiled, or
`cascaded.
`0003. Many operating systems (or window managers) set
`aside designated regions, to present GUIs that a user wishes to
`frequently interact with. Sidebars, for example, are used to
`provide a designated area or region on a computer desktop,
`for providing instant ready access to GUIs displayed in the
`sidebar, without cluttering the work space on the desktop.
`Sidebars are usually positioned to the side of the desktop, but
`may be positioned or moved elsewhere.
`0004 For example, the Windows VistaTM operating sys
`tem provides a component known as Windows SidebarTM.
`The Windows Sidebar is a pane on the side of the Windows
`Vista desktop that organizes interfaces to Smaller applications
`referred to as "Gadgets” and makes these interfaces easy to
`access. Gadgets generally are described in Microsoft Sidebar
`for Windows Vista Beta 2 Gadget Development Overview,
`Microsoft Windows White Paper, Brian Teutsch, Published on
`May 22, 2006, the contents of which are hereby incorporated
`herein by reference.
`0005 Generally, gadgets are “mini-applications” that
`include a graphical user interface that presents information
`and allows user interaction in a pre-defined region of the
`display, referred to as a sidebar. Conveniently, underlying
`gadget program logic and associated gadget may be pro
`grammed using a scripting language, such as HTML, and
`may make a variety of application program interface (API)
`calls in order to interact with the operating system, and other
`applications. Gadgets are managed by a sidebar application,
`that controls their execution. Gadgets may be used for a wide
`variety of possible purposes. For example, a gadget interface
`may present a clock, a control panel, a news-feeder, a tickler,
`or the like. During use, a user may select the gadget applica
`tion(s) whose interface(s) is or are to be displayed in the
`Sidebar from a list of available gadget applications provided
`by the Sidebar. The selection is made through a dialog win
`dow called the Gadget Dialog.
`0006 Conventionally, the gadgets for displaying the gad
`get interfaces need to be pre-installed, either in the Vista
`operating system or in a designated directory. For example, to
`make an additional gadget available for selection, code for the
`corresponding gadget has to be stored in the designated direc
`tory, which the Sidebar application will search when creating
`
`the list of available gadget applications. Typically, unless a
`gadget's name appears in the list, its interface cannot be
`displayed in the Sidebar.
`0007. A somewhat similar application is provided by the
`Mac OS X, and is referred to as the Dashboard TM. The Dash
`board is detailed in Beginning Mac OS X Tiger Dashboard
`Widget Development, Fred Terry, July 2006, Wrox, the con
`tents of which are also incorporated herein by reference.
`0008. However, the conventional software and method of
`configuring Such a user interface presented by mini-applica
`tion in a designated region of the display, and adding interface
`elements thereto have some drawbacks. For instance, the
`conventional Sidebar application is not convenient to use in
`Some aspects. Specifically, the user can only display user
`interfaces of gadgets selected from the gadget list. However,
`the user may not know the name of the gadgethe or she wishes
`to display; may not know what the associated user interface
`looks like before it is displayed; and may not know which
`gadget to display for a certain purpose.
`0009. The gadgets available for user selection are also
`limited and it is difficult or cumbersome for an average user to
`add a new gadget application that the user wishes to have.
`Further, the average user typically cannot flexibly modify the
`user interface of a gadget as desired, to add or delete elements
`from the interface.
`0010. Accordingly, there is a need for improved methods
`and devices in which user interfaces, such as those presented
`by gadgets, can be conveniently added to a designated display
`region.
`
`SUMMARY OF THE INVENTION
`0011. In a first aspect of the present invention there is
`provided a method of operating a computer. A first graphical
`user interface of a server application is displayed in a first
`display region, which has user interface elements for present
`ing output from the server application and receiving runtime
`user input to the server application. A second display region is
`provided in which graphical user interfaces are presented.
`The second display region has a defined location. In response
`to user interaction with the first graphical user interface, a first
`user interface element is selected from the first graphical user
`interface. The first user interface element presents a type of
`output from the server application or receiving a type of input
`to the server application. Further, a client application is con
`figured to display a second graphical user interface in the
`second display region, such that it includes a second user
`interface element for presenting the type of output from the
`server application or receiving the type of input to the server
`application. Each of the first and second user interface ele
`ments may both present the type of output and receive the type
`of input. The second display region may be a sidebar region
`and presentation of graphical user interfaces in the sidebar
`region may be controlled by a manager application such as a
`sidebar application. User interaction with the first graphical
`user interface may comprise selection of the first user inter
`face element, effected by a user placing a pointer on the first
`user interface element. User interaction with the first graphi
`cal user interface may be effected by a user opening a menu
`associated with the first graphical user interface, and selecting
`a menu item from the menu for sending or exporting the first
`user interface element to the second display region. User
`interaction with the first graphical user interface may be
`effected by a user dragging-and-dropping the first interface
`element into the second display region, or by a user dragging
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 9 of 17
`
`

`

`US 2008/O 126958 A1
`
`May 29, 2008
`
`and-dropping an existing user interface in the second display
`region onto the first user interface element. A user interface
`configuration application for configuring the client applica
`tion may be provided, which may create a script file for
`configuring the client application, and cause the Script file to
`be executed so as to display the second user interface in the
`second display region. Descriptor data describing the type of
`output or input may be communicated to at least one of the
`client application or the user interface configuration applica
`tion. The descriptor data may be communicated from the
`server application or a system server. Any communication
`may be through inter-process communication (IPC). The
`inter-process communication may be compliant with one or
`more of common object request broker architecture
`(CORBA), distributed computing environment (DCE), Java
`Remote Method Invocation (Java RMI), object linking and
`embedding (OLE), component object model (COM), distrib
`uted component object model (DCOM), Windows .Net
`framework, Internet Information Services (IIS), and Win
`dows communication foundation (WCF) framework. The
`communicated data may be compliant with one or more of a
`hyper text transfer protocol (HTTP), an extended mark-up
`language (XML), an XML schema definition (XSD), a web
`service definition language (WDSL), and a Java program
`ming language. At least one of the type of input and the type
`of output may comprise one or more of data types selected
`from numerical ranges, character strings, integer ranges,
`named item sets, Boolean sets, read-only data, and binary
`status indicators. At least one of the first and second user
`interface elements may comprise one or more of buttons,
`boxes, bars, menus, data entry fields, lists, graphs, and tickers
`for presenting the type of output or receiving the type of input.
`0012. In accordance with another aspect of the present
`invention, there is provided a method of operating a computer.
`The method comprises, in response to user interaction with a
`first graphical user interface for communication with a server
`application, the first graphical user interface displayed in a
`first display region and comprising a plurality of user inter
`face elements for presenting output from the server applica
`tion and receiving runtime user input to the server application,
`the user interaction causing a first user interface element
`being selected from the first graphical user interface, the first
`user interface element presenting a type of output from the
`server application or receiving a type of input to the server
`application, displaying a second graphical user interface, in a
`second display region having a defined location, Such that the
`second graphical user interface comprises a second user inter
`face element for presenting the type of output from the server
`application or receiving the type of input to the server appli
`cation.
`0013. In another aspect of the present invention, there is
`provided a computer comprising a display, a processor and a
`computer readable medium storing thereon computer execut
`able code. The computer executable code when executed on
`the processor causes the processor to perform one or more of
`the methods described above.
`0014. In a further aspect of the present invention, there is
`provided a computer readable medium storing thereon com
`puter executable code, the computer executable code when
`executed on a computer causing a processor of the computer
`to perform one or more of the methods described above.
`0015. Other aspects and features of the present invention
`will become apparent to those of ordinary skill in the art upon
`
`review of the following description of specific embodiments
`of the invention in conjunction with the accompanying fig
`ures and tables.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0016. In the figures, which illustrate, by way of example
`only, embodiments of the present invention,
`0017 FIG. 1 is a schematic view of a computer system
`having a display;
`(0018 FIG. 2 is a schematic view of the display of FIG. 1
`during use;
`0019 FIG. 3 is a block diagram showing the inter-rela
`tions among various components related to displaying user
`interfaces in a sidebar,
`0020 FIG. 4 is flowchart for a method of providing a user
`interface in the sidebar of the display of FIG. 2;
`0021
`FIG. 5 is an exemplary screenshot of the display of
`FIG. 1 during use:
`0022 FIG. 6 is another exemplary screenshot of the dis
`play of FIG. 1 during use; and
`0023 FIG. 7 is further exemplary screenshot of the display
`of FIG. 1 during use.
`
`DETAILED DESCRIPTION
`0024 FIG. 1 illustrates computer 10, exemplary of an
`embodiment of the present invention.
`0025 Computer 10 includes a central processing unit 12,
`which includes a processor 14, in communication with a
`memory 16 and input/output (I/O) 18. Computer 10 may
`optionally communicate with a network (not shown) or
`another device (not shown). Computer 10 has a display
`device, such as monitor 20, in communication with I/O 18.
`Computer 10 may also have one or more input devices such as
`keyboard 22 and mouse 24, in communication with I/O 18. A
`removable memory storage medium such as disk 26 may be
`provided and is accessible through I/O 18 by the CPU 12. As
`illustrated, a desktop window 28 may be displayed on moni
`tor 20.
`0026. Processor 14 can be any suitable processor includ
`ing microprocessors, as can be understood by persons skilled
`in the art. Processor 14 may include one or more processors
`for processing data and computer executable codes or instruc
`tions.
`0027 Memory 16 may include a primary memory readily
`accessible by processor 14 at runtime. The primary memory
`may typically include a random access memory (RAM) and
`may only need to store data at runtime. Memory 16 may also
`include a secondary memory, which may be a persistent Stor
`age memory for storing data permanently, typically in the
`form of electronic files. The secondary memory may also be
`used for other purposes known to persons skilled in the art.
`Memory 16 can include one or more computer readable
`media. For example, memory 16 may be an electronic storage
`including a computer readable medium for storing electronic
`data including computer executable codes. The computer
`readable medium can be any suitable medium accessible by a
`computer, as can be understood by a person skilled in the art.
`A computer readable medium may be either removable or
`non-removable, either Volatile or non-volatile, including any
`magnetic storage, optical storage, or Solid state storage
`devices, or any other medium which can embody the desired
`data including computer executable instructions and can be
`accessed, either locally or remotely, by a computer or com
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 10 of 17
`
`

`

`US 2008/O 126958 A1
`
`May 29, 2008
`
`puting device. Any combination of the above is also included
`in the scope of computer readable medium. Disk 26 may form
`a part of memory 16. Memory 16 may store computer execut
`able instructions for operating computer 10 in the form of
`program code, as will be further described below. Memory 16
`may also store data such as operational data, image data, input
`data, and output data.
`0028 I/O 18 may include any suitable combination of
`input and output devices. I/O 18 may be integrated or pro
`vided on separated components, and may be in communica
`tion with any number of input and output devices. The input
`devices may include a device for receiving user input Such as
`user command or for receiving data. Example user input
`devices may include a keyboard, amouse, a disk drive/disk, a
`network communication device, a microphone, a Scanner, a
`camera, and the like. Input devices may also include sensors,
`detectors, or imaging devices. The output devices may
`include a display device such as a monitor for displaying
`output data to a user, a printer for printing output data, a
`communication device for communicating output data to
`another computer or device, and the like, as can be understood
`by persons skilled in the art. The output devices may also
`include other devices such as a computer Writable medium
`and the device for writing to the medium. An input or output
`device can be locally or remotely connected to CPU12, either
`physically or in terms of communication connection.
`0029. It will be understood by those of ordinary skill in the
`art that computer 10 may also include other, either necessary
`or optional, components not shown in the FIG. 1.
`0030 The hardware in computer system 10 may be manu
`factured and configured in any Suitable manner, as will be
`understood by one skilled in the art.
`0031 Memory 16 or disk 26 may store thereon computer
`executable code, including instructions which, when
`executed by processor 12, can cause computer 10 to perform
`as described below. Suitable software incorporating the code
`may be readily developed and implemented by persons
`skilled in the art, in manners that will become apparent.
`0032. A method of operating computer 10, exemplary of
`an embodiment of the present invention, is described next
`with reference to FIGS. 2 to 7.
`0033 FIG. 2 is an exemplary screen shot of the desktop 28.
`As can be seen, desktop 10 includes a graphical user interface
`(GUI) 30 and a designated display region 32.
`0034 GUI 30 is displayed in a display region different
`from the designated display region 32 and includes a number
`ofuser interface elements (UIE) such as UIE 34 for providing
`an interface between a user (not shown) and a server applica
`tion 37 (not shown but see FIG. 3). The UIEs may present
`output from server application 37 and receive user input,
`particularly runtime user input, to server application 37.
`0035. In the depicted embodiment, display region 32 is
`managed by a manager application 39 (not shown but see
`FIG.3). In the depicted embodiment, manager application 39
`may be the Windows Vista Sidebar application. In other
`embodiments, manager application 39 may be formed as the
`Dashboard manager of the Mac OS X.
`0036) As can be understood, GUI 30 may be selectively
`displayed and may include one or more conventional UIES,
`such as widgets or UI controls. Each UIE may hold data and
`present an interface of the associated end-user application. A
`UIE may refer to any graphical component in a graphical user
`interface (GUI) and may be associated with one of both of
`input and output semantics.
`
`0037 GUI 30 may be created using object oriented pro
`gramming technique. UIES may be defined by objects (UIE
`objects) that are children of an object defining GUI 30.
`Objects may hold both code and data, and may provide an
`input oran output object, or both. For example, a UIE may be
`presented in the form of a window or sub-window with a
`particular appearance and behaviour. Each UIE may contain
`one or more UI controls, enabling user interaction or input,
`Such as to initiate an action, display information, or set values.
`A control may be a graphic object that represents operations
`or properties of another object, application or process. For
`example, a UIE object may include a window, a graphical
`element or a collection of graphical elements such as buttons
`including radio buttons, pushbuttons and the like, bars includ
`ing slider bars, menu bars, title bars, scroll bars and the like,
`boxes including text boxes, check boxes, combo boxes, spin
`boxes and the like, lists including drop-down lists, scrolling
`lists and the like, menus including popup menus, dropdown
`menus, cascade menus and the like, tickers, data entry fields,
`or any and all other paraphernalia that a window can have or
`contain.
`0038 A UIE object may belong to an object class and may
`implement procedures through its class structure. A UIE
`object may provide a combination of state(s) and procedure
`(s). Each UIE may be a member of a class, which holds the
`procedures and data structures common to all UIEs of that
`class. An instance of the class may hold the procedures and
`data structures particular to that single instance. Each UIE
`class may provide the general behaviour associated with a
`particular kind of interaction with the user, such as input or
`output behaviour. UIES Such as widgets and controls are
`commonly used in computing and can be readily constructed
`by those skilled in the art. The different UIEs forming GUI 30
`may be displayed at the same time or at different times,
`depending on the particular application and user selection or
`preference.
`0039. One or more graphical user interfaces, such as gad
`get interfaces 36A and 36B (also individually and collectively
`referred to as gadget interface or interfaces 36), are specifi
`cally presented in designated display region 32. Designated
`display region 32 typically has a pre-defined location on one
`desktop (or on an extended desktop). Such as on the side of a
`display screen, as shown. In a different embodiment, region
`32 may be replaced with any designated display region or area
`wherein one or more graphical user interfaces are only dis
`played on the occurrence of certain events. For example, the
`MacOS X Dashboard similarly presents graphical user inter
`faces, on an overlay that occupies the entire Screen upon user
`interaction with an icon.
`0040 Region 32 may be positioned on the side of a display
`as shown or at another convenient location. Region32 may be
`positioned to avoid cluttering the work space in desktop win
`dow 28. Region 32 may also be positioned to avoid blocking
`other application windows displayed in desktop window 28.
`As can be appreciated, Region 32 may have various sizes,
`shapes, or locations. Region 32 may be resizable or re-locat
`able. In some embodiments, region 32 or any user interface
`displayed therein may be selectively hidden from view or
`activated at user's choice. Region 32 may be expandable Such
`as when a user clicks on a particular gadget interface to have
`an expanded view of the gadget interface.
`0041. A user interface 36 such as gadget interface 36B
`may provide instant access by a user. While only two user
`interfaces are displayed in region 32, it should be understood
`
`UNIFIED PATENTS EXHIBIT 1037
`UNIFIED PATENTS, LLC v. MEMORYWEB, LLC
`IPR2021-01413
`Page 11 of 17
`
`

`

`US 2008/O 126958 A1
`
`May 29, 2008
`
`that a different number of gadget interfaces may be displayed.
`A gadget interface may include one or more UIES, as can be
`understood by a person skilled in the art. For example, a
`gadget interface 36B may display a clock, a control panel, a
`news-feeder, a ticker, an email viewer, or the like. The exact
`format of the gadget interface may be defined using HTML or
`a similar scripting language as detailed in Microsoft Sidebar
`for Windows Vista Beta 2 Gadget Development Overview,
`Supra. A displayed gadget interface may be associated with an
`underlying script or program object which performs certain
`computing functions.
`0042. In the depicted embodiment, user interfaces 36 are
`graphical interfaces of gadgets. However, in other embodi
`ments, user interfaces 36 could be GUIs for other applications
`or components of applications which a user may wish to have
`ready access during use.
`0043 Conventionally, a gadget interface 36 is added by
`adding a gadget for management by manager application 39.
`In manners exemplary of embodiments of the present inven
`tion, a user interface 36, Such as gadget interface 36B, may be
`added at runtime as described and illustrated with reference to
`FIGS. 3 and 4.
`0044 FIG. 3 schematically illustrates the various com
`puter applications that may be involved in an exemplary pro
`cess of adding a graphical user interface in a designated
`display region 32, and their interrelations with each other and
`with the displayed objects shown in FIG. 2. The applications
`include server application 37, user interface configuration
`application 38, manager application 39, an optional system
`server 40, and a gadget (or gadgets) 41.
`0045. As illustrated, a UIE 34 is associated with GUI 30 of
`server application 37 for interfacing server application 37
`with a user. Server application 37 may be any suitable appli
`cation executing on computer 10.
`0046. In the depicted embodiment, server application 37
`and gadget 41 have a server-client relationship with each
`other, in that data from server application 37 is provided to
`gadget 41, and interaction with the gadget interface of gadget
`41 may provide data to server application37. Thus, gadget 41
`may be considered a client application with respect to server
`application37. For example, server application 37 may be the
`Catalyst Control Center (CCC) developed by ATITM Tech
`nologies Inc., and gadget 41 may agadget designed to provide
`a user interface for the CCC.
`0047 GUI 30 includes UIE 34 may be an interface for any
`component, part, feature or aspect of server application 37.
`0048 User interface configuration application 38 may
`communicate with one or both of system server 40 and server
`application 37. User interface configuration application 38
`may take the form of an application Suitable for creating or
`configuring user interfaces Such as gadgets, exemplary of an
`embodiment of the present invention. In one embodiment,
`user interface configuration application 38 may be executing
`in the background. User interface configuration application
`38 may communicate directly or indirectly with server appli
`cation37 and manager application39. User interface configu
`ration application 38 may also communicate with system
`server 40. User interface configuration application 38 may
`listen for requests of adding user interfaces to desktop 28, and
`more particularly to region 32, for example, originating with
`server application37. On requests from server application37.
`system server 40, or another application, user interface con
`figuration application 38 may dynamically configure a client
`application, Such as a gadget, and cause the display of addi
`
`tional or modified UIES, that may be added to region 32, as
`will be further described below.
`0049 Manager application 39 manages the presentation of
`user interfaces in region 32. Manager application 39 may be
`in communication with user interface configuration applica
`tion 38 and system server 40. Exemplary manager application
`39 may take the form of the Windows Sidebar, the GoogleTM
`Desktop Sidebar, the Mac OS X Dashboard application, or
`the like. In the literature and herein, the term “sidebar” is
`sometimes used to refer to one or both of the physical display
`area and the underlying application or the associated program
`code, depending on the context. Manager application 39 may
`present the list of available gadgets that may be presented for
`user selection, and the associated gadget interface may be
`displayed.
`0050 System server 40 provides inter process/application
`communication to applications running on computer 10. For
`example, System server 40 may serve as a data server. In one
`embodiment, system server 40 may include a Catalyst Con
`trol Center Runtime data server (CCC Runtime). The CCC
`runtime may be compliant with the .Net framework or another
`Suitable communication framework Such as Internet Informa
`tion Services (IIS). System server 40 may communicate with
`one or more of applications 37,38, and 39 and gadget 41.
`0051 Communication between the applications operating
`on computer 10 may be provided according to any Suitable
`inter-process communication (IPC) protocol by way of Suit
`able API. For example, the Microsoft .Net remoting API may
`be used under the .Net framework to facilitate communica
`tion between different applications. .NET Remoting is an
`enabler for application communication. It is a generic system
`for different applications to use to communicate with one
`another. .NET objects are exposed to remote processes, thus
`allowing inter-process communication. The applications can
`be located on the same computer, different computers on the
`same network, or even computers across separate networks.
`As can be understood, with a .Net Remoting API, and the
`assistance of an operating system and network agents, a client
`process can send a message to server 40 and receive a reply.
`Thus, two separate client processes may communicate with
`each other through the server 40, using the .Net Remoting
`technique.
`0052. Other IPC APIs, standards, architectures, or frame
`works may also be used for communication between different
`applications or processes, which include Object Linking and
`Embedding (OLE), Component Object Model (COM). Dis
`tributed Component Object Model (DCOM), ActiveX, Win
`dows Communication Foundation (WCF), Common Object
`Request Broker Architecture (CORBA), Distributed Com
`puting Environment (DCE), Java Remote Method Invocation
`(Java RMI), IIS, and the like.
`0053 Communication, Such as data communication, que
`ries and function calls between different applications
`domains/servers, may be implemented in any suitable man
`ner. For instance, the HyperText Transfer Protocol (HTTP)
`may be used. Other functionalities and techniques may also
`be implemented. For example, one or more of the Object
`Linking and Embedding (OLE) functionalities, Component
`Object Model (COM) serve

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket