IP Library › Granted Patent US 10,771,318
Granted Patent B1
US 10,771,318 · App. 16/386,108 · Granted Sep 8, 2020

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 10,771,318
App. No.
16/386,108
Granted
Sep 8, 2020
Kind
B1
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 (55)

1. A method comprising:

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;

determining that a controller is unavailable; and

configuring a selected secondary service engine as a next primary service engine.

2. The method of claim 1 , further comprising:

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

forwarding, by the next primary service engine, the traffic associated with the VIP address to another secondary service engine among the plurality of secondary service engines.

3. The method of claim 1 , wherein the selected secondary service engine is selected according to an ordered priority list.

4. The method of claim 1 , wherein the selected secondary service engine is selected according to an identifying characteristic.

5. The method of claim 1 , wherein configuring the selected secondary service engine as the next primary service engine includes sending, by the selected secondary service engine, heartbeats indicating that the selected secondary service engine has become the next primary service engine.

6. The method of claim 1 , wherein configuring the selected secondary service engine as the next primary service engine includes sending, by the selected secondary service engine, to a neighboring networking device a gratuitous Address Resolution Protocol (ARP) to update an ARP cache.

7. The method of claim 1 , wherein configuring the selected secondary service engine as the next primary service engine includes responding, by the selected secondary service engine, to an ARP request designating the VIP address.

8. The method of claim 1 , further comprising:

determining that a previous primary service engine has become available; and

reconfiguring the next primary service engine to be a secondary service engine.

9. The method of claim 1 , further comprising:

determining that a previous primary service engine has become available; and

reconfiguring the next primary service engine to be a secondary service engine, including:

stopping responding to any new ARP requests associated with the VIP address; and

sending a gratuitous ARP with an empty MAC address to a neighboring networking device.

10. A system comprising:

one or more processors configured to:

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

determine that a controller is unavailable; and

configure a selected secondary service engine as a next primary service engine; and

one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions.

11. The system of claim 10 , wherein the one or more processors are further configured to:

receive, at the next primary service engine, traffic associated with the VIP address; and

forward, by the next primary service engine, the traffic associated with the VIP address to another secondary service engine among the plurality of secondary service engines.

12. The system of claim 10 , wherein the selected secondary service engine is selected according to an ordered priority list.

13. The system of claim 10 , wherein the selected secondary service engine is selected according to an identifying characteristic.

14. The system of claim 10 , wherein to configure the selected secondary service engine as the next primary service engine includes to send, by the selected secondary service engine, heartbeats indicating that the selected secondary service engine has become the next primary service engine.

15. The system of claim 10 , wherein to configure the selected secondary service engine as the next primary service engine includes to send, by the selected secondary service engine, to a neighboring networking device a gratuitous Address Resolution Protocol (ARP) to update an ARP cache.

16. The system of claim 10 , wherein to configure the selected secondary service engine as the next primary service engine includes to respond, by the selected secondary service engine, to an ARP request designating the VIP address.

17. The system of claim 10 , wherein the one or more processors are further configured to:

determine that a previous primary service engine has become available; and

reconfigure the next primary service engine to be a secondary service engine.

18. The system of claim 10 , wherein the one or more processors are further configured to:

determine that a previous primary service engine has become available; and

reconfigure the next primary service engine to be a secondary service engine, including to:

stop responding to any new ARP requests associated with the VIP address; and

send a gratuitous ARP with an empty MAC address to a neighboring networking device.

19. A computer program product, the computer program product being embodied in a tangible non-transitory computer readable storage medium and comprising computer instructions for:

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;

determining that a controller is unavailable; and

configuring a selected secondary service engine as a next primary service engine.

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 24, 2019
From: AVI NETWORKS, INC.
To: VMWARE, INC.
Reel/Frame 050826/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2019
From: HALTORE, KIRON; PODILLA, SRINIVAS SRIKANTH; KALYANARAMAN, VIVEK
To: AVI NETWORKS
Reel/Frame 049600/0699 →
Continuity (1)
Provisional Application 62749985 · Oct 24, 2018