CPC H04L 45/122 (2013.01) [H04L 45/02 (2013.01); H04L 45/123 (2013.01); H04L 45/44 (2013.01)] | 17 Claims |
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.
|