欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

自動數(shù)據(jù)存儲庫中的數(shù)據(jù)存儲驅(qū)動器的制作方法

文檔序號:6750200閱讀:266來源:國知局
專利名稱:自動數(shù)據(jù)存儲庫中的數(shù)據(jù)存儲驅(qū)動器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及在貯存架中貯存便攜式數(shù)據(jù)存儲盒(storage cartridge)并且在貯存架與數(shù)據(jù)存儲驅(qū)動器之間傳送便攜式數(shù)據(jù)存儲盒的自動數(shù)據(jù)存儲庫的數(shù)據(jù)存儲驅(qū)動器,用于在數(shù)據(jù)存儲驅(qū)動器上安裝和卸載便攜式數(shù)據(jù)存儲盒,特別涉及這些數(shù)據(jù)存儲驅(qū)動器相對于與存儲庫通信的主機(jī)應(yīng)用的分配以及這些數(shù)據(jù)存儲驅(qū)動器的虛擬化。
背景技術(shù)
自動數(shù)據(jù)存儲庫日益用于存儲大量數(shù)據(jù),典型地是不被主機(jī)應(yīng)用頻繁訪問的數(shù)據(jù)。數(shù)據(jù)存儲在便攜式數(shù)據(jù)存儲盒上,其中便攜式數(shù)據(jù)存儲盒貯存在貯存架中。便攜式數(shù)據(jù)存儲盒的例子是容納一段磁帶或容納光盤的存儲盒。
當(dāng)數(shù)據(jù)被存儲庫訪問時,通過存儲庫的自動機(jī)械控制來操作的存取器自動機(jī)械(accessor robot)從貯存所需便攜式數(shù)據(jù)存儲盒的貯存架夾取(grip)該存儲盒,并且在貯存架與數(shù)據(jù)存儲驅(qū)動器之間傳送便攜式數(shù)據(jù)存儲盒,以在數(shù)據(jù)存儲驅(qū)動器上安裝和卸載便攜式數(shù)據(jù)存儲盒,并且將便攜式數(shù)據(jù)存儲盒返回到相同或不同貯存架。
自動數(shù)據(jù)存儲庫有時安排成即使存在多個主機(jī)應(yīng)用,存儲庫及其數(shù)據(jù)存儲驅(qū)動器對于每個主機(jī)應(yīng)用看上去就像是其自己的存儲庫和驅(qū)動器一樣。在一個例子中,存儲庫的一組特定貯存架和至少一個數(shù)據(jù)存儲驅(qū)動器專用于每個主機(jī)應(yīng)用。當(dāng)存在來自主機(jī)應(yīng)用的數(shù)據(jù)請求時,具有請求數(shù)據(jù)的便攜式數(shù)據(jù)存儲盒被存儲庫的存取器自動機(jī)械訪問,并且傳送到專用于主機(jī)應(yīng)用的數(shù)據(jù)存儲驅(qū)動器以由主機(jī)應(yīng)用使用。這樣,主機(jī)應(yīng)用可以對已知的驅(qū)動器執(zhí)行一系列安裝。從主機(jī)的角度來看,這是非常高效的,因為其驅(qū)動器總是可用,并且驅(qū)動器尋址是直接和立即的。存儲庫也可以看來像是被直接分配給主機(jī)應(yīng)用,但是存取器自動機(jī)械實(shí)際上是共享的。從驅(qū)動器使用的角度來看,這是低效的,因為如果每一個主機(jī)應(yīng)用不是一直使用其專用數(shù)據(jù)存儲驅(qū)動器,則驅(qū)動器經(jīng)常是空閑的。由于驅(qū)動器分配給不同主機(jī)應(yīng)用,因此任何特別有效的主機(jī)應(yīng)用不能從另一個主機(jī)應(yīng)用“借用”驅(qū)動器,并且例如如果所有被分配驅(qū)動器得到利用并且需要不同存儲盒上的數(shù)據(jù),則主機(jī)應(yīng)用可能必須等待直到主機(jī)應(yīng)用本身卸載一個存儲盒或者釋放其驅(qū)動器,從而訪問其他存儲盒上的數(shù)據(jù)。從另一個主機(jī)應(yīng)用“借用”驅(qū)動器無論如何都需要至少重新配置用于這兩個主機(jī)應(yīng)用的設(shè)備驅(qū)動程序。如果主機(jī)應(yīng)用的需求增長,在不重新配置至少主機(jī)應(yīng)用的情況下,新驅(qū)動器不能分配給該主機(jī)應(yīng)用。
在另一個例子中,主機(jī)應(yīng)用不允許與數(shù)據(jù)存儲驅(qū)動器直接通信。相反,建立“虛擬”存儲庫,它采用高速緩沖存儲器(典型地是盤驅(qū)動器)來存儲從主機(jī)應(yīng)用接收的數(shù)據(jù),表現(xiàn)起來就像是高速緩沖存儲器是數(shù)據(jù)存儲驅(qū)動器并且正在將數(shù)據(jù)寫入到便攜式數(shù)據(jù)存儲盒一樣。數(shù)據(jù)在高速緩沖存儲器中的時候可以被重新訪問,這稱作“高速緩沖存儲器命中(hit)”。如果不被重新訪問,則存儲庫采用由存儲庫選擇的數(shù)據(jù)存儲驅(qū)動器將數(shù)據(jù)從高速緩沖存儲器下載到存儲盒。當(dāng)主機(jī)應(yīng)用請求數(shù)據(jù)時,并且該數(shù)據(jù)不在高速緩沖存儲器中時,這稱作“高速緩沖存儲器未命中(miss)”,存儲庫采用表來查找存儲數(shù)據(jù)的存儲盒,操作存取器自動機(jī)械來訪問存儲盒,查找可用數(shù)據(jù)存儲驅(qū)動器,操作存取器自動機(jī)械來在驅(qū)動器上安裝存儲盒,從存儲盒中讀取數(shù)據(jù),并且將數(shù)據(jù)上載到高速緩沖存儲器。從存儲庫的角度來看,使用存儲庫組件是高效的。然而,高速緩沖存儲器是昂貴的,并且增加成本和復(fù)雜性。高速緩沖存儲器必須足夠大以處理大數(shù)據(jù)集,并且必須具有良好的升級(staging)和降級(destaging)算法以避免過量的“高速緩沖存儲器未命中”情形。主機(jī)應(yīng)用與高速緩沖存儲器通信而不是與驅(qū)動器直接通信,并且任何主機(jī)應(yīng)用可以競爭使用共享組件,從而導(dǎo)致較不可預(yù)測的性能。如果驅(qū)動器失敗并且需要更換,則主機(jī)應(yīng)用可能不能從異常情況恢復(fù),尤其是沒有任何其他驅(qū)動器可用的情況。如果驅(qū)動器在所有其他方面都是同類的,則有可能可以將重新配置限于改變序列號。對于異類驅(qū)動器(具有至少一個不同特征的驅(qū)動器),在不作較大重新配置來適應(yīng)不同特征的情況下,禁止其升級、交換或共享。通過在不同主機(jī)處理器之間分區(qū)的主機(jī)應(yīng)用,可以提供受限驅(qū)動器共享,但是分區(qū)必須不斷地相互通知它們對驅(qū)動器的使用,從而保持同步,并且不允許主機(jī)應(yīng)用之外的共享。

發(fā)明內(nèi)容
本發(fā)明的本實(shí)施例的一個目的是提供一種以高效方式采用共享組件的自動數(shù)據(jù)存儲庫系統(tǒng)。
本發(fā)明實(shí)施例的另一個目的是在不需要重新配置主機(jī)應(yīng)用或存儲庫的情況下,允許擴(kuò)展主機(jī)應(yīng)用或存儲庫來獲得附加驅(qū)動器的好處。
一種分配系統(tǒng)和計算機(jī)實(shí)現(xiàn)方法,被提供用于分配自動數(shù)據(jù)存儲庫的物理數(shù)據(jù)存儲驅(qū)動器。存儲庫在貯存架上貯存多個便攜式數(shù)據(jù)存儲盒,并且存取器自動機(jī)械在貯存架與數(shù)據(jù)存儲驅(qū)動器之間傳送便攜式數(shù)據(jù)存儲盒,以在數(shù)據(jù)存儲驅(qū)動器上安裝和卸載便攜式數(shù)據(jù)存儲盒。
分配系統(tǒng)包括響應(yīng)例如來自主機(jī)應(yīng)用的數(shù)據(jù)存儲驅(qū)動器請求而耦合到存儲庫(或其上的)驅(qū)動器資源提供器。根據(jù)共同未決的′00038-US1申請,驅(qū)動器資源提供器將多個存儲庫物理數(shù)據(jù)存儲器驅(qū)動器分配給驅(qū)動器池,并且為有益于主機(jī)應(yīng)用而從驅(qū)動器池分配和釋放數(shù)據(jù)存儲驅(qū)動器。
根據(jù)本發(fā)明,當(dāng)在驅(qū)動器池的所有數(shù)據(jù)存儲驅(qū)動器均被分配的情況下接收到數(shù)據(jù)存儲驅(qū)動器請求時,驅(qū)動器資源提供器向存儲庫指示暫停(hold)任何關(guān)于該請求的便攜式數(shù)據(jù)存儲盒的安裝。另外,當(dāng)在所有驅(qū)動器均被分配的情況下接收到請求時,驅(qū)動器映像提供器提供被請求驅(qū)動器當(dāng)前不可用于完成需要已安裝便攜式數(shù)據(jù)存儲盒的任何隨后命令的指示。如共同未決的′00038-US1申請所述,響應(yīng)可以包括在此稱作“未就緒”的偽完成響應(yīng)。因此,主機(jī)應(yīng)用被保證它具有數(shù)據(jù)存儲驅(qū)動器,并且如果需要,可以重試或發(fā)出其下一個關(guān)于驅(qū)動器的命令。如果下一個命令不要求驅(qū)動器就緒或者便攜式數(shù)據(jù)存儲盒被安裝且就緒,則存儲庫可能能夠立即處理命令。
在提供指示之后,驅(qū)動器資源提供器等待釋放數(shù)據(jù)存儲驅(qū)動器和在所釋放的數(shù)據(jù)存儲驅(qū)動器上卸載任何便攜式數(shù)據(jù)存儲盒的請求,并且將所釋放的數(shù)據(jù)存儲驅(qū)動器分配給驅(qū)動器請求,并且向存儲庫指示解除暫停關(guān)于請求的安裝。
另外,驅(qū)動器資源提供器在驅(qū)動器池之外分配多個存儲庫數(shù)據(jù)存儲驅(qū)動器至少之一作為備用驅(qū)動器。因而,在提供指示之后,驅(qū)動器資源提供器將至少一個備用驅(qū)動器之一分配給該請求,并且向存儲庫指示解除暫停關(guān)于請求的安裝。
在一個可選實(shí)施例中,驅(qū)動器資源提供器等待預(yù)定時間段,并且如果在預(yù)定時間段內(nèi)出現(xiàn)釋放數(shù)據(jù)存儲驅(qū)動器和在所釋放的數(shù)據(jù)存儲驅(qū)動器上卸載任何便攜式數(shù)據(jù)存儲盒的請求,則將所釋放的數(shù)據(jù)存儲驅(qū)動器分配給該請求;否則,在該時間段結(jié)束之后,驅(qū)動器資源提供器將備用數(shù)據(jù)存儲驅(qū)動器分配給該請求。
作為另一個實(shí)施例,存儲庫包括多個虛擬存儲庫,并且多個虛擬存儲庫至少之一具有比其他虛擬存儲庫更高的優(yōu)先級。驅(qū)動器資源提供器確定虛擬驅(qū)動器請求的虛擬存儲庫的優(yōu)先級,并且如果虛擬存儲庫具有較高優(yōu)先級,則響應(yīng)該請求分配備用驅(qū)動器,并且向存儲庫指示解除暫停關(guān)于請求的安裝。
在另一個實(shí)施例中,備用驅(qū)動器使用受到限制。當(dāng)驅(qū)動器池的所有數(shù)據(jù)存儲驅(qū)動器均被分配時,每次接收到請求時,驅(qū)動器資源提供器增加計數(shù)。驅(qū)動器資源提供器將增加后的計數(shù)與預(yù)定限值進(jìn)行比較,并且當(dāng)增加后的計數(shù)小于預(yù)定限值時,分配備用數(shù)據(jù)存儲驅(qū)動器。
作為另一個實(shí)施例,在分配備用數(shù)據(jù)存儲驅(qū)動器之后,驅(qū)動器資源提供器還投遞(post)表示使用備用數(shù)據(jù)存儲驅(qū)動器的消息。在一個實(shí)施例中,所投遞消息包括向系統(tǒng)操作員通知可以采取行動以將備用數(shù)據(jù)存儲驅(qū)動器轉(zhuǎn)移到驅(qū)動器池中的通知。作為一個例子,將備用驅(qū)動器轉(zhuǎn)移到驅(qū)動器池中將導(dǎo)致存儲庫的成本提高。如果進(jìn)行轉(zhuǎn)移,則驅(qū)動器資源提供器將備用數(shù)據(jù)存儲驅(qū)動器加入驅(qū)動器池,從而刪除作為備用數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器。
在另一個實(shí)施例中,作為誘導(dǎo)(incentive),所投遞消息還包括將備用驅(qū)動器轉(zhuǎn)移到驅(qū)動器池中的失敗將導(dǎo)致備用數(shù)據(jù)存儲驅(qū)動器的將來不可用性的通知,并且當(dāng)沒有將至少一個備用數(shù)據(jù)存儲驅(qū)動器轉(zhuǎn)移到驅(qū)動器池中的請求時,驅(qū)動器資源提供器刪除將多個存儲庫數(shù)據(jù)存儲驅(qū)動器至少之一分配為備用驅(qū)動器,從而被分配備用驅(qū)動器變得未被分配。
這樣,驅(qū)動器一被釋放,則將驅(qū)動器分配給主機(jī)應(yīng)用,或者將備用驅(qū)動器分配為備用驅(qū)動器。另外,如果需要,向系統(tǒng)提供備用驅(qū)動器,并且當(dāng)系統(tǒng)需求增長時,允許系統(tǒng)操作員通過永久性地增加備用驅(qū)動器到驅(qū)動器池來選擇性地增大驅(qū)動器池中的數(shù)據(jù)存儲驅(qū)動器數(shù),而無需首先聯(lián)系銷售人員。
本發(fā)明的一個目的是允許主機(jī)應(yīng)用各自獲得對自動數(shù)據(jù)存儲庫的一個或多個共享數(shù)據(jù)存儲驅(qū)動器的訪問,并且具有驅(qū)動器專用于主機(jī)而無需高速緩沖存儲器的表象。
本發(fā)明的另一個目的是在無需重新配置主機(jī)應(yīng)用設(shè)備驅(qū)動程序的情況下允許增加、刪除或更換驅(qū)動器。
虛擬化系統(tǒng)引導(dǎo)主機(jī)應(yīng)用與自動數(shù)據(jù)存儲庫的物理數(shù)據(jù)存儲驅(qū)動器之間的通信。存儲庫在貯存架上貯存多個便攜式數(shù)據(jù)存儲盒,并且提供用于在貯存架與數(shù)據(jù)存儲驅(qū)動器之間傳送便攜式數(shù)據(jù)存儲盒的存取器自動機(jī)械。
至少一個驅(qū)動器映像提供器耦合到主機(jī)應(yīng)用,從而向主機(jī)應(yīng)用提供至少一個虛擬數(shù)據(jù)存儲驅(qū)動器的至少一個映像,為每一個虛擬驅(qū)動器提供固定標(biāo)識和對主機(jī)應(yīng)用的固定響應(yīng)集,并且引導(dǎo)主機(jī)應(yīng)用與自動數(shù)據(jù)存儲庫的“n”個數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器池的數(shù)據(jù)存儲驅(qū)動器之間的通信。
驅(qū)動器資源提供器耦合到驅(qū)動器映像提供器。在任一時間,驅(qū)動器資源提供器向驅(qū)動器映像提供器分配了“n”個物理數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器池中的任意個數(shù)“m”,并且指示數(shù)據(jù)存儲驅(qū)動器池中的“n”-“m”是被釋放的并且可用于分配。驅(qū)動器資源提供器響應(yīng)主機(jī)應(yīng)用的請求虛擬驅(qū)動器的觸發(fā)事件(triggering event),將驅(qū)動器池的“n”-“m”個數(shù)據(jù)存儲驅(qū)動器之一專用于虛擬驅(qū)動器,向驅(qū)動器映像提供器指示作為固定多個虛擬驅(qū)動器之一專用于請求主機(jī)應(yīng)用。
驅(qū)動器映像提供器向請求主機(jī)應(yīng)用表征(characterize)專用數(shù)據(jù)存儲驅(qū)動器為固定虛擬驅(qū)動器之一,并且引導(dǎo)由作為虛擬驅(qū)動器的請求主機(jī)應(yīng)用向?qū)S脭?shù)據(jù)存儲驅(qū)動器的通信。
在驅(qū)動器資源提供器專用驅(qū)動器之前,驅(qū)動器映像提供器向請求主機(jī)應(yīng)用表征虛擬驅(qū)動器“未就緒”。作為例子,“未就緒”包括沒有介質(zhì)裝載在驅(qū)動器中的報告狀態(tài)。
在一個實(shí)施例中,觸發(fā)事件包括請求主機(jī)應(yīng)用在虛擬數(shù)據(jù)存儲驅(qū)動器上安裝便攜式數(shù)據(jù)存儲盒所選之一的請求。驅(qū)動器資源提供器向存儲庫指示驅(qū)動器池的“n”-“m”個數(shù)據(jù)存儲驅(qū)動器中的哪一個是專用于主機(jī)應(yīng)用以安裝所選便攜式數(shù)據(jù)存儲盒的驅(qū)動器。
作為一個可選實(shí)施例,觸發(fā)事件包括請求主機(jī)應(yīng)用對驅(qū)動器映像提供器的虛擬數(shù)據(jù)存儲驅(qū)動器的“保留”請求?!氨A簟闭埱笥沈?qū)動器映像提供器接收,作為對驅(qū)動器池的驅(qū)動器的請求向驅(qū)動器資源提供器通知。驅(qū)動器資源提供器另外向存儲庫指示專用數(shù)據(jù)存儲驅(qū)動器專用于請求主機(jī)應(yīng)用,以安裝被選用于作為虛擬驅(qū)動器、由固定標(biāo)識所識別的數(shù)據(jù)存儲驅(qū)動器的任何便攜式數(shù)據(jù)存儲盒。
作為另一個可選實(shí)施例,觸發(fā)事件包括請求主機(jī)應(yīng)用對虛擬數(shù)據(jù)存儲驅(qū)動器的命令。驅(qū)動器資源提供器另外向存儲庫指示專用數(shù)據(jù)存儲驅(qū)動器專用于請求主機(jī)應(yīng)用,以安裝被選用于作為虛擬驅(qū)動器、由固定標(biāo)識所識別的數(shù)據(jù)存儲驅(qū)動器的任何便攜式數(shù)據(jù)存儲盒。
驅(qū)動器資源提供器響應(yīng)與主機(jī)應(yīng)用相關(guān)并指定專用于反觸發(fā)(detriggering)主機(jī)應(yīng)用的數(shù)據(jù)存儲驅(qū)動器、指示從驅(qū)動器映像提供器中釋放數(shù)據(jù)存儲驅(qū)動器的反觸發(fā)事件(detriggering event),并且將該驅(qū)動器加入驅(qū)動器池的被釋放數(shù)據(jù)存儲驅(qū)動器。在一個實(shí)施例中,反觸發(fā)事件包括從識別為虛擬數(shù)據(jù)存儲驅(qū)動器之一的專用數(shù)據(jù)存儲驅(qū)動器卸載便攜式數(shù)據(jù)存儲盒之一的反觸發(fā)主機(jī)應(yīng)用命令。在這種情況下,驅(qū)動器資源提供器向存儲庫提供指示,標(biāo)識作為在其上安裝了便攜式數(shù)據(jù)存儲盒的虛擬驅(qū)動器的該專用數(shù)據(jù)存儲驅(qū)動器。在另一個實(shí)施例中,反觸發(fā)事件包括釋放識別為虛擬數(shù)據(jù)存儲驅(qū)動器之一的專用數(shù)據(jù)存儲驅(qū)動器的反觸發(fā)主機(jī)應(yīng)用的命令。
在另一個實(shí)施例中,反觸發(fā)事件包括在預(yù)定超時時間段內(nèi)不使用專用數(shù)據(jù)存儲驅(qū)動器。當(dāng)預(yù)定超時時間段結(jié)束時,驅(qū)動器資源提供器判定便攜式數(shù)據(jù)存儲盒之一是否保持安裝在專用數(shù)據(jù)存儲驅(qū)動器上,并且向存儲庫通知卸載已安裝的便攜式數(shù)據(jù)存儲盒。
在另一個實(shí)施例中,存儲庫包括多個虛擬存儲庫,并且多個虛擬存儲庫至少之一分配有較高優(yōu)先級。因此,當(dāng)“m”-“n”等于零、意味著所有數(shù)據(jù)存儲驅(qū)動器均被專用時,并且當(dāng)出現(xiàn)較高優(yōu)先級虛擬存儲庫的虛擬驅(qū)動器的觸發(fā)事件時,驅(qū)動器資源提供器從較低優(yōu)先級虛擬存儲庫中釋放數(shù)據(jù)存儲驅(qū)動器,向驅(qū)動器映像提供器通知該釋放,通知存儲庫從被釋放的數(shù)據(jù)存儲驅(qū)動器中卸載任何便攜式數(shù)據(jù)存儲盒,并且將所釋放的數(shù)據(jù)存儲驅(qū)動器專用于較高優(yōu)先級虛擬存儲庫的虛擬驅(qū)動器。
另外,可以在驅(qū)動器資源提供器的數(shù)據(jù)存儲驅(qū)動器池中增加、刪除、或交換數(shù)據(jù)存儲驅(qū)動器,但是驅(qū)動器映像提供器表征虛擬驅(qū)動器無變化。
在一個實(shí)施例中,驅(qū)動器資源提供器采用驅(qū)動器映像表與驅(qū)動器映像提供器通信,其中驅(qū)動器映像表具有組成映像的虛擬數(shù)據(jù)存儲驅(qū)動器列表,并且指示驅(qū)動器池中的數(shù)據(jù)存儲驅(qū)動器專用為虛擬驅(qū)動器。
為了更全面理解本發(fā)明,將要參照下面結(jié)合附圖的詳細(xì)描述。


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