Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows
First Claim
1. An overlay network that provides a plurality of client machines remote access to an application executing on a target server, wherein each client machine communicates with the application over the Internet using Internet Protocol (IP) transport, comprising:
- a domain name service that is authoritative for a hostname associated with the application;
a first server, a set of second servers, and a third server, wherein each server in the overlay network receives and processes communications over IP, the first server having a virtual IP address determined by resolution of the hostname associated with the application;
wherein, for each IP-based request data packet to be communicated between a client machine and the application executing on the target server, the first server encapsulates the request data packet, duplicates the request data packet as encapsulated, and forwards the request data packet as encapsulated to the third server, the request data packet being forwarded to the third server over each of a set of paths that include at least one second server, the set of paths including at least first and second paths from the first server to the third server that do not share a same second server, the first server subsequently receiving a response to the request data packet at the virtual IP address; and
wherein the third server processes received data to recover the request data packet, applies a network address translation to the request data packet as recovered, and forwards the request data packet to the target server for further processing by the application, wherein the network address translation also applies a source NAT to the packet before it is forwarded to the target server.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention leverages an existing content delivery network infrastructure to provide a system that enhances performance for any application that uses the Internet Protocol (IP) as its underlying transport mechanism. An overlay network comprises a set of edge nodes, intermediate nodes, and gateway nodes. This network provides optimized routing of IP packets. Internet application users can use the overlay to obtain improved performance during normal network conditions, to obtain or maintain good performance where normal default BGP routing would otherwise force the user over congested or poorly performing paths, or to enable the user to maintain communications to a target server application even during network outages.
73 Citations
10 Claims
-
1. An overlay network that provides a plurality of client machines remote access to an application executing on a target server, wherein each client machine communicates with the application over the Internet using Internet Protocol (IP) transport, comprising:
-
a domain name service that is authoritative for a hostname associated with the application; a first server, a set of second servers, and a third server, wherein each server in the overlay network receives and processes communications over IP, the first server having a virtual IP address determined by resolution of the hostname associated with the application; wherein, for each IP-based request data packet to be communicated between a client machine and the application executing on the target server, the first server encapsulates the request data packet, duplicates the request data packet as encapsulated, and forwards the request data packet as encapsulated to the third server, the request data packet being forwarded to the third server over each of a set of paths that include at least one second server, the set of paths including at least first and second paths from the first server to the third server that do not share a same second server, the first server subsequently receiving a response to the request data packet at the virtual IP address; and wherein the third server processes received data to recover the request data packet, applies a network address translation to the request data packet as recovered, and forwards the request data packet to the target server for further processing by the application, wherein the network address translation also applies a source NAT to the packet before it is forwarded to the target server. - View Dependent Claims (2, 3)
-
-
4. An overlay network that provides a plurality of client machines remote access to an application executing on a target server, wherein each client machine communicates with the application over the Internet using Internet Protocol (IP) transport, comprising:
-
a domain name service that is authoritative for a hostname associated with the application; a set of servers, wherein each server in the overlay network receives and processes communications over IP, the set of servers including at least a first server having a virtual IP address determined by resolution of the hostname associated with the application; and a controller executing business logic to determine whether an IP-based request data packet is communicated between a client machine and the application executing on the target server using the servers of the overlay network. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
Specification