Servlet Persistence on Smart Cards via Segmented Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveapplication functionalityVSAvoiddevice resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If persistent memory is used for all objects, then state consistency is improved, but memory access time worsens

Engineering Contradiction:
Improvestate consistencyVSAvoidmemory access time
Core Design Contradiction:
Stability of the object's compositionVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

3Duration of action of stationary object

If session state is persisted across CAD sessions, then session continuity is improved, but startup time increases

Engineering Contradiction:
Improvesession continuityVSAvoidstartup time
Core Design Contradiction:
Duration of action of stationary objectVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If objects are moved between memory types, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7900200B1Persistence system for servlet-based applications on resource-constrained devices
Publication Date: 2011.03.01 ORACLE AMERICAN INC
  • US7900200B1 patent drawing
  • US7900200B1 patent drawing
  • US7900200B1 patent drawing

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.