Multicast Packet Switching via Single Storage and Indication Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data packet switching methods face bandwidth and storage inefficiencies when handling multicast data packets, as they require multiple write cycles to multiple queues, leading to bottlenecks and increased resource utilization.
Innovation Solution
A method where a data packet intended for multiple outputs is stored in one data structure, with indication data stored in associated data structures to maintain ordering, allowing subsequent packets to use freed bandwidth and reducing storage needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a multicast data packet is written to each queue corresponding to multiple egress ports, then data packet ordering is maintained, but bandwidth and storage resources are consumed excessively
Solution Approach 1:
The patent segments the multicast packet handling into two parts: the packet data itself is stored in only one queue (primary queue), while indication data (metadata) is stored in multiple queues (secondary queues) to track the packet's presence at multiple egress ports. This segmentation allows the system to maintain ordering information without duplicating the actual packet data across multiple queues.
Solution Approach 2:
Instead of copying the entire multicast packet data to multiple queues, the patent creates lightweight copies of indication data (such as packet identifiers, length, and ordering information) in each secondary queue. These indication data structures are much smaller than the actual packet data, thereby reducing bandwidth and storage consumption while preserving the necessary ordering information.
2Reliability
If a multicast data packet is written to multiple queues, then ordering is maintained, but write bandwidth is reduced due to multiple write cycles
Solution Approach 1:
The patent separates the write operation into two distinct phases: first, the packet data is written once to the primary queue; second, indication data is written to multiple secondary queues. This segmentation eliminates the need to write the entire packet data to multiple queues, thereby significantly improving write bandwidth utilization while maintaining the ability to track packet ordering across multiple egress ports.
3Reliability
If a multicast data packet is written to multiple queues, then ordering is maintained, but storage space is consumed excessively
Solution Approach 1:
The patent segments storage into primary queue storage (for the actual packet data) and secondary queue storage (for indication data only). By storing indication data rather than duplicate packet data in secondary queues, the system maintains the ability to track packet ordering and presence at multiple egress ports while dramatically reducing the total storage space required.
Solution Approach 2:
The patent applies local quality by making the indication data structures in secondary queues much smaller and more compact than the full packet data. The indication data contains only the essential information needed for ordering (such as packet identifiers and length), allowing efficient storage while maintaining the functional requirement of tracking packet presence across multiple queues.
Data Source
AI summary
A method of switching data packets between an input and a plurality of outputs of a switching device. The switching device comprises a memory arranged to store a plurality of data structures, each data structure being associated with one of said outputs. The method comprises receiving a first data packet at said input, and storing said first data packet in a data structure associated with an output from which said data packet is to be transmitted. If said first data packet is intended to be transmitted from a plurality of said outputs, indication data is stored in each data structure associated with an output from which said first data packet is to be transmitted, but said first data packet is stored in only one of said data structures. The first data packet is transmitted from said data structure to the or each output from which the first data packet is to be transmitted.


