Attribute-Based Tunnel Routing for Reliable Content Fetching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication methods over the Internet face inefficiencies and challenges in fetching content from web servers, particularly due to network congestion, traffic load balancing, and unpredictable network behavior, which can lead to packet loss, duplication, and out-of-order delivery.
Innovation Solution
The use of tunnel devices as intermediate nodes to enhance content fetching by optimizing communication pathways and improving reliability through mechanisms like TCP keepalive signals and HTTP persistent connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional Internet communication methods are used for fetching content from web servers, then basic connectivity is maintained, but network congestion, packet loss, and unpredictable network behavior occur leading to reduced reliability and efficiency
Solution Approach 1:
The patent introduces tunnel devices as intermediary nodes between the client device and web servers. These tunnel devices establish persistent TCP connections and maintain connection pools, acting as mediators that buffer and manage network communications. The tunnel devices send periodic keepalive signals to maintain connection stability, thereby resolving the technical contradiction by improving reliability while mitigating network congestion and packet loss through intermediate buffering and connection management.
2Productivity
If multiple TCP connections are established to web servers for parallel content fetching, then productivity is improved, but device complexity and connection management overhead increase
Solution Approach 1:
The patent merges multiple TCP connections into connection pools managed by tunnel devices. Instead of each client device individually managing numerous connections to multiple web servers, the tunnel device consolidates these connections into pooled resources. This combining approach maintains high productivity through parallel content fetching while reducing device complexity by centralizing connection management logic in the tunnel devices, which handle connection establishment, maintenance, and teardown.
Solution Approach 2:
The tunnel devices implement self-service mechanisms by automatically managing their own connection pools through periodic keepalive signals and adaptive connection maintenance. The system performs self-diagnosis and self-correction by detecting connection issues and automatically re-establishing connections without external intervention, thereby maintaining high productivity while minimizing the complexity burden on client devices.
3Productivity
If TCP connections are maintained open for persistent connections, then communication efficiency is improved, but network resources are consumed and connections may become stale
Solution Approach 1:
The patent implements periodic action through keepalive signals that tunnel devices send at predetermined intervals to maintain TCP connections. This periodic activity prevents connections from becoming stale while allowing them to remain open for efficient communication. The keepalive mechanism uses minimal network resources compared to maintaining fully active connections, thereby resolving the contradiction by preserving communication efficiency while reducing network resource consumption through controlled, periodic maintenance rather than continuous activity.
Data Source
Figure 1
Figure 2
Figure 2a
AI summary
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.