Virtual environment caching for serverless workloads
Abstract
A data processing service receives a request from a user to execute code in a notebook. The service initiates a first VM for execution of the code in the notebook based on the request. The first VM may be set up with a virtual environment with configurations for executing the code. The service automatically caches the virtual environment with the configurations in a data store and automatically caches metadata associated with the virtual environment in a metadata store. The metadata may include a location identifier for identifying a caching location of the virtual environment in the data store. The metadata may include an expiration condition. When the virtual environment meets the expiration condition, the virtual environment will be invalidated in the data store. The service executes the code in the notebook in the virtual environment.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
receiving a request from a user to execute code in a notebook; initiating, based on the request, a first virtual machine (VM) including a virtual environment with configurations for execution of the code in the notebook; automatically caching, in a data store, the virtual environment with the configurations; automatically caching, in a metadata store, metadata associated with the virtual environment, the metadata describing information of the virtual environment; and executing, at the first VM, the code in the notebook in the virtual environment.
2 . The method of claim 1 , further comprising:
receiving a subsequent request for executing code in the notebook; determining whether the virtual environment associated with the notebook is cached in the data store by identifying, from the metadata store, the metadata associated with the virtual environment; responsive to determining that the virtual environment is cached in the data store, downloading, based on the identified metadata, the virtual environment from the data store to a second VM; initiating the second VM configured with a local environment using the downloaded virtual environment; and executing, at the second VM, the code in the notebook in the local environment.
3 . The method of claim 2 , wherein the first VM is different from the second VM.
4 . The method of claim 1 , wherein the associated metadata comprises an expiration condition for the virtual environment.
5 . The method of claim 4 , further comprising:
determining, using the associated metadata, whether the virtual environment meets the expiration condition; and responsive to the virtual environment meeting the expiration condition, invalidating the virtual environment in the data store.
6 . The method of claim 1 , wherein the associated metadata comprises a location identifier for identifying a caching location of the virtual environment in the data store.
7 . The method of claim 1 , wherein automatically caching the virtual environment comprises:
determining a change to the code in the notebook; incrementally updating, in the data store, the virtual environment based on the change; and updating the associated metadata to indicate the update to the virtual environment.
8 . A non-transitory computer readable storage medium comprising instructions, the instructions when executed cause a processor system to:
receive a request from a user to execute code in a notebook; initiate, based on the request, a first virtual machine (VM) including a virtual environment with configurations for execution of the code in the notebook; automatically cache, in a data store, the virtual environment with the configurations; automatically cache, in a metadata store, metadata associated with the virtual environment, the metadata describing information of the virtual environment; and execute, at the first VM, the code in the notebook in the virtual environment.
9 . The non-transitory computer readable storage medium of claim 8 , wherein the instructions when executed further cause the processor system to:
receive a subsequent request for executing code in the notebook; determine whether the virtual environment associated with the notebook is cached in the data store by identifying, from the metadata store, the metadata associated with the virtual environment; download, based on the identified metadata, the virtual environment from the data store to a second VM when determined that the virtual environment is cached in the data store; initiate the second VM configured with a local environment using the downloaded virtual environment; and execute, at the second VM, the code in the notebook in the local environment.
10 . The non-transitory computer readable storage medium of claim 9 , wherein the first VM is different from the second VM.
11 . The non-transitory computer readable storage medium of claim 8 , wherein the associated metadata comprises an expiration condition for the virtual environment.
12 . The non-transitory computer readable storage medium of claim 11 , wherein the instructions when executed further cause the processor system to:
determine, using the associated metadata, whether the virtual environment meets the expiration condition; and invalidate the virtual environment in the data store when the virtual environment meets the expiration condition.
13 . The non-transitory computer readable storage medium of claim 8 , wherein the associated metadata comprises a location identifier for identifying a caching location of the virtual environment in the data store.
14 . The non-transitory computer readable storage medium of claim 8 , wherein the instructions to automatically cache the virtual environment, when executed further cause the processor system to:
determine a change to the code in the notebook; incrementally update, in the data store, the virtual environment based on the change; and update the associated metadata to indicate the update to the virtual environment.
15 . A system comprising:
one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to:
receive a request from a user to execute code in a notebook;
initiate, based on the request, a first virtual machine (VM) including a virtual environment with configurations for execution of the code in the notebook;
automatically cache, in a data store, the virtual environment with the configurations;
automatically cache, in a metadata store, metadata associated with the virtual environment, the metadata describing information of the virtual environment; and
execute, at the first VM, the code in the notebook in the virtual environment.
16 . The system of claim 15 , wherein the instructions when executed by the one or more computer processors, further cause the system to:
receive a subsequent request for executing code in the notebook; determine whether the virtual environment associated with the notebook is cached in the data store by identifying, from the metadata store, the metadata associated with the virtual environment; download, based on the identified metadata, the virtual environment from the data store to a second VM when determining that the virtual environment is cached in the data store; initiate the second VM configured with a local environment using the downloaded virtual environment; and execute, at the second VM, the code in the notebook in the local environment.
17 . The system of claim 16 , wherein the first VM is different from the second VM.
18 . The system of claim 15 , wherein the associated metadata comprises an expiration condition for the virtual environment, and the instructions when executed by the one or more computer processors, further cause the processor system to:
determine, using the associated metadata, whether the virtual environment meets the expiration condition; and invalidate the virtual environment in the data store when the virtual environment meets the expiration condition.
19 . The system of claim 15 , wherein the associated metadata comprises a location identifier for identifying a caching location of the virtual environment in the data store.
20 . The system of claim 15 , wherein the instructions to automatically cache the virtual environment, when executed further cause the processor system to:
determine a change to the code in the notebook; incrementally update, in the data store, the virtual environment based on the change; and update the associated metadata to indicate the update to the virtual environment.Join the waitlist — get patent alerts
Track US2026079737A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.