Concurrent communication with multiple applications on a...

Registers – Records – Conductive

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C235S375000, C235S380000, C235S382000, C361S737000, C711S102000, C711S103000, C710S108000, C710S301000

Reexamination Certificate

active

06824064

ABSTRACT:

BACKGROUND OF THE INVENTION
Smart cards are small, tamper resistant plastic cards that contain in them a central processing unit (CPU) and supporting hardware. They can be used, for example, as smart credit cards, or employee badges, or for thousands of other uses, by having different application programs on board.
In the international smart card standard ISO/IEC 7816-4, incorporated herein by reference in its entirety, one finds the concept of up to four logically independent communication channels with a smart card. The state each of these channels is kept separate from the state of each of the others. Thus, for example, the current file on one channel may be different from the current file on another channel. A command sent to the card on one channel must be completed before a command can be sent on another channel.
The EMV '96 smart card specification, incorporated herein by reference in its entirety, defines the notion of application selection wherein the card returns a list of all of the applications that are contained on the card. Also in EMV '96 is described a method of activating individual applications on the smart card. A command sent to one application must be completed before a command can be sent to another application.
U.S. Pat. No. 6,005,942 discloses a method for activating individual applications on a smart card. When an application is activated all communication with the smart card is directed to that application. To communicate with another application the currently activated application must be deactivated and the new application activated.
U.S. Pat. No. 6,052,690 discloses the notion of maintaining multiple independent contexts on a smart card and the notion of communicating with any one of these contexts.
U.S. Pat. No. 5,204,965 discloses the scheduling of tasks on a computer based on the availability of data needed by those tasks.
In summary, current art teaches “heavyweight” or “course grain” scheduling of applications on a smart card. One application must completely process a message sent to it before another application is started.
Currently, data to be processed by a smart card is transmitted by the terminal to the smart card in a single data block called an Application Protocol Data Unit (APDU). An APDU contains the data to be processed as well as the description of the type of processing that is to be performed. The data returned by the smart card to the terminal in response to an APDU is the result of applying the requested processing to the provided data. The size of the data block that can be provided to the smart card and retrieved from the smart card of the current art is typically less than or equal to 256 bytes. This restriction is due primarily to the limited amount of random access memory (RAM) in the smart card as it is the RAM memory that is used hold data as it is received into and sent out of the smart card.
U.S. Pat. No. 3,825,904 (among many other following) discloses a method of mapping pages of random access memory to and from disk storage in order to support programs whose memory needs in total exceed the size of the random access memory actually available on a computer.
In the ETSI international mobile telephony standards GSM 11.11 and 11.14, each of which is incorporated herein by reference in its entirety, one finds the concept of a method whereby a smart card and in particular a subscriber identity module (SIM) chip in a GSM mobile telephone can request services from the handset. The smart card can, in the process of responding to an APDU, stimulate the terminal to issue a FETCH APDU. The FETCH APDU provides the smart card with the ability to send a command to the terminal for execution. After the terminal has executed this command, the terminal returns the result of the execution to the smart card using a TERMINAL RESPONSE APDU. In a mobile telephone application, for example, the FETCH and TERMINAL RESPONSE APDUs are used to give commands to the handset, such as a command to display a message or to retrieve a keypad hit from the subscriber.
In addition, in a general technique known as data caching, data currently being used by a processor is stored in a manner that enables the processor to access it more quickly than when it resides in its assigned storage location. For example, a microprocessor chip may cache the instructions it executes in high-speed cache memory rather than return them to comparatively low-speed RAM memory in the expectation that recently executed instructions are more likely to be executed in the near future than instructions that have not been recently executed. Another example is the caching of Web pages on the World Wide Web where recently viewed pages are store closer (with respect transmission time on the network) to the computer on which they were viewed than the original network source of the pages.
In yet another general technique known as virtual memory, the amount of memory available to an application program is larger than the actual amount of memory on the processor on which it is running. Segments of the virtual memory space are swapped into and out of the actual memory of the processor from a non-memory device such as a hard disk as they are needed by the application.
While there are many applications of smart codes, one particular application is for its use in a mobile or cellular telephone.
SUMMARY OF THE INVENTION
A multi-application integrated circuit card (“smart card”) contains a plurality of application programs. It is desirable for the entities communicating with the smart card to be able to conduct simultaneous independent communications with more than one of these programs. Current art holds that only one application can be communicating with entities outside the smart card at any one time. This restriction is due to a number of factors, including the fact that only one of the data messages of today's art can fit in the smart card's random access memory (RAM) at a time.
A system and method is hereby disclosed for simultaneously communicating with multiple individual applications on a smart card. The system and method employs fixed-size data packets and tightly couples the execution of applications and thereby communication with them with efficient management of the smart card's limited RAM memory.
The present invention provides “lightweight” or fine grain scheduling of applications. Packets comprising partial communication with multiple, concurrently running applications on the smart card can be intermixed on the single physical communication channel with the card. An additional benefit of the method of the disclosure is that multiple long-running applications can be concurrently active on the card.
As noted above current art includes the notion of multiple independent applications and multiple independent application execution contexts on a smart card. Current art also includes the notion of up to four independent logical communication channels to the card that can be used to communicate with applications on the smart card.
It would be natural to use these methods in combination and to thereby temporarily associate a communication channel with an application to achieve simultaneous communication with up to four applications. This requires the entity or entities communicating with applications on the smart card to maintain an up-to-date list of association of channels to applications. In effect, current art externalizes an important component of the management of the state of the smart card: the activation and scheduling of multiple applications on a smart card and the concurrent communication with them. This places an unnecessary burden on programs and systems using multi-application smart cards and, by exposing some internal state of the smart card, can weaken the security provided by the smart card.
The current disclosure teaches a system and method for moving the administration of simultaneous communication with multiple applications on a smart card onto the smart card itself. This simplifies communication with the applications on a smart card from th

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Concurrent communication with multiple applications on a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Concurrent communication with multiple applications on a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Concurrent communication with multiple applications on a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3341791

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.