Server Frame Production Rate Control for Remote Computing Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote graphics computing introduces latency issues due to the need for real-time compression and transmission of graphical content, which can lead to noticeable lag, especially in high-demand applications like gaming, and existing solutions either increase costs or restrict user experience by limiting content complexity.

Innovation Solution

Implementing a system that dynamically manages frame production by monitoring token reception from the client device, pausing frame production when a threshold of unacknowledged frames is exceeded, to ensure that rendering and transmission rates match the client's decoding and display capabilities, thereby reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the server continuously renders and transmits frames at high speed, then the processing throughput is improved, but the client device cannot decode and display frames fast enough, resulting in increased latency and lag

Engineering Contradiction:
Improveframe production rateVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements a feedback mechanism where the client device sends tokens back to the server to acknowledge receipt and display of frames. The server monitors these tokens and adjusts its frame production rate accordingly, pausing rendering when tokens are not received at the expected rate. This closed-loop feedback system ensures the server produces frames at a rate the client can actually process, eliminating the latency caused by frame overproduction.

Inventive Principle:
Principle #23Feedback

2Speed

If additional resources are provisioned at the server side to expedite processing, then the processing speed is improved, but the capital expenditure costs increase prohibitively

Engineering Contradiction:
Improveprocessing speedVSAvoidresource provisioning cost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

Instead of statically provisioning excessive server resources to guarantee processing speed, the system dynamically adjusts the frame production rate based on real-time client device performance feedback. The server can pause or resume rendering operations dynamically, matching resource utilization to actual demand. This eliminates the need for permanently over-provisioned resources while maintaining appropriate processing speeds.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If the server limits the complexity of images and data transmission frequency to avoid latency, then the latency is reduced, but user choice in graphical content is restricted

Engineering Contradiction:
ImprovelatencyVSAvoidgraphical content variety
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system segments the frame production and transmission process into controllable units, where each frame's transmission is individually acknowledged by the client via tokens. This allows the server to handle complex graphical content by breaking it down into manageable frame segments, transmitting them in controlled batches, and waiting for acknowledgments. Complex content can be delivered without increasing overall latency because the segmentation allows for efficient flow control.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10158868B2Systems and methods to limit lag between a client and a server for remote computing
Publication Date: 2018.12.18 NVIDIA CORP
  • US10158868B2 patent drawing
  • US10158868B2 patent drawing
  • US10158868B2 patent drawing

AI summary

Novel solutions are described herein for providing a consistent quality of service, latency-wise, for remote processing by managing the process queues in a processing server and temporarily pausing frame production and delivery to limit the lag experienced by a user in a client device. The claimed embodiments limit the latency (lag) experienced by a user by preventing the production rate of rendered frames at the server from significantly outperforming the decoding and display of the received frames in the client device and avoiding the resultant lag.