Distributed Job Scheduling via Leader Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed job scheduling systems in cloud computing environments face challenges in efficiently managing workload across multiple job schedulers and ensuring seamless job execution and termination processes.

Innovation Solution

A distributed job scheduling system where a leader job scheduler determines the workload of each job scheduler, assigns job requests based on workload, and manages job execution and termination by storing job descriptions and status updates in a data store.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a distributed job scheduling system uses multiple job schedulers to manage jobs, then the system can handle more job requests and improve scalability, but the complexity of workload distribution and coordination between schedulers increases

Engineering Contradiction:
Improvejob request handling capacityVSAvoidworkload distribution complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the job scheduling functionality into multiple independent job scheduler instances, each capable of handling job requests. This segmentation allows the system to scale horizontally by adding more schedulers without requiring complete redesign, while each scheduler maintains independent operation to manage complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A leader job scheduler is introduced as an intermediary component that coordinates workload distribution among follower schedulers. The leader receives job requests, determines optimal target schedulers based on workload metrics, and forwards requests appropriately. This intermediary layer abstracts the coordination complexity from individual schedulers while enabling efficient load balancing across the distributed system

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the leader job scheduler queries workload of each scheduler to make assignment decisions, then job distribution efficiency improves, but the communication overhead and time for workload determination increases

Engineering Contradiction:
Improvejob distribution efficiencyVSAvoidworkload query time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Job schedulers pre-calculate and maintain workload metrics (such as current job count, resource utilization) in their local state. When the leader needs to make assignment decisions, it queries these pre-computed metrics rather than calculating them in real-time. This preliminary preparation of workload information significantly reduces the time required for distribution decisions while maintaining accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where job schedulers continuously update their workload status information, which is stored in a data store accessible to the leader. The leader uses this feedback information to make informed assignment decisions. The feedback loop ensures that workload queries return current, accurate data without requiring complex real-time calculations

Inventive Principle:
Principle #23Feedback

3Reliability

If the system stores job descriptions and status updates in a data store, then job execution tracking and termination management improve, but the system complexity and data management overhead increase

Engineering Contradiction:
Improvejob execution trackingVSAvoiddata management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges the data storage functionality into a shared data store that is accessible by all job schedulers and worker systems. Instead of each component maintaining separate local state, job descriptions, status updates, and execution information are consolidated in a central repository. This merging simplifies data management by providing a single source of truth while improving reliability through centralized tracking of job execution across the distributed system

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If the leader job scheduler assigns requests based on determined workload, then system load balancing improves, but the complexity of leader election and maintenance increases

Engineering Contradiction:
Improveload balancingVSAvoidleader election complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of having a predefined or statically assigned leader, the system inverts the approach by allowing any job scheduler to become the leader through an election process. The leader is dynamically selected based on current system state and workload conditions. This inversion enables flexibility in leader selection while distributing the potential to lead across all schedulers, preventing single points of failure and simplifying the overall architecture by not requiring complex hierarchical structures

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS12236268B2Distributed job scheduling system
Publication Date: 2025.02.25 GOOGLE LLC
  • US12236268B2 patent drawing
  • US12236268B2 patent drawing
  • US12236268B2 patent drawing

AI summary

A method includes receiving a request to perform a job from a second computing device, where the job includes one or more steps to be completed in a period, and where the request includes a job description for the job, storing the job description into a data store, retrieving a step description corresponding to one of the steps of the job to be performed from the data store, where each of the steps is performed by a corresponding worker system, sending the commands to the communication endpoint for the corresponding worker system, receiving a status update comprising results for the commands from the corresponding worker system, and storing the status update to the data store.