IP Library Granted Patent US 10,810,514
Granted Patent B2
US 10,810,514 · App. 16/259,964 · Granted Oct 20, 2020

Methods and systems for making effective use of system resources

Inventors: Andrey Gusev (San Francisco, CA); Ronald Yang (Cupertino, CA); Scott Hansma (San Francisco, CA); Jesse Collins (Oakland, CA); Alan Arbizu (Foster City, CA)
Assignee: salesforce.com, inc.
G06N20/00G06F9/5011G06F16/2455H04L29/08072H04L43/0876H04L47/125H04L49/90H04L67/10H04L67/1002H04L69/329G06F2209/5019
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 10,810,514
App. No.
16/259,964
Granted
Oct 20, 2020
Kind
B2
Abstract

Methods and systems for making effective use of system resources. A plurality of requests for access to a resource are received. Each request has an associated group of features. The group of features for each request is analyzed to collect observations about the plurality of requests. A function to predict an outcome of a subsequent request is generated based on the observations. Resources are allocated to service the subsequent request based on the function.

Claims (56)

1. A method comprising:

receiving a plurality of requests for access to a resource of a database system, each request having an associated group of features;

analyzing the group of features for each request with a training module to collect observations about the plurality of requests, wherein the training module generates a statistical model for at least one database of the database system;

generating a function to predict an execution time and a number of rows for a subsequent request based on the observations; and

allocating resources in the database system to service the subsequent request based on the function.

2. The method of claim 1 wherein the plurality of requests comprises database queries.

3. The method of claim 1 wherein the group of features comprises:

a number of nested joins in the request;

a number of hash joins in the request; and

a sum of cardinalities for hash joins in the request.

4. The method of claim 1 wherein the group of features comprises:

a cardinality estimate of a main table;

a storage count of the main table; and

a selectivity estimate of the main table.

5. The method of claim 1 wherein the group of features comprises a number of secondary queries in the request.

6. The method of claim 1 wherein the group of features comprises:

an application server processor state; and

an application server memory state.

7. The method of claim 1 wherein the group of features comprises:

a database processor state; and

a number of tables used.

8. A non-transitory computer readable medium having stored there on instructions that, when executed, cause one or more processors to:

receive a plurality of requests for access to a resource of a database system, each request having an associated group of features;

analyze the group of features for each request with a training module to collect observations about the plurality of requests, wherein the training module generates a statistical model for at least one database of the database system;

generate a function to predict an execution time and a number of rows for a subsequent request based on the observations; and

allocate resources in the database system to service the subsequent request based on the function.

9. The article of claim 8 wherein the plurality of requests comprises database queries.

10. The article of claim 8 wherein the group of features comprises:

a number of nested joins in the request;

a number of hash joins in the request; and

a sum of cardinalities for hash joins in the request.

11. The article of claim 8 wherein the group of features comprises:

a cardinality estimate of a main table;

a storage count of the main table; and

a selectivity estimate of the main table.

12. The article of claim 8 wherein the group of features comprises a number of secondary queries in the request.

13. The article of claim 8 wherein the group of features comprises:

an application server processor state; and

an application server memory state.

14. The article of claim 8 wherein the group of features comprises:

a database processor state; and

a number of tables used.

15. A system comprising:

one or more user systems;

one or more firewalls; and

one or more server systems communicatively coupled with the one or more user systems and the one or more firewalls, the server system to provide a multitenant environment, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one or more users associated with the tenant ID, users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities, the one or more server systems to receive a plurality of requests for access to a resource of a database system, each request having an associated group of features, to analyze the group of features for each request with a training module to collect observations about the plurality of requests, wherein the training module generates a statistical model for at least one database of the database system, to generate a function to predict an execution time and a number of rows for a subsequent request based on the observations, and to allocate resources in the database system to service the subsequent request based on the function.

16. The system of claim 15 wherein the plurality of requests comprises database queries.

17. The system of claim 15 wherein the group of features comprises:

a number of nested joins in the request;

a number of hash joins in the request; and

a sum of cardinalities for hash joins in the request.

18. The system of claim 15 wherein the group of features comprises:

a cardinality estimate of a main table;

a storage count of the main table; and

a selectivity estimate of the main table.

19. The system of claim 15 wherein the group of features comprises a number of secondary queries in the request.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0394 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2019
From: GUSEV, ANDREY; YANG, RONALD; HANSMA, SCOTT; COLLINS, JESSE; ARBIZU, ALAN
To: SALESFORCE.COM, INC.
Reel/Frame 050614/0805 →
Continuity (4)
Continuation 14703682 · May 4, 2015
Continuation 13276531 · Oct 19, 2011
Provisional Application 61421989 · Dec 10, 2010
Related Publication 20190354891A1 · Nov 21, 2019