用于压缩标识符的方法技术

技术编号:7811834 阅读:214 留言:0更新日期:2012-09-28 00:36
本发明专利技术涉及用于压缩便携式数据载体中的程序代码单元的标识符的方法、用于调用经压缩的标识符的方法、便携式数据载体、以及具有用于存储经压缩的标识符的存储区域的半导体芯片。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种用于压缩便携式数据载体中的程序代码单元的标识符的方法、用于调用经压缩的标识符的方法、便携式数据载体、以及具有用于存储经压缩的标识符的存储区域的半导体芯片。
技术介绍
具有微处理器的芯片卡(还称为智能卡)如今已经被使用,并且在未来或许将被愈加地使用在多种多样的应用中,例如,在诸如移动电话的移动装置中作为SIM卡或USIM卡、在电子支付中作为银行卡或电子钱包、对于具有健康保险的人以及医生作为健康卡、作为居民卡、或者作为实施所述的或者其它功能性中的一些的多应用卡。用于芯片卡的半导体芯片具有多个存储区域,S卩,非易失性仅可写入一次的ROM、非易失性可重写的EEPROM以及易失性可重写的RAM。替代地,ROM和/或EEPROM的部分可以用闪存取代。在图I中,表现了这些关系。这里,芯片卡2与终端装置I处于通信连接3中。在半导体芯片的制造时,厂商首先将程序代码部分实施在ROM中。此程序代码部分还称为ROM掩码,并主要包含芯片卡的操作系统。芯片卡厂商从芯片厂商获得ROM掩码。芯片卡的完成通常同样由芯片卡厂商来执行,为此,向操作系统的添加和芯片卡厂商的应用程序被实施到芯片卡的EEPROM中。在成功完成之后,半导体芯片准备好被交付到消费者。为了创建独立于平台且良好保护以免彼此之间影响的应用程序,使用面向对象的 程序设计语言(特别是来自Sun Microsystems公司的Java )是非常合适的。替代Java ,也合适的程序设计语言是C#。然而,面向对象的程序设计语言的运行时间环境通常太广阔(extensive),以至于不能容易地实施到智能卡芯片中。Sun Microsystems公司的Java Card 技术表现了用于具有有限的系统资源的运行环境的修改的Java技术,其还适合于芯片卡。此技术在例如文件“Java Card RuntimeEnvironment (JCRE) Specification (Java Card 运行时间环境(JCRE)规范)”版本 3 中被提出。注意,本专利技术不限于该规范的当前或过去版本,而是也对未来版本有效。图2中示出Java Card 技术的示意结构,将在对附图的描述中更详密地描述其。Java卡(Java Card)的半导体芯片中提供的根据JCRE规范的运行时间环境至少包括Java卡虚拟机(JCVM)、和在对应存储区域中存储的标识符,并且可选地包括其它组件。就本专利技术而言,标识符是标识部件,通过其来标注例如变量、类、方法、参数列表、函数、或程序代码包的单元。为了避免在调用此对象时的冲突,标识符在命名空间内必须是唯一的,即,其必须是抗冲突的。面向对象的程序设计语言区分简单的标识符和完全合格(qualified)的标识符。编译器总是将通常用作程序设计辅助工具(aid)的简单标识符转译为完全合格的标识符。分等级地(hierarchical Iy )构造完全合格的标识符,从而通过句点(period)将各个部分分开。在Java中,存在对标识符的命名方式。在命名等级中排列较低的标识符的部分在语义上与在等级中较高的的标识符的部分没有关系。在芯片卡中,根据规范将标识符存储为数据类型为字符(char)的字符的字符串。用于芯片卡的操作系统的存储区域通常非常小,仅仅其一小部分对用户可用。因此,芯片卡厂商总是努力增加存储区域的对用户可用的部分。为了能够在EEPROM或闪存中安排尽可能多的对用户可用的存储区域,必须配置芯片卡的操作系统以使得占用尽可能小的内存。通常以小程序(applet)的形式,在芯片中实施应用程序(application)。作为应用程序,存在所谓的预加载小程序,其在完 成之前或者在完成时被实施到芯片卡芯片中。另夕卜,存在后加载小程序,其在成功完成之后通常由购买者或消费者(例如,信用机构或政府机构)加载到芯片卡芯片中。这是看到Java Card 技术的最大优点的地方,因为小程序可以独立于平台而传递至芯片卡,使得相应芯片卡上存在的硬件在小程序的实施和执行时不再起作用。虽然在Java卡2. X中加载小程序,但是,在Java卡3. 0中,另外加载所谓的servlet (服务器小程序)和web (网站)服务。就本专利技术而言,在小程序、servlet和web服务之间不进行区分,一般称为应用程序。本专利技术不限于标准的一个版本(例如,当前版本Java卡3.0),而是所提出的压缩方法也可以应用于较旧的和未来的Java标准。在Java卡标准2. x的版本中,以Java包的形式将应用程序的Java程序代码存储在芯片卡中。Java包继而由几个类定义组成。另外,还可以在Java包中定义接口。这里,在几个转译单元上分割Java程序代码,每个转译单元被存储在其自己的文件中。每个单独的转译单元首先定义其所属的包,然后从其它Java包输入一个或几个类。另外,还可以输入来自其它Java包的接口。最后,在Java包中定义一个或几个类,并且可能定义附加的接口。可以说,一个Java包利用另一个Java包。此措施防止包、类和/或方法以多种方式存在于芯片卡上,使得在这一点上已经节省了芯片上的存储空间。通过链接建立新加载到Java卡中的包实际上可以访问预定的其它包并使用其程序代码。新加载的包从其它包的输出组件将链接信息(例如,地址)加载到其自己的输入组件中。例如,在链接时,用来自其它包的输出组件的地址取代新包的输入组件中的令牌(token)(即,从“输入(import)”引用(reference)生成的数字引用)。这使得期望使用的令牌(引用)被两个包之间的实际地址链接取代。只有在新加载的包使得程序代码想要使用该新包的其它包的输出组件对其可用时,才可以建立链接,因此才可以建立实际使用的可能性。在输出文件中组合在Java卡中实施的所有包的输出组件、或者所有这些输出组件的预定子集。如果在Java卡的完成之前将附加的(新)包传递至芯片卡,则采用链接器(linker)和输出文件链接其。在向便携式数据载体的传递之后,仍然保留将程序代码组织(structure)到包中。如开始提及的,在Java卡技术中,将用于可执行程序代码单元的标识符存储在芯片卡中,从而标识符继而说明存储可执行程序代码的包和类名。这里,将标识符存储为所谓的字符串,以字符数据类型(char)。字符串的每个char字符需要芯片卡的存储区域中的8个比特。因此,通过有效地将标识符存储在芯片卡上,可以得到用于节省芯片卡的存储区域中的存储空间的一个起始点。在JP 2000259452A中,说明了。首先将标识符存储为char字符串,并且关于冗余字符串而分析标识符。不分开存储完全包含在第二标识符的字符串中的第一标识符的每个字符串。而是,存储第一标识符以使得在第二标识符的字符串上标记第一标识符的第一个char字符。丢弃第一标识符,并且仅将该标记以及第一标识符的字符串的长度存储在芯片卡的存储区域中。这样的压缩最初意味着完全存储了标识符的至少一个字符串。必须以传统方式在芯片卡的存储区域中存储至少一次Java包、类或方法的之前未被存储为char的字符串的每个标识符。因此,此压缩方法不是有效的,因为采用许多空间用于标识符。
技术实现思路
因此,本专利技术基于更有效地(S卩,以更加节省空间的方式)在本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201080058739.html" title="用于压缩标识符的方法原文来自X技术">用于压缩标识符的方法</a>

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.12.22 DE 102009059939.81.ー种用于压缩便携式数据载体、特别是Java卡(2)中的程序代码单元的标识符的方法,该方法包括下列方法步骤 -对所述便携式数据载体(2)中的标识符确定类型,其中该标识符至少具有第一和第ニ标识符类型; -以依赖类型的方式至少对该标识符的部分应用压缩函数并且获得经压缩的标识符,在所述便携式数据载体中进行所述应用; -将所述经压缩的标识符存储在所述便携式数据载体的存储区域(21)中,由此调用所述经压缩的标识符,用以执行所述程序代码单元。2.如权利要求I所述的方法,其中对所述第一标识符类型应用第一压缩函数。3.如权利要求I所述的方法,其中对所述第二标识符类型应用第二压缩函数。4.如任一在前权利要求所述的方法,其中分等级地组织所述标识符。5.如任一在前权利要求所述的方法,其中至少对所述第一标识符类型的标识符的一部分应用有损压缩函数,特别是哈希函数。6.如权利要求5所述的方法,其中选择所述有损压缩函数以使得关于定义的标识符集不发生冲突。7.如任一在前权利要求所述的方法,其中所述第一标识符类型包括应用程序设计接ロ函数(API)或其子集。8.如任一在前权利要求所述的方法,其中对所述第二标识符类型应用无损压缩函...

【专利技术属性】
技术研发人员:A梅德吉耶斯H帕姆古延
申请(专利权)人:德国捷德有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1