Dynamic load balancing switch architecture
First Claim
1. A load balancing modular forwarding apparatus, comprising:
- a first processing device coupled to a plurality of uplinks;
a plurality of buffers corresponding to the plurality of uplinks;
a second processing device coupled to a plurality of downlinks;
a plurality of connecting devices, wherein each of the plurality of connecting devices is coupled to a respective one of the first plurality of uplinks and a respective one of the plurality of downlinks; and
a queue allocated in a memory accessible by the first processing device, the queue for storing data packets, or indicators of data packets, that are to be forwarded to the second processing device;
wherein the first processing device is configured to;
select a particular buffer from the plurality of buffers based on a comparison of respective measurements corresponding to respective loads of respective uplinks of the plurality of uplinks, andcause at least a portion of a data packet in the queue to be stored in the particular buffer, so that the at least the portion of the data packet is forwarded from the first processing device to the second processing device using an uplink corresponding to the particular buffer and a corresponding connecting device.
0 Assignments
0 Petitions
Accused Products
Abstract
A forwarding system includes a first processor coupled to connecting devices using a plurality of uplinks, and a second processor coupled to the connecting devices using a plurality of downlinks. The first processor includes, in a memory, one or more queues each corresponding to the second processor, a priority, and/or to a packet cast type (e.g., unicast or multicast). The first processor is configured to select a particular queue, select a particular uplink based on a comparison of measurements corresponding to respective loads of the plurality of uplinks, and cause a fragment or the entirety of a packet in the particular queue to be forwarded to the second processing device using the selected uplink and corresponding connecting device. The second processor is configured to reassemble the packet, reorder the packet into a flow, and forward the packet from the forwarding system.
45 Citations
19 Claims
-
1. A load balancing modular forwarding apparatus, comprising:
-
a first processing device coupled to a plurality of uplinks; a plurality of buffers corresponding to the plurality of uplinks; a second processing device coupled to a plurality of downlinks; a plurality of connecting devices, wherein each of the plurality of connecting devices is coupled to a respective one of the first plurality of uplinks and a respective one of the plurality of downlinks; and a queue allocated in a memory accessible by the first processing device, the queue for storing data packets, or indicators of data packets, that are to be forwarded to the second processing device; wherein the first processing device is configured to; select a particular buffer from the plurality of buffers based on a comparison of respective measurements corresponding to respective loads of respective uplinks of the plurality of uplinks, and cause at least a portion of a data packet in the queue to be stored in the particular buffer, so that the at least the portion of the data packet is forwarded from the first processing device to the second processing device using an uplink corresponding to the particular buffer and a corresponding connecting device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A load balancing modular forwarding apparatus, comprising:
-
a source processing device coupled to a plurality of uplinks, a plurality of buffers corresponding to the plurality of uplinks; a plurality of target processing devices coupled to a plurality of downlinks; a plurality of connecting devices interconnecting the plurality of uplinks and the plurality of downlinks; and a queue allocated in a memory accessible by the source processing device and including an indication of a multicast data packet to be forwarded to two or more target devices; wherein the source processing device is configured to; select a particular buffer from the plurality of buffers based on a comparison of respective measurements corresponding to respective loads of respective uplinks of the plurality of uplinks; and cause at least a portion of the multicast data packet, an indication of the multicast data packet, and at least one indication of at least one of the two or more target devices to be stored in the particular buffer for subsequent transmission via an uplink corresponding to the particular buffer. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification