Using virtual networking devices to manage routing cost information
First Claim
1. A computer-implemented method comprising:
- receiving, by one or more configured hardware computing systems of a configurable network service that provides virtual computer networks to clients, configuration information indicating a network topology for a first virtual computer network for a first client, the network topology indicating multiple computing nodes of the first virtual computer network that are separated into two or more groups and further specifying a virtual router device of the first virtual computer network that interconnects the two or more groups; and
providing, by the one or more configured hardware computing systems, the first virtual computer network to the first client in accordance with the configuration information by emulating functionality of the specified virtual router device for communications between the two or more groups without physically providing the specified virtual router device, the providing of the first virtual computer network including;
intercepting one or more routing communications that are each sent using a defined routing protocol to the specified virtual router device despite the specified virtual router device not being physically provided, the intercepted one or more routing communications including network routing information for the first virtual computer network;
determining, by the one or more configured hardware computing systems and during the providing of the first virtual computer network, one or more costs specified by the first client for use of multiple alternative intermediate destinations via which communications for the first virtual computer network can be directed to an indicated final destination, the determining of the one or more costs including analyzing the included network routing information in the intercepted one or more routing communications to identify the determined one or more costs;
selecting, based at least in part on the determined one or more costs specified by the first client, one of the alternative intermediate destinations as a preferred intermediate destination for the one or more indicated final destinations; and
after the selecting of the one alternative intermediate destination, forwarding one or more additional communications directed to the indicated final destination to the selected one alternative intermediate destination.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for providing managed virtual computer networks that have a configured logical network topology with virtual networking devices, such as by a network-accessible configurable network service, with corresponding networking functionality provided for communications between multiple computing nodes of the virtual computer network by emulating functionality that would be provided by the virtual networking devices if they were physically present. In some situations, the networking functionality provided for a managed computer network of a client includes receiving routing communications directed to the virtual networking devices and using included routing cost information to update the configuration of the managed computer network, and/or includes determining actual cost information corresponding to use of an underlying substrate network and providing routing cost information to the client that reflects the determined actual cost information, so as to enable the client to modify the configuration of the managed computer network accordingly.
131 Citations
31 Claims
-
1. A computer-implemented method comprising:
-
receiving, by one or more configured hardware computing systems of a configurable network service that provides virtual computer networks to clients, configuration information indicating a network topology for a first virtual computer network for a first client, the network topology indicating multiple computing nodes of the first virtual computer network that are separated into two or more groups and further specifying a virtual router device of the first virtual computer network that interconnects the two or more groups; and providing, by the one or more configured hardware computing systems, the first virtual computer network to the first client in accordance with the configuration information by emulating functionality of the specified virtual router device for communications between the two or more groups without physically providing the specified virtual router device, the providing of the first virtual computer network including; intercepting one or more routing communications that are each sent using a defined routing protocol to the specified virtual router device despite the specified virtual router device not being physically provided, the intercepted one or more routing communications including network routing information for the first virtual computer network; determining, by the one or more configured hardware computing systems and during the providing of the first virtual computer network, one or more costs specified by the first client for use of multiple alternative intermediate destinations via which communications for the first virtual computer network can be directed to an indicated final destination, the determining of the one or more costs including analyzing the included network routing information in the intercepted one or more routing communications to identify the determined one or more costs; selecting, based at least in part on the determined one or more costs specified by the first client, one of the alternative intermediate destinations as a preferred intermediate destination for the one or more indicated final destinations; and after the selecting of the one alternative intermediate destination, forwarding one or more additional communications directed to the indicated final destination to the selected one alternative intermediate destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented method comprising:
-
receiving, by one or more computing systems of a configurable network service that provides virtual computer networks to clients, one or more requests to provide a first virtual computer network for a first client in accordance with specified configuration information, the configuration information indicating one or more specified networking devices of the first virtual computer network that interconnect multiple computing nodes of the first virtual computer network; and providing, by the one or more computing systems of the configurable network service, the first virtual computer network in accordance with the configuration information by overlaying the first virtual computer network on a distinct substrate network without physically providing the one or more specified networking devices, the multiple computing nodes being connected to the substrate network, the providing of the first virtual computer network including; forwarding multiple communications between the multiple computing nodes over the substrate network in a manner that emulates functionality that would be provided by the one or more specified networking devices if the one or more specified networking devices were physically provided; identifying two or more alternative intermediate destinations via which communications directed to one or more indicated final destinations are routed; after the forwarding of the multiple communications, receiving one or more routing communications that are each directed to at least one of the specified networking devices and include network routing information for the first virtual computer network that is specified in accordance with one or more predefined network routing protocols, wherein the receiving of the one or more routing communications includes intercepting the one or more routing communications before the one or more routing communications are forwarded over the substrate network, and inhibiting forwarding of the intercepted routing communications to the at least one specified networking device to which the intercepted routing communications are directed; analyzing the one or more routing communications to identify routing cost information corresponding to at least one of the alternative intermediate destinations, and selecting one of the alternative intermediate destinations as a preferred intermediate destination for the one or more indicated final destinations based at least in part on the identified routing cost information; and after the selecting of the one alternative intermediate destination, receiving one or more additional communications from one or more of the multiple computing nodes that are each directed to at least one of the one or more indicated final destinations, and forwarding the one or more additional communications to the selected one alternative intermediate destination.
-
-
16. A non-transitory computer-readable storage medium having stored contents that configure a computing system of a configurable network service to:
provide, by the configured computing system, a first virtual computer network for a first client in accordance with configuration information from the first client, the configuration information indicating interconnections between multiple computing nodes of the first virtual computer network that include one or more virtual router devices of the first virtual computer network indicated to interconnect indicated groups of the multiple computing nodes, the providing of the first virtual computer network including emulating functionality of the one or more virtual router devices without physically providing the one or more virtual router devices, the providing of the first virtual computer network further including; determining routing cost information that corresponds to routing communications over the substrate network from at least one of the multiple computing nodes to one or more indicated destinations; sending, to at least one of the multiple computing nodes, one or more routing communications that are indicated to be from at least one of the one or more virtual router devices despite the at least one virtual router device not being physically provided, the sent one or more routing communications having network routing information for the first virtual computer network that includes the determined routing cost information corresponding to the one or more indicated destinations; receiving information indicating one or more changes to configuration of the first virtual computer network that are based at least in part on the sent one or more routing communications, wherein the one or more changes are initiated by the first client and correspond to communications to the one or more indicated destinations; and after the one or more changes to the configuration, forwarding one or more additional communications from one or more of the at least one computing nodes over the substrate network to at least one of the indicated destinations in accordance with the changed configuration. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
28. A computing system, comprising:
-
one or more hardware processors; and a manager module that is configured to, when executed by at least one of the hardware processors, provide computer networks to one or more customers of a configurable network service by, for each of the one or more customers; configuring a first computer network provided for the customer in accordance with configuration information from the customer, the configuration information indicating interconnections between multiple computing nodes of the provided computer network that include one or more virtual router devices of the provided first computer network indicated to interconnect indicated groups of the multiple computing nodes, the configuring of the provided first computer network including emulating functionality of the one or more virtual router devices without physically providing the one or more virtual router devices; intercepting one or more routing communications that are each directed to at least one of the one or more virtual router devices and include routing information for the first computer network, the routing information specifying one or more costs corresponding to at least one of two or more alternative intermediate destinations for communications directed to one or more indicated final destinations, at least one of the specified one or more costs being specified by the customer for one of the two or more alternative intermediate destinations; selecting one of the alternative intermediate destinations as a preferred intermediate destination for the one or more indicated final destinations based at least in part on the specified one or more costs from the routing information; and after the selecting of the one alternative intermediate destination, forwarding one or more additional communications that are each directed to at least one of the one or more indicated final destinations to the selected one alternative intermediate destination. - View Dependent Claims (29, 30, 31)
-
Specification