Method and apparatus for implementing search and channel features in an enterprise-wide computer system
First Claim
Patent Images
1. A computer system configured to search for structured and unstructured data objects, the computer system connected to a network interface that may be connected to at least one user through a computer network;
- the computer system comprising;
a service broker electrically connected to the network interface, the service broker adapted to control a level of access to the computer system by a user;
a repository electrically connected to the service broker, the repository comprising a computer memory encoded with a plurality of objects including structured data objects and unstructured data objects;
a knowledge server electrically connected to the service broker and to the repository, the knowledge server comprising;
i) a computer memory encoded with at least one information source comprising a searchable index describing at least one set of structured and unstructured data objects;
ii) a crawl server configured to manage at least one crawler, wherein said at least one crawler is configured to process a set of structured and unstructured data objects and generate a searchable index describing the set of objects, and wherein said at least one crawler is configured to store the searchable index in a corresponding information source; and
iii) a search server configured to process a search request so as to generate a search result, wherein the search request comprises at least one query term, a corresponding set of search properties, and a list identifying at least one information source to be searched, and wherein the search result comprises a list of objects identified during the search.
5 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a portal computer system and method which provides personalized portal pages on which searches can be entered and search reports can be dynamically reported.
394 Citations
49 Claims
-
1. A computer system configured to search for structured and unstructured data objects, the computer system connected to a network interface that may be connected to at least one user through a computer network;
- the computer system comprising;
a service broker electrically connected to the network interface, the service broker adapted to control a level of access to the computer system by a user;
a repository electrically connected to the service broker, the repository comprising a computer memory encoded with a plurality of objects including structured data objects and unstructured data objects;
a knowledge server electrically connected to the service broker and to the repository, the knowledge server comprising;
i) a computer memory encoded with at least one information source comprising a searchable index describing at least one set of structured and unstructured data objects;
ii) a crawl server configured to manage at least one crawler, wherein said at least one crawler is configured to process a set of structured and unstructured data objects and generate a searchable index describing the set of objects, and wherein said at least one crawler is configured to store the searchable index in a corresponding information source; and
iii) a search server configured to process a search request so as to generate a search result, wherein the search request comprises at least one query term, a corresponding set of search properties, and a list identifying at least one information source to be searched, and wherein the search result comprises a list of objects identified during the search.- View Dependent Claims (2, 3, 4, 5, 6)
a computer memory encoded with a first information source comprising a searchable index corresponding to a plurality of sets of structured and unstructured data objects;
a crawl server configured to manage a plurality of crawlers, wherein each of said crawlers is configured to process a unique set of structured and unstructured data objects and generate a searchable index describing the unique set of objects, and wherein each of said crawlers is configured to store the generated searchable index in the first information source.
- the computer system comprising;
-
7. A computer system configured to search for structured and unstructured data objects, the computer system connected to a network interface that may be connected to at least one user through a computer network;
- the computer system comprising;
a service broker electrically connected to the network interface, the service broker adapted to control a level of access to the computer system by a user;
a repository electrically connected to the service broker, the repository comprising a computer memory encoded with a plurality of objects including structured data objects and unstructured data objects;
a knowledge server electrically connected to the service broker and to the repository, the knowledge server comprising;
i) a computer memory encoded with at least one information source comprising a searchable index describing at least one set of structured and unstructured data objects;
ii) a crawl server configured to manage at least one crawler, wherein said at least one crawler is configured to process a set of structured and unstructured data objects and generate a searchable index describing the set of objects, and wherein said at least one crawler is configured to store the searchable index in a corresponding information source; and
iii) a search server configured to process a search request so as to generate a search result, wherein the search request comprises at least one query term, a corresponding set of search properties, and a list identifying at least one information source to be searched, and wherein the search result comprises a list of objects identified during the search;
wherein the set of search properties includes a relevancy property defining a minimum relevancy score that an object must have to be included in the corresponding search result, a document type property defining a document type that an object must be to be included in the corresponding search result, and a date modified property defining a date beyond which an object must have been modified to be included in the corresponding search result;
wherein the computer memory of the knowledge server is further encoded with at least one set of crawler properties corresponding to one of said at least one crawlers, each set of crawler properties including;
a name of a corresponding crawler;
a list of URLs to be processed by the corresponding crawler;
a set of limits defining a number of links to follow beyond a starting URL;
a first set of constraints defining terms which must be included in an object in order for it to be indexed by the corresponding crawler;
a second set of constraints defining terms which must not be included in an object in order for it to be indexed by the corresponding crawler;
a set of authentication properties providing access to secure objects in said set of structured and unstructured data objects by the corresponding crawler; and
a schedule defining a time when the corresponding crawler is to begin execution. - View Dependent Claims (8, 9, 10, 11, 12)
a computer memory encoded with a first information source comprising a searchable index corresponding to a plurality of sets of structured and unstructured data objects;
a crawl server configured to manage a plurality of crawlers, wherein each of said crawlers is configured to process a unique set of structured and unstructured data objects and generate a searchable index describing the unique set of objects, and wherein each of said crawlers is configured to store the generated searchable index in the first information source.
- the computer system comprising;
-
13. A computer system configured to search for structured and unstructured data objects, the computer system connected to a network interface that may be connected to at least one user through a computer network;
- the computer system comprising;
a service broker electrically connected to the network interface, the service broker adapted to control a level of access to the computer system by a user;
a repository electrically connected to the service broker, the repository comprising a computer memory encoded with a plurality of objects including structured data objects, unstructured data objects, and at least one channel, wherein the channel comprises at least one query term, a corresponding set of search properties, and a list identifying at least one information source to be searched;
a knowledge server electrically connected to the service broker and to the repository, the knowledge server comprising;
i) a computer memory encoded with at least one information source comprising a searchable index describing at least one set of structured and unstructured data objects;
ii) a crawl server configured to manage at least one crawler, wherein said at least one crawler is configured to process a set of structured and unstructured data objects, generate a searchable index describing the set of objects, and store the searchable index in a corresponding information source; and
iii) a search server configured to receive said at least one channel from the repository and process the channel with each of the information sources listed in the channel so as to generate a search result, wherein the search result comprises a list of objects identified during the search.- View Dependent Claims (14, 15, 16, 17, 18)
a computer memory encoded with a first information source comprising a searchable index corresponding to a plurality of sets of structured and unstructured data objects;
a crawl server configured to manage a plurality of crawlers, wherein each of said crawlers is configured to process a unique set of structured and unstructured data objects and generate a searchable index describing the unique set of objects, and wherein each of said crawlers is configured to store the generated searchable index in the first information source.
- the computer system comprising;
-
19. A computer system configured to search for structured and unstructured data objects, the computer system connected to a network interface that may be connected to at least one user through a computer network;
- the computer system comprising;
a service broker electrically connected to the network interface, the service broker adapted to control a level of access to the computer system by a user;
a repository electrically connected to the service broker, the repository comprising a computer memory encoded with a plurality of objects including structured data objects, unstructured data objects, and at least one channel, wherein the channel comprises at least one query term, a corresponding set of search properties, and a list identifying at least one information source to be searched;
a knowledge server electrically connected to the service broker and to the repository, the knowledge server comprising;
i) a computer memory encoded with at least one information source comprising a searchable index corresponding to at least one set of structured and unstructured data objects;
ii) a crawl server configured to manage at least one crawler, wherein said at least one crawler is configured to process a set of structured and unstructured data objects, generate a searchable index describing the set of objects, and store the generated searchable index in a corresponding information source; and
iii) a search server configured to receive said at least one channel from the repository and process the channel with each of the information sources listed in the channel so as to generate a search result, wherein the search result comprises a list of objects identified during the search;
wherein the set of search properties includes a relevancy property defining a minimum relevancy score that an object must have to be included in the corresponding search result, a document type property defining a document type that an object must be to be included in the corresponding search result, and a date modified property defining a date beyond which an object must have been modified to be included in the corresponding search result;
wherein the computer memory of the knowledge server is further encoded with at least one set of crawler properties corresponding to one of said at least one crawlers, each set of crawler properties including;
a name of a corresponding crawler;
a list of URLs to be processed by the corresponding crawler;
a set of limits defining a number of links to follow beyond a starting URL;
a first set of constraints defining terms which must be included in an object in order for it to be indexed by the corresponding crawler;
a second set of constraints defining terms which must not be included in an object in order for it to be indexed by the corresponding crawler;
a set of authentication properties providing access to secure objects in said set of structured and unstructured data objects by the corresponding crawler; and
a schedule defining a time when the corresponding crawler is to begin execution. - View Dependent Claims (20, 21, 22, 23, 24, 25)
a computer memory encoded with a first information source comprising a searchable index corresponding to a plurality of sets of structured and unstructured data objects;
a crawl server configured to manage a plurality of crawlers, wherein each of said crawlers is configured to process a unique set of structured and unstructured data objects and generate a searchable index describing the unique set of objects, and wherein each of said crawlers is configured to store the generated searchable index in the first information source.
- the computer system comprising;
-
25. A computer system according to claim 19, further comprising:
an event server electrically connected to the service broker, the event server comprising a computer memory encoded with instructions for dispatching a channel for processing in the knowledge server according to a predefined schedule.
-
26. A method of conducting a search in a computer system comprising a service broker, a repository, and a knowledge server, wherein the knowledge server comprises a computer memory including at least one information source, a crawl server configured to manage at least one crawler, and a search server, the method comprising:
-
associating said at least one crawler with a set of structured and unstructured data;
assigning a set of crawler properties to said at least one crawler, wherein the set of crawler properties defines how said at least one crawler will process data objects;
executing the crawler with said set of crawler properties and said set of structured and unstructured data so as to generate index data corresponding to said set of structured and unstructured data;
storing the generated index data in a corresponding information source in the computer memory of the knowledge server;
receiving a search request comprising at least one query term, a corresponding set of search properties, and a list identifying at least one information source to be searched; and
processing the search request with each of the listed information sources so as to generate a search result comprising a list of objects identified during the search. - View Dependent Claims (27, 28, 29, 30)
receiving a request for access to the computer system by a user connected to the network interface through a computer network;
providing a level of access to the user based upon information stored in an authentication server;
receiving a search request from the user;
providing the corresponding search result to the user in a format readable by a browser program.
-
-
28. A method according to claim 26, wherein the set of structured and unstructured data objects includes at least one data object that is outside the computer system, wherein the step of executing the crawler further comprises:
retrieving a data object from outside the computer system through the network interface.
-
29. A method according to claim 28, wherein the set of structured and unstructured data objects includes at least one data object that is on the Internet, wherein the step of executing the crawler further comprises:
retrieving a data object from the Internet through the network interface.
-
30. A method according to claim 26, wherein the crawler properties includes a schedule defining a time when a corresponding crawler is to begin execution, the method further comprising:
executing said at least one crawler at a time defined by the schedule in the corresponding crawler properties.
-
31. A method of conducting a search in a computer system comprising a service broker, a repository, and a knowledge server,
wherein the knowledge server comprises a computer memory including at least one information source, a crawl server configured to manage at least one crawler, and a search server, wherein the repository comprises a computer memory encoded with a plurality of objects including structured data objects, unstructured data objects, and at least one channel, wherein said at least one channel comprises at least one query term and a list identifying at least one information source to be searched, the method comprising: -
associating said at least one crawler with a set of structured and unstructured data;
assigning a set of crawler properties to said at least one crawler, wherein the set of crawler properties defines how said at least one crawler will process data objects;
executing the crawler with said set of crawler properties and said set of structured and unstructured data so as to generate index data corresponding to said set of structured and unstructured data;
storing the generated index data in a corresponding information source in the computer memory of the knowledge server;
retrieving a channel from the repository; and
processing said at least one query term on the retrieved channel with each of the information sources listed in the channel so as to generate a search result comprising a list of objects identified during the search. - View Dependent Claims (32, 33, 34, 35)
receiving a request for access to the computer system by a user connected to the network interface through a computer network;
providing a level of access to the user based upon information stored in an authentication server;
receiving a request to execute a channel from the user;
providing the corresponding search result to the user in a format readable by a browser program.
-
-
33. A method according to claim 31, wherein the set of structured and unstructured data objects includes at least one data object that is outside the computer system, wherein the step of executing the crawler further comprises:
retrieving a data object from outside the computer system through the network interface.
-
34. A method according to claim 33, wherein the set of structured and unstructured data objects includes at least one data object that is on the Internet, wherein the step of executing the crawler further comprises:
retrieving a data object from the Internet through the network interface.
-
35. A method according to claim 31, wherein the crawler properties include a schedule defining a time when a corresponding crawler is to begin execution, the method further comprising:
executing said at least one crawler at a time defined by the schedule in the corresponding crawler properties.
-
36. A method of conducting a search in a computer system comprising a service broker, a repository, and a knowledge server, wherein the knowledge server comprises a computer memory including at least one information source, a crawl server configured to manage at least one crawler, and a search server, the method comprising:
-
associating said at least one crawler with a set of structured and unstructured data;
assigning a set of crawler properties to said at least one crawler, wherein the set of crawler properties includes a name of a corresponding crawler, a list of URLs to be processed by the corresponding crawler, and a set of limits defining a number of links to follow beyond a starting URL;
for each URL listed in the crawler properties, executing said at least one crawler to perform the following;
i) retrieving a data object corresponding to the URL;
ii) generating index data corresponding to the retrieved data object, the index data including a name of the retrieved data object, a document type corresponding to the retrieved data object, a date field corresponding to the last date on which the retrieved data object was modified, and a set of keywords associated with retrieved data object;
iii) storing the index data in a corresponding information source in the computer memory of the knowledge server;
iv) determining a number of links which have been followed since retrieving the data object corresponding to the listed URL;
v) if the number of links which have been followed is less than the number of links defined in the set of limits in the crawler properties, then performing steps a) through b);
a) processing the retrieved data object to generate a list of hyperlinks that appear in the retrieved data object;
b) for each hyperlink in the retrieved data object, performing the following steps aa) through dd);
aa) retrieving a data object corresponding to the hyperlink;
bb) generating index data corresponding to the retrieved data object, the index data including a name of the retrieved data object, a document type corresponding to the retrieved data object, a date field corresponding to the last date on which the retrieved data object was modified, and a set of keywords associated with retrieved data object;
cc) storing the generated index data in a corresponding information source in the computer memory of the knowledge server;
dd) recursively performing steps iv) through v) for the retrieved data object corresponding to the hyperlink;
receiving a search request comprising at least one query term, a set of search properties, and a list identifying at least one information source to be searched, wherein the set of search properties includes a relevancy property, a document type property, a date modified property, and a sorting criteria property;
for each entry in each of the information sources listed in the search request, executing the search server to perform the following steps;
vi) comparing the entry in the information source with said at least one query term so as to generate a relevancy score;
vii) if the generated relevancy score is greater than the relevancy property of the search request, then performing the following step c);
c) if the document type property of the entry matches the document type property of the search request, then performing the following step ee);
ee) if the date field of the entry is more recent than the date modified property of the search request, then storing the index data corresponding to the entry in a corresponding search result;
arranging the entries in the corresponding search result according to the sorting criteria property of the search request. - View Dependent Claims (37, 38, 39, 40, 41, 42)
the step of generating index data corresponding to the retrieved data object further comprising;
aaa) comparing the retrieved data object to the first set of constraints and to the second set of constraints in the crawler properties corresponding to the crawler; and
bbb) if the retrieved data object complies with both of the first set of constraints and the second set of constraints, then generating index data corresponding to the retrieved data object, the index data including a name of the retrieved data object, a document type corresponding to the retrieved data object, a date field corresponding to the last date on which the retrieved data object was modified, and a set of keywords associated with retrieved data object.
-
-
38. A method according to claim 36, wherein the set of crawler properties further includes a set of authentication properties providing access to secure data objects in said set of structured and unstructured data objects by the corresponding crawler, the step of retrieving a data object corresponding to the URL further comprising:
-
ccc) transmitting a request to retrieve a secure data object corresponding to the URL;
ddd) receiving a request for authentication data from a server corresponding to the URL;
eee) transmitting a set of authentication properties corresponding to the crawler to the server corresponding to the URL; and
fff) retrieving a secure data object from the server corresponding to the URL.
-
-
39. A method according to claim 36, wherein the set of crawler properties further includes a schedule defining a time when the corresponding crawler is to begin execution, the step of executing said at least one crawler further comprising:
executing said at least one crawler at a time defined by the schedule in the crawler properties.
-
40. A method according to claim 36, further comprising:
-
receiving a request for access to the computer system by a user connected to the network interface through a computer network;
providing a level of access to the user based upon information stored in an authentication server;
receiving a search request from the user;
providing the corresponding search result to the user in a format readable by a browser program.
-
-
41. A method according to claim 36, wherein the set of structured and unstructured data objects includes data objects that are outside the computer system, wherein the step of retrieving a data object further comprises:
retrieving a data object from outside the computer system through the network interface.
-
42. A method according to claim 41, wherein the set of structured and unstructured data objects includes data objects that are on the Internet, wherein the step of retrieving a data object further comprises:
retrieving a data object from the Internet through the network interface.
-
43. A method of conducting a search in a computer system comprising a service broker, a repository, and a knowledge server,
wherein the knowledge server comprises a computer memory encoded with at least one information source, a crawl server configured to manage at least one crawler, and a search server, wherein the repository comprises a computer memory encoded with a plurality of objects including structured data objects, unstructured data objects, and at least one channel, wherein said at least one channel comprises at least one query term, a corresponding set of search properties, and a list identifying at least one information source to be searched, and wherein the corresponding set of search properties includes a relevancy property, a document type property, a date modified property, and a sorting criteria property, the method comprising: -
associating said at least one crawler with a set of structured and unstructured data;
assigning a set of crawler properties to said at least one crawler, wherein the set of crawler properties includes a name of a corresponding crawler, a list of URLs to be processed by the corresponding crawler, and a set of limits defining a number of links to follow beyond a starting URL;
for each URL listed in the crawler properties, executing said at least one crawler to perform the following;
i) retrieving a data object corresponding to the URL;
ii) generating index data corresponding to the retrieved data object, the index data including a name of the retrieved data object, a document type corresponding to the retrieved data object, a date field corresponding to the last date on which the retrieved data object was modified, and a set of keywords associated with retrieved data object;
iii) storing the index data in a corresponding information source in the computer memory of the knowledge server;
iv) determining a number of links which have been followed since retrieving the data object corresponding to the listed URL;
v) if the number of links which have been followed is less than the number of links defined in the set of limits in the crawler properties, then performing steps a) through b);
a) processing the retrieved data object to generate a list of hyperlinks that appear in the retrieved data object;
b) for each hyperlink in the retrieved data object, performing the following steps aa) through dd);
aa) retrieving a data object corresponding to the hyperlink;
bb) generating index data corresponding to the retrieved data object, the index data including a name of the retrieved data object, a document type corresponding to the retrieved data object, a date field corresponding to the last date on which the retrieved data object was modified, and a set of keywords associated with retrieved data object;
cc) storing the generated index data in a corresponding information source in the computer memory of the knowledge server;
dd) recursively performing steps iv) through v) for the retrieved data object corresponding to the hyperlink;
retrieving said at least one channel from the computer memory of the repository;
for each entry in each of the information sources listed in the channel, executing the search server to perform the following steps;
vi) comparing the entry in the information source with said at least one query term so as to generate a relevancy score;
vii) if the generated relevancy score is greater than the relevancy property of the channel, then performing the following step c);
c) if the document type property of the entry matches the document type property of the channel, then performing the following step ee);
ee) if the date field of the entry is more recent than the date modified property of the channel, then storing the index data corresponding to the entry in a corresponding search result;
arranging the entries in the corresponding search result according to the sorting criteria property of the channel. - View Dependent Claims (44, 45, 46, 47, 48, 49)
the step of generating index data corresponding to the retrieved data object further comprising;
aaa) comparing the retrieved data object to the first set of constraints and to the second set of constraints in the crawler properties corresponding to the crawler; and
bbb) if the retrieved data object complies with both of the first set of constraints and the second set of constraints, then generating index data corresponding to the retrieved data object, the index data including a name of the retrieved data object, a document type corresponding to the retrieved data object, a date field corresponding to the last date on which the retrieved data object was modified, and a set of keywords associated with retrieved data object.
-
-
45. A method according to claim 43, wherein the set of crawler properties further includes a set of authentication properties providing access to secure data objects in said set of structured and unstructured data objects by the corresponding crawler, the step of retrieving a data object corresponding to the URL further comprising:
-
ccc) transmitting a request to retrieve a secure data object corresponding to the URL;
ddd) receiving a request for authentication data from a server corresponding to the URL;
eee) transmitting a set of authentication properties corresponding to the crawler to the server corresponding to the URL; and
fff) retrieving a secure data object from the server corresponding to the URL.
-
-
46. A method according to claim 43, wherein the set of crawler properties further includes a schedule defining a time when the corresponding crawler is to begin execution, the step of executing said at least one crawler further comprising:
executing said at least one crawler at a time defined by the schedule in the crawler properties.
-
47. A method according to claim 43, further comprising:
-
receiving a request for access to the computer system by a user connected to the network interface through a computer network;
providing a level of access to the user based upon information stored in an authentication server;
receiving a request to execute a channel from the user;
providing the corresponding search result to the user in a format readable by a browser program.
-
-
48. A method according to claim 43, wherein the set of structured and unstructured data objects includes data objects that are outside the computer system, wherein the step of retrieving a data object further comprises:
retrieving a data object from outside the computer system through the network interface.
-
49. A method according to claim 48, wherein the set of structured and unstructured data objects includes data objects that are on the Internet, wherein the step of retrieving a data object further comprises:
retrieving a data object from the Internet through the network interface.
Specification