Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for communicating between a plurality of computing nodes, the computing nodes configured to communicate over a physical network, comprising: receiving from a first computing node of the plurality of computing nodes a first indicator of at least one virtual networking protocol that the first computing node is configured to use; receiving from a second computing node of the plurality of computing nodes a second indicator of at least one virtual networking protocol that the second computing node is configured to use; and sending a third indicator to the first computing node, the third indicator indicative of a virtual networking protocol selected from a plurality of virtual networking protocols based on the first indicator and the second indicator, wherein the first computing node sends a network packet over the physical network to the second computing node, the network packet bearing information formatted according to the virtual networking protocol selected from the plurality of virtual networking protocols.
2. The method of claim 1 , further comprising: receiving an indication to instantiate a virtual machine (VM) instance on the plurality of computing nodes, and an indication of a virtual networking protocol to be used by a computing node that hosts the VM instance; selecting a third computing node of the plurality of computing nodes on which to place the VM instance based at least in part on the third computing node being configured to use the virtual networking protocol to be used by the computing node that hosts the VM instance; and instantiating the VM instance on the third computing node.
3. The method of claim 2 , further comprising: sending at least one computing node of the plurality of computing nodes that is separate from the third computing node an indication to use the virtual networking protocol to be used by the computing node that hosts the VM instance when sending communications to the VM instance.
4. The method of claim 2 , wherein the indication of the virtual networking protocol to be used by the computing node that hosts the VM instance comprises at least one required protocol capability and at least one desired protocol capability, and wherein selecting the third computing node comprises: selecting the computing node on which to place the VM instance in response to determining that the third computing node is configured to use the at least one required protocol capability, the third computing node has sufficient load to execute the VM instance, a policy indicates that it is acceptable to execute the VM instance on the third computing node, and no computing node of the plurality of computing node is configured to use the at least one desired protocol capability.
5. A system, comprising: a plurality of computing nodes; and a memory bearing instructions that, upon execution by a processor, cause a computing node of the plurality of computing nodes at least to: receive an indication of at least one communication capability among a plurality of communication capabilities of a source computing node of the plurality of computing nodes; receive an indication of at least one communication capability among a plurality of communication capabilities of a destination computing node of the plurality of computing nodes; select a selected communication capability based on the indication of at least one communication capability among a plurality of communication capabilities of the source computing node and the indication of at least one communication capability among a plurality of communication capabilities of the destination computing node; and send an indication to the source computing node to use the selected communication capability in communicating with the destination computing node, wherein the source computing node sends a network packet over a first network to the destination computing node, the network packet bearing information formatted according to the selected communication capability.
6. The system of claim 5 , wherein the memory further bears instructions that, upon execution by the processor, cause the system at least to: receive, by the source computing node a mapping between a network address on a second network used by the destination computing node and a network address on the first network used by the destination computing node to identify the destination computing node; and wherein the instructions that, upon execution by the processor, cause the system at least to modify the network packet according to the selected communication capability further cause the system at least to modify the network packet so that the modified network packet identifies a destination of the modified network packet as the network address on the first network, where the network packet identifies a destination of the network packet as the network address on the second network.
7. The system of claim 5 , wherein there are a first communication capability and a second communication capability, the second communication capability offering functionality not offered by the first communication capability, and wherein the instructions that, upon execution by the processor, cause the system to select the selected communication capability further cause the system at least to: select the second communication capability as the selected communication capability in response to determining that the source computing node and the destination computing node each have the first communication capability and the second communication capability.
8. The system of claim 5 , wherein there are a first communication capability and a second communication capability, the second communication capability offering functionality not offered by the first communication capability, and wherein the instructions that, upon execution by the processor, cause the system to select the selected communication capability further cause the system at least to: select the first communication capability as the selected communication capability in response to determining that the source computing node and the destination computing node each have the first communication capability, the source computing node has the second communication capability, and the destination computing node lacks the second communication capability.
9. The system of claim 5 , wherein there are a first communication capability and a second communication capability, the second communication capability offering functionality not offered by the first communication capability, and wherein the instructions that, upon execution by the processor, cause the system to select the selected communication capability further cause the system at least to: select the first communication capability as the selected communication capability in response to determining that the source computing node and the destination computing node each have the first communication capability, the source computing node lacks the second communication capability, and the destination computing node has the second communication capability.
10. The system of claim 5 , wherein there are a first communication capability and a second communication capability, the second communication capability offering functionality not offered by the first communication capability, and wherein the instructions that, upon execution by the processor, cause the system to select the selected communication capability further cause the system at least to: select the first communication capability as the selected communication capability in response to determining that the source computing node and the destination computing node each have the first communication capability and the second communication capability.
11. The system of claim 10 , wherein the instructions that, upon execution by the processor, cause the system to select the selected communication capability further cause the system at least to: select the first communication capability as the selected communication capability in response to determining that a policy indicates not to use the second communication capability in communications between the source computing node and the destination computing node.
12. The system of claim 5 , wherein the selected communication capability comprises an indication to use encryption, an indication not to use encryption, a format to use when encoding packets, a size of a field for packets, and order of fields for packets, an integrity check, an indication to use compression, an indication not to use compression, or an indication of a configuration for flow control.
13. The system of claim 5 , wherein the instructions that, upon execution by the processor, cause the system at least to receive the indication of communication capabilities of the source computing node further cause the system at least to: receive the indication of communication capabilities of the source computing node from a computing node different from the source computing node; and wherein the instructions that, upon execution by the processor, cause the system at least to receive the indication of communication capabilities of the destination computing node further cause the system at least to receive the indication of the communication capabilities of the source computing node from a computing node different from the destination computing node.
14. The system of claim 5 , wherein the plurality of computing nodes are part of a compute service platform that provides compute resources to a plurality of customers.
15. The system of claim 5 , wherein the instructions that, upon execution by the processor, cause the system at least to select the selected communication capability further cause the system at least to: select the selected communication capability based on the indication of at least one communication capability among a plurality of communication capabilities of the source computing node, the indication of at least one communication capability among a plurality of communication capabilities of the destination computing node, and a policy that governs communications between the source computing node and the destination computing node.
16. The system of claim 15 , wherein the policy is determined in response to input from an administrator or a customer.
17. The system of claim 5 , wherein the instructions that, upon execution by the processor, cause the system at least to send the indication to the source computing node to use the selected communication capability in communicating with the destination computing node, wherein the source computing node sends a network packet over a first network to the destination computing node, the network packet bearing information formatted according to the selected communication capability further cause the system at least to: send the indication to the source computing node to use the selected communication capability in communicating with the destination computing node, wherein the source computing node sends a network packet over a first network to the destination computing node, the network packet bearing information formatted according to the selected communication capability, and wherein the destination computing node receives the network packet over the first network from the source computing node, parses the network packet according to the selected communication capability, and drops the network packet where the network packet lacks the selected communication capability.
18. A non-transitory computer-readable storage medium bearing computer-executable instructions that, when executed on a computing node, cause the computing node to perform operations comprising: receiving an indication of communication capabilities of a source computing node of a plurality of computing nodes; receiving an indication of communication capabilities of a destination computing node of the plurality of computing nodes; selecting a selected communication capability based on a received indication of communication capabilities of the source computing node and the indication of communication capabilities of the destination computing node; and sending an indication to the source computing node to use the selected communication capability in communicating with the destination computing node, wherein the source computing node sends a network packet over a first network to the destination computing node, the network packet bearing information formatted according to the selected communication capability.
19. The computer-readable storage medium of claim 18 , further bearing computer-executable instructions that, when executed on the computing node, cause the computing node to perform operations comprising: receiving, by the source computing node a mapping between a network address on a second network used by the destination computing node and a network address on the first network used by the destination computing node to identify the destination computing node; and wherein modifying the network packet according to the selected communication capability comprises modifying the network packet so that the modified network packet identifies a destination of the modified network packet as the network address on the first network, where the network packet identifies a destination of the network packet as the network address on the second network.
20. The computer-readable storage medium of claim 18 , wherein there are a first communication capability and a second communication capability, the second communication capability offering functionality not offered by the first communication capability and further bearing computer-executable instructions that, when executed on the computing node, cause the computing node to perform operations comprising: selecting the second communication capability as the selected communication capability in response to determining that the source computing node and the destination computing node each have the first communication capability and the second communication capability.
21. The computer-readable storage medium of claim 18 , wherein there are a first communication capability and a second communication capability, the second communication capability offering functionality not offered by the first communication capability, and further bearing computer-executable instructions that, when executed on the computing node, cause the computing node to perform operations comprising: selecting the first communication capability as the selected communication capability in response to determining that the source computing node and the destination computing node each have the first communication capability, the source computing node has the second communication capability, and the destination computing node lacks the second communication capability.
22. The computer-readable storage medium of claim 18 , wherein there are a first communication capability and a second communication capability, the second communication capability offering functionality not offered by the first communication capability, and further bearing computer-executable instructions that, when executed on the computing node, cause the computing node to perform operations comprising: selecting the first communication capability as the selected communication capability in response to determining that the source computing node and the destination computing node each have the first communication capability, the source computing node lacks the second communication capability, and the destination computing node has the second communication capability.
23. The computer-readable storage medium of claim 18 , further bearing computer-executable instructions that, when executed on the computing node, cause the computing node to perform operations comprising: receiving an indication to instantiate a third VM instance on the plurality of computing nodes, and an indication of a communication capability of the third VM instance; selecting a third computing node of the plurality of computing nodes on which to place the third VM instance based at least in part on the third computing node having the communication capability of the third VM instance; and instantiating the third VM instance on the third computing node.
24. The computer-readable storage medium of claim 23 , further bearing computer-executable instructions that, when executed on the computing node, cause the computing node to perform operations comprising: sending at least one computing node of the plurality of computing nodes that is separate from the third computing node an indication to use encryption when sending communications to the third VM instance.
25. The computer-readable storage medium of claim 23 , wherein the indication of a communication capability of the third VM instance comprises at least one required communication capability and at least one desired communication capability, and wherein selecting the third computing node of the plurality of computing nodes based at least in part on the third computing node having the communication capability of the third VM instance comprises: selecting the third computing node of the plurality of computing nodes on which to place the third VM instance in response to determining that the third computing node has the required communication and no computing node of the plurality of computing nodes has the desired communication capability.
26. The computer-readable storage medium of claim 23 , wherein the indication of a communication capability of the third VM instance comprises at least one required communication capability and at least one desired communication capability, and wherein selecting the third computing node of the plurality of computing nodes based at least in part on the third computing node having the communication capability of the third VM instance comprises: selecting the third computing node of the plurality of computing nodes on which to place the third VM instance in response to determining that the third computing node has the required communication and no computing node of the plurality of computing nodes has the required communication capability and the desired communication capability, and capacity to host the third VM instance.
27. The computer-readable storage medium of claim 18 , further bearing computer-executable instructions that, when executed on the computing node, cause the computing node to perform operations comprising: receiving an indication of user input indicative of the selected communication capability.
28. The computer-readable storage medium of claim 18 , wherein selecting the selected communication capability comprises: selecting the selected communication capability based on the indication of communication capabilities of the source computing node, the indication of communication capabilities of the destination computing node, and a policy that governs communications between the source computing node and the destination computing node.
29. The computer-readable storage medium of claim 18 , wherein sending the indication to the source computing node to use the selected communication capability in communicating with the destination computing node, wherein the source computing node sends a network packet over a first network to the destination computing node, the network packet bearing information formatted according to the selected communication capability further comprises: sending the indication to the source computing node to use the selected communication capability in communicating with the destination computing node, wherein the source computing node sends a network packet over a first network to the destination computing node, the network packet bearing information formatted according to the selected communication capability, and wherein the destination computing node receives the network packet over the first network from the source computing node, and parses the network packet according to the selected communication capability.
Unknown
July 19, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.