System and method for improving internet communication by using intermediate nodes
US-12143461-B2 · Nov 12, 2024 · US
US2020344084A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2020344084-A1 |
| Application number | US-202016826206-A |
| Country | US |
| Kind code | A1 |
| Filing date | Mar 21, 2020 |
| Priority date | Aug 28, 2017 |
| Publication date | Oct 29, 2020 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
1 . A method for fetching a content identified by a content identifier from a web server by using an appliance, for use with first and second servers and the appliance that are each connected to the Internet and are each addressable in the Internet using a respective IP address, the method by the appliance comprising: receiving, from the first or second server, a first message that comprises the content identifier; sending, to the web server, a content request that comprises the content identifier; receiving, from the web server, the content, in response to the content request; and sending, to the first or second server, the content. 2 . The method according to claim 1 , wherein the first message is received from the first server, and the content is sent to the second server in response to the first message. 3 . The method according to claim 1 , wherein the appliance is addressable in the Internet using a first IP address, the method further comprising sending, to the first server, a second message that comprises at least one value relating to at least one attribute type associated with the appliance. 4 . The method according to claim 3 , further comprising establishing a connection with the first server, and wherein the method further comprising responding, to a communication initiating by the first server using the established connection. 5 . The method according to claim 4 , wherein the established connection is a TCP connection using ‘Active OPEN’, ‘Passive OPEN’, or TCP keepalive mechanism. 6 . The method according to claim 4 , wherein the established connection is uses, or is based on, Virtual Private Network (VPN). 7 . The method according to claim 1 , wherein the sending, to the first or second server of the content comprises exclusively sending, to the first server, the content; or sending, to the second server, the content. 8 . The method according to claim 1 , wherein the first message comprises the IP address of the second server. 9 . The method according to claim 1 , further comprising in response to the receiving of the first message, initiating a communication, with the second server. 10 . The method according to claim 9 , wherein the initiating of the communication uses, or is based on, a Network Address Translator (NAT) traversal scheme. 11 . The method according to claim 9 , wherein the NAT traversal scheme is according to, based on, or uses, Internet Engineering Task Force (IETF) Request for Comments (RFC) 2663, IETF RFC 3715, IETF RFC 3947, IETF RFC 5128, IETF RFC 5245, IETF RFC 5389, or IETF RFC 7350. 12 . The method according to claim 9 , wherein the NAT traversal scheme is according to, based on, or uses, Traversal Using Relays around NAT (TURN), Socket Secure (SOCKS), NAT ‘hole punching’, Session Traversal Utilities for NAT (STUN), Interactive Connectivity Establishment, (ICE), UPnP Internet Gateway Device Protocol (IGDP), or Application-Level Gateway (ALG). 13 . The method according to claim 1 , wherein the communication over the Internet with the first or second server, is based on, uses, or is compatible with, Transmission Control Protocol over Internet Protocol (TCP/IP) protocol or connection. 14 . The method according to claim 1 , wherein the communication over the Internet with the first or second server, is based on, uses, or is compatible with, HTTP or HTTPS protocol or connection, wherein the first or second server serves as an HTTP or HTTPS server and the appliance serves as an HTTP or HTTPS client. 15 . The method according to claim 1 , wherein the communication over the Internet with the first or second server, is based on, uses, or is compatible with, Socket Secure (SOCKS) protocol or connection, wherein the first or second server serves as an SOCKS server and the appliance serves as an SOCKS client. 16 . The method according to claim 15 , wherein the SOCKS protocol or connection is according to, based on, or is compatible with, SOCKS4, SOCKS4a, or SOCKS5. 17 . The method according to claim 15 , wherein the SOCKS protocol or connection is according to, based on, or is compatible with, IETF RFC 1928, IETF RFC 1929, IETF RFC 1961, or IETF RFC 3089. 18 . The method according to claim 1 , wherein the communication over the Internet with the first or second server, is based on, uses, or is compatible with, HTTP Proxy protocol or connection, wherein the first or second server serves as an HTTP Proxy server and the appliance serves as an HTTP Proxy client. 19 . The method according to claim 1 , further operating in multiple states that includes an idle state and non-idle states, the method further comprising: responsive to being in one of the non-idle states, determining, if an idling condition is met; responsive to the determination that the idling condition is met, shifting to the idle state; responsive to being in the idle state, determining if an idling condition is met; and responsive to the determination that the idling condition is not met, shifting to one of the non-idle states. 20 . The method according to claim 19 , further comprising sending, to the first server, a message responsive to the appliance state. 21 . The method according to claim 19 , further comprising: sending, to the first server, a first status message in response to shifting to the idle state; and sending, to the first server, a second status message in response to shifting to a non-idle state. 22 . The method according to claim 19 , further comprising operating, an operating system or a program process or thread, and wherein the idling condition is determined to be met based on, or according to, activating or executing the process or thread by the operating system or the program. 23 . The method according to claim 22 , wherein the process or thread comprises a low-priority or background task, an idle process, or a screensaver. 24 . The method according to claim 22 , wherein the process or thread comprises using the entire screen for displaying. 25 . The method according to claim 19 , further comprising monitoring or metering, a resource utilization, and wherein the idling condition is determined to be met based on, or according to, the monitored or metered resource utilization being under a threshold. 26 . The method according to claim 25 , wherein the resource utilization comprises the utilization or a processor in the appliance. 27 . The method according to claim 19 , wherein the appliance comprises an input device for obtaining an input from a human user or operator, the method further comprising sensing, using the input device, the input, and wherein the idling condition is determined to be met based on, or according to, not receiving an input from the input device for a pre-set time interval. 28 . The method according to claim 27 , wherein the input device comprises a pointing device, a keyboard, a touchscreen, or a microphone. 29 . The method according to claim 19 , wherein the appliance comprises a motion sensor for sensing motion, acceleration, vibration, or location change of the appliance, the method further comprising sensing, using the motion sensor, the appliance motion, acceleration, vibration, or location change, and wherein the idling condition is determined to be met based on, or according to, respectively sensing the motion, the vibration, the acceleration, or the loca
Protocols · CPC title
in the application layer [OSI layer 7] · CPC title
in the transport layer [OSI layer 4] (H04L69/16 takes precedence) · CPC title
in the network layer [OSI layer 3], e.g. X.25 (H04L69/16 takes precedence) · CPC title
based on client or server locations · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.