Method and system for high-performance delivery of web content using high-performance communications protocols to optimize a measure of communications performance between a source and a destination
First Claim
1. A method for communicating an Internet message between a source and a destination over the Internet, comprising:
- selecting a node of a first type;
selecting a node of a second type;
communicating a network address of the selected node of a first type to the source;
communicating a network address of the selected node of a second type to the selected node of a first type;
receiving an Internet message from the source at the selected node of a first type using a first communication protocol;
communicating the Internet message from the selected node of a first type to the selected node of a second type using a second communication protocol; and
communicating the Internet message from the selected node of a second type to the destination using a third communication protocol;
wherein the first communication protocol and the third communication protocol are each a standard TCP over IP communication protocol, and the second communication protocol is a modified TCP over IP protocol to provide high performance over the second communication protocol, andwherein the selected node of a first type and the selected node of a second type are selected to optimize a measure of communications performance for a sub-link between the source and the node of a first type, a sub-link between the node of a first type and the node of a second type, and a sub-link between the node of a second type and the destination.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for increasing the performance of world-wide-web traffic over the Internet. A distributed network of specialized nodes of two types is dispersed around the Internet. A web client'"'"'s requests are directed to a node of the first type chosen to be close to the client, and the client communicates with this node using a standard protocol such as HTTP. This first node receives the request, and communicates the request to a node of the second type chosen to be close to the request'"'"'s ultimate destination (e.g., a web server capable of generating a response to the request.) The first node communicates the request to the second node using a different, specialized, protocol that has been designed for improved performance and specifically to reduce traffic volume and to reduce latency. The second node receives communication from the first node using this specialized protocol, converts it back to a standard protocol such as HTTP, and forwards the request to the destination computer or server. Responses from the destination to the client take the corresponding reverse route, and also are carried over a specialized protocol between the two nodes. In addition, these nodes can employ other techniques such as web caches that avoid or improve some communication steps. Thus, specialized, proprietary, or complex protocols and techniques can be quickly deployed to enhance web performance without requiring significant changes to the clients or servers.
-
Citations
28 Claims
-
1. A method for communicating an Internet message between a source and a destination over the Internet, comprising:
-
selecting a node of a first type; selecting a node of a second type; communicating a network address of the selected node of a first type to the source; communicating a network address of the selected node of a second type to the selected node of a first type; receiving an Internet message from the source at the selected node of a first type using a first communication protocol; communicating the Internet message from the selected node of a first type to the selected node of a second type using a second communication protocol; and communicating the Internet message from the selected node of a second type to the destination using a third communication protocol; wherein the first communication protocol and the third communication protocol are each a standard TCP over IP communication protocol, and the second communication protocol is a modified TCP over IP protocol to provide high performance over the second communication protocol, and wherein the selected node of a first type and the selected node of a second type are selected to optimize a measure of communications performance for a sub-link between the source and the node of a first type, a sub-link between the node of a first type and the node of a second type, and a sub-link between the node of a second type and the destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for communicating an Internet message from a source to a destination over the Internet, comprising:
-
a plurality of nodes including one or more nodes of a first type and one or more nodes of a second type; a first selector to identify a node of a first type from the one or more nodes of a first type and communicate a network address of the identified node of a first type to the source; and a second selector to identify a node of a second type from the one or more nodes of a second type and communicate a network address of the identified node of a second type to the identified node of a first type; wherein each node of a first type comprises; a receiver to receive the Internet message from the source using a first communication protocol; a transmitter to communicate the Internet message to a selected node of a second type using a second communication protocol; and each node of a second type comprises; a receiver to receive the Internet message from a selected node of a first type; and a transmitter to communicate the Internet message to the destination using a third communication protocol; wherein the first communication protocol and the third communication protocol are each a standard TCP over IP communication protocol, and the second communication protocol is a modified TCP over IP protocol to provide high performance over the second communication protocol, and wherein the identified node of a first type and the identified node of a second type are selected to optimize a measure of communications performance for a sub-link between the source and the node of a first type, a sub-link between the node of a first type and the node of a second type, and a sub-link between the node of a second type and the destination. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system for communicating an Internet message from a source to a destination over the Internet, comprising:
-
a plurality of nodes including one or more nodes of a first type and one or more nodes of a second type; a selector to identify a node of a first type from the one or more nodes of a first type and communicate a network address of the identified node of a first type to the source, and to identify a node of a second type from the one or more nodes of a second type and communicate a network address of the identified node of a second type to the identified node of a first type; wherein each node of a first type comprises; a receiver to receive the Internet message from the source using a first communication protocol; a transmitter to communicate the Internet message to a selected node of a second type using a second communication protocol; and each node of a second type comprises; a receiver to receive the Internet message from a selected node of a first type; and a transmitter to communicate the Internet message to the destination using a third communication protocol; wherein the first communication protocol and the third communication protocol are each a standard TCP over IP communication protocol, and the second communication protocol is a modified TCP over IP protocol to provide high performance over the second communication protocol, and wherein the selector identifies a node of a first type and a node of a second type that optimize a measure of communications performance for a sub-link between the source and the node of a first type, a sub-link between the node of a first type and the node of a second type, and a sub-link between the node of a second type and the destination. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A system for communicating an Internet message from a source to a destination over the Internet, comprising:
-
a plurality of nodes including one or more nodes of a first type and one or more nodes of a second type; a first selector to identify a node of a first type from the one or more nodes of a first type and communicate a network address of the identified node of a first type to a redirector; and a second selector to identify a node of a second type from the one or more nodes of a second type and communicate a network address of the identified node of a second type to the identified node of a first type; the redirector to redirect the Internet message from the source to the selected node of a first type; wherein each node of a first type comprises; a receiver to receive the Internet message from the source using a first communication protocol; a transmitter to communicate the Internet message to a selected node of a second type using a second communication protocol; and each node of a second type comprises; a receiver to receive the Internet message from a selected node of a first type; and a transmitter to communicate the Internet message to the destination using a third communication protocol; wherein the first communication protocol and the third communication protocol are each a standard TCP over IP communication protocol, and the second communication protocol is a modified TCP over IP protocol to provide high performance over the second communication protocol, and wherein the identified node of a first type and the identified node of a second type are selected to optimize a measure of communications performance for a sub-link between the source and the node of a first type, a sub-link between the node of a first type and the node of a second type, and a sub-link between the node of a second type and the destination.
-
-
28. A system for providing web content to a source, comprising:
-
a plurality of nodes; and a selector to identify a node from the plurality of nodes and communicate a network address of the identified node to the source; wherein each node comprises; a receiver to receive an Internet message comprising a request for web content from the source using a first communication protocol; a cache; a first transmitter to communicate the Internet message to a selected node of a second type using a second communication protocol, wherein the first communication protocol is a standard TCP over IP communication protocol, and the second communication protocol is a modified TCP over IP protocol to provide high performance over the second communication protocol; and a second transmitter to communicate web content from the cache to the source; wherein the selector identifies the node to optimize a measure of communications performance, the measure of communications performance including at least a metric for a sub-link between the node and a destination, and wherein the measure of communications performance is a combination of the network distance between the source and the node, the network distance between the node and the destination, and the probability that the requested web content is in the cache of the node.
-
Specification