US 11,743,169 B2
Path computation systems and methods for concurrent bi-directional k-optimal paths
Ankur Jain, Gurgaon (IN); and John Wade Cherrington, Salt Spring Island (CA)
Assigned to Ciena Corporation, Hanover, MD (US)
Filed by Ciena Corporation, Hanover, MD (US)
Filed on Mar. 4, 2021, as Appl. No. 17/191,836.
Claims priority of application No. 202111002750 (IN), filed on Jan. 20, 2021.
Prior Publication US 2022/0231938 A1, Jul. 21, 2022
Int. Cl. H04L 45/122 (2022.01); H04L 45/02 (2022.01); H04L 45/44 (2022.01); H04L 45/12 (2022.01)
CPC H04L 45/122 (2013.01) [H04L 45/02 (2013.01); H04L 45/123 (2013.01); H04L 45/44 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium having instructions stored thereon for programming a processing device to perform steps of:
responsive to defining a routing graph that includes vertices for each node of a plurality of nodes in a network and edges for links interconnecting the plurality of nodes, receiving a request for k shortest paths, where k is an integer>0, between a source node and a destination node of the plurality of nodes, wherein the k shortest paths are for route determination in the network between the source node and the destination node; and
performing path computation by determining the k shortest paths utilizing a k-shortest path algorithm that utilizes two threads in parallel for each shortest path query, wherein the two threads include i) a shortest path query from the source node to the destination node and ii) a shortest path query from the destination node to the source node, and wherein the determining further comprises performing an early exit of the path computation whenever there is any of a no-connectivity case in either of the two threads and failure of a constraint associated with the request, and, responsive to a first thread of the two threads in each shortest path query obtaining a result, utilizing the result from the first thread and terminating a second thread of the two threads.