Mobile Daemon Proxy for Transparent Network Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Proxy servers can be cumbersome due to issues with TCP connection diversion or interception, particularly when the original destination IP address and port cannot be communicated if a gateway and proxy reside on different hosts, and users may face challenges with internet access and optimal connectivity.
Innovation Solution
A system that enables mobile devices to interact with interfaces to establish wireless connections either directly to a network or through an intermediary device, allowing communication to occur transparently, with a daemon process determining whether to connect directly to the internet or through an intermediary, and packaging HTTP requests for communication via Bluetooth or other local connections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a proxy server is used to enable communication between mobile devices and networks, then connectivity is provided, but the system becomes cumbersome and complex due to TCP connection diversion requirements
Solution Approach 1:
The patent introduces a daemon process as an intermediary component that runs on the mobile device itself, acting as a local proxy that intercepts network requests from applications and determines whether to route them directly to the network or through an external proxy server. This local intermediary eliminates the need for complex system-wide TCP diversion configurations while maintaining proxy functionality.
Solution Approach 2:
The patent extracts the proxy management functionality from the operating system level and implements it at the application level through a daemon process. This extraction allows the proxy functionality to be added without modifying core system components, reducing overall system complexity while maintaining adaptability.
2Reliability
If TCP connection diversion is implemented to route traffic through a proxy, then proxy functionality is achieved, but communication fails when gateway and proxy reside on different hosts
Solution Approach 1:
The daemon process serves as a local intermediary that receives network requests from applications and can selectively route them through external proxies or directly to the network. This local mediation point ensures that proxy functionality works reliably regardless of whether the gateway and proxy are on the same host, as the routing decision is made locally based on the actual network topology.
Solution Approach 2:
The patent implements dynamic routing where the daemon process can adapt its behavior based on the current network state. It can switch between direct network access and proxy-mediated access depending on which gateway and proxy configuration is currently available and appropriate, making the system reliable across different network configurations.
3Ease of operation
If applications are made aware of intermediary device communication, then communication control is improved, but application complexity increases
Solution Approach 1:
The daemon process acts as an intermediary layer between applications and the network, handling all proxy-related logic and routing decisions. Applications simply communicate with the daemon using standard interfaces, and the daemon transparently manages whether traffic goes directly to the network or through an external proxy, maintaining ease of operation while hiding complexity.
Solution Approach 2:
The patent segments the network communication functionality into distinct layers: applications generate requests, the daemon process manages routing and proxy logic, and the actual network communication occurs separately. This segmentation allows applications to remain simple while the daemon handles the complexity of intermediary device communication.
Data Source
AI summary
Application processes executing on a mobile device can interact with interfaces (e.g., routines of an application programming interface) exposed on that mobile device in order to establish a wireless connection either directly to a network (e.g., the Internet) or directly to an intermediary device through which the application processes can then communicate with the network indirectly. The intermediary device can communicate with the network on behalf of the mobile device. The application processes can remain unaware, in either case, of whether the interfaces are communicating with the network through the intermediary device or not. The interfaces can insulate the application processes from that fact. The use of the intermediary device can be transparent to the application processes, such that the manner in which the application processes transmit and receive data using the interfaces remains constant regardless of whether the intermediary device is involved.


