Network Controller Congestion Management via Circular Buffer Indexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer networks, collectors face memory buildup and CPU contention due to bursty traffic and varying consumption rates by destination devices, leading to instability and potential data loss.
Innovation Solution
A controller within the network manages congestion by identifying designated memory locations for destination devices, writing data to these locations, incrementing a write index, and sending consumption indications. The controller also detects congestion and employs avoidance mechanisms such as adjusting polling cadence or slowing down TCP throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If collectors receive data from multiple network devices and deploy data to multiple destination devices, then data collection and distribution capability is improved, but memory buildup and CPU contention occur due to finite resources
Solution Approach 1:
The patent segments the memory buffer into multiple fixed-size slots that can be independently managed. Each slot can hold a data item, and the segmentation allows the system to track and manage individual data items separately, preventing uncontrolled memory buildup while maintaining high data collection capability
Solution Approach 2:
The patent changes the parameter of memory management by implementing a circular buffer with a fixed number of slots and using modular arithmetic for indexing. This parameter change transforms unbounded memory growth into bounded cyclic reuse, eliminating memory buildup while preserving productivity
2Adaptability or versatility
If destination devices consume data at varying rates, then adaptability to different consumption patterns is improved, but instability and data loss occur due to resource contention
Solution Approach 1:
The patent implements feedback mechanisms where the collector tracks the consumption status of each destination device and adjusts data deployment accordingly. The system monitors which slots have been consumed and uses this feedback to manage buffer occupancy, preventing data loss while adapting to varying consumption rates
Solution Approach 2:
The patent makes the buffer management dynamic by allowing the write and read indices to move independently through the circular buffer. This dynamic structure adapts to varying consumption rates of different destination devices while maintaining system stability through bounded memory usage
3Adaptability or versatility
If more devices are added to the network, then network capacity and functionality are improved, but memory buildup and CPU contention increase leading to instability
Solution Approach 1:
The patent segments memory into fixed slots and uses independent indexing for each destination device, which simplifies resource management as devices are added. Each device gets its own read index, and the segmented structure prevents any single device from causing system-wide memory buildup, reducing overall complexity
Solution Approach 2:
The patent creates a universal circular buffer structure that can handle any number of destination devices with varying consumption rates. The multi-functional design allows the same buffer mechanism to serve multiple devices simultaneously, increasing network capacity without proportionally increasing management complexity
Data Source
AI summary
This disclosure describes techniques and mechanisms for managing congestion within a network with a controller. The techniques include identifying a first designated memory location from which a first destination device reads first data, identifying a second designated memory location from which a second destination device reads second data, writing the first data to the first designated memory location, incrementing, based at least in part on writing the first data, a write index; sending a first indication to the first destination device that the first data is ready to be consumed, determining that the first destination device retrieved the first data from the first designated memory location, and decrementing the write index.


