專利名稱:用戶識別模塊(sim)仿真器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機軟件領(lǐng)域,尤其涉及用來測試使用用戶識別模塊(SIM)的應用的軟件開發(fā)工具。
(2)背景技術(shù)有各種各樣的移動計算設(shè)備得到了廣泛使用,比如蜂窩式電話、尋呼機、個人數(shù)字助理(PDA)和其它設(shè)備。在這些移動設(shè)備上可用的軟件具有廣泛的應用,包括游戲、電話簿、日歷、電子郵件、web瀏覽器、等等。這些應用在移動設(shè)備上執(zhí)行時常常利用移動設(shè)備中用戶識別模塊(SIM)的資源。SIM是由存儲器和處理器組成的一種“智能卡”設(shè)備,它執(zhí)行諸如執(zhí)行安全功能和維護用于存儲信息的文件系統(tǒng)等各種功能。
例如,電話簿應用可在SIM的文件系統(tǒng)中存儲條目。SIM只對授權(quán)應用提供對這些條目的訪問。如被授權(quán),應用可更新文件系統(tǒng)的內(nèi)容,例如,來存儲一個新的電話簿條目。通過其安全功能,SIM也可允許授權(quán)應用讀取和/或更新用戶的個人識別碼(PIN)。
對使用SIM資源的應用進行的測試一般取決于以將會用在該應用將在其上執(zhí)行的設(shè)備中的SIM對應用進行的測試。通常,這些測試使用與諸如個人計算機的計算設(shè)備相連接的SIM設(shè)備,應用可在該設(shè)備上開發(fā)和測試。在其它情形中,應用在使用SIM的移動設(shè)備上測試。
然而,使SIM活躍并保持其活躍是非常昂貴的,從而使得用SIM測試應用的代價很高。此外,因為大多數(shù)SIM僅允許對諸如讀取或更新PIN的某些特征的有限訪問,所以只能使用SIM有限次去測試那些特征,這就會增加每一測試的總成本。另外,不同類型的SIM可用在各種移動設(shè)備中。因此,SIM的全面測試導致軟件供應商需要獲取許多不同類型的大量SIM。本發(fā)明就是考慮到這些以及其它方面而做出的。
(3)
發(fā)明內(nèi)容
根據(jù)本發(fā)明,以上和其它問題可通過仿真用戶識別模塊(SIM)設(shè)備的方法和系統(tǒng)來解決。使用這些方法和系統(tǒng),要用于移動設(shè)備的應用可使用仿真SIM而不是真實的SIM來測試。通過配置數(shù)據(jù),SIM仿真器可被設(shè)置成以與被仿真之真實SIM相一致的方式動作??墒褂肧IM仿真器,以與使用真實SIM一樣的方式來運行和測試應用。另外,SIM仿真器可在測試過程中記錄數(shù)據(jù)并模擬SIM錯誤,以進一步幫助應用的測試和調(diào)試。
根據(jù)其它方面,本發(fā)明涉及仿真用戶識別模塊(SIM)的一種方法。該方法包括讀取表示SIM一個或多個特征的配置數(shù)據(jù)。然后啟動仿真的執(zhí)行。從無線電接口層(RIL)接收一個SIM命令,以訪問SIM資源。基于配置數(shù)據(jù)以與SIM運行相一致的方式對SIM命令進行處理。涉及SIM命令及其處理的數(shù)據(jù)被記錄(在日志中)(logged)。
根據(jù)其它方面,本發(fā)明涉及仿真用戶識別模塊(SIM)的一種系統(tǒng)。該系統(tǒng)包括處理器和與其耦合并對其為可讀的存儲器。存儲器包含指令序列,當處理器執(zhí)行這些指令時,促使處理器讀取表示SIM一個或多個特征的配置數(shù)據(jù)。然后處理器啟動仿真的執(zhí)行。從無線電接口層(RIL)接收一個SIM命令,以訪問SIM資源?;谂渲脭?shù)據(jù)以與SIM運行相一致的方式對SIM命令進行處理。涉及SIM命令及其處理的數(shù)據(jù)被記錄。
本發(fā)明可被實現(xiàn)為計算機過程、計算系統(tǒng)、或諸如計算機程序產(chǎn)品或計算機可讀介質(zhì)之類的制品。計算機程序產(chǎn)品可以是計算機系統(tǒng)可讀的、編碼有執(zhí)行計算機過程的指令的計算機程序的計算機存儲介質(zhì)。計算機程序產(chǎn)品也可以是計算系統(tǒng)可讀的、編碼有執(zhí)行計算機過程的指令的計算機程序的載波傳播信號。
結(jié)合附圖參閱以下具體說明,表征本發(fā)明的這些和其它特征及優(yōu)點,將是顯見的。
(4)
圖1示出了本發(fā)明實施方式可在其上實現(xiàn)的移動設(shè)備的功能性組件。
圖2示出了本發(fā)明實施方式可在其上實現(xiàn)的仿真移動設(shè)備系統(tǒng)的功能性組件。
圖3闡述了本發(fā)明可在其上實現(xiàn)的適當計算系統(tǒng)環(huán)境的示例。
圖4示出了根據(jù)本發(fā)明實施方式用于仿真用戶識別模塊(SIM)的系統(tǒng)的功能性組件。
圖5是根據(jù)本發(fā)明一實施方式的SIM仿真的流程圖。
圖6是根據(jù)圖5所示SIM仿真的另一實施方式的SIM文件系統(tǒng)命令處理的流程圖。
圖7是示出根據(jù)圖5所示SIM仿真的另一實施方式的SIM安全系統(tǒng)命令處理的流程圖。
圖8是示出根據(jù)本發(fā)明一實施方式的錯誤模擬的流程圖。
(5)具體實施方式
本發(fā)明的諸實施方式涉及仿真用戶識別模塊(SIM)。如下所將要描述的,SIM仿真可在各種環(huán)境中執(zhí)行。例如,SIM仿真可在真實的移動設(shè)備中執(zhí)行??蛇x地,SIM仿真可作為移動設(shè)備仿真的一部分執(zhí)行,其中真實移動設(shè)備各種組件的功能可隨同SIM仿真一起被仿真。當然,真實組件和仿真組件的各種組合也是可能的。
圖1示出了本發(fā)明實施方式可在其中實現(xiàn)的移動設(shè)備的部分組件。在此例中,闡述了真實移動設(shè)備100。移動設(shè)備100包括一個或多個應用105、無線電接口層(RIL)代理服務器110、RIL驅(qū)動器115、無線電裝置120、和用戶識別模塊(SIM)仿真器125。
應用105可包括可在移動設(shè)備100上執(zhí)行的諸如電話簿、日歷、web瀏覽器、游戲等等的各種可能軟件應用的一種或多種應用。這些應用在開發(fā)期間可在移動設(shè)備上執(zhí)行用于測試和調(diào)試。在執(zhí)行過程中,應用105與RIL代理服務器110接口。
RIL代理服務器110是向應用105展現(xiàn)一套RIL應用程序接口(API)的軟件層。RIL驅(qū)動器連同RIL代理服務器110提供應用105和無線電裝置120間的通信,例如通過RIL 110應用可訪問無線電裝置120。無線電裝置120則進而提供與諸如蜂窩式網(wǎng)絡(luò)的無線網(wǎng)絡(luò)130的連接,通過這種網(wǎng)絡(luò),移動設(shè)備100可與其它設(shè)備通信。在此實施方式中,“無線電裝置”被定義為連接到無線網(wǎng)絡(luò)并在無線網(wǎng)絡(luò)上提供通信的發(fā)送器和接收器。
還有,無線電裝置120提供應用105和SIM仿真器125之間的連接。SIM仿真器125可由存儲在移動設(shè)備100存儲器中、并由移動設(shè)備100執(zhí)行的軟件組成??蛇x地,SIM仿真器可駐留于諸如個人計算機的另一設(shè)備的存儲器中并在其上執(zhí)行,該另一設(shè)備通過適當電纜連線或其它類型連接方式與移動設(shè)備100相連。在任一情形中,SIM仿真器125都提供真實SIM的功能性。這樣,可以對應用105進行測試,而不會有使用真實SIM的成本和麻煩。
SIM仿真器125執(zhí)行的功能的細節(jié)將參照圖5-7在后面討論。一般說來,SIM為應用105提供各種文件系統(tǒng)和鑒權(quán)功能。操作上,SIM仿真器125提供給應用105與真實SIM一樣的功能性。為了達到這一目的,SIM仿真器125首先讀取配置數(shù)據(jù)。該配置數(shù)據(jù)可以是可擴展標記語言(XML)文件、文本文件、或其它格式文件的形式。該配置數(shù)據(jù)表示被仿真的真實SIM的一個或多個特征。例如,配置數(shù)據(jù)可包括表示真實SIM操作特征的一個或多個參數(shù),諸如執(zhí)行與SIM命令相關(guān)聯(lián)函數(shù)的時間滯后。在另一示例中,配置數(shù)據(jù)可包括要存儲在SIM文件系統(tǒng)中的諸如電話簿條目的一個或多個數(shù)據(jù)文件。
在一實施方式中,SIM仿真器125可包括帶有硬代碼的函數(shù)(hard-codedfunction)的軟件例程,用來維護文件系統(tǒng)、維護安全系統(tǒng)、并響應SIM命令。在特征和行為在不同類型SIM間變化的地方,配置數(shù)據(jù)代表用于這些例程變量中的值。
讀取配置數(shù)據(jù)之后,SIM仿真器125啟動仿真的執(zhí)行。SIM仿真包括執(zhí)行如配置數(shù)據(jù)所指示、與真實SIM所執(zhí)行的那些功能相一致的功能。例如,SIM仿真器125可仿真包括含有來自配置數(shù)據(jù)的數(shù)據(jù)的一個或多個數(shù)據(jù)文件的文件系統(tǒng)。另外,SIM仿真器125可提供SIM安全系統(tǒng),以維護和處理對文件系統(tǒng)中文件的訪問,并提供對個人識別碼(PIN)的訪問。在另一示例中,SIM仿真器125可提供SIM工具箱,其中包括根據(jù)一指定事件的發(fā)生而顯示消息或播放聲音的典型SIM程序。
在仿真的執(zhí)行中,SIM仿真器可從RIL 110接收SIM命令,以訪問SIM資源。例如,SIM仿真器125可從RIL接收SIM命令,以在文件系統(tǒng)中讀取或?qū)懭霐?shù)據(jù)。因此,在寫入命令情形中,接收SIM命令還可包括接收與SIM命令相關(guān)聯(lián)的數(shù)據(jù),諸如要寫入文件系統(tǒng)中的數(shù)據(jù)。
SIM仿真器125基于配置數(shù)據(jù)以與真實SIM操作相一致的方式處理SIM命令。例如,處理SIM命令可包括返回諸如真實SIM將返回的響應碼。返回碼可基于訪問SIM文件系統(tǒng)中的數(shù)據(jù)。因此,處理SIM命令還可包括返回與響應碼相關(guān)聯(lián)的響應數(shù)據(jù),諸如響應于處理SIM讀取命令的成功完成而從文件系統(tǒng)中讀取的數(shù)據(jù)。
SIM仿真器125還可記錄涉及SIM命令及其處理的數(shù)據(jù)。例如,SIM仿真器125可記錄SIM命令和響應碼。在部分情形中,也可記錄與處理SIM命令相關(guān)聯(lián)的響應數(shù)據(jù)和其它數(shù)據(jù)。記錄下的數(shù)據(jù)可隨后被訪問,以幫助對被測試應用的調(diào)試。
最后,SIM仿真器也可基于配置數(shù)據(jù)模擬SIM錯誤。即,配置數(shù)據(jù)可指示SIM仿真器隨機地、在指定時間、或響應于指定事件而要產(chǎn)生的一個或多個錯誤,以便更徹底地測試被測試應用處理這種錯誤的能力。
圖2高層次地示出了仿真本發(fā)明實施方式可在其中實現(xiàn)的移動設(shè)備的系統(tǒng)的主要功能組件。如上所示,SIM仿真器可在仿真移動設(shè)備及真實移動設(shè)備中使用。SIM仿真器可使用的仿真移動設(shè)備的一個示例在題為“仿真電話驅(qū)動器的系統(tǒng)和方法”(“System and Method for Emulating a Telephony Driver”)于2003年10月23日提交的申請?zhí)枮?MS304256.01/M&G50037.0199US01)的美國專利申請中描述,此專利申請被轉(zhuǎn)讓給了本專利的受讓人,在此引入作為參考。
圖2所示的示例顯示了一種可在諸如參照圖3如下所述的系統(tǒng)300的計算系統(tǒng)中實現(xiàn)的應用測試/開發(fā)系統(tǒng)200。應用測試/開發(fā)系統(tǒng)200包括一個或多個應用205、RIL代理服務器207、和設(shè)備仿真器210。設(shè)備仿真器210包括無線電接口層(RIL)仿真器215、無線電裝置仿真器225、網(wǎng)絡(luò)仿真器230、和用戶識別模塊(SIM)仿真器235。
如上所述,應用205可包括諸如電話簿、日歷、web瀏覽器等等的各種可能軟件應用的一種或多種應用。這些應用205可由應用測試/開發(fā)系統(tǒng)200執(zhí)行,以便測試和調(diào)試應用205。
在執(zhí)行過程中,應用205與RIL代理服務器207接口,而RIL代理服務器207與設(shè)備仿真器210的RIL驅(qū)動器仿真器215接口。如上所述,RIL代理服務器207提供一組RIL API給應用205。RIL驅(qū)動器仿真器215連同RIL代理服務器207,提供應用205與無線電裝置仿真器225之間的通信。無線電裝置仿真器225則提供與仿真諸如蜂窩式網(wǎng)絡(luò)的無線網(wǎng)絡(luò)的網(wǎng)絡(luò)仿真器230的連接。
還有,無線電裝置仿真器225提供應用205與SIM仿真器235之間的連接。如上所述,從應用和無線電裝置觀點看,SIM仿真器235提供真實SIM的功能性。這樣,應用205可在沒有真實SIM的成本和麻煩的情況下得以測試。
不管SIM仿真器是與諸如圖1移動設(shè)備100的真實移動設(shè)備連接,還是與諸如圖2所示設(shè)備仿真器210的仿真設(shè)備連接,SIM仿真器執(zhí)行的功能一般是相同的。通常,這些功能包括讀取表示真實SIM一個或多個特征的配置數(shù)據(jù)、啟動仿真的執(zhí)行、從無線電接口層(RIL)接收SIM命令以訪問SIM資源、基于配置數(shù)據(jù)以與真實SIM操作相一致的方式處理SIM命令、和記錄涉及SIM命令及其處理的數(shù)據(jù)。這些操作的其它細節(jié)將參照圖5-7在后面進行討論。
圖3示出了本發(fā)明實施方式可在其中實現(xiàn)的適當計算系統(tǒng)環(huán)境的示例。這種系統(tǒng)300是可充當網(wǎng)站服務中的轉(zhuǎn)向器和/或服務器的系統(tǒng)代表。在其最基本配置中,系統(tǒng)300通常至少包括處理單元302和存儲器304。取決于確切配置和計算設(shè)備的類型,存儲器304可以是易失的(諸如RAM)、非易失的(諸如ROM、閃存等)、或兩者的組合。這種最基本配置如圖3虛線306中所示。另外,系統(tǒng)300也可有附加特征/功能性。例如,設(shè)備300也可具有附加存儲器(可移動的和/或不可移動的),包括但不限于磁性或光學的盤或帶。這種附加存儲器在圖3中示為可移動存儲器308和不可移動存儲器310。計算機存儲介質(zhì)包括以任何方法或技術(shù)實現(xiàn)的易失和非易失的、可移動和不可移動的介質(zhì),用來存儲諸如計算機可讀指令、數(shù)據(jù)架構(gòu)、程序模塊或其它數(shù)據(jù)等信息。存儲器304、可移動存儲器308和不可移動存儲器310都是計算機存儲器介質(zhì)的示例。計算機存儲介質(zhì)包括但不限于RAM、ROM、EEPROM、閃存、磁卡、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或用于存儲所需信息并可被系統(tǒng)300訪問的任何其它介質(zhì)。任何這種計算機存儲介質(zhì)可以是系統(tǒng)300的一部分。
系統(tǒng)300還可包含允許系統(tǒng)與其它設(shè)備通信的通信連接312。通信連接312是通信介質(zhì)的示例。通信介質(zhì)通常在諸如載波或其它傳輸機制的調(diào)制數(shù)據(jù)信號中包含計算機可讀指令、數(shù)據(jù)架構(gòu)、程序模塊、或其它數(shù)據(jù),且包括任何信息輸送介質(zhì)。術(shù)語“調(diào)制數(shù)據(jù)信號”意指用將信息編碼成信號的方式設(shè)置或改變其一個或多個特征的信號。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直線連接的有線介質(zhì),和諸如聲學、射頻、紅外線和其它無線介質(zhì)的無線介質(zhì)。在此使用的術(shù)語“計算機可讀介質(zhì)”包括存儲介質(zhì)和通信介質(zhì)。
系統(tǒng)300還有諸如鍵盤、鼠標、筆、語音輸入設(shè)備、觸摸式輸入設(shè)備等等的輸入設(shè)備314。還包括諸如顯示器、揚聲器、打印機等等的輸出設(shè)備316。所有這些設(shè)備在本領(lǐng)域中都是眾所周知的,無須在此贅述。
諸如系統(tǒng)300的計算設(shè)備通常包括至少某些形式的計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是系統(tǒng)300能訪問的任何可用介質(zhì)。作為示例,而非限制,計算機可讀介質(zhì)可能包括計算機存儲介質(zhì)和通信介質(zhì)。
圖4示出了根據(jù)本發(fā)明一實施方式仿真用戶識別模塊(SIM)的系統(tǒng)的主要功能模塊。在此示例中,SIM仿真器400包括控制模塊420、配置數(shù)據(jù)435、配置管理器440、SIM命令處理模塊405、SIM安全仿真器415、SIM文件系統(tǒng)仿真器430、一個或多個運行記錄425、和可任選的SIM工具箱仿真器410。
在執(zhí)行SIM仿真前,用戶使用配置管理器440設(shè)置配置數(shù)據(jù)435。如上所述,配置數(shù)據(jù)435可以是可擴展標記語言(XML)文件、文本文件、或其它格式文件的形式。配置數(shù)據(jù)435代表仿真中真實SIM的一個或多個特征。例如,配置數(shù)據(jù)可包括代表真實SIM操作特征的一個或多個參數(shù),諸如執(zhí)行與SIM命令相關(guān)聯(lián)的功能的時間滯后。即,時間滯后可按命令或文件指定。在另一示例中,配置數(shù)據(jù)可包括要存儲在SIM文件系統(tǒng)中的諸如電話簿條目的一個或多個數(shù)據(jù)文件。
顯然,配置數(shù)據(jù)435在仿真執(zhí)行過程中可被改變或更新。例如,執(zhí)行測試的操作者可改變數(shù)據(jù)來改變測試。此外,訪問配置數(shù)據(jù)435的諸如寫入命令的SIM命令也可在仿真執(zhí)行過程中改變配置數(shù)據(jù)435。
控制模塊420讀取配置數(shù)據(jù)435??刂颇K420使用配置數(shù)據(jù)435來設(shè)立SIM仿真器400的其它組件??刂颇K420接著啟動仿真的執(zhí)行。在部分情形中,控制模塊420隨后在仿真執(zhí)行過程中周期性地或響應于某些事件而讀取配置數(shù)據(jù)435并設(shè)立SIM仿真器400的其它組件,以反映配置數(shù)據(jù)435的任何變化。
在SIM仿真的執(zhí)行過程中,SIM命令處理模塊405可從真實的或仿真的無線電裝置接收SIM命令以訪問SIM仿真器400的資源。例如,SIM命令處理模塊405可通過無線電裝置從RIL接收命令,以在文件系統(tǒng)中讀取或?qū)懭霐?shù)據(jù)。SIM命令處理模塊405可檢查命令的格式和與該命令相關(guān)聯(lián)的任何數(shù)據(jù),以在繼續(xù)前核實該命令。
然后,SIM命令處理模塊405前進SIM命令給控制模塊420。控制模塊420然后可執(zhí)行基于該命令的功能(function),諸如錯誤模擬或(在日志中)記錄該命令和任何相關(guān)聯(lián)數(shù)據(jù)。隨后控制模塊420將通過SIM安全仿真器415嘗試訪問SIM文件系統(tǒng)。
SIM安全仿真器415維護和處理對文件系統(tǒng)中文件的訪問。另外,SIM安全仿真器415提供對個人識別碼(PIN)的訪問,并執(zhí)行通常由SIM執(zhí)行的其它安全功能。處理SIM安全命令的細節(jié)將參照圖7在后面進一步討論。一般,SIM安全仿真器415通過確定SIM命令對SIM安全系統(tǒng)的訪問是否已獲授權(quán)來處理安全命令。響應于SIM命令對SIM安全系統(tǒng)的訪問已獲授權(quán)的確定,SIM安全仿真器415基于SIM命令和配置數(shù)據(jù)435執(zhí)行SIM安全系統(tǒng)功能。SIM安全仿真器415隨后確定配置數(shù)據(jù)435是否指示SIM命令有滯后時間。響應于配置數(shù)據(jù)435指示SIM命令有滯后時間的確定,SIM安全仿真器415按配置數(shù)據(jù)435指定的時間作停頓。
SIM文件系統(tǒng)仿真器430仿真文件系統(tǒng)。SIM文件系統(tǒng)仿真器430可包括包含來自配置數(shù)據(jù)435的數(shù)據(jù)的一個或多個數(shù)據(jù)文件。例如,配置數(shù)據(jù)435可具有代表電話簿條目的數(shù)據(jù)??刂颇K420從配置數(shù)據(jù)435中讀取此數(shù)據(jù)并設(shè)立SIM文件系統(tǒng)仿真器430,以與真實SIM相一致的方式表示此數(shù)據(jù)。處理SIM文件系統(tǒng)命令的細節(jié)將參照圖6在后面進一步討論。一般,處理文件系統(tǒng)命令包括確定對SIM文件系統(tǒng)的訪問是否對SIM命令授權(quán)。響應于對SIM文件系統(tǒng)的訪問對SIM命令授權(quán)的確定,SIM文件系統(tǒng)仿真器430基于SIM命令和配置數(shù)據(jù)435訪問SIM文件系統(tǒng)中的數(shù)據(jù)、確定配置數(shù)據(jù)435是否指示SIM命令有滯后時間、并響應于配置數(shù)據(jù)435指示SIM命令有滯后時間的確定,按配置數(shù)據(jù)435指定的時間作停頓。
當執(zhí)行仿真時,SIM命令處理模塊405與SIM安全模塊415和SIM文件系統(tǒng)仿真器430合作,基于配置數(shù)據(jù)435以與真實SIM操作相一致的方式處理SIM指令。例如,處理SIM命令可包括返回一個真實SIM將會返回的響應碼一樣的響應碼。響應碼可基于對SIM文件系統(tǒng)中數(shù)據(jù)的訪問。因此,處理SIM命令也可包括返回與響應碼相關(guān)聯(lián)的響應數(shù)據(jù),諸如響應于處理SIM讀取命令的成功完成而對文件系統(tǒng)的數(shù)據(jù)讀取。
SIM仿真器400也包含一個或多個運行記錄文件425。運行記錄文件425可通過控制模塊420寫入。例如,控制模塊可記錄SIM命令并響應這些命令。在部分情形中,也可記錄與處理SIM命令相關(guān)聯(lián)的響應數(shù)據(jù)和其它數(shù)據(jù)。
可任選的SIM工具箱仿真器410可提供包括典型SIM工具箱程序的SIM工具箱。例如,工具箱可包含使消息或聲音基于指定事件的發(fā)生而顯示或播放的程序、測試無線廣播的無線應用協(xié)議(WAP)供應場景的程序、模擬無線廣播軟件升級的程序、或其它通常運行于真實SIM處理器上的應用。一般說來,SIM工具箱仿真器410提供了被測試的仿真SIM應用可接于其上的掛鉤。移動設(shè)備上的應用可使用適當SIM命令通過控制模塊420在任何時間與仿真SIM應用通信。接收到這種SIM命令后,控制模塊420將命令傳送給SIM工具箱仿真器410。如同SIM仿真器400的其它組件一樣,配置數(shù)據(jù)435可用來指定SIM工具箱的諸如滯后時間等特征。另外,控制模塊420可將與工具箱有關(guān)的SIM命令記錄在運行記錄文件425中以備將來檢索。
最后,SIM仿真器400還可基于配置數(shù)據(jù)435模擬SIM錯誤。即,配置數(shù)據(jù)435可指示SIM仿真器400的控制模塊420隨機地、在指定時間或響應于指定事件而產(chǎn)生的一個或多個錯誤。通過測試應用處理這種錯誤的能力,這種模擬錯誤有助于更全面地測試被測試應用的能力。
錯誤模擬的細節(jié)可參照圖8在后面討論。一般說來,當通過無線電裝置從RIL接收命令時,控制模塊420將該命令傳遞給錯誤模擬模塊445,它確定該給定命令或命令的封裝類是否已由配置數(shù)據(jù)435約定為失敗。這些約定可包括失敗的某些條件,諸如在失敗前必需成功的調(diào)用次數(shù)、隨機失敗的概率、失敗前的時滯等等。如果錯誤模擬模塊445確定輸入命令應失敗,它返回由配置數(shù)據(jù)435指定的錯誤碼。示例錯誤碼可包括SIM未插入、SIM系統(tǒng)失敗等等。錯誤碼可從錯誤模擬模塊445返回到控制模塊420,而控制模塊420隨后將該錯誤通過無線電裝置返回到RIL。失敗的命令被控制模塊420截取,且不會傳送到任何其它模塊。此外,錯誤模擬模塊445也可基于配置數(shù)據(jù)435自主觸發(fā)錯誤事件,如SIM移除錯誤、SIM忙碌錯誤等等。然而,要注意,錯誤也可在其它模塊中產(chǎn)生,諸如在SIM文件系統(tǒng)仿真器430中當應用嘗試訪問不存在的文件時,或在SIM安全仿真器中當應用使用錯的或未授權(quán)的PIN時。
本發(fā)明的各種實施方式的邏輯操作在計算機系統(tǒng)中實現(xiàn)為(1)運行于計算系統(tǒng)之上的一系列計算機實現(xiàn)動作或程序模塊,和/或(2)互相連接的機器邏輯電路或電路模塊。實現(xiàn)是取決于實現(xiàn)本發(fā)明的計算系統(tǒng)之性能需求的選擇問題。因此,在此所述的組成本發(fā)明實施方式的邏輯操作可分別指為操作、結(jié)構(gòu)化設(shè)備、動作或模塊。本領(lǐng)域技術(shù)人員將理解這些操作、結(jié)構(gòu)化設(shè)備、動作或模塊可在軟件、固件、專用數(shù)字邏輯、和其任何組合中實現(xiàn),而不不背離所附權(quán)利要求書中陳述的本發(fā)明的精神和范圍。
圖5是示出根據(jù)本發(fā)明一實施方式的SIM仿真的流程圖。在此例中,操作以讀取操作500開始。讀取操作500包括讀取表示真實SIM的一個或多個特征的配置數(shù)據(jù)。如上所述,配置數(shù)據(jù)可包括代表SIM操作特征的一個或多個參數(shù)。用于仿真執(zhí)行的一個或多個參數(shù)之一可包括執(zhí)行與SIM命令相關(guān)聯(lián)功能的時間滯后。另外,配置數(shù)據(jù)可包括存儲在SIM文件系統(tǒng)中的一個或多個數(shù)據(jù)文件。配置數(shù)據(jù)可以是XML文件、文本文件、或其它方便格式文件的形式。在其它實施方式中,SIM仿真器具有與真實SIM相關(guān)聯(lián)的預定義配置數(shù)據(jù),從而無需進行讀取操作。重要的是,SIM仿真器讀取適當配置數(shù)據(jù)或用適當配置數(shù)據(jù)編碼。
接著,啟動操作505起動仿真的執(zhí)行。即,配置數(shù)據(jù)被用來設(shè)立SIM仿真,從而使該仿真以與被仿真的真實SIM相一致的方式動作。例如,代表著在各種不同類型SIM之間有所變化的特征和行為的SIM仿真器碼中的變量可被設(shè)置成來自配置數(shù)據(jù)的值。
在接收操作510中,SIM仿真器通過無線電裝置從無線電接口層(RIL)接收SIM命令以訪問SIM資源。取決于命令的本性,接收SIM命令還包括接收與SIM命令相關(guān)聯(lián)的數(shù)據(jù)。例如,寫入命令可有相關(guān)聯(lián)數(shù)據(jù)或位置指針寫入。如果,在接收操作510中未收到SIM命令,控制會在接收操作510上循環(huán)或停頓,以等待接收SIM命令。一旦確定SIM命令已收到,控制前進到處理操作515。
處理操作515基于配置數(shù)據(jù)以與真實SIM相一致的方式處理SIM命令。SIM仿真器可以是硬代碼的,用來通過特定方式響應部分SIM命令。例如,如果讀取成功,讀取命令可使SIM仿真器以固定響應碼連同文件系統(tǒng)的某些數(shù)據(jù)響應,而如果讀取不成功,則響應以不同的響應碼。另外,用來設(shè)立仿真的配置數(shù)據(jù)中的信息可指示在不同類型SIM間有所變化的操作參數(shù)。例如,配置數(shù)據(jù)可指示響應命令的滯后時間甚或響應格式。處理SIM命令的附加細節(jié)將參照圖6和7在后面討論。
在部分實施方式中,處理命令后,運行記錄操作520(在日志中)記錄下涉及SIM命令及其處理的數(shù)據(jù)。涉及SIM命令及其處理的記錄數(shù)據(jù)可包括記錄SIM命令和響應碼。另外,可記錄與仿真的執(zhí)行和SIM命令的處理相關(guān)聯(lián)的響應數(shù)據(jù)和其它數(shù)據(jù)。如上所述,此數(shù)據(jù)在調(diào)試被測試應用中可用。
如上所述,配置數(shù)據(jù)可在仿真的執(zhí)行過程中改變。因此,在許多情形中,執(zhí)行SIM仿真可包括周期性地或者根據(jù)某些事件的發(fā)生而重新讀取配置數(shù)據(jù)。在這種情形中,與以上所列操作相一致,SIM仿真器將讀取第二套或者下一套配置數(shù)據(jù),并基于第二套配置數(shù)據(jù)以與SIM操作相一致的方式來處理隨后的SIM命令。
圖6是示出根據(jù)圖5所示SIM仿真另一個實施方式的SIM文件系統(tǒng)處理的流程圖。典型的可用SIM文件系統(tǒng)命令包括,但不限于,標準的SIM讀取和寫入命令。在此,操作以查詢操作605開始。查詢操作605確定是否SIM命令對SIM文件系統(tǒng)的訪問得到了授權(quán)。象在真實SIM中一樣,這一確定可涉及對照在文件系統(tǒng)中為每個文件維護的訪問控制列表(ACL)檢查當前應用的安全級別。如果確定訪問未被授權(quán),控制前進到返回操作625。響應于在查詢操作605中SIM命令對SIM文件系統(tǒng)的訪問得到了授權(quán)的確定,控制前進到讀/寫操作610。
讀/寫操作610包括基于SIM命令和配置數(shù)據(jù)而訪問SIM文件系統(tǒng)中的數(shù)據(jù)。即,讀取命令使SIM仿真器從文件系統(tǒng)中接收數(shù)據(jù),而寫命令使SIM仿真器添加數(shù)據(jù)到文件系統(tǒng)中或更新文件系統(tǒng)。
接著,查詢操作615確定是否配置數(shù)據(jù)指示SIM命令有滯后時間。如果配置數(shù)據(jù)中未指示滯后,控制前進到返回操作625。響應于配置數(shù)據(jù)顯示了SIM命令的滯后的確定,控制前進到停頓操作620。停頓操作620包括按配置數(shù)據(jù)中指定的一定時間作停頓。然后控制前進到返回操作625。
返回操作625基于對SIM文件系統(tǒng)數(shù)據(jù)的訪問,返回響應碼。例如,如果SIM仿真器成功完成了寫入動作,可返回一成功寫入的正常SIM返回碼。在另一示例中,對不存在文件的讀取嘗試會導致返回錯誤碼。另外,在部分情形中,返回操作625也可包括返回與響應碼相關(guān)聯(lián)的響應數(shù)據(jù)。例如,成功讀取操作的響應碼可與讀到的數(shù)據(jù)相關(guān)聯(lián)。
圖7是示出根據(jù)圖5所示SIM仿真另一個實施方式的SIM安全系統(tǒng)命令處理的流程圖??捎玫腟IM安全命令包括,但不限于,檢驗、改變、啟用、中止用戶的個人識別碼(PIN)的典型SIM命令。在此例中,操作以查詢操作705開始。查詢操作705確定SIM命令對SIM安全系統(tǒng)的訪問是否得到了授權(quán)。象在真實SIM中一樣,這一確定可涉及對照維護在文件系統(tǒng)中每個文件的訪問控制列表(ACL)檢查當前應用的安全級別。如果確定訪問未被授權(quán),控制前進到返回操作725。響應于在查詢操作705中SIM命令對SIM文件系統(tǒng)的訪問得到了授權(quán)的確定,控制前進到執(zhí)行操作710。
執(zhí)行操作710包括基于SIM命令和配置數(shù)據(jù)執(zhí)行SIM安全系統(tǒng)的功能。即,取決于該命令,PIN可被讀取、更新、啟用或中止。
接著,查詢操作715確定是否配置數(shù)據(jù)指示SIM命令有滯后時間。如果配置數(shù)據(jù)中未指示滯后,控制前進到返回操作725。響應于配置數(shù)據(jù)指示了SIM命令滯后的確定,控制前進到停頓操作720。停頓操作720包括按配置數(shù)據(jù)中指定的一定時間作一停頓。然后控制前進到返回操作725。
返回操作725基于操作的成功返回響應碼。例如,如果SIM仿真器成功完成了PIN改變,可返回一成功PIN改變的正常SIM返回碼。在另一示例中,對不成功的PIN訪問會導致返回錯誤碼。另外,在部分情形中,返回操作725也可包括返回與響應碼相關(guān)聯(lián)的響應數(shù)據(jù)。
圖8是示出根據(jù)本發(fā)明一實施方式的錯誤模擬的流程圖。在此例中,操作從查詢操作805開始。查詢操作805確定是否接收命令應該看作壞的或無效的命令。在一實施方式中,查詢操作805通過評估命令格式、與該命令相關(guān)聯(lián)的一個或多個參數(shù)、或者配置數(shù)據(jù)中對該命令或命令的封裝類已約定為失敗的指示,確定命令是否為“壞”命令。如果確定該命令不應被視為壞命令,控制前進到查詢操作835。然而,如果確定該命令應被視為壞命令,控制前進到返回操作810。返回操作810包括返回一壞命令錯誤碼。
查詢操作835包括確定是否會產(chǎn)生隨機錯誤。這一確定可基于例如一個其參數(shù)被存儲于配置數(shù)據(jù)中的隨機數(shù)發(fā)生器。如果確定隨機錯誤不應當生成,控制前進到查詢操作845。然而,如果確定隨機錯誤應當生成,控制前進到返回操作840。返回操作840包括基于所生成的隨機錯誤返回錯誤碼。錯誤碼可以是配置數(shù)據(jù)中眾多可能錯誤之一。此外,從眾多可能錯誤中返回的精確錯誤碼可基于隨機數(shù)發(fā)生器的生成值。
查詢操作845包括確定是否存儲在配置數(shù)據(jù)中的對接收的命令做出響應的滯后時間是否超過了也存儲在配置數(shù)據(jù)中的該響應的極限值。即,對命令滯后時間和滯后時間極限進行比較。如上所述,配置數(shù)據(jù)中指定的滯后時間可與具體命令或具體文件有關(guān)。如果滯后時間超過該極限,控制前進到返回操作850。返回操作850包括返回一超時錯誤。
盡管本發(fā)明是以計算機結(jié)構(gòu)化特征、方法論動作和計算機可讀介質(zhì)等專用的語言來描述的,但可以理解,定義在所附權(quán)利要求書中的本發(fā)明無須囿于所述專用結(jié)構(gòu)、動作或介質(zhì)。作為示例,SIM仿真器可在各種環(huán)境中使用,包括真實設(shè)備、仿真設(shè)備、或真實與仿真設(shè)備的部分組合。另外,配置數(shù)據(jù)不論是在格式上還是內(nèi)容上都可有顯著差異。因此,具體結(jié)構(gòu)化特征、行為和介質(zhì)是被揭示來作為實現(xiàn)本發(fā)明的示例性實施方式。
以上所述各種實施方式僅供說明,并不應被解釋為限制本發(fā)明。本領(lǐng)域技術(shù)人員將理解,可對本發(fā)明作出各種改變和變化,無須遵從在此所說明和所述的示例實施方式和應用,也不會背離在以下權(quán)利要求書中陳述的本發(fā)明真實精神和范圍。
權(quán)利要求
1.一種仿真用戶識別模塊(SIM)的方法包括讀取代表SIM一個或多個特征的配置數(shù)據(jù);啟動仿真的執(zhí)行;接收一SIM命令以訪問SIM資源;基于所述配置數(shù)據(jù)以與SIM操作相一致的方式處理所述SIM命令;以及記錄涉及所述SIM命令及其處理的數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述配置數(shù)據(jù)包括表示SIM的操作特征的一個或多個參數(shù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述仿真執(zhí)行的一個或多個參數(shù)之一包括執(zhí)行與所述SIM命令相關(guān)聯(lián)功能的時間滯后。
4.如權(quán)利要求1所述的方法,其特征在于,所述配置數(shù)據(jù)包括要存儲在SIM文件系統(tǒng)中的一個或多個數(shù)據(jù)文件。
5.如權(quán)利要求1所述的方法,其特征在于,從RIL接收一SIM命令還包括接收與所述SIM命令相關(guān)聯(lián)的數(shù)據(jù)。
6.如權(quán)利要求1所述的方法,其特征在于,響應于所述SIM命令系訪問一SIM文件系統(tǒng)命令,處理所述命令還包括確定是否所述SIM命令對所述SIM文件系統(tǒng)的訪問被授權(quán);響應于確定所述SIM命令對所述SIM文件系統(tǒng)的訪問被授權(quán),基于所述SIM命令和配置數(shù)據(jù)訪問SIM文件系統(tǒng)中的數(shù)據(jù),確定是否所述配置數(shù)據(jù)指示了所述SIM命令的滯后時間,并響應于確定所述配置數(shù)據(jù)指示了所述SIM命令的滯后時間,按配置數(shù)據(jù)指定的時間量作停頓。
7.如權(quán)利要求1所述的方法,其特征在于,響應于所述SIM命令系訪問一SIM安全系統(tǒng)命令,處理所述命令還包括確定是否所述SIM命令對所述SIM安全系統(tǒng)的訪問被授權(quán);響應于確定所述SIM命令對所述SIM安全系統(tǒng)的訪問被授權(quán),基于所述SIM命令和配置數(shù)據(jù)執(zhí)行一SIM安全系統(tǒng)的功能,確定是否所述配置數(shù)據(jù)指示所述SIM命令的滯后時間,并響應于確定所述配置數(shù)據(jù)指示了所述SIM命令的滯后時間,按配置數(shù)據(jù)指定的時間量作停頓。
8.如權(quán)利要求6所述的方法,其特征在于,還包括基于對所述SIM文件系統(tǒng)數(shù)據(jù)的訪問,返回一響應碼。
9.如權(quán)利要求8所述的方法,其特征在于,還包括返回與所述響應碼相關(guān)聯(lián)的響應數(shù)據(jù)。
10.如權(quán)利要求6所述的方法,其特征在于,還包括基于對所述SIM安全系統(tǒng)數(shù)據(jù)的訪問,返回一響應碼。
11.如權(quán)利要求9所述的方法,其特征在于,記錄涉及所述SIM命令及其處理的數(shù)據(jù)包括記錄所述SIM命令、所述響應碼、和所述響應數(shù)據(jù)。
12.如權(quán)利要求1所述的方法,其特征在于,還包括基于所述配置數(shù)據(jù)模擬SIM錯誤。
13.如權(quán)利要求1所述的方法,其特征在于,還包括讀取第二套配置數(shù)據(jù),及基于所述第二套配置數(shù)據(jù)以與SIM操作相一致的方式處理隨后的SIM命令。
14.一種仿真用戶識別模塊(SIM)的系統(tǒng),它包括一處理器;以及一存儲器,其與所述處理器耦合并可為所述處理器讀取,所述存儲器包含一系列指令,當由所述處理器執(zhí)行時,促使處理器讀取表示SIM的一個或多個特征、啟動仿真的執(zhí)行、接收一SIM命令以訪問SIM資源、基于配置數(shù)據(jù)以與SIM操作相一致的方式處理所述SIM命令、并記錄涉及所述SIM命令及其處理的數(shù)據(jù)。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述配置數(shù)據(jù)包括代表SIM操作特征的一個或多個參數(shù)。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述仿真執(zhí)行的一個或多個參數(shù)之一包括執(zhí)行與所述SIM命令相關(guān)聯(lián)功能的時間滯后。
17.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述配置數(shù)據(jù)包括要存儲在SIM文件系統(tǒng)中的一個或多個數(shù)據(jù)文件。
18.如權(quán)利要求14所述的系統(tǒng),其特征在于,從RIL接收一SIM命令還包括接收與所述SIM命令相關(guān)聯(lián)的數(shù)據(jù)。
19.如權(quán)利要求14所述的系統(tǒng),其特征在于,響應于所述SIM命令系訪問一SIM文件系統(tǒng)命令,處理所述命令還包括確定是否所述SIM命令對所述SIM文件系統(tǒng)的訪問被授權(quán);響應于確定所述SIM命令對所述SIM文件系統(tǒng)的訪問被授權(quán),基于所述SIM命令和配置數(shù)據(jù)訪問SIM文件系統(tǒng)中的數(shù)據(jù),確定是否所述配置數(shù)據(jù)指示所述SIM命令的滯后時間,并響應于確定所述配置數(shù)據(jù)表示所述SIM命令的滯后時間,按配置數(shù)據(jù)指定的時間量作停頓。
20.如權(quán)利要求14所述的系統(tǒng),其特征在于,響應于所述SIM命令系訪問一SIM安全系統(tǒng)命令,處理所述命令還包括;確定是否所述SIM命令對所述SIM安全系統(tǒng)的訪問被授權(quán);響應于確定所述SIM命令對所述SIM安全系統(tǒng)的訪問被授權(quán),基于所述SIM命令和配置數(shù)據(jù)執(zhí)行SIM安全系統(tǒng)中的功能,確定是否所述配置數(shù)據(jù)表示所述SIM命令的滯后時間,并響應于確定所述配置數(shù)據(jù)表示所述SIM命令的滯后時間,按配置數(shù)據(jù)指定的時間量作停頓。
21.如權(quán)利要求19所述的系統(tǒng),其特征在于,還包括基于對所述SIM文件系統(tǒng)數(shù)據(jù)的訪問,返回一響應碼。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括返回與所述響應碼相關(guān)聯(lián)的響應數(shù)據(jù)。
23.如權(quán)利要求19所述的系統(tǒng),其特征在于,還包括基于對所述SIM安全系統(tǒng)數(shù)據(jù)的訪問,返回一響應碼。
24.如權(quán)利要求23所述的系統(tǒng),其特征在于,記錄涉及所述SIM命令及其處理的數(shù)據(jù)包括記錄所述SIM命令、所述響應碼、和所述響應數(shù)據(jù)。
25.如權(quán)利要求14所述的系統(tǒng),其特征在于,還包括基于所述配置數(shù)據(jù)模擬SIM錯誤。
26.如權(quán)利要求14所述的系統(tǒng),其特征在于,還包括讀取第二套配置數(shù)據(jù),及基于所述第二套配置數(shù)據(jù)以與SIM操作相一致的方式處理隨后的SIM命令。
27.一種計算機可讀介質(zhì),其編碼用于執(zhí)行仿真用戶識別模塊(SIM)的一計算機過程的指令的計算機程序,所述計算機過程包括讀取表示SIM一個或多個特征的配置數(shù)據(jù);啟動仿真的執(zhí)行;接收一SIM命令以訪問SIM資源;基于所述配置數(shù)據(jù)以與SIM操作相一致的方式處理所述SIM命令;以及記錄涉及所述SIM命令及其處理的數(shù)據(jù)。
28.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,所述配置數(shù)據(jù)包括表示SIM操作特征的一個或多個參數(shù)。
29.如權(quán)利要求28所述的計算機可讀介質(zhì),其特征在于,所述仿真執(zhí)行的一個或多個參數(shù)之一包括執(zhí)行與所述SIM命令相關(guān)聯(lián)功能的時間滯后。
30.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,所述配置數(shù)據(jù)包括要存儲在SIM文件系統(tǒng)中的一個或多個數(shù)據(jù)文件。
31.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,從RIL接收一SIM命令還包括接收與所述SIM命令相關(guān)聯(lián)的數(shù)據(jù)。
32.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,響應于所述SIM命令系訪問一SIM文件系統(tǒng)命令,處理所述命令還包括確定是否所述SIM命令對所述SIM文件系統(tǒng)的訪問被授權(quán);響應于確定所述SIM命令對所述SIM文件系統(tǒng)的訪問被授權(quán),基于所述SIM命令和配置數(shù)據(jù)訪問SIM文件系統(tǒng)中的數(shù)據(jù),確定是否所述配置數(shù)據(jù)表示所述SIM命令的滯后時間,并響應于確定所述配置數(shù)據(jù)表示所述SIM命令的滯后時間,按配置數(shù)據(jù)指定的時間量作停頓。
33.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,響應于所述SIM命令訪問一SIM安全系統(tǒng)命令,處理所述命令還包括確定是否所述SIM命令對所述SIM安全系統(tǒng)的訪問被授權(quán);響應于確定所述SIM命令對所述SIM安全系統(tǒng)的訪問被授權(quán),基于所述SIM命令和配置數(shù)據(jù)執(zhí)行SIM安全系統(tǒng)中的功能,確定是否所述配置數(shù)據(jù)表示所述SIM命令的滯后時間,并響應于確定所述配置數(shù)據(jù)表示所述SIM命令的滯后時間,按配置數(shù)據(jù)指定的時間量作停頓。
34.如權(quán)利要求32所述的計算機可讀介質(zhì),其特征在于,還包括基于對所述SIM文件系統(tǒng)數(shù)據(jù)的訪問,返回一響應碼。
35.如權(quán)利要求34所述的計算機可讀介質(zhì),其特征在于,還包括返回與所述響應碼相關(guān)聯(lián)的響應數(shù)據(jù)。
36.如權(quán)利要求32所述的計算機可讀介質(zhì),其特征在于,還包括基于對所述SIM安全系統(tǒng)數(shù)據(jù)的訪問,返回一響應碼。
37.如權(quán)利要求35所述的計算機可讀介質(zhì),其特征在于,記錄涉及所述SIM命令及其處理的數(shù)據(jù)包括記錄所述SIM命令、所述響應碼、和所述響應數(shù)據(jù)。
38.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,還包括基于所述配置數(shù)據(jù)模擬SIM錯誤。
39.如權(quán)利要求27所述的計算機可讀介質(zhì),其特征在于,還包括讀取第二套配置數(shù)據(jù),及基于所述第二套配置數(shù)據(jù)以與SIM操作相一致的方式處理隨后的SIM命令。
全文摘要
本發(fā)明的諸實施方式涉及仿真用戶識別模塊(SIM)的方法、系統(tǒng)、和計算機可讀介質(zhì)。SIM仿真包括讀取代表SIM的一個或多個特征的配置數(shù)據(jù)。隨后起動仿真的執(zhí)行。SIM命令從無線電接口層(RIL)接收以訪問SIM資源。SIM命令基于配置數(shù)據(jù)以與SIM操作相一致的方式處理。涉及SIM命令及其處理的數(shù)據(jù)被記錄。
文檔編號G06K19/07GK1630403SQ20041010204
公開日2005年6月22日 申請日期2004年12月15日 優(yōu)先權(quán)日2003年12月15日
發(fā)明者J·弗拉齊爾, N·鮑爾斯, S·卡西亞普 申請人:微軟公司