System and method for improving internet communication by using intermediate nodes
First Claim
1. A method for anonymously fetching a first content by a first device from a second server over the Internet via a first server, the first content identified in the Internet by a first URL and the first device is identified in the Internet by a first Internet Protocol (IP) address, and for anonymously fetching a second content by the first device from the second server over the Internet via the first server, the second content identified in the Internet by a second URL, for use with a group of client devices each identified in the Internet using a respective IP address, the method by the first server comprising:
- receiving a message over the Internet from each of the client devices in the group;
storing, in response to the receiving of the messages, the IP addresses of each of the client devices in the group;
receiving the first URL over the Internet from the first device;
selecting a client device from the group in response to the receiving of the first URL;
sending the first URL over the Internet to the selected client device;
receiving the first content over the Internet via the selected client device from the second server;
sending the first content over the Internet to the first device;
receiving the second URL over the Internet from the first device;
selecting an additional client device from the group in response to the receiving of the second URL;
sending the second URL over the Internet to the selected additional client device;
receiving the second content over the Internet via the selected additional client device from the second server; and
sending the second content over the Internet to the first device.
5 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.
253 Citations
23 Claims
-
1. A method for anonymously fetching a first content by a first device from a second server over the Internet via a first server, the first content identified in the Internet by a first URL and the first device is identified in the Internet by a first Internet Protocol (IP) address, and for anonymously fetching a second content by the first device from the second server over the Internet via the first server, the second content identified in the Internet by a second URL, for use with a group of client devices each identified in the Internet using a respective IP address, the method by the first server comprising:
-
receiving a message over the Internet from each of the client devices in the group; storing, in response to the receiving of the messages, the IP addresses of each of the client devices in the group; receiving the first URL over the Internet from the first device; selecting a client device from the group in response to the receiving of the first URL; sending the first URL over the Internet to the selected client device; receiving the first content over the Internet via the selected client device from the second server; sending the first content over the Internet to the first device; receiving the second URL over the Internet from the first device; selecting an additional client device from the group in response to the receiving of the second URL; sending the second URL over the Internet to the selected additional client device; receiving the second content over the Internet via the selected additional client device from the second server; and sending the second content over the Internet to the first device. - 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)
-
Specification