Local Application Execution During Network Interruptions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing remote application execution systems fail to seamlessly continue user interactions during data communication interruptions, leading to disruptions in user experience and application availability.
Innovation Solution
Implementing a technique where a user device executes a local version of an application in parallel with its remote execution, allowing user events to be processed and stored locally during communication disruptions, and synchronizing with the remote application upon re-establishment of data communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If application execution is performed remotely only, then resource utilization and centralized management are improved, but service availability and user experience deteriorate during data communication interruptions
Solution Approach 1:
The patent segments the application execution into two independent parts: a remote execution instance and a local execution instance. The local instance can operate autonomously during communication interruptions, while the remote instance continues to run on the server. This segmentation allows the system to maintain service availability without requiring complete redundancy of the entire execution system.
Solution Approach 2:
The patent introduces a communication module as an intermediary between the user device and the remote application system. This intermediary handles data communication interruptions gracefully by detecting connectivity status and switching between remote and local execution modes, thereby maintaining service availability without increasing overall system complexity.
2Ease of operation
If local version of application is executed during communication interruptions, then user interaction continuity is improved, but data synchronization complexity increases
Solution Approach 1:
The patent implements preliminary action by pre-configuring the local application version on the user device before communication interruptions occur. The local version is prepared in advance with the necessary functionality to operate independently, so when communication interruptions happen, the user can immediately switch to local execution without waiting for synchronization or reconfiguration.
Solution Approach 2:
The patent establishes a feedback mechanism where the communication module continuously monitors data communication status and provides feedback to switch between execution modes. When communication is restored, the system automatically synchronizes local and remote versions and switches back to remote execution, maintaining ease of operation without manual intervention.
3Productivity
If user events are stored locally during communication unavailability, then application functionality is maintained, but data loss risk increases if not synchronized
Solution Approach 1:
The patent ensures continuity of useful action by maintaining local application execution and user event processing during communication interruptions. The local version continues to receive and process user events locally, preserving functionality and preventing data loss. Once communication is restored, these stored events are automatically synchronized with the remote system.
Solution Approach 2:
The patent applies beforehand cushioning by storing user events in a buffer on the user device during communication interruptions. This buffer acts as a cushion that captures and preserves user event data temporarily, protecting against data loss in case of extended communication failures. The stored data is automatically transmitted to the remote system when connectivity is restored.
Data Source
AI summary
Systems and techniques are described for executing an application locally. A described technique includes providing, by a user device and to a remote application system, data identifying user events associated with the application while data communication is available between a user device and a remote application system executing an application. The user device receives from the remote application system user interfaces for the application and presents the user interfaces on a display of the user device. The user events are provided as inputs to a local version of the application executing on the user device. A determination is made that data communication between the user device and the remote application system has become unavailable. In response, a user interface generated by the local version of the application is presented on the display of the user device.


