Network Connection Maintenance for Suspended Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The transition of applications from a runnable mode to a suspended state in electronic devices often results in increased latency due to the discontinuation and subsequent re-establishment of network connections, degrading user experience.
Innovation Solution
The electronic device maintains network connections for a specified time interval when an application transitions to a suspended state, allowing for immediate communication upon resuming, while ensuring system safeguards such as power state and memory constraints are met, and reducing TCP window size to manage data reception.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If the connection is discontinued when the application transitions to a suspended state to reduce power consumption, then energy efficiency is improved, but latency increases when the application resumes
Solution Approach 1:
The system performs preliminary action by maintaining the network connection in a suspended state rather than fully discontinuing it. The connection is kept alive with extended timeout values beyond the default application suspend duration, so that when the application resumes, the connection is already established and ready for immediate data transmission, eliminating the need for re-establishment handshakes
Solution Approach 2:
The system dynamically adjusts the connection timeout parameter based on the application's suspend state. The timeout is extended to match or exceed the task extension time for suspended applications, creating a dynamic timeout mechanism that adapts to the application lifecycle rather than using a fixed timeout value
2Speed
If the connection is maintained beyond the predefined timeout to reduce latency, then communication speed is improved, but resource consumption increases
Solution Approach 1:
The system applies local quality by selectively maintaining connections only for specific applications that are in a suspended state rather than maintaining all connections universally. The connection maintenance is localized to the specific time window of application suspension, with timeout values precisely tuned to match the expected suspend duration, avoiding unnecessary resource consumption for connections that don't require maintenance
3Stability of the object's composition
If the connection timeout is extended to match task extension time, then connection stability is improved, but system complexity increases
Solution Approach 1:
The system changes the timeout parameter from its default value to an extended value that matches the task extension time for suspended applications. This parameter adjustment is implemented through system calls that modify the socket timeout settings, allowing the connection to remain stable throughout the application's suspended state without requiring complex connection management logic
Data Source
AI summary
In order to reduce latency associated with an application executed by an electronic device, when the application transitions from a runnable mode to a suspended state, the electronic device may receive a request from the application to maintain a connection, which is used by the application to communicate with another electronic device, while the application is in the suspended state. Then, the electronic device may provide an instruction to an interface circuit in the electronic device to maintain the connection for a time interval while the application is in the suspended state. This time interval may exceed a predefined timeout for the connection and/or a task extension time for the application. Moreover, prior to providing the instruction, the electronic device may confirm one or more system safeguards to prevent abuse and to ensure system performance and battery life is not adversely affected by maintaining the connection.


