US 11,842,224 B1
Synchronous and asynchronous responses to data requests from remote devices
Nima Sharifi Mehr, Vancouver (CA)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 1, 2017, as Appl. No. 15/694,151.
Int. Cl. G06F 9/50 (2006.01); G06F 9/48 (2006.01)
CPC G06F 9/5083 (2013.01) [G06F 9/4881 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
determining a communication channel between a service provider network and a remote device;
receiving, at the service provider network and from the remote device, a request for status data associated with a computing resource of the service provider network;
obtaining, at the service provider network, a first portion of the status data associated with the computing resource;
determining, at the service provider network, that a period of time in which the first portion of the status data is obtained is greater than a threshold period of time;
based at least in part on the period of time being greater than the threshold period of time, sending a response to the remote device, including the first portion of the status data, and indicating an estimated time that a second portion of the status data will be sent asynchronously, wherein sending the second portion of the status data asynchronously comprises sending the second portion of the status data after the period of time, and wherein the estimated time is determined based at least in part on at least one of a current volume of requests received by the service provider network or a subscription limit associated with the remote device;
closing, after the sending of the response, the communication channel;
determining that the service provider network is unable to send the second portion of the status data prior to the estimated time;
sending, to the remote device, prior to an expiration of the estimated time, and based at least in part on the service provider network being unable to send the second portion of the status data prior to the estimated time, an updated estimate time;
obtaining, at the service provider network, the second portion of the status data associated with the computing resource; and
subsequent to the period of time, and subsequent to the closing the communication channel, sending, to the remote device and from the service provider network, the second portion of the status data.