Means for allowing two or more network interface controller...

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C370S217000

Reexamination Certificate

active

06314525

ABSTRACT:

COPYRIGHT AUTHORIZATION
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a system for connecting a computational server to a data network, and more particularly to a system that provides load sharing and fault tolerance across multiple network interface controllers connecting a server to a computer network.
2. Related Art
Network interface controllers (NICs) are typically used to connect servers to computer networks. These connections are susceptible to a variety of failures including loose cables, cable failures, and NIC failures. Such failures may be guarded against by providing multiple pathways between a server and a network through multiple NICs. This allows communication to be rerouted around failed connections, failed cables or failed NICs. Ideally, this rerouting takes place transparently, so that upper layers of a network system or a network user do not have to provide for rerouting around failed components. Note that this type of fault tolerance system need not insure that all data is transmitted successfully through the NIC because upper layers of the network system can retransmit data that initially fails to get through. Providing multiple NICs also makes it possible to perform load sharing across the multiple NICs to potentially improve system throughout.
An existing method for providing fault tolerance and load sharing across multiple NICs is through use of a protocol-level interface between an operating system and drivers for the NICs. This method has the disadvantage that a different interface must be provided for each protocol, thus resulting in a great amount of software complexity if a plurality of protocols are provided for.
What is needed is a mechanism for transparently providing fault tolerance and load sharing across multiple NICs that is free from the complexity of a protocol-level interface.
SUMMARY
The present invention provides a method and apparatus for allowing a plurality of network interface controllers (NICs) to appear as a single NIC to an operating system. This method and apparatus is realized externally to the NIC driver software, and thus does not require NIC drivers to be modified. The present invention also operates independently of operating system, NIC driver software, NIC drivers and NIC hardware. Consequently, the present invention is compatible with a wide range of operating systems and NICs.
One embodiment of the present invention operates at the Medium Access Control (MAC) level and lower, thus avoiding the complexity of providing software support for higher layer protocols. This embodiment manipulates packets at the MAC level and lower. However, providing support at the MAC level and lower makes it difficult to perform inbound load sharing. This is because protocols such as Internet Packet Exchange (IPX) use addresses and packet headers to direct reply packets. Hence, return traffic is directed back to the originating NIC regardless of whether the originating NIC is heavy loaded or not. However, 60% to 80% of all traffic on a server is outbound because workstations typically read files from a server in a direction that is outbound from the server. Hence, load sharing for outbound traffic will significantly improve overall system performance even if it is not possible for inbound traffic.
Thus, the present invention can be characterized as an apparatus for transferring data between at least one transport protocol stack and a plurality of network adapters coupled to a computer network that supports recovery from network adapter and a connection failure. The apparatus includes a first interface bound to at least one transport protocol stack and a plurality of network adapters coupled to a computer network that supports recovery from network adapter and connection failure. The apparatus includes a first interface bound to at least one transport protocol stack. It also includes a second interface bound to the plurality of network adapters, as wells a mechanism coupled to the first interface and the second interface that receives a first MAC-level packet from a transport protocol stack through the first interface and forwards the first MAC-level packet through the second interface to a network adapter in a protocol independent matter. The apparatus also includes a mechanism coupled to the first interface and the second interface that receives the second packet from a network adapter through the second interface and forwards the second packet through the first interface to a transport protocol stack.
The present invention can also be characterized as a method for supporting recovery from network adapter and connection failure. The method operates in a system including at least one transport protocol stack and a plurality of network adapters coupled to a network. The method comprises: (1) receiving a first MAC-level packet from a transport protocol stack; (2) forwarding the first MAC-level packet to a network adapter; (3) receiving a second packet from a network adapter; and (4) forwarding the packet to a transport protocol stack.
One aspect of the present invention can be characterized as a method for detecting failure of network adapters coupled to a server and including a primary adapter and a plurality of secondary adapters. The primary and secondary adapters being coupled to a network. The method comprises: (1) sending a packet from the server through the primary adapter across the network to a secondary adapter; (2) attempting to receive the packet at the secondary adapter; (3) sending a packet from the server through a secondary adapter to the primary adapter; (4) attempting to receive the packet from the primary adapter; (5) if the packet sent by the primary adapter is not received by the secondary adapter, and if packet by the secondary adapter is not received by the primary adapter, the system concludes that the primary adapter has failed and converts a secondary adapter into a replacement primary adapter.
One aspect of the present invention can be characterized as a method for load sharing traffic across a plurality of network interface controllers. The method comprises: receiving a MAC-level packet; selecting a network interface controller in the plurality of network interface controllers that is less loaded than other network interface controllers in the plurality of network interface controllers; and then sending the MAC-level packet to the network interface controller.


REFERENCES:
patent: 5123017 (1992-06-01), Simpkins et al.
patent: 5210855 (1993-05-01), Bartol
patent: 5261094 (1993-11-01), Everson et al.
patent: 5272584 (1993-12-01), Austruy et al.
patent: 5337413 (1994-08-01), Lui et al.
patent: 5379409 (1995-01-01), Ishikawa
patent: 5444856 (1995-08-01), Bowers et al.
patent: 5485607 (1996-01-01), Lomet et al.
patent: 5491694 (1996-02-01), Oliver et al.
patent: 5500945 (1996-03-01), Maeda et al.
patent: 5539883 (1996-07-01), Allon et al.
patent: 5564024 (1996-10-01), Pemberton
patent: 5579491 (1996-11-01), Jeffries et al.
patent: 5592610 (1997-01-01), Chittor
patent: 5604873 (1997-02-01), Fite et al.
patent: 5608876 (1997-03-01), Cohen et al.
patent: 5613096 (1997-03-01), Danknick
patent: 5644731 (1997-07-01), Liencres et al.
patent: 5732247 (1998-03-01), Dearth et al.
patent: 5809021 (1998-09-01), Diaz et al.
patent: 5889965 (1999-03-01), Wallach et al.
patent: 5923854 (1999-07-01), Bell et al.
patent: 5930255 (1999-07-01), Tsukamoto et al.
patent: 5987526 (1999-11-01), Morales
patent: 6052733 (2000-04-01), Mahalingam et al.
patent: 6081511 (2000-06-01), Carr et al.
patent: 6105151 (2000-08-01), Mahalingam et al.
patent: 6112249 (2000-08-01), Bader et al.
patent: 6115393 (2000-09-01), Engel et al.
patent: 6134678 (200

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

Means for allowing two or more network interface controller... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Means for allowing two or more network interface controller..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Means for allowing two or more network interface controller... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2573791

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