IP Library Granted Patent US 9,026,624
Granted Patent B2
US 9,026,624 · App. 13/276,531 · Granted May 5, 2015

Methods and systems for making effective use of system resources

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 9,026,624
App. No.
13/276,531
Granted
May 5, 2015
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 (67)

1. A method comprising:

receiving a plurality of requests for access to a resource with a training module of a database system, each request having an associated group of features to be mapped to classes in a database environment, wherein the database environment is provided by one or more server computing devices;

analyzing the group of features for each request with the training module to collect observations about the plurality of requests, wherein the training module generates a statistical model for each database instance within the database environment;

predicting an outcome of a subsequent request based on the observations with a learning module within the database system, wherein the prediction is based on the statistical model from the training module; and

allocating resources in the database environment to service the subsequent request based on the prediction.

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, each request having an associated group of features to be mapped to classes in a database environment;

analyze the group of features for each request to collect observations about the plurality of requests;

predict an outcome of a subsequent request based on the observations with a learning module within the database system, wherein the prediction is based on the statistical model from a training module; and

allocate resources in the database environment to service the subsequent request based on the prediction.

9. The non-transitory computer-readable medium of claim 8 wherein the plurality of requests comprises database queries.

10. The non-transitory computer-readable medium 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 non-transitory computer-readable medium 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 non-transitory computer-readable medium of claim 8 wherein the group of features comprises a number of secondary queries in the request.

13. The non-transitory computer-readable medium of claim 8 wherein the group of features comprises:

an application server processor state; and

an application server memory state.

14. The non-transitory computer-readable medium of claim 8 wherein the group of features comprises:

a database processor state; and

a number of tables used.

15. An apparatus comprising:

means for receiving a plurality of requests for access to a resource, each request having an associated group of features to be mapped to classes in a database environment;

means for analyzing the group of features for each request to collect observations about the plurality of requests;

means for predicting an outcome of a subsequent request based on the observations with a learning module within the database system, wherein the prediction is based on the statistical model from a training module; and

means for allocating resources in the database environment to service the subsequent request based on the prediction.

16. 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, each request having an associated group of features to be mapped to classes in a database environment, to analyze the group of features for each request to collect observations about the plurality of requests, to predict an outcome of a subsequent request based on the observations with a learning module within the database system, wherein the prediction is based on the statistical model from a training module, and to allocate resources in the database environment to service the subsequent request based on the prediction.

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

18. The system of claim 16 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.

19. The system of claim 16 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.

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

21. The system of claim 16 wherein the group of features comprises:

an application server processor state; and

an application server memory state.

22. The system of claim 16 wherein the group of features comprises:

a database processor state; and

a number of tables used.

Assignments (2)
CHANGE OF NAME Recorded Oct 25, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069268/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2011
From: GUSEV, ANDREY; YANG, RONALD; HANSMA, SCOTT; COLLINS, JESSE; ARBIZU, ALAN
To: SALESFORCE.COM, INC.
Reel/Frame 027088/0872 →