IP Library Granted Patent US 11,509,746
Granted Patent B2
US 11,509,746 · App. 17/177,548 · Granted Nov 22, 2022

Distributing user requests to cloud computing systems across regions using a machine learning model

Inventors: Kalyan Chakravarthy Thatikonda (Dublin, CA); Sandip Mohod (Sunnyvale, CA)
Assignee: salesforce.com, inc.
H04L67/63G06F9/5083G06F16/29G06N20/00H04L67/1008H04L67/1095H04L67/52
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,509,746
App. No.
17/177,548
Granted
Nov 22, 2022
Kind
B2
Abstract

Systems and methods are described for receiving a user request from a user computing system located in a first geographic region, generating a user request context for the user request, selecting a cloud computing system assigned to a second geographic region having more computing resources currently available to process the user request than a cloud computing system assigned to the first geographic region based at least in part on the user request context and a machine learning model including current utilizations of computing resources of cloud computing systems assigned to the first and second geographic regions, and sending the user request to the selected cloud computing system in the second geographic region. The systems and methods further include getting current utilizations of computing resources from cloud computing systems assigned to a plurality of regions, aggregating user request contexts and the current utilizations of computing resources; and updating the machine learning model with the aggregated user resource contexts and the aggregated current utilizations of computing resources of cloud computing systems.

Claims (46)

1. A computer-implemented method comprising:

receiving a user request from a user computing system located in a first geographic region;

generating a user request context for the user request, the generating of the user request context comprising determining a request type and generating a machine learning model for the request type and based on raw data included in the user request;

selecting a cloud computing system assigned to a second geographic region having more computing resources currently available to process the user request than a cloud computing system assigned to the first geographic region based at least in part on the user request context and the machine learning model including current utilizations of computing resources of cloud computing systems assigned to the first and second geographic regions;

sending the user request to the selected cloud computing system in the second geographic region;

getting current utilizations of computing resources from cloud computing systems assigned to a plurality of regions;

aggregating user request contexts and the current utilizations of computing resources; and

updating the machine learning model with the aggregated user resource contexts and the aggregated current utilizations of computing resources of cloud computing systems.

2. The computer-implemented method of claim 1 , further comprising generating a forecast of future user requests based at least in part on the aggregated user resource contexts and the aggregated current utilizations.

3. The computer-implemented method of claim 1 , wherein generating the user request context comprises determining a request type for the user request, the request type comprising synchronous, asynchronous, and bulk, and further comprising creating a machine learning model for each request type.

4. The computer-implemented method of claim 3 , comprising selecting the cloud computing system assigned to the second geographic region having a maximum amount of available computing resources when the request type is synchronous.

5. The computer-implemented method of claim 3 , comprising selecting the cloud computing system assigned to the second geographic region having a minimum amount of available computing resources when the request type is asynchronous or bulk.

6. The computer-implemented method of claim 1 , wherein generating the user request context comprises verifying user request validity based on one or more user request headers.

7. The computer-implemented method of claim 1 , further comprising updating the user request context with a request response time of the selected cloud computing system completing handling of the user request.

8. An apparatus comprising:

one or more processors configured to implement:

a context generator to receive a user request from a user computing system located in a first geographic region and to generate a user request context for the user request, the generating of the user request context comprising determining a request type and generating a machine learning model for the request type and based on raw data included in the user request; and

a user request distributor to select a cloud computing system assigned to a second geographic region having more computing resources currently available to process the user request than a cloud computing system assigned to the first geographic region based at least in part on the user request context and the machine learning model including current utilizations of computing resources of cloud computing systems assigned to the first and second geographic regions, and to send the user request to the selected cloud computing system in the second geographic region;

a utilization updater to get current utilizations of computing resources from cloud computing systems assigned to a plurality of regions; and

a model updater to aggregate user request contexts and the current utilizations of computing resources, and to update the machine learning model with the aggregated user resource contexts and the aggregated current utilizations of computing resources of cloud computing systems.

9. The apparatus of claim 8 , wherein the one or more processors are further configured to implement:

a forecast generator to generate a forecast of future user requests based at least in part on the aggregated user resource contexts and the aggregated current utilizations.

10. The apparatus of claim 8 , wherein the context generator is to determine a request type for the user request, the request type comprising synchronous, asynchronous, and bulk, and further comprising creating a machine learning model for each request type.

11. The apparatus of claim 10 , wherein the user request distributor is to select the cloud computing system assigned to the second geographic region having a maximum amount of available computing resources when the request type is synchronous.

12. The apparatus of claim 10 , wherein the user request distributor is to select the cloud computing system assigned to the second geographic region having a minimum amount of available computing resources when the request type is asynchronous or bulk.

13. The apparatus of claim 8 , wherein context generator is to verify that the user request is valid based on one or more user request headers.

14. A non-transitory machine-readable storage medium that provides instructions that, if executed by one or more processors, are configurable to cause the one or more processors to perform operations comprising:

receiving a user request from a user computing system located in a first geographic region;

generating a user request context for the user request, the generating of the user request context comprising determining a request type and generating a machine learning model for the request type and based on raw data included in the user request;

selecting a cloud computing system assigned to a second geographic region having more computing resources currently available to process the user request than a cloud computing system assigned to the first geographic region based at least in part on the user request context and a machine learning model including current utilizations of computing resources of cloud computing systems assigned to the first and second geographic regions;

sending the user request to the selected cloud computing system in the second geographic region;

getting current utilizations of computing resources from cloud computing systems assigned to a plurality of regions;

aggregating user request contexts and the current utilizations of computing resources; and

updating the machine learning model with the aggregated user resource contexts and the aggregated current utilizations of computing resources of cloud computing systems.

15. The non-transitory machine-readable storage medium of claim 14 , comprising instructions when executed to:

generate a forecast of future user requests based at least in part on the aggregated user resource contexts and the aggregated current utilizations.

16. The non-transitory machine-readable storage medium of claim 14 , comprising instructions when executed to:

generate the user request context comprises determining a request type for the user request, the request type comprising synchronous, asynchronous, and bulk, and further comprising creating a machine learning model for each request type.

17. The non-transitory machine-readable storage medium of claim 16 , comprising instructions when executed to:

select the cloud computing system assigned to the second geographic region having a maximum amount of available computing resources when the request type is synchronous.

18. The non-transitory machine-readable storage medium of claim 16 , comprising instructions when executed to:

select the cloud computing system assigned to the second geographic region having a minimum amount of available computing resources when the request type is asynchronous or bulk.

19. The non-transitory machine-readable storage medium of claim 14 , comprising instructions when executed to:

verify that the user request is valid based on one or more user request headers.

20. The non-transitory machine-readable storage medium of claim 14 , comprising instructions when executed to:

update the user request context with a request response time of the selected cloud computing system completing handling of the user request.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2021
From: THATIKONDA, KALYAN CHAKRAVARTHY; MOHOD, SANDIP
To: SALESFORCE.COM, INC.
Reel/Frame 055629/0883 →
Continuity (1)
Related Publication 20220263914A1 · Aug 18, 2022