Method and apparatus for high-performance sequence comparison
First Claim
1. A computer-implemented method of searching a plurality of queries against at least one database containing a plurality of records, comprising the steps of:
- a. partitioning the plurality of queries into a set of smaller subsets of queries;
b. partitioning the at least one database into a set of smaller subdatabases;
c. designating searching tasks to be performed by associating each of said subsets of queries with one or more of said subdatabases, assigning each searching task to one of a group of computers operating in parallel, wherein each member of the group of computers operating in parallel has at least one searching task assigned thereto, and executing at least some of the assigned searching tasks using the group of computers operating in parallel; and
d. collecting search results from the executed searching tasks and generating a unified search result in accordance with the collected search results;
wherein the partitioning of the queries and the partitioning of the database are done by one or more members of the group of computers operating in parallel; and
wherein step c further comprises dividing at least one of the searching tasks into two or more smaller searching tasks, and designating the two or more smaller tasks as related tasks on a virtual shared memory bulletin board.
9 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method and apparatus of searching a plurality of queries against at least one database containing a plurality of records. The plurality of queries is partitioned into a set of smaller subsets of queries. The at least one database is portioned into a set of smaller subdatabases. Searching tasks to be performed are designated by associating each of said subsets of queries with one or more of said subdatabases, assigning each searching task to one of a group of computers operating in parallel, wherein each member of the group of computers operating in parallel has at least one searching task assigned thereto, and executing at least some of the assigned searching tasks using the group of computers operating in parallel. At least one of the searching tasks is further divided into two or more smaller searching tasks, and the two or more smaller tasks are designated as related tasks on a virtual shared memory bulletin board. Search results are collected from the executed searching tasks and a unified search result is generated in accordance with the collected search results. The partitioning of the queries and the partitioning of the database are done by one or more members of the group of computers operating in parallel.
117 Citations
32 Claims
-
1. A computer-implemented method of searching a plurality of queries against at least one database containing a plurality of records, comprising the steps of:
-
a. partitioning the plurality of queries into a set of smaller subsets of queries;
b. partitioning the at least one database into a set of smaller subdatabases;
c. designating searching tasks to be performed by associating each of said subsets of queries with one or more of said subdatabases, assigning each searching task to one of a group of computers operating in parallel, wherein each member of the group of computers operating in parallel has at least one searching task assigned thereto, and executing at least some of the assigned searching tasks using the group of computers operating in parallel; and
d. collecting search results from the executed searching tasks and generating a unified search result in accordance with the collected search results;
wherein the partitioning of the queries and the partitioning of the database are done by one or more members of the group of computers operating in parallel; and
wherein step c further comprises dividing at least one of the searching tasks into two or more smaller searching tasks, and designating the two or more smaller tasks as related tasks on a virtual shared memory bulletin board. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 31)
-
-
23. An apparatus for performing a computer-implemented method of searching a plurality of queries against at least one database containing a plurality of records, comprising:
-
a. means for partitioning the plurality of queries into a set of smaller subsets of queries;
b. means for partitioning the at least one database into a set of smaller subdatabases;
c. means for designating searching tasks to be performed by associating each of said subsets of queries with one or more of said subdatabases;
d. means for dividing at least one of the searching tasks into two or more smaller searching tasks, and designating the two or more smaller tasks as related tasks on a virtual shared memory bulletin board;
e. means for assigning each searching task to one of a group of computers operating in parallel, wherein each member of the group of computers operating in parallel has at least one searching task assigned thereto;
f. means for executing at least some of the assigned searching tasks using the group of computers operating in parallel;
g. means for collecting search results from the executed searching tasks; and
h. means for generating a unified search result in accordance with the collected search results;
wherein the means for partitioning of the queries and the means for partitioning of the database comprise one or more members of the group of computers operating in parallel. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 32)
-
Specification