Multi-application IC card with delegation feature
First Claim
1. An integrated circuit card comprising:
- a microprocessor;
a volatile memory coupled to said microprocessor;
a non-volatile memory coupled to said microprocessor; and
a plurality of applications stored in said non-volatile memory, wherein upon execution of each said application, said microprocessor allocates for each said executing application an associated data memory space comprising at least a volatile memory segment for referencing temporary data and a non-volatile memory segment for referencing static data; and
further comprising means for delegating the performance of a function from a first executing application to a second executing application.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-application IC card which processes two or more applications using an Application Abstract Machine architecture. The AAM architecture only allows one application to be executed at a time and allows for shared processing by performing a delegation function to a second application. A data space for each application is allocated when the application is selected to be executed. The data space includes a volatile and non-volatile region. The delegation function temporarily interrupts the execution of the first application, saves the temporary data of the first application, shares any data needed with the second application and the second application is executed until the delegated task is competed. The first application then retrieves the saved data and completes its execution. A delegator stack is used to keep track of the delegator'"'"'s identity when multiple delegations occur. The AAM model allows for a high level of security while transferring data between applications.
416 Citations
63 Claims
-
1. An integrated circuit card comprising:
a microprocessor;
a volatile memory coupled to said microprocessor;
a non-volatile memory coupled to said microprocessor; and
a plurality of applications stored in said non-volatile memory, wherein upon execution of each said application, said microprocessor allocates for each said executing application an associated data memory space comprising at least a volatile memory segment for referencing temporary data and a non-volatile memory segment for referencing static data; and
further comprising means for delegating the performance of a function from a first executing application to a second executing application.- View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 43)
-
10. A method for processing a plurality of applications stored in a memory of an integrated circuit:
-
selecting a first application for execution;
allocating a data space for said first application including at least two memory segments comprising a volatile memory segment for referencing temporary data and a non-volatile memory segment for referencing static data;
executing said first application, interrupting execution of said first application and saving data referenced by said volatile memory segment;
executing a second application;
utilizing said saved data from said volatile memory segment for execution of said first application; and
completing said execution of said first application. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus for processing a plurality of applications stored in a memory of a single integrated circuit card comprising:
means for allocating a data space comprising at least a non-volatile memory segment for referencing static data and a volatile memory segment for referencing temporary data;
means for executing a first application;
means for interrupting execution of said first application, means for saving data from at least a portion of said volatile memory segment; and
means for executing a second application;
means for retrieving said saved data; and
means for completing said execution of said first application.- View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
37. A system for processing a plurality of applications stored on an IC card comprising:
-
a non-volatile memory coupled to a databus;
a volatile memory coupled to said databus;
a first and second application program stored in said non-volatile memory, wherein each application has an associated identifier;
a data stack accessible by said databus for storing said applications'"'"' identifier if said application is interrupted during its execution;
processor means for executing instructions from said application programs wherein said processor means allocates a data memory space for said application which is being executed and said data memory space is mapped to at least one address in said non-volatile memory and at least one address in said volatile memory; and
wherein said processor means interrupts said first application at least once during its execution to execute said second application. - View Dependent Claims (38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50)
-
-
51. An integrated circuit card comprising:
a plurality of applications and a microprocessor for controlling execution of said applications wherein execution of at least one first application is interrupted and execution is transferred to another second application, further comprising means for sharing data by said first and second applications and means for resuming execution of said first application at the appropriate location at least after completion of execution of said second application. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
Specification