System for detecting errors in a network
First Claim
Patent Images
1. A computer system comprising:
- a protocol stack;
a plurality of network interface cards (NICs) and a second in communication with the protocol stack; and
a program module in communication with said protocol stack, wherein said program module includes instructions for routing data packets from said protocol stack, wherein said routing comprises, designating one of the plurality of NICs as a primary NIC and designating the remainder of the NICs as secondary NICs;
sending a probe packet to each of the NICs;
attempting to receive a return packet in response to the probe packet from each of the NICs;
if a return packet is not received from an NIC in the group, designating the NIC a failed NIC;
redirecting packets that were originally addressed to the failed NIC to at least one other NIC through the protocol stack;
if the failed NIC is the primary NIC, designating another NIC as a new primary NIC;
sending a probe packet to the failed NIC;
attempting to receive a return packet from the failed NIC; and
if the failed NIC is the primary NIC and a return packet is received from the failed primary NIC, designating the failed NIC as a secondary NIC.
7 Assignments
0 Petitions
Accused Products
Abstract
A system is described for providing fault tolerance within a computer system. The system provides a method for allowing multiple network interface cards to reside within the same computer system. If the primary network interface card fails, a secondary network interface card automatically begins managing the network communications. In addition, a system that provides load-sharing of data transmissions between each network interface card installed in a server computer is described.
-
Citations
10 Claims
-
1. A computer system comprising:
-
a protocol stack;
a plurality of network interface cards (NICs) and a second in communication with the protocol stack; and
a program module in communication with said protocol stack, wherein said program module includes instructions for routing data packets from said protocol stack, wherein said routing comprises, designating one of the plurality of NICs as a primary NIC and designating the remainder of the NICs as secondary NICs;
sending a probe packet to each of the NICs;
attempting to receive a return packet in response to the probe packet from each of the NICs;
if a return packet is not received from an NIC in the group, designating the NIC a failed NIC;
redirecting packets that were originally addressed to the failed NIC to at least one other NIC through the protocol stack;
if the failed NIC is the primary NIC, designating another NIC as a new primary NIC;
sending a probe packet to the failed NIC;
attempting to receive a return packet from the failed NIC; and
if the failed NIC is the primary NIC and a return packet is received from the failed primary NIC, designating the failed NIC as a secondary NIC. - View Dependent Claims (2, 3)
binding the plurality of NICs into a group, wherein a group is coupled to a network segment;
designating one of the plurality of NICs in the group as a primary NIC and designating the remainder of the NICs in the group as secondary NICs, wherein the primary NIC is an only NIC visible to an operating system coupled to the network segment;
attempting to receive a return packet in response to the probe packet from each of the NICs in the group;
if a return packet is not received from an NIC in the group, designating the NIC a failed NIC;
redirecting packets from the failed NIC to at least one other NIC in the group;
if the failed NIC is the primary NIC, designating another NIC in the group as a new primary NIC;
sending a probe packet to the failed NIC;
attempting to receive a return packet from the failed NIC;
if a return packet is received from the failed NIC;
binding the failed NIC into the group; and
if the failed NIC is the primary NIC and a return packet is received from the failed primary NIC, binding the failed NIC into the group as a secondary NIC.
-
-
4. A programmed storage device for load balancing network traffic between a plurality of network interface cards, comprising instructions that when executed perform the method of:
-
determining an address of a primary network interface card (NIC) and an address of a secondary NIC in a computer system;
binding said primary NIC and said secondary NIC into a group; and
routing a portion of a plurality of data packets sent to the address of said primary NIC to address of said secondary NIC, wherein routing comprises, sending a probe packet to each of the NICs in the group;
attempting to receive a return packet in response to the probe packet from each of the NICs in group;
if a return packet is not received from an NIC in the group, designating the NIC a failed NIC;
redirecting packets from the failed NIC to at least one other NIC in the group;
if the failed NIC is the primary NIC designating another NIC in the group as a new primary NIC;
sending a probe packet to the failed NIC;
attempting to receive a return packet from the failed NIC;
if a return packet is received from the failed NIC;
binding the failed NIC into the group; and
if the failed NIC is the primary NIC and a return packet is received from the failed primary NIC, binding the failed NIC into the group as a secondary NIC. - View Dependent Claims (5, 6)
-
-
7. A method of rerouting network packets in a network, comprising:
-
binding a plurality of network interface cards (NICs) into a group, wherein a group is coupled to a network segment, and wherein each of the plurality of network interface cards is in communication with a protocol stack;
designating one of the plurality of NICs in the group as a primary NIC and designating the remainder of the NICs in the group as secondary NICs, wherein the primary NIC is an only NIC visible to an operating system coupled to the network segment;
sending a probe packet to each of the NICs in the group;
attempting to receive a return packet in response to the probe packet from each of the NICs in the group;
if a return packet is not received from an NIC in the group, designating the NIC a failed NIC;
redirecting packets from that were originally directed to the failed NIC to at least one other NIC in the group through the protocol stack;
if the failed NIC is the primary NIC, designating another NIC in the group as a new primary NIC;
sending a probe packet to the failed NIC;
attempting to receive a return packet from the failed NIC;
if a return packet is received from the failed NIC;
binding the failed NIC into the group; and
if the failed NIC is the primary NIC and a return packet is received from the failed primary NIC, binding the failed NIC into the group as a secondary NIC. - View Dependent Claims (8, 9, 10)
receiving a packet from the network that is addresses to at least one of the NICs in the group;
determining whether the packet is a probe packet;
if the packet is a probe packet;
if the packet is a probe packet, updating a state of the at least one NIC to indicate that the probe packet was correctly sent; and
dismissing the probe packet.
-
-
10. The method of claim 9, further comprising:
-
if the packet is not a probe packet, determining whether the packet is from a primary NIC;
if the packet is from a primary NIC, passing the packet to a protocol stack;
if the packet is not from a primary NIC, determining whether the packet is a broadcast packet;
if the packet is a broadcast packet, discarding the packet; and
if the packet is not a broadcast packet, passing the packet to the protocol stack.
-
Specification