Dynamic UI Streaming Over Cellular Networks with Adaptive Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for delivering real-time applications to mobile devices face challenges such as conflicts with client configurations, resource allocation in server virtual machines, and inefficient video streaming, leading to latency and increased device costs.
Innovation Solution
A client-server architecture that runs applications on a server computer, monitors bandwidth, and dynamically throttles transmission frequency, processes outputs from multiple applications, and adapts them for various devices, including edge applications that manage sponsored content and input validation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a server runs multiple virtual machines for different devices, then applications can be delivered to multiple devices, but server processing resources cannot be dynamically reallocated based on changing real-time processing requirements
Solution Approach 1:
The patent merges multiple virtual machines into a single server instance that dynamically allocates processing resources. Instead of running separate VMs for each device, the server uses a unified resource management system that can reallocate CPU cycles and processing power based on real-time bandwidth monitoring and device requirements, thereby achieving dynamic adaptability without the complexity of managing multiple VMs.
Solution Approach 2:
The system implements dynamic resource allocation where the server can adjust processing resource distribution in real-time based on monitored bandwidth and device needs. The server dynamically throttles transmission frequency and adjusts processing power allocation, transforming a static resource allocation model into a dynamic one that responds to changing conditions.
2Productivity
If video streams are encoded offline and streamed to multiple devices at different resolutions and frame rates, then pre-recorded content can be delivered efficiently, but real-time application changes cause repeated lags due to buffering requirements
Solution Approach 1:
The system performs preliminary encoding of application output at multiple quality levels (resolutions and frame rates) in advance, similar to offline video encoding. However, instead of buffering pre-recorded content, the server prepares multiple quality versions of real-time application output proactively, allowing devices to receive appropriately scaled content immediately without waiting for frame-based encoding cycles, thus reducing latency while maintaining efficiency.
Solution Approach 2:
The server dynamically changes encoding parameters (resolution, frame rate, compression level) based on real-time bandwidth monitoring and device capabilities. By adjusting these parameters dynamically rather than using fixed offline encoding, the system adapts to changing conditions without the lag associated with traditional frame-based buffering, achieving both efficiency and low latency.
3Adaptability or versatility
If the full range of drawing commands is supported by the client to render applications, then all types of applications can be displayed, but smart devices with limited graphics hardware cannot execute these instructions
Solution Approach 1:
The server acts as an intermediary between the application and the client device. It receives drawing commands from applications, translates them into device-appropriate instructions, and sends optimized commands to the client. This intermediary translation layer allows complex applications to be displayed on devices with limited graphics hardware without requiring each device to support the full range of drawing commands.
Solution Approach 2:
The system adapts the quality and complexity of graphical output to match each device's capabilities. Instead of sending full-resolution, complex drawing commands to all devices, the server adjusts the quality level locally for each device based on its hardware capabilities, ensuring compatibility while maintaining application functionality across diverse device types.
4Loss of time
If applications are installed on client systems to run immediately, then minimal delays occur, but conflicts with client configuration and multiple application instances complicate installation and backout processes
Solution Approach 1:
Instead of installing applications directly on client devices, the system creates virtual copies of applications that run on the server. The server sends these application copies to clients in a compressed format, eliminating the need for complex installation and backout processes on client devices while maintaining immediate execution capability through network delivery.
Data Source
AI summary
A method for streaming dynamically changing user interface data from a server to a client, including resizing user interface data in accordance with a client display, repeatedly transmitting in the form of IP packets, the user interface data in a lossy compression format, for each transmission, if an acknowledgement is received that all packets have been received, then increase the number of IP packets in the next transmission, and if the increased number of IP packets is sufficient to transmit the user interface data in a lossless compression format, then retransmit previously transmitted user interface data in the lossless compression format, including partitioning previously transmitted user interface data into display strips, and for each strip, if the user interface data is unchanged, transmit the strip in the lossless compression format, and if the user interface data has changed, return to the repeatedly transmitting for the changed user interface data.


