首页 / 专利库 / 人工智能 / 虚拟界面 / 在主从机之间单个物理信道上发送命令/响应对的多重交换的逻辑流的协议和跟踪及监视小程序执行的对应系统

在主从机之间单个物理信道上发送命令/响应对的多重交换的逻辑流的协议和跟踪及监视小程序执行的对应系统

阅读:319发布:2024-01-17

专利汇可以提供在主从机之间单个物理信道上发送命令/响应对的多重交换的逻辑流的协议和跟踪及监视小程序执行的对应系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及用于在主的和从属的发送器/接收器之间的单个物理交换信道上发送多个命令/响应逻辑交换流的协议,以及用于控制和监视小程序执行的相应系统。对现有激活的基本逻辑流(S),该协议包括选择(B)所述基本逻辑流,产生一组并发逻辑流({CLFx})。并发逻辑流包括分段(D)命令/响应对的连续基本包。由主收发器根据特定的命令起动和继续此交换,而由从属收发器根据在参考流上发送的特定响应为 基础 分段。本发明对控制和监视在多应用 智能卡 上实现的小程序方面特别有用。,下面是在主从机之间单个物理信道上发送命令/响应对的多重交换的逻辑流的协议和跟踪及监视小程序执行的对应系统专利的具体信息内容。

1.一个用于对在主收发器和从属收发器之间的单个物理交换信道上的命 令/响应对的多重交换发送多个逻辑流的协议,这些逻辑流包括至少一个由主 收发器起动且服从与所述单个物理交换信道相同的主/从关系的基本逻辑流, 该主的和从属的收发器允许执行至少一个软件应用,其特征在于,此协议在 于在一个取作参考逻辑流的一个基本逻辑流中产生一组并发逻辑流,每个并 发逻辑流由分段命令/响应对的连续基本包构成,所述连续基本包构成在所述 参考逻辑流上要发送的并发逻辑流组。这个组的两个并发逻辑流使能独立地 并基本同时地发送分别的命令/响应对,任何命令/响应对的交换的起动及继 续根据在此参考流上发送的特定命令的基础上,在主收发器的起动时完成, 而分段成连续的基本包的工作根据在响应此参考流上的这些特定命令中发送 的特定响应的基础上,在从属收发器的起动完成,从而允许在至少一对主收 发器和从属收发器的应用之间,独立地和基本同时地交换命令/响应对。
2.如权利要求1的协议,其特征在于,对包含多个基本逻辑流的逻辑流, 此协议包括:
a)在取作参考逻辑流的至少一个基本逻辑流中产生一组并发逻辑流,每 个并发逻辑流由分段命令/响应对的连续基本包构成,所述连续的基本包形成 在所述参考逻辑流上要发送的并发逻辑流组,该组的两个并发逻辑流允许独 立地和基本同时地发送不同的命令/响应对,任何命令/响应对的交换的起动 和继续根据在此参考流上发送的特定命令的基础上在主收发器的起动完成, 而分段成连续的基本包是根据为响应这些在此参考流上的特定命令发送的特 定响应的基础上,在从属收发器的起动完成;
b)在由基本逻辑流的所述主收发器激活以后,挂起任何并发逻辑流的交 换,这是为了在所述单个物理交换信道上,在不同于参考逻辑流的基本逻辑 流上执行命令/响应对的交换;
c)在任何基本逻辑流的交换的执行结束后,立即继续任何并发逻辑流 的交换,从而在一方面允许在至少一对主收发器和从属收发器的应用之间独 立和基本同时的命令/响应对的交换,另一方面允许在所述单个物理交换信道 的所述基本逻辑流上交换优先的命令/响应对。
3.如权利要求1或2中之一的协议,其特征在于,所述不同的命令/响 应对从至少一个第一和一个第二特定命令并从第一、第二、和第三特定响应 中形成。
—第一特定命令允许主收发器通知从属收发器,存在当前激活的并发逻 辑流的组;
—在从该从属的收发器接收到对第一和第二特别命令之一的第一特定响 应之后发出第二特定命令,使得有可能从主收发器发出基本包到从属接收器, 此基本包涉及在此第一特定响应中指定的此组并发逻辑流的一个并发逻辑流 的当前激活的命令,将所述当前激活的命令分割成连续的包,根据在此第一 特定响应中关于在命令中发送的包的最大尺寸的规定,在从属收发器起动时 实现;
—第二特定响应使得从从属收发器发送该第二特定响应中所分配的有关 当前激活并发逻辑流的响应的基本包给主收发器成为可能;
—第三特定响应包括从该从属收发器发到主收发器的特定命令/响应对的 结束的简单响应,连续包的交换的继续在主收发器返回所述第一特定命令后 在主收发器的起动时完成。
4.如权利要求1至3之一的协议,其特征在于,所述基本逻辑流按ISO 7816-3和ISO 7816-4协议构成,命令/响应对由命令(C-APDU)和响应(R-APDU) APDU实体构成。
5.如权利要求4的协议,其特征在于主收发器由芯片卡阅读器和至少一 个连接到此阅读器的至少一个应用组成,而从属收发器由多应用芯片卡组成。
6.如权利要求1到5之一的协议,其特征在于,每个并发逻辑流在所述 主收发器的起动时是关闭或打开的。
7.如权利要求4到6之一的协议,其特征在于,构成所述并发逻辑流的 每个连续基本包借助在所述单个物理信道上特定APDU命令/响应对发送。
8.如权利要求4和7的协议,其特征在于,用于执行基本逻辑流的命令 /响应对由APDU实体组成,不同的命令/响应对由包络类型的特定APDU命令 构成,而短APDU响应属于APDU响应的子集。
9.用于跟踪和监视安装在计算机系统的小程序的执行的系统,所述计算 机系统装有至少一个存储器,一个执行自动部分和一个操作系统,这些小程 序的至少一个试图与安装有由具有另外操作系统的计算机执行的至少一个应 用交换特定信息,其特征在于,它至少包括:
—用于跟踪和监视执行的引导装置,它一方面链接到所述的应用,另一 方面链接到计算机系统,所述链接是借助设计来完成按权利要求1到8之一 的协议的多重交换的命令/响应类型的单个物理交换链路;
—用于跟踪和监视执行的装置,它与所述引导装置互连并试图监视所述 的计算机系统的所述执行自动部分的执行;
—用于跟踪和监视安装在所述计算机系统的执行自动部分的执行的代理 装置,
从而使得有可能实施跟踪和监视所述小程序的执行。
10.如权利要求9的系统,其特征在于,所述计算机系统是由微处理器 卡组成的嵌入式系统,且所述的引导装置包括微处理器卡阅读器,所述命令/ 响应类的物理交换链路是ISO 7816链路。
11.如权利要求9或10之一的系统,其特征在于所述监视执行的装置包 括至少一个控制所述计算机系统存储器阅读的装置。
12.如权利要求9到11之一的系统,其特征在于所述监视执行的装置还 包括监视所述计算机系统的执行自动部分的执行。
13.如权利要求9到12之一的系统,其特征在于所述监视执行的装置还 包括控制所述计算机系统写入存储器的装置。
14.如权利要求9、11和12的系统,其特征在于所述监视执行的装置借 助JDWP协议链接到所述引导装置,从而使得能使用任何适应于此协议的跟踪 和监视工具。
15.如权利要求9和10的系统,其特征在于:
—所述执行自动部分包括一虚拟机和一个应用界面库(API);
—所述代理装置包括用于跟踪和监视自动部分执行的代理模(5),
·所述的引导装置借助在单个物理交换信道的特定命令/响应对,DPDU 消息实施代理模块的监视和管理的控制,借助每次输入/输出转换,所述代理 模块提示在应用和小程序之间包括命令或响应包的DPDU消息的交换;
·所述引导装置根据从跟踪和监视执行装置的请求,在输入/输出交换 期间挂起执行自动部分的执行,且当此执行自动部分在一段指定时间内不执 行输入/输出转换时,所述引导装置随后重新获得控制,并继续此执行挂起:
·所述引导装置发送特定命令/响应对,DPDU消息到代理模块(5’), 以便于访问执行自动部分的状态,然后借助特定命令提示此执行自动部分的 执行。

说明书全文

技术领域

发明涉及对于在主收发器和从收发器之间在单个物理交换信道上发送 命令/响应对的多重交换的逻辑流的协议,并涉及这种协议的应用,尤其涉及 对安装在微处理器卡上的小程序(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阅读器和它的各种应用,以及对能在芯 片卡上执行的各种小程序及服务仍保持禁止,由于分辨各个逻辑信道的命令/ 响应对的同时多重出现而易于产生的冲突的问题还没有特别解决,特别在ISO 7816-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的第一特定响应时, 而组成段次序的RI由从属收发器响应第一或第二特定命令之一发出的,在接 收由从属单元发出对第一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 Personal Computer Systems”,version 1.0,December 1997.部分1到8,由PC/SC 工作组发表,并在地址[www.pcsworkguoup.com]处可访问,而OCF(OpenCard Framwork)库的参考文献是OpenCard Framework 1.1.1…,Programmer’s Guide,3rd  Edition,April 1999,由OpenCard Consortium发表,并在地 址[www.opencard.org]处可得到。但是在实现链路L34的情况,此链路能有益 地借助于JDWP协议实现,该协议由SUN MICROSYSTEM INC.在文献JAVATM Debug Wire Protocal中规定,在地址[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存入程序行的表。
包括虚拟机的堆栈尺寸的类似停止条件使得能简单地实现其他类型的符 号执行,如执行一程序行同时跳过方法调用或例如从当前的方法退出。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈