Java卡小应用程序中数据目标的动态内存管理制造技术

技术编号:2885155 阅读:259 留言:0更新日期:2012-04-11 18:40
本发明专利技术的主题是用于智能卡(8)特别是Java卡中数据目标(10、12)的动态内存管理方法和装置。建议在智能卡上实现各个内存目标(10,12)的目标和方法,其能在卡程序特别是Java小应用程序运行期间全部管理内存。内存管理包括诸如写、读、编辑、内存分配、去分配的传统功能和作为另一个可选择的特点-去内存分段。在本发明专利技术的优选实施例中,上述动态内存管理生成的内存或数据目标(10,12)不再使用数据详细的逻辑结构,只使用一个小应用程序或若干个小应用程序的所有数据目标的粗略逻辑结构。在数据目标内,用逻辑目录系统管理数据目标(14、16、18、21、22)。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于电子计算机装置的应用程序功能的编程和模式,该装置具有有限的计算能力,只能以次要的程度支持高级的现代程序设计概念。本专利技术特别涉及智能卡特别是Java卡中数据目标的动态内存管理的方法和装置。与台式计算机相比较,在开始提到的装置主要是用于只具有低级计算能力和不能编程为支持高级程序设计概念的一般用途的装置。为了披露本专利技术,所引用的例子是智能卡,即安装其自己微处理器的小内存芯片的卡。数据能够存储在芯片上,这能进行多种多样的商务处理连同例如现金机中现金自动付款器程序的主应用程序。这些芯片卡的容纳程度非常高,它们可能的应用程序和它们可应用的领域正在迅速发展。有两种智能卡第一种是文件面向系统的智能卡,其将ISO 7816-4接口用作与主应用程序通信的协议,当初始化该卡时,在卡上创建目录系统,该目录系统精确构造和指定访问智能卡的主应用程序数据的内存。这种目录系统管理智能卡上可用的所有内存。然而,这些所谓的ISO智能卡的缺点在于需要使用汇编码来编程访问存储器的应用程序。这对于程序员来说非常不方便,高级编程技术不能用于这种卡的应用程序中。第二种,是面向目标的智能卡,其符合智能卡上存储甚至小应用程序的需要,在该卡插入智能卡读卡器时运行该小应用程序。独立于主应用程序工作的这些程序能够自动根据应用程序的字段进行个别较少的商务处理。以Java编程语言写这些应用程序,这就是该卡叫做Java卡的原因。Java卡支持面向目标的编程,这打开了通向现代编程技术的接口。最终,借助于这些现代技术以高效方式可写应用程序,应用程序代码可以再利用、并且可以利用标准化接口。但是,智能卡的存储容量和计算能力通常特别有限。为了符合对Java卡应用程序日益增长的需求,在一张卡上容纳不止一个应用程序的要求也在增加。结果,倾向于所谓的“多应用程序”智能卡。响应于该趋势,多个业务供应商正加紧合作以便减轻顾客的某些任务、创建对顾客的特殊刺激、或启动特殊业务。实例包括航空公司与租车公司和/或连锁酒店合作以便基于特殊的折扣系统和预订设施为顾客提供专门的服务。然而,这要求所涉及的所有公司的应用程序之间的逻辑链应该尽可能地存储在一张智能卡上,而且这些公司间的合作不需要三张单独的智能卡。在这种系统中从一张卡到另一张的数据交换非常不方便,也不会被顾客接受。在团体业务逐渐集中的过程中,如果依据上述的业务发行新版本的现有智能卡,以支持和相互作用于两家新公司提供的业务,则该卡的升级是必须的。在现有技术的Java智能卡上,很不便于执行只在Java小应用程序运行期间出现的这种升级或扩展内存要求,因为Java卡只存储程序,小应用程序一装到Java卡上,就静态分配由Java卡应用程序-所谓的Java小应用程序-访问的各个数据区的大小。如果出现变化或存储器升级时,这种静态分配内存非常不灵活。而且,数据目标占用的内存是统计固定的,与数据目标中存储的数据大小无关。这首先意味着在小应用程序运行期间,当在预置位置的大数据目标中存储小量的数据时,大量的内存剩下没用。另一方面,只按照分配的数据目标逻辑构造存储的数据,特征在于不利于小应用程序的编程,因为每个数据区必须具有小应用程序可以访问的唯一单独的名称。附图说明图1基于个人数据记录表示这种情况。每个圆圈内图表示Java卡小应用程序的数据目标,在Java卡小应用程序上存储两个人的地址数据-即,每个人姓名的内存位置Name1、Name2;电话号码的内存位置Tel.1、Tel.2;或地址数据的内存位置Str.1、Str.2、Adr.1、Adr.2。必须在创建小应用程序时设置这些数据目标的大小。无论在运行期间所有的目标是否需要分配内存。如智能卡示意图中各个分离的圆圈所示,彼此无关地单独定义这些数据目标。另一个缺点在于Java小应用程序不能访问另一个Java小应用程序的数据,因为每个小应用程序保护其自己的数据。结果,如果两个小应用程序需要两个相同的数据记录,则它们必须重复存储在卡上。这意味着不能有效利用内存。因此当前的任务在于以动态和高效地管理可以得到的用于数据的Java卡上的内存和由若干不同的小应用程序可以寻址数据记录的方式编程Java卡。由独立权利要求所述的特征实现所提到的目的。其从属权利要求有利地增强了本专利技术。本专利技术的基本概念是基于结合目录面向系统的智能卡和Java卡的优点的想法以便实现上述的目的。根据本专利技术实现Java卡的特殊优点-即它们易于在智能卡上实现目标和有关的方法-利用该优点以提供目录面向系统的智能卡的优点。结果,下面是本专利技术面向目标的智能卡的一个方面,建议在智能卡上实现各个内存目标的目标和方法,该智能卡能够在卡程序特别是Java小应用程序的运行期间完全管理内存。内存管理包括诸如写、读、编辑、内存分配、去分配的传统功能和作为另一个附加的可选择的特点-去内存分段(de-frag-menting)。本专利技术另一个特点在于易于使相同的内存管理目标对Java卡上所有的小应用程序可寻址。在本专利技术的优选实施例中,上述动态内存管理创建的内存或数据目标不再使用数据的详细逻辑结构,只使用一个小应用程序的所有数据目标的粗略逻辑结构或由若干小应用程序可以访问的结构。根据本专利技术适于面向目标智能卡概念的优选实施例,在数据目标中,用逻辑目录系统管理数据,该系统以所谓的具有相关方法的内存管理目标形式的代码驻留在Java卡上。根据应用程序的需要,用于管理目录系统的代码编码成小应用程序自身,也可能存储在卡的操作系统中或在另一个位置,并且可由一个或多个小应用程序调用。通过将本专利技术概念转移到ISO文件系统卡上,因此在数据目标中使用作为结果的灵活文件系统也解决了动态生成布局的问题,即,由主应用程序或“离卡”应用程序来格式化卡上的整个内存系统。这特别在动态的面向目标的应用程序中尤其必要,其中只在所谓的高级目标运行期间生成卡布局。这些高级目标形成主应用程序和卡应用程序之间接口的通用成分,表示用于数据和命令交换运算的占位符(placeholder),直到运行期间不用相应的数据或命令的具体实现来填满这些占位符,然后生成内存需求,在小应用程序的运行期间或多或少地自发出现该内存需求。因此可以总结本专利技术概念的优点如下借助于目录系统在小应用程序的数据目标内启用“自动内存管理”功能。结果,内存在小应用程序运行期间需要的位置动态可用。因此比传统的静态内存管理方法占用更少的内存。而且,在小应用程序编程阶段,所有的数据结构不必陆续编入目标结构。某些可以只以粗略内存格式化允许的程度在以后的阶段加入,实际上能在数据输入之后“自身安装”。也只需要较少的数据目标,导致需要较少的目标管理。最后,应用程序和工具有可能只在应用程序运行期间Java卡初始化之后定义它的数据结构,例如数据目标的卡布局。附图中表示本专利技术的实施例,下面更详细地描述该实施例。附图中图1表示根据现有技术存储Java小应用程序数据目标的示意图,用于存储地址数据和卡/小应用程序数据。图2表示根据本专利技术存储Java小应用程序的数据目标内目录系统数据的示意图。图3表示根据本专利技术在Java小应用程序运行期间内存管理方法主要步骤的示意方框图。参照图2,在有必要使智能卡升级的范例情况下,描述由本专利技术增强的动态内存管理。在该情况下,由本文档来自技高网...

【技术保护点】
用于管理计算机装置(8)内存的方法,包括有限地支持数据目标(10,12)的高级编程概念在内,其特征在于步骤:使用(150,160)具有相关内存管理方法的内存管理目标用于在小应用程序运行期间动态管理内存,其中用于存储数据记录(14、16、18、21、22)的数据目标(10、12)具有比存储一个数据记录所需内存更多的内存。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:U翰斯曼恩D赫伦多尔弗L梅尔克T斯托伯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1
相关领域技术
  • 暂无相关专利