Dynamic UI Streaming Over Cellular Networks with Adaptive Compression

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedynamic resource reallocationVSAvoidvirtual machine management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvecontent delivery efficiencyVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveapplication compatibilityVSAvoidgraphics hardware requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveinstallation delayVSAvoidinstallation process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250267461A1Method for Streaming Dynamically Changing User Interface Data Over a Cellular Network
Publication Date: 2025.08.21 UXSTREAM AB
  • US20250267461A1 patent drawing
  • US20250267461A1 patent drawing
  • US20250267461A1 patent drawing

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.