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

用于諸如硬件設(shè)備的資源的選擇性地址轉(zhuǎn)換的制作方法

文檔序號:6454181閱讀:195來源:國知局
專利名稱:用于諸如硬件設(shè)備的資源的選擇性地址轉(zhuǎn)換的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及可用于協(xié)同集中式轉(zhuǎn)換硬件在硬件設(shè)備中選擇性執(zhí)行地址轉(zhuǎn) 換的方法和機制。具體地,本發(fā)明涉及允許控制軟件來選擇性地允許硬件設(shè)備 使用經(jīng)轉(zhuǎn)換的地址的這樣的方法和機制。扭旦 冃眾如應(yīng)理解,計算機系統(tǒng)釆用了用于控制為其本身執(zhí)行直接存儲器訪問(DMA)的硬件設(shè)備對系統(tǒng)存儲器的訪問而非使用中央處理器上的程序?qū)?shù) 據(jù)從系統(tǒng)存儲器復(fù)制到硬件設(shè)備或者將數(shù)據(jù)從硬件設(shè)備復(fù)制到系統(tǒng)存儲器的 機制。存在這種轉(zhuǎn)換機制以支持應(yīng)用程序、虛擬機等對硬件的直接控制等。計算設(shè)備上的特定實體、設(shè)備或構(gòu)造(后文中,稱之為"實體")可要求對 與該計算設(shè)備相關(guān)聯(lián)的資源的訪問權(quán)等。如可以理解的,這一資源可以是可與 計算設(shè)備相關(guān)聯(lián)的任何種類的資源。例如,資源可以是儲存和檢索數(shù)據(jù)的存儲 設(shè)備,且一般將用于采用存儲設(shè)備的任何目的。同樣,資源可以是諸如網(wǎng)絡(luò)、 打印機、掃描儀、網(wǎng)絡(luò)驅(qū)動器、虛擬驅(qū)動器、服務(wù)器等的任何其它資產(chǎn)。因此, 不管資源是什么,該實體實際上都可具有對由這些資源提供的服務(wù)的訪問權(quán)。運行在典型物理硬件系統(tǒng)上的典型物理操作系統(tǒng)允許其上運行的應(yīng)用程 序采用虛擬存儲器地址和尋址,且物理操作系統(tǒng)在這樣的虛擬存儲器地址和相 應(yīng)的物理存儲器的物理存儲器地址之間執(zhí)行地址轉(zhuǎn)換。使用這樣的虛擬存儲器 尋址的理由是已知的,從而無需在此處詳細(xì)描述。 一般,虛擬存儲器尋址將運 行在操作系統(tǒng)上的應(yīng)用程序從涉及干涉運行在該操作系統(tǒng)上的另一程序所采 用的物理存儲器的情況中解放出來,還將應(yīng)用程序從過于緊密連系至任何特定 的物理存儲器結(jié)構(gòu)的情況中解放出來。相反,采用虛擬存儲器尋址,采用操作 系統(tǒng)的地址轉(zhuǎn)換器來經(jīng)由適當(dāng)?shù)臄?shù)據(jù)庫等在相應(yīng)的物理和虛擬存儲器地址之 間執(zhí)行地址轉(zhuǎn)換。這樣做,這樣的地址轉(zhuǎn)換器也確保一個應(yīng)用程序所釆用的存
儲器不會干涉任何其他應(yīng)用程序或被任何其他應(yīng)用程序更改,還確保每一應(yīng)用 程序具有向其分配的適當(dāng)?shù)奈锢泶鎯ζ髁俊.?dāng)執(zhí)行DMA等的硬件設(shè)備由實體采用以訪問相應(yīng)的資源時,該實體所采用的地址是虛擬地址。應(yīng)認(rèn)識到,這些虛擬地址不直接對應(yīng)于物理地址,因此通常,在DMA設(shè)備和系統(tǒng)存儲器之間引入轉(zhuǎn)換機制。該轉(zhuǎn)換機制使用數(shù)據(jù)庫 等將DMA設(shè)備提供的虛擬地址轉(zhuǎn)化成物理地址。轉(zhuǎn)換機制一般被稱為DMA 重新映射(DAMr)或IO存儲器管理單元(IOMMU)。對大多數(shù)系統(tǒng),IOMMU將服務(wù)多個DMA設(shè)備。即,將向IOMMU發(fā)送 來自多個設(shè)備的DMA請求以便處理。IOMMU將使用適于特定設(shè)備以將來自 設(shè)備的DMA請求中的虛擬地址轉(zhuǎn)換成適當(dāng)物理地址的數(shù)據(jù)庫。IOMMU—般將具有所謂的轉(zhuǎn)換后備緩沖區(qū)(IOTLB),其中它可保存最 近使用的轉(zhuǎn)換的高速緩存。該IOTLB允許IOMMU當(dāng)對眾多DMA操作使用 相同地址時避免耗時的數(shù)據(jù)庫訪問。正常地,轉(zhuǎn)換應(yīng)用于存儲器的大部分,諸 如頁,使得將對多個DMA操作使用相同的頁地址。對某些實體,集中式IOTLB的行為不足以最小化對DMA訪問的等待時 間影響。對這些實體,建議允許它們具有自己的IOTLB,使得它們可在請求被 發(fā)送給存儲器之前本地轉(zhuǎn)換地址。本地轉(zhuǎn)換的高速緩存的優(yōu)點在于,設(shè)備能更 好地了解正將要訪問存儲器的方式,從而可能更高效地管理其IOTLB,而 IOMMU中的中央IOTLB將純粹是反應(yīng)性的且僅響應(yīng)于即時情況而非能夠預(yù) 測設(shè)備將來的需求。使用設(shè)備的IOTLB (后文中被稱為地址轉(zhuǎn)換高速緩存即"ATC")的一個示 例是等時設(shè)備。等時設(shè)備具有特定的等待時間要求,使其能夠維持穩(wěn)定的信息 流。為了防止因?qū)OMMU數(shù)據(jù)庫不合時、長等待時間的訪問引起的對流的中 斷,等時設(shè)備可在傳送之前請求將用于傳送的地址的轉(zhuǎn)換。然而,ATC將能夠 提供虛擬到物理地址轉(zhuǎn)換供數(shù)據(jù)實際可用時的等時傳送。由于ATC包含來自IOMMU數(shù)據(jù)庫的信息的高速緩存,當(dāng)對數(shù)據(jù)庫作出 了可能使得ATC中高速緩存的值不再有效的改變時,必須通知ATC。使用無 效協(xié)議來確保中央IOMMU數(shù)據(jù)庫和ATC之間的這種同步。當(dāng)對數(shù)據(jù)庫中可 能位于ATC中的值作出改變時,必須向該ATC發(fā)送指示改變了哪些GPA轉(zhuǎn) 換的無效命令。ATC然后可清除其任何相應(yīng)轉(zhuǎn)換的高速緩存,并向IOMMU 發(fā)回指示以指示己清除了條目。該協(xié)議是耗時的,且優(yōu)選地它不被無意義地使 用。在使用遠(yuǎn)程ATC時,眾多不同的編程模型是可能的。在一個模型中,實 體可具有連續(xù)用于存儲設(shè)備的命令的小緩沖區(qū)。這所謂的環(huán)緩沖區(qū)在初始化實體時建立,且緩沖區(qū)的地址不會改變直到設(shè)備復(fù)位。緩沖區(qū)中的命令可用命令 中表達(dá)為虛擬地址的地址來引用存儲器數(shù)據(jù)緩沖區(qū)。盡管命令緩沖區(qū)可能連續(xù) 重用,但數(shù)據(jù)緩沖區(qū)可能很少重用。因此,盡管設(shè)備可受益于具有用于命令緩 沖區(qū)地址的ATC,但數(shù)據(jù)緩沖區(qū)轉(zhuǎn)換的本地高速緩存是不值得的。本申請示出 ATC的主要問題。命令緩沖區(qū)地址從不改變,且它們被高速緩存在ATC中。 數(shù)據(jù)緩沖區(qū)地址改變相當(dāng)多,且它們不被高速緩存在設(shè)備的ATC中。然而,IOMMU數(shù)據(jù)庫的管理器并不知道數(shù)據(jù)緩沖區(qū)地址不被高速緩存在 設(shè)備中,因此每當(dāng)它改變了數(shù)據(jù)庫中用于數(shù)據(jù)緩沖區(qū)的條目時,它將向設(shè)備的 ATC發(fā)送無效指示。這導(dǎo)致眾多無用的無效指示被發(fā)送給ATC。如果控制 IOMMU數(shù)據(jù)庫的軟件了解哪些轉(zhuǎn)換可能位于設(shè)備的ATC中,哪些不位于其 中,則它可避免發(fā)送不需要的無效指示。概述本發(fā)明至少部分滿足前述需求,本發(fā)明中計算系統(tǒng)具有用于提供資源服務(wù) 的資源,其中經(jīng)由系統(tǒng)地址(SA)訪問每一資源服務(wù)。計算系統(tǒng)的設(shè)備經(jīng)由請 求來請求資源的資源服務(wù),其中每一請求包括遠(yuǎn)程地址(RA)。計算機系統(tǒng) 的集中式地址轉(zhuǎn)換器(CAT)具有設(shè)備的RA/SA轉(zhuǎn)換的數(shù)據(jù)庫,其中數(shù)據(jù)庫 中的每一RA/SA轉(zhuǎn)換對應(yīng)于相應(yīng)的RA和SA。 CAT從設(shè)備對資源的請求,并 對每一請求根據(jù)數(shù)據(jù)庫中的相應(yīng)的RA/SA轉(zhuǎn)換將其RA轉(zhuǎn)換成相應(yīng)的SA,并將請求以及經(jīng)轉(zhuǎn)換的地址轉(zhuǎn)發(fā)給資源。設(shè)備具有帶有用于存儲從CAT獲取的RA/SA轉(zhuǎn)換的高速緩存的遠(yuǎn)程地址 轉(zhuǎn)換器(RAT)。被存儲在CAT的數(shù)據(jù)庫中的每一 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)志一開始當(dāng)從CAT獲取優(yōu)先轉(zhuǎn)換時被設(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)換無效。RAT從設(shè)備接收對訪問資源的請求,且對每一請求確定其高速緩存中是 否有有效的RA/SA轉(zhuǎn)換對應(yīng)于該請求的RA。如果是,則RAT確定相應(yīng)的轉(zhuǎn) 換是否是優(yōu)先轉(zhuǎn)換。如果是,則RAT將RA轉(zhuǎn)換成相應(yīng)的SA,并在請求中設(shè) 置標(biāo)志以指示它包含SA,并將經(jīng)轉(zhuǎn)換的請求轉(zhuǎn)發(fā)給CAT。 CAT將檢査請求, 且如果它發(fā)現(xiàn)請求包含SA,則它將請求轉(zhuǎn)發(fā)給資源而不進(jìn)一步轉(zhuǎn)換。否則, 如果請求不指示它包含經(jīng)轉(zhuǎn)換的地址,則CAT將把請求中的RA轉(zhuǎn)換成SA。如果RAT在高速緩存中找到對應(yīng)于該RA的有效條目,但優(yōu)先標(biāo)志未設(shè) 置,則RAT將請求以及RA而非SA發(fā)送給CAT,且將不設(shè)置指示請求包含 SA的標(biāo)志。在由CAT使用的數(shù)據(jù)庫中維護優(yōu)先標(biāo)志。當(dāng)控制軟件改變數(shù)據(jù)庫中的條 目時,它檢査以查看設(shè)備是否具有RAT,且如果是則檢查以查看優(yōu)先標(biāo)志是否 被設(shè)置。如果設(shè)備具有RAT且優(yōu)先標(biāo)志被設(shè)置,則控制軟件將向RAT發(fā)送無 效命令以確保RAT中的高速緩存不再包含不再有效的RA至SA的轉(zhuǎn)換。如果 優(yōu)先標(biāo)志未設(shè)置,則控制軟件無需發(fā)送無效指示,因為RAT不會試圖使用不 再有效的轉(zhuǎn)換。設(shè)備可使用任何數(shù)目的方案來確保CAT中的高速緩存不會充滿未將優(yōu)先 標(biāo)志設(shè)置的條目。示例方案供設(shè)備周期性無效未將優(yōu)先標(biāo)志設(shè)置的所有有效條 目。另一示例供設(shè)備跟蹤其因緩沖區(qū)訪問而對RA的使用。當(dāng)不再需要RA時, 諸如當(dāng)相關(guān)聯(lián)的DMA傳送完成時,RAT高速緩存中對應(yīng)于該RA的任何有效 條目將被無效。附圖以上概述以及以下本發(fā)明實施例的詳細(xì)描述在結(jié)合附圖閱讀時能夠被更 好地理解。出于說明本發(fā)明的目的,在附圖中示出目前優(yōu)選的實施例。然而, 如應(yīng)理解的,本發(fā)明不限于所示的精確安排和手段。在附圖中

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