System and method for improving internet communication by using intermediate nodes
First Claim
1. A method for fetching over the Internet, by a first device via a first server, a first content identified by a first content identifier and stored in a web server, for use with a group of multiple IP addresses, and for use with multiple client devices, where each one of the multiple client devices is addressed using a respective IP address from the group, the method comprising:
- selecting an IP address from the group;
sending, by the first device, the first content identifier to the first server;
receiving, by the first server, the first content identifier;
sending the first content identifier to the web server using the selected IP address;
receiving, by the first server, the first content from the web server;
sending, by the first server, the first content to the first device; and
receiving, by the first device, the first content,wherein the first device is a client device, andwherein the sending of the first content identifier to the web server comprises;
sending the first content identifier to a second device that is addressed in the Internet by the selected IP address;
sending, by the second device, the first content identifier to the web server;
receiving, by the second device, the first content from the web server; and
sending, by the second device, the first content to the first server.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for fetching a content from a web server to a client device is disclosed, using tunnel devices serving as intermediate devices. The client device accesses an acceleration server to receive a list of available tunnel devices. The requested content is partitioned into slices, and the client device sends a request for the slices to the available tunnel devices. The tunnel devices in turn fetch the slices from the data server, and send the slices to the client device, where the content is reconstructed from the received slices. A client device may also serve as a tunnel device, serving as an intermediate device to other client devices. Similarly, a tunnel device may also serve as a client device for fetching content from a data server. The selection of tunnel devices to be used by a client device may be in the acceleration server, in the client device, or in both. The partition into slices may be overlapping or non-overlapping, and the same slice (or the whole content) may be fetched via multiple tunnel devices.
183 Citations
27 Claims
-
1. A method for fetching over the Internet, by a first device via a first server, a first content identified by a first content identifier and stored in a web server, for use with a group of multiple IP addresses, and for use with multiple client devices, where each one of the multiple client devices is addressed using a respective IP address from the group, the method comprising:
-
selecting an IP address from the group; sending, by the first device, the first content identifier to the first server; receiving, by the first server, the first content identifier; sending the first content identifier to the web server using the selected IP address; receiving, by the first server, the first content from the web server; sending, by the first server, the first content to the first device; and receiving, by the first device, the first content, wherein the first device is a client device, and wherein the sending of the first content identifier to the web server comprises; sending the first content identifier to a second device that is addressed in the Internet by the selected IP address; sending, by the second device, the first content identifier to the web server; receiving, by the second device, the first content from the web server; and sending, by the second device, the first content to the first server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
Specification