DYNAMIC QUERY MASTER AGENT FOR QUERY EXECUTION
First Claim
1. One or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for assigning a segment root, the method comprising:
- receiving a search query;
identifying a set of nodes in a segment that will be used to resolve the search query;
selecting a preliminary segment root from the set of nodes;
receiving, at the preliminary segment root, statistical data from each node in the identified set of nodes, the statistical data indicating each node'"'"'s capability to act as a final segment root that is responsible for assembling query-execution results from the set of nodes based on the search query;
algorithmically selecting the final segment root from the set of nodes based on the statistical data; and
notifying the set of nodes about the final segment root so that the nodes know where to send their respective query-execution results.
2 Assignments
0 Petitions
Accused Products
Abstract
A preliminary segment root and a final segment root are selected for each segment. Each time a search query is received, a set of nodes in each segment that will be used to resolve the search query is identified. A preliminary segment root is selected from the set of nodes. Based on statistical data from each node in the set of nodes indicating each node'"'"'s capability to act as a final segment root that assembles query-execution data, the preliminary segment root algorithmically selects the final segment root. The other nodes in the set of nodes are notified regarding the identity of the final segment root.
17 Citations
20 Claims
-
1. One or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for assigning a segment root, the method comprising:
-
receiving a search query; identifying a set of nodes in a segment that will be used to resolve the search query; selecting a preliminary segment root from the set of nodes; receiving, at the preliminary segment root, statistical data from each node in the identified set of nodes, the statistical data indicating each node'"'"'s capability to act as a final segment root that is responsible for assembling query-execution results from the set of nodes based on the search query; algorithmically selecting the final segment root from the set of nodes based on the statistical data; and notifying the set of nodes about the final segment root so that the nodes know where to send their respective query-execution results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. One or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for assigning a segment root, the method comprising:
-
at a segment comprising a plurality of nodes, receiving a search query to be executed; identifying a set of nodes from the plurality of nodes that will be used to execute the search query; prior to execution of the search query, selecting a preliminary segment root from the plurality of nodes, the selection based on one or more of an expected load for each node or a random selection; receiving statistical data at the preliminary segment root from each node in the set of nodes that will be used to execute the search query, wherein the statistical data includes current load and cost data associated with sending data across a network; based on the statistical data, selecting a final segment root that will aggregate query-execution data from the set of nodes during query execution; and executing the search query. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. One or more computer-storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform a method for assigning a segment root, the method comprising:
-
at a corpus root that comprises a plurality of segments, receiving a search query, wherein each of the plurality of segments comprises a plurality of nodes that each has a portion of a search index stored thereon; identifying a set of nodes in each segment that will be used to execute the received search query; for each of the plurality of segments, identifying a preliminary segment root from the set of nodes; requesting statistical data from each node in the set of nodes that will be used to execute the received search query; receiving the statistical data from each node of the set of nodes, the statistical data indicating an availability of each node to act as a final segment root that collects query-execution data from the set of nodes in its corresponding segment; based on the statistical data, selecting the final segment root for each segment; and executing the search query. - View Dependent Claims (18, 19, 20)
-
Specification