US 12,248,470 B2
Anticipatory pre-execution of data queries
Colin Zima, San Francisco, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Aug. 16, 2023, as Appl. No. 18/451,032.
Application 18/451,032 is a continuation of application No. 17/811,720, filed on Jul. 11, 2022, granted, now 11,755,574.
Application 17/811,720 is a continuation of application No. 16/989,827, filed on Aug. 10, 2020, granted, now 11,409,740, issued on Aug. 9, 2022.
Prior Publication US 2023/0401206 A1, Dec. 14, 2023
Int. Cl. G06F 16/2453 (2019.01); G06F 9/48 (2006.01); G06F 16/2455 (2019.01); G06F 16/2458 (2019.01); G06F 16/248 (2019.01)
CPC G06F 16/24539 (2019.01) [G06F 9/4881 (2013.01); G06F 16/24564 (2019.01); G06F 16/24568 (2019.01); G06F 16/2477 (2019.01); G06F 16/248 (2019.01)] 14 Claims
OG exemplary drawing
 
1. A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
monitoring a query processing schedule comprising a plurality of queries, each respective query of the plurality of queries:
scheduled to execute against a database at a respective specified time; and
comprising respective meta-data defining a respective attribute of the respective query, the meta-data indicating:
a respective execution cost of the respective query; and
a data freshness sensitivity of the respective query, the data freshness sensitivity indicating a reliance on freshness of corresponding data of the database queried by the respective query;
detecting, based on the monitoring of the query processing schedule, a period of time in the query processing schedule where no queries are scheduled to execute;
in response to detecting the period of time where no queries are scheduled to execute, selecting, based on the respective execution cost, a query of the plurality of queries;
rescheduling the selected query to execute during the period of time;
detecting, based on the monitoring, a second period of time where no queries are scheduled to execute;
in response to detecting the second period of time where no queries are scheduled to execute, selecting, based on the respective meta-data, a second query of the plurality of queries;
determining that the second period of time fails to satisfy the data freshness sensitivity of the second query;
in response to determining that the second period of time does not satisfy the data freshness sensitivity of the second query, selecting, based on the respective meta-data, a third query of the plurality of queries; and
rescheduling the selected third query to execute during the second period of time.