專利名稱:自動(dòng)數(shù)據(jù)存儲(chǔ)庫、及其虛擬化系統(tǒng)和虛擬化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在貯存架中貯存便攜式數(shù)據(jù)存儲(chǔ)盒(storage cartridge)并且在貯存架與數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送便攜式數(shù)據(jù)存儲(chǔ)盒的自動(dòng)數(shù)據(jù)存儲(chǔ)庫的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,用于在數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝和卸載便攜式數(shù)據(jù)存儲(chǔ)盒,特別涉及這些數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器相對(duì)于與存儲(chǔ)庫通信的主機(jī)應(yīng)用的分配以及這些數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的虛擬化。
背景技術(shù):
自動(dòng)數(shù)據(jù)存儲(chǔ)庫日益用于存儲(chǔ)大量數(shù)據(jù),典型地是不被主機(jī)應(yīng)用頻繁訪問的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)在便攜式數(shù)據(jù)存儲(chǔ)盒上,其中便攜式數(shù)據(jù)存儲(chǔ)盒貯存在貯存架中。便攜式數(shù)據(jù)存儲(chǔ)盒的例子是容納一段磁帶或容納光盤的存儲(chǔ)盒。
當(dāng)數(shù)據(jù)被存儲(chǔ)庫訪問時(shí),通過存儲(chǔ)庫的自動(dòng)機(jī)械控制來操作的存取器自動(dòng)機(jī)械(accessor robot)從貯存所需便攜式數(shù)據(jù)存儲(chǔ)盒的貯存架夾取(grip)該存儲(chǔ)盒,并且在貯存架與數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送便攜式數(shù)據(jù)存儲(chǔ)盒,以在數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝和卸載便攜式數(shù)據(jù)存儲(chǔ)盒,并且將便攜式數(shù)據(jù)存儲(chǔ)盒返回到相同或不同貯存架。
自動(dòng)數(shù)據(jù)存儲(chǔ)庫有時(shí)安排成即使存在多個(gè)主機(jī)應(yīng)用,存儲(chǔ)庫及其數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器對(duì)于每個(gè)主機(jī)應(yīng)用看上去就像是其自己的存儲(chǔ)庫和驅(qū)動(dòng)器一樣。在一個(gè)例子中,存儲(chǔ)庫的一組特定貯存架和至少一個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用于每個(gè)主機(jī)應(yīng)用。當(dāng)存在來自主機(jī)應(yīng)用的數(shù)據(jù)請(qǐng)求時(shí),具有請(qǐng)求數(shù)據(jù)的便攜式數(shù)據(jù)存儲(chǔ)盒被存儲(chǔ)庫的存取器自動(dòng)機(jī)械訪問,并且傳送到專用于主機(jī)應(yīng)用的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器以由主機(jī)應(yīng)用使用。這樣,主機(jī)應(yīng)用可以對(duì)已知的驅(qū)動(dòng)器執(zhí)行一系列安裝。從主機(jī)的角度來看,這是非常高效的,因?yàn)槠潋?qū)動(dòng)器總是可用,并且驅(qū)動(dòng)器尋址是直接和立即的。存儲(chǔ)庫也可以看來像是被直接分配給主機(jī)應(yīng)用,但是存取器自動(dòng)機(jī)械實(shí)際上是共享的。從驅(qū)動(dòng)器使用的角度來看,這是低效的,因?yàn)槿绻恳粋€(gè)主機(jī)應(yīng)用不是一直使用其專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,則驅(qū)動(dòng)器經(jīng)常是空閑的。由于驅(qū)動(dòng)器分配給不同主機(jī)應(yīng)用,因此任何特別有效的主機(jī)應(yīng)用不能從另一個(gè)主機(jī)應(yīng)用“借用”驅(qū)動(dòng)器,并且例如如果所有被分配驅(qū)動(dòng)器得到利用并且需要不同存儲(chǔ)盒上的數(shù)據(jù),則主機(jī)應(yīng)用可能必須等待直到主機(jī)應(yīng)用本身卸載一個(gè)存儲(chǔ)盒或者釋放其驅(qū)動(dòng)器,從而訪問其他存儲(chǔ)盒上的數(shù)據(jù)。從另一個(gè)主機(jī)應(yīng)用“借用”驅(qū)動(dòng)器無論如何都需要至少重新配置用于這兩個(gè)主機(jī)應(yīng)用的設(shè)備驅(qū)動(dòng)程序。如果主機(jī)應(yīng)用的需求增長,在不重新配置至少主機(jī)應(yīng)用的情況下,新驅(qū)動(dòng)器不能分配給該主機(jī)應(yīng)用。
在另一個(gè)例子中,主機(jī)應(yīng)用不允許與數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器直接通信。相反,建立“虛擬”存儲(chǔ)庫,它采用高速緩沖存儲(chǔ)器(典型地是盤驅(qū)動(dòng)器)來存儲(chǔ)從主機(jī)應(yīng)用接收的數(shù)據(jù),表現(xiàn)起來就像是高速緩沖存儲(chǔ)器是數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器并且正在將數(shù)據(jù)寫入到便攜式數(shù)據(jù)存儲(chǔ)盒一樣。數(shù)據(jù)在高速緩沖存儲(chǔ)器中的時(shí)候可以被重新訪問,這稱作“高速緩沖存儲(chǔ)器命中(hit)”。如果不被重新訪問,則存儲(chǔ)庫采用由存儲(chǔ)庫選擇的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器將數(shù)據(jù)從高速緩沖存儲(chǔ)器下載到存儲(chǔ)盒。當(dāng)主機(jī)應(yīng)用請(qǐng)求數(shù)據(jù)時(shí),并且該數(shù)據(jù)不在高速緩沖存儲(chǔ)器中時(shí),這稱作“高速緩沖存儲(chǔ)器未命中(miss)”,存儲(chǔ)庫采用表來查找存儲(chǔ)數(shù)據(jù)的存儲(chǔ)盒,操作存取器自動(dòng)機(jī)械來訪問存儲(chǔ)盒,查找可用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,操作存取器自動(dòng)機(jī)械來在驅(qū)動(dòng)器上安裝存儲(chǔ)盒,從存儲(chǔ)盒中讀取數(shù)據(jù),并且將數(shù)據(jù)上載到高速緩沖存儲(chǔ)器。從存儲(chǔ)庫的角度來看,使用存儲(chǔ)庫組件是高效的。然而,高速緩沖存儲(chǔ)器是昂貴的,并且增加成本和復(fù)雜性。高速緩沖存儲(chǔ)器必須足夠大以處理大數(shù)據(jù)集,并且必須具有良好的升級(jí)(staging)和降級(jí)(destaging)算法以避免過量的“高速緩沖存儲(chǔ)器未命中”情形。主機(jī)應(yīng)用與高速緩沖存儲(chǔ)器通信而不是與驅(qū)動(dòng)器直接通信,并且任何主機(jī)應(yīng)用可以競(jìng)爭(zhēng)使用共享組件,從而導(dǎo)致較不可預(yù)測(cè)的性能。如果驅(qū)動(dòng)器失敗并且需要更換,則主機(jī)應(yīng)用可能不能從異常情況恢復(fù),尤其是沒有任何其他驅(qū)動(dòng)器可用的情況。如果驅(qū)動(dòng)器在所有其他方面都是同類的,則有可能可以將重新配置限于改變序列號(hào)。對(duì)于異類驅(qū)動(dòng)器(具有至少一個(gè)不同特征的驅(qū)動(dòng)器),在不作較大重新配置來適應(yīng)不同特征的情況下,禁止其升級(jí)、交換或共享。通過在不同主機(jī)處理器之間分區(qū)的主機(jī)應(yīng)用,可以提供受限驅(qū)動(dòng)器共享,但是分區(qū)必須不斷地相互通知它們對(duì)驅(qū)動(dòng)器的使用,從而保持同步,并且不允許主機(jī)應(yīng)用之外的共享。
發(fā)明內(nèi)容
本發(fā)明的本實(shí)施例的一個(gè)目的是提供一種以高效方式采用共享組件的自動(dòng)數(shù)據(jù)存儲(chǔ)庫系統(tǒng)。
本發(fā)明實(shí)施例的另一個(gè)目的是在不需要重新配置主機(jī)應(yīng)用或存儲(chǔ)庫的情況下,允許擴(kuò)展主機(jī)應(yīng)用或存儲(chǔ)庫來獲得附加驅(qū)動(dòng)器的好處。
一種分配系統(tǒng)和計(jì)算機(jī)實(shí)現(xiàn)方法,被提供用于分配自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。存儲(chǔ)庫在貯存架上貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,并且存取器自動(dòng)機(jī)械在貯存架與數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送便攜式數(shù)據(jù)存儲(chǔ)盒,以在數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝和卸載便攜式數(shù)據(jù)存儲(chǔ)盒。
分配系統(tǒng)包括響應(yīng)例如來自主機(jī)應(yīng)用的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器請(qǐng)求而耦合到存儲(chǔ)庫(或其上的)驅(qū)動(dòng)器資源提供器。根據(jù)共同未決的′00038-US1申請(qǐng),驅(qū)動(dòng)器資源提供器將多個(gè)存儲(chǔ)庫物理數(shù)據(jù)存儲(chǔ)器驅(qū)動(dòng)器分配給驅(qū)動(dòng)器池,并且為有益于主機(jī)應(yīng)用而從驅(qū)動(dòng)器池分配和釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。
根據(jù)本發(fā)明,當(dāng)在驅(qū)動(dòng)器池的所有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器均被分配的情況下接收到數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器請(qǐng)求時(shí),驅(qū)動(dòng)器資源提供器向存儲(chǔ)庫指示暫停(hold)任何關(guān)于該請(qǐng)求的便攜式數(shù)據(jù)存儲(chǔ)盒的安裝。另外,當(dāng)在所有驅(qū)動(dòng)器均被分配的情況下接收到請(qǐng)求時(shí),驅(qū)動(dòng)器映像提供器提供被請(qǐng)求驅(qū)動(dòng)器當(dāng)前不可用于完成需要已安裝便攜式數(shù)據(jù)存儲(chǔ)盒的任何隨后命令的指示。如共同未決的′00038-US1申請(qǐng)所述,響應(yīng)可以包括在此稱作“未就緒”的偽完成響應(yīng)。因此,主機(jī)應(yīng)用被保證它具有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且如果需要,可以重試或發(fā)出其下一個(gè)關(guān)于驅(qū)動(dòng)器的命令。如果下一個(gè)命令不要求驅(qū)動(dòng)器就緒或者便攜式數(shù)據(jù)存儲(chǔ)盒被安裝且就緒,則存儲(chǔ)庫可能能夠立即處理命令。
在提供指示之后,驅(qū)動(dòng)器資源提供器等待釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器和在所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒的請(qǐng)求,并且將所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配給驅(qū)動(dòng)器請(qǐng)求,并且向存儲(chǔ)庫指示解除暫停關(guān)于請(qǐng)求的安裝。
另外,驅(qū)動(dòng)器資源提供器在驅(qū)動(dòng)器池之外分配多個(gè)存儲(chǔ)庫數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器至少之一作為備用驅(qū)動(dòng)器。因而,在提供指示之后,驅(qū)動(dòng)器資源提供器將至少一個(gè)備用驅(qū)動(dòng)器之一分配給該請(qǐng)求,并且向存儲(chǔ)庫指示解除暫停關(guān)于請(qǐng)求的安裝。
在一個(gè)可選實(shí)施例中,驅(qū)動(dòng)器資源提供器等待預(yù)定時(shí)間段,并且如果在預(yù)定時(shí)間段內(nèi)出現(xiàn)釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器和在所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒的請(qǐng)求,則將所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配給該請(qǐng)求;否則,在該時(shí)間段結(jié)束之后,驅(qū)動(dòng)器資源提供器將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配給該請(qǐng)求。
作為另一個(gè)實(shí)施例,存儲(chǔ)庫包括多個(gè)虛擬存儲(chǔ)庫,并且多個(gè)虛擬存儲(chǔ)庫至少之一具有比其他虛擬存儲(chǔ)庫更高的優(yōu)先級(jí)。驅(qū)動(dòng)器資源提供器確定虛擬驅(qū)動(dòng)器請(qǐng)求的虛擬存儲(chǔ)庫的優(yōu)先級(jí),并且如果虛擬存儲(chǔ)庫具有較高優(yōu)先級(jí),則響應(yīng)該請(qǐng)求分配備用驅(qū)動(dòng)器,并且向存儲(chǔ)庫指示解除暫停關(guān)于請(qǐng)求的安裝。
在另一個(gè)實(shí)施例中,備用驅(qū)動(dòng)器使用受到限制。當(dāng)驅(qū)動(dòng)器池的所有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器均被分配時(shí),每次接收到請(qǐng)求時(shí),驅(qū)動(dòng)器資源提供器增加計(jì)數(shù)。驅(qū)動(dòng)器資源提供器將增加后的計(jì)數(shù)與預(yù)定限值進(jìn)行比較,并且當(dāng)增加后的計(jì)數(shù)小于預(yù)定限值時(shí),分配備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。
作為另一個(gè)實(shí)施例,在分配備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之后,驅(qū)動(dòng)器資源提供器還投遞(post)表示使用備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的消息。在一個(gè)實(shí)施例中,所投遞消息包括向系統(tǒng)操作員通知可以采取行動(dòng)以將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中的通知。作為一個(gè)例子,將備用驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中將導(dǎo)致存儲(chǔ)庫的成本提高。如果進(jìn)行轉(zhuǎn)移,則驅(qū)動(dòng)器資源提供器將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器加入驅(qū)動(dòng)器池,從而刪除作為備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器。
在另一個(gè)實(shí)施例中,作為誘導(dǎo)(incentive),所投遞消息還包括將備用驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中的失敗將導(dǎo)致備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的將來不可用性的通知,并且當(dāng)沒有將至少一個(gè)備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中的請(qǐng)求時(shí),驅(qū)動(dòng)器資源提供器刪除將多個(gè)存儲(chǔ)庫數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器至少之一分配為備用驅(qū)動(dòng)器,從而被分配備用驅(qū)動(dòng)器變得未被分配。
這樣,驅(qū)動(dòng)器一被釋放,則將驅(qū)動(dòng)器分配給主機(jī)應(yīng)用,或者將備用驅(qū)動(dòng)器分配為備用驅(qū)動(dòng)器。另外,如果需要,向系統(tǒng)提供備用驅(qū)動(dòng)器,并且當(dāng)系統(tǒng)需求增長時(shí),允許系統(tǒng)操作員通過永久性地增加備用驅(qū)動(dòng)器到驅(qū)動(dòng)器池來選擇性地增大驅(qū)動(dòng)器池中的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器數(shù),而無需首先聯(lián)系銷售人員。
本發(fā)明的一個(gè)目的是允許主機(jī)應(yīng)用各自獲得對(duì)自動(dòng)數(shù)據(jù)存儲(chǔ)庫的一個(gè)或多個(gè)共享數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的訪問,并且具有驅(qū)動(dòng)器專用于主機(jī)而無需高速緩沖存儲(chǔ)器的表象。
本發(fā)明的另一個(gè)目的是在無需重新配置主機(jī)應(yīng)用設(shè)備驅(qū)動(dòng)程序的情況下允許增加、刪除或更換驅(qū)動(dòng)器。
虛擬化系統(tǒng)引導(dǎo)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信。存儲(chǔ)庫在貯存架上貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,并且提供用于在貯存架與數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送便攜式數(shù)據(jù)存儲(chǔ)盒的存取器自動(dòng)機(jī)械。
至少一個(gè)驅(qū)動(dòng)器映像提供器耦合到主機(jī)應(yīng)用,從而向主機(jī)應(yīng)用提供至少一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的至少一個(gè)映像,為每一個(gè)虛擬驅(qū)動(dòng)器提供固定標(biāo)識(shí)和對(duì)主機(jī)應(yīng)用的固定響應(yīng)集,并且引導(dǎo)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信。
驅(qū)動(dòng)器資源提供器耦合到驅(qū)動(dòng)器映像提供器。在任一時(shí)間,驅(qū)動(dòng)器資源提供器向驅(qū)動(dòng)器映像提供器分配了“n”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”,并且指示數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的“n”-“m”是被釋放的并且可用于分配。驅(qū)動(dòng)器資源提供器響應(yīng)主機(jī)應(yīng)用的請(qǐng)求虛擬驅(qū)動(dòng)器的觸發(fā)事件(triggering event),將驅(qū)動(dòng)器池的“n”-“m”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用于虛擬驅(qū)動(dòng)器,向驅(qū)動(dòng)器映像提供器指示作為固定多個(gè)虛擬驅(qū)動(dòng)器之一專用于請(qǐng)求主機(jī)應(yīng)用。
驅(qū)動(dòng)器映像提供器向請(qǐng)求主機(jī)應(yīng)用表征(characterize)專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為固定虛擬驅(qū)動(dòng)器之一,并且引導(dǎo)由作為虛擬驅(qū)動(dòng)器的請(qǐng)求主機(jī)應(yīng)用向?qū)S脭?shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的通信。
在驅(qū)動(dòng)器資源提供器專用驅(qū)動(dòng)器之前,驅(qū)動(dòng)器映像提供器向請(qǐng)求主機(jī)應(yīng)用表征虛擬驅(qū)動(dòng)器“未就緒”。作為例子,“未就緒”包括沒有介質(zhì)裝載在驅(qū)動(dòng)器中的報(bào)告狀態(tài)。
在一個(gè)實(shí)施例中,觸發(fā)事件包括請(qǐng)求主機(jī)應(yīng)用在虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝便攜式數(shù)據(jù)存儲(chǔ)盒所選之一的請(qǐng)求。驅(qū)動(dòng)器資源提供器向存儲(chǔ)庫指示驅(qū)動(dòng)器池的“n”-“m”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的哪一個(gè)是專用于主機(jī)應(yīng)用以安裝所選便攜式數(shù)據(jù)存儲(chǔ)盒的驅(qū)動(dòng)器。
作為一個(gè)可選實(shí)施例,觸發(fā)事件包括請(qǐng)求主機(jī)應(yīng)用對(duì)驅(qū)動(dòng)器映像提供器的虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的“保留”請(qǐng)求?!氨A簟闭?qǐng)求由驅(qū)動(dòng)器映像提供器接收,作為對(duì)驅(qū)動(dòng)器池的驅(qū)動(dòng)器的請(qǐng)求向驅(qū)動(dòng)器資源提供器通知。驅(qū)動(dòng)器資源提供器另外向存儲(chǔ)庫指示專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用于請(qǐng)求主機(jī)應(yīng)用,以安裝被選用于作為虛擬驅(qū)動(dòng)器、由固定標(biāo)識(shí)所識(shí)別的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的任何便攜式數(shù)據(jù)存儲(chǔ)盒。
作為另一個(gè)可選實(shí)施例,觸發(fā)事件包括請(qǐng)求主機(jī)應(yīng)用對(duì)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的命令。驅(qū)動(dòng)器資源提供器另外向存儲(chǔ)庫指示專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用于請(qǐng)求主機(jī)應(yīng)用,以安裝被選用于作為虛擬驅(qū)動(dòng)器、由固定標(biāo)識(shí)所識(shí)別的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的任何便攜式數(shù)據(jù)存儲(chǔ)盒。
驅(qū)動(dòng)器資源提供器響應(yīng)與主機(jī)應(yīng)用相關(guān)并指定專用于反觸發(fā)(detriggering)主機(jī)應(yīng)用的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器、指示從驅(qū)動(dòng)器映像提供器中釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的反觸發(fā)事件(detriggering event),并且將該驅(qū)動(dòng)器加入驅(qū)動(dòng)器池的被釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。在一個(gè)實(shí)施例中,反觸發(fā)事件包括從識(shí)別為虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器卸載便攜式數(shù)據(jù)存儲(chǔ)盒之一的反觸發(fā)主機(jī)應(yīng)用命令。在這種情況下,驅(qū)動(dòng)器資源提供器向存儲(chǔ)庫提供指示,標(biāo)識(shí)作為在其上安裝了便攜式數(shù)據(jù)存儲(chǔ)盒的虛擬驅(qū)動(dòng)器的該專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。在另一個(gè)實(shí)施例中,反觸發(fā)事件包括釋放識(shí)別為虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的反觸發(fā)主機(jī)應(yīng)用的命令。
在另一個(gè)實(shí)施例中,反觸發(fā)事件包括在預(yù)定超時(shí)時(shí)間段內(nèi)不使用專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。當(dāng)預(yù)定超時(shí)時(shí)間段結(jié)束時(shí),驅(qū)動(dòng)器資源提供器判定便攜式數(shù)據(jù)存儲(chǔ)盒之一是否保持安裝在專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上,并且向存儲(chǔ)庫通知卸載已安裝的便攜式數(shù)據(jù)存儲(chǔ)盒。
在另一個(gè)實(shí)施例中,存儲(chǔ)庫包括多個(gè)虛擬存儲(chǔ)庫,并且多個(gè)虛擬存儲(chǔ)庫至少之一分配有較高優(yōu)先級(jí)。因此,當(dāng)“m”-“n”等于零、意味著所有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器均被專用時(shí),并且當(dāng)出現(xiàn)較高優(yōu)先級(jí)虛擬存儲(chǔ)庫的虛擬驅(qū)動(dòng)器的觸發(fā)事件時(shí),驅(qū)動(dòng)器資源提供器從較低優(yōu)先級(jí)虛擬存儲(chǔ)庫中釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,向驅(qū)動(dòng)器映像提供器通知該釋放,通知存儲(chǔ)庫從被釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒,并且將所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用于較高優(yōu)先級(jí)虛擬存儲(chǔ)庫的虛擬驅(qū)動(dòng)器。
另外,可以在驅(qū)動(dòng)器資源提供器的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中增加、刪除、或交換數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,但是驅(qū)動(dòng)器映像提供器表征虛擬驅(qū)動(dòng)器無變化。
在一個(gè)實(shí)施例中,驅(qū)動(dòng)器資源提供器采用驅(qū)動(dòng)器映像表與驅(qū)動(dòng)器映像提供器通信,其中驅(qū)動(dòng)器映像表具有組成映像的虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器列表,并且指示驅(qū)動(dòng)器池中的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用為虛擬驅(qū)動(dòng)器。
為了更全面理解本發(fā)明,將要參照下面結(jié)合附圖的詳細(xì)描述。
圖1是根據(jù)本實(shí)施例的虛擬化系統(tǒng)的圖形表示;圖2是可以實(shí)現(xiàn)本發(fā)明實(shí)施例的自動(dòng)數(shù)據(jù)存儲(chǔ)庫的等軸圖;圖3是圖2的自動(dòng)數(shù)據(jù)存儲(chǔ)庫以及主機(jī)應(yīng)用和介于主機(jī)應(yīng)用與可以實(shí)現(xiàn)本發(fā)明實(shí)施例的自動(dòng)數(shù)據(jù)存儲(chǔ)庫之間的各組件的方框圖;圖4A和4B分別是可以貯存在圖2和3的自動(dòng)數(shù)據(jù)存儲(chǔ)庫的貯存架中的示例性便攜式數(shù)據(jù)存儲(chǔ)盒的頂視圖和端視圖;圖5A和5B是根據(jù)本實(shí)施例的示例性驅(qū)動(dòng)器映像表的圖解;圖6是根據(jù)本實(shí)施例的示例性驅(qū)動(dòng)器表的圖解;圖7是根據(jù)本實(shí)施例的示例性存儲(chǔ)庫映像表的圖解;圖8是描述用于配置或改變圖2和3的自動(dòng)數(shù)據(jù)存儲(chǔ)庫的驅(qū)動(dòng)器的配置的本發(fā)明方法的一個(gè)實(shí)施例的流程圖;圖9是描述用于圖1的驅(qū)動(dòng)器映像提供器的本發(fā)明方法的一個(gè)實(shí)施例的流程圖;圖10A和10B是描述針對(duì)觸發(fā)事件的用于圖1的驅(qū)動(dòng)器資源提供器的本發(fā)明方法的一個(gè)實(shí)施例的流程圖;圖11是描述針對(duì)反觸發(fā)事件的用于圖1的驅(qū)動(dòng)器資源提供器的本發(fā)明方法的一個(gè)實(shí)施例的流程圖;以及圖12A、12B和12C是描述針對(duì)鎖定數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的用于圖1的驅(qū)動(dòng)器資源提供器的本發(fā)明方法的一個(gè)可選實(shí)施例的流程圖。
具體實(shí)施例方式
本發(fā)明在下面參照附圖的描述中是采用優(yōu)選實(shí)施例來描述的,其中,相同的標(biāo)號(hào)表示相同或類似的單元。雖然本發(fā)明是按照用于實(shí)現(xiàn)本發(fā)明目的的最佳方式來描述的,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的精神或范圍的情況下,可以參照本文實(shí)現(xiàn)各種變更。
參照?qǐng)D1-3,示出虛擬化系統(tǒng)10的實(shí)施例,其中,虛擬化系統(tǒng)10引導(dǎo)主機(jī)應(yīng)用如主機(jī)應(yīng)用11、12與自動(dòng)數(shù)據(jù)存儲(chǔ)庫17的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器15之間的通信。存儲(chǔ)庫在貯存架16中貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒14,并且提供用于在貯存架與數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送便攜式數(shù)據(jù)存儲(chǔ)盒的存取器自動(dòng)機(jī)械18、20。
至少一個(gè)驅(qū)動(dòng)器映像提供器30耦合到一個(gè)或多個(gè)主機(jī)應(yīng)用11、12,并且向每個(gè)主機(jī)應(yīng)用提供至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像,同時(shí)實(shí)際引導(dǎo)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器15的驅(qū)動(dòng)器池的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信。因此,存儲(chǔ)庫的驅(qū)動(dòng)器15在主機(jī)應(yīng)用之間共享。驅(qū)動(dòng)器映像提供器通過為每一個(gè)虛擬驅(qū)動(dòng)器采用固定標(biāo)識(shí)和對(duì)主機(jī)應(yīng)用的固定響應(yīng)集來描述與主機(jī)通信的映像,從而向主機(jī)應(yīng)用提供主機(jī)的所有虛擬驅(qū)動(dòng)器都總是專用于主機(jī)的表象。此外,底層物理驅(qū)動(dòng)器在不同訪問時(shí)可能不同,并且可以增加、刪除或更換驅(qū)動(dòng)器,所有這些都不需要重新配置主機(jī)應(yīng)用設(shè)備驅(qū)動(dòng)程序。
驅(qū)動(dòng)器資源提供器35耦合到驅(qū)動(dòng)器映像提供器30。在任一時(shí)間,驅(qū)動(dòng)器資源提供器向驅(qū)動(dòng)器映像提供器分配了“n”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”,并且指示“n”-“m”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器被釋放并且可用于分配。
驅(qū)動(dòng)器資源提供器35響應(yīng)請(qǐng)求驅(qū)動(dòng)器用于主機(jī)應(yīng)用虛擬驅(qū)動(dòng)器的觸發(fā)事件,并且將驅(qū)動(dòng)器池的“n”-“m”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用為虛擬驅(qū)動(dòng)器,從而指示專用于請(qǐng)求主機(jī)應(yīng)用的驅(qū)動(dòng)器映像提供器,作為固定虛擬驅(qū)動(dòng)器之一。
驅(qū)動(dòng)器映像提供器30向請(qǐng)求主機(jī)應(yīng)用表征專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為固定虛擬驅(qū)動(dòng)器之一,并且引導(dǎo)由請(qǐng)求主機(jī)應(yīng)用11、12向?qū)S脭?shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器15的通信,作為虛擬驅(qū)動(dòng)器。
在將物理驅(qū)動(dòng)器專用為虛擬驅(qū)動(dòng)器之前,驅(qū)動(dòng)器映像提供器30向請(qǐng)求主機(jī)應(yīng)用表征虛擬驅(qū)動(dòng)器“未就緒”。作為一個(gè)例子,“未就緒”包括沒有介質(zhì)裝載在驅(qū)動(dòng)器中的報(bào)告狀態(tài)的偽完成響應(yīng)。
根據(jù)本發(fā)明,當(dāng)在驅(qū)動(dòng)器池的所有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器均被分配的情況下接收到數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器請(qǐng)求時(shí),驅(qū)動(dòng)器資源提供器35向存儲(chǔ)庫指示暫停任何關(guān)于請(qǐng)求的便攜式數(shù)據(jù)存儲(chǔ)盒安裝。另外,當(dāng)在所有驅(qū)動(dòng)器均被分配的情況下接收到請(qǐng)求時(shí),可以指示所請(qǐng)求驅(qū)動(dòng)器可用于安裝便攜式數(shù)據(jù)存儲(chǔ)盒,但是當(dāng)前不可用于執(zhí)行需要已安裝便攜式數(shù)據(jù)存儲(chǔ)盒的任何隨后命令。因此,主機(jī)應(yīng)用11、12被保證它將具有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且可以重試或發(fā)出其下一個(gè)關(guān)于驅(qū)動(dòng)器的命令。如果下一個(gè)命令不要求驅(qū)動(dòng)器就緒或者便攜式數(shù)據(jù)存儲(chǔ)盒被安裝且就緒,則存儲(chǔ)庫可能能夠處理該命令。
在提供指示之后,驅(qū)動(dòng)器資源提供器35等待釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器和在所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒的請(qǐng)求,并且將所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配給驅(qū)動(dòng)器請(qǐng)求,并且向存儲(chǔ)庫指示解除暫停關(guān)于請(qǐng)求的安裝。
在一個(gè)例子中,還可以為虛擬存儲(chǔ)庫提供一個(gè)或多個(gè)存儲(chǔ)庫映像提供器43,并且將包括由存儲(chǔ)庫資源提供器39定義的一組虛擬驅(qū)動(dòng)器和一組貯存架16。數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器15在虛擬存儲(chǔ)庫之間共享,但是貯存架16最好是單獨(dú)的。
主機(jī)應(yīng)用11、12可以包括主機(jī)處理器,如IBM RS/600或IBM eServerpSeries處理器、和在主機(jī)處理器上運(yùn)行的所有應(yīng)用,或者可以包括在主機(jī)處理器上運(yùn)行的多個(gè)應(yīng)用之一。因此,主機(jī)應(yīng)用被解釋為各自包括具有處理器36和存儲(chǔ)器38的處理系統(tǒng)。
作為例子,自動(dòng)數(shù)據(jù)存儲(chǔ)庫17包括自動(dòng)磁帶盒存儲(chǔ)和檢索庫,用于存儲(chǔ)和訪問包括磁帶盒的物理卷的數(shù)據(jù)存儲(chǔ)介質(zhì),如IBM 3584??蛇x地,自動(dòng)數(shù)據(jù)存儲(chǔ)庫17可以包括光學(xué)存儲(chǔ)和檢索庫或者磁帶盒庫等,在此均被定義為存儲(chǔ)便攜式數(shù)據(jù)存儲(chǔ)盒。數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器15在介質(zhì)上讀取和/或?qū)懭霐?shù)據(jù),并且可以包括處理器。存儲(chǔ)庫還包括用于操作存取器自動(dòng)機(jī)械18、20的自動(dòng)機(jī)械控制器41,以及存儲(chǔ)庫管理器40。存取器自動(dòng)機(jī)械18、20包括用于嚙合所選便攜式數(shù)據(jù)存儲(chǔ)盒14的機(jī)械爪(gripper)20以及用于在貯存架16與驅(qū)動(dòng)器15之間或者在貯存架之間移動(dòng)機(jī)械爪的存取器18。存取器自動(dòng)機(jī)械18、20還可以包括安裝在機(jī)械爪20上的條形碼掃描器22或類似視覺系統(tǒng),以“閱讀,,標(biāo)識(shí)盒標(biāo)簽。數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器15可以是光盤驅(qū)動(dòng)器或者磁帶驅(qū)動(dòng)器,并且便攜式數(shù)據(jù)存儲(chǔ)盒可以包括分別容納光學(xué)或磁性介質(zhì)的匣子或盒子或者任何其他可移動(dòng)介質(zhì)。
自動(dòng)機(jī)械控制器41和存儲(chǔ)庫管理器40包括至少一個(gè)計(jì)算機(jī)處理器及其相關(guān)存儲(chǔ)器,并且耦合到輸入/輸出接口42和端子28。計(jì)算機(jī)處理器可以包括例如IBM RS/6000處理器??蛇x地,自動(dòng)機(jī)械控制器41和存儲(chǔ)庫管理器40可以各自包括計(jì)算機(jī)處理器,并且這些計(jì)算機(jī)處理器互連在一起。在本例中,存儲(chǔ)庫管理器40包括計(jì)算機(jī)處理器45和相關(guān)存儲(chǔ)器46。端子28可以包括用于讀取數(shù)據(jù)存儲(chǔ)介質(zhì)如軟盤或CD-ROM的站(station)。
存儲(chǔ)庫管理器40與驅(qū)動(dòng)器15耦合,并且控制其裝載/卸載和相關(guān)動(dòng)作,并且存儲(chǔ)庫管理器40與自動(dòng)機(jī)械控制器41耦合,并且協(xié)調(diào)其操作。存儲(chǔ)庫管理器通過接口42耦合到主機(jī)應(yīng)用11、12。存儲(chǔ)庫管理器24具有存儲(chǔ)在用于表和程序的存儲(chǔ)器46(典型地是一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器或快閃EEPROM)中的存儲(chǔ)庫管理器數(shù)據(jù)庫。要在所選便攜式數(shù)據(jù)存儲(chǔ)盒14上記錄或者從其上讀取的數(shù)據(jù)存取命令和信息按照驅(qū)動(dòng)器映像提供器30的引導(dǎo)在驅(qū)動(dòng)器15與主機(jī)應(yīng)用之間傳輸。存儲(chǔ)庫管理器40按照其標(biāo)識(shí)符或者可選地按照其位置來定義每個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,其中,標(biāo)識(shí)符典型地是卷序列號(hào)或VOLSER。
主機(jī)應(yīng)用11、12典型地由介于主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫之間的一個(gè)或多個(gè)組件耦合到存儲(chǔ)庫17。
中間組件的一個(gè)例子是主機(jī)總線適配器50。在一個(gè)例子中,主機(jī)總線適配器50包括各自與適當(dāng)?shù)倪B接接口以耦合到存儲(chǔ)庫或其他中間組件以及主機(jī)應(yīng)用11、12的接口52和53,如PCI、ESCON、FICON、SCSI、光纖通道(FIBER CHANNEL)等。適配器包括處理器54和非易失性存儲(chǔ)器55,以及適當(dāng)?shù)木彌_器和互連。主機(jī)總線適配器50的一個(gè)例子包括IBM eServer pSeries千兆位光纖通道適配器。圖中示出主機(jī)應(yīng)用12具有可以包括適配器的接口53。
中間組件的另一個(gè)例子包括網(wǎng)關(guān)或路由器56,它具有多個(gè)帶有適當(dāng)連接的接口57,以互連如上所述的網(wǎng)絡(luò)內(nèi)多個(gè)處理器。網(wǎng)關(guān)或路由器包括帶有用于存儲(chǔ)操作系統(tǒng)等的非易失性存儲(chǔ)器59的處理器58。網(wǎng)關(guān)或路由器的一個(gè)例子是IBM 2108 SAN數(shù)據(jù)網(wǎng)關(guān)。本適配器、路由器或網(wǎng)絡(luò)的其他適當(dāng)術(shù)語是“控制器”、“導(dǎo)向器”或“智能交換機(jī)”,并且本領(lǐng)域的技術(shù)人員可以預(yù)見其他應(yīng)用。
處理器54、58可以包括微處理器,如Intel i960。
根據(jù)本發(fā)明,驅(qū)動(dòng)器映像提供器30和/或驅(qū)動(dòng)器資源提供器35可以嵌入在主機(jī)應(yīng)用11、12、中間組件50、56或自動(dòng)數(shù)據(jù)存儲(chǔ)庫17的任一個(gè)之中。作為一個(gè)例子,驅(qū)動(dòng)器映像提供器30均包括在相關(guān)主機(jī)應(yīng)用11、12的設(shè)備驅(qū)動(dòng)程序中,并且驅(qū)動(dòng)器資源提供器包括在介于主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫17之間的組件56中。驅(qū)動(dòng)器資源提供器必須位于耦合到具有驅(qū)動(dòng)器映像提供器的每一個(gè)主機(jī)或者這些主機(jī)的主機(jī)總線適配器的組件上。作為另一個(gè)例子,驅(qū)動(dòng)器映像提供器30包括介于主機(jī)應(yīng)用11、12和自動(dòng)數(shù)據(jù)存儲(chǔ)庫17之間的組件50、56,并且驅(qū)動(dòng)器資源提供器35包括介于主機(jī)總線適配器50或主機(jī)與存儲(chǔ)庫17之間的組件56。作為另一個(gè)例子,驅(qū)動(dòng)器映像提供器30包括相關(guān)主機(jī)應(yīng)用11、12的設(shè)備驅(qū)動(dòng)程序,并且驅(qū)動(dòng)器資源提供器35包括自動(dòng)數(shù)據(jù)存儲(chǔ)庫17的組件,如存儲(chǔ)庫管理器40。另一個(gè)例子是驅(qū)動(dòng)器映像提供器30包括在介于主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫之間的組件50、56中,而驅(qū)動(dòng)器資源提供器35包括自動(dòng)數(shù)據(jù)存儲(chǔ)庫17的組件。
存儲(chǔ)庫映像提供器43和存儲(chǔ)庫資源提供器39最好包括在自動(dòng)數(shù)據(jù)存儲(chǔ)庫17中。
主機(jī)應(yīng)用11、12的處理器36、中間組件50、56的處理器54、58以及存儲(chǔ)庫的存儲(chǔ)庫管理器40的處理器45中的每一個(gè)都裝備有操作系統(tǒng)和應(yīng)用,并且可以包括根據(jù)本發(fā)明運(yùn)行的程序。每個(gè)處理器都可以裝備有包括用于表和程序的存儲(chǔ)器(典型地是非易失性存儲(chǔ)器或者一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器)的數(shù)據(jù)庫,分別是38、55、59、46。應(yīng)用程序可以包括一個(gè)或多個(gè)由計(jì)算機(jī)可讀程序代碼組成的計(jì)算機(jī)程序產(chǎn)品。本發(fā)明的計(jì)算機(jī)程序產(chǎn)品可以被提供有1應(yīng)用程序,并且存儲(chǔ)在所提供的存儲(chǔ)器中,可以在端子28被提供軟盤或CD-ROM,并且包括制造品,可以從主機(jī)系統(tǒng)11、12之一接收,可以從網(wǎng)絡(luò)接收,或者由其他類似裝置接收。對(duì)存儲(chǔ)介質(zhì)或存儲(chǔ)器的要求是它們存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的數(shù)字表示。計(jì)算機(jī)可讀程序代碼通過它們的一個(gè)或多個(gè)計(jì)算機(jī)處理器操作設(shè)備。
在圖4A和4B中,示出了便攜式數(shù)據(jù)存儲(chǔ)盒14的一個(gè)例子,它例如包括磁帶盒。存儲(chǔ)盒14在外邊緣61上具有標(biāo)識(shí)標(biāo)簽60。
圖5A和5B示出由驅(qū)動(dòng)器資源提供器35生成和維護(hù)并且提供給圖1的驅(qū)動(dòng)器映像提供器30的驅(qū)動(dòng)器映像表70、71的例子,其中,驅(qū)動(dòng)器資源提供器將數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的已分配和專用的驅(qū)動(dòng)器映射到每個(gè)主機(jī)應(yīng)用的虛擬驅(qū)動(dòng)器。驅(qū)動(dòng)器映像表可以由驅(qū)動(dòng)器映像提供器從驅(qū)動(dòng)器資源提供器周期性地讀取,并且例如每半秒更新一次,或者每個(gè)驅(qū)動(dòng)器映像提供器可以在需要時(shí)訪問相關(guān)驅(qū)動(dòng)器映像表。驅(qū)動(dòng)器映像提供器不需要每次刷新表,而是可以查找任何變化。
驅(qū)動(dòng)器映像表包括驅(qū)動(dòng)器映像提供器所要報(bào)告并且為其提供響應(yīng)的虛擬驅(qū)動(dòng)器的列表75。作為一個(gè)例子,在SCSI條件(SCSI terms)下,列表75可以包括每個(gè)虛擬驅(qū)動(dòng)器的固定地址,如磁帶驅(qū)動(dòng)器LUN標(biāo)識(shí)符。驅(qū)動(dòng)器映像提供器在固定條件下向主機(jī)應(yīng)用提供一個(gè)或多個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像,并且這些驅(qū)動(dòng)器通過列表75來標(biāo)識(shí)。固定列表由每個(gè)虛擬驅(qū)動(dòng)器的特征標(biāo)識(shí)76來補(bǔ)充,從而驅(qū)動(dòng)器資源提供器可以為每個(gè)虛擬驅(qū)動(dòng)器提供固定標(biāo)識(shí)和對(duì)主機(jī)應(yīng)用的固定響應(yīng)集。作為一個(gè)例子,特征可以包括虛擬驅(qū)動(dòng)器的唯一序列號(hào)。作為另一個(gè)例子,特征可以包括虛擬驅(qū)動(dòng)器的相同地址。作為另一個(gè)例子,可以向虛擬驅(qū)動(dòng)器提供包括類型或制造商名稱和型號(hào)的特征。這將允許驅(qū)動(dòng)器資源提供器從其數(shù)據(jù)庫確定固定響應(yīng)集。作為一個(gè)可選實(shí)施例,驅(qū)動(dòng)器資源提供器的驅(qū)動(dòng)器映像表可以僅包括每個(gè)虛擬驅(qū)動(dòng)器的標(biāo)識(shí)符75,并且驅(qū)動(dòng)器映像提供器可以維護(hù)每個(gè)虛擬驅(qū)動(dòng)器的特征76。
當(dāng)驅(qū)動(dòng)器資源提供器從存儲(chǔ)庫的物理驅(qū)動(dòng)器池中將驅(qū)動(dòng)器專用于主機(jī)應(yīng)用的驅(qū)動(dòng)器映像提供器時(shí),這些驅(qū)動(dòng)器例如在SCSI條件下也以LUN標(biāo)識(shí)77。在所示例子中,“*”表示沒有物理驅(qū)動(dòng)器當(dāng)前分配虛擬驅(qū)動(dòng)器的指示。另外,“W”表示將要分配物理驅(qū)動(dòng)器但是目前尚未分配,如后所述。可選地,驅(qū)動(dòng)器資源提供器還可以提供每個(gè)已分配物理驅(qū)動(dòng)器的特征78,如序列號(hào)、類型、制造商名稱和/或型號(hào)。
另外參照?qǐng)D6,圖1的驅(qū)動(dòng)器資源提供器35和/或存儲(chǔ)庫資源提供器39維護(hù)物理驅(qū)動(dòng)器81的驅(qū)動(dòng)器表80及其當(dāng)前分配或狀態(tài)82。最好,表80還包括每一個(gè)物理驅(qū)動(dòng)器的特征83,如上所述。
另外參照?qǐng)D7,圖2和3的存儲(chǔ)庫17可以安排成直接耦合到主機(jī)應(yīng)用,并且接收例如讓存儲(chǔ)庫在所標(biāo)識(shí)的虛擬驅(qū)動(dòng)器上從貯存架16安裝所標(biāo)識(shí)的便攜式數(shù)據(jù)存儲(chǔ)盒14的請(qǐng)求。為了適應(yīng)這些請(qǐng)求,存儲(chǔ)庫包括至少一個(gè)存儲(chǔ)庫映像表85。該表標(biāo)識(shí)虛擬存儲(chǔ)庫90以及專用于每個(gè)虛擬存儲(chǔ)庫的虛擬驅(qū)動(dòng)器87。另外,存儲(chǔ)庫可以指示虛擬存儲(chǔ)庫的優(yōu)先級(jí)88,以及授權(quán)89哪一個(gè)虛擬存儲(chǔ)庫或虛擬驅(qū)動(dòng)器使用備用驅(qū)動(dòng)器。該信息通過圖1的存儲(chǔ)庫映像提供器43提供給主機(jī)應(yīng)用。
每個(gè)虛擬存儲(chǔ)庫分配有一組貯存架16。相同虛擬存儲(chǔ)庫可以由多個(gè)主機(jī)應(yīng)用共享,或者可以包括用于每個(gè)主機(jī)應(yīng)用的單獨(dú)虛擬存儲(chǔ)庫,或者可以是這兩者的混合體。表85在列90中標(biāo)識(shí)虛擬存儲(chǔ)庫,并且在列91中標(biāo)識(shí)分配給每個(gè)虛擬存儲(chǔ)庫的圖2和3所示的一組貯存架16。本領(lǐng)域的技術(shù)人員應(yīng)該知道,自動(dòng)數(shù)據(jù)存儲(chǔ)庫的貯存架可以由存儲(chǔ)庫管理器進(jìn)行分區(qū),從而使每個(gè)虛擬存儲(chǔ)庫分配有特定一組貯存架,如圖3的貯存架92-96。虛擬存儲(chǔ)庫由圖1的存儲(chǔ)庫資源提供器39安排。最好,虛擬存儲(chǔ)庫以及主機(jī)應(yīng)用共享圖2和3的存儲(chǔ)庫17的物理驅(qū)動(dòng)器15的全部或大部分,如列97所示。某些數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器由于其類型不符合虛擬驅(qū)動(dòng)器要求而可以從用于虛擬存儲(chǔ)庫的“n”個(gè)驅(qū)動(dòng)器的驅(qū)動(dòng)器池中扣留。一個(gè)例子是僅在特定情形下有用的低速驅(qū)動(dòng)器。另一個(gè)例子是對(duì)于小型數(shù)據(jù)記錄不可用的流式驅(qū)動(dòng)器。
在圖5A、5B、6和7的所示表70、71、80和85中,作為例子,物理驅(qū)動(dòng)器“DR3”在驅(qū)動(dòng)器映像表70中分配為虛擬驅(qū)動(dòng)器“AA”,并且位于虛擬存儲(chǔ)庫“0”中。當(dāng)被主機(jī)應(yīng)用釋放時(shí),或者當(dāng)主機(jī)應(yīng)用發(fā)出命令來卸載安裝在驅(qū)動(dòng)器中的便攜式數(shù)據(jù)存儲(chǔ)盒時(shí),驅(qū)動(dòng)器將被釋放。物理驅(qū)動(dòng)器“DR1”在驅(qū)動(dòng)器映像表71中分配到虛擬存儲(chǔ)庫“1”,并且專用為虛擬驅(qū)動(dòng)器“EE”?!?L)”表示物理驅(qū)動(dòng)器作為虛擬驅(qū)動(dòng)器鎖定于主機(jī)應(yīng)用,直到被主機(jī)應(yīng)用明確釋放為止,并且當(dāng)主機(jī)應(yīng)用發(fā)出命令來卸載驅(qū)動(dòng)器中安裝的便攜式數(shù)據(jù)存儲(chǔ)盒時(shí),該驅(qū)動(dòng)器將不被釋放。
虛擬存儲(chǔ)庫的相對(duì)優(yōu)先級(jí)88意味著在驅(qū)動(dòng)器池的“n”-“m”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器等于零、表示驅(qū)動(dòng)器池的所有驅(qū)動(dòng)器均被分配的情形下,較高優(yōu)先級(jí)主機(jī)應(yīng)用例如優(yōu)先級(jí)“0”可以搶占已經(jīng)專用于較低優(yōu)先級(jí)主機(jī)應(yīng)用例如優(yōu)先級(jí)“1”的驅(qū)動(dòng)器。在使用虛擬存儲(chǔ)庫的情況下,這些表描述了將物理驅(qū)動(dòng)器97分配給虛擬存儲(chǔ)庫90的選項(xiàng),從而定義數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池。如果僅采用一個(gè)存儲(chǔ)庫,則除了備用驅(qū)動(dòng)器之外的所有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器組成驅(qū)動(dòng)器池。物理驅(qū)動(dòng)器“DR2”此時(shí)未分配給任何虛擬驅(qū)動(dòng)器,并且以“被釋放”表示并可用于分配。物理驅(qū)動(dòng)器“DR7”被保留為“備用”驅(qū)動(dòng)器,并且它只能用于如下情形驅(qū)動(dòng)器池的“n”-“m”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器等于零、表示驅(qū)動(dòng)器池的所有驅(qū)動(dòng)器均被分配,并且不存在優(yōu)先級(jí)重新分配或者能被重新分配的所有驅(qū)動(dòng)器都具有高優(yōu)先級(jí)分配。如果如列89所示備用驅(qū)動(dòng)器得到授權(quán),則驅(qū)動(dòng)器資源提供器分配備用驅(qū)動(dòng)器之一給該請(qǐng)求??蛇x地,驅(qū)動(dòng)器資源提供器等待預(yù)定時(shí)間段,并且如果在預(yù)定時(shí)間段內(nèi)完成釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器并且在所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒的請(qǐng)求,則分配所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器給該請(qǐng)求;否則,在該時(shí)間段結(jié)束之后,驅(qū)動(dòng)器資源提供器將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配給該請(qǐng)求。
在分配備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之后,驅(qū)動(dòng)器資源提供器投遞表示使用備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的消息。所投遞消息可以包括向系統(tǒng)管理器通知可以采取行動(dòng)以將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中的通知。作為一個(gè)例子,將備用驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中將導(dǎo)致存儲(chǔ)庫的成本提高。如果進(jìn)行轉(zhuǎn)移,則驅(qū)動(dòng)器資源提供器將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器加入驅(qū)動(dòng)器池,從而刪除作為備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器。
作為誘導(dǎo),所投遞消息還可以包括不能將備用驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中將導(dǎo)致備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的將來不可用性的通知,并且當(dāng)沒有將至少一個(gè)備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中的請(qǐng)求時(shí),驅(qū)動(dòng)器資源提供器刪除將多個(gè)存儲(chǔ)庫數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配為至少到一個(gè)虛擬存儲(chǔ)庫的備用驅(qū)動(dòng)器,從使得被分配的備用驅(qū)動(dòng)器變得未分配給虛擬存儲(chǔ)庫,或者可選地未在存儲(chǔ)庫系統(tǒng)中分配。
在虛擬存儲(chǔ)庫0的驅(qū)動(dòng)器映像表70中,虛擬驅(qū)動(dòng)器“BB”沒有專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且處于主機(jī)應(yīng)用需要物理驅(qū)動(dòng)器的情形下。然而,不管是備用驅(qū)動(dòng)器還是來自較低優(yōu)先級(jí)虛擬存儲(chǔ)庫的驅(qū)動(dòng)器或較低優(yōu)先級(jí)虛擬驅(qū)動(dòng)器,都沒有物理驅(qū)動(dòng)器可用。因此,“W”意味著將進(jìn)行等待,直到數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器在存儲(chǔ)庫的正常操作中變得可用。
圖8示出用于配置圖2或3的存儲(chǔ)庫17的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器15或者配置虛擬存儲(chǔ)庫的方法的一個(gè)實(shí)施例。
該配置過程在步驟100開始于啟動(dòng)或初始化存儲(chǔ)庫??蛇x地,可以在步驟101增加、刪除或更換物理驅(qū)動(dòng)器,并且開始重新配置??蛇x地,系統(tǒng)操作員在使用了備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器并且接收到如上所述的消息之后,可以選擇將備用驅(qū)動(dòng)器中的一個(gè)或多個(gè)加入驅(qū)動(dòng)器池,這在步驟102開始。如果向系統(tǒng)操作員提供采用驅(qū)動(dòng)器池中的備用驅(qū)動(dòng)器或者去除驅(qū)動(dòng)器作為備用驅(qū)動(dòng)器的選項(xiàng)、并且選擇去除驅(qū)動(dòng)器(不大可能的場(chǎng)景),則步驟102還可以提供將以前備用的驅(qū)動(dòng)器重新分配為“未被分配”狀態(tài)。在這種情形下實(shí)際上不需要重新配置存儲(chǔ)庫。
步驟105可以用于使用虛擬存儲(chǔ)庫是可選的情形,并且判定是否實(shí)現(xiàn)了虛擬存儲(chǔ)庫。如果實(shí)現(xiàn)了虛擬存儲(chǔ)庫,“是”,則步驟106確定所要配置的下一個(gè)虛擬存儲(chǔ)庫。如果沒有實(shí)現(xiàn)虛擬存儲(chǔ)庫,“否”,則將為單組虛擬驅(qū)動(dòng)器配置物理存儲(chǔ)庫。該處理可以由存儲(chǔ)庫資源提供器和/或驅(qū)動(dòng)器資源提供器執(zhí)行,并且如果實(shí)現(xiàn)了虛擬存儲(chǔ)庫,則需要存儲(chǔ)庫資源提供器。如果沒有實(shí)現(xiàn)虛擬存儲(chǔ)庫,則圖7的存儲(chǔ)庫映像表85將僅包括單個(gè)存儲(chǔ)庫,消除列90。
在步驟110,確定可用于存儲(chǔ)庫的物理驅(qū)動(dòng)器。該信息可以由系統(tǒng)操作員提供,或者可以包括例如缺省值,其中,所有驅(qū)動(dòng)器均由所有虛擬存儲(chǔ)庫共享。在步驟111,標(biāo)識(shí)備用驅(qū)動(dòng)器。備用驅(qū)動(dòng)器可以在出售或安裝圖2或3的存儲(chǔ)庫17的時(shí)候建立,或者可以由系統(tǒng)操作員設(shè)置以控制為存儲(chǔ)庫而支付的價(jià)格。用于虛擬存儲(chǔ)庫的驅(qū)動(dòng)器池中的物理驅(qū)動(dòng)器數(shù)“n”是可用物理驅(qū)動(dòng)器數(shù)PD減去備用驅(qū)動(dòng)器數(shù)SD。
在步驟120,例如從負(fù)責(zé)系統(tǒng)操作員或者從設(shè)備驅(qū)動(dòng)程序確定虛擬驅(qū)動(dòng)器數(shù)和每個(gè)虛擬驅(qū)動(dòng)器的固定標(biāo)識(shí),以與每個(gè)主機(jī)應(yīng)用通信。這包括要由主機(jī)應(yīng)用用來對(duì)固定虛擬驅(qū)動(dòng)器進(jìn)行尋址、且如圖5A和5B的列75、圖7的列87所示的標(biāo)識(shí)符,并且用于圖6的列82所示的分配。也可以在此處獲得特征信息76、83。在步驟115,例如由系統(tǒng)操作員確定虛擬存儲(chǔ)庫的相對(duì)優(yōu)先級(jí)。作為一個(gè)可選方案,可以確定虛擬驅(qū)動(dòng)器的相對(duì)優(yōu)先級(jí)。所得到的相對(duì)優(yōu)先級(jí)張貼在圖7的列88中。然后,在步驟121,驅(qū)動(dòng)器資源提供器為每個(gè)驅(qū)動(dòng)器映像提供器準(zhǔn)備驅(qū)動(dòng)器映像表70、71。主驅(qū)動(dòng)器映像表在驅(qū)動(dòng)器資源提供器中維護(hù),從而將數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的已分配和專用的驅(qū)動(dòng)器映射到每個(gè)主機(jī)應(yīng)用的虛擬驅(qū)動(dòng)器。如上所述,驅(qū)動(dòng)器映像表可以由驅(qū)動(dòng)器映像提供器從驅(qū)動(dòng)器資源提供器周期性地訪問和刷新或更新,或者每個(gè)驅(qū)動(dòng)器映像提供器可以在需要時(shí)訪問相關(guān)驅(qū)動(dòng)器映像表。
在步驟125,存儲(chǔ)庫資源提供器判定是否所有虛擬存儲(chǔ)庫均被配置。如果是,或者如果沒有實(shí)現(xiàn)虛擬存儲(chǔ)庫,則過程結(jié)束,如步驟126所示。如果不是所有虛擬存儲(chǔ)庫均被配置,則過程循環(huán)回到步驟106以開始下一虛擬存儲(chǔ)庫的配置。
圖9示出當(dāng)主機(jī)應(yīng)用在步驟135提供虛擬驅(qū)動(dòng)器命令時(shí),圖1的驅(qū)動(dòng)器映像提供器30的處理。事件的例子是“詢問(INQUIRY)”命令;“搜索(SEARCH)”命令,以從已安裝的便攜式數(shù)據(jù)存儲(chǔ)盒中搜索特定數(shù)據(jù);“讀取(READ)”命令,從已安裝的便攜式數(shù)據(jù)存儲(chǔ)盒中讀取數(shù)據(jù);“寫入(WRITE)”命令,在已安裝的便攜式數(shù)據(jù)存儲(chǔ)盒上寫入數(shù)據(jù);“保留(RESERVE)”命令,保留數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器以作將來使用;“釋放(RELEASE)”命令,釋放被保留的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器;或者其他類似類型的命令。
在步驟141和143,驅(qū)動(dòng)器映像提供器判定從主機(jī)應(yīng)用接收的命令是否構(gòu)成觸發(fā)事件或反觸發(fā)事件。如果命令構(gòu)成觸發(fā)事件,則在步驟144,驅(qū)動(dòng)器映像提供器向驅(qū)動(dòng)器資源提供器通知該事件并標(biāo)識(shí)虛擬驅(qū)動(dòng)器,并且可以標(biāo)識(shí)主機(jī)應(yīng)用。如果命令構(gòu)成反觸發(fā)事件,則在步驟149,驅(qū)動(dòng)器映像提供器向驅(qū)動(dòng)器資源提供器通知該事件并標(biāo)識(shí)虛擬驅(qū)動(dòng)器,并且可以標(biāo)識(shí)主機(jī)應(yīng)用。
在步驟140,驅(qū)動(dòng)器映像提供器在用于虛擬存儲(chǔ)庫的圖5A、5B所示的驅(qū)動(dòng)器映像表70、71中查找虛擬驅(qū)動(dòng)器。
步驟136判定步驟135的命令是否需要物理驅(qū)動(dòng)器來完成對(duì)事件的響應(yīng)。例如,“搜索”、“讀取”和“寫入”命令都需要物理驅(qū)動(dòng)器。“詢問”命令不需要物理驅(qū)動(dòng)器,并且可以在沒有驅(qū)動(dòng)器的情況下由驅(qū)動(dòng)器映像提供器提供響應(yīng),該響應(yīng)可以在步驟137提供。驅(qū)動(dòng)器映像提供器作為已尋址的虛擬驅(qū)動(dòng)器響應(yīng),并且采用來自圖5A、5B的驅(qū)動(dòng)器映像表70、71或等同物的驅(qū)動(dòng)器的特征。如果便攜式數(shù)據(jù)存儲(chǔ)盒安裝在專用物理驅(qū)動(dòng)器中,因此已把“安裝”命令提供給存儲(chǔ)庫,則將由主機(jī)應(yīng)用提供“搜索”、“讀取”和“寫入”命令。
導(dǎo)致將物理驅(qū)動(dòng)器分配和專用于虛擬驅(qū)動(dòng)器的命令稱作觸發(fā)事件,并且包括“保留”命令和具有驅(qū)動(dòng)器請(qǐng)求效果的其他命令,如“是否存在(are youthere)”類型的命令。導(dǎo)致釋放物理驅(qū)動(dòng)器的命令稱作反觸發(fā)事件,并且包括“釋放”命令和具有驅(qū)動(dòng)器釋放效果的其他命令。保留和釋放命令以及請(qǐng)求或釋放虛擬驅(qū)動(dòng)器的命令由驅(qū)動(dòng)器映像提供器接收。
在步驟142,驅(qū)動(dòng)器映像提供器根據(jù)驅(qū)動(dòng)器映像表判定物理驅(qū)動(dòng)器是否專用于命令的虛擬驅(qū)動(dòng)器。如果物理驅(qū)動(dòng)器專用于虛擬驅(qū)動(dòng)器,“是”,則在步驟143,驅(qū)動(dòng)器映像提供器引導(dǎo)請(qǐng)求主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池的專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信。必要時(shí)可以對(duì)通信進(jìn)行降級(jí)(destage)和轉(zhuǎn)換(translate),從而,從主機(jī)應(yīng)用的角度來看,通信看上去就像是在主機(jī)應(yīng)用與虛擬驅(qū)動(dòng)器之間。通信包括由于該命令而產(chǎn)生的所有預(yù)期通信,并且將包括傳輸帶有任何預(yù)期首標(biāo)的數(shù)據(jù)等。
如果主機(jī)應(yīng)用向存儲(chǔ)庫發(fā)出了“安裝”命令,則很有可能向虛擬驅(qū)動(dòng)器發(fā)出“搜索”等命令。該命令可能在由驅(qū)動(dòng)器資源提供器更新驅(qū)動(dòng)器映像表之前接收。因此,在驅(qū)動(dòng)器資源提供器從驅(qū)動(dòng)器池中專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之前,在步驟142,驅(qū)動(dòng)器映像提供器根據(jù)驅(qū)動(dòng)器映像表判定沒有物理驅(qū)動(dòng)器專用于請(qǐng)求主機(jī)應(yīng)用,并且在步驟150驅(qū)動(dòng)器映像提供器以偽完成響應(yīng)來響應(yīng)請(qǐng)求主機(jī)應(yīng)用,從而具有向主機(jī)應(yīng)用通知接收到請(qǐng)求、并且虛擬驅(qū)動(dòng)器對(duì)于完成需要已安裝的便攜式數(shù)據(jù)存儲(chǔ)盒的任何命令“未就緒”的效果。驅(qū)動(dòng)器映像提供器報(bào)告兩種類型的“未就緒”偽完成響應(yīng)。在一個(gè)例子中,如果在驅(qū)動(dòng)器映像表中指示虛擬驅(qū)動(dòng)器為正在等待“w”,則驅(qū)動(dòng)器映像提供器報(bào)告虛擬驅(qū)動(dòng)器“即將就緒”。在一個(gè)可選例子中,驅(qū)動(dòng)器映像提供器報(bào)告虛擬驅(qū)動(dòng)器上“沒有存儲(chǔ)盒”。無論在哪種情況下,“未就緒”響應(yīng)不是任何被請(qǐng)求工作完成的指示。相反,它是基于兩種原因之一的命令拒絕形式。
當(dāng)步驟136表示不需要物理驅(qū)動(dòng)器,如上所述,例如“詢問”、“保留”或“釋放”命令等時(shí),驅(qū)動(dòng)器映像提供器作為被尋址的虛擬驅(qū)動(dòng)器響應(yīng),采用來自圖5A、5B的驅(qū)動(dòng)器映像表70、71的虛擬驅(qū)動(dòng)器的特征。
參照?qǐng)D10A和10B,步驟160是指發(fā)生觸發(fā)事件,例如在存在或不存在鎖定驅(qū)動(dòng)器的請(qǐng)求的情況下接收到“安裝”命令161、“保留”命令162或驅(qū)動(dòng)器的請(qǐng)求163,如“是否存在”請(qǐng)求。該請(qǐng)求將已由驅(qū)動(dòng)器映像提供器接收,并且在圖9的步驟144通知給驅(qū)動(dòng)器資源提供器,或者,如果是由存儲(chǔ)庫或虛擬存儲(chǔ)庫直接接收的“安裝”命令,則將它作為直接觸發(fā)事件提供給驅(qū)動(dòng)器資源提供器。
在步驟170,驅(qū)動(dòng)器資源提供器確定請(qǐng)求主機(jī)向其發(fā)起觸發(fā)事件的虛擬驅(qū)動(dòng)器。這典型地從通知或命令本身確定。在步驟172,驅(qū)動(dòng)器資源提供器為虛擬驅(qū)動(dòng)器確定圖5A和5B的驅(qū)動(dòng)器映像表70、71。
在確定了驅(qū)動(dòng)器映像表之后,在步驟175驅(qū)動(dòng)器資源提供器訪問驅(qū)動(dòng)器映像表。在步驟176,驅(qū)動(dòng)器資源提供器根據(jù)驅(qū)動(dòng)器映像表判定物理驅(qū)動(dòng)器是否專用于事件的虛擬驅(qū)動(dòng)器。如果驅(qū)動(dòng)器已被專用,則過程在步驟177結(jié)束,并且驅(qū)動(dòng)器映像提供器正在引導(dǎo)請(qǐng)求主機(jī)應(yīng)用與作為虛擬驅(qū)動(dòng)器的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信,如圖9的步驟143所示。
如果驅(qū)動(dòng)器未被專用,則在步驟180,驅(qū)動(dòng)器資源提供器根據(jù)圖6的驅(qū)動(dòng)器表80判定“n”-“m”是否大于零。如果“n”-“m”大于零,“是”,則不是所有物理驅(qū)動(dòng)器均被分配,因此存在物理驅(qū)動(dòng)器可用于分配和專用于請(qǐng)求主機(jī)應(yīng)用。如上所述,驅(qū)動(dòng)器池可以僅包括與虛擬驅(qū)動(dòng)器的特征相兼容的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。作為一個(gè)例子,很多物理驅(qū)動(dòng)器可能是流式驅(qū)動(dòng)器,而被請(qǐng)求虛擬驅(qū)動(dòng)器可能是停啟式驅(qū)動(dòng)器(stop-start drive)。
如果有物理驅(qū)動(dòng)器可用,從而“n”-“m”>0,則在步驟185,驅(qū)動(dòng)器資源提供器將物理驅(qū)動(dòng)器分配給虛擬驅(qū)動(dòng)器,從而將物理驅(qū)動(dòng)器專用于請(qǐng)求主機(jī)應(yīng)用。如果有多個(gè)驅(qū)動(dòng)器可用,則可以根據(jù)適當(dāng)?shù)乃惴▉磉x擇特定驅(qū)動(dòng)器。作為一個(gè)例子,可以選擇其特征最接近于虛擬驅(qū)動(dòng)器的驅(qū)動(dòng)器。作為另一個(gè)例子,可以選擇空閑時(shí)間最長的驅(qū)動(dòng)器。因此,驅(qū)動(dòng)器資源提供器將“m”增至值“m”+1。
當(dāng)在步驟185分配物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí),驅(qū)動(dòng)器資源提供器更新圖5A或5B的驅(qū)動(dòng)器映像表70、71。如上所述,驅(qū)動(dòng)器資源提供器因此將數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的已分配和專用的驅(qū)動(dòng)器映射到每個(gè)主機(jī)應(yīng)用的虛擬驅(qū)動(dòng)器。更新后的驅(qū)動(dòng)器映像表可以從驅(qū)動(dòng)器資源提供器周期性地由驅(qū)動(dòng)器映像提供器訪問,或者每個(gè)驅(qū)動(dòng)器映像提供器可以在需要時(shí)訪問相關(guān)驅(qū)動(dòng)器映像表。圖6的驅(qū)動(dòng)器表80也被更新,并且可以包括步驟185的驅(qū)動(dòng)器分配。在步驟187,驅(qū)動(dòng)器資源提供器向存儲(chǔ)庫指示解除暫停關(guān)于請(qǐng)求的便攜式數(shù)據(jù)存儲(chǔ)盒的安裝,如后所述。
如果沒有物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器可用,如步驟180所示判定“n”-“m”等于零,“否”,從而表示在驅(qū)動(dòng)器池的所有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器均被分配的情況下接收到對(duì)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的請(qǐng)求,則在步驟190,驅(qū)動(dòng)器資源提供器向存儲(chǔ)庫指示暫停任何關(guān)于請(qǐng)求的便攜式數(shù)據(jù)存儲(chǔ)盒的安裝。通過這種方式,當(dāng)沒有物理驅(qū)動(dòng)器可用于在其上安裝存儲(chǔ)盒時(shí),存儲(chǔ)庫不啟動(dòng)安裝,否則,安裝將開始移動(dòng)存取器自動(dòng)機(jī)械以選擇所選便攜式數(shù)據(jù)存儲(chǔ)盒。在沒有驅(qū)動(dòng)器的情況下禁止安裝將防止如下潛在性鎖定,即存取器自動(dòng)機(jī)械要把存儲(chǔ)盒安裝在一個(gè)驅(qū)動(dòng)器上,同時(shí)該同一存取器自動(dòng)機(jī)械可能被要求卸載另一個(gè)存儲(chǔ)盒以便使卸載驅(qū)動(dòng)器可用。另外,在步驟190,將偽完成響應(yīng)提供給安裝請(qǐng)求,這將防止命令只能依次被處理的情形下的潛在“命令”鎖定。一旦驅(qū)動(dòng)器可用并且任何存儲(chǔ)盒已被卸載,則在步驟187釋放安裝。如果步驟180指示沒有驅(qū)動(dòng)器被分配,則在步驟280,驅(qū)動(dòng)器資源提供器在驅(qū)動(dòng)器映像提供器的驅(qū)動(dòng)器映像表(例如,圖5A的表70)中張貼指示“W”,以表示驅(qū)動(dòng)器資源提供器正在等待被釋放驅(qū)動(dòng)器。
可以采用各種可選替代方案來分配物理驅(qū)動(dòng)器,而不是僅等待釋放當(dāng)前分配的驅(qū)動(dòng)器。這些替代方案在下面討論,并且可以以任意次序?qū)崿F(xiàn)。
如果步驟180指示沒有驅(qū)動(dòng)器可用,則連接符208連到圖10B和步驟210。步驟210涉及如圖7的存儲(chǔ)庫映像表85的列88所示虛擬存儲(chǔ)庫或虛擬驅(qū)動(dòng)器分配有相對(duì)優(yōu)先級(jí)的情形。因此,在采用多個(gè)虛擬存儲(chǔ)庫的情況下,其中,虛擬存儲(chǔ)庫至少之一比其他虛擬存儲(chǔ)庫具有更高的優(yōu)先級(jí),則在步驟210,驅(qū)動(dòng)器資源提供器確定虛擬存儲(chǔ)庫或被請(qǐng)求虛擬驅(qū)動(dòng)器的優(yōu)先級(jí),并且確定請(qǐng)求虛擬存儲(chǔ)庫或虛擬驅(qū)動(dòng)器是否具有較高優(yōu)先級(jí)。如果請(qǐng)求虛擬存儲(chǔ)庫或虛擬驅(qū)動(dòng)器具有較高優(yōu)先級(jí),則在步驟211,驅(qū)動(dòng)器資源提供器從較低優(yōu)先級(jí)虛擬存儲(chǔ)庫中選擇一個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。在步驟212,驅(qū)動(dòng)器資源提供器從較低優(yōu)先級(jí)虛擬存儲(chǔ)庫的驅(qū)動(dòng)器映像表中釋放所選數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,向驅(qū)動(dòng)器映像提供器通知該釋放,并且向存儲(chǔ)庫通知在步驟215從被釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒。在步驟216,驅(qū)動(dòng)器映像提供器向其主機(jī)應(yīng)用表征被釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的虛擬驅(qū)動(dòng)器“未就緒”。在步驟220,驅(qū)動(dòng)器資源提供器為較高優(yōu)先級(jí)虛擬存儲(chǔ)庫分配被釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。連接符222通向步驟186,其中,在驅(qū)動(dòng)器映像表中將驅(qū)動(dòng)器專用于請(qǐng)求主機(jī)應(yīng)用的虛擬驅(qū)動(dòng)器,并且在步驟187釋放安裝的任何暫停。通過步驟185、186和187,由驅(qū)動(dòng)器映像提供器在步驟150放入隊(duì)列的任何工作退出隊(duì)列(dequeue)。
如上所述,驅(qū)動(dòng)器資源提供器還可以在任何驅(qū)動(dòng)器池之外將多個(gè)存儲(chǔ)庫數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器至少之一分配為備用驅(qū)動(dòng)器。然后,驅(qū)動(dòng)器資源提供器可以將備用驅(qū)動(dòng)器分配給請(qǐng)求。作為一個(gè)例子,如果沒有在較低優(yōu)先級(jí)情形下分配物理驅(qū)動(dòng)器,則可以采用備用驅(qū)動(dòng)器。可選地,僅對(duì)于高優(yōu)先級(jí)虛擬存儲(chǔ)庫,才可以請(qǐng)求備用驅(qū)動(dòng)器。因此,如果步驟210判定請(qǐng)求虛擬存儲(chǔ)庫或虛擬驅(qū)動(dòng)器具有高優(yōu)先級(jí),則步驟230判定備用驅(qū)動(dòng)器使用是否得到授權(quán)。無論主機(jī)應(yīng)用的優(yōu)先級(jí)是否在判定中起部分作用,都可以例如根據(jù)圖7的存儲(chǔ)庫映像表85的列89來判定備用驅(qū)動(dòng)器的授權(quán)。
即使備用驅(qū)動(dòng)器可能得到授權(quán),它們的使用也可能受到限制。作為一個(gè)例子,在步驟240設(shè)置超時(shí),從而允許在一定時(shí)間內(nèi)釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,對(duì)此由步驟243檢測(cè)。如果步驟243指示有驅(qū)動(dòng)器被釋放,則連接符205通向圖10A的步驟185以分配被釋放的驅(qū)動(dòng)器。如果步驟243指示沒有驅(qū)動(dòng)器被釋放,則步驟245判定超時(shí)時(shí)間段是否結(jié)束。如果否,“否”,則過程循環(huán)回到步驟243,并且等待被釋放的驅(qū)動(dòng)器。
如果超時(shí)時(shí)間段結(jié)束,則可以采用對(duì)備用驅(qū)動(dòng)器使用的另一個(gè)限制。作為一個(gè)例子,備用驅(qū)動(dòng)器使用可以受限于預(yù)定次數(shù)。如下所述,可以向系統(tǒng)操作員請(qǐng)求增加驅(qū)動(dòng)器到“n”個(gè)驅(qū)動(dòng)器的驅(qū)動(dòng)器池,并且防止無限制使用備用驅(qū)動(dòng)器。具體地說,在步驟253,在驅(qū)動(dòng)器池的所有數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器均被分配的情況下,每次接收到備用驅(qū)動(dòng)器請(qǐng)求時(shí),驅(qū)動(dòng)器資源提供器增加計(jì)數(shù)。在步驟254,驅(qū)動(dòng)器資源提供器將增加后的計(jì)數(shù)與預(yù)定限值進(jìn)行比較,并且當(dāng)增加后的計(jì)數(shù)小于預(yù)定限值時(shí),在步驟255將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配給請(qǐng)求的虛擬存儲(chǔ)庫。更新圖6的驅(qū)動(dòng)器表80和圖7的存儲(chǔ)庫映像表85,從而將驅(qū)動(dòng)器從備用驅(qū)動(dòng)器移到被釋放驅(qū)動(dòng)器,臨時(shí)將驅(qū)動(dòng)器池“n”增至值“n”+1,并且在表85的列97中將驅(qū)動(dòng)器分配給請(qǐng)求的虛擬存儲(chǔ)庫。連接符205通向圖10A的步驟185,以將現(xiàn)在被釋放的驅(qū)動(dòng)器分配給請(qǐng)求主機(jī)應(yīng)用的虛擬驅(qū)動(dòng)器。
作為選項(xiàng),在分配備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之后,驅(qū)動(dòng)器資源提供器還在步驟260投遞表示使用備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的消息。在一個(gè)實(shí)施例中,所投遞消息包括向系統(tǒng)操作員通知可以采取行動(dòng)以將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中的通知。作為一個(gè)例子,將備用驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中將導(dǎo)致存儲(chǔ)庫的成本提高。如果進(jìn)行轉(zhuǎn)移,則驅(qū)動(dòng)器資源提供器將備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器永久性地加入驅(qū)動(dòng)器池,從而刪除作為備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器。
在另一個(gè)實(shí)施例中,作為誘導(dǎo),所投遞消息還包括不能將備用驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中將導(dǎo)致備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的將來不可用性的通知,并且當(dāng)沒有將至少一個(gè)備用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器轉(zhuǎn)移到驅(qū)動(dòng)器池中的請(qǐng)求時(shí),驅(qū)動(dòng)器資源提供器刪除存儲(chǔ)庫數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器作為備用驅(qū)動(dòng)器的分配,使得被分配備用驅(qū)動(dòng)器變得未被分配。如上所述,備用驅(qū)動(dòng)器的使用可以受限于步驟254的預(yù)定限值。
如果在步驟230沒有備用驅(qū)動(dòng)器得到授權(quán),或者步驟253的增加后計(jì)數(shù)達(dá)到步驟254的預(yù)定限度,則在步驟282,驅(qū)動(dòng)器資源提供器等待釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器和在所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒的請(qǐng)求,從而釋放數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。如果通過步驟282判定沒有驅(qū)動(dòng)器被釋放,則處理繼續(xù)循環(huán)。當(dāng)釋放驅(qū)動(dòng)器時(shí),步驟282通向圖10A的連接符205,以在步驟185將所釋放的數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器分配給請(qǐng)求驅(qū)動(dòng)器的主機(jī)應(yīng)用的虛擬驅(qū)動(dòng)器,并且在步驟187向存儲(chǔ)庫指示解除暫停任何關(guān)于請(qǐng)求的安裝。
除了釋放任何被暫停的存儲(chǔ)庫安裝之外,驅(qū)動(dòng)器資源提供器還提供要在其上執(zhí)行任何被暫停安裝或任何將來安裝的專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的指示。指示包括張貼到由存儲(chǔ)庫訪問的圖6的驅(qū)動(dòng)器表80。作為對(duì)釋放被暫停安裝的補(bǔ)充替代方案,向?qū)S梦锢頂?shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的指示提供通知給存儲(chǔ)庫的釋放指示。
圖11涉及步驟300的反觸發(fā)事件。反觸發(fā)事件的一個(gè)例子包括在預(yù)定超時(shí)時(shí)間段內(nèi)沒有使用專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。在一個(gè)實(shí)施例中,在步驟310標(biāo)識(shí)包括驅(qū)動(dòng)器使用的功能的完成,并且在步驟311,對(duì)該驅(qū)動(dòng)器的計(jì)時(shí)器進(jìn)行復(fù)位。然后,步驟312繼續(xù)跟蹤計(jì)時(shí)器,并且指示該時(shí)間段是否結(jié)束。
其他反觸發(fā)事件包括“卸載”請(qǐng)求315,從虛擬驅(qū)動(dòng)器中卸載存儲(chǔ)盒,并且將存儲(chǔ)盒移到另一點(diǎn),如貯存架;“釋放”命令316,釋放被保留的虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器;以及驅(qū)動(dòng)器釋放指示317。如上所述,“卸載”命令典型地提供給存儲(chǔ)庫,并且它不是在圖9的步驟135由驅(qū)動(dòng)器映像提供器接收的命令。當(dāng)接收到“卸載”命令時(shí),存儲(chǔ)庫確定專用于虛擬驅(qū)動(dòng)器的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,啟動(dòng)卸載,并且向驅(qū)動(dòng)器資源提供器通知該命令?!搬尫拧泵罨蛘哒?qǐng)求釋放虛擬驅(qū)動(dòng)器的命令在圖9的步驟135由驅(qū)動(dòng)器映像提供器接收。驅(qū)動(dòng)器映像提供器在步驟143判定它是反觸發(fā)事件;并且在步驟149通知驅(qū)動(dòng)器資源提供器。在圖11的步驟320,驅(qū)動(dòng)器資源提供器確定請(qǐng)求主機(jī)向其發(fā)起反觸發(fā)事件的虛擬驅(qū)動(dòng)器。這典型地從命令本身確定。
步驟325判定在驅(qū)動(dòng)器中是否安裝了便攜式數(shù)據(jù)存儲(chǔ)盒。這可以例如從圖1的存儲(chǔ)庫處理器45確定。“卸載”命令將導(dǎo)致由存取器自動(dòng)機(jī)械卸載便攜式存儲(chǔ)盒,從而步驟325指示沒有存儲(chǔ)盒安裝在驅(qū)動(dòng)器中。其他反觸發(fā)事件可以不在驅(qū)動(dòng)器中安裝了便攜式存儲(chǔ)盒的情況下發(fā)生,并且可以不包括卸載。如果有存儲(chǔ)盒安裝在驅(qū)動(dòng)器中,則在步驟326驅(qū)動(dòng)器資源提供器向存儲(chǔ)庫指示要卸載存儲(chǔ)盒。
在步驟330,驅(qū)動(dòng)器資源提供器為虛擬驅(qū)動(dòng)器,或者如果步驟310-312采用物理驅(qū)動(dòng)器則為物理驅(qū)動(dòng)器,確定圖5A或5B的驅(qū)動(dòng)器映像表70、71。
然后在步驟331,驅(qū)動(dòng)器資源提供器從主機(jī)應(yīng)用的虛擬驅(qū)動(dòng)器中釋放驅(qū)動(dòng)器。在步驟343,驅(qū)動(dòng)器資源提供器指示驅(qū)動(dòng)器被釋放,將“m”減至“m”-1。可選地,如果采用備用驅(qū)動(dòng)器,步驟340判定所釋放的驅(qū)動(dòng)器是否為共享驅(qū)動(dòng)器。如果是,則步驟341將驅(qū)動(dòng)器返回到其原始狀態(tài),將“n”減至“n”-1。如果驅(qū)動(dòng)器是備用驅(qū)動(dòng)器,則系統(tǒng)操作員可以隨后響應(yīng)圖10B的步驟260的消息,并且增加一個(gè)或多個(gè)備用驅(qū)動(dòng)器到驅(qū)動(dòng)器池。如果驅(qū)動(dòng)器不是備用驅(qū)動(dòng)器,則驅(qū)動(dòng)器資源提供器直接進(jìn)入步驟345。在步驟345,更新各個(gè)表,從而在圖6的驅(qū)動(dòng)表80中將驅(qū)動(dòng)器返回到其作為備用驅(qū)動(dòng)器的原始狀態(tài),或者在圖6的驅(qū)動(dòng)器表中指示驅(qū)動(dòng)器被釋放。
圖12A-12C表示對(duì)虛擬存儲(chǔ)庫鎖定和解鎖數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器。圖12A的步驟400表示圖10A的觸發(fā)事件160,其中,在鎖定的情況下請(qǐng)求驅(qū)動(dòng)器。步驟401相當(dāng)于用于將驅(qū)動(dòng)器專用于虛擬驅(qū)動(dòng)器的圖10A步驟185,并且另外包括將“鎖定”加到驅(qū)動(dòng)器表,如圖6的驅(qū)動(dòng)器表80的驅(qū)動(dòng)器“DR1”所示。
圖12B的步驟410表示圖11的反觸發(fā)事件300,其中,在釋放鎖定的情況下由主機(jī)應(yīng)用釋放驅(qū)動(dòng)器。步驟411可以緊接在步驟300之后發(fā)生,并且包括判定命令是否包括釋放鎖定。如果是,則在步驟412,在圖6的驅(qū)動(dòng)器表80中,由驅(qū)動(dòng)器資源提供器釋放鎖定。
步驟420表示不包括鎖定釋放的圖11的反觸發(fā)事件300,如“卸載”命令。步驟421通過例如參考圖6的驅(qū)動(dòng)器表80來判定驅(qū)動(dòng)器是否被鎖定。如果驅(qū)動(dòng)器未被鎖定,則執(zhí)行圖11的步驟320-345的處理。如果設(shè)備被鎖定并且在圖12B的步驟412未被解鎖,則在步驟425執(zhí)行所請(qǐng)求的事件,并且在步驟426保持這些表不變,從而驅(qū)動(dòng)器保持鎖定于主機(jī)應(yīng)用。
上述過程的步驟可以適當(dāng)?shù)馗淖冺樞蚧蛘呓M合和修改細(xì)節(jié)。
盡管詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施例,但應(yīng)該清楚,在不脫離由所附權(quán)利要求限定的本發(fā)明的范圍的情況下,可以對(duì)這些實(shí)施例進(jìn)行各種變更和修改。
權(quán)利要求
1.一種用于自動(dòng)數(shù)據(jù)存儲(chǔ)庫的虛擬化方法,向主機(jī)應(yīng)用提供具有固定標(biāo)識(shí)的固定多個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像,包括將“n”個(gè)驅(qū)動(dòng)器的驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”分配給驅(qū)動(dòng)器映像提供器,從而驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;響應(yīng)于請(qǐng)求驅(qū)動(dòng)器的觸發(fā)事件,并且將驅(qū)動(dòng)器池的“n”-“m”個(gè)驅(qū)動(dòng)器之一專用于虛擬驅(qū)動(dòng)器;并且引導(dǎo)主機(jī)與作為固定虛擬驅(qū)動(dòng)器的專用驅(qū)動(dòng)器之間的通信;并且在驅(qū)動(dòng)器專用之前,向請(qǐng)求主機(jī)應(yīng)用表征虛擬驅(qū)動(dòng)器“未就緒”。
2.一種用于引導(dǎo)至少一個(gè)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信的虛擬化系統(tǒng),所述存儲(chǔ)庫在貯存架上貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,并且在所述貯存架與所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送所述便攜式數(shù)據(jù)存儲(chǔ)盒,所述虛擬化系統(tǒng)包括至少一個(gè)驅(qū)動(dòng)器映像提供器,耦合到所述至少一個(gè)主機(jī)應(yīng)用,向所述至少一個(gè)主機(jī)應(yīng)用提供至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像,為所述至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的每一個(gè)提供固定標(biāo)識(shí)和對(duì)所述至少一個(gè)主機(jī)應(yīng)用的固定響應(yīng)集;并且引導(dǎo)所述至少一個(gè)主機(jī)應(yīng)用與所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信;以及驅(qū)動(dòng)器資源提供器,耦合到所述至少一個(gè)驅(qū)動(dòng)器映像提供器,在任一時(shí)間,所述驅(qū)動(dòng)器資源提供器將所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”分配給所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且指示所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;所述驅(qū)動(dòng)器資源提供器響應(yīng)于所述至少一個(gè)主機(jī)應(yīng)用請(qǐng)求所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的觸發(fā)事件,將所述驅(qū)動(dòng)器池的所述“n”-“m”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用于所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,向所述虛擬物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述驅(qū)動(dòng)器映像提供器提供其指示;所述驅(qū)動(dòng)器映像提供器向所述請(qǐng)求主機(jī)應(yīng)用表示所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,作為所述一個(gè)固定虛擬驅(qū)動(dòng)器,所述驅(qū)動(dòng)器映像提供器引導(dǎo)由所述請(qǐng)求主機(jī)應(yīng)用向作為所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的通信;并且當(dāng)所述請(qǐng)求主機(jī)應(yīng)用在所述驅(qū)動(dòng)器資源提供器專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之前請(qǐng)求該虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí),所述驅(qū)動(dòng)器映像提供器向所述請(qǐng)求主機(jī)應(yīng)用表示所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器“未就緒”。
3.如權(quán)利要求2所述的虛擬化系統(tǒng),其中,所述觸發(fā)事件包括以下任一項(xiàng)所述請(qǐng)求主機(jī)應(yīng)用在虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝所述便攜式數(shù)據(jù)存儲(chǔ)盒所選之一的請(qǐng)求,并且其中所述驅(qū)動(dòng)器資源提供器還向所述存儲(chǔ)庫指示要在所述驅(qū)動(dòng)器池的所述“n”-“m”個(gè)數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的所述專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝所述所選便攜式數(shù)據(jù)存儲(chǔ)盒;所述請(qǐng)求主機(jī)應(yīng)用對(duì)所述驅(qū)動(dòng)器映像提供器的虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的“保留”請(qǐng)求,所述驅(qū)動(dòng)器映像提供器向所述驅(qū)動(dòng)器資源提供器通知所述請(qǐng)求,并且其中所述驅(qū)動(dòng)器資源提供器還向所述存儲(chǔ)庫指示所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用于所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,以安裝被選用于在所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝的任何便攜式數(shù)據(jù)存儲(chǔ)盒;所述請(qǐng)求主機(jī)應(yīng)用對(duì)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的請(qǐng)求,并且其中所述驅(qū)動(dòng)器資源提供器還向所述存儲(chǔ)庫指示所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用于所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,以安裝被選用于在所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上安裝的任何便攜式數(shù)據(jù)存儲(chǔ)盒。
4.如權(quán)利要求2或3所述的虛擬化系統(tǒng),其中所述驅(qū)動(dòng)器資源提供器還響應(yīng)與包括所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器相關(guān)的反觸發(fā)事件,所述驅(qū)動(dòng)器資源提供器指示從所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中釋放所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且將其加到所述驅(qū)動(dòng)器池的所述被釋放物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中。
5.如權(quán)利要求4所述的虛擬化系統(tǒng),其中所述反觸發(fā)事件包括下列一項(xiàng)或多項(xiàng)由所述至少一個(gè)主機(jī)應(yīng)用發(fā)出的從標(biāo)識(shí)為所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中卸載所述便攜式數(shù)據(jù)存儲(chǔ)盒中的所述一個(gè)的命令,并且其中所述驅(qū)動(dòng)器資源提供器還向所述存儲(chǔ)庫提供要卸載所述便攜式數(shù)據(jù)存儲(chǔ)盒中的所述一個(gè)的指示;由所述至少一個(gè)主機(jī)應(yīng)用發(fā)出的讓所述驅(qū)動(dòng)器映像提供器釋放所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的命令,并且其中所述驅(qū)動(dòng)器映像提供器向所述驅(qū)動(dòng)器資源提供器通知所述命令,并且還向所述存儲(chǔ)庫通知卸載安裝在所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上的任何所述便攜式數(shù)據(jù)存儲(chǔ)盒;或者在預(yù)定超時(shí)時(shí)間段內(nèi)沒有使用所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,其中,當(dāng)所述預(yù)定超時(shí)時(shí)間段結(jié)束時(shí),所述驅(qū)動(dòng)器資源提供器還向存儲(chǔ)庫通知卸載安裝在所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器上的任何所述便攜式數(shù)據(jù)存儲(chǔ)盒。
6.如權(quán)利要求2至5中的任一項(xiàng)所述的虛擬化系統(tǒng),還包括多個(gè)虛擬存儲(chǔ)庫,其中,所述虛擬存儲(chǔ)庫至少之一分配有較高優(yōu)先級(jí)。因此,在“m”-“n”等于零、意味著所述驅(qū)動(dòng)器池的所有所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器均被專用的情況下,當(dāng)發(fā)生所述較高優(yōu)先級(jí)虛擬存儲(chǔ)庫的觸發(fā)事件時(shí),所述驅(qū)動(dòng)器資源提供器從較低優(yōu)先級(jí)所述虛擬存儲(chǔ)庫中釋放物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,向所述驅(qū)動(dòng)器映像提供器通知所述釋放,向所述存儲(chǔ)庫通知從所述被釋放的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中卸載任何便攜式數(shù)據(jù)存儲(chǔ)盒,并且將所述被釋放的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器專用于所述較高優(yōu)先級(jí)主機(jī)應(yīng)用的所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且其中所述驅(qū)動(dòng)器映像提供器向所述較低優(yōu)先級(jí)虛擬存儲(chǔ)庫的所述主機(jī)應(yīng)用表征所述被釋放的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器“未就緒”。
7.如權(quán)利要求2至6中的任一項(xiàng)所述的虛擬化系統(tǒng),其中所述驅(qū)動(dòng)器資源提供器將所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一鎖定于所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一,使得使所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器不可用為被釋放驅(qū)動(dòng)器。
8.如權(quán)利要求2至7中的任一項(xiàng)所述的虛擬化系統(tǒng),其中在所述驅(qū)動(dòng)器資源提供器的所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中增加、刪除、交換所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器至少之一,并且其中所述驅(qū)動(dòng)器映像提供器表示所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器無變化。
9.如權(quán)利要求2所述的虛擬化系統(tǒng),其中所述驅(qū)動(dòng)器映像提供器表示包括以下項(xiàng)中的一項(xiàng)或多項(xiàng)對(duì)所述無變化虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的每一個(gè)采用相同唯一序列號(hào),以及對(duì)所述無變化虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的每一個(gè)采用相同地址。
10.如權(quán)利要求2至9中的任一項(xiàng)所述的虛擬化系統(tǒng),其中存在下列之一所述驅(qū)動(dòng)器映像提供器包括所述至少一個(gè)主機(jī)應(yīng)用的設(shè)備驅(qū)動(dòng)程序,并且其中所述驅(qū)動(dòng)器資源提供器包括多個(gè)所述主機(jī)應(yīng)用之一的設(shè)備驅(qū)動(dòng)程序所述驅(qū)動(dòng)器資源提供器包括介于所述至少一個(gè)主機(jī)應(yīng)用與所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫之間的組件;以及所述驅(qū)動(dòng)器映像提供器包括所述至少一個(gè)主機(jī)應(yīng)用的設(shè)備驅(qū)動(dòng)程序,并且其中所述驅(qū)動(dòng)器資源提供器包括所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的組件。
11.一種用于引導(dǎo)至少一個(gè)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信的虛擬化方法,所述存儲(chǔ)庫在貯存架上貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,并且在所述貯存架與所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送所述便攜式數(shù)據(jù)存儲(chǔ)盒,所述虛擬化方法包括以下步驟響應(yīng)所述至少一個(gè)主機(jī)應(yīng)用,提供至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像,為所述至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的每一個(gè)提供固定標(biāo)識(shí)和對(duì)所述至少一個(gè)主機(jī)應(yīng)用的固定響應(yīng)集,并且引導(dǎo)所述至少一個(gè)主機(jī)應(yīng)用與所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信;提供所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池,在任一時(shí)間,分配所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”,并且指示所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;響應(yīng)請(qǐng)求所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的所述至少一個(gè)主機(jī)應(yīng)用的觸發(fā)事件,將所述驅(qū)動(dòng)器池的所述“n”-“m”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用于所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器;向所述請(qǐng)求主機(jī)應(yīng)用表征所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為所述一個(gè)固定虛擬驅(qū)動(dòng)器,引導(dǎo)由所述請(qǐng)求主機(jī)應(yīng)用向作為所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的通信;以及當(dāng)所述請(qǐng)求主機(jī)應(yīng)用在專用所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用步驟之前請(qǐng)求虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí),向所述請(qǐng)求主機(jī)應(yīng)用表征所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器“未就緒”。
12.一種可供可編程計(jì)算機(jī)使用的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品具有在其中實(shí)施的計(jì)算機(jī)可讀程序代碼,用于引導(dǎo)至少一個(gè)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的虛擬化通信,所述存儲(chǔ)庫在貯存架上貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,并且在所述貯存架與所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送所述便攜式數(shù)據(jù)存儲(chǔ)盒,所述至少一個(gè)主機(jī)應(yīng)用耦合到所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫,所述計(jì)算機(jī)程序產(chǎn)品包括使計(jì)算機(jī)處理器執(zhí)行以下操作的計(jì)算機(jī)可讀程序代碼,即響應(yīng)所述至少一個(gè)主機(jī)應(yīng)用,提供至少一個(gè)固定虛擬驅(qū)動(dòng)器的映像,為所述至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的每一個(gè)提供固定標(biāo)識(shí)和對(duì)所述至少一個(gè)主機(jī)應(yīng)用的固定響應(yīng)集,引導(dǎo)所述至少一個(gè)主機(jī)應(yīng)用與所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信;使計(jì)算機(jī)處理器執(zhí)行以下操作的計(jì)算機(jī)可讀程序代碼,即標(biāo)識(shí)所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池,在任一時(shí)間,分配所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”,并且指示所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;使計(jì)算機(jī)處理器執(zhí)行以下操作的計(jì)算機(jī)可讀程序代碼,即響應(yīng)請(qǐng)求所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的所述至少一個(gè)主機(jī)應(yīng)用的觸發(fā)事件,將所述驅(qū)動(dòng)器池的所述“n”-“m”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用于所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器;使計(jì)算機(jī)處理器執(zhí)行以下操作的計(jì)算機(jī)可讀程序代碼,即向所述請(qǐng)求主機(jī)應(yīng)用表征所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為所述一個(gè)固定虛擬驅(qū)動(dòng)器,引導(dǎo)由所述請(qǐng)求主機(jī)應(yīng)用向作為所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的通信;以及使計(jì)算機(jī)處理器執(zhí)行以下操作的計(jì)算機(jī)可讀程序代碼,即當(dāng)所述請(qǐng)求主機(jī)應(yīng)用在所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用之前請(qǐng)求虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí),向所述請(qǐng)求主機(jī)應(yīng)用表征所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器“未就緒”。
13.一種自動(dòng)數(shù)據(jù)存儲(chǔ)庫,耦合到至少一個(gè)主機(jī)應(yīng)用,包括多個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器;多個(gè)貯存架,用于貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒;存取器自動(dòng)機(jī)械,用于在所述貯存架與所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送所述便攜式數(shù)據(jù)存儲(chǔ)盒;自動(dòng)機(jī)械控制裝置,用于操作所述存取器自動(dòng)機(jī)械;至少一個(gè)驅(qū)動(dòng)器映像提供器,耦合到所述至少一個(gè)主機(jī)應(yīng)用,提供至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像,為所述至少一個(gè)固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的每一個(gè)提供固定標(biāo)識(shí)和對(duì)所述至少一個(gè)主機(jī)應(yīng)用的固定響應(yīng)集,并且引導(dǎo)所述至少一個(gè)主機(jī)應(yīng)用與“n”個(gè)所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信;以及驅(qū)動(dòng)器資源提供器,耦合到所述至少一個(gè)驅(qū)動(dòng)器映像提供器,在任一時(shí)間,所述驅(qū)動(dòng)器資源提供器將所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”分配給所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且指示所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;所述驅(qū)動(dòng)器資源提供器響應(yīng)所述至少一個(gè)主機(jī)應(yīng)用請(qǐng)求所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的觸發(fā)事件,將所述驅(qū)動(dòng)器池的所述“n”-“m”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用于所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,向所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述驅(qū)動(dòng)器映像提供器提供其指示;所述驅(qū)動(dòng)器映像提供器向所述請(qǐng)求主機(jī)應(yīng)用表征所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為所述一個(gè)固定虛擬驅(qū)動(dòng)器,所述驅(qū)動(dòng)器映像提供器引導(dǎo)由所述請(qǐng)求主機(jī)應(yīng)用向作為所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的通信;并且當(dāng)所述請(qǐng)求主機(jī)應(yīng)用在所述驅(qū)動(dòng)器資源提供器專用所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之前請(qǐng)求虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí),所述驅(qū)動(dòng)器映像提供器向所述請(qǐng)求主機(jī)應(yīng)用表征所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器“未就緒”。
14.一種用于引導(dǎo)至少一個(gè)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信的虛擬化系統(tǒng),所述存儲(chǔ)庫在貯存架上貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,并且在所述貯存架與所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送所述便攜式數(shù)據(jù)存儲(chǔ)盒,所述虛擬化系統(tǒng)包括驅(qū)動(dòng)器資源提供器,提供至少一個(gè)驅(qū)動(dòng)器映像表,其中驅(qū)動(dòng)器映像表包括提供固定多個(gè)所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像的虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器列表,并且對(duì)于每個(gè)所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器提供固定標(biāo)識(shí);在任一時(shí)間,所述驅(qū)動(dòng)器資源提供器分配所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池的任意“m”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,并且指示所述數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;所述驅(qū)動(dòng)器資源提供器響應(yīng)所述至少一個(gè)主機(jī)應(yīng)用請(qǐng)求所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的觸發(fā)事件,將所述驅(qū)動(dòng)器池的所述“n”-“m”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用于所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,在所述驅(qū)動(dòng)器映像表中標(biāo)識(shí)所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器;以及至少一個(gè)驅(qū)動(dòng)器映像提供器,耦合到所述至少一個(gè)主機(jī)應(yīng)用并且耦合到所述驅(qū)動(dòng)器資源提供器,向所述至少一個(gè)主機(jī)應(yīng)用提供所述固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的至少一個(gè)映像,所述映像得自對(duì)應(yīng)的所述驅(qū)動(dòng)器映像表,所述驅(qū)動(dòng)器映像提供器為所述固定多個(gè)虛擬驅(qū)動(dòng)器中的每一個(gè)提供所述固定標(biāo)識(shí)和對(duì)所述至少一個(gè)主機(jī)應(yīng)用的固定響應(yīng)集;并且引導(dǎo)所述至少一個(gè)主機(jī)應(yīng)用與所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池的所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信;所述驅(qū)動(dòng)器映像提供器響應(yīng)所述驅(qū)動(dòng)器映像表中所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用和標(biāo)識(shí),向所述請(qǐng)求主機(jī)應(yīng)用表征所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為所述固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一,并且引導(dǎo)所述專用數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器與作為所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述請(qǐng)求主機(jī)應(yīng)用之間的通信;并且當(dāng)所述請(qǐng)求主機(jī)應(yīng)用在所述驅(qū)動(dòng)器資源提供器專用所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之前請(qǐng)求虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí),所述驅(qū)動(dòng)器映像提供器向所述請(qǐng)求主機(jī)應(yīng)用表征所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器“未就緒”。
15.一種用于引導(dǎo)至少一個(gè)主機(jī)應(yīng)用與自動(dòng)數(shù)據(jù)存儲(chǔ)庫的物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信的虛擬化方法,所述存儲(chǔ)庫在貯存架上貯存多個(gè)便攜式數(shù)據(jù)存儲(chǔ)盒,并且在所述貯存架與所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間傳送所述便攜式數(shù)據(jù)存儲(chǔ)盒,所述虛擬化方法包括以下步驟提供至少一個(gè)驅(qū)動(dòng)器映像表,其中驅(qū)動(dòng)器映像表包括提供固定多個(gè)所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像的虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器列表,并且對(duì)于每個(gè)所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器提供固定標(biāo)識(shí);響應(yīng)所述至少一個(gè)主機(jī)應(yīng)用,向所述至少一個(gè)主機(jī)應(yīng)用提供所述固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的至少一個(gè)映像,所述映像得自對(duì)應(yīng)的所述驅(qū)動(dòng)器映像表,為所述固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器中的每一個(gè)提供所述固定標(biāo)識(shí)和對(duì)所述至少一個(gè)主機(jī)應(yīng)用的固定響應(yīng)集;并且引導(dǎo)所述至少一個(gè)主機(jī)應(yīng)用與所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的所述多個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之間的通信;提供所述自動(dòng)數(shù)據(jù)存儲(chǔ)庫的“n”個(gè)所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的驅(qū)動(dòng)器池,在任一時(shí)間,分配所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”,并且指示所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;響應(yīng)所述至少一個(gè)主機(jī)應(yīng)用請(qǐng)求所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一的觸發(fā)事件,將所述驅(qū)動(dòng)器池的所述“n”-“m”個(gè)物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一專用于所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器,在所述驅(qū)動(dòng)器映像表中標(biāo)識(shí)所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為所述一個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器;響應(yīng)所述驅(qū)動(dòng)器映像表中所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用和標(biāo)識(shí),向所述請(qǐng)求主機(jī)應(yīng)用表征所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器為所述固定虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器之一,引導(dǎo)所述專用物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器與作為所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述請(qǐng)求主機(jī)應(yīng)用之間的通信;以及當(dāng)所述請(qǐng)求主機(jī)應(yīng)用在專用所述物理數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的所述專用步驟之前請(qǐng)求虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器時(shí),向所述請(qǐng)求主機(jī)應(yīng)用表征所述虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器“未就緒”。
全文摘要
提供一種自動(dòng)數(shù)據(jù)存儲(chǔ)庫及用于自動(dòng)數(shù)據(jù)存儲(chǔ)庫的虛擬化方法和虛擬化系統(tǒng)。其中,該虛擬化方法向主機(jī)應(yīng)用提供具有固定標(biāo)識(shí)的固定多個(gè)虛擬數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器的映像,包括將“n”個(gè)驅(qū)動(dòng)器的驅(qū)動(dòng)器池中的任意個(gè)數(shù)“m”分配給驅(qū)動(dòng)器映像提供器,從而驅(qū)動(dòng)器池中的“n”-“m”個(gè)是被釋放的并且可用于分配;響應(yīng)于請(qǐng)求驅(qū)動(dòng)器的觸發(fā)事件,并且將驅(qū)動(dòng)器池的“n”-“m”個(gè)驅(qū)動(dòng)器之一專用于虛擬驅(qū)動(dòng)器;并且引導(dǎo)主機(jī)與作為固定虛擬驅(qū)動(dòng)器的專用驅(qū)動(dòng)器之間的通信;并且在驅(qū)動(dòng)器專用之前,向請(qǐng)求主機(jī)應(yīng)用表征虛擬驅(qū)動(dòng)器“未就緒”。
文檔編號(hào)G11B15/68GK1828512SQ20061000679
公開日2006年9月6日 申請(qǐng)日期2002年8月14日 優(yōu)先權(quán)日2001年9月10日
發(fā)明者羅伯特·B·巴沙姆, 柯比·G·達(dá)曼, 肯尼思·F·戴第三, 倫納德·G·杰西奧諾斯基 申請(qǐng)人:國際商業(yè)機(jī)器公司