Using a high level programming language with a microcontroller
AssigneeSchlumberger Technologies, Inc.
InventorsTimothy J. Wilkinson, Scott B. Guthery, Ksheerabdhi Krishna, Michael A. Montgomery
Life of this patent
Estimating the term…
Loading patent…
AssigneeSchlumberger Technologies, Inc.
InventorsTimothy J. Wilkinson, Scott B. Guthery, Ksheerabdhi Krishna, Michael A. Montgomery
Estimating the term…
An integrated circuit card is used with a terminal. The integrated circuit card includes a memory that stores an interpreter and an application that has a high level programming language format. A processor of the card is configured to use the interpreter to interpret the application for execution and to use a communicator of the card to communicate with the terminal.
An integrated circuit card for use with a terminal, comprising:
A method for use with an integrated circuit card and a terminal, comprising:
A microcontroller comprising:
An integrated circuit card for use with a terminal, comprising:
A microcontroller having a set of resource constraints and comprising:
A method of programming a microcontroller having a memory and a processor operating according to a set of resource constraints, the method comprising the steps of:
An integrated circuit card for use with a terminal, comprising:
A method for use with an integrated circuit card and a terminal, comprising:
An integrated circuit card for use with a terminal, comprising:
A microcontroller comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Encoding: optimisation
Transformation of program code: compilation
Transformation of program code: binary to binary
Arrangements for executing specific programs: program loading or initiating
Term ended 24 Oct 2017 (estimated)
USPTO file history isn’t available for this patent, so only indexed dates are shown.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
This invention relates in general to the field of programming, and more particularly to using a high level programming language with a smart card or a microcontroller.
Software applications written in the Java high-level programming language have been so designed that an application written in Java can be run on many different computer brands or computer platforms without change. This is accomplished by the following procedure. When a Java application is written, it is compiled into “Class” files containing byte codes that are instructions for a hypothetical computer called a Java Virtual Machine. An implementation of this virtual machine is written for each platform that is supported. When a user wishes to run a particular Java application on a selected platform, the class files compiled from the desired application is loaded onto the selected platform. The Java virtual machine for the selected platform is run, and interprets the byte codes in the class file, thus effectively running the Java application.
FIG. 1 is a block diagram of an integrated card system.
FIG. 2 is a flow diagram illustrating the preparation of Java applications to be downloaded to an integrated circuit card.
FIG. 3 is a block diagram of the files used and generated by the card class file converter.
Referring to FIG. 1, an integrated circuit card 10 (e.g., a smart card) is constructed to provide a high level, Java-based, multiple application programming and execution environment. The integrated circuit card 10 has a communicator 12a that is configured to communicate with a terminal communicator 12b of a terminal 14. In some embodiments, the integrated circuit card 10 is a smart card with an 8 bit microcontroller, 512 bytes of RAM, 4K bytes of EEPROM, and 20K of ROM; the terminal communicator 12b is a conventional contact smart card reader; and the terminal 14 is a conventional personal computer running the Windows NT operating system supporting the personal computer smart card (PC/SC) standard and providing Java development support.
In some embodiments, the microcontroller, memory and communicator are embedded in a plastic card that has substantially the same dimensions as a typical credit card. In other embodiments, the microcontroller, memory and communicator are mounted within bases other than a plastic card, such as jewelry (e.g., watches, rings or bracelets), automotive equipment, telecommunication equipment (e.g., subscriber identity module (SIM) cards), security devices (e.g., cryptographic modules) and appliances.
The terminal 14 prepares and downloads Java applications to the integrated circuit card 10 using the terminal communicator 12b. The terminal communicator 12b is a communications device capable of establishing a communications channel between the integrated circuit card 10 and the terminal 14. Some communication options include contact card readers, wireless communications via radio frequency or infrared techniques, serial communication protocols, packet communication protocols, ISO 7816 communication protocol, to name a few.