專利名稱:存儲(chǔ)單元的程控屏蔽的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及控制對(duì)設(shè)備的存取訪問,尤其涉及程控地管理主系統(tǒng)對(duì)在操作上連接到所述主系統(tǒng)的一個(gè)或多個(gè)設(shè)備的存取訪問的系統(tǒng)和方法。
背景技術(shù):
為了保持競(jìng)爭力和應(yīng)付技術(shù)上的改變,計(jì)算機(jī)系統(tǒng)正變得日益功能強(qiáng)大和更加復(fù)雜。對(duì)此的主要?jiǎng)訖C(jī)是大數(shù)據(jù)庫應(yīng)用和較多的數(shù)據(jù)密集型應(yīng)用。由于系統(tǒng)在復(fù)雜程度上的增加,所以有對(duì)于改進(jìn)的數(shù)據(jù)存儲(chǔ)和通信性能的需求。歷史上在這樣的原則上建立計(jì)算機(jī)體系結(jié)構(gòu),即存儲(chǔ)設(shè)備由主計(jì)算機(jī)或它們所依附的節(jié)點(diǎn)所擁有。最近,計(jì)算機(jī)體系結(jié)構(gòu)模型正把增加的智能移到數(shù)據(jù)存儲(chǔ)設(shè)備和信道中,以促進(jìn)數(shù)據(jù)傳送和存儲(chǔ)。
信道和網(wǎng)絡(luò)是數(shù)據(jù)通信拓?fù)涞膬煞N基本類型,一般在處理器之間以及處理器和外圍設(shè)備之間得到使用。“信道”提供通信設(shè)備間的直接的或交換的點(diǎn)對(duì)點(diǎn)連接。信道的主要任務(wù)是以最高可能數(shù)據(jù)速率,而帶有最小量的延遲來傳送數(shù)據(jù)。信道典型地在硬件中進(jìn)行簡單地糾錯(cuò)。相反,“網(wǎng)絡(luò)”是分布式節(jié)點(diǎn)(如工作站、大容量存儲(chǔ)設(shè)備)的集合,它具有其自己的支持這些節(jié)點(diǎn)間的交互的協(xié)議。典型地是,每個(gè)節(jié)點(diǎn)爭奪傳輸媒體,并且每個(gè)節(jié)點(diǎn)必須能夠識(shí)別網(wǎng)絡(luò)上的差錯(cuò)狀態(tài),并且必須提供從所述錯(cuò)誤狀態(tài)恢復(fù)而要求的差錯(cuò)管理。
通信互連的一個(gè)混合類型是光纖信道,它試圖結(jié)合信道和網(wǎng)絡(luò)技術(shù)兩者的好處。光纖信道協(xié)議正在發(fā)展并在信息系統(tǒng)的美國國家標(biāo)準(zhǔn)(ANSI)中采用。簡要來說,光纖信道是一種交換協(xié)議,它允許工作站、超級(jí)計(jì)算機(jī)和各種外圍設(shè)備之間的并行通信。由光纖信道提供的全部網(wǎng)絡(luò)帶寬可以是大約每秒兆兆比特。光纖信道能夠以超過每秒1吉比特的速率同時(shí)在兩個(gè)方向中傳送幀。它還能夠根據(jù)現(xiàn)存的協(xié)議而在光纖和銅電纜兩者上傳送命令和數(shù)據(jù),這些協(xié)議如網(wǎng)際協(xié)議(IP)、小型計(jì)算機(jī)系統(tǒng)接口(SCSI)、高性能并行接口(HIPPI)以及智能外圍接口(IPI)。
光纖信道的發(fā)展和標(biāo)準(zhǔn)化已具有極深的對(duì)于數(shù)據(jù)存儲(chǔ)的影響。光纖信道允許比常規(guī)數(shù)據(jù)存儲(chǔ)技術(shù)更快速的存取訪問和在更遠(yuǎn)的距離處(如超過10km)的存取訪問。因?yàn)楣饫w信道在設(shè)備間允許較大的距離,由于可以遠(yuǎn)程地放置存儲(chǔ)設(shè)備,它還在災(zāi)難恢復(fù)情況中具有優(yōu)勢(shì)。光纖信道正引起實(shí)質(zhì)興趣的某一特定的數(shù)據(jù)存儲(chǔ)舞臺(tái)是諸如存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)之類的共享存儲(chǔ)系統(tǒng),通過該系統(tǒng)多個(gè)主機(jī)可共享對(duì)相關(guān)存儲(chǔ)設(shè)備的網(wǎng)絡(luò)的存取訪問。
典型的SAN體系結(jié)構(gòu)由多重存儲(chǔ)系統(tǒng)和邏輯上隔離的網(wǎng)絡(luò)形成。所述存儲(chǔ)系統(tǒng)可實(shí)際上包括任何類型的存儲(chǔ)設(shè)備,如磁盤、磁帶等等。所述網(wǎng)絡(luò)部分包括適配器、配線、網(wǎng)橋、集線器、交換器以及導(dǎo)控器。簡要來說,所述適配器在網(wǎng)絡(luò)中將服務(wù)器和外圍設(shè)備依附于配線(如光纖或其它配線)。網(wǎng)橋從一個(gè)協(xié)議轉(zhuǎn)換到另一個(gè)協(xié)議,如從SCSI轉(zhuǎn)換到光纖信道。在典型的SAN數(shù)據(jù)總線中,集線器、交換器和導(dǎo)控器提供中間接點(diǎn)和路由選擇能力。SAN環(huán)境使能夠把多個(gè)存儲(chǔ)設(shè)備看作是能夠由多個(gè)主機(jī)訪問存取的共享存儲(chǔ)池。由于在同一時(shí)刻不止一個(gè)設(shè)備可能要求存取訪問一給定的存儲(chǔ)設(shè)備,在管理對(duì)SAN的存儲(chǔ)設(shè)備的存取訪問中可能產(chǎn)生困難。
已經(jīng)提出了基于硬件的交換結(jié)構(gòu),來有選擇地控制對(duì)連接到SAN的存儲(chǔ)設(shè)備的存取訪問。例如,使用光纖信道交換器來建立限制SAN上的個(gè)別光纖信道節(jié)點(diǎn)彼此通信以及與相關(guān)存儲(chǔ)設(shè)備通信的能力的區(qū)域。在把多個(gè)存儲(chǔ)設(shè)備以邏輯單元的陣列的形式組織(如在機(jī)箱中)的存儲(chǔ)結(jié)構(gòu)中,另一種方法是實(shí)現(xiàn)基于硬件的LUN屏蔽。在LUN屏蔽中,通常在SAN中使用交換器來控制主機(jī)和所選擇的對(duì)應(yīng)于相關(guān)存儲(chǔ)設(shè)備的邏輯單元之間的存取訪問。例如,光纖信道交換器確定某一特定命令是以哪個(gè)光纖信道節(jié)點(diǎn)和哪個(gè)邏輯單元號(hào)為目標(biāo)的,并在邏輯單元號(hào)的級(jí)別上進(jìn)行屏蔽。
然而,由于為用于控制硬件交換器的接口開發(fā)的標(biāo)準(zhǔn)不充分,要在大多數(shù)系統(tǒng)中有效地實(shí)現(xiàn)LUN屏蔽可能是困難的。尤其是對(duì)每個(gè)存儲(chǔ)設(shè)備和主機(jī)的管理接口通常在制造商之間變化。因此,當(dāng)系統(tǒng)包括來自不同制造商的存儲(chǔ)設(shè)備和/或主機(jī)時(shí),通常要求不同的接口。而且,對(duì)于較小的機(jī)構(gòu)來說,硬件本身(如交換器和機(jī)箱)常過于昂貴,而這些機(jī)構(gòu)希望使用這些硬件用于共享存儲(chǔ)。同樣地,在連接到SAN系統(tǒng)的不同主機(jī)使用不同操作系統(tǒng)的情況下,當(dāng)不同的機(jī)器試圖同時(shí)存取訪問同一存儲(chǔ)設(shè)備(或邏輯單元)時(shí),可能產(chǎn)生困難。此外,如果把多個(gè)主機(jī)連接到相同的存儲(chǔ)設(shè)備,則存在文件系統(tǒng)諸如通過每個(gè)主機(jī)周期地監(jiān)控設(shè)備之類而被破壞的增加的可能性。
發(fā)明揭示本發(fā)明涉及程控地管理節(jié)點(diǎn)和諸如存儲(chǔ)單元之類的一個(gè)或多個(gè)相關(guān)設(shè)備之間的存取訪問的系統(tǒng)和方法。可在所述節(jié)點(diǎn)處設(shè)計(jì)一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),來識(shí)別相關(guān)的設(shè)備是否處于所述節(jié)點(diǎn)的作用范圍之內(nèi)。根據(jù)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)來確定所述節(jié)點(diǎn)的作用范圍,通過程控地修改數(shù)據(jù)結(jié)構(gòu)可以動(dòng)態(tài)地改變所述范圍。
根據(jù)本發(fā)明的一方面,使用一接口來識(shí)別依附于節(jié)點(diǎn)的設(shè)備。例如,所述節(jié)點(diǎn)具有指示出依附于該節(jié)點(diǎn)的設(shè)備的第1數(shù)據(jù)結(jié)構(gòu)。該節(jié)點(diǎn)還具有指示出相對(duì)于該節(jié)點(diǎn)是要隱藏還是要暴露相關(guān)設(shè)備的第2數(shù)據(jù)結(jié)構(gòu)。例如,所述第2數(shù)據(jù)結(jié)構(gòu)可以用指示出哪個(gè)(些)設(shè)備處于節(jié)點(diǎn)的作用范圍內(nèi)的包含列表的形式,和/或指示出所識(shí)別的設(shè)備不處于該節(jié)點(diǎn)的作用范圍內(nèi)的排除列表??梢允褂贸炭亟涌冢越?jīng)選擇的方式修改所述第2數(shù)據(jù)結(jié)構(gòu)。結(jié)果,可以動(dòng)態(tài)地將經(jīng)選擇的附屬設(shè)備納入和/或拿出所述節(jié)點(diǎn)的作用范圍。在共享存儲(chǔ)系統(tǒng)中,所述接口簡化了對(duì)共享存儲(chǔ)設(shè)備的管理,并緩和了設(shè)備沖突。由于操作系統(tǒng)需要根據(jù)節(jié)點(diǎn)的第2數(shù)據(jù)結(jié)構(gòu)來存取訪問和安裝相關(guān)設(shè)備,還可以對(duì)根據(jù)本發(fā)明而配置的節(jié)點(diǎn)減少引導(dǎo)時(shí)間。
根據(jù)本發(fā)明的另一方面,在操作上可以把節(jié)點(diǎn)上的一個(gè)或多個(gè)控制器耦合至具有多個(gè)目標(biāo)存儲(chǔ)單元的共享存儲(chǔ)系統(tǒng)。每個(gè)控制器使用可編程的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)定義在操作上依附于所述節(jié)點(diǎn)的相關(guān)設(shè)備,所述節(jié)點(diǎn)在功能上相對(duì)于所述控制器是暴露的或隱藏的。所述數(shù)據(jù)結(jié)構(gòu)可包括永久和/或臨時(shí)分量。可以通過以預(yù)定方式使用的接口來修改所述臨時(shí)和/或永久分量。如控制器的數(shù)據(jù)結(jié)構(gòu)所定義的那樣,對(duì)每個(gè)相關(guān)設(shè)備,在控制器處建立設(shè)備對(duì)象。把每個(gè)設(shè)備對(duì)象鏈接到諸如類驅(qū)動(dòng)器之類的較高層的對(duì)象,用于控制相關(guān)設(shè)備的操作以響應(yīng)來自控制器的命令。
根據(jù)本發(fā)明的另一方面,根據(jù)對(duì)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)的改變而動(dòng)態(tài)地除去(或添加)相關(guān)設(shè)備的設(shè)備對(duì)象。例如,當(dāng)除去設(shè)備對(duì)象時(shí),對(duì)各自的設(shè)備對(duì)象不加載較高層的對(duì)象(如類驅(qū)動(dòng)器),并且對(duì)應(yīng)的設(shè)備不再處于節(jié)點(diǎn)的作用范圍之中。結(jié)果,抑制了傳統(tǒng)的通信機(jī)制(如讀和/或?qū)懨?與設(shè)備通信。然而,可以為相關(guān)設(shè)備建立第2節(jié)點(diǎn)的設(shè)備對(duì)象(如通過程控地修改第2節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)),來建立第2節(jié)點(diǎn)和相關(guān)設(shè)備間的通信信道。這樣,可以使用本發(fā)明的方式來程控地簡化一組互連節(jié)點(diǎn)之間的交換設(shè)備。
根據(jù)本發(fā)明的又一方面,根據(jù)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)是否識(shí)別出相關(guān)設(shè)備,可動(dòng)態(tài)地破壞或添加設(shè)備對(duì)象與相關(guān)設(shè)備的較高層設(shè)備對(duì)象之間的鏈路。當(dāng)破壞了設(shè)備對(duì)象與其較高層設(shè)備對(duì)象之間的鏈路時(shí),所述相關(guān)設(shè)備不再處于所述節(jié)點(diǎn)的作用范圍內(nèi),從而阻塞了通過該節(jié)點(diǎn)進(jìn)行的對(duì)該設(shè)備的存取訪問??梢越⑿碌妮^高層的設(shè)備對(duì)象,并隨后把它鏈接到設(shè)備對(duì)象,以暴露相對(duì)于該節(jié)點(diǎn)的相關(guān)設(shè)備,從而響應(yīng)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)中的程控改變。
附圖簡述
圖1是根據(jù)本發(fā)明的系統(tǒng)的示意性框圖表示;圖2a是根據(jù)本發(fā)明編程的說明第1系統(tǒng)狀態(tài)的系統(tǒng)的功能框圖;圖2b是根據(jù)本發(fā)明的一方面的,說明第2系統(tǒng)狀態(tài)的圖2a的系統(tǒng)的功能框圖;圖2c是根據(jù)本發(fā)明的另一方面的,說明第3系統(tǒng)狀態(tài)的圖2a的系統(tǒng)的功能框圖;圖3是可根據(jù)本發(fā)明配置的,說明通過多條總線耦合至多個(gè)目標(biāo)的一節(jié)點(diǎn)的系統(tǒng)的功能框圖;圖4根據(jù)本發(fā)明的具有連接到共享存儲(chǔ)系統(tǒng)的多個(gè)節(jié)點(diǎn)的系統(tǒng)的框圖表示;圖5是根據(jù)本發(fā)明的具有通過網(wǎng)絡(luò)連接到共享存儲(chǔ)系統(tǒng)的多個(gè)節(jié)點(diǎn)的系統(tǒng)的框圖表示;圖6是根據(jù)本發(fā)明的具有連接到共享存儲(chǔ)系統(tǒng)的多個(gè)節(jié)點(diǎn)的基于因特網(wǎng)的系統(tǒng)的框圖表示;圖7是根據(jù)本發(fā)明配置的系統(tǒng)的示例性操作環(huán)境;圖8是說明根據(jù)本發(fā)明的用于初始化節(jié)點(diǎn)的屏蔽標(biāo)準(zhǔn)的方法的流程圖;圖9a是說明根據(jù)本發(fā)明的用于通過節(jié)點(diǎn)相對(duì)于設(shè)備屏蔽存取訪問的方法的流程圖;圖9b是較詳細(xì)地說明根據(jù)本發(fā)明的一方面的圖9a的過程的一部分的流程圖;圖9c是較詳細(xì)地說明根據(jù)本發(fā)明的另一方面的圖9a的過程的一部分的流程圖。
實(shí)現(xiàn)本發(fā)明的方式本發(fā)明涉及程控地管理節(jié)點(diǎn)和諸如存儲(chǔ)器的功能單元之類的一個(gè)或多個(gè)相關(guān)設(shè)備之間的存取訪問的系統(tǒng)和方法??稍谒龉?jié)點(diǎn)處設(shè)計(jì)一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu),來識(shí)別相關(guān)的設(shè)備是否處于所述節(jié)點(diǎn)的作用范圍之內(nèi)。所述節(jié)點(diǎn)的作用范圍定義了相對(duì)于該節(jié)點(diǎn)每個(gè)相關(guān)設(shè)備在功能上是暴露還是隱藏。根據(jù)本發(fā)明的一方面,通過程控地修改數(shù)據(jù)結(jié)構(gòu)可以動(dòng)態(tài)地改變所述節(jié)點(diǎn)的作用范圍。
圖1是根據(jù)本發(fā)明的可編程來實(shí)現(xiàn)屏蔽的系統(tǒng)10的簡化框圖表示。該系統(tǒng)包括操作上通過總線14而耦合至多個(gè)設(shè)備16、18、20和22的節(jié)點(diǎn)12。該節(jié)點(diǎn)是諸如客戶機(jī)之類的計(jì)算機(jī)、工作站、服務(wù)器或其它機(jī)器。設(shè)備16、18、20和22可以是存儲(chǔ)器(如硬盤驅(qū)動(dòng)器、CD-ROM、DVD、磁帶等等)的功能單元的形式或是可連通節(jié)點(diǎn)12一起使用的其它外圍設(shè)備的形式??偩€14可以是網(wǎng)絡(luò)、信道或其它用于允許節(jié)點(diǎn)12和存儲(chǔ)設(shè)備16、18、20和22之間的數(shù)據(jù)通信的連接設(shè)備的形式。
根據(jù)本發(fā)明的一方面,節(jié)點(diǎn)12包括具有諸如一個(gè)或多個(gè)可編程的列表形式之類的相關(guān)數(shù)據(jù)結(jié)構(gòu)的控制器24,它定義用于確定節(jié)點(diǎn)所使用的屏蔽參數(shù)的范圍標(biāo)準(zhǔn)。要懂得且理解到,除非另外特別明確說明,或者上下文需要不同的解釋,這里以及附屬的權(quán)利要求所使用的術(shù)語“屏蔽”應(yīng)該以最廣泛的意義來看待,并且該術(shù)語所有這樣的解釋都落于這里附屬的權(quán)利要求的范圍之中。例如,相對(duì)于一節(jié)點(diǎn)而“屏蔽”一設(shè)備可包括使該設(shè)備處于節(jié)點(diǎn)的作用范圍之中以及從節(jié)點(diǎn)的作用范圍中拿走該設(shè)備這兩者。當(dāng)設(shè)備不處于節(jié)點(diǎn)12的作用范圍之內(nèi)時(shí),由于相對(duì)于該節(jié)點(diǎn)中的較上層軟件隱藏了該設(shè)備,就阻塞了該節(jié)點(diǎn)與該設(shè)備之間的通信。相反,當(dāng)一設(shè)備處于節(jié)點(diǎn)12的作用范圍之內(nèi)時(shí),通過使用適當(dāng)?shù)耐ㄐ艆f(xié)議,該節(jié)點(diǎn)可存取訪問該設(shè)備。
圖2a-2c是表示節(jié)點(diǎn)12的操作系統(tǒng)的功能部件(如驅(qū)動(dòng)器堆棧)的功能框圖,可以把它編程和/或配置成將節(jié)點(diǎn)和操作上耦合至所述節(jié)點(diǎn)的設(shè)備(未示出)之間的通信路徑屏蔽。參考圖2a,節(jié)點(diǎn)12包括主機(jī)總線適配器28,例如它可以是SCSI總線適配器。所述主機(jī)總線適配器28包括控制器30,把該控制器配置和/或編程成管理節(jié)點(diǎn)與操作上通過相關(guān)總線連接到所述節(jié)點(diǎn)的設(shè)備之間的通信通路或信道。特別地,控制器30為連接到總線的設(shè)備建立設(shè)備對(duì)象32a、32b、32c(把它們總地稱為“設(shè)備對(duì)象32”)。每個(gè)設(shè)備對(duì)象32是識(shí)別設(shè)備,包括例如其位置(如邏輯單元號(hào))以及設(shè)備的操作特性的功能上的設(shè)備對(duì)象。要理解到這里所使用的術(shù)語設(shè)備是廣義的,以便例如與硬件設(shè)備或諸如與存儲(chǔ)設(shè)備相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)器的邏輯單元之類的設(shè)備的功能單元相對(duì)應(yīng)。
對(duì)每個(gè)設(shè)備對(duì)象32a、32b、32c分別加載另一較高層的設(shè)備對(duì)象34a、34b、34c(把它們總地稱為“較高層設(shè)備對(duì)象34”)。每個(gè)較高層設(shè)備對(duì)象34a、34b、34c分別通過36a、36b、36c處指示的操作鏈路而與各自的設(shè)備對(duì)象相關(guān)聯(lián)。所述較高層設(shè)備對(duì)象34是諸如例如類驅(qū)動(dòng)器之類的物理設(shè)備對(duì)象,它通過向或從對(duì)應(yīng)的設(shè)備提供適當(dāng)?shù)拿顏眄憫?yīng)來自節(jié)點(diǎn)12的控制器30的請(qǐng)求而控制相關(guān)設(shè)備的行為。在加載一較高層設(shè)備對(duì)象34并把它鏈接到相關(guān)設(shè)備對(duì)象32之后,該對(duì)應(yīng)的設(shè)備就處于所述節(jié)點(diǎn)的作用范圍內(nèi)(例如所述節(jié)點(diǎn)可以存取訪問所述對(duì)應(yīng)的設(shè)備)。
節(jié)點(diǎn)12或尤其是控制器30包括用于存儲(chǔ)指示出設(shè)備以及它們與所述節(jié)點(diǎn)的操作關(guān)系的信息的數(shù)據(jù)結(jié)構(gòu)40。作為例子,數(shù)據(jù)結(jié)構(gòu)40的一個(gè)方面與識(shí)別操作上連接到控制器的總線的所有設(shè)備的數(shù)據(jù)庫或列表42相對(duì)應(yīng)(下文中的“全局列表(world list)42”)。根據(jù)本發(fā)明,所述全局列表42包括功能上相對(duì)于節(jié)點(diǎn)12而暴露或隱藏的設(shè)備。數(shù)據(jù)結(jié)構(gòu)40的另一方面是識(shí)別具有例示的設(shè)備對(duì)象的所有設(shè)備的數(shù)據(jù)庫或列表44。也就是說,例示的對(duì)象列表44識(shí)別那些在操作上連接到控制器30(或節(jié)點(diǎn)12)的存在設(shè)備對(duì)象32的設(shè)備。
數(shù)據(jù)結(jié)構(gòu)40的第3方面是作用范圍控制數(shù)據(jù)結(jié)構(gòu)46,較合適地是以列表的形式(下文中稱為“作用范圍控制列表46”),它存儲(chǔ)節(jié)點(diǎn)12的屏蔽標(biāo)準(zhǔn)的工作圖。所述作用范圍控制列表46是可編程的,使得可修改所述屏蔽標(biāo)準(zhǔn),來動(dòng)態(tài)地將經(jīng)選擇的設(shè)備拿進(jìn)和/或?qū)⒔?jīng)選擇的設(shè)備拿出節(jié)點(diǎn)12的作用范圍,而不用請(qǐng)求系統(tǒng)引導(dǎo)。例如,所述屏蔽標(biāo)準(zhǔn)可包括排除列表、包含列表或兩者。可以以任何形式的數(shù)據(jù)結(jié)構(gòu)來安排所述列表(包含或排除)。包含列表定義處于節(jié)點(diǎn)的作用范圍內(nèi)的設(shè)備(諸如根據(jù)它們的邏輯單元號(hào)或其它識(shí)別標(biāo)志)。相反,排除列表識(shí)別不處于節(jié)點(diǎn)的作用范圍之內(nèi)的設(shè)備;不處于排除列表中的所有設(shè)備都處于節(jié)點(diǎn)的作用范圍之內(nèi)。因此,如果使用排除列表,當(dāng)在操作上把新的設(shè)備耦合到節(jié)點(diǎn)12時(shí),諸如通過使用即插即用(PNP)控制,該設(shè)備將相對(duì)所述節(jié)點(diǎn)而暴露。一般來說,是以包含列表的形式還是以排除列表的形式來提供屏蔽標(biāo)準(zhǔn),這是設(shè)計(jì)選擇的問題,因?yàn)楦鶕?jù)系統(tǒng)的配置和實(shí)現(xiàn)屏蔽的理由,每一種方式都具有優(yōu)點(diǎn)。
為了簡潔的目的,下面的例子以包含列表的形式描述所述作用范圍控制列表46,其中在所述包含列表上的設(shè)備處于節(jié)點(diǎn)的作用范圍之內(nèi)。然而,要理解到,這里提出的原則同樣可應(yīng)用到包含列表和排除列表兩者。此外,雖然已經(jīng)把所述作用范圍控制列表46描述為操作上與節(jié)點(diǎn)的控制器30相關(guān)聯(lián),但是要理解到可以使用其它的數(shù)據(jù)存儲(chǔ)配置。例如,可以向節(jié)點(diǎn)12提供公用作用范圍控制數(shù)據(jù)結(jié)構(gòu),以在全局上指示出相對(duì)于節(jié)點(diǎn)12屏蔽了哪個(gè)設(shè)備。另一方面,可以為每個(gè)總線分開提供作用范圍控制列表。
根據(jù)本發(fā)明的一方面,可以把兩種類型的包含(和/或排除)列表在操作上與作用范圍控制列表46相關(guān)聯(lián),即永久的包含列表48和臨時(shí)的包含列表50。術(shù)語“永久的”和“臨時(shí)的”涉及各自列表的存儲(chǔ)特性。例如,臨時(shí)包含列表不能經(jīng)受系統(tǒng)重啟或?qū)?yīng)控制器的阻塞。例如,臨時(shí)列表50存儲(chǔ)于諸如RAM之類的節(jié)點(diǎn)的臨時(shí)存儲(chǔ)器(如易失性存儲(chǔ)設(shè)備)中,只要系統(tǒng)正在運(yùn)行并且控制器30仍然能用就保持該列表。永久包含列表48較佳地能夠經(jīng)受系統(tǒng)重啟或崩潰以及諸如掉電或當(dāng)禁用控制器30或節(jié)點(diǎn)12時(shí)之類的其它類似情況。例如,永久列表存儲(chǔ)于諸如系統(tǒng)寄存器之類的永久存儲(chǔ)器中(如非易失性存儲(chǔ)器)。永久和臨時(shí)包含列表48和50兩者分別是可編程的,使得例如管理員或較高層服務(wù)可修改經(jīng)選擇的列表,這導(dǎo)致動(dòng)態(tài)地改變節(jié)點(diǎn)12的作用范圍。例如,可以提供若干接口(如應(yīng)用程序編程接口(API)),來觀察經(jīng)選擇的列表的內(nèi)容或程控地改變經(jīng)選擇的一個(gè)列表或若干列表的內(nèi)容。
作為例子,根據(jù)本發(fā)明,提供諸如設(shè)置包含列表(SET_INCLUSION_LIST)接口(或API)之類的接口60,來允許設(shè)備相對(duì)于節(jié)點(diǎn)12的程控屏蔽。諸如較高層應(yīng)用程序(或服務(wù))或管理員之類的代理使用接口60來修改包含(和/或排除)列表。接口60致使從適當(dāng)?shù)陌斜?永久的或臨時(shí)的)中移除(或添加)一個(gè)或多個(gè)設(shè)備的對(duì)應(yīng)的識(shí)別數(shù)據(jù)。諸如由較高層應(yīng)用程序或系統(tǒng)管理員之類提供給接口60的指令,確定對(duì)列表的改變的類型和范圍。
除了控制某一設(shè)備是否處于節(jié)點(diǎn)12的作用范圍內(nèi)之外,還可希望完全刪除所述作用范圍控制列表,使得屏蔽與該列表相關(guān)聯(lián)的特性不影響系統(tǒng)的行為(如不嘗試屏蔽)。例如,為了實(shí)現(xiàn)這樣的操作,相對(duì)于包含列表,可以提供諸如清除包含列表(CLEAR_INCLUSION_LIST)接口70之類的適當(dāng)接口或API。管理員(手動(dòng)地)或較高層應(yīng)用程序(啟動(dòng)操作的)可通過指示出要?jiǎng)h除哪個(gè)包含列表(或一些列表)而使用接口70。根據(jù)作用范圍控制列表的類型來確定該接口70的效應(yīng)。例如,如果僅存在一個(gè)列表,并且通過使用所述清除包含列表接口而刪除了該列表,系統(tǒng)回復(fù)到其默認(rèn)行為,例如該行為可能暴露可見的每個(gè)設(shè)備給系統(tǒng)。另一方面,如果有混合的作用范圍控制列表(如有包含和排除列表兩種),系統(tǒng)行為將根據(jù)所刪除的哪個(gè)列表而變化。例如,如果通過接口而刪除了包含列表,那么就排除了在排除列表中所識(shí)別的每個(gè)設(shè)備。如果從混合列表中刪除了排除列表,那么就包含了包含列表中所識(shí)別的每一個(gè)。例如,根據(jù)下面所描述的方法之一,產(chǎn)生修改所述節(jié)點(diǎn)的作用范圍的操作。也就是可以移除或添加設(shè)備對(duì)象本身(例如見圖2B),或者可以破壞或建立設(shè)備對(duì)象與各自的類驅(qū)動(dòng)器之間的鏈路(例如見圖2C)。
為了確定包含(或排除)列表的當(dāng)前狀態(tài),節(jié)點(diǎn)、管理員或應(yīng)用程序可使用諸如獲得包含列表(GET_INCLUSION_LIST)接口80之類的另一接口,以返回指示出當(dāng)前的包含列表(臨時(shí)的和/或永久的)的信息??梢杂扇魏螒?yīng)用程序或用戶在節(jié)點(diǎn)處存取訪問所述獲得包含列表接口80。
還可以使用另一接口,即查詢附屬設(shè)備(QUERY_ATTACHED_DEVICE)90,來返回附屬于控制器的設(shè)備的列表以及各自設(shè)備的識(shí)別標(biāo)志。例如,這可以基于查詢數(shù)據(jù)的檢索來響應(yīng)SCSI查詢,并可由與節(jié)點(diǎn)相關(guān)聯(lián)的任何用戶或應(yīng)用程序存取訪問。
圖2b說明了根據(jù)本發(fā)明的某一特定方面的可使用來控制設(shè)備是否處于節(jié)點(diǎn)12的作用范圍之內(nèi)的方法的功能表示。用添加了撇號(hào)(’)的同樣的標(biāo)號(hào)來標(biāo)示先前關(guān)于圖2a所標(biāo)識(shí)的對(duì)應(yīng)部分。尤其是該方法涉及操作(如添加或去除)一相關(guān)的設(shè)備對(duì)象32c’來實(shí)現(xiàn)在節(jié)點(diǎn)處相對(duì)于相關(guān)設(shè)備的屏蔽。作為例子,為了從節(jié)點(diǎn)12’的作用范圍中除去目前暴露的設(shè)備,就除去與該特定設(shè)備相關(guān)聯(lián)的設(shè)備對(duì)象(如32c’)。這由標(biāo)識(shí)符號(hào)32X在圖2b中說明,它指示出沒有設(shè)備對(duì)象32c(圖2a)。例如,通過使用“設(shè)置包含列表”(SET_INCLUSION_LIST)接口60’以從包含列表中除去經(jīng)選擇的設(shè)備,來啟動(dòng)設(shè)備對(duì)象的除去。作用范圍控制列表46’結(jié)合了對(duì)包含列表作出的改變。接口60’指示即插即用(PNP)模塊或?qū)S媒涌?未示出)來除去各自的設(shè)備對(duì)象。隨后,設(shè)備對(duì)象32c的除去導(dǎo)致對(duì)應(yīng)類驅(qū)動(dòng)器34c(圖2a)的除去或卸載。還從例示對(duì)象44’的列表中除去所述設(shè)備。由于既沒有設(shè)備對(duì)象也沒有類驅(qū)動(dòng)器與設(shè)備相關(guān)聯(lián),就沒有可用的信道,而通過該信道與節(jié)點(diǎn)12相關(guān)聯(lián)的任何較高層對(duì)象或驅(qū)動(dòng)器才可與設(shè)備通信,因此,有效地阻塞了通過節(jié)點(diǎn)對(duì)設(shè)備的存取訪問。
為了將當(dāng)前未暴露的設(shè)備納入節(jié)點(diǎn)12的作用范圍,程控地在節(jié)點(diǎn)處對(duì)該設(shè)備建立設(shè)備對(duì)象32。參考圖2b,例如,這可以通過較高層應(yīng)用程序或管理員使用所述“設(shè)置包含列表”接口60’為該設(shè)備向包含列表添加適當(dāng)?shù)纳矸輸?shù)據(jù)而實(shí)現(xiàn)。接口60’指示PNP控制或其它接口為設(shè)備添加設(shè)備對(duì)象,并且為該設(shè)備載入類驅(qū)動(dòng)器34c,并且隨后把類驅(qū)動(dòng)器在操作上鏈接到設(shè)備對(duì)象32c(見圖2a)。例如,根據(jù)正在建立節(jié)點(diǎn)和設(shè)備間的通信信道的理由,可把該設(shè)備添加到永久或臨時(shí)包含列表48’、50’。當(dāng)建立設(shè)備對(duì)象32c時(shí),還把該設(shè)備添加到例示對(duì)象44的列表中。如果所添加到系統(tǒng)的設(shè)備是新的設(shè)備,則還可以把它添加到全局列表42中。
管理員或較高層應(yīng)用程序或模塊還可以使用“清除包含列表”(CLEAR_INCLUSION_LIST)接口70’,來刪除作用范圍控制列表。如上所述,是把設(shè)備納入還是拿出節(jié)點(diǎn)12’的作用范圍取決于所述列表是包含還是排除列表。
圖2c是根據(jù)本發(fā)明的可在節(jié)點(diǎn)12”處使用的來程控地控制設(shè)備是否處于節(jié)點(diǎn)12”的作用范圍之內(nèi)的另一種方法的功能表示。用添加雙撇號(hào)(”)的同樣的標(biāo)號(hào)來標(biāo)示先前關(guān)于圖2a標(biāo)識(shí)的對(duì)應(yīng)部分。在該方法中,通過控制設(shè)備對(duì)象32”與對(duì)應(yīng)的該設(shè)備的較高層設(shè)備對(duì)象34”之間的操作鏈路36”,可屏蔽節(jié)點(diǎn)和設(shè)備之間的通信信道。例如,重新參考圖2a,如果對(duì)于一設(shè)備,存在設(shè)備對(duì)象32c和對(duì)應(yīng)的類驅(qū)動(dòng)器對(duì)象34c,則可通過動(dòng)態(tài)地破壞(或除去)該設(shè)備對(duì)象和類驅(qū)動(dòng)器之間的鏈路36c,可將該設(shè)備拿出所述節(jié)點(diǎn)12的作用范圍。這由參考符號(hào)36X在圖2c中說明,它指示出沒有了鏈路36c(圖2a)。例如,如圖2a所示,通過對(duì)設(shè)備在設(shè)備對(duì)象32c和類驅(qū)動(dòng)器34c之間添加鏈路36c,可以把不處于節(jié)點(diǎn)的作用范圍之內(nèi)的但早已是全局42”的一部分的設(shè)備拿進(jìn)所述節(jié)點(diǎn)12”的作用范圍。
可以與關(guān)于圖2b所描述的方法類似的方式實(shí)現(xiàn)屏蔽。簡要來說,管理員或較高層應(yīng)用程序使用諸如“設(shè)置包含列表”(SET_INCLUSION_LIST)接口60”之類的適當(dāng)?shù)慕涌冢瑏硇薷陌斜?臨時(shí)的50”或永久的48”)。作用范圍控制列表46”結(jié)合了對(duì)各個(gè)包含列表的改變。根據(jù)在功能上相對(duì)所述節(jié)點(diǎn)是隱藏還是暴露所述設(shè)備,接口60”還指示專用接口或PNP控制來添加或破壞鏈路36”。如先前關(guān)于圖2a所示和所描述的那樣,如果對(duì)要相對(duì)于節(jié)點(diǎn)12”而暴露的設(shè)備(如要被連接到系統(tǒng)的新的設(shè)備)既沒有建立設(shè)備對(duì)象也沒有建立類驅(qū)動(dòng)器,則建立并鏈接對(duì)應(yīng)的設(shè)備對(duì)象32c和類驅(qū)動(dòng)器34c。還可以把與每個(gè)設(shè)備對(duì)象32相關(guān)聯(lián)的標(biāo)志設(shè)置成邏輯值(真或假),來指示出所述設(shè)備對(duì)象是否對(duì)應(yīng)于節(jié)點(diǎn)的作用范圍之內(nèi)的可見設(shè)備。
圖3說明了系統(tǒng)環(huán)境100的例子,在其中在操作上通過多條總線130和140把節(jié)點(diǎn)110連接到多個(gè)目標(biāo)設(shè)備120。節(jié)點(diǎn)110包括操作上與每條各自的總線130、140相關(guān)聯(lián)的控制器150、160,用于建立控制節(jié)點(diǎn)和每個(gè)目標(biāo)設(shè)備之間的通信通路(信道)。每個(gè)目標(biāo)設(shè)備120具有與之相關(guān)聯(lián)的目標(biāo)地址,并包括一個(gè)或多個(gè)邏輯單元170。例如,邏輯單元170提供對(duì)各自目標(biāo)設(shè)備120的功能存儲(chǔ)單元的接口。每個(gè)邏輯單元170具有相關(guān)的邏輯單元號(hào)(或其它識(shí)別標(biāo)志)。把節(jié)點(diǎn)110以及控制器150和160配置成實(shí)質(zhì)上同等地對(duì)關(guān)于圖2A-2C所示的和所描述的節(jié)點(diǎn)和控制器起作用。尤其是節(jié)點(diǎn)110可包括存儲(chǔ)于系統(tǒng)寄存器中的永久包含列表,指示出處于節(jié)點(diǎn)的作用范圍之內(nèi)的一個(gè)或多個(gè)邏輯單元。
在系統(tǒng)引導(dǎo)或在初始化期間,使用永久包含列表來建立節(jié)點(diǎn)100與所述列表所指示出的每個(gè)設(shè)備120或邏輯單元170之間的通信通路或信道。作為例子,在初始化時(shí),所述節(jié)點(diǎn)110或控制器150和160根據(jù)存儲(chǔ)于系統(tǒng)寄存器之中的永久包含列表來設(shè)置作用范圍控制列表。如果沒有提供永久列表,則可默認(rèn)地把所述節(jié)點(diǎn)配置成在功能上或者暴露操作上連接到所述節(jié)點(diǎn)的每個(gè)設(shè)備,或者不暴露設(shè)備。下面的例子假設(shè)提供了初始的永久包含列表。
每個(gè)控制器150、160掃描總線,并在每條各自的總線130、140上發(fā)送對(duì)每個(gè)目標(biāo)120的查詢,以便確定與每個(gè)目標(biāo)設(shè)備相關(guān)聯(lián)的邏輯單元號(hào)??刂破?50和160可進(jìn)行額外的查詢,以確定與每個(gè)邏輯單元相關(guān)聯(lián)的設(shè)備的類型,并獲得對(duì)每個(gè)邏輯單元的特定身份數(shù)據(jù),諸如例如序號(hào)。每個(gè)控制器150、160進(jìn)一步檢查它的作用范圍控制列表,根據(jù)所述身份數(shù)據(jù)來確定設(shè)備或邏輯單元是否在列表中。如果所述邏輯單元在控制器的作用范圍之內(nèi),對(duì)該邏輯單元建立設(shè)備對(duì)象,并且可以諸如通過設(shè)置與所述設(shè)備對(duì)象相關(guān)聯(lián)的適當(dāng)?shù)臉?biāo)志之類把該邏輯單元標(biāo)記為可見的。還把與每個(gè)設(shè)備對(duì)象相關(guān)聯(lián)的邏輯單元標(biāo)志添加到例示對(duì)象的列表中。然而,如果邏輯單元不在節(jié)點(diǎn)110的作用范圍之內(nèi),則無對(duì)應(yīng)的設(shè)備對(duì)象被建立。然而,在任一種情況中,把每個(gè)邏輯單元的識(shí)別標(biāo)志添加到節(jié)點(diǎn)110的全局列表中。重復(fù)該過程,直到相應(yīng)地處理了每條總線130、140的每個(gè)目標(biāo)設(shè)備120的每個(gè)邏輯單元170為止。
在諸如系統(tǒng)引導(dǎo)之類的某些情況下,可希望程控地設(shè)置空作用范圍控制列表,在其中從所述作用范圍控制列表中除去所有項(xiàng)目。例如,空包含列表導(dǎo)致從節(jié)點(diǎn)110的作用范圍中除去所有設(shè)備120或邏輯單元170。相反,空排除列表導(dǎo)致將把依附于總線的所有設(shè)備包括于所述作用范圍之中。在這樣的情況下,節(jié)點(diǎn)110不具有任何在包含列表(永久的或臨時(shí)的)中所識(shí)別的設(shè)備,因此,沒有設(shè)備由所述作用范圍控制列表識(shí)別。如果控制器不具有包含列表,在總線搜索期間就不進(jìn)行對(duì)操作上連接到所述總線的設(shè)備的檢查。這顯著減少了引導(dǎo)時(shí)間,因?yàn)闆]有必要執(zhí)行檢驗(yàn)適當(dāng)?shù)脑O(shè)備操作或檢查與設(shè)備相關(guān)聯(lián)的文件系統(tǒng)的過程。還可以通過一開始對(duì)節(jié)點(diǎn)的包含列表進(jìn)行編程以僅識(shí)別相對(duì)較少數(shù)量的設(shè)備,使得較少的設(shè)備處于節(jié)點(diǎn)的作用范圍之內(nèi)(如當(dāng)把系統(tǒng)依附于大量的數(shù)據(jù)存儲(chǔ)器時(shí),如SAN環(huán)境),來減少引導(dǎo)時(shí)間。還緩和了通路過載和設(shè)備沖突。
圖4是根據(jù)本發(fā)明的示例性系統(tǒng)配置200的功能表示,其中通過連接206和208分別把多個(gè)節(jié)點(diǎn)202和204連接到共享存儲(chǔ)系統(tǒng)210。例如,共享存儲(chǔ)系統(tǒng)210包括在操作上耦合至多個(gè)存儲(chǔ)單元220a、220b、220c、220d和220e(把它們一起稱為“存儲(chǔ)單元220”)的存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)212。例如,每個(gè)存儲(chǔ)單元220可以是磁盤、磁帶或任何其它形式的存儲(chǔ)媒體(光的或電子的)。
例如SAN212包括適配器、網(wǎng)橋、集線器、交換器和導(dǎo)控器的配置,來控制存儲(chǔ)單元220與節(jié)點(diǎn)202和204之間的路由和連接。簡而言之,適配器將節(jié)點(diǎn)或服務(wù)器以及外圍設(shè)備依附于SAN212中的配線(如光纖或其它配線)。網(wǎng)橋從一個(gè)協(xié)議轉(zhuǎn)換到另一個(gè)協(xié)議,如從光纖信道轉(zhuǎn)換到IP或從SCSI轉(zhuǎn)換到光纖信道。集線器、交換器和導(dǎo)控器在SAN數(shù)據(jù)總線中提供中間接點(diǎn)和路由選擇能力。為了增加系統(tǒng)帶寬并從而增加數(shù)據(jù)傳送速率,SAN212可使用光纖信道結(jié)構(gòu)以交叉點(diǎn)交換配置來連接包括存儲(chǔ)單元220以及節(jié)點(diǎn)202和204的設(shè)備。
可在節(jié)點(diǎn)202和204之間提供可選的通信鏈路230,以允許節(jié)點(diǎn)間的通信。該通信鏈路230可以是網(wǎng)絡(luò)(LAN、WAN)、電信鏈路、或節(jié)點(diǎn)202和204和/或其用戶可借助用于通信的其它機(jī)構(gòu)的形式。還可以在使用任何數(shù)量的進(jìn)程間通信協(xié)議(如IP、HIPPI、VI等等)繞過SAN來運(yùn)行所述通信鏈路。
作為例子,節(jié)點(diǎn)202和204經(jīng)過通信鏈路206和208而到達(dá)SAN212,來使用SCSI協(xié)議,所述SAN212使用至存儲(chǔ)單元220的光纖信道。把每個(gè)節(jié)點(diǎn)202、204編程成包括諸如包含和/或排除列表之類的數(shù)據(jù)結(jié)構(gòu),用于定義哪個(gè)存儲(chǔ)單元220是處于各自節(jié)點(diǎn)的作用范圍之內(nèi)。所述數(shù)據(jù)結(jié)構(gòu)可包括永久的和/或臨時(shí)的列表。較高層的應(yīng)用程序或代理進(jìn)行關(guān)于哪個(gè)存儲(chǔ)單元是處于或是不處于每個(gè)節(jié)點(diǎn)的作用范圍之內(nèi)的管理。如上所述,可以程控地修改每個(gè)節(jié)點(diǎn)的包含列表,來動(dòng)態(tài)地屏蔽每一個(gè)節(jié)點(diǎn)和經(jīng)選擇的存儲(chǔ)單元之間的存取訪問。
例如,節(jié)點(diǎn)202可具有包含存儲(chǔ)單元220a的包含列表,而節(jié)點(diǎn)204可具有包含存儲(chǔ)單元220b和220c的包含列表。在節(jié)點(diǎn)202存取訪問存儲(chǔ)單元220b之前,可控制節(jié)點(diǎn)204放棄所有權(quán)。這可以通過較高層應(yīng)用程序或管理員使用接口(設(shè)置包含列表)從節(jié)點(diǎn)204的包含列表中除去存儲(chǔ)單元220b而實(shí)現(xiàn)。,以這樣的方式修改包含列表導(dǎo)致作用范圍控制列表中的相應(yīng)的改變。諸如根據(jù)關(guān)于圖2a-2c所示及所描述的實(shí)現(xiàn)之一,可以使用接口或PNP控制在設(shè)備對(duì)象級(jí)別上阻塞節(jié)點(diǎn)204對(duì)存儲(chǔ)單元220b的存取訪問。當(dāng)存儲(chǔ)單元220b不處于節(jié)點(diǎn)204的作用范圍之內(nèi)時(shí),節(jié)點(diǎn)204(或其用戶)可通過通信鏈路230與節(jié)點(diǎn)202通信,指示出已釋放對(duì)存儲(chǔ)單元的所有權(quán)。然后管理員或較高層應(yīng)用程序(經(jīng)通信鏈路230或者在節(jié)點(diǎn)202處或者在節(jié)點(diǎn)204處)可使用接口(如設(shè)置包含列表)將存儲(chǔ)單元220b添加到節(jié)點(diǎn)202的包含列表。隨后,相應(yīng)地修改所述作用范圍控制列表。所述接口還指示另一個(gè)接口或PNP控制,諸如通過發(fā)出適當(dāng)?shù)拿顏硖砑訉?duì)應(yīng)于存儲(chǔ)單元220b的設(shè)備對(duì)象和/或?yàn)榇鎯?chǔ)單元220b將設(shè)備對(duì)象鏈接到對(duì)應(yīng)的類驅(qū)動(dòng)器,而將設(shè)備220b納入節(jié)點(diǎn)202的作用范圍。因?yàn)榘压?jié)點(diǎn)202的設(shè)備對(duì)象鏈接到適當(dāng)?shù)念愹?qū)動(dòng)器,則允許對(duì)各自存儲(chǔ)單元220b的存取訪問(如設(shè)備處于節(jié)點(diǎn)202的作用范圍之內(nèi))??梢杂妙愃频姆绞匠炭氐仄帘喂?jié)點(diǎn)202和204作出的相對(duì)于其它存儲(chǔ)單元220的存取訪問。
例如,管理員可向每個(gè)節(jié)點(diǎn)202、204提供與每個(gè)節(jié)點(diǎn)的需求相稱的適當(dāng)?shù)拇鎯?chǔ)級(jí)別。此外,可以對(duì)每個(gè)節(jié)點(diǎn)202、204進(jìn)行編程,以訪問相同的存儲(chǔ)單元220,以便在總體上允許系統(tǒng)200的存儲(chǔ)要求降低。結(jié)果,不需要對(duì)多個(gè)節(jié)點(diǎn)存儲(chǔ)重復(fù)的數(shù)據(jù)。以這樣的方式屏蔽存取訪問還緩解了當(dāng)不止一個(gè)節(jié)點(diǎn)試圖同時(shí)存取訪問一存儲(chǔ)單元時(shí)而可能發(fā)生的通路過載和設(shè)備沖突。
圖5是根據(jù)本發(fā)明的另一系統(tǒng)配置300的例子,其中通過諸如LAN或WAN之類的常規(guī)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)310而將多個(gè)客戶節(jié)點(diǎn)302和304鏈接到多個(gè)服務(wù)器節(jié)點(diǎn)306和308。在操作上把服務(wù)器節(jié)點(diǎn)306和308鏈接到共享存儲(chǔ)系統(tǒng)318。尤其通過可包括光纖信道配置拓?fù)涞腟AN330是把服務(wù)器節(jié)點(diǎn)306和308耦合至多個(gè)存儲(chǔ)單元320a、320b、320c、320d和320e(把它們一起稱為“存儲(chǔ)單元320”)。
根據(jù)本發(fā)明的一方面,每個(gè)客戶節(jié)點(diǎn)302和304包括諸如以包含和/或排除列表形式之類的一個(gè)或多個(gè)可編程的數(shù)據(jù)結(jié)構(gòu),來定義哪個(gè)存儲(chǔ)單元320是處于每個(gè)各自客戶節(jié)點(diǎn)的作用范圍之內(nèi)。如上所述,所述數(shù)據(jù)結(jié)構(gòu)可以用臨時(shí)的和/或永久的包含列表的形式。所述數(shù)據(jù)結(jié)構(gòu)還可以對(duì)應(yīng)于空包含列表,指示出無存儲(chǔ)單元處于各自的客戶節(jié)點(diǎn)的作用范圍之內(nèi)。要理解,也可以對(duì)服務(wù)器節(jié)點(diǎn)306、308的每一個(gè)編程,以包括包含(或排除)列表來進(jìn)一步控制對(duì)經(jīng)選擇的存儲(chǔ)單元的存取訪問。根據(jù)本發(fā)明,通過使用適當(dāng)?shù)慕涌趤沓炭氐貜母髯怨?jié)點(diǎn)的包含列表中添加或除去一個(gè)或多個(gè)存儲(chǔ)單元,可相對(duì)于每個(gè)節(jié)點(diǎn)302、304動(dòng)態(tài)地屏蔽一個(gè)或多個(gè)存儲(chǔ)器。
作為例子,客戶節(jié)點(diǎn)302具有識(shí)別存儲(chǔ)單元320a和320c的包含列表,而節(jié)點(diǎn)304具有空包含列表(如從其作用范圍中排除總線上的所有設(shè)備)。為了使節(jié)點(diǎn)304能夠存取訪問存儲(chǔ)單元320c,把該存儲(chǔ)單元添加到包含列表(或從其排除列表中除去)。例如,這可通過較高層應(yīng)用程序或管理員使用接口(設(shè)置包含列表)將存儲(chǔ)單元320c添加到節(jié)點(diǎn)304的包含列表而實(shí)現(xiàn)。根據(jù)把存儲(chǔ)單元添加到哪個(gè)列表(臨時(shí)的或永久的),所述添加可以是永久的或臨時(shí)的。以這樣的方式修改包含列表引起節(jié)點(diǎn)304的作用范圍控制列表中的對(duì)應(yīng)的改變。例如,還指示PNP控制來為存儲(chǔ)單元(假設(shè)不是已經(jīng)存在的一個(gè))建立設(shè)備對(duì)象。通過通信通路,把該設(shè)備對(duì)象鏈接到類驅(qū)動(dòng)器,用于將命令指令傳播給存儲(chǔ)單元320c(如提供讀或?qū)懨顏眄憫?yīng)I/O請(qǐng)求)。
還希望在將存儲(chǔ)單元320c暴露給另一節(jié)點(diǎn)304之前,從節(jié)點(diǎn)302的作用范圍之內(nèi)拿出該存儲(chǔ)單元320c。從而,服務(wù)器節(jié)點(diǎn)306或308之一或客戶節(jié)點(diǎn)304可通過網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)310與客戶節(jié)點(diǎn)302通信,并請(qǐng)求該節(jié)點(diǎn)302放棄存儲(chǔ)單元320c的所有權(quán),諸如程控屏蔽節(jié)點(diǎn)302對(duì)該存儲(chǔ)單元的存取訪問。可以采用接口(設(shè)置包含列表)來啟動(dòng)用戶節(jié)點(diǎn)302上的屏蔽,諸如按照這里所示和所描述的任何一種實(shí)現(xiàn)。因?yàn)樵诠δ苌鲜勾鎯?chǔ)單元320c相對(duì)于客戶節(jié)點(diǎn)302而隱藏,就緩解了如果兩個(gè)或多個(gè)節(jié)點(diǎn)同時(shí)存取訪問設(shè)備時(shí)而產(chǎn)生的通路過載和可能的沖突。
圖6說明了根據(jù)本發(fā)明的可使用屏蔽來動(dòng)態(tài)地管理對(duì)共享存儲(chǔ)系統(tǒng)420的多個(gè)存儲(chǔ)單元410a、410b、410c、410d和410e(把它們一起稱為“存儲(chǔ)單元410”)的存取訪問的基于因特網(wǎng)的系統(tǒng)400的一個(gè)示例。在操作上把多個(gè)因特網(wǎng)服務(wù)器430和440耦合至因特網(wǎng)450。每個(gè)服務(wù)器430、440還包括物理上與每個(gè)服務(wù)器相關(guān)聯(lián)的各自的存儲(chǔ)設(shè)備460、462。例如,服務(wù)器430和440對(duì)應(yīng)于電子商務(wù)的因特網(wǎng)服務(wù)器,它們接收訂單并對(duì)某一商業(yè)范圍進(jìn)行交易處理的預(yù)選方面。另一服務(wù)器470是用于諸如根據(jù)從因特網(wǎng)服務(wù)器430、440的,每一個(gè)獲得的交易數(shù)據(jù)而進(jìn)行附加的交易處理或數(shù)據(jù)管理(如數(shù)據(jù)提取)的主服務(wù)器。主服務(wù)器470還包括由該服務(wù)器獨(dú)占的存儲(chǔ)設(shè)備472。在操作上把所有的服務(wù)器430、440和470通過共享存儲(chǔ)系統(tǒng)420的SAN474而耦合至存儲(chǔ)單元410。
根據(jù)本發(fā)明,可以把每個(gè)服務(wù)器430、440、470編程成包括一諸如以包含和/或排除列表的形式之類的數(shù)據(jù)結(jié)構(gòu),它為每個(gè)各自的服務(wù)器識(shí)別屏蔽標(biāo)準(zhǔn)。如上所述,所述列表可包括永久的和/或臨時(shí)的列表,識(shí)別某一存儲(chǔ)設(shè)備是否處于各自服務(wù)器的作用范圍之內(nèi)。根據(jù)本發(fā)明的一方面,可以程控地把存儲(chǔ)設(shè)備410添加到服務(wù)器430、440、470之一的數(shù)據(jù)結(jié)構(gòu)中或從中除去,以相對(duì)于各自的服務(wù)器而動(dòng)態(tài)地屏蔽存儲(chǔ)單元。
作為例子,因特網(wǎng)服務(wù)器430對(duì)應(yīng)于用于接收并處理來自因特網(wǎng)450的關(guān)于因特網(wǎng)商務(wù)的第1范圍的訂單的服務(wù)器。服務(wù)器430可在相關(guān)的存儲(chǔ)設(shè)備460中存儲(chǔ)交易數(shù)據(jù),但要求額外的驅(qū)動(dòng)空間來進(jìn)一步處理該數(shù)據(jù)。所述共享存儲(chǔ)系統(tǒng)420提供諸如存儲(chǔ)單元410b之類的足夠的存儲(chǔ)器來進(jìn)行應(yīng)用一密集的數(shù)據(jù)處理。為了存取訪問存儲(chǔ)單元410b,服務(wù)器程控地將存儲(chǔ)單元納入所述服務(wù)器430的作用范圍之內(nèi)。
根據(jù)本發(fā)明,諸如可以通過管理員或高層應(yīng)用程序之類而使用接口(設(shè)置包含列表),以將存儲(chǔ)單元410b添加到經(jīng)選擇的服務(wù)器430的包含列表中(如臨時(shí)的或永久的)。根據(jù)對(duì)臨時(shí)包含列表的改變而修改服務(wù)器430的作用范圍控制列表。此外,諸如關(guān)于圖2a-2c所示及所描述的示例性實(shí)現(xiàn)之一,激活專用接口或PNP控制,以將存儲(chǔ)單元410b納入服務(wù)器430的作用范圍之內(nèi)。當(dāng)存儲(chǔ)單元410b處于因特網(wǎng)服務(wù)器430的作用范圍之內(nèi)時(shí),如該服務(wù)器所擁有的任何設(shè)備所將進(jìn)行的那樣,該服務(wù)器可使用該存儲(chǔ)單元來處理并存儲(chǔ)交易數(shù)據(jù)。在完成處理之后,服務(wù)器430可放棄對(duì)存儲(chǔ)單元410b的所有權(quán),諸如通過使用接口(設(shè)置包含列表)從其臨時(shí)包含列表中除去該存儲(chǔ)單元。
在上述的例子中,因?yàn)闉樘囟ǖ哪康亩诖嫒≡L問存儲(chǔ)單元410b,即處理并將數(shù)據(jù)傳送到另一機(jī)器,可以把存儲(chǔ)單元添加到臨時(shí)包含列表。因此,如果服務(wù)器430或其相關(guān)控制器在處理期間崩潰,在其臨時(shí)包含列表上的存儲(chǔ)單元將不會(huì)繼續(xù)位于服務(wù)器430的作用范圍之內(nèi)。相反,該服務(wù)器將必須重新協(xié)商對(duì)這樣的存儲(chǔ)器的所有權(quán),以繼續(xù)處理所述交易數(shù)據(jù)。
服務(wù)器430(或其用戶)還可通過通信鏈路480與主服務(wù)器470(或其用戶)通信,以通知它已放棄了對(duì)存儲(chǔ)單元410b的存取訪問,并且主服務(wù)器470可諸如通過將該存儲(chǔ)單元添加到其包含列表中而獲得對(duì)存儲(chǔ)單元410b的所有權(quán)。程控指令可伴隨所述通信,以在主服務(wù)器470處啟動(dòng)“設(shè)置包含列表”接口,用于將存儲(chǔ)單元410b添加到主服務(wù)器的包含列表中。要理解到,可以使用任何模式的通信來傳播關(guān)于互聯(lián)網(wǎng)服務(wù)器430的信息以及在存儲(chǔ)單元410b處提供的數(shù)據(jù),包括手動(dòng)的或自動(dòng)的機(jī)構(gòu)、有線或無線等等。在主服務(wù)器470程控地將存儲(chǔ)單元410b納入其作用范圍之后,它可處理數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)到其所獨(dú)占的附加存儲(chǔ)器472中,保存存儲(chǔ)單元410b的數(shù)據(jù),或者在協(xié)商存儲(chǔ)單元的所有權(quán)之后,它可將數(shù)據(jù)傳送到存儲(chǔ)單元410的不同的一個(gè)之中。服務(wù)器440可用過通信鏈路482與主服務(wù)器470通信,以提供關(guān)于服務(wù)器440的狀態(tài)信息,并提供關(guān)于相關(guān)的存儲(chǔ)單元410的狀態(tài)信息和/或指令。
可由單個(gè)因特網(wǎng)服務(wù)器430和440有利地構(gòu)建大量數(shù)據(jù),并將它們傳送到共享存儲(chǔ)系統(tǒng)420的存儲(chǔ)單元410,用于由主服務(wù)器470處理。例如,可以把主服務(wù)器470用作整個(gè)系統(tǒng)400的文件服務(wù)器。此外,可以利用這種方法來有效地建立經(jīng)選擇的數(shù)據(jù)的備份副本,根據(jù)SAN的邏輯約束可在遠(yuǎn)程定位的存儲(chǔ)單元410中保持該數(shù)據(jù)。例如,光纖信道允許存儲(chǔ)設(shè)備與主計(jì)算機(jī)之間長達(dá)至少10千米,來存取訪問這樣的設(shè)備。
為了為本發(fā)明的各種方面提供一個(gè)來龍去脈,圖7以及下面的討論打算提供適當(dāng)?shù)挠?jì)算環(huán)境的簡要的、一般的描述,在該計(jì)算環(huán)境中可實(shí)現(xiàn)本發(fā)明的各種方面。雖然已在上述運(yùn)行于各種系統(tǒng)配置中的主計(jì)算機(jī)或節(jié)點(diǎn)上的計(jì)算機(jī)程序的計(jì)算機(jī)可執(zhí)行的指令的一般環(huán)境中描述本發(fā)明,但是本領(lǐng)域的那些普通技術(shù)人員將認(rèn)識(shí)到還可結(jié)合其它程序模塊來實(shí)現(xiàn)本發(fā)明。程序模塊一般包括例行程序、程序、分量、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。而且,本領(lǐng)域的那些普通技術(shù)人員將理解到可以用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)踐本發(fā)明方法,所述計(jì)算機(jī)系統(tǒng)配置包括單處理器或多處理器系統(tǒng)、小型計(jì)算機(jī)、大型計(jì)算機(jī)、以及個(gè)人計(jì)算機(jī)、手持計(jì)算設(shè)備、基于微處理器的或可編程的消費(fèi)電子設(shè)備等,可在操作上把它們的每一個(gè)耦合至一個(gè)或多個(gè)相關(guān)聯(lián)設(shè)備。還可以在分布式計(jì)算環(huán)境中實(shí)踐所說明的本發(fā)明的方面,在所述分布式計(jì)算環(huán)境中由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行某些任務(wù)。然而,可以在獨(dú)立的計(jì)算機(jī)上實(shí)踐本發(fā)明的一些(如果不是全部的話)方面,諸如在操作上與多個(gè)共享存儲(chǔ)單元(如分段的磁盤存儲(chǔ)器)相關(guān)聯(lián)的多個(gè)處理器的情況中。在分布式計(jì)算環(huán)境中,可以把程序模塊定位于本地和遠(yuǎn)程內(nèi)存存儲(chǔ)器設(shè)備兩者之中。然而,要理解到根據(jù)本發(fā)明,在每個(gè)計(jì)算機(jī)或節(jié)點(diǎn)之內(nèi)的低層實(shí)現(xiàn)屏蔽(如在驅(qū)動(dòng)器堆棧中),以便提供如這里所述的屏蔽性能。
參考圖7,用于實(shí)現(xiàn)本發(fā)明各種方面的示例性系統(tǒng)500包括常規(guī)服務(wù)器計(jì)算機(jī)502,它包括處理單元504、系統(tǒng)存儲(chǔ)器506以及將包括系統(tǒng)存儲(chǔ)器的各種系統(tǒng)組件耦合至處理單元504的系統(tǒng)總線508。處理單元504可以是各種商業(yè)上可以獲得的處理器的任何一種,包括但不限于來自Intel和包括Cyrix、AMD和Nexgen等其它廠商的英特爾x86,Pentium以及兼容微處理器;來自Digital的Alpha;來自MIPS Techonology的MIPS、NEC、IDT、Siemens以及其它;以及來自IBM和Motorola的PowerPC。還可以使用雙重微處理器和其它多處理器構(gòu)架作為處理單元504。
系統(tǒng)總線508可以是若干類型的總線結(jié)構(gòu)中的任何一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外設(shè)總線以及使用諸如PCI、VESA、微通道、ISA以及EISA(僅舉幾個(gè)例子)之類的各種常規(guī)總線體系結(jié)構(gòu)中的任何一種的局部總線。系統(tǒng)500存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)510和隨機(jī)存取存儲(chǔ)器(RAM)512。把包含幫助在服務(wù)器計(jì)算機(jī)502中的元件之間傳送信息,諸如在啟動(dòng)期間的基本例行程序的基本輸入/輸出系統(tǒng)(BIOS)存儲(chǔ)于ROM510中。
服務(wù)器計(jì)算機(jī)502進(jìn)一步包括硬盤驅(qū)動(dòng)器514、例如對(duì)可拆卸的磁盤518讀取和寫入的磁盤驅(qū)動(dòng)器516、以及例如用于讀取CD-ROM盤片522或?qū)ζ渌饷襟w讀取和寫入的光盤驅(qū)動(dòng)器520。通過硬盤驅(qū)動(dòng)器接口524、磁盤驅(qū)動(dòng)器接口526以及光盤驅(qū)動(dòng)器接口528分別把硬盤驅(qū)動(dòng)器514、磁盤驅(qū)動(dòng)器516以及光盤驅(qū)動(dòng)器520連接到系統(tǒng)總線508。驅(qū)動(dòng)器以及它們的相關(guān)計(jì)算機(jī)可讀媒體為服務(wù)器計(jì)算機(jī)502提供對(duì)數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)可執(zhí)行的指令等的非易失性存儲(chǔ)。雖然上面對(duì)計(jì)算機(jī)可讀媒體的描述涉及硬盤、可拆卸的磁盤以及CD,但是本領(lǐng)域的那些普通技術(shù)人員應(yīng)該理解到諸如磁帶盒、閃存卡、數(shù)字化視頻光盤、貝努利盒式磁盤等其它類型的計(jì)算機(jī)可讀的媒體也可用于示例性的操作環(huán)境中,并且任何這樣的媒體可包含用于執(zhí)行本發(fā)明的方法的計(jì)算機(jī)可執(zhí)行的指令。此外,把形成服務(wù)器計(jì)算機(jī)502的一部分的設(shè)備514-522的每一個(gè)認(rèn)為是由服務(wù)器計(jì)算機(jī)“所擁有”。然而,要理解到另一方面可把這樣的設(shè)備相對(duì)于服務(wù)器計(jì)算機(jī)502而遠(yuǎn)程設(shè)置,并可由一個(gè)或多個(gè)其它計(jì)算機(jī)共享,其中根據(jù)本發(fā)明把服務(wù)器計(jì)算機(jī)和其它計(jì)算機(jī)兩者都編程成使用屏蔽。
可以在驅(qū)動(dòng)器和RAM512之中存儲(chǔ)許多程序模塊,包括操作系統(tǒng)530、一個(gè)或多個(gè)應(yīng)用程序532、其它程序模塊534以及程序數(shù)據(jù)536。例如,雖然要理解到可用其它操作系統(tǒng)或操作系統(tǒng)的組合來實(shí)現(xiàn)本發(fā)明,但是在所說明的計(jì)算機(jī)中,操作系統(tǒng)530是“微軟視窗2000”服務(wù)器操作系統(tǒng)。
用戶可用過鍵盤538和諸如鼠標(biāo)540之類的指示設(shè)備將命令和信息輸入到服務(wù)器計(jì)算機(jī)502中。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲鍵盤、衛(wèi)星天線、掃描器等等。常通過耦合至系統(tǒng)總線508的串行端口接口542將這些或其它輸入設(shè)備連接到處理單元504,但可通過諸如并行端口、游戲端口或通用串行總線(USB)之類的其它接口進(jìn)行鏈接。還通過諸如視頻適配器546之類的接口將監(jiān)視器544或其它類型的顯示設(shè)備連接到系統(tǒng)總線508。除了監(jiān)視器之外,計(jì)算機(jī)一般包括諸如揚(yáng)聲器、打印機(jī)等之類的其它外圍輸出設(shè)備。
還可以諸如通過SAN552之類而在操作上把服務(wù)器計(jì)算機(jī)502耦合至共享存儲(chǔ)系統(tǒng)550。例如,通過存儲(chǔ)器接口或適配器554把服務(wù)器計(jì)算機(jī)502連接到SAN552。由于可以通過適當(dāng)?shù)拇鎯?chǔ)器適配器而把服務(wù)器計(jì)算機(jī)502直接耦合到共享存儲(chǔ)系統(tǒng)550,所以以虛線表示SAN,指示出它是可選的。
服務(wù)器計(jì)算機(jī)502可工作于使用連接至諸如遠(yuǎn)程客戶計(jì)算機(jī)或節(jié)點(diǎn)560之類的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接的聯(lián)網(wǎng)環(huán)境中。遠(yuǎn)程計(jì)算機(jī)560可以是工作站、服務(wù)器計(jì)算機(jī)、路由器、對(duì)等設(shè)備或其它普通的網(wǎng)絡(luò)節(jié)點(diǎn),并且雖然為了簡潔的目的而在圖7中僅說明了內(nèi)存存儲(chǔ)器562,但是所述遠(yuǎn)程計(jì)算機(jī)典型地包括關(guān)于服務(wù)器計(jì)算機(jī)502而描述的許多或所有元件。此外,根據(jù)本發(fā)明,可以把遠(yuǎn)程計(jì)算機(jī)562編程成相對(duì)于在操作上與之相關(guān)聯(lián)的一個(gè)或多個(gè)設(shè)備而使用屏蔽,所述設(shè)備包括服務(wù)器計(jì)算機(jī)502的一部分或通過SAN552而連接到服務(wù)器計(jì)算機(jī)的共享存儲(chǔ)系統(tǒng)550。圖7中所描述的邏輯連接包括局域網(wǎng)(LAN)564和廣域網(wǎng)(WAN)566。在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)中,這樣的聯(lián)網(wǎng)環(huán)境是平常的。
當(dāng)用于LAN聯(lián)網(wǎng)環(huán)境中時(shí),通過網(wǎng)絡(luò)接口或適配器568把服務(wù)器計(jì)算機(jī)502連接到局域網(wǎng)564。當(dāng)用于WAN聯(lián)網(wǎng)環(huán)境中時(shí),服務(wù)器計(jì)算機(jī)502典型地包括調(diào)制解調(diào)器570,或把它連接到LAN上的通信服務(wù)器,或具有用于在諸如因特網(wǎng)之類的WAN 566上建立通信的其它裝置。通過串行端口接口542把可以是內(nèi)置的或外置的調(diào)制解調(diào)器570連接到系統(tǒng)總線508。在聯(lián)網(wǎng)的環(huán)境中,可以把關(guān)于服務(wù)器計(jì)算機(jī)502而描述的程序模塊或其部分存儲(chǔ)于遠(yuǎn)程內(nèi)存存儲(chǔ)器設(shè)備562中和/或共享存儲(chǔ)設(shè)備550中。將理解到所示的網(wǎng)絡(luò)連接是示例性的,并且可使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。
根據(jù)計(jì)算機(jī)編程領(lǐng)域中的熟練技術(shù)人員的實(shí)踐,除非另外指示,已參考由諸如服務(wù)器計(jì)算機(jī)502或遠(yuǎn)程計(jì)算機(jī)560之類的計(jì)算機(jī)執(zhí)行的操作的動(dòng)作和符號(hào)表示而描述了本發(fā)明。有時(shí)把這樣的動(dòng)作和操作稱為是計(jì)算機(jī)可執(zhí)行的。將理解到和其它信號(hào)的處理一樣,動(dòng)作和符號(hào)表示的操作包括由處理單元504進(jìn)行的對(duì)表示數(shù)據(jù)比特的電信號(hào)的處理,它引起電信號(hào)表示的變換和簡化,以及在存儲(chǔ)系統(tǒng)(包括系統(tǒng)存儲(chǔ)器506、硬盤驅(qū)動(dòng)器514、軟盤驅(qū)動(dòng)器518、CD-ROM 522以及共享存儲(chǔ)系統(tǒng)550)中的存儲(chǔ)單元上對(duì)數(shù)據(jù)比特的保持,從而重配置或改變計(jì)算機(jī)系統(tǒng)的操作。保持?jǐn)?shù)據(jù)比特的存儲(chǔ)單元是具有對(duì)應(yīng)于數(shù)據(jù)比特的電的、磁的或光的特性的物理單元。
鑒于操作環(huán)境和示例性系統(tǒng)配置的上述例子,根據(jù)本發(fā)明,參考圖8-9c中所描述的流程圖將更好地理解屏蔽方法。關(guān)于類似于圖3中所示的系統(tǒng)配置而描述在這些圖中的每一個(gè)中所說明的示例性方法。簡而言之,每個(gè)目標(biāo)設(shè)備具有相關(guān)的總線地址(相當(dāng)于光纖信道節(jié)點(diǎn)),并且每個(gè)目標(biāo)設(shè)備進(jìn)一步包括一個(gè)或多個(gè)邏輯單元(LU)。每個(gè)LU提供對(duì)相關(guān)設(shè)備的對(duì)應(yīng)方面的接口,諸如對(duì)目標(biāo)設(shè)備的部分(如段或磁盤)的接口。每個(gè)LU具有相關(guān)的邏輯單元號(hào)(LUN)或用于識(shí)別各自目標(biāo)設(shè)備的邏輯單元的其它識(shí)別標(biāo)志。該例子假設(shè)把節(jié)點(diǎn)編程成包括永久包含列表,可把它存儲(chǔ)于系統(tǒng)寄存器中。所述永久包含列表識(shí)別那些設(shè)備最初要處于節(jié)點(diǎn)的作用范圍之內(nèi)。雖然根據(jù)本發(fā)明可備擇地或另外地實(shí)現(xiàn)排除列表,但是為了簡潔的目的,下面的描述把屏蔽技術(shù)描述為僅使用包含列表。要理解到根據(jù)本發(fā)明把每個(gè)節(jié)點(diǎn)編程成實(shí)現(xiàn)圖8-9c中所說明的方法。
參考圖8,說明了用于相對(duì)于在操作上連接到節(jié)點(diǎn)的多個(gè)目標(biāo)設(shè)備的每一個(gè)而最初建立屏蔽標(biāo)準(zhǔn)的方法。過程在步驟700處開始,在其中例如在系統(tǒng)引導(dǎo)時(shí)初始化系統(tǒng)或節(jié)點(diǎn)。在引導(dǎo)之前,無設(shè)備處于節(jié)點(diǎn)的作用范圍之內(nèi)。所述過程進(jìn)行到步驟710,在其中從存儲(chǔ)器中載入永久包含列表。接著,在步驟720處,根據(jù)永久包含列表而定義作用范圍控制列表。所述過程從步驟720進(jìn)行到步驟724,在其中節(jié)點(diǎn)存取訪問與該節(jié)點(diǎn)相關(guān)聯(lián)的下一條總線,在該情況中,該條總線是第1總線。然后所述過程進(jìn)行關(guān)于操作上耦合至所述總線的每個(gè)目標(biāo)設(shè)備的查詢。
在步驟730處,該節(jié)點(diǎn)獲得或載入與正被掃描的總線相關(guān)聯(lián)的下一目標(biāo)的地址。接著,相對(duì)于操作上連接到該節(jié)點(diǎn)的目標(biāo)設(shè)備而作出查詢(步驟740)。尤其是把可使用SCSI命令協(xié)議的查詢命令定址于正被掃描的總線的當(dāng)前目標(biāo)的邏輯單元0。每個(gè)目標(biāo)設(shè)備至少包括一個(gè)邏輯單元0,它能夠響應(yīng)諸如關(guān)于與目標(biāo)設(shè)備相關(guān)聯(lián)的其它LU的查詢之類的基本命令。接著,在步驟750處,把報(bào)告LUN的命令發(fā)送到正被掃描的當(dāng)前總線的當(dāng)前目標(biāo)設(shè)備的邏輯單元0。這致使邏輯單元0通過提供與該目標(biāo)相關(guān)聯(lián)的所有LU的列表而作出響應(yīng)。如果,由于某種原因,在步驟750處沒有提供響應(yīng)所述查詢的識(shí)別LU的報(bào)告,則所述節(jié)點(diǎn)可進(jìn)行對(duì)可能與目標(biāo)設(shè)備相關(guān)聯(lián)的所有可能的LUN的掃描。然后所述過程進(jìn)行到步驟760,在其中,所述節(jié)點(diǎn)高速緩存第1邏輯單元號(hào),用于相對(duì)于各自目標(biāo)設(shè)備的LU而進(jìn)行附加查詢。
在步驟770處,相對(duì)于高速緩存的與當(dāng)前目標(biāo)相關(guān)聯(lián)的LU而作出一般查詢。例如,該查詢可包括對(duì)關(guān)于LU所表示的設(shè)備的類型或配置的信息的請(qǐng)求(如什么是設(shè)備)。接著,在步驟780處,作出另一查詢,來獲得與LU所表示的設(shè)備相關(guān)聯(lián)的識(shí)別標(biāo)志或數(shù)據(jù),如它的序號(hào)。一旦以收集了用于識(shí)別設(shè)備的足夠信息,所述過程可繼續(xù)進(jìn)行到步驟790。
在步驟790處,作出關(guān)于所識(shí)別的LU是否處于節(jié)點(diǎn)的作用范圍(數(shù)據(jù)結(jié)構(gòu))之內(nèi)的判定。在該例子中,按照步驟720,由永久包含列表識(shí)別的設(shè)備來定義所述作用范圍。如果所述LU不處于節(jié)點(diǎn)的作用范圍之內(nèi),則所述過程前進(jìn)到步驟800,在其中把目標(biāo)設(shè)備的LU添加到全局,如通過將其識(shí)別標(biāo)志存儲(chǔ)于全局列表中??梢栽诓僮魃习雅c不處于所述作用范圍之內(nèi)的識(shí)別相關(guān)聯(lián)的標(biāo)志設(shè)置成邏輯“假”(如可見=假)。因?yàn)椋谠摾又?,“假”是默認(rèn)狀態(tài),則不需要明確地設(shè)置標(biāo)志。
然而,在步驟790處,如果所識(shí)別的LU處于節(jié)點(diǎn)的作用范圍之內(nèi),則所述過程進(jìn)行到步驟810,在其中把標(biāo)志設(shè)置成邏輯“真”(如可見=真)。所述過程從步驟810進(jìn)行到步驟820,在其中建立對(duì)應(yīng)的設(shè)備對(duì)象。例如,可通過使用專用接口或PNP控制來實(shí)現(xiàn)設(shè)備對(duì)象的建立。所述設(shè)備對(duì)象在操作上與當(dāng)前目標(biāo)的當(dāng)前LU相關(guān)聯(lián)。由于為設(shè)備建立了設(shè)備對(duì)象,在步驟840處,還把對(duì)應(yīng)于設(shè)備的識(shí)別數(shù)據(jù)添加到例示對(duì)象列表(見圖2a-2c)。然后,過程進(jìn)行到步驟800,在其中把設(shè)備的識(shí)別標(biāo)志添加到全局列表。然后過程進(jìn)行到步驟850。
在步驟850處,作出關(guān)于當(dāng)前目標(biāo)設(shè)備是否包括任何額外的LU的判定,對(duì)這些LU可作出查詢。如果存在額外的LU,則過程進(jìn)行到步驟860,在其中高速緩存該下一LUN。然后,所述過程返回到步驟770,為了下一LUN重復(fù)上述的步驟。在步驟850處,如果得到這樣的判定,即不存在額外的LU(如已處理了當(dāng)前目標(biāo)的所有LUN)則過程進(jìn)行到步驟870。在步驟870處,作出關(guān)于是否有與正被掃描的總線相關(guān)聯(lián)的任何額外的目標(biāo)設(shè)備。如果該判定是肯定的,指示出把額外目標(biāo)連接到總線,則所述過程返回到步驟730,在其中所述節(jié)點(diǎn)獲得連接到當(dāng)前總線的下一目標(biāo)設(shè)備的地址。然后對(duì)所述目標(biāo)設(shè)備的每個(gè)LU重復(fù)所述過程。
如果在步驟870處的判定是否定的,指示出無額外的目標(biāo)設(shè)備與所述總線相關(guān)聯(lián),則所述過程進(jìn)行到步驟880。在步驟880處,作出關(guān)于任何額外的總線連接是否在操作上與所述節(jié)點(diǎn)相關(guān)聯(lián)的判定。如果有還未掃描和處理的任一條總線,則所述過程返回到步驟724,在其中根據(jù)上述的過程掃描所存取訪問的下一條總線。如果在步驟880處所述判定是否定的,指示出已處理了連接到所述節(jié)點(diǎn)的所有總線,則所述過程進(jìn)行到步驟884。在步驟884中,載入對(duì)應(yīng)于每個(gè)設(shè)備對(duì)象的類驅(qū)動(dòng)器的較高層設(shè)備對(duì)象,并將其在操作上鏈接到在步驟820處建立的每個(gè)各自的設(shè)備對(duì)象。例如,這可以通過向PNP控制報(bào)告總線掃描的結(jié)果(如包括要屏蔽哪些設(shè)備)而實(shí)現(xiàn)。隨后,所述PNP控制向上層設(shè)備驅(qū)動(dòng)器發(fā)出命令,將它們附屬于各自新的設(shè)備對(duì)象,已選擇這些設(shè)備對(duì)象處于所述節(jié)點(diǎn)的作用范圍之內(nèi)。從步驟884,所述過程在步驟890處結(jié)束。通過實(shí)行這樣的方法,所述永久包含列表確定了每個(gè)設(shè)備是否處于初始的節(jié)點(diǎn)作用范圍內(nèi)。剩下的設(shè)備不處于節(jié)點(diǎn)的作用范圍之內(nèi),從而相對(duì)該節(jié)點(diǎn)而在功能上將它們隱藏。然而,在全局中包含了在操作上附屬的所有設(shè)備。要理解到,還可以使用排除列表,使得在該列表上識(shí)別的設(shè)備將處于節(jié)點(diǎn)的作用范圍之外,而所有其它的設(shè)備將處于節(jié)點(diǎn)的作用范圍之內(nèi)。
圖9a-9c是用例子說明用于程控地修改與節(jié)點(diǎn)相關(guān)聯(lián)的屏蔽標(biāo)準(zhǔn)的方法的流程圖。諸如關(guān)于圖2a-2c所揭示的那樣,這可以響應(yīng)使用所述“設(shè)置包含列表”接口。參考圖9a,在步驟950處,所述過程通過激活諸如這里所描述的“設(shè)置包含列表”接口之類的接口而開始。例如,該接口可以是諸如輸入/輸出控制之類的SCSI命令。當(dāng)使用接口時(shí),提供適當(dāng)?shù)呐渲脭?shù)據(jù)來識(shí)別相對(duì)于節(jié)點(diǎn)而屏蔽的設(shè)備以及是否對(duì)永久和/或臨時(shí)列表要作出改變。如上所述,可以諸如通過系統(tǒng)管理員之類而手動(dòng)地激活該接口,或者可通過高層應(yīng)用程序或智能代理而操作啟動(dòng)。
所述過程從步驟950進(jìn)行到步驟960,在其中根據(jù)所提供的接口特性來修改適當(dāng)?shù)陌斜?臨時(shí)的和/或永久的)。接著,在步驟970處,把新的包含列表存儲(chǔ)于適當(dāng)?shù)拇鎯?chǔ)器中,包括在步驟960處所提供的改變。作為例子,如果對(duì)永久包含列表作出改變,則把經(jīng)修訂的列表存儲(chǔ)于諸如系統(tǒng)寄存器之類的適當(dāng)?shù)姆且资源鎯?chǔ)器中。例如,把對(duì)臨時(shí)包含列表的改變存儲(chǔ)于易失性存儲(chǔ)器中,只要系統(tǒng)運(yùn)行或控制器保持啟動(dòng),它就仍然保持在位。然后,所述過程進(jìn)行到步驟980,在其中更新所述作用范圍控制列表,以對(duì)應(yīng)于對(duì)所述包含列表作出的改變。要理解到所述作用范圍控制列表可包含對(duì)應(yīng)于臨時(shí)或永久列表的對(duì)象,或可包括存儲(chǔ)于易失性存儲(chǔ)器中的兩種列表的工作副本。所述過程從步驟980進(jìn)行到步驟990,來實(shí)現(xiàn)對(duì)一個(gè)或多個(gè)設(shè)備的屏蔽,以響應(yīng)對(duì)所述作用范圍控制列表作出的修正。圖9b和9c是針對(duì)屏蔽技術(shù)(步驟990)的兩種可能實(shí)現(xiàn)。
圖9b描述了一般對(duì)應(yīng)于圖2b以及附加描述的屏蔽方法。由于屏蔽可對(duì)應(yīng)于相對(duì)所述節(jié)點(diǎn)或者暴露或者隱藏的經(jīng)選擇的設(shè)備,在啟動(dòng)屏蔽處理步驟990之后,第1步驟1000對(duì)應(yīng)于判定設(shè)備是否應(yīng)處于節(jié)點(diǎn)的作用范圍之內(nèi)。例如,這是根據(jù)經(jīng)修改的列表是包含列表(識(shí)別設(shè)備要處于節(jié)點(diǎn)的作用范圍之內(nèi))還是排除列表(識(shí)別要從節(jié)點(diǎn)的作用范圍排除設(shè)備)。所述判定還取決于是否已修正所述列表來包括額外的設(shè)備或刪除現(xiàn)存的設(shè)備。假設(shè)屏蔽數(shù)據(jù)指示出設(shè)備要處于節(jié)點(diǎn)的作用范圍之內(nèi),則過程進(jìn)行到步驟1010。
在步驟1010處,如上所述,在節(jié)點(diǎn)處為設(shè)備建立設(shè)備對(duì)象。接著,在步驟1020處,把與設(shè)備對(duì)象相關(guān)聯(lián)的標(biāo)志設(shè)置成邏輯“真”(如可見=真)。然后過程進(jìn)行到步驟1030,在其中修正例示對(duì)象的列表,以包括對(duì)應(yīng)于剛建立的設(shè)備對(duì)象(步驟1010)的設(shè)備的識(shí)別數(shù)據(jù)。所述過程從步驟1030進(jìn)行到步驟1050,以判定是否要屏蔽任何額外的設(shè)備。如果所述判定是肯定的,指示出額外的設(shè)備請(qǐng)求屏蔽,則過程進(jìn)行到步驟1060,以為要被屏蔽的下一設(shè)備獲得LU和/或其它識(shí)別數(shù)據(jù)。過程從步驟1060返回到步驟1000。
如果在步驟1000處,所述屏蔽數(shù)據(jù)指示出要從所述節(jié)點(diǎn)的作用范圍之內(nèi)排除所述設(shè)備,則所述過程進(jìn)行到步驟1070。在步驟1070處,除去對(duì)應(yīng)于正被屏蔽的設(shè)備的設(shè)備對(duì)象。例如,這可通過實(shí)現(xiàn)設(shè)備對(duì)象的除去的專用接口或PNP控制而實(shí)現(xiàn)。接著,在步驟1080處,可以把與設(shè)備對(duì)象相關(guān)聯(lián)的標(biāo)志設(shè)置成“假”(如可見=假)。然后過程進(jìn)行到步驟1090,在其中從例示對(duì)象的列表中除去所述設(shè)備對(duì)象。結(jié)果,相對(duì)所述節(jié)點(diǎn)而在功能上隱藏了所述設(shè)備。然后所述過程進(jìn)行到步驟1050,以判定是否要仍然有額外的屏蔽請(qǐng)求。如果在步驟1050處所述判定是否定的,則所述過程進(jìn)行到步驟1100,在其中載入類驅(qū)動(dòng)器,并將其在操作上鏈接到應(yīng)處于節(jié)點(diǎn)的作用范圍之內(nèi)的每個(gè)各自的設(shè)備對(duì)象。如上所述,諸如根據(jù)所述“可見”標(biāo)志條件,這可以通過例如響應(yīng)從PNP控制到上層驅(qū)動(dòng)器的命令,以附屬于適當(dāng)?shù)脑O(shè)備對(duì)象來實(shí)現(xiàn)。一旦載入類驅(qū)動(dòng)器,并將其鏈接到設(shè)備對(duì)象之后,該設(shè)備就處于節(jié)點(diǎn)的作用范圍之內(nèi)。從步驟1100,所述過程在步驟1110處結(jié)束。
圖9c說明了可根據(jù)本發(fā)明而實(shí)現(xiàn)的另一種屏蔽方法。該屏蔽方式一般對(duì)應(yīng)于圖2c所示和所描述的方法。過程在步驟990處開始,以響應(yīng)啟動(dòng)預(yù)定的屏蔽處理。然后,所述過程進(jìn)行到步驟1200,在其中作出關(guān)于所述屏蔽數(shù)據(jù)是否指示出正被屏蔽的設(shè)備要處于節(jié)點(diǎn)的作用范圍之內(nèi)的判定。當(dāng)分析顯示出該設(shè)備要處于所述節(jié)點(diǎn)的作用范圍之內(nèi)時(shí),所述過程進(jìn)行到步驟1210。
在步驟1210處,作出關(guān)于正被納入節(jié)點(diǎn)的作用范圍的設(shè)備是否是新設(shè)備(不是全局的一部分)的判定。這可通過檢查節(jié)點(diǎn)所保持的用于識(shí)別對(duì)應(yīng)于所述設(shè)備的數(shù)據(jù)的全局列表,或者通過檢查例示對(duì)象的列表來判定。要回想到,根據(jù)本發(fā)明的該方面,對(duì)象和其對(duì)應(yīng)的類驅(qū)動(dòng)器之間的鏈路被破壞或阻塞設(shè)備并且設(shè)備對(duì)象仍然存在,所述設(shè)備也不處于所述節(jié)點(diǎn)的作用范圍之內(nèi)。因此,為全局中的每個(gè)設(shè)備建立設(shè)備對(duì)象。如果在步驟1210處的判定是肯定的,指示出所述設(shè)備是最新加入的設(shè)備,則過程進(jìn)行到步驟1220。
步驟1220-1250實(shí)質(zhì)上與圖8b的步驟1010-1040等同。簡而言之,在步驟1220處,在節(jié)點(diǎn)處,諸如通過使用PNP或?qū)S媒涌谥惗鵀樵O(shè)備建立設(shè)備對(duì)象。然后,所述過程進(jìn)行到步驟1230,在其中把與所述設(shè)備對(duì)象相關(guān)聯(lián)的標(biāo)志設(shè)置為邏輯“真”(如可見=真)。接著,在步驟1240處,修正例示對(duì)象的列表,以包括正被添加的設(shè)備的識(shí)別數(shù)據(jù)。所述過程從步驟1240進(jìn)行到步驟1260,以判定是否額外的設(shè)備請(qǐng)求屏蔽。如果額外的設(shè)備確定請(qǐng)求屏蔽,則所述過程進(jìn)行到步驟1270,在其中載入與所述設(shè)備相關(guān)聯(lián)的下一LU或其它識(shí)別數(shù)據(jù)。
如果在步驟1210處的判定是否定的,指示出正被納入節(jié)點(diǎn)的作用范圍的設(shè)備不是最新加入到系統(tǒng)的設(shè)備,則過程進(jìn)行到步驟1280。在步驟1280處,載入與所述設(shè)備相關(guān)聯(lián)的現(xiàn)存的設(shè)備對(duì)象,并且把對(duì)應(yīng)的標(biāo)志設(shè)置成邏輯“真”(如可見=真)。然后過程進(jìn)行到步驟1290,在其中把設(shè)備對(duì)象鏈接到對(duì)應(yīng)的類驅(qū)動(dòng)器??捎蒔NP控制或由專用接口向上層類驅(qū)動(dòng)器發(fā)出適當(dāng)?shù)拿钜枣溄拥礁髯缘脑O(shè)備對(duì)象,來處理將設(shè)備對(duì)象鏈接到對(duì)應(yīng)的類驅(qū)動(dòng)器的這種功能方面。所述過程從步驟1290進(jìn)行到步驟1260,判定是否要屏蔽任何額外的設(shè)備。
返回步驟1200處,如果判定所述屏蔽數(shù)據(jù)指示出要從節(jié)點(diǎn)的作用范圍之內(nèi)除去所述設(shè)備,則所述過程進(jìn)行到步驟1300。在步驟1300處,把與所述設(shè)備對(duì)象相關(guān)聯(lián)的標(biāo)志設(shè)置為邏輯“假”(如可見=假)。然后所述過程進(jìn)行到步驟1310,在其中破壞所述設(shè)備對(duì)象與其對(duì)應(yīng)的類驅(qū)動(dòng)器之間的鏈路。例如,適當(dāng)?shù)慕涌诨騊NP控制可以把所述除去作為除去請(qǐng)求來處理。作為破壞鏈路的結(jié)果,從所述節(jié)點(diǎn)的作用范圍之內(nèi)有效地除去了該設(shè)備,使得阻塞了節(jié)點(diǎn)的控制器對(duì)該設(shè)備的存取訪問??梢圆捎妙~外的步驟,來卡斷直接引向類驅(qū)動(dòng)器的任何通信通路,使得阻塞節(jié)點(diǎn)與設(shè)備之間的通信通路。所述過程從步驟1310進(jìn)行到步驟1260,如上所述,根據(jù)圖9c的方法來判定是否額外的設(shè)備請(qǐng)求屏蔽。如果沒有請(qǐng)求額外的屏蔽,則所述過程進(jìn)行到步驟1320,在其中載入類驅(qū)動(dòng)器,并將其操作上鏈接到要處于所述節(jié)點(diǎn)的作用范圍之內(nèi)的每個(gè)各自的設(shè)備對(duì)象(如根據(jù)可見=真)。所述過程從步驟1320進(jìn)行到步驟1330,在其中所述過程結(jié)束。
雖然已把圖9b和9c的方法作為分開的屏蔽方法來描述,但是要理解到,由于一種類型的屏蔽可能有助于比另一種更合乎需要,可把給定的節(jié)點(diǎn)編程或配置成實(shí)現(xiàn)兩種類型的屏蔽。而且,還可以連同這里所述描述的程控屏蔽一起使用基于硬件的LUN屏蔽,諸如在操作上連接到一個(gè)或多個(gè)節(jié)點(diǎn)的SAN環(huán)境。根據(jù)本發(fā)明,即使硬件配置也許不能,但是進(jìn)行LUN屏蔽的程控方法使給定節(jié)點(diǎn)能夠有效地且動(dòng)態(tài)地屏蔽相對(duì)于一個(gè)或多個(gè)相關(guān)設(shè)備的存取訪問。而且,程控屏蔽方法使配置改變能在節(jié)點(diǎn)中動(dòng)態(tài)地發(fā)生,而不用請(qǐng)求重啟。結(jié)果,多重互連的主機(jī)能夠程控地交換存儲(chǔ)單元或其它共享設(shè)備。
上面已經(jīng)描述的是本發(fā)明的例子。當(dāng)然,不可能描述每種可想得到的組成和方法的組合來描述本發(fā)明,但是本領(lǐng)域的普通技術(shù)人員將認(rèn)識(shí)到本發(fā)明的許多進(jìn)一步的組合和改變是可能的。因此,打算使本發(fā)明包含與附加權(quán)利要求的要旨和范圍相一致的所有這樣的改變、修正和變型。
工業(yè)實(shí)用性本發(fā)明在計(jì)算機(jī)科學(xué)領(lǐng)域中具有工業(yè)實(shí)用性。
權(quán)利要求
1.一種系統(tǒng),其特征在于包括包括多個(gè)存儲(chǔ)單元的共享存儲(chǔ)系統(tǒng);操作上連接到所述共享存儲(chǔ)系統(tǒng)的節(jié)點(diǎn),把該節(jié)點(diǎn)編程成識(shí)別在操作上連接到所述節(jié)點(diǎn)的每個(gè)存儲(chǔ)單元,并屏蔽所述節(jié)點(diǎn)對(duì)至少一個(gè)所述存儲(chǔ)單元的存取訪問。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于所述節(jié)點(diǎn)進(jìn)一步包括可編程的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)識(shí)別所述共享存儲(chǔ)系統(tǒng)的存儲(chǔ)單元是否要處于所述節(jié)點(diǎn)的作用范圍之內(nèi),所述節(jié)點(diǎn)根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而屏蔽對(duì)存儲(chǔ)單元的存取訪問。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于所述可編程的數(shù)據(jù)結(jié)構(gòu)至少包括對(duì)應(yīng)于可編程的永久數(shù)據(jù)的一部分。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于所述可編程的數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括對(duì)應(yīng)于可編程的臨時(shí)數(shù)據(jù)的另一部分。
5.如權(quán)利要求2所述的系統(tǒng),其特征在于根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu),把所述節(jié)點(diǎn)進(jìn)一步編程成建立和除去節(jié)點(diǎn)中的程控鏈路中的至少一個(gè),該鏈路提供所述節(jié)點(diǎn)和存儲(chǔ)單元之間的通信信道。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于所述程控鏈路包括與所述節(jié)點(diǎn)和對(duì)應(yīng)的存儲(chǔ)單元相關(guān)聯(lián)的設(shè)備對(duì)象,根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而例示所述設(shè)備對(duì)象。
7.如權(quán)利要求5所述的系統(tǒng),其特征在于所述程控鏈路包括可編程的連接,該連接在操作上與所述節(jié)點(diǎn)相關(guān)聯(lián)的設(shè)備對(duì)象與操作上與所述存儲(chǔ)單元之一相關(guān)聯(lián)的較高層設(shè)備對(duì)象之間提供通信通路,根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而屏蔽所述通信通路。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于所述節(jié)點(diǎn)進(jìn)一步包括可編程的臨時(shí)數(shù)據(jù)結(jié)構(gòu)和可編程的永久數(shù)據(jù)結(jié)構(gòu)中的至少一個(gè),它識(shí)別所述節(jié)點(diǎn)的屏蔽標(biāo)準(zhǔn)。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于所述共享存儲(chǔ)系統(tǒng)進(jìn)一步包括操作上將所述節(jié)點(diǎn)連接到多個(gè)存儲(chǔ)單元的存儲(chǔ)區(qū)域網(wǎng)絡(luò)。
10.一種系統(tǒng),其特征在于包括多個(gè)設(shè)備;以及將所述多個(gè)設(shè)備的每一個(gè)連接到多個(gè)節(jié)點(diǎn)的每一個(gè)的至少一條總線;其中把所述多個(gè)節(jié)點(diǎn)的每一個(gè)編程成識(shí)別所述多個(gè)設(shè)備的每一個(gè),所述多個(gè)節(jié)點(diǎn)的每一個(gè)具有可編程的數(shù)據(jù)結(jié)構(gòu),并是可編程的,以根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而屏蔽所述節(jié)點(diǎn)對(duì)所述多個(gè)設(shè)備的至少一個(gè)的存取訪問。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于對(duì)應(yīng)節(jié)點(diǎn)的所述可編程的數(shù)據(jù)結(jié)構(gòu)識(shí)別所述多個(gè)設(shè)備的每一個(gè)是否要處于所述對(duì)應(yīng)節(jié)點(diǎn)的作用范圍之內(nèi),所述對(duì)應(yīng)的節(jié)點(diǎn)根據(jù)與其相關(guān)聯(lián)的所述可編程的數(shù)據(jù)結(jié)構(gòu)而屏蔽對(duì)設(shè)備的存取訪問。
12.如權(quán)利要求11所述的系統(tǒng),其特征在于所述對(duì)應(yīng)節(jié)點(diǎn)的可編程數(shù)據(jù)結(jié)構(gòu)包括可編程的永久數(shù)據(jù),識(shí)別要相對(duì)于所述對(duì)應(yīng)節(jié)點(diǎn)而屏蔽的至少一個(gè)設(shè)備。
13.如權(quán)利要求11所述的系統(tǒng),其特征在于所述對(duì)應(yīng)節(jié)點(diǎn)的可編程的數(shù)據(jù)結(jié)構(gòu)包括可編程的臨時(shí)數(shù)據(jù),識(shí)別要相對(duì)于所述對(duì)應(yīng)節(jié)點(diǎn)而屏蔽的至少一個(gè)設(shè)備。
14.如權(quán)利要求11所述的系統(tǒng),其特征在于所述對(duì)應(yīng)節(jié)點(diǎn)的可編程的數(shù)據(jù)結(jié)構(gòu)包括可編程的永久數(shù)據(jù)和可編程的臨時(shí)數(shù)據(jù),識(shí)別要相對(duì)于所述對(duì)應(yīng)節(jié)點(diǎn)而屏蔽的設(shè)備。
15.如權(quán)利要求11所述的系統(tǒng),其特征在于把所述多個(gè)節(jié)點(diǎn)的每一個(gè)進(jìn)一步編程成根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而在所述對(duì)應(yīng)的節(jié)點(diǎn)中添加和除去可編程的鏈路中的至少一個(gè),所述可編程的鏈路在所述對(duì)應(yīng)節(jié)點(diǎn)和所述多個(gè)設(shè)備之一之間提供通信信道。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于所述可編程鏈路包括與所述對(duì)應(yīng)節(jié)點(diǎn)和對(duì)應(yīng)的所述多個(gè)設(shè)備之一相關(guān)聯(lián)的設(shè)備對(duì)象,根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而例示所述設(shè)備對(duì)象。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于所述可編程的鏈路包括在操作上與所述對(duì)應(yīng)節(jié)點(diǎn)相關(guān)聯(lián)的設(shè)備對(duì)象與操作上與所述多個(gè)設(shè)備之一相關(guān)聯(lián)的較高層設(shè)備對(duì)象之間的可編程通信通路,根據(jù)所述對(duì)應(yīng)節(jié)點(diǎn)的可編程的數(shù)據(jù)結(jié)構(gòu)而屏蔽所述通信通路。
18.如權(quán)利要求10所述的系統(tǒng),其特征在于所述節(jié)點(diǎn)進(jìn)一步包括可編程的臨時(shí)數(shù)據(jù)結(jié)構(gòu)和可編程的永久數(shù)據(jù)結(jié)構(gòu)中的至少一個(gè),它識(shí)別所述節(jié)點(diǎn)的屏蔽標(biāo)準(zhǔn)。
19.如權(quán)利要求10所述的系統(tǒng),其特征在于所述多個(gè)設(shè)備的至少一些是操作上通過存儲(chǔ)區(qū)域網(wǎng)絡(luò)而與所述節(jié)點(diǎn)連接的共享存儲(chǔ)系統(tǒng)的存儲(chǔ)單元。
20.一種用于管理對(duì)共享存儲(chǔ)系統(tǒng)中的多個(gè)存儲(chǔ)單元的存取訪問的系統(tǒng),其特征在于包括操作上可連接到所述多個(gè)存儲(chǔ)單元的節(jié)點(diǎn),所述節(jié)點(diǎn)具有指示出是否要相對(duì)所述節(jié)點(diǎn)而屏蔽所述多個(gè)存儲(chǔ)單元的每一個(gè)的可編程的數(shù)據(jù)結(jié)構(gòu);以及接口,用于有選擇地修改所述可編程的數(shù)據(jù)結(jié)構(gòu),以響應(yīng)相對(duì)于所述多個(gè)存儲(chǔ)單元的至少一個(gè)而屏蔽所述節(jié)點(diǎn)的存取訪問的程序指令。
21.如權(quán)利要求20所述的系統(tǒng),其特征在于所述節(jié)點(diǎn)的可編程的數(shù)據(jù)結(jié)構(gòu)包括可編程的永久數(shù)據(jù),識(shí)別要相對(duì)于所述節(jié)點(diǎn)而要屏蔽的所述多個(gè)存儲(chǔ)單元的至少一個(gè)。
22.如權(quán)利要求20所述的系統(tǒng),其特征在于所述節(jié)點(diǎn)的可編程的數(shù)據(jù)結(jié)構(gòu)包括可編程的臨時(shí)數(shù)據(jù),識(shí)別要相對(duì)于所述節(jié)點(diǎn)而要屏蔽的所述多個(gè)存儲(chǔ)單元的至少一個(gè)。
23.如權(quán)利要求20所述的系統(tǒng),其特征在于所述節(jié)點(diǎn)的可編程數(shù)據(jù)結(jié)構(gòu)包括可編程的永久數(shù)據(jù)和可編程的臨時(shí)數(shù)據(jù),識(shí)別要相對(duì)于所述節(jié)點(diǎn)而屏蔽的存儲(chǔ)單元。
24.如權(quán)利要求20所述的系統(tǒng),其特征在于把所述節(jié)點(diǎn)進(jìn)一步編程成添加和除去可編程的鏈路的至少一個(gè)以響應(yīng)所述可編程的數(shù)據(jù)結(jié)構(gòu)中的改變,所述可編程的鏈路在所述節(jié)點(diǎn)和對(duì)應(yīng)的存儲(chǔ)單元之間提供通信信道。
25.如權(quán)利要求24所述的系統(tǒng),其特征在于所述可編程鏈路包括與所述節(jié)點(diǎn)和所述對(duì)應(yīng)的存儲(chǔ)單元相關(guān)聯(lián)的設(shè)備對(duì)象,根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而例示所述設(shè)備對(duì)象。
26.如權(quán)利要求24所述的系統(tǒng),其特征在于所述可編程的鏈路包括在操作上與所述節(jié)點(diǎn)相關(guān)聯(lián)的設(shè)備對(duì)象與操作上與所述對(duì)應(yīng)的存儲(chǔ)單元相關(guān)聯(lián)的較高層對(duì)象之間的可編程通信通路,所述通信通路隨所述可編程的數(shù)據(jù)結(jié)構(gòu)而變化。
27.一種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在所述計(jì)算機(jī)可執(zhí)行指令用于執(zhí)行下面的步驟識(shí)別操作上連接到節(jié)點(diǎn)的存儲(chǔ)單元;屏蔽所述節(jié)點(diǎn)相對(duì)于至少一個(gè)程控選擇的存儲(chǔ)單元的存取訪問。
28.一種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在所述計(jì)算機(jī)可執(zhí)行指令用于執(zhí)行下面的步驟識(shí)別操作上連接到節(jié)點(diǎn)的存儲(chǔ)單元;在所述節(jié)點(diǎn)處建立可編程的數(shù)據(jù)結(jié)構(gòu),指示出經(jīng)選擇的存儲(chǔ)單元;以及根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而屏蔽所述節(jié)點(diǎn)相對(duì)于至少一個(gè)存儲(chǔ)單元的存取訪問。
29.如權(quán)利要求28所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于具有進(jìn)一步的計(jì)算機(jī)可執(zhí)行的指令,用于執(zhí)行將識(shí)別要相對(duì)于所述節(jié)點(diǎn)而屏蔽的多個(gè)存儲(chǔ)單元的至少一個(gè)的數(shù)據(jù)存儲(chǔ)于所述節(jié)點(diǎn)的永久存儲(chǔ)器中的步驟。
30.如權(quán)利要求29所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于具有進(jìn)一步的計(jì)算機(jī)可執(zhí)行的指令,用于執(zhí)行將識(shí)別要相對(duì)于所述節(jié)點(diǎn)而屏蔽的多個(gè)存儲(chǔ)單元的至少一個(gè)的數(shù)據(jù)存儲(chǔ)于所述節(jié)點(diǎn)的臨時(shí)存儲(chǔ)器中的步驟。
31.如權(quán)利要求30所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于具有進(jìn)一步的計(jì)算機(jī)可執(zhí)行的指令,用于執(zhí)行根據(jù)存儲(chǔ)于所述永久存儲(chǔ)器和所述臨時(shí)存儲(chǔ)器的至少一個(gè)中的數(shù)據(jù)而定義所述可編程的數(shù)據(jù)結(jié)構(gòu)的步驟。
32.如權(quán)利要求28所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于具有進(jìn)一步的計(jì)算機(jī)可執(zhí)行的指令,用于執(zhí)行將識(shí)別要相對(duì)于所述節(jié)點(diǎn)而屏蔽的多個(gè)存儲(chǔ)單元的至少一個(gè)的數(shù)據(jù)存儲(chǔ)于所述節(jié)點(diǎn)的永久存儲(chǔ)器中,以及根據(jù)存儲(chǔ)于所述永久存儲(chǔ)器中的數(shù)據(jù)而定義所述可編程的數(shù)據(jù)結(jié)構(gòu)的步驟。
33.如權(quán)利要求28所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于具有進(jìn)一步的計(jì)算機(jī)可執(zhí)行的指令,用于響應(yīng)所述可編程的數(shù)據(jù)結(jié)構(gòu)中的改變而執(zhí)行添加或除去所述節(jié)點(diǎn)和對(duì)應(yīng)的所述存儲(chǔ)單元之一之間的可編程的鏈路的步驟。
34.如權(quán)利要求33所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于所述可編程的鏈路包括與所述節(jié)點(diǎn)和對(duì)應(yīng)的所述多個(gè)存儲(chǔ)單元之一相關(guān)聯(lián)的設(shè)備對(duì)象,所述計(jì)算機(jī)可讀存儲(chǔ)媒體具有進(jìn)一步的計(jì)算機(jī)可執(zhí)行的指令,用于執(zhí)行根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而例示所述設(shè)備對(duì)象的步驟。
35.如權(quán)利要求28所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其特征在于所述可編程的鏈路包括在操作上與所述節(jié)點(diǎn)相關(guān)聯(lián)的設(shè)備對(duì)象與操作上與所述存儲(chǔ)單元之一相關(guān)聯(lián)的較高層設(shè)備對(duì)象之間的可編程通信通路,所述計(jì)算機(jī)可讀存儲(chǔ)媒體具有進(jìn)一步的計(jì)算機(jī)可執(zhí)行的指令,用于響應(yīng)所述可編程的數(shù)據(jù)結(jié)構(gòu)中的改變而執(zhí)行添加或除去所述通信通路的步驟。
36.一種管理多個(gè)計(jì)算機(jī)對(duì)多個(gè)共享存儲(chǔ)單元的存取訪問的方法,其特征在于包括下列步驟程控地識(shí)別所述多個(gè)存儲(chǔ)單元;程控地屏蔽所述多個(gè)計(jì)算機(jī)的至少一個(gè)對(duì)所述多個(gè)存儲(chǔ)單元的至少一個(gè)的存取訪問。
37.如權(quán)利要求36所述的方法,其特征在于進(jìn)一步包括在所述至少一個(gè)計(jì)算機(jī)上存儲(chǔ)可編程的數(shù)據(jù)結(jié)構(gòu),指示出是否要相對(duì)于所述至少一個(gè)計(jì)算機(jī)而屏蔽存儲(chǔ)單元的屏蔽標(biāo)準(zhǔn)的步驟,根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而進(jìn)行所述程控地屏蔽步驟。
38.如權(quán)利要求37所述的方法,其特征在于進(jìn)一步包括在所述至少一個(gè)計(jì)算機(jī)的永久存儲(chǔ)器中存儲(chǔ)識(shí)別要相對(duì)于所述至少一個(gè)計(jì)算機(jī)而屏蔽的所述多個(gè)存儲(chǔ)單元的至少一個(gè)的數(shù)據(jù)的步驟。
39.如權(quán)利要求38所述的方法,其特征在于進(jìn)一步包括在所述至少一個(gè)計(jì)算機(jī)的臨時(shí)存儲(chǔ)器中存儲(chǔ)識(shí)別要相對(duì)于所述至少一個(gè)計(jì)算機(jī)而屏蔽的所述多個(gè)存儲(chǔ)單元的至少一個(gè)的數(shù)據(jù)的步驟。
40.如權(quán)利要求39所述的方法,其特征在于進(jìn)一步包括根據(jù)存儲(chǔ)于所述永久存儲(chǔ)器和所述臨時(shí)存儲(chǔ)器的至少一個(gè)中的數(shù)據(jù)來定義所述可編程的數(shù)據(jù)結(jié)構(gòu)的步驟。
41.如權(quán)利要求37所述的方法,其特征在于進(jìn)一步包括在所述至少一個(gè)計(jì)算機(jī)中存儲(chǔ)永久和臨時(shí)數(shù)據(jù)的至少一個(gè)的步驟,該數(shù)據(jù)識(shí)別要相對(duì)于所述至少一個(gè)計(jì)算機(jī)而屏蔽的所述多個(gè)存儲(chǔ)單元的至少一個(gè),以及根據(jù)所述永久和臨時(shí)數(shù)據(jù)的至少一個(gè)來定義所述可編程的數(shù)據(jù)結(jié)構(gòu)的步驟。
42.如權(quán)利要求37所述的方法,其特征在于進(jìn)一步包括在所述至少一個(gè)計(jì)算機(jī)上添加或除去可編程的鏈路的步驟,該鏈路提供所述至少一個(gè)計(jì)算機(jī)與對(duì)應(yīng)的存儲(chǔ)單元之間的通信信道,以響應(yīng)所述可編程的數(shù)據(jù)結(jié)構(gòu)中的改變。
43.如權(quán)利要求42所述的方法,其特征在于所述可編程的鏈路包括與所述至少一個(gè)計(jì)算機(jī)和對(duì)應(yīng)的所述多個(gè)存儲(chǔ)單元之一相關(guān)聯(lián)的設(shè)備對(duì)象,所述方法進(jìn)一步包括根據(jù)所述可編程的數(shù)據(jù)結(jié)構(gòu)而在所述至少一個(gè)計(jì)算機(jī)上例示所述設(shè)備對(duì)象的步驟。
44.如權(quán)利要求42所述的方法,其特征在于所述可編程的鏈路包括在操作上與所述至少一個(gè)計(jì)算機(jī)相關(guān)聯(lián)的設(shè)備對(duì)象與操作上與所述存儲(chǔ)單元之一相關(guān)聯(lián)的較高層設(shè)備對(duì)象之間的可編程通信通路,所述方法進(jìn)一步包括響應(yīng)所述可編程的數(shù)據(jù)結(jié)構(gòu)中的改變而添加或除去所述通信通路的步驟。
全文摘要
描述了一種系統(tǒng)和方法,來程控地管理一個(gè)或多個(gè)節(jié)點(diǎn)(12)與諸如共享存儲(chǔ)單元之類的多個(gè)相關(guān)設(shè)備(16、18、20、22)之間的存取訪問。把每個(gè)節(jié)點(diǎn)(12)編程成包括數(shù)據(jù)結(jié)構(gòu)(40、46),它識(shí)別相關(guān)設(shè)備(16、18、20、22)是否要處于各自節(jié)點(diǎn)(12)的作用范圍之內(nèi)。所述數(shù)據(jù)結(jié)構(gòu)(40、46)可包括永久和/或臨時(shí)列表(48、50)??梢酝ㄟ^動(dòng)態(tài)地修改所述節(jié)點(diǎn)(12)的數(shù)據(jù)結(jié)構(gòu)(40、46),如通過使用預(yù)定的接口(60、70、80、90),來相對(duì)所述節(jié)點(diǎn)(12)而程控地屏蔽每個(gè)設(shè)備(16、18、20、22)。
文檔編號(hào)G06F3/06GK1430747SQ01810142
公開日2003年7月16日 申請(qǐng)日期2001年2月2日 優(yōu)先權(quán)日2000年4月20日
發(fā)明者P·韋蘭 申請(qǐng)人:微軟公司