Dynamic Bandwidth Allocation for Client Data Overload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current bandwidth allocation methods between network computing devices and client computers often lead to overloading, as data producers have no control over the bandwidth used, resulting in delayed or dropped messages, especially in systems with multiple data producers.

Innovation Solution

A system and method that determine a share of bandwidth available for each computing device, calculate an ideal data rate, and adjust bandwidth allocations dynamically to ensure each device sends data at a rate that the client computer can process, using a process that involves determining shares, ideal rates, and requesting additional rate allocations as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data producers send data at high rates to the data consumer, then the data consumer receives more updates and has a more accurate view of system state, but the data consumer becomes overloaded and messages are delayed or dropped

Engineering Contradiction:
Improvedata transmission rateVSAvoidmessage delivery reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the parameter of data transmission rate from fixed/high to dynamically adjustable. Each data producer monitors the data consumer's queue depth and adjusts its sending rate accordingly, reducing the rate when the consumer is overwhelmed and increasing it when capacity is available, thus preventing overload while maximizing throughput

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a feedback mechanism where the data consumer publishes its current processing capacity and queue depth to a topic, and data producers subscribe to this feedback to adjust their sending rates. This closed-loop control ensures that the total incoming data rate matches the consumer's processing capacity, preventing message loss and overload

Inventive Principle:
Principle #23Feedback

2Quantity of substance

If multiple data producers send data simultaneously to a single data consumer, then the system has more comprehensive monitoring coverage, but the data consumer's bandwidth and processing capacity are exceeded

Engineering Contradiction:
Improvenumber of data producersVSAvoiddata processing throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent dynamically changes the parameter of data sending rate for each producer based on the consumer's current load. When multiple producers are active, each one independently adjusts its rate parameter according to feedback from the consumer, ensuring that the aggregate throughput matches the consumer's processing capacity rather than exceeding it

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent makes the data transmission system dynamic by allowing each producer to continuously adjust its sending rate in response to changing consumer capacity. This dynamic adaptation enables the system to handle multiple producers efficiently, as the total incoming data rate automatically scales with the consumer's available bandwidth and processing power

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3437271B1Allocating bandwidth between network computing devices for pushing data to a client computing device
Publication Date: 2021.03.10 CISCO TECHNOLOGY INC
  • EP3437271B1 patent drawingFigure 1
  • EP3437271B1 patent drawingFigure 2
  • EP3437271B1 patent drawingFigure 3

AI summary

Allocating bandwidth technique comprises determining a first bandwidth share to be available for a first device to send data to a client during a first future period of time; determining a first rate at which the first device is to send data to the client during the first future period of time; determining that the first rate is less than the first bandwidth share to be available for the first device to send data to the client during the first future period of time by a first delta; receiving, from a second device, a first request for additional rate allocation; sending, to the second device, a first rate allocation that is equal to or less than the first delta; sending data during the first future period of time at a first actual rate that is less than or equal to the first rate minus the first rate allocation.