新四季網

自動數據存儲庫中的數據存儲驅動器的製作方法

2023-09-21 17:58:50

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

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


圖1是根據本實施例的虛擬化系統的圖形表示;圖2是可以實現本發明實施例的自動數據存儲庫的等軸圖;圖3是圖2的自動數據存儲庫以及主機應用和介於主機應用與可以實現本發明實施例的自動數據存儲庫之間的各組件的方框圖;圖4A和4B分別是可以貯存在圖2和3的自動數據存儲庫的貯存架中的示例性可攜式數據存儲盒的頂視圖和端視圖;圖5A和5B是根據本實施例的示例性驅動器映像表的圖解;圖6是根據本實施例的示例性驅動器表的圖解;圖7是根據本實施例的示例性存儲庫映像表的圖解;圖8是描述用於配置或改變圖2和3的自動數據存儲庫的驅動器的配置的本發明方法的一個實施例的流程圖;圖9是描述用於圖1的驅動器映像提供器的本發明方法的一個實施例的流程圖;圖10A和10B是描述針對觸發事件的用於圖1的驅動器資源提供器的本發明方法的一個實施例的流程圖;圖11是描述針對反觸發事件的用於圖1的驅動器資源提供器的本發明方法的一個實施例的流程圖;以及圖12A、12B和12C是描述針對鎖定數據存儲驅動器的用於圖1的驅動器資源提供器的本發明方法的一個可選實施例的流程圖。
具體實施例方式
本發明在下面參照附圖的描述中是採用優選實施例來描述的,其中,相同的標號表示相同或類似的單元。雖然本發明是按照用於實現本發明目的的最佳方式來描述的,但是本領域的技術人員應該理解,在不脫離本發明的精神或範圍的情況下,可以參照本文實現各種變更。
參照圖1-3,示出虛擬化系統10的實施例,其中,虛擬化系統10引導主機應用如主機應用11、12與自動數據存儲庫17的數據存儲驅動器15之間的通信。存儲庫在貯存架16中貯存多個可攜式數據存儲盒14,並且提供用於在貯存架與數據存儲驅動器之間傳送可攜式數據存儲盒的存取器自動機械18、20。
至少一個驅動器映像提供器30耦合到一個或多個主機應用11、12,並且向每個主機應用提供至少一個固定虛擬數據存儲驅動器的映像,同時實際引導主機應用與自動數據存儲庫的「n」個數據存儲驅動器15的驅動器池的數據存儲驅動器之間的通信。因此,存儲庫的驅動器15在主機應用之間共享。驅動器映像提供器通過為每一個虛擬驅動器採用固定標識和對主機應用的固定響應集來描述與主機通信的映像,從而向主機應用提供主機的所有虛擬驅動器都總是專用於主機的表象。此外,底層物理驅動器在不同訪問時可能不同,並且可以增加、刪除或更換驅動器,所有這些都不需要重新配置主機應用設備驅動程序。
驅動器資源提供器35耦合到驅動器映像提供器30。在任一時間,驅動器資源提供器向驅動器映像提供器分配了「n」個數據存儲驅動器的驅動器池中的任意個數「m」,並且指示「n」-「m」個數據存儲驅動器被釋放並且可用於分配。
驅動器資源提供器35響應請求驅動器用於主機應用虛擬驅動器的觸發事件,並且將驅動器池的「n」-「m」個數據存儲驅動器之一專用為虛擬驅動器,從而指示專用於請求主機應用的驅動器映像提供器,作為固定虛擬驅動器之一。
驅動器映像提供器30向請求主機應用表徵專用數據存儲驅動器為固定虛擬驅動器之一,並且引導由請求主機應用11、12向專用數據存儲驅動器15的通信,作為虛擬驅動器。
在將物理驅動器專用為虛擬驅動器之前,驅動器映像提供器30向請求主機應用表徵虛擬驅動器「未就緒」。作為一個例子,「未就緒」包括沒有介質裝載在驅動器中的報告狀態的偽完成響應。
根據本發明,當在驅動器池的所有數據存儲驅動器均被分配的情況下接收到數據存儲驅動器請求時,驅動器資源提供器35向存儲庫指示暫停任何關於請求的可攜式數據存儲盒安裝。另外,當在所有驅動器均被分配的情況下接收到請求時,可以指示所請求驅動器可用於安裝可攜式數據存儲盒,但是當前不可用於執行需要已安裝可攜式數據存儲盒的任何隨後命令。因此,主機應用11、12被保證它將具有數據存儲驅動器,並且可以重試或發出其下一個關於驅動器的命令。如果下一個命令不要求驅動器就緒或者可攜式數據存儲盒被安裝且就緒,則存儲庫可能能夠處理該命令。
在提供指示之後,驅動器資源提供器35等待釋放數據存儲驅動器和在所釋放的數據存儲驅動器上卸載任何可攜式數據存儲盒的請求,並且將所釋放的數據存儲驅動器分配給驅動器請求,並且向存儲庫指示解除暫停關於請求的安裝。
在一個例子中,還可以為虛擬存儲庫提供一個或多個存儲庫映像提供器43,並且將包括由存儲庫資源提供器39定義的一組虛擬驅動器和一組貯存架16。數據存儲驅動器15在虛擬存儲庫之間共享,但是貯存架16最好是單獨的。
主機應用11、12可以包括主機處理器,如IBM RS/600或IBM eServerpSeries處理器、和在主機處理器上運行的所有應用,或者可以包括在主機處理器上運行的多個應用之一。因此,主機應用被解釋為各自包括具有處理器36和存儲器38的處理系統。
作為例子,自動數據存儲庫17包括自動磁帶盒存儲和檢索庫,用於存儲和訪問包括磁帶盒的物理卷的數據存儲介質,如IBM 3584。可選地,自動數據存儲庫17可以包括光學存儲和檢索庫或者磁帶盒庫等,在此均被定義為存儲可攜式數據存儲盒。數據存儲驅動器15在介質上讀取和/或寫入數據,並且可以包括處理器。存儲庫還包括用於操作存取器自動機械18、20的自動機械控制器41,以及存儲庫管理器40。存取器自動機械18、20包括用於嚙合所選可攜式數據存儲盒14的機械爪(gripper)20以及用於在貯存架16與驅動器15之間或者在貯存架之間移動機械爪的存取器18。存取器自動機械18、20還可以包括安裝在機械爪20上的條形碼掃描器22或類似視覺系統,以「閱讀」標識盒標籤。數據存儲驅動器15可以是光碟驅動器或者磁帶驅動器,並且可攜式數據存儲盒可以包括分別容納光學或磁性介質的匣子或盒子或者任何其他可移動介質。
自動機械控制器41和存儲庫管理器40包括至少一個計算機處理器及其相關存儲器,並且耦合到輸入/輸出接口42和端子28。計算機處理器可以包括例如IBM RS/6000處理器。可選地,自動機械控制器41和存儲庫管理器40可以各自包括計算機處理器,並且這些計算機處理器互連在一起。在本例中,存儲庫管理器40包括計算機處理器45和相關存儲器46。端子28可以包括用於讀取數據存儲介質如軟盤或CD-ROM的站(station)。
存儲庫管理器40與驅動器15耦合,並且控制其裝載/卸載和相關動作,並且存儲庫管理器40與自動機械控制器41耦合,並且協調其操作。存儲庫管理器通過接口42耦合到主機應用11、12。存儲庫管理器24具有存儲在用於表和程序的存儲器46(典型地是一個或多個硬碟驅動器或快閃EEPROM)中的存儲庫管理器資料庫。要在所選可攜式數據存儲盒14上記錄或者從其上讀取的數據存取命令和信息按照驅動器映像提供器30的引導在驅動器15與主機應用之間傳輸。存儲庫管理器40按照其標識符或者可選地按照其位置來定義每個可攜式數據存儲盒,其中,標識符典型地是卷序列號或VOLSER。
主機應用11、12典型地由介於主機應用與自動數據存儲庫之間的一個或多個組件耦合到存儲庫17。
中間組件的一個例子是主機總線適配器50。在一個例子中,主機總線適配器50包括各自與適當的連接接口以耦合到存儲庫或其他中間組件以及主機應用11、12的接口52和53,如PCI、ESCON、FICON、SCSI、光纖通道(FIBER CHANNEL)等。適配器包括處理器54和非易失性存儲器55,以及適當的緩衝器和互連。主機總線適配器50的一個例子包括IBM eServer pSeries千兆位光纖通道適配器。圖中示出主機應用12具有可以包括適配器的接口53。
中間組件的另一個例子包括網關或路由器56,它具有多個帶有適當連接的接口57,以互連如上所述的網絡內多個處理器。網關或路由器包括帶有用於存儲作業系統等的非易失性存儲器59的處理器58。網關或路由器的一個例子是IBM 2108 SAN數據網關。本適配器、路由器或網絡的其他適當術語是「控制器」、「導向器」或「智能交換機」,並且本領域的技術人員可以預見其他應用。
處理器54、58可以包括微處理器,如Intel i960。
根據本發明,驅動器映像提供器30和/或驅動器資源提供器35可以嵌入在主機應用11、12、中間組件50、56或自動數據存儲庫17的任一個之中。作為一個例子,驅動器映像提供器30均包括在相關主機應用11、12的設備驅動程序中,並且驅動器資源提供器包括在介於主機應用與自動數據存儲庫17之間的組件56中。驅動器資源提供器必須位於耦合到具有驅動器映像提供器的每一個主機或者這些主機的主機總線適配器的組件上。作為另一個例子,驅動器映像提供器30包括介於主機應用11、12和自動數據存儲庫17之間的組件50、56,並且驅動器資源提供器35包括介於主機總線適配器50或主機與存儲庫17之間的組件56。作為另一個例子,驅動器映像提供器30包括相關主機應用11、12的設備驅動程序,並且驅動器資源提供器35包括自動數據存儲庫17的組件,如存儲庫管理器40。另一個例子是驅動器映像提供器30包括在介於主機應用與自動數據存儲庫之間的組件50、56中,而驅動器資源提供器35包括自動數據存儲庫17的組件。
存儲庫映像提供器43和存儲庫資源提供器39最好包括在自動數據存儲庫17中。
主機應用11、12的處理器36、中間組件50、56的處理器54、58以及存儲庫的存儲庫管理器40的處理器45中的每一個都裝備有作業系統和應用,並且可以包括根據本發明運行的程序。每個處理器都可以裝備有包括用於表和程序的存儲器(典型地是非易失性存儲器或者一個或多個硬碟驅動器)的資料庫,分別是38、55、59、46。應用程式可以包括一個或多個由計算機可讀程序代碼組成的電腦程式產品。本發明的電腦程式產品可以被提供有1應用程式,並且存儲在所提供的存儲器中,可以在端子28被提供軟盤或CD-ROM,並且包括製造品,可以從主機系統11、12之一接收,可以從網絡接收,或者由其他類似裝置接收。對存儲介質或存儲器的要求是它們存儲計算機可執行指令的數字表示。計算機可讀程序代碼通過它們的一個或多個計算機處理器操作設備。
在圖4A和4B中,示出了可攜式數據存儲盒14的一個例子,它例如包括磁帶盒。存儲盒14在外邊緣61上具有標識標籤60。
圖5A和5B示出由驅動器資源提供器35生成和維護並且提供給圖1的驅動器映像提供器30的驅動器映像表70、71的例子,其中,驅動器資源提供器將數據存儲驅動器池中的已分配和專用的驅動器映射到每個主機應用的虛擬驅動器。驅動器映像表可以由驅動器映像提供器從驅動器資源提供器周期性地讀取,並且例如每半秒更新一次,或者每個驅動器映像提供器可以在需要時訪問相關驅動器映像表。驅動器映像提供器不需要每次刷新表,而是可以查找任何變化。
驅動器映像表包括驅動器映像提供器所要報告並且為其提供響應的虛擬驅動器的列表75。作為一個例子,在SCSI條件(SCSI terms)下,列表75可以包括每個虛擬驅動器的固定地址,如磁帶驅動器LUN標識符。驅動器映像提供器在固定條件下向主機應用提供一個或多個虛擬數據存儲驅動器的映像,並且這些驅動器通過列表75來標識。固定列表由每個虛擬驅動器的特徵標識76來補充,從而驅動器資源提供器可以為每個虛擬驅動器提供固定標識和對主機應用的固定響應集。作為一個例子,特徵可以包括虛擬驅動器的唯一序列號。作為另一個例子,特徵可以包括虛擬驅動器的相同地址。作為另一個例子,可以向虛擬驅動器提供包括類型或製造商名稱和型號的特徵。這將允許驅動器資源提供器從其資料庫確定固定響應集。作為一個可選實施例,驅動器資源提供器的驅動器映像表可以僅包括每個虛擬驅動器的標識符75,並且驅動器映像提供器可以維護每個虛擬驅動器的特徵76。
當驅動器資源提供器從存儲庫的物理驅動器池中將驅動器專用於主機應用的驅動器映像提供器時,這些驅動器例如在SCSI條件下也以LUN標識77。在所示例子中,「*」表示沒有物理驅動器當前分配虛擬驅動器的指示。另外,「W」表示將要分配物理驅動器但是目前尚未分配,如後所述。可選地,驅動器資源提供器還可以提供每個已分配物理驅動器的特徵78,如序列號、類型、製造商名稱和/或型號。
另外參照圖6,圖1的驅動器資源提供器35和/或存儲庫資源提供器39維護物理驅動器81的驅動器表80及其當前分配或狀態82。最好,表80還包括每一個物理驅動器的特徵83,如上所述。
另外參照圖7,圖2和3的存儲庫17可以安排成直接耦合到主機應用,並且接收例如讓存儲庫在所標識的虛擬驅動器上從貯存架16安裝所標識的可攜式數據存儲盒14的請求。為了適應這些請求,存儲庫包括至少一個存儲庫映像表85。該表標識虛擬存儲庫90以及專用於每個虛擬存儲庫的虛擬驅動器87。另外,存儲庫可以指示虛擬存儲庫的優先級88,以及授權89哪一個虛擬存儲庫或虛擬驅動器使用備用驅動器。該信息通過圖1的存儲庫映像提供器43提供給主機應用。
每個虛擬存儲庫分配有一組貯存架16。相同虛擬存儲庫可以由多個主機應用共享,或者可以包括用於每個主機應用的單獨虛擬存儲庫,或者可以是這兩者的混合體。表85在列90中標識虛擬存儲庫,並且在列91中標識分配給每個虛擬存儲庫的圖2和3所示的一組貯存架16。本領域的技術人員應該知道,自動數據存儲庫的貯存架可以由存儲庫管理器進行分區,從而使每個虛擬存儲庫分配有特定一組貯存架,如圖3的貯存架92-96。虛擬存儲庫由圖1的存儲庫資源提供器39安排。最好,虛擬存儲庫以及主機應用共享圖2和3的存儲庫17的物理驅動器15的全部或大部分,如列97所示。某些數據存儲驅動器由於其類型不符合虛擬驅動器要求而可以從用於虛擬存儲庫的「n」個驅動器的驅動器池中扣留。一個例子是僅在特定情形下有用的低速驅動器。另一個例子是對於小型數據記錄不可用的流式驅動器。
在圖5A、5B、6和7的所示表70、71、80和85中,作為例子,物理驅動器「DR3」在驅動器映像表70中分配為虛擬驅動器「AA」,並且位於虛擬存儲庫「0」中。當被主機應用釋放時,或者當主機應用發出命令來卸載安裝在驅動器中的可攜式數據存儲盒時,驅動器將被釋放。物理驅動器「DR1」在驅動器映像表71中分配到虛擬存儲庫「1」,並且專用為虛擬驅動器「EE」。「(L)」表示物理驅動器作為虛擬驅動器鎖定於主機應用,直到被主機應用明確釋放為止,並且當主機應用發出命令來卸載驅動器中安裝的可攜式數據存儲盒時,該驅動器將不被釋放。
虛擬存儲庫的相對優先級88意味著在驅動器池的「n」-「m」個數據存儲驅動器等於零、表示驅動器池的所有驅動器均被分配的情形下,較高優先級主機應用例如優先級「0」可以搶佔已經專用於較低優先級主機應用例如優先級「1」的驅動器。在使用虛擬存儲庫的情況下,這些表描述了將物理驅動器97分配給虛擬存儲庫90的選項,從而定義數據存儲驅動器池。如果僅採用一個存儲庫,則除了備用驅動器之外的所有數據存儲驅動器組成驅動器池。物理驅動器「DR2」此時未分配給任何虛擬驅動器,並且以「被釋放」表示並可用於分配。物理驅動器「DR7」被保留為「備用」驅動器,並且它只能用於如下情形驅動器池的「n」-「m」個數據存儲驅動器等於零、表示驅動器池的所有驅動器均被分配,並且不存在優先級重新分配或者能被重新分配的所有驅動器都具有高優先級分配。如果如列89所示備用驅動器得到授權,則驅動器資源提供器分配備用驅動器之一給該請求。可選地,驅動器資源提供器等待預定時間段,並且如果在預定時間段內完成釋放數據存儲驅動器並且在所釋放的數據存儲驅動器上卸載任何可攜式數據存儲盒的請求,則分配所釋放的數據存儲驅動器給該請求;否則,在該時間段結束之後,驅動器資源提供器將備用數據存儲驅動器分配給該請求。
在分配備用數據存儲驅動器之後,驅動器資源提供器投遞表示使用備用數據存儲驅動器的消息。所投遞消息可以包括向系統管理器通知可以採取行動以將備用數據存儲驅動器轉移到驅動器池中的通知。作為一個例子,將備用驅動器轉移到驅動器池中將導致存儲庫的成本提高。如果進行轉移,則驅動器資源提供器將備用數據存儲驅動器加入驅動器池,從而刪除作為備用數據存儲驅動器的驅動器。
作為誘導,所投遞消息還可以包括不能將備用驅動器轉移到驅動器池中將導致備用數據存儲驅動器的將來不可用性的通知,並且當沒有將至少一個備用數據存儲驅動器轉移到驅動器池中的請求時,驅動器資源提供器刪除將多個存儲庫數據存儲驅動器分配為至少到一個虛擬存儲庫的備用驅動器,從使得被分配的備用驅動器變得未分配給虛擬存儲庫,或者可選地未在存儲庫系統中分配。
在虛擬存儲庫0的驅動器映像表70中,虛擬驅動器「BB」沒有專用數據存儲驅動器,並且處於主機應用需要物理驅動器的情形下。然而,不管是備用驅動器還是來自較低優先級虛擬存儲庫的驅動器或較低優先級虛擬驅動器,都沒有物理驅動器可用。因此,「W」意味著將進行等待,直到數據存儲驅動器在存儲庫的正常操作中變得可用。
圖8示出用於配置圖2或3的存儲庫17的數據存儲驅動器15或者配置虛擬存儲庫的方法的一個實施例。
該配置過程在步驟100開始於啟動或初始化存儲庫。可選地,可以在步驟101增加、刪除或更換物理驅動器,並且開始重新配置。可選地,系統操作員在使用了備用數據存儲驅動器並且接收到如上所述的消息之後,可以選擇將備用驅動器中的一個或多個加入驅動器池,這在步驟102開始。如果向系統操作員提供採用驅動器池中的備用驅動器或者去除驅動器作為備用驅動器的選項、並且選擇去除驅動器(不大可能的場景),則步驟102還可以提供將以前備用的驅動器重新分配為「未被分配」狀態。在這種情形下實際上不需要重新配置存儲庫。
步驟105可以用於使用虛擬存儲庫是可選的情形,並且判定是否實現了虛擬存儲庫。如果實現了虛擬存儲庫,「是」,則步驟106確定所要配置的下一個虛擬存儲庫。如果沒有實現虛擬存儲庫,「否」,則將為單組虛擬驅動器配置物理存儲庫。該處理可以由存儲庫資源提供器和/或驅動器資源提供器執行,並且如果實現了虛擬存儲庫,則需要存儲庫資源提供器。如果沒有實現虛擬存儲庫,則圖7的存儲庫映像表85將僅包括單個存儲庫,消除列90。
在步驟110,確定可用於存儲庫的物理驅動器。該信息可以由系統操作員提供,或者可以包括例如預設值,其中,所有驅動器均由所有虛擬存儲庫共享。在步驟111,標識備用驅動器。備用驅動器可以在出售或安裝圖2或3的存儲庫17的時候建立,或者可以由系統操作員設置以控制為存儲庫而支付的價格。用於虛擬存儲庫的驅動器池中的物理驅動器數「n」是可用物理驅動器數PD減去備用驅動器數SD。
在步驟120,例如從負責系統操作員或者從設備驅動程序確定虛擬驅動器數和每個虛擬驅動器的固定標識,以與每個主機應用通信。這包括要由主機應用用來對固定虛擬驅動器進行尋址、且如圖5A和5B的列75、圖7的列87所示的標識符,並且用於圖6的列82所示的分配。也可以在此處獲得特徵信息76、83。在步驟115,例如由系統操作員確定虛擬存儲庫的相對優先級。作為一個可選方案,可以確定虛擬驅動器的相對優先級。所得到的相對優先級張貼在圖7的列88中。然後,在步驟121,驅動器資源提供器為每個驅動器映像提供器準備驅動器映像表70、71。主驅動器映像表在驅動器資源提供器中維護,從而將數據存儲驅動器池中的已分配和專用的驅動器映射到每個主機應用的虛擬驅動器。如上所述,驅動器映像表可以由驅動器映像提供器從驅動器資源提供器周期性地訪問和刷新或更新,或者每個驅動器映像提供器可以在需要時訪問相關驅動器映像表。
在步驟125,存儲庫資源提供器判定是否所有虛擬存儲庫均被配置。如果是,或者如果沒有實現虛擬存儲庫,則過程結束,如步驟126所示。如果不是所有虛擬存儲庫均被配置,則過程循環回到步驟106以開始下一虛擬存儲庫的配置。
圖9示出當主機應用在步驟135提供虛擬驅動器命令時,圖1的驅動器映像提供器30的處理。事件的例子是「詢問(INQUIRY)」命令;「搜索(SEARCH)」命令,以從已安裝的可攜式數據存儲盒中搜索特定數據;「讀取(READ)」命令,從已安裝的可攜式數據存儲盒中讀取數據;「寫入(WRITE)」命令,在已安裝的可攜式數據存儲盒上寫入數據;「保留(RESERVE)」命令,保留數據存儲驅動器以作將來使用;「釋放(RELEASE)」命令,釋放被保留的數據存儲驅動器;或者其他類似類型的命令。
在步驟141和143,驅動器映像提供器判定從主機應用接收的命令是否構成觸發事件或反觸發事件。如果命令構成觸發事件,則在步驟144,驅動器映像提供器向驅動器資源提供器通知該事件並標識虛擬驅動器,並且可以標識主機應用。如果命令構成反觸發事件,則在步驟149,驅動器映像提供器向驅動器資源提供器通知該事件並標識虛擬驅動器,並且可以標識主機應用。
在步驟140,驅動器映像提供器在用於虛擬存儲庫的圖5A、5B所示的驅動器映像表70、71中查找虛擬驅動器。
步驟136判定步驟135的命令是否需要物理驅動器來完成對事件的響應。例如,「搜索」、「讀取」和「寫入」命令都需要物理驅動器。「詢問」命令不需要物理驅動器,並且可以在沒有驅動器的情況下由驅動器映像提供器提供響應,該響應可以在步驟137提供。驅動器映像提供器作為已尋址的虛擬驅動器響應,並且採用來自圖5A、5B的驅動器映像表70、71或等同物的驅動器的特徵。如果可攜式數據存儲盒安裝在專用物理驅動器中,因此已把「安裝」命令提供給存儲庫,則將由主機應用提供「搜索」、「讀取」和「寫入」命令。
導致將物理驅動器分配和專用於虛擬驅動器的命令稱作觸發事件,並且包括「保留」命令和具有驅動器請求效果的其他命令,如「是否存在(are youthere)」類型的命令。導致釋放物理驅動器的命令稱作反觸發事件,並且包括「釋放」命令和具有驅動器釋放效果的其他命令。保留和釋放命令以及請求或釋放虛擬驅動器的命令由驅動器映像提供器接收。
在步驟142,驅動器映像提供器根據驅動器映像表判定物理驅動器是否專用於命令的虛擬驅動器。如果物理驅動器專用於虛擬驅動器,「是」,則在步驟143,驅動器映像提供器引導請求主機應用與自動數據存儲庫的「n」個數據存儲驅動器的驅動器池的專用數據存儲驅動器之間的通信。必要時可以對通信進行降級(destage)和轉換(translate),從而,從主機應用的角度來看,通信看上去就像是在主機應用與虛擬驅動器之間。通信包括由於該命令而產生的所有預期通信,並且將包括傳輸帶有任何預期首標的數據等。
如果主機應用向存儲庫發出了「安裝」命令,則很有可能向虛擬驅動器發出「搜索」等命令。該命令可能在由驅動器資源提供器更新驅動器映像表之前接收。因此,在驅動器資源提供器從驅動器池中專用物理數據存儲驅動器之前,在步驟142,驅動器映像提供器根據驅動器映像表判定沒有物理驅動器專用於請求主機應用,並且在步驟150驅動器映像提供器以偽完成響應來響應請求主機應用,從而具有向主機應用通知接收到請求、並且虛擬驅動器對於完成需要已安裝的可攜式數據存儲盒的任何命令「未就緒」的效果。驅動器映像提供器報告兩種類型的「未就緒」偽完成響應。在一個例子中,如果在驅動器映像表中指示虛擬驅動器為正在等待「w」,則驅動器映像提供器報告虛擬驅動器「即將就緒」。在一個可選例子中,驅動器映像提供器報告虛擬驅動器上「沒有存儲盒」。無論在哪種情況下,「未就緒」響應不是任何被請求工作完成的指示。相反,它是基於兩種原因之一的命令拒絕形式。
當步驟136表示不需要物理驅動器,如上所述,例如「詢問」、「保留」或「釋放」命令等時,驅動器映像提供器作為被尋址的虛擬驅動器響應,採用來自圖5A、5B的驅動器映像表70、71的虛擬驅動器的特徵。
參照圖10A和10B,步驟160是指發生觸發事件,例如在存在或不存在鎖定驅動器的請求的情況下接收到「安裝」命令161、「保留」命令162或驅動器的請求163,如「是否存在」請求。該請求將已由驅動器映像提供器接收,並且在圖9的步驟144通知給驅動器資源提供器,或者,如果是由存儲庫或虛擬存儲庫直接接收的「安裝」命令,則將它作為直接觸發事件提供給驅動器資源提供器。
在步驟170,驅動器資源提供器確定請求主機向其發起觸發事件的虛擬驅動器。這典型地從通知或命令本身確定。在步驟172,驅動器資源提供器為虛擬驅動器確定圖5A和5B的驅動器映像表70、71。
在確定了驅動器映像表之後,在步驟175驅動器資源提供器訪問驅動器映像表。在步驟176,驅動器資源提供器根據驅動器映像表判定物理驅動器是否專用於事件的虛擬驅動器。如果驅動器已被專用,則過程在步驟177結束,並且驅動器映像提供器正在引導請求主機應用與作為虛擬驅動器的數據存儲驅動器之間的通信,如圖9的步驟143所示。
如果驅動器未被專用,則在步驟180,驅動器資源提供器根據圖6的驅動器表80判定「n」-「m」是否大於零。如果「n」-「m」大於零,「是」,則不是所有物理驅動器均被分配,因此存在物理驅動器可用於分配和專用於請求主機應用。如上所述,驅動器池可以僅包括與虛擬驅動器的特徵相兼容的數據存儲驅動器。作為一個例子,很多物理驅動器可能是流式驅動器,而被請求虛擬驅動器可能是停啟式驅動器(stop-start drive)。
如果有物理驅動器可用,從而「n」-「m」>0,則在步驟185,驅動器資源提供器將物理驅動器分配給虛擬驅動器,從而將物理驅動器專用於請求主機應用。如果有多個驅動器可用,則可以根據適當的算法來選擇特定驅動器。作為一個例子,可以選擇其特徵最接近於虛擬驅動器的驅動器。作為另一個例子,可以選擇空閒時間最長的驅動器。因此,驅動器資源提供器將「m」增至值「m」+1。
當在步驟185分配物理數據存儲驅動器時,驅動器資源提供器更新圖5A或5B的驅動器映像表70、71。如上所述,驅動器資源提供器因此將數據存儲驅動器池中的已分配和專用的驅動器映射到每個主機應用的虛擬驅動器。更新後的驅動器映像表可以從驅動器資源提供器周期性地由驅動器映像提供器訪問,或者每個驅動器映像提供器可以在需要時訪問相關驅動器映像表。圖6的驅動器表80也被更新,並且可以包括步驟185的驅動器分配。在步驟187,驅動器資源提供器向存儲庫指示解除暫停關於請求的可攜式數據存儲盒的安裝,如後所述。
如果沒有物理數據存儲驅動器可用,如步驟180所示判定「n」-「m」等於零,「否」,從而表示在驅動器池的所有數據存儲驅動器均被分配的情況下接收到對數據存儲驅動器的請求,則在步驟190,驅動器資源提供器向存儲庫指示暫停任何關於請求的可攜式數據存儲盒的安裝。通過這種方式,當沒有物理驅動器可用於在其上安裝存儲盒時,存儲庫不啟動安裝,否則,安裝將開始移動存取器自動機械以選擇所選可攜式數據存儲盒。在沒有驅動器的情況下禁止安裝將防止如下潛在性鎖定,即存取器自動機械要把存儲盒安裝在一個驅動器上,同時該同一存取器自動機械可能被要求卸載另一個存儲盒以便使卸載驅動器可用。另外,在步驟190,將偽完成響應提供給安裝請求,這將防止命令只能依次被處理的情形下的潛在「命令」鎖定。一旦驅動器可用並且任何存儲盒已被卸載,則在步驟187釋放安裝。如果步驟180指示沒有驅動器被分配,則在步驟280,驅動器資源提供器在驅動器映像提供器的驅動器映像表(例如,圖5A的表70)中張貼指示「W」,以表示驅動器資源提供器正在等待被釋放驅動器。
可以採用各種可選替代方案來分配物理驅動器,而不是僅等待釋放當前分配的驅動器。這些替代方案在下面討論,並且可以以任意次序實現。
如果步驟180指示沒有驅動器可用,則連接符208連到圖10B和步驟210。步驟210涉及如圖7的存儲庫映像表85的列88所示虛擬存儲庫或虛擬驅動器分配有相對優先級的情形。因此,在採用多個虛擬存儲庫的情況下,其中,虛擬存儲庫至少之一比其他虛擬存儲庫具有更高的優先級,則在步驟210,驅動器資源提供器確定虛擬存儲庫或被請求虛擬驅動器的優先級,並且確定請求虛擬存儲庫或虛擬驅動器是否具有較高優先級。如果請求虛擬存儲庫或虛擬驅動器具有較高優先級,則在步驟211,驅動器資源提供器從較低優先級虛擬存儲庫中選擇一個數據存儲驅動器。在步驟212,驅動器資源提供器從較低優先級虛擬存儲庫的驅動器映像表中釋放所選數據存儲驅動器,向驅動器映像提供器通知該釋放,並且向存儲庫通知在步驟215從被釋放的數據存儲驅動器中卸載任何可攜式數據存儲盒。在步驟216,驅動器映像提供器向其主機應用表徵被釋放數據存儲驅動器的虛擬驅動器「未就緒」。在步驟220,驅動器資源提供器為較高優先級虛擬存儲庫分配被釋放的數據存儲驅動器。連接符222通向步驟186,其中,在驅動器映像表中將驅動器專用於請求主機應用的虛擬驅動器,並且在步驟187釋放安裝的任何暫停。通過步驟185、186和187,由驅動器映像提供器在步驟150放入隊列的任何工作退出隊列(dequeue)。
如上所述,驅動器資源提供器還可以在任何驅動器池之外將多個存儲庫數據存儲驅動器至少之一分配為備用驅動器。然後,驅動器資源提供器可以將備用驅動器分配給請求。作為一個例子,如果沒有在較低優先級情形下分配物理驅動器,則可以採用備用驅動器。可選地,僅對於高優先級虛擬存儲庫,才可以請求備用驅動器。因此,如果步驟210判定請求虛擬存儲庫或虛擬驅動器具有高優先級,則步驟230判定備用驅動器使用是否得到授權。無論主機應用的優先級是否在判定中起部分作用,都可以例如根據圖7的存儲庫映像表85的列89來判定備用驅動器的授權。
即使備用驅動器可能得到授權,它們的使用也可能受到限制。作為一個例子,在步驟240設置超時,從而允許在一定時間內釋放數據存儲驅動器,對此由步驟243檢測。如果步驟243指示有驅動器被釋放,則連接符205通向圖10A的步驟185以分配被釋放的驅動器。如果步驟243指示沒有驅動器被釋放,則步驟245判定超時時間段是否結束。如果否,「否」,則過程循環回到步驟243,並且等待被釋放的驅動器。
如果超時時間段結束,則可以採用對備用驅動器使用的另一個限制。作為一個例子,備用驅動器使用可以受限於預定次數。如下所述,可以向系統操作員請求增加驅動器到「n」個驅動器的驅動器池,並且防止無限制使用備用驅動器。具體地說,在步驟253,在驅動器池的所有數據存儲驅動器均被分配的情況下,每次接收到備用驅動器請求時,驅動器資源提供器增加計數。在步驟254,驅動器資源提供器將增加後的計數與預定限值進行比較,並且當增加後的計數小於預定限值時,在步驟255將備用數據存儲驅動器分配給請求的虛擬存儲庫。更新圖6的驅動器表80和圖7的存儲庫映像表85,從而將驅動器從備用驅動器移到被釋放驅動器,臨時將驅動器池「n」增至值「n」+1,並且在表85的列97中將驅動器分配給請求的虛擬存儲庫。連接符205通向圖10A的步驟185,以將現在被釋放的驅動器分配給請求主機應用的虛擬驅動器。
作為選項,在分配備用數據存儲驅動器之後,驅動器資源提供器還在步驟260投遞表示使用備用數據存儲驅動器的消息。在一個實施例中,所投遞消息包括向系統操作員通知可以採取行動以將備用數據存儲驅動器轉移到驅動器池中的通知。作為一個例子,將備用驅動器轉移到驅動器池中將導致存儲庫的成本提高。如果進行轉移,則驅動器資源提供器將備用數據存儲驅動器永久性地加入驅動器池,從而刪除作為備用數據存儲驅動器的驅動器。
在另一個實施例中,作為誘導,所投遞消息還包括不能將備用驅動器轉移到驅動器池中將導致備用數據存儲驅動器的將來不可用性的通知,並且當沒有將至少一個備用數據存儲驅動器轉移到驅動器池中的請求時,驅動器資源提供器刪除存儲庫數據存儲驅動器作為備用驅動器的分配,使得被分配備用驅動器變得未被分配。如上所述,備用驅動器的使用可以受限於步驟254的預定限值。
如果在步驟230沒有備用驅動器得到授權,或者步驟253的增加後計數達到步驟254的預定限度,則在步驟282,驅動器資源提供器等待釋放數據存儲驅動器和在所釋放的數據存儲驅動器上卸載任何可攜式數據存儲盒的請求,從而釋放數據存儲驅動器。如果通過步驟282判定沒有驅動器被釋放,則處理繼續循環。當釋放驅動器時,步驟282通向圖10A的連接符205,以在步驟185將所釋放的數據存儲驅動器分配給請求驅動器的主機應用的虛擬驅動器,並且在步驟187向存儲庫指示解除暫停任何關於請求的安裝。
除了釋放任何被暫停的存儲庫安裝之外,驅動器資源提供器還提供要在其上執行任何被暫停安裝或任何將來安裝的專用物理數據存儲驅動器的指示。指示包括張貼到由存儲庫訪問的圖6的驅動器表80。作為對釋放被暫停安裝的補充替代方案,向專用物理數據存儲驅動器的指示提供通知給存儲庫的釋放指示。
圖11涉及步驟300的反觸發事件。反觸發事件的一個例子包括在預定超時時間段內沒有使用專用數據存儲驅動器。在一個實施例中,在步驟310標識包括驅動器使用的功能的完成,並且在步驟311,對該驅動器的計時器進行復位。然後,步驟312繼續跟蹤計時器,並且指示該時間段是否結束。
其他反觸發事件包括「卸載」請求315,從虛擬驅動器中卸載存儲盒,並且將存儲盒移到另一點,如貯存架;「釋放」命令316,釋放被保留的虛擬數據存儲驅動器;以及驅動器釋放指示317。如上所述,「卸載」命令典型地提供給存儲庫,並且它不是在圖9的步驟135由驅動器映像提供器接收的命令。當接收到「卸載」命令時,存儲庫確定專用於虛擬驅動器的物理數據存儲驅動器,啟動卸載,並且向驅動器資源提供器通知該命令。「釋放」命令或者請求釋放虛擬驅動器的命令在圖9的步驟135由驅動器映像提供器接收。驅動器映像提供器在步驟143判定它是反觸發事件;並且在步驟149通知驅動器資源提供器。在圖11的步驟320,驅動器資源提供器確定請求主機向其發起反觸發事件的虛擬驅動器。這典型地從命令本身確定。
步驟325判定在驅動器中是否安裝了可攜式數據存儲盒。這可以例如從圖1的存儲庫處理器45確定。「卸載」命令將導致由存取器自動機械卸載可攜式存儲盒,從而步驟325指示沒有存儲盒安裝在驅動器中。其他反觸發事件可以不在驅動器中安裝了可攜式存儲盒的情況下發生,並且可以不包括卸載。如果有存儲盒安裝在驅動器中,則在步驟326驅動器資源提供器向存儲庫指示要卸載存儲盒。
在步驟330,驅動器資源提供器為虛擬驅動器,或者如果步驟310-312採用物理驅動器則為物理驅動器,確定圖5A或5B的驅動器映像表70、71。
然後在步驟331,驅動器資源提供器從主機應用的虛擬驅動器中釋放驅動器。在步驟343,驅動器資源提供器指示驅動器被釋放,將「m」減至「m」-1。可選地,如果採用備用驅動器,步驟340判定所釋放的驅動器是否為共享驅動器。如果是,則步驟341將驅動器返回到其原始狀態,將「n」減至「n」-1。如果驅動器是備用驅動器,則系統操作員可以隨後響應圖10B的步驟260的消息,並且增加一個或多個備用驅動器到驅動器池。如果驅動器不是備用驅動器,則驅動器資源提供器直接進入步驟345。在步驟345,更新各個表,從而在圖6的驅動表80中將驅動器返回到其作為備用驅動器的原始狀態,或者在圖6的驅動器表中指示驅動器被釋放。
圖12A-12C表示對虛擬存儲庫鎖定和解鎖數據存儲驅動器。圖12A的步驟400表示圖10A的觸發事件160,其中,在鎖定的情況下請求驅動器。步驟401相當於用於將驅動器專用於虛擬驅動器的圖10A步驟185,並且另外包括將「鎖定」加到驅動器表,如圖6的驅動器表80的驅動器「DR1」所示。
圖12B的步驟410表示圖11的反觸發事件300,其中,在釋放鎖定的情況下由主機應用釋放驅動器。步驟411可以緊接在步驟300之後發生,並且包括判定命令是否包括釋放鎖定。如果是,則在步驟412,在圖6的驅動器表80中,由驅動器資源提供器釋放鎖定。
步驟420表示不包括鎖定釋放的圖11的反觸發事件300,如「卸載」命令。步驟421通過例如參考圖6的驅動器表80來判定驅動器是否被鎖定。如果驅動器未被鎖定,則執行圖11的步驟320-345的處理。如果設備被鎖定並且在圖12B的步驟412未被解鎖,則在步驟425執行所請求的事件,並且在步驟426保持這些表不變,從而驅動器保持鎖定於主機應用。
上述過程的步驟可以適當地改變順序或者組合和修改細節。
儘管詳細描述了本發明的優選實施例,但應該清楚,在不脫離由所附權利要求限定的本發明的範圍的情況下,可以對這些實施例進行各種變更和修改。
權利要求
1.一種用於響應至少一個對數據存儲驅動器的請求而分配自動數據存儲庫的數據存儲驅動器的分配系統,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述數據存儲驅動器之間傳送所述可攜式數據存儲盒,以在所述數據存儲驅動器上安裝和卸載所述可攜式數據存儲盒,所述分配系統包括驅動器資源提供器,將多個所述存儲庫數據存儲器驅動器分配給驅動器池,並且從所述驅動器池中分配和釋放所述數據存儲驅動器;當在所述驅動器池的所有所述數據存儲驅動器均被分配的情況下接收到對所述數據存儲驅動器的請求時,所述驅動器資源提供器向所述存儲庫指示暫停任何關於所述請求的可攜式數據存儲盒的安裝。
2.如權利要求1所述的分配系統,還包括耦合到所述驅動器資源提供器的驅動器映像提供器,當在所述驅動器池的所有所述數據存儲驅動器均被分配的情況下接收到對所述數據存儲驅動器的請求時,指示所述被請求驅動器當前不可,以完成需要已安裝的可攜式數據存儲盒的任何隨後命令。
3.如權利要求1或2所述的分配系統,其中,在所述指示之後,所述驅動器資源提供器還等待釋放數據存儲驅動器和在所述被釋放的數據存儲驅動器上卸載任何可攜式數據存儲盒,將所述被釋放的數據存儲驅動器分配給所述請求,並且向所述存儲庫指示解除關於所述請求的所述安裝的所述暫停。
4.如權利要求1、2或3所述的分配系統,其中所述驅動器資源提供器還在所述驅動器池之外分配所述多個存儲庫數據存儲驅動器至少之一作為備用數據存儲驅動器,並且在所述指示之後,將所述至少一個備用數據存儲驅動器之一分配給所述請求,並且向所述存儲庫指示解除關於所述請求的所述安裝的所述暫停。
5.如權利要求4所述的分配系統,其中,在所述指示之後,所述驅動器資源提供器等待預定時間段,並且等待釋放數據存儲驅動器和在所述被釋放的數據存儲驅動器上卸載任何可攜式數據存儲盒;並且如果在所述預定時間段內發生所述釋放,則將所述被釋放的數據存儲驅動器分配給所述請求;否則,在所述時間段結束之後,將所述備用數據存儲驅動器分配給所述請求;並且,在將數據存儲驅動器分配給所述請求時,向所述存儲庫指示解除關於所述請求的所述安裝的所述暫停。
6.如權利要求4或5所述的分配系統,其中所述存儲庫包括響應於所述至少一個數據存儲驅動器請求的多個虛擬存儲庫,所述系統將所述自動數據存儲庫的數據存儲驅動器分配給所述多個虛擬存儲庫,所述多個虛擬存儲庫至少之一具有比其他所述虛擬存儲庫更高的優先級;並且其中所述驅動器資源提供器還確定所述數據存儲驅動器請求的所述虛擬存儲庫的所述優先級,並且只有當所述虛擬存儲庫具有所述較高優先級時,才將所述備用數據存儲驅動器分配給所述請求,並且向所述存儲庫指示解除關於所述請求的所述安裝的所述暫停。
7.如權利要求4、5或6所述的分配系統,其中,在所述驅動器池的所有所述數據存儲驅動器均被分配的情況下,每次接收到所述請求時,所述驅動器資源提供器還增加計數,將所述增加後的計數與預定限值進行比較,並且當所述增加後的計數小於所述預定限值時,分配所述備用數據存儲驅動器。
8.如權利要求4、5或6所述的分配系統,其中,在所述備用數據存儲驅動器的所述分配之後,所述驅動器資源提供器還投遞表示使用所述備用數據存儲驅動器的消息。
9.如權利要求8所述的分配系統,其中所述驅動器資源提供器所投遞的消息包括向系統操作員通知可以採取行動,以將至少一個所述備用數據存儲驅動器轉移到所述驅動器池中。
10.如權利要求9所述的分配系統,其中所述驅動器資源提供器還響應將至少一個備用數據存儲驅動器轉移到所述驅動器池中的請求,將至少一個所述備用數據存儲驅動器加入所述驅動器池,從而刪除作為備用數據存儲驅動器的所述數據存儲驅動器。
11.如權利要求10所述的分配系統,其中所述驅動器資源提供器所投遞的消息還包括不能將所述數據存儲驅動器轉移到所述驅動器池中將導致備用數據存儲驅動器的將來不可用性的通知,並且其中當沒有將至少一個備用數據存儲驅動器轉移到所述驅動器池中的請求時,所述驅動器資源提供器刪除所述多個存儲庫數據存儲驅動器至少之一作為備用數據存儲驅動器的分配,使得所述被分配的備用數據存儲驅動器變得未被分配。
12.如權利要求1至11中的任一項所述的分配系統,其中所述驅動器資源提供器還指示響應於所述安裝要提供偽完成響應。
13.一種用於響應至少一個對數據存儲驅動器的請求而分配自動數據存儲庫的數據存儲驅動器的分配方法,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述數據存儲驅動器之間傳送所述可攜式數據存儲盒,以在所述數據存儲驅動器上安裝和卸載所述可攜式數據存儲盒,所述分配方法包括以下步驟將多個所述存儲庫數據存儲器驅動器分配給驅動器池,並且從所述驅動器池中分配和釋放所述數據存儲驅動器;當在所述驅動器池的所有所述數據存儲驅動器均被分配的情況下接收到對所述數據存儲驅動器的請求時,向所述存儲庫指示暫停關於所述請求的可攜式數據存儲盒的任何安裝。
14.一種可供可編程計算機使用的計算機可讀介質的電腦程式產品,所述電腦程式產品具有在其中實施的計算機可讀程序代碼,用於響應至少一個對數據存儲驅動器的請求而分配自動數據存儲庫的數據存儲驅動器,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述數據存儲驅動器之間傳送所述可攜式數據存儲盒,以在所述數據存儲驅動器上安裝和卸載所述可攜式數據存儲盒,所述至少一個主機應用耦合到所述數據存儲驅動器和所述自動數據存儲庫,所述電腦程式產品包括使計算機處理器執行以下操作的計算機可讀程序代碼,即將多個所述存儲庫數據存儲驅動器分配給驅動器池,並且從所述驅動器池中分配和釋放所述數據存儲驅動器;使計算機處理器執行以下操作的計算機可讀程序代碼,即當在所述驅動器池的所有所述數據存儲驅動器均被分配的情況下接收到對所述數據存儲驅動器的請求時,向所述存儲庫指示暫停關於所述請求的可攜式數據存儲盒的任何安裝。
15.一種自動數據存儲庫,耦合到至少一個主機應用,包括多個數據存儲驅動器;多個貯存架,用於貯存多個可攜式數據存儲盒;存取器自動機械,用於在所述貯存架與所述數據存儲驅動器之間傳送所述可攜式數據存儲盒;自動機械控制裝置,用於操作所述存取器自動機械;以及驅動器資源提供器,耦合到所述自動機械控制裝置,將多個所述存儲庫數據存儲驅動器分配給驅動器池,並且從所述驅動器池中分配和釋放所述數據存儲驅動器;當在所述驅動器池的所有所述數據存儲驅動器均被分配的情況下接收到對數據存儲驅動器的請求時,所述驅動器資源提供器向所述自動機械控制裝置指示暫停關於所述請求的可攜式數據存儲盒的任何安裝。
16.一種用於自動數據存儲庫的虛擬化方法,向主機應用提供具有固定標識的固定多個虛擬數據存儲驅動器的映像,包括將「n」個驅動器的驅動器池中的任意個數「m」分配給驅動器映像提供器,從而驅動器池中的「n」-「m」個是被釋放的並且可用於分配;響應於請求驅動器的觸發事件,並且將驅動器池的「n」-「m」個驅動器之一專用於虛擬驅動器;並且引導主機與作為固定虛擬驅動器的專用驅動器之間的通信;並且在驅動器專用之前,向請求主機應用表徵虛擬驅動器「未就緒」。
17.一種用於引導至少一個主機應用與自動數據存儲庫的物理數據存儲驅動器之間的通信的虛擬化系統,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述物理數據存儲驅動器之間傳送所述可攜式數據存儲盒,所述虛擬化系統包括至少一個驅動器映像提供器,耦合到所述至少一個主機應用,向所述至少一個主機應用提供至少一個固定虛擬數據存儲驅動器的映像,為所述至少一個固定虛擬數據存儲驅動器中的每一個提供固定標識和對所述至少一個主機應用的固定響應集;並且引導所述至少一個主機應用與所述自動數據存儲庫的「n」個所述物理數據存儲驅動器的驅動器池的物理數據存儲驅動器之間的通信;以及驅動器資源提供器,耦合到所述至少一個驅動器映像提供器,在任一時間,所述驅動器資源提供器將所述物理數據存儲驅動器池中的任意個數「m」分配給所述虛擬數據存儲驅動器,並且指示所述物理數據存儲驅動器池中的「n」-「m」個是被釋放的並且可用於分配;所述驅動器資源提供器響應於所述至少一個主機應用請求所述虛擬數據存儲驅動器之一的觸發事件,將所述驅動器池的所述「n」-「m」個物理數據存儲驅動器之一專用於所述一個虛擬數據存儲驅動器,向所述虛擬物理數據存儲驅動器的所述驅動器映像提供器提供其指示;所述驅動器映像提供器向所述請求主機應用表示所述專用物理數據存儲驅動器,作為所述一個固定虛擬驅動器,所述驅動器映像提供器引導由所述請求主機應用向作為所述虛擬數據存儲驅動器的所述專用物理數據存儲驅動器的通信;並且當所述請求主機應用在所述驅動器資源提供器專用物理數據存儲驅動器之前請求該虛擬數據存儲驅動器時,所述驅動器映像提供器向所述請求主機應用表示所述虛擬數據存儲驅動器「未就緒」。
18.如權利要求17所述的虛擬化系統,其中,所述觸發事件包括以下任一項所述請求主機應用在虛擬數據存儲驅動器上安裝所述可攜式數據存儲盒所選之一的請求,並且其中所述驅動器資源提供器還向所述存儲庫指示要在所述驅動器池的所述「n」-「m」個數據存儲驅動器中的所述專用數據存儲驅動器上安裝所述所選可攜式數據存儲盒;所述請求主機應用對所述驅動器映像提供器的虛擬數據存儲驅動器的「保留」請求,所述驅動器映像提供器向所述驅動器資源提供器通知所述請求,並且其中所述驅動器資源提供器還向所述存儲庫指示所述專用物理數據存儲驅動器專用於所述虛擬數據存儲驅動器,以安裝被選用於在所述虛擬數據存儲驅動器上安裝的任何可攜式數據存儲盒;所述請求主機應用對虛擬數據存儲驅動器的請求,並且其中所述驅動器資源提供器還向所述存儲庫指示所述專用物理數據存儲驅動器專用於所述虛擬數據存儲驅動器,以安裝被選用於在所述虛擬數據存儲驅動器上安裝的任何可攜式數據存儲盒。
19.如權利要求17或18所述的虛擬化系統,其中所述驅動器資源提供器還響應與包括所述專用物理數據存儲驅動器的所述虛擬數據存儲驅動器相關的反觸發事件,所述驅動器資源提供器指示從所述虛擬數據存儲驅動器中釋放所述物理數據存儲驅動器,並且將其加到所述驅動器池的所述被釋放物理數據存儲驅動器中。
20.如權利要求19所述的虛擬化系統,其中所述反觸發事件包括下列一項或多項由所述至少一個主機應用發出的從標識為所述虛擬數據存儲驅動器之一的所述專用物理數據存儲驅動器中卸載所述可攜式數據存儲盒中的所述一個的命令,並且其中所述驅動器資源提供器還向所述存儲庫提供要卸載所述可攜式數據存儲盒中的所述一個的指示;由所述至少一個主機應用發出的讓所述驅動器映像提供器釋放所述虛擬數據存儲驅動器之一的命令,並且其中所述驅動器映像提供器向所述驅動器資源提供器通知所述命令,並且還向所述存儲庫通知卸載安裝在所述專用物理數據存儲驅動器上的任何所述可攜式數據存儲盒;或者在預定超時時間段內沒有使用所述專用物理數據存儲驅動器,其中,當所述預定超時時間段結束時,所述驅動器資源提供器還向存儲庫通知卸載安裝在所述專用物理數據存儲驅動器上的任何所述可攜式數據存儲盒。
21.如權利要求17至20中的任一項所述的虛擬化系統,還包括多個虛擬存儲庫,其中,所述虛擬存儲庫至少之一分配有較高優先級。因此,在「m」-「n」等於零、意味著所述驅動器池的所有所述物理數據存儲驅動器均被專用的情況下,當發生所述較高優先級虛擬存儲庫的觸發事件時,所述驅動器資源提供器從較低優先級所述虛擬存儲庫中釋放物理數據存儲驅動器,向所述驅動器映像提供器通知所述釋放,向所述存儲庫通知從所述被釋放的物理數據存儲驅動器中卸載任何可攜式數據存儲盒,並且將所述被釋放的物理數據存儲驅動器專用於所述較高優先級主機應用的所述虛擬數據存儲驅動器,並且其中所述驅動器映像提供器向所述較低優先級虛擬存儲庫的所述主機應用表徵所述被釋放的物理數據存儲驅動器的所述虛擬數據存儲驅動器的所述虛擬數據存儲驅動器「未就緒」。
22.如權利要求17至21中的任一項所述的虛擬化系統,其中所述驅動器資源提供器將所述物理數據存儲驅動器之一鎖定於所述虛擬數據存儲驅動器之一,使得使所述物理數據存儲驅動器不可用為被釋放驅動器。
23.如權利要求17至22中的任一項所述的虛擬化系統,其中在所述驅動器資源提供器的所述數據存儲驅動器池中增加、刪除、交換所述物理數據存儲驅動器至少之一,並且其中所述驅動器映像提供器表示所述虛擬數據存儲驅動器無變化。
24.如權利要求24所述的虛擬化系統,其中所述驅動器映像提供器表示包括以下項中的一項或多項對所述無變化虛擬數據存儲驅動器中的每一個採用相同唯一序列號,以及對所述無變化虛擬數據存儲驅動器中的每一個採用相同地址。
25.如權利要求17至24中的任一項所述的虛擬化系統,其中存在下列之一所述驅動器映像提供器包括所述至少一個主機應用的設備驅動程序,並且其中所述驅動器資源提供器包括多個所述主機應用之一的設備驅動程序所述驅動器資源提供器包括介於所述至少一個主機應用與所述自動數據存儲庫之間的組件;以及所述驅動器映像提供器包括所述至少一個主機應用的設備驅動程序,並且其中所述驅動器資源提供器包括所述自動數據存儲庫的組件。
26.一種用於引導至少一個主機應用與自動數據存儲庫的物理數據存儲驅動器之間的通信的虛擬化方法,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述物理數據存儲驅動器之間傳送所述可攜式數據存儲盒,所述虛擬化方法包括以下步驟響應所述至少一個主機應用,提供至少一個固定虛擬數據存儲驅動器的映像,為所述至少一個固定虛擬數據存儲驅動器中的每一個提供固定標識和對所述至少一個主機應用的固定響應集,並且引導所述至少一個主機應用與所述自動數據存儲庫的所述物理數據存儲驅動器之間的通信;提供所述自動數據存儲庫的「n」個所述物理數據存儲驅動器的驅動器池,在任一時間,分配所述物理數據存儲驅動器池中的任意個數「m」,並且指示所述數據存儲驅動器池中的「n」-「m」個是被釋放的並且可用於分配;響應請求所述虛擬數據存儲驅動器之一的所述至少一個主機應用的觸發事件,將所述驅動器池的所述「n」-「m」個物理數據存儲驅動器之一專用於所述一個虛擬數據存儲驅動器;向所述請求主機應用表徵所述專用物理數據存儲驅動器為所述一個固定虛擬驅動器,引導由所述請求主機應用向作為所述虛擬數據存儲驅動器的所述專用物理數據存儲驅動器的通信;以及當所述請求主機應用在專用所述物理數據存儲驅動器的所述專用步驟之前請求虛擬數據存儲驅動器時,向所述請求主機應用表徵所述虛擬數據存儲驅動器「未就緒」。
27.一種可供可編程計算機使用的計算機可讀介質的電腦程式產品,所述電腦程式產品具有在其中實施的計算機可讀程序代碼,用於引導至少一個主機應用與自動數據存儲庫的物理數據存儲驅動器之間的虛擬化通信,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述數據存儲驅動器之間傳送所述可攜式數據存儲盒,所述至少一個主機應用耦合到所述自動數據存儲庫,所述電腦程式產品包括使計算機處理器執行以下操作的計算機可讀程序代碼,即響應所述至少一個主機應用,提供至少一個固定虛擬驅動器的映像,為所述至少一個固定虛擬數據存儲驅動器中的每一個提供固定標識和對所述至少一個主機應用的固定響應集,引導所述至少一個主機應用與所述自動數據存儲庫的物理數據存儲驅動器之間的通信;使計算機處理器執行以下操作的計算機可讀程序代碼,即標識所述自動數據存儲庫的「n」個所述物理數據存儲驅動器的驅動器池,在任一時間,分配所述物理數據存儲驅動器池中的任意個數「m」,並且指示所述物理數據存儲驅動器池中的「n」-「m」個是被釋放的並且可用於分配;使計算機處理器執行以下操作的計算機可讀程序代碼,即響應請求所述虛擬數據存儲驅動器之一的所述至少一個主機應用的觸發事件,將所述驅動器池的所述「n」-「m」個物理數據存儲驅動器之一專用於所述一個虛擬數據存儲驅動器;使計算機處理器執行以下操作的計算機可讀程序代碼,即向所述請求主機應用表徵所述專用物理數據存儲驅動器為所述一個固定虛擬驅動器,引導由所述請求主機應用向作為所述虛擬數據存儲驅動器的所述專用物理數據存儲驅動器的通信;以及使計算機處理器執行以下操作的計算機可讀程序代碼,即當所述請求主機應用在所述物理數據存儲驅動器的所述專用之前請求虛擬數據存儲驅動器時,向所述請求主機應用表徵所述虛擬數據存儲驅動器「未就緒」。
28.一種自動數據存儲庫,耦合到至少一個主機應用,包括多個物理數據存儲驅動器;多個貯存架,用於貯存多個可攜式數據存儲盒;存取器自動機械,用於在所述貯存架與所述物理數據存儲驅動器之間傳送所述可攜式數據存儲盒;自動機械控制裝置,用於操作所述存取器自動機械;至少一個驅動器映像提供器,耦合到所述至少一個主機應用,提供至少一個固定虛擬數據存儲驅動器的映像,為所述至少一個固定虛擬數據存儲驅動器中的每一個提供固定標識和對所述至少一個主機應用的固定響應集,並且引導所述至少一個主機應用與「n」個所述物理數據存儲驅動器的驅動器池的物理數據存儲驅動器之間的通信;以及驅動器資源提供器,耦合到所述至少一個驅動器映像提供器,在任一時間,所述驅動器資源提供器將所述物理數據存儲驅動器池中的任意個數「m」分配給所述虛擬數據存儲驅動器,並且指示所述物理數據存儲驅動器池中的「n」-「m」個是被釋放的並且可用於分配;所述驅動器資源提供器響應所述至少一個主機應用請求所述虛擬數據存儲驅動器之一的觸發事件,將所述驅動器池的所述「n」-「m」個物理數據存儲驅動器之一專用於所述一個虛擬數據存儲驅動器,向所述虛擬數據存儲驅動器的所述驅動器映像提供器提供其指示;所述驅動器映像提供器向所述請求主機應用表徵所述專用物理數據存儲驅動器為所述一個固定虛擬驅動器,所述驅動器映像提供器引導由所述請求主機應用向作為所述虛擬數據存儲驅動器的所述專用物理數據存儲驅動器的通信;並且當所述請求主機應用在所述驅動器資源提供器專用所述物理數據存儲驅動器之前請求虛擬數據存儲驅動器時,所述驅動器映像提供器向所述請求主機應用表徵所述虛擬數據存儲驅動器「未就緒」。
29.一種用於引導至少一個主機應用與自動數據存儲庫的物理數據存儲驅動器之間的通信的虛擬化系統,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述物理數據存儲驅動器之間傳送所述可攜式數據存儲盒,所述虛擬化系統包括驅動器資源提供器,提供至少一個驅動器映像表,其中驅動器映像表包括提供固定多個所述虛擬數據存儲驅動器的映像的虛擬數據存儲驅動器列表,並且對於每個所述虛擬數據存儲驅動器提供固定標識;在任一時間,所述驅動器資源提供器分配所述自動數據存儲庫的「n」個所述物理數據存儲驅動器的驅動器池的任意「m」個物理數據存儲驅動器,並且指示所述數據存儲驅動器池中的「n」-「m」個是被釋放的並且可用於分配;所述驅動器資源提供器響應所述至少一個主機應用請求所述虛擬數據存儲驅動器之一的觸發事件,將所述驅動器池的所述「n」-「m」個物理數據存儲驅動器之一專用於所述一個虛擬數據存儲驅動器,在所述驅動器映像表中標識所述專用物理數據存儲驅動器為所述一個虛擬數據存儲驅動器;以及至少一個驅動器映像提供器,耦合到所述至少一個主機應用並且耦合到所述驅動器資源提供器,向所述至少一個主機應用提供所述固定虛擬數據存儲驅動器的至少一個映像,所述映像得自對應的所述驅動器映像表,所述驅動器映像提供器為所述固定多個虛擬驅動器中的每一個提供所述固定標識和對所述至少一個主機應用的固定響應集;並且引導所述至少一個主機應用與所述自動數據存儲庫的所述物理數據存儲驅動器池的所述物理數據存儲驅動器之間的通信;所述驅動器映像提供器響應所述驅動器映像表中所述物理數據存儲驅動器的所述專用和標識,向所述請求主機應用表徵所述專用物理數據存儲驅動器為所述固定虛擬數據存儲驅動器之一,並且引導所述專用數據存儲驅動器與作為所述虛擬數據存儲驅動器的所述請求主機應用之間的通信;並且當所述請求主機應用在所述驅動器資源提供器專用所述物理數據存儲驅動器之前請求虛擬數據存儲驅動器時,所述驅動器映像提供器向所述請求主機應用表徵所述虛擬數據存儲驅動器「未就緒」。
30.一種用於引導至少一個主機應用與自動數據存儲庫的物理數據存儲驅動器之間的通信的虛擬化方法,所述存儲庫在貯存架上貯存多個可攜式數據存儲盒,並且在所述貯存架與所述物理數據存儲驅動器之間傳送所述可攜式數據存儲盒,所述虛擬化方法包括以下步驟提供至少一個驅動器映像表,其中驅動器映像表包括提供固定多個所述虛擬數據存儲驅動器的映像的虛擬數據存儲驅動器列表,並且對於每個所述虛擬數據存儲驅動器提供固定標識;響應所述至少一個主機應用,向所述至少一個主機應用提供所述固定虛擬數據存儲驅動器的至少一個映像,所述映像得自對應的所述驅動器映像表,為所述固定虛擬數據存儲驅動器中的每一個提供所述固定標識和對所述至少一個主機應用的固定響應集;並且引導所述至少一個主機應用與所述自動數據存儲庫的所述多個物理數據存儲驅動器之間的通信;提供所述自動數據存儲庫的「n」個所述物理數據存儲驅動器的驅動器池,在任一時間,分配所述物理數據存儲驅動器池中的任意個數「m」,並且指示所述物理數據存儲驅動器池中的「n」-「m」個是被釋放的並且可用於分配;響應所述至少一個主機應用請求所述虛擬數據存儲驅動器之一的觸發事件,將所述驅動器池的所述「n」-「m」個物理數據存儲驅動器之一專用於所述一個虛擬數據存儲驅動器,在所述驅動器映像表中標識所述專用物理數據存儲驅動器為所述一個虛擬數據存儲驅動器;響應所述驅動器映像表中所述物理數據存儲驅動器的所述專用和標識,向所述請求主機應用表徵所述專用物理數據存儲驅動器為所述固定虛擬數據存儲驅動器之一,引導所述專用物理數據存儲驅動器與作為所述虛擬數據存儲驅動器的所述請求主機應用之間的通信;以及當所述請求主機應用在專用所述物理數據存儲驅動器的所述專用步驟之前請求虛擬數據存儲驅動器時,向所述請求主機應用表徵所述虛擬數據存儲驅動器「未就緒」。
全文摘要
為所接收的請求分配自動數據存儲庫的數據存儲驅動器。當在驅動器池的所有驅動器均被分配的情況下接收到驅動器請求時,驅動器資源提供器暫停任何關於該請求的可攜式數據存儲盒的安裝,當驅動器被分配時解除暫停。在驅動器池之外提供備用驅動器。可以響應請求分配備用驅動器,並且投遞表示使用備用數據存儲驅動器的消息。所投遞消息可以包括可以採取行動以將備用數據存儲驅動器永久性地轉移到驅動器池中的通知。而且,用於自動數據存儲庫的虛擬化系統的驅動器映像提供器向主機應用提供帶有固定標識的固定多個虛擬數據存儲驅動器的映像。在任一時間,驅動器資源提供器向驅動器映像提供器分配「n」個驅動器的驅動器池中的任意個數「m」,並且驅動器池中的「n」-「m」個被釋放並且可用於分配。驅動器資源提供器響應請求驅動器的觸發事件,並且將驅動器池中的「n」-「m」個驅動器之一專用於虛擬驅動器。驅動器映像提供器表徵並且引導主機與作為固定虛擬驅動器的專用驅動器之間的通信;並且在驅動器專用之前,向請求主機應用表徵虛擬驅動器「未就緒」。
文檔編號G11B15/68GK1568512SQ02817711
公開日2005年1月19日 申請日期2002年8月14日 優先權日2001年9月10日
發明者羅伯特·B·巴沙姆, 柯比·G·達曼, 肯尼思·F·戴第三, 倫納德·G·傑西奧諾斯基 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀