Application Streaming Proactive Failover via Predictive Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Application streaming technologies face interruptions during planned server or network maintenance, leading to termination or pausing of streamed applications, which is undesirable for user experience.

Innovation Solution

A predictive agent on both the client and server analyzes the application's execution path to proactively stream and cache necessary application content before a planned outage, ensuring seamless execution during disruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the application is streamed from the server to the client, then the application response time is significantly faster, but the application execution is interrupted during server or network maintenance

Engineering Contradiction:
Improveapplication response timeVSAvoidapplication execution continuity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by predicting which code pages the client will need during the outage period and streaming them to the client's cache before the maintenance begins. This advance preparation ensures that the client has the necessary application content stored locally to continue execution seamlessly during the server or network outage, thus maintaining reliability without sacrificing the speed benefits of application streaming.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the server is taken out of service for maintenance, then the server reliability is improved, but the streamed applications on the client are terminated or paused

Engineering Contradiction:
Improveserver maintenance capabilityVSAvoidapplication execution continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Before the server is taken out of service for maintenance, the system predicts the code pages that will be needed during the outage and streams them in advance to the client's local cache. This preliminary action allows the client to continue executing the application without interruption during the server maintenance period, maintaining productivity while still enabling necessary server maintenance activities.

Inventive Principle:
Principle #10Preliminary action

3Speed

If all application content is streamed to the client, then the application can execute locally, but the network bandwidth is consumed continuously

Engineering Contradiction:
Improveapplication execution speedVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

Instead of streaming all application content to the client, the system uses predictive analytics to identify and stream only the specific code pages that are likely to be executed during the predicted time period. This partial action approach provides sufficient content for local execution to maintain speed while avoiding the excessive network bandwidth consumption that would result from streaming the entire application.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8799494B1Application streaming proactive failover
Publication Date: 2014.08.05 CA TECH INC
  • US8799494B1 patent drawing
  • US8799494B1 patent drawing

AI summary

A streaming server which streams an application to a client computer (“endpoint”), as well as the client on which the streamed application runs, makes predictions as to what sections of the application the client is likely to execute in the future. Upon receipt of an indication (e.g., from a system administrator) of a planned service outage of the server or the network, the server transmits the application content that is predicted to be needed by the client during the outage in order to continue executing the application without interruption. The client receives and caches the content. Provided that the prediction is sufficiently accurate, the client can continue to seamlessly execute the application during the service outage.