IP Library › Granted Patent US 12,542,733
Granted Patent B2
US 12,542,733 · App. 17/946,534 · Granted Feb 3, 2026

Systems and methods for performing an automatic route flip

Inventors: Edgar Jesus Dorantes Loarca (Olympia, WA); Danyang He (Seattle, WA); Xiangkun Dai (Lynnwood, WA); Oleksandr (Alex) Kadushko (Knoxville, TN); Andi Mullaraj (San Jose, CA); Sharath Vaddempudi (Issaquah, WA)
Assignee: Oracle International Corporation
H04L45/122H04L45/22H04L47/125
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 12,542,733
App. No.
17/946,534
Granted
Feb 3, 2026
Kind
B2
Abstract

Systems and methods for performing an automatic route flip are disclosed herein. The method can include receiving a request to flip a primary route and a secondary route in a communications network including at least a first host and a second host, each including a routing agent and an advertising agent. The method includes identifying the first host as having a dynamic path length and the second host as having a static path length, updating routing information in a database accessible by the first host to change the path length of the first host from a first path length to a second path length, receiving the updated routing information from the database with the routing agent of the first host, and advertising the updated routing information with the first host to at least one switch within the communications network.

Claims (40)

1 . A method of changing routing comprising:

receiving a request to flip a primary route and a secondary route in a communications network comprising at least a first host and a second host, each of the first host and the second host comprising a routing agent and an advertising agent, each of the primary route and secondary route configured to route traffic for an endpoint;

identifying a first route associated with the first host as having a dynamic path length and a second route associated with the second host as having a static path length, wherein the first host routes traffic using the primary route when the path length of the first route is less than the path length of the second route, and wherein the first host routes traffic using the secondary route when the path length of the first route is greater than the path length of the second route;

updating routing information in a database accessible by the first host, the updated information changing the path length of the first route from a first path length to a second path length;

receiving, by the routing agent of the first host, the updated routing information from the database; and

advertising, by the first host, the updated routing information to at least one switch within the communications network, wherein advertising the updated routing information changes the path length of the first route from the first path length to the second path length.

2 . The method of claim 1 , wherein the first path length of the first route is less than the path length of the second route.

3 . The method of claim 2 , wherein the second path length of the first route is greater than the path length of the second route.

4 . The method of claim 3 , wherein changing the path length of the first route from the first path length to the second path length switches the first host from routing traffic using the primary route to routing traffic using the secondary route.

5 . The method of claim 1 , wherein the first path length of the first route is greater than the path length of the second route.

6 . The method of claim 5 , wherein the second path length of the first route is less than the path length of the second route.

7 . The method of claim 6 , wherein changing the advertised path length of the first route from the first path length to the second path length switches the first host from routing traffic using the secondary route to routing traffic using the primary route.

8 . The method of claim 1 , further comprising providing the updated routing information from the routing agent of the first host to the advertising agent of the first host.

9 . The method of claim 1 , wherein each of the first host and the second host are associated with a load balancer.

10 . The method of claim 9 , further comprising: identifying the load balancer associated with the first host and the second host; determining that the load balancer has less than two associated routes; and triggering an alert when it is determined that the load balancer has less than two associated routes.

11 . The method of claim 9 , further comprising: identifying the load balancer associated with the first host and the second host; and determining that the load balancer has at least two associated routes.

12 . The method of claim 11 , further comprising determining that a plurality of the at least two associated routes are primary routes; and triggering an alert when it is determined that the plurality of the at least two associated routes are primary routes.

13 . The method of claim 11 , further comprising determining that none of the at least two associated routes are primary routes; and triggering an alert when it is determined that none of the at least two associated routes are primary routes.

14 . The method of claim 11 , further comprising: determining that one of the at least two associated routes is the primary route; and determining that at least one of the at least two associated routes is the secondary route.

15 . The method of claim 14 , wherein determining that one of the at least two associated routes is the primary route comprises determining that the path length of one of the at least two associated routes is less than the path length of the at least one other of the at least two associated routes.

16 . The method of claim 15 , wherein determining that at least one of the at least two associated routes is the secondary route comprises determining that the path length of at least one of the at least two associated routes is greater than the path length of one of the at least two associated routes.

17 . The method of claim 1 , further comprising performing a health check after receiving the request to flip the primary route and the secondary route and before updating routing information in the database accessible by the first host.

18 . The method of claim 1 , wherein the first host advertises a change in path length and wherein the second host forgoes advertising the change in path length.

19 . A system comprising:

memory comprising a database of routing information;

at least a first host and a second host, wherein each of the hosts comprises a routing agent and an advertising agent, and wherein the database of routing information is accessible by each of the first host and the second host, each of a primary route and a secondary route configured to route traffic for an endpoint;

at least one switch; and

a processor configured to:

receive a request to flip the primary route and the secondary route in a communications network comprising at least the first host and the second host;

identify a first route associated with the first host as having a dynamic path length and a second route associate with the second host as having a static path length, wherein the first host routes traffic using the primary route when the path length of the first route is less than the path length of the second route, and wherein the first host routes traffic using the secondary route when the path length of the first route is greater than the path length of the second route; and

update routing information in the database of routing information, the updated information changing the path length of the first route from a first path length to a second path length,

wherein the first host is configured to:

receive via the routing agent the updated routing information from the database; and

advertise the updated routing information to the at least one switch, wherein advertising the updated routing information changes the path length of the first route from the first path length to the second path length.

20 . A non-transitory computer-readable storage medium storing a plurality of instructions executable by one or more processors, the plurality of instructions when executed by the one or more processors cause the one or more processors to:

receive a request to flip a primary route and a secondary route in a communications network comprising at least a first host and a second host, each of the first host and the second host comprising a routing agent and an advertising agent, each of the primary route and secondary route configured to route traffic for an endpoint;

identify a first route associated with the first host as having a dynamic path length and a second route associated with the second host as having a static path length, wherein the first host routes traffic using the primary route when the path length of the first route is less than the path length of the second route, and wherein the first host routes traffic using the secondary route when the path length of the first route is greater than the path length of the second route;

update routing information in a database accessible by the first host, the updated information changing the path length of the first route from a first path length to a second path length;

receive the updated routing information from the database with the routing agent of the first host; and

advertise, by the first hose, the updated routing information to at least one switch within the communications network, wherein advertising the updated routing information changes the path length of the first route from the first path length to the second path length.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2022
From: DORANTES LOARCA, EDGAR JESUS; HE, DANYANG; DAI, XIANGKUN; KADUSHKO, OLEKSANDR; MULLARAJ, ANDI; VADDEMPUDI, SHARATH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 061194/0318 →
Continuity (1)
Related Publication 20240098013A1 · Mar 21, 2024
References Cited (20)
US 9246804B1 · Muir et al. · 2016 [cited by applicant]
US 11115309B1 · Scholl · 2021 [cited by applicant]
US 11212216B2 · Beck · 2021 [cited by applicant]
US 12301477B2 · Dorantes Loarca et al. · 2025 [cited by applicant]
US 20060233155A1 · Srivastava · 2006 [cited by examiner]
US 20070189284A1 · Kecskemeti · 2007 [cited by applicant]
US 20070294399A1 · Grossner et al. · 2007 [cited by applicant]
US 20080304497A1 · Viswanath · 2008 [cited by examiner]
US 20120201145A1 · Ree et al. · 2012 [cited by applicant]
US 20190166036A1 · Tappin · 2019 [cited by examiner]
US 20210297339A1 · Yu et al. · 2021 [cited by applicant]
US 20220038309A1 · Boutros et al. · 2022 [cited by applicant]
U.S. Appl. No. 17/946,526 , “Non-Final Office Action” dated Jul. 19, 2023, , 22 pages. [cited by applicant]
Zhang , “Top of Rack VS End of Row: Which to Choose for Data Center Network” , Medium , Sep. 12, 2018 , pp. 1-12. [cited by applicant]
U.S. Appl. No. 17/946,526 , “Final Office Action”, filed Feb. 22, 2024, 21 pages. [cited by applicant]
U.S. Appl. No. 17/946,526 , Non-Final Office Action, Mailed on Sep. 4, 2024, 23 pages. [cited by applicant]
U.S. Appl. No. 17/946,526 , Notice of Allowance, Mailed on Jan. 15, 2025, 8 pages. [cited by applicant]
U.S. Appl. No. 17/946,526 , “Corrected Notice of Allowability”, filed Apr. 11, 2025, 2 pages. [cited by applicant]
U.S. Appl. No. 17/946,532, “Corrected Notice of Allowability”, filed Jul. 29, 2025, 6 pages. [cited by applicant]
U.S. Appl. No. 17/946,532, Notice of Allowance, Mailed on Jun. 25, 2025, 9 pages. [cited by applicant]