Secure Element Bytecode Allocation Table Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Java Card technologies face limitations in memory space optimization due to dependence between applets and the operating system, leading to increased maintenance efforts and limited memory savings, as well as the need for multiple applet versions to accommodate different bytecode implementations.

Innovation Solution

A secure element configured to execute bytecode in a runtime environment, where free bytecodes are assigned as user-defined bytecodes with context-dependent allocation tables, allowing for memory space savings by converting user-defined bytecodes into standard bytecode sequences, thereby reducing memory requirements and enhancing flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If optimized bytecode is used to save memory space, then memory space requirement is reduced, but dependence between applets and operating system increases

Engineering Contradiction:
Improvememory spaceVSAvoidindependence between applets and operating system
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent segments the bytecode optimization mechanism by introducing separate allocation tables for the operating system and applets. Each entity has its own allocation table that maps optimized bytecodes to standard bytecodes independently, allowing memory savings without creating coupling between the operating system and applets. This segmentation enables each component to optimize its bytecode separately while maintaining overall system independence.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If optimized bytecode is used to save memory space, then memory space requirement is reduced, but maintenance effort increases

Engineering Contradiction:
Improvememory spaceVSAvoidmaintenance effort
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

By dividing the bytecode optimization into separate allocation tables for the operating system and applets, the patent eliminates the need to maintain a single unified optimization scheme. Each component can be optimized and maintained independently, reducing the complexity of maintenance efforts while still achieving memory savings through the allocation table mechanism.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If optimized bytecode is used to save memory space, then memory space requirement is reduced, but the need for multiple applet versions increases

Engineering Contradiction:
Improvememory spaceVSAvoidnumber of applet versions
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces separate allocation tables that allow the operating system and applets to use different optimized bytecode mappings independently. This eliminates the requirement for multiple applet versions to accommodate different OS optimizations, as each applet can use a single version with its own allocation table for optimization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The allocation table acts as an intermediary between the optimized bytecode and the standard bytecode execution. It mediates the translation process, allowing a single applet version to work with different optimized bytecodes from either the operating system or the applet itself, thereby eliminating the need for multiple versions.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Quantity of substance

If effective bytecode optimization is applied, then memory space is saved, but work to adjust the operating system increases

Engineering Contradiction:
Improvememory spaceVSAvoidwork to adjust operating system
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the bytecode optimization responsibility by providing separate allocation tables for the operating system and applets. This allows the operating system to maintain its own optimized bytecode mappings without being forced to adjust for specific applet requirements, and applets can independently define their own optimizations without modifying the OS.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The allocation table serves as an intermediary that enables bytecode optimization without requiring direct adjustments to the operating system. It provides a mechanism for applets to define their own optimized bytecodes and mappings, eliminating the need for work-intensive OS adjustments while still achieving effective memory space savings.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240419782A1Secure element with optimized bytecode
Publication Date: 2024.12.19 GIESECKE & DEVRIENT EPAYMENTS GMBH
  • US20240419782A1 patent drawing
  • US20240419782A1 patent drawing
  • US20240419782A1 patent drawing

AI summary

A secure element is configured to execute bytecode in a runtime environment and/or an applet. The secure element is configured to engage a free bytecode in a bytecode range that is unused according to the programming language specification with a user-defined bytecode. The chip card is furthermore configured to provide an allocation table for converting the user-defined bytecode into a standard bytecode sequence, the conversion taking place according to the context of the use of the user-defined bytecode. The solution permits a memory space saving.