Remote Session Drawing Optimization with Spline Curves

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote desktop technologies experience user experience degradation due to network latency and delays, particularly in drawing operations where line deviations occur, leading to a poor user experience when attempting to draw on remote applications.

Innovation Solution

A system and method that manage user input by calculating a spline curve based on sequential points to generate simulated input events, ensuring smooth and accurate drawing by injecting these events into the remote server, thereby reducing latency effects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If direct mouse input events are transmitted to the remote server, then the system maintains simplicity in input handling, but network latency causes line deviations and poor drawing accuracy

Engineering Contradiction:
Improvedrawing accuracyVSAvoidnetwork latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by calculating spline curves and generating simulated input events locally before transmission. Instead of waiting for network round-trip delays, the client device pre-computes the smooth path using Bezier curves based on captured input command data, then transmits these pre-processed events to the remote server, eliminating the latency-induced drawing inaccuracies.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (spline curve calculation and simulated input event generation) between the raw mouse input and the remote server processing. This intermediary layer transforms discrete, latency-prone mouse events into continuous, smooth drawing paths by interpolating intermediate points along Bezier curves, thereby mediating the conflict between direct input transmission and drawing accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Shape

If simulated input events with intermediate points are generated, then drawing smoothness is improved, but input processing complexity increases

Engineering Contradiction:
Improvedrawing smoothnessVSAvoidinput processing complexity
Core Design Contradiction:
ShapeVSDevice complexity

Solution Approach 1:

The patent applies curvature principles by using Bezier curves to generate smooth drawing paths. Instead of transmitting discrete linear mouse events, the system calculates curved paths (spline curves) that pass through or near the captured input points, creating visually smooth drawing lines. This curvature-based approach transforms jagged, discrete input into continuous, aesthetically pleasing output.

Inventive Principle:
Principle #14Spheroidality (Curvature)

Solution Approach 2:

The system changes the parameters of input events by interpolating additional intermediate points between captured mouse positions. By modifying the density and distribution of input events (adding more points along the path), the system transforms sparse, discrete mouse movements into dense, continuous drawing trajectories, achieving smoothness without fundamentally changing the input device or interface.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11650832B1System and method for drawing optimization with pointer input in a remote session
Publication Date: 2023.05.16 PARALLELS INT GMBH
  • US11650832B1 patent drawing
  • US11650832B1 patent drawing
  • US11650832B1 patent drawing

AI summary

Systems and methods for managing user input for a remote application session between a client device and a remote server are provided. Input command data is received from a client device for an application executing within a remote session established between the client device and the remote server. The input command data specifies a plurality of points within a graphical user interface where the input command data was captured on the client device. Spline curves are calculated based on a first subset of sequential points from the plurality of points. Simulated input events are generated that specify intermediate points calculated along the spline curves. The simulated input events are injected into the remote server for the application.