Adaptive Application Behavior Based on Network Characteristics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mobile devices executing applications that utilize networks during operation often experience failures or adverse user experiences due to variable network conditions, which are difficult to assess and mitigate, leading to issues like battery drain and poor performance.
Innovation Solution
A software development kit (SDK) module generates metric data indicative of network characteristics, such as bandwidth and latency, to adapt application behavior dynamically, allowing for selection of optimal instructions and protocols based on real-time network conditions, thereby improving user experience and reducing resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of moving object
If applications continue to transmit data regardless of network conditions, then data transfer completeness is maintained, but battery life is drained and user experience deteriorates
Solution Approach 1:
The application dynamically adjusts its data transmission behavior based on real-time network condition assessments. The system transitions from static transmission patterns to adaptive ones, where transmission parameters (such as data frequency, quantity, and timing) are continuously modified in response to changing network conditions, thereby extending battery life while maintaining acceptable data transfer reliability
Solution Approach 2:
The system implements a feedback mechanism where network characteristics are continuously monitored and fed back to the application logic. This feedback loop enables the application to modify its transmission behavior based on actual network performance, creating a closed-loop system that balances data transfer needs with energy conservation
2Productivity
If applications use standard network protocols without adaptation, then implementation simplicity is maintained, but performance under varying network conditions deteriorates
Solution Approach 1:
The system modifies transmission parameters such as data packet size, transmission frequency, and protocol selection based on assessed network characteristics. By changing these parameters dynamically, the application optimizes its performance for specific network conditions without requiring complete protocol redesign, thus improving productivity while controlling complexity
Solution Approach 2:
The network adaptation functionality is segmented into independent modules that can be activated based on network conditions. This modular approach allows the system to maintain simplicity by only activating adaptation mechanisms when needed, while improving performance when network conditions require it
3Quantity of substance
If applications transmit data continuously, then data completeness is maintained, but bandwidth consumption increases and network resources are wasted
Solution Approach 1:
The system transitions from continuous data transmission to periodic transmission based on network conditions. When network conditions are poor, the system reduces transmission frequency or pauses transmission temporarily, thereby reducing bandwidth energy consumption while maintaining data completeness through strategic retransmission timing
Solution Approach 2:
The system applies partial transmission actions by sending only the necessary amount of data based on network capacity and priorities. Instead of transmitting all data continuously, the system selectively transmits critical data first and uses partial transmissions for less critical data, reducing overall energy consumption while maintaining essential data transfer
Data Source
AI summary
Mobile devices executing applications utilize data services worldwide. Data may be acquired at a mobile computing device during communication. Over relatively short time scales differences in the data may be determined. Based on the differences, output data may be generated that is indicative of one or more particular network characteristics, such as bandwidth, latency, transmit power, received signal strength, and so forth. The output data may then be used to change the behavior of one or more of an application executing on the mobile computing device or a service executing on server that is in communication with the mobile computing device. For example, output data may be used as input to selection nodes associated with the application or service.


