Decentralized Scheduler Selection via Heartbeat Frequency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In micro-service architectures, multiple computing nodes often process the same job, leading to wastage of resources, network delays, and increased likelihood of job duplication, as there is no standardized method to ensure only one node schedules jobs at a time.

Innovation Solution

Implementing a decentralized scheduling system where computing nodes exchange 'heartbeat' messages to select a unique scheduler node based on the least selection frequency and absence of current execution, ensuring only one node schedules jobs, thus preventing duplication and resource overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple computing nodes process jobs simultaneously without coordination, then processing capacity is increased, but job duplication occurs and resources are wasted

Engineering Contradiction:
Improveprocessing capacityVSAvoidresource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent introduces a scheduler computing node as an intermediary between job sources and processing nodes. This scheduler receives scheduling requests, determines which computing node should execute each job, and distributes jobs accordingly. The scheduler acts as a mediator that coordinates multiple computing nodes to process jobs without duplication, thereby maintaining high processing capacity while preventing resource waste from redundant job execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a centralized scheduler is used to coordinate jobs, then job duplication is prevented, but system complexity and single point of failure risk increase

Engineering Contradiction:
Improvejob scheduling consistencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic scheduler selection mechanism where any computing node can become the scheduler based on current system conditions. The scheduler identity is not fixed but changes over time based on factors like node availability and load. This dynamic approach distributes the scheduling function across multiple nodes over time, reducing system complexity and eliminating single points of failure while maintaining job scheduling consistency through coordinated communication among nodes.

Inventive Principle:
Principle #15Dynamics

3Reliability

If job scheduling is distributed across all nodes, then system availability is improved, but coordination overhead and network traffic increase

Engineering Contradiction:
Improvesystem availabilityVSAvoidnetwork traffic volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the scheduling function by having each computing node independently determine whether it should act as the scheduler based on receiving a specific indication (such as a heartbeat message pattern or selection signal). This segmentation allows the scheduling responsibility to be distributed across nodes without requiring constant coordination traffic. Each node operates autonomously based on the indication it receives, reducing network overhead while maintaining high system availability through distributed scheduling capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10977077B2Computing node job assignment for distribution of scheduling operations
Publication Date: 2021.04.13 CAPITAL ONE SERVICES LLC
  • US10977077B2 patent drawing
  • US10977077B2 patent drawing
  • US10977077B2 patent drawing

AI summary

A computing node may receive, from a set of computing nodes including the computing node, a corresponding set of heartbeat messages related to selecting a scheduler computing node for scheduling one or more jobs for the set of computing nodes. The computing node may determine, based on the set of heartbeat messages, whether the computing node is to be selected as the scheduler computing node based on: whether the computing node has been selected as the scheduler computing node a fewest number of times as compared to other computing nodes included in the set of computing nodes, and whether the scheduler is being executed by any computing node included in the set of computing nodes. The computing node may selectively schedule the one or more jobs for the set of computing nodes based on determining whether the computing node is to be selected as the scheduler computing node.