Applet Segmentation for Payment Device Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing payment device update methods require reloading all code and data, leading to increased processing time, network bandwidth usage, and power consumption, as well as the need for re-personalization, which is inconvenient and costly.
Innovation Solution
Implementing a system with a static applet and an updatable applet, where updates only modify the updatable applet, and a function map is used to associate updated functions with their memory locations, allowing the static applet to remain unaltered and eliminating the need for re-personalization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all code and data on the storage element is deleted and re-loaded for updates, then the entire system can be updated, but processing time, network bandwidth, and power consumption increase significantly
Solution Approach 1:
The application code is divided into two distinct segments: a static applet stored in read-only memory that cannot be modified, and an updatable applet stored in reprogrammable memory that can be updated independently. This segmentation allows only the necessary updatable portion to be modified during updates, while the static portion remains intact, thereby reducing processing time and resource consumption while maintaining system update completeness.
2Reliability
If all code and data on the storage element is deleted and re-loaded for updates, then the entire system can be updated, but network bandwidth usage increases
Solution Approach 1:
By segmenting the application into static and updatable components, only the updatable applet needs to be transmitted over the network during updates. This dramatically reduces network bandwidth consumption compared to transmitting the entire application code, while still achieving complete updates of the necessary functional portions.
3Reliability
If all code and data on the storage element is deleted and re-loaded for updates, then the entire system can be updated, but power consumption increases
Solution Approach 1:
The segmentation of application code into static and updatable applets reduces the total amount of data that needs to be processed, transmitted, and written to storage during updates. This directly reduces power consumption across multiple subsystems including network communication, processor operations, and memory write operations, while maintaining the ability to update all necessary functional components.
4Adaptability or versatility
If the static applet is modified during updates, then all functionality can be updated, but re-personalization is required which is costly and inconvenient
Solution Approach 1:
By placing personalization data exclusively in the static applet stored in read-only memory, the invention ensures that personalization is performed only once during initial device provisioning. The updatable applet in reprogrammable memory can be modified without affecting personalization data, eliminating the need for costly and inconvenient re-personalization processes while maintaining full code update flexibility.
Solution Approach 2:
The invention extracts personalization data from the updatable portion of the code and places it exclusively in the static applet. This extraction ensures that personalization is decoupled from code updates, allowing the updatable applet to be modified without triggering re-personalization requirements, thereby reducing complexity and cost.
5Reliability
If the entire storage element is updated, then all code can be refreshed, but the deployment size and time increase
Solution Approach 1:
The segmentation of application code into static and updatable applets enables incremental updates where only the necessary functional portions are deployed. This significantly reduces deployment size and time compared to updating the entire storage element, while maintaining the ability to refresh all code that requires updates through coordinated updates of both applet portions.
Data Source
AI summary
Embodiments of the invention relate to a technique for updating a device comprising a first and second applets implementing application code. The technique may include determining that the application code needs to be updated, generating a verification value, and sending the verification value and updated code for a function in the first applet. The updated code for the function can be stored in the second applet instead of the first applet, and the function maps of the applets can be updated to reflect the address of the updated function. The updated code can then be executed using the updated function maps to perform a process.


