Notebook Job Scheduler Cluster Setup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing cluster systems are limited by the requirement to execute code using an interactive code window, which restricts flexibility and efficiency in scheduling and executing notebook jobs, especially when the cluster is not running.

Innovation Solution

A system that includes a notebook job scheduler to receive indications for scheduling notebook execution, determining the scheduled time, setting up the cluster if it's not running, and causing the notebook to execute using the cluster, with features like recurring schedules and authentication information handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code execution is limited to interactive code windows, then the system operation is simple, but the scheduling flexibility and efficiency are reduced

Engineering Contradiction:
Improvescheduling flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system separates code execution into two distinct modes: interactive mode (for manual exploration) and scheduled mode (for automated execution). This segmentation allows the notebook to function in both contexts without requiring a complete system redesign, resolving the contradiction between versatility and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The notebook execution system is designed to support multiple functions: interactive execution, scheduled execution, cluster deployment, and result retrieval. By making the system multi-functional, it achieves scheduling flexibility without requiring separate systems for each function, thus managing complexity effectively.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If the cluster is not running, then resource consumption is low, but the notebook cannot execute

Engineering Contradiction:
Improvenotebook execution availabilityVSAvoidcluster setup time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system automatically checks cluster availability before notebook execution and initiates cluster setup in advance if needed. This preliminary action ensures the cluster is ready for immediate execution, minimizing delays and maximizing productivity without requiring manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling system automatically manages cluster lifecycle operations including checking availability, initiating setup, and verifying readiness without user intervention. This self-service approach eliminates time loss from manual cluster setup while ensuring execution availability.

Inventive Principle:
Principle #25Self-service

3Productivity

If manual cluster setup is required, then system control is precise, but the scheduling efficiency is reduced

Engineering Contradiction:
Improvescheduling efficiencyVSAvoidautomated cluster management
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The system implements automated cluster management where the scheduler automatically checks cluster availability, initiates setup procedures, and verifies readiness before notebook execution. This automation eliminates manual setup operations, significantly improving scheduling efficiency while maintaining precise control through automated verification mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9990230B1Scheduling a notebook execution
Publication Date: 2018.06.05 DATABRICKS INC
  • US9990230B1 patent drawing
  • US9990230B1 patent drawing
  • US9990230B1 patent drawing

AI summary

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.