Failover and Load Balancing
First Claim
1. A method in a computer system for failover when at least one of a first network adapter and a data path through the first network adapter fails, wherein the computer system includes a filter driver, and wherein the first network adapter is connected to a second network adapter, comprising:
- receiving, with the filter driver, a path fail notification that at least one of the first network adapter and the data path through the first network adapter has failed; and
rerouting, with the filter driver, packets directed to the first network adapter to the second network adapter.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are techniques for failover when at least one of a first network adapter and a data path through the first network adapter fails, wherein the first network adapter is connected to a filter driver, and wherein the first network adapter is connected to a second network adapter. With the filter driver, a path fail notification is received that at least one of the first network adapter and the data path through the first network adapter has failed. With the filter driver, packets directed to the first network adapter are rerouted to the second network adapter.
Also provided are techniques for failover when a network adapter fails, wherein the network adapter is connected to a miniport driver that is connected to a filter driver. With the miniport driver, it is determined that at least one of the network adapter and a data path through the network adapter has failed. With the miniport driver, the filter driver is notified that at least one of the network adapter and the data path through the network adapter has failed.
Moreover, provided are techniques for static load balancing implemented in a filter driver. The filter driver determines a data quota for each of multiple data paths. The filter driver identifies a maximum number of commands for a target logical unit. The filter driver selects a data path on which to send a packet based on the data quota and the maximum number of commands.
Furthermore, provided are techniques for dynamic load balancing implemented in a filter driver. The filter driver determines a data transfer speed for each of multiple data paths. The filter driver updates a load balancing share for each of the multiple data paths based on the data transfer speed of each of the multiple data paths. The filter driver selects a data path on which to send a packet based on the load balancing share of each of the multiple data paths.
-
Citations
48 Claims
-
1. A method in a computer system for failover when at least one of a first network adapter and a data path through the first network adapter fails, wherein the computer system includes a filter driver, and wherein the first network adapter is connected to a second network adapter, comprising:
-
receiving, with the filter driver, a path fail notification that at least one of the first network adapter and the data path through the first network adapter has failed; and rerouting, with the filter driver, packets directed to the first network adapter to the second network adapter. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for failover when at least one of a network adapter and a data path through the network adapter fails, wherein the network adapter is connected to a miniport driver that is connected to a filter driver, comprising:
-
determining, with the miniport driver, that the network adapter has failed; and notifying, with the miniport driver, the filter driver that the network adapter has failed. - View Dependent Claims (8, 9, 10)
-
-
11. A method for static load balancing implemented in a filter driver, wherein the filter driver performs:
-
determining a data quota for each of multiple data paths; identifying a maximum number of commands for a target logical unit; and selecting a data path on which to send a packet based on the data quota and the maximum number of commands. - View Dependent Claims (12, 13)
-
-
14. A method for dynamic load balancing implemented in a filter driver, wherein the filter driver performs:
-
determining a data transfer speed for each of multiple data paths; updating a load balancing share for each of the multiple data paths based on the data transfer speed of each of the multiple data paths; and selecting a data path on which to send a packet based on the load balancing share of each of the multiple data paths. - View Dependent Claims (15, 16)
-
-
17. A system coupled to a network and data storage, comprising:
-
a host computer; a storage controller managing Input/Output (I/O) access to the data storage, wherein the storage controller is coupled to the host computer; a first network adapter; a second network adapter; and a filter driver at the host computer, wherein the filter driver is capable of receiving a path fail notification that at least one of the first network adapter and a data path through the first network adapter has failed and rerouting packets directed to the first network adapter to the second network adapter. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A system coupled to a network and data storage, comprising:
-
a host computer; a storage controller managing Input/Output (I/O) access to the data storage, wherein the storage controller is coupled to the host computer; a filter driver at the host computer; at least two network adapters at the host computer; and a miniport driver at the host computer, wherein the miniport driver is capable of determining that at least one of the network adapters has failed and notifying the filter driver that the network adapter has failed. - View Dependent Claims (24, 25, 26)
-
-
27. A system coupled to a network and data storage, comprising:
-
a host computer; a storage controller managing Input/Output (I/O) access to the data storage, wherein the storage controller is coupled to the host computer; and a filter driver capable of determining a data quota for each of multiple data paths, identifying a maximum number of commands for a target logical unit, and selecting a data path on which to send a packet based on the data quota and the maximum number of commands. - View Dependent Claims (28, 29)
-
-
30. A system coupled to a network and data storage, comprising:
-
a host computer; a storage controller managing Input/Output (I/O) access to the data storage, wherein the storage controller is coupled to the host computer; and a filter driver capable of determining a data transfer speed for each of multiple data paths, updating a load balancing share for each of the multiple data paths based on the data transfer speed of each of the multiple data paths, and selecting a data path on which to send a packet based on the load balancing share of each of the multiple data paths. - View Dependent Claims (31, 32)
-
-
33. An article of manufacture comprising a storage medium having stored therein instructions that when executed by a computing device results in the following:
-
receiving a path fail notification that at least one of a first network adapter and a data path through the first network adapter has failed; and rerouting packets directed to the first network adapter to the second network adapter. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. An article of manufacture comprising a storage medium having stored therein instructions that when executed by a computing device results in the following:
-
determining that the network adapter has failed; and notifying the filter driver that the network adapter has failed. - View Dependent Claims (40, 41, 42)
-
-
43. An article of manufacture comprising a storage medium having stored therein instructions that when executed by a computing device results in the following:
-
determining a data quota for each of multiple data paths; identifying a maximum number of commands for a target logical unit; and selecting a data path on which to send a packet based on the data quota and the maximum number of commands. - View Dependent Claims (44, 45)
-
-
46. An article of manufacture comprising a storage medium having stored therein instructions that when executed by a computing device results in the following:
-
determining a data transfer speed for each of multiple data paths; updating a load balancing share for each of the multiple data paths based on the data transfer speed of each of the multiple data paths; and selecting a data path on which to send a packet based on the load balancing share of each of the multiple data paths. - View Dependent Claims (47, 48)
-
Specification