Probabilistic Buffer Allocation for Network Device Flow Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network devices face challenges in efficiently managing buffer allocation during attacks, such as denial-of-service attacks, which can lead to sub-optimal performance and resource wastage, especially when dealing with numerous concurrent flows and unpredictable packet arrival rates.

Innovation Solution

A probabilistic buffer allocation method that predicts a flow's future space consumption based on its past behavior, adjusting the allocation inversely proportional to the prediction and directly proportional to the available system memory, using a drop probability mechanism to dynamically allocate resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If buffer space is dynamically allocated to flows based on detection or prediction of flow needs, then buffer utilization is improved, but the device becomes vulnerable to state holding attacks where a single flow can consume excessive memory

Engineering Contradiction:
Improvebuffer utilizationVSAvoidstate holding attack vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent changes the parameter of buffer allocation from deterministic to probabilistic. Instead of guaranteeing buffer space based on flow needs, the system allocates buffers with a probability inversely proportional to predicted consumption. This transforms the allocation mechanism to prevent any single flow from monopolizing resources while maintaining efficient utilization for legitimate flows.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by monitoring flow behavior and using it to adjust allocation probability. The predicted space consumption is calculated based on past behavior, and this prediction feeds back into the allocation decision, creating a dynamic system that adapts to flow characteristics and prevents abuse.

Inventive Principle:
Principle #23Feedback

2Object-affected harmful factors

If a hard limit is placed on buffer space per flow, then protection against attacks is improved, but buffer utilization becomes sub-optimal

Engineering Contradiction:
Improveattack protectionVSAvoidbuffer utilization
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The patent changes the allocation parameter from a fixed hard limit to a dynamic probability-based allocation. This allows the system to provide strong protection guarantees (effectively infinite limits for legitimate flows) while maintaining security through the probabilistic mechanism that prevents any flow from consuming excessive resources.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If buffer space is equally divided among active flows, then fairness is improved, but buffer utilization becomes sub-optimal and attack protection is reduced

Engineering Contradiction:
ImprovefairnessVSAvoidbuffer utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies local quality by treating different flows differently based on their characteristics. Instead of uniform allocation, each flow receives buffer space with a probability tailored to its predicted consumption pattern. This allows legitimate flows with moderate needs to receive adequate buffers while limiting flows exhibiting attack-like behavior.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7570653B2Buffer allocation using probability of dropping unordered segments
Publication Date: 2009.08.04 CISCO TECHNOLOGY INC
  • US7570653B2 patent drawing
  • US7570653B2 patent drawing
  • US7570653B2 patent drawing

AI summary

Allocation of buffer space for segment re-ordering is restricted based on a probability that the flow would consume too much space. A flow's current or recently past space consumption is used to predict the flow's activity with respect to future consumption. If the prediction of future consumption is high relative to other flows and to the total allocable buffer space in the device, then a decreasing amount of space than would otherwise be provided is allocated to the flow. In a preferred embodiment, if a flow's buffers are below a predetermined threshold for the flow (i.e., the “flow threshold”), and the amount of overall system memory space is above a predetermined system threshold then buffer allocation can proceed normally for that flow. For example, all of an additional amount of space that the flow may currently be requesting can be allocated to the flow. However, if one or both of the system threshold or the flow threshold requirements are not met then allocation can be according to a prediction of the behavior (i.e., consumption) of the flow.