Flow-Based Shared Buffer Management for Network Packet Admission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for managing shared buffer resources in network elements do not effectively prioritize data flows, leading to inefficient allocation of storage space and potential packet drops, as they primarily consider ingress/egress ports and priorities rather than the flows to which packets belong.
Innovation Solution
Implementing a flow-based management system that allocates storage space based on flow-based regions, allowing for prioritization of different data flows and using flow-based accounting to determine packet admission or drop decisions, independent of port priorities, and enabling flexible admission schemes that combine flow-based and port/priority-based approaches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If shared buffer resources are managed based on port priorities rather than flow-based prioritization, then the management complexity is reduced, but the storage space allocation efficiency deteriorates and packet drops increase
Solution Approach 1:
The shared buffer is segmented into multiple regions, with each region corresponding to a specific data flow. This segmentation enables flow-based prioritization where different flows can be allocated different buffer regions based on their priority levels, resolving the contradiction by maintaining manageable complexity through structured organization while improving allocation efficiency through flow-specific control
Solution Approach 2:
Different buffer regions are assigned different quality characteristics based on the priority of their corresponding flows. High-priority flows receive buffer regions with higher protection and allocation preferences, while low-priority flows receive regions with lower protection. This local differentiation improves overall storage efficiency by matching buffer quality to flow requirements without requiring complete redesign of the management system
2Productivity
If flow-based prioritization is implemented in shared buffer management, then storage space allocation efficiency is improved, but the device complexity increases
Solution Approach 1:
The buffer management system is segmented into flow identification modules, flow table lookup modules, and buffer region allocation modules. This segmentation allows the complex flow-based management to be broken down into manageable functional components, improving allocation efficiency while keeping the complexity distributed and controllable across separate modules
Solution Approach 2:
The flow table serves multiple functions: it stores flow identification information, determines buffer region allocations, and provides priority levels for admission control. This multi-functionality reduces the need for separate specialized structures for each function, improving storage efficiency while minimizing the increase in device complexity through a unified data structure
3Ease of manufacture
If packets are admitted based on port priorities, then the admission control is simple to implement, but the fairness among competing flows deteriorates
Solution Approach 1:
The flow table acts as an intermediary between the simple port-based admission control and the required flow-based fairness. It translates port-based admission decisions into flow-specific buffer region allocations, maintaining the simplicity of port-based control while ensuring fairness through flow-level accounting and priority management in the intermediary flow table
Solution Approach 2:
Admission control applies different quality standards to different flows based on their priority levels stored in the flow table. High-priority flows receive more favorable admission treatment and buffer allocation, while low-priority flows receive less favorable treatment. This local quality differentiation ensures fairness among flows without requiring complete redesign of the admission control mechanism
4Reliability
If flow-based accounting is implemented for packet admission decisions, then packet drop reduction is achieved, but the measurement and detection difficulty increases
Solution Approach 1:
Flow accounting is segmented into discrete flow entries in the flow table, each tracking buffer usage independently. This segmentation makes measurement and detection manageable by breaking down the complex task of flow-based accounting into separate, trackable units, reducing packet drops through accurate flow-level monitoring without overwhelming measurement difficulty
Solution Approach 2:
Instead of directly monitoring complex flow characteristics, the system uses flow table entries as simplified copies or representations of actual flows. These entries contain essential accounting information (buffer usage, priority, allocation) that captures the necessary flow characteristics for admission decisions, improving packet delivery reliability while reducing measurement difficulty through abstraction
Data Source
Figure 1
Figure 2A~2B
Figure 2C
AI summary
An apparatus for controlling a Shared Buffer (SB), the apparatus including an interface and a SB controller. The interface is configured to access flow-based data counts and admission states. The SB controller is configured to perform flow-based accounting of packets received by a network device coupled to a communication network, for producing flow-based data counts, each flow-based data count associated with one or more respective flows, and to generate admission states based at least on the flow-based data counts, each admission state being generated from one or more respective flow-based data counts.