GB2388939A - A method and system for providing data to a user based on a user's query - Google Patents

A method and system for providing data to a user based on a user's query Download PDF

Info

Publication number
GB2388939A
GB2388939A GB0318435A GB0318435A GB2388939A GB 2388939 A GB2388939 A GB 2388939A GB 0318435 A GB0318435 A GB 0318435A GB 0318435 A GB0318435 A GB 0318435A GB 2388939 A GB2388939 A GB 2388939A
Authority
GB
United Kingdom
Prior art keywords
query
term
document
data
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0318435A
Other versions
GB2388939B (en
GB0318435D0 (en
Inventor
Yuri Urazov
Evgueni Belitski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Multex com Inc
Original Assignee
Multex com Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/290,121 external-priority patent/US6351747B1/en
Application filed by Multex com Inc filed Critical Multex com Inc
Publication of GB0318435D0 publication Critical patent/GB0318435D0/en
Publication of GB2388939A publication Critical patent/GB2388939A/en
Application granted granted Critical
Publication of GB2388939B publication Critical patent/GB2388939B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method and system is described for notifying users of an arrival of a document. A respective query is received from each respective user (10). Each respective query includes at least one query term and at least one query condition. For each respective query, each one of the at least one query term is stored (2') in a database only if the one query term is unique with respect to other query terms stored in the database. The document, which includes a document term being associated with the document, is received. The document term is compared with the stored query terms (20). For each respective query, a determination is made whether all of the at least one query condition of the respective query is satisfied as a function of the comparatione between the document term(s) and the stored query terms. For each respected query, if all of the at least one query condition of the respective query is satisfied, the respective user is notified (25) of the arrival of the document.

Description

( A METHOD AND SYSTEM FOR PROVIDING DATA TO A USER
BASED ON A USERS QUERY
5 Field of the Invention
The present invention is directed to a method and system for providing data to a user based on a users query.
Background Information
10 Financial research providers such as brokerage and investment banking firms spend large sums of money creating, printing and distributing thousands of graphic-rich research reports to investors (e.g., customers, remote sales offices, investment advisors, brokers, portfolio managers, etc.). Research is providers seeking to reduce costs may consider distributing these reports electronically, from computer to computer Electronic distribution is generally cost effective when compared with hard copy distribution methods. Communication networks, such as the Internet, enable information to be 20 distributed to a wide range of people at locations around the world. U.S. Patent No. 5,802,518 to Karaev et al. and U.S. Patent No. 5,819,271 to Mahoney et al., expressly incorporated herein by 25 reference, describe electronic information distribution systems that allow remote users to receive, access and query information that is stored in electronic form at a central server, called a repository server. Users communicate with the repository server via, e. g., the Internet. The repository 30 server is coupled to the Internet by a web server. The repository server comprises or is coupled to a plurality of databases of information stored in electronic form.
The repository server is coupled to one or more remote 35 contributor workstations. The -nformation that is stored at the repository server is received from the contributor workstations in electronic form. The information received from the contributor workstations are files comprising one or
( more documents These documents typically contain Next, data, charts, graphs' spreadsheets and the like, or combinations thereof, and may be in many formats Any information that can be stored in digital form, such as photographs, videos, sound 5 recordings, etc. may be stored in the files received from the contributor workstations. The files received from the contributor workstations are converted at a central site into a predetermined format, e.g, for prir.tabie documents, a common viewing format such as, for example, PDF format, and 10 thereafter provided to the repository server Each document submitted to the repository server may be accompanied by a document profile comprising information organized according to predefined fields relating to the document.
15 Each user has a user computer, such as, e.g, a personal computer with an Intel Pentium processor and a modem The user computer may, or may not, have a local storage device An example of a computer without a local storage device may be, e g., a network computer, ''thin" client, etc The user 20 may use the computer to connect to the repository via, e.g, - Tr. ternet, intranet, extrenet ?nd,'^ d-'---n acts.
The repository server can provide the user with a list of new documents that have been recently received by the repository 25 server and which that user is authorized to access The user may also request a list of documents that fit certain user-
specified search criteria. A list of the documents that match that search criteria and which the user is authorized to access is provided to the user computer The user can then 30 select, request and view documents from these lists.
The web server is coupled to at least two database search engines in the repository server. At least one search engine performs at least full text searching of textual documents.
35 At least one other search engine performs at least searching on predefined fields of information. When a search is
submitted by the user to the web server, it is determined what
type of search is required, and the Primate truer:, e. g, full refits search on predefine fields) is formulated and
s..i red t- tile appropriate search engine. The search engine returns a results set to the web server Typically, the 5 results set comprises a list of documents satisfying the Rued and that the user has authorization to access.
When an external event occurs, i.e, a 'inews'' event, users (e.g. investors) must be immecli.aely notified in order t'J 10 properly react to the news. The systems described in the Karaev '518 patent and the Mahoney '271 patent r.otif;, users Of events using a.tstored query') method. The "stored query" method first stores a users query and then executes the istored query periodically. An incoming document is matched 15 against every existing user profile Each user profile identifies, for example, the type of documents or news the user is interested in seelr.g. This approach is time cor.s,ming. Accordingly, there _s a need for a method and system for providing data tO a user based on a users query.
Summary of the Invention
The present invention provides a method and system for notifying users of an arrive; of a document. A respective 25 query is received from each respective user. Each respective query includes at least one query term and at least one query, condition. For each respective query, each one of the at least one query term is stored in a database only if the one query term is unique with respect to other query terms stored 30 in the database.
The document, which includes a document term being associated with the document, is recelv-d. The document teen is compared with the stored query terms. For each respective query, a 35 determination is made whether all of the at least one Avery condition of the respective query is satisfied as a function of the comparison between the document Dermis) and the
stored query terms. For each respective query, if all of the at least one query condition of the respective query is satisfied, the respective user is notified of the arrival of the document.
Brief Description of the Drawings
Figure 1 shows an exemplary embodiment of a system according to the present invention.
10 Figure 2 shows an alternative exemplary embodiment of the system according to the present invention.
Figure 3a shows an exemplary embodiment of a Document Management Database.
Figure 3b shows a document term of the Document Management Database illustrated in Figure 3a.
Figure 4a shows an exemplary embodiment of a User Profile 20 Database.
Figure 4b shows a query term of the User Profile Database illustrated in Figure 4a.
25 Figure 5a shows an exemplary embodiment of a Finite Automata Database. Figure 5b shows a FAD term of the Finite Automata Database illustrated in Figure Sa.
Figure 6 shows an exemplary embodiment of a method according to the present invention.
Figure 7 shows an exemplary embodiment of a method for 35 generating the Finite Automata Database according to the present invention.
! Figure 8 shows an exemplary embodiment of a method for optimizing a performance of the system.
Figure 9 shows an alternative exemplary embodiment of the S system according to the present invention Detailed Description
General Overview 10 Figure 1 illustrates an overall architecture of a system 1 according to an example embodiment of the present invention.
The system 1 includes a central server 2 which is coupled to a user computer 10 and a contributory workstation 15 via a network 12. The communication network 12 may include, e.g., 15 the Internet, intranet, extranet, a conventional telephone network, a wireless network, a local or wide area network, a virtual network, etc. A contributor at the contributory workstation 15 provides 20 (i.e., contributes) documents (e. g., data, research, etc.) to the central server 2 via -he network 12. The central server 2 receives and stores the documents. In accordance with the present invention, if a newly received document is of interest to the user at the user computer 10, (as determined by 25 predefined criteria) and the user is entitled to access it, the central server 2 notifies the user as to the existence of the document at the central server 2 according to a predetermined notification procedure. Once the user receives the notification, the user may access the central server 2 via 30 the network 12 to retrieve the particular document.
As used herein, the term "user" includes any end user who is permitted to receive or access information (and/or notification) via the present invention, such as, for example, 35 customers of brokerage and investment banking firms, employees of brokerage and investment banking firms, investment advisors, brokers, bankers, portfolio and fund managers,
( journalists, analysts, economists, university professors, MBA students, etc Of course, the present invention is not restricted to use in systems which provide financial research.
Thus, the user may be any end user with access privileges. It 5 also should be noted that the document may be provided to a computing device, a trading program, a news reporting agency, a bank, a governmental agency, etc. The central server 2 of the system 1 may include at least one 10 storage device 85, a processor 80 (including memory and other peripheral devices) and a communication arrangement 87 (e.g., a modem, a network interface card, etc.). The storage device 85 may store a Document Management Database ("DMD") 200, a User Profile Database ("UPD") 220 and a Finite Automata 15 Database ("FAD") 250, which are described in detail below.
Document Management Database The Document Management Database or the DMD 200 stores documents and document-related information received from the 20 contributory workstation 15 via the network 12. In particular, referring to Figure 3a, the DMD 200 stores a plurality of document records 201. Each document record 201 of the DMD 200 may include, e.g., a reference field 205, a
document field 210 and a structured record 215. The reference
25 field 205 includes a unique document reference number which is
assigned to each document.
The document field 210 includes the actual document. The
document may include any predefined data, e g, news stories, 30 research reports, morning meeting notes, etc. The document could contain text, data, charts, graphs, spreadsheets and the like, or combinations thereof, and may be in many formats. It will be appreciated that any information that can be stored in digital form, such as photographs, videos, sound recordings, 35 etc. may be attached Lo the documents. If the document is not properly formatted, the central server 2 may convert the document into a predetermined format, e.g., for printable
documents, a common viewing format such as, e.g., a PDF format. Each document submitted to the central server 2 may be 5 accompanied by a document profile which is stored in the structured record 215. The document profile includes information organized according to at least one document teems 300 Figure 3b shows an exemplary embodiment of the document term 300 which may include, e.g., two fields: a first document
10 field 305 and a second document field 310. The first document
field 305 may include a predefined field, while the second
document field 310 may include a keyword extracted from the
document. For instance, if the particular document mentions IBM Corp., the predefined field may be "Company" and the
15 keyword may be "IBM". The document term 300 may be expressed as follows: ''(Company(IBM))t, "Company-IBM", or "CompanyiIBM".
The predefined field may be, e.g., a stock symbol, a company
name, a particular industry, a geographic location, date, a 20 document type, a document text, etc. One skilled in the art should understand Oh-'. '-- ace-- 3.ist is exemplary and other fields are conceivable. Availability of the fields may depend
on, e.g., the type of the document and may be adjusted instantaneously according to a predetermined procedure.
The present invention is not limited to the predefined fields.
Further predefined field(s) may be available to the user. The
further predefined fields may include certain text in any
portion of the document. Thus, the central server 2 may amend 30 the accompanied document profile to include further predefined field(s) which are not utilized by the contributory
workstation 15 that provided the document profile.
Furthermore, if the document submitted to the central server 2 is not accompanied by the document profile at all, then the 35 central server 2 may generate the document profile by parsing the predefined field(s) and the further predefined field(s)
and the corresponding keyword(s) from the document.
! As shown in Figure 3a, the document record 201 may include, e.g., "101094jIBM.wpd;Symbol(IBM), Industry(Hardware)". The document record 201 indicates that the document reference number is 101094 and that the document is stored in the 5 storage device 85 as a file IBM.wpd. Furthermore, the document record 201 indicated that the document includes document terms 300 "Symbol(IBM), Industy(Hardware)".
User Profile Database lo The storage device 85 also stores the User Profile Database or the UPD. The UPD includes particular information regarding each user. Figure 4a shows an example embodiment of the UPD 22C which contains a plurality of user records 221. Each user record 21 may include, e.g., four fields: a user
15 identification field 225, a query identification field 228, a
query field 230 and a notification field 235.
The user identification field 225 may contain predetermined
information to identify the user. Such information may 20 include, for example, a user unique identification and a corresponding password. in tZ) LG10,L, it may include user s access privileges. Figure 4a shows an example of two user records, one associated with user "XYZ" and the other associated with user "ABS".
Each user record may include "user queries" which set forth, in the form of logical expressions, for example, criteria for selecting documents for which the user would like to receive notification. For example, user XYZ may be interested in 30 receiving notification of all newly arrived documents associated with the ticker symbol IBM and a hardware industry.
Accordingly, a query field 230 associated with user XYZ's user
record would include, for example, a logical expression "Symbol(IBM) AND Industry(Hardware)."
In this case, "Symbol" may be a predefined document term. For example, a contributor of a document may specify in a document
profile that the document is associated with the ticker symbol "IBM." However, the queries in the user records are not restricted to predefined document terms. For example, another logical expression in the query filed 230 may be ''Text (IBM)" 5 indicating that the user is interested in receiving notification of any document that contains "IBM" anywhere in the document.
User queries may be tagged with a unique identifier. As 10 illustrated in Figure 4a, for example, user XYZ's query is tagged with "10191" which may be stored in a cheery identification field 228 of user XYZ's user record.
A user record may include several user queries for each user 15 As shown in Figure 4a, for example, the user record for user ABS includes three queries, each having a unique identification number Query 67190 includes the expression "Symbol(IBM)," query 2698 includes the expression "Symbol(APPL)," and query 110676 includes the expression 20 "Symbol(ZSE)."
The notification field 235 includes data that allows the user
to indicate a particular notification procedure that has to be executed to notify the user when the document of interest is 25 received by the central server 2. For instance, the user may be notified via E-mail, fax, telephone, a wireless communication, etc. The user may specify a particular notification message for a particular cheery. The notification message may include, e.g., a document title, the query terms 30 320, date, document reference number, etc. The notification procedure may also be changed upon existence of a predetermined condition. For example, if the document contains certain urgent information, the user would be 35 notified via a fax, otherwise the user could be notified by e-
mail. Furthermore, the user may be notified in real-time, periodically and/or in accordance with a predetermined
schedule. Moreover, the form of the notification may be as simple as providing a document number and arrival time of the document, or by providing a copy of the document itself. The notification "timing" information and notification 'form' 5 information may be stored in the UPD 220 in association with each user record, or may be stored in a separate file or database, for example.
As shown in Flqure 4a, the user XYZ prefers to be notified of lo documents satisfying query "10191" via an E-mail message to address ttuserxyzXYZ.com.' Additionally, user ADS prefers to be notified of documents satisfying query "67190" via a pager (telephone number Ol7-2098888). User ADS also prefers to be notified of documents satisfying query "2698" or query 15 "110676" aria a facsimile transmission (fax number 212425 5288).
The UPD 220 may be updated by the user. The user may access the central server 2 via the network 12. Upon providing, 20 e.g., an appropriate identification and the password, the c. Her 2 may allow the used to -e=. te and update the user record 221 associated with that user (or other users if the user is, for example, a system administrator).
25 As indicated above, use- queries are in the form of logical expressions. Flqure 4b shows that the query term 320 may actually include, e.g., three parts: a first query field 325,
a second query field 330, and a third query field 335. The
first query field 325 may include the predefined field (or,
30 for example a "non-predefined field" term such as "Text), as
described above, and the second query field 330 may include a
particular keyword. If the logical expression has more than one query term 320, the query terms 320 may be combined using at least one logical connects- (e.g. AND, OR, NOT, etc.).
The third query field 335 may include "1" or "O", where "1'
represents "true" and "O" represents "false". As a default,
( all of the query terms 320 of the UPD 230 are set to ''0. For instance, the query term 320 may include t,Symbol;IBM;O" which indicates that the user is searching for a particular document which includes a symbol IBM and that such query term was not 5 found in the searched document.
Finite Automata Database The storage device 85 may also store the Finite Automata 10 Database ("FAD") 250. The FAD 250 provides a means with which the system is able to quickly and efficiently determine which users should be notified of a newly received document. The FAD 250, for example, combines search terms for all (or a subset of) users so that newly received documents may be 15 processed quickly.
As shown in Figure 5a, the FAD 250 includes a plurality of FAD records 251. Each record 251 includes, e.g., a term field 255
and a pointer field 260. As shown in Figure 5b, the FAD term
20 350 includes the first query field 325 (predetermined field)
and a..= a=-lld query field 30 (keyword, chat query term
320. In accordance with the exemplary embodiment of the present invention, none of the FAD teems 350 are duplicative.
The pointer field 260 stores a pointer to the query
25 identification field 228 of the corresponding query of the UPD
220. Figure 7 shows an exemplary embodiment of a method for generating the FAD 250 according to the present invention.
30 The user may update the UPD 220 (step 700) by adding a new query term 320 and/or deleting an existing query term 320. A user change of the existing query term 320 may be interpreted as the deletion of the existing query term 320 and the addition of a new query term 320.
In accordance with the exemplary embodiment of the present invention, if the user deletes the existing query 320 from the
UPD 220 (seep 705), the central server 2 determines whether or not the corresponding FAD record 251 of the FAD 250 has a single pointer stored in the pointer field 260 (step 715). If
the pointer field 260 has only one pointer, then it indicates
5 that the corresponding FAD record 251 points only to the query term 320 that was deleted by the user. Consequently, the FAD record 251 which corresponds the deleted query term 320 is deleted (step 720). If the pointer field 260 has more than
one pointer, then the pointer of the deleted query term 320 is 10 removed from the pointer field 260 (step 725).
If the user adds a new query term 320 to the UPD 220 (step 710), the central server 2 compares the new query term 320 to the terms that already exist in the FAD 250 (step 735). If 15 the new query term 320 does not exist in the PAD 250, then a new FAD record 251 is created (step 740). The new FAD record 251 would include the first query field 325 and the second
query field 330 of the new query term 320 In addition, the
query identification of the new query term 320 is stored in 20 the pointer field 260.
However, if the FAD 250 has an existing FAD record 251 which already includes the new query term 320, then no new FAD record 251 is created (step 735). Instead, the pointer field
25 260 of the existing FAD record 251 is updated. In particular, the pointer field 260 of the existing FAD record 251 would
include an additional pointer that points to the query identification field 228 of the new query term 320.
30 The FAD 250 may be updated instantaneously (e.g., upon creating the new query term 320 and/or deleting the existing query term 320). The FAD 250 may also be updated periodically or in a batch process executed once a day, for example.
35 Receiving A New Document Figure 6 illustrates an exemplary process performed by the system 1 of Figure 1 upon receiving a new document from a
! contributor work station.
A particular document (e.g.,which includes certain information about IBM) is received from the contributor workstation 15 by 5 the central server 2 (step 500). The document may be received via the network 12, or alternatively, may be manually delivered to the central server 2.
Once the document is received, the central server 2 generates 10 a new document record 201 in the DAD 200 (step 605). In particular, the document is stored in the document field 210
of the new document record 201. In addition, a reference number is assigned to the document and is stored in the reference field 205 of the document record 201. A document
15 profile may include a document term 300 (e.., "Symbol(I}3M)") which is stored in the structured record 215.
The central server 2 sets all of the third query fields 335 of
the UPD 220 to "0," as a default (step 610) Subsequently, the 20 central server 2 checks the document terms 300 (e.g., "Symbol IBL:'", again 'e FAD terms 350 stored in the FAD 250 (shown in Figure 5a) to determine if they are identical (step 615). The document term 300 is identical to the FAD term 350 if the content of the first document field 305 of the document
25 term 300 is identical to the predefined field of the FAD term
350 and if the content of the second document Field 310 of the
document term 300 is identical to the keyword of the FAD term 350. For instance, the document term 300 ("Symbol(IBM)") and the FAD term 350 ("Symbol(IBM)) have an identical predefined 30 field "Symbol" and an identical keyword ''IBM,'. Consequently,
the document term 300 and the FAD term 350 are identical.
If the document term 300 is identical to the FAD term 350, then the evaluation term (which is stored in the third query 35 field 335 of the query term 320), which corresponds to the FAD
term 350 is set to "1' (step 620). Otherwise, the evaluation term remains "0" (step 625). In particular, a link between
! the query term 320 and the FAD term 350 is established using the pointer stored in the points- field 260 of the FAD term
350. This pointer field 260 indicates which particular query
of the UPD 220 includes the FAD term 350 which is identical to 5 the document 300.
For instance, once the central sever 2 determines that the FAD term 350 "Symbol(IBM)" is identical to the document term 300 "Symbol(IBM)", then the central server 2 checks the pointer 10 field 260 of the FAD term 350 "Symbol(IBM)''. The pointer
field 260 (as shown in Figure 5a) includes the pointer to the
query 10191 and the query 67190 of the UPD 220 (shown in Figure 4a). The corresponding evaluation term of "Symbol(IBM)" of the queries 10191 and 67190 are set to ''1" Once all of the document terms 300 are checked, the central server 2 initiates a valuation procedure. The central server 2 checks every document query of the UPD 220 to determine if the logical expression of the document query is valid (step 20 630). For instance, the central server 2 checks the queries 10191, 5719O, 2698 and 11067G of the T'PD 220 (shown n i=--
4a). In this case, only the logical expression of the cheery 67190 is valid because it includes only one term "Symbol(IBM)" which is identical to the document term 300 "Symbol(IBM)". It 25 should be noted that the query 10191 is not valid because the document did not include a document term 300 which is identical to the query term "Industry(Hardware)".
If the logical expression of the document query is valid, then 30 the central server 2 may initiate a notification procedure (step 635). In particular, the central server 2 may initiate the notification procedure for the user associated with query 67190.
35 The notification procedure notifies the user according to the - user's preference which is stored in the notification field
235 that the document which is of interest to the user was
( received Hal the system. 1. Tile cen.al server 2 may consult.
notification message which, may include the user s idelriicalor, the document reersuce Anne, etc. for even the document itself). Once the user is noti'ic;d, Al= user ma 5 access the document via, e.g., the network 12. The notification to the user has who established the query 67190, may be trarsm.-ted via a pager 917-209-888&.
It should noted that the system 1 may utilize a conventional 10 queue (e. g., created using tficrcsfts (R,l'Mj Message Queue (MS?AQ)) to temporarily store the new document(s), user's queries, etc. The queue(s) are utilized when, e.g., a volume of incoming new document is larger then a predefined volume. The queue may be inserted in any predefined position in the system 1, e.g., 15 between the network 12 and the central server 2 to store the new documents.
An advantage of the system 1 which utilizes the queue is that the system 1 allows prc-sion optimal balancing between its components. In addition, the reliability and the 20 dependability of the system 1 is increased when, e.g., some of His components emporar..y foci. In t.e case If tilu-c the queue may accumulate in-omino documents for later processing after normal operation of the failed component is restored. Alternative Fmhodment In an alternative exemplary embodiment according to the present invention, the system 1' includes a plurality of servers. In particular, as shown in Figure 2, the system 1 7 3O includes a central server 2' which communicates with the user computer 10 and the car.tribuhory workstation 15 via the communication network 12. The central server 2' stores the DUD 200. The system 1' also includes a preference server 7 which stores a User Notification Preference Database (''UPD") 35 including user's notification procedures. In particular, the UNPD includes the query identification field Z28 and the
notification field 235.
( In addition, the system 1' include a profile server 5 which stores a User Profile Query Database ("UPOD"). The UPQD includes the identification field 225, the query identification field 228 and the notification field 235. The
5 profile server 5 also generates the FAD 250 as a function of the UPQD.
A matcher server 20 of the system 1' compares document terms of the DMD 200 to the FAD terms 350 of the FAD 250 to generate 10 matches. The matcher server 20 determine. which logical expressions of the UPQD are valid. A notification server 25 of the system 1' executes a corresponding notification procedure of the UNPD for the useris queries whose logical expression is fulfilled. The notification server 25 executes 15 the notification procedure using an E-mail server 30, a fax server 35, and/or a pager server 45.
Another Alternative EmhodimP=t In another alternative embodiment, the system 1 (and/or the 20 system 1') is capable of performing a method which includes a self-monitoring operation. -a city Is performance. Fisure 8 shows an exemplary embodiment of the optimizing method. The system 1 performs the self-monitoring operation to determine if it has reached a predetermined load threshold (step 800).
25 The predetermined load threshold may be determined as a function of a predetermined volume of documents, a predetermined volume of user queries, a predetermined volume of matches, or a predetermined volume of notification messages, for example.
If the predetermined load threshold is reached (step 805), the system 1 adjusts itself according to a predetermined procedure (step 810). In particular, the system 1 may generate a plurality of mirror-image systems, wherein each mirror-image 35 system may include the DAD 200, the UPD 220 and the FAD 250.
Each of the plurality of mirror-image systems has an identical copy of the databases 200, 220, 280 and is capable of
( performing functions identical to the functions of the system 1. Each mirror-image system is capable of being executed simultaneously (i.e., in parallel). Thus, utilizing the mrror-lmage system allows to optimize reallime matching and 5 notification.
If the predetermined volume of the documents is detected, the system 1 may generate a predetermined number of the mirror-
image systems. Each mirror-image system has an identical copy 10 of the UPD 220 and the FAD 250, however, the AD 200 may be different. The DMD 20Q of the system 1, for example, may be divided between the mirror-image systems.
Similarly, if the predetermined volume of user queries is 15 detected, then the user queries of the systems 1 would be divided among the mirrorimage systems. Furthermore, if the predetermined volume of matches is detected, then the DMD 200, the UPD 220, and the FAD 250 of the systems 1 may be divided, according to a predetermined procedure' among the mirrorimage 20 systems. If the predetermined volume of notification messages À detected, then the not-fica.-_i; rid..-,'or the UPD 220 may be divided among the mirror-image systems.
It should be noted that a particular database of the system 1 25 does not have to be Fielded equally Instead, the particular
database of the system 1 may be divided according to a predetermined procedure. An advantage of such division of the database(s) is to optimize the performance of the system 1.
30 Figure 9 shows a further exemplary embodiment of the system 1" according Lo the present -invention which includes a single DMD 200 and a plurality of the UPDs 220 and the PADs 250. The UPDs 220 and the FADs 250 are combined in a single database set. Each database set and/or a particular database may be 35 stored in the storage device 85 of the central server 2 or, alternatively, may be stored on separate servers.
( As mentioned above, each database set of the system 1" may include the UPD 220x and the corresponding FAD 250x. For instance, the system 1" may include the database set A which includes a UPD 220A and a corresponding FAD 250A, a database 5 set B which includes a UPD 220B and a corresponding FAD 250B, and a database set C which includes a UPD 220C and a corresponding FAD 250C. A combination of the UPDs 220A, 220B and 220C may be, for example, equivalent to the UPD 220 of the system 1.
The system 1" may generate the plurality of the database sets when the predefined load threshold (e.g., as described above) is reached. For instance, when the predetermined volume of the user queries is detected, the system 1" may generate the 15 database sets A, B and C. The system 1" divides/splits the UPD 220 according to a predetermined procedure into the UPDs 220A, 220B and 220C. Based on the UPDs 220A, 220B and 220C, the corresponding FADs 250A, 250B and 2SOC are generated.
20 When the user submits a new query, the new query is assigned to particular database set accordil.j to predet_,,-ir.ed conditionsks). For instance, if the UPD 220A is overloaded (e.g., a particular parameter of the database set A is exceeded) user queries, user profiles, valid logical 25 expressions, etc.), then the new query will be assigned to the UPD 220B. Subsequently, the system 1, generates the FAD 250B to incorporate the new query according to the above-described method. 30 If all of the existing database sets A, B. and C are overloaded, then the system 1" may generate an additional database set D which has the same structure as the database sets A, B and C. The database set D, which may include a UPD 220D and a FAD 250D, may store the new query. In addition, a 35 predetermined number of particular queries of the UPDs 220A 220B and 220C may be transferred to the UPD 220D to optimize the performance of the system 1". For example, the system 1"
( may store queries of a particular user or queries that have identical terms in a single database set.
The system 1" may increase a number of database sets according 5 to the current (e.g., real-time) load of the system 1".
Similarly, the system 1" may delete or adjust a number of database sets if the load of the particular database set is less then a further predetermined threshold load. For example, if the database set A has 1, 000 queries, the database 10 set B has 8,000 queries and the database set C has 300, the system 1" may be adjusted so that each of the database sets A, B. C includes 1,100 queries. Alternatively, the system 1" may remove the set C and divide queries between the database sets A and B. One advantage of the present invention, as compared to conventional systems, is an ability of the system l to execute user queries in parallel instead of sequentially. In fact, the present invention allows matching of user queries 20 simultaneously. It is useful for systems that handle a large olu= of particular documents and user queried.

Claims (7)

WHAT IS CLAIMED IS:
1. A method for providing first data to a user as a function ot a query, the query being generated by the user, the method comprising the steps of: (a) generating second data as a function at least one first term of the query, the second data including at least one second non-duplicative term; (b) comparing at least one third term of the first data with the at least one second term; (c) if the at least one second term matches to the at least one third term, setting the at least one first term to an active state, the at least one first term corresponding to the at least one matched second term; (d) determining a result of the query as a function of a particular state of the at least one first term; and (e) providing a further data to the user if the result is equal to a predetermined value, the further data correspond to the first data.
2. The method according to claim 1, further comprising the step of: (f) generating third data which includes at least one notification procedure, the third data being generated by the user.
3. The method according to claim, wherein the at least one notification procedure utilizing at least one of e-mail, fax and telephone.
4. The method according to claim 2, further comprising the step of: (a) notifying the user, according to the at least one notification procedure, if the result is equal to the predetermined value; and (h) providing the user with access to the first data.
S The method according to claim 4, wherein step (g) includes the substep of selecting a particular notification procedure of the at least one notification procedure as a function of a predetermined criteria.
6. The method according to claim 4 wherein step (g) is performed in realtime.
7. A method for receiving notification of a document, comprising the steps of: selecting by a user a method of notification; transmitting by the user a respective query, the respective query including at least one query term and at least one query condition, each at least one query term which is unique with respect to other query terms stored
! in a database being stored in the database; and receiving by the user a notification of a document via the selected method of notification, the notification being transmitted to the user only if all at least one query condition of the respective query is satisfied by the document, a determination of satisfaction being determined as a function of a comparison of document terms to the query terms stored in the database.
7. The method according to claim 1, further comprising step of: (i) receiving the first data from a predetermined source.
8. The method according to claim 1, wherein step (a) includes the substeps of: determining if the second data includes a new term of the at least one first term, and if the second data does not includes the new term, adding the new term to the second data.
. The method according to claim 1, wherein step (a) is performed in realtime.
Hi. The method according to claim 1, wherein at least one of steps (b) (e) is performed in real-time.
1- The method according to claim 1, wherein step (e) includes the substep of providing the further data to the user if the user is authorized to received the first data.
2 The method according to claim 1, wherein the at least 2i
( one first term includes a plurality of first terms, the plurality of the first term being combined using at least one logical connector.
13. The method according to claim 1, further comprising the step of: (j) parsing the first data to generate the at least one third term.
1. The method according to claim 1, further comprising the steps of: (k) generating at least one first further data as a function of the first data; (1) generating at least one second further data as a function of the second data, a number of the at least one first further data being equal to a further number of the alt least one second further date; (m) performing steps (b) - (e) simultaneously the at least one first further data and a corresponding data of the at least one second further data.
15. The method according to claim 14, further comprising the step of: (n) performing steps (k) - (m) as a function of at least one predetermined condition.
16. The method according to claim IS, wherein the at least one predetermined condition includes a value of at least one of the at least one first term. the least one second term and the least one third term is greater than a predetermined volume value.
17 A system for providing first data to a user as a function of a query which is generated by the user, the system comprising: a memory storage device; a communication arrangement; and
f a processor generating second data as a function at least one first term of the query, the second data including at least one second nonduplicative term, the processor comparing at least one third term of the first data with the at least one second term, wherein if the at least one second term matches to the at least one third term, the processor sets the at least one first term to an active state, the at least one first term corresponding to the at least one matched second teem, wherein the processor determines a result of the query as a function of a particular state of the at least one first term, the processor provides, via the communication arrangement, a further data to the user if the result is equal to a predetermined value, the further data correspond to the first data, and wherein the memory storage device storing at least one of the first data, the second data and the further data.
Ig. The system according to claim '7, wherein the communication arrangement is at least one of a modem and a network interface card.
The system according to claim i7, wherein the system provides the further data to the user via a network.
Zo. The system according to claim19, wherein the network includes at least one of the Internet, intranet, extranet and a dial-in-access network.
21 The system according to claim 17 further comprising: a queue arrangement temporarily storing at least one of the first data, the second data and the further data.
Z:. The system according to claim 17, wherein the system performed a selfmonitoring function to determine if a predetermined condition is satisfied.
! t3. The system according to claim 22, wherein if the predetermined condition is satisfied, the system generates at least one of first further data as a function of the first data and at least one of second further data as a function of the second data, a number of the at least one first further data being equal to a further number of the at least one second further data.
2. The system according to claim |7, wherein the user includes at least one of a news reporting agency, an investor, a computing device, a trading program, a governmental agency, a bank.
IS. A computer-readable storage medium storing a set of instructions, the set of instructions capable of being executed by a processor for notifying users of an arrival of a document, the set of instructions performing the steps of: receiving from each respective user a respective query, each respective query including at least one query term and at least one query condition; for each respective query, storing in a database each one of the at least one query term only if the one query term is unique with respect to other query terms stored in the database; receiving a document, a document term being associated with the document; comparing the document term with the stored query terms; for each respective query, determining whether all of the at least one query condition of the respective query is satisfied as a function of the comparing step; and for each respective query, if all of the at least one query condition of the respective query is satisfied, notifying the respective user of the arrival of the document.
2 G. A method for notifying users of an arrival of a document, comprising the steps of: (a) receiving from each respective one of the users a respective query, each respective query including at least one query term and at least one query condition; (b) for each respective query, storing in a database each one of the at least one query term only if the one query term is unique with respect to other query terms stored in the database; (c) receiving a document, a document term being associated with the document; (d) comparing the document term with the stored query terms; (e) for each respective query, determining whether all of the at least one query condition of the respective query is satisfied as a function of step (d); and (f) for each respective query, if all of the at least one query condition of the respective query is satisfied, notifying the respective one of the users of the arrival of the document.
27. The method according to claim IG, further comprising the steps of: (g) generating a plurality of further databases as a function of the database if at least one predetermined condition is satisfied; and (h) performing steps (c) - (f) simultaneously for each of the plurality of further databases.
28. The method according to the claim 27,wherein one of the plurality of further databases stores the at least one query term which is unique with respect to another of the plurality of further databases.
25. The method according to the claim 27,further comprising
( the step of: (i) generating a copy of the document for each of the plurality of further databases.
30. The method according to claim 27,wherein the least one predetermined condition is satisfied if at least one of: a number of the users is greater then a predetermined number of users, a number of respective queries is greater than a predetermined number of queries, a number of documents is greater then a predetermined number of documents, a number of the at least one query term is greater than a number of predetermined queries terms; a number of the at least one query condition is greater then a predetermined number of query conditions, and a number of the at least one satisfied condition is greater than a number of satisfied query condition.
31 The method according to claim 26, further comprising the step of: (j) associating with each one of the respective users a respective method of notification; wherein the notifying step includes the step of notifying the one of the respective users via the respective method of notification.
31. The method according to claim 3/, further comprising the step of: (k) selecting, by each respective user, the respective method of notification.
3. The method according to claim 31, wherein the respective method of notification includes at least one of facsimile transmission, E-mail messaging, and paging.
A method for notifying users of an arrival of a document, comprising the steps of: receiving a document, at least one document term being associated with the document; comparing query terms to the at least one document term, the query terms being stored in a database and being unique with respect to all others of the query terms, each of the query terms being associated with at least one query having a respective query condition, each at least one query being associated with a respective user; for each at least one query, determining whether the respective query condition is met as a function of the comparing step; and if the respective query condition is met, notifying the respective user of the arrival of the document.
35 The method according to claim 3t,further comprising the step of associating with each respective user a respective method of notification; wherein the notifying step includes the step of notifying the respective user via the respective method of notification.
3 G The method according to claim 35, further comprising the step of: selecting, by each respective user, the respective method of notification.
GB0318435A 1999-04-12 2000-04-04 A method and system for providing data to a user based on a user's query Expired - Lifetime GB2388939B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/290,121 US6351747B1 (en) 1999-04-12 1999-04-12 Method and system for providing data to a user based on a user's query
GB0125928A GB2363660B (en) 1999-04-12 2000-04-04 A method and system for providing data to a user based on a user's query

Publications (3)

Publication Number Publication Date
GB0318435D0 GB0318435D0 (en) 2003-09-10
GB2388939A true GB2388939A (en) 2003-11-26
GB2388939B GB2388939B (en) 2004-02-11

Family

ID=29404277

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0318435A Expired - Lifetime GB2388939B (en) 1999-04-12 2000-04-04 A method and system for providing data to a user based on a user's query

Country Status (1)

Country Link
GB (1) GB2388939B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778357A (en) * 1991-06-11 1998-07-07 Logical Information Machines, Inc. Market information machine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778357A (en) * 1991-06-11 1998-07-07 Logical Information Machines, Inc. Market information machine

Also Published As

Publication number Publication date
GB2388939B (en) 2004-02-11
GB0318435D0 (en) 2003-09-10

Similar Documents

Publication Publication Date Title
US6351747B1 (en) Method and system for providing data to a user based on a user's query
US10180980B2 (en) Methods and systems for eliminating duplicate events
US7577739B2 (en) Employee internet management device
US8131685B1 (en) Duplicate account identification and scoring
US8812515B1 (en) Processing contact information
US7949660B2 (en) Method and apparatus for searching and resource discovery in a distributed enterprise system
US8725711B2 (en) Systems and methods for information categorization
EP1121652B1 (en) Method and apparatus for accessing a user knowledge profile
US6205472B1 (en) Method and apparatus for querying a user knowledge profile
US8543649B2 (en) Method and apparatus for constructing and maintaining a user knowledge profile
EP1745360B1 (en) Methods and systems for information capture and retrieval
US7996385B2 (en) Method and apparatus to define the scope of a search for information from a tabular data source
US20020038430A1 (en) System and method of data collection, processing, analysis, and annotation for monitoring cyber-threats and the notification thereof to subscribers
US20030093477A1 (en) Information processing system, information processing method, a software program for executing such method, and information storage medium comprising such software program
US7016889B2 (en) System and method for identifying useful content in a knowledge repository
US20020165861A1 (en) Method and apparatus for assigning a confidence level to a term within a user knowledge profile
MY123052A (en) Trade records information management system
US6151623A (en) Agent activity report via object embedding
WO2000017727A2 (en) Method and apparatus for querying a user knowledge profile
US20030171961A1 (en) System and method for dynamically routing an object through an organization's workflow system
US20030115202A1 (en) System and method for processing a request using multiple database units
GB2388939A (en) A method and system for providing data to a user based on a user's query
JPH11259351A (en) Data base device, shared data base device, shared data base system, data extracting method for shared data base device and storage medium recording data extraction program for shared data base device
JP2000047922A (en) Information providing system

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20180628 AND 20180706

732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20180709 AND 20180711

732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20190411 AND 20190417

PE20 Patent expired after termination of 20 years

Expiry date: 20200403