專利名稱:用于在多節(jié)點(diǎn)系統(tǒng)內(nèi)數(shù)據(jù)和鎖定傳送期間減少潛伏時(shí)間和信息業(yè)務(wù)的技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于減少與請(qǐng)求數(shù)據(jù)項(xiàng)的一個(gè)實(shí)體有關(guān)的潛伏時(shí)間和信息業(yè)務(wù)(traffic)的技術(shù),以及用于減少與該數(shù)據(jù)項(xiàng)有關(guān)的鎖定的技術(shù)。
背景技術(shù):
為了提高可量測(cè)性,某些數(shù)據(jù)庫(kù)和文件系統(tǒng)允許多于一個(gè)數(shù)據(jù)庫(kù)或文件服務(wù)器(獨(dú)立運(yùn)行)來(lái)同時(shí)存取共享存儲(chǔ)器像磁盤(pán)介質(zhì)。每個(gè)數(shù)據(jù)庫(kù)或文件服務(wù)器都具有用來(lái)存儲(chǔ)共享數(shù)據(jù)項(xiàng)的高速緩沖存儲(chǔ)器,像磁盤(pán)存儲(chǔ)塊。這些多節(jié)點(diǎn)系統(tǒng)此處被稱作群集。與群集相關(guān)聯(lián)的一個(gè)問(wèn)題是和獲取數(shù)據(jù)項(xiàng)相關(guān)的總內(nèi)務(wù)操作以及與該數(shù)據(jù)項(xiàng)相關(guān)的鎖定。
希望訪問(wèn)數(shù)據(jù)項(xiàng)的那些實(shí)體此處被稱作該數(shù)據(jù)項(xiàng)的“請(qǐng)求者(Requestor)”。當(dāng)前持有可訪問(wèn)數(shù)據(jù)項(xiàng)的權(quán)利的一個(gè)或多個(gè)實(shí)體此處被稱作該數(shù)據(jù)項(xiàng)的持有者(Holder)。對(duì)于群集中的所有節(jié)點(diǎn),用于記錄與數(shù)據(jù)項(xiàng)有關(guān)的鎖定的實(shí)體此處被稱作數(shù)據(jù)項(xiàng)的主管(Master)。數(shù)據(jù)項(xiàng)的主管、持有者及請(qǐng)求者可以是單個(gè)節(jié)點(diǎn)上的單獨(dú)進(jìn)程或分離節(jié)點(diǎn)上的進(jìn)程,或者一些是相同節(jié)點(diǎn)上的進(jìn)程而其他是分離節(jié)點(diǎn)上的進(jìn)程。
在一種典型的情形中,持有者在其高速緩沖存儲(chǔ)器中持有最新版的數(shù)據(jù)項(xiàng)。該請(qǐng)求者請(qǐng)求一定程度的訪問(wèn),從而請(qǐng)求對(duì)該數(shù)據(jù)項(xiàng)的鎖定。請(qǐng)求者需要的鎖定類型依賴于請(qǐng)求者希望進(jìn)行的訪問(wèn)類型。因此,鎖定請(qǐng)求一般會(huì)指明所希望鎖定的“鎖定模式”。從而,獲取特定類型的鎖定也可稱作“獲取特定模式的鎖定”。例如,為了讀取一條數(shù)據(jù)項(xiàng),必須獲得S鎖定(例如共享鎖定)。為了修改一條數(shù)據(jù)項(xiàng),必須獲得X鎖定(例如專用鎖定)。為了使X鎖定被持有,則任何其他的持有者都可持有任何其他的鎖定。然而,數(shù)個(gè)持有者可以同時(shí)持有S鎖定。
對(duì)于請(qǐng)求者,必須交換各種消息來(lái)獲得一條數(shù)據(jù)項(xiàng)及與該數(shù)據(jù)項(xiàng)相關(guān)的鎖定。參考圖1A和圖1B,圖1A是描述一個(gè)群集的方框圖,其中主管100、持有者110和請(qǐng)求者120處于分離的節(jié)點(diǎn)上。而且,請(qǐng)求者120需要S鎖定,持有者110已經(jīng)具有X鎖定。圖1B示出可被圖1A中所示情形采用的信息。圖1B也示出與這些信息有關(guān)的參數(shù)。
很可能地,節(jié)點(diǎn)A處持有者110和節(jié)點(diǎn)B處請(qǐng)求者120之間的連接是高速連接。節(jié)點(diǎn)B處請(qǐng)求者120和節(jié)點(diǎn)C處主管100之間的連接是較低速的連接。
最初,持有者110具有一條數(shù)據(jù)項(xiàng)及該數(shù)據(jù)項(xiàng)的X鎖定。隨后,請(qǐng)求者120需要訪問(wèn)該數(shù)據(jù)項(xiàng)和該數(shù)據(jù)項(xiàng)的S鎖定。為了請(qǐng)求訪問(wèn)該數(shù)據(jù)項(xiàng)并獲得該數(shù)據(jù)項(xiàng)的S鎖定,節(jié)點(diǎn)B處的請(qǐng)求者120向節(jié)點(diǎn)C處的主管100發(fā)送一條鎖定請(qǐng)求消息。與該鎖定請(qǐng)求消息相關(guān)的是一個(gè)存儲(chǔ)單元和一個(gè)期望鎖定模式,其中所請(qǐng)求的數(shù)據(jù)項(xiàng)最終將被傳送到該存儲(chǔ)單元中,所述期望的鎖定模式表明請(qǐng)求者120需要S鎖定。
當(dāng)主管100接收到該鎖定請(qǐng)求消息時(shí),主管100向節(jié)點(diǎn)A處的持有者110發(fā)送一條消息,通知持有者110(例如通知鎖定持有者)存在一個(gè)請(qǐng)求者120需要共享模式下的該數(shù)據(jù)項(xiàng)。
持有者110將把所請(qǐng)求的數(shù)據(jù)項(xiàng)傳送至請(qǐng)求者指定的存儲(chǔ)單元。持有者110進(jìn)行一個(gè)存儲(chǔ)器至存儲(chǔ)器的傳送,以將該數(shù)據(jù)項(xiàng)傳遞給請(qǐng)求者120。另外,節(jié)點(diǎn)A處的持有者110將下向轉(zhuǎn)換其鎖定模式從X鎖定至S鎖定,并通知主管100這種下向轉(zhuǎn)換。所請(qǐng)求數(shù)據(jù)項(xiàng)(例如TBM)的傳送和該下向轉(zhuǎn)換消息可以并行地發(fā)送。
當(dāng)主管100接收到該下向轉(zhuǎn)換消息時(shí),主管100通過(guò)向請(qǐng)求者120發(fā)送一個(gè)鎖定授權(quán)消息來(lái)授予節(jié)點(diǎn)B處的請(qǐng)求者120一個(gè)S鎖定。只有在請(qǐng)求者120收到該鎖定授予信息之后,請(qǐng)求者120才可以訪問(wèn)該數(shù)據(jù)項(xiàng)。
在此情形中,潛伏時(shí)間或從最初請(qǐng)求(例如LRM)到數(shù)據(jù)項(xiàng)被使用時(shí)的時(shí)間(例如請(qǐng)求者120接收到該鎖定授予消息)是四個(gè)小消息(例如鎖定請(qǐng)求消息、通知鎖定持有者、下向轉(zhuǎn)換消息和鎖定授予信息)。所有的業(yè)務(wù)是四個(gè)小消息(鎖定請(qǐng)求消息、通知鎖定持有者、下向轉(zhuǎn)換消息和鎖定授予信息)和一個(gè)請(qǐng)求數(shù)據(jù)項(xiàng)的傳送。
為了提高在群集中操作的速度,就希望提供某些技術(shù)來(lái)減少請(qǐng)求者在訪問(wèn)其請(qǐng)求的數(shù)據(jù)項(xiàng)之前必須等待的時(shí)間量。
發(fā)明內(nèi)容
本發(fā)明提供一種方法和裝置,用于改進(jìn)與傳送數(shù)據(jù)項(xiàng)相關(guān)聯(lián)的性能,并獲得多節(jié)點(diǎn)系統(tǒng)中的鎖定。所描述的技術(shù)適用于任何內(nèi)容,只要其中具有高速緩沖存儲(chǔ)器的實(shí)體可共享訪問(wèn)資源。這些內(nèi)容包括但不限于文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)。根據(jù)本發(fā)明的一個(gè)方面,通過(guò)使請(qǐng)求者將塊傳送消息認(rèn)作鎖定授予消息來(lái)獲得改進(jìn)的性能。從而,只要請(qǐng)求者收到數(shù)據(jù)項(xiàng),其就可以訪問(wèn)該數(shù)據(jù)項(xiàng)而不必等待來(lái)自主管的明確鎖定授權(quán)。
借助于實(shí)例而并非限定的方式來(lái)圖解本發(fā)明,在所附的附圖中,相同的參考標(biāo)記指代相似的元件,其中圖1A是描述最新版數(shù)據(jù)項(xiàng)和與該數(shù)據(jù)項(xiàng)相關(guān)的鎖定其高速緩沖存儲(chǔ)器至高速緩沖存儲(chǔ)器傳送的方框圖;圖1B是對(duì)應(yīng)于圖1A的消息腳本(script);圖2A是描述處于一個(gè)群集中單獨(dú)節(jié)點(diǎn)處的主管、持有者和請(qǐng)求者的方框圖;圖2B是對(duì)應(yīng)于圖2A的消息腳本;圖3A是描述處于相同節(jié)點(diǎn)的主管和請(qǐng)求者的方框圖;圖3B是對(duì)應(yīng)于圖3A的消息腳本;圖4A是描述處于相同節(jié)點(diǎn)的主管和持有者的方框圖;圖4B是對(duì)應(yīng)于圖4A的消息腳本;
圖5A是描述多個(gè)共享鎖定持有者和一個(gè)共享鎖定請(qǐng)求者的方框圖;圖5B是對(duì)應(yīng)于圖5A的消息腳本;圖6A是描述多個(gè)共享鎖定持有者和一個(gè)專用鎖定請(qǐng)求者的方框圖;圖6B是對(duì)應(yīng)于圖6A的消息腳本;圖7A是描述一種情形的方框圖,其中主管在接收到一條鎖定假定消息之前收到一條鎖定請(qǐng)求消息;圖7B是對(duì)應(yīng)于圖7A的消息腳本;圖8A是描述在數(shù)據(jù)項(xiàng)傳送期間如何處理斷連的方框圖;圖8B是對(duì)應(yīng)于圖8A的消息腳本;圖9A是描述如何處理來(lái)自多于一個(gè)共享鎖定請(qǐng)求者其同時(shí)鎖定請(qǐng)求的方框圖;圖9B是對(duì)應(yīng)于圖9A的消息腳本;圖10A是描述如何處理對(duì)鎖定請(qǐng)求消息定時(shí)發(fā)布(timing issue)的方框圖;圖10B是對(duì)應(yīng)于圖10A的消息腳本;圖11A描述如何處理鎖定狀態(tài)不匹配的方框圖;圖11B是對(duì)應(yīng)于圖11A的消息腳本;
圖12是一個(gè)計(jì)算機(jī)系統(tǒng)的方框圖,其中本發(fā)明的一個(gè)實(shí)施例可以在該計(jì)算機(jī)系統(tǒng)上實(shí)施。
具體實(shí)施例方式
在此描述一種用于提高數(shù)據(jù)塊(例如數(shù)據(jù)項(xiàng))傳送性能并通過(guò)將塊傳送信息譯為鎖定授權(quán)消息在群集中獲得鎖定的方法和裝置。在下面的描述中,為了說(shuō)明的目的,給出了大量具體的細(xì)節(jié),以給出對(duì)本發(fā)明的大致理解。但是,很明顯,對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),沒(méi)有這些具體的細(xì)節(jié)本發(fā)明也可以實(shí)施。在其它的實(shí)例中,以方框圖的形式示出了一些公知的結(jié)構(gòu)和裝置,以避免不必要地使本發(fā)明變得不清楚。
以下描述的技術(shù)在任何具有高速緩沖的實(shí)體可共享資源的范圍內(nèi)都可以應(yīng)用。這些范圍包括但不限于文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)。當(dāng)用在文件系統(tǒng)的范圍內(nèi)時(shí),文件系統(tǒng)塊可以不具有如下所述數(shù)據(jù)項(xiàng)標(biāo)題(header)內(nèi)的冗余字段,該如下所述的數(shù)據(jù)項(xiàng)標(biāo)題是在術(shù)語(yǔ)傳輸塊消息的討論范圍內(nèi)。與在數(shù)據(jù)項(xiàng)標(biāo)題中使用冗余字段相反,新的鎖定方式和手段可用在與數(shù)據(jù)單元相分開(kāi)的標(biāo)題單元中。此外,請(qǐng)求的存儲(chǔ)地址必須包括該標(biāo)題和數(shù)據(jù)單元。該標(biāo)題和數(shù)據(jù)單元可以通過(guò)互聯(lián)的分散/聚集操作來(lái)傳送。
術(shù)語(yǔ)以下的術(shù)語(yǔ)將用于指代在以下許多情形中交換的消息,以描述
具體實(shí)施例方式1)鎖定請(qǐng)求消息(LRM)請(qǐng)求者向主管發(fā)送LRM。在一些系統(tǒng)中,請(qǐng)求者可以包含一個(gè)在LRM中的存儲(chǔ)單元,數(shù)據(jù)項(xiàng)被拷貝到該請(qǐng)求單元中。
2)通知鎖定持有者消息(ILH)主管向鎖定持有者發(fā)送ILH,以便通知持有者存在一個(gè)對(duì)獲取數(shù)據(jù)項(xiàng)鎖定感興趣(即期望訪問(wèn)數(shù)據(jù)項(xiàng))的請(qǐng)求者。如果請(qǐng)求者希望專用鎖定,則ILH可以傳送至多個(gè)持有對(duì)數(shù)據(jù)項(xiàng)S鎖定的持有者。
3)傳送塊消息(TBM)持有者將數(shù)據(jù)項(xiàng)(例如塊)傳送至帶有TBM的請(qǐng)求者,其中該數(shù)據(jù)項(xiàng)位于持有者的高速緩沖存儲(chǔ)器中。傳送塊消息的接收可被請(qǐng)求者理解為來(lái)自數(shù)據(jù)項(xiàng)持有者的鎖定授權(quán)。
不僅TBM包括數(shù)據(jù)項(xiàng)的內(nèi)容,而且持有者的鎖定狀態(tài)信息也包括數(shù)據(jù)項(xiàng)的內(nèi)容。鎖定狀態(tài)信息可以簡(jiǎn)單地由鎖定模式組成。在一些系統(tǒng)中,鎖定狀態(tài)信息另外包含在持有者高速緩沖存儲(chǔ)器中保留的數(shù)據(jù)項(xiàng)版本號(hào),或者一些數(shù)據(jù)項(xiàng)節(jié)點(diǎn)傳送的顯示。與該數(shù)據(jù)項(xiàng)相關(guān)聯(lián)的信息的傳送技術(shù)是將此條信息存儲(chǔ)在數(shù)據(jù)項(xiàng)標(biāo)題的冗余字段中。如果在接收到數(shù)據(jù)項(xiàng)后該請(qǐng)求節(jié)點(diǎn)可重新構(gòu)建這些“冗余”的字段,則數(shù)據(jù)項(xiàng)標(biāo)題字段被認(rèn)為是“冗余的”。冗余字段的例子有數(shù)據(jù)庫(kù)塊地址和數(shù)據(jù)庫(kù)塊類型。
用于發(fā)送與數(shù)據(jù)項(xiàng)相關(guān)聯(lián)的信息的第二種技術(shù)是使用“分散/聚集”技術(shù)來(lái)在單條基礎(chǔ)信息中傳送分離的標(biāo)題和有效負(fù)載字段。例如,一個(gè)典型的寫(xiě)入/發(fā)送操作可用如下的訪問(wèn)來(lái)實(shí)現(xiàn)Send(Some_dest,Some_buffer,buffer_length);一個(gè)矢量發(fā)送/寫(xiě)入采用一陣列或一序列緩沖器并將其輸入一個(gè)操作,如下v
.buf=buf1;v
.len=buflen1;
v[1].buf=buf2;v[1].len=buflen2;vSend(Some_dest,2/*Size of vector*/,V)其中接收/讀取如下v
.buf=buf1;v
.len=buflen 1;v[1].buf=buf2;v[1].len=buflen2;vread(Some_dest,2,v)使用這些操作的通常方式是將標(biāo)題信息從有效負(fù)載中分離出來(lái)。在給定用作文件系統(tǒng)的例子中,鎖定消息信息是buf1,實(shí)際的塊將在buf2中。在API中兩種操作的描述允許基礎(chǔ)系統(tǒng)將兩種操作所出現(xiàn)的轉(zhuǎn)換成單個(gè)操作。如果這種技術(shù)用在消息系統(tǒng)中,則結(jié)果就是在線上的一條消息,這是一個(gè)很大的優(yōu)點(diǎn)。
用于發(fā)送與數(shù)據(jù)項(xiàng)有關(guān)的信息的第三種技術(shù)是發(fā)送單個(gè)的狀態(tài)消息(例如LSM),該單個(gè)的狀態(tài)消息包括鎖定狀態(tài)信息,而不是包括具有TBM的鎖定狀態(tài)信息;然而,除非系統(tǒng)允許通過(guò)一個(gè)“矢量”的并行發(fā)送來(lái)傳送單個(gè)的LSM和單個(gè)的TBM,否則傳送單個(gè)的狀態(tài)消息可能會(huì)降低協(xié)議的有效性。在支持“矢量”并行發(fā)送的這類系統(tǒng)中,單個(gè)的LSM將不會(huì)減少協(xié)議的有效性。
4)廣播通知鎖定持有者消息(BILH)主管向所有共享的鎖定持有者發(fā)送BILH(例如對(duì)于特定的數(shù)據(jù)項(xiàng),所有共享鎖定的持有者),但除一個(gè)持有者以外,以通知共享的鎖定持有者一個(gè)請(qǐng)求者對(duì)獲取數(shù)據(jù)項(xiàng)的鎖定感興趣,共享的鎖定持有者對(duì)該數(shù)據(jù)項(xiàng)持有共享鎖定。
5)下向轉(zhuǎn)換消息(DCM)持有者下向轉(zhuǎn)換它的鎖定(例如,從專用模式轉(zhuǎn)換到共享模式),并通知主管鎖定已經(jīng)通過(guò)將DCM發(fā)送給主管而被下向轉(zhuǎn)換。
6)更新鎖定模式(ULM)當(dāng)多于一個(gè)持有者需要通知主管他們已經(jīng)根據(jù)對(duì)數(shù)據(jù)項(xiàng)的請(qǐng)求改變/更新了其鎖定模式時(shí),持有者將ULM與鎖定id及與該鎖定id相關(guān)聯(lián)的新的鎖定模式傳送給主管。
7)鎖定授權(quán)消息(LGM)主管傳送LGM給請(qǐng)求者,以通知請(qǐng)求者鎖定已經(jīng)被授予給請(qǐng)求者。
8)鎖定狀態(tài)消息(LSM)當(dāng)兩個(gè)實(shí)體(例如主管,請(qǐng)求者,持有者)意識(shí)到其各自的鎖定狀態(tài)并不匹配時(shí),該兩個(gè)實(shí)體將與LSM交換狀態(tài)。例如,當(dāng)主管收到LRM時(shí),其中包括來(lái)自持有者的鎖定狀態(tài),該來(lái)自持有者的鎖定狀態(tài)并不與主管具有的鎖定狀態(tài)相匹配,主管將向具有主管鎖定狀態(tài)的持有者發(fā)送LSM。然后,持有者將LSM發(fā)送回主管,其包括鎖定狀態(tài),正如持有者所知道的那樣。因而,主管和持有者可以對(duì)特定的數(shù)據(jù)項(xiàng)再同步它們的鎖定狀態(tài)。
鎖定假定消息如前所述,典型地,當(dāng)數(shù)據(jù)項(xiàng)的持有者將數(shù)據(jù)項(xiàng)傳送至數(shù)據(jù)項(xiàng)的請(qǐng)求者時(shí),持有者將下向轉(zhuǎn)換對(duì)該數(shù)據(jù)項(xiàng)的鎖定并向該數(shù)據(jù)項(xiàng)的主管傳送一條消息,表明下向轉(zhuǎn)換已經(jīng)進(jìn)行。其后,主管向該數(shù)據(jù)項(xiàng)的請(qǐng)求者發(fā)送一個(gè)鎖定授權(quán)消息,以通知請(qǐng)求者其已經(jīng)被授予鎖定該數(shù)據(jù)項(xiàng)。
相反,提供一些技術(shù),其中請(qǐng)求者不必等待來(lái)自主管的鎖定授權(quán)消息。請(qǐng)求者將來(lái)自持有者的數(shù)據(jù)項(xiàng)接收認(rèn)為是一條隱含的鎖定授權(quán)消息。借助于請(qǐng)求者將鎖定轉(zhuǎn)換消息認(rèn)為是鎖定授權(quán)消息,就可排除該下向轉(zhuǎn)換消息和鎖定授權(quán)消息,從而獲得改進(jìn)的性能。
最終,數(shù)據(jù)項(xiàng)的主管必須被通知有關(guān)是何實(shí)體對(duì)數(shù)據(jù)項(xiàng)持有鎖定的消息。在持有者不必傳送反向轉(zhuǎn)換消息給主管的實(shí)例中,主管必須通過(guò)一些其它的途徑來(lái)獲取這條消息。根據(jù)一個(gè)實(shí)施例,為了使主管知道持有者已經(jīng)下向轉(zhuǎn)換了其模式鎖定以及請(qǐng)求者已經(jīng)假設(shè)一個(gè)新的鎖定模式,該請(qǐng)求者或持有者將鎖定假定消息(LAM)傳送給主管。
功能綜述圖2A是描述一個(gè)群集的方框圖,其中主管200、持有者210和請(qǐng)求者220位于該群集中的分離節(jié)點(diǎn)處。此外,請(qǐng)求者220需要S鎖定,持有者210已經(jīng)具有X鎖定。圖2B示出可被圖2A中所示情形采用的消息腳本。圖2B也示出與這些消息有關(guān)的參數(shù)。
持有者210當(dāng)前具有一條數(shù)據(jù)項(xiàng)和用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定。請(qǐng)求者220需要訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)項(xiàng)的S鎖定。執(zhí)行下面的步驟,以使請(qǐng)求者220可以獲取訪問(wèn)S模式內(nèi)的該數(shù)據(jù)項(xiàng)1)請(qǐng)求者向主管發(fā)送LRM為了請(qǐng)求訪問(wèn)該數(shù)據(jù)項(xiàng)和獲取這個(gè)數(shù)據(jù)項(xiàng)的S鎖定,請(qǐng)求者220向主管200發(fā)送LRM。一個(gè)存儲(chǔ)單元和希望的鎖定模式與該LRM相聯(lián),請(qǐng)求的數(shù)據(jù)項(xiàng)最終將被傳輸至該存儲(chǔ)單元中,該希望的鎖定模式表明請(qǐng)求者220需要一個(gè)S鎖定。
2)主管向持有者發(fā)送ILH當(dāng)主管200接收到LRM時(shí),主管200給持有者210發(fā)送ILH,以通知持有者210,存在一個(gè)請(qǐng)求者220需要位于共享模式中的該數(shù)據(jù)項(xiàng)。
3)持有者向請(qǐng)求者發(fā)送TBM持有者210使用請(qǐng)求者的存儲(chǔ)單元(方框220)傳送具有TBM的該數(shù)據(jù)項(xiàng)。持有者210進(jìn)行一個(gè)存儲(chǔ)器至存儲(chǔ)器的傳送來(lái)將該數(shù)據(jù)項(xiàng)傳遞至請(qǐng)求者220。
請(qǐng)求者220的S鎖定將數(shù)據(jù)項(xiàng)的接收認(rèn)為是鎖定授權(quán),從而排除了需要等待LGM和DCM。此外,由于持有者210具有X鎖定且在持有X鎖定的同時(shí)沒(méi)有其他的持有者可以持有任何鎖定,因此一旦傳遞數(shù)據(jù)項(xiàng),持有者210將下向轉(zhuǎn)換其鎖定,從X鎖定至S鎖定。根據(jù)一個(gè)實(shí)施例,通過(guò)改變局部保持在持有者210上的鎖定消息來(lái)實(shí)現(xiàn)這種下向轉(zhuǎn)換,但是持有者210并不必通知主管200這種具有DCM的下向轉(zhuǎn)換。
4)請(qǐng)求者向主管發(fā)送LAM請(qǐng)求者220向主管200發(fā)送LAM,指示請(qǐng)求者220已經(jīng)假設(shè)一個(gè)數(shù)據(jù)項(xiàng)的S鎖定,該數(shù)據(jù)項(xiàng)被持有者210傳遞。響應(yīng)于該LAM,主管200修改其對(duì)于數(shù)據(jù)項(xiàng)的鎖定消息,以指示請(qǐng)求者220和持有者210兩者都具有數(shù)據(jù)項(xiàng)的S鎖定。根據(jù)本發(fā)明的另一個(gè)實(shí)施例,與請(qǐng)求者220向主管200發(fā)送LAM相反,持有者210可以在向請(qǐng)求者220發(fā)送TBM的同時(shí),向主管200發(fā)送LAM。
更可能的是,節(jié)點(diǎn)處A的持有者210和節(jié)點(diǎn)B處的請(qǐng)求者220兩者之間的連接是高速連接。節(jié)點(diǎn)B處的請(qǐng)求者220和節(jié)點(diǎn)C處的主管200兩者之間的連接是較低速的連接。假設(shè)這種構(gòu)造對(duì)于下述所有的情形都是成立的。
在此情形下,潛伏時(shí)間或從最初請(qǐng)求(例如LRM)至數(shù)據(jù)項(xiàng)被使用(例如完成TBM)時(shí)的時(shí)間是2個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,ILH,TBM)。所有的業(yè)務(wù)是3個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,ILH,LAM和TBM)。
相同節(jié)點(diǎn)處的主管和請(qǐng)求者圖3A是描述一個(gè)群集的方框圖,其中主管310和請(qǐng)求者320是處于相同節(jié)點(diǎn)-節(jié)點(diǎn)B 300上的單獨(dú)進(jìn)程,持有者330處于單獨(dú)的節(jié)點(diǎn)-節(jié)點(diǎn)A 330上。請(qǐng)求者320需要一個(gè)S鎖定,持有者330已經(jīng)具有一個(gè)X鎖定。圖3B示出可被圖3A中所示情形采用的消息腳本。圖3B也示出與這些消息有關(guān)的參數(shù)。
持有者330當(dāng)前具有一條數(shù)據(jù)項(xiàng)和用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定。請(qǐng)求者320需要訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)和該數(shù)據(jù)項(xiàng)的S鎖定。被執(zhí)行以使請(qǐng)求者320可以獲取訪問(wèn)S模式內(nèi)的該數(shù)據(jù)項(xiàng)的步驟與圖2A和圖2B中的相同,除了以下兩點(diǎn)第一,消息LRM和LAM在處于相同節(jié)點(diǎn)處的兩個(gè)過(guò)程之間被發(fā)送,而不是在處于單獨(dú)節(jié)點(diǎn)處的兩個(gè)過(guò)程之間被發(fā)送,因此是過(guò)程調(diào)用。第二,LAM是不必要的,因?yàn)檎?qǐng)求者320可以將主管310的鎖定結(jié)構(gòu)更新為下向轉(zhuǎn)換持有者330鎖定。
在這種情形下,潛伏時(shí)間或從最初請(qǐng)求(例如LRM)至數(shù)據(jù)項(xiàng)被使用(例如完成TBM)時(shí)的時(shí)間是一個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如ILH,TBM)。所有的業(yè)務(wù)也是一個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如ILH,TBM)。消息LRM和LAM并不被認(rèn)為是潛伏時(shí)間的一部分,這是因?yàn)檫@些消息處于在同一節(jié)點(diǎn)的兩個(gè)進(jìn)程之間,因此被作為過(guò)程調(diào)用對(duì)待。
相同節(jié)點(diǎn)處的主管和持有者圖4A是描述一個(gè)群集的方框圖,其中主管410和持有者420是處于相同節(jié)點(diǎn)-節(jié)點(diǎn)A(方框400)上的單獨(dú)進(jìn)程,請(qǐng)求者430處于單獨(dú)節(jié)點(diǎn)-節(jié)點(diǎn)B(方框430)上。請(qǐng)求者430需要一個(gè)S鎖定,持有者420已經(jīng)具有一個(gè)X鎖定。圖4B示出可被圖4A中所示情形采用的消息。圖4B也示出與這些消息有關(guān)的參數(shù)。
持有者420當(dāng)前具有一條數(shù)據(jù)項(xiàng)和用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定。隨后,請(qǐng)求者430需要訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)和該數(shù)據(jù)項(xiàng)的S鎖定。被執(zhí)行以使請(qǐng)求者430可以獲取訪問(wèn)S模式內(nèi)的該數(shù)據(jù)項(xiàng)的步驟與圖2A和圖2B中的相同,除了以下兩點(diǎn)第一,消息ILH在處于相同節(jié)點(diǎn)處的兩個(gè)進(jìn)程之間被發(fā)送,而不是在處于單獨(dú)節(jié)點(diǎn)處的兩個(gè)進(jìn)程之間被發(fā)送。第二,LAM從請(qǐng)求者430至主管410是不必要的。原因在于在持有者420收到ILH后,持有者420可以下向轉(zhuǎn)換持有者的局部鎖定模式,同時(shí)持有者420也可以更新主管410鎖定結(jié)構(gòu)中請(qǐng)求者430的鎖定模式。
在這種情形下,潛伏時(shí)間或從最初請(qǐng)求(例如LRM)至數(shù)據(jù)項(xiàng)被使用(例如完成TBM)時(shí)的時(shí)間是兩個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,LAM,TBM)。所有的業(yè)務(wù)也是兩個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如,LRM,LAM,TBM)。如果LAM被消除,則潛伏時(shí)間是一個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,TBM),而且所有的業(yè)務(wù)也是一個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,TBM)。消息ILH并不被認(rèn)為是潛伏時(shí)間的一部分,這是因?yàn)镮LH處于在同一節(jié)點(diǎn)的兩個(gè)進(jìn)程之間,因此被作為過(guò)程調(diào)用對(duì)待。
S鎖定的多個(gè)共享鎖定持有者和請(qǐng)求者圖5A是描述一個(gè)群集的方框圖,其中主管500,兩個(gè)持有者(方框510和530)和請(qǐng)求者520處于一個(gè)群集的分離節(jié)點(diǎn)上。此外,請(qǐng)求者520需要一個(gè)S鎖定,持有者(方框510和530)已經(jīng)具有S鎖定。該兩個(gè)S鎖定持有者(方框510和530)不必放棄其各自的S鎖定而使請(qǐng)求者520也獲得一個(gè)S鎖定。圖5B示出可被圖5A中所示情形采用的消息腳本。圖5B也示出與這些消息有關(guān)的參數(shù)。被執(zhí)行以使請(qǐng)求者520可以獲取訪問(wèn)S模式內(nèi)的該數(shù)據(jù)項(xiàng)的步驟與圖2A和圖2B中的相同,除了主管500僅接收處于節(jié)點(diǎn)A和節(jié)點(diǎn)C上的其中一個(gè)共享鎖定持有者(方框510和520),以發(fā)送至ILH。
如圖5A所示,主管500向持有者510發(fā)送ILH。主管500可使用各種方法來(lái)接收持有者(510或530)發(fā)送ILH。兩種可能的情形如下1)接收S鎖定的最新被授予者,因?yàn)樗羁赡芫哂性诟咚倬彌_存儲(chǔ)器中的數(shù)據(jù)項(xiàng);或2)如果在與主管相同的同一節(jié)點(diǎn)處存在一個(gè)S鎖定持有者,則接收處于與主管相同節(jié)點(diǎn)上的該S鎖定持有者,從而減少所有的業(yè)務(wù)。上述用于接收持有者發(fā)送ILH的可能適用于存在多個(gè)持有者的其他情形。從這兒開(kāi)始,在圖5A和圖5B中的這些步驟分別與圖2A和圖2B中的相同。
X鎖定的多個(gè)共享鎖定持有者和請(qǐng)求者圖6A是描述一個(gè)群集的方框圖,其中主管600,三個(gè)持有者(方框610、620和630)和一個(gè)請(qǐng)求者640處于一個(gè)群集中的分離節(jié)點(diǎn)上。請(qǐng)求者640需要一個(gè)X鎖定,三個(gè)持有者(方框610、620和630)已經(jīng)具有S鎖定。為了使請(qǐng)求者640獲得一個(gè)X鎖定,該三個(gè)持有者(方框610、620和630)需要放棄其各自的S鎖定。圖6B示出可被圖6A中所示情形采用的消息腳本。圖6B也示出與這些消息有關(guān)的參數(shù)。
以下步驟被執(zhí)行以便于請(qǐng)求者640能夠獲得訪問(wèn)X模式內(nèi)的數(shù)據(jù)項(xiàng)1)請(qǐng)求者向主管發(fā)送LRM為了請(qǐng)求訪問(wèn)數(shù)據(jù)項(xiàng)并獲取這個(gè)數(shù)據(jù)項(xiàng)的X鎖定,請(qǐng)求者方框640傳送LRM給主管600。一個(gè)存儲(chǔ)單元和一個(gè)期望鎖定模式與LRM相聯(lián),其中請(qǐng)求的數(shù)據(jù)項(xiàng)最終被傳送至該存儲(chǔ)單元內(nèi),該期望的鎖定模式指示請(qǐng)求者640需要S鎖定。
2)主管向所有但除其中一個(gè)的持有者發(fā)送BILH當(dāng)主管600收到LRM時(shí),主管600同時(shí)發(fā)送BILH給所有的持有者(方框610,620)但除一個(gè)(持有者630)外,以通知其他的持有者(方框610,620),存在一個(gè)請(qǐng)求者640需要專用模式的數(shù)據(jù)項(xiàng)。
3)將響應(yīng)ULM的持有者通知主管通知到的持有者(方框610,620)解除它們各自的S鎖定并響應(yīng)具有ULM的主管600,表明其鎖定已經(jīng)被解除(例如持有者610和620)。ULM被該通知到的持有者(方框610,620)大約同時(shí)傳送至主管600。
4)主管向最后持有者發(fā)送ILH當(dāng)主管600收到最后一個(gè)ULM時(shí),主管600傳送ILH給最后一個(gè)S鎖定持有者,其中在持有者630的這種情況時(shí),通知該最后的持有者630,存在一個(gè)請(qǐng)求者640需要專用模式(例如X鎖定)的數(shù)據(jù)項(xiàng)。
5)最后的持有者向請(qǐng)求者發(fā)送TBM最后的持有者630使用該請(qǐng)求者的存儲(chǔ)單元(方框640)來(lái)傳送具有TBM的請(qǐng)求數(shù)據(jù)項(xiàng)。這個(gè)最后的持有者630進(jìn)行一個(gè)存儲(chǔ)器至存儲(chǔ)器的傳送來(lái)將數(shù)據(jù)項(xiàng)傳輸至請(qǐng)求者640。X鎖定的請(qǐng)求者640將數(shù)據(jù)項(xiàng)的接收認(rèn)為是鎖定授權(quán),從而消除了LGM和DCM。此外,由于持有者630具有一個(gè)S鎖定,且沒(méi)有其他的持有者可在持有X鎖定的同時(shí)持有任何其他的鎖定,因此一旦將數(shù)據(jù)項(xiàng)傳送至請(qǐng)求者640,該最后的持有者630就將解除其S鎖定。
6)請(qǐng)求者向主管發(fā)送LAM請(qǐng)求者640傳送LAM給主管600,表明請(qǐng)求者640已經(jīng)假定一個(gè)用于數(shù)據(jù)項(xiàng)的X鎖定,其中該數(shù)據(jù)項(xiàng)被傳送至請(qǐng)求者640。
在此情形下,潛伏時(shí)間或從最初請(qǐng)求(例如LRM)至數(shù)據(jù)項(xiàng)被使用(例如完成TBM)時(shí)的時(shí)間是4個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,BILH,ULM,ILH,TBM)。所有的業(yè)務(wù)依賴于S鎖定持有者的數(shù)目。
在鎖定假定消息之前主管接收鎖定請(qǐng)求消息圖7A是描述一個(gè)群集的方框圖,其中主管700,持有者720和請(qǐng)求者720處于一個(gè)群集中的分離節(jié)點(diǎn)上。此外,請(qǐng)求者720需要一個(gè)X鎖定,持有者710已經(jīng)具有一個(gè)X鎖定。圖7B示出可被圖7A中所示情形采用的消息腳本。圖7B也示出與這些消息有關(guān)的參數(shù)。持有者710當(dāng)前具有一條數(shù)據(jù)項(xiàng)和用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定。隨后,請(qǐng)求者720需要訪問(wèn)該數(shù)據(jù)項(xiàng)及用于該數(shù)據(jù)項(xiàng)的X鎖定。
下面步驟被執(zhí)行以便請(qǐng)求者720能夠獲取訪問(wèn)X模式中的該數(shù)據(jù)項(xiàng)1)請(qǐng)求者向主管發(fā)送LRM為了請(qǐng)求訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)并獲得用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定,請(qǐng)求者720向主管700發(fā)送LRM。一個(gè)存儲(chǔ)單元和一個(gè)期望的鎖定模式與LRM相關(guān),請(qǐng)求的數(shù)據(jù)項(xiàng)將被最終轉(zhuǎn)移到該數(shù)據(jù)單元內(nèi),該期望的鎖定模式表明請(qǐng)求者720需要一個(gè)X鎖定。
2)主管向持有者發(fā)送ILH當(dāng)主管700接收LRM時(shí),主管700發(fā)送ILH給持有者710以通知持有者710存在一個(gè)請(qǐng)求者720需要專用模式下的數(shù)據(jù)項(xiàng)。
3)持有者向請(qǐng)求者發(fā)送TBM持有者710使用請(qǐng)求者的存儲(chǔ)單元(方框720)傳送帶有TBM的請(qǐng)求數(shù)據(jù)項(xiàng)。持有者710進(jìn)行一個(gè)存儲(chǔ)器至存儲(chǔ)器的傳送以將數(shù)據(jù)項(xiàng)傳送到請(qǐng)求者720。該X鎖定的請(qǐng)求者710將數(shù)據(jù)項(xiàng)的接收認(rèn)為是鎖定授權(quán),從而消除了LGM和DCM。此外,由于持有者710具有一個(gè)X鎖定且在持有X鎖定的同時(shí)沒(méi)有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數(shù)據(jù)項(xiàng)持有者710將解除它的X鎖定。該X鎖定的持有者710將不再通知具有DCM的主管700的解除。
4)請(qǐng)求者向主管發(fā)送LAM,但是主管在LRM之后接收到LAMa)請(qǐng)求者720向主管700發(fā)送LAM,表明請(qǐng)求者720已經(jīng)假定一個(gè)用于數(shù)據(jù)項(xiàng)的X鎖定,其中該數(shù)據(jù)項(xiàng)被傳送至請(qǐng)求者720。
b)然而,在主管700接收到請(qǐng)求者720傳送的LAM之前,持有者710不再認(rèn)為是持有者,其傳送LRM來(lái)再次請(qǐng)求用于這個(gè)相同數(shù)據(jù)項(xiàng)的X鎖定。
5)主管向持有者發(fā)送LSM當(dāng)主管700收到來(lái)自持有者710的LRM(參考圖7A中的消息4b)時(shí),對(duì)于所涉及的數(shù)據(jù)項(xiàng),主管700確定在節(jié)點(diǎn)C(方框700)處的主管的鎖定記錄和在節(jié)點(diǎn)A(方框710)處的持有者的鎖定記錄之間存在著失配。此時(shí),主管700等待LAM來(lái)表明新的持有者720處于節(jié)點(diǎn)B處。然而直至主管700確實(shí)地收到該LAM,主管的鎖定記錄(方框700)仍舊示出該持有者710處于節(jié)點(diǎn)A處。為了同步這些鎖定記錄,主管700向處于節(jié)點(diǎn)A的持有者710發(fā)出一個(gè)與主管記錄鎖定模式一起的LSM。
6)持有者向主管發(fā)送LSM當(dāng)持有者710接收到來(lái)自主管700的LSM時(shí),持有者710確定出對(duì)于該數(shù)據(jù)項(xiàng),持有者的記錄鎖定模式(方框710)與主管的記錄鎖定模式(方框700)不同步。通過(guò)向主管700發(fā)出一個(gè)LSM,持有者710響應(yīng)該確定,其中與用于該數(shù)據(jù)項(xiàng)的持有者記錄鎖定模式(方框710)一起發(fā)送該LSM。當(dāng)主管700接收到來(lái)自持有者710的LSM時(shí),主管700和持有者710將相對(duì)于與該數(shù)據(jù)項(xiàng)相關(guān)聯(lián)的鎖定模式而被同步。
當(dāng)主管接收到來(lái)自請(qǐng)求者720的LAM時(shí),主管700改變其鎖定信息以表明該請(qǐng)求者720具有X鎖定,并向請(qǐng)求者720發(fā)送ILH以通知新的持有者(前請(qǐng)求者)720,新的請(qǐng)求者(前持有者)720的需要一個(gè)鎖定。從此后數(shù)據(jù)處理將以正常的方式繼續(xù)。
雖然步驟5和6產(chǎn)生正確的結(jié)果,步驟5和6并不是必要的。當(dāng)主管700接收到LRM(4b),主管700可以確定正確的鎖定狀態(tài)以及隱含地更新主管700的局部鎖定狀態(tài)。這對(duì)于熱塊尤為重要由于前持有者710在TBM(3)之后立即發(fā)送一個(gè)請(qǐng)求的可能性很高。
在數(shù)據(jù)傳送期間斷開(kāi)圖8A是描述一個(gè)群集的方框圖,其中主管800,持有者810和請(qǐng)求者820位于一個(gè)群集中的分離節(jié)點(diǎn)處。此外,數(shù)據(jù)項(xiàng)的傳輸并沒(méi)有到達(dá)請(qǐng)求者820。為了說(shuō)明本發(fā)明的這個(gè)實(shí)施例起見(jiàn),不考慮鎖定模式。圖8B示出可被圖8A中所示情形采用的消息腳本。圖8B也示出與這些消息有關(guān)的參數(shù)。持有者810當(dāng)前具有一條數(shù)據(jù)項(xiàng)和用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定。隨后,請(qǐng)求者820需要訪問(wèn)該數(shù)據(jù)項(xiàng)及用于該數(shù)據(jù)項(xiàng)的X鎖定。下面步驟被執(zhí)行以便請(qǐng)求者820能夠獲取訪問(wèn)X模式中的該數(shù)據(jù)項(xiàng)1)請(qǐng)求者向主管發(fā)送LRM為了請(qǐng)求訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)并獲得用于這個(gè)數(shù)據(jù)項(xiàng)的S鎖定,請(qǐng)求者820向主管800發(fā)送LRM。一個(gè)存儲(chǔ)單元和一個(gè)期望的鎖定模式與LRM相關(guān),請(qǐng)求的數(shù)據(jù)項(xiàng)將被最終轉(zhuǎn)移到該數(shù)據(jù)單元內(nèi)。
2)主管向持有者發(fā)送ILH當(dāng)主管800接收LRM時(shí),主管800發(fā)送ILH給持有者810以通知持有者810存在一個(gè)請(qǐng)求者820需要指示鎖定模式下的數(shù)據(jù)項(xiàng)。
3)持有者向請(qǐng)求者發(fā)送TBM持有者810使用請(qǐng)求者的存儲(chǔ)單元(方框820)傳送帶有TBM的請(qǐng)求數(shù)據(jù)項(xiàng)。然而,由于某些錯(cuò)誤,所請(qǐng)求數(shù)據(jù)項(xiàng)的傳送并不完全。從而,該鎖定的請(qǐng)求者820并不能將數(shù)據(jù)項(xiàng)的接收認(rèn)為是鎖定授權(quán)。此外,持有者810不向主管800發(fā)出一個(gè)LAM來(lái)表明持有者820已經(jīng)假定該鎖定。
根據(jù)一個(gè)實(shí)施例,這種類型的出錯(cuò)情況(error situation)通過(guò)使主管800包括所有的ILH消息來(lái)被尋址(address),主管當(dāng)前對(duì)鎖定模式的理解由ILH發(fā)送至的實(shí)體來(lái)持有。例如,如果主管800處的消息仍舊表明持有者810具有對(duì)一資源的專有鎖定,則主管800將在另一節(jié)點(diǎn)請(qǐng)求對(duì)該資源的一個(gè)鎖定時(shí)向持有者810發(fā)出一個(gè)ILH。主管800將包括該ILH數(shù)據(jù)項(xiàng),該ILH數(shù)據(jù)項(xiàng)表明主管800認(rèn)為持有者810對(duì)該資源具有一個(gè)X鎖定。
如果持有者810接收到一個(gè)具有鎖定狀態(tài)的ILH消息,其中該鎖定狀態(tài)與持有者810的鎖定狀態(tài)記錄并不匹配,則持有者810就可以拒絕該ILH,并更新主管800的用于該數(shù)據(jù)項(xiàng)的持有者鎖定模式狀態(tài)。例如,通過(guò)發(fā)出一個(gè)LSM至主管800,持有者810可能響應(yīng)一個(gè)表明X鎖定模式的ILH,以表示持有者810已經(jīng)降級(jí)了其鎖定模式。當(dāng)請(qǐng)求者820確定TBM并未到來(lái)時(shí),請(qǐng)求者820將通過(guò)再次將LRM發(fā)送至主管800來(lái)進(jìn)行重試。
多重S鎖定請(qǐng)求者圖9A是描述一個(gè)群集的方框圖,其中主管900,持有者910和兩個(gè)請(qǐng)求者(方框920和930)位于一個(gè)群集的分離節(jié)點(diǎn)處。此外,請(qǐng)求者920和930需要S鎖定,持有者910已經(jīng)具有X鎖定。請(qǐng)求者920和930在大約相同的時(shí)間發(fā)出它們的S鎖定請(qǐng)求,主管900在大約相同的時(shí)間接收到這些S鎖定請(qǐng)求。圖9B示出可被圖9A中所示情形采用的消息腳本。圖9B也示出與這些消息有關(guān)的參數(shù)。
下面步驟被執(zhí)行以便請(qǐng)求者920和930能夠獲取訪問(wèn)S模式下的該數(shù)據(jù)項(xiàng)1)請(qǐng)求者向主管發(fā)送LRM為了請(qǐng)求訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)并獲得用于這個(gè)數(shù)據(jù)項(xiàng)的S鎖定,請(qǐng)求者920和930向主管900發(fā)送LRM。存儲(chǔ)單元和一個(gè)期望的鎖定模式與LRM相聯(lián),請(qǐng)求的數(shù)據(jù)項(xiàng)將被最終轉(zhuǎn)移到該數(shù)據(jù)單元內(nèi),該期望的鎖定模式表明請(qǐng)求者920和930需要S鎖定。主管大約在相同的時(shí)間接收到來(lái)自請(qǐng)求者920和930的LRM。
2)主管向持有者發(fā)送ILH當(dāng)主管900接收到LRM時(shí),主管900傳送ILH給持有者910以通知持有者910存在兩個(gè)請(qǐng)求者920和930需要共享模式下的該數(shù)據(jù)項(xiàng)。對(duì)于每個(gè)請(qǐng)求者920和930,與向持有者910發(fā)出單獨(dú)的ILH相反,主管900通過(guò)包括存儲(chǔ)單元來(lái)將這些請(qǐng)求分批成一個(gè)ILH,對(duì)于一個(gè)ILH中的請(qǐng)求者920和930,數(shù)據(jù)項(xiàng)需要被復(fù)制到該一個(gè)ILH內(nèi)。
3)持有者向請(qǐng)求者發(fā)送TBM持有者910使用請(qǐng)求者的存儲(chǔ)單元(方框920和930)傳送帶有TBM的請(qǐng)求數(shù)據(jù)項(xiàng)。持有者910進(jìn)行一個(gè)存儲(chǔ)器至存儲(chǔ)器的傳送以將數(shù)據(jù)項(xiàng)傳送到請(qǐng)求者920和930。
該S鎖定的請(qǐng)求者920和930將數(shù)據(jù)項(xiàng)的接收認(rèn)為是鎖定授權(quán),從而消除了需要等待LGM和DCM。此外,由于持有者910具有一個(gè)X鎖定且在持有X鎖定的同時(shí)沒(méi)有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數(shù)據(jù)項(xiàng),持有者910將下向轉(zhuǎn)換其鎖定,從X鎖定轉(zhuǎn)換成S鎖定。根據(jù)一個(gè)實(shí)施例,這種下向轉(zhuǎn)換通過(guò)改變局部保持在持有者910上的鎖定消息來(lái)進(jìn)行,但持有者910并不通知主管900這種具有DCM的下向轉(zhuǎn)換。
4)請(qǐng)求者向主管發(fā)送LAM請(qǐng)求者920和930向主管900發(fā)出LAM,表明請(qǐng)求者920和930已經(jīng)假定其對(duì)于該數(shù)據(jù)項(xiàng)各自的S鎖定,其中該數(shù)據(jù)項(xiàng)被持有者910傳送。響應(yīng)于該LAM,主管900接收到其用于該數(shù)據(jù)項(xiàng)的鎖定消息,以表明請(qǐng)求者920、930和持有者910具有對(duì)該數(shù)據(jù)項(xiàng)的S鎖定。
在此情形下,潛伏時(shí)間或從最初請(qǐng)求(例如LRM)至數(shù)據(jù)項(xiàng)被使用(例如完成TBM)時(shí)的時(shí)間是2個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,ILH,TBM)。所有的業(yè)務(wù)是5個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如兩個(gè)LRM,一個(gè)ILH,兩個(gè)LAM和兩個(gè)TBM)。
鎖定請(qǐng)求消息的定時(shí)發(fā)布圖10A是描述一個(gè)群集的方框圖,其中主管1000,持有者1010和請(qǐng)求者1020位于一個(gè)群集中的分離節(jié)點(diǎn)處。持有者1010具有一個(gè)S鎖定,并需要將鎖定模式提升至X鎖定。而且,請(qǐng)求者1020也需要一個(gè)X鎖定。在這種情形下,感興趣的一點(diǎn)是主管1000將接收來(lái)自請(qǐng)求者1020的LRM,其后不久接收來(lái)自持有者1010的LRM,請(qǐng)求提升持有者1010的鎖定模式從S升至X。圖10B示出可被圖10A中所示情形采用的消息腳本。圖10B也示出與這些消息有關(guān)的參數(shù)。
持有者1010當(dāng)前具有一個(gè)數(shù)據(jù)項(xiàng)和用于這個(gè)數(shù)據(jù)項(xiàng)的S鎖定。持有者1010和請(qǐng)求者1020兩者都需要以專用的模式來(lái)訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng),從而需要用于該數(shù)據(jù)項(xiàng)的X鎖定。下面步驟被執(zhí)行以便請(qǐng)求者1020能夠獲取訪問(wèn)X模式中的該數(shù)據(jù)項(xiàng)。
1a)請(qǐng)求者向主管發(fā)送LRM為了請(qǐng)求訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)并獲得用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定,請(qǐng)求者1020向主管1000發(fā)送LRM。一個(gè)存儲(chǔ)單元和一個(gè)期望的鎖定模式與LRM相聯(lián),請(qǐng)求的數(shù)據(jù)項(xiàng)將被最終轉(zhuǎn)移到該數(shù)據(jù)單元內(nèi),該期望的鎖定模式表明請(qǐng)求者1020需要X鎖定。
1b)持有者向主管發(fā)送LRM以將鎖定從S提升至X為了獲取數(shù)據(jù)項(xiàng)的專用模式,其中持有者1010已經(jīng)處于S模式,持有者1010向主管1000發(fā)出一個(gè)LRM,請(qǐng)求將此數(shù)據(jù)項(xiàng)的鎖定模式從S提升至X。然而,主管1000在接收到持有者1010的LRM之前已經(jīng)接收到請(qǐng)求者1020的LRM。
2)主管向持有者發(fā)送ILH當(dāng)主管1000接收到來(lái)自請(qǐng)求者1020的LRM時(shí),主管1000傳送ILH給持有者1010以通知持有者1010存在一個(gè)請(qǐng)求者1020需要專用模式下的該數(shù)據(jù)項(xiàng)。持有者1010認(rèn)為在其自身和請(qǐng)求者1020之間存在著差異。
3)持有者向請(qǐng)求者發(fā)送TBM持有者1010使用請(qǐng)求者的存儲(chǔ)單元(方框1020)傳送帶有TBM的請(qǐng)求數(shù)據(jù)項(xiàng)。持有者1010進(jìn)行一個(gè)存儲(chǔ)器至存儲(chǔ)器的傳送以將數(shù)據(jù)項(xiàng)傳送到請(qǐng)求者1020。
該鎖定的請(qǐng)求者1020將數(shù)據(jù)項(xiàng)的接收認(rèn)為是鎖定授權(quán),從而消除了需要等待LGM和DCM。而且,由于持有者1010具有一個(gè)X鎖定且在持有X鎖定的同時(shí)沒(méi)有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數(shù)據(jù)項(xiàng)至請(qǐng)求者1020,持有者1010將放棄其鎖定。該X鎖定的持有者1010不再通知主管1000持有者1010已經(jīng)放棄了其具有DCM的鎖定。
4)持有者向主管重發(fā)LRM此時(shí),持有者1010不再是一個(gè)持有者,它通過(guò)向主管1000發(fā)送另一個(gè)LRM來(lái)再次嘗試以獲得用于該數(shù)據(jù)項(xiàng)的X鎖定。但是,請(qǐng)求者1020已經(jīng)具有一個(gè)用于此數(shù)據(jù)項(xiàng)的X鎖定。因此,此時(shí),先前的持有者1010被作為類似于其他任何新的持有者來(lái)對(duì)待,而且先前的持有者1010其新的請(qǐng)求將被排列在任何其他等待的請(qǐng)求之后。
5)請(qǐng)求者向主管發(fā)送LAM請(qǐng)求者1020向主管1000發(fā)送LAM,表明請(qǐng)求者1020已經(jīng)假定一個(gè)數(shù)據(jù)項(xiàng)的X鎖定,其中該數(shù)據(jù)項(xiàng)被持有者1010傳送。響應(yīng)于該LAM,主管1000修改該數(shù)據(jù)項(xiàng)的鎖定消息,以表明先前的持有者1010不再具有此數(shù)據(jù)項(xiàng)的鎖定,以及請(qǐng)求者1020具有該相同數(shù)據(jù)項(xiàng)的X鎖定。在主管1000已經(jīng)收到來(lái)自請(qǐng)求者1020的LAM后,主管1000將認(rèn)為節(jié)點(diǎn)A 1010類似于其他任何的請(qǐng)求者,其中節(jié)點(diǎn)A 1010當(dāng)前是請(qǐng)求者;從而主管1000將向代表節(jié)點(diǎn)A 1010的節(jié)點(diǎn)B 1020發(fā)出一個(gè)ILH。
在此情形下,潛伏時(shí)間或從最初請(qǐng)求(例如LRM)至數(shù)據(jù)項(xiàng)被使用(例如完成TBM)時(shí)的時(shí)間是2個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,ILH,TBM)。所有的業(yè)務(wù)是3個(gè)小消息和一個(gè)數(shù)據(jù)項(xiàng)傳送(例如LRM,ILH,LAM和TBM)。
鎖定狀態(tài)的不匹配圖11A是描述一個(gè)群集的方框圖,其中主管1100,620,持有者(方框1110和1120)和請(qǐng)求者1130位于一個(gè)群集中的分離節(jié)點(diǎn)處。兩個(gè)持有者(方框1110和1120)已經(jīng)具有S鎖定。持有者1110請(qǐng)求將鎖定模式從S提升到X。此外,請(qǐng)求者1130需要X鎖定。為了使請(qǐng)求者1130獲取X鎖定,兩個(gè)持有者(方框1110和1120)需要放棄他們各自的S鎖定。圖11B示出可被圖11A中所示情形采用的消息腳本。圖11B也示出與這些消息有關(guān)的參數(shù)。
下面步驟被執(zhí)行以便請(qǐng)求者1130能夠獲取訪問(wèn)X模式下的該數(shù)據(jù)項(xiàng)。
1)請(qǐng)求者向主管發(fā)送LRM,持有者也向主管發(fā)送LRM為了請(qǐng)求訪問(wèn)這個(gè)數(shù)據(jù)項(xiàng)并獲得用于這個(gè)數(shù)據(jù)項(xiàng)的X鎖定,請(qǐng)求者1130向主管1100發(fā)送LRM。一個(gè)存儲(chǔ)單元和一個(gè)期望的鎖定模式與LRM相聯(lián),請(qǐng)求的數(shù)據(jù)項(xiàng)將被最終轉(zhuǎn)移到該數(shù)據(jù)單元內(nèi),該期望的鎖定模式表明請(qǐng)求者1130需要X鎖定。
幾乎同時(shí),持有者1110也向主管1100發(fā)出一個(gè)LRM,請(qǐng)求持有者1110的鎖定從S提升至X。然而,依照這種情形,持有者1110發(fā)出的LRM會(huì)被延遲到達(dá)主管1100。在持有者1110發(fā)出LRM時(shí),該LRM將包含當(dāng)前的鎖定模式和持有者1110的期望鎖定模式。
2)主管向除一個(gè)持有者外所有的持有者發(fā)送BILH當(dāng)持有者1100接收到LRM時(shí),主管1100同時(shí)向除一個(gè)持有者(持有1120)之外的所有持有者(方框1110)發(fā)送BILH,以通知其它的持有者(方框1110)存在一個(gè)請(qǐng)求者1130需要該專用模式下的數(shù)據(jù)項(xiàng)。
3)將響應(yīng)于ULM的持有者通知給主管被通知的持有者1110解除持有者1110持有的S鎖定,并響應(yīng)回復(fù)具有ULM的主管1100,表明持有者1110已經(jīng)解除該鎖定。持有者1110將向主管1100發(fā)送ULM。由于主管1100相對(duì)于其擔(dān)負(fù)的所有實(shí)體保持鎖定模式,因此主管1100將更新存在于其上的持有者1110的鎖定模式,來(lái)表明當(dāng)主管1100接收到來(lái)自持有者1110的LRM時(shí)持有者1110已經(jīng)解除該鎖定(例如,零)。
4)主管向最后的持有者發(fā)送ILH當(dāng)主管1100接收到ULM時(shí),主管1100傳送ILH給最后的S鎖持有者,在這種情況下該最后的S鎖定持有者是持有者1120,以通知該最后的持有者1120存在一個(gè)請(qǐng)求者1130需要專用模式(例如X鎖定)下的該數(shù)據(jù)項(xiàng)。
5)最后的持有者向請(qǐng)求者發(fā)送TBM最后的持有者1120使用請(qǐng)求者的存儲(chǔ)單元(方框1130)傳送帶有TBM的請(qǐng)求數(shù)據(jù)項(xiàng)。該最后的持有者1120進(jìn)行一個(gè)存儲(chǔ)器至存儲(chǔ)器的傳送以將數(shù)據(jù)項(xiàng)傳送到請(qǐng)求者1130。該X鎖定的請(qǐng)求者1130將數(shù)據(jù)項(xiàng)的接收認(rèn)為是鎖定授權(quán),從而消除了LGM和DCM。而且,由于持有者1120具有一個(gè)S鎖定且在持有X鎖定的同時(shí)沒(méi)有任何其它的持有者可以持有任何其它的鎖定,因此一旦傳送該數(shù)據(jù)項(xiàng)至請(qǐng)求者1130,該最后的持有者1120將解除其S鎖定。
6)請(qǐng)求者向主管發(fā)送LAM請(qǐng)求者1130發(fā)送LAM給主管1100,表明請(qǐng)求者1130已經(jīng)假定用于該數(shù)據(jù)項(xiàng)的X鎖定,其中該數(shù)據(jù)項(xiàng)被轉(zhuǎn)移到請(qǐng)求者1130。
7)主管接收來(lái)自先前持有者的LRM此時(shí),來(lái)自先前持有者1110的LRM到達(dá)主管1100。該主管1100認(rèn)為持有者1110具有一個(gè)解除或零的鎖定模式。然而,持有者1110發(fā)出的LRM表明持有者1110的當(dāng)前模式是S,這是因?yàn)樵诔钟姓?110發(fā)送LRM時(shí),持有者1110的鎖定模式是S。因此,主管1100和持有者1110將通過(guò)交換鎖定狀態(tài)消息(例如,LSM)來(lái)進(jìn)行彼此更新。
8)主管向先前持有者發(fā)送LSM主管1100向具有依照主管1100理解的鎖定模式的持有者1110發(fā)送LSM。
9)先前的持有者向主管發(fā)送LSM持有者1110向具有依照持有者1110理解的鎖定模式的主管1100發(fā)送LSM。然后,對(duì)于該最初請(qǐng)求數(shù)據(jù)項(xiàng)的鎖定,主管1100和持有者1110將關(guān)于該模式被同步。
硬件綜述圖12是一個(gè)圖解計(jì)算機(jī)系統(tǒng)1200的方框圖,本發(fā)明的一個(gè)實(shí)施例基于此系統(tǒng)可以實(shí)施。計(jì)算機(jī)系統(tǒng)1200包括用于通信信息的總線1202或其他通信機(jī)構(gòu),以及與總線1202相耦合、用于處理信息的處理器1204。計(jì)算機(jī)系統(tǒng)1200還包括主存儲(chǔ)器1206,像隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)或其他動(dòng)態(tài)存儲(chǔ)器,耦合在總線1202上來(lái)存儲(chǔ)被處理器1204執(zhí)行的信息和指令。在處理器1204將要執(zhí)行的指令的進(jìn)行期間,主存儲(chǔ)器1206也可用于存儲(chǔ)暫時(shí)變量或其他的中間信息。計(jì)算機(jī)系統(tǒng)1200還包括只讀存儲(chǔ)器(ROM)1208或其他耦合在總線1202上、用于存儲(chǔ)靜態(tài)信息和處理器1204指令的靜態(tài)存儲(chǔ)器。存儲(chǔ)設(shè)備1210像磁盤(pán)或光盤(pán)被設(shè)置且耦合在總線1202上以存儲(chǔ)信息和指令。
計(jì)算機(jī)系統(tǒng)1200可通過(guò)總線1201耦合在顯示器1212上,像陰極射線管(CRT),用于向計(jì)算機(jī)用戶顯示信息。輸入設(shè)備1214,包括字母數(shù)字和其他鍵,耦合到總線1202上,用來(lái)向處理器1204交流信息和命令選擇。另一種用戶輸入設(shè)備是光標(biāo)控制1216,像鼠標(biāo)、跟蹤球,或光標(biāo)方向鍵,用來(lái)向處理器1204交流方向信息和命令選擇,并用來(lái)控制光標(biāo)在顯示器1212上的移動(dòng)。這種輸入設(shè)備一般具有兩個(gè)坐標(biāo)軸一第一軸(例如X)和第二軸(例如Y)內(nèi)的兩個(gè)自由度,其允許該設(shè)備在一個(gè)平面內(nèi)限定位置。
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)1200的使用,以降低與聲脈沖信號(hào)(ping)相關(guān)的總內(nèi)務(wù)操作(overhead)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,與聲脈沖信號(hào)相關(guān)的總內(nèi)務(wù)操作被響應(yīng)于處理器1204的計(jì)算機(jī)系統(tǒng)1200降低,該處理器執(zhí)行包含在主存儲(chǔ)器1206內(nèi)的一個(gè)或多個(gè)序列的一個(gè)或多個(gè)指令。這些指令可以從另外的計(jì)算機(jī)可讀介質(zhì)像存儲(chǔ)設(shè)備1210讀入主存儲(chǔ)器1206內(nèi)。包含在主存儲(chǔ)器1206內(nèi)的指令序列的執(zhí)行促使處理器1204進(jìn)行下述的處理步驟。在可替代的實(shí)施例中,可以采用硬線電路替代或與軟件指令相結(jié)合來(lái)實(shí)施本發(fā)明。因此,本發(fā)明的實(shí)施例并不限于硬線電路和軟件的任何特定組合。
此處使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”指的是可向處理器1204提供指令進(jìn)行執(zhí)行的任何介質(zhì)。這種介質(zhì)可以采用多種形式,包括但并不限于非易失介質(zhì)、易失介質(zhì)和傳輸介質(zhì)。非易失介質(zhì)包括例如光盤(pán)或磁盤(pán),例如存儲(chǔ)設(shè)備1210。易失介質(zhì)包括動(dòng)態(tài)存儲(chǔ)器像主存儲(chǔ)器1206。傳輸介質(zhì)包括同軸電纜、銅線和光纖,包括含有總線1202的導(dǎo)線。傳輸介質(zhì)也可采用聲波或光波的形式,像在無(wú)線電波和紅外數(shù)據(jù)通信期間產(chǎn)生的那些聲波或光波。
常用形式的計(jì)算機(jī)可讀介質(zhì)包括例如軟盤(pán)、軟磁盤(pán)、硬盤(pán)、磁帶或任何其他的磁介質(zhì)、CD-ROM、任何其他的光學(xué)介質(zhì)、穿孔卡、紙帶、任何其他具有孔形狀的物理介質(zhì)、RAM、PROM、EPROM、FLASH-EPROM、任何其他的存儲(chǔ)器芯片或盒式磁盤(pán)、如下所述的載波、或者任何其他計(jì)算機(jī)可讀取的介質(zhì)。
各種形式的計(jì)算機(jī)可讀介質(zhì)可用于向處理器1204攜帶一個(gè)或多個(gè)序列的一個(gè)或多個(gè)指令來(lái)進(jìn)行執(zhí)行。例如,這些指令可以最初在遠(yuǎn)端計(jì)算機(jī)的磁盤(pán)上進(jìn)行。遠(yuǎn)端的計(jì)算機(jī)可將這些指令下載到其動(dòng)態(tài)存儲(chǔ)器內(nèi),然后使用調(diào)制解調(diào)器通過(guò)電話線來(lái)發(fā)送這些指令。當(dāng)?shù)赜?jì)算機(jī)系統(tǒng)1200的調(diào)制解調(diào)器接收電話線上的數(shù)據(jù),并采用紅外發(fā)射器將數(shù)據(jù)轉(zhuǎn)換成紅外信號(hào)。紅外探測(cè)器能夠接收到在該紅外信號(hào)中攜帶的數(shù)據(jù),適宜的電路將該數(shù)據(jù)置于總線1202上??偩€1202將數(shù)據(jù)攜帶至主存儲(chǔ)器1206,處理器1204從該主存儲(chǔ)器1206得到這些指令并執(zhí)行這些指令。主存儲(chǔ)器1206收到的指令可以在處理器1204執(zhí)行之前或之后隨機(jī)地存儲(chǔ)在存儲(chǔ)設(shè)備1210上。
計(jì)算機(jī)系統(tǒng)1200屬于一種共享磁盤(pán)系統(tǒng),其中對(duì)于計(jì)算機(jī)系統(tǒng)1200和一個(gè)或多個(gè)其他的CPU(例如CPU 1251),位于一個(gè)或多個(gè)存儲(chǔ)設(shè)備(例如磁盤(pán)驅(qū)動(dòng)器1255)上的數(shù)據(jù)都是可訪問(wèn)的。在圖示的系統(tǒng)中,借助于一種系統(tǒng)局域網(wǎng)1253可提供對(duì)磁盤(pán)驅(qū)動(dòng)器1255的共享訪問(wèn)。但是,各種結(jié)構(gòu)都可以替代地用來(lái)提供共享訪問(wèn)。
計(jì)算機(jī)系統(tǒng)1200還包括耦合在總線1202上的通信接口1218。通信接口1218提供一種與網(wǎng)絡(luò)鏈路1220耦合的雙向數(shù)據(jù)通信,該網(wǎng)絡(luò)鏈路1220連接在局域網(wǎng)1222上。例如,通信接口1218可以是一個(gè)綜合業(yè)務(wù)數(shù)字網(wǎng)(ISDN)卡或一個(gè)調(diào)制解調(diào)器,以提供與相應(yīng)類似的電話線的數(shù)據(jù)通信連接。作為另一個(gè)實(shí)例,通信接口1218可以是一個(gè)局域網(wǎng)(LAN)卡,以提供一種與兼容LAN的數(shù)據(jù)通信連接。無(wú)線線路也可以實(shí)施。在任何的這種實(shí)施中,通信接口1218發(fā)送并接收電、電磁或光信號(hào),這些信號(hào)攜帶有表示各種類型信息的數(shù)字?jǐn)?shù)據(jù)流。
網(wǎng)絡(luò)鏈路1220一般通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)來(lái)提供與其他數(shù)據(jù)設(shè)備的數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈路1220可以通過(guò)局域網(wǎng)1222提供與主機(jī)1224的連接,或者通過(guò)互聯(lián)網(wǎng)服務(wù)供應(yīng)商(ISP)1226的操作與數(shù)據(jù)設(shè)備相連接。ISP 1226反過(guò)來(lái)又經(jīng)由現(xiàn)在通常稱作“互聯(lián)網(wǎng)”的全球分組數(shù)據(jù)通信網(wǎng)絡(luò)1228來(lái)提供數(shù)據(jù)通信服務(wù)。局域網(wǎng)1222和互聯(lián)網(wǎng)1228兩者都采用攜帶數(shù)字?jǐn)?shù)據(jù)流的電、電磁或光信號(hào)。通過(guò)各種網(wǎng)絡(luò)的信號(hào)和網(wǎng)絡(luò)鏈路1220上及穿過(guò)通信接口1218的信號(hào)向/從計(jì)算機(jī)系統(tǒng)1200攜帶數(shù)字?jǐn)?shù)據(jù),這些信號(hào)是傳輸信息的載波的示范性例子。
計(jì)算機(jī)系統(tǒng)1200能夠借助于網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路1220及通信接口1218發(fā)送包括程序代碼的信息并接收包括程序代碼的數(shù)據(jù)。在互聯(lián)網(wǎng)的例子中,服務(wù)器1230可以借助于互聯(lián)網(wǎng)1228、ISP 1226、局域網(wǎng)1222和通信端口1218來(lái)傳輸用于應(yīng)用程序的請(qǐng)求代碼。
當(dāng)接收到代碼時(shí),該接收到的代碼可以被處理器1204執(zhí)行和/或存儲(chǔ)在存儲(chǔ)設(shè)備1210或其他的非易失存儲(chǔ)器內(nèi)以用于后面的執(zhí)行。這樣,計(jì)算機(jī)系統(tǒng)1200可以獲得載波形式的應(yīng)用代碼。
在前述的說(shuō)明中,已經(jīng)參考具體的實(shí)施方式描述了本發(fā)明。但是,很顯然,可以在不脫離本發(fā)明的更寬精神和范圍內(nèi)對(duì)本發(fā)明作出各種改進(jìn)和改變。因此,這些說(shuō)明和附圖應(yīng)當(dāng)是示例性而不是限制性的。
權(quán)利要求
1.一種用于管理對(duì)資源訪問(wèn)的方法,所述方法包括計(jì)算機(jī)實(shí)施的以下步驟從請(qǐng)求者向所述資源的主管發(fā)送用于所述資源鎖定模式的鎖定模式請(qǐng)求;在所述請(qǐng)求者處接收來(lái)自所述資源的持有者的所述資源;以及存取所述資源,好像所述請(qǐng)求者已經(jīng)被授予所述鎖定模式請(qǐng)求,而不需等待接收來(lái)自所述主管的快速鎖定模式授權(quán)。
2.根據(jù)權(quán)利要求1所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟檢測(cè)在所述請(qǐng)求者處接收所述資源的步驟是否將發(fā)生;以及如果所述請(qǐng)求者確實(shí)接收到所述資源,則從所述請(qǐng)求者發(fā)送一條鎖定假定消息到所述主管,以通知所述主管所述請(qǐng)求者已經(jīng)假定關(guān)于所述資源的所述鎖定模式。
3.一種用于管理對(duì)資源訪問(wèn)的方法,所述方法包括計(jì)算機(jī)實(shí)施的以下步驟在持有者處接收一條請(qǐng)求者需要所述資源的通知鎖定持有者消息,其中所述持有者當(dāng)前持有所述資源以及所述資源的第一鎖定模式;響應(yīng)于收到所述通知鎖定持有者消息,將所述資源傳送至所述請(qǐng)求者,而不將一狀態(tài)消息發(fā)送至所述資源的主管,其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息;以及更新由所述持有者保持的一鎖定模式記錄,以表明所述持有者已經(jīng)從所述第一鎖定模式下向轉(zhuǎn)換為所述資源的第二鎖定模式。
4.根據(jù)權(quán)利要求3所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟向所述主管發(fā)送一條更新鎖定消息,其中所述更新鎖定消息表明所述資源的所述第二鎖定模式。
5.根據(jù)權(quán)利要求3所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟在所述持有者處接收一條來(lái)自發(fā)送者的消息;其中所述消息包括所述資源的第三鎖定模式;檢測(cè)所述第一鎖定模式與所述第三鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述第一鎖定模式。
6.根據(jù)權(quán)利要求3所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟在所述持有者處接收一單批通知鎖定持有者消息,所述消息包含所述資源傳送至多個(gè)請(qǐng)求者所需要的所有信息;以及將所述資源傳送至所述多個(gè)請(qǐng)求者。
7.根據(jù)權(quán)利要求3所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟將來(lái)自所述持有者的一條鎖定訪問(wèn)消息發(fā)送至一主管。
8.一種用于管理對(duì)資源訪問(wèn)的方法,所述方法包括計(jì)算機(jī)實(shí)施的以下步驟在一主管處接收一條請(qǐng)求消息,所述請(qǐng)求消息表明一請(qǐng)求者需要多個(gè)資源中的一特定資源,其中所述主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;從所述主管向一持有者發(fā)送一條通知鎖定持有者消息,以向所述持有者表明所述請(qǐng)求者需要所述特定資源;從所述請(qǐng)求者接收一條鎖定訪問(wèn)消息,其中所述鎖定訪問(wèn)消息表明所述請(qǐng)求者已經(jīng)假定關(guān)于所述特定資源的鎖定模式;以及響應(yīng)于收到所述鎖定訪問(wèn)消息,進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述更新表明所述請(qǐng)求者已經(jīng)假定所述特定資源的鎖定模式。
9.根據(jù)權(quán)利要求8所述的方法,其中響應(yīng)于收到多個(gè)鎖定模式記錄響應(yīng)于收到所述鎖定訪問(wèn)消息,所述計(jì)算機(jī)實(shí)施的對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄進(jìn)行更新的步驟先于從關(guān)于所述特定資源的所述持有者收到任何狀態(tài)消息之前進(jìn)行;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息。
10.根據(jù)權(quán)利要求8所述的方法,其中響應(yīng)于收到多個(gè)鎖定模式記錄響應(yīng)于收到所述鎖定訪問(wèn)消息,進(jìn)行所述計(jì)算機(jī)實(shí)施的對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄的更新,而不從關(guān)于所述特定資源的所述持有者收到狀態(tài)消息;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息。
11.根據(jù)權(quán)利要求8所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟在所述主管處接收多個(gè)請(qǐng)求消息,所述請(qǐng)求消息表明多個(gè)請(qǐng)求者需要所述特定資源;以及從所述主管發(fā)送所述通知鎖定持有者消息給所述持有者,其中所述通知鎖定持有者消息包含來(lái)自所述多個(gè)請(qǐng)求消息的所有信息,所述多個(gè)請(qǐng)求消息對(duì)于所述持有者將所述特定資源傳送至所述多個(gè)請(qǐng)求者是必要的。
12.根據(jù)權(quán)利要求8所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟在所述主管處接收來(lái)自一發(fā)送者的消息;其中所述消息包括所述特定資源的第二鎖定模式;檢測(cè)所述鎖定模式與所述第二鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述鎖定模式。
13.根據(jù)權(quán)利要求8所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟在所述主管處接收第二請(qǐng)求消息;其中所述請(qǐng)求消息和所述第二請(qǐng)求消息都包含專用鎖定模式下對(duì)所述資源的請(qǐng)求;以及排列所述第二請(qǐng)求消息直到所述主管收到來(lái)自所述請(qǐng)求者的所述鎖定訪問(wèn)消息。
14.一種用于管理對(duì)資源訪問(wèn)的方法,所述方法包括計(jì)算機(jī)實(shí)施的以下步驟在一主管處接收一條請(qǐng)求消息,所述請(qǐng)求消息表明一請(qǐng)求者需要多個(gè)資源中的一特定資源,其中所述主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;從多個(gè)持有者中指定一個(gè)持有者,其中所述多個(gè)持有者都具有對(duì)所述特定資源各自的鎖定模式;向除所述一個(gè)持有者外的所述多個(gè)持有者發(fā)送多個(gè)廣播通知鎖定持有者信息,表明所述請(qǐng)求者需要所述特定資源;從除所述一個(gè)持有者外的所述多個(gè)持有者接收多個(gè)更新鎖定消息;其中所述多個(gè)更新鎖定消息表明所述多個(gè)持有者各自的鎖定模式;從所述主管向所述一個(gè)持有者發(fā)送一條信息鎖定持有者消息,以向所述一個(gè)持有者表明所述請(qǐng)求者需要所述特定資源;接收來(lái)自所述請(qǐng)求者的鎖定訪問(wèn)消息,其中所述鎖定訪問(wèn)消息表明所述請(qǐng)求者已經(jīng)假定關(guān)于所述特定資源的鎖定模式;以及響應(yīng)于收到所述鎖定訪問(wèn)消息而不需收到一條狀態(tài)消息,來(lái)進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息;其中所述更新表明所述請(qǐng)求者已經(jīng)假定所述特定資源的所述鎖定模式。
15.一種計(jì)算機(jī)系統(tǒng),包括一處理器;一存儲(chǔ)器,存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,所述指令促使所述處理器進(jìn)行計(jì)算機(jī)實(shí)施的以下步驟從請(qǐng)求者向所述資源的主管發(fā)送用于所述資源鎖定模式的鎖定模式請(qǐng)求;在所述請(qǐng)求者處接收來(lái)自所述資源的持有者的所述資源;以及存取所述資源,好像所述請(qǐng)求者已經(jīng)授權(quán)所述鎖定模式請(qǐng)求,而不需等待接收來(lái)自所述主管的快速鎖定模式授權(quán)。
16.根據(jù)權(quán)利要求15所述的計(jì)算機(jī)系統(tǒng),其中所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行的計(jì)算機(jī)實(shí)施步驟還包括計(jì)算機(jī)實(shí)施的以下步驟檢測(cè)在所述請(qǐng)求者處接收所述資源的步驟是否將發(fā)生;以及如果所述請(qǐng)求者確實(shí)接收到所述資源,則從所述請(qǐng)求者發(fā)送一條鎖定假定消息到所述主管,以通知所述主管所述請(qǐng)求者已經(jīng)假定關(guān)于所述資源的所述鎖定模式。
17.一種計(jì)算機(jī)系統(tǒng),包括一處理器;一存儲(chǔ)器,耦合在所述處理器上,包括;對(duì)應(yīng)于多個(gè)資源中一特定資源其鎖定模式的多個(gè)鎖定模式記錄中的一特定鎖定模式記錄,其中一主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行計(jì)算機(jī)實(shí)施的以下步驟在一主管處接收一條請(qǐng)求消息,所述請(qǐng)求消息表明一請(qǐng)求者需要多個(gè)資源中的一特定資源,其中所述主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;從所述主管向一持有者發(fā)送一條通知鎖定持有者消息,以向所述持有者表明所述請(qǐng)求者需要所述特定資源;從所述請(qǐng)求者接收一條鎖定訪問(wèn)消息,其中所述鎖定訪問(wèn)消息表明所述請(qǐng)求者已經(jīng)假定關(guān)于所述特定資源的鎖定模式;以及響應(yīng)于收到所述鎖定訪問(wèn)消息而不需收到一狀態(tài)消息,進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述狀態(tài)信息是一條下向轉(zhuǎn)換信息或一條解除鎖定信息;其中所述更新表明所述請(qǐng)求者已經(jīng)假定所述特定資源的鎖定模式。
18.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)系統(tǒng),其中響應(yīng)于收到所述鎖定訪問(wèn)消息,對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄進(jìn)行更新的計(jì)算機(jī)實(shí)施步驟,先于從關(guān)于所述特定資源的所述持有者收到任何狀態(tài)消息之前進(jìn)行;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息。
19.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)系統(tǒng),其中響應(yīng)于收到所述多個(gè)鎖定模式記錄響應(yīng)于收到所述鎖定訪問(wèn)消息,進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄更新的計(jì)算機(jī)實(shí)施步驟,而不需從關(guān)于所述特定資源的所述持有者收到狀態(tài)消息;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息。
20.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)系統(tǒng),其中所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行的計(jì)算機(jī)實(shí)施步驟還包括計(jì)算機(jī)實(shí)施的以下步驟在所述主管處接收多個(gè)請(qǐng)求消息,所述請(qǐng)求消息表明多個(gè)請(qǐng)求者需要所述特定資源;以及從所述主管發(fā)送所述通知鎖定持有者消息給所述持有者,其中所述通知鎖定持有者消息包含來(lái)自所述多個(gè)請(qǐng)求消息的所有信息,所述多個(gè)請(qǐng)求消息對(duì)于所述持有者將所述特定資源傳送至所述多個(gè)請(qǐng)求者是必要的。
21.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)系統(tǒng),其中所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行的計(jì)算機(jī)實(shí)施步驟還包括計(jì)算機(jī)實(shí)施的以下步驟在所述主管處接收來(lái)自一發(fā)送者的消息;其中所述消息包括所述特定資源的第二鎖定模式;檢測(cè)所述鎖定模式與所述第二鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述鎖定模式。
22.根據(jù)權(quán)利要求17所述的計(jì)算機(jī)系統(tǒng),還包括計(jì)算機(jī)實(shí)施的以下步驟在所述主管處接收第二請(qǐng)求消息;其中所述請(qǐng)求消息和所述第二請(qǐng)求消息都包含專用鎖定模式下對(duì)所述資源的請(qǐng)求;以及排列所述第二請(qǐng)求消息直到所述主管收到來(lái)自所述請(qǐng)求者的所述鎖定訪問(wèn)消息。
23.一種計(jì)算機(jī)系統(tǒng),包括一處理器;一存儲(chǔ)器,耦合在所述處理器上,包括;對(duì)應(yīng)于多個(gè)資源中一特定資源其鎖定模式的多個(gè)鎖定模式記錄中的一特定鎖定模式記錄,其中一主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行計(jì)算機(jī)實(shí)施的以下步驟在一主管處接收一條請(qǐng)求消息,所述請(qǐng)求消息表明一請(qǐng)求者需要多個(gè)資源中的一特定資源,其中所述主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;從多個(gè)持有者中指定一個(gè)持有者,其中所述多個(gè)持有者都具有對(duì)所述特定資源各自的鎖定模式;向除所述一個(gè)持有者外的所述多個(gè)持有者發(fā)送多個(gè)廣播通知鎖定持有者信息,表明所述請(qǐng)求者需要所述特定資源;從除所述一個(gè)持有者外的所述多個(gè)持有者接收多個(gè)更新鎖定消息;其中所述多個(gè)更新鎖定消息表明所述多個(gè)持有者各自的鎖定模式;從所述主管向所述一個(gè)持有者發(fā)送一條通知鎖定持有者消息,以向所述一個(gè)持有者表明所述請(qǐng)求者需要所述特定資源;接收來(lái)自所述請(qǐng)求者的鎖定訪問(wèn)消息,其中所述鎖定訪問(wèn)消息表明所述請(qǐng)求者已經(jīng)假定關(guān)于所述特定資源的鎖定模式;以及響應(yīng)于收到所述鎖定訪問(wèn)消息而不需收到一條狀態(tài)消息,進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中所述特定鎖定模式記錄的一次更新;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息;其中所述更新表明所述請(qǐng)求者已經(jīng)假定所述特定資源的所述鎖定模式。
24.一種計(jì)算機(jī)系統(tǒng),包括一處理器;一存儲(chǔ)器,耦合在所述處理器上,包括一資源和所述資源的第一鎖定模式;以及與所述資源相聯(lián)系的鎖定模式記錄;所述存儲(chǔ)器存儲(chǔ)計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行計(jì)算機(jī)實(shí)施的以下步驟在持有者處接收一條請(qǐng)求者需要所述資源的通知鎖定持有者消息,其中所述持有者當(dāng)前持有所述資源以及所述資源的第一鎖定模式;響應(yīng)于收到所述通知鎖定持有者消息,將所述資源傳送至所述請(qǐng)求者,而不將一狀態(tài)消息發(fā)送至所述資源的主管,其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息;以及更新由所述持有者保持的所述鎖定模式記錄,以表明所述持有者已經(jīng)從所述第一鎖定模式下向轉(zhuǎn)換為所述資源的第二鎖定模式。
25.根據(jù)權(quán)利要求24所述的計(jì)算機(jī)系統(tǒng),其中所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行所述計(jì)算機(jī)實(shí)施步驟還包括計(jì)算機(jī)實(shí)施的以下步驟向所述主管發(fā)送一條更新鎖定消息,其中所述更新鎖定消息表明所述資源的所述第二鎖定模式。
26.根據(jù)權(quán)利要求24所述的計(jì)算機(jī)系統(tǒng),其中所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行的計(jì)算機(jī)實(shí)施步驟還包括計(jì)算機(jī)實(shí)施的以下步驟在所述持有者處接收一條來(lái)自發(fā)送者的消息;其中所述消息包括所述資源的第三鎖定模式;檢測(cè)所述第一鎖定模式與所述第三鎖定模式是否匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述第一鎖定模式。
27.根據(jù)權(quán)利要求24所述的計(jì)算機(jī)系統(tǒng),其中所述存儲(chǔ)器存儲(chǔ)所述計(jì)算機(jī)系統(tǒng)的指令,以促使所述處理器進(jìn)行的計(jì)算機(jī)實(shí)施步驟還包括計(jì)算機(jī)實(shí)施的以下步驟在所述持有者處接收一單批通知鎖定持有者消息,所述消息包含所述資源傳送至多個(gè)請(qǐng)求者所需要的所有信息;以及將所述資源傳送至所述多個(gè)請(qǐng)求者。
28.一種計(jì)算機(jī)可讀介質(zhì),攜帶有一個(gè)或多個(gè)用來(lái)管理對(duì)資源訪問(wèn)的指令序列,其中所述一個(gè)或多個(gè)由一個(gè)或多個(gè)處理器執(zhí)行的指令序列促使所述一個(gè)或多個(gè)處理器進(jìn)行以下步驟從請(qǐng)求者向所述資源的主管發(fā)送用于所述資源鎖定模式的鎖定模式請(qǐng)求;在所述請(qǐng)求者處接收來(lái)自所述資源的持有者的所述資源;以及存取所述資源,好像所述請(qǐng)求者已經(jīng)授權(quán)所述鎖定模式請(qǐng)求,而不需等待接收來(lái)自所述主管的快速鎖定模式授權(quán)。
29.根據(jù)權(quán)利要求28所述的計(jì)算機(jī)可讀介質(zhì),還包括一個(gè)指令序列用來(lái)進(jìn)行以下步驟檢測(cè)在所述請(qǐng)求者處接收所述資源的步驟是否將發(fā)生;以及如果所述請(qǐng)求者確實(shí)接收到所述資源,則從所述請(qǐng)求者發(fā)送一條鎖定假定消息到所述主管,以通知所述主管所述請(qǐng)求者已經(jīng)假定關(guān)于所述資源的所述鎖定模式。
30.一種計(jì)算機(jī)可讀介質(zhì),攜帶有一個(gè)或多個(gè)用來(lái)管理對(duì)資源訪問(wèn)的指令序列,其中所述一個(gè)或多個(gè)由一個(gè)或多個(gè)處理器執(zhí)行的指令序列促使所述一個(gè)或多個(gè)處理器進(jìn)行以下步驟在持有者處接收一條請(qǐng)求者需要所述資源的通知鎖定持有者消息,其中所述持有者當(dāng)前持有所述資源以及所述資源的第一鎖定模式;響應(yīng)于收到所述通知鎖定持有者消息,將所述資源傳送至所述請(qǐng)求者,而不將一狀態(tài)消息發(fā)送至所述資源的主管,其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息;以及更新由所述持有者保持的一鎖定模式記錄,以表明所述持有者已經(jīng)從所述第一鎖定模式下向轉(zhuǎn)換為所述資源的第二鎖定模式。
31.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),還包括一個(gè)指令序列用來(lái)進(jìn)行以下步驟向所述主管發(fā)送一條更新鎖定消息,其中所述更新鎖定消息表明所述資源的所述第二鎖定模式。
32.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),還包括多個(gè)指令序列用來(lái)進(jìn)行以下步驟在所述持有者處接收一條來(lái)自發(fā)送者的消息;其中所述消息包括所述資源的第三鎖定模式;檢測(cè)所述第一鎖定模式與所述第三鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述第一鎖定模式。
33.根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀介質(zhì),還包括多個(gè)指令序列用來(lái)進(jìn)行以下步驟在所述持有者處接收一單批通知鎖定持有者消息,所述消息包含所述資源傳送至多個(gè)請(qǐng)求者所需要的所有信息;以及將所述資源傳送至所述所述多個(gè)請(qǐng)求者。
34.根據(jù)權(quán)利要求30所述的方法,還包括計(jì)算機(jī)實(shí)施的以下步驟將來(lái)自所述持有者的一條鎖定訪問(wèn)消息發(fā)送至一主管。
35.一種計(jì)算機(jī)可讀介質(zhì),攜帶有一個(gè)或多個(gè)用來(lái)管理對(duì)資源訪問(wèn)的指令序列,其中所述一個(gè)或多個(gè)由一個(gè)或多個(gè)處理器執(zhí)行的指令序列促使所述一個(gè)或多個(gè)處理器進(jìn)行以下步驟在一主管處接收一條請(qǐng)求消息,所述請(qǐng)求消息表明一請(qǐng)求者需要多個(gè)資源中的一特定資源,其中所述主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;從所述主管向一持有者發(fā)送一條通知鎖定持有者消息,以向所述持有者表明所述請(qǐng)求者需要所述特定資源;從所述請(qǐng)求者接收一條鎖定訪問(wèn)消息,其中所述鎖定訪問(wèn)消息表明所述請(qǐng)求者已經(jīng)假定關(guān)于所述特定資源的鎖定模式;以及響應(yīng)于收到所述鎖定訪問(wèn)消息,進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述更新表明所述請(qǐng)求者已經(jīng)假定所述特定資源的所述鎖定模式。
36.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀介質(zhì),其中響應(yīng)于收到所述鎖定訪問(wèn)消息,對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄進(jìn)行更新的步驟,先于從關(guān)于所述特定資源的所述持有者收到任何狀態(tài)消息之前進(jìn)行;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息。
37.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀介質(zhì),其中響應(yīng)于收到所述多個(gè)鎖定模式記錄響應(yīng)于收到所述鎖定訪問(wèn)消息,進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄的更新,而不從關(guān)于所述特定資源的所述持有者收到狀態(tài)消息;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息。
38.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀介質(zhì),還包括多個(gè)指令序列用來(lái)進(jìn)行以下步驟在所述主管處接收多個(gè)請(qǐng)求消息,所述請(qǐng)求消息表明多個(gè)請(qǐng)求者需要所述特定資源;以及從所述主管發(fā)送所述通知鎖定持有者消息給所述持有者,其中所述通知鎖定持有者消息包含來(lái)自所述多個(gè)請(qǐng)求消息的所有信息,所述多個(gè)請(qǐng)求消息對(duì)于所述持有者將所述特定資源傳送至所述多個(gè)請(qǐng)求者是必要的。
39.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀介質(zhì),還包括多個(gè)指令序列用來(lái)進(jìn)行以下步驟在所述主管處接收來(lái)自一發(fā)送者的消息;其中所述消息包括所述特定資源的第二鎖定模式;檢測(cè)所述鎖定模式與所述第二鎖定模式不匹配;以及向所述發(fā)送者發(fā)送一條鎖定狀態(tài)消息;其中所述鎖定狀態(tài)消息包括所述鎖定模式。
40.根據(jù)權(quán)利要求35所述的計(jì)算機(jī)可讀介質(zhì),還包括多個(gè)指令序列用來(lái)進(jìn)行以下步驟在所述主管處接收第二請(qǐng)求消息;其中所述請(qǐng)求消息和所述第二請(qǐng)求消息都包含專用鎖定模式下對(duì)所述資源的請(qǐng)求;以及排列所述第二請(qǐng)求消息直到所述主管收到來(lái)自所述請(qǐng)求者的所述鎖定訪問(wèn)消息。
41.一種計(jì)算機(jī)可讀介質(zhì),攜帶有一個(gè)或多個(gè)用來(lái)管理對(duì)資源訪問(wèn)的指令序列,其中所述一個(gè)或多個(gè)由一個(gè)或多個(gè)處理器執(zhí)行的指令序列促使所述一個(gè)或多個(gè)處理器進(jìn)行以下步驟在一主管處接收一條請(qǐng)求消息,所述請(qǐng)求消息表明一請(qǐng)求者需要多個(gè)資源中的一特定資源,其中所述主管保持對(duì)應(yīng)于所述多個(gè)資源的多個(gè)鎖定模式記錄;從多個(gè)持有者中指定一個(gè)持有者,其中所述多個(gè)持有者都具有對(duì)所述特定資源各自的鎖定模式;向除所述一個(gè)持有者外的所述多個(gè)持有者發(fā)送多個(gè)廣播通知鎖定持有者信息,表明所述請(qǐng)求者需要所述特定資源;從除所述一個(gè)持有者外的所述多個(gè)持有者接收多個(gè)更新鎖定消息;其中所述多個(gè)更新鎖定消息表明所述多個(gè)持有者各自的鎖定模式;從所述主管向所述一個(gè)持有者發(fā)送一條通知信息鎖定持有者消息,以向所述一個(gè)持有者表明所述請(qǐng)求者需要所述特定資源;接收來(lái)自所述請(qǐng)求者的鎖定訪問(wèn)消息,其中所述鎖定訪問(wèn)消息表明所述請(qǐng)求者已經(jīng)假定關(guān)于所述特定資源的鎖定模式;以及響應(yīng)于收到所述鎖定訪問(wèn)消息而不是收到一條狀態(tài)消息,來(lái)進(jìn)行對(duì)所述多個(gè)鎖定模式記錄中一特定鎖定模式記錄的更新;其中所述狀態(tài)消息是一條下向轉(zhuǎn)換消息或一條解除鎖定消息;所述更新表明所述請(qǐng)求者已經(jīng)假定所述特定資源的所述鎖定模式。
全文摘要
本發(fā)明提供一種方法和裝置,用于改進(jìn)與傳送數(shù)據(jù)項(xiàng)相關(guān)的性能,并通過(guò)將塊傳送消息認(rèn)作鎖定授權(quán)消息來(lái)獲得多節(jié)點(diǎn)系統(tǒng)中的鎖定。一般地,當(dāng)數(shù)據(jù)項(xiàng)的持有者將數(shù)據(jù)項(xiàng)傳送(例如塊)傳送至該數(shù)據(jù)項(xiàng)的請(qǐng)求者時(shí),持有者將下向轉(zhuǎn)換其對(duì)該數(shù)據(jù)項(xiàng)的鎖定,并向該數(shù)據(jù)項(xiàng)的主管發(fā)送一條消息,表明下向轉(zhuǎn)換已經(jīng)被進(jìn)行。隨后,主管向該數(shù)據(jù)項(xiàng)的請(qǐng)求者發(fā)送一條鎖定授權(quán)消息,以通知請(qǐng)求者其已經(jīng)授予對(duì)該數(shù)據(jù)項(xiàng)的鎖定。通過(guò)將塊傳送消息認(rèn)作鎖定授權(quán)消息,就可消除該下向轉(zhuǎn)換消息及鎖定授權(quán)消息,從而改進(jìn)性能。
文檔編號(hào)G06F9/46GK1513139SQ02811032
公開(kāi)日2004年7月14日 申請(qǐng)日期2002年5月8日 優(yōu)先權(quán)日2001年5月31日
發(fā)明者薩什坎斯·錢(qián)德拉塞克拉恩, 薩什坎斯 錢(qián)德拉塞克拉恩, 大衛(wèi)·布勞爾, 布勞爾, 班福德, 羅杰·班福德 申請(qǐng)人:甲骨文國(guó)際公司