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