Use of virtual endpoints to improve data transmission rates
First Claim
1. A system comprising:
- a plurality of network transmission endpoints, individual network transmission endpoints including a processor and memory and configured with computer-executable instructions to enable computing devices to transmit information to the individual network transmission endpoints for forwarding to at least one of another network transmission endpoint or a destination computing device;
a point of presence (“
POP”
) comprising at least one computing device, the point of presence configured with computer-executable instructions to provision the at least one computing device with software enabling the at least one computing device to function as a virtual network transmission endpoint through which a first computing device communicates with a second computing device at least partly by transmitting first information to the virtual network transmission endpoint for forwarding to an additional endpoint from the plurality of network transmission endpoints and on to the second computing device; and
one or more computing devices implementing an endpoint selector, the one or more computing devices configured with specific computer-executable instructions to;
receive a request from the first computing device to transmit the first information through at least one of the plurality of network transmission endpoints for forwarding to the second computing device, wherein the request specifies the second computing device as a destination to which the first information should be transmitted;
determine that a network distance between the first computing device and the plurality of network transmission endpoints does not satisfy a threshold distance;
in response to determining that the network distance between the first computing device and the plurality of network transmission endpoints does not satisfy the threshold distance;
select the POP, based at least partly on a network distance between the first computing device and the POP, as a location in which to generate the virtual network transmission endpoint through which the first computing device communicates with the second computing device at least partly by transmitting the first information to the virtual network transmission endpoint for forwarding to the additional endpoint and on to the second computing device; and
transmit instructions to the POP to provision the at least one computing device with the software enabling the at least one computing device to function as the virtual network transmission endpoint at least partly by receiving the first information from the first computing device to be forwarded to the additional endpoint and on to the second computing device, and forwarding the first information to the additional endpoint; and
return an identifier of the POP to the first computing device;
wherein the at least one computing device of the POP executes the software at least partly by receiving the first information from the first computing device to be forwarded to the additional endpoint and on to the second computing device, and forwarding the first information to the additional endpoint; and
wherein the computer-executable instructions of the additional endpoint cause the additional endpoint to receive the first information from at least one computing device of the POP, and forward the communications to the second computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are described that enable high-data-rate network communications by use of a data transmission system, which can at least partially redirect data transmitted between two computing devices on a public network to a private network. The data transmission system may include a variety of endpoints at different locations, such that source and destination computing devices may pass information into and out of the data transmission system via the endpoints. To ensure that endpoints are able to communication with each computing device via a path of sufficient network quality, the data transmission system may dynamically generate additional endpoints within points of presence of the system. Where no endpoints or points of presence have a connection of sufficient quality to a source and destination computing device, the data transmission system may decline to transmit data, and instruct the source or destination computing devices to utilize traditional communication channels.
-
Citations
19 Claims
-
1. A system comprising:
-
a plurality of network transmission endpoints, individual network transmission endpoints including a processor and memory and configured with computer-executable instructions to enable computing devices to transmit information to the individual network transmission endpoints for forwarding to at least one of another network transmission endpoint or a destination computing device; a point of presence (“
POP”
) comprising at least one computing device, the point of presence configured with computer-executable instructions to provision the at least one computing device with software enabling the at least one computing device to function as a virtual network transmission endpoint through which a first computing device communicates with a second computing device at least partly by transmitting first information to the virtual network transmission endpoint for forwarding to an additional endpoint from the plurality of network transmission endpoints and on to the second computing device; andone or more computing devices implementing an endpoint selector, the one or more computing devices configured with specific computer-executable instructions to; receive a request from the first computing device to transmit the first information through at least one of the plurality of network transmission endpoints for forwarding to the second computing device, wherein the request specifies the second computing device as a destination to which the first information should be transmitted; determine that a network distance between the first computing device and the plurality of network transmission endpoints does not satisfy a threshold distance; in response to determining that the network distance between the first computing device and the plurality of network transmission endpoints does not satisfy the threshold distance; select the POP, based at least partly on a network distance between the first computing device and the POP, as a location in which to generate the virtual network transmission endpoint through which the first computing device communicates with the second computing device at least partly by transmitting the first information to the virtual network transmission endpoint for forwarding to the additional endpoint and on to the second computing device; and transmit instructions to the POP to provision the at least one computing device with the software enabling the at least one computing device to function as the virtual network transmission endpoint at least partly by receiving the first information from the first computing device to be forwarded to the additional endpoint and on to the second computing device, and forwarding the first information to the additional endpoint; and return an identifier of the POP to the first computing device; wherein the at least one computing device of the POP executes the software at least partly by receiving the first information from the first computing device to be forwarded to the additional endpoint and on to the second computing device, and forwarding the first information to the additional endpoint; and wherein the computer-executable instructions of the additional endpoint cause the additional endpoint to receive the first information from at least one computing device of the POP, and forward the communications to the second computing device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method comprising:
as implemented by a computing device executing specific computer-executable instructions for implementing an endpoint selector within a data transmission system; receiving a request from a first computing device to transmit information through the data transmission system for forwarding to a second computing device specified within the request as a destination to which the information should be transmitted, the data transmission system comprising at least one network transmission endpoint configured with computer-executable instructions to enable computing devices to transmit information to the individual network transmission endpoints for forwarding to at least one of another network transmission endpoint or a destination computing device; determining that a value of a network quality metric between the first computing device and the at least one network transmission endpoint does not satisfy a threshold value; in response to determining that the value of the network quality metric between the first computing device and the at least one network transmission endpoint does not satisfy a threshold value; selecting a point of presence (“
POP”
), based at least partly on a value of the network quality metric between the first computing device and the POP, as a location in which to generate a second network transmission endpoint through which the first computing device communicates with the second computing device at least partly by transmitting the information to the second network transmission endpoint for forwarding to the second computing device; andtransmitting instructions to the POP to provision a computing device of the POP with software enabling the computing device of the POP to function as the second network transmission endpoint at least partly by receiving the information from the first computing device to be forwarded to the second computing device, and forwarding the information to the second computing device; and returning an identifier of the POP to the first computing device, wherein the first computing device utilizes the identifier of the POP to communicate with the second computing device via the data transmission system. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. Non-transitory computer-readable media comprising computer-executable instructions that, when executed by a computing system, cause the computing system to:
-
receive a request from a first computing device to send data through a data transmission system for forwarding to a destination computing device specified within the request, the data transmission system comprising at least one network transmission endpoint configured with computer-executable instructions to enable computing devices to transmit information to at least one of the network transmission endpoints for forwarding to at least one of another network transmission endpoint or the destination computing device; determine that a value of a network quality metric of a communication path between the first computing device and the at least one network transmission endpoint, does not satisfy a threshold value; in response to determining that the value of the network quality metric of the communication path between the first computing device and the at least one network transmission endpoint does not satisfy a threshold value; select a point of presence (“
POP”
), based at least partly on a value of the network quality metric of a communication path between the first computing device and the POP, as a location in which to generate a second network transmission endpoint through which the first computing device communicates with the destination computing device at least partly by transmitting the data to the second network transmission endpoint for forwarding to the second computing device; andtransmit instructions to the POP to provision a computing device of the POP with software enabling the computing device of the POP to function as the second network transmission endpoint at least partly by receiving the data from the first computing device to be forwarded to the second computing device, and forwarding the data to the second computing device; and return an identifier of the POP to the first computing device. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification