|
Claims  |
|
|
We claim:
1. A method for processing information in a data processing system which
includes an information storage device having information stored in said
information storage device, said method comprising:
defining a first search request, said first search request including at
least one first parameter which specifies a first type of desired
information;
performing a first search using said first search request at a first
deferred time;
generating a first report in summary format, said first report showing a
first result of performing said first search at said first deferred time;
displaying said first report in summary format on a display device and
wherein said summary format differs from a format of a search report from
an executed search request which is not deferred;
wherein said first information comprises a plurality of documents having
data in character format, and wherein said summary format includes at
least two of the following items for each document shown in said first
report: (a) at least a portion of the document title; (b) at least a
portion of the document file name; (c) at least a portion of the first
paragraph in the document; (d) name of a directory containing the
document; (e) a date the document was added to the directory containing
the document; (f) a date the document was last modified; and (g) the
author of the document.
2. A method as in claim 1 wherein said summary format includes data showing
how many documents are found in said first search.
3. A method as in claim 1 wherein said summary format includes data showing
the date on which said first search was performed.
4. A method as in claim 1 wherein said summary format includes a listing of
each document found in said first search.
5. A method as in claim 4 wherein said listing includes, for each document
found in said first search, one of the document title and the document
file name and wherein said first report is displayed with said listing,
and wherein a desired document found in said first search may be selected
for viewing in said first report by selecting one of said desired
document's title and said desired documents file name in said listing.
6. A method as in claim 5 wherein each document found in said first search
is ranked to provide a first ranking according to its relevance to said
first search request and wherein said documents found in said first search
are ordered in said first report according to said ranking.
7. A method as in claim 6 wherein said listing is a table of contents of
said first report, and wherein for each document displayed in said first
report, a select icon is displayed, and wherein a full text display of a
selected document is displayed by selecting the select icon for said
selected document.
8. A method for processing information in a data processing system, said
method comprising:
defining a first search request, said first search request including at
least one first parameter which specifies a first type of desired
information;
sending out said first search request and waiting for a response to said
first search request;
displaying a first report in summary format, said first report showing a
first result of performing said first search request at a first deferred
time wherein said summary format differs from a format of a search report
from an executed search request which is not deferred, wherein said
information comprises a plurality of documents having data in character
format, and wherein said summary format includes at least two of the
following items for each document shown in said first report: (a) at least
a portion of the document title; (b) at least a portion of the document
file name; (c) at least a portion of the first paragraph in the document;
(d) name of a directory containing the document; (e) a date the document
was added to the directory containing the document; (f) a date the
document was last modified; and (g) the author of the document.
9. A method in claim 8 wherein said summary format includes data showing
how many documents are found in said first search.
10. A method as in claim 8 wherein said summary format includes data
showing the date on which said first search was performed.
11. A method as in claim 8 wherein said summary format includes a listing
of each document found in said first search.
12. A method as in claim 11 wherein said listing includes, for each
document found in said first search, one of the document title and the
document file name and wherein said first report is displayed with said
listing, and wherein a desired document found in said first search may be
selected for viewing in said first report by selecting one of said desired
document's title and said desired documents file name in said listing.
13. A method as in claim 12 wherein each document found in said first
search is ranked to provide a first ranking according to its relevance to
said first search request and wherein said documents found in said first
search are ordered in said first report according to said ranking.
14. A method as in claim 13 wherein said listing is a table of contents of
said first report, and wherein for each document displayed in said first
report, a select icon is displayed, and wherein a full text display of a
selected document is displayed by selecting the select icon for said
selected document.
15. An apparatus for processing information in a data processing system
comprising:
an information storage device having information stored in said information
storage device:
a first processor coupled to said information storage device;
a first input device coupled to said first processor, said input device for
defining a first search request which includes at least one first
parameter which specifies a first type of desired information and includes
scheduling data for scheduling performance or retrieval of a first search:
a first memory coupled to said first processor said first memory for
storing said first search request, said first processor using said first
search request to perform, at a first deferred time, said first search of
at least a first portion of said information to determine whether said
first type of desired information is stored in said information storage
device, said first processor generating a first report in summary format,
said first report showing a first result of performing said first search
at said first deferred time;
a first display coupled to said first processor, said first processor
displaying on said first display said first report and wherein, said
information comprises plurality of documents having data in character
format and wherein said summary format differs from a format of a search
report from an immediately executed search request; wherein said summary
format includes at least two of the following items for each document
shown in said first report: (a) at least a portion of the document title;
(b) at least a portion of the document file name; (c) at least a portion
of the first paragraph in the document; (d) name of a directory containing
the document; (e) a date the document was added to the directory
containing the document; (f) a date the document was last modified; and
(g) the author of the document.
16. An apparatus as in claim 15 wherein said summary format includes data
showing how many documents are found in said first search.
17. An apparatus as in claim 15 wherein said summary format includes data
showing the date on which said first search was performed.
18. An apparatus as in claim 15 wherein said summary format includes a
listing of each document found in said first search.
19. An apparatus as in claim 18 wherein said listing includes, for each
document found in said first search, one of the document title and the
document file name and wherein said first report is displayed with said
listing, and wherein a desired document found in said first search may be
selected for viewing in said first report by selecting one of said desired
document's title and said desired documents file name in said listing.
20. An apparatus as in claim 19 wherein each document found in said first
search is ranked to provide a first ranking according to its relevance to
said first search request and wherein said documents found in said first
search are ordered in said first report according to said ranking. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION:
The present invention relates to methods and systems for processing
information in a data processing system. In particular, the invention
relates to methods and apparatuses for searching for information stored in
information storage devices coupled to at least one data processing
system.
The process of searching through a large volume of documents which contain
text in order to find a particular document or documents is often a very
useful technique for obtaining information. Typically, the text of these
documents is stored in electronic media in an information storage device
(for example, magnetic media in a device such as a hard disk or an optical
medium) which is coupled to a data processing system, such as a digital
computer. It is often the case that an enormous volume of text is stored
in electronic form in such a storage device. For example, a large number
of U.S. patents are maintained in electronic form by various entities.
Similarly, the full text of numerous periodicals, including newspapers, is
often stored in information storage devices in the form of a database or
other file, and users often want to search these databases or files to
find articles, documents, etc. that are of interest to the user.
At times, the information being searched may reside locally on the computer
system which is being used by the user; for example, text in electronic
form from numerous sources such as articles from newspapers may be stored
on a hard disk of the user's computer system and may be searched by
commercially available full text searching software such as Gofer (TM),
Sonar (TM), and ZYINDEX (TM). Unfortunately, the source of information may
be so large that it cannot fit within a typical hard disk or other storage
device of a typical personal computer. In this case, it is often
necessary, due to the economics of computing resources, to spread the cost
of large information storage devices among numerous users which are linked
together by a computer network, such as a local area network. A well known
example of a computerized network which includes information storage
devices capable of storing large quantities of information is the
Lexis/Nexis (TM) system run by Mead Data. In this case, it will be
appreciated that this "network" is considerably larger than a normal local
area network.
In prior art systems for searching for text information in a data
processing system, the user may enter a single search request and then
request either the local processor (e.g. the client workstation) or a
remote processor (e.g. a server workstation) to execute the search request
by performing a search through the information stored in an information
storage device for documents which match the search request. While the
search is being executed, it is not possible for the user to concurrently
enter a further search request or to cause that further search request to
be executed concurrently with the first search. Consequently, the user
must wait after requesting execution of the first search request before
entering a further search request and causing that further search request
to be executed. While this is often acceptable in environments where all
of the processing occurs on a local workstation (e.g. a personal
computer), this situation is particularly inefficient in a network
environment. In this environment, servers may be called upon by a number
of different users from different client workstations to execute different
tasks or perform other tasks such as preparation of new documents (e.g.
indexing existing documents), and thus a server would not be available to
process a search request. Consequently a client user would be prohibited
from even entering a second search request until the server has had an
opportunity to execute the first search request after handling other prior
tasks from other users in a network. Wide area networks (with
interconnected local area networks) pose an even greater problem in the
sense that the gateways and routers interconnecting local area networks
may be busy with other transactions, and thus a user and his/her machine
may be prevented from any other searching activities while a first search
request is being processed through a first search.
In many information sources, such as databases, there is often a need to
add new documents which have come into existence after the creation of the
database or modified documents which have been modified since the creation
of the database or information source. For example, a textual database
containing articles from newspapers will need to be periodically updated
with subsequently released newspapers in order to keep the database
current with the current contents of the newspaper. Similarly, if the
information source is a collection of U.S. patents, then the information
source will need to be updated with U.S. patents which issued subsequent
to the last date on which the database was modified to include newly
issued U.S. patents. In prior art systems, a user would normally define a
search request at one point in time and then have to repeat that search
request at a later time by manually entering the search again in order to
see if any new documents which have been added to the database exist since
the last search. In such prior art systems the manual entry of a
subsequent search request (or retrieval of a saved search request to be
executed again) will result in the generation of a report which is a
listing of documents found in the search, where the format of the report
is identical to the format used in responding to a normal search request.
Even systems which execute automatic future searches (e.g. the "Eclipse"
feature in Lexis) do not generate specially formatted reports. That is,
the response of the data processing system to a subsequent search request
will be identical in format to the response from the search request when
previously executed. No special effort is taken to display the information
to the user in a manner which is helpful in evaluating updated information
available from the information source since a prior search. Indeed, in
many systems, the report of a subsequent search report will include the
results of a prior search report and thus there can be considerable
duplication between an original report from a first search and a
subsequent report in a subsequent search.
In these prior art systems which utilize information sources which change
over time, it is often necessary to perform "maintenance" on the
information source. This maintenance typically includes adding additional
documents or removing documents as well as indexing new documents or
compressing/compacting indexes which have been changed due to the removal
of documents from the database. This "maintenance" is typically performed
in a network of computer systems where one computer system, referred to as
a server workstation or computer system typically controls access to
information sources by other computer systems in the network such as those
systems referred to as "client" computer systems. In these environments, a
user at a client workstation is often presented with a list of available
information sources even though a particular information source in
unavailable or is undergoing maintenance by the operator of the server
workstation. In this circumstance, the results of any search performed may
be erroneous; for example, the user of the client system may believe that
in fact he/she is searching an information source when in fact it is not
available.
From the foregoing discussion, it can be seen that it is desirable to allow
a user of a computer system to be able to execute further searches after
requesting a first search, particularly in a network environment. It is
also desirable to present to the user data, in a summary format, showing a
report of a scheduled search, particularly one which has been scheduled to
occur automatically by the user, in order to improve the user's efficiency
in evaluating the search results from a scheduled search. It is also
desirable to allow a user on a client computer system in a network to
obtain accurate information about the availability of information sources
while also allowing the operator of a server computer system to maintain
the information sources and also provide accurate information to user's of
client systems about the availability of information sources.
SUMMARY OF THE INVENTION
A method for processing information by searching for information in a data
processing system which is coupled to an information storage device having
information stored therein is described. In one embodiment, a user on a
first processor defines a first search request, where the first search
request typically includes at least one parameter which specifies a
desired type of information. Then, a search of at least a portion of the
information stored in the information storage device is performed using
the search request defined previously to determine whether the type of
desired information is stored in the information storage device. While
performing the first search the first processor executes another searching
process associated with the information. This other process typically
comprises defining a second search request of information where this
search request includes parameters which specify a second type of desired
information. In one embodiment, involving a network of computer systems, a
first processor receives the first search request from the second
processor and executes that search request by performing the search of at
least a portion of the information stored in the information storage
device. Typically, the method further includes displaying a first search
report showing a first result of performing the first search and also
displaying a second search report showing a result of performing the
second search if a second search has been requested.
According to one embodiment of the apparatus of the present invention, the
information is stored on at least one information storage device which is
coupled to a first processor. A first input device may be coupled directly
to the first processor or through a network, and the first input device is
used to define a first search request which includes at least one
parameter which specifies a type of desired information. A memory, such as
random access memory (RAM), is typically coupled to the first processor,
and this memory stores the first search request. The first processor
typically uses this first search request to perform the first search of at
least a portion of the information to determine whether the type of
desired information is stored in the information storage device.
According to another embodiment of the present invention, a method is
disclosed for searching information in a data processing system which
includes information storage device having information stored therein and
which provides for the generation of a report in summary format for a
scheduled search. In this method a first search request is defined. Then,
in one embodiment, the first search request is executed when new documents
are added to an information source (e.g. new documents are added, or in
systems which require indexing before searching, when new documents are
indexed) or whenever the server workstation determines that there are new
documents which are available for searching; the execution of this search
request produces a report which is saved and is used at a scheduled time
to generate a report in summary format. In an alternative embodiment, the
performance of this search request is scheduled such that the first search
using this first search request occurs at least at one future time such as
a first scheduled time. When this first scheduled time occurs, the first
search using the first search request is performed, and a first report in
summary format is generated; this first report shows the result of
performing the first search at the first scheduled time. The user may
after generation of a first report cause it to be displayed in its summary
format on a display device.
This summary format may include at least one (and often several) of a
number of different items for each document shown in the report in summary
format. These items may include, for each document shown in the report: at
least a portion of the document's title; at least a portion of the
document's file name (in some systems the title and file name may be the
same); at least a portion of the first paragraph of the document; at least
a portion of the second paragraph of the document; the name of the
directory (or information source) containing the document; the date the
document was added to the directory (or information source) containing the
document; a date the document was last modified; and, in some embodiments,
the author of the document. The summary format may also include data
showing how many documents were found in the search performed at the first
schedule time and the date and time at which the search was performed. In
addition, the summary format may include a listing which resembles a table
of contents where each document found in the scheduled search is listed in
the listing. The table on contents provides a quick way for a user to
select a particular document in the summary format by selecting the
document's title or file name from the listing.
An apparatus for searching information in a data processing system which
can provide scheduled searches and generate reports in summary format from
those scheduled searches is also described. This apparatus typically
includes an information storage device having information stored in the
device, and a first processor coupled to the information storage device.
An input device, such as a keyboard, mouse, trackball (or other well known
computer input devices) is coupled to the processor. The input device is
used to define a first search request which includes at least one
parameter which specifies a first type of desired information. The input
device is also used to define scheduling data for scheduling retrieval of
search results in a report, or in an alternative embodiment performance of
the first search, at a first scheduled time. The apparatus further
includes a memory coupled to the processor where the memory stores the
first search request and the processor uses the first search request to
perform when necessary (e.g. new documents have been indexed)sear at the
scheduled search time, a search of at least a portion of the information
to determine whether the first type of desired information is stored in
the storage device. The processor, after performing the first search
generates a report in summary format, which report shows the results of
performing the first search. In one embodiment of the invention, the
apparatus includes a first processor and a second processor which are
coupled together over a network such that the first search request is sent
over the network from the second processor to the first processor and the
first processor performs the search as necessary, or in an alternative
embodiment at the first scheduled time, and the second processor generates
the first report which may be later retrieved by a user of the second
processor. In the embodiment where the search is performed as necessary,
the server workstation executes the first search request when new
documents are added to the information source and indexed (if indexing is
required) to determine if the new documents match the client workstation's
search request. The server workstation stores a list of such new documents
which match the search request, and at the scheduled time, the client
workstation retrieves this list and generates the report in summary
format.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts an embodiment of data processing systems according to the
present invention in a network of data processing systems.
FIG. 2 shows in block diagram form information which is stored within the
memory of a server computer system.
FIGS. 3a and 3b depict an example embodiment of a method of the present
invention which involves concurrent searches initiated from the same
processor.
FIG. 4a shows a typical search request window which may be used for
defining search requests and specifying other search options.
FIG. 4b shows a typical example of a document display window showing the
text of a document found in a search of an information source.
FIG. 5 shows two search request windows where concurrent search processes
are being performed at the request of a user on one processor.
FIG. 6a and 6b show a flow chart describing a typical embodiment of the
method for scheduling searches and generating reports of those scheduled
searches in a summary format.
FIG. 7a shows a typical embodiment of a report in summary report generated
from a scheduled search.
FIG. 7b shows an embodiment of a search scheduling window for entering data
specifying the time and date of a scheduled search.
FIG. 8 shows a further embodiment of the summary format of a report
generated from a scheduled search, which summary format includes a table
of contents listing.
FIG. 9 shows an embodiment of an information sources window which may be
displayed on a server computer system in a network according to the
present invention.
FIG. 10 shows a typical search status window which may be displayed on a
display device of a server computer system in the network of the present
invention.
FIG. 11 shows a typical method of the present invention for performing
maintenance on information sources and for controlling the display of
available information sources on client computer systems in the network
according to the present invention.
FIG. 12 shows a typical information sources window which may be displayed
on a client computer system in the network of the present invention.
DETAILED DESCRIPTION OF THE PRESENT INVENTION:
In the following description for purposes of explanation, specific systems,
interconnections, and processing steps are set forth in order to provide a
thorough understanding of the present invention. However, it will be
appreciated by one skilled in the art that the present invention may be
practiced without the specific details disclosed herein. In other
instances, well known systems are shown in diagrammatic or block diagram
form in order not to obscure the present invention unnecessarily.
The present description includes material protected by copyrights, such as
illustrations of graphical user interface images which the assignee of the
present invention owns. The assignee hereby reserves its rights, including
copyright, in these materials, and each such material should be regarded
as bearing the following notice: Copyright Apple Computer, Inc., 1993. The
copyright owner has no objection to the facsimile reproduction by anyone
of the patent document or the patent disclosure, as it appears in the
Patent and Trademark Office file or records, but otherwise reserves all
copyrights whatsoever.
Referring now to FIG. 1, various aspects of embodiments of the present
invention may be performed in a network of data processing systems, and
FIG. 1 shows an example of such a network. In particular, FIG. 1 shows two
local area networks interconnected by a gateway 61 which is typically a
computer system configured to operate as an interface between local area
networks and often includes a modem for communicating over telephone
systems. One local area network (LAN) includes a server computer system 9
and two client computer systems 33 and 57 as well as an information server
55. The network coupler 31 is typically a network bus comprised of wires
or fiber optic cable or maybe a wireless network which uses radio
communication transmitters and receivers. The network may operate pursuant
to any number of networking standards including well known standards such
as Local Talk (TM) EtherNet, Token Ring, AppleTalk Remote Access (TM)
(ARA) as well as other well known networking standards. A second local
area network (LAN2) 65 typically comprises a plurality of computer systems
(which may be referred to as workstations) where some computer systems may
be server computer systems and other computer systems may be client
computer systems. It will be appreciated that computer systems in the
second local area network 65 may communicate via the gateway 61 with other
computer systems in the first local area network, such as the server
computer system 9. It will also be appreciated that the gateway 61 may be
eliminated, and the server 9 may perform the functions of a gateway system
between the two local area networks. Also shown is an Internet server 63
which may store information (e.g. on computer "bulletin boards") which may
be retrieved by a computer system in either of the local area networks. It
will be appreciated that Internet server 63 is part of the well known
system of interconnected computers known as "Internet."
The server computer system 9 includes a processor 10 and a memory 11 which
are interconnected by a system bus 12. A display controller 14 and a
display device 15 are coupled to the processor 10 through the system bus
12. A mass memory 17, which may be a local hard disk which stores
information in magnetic media or optical media, is coupled to processor 10
and the memory 11 through the system bus 12. Typically, a computer system
includes input and output devices in addition to a display device. For
example, an output device may be a hard copy printer. Numerous input
devices are also well known such as keyboards, mice, trackballs,
touchpads, and styluses (pens) and these input devices communicate with
processor 10 and memory 11 via a controller such as the I/O controller 21.
The server computer system 9 is linked to the other computer systems in
the network by a network interface 25 which is coupled to the system bus
12 by a local bus 19 and the server 9 is linked to other remote servers
(e.g. Internet server 63) in conventional ways (e.g. through gateway 61 )
or, as noted, the server 9 may itself perform the functions of a gateway
system.
Client computer system 33 contains similar components which are
interconnected in a similar manner. For example, client computer system 33
includes the processor 37 ahd a memory 39 which are interconnected by a
system bus 41. Client computer system 33 also includes a network interface
35 which couples the processor and other components within the computer
system 33 to other computer systems in the network. Client computer system
33 also includes a display device 47, which may be a CRT or a liquid
crystal display or a plasma display or other well known display devices
used in computer systems. As with server system 9, the client system 33
includes input devices such as input device 51 which may include at least
one of a keyboard, mouse, trackball, touchpad, and a pen input device as
well as other well known computer input devices. As with server system 9,
the display controller 45 couples the display 47 to other components
within the computer 33, and the I/O controller 49 couples the input/output
device 51 to other components, such as the processor 37 of client computer
system 33. It will be appreciated that the client computer system 57 is
typically similar to the client computer 33 and that server computer
system 55 is typically similar to the server computer system 9. It will be
appreciated that other network resources which are coupled to either local
area network of FIG. 1 may include printers, modems, memory, disk devices,
etc. as is well known in the art. See, for example, U.S. Pat. No.
5,150,464.
Prior to describing various aspects of the present invention in detail, a
general overview of various aspects will be provided with reference to
FIG. 1. In a typical embodiment, text documents (which may include other
information such as graphics) are stored on the mass memory device 17 of
the server computer system 9. User's of client computer systems, such as
computer system 33 may search through those text documents, such as
newspaper articles or articles from scientific engineering periodicals.
The searching process typically involves the user of a client computer
system specifying certain words which the user believes should be in
documents which the user desires to see. The user of the computer will
often type into a keyboard these words which are used to define a search
request. Then the user requests that the search be performed by typically
selecting an option representing a start search command which is displayed
on the display device 47. At this point, the processor 37 sends this first
search request over the network through network interface 35 and network
interface 25 to processor 10 which executes the search requests by
performing a first search through the documents stored in mass memory 17.
It will also be appreciated that the Internet server 63 is similar to the
server system 9 and that data from the server 63 (e.g. data stored in
information storage devices coupled to the server 63) may be obtained by
the server system 9 using known networking techniques. Thus, data stored
on storage devices coupled to the server 63 may be searched through by
searching software on server 63 which is similar to the software on server
9 and which receives search requests from server 9 and executes the search
requests by searching the data and responds to the server 9 with the
results of the search requests. The server 9 combines the results of such
remote searches with the results of the searching the server 9 performs on
data stored in local storage devices (e.g. mass memory 17) coupled to the
server 9. The combined search results are displayed to a user of a client
system (e.g. system 33) within one window. While the first search is
performed through the information sources stored in mass memory 17 or
elsewhere such as the information sources associated with the Internet
server 63, the processor 37 in the client system 33 may receive further
search requests from the user of the client system 33 such as a second
search request which seeks different types of documents.
For example, the first request by the user of client system 33 may be
directed to data concerning financial information about a particular
company which data the user believes will be located in the information
sources stored in one of the memory devices coupled to the network. For
this search, the user may use words such as the company's name, "balance
sheet" and "cash flow" together with well known Boolean logic operators in
order to specify search parameters which specify the desired type of
information concerning financial information about the company. While the
processor 10 in the server system 9 is executing the first search for this
financial information, the user of this client system 33 may define a
second search request or perform some other search related operation such
as selecting other information sources to search through or scheduling a
search to be performed in the future at some scheduled ti | | |