Task Distributor Isolates Scheduler Partitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Highly available computing systems face challenges in mitigating the impact of physical and software failures, as well as resource management failures, which can lead to cascading failures when a system crashes or becomes corrupted, affecting overall system availability and performance.

Innovation Solution

The computing environment is divided into compartmentalized partitions with independent schedulers, allowing tasks to be distributed and resources to be allocated within each partition, isolating software failures and preventing the propagation of corrupted state information across partitions, thus decoupling scheduling domain size from software failure domains and enabling scaling while maintaining availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the scheduling system is divided into compartmentalized partitions, then software failures are isolated and cascading failures are prevented, but system complexity increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidscheduling system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The scheduling system is divided into multiple independent scheduler partitions, each managing its own state and resources. This segmentation isolates failures within individual partitions, preventing cascading failures across the entire system. Each partition can fail independently while others continue to operate, directly improving system availability and reliability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the scheduling domain size is increased to manage more resources, then system scalability improves, but the impact of software failures increases

Engineering Contradiction:
Improvescheduling domain scalabilityVSAvoidfailure impact scope
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

By segmenting the scheduling domain into multiple partitions, the system can scale the total scheduling domain size while limiting the impact scope of failures to individual partitions. This allows the system to manage more resources across multiple partitions without increasing the harmful impact of software failures, as each partition remains isolated.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A task distributor acts as an intermediary between task sources and scheduler partitions. The distributor receives tasks and distributes them to appropriate partitions, isolating the scheduling domain from direct exposure to failure propagation. This intermediary layer enables scaling while protecting against the spread of failures.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If load balancing techniques are used to distribute tasks, then resource utilization improves, but difficulty in maintaining high availability increases

Engineering Contradiction:
Improveresource utilizationVSAvoidhigh availability maintenance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system uses segmented scheduler partitions that independently manage their own task queues and resource allocations. This segmentation enables load balancing across partitions while simplifying availability maintenance, as failures in one partition do not affect others. Each partition can be independently monitored, maintained, or replaced without impacting the entire system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9329937B1High availability architecture
Publication Date: 2016.05.03 GOOGLE LLC
  • US9329937B1 patent drawing
  • US9329937B1 patent drawing
  • US9329937B1 patent drawing

AI summary

A system for executing tasks in a computing resource environment is disclosed. Variations of a system may include two or more scheduler partitions associated with respective schedulers, scheduler state information, and respective plurality of computing resources. Variations of a system may include a task distributor that distributes tasks to the scheduler partitions. In some variations, one scheduler is configured such that, responsive to the scheduler partition receiving a task from the distributor, that scheduler allocates a computing resource for execution of that task and updates its scheduler state information accordingly. In some variations, the task distributor is configured such that, if one scheduler is in a failed or corrupted state, the task distributor stops distributing tasks to that scheduler partition and prevents that scheduler state information from propagation to, or access by, other scheduler partitions.