Network controller system that uses multicast heartbeat packets
First Claim
1. A network controller system for a computer, comprising:
- a plurality of network ports, each capable of being programmed with at least one address;
a driver system that operates the plurality of network ports as a team and that programs each of the plurality of network ports with a common multicast address;
each of the plurality of network ports capable of receiving and transferring packets having the multicast address as the destination address to the driver system; and
the driver system commanding at least one of the network ports to transmit a heartbeat packet having the multicast address as the destination address.
4 Assignments
0 Petitions
Accused Products
Abstract
A network controller system including multiple network ports and a driver system that programs each of the network ports with a common multicast address and that operates the network ports as a team. The team is operated to form a virtual device in one of several team modes, such as fault tolerance or load balancing, to enhance performance of communication of the computer in a network. The driver system commands at least one of the network ports to transmit a multicast heartbeat packet, where each of the other network ports receives and transfers the multicast heartbeat packet to the driver system. In this manner, the driver system need only send one multicast heartbeat packet to test all of the other network ports. Two network ports are selected to each send a heartbeat packet to test each other heartbeat port and the remaining ports. Multicast heartbeat packets are substantially more efficient than broadcast heartbeat packets, since the number of packets transmitted on a network is substantially reduced and the amount of unnecessary processing per heartbeat packet is reduced or even eliminated.
-
Citations
20 Claims
-
1. A network controller system for a computer, comprising:
-
a plurality of network ports, each capable of being programmed with at least one address;
a driver system that operates the plurality of network ports as a team and that programs each of the plurality of network ports with a common multicast address;
each of the plurality of network ports capable of receiving and transferring packets having the multicast address as the destination address to the driver system; and
the driver system commanding at least one of the network ports to transmit a heartbeat packet having the multicast address as the destination address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
the driver system commanding a first network port to transmit a first heartbeat packet and a second network port to transmit a second heartbeat packet, the first and second heartbeat packets each having the multicast address as the destination address.
-
-
3. The network controller system of claim 2, wherein the first and second heartbeat packets have different source addresses.
-
4. The network controller system of claim 2, further comprising:
the driver system commanding the first and second network ports to transmit the first and second heartbeat packets on a periodic basis.
-
5. The network controller system of claim 2, further comprising:
for each of the plurality of network ports, the driver system periodically determining and updating the status of a respective network port based at least on whether at least one packet has been received and transferred to the driver system.
-
6. The network controller system of claim 5, further comprising:
the driver system commanding the first and second network ports to transmit the first and second heartbeat packets only if any one of the plurality of network ports has not received a packet within a predetermined period of time.
-
7. The network controller system of claim 5, further comprising:
-
the status of each of the plurality of network ports including a plurality of states; and
the driver system updating the status of each of the plurality of network ports after each of a predetermined timing interval by changing the state.
-
-
8. The network controller system of claim 2, further comprising:
-
the plurality of network ports including at least three network ports including a primary port and first and second secondary ports; and
the driver system selecting the first secondary port to transmit the first heartbeat packet and the second secondary port to transmit the second heartbeat packet.
-
-
9. A packet-switched network, comprising:
-
a network device that maintains communication in the network by transferring packets; and
a computer system, comprising;
a processor;
a main memory;
a bus system coupled to the processor and the main memory;
a plurality of network ports, each coupled to the bus system, each capable of being programmed with at least one address, and each coupled to the network device via a corresponding one of a plurality of network links;
a driver system, executed by the processor from the main memory, the driver system programming each of the plurality of network ports with a common multicast address and operating the plurality of network ports as a team;
each of the plurality of network ports capable of receiving and transferring packets having the multicast address as the destination address to the driver system; and
the driver system commanding at least one of the network ports to transmit a heartbeat packet having the multicast address as the destination address. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
the driver system commanding a first network port to transmit a first heartbeat packet and a second network port to transmit a second heartbeat packet, the first and second heartbeat packets each having the multicast address as the destination address.
-
-
13. The network of claim 12, further comprising:
for each of the plurality of network ports, the driver system periodically determining and updating the status of a respective network port based at least on whether at least one packet has been received and transferred to the driver system.
-
14. The network controller system of claim 13, further comprising:
the driver system commanding the first and second network ports to transmit the first and second heartbeat packets only if any one of the plurality of network ports has not received a packet within a predetermined period of time.
-
15. The network controller system of claim 13, further comprising:
-
the status of each of the plurality of network ports including a plurality of states; and
the driver system updating the status of each of the plurality of network ports after each of a predetermined timing interval by changing the state.
-
-
16. The network controller system of claim 12, further comprising:
-
the plurality of network ports including at least three network ports including a primary port and first and second secondary ports; and
the driver system selecting the first secondary port to transmit the first heartbeat packet and the second secondary port to transmit the second heartbeat packet.
-
-
17. A method of testing a plurality of network ports of a computer system and operated as a team, comprising:
-
programming each of the plurality of network ports to receive packets with a multicast address;
commanding at least one of the plurality of network ports to transmit a heartbeat packet with the multicast address as a destination address; and
determining the status of each of the plurality of network ports based on reception of packets including the heartbeat packet. - View Dependent Claims (18, 19, 20)
commanding a first network port to transmit a first multicast heartbeat packet; and
commanding a second network port to transmit a second multicast heartbeat packet.
-
-
19. The method of claim 18, the commanding further comprising:
commanding the first and second network ports to send the first and second heartbeat packets on a periodic basis.
-
20. The method of claim 18, the commanding further comprising:
commanding the first and second network ports to send the first and second heartbeat packets at least one of the plurality of network ports has not received a packet after a predetermined time period.
Specification