EP4676000A2

System and method for improving content fetching by selecting tunnel devices

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 tunnel device is selected based on an attribute, such as IP Geolocation. A tunnel bank server stores a list of available tunnels that may be used, associated with values of various attribute types. The tunnel devices initiate communication with the tunnel bank server, and stays connected to it, for allowing a communication session initiated by the tunnel bank server. Upon receiving a request from a client to a content and for specific attribute types and values, a tunnel is selected by the tunnel bank server, and is used as a tunnel for retrieving the required content from the web server, using standard protocol such as SOCKS, WebSocket or HTTP Proxy. The client only communicates with a super proxy server that manages the content fetching scheme.

EP4676000A2, drawing sheet 1
Sheet 1 of 87

Term

11.9 yearsto projected expiry

Projected expiry 16 August 2038, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

19 claims: 1 independent, 18 dependent

  1. 1
    A method for fetching a content that is identified by a content identifier by a client device (31a) from a web server (22b) using a group of devices (31a-e), for use with distinct first (71) and second (72) servers that communicates over the Internet, wherein each device of the group of devices (31a-e) is connected to the Internet, is addressable in the Internet using a respective Internet Protocol, IP, address, and is configured to serve as an intermediate device, wherein the first server (71) stores a list (73) of devices by the IP addresses associated with the devices in the group, the method comprising:sending (121a), by the client device to the second server (72) over the Internet, a request message that comprises the content identifier;receiving (121a, 202), by the second server from the client device over the Internet, the request message;sending (131a, 212), by the second server to the first server over the Internet, a first message in response to the received request message;and receiving (131a, 224, 202), by the first server from the second server over the Internet, the first message;selecting (146), by the first server, a device from the list of devices by selecting an IP address that is associated with the selected device, in response to the received first message;sending (131b, 203), by the first server to the selected device over the Internet, a second message using the selected IP address of the selected device, the second message comprising the IP address of the second server;receiving (131b), by the selected device from the first server over the Internet, the second message;sending (131c, 175), by the selected device to the web server over the Internet, a content request that comprises the content identifier, in response to the received second message;receiving (131d, 176), by the selected device from the web server over the Internet, the content, in response to the content request;sending (194, 225), by the selected device to the second server over the Internet, the content received by the selected device from the web server;receiving (194, 216), by the second server from the selected device over the Internet, the content;sending (131g, 154), by the second server to the client device over the Internet, in response to the receiving the content from the selected device, the content received by the second server from the selected device;and receiving (131g), by the client device from the second server over the Internet, the content in response to the request message.