IP Library Granted Patent US 11,706,298
Granted Patent B2
US 11,706,298 · App. 17/154,862 · Granted Jul 18, 2023

Multichannel virtual internet protocol address affinity

Inventors: Krishna Ram Kuttuva Jeyaram (Milpitas, CA); Vijay Panghal (Milpitas, CA); Ganesha Shanmuganathan (San Jose, CA)
Assignee: Cohesity, Inc.
H04L67/1097H04L45/245H04L61/4535H04L61/5061
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,706,298
App. No.
17/154,862
Granted
Jul 18, 2023
Kind
B2
Abstract

A plurality of virtual internet protocol addresses for a first single network interface card of a node of a storage cluster are provided to a client. A separate connection is established between the client and the node for each of the plurality of virtual internet protocol addresses. The separate connections are utilized together in parallel to transfer data between the client and the node.

Claims (37)

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.

2. The method of claim 1 , wherein the primary virtual network address is advertised to the client.

3. The method of claim 1 , wherein the first node and second node are two of the plurality of nodes.

4. The method of claim 3 , wherein each of the plurality of nodes is associated with a corresponding single network interface card.

5. The method of claim 4 , wherein each of the corresponding single network interface cards is associated with a corresponding set of virtual internet protocol addresses.

6. The method of claim 1 , further comprising managing the first group of virtual internet protocol addresses as a single group that is maintained together as assigned to a same second single network interface card during a failover to another node of the storage cluster.

7. The method of claim 1 , wherein the second node of the storage cluster includes a link aggregated interface.

8. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:

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 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.

9. The computer program product of claim 8 , wherein the primary virtual network address is advertised to the client.

10. The computer program product of claim 8 , wherein each of the plurality of nodes is associated with a corresponding single network interface card.

11. A system, comprising:

a processor configured to:

provide 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;

establish 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;

perform 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 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;

determine that the first node is unsuitable for communications with the client;

migrate the first group of virtual internet protocol addresses to the second node of the storage cluster;

resume 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;

determine that the first node is suitable for communications with the client; and

migrate 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; and

a memory coupled to the processor and configured to provide the processor with instructions.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2021
From: KUTTUVA JEYARAM, KRISHNA RAM; PANGHAL, VIJAY; SHANMUGANATHAN, GANESHA
To: COHESITY, INC.
Reel/Frame 056313/0897 →
Continuity (1)
Related Publication 20220232073A1 · Jul 21, 2022