US 12,235,833 B2
Distributed execution of transactional queries
Thierry Cruanes, San Mateo, CA (US); Moritz Eyssen, Berlin (DE); Max Heimel, Berlin (DE); Lishi Jiang, Bellevue, WA (US); and Alexander Miller, San Mateo, CA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Jan. 18, 2024, as Appl. No. 18/415,826.
Application 18/415,826 is a continuation of application No. 17/823,801, filed on Aug. 31, 2022, granted, now 11,921,708.
Claims priority of provisional application 63/373,816, filed on Aug. 29, 2022.
Prior Publication US 2024/0232173 A1, Jul. 11, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/23 (2019.01); G06F 9/46 (2006.01); G06F 9/52 (2006.01); G06F 16/2455 (2019.01)
CPC G06F 16/2379 (2019.01) [G06F 16/24568 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
at least one hardware processor; and
a memory storing instructions that cause the at least one hardware processor to perform operations comprising:
receiving, at a first execution node, a broadcast of an execution request for a first transaction, the broadcast of the execution request being broadcasted by a leader node for the first transaction, the execution request including an execution command corresponding to the execution request and a first execution timestamp, the execution command including a plurality of operations to execute the execution request;
determining, by the first execution node, that the first execution node is assigned to execute at least a portion of the execution request in response to receiving the broadcast of the execution request for the first transaction, the first execution node being assigned to execute the execution command corresponding to the execution request;
blocking receipt of a second execution timestamp associated with a second transaction;
executing, by the first execution node, at least a first operation of the execution command corresponding to the execution request based on the first execution timestamp; and
unblocking receipt of the second execution timestamp associated with the second transaction.