IP Library Granted Patent US 11,249,995
Granted Patent B2
US 11,249,995 · App. 15/396,291 · Granted Feb 15, 2022

Techniques and architectures for providing and operating an application-aware database environment with predictive execution of queries and query flows

Inventors: Arjun Kumar Sirohi (Bellevue, WA); Vikas Taneja (Redmond, WA); Kim Lichong (Lake Forest Park, WA); Michael Allan Friedman (Bellevue, WA); Vidushi Sharma (Greater Noida, IN)
Assignee: salesforce.com, Inc.
G06F16/24539
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,249,995
App. No.
15/396,291
Granted
Feb 15, 2022
Kind
B2
Abstract

Predictive execution of query flows in an application aware database environment. A repository of previously received and registered database queries along with at least corresponding metadata having information about database query flows generating the database queries is maintained. Application metadata corresponding to a subsequent database query is received. The repository is checked to determine if the application metadata matches one of the previously received and registered database query flows. One or more queries corresponding to the query flow from the repository is/are retrieved if a match is determined. Execution of the retrieved one or more database queries is started prior to receiving the query from outside the repository.

Claims (29)

1. A method, comprising:

maintaining, in a database, a repository in which applications, application modules and previously received database queries and execution plans are declared as database objects, wherein query metadata and execution plan metadata indicates an application or application module that was a source of the corresponding previously received database queries and execution plans;

determining a set of essential queries for one or more applications or application modules;

storing a scheme of a combination of application, application module and corresponding database queries as metadata in the database;

pre-parsing and caching, based on the scheme metadata, one or more retrieved database queries and execution plans according to a prioritization order for predicted subsequent database queries that are expected to be received prior to receiving the subsequent database queries; and

beginning execution of the one or more retrieved database queries prior to receiving the query from outside the repository independent of source application server availability.

2. The method of claim 1 , wherein the repository is maintained with a non-volatile memory device.

3. The method of claim 1 , wherein the previously received database queries and corresponding metadata are stored as database objects in a database.

4. The method of claim 1 , wherein the metadata further comprises tenant information corresponding to the previously received database queries.

5. The method of claim 1 , wherein the queries stored in the repository are optimized queries.

6. The method of claim 1 , wherein the repository further maintains execution plans corresponding to the previously received database queries.

7. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, are configurable to cause the one or more processors to:

maintain, in a database, a repository in which applications, application modules and previously received database queries and execution plans are declared as database objects, wherein query metadata and execution plan metadata indicates an application or application module that was a source of the corresponding previously received database queries and execution plans;

determine a set of essential queries for one or more applications or application modules;

store a scheme of a combination of application, application module and corresponding database queries as metadata in the database;

pre-parse and cache, based on the scheme metadata, one or more retrieved database queries and execution plans according to a prioritization order for predicted subsequent database queries that are expected to be received prior to receiving the subsequent database queries; and

begin execution of the one or more retrieved database queries prior to receiving the query from outside the repository independent of source application server availability.

8. The non-transitory computer-readable medium of claim 7 , wherein the repository is maintained with a non-volatile memory device.

9. The non-transitory computer-readable medium of claim 7 , wherein the previously received database queries and corresponding metadata are stored as database objects in a database.

10. The non-transitory computer-readable medium of claim 7 , wherein the metadata further comprises tenant information corresponding to the previously received database queries.

11. The non-transitory computer-readable medium of claim 7 , wherein the queries stored in the repository are optimized queries.

12. The non-transitory computer-readable medium of claim 7 , wherein the repository further maintains execution plans corresponding to the previously received database queries.

13. A system comprising:

a memory device; and

one or more processors coupled with the memory device, the one or more processors configurable to maintain, in a database, a repository in which applications, application modules and previously received database queries and execution plans are declared as database objects, wherein query metadata and execution plan metadata indicates an application or application module that was a source of the corresponding previously received database queries and execution plans, to determine a set of essential queries for one or more applications or application modules, to store a scheme of a combination of application, application module and corresponding database queries as metadata in the database, to pre-parse and cache, based on the scheme metadata, one or more retrieved database queries and execution plans according to a prioritization order for predicted subsequent database queries that are expected to be received prior to receiving the subsequent database queries, and to begin execution of the one or more retrieved database queries prior to receiving the query from outside the repository independent of source application server availability.

14. The system of claim 13 , wherein the previously received database queries and corresponding metadata are stored as database objects in a database.

15. The system of claim 13 , wherein the metadata further comprises tenant information corresponding to the previously received database queries.

16. The system of claim 13 , wherein the queries stored in the repository are optimized queries.

17. The system of claim 13 , wherein the repository further maintains execution plans corresponding to the previously received database queries.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0164 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: SIROHI, ARJUN KUMAR; TANEJA, VIKAS; LICHONG, KIM; FRIEDMAN, MICHAEL ALLAN; SHARMA, VIDUSHI
To: SALESFORCE.COM, INC.
Reel/Frame 040983/0908 →
Cited By (1)
US 12,493,708