IP Library Granted Patent US 9,990,230
Granted Patent B1
US 9,990,230 · App. 15/052,204 · Granted Jun 5, 2018

Scheduling a notebook execution

Inventors: Ion Stoica (Piedmont, CA); Yandong Mao (Albany, CA); Eric Liang (Berkeley, CA)
Assignee: Databricks Inc.
G06F9/4887
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 9,990,230
App. No.
15/052,204
Granted
Jun 5, 2018
Kind
B1
Abstract

A system for scheduling a notebook execution includes an interface and a processor. The interface is to receive an indication to schedule a notebook for execution, wherein the indication comprises a scheduled time and a cluster. The processor is to determine whether it is the scheduled time; and in the event that it is the scheduled time: determine whether the cluster is running; and in the event that the cluster is not running, set up the cluster and cause the notebook to execute using the cluster.

Claims (38)

1. A system for scheduling a notebook execution, comprising:

an interface to receive an indication to schedule a plurality of notebooks for execution, wherein each of the plurality of notebooks includes a sequential interactive code file with at least one code section and at least one version, and the indication comprises: a scheduled time, a cluster, and a version of the notebook to be executed; and

a physical processor to:

determine that it is the scheduled time; and

in response to the determination that it is the scheduled time:

determine that the cluster is not running;

in response to the determination that the cluster is not running, set up a cluster instantiation for each of the plurality of notebooks to be executed including providing cluster configuration information to the instantiated cluster, the cluster configuration information including a type of operating system; and

instruct the instantiated cluster to execute at least one of the plurality of notebooks.

2. The system of claim 1 , wherein the indication comprises a notebook name.

3. The system of claim 1 , wherein the indication comprises input parameters.

4. The system of claim 1 , wherein the indication comprises cluster configuration information.

5. The system of claim 1 , wherein the indication comprises authentication information.

6. The system of claim 1 , wherein the indication comprises an output storage location.

7. The system of claim 1 , wherein the indication comprises a notification method.

8. The system of claim 1 , wherein the cluster comprises a group of subsystems.

9. The system of claim 1 , wherein setting up the cluster instantiation comprises providing an indication to the cluster to start.

10. The system of claim 1 , wherein instructing the instantiated cluster to execute at least one of the plurality of notebooks comprises providing notebook information to the cluster.

11. The system of claim 1 , wherein instructing the instantiated cluster to execute at least one of the plurality of notebooks comprises providing authentication information to the cluster.

12. The system of claim 1 , wherein instructing the instantiated cluster to execute at least one of the plurality of notebooks comprises providing an output storage location to the cluster.

13. The system of claim 1 , wherein the physical processor is further to access output data stored in an output storage location.

14. The system of claim 1 , wherein the scheduled time comprises a specific scheduled time.

15. The system of claim 1 , wherein the scheduled time comprises a recurring scheduled time.

16. The system of claim 1 , wherein the physical processor is further configured to, in response to a determination that the cluster is not running, determine whether the cluster is running after a pre-defined delay time.

17. The system of claim 1 , wherein the set up of the cluster instantiation includes providing cluster configuration information to the cluster, the cluster configuration information including hardware specifications of computers in the cluster.

18. A method for scheduling a notebook execution, comprising:

receiving an indication to schedule a plurality of notebooks for execution, wherein each of the plurality of notebooks includes a sequential interactive code file with at least one code section and at least one version, and the indication comprises: a scheduled time, a cluster, and a version of the notebook to be executed;

determining, using a physical processor, that it is the scheduled time; and

in response to the determination that it is the scheduled time:

determining that the cluster is not running;

in response to the determination that the cluster is not running, setting up a cluster instantiation for each of the plurality of notebooks to be executed including providing cluster configuration information to the instantiated cluster, the cluster configuration information including a type of operating system; and

instructing the instantiated cluster to execute at least one of the plurality of notebooks.

19. A computer program product for scheduling a notebook execution, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an indication to schedule a plurality of notebooks for execution, wherein each of the plurality of notebooks includes a sequential interactive code file with at least one code section and at least one version, and the indication comprises: a scheduled time, a cluster, and a version of the notebook to be executed;

determining that it is the scheduled time; and

in response to the determination that it is the scheduled time:

determining that the cluster is not running;

in response to the determination that the cluster is not running, setting up a cluster instantiation for each of the plurality of notebooks to be executed including providing cluster configuration information to the instantiated cluster, the cluster configuration information including a type of operating system; and

instructing the instantiated cluster to execute at least one of the plurality of notebooks.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME FROM DATABRICKS INC. TO DATABRICKS, INC. AND ASSIGNEE STREET ADDRESS FROM 160 SPEAR STREET, SUITE 1300 TO 160 SPEAR STREET, 15TH FLOOR PREVIOUSLY RECORDED ON REEL 39157 FRAME 11. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 21, 2025
From: STOICA, ION; MAO, YANDONG; LIANG, ERIC
To: DATABRICKS, INC.
Reel/Frame 070291/0474 →
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 Jul 14, 2016
From: STOICA, ION; MAO, YANDONG; LIANG, ERIC
To: DATABRICKS INC.
Reel/Frame 039157/0011 →