Fair Decentralized Throttling in Distributed Cloud Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing systems face challenges in managing API requests during recovery workflows, as unthrottled API calls can overwhelm the infrastructure, leading to service disruptions and fairness issues across tenants, especially in hybrid cloud environments.

Innovation Solution

Implementing a central API gateway that manages queues for synchronous and asynchronous requests, setting tenant-specific limits to prevent overload and ensure fair resource allocation across tenants, thereby throttling API calls to prevent cascading failures and maintain system availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If API requests are throttled to prevent system overload, then system stability is improved, but request processing speed deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidrequest processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements dynamic throttling where the API gateway adjusts request rate limits based on real-time system conditions. The gateway monitors system load, queue depths, and component health status, then dynamically modifies throttling parameters to balance system stability with request processing speed. This allows the system to be more permissive during low-load conditions and more restrictive during high-load conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes throttling parameters based on system state. Different rate limits, queue sizes, and rejection thresholds are applied depending on current system conditions such as recovery workflow status, component availability, and overall load. This enables the system to optimize between stability and speed by adjusting parameters rather than using fixed thresholds.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If tenant-specific limits are enforced to ensure fair resource allocation, then fairness across tenants is improved, but system complexity deteriorates

Engineering Contradiction:
Improvefairness across tenantsVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the API gateway functionality into distinct modules: tenant identification module, quota tracking module, request prioritization module, and queue management module. Each module handles a specific aspect of multi-tenant management, making the overall complex system manageable through clear separation of concerns. This segmentation enables fair resource allocation while keeping individual component complexity low.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The API gateway implements a universal throttling framework that serves all tenants through a single standardized mechanism. Rather than implementing separate throttling systems for each tenant, the gateway provides universal rate limiting, queue management, and priority handling that automatically applies to all tenants based on their configured quotas and SLAs. This reduces overall system complexity while maintaining fairness.

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

3Loss of time

If synchronous requests are processed immediately to maintain responsiveness, then response time is improved, but system overload increases

Engineering Contradiction:
Improveresponse timeVSAvoidsystem load
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent applies partial action by processing only a subset of synchronous requests immediately based on available system capacity. The API gateway evaluates current load conditions and selectively processes requests that can be handled without causing overload, while queuing or rejecting others. This partial processing approach maintains responsiveness for critical requests while preventing system overload.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent introduces an intermediary queueing mechanism between request reception and processing. The API gateway acts as an intermediary that buffers synchronous requests, allowing immediate acknowledgment to clients while deferring actual processing to when system capacity is available. This intermediary layer decouples request acceptance from request processing, reducing immediate system load while maintaining apparent responsiveness.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If asynchronous requests are queued for later processing to reduce immediate load, then system stability is improved, but processing delay increases

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements continuous processing of asynchronous requests from the queue rather than batch processing. The API gateway continuously monitors queue depth and system capacity, processing requests as soon as capacity becomes available. This continuous action minimizes waiting time while maintaining system stability by processing requests at a sustainable rate rather than allowing large accumulations that would cause delays.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent employs feedback mechanisms where the API gateway continuously monitors queue depth, processing rate, and system load conditions. Based on this feedback, the gateway dynamically adjusts processing priorities and rates. When system capacity increases, the gateway accelerates queue processing to reduce delays. When load increases, it moderates processing to maintain stability, creating a feedback loop that balances both objectives.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10360086B2Fair decentralized throttling in distributed cloud-based systems
Publication Date: 2019.07.23 VMWARE INC
  • US10360086B2 patent drawing
  • US10360086B2 patent drawing
  • US10360086B2 patent drawing

AI summary

A cloud availability manager configured to execute a recovery workflow that fails over one or more virtual machines (VMs) to and from a cloud computing system. In doing so, the cloud availability manager typically performs multiple operations for each VMs. The operations involve making several application programming interface (API) calls to component APIs of management components within the cloud computing system. To avoid bringing down the entire cloud infrastructure, the cloud availability manager throttles the API calls to other components while executing a recovery workflow. The throttling spans multiple instances (nodes) of the cloud availability manager and involves cooperation from the other management components to ensure the throttling is fair across all tenants of the cloud computing system.