Multicast Packet Header Generation and Payload Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network switch devices inefficiently handle multicast packets by duplicating the entire packet for multiple transmissions, leading to increased buffer storage and processing overhead.

Innovation Solution

A network switch device with a packet processor that generates additional headers based on an original multicast packet header, stores these headers in memory linked to a shared payload, and transmits multiple instances of the packet by reading the appropriate headers and payload from memory for each transmission port.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the entire packet is duplicated for multiple transmissions, then the packet can be transmitted via multiple ports, but the buffer storage requirement increases

Engineering Contradiction:
Improvemulticast transmission capabilityVSAvoidbuffer storage requirement
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The packet is segmented into two distinct parts: a shared payload and multiple instance-specific headers. Each header contains only the necessary control information for a specific transmission port, while the payload is shared across all instances. This segmentation reduces the total data stored in buffers from N full packets to 1 payload + N-1 headers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple packet instances are merged by sharing the common payload across all of them. Instead of storing N separate complete packets, the system stores one payload that is referenced by multiple headers, combining the storage requirement into a single payload structure with multiple header references.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If the entire packet is duplicated for multiple transmissions, then the packet can be transmitted via multiple ports, but the processing overhead increases

Engineering Contradiction:
Improvemulticast transmission capabilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The redundant payload data is extracted and removed from the packet duplication process. Only the essential header information is duplicated and stored in buffers, while the payload is extracted as a shared resource. This extraction reduces the amount of data that needs to be processed and managed for each packet instance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of copying the entire packet N times, the system creates N header copies that reference the same payload. The headers are copied and stored in buffers, but the payload is not copied - it is shared across all header instances, significantly reducing processing overhead.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If multiple packet copies are stored in buffer, then the packet can be transmitted via multiple ports, but the device complexity increases

Engineering Contradiction:
Improvemulticast transmission capabilityVSAvoidbuffer management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The header acts as an intermediary structure that mediates between the shared payload and the multiple transmission ports. Each header contains references to the shared payload and specifies the target port, simplifying buffer management by using these intermediary header structures rather than managing multiple complete packet copies.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9112708B1Processing multicast packets in a network device
Publication Date: 2015.08.18 MARVELL ISRAEL (M L S L) LTD
  • US9112708B1 patent drawing
  • US9112708B1 patent drawing
  • US9112708B1 patent drawing

AI summary

A network switch device comprises a packet processor configured to: write, to a memory, at least a payload of a multicast packet received via one of a plurality of ports, determine that a plurality of instances of the multicast packet are to be transmitted, generate, using an original header of the multicast packet, one or more additional headers, write, to the memory, a plurality of headers including (i) the original header, and (ii) the one or more additional headers in the memory, link each header in the plurality of headers stored in the memory to a location of the payload in the memory, and transmit a plurality of instances of the multicast packet via one or more ports including, for each instance of the multicast packet, reading (i) a respective one of the headers from the memory and (ii) the payload from the location in the memory.