Network Switch Multicast Pointer Allocation via Egress Variable Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network switches face inefficiencies and bottlenecks when handling larger frame sizes during multicast transmissions due to increased pointer management requirements, leading to decreased speed and increased complexity and cost.
Innovation Solution
A method and apparatus for efficient multicasting that tracks multicast frame transmissions using an egress variable, allowing for efficient allocation and return of pointers with minimal impact on speed and memory usage, by forwarding the egress variable only once per pointer per transmission and using existing memory structures to monitor and update transmission status.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If larger frame sizes are used to increase throughput, then network throughput is improved, but the number of pointers per frame increases causing bottlenecks in multicast transmissions
Solution Approach 1:
The patent segments the pointer management process by separating the forwarding of pointers from the tracking of transmission status. Pointers are forwarded to egress modules independently, while a separate egress variable tracks the transmission status. This segmentation allows large frames with many pointers to be handled efficiently without creating bottlenecks in the multicast transmission path.
Solution Approach 2:
The patent introduces an egress variable as an intermediary mechanism between the pointer forwarding process and the transmission status tracking. This intermediary stores the number of transmissions for each pointer, allowing the system to monitor multicast transmission status without requiring complex coordination between multiple egress modules processing the same large frame.
2Reliability
If traditional multicast tracking methods are used with large frames, then transmission status can be monitored, but processing time increases and speed decreases
Solution Approach 1:
The patent applies preliminary action by pre-allocating egress variables for each pointer when the frame is first received and pointers are assigned. This preliminary setup includes initializing the transmission count in each egress variable, so that during multicast transmission, the system only needs to increment and check these pre-configured variables rather than creating and managing complex tracking structures during the actual transmission process.
Solution Approach 2:
The patent changes the parameter representation from complex multi-dimensional tracking structures to simple scalar egress variables that store only the transmission count. This parameter simplification allows the system to monitor transmission status using basic integer increments and comparisons, dramatically improving processing speed while maintaining reliable tracking of multicast frame transmissions.
3Quantity of substance
If more pointers are allocated to handle large frames, then frame buffering capacity is improved, but memory cost and complexity increase
Solution Approach 1:
The patent makes the egress variables multi-functional by using them for both pointer identification and transmission status tracking. Each egress variable serves dual purposes: it identifies which egress module a pointer belongs to and simultaneously tracks how many times that pointer has been transmitted in multicast operations. This universality eliminates the need for separate tracking memory structures, reducing overall memory complexity while maintaining the ability to handle large frames with numerous pointers.
Data Source
AI summary
A method and apparatus for allocating pointers in a network switch managing a multicast transmission includes receiving a frame in the switch and assigning pointers in an ingress module to buffer the frame, forwarding pointers along with a header including an egress variable indicative of a number of transmissions in the multicast transmission to an egress module for transmission of the frame, forwarding the egress variable after transmission of the frame to a multicast module, monitoring the transmission of the frame based upon the egress variable, and returning pointers to a free list responsive to the monitoring step and a value of the egress variable.


