Application Streaming Proactive Failover via Predictive Caching
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Speed
If all application content is streamed to the client, then the application can execute locally, but the network bandwidth is consumed continuously
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.
Data Source
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.

