Flow control in very large query result sets using a release message to confirm that a client computer is ready to receive the data associated with a data collection operation
First Claim
1. A computer-implemented method comprising:
- receiving, by a coordinator computer and from a client computer that is remote from the coordinator computer, a request to initiate execution of a data collection operation;
in response to receiving the request to initiate execution of the data collection operation, establishing a feedback communication channel by transmitting a flow control message from the coordinator computer to the client computer;
after transmitting the flow control message from the coordinator computer to the client computer, receiving, from the client computer, a release message that indicates that the client computer is ready to receive data associated with the data collection operation;
in response to receiving the release message from the client computer, relaying, by the coordinator computer to at least one worker computer, the release message that indicates that the client computer is ready to receive data associated with the data collection operation, as received by the coordinator computer and from the client computer;
after relaying the release message that indicates that the client computer is ready to receive data associated with the data collection operation to the at least one worker computer, receiving data associated with the data collection operation from the at least one worker computer; and
transmitting at least a portion of the data associated with the data collection operation, as received by the coordinator computer and from the at least one worker computer, from the coordinator computer to the client computer.
2 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses and methods for providing flow control over a network are disclosed. One such method comprises receiving a first remote procedure call at a first computer from a second computer remote from the first computer, the first computer including a first memory and a first processor configured to execute instructions stored in the first memory, generating a second remote procedure call from the first processor to the second computer, the second remote procedure call responsive to the first remote procedure call, monitoring the first processor for receipt of a release signal from the second computer, the release signal indicating when the second computer is able to receive data responsive to the first remote procedure call, and transmitting the data from the first memory of the first computer to the second computer responsive to receipt of the release signal at the first processor.
86 Citations
17 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a coordinator computer and from a client computer that is remote from the coordinator computer, a request to initiate execution of a data collection operation;
in response to receiving the request to initiate execution of the data collection operation, establishing a feedback communication channel by transmitting a flow control message from the coordinator computer to the client computer;after transmitting the flow control message from the coordinator computer to the client computer, receiving, from the client computer, a release message that indicates that the client computer is ready to receive data associated with the data collection operation; in response to receiving the release message from the client computer, relaying, by the coordinator computer to at least one worker computer, the release message that indicates that the client computer is ready to receive data associated with the data collection operation, as received by the coordinator computer and from the client computer; after relaying the release message that indicates that the client computer is ready to receive data associated with the data collection operation to the at least one worker computer, receiving data associated with the data collection operation from the at least one worker computer; and transmitting at least a portion of the data associated with the data collection operation, as received by the coordinator computer and from the at least one worker computer, from the coordinator computer to the client computer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
one or more data processing apparatus; and a computer-readable storage device having stored thereon instructions that, when executed by the one or more data processing apparatus, cause the one or more data processing apparatus to perform operations comprising; receiving, by a coordinator computer and from a client computer that is remote from the coordinator computer, a request to initiate execution of a data collection operation;
in response to receiving the request to initiate execution of the data collection operation, establishing a feedback communication channel by transmitting a flow control message from the coordinator computer to the client computer;after transmitting the flow control message from the coordinator computer to the client computer, receiving, from the client computer, a release message that indicates that the client computer is ready to receive data associated with the data collection operation; in response to receiving the release message from the client computer, relaying, by the coordinator computer to at least one worker computer, the release message that indicates that the client computer is ready to receive data associated with the data collection operation, as received by the coordinator computer and from the client computer; after relaying the release message that indicates that the client computer is ready to receive data associated with the data collection operation to the at least one worker computer, receiving data associated with the data collection operation from the at least one worker computer; and transmitting at least a portion of the data associated with the data collection operation, as received by the coordinator computer and from the at least one worker computer, from the coordinator computer to the client computer. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable storage device having instructions stored thereon that, when executed by a computing device, cause the computing device to perform operations comprising:
-
receiving, by a coordinator computer and from a client computer that is remote from the coordinator computer, a request to initiate execution of a data collection operation;
in response to receiving the request to initiate execution of the data collection operation, establishing a feedback communication channel by transmitting a flow control message from the coordinator computer to the client computer;after transmitting the flow control message from the coordinator computer to the client computer, receiving, from the client computer, a release message that indicates that the client computer is ready to receive data associated with the data collection operation; in response to receiving the release message from the client computer, relaying, by the coordinator computer to at least one worker computer, the release message that indicates that the client computer is ready to receive data associated with the data collection operation, as received by the coordinator computer and from the client computer; after relaying the release message that indicates that the client computer is ready to receive data associated with the data collection operation to the at least one worker computer, receiving data associated with the data collection operation from the at least one worker computer; and transmitting at least a portion of the data associated with the data collection operation, as received by the coordinator computer and from the at least one worker computer, from the coordinator computer to the client computer. - View Dependent Claims (14, 15, 16, 17)
-
Specification