Flexibly loading a tamper resistant module
First Claim
1. A method for loading an application and its associated data from an application provider onto a tamper resistant module (TRM), wherein said TRM comprises an input buffer and a memory containing at least one available space, and each available space is defined by contiguous sequential memory addresses with no skipped addresses, said method comprising the steps of:
- determining said TRM'"'"'s input buffer size;
dividing said application to be loaded and its associated data into a plurality of segments, each segment adapted to be stored in said TRM'"'"'s input buffer, wherein the size of each segment is a function of the determined input buffer size;
separately transmitting each said segment to said TRM;
storing each said separately transmitted segment in one of said available spaces of said TRM'"'"'s memory depending on the size of each segment; and
determining an available area in said TRM'"'"'s memory to store each said segment, wherein said step of determining an available area comprises determining which of said available spaces has the smallest available area in said TRM'"'"'s memory in which said segment can be stored.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for flexibly loading an application, e.g., a software application, and associated data from an application provider (101) onto a tamper resistant module (TRM) (103) having an I/O buffer (115) and a memory (119). A method embodiment of the invention comprises determining (501) the size of the TRM'"'"'s I/O buffer (115), segmenting (503) the application to be loaded and its associated data into a plurality of segments, with each segment adapted to be stored in the I/O buffer (115) and the size of each segment being a function of the determined size of the I/O buffer (115), separately transmitting (505) each segment to the tamper resistant module (103), and storing (603) each separately transmitted segment in a selected one of one or more available spaces of the TRM'"'"'s memory (119), said spaces selected depending upon the size of each segment and upon which of said available spaces has the smallest available area in the TRM'"'"'s memory (119) in which the segment can be stored.
-
Citations
6 Claims
-
1. A method for loading an application and its associated data from an application provider onto a tamper resistant module (TRM), wherein said TRM comprises an input buffer and a memory containing at least one available space, and each available space is defined by contiguous sequential memory addresses with no skipped addresses, said method comprising the steps of:
-
determining said TRM'"'"'s input buffer size; dividing said application to be loaded and its associated data into a plurality of segments, each segment adapted to be stored in said TRM'"'"'s input buffer, wherein the size of each segment is a function of the determined input buffer size; separately transmitting each said segment to said TRM; storing each said separately transmitted segment in one of said available spaces of said TRM'"'"'s memory depending on the size of each segment; and determining an available area in said TRM'"'"'s memory to store each said segment, wherein said step of determining an available area comprises determining which of said available spaces has the smallest available area in said TRM'"'"'s memory in which said segment can be stored.
-
-
2. Apparatus for loading an application and its associated data onto a tamper resistant module (TRM), said apparatus comprising:
-
an application provider comprising means for determining said TRM'"'"'s input buffer size, means for dividing said application and its associated data into a plurality of segments, each segment adapted to be stored in said TRM'"'"'s input buffer, wherein the size of each segment is a function of the determined input buffer size, and means for separately transmitting each said segment to said TRM; and a TRM comprising a memory containing at least one available space, wherein each said available space is defined by contiguous sequential memory addresses with no skipped addresses, means for receiving said transmitted segments, means for storing each said transmitted segment in one of said available spaces of said TRM'"'"'s memory depending on the size of each segment, and means for determining an available area in said memory to store each said segment;
whereinsaid means for determining an available area determines which of said available spaces has the smallest available area in which said segment can be stored.
-
-
3. A method for loading an application and its associated data from an application provider onto a tamper resistant module (TRM), wherein said TRM comprises a memory containing at least one available space and each available space is defined by contiguous sequential memory addresses with no skipped addresses, said method comprising the steps of:
-
determining said TRM'"'"'s input buffer size; dividing said application to be loaded and its associated data into a plurality of segments, each segment adapted to be stored in said TRM'"'"'s input buffer, wherein the size of each segment is a function of the determined input buffer size; separately transmitting each said segment to said TRM; and storing each said separately transmitted segment in one of said available spaces of said TRM'"'"'s memory depending on the size of each segment, wherein at least two of said segments are not stored in contiguous available spaces, and said at least two segments that are not stored in contiguous spaces are contiguous with at least a portion of another application previously stored on said TRM.
-
-
4. Apparatus for loading an application and its associated data onto a tamper resistant module (TRM), said apparatus comprising:
-
an application provider comprising means for determining said TRM'"'"'s input buffer size, means for dividing said application and its associated data into a plurality of segments, each segment adapted to be stored in said TRM'"'"'s input buffer, wherein the size of each segment is a function of the determined input buffer size, and means for separately transmitting each said segment to said TRM; and a TRM comprising a memory containing at least one available space wherein each available space is defined by contiguous sequential memory addresses with no skipped addresses, means for receiving said transmitted segments, and means for storing each said transmitted segment in one of said available spaces of said TRM'"'"'s memory depending on the size of each segment, wherein at least two segments are not stored in contiguous available spaces in said TRM, and said at least two segments that are not stored in contiguous spaces are contiguous with at least a portion of another application previously stored on said TRM.
-
-
5. A method for loading an application onto a tamper resistant module (TRM), the TRM comprising a memory containing at least two available different-sized spaces each defined by a contiguous memory space of sequential memory addresses with no skipped addresses, said different-sized spaces resulting from content deletions or additions to said memory and including at least one said space having a smallest-sized available area, said method comprising:
-
dividing the application into a plurality of segments; and for at least one segment, determining which of the available spaces has the smallest-sized available area in the memory into which the at least one segment can be stored.
-
-
6. Application loading apparatus for loading an application onto a tamper resistant module (TRM), said apparatus comprising:
-
an application provider for dividing the application into a plurality of segments; and a TRM comprising a memory containing at least two available spaces each defined by a contiguous memory space of sequential memory addresses with no skipped addresses, said different-sized spaces resulting from content deletions or additions to said memory and including at least one said space having a smallest-sized available area, the TRM determining, for at least one of the segments, which of the available spaces has the smallest available area in the memory into which the at least one segment can be stored.
-
Specification