用户识别模块(sim)仿真器的制作方法

xiaoxiao2020-7-23  52

专利名称:用户识别模块(sim)仿真器的制作方法
技术领域
本发明一般涉及计算机软件领域,尤其涉及用来测试使用用户识别模块(SIM)的应用的软件开发工具。
(2)背景技术有各种各样的移动计算设备得到了广泛使用,比如蜂窝式电话、寻呼机、个人数字助理(PDA)和其它设备。在这些移动设备上可用的软件具有广泛的应用,包括游戏、电话簿、日历、电子邮件、web浏览器、等等。这些应用在移动设备上执行时常常利用移动设备中用户识别模块(SIM)的资源。SIM是由存储器和处理器组成的一种“智能卡”设备,它执行诸如执行安全功能和维护用于存储信息的文件系统等各种功能。
例如,电话簿应用可在SIM的文件系统中存储条目。SIM只对授权应用提供对这些条目的访问。如被授权,应用可更新文件系统的内容,例如,来存储一个新的电话簿条目。通过其安全功能,SIM也可允许授权应用读取和/或更新用户的个人识别码(PIN)。
对使用SIM资源的应用进行的测试一般取决于以将会用在该应用将在其上执行的设备中的SIM对应用进行的测试。通常,这些测试使用与诸如个人计算机的计算设备相连接的SIM设备,应用可在该设备上开发和测试。在其它情形中,应用在使用SIM的移动设备上测试。
然而,使SIM活跃并保持其活跃是非常昂贵的,从而使得用SIM测试应用的代价很高。此外,因为大多数SIM仅允许对诸如读取或更新PIN的某些特征的有限访问,所以只能使用SIM有限次去测试那些特征,这就会增加每一测试的总成本。另外,不同类型的SIM可用在各种移动设备中。因此,SIM的全面测试导致软件供应商需要获取许多不同类型的大量SIM。本发明就是考虑到这些以及其它方面而做出的。
(3)

发明内容
根据本发明,以上和其它问题可通过仿真用户识别模块(SIM)设备的方法和系统来解决。使用这些方法和系统,要用于移动设备的应用可使用仿真SIM而不是真实的SIM来测试。通过配置数据,SIM仿真器可被设置成以与被仿真之真实SIM相一致的方式动作。可使用SIM仿真器,以与使用真实SIM一样的方式来运行和测试应用。另外,SIM仿真器可在测试过程中记录数据并模拟SIM错误,以进一步帮助应用的测试和调试。
根据其它方面,本发明涉及仿真用户识别模块(SIM)的一种方法。该方法包括读取表示SIM一个或多个特征的配置数据。然后启动仿真的执行。从无线电接口层(RIL)接收一个SIM命令,以访问SIM资源。基于配置数据以与SIM运行相一致的方式对SIM命令进行处理。涉及SIM命令及其处理的数据被记录(在日志中)(logged)。
根据其它方面,本发明涉及仿真用户识别模块(SIM)的一种系统。该系统包括处理器和与其耦合并对其为可读的存储器。存储器包含指令序列,当处理器执行这些指令时,促使处理器读取表示SIM一个或多个特征的配置数据。然后处理器启动仿真的执行。从无线电接口层(RIL)接收一个SIM命令,以访问SIM资源。基于配置数据以与SIM运行相一致的方式对SIM命令进行处理。涉及SIM命令及其处理的数据被记录。
本发明可被实现为计算机过程、计算系统、或诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是计算机系统可读的、编码有执行计算机过程的指令的计算机程序的计算机存储介质。计算机程序产品也可以是计算系统可读的、编码有执行计算机过程的指令的计算机程序的载波传播信号。
结合附图参阅以下具体说明,表征本发明的这些和其它特征及优点,将是显见的。
(4)


图1示出了本发明实施方式可在其上实现的移动设备的功能性组件。
图2示出了本发明实施方式可在其上实现的仿真移动设备系统的功能性组件。
图3阐述了本发明可在其上实现的适当计算系统环境的示例。
图4示出了根据本发明实施方式用于仿真用户识别模块(SIM)的系统的功能性组件。
图5是根据本发明一实施方式的SIM仿真的流程图。
图6是根据图5所示SIM仿真的另一实施方式的SIM文件系统命令处理的流程图。
图7是示出根据图5所示SIM仿真的另一实施方式的SIM安全系统命令处理的流程图。
图8是示出根据本发明一实施方式的错误模拟的流程图。
(5)具体实施方式
本发明的诸实施方式涉及仿真用户识别模块(SIM)。如下所将要描述的,SIM仿真可在各种环境中执行。例如,SIM仿真可在真实的移动设备中执行。可选地,SIM仿真可作为移动设备仿真的一部分执行,其中真实移动设备各种组件的功能可随同SIM仿真一起被仿真。当然,真实组件和仿真组件的各种组合也是可能的。
图1示出了本发明实施方式可在其中实现的移动设备的部分组件。在此例中,阐述了真实移动设备100。移动设备100包括一个或多个应用105、无线电接口层(RIL)代理服务器110、RIL驱动器115、无线电装置120、和用户识别模块(SIM)仿真器125。
应用105可包括可在移动设备100上执行的诸如电话簿、日历、web浏览器、游戏等等的各种可能软件应用的一种或多种应用。这些应用在开发期间可在移动设备上执行用于测试和调试。在执行过程中,应用105与RIL代理服务器110接口。
RIL代理服务器110是向应用105展现一套RIL应用程序接口(API)的软件层。RIL驱动器连同RIL代理服务器110提供应用105和无线电装置120间的通信,例如通过RIL 110应用可访问无线电装置120。无线电装置120则进而提供与诸如蜂窝式网络的无线网络130的连接,通过这种网络,移动设备100可与其它设备通信。在此实施方式中,“无线电装置”被定义为连接到无线网络并在无线网络上提供通信的发送器和接收器。
还有,无线电装置120提供应用105和SIM仿真器125之间的连接。SIM仿真器125可由存储在移动设备100存储器中、并由移动设备100执行的软件组成。可选地,SIM仿真器可驻留于诸如个人计算机的另一设备的存储器中并在其上执行,该另一设备通过适当电缆连线或其它类型连接方式与移动设备100相连。在任一情形中,SIM仿真器125都提供真实SIM的功能性。这样,可以对应用105进行测试,而不会有使用真实SIM的成本和麻烦。
SIM仿真器125执行的功能的细节将参照图5-7在后面讨论。一般说来,SIM为应用105提供各种文件系统和鉴权功能。操作上,SIM仿真器125提供给应用105与真实SIM一样的功能性。为了达到这一目的,SIM仿真器125首先读取配置数据。该配置数据可以是可扩展标记语言(XML)文件、文本文件、或其它格式文件的形式。该配置数据表示被仿真的真实SIM的一个或多个特征。例如,配置数据可包括表示真实SIM操作特征的一个或多个参数,诸如执行与SIM命令相关联函数的时间滞后。在另一示例中,配置数据可包括要存储在SIM文件系统中的诸如电话簿条目的一个或多个数据文件。
在一实施方式中,SIM仿真器125可包括带有硬代码的函数(hard-codedfunction)的软件例程,用来维护文件系统、维护安全系统、并响应SIM命令。在特征和行为在不同类型SIM间变化的地方,配置数据代表用于这些例程变量中的值。
读取配置数据之后,SIM仿真器125启动仿真的执行。SIM仿真包括执行如配置数据所指示、与真实SIM所执行的那些功能相一致的功能。例如,SIM仿真器125可仿真包括含有来自配置数据的数据的一个或多个数据文件的文件系统。另外,SIM仿真器125可提供SIM安全系统,以维护和处理对文件系统中文件的访问,并提供对个人识别码(PIN)的访问。在另一示例中,SIM仿真器125可提供SIM工具箱,其中包括根据一指定事件的发生而显示消息或播放声音的典型SIM程序。
在仿真的执行中,SIM仿真器可从RIL 110接收SIM命令,以访问SIM资源。例如,SIM仿真器125可从RIL接收SIM命令,以在文件系统中读取或写入数据。因此,在写入命令情形中,接收SIM命令还可包括接收与SIM命令相关联的数据,诸如要写入文件系统中的数据。
SIM仿真器125基于配置数据以与真实SIM操作相一致的方式处理SIM命令。例如,处理SIM命令可包括返回诸如真实SIM将返回的响应码。返回码可基于访问SIM文件系统中的数据。因此,处理SIM命令还可包括返回与响应码相关联的响应数据,诸如响应于处理SIM读取命令的成功完成而从文件系统中读取的数据。
SIM仿真器125还可记录涉及SIM命令及其处理的数据。例如,SIM仿真器125可记录SIM命令和响应码。在部分情形中,也可记录与处理SIM命令相关联的响应数据和其它数据。记录下的数据可随后被访问,以帮助对被测试应用的调试。
最后,SIM仿真器也可基于配置数据模拟SIM错误。即,配置数据可指示SIM仿真器随机地、在指定时间、或响应于指定事件而要产生的一个或多个错误,以便更彻底地测试被测试应用处理这种错误的能力。
图2高层次地示出了仿真本发明实施方式可在其中实现的移动设备的系统的主要功能组件。如上所示,SIM仿真器可在仿真移动设备及真实移动设备中使用。SIM仿真器可使用的仿真移动设备的一个示例在题为“仿真电话驱动器的系统和方法”(“System and Method for Emulating a Telephony Driver”)于2003年10月23日提交的申请号为(MS304256.01/M&G50037.0199US01)的美国专利申请中描述,此专利申请被转让给了本专利的受让人,在此引入作为参考。
图2所示的示例显示了一种可在诸如参照图3如下所述的系统300的计算系统中实现的应用测试/开发系统200。应用测试/开发系统200包括一个或多个应用205、RIL代理服务器207、和设备仿真器210。设备仿真器210包括无线电接口层(RIL)仿真器215、无线电装置仿真器225、网络仿真器230、和用户识别模块(SIM)仿真器235。
如上所述,应用205可包括诸如电话簿、日历、web浏览器等等的各种可能软件应用的一种或多种应用。这些应用205可由应用测试/开发系统200执行,以便测试和调试应用205。
在执行过程中,应用205与RIL代理服务器207接口,而RIL代理服务器207与设备仿真器210的RIL驱动器仿真器215接口。如上所述,RIL代理服务器207提供一组RIL API给应用205。RIL驱动器仿真器215连同RIL代理服务器207,提供应用205与无线电装置仿真器225之间的通信。无线电装置仿真器225则提供与仿真诸如蜂窝式网络的无线网络的网络仿真器230的连接。
还有,无线电装置仿真器225提供应用205与SIM仿真器235之间的连接。如上所述,从应用和无线电装置观点看,SIM仿真器235提供真实SIM的功能性。这样,应用205可在没有真实SIM的成本和麻烦的情况下得以测试。
不管SIM仿真器是与诸如图1移动设备100的真实移动设备连接,还是与诸如图2所示设备仿真器210的仿真设备连接,SIM仿真器执行的功能一般是相同的。通常,这些功能包括读取表示真实SIM一个或多个特征的配置数据、启动仿真的执行、从无线电接口层(RIL)接收SIM命令以访问SIM资源、基于配置数据以与真实SIM操作相一致的方式处理SIM命令、和记录涉及SIM命令及其处理的数据。这些操作的其它细节将参照图5-7在后面进行讨论。
图3示出了本发明实施方式可在其中实现的适当计算系统环境的示例。这种系统300是可充当网站服务中的转向器和/或服务器的系统代表。在其最基本配置中,系统300通常至少包括处理单元302和存储器304。取决于确切配置和计算设备的类型,存储器304可以是易失的(诸如RAM)、非易失的(诸如ROM、闪存等)、或两者的组合。这种最基本配置如图3虚线306中所示。另外,系统300也可有附加特征/功能性。例如,设备300也可具有附加存储器(可移动的和/或不可移动的),包括但不限于磁性或光学的盘或带。这种附加存储器在图3中示为可移动存储器308和不可移动存储器310。计算机存储介质包括以任何方法或技术实现的易失和非易失的、可移动和不可移动的介质,用来存储诸如计算机可读指令、数据架构、程序模块或其它数据等信息。存储器304、可移动存储器308和不可移动存储器310都是计算机存储器介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存、磁卡、磁带、磁盘存储或其它磁性存储设备、或用于存储所需信息并可被系统300访问的任何其它介质。任何这种计算机存储介质可以是系统300的一部分。
系统300还可包含允许系统与其它设备通信的通信连接312。通信连接312是通信介质的示例。通信介质通常在诸如载波或其它传输机制的调制数据信号中包含计算机可读指令、数据架构、程序模块、或其它数据,且包括任何信息输送介质。术语“调制数据信号”意指用将信息编码成信号的方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频、红外线和其它无线介质的无线介质。在此使用的术语“计算机可读介质”包括存储介质和通信介质。
系统300还有诸如键盘、鼠标、笔、语音输入设备、触摸式输入设备等等的输入设备314。还包括诸如显示器、扬声器、打印机等等的输出设备316。所有这些设备在本领域中都是众所周知的,无须在此赘述。
诸如系统300的计算设备通常包括至少某些形式的计算机可读介质。计算机可读介质可以是系统300能访问的任何可用介质。作为示例,而非限制,计算机可读介质可能包括计算机存储介质和通信介质。
图4示出了根据本发明一实施方式仿真用户识别模块(SIM)的系统的主要功能模块。在此示例中,SIM仿真器400包括控制模块420、配置数据435、配置管理器440、SIM命令处理模块405、SIM安全仿真器415、SIM文件系统仿真器430、一个或多个运行记录425、和可任选的SIM工具箱仿真器410。
在执行SIM仿真前,用户使用配置管理器440设置配置数据435。如上所述,配置数据435可以是可扩展标记语言(XML)文件、文本文件、或其它格式文件的形式。配置数据435代表仿真中真实SIM的一个或多个特征。例如,配置数据可包括代表真实SIM操作特征的一个或多个参数,诸如执行与SIM命令相关联的功能的时间滞后。即,时间滞后可按命令或文件指定。在另一示例中,配置数据可包括要存储在SIM文件系统中的诸如电话簿条目的一个或多个数据文件。
显然,配置数据435在仿真执行过程中可被改变或更新。例如,执行测试的操作者可改变数据来改变测试。此外,访问配置数据435的诸如写入命令的SIM命令也可在仿真执行过程中改变配置数据435。
控制模块420读取配置数据435。控制模块420使用配置数据435来设立SIM仿真器400的其它组件。控制模块420接着启动仿真的执行。在部分情形中,控制模块420随后在仿真执行过程中周期性地或响应于某些事件而读取配置数据435并设立SIM仿真器400的其它组件,以反映配置数据435的任何变化。
在SIM仿真的执行过程中,SIM命令处理模块405可从真实的或仿真的无线电装置接收SIM命令以访问SIM仿真器400的资源。例如,SIM命令处理模块405可通过无线电装置从RIL接收命令,以在文件系统中读取或写入数据。SIM命令处理模块405可检查命令的格式和与该命令相关联的任何数据,以在继续前核实该命令。
然后,SIM命令处理模块405前进SIM命令给控制模块420。控制模块420然后可执行基于该命令的功能(function),诸如错误模拟或(在日志中)记录该命令和任何相关联数据。随后控制模块420将通过SIM安全仿真器415尝试访问SIM文件系统。
SIM安全仿真器415维护和处理对文件系统中文件的访问。另外,SIM安全仿真器415提供对个人识别码(PIN)的访问,并执行通常由SIM执行的其它安全功能。处理SIM安全命令的细节将参照图7在后面进一步讨论。一般,SIM安全仿真器415通过确定SIM命令对SIM安全系统的访问是否已获授权来处理安全命令。响应于SIM命令对SIM安全系统的访问已获授权的确定,SIM安全仿真器415基于SIM命令和配置数据435执行SIM安全系统功能。SIM安全仿真器415随后确定配置数据435是否指示SIM命令有滞后时间。响应于配置数据435指示SIM命令有滞后时间的确定,SIM安全仿真器415按配置数据435指定的时间作停顿。
SIM文件系统仿真器430仿真文件系统。SIM文件系统仿真器430可包括包含来自配置数据435的数据的一个或多个数据文件。例如,配置数据435可具有代表电话簿条目的数据。控制模块420从配置数据435中读取此数据并设立SIM文件系统仿真器430,以与真实SIM相一致的方式表示此数据。处理SIM文件系统命令的细节将参照图6在后面进一步讨论。一般,处理文件系统命令包括确定对SIM文件系统的访问是否对SIM命令授权。响应于对SIM文件系统的访问对SIM命令授权的确定,SIM文件系统仿真器430基于SIM命令和配置数据435访问SIM文件系统中的数据、确定配置数据435是否指示SIM命令有滞后时间、并响应于配置数据435指示SIM命令有滞后时间的确定,按配置数据435指定的时间作停顿。
当执行仿真时,SIM命令处理模块405与SIM安全模块415和SIM文件系统仿真器430合作,基于配置数据435以与真实SIM操作相一致的方式处理SIM指令。例如,处理SIM命令可包括返回一个真实SIM将会返回的响应码一样的响应码。响应码可基于对SIM文件系统中数据的访问。因此,处理SIM命令也可包括返回与响应码相关联的响应数据,诸如响应于处理SIM读取命令的成功完成而对文件系统的数据读取。
SIM仿真器400也包含一个或多个运行记录文件425。运行记录文件425可通过控制模块420写入。例如,控制模块可记录SIM命令并响应这些命令。在部分情形中,也可记录与处理SIM命令相关联的响应数据和其它数据。
可任选的SIM工具箱仿真器410可提供包括典型SIM工具箱程序的SIM工具箱。例如,工具箱可包含使消息或声音基于指定事件的发生而显示或播放的程序、测试无线广播的无线应用协议(WAP)供应场景的程序、模拟无线广播软件升级的程序、或其它通常运行于真实SIM处理器上的应用。一般说来,SIM工具箱仿真器410提供了被测试的仿真SIM应用可接于其上的挂钩。移动设备上的应用可使用适当SIM命令通过控制模块420在任何时间与仿真SIM应用通信。接收到这种SIM命令后,控制模块420将命令传送给SIM工具箱仿真器410。如同SIM仿真器400的其它组件一样,配置数据435可用来指定SIM工具箱的诸如滞后时间等特征。另外,控制模块420可将与工具箱有关的SIM命令记录在运行记录文件425中以备将来检索。
最后,SIM仿真器400还可基于配置数据435模拟SIM错误。即,配置数据435可指示SIM仿真器400的控制模块420随机地、在指定时间或响应于指定事件而产生的一个或多个错误。通过测试应用处理这种错误的能力,这种模拟错误有助于更全面地测试被测试应用的能力。
错误模拟的细节可参照图8在后面讨论。一般说来,当通过无线电装置从RIL接收命令时,控制模块420将该命令传递给错误模拟模块445,它确定该给定命令或命令的封装类是否已由配置数据435约定为失败。这些约定可包括失败的某些条件,诸如在失败前必需成功的调用次数、随机失败的概率、失败前的时滞等等。如果错误模拟模块445确定输入命令应失败,它返回由配置数据435指定的错误码。示例错误码可包括SIM未插入、SIM系统失败等等。错误码可从错误模拟模块445返回到控制模块420,而控制模块420随后将该错误通过无线电装置返回到RIL。失败的命令被控制模块420截取,且不会传送到任何其它模块。此外,错误模拟模块445也可基于配置数据435自主触发错误事件,如SIM移除错误、SIM忙碌错误等等。然而,要注意,错误也可在其它模块中产生,诸如在SIM文件系统仿真器430中当应用尝试访问不存在的文件时,或在SIM安全仿真器中当应用使用错的或未授权的PIN时。
本发明的各种实施方式的逻辑操作在计算机系统中实现为(1)运行于计算系统之上的一系列计算机实现动作或程序模块,和/或(2)互相连接的机器逻辑电路或电路模块。实现是取决于实现本发明的计算系统之性能需求的选择问题。因此,在此所述的组成本发明实施方式的逻辑操作可分别指为操作、结构化设备、动作或模块。本领域技术人员将理解这些操作、结构化设备、动作或模块可在软件、固件、专用数字逻辑、和其任何组合中实现,而不不背离所附权利要求书中陈述的本发明的精神和范围。
图5是示出根据本发明一实施方式的SIM仿真的流程图。在此例中,操作以读取操作500开始。读取操作500包括读取表示真实SIM的一个或多个特征的配置数据。如上所述,配置数据可包括代表SIM操作特征的一个或多个参数。用于仿真执行的一个或多个参数之一可包括执行与SIM命令相关联功能的时间滞后。另外,配置数据可包括存储在SIM文件系统中的一个或多个数据文件。配置数据可以是XML文件、文本文件、或其它方便格式文件的形式。在其它实施方式中,SIM仿真器具有与真实SIM相关联的预定义配置数据,从而无需进行读取操作。重要的是,SIM仿真器读取适当配置数据或用适当配置数据编码。
接着,启动操作505起动仿真的执行。即,配置数据被用来设立SIM仿真,从而使该仿真以与被仿真的真实SIM相一致的方式动作。例如,代表着在各种不同类型SIM之间有所变化的特征和行为的SIM仿真器码中的变量可被设置成来自配置数据的值。
在接收操作510中,SIM仿真器通过无线电装置从无线电接口层(RIL)接收SIM命令以访问SIM资源。取决于命令的本性,接收SIM命令还包括接收与SIM命令相关联的数据。例如,写入命令可有相关联数据或位置指针写入。如果,在接收操作510中未收到SIM命令,控制会在接收操作510上循环或停顿,以等待接收SIM命令。一旦确定SIM命令已收到,控制前进到处理操作515。
处理操作515基于配置数据以与真实SIM相一致的方式处理SIM命令。SIM仿真器可以是硬代码的,用来通过特定方式响应部分SIM命令。例如,如果读取成功,读取命令可使SIM仿真器以固定响应码连同文件系统的某些数据响应,而如果读取不成功,则响应以不同的响应码。另外,用来设立仿真的配置数据中的信息可指示在不同类型SIM间有所变化的操作参数。例如,配置数据可指示响应命令的滞后时间甚或响应格式。处理SIM命令的附加细节将参照图6和7在后面讨论。
在部分实施方式中,处理命令后,运行记录操作520(在日志中)记录下涉及SIM命令及其处理的数据。涉及SIM命令及其处理的记录数据可包括记录SIM命令和响应码。另外,可记录与仿真的执行和SIM命令的处理相关联的响应数据和其它数据。如上所述,此数据在调试被测试应用中可用。
如上所述,配置数据可在仿真的执行过程中改变。因此,在许多情形中,执行SIM仿真可包括周期性地或者根据某些事件的发生而重新读取配置数据。在这种情形中,与以上所列操作相一致,SIM仿真器将读取第二套或者下一套配置数据,并基于第二套配置数据以与SIM操作相一致的方式来处理随后的SIM命令。
图6是示出根据图5所示SIM仿真另一个实施方式的SIM文件系统处理的流程图。典型的可用SIM文件系统命令包括,但不限于,标准的SIM读取和写入命令。在此,操作以查询操作605开始。查询操作605确定是否SIM命令对SIM文件系统的访问得到了授权。象在真实SIM中一样,这一确定可涉及对照在文件系统中为每个文件维护的访问控制列表(ACL)检查当前应用的安全级别。如果确定访问未被授权,控制前进到返回操作625。响应于在查询操作605中SIM命令对SIM文件系统的访问得到了授权的确定,控制前进到读/写操作610。
读/写操作610包括基于SIM命令和配置数据而访问SIM文件系统中的数据。即,读取命令使SIM仿真器从文件系统中接收数据,而写命令使SIM仿真器添加数据到文件系统中或更新文件系统。
接着,查询操作615确定是否配置数据指示SIM命令有滞后时间。如果配置数据中未指示滞后,控制前进到返回操作625。响应于配置数据显示了SIM命令的滞后的确定,控制前进到停顿操作620。停顿操作620包括按配置数据中指定的一定时间作停顿。然后控制前进到返回操作625。
返回操作625基于对SIM文件系统数据的访问,返回响应码。例如,如果SIM仿真器成功完成了写入动作,可返回一成功写入的正常SIM返回码。在另一示例中,对不存在文件的读取尝试会导致返回错误码。另外,在部分情形中,返回操作625也可包括返回与响应码相关联的响应数据。例如,成功读取操作的响应码可与读到的数据相关联。
图7是示出根据图5所示SIM仿真另一个实施方式的SIM安全系统命令处理的流程图。可用的SIM安全命令包括,但不限于,检验、改变、启用、中止用户的个人识别码(PIN)的典型SIM命令。在此例中,操作以查询操作705开始。查询操作705确定SIM命令对SIM安全系统的访问是否得到了授权。象在真实SIM中一样,这一确定可涉及对照维护在文件系统中每个文件的访问控制列表(ACL)检查当前应用的安全级别。如果确定访问未被授权,控制前进到返回操作725。响应于在查询操作705中SIM命令对SIM文件系统的访问得到了授权的确定,控制前进到执行操作710。
执行操作710包括基于SIM命令和配置数据执行SIM安全系统的功能。即,取决于该命令,PIN可被读取、更新、启用或中止。
接着,查询操作715确定是否配置数据指示SIM命令有滞后时间。如果配置数据中未指示滞后,控制前进到返回操作725。响应于配置数据指示了SIM命令滞后的确定,控制前进到停顿操作720。停顿操作720包括按配置数据中指定的一定时间作一停顿。然后控制前进到返回操作725。
返回操作725基于操作的成功返回响应码。例如,如果SIM仿真器成功完成了PIN改变,可返回一成功PIN改变的正常SIM返回码。在另一示例中,对不成功的PIN访问会导致返回错误码。另外,在部分情形中,返回操作725也可包括返回与响应码相关联的响应数据。
图8是示出根据本发明一实施方式的错误模拟的流程图。在此例中,操作从查询操作805开始。查询操作805确定是否接收命令应该看作坏的或无效的命令。在一实施方式中,查询操作805通过评估命令格式、与该命令相关联的一个或多个参数、或者配置数据中对该命令或命令的封装类已约定为失败的指示,确定命令是否为“坏”命令。如果确定该命令不应被视为坏命令,控制前进到查询操作835。然而,如果确定该命令应被视为坏命令,控制前进到返回操作810。返回操作810包括返回一坏命令错误码。
查询操作835包括确定是否会产生随机错误。这一确定可基于例如一个其参数被存储于配置数据中的随机数发生器。如果确定随机错误不应当生成,控制前进到查询操作845。然而,如果确定随机错误应当生成,控制前进到返回操作840。返回操作840包括基于所生成的随机错误返回错误码。错误码可以是配置数据中众多可能错误之一。此外,从众多可能错误中返回的精确错误码可基于随机数发生器的生成值。
查询操作845包括确定是否存储在配置数据中的对接收的命令做出响应的滞后时间是否超过了也存储在配置数据中的该响应的极限值。即,对命令滞后时间和滞后时间极限进行比较。如上所述,配置数据中指定的滞后时间可与具体命令或具体文件有关。如果滞后时间超过该极限,控制前进到返回操作850。返回操作850包括返回一超时错误。
尽管本发明是以计算机结构化特征、方法论动作和计算机可读介质等专用的语言来描述的,但可以理解,定义在所附权利要求书中的本发明无须囿于所述专用结构、动作或介质。作为示例,SIM仿真器可在各种环境中使用,包括真实设备、仿真设备、或真实与仿真设备的部分组合。另外,配置数据不论是在格式上还是内容上都可有显著差异。因此,具体结构化特征、行为和介质是被揭示来作为实现本发明的示例性实施方式。
以上所述各种实施方式仅供说明,并不应被解释为限制本发明。本领域技术人员将理解,可对本发明作出各种改变和变化,无须遵从在此所说明和所述的示例实施方式和应用,也不会背离在以下权利要求书中陈述的本发明真实精神和范围。
权利要求
1.一种仿真用户识别模块(SIM)的方法包括读取代表SIM一个或多个特征的配置数据;启动仿真的执行;接收一SIM命令以访问SIM资源;基于所述配置数据以与SIM操作相一致的方式处理所述SIM命令;以及记录涉及所述SIM命令及其处理的数据。
2.如权利要求1所述的方法,其特征在于,所述配置数据包括表示SIM的操作特征的一个或多个参数。
3.如权利要求2所述的方法,其特征在于,所述仿真执行的一个或多个参数之一包括执行与所述SIM命令相关联功能的时间滞后。
4.如权利要求1所述的方法,其特征在于,所述配置数据包括要存储在SIM文件系统中的一个或多个数据文件。
5.如权利要求1所述的方法,其特征在于,从RIL接收一SIM命令还包括接收与所述SIM命令相关联的数据。
6.如权利要求1所述的方法,其特征在于,响应于所述SIM命令系访问一SIM文件系统命令,处理所述命令还包括确定是否所述SIM命令对所述SIM文件系统的访问被授权;响应于确定所述SIM命令对所述SIM文件系统的访问被授权,基于所述SIM命令和配置数据访问SIM文件系统中的数据,确定是否所述配置数据指示了所述SIM命令的滞后时间,并响应于确定所述配置数据指示了所述SIM命令的滞后时间,按配置数据指定的时间量作停顿。
7.如权利要求1所述的方法,其特征在于,响应于所述SIM命令系访问一SIM安全系统命令,处理所述命令还包括确定是否所述SIM命令对所述SIM安全系统的访问被授权;响应于确定所述SIM命令对所述SIM安全系统的访问被授权,基于所述SIM命令和配置数据执行一SIM安全系统的功能,确定是否所述配置数据指示所述SIM命令的滞后时间,并响应于确定所述配置数据指示了所述SIM命令的滞后时间,按配置数据指定的时间量作停顿。
8.如权利要求6所述的方法,其特征在于,还包括基于对所述SIM文件系统数据的访问,返回一响应码。
9.如权利要求8所述的方法,其特征在于,还包括返回与所述响应码相关联的响应数据。
10.如权利要求6所述的方法,其特征在于,还包括基于对所述SIM安全系统数据的访问,返回一响应码。
11.如权利要求9所述的方法,其特征在于,记录涉及所述SIM命令及其处理的数据包括记录所述SIM命令、所述响应码、和所述响应数据。
12.如权利要求1所述的方法,其特征在于,还包括基于所述配置数据模拟SIM错误。
13.如权利要求1所述的方法,其特征在于,还包括读取第二套配置数据,及基于所述第二套配置数据以与SIM操作相一致的方式处理随后的SIM命令。
14.一种仿真用户识别模块(SIM)的系统,它包括一处理器;以及一存储器,其与所述处理器耦合并可为所述处理器读取,所述存储器包含一系列指令,当由所述处理器执行时,促使处理器读取表示SIM的一个或多个特征、启动仿真的执行、接收一SIM命令以访问SIM资源、基于配置数据以与SIM操作相一致的方式处理所述SIM命令、并记录涉及所述SIM命令及其处理的数据。
15.如权利要求14所述的系统,其特征在于,所述配置数据包括代表SIM操作特征的一个或多个参数。
16.如权利要求15所述的系统,其特征在于,所述仿真执行的一个或多个参数之一包括执行与所述SIM命令相关联功能的时间滞后。
17.如权利要求14所述的系统,其特征在于,所述配置数据包括要存储在SIM文件系统中的一个或多个数据文件。
18.如权利要求14所述的系统,其特征在于,从RIL接收一SIM命令还包括接收与所述SIM命令相关联的数据。
19.如权利要求14所述的系统,其特征在于,响应于所述SIM命令系访问一SIM文件系统命令,处理所述命令还包括确定是否所述SIM命令对所述SIM文件系统的访问被授权;响应于确定所述SIM命令对所述SIM文件系统的访问被授权,基于所述SIM命令和配置数据访问SIM文件系统中的数据,确定是否所述配置数据指示所述SIM命令的滞后时间,并响应于确定所述配置数据表示所述SIM命令的滞后时间,按配置数据指定的时间量作停顿。
20.如权利要求14所述的系统,其特征在于,响应于所述SIM命令系访问一SIM安全系统命令,处理所述命令还包括;确定是否所述SIM命令对所述SIM安全系统的访问被授权;响应于确定所述SIM命令对所述SIM安全系统的访问被授权,基于所述SIM命令和配置数据执行SIM安全系统中的功能,确定是否所述配置数据表示所述SIM命令的滞后时间,并响应于确定所述配置数据表示所述SIM命令的滞后时间,按配置数据指定的时间量作停顿。
21.如权利要求19所述的系统,其特征在于,还包括基于对所述SIM文件系统数据的访问,返回一响应码。
22.如权利要求21所述的系统,其特征在于,还包括返回与所述响应码相关联的响应数据。
23.如权利要求19所述的系统,其特征在于,还包括基于对所述SIM安全系统数据的访问,返回一响应码。
24.如权利要求23所述的系统,其特征在于,记录涉及所述SIM命令及其处理的数据包括记录所述SIM命令、所述响应码、和所述响应数据。
25.如权利要求14所述的系统,其特征在于,还包括基于所述配置数据模拟SIM错误。
26.如权利要求14所述的系统,其特征在于,还包括读取第二套配置数据,及基于所述第二套配置数据以与SIM操作相一致的方式处理随后的SIM命令。
27.一种计算机可读介质,其编码用于执行仿真用户识别模块(SIM)的一计算机过程的指令的计算机程序,所述计算机过程包括读取表示SIM一个或多个特征的配置数据;启动仿真的执行;接收一SIM命令以访问SIM资源;基于所述配置数据以与SIM操作相一致的方式处理所述SIM命令;以及记录涉及所述SIM命令及其处理的数据。
28.如权利要求27所述的计算机可读介质,其特征在于,所述配置数据包括表示SIM操作特征的一个或多个参数。
29.如权利要求28所述的计算机可读介质,其特征在于,所述仿真执行的一个或多个参数之一包括执行与所述SIM命令相关联功能的时间滞后。
30.如权利要求27所述的计算机可读介质,其特征在于,所述配置数据包括要存储在SIM文件系统中的一个或多个数据文件。
31.如权利要求27所述的计算机可读介质,其特征在于,从RIL接收一SIM命令还包括接收与所述SIM命令相关联的数据。
32.如权利要求27所述的计算机可读介质,其特征在于,响应于所述SIM命令系访问一SIM文件系统命令,处理所述命令还包括确定是否所述SIM命令对所述SIM文件系统的访问被授权;响应于确定所述SIM命令对所述SIM文件系统的访问被授权,基于所述SIM命令和配置数据访问SIM文件系统中的数据,确定是否所述配置数据表示所述SIM命令的滞后时间,并响应于确定所述配置数据表示所述SIM命令的滞后时间,按配置数据指定的时间量作停顿。
33.如权利要求27所述的计算机可读介质,其特征在于,响应于所述SIM命令访问一SIM安全系统命令,处理所述命令还包括确定是否所述SIM命令对所述SIM安全系统的访问被授权;响应于确定所述SIM命令对所述SIM安全系统的访问被授权,基于所述SIM命令和配置数据执行SIM安全系统中的功能,确定是否所述配置数据表示所述SIM命令的滞后时间,并响应于确定所述配置数据表示所述SIM命令的滞后时间,按配置数据指定的时间量作停顿。
34.如权利要求32所述的计算机可读介质,其特征在于,还包括基于对所述SIM文件系统数据的访问,返回一响应码。
35.如权利要求34所述的计算机可读介质,其特征在于,还包括返回与所述响应码相关联的响应数据。
36.如权利要求32所述的计算机可读介质,其特征在于,还包括基于对所述SIM安全系统数据的访问,返回一响应码。
37.如权利要求35所述的计算机可读介质,其特征在于,记录涉及所述SIM命令及其处理的数据包括记录所述SIM命令、所述响应码、和所述响应数据。
38.如权利要求27所述的计算机可读介质,其特征在于,还包括基于所述配置数据模拟SIM错误。
39.如权利要求27所述的计算机可读介质,其特征在于,还包括读取第二套配置数据,及基于所述第二套配置数据以与SIM操作相一致的方式处理随后的SIM命令。
全文摘要
本发明的诸实施方式涉及仿真用户识别模块(SIM)的方法、系统、和计算机可读介质。SIM仿真包括读取代表SIM的一个或多个特征的配置数据。随后起动仿真的执行。SIM命令从无线电接口层(RIL)接收以访问SIM资源。SIM命令基于配置数据以与SIM操作相一致的方式处理。涉及SIM命令及其处理的数据被记录。
文档编号G06K19/07GK1630403SQ20041010204
公开日2005年6月22日 申请日期2004年12月15日 优先权日2003年12月15日
发明者J·弗拉齐尔, N·鲍尔斯, S·卡西亚普 申请人:微软公司

最新回复(0)