System and method for returning results of a query from one or more slave nodes to one or more master nodes of a database system
First Claim
1. A database system for processing a query request, comprising:
- a first master node running on at least one first processor for;
communicating a request to perform one or more activities associated with a precompiled query over at least one communication channel of the database system,receiving a request-to-send message from a first slave node on a flow control communication channel, wherein the flow control communication channel is accessible by a plurality of master nodes including the first master node and another master node,listening, after receiving the request-to-send message, to the flow control communication channel for messages between the first slave node and the another master node to determine an availability of the first slave node at least based on whether or not the first slave node is currently sending results to the another master node,communicating a permission-to-send message to the first slave node, if it is determined from the listening on the flow control communication channel that the first slave node is available because it is not currently sending results to the another master node, wherein the permission-to-send message is valid for a predefined period of time, andcommunicating the permission-to-send message to a second slave node if it is determined from the listening on the flow control communication channel that the first slave node is unavailable because it is currently sending results to the another master node; and
a plurality of slave nodes running on at least one second processor coupled to the first master node, at least a particular one of the slave nodes for;
receiving over the communication channel the request communicated by the first master node;
performing at least a portion of the one or more activities associated with the request to obtain one or more results for the request;
communicating the request-to-send message to the first master node indicating that the one or more results are available for communication to the first master node; and
communicating at least a portion of the one or more results to the first master node in response to receiving the permission-to-send message from the first master node.
3 Assignments
0 Petitions
Accused Products
Abstract
A database system for processing a query request comprises a master node that communicates a request to perform one or more activities associated with a precompiled query over at least one communication channel. A plurality of slave nodes are coupled to the master node. At least a particular one of the slave node receives the request communicated by the master node, performs at least a portion of the one or more activities associated with the request to obtain one or more results for the request, communicates a request-to-send message to the master node indicating that the one or more results are available for communication to the master node, and communicates at least a portion of the one or more results to the master node in response to receiving a permission-to-send message from the master node.
65 Citations
17 Claims
-
1. A database system for processing a query request, comprising:
-
a first master node running on at least one first processor for; communicating a request to perform one or more activities associated with a precompiled query over at least one communication channel of the database system, receiving a request-to-send message from a first slave node on a flow control communication channel, wherein the flow control communication channel is accessible by a plurality of master nodes including the first master node and another master node, listening, after receiving the request-to-send message, to the flow control communication channel for messages between the first slave node and the another master node to determine an availability of the first slave node at least based on whether or not the first slave node is currently sending results to the another master node, communicating a permission-to-send message to the first slave node, if it is determined from the listening on the flow control communication channel that the first slave node is available because it is not currently sending results to the another master node, wherein the permission-to-send message is valid for a predefined period of time, and communicating the permission-to-send message to a second slave node if it is determined from the listening on the flow control communication channel that the first slave node is unavailable because it is currently sending results to the another master node; and a plurality of slave nodes running on at least one second processor coupled to the first master node, at least a particular one of the slave nodes for; receiving over the communication channel the request communicated by the first master node; performing at least a portion of the one or more activities associated with the request to obtain one or more results for the request; communicating the request-to-send message to the first master node indicating that the one or more results are available for communication to the first master node; and communicating at least a portion of the one or more results to the first master node in response to receiving the permission-to-send message from the first master node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for processing a query request, comprising:
-
communicating from a first master node a request to perform one or more activities associated with a precompiled query over at least one communication channel of the database system; receiving, at least at a particular one of a plurality of slave nodes coupled to the first master node, over the communication channel the request communicated by the first master node; performing at the particular slave node at least a portion of the one or more activities associated with the request to obtain one or more results for the request; communicating from the particular slave node a request-to-send message to the first master node on a flow control communication channel indicating that the one or more results are available for communication to the first master node, wherein the flow control communication channel is accessible by a plurality of master nodes including the first master node and another master node; listening, after receiving the request-to-send message, to the flow control communication channel for messages between the first slave node and the another master node to determine, prior to communicating a permission-to-send message to the particular slave node, an availability of the first slave node at least based on whether or not the particular slave node is currently sending results to the another master node; communicating the permission-to-send message to the particular slave node if it is determined from the listening on the flow control communication channel that the particular slave node is available because it is not currently sending results to the another master node, wherein the permission-to-send message is valid for a predefined period of time; communicating the permission-to-send message to a different slave node if it is determined from the listening on the flow control communication channel that the particular slave node is not available because it is currently sending the results to the another master node; and communicating from the particular slave node at least a portion of the one or more results to the first master node in response to receiving the permission-to-send message from the first master node. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable medium comprising program instructions, which, when executed by a processor, cause the processor to perform a method for processing a query request, the method comprising:
-
communicating from a first master node a request to perform one or more activities associated with a precompiled query over at least one communication channel of the database system; receiving, at least at a particular one of a plurality of slave nodes coupled to the first master node, over the communication channel the request communicated by the first master node; performing at the particular slave node at least a portion of the one or more activities associated with the request to obtain one or more results for the request; communicating from the particular slave node a request-to-send message to the first master node on a flow control communication channel indicating that the one or more results are available for communication to the first master node, wherein the flow control communication channel is accessible by a plurality of master nodes including the first master node and another master node; listening, after receiving the request-to-send message, to the flow control communication channel for messages between the first slave node and the another master node to determine, prior to communicating a permission-to-send message to the particular slave node, an availability of the first slave node at least based on whether or not the particular slave node is currently sending results to the another master node; communicating the permission-to-send message to the particular slave node if it is determined from the listening on the flow control communication channel that the particular slave node is available because it is not currently sending results to the another master node, wherein the permission-to-send message is valid for a predefined period of time; communicating the permission-to-send message to a different slave node if it is determined from the listening on the flow control communication channel that the particular slave node is not available because it is currently sending the results to the another master node; and communicating from the particular slave node at least a portion of the one or more results to the first master node in response to receiving the permission-to-send message from the first master node.
-
Specification