CN1302378C - 链接转换的小型应用程序文件的方法和设备 - Google Patents

链接转换的小型应用程序文件的方法和设备 Download PDF

Info

Publication number
CN1302378C
CN1302378C CNB028187334A CN02818733A CN1302378C CN 1302378 C CN1302378 C CN 1302378C CN B028187334 A CNB028187334 A CN B028187334A CN 02818733 A CN02818733 A CN 02818733A CN 1302378 C CN1302378 C CN 1302378C
Authority
CN
China
Prior art keywords
resolving
impact damper
computer code
memory
resolve
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB028187334A
Other languages
English (en)
Other versions
CN1559031A (zh
Inventor
克希雷布迪·克里什纳
蒂姆·威尔金森
扬尼克·伯里安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Schlumberger Technologies Operating Ltd
Original Assignee
Schlumberger Technologies Operating Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Schlumberger Technologies Operating Ltd filed Critical Schlumberger Technologies Operating Ltd
Publication of CN1559031A publication Critical patent/CN1559031A/zh
Application granted granted Critical
Publication of CN1302378C publication Critical patent/CN1302378C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes

Abstract

一种智能卡(100)包括:非易失性读/写存储器(230);解析缓冲器(505);连接至存储器(230)和解析缓冲器(505)的处理器(205);以及安装模块(210),其配置使处理器(205)接收具有未解析引用的计算机代码至存储器(230),并且其配置还使处理器(205)执行对未解析引用进行解析的方法。该方法包括步骤:将存储器(230)的内容复制到解析缓冲器(505);在计算机代码内检测未解析的引用;对每一个所检测的未解析引用,确定解析引用;用所述解析引用更新解析缓冲器(505)的内容;以及用解析缓冲器(505)的内容替换存储器(230)的所述部分内容。

Description

链接转换的小型应用程序文件的方法和设备
技术领域
本发明一般涉及智能卡领域,更具体地涉及一种改进的智能卡以及用于在智能卡中装载的已转换的小型应用程序文件中解析出尚未解析的引用(reference)的方法。
背景技术
多数顾客都熟悉并使用过信用卡、借记卡、自动柜员机(ATM)卡、储值卡等。但是,对于许多交易来说,目前的趋势是逐渐不使用这些类型的卡,并使用一种通常被称为“智能卡”的装置。智能卡是一种塑料的、信用卡大小的卡,其包括在该卡的大部分塑料中嵌入的电子器件(芯片)。智能卡使用芯片内的嵌入的微处理器和存储元件而不是仅使用嵌入的存储信息的磁条。
由于智能卡具有芯片,所以它们可被编程以便以各种不同的性能进行操作,诸如储值卡、信用卡、借记卡、ATM卡、名片、个人身份卡、关键记录存储装置等。在这些不同的性能中,可以设计智能卡使用各种不同的应用程序。智能卡符合国际标准化组织(ISO)的7816号标准的第1-10部分,上述标准被引入至此作为参考,该标准一般称为“ISO 7816”。智能卡是资源受限装置,同样地,具有最低限度的存储器配置,典型地配置级别为随机存取(易失性)存储器(RAM)1K或2K、诸如电子可擦可编程只读存储器(EEPROM)之类的非易失性读/写存储器16K或32K、以及只读存储器(ROM)24K。术语“EEPROM”始终广泛地用于指代包括快闪存储器的非易失性(即,永久性)存储器。最初,智能卡的应用程序开发基本上是专有的。即,每一个智能卡的软件对于其上嵌入的微处理器的设计来说是特定的,所带来的最终结果是使对能在由不同制造商生产的各种卡上运行的应用程序的开发能力受到极大的限制。从而,智能卡应用程序的开发被限制在相对小的开发者范围内,这些开发者或者是服务于智能卡制造商或者是智能卡的发行者。
但是,近年来,智能卡应用程序开发得到了发展,使得其不再是专有的。现在尽管对应用程序采用了开放式体系结构,但是仍需要开发能够在不同制造商的智能卡以及其它类似智能卡的、具有小量可用存储器或其它存储数据装置(即存储器件)的资源受限装置上运行的应用程序。Java Card(娇娃卡)技术是这样的开放式开发体系结构的一个例子。它使用JavaTM编程语言并采用Java Card运行环境(JCRE)。JCRE遵循ISO 7816并定义了一种平台,在该平台中以Java编程语言编写的应用程序可在智能卡和其它资源受限装置上运行。为JCRE编写的应用程序称为AS applet(AS小型应用程序文件)。
但是,在applet能够被装载到智能卡上进行执行之前,applet的源代码必须转换成组成applet的类的对应二进制表示。这种对应二进制表示被称为CAP文件(转换的applet文件),并且是应用程序被装载到使用JCRE的智能卡时的文件格式。通过智能卡上装载的安装模块,CAP文件典型地被以字节块的形式装载在智能卡的非易失性读/写存储器中,并占用相邻的空间。
每一个CAP文件可以包括调用必须在执行前进行转换的各种符号或未解析的代码的引用。术语“调用”始终广泛地用于描述两片代码之间的关系,其中一片调用另一片。典型地,通过应用程序内的代码调用另一片代码,其中后一片代码驻留在应用程序自身中或在智能卡上的函数库中,命令、函数、定义等可以被调用。将这些调用解析成未解析代码引用的处理通常称为链接或分辨(resolution),该处理涉及查询存储器(常数存储库)或其它存储装置中的对应表中的符号引用、或计算未解析的相关代码引用、以及用实际存储器地址或存储有特定命令、函数、定义等的内部可访问符号引用来代替该引用。当链接或分辨处理典型地施加到计算机代码中的未解析引用时,该处理可以应用到用于存储或操作其中包含有未解析引用的数据的任何结构(即,数据结构)中。术语“解析”、“分辨”始终广泛地用于描述在代码或数据结构内使用内部可访问符号引用或实际存储器地址替换未解析代码或符号引用的上述处理。
传统上,通过利用非易失性读/写存储器的卡的安装模块,在卡上实现链接。如上所述,智能卡的非易失性读/写存储器典型地包括EEPROM。EEPROM技术的特点使得向EEPROM进行访问和写入所需的时间显著比向RAM进行相应的访问和写入所需的时间长。而且,EEPROM在可被写入的次数上存在局限(典型地,为几万或几十万次)。因此,在EEPROM中执行CAP文件的所需链接处理是耗时的,并且影响EEPROM的使用寿命。因此,找到一种使写入EEPROM的次数最小化的有效链接CAP文件的设备和方法将是有益的。
发明内容
为了解决在EEPROM中执行CAP文件的链接处理的耗时问题,并且提高EEPROM的使用寿命,提出了本发明的使写入EEPROM的次数最小化的有效链接CAP文件的设备和方法。
根据本发明,一种对装载在智能卡中的计算机代码内的未解析的引用进行解析的方法,所述智能卡包括非易失性存储器和随机存取存储器,该方法包括步骤:a)将计算机代码装载在智能卡的非易失性存储器中;b)在非易失性存储器的部分内容中的计算机代码内检测至少一个未解析的引用;c)响应在非易失性存储器的部分内容中的计算机代码内检测至少一个未解析的引用,将非易失性存储器的所述部分内容复制到随机存取存储器的解析缓冲器中;d)确定所述至少一个检测的未解析引用的解析引用;e)用所述解析引用更新解析缓冲器的内容;以及f)用解析缓冲器的更新的内容替换非易失性存储器的所述部分内容。
根据本发明,一种智能卡,被构成为可接收计算机代码,所述计算机代码内包含未解析的引用,所述智能卡包括:非易失性存储器;随机存取存储器;随机存取存储器内的解析缓冲器;连接至非易失性存储器和解析缓冲器的处理器;以及安装模块,所述安装模块包括使处理器接收计算机代码至非易失性存储器的组件;所述安装模块还包括使处理器解析所述计算机代码内的未解析引用的组件,所述安装模块还包括:a)用于将非易失性存储器的部分内容复制到解析缓冲器的子组件;b)用于在存储器的所述部分内容中的计算机代码内检测至少一个未解析的引用的子组件;c)用于确定所述检测的未解析引用的解析引用的子组件;d)用于用解析引用更新解析缓冲器的内容的子组件;以及e)用于用解析缓冲器的内容替换非易失性存储器(230)的所述部分内容的子组件。
根据本发明,一种对计算装置的数据结构中的未解析引用进行解析的方法,所述计算装置包括第一存储装置和第二存储装置,所述方法包括步骤:a)将位于第一存储装置上的包含未解析引用的数据结构划分成多个块;b)将数据结构中第一个位置上的数据块复制到第二存储装置的解析缓冲器;c)在解析缓冲器中,对所述数据块中的至少一个未解析引用进行解析;以及d)将解析缓冲器的内容复制回第一存储装置的第一位置上。
本发明考虑了一种智能卡及方法,其能够有效地链接计算机代码,使写入诸如EEPROM的给定存储器的次数最小化,从而本发明有益地减少了链接计算机代码所需的时间,并有益地增加了诸如EEPROM的存储器的使用寿命。
附图说明
通过下面参考附图进行的详细描述,本发明的结构和运行将会变得清楚,其中:
图1示出了代表性的智能卡;
图2以一些附加细节概念性地说明微处理器,其具有图1中代表性智能卡的模块105的集成存储器组件115;
图3概念性地说明装载有CAP文件的非易失性读/写存储器230的一部分;
图4是图3所述的CAP文件的常数存储库、指令集和再定位表组成部分的实例;
图5说明了适合于根据本发明实施例的智能卡中使用的解析缓冲器;以及
图6是进一步说明本发明的一个方面的流程图。
尽管本发明可有各种修改和替换形式,仍以举例形式在附图中示出其特定的实施例,并在此将给出详细说明。但应该明白的是,这里的附图和详细说明并不试图将本发明限制在所公开的具体实施例上。相反,本发明仅由权利说明书的内容来限制。
具体实施方式
一般说来,本发明涉及智能卡及方法,其中智能卡可被配置来接收诸如文件中带有未解析的引用的转换的applet文件之类的计算机代码并解析这些未解析的引用以使写入到EEPROM的次数最少。
说明书和附图中,相同的组件将使用相同的附图标记。
图1示出了代表性的智能卡。智能卡100大约具有信用卡的尺寸,包括具有导电连接器110的模块105,导电连接器110与具有一集成存储组件的微处理器115相连接,导电连接器110与一终端接口,以典型地提供工作电源和在该终端和智能卡之间电传输数据。智能卡的其它实施例可不包括导电连接器110。这些“无连接器”智能卡通过诸如磁耦合之类的近程耦合或通过诸如无线通信之类的远程耦合可以交换信息并接收电源。智能卡100遵从ISO7816标准。
图2示出了图1的带集成存储组件的微处理器115的附加细节。微处理器115包括中央处理单元(CPU)205。微处理器115与存储器组件215协同工作。该“存储器”可以与微处理器115形成在同一集成电路上或可以作为单独器件形成。
通常,存储器组件215的配置包括RAM 220、ROM 225和非易失性读/写存储器230。只读存储器225的配置包括安装模块210。
在另一种配置中,RAM 220、ROM225和非易失性读/写存储器230不装载在同一存储器组件215中,而是装载在一些分离的电子单元的组合中。
图3概念性地说明装载有CAP文件的非易失性读/写存储器230的一部分。常数存储库部分305包括在链接处理中使用的符号引用的存储地址。还示出了CAP字节码程序组件(即,指令)315和相关再定位表320。常数存储库部分305、CAP字节码程序组件315与适当的相关再定位表320可以通过安装模块210装载到非易失性读/写存储器230中。
图4是图3所述的常数存储库305、CAP字节码组件315与适当的相关再定位表320中包含的样本信息、代码和数据的示例。在图4中,示出了非易失性读/写存储器230,其中CAP字节码程序组件315包括从存储地址100开始存储的第一指令代码405和后续指令代码410。指令代码405和410都是跟随在参数后的调用代码,当前的是一符号引用参数。
再定位表320包括再定位信息,其中分别描述了两个再定位入口420和425。第一再定位入口420包括指向存储地址100的信息。后一个再定位入口425包括指向存储地址613的信息。常数存储库部分305分别包括形式为入口430和435的符号引用A和B的实际存储地址信息。第一常数存储库部分入口430还包括再定位类型标识符440和相应的应用程序标识符445。后一个常数存储库部分入口435还包括再定位类型标识符450和相应的应用程序标识符455。
现有技术使用链接处理通常包括以下步骤:从第一再定位入口420开始分析再定位表320,识别相关存储地址,访问相关存储地址(本例中为100),确定存储地址100处的可执行指令包含符号引用A的调用,标识符号引用A的相关再定位标识符440,访问常数存储库305中的相关存储地址信息445,以及通过将这个存储地址写成第一指令代码405更新具有相关符号引用430的存储地址的第一指令代码405的参数。使用包括再定位入口425的每一个后续再定位入口执行相同的步骤。通过这样的方式,处理CAP文件的再定位表中的每一个入口,解析相关的未解析引用,并使用已解析的存储地址更新EEPROM。应理解,再定位类型标识符可以指示绝对地址的解决方案,其中计算相关存储地址而不是在常数存储库305中访问获得该相关存储地址。
图5说明了适合于根据本发明实施例的智能卡中使用的、配置在随机存取存储器220中的解析缓冲器505。解析存储器505提供暂时存储区的功能,其中可以临时存储和更新数据,并用于更新未解析的引用。在本发明的实施例中,解析缓冲器505可以最优地配置为与非易失性读/写存储器230的一页相等的大小,因此通过对解析缓冲器505中未解析引用的相关更新次数进行分组以减少非易失性读/写存储器230的缓慢费时的更新总次数,促进了有效的链接处理。此外,解析缓冲器505的大小可以等于非易失性读/写存储器230一页的整数倍。为了对CAP文件的部分内容进行操作,解析缓冲器505可以被安装模块210访问以便存储CAP文件的那部分内容。
图6是说明本发明的方法600的流程图。在所示的实施例中,预先配置解析缓冲器505的大小(方框605)。在本发明的一个实施例中,方框605包括将解析缓冲器的大小配置为等于非易失性读/写存储器230页大小的整数倍的子方法。在本发明的另一个实施例中,方框605包括将解析缓冲器505的大小最优地配置为等于非易失性读/写存储器230的一页大小,以便通过对解析缓冲器505中未解析引用的相关更新次数进行分组来减少非易失性读/写存储器230的缓慢费时的更新总次数,促进有效的链接处理。CAP文件被分成逻辑包或块(方框610),其中每一包可等于所配置的解析存储器的大小。每一个逻辑包用做在非易失性读/写存储器230和随机存取存储器220之间的一次操作中可传输的数据区。检查第一逻辑包(方框612)以确定是否出现未解析的引用(方框615)。如果没有出现未解析的引用,则确定是否出现附加的逻辑包(方框640)。并且,如果出现附加的逻辑包,则检查下一个逻辑包(方框645)并确定是否出现未解析的引用(方框615)。如果没有出现附加的逻辑包(方框640),则完成该处理。
对于其中出现未解析引用的每一个逻辑包,该逻辑包的内容都被复制到解析缓冲器中(方框620),对未解析的引用进行解析(方框625),用解析的引用更新解析缓冲器的内容(方框630),非易失性读/写存储器230中逻辑包的内容被随机存取存储器中的更新的解析缓冲器的内容代替(方框635),并且对剩余的逻辑包再次进行方框615、620、625、630和635的步骤处理(方框640)。应理解,在逻辑包包含相互依赖的未解析引用的那些情况中,当逻辑包内另一个未解析的引用所依赖的一个未解析引用被解决之后,方框630和635的步骤必须立即执行。
另外,检查CAP文件以寻找未解析引用,并在接着的包中解析这些未解析的引用。在这种情况下,指针位于CAP文件中的一个位置上,例如位于CAP字节码组件315的开始处。检查该指针和第二地址之间存储的数据以寻找未解析的引用。如上所述,如果存在任何的未解析引用,就将该指针和第二地址之间的数据复制到解析缓冲器505中。对未解析的引用进行解析,并更新解析缓冲器505。在已经对未解析的引用进行解析和更新解析缓冲器505之后,解析缓冲器505的内容被复制回CAP文件中该指针开始处。然后,该指针前进到CAP文件的另一个位置。在一个实施例中,该指针立即前进到第二地址后面的位置上。
在另一个实施例中,在非易失性读/写存储器230中检测是否存在未解析的引用,并且仅在检测到未解析的引用时,将逻辑包复制到解析缓冲器505。在另一个替代实施例中,首先将每个逻辑包复制到解析缓冲器505中,并在解析缓冲器505中执行未解析引用的检测。在后一情况中,不需要将内容复制回非易失性读/写存储器230,除非检测到未解析的引用。
在一个替代的实施例中,不检查各种逻辑包,按顺序将它们解析。
进一步,应理解本发明的各部分可以在计算机可读介质中包含或存储的计算机可执行指令集(软件)的形式实现。计算机可读介质可包括诸如软盘、硬盘、快闪存储卡、ROM、CD ROM、DVD、磁带之类的非易失性介质或其它适合的介质。
如上所介绍的,参考图1所示的装置说明了术语“智能卡”。但是该例子仅适合随后的说明,应该明白本发明可广泛地应用于具有物理外形不同于该例子所述装置的一类资源受限装置。例如,本发明可容易地适用于安全接口模块(SIM)和安全访问模块(SAM)。SIM和SAM物理外形小于典型的智能卡并通常用在电话或其它小的空间内。尺寸、形状、特性以及封装或安装微处理器和存储组件的合成材料可与本发明是不相关,或不限于本发明。因此,如全文所用的,术语“智能卡”广泛地解释为包括任何独立的能执行与称为终端的另一种装置之间进行业务处理的微处理器和存储组件的组合。
对于受到本公开启示的本领域技术人员来说,本发明考虑了一种智能卡及方法,其能够有效地链接计算机代码,使写入EEPROM的次数最小化,从而本发明有益地减少了链接计算机代码所需的时间,并有益地增加了EEPROM的使用寿命。应该明白,在说明书和附图中详细说明和示出的本发明各种形式仅作为优选实施例,并且本发明的保护范围仅由权利要求书中的语言进行限制。

Claims (15)

1.一种对装载在智能卡(100)中的计算机代码内的未解析的引用进行解析的方法,所述智能卡(100)包括非易失性存储器(230)和随机存取存储器(220),该方法包括步骤:
a)将计算机代码装载在智能卡(100)的非易失性存储器(230)中;
b)在非易失性存储器(230)的部分内容中的计算机代码内检测至少一个未解析的引用;
c)响应在非易失性存储器(230)的部分内容中的计算机代码内检测至少一个未解析的引用,将非易失性存储器(230)的所述部分内容复制到随机存取存储器(220)的解析缓冲器(505)中;
d)确定所述至少一个检测的未解析引用的解析引用;
e)用所述解析引用更新解析缓冲器(505)的内容;以及
f)用解析缓冲器(505)的更新的内容替换非易失性存储器(230)的所述部分内容。
2.如权利要求1所述的用于对计算机代码内的未解析引用进行解析的方法,还包括步骤:
g)将解析缓冲器(505)的大小配置为非易失性存储器(230)的一页大小的整数倍;以及
h)将所述计算机代码分成多个逻辑包,其中每个逻辑包的大小等于解析缓冲器的大小。
3.如权利要求2所述的方法,其中
在开始处理第一个逻辑包后继续下一个逻辑包之前,对每一个逻辑包集中执行步骤a)、b)、c)、d)和e)的每一个步骤,并且继续进行随后的逻辑包;以及
解析缓冲器(505)的大小等于非易失性存储器(230)的一页的大小。
4.如权利要求1、2和3中任意一项权利要求所述的用于对计算机代码内的未解析引用进行解析的方法,其中:
计算机代码包括转换的applet文件(315)。
5.一种智能卡(100),被构成为可接收计算机代码,所述计算机代码内包含未解析的引用,所述智能卡(100)包括:
非易失性存储器(230);
随机存取存储器(220);
随机存取存储器(220)内的解析缓冲器(505);
连接至非易失性存储器(230)和解析缓冲器(505)的处理器(205);以及
安装模块(210),所述安装模块包括使处理器(205)接收计算机代码至非易失性存储器(230)的组件;所述安装模块还包括使处理器(205)解析所述计算机代码内的未解析引用的组件,所述安装模块还包括:a)用于将非易失性存储器(230)的部分内容复制到解析缓冲器(505)的子组件;b)用于在存储器的所述部分内容中的计算机代码内检测至少一个未解析的引用的子组件;c)用于确定所述检测的未解析引用的解析引用的子组件;d)用于用解析引用更新解析缓冲器(505)的内容的子组件;以及e)用于用解析缓冲器(505)的内容替换非易失性存储器(230)的所述部分内容的子组件。
6.如权利要求5所述的智能卡,还具有可操作使处理器(205)通过下述步骤对计算机代码内的未解析引用进行解析的逻辑组件:
f)将解析缓冲器(505)的大小配置为非易失性存储器(230)的一页大小的整数倍;以及
g)将所述计算机代码分成多个逻辑包,其中每个逻辑包的大小等于解析缓冲器(505)的大小。
7.如权利要求6所述的智能卡,其中在开始处理第一个逻辑包后继续下一个逻辑包之前,对每一个逻辑包集中执行a)、b)、c)、d)和e)的每一个子组件的操作,并且继续对随后的逻辑包进行处理。
8.如权利要求5、6或7所述的智能卡,其中
计算机代码包括转换的applet文件(315)。
9.一种对计算装置的数据结构中的未解析引用进行解析的方法,所述计算装置包括第一存储装置和第二存储装置,所述方法包括步骤:
a)将位于第一存储装置上的包含未解析引用的数据结构划分成多个块;
b)将数据结构中第一个位置上的数据块复制到第二存储装置的解析缓冲器(505);
c)在解析缓冲器(505)中,对所述数据块中的至少一个未解析引用进行解析;以及
d)将解析缓冲器(505)的内容复制回第一存储装置的第一位置上。
10.如权利要求9所述的对未解析引用进行解析的方法,其中数据结构包括转换的applet文件(315)。
11.如权利要求9或10所述的对未解析引用进行解析的方法,其中将位于第一存储装置上的包含未解析引用的数据结构划分成多个块的步骤包括将所述数据结构划分成逻辑包。
12.如权利要求9所述的对未解析引用进行解析的方法,其中解析缓冲器(505)包括随机存取存储器(220)。
13.如权利要求9所述的对未解析引用进行解析的方法,其中第一存储装置包括非易失性读/写存储器(230)。
14.如权利要求9所述的对未解析引用进行解析的方法,其中解析缓冲器(505)包括随机存取存储器(220)。
15.如权利要求9所述的对未解析引用进行解析的方法,其中响应在数据块中检测至少一个未解析的引用,将数据结构中第一位置上的数据块复制到解析缓冲器(505)。
CNB028187334A 2001-08-31 2002-08-13 链接转换的小型应用程序文件的方法和设备 Expired - Fee Related CN1302378C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/945,107 US6779732B2 (en) 2001-08-31 2001-08-31 Method and apparatus for linking converted applet files
US09/945,107 2001-08-31

Publications (2)

Publication Number Publication Date
CN1559031A CN1559031A (zh) 2004-12-29
CN1302378C true CN1302378C (zh) 2007-02-28

Family

ID=25482628

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028187334A Expired - Fee Related CN1302378C (zh) 2001-08-31 2002-08-13 链接转换的小型应用程序文件的方法和设备

Country Status (7)

Country Link
US (1) US6779732B2 (zh)
EP (1) EP1421478B1 (zh)
CN (1) CN1302378C (zh)
AT (1) ATE385588T1 (zh)
BR (1) BRPI0212222B1 (zh)
DE (1) DE60224937T2 (zh)
WO (1) WO2003021428A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131121B2 (en) * 2001-11-14 2006-10-31 Axalto, Inc. Method and apparatus for linking converted applet files without relocation annotations
US7246347B1 (en) * 2002-06-26 2007-07-17 Sun Microsystems, Inc Method and apparatus for loading class files into non-volatile memory
US8816826B2 (en) * 2005-05-06 2014-08-26 Steven M. Colby Passive radio frequency data logger
US20070200682A1 (en) 2005-05-06 2007-08-30 Colby Steven M RFID Device Including Multiple Active Modes
US9524458B2 (en) 2005-02-07 2016-12-20 Mynette Technologies, Inc. Switchable epassport including shielding
US9569777B2 (en) 2005-02-07 2017-02-14 Mynette Technologies, Inc. EPassport including shielding method
EP1724677A1 (en) * 2005-05-19 2006-11-22 Axalto SA Memory management system and method in portable device
CN1313927C (zh) * 2005-06-16 2007-05-02 北京航空航天大学 智能卡运行环境的控制方法
DE102011113091A1 (de) * 2011-09-09 2013-03-14 Giesecke & Devrient Gmbh Programmpaketinstallation
CN102566971A (zh) * 2011-12-31 2012-07-11 北京握奇数据系统有限公司 一种指令解析方法、装置及智能卡
EP3176695A1 (en) 2015-12-04 2017-06-07 Gemalto Sa Method for managing a package in a secure element
EP4145271A1 (en) * 2021-09-02 2023-03-08 IDEMIA France Methods and terminal for updating converted applet file, and java card device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734822A (en) * 1995-12-29 1998-03-31 Powertv, Inc. Apparatus and method for preprocessing computer programs prior to transmission across a network
EP0964370A1 (en) * 1998-06-05 1999-12-15 International Business Machines Corporation Method and device for loading instruction codes to a memory and linking said instruction codes
WO2000046667A2 (en) * 1999-02-02 2000-08-10 Sun Microsystems, Inc. Token-based linking

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999732A (en) * 1998-03-23 1999-12-07 Sun Microsystems, Inc. Techniques for reducing the cost of dynamic class initialization checks in compiled code
CA2322686A1 (en) 1998-03-23 1999-09-30 International Business Machines Corporation Java runtime system with modified constant pool
US6338160B1 (en) * 1998-12-08 2002-01-08 Nazomi Communications, Inc. Constant pool reference resolution method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734822A (en) * 1995-12-29 1998-03-31 Powertv, Inc. Apparatus and method for preprocessing computer programs prior to transmission across a network
EP0964370A1 (en) * 1998-06-05 1999-12-15 International Business Machines Corporation Method and device for loading instruction codes to a memory and linking said instruction codes
WO2000046667A2 (en) * 1999-02-02 2000-08-10 Sun Microsystems, Inc. Token-based linking

Also Published As

Publication number Publication date
US6779732B2 (en) 2004-08-24
EP1421478B1 (en) 2008-02-06
DE60224937D1 (de) 2008-03-20
ATE385588T1 (de) 2008-02-15
BR0212222A (pt) 2004-09-21
BRPI0212222B1 (pt) 2016-01-26
US20030042318A1 (en) 2003-03-06
CN1559031A (zh) 2004-12-29
WO2003021428A1 (en) 2003-03-13
DE60224937T2 (de) 2009-02-12
EP1421478A1 (en) 2004-05-26

Similar Documents

Publication Publication Date Title
US8296535B2 (en) Generating incremental program updates
AU771699B2 (en) Token-based linking
CN1278236C (zh) 在分离的存储区域中存储数据组的不同版本的装置和更新存储器中数据组的方法
US7231635B2 (en) Remote incremental program verification using API definitions
US6986132B1 (en) Remote incremental program binary compatibility verification using API definitions
CN1302378C (zh) 链接转换的小型应用程序文件的方法和设备
US6981245B1 (en) Populating binary compatible resource-constrained devices with content verified using API definitions
US20050138649A1 (en) Populating resource-constrained devices with content verified using API definitions
US7743228B2 (en) Information processing apparatus and method for obtaining software processing log
US8949821B2 (en) Cap file for the personalization of a java application
CN1734417A (zh) 具有多个嵌入驱动程序的应用程序
KR101615295B1 (ko) 클래스 파일 내에 네이티브 코드를 임베드시킴으로써 가상 머신에서의 플랫폼 의존성 루틴의 적용
WO2007070578A1 (en) Partitioning of non-volatile memories for vectorization
CN113835620A (zh) 一种提高安全芯片应用执行效率的方法及系统
US20040181777A1 (en) Method and device for programming electronic devices using a uniform parameter format
US7131121B2 (en) Method and apparatus for linking converted applet files without relocation annotations
CN1582431A (zh) 已编译程序的安装,尤其是在芯片卡中的安装
CA2422634A1 (en) Populating binary compatible resource-constrained devices with content verified using api definitions
WO2003001371A2 (en) Storing and retrieving of field descriptors in java computing environments
CN116680181A (zh) 一种大图加载检测方法、装置、电子设备及存储介质
US8151243B1 (en) System and method for determining whether an array is a read-only array
EP1724677A1 (en) Memory management system and method in portable device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070228

Termination date: 20210813

CF01 Termination of patent right due to non-payment of annual fee