1. A method of determining an end-to-end least cost path from a first edge label switch router (“LSR”) to a second edge LSR in a multi-protocol label switching (“MPLS”) network having a plurality of nodes between the first edge LSR and the second edge LSR, the method comprising: using Dijkstra's algorithm at least in part to search for a first least cost path from the first edge LSR to each respective node of the plurality of nodes, thereby determining a set of first least cost paths; storing a set of first costs, wherein each of the first costs corresponds to a respective one of the first least cost paths; using an A* algorithm at least in part to select the end-to-end least cost path by: initializing the second edge LSR as a next node of the end-to-end least cost path; selecting an adjacent node of the next node as a new node of the end-to-end least cost path, in accordance with a second cost of a second least cost path from the second edge LSR to the new node, and in accordance with the first cost of the first least cost path from the first edge LSR to the new node; setting the new node as the next node; and repeating the selecting and the setting until the first edge LSR is reached; and transmitting communication data between the first and second edge LSRs via the end-to-end least cost path.