Mobile Device Thread Priority Scheduling for Remote Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing remote control systems for mobile devices face bottlenecks due to fixed CPU priorities, leading to inefficient CPU usage and performance degradation when high-bandwidth data links are used, causing delays in screen updates and impacting user experience.
Innovation Solution
A mobile device system with a processor configured to run multiple threads, including a mobile control thread and a priority adjusting thread, dynamically adjusts CPU priority based on usage thresholds and timer settings to balance screen updates with other application performance, ensuring responsive remote control without overwhelming the CPU.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the VNC main thread continuously sends screen updates over high-bandwidth data links, then the remote terminal receives frequent screen updates, but the CPU becomes overwhelmed and other applications are significantly slowed down
Solution Approach 1:
The system implements periodic action by using a timer to intermittently adjust the priority of the VNC main thread. Instead of continuously running at high priority, the thread's priority is periodically lowered after sending updates, allowing other applications to access the CPU. This periodic priority adjustment balances screen update frequency with overall system performance.
2Productivity
If the VNC main thread is given high CPU priority, then screen updates are sent frequently, but the system becomes unresponsive to other user actions
Solution Approach 1:
The system applies dynamics by making the VNC main thread's CPU priority adjustable rather than fixed. The priority is dynamically changed based on system conditions - elevated when screen updates need to be sent, and lowered when other applications require CPU access. This dynamic adjustment maintains both update frequency and system responsiveness.
3Use of energy by moving object
If radio data links with low theoretical data rates are used, then power consumption is reduced, but the update frequency is limited and remote control performance degrades
Solution Approach 1:
The system uses parameter changes by adjusting the VNC main thread's priority based on data link conditions. When a high-bandwidth data link becomes available, the thread priority is increased to utilize the available bandwidth for frequent updates. When bandwidth is limited or power saving is needed, the priority is reduced, effectively adapting the system's resource usage to current conditions.
Data Source
Figure 1a~1b
Figure 2
Figure 3
AI summary
A mobile device comprising a processor which is configured to run at least one of a plurality of threads, said plurality of threads comprising a mobile control thread, a priority adjusting thread and at least one other thread; a scheduler for scheduling threads to be run on said processor dependent on a priority of an thread relative to other threads, a display for displaying data to a user, an input system for a user to input commands, and a communication link for connecting said mobile device to a remote terminal, wherein, when said mobile control thread is running the processor is configured to capture data currently displayed on said display; send said captured data over said communication link; and issue an update sent notification to activate said priority adjusting thread; wherein, when said priority adjusting thread is running, the processor is configured to determine, on receipt of an update sent notification, whether a previous update sent notification issued less than a threshold time earlier, determine whether said mobile control thread has used more than a threshold amount of said processor, and if both determining steps are met reduce said priority of said mobile control thread below a priority of said at least one other thread and set a timer whereby when said timer expires, said priority of said mobile control thread is increased above said priority of said at least one other thread.