專利名稱:載入模塊式計(jì)算機(jī)程序的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將計(jì)算機(jī)程序載入便攜式物件的存儲器的載入方法,具體地講,是載入芯片卡存儲器的載入方法。
芯片卡是由卡主體和芯片構(gòu)造的便攜式物件。
該芯片包括在硅襯底表面形成的集成電路,特別地,所述電路限定了該芯片的各存儲區(qū);具體處理各存儲區(qū)之間的數(shù)據(jù)管理的一個(gè)微型控制部件。
這種芯片無論是否裝入電子模塊中,均被集成到卡主體,并通過電氣接觸或天線手段與外界通訊。根據(jù)它的通訊方式,該卡被稱為接觸式的或非接觸式的,應(yīng)該知道,存在能夠以接觸式或非接觸式兩種通訊方式通訊的所謂組合式卡。
傳統(tǒng)地,芯片卡用于這樣的應(yīng)用中即該卡識別其所有人,和允許其所有人,例如,獲得權(quán)利,比如象存取服務(wù)或執(zhí)行事務(wù)處理這樣的權(quán)利。
存取服務(wù)有時(shí)需要把計(jì)算機(jī)程序載入卡的存儲器中。
但這些計(jì)算機(jī)程序的大小正在增大,目前已經(jīng)達(dá)到了8KB,并且在不久的將來可望達(dá)到64KB。
卡的微型控制器的吞吐速率以及存儲器的寫入時(shí)間不能達(dá)到大程序的瞬間載入。
例如,把8KB程序從發(fā)送設(shè)備中載入非接觸式卡的載入時(shí)間大約是一分鐘,而這一分鐘太長,以致不能允許在卡處于所述發(fā)送設(shè)備的有效電磁場中那段平均時(shí)間里載入程序,特別地,還已知這種設(shè)備必須處理多個(gè)卡,以及各卡之間潛在沖突。
在實(shí)踐中,載入接著被中斷,并且必須等待在另一個(gè)發(fā)送設(shè)備的場中花費(fèi)于足以成功的整體載入程序的很長時(shí)間。
因此,以上已知的、本發(fā)明提出解決方案是允許不受時(shí)間限制地載入程序,而載入時(shí)間限制經(jīng)常影響所述程序的成功裝入。
關(guān)于這個(gè)問題,本發(fā)明提出的解決方案的主題是一種從一個(gè)或多個(gè)發(fā)送裝置EM1、……、EMj、……、EMp,p為大于等于1的整數(shù),中載入計(jì)算機(jī)程序到具有非接觸操作方式的便攜式存儲器物件,特別是芯片卡的方法,其特征在于包括以下步驟組成,其中-計(jì)算機(jī)程序被分成n塊BLK1、……、BLKi、……、BLKn,n為大于等于1的整數(shù);-指示將要被載入的塊數(shù)n的信息I(n)段被發(fā)送給便攜式物件;-塊BLK1、……、BLKi、……、BLKn以非接觸方式載入便攜式物件的存儲器中;-在一個(gè)塊載入期間,塊BLK1、……、BLKi、……、BLKn的載入被中斷;-塊載入再繼續(xù)開始;以及-每一個(gè)被載入的塊BLKi在便攜式物件中被計(jì)數(shù)。
更可取的是,本發(fā)明的方法還包含以下步驟,其中在塊BLKi載入期間,塊的載入中斷;塊的載入從塊BLKi再重新開始;便攜式物件中的裝置FLG把便攜式物件的載入狀態(tài)FLG=Y或不載入的狀態(tài)FLG=N指示給發(fā)送裝置Emj;以及在塊BLKi再繼續(xù)載入之前,確認(rèn)便攜式物件的載入或非載入狀態(tài)。
通過閱讀以下毫無保留的描述,本發(fā)明將更容易被理解。
本發(fā)明的方法應(yīng)用于便攜式存儲器物件,最好是其格式和性能按ISO78-10和78-16標(biāo)準(zhǔn)進(jìn)行限定的芯片卡,這些標(biāo)準(zhǔn)的內(nèi)容援引在本說明中供參考,或者最好是應(yīng)用于除了傳統(tǒng)的接觸操作方式之外,具有非接觸操作方式的卡,所述卡的特征是滿足標(biāo)準(zhǔn)ISO I4443。
非接觸式芯片卡在硅襯底上具有一塊集成電路,電路和襯底裝配在一起構(gòu)成該芯片,所述芯片被集成成一個(gè)電子模塊,該模塊本身集成為卡主體,或直接集成為所述卡主體。
該集成電路限定了芯片的各種存儲器,包括至少一個(gè)易失性存儲器RAM和至少一個(gè)非易失性存儲器ROM,這種非易失性存儲器或任何非易失性存儲器按需要是電可擦除只讀存儲器EEPROM,或閃速型PROM存儲器。此外,這種集成電路限定了一個(gè)中央處理器CPU或微型控制器,特別地,所述中央處理器通過地址總線和數(shù)據(jù)總線,處理各存儲器之間的數(shù)據(jù)管理事務(wù),所述的管理由時(shí)鐘周期定時(shí)。
本發(fā)明用于把計(jì)算機(jī)程序PRG載入卡的一個(gè)存儲器中,具體地講,載入所述卡的非易失性EEPROM型存儲器中。
這樣的程序PRG是一個(gè)計(jì)算機(jī)數(shù)據(jù)集,例如限定可以由卡執(zhí)行的指令集。以Java高級語言寫的應(yīng)用程序,稱為Java的程序,即是這種情況。在一個(gè)例子中,這些是允許在象ATM卡一樣的情況下存取服務(wù)的程序,或這允許卡實(shí)現(xiàn)電子錢包應(yīng)用的程序。程序PRG的大小可以改變。但本發(fā)明特別在大約2KB或大于2KB的大程序情況下占優(yōu)勢,例如8KB或甚至64KB,它的實(shí)際載入時(shí)間大于5秒。
在本說明書中描述的示例性實(shí)施例中,程序PRG從一個(gè)或多個(gè)發(fā)送閱讀器EM1、……、EMj、……、EMp中載入計(jì)算機(jī)程序到卡的存儲器EEPROM中,其中p為大于等于1的自然數(shù),每一個(gè)發(fā)送裝置具有該程序的一份拷貝、或者能在操作員的控制之下,從有關(guān)服務(wù)器中獲得一份這樣的拷貝。
為了程序的載入,本發(fā)明把該程序被分成n塊BLK1、……、BLKi、……、BLKn,n為嚴(yán)格大于1的自然數(shù);優(yōu)點(diǎn)是全部塊BLKi均有類型的大小,他大約于作為寫入緩沖中存儲器和調(diào)用緩沖中存儲器保留的存儲器RAM的空間相當(dāng)。
例如,2KB的計(jì)算機(jī)程序可以被分成每塊約為256字節(jié)的八個(gè)塊BLK1、……、BLK8。
該卡可以是或可以不是處于載入狀態(tài),即等待程序PRG載入的狀態(tài)。
當(dāng)卡處于載入狀態(tài)時(shí),位于存儲器EEPROM中卡的存儲區(qū)FLG用諸如二進(jìn)制數(shù)據(jù)寫入,并指示所述狀態(tài)為FLG=Y。否則FLG=N。
當(dāng)卡進(jìn)入到發(fā)送裝置EM1的有效電磁通訊場時(shí),在所述卡和所述的發(fā)送裝置EM1之間建立非接觸的對話,在這一對話期間,如果在卡最初處于非載入狀態(tài)FLG=N時(shí)做出載入決定,則確認(rèn)或者改變卡的載入狀態(tài)。
如果FLG=Y并且程序PRG的載入沒有開始,則指示卡應(yīng)該接收的塊BLKi的第n塊的信息塊I(n)由發(fā)送器EM1發(fā)送給所述卡。
這個(gè)指示I(n)被卡接收,具體講,接收到塊BLK1,I(n)和BLK1構(gòu)成的組首先被存儲在卡的緩沖存儲器中,然后由中央處理器進(jìn)行檢索并在用作計(jì)數(shù)器的存儲區(qū)域COUNT存儲從這個(gè)指示I(n)中導(dǎo)出的指示I(n),或者指示I’(n)。同樣,塊BLK1被存儲在非易失性存儲器EEPROM中的規(guī)定地址處,例如ADD1處。當(dāng)塊BLK1被存儲在地址ADD1處時(shí),計(jì)算存儲器COUNT遞減到COUNT=n-1,它指示還剩有n-1個(gè)塊需要載入。
如果發(fā)送裝置EM1和卡之間的對話不中斷,則接收塊BLK2,并存儲于緩沖存儲器中,然后特別地存儲在EEPROM中緊跟ADD1的地址ADD2處,并接著把計(jì)數(shù)器COUNT再遞減成COUNT=n-2。同樣處理BLKi直到BLKn的每一個(gè)。
然而,如果發(fā)送裝置EM1和卡之間的對話中斷,例如在卡離開發(fā)送器的有效電磁場的情況下,塊BLK的載入被中斷,而卡仍然處于載入狀態(tài)的FLG=Y。
然后卡進(jìn)入新的發(fā)送器EMj場是必然的,在新的發(fā)送其中,為了再繼續(xù)載入,或者為了卡再繼續(xù)進(jìn)入發(fā)送器EM1的場,也有被分成塊BLK1、……、BLKi、……、BLKn的程序的一份拷貝。這個(gè)新的發(fā)送器EMj可以是發(fā)送器EM1。
然后EMj詢問卡,問它是否處于載入狀態(tài)??ǜ鶕?jù)COUNT=I-1的事實(shí)回答說有I-1塊已經(jīng)被載入。
然后用這個(gè)新的發(fā)送器EMj,再繼續(xù)載入塊BLKi并且繼續(xù)載入直到塊BLKn,除非卡需要進(jìn)入一個(gè)新的發(fā)送器EMj的場而引起新的中斷。
當(dāng)塊BLKn被載入后,計(jì)算器處于零狀態(tài)COUNT=0。然后卡被置于非載入狀態(tài)FLG=N。
因此,無論什么樣長度的程序PRG被載入,在與載入塊的計(jì)數(shù)相連的塊BLKi中的載入使得,特別地在非接觸的卡的情況下,不中斷要求程序從開始重新載入的卡與發(fā)送裝置之間對話地載入一個(gè)完整的程序是可行的。
權(quán)利要求
1.從一個(gè)或多個(gè)發(fā)送裝置EM1、……、EMj、……、EMp載入計(jì)算機(jī)程序到具有非接觸操作方式的便攜式存儲器物件特別是芯片卡的方法,p為大于等于1的整數(shù),其特征在于該方法包括以下步驟,在其中-計(jì)算機(jī)程序被分成n個(gè)塊BLK1、……、BLKi、……、BLKn,n為大于等于1的整數(shù);-指示將要被載入的塊數(shù)n的信息I(n)段被發(fā)送給便攜式物件;-塊BLK1、……、BLKi、……、BLKn以非接觸方式載入便攜式物件的存儲器中;-在一個(gè)塊載入期間,塊BLK1、……、BLKi、……、BLKn的載入被中斷;-塊載入再繼續(xù)開始;以及-每一個(gè)被載入的塊BLKi在便攜式物件中被計(jì)數(shù)。
2.如權(quán)利要求1所述的方法,其特征在于它也包括一個(gè)步驟,在該步驟中-在塊BLKi載入期間,塊的載入中斷;-塊載入從塊BLKi再繼續(xù)開始。
3.如前面的權(quán)利要求中的任何一個(gè)所述的方法,其特征在于它還包括一個(gè)步驟,在該步驟中-便攜式物件中的裝置FLG把便攜式物件的載入狀態(tài)FLG=Y或非載入狀態(tài)FLG=N指示給發(fā)送裝置Emj。
4.如權(quán)利要求2和3所述的方法,其特征在于它也包括下列步驟,在其中-在塊BLKi再繼續(xù)載入之前,確認(rèn)便攜式物件的載入或非載入狀態(tài)。
全文摘要
本發(fā)明涉及將計(jì)算機(jī)程序從一個(gè)或多個(gè)發(fā)送裝置EM1、……、EMj、……、EMp載入計(jì)算機(jī)程序到具有非接觸操作方式的便攜式存儲器物件,特別是芯片卡的方法,p為大干等于1的整數(shù),其特征在于它包括以下步驟,在其中:分計(jì)算機(jī)程序?yàn)閚塊BLK1、……、BLKi、……、BLkn,n為大于等于1的整數(shù);發(fā)送代表將要被載入的塊數(shù)n的信息I(n)給便攜式物件;把塊BLK1、……、BLKi、……、BLKn載入便攜式物件的存儲器中;計(jì)數(shù)每一個(gè)被載入便攜式物件中的塊BLKi,在重載期間重新從上一塊開始,避免從頭開始。本發(fā)明在載程序進(jìn)入操作于非接觸方式的卡中時(shí)特別有用。
文檔編號G06K19/073GK1292132SQ9980324
公開日2001年4月18日 申請日期1999年2月18日 優(yōu)先權(quán)日1998年2月23日
發(fā)明者費(fèi)邊·瑟里特 申請人:施藍(lán)姆伯格系統(tǒng)公司