Patent ID: 8248925

Claim:
An apparatus for selecting between multiple equal cost paths in a communication network, the apparatus comprising: a memory comprising instructions; a processor communicatively coupled to the memory, the instructions operative to configure the processor to implement the steps of: determining, by the apparatus a set of equal cost paths between a pair of nodes on a communication network, each path including a plurality of links; constructing first link IDs for each link on each of the equal cost paths, each of the first link IDs being created by concatenating the ordered node IDs of nodes that connect to the link on the network; constructing first path IDs for each of the equal cost paths, each of the first path IDs being created by concatenating first link IDs of the plurality of links forming that path through the communication network; ranking the first path IDs in a path independent manner to select a first set of diverse paths through the communication network; constructing second link IDs for each link on the equal cost paths, each of the second link IDs being created by concatenating a node ID of one of the nodes that connects to the link on the network with an inverted node ID of the other of the nodes that connects to that link on the network, the node IDs being concatenated to form the second link IDs in the same order as determined when constructing the first link IDs; constructing second path IDs for each of the equal cost paths, each of the second path IDs being created by concatenating second link IDs of the plurality of links forming that path through the communication network; and ranking the second path IDs in a path independent manner to select a second set of diverse paths through the communication network.