Servlet Persistence on Smart Cards via Segmented Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Servlet-based applications face challenges in being implemented on resource-constrained devices like smart cards due to the lack of resources such as disk drives and large memory, leading to performance penalties and inefficiencies in session management across card acceptance device sessions.
Innovation Solution
A persistent management system is implemented on resource-constrained devices to ensure persistence across sessions by creating a logical persistence root for servlet-based applications, storing relevant objects in persistent memory, and using a pool of objects to enhance performance, while minimizing developer effort in thread management and restarting threads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If servlet-based applications are implemented on resource-constrained devices, then application functionality is improved, but device resource consumption increases
Solution Approach 1:
The patent segments the application state into persistent and transient components. Persistent state is stored in EEPROM across sessions, while transient state uses limited RAM. This segmentation allows servlet-based applications to function on resource-constrained devices by dividing memory usage according to data persistence requirements.
Solution Approach 2:
The patent implements preliminary persistence of application state before session termination. By proactively saving state to persistent memory before the device is removed from the CAD, the system ensures state continuity without requiring large buffers or complex transaction management during the session.
2Stability of the object's composition
If persistent memory is used for all objects, then state consistency is improved, but memory access time worsens
Solution Approach 1:
The patent divides objects into persistent and transient categories based on their state requirements. Persistent objects are stored in EEPROM and survive session boundaries, while transient objects reside in RAM for fast access during the session. This segmentation optimizes both state consistency and access speed by placing each object type in appropriate memory.
Solution Approach 2:
Different memory regions are assigned different characteristics: EEPROM provides persistence but slower access, while RAM provides speed but volatility. The system applies local quality by storing session-critical data in RAM for rapid access and session-persistent data in EEPROM for durability, matching memory properties to data requirements.
3Duration of action of stationary object
If session state is persisted across CAD sessions, then session continuity is improved, but startup time increases
Solution Approach 1:
The system performs preliminary persistence of session state to EEPROM before the device is removed from the CAD. This advance action ensures that when the device is reinserted, the state is already available without requiring lengthy reconstruction or data transfer operations during startup.
Solution Approach 2:
The patent extracts only the essential persistent state from the session and stores it in EEPROM, leaving transient data in RAM. This extraction approach minimizes the amount of data that needs to be persisted and restored, reducing startup time while maintaining session continuity for critical information.
4Productivity
If objects are moved between memory types, then resource utilization is improved, but system complexity increases
Solution Approach 1:
The system implements self-service by automatically managing object placement and movement between RAM and EEPROM based on persistence requirements. The persistence manager monitors object state and performs migrations without requiring complex manual intervention or sophisticated scheduling algorithms, reducing system complexity while optimizing resource utilization.
Data Source
AI summary
A persistence management system facilitates porting servlet-based applications, such as Web applications, to an extremely mobile/nomadic system such as a resource-constrained device platform, e.g., a smart card, where sessions on a card acceptance device are intermittent by nature. Persistence management system (i) minimizes the startup time, and (ii) restores applications in a consistent state. The persistent management system supports: a) selective persistence of servlet model objects: both container-managed objects and application-managed objects; b) optional persistence of threads; and c) optional persistence of connection objects.


