US 11,868,359 B2
Dynamically assigning queries to secondary query processing resources
Gaurav Saxena, Cupertino, CA (US); Ippokratis Pandis, Menlo Park, CA (US); Mengchu Cai, San Jose, CA (US); Mingda Li, Los Angeles, CA (US); Mohammad Rezaur Rahman, Fremont, CA (US); and Naresh Chainani, Mountain View, CA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Apr. 15, 2022, as Appl. No. 17/722,222.
Application 17/722,222 is a continuation of application No. 16/452,385, filed on Jun. 25, 2019, granted, now 11,308,100.
Prior Publication US 2022/0237184 A1, Jul. 28, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/245 (2019.01); G06F 16/28 (2019.01); G06F 16/2458 (2019.01); G06F 16/2455 (2019.01); G06F 9/38 (2018.01)
CPC G06F 16/2458 (2019.01) [G06F 16/24561 (2019.01); G06F 16/285 (2019.01); G06F 9/3877 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system, comprising:
at least one processor; and
a memory, storing program instructions that when executed by the at least one processor, cause the at least one processor to implement a primary query engine for a database;
wherein the primary query engine is configured to:
receive a query to the database;
determine whether the query is eligible to be performed by at least the primary query engine and a secondary query engine, wherein the primary query engine and the secondary query engine are provisioned to perform queries to the database in response to the query or a prior query to the database; and
responsive to a determination that the query is eligible to be performed by the primary query engine and the secondary query engine:
predict a first execution time for the primary query engine to perform the query and a second execution time for the secondary query engine to perform the query,
assign one of the primary query engine or the secondary query engine to begin performing the query based on a comparison between the first execution time and the second execution time, and
responsive to an assignment of the query to the secondary query engine, send a request to the secondary query engine to begin performing the query to the database.