Remote GUI Rendering via Local Frame Buffer Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of accessing and rendering a graphical user interface (GUI) over a remote network is time-consuming due to the need to transfer frame buffer data for every GUI action, leading to slow and glitchy user experiences, especially when network speeds are low.

Innovation Solution

An information handling system that renders a GUI from a remote device using local storage, where an interface controller detects events, requests and stores GUI frame buffer data, and updates the GUI locally, reducing the need for continuous data transfer from the remote server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If frame buffer data is transferred for every GUI action over the network, then the GUI rendering is accurate and complete, but the GUI operation speed becomes slow and the user experience deteriorates

Engineering Contradiction:
ImproveGUI rendering accuracyVSAvoidGUI operation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by caching frame buffer data locally on the client device before it is needed for rendering. Instead of transferring data from the server for every GUI action, the system pre-loads and stores frame buffer data in a local cache, allowing rapid retrieval and rendering without repeated network transfers. This resolves the contradiction by maintaining rendering accuracy through local data availability while dramatically improving operation speed by eliminating network latency for each interaction.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If frame buffer data is transferred for every GUI action, then the rendering is complete, but the network traffic increases and bandwidth is consumed

Engineering Contradiction:
ImproveGUI rendering completenessVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies copying by creating and storing local copies of frame buffer data on the client device. Instead of repeatedly transferring the same or similar frame buffer data over the network for each GUI action, the system makes local replicas of the data and uses these copies for rendering. This maintains complete and accurate rendering while dramatically reducing network bandwidth consumption, as the local copies eliminate the need for continuous data transfer.

Inventive Principle:
Principle #26Copying

3Reliability

If the system waits for network response for each GUI event, then data consistency is maintained, but the responsiveness and user experience become poor

Engineering Contradiction:
Improvedata consistencyVSAvoidGUI response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-fetching and caching frame buffer data locally before it is needed for rendering. When GUI events occur, the system can immediately retrieve data from the local cache without waiting for network responses, thereby maintaining data consistency while dramatically improving responsiveness. The local cache ensures that the most recent frame buffer data is available instantaneously, eliminating network wait times for each interaction.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10540136B2Faster frame buffer rendering over a network
Publication Date: 2020.01.21 DELL PROD LP
  • US10540136B2 patent drawing
  • US10540136B2 patent drawing
  • US10540136B2 patent drawing

AI summary

A method and an information handling system (IHS) renders a graphical user interface (GUI) from a remote device using a local storage. An interface controller detects a first event used to initiate access to the GUI at the remote device. The controller requests GUI frame buffer data corresponding to the first event, and GUI change data from the remote device. The GUI change data correspond to respective events that can trigger changes to the GUI. In response to receiving the requested data, the controller provides a first locally-rendered GUI using the GUI frame buffer data. The controller stores the GUI change data in local storage. The controller then detects a second event/interaction via the first locally-rendered GUI and retrieves from local storage a relevant portion of the GUI change data. The controller provides an updated locally-rendered GUI using the relevant portion of GUI change data.