COPYRIGHT AUTHORIZATIONA portion of the disclosure of the patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
FIELDThe present invention relates to the presentation of information to a user. In particular, some embodiments are associated with an integrated display of information to a user.
BACKGROUNDA user may view information from a number of different sources. For example,FIG. 1 is a block diagram overview of aninformation environment100 wherein auser display120 receives information from a number of different and/ordisparate data systems110. Thedata systems110 might comprise, for example, remote information applications that transmit data through a computer network (e.g., a stream of stock prices or batches of news articles). Theuser display120 might comprise, for example, a computer monitor.
To display data to the user, a number of different applications might be running at a user device, and each application can be associated with different screens and/or display windows. For example, a user might start a first program that displays stock prices and position a first display associated with the first program on his or her desktop. The user could then start a second program that displays news articles and position a second display associated with the second program on his or her desktop (e.g., along side the first display of stock prices). In this way, a user can manually configure theuser display120. Such an approach, however, can consume a considerable amount of time (especially when a user needs to constantly re-arrange the user display120).
Moreover, some or all of the data on theuser display120 may depend on a specific context associated with the information. For example, a user might be interested in the price of a particular stock, or group of stocks. Similarly, the user might be interested in viewing news articles associated with a particular company or industry. In some cases, a user can enter context information into each application running at theuser display120. For example, the user might enter “MSFT” into a program that displays stock prices and “microsoft” into a program that displays news articles. This manual approach, however, can also be time consuming. Moreover, the approach can lead to errors (e.g., a user might incorrectly enter “microseft” into an application and, as a result, not receive news articles associated with Microsoft Corp.
Another disadvantages withtypical user displays120 is that it can be expensive to create the systems required to support a number ofdisparate data systems110. This can be especially true when there are a substantially number of users and/or a substantial number of data systems110 (and various combinations of those systems110). Moreover, it can be difficult to update and maintain those systems (e.g., when adata system110 alters the way it transmits information or anew data system110 is added to a user display120).
SUMMARYTo alleviate problems inherent in the prior art, the present invention introduces systems and methods to provide an integrated display of information to a user.
In some embodiments of the present invention, a first service and a second service may be registered with a registry. The information stored in the registry might include, for example, indications that the first and/or second services are to receive data from disparate remote sources. According to some embodiments, placement information is received from a user to lay out the first and second services within a pane of an application. Moreover, information from the remote sources may be displayed to the user within the pane.
According to some embodiments, placement information is received from a user via a contact information application. The placement information may, for example, lay out a first and second display area, the first display area being associated with a first service to receive data from a first remote source and the second display area being associated with a second service to receive data from a second remote source. Data from the first and second remote sources may then be displayed to the user via the contact information application.
According to another embodiment, first and second services are established to receive data from remote, independent sources. Placement information may be received from a user to lay out the services within a pane of a host application. Context information associated with a service may then be dynamically determined context information, and information associated with the context information may be displayed to the user within the pane.
Some other embodiments comprise: means for registering, with a registry, a first service including an indication that the first service is to receive data from a first remote source; means for registering, with the registry, a second service including an indication that the second service is to receive data from a second remote source, the second remote source being independent of the first remote source; means for receiving, from a user, placement information laying out the first and second services within a pane of an application; means for registering, with the registry, information associated with the pane including layout information; and means for displaying to the user information from the first and second remote sources within the pane.
Still other embodiments comprise: means for receiving from a user, via a contact information application, placement information laying out a first and second display area, the first display area being associated with a first service to receive data from a first remote source and the second display area being associated with a second service to receive data from a second remote source; and means for displaying to the user data from the first and second remote sources via the contact information application.
Yet other embodiments comprise: means for establishing a first service to receive data from a first remote source; means for establishing a second service to receive data from a second remote source, the second remote source being independent of the first remote source; means for receiving, from a user, placement information laying out the first and second services within a pane of a host application; means for dynamically determining context information associated with the first service; and means for displaying to the user information from the first and second remote sources within the pane, wherein the information from the first remote source is associated with the context information.
With these and other advantages and features of the invention that will become hereinafter apparent, the invention may be more clearly understood by reference to the following detailed description of the invention, the appended claims, and the drawings attached herein.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram overview of an information environment.
FIGS. 2A and 2B are block diagram overviews of systems according to some embodiments of the present invention.
FIG. 3 is a flow chart of a method of according to some embodiments of the present invention.
FIG. 4 illustrates a display according to some embodiments of the present invention.
FIGS. 5 and 6 are examples of displays according to some embodiments of the present invention.
FIG. 7 is a block diagram overview of a system including a remote display management server according to another embodiment of the present invention.
FIG. 8 is a flow chart of a method associated with a contact management application according to some embodiments of the present invention.
FIG. 9 is a flow chart of a method of passing context information according to another embodiment of the present invention.
FIG. 10 is a block diagram of an apparatus according to some embodiments of the present invention.
FIG. 11 is a tabular representation of a database according to one embodiment of the present invention.
DETAILED DESCRIPTIONFIG. 2A is a block diagram overview of asystem200 according to some embodiments of the present invention. In particular, afirst data source210 and a second data source220 (e.g., sources that include or are associated with information databases) may transmit information via acommunication network230. As used herein, the phrase “communication network” may refer to, by way of example only, a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a proprietary network, a wireless network, an Ethernet network, and/or an Internet Protocol (IP) network such as the Internet, an intranet, and/or an extranet. Thedata sources210,220 may be associated with, for example, Internet servers and/or proprietary data systems. Examples ofdata sources210,220 might include, for example, the REUTERS KNOWLEDGE® or REUTERS PLUS® information services.
Auser device240 may receive the information from thedata sources210,220. Theuser device240 might comprise, for example, a Personal Computer (PC), a Personal Digital Assistant (PDA), a mobile computer, and/or a wireless device. Although asingle user device240 is illustrated inFIG. 2A, any number ofuser devices240 could be provided.
According to some embodiments of the present invention, theuser device240 may include an Operating System (OS)250, such as MICROSOFT WINDOWS®, and ahost application260, such as the MICROSOFT OFFICE OUTLOOK® contact information application. Note that theparticular OS250 andhost application260 are provided only as examples and embodiments may be practice with adifferent OS250 orhost application260. For example, the LOTUS® contact information application may instead be used at theuser device240.
Consider, for example,FIG. 2B which illustrates thesystem200 wherein theuser device240 is executing a contact information application (e.g., MICROSOFT OFFICE OUTLOOK®). In this case, disparate services may be registered locally in the user device's system registry. Moreover, one or more custom contact forms may be locally saved at theuser vice device240 along with layout and/or display management information.
Theuser device240 may be adapted to provide an integrated, context passing information display to a user. For example,FIG. 3 is a flow chart of a method of according to some embodiments of the present invention. The flow charts described herein do not imply a fixed order to the steps, and embodiments of the present invention may be practiced in any order that is practicable.
At302, a first “service” may be registered with a registry. As used herein, the term “service” might refer to, for example, a Web service, an applet, an Active X service, a chart, a graph, or any other type of component that may provide data. Referring toFIG. 2A, a first service might be registered with theregistry252 of theOS250 executing at theuser device240. The registered information might include an indication that the first service is to receive data from the firstremote data source210. According to some embodiments, the registration information associated with the first service further includes an indication that the first service is to publish data (e.g., is able to provide data to other services and/or applications).
Similarly, a second service may be registered with theregistry252 at304, including an indication that the second service is to receive data from the secondremote data source220. Note that the secondremote data source220 may be independent of the first remote data source210 (e.g., they may be owned or operated by different entities and/or be located remote from each other).
At306, placement information may be received from a user. The placement information may, for example, lay out the first and second services within a pane of an application. Referring toFIG. 2A, a Graphical User Interface (GUI)tool bar262 add-on or plug-in to thehost application260 may be used to provide the placement information. Consider, for example,FIG. 4 which illustrates adisplay400 according to some embodiments of the present invention. In this case, a user might select to “add a service” or to “layout services” (e.g., by re-sizing or re locating a service) within apane410 of a host application. According to some embodiments, at308 information associated with thepane410, including layout information, may also be registered with theregistry252.
At310, information from the first and secondremote data sources210,220 may be displayed to the user within thepane410 of thehost application260. Consider, by way of example only,FIG. 5 which illustrates adisplay500 wherein the host system is associated with MICROSOFT OUTLOOK®. In this case, information associated with various remote data sources might be displayed to a user as a set of tables, lists, and/or charts within a MICROSOFT OUTLOOK® display pane (on a page labeled “Assets” inFIG. 5). Similarly, other types of charts and lists are illustrated by thedisplay600 ofFIG. 6 (which includes a MICROSOFT OUTLOOK® display pane on a page labeled “Market Data”).
According to some embodiments, the registration information (e.g., associated with services and/or display panes) is locally stored in theregistry252 at theuser device240. According to other embodiments, the registry may be stored at a remote server such that the information associated with the pane is to be available to a plurality of user devices within an enterprise. For example,FIG. 7 is a block diagram overview of asystem700 according to such an embodiment. As before, afirst data source710 and asecond data source720 may transmit information via acommunication network730. Moreover, a plurality ofuser devices740 may receive the information from thedata sources710,720. Note that eachuser device740 may execute a contact information application (e.g., MICROSOFT OFFICE OUTLOOK®).
According to this embodiment, theuser devices740 interact with anexchange server750 and a remotedisplay management server760 that stores aregistry762. Theexchange server750 may, for example, facilitate storage of MICROSOFT OFFICE OUTLOOK® forms in an organizational library by role (e.g., a user's function within an enterprise). Moreover, when a service is to be registered, the registration information is stored in the remote registry762 (e.g., including the methods and properties associated with the service). Thedisplay management server760 may register disparate services and/or manage layouts in accordance with a standard interactive and programming language for getting information from and updating a database, such as a Structured Query Language (SQL).
In this way, information associated with a plurality of panes and/oruser devices740 can be stored at theregistry762. For example, a one type of pane might be appropriate for an employee who works in a human resources department while a another type of pane is more appropriate for an employee who works as a broker (e.g., due to differences in workflow and/or business processes). In this case, an appropriate pane may be selected for a user device based on his or her role in an enterprise.
FIG. 8 is a flow chart of a method of according to some embodiments of the present invention. According to these embodiments, at802 layout information is received from a user via a contact information application (e.g., facilitated using a tool bar add-in to MICROSOFT OUTLOOK). The received information might, for example, lay out a first and second display area (the first display area being associated with a first service to receive data from a first remote source and the second display area being associated with a second service to receive data from a second remote source).
At804, data from the first and second remote sources is displayed to a user via the contact information application. For example, the information might be displayed via a display pane of the contact information application. By using the contact information application to receive about and/or to display information through an integrated display, the existing infrastructure associated with the contact information application can be efficiently utilized (and the amount of separate display management structure required may be reduced).
FIG. 9 is a flow chart of a method of according to another embodiment of the present invention. At902, a first service to receive data from a first remote source is established. Similarly, at904 a second service to receive data from a second remote source is established, the second remote source being independent of the first remote source. At904, placement information is received from a user to lay out the first and second services within a pane of a host application. Information about the services and/or the pane may be stored, for example, at a local registry and/or at a remote, enterprise-wide server.
At908, context information associated with the first service is dynamically determined. Information from the first and second remote sources may then be displayed to the user at910 within the pane. Note that the information from the first and/or second remote sources may be associated with the context information. The context information may come from, for example, a host application. Consider, for example, MICROSOFT OUTLOOK as a host application. In this case, a “business address” (which is typically stored by MICROSOFT OUTLOOK) may be context information that is needed by a service (e.g., the service might automatically display tax information based on the business address). In other cases, the context information may come from a user. For example, a user might type in a stock symbol, and a service might then display prices and trades associated with that stock. In still other cases, context information for one service may come from another service. For example, a service might “publish” information that can be consumed by other services (e.g., another service might chart or graph published data). In this way, context information and the associated layout of that information may facilitate a workflow process for a user.
FIG. 10 is anapparatus1000 according to some embodiments of the present invention. Theapparatus1000 may be associated with, for example, theuser device240 ofFIG. 2A and/or theuser device740 ofFIG. 7. Theuser device1000 includes aprocessor1010, such as one or more INTEL® Pentium® processors, coupled to acommunication device1020 configured to communicate via, for example, a communication channel or network. Thecommunication device1020 may be used to communicate, for example, with one or more remote data servers. Theprocessor1010 may also receive information via an input device1040 (e.g., a keyboard or computer mouse used to layout service information) and provide information via an output device1050 (e.g., a display monitor that displays service information).
Theprocessor1010 is also in communication with astorage device1030. Thestorage device1030 may comprise any appropriate information storage device, including combinations of magnetic storage devices (e.g., magnetic tape and hard disk drives), optical storage devices, and/or semiconductor memory devices such as Random Access Memory (RAM) devices and Read Only Memory (ROM) devices.
As shown inFIG. 10, thestorage device1030 also stores aprogram1015 that may store instructions to control the operation of theprocessor1010 in accordance with any of the embodiments described herein. For example, theprocessor1010 may register a first service and a second service with a registry. The information stored in the registry might include, for example, indications that the first and/or second services are to receive data from disparate remote sources. According to some embodiments, placement information is received from a user to lay out the first and second services within a pane of an application. Moreover, information from the remote sources may be displayed to the user within the pane.
According to some embodiments, thestorage device1030 further stores registry and/oruser database1100 such as the one illustrated inFIG. 11. The illustration and accompanying description of the database presented herein is exemplary, and any number of other database arrangements could be employed besides those suggested by the figures.
FIG. 11 is a tabular representation of the registry and/oruser database1100 according to one embodiment of the present invention. The table includes entries identifying services that may be activated by a user. The table also definesfields1102,1104,1106,1108 for each of the entries. The fields specify: aservice identifier1102, aservice status1104, inputs andoutputs1106, anduser roles1108. The information in the registry and/oruser database1100 might be created and updated, for example, by a user and/or an Information Technician (IT) employee of an enterprise.
Theservice identifier1102 may be, for example, an alphanumeric string that identifies a particular service that may be activated by a user (e.g., a web service, an applet, or a chart). Theservice status1104 may indicate whether each service in thedatabase1100 is active and, if so, where in a display pane the service should be located. The inputs andoutputs1106 may define for a service what types of data will be received by and/or published from that service. Theuser roles1108 may indicate, for example, which types of user will (or should) each service.
Thus, embodiments of the present invention may provide integrated, context-passing solutions to display information to user. Moreover, users may be able to integrate, send, and receive context across disparate services and other forms of interactive communication through computer networks. By exposing properties and methods associated with various services through a centralized management console, using an existing enterprise infrastructure, a more productive business process or workflow may be provided.
The following illustrates various additional embodiments of the present invention. These do not constitute a definition of all possible embodiments, and those skilled in the art will understand that the present invention is applicable to many other embodiments. Further, although the following embodiments are briefly described for clarity, those skilled in the art will understand how to make any changes, if necessary, to the above-described apparatus and methods to accommodate these and other embodiments and applications.
Although some embodiments have been described herein with respect to financial information, the present invention may be used in connection with any other type of information. For example, a display pane might display information associated with real estate prices, stocks and bonds, a sales application, customer service data, and/or news articles.
Moreover, the various systems provided herein are merely for illustration and embodiments may be associated with any type of network topologies and/or user display layouts.
The present invention has been described in terms of several embodiments solely for the purpose of illustration. Persons skilled in the art will recognize from this description that the invention is not limited to the embodiments described, but may be practiced with modifications and alterations limited only by the spirit and scope of the appended claims.