Method and apparatus for efficient TCP connection handoff
First Claim
1. A method comprising:
- receiving a first network connection to a client at a first node of a storage cluster;
first migrating the first connection to a second node of the storage cluster;
receiving a second network connection to the client at a third node of the storage cluster;
second migrating the second connection to the second node of the storage cluster while the first connection is also migrated to the second node;
ensuring jointly at the first, second, and third nodes;
that timestamps associated with the connection continue to monotonically increase after the migrations;
that packets associated with the connection are not dropped within the storage cluster after the second migration;
that packets associated with the network connection do not conflict with other packets associated with a different network connection after the first migration, and after a concurrent third migration of the different network connection to the second node,wherein the client uses a virtual IP address for connection with the storage cluster, and wherein the migration occurs transparently to the client.
14 Assignments
0 Petitions
Accused Products
Abstract
A method for efficient communications with a cluster-based architecture preserves various aspects of integrity throughout one or more connections with a client, even in the midst of connection migration between nodes in the cluster. According to one aspect, the invention provides a mechanism for preventing the loss of packets arising from a TCP connection migration within the cluster. According to another aspect, the invention provides a mechanism for uniquely identifying conflicting TCP connections migrated to a common node. According to a still further aspect, the invention provides a distributed TCP timestamp mechanism so that the sender and receiver will have a consistent view of the timestamp even when each node has different local clock values and regardless of how many times the socket has been migrated.
17 Citations
6 Claims
-
1. A method comprising:
-
receiving a first network connection to a client at a first node of a storage cluster; first migrating the first connection to a second node of the storage cluster; receiving a second network connection to the client at a third node of the storage cluster; second migrating the second connection to the second node of the storage cluster while the first connection is also migrated to the second node; ensuring jointly at the first, second, and third nodes; that timestamps associated with the connection continue to monotonically increase after the migrations; that packets associated with the connection are not dropped within the storage cluster after the second migration; that packets associated with the network connection do not conflict with other packets associated with a different network connection after the first migration, and after a concurrent third migration of the different network connection to the second node, wherein the client uses a virtual IP address for connection with the storage cluster, and wherein the migration occurs transparently to the client. - View Dependent Claims (2, 3, 4)
-
-
5. A storage apparatus comprising:
-
a first node that receives a network connection to a client; second and third different nodes capable of handling the network connection; a handoff mechanism that causes the network connection to the client to be first migrated from the first node to the second node, and if necessary, second migrated from the second node to the third node; and an application running in the first, second and third nodes that jointly ensures; that timestamps associated with the connection continue to monotonically increase after the migrations, that packets associated with the connection are not dropped within the storage cluster after the second migration, and that packets associated with the network connection do not conflict with other packets associated with a different network connection after the first migration, and after a concurrent third migration of the different network connection to the second node, wherein the client uses a virtual IP address for the network connection with the nodes, and wherein the first and second migrations occur transparently to the client. - View Dependent Claims (6)
-
Specification