Window-Based Scheduling Using Key-Value Data Store

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing task scheduling technologies face challenges in integrating with software applications, are resource-intensive, and struggle with efficient recovery from node failures, leading to unreliable and non-scalable scheduling across diverse platforms.

Innovation Solution

A distributed computing system utilizing a key-value data store to store time windows for task executions, generating scheduler entries that identify tasks and schedules, and an execution engine to select and execute tasks within these time windows, ensuring efficient and scalable scheduling with redundancy for node failure recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing scheduling techniques are integrated with software applications, then task scheduling functionality is achieved, but integration difficulty and implementation time increase

Engineering Contradiction:
Improvetask scheduling reliabilityVSAvoidintegration ease
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The scheduling system leverages existing infrastructure components (key-value data stores, distributed computing nodes) to provide scheduling functionality without requiring dedicated scheduling components. The system serves itself by using standard distributed system primitives that are already present in the infrastructure, eliminating the need for separate scheduling module integration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal scheduling approach that works across diverse platforms and applications by using standard key-value data stores and distributed computing primitives. The same scheduling mechanism can be applied to different software applications and distributed systems without customization, achieving broad compatibility and ease of integration.

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

2Reliability

If existing scheduling techniques ensure acceptable recovery from node failures, then scheduling reliability improves, but computing resource consumption increases

Engineering Contradiction:
Improverecovery from node failuresVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The scheduling system uses key-value data stores to maintain copies of scheduling state information across distributed nodes. When node failures occur, the system can recover by retrieving scheduling state from the durable key-value store or other surviving nodes, eliminating the need for resource-intensive active replication and failover mechanisms while ensuring reliability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs beforehand cushioning by persisting scheduling state to durable key-value data stores before failures can occur. This pre-established durability cushion allows the system to recover from node failures without requiring excessive computing resources during the recovery process, as the recovery simply involves reading from the already-persisted state.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Adaptability or versatility

If scheduling components are purchased and installed, then task scheduling capability is provided, but cost and implementation complexity increase

Engineering Contradiction:
Improveplatform compatibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential scheduling functionality from complex dedicated scheduling components and implements it using basic key-value data store operations and distributed computing primitives. By taking out only the necessary scheduling logic and implementing it with simple, widely-available infrastructure, the system achieves platform compatibility without introducing additional system complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If distributed scheduling is implemented across multiple nodes, then scalability improves, but coordination overhead and complexity increase

Engineering Contradiction:
Improvescheduling scalabilityVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The key-value data store acts as an intermediary that simplifies coordination between distributed scheduling nodes. Instead of requiring complex peer-to-peer coordination protocols, nodes communicate through the simple key-value interface for state persistence and synchronization, enabling scalability without proportionally increasing coordination complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8959518B2Window-based scheduling using a key-value data store
Publication Date: 2015.02.17 BMC HELIX INC
  • US8959518B2 patent drawing
  • US8959518B2 patent drawing
  • US8959518B2 patent drawing

AI summary

A scheduling system for scheduling executions of tasks within a distributed computing system may include an entry generator configured to store, using at least one key-value data store, time windows for scheduled executions of tasks therein using a plurality of nodes of the distributed computing system. The entry generator may be further configured to generate scheduler entries for inclusion within a time window of the time windows, each scheduler entry identifying a task of the tasks and an associated schedule for execution thereof. The system may further include an execution engine configured to select the time window and execute corresponding tasks of the included scheduler entries in order.