亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

命名空間合并的制作方法

文檔序號:6477681閱讀:210來源:國知局
專利名稱:命名空間合并的制作方法
命名空間合并 背景 計算機(jī)應(yīng)用程序通常通過操作系統(tǒng)來訪問計算機(jī)或系統(tǒng)資源。資源可以是文件、庫、系統(tǒng)服務(wù)(例如,剪切和粘貼、打印機(jī))、注冊表或配置信息、以及其它。虛擬化環(huán)境或組件虛擬化應(yīng)用程序?qū)ο到y(tǒng)資源的訪問,從而如同應(yīng)用程序直接處理操作系統(tǒng)那樣來透明地處理應(yīng)用程序?qū)ο到y(tǒng)資源的訪問。 虛擬化環(huán)境可管理對多組系統(tǒng)資源的訪問,這多組系統(tǒng)資源中的一部分可能重疊或沖突。本機(jī)操作系統(tǒng)可具有包括具有諸如'7某路徑/某文件名"("/som印ath/someFileName")等文件名的文件的一組文件資源。應(yīng)用程序虛擬化包(或一組陰影資源)可具有使用同一文件名例如'7路徑/某文件名"('7path/someFileName")的不同文件實例。虛擬化環(huán)境將以對應(yīng)用程序透明的方式來管理應(yīng)用程序?qū)?7路徑/某文件名"的訪問。該應(yīng)用程序可寫入'7路徑/某文件名",且虛擬化環(huán)境將確定文件'7路徑/某文件名"的哪個實例(本機(jī)操作系統(tǒng)文件或虛擬化包文件)將被寫入。
在以下討論涉及管理對資源的訪問的技術(shù)。
概述 以下概述僅是為了介紹在以下詳細(xì)描述中討論的某些概念而包括的。本概述并不是全面的,并且不旨在描繪所要求保護(hù)的主題的范圍,該范圍由所附的權(quán)利要求書來闡明。
應(yīng)用程序?qū)τ嬎銠C(jī)上在第一命名空間和第二命名空間中被命名的資源具有虛擬化訪問權(quán)。第一命名空間包括資源的名稱的第一列表而第二命名空間包括資源的名稱的第二列表。每一命名空間對應(yīng)于計算機(jī)上的不同資源組,其中某些資源盡管在不同組中,但在兩個命名空間中都被命名。即,可能存在處于每一命名空間中但恰好具有相同名稱的不同資源。應(yīng)用程序請求第一名稱的資源,而作為響應(yīng)通過訪問第一命名空間和第二命名空間來從由第一命名空間命名的資源組中獲取該資源。應(yīng)用程序請求第二名稱的資源,而作為響應(yīng)通過訪問第一命名空間和第二命名空間來從由第二命名空間命名的資源組中獲取該資源。 許多附帶特征將參考以下的詳細(xì)描述并結(jié)合附圖考慮以在下文解釋。
附圖簡述 根據(jù)附圖閱讀以下詳細(xì)描述,將更好地理解本發(fā)明,其中在所附描述中使用相同
的附圖標(biāo)記來指代相同的部分。


圖1示出計算機(jī)上虛擬化環(huán)境。
圖2示出管理對多組重疊資源的訪問的虛擬化層。 圖3示出用于資源命名空間的一次性合并的技術(shù)。 圖4示出用于資源命名空間的動態(tài)合并的技術(shù)。 圖5示出枚舉邏輯資源命名空間時的操作的序列。 圖6示出動態(tài)邏輯命名空間合并的過程。 圖7示出在完成時將從資源命名空間中被動態(tài)地生成的邏輯資源命名空間。
圖8-18示出得到圖7中示出的邏輯資源命名空間的動態(tài)合并算法的操作的序列。
詳細(xì)描述
概覽 以下討論的實施例涉及管理對計算機(jī)系統(tǒng)上的資源的虛擬訪問。首先討論虛擬環(huán)境。隨后解釋用于資源命名空間的靜態(tài)合并的技術(shù)。與靜態(tài)合并形成對比,隨后介紹資源命名空間的動態(tài)合并,并解釋動態(tài)合并的各方法。隨后如會由動態(tài)合并的實施例之一處理的那樣來走查示例問題。
虛擬環(huán)境 圖1示出計算機(jī)102上的虛擬化環(huán)境100。在計算機(jī)102上運行的應(yīng)用程序104通過該虛擬環(huán)境100來訪問各系統(tǒng)資源106、108、和110。虛擬化環(huán)境100管理應(yīng)用程序104對系統(tǒng)資源106、108、和110的訪問。系統(tǒng)資源106、108、和110可以是在計算機(jī)上可用的任何類型的的資源。例如,系統(tǒng)資源106可以是系統(tǒng)文件、注冊表或數(shù)據(jù)庫條目、安裝或配置文件、動態(tài)加載庫等。系統(tǒng)資源108可以是諸如對象通信服務(wù)、打印服務(wù)、剪切和粘貼服務(wù)等系統(tǒng)服務(wù)。系統(tǒng)資源110可以是概況數(shù)據(jù)、TCP/IP地址和/或端口、互斥、信號量、命名管道、COM對象、字體。 系統(tǒng)資源106、 108、和IIO可在計算機(jī)102上具有不同的可見范圍。某些資源106、108、和110可以是對計算機(jī)102上的所有應(yīng)用程序可見的全局本機(jī)資源。某些系統(tǒng)資源106、108、和IIO可以是僅可由應(yīng)用程序104看見或訪問的局部資源。例如,應(yīng)用程序虛擬化包可包括文件、注冊表條目、配置設(shè)置、或僅應(yīng)用程序104使用的其它資源的實例。還可以存在僅對正在使用虛擬化環(huán)境100的特定用戶或應(yīng)用程序可用的其它半局部資源。值得注意的是,這些局部或半局部資源中的任何一個可能具有擁有相同名稱的對應(yīng)本機(jī)資源實例(即,計算機(jī)102上的全局資源)。S卩,如背景中所提到的,給定一資源名稱,可能有具有該名稱的全局資源的實例、具有該名稱的局部資源的實例、和/或具有該相同名稱的半局部資源的實例。用于合并和訪問此類重疊資源的技術(shù)在以下詳細(xì)討論。
虛擬化環(huán)境100使得資源106、108、和110作為一組虛擬資源112出現(xiàn)。盡管應(yīng)用程序104可如同直接訪問系統(tǒng)資源106、 108、和110那樣執(zhí)行讀和/或?qū)懖僮?,但是虛擬化環(huán)境中介這些操作。通常,應(yīng)用程序104的操作將與在虛擬化環(huán)境100不在計算機(jī)102上存在時的操作沒有任何不同。然而,無論應(yīng)用程序在虛擬化環(huán)境存在的情況下是否改變其行為,以下討論的用于合并資源(如系統(tǒng)資源106、108、和110)的命名空間的實施例將是適用的。 圖2示出管理對多組重疊資源152、154、和156的訪問的虛擬化層150。應(yīng)用程序158通過虛擬化環(huán)境150來透明地訪問資源152、 154、和156。資源組152、154、和156具有不同的優(yōu)先次序和目的。用戶組152的范圍僅為應(yīng)用程序158,包組154的范圍是在虛擬化層150下由相同用戶運行的應(yīng)用程序,而全局組156具有全局范圍;主計算機(jī)上的任何應(yīng)用程序或用戶身份可能能夠訪問資源組156。可使用其它類型的資源。在另一實施例中,組152可用于所有在虛擬環(huán)境中運行的應(yīng)用程序,而組154可用于運行一應(yīng)用程序的所有用戶上的所有虛擬環(huán)境。雖然資源組152、154、和156被示為按類型分成類別160、162、和164,但這并不是必需的,而取決于資源如何在特定計算平臺上被訪問。在一個實施例中,資源152、154、或156將是包含具有相同范圍的所有類型的資源的容器,例如全局文件、注冊表條目、網(wǎng)絡(luò)連接、或局部文件和系統(tǒng)服務(wù)等。
資源組152、154、和156可如上所述地重疊, 一個資源組可具有與另一組中的另一資源實例具有相同名稱的資源實例。在圖2的示例中,資源的實例"cA目錄\文件1((3:\diiAfilel)"在資源組的每一個中。這些實例具有不同內(nèi)容、不同大小等。諸如"cA目錄\文件4(c:\dirl\file4)"的另一資源僅在全局資源組156中。虛擬化層150處理應(yīng)用程序158的打開名為"cA目錄X文件2(c:VlirUfile2)"的文件的請求??赡芙o定用戶資源組152優(yōu)先級,虛擬化層150可能打開使用資源152中的實例"c: \目錄\文件2 (c: \dirl\file2)"并將對應(yīng)文件句柄或文件對象返回給應(yīng)用程序158,從而使得應(yīng)用程序158使用用于資源組152中的實例。在應(yīng)用程序訪問名為"cA目錄X文件4(c:VlirUfile4)"的文件時,從唯一具有該資源的資源組154中獲取該資源。
合并資源命名空間 圖3示出用于資源命名空間1S0、182、和184的一次性合并的技術(shù)。資源命名空間1S0、182、和184中的字母表示某些任意資源實例的名稱,且不同資源命名空間中的相同字母表示相同名稱的資源的不同實例(不同實例具有不同內(nèi)容)。為提供對資源180、182、和184的一致且邏輯的訪問,合并185這些資源以創(chuàng)建合并后的資源命名空間188。該合并185在應(yīng)用程序186訪問資源命名空間180、 182、和184中的各種資源之前執(zhí)行。具有其需要的資源的名稱的列表的應(yīng)用程序188,開始遍歷該列表,以請求資源A、資源B、資源G等。在應(yīng)用程序188需要例如資源A的資源時,其從完全合并的命名空間186中獲取該資源。盡管合并后的命名空間可被描述為包含名稱或資源,但實踐中這樣的合并將包含諸如名稱(不同于由應(yīng)用程序看到的名稱)、唯一標(biāo)識符、引用等全局明確信息。在一資源被描述為從命名空間中獲取時,這包括獲取允許該資源被訪問的任何信息,例如指針、唯一標(biāo)識符或地址、數(shù)據(jù)結(jié)構(gòu)或用于訪問該對象的對象等。 圖3的靜態(tài)合并方法存在若干問題。例如,如果基礎(chǔ)資源命名空間180、182、和184之一的組成在一次性合并185之后改變,則合并后的資源命名空間188將是不正確的且可能向應(yīng)用程序188提供不正確的資源,或資源命名空間1S0、182、和184將需要被重新合并。同樣,存在預(yù)先合并命名空間所招致的性能成本。
動態(tài)資源命名空間合并 圖4示出用于資源命名空間的動態(tài)合并的技術(shù)。使用此方法,應(yīng)用程序從例如局部資源命名空間和全局資源命名空間等兩個或多個組元資源命名空間中獲取所需資源。在已經(jīng)確定了 200對資源的需要時,通過動態(tài)地合并組元資源命名空間來提供202邏輯命名空間??山?jīng)由具有用于枚舉集合(名稱的集合)的方法的對象接口來訪問邏輯命名空間,其中將邏輯命名空間作為其所需的部分來生成(通過組元資源命名空間的動態(tài)合并),因此向應(yīng)用程序給予邏輯命名空間是實際命名空間的表象。在應(yīng)用程序需要204諸如資源A等資源時,動態(tài)合并的邏輯通過尋找具有資源A的組元資源命名空間來獲取206該資源并將其返回給應(yīng)用程序。資源A可來自諸如局部命名空間等組元命名空間中的任何一個。在應(yīng)用程序需要208諸如資源B的另一資源時,動態(tài)合并邏輯隨后查看各組元命名空間并確定哪一個將提供資源B,從該組元命名空間中獲取210資源B并將其返回給應(yīng)用程序。資源B可來自諸如全局命名空間等組元資源命名空間中的任何一個。兩個命名空間可能具有名為A的不同資源的實例,且可能具有名為B的不同資源的實例。 圖5示出枚舉邏輯資源命名空間220時的操作的序列。在應(yīng)用程序222需要224名為A的資源時,其例如使用諸如enumerate () 、 next () 、 nonempty () 、 first ()等枚舉接口的方法來向邏輯命名空間220請求資源。動態(tài)合并組件226查看基礎(chǔ)資源命名空間228、230、和232中的資源的未合并名稱。動態(tài)合并組件226檢查基礎(chǔ)資源命名空間228、230、和232并返回來自基礎(chǔ)資源命名空間228的資源A,其作為邏輯資源命名空間220中的第一資源被返回給應(yīng)用程序222。在應(yīng)用程序222需要234資源B時,類似過程發(fā)生,動態(tài)合并組件226查看基礎(chǔ)資源命名空間22S、230、和232中的資源的未合并名稱,并確定資源B雖然可在基礎(chǔ)資源命名空間228和230中獲得,但應(yīng)來自基礎(chǔ)資源命名空間280。將來自基礎(chǔ)資源命名空間228的資源B返回給應(yīng)用程序。在需要資源G時,從基礎(chǔ)資源命名空間230將其返回,以此類推。 圖6示出動態(tài)邏輯資源命名空間合并的過程。如前所述,集合(諸如命名空間中的資源的集合)的枚舉涉及訪問集合成員以使得先前未訪問的集合成員被繼續(xù)訪問(優(yōu)選地以某種邏輯次序)直到所有成員都已經(jīng)被訪問。在圖6的過程中,應(yīng)用程序或某個其它程序開始邏輯資源命名空間的枚舉250。使用來自每一候選資源命名空間的下一未使用(未合并)名稱來填充或填入252候選列表。從候選列表中返回254邏輯資源命名空間的滾動下一名稱并將其增加到一空槽。通過例如從候選列表中移除被返回254的候選名稱來刷新256候選列表。隨著圖6的過程的重復(fù),任何空的候選列表條目再次被來自相應(yīng)候選資源命名空間的下一未使用名稱填充,且邏輯命名空間中的下一名稱經(jīng)由候選類表不斷地從各候選資源命名空間之一到來。 如可見到的,在某些實施例中,按應(yīng)用程序所需以滾動方式將來自重疊候選資源命名空間的資源從那些命名空間返回給該應(yīng)用程序。如果需要各種任意資源,則可使用底層命名空間來直接查找名稱而不使用枚舉,在這種情況下在每一命名空間中執(zhí)行查找并返回第一命中。使用動態(tài)合并的情況下,如果候選資源命名空間之一改變,則該改變對應(yīng)用程序是可見的。此外,如果應(yīng)用程序按序(例如,遞增字母表次序)通過名稱來請求資源,且如果按此對候選資源命名空間進(jìn)行預(yù)先排序,則在資源被請求時該應(yīng)用程序可快速地獲取資源,因為不需要完成完整的合并。隨著討論圖7-18這將變得更清楚。
圖7示出在完成時將從示例資源命名空間282、284、和286中被動態(tài)地生成的邏輯資源命名空間288。圖818示出應(yīng)用于資源命名空間282、284、和286以得到圖7中示出的邏輯資源命名空間288的動態(tài)合并算法280的合并操作的序列。示例資源命名空間282、284、和286是具有不同范圍和優(yōu)先次序的資源命名空間。在此示例中,在資源命名空間2S2、284、和286之間,資源命名空間282具有最高優(yōu)先次序而資源命名空間286具有最低優(yōu)先次序。在一個實施例中,資源命名空間2S2、284、和286的優(yōu)先次序可隨名稱變化。換言之,對一個名稱而言資源命名空間282可具有最高優(yōu)先次序,而對另一名稱而言資源命名空間284可具有較高優(yōu)先次序??粘跏歼壿嬅臻g288在圖8中示出,而完成后的邏輯命名空間288在圖18 (以及圖7)中示出。 如圖8所示,最初,如也許在某些軟件開始枚舉邏輯命名空間時所請求地,需要來自邏輯命名空間288的下一名稱。軟件可以是在虛擬化環(huán)境中運行的應(yīng)用程序或某個其它虛擬化或準(zhǔn)虛擬化軟件。隨后使用來自其相應(yīng)候選命名空間中的下一名稱來填充280. 1候選列表290中的空槽;其中A來自命名空間282、B來自命名空間284、而0來自命名空間286。如在候選命名空間282、284、和286中的"X"所示,這些資源被標(biāo)記為在其相應(yīng)的命名空間中使用。在圖9中,找到280. 2候選列表290中的最小條目,移除280. 3候選列表290 中具有該名稱的所有條目(來自命名空間282的A)并將所找到282.2的條目A作為邏輯 命名空間288的枚舉中的下一名稱返回280. 5。 在圖10中,在需要來自邏輯命名空間288的下一名稱時重復(fù)過程280。使用資源命 名空間282中的下一資源來填充資源命名空間282的空候選者,該下一資源是B282。 B282 被標(biāo)記為用于資源命名空間282。在圖11中,找到280.2候選列表290中的最小條目B。因 為280. 2. b是存在于命名空間280和284兩者中的最小資源名稱(在候選列表290中存在 兩個"B"條目),所以選擇候選列表中最早的條目(來自最高優(yōu)先級資源命名空間中的那 個)。移除280.3候選列表290中的所有具有該名稱的條目(來自命名空間282的B282和 來自命名空間284的B284)。將所找到280. 2的條目B282作為邏輯命名空間288中的下一 名稱返回280. 5。 在圖12中,在需要來自邏輯命名空間288的下一名稱時重復(fù)過程280。使用資源 命名空間282中的下一資源來填充資源命名空間282的空候選者,該下一資源是I(已刪 除)-I在資源命名空間282中被標(biāo)記為在邏輯上已刪除。使用資源命名空間284中的下一 資源來填充資源命名空間282的空候選者,該下一資源是G。這兩者都被標(biāo)記為在對應(yīng)資源 命名空間282和284中使用。在圖13中,找到280. 2候選列表290中的最小條目G,將其從 該候選列表290中移除280. 3,并作為邏輯命名空間288中的下一名稱返回280. 5。
在圖14中,在需要來自邏輯命名空間288的下一名稱時重復(fù)過程280。使用資源 命名空間284中的下一資源來填充資源命名空間284的空候選者,該下一資源是I。該條目 被標(biāo)記為用于資源命名空間284。在圖15中,找到280.2候選列表290中的最小條目I(已 刪除)。從候選列表290中移除280.3所有I條目。然而,因為存在被標(biāo)記為邏輯上已刪除 的I條目(該條目來自資源命名空間282),過程280重復(fù)且不將I作為邏輯命名空間288 的成員返回,而不是返回280.51(注意,當(dāng)名稱在一個命名空間中被標(biāo)記為邏輯上已刪除 但未在另一個命名空間中這樣標(biāo)記時,來自較高優(yōu)先級命名空間的名稱控制刪除是否應(yīng)該 進(jìn)行)。在圖16中,使用來自資源命名空間的名稱來填充280. 1由I條目空出的候選列表 290槽;即來自資源命名空間282的名稱L和來自資源命名空間284的名稱K。在圖17中, 找到280. 2最小候選資源K,將其從該候選列表290中移除280. 3,并作為邏輯命名空間288 中的下一條目返回280. 5。圖18示出在過程280的若干更多迭代之后的完成后的邏輯命名 空間288。 邏輯命名空間的條目或元素可采取各種形式。較佳地,條目具有足夠的信息以允 許應(yīng)用程序使用其來訪問來自正確對應(yīng)資源命名空間的資源。條目可僅具有資源名稱或?qū)?資源名稱的引用和指示其屬于哪個資源命名空間的指示。例如,條目可包含指示文件的名 稱的信息以及指示文件處于一具體資源命名空間中的信息。可包括命名空間的標(biāo)識符。條 目可包含資源對象或?qū)ζ涞囊谩?稍趧討B(tài)合并期間要將資源添加到邏輯命名空間時生成 這樣的條目。使用該資源名稱來打開對應(yīng)基礎(chǔ)資源命名空間中的資源。通過該資源的打開 來返回對象、引用、文件句柄等并將其添加到邏輯命名空間。 如上文所述的邏輯刪除對確保資源命名空間之間的一致性是有用的。如果應(yīng)用程 序需要刪除一資源,其可從一個資源命名空間中在邏輯上刪除該資源而不必從其它命名空 間中刪除該資源。該刪除可通過邏輯合并來實現(xiàn)。在邏輯命名空間被生成時,將不在邏輯命名空間中包括具有在邏輯上已刪除資源的名稱的資源。盡管有用,但邏輯刪除不是必需 的。 根據(jù)上述各實施例,在應(yīng)用程序要枚舉邏輯命名空間的成員時,邏輯資源命名空 間可被該應(yīng)用程序高效地使用。即,如果應(yīng)用程序需要訪問一組資源且這些要訪問的資源 的名稱被排序了,則可從候選命名空間中高效地獲取這些資源。參考圖7的示例,在應(yīng)用程 序按A、B、G、K、L、和0的次序來訪問它們時,可使用很小的計算開銷來從資源命名空間282、 284、和286中獲取這些資源(或名稱/對其的引用)。同時,可一致地解決沖突資源,使得 較高優(yōu)先級資源較優(yōu)先于具有相同名稱的較低優(yōu)先級資源而被使用。然而,當(dāng)未在較高優(yōu) 先次序命名空間中找到資源時,仍可使用來自較低優(yōu)先次序命名空間的資源。
結(jié)論 上述用于命名空間合并的技術(shù)在虛擬化設(shè)置中是有用的,但不限于虛擬化設(shè)置。 在需要命名空間重疊的不同資源組時可使用該技術(shù)。盡管某些技術(shù)在資源命名空間被排序 時可高效地運作,但這不是必需的。類似地,如果按序例如按字母表次序來枚舉,則邏輯命 名空間可被高效地使用。然而,這不是必需的,且邏輯命名空間中的元素也可被隨機(jī)訪問。
以上討論的實施例和特征都可用儲存在易失性或非易失性計算機(jī)或設(shè)備可讀介 質(zhì)中的信息的形式來實現(xiàn)。這被認(rèn)為至少包括諸如光學(xué)存儲(例如,CD-ROM)、磁介質(zhì)、閃速 ROM、或存儲數(shù)字信息的任何現(xiàn)有或未來裝置等介質(zhì)。所存儲的信息可采用機(jī)器可執(zhí)行指令 (例如,經(jīng)編譯的可執(zhí)行二進(jìn)制代碼)、源代碼、字節(jié)代碼、或任何其它可用于允許或配置計 算機(jī)設(shè)備來執(zhí)行上述各實施例的信息的形式。這還被認(rèn)為至少包括諸如RAM和/或在程序 的執(zhí)行期間存儲諸如CPU指令等信息以實現(xiàn)一實施例的虛擬存儲器等易失性存儲器,以及 存儲允許程序或可執(zhí)行代碼被加載和執(zhí)行的信息的非易失性介質(zhì)。實施例和特征可在任何 類型的計算設(shè)備上執(zhí)行,這些計算設(shè)備包括便攜設(shè)備、工作站、服務(wù)器、移動無線設(shè)備等。
9
權(quán)利要求
一種用于使用計算機(jī)上的資源的第一命名空間和所述計算機(jī)上的資源的第二命名空間來提供對所述計算機(jī)上的資源的訪問的方法,其中所述命名空間的資源被排序,且其中一個或多個名稱對兩個命名空間是共用的且這些一個或多個名稱表示資源的不同的相應(yīng)實例,所述方法包括接收應(yīng)用程序?qū)σ毁Y源的請求;響應(yīng)于所述接收,動態(tài)地合并所述第一命名空間和所述第二命名空間以形成邏輯命名空間;以及使用所述邏輯命名空間來獲取所述資源。
2. 如權(quán)利要求1所述的方法,其特征在于,所述動態(tài)合并包括跟蹤所述第一命名空間的當(dāng)前候選者和所述第二命名空間的第二候選者,并從所述候 選者中選擇所述邏輯命名空間的名稱。
3. 如權(quán)利要求2所述的方法,其特征在于,基于所述當(dāng)前候選者的相對次序來選擇所 述邏輯命名空間的名稱。
4. 如權(quán)利要求3所述的方法,其特征在于,還包括在所述第一當(dāng)前候選者已經(jīng)被選擇 為所述邏輯命名空間的名稱時將所述第一當(dāng)前候選者設(shè)置成所述第一命名空間中的下一 名稱。
5. 如權(quán)利要求4所述的方法,其特征在于,還包括在所述第二當(dāng)前候選者與已經(jīng)被選 擇為所述邏輯命名空間的名稱的所述第一當(dāng)前候選者相同時,將所述第二當(dāng)前候選者設(shè)置 成所述第二命名空間中的下一名稱。
6. 如權(quán)利要求1所述的方法,其特征在于,在完成所述第一命名空間和所述第二命名 空間的邏輯合并之前從所述邏輯命名空間中獲取所述資源。
7. 如權(quán)利要求1所述的方法,其特征在于,按優(yōu)先級排序所述命名空間,使得在所述當(dāng) 前候選者相同時,較高優(yōu)先級命名空間的所述當(dāng)前候選者被選擇。
8. —種向應(yīng)用程序提供對計算機(jī)上的資源的虛擬化訪問的方法,其中所述資源在第一 命名空間和第二命名空間中被命名,所述第一命名空間包括資源的名稱的第一列表而所述 第二命名空間包括資源的名稱的第二列表,其中每一命名空間對應(yīng)于所述計算機(jī)上的不同 資源組,其中某些資源盡管在不同組中,但在兩個命名空間中用相同名稱來命名,所述方法 包括由所述應(yīng)用程序請求第一名稱的資源,而作為響應(yīng)通過訪問所述第一命名空間和所述 第二命名空間來從由所述第一命名空間命名的資源組中獲取所述資源;以及由所述應(yīng)用程序請求第二名稱的資源,而作為響應(yīng)通過訪問所述第一命名空間和所述 第二命名空間來從由所述第二命名空間命名的資源組中獲取所述資源。
9. 如權(quán)利要求8所述的方法,其特征在于,所述第一命名空間中的名稱被排序且所述 第二命名空間中的名稱被排序,且在所述第一命名空間中的所述第一名稱的資源的名稱相 對于所述第二命名空間中的相同名稱的次序的基礎(chǔ)上獲取所述第一名稱的資源。
10. 如權(quán)利要求8所述的方法,其特征在于,所述第一命名空間中的名稱被排序且所述 第二命名空間中的名稱被排序,且所述獲取包括動態(tài)地合并所述命名空間使得通過名稱對 資源的后續(xù)請求導(dǎo)致次序越來越高的名稱從所述命名空間被返回。
11. 如權(quán)利要求8所述的方法,其特征在于,所述第一命名空間中的名稱被排序且所述第二命名空間中的名稱被排序,且通過從沿著所述第一和第二命名空間移動的候選窗口中選擇所述第一和第二資源的名稱來獲取所述第一和第二資源,其中所述第一和第二資源的名稱處于所述窗口中,且基于所述第二資源的名稱相對于所述第一資源的名稱具有較低次序而在所述第一名稱的資源之前獲取所述第二名稱的資源。
12. 如權(quán)利要求8所述的方法,其特征在于,基于所述命名空間的相對優(yōu)先級來給予一個命名空間中的名稱優(yōu)于另 一命名空間中的相同名稱的優(yōu)先級。
13. 如權(quán)利要求8所述的方法,其特征在于,當(dāng)在所述第一命名空間中邏輯上刪除一名稱時,所述第一命名空間的對應(yīng)資源和所述第二命名空間的對應(yīng)資源兩者都變得對所述應(yīng)用程序不可用。
14. 如權(quán)利要求8所述的方法,其特征在于,所述請求和所述獲取被重復(fù)執(zhí)行,使得從兩個所述命名空間中的名稱中獲取資源的名稱的排序列表。
15. —種訪問由應(yīng)用程序所需的資源的方法,其中所述應(yīng)用程序?qū)丛?或降)序來通過名稱訪問多個資源,其中所述資源可能來自計算機(jī)上的資源的多個容器中任何一個,且其中所述容器具有相對于彼此的不同和/或變化的優(yōu)先次序,所述方法包括對每一容器,按增(或降)序提供其資源的名稱的對應(yīng)列表;以及通過枚舉名稱的所述排序列表的邏輯合并中的名稱來訪問應(yīng)用程序所需的資源,使得當(dāng)所述邏輯合并中的新名稱被需要時,可從所述排序列表中動態(tài)地選擇它們。
16. 如權(quán)利要求15所述的方法,其特征在于,從所述排序列表中選擇所述名稱包括在相同的之前未選擇名稱出現(xiàn)在兩個排序列表中時,從具有較高優(yōu)先次序的對應(yīng)容器的列表中選擇所述名稱。
17. 如權(quán)利要求15所述的方法,其特征在于,從所述排序列表中的之前未選擇名稱之中按序選擇所述邏輯合并的新名稱。
18. 如權(quán)利要求17所述的方法,其特征在于,從所述排序列表中選擇所述名稱包括當(dāng)在兩個排序列表中存在之前未選擇名稱時,為所述邏輯合并中的所述新名稱選擇最低名稱。
19. 如權(quán)利要求15所述的方法,其特征在于,從所述排序列表中選擇所述名稱包括在排序列表中的名稱被標(biāo)記為在邏輯上已刪除時,將另一排序列表中的相同名稱作為在邏輯上已刪除對待,以使得所述名稱從所述排序列表的邏輯合并中被略去。
20. 如權(quán)利要求15所述的方法,其特征在于,所述資源在所述排序列表的邏輯合并未完成時被訪問。
全文摘要
在虛擬化環(huán)境中,對應(yīng)用程序而言通常存在通過名稱來訪問計算機(jī)上的不同資源(例如,文件、配置設(shè)置等)的需要。所需資源可能來自計算機(jī)上的資源的多個離散命名空間或容器中的任何一個。資源名稱可在一個命名空間中標(biāo)識一個資源并在另一命名空間中標(biāo)識另一資源,且這些命名空間可具有相對于彼此的不同優(yōu)先次序。可通過枚舉命名空間的邏輯合并中的名稱來訪問應(yīng)用程序所需的資源,以使得當(dāng)邏輯合并中的新名稱被需要時可從這些命名空間中動態(tài)地選擇它們。在不同命名空間中的兩個資源具有相同名稱時,可選擇較高優(yōu)先次序命名空間中的資源。
文檔編號G06F9/06GK101755262SQ200880022441
公開日2010年6月23日 申請日期2008年6月11日 優(yōu)先權(quán)日2007年6月29日
發(fā)明者J·M·希恩 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1