Application Client Backup Data for Service Failure Resilience
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Online applications face user experience degradation when a shared service fails, leading to inconsistent functionality and look and feel across different applications.
Innovation Solution
Implementing an application client that stores backup data to provide alternative content in lieu of requested content from a service, ensuring a consistent user experience by approximating the original content, even if the service is unavailable, and switching back to the original content once the service is restored.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications share a common service to receive content, then user experience consistency across applications is improved, but when the service fails, user experience degradation occurs across all applications
Solution Approach 1:
The application client proactively stores backup data locally before service failure occurs. This preliminary action ensures that when the shared service fails, the application can immediately switch to using locally stored backup content, maintaining user experience consistency without degradation.
Solution Approach 2:
The application client acts as an intermediary between the shared service and the user interface. It receives content from the shared service, stores it locally, and can serve it as backup when the service fails. This intermediary role isolates the user experience from service failures while maintaining the benefits of shared content.
2Reliability
If backup data is stored in the application client, then user experience consistency during service failure is improved, but application code size increases
Solution Approach 1:
Instead of storing complete backup data for all possible scenarios, the application client stores only essential backup content locally. This local quality approach ensures that critical user experience elements are available during service failure while minimizing the increase in application code size by being selective about what backup data to retain.
Solution Approach 2:
The application client creates selective copies of essential content from the shared service and stores them locally as backup. Rather than duplicating the entire service functionality, it copies only the critical elements needed to maintain user experience during service failure, thus balancing reliability improvement with code size management.
3Loss of energy
If backup data is stored in the application client, then bandwidth usage during service failure is reduced, but initial bandwidth consumption increases due to downloading backup data
Solution Approach 1:
The application client downloads and stores only a partial set of backup data - specifically, the essential content needed to maintain core user experience during service failure. This partial action approach reduces initial bandwidth consumption compared to downloading complete backup data, while still providing sufficient backup coverage to significantly reduce bandwidth usage during actual service failure scenarios.
Data Source
AI summary
A system, includes a non-transitory memory; and one or more hardware processors coupled to the non-transitory memory and configured to read instructions from the non-transitory memory to cause the system to perform operations comprising: transmitting a message from an application client to a service to request content from the service; ascertaining a failure of the service to provide the requested content; and in response to ascertaining the failure, applying data from the application client to an application in lieu of the requested content.


