Upgrading network traffic management devices while maintaining availability
First Claim
1. A method operated in conjunction with one or more processors to update network devices, comprising:
- executing one or more control modules operating on one or more processors that are configured to perform actions, including;
selecting a first member within a plurality of members in a first cluster;
bifurcating the first cluster, wherein the bifurcation comprises;
creating a second cluster, wherein the second cluster includes the selected first member;
activating the first member within the second cluster, wherein the first member is activated with a defined configuration upgrade; and
iteratively upgrading each other member in the first cluster by;
draining at least one existing connection managed by a member to be joined in the second cluster, wherein draining at least one existing connection further comprises at least one of changing an HTTP connection header value in a request or response to indicate reducing or otherwise modifying a keep-alive time period of an associated connection, or performing any other protocol-specific action to shutdown at least one existing network connection by reducing a keep-alive time period;
removing at least one other member from the first cluster;
upgrading the at least one other member with the defined upgrade;
joining the at least one other member as a member to the second cluster; and
determining when a defined failover criteria is satisfied, and when the defined failover criteria is satisfied, failing over connectivity from the first cluster to the second cluster such that the second cluster becomes an active cluster for managing connections and continuing to iteratively upgrade remaining members in the first cluster to join the second cluster.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, machine-readable storage medium, and apparatus are directed towards upgrading a cluster by bifurcating the cluster into two virtual clusters, an “old” virtual cluster (old active cluster) and a “new” virtual cluster (new standby cluster), and iteratively upgrading members of the old cluster while moving them into the new cluster. While members are added to the new cluster, existing connections and new connections are seamlessly processed by the old cluster. Optionally, state mirroring occurs between the old cluster and the new cluster once the number of members of the old and new clusters are approximately equal. Once a threshold number of members have been transferred to the new cluster, control and processing may be taken over by the new cluster. Transfer of control from the old cluster to the new cluster may be performed by failing over connectivity from the old cluster to the new cluster.
78 Citations
21 Claims
-
1. A method operated in conjunction with one or more processors to update network devices, comprising:
-
executing one or more control modules operating on one or more processors that are configured to perform actions, including; selecting a first member within a plurality of members in a first cluster; bifurcating the first cluster, wherein the bifurcation comprises; creating a second cluster, wherein the second cluster includes the selected first member; activating the first member within the second cluster, wherein the first member is activated with a defined configuration upgrade; and iteratively upgrading each other member in the first cluster by; draining at least one existing connection managed by a member to be joined in the second cluster, wherein draining at least one existing connection further comprises at least one of changing an HTTP connection header value in a request or response to indicate reducing or otherwise modifying a keep-alive time period of an associated connection, or performing any other protocol-specific action to shutdown at least one existing network connection by reducing a keep-alive time period; removing at least one other member from the first cluster; upgrading the at least one other member with the defined upgrade; joining the at least one other member as a member to the second cluster; and determining when a defined failover criteria is satisfied, and when the defined failover criteria is satisfied, failing over connectivity from the first cluster to the second cluster such that the second cluster becomes an active cluster for managing connections and continuing to iteratively upgrade remaining members in the first cluster to join the second cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for updating network devices, comprising:
-
a first cluster having a plurality of members, wherein the first cluster is an active cluster managing network connections; and one or more control modules operating on one or more processors that are configured to perform actions, including; selecting a first member from the first cluster to upgrade with a defined change in configuration; creating a second cluster with the selected first member as a first member of the created second cluster; upgrading the first member of the second cluster; iteratively joining members from the first cluster to the second cluster until a defined criteria is satisfied by; draining at least one existing connection managed by a member to be joined in the second cluster, wherein draining at least one existing connection further comprises at least one of changing an HTTP connection header value in a request or response to indicate reducing or otherwise modifying a keep-alive time period of an associated connection, or performing any other protocol-specific action to shutdown at least one existing network connection by reducing a keep-alive time period; removing from the first cluster each member to be joined; upgrading a configuration of the member to be joined; and joining the upgraded member to the second cluster; and when the defined criteria is satisfied; failing over connectivity from the first cluster to the second cluster, when another defined criteria is satisfied such that the second cluster becomes the active cluster for managing network connections and continuing to iteratively join remaining members in the first cluster to the second cluster. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine-readable storage medium having machine-executable instructions stored thereon, which when executed by at least one processor, causes the at least one processor to perform one or more actions to update network devices, comprising:
-
bifurcating an active first cluster of members by; draining connections from a first member in the active first cluster by redirecting new connections to other members in the active first cluster and allowing exiting connections to end, wherein draining the existing connections further comprises at least one of changing an HTTP connection header value in a request or response to indicate reducing or otherwise modifying a keep-alive time period of an associated connection, or performing any other protocol-specific action to shutdown at least one existing network connection by reducing a keep-alive time period; upgrading a defined configuration of the first member; and creating a new second cluster with the first member; and for a defined number of other members in the active first cluster; draining connections from each of the defined other members; upgrading a defined configuration of the defined other members; and joining each defined other member as a member of the second cluster; and when a defined failover condition is satisfied, failing over connectivity from the active first cluster to the second cluster, such that the second cluster becomes the active cluster. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. An apparatus for updating network devices, the apparatus comprising:
-
at least one transceiver that receives and sends network traffic to one or more clients and servers; and at least one processor that is configured to perform one or more actions related to the network traffic, including; bifurcating an active first cluster of member network devices by; draining connections from a first member in the active first cluster by redirecting new connections to other members in the active first cluster and allowing exiting connections to end, wherein draining the existing connections further comprises at least one of changing an HTTP connection header value in a request or response to indicate reducing or otherwise modifying a keep-alive time period of an associated connection, or performing any other protocol-specific action to shutdown at least one existing network connection by reducing a keep-alive time period; upgrading a defined configuration of the first member; and creating a new second cluster with the first member; and for a defined number of other members in the active first cluster; draining connections from each of the defined other members; upgrading a defined configuration of the defined other members; and joining each defined other member as a member of the second cluster; and
;when a defined failover condition is satisfied, failing over connectivity from the active first cluster to the second cluster, such that the second cluster becomes the active cluster.
-
Specification