Patent ID: 7990877

Claim:
A computer implemented method for performing a dynamically runtime adjustable constrained shortest path first computation of a label switched path (LSP) from a first network element in a Multiprotocol Label Switching (MPLS) network acting as a source of the LSP to a second network element in the MPLS network acting as a destination of the LSP based on one or more traffic engineering constraints, wherein the MPLS network includes a plurality of other network elements acting as intermediaries between the source and the destination providing a plurality of paths between the source and destination, comprising: the first network element storing a representation of the MPLS network's topology including a set of one or more link characteristics for each link in the MPLS network in a traffic engineering data structure in a non-transitory machine-readable storage medium of the first network element, wherein each link connects two of the network elements; responsive to the first network element receiving a request to compute the LSP, the request including a set of one or more traffic engineering constraints, the first network element performing the following operations: determining if the request includes at least one additive constraint; if the request includes at least one additive constraint, performing the following, if the request further includes one or more Boolean constraints, pruning each link that does not satisfy the Boolean constraints, determining each possible path to the destination network element through the intermediary network elements, calculating one or more feasible paths to the destination network element through at least some of the intermediary network elements which satisfy the additive constraint included in the request, wherein paths that do not satisfy the additive constraints are pruned at a point of failing the additive constraint, selecting the feasible path with a smallest cost to the destination, and if more than one feasible path has an equivalent smallest cost, performing an equal cost multiple path comparison to select one of the feasible paths for the requested LSP; and if the request does not include an additive constraint, performing the following, pruning each link that does not satisfy each of the set of traffic engineering constraints, pruning those links that are part of paths that converge at one of the intermediary network elements according to cost, calculating one or more paths to the destination according to cost, and if more than one path has the same cost, performing a multiple parameter equal cost multiple path comparison to select the path for the requested LSP.