Patent US6314525B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6314525B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Means for allowing two or more network interface controller cards to appear as one card to an operating system

Assignee: HP Inc
•
Filing: 1997-10-02
•
Granted: 2001-11-06
•
Expires: 2017-10-02
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a method and an 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 MAC level and lower, thus avoiding the complexity of providing software support for higher layer protocols. However, providing support at the MAC level and lower makes it difficult to perform inbound load sharing. This is because protocols such as 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.

Inventors

  • 👤 Mallikarjunan Mahalingham
  • 👤 Walter A. Wallach

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 10:18
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/2854; H04L12/2856; H04L12/2869; H04L12/2898; G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2002; G06F11/2005

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 146 words
An apparatus for transferring data between at least one transport protocol stack and a plurality of network adaptors coupled to a computer network that supports recovery from network adapter and connection failure, comprising: a first interface bound to the at least one transport protocol stack; a second interface bound to the plurality of network adapters; and 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 packet through the second interface to a network adapter in the plurality of network adapters; and a mechanism coupled to the first interface and the second interface that receives a second packet from a network adapter in the plurality of network adapters through the second interface and forwards the second packet through the first interface to a transport protocol stack.
Claim 2
Independent Claim 146 words
An apparatus for transferring data between at least one transport protocol stack and a plurality of network adaptors coupled to a computer network that supports recovery from network adapter and connection failure, comprising: a first interface bound to the at least one transport protocol stack; a second interface bound to the plurality of network adapters; and 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 packet through the second interface to a network adapter in the plurality of network adapters; and a mechanism coupled to the first interface and the second interface that receives a second packet from a network adapter in the plurality of network adapters through the second interface and forwards the second packet through the first interface to a transport protocol stack.
Claim 3
Dependent Claim 39 words
The apparatus of claim 1 , including a mechanism coupled to the second interface that detects a failed network adapter in the plurality of network adapters and reroutes packets to another network adapter in the plurality of network adapters.
Claim 4
Dependent Claim 42 words
The apparatus of claim 1 , including a mechanism coupled to the second network interface that detects a failed primary network adapter in the plurality of network adapters and reroutes packets to a secondary network adapter in the plurality of network adapters.
Claim 5
Dependent Claim 53 words
The apparatus of claim 1 , wherein the mechanism that receives the first MAC-level packet from a transport protocol stack through the first interface, and forwards the first packet through the second interface to the network adapter performs load sharing by selectively routing packets to network adapters in the plurality of network adapters.
Claim 6
Dependent Claim 54 words
The apparatus of claim 1 , wherein the apparatus can function as an NDIS intermediate driver, wherein: the first interface presents a virtual adapter for binding to at least one protocol stack; and the second interface presents a virtual transport protocol stack for binding to a network adapter in the plurality of network adapters.
Claim 7
Dependent Claim 26 words
The apparatus of claim 1 , wherein all adapters in the plurality of adapters bound to the second interface are configured to the same physical address.
Claim 8
Dependent Claim 17 words
The apparatus of claim 1 , wherein the apparatus is implemented at the MAC layer and below.
Claim 9
Dependent Claim 25 words
The apparatus of claim 1 , wherein the apparatus can function as a prescan protocol stack for examining packets flowing between protocol stacks and drivers.
Claim 10
Dependent Claim 26 words
The apparatus of claim 1 , including a mechanism that detects a failed network adapter in the plurality of network adapters in an operating system-independent manner.
Claim 11
Dependent Claim 31 words
The apparatus of claim 1 , including a mechanism that detects a failed network adapter in the plurality of network adapters in a manner that is independent of network adapter hardware.
Claim 12
Independent Claim 93 words
A method for supporting recovery from network adapter and connection failure, the method operating in a system including at least one transport protocol stack, and a plurality of network adapters coupled to a network, the method comprising: receiving a first MAC-level packet from a transport protocol stack in the at least one transport protocol stack; forwarding the first MAC-level packet to a network adapter in the plurality of network adapters; receiving a second packet from a network adapter in the plurality of network adapters; and forwarding the packet to a transport protocol stack.
Claim 13
Independent Claim 93 words
A method for supporting recovery from network adapter and connection failure, the method operating in a system including at least one transport protocol stack, and a plurality of network adapters coupled to a network, the method comprising: receiving a first MAC-level packet from a transport protocol stack in the at least one transport protocol stack; forwarding the first MAC-level packet to a network adapter in the plurality of network adapters; receiving a second packet from a network adapter in the plurality of network adapters; and forwarding the packet to a transport protocol stack.
Claim 14
Dependent Claim 43 words
The method of claim 11 , including: attempting to detect a failed primary network adapter in the plurality of network adapters; and if a failed primary network adapter is detected, rerouting packets to a secondary network adapter in the plurality of network adapters.
Claim 15
Dependent Claim 41 words
The method of claim 11 , including: attempting to detect a failed network adapter in the plurality of network adapters; and if a failed primary network adapter is detected, rerouting packets to another network adapter in the plurality of network adapters.
Claim 16
Dependent Claim 41 words
The method of claim 11 , wherein the forwarding of the first MAC-level packet to a network adapter in the plurality of network adapters, includes: performing load sharing by selectively routing packets to network adapters in the plurality of network adapters.
Claim 17
Dependent Claim 23 words
The method of claim 11 , including: detecting a failed network adapter in the plurality of network adapters in an operating system-independent manner.
Claim 18
Dependent Claim 28 words
The method of claim 11 , including: detecting a failed network adapter in the plurality of network adapters in a manner that is independent of network adapter hardware.
Claim 19
Independent Claim 102 words
A method for detecting failure of network adapters in a plurality of network adapters, the plurality of network adapters coupled to a server and including a primary adapter coupled to a plurality of secondary adapters, the primary and secondary adapters being coupled to a network, the method comprising: sending a packet from the server through the primary adapter across the network to a secondary adapter in the plurality of secondary adapters; attempting to receive the packet at the server from the secondary adapter; and if the packet is received by the secondary adapter, determining that the secondary adapter is receiving packets properly.
Claim 20
Independent Claim 102 words
A method for detecting failure of network adapters in a plurality of network adapters, the plurality of network adapters coupled to a server and including a primary adapter coupled to a plurality of secondary adapters, the primary and secondary adapters being coupled to a network, the method comprising: sending a packet from the server through the primary adapter across the network to a secondary adapter in the plurality of secondary adapters; attempting to receive the packet at the server from the secondary adapter; and if the packet is received by the secondary adapter, determining that the secondary adapter is receiving packets properly.
Claim 21
Dependent Claim 61 words
The method of claim 17 , including: sending a packet from the server through a secondary adapter in the plurality of secondary adapters to the primary adapter; attempting to receive the packet at the server from the primary adapter; and if the packet is received by the server from the primary adapter, determining that the primary adapter is receiving packets properly.
Claim 22
Dependent Claim 62 words
The method of claim 17 , including: if packets sent by the primary adapter are not received by the at least one secondary adapter, and if packets sent by the secondary adapter are not received by the primary adapter, concluding that the primary adapter has failed; and converting a secondary adapter in the plurality of secondary adapters into a replacement primary adapter.
Claim 23
Dependent Claim 42 words
The method of claim 17 , including: receiving a packet from an adapter in the plurality of adapters from a remote host coupled to the network; and determining on the basis of the received packet that the adapter is receiving packets properly.
Claim 24
Dependent Claim 18 words
The method of claim 17 , including the step of swapping a failed adapter with a replacement adapter.
Claim 25
Dependent Claim 18 words
The method of claim 17 , including the step of hot-swapping a failed adapter with a replacement adapter.
Claim 26
Independent Claim 171 words
A method for detecting failure of network adapters in a plurality of network adapters, the plurality of network adapters being coupled to a server and including a primary adapter and a plurality of secondary adapters, the primary and plurality of secondary adapters being coupled to a network, the method comprising: sending a packet from the server through the primary adapter across the network to at least one secondary adapter in the plurality of secondary adapters; attempting to receive the packet from the at least one secondary adapter; sending a packet from the server through a secondary adapter in the plurality of secondary adapters to the primary adapter; attempting to receive the packet from the primary adapter; if packets sent by the primary adapter are not received by the at least one secondary adapter, and if packets sent by the secondary adapter are not received by the primary adapter, concluding that the primary adapter has failed; and converting a secondary adapter in the plurality of secondary adapters into a replacement primary adapter.
Claim 27
Independent Claim 171 words
A method for detecting failure of network adapters in a plurality of network adapters, the plurality of network adapters being coupled to a server and including a primary adapter and a plurality of secondary adapters, the primary and plurality of secondary adapters being coupled to a network, the method comprising: sending a packet from the server through the primary adapter across the network to at least one secondary adapter in the plurality of secondary adapters; attempting to receive the packet from the at least one secondary adapter; sending a packet from the server through a secondary adapter in the plurality of secondary adapters to the primary adapter; attempting to receive the packet from the primary adapter; if packets sent by the primary adapter are not received by the at least one secondary adapter, and if packets sent by the secondary adapter are not received by the primary adapter, concluding that the primary adapter has failed; and converting a secondary adapter in the plurality of secondary adapters into a replacement primary adapter.
Claim 28
Independent Claim 56 words
A method for load sharing traffic across a plurality of network interface controllers, comprising: 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 sending the MAC-level packet to the network interface controller.
Claim 29
Independent Claim 56 words
A method for load sharing traffic across a plurality of network interface controllers, comprising: 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 sending the MAC-level packet to the network interface controller.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-11-05 2005-05-07 2005-11-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-11-05 2009-05-07 2009-11-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-11-05 2013-05-07 2013-11-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag