US 11,706,298 B2
Multichannel virtual internet protocol address affinity
Krishna Ram Kuttuva Jeyaram, Milpitas, CA (US); Vijay Panghal, Milpitas, CA (US); and Ganesha Shanmuganathan, San Jose, CA (US)
Assigned to Cohesity, Inc., San Jose, CA (US)
Filed by Cohesity, Inc., San Jose, CA (US)
Filed on Jan. 21, 2021, as Appl. No. 17/154,862.
Prior Publication US 2022/0232073 A1, Jul. 21, 2022
Int. Cl. H04L 67/1097 (2022.01); H04L 61/5061 (2022.01); H04L 45/24 (2022.01); H04L 61/4535 (2022.01)
CPC H04L 67/1097 (2013.01) [H04L 45/245 (2013.01); H04L 61/4535 (2022.05); H04L 61/5061 (2022.05)] 11 Claims
OG exemplary drawing
 
1. A method, comprising:
providing to a client a first group of virtual internet protocol addresses assigned to a first single network interface card of a first node of a storage cluster that includes a plurality of nodes, wherein the first group of virtual internet protocol addresses have an affinity towards the first node, and wherein the first group of virtual internet protocol addresses includes a primary virtual network address associated with the first node and one or more secondary virtual network addresses associated with the first node that the first single network interface card of the first node of the storage cluster is capable of utilizing in parallel to communicate data to and from the client after a communication session is established, wherein the client is capable of communicating with the first node using the one or more secondary virtual network addresses after communications are established using the primary virtual network address, wherein a second node of the plurality of nodes includes a second single network interface card and is associated with a second group of virtual internet protocol addresses;
establishing between the client and the first node of the storage cluster the communication session that enables the client and the first single network interface card of the first node of the storage cluster to communicate data, in parallel, via the primary virtual network address associated with the first node and the one or more secondary virtual network addresses associated with the first node;
performing a data management service by transferring in parallel, via the primary virtual network address associated with the first single network interface card of the first node and the one or more secondary virtual network addresses associated with the first single network interface card of the first node, data associated with the data management service from the client to the first node of the storage cluster and from the first node of the storage cluster to the client, wherein the first group of virtual internet protocol addresses are associated with one network interface card at a time during a performance of the data management service, wherein a number of transmission control protocol (TCP) connections associated with the first node is adaptively scaled up based at least in part on a detected latency between the first node and the client while the data management service is being performed, wherein each of the TCP connections is associated with a separate virtual internet protocol address;
determining that the first node is unsuitable for communications with the client;
migrating the first group of virtual internet protocol addresses to the second node of the storage cluster;
resuming the data management service by establishing corresponding separate connections between the client and the second node for each of the virtual internet protocol addresses included in the first group;
determining that the first node is suitable for communications with the client; and
migrating the first group of virtual internet protocol addresses from the second node of the storage cluster back to the first node of the storage cluster.