# US 2014/0153389 A1 · Method and apparatus for aggregating input data streams

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0153389 A1
- Document ID: US20140153389A1
- Status: Published application
- Kind: A1
- Application number: 13/925,564
- Filed: 2013-06-24
- Published: 2014-06-05
- Earliest claimed: 2004-03-26
- Assignees: Foundry Networks, Inc.
- Applicants: Foundry Networks, LLC
- Inventors: Yuen Fai Wong; Yu-Mei Lin; Richard A. Grenier
- Web page: https://patentgrep.com/patent/US20140153389A1

## CPC

- H04L 47/2433: {Allocation of priorities to traffic types}
- H04L 47/6275: based on priority
- H04L 49/30: {Peripheral units, e.g. input or output ports}
- H04L 49/352: {Gigabit ethernet switching [GBPS]}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method and apparatus aggregate a plurality of input data streams from first processors into one data stream for a second processor, the circuit and the first and second processors being provided on an electronic circuit substrate. The aggregation circuit includes (a) a plurality of ingress data ports, each ingress data port adapted to receive an input data stream from a corresponding first processor, each input data stream formed of ingress data packets, each ingress data packet including priority factors coded therein, (b) an aggregation module coupled to the ingress data ports, adapted to analyze and combine the plurality of input data steams into one aggregated data stream in response to the priority factors, (c) a memory coupled to the aggregation module, adapted to store analyzed data packets, and (d) an output data port coupled to the aggregation module, adapted to output the aggregated data stream to the second processor.

## Claims

### Claim 1

A system comprising:
input interfaces, wherein each input interface is adapted to receive a data stream comprising ingress data packets, each ingress data packet comprising at least one priority factor coded therein;
a circuit coupled to the input interfaces and adapted to receive the data streams, analyze the ingress data packets of the data streams, generate packet descriptors for the analyzed ingress data packets, select packet descriptors from priority queues, and combine the data streams into an aggregated data stream in response to the at least one priority factor; and
an output interface coupled to the circuit and adapted to output the aggregated data stream,
wherein each packet descriptor contains a reference to a memory location of its analyzed ingress data packet stored in a memory.

### Claim 2 (depends on 1)

The system of claim 1, wherein adapted to analyze the ingress data packets further comprises adapted to decode a header of each ingress data packet to extract the at least one priority factor.

### Claim 3 (depends on 1)

The system of claim 1 further comprising an encoder coupled to the circuit and adapted to encode the analyzed ingress data packets into an interface format before outputting the aggregated data stream.

### Claim 4 (depends on 1)

The system of claim 1, wherein each ingress data packet is analyzed separately.

### Claim 5 (depends on 1)

The system of claim 1, wherein the circuit is further adapted to receive egress data packets at an egress data input port, and forward an egress data packet to one of a plurality of egress data output ports in response to destination information associated with the egress data packet.

### Claim 6 (depends on 1)

The system of claim 1 further comprising the memory coupled to the circuit and adapted to store the analyzed ingress data packet.

### Claim 7 (depends on 1)

The system of claim 1, wherein the input interfaces and the output interface are adapted to provide logical interconnection between a Media Access Control sublayer (MAC) and a Physical layer (PHY).

### Claim 8

A method for aggregating a plurality of input data streams from first processors into one data stream for a second processor, the method comprising:
receiving an input data stream from each of the first processors, each input data stream comprising ingress data packets, each ingress data packet comprising at least one priority factor coded therein;
generating an aggregated data stream by combining the input data streams into an aggregated data stream in response to the at least one priority factor, wherein the generating comprises analyzing the ingress data packets of the input data streams, generating packet descriptors for the analyzed ingress data packets, and arbitrating and selecting packet descriptors from priority queues; and
outputting the aggregated data stream to the second processor,
wherein each packet descriptor contains a reference to a memory location of its analyzed ingress data packet stored in a memory.

### Claim 9 (depends on 8)

The method of claim 8, wherein analyzing the ingress data packets further comprises decoding a header of each ingress data packet to extract the at least one priority factor.

### Claim 10 (depends on 8)

The method of claim 8 further comprising encoding the analyzed ingress data packets into an interface format before outputting the aggregated data stream to the second processor.

### Claim 11 (depends on 8)

The method of claim 8, wherein each ingress data packet is analyzed separately.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
receiving a data stream from the second processor, the data stream comprising egress data packets;
forwarding an egress data packet in the data stream from the second processor as an output data stream in response to destination information associated with the egress data packet; and
outputting the output data stream to a corresponding one of the first processors.

### Claim 13 (depends on 8)

The method of claim 8 further comprising storing the analyzed ingress data packet in the memory.

### Claim 14

A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method for aggregating a plurality of input data streams from first processors into one data steam for a second processor, the method comprising:
receiving an input data stream from each of the first processors, each input data stream comprising ingress data packets, each ingress data packet comprising at least one priority factor coded therein;
generating an aggregated data stream by combining the input data streams into an aggregated data stream in response to the at least one priority factor, wherein the generating comprises analyzing the ingress data packets of the input data streams, generating packet descriptors for the analyzed ingress data packets, and selecting packet descriptors from priority queues; and
outputting the aggregated data stream to the second processor,
wherein each packet descriptor contains a reference to a memory location of its analyzed ingress data packet stored in a memory.

### Claim 15 (depends on 14)

The device of claim 14, wherein analyzing the ingress data packets further comprises decoding a header of each ingress data packet to extract the at least one priority factor.

### Claim 16 (depends on 14)

The device of claim 14, wherein the method further comprises encoding the analyzed ingress data packets into an interface format before outputting the aggregated data stream to the second processor.

### Claim 17 (depends on 14)

The device of claim 14, wherein each ingress data packet is analyzed separately.

### Claim 18 (depends on 14)

The device of claim 14, wherein the method further comprises:
receiving a data stream from the second processor, the data stream comprising egress data packets;
forwarding an egress data packet in the data stream from the second processor as an output data stream in response to destination information associated with the egress data packet; and
outputting the output data stream to a corresponding one of the first processors.

### Claim 19 (depends on 14)

The device of claim 14, wherein the method further comprises storing the analyzed ingress data packet in the memory.
