System for discrete parallel processing of queries and updates
First Claim
1. A computing system with a key-ordered list of data objects distributed over a plurality of servers which allows discrete parallel processing on said servers, comprising:
- (a) a self contained key-ordered list of data objects;
(b) a plurality of memories in a plurality of servers, each memory containing a segment of the self-contained key-ordered list of data objects where each segment consists of a contiguous subset of said objects having keys with a specified range; and
(c) a query processor which receives queries and, based on data content of the query, directs each received query to one of said plurality of servers by comparing the data content of the query to the specified range of keys for each segment,wherein there are at least two copies of said memories for a segment of said segmented list, and one of the copies for a segment is available for updates, the other copies for the segment are available for queries.
16 Assignments
0 Petitions
Accused Products
Abstract
A data driven discrete parallel processing computing system for searches with a key-ordered list of data objects distributed over a plurality of servers. The invention is a data-driven architecture for distributed segmented databases consisting of lists of objects. The database is divided into segments based on content and distributed over a multiplicity of servers. Updates and queries are data driven and determine the segment and server to which they must be directed avoiding broadcasting. This is effective for systems such as search engines. Each object in the list of data objects must have a key on which the objects can be sorted relative to each other. Each segment is self-contained and doesn'"'"'t rely on a schema. Multiple simultaneous queries and simultaneous updates and queries on different segments on different servers result in parallel processing on the database taken as a whole.
234 Citations
34 Claims
-
1. A computing system with a key-ordered list of data objects distributed over a plurality of servers which allows discrete parallel processing on said servers, comprising:
-
(a) a self contained key-ordered list of data objects; (b) a plurality of memories in a plurality of servers, each memory containing a segment of the self-contained key-ordered list of data objects where each segment consists of a contiguous subset of said objects having keys with a specified range; and (c) a query processor which receives queries and, based on data content of the query, directs each received query to one of said plurality of servers by comparing the data content of the query to the specified range of keys for each segment, wherein there are at least two copies of said memories for a segment of said segmented list, and one of the copies for a segment is available for updates, the other copies for the segment are available for queries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of operating a computing system with a key-ordered list of objects distributed over a plurality of servers which allows discrete parallel processing on said servers, comprising:
-
(a) creating a self contained key-ordered list of data objects; (b) operating a plurality of servers with a plurality of memories, each memory containing a segment of the self contained key-ordered list of data objects where each segment consists of a contiguous subset of said objects having keys with a specified range; and (c) operating a query processor which receives queries and, based on data content of the query, directs each received query to one of said plurality of servers by comparing the data content of the query to the specified range of keys for each segment, wherein there are at least two copies of said memories for a segment of said segmented list, and one of the copies for a segment is available for updates, the other copies for the segment are available for queries. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
Specification