對(duì)相關(guān)申請(qǐng)案的交叉參考
本申請(qǐng)案主張2014年9月22日向美國專利局申請(qǐng)的美國非臨時(shí)申請(qǐng)案第14/493,306號(hào)的優(yōu)先權(quán)和權(quán)利,所述申請(qǐng)案的全部內(nèi)容以引用的方式并入本文中。
本發(fā)明大體上涉及檢測與非高速緩沖存儲(chǔ)(do-not-cache)攻擊相關(guān)聯(lián)的惡意代碼。
背景技術(shù):
許多計(jì)算環(huán)境包含直接從ram提取一或多個(gè)指令的指令。這些指令不存儲(chǔ)于第二階(l2)高速緩沖存儲(chǔ)器中,而是替代地直接被復(fù)制到較小且較快的第一階(l1)指令高速緩沖存儲(chǔ)器中。通常,繞過l2高速緩沖存儲(chǔ)器為善意操作。然而,在不存取l2高速緩沖存儲(chǔ)器的情況下執(zhí)行代碼的能力可允許敵人用不使用l2高速緩沖存儲(chǔ)器的惡意/損毀代碼替換使用l2高速緩沖存儲(chǔ)器的無害代碼而此替換不被發(fā)現(xiàn)。舉例來說,如果整個(gè)惡意代碼適應(yīng)l1高速緩沖存儲(chǔ)器,那么惡意代碼可隱藏其存在而不被掃描/檢測軟件發(fā)現(xiàn)。
因此,需要檢測隱藏于第一階指令高速緩沖存儲(chǔ)器中的惡意代碼的能力。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一方面可在于一種集成電路,其包括:處理器;第一階指令高速緩沖存儲(chǔ)器,其具有第一存儲(chǔ)容量;和第二階高速緩沖存儲(chǔ)器,其具有大于所述第一存儲(chǔ)容量的第二存儲(chǔ)容量。所述第一階指令高速緩沖存儲(chǔ)器耦合于所述處理器與所述第二階高速緩沖存儲(chǔ)器之間,且經(jīng)配置以存儲(chǔ)所述第二階高速緩沖存儲(chǔ)器中所存儲(chǔ)的指令的子集。所述第二階高速緩沖存儲(chǔ)器耦合于所述第一階指令高速緩沖存儲(chǔ)器與外部存儲(chǔ)器之間,且經(jīng)配置以存儲(chǔ)所述外部存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)和指令的子集。所述處理器經(jīng)配置以執(zhí)行檢測例程的內(nèi)部循環(huán),且監(jiān)測所述內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測所述第一階指令高速緩沖存儲(chǔ)器中的惡意代碼。檢測例程指令的總數(shù)大于所述第一存儲(chǔ)容量。在執(zhí)行期間,所述內(nèi)部循環(huán)需要從所述第二階高速緩沖存儲(chǔ)器提取檢測例程指令,且在所述內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于所述第一存儲(chǔ)容量。
在本發(fā)明的更詳細(xì)方面中,所述執(zhí)行數(shù)目可顯著小于所述第一存儲(chǔ)容量。所述檢測例程指令可包括一系列類似函數(shù),且所述系列類似函數(shù)中的至少兩個(gè)函數(shù)可為不同的。在執(zhí)行期間,所述檢測例程的所述內(nèi)部循環(huán)可包含基于在所述檢測例程的所述執(zhí)行之前未知的至少一個(gè)選擇輸入對(duì)至少一個(gè)檢測例程指令的選擇。
本發(fā)明的另一方面可在于一種方法,其包括:通過處理器執(zhí)行檢測例程的內(nèi)部循環(huán),其中檢測例程指令的總數(shù)大于第一階指令高速緩沖存儲(chǔ)器的第一存儲(chǔ)容量;和在所述內(nèi)部循環(huán)正在執(zhí)行時(shí)從具有第二存儲(chǔ)容量的第二階高速緩沖存儲(chǔ)器提取檢測例程指令,所述第二階高速緩沖存儲(chǔ)器用于存儲(chǔ)外部存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)和指令的子集,其中在所述內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于所述第一存儲(chǔ)容量;且通過所述處理器監(jiān)測所述內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測所述第一階指令高速緩沖存儲(chǔ)器中的惡意代碼。
本發(fā)明的另一方面可在于一種集成電路,其包括:用于執(zhí)行檢測例程的內(nèi)部循環(huán)的裝置,其中檢測例程指令的總數(shù)大于第一階指令高速緩沖存儲(chǔ)器的第一存儲(chǔ)容量;用于在所述內(nèi)部循環(huán)正在執(zhí)行時(shí)從具有第二存儲(chǔ)容量的第二階高速緩沖存儲(chǔ)器提取檢測例程指令的裝置,所述第二階高速緩沖存儲(chǔ)器用于存儲(chǔ)外部存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)和指令的子集,其中在所述內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于所述第一存儲(chǔ)容量;和用于監(jiān)測所述內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測所述第一階指令高速緩沖存儲(chǔ)器中的惡意代碼的裝置。
本發(fā)明的另一方面可在于一種計(jì)算機(jī)程序產(chǎn)品,其包括:計(jì)算機(jī)可讀媒體,其包括:用于使計(jì)算機(jī)執(zhí)行檢測例程的內(nèi)部循環(huán)的代碼,其中檢測例程指令的總數(shù)大于第一階指令高速緩沖存儲(chǔ)器的第一存儲(chǔ)容量,其中在執(zhí)行期間所述內(nèi)部循環(huán)需要從具有第二存儲(chǔ)容量的第二階高速緩沖存儲(chǔ)器提取檢測例程指令,所述第二階高速緩沖存儲(chǔ)器用于存儲(chǔ)外部存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)和指令的子集,且其中在所述內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于所述第一存儲(chǔ)容量;和用于使所述計(jì)算機(jī)監(jiān)測所述內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測所述第一階指令高速緩沖存儲(chǔ)器中的惡意代碼的代碼。
附圖說明
圖1為無線通信系統(tǒng)的實(shí)例的框圖。
圖2為根據(jù)本發(fā)明的方面的用于實(shí)施用于檢測第一階指令高速緩沖存儲(chǔ)器中的惡意代碼的技術(shù)的集成電路的框圖。
圖3為根據(jù)本發(fā)明的方面的檢測例程的流程圖。
圖4為根據(jù)本發(fā)明的方面的用于檢測第一階指令高速緩沖存儲(chǔ)器中的惡意代碼的方法的流程圖。
圖5為包含處理器和存儲(chǔ)器的計(jì)算機(jī)的框圖。
具體實(shí)施方式
詞語“示例性”在本文中用以意謂“充當(dāng)實(shí)例、例子或說明”。本文中描述為“示例性”的任何實(shí)施例不必解釋為比其它實(shí)施例優(yōu)選或更有利。
參看圖2和3,本發(fā)明的一方面可在于集成電路210,其包括:處理器220、具有第一存儲(chǔ)容量的第一階指令高速緩沖存儲(chǔ)器230和具有大于第一存儲(chǔ)容量的第二存儲(chǔ)容量的第二階高速緩沖存儲(chǔ)器240。第一階指令高速緩沖存儲(chǔ)器耦合于處理器與第二階高速緩沖存儲(chǔ)器之間,且經(jīng)配置以存儲(chǔ)第二階高速緩沖存儲(chǔ)器中所存儲(chǔ)的指令的子集。第二階高速緩沖存儲(chǔ)器耦合于第一階指令高速緩沖存儲(chǔ)器與外部存儲(chǔ)器250之間,且經(jīng)配置以存儲(chǔ)外部存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)和指令的子集。處理器經(jīng)配置以執(zhí)行檢測例程300的內(nèi)部循環(huán)310,且監(jiān)測內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測第一階指令高速緩沖存儲(chǔ)器中的惡意代碼。檢測例程指令的總數(shù)大于第一存儲(chǔ)容量。在執(zhí)行期間,內(nèi)部循環(huán)需要從第二階高速緩沖存儲(chǔ)器提取檢測例程指令,且在內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于第一存儲(chǔ)容量。
在本發(fā)明的更詳細(xì)方面中,執(zhí)行數(shù)目可顯著小于第一存儲(chǔ)容量。檢測例程指令可包括一系列類似函數(shù),且所述系列類似函數(shù)中的至少兩個(gè)函數(shù)可為不同的。在執(zhí)行期間,檢測例程300的內(nèi)部循環(huán)310可包含基于在檢測例程的執(zhí)行之前未知的至少一個(gè)選擇輸入對(duì)至少一個(gè)檢測例程指令的選擇。第一階指令高速緩沖存儲(chǔ)器可包括4千字節(jié),且執(zhí)行數(shù)目可包括16。
進(jìn)一步參看圖1和5,遠(yuǎn)程站102可包括:包含處理器510(例如,集成電路210中的處理器220)、存儲(chǔ)媒體520(例如,存儲(chǔ)器250和/或磁盤驅(qū)動(dòng)器)的計(jì)算機(jī)500、顯示器530和例如小鍵盤的輸入裝置540以及無線連接550(例如,wi-fi連接和/或蜂窩式連接)。
進(jìn)一步參看圖4,本發(fā)明的另一方面可在于方法400,其包括:通過處理器220執(zhí)行檢測例程300的內(nèi)部循環(huán)310(步驟410)。檢測例程指令的總數(shù)大于第一階指令高速緩沖存儲(chǔ)器230的第一存儲(chǔ)容量。在內(nèi)部循環(huán)正在執(zhí)行時(shí),從具有第二存儲(chǔ)容量的第二階高速緩沖存儲(chǔ)器240提取檢測例程指令,所述第二階高速緩沖存儲(chǔ)器用于存儲(chǔ)外部存儲(chǔ)器250中所存儲(chǔ)的數(shù)據(jù)和指令的子集。在內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于第一存儲(chǔ)容量。所述方法進(jìn)一步包含通過處理器監(jiān)測內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測第一階指令高速緩沖存儲(chǔ)器中的惡意代碼(步驟420)。
本發(fā)明的另一方面可在于集成電路210,其包括:用于執(zhí)行檢測例程300的內(nèi)部循環(huán)310的裝置(例如,220、510),其中檢測例程指令的總數(shù)大于第一階指令高速緩沖存儲(chǔ)器230的第一存儲(chǔ)容量;用于在內(nèi)部循環(huán)正在執(zhí)行時(shí)從具有第二存儲(chǔ)容量的第二階高速緩沖存儲(chǔ)器240提取檢測例程指令的裝置(例如,220、510),所述第二階高速緩沖存儲(chǔ)器用于存儲(chǔ)外部存儲(chǔ)器250中所存儲(chǔ)的數(shù)據(jù)和指令的子集,且其中在內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于第一存儲(chǔ)容量;和用于監(jiān)測內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測第一階指令高速緩沖存儲(chǔ)器中的惡意代碼的裝置(例如,220、510)。
本發(fā)明的另一方面可在于計(jì)算機(jī)程序產(chǎn)品,其包括:計(jì)算機(jī)可讀媒體(例如,250、520),其包括:用于使計(jì)算機(jī)執(zhí)行檢測例程300的內(nèi)部循環(huán)310的代碼,其中檢測例程指令的總數(shù)大于第一階指令高速緩沖存儲(chǔ)器230的第一存儲(chǔ)容量,其中在執(zhí)行期間內(nèi)部循環(huán)需要從具有第二存儲(chǔ)容量的第二階高速緩沖存儲(chǔ)器240提取檢測例程指令,所述第二階高速緩沖存儲(chǔ)器用于存儲(chǔ)外部存儲(chǔ)器250中所存儲(chǔ)的數(shù)據(jù)和指令的子集,且其中在內(nèi)部循環(huán)的執(zhí)行期間執(zhí)行的指令的執(zhí)行數(shù)目小于第一存儲(chǔ)容量;和用于使計(jì)算機(jī)監(jiān)測內(nèi)部循環(huán)的執(zhí)行時(shí)間以檢測第一階指令高速緩沖存儲(chǔ)器中的惡意代碼的代碼。
本發(fā)明的一方面涉及使用善意/誠信代碼,即檢測例程300,其防止惡意的非高速緩沖存儲(chǔ)代碼適應(yīng)l1高速緩沖存儲(chǔ)器230且快速執(zhí)行(例如,1.6毫秒)。出于可用性和安全性兩個(gè)目的,快速執(zhí)行對(duì)于基于軟件的認(rèn)證(sba)是合乎需要的。善意代碼具有以下特征:1)善意代碼的內(nèi)部循環(huán)310為大型的,意謂其并不適應(yīng)l1高速緩沖存儲(chǔ)器,且因此,執(zhí)行內(nèi)部循環(huán)需要從l2高速緩沖存儲(chǔ)器240或ram/次要存儲(chǔ)器提取代碼;和2)經(jīng)執(zhí)行以用于內(nèi)部循環(huán)的一個(gè)反復(fù)的指令的數(shù)目遠(yuǎn)小于適應(yīng)l1高速緩沖存儲(chǔ)器的指令的數(shù)目。
這是通過使用具有善意代碼的廣泛分支而獲得,其中分支的一些部分引起l1高速緩沖存儲(chǔ)器未命中,這是因?yàn)榭刹娉龇种У絻?nèi)部循環(huán)310內(nèi)的所有代碼無法適應(yīng)l1高速緩沖存儲(chǔ)器230。只要不同分支含有充分不同的代碼(例如,不同操作或位移)而不引起與解壓縮相關(guān)的延遲,善意代碼便無法以適應(yīng)l1高速緩沖存儲(chǔ)器的方式壓縮或表示。因此,嘗試執(zhí)行相同計(jì)算任務(wù)的惡意代碼將歸因于解壓縮而耗費(fèi)顯著較長時(shí)間來執(zhí)行或歸因于高速緩沖存儲(chǔ)器未命中而耗費(fèi)較長時(shí)間來執(zhí)行。這是因?yàn)樯埔獯a可存儲(chǔ)于l1高速緩沖存儲(chǔ)器和l2高速緩沖存儲(chǔ)器兩者中,其中當(dāng)存在l1高速緩沖存儲(chǔ)器未命中時(shí),事物從l2加載到l1;然而,惡意代碼希望避免使用l2,且任何l1高速緩沖存儲(chǔ)器未命中將因此導(dǎo)致解壓縮(其耗費(fèi)長時(shí)間)或從dram或其它慢速存儲(chǔ)器提取數(shù)據(jù)(其也耗費(fèi)長時(shí)間。)此結(jié)構(gòu)與其它管線/提取失敗結(jié)構(gòu)的組合保證非高速緩沖存儲(chǔ)攻擊無法在不被檢測到的情況下進(jìn)行。
善意代碼的實(shí)例可包含一系列類似(或等效)但不同的函數(shù)(異或(xor)、位旋轉(zhuǎn)、相加和交換等),所述函數(shù)可需要6千字節(jié),而l1指令高速緩沖存儲(chǔ)器的容量可為4千字節(jié),即,善意代碼可為l1指令高速緩沖存儲(chǔ)器的大小的大約150%。善意代碼可僅執(zhí)行(例如)16個(gè)步驟,但在每一步驟,其基于條件1、2…n(其為未知的直到執(zhí)行期間)而不可預(yù)測地選擇新函數(shù)(例如,f1、f2…fn)。因此,在每一步驟,存在高速緩沖存儲(chǔ)器未命中的改變,其無法由惡意的非高速緩沖存儲(chǔ)代碼預(yù)測/避免。對(duì)于善意代碼,高速緩沖存儲(chǔ)器未命中將引起較小延遲,這是因?yàn)橛糜谛潞瘮?shù)的代碼是從l2高速緩沖存儲(chǔ)器存取(或分頁)。然而,在存在惡意的非高速緩沖存儲(chǔ)代碼的情況下的高速緩沖存儲(chǔ)器未命中將引起對(duì)外部存儲(chǔ)器250(例如,ram或次要存儲(chǔ)器(例如,磁盤驅(qū)動(dòng)器或其類似者))的存取,其耗費(fèi)更長時(shí)間來存取。因此,歸因于更長執(zhí)行時(shí)間的延遲允許檢測惡意代碼的存在。
每一函數(shù)可包括操作和操作數(shù),例如xor3076或andz。第一階高速緩沖存儲(chǔ)器也可包含l1數(shù)據(jù)高速緩沖存儲(chǔ)器260。
檢測例程300的善意代碼也可包含共同指令以加載具有在執(zhí)行階段已知的內(nèi)容的寄存器(步驟320)。視情況,寄存器內(nèi)容可包含處理寄存器內(nèi)容的步驟(步驟330)。共同代碼可包含跳轉(zhuǎn)指令,所述跳轉(zhuǎn)指令叉出分支到基于寄存器內(nèi)容或狀態(tài)的位置或代碼路徑(步驟340)。每一代碼路徑可包括另外6個(gè)字節(jié)的序列(350、360…),包含到共同部分的開始的跳轉(zhuǎn)370。共同部分可包含到退出循環(huán)310的分支的繼續(xù)步驟(步驟380)或在完成后返回(步驟390)。因此,在此實(shí)例中,可存在1000個(gè)分支路徑,每一者為6字節(jié)長,從而產(chǎn)生用于檢測例程的大約6千字節(jié)。共同代碼可包括大約10字節(jié)。
所揭示的技術(shù)抵制繞過l2高速緩沖存儲(chǔ)器的攻擊,且直接應(yīng)用于作用中惡意代碼的檢測(包含作用中行動(dòng)惡意代碼)。作為一實(shí)例,駐存于存儲(chǔ)器250和l1指令高速緩沖存儲(chǔ)器230中但不駐存于l2高速緩沖存儲(chǔ)器240中的惡意代碼可計(jì)算關(guān)于駐存在l2高速緩沖存儲(chǔ)器中的無害或誠信代碼的檢查和,且返回所述檢查和以避免檢測。通過迫使惡意代碼駐存于l2高速緩沖存儲(chǔ)器中(從檢查和檢測)或引起顯著延遲的存儲(chǔ)器(如果其運(yùn)行)中(從執(zhí)行時(shí)間檢測),那么惡意代碼無法隱藏。
前述描述也適用于具有兩個(gè)以上階層的高速緩沖存儲(chǔ)器階層構(gòu)架,或更一般來說,適用于具有三個(gè)以上階層的存儲(chǔ)器階層構(gòu)架,且其中善意代碼經(jīng)配置以使用可用階層的子集,且目標(biāo)為檢測惡意代碼是否使用可用階層的另一集合。
參看圖1,無線遠(yuǎn)程站(rs)102可與無線通信系統(tǒng)100的一或多個(gè)基站(bs)104通信。rs可為移動(dòng)站。無線通信系統(tǒng)100可進(jìn)一步包含一或多個(gè)基站控制器(bsc)106,以及核心網(wǎng)絡(luò)108。核心網(wǎng)絡(luò)可經(jīng)由合適回程連接到因特網(wǎng)110和公共交換電話網(wǎng)絡(luò)(pstn)112。典型無線移動(dòng)站可包含手持型電話或膝上型計(jì)算機(jī)。無線通信系統(tǒng)100可使用多種多址接入技術(shù)中的任一者,例如碼分多址接入(cdma)、時(shí)分多址接入(tdma)、頻分多址接入(fdma)、空分多址接入(sdma)、極化分集多址接入(polarizationdivisionmultipleaccess,pdma)或所述領(lǐng)域中已知的其它調(diào)制技術(shù)。
所述領(lǐng)域中的技術(shù)人員將理解,可使用多種不同技藝和技術(shù)中的任一者表示信息和信號(hào)。舉例來說,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合表示貫穿以上描述所參考的數(shù)據(jù)、指令、命令、信息、信號(hào)、位、符號(hào)和碼片。
所述領(lǐng)域中的技術(shù)人員將進(jìn)一步了解,結(jié)合本文中所揭示的實(shí)施例而描述的各種說明性邏輯塊、模塊、電路和算法步驟可經(jīng)實(shí)施為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清楚地說明硬件與軟件的此可互換性,上文已大體上在功能性方面描述了各種說明性組件、塊、模塊、電路和步驟。將此功能性實(shí)施為硬件抑或軟件取決于特定應(yīng)用和強(qiáng)加于整個(gè)系統(tǒng)上的設(shè)計(jì)約束。所述領(lǐng)域中的技術(shù)人員可針對(duì)每一特定應(yīng)用以變化的方式實(shí)施所描述功能性,但這些實(shí)施決策不應(yīng)被解譯為造成對(duì)本發(fā)明的范圍的脫離。
可通過通用處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件或其經(jīng)設(shè)計(jì)以執(zhí)行本文中所描述的功能的任何組合來實(shí)施或執(zhí)行結(jié)合本文所揭示的實(shí)施例而描述的各種說明性邏輯塊、模塊和電路。通用處理器可為微處理器,但在替代例中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機(jī)。處理器也可實(shí)施為計(jì)算裝置的組合,例如,dsp與微處理器的組合、多個(gè)微處理器、結(jié)合dsp核心的一或多個(gè)微處理器,或任一其它此類配置。
結(jié)合本文中所揭示的實(shí)施例而描述的方法或算法的步驟可直接體現(xiàn)于硬件中、由處理器執(zhí)行的軟件模塊中,或兩者的組合中。軟件模塊可駐存于ram存儲(chǔ)器、快閃存儲(chǔ)器、rom存儲(chǔ)器、eprom存儲(chǔ)器、eeprom存儲(chǔ)器、寄存器、硬盤、可移動(dòng)磁盤、cd-rom,或所述領(lǐng)域中已知的任何其它形式的存儲(chǔ)媒體中。示例性存儲(chǔ)媒體耦合到處理器,使得處理器可從存儲(chǔ)媒體讀取信息和將信息寫入到存儲(chǔ)媒體。在替代例中,存儲(chǔ)媒體可集成到處理器。處理器和存儲(chǔ)媒體可駐留于asic中。asic可駐留于用戶終端中。在替代例中,處理器和存儲(chǔ)媒體可作為離散組件駐留于用戶終端中。
在一或多個(gè)示例性實(shí)施例中,可以硬件、軟件、固件或其任何組合來實(shí)施所描述的功能。如果作為計(jì)算機(jī)程序產(chǎn)品而以軟件來實(shí)施,那么所述功能可作為一或多個(gè)指令或代碼而存儲(chǔ)于計(jì)算機(jī)可讀媒體上或經(jīng)由計(jì)算機(jī)可讀媒體傳輸。計(jì)算機(jī)可讀媒體包含非暫時(shí)性計(jì)算機(jī)存儲(chǔ)媒體以及包含促進(jìn)將計(jì)算機(jī)程序從一處傳送到另一處的任何媒體的通信媒體兩者。存儲(chǔ)媒體可為可由計(jì)算機(jī)存取的任何可用媒體。通過實(shí)例且并非限制,這些計(jì)算機(jī)可讀媒體可包括ram、rom、eeprom、cd-rom或其它光盤存儲(chǔ)器、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)裝置,或可用以攜載或存儲(chǔ)呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要代碼且可由計(jì)算機(jī)存取的任何其它媒體。此外,將任何連接適當(dāng)?shù)胤Q為計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數(shù)字用戶線(dsl)或例如紅外線、無線電和微波的無線技術(shù)而從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸軟件,那么同軸纜線、光纖纜線、雙絞線、dsl或例如紅外線、無線電和微波的無線技術(shù)包含于媒體的定義中。如本文中所使用,磁盤和光盤包含光盤(cd)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(dvd)、軟盤和藍(lán)光光盤,其中磁盤通常以磁性方式再生數(shù)據(jù),而光盤通過激光以光學(xué)方式再生數(shù)據(jù)。以上各物的組合也應(yīng)包含于計(jì)算機(jī)可讀媒體的范圍內(nèi)。
提供所揭示的實(shí)施例的先前描述以使任何所述領(lǐng)域中的技術(shù)人員能夠制作或使用本發(fā)明。對(duì)這些實(shí)施例的各種修改對(duì)于所述領(lǐng)域中的技術(shù)人員來說將容易地顯而易見,且可在不脫離本發(fā)明的精神或范圍的情況下將本文中所界定的一般原理應(yīng)用于其它實(shí)施例。因此,本發(fā)明并不意圖限于本文中所展示的實(shí)施例,而應(yīng)符合與本文中所揭示的原理和新穎特征相一致的最廣泛范圍。