US 12,287,808 B2
Resource management systems and methods
Thierry Cruanes, San Mateo, CA (US); Benoit Dageville, San Carlos, CA (US); and Marcin Zukowski, San Mateo, CA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by SNOWFLAKE INC., Bozeman, MT (US)
Filed on Sep. 22, 2023, as Appl. No. 18/472,912.
Application 18/472,912 is a continuation of application No. 17/463,357, filed on Aug. 31, 2021, granted, now 11,782,950.
Application 17/463,357 is a continuation of application No. 17/111,781, filed on Dec. 4, 2020, granted, now 11,132,380, issued on Sep. 28, 2021.
Application 17/111,781 is a continuation of application No. 16/447,416, filed on Jun. 20, 2019, granted, now 11,216,484, issued on Jan. 4, 2022.
Application 16/447,416 is a continuation of application No. 14/518,884, filed on Oct. 20, 2014, granted, now 10,366,102, issued on Jul. 30, 2019.
Claims priority of provisional application 61/941,986, filed on Feb. 19, 2014.
Prior Publication US 2024/0012836 A1, Jan. 11, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/27 (2019.01); A61F 5/56 (2006.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01); G06F 16/14 (2019.01); G06F 16/182 (2019.01); G06F 16/21 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/2453 (2019.01); G06F 16/2455 (2019.01); G06F 16/2458 (2019.01); G06F 16/25 (2019.01); G06F 16/28 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); H04L 67/1095 (2022.01); H04L 67/1097 (2022.01); H04L 67/568 (2022.01)
CPC G06F 16/273 (2019.01) [A61F 5/566 (2013.01); G06F 9/4881 (2013.01); G06F 9/5016 (2013.01); G06F 9/5044 (2013.01); G06F 9/5083 (2013.01); G06F 9/5088 (2013.01); G06F 16/148 (2019.01); G06F 16/1827 (2019.01); G06F 16/211 (2019.01); G06F 16/221 (2019.01); G06F 16/2365 (2019.01); G06F 16/24532 (2019.01); G06F 16/24545 (2019.01); G06F 16/24552 (2019.01); G06F 16/2456 (2019.01); G06F 16/2471 (2019.01); G06F 16/254 (2019.01); G06F 16/27 (2019.01); G06F 16/283 (2019.01); G06F 16/951 (2019.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); H04L 67/1095 (2013.01); H04L 67/1097 (2013.01); H04L 67/568 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
storing at least a portion of database data to one or more caches accessible to a plurality of execution nodes;
receiving, by a resource manager running on a first execution node of the plurality of execution nodes, a query to process the database data, wherein each of the plurality of execution nodes comprises at least one processor and a cache to cache data from a plurality of storage devices to independently process an allocated portion of the database data, wherein the resource manager is scaled independently from other resource managers based on the query and associated database data to be processed, wherein the cache varies in size among the plurality of execution nodes; and
allocating, the query to one or more of the plurality of execution nodes to process the database data, the one or more of the plurality of execution nodes having access to the one or more caches storing at least a portion of the database data, wherein the one or more of the plurality of execution nodes process the database data based at least in part on an organization of the database data within the one or more caches of the plurality of execution nodes and the plurality of storage devices.