Ring Buffer Packet Capture with Boundary Flags for Microburst Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods face challenges in efficiently capturing packets of variable length before and after a network failure like a microburst due to high memory requirements and difficulty in specifying the occurrence place, leading to increased memory capacity needs.
Innovation Solution
A packet capture method and device that divides packets, imparts flags, accumulates byte counts, issues failure detection triggers, and stops writing to a ring buffer based on a threshold, allowing for efficient capture and output of packets before and after a failure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If packets are captured using a ring buffer with one packet per memory word, then packet breakage can be identified, but memory capacity increases due to matching word length to maximum packet length
Solution Approach 1:
The patent segments packet data into fixed-size words and uses a ring buffer structure where each word can be independently addressed. By dividing packets into word-sized units and tracking them through the ring buffer, the system can identify packet breakages without requiring the entire buffer to be sized for maximum packet length, thus reducing overall memory capacity requirements while maintaining breakage detection capability.
Solution Approach 2:
The patent applies local quality by using flags at specific word boundaries to mark packet starts and ends. Instead of requiring uniform high-capacity allocation throughout the entire buffer, the system uses localized flag markers at critical positions (packet boundaries) to enable precise breakage identification, allowing the buffer to be optimized for throughput rather than being constrained by maximum packet size requirements.
2Adaptability or versatility
If packets of variable length are stored in a ring buffer, then capture flexibility is improved, but it becomes difficult to suppress memory capacity requirements
Solution Approach 1:
The patent implements dynamic packet capture by allowing the ring buffer to continuously circulate and overwrite old data while maintaining flags that mark packet boundaries. The buffer dynamically adapts to variable packet lengths by using these flags to identify complete packets for capture, enabling the system to handle packets of any length without pre-allocating memory for maximum possible packet sizes, thus reducing overall memory capacity requirements.
Solution Approach 2:
The patent changes the parameter representation by using fixed-size word units with boundary flags instead of variable-length packet structures. This parameter transformation allows the system to handle variable-length packets efficiently by tracking them through fixed-size units, enabling memory capacity optimization while maintaining adaptability to different packet lengths through the flag-based boundary identification mechanism.
3Measurement precision
If a separate memory is used to record packet length and address information, then packet identification is improved, but total memory capacity increases
Solution Approach 1:
The patent merges packet identification information (length and address) directly into the data storage structure by embedding flags within the ring buffer words themselves. Instead of using separate memory structures to track packet metadata, the system integrates boundary markers directly into the data flow path, allowing packet identification to occur during normal data processing without requiring additional memory capacity for separate tracking structures.
Data Source
AI summary
An embodiment packet capture method includes steps of imparting a flag for each data of a received and divided packet, a step of writing the data in a ring buffer, steps of issuing a failure detection trigger when a cumulative value of the number of bytes of the packet within a period of failure detection exceeds a failure detection threshold value, steps of stopping writing to the ring buffer when writing to the ring buffer reaches or exceeds a writing stop address determined on the basis of the failure detection trigger, a step of reading data sequentially from the writing stop address, and steps of outputting a packet capture depending on the result determined based on the flags of the read data.


