IP Library Granted Patent US 11,409,740
Granted Patent B2
US 11,409,740 · App. 16/989,827 · Granted Aug 9, 2022

Anticipatory pre-execution of data queries

Inventor: Colin Zima (San Francisco, CA)
Assignee: Google LLC
G06F16/24539G06F9/4881G06F16/248G06F16/2477G06F16/24564G06F16/24568
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,409,740
App. No.
16/989,827
Granted
Aug 9, 2022
Kind
B2
Abstract

Embodiments of the invention provide for anticipatory pre-execution of queries. In an embodiment of the invention, a method for anticipatory pre-execution of queries includes the computation of an execution cost of each of a multiplicity of different queries to a data source scheduled at a specified time on a specified date. The method also includes monitoring a querying processing schedule and detecting from the monitoring, unscheduled time on a particular date prior to the specified time on the specified date. Finally, the method includes responding to the detection by first selecting a most expensive one of the different queries in terms of execution cost, for instance an amount of computing resources consumed in executing a corresponding one of the different queries, and then executing the selected most expensive one of the different queries during the unscheduled time on the particular date prior to the specified time on the specified date.

Claims (37)

1. A method for anticipatory pre-execution of queries comprising:

computing an execution cost of each of a multiplicity of different queries to a data source scheduled at a specified time on a specified date;

monitoring a querying processing schedule;

detecting from the monitoring, unscheduled time on a particular date prior to the specified time on the specified date; and,

responding to the detection by selecting a most expensive one of the different queries in terms of execution cost and executing the selected most expensive one of the different queries during the unscheduled time on the particular date prior to the specified time on the specified date.

2. The method of claim 1 , further comprising:

filtering the different queries to include only queries not reliant upon underlying data anticipated to be updated after the unscheduled time on the particular date and before the specified time on the specified date.

3. The method of claim 1 , wherein the selecting comprising selecting not only a most expensive one of the different queries, but also one of the different queries least reliant upon a freshness of underlying data.

4. The method of claim 1 , wherein the monitoring detects repeated instances at the unscheduled time over several dates when no queries are scheduled, so as to detect the unscheduled time on the particular date prior to the specified time on the specified date.

5. The method of claim 1 , wherein the execution cost is an amount of computing resources consumed in executing a corresponding one of the different queries.

6. The method of claim 1 , further comprising selecting a manually specified one of the different queries in lieu of the most expensive one of the different queries for execution during the unscheduled time on the particular date prior to the specified time on the specified date.

7. A query scheduling data processing system configured for anticipatory pre-execution of queries comprising:

a host computing platform comprising one or more computers, each with memory and at least one processor;

a data source coupled to the host computing platform;

a query processor executing queries based upon data disposed in the data source; and

an anticipatory query pre-execution module comprising computer program instructions executing in the memory of the host computing platform, the instructions performing:

computing an execution cost of each of a multiplicity of different queries to the data source scheduled at a specified time on a specified date;

monitoring a querying processing schedule;

detecting from the monitoring, unscheduled time on a particular date prior to the specified time on the specified date; and,

responding to the detection by selecting a most expensive one of the different queries in terms of execution cost and directing the query processor to execute the selected most expensive one of the different queries during the unscheduled time on the particular date prior to the specified time on the specified date.

8. The system of claim 7 , wherein the program instructions further perform:

filtering the different queries to include only queries not reliant upon underlying data anticipated to be updated after the unscheduled time on the particular date and before the specified time on the specified date.

9. The system of claim 7 , wherein the selecting comprising selecting not only a most expensive one of the different queries, but also one of the different queries least reliant upon a freshness of underlying data.

10. The system of claim 7 , wherein the monitoring detects repeated instances at the unscheduled time over several dates when no queries are scheduled, so as to detect the unscheduled time on the particular date prior to the specified time on the specified date.

11. The system of claim 7 , wherein the execution cost is an amount of computing resources consumed in executing a corresponding one of the different queries.

12. The system of claim 7 , wherein the program instructions further perform selecting a manually specified one of the different queries in lieu of the most expensive one of the different queries for execution during the unscheduled time on the particular date prior to the specified time on the specified date.

13. A computer program product for anticipatory pre-execution of queries, the computer program product including a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to perform a method including:

computing an execution cost of each of a multiplicity of different queries to a data source scheduled at a specified time on a specified date;

monitoring a querying processing schedule;

detecting from the monitoring, unscheduled time on a particular date prior to the specified time on the specified date; and,

responding to the detection by selecting a most expensive one of the different queries in terms of execution cost and executing the selected most expensive one of the different queries during the unscheduled time on the particular date prior to the specified time on the specified date.

14. The computer program product of claim 13 , wherein the method further includes:

filtering the different queries to include only queries not reliant upon underlying data anticipated to be updated after the unscheduled time on the particular date and before the specified time on the specified date.

15. The computer program product of claim 13 , wherein the selecting comprising selecting not only a most expensive one of the different queries, but also one of the different queries least reliant upon a freshness of underlying data.

16. The computer program product of claim 13 , wherein the monitoring detects repeated instances at the unscheduled time over several dates when no queries are scheduled, so as to detect the unscheduled time on the particular date prior to the specified time on the specified date.

17. The computer program product of claim 13 , wherein the execution cost is an amount of computing resources consumed in executing a corresponding one of the different queries.

18. The computer program product of claim 13 , wherein the method further includes selecting a manually specified one of the different queries in lieu of the most expensive one of the different queries for execution during the unscheduled time on the particular date prior to the specified time on the specified date.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: LOOKER DATA SCIENCES, INC.
To: GOOGLE LLC
Reel/Frame 053854/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2020
From: ZIMA, COLIN
To: LOOKER DATA SCIENCES, INC.
Reel/Frame 053450/0556 →
Continuity (1)
Related Publication 20220043819A1 · Feb 10, 2022