Patent ID: 8239572

Claim:
A routing system for determining a routing path for network data packets through a substrate network associated with a plurality of virtual networks having virtual components, the routing system comprising: a computing interface for receiving performance characteristics of virtual networks from a plurality of users; a first computing node having a substrate network address, the first computing node having a forwarding table identifying packet forwarding routes from the first computing node; a system manager module comprising one or more computing devices, the system manager module configured to associate one or more components of a first virtual network and one or more components of a second virtual network with the first computing node; and a route manager module comprising one or more computing devices, the route manager module configured to: obtain a first performance characteristic for the first virtual network and a second performance characteristic for the second virtual network from the computing interface; identify a first and second route through a substrate network, the first route and second route including the first computing node and a destination node, the first route selected to meet the first performance characteristic, the second route selected to meet the second performance characteristic; generate a first forwarding entry configured to cause the first computing node to send packets associated with the first virtual network received on the first computing node through the first route; generate a second forwarding entry configured to cause the first computing node to send packets associated with the second virtual network received on the first computing node through the second route; and communicate the first and second forwarding entries to the first node of the substrate network.