METHODS AND APPARATUS FOR MANAGING INFORMATION RELATING TO SUBJECT MATTER OF COMMERCIAL TRANSACTIONS

Abstract: The invention is a financial information management system that provides substantial improvements in the speed and efficiency of handling information involved in commercial transactions, particularly by individuals trading financial instruments. The financial information management system (10) employs a multi-tier software architecture, with each tier devoted to specific functions. At the back end of the system are a series of data feeds (12), which are connected to sources of financial data. The data feeds are operatively connected to a data tier (14), which includes storage for financial data received from the sources. A number of application servers (16) are operatively connected to the data tier, and can provide content to a number of web servers (18). The system also includes one or more user terminals (20) that are configured to communicate with the web servers.

Description: METHODS AND APPARATUS FOR MANAGING INFORMATION RELATING TO SUBJECT MATTER OF COMMERCIAL TRANSACTIONS Field of the Invention The invention is directed to methods and apparatus for managing information relating to the subject matter of commercial transactions, such as systems, terminals, and methods related to the sale of financial services, products, and information to individuals such as investors. Copyright Notice A portion of the disclosure of this 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 patent disclosure as it appears in the Patent Office patent file or records, but otherwise reserves all copyright rights whatsoever. Background of the Invention Brokerage firms, banks, and other corporations generally offer two primary products or services to investors, trading services and research. Trading services enable investors to purchase or sell financial instruments of various kinds, and research (or information) can help investors make investment decisions. Information is probably more valuable to investors than are trading services. Brokerage firms and banks typically employ large numbers of employees to work with investment information. These individuals discover and gather information, disseminate the information within the firm and to investors, and to support investors in discovering and using the information. In firms selling to institutional investors, these employees are generally known as analysts, if they gather information, or salespersons, if they support investors. In firms selling to individual investors, the salespersons may be called brokers. Analysts usually gather information from different global sources and commercial vendors of news, market and financial data, and share this information within the firm. Salespersons, analysts, and brokers then disseminate it to investors. Salespersons and analysts often work collaboratively in person, by telephone, or by e-mail in their efforts to serve their clients. Salespersons are also typically equipped with a contact manager, spreadsheets, and multiple viewing and searching systems for accessing data such as news, research, pricing, and historical feeds. But the flux of information which salespersons and analysts must digest and then communicate to investors is tremendous because of the global scope of broker operations and the broad range of investors' interests. And it is essential to sort through this massive influx of information to find the key pieces of information relevant to a particular investor, as investors generally resent being bombarded with irrelevant or stale information It is also vital to retπe\ e, process, and convey this information to clients as quickly as possible, before competing firms can independently acquire and spread the same information Individuals working with information relating to commercial transactions in other industπes are also under pressure to efficiently interpret large amounts of information in short amounts of time Summary of the Invention The invention allows for substantial improvements in the speed and efficiency of the handling of information related to the sale of financial services, products, and information to individuals such as investors In one general aspect, the invention features a market information management terminal that includes a contact management interface including contact record display areas, wherein each contact record includes contact identification information, a market information interface including display areas for market information items extracted from one or more information sources based on search cπteπa, and association elements indicating an association from ones of the market information items to ones of the contact records In preferred embodiments, the association elements can be controls that appear in proximity to the market information display areas, and the controls are responsive to user input to provide additional information about the contact records for which they indicate and association The market information items can include titles of articles related to market topics, with the market information items being actuated to retπeve at least portions of the articles The market information items can include holding information items and the association elements associated with the holding information items can associate the holding information items with ones of the contact records for contacts who hold financial instruments referenced in the holding information The terminal can further include a current holdings feed from a source of current trading information and the holding information items can be extracted from this source At least some of the display areas can be actuated to retπeve further information from the contact records At least a first subset of the association elements can be controls that appear m proximity to the market information display areas and that are responsive to user input to provide additional information about the contact records for which they indicate and association, and the terminal can further include controls that appear in proximity to ones of the contact record display areas, and that are responsive to user input to provide additional information about the market information items for which they indicate and association The contact management interface and the market information interface can be presented in a hypertext format and wherein the association elements are hyperlinks between the contact management interface and the market information interface The association elements can include contact icons located in proximity to the securities-related information items. The market information interface can include a customizable market observation window area, and the market information items can relate to a user-defined list of securities. The market information interface can include a customizable news article browsing window area, and the market information items can relate to a user-defined list of keywords. The market information interface can include at least a portion of a notable market data window area, with the market information items relating to notable events in one or more entire securities markets. The market information interface can include at least a portion of a real-time alert window area, with the market information items relating to the subject matter of alerts in the real-time alert window area. The association elements can include an interested contacts control that is operative to display a list of interested contacts. The terminal can further include a search profile entry interface including user controls for generating search profiles that include the search criteria and are associated with selected ones of the contact records. The search profile entry interface can include controls for generating numerical search criteria and for generating textual search criteria. The numerical criteria can include price values for securities and wherein the textual search criteria include names related to securities. The terminal can further include a search engine responsive to data from a series of data feeds, and be operative to search these data based on the search criteria to extract the market information items. The search engine can be operative to search news stories, research documents, corporate financials and earnings, analyst estimates and recommendations, and internally generated notes. The search profile entry interface can include combinable search criteria selections for location, business sector, and financial instrument type. The market information interface can be operative to display the association elements in real time as the market information items are extracted. The contact management interface can include entry areas responsive to user input to receive data for storage in the contact information records, with the information records including at least a contact name field and a field for information enabling contact with the contact, and the association elements can be displayed with at least one of the contact management interface and the market information interface. The market information items, the association elements, and the contact records can both be stored centrally such that further financial terminals can also access the market information items and the contact records. At least a portion of the market information interface and the contact management interface can be displayed to the user simultaneously. In another general aspect, the invention features a market information management system that includes a plurality of data feeds responsive to a plurality of different sources of information, including news information and trading information, an integrated database responsive to the market data feeds and including a plurality of storage records, the storage records including storage records for market items received from the data feeds, and a plurality of terminals. Each terminal includes a market information interface responsive to the database and including display areas for market information items extracted from the market data feeds, and a communications interface operative to create shared items that are accessible by users of a plurality of the terminals, wherein the shared items are linked to the database. In preferred embodiments, the communications interface can be operative to create shared data items that include links to one or more of the market information records. The storage records in the database can include contact records with the communications interface being operative to create shared data items that include links to one or more of the contact records. The communications interface can be operative to create shared data items that are stored as ones of the storage records and indexed in the database. The shared data items and the market data items can share searchable fields. The communications interface can be operative to create different types of shared data items that are linked to the database in different ways. The different types of shared data items can include contact notes, broker notes, to do items, searchable notes, and watch lists. The communications interface can be responsive to user input to limit the availability of shared items to only selected users. The system can further include a report generator responsive to the database to summarize information about shared items created by different users. In a further general aspect, the invention features a market information management system that includes a plurality of terminals. Each terminal includes a market information interface including display areas for market information items retrieved from a plurality of data sources, and a squawk interface including input and output areas responsive to user input to receive a message from the user at one of the squawk interfaces at one terminal and display the message on others of the squawk interfaces on other terminals. In prefeπed embodiments, the squawk interface can further include a selective routing control responsive to user input to limit the terminals to which a message is sent. The selective routing control can be responsive to user input to select whether to route the message to one of a plurality of groups. The system can further include a squawk routing system interconnecting the terminals with the squawk routing system being operative to broadcast messages to its recipients in real-time. The market information interface and the squawk interface can be presented in a hypertext format. In another general aspect, the invention features a market information management terminal that includes an alert creation interface, including controls responsive to user input to select alert criteria relating to securities-related information formatted with a first data type and to select alert criteria relating to securities-related information formatted with a second data type, and an alert display interface operative to display in real time alerts triggered by a match between the alert criteria of the fist data type and received securities-related information of the first type, and to display in real time alerts triggered by a match between the alert criteria of the second data type and received securities-related information of the second type In preferred embodiments, the securities-related information of the first type can include numeric information with the securities-related information of the second type including textual information. The securities-related information of the first type can include numeric securities price information and the securities-related information of the second type can include news and research information. The terminal can further include a search engine responsive to data from a series of data feeds, for searching these data based on the alert criteria. The search engine and the alert display interface can be operative to display alerts within five minutes from reception of data matching the alert criteria. The search engine can be operative to search each of a set of the plurality of data feeds based on one of the alert criteria. The alert creation interface can be operative to create individual alert criteria that each relate to a plurality of subjects. In a further general aspect, the invention features a market information management terminal that includes means for displaying contact records that include a contact name and associated contact information, means for displaying market information items extracted from one or more information sources based on search criteria, and means for presenting visual associations from ones of the market information items to ones of the contact records. The terminal can further include means for recording the search criteria in profiles for individual ones of the contacts with the means for displaying market information being responsive to ones of the market information items extracted from one or more information sources based on the profiles. The means for visually associating can include control means responsive to user input to provide additional information about the contact records or the market information items. In another general aspect, the invention features a market information management method including the steps of displaying contact records that include a contact name and associated contact information, displaying market information items extracted from one or more information sources based on search criteria, and presenting visual associations from ones of the market information items to ones of the contact records during one of the steps of displaying. In preferred embodiments, the method can further include a step of recording the search criteria in profiles for individual ones of the contacts and the step of displaying market information can be responsive to ones of the market information items extracted from one or more information sources based on the profiles. The step of visually associating can include control means responsive to user input to provide additional information about the contact records or the market information items. The steps of displaying contact records, displaying market information and visually indicating an association can all be performed on the screen of a terminal. In a further general aspect, the invention features a market information management system that includes a plurality of terminals. Each terminal includes means for storing indexed market information items received from a plurality of data feeds, means for displaying market information items extracted from the means for storing, and means for creating shared items that are shared between users of the terminals. The shared items include links to one or more of the market information items. In preferred embodiments, the system can further include means responsive to user input for limiting the availability of shared items to only selected users. The system can further include means for searching the shared items. In another general aspect, the invention features a market information sales system that includes a plurality of terminals. Each terminal includes means for displaying market information items, and means responsive to user input for receiving a message from the user at one of the terminals and displaying the message on others of the terminals. In preferred embodiments, the means for receiving can further include means responsive to user input for limiting the terminals to which a message is sent. The system can further include means for routing the message to the others of the terminals in real time. In a further general aspect, the invention features a market information management method that includes the steps of displaying market information items on one of a plurality of terminals, responding to user input to receive a message from the user at one of the terminals, and displaying the message on others of the terminals. In preferred embodiments, the method can further include a step of limiting the terminals to which a message is sent in response to user input. The step of displaying the message on others of the terminals can occur within a guaranteed latency period after the step of responding to user input to receive the message. In another general aspect, the invention features a market information management terminal that includes means responsive to user input for selecting alert criteria relating to securities-related information formatted with a first data type, means for selecting alert criteria relating to securities- related information formatted with a second data type, and means for displaying in real time alerts triggered by a match between the alert criteria of the fist data type and received securities-related information of the first type, and for displaying in real time alerts triggered by a match between the alert criteria of the second data type and received securities-related information of the second type. In preferred embodiments, the securities-related information of the first type can include numeric securities price information and wherein the securities-related information of the second type includes news and research information. In a further general aspect, the invention features a market information management method that includes the steps of selecting alert criteria relating to securities-related information formatted with a first data type, selecting alert criteria relating to securities-related information formatted with a second data type, displaying in real time alerts triggered by a match between the alert criteria of the fist data type and received securities-related information of the first type, and displaying in real time alerts triggered by a match between the alert criteria of the second data type and received securities-related information of the second type. In preferred embodiments, the securities-related information of the first type can include numeric securities price information and the securities-related information of the second type can include news and research information. In another general aspect, the invention features a data memory including a contact database including contact records having fields for contact identification information fields a market information database including an indexed set of market information items, and links to contact records in the contact database from items in the market information database. In prefeπed embodiments, the data memory can further include a shared communication database including shared items created by different users, and links between the market information items in the market information database and the shared items in the shared communication database. The links can include at least links between a plurality of contact records and one of the market information items and links between a plurality of market information items and one of the contact records. In a further general aspect, the invention features a data memory including an integrated database including a plurality of storage items that include an indexed set of market information items, a plurality of shared communication items created by different users, and links between the shared information items and the plurality of storage items in the database. In another general aspect, the invention features a market instrument information handling system that includes a contact management interface including contact record display areas, wherein each contact record includes contact identification information, a search profile entry interface including user controls for generating search profiles that include market information search criteria and are associated with selected ones of the contact records, a request export interface responsive to the search profile, wherein the request export interface is operative to export a document search request including document selection information corresponding to the search profile and including delivery information coπesponding to on or more of the contact records, and a communications interface responsive to the request interface, for connection to a document delivery server. In a further general aspect, the invention features a market information handling system that includes an individual database including contact records having fields for identification information for a plurality of individuals, a market information database including an indexed set of market information items, and a report generator operative to selectively extract reports relating to a plurality of the records in the individual database or the market information database. In preferred embodiments, the report generator can be operative to organize the reports on a time line. The report generator can be responsive to the contact records and to trading information for the contacts, and can be operative to generate reports relating trading information for particular contacts to the association of contact records for the particular contacts with market information items. The individual database can be a contact database including contact records, wherein the information fields are contact identification information fields, and the report generator can be operative to selectively extract reports relating to a plurality of the records in the contact database or the market information database. The report generator can be responsive to the contact records and to trading information for the contacts, and can be operative to generate reports relating trading information for particular contacts to the association of contact records for the particular contacts with market information items. The report generator can be operative to organize the reports on a time line, with some of the market information items consisting of historical securities prices, the historical securities prices are can be rendered in graphical charts, and descriptions of other market information items can be overlaid on the charts, at the appropriate time indexes. The individual database can be a user database including user records, the information fields can be user identification information fields, and wherein the report generator can beoperative to selectively extract reports relating to a plurality of the records in the user database and the market information database. The report generator can be operative to develop usage statistics for users of the system based on items created in the system by the users. In another general aspect, the invention features a market information management terminal that includes a plurality of user interface items. These items include a plurality of contact display items that relate to different contacts, and a plurality of market display items that relate to different market information items extracted from one or more information sources based on search criteria and are displayed simultaneously with the contact display items. The plurality of user interface items are arranged to indicate associations between ones of the market display items and ones of the contact display items. In prefeπed embodiments, the contact display items can be responsive to user input to provide additional information about contacts for which they indicate an association. The market display items can include titles of articles related to market topics with the market display items can be actuated to retrieve at least portions of the articles. Coπesponding ones of the contact display items and the market display items can be located in proximity to indicate an association between them. The terminal can include a real-time alert facility responsive to market data feeds, the user interface items can be displayed in at least a portion of a real-time alert window area, and the market display items can relate to the subject matter of alerts in the real-time alert window area. The terminal can further include a search engine responsive to data from a series of data feeds, and can be operative to search these data based on the search criteria to extract market information items, with the user interface items being displayed in a search result window, and the market display items relating to the market information items. The search criteria can be based on information relating to the contacts. The information relating to the contacts can include watch lists for the contacts. The information relating to the contacts can be a boolean combination of keywords drawn from several categories. The categories can include region, country, and sector. The terminal can further include a watch list facility responsive to data from a series of data feeds, and being operative to search these data based on the search criteria to extract market information items, wherein the user interface items are displayed in a watch list window, and wherein the market display items relate to the market information items. In a further general aspect, the invention features a market information management terminal including means for displaying contact display items that relate to different contacts, means for displaying market display items that relate to different market information items extracted from one or more information sources based on search criteria and are displayed simultaneously with the contact display items, and means for indicating associations between ones of the market display items and ones of the contact display items. In another general aspect, the invention features a market information management method that includes displaying contact display items that relate to different contacts, displaying market display items that relate to different market information items extracted from one or more information sources based on search criteria and are displayed simultaneously with the contact display items, and indicating associations between ones of the market display items and ones of the contact display items. Systems according to the invention can enhance their users' ability to sort through the tremendous flux of available information and find information of interest to a specific client by providing a unified interface that intermingles interface elements of different subsystems. This unified interface can allow the users to concentrate their efforts and energy on the content and meaning of the information they are working with rather than on switching back an forth between different types of information sources and a distinct contact management system. Systems according to the invention may also be advantageous in that they can allow salespersons to quickly find interested clients after they have found a significant piece of information. This functionality can allow them to target their efforts toward those clients most likely to be interested in the information, even if those clients might not be obvious candidates in the salesperson's mind. Conversely, this functionality can prevent them from wasting their time contacting clients uninterested in the information and thus jeopardizing their relationship with these clients and delaying their contact with other clients who may be keenly interested in the information. Systems according to the invention may further be advantageous in that they can allow analysts to quickly find and communicate in real time with those coworkers interested in a significant piece of information. This can help to ensure that information is conveyed quickly and simultaneously to the interested coworkers and help to prevent uninterested coworkers from receiving irrelevant information. This functionality is an improvement over the telephone, with which an analyst can typically only communicate with one salesperson at a time, and can also avoid the delays and other shortcomings of slower forms of communication, such as e-mail. Systems according to the invention can also be advantageous in that they allow their users to build a rich and useful firm-wide knowledge base. By centrally storing and indexing a variety of types of information for future retrieval, individual salespeople can build on the work of their coworkers, even after these coworkers have left the firm, and thereby improve the firm's efficiency. Systems according to the invention may also be beneficial in other industries where information is an important component of a transaction, such as the commodities, hard goods or real estate industries. Brief Description of the Drawings Fig. 1 is an overview block diagram of a financial sales system illustrating features and operation of the invention, Fig. 2 is a home snapshot screen for a terminal of the system of Fig. 1 ; Fig. 3 is a navigation diagram for the system of Fig. 1 ; Fig. 4 is an interested client window for the system of Fig. 1 ; Fig. 5 is a client snapshot screen for the terminal of the system of Fig. 1; Fig. 6 is a call lists screen for the terminal of the system of Fig. 1; Fig. 7 is an equity snapshot screen for the terminal of the system of Fig. 1 ; Fig. 8 is a market snapshot screen for the terminal of the system of Fig. 1 ; Fig. 9 is a saved search screen for the terminal of the system of Fig. 1 ; Fig. 10 is an administration screen for the terminal of the system of Fig. 1 ; Fig. 11 is a screen showing a squawk box dialog for the terminal of Fig. 1 ; Fig. 12 is a screen showing a call list dialog for the terminal of Fig. 1 ; Fig. 13 is a client contact data screen for the terminal of Fig. 1 ; Fig. 14 is a home watch list screen for the system of Fig. 1; Fig. 15 is a home morning meeting screen for the system of Fig. 1 ; Fig. 16 is a home news and research screen for the system of Fig. 1; Fig. 17 is an interest editor screen for the system of Fig. 1 ; Fig. 18 is an add news and research alert screen for the system of Fig. 1 ; Fig. 19 is a news and research search screen for the system of Fig. 1 ; Fig. 20 is a to do dialog for the system of Fig. 1; Fig. 21 is a contact note dialog for the system of Fig. 1; Fig. 22 is a broker note dialog for the system of Fig. 1 ; Fig. 23 is a home global alerts screen for the system of Fig. 1; Fig. 24 is a home action items screen for the system of Fig. 1 ; Fig. 25 is a contact watch lists screen for the system of Fig. 1 ; Fig. 26 is a contact news and research screen for the system of Fig. 1 ; Fig. 27 is a contact holdings screen for the system of Fig. 1 ; Fig. 28 is a contact trades screen for the system of Fig. 1 ; Fig. 29 is a contact action items screen for the system of Fig. 1 ; Fig. 30 is an equity news and research screen for the system of Fig. 1 ; Fig. 31 is an equity earnings and recommendations screen for the system of Fig. 1 ; Fig. 32 is an equity fmancials screen for the system of Fig. 1 ; Fig. 33 is an equity holders screen for the system of Fig. 1 ; Fig. 34 is a search instruments screen for the system of Fig. 1; Fig. 35 is a search contacts screen for the system of Fig. 1 ; Fig. 36 is a search holdings screen for the system of Fig. 1 ; Fig. 37 is a news browser screen for the system of Fig. 1 ; Fig. 38 is a diagram illustrating the assembly of the portions of the data Fig. 39 is a data diagram for the system of Fig. 1; Fig. 39 is a data diagram for the system of Fig. 1; Fig. 40 is a block diagram of the back end of the system of Fig. 1 ; Fig. 41 is a block diagram of the front end and core of the system of Fig. 1 ; Fig. 42 is a block diagram of the online service environment for the system of Fig. 1 ; and Fig. 43 is a frame relay schematic for the system of Fig. 1. Detailed Description of an Illustrative Embodiment This invention provides a number of benefits to individuals who handle information involved in commercial transactions of different sorts. Many of these benefits are particularly well suited to use by individuals involved in the trading of financial instruments. A system suitable for use in this area is described below. Referring to Fig. 1, an illustrative financial information management system 10 employs a multi-tier software architecture, with each tier devoted to specific functions. At the back end of the system are a series of data feeds 12, which are connected to sources of financial data. The data feeds are operatively connected to a data tier 14, which includes storage for financial data received from the sources. A number of application servers 16 are operatively connected to the data tier, and can provide content to a number of web servers 18. The system also includes one or more user terminals 20 that are configured to communicate with the web servers. These terminals can be general-purpose personal computers that include a processor, memory, mass storage, a display, and one or more user input devices, such as a mouse and keyboard. Referring to Fig. 2, each user terminal 20 provides a number of user interface features, which allow the user to interact with the system. In the embodiment shown, the user terminals are personal computers that each run a standard operating system and a standard web browser 22. As is well known in the art, a web browser presents Hypertext Markup Language (HTML) pages to its user. These pages include graphical elements such as text, images and video, as well as controls, such as hyperlinks, radio buttons and text boxes, which the user can interact with using his or her user input devices. When using the illustrative financial sales system, the browser screen is generally divided into four main panels, a navigation bar 24, a content panel 26, a squawk box panel 30, and a ticker panel 32. The navigation bar is located along the left edge of the browser window. The content panel is located to the right of the navigation bar, and has a series of tab controls 28 located at its top edge. Located above the content panel at the top of the browser window are the squawk box panel 30, on the left, and the ticker panel 32, on the right. The panels can be implemented as separate entities using HTML frames. Referring also to Fig. 3, the navigation bar includes a number of controls 34, 36, 38, 40, 42, 44, and 46 that allow the user to change the contents of the content panel. In this way, the user can navigate to seven primary interface panels, which will be refeπed to as pages. These are the home snapshot page H01, the client snapshot page CN1, the call list page CL1, the equity snapshot page EQ1, the markets snapshot page MK1, the saved search page SRI, and the user groups administration page AMI . The tab controls (e.g., 28) within most of the primary pages allow the user to reach pages related to the primary pages. The navigation bar also includes controls 48, 50, 52, 54, 56, and 58 permitting the user to log out, to reach a first page of a hypertext help system HEl, and to reach three input dialogs: the add note box AN, the add to do box AT, and the add alert box AA. The home snapshot page can be reached by default upon login or by actuating the home control 34 on the navigation bar 24. It includes three main panels: an action item panel 60, a watch list panel 62, and a news and research panel 64. The action item panel is divided into a to do section 66 for to do items and an alerts section 68 for alert items. These items are shown as underlined hypertext links, and clicking on them allows the user to modify their parameters. At the top of the watch list panel 62 there is a drop-down list control 70, which allows the user to select one of several watch lists. These display a list of equity items (e.g., 72), which each include an equity symbol 74 as well as a price value 76 and a change value 78 for the equity for which the symbol is shown. Actuating one of the equity symbols takes the user to the equity snapshot page EQ1 for that equity. The news and research panel 64 includes a list of news and research items (e.g., 80). Each news and research item includes a date field 82, an article format icon 84, a title 86, a source acronym 88, and a client icon 90. Actuating the text of the title or the article format icon retrieves the text of the news or research entry (e.g., the text of the news story) in the home news and research page H03 and actuating the client icon takes the user to the an interested client window IC. Note that while placing the icon next to the name of a news story creates a clear association between the two, there are other ways to indicate such an association, and this association can even be implicit from context or proximity. Referring to Fig. 4 the interested client window IC includes a top panel 92 and a bottom panel 94. The top panel displays the text of the news or research item that was selected when the interested client window was selected. The bottom panel displays a view type drop-down list control 96 and view selection drop-down list control 98 that select the clients listed in a list of interested clients displayed in the bottom panel. The view type drop-down list allows the user to select search categories for interested clients and the view selection drop-down list control allows the user to select specific values for the selected category. For example, the user may search by equities covered in the story, or he or she may search by interest areas covered by the story. Interest areas can include country, region, and sector. The list of interested clients displayed in the bottom panel can be customized in much the same way as can the call lists page CL1. Referring to Fig. 5, the client snapshot page CN1 can be reached through the interested clients window 92, by actuating the contact control 36 on the navigation bar 24 with a full or partial contact name in a contact field within the contact control, and by actuating client icons in a number of other pages. The client snapshot page includes three panels: a contact data and action item panel 100, a watch list panel 102, and a news and research panel 104. A top section of the first panel is a contact data section 106, which presents contact information for the client, such as telephone numbers, fax numbers, addresses, e-mail addresses, and the like. A bottom section of the first panel is an action items section 108 that includes a notes section 110, a to do section 112, and an alerts section 114. The watch list panel 102 in the client snapshot page CN1 is similar to the watch list panel 62 in the home snapshot page HOI except that the drop-down list of the watch panel of the client snapshot page is set by default to show a watch list that has been configured for the particular client for which the snapshot page is displayed. The news and research panel 104 in the client snapshot page is also similar to the news and research panel 64 in the home snapshot page, except that its contents are derived from a client profile for the displayed client, instead of a user profile for the terminal user. Referring to Fig. 6, the call lists page can be accessed by actuating the call lists control 38 on the navigation bar 24. This page includes a drop-down selection box 120 for selecting one of a series of user-designed and/or administrator-designed lists of clients. Below the drop-down selection box is a customizable tabular list 122 of the clients in the cuπently selected list. This view is typically used to allow a user to quickly access groups of related telephone numbers, and by default includes columns for the client's name, firm, telephone numbers and e-mail address, although it can be customized to show columns for any of a number of fields relating to the client. The name field is displayed as a hypertext link to the client snapshot page CN1 for that particular client. Note that the terms client and contact are used interchangeably in this document, and are both intended to cover not only individuals that are actual clients, but also to their assistants, prospects, and other individuals with which the organization interacts. Referring to Fig. 7, the equity snapshot page EQ1 can be reached by actuating the equity control 40 with an equity symbol or name in an equity field within the equity control. The equity snapshot page includes a news and research panel 130, a company profile panel 132, a recommendations panel 134, and a quote/chart panel 136. The news and research panel is similar to the news and research panel 64 in the home snapshot page HOI, and includes a list of news and research entries related to the equity for which the page is displayed. The company profile panel 132 includes an indication of the sector and country (both searchable categories) for the equity, located above a fixed watch list for competitors of the company. The recommendations panel 134 displays internal and consensus recommendations for the equity for which the page is displayed. The quote/chart panel 136 includes live quote information and customized charts for the equity for which the page is displayed. Referring to Fig. 8, the markets snapshot page MK1 includes an indices panel 140, a currencies panel 142, a rates panel 144, and a news and research panel 146. The indices panel displays values for selected indices, the cuπencies panel displays exchange rates for selected currencies, and the rates panel displays yields for benchmark bonds. The news and research panel is similar to the news and research panel 64 in the home snapshot page HOI, except that instead of being the result of an interest profile, it includes a list of most or all news and research items received at the back end. Note that instead of displaying the results of an interest profile, a request to an external sever can be sent, such as by e-mail, so that information, such as an article, is sent to the contact by the server. Referring to Fig. 9, the saved search page SRI includes a news and research search panel 150, an instruments search panel 152, a contacts search panel 154, and a holdings search panel 156, which coπespond to the system's four search types. Each of these panels includes a list of saved searches that can be rerun by actuating a "go" button in the panel. Bracketed links are also provided at the top of each of the panels which enable the user to create a saved new search for that panel. These buttons operate the same way as the tabs at the top of the saved search screen. Searches can be conducted without being saved. Referring to Fig. 10, the administration user group page 160 can only be accessed by privileged users. It includes a list of user groups items (e.g., 162), which each list the name 164 of a user group, the number of users 166, and the last update date for the group 168. Privileged users can actuate the name of one of the groups to view and edit the membership of that group. On the top right portion of every screen is the ticker panel 32, which displays three scrolling lines. The top line lists real-time pricing for all morning meeting equities. The user can add equities to his or her morning meeting watch list to add more items to this ticker line. The middle line lists real-time news and research items based upon morning meeting equities. Adding equities to a user's morning meeting watch list will also add more items to this ticker line. To view live quotes for other equities in a separate window, the user can actuate a quote button located next to the squawk box panel. The bottom line lists triggered alerts for all contacts. Alerts are displayed on the Ticker for 24 hours on business days. Alerts triggered on the weekend are displayed on Monday (until 11 a.m.). Users can also interact with the ticker. They can click on any item and view a close-up view of the data in that line. They can also stop a line from scrolling by placing their mouse pointer on a ticker line. And they can drag the ticker line back or forward by placing their mouse pointer on a ticker line and pressing the right mouse button. On the top left portion of every window is the squawk box panel 30, which permits team members to send quick messages. These are displayed on every user's screen within a selected group, alongside the sender's initials in brackets. It is a scrolling chat-room style text box that permits everyone in the group to communicate with each other. Referring to Fig. 11, to use the squawk box, the user actuates a button located next to the squawk box 170. This opens a squawk dialog box, which includes a message area and destination controls. The destination controls include a group control 172, which allows the user to send a message to the members of a group, and a user control 174, which allows the user to send a message to individual users. The user first types his or her message into the message area, selects recipients and clicks on a send button. The system is designed to allow the squawk box to operate in real time (i.e., with a guaranteed maximum latency). Preferably, the latency is well below a minute, such as every at 15 seconds, although the system may have some value in some circumstances with a latency of a few minutes. The maximum latency can be adjustable. In operation, the user begins by entering a user ID and password before he or she can access any part of the system 10. This login information is initially assigned to the user by a system administrator. The first time that a user uses the system, he or she should perform the following setup steps: create contact lists, set up contact information, set up watch lists, set up interest profiles, set up contacts watch lists, and create contact alerts. Note that there are administrator tasks that must be performed before the user can perform these setup tasks. Referring to Figs. 6 and 12, creating contact lists allows the user to group contacts according to his or her own categories. For example, a user may create a client list that includes east coast customers and another list that contains west coast clients. Contact lists can be created before or after contact information is entered or imported. A user creates call lists by actuating the [add new list] link in the call lists screen CL1. The user is then presented with an add contacts box 200 that contains a list 202 of all contacts in the user's team. The user can also look for contacts in other teams by selecting from a drop down list 204. The client list uses standard selection methods to allow the user to highlight one or multiple client names. Clicking an add button adds the highlighted client names, and the system displays a list of all of the selected clients in a list members box 206. To remove a name from the list members box, the user can highlight it and click a remove button. To find a specific client's name, the user can begin entering the name in a find field 208, and the system highlights the name that matches the text entered in the find field. The user finishes the operation by assigning a name to the list and clicking a save button. Referring to Figs. 6 and 13, users can set up their contact information by directly entering basic contact information such as name, phone number, firm, email address into the client contact data panel CN7 or the call lists panel CL1. Alternatively, an administrator can import the information from their contact management software. An administrator may import any text file that contains the information in a comma separated value format or other suitable format. Note that this step is often performed on a firm-wide basis during deployment of the system. All users may add new contacts or edit existing ones, but only the administrator is allowed to delete contacts. Users can add contacts by clicking the [add contact] link from the call list page CL1, entering the fields, and then clicking a save button. When adding a new contact, whoever is covering the account should remember to set up his or her watch lists, interest profile, and link this contact to holding information. Referring to Fig. 14, user watch lists summarize pricing and volume information for groups of equities in the watch list panels. User watch lists also act as part of a user profile to retrieve news and research information items for the news and research panels on the home snapshot panel HOI and in the home news and research panel HO3. Contact watch lists similarly drive the watch list and news and research for a specific contact. Once these are set up for each contact, a user can find a list of contacts who share interest areas or specific equities by actuating the contact icons next to the news and research stories in the client news and research panels or the contact icons next to the equity items in the client watch list panels. To add a user watch list, the user actuates the [add watch list] link in the home watch list page HO2. To add a contact watch list, the user actuates the [add watch list] link in the client watch list page CN2. In both cases, the user is then prompted for a name for the user watch list and a list of equities to include in the user watch list. Referring also to Fig. 15, the morning meeting watch list can be displayed in the watch list panel 62 in the home snapshot page HOI and customized in the home morning meeting page HO4. It is a specially named watch list for a maximum of 12 equities that are the topic of the user's morning meeting. Users can update the morning meeting equities daily or as often as they want by clicking the edit morning meeting watch list control in the home morning meeting page. The home morning meeting page presents information for each of the equities in the user's morning meeting, including pricing and volume information, morning meeting notes from a commercial service (e.g., First Call) and broker notes added directly into the system. The home morning meeting page also displays a clients interested matrix with contact information for all clients and the morning meeting stocks they are interested in displayed on a grid 230. This grid includes links to news and research, charts, and the user's contacts who have the stock in their watch lists. Pricing information for morning meeting equities automatically display on the top line of the ticker. News and research regarding morning meeting equities is displayed in the middle line of the ticker. Specialized watch lists such as the morning meeting list can be personal or shared, and shared watch lists may be restricted to certain users. Referring to Fig. 16, interest profiles drive how news and information is displayed in news and research panels. The home news and research page HO2 and the client news and research page CN2 include controls that allow the user to view documents filtered by client interest profiles. Once a client's interests and watch list are set up, the user can view news, research, and pricing specific to the client. An Interest profile may include a region (e.g., Europe, Africa, Middle East), country, and sector (e.g., Advertising, Banking, Computers), or combinations. For example, an Interest profile can include the United States as a country and both computers and information technology as sectors. Referring also to Fig. 17, to set up a client interest profile, the user can select the [edit interests] link in the client news and research page CN3. This causes the system to display an edit interests page. This page includes a series of drop-down list boxes for each of the region, country, and sector categories 252, 254, 256. Next to the list boxes is an interest profile text box to which the user can add or remove any combination of categories for the user. Referring to Fig. 18, alerts allow users to track market events such as price and volume changes or when a news or research report is released. Contact alerts are distinguished from global alerts which are automatically created and not associated with specific clients. Global alerts notify users when any company in any of the watch lists of their contacts meets a particular criteria. They are automatically created based upon equities in any user watch list or client watch list. Users do not create global alerts directly, and global alerts do not display on the ticker. A global alert is automatically created for watch list equities if one of the following conditions occurs today: There was a price change of 5% up or down today The equity reached a pricing 52 week high or 52 week low There were earnings reported in the last 2 days There was a recommendation change (upgraded or downgraded) There are internal or consensus estimates FYE changes (i.e. upgraded or downgraded) There are internal or consensus earnings surprise percentages reported There is a research report out (e.g., internal reports from Research Direct) There are also non-equity global alerts for client birthdays and anniversaries if these dates are entered in the client contact data page CN7. Individual users create client alerts. These alerts are private; only the user who created them can view them. Users can create alerts that are associated with news and research and equity pricing/activity events related to his or her contacts' interests. News and research alerts cause the system to trigger an alert if a news or research item is released that pertains to a company, a news category, a country or sector. Equity pricing/activity events alerts cause the system to trigger an alert based upon pricing changes, earnings estimate, or trading and volume activity. Triggered alerts display on the bottom line of the ticker 32, on the home snapshot page HOI on the client snapshot page CN1, on the home action items page HO6, and on the client action items page CN6. The following are some uses of client alerts. If a user's client likes a particular analyst, he or she can set an alert any time the analyst generates a report. The user can also set alerts, for news items regarding particular stocks, and then use the holdings information to find other clients who are already holding the stock. The user can set multiple alerts for a client who likes a particular stock, and the sector, but thinks that a particular company is too expensive. This can be accomplished by setting a research alert that is triggered if the company meets its earnings, setting an instrument alert that is triggered if there is a 10% change in the price, or setting an alert based upon news from a particular sector. A user may also set a news alert to get information on a particular country's political situation. To set an alert, the user clicks on the alert control in the left navigation area 24, and the system displays the add news and research alert page by default. The user can then select either the instrument or real-time research alert type, if necessary. These alert creation pages are each divided into an alert trigger specification panel 260 and a contact specification panel. The alert trigger specification panel 260 includes one or more trigger specification controls 264 and a selection criteria box 266. The user adds criteria to the box 266 until the combined triggering conditions have been specified. The fields that are available for the different types of alerts are listed in Tables 1-4. Alerts can also be set up to trigger to do items and other system collaboration features. Category Field Choices Using the Criteria Fields News, Research, Company Name Enter the full name or the letters that Name or News and Ticker Symbol Symbol begins with; A partial name or symbol can Research be entered in this field since alerts are triggered if there is any news that matches the partial name. Headline/Title Specify the text that these items should contain to Author/Analyst trigger the alert. Subject News Category Select from the dropdown list and an alert will be Countries triggered if there is news or research that equals the Sectors selection. Table 1 : Available fields for News and Research Alerts Table 2: Available Fields for Real-Time Alerts Table 3: Available Fields for Real-Time Alerts Note that instrument reporting alerts are triggered if the company provides updated information that coπesponds to the alert conditions. Companies provide updates annually, quarterly, daily, or anytime, depending on the category or field. For example, if an alert is based upon one year earnings per share, it will be triggered when the company releases quarterly information. Once the alert triggering criteria have been set, the user specifies a list of clients to contact when the alert is triggered, by selecting a call list from the drop down box and then selecting names from the box. Multiple names can be selected by dragging the mouse or by holding the control key while clicking on names. It is important to delete old triggered alerts or to reset them. The system does not automatically remove or reset triggered alerts. Users may create, remove, or reset alerts by navigating to the client or home snapshot or action items screens. To remove or reset an alert, the user visits the snapshot or action items pages, clicks on the item, and clicks on a delete or reset button. Once the user has set up his account, he or she can begin using the system. He or she may view the ticker and results of the profiles and watch lists, as well as retrieve market, equity, and client information. He or she will probably also want to make adjustments to the profiles and watch lists and set new alerts. Other tasks include running and saving searches, preparing notes and to do items, viewing market data, and viewing reports. These tasks are described in more detail below. Referring to Fig. 19, the system offers its users a rich variety of search strategies. These include news and research searches, instruments searches, contacts searches, and holdings searches. To start a search, the user first navigates to one of the four search pages SR2-SR5 for the desired search type (see also Figs. 34-36). Each search page includes search criteria selection controls 270 and a selected criteria box 272, and operates in a similar manner to the add alert pages. Search fields for the different types of searches are listed in tables 4-15. Author/Analyst To find research items written by a particular person, a user can enter his or her name in the criteria field. In addition to this field choice, the date range field can be used to cause the system to find items older than today's. Company Name A user can enter the company name to find news or research items pertaining to a specific equity. Note: to use the company's Ticker symbol, use the Symbol field. Country A user can select a country from the drop down list. Use this field in conjunction with other fields to focus the search results. For example, to search for U.S. news or research items in the Advertising sector add two parameters: Specify "United States" for country and Advertising for sector. Date Range A user can select a date range from the drop down list to find news or research published in this range. Make sure to use other fields to focus the search results. For example, to find news or research on XYZ company, published in the last 2 days, select "last 2 days" from the date range dropdown list, and XYZ for the company name. Headline/Title Allows a user to find news or research containing particular words in the headline enter any text. Keywords This field lets a user find news or research that contains specific words anywhere in the article. The user may use multiple words separated by a space. For example, to find today's items that have the words Computers and Modems, enter "Computers Modems" Region To find news or research pertaining to a specific region, the user can select from the dropdown list. Sector The user can select from the dropdown list to limit the search to articles that are specific to markets. Subjects These are categories for research, such as from First Call. A user can select from the drop down list to find research that falls the category. Symbol To find news or research on a particular company, a user can enter its ticker symbol. Table 4: Available Fields for News and Research Searches Instrument search fields are divided in to the following categories of fields, which are described in more detail in Tables 5-15 presented below. Company Basics Dividends Earnings Estimates Financial Strength Financials Growth Rates Ownership Pricing Profitability Ratios Trading and Volume Recommendations Table 5: Company Basics Field Choices Table 6: Dividends Field Choices Table 7: Earnings Estimates Field Choices Table 8: Financial Strength Field Choices (most recent quarter) Net Income TTM (trailing 12 month) Same as above but for the last full year's reporting. Revenue MRQ (most Revenue includes everything: sales, interest income, proceeds recent quarter) from the sale of a subsidiary and so forth. Revenue TTM (trailing 12 month) Same as above for the last full year's reporting. Table 9: Financials Field Choices Table 10: Growth Rates Field Choices Institutions |pensιon funds and other large institutional investors Table 11 : Ownership Field Choices Table 12: Pricing Field Choices Table 13: Trading and Volume Field Choices Table 14: Profitability Ratios Field Choices Table 15: Recommendations Ratios Field Choices For the recommendation fields, the user can specify 1, 2, 3, 4, 5, or 6 from the drop down list, where 1= strong buy, 2=moderate buy, 3= hold, 4=moderate sell, or 5=strong sell. Note that negative numbers are allowed. For example, to search for instruments where the pricing has dropped more than 50%o in the last 4 weeks, the user can specify: "Pricing, 4 week change, < -50" in the field choices below. Some fields allow a user to specify the text that begins with what the user wants to search on. The system will find all instruments that match the fields that contains this text. For example, entering a partial name for the Name field will cause the system to find all matching instruments. The user can select from the dropdown list (e.g., =, >, <, <=, >=, or between) and specify the price value or range to view instruments with these parameters. Table 16: Client Search Field Choices First/Last Name To find holdings for a particular person, enter his or her name in the criteria field. Role This field is available only for contacts who are set up in the system with a role field. Contact Region This field is available only for contacts who are set up in the system with a region field. Select from the dropdown list to find holders who are located in a particular region. City To find Holders in a particular City. Company To find Holders at a specific firm, use this field. Fund Enter the Fund name if to find holding information for a particular fund. Holding Region To find holding information according to region, select from the dropdown list. Holding Country To find holding information according to a country, select from the dropdown list. Sector Select from the dropdown list to limit the search to articles that are specific to markets. Symbol To find holdings for a particular company, the user can enter the ticker symbol. Shares Held Use the less than, greater than, or equal to criterion with the number you enter to find holders who have a specific quantity of shares. Use this field in conjunction with other fields to find holders, for example, who have X number of shares in the Advertizing Sector. Value of Holding Enter in a dollar amount to find holdings with a specified value. Last Change in Shares Held Enter a number. Negative numbers can be used in this field to find holders who have reduced holdings. Last Change in Value Enter a dollar amount. Negative numbers are also permitted. Table 17: Holdings Search Field Choices To achieve searching on the above-described fields, the back end of the system maps index information from different suppliers to the system's uniform categorization system. For example, one information vendor might only tag a news story by country. The back end of the system would translate this tag into a region category and store it in the database in association with the text of the story. The indexer independently indexes the stories for full-text searching of stories and headlines. Referring to Fig. 20, the user can assign to do items to themselves or other users in their group. These items are listed in the user's home snapshot page HOI, his or her home action items page HO6, as well as his or her colleague's home snapshot page and home action items page. To view the details of a to do item in these views, the user can click on the headline in the snapshot or action items pages. From this detailed view, the user can mark the item as completed, after he or she has performed the task. The system automatically removes completed to do items after seven days. Users may also delete to do items by selecting a specific item, and clicking the delete button. To create a new to do item, a user first selects the add to do control 50 from the left navigation area 24. He or she then specifies the deadline date for the task to be completed. He or she also selects from a pair of dropdown lists 280. 282 a priority level for the message, such as high, normal or low, as well as a reason, such as call back. The user can use a contact control to associate to do items with one or more clients, allowing them to show up in the client snapshot page C 1 and the client action items page CN6. Finally, the user uses an assignment control to specify his or her user ID or a colleague's to assign the task, and clicks save. Referring to Figs. 21-22, the user may also prepare contact notes and broker notes. These are internal notes (or short documents) that users enter directly into the system. Contact notes permit users to memorialize and share information related to a contact. The contact-specific snapshot page and action items pages displays a list of any contact notes that a group's users may have added to the database. To view, edit, or delete the details of a note, the user can click on the headline in these views. Users can also search for notes or text in notes. To create a contact note, users can click on the add contact note control 54 in the navigation bar 24, or click the [add contact note] button in the client action items page CN6. When a user marks a note as private, only he or she may view the note. If he or she marks it as public (by unmarking the private checkbox), then all users who are in the user's group(s) may view and edit the note. The user can then fill in the headline, note text and select individual contacts and/or groups of contacts with whom to associate the note using a drop-down selection control 290. The user finishes by clicking on a save button 292. Contact notes are distinguished from broker notes. Broker notes are associated with market activity such as specific equities or region, sectors, or countries. They permit users to communicate market or equity information to other users. Broker notes can be viewed in any News and Research page and can be searched for by region, country, and sector. They are identified by a particular icon type in these views. To create a broker note from the home news and research page HO3, an equity-specific news and research page EQ2, or the market news browser MK2, the user clicks on the news and research heading and then clicks on the [add a broker note] link in the heading. In addition to a headline and text of the actual note, the user may associate the note with multiple equities by entering ticker symbols separated by a space, and a region, country, and sector combination. The user can also specify a type in a type field 300, which permits him or her to define the nature of the note (e.g., voice mail, visit, etc). Once defined with particular equities, region, country, sector, and type, users may view or search for notes with specific associations. Only the user who created the broker note is allowed to delete it. A broker note is automatically deleted from the system after one year. Contact notes are always associated with at least one client. Broker notes are associated with market information. The system acts as a powerful, easy-to-manage tool for helping financial instrument salespersons provide personalized, timely and intelligent sales coverage. It can help them determine who to call and when, and give them a summary of what to say during a number of different types of calls. For example, when preparing for a call, a salesperson can review the latest news and research of interest to the client before making the call. Although this material can come from a number of different content providers and the firm's own research, it is easily available in a condensed, targeted form through the coordinated use of watch lists, interest profiles, and saved searches. As a result, system users can both save valuable time and be well prepared for their calls. An analyst or salesperson can also search across data types (from all content providers) to easily get a real-time picture of what's happening in a specific region, country, and sector or any combination thereof. The system can also be beneficial in placing a block of stock. When the firm's syndicate group needs the desk to place a large block of a stock, the system can find all the clients with a demonstrated interest in the stock, either because they've traded it in the past, because the stock is listed on their watch lists, or because their interests include the appropriate industry. As a result, the salesperson will quickly obtain a list of very qualified customers to call first. And when a client calls with a request for information about an instrument, the salesperson can quickly access the news and research relating to the company, view a real-time quote, charts, summary financials, the latest internal and consensus earnings and recommendations, and a list of other clients interested in the instrument. The system is also beneficial in that it can alert the salesperson to possible client opportunities. Clients often mention specific parameters on instruments and want to be called if a parameter is met. For example, a client may want to purchase a stock if it hits a certain price, or the P/E falls below a particular level, or if there is certain volume in the stock. The system lets the salesperson set an alert to monitor these conditions, and notifies the salesperson when that happens, with a list of clients to call. The system can also allow a salesperson to prepare for travel. Before leaving, a user can use the search pages to get a list of contacts who are interested in a specific market and who are all located in specific city. Alternatively, a user can find clients who match the geographic itinerary of the user's trip. Team Selling features of the system also streamline efforts of a group within a firm. Analysts can use broker notes to communicate with the sales force, and tasks can be assigned to any member of a department. Non-private contact notes can also communicate information, and they can be searched, even after the author has left the company, unlike e-mail, which is often regarded as personal to the user. And the squawk box allows any user to instantly communicate with different groups of users. Report generators can also allow the firm using the system to reward users for using the system by developing usage statistics. This type of report generator retrieves and summarizes lists from the database, such as lists of public notes created, and lists of to do notes created and completed. Report generators can also be used to track client usage of the system, by retrieving usage statistics from the database. This type of report generator can relate these usage statistics with actual trades made by the client through the firm to determine how to best allocate resources to the client. A generalized report generator can also assist in understanding data. Such a report generator can generate reports based on different types of records. For example, chronological reports linking client information and their trading activities can be generated. It is also contemplated that single user systems or entirely enterprise-resident versions of the system can be developed. In the above discussion of the structure and operation of the system, many of the screens and features were presented and described. In the interest of completeness, however, an extensive list of navigation options between the different pages are presented below in table 18. Additional screens for the system are shown in Figs. 23-37. A data diagram for the system is also presented in Figs. 38-39. Contact- area Navigation path Call List Contact-specific area Add Group Add Contact Snapshot To-Do details Notes details Alert details Ticker Symbol (goes to equity snapshot) News/Research detail Ticker symbol Clients Interested Watch Lists Ticker Symbol (goes to equity snapshot) Delete Watch List Edit Watch List Add Watch List Customize Layout News and Research Charts Clients Interested News & Research News/Research detail Ticker symbol Other Client's Interested Edit Interest Profile Add Broker Note Filter item display according to Document Type, Time Period, Watch Lists, Interest profiles. Holdings Edit Holdings Customize Layout Ticker Symbol (goes to equity snapshot) News and Research Charts Other Clients Interested Trades Ticker Symbol (goes to equity snapshot) Filter item display according to Time Period, Country, Regions, and Sectors Action Items Contact Note detail To-Do detail Alert Detail Add Contact Note Add To-Do Add News and Research Alert Add Instrument Alert Add Real-Time Alert Contact Data Edit Contact Table 18: System Naviagtion Options The overall architecture of the illustrative system will now be discussed in more detail. Referring to Fig. 40, the data feeds 12 connect the system to commercial sources of financial data. In the embodiment shown, the data feeds include Dow-Jones and Comtex for news stories, First Call for broker-generated research documents, S&P Comstock for real-time price quotes and market data, Hoovers for corporate profiles, MarketGuide for corporate fmancials, First Call for analyst earnings estimates and recommendations, Interactive Data Corporation for dividend and other corporate information, and Technimetrics for portfolio manager and mutual fund holdings data. A number of background feed handler applications provide a software interface to these different third-party data sources and import data into the data tier. These handlers include a quote publisher (for Comstock real-time quotes), news servers (for Dow Jones and Comtex real-time news), and research and notes servers (for First Call research, notes, recommendations and earnings estimates through the DataLink interface). In addition, data from IDC, First Call, Technimetrics' Market Guide, and customer trades are handled through batch processes that run daily, weekly, or nightly. There are five different types of processes on the back end, although there are more than five processes. These types include: * Quote Publisher — link to real-time market data such as prices, trading volume, and tick information. Unique in that this information is not stored in the relational database. * Feed handlers — at least one process for every feed except real-time market data — interface to a feed and write data to a spool. * Ingestor — imports documents from a spool. * Datalink processes for importing batch data (such as corporate fmancials and earnings reports, company descriptions, dividend and other information, earnings estimates and analyst recommendations, etc.) from a spool. * An AlertHandler process which monitors incoming data to see if it should trigger an alert. If so it notifies other system processes (such as the Ticker Service) and manages the processing of the alert. Data feed listeners gather the data and spool them for the database and another process known as the ingestor. The ingestor process pulls documents from the spool and loads them into the database and the index engine. Separately, the database pulls in relevant company information from the spool. A separate batch process then initiates FTP scripts which pull instrument descriptive data, historical pricing information and ticker cross-reference data from sources such as IDC, First Call, and Market Watch and pushes them into the database. In addition to the commercial data services, the system supports an interface to the user's firm's internal trading system. This allows the system to use historical client trading activities to estimate client interests. The trading data interface performs a nightly batch import of trades, based on submission of an ASCII-formatted file. The data tier 14 consists of a relational database and a ticker plant for real-time price quotes maintained in memory in a software process called the Quote Service. In one embodiment, the database is implemented using Sybase Adaptive Server Enterprise 11.5. This database is used to store and categorize news and research documents as well as time-series data such as end-of-day prices and historical fmancials. The system also includes text indexing capabilities, which index text in the database to permit keyword searches. These are provided from an off-the shelf indexing system from Verity. Referring to Fig. 41, a number of application servers 16 provide a scalable software architecture for processing page requests and generating content for HTML pages. These application servers maintain direct connections to the relational database and quote service, and can query the data tier processes in order to gather information and complete content in the HTML pages. The application servers provide middle-tier application services between the web servers and the data stores. These services partition application functions and business logic into a number of stand-alone server processes which can be scaled across machines to support increasing throughput requirements. Application services responsible for delivering content to the front end include the a general purpose content service, as well as more specialized services including a chart service, which creates charts for display on the terminals, a quote service, which handles real-time quotes, a user verification service, and event services. Instances of the content service are important since they dynamically generate content to fill the HTML templates. Each instance of the content service is able to handle arbitrary requests from the web servers. Each web server performs load-balancing between the available content services to optimize response time, and content services can be distributed across multiple machines. Each content service maintains a dedicated connection to services such as the chart service, quote service, and the database. All application services run in Solaris Java 1.2 virtual machines, optimized for Solaris 2.6 using Just-In-Time (JIT) compiler technology. One or more web servers 18 receive HTTP requests from browsers, translate them to Java requests using Java Servlets, and forward the Java requests to Application Servers. The web Servers then receive complete HTML pages from the Application Servers and return them to the browsers. The web Servers also maintain TCP/IP connections with the browsers and manage communications with them. In the embodiment shown, Sun's Java Web Server 1.1.3 is used. Any web servers that support Java Servlets could also be used, such as Apache web servers equipped with a third-party plugin such as JRun's servlet engine. The HTTP server generates dynamic content using an HTML template framework, keeping separate the business content and static HTML. The system can support any number of web servers in an infinitely scalable architecture. The database can also be distributed across machines without substantially affecting its functionality. On the user's terminal 20, a web browser runs the user interface and communicates with the web Server. The embodiment shown supports the browsers Netscape Navigator 4.0 and Microsoft Internet Explorer 4.01 browsers. Each web browser receives from the web server several varieties of code: HTML including JavaScript, and two Java applets. The Java applets include a ticker that contains scrolling lists of price quotes, news stories, and triggered alerts, a squawk box, and a quotes window that updates in real-time. This code is processed by the web browser in order to create the user interface seen by the user. The use of standard web browsers can speed up installation, because software need not be deployed on all user terminals. Web browsers also provide support for users to open several windows at the same time, such as news and research windows. All server-side software processes in the system are written in Java, except: code contained within the database such as stored procedures, code written to access the database such as Structured Query Language queries, code permitting access to the database from Java programs such as Sun's JDBC, and scripts running on the UNIX servers. The web Server uses Java Servlets to translate HTTP requests into Java requests. Sun's RMI technology is used to enable Java processes to communicate with one another, within and across machines. Access to exchange quote data is controlled through user level entitlements to each exchange. Every user and every exchange in the system is maintained as rows in relational database tables. An entitlement mapping table between users and exchanges identifies the exchanges from which each user may view quotes. Each instrument has a mapping to the exchanges from which quote data is available, and necessary information to obtain quotes such as symbols on each exchange. The quote service provides an interface to exchange data feeds and maintains a cache of users to entitled exchanges. For each request by a user for quote data on an instrument, the exchanges from which quotes may be obtained and to which the user is entitled are retrieved, and from the Quote Service quote data is retrieved relating to trades on those exchanges. All Users are assigned unique and private login ID's by their administrative user. This user ID and password are required to access the system and are submitted via HTTP post. Passwords are stored encrypted in the database using SHA one-way digest encryption. Private leased lines or other technologies such as SSL (Secure Sockets Layer) can be used to prevent eavesdropping. The system tracks all sessions and allows access only from a single web browser at a time. Each logged-in User receives a session ID that is stored in an HTTP cookie that is used to authenticate each request. Session ID's become invalid when the user logs off or exits from the web browser. Access control is implemented at the application level. Users may or many not be set up with administrator privileges. Privileged users are permitted to create or modify other user profiles, user groups, and maintain a list of contact firms. Non-administrator users cannot execute administration functions and the Admin section is not a navigation option for them. User Groups are collections of people that regularly work together. The team selling features (squawk box, to-do's, and notes) default to the user's own group, but he or she may override the default to communicate to any user within the firm. All requests for client data are associated with the authenticated user ID of the requester and are validated to ensure the user is a member of a user group with access the data. The system uses First Call's broker codes, with which research documents are tagged, to control access to research. A firm may have multiple broker codes. All requests for research data are checked to ensure the broker code(s) of the research data request belong to the firm of which the user is a member. There is no known limitation to the number of physical servers that can be added in the front and middle tiers of the application. The Application Server processes interact transparently with remote processes through Java's RMI. More Application Server processes can be spawned on extra machines. When multiple web servers are in use, load balancing and fail-over are executed with Cisco's LocalDirector. Network failures are handled by Cisco's HSRP. The software design enables processes to reside transparently on any machine and enhances reliability. If a web server or application server machine were to fail, other machines take over the functionality. The database server is implemented with a fully redundant high-availability configuration, using Veritas HA with miπored disk aπays. Referring to Figs. 42 and 43, the embodiment shown runs in an Internet Data Center that is accessed via private (leased) lines. The web servers use Java Webserver 1.2 running on Solaris 2.6 HW 5/98 (with patch cluster 24356) and using JDK 1.2 and 1.1.6 with native threads installed, and Sybase JConnect for JDBC v4.0. The application servers use Solaris 2.6 HW 5/98 (with patch cluster 24356) and JDK 1.2 and 1.1.6 with native threads installed. The database server uses Solaris 2.6 HW 5/98 (with patch cluster 24356) and JDK 1.2 and 1.1.6 with native threads installed, Sybase Adaptive Server 11.5, with text indexing capabilities from Verity. The web browsers supported are Internet Explorer 4.01 (with service pack 1) or Netscape 4.04 (or higher). Unauthorized access to the network is prevented by using a router for packet filtering and allowing only HTTP connections to port 80 on the web server. FTP connections to the database server from data vendors are permitted for nightly or intraday downloads of financial data. The present invention has now been described in connection with a number of specific embodiments thereof. However, numerous modifications which are contemplated as falling within the scope of the present invention should now be apparent to those skilled in the art. For example, the visual feel of the application and particular controls could be implemented in different ways. Different software and hardware platforms and services can be assembled in different ways to achieve similar results in different circumstances. And systems could be developed for other types of sales, such as commodities, hard goods or real estate. Therefore, it is intended that the scope of the present invention be limited only by the scope of the claims appended hereto. In addition, the order of presentation of the claims should not be construed to limit the scope of any particular term in the claims. What is claimed is:

Claims: CLAIMS 1. A market information management terminal, comprising: a contact management interface including contact record display areas, wherein each contact record includes contact identification information, a market information interface including display areas for market information items extracted from one or more information sources based on search criteria, and association elements indicating an association from ones of the market information items to ones of the contact records. 2. The apparatus of claim 1 wherein the association elements are controls that appear in proximity to the market information display areas, and wherein the controls are responsive to user input to provide additional information about the contact records for which they indicate and association. 3. The apparatus of claim 1 wherein the market information items include titles of articles related to market topics and wherein the market information items can be actuated to retrieve at least portions of the articles. 4. The apparatus of claim 1 wherein the market information items include holding information items and wherein the association elements associated with the holding information items associate the holding information items with ones of the contact records for contacts who hold financial instruments referenced in the holding information. 5. The apparatus of claim 4 further including a cuπent holdings feed from a source of cuπent trading information and wherein the holding information items are extracted from this source. 7. The apparatus of claim 1 wherein at least some of the display areas can be actuated to retrieve further information from the contact records. 8. The apparatus of claim 1 wherein at least a first subset of the association elements are controls that appear in proximity to the market information display areas and that are responsive to user input to provide additional information about the contact records for which they indicate and association, and further including controls that appear in proximity to ones of the contact record display areas, and that are responsive to user input to provide additional information about the market information items for which they indicate and association. 9. The apparatus of claim 1 wherein the contact management interface and the market information interface are presented in a hypertext format and wherein the association elements are hyperlinks between the contact management interface and the market information interface. 10. The apparatus of claim 1 wherein the one or more association elements include contact icons located in proximity to the securities-related information items. 11. The apparatus of claim 1 wherein the market information interface includes a customizable market observation window area, and wherein the market information items relate to a user-defined list of securities. 12. The apparatus of claim 1 wherein the market information interface includes a customizable news article browsing window area, and wherein the market information items relate to a user-defined list of keywords. 13. The apparatus of claim 1 wherein the market information interface includes at least a portion of a notable market data window area, and wherein the market information items relate to notable events in one or more entire securities markets. 14. The apparatus of claim 1 wherein the market information interface includes at least a portion of a real-time alert window area, and wherein the market information items relate to the subject matter of alerts in the real-time alert window area. 15. The apparatus of claim 1 wherein the one or more of the association elements include an interested contacts control that is operative to display a list of interested contacts. 16. The apparatus of claim 1 further including a search profile entry interface including user controls for generating search profiles that include the search criteria and are associated with selected ones of the contact records. 17. The apparatus of claim 16 wherein the search profile entry interface includes controls for generating numerical search criteria and for generating textual search criteria. 18. The apparatus of claim 17 wherein the numerical criteria include price values for securities and wherein the textual search criteria include names related to securities. 19. The apparatus of claim 16 further including a search engine responsive to data from a series of data feeds, and being operative to search these data based on the search criteria to extract the market information items. 20. The apparatus of claim 19 wherein the search engine is operative to search news stories, research documents, corporate fmancials and earnings, analyst estimates and recommendations, and internally generated notes. 21. The apparatus of claim 16 wherein the search profile entry interface includes combinable search criteria selections for location, business sector, and financial instrument type. 22. The apparatus of claim 1 wherein the market information interface is operative to display the association elements in real time as the market information items are extracted. 23. The apparatus of claim 1 wherein the contact management interface includes entry areas responsive to user input to receive data for storage in the contact information records, wherein the information records include at least a contact name field and a field for information enabling contact with the contact, and wherein the association elements are displayed with at least one of the contact management interface and the market information interface. 24. The apparatus of claim 1 wherein the market information items, the association elements, and the contact records are both stored centrally such that further financial terminals can also access the market information items and the contact records. 25. The apparatus of claim 1 wherein at least a portion of the market information interface and the contact management interface are displayed to the user simultaneously. 26. A market information management system, comprising: a plurality of data feeds responsive to a plurality of different sources of information, including news information and trading information, an integrated database responsive to the market data feeds and including a plurality of storage records, the storage records including storage records for market items received from the data feeds, a plurality of terminals, each terminal including: a market information interface responsive to the database and including display areas for market information items extracted from the market data feeds, and a communications interface operative to create shared items that are accessible by users of a plurality of the terminals, wherein the shared items are linked to the database. 27. The system of claim 26 wherein the communications interface is operative to create shared data items that include links to one or more of the market information records. 29. The system of claim 26 wherein the storage records in the database include contact records and wherein the communications interface is operative to create shared data items that include links to one or more of the contact records. 30. The system of claim 26 wherein the communications interface is operative to create shared data items that are stored as ones of the storage records and indexed in the database. 31. The system of claim 30 wherein the shared data items and the market data items share searchable fields. 32. The system of claim 26 wherein the communications interface is operative to create different types of shared data items that are linked to the database in different ways. 33. The system of claim 32 wherein the different types of shared data items include contact notes, broker notes, to do items, searchable notes, and watch lists. 34. The apparatus of claim 26 wherein the communications interface is responsive to user input to limit the availability of shared items to only selected users. 35. The apparatus of claim 26 further including a report generator responsive to the database to summarize information about shared items created by different users. 35. A market information management system, comprising: a plurality of terminals, each terminal including: a market information interface including display areas for market information items retrieved from a plurality of data sources, and a squawk interface including input and output areas responsive to user input to receive a message from the user at one of the squawk interfaces at one terminal and display the message on others of the squawk interfaces on other terminals. 36. The apparatus of claim 35 wherein the squawk interface further includes a selective routing control responsive to user input to limit the terminals to which a message is sent. 37. The apparatus of claim 36 wherein the selective routing control is responsive to user input to select whether to route the message to one of a plurality of groups. 38. The apparatus of claim 35 further including a squawk routing system interconnecting the terminals and wherein the squawk routing system is operative to broadcast messages to its recipients in real-time. 39. The apparatus of claim 35 wherein the market information interface and the squawk interface are presented in a hypertext format. 40. A market information management terminal, comprising: an alert creation interface, including controls responsive to user input to select alert criteria relating to securities-related information formatted with a first data type and to select alert criteria relating to securities-related information formatted with a second data type, and an alert display interface operative to display in real time alerts triggered by a match between the alert criteria of the fist data type and received securities-related information of the first type, and to display in real time alerts triggered by a match between the alert criteria of the second data type and received securities-related information of the second type 41. The apparatus of claim 40 wherein the securities-related information of the first type includes numeric information and wherein the securities-related information of the second type includes textual information. 42. The apparatus of claim 41 wherein the securities-related information of the first type includes numeric securities price information and wherein the securities-related information of the second type includes news and research information. 43. The apparatus of claim 40 further including a search engine responsive to data from a series of data feeds, for searching these data based on the alert criteria. 44. The apparatus of claim 43 wherein the search engine and the alert display interface are operative to display alerts within five minutes from reception of data matching the alert criteria. 45. The apparatus of claim 43 wherein the search engine is operative to search each of a set of the plurality of data feeds based on one of the alert criteria. 46. The apparatus of claim 40 wherein the alert creation interface is operative to create individual alert criteria that each relate to a plurality of subjects. 47. A market information management terminal, comprising: means for displaying contact records that include a contact name and associated contact information, means for displaying market information items extracted from one or more information sources based on search criteria, and means for presenting visual associations from ones of the market information items to ones of the contact records. 48. The apparatus of claim 47 further including means for recording the search criteria in profiles for individual ones of the contacts and wherein the means for displaying market information are responsive to ones of the market information items extracted from one or more information sources based on the profiles. 49. The apparatus of claim 47 wherein the means for visually associating include control means responsive to user input to provide additional information about the contact records or the market information items. 50. A market information management method, comprising: displaying contact records that include a contact name and associated contact information, displaying market information items extracted from one or more information sources based on search criteria, and presenting visual associations from ones of the market information items to ones of the contact records during one of the steps of displaying. 51. The method of claim 50 further including a step of recording the search criteria in profiles for individual ones of the contacts and wherein the step of displaying market information is responsive to ones of the market information items extracted from one or more information sources based on the profiles. 52. The method of claim 50 wherein the step of visually associating includes control means responsive to user input to provide additional information about the contact records or the market information items. 53. The method of claim 50 wherein the steps of displaying contact records, displaying market information and visually indicating an association are all performed on the screen of a terminal. 54. A market information management system, comprising: a plurality of terminals, each terminal including: means for storing indexed market information items received from a plurality of data feeds, means for displaying market information items extracted from the means for storing, and means for creating shared items that are shared between users of the terminals, wherein the shared items include links to one or more of the market information items. 55. The apparatus of claim 54 further including means responsive to user input for limiting the availability of shared items to only selected users. 56. The apparatus of claim 54 further including means for searching the shared items. 57. A market information sales system, comprising: a plurality of terminals, each terminal including: means for displaying market information items, and means responsive to user input for receiving a message from the user at one of the terminals and displaying the message on others of the terminals. 58. The apparatus of claim 57 wherein the means for receiving further includes means responsive to user input for limiting the terminals to which a message is sent. 59. The apparatus of claim 57 further including means for routing the message to the others of the terminals in real time. 60. A market information management method, comprising: displaying market information items on one of a plurality of terminals, responding to user input to receive a message from the user at one of the terminals, and displaying the message on others of the terminals. 61. The method of claim 60 further including a step of limiting the terminals to which a message is sent in response to user input. 62. The method of claim 60 wherein the step of displaying the message on others of the terminals occurs within a guaranteed latency period after the step of responding to user input to receive the message. 63. A market information management terminal, comprising: means responsive to user input for selecting alert criteria relating to securities-related information formatted with a first data type, means for selecting alert criteria relating to securities-related information formatted with a second data type, and means for displaying in real time alerts triggered by a match between the alert criteria of the fist data type and received securities-related information of the first type, and for displaying in real time alerts triggered by a match between the alert criteria of the second data type and received securities-related information of the second type. 64. The apparatus of claim 63 wherein the securities-related information of the first type includes numeric securities price information and wherein the securities-related information of the second type includes news and research information. 65. A market information management method, comprising: selecting alert criteria relating to securities-related information formatted with a first data type, selecting alert criteria relating to securities-related information formatted with a second data type, displaying in real time alerts triggered by a match between the alert criteria of the fist data type and received securities-related information of the first type, and displaying in real time alerts triggered by a match between the alert criteria of the second data type and received securities-related information of the second type. 66. The method of claim 65 wherein the securities-related information of the first type includes numeric securities price information and wherein the securities-related information of the second type includes news and research information. 67. A data memory, comprising: a contact database including contact records having fields for contact identification information fields, a market information database including an indexed set of market information items, and links to contact records in the contact database from items in the market information database. 68. The data memory of claim 67 further including a shared communication database including shared items created by different users, and links between the market information items in the market information database and the shared items in the shared communication database. 69. The data memory of claim 67 wherein the links include at least links between a plurality of contact records and one of the market information items and links between a plurality of market information items and one of the contact records. 70. A data memory, comprising: an integrated database including a plurality of storage items that include an indexed set of market information items, a plurality of shared communication items created by different users, and links between the shared information items and the plurality of storage items in the database. 71. A market instrument information handling system, comprising: a contact management interface including contact record display areas, wherein each contact record includes contact identification information, a search profile entry interface including user controls for generating search profiles that include market information search criteria and are associated with selected ones of the contact records, a request export interface responsive to the search profile, wherein the request export interface is operative to export a document search request including document selection information corresponding to the search profile and including delivery information corresponding to on or more of the contact records, and a communications interface responsive to the request interface, for connection to a document delivery server. 72. A market information handling system, comprising: an individual database including contact records having fields for identification information for a plurality of individuals, a market information database including an indexed set of market information items, and a report generator operative to selectively extract reports relating to a plurality of the records in the individual database or the market information database. 73. The apparatus of claim 72 wherein the report generator is operative to organize the reports on a time line. 74. The apparatus of claim 72 wherein the report generator is responsive to the contact records and to trading information for the contacts, and is operative to generate reports relating trading information for particular contacts to the association of contact records for the particular contacts with market information items. 75. The apparatus of claim 72 wherein the individual database is a contact database including contact records, wherein the information fields are contact identification information fields, and wherein the report generator is operative to selectively extract reports relating to a plurality of the records in the contact database or the market information database. 76. The apparatus of claim 75 wherein the report generator is responsive to the contact records and to trading information for the contacts, and is operative to generate reports relating trading information for particular contacts to the association of contact records for the particular contacts with market information items. 77. The apparatus of claim 72 wherein the report generator is operative to organize the reports on a time line, wherein some of the market information items consist of historical securities prices, wherein the historical securities prices are rendered in graphical charts, and wherein descriptions of other market information items are overlaid on the charts, at the appropriate time indexes. 78. The apparatus of claim 72 wherein the individual database is a user database including user records, wherein the information fields are user identification information fields, and wherein the report generator is operative to selectively extract reports relating to a plurality of the records in the user database and the market information database. 79. The apparatus of claim 72 wherein the report generator is operative to develop usage statistics for users of the system based on items created in the system by the users. 80. A market information management terminal, comprising: a plurality of user interface items, including: a plurality of contact display items that relate to different contacts, and a plurality of market display items that relate to different market information items extracted from one or more information sources based on search criteria and are displayed simultaneously with the contact display items, and wherein the plurality of user interface items are aπanged to indicate associations between ones of the market display items and ones of the contact display items. 81. The apparatus of claim 80 wherein the contact display items are responsive to user input to provide additional information about contacts for which they indicate an association. 82. The apparatus of claim 80 wherein the market display items include titles of articles related to market topics and wherein the market display items can be actuated to retrieve at least portions of the articles. 83. The apparatus of claim 80 wherein coπesponding ones of the contact display items and the market display items are located in proximity to indicate an association between them. 84. The apparatus of claim 80 further including a real-time alert facility responsive to market data feeds, and wherein the user interface items are displayed in at least a portion of a realtime alert window area, and wherein the market display items relate to the subject matter of alerts in the real-time alert window area. 85. The apparatus of claim 80 further including a search engine responsive to data from a series of data feeds, and being operative to search these data based on the search criteria to extract market information items, wherein the user interface items are displayed in a search result window, and wherein the market display items relate to the market information items.. 86. The apparatus of claim 85 wherein the search criteria are based on information relating to the contacts. 87. The apparatus of claim 86 wherein the information relating to the contacts includes watch lists for the contacts. 88. The apparatus of claim 86 wherein the information relating to the contacts is a boolean combination of keywords drawn from several categories. 89. The apparatus of claim 88 wherein the categories include region, country, and sector. 90. The apparatus of claim 80 further including a watch list facility responsive to data from a series of data feeds, and being operative to search these data based on the search criteria to extract market information items, wherein the user interface items are displayed in a watch list window, and wherein the market display items relate to the market information items. 91. A market information management terminal, comprising: means for displaying contact display items that relate to different contacts, means for displaying market display items that relate to different market information items extracted from one or more information sources based on search criteria and are displayed simultaneously with the contact display items, and means for indicating associations between ones of the market display items and ones of the contact display items. 92. A market information management method, comprising: displaying contact display items that relate to different contacts, displaying market display items that relate to different market information items extracted from one or more information sources based on search criteria and are displayed simultaneously with the contact display items, and indicating associations between ones of the market display items and ones of the contact display items.

Inventors: KOPIKIS ALEXIS, MARCUS DAVID, WALBORSKY PAUL, KOPIKIS, ALEXIS, MARCUS, DAVID, WALBORSKY, PAUL
Applicants: KOPIKIS ALEXIS, MARCUS DAVID, WALBORSKY PAUL, WORLDSTREET CORP, KOPIKIS, ALEXIS, MARCUS, DAVID, WALBORSKY, PAUL, WORLDSTREET CORPORATION
Application year: 2000
Main classification: G06F17
IPC codes: G06Q40