專利名稱:管理對計算環(huán)境對象的訪問的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計算環(huán)境內(nèi)的處理,具體地說,涉及管理對計算環(huán)境對象的訪問。
背景技術(shù):
控制對計算環(huán)境的各種對象(如文件、目錄等)的訪問以便提供安全性并保持?jǐn)?shù)據(jù)完整性。在許多計算環(huán)境中,在所述控制中使用鎖定協(xié)議。例如,在分布式文件系統(tǒng)中,通過多個鎖來控制對文件系統(tǒng)對象的訪問。作為實例,某些鎖被用來協(xié)調(diào)對文件系統(tǒng)內(nèi)容的緩存,而其他鎖被用來協(xié)調(diào)不同客戶機對文件系統(tǒng)對象的訪問。
為了提高系統(tǒng)性能,在一個或多個客戶機高速緩存中緩存一個或多個鎖。因此,確保緩存鎖在使用時有效是很重要的。盡管存在緩存協(xié)議,但是仍然需要進一步管理緩存鎖或其他緩存實體的能力。
發(fā)明內(nèi)容
通過提供一種管理對計算環(huán)境對象的訪問的方法,解決了現(xiàn)有技術(shù)的不足之處并提供了額外的優(yōu)點。在本發(fā)明的一個方面中,提供了一種方法,所述方法包括例如通過與對象對應(yīng)的緩存實體來禁止對所述計算環(huán)境的所述對象的訪問;以及通過與所述對象對應(yīng)的另一個緩存實體來允許對所述對象的訪問,其中所述緩存實體和所述另一個緩存實體被同時保持一段時間。
在本發(fā)明的進一步的方面中,提供了一種管理對文件系統(tǒng)對象的訪問的方法,所述方法包括例如通過所述文件系統(tǒng)的服務(wù)器來促進提供與所述文件系統(tǒng)的對象對應(yīng)的實體的不一致狀態(tài);通過所述文件系統(tǒng)的客戶機來無效所述對象的一個或多個現(xiàn)有打開以響應(yīng)所述不一致狀態(tài);以及通過所述客戶機來允許所述對象的一個或多個其他打開,以響應(yīng)與由所述服務(wù)器提供的所述對象對應(yīng)的另一個實體,其中至少一個被無效的現(xiàn)有打開和至少一個其他打開同時處于打開狀態(tài)一段時間。
在本發(fā)明的另一個方面中,提供了一種管理對計算環(huán)境對象的訪問的方法,所述方法包括例如通過所述計算環(huán)境的服務(wù)器來促進提供與所述計算環(huán)境的對象關(guān)聯(lián)的實體的不一致狀態(tài);以及通過所述服務(wù)器來提供與所述對象關(guān)聯(lián)的另一個實體,其中所述不一致實體和所述另一個實體在一段時間內(nèi)可被同時訪問以便管理對所述對象的訪問。
此處還描述并要求保護對應(yīng)于上述方法的系統(tǒng)和計算機程序產(chǎn)品。
通過本發(fā)明的技術(shù)實現(xiàn)了其他特征和優(yōu)點。此處詳細描述了本發(fā)明的其他實施例和方面,并且它們被看作所要求保護的發(fā)明的一部分。
在本說明書結(jié)尾處的權(quán)利要求書中特別指出并明確要求了被看作本發(fā)明的主題。通過以下結(jié)合附圖的詳細說明,本發(fā)明的上述和其他目標(biāo)、特性和優(yōu)點是顯而易見的,這些附圖是圖1A示出了結(jié)合并使用本發(fā)明的一個或多個方面的計算環(huán)境的一個
具體實施例方式
綜述根據(jù)本發(fā)明的一個方面,提供了一種用于管理對計算環(huán)境對象的訪問的能力。通過一個與對象對應(yīng)的緩存實體來禁止對所述對象的訪問,同時通過另一個緩存實體來允許對所述對象的訪問。所述一個緩存實體和所述另一個緩存實體至少被同時保持某些時間。在一個實例中,所述緩存實體代表控制對所述對象的訪問的鎖。例如,在文件系統(tǒng)中,文件系統(tǒng)對象的一個或多個現(xiàn)有打開被無效,以響應(yīng)與變成不一致的所述文件系統(tǒng)對象關(guān)聯(lián)的緩存實體(例如,鎖)。但是,雖然至少一個無效的現(xiàn)有打開被保持在無效但是打開狀態(tài),通過采用代表所述對象的另一個緩存實體,允許繼續(xù)所述文件系統(tǒng)對象的一個或多個新的打開。
詳細描述參考圖1A描述了結(jié)合并使用本發(fā)明的一個或多個方面的計算環(huán)境的一個實施例。計算環(huán)境100包括例如通過連接106與另一個計算單元104相連的計算單元102。計算單元包括例如個人計算機、膝上型計算機、工作站、大型機、小型計算機或任何其他類型的計算單元。計算單元102可以是與計算單元104相同類型的單元,也可以是不同類型的單元。將這些單元相連的連接是有線連接或任何類型的網(wǎng)絡(luò)連接,諸如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、令牌網(wǎng)、以太網(wǎng)連接、互聯(lián)網(wǎng)連接等。
在一個實例中,每個計算單元都執(zhí)行操作系統(tǒng)108,諸如例如由紐約阿蒙克的國際商業(yè)機器公司提供的z/OS操作系統(tǒng);UNIX操作系統(tǒng);Linux;Windows;或其他操作系統(tǒng)等。某一計算單元的操作系統(tǒng)可以與另一計算單元的操作系統(tǒng)相同或不同。進而,在其他實例中,一個或多個計算單元可能不包括操作系統(tǒng)。
在一個實施例中,計算單元102包括客戶端應(yīng)用(也稱為客戶機)110,其與計算單元104上的服務(wù)器應(yīng)用(也稱為服務(wù)器)112相連。客戶機110與服務(wù)器112在連接應(yīng)用的TCP/IP鏈路上通過例如網(wǎng)絡(luò)文件系統(tǒng)(NFS)協(xié)議來通信。進而,在至少一個計算單元上,一個或多個用戶應(yīng)用114正在執(zhí)行。
在一個特定實施例中,所述環(huán)境包括諸如分布式文件系統(tǒng)之類的文件系統(tǒng)(圖1B),其中采用存儲區(qū)域網(wǎng)絡(luò)116來促進通過高速鏈路的一個或多個客戶機110以及一個或多個服務(wù)器112對一個或多個存儲設(shè)備118的訪問。存儲區(qū)域網(wǎng)絡(luò)的使用使得能夠提供高性能的分布式文件系統(tǒng),其允許客戶機直接從存儲設(shè)備獲得數(shù)據(jù),而不是通過代表它們執(zhí)行讀寫的服務(wù)器來訪問數(shù)據(jù)。但是,所述客戶機訪問通過一個或多個服務(wù)器來協(xié)調(diào)。
在分布式文件系統(tǒng)中,在客戶機計算單元上運行的包括例如用戶應(yīng)用、客戶機應(yīng)用等的應(yīng)用訪問文件系統(tǒng)命名空間,該命名空間例如分布在一個或多個計算單元之間。所述命名空間包括一個或多個可由所述應(yīng)用訪問的文件系統(tǒng)對象。在一個實例中,所述命名空間被組織為樹型結(jié)構(gòu)并包括各種類型的對象,諸如例如文件,其包括客戶機可以訪問的數(shù)據(jù);目錄,用來組織其他對象;以及符號鏈接,其是樹中的各點,在該處對象的名稱查找被重定向。
與文件系統(tǒng)對象關(guān)聯(lián)的是實體,其被用來例如促進對文件系統(tǒng)對象的訪問。這些實體被緩存在客戶機駐留高速緩存120中以便更快的訪問。在一個實施例中,一個或多個應(yīng)用(例如,用戶應(yīng)用、客戶機應(yīng)用)可以訪問緩存實體。
緩存實體具有多種與其關(guān)聯(lián)的屬性,包括例如引用計數(shù),其指示多少應(yīng)用具有實體的句柄;以及有效性指示符,其指定緩存實體是否有效。作為一個實例,在諸如鏈接式列表200(圖2A)之類的數(shù)據(jù)結(jié)構(gòu)中,所述緩存實體彼此連接。
控制對文件系統(tǒng)對象的訪問以維護安全性和數(shù)據(jù)完整性。下面將描述與管理對文件系統(tǒng)對象的訪問關(guān)聯(lián)的邏輯的一個實施例。
首先參考圖3,在步驟300,應(yīng)用請求打開文件系統(tǒng)對象(例如文件)。在一個實例中,在步驟302,應(yīng)用在客戶機計算單元上執(zhí)行,并且所述打開包括在客戶機的高速緩存中執(zhí)行搜索,搜索與所請求的文件系統(tǒng)對象關(guān)聯(lián)的實體。所述實體用來促進對文件系統(tǒng)對象的訪問,并且出于說明目的,在此稱為實體X。在查詢304,如果所述關(guān)聯(lián)的實體不在高速緩存中,則在步驟306創(chuàng)建所述實體的實例并將其添加到高速緩存中。這包括例如將實體X附加到緩存實體的鏈接式列表,如202處所示(圖2B)。返回圖3,此后,在步驟308,遞增緩存實體的引用計數(shù),并且在步驟310,計算所述實體的句柄。在一個實例中,這包括確定緩存實體的地址,在步驟312,其作為句柄(例如,句柄Hx)被返回。
返回參考查詢304,假如所述高速緩存搜索是成功的,則在步驟308,遞增緩存實體的引用計數(shù),并且在步驟310,處理以計算實體句柄繼續(xù)。這包括打開處理。
在客戶機計算單元上執(zhí)行的一個或多個應(yīng)用可以請求打開同一文件系統(tǒng)對象。在此情況下,如圖4所示,每個應(yīng)用都可以從客戶機獲得相同的句柄。如所描述的,應(yīng)用1-4都接收并使用句柄Hx以便進行處理。
在應(yīng)用處理期間,在打開文件系統(tǒng)對象時請求諸如讀或?qū)懖僮髦惖牟僮?。作為此處理的一部分,對緩存實體的有效性進行檢查,這用來促進對文件系統(tǒng)對象的訪問。參考圖5對與此檢查關(guān)聯(lián)的邏輯的一個實施例進行了描述。在步驟500,將被檢查有效性的緩存實體是與在打開中返回的對象句柄對應(yīng)的實體。在一個實例中,此檢查包括檢查緩存實體的有效性指示符。在查詢502,如果實體處于無效狀態(tài),則在步驟504返回錯誤。否則,在步驟506返回成功指示。
在某些點處,緩存實體可能變得不一致。假如其變得不一致,則其被轉(zhuǎn)換成影子實體,如參考圖6所描述的。在步驟600,響應(yīng)于緩存實體變得不一致,在步驟602,在高速緩存中搜索所述緩存實體,例如實體X。在步驟604,從實體的鏈接式列表刪除所述緩存實體。但是,在步驟606,所述實體仍然作為影子實體(即,獨立的實體)保留在高速緩存中。例如,所述實體被移動到高速緩存的另一部分并被標(biāo)記為影子實體。圖7示出了這樣的一個實例,其中高速緩存700具有影子實體702。此后,在步驟608(圖6),高速緩存統(tǒng)計被更新。例如,遞減高速緩存的實體計數(shù)。
根據(jù)本發(fā)明的一個方面,任何舊的打開仍然引用這樣的實體,所述實體使用它們在打開中接收的句柄,但是任何新的打開都將導(dǎo)致高速緩存未命中(cache miss),因為所述實體不再位于主實體散列表列表(例如,鏈接式列表)中。因此,所述實體將被引入高速緩存并具有新的句柄。因此,如圖7的實例所示,應(yīng)用1-4仍使用會導(dǎo)致返回錯誤的句柄Hx(704),但應(yīng)用5接收允許成功訪問的新的句柄NHx(706)。因此,與應(yīng)用1-4關(guān)聯(lián)的打開被無效,而與應(yīng)用5關(guān)聯(lián)的打開被允許。所述被無效的打開與被允許的打開同時保持打開狀態(tài)一段時間(例如,直到不一致的緩存實體被關(guān)閉為止)。在應(yīng)用1-4關(guān)閉所述實體之后,所述實體將不再存在,并且具有該實體的應(yīng)用也不再處于打開狀態(tài)。
參考圖8描述了與關(guān)閉緩存實體關(guān)聯(lián)的邏輯的一個實施例。在步驟800,在具有從打開中返回的句柄的實體上執(zhí)行關(guān)閉。在步驟802,遞減緩存實體的引用計數(shù)。在查詢804,如果引用計數(shù)不是零,則關(guān)閉處理完成。但是,如果引用計數(shù)是零,則在查詢806,判定其是否是影子實體。如果是,則在步驟808取消分配所述實體。否則,在步驟810,從高速緩存中刪除該實體。這結(jié)束了所述關(guān)閉處理。
以上描述了這樣一種能力,其中允許對象的新的打開,而禁止在舊的打開上的操作。其中采用此能力的一個實例具有用于分布式文件系統(tǒng)的鎖定機制。例如,文件系統(tǒng)使用分布式鎖(在此稱為會話鎖)在該文件系統(tǒng)的不同客戶機之間控制對文件系統(tǒng)對象的訪問。在一個實例中,每個客戶機都具有每個文件系統(tǒng)對象一個的會話鎖,但是該鎖可用于多個與該客戶機關(guān)聯(lián)的應(yīng)用。例如,客戶機1獲得文件系統(tǒng)對象(文件“Foo”)的會話鎖(實體X)。該客戶機的一個或多個應(yīng)用使用該鎖(通常,隱含地,但是在其他實施例中,可以是顯式地)來訪問文件(例如,讀、寫、創(chuàng)建、查找)。以下參考圖9A-9B對此進行進一步描述。
在步驟900,當(dāng)應(yīng)用請求打開文件系統(tǒng)對象時,在步驟902,將打開請求從所述應(yīng)用發(fā)送到客戶機(例如,通過平臺相關(guān)的可安裝文件系統(tǒng)(IFS)發(fā)送到平臺無關(guān)的客戶機狀態(tài)管理器(CSM))。在步驟904,客戶機檢查其高速緩存以尋找在文件系統(tǒng)對象上的會話鎖。在查詢906,如果存在緩存命中,則在步驟908將成功返回給客戶機。如果不存在,則在步驟910,客戶機將請求發(fā)送給服務(wù)器并且服務(wù)器處理該請求。在查詢912,如果許可不成功,則在步驟914返回錯誤。否則,在步驟916,來自服務(wù)器的成功響應(yīng)將文件系統(tǒng)對象上的會話鎖授與被請求的客戶機。在步驟917,該客戶機緩存所述會話鎖,并且因此在后續(xù)的打開上,客戶機在本地返回成功。因此,與運行在同一文件系統(tǒng)對象上的某一客戶機關(guān)聯(lián)的不同應(yīng)用可以具有不同的文件描述符,但只能具有一個會話鎖。
在步驟918,客戶機將緩存的會話鎖的句柄(例如,地址)提供給請求所述打開的應(yīng)用。此句柄隨后用于進一步的處理。
例如,響應(yīng)于成功的打開,在步驟920(圖9B),針對打開的文件系統(tǒng)對象啟動一個或多個操作(例如,讀、寫、查找或其他操作)。對于每個操作,在查詢922,檢查所述會話鎖的有效性。在一個實例中,當(dāng)與鎖關(guān)聯(lián)的租借到期之時,該會話鎖可能變成無效。例如,租借是客戶機與服務(wù)器之間的合同,其中服務(wù)器在租借中指定的時間段內(nèi)保證客戶機高速緩存中的數(shù)據(jù)的正確性。租借可以在其到期之前續(xù)租。但是,如果沒有續(xù)租(例如,由于斷開連接、服務(wù)器崩潰或任何其他原因),則在租借周期結(jié)束時,在租借期間獲得的鎖被無效。因此,當(dāng)客戶機沒有有效的鎖時,它不能對緩存的數(shù)據(jù)進行操作。因此,為了繼續(xù)操作,在步驟924,客戶機向服務(wù)器重新標(biāo)識其自身以便進入新的租借,并嘗試重新斷言所述無效的鎖。如果成功,則在步驟928,由客戶機將鎖的無效狀態(tài)更改為有效并且操作繼續(xù)。類似地,在查詢922,如果會話鎖有效,則過程繼續(xù)。
但是,在查詢926,如果重新斷言不成功,則在步驟930,所述會話鎖處于不一致狀態(tài)。因此,在步驟932,執(zhí)行各種操作。例如,文件系統(tǒng)對象的任何打開的實例被無效。為了無效打開的實例,客戶機通過將緩存的會話鎖標(biāo)記為影子實體、從緩存列表中刪除該緩存的會話鎖以及將其作為獨立實體保留在列表中,使得所述緩存的會話鎖成為影子實體。由于所述鎖被從緩存列表中刪除,現(xiàn)有的對會話鎖的引用將得到錯誤(例如,由于其影子狀態(tài)),由此使與那些引用關(guān)聯(lián)的打開無效。所述鎖在高速緩存中被保持為獨立的實體,直到現(xiàn)有的對所述對象的引用被撤消。然后,關(guān)閉該實體。但是,對文件(與所述影子實體對應(yīng))的新的訪問(例如,打開)將創(chuàng)建一個新的緩存實體(例如,新的會話鎖),允許新的訪問正常繼續(xù)。即,從客戶機的角度,就像第一次訪問該鎖一樣。因此,客戶機向服務(wù)器發(fā)送會話鎖請求并且新的會話鎖被返回。對該會話鎖的新的引用將正確地工作,而對舊鎖的引用將得到錯誤。
優(yōu)點以上詳細描述的是一種用于管理對文件系統(tǒng)對象的訪問的能力。雖然文件系統(tǒng)對象的一個或多個現(xiàn)有打開可能被無效,但是允許一個或多個新的打開。在一個實例中,這通過緩存實體來實現(xiàn),具體地說,通過影子實體來實現(xiàn)。影子實體的使用在最小程度地改變現(xiàn)有設(shè)計和/或代碼的情況下有利地提供了所需的管理收益。進而,它通過允許訪問文件系統(tǒng)對象(盡管一個或多個舊的打開尚未被關(guān)閉)提高了系統(tǒng)性能。更進一步地,通過以這種方式維護緩存實體,無需使每個打開都具有一個會話鎖實例(其將使客戶機高速緩存不必要地增大并難以維護)。
可替代實施例雖然此處給出并詳細說明了優(yōu)選實施例,對相關(guān)領(lǐng)域的技術(shù)人員顯而易見的是,可以做出各種修改、增加、替代等而不偏離本發(fā)明的精神,并且因此它們被看作在如以下權(quán)利要求限定的本發(fā)明的范圍之內(nèi)。
例如,盡管在上述的一個實施例中,一個客戶機與一個服務(wù)器相連,但是在其他實施例中,一個或多個客戶機可以與一個或多個服務(wù)器相連或者是它們的任意組合。所述一個或多個客戶機可以在一個或多個計算單元上。類似地,所述一個或多個服務(wù)器可以在一個或多個計算單元上。進而,所述一個或多個客戶機以及一個或多個服務(wù)器可以在一個計算單元上。
此外,盡管已經(jīng)提供了計算環(huán)境的實例,但這些只是實例??梢允褂闷渌h(huán)境。例如,盡管參考文件系統(tǒng)在此描述了一個實例,但這只是一個實例。本發(fā)明的一個或多個方面適用于其他環(huán)境。更進一步地,盡管參考會話鎖在此描述了一個實例,但是可以代表其他類型的鎖或其他類型的資源。所述緩存實體可以不只用于鎖定并且可以用于其他目的。作為一個實例,所述緩存實體自身可以是對象的實例。
此外,盡管在上述實施例中,緩存實體變成不一致以響應(yīng)到期的租借,但是緩存實體為何變成不一致可以有各種其他原因。這些都被認為是所要求保護的發(fā)明的一部分。進而,實體的緩存列表可以在除鏈接式列表以外的其他數(shù)據(jù)結(jié)構(gòu)中。
更進一步地,請求訪問文件系統(tǒng)對象的應(yīng)用可以是各種應(yīng)用,包括但并不限于用戶應(yīng)用、客戶機應(yīng)用或任何其他類型的應(yīng)用。
此處示出的流程圖只是實例。在不偏離本發(fā)明的精神的情況下,此處所述的這些圖或步驟(或操作)可以有多種變化。例如,可以按不同順序執(zhí)行步驟,或者可以添加、刪除或修改步驟。所有這些變化都被視為要求保護的發(fā)明的一部分。
本發(fā)明可以被包括在具有例如計算機可用介質(zhì)的制品(例如,一個或多個計算機程序產(chǎn)品)中。所述介質(zhì)中包含例如計算機可讀程序代碼裝置或邏輯(例如,指令、代碼、命令等),以便提供和促進本發(fā)明的功能。所述制品可以被包括為計算機系統(tǒng)的一部分或單獨銷售。
此外,可以提供至少一個計算機可讀的程序存儲裝置,該裝置包含至少一個計算機可執(zhí)行的指令程序以執(zhí)行本發(fā)明的功能。
本公開的范圍包括在此披露的任何新穎特征或這些特征的組合。申請人在此通告,在本申請或從此衍生的任何此類進一步的申請的訴訟期間,可以根據(jù)此類特征或特征的組合來構(gòu)想新的權(quán)利要求。具體地說,參考所附的權(quán)利要求書,來自從屬權(quán)利要求的特征可以與獨立權(quán)利要求的那些特征進行組合,而來自各個獨立權(quán)利要求的特征可以以任何適當(dāng)?shù)姆绞竭M行組合并且不僅限于所述權(quán)利要求書中列出的特定組合。
為了避免疑義,如此處在整個說明書和權(quán)利要求書中所使用的,術(shù)語“包括”不應(yīng)被解釋為“僅由...組成”。
權(quán)利要求
1.一種管理對計算環(huán)境對象的訪問的方法,所述方法包括通過與對象對應(yīng)的緩存實體來禁止對所述計算環(huán)境的所述對象的訪問;以及通過與所述對象對應(yīng)的另一個緩存實體來允許對所述對象的訪問,其中所述緩存實體和所述另一個緩存實體被同時保持一段時間。
2根據(jù)權(quán)利要求1的方法,其中所述禁止訪問響應(yīng)于所述緩存實體變成不一致。
3.根據(jù)權(quán)利要求1或2的方法,其中所述緩存實體變成不一致,以響應(yīng)與所述緩存實體關(guān)聯(lián)的到期租借。
4.根據(jù)權(quán)利要求2或3的方法,其中所述緩存實體包括與所述對象關(guān)聯(lián)的鎖。
5.根據(jù)權(quán)利要求2、3或4的方法,其中所述禁止包括將所述不一致的緩存實體轉(zhuǎn)換成影子實體。
6.根據(jù)權(quán)利要求5的方法,其中所述轉(zhuǎn)換包括從緩存實體的數(shù)據(jù)結(jié)構(gòu)中刪除所述不一致的緩存實體以提供獨立的緩存實體。
7.根據(jù)權(quán)利要求6的方法,其中所述轉(zhuǎn)換還包括將所述獨立的緩存實體標(biāo)記為影子實體。
8.根據(jù)任一上述權(quán)利要求的方法,其中所述禁止包括提供錯誤以響應(yīng)采用了與所述緩存實體對應(yīng)的句柄。
9.根據(jù)任一上述權(quán)利要求的方法,其中所述允許響應(yīng)于導(dǎo)致緩存所述另一個緩存實體的高速緩存未命中。
10.根據(jù)任一上述權(quán)利要求的方法,其中所述允許包括為與所述對象對應(yīng)的所述另一個緩存實體提供有效的句柄。
11.根據(jù)任一上述權(quán)利要求的方法,其中所述允許包括由客戶機從服務(wù)器請求與所述對象對應(yīng)的實體;由所述服務(wù)器向所述客戶機提供所請求的實體;以及在所述客戶機的高速緩存中緩存所請求的實體,其中所述高速緩存中的所請求的實體是所述另一個緩存實體。
12.根據(jù)任一上述權(quán)利要求的方法,其中所述禁止包括刪除對所述緩存實體的有效訪問,并且其中所述允許包括提供對所述另一個緩存實體的有效訪問。
13.根據(jù)任一上述權(quán)利要求的方法,其中所述緩存實體和所述另一個緩存實體位于促進對所述對象的訪問的客戶機的高速緩存中。
14.根據(jù)權(quán)利要求13的方法,其中所述緩存實體是所述高速緩存內(nèi)的影子實體,并且所述另一個緩存實體具有所述高速緩存的數(shù)據(jù)結(jié)構(gòu)。
15.根據(jù)任一上述權(quán)利要求的方法,其中所述對象包括文件系統(tǒng)對象。
16.一種管理對文件系統(tǒng)對象的訪問的方法,所述方法包括通過所述文件系統(tǒng)的服務(wù)器來促進提供與所述文件系統(tǒng)的對象對應(yīng)的實體的不一致狀態(tài);通過所述文件系統(tǒng)的客戶機來無效所述對象的一個或多個現(xiàn)有打開以響應(yīng)所述不一致狀態(tài);以及通過所述客戶機來允許所述對象的一個或多個其他打開,以響應(yīng)與由所述服務(wù)器提供的所述對象對應(yīng)的另一個實體,其中至少一個被無效的現(xiàn)有打開和至少一個其他打開同時處于打開狀態(tài)一段時間。
17.根據(jù)權(quán)利要求16的方法,其中所述促進包括通過所述服務(wù)器來拒絕所述客戶機重新斷言所述實體的請求,其中所述不一致狀態(tài)響應(yīng)于所述拒絕。
18.根據(jù)權(quán)利要求17的方法,其中所述重新斷言的請求響應(yīng)于所述客戶機與所述服務(wù)器之間的租借到期。
19.根據(jù)權(quán)利要求16、17或18的方法,其中所述實體包括鎖。
20.一種管理對計算環(huán)境對象的訪問的方法,所述方法包括通過所述計算環(huán)境的服務(wù)器來促進提供與所述計算環(huán)境的對象關(guān)聯(lián)的實體的不一致狀態(tài);以及通過所述服務(wù)器來提供與所述對象關(guān)聯(lián)的另一個實體,其中所述不一致實體和所述另一個實體在一段時間內(nèi)可被同時訪問以便管理對所述對象的訪問。
21.根據(jù)權(quán)利要求20的方法,其中所述對象包括文件系統(tǒng)對象,并且所述實體包括與所述文件系統(tǒng)對象對應(yīng)的鎖。
22.根據(jù)權(quán)利要求20或21的方法,其中所述鎖的所述不一致狀態(tài)響應(yīng)于與該鎖關(guān)聯(lián)的到期租借。
23.一種管理對計算環(huán)境對象的訪問的系統(tǒng),所述系統(tǒng)包括用于通過與對象對應(yīng)的緩存實體來禁止對所述計算環(huán)境的所述對象的訪問的裝置;以及用于通過與所述對象對應(yīng)的另一個緩存實體來允許對所述對象的訪問的裝置,其中所述緩存實體和所述另一個緩存實體被同時保持一段時間。
24.根據(jù)權(quán)利要求23的系統(tǒng),其中所述禁止訪問響應(yīng)于所述緩存實體變成不一致。
25.根據(jù)權(quán)利要求23或24的系統(tǒng),其中所述用于禁止的裝置包括用于將所述不一致的緩存實體轉(zhuǎn)換成影子實體的裝置。
26.根據(jù)權(quán)利要求25的系統(tǒng),其中所述用于轉(zhuǎn)換的裝置包括用于從緩存實體的數(shù)據(jù)結(jié)構(gòu)中刪除所述不一致的緩存實體以提供獨立的緩存實體的裝置。
27.根據(jù)權(quán)利要求23至26中的任一權(quán)利要求的系統(tǒng),其中所述用于禁止的裝置包括用于提供錯誤以響應(yīng)采用了與所述緩存實體對應(yīng)的句柄的裝置。
28.根據(jù)權(quán)利要求23至27中的任一權(quán)利要求的系統(tǒng),其中所述允許響應(yīng)于導(dǎo)致緩存所述另一個緩存實體的高速緩存未命中。
29.根據(jù)權(quán)利要求23至28中的任一權(quán)利要求的系統(tǒng),其中所述用于允許的裝置包括用于為與所述對象對應(yīng)的所述另一個緩存實體提供有效的句柄的裝置。
30.根據(jù)權(quán)利要求23至29中的任一權(quán)利要求的系統(tǒng),其中所述用于禁止的裝置包括用于刪除對所述緩存實體的有效訪問的裝置,并且其中所述用于允許的裝置包括用于提供對所述另一個緩存實體的有效訪問的裝置。
31.根據(jù)權(quán)利要求23至30中的任一權(quán)利要求的系統(tǒng),其中所述緩存實體和所述另一個緩存實體位于促進對所述對象的訪問的客戶機的高速緩存中。
32.根據(jù)權(quán)利要求31的系統(tǒng),其中所述緩存實體是所述高速緩存內(nèi)的影子實體,并且所述另一個緩存實體具有所述高速緩存的數(shù)據(jù)結(jié)構(gòu)。
33.根據(jù)權(quán)利要求23至32中的任一權(quán)利要求的系統(tǒng),其中所述對象包括文件系統(tǒng)對象。
34.一種管理對計算環(huán)境對象的訪問的系統(tǒng),所述系統(tǒng)包括客戶機,所述客戶機被配置成通過與對象對應(yīng)的緩存實體來禁止對所述計算環(huán)境的所述對象的訪問;以及所述客戶機被配置成通過與所述對象對應(yīng)的另一個緩存實體來允許對所述對象的訪問,其中所述緩存實體和所述另一個緩存實體被同時保持一段時間。
35.一種用于管理對文件系統(tǒng)對象的訪問的系統(tǒng),所述系統(tǒng)包括所述文件系統(tǒng)的服務(wù)器,所述服務(wù)器被配置成促進提供與所述文件系統(tǒng)的對象對應(yīng)的實體的不一致狀態(tài);所述文件系統(tǒng)的客戶機,所述客戶機被配置成無效所述對象的一個或多個現(xiàn)有打開以響應(yīng)所述不一致狀態(tài);以及所述客戶機被配置成允許所述對象的一個或多個其他打開,以響應(yīng)與由所述服務(wù)器提供的所述對象對應(yīng)的另一個實體,其中至少一個被無效的現(xiàn)有打開和至少一個其他打開同時處于打開狀態(tài)一段時間。
36.根據(jù)權(quán)利要求35的系統(tǒng),其中所述被配置成促進提供不一致狀態(tài)的服務(wù)器拒絕所述客戶機重新斷言所述實體的請求,其中所述不一致狀態(tài)響應(yīng)于所述拒絕。
37.一種管理對計算環(huán)境對象的訪問的系統(tǒng),所述系統(tǒng)包括所述計算環(huán)境的服務(wù)器,所述服務(wù)器被配置成促進提供與所述計算環(huán)境的對象關(guān)聯(lián)的實體的不一致狀態(tài);以及所述服務(wù)器被配置成提供與所述對象關(guān)聯(lián)的另一個實體,其中所述不一致實體和所述另一個實體在一段時間內(nèi)可被同時訪問以便管理對所述對象的訪問。
38.根據(jù)權(quán)利要求37的系統(tǒng),其中所述對象包括文件系統(tǒng)對象,并且所述實體包括與所述文件系統(tǒng)對象對應(yīng)的鎖。
39.根據(jù)權(quán)利要求38的系統(tǒng),其中所述鎖的所述不一致狀態(tài)響應(yīng)于與該鎖關(guān)聯(lián)的到期租借。
40.一件制品,所述制品包括至少一個計算機可用介質(zhì),所述計算機可用介質(zhì)具有計算機可讀程序代碼邏輯以管理對計算環(huán)境對象的訪問,所述計算機可讀程序代碼邏輯包括禁止邏輯,所述禁止邏輯通過與對象對應(yīng)的緩存實體來禁止對所述計算環(huán)境的所述對象的訪問;以及允許邏輯,所述允許邏輯通過與所述對象對應(yīng)的另一個緩存實體來允許對所述對象的訪問,其中所述緩存實體和所述另一個緩存實體被同時保持一段時間。
41.根據(jù)權(quán)利要求40的制品,其中所述禁止訪問響應(yīng)于所述緩存實體變成不一致。
42.根據(jù)權(quán)利要求41的制品,其中所述禁止邏輯包括轉(zhuǎn)換邏輯,所述轉(zhuǎn)換邏輯將所述不一致的緩存實體轉(zhuǎn)換成影子實體。
43.根據(jù)權(quán)利要求42的制品,其中所述轉(zhuǎn)換邏輯包括刪除邏輯,所述刪除邏輯從緩存實體的數(shù)據(jù)結(jié)構(gòu)中刪除所述不一致的緩存實體以提供獨立的緩存實體。
44.根據(jù)權(quán)利要求40、41、42或43的制品,其中所述禁止邏輯包括提供邏輯,所述提供邏輯提供錯誤以響應(yīng)采用了與所述緩存實體對應(yīng)的句柄。
45.根據(jù)權(quán)利要求40至44中的任一權(quán)利要求的制品,其中所述允許響應(yīng)于導(dǎo)致緩存所述另一個緩存實體的高速緩存未命中。
46.根據(jù)權(quán)利要求40至45中的任一權(quán)利要求的制品,其中所述允許邏輯包括提供邏輯,所述提供邏輯為與所述對象對應(yīng)的所述另一個緩存實體提供有效的句柄。
47.根據(jù)權(quán)利要求40至46中的任一權(quán)利要求的制品,其中所述禁止邏輯包括刪除邏輯,所述刪除邏輯刪除對所述緩存實體的有效訪問,并且其中所述允許邏輯包括提供邏輯,所述提供邏輯提供對所述另一個緩存實體的有效訪問。
48.根據(jù)權(quán)利要求40至47中的任一權(quán)利要求的制品,其中所述緩存實體和所述另一個緩存實體位于促進對所述對象的訪問的客戶機的高速緩存中。
49.根據(jù)權(quán)利要求48的制品,其中所述緩存實體是所述高速緩存內(nèi)的影子實體,并且所述另一個緩存實體具有所述高速緩存的數(shù)據(jù)結(jié)構(gòu)。
50.根據(jù)權(quán)利要求40到49中的任一權(quán)利要求的制品,其中所述對象包括文件系統(tǒng)對象。
51.一件制品,所述制品包括至少一個計算機可用介質(zhì),所述計算機可用介質(zhì)具有計算機可讀程序代碼邏輯以管理對文件系統(tǒng)對象的訪問,所述計算機可讀程序代碼邏輯包括促進邏輯,所述促進邏輯通過所述文件系統(tǒng)的服務(wù)器來促進提供與所述文件系統(tǒng)的對象對應(yīng)的實體的不一致狀態(tài);無效邏輯,所述無效邏輯通過所述文件系統(tǒng)的客戶機來無效所述對象的一個或多個現(xiàn)有打開以響應(yīng)所述不一致狀態(tài);以及允許邏輯,所述允許邏輯通過所述客戶機來允許所述對象的一個或多個其他打開,以響應(yīng)與由所述服務(wù)器提供的所述對象對應(yīng)的另一個實體,其中至少一個被無效的現(xiàn)有打開和至少一個其他打開同時處于打開狀態(tài)一段時間。
52.一件制品,所述制品包括至少一個計算機可用介質(zhì),所述計算機可用介質(zhì)具有計算機可讀程序代碼邏輯以管理對計算環(huán)境對象的訪問,所述計算機可讀程序代碼邏輯包括促進邏輯,所述促進邏輯通過所述計算環(huán)境的服務(wù)器來促進提供與所述計算環(huán)境的對象關(guān)聯(lián)的實體的不一致狀態(tài);提供邏輯,所述提供邏輯通過所述服務(wù)器來提供與所述對象關(guān)聯(lián)的另一個實體,其中所述不一致實體和所述另一個實體在一段時間內(nèi)可被同時訪問以便管理對所述對象的訪問。
全文摘要
管理對計算環(huán)境對象的訪問。通過一個與對象對應(yīng)的緩存實體來禁止對所述計算環(huán)境的所述對象的訪問,而通過另一個緩存實體來允許對所述對象的訪問。所述緩存實體被同時保持一段時間,但所述一個緩存實體處于影子狀態(tài)。在一個實例中,所述緩存實體是會話鎖并且所述對象是文件系統(tǒng)對象。
文檔編號G06F9/46GK1774697SQ200480009759
公開日2006年5月17日 申請日期2004年3月31日 優(yōu)先權(quán)日2003年4月29日
發(fā)明者R·阿南塔納拉亞納, C·埃弗哈特, V·尤伊里, R·里斯 申請人:國際商業(yè)機器公司