Systems, methods, and apparatuses for implementing a streaming platform IO pump and regulator
First Claim
1. A method at a first computing device, the method comprising:
- executing an application at the first computing device;
requesting data for the application from a second computing device communicably interfaced with the first computing device via a public Internet;
calculating an estimated arrival time for the data to be returned from the second computing device;
determining the data fails to arrive within the estimated arrival time calculated;
initiating a new connection to the second computing device;
re-sending the request for the data for the application to the second computing device via the new connection;
determining the data arrives on the new connection responsive to re-sending the request for the data to the second computing device via the new connection within the estimated arrival time calculated;
consuming the data at the first computing device via the application;
sending an acknowledgement to the second computing device via the new connection;
receiving a second copy of the data via an original connection subsequent to the data arriving initially on the new connection; and
discarding the second copy of the data as waste.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses for implementing a streaming platform IO pump and regulator including, for example, means for executing an application at the computing device; requesting data for the application from a second computing device communicably interfaced with the first computing device via a public Internet; calculating an estimated arrival time for the data to be returned from the second computing device; determining the data fails to arrive within the estimated arrival time calculated; initiating a new connection to the second computing device; and re-sending the request for the data for the application to the second computing device via the new connection. Other related embodiments are disclosed.
-
Citations
23 Claims
-
1. A method at a first computing device, the method comprising:
-
executing an application at the first computing device; requesting data for the application from a second computing device communicably interfaced with the first computing device via a public Internet; calculating an estimated arrival time for the data to be returned from the second computing device; determining the data fails to arrive within the estimated arrival time calculated; initiating a new connection to the second computing device; re-sending the request for the data for the application to the second computing device via the new connection; determining the data arrives on the new connection responsive to re-sending the request for the data to the second computing device via the new connection within the estimated arrival time calculated; consuming the data at the first computing device via the application; sending an acknowledgement to the second computing device via the new connection; receiving a second copy of the data via an original connection subsequent to the data arriving initially on the new connection; and discarding the second copy of the data as waste. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. Non-transitory computer readable storage media having instructions stored thereon that, when executed by a processor in a first computing device, the instructions cause the first computing device to perform operations comprising:
-
executing an application at the first computing device; requesting data for the application from a second computing device communicably interfaced with the first computing device via a public Internet; calculating an estimated arrival time for the data to be returned from the second computing device; determining the data fails to arrive within the estimated arrival time calculated; initiating a new connection to the second computing device; and re-sending the request for the data for the application to the second computing device via the new connection; determining the data arrives on the new connection responsive to re-sending the request for the data to the second computing device via the new connection within the estimated arrival time calculated; consuming the data at the first computing device via the application; sending an acknowledgement to the second computing device via the new connection; receiving a second copy of the data via an original connection subsequent to the data arriving initially on the new connection; and discarding the second copy of the data as waste. - View Dependent Claims (16)
-
-
17. A computing device comprising:
-
a processor to execute an application, the application being operable to communicate with a second computing device over a public Internet; an Input/Output (I/O) pump to allocate multiple simultaneous Transmission Control Protocol (TCP) connections in support of the application; and the Input/Output (I/O) pump to further request data for the application from the second computing device communicably interfaced with the computing device via a public Internet on a first one of the multiple simultaneous TCP connections; a regulator module to calculate an estimated arrival time for the data to be returned from the second computing device via the first one of the multiple simultaneous TCP connections; the Input/Output (I/O) pump to determine the data has failed to arrive within the estimated arrival time calculated; the Input/Output (I/O) pump to initiate a new TCP connection to the second computing device from among the multiple simultaneous TCP connections; and the Input/Output (I/O) pump to re-send the request for the data for the application to the second computing device via the new TCP connection; the Input/Output (I/O) pump to determine the data arrives on the new connection responsive to re-send of the request for the data to the second computing device via the new connection within the estimated arrival time calculated; the application to consume the data received via the new connection; the Input/Output (I/O) pump to send an acknowledgement to the second computing device via the new connection; the Input/Output (I/O) pump to receive a second copy of the data via an original connection subsequent to the data having arrived on the new connection; and the Input/Output (I/O) pump to discard the second copy of the data as waste. - View Dependent Claims (18)
-
-
19. A method at a first computing device, the method comprising:
-
receiving at the first computing device, a request for data from a second computing device communicatively interfaced via a public Internet; retrieving or generating the data requested; buffering the data requested into a queue; sending the data requested to the second computing device; receiving a new request for the data from the second computing device via a new connection subsequent to the second computing device failing to receive the data requested from the first computing device at the second computing device via an original connection within an estimated arrival time for the data to be returned from the first computing device as calculated by the second computing device; forwarding the requested data to the second computing device from the queue via the new connection without re-retrieving or re-generating the requested data; receiving an acknowledgement for the requested data from the second computing device via the new connection pursuant to the second computing device having determined the requested data arrived via the new connection within the estimated arrival time calculated, wherein an application at the second computing device consumes the requested data arriving via the new connection; and releasing the requested data from the queue of the first computing device and wherein the second computing device discards a second copy of the data which arrives via the original connection as waste. - View Dependent Claims (20, 21, 22, 23)
-
Specification