IP Library Granted Patent US 11,917,001
Granted Patent B2
US 11,917,001 · App. 17/135,084 · Granted Feb 27, 2024

Efficient virtual IP address management for service clusters

Inventors: Harshit Agarwal (Newark, CA); Tabrez Parvez Memon (Campbell, CA)
Assignee: Nutanix, Inc.
H04L67/1034H04L43/0817H04L43/12H04L61/103H04L67/1036H04L2101/622
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,917,001
App. No.
17/135,084
Filed
Dec 28, 2020
Granted
Feb 27, 2024
Kind
B2
Art Unit
RD00
USPC
709/223
Abstract

One embodiment of the present invention provides a system that can manage access to a service from a cluster of computing nodes. An instance of the system can operate on a respective computing node. During operation, the system instance can identify an Internet Protocol (IP) address, which provides access to the service from the cluster of computing nodes to a client device at a client site. The system instance can select the computing node for hosting the IP address in the cluster of computing nodes based on a set of selection criteria. The selection is performed independently at the computing node. The system instance can then assign the IP address to the computing node. The assignment allows a request for the service to be directed to the computing node. Subsequently, the system instance can facilitate the service from the cluster of computing nodes based on the request.

Claims (59)

1. A method for managing access to a plurality of services from a cluster of computing nodes, comprising:

identifying an Internet Protocol (IP) address associated with the cluster of computing nodes, wherein the IP address provides access to the plurality of services from the cluster of computing nodes to a client device at a client site, wherein a respective computing node comprises a processor for facilitating at least a subset of the plurality of services;

selecting, independently, a first computing node in the cluster of computer nodes for hosting the IP address on behalf of the cluster of computing nodes based on a set of selection criteria;

assigning the IP address to the first computing node for the cluster of computing nodes, thereby allowing a request based on the IP address for a respective service of the plurality of services from the cluster of computing nodes to be directed to the first computing node; and

facilitating a first service from the cluster of computing nodes based on the request.

2. The method of claim 1 , wherein assigning the IP address to the first computing node further comprises sending a probe message for determining that the IP address is not duplicated in the cluster of computing nodes and the client site.

3. The method of claim 1 , further comprising sending a gratuitous address resolution protocol (ARP) request with the IP address to the client site for clearing a respective local ARP cache.

4. The method of claim 1 , further comprising:

monitoring the first service at the first computing node based on a monitoring service that monitors operational status of the plurality of services provided by the cluster of computing nodes; and

in response to determining a disruption to the first service, un-hosting the IP address from the first computing node, thereby allowing a second computing node in the cluster of computing nodes to host the IP address.

5. The method of claim 4 , wherein the first computing node is operational and accessible from the client site while the first service is disrupted.

6. The method of claim 4 , further comprising:

determining a disruption to the monitoring service; and

performing a fail-safe operation comprising one or more of:

restarting the monitoring service; and

the un-hosting of the IP address from the first computing node.

7. The method of claim 1 , further comprising:

determining that a second computing node in the cluster of computing nodes is selected as a service leader for the first service, wherein the service leader is responsible for responding to a respective request for the first service; and

un-hosting the IP address from the first computing node, thereby allowing the second computing node to host the IP address.

8. The method of claim 1 , wherein facilitating the first service from the cluster includes one or more of:

providing the first service from the first computing node and operating the first computing node on a service path of the request; and

redirecting the request to a second computing node capable of providing the first service.

9. The method of claim 1 , wherein the IP address is a virtual IP address floating among the cluster of computing nodes; and

wherein the method further comprises:

receiving an ARP request for the IP address; and

sending an ARP response comprising a media access control (MAC) address of the first computing node.

10. The method of claim 1 , wherein the IP address is associated with:

a respective service of the plurality of services provided by the cluster of computing nodes, wherein the IP address unifies service access from the cluster of computing nodes.

11. A computing node in a cluster of computing nodes, comprising:

a processor;

a storage device; and

a memory coupled to the processor and storing instructions, which when executed by the processor cause the processor to perform a method managing access to a plurality of services from the cluster of computing nodes, the method comprising:

identifying an Internet Protocol (IP) address associated with the cluster of computing nodes, wherein the IP address provides access to the plurality of services from the cluster of computing nodes to a client device at a client site, wherein a respective computing node comprises a processor for facilitating at least a subset of the plurality of services;

selecting, independently, the computing node for hosting the IP address on behalf of the cluster of computing nodes based on a set of selection criteria;

assigning the IP address to the computing node for the cluster of computing nodes, thereby allowing a request based on the IP address for a respective service of the plurality of services from the cluster of computing nodes to be directed to the computing node; and

facilitating the requested service from the cluster of computing nodes based on the request.

12. The computing node of claim 11 , wherein assigning the IP address to the computing node further comprises sending a probe message for determining that the IP address is not duplicated in the cluster of computing nodes and the client site.

13. The computing node of claim 11 , wherein the method further comprises sending a gratuitous address resolution protocol (ARP) request with the IP address to the client site for clearing a respective local ARP cache.

14. The computing node of claim 11 , wherein the method further comprises:

monitoring the first service at the computing node based on a monitoring service that monitors operational status of the plurality of services provided by the cluster of computing nodes; and

in response to determining a disruption to the first service, un-hosting the IP address from the computing node, thereby allowing a second computing node in the cluster of computing nodes to host the IP address.

15. The computing node of claim 14 , wherein the computing node is operational and accessible from the client site while the first service is disrupted.

16. The computing node of claim 14 , wherein the method further comprises:

determining a disruption to the monitoring service; and

performing a fail-safe operation comprising one of:

restarting the monitoring service; and

the un-hosting of the IP address from the computing node.

17. The computing node of claim 11 , wherein the method further comprises:

determining that a second computing node in the cluster of computing nodes is selected as a service leader for the first service, wherein the service leader is responsible for responding to a respective request for the first service; and

un-hosting the IP address from the computing node, thereby allowing the second computing node to host the IP address.

18. The computing node of claim 11 , wherein facilitating the first service from the cluster includes one or more of:

providing the first service from the computing node and operating the computing node on a service path of the request; and

redirecting the request to a second computing node capable of providing the service.

19. The computing node of claim 11 , wherein the IP address is a virtual IP address floating among the cluster of computing nodes; and

wherein the method further comprises:

receiving an ARP request for the IP address; and

sending an ARP response comprising a media access control (MAC) address of the computing node.

20. The computing node of claim 11 , wherein the IP address is associated with:

a respective service of the plurality of services provided by the cluster of computing nodes, wherein the IP address unifies service access from the cluster of computing nodes.

Assignments (2)
SECURITY INTEREST Recorded Feb 13, 2025
From: NUTANIX, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070206/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: AGARWAL, HARSHIT; MEMON, TABREZ PARVEZ
To: NUTANIX, INC.
Reel/Frame 054757/0095 →
Continuity (2)
Provisional Application 62970105 · Feb 4, 2020
Related Publication 20210243250A1 · Aug 5, 2021