Client-Cached Executable Modules for Networked Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Networked applications face issues such as loss of connectivity, performance problems, and security concerns due to reliance on server availability, leading to unavailability of services when network connections are disrupted.
Innovation Solution
Implementing a client-side caching system that segments networked applications into modular components, allowing for local execution and data management, even when connectivity to the server is lost, by caching application modules and data blocks, ensuring continued functionality and responsiveness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If networked applications rely on server availability and active network connections, then centralized data management and security control are improved, but service availability and user access are worsened when network connectivity is lost
Solution Approach 1:
The application is divided into multiple modules that can be independently cached on the client device. This segmentation allows the system to provide service availability by executing cached modules locally while maintaining the ability to update individual modules without requiring complete application re-downloading, thus reducing network dependency while preserving reliability.
Solution Approach 2:
Application modules are cached on the client device in advance before they are needed. This preliminary action enables the system to maintain service availability during network outages by executing from the cached modules, while still allowing for periodic updates when connectivity is restored, thereby reducing network dependency without compromising reliability.
2Reliability
If application modules are cached on the client side for offline execution, then service availability during network outages is improved, but data security and centralized control are worsened
Solution Approach 1:
The system implements a feedback mechanism where the client device periodically checks for module updates and synchronizes with the server when connectivity is available. This feedback loop ensures that cached modules remain secure and up-to-date, maintaining centralized control while preserving service availability during outages.
Solution Approach 2:
Instead of storing complete applications or sensitive data locally, the system caches only necessary executable modules on the client device. This selective copying approach enables offline execution for improved service availability while minimizing security risks by keeping the majority of application data and sensitive information on the secure server.
3Productivity
If applications are segmented into multiple client-executable modules, then update efficiency and bandwidth usage are improved, but system complexity and module management are worsened
Solution Approach 1:
The system introduces an intermediary component that manages module segmentation, caching, and updates automatically. This intermediary handles the complexity of module management, allowing the application to be divided into multiple segments for improved update efficiency while shielding users from the underlying complexity through automated processes.
Data Source
AI summary
Disclosed are various embodiments for providing networked applications that are segmented into multiple client-cached executable modules. Multiple networked applications are provided by an application server, and a module cache is maintained in a client. The client obtains a user invocation of a particular functionality associated with a networked application. One of the modules associated with the particular functionality is obtained by the client from the application server over a network in response to determining that the module is not already in the module cache. The module is executed by the client to provide the particular functionality. A data cache may be implemented that includes data blocks that have been used, are being used, or are predicted to be used by the networked application.


