US 11,055,142 B1
Flexible computing
Thierry Cruanes, San Mateo, CA (US); Igor Demura, San Mateo, CA (US); Varun Ganesh, San Mateo, CA (US); Prasanna Rajaperumal, San Mateo, CA (US); Libo Wang, Foster City, CA (US); and Jiaqi Yan, San Mateo, CA (US)
Assigned to Snowflake Inc., San Mateo, CA (US)
Filed by Snowflake Inc., San Mateo, CA (US)
Filed on Oct. 30, 2020, as Appl. No. 17/84,861.
Application 17/084,861 is a continuation of application No. 16/874,388, filed on May 14, 2020, granted, now 10,860,381.
Int. Cl. G06F 9/46 (2006.01); G06F 9/50 (2006.01); G06F 9/54 (2006.01); H04L 29/08 (2006.01)
CPC G06F 9/5027 (2013.01) [G06F 9/5077 (2013.01); G06F 9/5083 (2013.01); G06F 9/542 (2013.01); H04L 67/1002 (2013.01); G06F 2209/5011 (2013.01)] 27 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by one or more processors, a demand for computing resources from a plurality of local servers;
calculating a total demand for computing resources for a system based at least on the received demands for computing resources from the plurality of local servers and historical data;
based on the calculated total demand for the system, requesting N number of computing resources from a pool of computing resources;
receiving a distribution of M number of computing resources;
allocating a first portion of the M number of computing resources to a first local server of the plurality of local servers;
allocating a second portion of the M number of computing resources to a second local server of the plurality of local server;
receiving an updated demand for computing resources from the plurality of local servers;
based on the updated demand, reducing allocation of the first portion of the M number of computing resources to the first local server; and
receiving a notification from the first local server regarding a release of one of its allocated computing resource; and
allocating the released computing resource to the second server.