Java Card CAP File Update via Selective Element Replacement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Java Card device update processes are time-consuming and require deleting all card-resident components and instance data, especially when bandwidth is limited, and the personalization process must be repeated, which is complex and costly.

Innovation Solution

A method for updating a CAP file on a Java Card device by receiving commands that replace specific elements with new elements without deleting the entire file, using type and location information to identify and update components efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the Java Card device deletes all card-resident components and instance data before updating the CAP file, then the update process can proceed with loading the new CAP file, but the update time increases significantly especially when bandwidth is limited

Engineering Contradiction:
Improveupdate completenessVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the CAP file into multiple components (header, class components, method components, etc.) and identifies specific components that need updating. Instead of deleting the entire CAP file, only the necessary components are removed and replaced, significantly reducing the update data volume and time while maintaining update completeness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of the new CAP file to identify which components need updating before the actual update process. The terminal device compares the new CAP file with the existing one, determines the difference components in advance, and prepares the minimal necessary update package, avoiding unnecessary deletion and re-download of unchanged components

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the Java Card device deletes all card-resident components and instance data before updating, then the new CAP file can be loaded, but instance data is lost and personalization must be repeated which is complex and costly

Engineering Contradiction:
ImproveCAP file updateVSAvoidpersonalization process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and preserves instance data that is not related to the components being updated. By identifying which components need updating and which instance data can be retained, the system removes only the necessary components for update while keeping valuable instance data intact, avoiding the need to repeat the complex personalization process

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent selectively discards only the specific components that need updating while recovering and preserving instance data that can be reused. The system identifies removable components, deletes them, loads the updated components, and then recovers instance data association, thereby maintaining personalization without full re-personalization

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If the terminal downloads a large-size upgraded CAP file over limited bandwidth, then the Java Card device gets the updated version, but the download time becomes excessively long

Engineering Contradiction:
ImproveCAP file versionVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the update process into identifying only the differential components between old and new CAP files. The terminal device analyzes both versions, extracts only the changed components (such as specific class components, method components, or constant pool entries), and downloads only this minimal differential data, dramatically reducing download time while ensuring the device receives all necessary updates

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by downloading and updating only the necessary portion of the CAP file rather than the complete file. The system determines the minimal set of components that need updating and transfers only that data, avoiding the excessive action of downloading the entire upgraded CAP file when only small portions need changing

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP4145271B1Methods and terminal for updating converted applet file, and JAVA card device
Publication Date: 2025.06.25 IDEMIA FRANCE SAS
  • EP4145271B1 patent drawingFigure 1~2
  • EP4145271B1 patent drawingFigure 3~7
  • EP4145271B1 patent drawingFigure 8~10

AI summary

Embodiments of the present invention provide a method implemented by a Java Card device for updating a CAP file comprising at least one existing component on the Java Card device. The method includes steps of: receiving (S11) from a terminal at least one first command each comprising a portion of an update file for updating the CAP file; determining (S12) at least one element type or location of at least one existing first element of the CAP file using type information or first location information comprised in the update file; searching (S13) the Java Card device for the at least one existing first element using the at least one determined element type or location; and if the at least one existing first element is found, replacing (S14) each of the at least one existing first element by one of at least one new first element comprised in the update file. Each of the at least one element type represents one or more of: at least one component and at least one item of at least one component. Each of the at least one new first element shares an element type with the existing first element replaced by the new first element. The at least one first command shares an instruction type of instructing the Java Card device to implement the replacing step (S14).