Codelets

Registers – Records – Conductive

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C235S487000, C717S136000

Reexamination Certificate

active

06736325

ABSTRACT:

RELATED APPLICATION
This application is related to U.S. application Ser. No. 09/064,915 filed on Apr. 23, 1998, entitled “MULTI-APPLICATION IC CARD WITH DELEGATE FEATURE” and assigned to Mondex International Limited, which is hereby incorporated by reference.
FIELD OF INVENTION
This application relates to the system and method for improving the storage capacity and efficiency of memory management in an integrated circuit card through the selective storage of programming instructions.
BACKGROUND OF INVENTION
Integrated circuit (IC) cards are becoming increasingly used for many different purposes in the world today. An IC card typically is the size of a conventional credit card which contains a computer chip including a microprocessor, read-only-memory (ROM), electrically erasable programmable read-only-memory (EEPROM), an Input/Output (I/O) mechanism and other circuitry to support the microprocessor in its operations. An IC card can be application specific or may contain multiple applications in memory. MULTOS™ is a multiple application operating system which runs on IC cards, among other platforms, and allows multiple applications to be executed on the card itself This allows a card user to run many programs stored in the card (for example, credit/debit, electronic money/purse and/or loyalty applications) irrespective of the type of terminal (i.e., ATM and/or POS) in which the card is inserted for use.
IC cards typically have limited storage capacity due to the size and cost restraints of locating memory on the card. Multi-application smart cards have their applications written in a programming language that are typically stored in the EEPROM whose contents can be changed during the lifetime of the card. One example of a programming language used in IC cards is Multos Executable Language (MEL). The MEL program instructions are read from EEPROM, an alterable memory, when they are executed and are interpreted by the operating system stored in ROM.
The ROM on the IC card includes the operating system written in assembly language code for the particular integrated circuit configuration (native language type code). The operating code stored in ROM is fixed when the ROM is initially written and the information stored in ROM will not change for the life of the card.
One of the concerns with multi-application IC cards is that when attempting to store multiple applications on the card, the memory constraints of the EEPROM becomes significant. Currently, the size of a typical EEPROM on an IC card is 8K bytes. The size of an application program may be 3.3K for an electronic money (purse) application. Moreover, the application typically has data associated with the code, which could be about 3K bytes of memory for an electronic money application. Therefore, the application including the code and the data typically requires 6.6K of memory space. In addition, the operating system requires data to be stored in EEPROM, which data is used during the operation of the operating system. This overhead requirement is generally about 1K of space in EEPROM. Consequently, if a purse application is stored in EEPROM, 7.6K of memory will be needed, leaving only 0.4K of EEPROM available for a second application. This is not an acceptable option for an efficient and effective multi-application IC card system.
With regard to memory space in ROM, a typical multiple application operating system code requires 17.5K of the 24K of available memory in ROM. Therefore, 6.5K of ROM is unused and can never be used after the card is distributed to the public because ROM can only be configured once. Moreover, ROM memory is approximately six times more dense than EEPROM memory, meaning that 1K of EEPROM takes up six times more room on the chip than 1K of ROM. As a result, it would be advantageous to (1) fully utilize any unused memory space in ROM and (2) use as much ROM as possible instead of EEPROM to minimize the size of memory on the integrated circuit in the card.
SUMMARY OF THE INVENTION
The invention is directed to a system and method of efficiently storing programming instructions in a microprocessor based system with memory size and/or cost constraints, such as an IC card. Codelets include programming instructions written in non-native code and are stored in a read-only portion of memory. The memory address of the codelet is stored in an address table which the operating system for the microprocessor based system accesses in order to execute the codelet. An application residing in the alterable portion of memory will call the codelet to be executed with a program instruction, and the operating system will look up the memory address of the codelet from the address table and execute the codelet's program instructions to perform its designated function. By storing the codelet in read-only memory, the programming instructions are stored in a memory which is cheaper and physically smaller than alterable memory so more overall programming instructions can be stored in the overall memory system. Additionally any extra space in the read-only memory can be fully utilized by using the codelets.
The codelet is written in a non-native programming language such as MEL or C so that the instructions will be interpreted by the operating system in order to execute them. This allows different platforms to use the same codelet because each operating system will convert the non-native programming instructions to machine readable instructions for the particular microprocessor. Thus the codelets can be used with different types of platforms without the need to translate the instructions for specific microprocessors. When the codelets are executed, they will act upon the data used by the application which accessed the codelet in a preferred embodiment.


REFERENCES:
patent: 4214230 (1980-07-01), Fak et al.
patent: 4218582 (1980-08-01), Hellman et al.
patent: 4259720 (1981-03-01), Campbell
patent: 4302810 (1981-11-01), Bouricius et al.
patent: 4305059 (1981-12-01), Benton
patent: 4321672 (1982-03-01), Braun et al.
patent: 4341951 (1982-07-01), Benton
patent: 4405829 (1983-09-01), Rivest et al.
patent: 4408203 (1983-10-01), Campbell
patent: 4423287 (1983-12-01), Zeidler
patent: 4442345 (1984-04-01), Mollier et al.
patent: 4453074 (1984-06-01), Weinstein
patent: 4467139 (1984-08-01), Mollier
patent: 4498000 (1985-02-01), Decavele et al.
patent: 4536647 (1985-08-01), Atalla et al.
patent: 4578530 (1986-03-01), Zeidler
patent: 4605820 (1986-08-01), Campbell, Jr.
patent: 4629872 (1986-12-01), Hällberg
patent: 4630201 (1986-12-01), White
patent: 4650978 (1987-03-01), Hudson et al.
patent: 4669596 (1987-06-01), Capers et al.
patent: 4705211 (1987-11-01), Honda et al.
patent: 4709136 (1987-11-01), Watanabe
patent: 4709137 (1987-11-01), Yoshida
patent: 4727243 (1988-02-01), Savar
patent: 4727244 (1988-02-01), Nakano et al.
patent: 4731842 (1988-03-01), Smith
patent: 4734568 (1988-03-01), Watanabe
patent: 4736094 (1988-04-01), Yoshida
patent: 4742215 (1988-05-01), Daughters et al.
patent: 4745267 (1988-05-01), Davis et al.
patent: 4746788 (1988-05-01), Kawana
patent: 4748557 (1988-05-01), Tamada et al.
patent: 4748668 (1988-05-01), Shamir et al.
patent: 4752677 (1988-06-01), Nakano et al.
patent: 4757185 (1988-07-01), Onishi
patent: 4757543 (1988-07-01), Tamada et al.
patent: 4759063 (1988-07-01), Chaum
patent: 4759064 (1988-07-01), Chaum
patent: 4767920 (1988-08-01), Kitta et al.
patent: 4778983 (1988-10-01), Ushikubo
patent: 4785166 (1988-11-01), Kushima
patent: 4786790 (1988-11-01), Kruse et al.
patent: 4797542 (1989-01-01), Hara
patent: 4797920 (1989-01-01), Stein
patent: 4798941 (1989-01-01), Watanabe
patent: 4802218 (1989-01-01), Wright et al.
patent: 4803347 (1989-02-01), Sugahara et al.
patent: 4811393 (1989-03-01), Hazard
patent: 4816653 (1989-03-01), Anderl et al.
patent: 4816654 (1989-03-01), Anderl et al.
patent: 4825052 (1989-04-01), Chemin et al.
patent: 4831245 (1989-05-01), Ogasawara
patent: 4833595 (1989-05-01), Iijima
patent: 4839504 (1989-06-01), Nakano
patent: 4839792 (1989-06-01), Iijima
patent: 4849614 (1989-07-

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

Codelets does not yet have a rating. At this time, there are no reviews or comments for this patent.

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

Rate now

     

Profile ID: LFUS-PAI-O-3244850

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