Prefix Caching for Network Application Latency Masking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network applications often experience significant latency due to server and network delays, leading to unacceptable delays for users and prompting them to prefer local application usage, which results in increased local storage and processor resource usage and loss of hosted application functionalities like multi-user sharing, privacy, and dynamic data updating.

Innovation Solution

The method involves recording the initial phases of application launch, known as prefixes, and presenting them as a video to users, which is cached locally or in an intermediary device for faster delivery, allowing the application to appear ready for interaction before it actually is, and synchronizing with the live output once the application is ready to receive user input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are delivered as network applications, then multi-user sharing, collaboration, privacy, security, load balancing, and dynamic updating functionalities are provided, but significant latency occurs during application launch

Engineering Contradiction:
Improvehosted application functionalitiesVSAvoidapplication launch latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system records the initial phases of application launch (prefixes) in advance and prepares video streams showing these phases. When a user requests an application, the pre-recorded video stream is immediately displayed while the actual application initializes in the background, allowing the application to appear ready before it actually is.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates video copies of the application launch process. These video streams are cached locally or in intermediary devices and played back to users, creating a visual replica of the application startup that masks the actual latency without requiring users to wait for the real application to initialize.

Inventive Principle:
Principle #26Copying

2Speed

If applications are run locally to avoid latency, then application launch speed is improved, but local storage and processor resources are increased and hosted application functionalities are lost

Engineering Contradiction:
Improveapplication launch speedVSAvoidlocal storage and processor resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system introduces video streams as an intermediary between the user and the actual application. The video stream acts as a mediator that provides immediate visual feedback to users, making the application appear to launch instantly without requiring local computational resources or sacrificing the benefits of hosted application execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If video streams are cached locally for faster delivery, then delivery speed is improved, but local storage capacity is required

Engineering Contradiction:
Improvevideo stream delivery speedVSAvoidlocal storage capacity
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

The system implements selective caching where only the video stream portion of the application launch is cached locally in intermediary devices, while the actual application execution remains on remote servers. This approach provides fast video delivery to mask latency without requiring substantial local storage capacity on user devices.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11212361B2Systems and methods for latency masking via prefix caching
Publication Date: 2021.12.28 CITRIX SYSTEMS INC
  • US11212361B2 patent drawing
  • US11212361B2 patent drawing
  • US11212361B2 patent drawing

AI summary

Systems and methods for latency masking via prefix caching, by providing a recorded output of launch of a network application to a client device from a point closer to client device, or with lower latency than output of the actual network application can be provided to the client device. The resulting user experience is that of instant or near-instant launch of the application, avoiding network delays communicating with the application server or processing delays from instantiation of virtual machines or other resources to provide the network application.