1. A method comprising: for each path from a source node in a source domain to a destination node in a destination domain that is known to the source domain, sending a problem solving request to a plurality of intermediate network domains that have a potential path between the source node and the destination node, the problem solving request including one or more constraints associated with a routing function for traffic between the source node and the destination node, each intermediate domain comprising two or more nodes, and wherein the problem solving request comprises a message containing an identifier of the source node, an identifier of the destination node, an identifier of the source network domain, an identifier of the destination network domain, constraints criteria comprising total allowed delay and total required bandwidth from the source node to the destination node for the path, and an identifier of the path; in each intermediate domain that receives the problem solving request, generating a plurality of possible local path solutions for possible paths from a previous neighbor network domain to a next neighbor network domain, wherein the previous neighbor network domain is modeled as a single virtual network node and the next neighbor network domain is modeled is a single virtual network node; receiving local path solutions for each path from the plurality of intermediate domains in response to the problem solving request, the local path solutions representing possible paths through the respective domain that satisfy the one or more constraints; aggregating the received local path solutions; constructing one or more end-to-end paths from the aggregated local path solutions; and analyzing the one or more end-to-end paths constructed from the aggregated local path solutions to determine whether there is at least one end-to-end path from the source node to the destination node that satisfies the one or more constraints based on the local path solutions.