Method and apparatus for aggregating input data streams
First Claim
1. A system comprising:
- a memory;
a plurality of input interfaces, wherein each input interface from the plurality of input interfaces is coupled to a corresponding processor and adapted to receive data packets from the corresponding processor, each data packet comprising at least one priority factor coded therein;
an output interface; and
a circuit coupled to the plurality of input interfaces and the output interface, the circuit adapted to;
receive data packets from the plurality of input interfaces; and
for each received data packet;
based on the at least one priority factor for the received data packet, determine a classification for the received data packet;
write packet data corresponding to the received data packet to the memory;
generate a packet descriptor for the received data packet, the packet descriptor containing a reference to the packet data stored in the memory; and
insert, based upon the classification, the generated packet descriptor in one of a plurality of queues, wherein the generated packet descriptor is inserted into a queue from the plurality of queues corresponding to the packet classification; and
the circuit further adapted to;
select a queue from the plurality of queues;
select a packet descriptor from the selected queue;
read, from the memory, packet data corresponding to the selected packet descriptor; and
send a data packet comprising the packet data read from the memory to the output interface.
2 Assignments
0 Petitions
Accused Products
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.
570 Citations
17 Claims
-
1. A system comprising:
-
a memory; a plurality of input interfaces, wherein each input interface from the plurality of input interfaces is coupled to a corresponding processor and adapted to receive data packets from the corresponding processor, each data packet comprising at least one priority factor coded therein; an output interface; and a circuit coupled to the plurality of input interfaces and the output interface, the circuit adapted to; receive data packets from the plurality of input interfaces; and for each received data packet; based on the at least one priority factor for the received data packet, determine a classification for the received data packet; write packet data corresponding to the received data packet to the memory; generate a packet descriptor for the received data packet, the packet descriptor containing a reference to the packet data stored in the memory; and insert, based upon the classification, the generated packet descriptor in one of a plurality of queues, wherein the generated packet descriptor is inserted into a queue from the plurality of queues corresponding to the packet classification; and the circuit further adapted to; select a queue from the plurality of queues; select a packet descriptor from the selected queue; read, from the memory, packet data corresponding to the selected packet descriptor; and send a data packet comprising the packet data read from the memory to the output interface. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
receiving, at a network device, data packets from a plurality of input interfaces, each input interface coupled to a corresponding processor and each received data packet comprising at least one priority factor coded therein; for each received data packet; determining a classification for the received data packet based on the at least one priority factor included with the received data packet; writing packet data corresponding to the received data packet to a memory; generating a packet descriptor for the received data packet, the packet descriptor containing a reference to the packet data stored in the memory; and inserting, based upon the classification, the generated packet descriptor one of a plurality of queues, wherein the generated packet descriptor is inserted into a queue from the plurality of queues corresponding to the packet classification; and selecting a queue from the plurality of queues; selecting a packet descriptor from the selected queue; reading, from the memory, packet data corresponding to the selected packet descriptor; and sending a data packet comprising the packet data read from the memory to an output interface. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for:
-
receiving data packets from a plurality of input interfaces, each input interface coupled to a corresponding processor and each received data packet comprising at least one priority factor coded therein; for each received data packet; determining a classification for the received data packet based on the at least one priority factor included with the received data packet; writing packet data corresponding to the received data packet to a memory; generating a packet descriptor for the received data packet, the packet descriptor containing a reference to the packet data stored in the memory; and inserting, based upon the classification, the generated packet descriptor in one of a plurality of queues, wherein the generated packet descriptor is inserted into a queue corresponding to the packet classification; and selecting a queue from the plurality of queues; selecting a packet descriptor from the selected queue; reading, from the memory, packet data corresponding to the selected packet descriptor; and sending a data packet comprising the packet data read from the memory to an output interface. - View Dependent Claims (14, 15, 16, 17)
-
Specification