Memory load balancing for single stream multicast
First Claim
Patent Images
1. A method comprising:
- dequeuing buffered packet information having an associated multicast count of greater than one;
determining whether stored packet data corresponding to the buffered packet information exceeds a first threshold;
when the stored packet data corresponding to the buffered packet information exceeds the first threshold;
decrementing the multicast count by one;
copying the buffered packet information and the stored packet data, andforming one packet from the copied packet information and the copied packet data; and
when the stored packet data corresponding to the buffered packet information does not exceed the first threshold and the multicast count does not exceed a second threshold, where the multicast count equals a number Y and Y is an integer greater than one;
forming, from the buffered packet information and the stored packet data, Y number of packets.
0 Assignments
0 Petitions
Accused Products
Abstract
A system for multicasting a packet of data to a single data stream is provided. The system may determine a size of the packet and may send a single copy of the packet if the size of the packet exceeds a threshold value. A number of copies of the packet yet to be multicast may be ascertained if the size of the packet of data does not exceed the threshold value. Copies of the packet may be transmitted based on the number of copies of the packet yet to be multicast.
-
Citations
22 Claims
-
1. A method comprising:
-
dequeuing buffered packet information having an associated multicast count of greater than one; determining whether stored packet data corresponding to the buffered packet information exceeds a first threshold; when the stored packet data corresponding to the buffered packet information exceeds the first threshold; decrementing the multicast count by one; copying the buffered packet information and the stored packet data, and forming one packet from the copied packet information and the copied packet data; and when the stored packet data corresponding to the buffered packet information does not exceed the first threshold and the multicast count does not exceed a second threshold, where the multicast count equals a number Y and Y is an integer greater than one; forming, from the buffered packet information and the stored packet data, Y number of packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
selecting, from a plurality of queues buffering packet information that corresponds to packet data stored in a first memory, a first one of the queues; determining, based on the packet information buffered in the first queue, whether packet information at a head of the first queue indicates multicasting; storing, in a second memory, when the packet information does not indicate multicasting, the packet information from the head of the first queue and the corresponding packet data from the first memory; determining, when the packet information indicates multicasting, whether the corresponding packet data stored in the first memory exceeds a packet size threshold; and dequeuing the packet information at the head of the first queue when the corresponding packet data stored in the first memory exceeds the packet size threshold. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A network device comprising:
-
a first memory to store packet data; an arbitrator to select a first queue from among a plurality of queues buffering packet information that corresponds to the stored packet data; a dequeue engine to determine, based on the packet information buffered in the first queue, whether packet information at a head of the first queue indicates multicasting; and a second memory to store, when the packet information does not indicate multicasting, the packet information from the head of the first queue and the corresponding packet data from the first memory, the dequeue engine being further configured to; determine, when the packet information indicates multicasting, whether the corresponding packet data stored in the first memory exceeds a packet size threshold, and dequeue the packet information at the head of the first queue when the corresponding packet data stored in the first memory exceeds the packet size threshold.
-
Specification