IP Library Granted Patent US 11,206,173
Granted Patent B2
US 11,206,173 · App. 16/942,723 · Granted Dec 21, 2021

High availability on a distributed networking platform

Inventors: Kiron Haltore (San Jose, CA); Srinivas Srikanth Podilla (Bangalore, IN); Vivek Kalyanaraman (San Jose, CA)
Assignee: VMWARE, INC.
H04L41/0668H04L41/0803H04L61/10
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,206,173
App. No.
16/942,723
Granted
Dec 21, 2021
Kind
B2
Abstract

Providing high availability in a distributed networking platform includes detecting that an original primary service engine is unavailable, wherein: the original primary service engine and a plurality of secondary service engines are configured to provide one or more network applications associated with a virtual Internet Protocol (VIP) address; the original primary service engine and the plurality of secondary service engines are in active-active configuration mode; and the original primary service engine is configured to respond to Address Resolution Protocol (ARP) requests designating the VIP address. Additionally, providing high availability in a distributed networking platform further includes determining that a controller is unavailable; and configuring a selected secondary service engine as the next primary service engine.

Claims (57)

1. A method of providing a service, the method comprising:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable;

configuring the secondary service engines to select one secondary service engine as a new primary service engine; and

configuring the primary and secondary service engines to provide one or more network applications associated with a virtual Internet Protocol (VIP) address.

2. The method of claim 1 , wherein configuring the secondary service engines to detect when the primary service engine is unavailable comprises configuring the secondary service engines to monitor heartbeat messages sent by the primary service engine.

3. The method of claim 2 , wherein a controller configures the primary and secondary service engines, the method further comprising:

configuring the secondary service engines to detect when the controller is unavailable;

wherein configuring the secondary service engines to select one secondary service engine as a new primary service engine comprises configuring the secondary service engines to make the selection when both the primary service engine and the secondary service engine are unavailable.

4. A method of providing a service, the method comprising:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable;

configuring the secondary service engines to select one secondary service engine as a new primary service engine, wherein a controller configures the secondary service engines; and

configuring the secondary service engines to detect when the controller is unavailable,

wherein configuring the secondary service engines to detect when the primary service engine is unavailable comprises configuring the secondary service engines to monitor heartbeat messages sent by the primary service engine and the controller.

5. The method of claim 1 , wherein:

the original primary service engine and the plurality of secondary service engines are in active-active configuration mode; and

the original primary service engine is configured to respond to Address Resolution Protocol (ARP) requests designating the VIP address.

6. The method of claim 5 further comprising:

receiving, at the new primary service engine, traffic associated with the VIP address; and

forwarding, by the new primary service engine, the traffic associated with the VIP address to a secondary service engine to perform the service on the traffic.

7. A method of providing a service, the method comprising:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable; and

configuring the secondary service engines to select one secondary service engine as a new primary service engine according to an ordered priority list.

8. A method of providing a service, the method comprising:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable; and

configuring the secondary service engines to select one secondary service engine as a new primary service engine according to an identifying characteristic.

9. A method of providing a service, the method comprising:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable;

configuring the secondary service engines to select one secondary service engine as a new primary service engine; and

configuring each particular secondary service engine (i) to send heartbeat messages to other secondary service engines when the particular secondary service engine is selected as the new primary service engine, (ii) to send a gratuitous Address Resolution Protocol (ARP) to at least one other secondary service engine when the particular secondary service engine is selected as the primary service engine, and (iii) to respond to an ARP request designating a virtual Internet Protocol (VIP) address associated with the service.

10. A non-transitory machine readable medium storing a program which when executed by at least one processing unit provides a service, the program comprising sets of instructions for:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable;

configuring the secondary service engines to select one secondary service engine as a new primary service engine; and

configuring the primary and secondary service engines to provide one or more network applications associated with a virtual Internet Protocol (VIP) address.

11. The non-transitory machine readable medium of claim 10 , wherein the set of instructions for configuring the secondary service engines to detect when the primary service engine is unavailable comprises a set of instructions for configuring the secondary service engines to monitor heartbeat messages sent by the primary service engine.

12. The non-transitory machine readable medium of claim 11 , wherein a controller configures the primary and secondary service engines, the program further comprises a set of instructions for configuring the secondary service engines to detect when the controller is unavailable,

wherein the set of instructions for configuring the secondary service engines to select one secondary service engine as a new primary service engine comprises a set of instructions for configuring the secondary service engines to make the selection when both the primary service engine and the secondary service engine are unavailable.

13. The non-transitory machine readable medium of claim 10 , wherein:

the original primary service engine and the plurality of secondary service engines are in active-active configuration mode; and

the original primary service engine is configured to respond to Address Resolution Protocol (ARP) requests designating the VIP address.

14. The non-transitory machine readable medium of claim 13 , the program further comprises sets of instructions for:

receiving, at the new primary service engine, traffic associated with the VIP address; and

forwarding, by the new primary service engine, the traffic associated with the VIP address to a secondary service engine to perform the service on the traffic.

15. A non-transitory machine readable medium storing a program which when executed by at least one processing unit provides a service, the program comprising sets of instructions for:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable; and

configuring the secondary service engines to select one secondary service engine as a new primary service engine according to an ordered priority list.

16. A non-transitory machine readable medium storing a program which when executed by at least one processing unit provides a service, the program comprising sets of instructions for:

designating a primary service engine and a set of two or more secondary service engines to provide the service;

configuring the secondary service engines to detect when the primary service engine is unavailable;

configuring the secondary service engines to select one secondary service engine as a new primary service engine; and

configuring each particular secondary service engine (i) to send heartbeat messages to other secondary service engines when the particular secondary service engine is selected as the new primary service engine, (ii) to send a gratuitous Address Resolution Protocol (ARP) to at least one other secondary service engine when the particular secondary service engine is selected as the primary service engine, and (iii) to respond to an ARP request designating a virtual Internet Protocol (VIP) address associated with the service.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (3)
Continuation 16386108 · Apr 16, 2019
Provisional Application 62749985 · Oct 24, 2018
Related Publication 20210014106A1 · Jan 14, 2021