IP Library Patent Application 18885197
Patent Application
App. No. 18/885,197

VIRTUAL ENVIRONMENT CACHING FOR SERVERLESS WORKLOADS

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 None
App. No.
18/885,197
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 (67)

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.

Assignments (2)
SECURITY INTEREST Recorded Jan 6, 2025
From: DATABRICKS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069825/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2024
From: AKBAR, DEKA AULIYA; FALAKI, MOHAMMAD HOSSEIN; SINGH, JAIPREET; WAN, RAN; YUAN, JOVE OMEGA
To: DATABRICKS, INC.
Reel/Frame 069224/0128 →