Distributed Lock Failover for Reliable CRON Job Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed software systems, cron jobs configured to run on a single machine pose a single point of failure risk, leading to undesirable outages and undermining high availability and reliability.

Innovation Solution

An automatic failover system utilizing a distributed lock manager ensures that only one server executes cron jobs by managing time-based leases, allowing seamless failover in case of server unavailability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If cron jobs are configured to run on a single machine, then the system structure is simple and easy to manage, but the reliability deteriorates due to single point of failure risk

Engineering Contradiction:
Improvesystem structureVSAvoidcron job execution reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the cron job execution responsibility across multiple servers by introducing a distributed lock manager. Each server can attempt to acquire a lock for executing cron jobs, and the lock manager distributes these locks across the server cluster. This segmentation eliminates the single point of failure while maintaining manageable system architecture through standardized locking mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The distributed lock manager acts as an intermediary between multiple servers and the cron job execution system. It mediates the competition for cron job execution by assigning locks to specific servers based on availability and configuration. This intermediary layer enables high availability without requiring complex direct coordination between servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cron jobs are distributed to multiple servers, then the reliability improves through redundancy, but the device complexity increases due to need for coordination and lock management

Engineering Contradiction:
Improvecron job execution reliabilityVSAvoidcoordination mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The distributed lock manager provides universal functionality across the server cluster by implementing a unified locking mechanism that all servers can use. This single lock management system handles multiple cron jobs, multiple servers, and various failure scenarios through one standardized interface, reducing the overall system complexity despite the distributed nature.

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

Solution Approach 2:

The lock manager enables servers to self-manage their cron job execution rights through automated lock acquisition and release mechanisms. Servers automatically compete for and acquire locks based on their availability, without requiring manual coordination or complex inter-server communication protocols. This self-service approach simplifies the coordination mechanism.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If a single server is designated to run cron jobs, then the ease of operation is maintained, but the reliability deteriorates when that server experiences an outage

Engineering Contradiction:
Improvecron job configurationVSAvoidcron job execution continuity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system transitions from a static single-server configuration to a dynamic multi-server configuration. The distributed lock manager dynamically assigns cron job execution rights to different servers based on their operational status. When the primary server is unavailable, the system automatically dynamic reassigns jobs to other available servers, maintaining both ease of operation and reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary actions by pre-configuring multiple servers with the ability to acquire locks and execute cron jobs. Before any failure occurs, the lock manager is in place and ready to distribute execution rights. This preliminary setup ensures that when a server goes down, cron job execution continuity is maintained without operational intervention.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If cron jobs fail to execute due to server outage, then the loss of time is minimized by waiting for next scheduled time, but the productivity deteriorates due to repeated failures

Engineering Contradiction:
Improvewait time for cron jobVSAvoidcron job execution success rate
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The distributed lock manager ensures continuous execution of cron jobs by enabling multiple servers to participate in the execution pool. When one server fails, other servers continue executing the cron jobs without interruption or waiting for the next scheduled time. This maintains both time efficiency and productivity by eliminating execution gaps.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS12499094B2Automatic failover system for CRON jobs
Publication Date: 2025.12.16 ARRIS ENTERPRISES LLC
  • US12499094B2 patent drawing
  • US12499094B2 patent drawing
  • US12499094B2 patent drawing

AI summary

A system supporting automatic failover system for CRON jobs.