System and method for facilitating multiple applications on a smart card
First Claim
Patent Images
1. A smart card comprising a microprocessor and a memory,the memory storing first and second applications, and further comprising:
- a memory portion designated as a message box adapted to receive a message data object from at least the first application and adapted to communicate the message data object to at least the second application.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for facilitating the operation of multiple applications on a smart card are disclosed. One application may call another application, or leave a message for it. Applications are initialized, de-initialized (fully or partially), and re-initialized to accomplish inter-application operability.
173 Citations
30 Claims
-
1. A smart card comprising a microprocessor and a memory,
the memory storing first and second applications, and further comprising: -
a memory portion designated as a message box adapted to receive a message data object from at least the first application and adapted to communicate the message data object to at least the second application. - View Dependent Claims (2, 3, 4, 5, 6)
wherein the portion of memory designated as a message box is located in read/write memory, such that a message data object stored therein is persistent in memory.
-
-
6. The smart card of claim 5, wherein the read/write memory further comprises a file directory comprising an entry identifying the message data object.
-
7. A smart card comprising a microprocessor and a memory, the memory storing an operating system, and a plurality of applications, and further comprising:
a memory portion accessible by only the operating system containing an Init-List indicating which applications in the plurality of applications have been initialized during a session. - View Dependent Claims (8, 9)
-
10. A method of operating multiple applications on a smart card, the smart card comprising a microprocessor and a memory, the method comprising in a single session:
-
initializing a first application, such that a plurality of first application data objects are formed in memory;
partially de-initializing the first application, such that at least one of the plurality of first application data objects remains persistent in memory during the session; and
,initializing a second application. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
de-initializing the second application; and
re-initializing the first application.
-
-
12. The method of claim 10, wherein the memory comprises an Init-List indicating whether an application has been initialized during the session, and
wherein the step of initializing the first application comprises updating the Init-List to indicate that the first application has been initialized. -
13. The method of claim 12, wherein the step of re-initializing the first application is performed in relation to an indication by the Init-List.
-
14. The method of claim 13, wherein the memory stores an operating system exclusively accessing the Init-List.
-
15. The method of claim 10, wherein the memory comprises a read/write memory portion and a random access memory (RAM) portion, and wherein the step of initializing the first application comprises:
-
storing session persistent, first application data objects in memory;
forming non-persistent, first application data objects in memory.
-
-
16. The method of claim 15, wherein the session persistent, first application data objects are stored in either the read/write portion of memory or the RAM portion, and the non-persistent, first application data objects are stored in the RAM portion.
-
17. The method of claim 15, wherein the step of partially de-initializing the first application comprises:
permitting memory allocated to the non-persistent, first application data objects to be overwritten during the step of initializing the second application.
-
18. A method of communicating a message from a first application to second application within a smart card, the method comprising:
-
initializing the first application;
creating and storing a message data object;
de-initializing the first application and calling the second application;
initializing the second application; and
collecting the message. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
wherein the step of initializing the second application comprises interrogating the message flag.
-
-
24. The method of claim 19, wherein the read/write memory comprises a message box storing the message data object and a file directory storing a data record associated with the message data object.
-
25. The method of claim 24, wherein the data record associated with the message data object comprises an address vector indicating a location in read/write memory at which the message data object is stored.
-
26. A method of communicating a message between first and second applications stored in a smart card memory, the smart card memory comprising;
- Read-Only-Memory (ROM), and non-volatile Read/Write (R/W) memory, and the method-comprising;
upon initializing the smart card at the beginning of a session, forming a file directory in R/W memory;
initializing the first application and creating a message data object by means of the first application;
storing the message data object in memory and creating a data file in the file directory identifying the message data object; and
,creating a message indicator in R/W memory. - View Dependent Claims (27, 28, 29, 30)
de-initializing the first application, and initializing the second application;
upon detecting the message indicator in R/W memory, searching the file directory for the data file identifying the message data object.
- Read-Only-Memory (ROM), and non-volatile Read/Write (R/W) memory, and the method-comprising;
-
28. The method of claim 27, wherein the message indicator is created in a portion of R/W memory set aside for global variables.
-
29. The method of claim 27, wherein the data file comprises a type field indicating the content of the data file as a message.
-
30. The method of claim 27, wherein the data file comprises a type field indicating the content of the data file as a broadcast message.
Specification