Abstract:
This invention relates to a computer-based method and apparatus for facilitating the retrieval, classification, and distribution of information. In one embodiment, a method for providing information relating to a topic comprises specifying a first and second topic, specifying a relationship between the two topics, receiving a first and second piece of information, associating the first piece of information with the first topic and the second piece of information with the second topic, requesting information associated with the first topic, and receiving the information associated with the first and second topics.

Description:
TECHNICAL FIELD  
       [0001]     This invention relates to computer-based methods and systems for retrieving, organizing, and distributing data and, more particularly, to computerized methods and systems for retrieving, organizing, and distributing financial research data.  
       BACKGROUND INFORMATION  
       [0002]     The data available to individuals and institutions that monitor the global financial markets is wide-ranging. Investment professionals who may be responsible for monitoring a particular company or industry sector may receive thousands of individual information items each day. Some of these information items may be in well-formatted and categorized formats from reliable and well-known sources such as financial statements filed with a stock exchange or the Securities and Exchange Commission, whereas other information items may be in the form of informal correspondence such as email or instant message, phone conversations, or face to face meetings. Furthermore, the application of numerous internet and communications technologies to the research and information publishing process over the last decade has increased the volume of data available for analysis and the speed at which it is delivered. Often, opportunities to take advantage of such information, or the investment opportunities based on such information, may exist for only minutes. Furthermore, the opportunity to act on information may not be concurrent with the arrival of the information itself. It is critical that investment professionals be able to monitor the numerous sources of information, discern pertinent information from irrelevant information, analyze it as quickly as possible and base decisions on the information as it arrives. Investment professionals must therefore be able analyze, in short periods of opportunity, historic information that is often difficult and time-consuming to recall or retrieve manually.  
         [0003]     In addition to being able to understand information relating to a primary investment of interest—e.g. data relating to a specific company or industry—an effective investment professional must also immediately understand and appreciate so-called “derivative influences.” Examples of derivative influences might include data about a company&#39;s industry, a competitor, a supplier, a geographic region, or any subject that is somehow “related” to a primary investment. However, expanding the universe of relevant data to include these derivative influences often exponentially increases the volume of data an investment professional must review. As a result, investment professionals also expend an increasing portion of their research efforts discovering and exploring the derivative influences on investments. As the breadth of derivative influences increases, the rate at which a single investment professional can retain and recall the relationships among various research sources falls behind the rate the research information is produced and delivered. Further complicating the process, when an investment professional receives information pertaining to a particular investment, there may be numerous other investments that are indirectly affected by the information. This universe of affected entities in which one can invest is constantly changing, as companies are bought and sold, enter new markets, and forge new partnerships.  
         [0004]     The same performance pressures apply to an investment firm as a whole. To be effective, all members of the firm must share information in real time, and allow individuals to rapidly sort and distribute the massive amounts of information available. At the same time, the fundamental research basis of a firm&#39;s investment decisions are coming under greater scrutiny, and heightening the need for a clear research audit trail.  
         [0005]     Therefore, to be effective, an investment professional must become increasingly productive with respect to the receipt, review, and recording of information such that he can adequately cover the investment.  
       SUMMARY OF THE INVENTION  
       [0006]     In general, the invention relates to computer based tools that allow investment professionals to associate information with a particular entity upon receipt, and to further facilitate the retrieval, update, and distribution of that information, either upon request or in real-time. Such tools allow investment professionals, who can be responsible for providing investment advice and/or making investment decisions, to identify and record the derivative influences affecting an investment through the use of an entity/relationship model where the entities represent any topic on which research can be conducted, and the relationships represent the influences the topics exert on one another. The investment professional can classify information according to one topic (which, for example, may be a legal entity, an industry, or other area of interest) and to define and modify relationships among numerous topics. The defined relationships allow an investment professional to query the system for information about one entity, and obtain in response “indirect” or “derivative” information associated with other entities that have defined relationships with the entity. The ability to receive, retrieve, and evaluate the data associated with the derivative topic may in turn give analysts an advantage in making investment decisions at any given time.  
         [0007]     Such tools can facilitate the easy capture, storage, retrieval, and distribution of the great variety of information available to investment professionals in its various forms (e.g. email, instant message, document, newswire release, etc.) without an analyst having to remember or determine all of the numerous companies, industries, or entities to which the information might pertain. Such a system allows a user to quickly assign an information item to a primary entity (or other topic), and to use centrally stored relationships among the entities and rules governing the use of the relationship to determine if there are additional entities may be affected by the information.  
         [0008]     Moreover, a system that stores the entities, the relationships, and the rules governing the use and creation of the relationships in a central database, while distributing access to view and modify the central entity/relationship model in real-time, can allow multiple users of the system to benefit from the combined knowledge and experience of all the current and previous users. In addition, if an individual analyst with specific knowledge were unavailable, the knowledge of the relationships between entities remains available to other users. Thus, relationships become institutional knowledge, and can be leveraged into productivity enhancements and a strategic advantage over other competing investment houses.  
         [0009]     While particularly useful for investment professionals, these collaborative research tools are not limited to that field, and can be used in many other areas with great advantage.  
         [0010]     In one aspect, a user of the system specifies a first topic, a second topic, and a relationship between the two topics. The user then receives first information, which he associates with the first topic, and second information, which he associates with the second topic. Further, he requests information relating to the second topic, and in response to that request, receives information associated with both the first topic and the second topic.  
         [0011]     A topic can be any sort of topic. In the investment context, the topic can be, for example, a company, an industry, an index, or a subject. The relationships between the topics can be unidirectional—e.g. from the first topic to the second topic or from the second topic to the first topic, or bi-directional—e.g. from the first topic to the second topic and from the second topic to the first topic. The relationship between the topics can be, for example, a legal relationship (e.g., parent-subsidiary, or licensor-licensee), or a business relationship (e.g., customer, supplier, distributor, competitor, or industry member/participant). A description of the relationship between the first topic and the second topic is provided. The information can be in any of a variety of forms, for example, in the form of electronic message, email, instant message, financial report, voicemail, web page, research report, press release, etc.  
         [0012]     In general, in another aspect, a first user of a first computer associates first information with a first topic. A second user of a second computer can modify the association defined by the first user. The second user can request information associated with the second topic, and in some embodiments, receive information associated with the first topic based on the relationship between the first and second topics. In some embodiments, a first user of a first computer specifies a relationship between the first topic and the second topic and a second user of a second computer can modify the relationship created by the first user. In some embodiments, the modifications can be sent to the first user asynchronously as the modifications are made, or upon request by the first user.  
         [0013]     In some embodiments, the user&#39;s computers communicate with a server computer over a network, the server storing the specified topics, relationships and information. The network could be any sort of network, including the Internet, an intranet, a local area network, and a wide area network.  
         [0014]     In general, in yet another aspect, the invention relates to systems for providing the tools just described. For example, one such system for presenting information comprises a topic definition module for defining topics, a relationship definition module for defining relationships, a receiver for receiving information, an information management module for associating the received information with at least one of the topics, an information retrieval module for, upon receiving a request for information associated with the one of the topics, retrieving information associated with one of the topics and information associated with a second topic that has a defined relationship with the one of the topics, and a display module for presenting the retrieved data. These modules can be implemented with computer software in conjunction with computer hardware (e.g., networked computers).  
         [0015]     The system can include a database module for storing one or more of the topics, the relationships, the information, and the association of information with topics. The system may also include a rules engine for controlling the relationships between the topics. In some embodiments, the system may further include a messaging module for distributing modifications to one or more of the topics, relationships, and rules. The update module can distribute the modifications asynchronously as the changes are made, or in some embodiments, upon demand by the user. The system may also include a permissions module for enforcing user access privileges to one or more of the topics, the relationships, and the information associated with the topics.  
         [0016]     In general, in yet another aspect, the invention relates to a system for storing and retrieving information. The system includes at least one client computer, each client computer having a topic definition module for defining topics, a relationship definition module for defining relationships between two of the topics, one or more computer application extensions for capturing information presented in a computer application, an information management module for associating the captured information with at least one of the topics, and a communications module for communicating with a central server via a network. The central server can store the defined topics, the defined relationships, the captured information, and the association of the captured information with topics. In some embodiments, the system can also include a client update module for receiving updated information relating to the topics, the relationships, and rules governing associating the relationships to the topics. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]     In the drawings, like reference characters generally refer to the same parts throughout the different views. Also, the drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention.  
         [0018]      FIG. 1  is a block diagram of an embodiment of a system according to the invention.  
         [0019]      FIG. 2  is a block diagram of an embodiment of a server in the system of  FIG. 1 .  
         [0020]      FIG. 3  is a more detailed block diagram of an embodiment of the server of  FIG. 2 .  
         [0021]      FIG. 4  is a block diagram of an embodiment of a client in the system of  FIG. 1 .  
         [0022]      FIG. 5  is a block diagram of an embodiment of a system according to the invention.  
         [0023]      FIG. 6  is a screen display of the work area in an embodiment of the client of  FIG. 4 .  
         [0024]      FIG. 7  is a screen display of the join tool in an embodiment of the client of  FIG. 4 .  
         [0025]      FIG. 8   a  is a screen display of the entity finder module in an embodiment of the client of  FIG. 4 .  
         [0026]      FIG. 8   b  is a screen display of the create new entity module in an embodiment of the client of  FIG. 4 .  
         [0027]      FIG. 8   c  is a screen display of the notes module in an embodiment of the client of  FIG. 4 .  
         [0028]      FIG. 9  is a screen display of the entity details module in an embodiment of the client of  FIG. 4 .  
         [0029]      FIG. 10   a  is a screen display of the relationship browser module in an embodiment of the client of  FIG. 4 .  
         [0030]      FIG. 10   b  a screen display of the add new relationship module in an embodiment of the client of  FIG. 4 .  
         [0031]      FIG. 11  is a flowchart of an embodiment of a method according to the invention.  
         [0032]      FIG. 12   a  is a screen display of the drop box module in an embodiment of the client of  FIG. 4 .  
         [0033]      FIG. 12   b  is a screen display of the drop box preferences module in an embodiment of the client of  FIG. 4 .  
         [0034]      FIG. 13  is a flowchart of an embodiment of a method according to the invention.  
         [0035]      FIG. 14  is a screen display of the content browser module in an embodiment of the client of  FIG. 4 .  
         [0036]      FIG. 15   a  is a screen display of the calendar module in an embodiment of the client of  FIG. 4 .  
         [0037]      FIG. 15   b  is a screen display of the research wire module in an embodiment of the client of  FIG. 4 .  
         [0038]      FIG. 16  is a flowchart of an embodiment of a method according to the invention. 
     
    
     DETAILED DESCRIPTION  
       [0039]     Referring to  FIG. 1 , in one embodiment, an information storage and retrieval system  100  includes at least one server  104 , and at least one client  108 ,  108 ′,  108 ″, generally  108 . As shown, the information storage and retrieval system  100  includes three clients  108 ,  108 ′,  108 ″, but this is only for exemplary purposes, and it is intended that there can be any number of clients  108 . The client  108  is preferably implemented as software running on a personal computer (e.g., a PC with an INTEL processor or an APPLE MACINTOSH) capable of running such operating systems as the MICROSOFT WINDOWS family of operating systems from Microsoft Corporation of Redmond, Wash., the MACINTOSH operating system from Apple Computer of Cupertino, Calif., and various varieties of Unix, such as SUN SOLARIS from SUN MICROSYSTEMS, and GNU/Linux from RED HAT, INC. of Durham, N.C. (and others). The client  108  could also be implemented on such hardware as a smart or dumb terminal, network computer, personal data assistant, wireless device, information appliance, workstation, minicomputer, mainframe computer, or other computing device that is operated as a general purpose computer or a special purpose hardware device solely used for serving as a client  108  in the information storage and retrieval system  100 .  
         [0040]     Generally, clients  108  are operated by users of the system to receive, review, and retrieve data regarding investment opportunities. In various embodiments, the client computer  108  includes client applications  122 , client software  120 , or both. One example of a client application  122  is a web browser application that allows the client  108  to request a web page (e.g. from the server  104 ) with a web page request. An example of a web page is a data file that includes computer executable or interpretable information, graphics, sound, text, and/or video, that can be displayed, executed, played, processed, streamed, and/or stored and that can contain links, or pointers, to other web pages. In one embodiment, a user of the client  108  manually requests a web page from the server  104 . Alternatively, the client  108  automatically makes requests with the web browser. Examples of commercially available web browser software are INTERNET EXPLORER, offered by Microsoft Corporation of Redmond, Wash., and NETSCAPE NAVIGATOR, offered by AOL/Time Warner of Mountain View, Calif.  
         [0041]     In some embodiments, the client  108  also includes client software  120 . The client software  120  provides functionality to the client  108  that allows a user to request and receive data using the methods described herein. The client software  120  may be implemented in various forms. For example, it may be in the form of a Java applet that is downloaded to the client  108  and runs in conjunction with one or more client applications  122 . The client software may be a standalone application written in C/C++, C#, Java or other appropriate client programming language. The client software  120  may be in the form of an application plug-in written in Visual Basic, C/C++, or C# that operates within a client application  122 . Further, the client software  120  may be in the form of a standalone application, implemented in a multi-platform language such as Java, in a Net Framework language such as C#, or in native processor executable code. In one embodiment, if executing on the client  108 , the client software  120  opens a network connection to the server  104  over the communications network  112  and communicates via that connection to the server  104 . The client software  120  and the web browser may be part of a single client-server interface  124 ; for example, the client software can be implemented as a “plug-in” to the web browser. The web browser is one possible example of a client application, and others may include word processors, spreadsheets, operating system extensions, email clients, as well as others.  
         [0042]     A communications network  112  connects the client  108  with the server  104 . The communication may take place via any media such as standard telephone lines, LAN or WAN links (e.g., T1, T3, 56 kb, X.25), broadband connections (ISDN, Frame Relay, ATM), wireless links, and so on. Preferably, the network  112  can carry TCP/IP protocol communications, and HTTP/HTTPS requests made by the web browser and the connection between the client software  120  and the server  104  can be communicated over such TCP/IP networks. The type of network is not a limitation, however, and any suitable network may be used. Typical examples of networks that can serve as the communications network  112  include a wireless or wired ethernet-based intranet, a local or wide-area network (LAN or WAN), and/or the global communications network known as the Internet, which may accommodate many different communications media and protocols.  
         [0043]     An administrator operates a central server  104 , which interacts with clients  108 . The server  104  is preferably implemented on one or more server class computers that have sufficient memory, data storage, and processing power and that run a server class operating system (e.g. SUN Solaris, GNU/Linux, MICROSOFT WINDOWS 2000, or other such operating system). Other types of system hardware and software than that described here could also be used, depending on the capacity of the device and the number of users and the amount of data received. For example, the server  104  may be part of a server farm or server network, which is a logical group of one or more servers. As another example, there could be multiple servers  104  that may be associated or connected with each other, or multiple servers could operate independently, but with shared data. As is typical in large-scale systems, application software could be implemented in components, with different components running on different server computers, on the same server, or some combination.  
         [0044]     Referring to  FIG. 2 , in one embodiment, a server  104  includes a client file communication module  206  that is the interface for communication with clients  108  involving the transfer of files. In some instances, files may be transferred from the client  108  to the server  104 , from the server  104  to the client  108 , or both. The client communication module  206  can be implemented as software running on one or more servers, or may be implemented as a stand-alone server. In some embodiments, the client file communication module  206  can provide an interface both to client software  120  and to client applications  122 , so that, for example, a user can access investment performance information through a web browser, a word processing application, or to review other data, and so on, while the client software  120  can be used for requesting and receiving additional information, or for defining parameters of the system. The interface to each of the client software  120  and the client applications  122  can be implemented separately or in combination. In other embodiments, the client file communication module  206  can also communicate using other protocols or mechanisms.  
         [0045]     In another embodiment, the server  104  includes a client messaging communication module  208  that is the interface for communication with clients  108  involving HTTP/S requests and responses, Java messages, SMTP messages, POP3 messages, instant messages, as well as other electronic messages. In some instances, messages may be transferred from the client  108  to the server  104 , from the server  104  to the client  108 , or both. The client messaging communication module  208  can be implemented as software running on one or more servers, or may be implemented as a stand-alone server. In some embodiments, the client messaging communication module  208  can provide an interface both to client software  120  and to client applications  122 , so that, for example, a user can send and receive e-mail, instant messages, and so on, while the client software  120  can be used for requesting and receiving additional information, or for defining parameters of the system. The interface to each of the client software  120  and the client applications  122  can be implemented separately or in combination. In other embodiments, the client messaging communication module  208  can also communicate using other protocols or mechanisms.  
         [0046]     The client messaging communication module  208  communicates with the application server  212 , which provides the main programming logic for the operation of the system. In one embodiment, the application server  212  is implemented as one or more application programs running on a server class computer, which may be the same or different computer as the client file communication module  206  or the client messaging communication module  208 . The application server  212  receives requests for data stored in a database (such as an email, the historical performance of an investment vehicle, etc.) from users via the client messaging communication module  208 , provides updated data to the client  108 , and enforces system, application, and user level rules.  
         [0047]     The server  104  also includes a database system  220 , which stores data related to the investment opportunities, user permissions, industry data, and the like in one or more databases. For instance, the database server  220  may store information relating to entities defined by the users of the system, relationships among the entities, stored content, user information, server availability, and web traffic information. The database server  220  may also contain separate databases for relationships  244 , entities  248 , contacts of the users  252 , user permissions and security information  256 , content metadata  260 , and others. The database server  220  provides data to the application server  212 . An example of the database server  220  is the MySQL Database Server by MySQL AB of Uppsala, Sweden, the PostgreSQL Database Server by the PostgreSQL Global Development Group of Berkeley, Calif., or the ORACLE Database Server offered by ORACLE Corp. of Redwood Shores, Calif.  
         [0048]     The server  104  also includes a file server  224  and a file storage system  216 , which stores static data files  232  related to investment opportunities such as web pages, word processing documents, spreadsheets, PDF files, and others. The file server  224  receives requests for static data files from the client  108  via the client file communications module  206 , transmits the request to the file storage system  216 , and manages the status of the file once it is sent to the client  108 . The file storage system  216  also stores application configuration information  236 , such as server names, communication protocols, directory structures, and other aspects of the application that may be customized at the application, server, or system level. The file server  216  can also store user configuration information  240  such as screen preferences, menu options, security and administrative information, and other functional aspects of the application that may be customized from user to user. In one embodiment, the file storage system  216  stores only data files, while file metadata such as the file location, the author, the creation date, file revision history and other metadata are stored in the content metadata DB  260 .  
         [0049]     Referring to  FIG. 3 , in one embodiment, the client  108  includes a message client module  322 , a web services client  326 , and file transfer client module  334 . The message client module  322  receives messages via the Java messaging service or other similar communications service from the application server  212  via the client messaging communications module  208 . Upon receiving a message from the client messaging communications module  208 , the message client  322  facilitates the display of the message on the user interface  124 . The web services client module  326  facilitates receiving data from the application server  212  via a web services server module  324  such as the Apache Axis Web Services software via HTTP or some similar protocol. Both the web services module  324  and the client message communication module  208  publish data, for example, in XML format such that data may be automatically received by the web services client  326  and displayed on the user interface  124  without user interaction. The file transfer client  334  may request and receive files from the file server  224  using a protocol such as the File Transfer Protocol (FTP), WebDAV or variant thereof via the client file communications module  206 . The server  104  may also include a contention resolution module  219  for managing user permissions and data privacy and contention issues when the application server  212  requests or updates data in the database system  220 .  
         [0050]     In some embodiments, the server  104  includes connectivity architecture  229  comprising adapters for receiving, filtering, and formatting data feeds from sources external to the system. In one embodiment, an on-site adapter  312  receives data from on-site services  314 , via the Java messaging service or other similar messaging service. A second, off-site adapter  316  can receive data from off-site data providers  318  such as FirstCall available from Thompson Financial and Street Events available from CCBN via a standard File Transfer Protocol (FTP) or other file transfer protocol. In some embodiments, different adapters may be employed for different data sources.  
         [0051]     The server  104  may also include, in some embodiments, a component container module  328  such as the Enterprise Java Beans container for storing application components which may be used by the application server  212 .  
         [0052]     Referring to  FIG. 4 , in one embodiment, the client  108  includes application plug-in adapters  404  and application function modules  406 . The application plug-in adapters  404  (“plug-ins”) facilitate the capture of data, files, content, and other information presented to the user in other commercially available or custom developed software applications that reside on the client  108  or the server  104 . Exemplary applications include, but are not limited to, spreadsheet application plug-ins  426  for software such as Microsoft Excel; postscript data format (PDF) viewer application plug-ins  428  for software such as Adobe Acrobat; word processing application plug-ins  430  for software such as Microsoft Word; instant messenger application plug-ins  432  for software such as AOL&#39;s Instant Messenger; web browser application plug-ins  434  for software such as Netscape Navigator or Microsoft Explorer; and email application plug-ins  436  for software such as Microsoft Outlook, Lotus Notes, Qualcomm Eudora; as well as adapters for other client-resident applications from which information may be captured. In some embodiments, the plug-in adapters  404  may facilitate capturing information from applications that reside on the server,  104 .  
         [0053]     In some embodiments, the plug-ins  404  are initiated by selections from a menu or buttons on a toolbar within a client application  122 , and in some cases may not require the client software  120  to be operational or to be invoked. For example, a user may receive an electronic mail message with important information regarding a particular entity. In such cases where the toolbar for the user&#39;s electronic mail client application has been updated with the email plug-in  436 , the user only needs to highlight the desired message (or portions thereof) and click or select the plug-in button. The email plug-in  436  captures the information, and sends it to the file system  216  via the file server  224 . Similarly, data being viewed on a World Wide Web content page, as part of a newswire, or from other publicly or privately published documents may be captured and stored in the system using plug-ins adapted for the particular client application  122  used to receive and view the information.  
         [0054]     The application function modules  406  facilitate the review, creation, and manipulation of various elements of the system such as information items, personal display and security settings, application defaults, etc. For example, some embodiments may include an interest list module  408  for maintaining one or more lists of topics that may be of particular interest to a user or group of users. Examples of topics that may be included in such a list include companies, financial markets such as the NASDQ or NYSE, investment vehicles such as bonds or equities, geographic regions such as Japan or the European Union, industries such as computers or automobiles, political issues such as unions or healthcare reform, and the like.  
         [0055]     Some embodiments can include an entity finder module  422  for finding or creating an entity to which information may be attributed. For example, a user may be interested in the computer hardware industry, and create entities for the companies that manufacture and sell computer hardware. In some embodiments, the list of entities is pre-populated with a list of companies based on membership in an industry group such as those companies that are listed on a particular stock exchange. In some embodiments, the list of entries can be created by the users of the system.  
         [0056]     Some embodiments can include a relationship list module  410  for reviewing and defining relationships between entities. For example, if company A supplies raw materials such as steel or computer chips to company B that company B uses to make its products, a relationship may be defined indicating that company A supplies goods or services to company B. Similar relationships may be created for companies that are competitors, partners, subsidiaries, as well as other business and legal relationships.  
         [0057]     Some embodiments can include additional application modules such as a content list module  412  for reviewing information pertaining to one or more entities; a client administration module  414  for facilitating the customization of the user interface  124  for individual users; a drop box module  416  which allows users to easily associate a file or partial content from a file with a particular entity; a contact list module  418  for maintaining information about people from whom one or more users of the system receive information; a calendar module  420  for listing dated events pertaining to entities such as earnings announcements or product launches; a notes module  421  for allowing the creation, storage, and sharing of user-created notes; a research wire module  424  for reviewing information such as research reports published by financial analysts; and a client web services module  425  to facilitate the synchronous request/response of data on the server. In addition, an asynchronous interface composed of a messaging client and a messaging server, for example a Java Messaging Service client/server pair, facilitate the asynchronous update of data residing on the client  108  as it is updated on the server  104  and exposed using the web services module  324  residing on the server  104 .  
         [0058]     Referring to  FIG. 5 , in one embodiment, a set of rules  505  govern the creation of the entities  510 , the type of entities  515  that can be created, the creation of the relationships  520 , the types of relationships  525  that can be created, and which relationships may be used to link entities of a given type. In one embodiment, the rules  505  can limit the entity types  515  that can be created. For example, the rules  505  can limit the entity types  515  to “corporate” entities representing companies, “index” entities representing groups of publicly held companies used to calculate a market statistic, “industry” entities representing a specific area of commerce, and “topic” entities representing subjects that may impact other entities. In another embodiment, the rules  505  can limit the relationship types  525  that can be created. For example, the rules  505  can limit the relationship types  525  to the relationship types listed in Table 1 below.  
                         TABLE 1                       Relationship Types       Relationship Type                                    Buys from           Competes with           Distributes for           Distributes through           Has subsidiaries           Is a subsidiary of           Is in index           Is in industry           Is supplied by           Partners with           Sells to           Has index member           Has industry member           Influences           Relates to                      
 
         [0059]     In one embodiment, the rules  505  govern the relationships that one entity type may have with other entity types. For example, a corporate entity may have different relationships with other corporate entities than it would have with an index entity or a topic entity. Table 2 below contains one possible listing of relationship types and the rules associated with how they can be used to relate different entity types. It should be noted, however, that these relationships represent one particular set of relationships that may be implemented in a specific embodiment of the invention. Additional relationships used to describe the associations of entities with each other may be obvious to those skilled in the art of analyzing the performance of a company, an industry, or other similar entity.  
                                 TABLE 2                           Relationship Rules                        Allowable Related           Entity Type   Relationship Type   Entities                       Corporate   Buys from   Corporate           Corporate   Competes with   Corporate           Corporate   Distributes for   Corporate           Corporate   Distributes through   Corporate           Corporate   Has subsidiaries   Corporate           Corporate   Is a subsidiary of   Corporate           Corporate   Is in index   Index           Corporate   Is in industry   Industry           Corporate   Is supplied by   Corporate           Corporate   Partners with   Corporate           Corporate   Relates to   Topic           Corporate   Sells to   Corporate           Index   Has index member   Corporate           Index   Relates to   Topic           Industry   Distributes through   Industry           Industry   Has industry member   Corporate           Industry   Is supplied by   Industry           Industry   Relates to   Topic           Topic   Influences   Corporate           Topic   Relates to   Topic                      
 
         [0060]     For example, if a user created an entity to represent a corporation which is listed on a particular stock exchange and that sells its products to another corporation, the rules  505  may permit the user to create an “is in index” relationship to an entity of type “index” and a “distributes for” relationship to an entity of type “corporate.” In addition, the user may create an entity for an industry such as “healthcare” and a relationship to another industry such as “insurance.” However, to maintain the integrity of the system, the rules  505  may prohibit certain relationships based on the entity and relationship types—e.g. the rules  505  may prohibit an “is in index” relationship between an industry entity (healthcare) and a corporate entity (IBM) because industries are not listed on stock exchanges. Unlike systems with static lists of entities, a system that allows users to create, modify, and delete entities and the relationships between them provides a greater degree of flexibility to analysts. Such a system can focus on those industries or aspects of investment opportunities that are important to a given organization, maintain knowledge when people leave, and evolve as industries, companies, and investment opportunities grow and change.  
         [0061]     Referring to  FIG. 6 , in one exemplary embodiment, the system provides a work area  600  on the client  108 . The work area  600  can include one or more of the application function modules  406  described above. For example, the work area  600  can include a toolbar  610  allowing users to access functions of the system through a system of menus. The work area can also include the entity finder module  422 , the research wire module  424 , and the calendar module  420 . In some embodiments, the application function modules can be positioned on the user interface  124  at different locations as determined by the user. For example, the entity finder module  620  can be positioned along the left side of the screen, with the research wire module  630  and calendar module  530  to the right of the entity finder module  620 . In some embodiments, the positions of each module, both relative to the user interface  124  and to each other may be saved to the user configuration file system  240  using the client administration module  412  such that each time an individual user access the system, the layout of the work area  600  is consistent. In some embodiments, the configurations of the work area  600  may be saved at the application level, group level, or on an individual user basis. By allowing users to customize and maintain a personal work area  600 , the system facilitates the varied usage styles of different people—i.e. some analysts may prefer to see all of the information arranged on the client  108 , while other analysts may prefer to see only selected items such as the calendar module  420 .  
         [0062]     Referring to  FIG. 7 , in one embodiment, a join tool  700  may be used to group application function modules  406  together such that when a user selects data to be presented in one module the data presented in the joined application function modules  406  is updated. In one embodiment, the join tool  700  can provide instructions to the user on how to join application function modules  406 . For example, if the entity finder module  422  and the research wire module  424  were grouped using the join tool  700 , and the user changed the selected entity in the entity finder module  422  from General Electric to IBM, the data presented in the research wire module  424  would be updated with data pertaining to IBM.  
         [0063]     The join tool  700  may also provide multiple join groups. For example, a user may select certain application function modules  406  to be part of a group and select from a drop down box  730  the color to be associated with the group and displayed along the band at the top of the application function modules  406  in each group. By identifying each group using the colors  720 , a user may easily identify those modules grouped together while looking at the work area  600 , which may contain numerous application function modules  406 , some of which may be grouped and others which may not. This provides the user with a work area  600  that is synchronized across application function modules  406 , to the extent desired. The join tool  700  also provides a listing of previously defined groups, and the colors associated with each group  720 .  
         [0064]     Referring to  FIGS. 8   a  and  8   b,  in one embodiment, the entity finder module  422  includes a display window  810 , an entity list  820 , and a define new entity button  830  which is used to create new entities using the create new entity screen  840 . The display window  810  provides the user with the name of the current entity about which information is being displayed in other application function modules  406  that are grouped with the entity finder module  422 . The entity list  820  provides a listing of the entities about which information may be retrieved from the system. In some embodiments, the entity list  820  may be created by a central administrator, while in other embodiments the entity list may be created by individual users of the system. In some embodiments, the entities listed in the entity list  820  may be restricted on a global level, group level, or an individual level. For example, if an individual analyst is responsible for the automobile industry, the entity list  820  may be limited to automobile manufacturers, their suppliers, and other topics related to the automobile industry such as oil futures, labor unions, and interest rates.  
         [0065]     Referring to  FIG. 8   b,  the create new entity screen  840  includes an entity type data window  850 , an entity name data window  860 , a entity short name data window  870 , and an entity alias data window  875 . In some embodiments, the values available to a user in the entity type data window  850  may be limited to values defined by a central administrator and stored in the database  220 , and in other embodiments the values may be user defined and stored in the user configuration files  240 . For example, to facilitate certain reporting or other functions, the list of entity types may be limited to corporations, indices (such as NASDQ or NIKKEI), industries (such as automotive or computer hardware), and topics (such as asbestos, war, or the environment). In one embodiment, the topic entities may be either public or private. Public entities may be used throughout the application by multiple users of the system, while private topics may be limited to one individual user or a particular group of users.  
         [0066]     In one embodiment, the entities may be predefined, with periodic updates available from vendors specializing in how entities are related and influence each other. For example, a vendor can supply a pre-populated database or flat file containing lists of corporate entities listed on the NYSE and NASDQ, their parent and subsidiaries, and general industries. The same vendor, or in one embodiment another vendor, may also supply the relationships among the entities. This data can be imported into the system. In other embodiments, the data files can be appended or overwritten with files updated based on the passage of time, and such events as large mergers, delistings, bankruptcies, or initial public offerings.  
         [0067]     Referring to  FIG. 8   c,  in one embodiment, the create note details screen  880  includes a source field  855 , a sentiment field  890 , and a note text field  895 . The note details screen  880  allows a user to create free form text notes about a topic. The source field  885  identifies the source of the note, thus allowing users to see who created the note  895 . By providing this information, the system allows users to filter notes based on the source of the note  895 , or give greater weight to a note based on its author. The sentiment field  890  allows the author of the note  895  to provide an indication of whether the note  895  reflects positively or negatively on a topic or entity. For example, a first user may only want to see positive notes from a second user, but wish to see all notes from a third user. This feature allows users to customize and filter the information they receive when inquiring about an entity of interest.  
         [0068]     Referring to  FIG. 9 , in one embodiment, an edit entity details screen  900  includes one or more data fields in which detailed data may be entered describing an entity. For example, if an entity being described is a corporation, an address data field  910  may be used to enter the physical location of the corporation. Similarly, phone and fax data fields  920  may be used to capture the corporation&#39;s telephone number and facsimile number, respectively. Other data fields that may be included on the entity details screen  900  for a corporate entity include an employee count data field  930 , an email data field  940  for storing the email addresses of one or more contacts at the corporation, a data table  950  of URL addresses representing web pages on the World Wide Web that may be relevant to the corporation, and a data table  960  containing the names and other descriptive information regarding the officers of the corporation, such as their titles, ages, educational backgrounds, previous employers, as well as other data. By allowing analysts to provide detailed information in the entity detail screen  900 , the system facilitates the maintenance of significant amounts of very detailed data about entities and people. These contacts often can supply information that is the basis for investment decisions.  
         [0069]     Referring to  FIGS. 10   a  and  10   b,  in one embodiment, the relationship browser module  410  displays a current entity  1005 , other entities  1015  to which the current entity  1005  has been related, the currently selected related entity  1010 , the type of relationships  1020 , and provides the ability to create new relationships using the add a relationship option′ 1025 . For example, the current entity  1005  may be a large retail chain. The relationship types  1020  that may be relevant to such an entity may be the “competes with,” distributes for,” and “relates to” relationships. More particularly, if a user is interested in a retail chain that sells toys, the entities listed under the “competes with” relationship type may include other large retailers that also sell toys. Furthermore, the entities listed under the “distributes for” relationship type may include toy manufacturers, and the entities listed under the “relates to” relationship type may include topics such as “dock strike” if the user determines such an event could potentially affect the financial performance of the current entity  1005 .  
         [0070]     The relationship browser may contain iconic representations for each entity called entity icons. Each entity icon may include a graphical representation of the entity&#39;s type, an activity number value representing the number of system notifications generated for that entity during some previous period of time (24 hours, 1 week, 1 month, etc.), as well as other information. In some embodiments, the activity number can be calculated dynamically, and the formula employed to determine the activity number can be based on any system event for an entity and/or its related entities.  
         [0071]     New relationships may be created using the add a relationship function  1025  and the add a relationship screen  1030 , which includes data fields for selecting the relationship type  1020  and the related entity  1015 , and a check box  1035  for creating reciprocal relationships. In some embodiments, the relationship types are limited to a fixed set of relationships defined by a central administrator and stored in the database  220 , as described above. In some embodiments, relationship types may be defined by individual users and shared with other users of the application, other members of particular groups of users, or kept private.  
         [0072]      FIG. 11  illustrates one embodiment of a method for defining entities and the relationships among the entities. Initially, a user, administrator, or other supplier of data builds an initial set of rules, entities, and relationship types (STEP  1103 ). A user may then determine if additional entities are necessary to adequately model the markets, industries, or topics of interest (STEP  1105 ). The user then determines if the entities exist in the initial set (DECISION STEP  1110 ), for example, by using the entity finder module  422  described above. If one or more of the entities does not exist, the user then creates the entities (STEP  1115 ) using the create new entity screen  740 . Once the entities are created, the user then determines which entities are to be related (STEP  1120 ). The user then determines the relationship type (STEP  1125 ) that best describes the relationship, and creates the relationship (STEP  1130 ) using the relationship browser module  410 .  
         [0073]     Because users of the system are able to define entities and provide descriptive information about the entities, the data can be customized to the areas of interest of a particular firm, group, or individual. For example, if an analyst firm follows a particular investment strategy that runs contrary to widely-held principles, or has uncovered derivative influences on a company or industry that other analysts have not, the ability to create and modify the entities is valuable. In one exemplary case, an analyst or firm may have determined that certain weather patterns (exceptionally warm winters, for example) have a statistically significant impact on automobile sales during certain months. By creating a topic entity called “weather” and an “influences” relationship to an industry entity titled “automotive”, an analyst reviewing automobile manufacturers as investment opportunities would have the benefit of knowing that reports of the current weather pattern will appear along with other data that may influence the performance of companies in the auto industry.  
         [0074]     In some embodiments, the relationship may be a unidirectional relationship—e.g. a company entity may have a “member of” relationship to an index entity. In some embodiments, the user may determine that upon creating the first relationship, a second, reciprocal relationship is warranted, thus creating a bi-directional relationship. For example, if a user instructs the system to create a “sells to” relationship from company A to company B, and further instructs the system to create a reciprocal relationship, the system can automatically create a “buys from” relationship from company B to company A. In some embodiments, the creation of the reciprocal relationships can be governed by the rules  505 . In such a case, when a user creates a relationship from a first topic to a second topic, only the valid reciprocal relationships are provided. Using the example above, the rules  505  may limit the valid reciprocal relationships to “buys from.” By providing this option, the system provides a quick method for creating sets of relationships based on reciprocal associations between entities.  
         [0075]     Referring to  FIG. 12 , in one embodiment, the drop box module  1205  facilitates the saving of an information item to the file system  216  or database  220  without having to use the client applications software  122 . The drop box module  1205  remains active on the client  108  and visible on the user interface  124 , and allows a user to deposit a document, spreadsheet, or other file directly from one location on the client  108  or other computer connected to the client  108  over the network  112  to the file system  216  by “dragging and dropping” the file onto the drop box module  1205 . In some embodiments, default values for characteristics of the information items may be set using the drop box preferences module  1210 .  
         [0076]     For example, the user may be reviewing numerous information items about a particular entity, and set the drop box default fields  1215  to reflect the current entity, the type of data being reviewed, and the author of the information items, thus allowing the user to associate numerous items with a particular entity quickly.  
         [0077]      FIG. 13  illustrates one embodiment of a method for associating information with an entity. Initially, a user receives information relating to one or more of the entities of interest to the user (STEP  1305 ) and in some cases creates notes relating to an entity of interest (STEP  1307 ). For information received from another source, the user then captures the information (STEP  1310 ) using one or more of the methods described above. The user then determines the proper entity to which the information should be associated (STEP  1315 ). The user then determines if the entity to which the information should be associated exists (STEP  1320 ), and if the entity does not exist, creates the new entity (STEP  1325 ) using the methods described above. The user may then assign the information to the entity (STEP  1330 ), for example, using one of the application plug-in adapters  404  or the drop box module  1205  above. Because the applications into which the adapters  404  plug-in are already in use and the analysts are familiar with their operation, minimal additional training is necessary for an analyst to start using the system.  
         [0078]     For example, a user may receive an email with a document attached to the mail message describing a company&#39;s product launch strategy for an upcoming software release. By selecting the attached document, the client  108  may recognize the client application  122  needed to view the document, and launch the application  122 , if not already running. The user then determines the entity with which the document should be associated, and highlights the relevant portion(s) of the document. The user then selects the plug-in  430  in the client application  122 , and the information is saved to the file system  216 , with the associations provided by the user.  
         [0079]     Referring to  FIG. 14 , in one embodiment, the content browser module  412  facilitates requests for and review of information associated with a current entity  1005  and in some embodiments, entities related to a current entity. The content browser module  412  includes the current entity of interest  1005 , a select entity data field  1405 , a display related information toggle  1410 , summaries of each information item  1415  retrieved from the database system  220  or file system  216 , and an indication  1420  of who authored the information items  1415 , as well as other descriptive information about the item.  
         [0080]     The select entity data field  1405  allows a user to change the current entity  1005  to a new current entity, and thus review information items  1415  associated with a new current entity. The display related information check box  1410  allows the user to indicate whether the list of information items  1415  will include information items for the current entity  1005  only (unselected), or for the current entity  1005  and the entities related to it (selected). For example, if a user was interested in reviewing the information associated with a computer manufacturer, the user could select the entity name for that corporation from the select entity data field  1405 , and the summaries of each information item  1415  associated with that entity would be listed. In addition, a user may be interested in the derivative influences potentially affecting the computer manufacturer, e.g. the companies that supply the chip sets, the stock exchange on which it is listed, etc. In such a case, the user selects the display related information check box  1410  and therefore receives information associated with the other corporations, industries, and topics that are related to the computer manufacturer. This allows the user to gain a broader perspective of the factors that may influence the company, and therefore affect its financial performance.  
         [0081]     In some embodiments, the summaries of each information item  1415  may include information about the information items. For example, the summaries may include a title, the type of file (voice clip, financial report, press release, as well as others), the author&#39;s name, the date on which the file was last modified, the size of the file, the format of the file (such as Word for Windows, Excel, PDF, HTML, as well as others), and comments about the file. In some embodiments this information is static and cannot be changed by individual users, where as in other embodiments, the ability to modify the summary information can be assigned to individual users or groups of users.  
         [0082]     Referring to  FIGS. 15   a  and  15   b,  in one embodiment, the calendar module  420  and research wire module  424  further facilitate the review of information associated with a current entity  1005  and in some embodiments, entities related to a current entity. In both modules, the current entity data selection window  1405  and display related information check box  1410  perform similar functions as on the content browser module  412  described above. The calendar module  420  further includes date navigation buttons  1505 , an unfiltered selection box  1510 , an action menu  1515 , and summaries of information items  1520  organized by date. In one embodiment, the date navigation buttons  1505  allow a user to scroll to a previous week or subsequent week, and review the events scheduled during that time period. In other embodiments, the time periods may be hours, days, months, quarters, years, or other periods of time into which events can be grouped. In another embodiment, the unfiltered selection box  1510  allows a user to instruct the calendar module  420  to display all events for all companies (unchecked) or only those events related to the company or entity selected in the entity data selection window  1405  (checked).  
         [0083]     The research wire module  424  further includes summaries  1525  of information items received from either internal or external news and broadcast sources via the adapters  312  and  316 . In one embodiment, the summaries  1525  include the date and time an information item was published, the company about which the item pertains, and a text summary of the item. By clicking on the summary  1525  of an information item, the user may then review the entire contents of the item.  
         [0084]      FIG. 16  illustrates one embodiment of a method for retrieving information associated with one or more entities. The user begins by selecting an entity of interest (STEP  1605 ) using the select entity data field  1405  on the content browser module  412 . The client software  120  then requests (STEP  1610 ) the information associated with the selected entity from the server  104 , which retrieves the requested information (STEP  1615 ). The server then determines (DECISION STEP  1620 ) if the display related information check box  1410  is selected. If the display related information check box  1410  is selected, the server  104  also retrieves the data (STEP  1625 ) associated with the entities related to the selected entity. Once the complete set of information is retrieved from the file system  216  and database system  220 , it is received (STEP  1630 ) by the client  108  and presented to the user for review. Because the relationships were previously established and the information was associated with the first entity, the analyst needs no additional knowledge about the industry or entity to receive the derivative information. In some embodiments where updates to entities, relationships, rules, or information is asynchronously provided to the client  108 , the user receives updated information (STEP  1635 ) using one or more of the methods described above.  
         [0085]     For example, an analyst may be following the semiconductor industry in general, and have a particular interest in the XYZ Semiconductor Company (“XYZ Co.”). Prior to the analyst&#39;s inquiry for information about XYZ Co., another analyst created a “supplier/customer” relationship between XYZ Co. and ABC Computer Company and a “relates to” relationship between XYZ Co. and a topic identified as “Trade with China.” Using the content browser module  412 , the analyst then selects XYZ Co. from the select entity data field  1405 . Furthermore, the analyst may be interested in information directly associated with XYZ Co., and also information associated with related entities. To receive this information, the analyst checks the display related information check box  1410 . The server  104  then retrieves the information associated with XYZ Co., ABC Computer Co, as well as any information associated with the topic “Trade with China.” This facilitates a more complete analysis of XYZ Co.&#39;s current and future performance because an increase in demand for computers manufactured by ABC Co. may directly influence the demand for semiconductors manufactured by XYZ. Co. Likewise, political and economic events that may affect the importation of goods from China may also affect XYZ Co. if their manufacturing operations are located there.  
         [0086]     Variations, modifications, and other implementations of what is described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the invention as claimed. Accordingly, the invention is to be defined not by the preceding illustrative description but instead by the spirit and scope of the following claims.