Virtual mode execution manager
US-12118376-B2 · Oct 15, 2024 · US
US11900152B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11900152-B1 |
| Application number | US-202117218015-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 30, 2021 |
| Priority date | Mar 30, 2021 |
| Publication date | Feb 13, 2024 |
| Grant date | Feb 13, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are described for providing updating of disk images supporting serverless code execution and controlled deployment of updated disk images. A disk image can be defined as a set of layers that represent a file system include code of a serverless function and other data used by the code. A function owner can designate one layer as containing software or other data subject to update. When a new version of the layer is obtained at a serverless compute system, the system can generate a new disk image containing the updated layer. The system can then gradually transition the function to the new disk image, by dividing calls to the function among two versions of the function—one using the prior disk image, and one using the new disk image. Performance data gained from the new version of the function can be used to control the gradual transition.
Opening claim text (preview).
What is claimed is: 1. A serverless code execution system comprising: one or more data stores including i) information defining a first version of a serverless function, wherein the information identifies a layered disk image supporting execution of the first version of the serverless function, and ii) the layered disk image, wherein the layered disk image defines a file system, the layered disk image comprising a set of layers, each layer including a portion of data of the file system, wherein a first layer of the set of layers includes executable code corresponding to the first version of the serverless function and a second layer of the set of layers includes data depended on by the executable code; one or more first computing devices configured to respond to calls to invoke the serverless function by invoking the first version of the serverless function, wherein invoking the first version of the serverless function includes provisioning one or more first execution environments with access to the file system defined within the layered disk image and executing the executable code within the one or more first execution environments; and one or more second computing devices implementing an update service configured to: obtain a new layer corresponding to an updated version of the data within the second layer; generate an updated disk image corresponding to a modification of the layered disk image to replace the second layer with the new layer; generate a second version of the serverless function whose execution is supported by the updated disk image, wherein invoking the second version of the serverless function includes provisioning one or more second execution environments with access to a file system defined within the updated disk image and executing the executable code within the one or more second execution environments; modify the one or more first computing devices to respond to the calls to invoke the serverless function by causing a first portion of the calls to invoke the first version of the serverless function and a second portion of the calls to invoke the second version of the serverless function; monitor invocations of the second version of the serverless function to obtain performance data regarding the second version of the serverless function; and modifying a relative proportion of the first and second portions based on the performance data, wherein modifying the relative proportion includes increasing the relative proportion when the performance data indicates a lack of errors. 2. The serverless code execution system of claim 1 , wherein the layered disk image is an Open Container Initiative (OCI) Image-Specification conforming image. 3. The serverless code execution system of claim 1 , wherein the data depended on by the executable code is at least one of a library, a runtime, or a software utility. 4. The serverless code execution system of claim 1 , wherein provisioning the one or more first execution environments with access to the file system defined within the layered disk image comprises generating a flattened disk image from the layered disk image and provisioning the one or more first execution environments with access to flattened disk image. 5. A computer-implemented method comprising: obtaining a new layer corresponding to an updated version of data within a first layer of a layered disk image, wherein the layered disk image defines a file system, wherein the first layer includes data depended on by executable code included within a second layer of the layered disk image, wherein the layered disk image supports execution of a first version of a serverless function on a serverless compute system; generating an updated disk image corresponding to a modification of the layered disk image to replace the first layer with the new layer; generating a second version of the serverless function whose execution is supported by the updated disk image; modifying operation of the serverless compute system to respond to calls to invoke the serverless function by causing a first portion of the calls to invoke the first version of the serverless function and a second portion of the calls to invoke the second version of the serverless function, wherein invoking the first version of the serverless function includes provisioning one or more first execution environments with access to the file system defined within the layered disk image and executing the executable code within the one or more first execution environments, and wherein invoking the second version of the serverless function includes provisioning one or more second execution environments with access to a file system defined within the updated disk image and executing the executable code within the one or more second execution environments; monitoring invocations of the second version of the serverless function to obtain performance data regarding the second version of the serverless function; and modifying a relative proportion of the first and second portions based on the performance data. 6. The computer-implemented method of claim 5 , wherein modifying a relative proportion of the first and second portions based on the performance data comprises reducing the second portion relative to the first portion in response to detecting within the performance data at least one of errors or a reduction in performance metrics. 7. The computer-implemented method of claim 6 , wherein the performance metrics relate to at least one of a time to complete invocation of the second version of the serverless function or computing resources used during invocation of the second version of the serverless function. 8. The computer-implemented method of claim 5 further comprising monitoring invocations of the first version of the serverless function to obtain performance data regarding the first version of the serverless function, wherein the relative proportion is further modified based on the performance data regarding the first version of the serverless function. 9. The computer-implemented method of claim 5 further comprising monitoring invocations of other serverless function associated with the new layer to obtain performance data regarding the other serverless functions, wherein the relative proportion is further modified based on the performance data regarding the other serverless functions. 10. The computer-implemented method of claim 9 , wherein modifying the relative proportion of the first and second portions based on the performance data regarding the other serverless functions comprises determining that a threshold number of invocations of the other serverless functions have resulted in errors and in response reducing the relative proportion of the second portion to the first portion. 11. The computer-implemented method of claim 10 , wherein determining that the threshold number of invocations of the other serverless functions have resulted in errors comprises determining that the threshold number of invocations of the other serverless functions have resulted in errors subsequent to reading data included within the new layer. 12. The computer-implemented method of claim 9 , wherein the other serverless functions are associated with the new layer and at least one additional layer also included within the updated disk image. 13. One or more non-transitory computer-readable media comprising computer-executable instructions that, when executed on a serverless compute system, cause the serverless compute system to: obtain a new layer corresponding to an updated version of data within a first layer of a layered disk image, wherein the layered disk image defines a file system, wherein the layere
by program, e.g. task dispatcher, supervisor, operating system · CPC title
Updates (security arrangements therefor G06F21/57) · CPC title
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
for performance assessment · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.