Managing encoded multi-part communications
First Claim
1. A computer-implemented method comprising:
- receiving, by one or more programmed computing systems, an indication of a communication to be sent from a first computing node of a virtual computer network to a second computing node of the virtual computer network;
determining, by the one or more programmed computing systems, multiple alternative paths between the first and second computing nodes over one or more intervening networks;
before forwarding the communication over the one or more intervening networks, determining, by the one or more programmed computing systems, a quantity of multiple parts into which to encode the communication based at least in part on information about the determined multiple alternative paths;
encoding, by the one or more programmed computing systems, the communication into the determined quantity of multiple parts; and
initiating forwarding each of the multiple parts of the encoded communication from the first computing node to the second computing node along one of the multiple alternative paths, wherein each of the multiple alternative paths is used to forward at least one of the multiple parts.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for providing managed computer networks. In some situations, the techniques include managing communications for computing nodes of a managed computer network by automatically determining to separate a particular outgoing packet or other outgoing communication from a source computing node into multiple parts (e.g., multiple packets) to be independently sent using two or more alternative network paths between the sending computing node and the destination for the communication. For example, a manager module associated with the source computing node may automatically determine to encode the outgoing communication into a dynamically determined quantity of multiple parts (e.g., by using a configurable erasure code), such as based on current information about available alternative paths, and another manager module associated with the destination may receive at least some of the multiple parts and decode them into the original outgoing communication, which is then provided to the destination.
44 Citations
25 Claims
-
1. A computer-implemented method comprising:
-
receiving, by one or more programmed computing systems, an indication of a communication to be sent from a first computing node of a virtual computer network to a second computing node of the virtual computer network; determining, by the one or more programmed computing systems, multiple alternative paths between the first and second computing nodes over one or more intervening networks; before forwarding the communication over the one or more intervening networks, determining, by the one or more programmed computing systems, a quantity of multiple parts into which to encode the communication based at least in part on information about the determined multiple alternative paths; encoding, by the one or more programmed computing systems, the communication into the determined quantity of multiple parts; and initiating forwarding each of the multiple parts of the encoded communication from the first computing node to the second computing node along one of the multiple alternative paths, wherein each of the multiple alternative paths is used to forward at least one of the multiple parts. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
one or more hardware processors of one or more computing systems; and a module that is configured to, when executed by at least one of the one or more hardware processors, manage communications for a computing node by; receiving an indication of a first communication to be sent from the computing node to a first indicated destination; encoding the first communication into a first quantity of multiple parts, wherein the first quantity is based at least in part on a first group of multiple alternative paths from the computing node to the first indicated destination; initiating forwarding each of the multiple parts of the encoded first communication along one of the multiple alternative paths of the first group, wherein each of the multiple alternative paths of the first group is used to forward at least one of the multiple parts of the first communication; receiving an indication of a second communication to be sent from the computing node to a second indicated destination; encoding the second communication into a second quantity of multiple parts, wherein the second quantity is distinct from the first quantity and is based at least in part on a second group of multiple alternative paths from the computing node to the second indicated destination; and initiating forwarding each of the multiple parts of the encoded second communication along one of the multiple alternative paths of the second group, wherein each of the multiple alternative paths of the second group is used to forward at least one of the multiple parts of the second communication. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A non-transitory computer-readable medium having stored contents that configure a computing system to:
-
receive an indication of a communication to be sent from a first computing node to a second computing node over one or more intervening networks; before forwarding the communication over the one or more intervening networks, determine, by the configured computing system, a quantity of multiple parts into which to encode the communication based at least in part on multiple alternative paths that are available between the first and second computing nodes over the one or more intervening networks; encode, by the configured computing system, the communication into the determined quantity of multiple parts; and forward each of the multiple parts of the encoded communication from the first computing node to the second computing node along one of the multiple alternative paths, wherein each of the multiple alternative paths is used to forward at least one of the multiple parts. - View Dependent Claims (22, 23, 24, 25)
-
Specification