IP Library › Granted Patent US 10,673,957
Granted Patent B2
US 10,673,957 · App. 16/021,363 · Granted Jun 2, 2020

Providing high availability in a software defined network

Inventors: Simon Tse (Holmdel, NJ); Alvin Goddard (Kendall Park, NJ); Catherine Ferraro (Howell, NJ); Gagan Choudhury (Jackson, NJ); Narayan Padi (Cedar Knolls, NJ); Lynn Rivera (Leesburg, VA)
Assignee: AT&T Intellectual Property I, L.P.
H04L67/145H04L12/5601H04L43/0817H04L43/10H04L45/42H04L41/0893H04L41/12H04L2012/5627
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,673,957
App. No.
16/021,363
Granted
Jun 2, 2020
Kind
B2
Abstract

In one example, a method for monitoring the state and health of a centralized software defined networking controller includes detecting, by a standby software defined networking controller, when a number of path computation client sessions reported by an active software defined networking controller fails to match an expected number; verifying, by the standby software defined networking controller after expiration of a predefined delay implemented after the detecting, that the number of path computation client sessions reported by the active software defined networking controller still fails to match the expected number; and assuming, by the standby software defined networking controller after the verifying, a role of the active software defined networking controller.

Claims (47)

1. A method comprising:

detecting, by a processor of a standby software defined networking controller, when a number of path computation client sessions reported by an active software defined networking controller fails to match an expected number;

verifying, by the processor after expiration of a predefined delay implemented after the detecting, that the number of path computation client sessions reported by the active software defined networking controller still fails to match the expected number; and

assuming, by the processor after the verifying, a role of the active software defined networking controller.

2. The method of claim 1 , wherein the detecting comprises:

querying, by the processor, the active software defined networking controller for a heartbeat;

parsing, by the processor, the heartbeat for the number of path computation client sessions reported by the active software defined networking controller; and

comparing, by the processor, the number of path computation client sessions reported by the active software defined networking controller to the expected number.

3. The method of claim 2 , wherein the expected number is derived from path computation sessions and a most recent border gateway protocol-link state topology of a network controlled by the active software defined networking controller.

4. The method of claim 1 , wherein a length of the predefined delay is computed based on a size of a difference between the number of path computation client sessions reported by the active software defined networking controller and the expected number.

5. The method of claim 4 , wherein the length of the predefined delay is inversely proportional to the size of the difference.

6. The method of claim 1 , wherein the assuming comprises:

establishing, by the processor, upon a release of a plurality of routers by the active software defined networking controller, a plurality of label-switched paths to the plurality of routers, so that the standby software defined networking controller becomes a new active software defined networking controller.

7. The method of claim 6 , further comprising:

selecting, by the new active software defined networking controller, a new standby software defined networking controller from a plurality of candidate software defined networking controllers.

8. The method of claim 6 , further comprising:

instantiating, by the new active software defined networking controller, the new standby software defined networking controller.

9. The method of claim 1 , further comprising:

detecting, by the processor, and prior to the detecting when the number of path computation client sessions reported by the active software defined networking controller fails to match the expected number, that a border gateway protocol state of the active software defined networking controller is down.

10. The method of claim 9 , wherein the detecting that the border gateway protocol state of the active software defined networking controller is down comprises:

querying, by the processor, the active software defined networking controller for a heartbeat; and

parsing the heartbeat for the border gateway protocol state.

11. The method of claim 9 , wherein the detecting that the border gateway protocol state of the active software defined networking controller is down comprises:

querying, by the processor, the active software defined networking controller for a heartbeat; and

determining, by the processor, that no heartbeat is received from the active software defined networking controller within a predefined interval.

12. The method of claim 1 , wherein while the processor is performing the detecting, the verifying, and the assuming, the active software defined networking controller is detecting a number of path computation client sessions reported by the processor, comparing the number of path computation client sessions reported by the processor to the expected number, and verifying that the number of path computation client sessions reported by the processor fails to match the expected number after the expiration of the predefined delay.

13. The method of claim 1 , wherein a network function virtualization infrastructure host comprises the processor of the standby software defined networking controller, wherein the detecting, the verifying, and the assuming are performed by an algorithm running on the network function virtualization infrastructure host that hosts the standby software defined networking controller.

14. A non-transitory computer-readable medium storing instructions which, when executed by a processor of a standby software defined networking controller, cause the processor to perform operations, the operations comprising:

detecting when a number of path computation client sessions reported by an active software defined networking controller fails to match an expected number;

verifying, after expiration of a predefined delay implemented after the detecting, that the number of path computation client sessions reported by the active software defined networking controller still fails to match the expected number; and

assuming, after the verifying, a role of the active software defined networking controller.

15. The non-transitory computer-readable medium of claim 14 , wherein the detecting comprises:

querying the active software defined networking controller for a heartbeat;

parsing the heartbeat for the number of path computation client sessions reported by the active software defined networking controller; and

comparing the number of path computation client sessions reported by the active software defined networking controller to the expected number.

16. The non-transitory computer-readable medium of claim 14 , wherein a length of the predefined delay is computed based on a size of a difference between the number of path computation client sessions reported by the active software defined networking controller and the expected number.

17. The non-transitory computer-readable medium of claim 16 , wherein the length of the predefined delay is inversely proportional to the size of the difference.

18. The non-transitory computer-readable medium of claim 14 , wherein the assuming comprises:

establishing, upon a release of a plurality of routers by the active software defined networking controller, a plurality of label-switched paths to the plurality of routers, so that the standby software defined networking controller becomes a new active software defined networking controller.

19. The non-transitory computer-readable medium of claim 18 , further comprising:

selecting a new standby software defined networking controller.

20. A device comprising:

a processor; and

a computer-readable medium storing instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:

detecting when a number of path computation client sessions reported by an active software defined networking controller fails to match an expected number;

verifying, after expiration of a predefined delay implemented after the detecting, that the number of path computation client sessions reported by the active software defined networking controller still fails to match the expected number; and

assuming, after the verifying, a role of the active software defined networking controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2018
From: TSE, SIMON; GODDARD, ALVIN; FERRARO, CATHERINE; CHOUDHURY, GAGAN; PADI, NARAYAN; RIVERA, LYNN
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 046755/0685 →
Continuity (1)
Related Publication 20200007629A1 · Jan 2, 2020