同时处理个人令牌中的数据传输会话的线程控制器的制作方法

文档序号:7967680阅读:175来源:国知局
专利名称:同时处理个人令牌中的数据传输会话的线程控制器的制作方法
技术领域
本发明涉及当用户访问受限或者私有资源设备时、用于验证该用户的个 人令牌,其中受限的或者私有资源设备诸如移动电信网、存储保密数据的远 程服务器、或者甚至是具有有限的物理访问的受保护区域。
背景技术
这种类型的通常公知设备是诸如SIM卡(用户标识模块)或者信用卡之 类的IC卡,但是它也可以是USB键、大容量存储卡或者任何类型携带一些 必要凭证的令牌。
这样的令牌通常符合国际标准IS07816。
因为SIM卡中的资源限制,以前的SIM卡通常仅仅能够以其中一次仅仅 可以运行一个SIM卡应用的单线程模型工作。
更后来的SIM卡可以通过使用"逻辑通道"概念(使用不同的APDU参 数以便指示使用不同的线程)而以多线程模型工作。但是这个方法几乎不被 接受,这是因为它引发了终端和SIM卡之间的兼容性问题。
越来越需要SIM卡应用的多线程模型。特别是最近SIM应用的角色从仅 需要单线程模型的STK (SIM应用工具包)转换到需要并行处理来自网络客 户端的多个请求的SCWS (智能卡Web服务器)。

发明内容
在这方面,本发明的主要目的是提供一种增强方法,以控制在终端和个 人令牌(其为概括,例如具体而言为SIM卡)之间的数据传输会话的多个同 时处理(线程)。
这个目的由在附加权利要求中所叙述的本发明来实现。


通过后续参照附图的描述,本发明的其他目的、益处和方面将^艮明显,
在附图中
图1描述了才艮据本发明实施例的线程控制器的总体体系结构;
图2说明了才艮据本发明的更精确实施例的、由线程控制器进行的线程控
制;
图3是根据本发明的相同实施例、说明用于单个APDU通道的分时的时
线;
图4是说明在本发明的实施例中, 一个特定应用可以如何从优于其它应 用的特定优先级获得益处的时线。
具体实施例方式
如图1示意性所述,现在将在SIM (用户标识才莫块)的上下文环境中并 且结合移动电话终端来描述优选实施例。
这样的SIM存储并运行一组应用,例如,图1中参考符号为A、 B、 C 的Java应用。除了应用A、 B和C外,示范性SIM还包括如下文所述的线程 控制器TC的逻辑实体,其通常为软件程序。在这里,线程控制器TC是一个 控制多个共享SIM卡和终端之间的一个APDU (应用协议数据单元)交换通 道的线程的程序。线程控制器TC将基于多个线程之间的APDU切换来执行 通道的分时,以便它们能够并行运行。
该终端自身包括软件设备,例如一组终端应用,该软件设备在图1中表 示为通用的参考符号TS。
在当前实施例中,SIM应用必须遵从多线程模型运行,也就是说,它们 必须以看上去同时进行的方式与终端交换APDU命令,更准确而言,SIM中 的一些应用可以可交替的方式发送或者接收APDU。例如,第一应用可以发 送和接收第一组APDU,然后另一个应用可以在第一应用继续到后续的进一 步APDU组之前发送和接收它自己的一组APDU。
尽管SIM中的资源有限,但是当前实施例易于实现。
在这里,数据传输被认为是终端和SIM卡之间的APDU传输。这里,SIM 卡可以既作为服务器又作为客户机。在这个实施例中, 一个数据传输会话被 认为是一个线程。
在这里,数据传输会话的同时处理是对并行运行的几个数据传输会话的 管理。
现在将描述线程控制器TC如何与SIM应用A、 B和C接口 。
所有的SIM应用A、 B和C已经由该线程控制器登记。这个预先步骤优 选发生在移动电话上电时。在这样的登记期间,每个SIM应用将向线程控制 器提供它的优先级参数,该优先级参数的范围可以从0 (最低优先级)到N (最高优先级)。但是,每个应用可通过再次向线程控制器登记而在中途改变 它的优先级。例如可以由到达了需要与终端进行更大数量交换的应用中的特 定例程,而触发这样的优先级改变。
所有往返于SIM应用的进入和外出APDU都应当通过线程控制器。
一个可用的通道APDU将在多个SIM应用之间共享。共享这个通道的机 制是分时方式的使用(而不是逻辑通道方式)。在任何APDU改变之前,线 程控制器将确定需要激活哪个应用,并且将该应用的APDU发送给终端。
线程控制器TC管理队列緩冲器以管理所有向它登记的应用。队列緩冲 器存储所有已经登记的SIM应用的引用。为了管理应用,较高优先级的应用 在该緩冲器中具有较多的项。例如,具有优先级=2的应用在队列中具有2项, 而具有优先级=5的应用在队列中具有5项。
为了管理"分时"机制,以及选择使用APDU通道的应用,线程控制器 TC以循环方式扫描队列緩冲器。用这种方法,具有较高优先级的应用将自动 具有使用APDU通道的更大机会。
优先级=1意味着,对于每个周期,线程控制器将激活特定SIM应用一 次。优先级=5 (仍然〈N)意味着,对于每个周期,线程控制器TC将激活特 定SIM应用五次(更高优先级)。优先级=0意味着它总是以后台方式运行。 这个线程仅仅在所有其他线程都完成之后才执行。优先;^^N意味着所考虑的 线程将中断其他线程,而且所考虑的线程将在线程控制器TC继续执行其他 线程之前执行直到结束为止。如下所述,如果线程已经完成了它的执行,则 线程控制器TC将从队列緩冲器删除所有与它相关的项以及它的上下文环境。
数据传输会话是客户机和服务器之间的数据传输的会话。 一个会话可以 包含几个APDU交换。在数据传输会话期间,服务器和客户机都必须维持几 个会话变量,即,上文所述的上下文环境,其特定于当前会话并且仅仅可以 在会话结束之后被清除。该线程控制器TC还将管理存储每个激活的线程的 上下文环境的緩冲器。这个要被緩沖的上下文可以有2种第一种是将要由
SIM应用发送的APDU。第二种是来自终端的响应以及〗叚定要发送到应用的 APDU。
现在将参照图2给出更为精确的示例,图2中包含了 5个SIM应用A、 B、 C、 D、 E。
这5个SIM应用已经登记到线程控制器TC。应用A登记为具有优先级 A=l,应用B登记为具有优先级-3,应用C登记为具有优先级-5,应用D登 记为具有优先级=0,以及应用E登记为具有优先级-6,其中6是最高优先级, 即上述的"N"优先级。
假定这5个应用并行运行,则线程控制器中的队列緩冲器的内容将例如 为A, B, B, B, C, C, C, C, C…
应用D和E各自的线程D和E没有存储到队列緩冲器中。线程E将首 先执行直到它完成为止。然后利用APDU转换机制并行执行线程A、 B 、 C 。
执行循环将是A、 B、 B、 C、 C、 C、 C、 C、 A、 B、 B...直到完成为止。 在A、 B、 C完成后,将执行线程D。
现在参见图3,在步骤la,应用A发送第一 APDU到终端软件TS。
在步骤lb,终端软件TS从应用A接收APDU。因为下一个步骤轮到应 用B,所以线程控制器TC为刚刚从终端软件TS接收响应APDU的应用A 创建上下文环境緩冲区以便所存储的上下文环境包括返回的APDU。
在步骤2a,因为现在轮到应用B,所以启用应用B以便发送APDU到终 端软件TS。
在步骤2b,终端软件TS从应用B接收APDU命令,而且终端软件TS 返回用于应用B的APDU命令。仍然保留与应用A相关的上下文环境緩冲区。
在步骤3a,仍然启用应用B以发送APDU命令到终端软件TS。
在步骤4a,应用B仍然发送APDU命令到终端软件TS。在步骤4b,终 端软件TS从应用B接收这样的APDU命令。
因为下一个步骤轮到应用C,所以线程控制器TC创建与应用B相关的 上下文环境緩冲区。在步骤5a,因为轮到应用C,所以启用应用C以发送 APDU命令到终端软件TS。
下一步骤,即,图示虚线箭头的末端处的步骤,是其中再次轮到应用A 的步骤。线程控制器TC从应用C的上下文环境緩冲区转换到应用A的上下 文环境緩冲区。应用A的上下文环境緩冲区包含步骤lb所发生的、从终端
软件TS返回到应用A的APDU。
在图4中,说明了类似的基本步骤。图4表示线程A和B在运行的情形。 除了上面所述的示例之外,在一段时间之后,由于被一特定事件触发,应用 E开始运行。在步骤E1,线程E中断了线程A和B,因为它的优先级=6,即 上述的优先级"N"。线程控制器TC在步骤E2继续执行执行线程A和B之 前将所有时间分配用于线程E直到该线程完成为止。
本发明的当前实施例已经描述了其中线程控制器在SIM中实现。在本发 明的替换实施例中,线程控制器可以在移动终端中实现,并且可以控制驻留 在相关SIM中的应用的优先级。
权利要求
1、一种运行一系列应用(A、B、C、D、E)的个人令牌,其特征在于它包括以循环方式将数据从应用(A、B、C、D、E)传输到外部设备(TS)的线程控制器(TC),周期包含从应用(A、B、C、D、E)到外部设备(TS)的一系列数据传输(1A,2A,3A...),所述周期包括专用于每个相应应用(A、B、C、D、E)的相应数目的数据传输,该相应数目根据不同的应用(A、B、C、D、E)而不同,所述线程控制器(TC)认为,所述周期中用于相应应用(A、B、C、D、E)的数据传输数目对应于该应用(A、B、C、D、E)的优先级。
8、 根据前面任何一项权利要求的个人令牌,其特征在于它通过发送或 者接收包含所传输数据的APDU命令来进行每次数据传输。
9、 一种用于控制往返于包含多个应用(A、 B、 C、 D、 E)的个人令牌 的数据传输的逻辑实体,其特征在于所述逻辑实体体现为以循环方式从应 用(A、 B、 C、 D、 E)传输数据到外部设备(TS)的线程控制器(TC),周 期包含在所述应用(A、 B、 C、 D、 E)和所述外部设备(TS)之间的一系列 数据传输,所述周期包括专用于每个相应应用(A、 B、 C、 D、 E)的相应数 量的数据传输,该相应数量才艮据不同的应用(A、 B、 C、 D、 E)而不同,所 述线程控制器(TC)认为,在周期中用于相应应用(A、 B、 C、 D、 E)的数 据传输的数量对应于所述应用(A、 B、 C、 D、 E)的优先级。
10、 一种用于管理在个人令牌中存储并且运行的多个应用(A、 B、 C、 D、 E)和外部设备(TS)之间的数据传输的方法,该方法的特征在于,它包 括以循环方式从所述应用(A、 B、 C、 D、 E)传输数据到外部设备(TS)的 步骤,周期包含从应用(A、 B、 C、 D、 E)到外部设备(TS)的一系列数据 传输,所述周期包括专用于每个相应应用(A、 B、 C、 D、 E)的相应数量的 数据传输,该相应数量根据不同的应用(A、 B、 C、 D、 E)而不同,所述线 程控制器(TC)认为,在周期中用于相应应用(A、 B、 C、 D、 E)的数据传 输的数量对应于所述应用(A、 B、 C、 D、 E)的优先级。
全文摘要
本发明涉及一种运行一系列应用(A、B、C、D、E)的个人令牌,其特征在于它包括以循环方式从应用(A、B、C、D、E)传输数据到外部设备(TS)的线程控制器(TC),周期包括从应用(A、B、C、D、E)到外部设备(TS)的一系列数据传输(1A,2A,3A…),所述周期包括专用于每个相应应用(A、B、C、D、E)的相应数量的数据传输,所述线程控制器(TC)认为,在周期中用于相应应用(A、B、C、D、E)的数据传输数量对应于该应用(A、B、C、D、E)的优先级。
文档编号H04Q7/38GK101098527SQ20061012139
公开日2008年1月2日 申请日期2006年6月27日 优先权日2006年6月27日
发明者克里什纳·斯贾里夫, 威利安托 申请人:雅斯拓(北京)智能卡科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1