Claims
- 1. A meta-search system for performing a search over a plurality of data sources via one or more search passes, the system comprising:
a search controller for: i) transmitting a search query object having a specified route which lists a plurality of query processors desired to be executed; ii) receiving data request objects from the plurality of executed query processors and transmitting the data request objects to a plurality of data collectors, each data request object being transmitted to associated data collectors, iii) receiving result objects associated with the data requests from the data collectors, and iv) transmitting the result objects to a user interface for display; the plurality of query processors being executed according to the specified route to receive and process the search query object, each of the query processors enabled to generate a data request object based on the search query object and one or more data request objects generated by one or more previously executed query processors; and each of the plurality of data collectors enabled to convert a data request object received from the search controller to a request associated with an outside data source that performs a search according to the converted request, and each data collector enabled to convert a result of the search transmitted from the outside data source to a result object.
- 2. A meta-search system for performing a search over a plurality of data sources according to claim 1, wherein each of the plurality of query processors is enabled for: i) altering the search query object to change a sequence of query processors desired to be executed in the specified route; ii) adding one or more additional query processors to the specified route; and iii) removing one or more query processors from the specified route.
- 3. A meta-search system for performing a search over a plurality of data sources according to claim 1, wherein the search controller receives a search request from a user interface and generates the search query object based on the search request.
- 4. A meta-search system for performing a search over a plurality of data sources according to claim 1, wherein the meta-search system further comprises:
a plurality of result processors for receiving the result objects from the search controller, processing the result objects and transmitting the processed result objects to the search controller for transmission to the user interface, wherein a different subset of result processors is applied to each different result object based on the search query object, the result object and the specified route.
- 5. A meta-search system for performing a search over a plurality of data sources according to claim 4, wherein the search controller further executes a plurality of previously executed modules that include query processors, data collectors and result processors to determine if at least one module requests another search pass and none of the modules vetoes another search pass, and based on the determination the search controller initiates another search pass for the search through the meta-search system.
- 6. A meta-search system for performing a search over a plurality of data sources according to claim 1, wherein the search controller further determines which desired query processor is to be executed next according to an eligible query processor on the specified route that has at least one unused capability.
- 7. A meta-search system for performing a search over a plurality of data sources according to claim 1, wherein the specified route is a local route and a query processor further determines which desired query processor is to be executed next according to an eligible query processor on the local route that has at least one unused capability.
- 8. A meta-search method for performing a search over a plurality of data sources via one or more search passes, the method comprising:
(a) transmitting a search query object having a specified route which lists a plurality of query processor desired to be executed; (b) executing the plurality of query processors according to the specified route for receiving and processing the search query object; (c) generating at each of the query processors zero or more data request objects based on the search query object and one or more data request objects generated by one or more previously executed query processors; (d) transmitting each data request object to associated data collectors; (e) converting each data request object to a request associated with an outside data source that performs a search according to the converted request; (f) converting a result of the search transmitted from the outside data source to the associated data collector to a result object; and (g) transmitting the result object to a user interface for display.
- 9. A meta-search method for performing a search over a plurality of data sources according to claim 8, wherein the method further comprises a step of altering the search query object to change a sequence of query processors desired to be executed in the specified route.
- 10. A meta-search method for performing a search over a plurality of data sources according to claim 8, wherein the method further comprises a step of adding one or more additional query processors to the specified route.
- 11. A meta-search method for performing a search over a plurality of data sources according to claim 8, wherein the method further comprises a step of removing on or more query processors from the specified route.
- 12. A meta-search method for performing a search over a plurality of data sources according to claim 8, wherein the method further comprises the steps of:
receiving a search request from a user via the user interface; and generating the search query object based on the search request.
- 13. A meta-search method for performing a search over a plurality of data sources according to claim 8, wherein the method further comprises the steps of:
receiving result objects at a plurality of result processors; processing the result objects at the result processors wherein a different subset of result processors is applied to each different result object based on the search query object, the result object and the specified route; and transmitting the processed result objects.
- 14. A meta-search method for performing a search over a plurality of data sources according to claim 13, wherein the method further comprises the steps of:
executing a plurality of previously executed modules that include query processors, data collectors and result processors to determine if at least one module requests another search pass and none of the modules vetoes another search pass; and initiating another search pass for the search based on the determination.
- 15. A meta-search method for performing a search over a plurality of data sources according to claim 8, wherein the method further comprises a step of determining which desired query processor is to be executed next according to an eligible query processor on the specified route that has at least one unused capability.
- 16. A meta-search method for performing a search over a plurality of data sources according to claim 8, wherein the specified route is a local route, and the method comprises a step of determining which desired query processor is to be executed next according to an eligible query processor on the local route that has at least one unused capability.
- 17. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search method for performing a search over a plurality of data sources via one or more search passes, the method comprising the steps of:
(a) transmitting a search query object having a specified route which lists a plurality of query processor desired to be executed; (b) executing the plurality of query processors according to the specified route for receiving and processing the search query object; (c) generating at each of the query processors a data request object based on the search query object and one or more data request objects generated by one or more previously executed query processors, each data request object being associated with a data collector; (d) transmitting each data request object to the associated data collector; (e) converting each data request object to a request associated with an outside data source that performs a search according to the converted request; (f) converting a result of the search transmitted from the outside data source to the associated data collector to a result object; and (g) transmitting the result object to a user interface for display.
- 18. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search method according to claim 17, wherein the method further comprises a step of altering the search query object to change a sequence of query processors desired to be executed in the specified route.
- 19. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search method according to claim 17, wherein the method further comprises a step of adding one or more additional query processors to the specified route.
- 20. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search method according to claim 17, wherein the method further comprises a step of removing on or more query processors from the specified route.
- 21. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search method according to claim 17, wherein the method further comprises the steps of:
receiving a search request from a user via the user interface; and generating the search query object based on the search request.
- 22. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search method according to claim 17, wherein the method further comprises the steps of:
receiving result objects at a plurality of result processors; processing the result objects at the result processors wherein a different subset of result processors is applied to each different result object based on the search query object, the result object and the specified route; and transmitting the processed result objects.
- 23. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search method according to claim 22, wherein the method further comprises the steps of:
executing a plurality of previously executed modules that include query processors, data collectors and result processors to determine if at least one module requests another search pass and none of the modules vetoes another search pass; and initiating another search pass for the search based on the determination.
- 24. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search according to claim 17, wherein the method further comprises a step of determining which desired query processor is to be executed next according to an eligible query processor on the specified route that has at least one unused capability.
- 25. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a meta-search according to claim 17, wherein the specified route is a local route, and the method comprises a step of determining which desired query processor is to be executed next according to an eligible query processor on the local route that has at least one unused capability.
CROSS-REFERENCE
[0001] This application claims the benefit of a U.S. Provisional Application 60/441,404 filed Jan. 21, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60441404 |
Jan 2003 |
US |