Data parallel searching
First Claim
1. A computer-readable storage medium storing computer-executable instructions for performing a method comprising:
- receiving a query that includes a search operator and that identifies an input data source;
partitioning the input data source into a plurality of partitions;
performing a parallel search through the partitions for an element that could halt the search using a plurality of parallel workers that concurrently search the partitions;
generating a notification with one of the parallel workers when the element is found by that worker, thereby notifying other parallel workers that the search could be halted; and
making a determination with each of the other parallel workers whether to continue performing the search based on the generated notification.
2 Assignments
0 Petitions
Accused Products
Abstract
A query that includes a search operator and that identifies an input data source is received. The input data source is partitioned into a plurality of partitions. A parallel search through the partitions is performed for an element that could halt the search. The parallel search is performed using a plurality of parallel workers. One of the parallel workers generates a notification when the element is found by that worker. The notification notifies the other parallel workers that the search could be halted. Each of the parallel workers generates an output set based on results of the search. The output sets are merged into a merged output set.
-
Citations
20 Claims
-
1. A computer-readable storage medium storing computer-executable instructions for performing a method comprising:
-
receiving a query that includes a search operator and that identifies an input data source; partitioning the input data source into a plurality of partitions; performing a parallel search through the partitions for an element that could halt the search using a plurality of parallel workers that concurrently search the partitions; generating a notification with one of the parallel workers when the element is found by that worker, thereby notifying other parallel workers that the search could be halted; and making a determination with each of the other parallel workers whether to continue performing the search based on the generated notification. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for performing a parallel execution of a query, the method comprising:
-
receiving a search operator and that identifies an input data source; partitioning the input data source into a partitioned data source comprising a plurality of partitions; performing a parallel search through the partitions using a plurality of parallel workers that concurrently search the partitions; providing a notification from a first one of the parallel workers to other parallel workers when the first parallel worker finds an element that could result in the search being halted; and making a determination with each of the other parallel workers whether to continue performing the search based on the notification. - View Dependent Claims (18, 19)
-
-
20. A computer-readable storage medium storing computer-executable instructions for performing a method comprising:
-
receiving a query that includes a search operator and that identifies an input data source; partitioning the input data source into a plurality of partitions; providing the plurality of partitions to a plurality of parallel workers, wherein each of the parallel workers is provided a different one of the partitions; searching elements within the partitions concurrently with the plurality of parallel workers to identify an element that could result in the search being halted; generating a notification with one of the parallel workers when a potentially search halting element is found by that parallel worker to notify other parallel workers of the found element; and making an independent determination with each of the other parallel workers whether to continue performing the search based on an index for the found element, wherein the independent determination made by each of the other parallel workers is made in response to receiving the notification.
-
Specification