Supporting applets on a high end platform

Information

  • Patent Application
  • 20070169043
  • Publication Number
    20070169043
  • Date Filed
    December 18, 2006
    18 years ago
  • Date Published
    July 19, 2007
    17 years ago
Abstract
To execute legacy smart card applications in a next generation smart card environment, a mechanism converts the applications into a format executable by the next generation smart card platforms. For instance, in a Java-based environment, a normalizer tool translates a CAP file into a Java Class file. Additional mechanisms recreate, on next generation smart cards, a specialized environment that allows the legacy applications to execute without impacting legacy and non-legacy application performance. For example, mechanisms create new instances of previously shared objects so that legacy applications can continue to expect exclusive access to those objects. Moreover, mechanisms manage the communication between a legacy application and non-legacy applications by controlling how and when calls are sent to the legacy application.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The systems and methods described herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. Similar reference numbers are used throughout the drawings to reference similar elements and features.



FIG. 1 is a block diagram illustrating a next generation smart card framework, in accordance with an embodiment of the present invention.



FIG. 2 is a block diagram illustrating a mechanism for converting a legacy application into a next generation smart card application, in accordance with another embodiment of the present invention.



FIG. 3 is a flowchart illustrating procedure for converting a legacy application file into a next generation smart card application file, in accordance with an embodiment of the present invention.



FIG. 4 is a flowchart illustrating procedure for generating a specialized environment for executing a legacy application in a next generation smart card environment, in accordance with another embodiment of the present invention.



FIG. 5 is a block diagram that illustrates a computer system upon which an embodiment in accordance with the present invention may be implemented.


Claims
  • 1. A method comprising: executing a set of applications in a multi-threaded runtime environment on a smart card, wherein at least one application in said set of applications is a single threaded application designed to run in a single-threaded environment, and wherein the single threaded application is accessible to other applications in the set of applications through a shareable interface object; andgenerating in the multi-threaded runtime environment a specialized environment in which the single threaded application can execute safely, wherein said specialized environment includes a proxy object which encapsulates the shareable interface object, and wherein said proxy object controls access by the other applications in said set of applications to the shareable interface object such that only one application is allowed to access code in the single threaded application at a time.
  • 2. The method of claim 1, further comprising: detecting that the single threaded application is accessing an object in memory that is intended by the single threaded application to be shared; andcreating a new copy of the object in memory to cause the object to no longer be shared.
  • 3. The method of claim 2, wherein generating the new copy of the object includes adding only a minimal amount of data to the new copy of the object.
  • 4. The method of claim 1, wherein other applications in the set of applications are running concurrently with the single threaded application.
  • 5. The method of claim 1, wherein the shareable interface object is designed to handle only one call at a time.
  • 6. The method of claim 1, wherein the proxy object intercepts a call to access the shareable interface object.
  • 7. The method of claim 1, wherein the proxy object holds other calls until the shareable interface object completes executing a current call.
  • 8. The method of claim 1, further comprising converting the single threaded application from a compressed format into a non-compressed format before executing the application in a multi-threaded runtime environment.
  • 9. The method of claim 8, wherein the compressed format is a CAP file format and the non-compressed format is a Class file format.
  • 10. The method of claim 1, wherein allowing only one application to access the shareable interface at a time includes serializing the calls to the single-threaded application.
  • 11. A machine-readable medium comprising a set of instructions for performing the steps of: executing a set of applications in a multi-threaded runtime environment on a smart card, wherein at least one application in said set of applications is a single threaded application designed to run in a single-threaded environment, and wherein the single threaded application is accessible to other applications in the set of applications through a shareable interface object; andgenerating in the multi-threaded runtime environment a specialized environment in which the single threaded application can execute safely, wherein said specialized environment includes a proxy object which encapsulates the shareable interface object, and wherein said proxy object controls access by the other applications in said set of applications to the shareable interface object such that only one application is allowed to access code in the single threaded application at a time.
  • 12. The machine-readable medium of claim 11, further comprising: detecting that the single threaded application is accessing an object in memory that is intended by the single threaded application to be shared; andcreating a new copy of the object in memory to cause the object to no longer be shared.
  • 13. The machine-readable medium of claim 12, wherein generating a new copy of the object includes adding only a minimal amount of data to the new copy of the object.
  • 14. The machine-readable medium of claim 11, wherein other applications in the set of applications are running concurrently with the single threaded application.
  • 15. The machine-readable medium of claim 11, wherein the shareable interface object is designed to handle only one call at a time.
  • 16. The machine-readable medium of claim 11, wherein the proxy object intercepts a call to access the shareable interface object.
  • 17. The machine-readable medium of claim 16, wherein the proxy object holds other calls until the shareable interface object completes executing a current call.
  • 18. The machine-readable medium of claim 12, further comprising converting the single threaded application from a compressed format into a non-compressed format before executing the application in a multi-threaded runtime environment.
  • 19. The machine-readable medium of claim 18, wherein the compressed format is a CAP file format and the non-compressed format is a Class file format.
  • 20. The machine-readable medium of claim 11, wherein allowing only one application to access the shareable interface at a time includes serializing the calls to the single-threaded application.
Provisional Applications (1)
Number Date Country
60757780 Jan 2006 US