Patent ID: 8738745

Claim:
A computer-implemented method comprising: receiving configuration information for a first virtual computer network with multiple computing nodes, the configuration information indicating a specified network topology for the first virtual computer network that includes a first network node for use in providing a specified type of functionality; and providing, by one or more programmed computing systems, the first virtual computer network in accordance with the received configuration information by overlaying the first virtual computer network on a distinct substrate network, the overlaying of the first virtual computer network including configuring one or more devices connected to the substrate network to act as the first network node for the first virtual computer network by providing the specified type of functionality, the providing of the first virtual computer network including: forwarding a first communication over the substrate network between computing nodes of a first group without sending the first communication to the first network node; determining, by the one or more programmed computing systems, to use the first network node as an intermediate destination for an additional communication based at least in part on the specified network topology, wherein the additional communication is from a source computing node in the first group to a destination computing node that is not in the first group; and after the determining, encoding the additional communication for the substrate network and initiating forwarding the encoded additional communication over the substrate network from the source computing node to a translation manager module that manages decoding of encoded communications for the configured one or more devices, to enable the configured one or more devices to manage further forwarding of the additional communication to the destination computing node in accordance with the specified type of functionality.