Network communication device including bonded ports for...

Electrical computers and digital processing systems: multicomput – Multiple network interconnecting

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S238000, C370S235000

Reexamination Certificate

active

06665733

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to networks, and more specifically, to a network communication device with port bonding architecture that enables multiple ports to be bonded together to provide a higher bandwidth connection between any two devices in a network system.
DESCRIPTION OF THE RELATED ART
Network communication devices are available in a variety of configurations and throughputs to provide connectivity between multiple network devices such as computers, servers, DTEs etc. A switch, for example, provides a significant advantage over other network communication devices, such as repeaters or hubs, by learning media access control (MAC) addresses of network devices and reducing extraneous packet transmissions. MAC addresses are assigned to network devices and are unique in the industry to distinguish one device from the next. Multiple switches may be included to expand the number of network devices in a given network system. However, redundant connection paths between any two network devices or between two or more network communication devices result in packet looping. Packet looping is undesirable because it causes the generation of duplicate packets and/or broadcast storms. Significant packet looping eventually results in an excessive number of dropped packets and drastically reduced performance of a network.
The spanning tree algorithm was invented to locate all connection paths between resources on the network and disable redundant connection paths to avoid packet looping problems. Although a redundant link may be included between any two devices, the redundant link is typically only used to serve as a backup link if the primary link fails or otherwise becomes unusable.
While network communication devices enabled connection of multiple computers to one or more servers, the spanning tree algorithm allowed only one valid path at a time between any computer and a server. If multiple computers coupled to one server via a common link between two network communication devices attempted to access that server at the same time, the traffic demand of that link often became greater than its available bandwidth, thereby overwhelming the link. This usually resulted in dropped packets, disrupted connections and repeated packet transmission attempts. The common link therefore was a bottleneck between the two network communication devices.
It is desired to increase the available bandwidth between any two network communication devices without substantial modification and without increasing the bandwidth of any given port.
SUMMARY OF THE INVENTION
A network communication device according to the present invention includes a plurality of ports that are each used to receive and transmit packets of data and port control circuitry for controlling packet flow between the ports. The port control circuitry includes a port manager that directs packets between the ports and port bonding circuitry that bonds two or more of the ports into a bonded port set. For each packet to be sent via the bonded port set, the port bonding circuitry selects one of the bonded ports for transmitting the packet. More than one bonded port set may be defined in a given communication device, and each bonded port set may include from two ports up to all the ports of the communication devices, as long as each port is included in only one bonded port set. One or more port bonding registers are preferably provided to identify which of the plurality of ports in the network communication device are bonded in each bonded port set. The present invention is applicable to and is illustrated using network switches, although the present invention is applicable to other network communication devices as well.
In one embodiment, the bonded ports are selected on a packet by packet basis so as to achieve a relatively even distribution of packets sent by each bonded port in the bonded port set. A memory is preferably included in which the port control circuitry stores a plurality of entries, where each entry includes a source identifier provided in each packet and a corresponding port identifier. The source identifier is typically a MAC address of a sending device to uniquely identify that device. If bonded ports are selected for transmission on a packet by packet basis, then for packets received at any of the bonded ports of the bonded port set, the port bonding circuitry programs the corresponding port identifier to represent the bonded port set in general. In this manner, when a packet is received by the communication device to be sent out the bonded port set, such as a unicast packet with a destination identifier that is equivalent to a source identifier received at a bonded port, the communication device dynamically selects any one of the bonded ports in order to achieve an even distribution of traffic on the bonded port set. Such dynamic selection on a packet by packet basis ensures even traffic distribution but may result in overhead associated with each packet.
In an alternative embodiment, for each entry in the memory that includes a source identifier that was received at any bonded port of the bonded port set, the port bonding circuitry programs the port identifier to identify one bonded port of the bonded port set so as to achieve a relatively even distribution of source identifiers among the bonded ports of the bonded port set. Thus, each source identifier received at the bonded port set is assigned to a particular bonded port of the bonded port set. The selected bonded port is not necessarily the same port at which the packet was received. Instead, selection is made to achieve relative distribution of identifiers among the bonded ports. In this manner, every unicast packet received by the communication device specifying a destination identifier equivalent to the source identifier is sent via the same selected bonded port of the bonded port set.
Assignment of source identifiers to particular bonded ports and approximately even distribution of source identifiers among bonded ports is based on the assumption that each device generates approximately the same amount of traffic over time. In operation, a traffic imbalance may result so that one bonded port is carrying a disproportionate amount of traffic. In an optional embodiment, the port bonding circuitry monitors unicast packets sent via each bonded port of the banded port set and periodically reprograms the port identifier of each of the plurality of entries in the memory so as to achieve a relatively even distribution of unicast packet traffic among the bonded ports of the bonded port set. In this manner, the bonded port assignments are dynamically adjusted.
In another embodiment according to the present invention including VLAN capabilities, each of the entries in the memory that has a source identifier that was received at any non-bonded port includes a bit map having a bit corresponding to each of the bonded ports. The bit maps are particularly useful for broadcast and multicast packet handling and to distribute broadcast and multicast packets on bonded port sets. The port bonding circuitry programs each bit map of each of the plurality of entries to assign one bonded port of the bonded port set so as to achieve a relatively even distribution of bonded port assignments to source identifiers corresponding to non-bonded ports. Additionally, the memory may include a default bit map table that includes a default bit map for each of the plurality of ports for source MAC addresses that have not been learned. In this case, each of the default bit maps include a bit corresponding to each of the bonded ports and the port bonding circuitry programs each of the default bit maps to assign one bonded port of the bonded port set so as to achieve a relatively even distribution of bonded port assignments among the plurality of ports.
In the case of broadcast packets that are received from non-bonded ports and send to bonded ports as determined by the port control circuitry, the port bonding circuitry of the communication device monitors those packets sen

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Network communication device including bonded ports for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Network communication device including bonded ports for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Network communication device including bonded ports for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3131593

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.