High performance load balancing and fail over support of...

Electrical computers and digital processing systems: multicomput – Network-to-computer interfacing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S241000, C709S235000, C709S241000

Reexamination Certificate

active

06490632

ABSTRACT:

TECHNICAL FIELD
The present invention relates to the field of computer system networks. In particular, the present invention pertains to a software-based module for augmenting a server computer system to perform network interface card load balancing and fail over support for fault tolerance.
BACKGROUND ART
Computer systems linked to each other in a network are commonly used in businesses and other organizations. Computer system networks (“networks”) provide a number of benefits for the user, such as increased productivity, flexibility, and convenience as well as resource sharing and allocation.
Networks are configured in different ways depending on implementation-specific details such as the hardware used and the physical location of the equipment, and also depending on the particular objectives of the network. In general, networks include one or more server computer systems, each communicatively coupled to numerous client computer systems.
One common type of network configuration includes a number of virtual local area networks (VLANs). VLANs provide numerous advantages, a primary advantage being that the client computer systems associated with a particular server computer system do not need to all be in the same physical location.
In contemporary networks, server computer systems are typically coupled to the network using more than one network interface card (NIC). Multiple NICs increase the total available bandwidth capacity for transmitting and sending data packets. Multiple NICs also provide resiliency and redundancy if one of the NICs fails. In the case of a failure of a NIC, one of the other NICs is used to handle the traffic previously handled by the failed NIC, thereby increasing overall system reliability. Accordingly, it is necessary to be able to detect when a NIC fails and, when a failed NIC is detected, to switch to a functioning NIC (this is referred to as fault tolerance and fail over support).
In addition, it is desirable to balance the traffic over each NIC when multiple NICs are used so that one NIC doesn't handle too much traffic and become a bottleneck (this is referred to as load balancing). The use of load balancing allows the spare capacity provided by the multiple NICs to be effectively utilized. It is not necessary to hold a NIC in reserve in case one of the NICs fails; instead, all NICs can be used, thereby increasing the overall performance of the server computer system and hence the network.
Prior Art
FIG. 1
is an illustration of exemplary network
50
including two VLANs. In network
50
, client computer system
140
(e.g., a workstation) is in one VLAN, and client computer systems
141
,
142
and
143
are in a second VLAN. Both VLANs are serviced by server computer system
160
. A data packet sent by server computer system
160
contains address information that is used to identify the particular client computer system(s) to which the data packet is to be sent. In addition, the data packet is tagged with a VLAN identifier that identifies the destination VLAN. The methods for addressing a data packet in a network comprising multiple VLANs are well known in the art; one method is defined by the IEEE 802.1Q standard.
Switches
150
and
151
are able to read the VLAN identifier and the other address information contained in the data packet and direct the data packet accordingly. Thus, switch
150
reads the VLAN identifier and will direct the data packet to client computer system
140
if appropriate. Otherwise, the data packet proceeds to switch
151
, which directs the data packet to the proper client computer system (e.g., client computer systems
141
,
142
or
143
) depending on the address information contained in the data packet.
One prior art technique for load balancing and fault tolerance with fail over support utilizes a switch-dependent protocol implemented using server computer system
160
and switches
150
and
151
. This prior art technique also requires NICs that are specifically designed for compatibility with switches
150
and
151
and the switch-dependent protocol. This prior art technique is problematic because it requires that the switch be designed with the capability to implement the load balancing and fault tolerance schemes. Thus, the complexity and the cost of the switch are substantially increased. Even so, the capabilities of the switch are relatively limited, and so the schemes for providing load balancing and fault tolerance are also limited.
With regard to load balancing, other prior art techniques attempt to address the drawbacks identified above by implementing software-based load balancing methods implemented on a server computer system. The prior art load balancing methods used in these techniques are based on either a round-robin approach or an approach using the media access control (MAC) address that is associated with each NIC (a unique MAC address is assigned to each NIC by the vendor of the NIC).
In a round-robin load balancing approach, a first data packet is sent out using a first NIC, a second data packet with a second NIC, and so on; when all NICs have been used to send out a data packet, the sequence returns to the first NIC and the cycle is continuously repeated. However, the round-robin load balancing approach is problematic because multiple data packets are typically associated with a given session or transaction between a server computer system and a client computer system. Thus, multiple NICs may be used for a single transaction involving multiple data packets. Consequently, the data packets for that transaction often reach the client computer system out of order. Some computer system protocols are not able to properly handle out-of-order data packets and so the data packets have to be retransmitted until they are received by the client computer system in the proper order. Thus, the round-robin load balancing approach causes a high incidence of retransmissions that increase the time needed to complete a transaction and reduce the overall performance of the computer system network.
In the MAC-based load balancing approach, the selected NIC is chosen by applying some type of procedure that aligns a NIC with a particular MAC address so that, in essence, a data packet bound for the particular MAC address is always sent out over the same NIC. While this addresses the problem of out-of-order data packets associated with the round-robin load balancing approach, the MAC-based approach introduces additional problems. For instance, all client computer systems lying across a particular router will be assigned to the same NIC because the client computer systems all contain the same MAC address (the MAC address for the router); hence, if traffic across this router is normally heavy relative to other routers, the load over the associated NIC will not be balanced relative to other NICs. In addition, the MAC-based load balancing approach is based on the distribution of MAC addresses across the client computer systems, and because the MAC addresses may not be evenly distributed (e.g., one router may serve more client computer systems than another router), the load across the NICs will not be evenly balanced. Also, the bandwidth available to the client computer system is limited by the bandwidth of the NIC that the client computer system is associated with by the MAC address; for example, by virtue of its MAC address, a client computer system with a one gigabit/second NIC may be affiliated with a 100 megabits/second NIC, and consequently the bandwidth of the client computer system is limited to 100 megabits/second.
With regard to fault tolerance and fail over support, a problem exists in the prior art when certain protocols, such as Internet Protocol Exchange (IPX), are used to address outgoing data packets. With IPX, when a data packet is transmitted from a server computer system over a particular NIC, the response from the client computer system is automatically returned via the same NIC. Thus, if the NIC used for the outgoing data packet fails, the client computer system needs to respond to a differ

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

High performance load balancing and fail over support of... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with High performance load balancing and fail over support of..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and High performance load balancing and fail over support of... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2935305

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