專(zhuān)利名稱(chēng):用于諸如硬件設(shè)備的資源的選擇性地址轉(zhuǎn)換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可用于協(xié)同集中式轉(zhuǎn)換硬件在硬件設(shè)備中選擇性執(zhí)行地址轉(zhuǎn) 換的方法和機(jī)制。具體地,本發(fā)明涉及允許控制軟件來(lái)選擇性地允許硬件設(shè)備 使用經(jīng)轉(zhuǎn)換的地址的這樣的方法和機(jī)制。扭旦 冃眾如應(yīng)理解,計(jì)算機(jī)系統(tǒng)釆用了用于控制為其本身執(zhí)行直接存儲(chǔ)器訪(fǎng)問(wèn)(DMA)的硬件設(shè)備對(duì)系統(tǒng)存儲(chǔ)器的訪(fǎng)問(wèn)而非使用中央處理器上的程序?qū)?shù) 據(jù)從系統(tǒng)存儲(chǔ)器復(fù)制到硬件設(shè)備或者將數(shù)據(jù)從硬件設(shè)備復(fù)制到系統(tǒng)存儲(chǔ)器的 機(jī)制。存在這種轉(zhuǎn)換機(jī)制以支持應(yīng)用程序、虛擬機(jī)等對(duì)硬件的直接控制等。計(jì)算設(shè)備上的特定實(shí)體、設(shè)備或構(gòu)造(后文中,稱(chēng)之為"實(shí)體")可要求對(duì) 與該計(jì)算設(shè)備相關(guān)聯(lián)的資源的訪(fǎng)問(wèn)權(quán)等。如可以理解的,這一資源可以是可與 計(jì)算設(shè)備相關(guān)聯(lián)的任何種類(lèi)的資源。例如,資源可以是儲(chǔ)存和檢索數(shù)據(jù)的存儲(chǔ) 設(shè)備,且一般將用于采用存儲(chǔ)設(shè)備的任何目的。同樣,資源可以是諸如網(wǎng)絡(luò)、 打印機(jī)、掃描儀、網(wǎng)絡(luò)驅(qū)動(dòng)器、虛擬驅(qū)動(dòng)器、服務(wù)器等的任何其它資產(chǎn)。因此, 不管資源是什么,該實(shí)體實(shí)際上都可具有對(duì)由這些資源提供的服務(wù)的訪(fǎng)問(wèn)權(quán)。運(yùn)行在典型物理硬件系統(tǒng)上的典型物理操作系統(tǒng)允許其上運(yùn)行的應(yīng)用程 序采用虛擬存儲(chǔ)器地址和尋址,且物理操作系統(tǒng)在這樣的虛擬存儲(chǔ)器地址和相 應(yīng)的物理存儲(chǔ)器的物理存儲(chǔ)器地址之間執(zhí)行地址轉(zhuǎn)換。使用這樣的虛擬存儲(chǔ)器 尋址的理由是已知的,從而無(wú)需在此處詳細(xì)描述。 一般,虛擬存儲(chǔ)器尋址將運(yùn) 行在操作系統(tǒng)上的應(yīng)用程序從涉及干涉運(yùn)行在該操作系統(tǒng)上的另一程序所采 用的物理存儲(chǔ)器的情況中解放出來(lái),還將應(yīng)用程序從過(guò)于緊密連系至任何特定 的物理存儲(chǔ)器結(jié)構(gòu)的情況中解放出來(lái)。相反,采用虛擬存儲(chǔ)器尋址,采用操作 系統(tǒng)的地址轉(zhuǎn)換器來(lái)經(jīng)由適當(dāng)?shù)臄?shù)據(jù)庫(kù)等在相應(yīng)的物理和虛擬存儲(chǔ)器地址之 間執(zhí)行地址轉(zhuǎn)換。這樣做,這樣的地址轉(zhuǎn)換器也確保一個(gè)應(yīng)用程序所釆用的存
儲(chǔ)器不會(huì)干涉任何其他應(yīng)用程序或被任何其他應(yīng)用程序更改,還確保每一應(yīng)用 程序具有向其分配的適當(dāng)?shù)奈锢泶鎯?chǔ)器量。當(dāng)執(zhí)行DMA等的硬件設(shè)備由實(shí)體采用以訪(fǎng)問(wèn)相應(yīng)的資源時(shí),該實(shí)體所采用的地址是虛擬地址。應(yīng)認(rèn)識(shí)到,這些虛擬地址不直接對(duì)應(yīng)于物理地址,因此通常,在DMA設(shè)備和系統(tǒng)存儲(chǔ)器之間引入轉(zhuǎn)換機(jī)制。該轉(zhuǎn)換機(jī)制使用數(shù)據(jù)庫(kù) 等將DMA設(shè)備提供的虛擬地址轉(zhuǎn)化成物理地址。轉(zhuǎn)換機(jī)制一般被稱(chēng)為DMA 重新映射(DAMr)或IO存儲(chǔ)器管理單元(IOMMU)。對(duì)大多數(shù)系統(tǒng),IOMMU將服務(wù)多個(gè)DMA設(shè)備。即,將向IOMMU發(fā)送 來(lái)自多個(gè)設(shè)備的DMA請(qǐng)求以便處理。IOMMU將使用適于特定設(shè)備以將來(lái)自 設(shè)備的DMA請(qǐng)求中的虛擬地址轉(zhuǎn)換成適當(dāng)物理地址的數(shù)據(jù)庫(kù)。IOMMU—般將具有所謂的轉(zhuǎn)換后備緩沖區(qū)(IOTLB),其中它可保存最 近使用的轉(zhuǎn)換的高速緩存。該IOTLB允許IOMMU當(dāng)對(duì)眾多DMA操作使用 相同地址時(shí)避免耗時(shí)的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)。正常地,轉(zhuǎn)換應(yīng)用于存儲(chǔ)器的大部分,諸 如頁(yè),使得將對(duì)多個(gè)DMA操作使用相同的頁(yè)地址。對(duì)某些實(shí)體,集中式IOTLB的行為不足以最小化對(duì)DMA訪(fǎng)問(wèn)的等待時(shí) 間影響。對(duì)這些實(shí)體,建議允許它們具有自己的IOTLB,使得它們可在請(qǐng)求被 發(fā)送給存儲(chǔ)器之前本地轉(zhuǎn)換地址。本地轉(zhuǎn)換的高速緩存的優(yōu)點(diǎn)在于,設(shè)備能更 好地了解正將要訪(fǎng)問(wèn)存儲(chǔ)器的方式,從而可能更高效地管理其IOTLB,而 IOMMU中的中央IOTLB將純粹是反應(yīng)性的且僅響應(yīng)于即時(shí)情況而非能夠預(yù) 測(cè)設(shè)備將來(lái)的需求。使用設(shè)備的IOTLB (后文中被稱(chēng)為地址轉(zhuǎn)換高速緩存即"ATC")的一個(gè)示 例是等時(shí)設(shè)備。等時(shí)設(shè)備具有特定的等待時(shí)間要求,使其能夠維持穩(wěn)定的信息 流。為了防止因?qū)OMMU數(shù)據(jù)庫(kù)不合時(shí)、長(zhǎng)等待時(shí)間的訪(fǎng)問(wèn)引起的對(duì)流的中 斷,等時(shí)設(shè)備可在傳送之前請(qǐng)求將用于傳送的地址的轉(zhuǎn)換。然而,ATC將能夠 提供虛擬到物理地址轉(zhuǎn)換供數(shù)據(jù)實(shí)際可用時(shí)的等時(shí)傳送。由于ATC包含來(lái)自IOMMU數(shù)據(jù)庫(kù)的信息的高速緩存,當(dāng)對(duì)數(shù)據(jù)庫(kù)作出 了可能使得ATC中高速緩存的值不再有效的改變時(shí),必須通知ATC。使用無(wú) 效協(xié)議來(lái)確保中央IOMMU數(shù)據(jù)庫(kù)和ATC之間的這種同步。當(dāng)對(duì)數(shù)據(jù)庫(kù)中可 能位于ATC中的值作出改變時(shí),必須向該ATC發(fā)送指示改變了哪些GPA轉(zhuǎn) 換的無(wú)效命令。ATC然后可清除其任何相應(yīng)轉(zhuǎn)換的高速緩存,并向IOMMU 發(fā)回指示以指示己清除了條目。該協(xié)議是耗時(shí)的,且優(yōu)選地它不被無(wú)意義地使 用。在使用遠(yuǎn)程ATC時(shí),眾多不同的編程模型是可能的。在一個(gè)模型中,實(shí) 體可具有連續(xù)用于存儲(chǔ)設(shè)備的命令的小緩沖區(qū)。這所謂的環(huán)緩沖區(qū)在初始化實(shí)體時(shí)建立,且緩沖區(qū)的地址不會(huì)改變直到設(shè)備復(fù)位。緩沖區(qū)中的命令可用命令 中表達(dá)為虛擬地址的地址來(lái)引用存儲(chǔ)器數(shù)據(jù)緩沖區(qū)。盡管命令緩沖區(qū)可能連續(xù) 重用,但數(shù)據(jù)緩沖區(qū)可能很少重用。因此,盡管設(shè)備可受益于具有用于命令緩 沖區(qū)地址的ATC,但數(shù)據(jù)緩沖區(qū)轉(zhuǎn)換的本地高速緩存是不值得的。本申請(qǐng)示出 ATC的主要問(wèn)題。命令緩沖區(qū)地址從不改變,且它們被高速緩存在ATC中。 數(shù)據(jù)緩沖區(qū)地址改變相當(dāng)多,且它們不被高速緩存在設(shè)備的ATC中。然而,IOMMU數(shù)據(jù)庫(kù)的管理器并不知道數(shù)據(jù)緩沖區(qū)地址不被高速緩存在 設(shè)備中,因此每當(dāng)它改變了數(shù)據(jù)庫(kù)中用于數(shù)據(jù)緩沖區(qū)的條目時(shí),它將向設(shè)備的 ATC發(fā)送無(wú)效指示。這導(dǎo)致眾多無(wú)用的無(wú)效指示被發(fā)送給ATC。如果控制 IOMMU數(shù)據(jù)庫(kù)的軟件了解哪些轉(zhuǎn)換可能位于設(shè)備的ATC中,哪些不位于其 中,則它可避免發(fā)送不需要的無(wú)效指示。概述本發(fā)明至少部分滿(mǎn)足前述需求,本發(fā)明中計(jì)算系統(tǒng)具有用于提供資源服務(wù) 的資源,其中經(jīng)由系統(tǒng)地址(SA)訪(fǎng)問(wèn)每一資源服務(wù)。計(jì)算系統(tǒng)的設(shè)備經(jīng)由請(qǐng) 求來(lái)請(qǐng)求資源的資源服務(wù),其中每一請(qǐng)求包括遠(yuǎn)程地址(RA)。計(jì)算機(jī)系統(tǒng) 的集中式地址轉(zhuǎn)換器(CAT)具有設(shè)備的RA/SA轉(zhuǎn)換的數(shù)據(jù)庫(kù),其中數(shù)據(jù)庫(kù) 中的每一RA/SA轉(zhuǎn)換對(duì)應(yīng)于相應(yīng)的RA和SA。 CAT從設(shè)備對(duì)資源的請(qǐng)求,并 對(duì)每一請(qǐng)求根據(jù)數(shù)據(jù)庫(kù)中的相應(yīng)的RA/SA轉(zhuǎn)換將其RA轉(zhuǎn)換成相應(yīng)的SA,并將請(qǐng)求以及經(jīng)轉(zhuǎn)換的地址轉(zhuǎn)發(fā)給資源。設(shè)備具有帶有用于存儲(chǔ)從CAT獲取的RA/SA轉(zhuǎn)換的高速緩存的遠(yuǎn)程地址 轉(zhuǎn)換器(RAT)。被存儲(chǔ)在CAT的數(shù)據(jù)庫(kù)中的每一 RA/SA轉(zhuǎn)換包括優(yōu)先標(biāo)志, 設(shè)置以指示RA/SA轉(zhuǎn)換是否被RAT視為優(yōu)先轉(zhuǎn)換。RAT高速緩存中的每一優(yōu) 先轉(zhuǎn)換的有效性標(biāo)志一開(kāi)始當(dāng)從CAT獲取優(yōu)先轉(zhuǎn)換時(shí)被設(shè)置,以指示該優(yōu)先
轉(zhuǎn)換有效。RAT高速緩存中的每一優(yōu)先轉(zhuǎn)換的有效性標(biāo)志隨后被設(shè)置,以指示 如果CAT向RAT通知與RA相關(guān)聯(lián)的SA已改變則這樣的優(yōu)先轉(zhuǎn)換無(wú)效。RAT從設(shè)備接收對(duì)訪(fǎng)問(wèn)資源的請(qǐng)求,且對(duì)每一請(qǐng)求確定其高速緩存中是 否有有效的RA/SA轉(zhuǎn)換對(duì)應(yīng)于該請(qǐng)求的RA。如果是,則RAT確定相應(yīng)的轉(zhuǎn) 換是否是優(yōu)先轉(zhuǎn)換。如果是,則RAT將RA轉(zhuǎn)換成相應(yīng)的SA,并在請(qǐng)求中設(shè) 置標(biāo)志以指示它包含SA,并將經(jīng)轉(zhuǎn)換的請(qǐng)求轉(zhuǎn)發(fā)給CAT。 CAT將檢査請(qǐng)求, 且如果它發(fā)現(xiàn)請(qǐng)求包含SA,則它將請(qǐng)求轉(zhuǎn)發(fā)給資源而不進(jìn)一步轉(zhuǎn)換。否則, 如果請(qǐng)求不指示它包含經(jīng)轉(zhuǎn)換的地址,則CAT將把請(qǐng)求中的RA轉(zhuǎn)換成SA。如果RAT在高速緩存中找到對(duì)應(yīng)于該RA的有效條目,但優(yōu)先標(biāo)志未設(shè) 置,則RAT將請(qǐng)求以及RA而非SA發(fā)送給CAT,且將不設(shè)置指示請(qǐng)求包含 SA的標(biāo)志。在由CAT使用的數(shù)據(jù)庫(kù)中維護(hù)優(yōu)先標(biāo)志。當(dāng)控制軟件改變數(shù)據(jù)庫(kù)中的條 目時(shí),它檢査以查看設(shè)備是否具有RAT,且如果是則檢查以查看優(yōu)先標(biāo)志是否 被設(shè)置。如果設(shè)備具有RAT且優(yōu)先標(biāo)志被設(shè)置,則控制軟件將向RAT發(fā)送無(wú) 效命令以確保RAT中的高速緩存不再包含不再有效的RA至SA的轉(zhuǎn)換。如果 優(yōu)先標(biāo)志未設(shè)置,則控制軟件無(wú)需發(fā)送無(wú)效指示,因?yàn)镽AT不會(huì)試圖使用不 再有效的轉(zhuǎn)換。設(shè)備可使用任何數(shù)目的方案來(lái)確保CAT中的高速緩存不會(huì)充滿(mǎn)未將優(yōu)先 標(biāo)志設(shè)置的條目。示例方案供設(shè)備周期性無(wú)效未將優(yōu)先標(biāo)志設(shè)置的所有有效條 目。另一示例供設(shè)備跟蹤其因緩沖區(qū)訪(fǎng)問(wèn)而對(duì)RA的使用。當(dāng)不再需要RA時(shí), 諸如當(dāng)相關(guān)聯(lián)的DMA傳送完成時(shí),RAT高速緩存中對(duì)應(yīng)于該RA的任何有效 條目將被無(wú)效。附圖以上概述以及以下本發(fā)明實(shí)施例的詳細(xì)描述在結(jié)合附圖閱讀時(shí)能夠被更 好地理解。出于說(shuō)明本發(fā)明的目的,在附圖中示出目前優(yōu)選的實(shí)施例。然而, 如應(yīng)理解的,本發(fā)明不限于所示的精確安排和手段。在附圖中
圖1是表示其中可實(shí)現(xiàn)本發(fā)明的示例性非限制計(jì)算環(huán)境的框圖;圖2是表示具有其中可實(shí)現(xiàn)本發(fā)明的各種計(jì)算設(shè)備的示例性網(wǎng)絡(luò)環(huán)境的 框圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例示出具有一種設(shè)備的計(jì)算設(shè)備的框圖,該 設(shè)備采用不同于系統(tǒng)地址的遠(yuǎn)程地址并包括與該計(jì)算設(shè)備的系統(tǒng)地址轉(zhuǎn)換器 分開(kāi)的遠(yuǎn)程地址轉(zhuǎn)換器,其中遠(yuǎn)程地址轉(zhuǎn)換器在高速緩存中存儲(chǔ)轉(zhuǎn)換;圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例示出圖3的遠(yuǎn)程地址轉(zhuǎn)換器的高速緩存以 及系統(tǒng)地址轉(zhuǎn)換器的數(shù)據(jù)庫(kù)的框圖;以及圖5和6是根據(jù)本發(fā)明的一個(gè)實(shí)施例示出結(jié)合圖3的遠(yuǎn)程地址轉(zhuǎn)換器的高 速緩存以及系統(tǒng)地址轉(zhuǎn)換器的數(shù)據(jù)庫(kù)執(zhí)行的關(guān)鍵步驟的流程圖。詳細(xì)描述 計(jì)算機(jī)環(huán)境圖1及以下討論旨在提供對(duì)其中可實(shí)現(xiàn)本發(fā)明的合適的計(jì)算環(huán)境的簡(jiǎn)要 概括描述。然而,應(yīng)當(dāng)理解,構(gòu)想了所有種類(lèi)的手持式、便攜式和其它計(jì)算設(shè) 備來(lái)結(jié)合本發(fā)明使用。盡管以下描述了通用計(jì)算機(jī),但這僅是一個(gè)示例。由此, 本發(fā)明可在其中蘊(yùn)含了極少或最小客戶(hù)機(jī)資源的聯(lián)網(wǎng)的主存服務(wù)的環(huán)境,例如 其中客戶(hù)機(jī)設(shè)備僅用作瀏覽器或到萬(wàn)維網(wǎng)的接口的聯(lián)網(wǎng)環(huán)境中實(shí)現(xiàn)。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí) 行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型。通常,程序模塊的功能可以在各個(gè)實(shí)施 例中按需進(jìn)行組合或分布。此外,本領(lǐng)域的技術(shù)人員可以理解,本發(fā)明可以用 其它計(jì)算機(jī)系統(tǒng)配置來(lái)實(shí)施。適用于本發(fā)明的其它眾所周知的計(jì)算系統(tǒng)、環(huán)境 和/或配置包括但不限于,個(gè)人計(jì)算機(jī)(PC)、自動(dòng)提款機(jī)、服務(wù)器計(jì)算機(jī)、 手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電 子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型計(jì)算機(jī)等等。本發(fā)明也可以在其中任務(wù)由通 過(guò)通信網(wǎng)絡(luò)鏈接或其它數(shù)據(jù)傳輸介質(zhì)的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行的分布式計(jì)算環(huán) 境中實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備在內(nèi) 的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。因此,圖1示出了其中可實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的一個(gè)示 例,盡管如上所述,計(jì)算系統(tǒng)環(huán)境100僅為合適的計(jì)算環(huán)境的一個(gè)示例,并非 對(duì)本發(fā)明的使用范圍或功能提出任何局限。也不應(yīng)該把計(jì)算環(huán)境100解釋為對(duì)
示例性操作環(huán)境100中示出的任一組件或其組合有任何依賴(lài)性或要求。參見(jiàn)圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算 設(shè)備。計(jì)算機(jī)110的組件可以包括,但不限于,處理單元120、系統(tǒng)存儲(chǔ)器130 和將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線(xiàn) 121。系統(tǒng)總線(xiàn)121可以是若干類(lèi)型總線(xiàn)結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線(xiàn)或 存儲(chǔ)器控制器、外圍總線(xiàn)以及使用各類(lèi)總線(xiàn)體系結(jié)構(gòu)中的任一種的局部總線(xiàn)。 作為示例,而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線(xiàn)、 微通道體系結(jié)構(gòu)(MCA)總線(xiàn)、增強(qiáng)型ISA (EISA)總線(xiàn)、視頻電子技術(shù)標(biāo) 準(zhǔn)協(xié)會(huì)(VESA)局部總線(xiàn)、外圍部件互連(PCI)總線(xiàn)(也稱(chēng)為小背板(Mezzanine) 總線(xiàn))以及PCI Express。計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì) 算機(jī)110訪(fǎng)問(wèn)的任何可用介質(zhì),且包括易失性和非易失性介質(zhì)、可移動(dòng)和不可 移動(dòng)介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和 通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算機(jī) 可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性、可移 動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于,RAM、 ROM、 EEPROM、 閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(pán)(DVD)或其它光盤(pán)存儲(chǔ)、 磁盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用來(lái)儲(chǔ)存所期望的信息并可 由計(jì)算機(jī)110訪(fǎng)問(wèn)的任一其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳 輸機(jī)制等己調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù) 據(jù),且包含任何信息傳遞介質(zhì)。術(shù)語(yǔ)"已調(diào)制數(shù)據(jù)信號(hào)"指的是這樣一種信號(hào), 其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式被設(shè)定或更改。作為示例而非局 限,通信介質(zhì)包括諸如有線(xiàn)網(wǎng)絡(luò)或直接線(xiàn)連接或光纖連接等有線(xiàn)介質(zhì),以及諸 如聲學(xué)、rf、紅外、光學(xué)、以任何波長(zhǎng)工作的相控陣天線(xiàn)、以任何波長(zhǎng)工作的定向或非定向電磁發(fā)射機(jī)和接收機(jī)以及其它無(wú)線(xiàn)介質(zhì)等無(wú)線(xiàn)介質(zhì)。以上的任何 組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲(chǔ)器130包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì), 如只讀存儲(chǔ)器(ROM) 131和隨機(jī)存取存儲(chǔ)器(RAM) 132?;据斎?輸出系 統(tǒng)133 (BIOS)包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)110中元件之間傳遞信息的基 本例程,它通常被存儲(chǔ)在ROM131中。RAM132通常包含處理單元120可以 立即訪(fǎng)問(wèn)和/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例,而非限制,圖 1示出了操作系統(tǒng)B4、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。計(jì)算機(jī)110也可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性的計(jì)算機(jī) 存儲(chǔ)介質(zhì)。僅作示例,圖l示出了對(duì)不可移動(dòng)、非易失性磁介質(zhì)進(jìn)行讀寫(xiě)的硬 盤(pán)驅(qū)動(dòng)器141,對(duì)可移動(dòng)、非易失性磁盤(pán)152進(jìn)行讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器151,以 及對(duì)可移動(dòng)、非易失性光盤(pán)156,如CDROM或其它光介質(zhì)進(jìn)行讀寫(xiě)的光盤(pán)驅(qū) 動(dòng)器155。可以在示例性操作環(huán)境中使用的其它可移動(dòng)/不可移動(dòng)、易失性/非 易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,盒式磁帶、閃存卡、數(shù)字多功能盤(pán)、 數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤(pán)驅(qū)動(dòng)器141通常由不可移動(dòng)存 儲(chǔ)器接口,諸如接口 140連接至系統(tǒng)總線(xiàn)121,磁盤(pán)驅(qū)動(dòng)器151和光盤(pán)驅(qū)動(dòng)器 155通常由可移動(dòng)存儲(chǔ)器接口,諸如接口 150連接至系統(tǒng)總線(xiàn)121。上文討論并在圖1中示出的驅(qū)動(dòng)器及其關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī) 110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如, 在圖1中,示出硬盤(pán)驅(qū)動(dòng)器141儲(chǔ)存操作系統(tǒng)144、應(yīng)用程序145、其它程序 模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、 其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、 其它程序模塊146和程序數(shù)據(jù)147在這里被標(biāo)注了不同的標(biāo)號(hào)是為了說(shuō)明至少 它們是不同的副本。用戶(hù)可以通過(guò)輸入設(shè)備,諸如鍵盤(pán)162和定點(diǎn)設(shè)備161 (通 常指鼠標(biāo)、跟蹤球或觸摸墊)向計(jì)算機(jī)110輸入命令和信息。其它輸入設(shè)備(未 示出)可以包括話(huà)筒、操縱桿、游戲手柄、圓盤(pán)式衛(wèi)星天線(xiàn)、掃描儀等。這些 和其它輸入設(shè)備通常由耦合至系統(tǒng)總線(xiàn)121的用戶(hù)輸入接口 160連接到處理單 元120,但是也可由諸如并行端口、游戲端口或通用串行總線(xiàn)(USB)之類(lèi)的 其它接口和總線(xiàn)結(jié)構(gòu)連接。監(jiān)視器191或其它類(lèi)型的顯示設(shè)備也經(jīng)由諸如視頻接口 190等接口連接到 系統(tǒng)總線(xiàn)121。諸如北橋(Northbridge)等圖形接口 182也可連接到系統(tǒng)總線(xiàn) 121。北橋是與CPU或主機(jī)處理單元120通信的芯片組,并承擔(dān)了加速圖形端 口 (AGP)通信的責(zé)任。 一個(gè)或多個(gè)圖形處理單元(GPU) 184可以與圖形接 口 182通信。在這一點(diǎn)上,GPU184—般包括諸如寄存器存儲(chǔ)等片上存儲(chǔ)器存 儲(chǔ),并且GPU 184與視頻存儲(chǔ)器186通信。然而,GPU 184僅是協(xié)處理器的一 個(gè)示例,且因此計(jì)算機(jī)110中可包括各種協(xié)處理設(shè)備。監(jiān)視器191或其它類(lèi)型 的顯示設(shè)備也通過(guò)接口,如視頻接口 190連接至系統(tǒng)總線(xiàn)121,而視頻接口 l卯 又與視頻存儲(chǔ)器186通信。除監(jiān)視器191之外,計(jì)算機(jī)也可包括其它外圍輸出 設(shè)備,如揚(yáng)聲器197和打印機(jī)196,它們通過(guò)輸出外圍接口 195連接。計(jì)算機(jī)110可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180的邏輯 連接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由 器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它常見(jiàn)網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括上文相對(duì)于計(jì)算機(jī) IIO描述的許多或所有元件,盡管在圖1中只示出存儲(chǔ)器存儲(chǔ)設(shè)備181。圖1 中所示邏輯連接包括局域網(wǎng)(LAN) 171和廣域網(wǎng)(WAN) 173,但也可以包 括其它網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特 網(wǎng)中是常見(jiàn)的。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)IIO通過(guò)網(wǎng)絡(luò)接口或適配器170連 接至LAN171。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)HO通常包括調(diào)制解調(diào) 器172或用于通過(guò)諸如因特網(wǎng)等WAN 173建立通信的其它裝置。調(diào)制解調(diào)器 172可以是內(nèi)置或外置的,它可以通過(guò)用戶(hù)輸入接口 160或其它合適的機(jī)制連 接至系統(tǒng)總線(xiàn)121。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī)IIO所描述的程序模塊或 其部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例,而非限制,圖l示出了 遠(yuǎn)程應(yīng)用程序185駐留在存儲(chǔ)器設(shè)備181上??梢岳斫?,示出的網(wǎng)絡(luò)連接是示 例性的,并且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。本領(lǐng)域的普通技術(shù)人員可以理解,計(jì)算機(jī)110或其它客戶(hù)機(jī)設(shè)備可作為計(jì) 算機(jī)網(wǎng)絡(luò)的一部分來(lái)部署。在這一點(diǎn)上,本發(fā)明涉及具有任意數(shù)量的存儲(chǔ)器或 存儲(chǔ)單元以及在任意數(shù)量的存儲(chǔ)單元或巻上發(fā)生的任意數(shù)量的應(yīng)用程序和進(jìn) 程的任何計(jì)算機(jī)系統(tǒng)。本發(fā)明可應(yīng)用于具有部署在具有遠(yuǎn)程或本地存儲(chǔ)的網(wǎng)絡(luò) 環(huán)境中的服務(wù)器計(jì)算機(jī)和客戶(hù)計(jì)算機(jī)的環(huán)境。本發(fā)明也可應(yīng)用于具有編程語(yǔ)言 功能、解釋和執(zhí)行能力的獨(dú)立計(jì)算設(shè)備。分布式計(jì)算便于通過(guò)計(jì)算設(shè)備和系統(tǒng)之間的直接交換共享計(jì)算機(jī)資源和 服務(wù)。這些資源和服務(wù)包括信息交換、高速緩存存儲(chǔ)和文件的盤(pán)存儲(chǔ)。分布式 計(jì)算利用網(wǎng)絡(luò)連接,允許客戶(hù)機(jī)利用它們的集體力量來(lái)使整個(gè)企業(yè)受益。在這
一點(diǎn)上,各種設(shè)備可具有可交互以蘊(yùn)含用于可信圖形流水線(xiàn)的本發(fā)明的認(rèn)證技 術(shù)的應(yīng)用程序、對(duì)象或資源。圖2提供了示例性的網(wǎng)絡(luò)化或分布式計(jì)算環(huán)境的示意圖。分布式計(jì)算環(huán)境包括計(jì)算對(duì)象10a、 10b等,以及計(jì)算對(duì)象或設(shè)備110a、 110b、 110c等。這些對(duì)象可包括程序、方法、數(shù)據(jù)存儲(chǔ)、可編程邏輯等等。這些對(duì)象可包括諸如 PDA、電視機(jī)、MP3播放器、電視機(jī)、個(gè)人計(jì)算機(jī)等的相同或不同設(shè)備的各部 分。每一對(duì)象可通過(guò)通信網(wǎng)絡(luò)14與另一對(duì)象通信。該網(wǎng)絡(luò)本身可包括向圖2 的系統(tǒng)提供服務(wù)的其它計(jì)算對(duì)象和計(jì)算設(shè)備。根據(jù)本發(fā)明的一個(gè)方面,每一對(duì) 象10或110可包含可以請(qǐng)求用于可信圖形流水線(xiàn)的本發(fā)明的認(rèn)證技術(shù)的應(yīng)用 程序。還可以理解,諸如110c等對(duì)象可以主存在另一計(jì)算設(shè)備10或110上。因 此,盡管所示的物理環(huán)境可以將所連接的設(shè)備示為計(jì)算機(jī),但是這樣的說(shuō)明僅 是示例性的,并且該物理環(huán)境可以被替換地描述或描繪成含有諸如PDA、電視 機(jī)、MP3播放器等的各種數(shù)字設(shè)備,以及諸如接口、 COM對(duì)象等軟件對(duì)象。存在支持分布式計(jì)算環(huán)境的各種系統(tǒng)、組件和網(wǎng)絡(luò)配置。例如,計(jì)算系統(tǒng) 可以由有線(xiàn)或無(wú)線(xiàn)系統(tǒng)、本地網(wǎng)絡(luò)或廣泛分布的網(wǎng)絡(luò)連接在一起。當(dāng)前,許多 網(wǎng)絡(luò)耦合至因特網(wǎng),后者為廣泛分布的計(jì)算提供了基礎(chǔ)結(jié)構(gòu)并包含許多不同的 網(wǎng)絡(luò)。在家庭網(wǎng)絡(luò)環(huán)境中,有至少四個(gè)全異的網(wǎng)絡(luò)傳輸媒體,其每一個(gè)可支持一 種唯一的協(xié)議,這些媒體如電力線(xiàn)、數(shù)據(jù)(無(wú)線(xiàn)和有線(xiàn))、語(yǔ)音(如,電話(huà)) 和娛樂(lè)媒體。諸如電燈開(kāi)關(guān)和電器設(shè)備等大多數(shù)家庭控制設(shè)備可使用電力線(xiàn)來(lái) 連接。數(shù)據(jù)服務(wù)可通過(guò)寬帶(如,DSL或電纜調(diào)制解調(diào)器)進(jìn)入家庭,并可在 家庭內(nèi)使用無(wú)線(xiàn)(如,HomeRF或802.11B)或有線(xiàn)(如,家庭PNA、 Cat 5、 甚至是電力線(xiàn))連接來(lái)訪(fǎng)問(wèn)。語(yǔ)音話(huà)務(wù)可通過(guò)有線(xiàn)(如,Cat3)或無(wú)線(xiàn)(如, 蜂窩電話(huà))進(jìn)入家庭,并可在家庭中使用Cat3連線(xiàn)來(lái)分布。娛樂(lè)媒體可通過(guò) 衛(wèi)星或電纜進(jìn)入家庭,并通常在家庭中使用同軸電纜來(lái)分布。IEEE 1394和DVI 也作為用于媒體設(shè)備群集的數(shù)字互聯(lián)而浮現(xiàn)。可作為協(xié)議標(biāo)準(zhǔn)浮現(xiàn)的所有這些 網(wǎng)絡(luò)環(huán)境和其它環(huán)境可被互聯(lián)來(lái)形成可通過(guò)因特網(wǎng)連接到外部世界的內(nèi)聯(lián)網(wǎng)。 簡(jiǎn)言之,存在各種全異的源用于數(shù)據(jù)的存儲(chǔ)和傳輸,并因此向前發(fā)展,計(jì)算設(shè)
備需要走在數(shù)據(jù)處理流水線(xiàn)的所有部分處保護(hù)內(nèi)容的方式。"因特網(wǎng)"通常指使用TCP/IP協(xié)議套件的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合,該協(xié)議在計(jì)算機(jī)聯(lián)網(wǎng)領(lǐng)域中是公知的。TCP/IP是"傳輸控制協(xié)議/網(wǎng)際協(xié)議"的縮寫(xiě)。因特網(wǎng)可被描述為由處理允許用戶(hù)通過(guò)網(wǎng)絡(luò)交互和共享信息的聯(lián)網(wǎng)協(xié)議的計(jì)算機(jī) 互連的地理上分布的遠(yuǎn)程計(jì)算機(jī)網(wǎng)絡(luò)的系統(tǒng)。由于這類(lèi)廣泛分布的信息共享, 諸如因特網(wǎng)等遠(yuǎn)程網(wǎng)絡(luò)至今發(fā)展成一種開(kāi)放式系統(tǒng),開(kāi)發(fā)者可對(duì)該開(kāi)放式系統(tǒng) 設(shè)計(jì)用于執(zhí)行專(zhuān)用操作或服務(wù)的軟件應(yīng)用程序,在本質(zhì)上沒(méi)有限制。由此,網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)啟用了諸如客戶(hù)機(jī)/服務(wù)器、對(duì)等或混合體系結(jié)構(gòu)等 大量網(wǎng)絡(luò)拓樸結(jié)構(gòu)。"客戶(hù)機(jī)"是使用與它無(wú)關(guān)的另一類(lèi)或組的服務(wù)的一個(gè)類(lèi)或 組中的成員。由此,在計(jì)算時(shí),客戶(hù)機(jī)是進(jìn)程,即,粗略地而言是一組請(qǐng)求由 另一程序提供的服務(wù)的指令或任務(wù)。客戶(hù)機(jī)進(jìn)程利用所請(qǐng)求的服務(wù),而不必"知 道"有關(guān)其它程序或服務(wù)本身的任何工作細(xì)節(jié)。在客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)中, 尤其是網(wǎng)絡(luò)化系統(tǒng)中,客戶(hù)機(jī)通常是訪(fǎng)問(wèn)由另一計(jì)算機(jī),如服務(wù)器提供的共享網(wǎng)絡(luò)資源的計(jì)算機(jī)。在圖2的示例中,計(jì)算機(jī)110a、 110b等可以被認(rèn)為是客 戶(hù)機(jī),而計(jì)算機(jī)10a、 10b等可以被認(rèn)為是服務(wù)器,其中服務(wù)器10a、 10b等維 護(hù)隨后在客戶(hù)機(jī)計(jì)算機(jī)110a、 110b等中復(fù)制的數(shù)據(jù)。服務(wù)器通常是可通過(guò)諸如因特網(wǎng)的遠(yuǎn)程網(wǎng)絡(luò)訪(fǎng)問(wèn)的遠(yuǎn)程計(jì)算機(jī)系統(tǒng)??蛻?hù) 機(jī)進(jìn)程可以在第一計(jì)算機(jī)系統(tǒng)中活動(dòng),而服務(wù)器進(jìn)程可以在第二計(jì)算機(jī)系統(tǒng)中 活動(dòng),它們通過(guò)通信介質(zhì)彼此通信,從而提供分布式功能并允許多個(gè)客戶(hù)機(jī)利 用服務(wù)器的信息收集能力??蛻?hù)機(jī)和服務(wù)器可使用由協(xié)議層提供的功能彼此通信。例如,超文本傳輸 協(xié)議(HTTP)是一種結(jié)合萬(wàn)維網(wǎng)(WWW)使用的常見(jiàn)協(xié)議。通常,計(jì)算機(jī) 網(wǎng)絡(luò)地址,如統(tǒng)一資源定位符(URL)或網(wǎng)際協(xié)議(IP)地址,可用于彼此標(biāo) 識(shí)服務(wù)器或客戶(hù)機(jī)計(jì)算機(jī)。網(wǎng)絡(luò)地址可被稱(chēng)為統(tǒng)一資源定位符地址。例如,通 信可在通信介質(zhì)上提供。特別地,客戶(hù)機(jī)和服務(wù)器可經(jīng)由TCP/IP連接而彼此 耦合,以便進(jìn)行高容量通信。由此,圖2示出了其中可采用本發(fā)明的具有通過(guò)網(wǎng)絡(luò)/總線(xiàn)與客戶(hù)機(jī)計(jì)算 機(jī)通信的服務(wù)器的示例性網(wǎng)絡(luò)化或分布式環(huán)境。更詳細(xì)地,根據(jù)本發(fā)明,多個(gè) 服務(wù)器10a、10b等經(jīng)由通信網(wǎng)絡(luò)/總線(xiàn)14互連,通信網(wǎng)絡(luò)/總線(xiàn)14可以是LAN、
WAN、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)等,它具有多個(gè)客戶(hù)機(jī)或遠(yuǎn)程計(jì)算設(shè)備U0a、 110b、 110c、 110d、 110e等,如便攜式計(jì)算機(jī)、手持式計(jì)算機(jī)、瘦客戶(hù)機(jī)、聯(lián)網(wǎng)設(shè)備 或其它設(shè)備,如VCR、 TV、烤箱、燈、加熱器等等。由此可以構(gòu)想,本發(fā)明 可應(yīng)用于對(duì)于其希望處理、儲(chǔ)存或呈現(xiàn)來(lái)自可信源的安全內(nèi)容的任何計(jì)算設(shè) 備,以及對(duì)于其希望呈現(xiàn)由虛擬機(jī)生成的高性能圖形的任何計(jì)算設(shè)備。例如,在其中通信網(wǎng)絡(luò)/總線(xiàn)14是因特網(wǎng)的網(wǎng)絡(luò)環(huán)境中,服務(wù)器10可以 是客戶(hù)機(jī)110a、 U0b、 110c、 110d、 110e等通過(guò)諸如HTTP等多種已知協(xié)議 中的任一種與其通信的web服務(wù)器。服務(wù)器10也可用作客戶(hù)機(jī)110,這可以 是分布式計(jì)算環(huán)境的特征。通信可以在適當(dāng)時(shí)是有線(xiàn)或無(wú)線(xiàn)的??蛻?hù)機(jī)設(shè)備110 可以通過(guò)或不通過(guò)通信網(wǎng)絡(luò)/總線(xiàn)14通信,并可具有與其相關(guān)聯(lián)的獨(dú)立通信。 例如,在TV或VCR的情況下,可以有或沒(méi)有其控制的網(wǎng)絡(luò)化方面。每一客 戶(hù)機(jī)計(jì)算機(jī)110以及服務(wù)器計(jì)算機(jī)IO可以具備各種應(yīng)用程序模塊或?qū)ο?35, 并具有對(duì)各種類(lèi)型的存儲(chǔ)元件或?qū)ο蟮倪B接或訪(fǎng)問(wèn),在這些存儲(chǔ)元件或?qū)ο笊?可儲(chǔ)存文件,或者可向其下載或遷移文件的各部分。由此,本發(fā)明可以用于具 有可訪(fǎng)問(wèn)計(jì)算機(jī)網(wǎng)絡(luò)/總線(xiàn)14或與其交互的客戶(hù)機(jī)計(jì)算機(jī)110a、 110b等,以及 可與客戶(hù)機(jī)計(jì)算機(jī)110a、 110b等交互的服務(wù)器計(jì)算機(jī)10a、 10b等,以及其它 設(shè)備111和數(shù)據(jù)庫(kù)20的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境中。選擇性地址轉(zhuǎn)換當(dāng)計(jì)算設(shè)備上的實(shí)體訪(fǎng)問(wèn)資源以及其上地址處的數(shù)據(jù)時(shí),諸如存儲(chǔ)器、硬 盤(pán)驅(qū)動(dòng)器等,該實(shí)體可包括在實(shí)體的虛擬或遠(yuǎn)程地址(RA)和相應(yīng)的資源的 物理或系統(tǒng)存儲(chǔ)器地址(SA)之間遠(yuǎn)程執(zhí)行地址轉(zhuǎn)換的遠(yuǎn)程地址轉(zhuǎn)換器(RAT)。 如可以理解地,RAT實(shí)際上是基于從計(jì)算設(shè)備的集中式地址轉(zhuǎn)換器(CAT)獲 取的轉(zhuǎn)換為實(shí)體執(zhí)行轉(zhuǎn)換的衛(wèi)星地址轉(zhuǎn)換器,借此,RAT可為該實(shí)體執(zhí)行至少 一些CAT功能從而至少對(duì)于該實(shí)體減輕CAT的工作負(fù)載。經(jīng)由RAT或CAT等進(jìn)行地址轉(zhuǎn)換是眾所周知的。在這樣的地址轉(zhuǎn)換中, 轉(zhuǎn)換器保持并參考相應(yīng)地址的數(shù)據(jù)庫(kù),并按需更新數(shù)據(jù)庫(kù)。這樣的數(shù)據(jù)庫(kù)可被 組織成表、樹(shù)或任何其他邏輯形式,且在這樣的形式中可包括每個(gè)可轉(zhuǎn)換的地 址或僅所需的某些可轉(zhuǎn)換地址。
因此,對(duì)于從實(shí)體對(duì)數(shù)據(jù)的請(qǐng)求中所引用的RA,請(qǐng)求中的SA必須由RAT 轉(zhuǎn)換成相應(yīng)的SA,使得RA的數(shù)據(jù)可從相應(yīng)SA的資源訪(fǎng)問(wèn)。然而,如應(yīng)理解, 計(jì)算設(shè)備實(shí)體的RAT代表計(jì)算設(shè)備的CAT進(jìn)行地址轉(zhuǎn)換存在問(wèn)題。具體地, 如果CAT向RAT提供對(duì)應(yīng)于特定RA的第一 SA,且RAT在其高速緩存等中 存儲(chǔ)RA/第一 SA,且如果CAT之后決定將該數(shù)據(jù)從第一 SA移動(dòng)至第二 SA, 則必須以某種方式向RAT通知如存儲(chǔ)在其高速緩存中的第一 SA不再有效。否 則,如果RAT相信第一SA仍對(duì)應(yīng)于特定的RA,試圖使用這樣的第一SA, 則會(huì)發(fā)生數(shù)據(jù)錯(cuò)誤?;蛘撸琑AT必須假定不能相信高速緩存中的至少某些存儲(chǔ) 的SA為有效的?,F(xiàn)在參考圖3,應(yīng)理解,此時(shí)可概括前述計(jì)算設(shè)備10。具體地,計(jì)算設(shè)備 10可以是作為單個(gè)裝置或裝置的聯(lián)網(wǎng)集合的任何計(jì)算系統(tǒng)10,實(shí)體可以是計(jì) 算設(shè)備10中具有帶高速緩存36的遠(yuǎn)程地址轉(zhuǎn)換器(RAT) 34的任何適當(dāng)設(shè)備 32,且計(jì)算設(shè)備10具有前述集中式地址轉(zhuǎn)換器(CAT 38)。然后,在這樣的 情況中,具有高速緩存36的RAT34將在設(shè)備32處采用的遠(yuǎn)程地址(RA)轉(zhuǎn) 換成系統(tǒng)地址(SA),諸如用于基于在高速緩存36高速緩存的RA/SA對(duì)等訪(fǎng) 問(wèn)計(jì)算設(shè)備資源12處的數(shù)據(jù)的SA。注意到,如果在高速緩存36找到特定的 RA,則RAT34采用相應(yīng)的高速緩存的SA,而CAT 38無(wú)需為RA/SA轉(zhuǎn)換而 費(fèi)心。當(dāng)然,如果未在高速緩存36中找到這樣的特定RA,則可通過(guò)RAT34 向CAT 38請(qǐng)求同樣內(nèi)容找到相應(yīng)的SA,之后這樣的RA/SA對(duì)等等可新近存 儲(chǔ)在RAT 34的高速緩存36中。對(duì)于圖3的設(shè)備32,問(wèn)題可如下重述如果CAT38向設(shè)備32的RAT34 提供對(duì)應(yīng)于特定RA的第一 SA,且如果CAT 38在其高速緩存36中存儲(chǔ)了 RA/ 第一SA,且如果CAT 38之后決定將數(shù)據(jù)從第一SA移至第二SA,則必須以 某種方式通知RAT 34如存儲(chǔ)在其高速緩存36中的第一 SA不再有效。否則, 如果RAT34相信第一SA仍對(duì)應(yīng)于特定的RA,試圖使用這樣的第一 SA,則 會(huì)發(fā)生數(shù)據(jù)錯(cuò)誤?;蛘撸琑AT34必須假定不能相信高速緩存36中的至少某些 存儲(chǔ)的SA為有效的。因此,為了避免這樣的數(shù)據(jù)錯(cuò)誤,且為了以其他方式向RAT34提供必要 的功能,RAT 34必須能夠按需訪(fǎng)問(wèn)CAT 38以向其請(qǐng)求RA/SA轉(zhuǎn)換,且CAT 38必須能夠?qū)嶋H上以這樣的RA/SA轉(zhuǎn)換來(lái)響應(yīng)。更具體地,CAT38必須能夠 當(dāng)如由RAT 34存儲(chǔ)在其高速緩存36中的特定RA/SA轉(zhuǎn)換因改變或其他而無(wú) 效時(shí)通知RAT 34,且RAT 34必須能夠告訴CAT 38已經(jīng)在高速緩存36中注 意了無(wú)效RA/SA 。然而,注意CAT 38可能難以承擔(dān)每當(dāng)如由RAT 34在其高速緩存36中存 儲(chǔ)的特定RA/SA轉(zhuǎn)換變?yōu)闊o(wú)效時(shí)即通知RAT 34的任務(wù),尤其當(dāng)RAT 34存儲(chǔ) 相對(duì)大量的這樣的轉(zhuǎn)換和/或當(dāng)CAT 38使相對(duì)大量的這樣的轉(zhuǎn)換無(wú)效時(shí)。在任 一情況中,實(shí)現(xiàn)這樣的通知所必需的資源可能是過(guò)度的,以致于CAT38不能 為RAT 38執(zhí)行正常的轉(zhuǎn)換功能。從而,在本發(fā)明的一個(gè)實(shí)施例中,RA/SA轉(zhuǎn)換的子集被標(biāo)識(shí)為重要或優(yōu) 先轉(zhuǎn)換,且CAT 38僅當(dāng)如由RAT 34在其高速緩存36中存儲(chǔ)的優(yōu)先轉(zhuǎn)換變?yōu)?無(wú)效時(shí)才通知RAT34。相應(yīng)地,當(dāng)如由RAT34在其高速緩存36中存儲(chǔ)的非 優(yōu)先轉(zhuǎn)換變?yōu)闊o(wú)效時(shí),CAT 38不通知RAT 34。當(dāng)然,對(duì)于CAT38當(dāng)由RAT 34在其高速緩存36中存儲(chǔ)的特定優(yōu)先RA/SA轉(zhuǎn)換變?yōu)闊o(wú)效時(shí)通知RAT 34, CAT 38必須了解這樣的RA/SA轉(zhuǎn)換實(shí)際上是優(yōu)先轉(zhuǎn)換。從而,必須將RAT 34 構(gòu)造成包括或具有對(duì)哪些RA/SA轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換的知識(shí)的訪(fǎng)問(wèn)權(quán),且RAT 34 將這樣的知識(shí)傳輸給CAT38?;蛘?,RAT34可具有相應(yīng)的驅(qū)動(dòng)器等,驅(qū)動(dòng)器 包括或具有對(duì)哪些RA/SA轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換的這樣的知識(shí)的訪(fǎng)問(wèn)權(quán),且驅(qū)動(dòng)器 (未示出)將這樣的知識(shí)傳輸給CAT38。注意到,確定哪些RA/SA轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換并不一定是困難的,尤其因?yàn)?作為優(yōu)先轉(zhuǎn)換的RA/SA轉(zhuǎn)換應(yīng)主要包括更頻繁使用的RA。更頻繁使用的這樣 的RA對(duì)應(yīng)于同樣更頻繁使用的存儲(chǔ)器位置,應(yīng)理解,這樣存儲(chǔ)器位置應(yīng)已知。 例如,如果特定設(shè)備32頻繁使用給定特定RA的環(huán)緩沖區(qū),則對(duì)應(yīng)于這樣的 環(huán)緩沖區(qū)RA的RA/SA轉(zhuǎn)換應(yīng)是優(yōu)先轉(zhuǎn)換,當(dāng)它被存儲(chǔ)在高速緩存36時(shí)應(yīng)被 視為有效。因此,在開(kāi)發(fā)員設(shè)計(jì)和開(kāi)發(fā)設(shè)備32期間,其RA,諸如相對(duì)頻繁使用的 RA被標(biāo)識(shí)為優(yōu)先RA,且將這樣標(biāo)識(shí)的優(yōu)先RA提供給RAT 34、驅(qū)動(dòng)器或與 設(shè)備32相關(guān)的另一單元,使得這樣的優(yōu)先RA可被傳輸給CAT38。當(dāng)然,優(yōu) 先RA可以是任何適當(dāng)?shù)腞A,包括頻繁使用的RA或其他RA,而不背離本發(fā) 。從而,且如圖4所示,CAT 38在操作中將對(duì)應(yīng)于所標(biāo)識(shí)的優(yōu)先RA的優(yōu) 先RA/SA轉(zhuǎn)換以及該RA是優(yōu)先RA且該RA/SA轉(zhuǎn)換是優(yōu)先RA/SA轉(zhuǎn)換的標(biāo) 識(shí)存儲(chǔ)在其數(shù)據(jù)庫(kù)40中。如可以理解地,這樣的優(yōu)先標(biāo)識(shí)例如可以是設(shè)置或 清零的優(yōu)先標(biāo)志(PFLAG)或位等。相應(yīng)地,如果CAT38在操作中將對(duì)應(yīng)于 非優(yōu)先RA的非優(yōu)先RA/SA轉(zhuǎn)換存儲(chǔ)在數(shù)據(jù)庫(kù)40中,這樣的非優(yōu)先轉(zhuǎn)換與RA 是非優(yōu)先RA且RA/SA轉(zhuǎn)換是非優(yōu)先RA/SA轉(zhuǎn)換的標(biāo)識(shí)一起存儲(chǔ)。如可以理 解地,這樣的非優(yōu)先標(biāo)識(shí)例如可以是設(shè)置或清零的標(biāo)志或位等,或僅由優(yōu)先標(biāo) 志的負(fù)值推斷。至此概述,在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于RAT34,向CAT38提供優(yōu) 先RA和RA/SA轉(zhuǎn)換的標(biāo)識(shí),其中這樣的優(yōu)先RA是來(lái)自高速緩存36由RAT 34頻繁使用或以其他方式采用的。因此,RAT34需要了解高速緩存中每一這 樣的優(yōu)先轉(zhuǎn)換是否仍有效。在本發(fā)明這樣的實(shí)施例中,然后CAT38通過(guò)諸如 設(shè)置優(yōu)先標(biāo)志等適當(dāng)?shù)臋C(jī)制注意其數(shù)據(jù)庫(kù)40中的每一優(yōu)先RA。因此,CAT 38 的數(shù)據(jù)庫(kù)40中以及也在RAT 34的高速緩存36中的每一 RA及相應(yīng)的RA/SA 轉(zhuǎn)換或者被標(biāo)識(shí)為優(yōu)先RA或者被標(biāo)識(shí)為非優(yōu)先RA。此外,且在本發(fā)明的一個(gè)實(shí)施例中,且如圖4中所示,RAT34的高速緩 存36中的至少每一優(yōu)先RA和相應(yīng)的優(yōu)先RA/SA轉(zhuǎn)換以類(lèi)似于關(guān)于優(yōu)先標(biāo)志 的方式經(jīng)由有效性標(biāo)志(VFLAG)等被標(biāo)識(shí)為有效或非有效。因此,當(dāng)對(duì)CAT 38的數(shù)據(jù)庫(kù)40的優(yōu)先RA的相應(yīng)SA改變時(shí),這樣的CAT 38通知RAT 34等, 并基于這樣的通知,改變RAT 34的高速緩存36中的相應(yīng)的RA/SA轉(zhuǎn)換的有 效性標(biāo)志,以示出這樣的優(yōu)先轉(zhuǎn)換現(xiàn)在是非有效的,且不應(yīng)由RAT34采用?,F(xiàn)在轉(zhuǎn)向圖5,可見(jiàn)在正常操作過(guò)程中,需要特定RA/SA轉(zhuǎn)換的RAT 34 可檢査來(lái)査看是否有同樣內(nèi)容被存儲(chǔ)在高速緩存36中(步驟501)。如果不在 高速緩存36中,則RAT34可向CAT38請(qǐng)求并從中接收這一內(nèi)容,并將這樣 接收到的RA/SA轉(zhuǎn)換存儲(chǔ)在高速緩存36 (步驟503)中,尤其當(dāng)這樣的轉(zhuǎn)換 是優(yōu)先轉(zhuǎn)換時(shí)。值得注意的是,CAT 38發(fā)送RA/SA轉(zhuǎn)換以及從其數(shù)據(jù)庫(kù)40 獲取的相應(yīng)的優(yōu)先標(biāo)志,且這樣的優(yōu)先標(biāo)志隨轉(zhuǎn)換一起存儲(chǔ)在高速緩存36內(nèi)。 這樣做,且尤其當(dāng)RA/SA轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換時(shí),這樣的優(yōu)先轉(zhuǎn)換和相應(yīng)的優(yōu)先
標(biāo)志被存儲(chǔ),如步驟503所示,相應(yīng)的有效性標(biāo)志被設(shè)置以指示該優(yōu)先轉(zhuǎn)換是 有效的,且未被CAT38或任何其他適當(dāng)?shù)漠?dāng)局取消或以其他方式無(wú)效。因此,在步驟501,如果在檢查時(shí)發(fā)現(xiàn)轉(zhuǎn)換實(shí)際上被存儲(chǔ)在高速緩存36 中,則RAT 34檢査相應(yīng)的優(yōu)先和有效性標(biāo)志以確定轉(zhuǎn)換是否是優(yōu)先轉(zhuǎn)換且可 被視為有效(步驟505)。如果優(yōu)先且有效,則可采用來(lái)自高速緩存36的轉(zhuǎn)換 而無(wú)需從CAT 38獲取同一轉(zhuǎn)換(步驟507)。如果不是優(yōu)先的或如果優(yōu)先但 不是有效的,則可能不能采用來(lái)自高速緩存36的轉(zhuǎn)換,相反這樣的轉(zhuǎn)換必須 從CAT38獲取(步驟509)。注意到,盡管可在高速緩存36中存儲(chǔ)非優(yōu)先轉(zhuǎn)換,當(dāng)然優(yōu)先標(biāo)志被如此 設(shè)置以指示這樣的存儲(chǔ)不被認(rèn)為是必需的,因?yàn)檫@樣的非優(yōu)先轉(zhuǎn)換的非有效性 不由CAT38提供。因此,這樣的非優(yōu)先轉(zhuǎn)換將不被RAT34采用,至少根據(jù) 步驟615?,F(xiàn)在轉(zhuǎn)向圖6,可見(jiàn)如果在正常操作過(guò)程中,CAT 38對(duì)于其數(shù)據(jù)庫(kù)40中 的任何RA/SA轉(zhuǎn)換使SA改變(步驟601),則CAT 38必須改變數(shù)據(jù)庫(kù)40 中的RA/SA轉(zhuǎn)換,且也必須確定相應(yīng)的標(biāo)志是否將RA/SA轉(zhuǎn)換標(biāo)記為優(yōu)先 RA/SA轉(zhuǎn)換(步驟603)。如果否,則這樣的改變不必被傳輸給RAT 34,因 為RAT34應(yīng)不會(huì)期望這樣的非優(yōu)先RA/SA轉(zhuǎn)換有效。然而,如果是,則這樣 的改變必須被傳輸給RAT 34,因?yàn)镽AT 34實(shí)際上確實(shí)期望這樣的優(yōu)先RA/SA 轉(zhuǎn)換有效(步驟605)。注意到,至RAT34的通信可包括新的優(yōu)先RA/SA轉(zhuǎn) 換,或可僅包括RAT 34改變高速緩存36中相應(yīng)有效性標(biāo)志以反映其中的優(yōu)先 RA/SA轉(zhuǎn)換不再有效的命令(步驟607)。因此,當(dāng)下一次設(shè)備32要求這樣 的優(yōu)先RA/SA轉(zhuǎn)換時(shí),當(dāng)審閱高速緩存36之后,RAT 34將根據(jù)相應(yīng)的有效 性標(biāo)志確定其中的RA/SA轉(zhuǎn)換不是有效的,且因此將向CAT38請(qǐng)求同一內(nèi)容。再次參考圖4,可見(jiàn)數(shù)據(jù)庫(kù)40具有RA/SA轉(zhuǎn)換RA799, SA799,相應(yīng)的優(yōu) 先標(biāo)志被設(shè)置以指示該轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換。相應(yīng)地,如圖所示,RA799,SA799隨 這樣設(shè)置的優(yōu)先標(biāo)志被存儲(chǔ)在高速緩存36中。這對(duì)RA802,SA802和 RA803,SA803也一樣。然而,注意盡管RA799,SA799和RA802,SA802各自被 存儲(chǔ)在高速緩存36處,且相應(yīng)的有效性標(biāo)志被設(shè)置以指示該優(yōu)先轉(zhuǎn)換有效, 但這對(duì)RA803,SA803不成立,它顯然是無(wú)效的,因?yàn)橛行詷?biāo)志被清零,意
味著SA803在CAT 38的數(shù)據(jù)庫(kù)40已改變,且從而在高速緩存36不再有效。 因此,RAT 34將不會(huì)采用這樣的來(lái)自高速緩存36的SA803,而是將改為從 CAT38獲取同一內(nèi)容。也注意到,RA800,SA800以及RA801,SA801被存儲(chǔ)在數(shù)據(jù)庫(kù)40,優(yōu)先標(biāo) 志被清零,且因此不是優(yōu)先轉(zhuǎn)換。然而,盡管RAT 34己選擇在高速緩存36 存儲(chǔ)RA800,SA800,且優(yōu)先標(biāo)志清零,但RA801,SA801并不同樣存儲(chǔ)在這樣 的高速緩存36中。顯然,RAT34或者已選擇不存儲(chǔ)這樣的RA801,SA801,或 者還未向CAT38請(qǐng)求這一內(nèi)容。最后注意到,對(duì)于RAT 34的高速緩存36的RA/SA轉(zhuǎn)換,具有RAT 34 的設(shè)備32可或者基于數(shù)據(jù)的RA或者數(shù)據(jù)的SA來(lái)請(qǐng)求資源12的一地址處的 數(shù)據(jù)。從而,來(lái)自設(shè)備32對(duì)一地址處的數(shù)據(jù)的請(qǐng)求必須包括地址類(lèi)型的標(biāo)識(shí), 即RA或SA。如應(yīng)理解,如果是RA,則請(qǐng)求并定向到CAT38以轉(zhuǎn)換RA并 進(jìn)一步轉(zhuǎn)發(fā)給資源12,如果是SA,則請(qǐng)求繞過(guò)CAT38。結(jié)論實(shí)現(xiàn)結(jié)合本發(fā)明執(zhí)行的過(guò)程所需的編程相當(dāng)直接,且應(yīng)對(duì)相關(guān)編程公眾是 顯而易見(jiàn)的。具體地,實(shí)現(xiàn)圖5和6的步驟所需的編程基于每一這樣的步驟所 需的功能應(yīng)是顯然的。從而,這樣的編程不附在此。因此,可采用任何特定的 編程來(lái)實(shí)現(xiàn)本發(fā)明,而不背離其精神和范圍。在本發(fā)明中,提供了以更高效的方式執(zhí)行設(shè)備32的地址轉(zhuǎn)換無(wú)效的方法 和機(jī)制。該方法和機(jī)制基于在設(shè)備32處高速緩存至少某些RA/SA來(lái)為設(shè)備32 執(zhí)行地址轉(zhuǎn)換。當(dāng)在設(shè)備32高速緩存的RA/SA因定義RA/SA轉(zhuǎn)換的數(shù)據(jù)庫(kù) 中的條目已改變而不再有效時(shí),從CAT有條件地發(fā)送通知,向設(shè)備標(biāo)識(shí)所高 速緩存的轉(zhuǎn)換不是有效的。應(yīng)當(dāng)理解,可對(duì)上述實(shí)施例作出改變而不脫離其發(fā)明概念。例如,盡管根 據(jù)具有在地址存儲(chǔ)的數(shù)據(jù)的資源12描述了本發(fā)明,但資源12也可以是采用供 訪(fǎng)問(wèn)的地址的任何其他類(lèi)型的資源。從而應(yīng)理解,本發(fā)明不限于所公開(kāi)的具體 實(shí)施例,而是旨在覆蓋落入如由所附權(quán)利要求書(shū)定義的本發(fā)明的精神和范圍內(nèi) 的修改。
權(quán)利要求
1. 一種計(jì)算系統(tǒng),包括提供資源服務(wù)的資源,每一資源服務(wù)經(jīng)由系統(tǒng)地址(SA)訪(fǎng)問(wèn);用于經(jīng)由請(qǐng)求來(lái)請(qǐng)求所述資源的資源服務(wù)的設(shè)備,每一請(qǐng)求包括對(duì)應(yīng)于所述資源的SA的遠(yuǎn)程地址(RA);以及集中式地址轉(zhuǎn)換器(CAT),具有用于所述資源和設(shè)備的RA/SA轉(zhuǎn)換的數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中的每一RA/SA轉(zhuǎn)換對(duì)應(yīng)于相應(yīng)的RA和SA,CAT用于從所述設(shè)備接收對(duì)所述資源的請(qǐng)求,且對(duì)每一請(qǐng)求根據(jù)所述數(shù)據(jù)庫(kù)中所述相應(yīng)的RA/SA轉(zhuǎn)換將其RA轉(zhuǎn)換成相應(yīng)的SA,并將經(jīng)轉(zhuǎn)換的請(qǐng)求轉(zhuǎn)發(fā)給所述資源;所述設(shè)備具有帶有用于存儲(chǔ)從所述CAT獲取的RA/SA轉(zhuǎn)換的高速緩存的遠(yuǎn)程地址轉(zhuǎn)換器(RAT),存儲(chǔ)在所述CAT的數(shù)據(jù)庫(kù)中的每一RA/SA轉(zhuǎn)換包括優(yōu)先標(biāo)志,所述標(biāo)志被設(shè)置以指示所述RA/SA轉(zhuǎn)換是否被所述RAT視為優(yōu)先轉(zhuǎn)換,存儲(chǔ)在所述RAT的高速緩存中的每一RA/SA轉(zhuǎn)換包括有效性標(biāo)志,所述標(biāo)志被設(shè)置以指示所述轉(zhuǎn)換是否有效,所述RAT的高速緩存中的每一優(yōu)先轉(zhuǎn)換的有效性標(biāo)志一開(kāi)始當(dāng)從所述CAT獲取所述轉(zhuǎn)換時(shí)被設(shè)置,以指示所述優(yōu)先轉(zhuǎn)換有效,所述RAT高速緩存中的每一轉(zhuǎn)換的有效性標(biāo)志隨后被設(shè)置,以指示如果所述CAT向所述RAT通知這樣的轉(zhuǎn)換的SA已改變則這樣的轉(zhuǎn)換無(wú)效,所述RAT用于從所述設(shè)備接收對(duì)所述資源的請(qǐng)求,并對(duì)每一請(qǐng)求,確定所述高速緩存中是否有RA/SA轉(zhuǎn)換對(duì)應(yīng)于所述請(qǐng)求的RA,且如果是則確定所述相應(yīng)的轉(zhuǎn)換是否是優(yōu)先轉(zhuǎn)換,且如果是則確定所述相應(yīng)優(yōu)先轉(zhuǎn)換的相應(yīng)有效性標(biāo)志是否被設(shè)置以指示這樣的轉(zhuǎn)換有效,且如果是則根據(jù)所述高速緩存中的所述有效優(yōu)先RA/SA轉(zhuǎn)換將所述RA轉(zhuǎn)換成相應(yīng)的SA,并將所轉(zhuǎn)換的請(qǐng)求轉(zhuǎn)發(fā)給所述資源,否則所述RAT將所述請(qǐng)求發(fā)送給所述CAT進(jìn)行地址轉(zhuǎn)換。
2. 如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述資源是存儲(chǔ)并提供數(shù) 據(jù)的數(shù)據(jù)源,且每一數(shù)據(jù)經(jīng)由相應(yīng)的SAT訪(fǎng)問(wèn)。
3. 如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,對(duì)應(yīng)于所述RAT的驅(qū)動(dòng) 器向所述CAT標(biāo)識(shí)每一優(yōu)先轉(zhuǎn)換。
4. 如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述RAT向所述CAT 請(qǐng)求所述高速緩存的每一 RA/SA轉(zhuǎn)換,其中所述CAT用所請(qǐng)求的轉(zhuǎn)換以及設(shè) 置以指示所請(qǐng)求的轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換的相應(yīng)的優(yōu)先標(biāo)志來(lái)響應(yīng)對(duì)RA/SA轉(zhuǎn)換的 每一請(qǐng)求,且其中所述RAT在所述高速緩存中存儲(chǔ)所請(qǐng)求的轉(zhuǎn)換和所述相應(yīng) 的優(yōu)先標(biāo)志以及所述優(yōu)先轉(zhuǎn)換的相應(yīng)的有效標(biāo)志。
5. 如權(quán)利要求4所述的計(jì)算系統(tǒng),其特征在于,所述CAT在轉(zhuǎn)換的SA 改變且所改變的轉(zhuǎn)換是如由所述CAT的數(shù)據(jù)庫(kù)中的相應(yīng)的優(yōu)先標(biāo)志指示的優(yōu) 先轉(zhuǎn)換時(shí)通知所述RAT,且其中所述RAT的高速緩存中所改變的轉(zhuǎn)換的有效 性標(biāo)志從而被設(shè)置以指示這樣的轉(zhuǎn)換不再有效。
6. 如權(quán)利要求1所述的計(jì)算系統(tǒng),其特征在于,所述RAT向所述CAT 請(qǐng)求所述高速緩存的每一 RA/SA轉(zhuǎn)換,其中,如果所請(qǐng)求的轉(zhuǎn)換不是優(yōu)先轉(zhuǎn) 換,則所述CAT用所請(qǐng)求的轉(zhuǎn)換以及設(shè)置以指示所請(qǐng)求的轉(zhuǎn)換不是優(yōu)先轉(zhuǎn)換 的相應(yīng)的優(yōu)先標(biāo)志來(lái)響應(yīng)對(duì)RA/SA轉(zhuǎn)換的每一請(qǐng)求,且其中所述RAT在所述 高速緩存中存儲(chǔ)所請(qǐng)求的轉(zhuǎn)換和所述相應(yīng)的優(yōu)先標(biāo)志。
7. 如權(quán)利要求6所述的計(jì)算系統(tǒng),其特征在于,所述CAT在所請(qǐng)求的轉(zhuǎn) 換的SA改變且所改變的轉(zhuǎn)換由所述CAT的數(shù)據(jù)庫(kù)中的相應(yīng)優(yōu)先標(biāo)志所指示不 是優(yōu)先轉(zhuǎn)換時(shí)不通知所述RAT。
8. 如權(quán)利要求1所述的系統(tǒng),其特征在于,每一優(yōu)先轉(zhuǎn)換是相對(duì)更頻繁使 用的轉(zhuǎn)換,其中不是優(yōu)先轉(zhuǎn)換的每一轉(zhuǎn)換相對(duì)較不頻繁地使用。
9. 一種結(jié)合計(jì)算系統(tǒng)執(zhí)行的方法,包括 提供資源服務(wù)的資源,每一資源服務(wù)經(jīng)由系統(tǒng)地址(SA)訪(fǎng)問(wèn); 用于經(jīng)由請(qǐng)求來(lái)請(qǐng)求所述資源的資源服務(wù)的設(shè)備,每一請(qǐng)求包括對(duì)應(yīng)于所述資源的SA的遠(yuǎn)程地址(RA);以及集中式地址轉(zhuǎn)換器(CAT),具有用于所述資源和設(shè)備的RA/SA轉(zhuǎn)換的 數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)中的每一RA/SA轉(zhuǎn)換對(duì)應(yīng)于相應(yīng)的RA和SA, CAT用于 從所述設(shè)備接收對(duì)所述資源的請(qǐng)求,且對(duì)每一請(qǐng)求根據(jù)所述數(shù)據(jù)庫(kù)中所述相應(yīng) 的RA/SA轉(zhuǎn)換將其RA轉(zhuǎn)換成相應(yīng)的SA,并將經(jīng)轉(zhuǎn)換的請(qǐng)求轉(zhuǎn)發(fā)給所述資源;所述設(shè)備具有帶有用于存儲(chǔ)從所述CAT獲取的RA/SA轉(zhuǎn)換的高速緩存的 遠(yuǎn)程地址轉(zhuǎn)換器(RAT),存儲(chǔ)在所述RAT的高速緩存中的每一 RA/SA轉(zhuǎn)換包括被設(shè)置以指示所述 轉(zhuǎn)換是否是優(yōu)先轉(zhuǎn)換的優(yōu)先標(biāo)志,且每一轉(zhuǎn)換包括被設(shè)置以指示所述轉(zhuǎn)換是否 有效的有效性標(biāo)志,所述方法包括-所述RAT從所述設(shè)備接收對(duì)所述資源的請(qǐng)求; 所述RAT確定隨所接收的請(qǐng)求包括的RA;所述RAT確定在所述高速緩存中存在對(duì)應(yīng)于所接收的請(qǐng)求的RA的 RA/SA轉(zhuǎn)換;所述RAT之后確定所述高速緩存中所述現(xiàn)存轉(zhuǎn)換的相應(yīng)的優(yōu)先標(biāo)志是否 被設(shè)置以指示這樣的轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換,且如果是則確定所述高速緩存中所述優(yōu) 先轉(zhuǎn)換的相應(yīng)的有效標(biāo)志是否被設(shè)置以指示這樣的優(yōu)先轉(zhuǎn)換有效;如果所述轉(zhuǎn)換是有效優(yōu)先轉(zhuǎn)換,則所述RAT根據(jù)所述高速緩存中的有效 優(yōu)先RA/SA轉(zhuǎn)換將所接收請(qǐng)求中的RA轉(zhuǎn)換成相應(yīng)的SA,并將經(jīng)轉(zhuǎn)換的請(qǐng)求 轉(zhuǎn)發(fā)給所述資源而不將所述請(qǐng)求轉(zhuǎn)發(fā)給所述CAT;以及如果所述轉(zhuǎn)換不是有效優(yōu)先轉(zhuǎn)換,則所述RAT將所接收的請(qǐng)求轉(zhuǎn)發(fā)給所 述CAT進(jìn)行地址轉(zhuǎn)換。
10.如權(quán)利要求9所述的方法,其特征在于,所述資源是存儲(chǔ)并提供數(shù) 據(jù)的數(shù)據(jù)源,且每一數(shù)據(jù)經(jīng)由相應(yīng)的SAT訪(fǎng)問(wèn)。
11. 如權(quán)利要求9所述的方法,其特征在于,還包括所述RAT向所述CAT請(qǐng)求RA/SA轉(zhuǎn)換;所述CAT用所請(qǐng)求的轉(zhuǎn)換以及設(shè)置以指示所請(qǐng)求的轉(zhuǎn)換是優(yōu)先轉(zhuǎn)換的相 應(yīng)的優(yōu)先標(biāo)志來(lái)響應(yīng)所述對(duì)RA/SA轉(zhuǎn)換的請(qǐng)求;以及所述RAT在所述高速緩存中存儲(chǔ)所請(qǐng)求的轉(zhuǎn)換和相應(yīng)的優(yōu)先標(biāo)志以及相 應(yīng)的有效性標(biāo)志。
12. 如權(quán)利要求ll所述的方法,其特征在于,還包括 所述CAT當(dāng)優(yōu)先轉(zhuǎn)換的SA改變時(shí)通知所述RAT;以及所述RAT為所述RAT的高速緩存中所改變的轉(zhuǎn)換設(shè)置有效性標(biāo)志,以指 示這樣的優(yōu)先轉(zhuǎn)換不再有效。
全文摘要
計(jì)算系統(tǒng)具有用于提供資源服務(wù)的資源,其中每一資源服務(wù)經(jīng)由系統(tǒng)地址(SA)訪(fǎng)問(wèn)。設(shè)備經(jīng)由請(qǐng)求來(lái)請(qǐng)求資源的資源服務(wù),其中每一請(qǐng)求包括對(duì)應(yīng)于資源的SA的遠(yuǎn)程地址(RA)。集中式地址轉(zhuǎn)換器(CAT)具有資源和設(shè)備的RA/SA轉(zhuǎn)換的數(shù)據(jù)庫(kù),其中數(shù)據(jù)庫(kù)中的每一RA/SA轉(zhuǎn)換對(duì)應(yīng)于相應(yīng)的RA和SA。設(shè)備具有帶有用于存儲(chǔ)從CAT獲取的RA/SA轉(zhuǎn)換的高速緩存的遠(yuǎn)程地址轉(zhuǎn)換器(RAT)。RAT高速緩存中的每一優(yōu)先RA/SA轉(zhuǎn)換包括基于是否在CAT改變了SA而設(shè)置以指示優(yōu)先轉(zhuǎn)換是否有效的有效性標(biāo)志。
文檔編號(hào)G06F15/16GK101401085SQ200780008359
公開(kāi)日2009年4月1日 申請(qǐng)日期2007年3月8日 優(yōu)先權(quán)日2006年3月10日
發(fā)明者D·R·伍藤 申請(qǐng)人:微軟公司