US2021286648A1PendingUtilityA1

Scheduling and executing functions across different functions-as-a-service (faas) infrastructures

Assignee: VMWARE INCPriority: Jan 10, 2019Filed: May 26, 2021Published: Sep 16, 2021
Est. expiryJan 10, 2039(~12.5 yrs left)· nominal 20-yr term from priority
H04L 67/60H04L 67/10G06F 9/541H04L 67/1097G06F 9/5027G06F 16/907G06F 9/4881G06F 9/5005
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques for scheduling and executing functions across a plurality of different Functions-as-a-Service (FaaS) infrastructures are provided. In one set of embodiments, a computer system can determine that a function has been invoked, where the computer system implements a spanning FaaS service platform that is communicatively coupled with the plurality of different FaaS infrastructures. In response, the computer system can retrieve metadata associated with the function, where the metadata includes criteria or policies indicating how the function should be scheduled for execution, and can retrieve information associated with each of the plurality of different FaaS infrastructures, where the information includes capabilities or characteristics of each FaaS infrastructure. The computer system can then select a FaaS infrastructure in the plurality of different FaaS infrastructures based on the retrieved metadata and the retrieved information and can schedule the function for execution on the selected FaaS infrastructure.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 registering, by a computer system, a plurality of Functions-as-a-Service (FaaS) infrastructures with the computer system, each FaaS infrastructure in the plurality of FaaS infrastructures including a plurality of host systems and an image repository;   receiving, by the computer system, a function artifact including program code and metadata for a function, the metadata including information governing scheduling or execution of the function; and   creating, by the computer system using the function artifact, a runtime image of the function in said each FaaS infrastructure's image repository.   
     
     
         2 . The method of  claim 1  further comprising:
 maintaining, by the computer system for said each FaaS infrastructure, a FaaS driver defining one or more capabilities or characteristics of said each FaaS infrastructure. 
 
     
     
         3 . The method of  claim 2  wherein the one or more capabilities or characteristics include a billing model of said each FaaS infrastructure. 
     
     
         4 . The method of  claim 2  wherein the one or more capabilities or characteristics include geographic locations of the plurality of host systems of said each FaaS infrastructure. 
     
     
         5 . The method of  claim 2  further comprising:
 determining that the function has been invoked; 
 comparing the metadata for the function with the FaaS drivers of the plurality of FaaS infrastructures; and 
 based on the comparing, selecting a FaaS infrastructure from the plurality of FaaS infrastructures for executing the function. 
 
     
     
         6 . The method of  claim 5  further comprising:
 invoking an application programming interface (API) exposed by a service layer of the selected FaaS infrastructure for executing the function on a host system of the selected FaaS infrastructure. 
 
     
     
         7 . The method of  claim 1  wherein the computer system is part of a FaaS management platform that is separate from the plurality of FaaS infrastructures. 
     
     
         8 . A non-transitory computer readable storage medium having stored thereon program code executable by a computer system, the program code embodying a method comprising:
 registering a plurality of Functions-as-a-Service (FaaS) infrastructures with the computer system, each FaaS infrastructure in the plurality of FaaS infrastructures including a plurality of host systems and an image repository;   receiving a function artifact including program code and metadata for a function, the metadata including information governing scheduling or execution of the function; and   creating a runtime image of the function in said each FaaS infrastructure's image repository.   
     
     
         9 . The non-transitory computer readable storage medium of  claim 8  wherein the method further comprises:
 maintaining, for said each FaaS infrastructure, a FaaS driver defining one or more capabilities or characteristics of said each FaaS infrastructure. 
 
     
     
         10 . The non-transitory computer readable storage medium of  claim 9  wherein the one or more capabilities or characteristics include a billing model of said each FaaS infrastructure. 
     
     
         11 . The non-transitory computer readable storage medium of  claim 9  wherein the one or more capabilities or characteristics include geographic locations of the plurality of host systems of said each FaaS infrastructure. 
     
     
         12 . The non-transitory computer readable storage medium of  claim 9  wherein the method further comprises:
 determining that the function has been invoked; 
 comparing the metadata for the function with the FaaS drivers of the plurality of FaaS infrastructures; and 
 based on the comparing, selecting a FaaS infrastructure from the plurality of FaaS infrastructures for executing the function. 
 
     
     
         13 . The non-transitory computer readable storage medium of  claim 12  wherein the method further comprises:
 invoking an application programming interface (API) exposed by a service layer of the selected FaaS infrastructure for executing the function on a host system of the selected FaaS infrastructure. 
 
     
     
         14 . The non-transitory computer readable storage medium of  claim 8  wherein the computer system is part of a FaaS management platform that is separate from the plurality of FaaS infrastructures. 
     
     
         15 . A computer system comprising:
 a processor; and   a non-transitory computer readable medium having stored thereon program code that, when executed by the processor, causes the processor to:
 register a plurality of Functions-as-a-Service (FaaS) infrastructures with the computer system, each FaaS infrastructure in the plurality of FaaS infrastructures including a plurality of host systems and an image repository; 
 receive a function artifact including program code and metadata for a function, the metadata including information governing scheduling or execution of the function; and 
 create a runtime image of the function in said each FaaS infrastructure's image repository. 
   
     
     
         16 . The computer system of  claim 15  wherein the program code further causes the processor to:
 maintain, for said each FaaS infrastructure, a FaaS driver defining one or more capabilities or characteristics of said each FaaS infrastructure. 
 
     
     
         17 . The computer system of  claim 16  wherein the one or more capabilities or characteristics include a billing model of said each FaaS infrastructure. 
     
     
         18 . The computer system of  claim 16  wherein the one or more capabilities or characteristics include geographic locations of the plurality of host systems of said each FaaS infrastructure. 
     
     
         19 . The computer system of  claim 16  wherein the program code further causes the processor to:
 determine that the function has been invoked; 
 compare the metadata for the function with the FaaS drivers of the plurality of FaaS infrastructures; and 
 based on the comparing, select a FaaS infrastructure from the plurality of FaaS infrastructures for executing the function. 
 
     
     
         20 . The computer system of  claim 19  wherein the program code further causes the processor to:
 invoke an application programming interface (API) exposed by a service layer of the selected FaaS infrastructure for executing the function on a host system of the selected FaaS infrastructure. 
 
     
     
         21 . The computer system of  claim 15  wherein the computer system is part of a FaaS management platform that is separate from the plurality of FaaS infrastructures.

Join the waitlist — get patent alerts

Track US2021286648A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.