Embedding overlay virtual network addresses in underlying substrate network addresses
First Claim
1. A method for a computing system to manage communications between computing nodes, the method comprising:
- under control of a communication manager module that manages communications for multiple associated computing nodes, the communication manager module being provided by a program execution service that executes multiple programs for multiple customers and the multiple associated computing nodes being provided by the program execution service for use in the executing of the multiple programs,receiving an indication of an outgoing communication from an executing program on a sending node that is one of the associated computing nodes for the communication manager module, the program being executed on behalf of a first customer of the program execution service and the outgoing communication being intended for a remote destination node that is one of multiple other computing nodes associated with another remote communication manager module of the program execution service, the one other computing node executing one or more other programs on behalf of the first customer, the sending and destination nodes being part of a first virtual network that uses a first network addressing protocol such that the destination node has a first destination network address that is a virtual network address for the first virtual network specified in accordance with the first network addressing protocol, the communication manager module being communicatively connected to the another communication manager module via at least one other second physical network that uses a distinct second network addressing protocol; and
facilitating sending of the outgoing communication from the sending node to the destination node over the at least one second network by,automatically generating a distinct second destination network address for the destination node that is specified in accordance with the second network addressing protocol, the second destination network address including a partial destination network address for the destination node based on the second network addressing protocol that corresponds to the another communication manager module and including an embedded representation of the first destination network address specified in accordance with the first network addressing protocol, the automatic generating being performed by one or more configured processors of the computing system; and
initiating use of the generated second destination network address to forward the outgoing communication to the destination node via routing of the forwarded communication to the another communication manager module over the at least one second network, the initiating of the use of the generated second destination network address being performed by the one or more configured processors.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for managing communications between multiple computing nodes, such as computing nodes that are separated by one or more physical networks. In some situations, the techniques may be used to provide a virtual network between multiple computing nodes that are separated by one or more intermediate physical networks, such as from the edge of the one or more intermediate physical networks by modifying communications that enter and/or leave the intermediate physical networks. In some situations, the computing nodes may include virtual machine nodes hosted on one or more physical computing machines or systems, such as by or on behalf of one or more users (e.g., users of a program execution service). The managing of the communications may include using substrate network addresses that are configured to embed virtual network addresses for a virtual network that is overlaid on the underlying physical substrate network.
-
Citations
25 Claims
-
1. A method for a computing system to manage communications between computing nodes, the method comprising:
under control of a communication manager module that manages communications for multiple associated computing nodes, the communication manager module being provided by a program execution service that executes multiple programs for multiple customers and the multiple associated computing nodes being provided by the program execution service for use in the executing of the multiple programs, receiving an indication of an outgoing communication from an executing program on a sending node that is one of the associated computing nodes for the communication manager module, the program being executed on behalf of a first customer of the program execution service and the outgoing communication being intended for a remote destination node that is one of multiple other computing nodes associated with another remote communication manager module of the program execution service, the one other computing node executing one or more other programs on behalf of the first customer, the sending and destination nodes being part of a first virtual network that uses a first network addressing protocol such that the destination node has a first destination network address that is a virtual network address for the first virtual network specified in accordance with the first network addressing protocol, the communication manager module being communicatively connected to the another communication manager module via at least one other second physical network that uses a distinct second network addressing protocol; and facilitating sending of the outgoing communication from the sending node to the destination node over the at least one second network by, automatically generating a distinct second destination network address for the destination node that is specified in accordance with the second network addressing protocol, the second destination network address including a partial destination network address for the destination node based on the second network addressing protocol that corresponds to the another communication manager module and including an embedded representation of the first destination network address specified in accordance with the first network addressing protocol, the automatic generating being performed by one or more configured processors of the computing system; and initiating use of the generated second destination network address to forward the outgoing communication to the destination node via routing of the forwarded communication to the another communication manager module over the at least one second network, the initiating of the use of the generated second destination network address being performed by the one or more configured processors. - View Dependent Claims (2, 3)
-
4. A computer-implemented method for managing communications between computing nodes, the method comprising:
-
receiving an indication related to a communication to be sent from a source computing node to a destination computing node, the source and destination computing nodes being part of a virtual network that uses a first network addressing protocol such that the destination computing node has a virtual network address for the virtual network specified in accordance with the first network addressing protocol, the source computing node being communicatively connected to the destination computing node via at least one intermediate network that uses a distinct second network addressing protocol, the virtual network being provided for a first customer of a program execution service that executes multiple programs for multiple customers on multiple provided computing nodes, the source and destination computing nodes being part of the multiple provided computing nodes and each executing at least one program from the program execution service on behalf of the first customer; facilitating sending of the communication from the source computing node to the destination computing node over the at least one intermediate network, the facilitating being automatically performed by at least one of one or more configured computing systems that provide the program execution service and including automatically generating a destination network address for the destination computing node that is specified in accordance with the second network addressing protocol, the destination network address including a partial destination network address for the destination computing node that corresponds to multiple computing nodes and including a representation of the virtual network address for the destination computing node; and initiating use of the generated destination network address in routing the communication over the at least one intermediate network to the destination computing node, the initiating use of the generated destination network address being performed by at least one of the one or more configured computing systems. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable medium whose contents configure a computing system to manage communications, by performing a method comprising:
-
receiving an indication related to a communication intended for a destination node, the destination node being part of a first virtual network that uses a first network addressing protocol and having an associated first virtual network address using the first network addressing protocol, the communication being from a program executing on a sending node on behalf of a first customer of a program execution service that executes multiple programs for multiple customers on multiple provided computing nodes and to be sent via one or more networks that use a distinct second network addressing protocol, the first virtual network being provided for the first customer of the program execution service, the sending and destination nodes being part of the multiple provided computing nodes and each executing at least one program from the program execution service on behalf of the first customer; automatically determining a destination network address for the destination node using the second network addressing protocol, the destination network address including a partial destination network address for the destination node that corresponds to multiple computing nodes based on the second network addressing protocol and including an indication of the first virtual network address for the destination node, the automatic determining being performed by the configured computing system; and initiating use of the determined destination network address in routing the communication over the one or more networks to the destination node. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A system structured to manage communications between computing nodes, comprising:
-
one or more memories of one or more computing systems; and at least one of multiple communication manager modules of a program execution service that are configured to manage communications between multiple computing nodes via one or more intermediate networks, the multiple computing nodes being associated with the program execution service that executes multiple programs on behalf of multiple customers of the program execution service, such that each communication manager module manages communications for an associated group of the multiple computing nodes by; after receiving an indication related to one or more communications from a source computing node to a destination computing node that is part of the associated group for another of the communication manager modules, the source computing node being one of the computing nodes of the associated group for the communication manager module, determining a destination network address for use with the one or more communications that is specified in accordance with a network addressing protocol used by the one or more intermediate networks, the determined destination network address including a partial network address that corresponds to the another communication manager module whose associated group of computing nodes includes the destination node, the determined destination network address further including an indication of a network address of the destination node specified in accordance with a distinct other network addressing protocol used by the source computing node; and initiating use of the determined destination network address to forward the one or more communications over the one or more intermediate networks to the destination computing node. - View Dependent Claims (22, 23, 24, 25)
-
Specification