Using virtual networking devices to manage routing communications between connected computer networks
First Claim
1. A computer-implemented method comprising:
- under control of one or more computing systems of a configurable network service that provides virtual computer networks to remote customers,receiving first configuration information from a first customer for a first virtual computer network provided for the first customer by the configurable network service, the provided first virtual computer network including multiple first computing nodes from a plurality of computing nodes provided by the configurable network service, the first configuration information being received via a programmatic interface of the configurable network service and indicating first network topology information for the provided first virtual computer network that specifies one or more first network routers that each are indicated to be connected to one or more of the multiple first computing nodes of the provided first virtual computer network;
receiving second configuration information from a second customer for a second virtual computer network provided for the second customer by the configurable network service, the provided second virtual computer network including multiple distinct second computing nodes from the plurality of computing nodes provided by the configurable network service, the second configuration information being received via the programmatic interface of the configurable network service and indicating second network topology information for the provided second virtual computer network that specifies one or more second network routers that each are indicated to be connected to one or more of the multiple second computing nodes of the provided second virtual computer network; and
automatically providing the first virtual computer network for the first customer in accordance with the indicated first network topology information and automatically providing the second virtual computer network for the second customer in accordance with the indicated second network topology information, the automatic providing of the first and second virtual computer networks including overlaying the first and second virtual computer networks on a distinct substrate network without physically providing the one or more first network routers and without physically providing the one or more second network routers, the automatic providing of the first and second virtual computer networks including;
forwarding multiple communications between the multiple first computing nodes over the substrate network in a manner that emulates functionality that would be provided by the one or more first network routers if the one or more first network routers were physically provided, and forwarding multiple other communications between the multiple second computing nodes over the substrate network in a manner that emulates functionality that would be provided by the one or more second network routers if the one or more second network routers were physically provided;
in response to one or more requests from the first client, creating a virtual peering router that enables interactions with one or more other computer networks in accordance with peering configuration information specified by the first client, the created virtual peering router being emulated without physically providing the virtual peering router, and establishing a first logical connection between at least one of the first network routers of the first virtual computer network and the virtual peering router;
in response to a request from the second client, establishing a second logical connection between at least one of the second network routers of the second virtual computer network and the virtual peering router; and
after the establishing of the second logical connection,receiving one or more routing communications via the established second logical connection that are each directed to the virtual peering router and include network routing information for the second virtual computer network that is specified in accordance with a predefined network routing protocol;
automatically determining that the received one or more routing communications are authorized to be forwarded to the first virtual computer network based at least in part on the peering configuration information specified by the first client;
in response to the automatic determining that the received one or more routing communications are authorized to be forwarded, forwarding the received one or more routing communications over the substrate network to one or more of the first computing nodes of the first virtual computer network that participate in the predefined network routing protocol; and
forwarding one or more additional communications over the substrate network that are sent from the one or more first computing nodes to one or more of the multiple second computing nodes via the virtual peering router, the forwarding of the one or more additional communications including emulating functionality that would be provided by the virtual peering router if the virtual peering router was physically provided, the one or more additional communications being specified by the one or more first computing nodes in accordance with the network routing information for the second virtual computer network that is included in the forwarded one or more routing communications.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for providing managed virtual computer networks whose configured logical network topology may have one or more virtual networking devices, such as by a network-accessible configurable network service, with corresponding networking functionality provided for communications between multiple computing nodes of a virtual computer network by emulating functionality that would be provided by the networking devices if they were physically present. The networking functionality provided for a managed computer network may include supporting a connection between that managed computer network and one or more other managed computer networks, such as via a provided virtual peering router to which each of the managed computer networks may connect, with the functionality of the virtual peering router being emulated by modules of the configurable network service without physically providing the virtual peering router, including to manage routing communications between the inter-connected managed computer networks in accordance with client-specified configuration information.
-
Citations
26 Claims
-
1. A computer-implemented method comprising:
under control of one or more computing systems of a configurable network service that provides virtual computer networks to remote customers, receiving first configuration information from a first customer for a first virtual computer network provided for the first customer by the configurable network service, the provided first virtual computer network including multiple first computing nodes from a plurality of computing nodes provided by the configurable network service, the first configuration information being received via a programmatic interface of the configurable network service and indicating first network topology information for the provided first virtual computer network that specifies one or more first network routers that each are indicated to be connected to one or more of the multiple first computing nodes of the provided first virtual computer network; receiving second configuration information from a second customer for a second virtual computer network provided for the second customer by the configurable network service, the provided second virtual computer network including multiple distinct second computing nodes from the plurality of computing nodes provided by the configurable network service, the second configuration information being received via the programmatic interface of the configurable network service and indicating second network topology information for the provided second virtual computer network that specifies one or more second network routers that each are indicated to be connected to one or more of the multiple second computing nodes of the provided second virtual computer network; and automatically providing the first virtual computer network for the first customer in accordance with the indicated first network topology information and automatically providing the second virtual computer network for the second customer in accordance with the indicated second network topology information, the automatic providing of the first and second virtual computer networks including overlaying the first and second virtual computer networks on a distinct substrate network without physically providing the one or more first network routers and without physically providing the one or more second network routers, the automatic providing of the first and second virtual computer networks including; forwarding multiple communications between the multiple first computing nodes over the substrate network in a manner that emulates functionality that would be provided by the one or more first network routers if the one or more first network routers were physically provided, and forwarding multiple other communications between the multiple second computing nodes over the substrate network in a manner that emulates functionality that would be provided by the one or more second network routers if the one or more second network routers were physically provided; in response to one or more requests from the first client, creating a virtual peering router that enables interactions with one or more other computer networks in accordance with peering configuration information specified by the first client, the created virtual peering router being emulated without physically providing the virtual peering router, and establishing a first logical connection between at least one of the first network routers of the first virtual computer network and the virtual peering router; in response to a request from the second client, establishing a second logical connection between at least one of the second network routers of the second virtual computer network and the virtual peering router; and after the establishing of the second logical connection, receiving one or more routing communications via the established second logical connection that are each directed to the virtual peering router and include network routing information for the second virtual computer network that is specified in accordance with a predefined network routing protocol; automatically determining that the received one or more routing communications are authorized to be forwarded to the first virtual computer network based at least in part on the peering configuration information specified by the first client; in response to the automatic determining that the received one or more routing communications are authorized to be forwarded, forwarding the received one or more routing communications over the substrate network to one or more of the first computing nodes of the first virtual computer network that participate in the predefined network routing protocol; and forwarding one or more additional communications over the substrate network that are sent from the one or more first computing nodes to one or more of the multiple second computing nodes via the virtual peering router, the forwarding of the one or more additional communications including emulating functionality that would be provided by the virtual peering router if the virtual peering router was physically provided, the one or more additional communications being specified by the one or more first computing nodes in accordance with the network routing information for the second virtual computer network that is included in the forwarded one or more routing communications. - View Dependent Claims (2)
-
3. A computer-implemented method comprising:
under control of one or more computing systems of a configurable network service that provides virtual computer networks to clients, receiving one or more first requests to provide a first virtual computer network for a first client in accordance with specified first configuration information, the first configuration information indicating one or more specified first networking devices of the first virtual computer network that interconnect multiple first computing nodes of the first virtual computer network; receiving one or more second requests to provide a second virtual computer network for a second client in accordance with specified second configuration information, the second configuration information indicating one or more specified second networking devices of the second virtual computer network that interconnect multiple second computing nodes of the second virtual computer network; and automatically providing the first virtual computer network in accordance with the first configuration information and automatically providing the second virtual computer network in accordance with the second configuration information, the providing of the first and second virtual computer networks including overlaying the first and second virtual computer networks on a distinct substrate network without physically providing the one or more first networking devices and without physically providing the one or more second networking devices, the automatic providing of the first and second virtual computer networks further including; in response to an instruction from the first client, establishing a first logical connection between at least one of the first networking devices of the first virtual computer network and a peering router that enables interactions with one or more other computer networks, the establishing of the first logical connection being performed without physically providing the peering router; in response to an instruction from the second client, establishing a second logical connection between at least one of the second networking devices of the second virtual computer network and the peering router, the establishing of the second logical connection being performed without physically providing the peering router; receiving one or more routing communications that are directed to the peering router via the established second logical connection from the second virtual computer network, the receiving of the one or more routing communications being performed without physically providing the peering router; automatically determining whether to forward the received one or more routing communications to the first virtual computer network based at least in part on configuration information associated with the peering router; and if it is automatically determined to forward the received one or more routing communications to the first virtual computer network, sending the received one or more routing communications over the substrate network to at least one of the first computing nodes of the first virtual computer network. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
22. A non-transitory computer-readable storage medium whose contents configure a computing system to perform a method, the method comprising:
under control of the configured computing system, the configured computing system being part of a configurable network service that provides multiple virtual computer networks to multiple remote clients, receiving information from a first client for use in configuring a first virtual computer network for the first client, the configuring including specifying inter-connections between multiple first computing nodes of the first virtual computer network, the configuring further including specifying a first connection between the multiple first computing nodes and a virtual peering router that enables interactions with one or more other second virtual computer networks that have multiple second computing nodes, the information received from the first client being configuration information for the first virtual computer network that specifies one or more first networking devices that are part of the specified inter-connections for the first virtual computer network, and the first virtual computer network and the one or more second virtual computer networks being part of the multiple virtual computer networks provided by the configurable network service; and automatically providing the first virtual computer network in accordance with the configuring by overlaying the first virtual computer network on a distinct substrate network without physically providing the one or more first networking devices, the providing of the first virtual computer network including; establishing the first connection between the first virtual computer network and the virtual peering router, the establishing of the first connection including establishing a logical connection between at least one of the specified first networking devices of the first virtual computer network and the virtual peering router; and after the one or more second virtual computer networks have established one or more second connections to the virtual peering router, and after one or more routing communications are received from at least one of the second virtual computer networks that are directed to the virtual peering router via at least one of the established second connections, forwarding the received one or more routing communications to the first virtual computer network based at least in part on configuration information associated with the virtual peering router that includes first peering configuration information specified by the first client, the forwarding being performed without physically providing the virtual peering router and including automatically determining that the received one or more routing communications are authorized to be forwarded to the first virtual computer network based at least in part on the first peering configuration information. - View Dependent Claims (23)
-
24. A computing system, comprising:
-
one or more processors; and a manager module that is configured to, when executed by at least one of the processors; receive first configuration information from a first client to configure a first computer network provided for use by the first client, the first configuration information indicating inter-connections between multiple first computing nodes of the provided first computer network that include one or more first networking devices; receive second configuration information from a second client to configure a second computer network provided for use by the second client, the second configuration information indicating inter-connections between multiple second computing nodes of the provided second computer network that include one or more second networking devices; automatically configure the provided first computer network for the first client in accordance with the received first configuration information and automatically configure the provided second computer network for the second client in accordance with the received second configuration information, the configuring of the provided first and second computer networks including overlaying each of the provided first and second computer networks on a distinct third computer network without physically providing the one or more first networking devices and without physically providing the one or more second networking devices, the multiple first and second computing nodes being connected to the third computer network; forward multiple communications between the multiple first computing nodes over the third computer network without physically providing the one or more first networking devices, and forward multiple other communications between the multiple second computing nodes over the third computer network without physically providing the one or more second networking devices; in response to one or more requests from at least one of the first and second clients, establish a logical inter-connection between the provided first and second computer networks to enable communications between the multiple first computing nodes and the multiple second computing nodes in accordance with specified third configuration information for the logical inter-connection; and after one or more routing communications are received from the second computer network that are sent using the logical inter-connection, automatically determine to forward the received one or more routing communications to the first computer network based at least in part on the third configuration information, and forward the received one or more routing communications over the third computer network to one or more of the first computing nodes of the first computer network. - View Dependent Claims (25, 26)
-
Specification