Offline Rich Internet Application Execution via Client-Side Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Rich Internet Applications (RIAs) face limitations such as requiring constant connectivity, data loss when connection is lost, high bandwidth consumption, and limited simultaneous client connections due to the need for continuous server-client synchronization.
Innovation Solution
Implementing methods for offline execution of RIAs by storing and modifying RIA information on the client, allowing local execution without a connection, and synchronizing data when connectivity is restored, with clients also acting as remote destinations to offload bandwidth and resources from the central server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If constant connection to server is maintained for RIA execution, then real-time synchronization and data availability are improved, but device connectivity requirements and operational flexibility deteriorate
Solution Approach 1:
The system performs preliminary actions by caching RIA information and execution environment components on the client device before connection is needed. This allows the RIA to be executed locally without requiring constant server connection, thus improving operational flexibility while maintaining data availability through synchronization when connected.
2Reliability
If continuous synchronization between client and server is maintained, then data consistency is improved, but transceiver bandwidth consumption increases
Solution Approach 1:
The system replaces continuous synchronization with periodic or event-driven synchronization. The client synchronizes with the server at specific intervals or when changes occur, rather than maintaining continuous connection. This reduces bandwidth consumption while maintaining data consistency through selective updates.
Solution Approach 2:
The system extracts synchronization functionality from the continuous execution process. By separating data synchronization from real-time execution, the system allows RIA to run locally without constant bandwidth usage, only synchronizing data when necessary to maintain consistency.
3Power
If limited number of simultaneous client connections is enforced, then server resource allocation is improved, but system scalability and client access capacity deteriorate
Solution Approach 1:
The system extracts execution capability from the server by caching RIA components and execution environment on client devices. This allows clients to execute RIAs locally without requiring simultaneous server connections, thereby increasing client access capacity while the server maintains efficient resource allocation by only handling synchronization and updates.
4Adaptability or versatility
If RIA information is stored and modified on client before reception, then offline execution capability is improved, but data synchronization complexity increases
Solution Approach 1:
The system creates copies of RIA information and execution components on the client device. These local copies enable offline execution while synchronization mechanisms manage the copying process during connection, transferring only necessary updates between client and server to maintain consistency without excessive complexity.
Data Source
AI summary
Methods for offline execution of Rich Internet Applications are disclosed. In one embodiment, the method includes receiving at a remote destination a client value of a Rich Internet Application (RIA) information for an RIA from a client, wherein the RIA information is stored and modified on the client before being received by the remote destination. The method further includes determining if the client value is to replace a remote destination value of the RIA information stored on the remote destination. The method further includes replacing the remote destination value with the client value to synchronize the RIA information between the client and the remote destination when it is determined that the client value is to replace the remote destination value.


