IP Library Granted Patent US 10,747,580
Granted Patent B2
US 10,747,580 · App. 16/214,163 · Granted Aug 18, 2020

Function as a service (FaaS) execution distributor

Inventor: Amol Manohar Vaikar (Pune, IN)
Assignee: VMware, Inc.
G06F9/5072G06F9/5077H04L67/1021H04L67/2814H04L67/32
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,747,580
App. No.
16/214,163
Granted
Aug 18, 2020
Kind
B2
Abstract

The disclosure provides an approach for distribution of functions among data centers of a cloud system that provides function-as-a-service (FaaS). For example, the disclosure provides one or more function distributors configured to receive a request for loading or executing a function, automatically determine an appropriate data center to load or execute the function, and automatically load or execute the function on the determined data center. In certain embodiments, the function distributors are further configured to determine an appropriate data center to provide storage resources for the function and configure the function to utilize the storage resources of the determined data center.

Claims (60)

1. A method of executing a function in a data center of a cloud computing system comprising a plurality of data centers, each of the plurality of data centers comprising one or more compute resources, the method comprising:

receiving, at a function distributor from an application, a request to execute the function, the request comprising an identifier of the function;

selecting, by the function distributor, a first data center of the plurality of data centers to execute the function;

causing, by the function distributor, the first data center to execute the function;

receiving, at the function distributor from the function, a second request for storage resources, the second request comprising global identifiers of storage locations across the plurality of data centers;

selecting, by the function distributor, a second data center to provide the storage resources;

translating the global identifiers to identifiers of specific storage locations in the second data center; and

causing, by the function distributor, the function to utilize the storage resources of the second data center based on the identifiers of specific storage locations.

2. The method of claim 1 , wherein causing the first data center to execute the function comprises:

redirecting, by the function distributor, the application to the first data center causing the application to send a third request to execute the function to the first data center, the first data center executing the function based on receiving the third request.

3. The method of claim 2 , wherein the application comprises instructions that call for execution of the function, the instructions comprising a uniform resource locator (URL) associated with the function distributor and not the first data center, and wherein redirecting the application comprises:

sending, by the function distributor, an HTTP response or HTTPS response to the application to perform URL redirection of the URL to the first data center.

4. The method of claim 1 , further comprising:

determining a set of data centers that have the function loaded based on the identifier of the function, wherein the first data center is within the set of data centers.

5. The method of claim 1 , wherein the request further comprises information indicative of a location of where the application is running, and wherein selecting the first data center is based on a location of the first data center and the location of where the application is running.

6. The method of claim 1 , further comprising:

receiving, at the function distributor, the function;

determining a set of data centers to distribute the function;

storing, at the function distributor, information associating the identifier with the set of data centers; and

distributing the function to the set of data centers.

7. A non-transitory computer readable medium comprising instructions to be executed in a computer system, wherein the instructions when executed in the computer system perform a method of executing a function in a data center of a cloud computing system comprising a plurality of data centers, each of the plurality of data centers comprising one or more compute resources, the method comprising:

receiving, at a function distributor from an application, a request to execute the function, the request comprising an identifier of the function;

selecting, by the function distributor, a first data center of the plurality of data centers to execute the function;

causing, by the function distributor, the first data center to execute the function;

receiving, at the function distributor from the function, a second request for storage resources, the second request comprising global identifiers of storage locations across the plurality of data centers;

selecting, by the function distributor, a second data center to provide the storage resources;

translating the global identifiers to identifiers of specific storage locations in the second data center; and

causing, by the function distributor, the function to utilize the storage resources of the second data center based on the identifiers of specific storage locations.

8. The non-transitory computer readable medium of claim 7 , wherein causing the first data center to execute the function comprises:

redirecting, by the function distributor, the application to the first data center causing the application to send a third request to execute the function to the first data center, the first data center executing the function based on receiving the third request.

9. The non-transitory computer readable medium of claim 8 , wherein the application comprises instructions that call for execution of the function, the instructions comprising a uniform resource locator (URL) associated with the function distributor and not the first data center, and wherein redirecting the application comprises:

sending, by the function distributor, an HTTP response or HTTPS response to the application to perform URL redirection of the URL to the first data center.

10. The non-transitory computer readable medium of claim 7 , wherein the method further comprises:

determining a set of data centers that have the function loaded based on the identifier of the function, wherein the first data center is within the set of data centers.

11. The non-transitory computer readable medium of claim 7 , wherein the request further comprises information indicative of a location of where the application is running, and wherein selecting the first data center is based on a location of the first data center and the location of where the application is running.

12. The non-transitory computer readable medium of claim 7 , wherein the method further comprises:

receiving, at the function distributor, the function;

determining a set of data centers to distribute the function;

storing, at the function distributor, information associating the identifier with the set of data centers; and

distributing the function to the set of data centers.

13. A function distributor configured to perform a method of executing a function in a data center of a cloud computing system comprising a plurality of data centers, each of the plurality of data centers comprising one or more compute resources, the method comprising:

receiving, at a function distributor from an application, a request to execute the function, the request comprising an identifier of the function;

selecting, by the function distributor, a first data center of the plurality of data centers to execute the function;

causing, by the function distributor, the first data center to execute the function;

receiving, at the function distributor from the function, a second request for storage resources, the second request comprising global identifiers of storage locations across the plurality of data centers;

selecting, by the function distributor, a second data center to provide the storage resources;

translating the global identifiers to identifiers of specific storage locations in the second data center; and

causing, by the function distributor, the function to utilize the storage resources of the second data center based on the identifiers of specific storage locations.

14. The function distributor of claim 13 , wherein causing the first data center to execute the function comprises:

redirecting, by the function distributor, the application to the first data center causing the application to send a third request to execute the function to the first data center, the first data center executing the function based on receiving the third request.

15. The function distributor of claim 14 , wherein the application comprises instructions that call for execution of the function, the instructions comprising a uniform resource locator (URL) associated with the function distributor and not the first data center, and wherein redirecting the application comprises:

sending, by the function distributor, an HTTP response or HTTPS response to the application to perform URL redirection of the URL to the first data center.

16. The function distributor of claim 13 , wherein the method further comprises:

determining a set of data centers that have the function loaded based on the identifier of the function, wherein the first data center is within the set of data centers.

17. The function distributor of claim 13 , wherein the request further comprises information indicative of a location of where the application is running, and wherein selecting the first data center is based on a location of the first data center and the location of where the application is running.

18. The function distributor of claim 13 , wherein the method further comprises:

receiving, at the function distributor, the function;

determining a set of data centers to distribute the function;

storing, at the function distributor, information associating the identifier with the set of data centers; and

distributing the function to the set of data centers.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2018
From: VAIKAR, AMOL MANOHAR
To: VMWARE, INC.
Reel/Frame 047716/0197 →
Priority Claims (1)
IN 201841030859 · Aug 17, 2018 · national
Continuity (1)
Related Publication 20200057676A1 · Feb 20, 2020