欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

高速緩存保護(hù)的制作方法

文檔序號:7913525閱讀:261來源:國知局
專利名稱:高速緩存保護(hù)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及計(jì)算機(jī)安全,具體地說,涉及保護(hù)計(jì)算機(jī)以防止高速緩存中毒。
背景技術(shù)
許多計(jì)算機(jī)系統(tǒng)采用緩存機(jī)制以增進(jìn)其性能,其中頻繁存取的數(shù)據(jù)的副本存儲(chǔ)在提供快速存取的臨時(shí)存儲(chǔ)區(qū)域,由此降低頻繁從其原始位置取回?cái)?shù)據(jù)所需的存取時(shí)間和/ 或成本。例如,作為超文本傳輸協(xié)議(HTTP)代理服務(wù)器的計(jì)算機(jī)緩存網(wǎng)頁以降低網(wǎng)絡(luò)業(yè)務(wù)及改善等待時(shí)間,而出于同樣理由,用作將聯(lián)網(wǎng)設(shè)備的名稱映射至其數(shù)值網(wǎng)際協(xié)議(IP)地址的域名系統(tǒng)(DNS)解析器的計(jì)算機(jī)緩存設(shè)備名稱-地址映射。然而,使用高速緩存的計(jì)算機(jī)容易受到一種稱為高速緩存中毒的攻擊,在此類攻擊中,嘗試將偽造的表項(xiàng)引入高速緩存。例如,在DNS高速緩存中毒中,在網(wǎng)絡(luò)設(shè)備與其IP 地址之間的緩存映射被改為指向由攻擊者所提供的IP地址,此地址一般包含惡意的內(nèi)容, 例如計(jì)算機(jī)蠕蟲或計(jì)算機(jī)病毒。其后請求網(wǎng)絡(luò)設(shè)備地址的客戶機(jī)將被給與錯(cuò)誤的地址,潛在地使客戶機(jī)暴露于惡意內(nèi)容。不幸的是,在計(jì)算機(jī)維護(hù)由多個(gè)客戶機(jī)共享的高速緩存的情況下,單個(gè)高速緩存中毒實(shí)例可能造成許多受害者上當(dāng)。

發(fā)明內(nèi)容
本發(fā)明的實(shí)施例揭露了用于保護(hù)計(jì)算機(jī)系統(tǒng)免于高速緩存中毒的新穎系統(tǒng)和方法。在本發(fā)明的一個(gè)方面中,提供了一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的系統(tǒng), 所述系統(tǒng)包含高速緩存-實(shí)體表,其用于維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián);以及高速緩存管理器,用于接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)并將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被所述高速緩存_實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi),以及接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求并從所述高速緩存中被所述高速緩存_實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù),其中在計(jì)算機(jī)硬件和包含在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)軟件兩者之一中實(shí)現(xiàn)所述高速緩存_實(shí)體表和所述高速緩存管理器中的任一個(gè)。在本發(fā)明的另一個(gè)方面中,所述系統(tǒng)還包含數(shù)據(jù)請求處理器,用于為所述高速緩存管理器提供所述數(shù)據(jù)中的任何數(shù)據(jù)。在本發(fā)明的又一個(gè)方面中,所述數(shù)據(jù)請求處理器用于從所述實(shí)體中的任一實(shí)體接收所述數(shù)據(jù)請求,并詢問所述高速緩存管理器以判定是否可從所述高速緩存中的任一高速緩存獲取所請求的數(shù)據(jù)。在本發(fā)明的再一個(gè)方面中,所述高速緩存管理器用于識別在至少預(yù)定數(shù)量的所述高速緩存中出現(xiàn)的任何表項(xiàng)、將所述表項(xiàng)從所述高速緩存移動(dòng)至全局高速緩存、以及從所述全局高速緩存取回所請求的數(shù)據(jù)。
在本發(fā)明的另一個(gè)方面中,提供了一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的方法,所述方法包含維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián);接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù);將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi);接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求;以及從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù)。在本發(fā)明的又一個(gè)方面中,提供了一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的方法,所述方法包含維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián);接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù);將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi);識別在至少預(yù)定數(shù)量的所述高速緩存中出現(xiàn)的任何表項(xiàng);將所述表項(xiàng)從所述高速緩存移動(dòng)至全局高速緩存;接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求; 如果所請求的數(shù)據(jù)在所述全局高速緩存中,則從所述全局高速緩存取回所請求的數(shù)據(jù);以及如果所請求的數(shù)據(jù)不在所述全局高速緩存中,則從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù)。在本發(fā)明的再一個(gè)方面中,提供了一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包含計(jì)算機(jī)可讀介質(zhì);以及計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令可操作以維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián);接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù);將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi);識別在至少預(yù)定數(shù)量的所述高速緩存中出現(xiàn)的任何表項(xiàng);將所述表項(xiàng)從所述高速緩存移動(dòng)至全局高速緩存;接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求;如果所請求的數(shù)據(jù)在所述全局高速緩存中,則從所述全局高速緩存取回所請求的數(shù)據(jù);以及如果所請求的數(shù)據(jù)不在所述全局高速緩存中,則從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù),其中所述程序指令存儲(chǔ)在所述計(jì)算機(jī)可讀介質(zhì)中。


從以下結(jié)合附圖的詳細(xì)說明,可更完整地理解和認(rèn)識本發(fā)明,這些附圖是圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例構(gòu)建和操作的用于防止高速緩存中毒的系統(tǒng)的簡化概念圖;圖2是根據(jù)本發(fā)明的實(shí)施例操作的圖1的系統(tǒng)的示意性操作方法的簡化流程圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例構(gòu)建和操作的用于防止高速緩存中毒的系統(tǒng)的簡化概念圖;圖4A、4B及4C是根據(jù)本發(fā)明的實(shí)施例操作的圖3的系統(tǒng)的示意性操作方法的簡化流程圖;以及圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例構(gòu)建和操作的計(jì)算系統(tǒng)的示意性硬件實(shí)施的簡化方塊示意圖。
具體實(shí)施例方式現(xiàn)在在一個(gè)或多個(gè)實(shí)施例的上下文中描述本發(fā)明,然而所述描述僅用于對本發(fā)明進(jìn)行一般性的說明,并且不應(yīng)理解為將本發(fā)明限于所提出的實(shí)施例。將理解,本領(lǐng)域技術(shù)人員可想到各種修改,所述修改雖然在說明書中并未明確提及,但仍在本發(fā)明的范圍之內(nèi)。所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。 因此,本發(fā)明可以具體實(shí)現(xiàn)為以下形式,即可以是完全的硬件、也可以是完全的軟件(包括固件、駐留軟件、微代碼等),還可以是硬件和軟件結(jié)合的形式,本文一般稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明還可以實(shí)現(xiàn)為在任何有形表達(dá)介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該表達(dá)介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。可以使用一種或多種計(jì)算機(jī)可讀或計(jì)算機(jī)可用介質(zhì)的任何組合。所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)例如可以是(但不限于)電子、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)、裝置、設(shè)備或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的更具體的實(shí)例(非窮舉的列表)將包括以下項(xiàng)具有一條或多條線的電連接、便攜式計(jì)算機(jī)軟盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、 可擦寫可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式光盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)設(shè)備、諸如那些支持因特網(wǎng)或內(nèi)聯(lián)網(wǎng)的傳輸介質(zhì)或磁存儲(chǔ)設(shè)備。注意,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)甚至可以是程序被打印在其上的紙張或其他適合的介質(zhì),因?yàn)樗龀绦蚩梢酝ㄟ^例如光掃描所述紙張或其他介質(zhì)被電子地捕獲,然后被編譯、解釋或另外以適合的方式被處理(如果必要),然后被存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。在此文檔的上下文中,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任何能夠包含、存儲(chǔ)、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與指令執(zhí)行系統(tǒng)、裝置或設(shè)備有關(guān)的程序的介質(zhì)。計(jì)算機(jī)可用介質(zhì)可以包括其中包含計(jì)算機(jī)可用程序代碼(在基帶中或作為載波的一部分)的傳播數(shù)據(jù)信號??梢允褂萌魏芜m當(dāng)?shù)慕橘|(zhì)(包括但不限于因特網(wǎng)、線纜、光纖電纜、射頻(RF)或其他裝置)來傳輸計(jì)算機(jī)可用程序代碼。用于執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序代碼,可以以一種或多種編程語言的任何組合來編寫,所述編程語言包括面向?qū)ο蟮木幊陶Z言一諸如Java、Smalltalk, C++之類,還包括常規(guī)的過程式編程語言一諸如”C”編程語言或類似的編程語言。程序代碼可以完全地在用戶的計(jì)算上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶的計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任何種類的網(wǎng)絡(luò)——包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN) — 連接到用戶的計(jì)算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng))連接到外部計(jì)算機(jī)。以下參照按照本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/ 或框圖描述本發(fā)明。要明白的是,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置。也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置的制品。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程?,F(xiàn)在參考圖1,其是根據(jù)本發(fā)明的一個(gè)實(shí)施例構(gòu)建和操作的用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的系統(tǒng)的簡化概念圖。在圖1的系統(tǒng)中,高速緩存管理器100管理多個(gè)高速緩存102、104及106。盡管出于說明目的,僅顯示三個(gè)高速緩存102、104及106,然而高速緩存管理器100可管理任意數(shù)量的高速緩存。高速緩存102、104及106皆用于包含相同類型的數(shù)據(jù),例如每個(gè)高速緩存102、104及106均用于存儲(chǔ)DNS地址映射、網(wǎng)頁、或任何可緩存的其它已知類型的數(shù)據(jù)。除非在此另有描述,否則高速緩存管理器100根據(jù)常規(guī)高速緩存管理技術(shù)管理高速緩存102、104及106中的每一個(gè)。高速緩存管理器100也用于在數(shù)據(jù)存儲(chǔ)設(shè)備上的高速緩存-實(shí)體表180中維護(hù)高速緩存102、104及106中的每一個(gè)高速緩存與一個(gè)實(shí)體之間的關(guān)聯(lián),其中實(shí)體可以是計(jì)算機(jī)用戶、客戶端計(jì)算機(jī)、客戶端軟件應(yīng)用、網(wǎng)絡(luò)、 或高速緩存數(shù)據(jù)的任何其它可識別通道、提供者或接收者、或這類通道、提供者或接收者的任何群組。優(yōu)選地,任何兩個(gè)高速緩存都不關(guān)聯(lián)于同一實(shí)體。數(shù)據(jù)請求處理器110從實(shí)體接收數(shù)據(jù)請求,并詢問高速緩存管理器100以判定是否可從高速緩存獲取所請求的數(shù)據(jù)。高速緩存管理器100識別發(fā)出請求的實(shí)體、判定高速緩存102、104及106中的任一高速緩存是否與該實(shí)體關(guān)聯(lián)、判定是否可從與該實(shí)體關(guān)聯(lián)的高速緩存取回所請求的數(shù)據(jù)、以及從該高速緩存取回所請求的數(shù)據(jù),接著數(shù)據(jù)請求處理器 110將所取回的數(shù)據(jù)提供給該實(shí)體。如果無法從高速緩存獲取所請求的數(shù)據(jù),則數(shù)據(jù)請求處理器110根據(jù)常規(guī)技術(shù)處理該請求。例如,當(dāng)數(shù)據(jù)請求是針對與因特網(wǎng)域關(guān)聯(lián)的網(wǎng)際協(xié)議(IP)地址且無法從高速緩存獲取該地址時(shí),數(shù)據(jù)請求處理器110優(yōu)選地執(zhí)行域名服務(wù) (DNS)地址查找,以確定該域的IP地址。數(shù)據(jù)請求處理器110接著將該地址提供給實(shí)體以及提供給高速緩存管理器100以供緩存,如以下參考圖2描述的。高速緩存102、104及106中的任一高速緩存以及高速緩存-實(shí)體表108優(yōu)選地存儲(chǔ)在一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備上,所述數(shù)據(jù)存儲(chǔ)設(shè)備例如但不限于磁性或光學(xué)數(shù)據(jù)存儲(chǔ)設(shè)備。以上在圖1中示出并且以下在圖2、3、4A、4B、4C及5中示出的任一組件優(yōu)選地由計(jì)算機(jī)12執(zhí)行或可以以其他方式由計(jì)算機(jī)12存取,例如,方式為根據(jù)常規(guī)技術(shù)以計(jì)算機(jī)硬件和/或包含在計(jì)算機(jī)可讀介質(zhì)內(nèi)的計(jì)算機(jī)軟件實(shí)現(xiàn)這些組件中的任何組件?,F(xiàn)在進(jìn)一步參考圖2,其是根據(jù)本發(fā)明的實(shí)施例操作的圖1的系統(tǒng)的示意性操作方法的簡化流程圖。在圖2的方法中,數(shù)據(jù)請求處理器110例如以來自在計(jì)算機(jī)(未示出) 上運(yùn)行的Web瀏覽器應(yīng)用的DNS地址查找請求的形式從實(shí)體接收數(shù)據(jù)請求。數(shù)據(jù)請求處理器110接著詢問高速緩存管理器100以確定數(shù)據(jù)是否在高速緩存中。高速緩存管理器 100例如通過確定連同數(shù)據(jù)請求一同接收的實(shí)體的IP地址來確定該實(shí)體的身分。如果實(shí)體與特定高速緩存關(guān)聯(lián),例如高速緩存管理器100在高速緩存-實(shí)體表108中找到該實(shí)體與特定高速緩存之間的關(guān)聯(lián),則嘗試在與發(fā)出請求的實(shí)體關(guān)聯(lián)的高速緩存中尋找所請求的數(shù)據(jù)。如果在該高速緩存中找到數(shù)據(jù),則數(shù)據(jù)請求處理器110將數(shù)據(jù)提供給發(fā)出請求的實(shí)體。如果實(shí)體未與特定高速緩存關(guān)聯(lián),則高速緩存管理器100優(yōu)選地為此實(shí)體建立高速緩存,并在高速緩存-實(shí)體表108中建立此實(shí)體與新建立的高速緩存之間的關(guān)聯(lián)。數(shù)據(jù)請求處理器110接著根據(jù)常規(guī)技術(shù)處理數(shù)據(jù)請求、將所請求的數(shù)據(jù)提供給發(fā)出請求的實(shí)體、以及將所請求的數(shù)據(jù)提供給高速緩存管理器100,高速緩存管理器100將數(shù)據(jù)存儲(chǔ)在與該實(shí)體關(guān)聯(lián)的高速緩存中。從圖1所示的系統(tǒng)以及圖2所示的方法可了解,與來自實(shí)體“A”的請求關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)在明確與實(shí)體“A”關(guān)聯(lián)的高速緩存中,而與來自實(shí)體“B”的請求關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)在明確與實(shí)體“B”關(guān)聯(lián)的高速緩存中,其中每一高速緩存均與不同的實(shí)體關(guān)聯(lián)。此外,當(dāng)從實(shí)體“A”接收對數(shù)據(jù)的請求時(shí),從與實(shí)體“A”關(guān)聯(lián)的高速緩存取回?cái)?shù)據(jù),而當(dāng)從實(shí)體“B”接收對數(shù)據(jù)的請求時(shí),從與實(shí)體“B”關(guān)聯(lián)的高速緩存取回?cái)?shù)據(jù)。以此方式,與由實(shí)體“A”所做出的數(shù)據(jù)請求有關(guān)的高速緩存中毒嘗試(如果成功的話)只會(huì)影響與實(shí)體“A”關(guān)聯(lián)的高速緩存,而實(shí)體“B”則不受影響。現(xiàn)在參考圖3,其是根據(jù)本發(fā)明的一個(gè)實(shí)施例構(gòu)建和操作的用于防止高速緩存中毒的系統(tǒng)的簡化概念圖。圖3所示的系統(tǒng)基本上類似于圖1所示的系統(tǒng),其明顯差別在于, 高速緩存管理器100除了管理對應(yīng)實(shí)體的高速緩存102、104及106之外,還管理全局高速緩存300。高速緩存管理器100將出現(xiàn)在至少預(yù)定數(shù)量的實(shí)體關(guān)聯(lián)的高速緩存中的任何高速緩存表項(xiàng)從實(shí)體關(guān)聯(lián)的高速緩存102、104及106中的任一個(gè)移至全局高速緩存300。因此,例如,如果高速緩存102、104及106中的每一個(gè)均用于存儲(chǔ)DNS地址映射,且這些高速緩存中的預(yù)定數(shù)量的高速緩存(例如它們中的至少兩個(gè))包含用于w驟.elhitYPzw. com的同一地址映射,則高速緩存管理器100優(yōu)選地將該地址映射從找到表項(xiàng)的實(shí)體關(guān)聯(lián)的高速緩存移至全局高速緩存300?,F(xiàn)在進(jìn)一步參考圖4A、4B及4C,它們是根據(jù)本發(fā)明的一個(gè)實(shí)施例操作的圖3的系統(tǒng)的示意性操作方法的簡化流程圖。圖4A、4B及4C所示的方法基本上類似于圖2所示的方法,其明顯的差別在于,當(dāng)從實(shí)體接收到對數(shù)據(jù)的請求時(shí),高速緩存管理器100在實(shí)體關(guān)聯(lián)的高速緩存中尋找數(shù)據(jù)之前,首先試圖在全局高速緩存300中尋找所請求的數(shù)據(jù),且存儲(chǔ)在至少預(yù)定數(shù)量的實(shí)體關(guān)聯(lián)的高速緩存中的表項(xiàng)優(yōu)選地由高速緩存管理器100移至全局高速緩存300?,F(xiàn)在參考圖5,方塊圖500描述根據(jù)本發(fā)明的一個(gè)實(shí)施例的計(jì)算系統(tǒng)的示意性硬件實(shí)施,其可實(shí)施本發(fā)明的一個(gè)或多個(gè)組件/方法(例如在圖1、2、3、4A、4B及4C的上下文中描述的組件/方法)。如圖所示,可根據(jù)經(jīng)由計(jì)算機(jī)總線518或備選連接布置而耦合的處理器510、存儲(chǔ)器512、I/O設(shè)備514及網(wǎng)絡(luò)接口 516來實(shí)施用于控制對至少一個(gè)資源的存取的技術(shù)。應(yīng)了解,“處理器”一詞在此旨在包含任何處理設(shè)備,例如包含CPU(中央處理單元)和/或其它處理電路的處理設(shè)備。亦應(yīng)了解,“處理器”一詞可指多個(gè)處理設(shè)備,且與一個(gè)處理設(shè)備關(guān)聯(lián)的各種元件可由其它處理設(shè)備共享?!按鎯?chǔ)器”一詞在此旨在包含與處理器或CPU關(guān)聯(lián)的存儲(chǔ)器,例如RAM、R0M、固定存儲(chǔ)設(shè)備(例如硬盤)、可移動(dòng)存儲(chǔ)設(shè)備(例如軟盤)、閃存等。此類存儲(chǔ)器可被視為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
此外,“輸入/輸出裝置”或“I/O設(shè)備”一詞在此旨在包含例如用于輸入數(shù)據(jù)至處理單元的一個(gè)或多個(gè)輸入設(shè)備(例如鍵盤、鼠標(biāo)、掃描儀等等),和/或用于呈現(xiàn)與處理單元關(guān)聯(lián)的結(jié)果的一個(gè)或多個(gè)輸出設(shè)備(例如揚(yáng)聲器、顯示器、打印機(jī)等)。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。雖然在此的方法和裝置可能已經(jīng)或尚未參照特定計(jì)算機(jī)硬件或軟件來描述,但應(yīng)了解,在此所述的方法和裝置可容易地使用常規(guī)技術(shù)在計(jì)算機(jī)硬件或軟件中實(shí)現(xiàn)。雖然已參考一個(gè)或多個(gè)特定實(shí)施例描述本發(fā)明,然而所述描述僅用于對本發(fā)明進(jìn)行一般性的說明,并且不應(yīng)理解為將本發(fā)明限于所提出的實(shí)施例。將理解,本領(lǐng)域技術(shù)人員可想到各種修改,所述修改雖然在說明書中并未明確提及,但仍在本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的系統(tǒng),所述系統(tǒng)包含高速緩存-實(shí)體表,其用于維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián);以及高速緩存管理器,用于接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù),并將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被所述高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi);以及接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求,并從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù),其中在計(jì)算機(jī)硬件和包含在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)軟件兩者之一中實(shí)現(xiàn)所述高速緩存-實(shí)體表和所述高速緩存管理器中的任一個(gè)。
2.如權(quán)利要求1所述的系統(tǒng),還包含數(shù)據(jù)請求處理器,用于為所述高速緩存管理器提供所述數(shù)據(jù)中的任何數(shù)據(jù)。
3.如權(quán)利要求2所述的系統(tǒng),其中所述數(shù)據(jù)請求處理器用于從所述實(shí)體中的任一實(shí)體接收所述數(shù)據(jù)請求,并詢問所述高速緩存管理器以判定是否可從所述高速緩存中的任一高速緩存獲取所請求的數(shù)據(jù)。
4.如權(quán)利要求1所述的系統(tǒng),其中所述高速緩存管理器用于識別在至少預(yù)定數(shù)量的所述高速緩存中出現(xiàn)的任何表項(xiàng)、將所述表項(xiàng)從所述高速緩存移動(dòng)至全局高速緩存、以及從所述全局高速緩存取回所請求的數(shù)據(jù)。
5.一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的方法,所述方法包含維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián); 接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù);將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi);接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求;以及從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù)。
6.一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的方法,所述方法包含維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián); 接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù);將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi);識別在至少預(yù)定數(shù)量的所述高速緩存中出現(xiàn)的任何表項(xiàng); 將所述表項(xiàng)從所述高速緩存移動(dòng)至全局高速緩存; 接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求;如果所請求的數(shù)據(jù)在所述全局高速緩存中,則從所述全局高速緩存取回所請求的數(shù)據(jù);以及如果所請求的數(shù)據(jù)不在所述全局高速緩存中,則從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù)。
7. 一種用于保護(hù)計(jì)算機(jī)免于高速緩存中毒的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包含計(jì)算機(jī)可讀介質(zhì);以及計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令可操作以維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián); 接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù);將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi);識別在至少預(yù)定數(shù)量的所述高速緩存中出現(xiàn)的任何表項(xiàng); 將所述表項(xiàng)從所述高速緩存移動(dòng)至全局高速緩存; 接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求;如果所請求的數(shù)據(jù)在所述全局高速緩存中,則從所述全局高速緩存取回所請求的數(shù)據(jù);以及如果所請求的數(shù)據(jù)不在所述全局高速緩存中,則從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù),其中所述程序指令存儲(chǔ)在所述計(jì)算機(jī)可讀介質(zhì)中。
全文摘要
保護(hù)計(jì)算機(jī)免于高速緩存中毒,包含高速緩存-實(shí)體表,其用于維護(hù)多個(gè)數(shù)據(jù)高速緩存與多個(gè)實(shí)體之間的多個(gè)關(guān)聯(lián),其中所述高速緩存中的每個(gè)高速緩存均與所述實(shí)體中的一個(gè)不同實(shí)體關(guān)聯(lián);以及高速緩存管理器,用于接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù),并將所接收的數(shù)據(jù)存儲(chǔ)在所述高速緩存中被所述高速緩存-實(shí)體表指示為與該實(shí)體關(guān)聯(lián)的任一高速緩存內(nèi),以及接收與所述實(shí)體中的任一實(shí)體關(guān)聯(lián)的數(shù)據(jù)請求,并從所述高速緩存中被所述高速緩存-實(shí)體表指示為與發(fā)出請求的實(shí)體關(guān)聯(lián)的任一高速緩存取回所請求的數(shù)據(jù),其中在計(jì)算機(jī)硬件和包含在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)軟件兩者之一中實(shí)現(xiàn)所述高速緩存-實(shí)體表和所述高速緩存管理器中的任一個(gè)。
文檔編號H04L29/06GK102484647SQ201080040699
公開日2012年5月30日 申請日期2010年8月31日 優(yōu)先權(quán)日2009年9月14日
發(fā)明者A·沙拉巴尼, R·黑 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
鹰潭市| 东台市| 常宁市| 容城县| 五原县| 平谷区| 神农架林区| 武山县| 龙胜| 金坛市| 溆浦县| 疏勒县| 托克托县| 泽库县| 蕲春县| 马尔康县| 二手房| 大方县| 灵石县| 西昌市| 北碚区| 上犹县| 保山市| 海伦市| 巫溪县| 祁连县| 昌都县| 临夏市| 郴州市| 远安县| 宁蒗| 崇礼县| 西贡区| 温宿县| 富顺县| 湘西| 黑龙江省| 佛山市| 松滋市| 湖口县| 伊川县|