CN100518193C - 用于为命令/响应对的多重交换跟踪及监视多个逻辑流的小程序执行的系统 - Google Patents
用于为命令/响应对的多重交换跟踪及监视多个逻辑流的小程序执行的系统 Download PDFInfo
- Publication number
- CN100518193C CN100518193C CN01817565.1A CN01817565A CN100518193C CN 100518193 C CN100518193 C CN 100518193C CN 01817565 A CN01817565 A CN 01817565A CN 100518193 C CN100518193 C CN 100518193C
- Authority
- CN
- China
- Prior art keywords
- exchange
- command
- execution
- response
- order
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0008—General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Alarm Systems (AREA)
- Radio Relay Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及用于在主的和从属的发送器/接收器之间的单个物理交换信道上发送多个命令/响应逻辑交换流的协议,以及用于控制和监视小程序执行的相应系统。对现有激活的基本逻辑流(S),该协议包括选择(B)所述基本逻辑流,产生一组并发逻辑流({CLFx})。并发逻辑流包括分段(D)命令/响应对的连续基本包。由主收发器根据特定的命令起动和继续此交换,而由从属收发器根据在参考流上发送的特定响应为基础分段。本发明对控制和监视在多应用智能卡上实现的小程序方面特别有用。
Description
技术领域
本发明涉及对于在主收发器和从收发器之间在单个物理交换信道上发送命令/响应对的多重交换的逻辑流的协议,并涉及这种协议的应用,尤其涉及对安装在微处理器卡上的小程序(applet:Java程序)执行的跟踪,监视,或排错的系统的实现。
背景技术
当前,在主的和从属收发器之间交换数据或信息的协议极受关注,因为该协议有可能影响可靠、完善、稳定的数据交换,从而实现在具有相当的计算和处理能力的主单元和由于受存储能力限制只有低得多的计算和处理能力的从属单元之间的信息交换。
对由卡阅读器(CAD)-微处理器卡、芯片卡(称为嵌入式系统的卡对)组成的计算机系统,情况尤其如此,对此ISO 7816标准定义了两个用于在芯片卡和CAD阅读器之间通讯的协议。
具体说来,此两个协议由参数T=0和T=1定义,每个对应于“半双工”协议,卡阅读器和芯片卡两者中只有一个能在给定瞬时分别发送数据到另一方。
卡插入卡阅读器之后,由卡阅读器对卡提供支持,因此在主收发器(CAD阅读器)和从属收发器(芯片卡)之间在单个物理信道上发生数据交换。发送的信息单元称为APDU(应用协议数据单元)。
从已有技术可知,在上述协议中,在命令APDU,或C-APDU和响应APDU,或R-APDU之间进行区分。
一个信息交换会话由一个或多个APDU交换组成。因此,一个APDU交换由一个C-APUD/R-APDU命令/响应对的交换组成,它总由主收发器单元发起,发送C-APDU到从属收发器,后者通过R-APDU响应。在交换期间,主单元保持禁止而等待响应,从而包括由发送开始的后继传递的命令/响应对的交换在主发送器和从属发送器之间控制,并反过来也如此。
在最坏情况,不同于由主收发器,即CAD阅读器希望采用的连续传递,通讯的单独发起通过对从属收发器,即芯片卡切断电源而中断整个交换对话。
但近来,在蚀刻集成电路的物理处理中的持续进步,以及因而在给定硅片的体积或面积中进行计算、处理及存储的能力的持续提高促进了带有多种功能的从属收发器的出现。在多应用芯片方面这种情况尤其突出。例如,某些芯片卡能加入某些应用,而CAD阅读器能寻找以单独地与应用通讯。具体说来,鉴于CAD阅读器展示了无限的能力,在此类CAD阅读器上可安装几个应用,例如设置在银行或GSM移动电话终端的自动售票机;包括从属收发器,即多应用芯片卡的系统随即面临在基本上独立的应用之间的单个信息信道上通过命令/响应对进行多重信息交换。
实际上,某些芯片卡可加入若干文件系统,若干小程序或在后者设置的服务。特别是,GSM卡既适合用户的认证,并作为便携的嵌入系统,也适应于小程序的执行。
为此目的,ISO 7816-4标准的5.5节定义了逻辑信道的概念。这些逻辑信道使得有可能解耦(decouple)出现在芯片卡上各种参与者、小程序或服务的APDU交换的会话连接。所提出的标准化过程非常简单,一个芯片卡能管理多至4个序号为0到3的逻辑信道。这些逻辑信道可以借助如ISO 7816-4标准的6.16节定义的管理信道标准命令分别打开或关闭。接着,对C-APDU命令的目的逻辑信道的索引号以ADPU的类别码(CLA)的2个低位进行编码。
因此,由ISO 7816-4标准定义的各种逻辑信道在逻辑上解耦,但是在单个物理交换信道上的APDU交换对CAD阅读器和它的各种应用,以及对能在芯片卡上执行的各种小程序及服务仍保持禁止,由于分辨各个逻辑信道的命令/响应对的同时多重出现而易于产生的冲突的问题还没有特别解决,特别在ISO7816-4标准的5.5.1节,段4所描述的内容:在发出下一个命令/响应对之前,前一个命令/响应对的发出必须结束,命令和响应必须不在若干逻辑信道上嵌套,在接收一命令并发出对应的响应之间,单个逻辑信道必须激活。
发明内容
本发明的目的是借助消除强加在多个逻辑信道上的限制以弥补通过以前技术的命令/响应对在主收发器及从属收发器之间交换数据的方法中的缺陷。
本发明的另一个目的是借助实现并发逻辑信道表述在主收发器和从属收发之间的单个物理交换信道上为命令/响应对的多重交换而发送多个逻辑流的方法,其中每个并发的逻辑信道允许独立交换命令/响应对,因而若干命令/响应对有可能在各个打开的并发信道上同时激活。
特别是,本发明的另一个目的是表述对于在主收发器与从属收发器之间的单个物理交换信道上为命令/响应对的多重交换发送多个逻辑流的方法,其中如CAD阅读器这样的主收发器能够在另一个并发的逻辑信道上起动一个命令/响应对,APDU,同时一个命令/响应对的交换已经在已激活的并发信道进行,连结到主收发器,CAD阅读器,的各种应用使用至少一个由安装在芯片卡中的从属收发器,小程序或服务管理的应用,从而互相独立地执行,而不会有任何执行冲突的危险。
相应地,本发明的另一个目的是对在主收发器和从属收发器之间的单个物理交换信道上为命令/响应对的多重交换发送多个逻辑流的方法,其中不同的命令/响应对能在连接到由从属收发器管理的各种应用的不同并发逻辑信道上交换,应用是如安装在多应用芯片卡上的各种小程序或服务,这些应用借助根据本发明的方法来实现同时并独立地执行。
本发明的另一个目的也是对在主收发器和从属收发器之间的单个物理交换信道上为命令/响应对的多重交换发送多个逻辑流的方法,其中,每个并发逻辑信道上包括在进行中的命令/响应交换情况中的主收发器单独起动时关闭。
本发明的另一个目的还是对在基本逻辑信道上交换命令/响应对的主收发器和从属收发器之间的单个物理交换信道上为命令/响应对的多重交换发送多个逻辑流的方法。命令/响应对还可能在此主收发器和此从属收发器之间的并发逻辑信道上交换,该命令/响应对组成由基本逻辑通路传送的基本逻辑流和由并发逻辑信道传送的并发逻辑流,这些逻辑流共存,以至从在单个物理交换信道上没有冲突地交换命令/响应的过程中得益。
本发明的另一个目的是最终当主收发器包括CAD阅读器,从属收发器包括芯片卡时,该方法是为完全兼容ISO 7816标准的命令/响应对的技术规范的多重交换发送多个逻辑流的协议。
根据本发明,为在主收发器和从属收发器之间的单个物理交换信道上命令/响应对的多重交换发送多个逻辑流的方法关系到包括由主收发器起动的至少一个基本逻辑流的诸逻辑流,它们作为单个物理交换信道遵循相同的主/从关系,主的和从属的收发器分别允许执行至少一个软件应用。
值得注意的是,它包括在取作参考逻辑流的诸基本逻辑流之一中产生一组并发逻辑流,每个并发逻辑流由分段为命令/响应对的连续基本包形成。形成并发逻辑流组的连续基本包在参考逻辑流上发送,该组的两个并发逻辑流能独立并基本上同时地发送不同的命令/响应对。
命令/响应对的任何交换的起动和继续在主收发器的启动是根据在参考逻辑流上发送的特定命令完成,而连续基本包的分段在响应在此参考流上这些特定命令时发送的特定响应的起始完成。这一方面允许在主的和从属的收发器的至少一对应用之间独立并基本同时地交换命令/响应对,另一方面允许在物理交换信道上的不同于取作参考逻辑流的基本逻辑流上交换优先命令/响应对。
在阅读说明书描述并注视下面的附图后,能更好地理解对于为在主收发器和从属收发器之间的单个物理交换信道上命令/响应对的多重交换发送多个逻辑流的方法,以及用于跟踪和监视安装在如实现按照本发明的方法的嵌入式计算机系统上的小程序执行的系统。
附图说明
图1表示实现遵照本发明的方法的主要步骤的流程图,此流程允许执行该方法,用于在出现单个基本逻辑流时为在主收发器和从属收发器之间的单个物理交换信道上命令/响应对的多重交换发送多个逻辑流;
图1b表示实现遵照本发明的方法的主要步骤的流程图,该流程允许执行该方法,用于在出现多个基本逻辑流时为在主收发器和从属收发器之间的单个物理交换信道上命令/响应对的多重交换发送多个逻辑流;
图2a表示在基本逻辑流取作为参考逻辑流的情况,实现在基本逻辑流上交换的实现方式;
图2b表示在从属收发器的起始将通过并发逻辑流将交换分割成连续的包的过程。
图2c表示通过在主收发器和从属收发器之间的两个不同的并发逻辑流交叉两个交换的连续包过程;
图2d表示在由并发逻辑流的另外的交换的长处理的过程中由并发逻辑流处理交换的过程;
图3a表示跟踪和监视安装在一个嵌入工计算机系统上的小程序的执行的计算机系统的功能示意图,该嵌入式计算机实现为在主收发器和从属收发器之间的单个物理交换信道上命令/响应对的多重交换发送多个逻辑流的遵照本发明的方法,主收发器单元由引导模块及CAD终端组成,从属收发器单元由如芯片卡那样的嵌入式计算机组成,单个物理交换信道包括满足ISO 7816协议之一的链路组成;
图3b表示在安装在嵌入式计算机系统中跟踪及监视执行自动部分的执行的特定代理模块,此嵌入式计算系统的操作系统,输入/输出功能(由APDU组成的逻辑I/O功能),监视和跟踪执行自动执行的逻辑链路的原理图,在非限制性实施例中,执行自动部分由与应用界面库(API)有关的虚拟机组成;
图4a表示在用于跟踪和监视如图3a、3b所表示以非排错方式遵照本发明的小程序的计算机系统的各单元之间完成的交换的时序图,排错功能来激活,在此情况,本系统基本上看成与以前技术的多应用芯片卡相关的CAD阅读器;
图4b表示在用于跟踪和监视如图3a、3b所表示以排错方式遵照本发明的小程序的执行的计算机系统的各单元之间完成的交换的时序图,排错功能被激活;
图4c表示在虚拟机达到称为断点访问的停止点状态时,在用于跟踪和监视如图3a、3b和4c所表示的按本发明的小程序的计算机系统的各个单元之间执行交换的时序图。
具体实施方式
现在与图1a及下列的图一起详细描述对于按本发明的主题为在主收发器和从属收发器之间的单个物理交换信道上命令/响应对的多重交换发送的多个逻辑流的方法。
在现在描述的框架内,请记住,逻辑流由借助主收发器和从属收发器之间的单个物理交换链路的逻辑信道上的多个命令/响应对的交换组成。
通常记得,遵照本发明的方法能在由半双工链路连接的任何主收发器和从属收发器之间实现,此链路允许交换命令/响应对,主收发器连接到一组应用的一个应用,而从属收发器允许执行一组应用或服务中的至少一个应用。每个应用到主收发器的互连标记为E/RM,而到从属收发器的互连标记为E/RE,对于与主收发器互连的应用记作AMy,而与从属收发器的互连记作AEz,这些应用能借助基本逻辑流完成。此基本逻辑流可能由记作SEPC的单个物理交换信道发送,上述基本逻辑流BLF包括在单个物理交换信道SEPC上命令/响应对的发送,记作(C,R)b。
在这些条件下,考虑如在图1a表示记作S的起动状态,其中一组上述参数被定义并以非限制的方式对应于下述情况:其中主收发器E/RM包括允许执行至少一个应用的CAD阅读器,从属收发器E/RE包括由安装小程序或服务的芯片卡,基本逻辑流在此情况对应于ISO标准7816-3和7816-4的规定所定义的逻辑流。
然而根据按照上述标准的规定的第一次使用,认为单个基本流在实现遵照本发明在图1a中示出的方法的框架内是打开并激活的。
以图1a中所示的更具体的方式,根据本发明的方法在于将当前激活的基本逻辑流BLF当作参考逻辑流LFr。此操作在图1a的步骤B中完成,并由下述关系表示:
LFr=BLF
此步骤能借助分配如十六进制位值FE等的特定值给类别码或当前激活的基本逻辑流的参数来实现。
然后步骤B进到步骤C,它产生一组并发逻辑流{CLFx}。每个并发逻辑流由分段命令/响应对的连续基本包形成。在步骤D实施分段同时,形成并发逻辑流组{CLFx}的连续基本包,在参考逻辑流LFr上发送,该组的两个并发逻辑流允许独立并基本上同时地发送不同的命令/响应对。在步骤D中表示的返回箭头示出从分段引起的连续的包的多次交换。
任何命令/响应对的起动和继续根据在参考逻辑流上发送的特定命令在主收发器的起动完成,而分段成连续的基本包是在响应对在此参考流上这些特定命令而发送的特定响应的基础上在从属收发器的起动完成的,因此主收发器或者能借助保持用于执行在应用和不同的小程序之间的交换的参考逻辑流LFr来保持不同的命令/响应对的交换,或者借助提取值FE,通过返回到基本逻辑流而保持命令/响应对的交换。
此做法允许在主收发器与从属收发器的至少一对应用之间独立地并基本上同步地交换,在本说明的后面详细描述。对于谈到不同命令/响应对的基本同时发送的概念,当然理解为在连续包的发送期间定义的同时性概念。
此外,遵照本发明的方法能在出现多个激活的基本逻辑流的情况实现。在此情况,如图1b所表示,在出现由主收发器E/RM起动的任何基本逻辑流的期间,此情况对应于类似于图1a的起动状态的情况S,遵照本发明的方法能包括实行在主收发器和从属收发器之间任何打开的和正常激活的基本逻辑流的发送。此操作能由检验激活的基本流BLF*的存在的测试步骤A完成,该基本流在主收发器时起动,根据连接到或倾向于连接到主收发器的任何应用Amy的请求起动。
在图1b中,对应的测试A记为:
BLF*={Φ}
此测试在于验证不存在任何激活的基本逻辑流。
在对上述测试A的否定响应时,在主收发器层上出现激活的基本流,遵照本发明的方法在于通过返回到步骤S,执行上述激活的基本逻辑流的发送。
相应地,在对上述测试A的肯定响应时,在主收发器层上不出现激活的基本流,遵照本发明的方法随后能在至少一个基本流取作参考逻辑流情况产生一组并发逻辑流。
在图1b,类似于图1a,步骤B用关系式表示定义基本逻辑流BLFu作为参考逻辑流,标记为LFr:
LFr=BLFu
在实现遵照本发明的方法的框架内,按照与ISO标准7816-4规定的协议兼容的方法,在步骤B参照逻辑流的定义能有益地通过分配如以前提到的十六进制值FE等特定的值到类别码或有关基本逻辑流的参数而完成。
步骤B之后,类似于图1a,在步骤C产生一组并发逻辑流,记作CLFx的每个并发逻辑流和记作{CLFx}的这些并发逻辑流组由连续基本数据包形成,将在后面叙述中描述。上述并发逻辑流组{CLFx}的并发逻辑流允许在标记为AMp的连接主收发器的应用和标记为AMq的连结从属收发器的应用之间不同的命令/响应对的独立及基本上同时的发送,这些应用有可能不同于或不是不同于应用AMy和AEz的优先级,对它们借助于从组BLF*来的基本逻辑流事先完成数据的交换。
在图1b中,不同的命令/响应对的独立及基本同时的发送的步骤记为D,这些命令/响应对被记作(C,R)x,并按照对应的并发逻辑流CLFx,在单个物理交换信道SEPC上发送。
此外如图1b所示,遵照本发明的方法在于,为了在单个物理交换信道上在不同于参考逻辑流的基本逻辑流上执行命令/响应对的交换,依据主收发器E/RM起动立刻挂起任何并发逻辑流的交换。此挂起操作能对应于如图1b表示的测试步骤E,此测试步骤E可能对应于如步骤A中完成的验证不存在激活的基本逻辑流BLF*的相同的测试。
在对测试步骤E否定响应时,出现由主收发器E/RM起动的激活的基本逻辑流,为执行此激活的基本逻辑流的发送,执行返回到起始步骤S的工作。
相反,对测试E肯定响应时,实现返回到步骤B,以重新定义参考逻辑流,且按上述B、C、D执行多重交换过程。
可以理解,通过实现遵照本发明的方法如图1b所示的连续步骤的执行,所述方法就有可能在任何基本逻辑流的交换结束后立即继续任何并发逻辑流的交流。
此做法允许在单个物理交换信道上至少一对主收发器和从属收发器的应用之间独立和基本上同时进行命令/响应对的交换。
如图1b所示,遵照本发明的方法使得有可能适合没有冲突的共存,并发的逻辑信道允许发送并发的逻辑流,而基本逻辑信道允许发送基本逻辑流。尤其是它一方面允许如上所述在主收发器和从属收发器的至少一对应用之间独立和同时交换命令/响应对,另一方面在单独物理交换信道上的基本逻辑流上交换优先命令/响应对。
如下所述可以理解,当基本逻辑流是如此定义,以满足ISO标准7816-4的规定,且当主收发器由CAD阅读器组成,而从属收发器由芯片卡组成时,在任何时候,CAD阅读器能在基本逻辑信道上起动APDU命令的交换。在此交换期间,其他的并发或另外的信道随后被挂起,虽然没有中断在并发信道上正在进行的交换。
在上述特定实施例中,使用基本逻辑流和信道来适合于命令/响应对的发送是有益的,它的处理只需要相对较短的时间。
现在参考图2a、2b、2c和2d给出如以前结合图1a、1b(尤其当上述基本逻辑流BLFu满足ISO标准7816-4的规定时),描述的遵照本发明的方法的步骤B、C和D特定实现的更详细的描述。
在图2a中表示的是主收发送器和从属发送器,它们被分别称为单元E/RM和单元E/RE。
在基本逻辑流BLFu上标记为(C、R)的命令响应对的交换是在单个物理交换信道SEPC上实现,单元E/RM借助引导P从连接到单元E/RM的应用AMp接收命令,此单元取得控制以便实现标记为C=[“COMMAND”]的命令C到从属单元E/RE的发送。具有控制的单元E/RE发送命令C到连接从属单元E/RE的应用AEq。上述应用的响应R传送到从属单元E/RE,它再次具有控制,以至于实现在单个物理交换信道SEPC上实现发送标记为R=[“RESPONSE”]的响应到单元E/RM,后者借助引导P将其发送到AMp。在给定的例子中可以理解,字符串“COMMAND”和“RESPONSE”分别表示符号命令和符号响应。
当有关的逻辑流是基本逻辑流BLFu时,按ISO标准7816-4的规定,在没有连续对应逻辑流的嵌套和交叉情况下,命令/响应处理能继续对应命令和响应的执行。
相反,当基本逻辑流通过如前所述分配特定的类别码构成参考的逻辑流LFr时,则产生连续的并发逻辑流的过程通过将通过组成在相关并发逻辑信道的APDU的交换的数据进行分割而在从属单元E/RE的起动完成。此分割包括分割成更基本的数据单元或段,并包括使用普通的APDU在单个物理交换信道SEPC上发送这些数据。
尤其可以理解,上述在从属单元E/RE的起动上的分割最好按遵照本发明的方法的特别值得注意的方面,根据通过响应在单元E/RE的起动确定的段次序来完成。例如此段次序能定义如由主单元E/RM在部分命令或数据项的包装(guise)中的最大命令的包尺寸。从属单元E/RE在其自己的起动或根据从应用AEq来的请求确定由前述主单元E/RM派发的在部分命令的包装中发送包的最大尺寸。相应的,从属单元确定在部分响应包装中要发送的包的实际尺寸。尤其可以理解,将上述数据分割成数据段或包有可能交叉这些部分APDU,并从而交叉数据逻辑流,和在并发逻辑流和上述并发信道中进行的并发逻辑流。
将借助非限制性例子并结合图2b给出,通过并发逻辑流CLFx在连接到主单元E/RM的应用AMp和连接到从属单元的应用AEq之间进行交换的由命令/响应对组成的命令和响应的分段或分割成连续的包的例子。
在上述图中指出,在上述非限制性例子中,使用的命令/响应对当然对应于APDU命令。
于是,应用AMp发送命令C到主单元E/RM,此命令标记为:
C=[“COMMAND”]
在上述组成C-APDU的命令中,代表符号命令的字符串“COMMAND”表示通常在APDU命令的包装中可得到的任何命令。此命令的逻辑值是通常在APDU命令的集合中可得到的值,上述字符串简单地用符号表示此命令的语法。
在由主单元E/RM接收上述命令C后,具有控制的主单元将特定命令发送到从属单元,将命令通知从属单元E/RE。
通知命令的命令标记为:
[COMMAND_READY x]
其中x表示CLFx的下标。
接收到上述命令通知之后,结合应用AEq并具有控制的从属单元E/RE发送包括被接收的命令的分段次序和上述命令C的响应。
分段次序是下述形式APDU类型的响应:
[RECEIVE_BYTES x NB=3]
作为上述分段次序的响应,除了功能性头标RECEIVE_BYTES以外,包括关于下标x的并发流和字段,和在图2b中随意地定为NB=3所指定的字段,其中NB标记由从属单元E/RE结合连接到所述单元的应用AEq请求的最大字节或字(字符)数。
在主单元E/RM接收到分段次序后,仍具有控制的主单元E/RM在参考逻辑流LFr上发出数据发送命令,它包括由从属单元E/RE请求的字段或更低数目的字节数或字数。
包发送命令是下述形式的APDU命令:
[SEND_DATA x[“COM”]]
除了对应于数据发送命令的功能性头标SEND_DATA和关于下标x的遵照本发明的并发逻辑的字段以外,此包发送命令包括三个字节或字,在命令C的情况对应于任意命令“COMMAND”的头三个字母COM。
从属单元E/RE收到上述包发送命令后,具有控制的从属单元发送在图2b中标记为[OK]的接收响应的APDU类型确认信息到主单元。
然后,再次具有控制的主单元E/RM向从单元E/RE发送一命令用于继续发送下述形式的命令/响应的交换。
[RESUME]
接收了此继续命令后,具有控制的从属单元E/RE在由应用AEq处理后重复向主单元发出分段次序响应,其中关于所请求的字节数的字段取作等于NB=4。
主单元E/RM接收到上述新的分段命令后,所述单元发送新的命令用于发送一个包,该命令中所发送包的字段包括4个字节,对应于上述命令C中的字母“MAND”。
在接收到上述4个字节的新包以后,随后从属单元E/RE就绪,结合应用AEq并具有控制,以发送如下形式的APDU类型的分段的响应。
[SEND_BYTES x[“RESP”]]
上述响应包括一系列发送的字节或字,结合连接到所述单元的应用AEq,其选择在从属单元E/RE的单独起动。在图2b的情况,分段的响应包括4个字节或字“RESP”,即对应于符号的响应“RESPONSE”的第一段。
主单元E/RM接收到上述分段响应之后,随后具有控制的上述单元向从属单元E/RE发送新的继续命令,从而允许从属单元E/RE结合应用AEq并具有控制,向主单元E/RM发出包括所发送的字节或字数NB的新的分段响应,该数这里随意地取作4并对应于“ONSE”。
在接收此新的分段响应后,主单元E/RM实际上发送一条继续命令给从属单元E/RE,使得允许响应的全部发送,直到响应消息的APDU类型的结束由从属单元E/RE发送到主单元E/RM。
响应APDU消息的结束具有下面形式:
[RESPONSE_COMPLETE x]
在接收响应消息的结束之后,主单元E/RM具有下面形式的完全响应R:
R=[“RESPONSE”]
并因此对应于符号响应,命令/响应对C/R已借助并发逻辑流CLFx,在单个物理交换信道SEPC上,在从属单元E/RE的起动以连续包方式发送。
因此,由并发逻辑流发送的命令和响应分段成包的工作在结合(如小程序的)发送数据的接收者的(如芯片卡本身的)从属单元的监视下完成。此做法显得特别重要,因为有可能使用所有由ISO7816-4标准定义的所有传输协议,尤其是对于传输参数T=0的值,对此情况,APDU的精确方式,尤其是其方向是不清楚的,并组成只对单个物理交换信道通讯的双方,即应用AMp和AEq知道的隐含信息单元。
此外,从属单元E/RE正规地转让控制给主单元CAD阅读器的上述分段过程使得有可能管理从连接到各种并发信道的应用AMp或AMq起动的交换的任何异步请求。
谈到上述分段的过程,读到如图1所示遵照本发明的方法的实现过程,应指出应用AMp和AEq能请求用于发送并发逻辑流的并发信道的开启,或用于借助引导发送基本逻辑流的基本信道的开启,引导模块包括特定计算单元,在图中未示出。引导模块当然能与主单元E/RM及应用AMp通讯。而且在打开用于交换并发逻辑流的并发信道及打开用于交换基本逻辑流的基本信道之后,每个应用能请求在此信道交换APDU,并如图1所示,在信道是并发的或交换的逻辑流是并发的逻辑流的情况中断当前的交换。
此外,如图1和2b所示,组成在并发信道上APDU交换的数据或命令的段使这些数据或命令段能在单个物理交换信道发送,同时授权由基本APDU组成的命令/响应对的交叉,并最终,在上述并发信道中进行的并发数据流的对应交叉将结合图2c在特定的非限制性实例中描述。
在上述图2c中,考虑非限制性例子,其中两个应用AMp和AMp’经引导模块连结到主单元E/RM,而从属单元E/RE连结到单个应用,该应用为此原因没有像在图2c那样指定。
在上述图中,应用AEy借助引导模块(未示出)在请求打开并发逻辑流CLFx之后按照推测发出命令C=[“COMMAND”]到主单元E/RM。
参考图2b,主单元E/RM在单个物理交换信道SEPC上发送以前提到过的命令通知命令。从属单元E/RE通过发送段次序响应作出响应,对此,NB按由从属单元E/RE执行的小程序或应用随意地取作8。
在主单元E/RM接收段次序响应后,它向从属单元E/RE发送一个包发送命令,该命令包含对应由从属单元请求的字节或字的数目的8个字符的字符串,于是该符号命令全部发送。然后,从属单元E/RE能够向主单元发送接收命令的确认[OK]。然后主单元在并发逻辑信道上通过发送并发逻辑流CLFx,或者在下面将描述的另外并发逻辑信道上继续任何发送过程。
由主单元E/RM执行的应用AMp借助引导模块对应于下面形式的符号命令的命令C’在发送之前,请求打开并发逻辑信道CLFx:
C’=[“C’O’M’M’A’N’D’”]
在收到由主单元E/RM发出到从属单元E/RE的继续命令之后,从属单元能随后进行发出对应于命令C的分段的响应,由于从属单元E/RE尚未知道存在此命令C’,并发逻辑信道已经为它单独打开,对应的并发逻辑流CLFx’尚未激活。
借助非限制性例子,并对符号的响应“RESPONSE”,分段的响应通过部分响应发送包含字符串“RESP”的包。
然后主单元E/RM能借助引导模块进到激活并发的逻辑流CLFx,以至通过发出与上述命令C’有关的通知命令的命令来起动嵌套的交换。
在由从属单元E/RE接收命令通知命令后,具有控制的从属单元发送关于命令C’的一定字节数的段次序响应,字节数被随意地取成等于NB=4。在响应中,主单元E/RM发送一个有关命令C’并包含4个字节或字的包发送命令,这些字母组成符号命令C’的字符串“C’O’M’M’”。
从属单元E/RE在响应中发送接收的确认。
具有控制的主单元E/RM能通过引导模块在当前激活的并发逻辑流组不是空组时,将该组通知从属单元E/RE。此通知能以继续命令方式完成,这将在下面作更详细的叙述。然后响应此继续命令,从属单元E/RE能发送4个丢失的字节,以便在并发逻辑流CLFx上通过包含字节或字“ONSE”的分段响应,发送符号响应“RESPONSE”。主单元E/RM随后在同一并发逻辑信道上发送继续命令到从属单元E/RE,它随后送出有关命令C的响应命令结束。在接收此消息命令结束后,主单元E/RM能借助引导模块向应用AMp发送对命令C的符号响应。
此外,主单元E/RM随后能借助引导模块在并发逻辑流CLFx上继续多重交换过程,用于关于命令C’的命令/响应对交换,对此命令从属单元E/RE尚未送出响应命令结束。在应用AMp的起动打开的并发逻辑流CLFx再次由引导模块激活,并且在由从属单元E/RE接收继续命令以后,从属单元能发送最大给定字节或字数(取作等于NB=4)的段次序响应到主单元E/RM,该响应关系到由应用AMp起动的命令C’。
当接收段次序响应之后,主单元E/RM随后能发送一个包发送命令,它涉及命令C’并包括含有3个字节的包,这3个字节是组成符号命令C’的字符串的最后三个字节或字“A’N’D’”。
在从属单元E/RE接收上述包发送命令且由所述单元发出接收确认之后,主单元发送继续命令以至于获得对符号命令的响应。
响应此继续命令,从属单元E/RE发送整个符号响应,符号响应标记为“R’E’S’P’O’N’S’E’”且以分段响应形式对应于命令C’的响应。
在主单元E/RM接收上述分段响应以后,主单元再次向从属单元E/RE发送继续命令,然后从属单元发送关于命令C’的响应命令结束给主单元E/RM。然后主单元进行向应用AEy’发送由字符串[“R’E’S’P’O’N’S’E’”]形成的符号响应。
谈到通过引导模块打开并发信道的过程,应指出,此打开通过管理信道类型的APDU命令完成,见ISO7816-4 6.16节。
通常应指出,形成并发逻辑流的每个连续基本包借助在单个物理交换信道上的特定APDU命令/响应对发送。
为执行基本逻辑流的命令/响应对由APDU实体组成,而不同的命令/响应对最好由特定的包络型(Envelope type)APDU命令形成,且短APDU响应属于APDU响应的子集。
在接收包络型的特定物理C-APDU命令后,从属单元E/RE完成处理。例如,当从属单元由芯片卡组成时,该从属单元能进行某些安装的小程序的执行。然而它必须在相对较短的时间内给出响应。组成R-APDU的响应必须采取下列形式之一:
1.[TIME_OUT]
卡简单地超出许可时间没有任何特定的操作;
2.[GET_HEADER x]
卡要求并发信道x的C-APDU的头标。引导模块必须通过物理命令[SEND_HEADER x CLA INS P1 P2 P3]响应,卡通过R_APDU[OK]对它响应;
3.[GET_BYTES x n]
卡要求并发信道x的C-APDU的下面n个字节。引导模块通过物理命令[SEND_DATA x a1……am]响应,其中m≤n,若这是输入数据的最后段,m可以不同于n。卡通过R_APDU[OK]确认接收;
4.[SET_OUTGOING_LENGTH x Lr]
卡对引导模块指出在并发信道x上响应R_APDU的长度。
5.[SEND_BYTES x a1……an]
卡在并发信道x发出R_APDU的下面n个字节。
6.[STATUS x SW]
卡指出状态,即在并发信道x上R_APDU的最后两个字节,随后在信道x上的交换终止。
在所有情况,引导模块在此交换后重新取得控制。
在卡的请求构成方法错误的情况,例如在情况2到6,若在信道x上没有进行交换,或又若在一次且同样的交换过程卡两次请求头标,则引导模块通过命令[IO_ERROR x code]将问题通知卡,其中错误的属性以code号表示。
而且在由并发逻辑流长处理另外交换的较长期间由并发流对交换的请求的特定处理在图2d中有进一步示出,图中关系到借助主单元E/RM执行的两个应用AMp和AMp’。
参考图2d,对在应用AEy的起动执行的命令C=[“COMMAND”],考虑在并发逻辑流CLFx上命令/响应对的交换的执行。
在这种情况,在打开并发逻辑流CLFx之后,此并发逻辑流由引导模块在再现激活,在给予从属单元E/RE时间内的执行条件下完成交换的执行。
对于交换的执行,从属单元超出给予它的时间运行而没有任何其他特定事件出现的任何部分执行形成由从属单元发出下述形式的R-APDU类型响应的主题:
[TIME_OUT]
并是由主单元E/RM发出继续命令。此过程能对激活的并发逻辑流CLFx持续由从属单元E/RE使用的各种连续的时间片。
在另外应用AMp‘的起动由主单元E/RM接收命令C’以后,并发逻辑流CLFx’的打开(此并发逻辑流由引导再现激活)使能在支持并发逻辑流CLFx’的并发逻辑信道上发送关于命令C’的命令通知到从属单元E/RE。然后,发送响应[TIME_OUT]的过程能对在并发逻辑流CLFx’上命令C’的执行继续,用于执行命令C和C’的发送。
遵照本发明的方法允许处理对于在由主单元E/RM执行的应用及由从属单元E/RE执行的那些小程序或服务之间的交换的异步请求。
参考图1b,当这些请求涉及基本逻辑流和对应的基本逻辑信道时,在接收到有关基本逻辑流的响应以前,并发逻辑信道和并发逻辑流组被挂起。
但是,对交换的异步请求也可以涉及在空闲的并发信道上发出C-APDU命令。在此情况,引导模块借助主单元E/RM发出命令通知的命令,指出在逻辑信道及有关的并发逻辑流CLFx上C-APDU类型的命令已可用,用非限制性例子说明,该通知命令能随后触发执行在从属单E/RE上的接收小程序。
当借助主单元E/RM引导模块具有控制,但无异步交换请求到达所述单元时,虽然交换仍在一个并发信道上进行,执行的继续通过发出C-APDU类型命令完成,也就是说是通过上述提到的继续命令。
在这些条件下,从属单元E/RE必须在相当短的时间内让出控制,以尽可能快地处理异步请求。
最后,参考图1和2b,遵照本发明的方法较好地能根据两种特定的命令C-APDU类命令和R-APDU类三种特定响应实现。
第一种特定命令包括命令通知命令,使主单元E/RM能通知从属单元E/RE存在当前激活的并发逻辑流组。可以理解,尤其在图2b和2c中给出的例子中,每条命令通知命令包含单个激活的并发逻辑流,CLFx及CLFx’,所以没有不必要超负载描述,但是若干并发逻辑流可适当地同时激活,在并发逻辑流的单个物理交换信道不外乎按连续地可执行。
实际上命令通知命令包括:
·由命令[COMMAND_READY x]构成的命令CIa;
·由命令[RESUME]构成的命令CIb;
命令CIa和CIb使得有可能通知从属单元E/RE,主单元E/RM可用于在一个并发信道上执行或继续交换。
包括包发送命令的第二特定命令使得可能从主收发器向从属收发器发出基本包。发送标记为CII的第二特定命令是在接收标记为RI的第一特定响应时,而组成段次序的R1由从属收发器响应第一或第二特定命令之一发出的,在接收由从属单元发出对第一CIa,CIb和第二特定命令CII的第一特定响应之后,发出第二特定命令CII,它使得有可能从主单元E/RM向从属单元E/RE发送一个基本包,该基本包涉及对在第一特定响应RI中指定的并发逻辑流组的一个并发逻辑流的当前激活的命令。将当前激活的命令分割成连续的包,例如在图2b中的命令C,在从属收发器的起动借助在第一特定响应RI中的规定而完成,该RI组成在第二特定命令CII中发送的包的最大尺寸的段次序。
组成分段响应的第二特定响应RII使得有可能在第二特定响应RII中指定的当前激活的并发逻辑流上由从属单元E/RE向主单元E/RM发送一个响应的基本包。
最后,第三特定响应RII包括一个简单响应,由从属单元E/RE向主单元E/RM送出的特定命令/响应对的响应的结束。
因此,根据主单元发出的第一特定命令在主单元E/RM的起动,尤其是命令通知命令CIa,实现连续包的交换的继续,但是如图1b所示,此继续是在不存在任何激活的基本逻辑流的前提下。
相反,如图1b所示,存在激活的基本逻辑流要求由主单元E/RM在单个物理交换信道上优先发送此激活的基本逻辑流。
如图2c所示,遵照本发明的方法的步骤组允许独立的命令/响应对,响应对C、R和C’、R’的交换。
现在将结合图3a、3b和下列图给出用于跟踪和监视安装在如嵌入式计算机系统那样的计算机系统的小程序的执行,此计算机系统至少装备一个存储器,装有执行自动部分和操作系统,至少一个安装的小程序,是用于与至少一个由装有另外操作系统的计算机执行的应用交换特定信息。
在一般意义上指出,遵照本发明跟踪和监视小程序执行的系统执行在主单元E/RM和从属单元E/RE之间的单个物理交换信道上,对多个命令/响应对的交换发送多个逻辑流的方法,以迎合跟踪和监视小程序执行的处理,就是说迎合排错小程序的要求。
如上述图3a所示,遵照本发明的系统,除了嵌入式计算机系统外至少包括如芯片卡1,由装备特定操作系统的计算机执行的应用2,用于跟踪和监视(即排错)安装在嵌入式计算机系统1的任何小程序的执行的引导模块3。引导模块3一方面通过标记为L23的链路链接到应用2,另一方面借助命令/响应类型的单个物理交换链路,通过标记为L13的链路,链接到嵌入式计算机系统1。
遵照本发明的执行跟踪和监视系统还包括借助链路L34互连到引导模块3的执行跟踪和监视模块4,此执行跟踪和监视模块试图监视嵌入式计算机系统1的执行自动部分的执行。
更具体指出,嵌入式计算机系统1包括操作系统OS,标记为AUT的执行自动部分,它在JAVACARD的环境中的特定实施中可以包括如JCVM类型的虚拟机VM。
当然,嵌入式计算机系统1包含安装在非易失性存储器的不同的小程序,它们标记为APP1…APPx…APPN,是先验独立的。
最后,嵌入式计算机系统1包括代理模块,用于跟踪和监视安装在嵌入式计算机系统1的非易失性存储器中的执行自动部分的执行。
在一个特别有益的非限制性实施例中指出,嵌入式计算机系统1是由芯片卡或微处理器,包括带有微处理器的CAD阅读器引导模块3组成,而由链路L13组成的命令/响应类型的单个物理交换链路由ISO 7816类型的链路组成。
更具体地指出,按照说明中已描述的遵照本发明的方法,命令/响应类型的单个物理交换链路使得有可能进行多重交换。
关于链路L23和L34指出,链路L23能作为ISO 7816类型的链路实施,或作为如软件库PC/SC,或OCF兼容的软件层实施,软件库PS/SC构成下述参考文献的主题:“Interoperability Specification for ICCs and PersonalComputer Systems”,version 1.0,December 1997.部分1到8,由PC/SC工作组发表,并在地址[www.pcsworkguoup.com]处可访问,而OCF(OpenCardFramwork)库的参考文献是OpenCard Framework 1.1.1...,Programmer’s Guide,3rd Edition,April 1999,由OpenCard Consortium发表,并在地址[www.opencard.org]处可得到。但是在实现链路L34的情况,此链路能有益地借助于JDWP协议实现,该协议由SUN MICROSYSTEM INC.在文献JAVATMDebug WireProtocal中规定,在地址[http://java.sun.com/products/jpda/doc/jdwpspec.html]处可得到,并由SUN发布的“Java2SDK,v 1.3.0”软件一起提交。这种协议的实现使得可能使用适应于此协议的任何执行跟踪和监视工具。
此外,如在图3b中所示,执行自动部分AUT能包括标记为VM的虚拟机,借此与应用界面库API联系。
最后,安装在嵌入式计算机系统的非易失性存储器的代理模块5包括软件代理模块,用于跟踪和监视在应用和小程序之间交换的执行。
组合件的一般操作方式如下:引导模块3使用两个并发逻辑信道以适应隐含打开的对应并发逻辑流的交换。例如第一个并发逻辑流用于以执行跟踪和监视方式指定的排错方式与小程序APPX之一的通讯。
第二并发逻辑流被用于发送由虚拟机VM发出的事件,例如此虚拟机达到停止点,或它执行任何这样的操作时,执行跟踪和监视模块4请求该执行受监视和跟随。
最后,使用允许默认的非并发逻辑流交换的非并发逻辑信道来监视虚拟机VM的执行,并访问其内部状态。
引导模块3考虑连续地重新取出主单元E/RM的控制以便处理由执行跟踪和监视模块4发送的异步停止请求。若这样的异步停止请求已经到达引导模块,且若引导模块在遵照本发明的方法实现期间,已重新取回控制,如结合图2b或2c所述,则虚拟机的执行被挂起。然后仅在用户,即由引导模块3控制的执行跟踪和监视模块4,请求执行继续时,主单元E/RM通过引导模块3发送继续命令。
遵照本发明的执行跟踪和监视系统的具体实现使有可能优化实际使用的APDU命令及响应的格式。例如,为了进行指令的执行,原则上首要的是在基本信道上使用监视命令,使得有可能路由上述基本逻辑流,以便向嵌入式计算机系统1指出适合由继续命令[RESUME]的下个执行。这两个命令能由命令[STEP]那样的单个命令替代。
引导模块3的做法如下所示:
一引导模块借助APDU类型的特定命令/响应对适合监视和管理代理模块5的命令,并设计成在应用中考虑排错,为此记作DPDU,是排错协议数据单元(Debug Protocol Data Unit)的缩写。为此目的,代理模块用自动部分完成的输入/输出I/O的每次转换提示上述DPDU消息的改变,这转换是由虚拟机调用输入/输出功能。如结合图2b或2c上面所述的那样,DPDU消息包括在应用和小程序之间的命令或响应包。
-此外,在输入/输出交换期间,且当执行自动部分在由上述用户选择的指定时间没有输入/输出转换执行时,引导模块3按从执行跟踪和监视模块4来的请求,在用户起动时,挂起执行自动部分AUT的执行,就是说最终是虚拟机VM的执行。
在以前提到的执行之后,引导模块3发送特定命令/响应对,DPDU消息到代理模块5,使得监视该执行自动部分的状态,然后提示上述执行自动部分AUT执行的继续。
现在将给出在没有任何排错方式用于跟踪和监视小程序执行的处理的做法,即参考图4a基本上按以前技术的虚拟机执行的正常执行做法,还给出参考图4b和4c依靠遵照本发明的方法和系统的实现的排错方法的做法。
参考图4a指出,在嵌入式计算机系统1,即对应的芯片卡上,对虚拟机VM的输入/输出I/O的访问包括对操作系统OS的少量函数的调用,操作系统被认为提供等价于有关JAVA CARD类型的虚拟机的界面库API的服务。在组成嵌入式计算机系统1的微处理卡上,在操作系统OS和虚拟机VM之间建立用于监视和跟踪执行的代理模块5。此建立表示在图3b中,当它被激活时,代理模块5截取所有对这些I/O输入/输出函数的调用,并将每一个这样的调用转换成用引导模块3的DPDU的交换。
对于正常执行,即在如图4a所示没有任何排错的方式,允许应用2执行的终端发出一条命令,如包括进入数据C1,C2,C3,C4,C5的5个字节或字。所述的小程序通过对Get Bytes方法的两次调用访问该进入数据,允许传输字C1,C2,随后C3,C4,C5然后单个操作的4个响应字,字R1,R2,R3,R4。
因为ISO 7816协议的半双工性质,组成嵌入式计算机1的芯片卡在整个交换期间保持控制。从而不可能中断执行,除非切断供卡使用的电源。
另一方面当切换到排错方式,按照如图3a和3b中所示遵照本发明的小程序跟踪和监视系统的实现,其做法参考图4b如下示出。
在上述图中,在引导模块3和代理模块5之间的DPDU命令交换表示在方括号之间。代理模拟5相对于操作系统表现得象正常操作,并用与小程序在非排错方式执行时使用的相同的函数访问这些DPDU命令。这些函数无非就是GET BYTES和SEND BYTES函数以及以前涉及遵照本发明的方法的实现描述的函数。将单个命令/响应的交换切割成若干与ISO 7816协议兼容的若干命令/响应的好处在于:在两个相继的部分交换之间,输入/输出信道可空出用于在引导模块3和代理5之间的其他交换。这种交换对小程序是不可见的,当然对执行应用2的终端也如此。这些交换使得有可能监视虚拟机VM的执行并可能访问其内部状态。
当虚拟机VM在两次输入/输出函数的调用之间达到停止点时,芯片卡借助代理模块5转让控制给引导模块3,从而允许执行跟踪和监视模块4,借助适当的命令审视虚拟机VM的状态。
在图4C中作为非限制性例子表示的是请求变量X的值的执行跟踪监视模块4。这种交换完全是物理上有效的,因为此交换只包含很好(well-formed)格式的C-APDU和R-APDU命令,这不会是在执行应用2的终端和安装在嵌入式系统1中的小程序之间正在进行的交换必须中断时的情况。
因此应该理解,当虚拟机VM被挂起时,执行该虚拟机的状态的审视在模块4起动时执行,以便在借助计算机系统1的存储器的读/写命令来跟踪和监视执行。
通过这种跟踪和监视执行(即排错)的过程,可能一方面多路复用在允许执行应用2的终端和小程序APPX之间交换的数据,而另一方面多路复用在引导模块3和跟踪监视代理模块5之间交换的数据。
这种做法使有可能获得:
-总的不存在对操作系统OS执行的影响,代理模块5加上虚拟机VM的组合表现得象任何其他应用。尤其是,这种做法不必要存在第二物理通讯信道;
-有限的影响虚拟机的实现,因为借助调用在代理模块5的等价函数替代对操作系统OS的少数函数的调用就足够了。
最后,跟踪和监视小程序的执行的系统和遵照本发明的方法特别适合于执行虚拟机的异步停止的执行。
具体说来,希望在任何时候当例如小程序从事冗长或无止境的计算时,能停止虚拟机VM的执行。至于链路L13的性质,不可能将控制转交给跟踪和监视代理模块5并等待它结束执行,或等待小程序APPX进行输入/输出执行,代理模块5只在自己起动能让出控制。
然后,按照遵照本发明的系统和方法的实现,提出的解决方法在于利用起动虚拟机VM的执行的命令持续一段指定时间T,在结束之后代理模块5将控制移交给引导模块3,若其间没有发生挂起请求,模块3随后就有机会挂起执行或重新开始执行。此指定期间的执行过程对应于在由应用2和由引导模块3组成的主单元E/RM以及由嵌入式计算机系统1,尤其是跟踪及监视代理5组成的从属单元E/RE之间如图2d所示的过程。若期间没有发生从执行跟踪及监视模块发起的挂起请求,引导模块3随即能重新开始执行。
在由芯片卡组成的嵌入式计算机系统1的层上,对执行指定时间的执行的命令实现能通过使用系统时间倒计时器或随每条要执行指令递减的计时器来完成。精确的执行时间期间T若是有限的则可以是任意的,就是说代理模块5通过移交控制而结束。执行时间期间T的值的数量级决定了系统对中断请求的反应能力。T的值越短,系统能越快地中断执行。期间T的值也决定该组合的整体效率,因为对每个执行期间T存在一个APDU交换。从而在用户起动时对期间T的数量级的确定能作为需要的函数实现。
最后,用于跟踪和监视遵照本发明的小程序的系统使得有可能使小程序的代码的源代码逐行执行。通常,在程序计算器和上述源代码行的索引号之间对应关系的查找表不能存储在由芯片卡构成的嵌入式系统1中,这对使监视交换最小是必不可少的。
由遵照本发明的系统和方法允许的解决方案在于对每行源程序联系一个程序计数器间隔。此表格能由编译器计算,并存储在嵌入式系统1之外的由引导模块3可访问的存储区域。例如此可访问的存储区域能安置在执行跟踪监视模块4中。对逐行执行的请求,对应于当前行的间隔与命令一起被发送。对每条指令,虚拟机VM的执行转向跟踪和监视代理5的码单元,然后代理5测试程序计数器是否确实仍在有关的间隔内。当此间隔已被代理5超过,这是因为执行已从当前行达到不同行,代理模块5就移交控制给模块3。
因此有可能发送对每个逐行执行的请求重要的信息,而不必在嵌入式计算机系统1存入程序行的表。
包括虚拟机的堆栈尺寸的类似停止条件使得能简单地实现其他类型的符号执行,如执行一程序行同时跳过方法调用或例如从当前的方法退出。
Claims (7)
1.一种用于跟踪和监视安装在计算机系统(1)上的小程序执行的系统,所述计算机系统装有至少一个存储器,具有一个执行自动部分和一个操作系统,这些小程序的至少一个试图与在安装有另外操作系统的计算机上执行的至少一个应用(2)交换特定信息,其特征在于,它至少包括:
-用于跟踪和监视执行的引导装置(3),它一方面链接到所述的应用(2),另一方面链接到计算机系统(1),所述链接是借助命令/响应类型的单个物理交换链路(L13)实现;
-用于跟踪和监视执行的装置(4),它与所述引导装置互连并试图监视所述的计算机系统(1)的所述执行自动部分的执行;
-用于跟踪和监视安装在所述计算机系统(1)的执行自动部分的执行的代理模块(5),
·所述的引导装置(3)借助在单个物理交换信道上的特定命令/响应对、DPDU消息来实施对代理模块的监视和管理的控制,对于每次输入/输出转换,所述代理模块(5)提示在应用和小程序之间包括命令或响应包的DPDU消息的交换;
·所述引导装置(3)根据来自跟踪和监视执行的装置(4)的请求,在输入/输出交换期间挂起执行自动部分的执行,且当此执行自动部分在一段指定时间内不执行输入/输出转换时,所述引导装置(3)随后重新获得控制,并继续此执行挂起;
·所述引导装置(3)发送特定命令/响应对,DPDU消息到代理模块(5),以便于访问执行自动部分的状态,然后借助特定命令提示此执行自动部分的继续执行。
2.如权利要求1的系统,其特征在于,所述计算机系统(1)是由微处理器卡组成的嵌入式系统,且所述的引导装置包括微处理器卡阅读器,所述命令/响应类型的物理交换链路是ISO 7816链路。
3.如权利要求1的系统,其特征在于所述监视执行的装置(4)包括至少一个控制所述计算机系统(1)存储器阅读的装置。
4.如权利要求1的系统,其特征在于所述监视执行的装置(4)还包括监视所述计算机系统(1)的执行自动部分的执行的装置。
5.如权利要求1的系统,其特征在于所述监视执行的装置(4)还包括控制所述计算机系统(1)对存储器写入的装置。
6.如权利要求1、3和4之一的系统,其特征在于所述监视执行的装置(4)借助JDWP协议链接到所述引导装置(3),从而可能使用任何适用于此协议的跟踪和监视工具。
7.如权利要求1和2之一的系统,其特征在于:所述执行自动部分包括一虚拟机和一个应用界面库(API)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR00/13476 | 2000-10-20 | ||
FR0013476A FR2815801B1 (fr) | 2000-10-20 | 2000-10-20 | Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1529972A CN1529972A (zh) | 2004-09-15 |
CN100518193C true CN100518193C (zh) | 2009-07-22 |
Family
ID=8855572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01817565.1A Expired - Fee Related CN100518193C (zh) | 2000-10-20 | 2001-10-17 | 用于为命令/响应对的多重交换跟踪及监视多个逻辑流的小程序执行的系统 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6901459B2 (zh) |
EP (1) | EP1356656B1 (zh) |
JP (1) | JP4463471B2 (zh) |
CN (1) | CN100518193C (zh) |
AT (1) | ATE463920T1 (zh) |
AU (1) | AU2002214082A1 (zh) |
DE (1) | DE60141770D1 (zh) |
FR (1) | FR2815801B1 (zh) |
WO (1) | WO2002033866A2 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043493B2 (en) | 2001-09-17 | 2006-05-09 | Fujitsu Limited | Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card |
DE102004015535B4 (de) * | 2004-03-30 | 2009-01-29 | Infineon Technologies Ag | Datenübertragungsschnittstelle und Verfahren |
KR100559251B1 (ko) * | 2004-05-12 | 2006-03-15 | 한국생산기술연구원 | 개방형 인터넷망 기반의 로봇 개발을 위한 분산소프트웨어 통합서비스방법 |
US8352917B2 (en) * | 2006-06-26 | 2013-01-08 | Adobe Systems Incorporated | Web-beacon plug-ins and their certification |
US7992135B1 (en) * | 2006-06-26 | 2011-08-02 | Adobe Systems Incorporated | Certification of server-side partner plug-ins for analytics and privacy protection |
US7766243B2 (en) | 2006-07-19 | 2010-08-03 | Research In Motion Limited | Method, system and smart card reader for management of access to a smart card |
ATE510266T1 (de) | 2006-07-19 | 2011-06-15 | Research In Motion Ltd | Verfahren, system und chipkartenleser zur verwaltung des zugangs zu einer chipkarte |
EP1895743A1 (en) * | 2006-08-31 | 2008-03-05 | Incard SA | A method for implementing a wireless personal communication protocol for an IC Card |
US8321481B2 (en) | 2010-05-13 | 2012-11-27 | Assa Abloy Ab | Method for incremental anti-tear garbage collection |
WO2013154400A1 (en) * | 2012-04-13 | 2013-10-17 | Samsung Electronics Co., Ltd. | Method and apparatus for communicating data packets in a cloud cell |
US11487681B2 (en) * | 2018-06-29 | 2022-11-01 | Visa International Service Association | Chip card socket communication |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998019237A1 (en) * | 1996-10-25 | 1998-05-07 | Schlumberger Systemes | Using a high level programming language with a microcontroller |
US6736325B1 (en) * | 1998-01-22 | 2004-05-18 | Mondex International Limited | Codelets |
DE69814174T2 (de) * | 1998-03-23 | 2004-03-04 | International Business Machines Corp. | Java laufzeitsystem mit veränderter sammlung von konstanten |
US6591229B1 (en) | 1998-10-09 | 2003-07-08 | Schlumberger Industries, Sa | Metrology device with programmable smart card |
FR2791159B1 (fr) * | 1999-03-15 | 2001-05-04 | Bull Cp8 | Procede d'acces a un objet a l'aide d'un navigateur de type "web" cooperant avec une carte a puce et architecture pour la mise en oeuvre du procede |
US6684389B1 (en) * | 1999-08-05 | 2004-01-27 | Canon Kabushiki Kaisha | Compiler that decrypts encrypted source code |
US6748592B1 (en) * | 2000-02-14 | 2004-06-08 | Xoucin, Inc. | Method and apparatus for protectively operating a data/information processing device |
DE60210416T2 (de) * | 2002-02-28 | 2006-09-07 | Matsushita Electric Industrial Co., Ltd., Kadoma | Speicherkarte |
-
2000
- 2000-10-20 FR FR0013476A patent/FR2815801B1/fr not_active Expired - Fee Related
-
2001
- 2001-10-17 JP JP2002536746A patent/JP4463471B2/ja not_active Expired - Fee Related
- 2001-10-17 AT AT01982520T patent/ATE463920T1/de not_active IP Right Cessation
- 2001-10-17 WO PCT/FR2001/003207 patent/WO2002033866A2/fr active Application Filing
- 2001-10-17 CN CN01817565.1A patent/CN100518193C/zh not_active Expired - Fee Related
- 2001-10-17 EP EP01982520A patent/EP1356656B1/fr not_active Expired - Lifetime
- 2001-10-17 AU AU2002214082A patent/AU2002214082A1/en not_active Abandoned
- 2001-10-17 US US10/399,729 patent/US6901459B2/en not_active Expired - Fee Related
- 2001-10-17 DE DE60141770T patent/DE60141770D1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60141770D1 (de) | 2010-05-20 |
JP2004512593A (ja) | 2004-04-22 |
US20040054817A1 (en) | 2004-03-18 |
EP1356656B1 (fr) | 2010-04-07 |
ATE463920T1 (de) | 2010-04-15 |
AU2002214082A1 (en) | 2002-04-29 |
EP1356656A2 (fr) | 2003-10-29 |
US6901459B2 (en) | 2005-05-31 |
FR2815801B1 (fr) | 2004-10-29 |
CN1529972A (zh) | 2004-09-15 |
JP4463471B2 (ja) | 2010-05-19 |
WO2002033866A3 (fr) | 2003-09-04 |
WO2002033866A2 (fr) | 2002-04-25 |
FR2815801A1 (fr) | 2002-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3900536B2 (ja) | スマートicカードシステム | |
US6769622B1 (en) | System and method for simulating universal serial bus smart card device connected to USB host | |
CN100518193C (zh) | 用于为命令/响应对的多重交换跟踪及监视多个逻辑流的小程序执行的系统 | |
US7500601B2 (en) | Smart card personalization in a multistation environment | |
CN100488123C (zh) | 通信设备的软件及硬件版本管理方法和系统 | |
RU2200973C2 (ru) | Способ передачи команд управления модулем подлинности абонента (sim-картой) из внешнего устройства в sim-карту | |
US6676022B1 (en) | Smart card system with command queuing | |
CN101484873B (zh) | 接口的同时运行 | |
CN112671760A (zh) | 基于Socket的客户端跨平台网络通信方法及其相关设备 | |
EP0733992A2 (en) | Card-type storage medium | |
CN103019788A (zh) | 一种基于can总线的远程在线升级方法 | |
CN101520854B (zh) | 一种智能存储卡及其数据安全控制系统和方法 | |
CN1306445C (zh) | 终端设备和终端系统 | |
US7188149B2 (en) | Storage operating data control system | |
CN101699416B (zh) | 主机与多卡座读卡器的通信方法和系统 | |
CN101957921A (zh) | 射频识别应用信息的显示方法、装置和系统 | |
JP2003030596A (ja) | 論理チャネル管理機能付き記憶装置 | |
EP2312488A1 (en) | Communication device, communication method, and program | |
US7975057B2 (en) | Time management at communication protocol layer for a smart card-type device | |
CN102542696A (zh) | 安全性信息交互系统及方法 | |
WO2008104601A2 (en) | Method of managing command execution in an electronic token | |
CN100548002C (zh) | 永久虚电路状态查询系统 | |
CN105446651B (zh) | 内存镜像方法和系统与数据发送装置和数据接收装置 | |
CN101561860B (zh) | 一种存储卡和读卡器相互认证的方法 | |
JP2005525615A (ja) | スマートカードにおけるバイト伝送の管理 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090722 Termination date: 20161017 |