Failure Isolation via Request Shedding in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, a small degradation in service dependency can cause a magnified impact at upstream services due to the one-to-many relationship of upstream operations to downstream tasks, leading to increased failure rates and resource inefficiencies.

Innovation Solution

Implementing intelligent request shedding by associating multiple requests with a common key, partitioning the keyspace into 'drop' and 'keep' partitions based on the amount of traffic to be shed, and mapping keys to these partitions to deliberately discard requests, thereby limiting higher-level failures to match the failure rate at the downstream service.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If upstream services continue all requests to downstream services during degradation, then service completeness is maintained, but failure impact is magnified and reliability decreases

Engineering Contradiction:
Improveservice availabilityVSAvoidfailure impact propagation
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts problematic requests from the request stream by identifying and shedding requests associated with degraded downstream services. The failure isolation component monitors service health and selectively removes requests that would propagate failures, keeping only healthy requests in the request stream.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the state of requests by marking them as healthy or unhealthy based on downstream service status. When service degradation is detected, the system alters request parameters including shedding unhealthy requests and modifying retry behavior, transforming the request handling strategy dynamically.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If requests are shed to limit failure propagation, then reliability is improved, but service completeness deteriorates

Engineering Contradiction:
Improvefailure containmentVSAvoidrequest throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different quality levels to different requests based on their association with degraded services. Healthy requests maintain full service quality and are processed normally, while unhealthy requests associated with degraded services are shed or modified, creating local quality differentiation in request handling.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of shedding all requests to a degraded service, the system performs partial action by selectively shedding only unhealthy requests while maintaining healthy requests. This partial shedding approach limits failure propagation without completely blocking service access, balancing reliability and productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all failed requests are retried, then service completeness is maintained, but resource efficiency deteriorates due to cascading failures

Engineering Contradiction:
Improverequest completionVSAvoidcomputational resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements feedback mechanisms where the failure isolation component continuously monitors downstream service health and adjusts retry behavior accordingly. When degradation is detected, the system receives feedback about unhealthy requests and modifies retry strategies, preventing resource waste on doomed requests while maintaining retries for healthy ones.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary action by identifying and shedding unhealthy requests before they are retried. The failure isolation component proactively removes requests associated with degraded services from the retry queue, preventing wasted computational resources on requests that would inevitably fail again.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If the system monitors all service dependencies closely, then failure detection precision is improved, but system complexity increases

Engineering Contradiction:
Improveservice degradation detectionVSAvoidmonitoring infrastructure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces a failure isolation component as an intermediary between upstream and downstream services. This mediator monitors service health and manages request shedding, providing precise failure detection without requiring complex monitoring infrastructure across the entire distributed system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10819777B1Failure isolation in a distributed system
Publication Date: 2020.10.27 AMAZON TECH INC
  • US10819777B1 patent drawing
  • US10819777B1 patent drawing
  • US10819777B1 patent drawing

AI summary

Methods, systems, and computer-readable media for failure isolation in a distributed system are disclosed. An operation is initiated at a first service in a distributed system. The operation is dependent on a plurality of requests to one or more services including a second service, and the requests are associated with a key. A keyspace comprising an ordered set of potential key values is partitioned into a first partition and a second partition, where the first partition represents potential key values to be subjected to deliberate request shedding. The key associated with the requests is mapped to the first partition. The requests to the second service are discarded based at least in part on the mapping, and the operation associated with the key fails at the first service.