專利名稱:配置信息存儲和檢索系統的方法和系統的制作方法
技術領域:
本發明涉及配置信息存儲和檢索系統的設備和方法。
背景技術:
數據儲存和檢索系統用于存儲由一個或多個主機系統提供的信息。這樣的數據儲存和檢索系統接收將信息寫入到一個或多個輔助存儲器設備中的請求,以及從這些一個或多個輔助存儲器設備中檢索信息的請求。當收到寫入請求時,系統將從主計算機接收的信息存儲在數據高速緩沖存儲器中。在某些實現中,還將那個信息的拷貝存儲在非易失存儲器設備中。當收到讀取請求時,系統從一個或者多個輔助存儲器設備中檢索信息并且將該信息移動到數據高速緩沖存儲器。因此,該系統不斷地往返于存儲設備移動信息,以及往返于數據高速緩沖存儲器移動信息。
在某些數據處理應用中,將數據拷貝到多個獨立的信息存儲和檢索系統。這樣的拷貝服務應用包括,例如對等遠程拷貝操作。在這樣的應用中,將數據從信息存儲和檢索系統源拷貝到目標信息存儲和檢索系統。一些拷貝服務應用要求源和目標信息存儲和檢索系統兩者具有相同的物理和邏輯配置。在其他的數據處理應用中,將源和目標信息存儲和檢索系統配置為物理和邏輯上相似以便于有效地傳輸數據是有利的。將配置從源傳輸到目標以完成目標的配置,經常用于產生與源兼容的目標。經常必須在目標處配置大量的邏輯對象,這導致費時的配置過程。在某些情況下,可以在傳輸完成之前中斷傳輸過程。取決于用于配置傳輸的系統,這可以導致每次出現中斷時從頭開始重新啟動該傳輸過程。這進一步增加了完成配置傳輸的延遲,并且增加了源和/或目標信息存儲和檢索系統的停機時間。
所需要的是配置自動從中斷中恢復的信息存儲和檢索系統的系統。
發明內容
本發明提供了配置信息存儲和檢索系統、并且在配置過程中自動從中斷中恢復的系統、方法和產品。
以方法形式,示例實施例包括配置信息存儲和檢索系統的方法。該方法包含步驟提供用于接受配置命令的配置加載器用戶接口;以及提供配置加載器,其能夠與配置加載器用戶接口、信息存儲和檢索系統配置源以及目標信息存儲和檢索系統進行通信。配置加載器包含配置加載器模塊和至少一個數據庫。對配置加載器從配置加載器用戶接口接收命令、以把目標信息存儲和檢索系統配置為等同于配置源做出操作,配置加載器模塊生成將目標信息存儲和檢索系統配置為等同于信息存儲和檢索系統配置源所需的任務列表。配置加載器模塊將該任務列表存儲在數據庫中,而且配置加載器模塊通過執行該任務列表對目標信息存儲和檢索系統進行配置。
以方法形式,示例實施例還包括對配置加載器檢測失敗任務的未完成執行做出操作,配置加載器對配置加載器操作所必需的通信執行驗證。對配置加載器成功地驗證配置加載器操作所必需的通信做出操作,配置加載器模塊從失敗的任務開始執行任務列表。
在系統實施例中,本發明提供了配置信息存儲和檢索系統的系統。該系統包含用于接受配置命令的配置加載器用戶接口;信息存儲和檢索系統配置源;目標信息存儲和檢索系統;以及能夠與該配置加載器用戶接口、信息存儲和檢索系統配置源和目標信息存儲和檢索系統進行通信的配置加載器。配置加載器包含配置加載器模塊和數據庫。配置加載器模塊包含配置加載器處理器,用于執行配置命令;以及線程管理器,用于管理一個或多個傳輸線程以完成一個或多個配置傳輸。
在進一步的系統實施例中,配置加載器適用于,對配置加載器從配置加載器用戶接口接收命令、以把至少一個目標信息存儲和檢索系統配置為等同于配置源做出操作,配置加載器模塊生成將目標信息存儲和檢索系統配置為等同于信息存儲和檢索系統配置源所必需的任務列表。配置加載器模塊將該任務列表存儲在數據庫中,而且配置加載器模塊通過執行該任務列表對目標信息存儲和檢索系統進行配置。
將在下面描述本發明的示例系統、設備、以及過程的各個方面的詳細說明中論述本發明的這些及其他好處。本領域的技術人員將要理解,雖然將參考使用的優選實施例和方法繼續進行以下詳細說明,但是本發明不受限于這些使用的優選實施例和方法。而是,本發明僅僅由所附的權利要求中的闡述所限制。為了更詳細地理解本發明,可參考以下結合附圖的詳細說明。
現在參見附圖,其中類似的參考數字一直代表對應的部分。
圖1為本申請人的數據處理系統的一個實施例的圖示。
圖2為本申請人的信息存儲和檢索系統的一個實施例的圖示。
圖3為本申請人的配置加載器系統的一個實施例的圖示。
圖4為本申請人的線程管理系統的一個實施例的圖示。
圖5說明了一個流程圖,其示出實現本發明的一個實施例以配置信息存儲和檢索系統的處理過程。
圖6說明了一個流程圖,其示出實現本發明的實施例以在配置傳輸期間自動從中斷中恢復的處理過程。
圖7說明了用于本發明的實施例的配置動作任務列表的一個示例。
具體實施例方式
現在參見圖1,申請人的數據處理系統100包括主控制器110,以及與之結合的多個信息存儲和檢索系統。例如,在圖1所說明的實施例中,申請人的數據處理系統100包括主控制器110,與之結合的信息存儲和檢索系統120、130、140,以及未示出的附加系統。
在某些實施例中,申請人的系統進一步包括網絡接口180。網絡接口180可以是,例如,附加存儲的網絡(“SAN”)、局域網(LAN)、廣域網(WAN)、專用網或者它們的組合。在這些實施例中,主控制器110能夠經由通信鏈路152與網絡接口180進行通信。
主控制器110包括處理器112、存儲器114、和微碼116。在某些實施例中,存儲器114包含非易失性存儲器,諸如,一個或多個EEPROMs(電可擦可編程只讀存儲器)、一個或多個閃速PROM(可編程只讀存儲器)、電池支持RAM、硬盤驅動器、它們的組合,等等。
用戶接口160經由通信鏈路162與主控制器110進行通信。在某些實施例中,通信鏈路162可以實現為網絡接口180。在某些實施例中,主控制器110可以包括用戶接口160。在其他實施例中,主控制器110還包括網絡服務器118,其能夠使用因特網訪問鏈路進行與用戶接口160的雙向通信。主計算機105能夠經由通信鏈路182、使用網絡接口180與數據處理系統100的任何部件進行通信。在其他實施例中,主計算機105可以使用例如主機適配器,直接與數據處理系統100的任何部件進行通信。
在圖1所說明的實施例中,主控制器110在組成系統100的申請人的每個信息存儲和檢索系統的外面。在其他實施例中,主控制器110與組成申請人的數據處理系統的一個信息存儲和檢索系統集成。
主控制器110能夠分別使用網絡接口180、通信鏈路152和通信鏈路122、132、和142與信息存儲和檢索系統120、130、和140進行雙向通信。在圖1所說明的實施例中,主控制器110使用網絡接口180,諸如SAN,與多個信息存儲和檢索系統進行通信。在其他實施例中,主控制器110還可以直接與任何信息存儲和檢索系統進行通信。在另外的其他實施例中,主控制器110直接與一個或多個信息存儲和檢索系統進行通信,以及使用網絡接口180與一個或者其他信息存儲和檢索系統進行通信。
從包含無線通信鏈接、諸如RS-232或者RS-422的串行互連、以太網互連、SCSI互連、iSCSI互連、千兆以太網互連、藍牙互連、光纖通道互連、ESCON互連、FICON互連、局域網(LAN)、專用廣域網(WAN)、公眾廣域網、存儲區域網絡(SAN)、傳輸控制協議/網際協議(TCP/IP)、因特網、以及它們的組合的組中,獨立地選擇通信鏈路122、132、142、152、162和182。
信息存儲和檢索系統120包括多個信息存儲介質125。在某些實施例中,多個信息存儲介質125包含一個或多個硬盤驅動器、一個或多個磁帶存儲介質、一個或多個光存儲介質、一個或多個電子存儲介質以及它們的組合。
信息存儲和檢索系統130包括多個信息存儲介質135。在某些實施例中,多個信息存儲介質135包含一個或多個硬盤驅動器、一個或多個磁帶存儲介質、一個或多個光存儲介質、一個或多個電子存儲介質以及它們的組合。
信息存儲和檢索系統140包括多個信息存儲介質145。在某些實施例中,多個信息存儲介質145包含一個或多個硬盤驅動器、一個或多個磁帶存儲介質、一個或多個光存儲介質、一個或多個電子存儲介質以及它們的組合。
如本領域的技術人員將理解的那樣,信息存儲和檢索存儲系統120、130、和140可以包含除所示的多個存儲介質之外的元件。如本領域的技術人員將要理解的那樣,這樣的信息存儲和檢索系統還可以包括,而不是作為限制,一個或多個處理器、一個或多個數據緩沖器、一個或多個DASD設備、一個或多個數據高速緩沖存儲器、一個或多個輸入/輸出適配器、一個或多個存儲設備適配器、一個或多個操作者輸入面板、一個或多個網絡服務器、一個或多個機器人存取器、一個或多個包括多個存儲介質125的數據存儲設備等等。
現在參見圖2,在某些實施例中,一個或多個信息存儲和檢索系統120(圖1)、130(圖1)和140(圖1)包含信息存儲和檢索系統200。信息存儲和檢索系統200能夠經由通信鏈路106與主計算機105進行通信。圖2所說明的實施例示出了單個主計算機。在其他實施例中,申請人的信息存儲和檢索系統能夠與多個主計算機進行通信。
主計算機105包含諸如大型機、個人計算機、工作站、以及它們的組合的計算機系統,其包括諸如Windows、AIX、Unix、MVS、LINUX等等的操作系統(Windows是微軟公司的注冊商標;AIX是IBM公司的注冊商標且MVS是IBM公司的商標;而且UNIX是通過Open Group在美國和其它國家排他授權的注冊商標)。在某些實施例中,主計算機105還包括存儲器管理程序。在主計算機105中的存儲器管理程序可以包括在本技術領域已知的存儲器管理類型程序的功能性,其管理數據到數據儲存和檢索系統的傳輸,諸如在IBM MVS操作系統中實現的IBM DFSMS。
在某些實施例中,申請人的信息存儲和檢索系統200包括布置在主機艙(未顯示)中的多個主機適配器202、203、204、212、213和214。在其他實施例中,申請人的信息存儲和檢索系統包括多于或者少于所示的六個主機適配器。與在申請人系統的任何實施例中布置的主機適配器的數量無關,那些主機適配器中的每個都包含具有對處理單元230和240的同等訪問權的共享資源。每個主機適配器可以包含一個或多個光纖通道端口、一個或多個FICON端口、一個或多個ESCON端口、或者一個或多個SCSI端口或者其他本領域已知的接口協議。每個主機適配器通過容錯交換結構221連接到處理單元230和240,以便每個處理單元230、240可以管理來自任何主機適配器的I/O。
處理器單元230包括處理器232、易失性存儲器234和持久存儲器233。在某些實施例中,存儲器設備233、234包含隨機存取存儲器或者非易失性存儲器。可以在處理器單元230的任何單元中實現高速緩沖存儲器。
處理器單元240包括處理器242、易失性存儲器244和持久存儲器243。在某些實施例中,存儲器設備243、244包含隨機存取存儲器或者非易失性存儲器。可以在處理器單元240的任何單元中實現高速緩沖存儲器。
到存儲設備部分260的I/O包含多個設備適配器,諸如用于與存儲設備接口的設備適配器。I/O部分270還包含多個設備適配器,諸如用于與存儲設備接口的設備適配器。
在申請人的系統的某些實施例中,一個或多個主機適配器、處理器單元230和一個或多個設備適配器一起封裝在布置于申請人的信息存儲和檢索系統中的單個卡上。類似地,在某些實施例中,一個或多個主機適配器、處理器單元240和一個或多個設備適配器布置在另一個卡中,該卡布置在申請人的信息存儲和檢索系統中。在這些實施例中,申請人的系統200包括兩個與多個數據存儲設備互連的卡。
在圖2所說明的實施例中,十六個數據存儲設備被組織成兩個陣列,即陣列“A”和陣列“B”。圖2所說明的實施例示出兩個存儲設備陣列。在其他實施例中,申請人的信息存儲和檢索系統包括超過兩個的存儲設備陣列。每個存儲陣列對主計算機看起來就象一個或多個邏輯設備。
在某些實施例中,一個或多個數據存儲設備包含多個硬盤驅動器單元。在圖2所說明的實施例中,磁盤陣列“A”包括磁盤驅動器281、282、283、291、292、293和294。磁盤陣列“B”包括磁盤驅動器285、286、287、288、296、297和298。在某些實施例中,陣列“A”和“B”使用RAID(獨立磁盤冗余陣列)協議。在某些實施例中,陣列“A”和“B”包含有時稱作JBOD陣列,即“僅僅一串磁盤”,其中不依據RAID配置陣列。如本領域的技術人員所理解的那樣,RAID列(rank)包含以磁盤驅動器陣列配置的獨立磁盤驅動器,以便獲得超過單個大驅動器的性能、容量和/或可靠性。在圖2所說明的實施例中,標記為“S”的磁盤指示可以用來替換故障數據磁盤的備用磁盤。備用磁盤包括磁盤驅動器284和295。在這個圖中,數據磁盤是281、282、283、291、292、293、294、285、286、287、288、296、297和298。
圖2所說明的實施例示出兩個存儲設備陣列。在其他實施例中,申請人的系統包括單個的存儲設備陣列。在另外的其他實施例中,申請人的系統包括超過兩個的存儲設備陣列。
到圖2所示的存儲設備280、290的接口結構289、299包含申請人的系統的一個實施例。在其他實施例中,鏈接289和/或299包含交換結構或者交換機和回路拓撲的組合。在其他實施例中,鏈接289和/或299包含交換機的雙FC-AL回路。每個回路包含一個或多個光纖通道交換機。
在某些實施例中,申請人的一個或多個信息存儲和檢索系統120、130、140包含自動介質庫,其包含多個磁帶盒、一個或多個機器人存取器、以及一個或多個磁帶驅動器。轉讓給此處的共同受讓人的美國專利5,970,030描述了這種自動介質庫,該專利通過引用并入在此。在某些實施例中,申請人的一個或多個信息存儲和檢索系統120、130、140包含虛擬磁帶系統。轉讓給此處的共同受讓人的美國專利6,269,423描述了這種虛擬磁帶系統,而且該專利通過引用并入在此。
參見圖3,描述了可以用來實現本發明的配置加載器系統300。配置加載器系統負責從源存儲設備映像(SFI)加載或者傳輸邏輯和/或物理配置到目標SFI。源SFI可以是,例如,信息存儲和檢索系統配置源。目標SFI可以是,例如,信息存儲和檢索系統配置目標。源或者目標系統可以是物理系統(即系統120、130、140)或者虛擬系統(即存儲在存儲器中的配置)。此處源是指信息存儲和檢索系統配置源,而且目標是指信息存儲和檢索系統配置目標。
在某些實施例中,配置加載器用戶接口305通過從用戶或者其他源接收配置命令,允許用戶向配置加載器301提交命令。在優選實施例中,異步地將命令發送到配置加載器301。在發送了命令之后,配置加載器301向發送器返回命令被接收或者拒絕的消息。例如,如果發送命令以開始配置傳輸,則配置加載器301接收該命令并且返回指示接收了該命令的消息到用戶接口305。配置加載器301然后可以處理該命令并且同時接收新的命令。這個性能允許用戶接口305保持有效(即提交或者接收命令和信息),而不用必需在執行附加命令之前進行等待直到完成了第一個命令為止。在其他實施例中,可以同步地傳輸命令。在某些實施例中,配置加載器接口305可以在分別網絡連接的計算機系統,諸如大型機、個人計算機、工作站、服務器以及它們的組合上實現。在某些實施例中,配置加載器接口305可以提供圖形用戶界面(GUI)、命令行接口(CLI)或者其他系統,以允許用戶選擇和運行在源和目標系統之間傳輸或者加載的配置。在某些實施例中,配置加載器接口305可以由用戶接口160(圖1)實現。配置加載器接口305使用通信鏈路306,以經由網絡接口服務器310與配置加載器301進行通信。從包含無線通信鏈接、諸如RS-232或者RS-422的串行互連、以太網互連、SCSI互連、iSCSI互連、千兆以太網互連、藍牙互連、光纖通道互連、ESCON互連、FICON互連、局域網(LAN)、專用廣域網(WAN)、公眾廣域網、存儲區域網絡(SAN)、傳輸控制協議/網際協議(TCP/IP)、因特網、以及它們的組合的組中,獨立地選擇通信鏈路306、321、311和326。
在某些實施例中,配置加載器301包含網絡接口服務器310、離線配置處理器(OLC)320、數據庫325和配置加載器模塊350。網絡接口服務器310提供了用于部件的網絡連接,并且提供了以連接網絡的方式執行配置的能力,以便用戶可以開始配置傳輸并且斷開,而不中斷該傳輸。配置加載器用戶接口305和配置加載器301各自的客戶端-服務器設計,連同發送異步命令到配置加載器301的能力一起,提供了斷開配置加載器接口305而不中斷任何配置傳輸的能力。網絡接口服務器310經由通信鏈路311和321與配置加載器模塊350和OLC處理器320進行通信。
OLC處理器320經由通信鏈路326與數據庫325接口。OLC處理器320和數據庫325提供了用于離線存儲系統配置的儲存庫。OLC處理器320允許用戶創建用于模型化和預規劃他們的存儲配置映像的虛擬配置映像。OLC處理器320在數據庫(即數據庫325)中保持一個或多個虛擬配置。OLC處理器320還保持用于配置傳輸的任務列表。此處,任務列表和任務的列表具有相同的意思并且可交換地使用。例如,如果源具有需要被傳輸到目標的邏輯對象(即RAID陣列),則將包括該對象的配置信息存儲在數據庫325中作為離線配置。數據庫325包括高速緩沖存儲器328和持久(存儲器)327。在其他實施例中,OLC處理器320可以在高速緩沖存儲器328中保持任務列表。高速緩沖存儲器328可以用于臨時數據的易失性快速存儲。持久存儲器327可以提供數據的非易失性長期儲存。高速緩沖存儲器328或者持久存儲器327,或者它們的組合,都可以用于在離線配置存儲器(325、327、328)中存儲來自配置加載器用戶接口305的、進入配置對象請求(即添加/創建、刪除/除去、和/或修改配置對象)。例如,當配置加載器用戶接口305在信息存儲和檢索系統140中創建諸如卷之類的邏輯對象時,還可以將該卷添加到離線配置中。然后可以將該離線配置用作現存于信息存儲和檢索系統140上的實際配置的高速緩沖存儲拷貝。當從信息存儲和檢索系統140傳輸非常大的配置到目標系統時,這將減少用于該配置的費時檢索時間。目標系統可以是離線或者虛擬配置,其中的配置已經存在于離線儲存器中。目標系統僅僅需要與用作目標的配置加載器用戶接口305進行通信。在另一個實施例中,該目標可以是要傳輸到另一個信息存儲和檢索系統的配置。
配置加載器模塊350負責保持和提供對所有配置傳輸的控制訪問(即開始、取消等)。在某些實施例中,配置加載器模塊350包含配置加載器處理器355、線程管理器360、以及一個或多個傳輸線程365、366-369。配置加載器處理器355提供了配置命令的解釋和執行,以及向配置加載器接口305報告系統的狀態或者從中獲得系統狀態報告。在優選實施例中,異步地向在配置加載器接口305上運行的用戶接口應用回報狀態。配置加載器處理器355還負責保持所有開始的、取消的、暫停和完成的傳輸線程的列表。在某些實施例中,一個或多個客戶端用戶使用一個或多個配置加載器接口305。配置加載器處理器355在保持所有配置傳輸操作的狀態的同時,控制從客戶端用戶接收的配置請求。配置加載器處理器355還可以在非易失存儲器(即數據庫325)中保持進行中的配置加載操作的列表。如果發生電源故障或者其他錯誤狀態,配置加載器模塊350具有確定哪些操作還沒有完成并且重新啟動未完成的操作的能力。
線程管理器360負責保持所有傳輸線程。對于在源和目標之間的每個配置傳輸,配置加載器模塊350將使用配置加載器處理器355和線程管理器360產生單個線程(即線程365-369)。對于每個配置傳輸,在任何時候可以產生和存在多個線程,以將配置源(多個)應用到目標信息存儲和檢索系統(多個)。一次可以有存儲器所允許的盡可能多的線程、或者配置傳輸。線程管理器360管理所有當前的有效線程。線程的使用允許同時出現多個配置加載。
圖4示出了供本發明使用的線程管理系統400的一個實施例。在某些實施例中,產生以便執行配置傳輸的每個傳輸線程(即傳輸線程365-369中任何一個)是傳輸線程實例450。傳輸線程實例450使用例如一個或多個網絡接口客戶端460-469,將配置源(即配置源470)連接到配置目標(即配置目標471)。在優選實施例中,可以通過創建N個傳輸線程實例,將配置從單個源傳輸到多個目標(例如N個目標;其中N是目標數目)。做為選擇,可以通過使用多個源和目標網絡接口客戶端(即460-469)從單個源向多個目標傳輸配置。此外,傳輸線程實例450通過離線配置鏈接器455和離線配置處理器320連接到數據庫325。數據庫325提供了源配置、配置任務列表和高速緩沖存儲的配置的持久可保持的配置存儲(非易失存儲)。離線配置處理器320具有存儲信息存儲和檢索系統的超過一個虛擬配置映像的能力。配置加載器301使用離線配置處理器320和數據庫325,以存儲要從配置源(即配置源470)傳輸到配置目標(即配置目標471)的項目的任務列表。通過從配置源中加載配置映像(并且驗證每個對象與配置目標的兼容性)來建立任務列表。隨著每個配置對象完成了它們在相應配置目標上的安裝,然后從任務列表中刪除該配置對象。如果或者當出現中斷(即停電,或者網絡中斷)時,因為在OLC數據庫中持久地保持任務列表,所以配置加載器301能夠確定配置過程在哪里中斷了。
在某些實施例中,每個傳輸線程(即傳輸線程365-369中的任何一個)是在處理中的重要檢查點處更新配置傳輸的狀態的同時、執行配置傳輸的線程。在優選實施例中,線程是JavaTM(Java和所有基于Java的商標是Sun微系統公司在美國、其他國家的商標)線程。重要的檢查點可以是,例如進展的5%增量或者其他用戶定義的增量。配置加載器301提供在重要檢查點處逐漸增加地報告狀態的能力,但是這個性能不必用于提供配置傳輸。在某些實施例中,通過Java對象保持配置傳輸和相應的狀態。例如,每個配置傳輸可以保持在單個傳輸Java對象內,而且每個傳輸對象保持單個狀態Java對象。傳輸對象包含有關該傳輸的特定信息。通過使用在配置加載器用戶接口305上執行的應用,可檢索該狀態對象。狀態對象提供了獲得傳輸狀態的方法。這允許使用在配置加載器用戶接口305上執行的應用,向用戶報告傳輸狀態。例如,對將配置源應用到目標信息存儲和檢索系統的完成做出操作,配置加載器可以將一個或多個配置傳輸的狀態傳遞到配置加載器用戶接口。傳輸的狀態可以包含任何類型有關傳輸的統計數據。例如,執行傳輸的時間量,多個傳輸的組、用于多個傳輸的均值、標準偏差等,所傳輸的配置對象的類型(即,列與卷的對比),等等。另外,可以在任何時候獲得任何傳輸完成與否的狀態。
在某些實施例中,每個傳輸線程創建到配置源(即配置源470)和到配置目標(即配置目標471)的至少兩個或更多網絡接口客戶端連接。
在某些實施例中,傳輸配置要求分析源和目標的物理配置兼容性。在可以完成配置傳輸之前,配置加載器301分析源和目標物理配置,以確定信息存儲和檢索系統配置源的物理配置和目標信息存儲和檢索系統的物理配置。配置加載器301然后確定來自源的每個物理對象是否具有在目標上的物理對應物。如果不存在對應物,則因為物理不兼容性而不能進行傳輸。如果源和目標是兼容的,則可以使用申請人的發明繼續進行目標的配置。在優選實施例中,配置加載器系統300首先驗證在源和目標兩者上存在的每個指定的物理對象。如果所有指定的物理對象在源和目標兩者上都存在,則完成物理驗證,并且處理繼續執行邏輯驗證,然后執行配置的傳輸。如果目標不包含相應的源物理對象,則需要確定是否需要將邏輯對象從源傳輸到在相應物理位置內的目標。如果不需要將邏輯對象從源傳輸到在相應物理位置內的目標,則通過檢查另一個物理對象繼續該處理。如果需要將邏輯對象從源傳輸到在相應物理位置內的目標,則驗證失敗并且因為在物理配置之間的不相容性而不繼續進行配置傳輸。在優選實施例中,在邏輯驗證/分析可以繼續進行之前首先完成物理驗證。
圖5概述了申請人的用于配置信息存儲和檢索系統的方法的某些初始步驟。現在參見圖5,在步驟505處,本方法提供了用于接收配置命令的配置加載器用戶接口。在優選實施例中,所提供的配置加載器用戶接口可以是如上所述的配置加載器接口305。配置命令可以包含,例如,將物理和/或邏輯配置從源傳輸到目標信息存儲和檢索系統的傳輸命令。配置命令可以另外包含確定配置、確定傳輸狀態、取消傳輸、暫停傳輸、列出完成的傳輸、列出暫停的傳輸、列出取消的傳輸、列出有效的傳輸、列出部分配置、執行部分配置傳輸、恢復已經開始傳輸的命令,以及傳輸配置所需要的任何其他命令。配置加載器用戶接口可以從用戶、操作者、計算機系統等接收配置命令。
在步驟508,該方法提供了至少一個信息存儲和檢索系統配置源。信息存儲和檢索系統配置源可以是,例如在任何系統120(圖1)、130(圖1)、140(圖1)上保持的配置。在源上存在的配置可以已經最初從主計算機(即主機(多個)105)通過網絡連接(即網絡接口180)進行了設置。作為選擇,可以已經從用戶接口160通過主控制器110和網絡接口180、或者它們的組合設置了配置。信息存儲和檢索系統配置源還可以是由OLC處理器320保持并且存儲在數據庫325中的虛擬或者離線配置,或者它們的組合。每個配置源能夠與配置加載器301進行通信。
在步驟510處,該方法提供了至少一個目標信息存儲和檢索系統。目標信息存儲和檢索系統可以包含,例如,任何系統120(圖1)、130(圖1)、140(圖1),由OLC處理器320保持以便存儲到數據庫325中的虛擬或者離線配置,發送給配置加載器用戶接口305(圖3)的配置,發送給主計算機(即主機(多個)105)的配置,在網絡連接(即網絡接口180)上發送的配置,或者它們的組合。每個配置目標能夠與配置加載器301進行通信。
在步驟515,該方法提供了配置加載器,其能夠與配置加載器用戶接口、信息存儲和檢索系統配置源以及目標信息存儲和檢索系統進行通信。配置加載器包含配置加載器模塊和數據庫。在優選實施例中,配置加載器可以是,例如,如上所述的配置加載器301。配置加載器使用例如如上所述的網絡接口服務器310,與配置加載器用戶接口、信息存儲和檢索系統配置源以及目標信息存儲和檢索系統進行通信。配置加載器使用任何網絡接口客戶端460-469,用于與信息存儲和檢索系統配置源和目標信息存儲和檢索系統進行通信。用于配置目標信息存儲和檢索系統的配置加載器模塊可以是,例如如上所述的配置加載器模塊350。數據庫可以是,例如數據庫325、持久(存儲區)327、和高速緩沖存儲器328或者它們的組合。在優選實施例中,離線配置處理器320用于相對于該數據庫存儲/檢索信息。離線配置處理器320可以是能夠管理至少一個或多個虛擬或者離線存儲器配置的任何應用。在優選實施例中,數據庫可以包含任何公用的數據庫應用程序,諸如DB2、Oracle等,或者它們的組合。
在步驟520,方法提供了等待配置命令的循環。如上所述,配置命令可以另外包含確定配置、確定傳輸狀態、取消傳輸、暫停傳輸、列出完成的傳輸的命令、或者傳輸配置所需要的任何其他命令。如果接收了命令,則控制流向步驟523。
在步驟523,該方法提供了確定所接收的命令是否是使用配置源配置目標信息存儲和檢索系統的判定。如果所接收的命令不是使用配置源配置目標信息存儲和檢索系統,則控制流向步驟524以執行該命令。在步驟524處執行的命令可以包含如上所述,用于確定配置、確定傳輸狀態、取消傳輸、暫停傳輸、列出完成的傳輸的命令、或者傳輸配置所需要的任何其他命令。在步驟524的執行之后,控制流向步驟550以結束處理。
如果在步驟523,所接收的命令是配置目標信息存儲和檢索系統的命令,則控制流向步驟525,其中配置加載器模塊350將目標信息存儲和檢索系統配置為等同于配置源。可以通過如上所述的申請人的系統完成步驟523和525的執行。例如,(1c)對配置加載器301從配置加載器用戶接口305接收命令、以使用配置源配置目標信息存儲和檢索系統進行操作,配置加載器模塊350將目標信息存儲和檢索系統配置為等同于配置源。在優選實施例中,從配置加載器用戶接口305接收進行配置的命令,然而還可以從其他來源,例如從信息存儲和檢索系統(即任何系統120、130、140)、OLC處理器320、主機計算機(即主機(多個)105)、網絡連接(即網絡接口180)或者它們的組合接收該命令。
在步驟525將目標信息存儲和檢索系統配置為等同于配置源可以通過將配置源應用到目標信息存儲和檢索系統完成。在優選實施例中,圖4所示并且在上面描述的線程管理系統400用于將配置源應用到目標。在優選實施例中,通過圖6所示并且在下面描述的處理600完成步驟525。
在步驟525的執行之后,控制流向步驟530以確定配置是否完成。對將配置源應用到目標信息存儲和檢索系統的完成做出操作,配置加載器向配置加載器用戶接口傳遞這樣的消息,即完成將配置源應用到目標信息存儲和檢索系統。如果在步驟530確定配置完成了,則控制轉移到步驟535,以向配置加載器用戶接口305發送有關配置完成的消息。在某些實施例中,將配置源應用到目標信息存儲和檢索系統的完成可以包含目標的部分配置。當配置加載器模塊以產生目標信息存儲和檢索系統的部分配置的方式、將配置源應用到目標信息存儲和檢索系統時,可以出現上述情況。可以通過僅僅從源傳輸配置對象的一個子集到目標完成部分配置的傳輸。部分配置可以是,例如,從源的總共八個列中僅僅傳輸四個列(以及相應的邏輯卷)到目標。部分配置可以是在配置過程期間與配置加載器用戶接口305的交互通信的結果。在執行步驟535之后,控制流向步驟550,在那兒結束該處理。
在優選實施例中,用于將目標信息存儲和檢索系統配置為等同于配置源的步驟525的執行可以通過圖6所示的處理600完成。處理600從在步驟605提供網絡接口客戶端計算機開始,該客戶端計算機能夠與信息存儲和檢索系統配置源和配置加載器進行通信。網絡接口客戶端計算機可以是,例如,網絡接口客戶端460(圖4)。配置源可以是,例如,配置源470(圖4)。配置加載器可以是,例如,配置加載器301(圖4)。如上參考圖4所述,被產生以便執行配置傳輸的每個傳輸線程(即傳輸線程365-369中任何一個)可以是傳輸線程實例450。在優選實施例中,傳輸線程實例450使用例如網絡接口客戶端(多個)(即460-469),將配置源(即配置源470)連接到配置加載器301。一旦連接了源和配置加載器301,則可以在例如傳輸線程實例450的指導下,繼續進行配置以執行完成該配置的步驟。除了連接源和目標之外,該線程還可以建立到OLC處理器320和數據庫325的專用鏈接/連接。如上所述,數據庫325用于存儲完成配置傳輸的任務列表。
在步驟610,提供了能夠與數據庫325和配置加載器模塊350進行通信的離線配置處理器(即離線配置處理器320)。如上所述,離線配置處理器320提供了對配置數據、任務列表及其它用于配置的相關數據的存取。
在步驟615,配置加載器模塊350生成將目標信息存儲和檢索系統配置為等同于信息存儲和檢索系統配置源所必需的任務列表。在優選實施例中,根據源和目標的物理和/或邏輯配置的分析構造該任務列表。任務列表可以包含執行以將目標配置為具有與源等同的邏輯對象和/或物理對象的任務列表。在優選實施例中,任務是指定在目標上執行、以產生等同于源配置的目標配置的配置動作的配置指令。配置指令可以添加、刪除、和/或修改在目標上的配置對象。每個指令包含添加、刪除、或者修改配置對象所必需的參數。圖7示出了可以用來配置目標的任務列表700的示例。圖7僅僅示出一個示例,而不是意指完整的列表。任務列表700的第一列是任意的任務號。第二列是任務名稱。第三列是任務動作。例如,第一個任務名稱是“添加或者配置RAID陣列”。在700中列出的第一個任務動作是在一個位置(即在目標上的物理位置)配置RAID 5陣列的編程指令的示例。可以以各種不同的方式組織和維護任務列表,以導致進行以下操作必需的任務列表、指令、動作等或者它們的組合在目標信息存儲和檢索系統上執行,以便目標的配置與信息存儲和檢索系統源的配置相同。在優選實施例中,在離線配置數據庫(即,數據庫325、327、328)中持久地保持該任務列表。每個配置動作可以是任務。這些任務可以在目標處添加、除去或者修改邏輯對象。OLC處理器320和數據庫325可以用來檢索和存儲用于源或者目標的邏輯對象。在優選實施例中,通過OLC處理器320創建并且在數據庫325中存儲代表源配置的邏輯對象的配置。配置加載器301使用任務列表(或者其他裝置)將存儲在數據庫325中的源配置傳輸到目標。在任務列表中的每個任務可以代表邏輯對象的移去、添加或者修改。當完成時從任務列表中除去每個任務。如果經歷了不利的條件而導致傳輸的中止,則配置加載器301將自動地試圖與源和目標重新連接,并且從傳輸被中止的點處開始、使用該任務列表再繼續該傳輸。
在步驟620,配置加載器模塊350在數據庫325中存儲任務列表。配置加載器模塊350可以在持久數據庫(即持久數據庫327)中存儲任務列表。任務通過離線配置鏈接器455進行存儲。配置加載器301確定完成傳輸需要什么任務。然后將每個任務通過離線配置鏈接器455發送給離線配置處理器320。鏈接器455提供到離線配置處理器320的直接和專用連接。在替換實施例中,任務可以通過任何其它的裝置發送給離線配置處理器320。然后可以把發送到離線配置處理器320的任務持久地存儲在數據庫325中。
在步驟625,配置加載器模塊350通過執行任務列表來配置目標信息存儲和檢索系統。在源和目標邏輯配置的分析之后,所生成的任務列表包含用與源相同的配置對目標進行配置所要求的必要配置動作。在一個實施例中,配置加載器模塊350然后通過使用離線配置處理器320從數據庫325中檢索任務列表中的每個任務,對目標信息存儲和檢索系統進行配置。在步驟631,當每個任務的執行完成時,從存儲在數據庫中的任務列表中刪除每個任務。繼續該處理,直到執行了任務列表中的所有任務,并且從任務列表中除去了它門。
對在任務列表中的每個任務,執行步驟630以確定是否完全執行過每個任務,并且如果沒有完成執行,則驗證與源和/或目標的通信信道。例如,對配置加載器301檢測到失敗任務的未完成執行做出操作,執行步驟636以開始該通信驗證處理。失敗任務的未完成執行可能由例如電源中斷所導致。電源中斷可能導致配置加載器系統300、源、目標或者它們的組合之間的通信問題。如果電源中斷導致配置加載器系統300、源、目標或者它們的組合之間的通信問題,則很可能在建立了這些受影響部件之間的通信之后,執行失敗的任務。在某些情況下,如果例如,在配置加載器系統300、或者配置加載器系統300的部件中的任何一個正在運行的同時從計算機系統中除去電源,則電源中斷可能導致配置加載器系統300的故障。在這種情況下,當配置加載器系統300失去電源時,配置加載器系統300可以要求系統重新啟動,以恢復配置加載器系統300或者部件的操作。當完成重新啟動時,配置加載器系統300可以首先確定存儲在數據庫(即數據庫325、327、328)中的任務列表是否包含任何未執行的失敗任務、任何未執行的任務和/或未完成的配置傳輸。如果剩余有任務要執行,則執行步驟636以開始通信驗證處理,然后執行在任務列表中的下一個任務。這種健壯的設計能夠通過在任何錯誤狀態之后檢查任務列表然后執行跟隨在最后成功執行的任務后的任務,從任何錯誤狀態恢復。多個任務列表可以同時執行,而且當遇到差錯時,系統將自動地在正確的地方開始操作,以完成一個或多個配置傳輸。可以由配置加載器系統301、源、目標、主機計算機等或者它們的組合中的任何部件的其它錯誤狀態導致失敗任務的未完成執行。當從任務列表中檢索的任務開始執行、然后遇到導致在任務執行中的故障的錯誤狀態時,可能出現失敗任務的未完成執行。例如,當由于與目標的通信問題而中斷了配置在目標上的邏輯對象的任務時,可能出現失敗的任務。當遇到失敗的任務時,必須在試圖再次執行該失敗的任務之前驗證與源和/或目標的通信。
在步驟636,配置加載器301對配置加載器操作所必需的通信執行驗證。配置加載器操作所必需的通信可以是在配置加載器301和源、目標、主機計算機、和/或任何配置加載器301操作所必需的任何其它部件之間的通信。步驟636可以通過以下方式完成,例如,配置加載器301發送測試消息給源、目標和/或其它必需的部件,然后檢查響應以確定通信是否正確地工作。
具有“否”結果的步驟630的執行將控制轉移到步驟631。在步驟631,從任務列表中除去完成執行的當前任務。在步驟631之后執行步驟635。
在步驟635,對完成執行的當前任務進行檢查,以確定其是否是任務列表中要被執行的最后任務。如果當前任務是要執行的最后任務,則控制轉移到步驟690,以返回到步驟530(圖5)。如果當前任務不是要被執行的最后任務,則控制轉移到步驟625,以執行任務列表中的下一個任務。
在步驟636的執行之后,執行步驟640以確定對配置加載器操作所必需的通信的驗證是否完成。對配置加載器301成功地驗證了配置加載器301操作所必需的通信做出操作,執行步驟645。在步驟645,配置加載器模塊350從失敗的任務開始執行任務列表。在步驟645的執行之后,控制轉移到步驟625,以執行任何剩余的任務。
在與源和/或目標的通信中可能出現故障。如果在步驟640,配置加載器301不能成功地驗證配置加載器301與源的操作所必需的通信,則執行步驟650以建立新的通信信道。在步驟605,提供了能夠與信息存儲和檢索系統配置源和配置加載器301進行通信的第一網絡接口客戶端計算機。配置加載器301使用第一網絡接口客戶端計算機建立與信息存儲和檢索系統源的通信,以相對于信息存儲和檢索系統源傳遞配置信息。對配置加載器301檢測到由與信息存儲和檢索系統源的通信問題所導致的失敗任務的未完成執行做出操作,配置加載器301使用第一網絡接口客戶端計算機重建與信息存儲和檢索系統源的通信。在步驟650重建與信息存儲和檢索系統源的通信之后,再次執行步驟636,以允許配置加載器301對配置加載器301操作所必需的通信執行驗證。對在步驟640、配置加載器301成功地驗證使用第一網絡接口客戶端計算機的配置加載器301的操作所必需的通信做出操作,配置加載器301從失敗任務開始執行任務列表。
如果在步驟640或者650,配置加載器301不能成功地驗證利用第一網絡接口客戶端計算機的配置加載器301的操作所必需的通信,則提供能夠與信息存儲和檢索系統配置源和配置加載器301進行通信的第二網絡接口客戶端計算機。配置加載器301使用第二網絡接口客戶端計算機建立與信息存儲和檢索系統源的通信,以相對于信息存儲和檢索系統源傳遞配置信息。在步驟650重建與信息存儲和檢索系統源的通信之后,再次執行步驟636,以允許配置加載器301對使用第二網絡接口客戶端計算機的配置加載器301的操作所必需的通信執行驗證。對在步驟640、配置加載器301成功地驗證了使用第二網絡接口客戶端計算機的配置加載器301的操作所必需的通信做出操作,配置加載器301從失敗的任務開始執行任務列表。
也可能在與目標的通信中出現故障。如果在步驟640,配置加載器301不能成功地驗證配置加載器301與目標的操作所必需的通信,則執行步驟650以建立新的通信信道。在步驟605,提供了能夠與目標信息存儲和檢索系統和配置加載器301進行通信的第一網絡接口客戶端計算機。配置加載器301使用第一網絡接口客戶端計算機建立與目標信息存儲和檢索系統的通信,以相對于目標信息存儲和檢索系統傳遞配置信息。對配置加載器301檢測到由與目標信息存儲和檢索系統的通信問題所導致的失敗任務的未完成執行做出操作,配置加載器301使用第一網絡接口客戶端計算機重建與目標信息存儲和檢索系統的通信。在步驟650重建與目標信息存儲和檢索系統的通信之后,再次執行步驟636,以允許配置加載器301對配置加載器301的操作所必需的通信執行驗證。對在步驟640、配置加載器301成功地驗證了使用第一網絡接口客戶端計算機的配置加載器301的操作所必需的通信做出操作,配置加載器301從失敗的任務開始執行任務列表。
如果在步驟640或者650,配置加載器301不能成功地驗證利用第一網絡接口客戶端計算機的配置加載器301的操作所必需的通信,則提供能夠與目標信息存儲和檢索系統和配置加載器301進行通信的第二網絡接口客戶端計算機。對配置加載器301檢測到由與目標信息存儲和檢索系統源的通信問題所導致的失敗任務的未完成執行做出操作,配置加載器301使用第二網絡接口客戶端計算機建立與該信息存儲和檢索系統源的通信,以相對于目標信息存儲和檢索系統傳遞配置信息。在步驟650建立與目標信息存儲和檢索系統的通信之后,再次執行步驟636,以允許配置加載器301對配置加載器301的操作所必需的通信執行驗證。對在步驟640、配置加載器301成功地驗證了使用第二網絡接口客戶端計算機的配置加載器301的操作所必需的通信做出操作,配置加載器301從失敗的任務開始執行任務列表。
在某些實施例中,本發明的操作可以由獨立連接網絡的計算機系統上的主控制器110完成,這些計算機系統諸如大型機、個人計算機、工作站、一個或多個信息存儲和檢索系統、服務器以及它們的組合。在還有的其它實施例中,本發明的操作可以通過主控制器的生產商,以及布置在諸如處理器112(圖1)的控制器中的固件編碼完成。
在某些實施例中,可以通過提供用于配置加載器用戶接口305的操作的客戶端計算機系統,以及提供與該客戶端計算機系統進行通信的服務器計算機系統用于配置加載器301的操作,來完成本發明的操作。客戶端和/或服務器計算機系統可以包含主計算機、大型計算機、個人計算機、工作站、以及它們的組合,包括諸如Windows、AIX、Unix、MVS、LINUX等(Windows是微軟公司的注冊商標;AIX是IBM公司的注冊商標且MVS是IBM公司的商標;以及UNIX是通過Open Group排他地授權的在美國及其他國家的注冊商標)之類的操作系統。客戶端和/或計算機系統可以駐留在主機(多個)105、客戶端(多個)460-469、服務器310、存儲控制器(多個)120-140、或者任何連接到數據處理系統100或者與之相關聯的其他計算系統中,或者屬于它們的一部分。
在某些實施例中,聯機存儲控制器用作信息存儲和檢索系統配置源。例如,任何聯機操作的存儲控制器120、130和/或140(圖1),可以用作配置源470(圖4)。聯機的存儲控制器是當前通過執行數據處理操作而正在操作的存儲控制器。聯機存儲控制器可以相對于一個或多個主機系統、一個或多個主或者輔存儲設備和/或數據高速緩沖存儲器執行I/O操作。
在其它實施例中,離線存儲控制器用作信息存儲和檢索系統配置源。例如,任何離線操作的存儲控制器120、130和/或140(圖1),可以用作配置源470(圖4)。離線的存儲控制器是當前未進行操作并且沒有執行數據處理操作的存儲控制器。離線存儲控制器可以處于寂靜狀態并且未相對于一個或多個主機系統、一個或多個主或者輔助存儲設備和/或數據高速緩沖存儲器執行I/O操作。做為選擇,并且在優選實施例中,離線存儲控制器是模擬存儲控制器(即系統120,130,140)的配置、在任何計算設備(即主機、服務器、PC等)上運行的應用程序。離線存儲控制器可以具有與任何其它存儲控制器的配置接口相同的配置接口。離線存儲控制器可以作為存儲了用于超過一個系統或者企業的配置映像的集成工具進行操作。
在某些實施例中,聯機存儲控制器用作目標信息存儲和檢索系統。例如,任何聯機操作的存儲控制器120、130和/或140(圖1),可以用作配置目標471(圖4)。聯機的存儲控制器是當前通過執行數據處理操作而正在操作的存儲控制器。聯機存儲控制器可以相對于一個或多個主機系統、一個或多個主或者輔存儲設備和/或數據高速緩沖存儲器執行I/O操作。
在其它實施例中,離線存儲控制器用作目標信息存儲和檢索系統。例如,任何離線操作的存儲控制器120、130和/或140(圖1),可以用作配置目標471(圖4)。離線的存儲控制器是當前未進行操作并且沒有執行數據處理操作的存儲控制器。離線存儲控制器可以處于寂靜狀態并且對一個或多個主機系統、一個或多個主或者輔助存儲設備和/或數據高速緩沖存儲器未執行I/O操作。作為選擇,并且在優選實施例中,離線存儲控制器是模擬存儲控制器(即系統120、130、140)的配置的、在任何計算設備(即主機、服務器、PC等)上運行的應用程序。離線存儲控制器可以具有與任何其他存儲控制器的配置接口相同的配置接口。離線存儲控制器可以作為存儲用于超過一個系統或者企業的配置映像的集成工具進行操作。
在本發明的操作中,申請人的主控制器接收請求、或者命令、或者指令(共同稱為“請求”),以參考指定的第一信息存儲和檢索系統,即“源”系統,配置指定的第二信息存儲和檢索系統,即“目標”系統。在某些實施例中,該目標系統包含現存的系統,例如,一個或多個系統120(圖1)、130(圖1)、和/或140(圖1)。在其它實施例中,目標系統包含虛擬配置映像。在這些虛擬系統實施例的某些中,目標系統將用作幫助優化現存系統的模擬工具。
在某些實施例中,申請人的發明包括指令,其中那些指令由處理器112(圖1)執行,以執行圖5-6所示的流程圖中所敘述的步驟。
在其他實施例中,申請人的發明包括駐留在任何其他計算機程序產品中的指令,其中那些指令由在主控制器110之外或者內部的計算機執行。不論是哪種情況,可以在包含例如磁性信息存儲介質、光信息存儲介質、電子信息存儲介質等的信息存儲介質中編碼這些指令。依據“電子存儲介質”,申請人意指例如諸如PROM、EPROM、EEPROM、閃速PROM、緊湊閃盤、智能介質等的設備。
上述描述為了說明目的,使用了特定的命名法以便提供對本發明的徹底了解。然而,本領域的技術人員顯然可知,特定細節不是為了實踐本發明所需要的。在其他實例中,以框圖形式示出了眾所周知的電路和設備,以便避免不必要地干擾本發明。因此,為了說明和描述的目的給出了本發明特定實施例的上述描述。它們不用于窮舉或者將本發明限制為所公開的確切形式。鑒于上述教導,顯然許多修改和變化是可能的。
可以使用用于產生軟件、固件、硬件、或者它們的任何組合的標準編程和/或工程技術,將此處公開的本發明實現為方法、設備或者產品。作為此處使用的術語“產品”是指在硬件邏輯(例如,集成電路芯片、可編程門陣列(PGA)、專用集成電路(ASIC)等)或者計算機可讀介質(例如,磁存儲介質(例如硬盤驅動器、軟盤、磁帶等)、光存儲器(CD-ROM、光盤等)、易失和非易失性存儲器設備(例如、EEPROM、ROM、PROM、RAM、DRAM、SRAM、MRAM、基于MEMS的存儲器、微碼、可編程邏輯等))中實現的代碼或邏輯。由一個或多個處理器訪問和執行在計算機可讀介質中的代碼。可以進一步通過傳輸介質訪問該代碼或者通過網絡從文件服務器中訪問該代碼。在此情況下,其中實現了代碼的產品可以包含諸如網絡傳輸線路、無線傳輸介質、通過空間傳播的信號、無線電波、紅外信號等之類的傳輸介質。當然,本領域的技術人員將意識到,可以對這個配置進行許多修改而不會背離本發明的范圍,而且產品可以包含本技術領域已知的任何信息承載介質。
此處公開的本發明可以實現為通過把計算機可讀代碼集成到系統中以便配置信息存儲和檢索系統的、部署計算基礎結構的方法。計算基礎結構是硬件、軟件、電纜、電力分布、或者系統操作所需要的任何其它部件。該計算基礎結構可以由服務供應商、硬件供應者、第三方、企業實體等或者他們的組合部署。可以為計算基礎結構的部署而向客戶開出賬單和要求客戶付費。計算機可讀代碼與對信息存儲和檢索系統進行配置的系統相結合,能夠生成將目標信息存儲和檢索系統配置為等同于信息存儲和檢索系統配置源所必需的任務列表,在數據庫中存取任務列表,并且通過執行這些任務列表來配置目標信息存儲和檢索系統。這些代碼與對信息存儲和檢索系統進行配置的系統相結合,還能夠在持久數據庫中存儲任務列表。這些代碼與對信息存儲和檢索系統進行配置的系統相結合,還能夠從數據庫中檢索任務列表的每個任務,并且當每個任務的執行完成時從存儲在數據庫中的任務列表中刪除每個任務。這些代碼與對信息存儲和檢索系統進行配置的系統相結合,還能夠進行這樣的操作,其對檢測到失敗任務的未完成執行做出操作對配置加載器操作所必需的通信執行驗證;以及對配置加載器成功地驗證了配置加載器操作所必需的通信做出操作,從失敗的任務開始執行任務列表。
圖5-6的邏輯描述了以特定次序出現的具體操作。在替換實現中,可以以不同的次序執行某些邏輯操作,修改或者刪除某些邏輯操作。此外,可以將步驟添加到上述邏輯中,并且仍然符合所描述的實現。此外,此處描述的操作可以順序地出現,或者某些操作可以并行處理,或者被描述為由單個處理執行的操作可以由分布式處理執行。
圖5-6的邏輯被描述為以軟件形式實現。這個邏輯可以是主機系統的操作系統或者應用程序的一部分。在還有的實現中,可以在由控制單元管理的存儲區域中,或者在只讀存儲器或者其他設備布線類型中保持這個邏輯。可以在硬盤驅動器或者在可編程和不可編程門陣列邏輯中實現優選的邏輯。
選擇和描述這些實施例以便最好地說明發明的原理和它的實際應用,并且允許本領域的其它技術人員最好地利用本發明以及具有各種修改以適合于所考慮的具體使用的各種實施例。本發明的范圍由所附的權利要求書以及他們的等效物來定義。
相關申請的交叉引用當前申請涉及文檔編號#TUC9-2004-00069、標題為“Storage ConfigurationLoaderverification algorithms”的申請#__,文檔編號#TUC9-2004-00079、標題為“Storage Configuration Loader”的申請#__,以及文檔編號#TUC9-2004-00080、標題為“Storage Configuration Loader Using Cache For FastRetrieval Of Storage Configurations”的申請#__,所有申請在同一天提交,它們的公開通過整體引用并入在此。
權利要求
1.一種配置信息存儲和檢索系統的方法,包含提供配置加載器用戶接口,用于接受配置命令;提供配置加載器,其能夠與所述配置加載器用戶接口、至少一個信息存儲和檢索系統配置源以及至少一個目標信息存儲和檢索系統進行通信,所述配置加載器包含配置加載器模塊和至少一個數據庫對所述配置加載器從所述配置加載器用戶接口接收命令、以把所述至少一個目標信息存儲和檢索系統配置為等同于所述至少一個配置源做出操作所述配置加載器模塊生成將所述至少一個目標信息存儲和檢索系統配置為等同于所述至少一個信息存儲和檢索系統配置源所必需的任務列表;所述配置加載器模塊將所述任務列表存儲在所述至少一個數據庫中;以及所述配置加載器模塊通過執行所述任務列表,對所述至少一個目標信息存儲和檢索系統進行配置。
2.如權利要求1所述的方法,還包含提供所述至少一個信息存儲和檢索系統配置源;以及提供所述至少一個目標信息存儲和檢索系統。
3.如權利要求1所述的方法,其中所述提供配置加載器的步驟還包含所述配置加載器模塊將所述任務列表存儲在持久數據庫中。
4.如權利要求1所述的方法,還包含提供能夠與所述至少一個數據庫以及所述配置加載器模塊進行通信的離線配置處理器,而且所述配置加載器模塊通過執行所述任務列表對所述至少一個目標信息存儲和檢索系統進行配置的步驟還包含所述配置加載器模塊使用所述離線配置處理器,從所述至少一個數據庫中檢索所述任務列表中的每個任務;以及當所述每個任務的執行完成時,所述配置加載器模塊從存儲在所述至少一個數據庫中的所述任務列表中除去所述每個任務。
5.如權利要求4所述的方法,還包含對所述配置加載器檢測到失敗任務的未完成執行做出操作所述配置加載器對所述配置加載器操作所必需的通信執行驗證;對所述配置加載器成功地驗證了所述配置加載器操作所必需的通信做出操作所述配置加載器模塊從所述失敗的任務開始執行所述任務列表。
6.如權利要求5所述的方法,其中,所述失敗任務的未完成執行由電源中斷導致。
7.如權利要求1所述的方法,還包含提供能夠與所述至少一個信息存儲和檢索系統配置源和所述配置加載器進行通信的第一網絡接口客戶端計算機;所述配置加載器使用所述第一網絡接口客戶端計算機建立與所述至少一個信息存儲和檢索系統源的通信,以相對于所述至少一個信息存儲和檢索系統源傳遞配置信息;對所述配置加載器檢測到由與所述至少一個信息存儲和檢索系統源的通信問題所導致的失敗任務的未完成執行做出操作所述配置加載器使用所述第一網絡接口客戶端計算機,重建與所述至少一個信息存儲和檢索系統源的通信;所述配置加載器對所述配置加載器操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第一網絡接口客戶端計算機的所述配置加載器操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
8.如權利要求7所述的方法,還包含對所述配置加載器未成功地驗證使用所述第一網絡接口客戶端計算機的所述配置加載器操作所必需的通信做出操作提供能夠與所述至少一個信息存儲和檢索系統配置源和所述配置加載器進行通信的第二網絡接口客戶端計算機;所述配置加載器使用所述第二網絡接口客戶端計算機建立與所述至少一個信息存儲和檢索系統源的通信,以相對于所述至少一個信息存儲和檢索系統源傳遞配置信息;所述配置加載器對使用所述第二網絡接口客戶端計算機的所述配置加載器操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第二網絡接口客戶端計算機的所述配置加載器操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
9.如權利要求1所述的方法,還包含提供能夠與所述至少一個目標信息存儲和檢索系統和所述配置加載器進行通信的第一網絡接口客戶端計算機;所述配置加載器使用所述第一網絡接口客戶端計算機建立與所述至少一個目標信息存儲和檢索系統的通信,以相對于所述至少一個目標信息存儲和檢索系統傳遞配置信息;對所述配置加載器檢測到由與所述至少一個目標信息存儲和檢索系統的通信問題所導致的失敗任務的未完成執行做出操作所述配置加載器使用所述第一網絡接口客戶端計算機,重建與所述至少一個目標信息存儲和檢索系統的通信;所述配置加載器對所述配置加載器操作所必需的通信執行驗證;和對所述配置加載器成功地驗證了使用所述第一網絡接口客戶端計算機的所述配置加載器操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
10.如權利要求9所述的方法,還包含對所述配置加載器未成功地驗證使用所述第一網絡接口客戶端計算機的所述配置加載器操作所必需的通信做出操作提供能夠與所述至少一個目標信息存儲和檢索系統和所述配置加載器進行通信的第二網絡接口客戶端計算機;所述配置加載器使用所述第二網絡接口客戶端計算機建立與所述至少一個目標信息存儲和檢索系統的通信,以相對于所述至少一個目標信息存儲和檢索系統傳遞配置信息;所述配置加載器對使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
11.一種配置信息存儲和檢索系統的系統,包含配置加載器用戶接口,用于接受配置命令;以及配置加載器,其能夠與所述配置加載器用戶接口、至少一個信息存儲和檢索系統配置源以及至少一個目標信息存儲和檢索系統進行通信,所述配置加載器包含配置加載器模塊和至少一個數據庫。
12.如權利要求11所述的系統,其中所述配置加載器適合于執行以下步驟對所述配置加載器從所述配置加載器用戶接口接收命令、以把所述至少一個目標信息存儲和檢索系統配置為等同于所述至少一個配置源做出操作所述配置加載器模塊生成將所述至少一個目標信息存儲和檢索系統配置為等同于所述至少一個信息存儲和檢索系統配置源所必需的任務列表;所述配置加載器模塊將所述任務列表存儲在所述至少一個數據庫中;以及所述配置加載器模塊通過執行所述任務列表,對所述至少一個目標信息存儲和檢索系統進行配置。
13.如權利要求12所述的系統,還包含持久數據庫,用于存儲所述任務列表。
14.如權利要求12所述的系統,還包含能夠與所述至少一個數據庫以及所述配置加載器模塊進行通信的離線配置處理器,而且所述配置加載器模塊通過執行所述任務列表對所述至少一個目標信息存儲和檢索系統進行配置的步驟還包含所述配置加載器模塊使用所述離線配置處理器,從所述至少一個數據庫中檢索所述任務列表中的每個任務;以及當所述每個任務的執行完成時,所述配置加載器模塊從存儲在所述至少一個數據庫中的所述任務列表中除去所述每個任務。
15.如權利要求12所述的系統,其中所述配置加載器適合執行的步驟還包括對所述配置加載器檢測到失敗任務的未完成執行做出操作所述配置加載器對所述配置加載器操作所必需的通信執行驗證;和對所述配置加載器成功地驗證了所述配置加載器的操作所必需的通信做出操作所述配置加載器模塊從所述失敗的任務開始執行所述任務列表。
16.如權利要求12所述的系統,還包含能夠與所述至少一個信息存儲和檢索系統配置源和所述配置加載器進行通信的第一網絡接口客戶端計算機,而且其中所述配置加載器適合執行的步驟包含所述配置加載器使用所述第一網絡接口客戶端計算機建立與所述至少一個信息存儲和檢索系統源的通信,以相對于所述至少一個信息存儲和檢索系統源傳遞配置信息;對所述配置加載器檢測到由與所述至少一個信息存儲和檢索系統源的通信問題所導致的失敗任務的未完成執行做出操作所述配置加載器使用所述第一網絡接口客戶端計算機,重建與所述至少一個信息存儲和檢索系統源的通信;所述配置加載器對所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第一網絡接口客戶端計算機的所述配置加載器操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
17.如權利要求16所述的系統,還包含能夠與所述至少一個信息存儲和檢索系統配置源和所述配置加載器進行通信的第二網絡接口客戶端計算機,而且其中所述配置加載器適合執行的步驟還包含對所述配置加載器未成功地驗證使用所述第一網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器使用所述第二網絡接口客戶端計算機建立與所述至少一個信息存儲和檢索系統源的通信,以相對于所述至少一個信息存儲和檢索系統源傳遞配置信息;所述配置加載器對使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第二網絡接口客戶端計算機的所述配置加載器操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
18.如權利要求12所述的系統,還包含能夠與所述至少一個目標信息存儲和檢索系統和所述配置加載器進行通信的第一網絡接口客戶端計算機,而且其中所述配置加載器適合執行的步驟包含所述配置加載器使用所述第一網絡接口客戶端計算機建立與所述至少一個目標信息存儲和檢索系統的通信,以相對于所述至少一個目標信息存儲和檢索系統傳遞配置信息;對所述配置加載器檢測到由與所述至少一個目標信息存儲和檢索系統的通信問題所導致的失敗任務的未完成執行做出操作所述配置加載器使用所述第一網絡接口客戶端計算機,重建與所述至少一個目標信息存儲和檢索系統的通信;所述配置加載器對所述配置加載器操作所必需的通信執行驗證;和對所述配置加載器成功地驗證了使用所述第一網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
19.如權利要求18所述的系統,還包含能夠與所述至少一個目標信息存儲和檢索系統和所述配置加載器進行通信的第二網絡接口客戶端計算機,而且其中所述配置加載器適合執行的步驟還包含對所述配置加載器未成功地驗證使用所述第一網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器使用所述第二網絡接口客戶端計算機建立與所述至少一個目標信息存儲和檢索系統的通信,以相對于所述至少一個目標信息存儲和檢索系統傳遞配置信息;所述配置加載器對使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
20.如權利要求11所述的系統,其中所述配置加載器模塊包含用于執行所述配置命令的配置加載器處理器,以及用于管理一個或多個傳輸線程以完成一個或多個配置傳輸的線程管理器。
21.一種包含數據存儲介質的產品,該數據存儲介質有形地包含機器可讀指令的程序,該程序可由系統執行以對信息存儲和檢索系統進行配置,所述系統包含配置加載器用戶接口,用于接受配置命令;配置加載器,其能夠與所述配置加載器用戶接口、至少一個信息存儲和檢索系統配置源以及至少一個目標信息存儲和檢索系統進行通信,所述配置加載器包含配置加載器模塊和至少一個數據庫,其中所述機器可讀指令的程序使得對所述配置加載器從所述配置加載器用戶接口接收命令、以把所述至少一個目標信息存儲和檢索系統配置為等同于所述至少一個配置源做出操作所述配置加載器模塊生成將所述至少一個目標信息存儲和檢索系統配置為等同于所述至少一個信息存儲和檢索系統配置源所必需的任務列表;所述配置加載器模塊將所述任務列表存儲在所述至少一個數據庫中;以及所述配置加載器模塊通過執行所述任務列表,對所述至少一個目標信息存儲和檢索系統進行配置。
22.如權利要求21所述的產品,其中,所述機器可讀指令的程序還使得所述配置加載器模塊將所述任務列表存儲在持久數據庫中。
23.如權利要求21所述的產品,其中,所述系統還包含能夠與所述至少一個數據庫以及所述配置加載器模塊進行通信的離線配置處理器,而且所述配置加載器模塊通過執行所述任務列表對所述至少一個目標信息存儲和檢索系統進行配置的步驟還包含所述配置加載器模塊使用所述離線配置處理器,從所述至少一個數據庫中檢索所述任務列表中的每個任務;以及當所述每個任務的執行完成時,所述配置加載器模塊從存儲在所述至少一個數據庫中的所述任務列表中除去所述每個任務。
24.如權利要求21所述的產品,其中所述機器可讀指令的程序還使得對所述配置加載器檢測到失敗任務的未完成執行做出操作所述配置加載器對所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了所述配置加載器的操作所必需的通信做出操作所述配置加載器模塊從所述失敗任務開始執行所述任務列表。
25.如權利要求21所述的產品,其中,所述系統還包含能夠與所述至少一個信息存儲和檢索系統配置源和所述配置加載器進行通信的第一網絡接口客戶端計算機,而且其中所述機器可讀指令的程序還使得所述配置加載器使用所述第一網絡接口客戶端計算機建立與所述至少一個信息存儲和檢索系統源的通信,以相對于所述至少一個信息存儲和檢索系統源傳遞配置信息;對所述配置加載器檢測到由與所述至少一個信息存儲和檢索系統源的通信問題所導致的失敗任務的未完成執行做出操作所述配置加載器使用所述第一網絡接口客戶端計算機,重建與所述至少一個信息存儲和檢索系統源的通信;所述配置加載器對所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第一網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
26.如權利要求25所述的產品,其中,所述系統還包含能夠與所述至少一個信息存儲和檢索系統配置源和所述配置加載器進行通信的第二網絡接口客戶端計算機,而且其中所述機器可讀指令的程序還使得對所述配置加載器未成功地驗證使用所述第一網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器使用所述第二網絡接口客戶端計算機建立與所述至少一個信息存儲和檢索系統源的通信,以相對于所述至少一個信息存儲和檢索系統源傳遞配置信息;所述配置加載器對使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
27.如權利要求21所述的產品,其中,所述系統還包含能夠與所述至少一個目標信息存儲和檢索系統和所述配置加載器進行通信的第一網絡接口客戶端計算機,而且其中所述機器可讀指令的程序還使得所述配置加載器使用所述第一網絡接口客戶端計算機建立與所述至少一個目標信息存儲和檢索系統的通信,以相對于所述至少一個目標信息存儲和檢索系統傳遞配置信息;對所述配置加載器檢測到由與所述至少一個目標信息存儲和檢索系統的通信問題所導致的失敗任務的未完成執行做出操作所述配置加載器使用所述第一網絡接口客戶端計算機,重建與所述至少一個目標信息存儲和檢索系統的通信;所述配置加載器對所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第一網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
28.如權利要求27所述的產品,其中,所述系統還包含能夠與所述至少一個目標信息存儲和檢索系統和所述配置加載器進行通信的第二網絡接口客戶端計算機,而且其中所述機器可讀指令的程序還使得對所述配置加載器未成功地驗證使用所述第一網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器使用所述第二網絡接口客戶端計算機建立與所述至少一個目標信息存儲和檢索系統的通信,以相對于所述至少一個目標信息存儲和檢索系統傳遞配置信息;所述配置加載器對使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了使用所述第二網絡接口客戶端計算機的所述配置加載器的操作所必需的通信做出操作所述配置加載器從所述失敗的任務開始執行所述任務列表。
29.一種用于部署計算基礎結構的方法,包含將計算機可讀代碼集成到系統中以管理信息存儲和檢索系統,其中該代碼與所述系統相結合能夠執行生成將至少一個目標信息存儲和檢索系統配置為等同于至少一個信息存儲和檢索系統配置源所必需的任務列表;將所述任務列表存儲到至少一個數據庫中;以及通過執行所述任務列表,對所述至少一個目標信息存儲和檢索系統進行配置。
30.如權利要求29所述的方法,其中,代碼與所述系統相結合,還能夠將所述任務列表存儲到持久數據庫中。
31.如權利要求29所述的方法,其中代碼與所述系統相結合還能夠執行從所述至少一個數據庫中檢索所述任務列表中的每個任務;以及當所述每個任務的執行完成時,從存儲在所述至少一個數據庫中的所述任務列表中除去所述每個任務。
32.如權利要求29所述的方法,其中代碼與所述系統相結合還能夠執行對檢測到失敗任務的未完成執行做出操作對配置加載器的操作所必需的通信執行驗證;以及對所述配置加載器成功地驗證了所述配置加載器的操作所必需的通信做出操作從所述失敗的任務開始執行所述任務列表。
全文摘要
公開了配置信息存儲和檢索系統的系統、方法和產品。配置加載器從配置加載器用戶接口接收配置命令。配置加載器包含配置加載器模塊和至少一個數據庫。當收到配置命令時,配置加載器模塊生成將目標信息存儲和檢索系統配置為等同于信息存儲和檢索系統配置源所必需的任務列表。配置加載器模塊將該任務列表存儲在數據庫中,而且配置加載器模塊通過執行該任務列表對目標信息存儲和檢索系統進行配置。如果在目標配置完成之前中斷了配置過程,則系統自動地恢復并且繼續執行配置目標所必需的任務列表。
文檔編號G06F17/30GK1773505SQ20051012032
公開日2006年5月17日 申請日期2005年11月8日 優先權日2004年11月8日
發明者杰里米·A·科恩 申請人:國際商業機器公司