System and method for improving internet communication by using intermediate nodes
First Claim
1. A method for fetching over the Internet a first content identified by a first content identifier, by a first device identified in the Internet by a first identifier, from a second server identified in the Internet by a third identifier and by using a first server, for use with a group of devices, each associated with a respective identifier for being identified in the Internet, the method comprising:
- communicating, by the first server, with each of the devices of the group, wherein the communicating is initiated by each of the devices of the group and includes receiving the respective identifier of each of the devices of the group;
storing, by the first server, the respective identifier of each of the devices in response to the communicating;
receiving, by the first server, a first message that comprises the first content identifier from the first device and a first physical geographical location;
selecting, by the first server, a device from the group by selecting the respective stored identifier of the device in response to the receiving of the first message;
sending, by the first server, the first content identifier to the selected device;
receiving, by the first server, the first content from the second server via the selected device in response to the sending of the first content identifier; and
sending the first content to the first device in response to the receiving of the first content from the second server,wherein each of the devices in the group is associated with a physical geographical location using geolocation that use a database that associates IP addresses of the devices to respective physical geographical locations,wherein the selecting is based on, or uses, the physical geographical location of the selected device compared to the first physical geographical location,wherein each of the devices comprises, or consists of, a smartphone,wherein the communication by the first server, with each of the devices of the group, further comprises receiving, by from each of the devices of the group, the device availability for receiving messages the first server and responding to the received messages,wherein the storing, by the first server, further comprises storing, by the first server, the respective availability of each of the devices,wherein the selecting further comprises selecting based on the availability of the selected device, andwherein the receiving, by the first server, the first content from the second server via the selected device uses a communication by the selected device as the source device, so that the second server is prevented from being aware of the first device.
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.
210 Citations
27 Claims
-
1. A method for fetching over the Internet a first content identified by a first content identifier, by a first device identified in the Internet by a first identifier, from a second server identified in the Internet by a third identifier and by using a first server, for use with a group of devices, each associated with a respective identifier for being identified in the Internet, the method comprising:
-
communicating, by the first server, with each of the devices of the group, wherein the communicating is initiated by each of the devices of the group and includes receiving the respective identifier of each of the devices of the group; storing, by the first server, the respective identifier of each of the devices in response to the communicating; receiving, by the first server, a first message that comprises the first content identifier from the first device and a first physical geographical location; selecting, by the first server, a device from the group by selecting the respective stored identifier of the device in response to the receiving of the first message; sending, by the first server, the first content identifier to the selected device; receiving, by the first server, the first content from the second server via the selected device in response to the sending of the first content identifier; and sending the first content to the first device in response to the receiving of the first content from the second server, wherein each of the devices in the group is associated with a physical geographical location using geolocation that use a database that associates IP addresses of the devices to respective physical geographical locations, wherein the selecting is based on, or uses, the physical geographical location of the selected device compared to the first physical geographical location, wherein each of the devices comprises, or consists of, a smartphone, wherein the communication by the first server, with each of the devices of the group, further comprises receiving, by from each of the devices of the group, the device availability for receiving messages the first server and responding to the received messages, wherein the storing, by the first server, further comprises storing, by the first server, the respective availability of each of the devices, wherein the selecting further comprises selecting based on the availability of the selected device, and wherein the receiving, by the first server, the first content from the second server via the selected device uses a communication by the selected device as the source device, so that the second server is prevented from being aware of 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, 24, 25, 26, 27)
-
Specification