專利名稱::用于在數(shù)據(jù)保護(hù)系統(tǒng)中保護(hù)數(shù)據(jù)的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
:一般地,本發(fā)明涉及數(shù)據(jù)保護(hù)和數(shù)據(jù)保護(hù)系統(tǒng),且更具體地,涉及用于控制數(shù)據(jù)保護(hù)和恢復(fù)的系統(tǒng)、方法和裝置。
背景技術(shù):
:一般而言,大規(guī)模計算機(jī)系統(tǒng)常常包含若干計算設(shè)備和大量數(shù)據(jù)。在這樣一個系統(tǒng)中,計算設(shè)備常??梢栽鰷p。同樣,現(xiàn)有計算設(shè)備也常常通過增加共享、交換存儲組(ExchangeStorageGroup)、數(shù)據(jù)庫、卷和對存儲在計算設(shè)備上數(shù)據(jù)的其它改變來改變。對于利用這種計算機(jī)系統(tǒng)的組織,通常存在對保護(hù)存儲在該系統(tǒng)上的數(shù)據(jù)的需求,這經(jīng)常通過創(chuàng)建數(shù)據(jù)的備份來進(jìn)行。然而,負(fù)責(zé)保護(hù)系統(tǒng)的人常常不被通知對該系統(tǒng)的增加和/或改變,而因此不知道需要保護(hù)的新資源。例如,如果一個新的計算設(shè)備,諸如服務(wù)器,被添加到系統(tǒng)中,且未通知負(fù)責(zé)保護(hù)該系統(tǒng)的人這一添加,則新計算設(shè)備上的數(shù)據(jù)和新計算設(shè)備都處在未保護(hù)中。對于允許人們在系統(tǒng)內(nèi)邏輯層而不是物理層上操作的系統(tǒng),這個問題增加。盡管人們在邏輯層上操作,但保護(hù)一般是在物理層上確定的。在這樣一種環(huán)境中,當(dāng)邏輯層上的操作要求改變備份過程時問題會發(fā)生。例如,如果邏輯路徑\\history\public\tools指向服務(wù)器historyl上的共享并決定移動\\history\public\tools來指向服務(wù)器history2上的不同共享上,如果未通知負(fù)責(zé)保護(hù)的人這一改變,舊的共享可能繼續(xù)被保護(hù)而新共享仍是未保護(hù)的。當(dāng)單一邏輯路徑可代表一組物理選擇時問題也會增加,這些物理選擇包含基礎(chǔ)數(shù)據(jù)的同步復(fù)制。例如,\\history\docs可指向history1和history2兩者之上同樣的共享;只有同樣的基礎(chǔ)文件夾之一應(yīng)由系統(tǒng)保護(hù)。導(dǎo)致未能保護(hù)大系統(tǒng)上資料的一般原因是負(fù)責(zé)保護(hù)的人必須手工標(biāo)識要保護(hù)的資源和數(shù)據(jù)并手工配置保護(hù)。當(dāng)系統(tǒng)變化時,除非他們知道變化,否則數(shù)據(jù)和資源會成為未保護(hù)的。此外,對于歸檔數(shù)據(jù)備份到物理介質(zhì),人們必須手工判定要使用什么介質(zhì)用于保護(hù)及何時/如何輪換介質(zhì)。對于大系統(tǒng),手工標(biāo)識變化、配置保護(hù)和維護(hù)歸檔是復(fù)雜的而改變是困難的。這樣對保護(hù)的手工標(biāo)識、配置和修改常常導(dǎo)致遺漏了需要保護(hù)的數(shù)據(jù)和資源并導(dǎo)致與保護(hù)本身有關(guān)的問題。當(dāng)問題發(fā)生時,一般人們必須能夠判定具體層上的問題,并具有如何解決問題的知識,而沒有被提供來自保護(hù)系統(tǒng)本身的信息。因而,需要一種系統(tǒng)、方法和裝置,用于自動化計算機(jī)系統(tǒng)的保護(hù)、標(biāo)識對系統(tǒng)的改變何時發(fā)生、當(dāng)發(fā)生有關(guān)保護(hù)的問題時向用戶提供指導(dǎo),以及使人們能夠通過在邏輯名字空間中工作來創(chuàng)建保護(hù)。發(fā)明概述提供了用于為歸檔數(shù)據(jù)備份而創(chuàng)建歸檔保護(hù)計劃的方法。接收歸檔數(shù)據(jù)保護(hù)種類和歸檔數(shù)據(jù)保護(hù)期的指示。響應(yīng)于接收歸檔數(shù)據(jù)保護(hù)種類和歸檔數(shù)據(jù)保護(hù)期,確定歸檔方案,并且生成代表該歸檔方案的歸檔保護(hù)計劃。依照本發(fā)明的一個方面,提供了一種用于管理多個介質(zhì)的機(jī)制,這些介質(zhì)用于在響應(yīng)于收到存儲數(shù)據(jù)的請求時在歸檔位置存儲數(shù)據(jù)。該機(jī)制包括作業(yè)配置意圖,其中對于關(guān)聯(lián)于存儲數(shù)據(jù)某一作業(yè)的每個請求,作業(yè)配置意圖從多個介質(zhì)中分配同一介質(zhì)項。此外,該機(jī)制包括子配置意圖,其中在預(yù)定時間段內(nèi)對于在第一子對象之后的所有子對象,從多個介質(zhì)中分配與供第一子對象使用的完全相同的介質(zhì)。通過參考以下詳細(xì)描述,同時結(jié)合附圖,在更好地理解的同時,本發(fā)明的前述諸方面及許多伴隨優(yōu)點將變得更顯而易見,這些附圖是圖1A-2是依照本發(fā)明實施例用于管理數(shù)據(jù)的保護(hù)和恢復(fù)的數(shù)據(jù)保護(hù)系統(tǒng)的方框圖;圖3是依照本發(fā)明實施例描述位于產(chǎn)生位置的可保護(hù)對象的初始選擇和保護(hù)的數(shù)據(jù)保護(hù)系統(tǒng)的流程圖;圖4依照本發(fā)明實施例示出在用于用戶交互和選擇的用戶界面上發(fā)布和顯示的多個名字空間和名字空間元素的方框圖;圖5依照本發(fā)明實施例示出名字空間元素和可保護(hù)對象之間的映射;圖6依照本發(fā)明實施例示出用于關(guān)聯(lián)名字空間類型和名字空間元素類型的方案的方框圖;圖7依照本發(fā)明實施例示出用于將邏輯名字空間元素映射到物理可保護(hù)對象的方案的方框圖;圖8依照本發(fā)明實施例示出包含可由數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)的可保護(hù)對象的產(chǎn)生位置的方框圖;圖9A-9B是依照本發(fā)明實施例在產(chǎn)生位置處的可保護(hù)對象和將可保護(hù)對象組合到保護(hù)組中的方框圖;圖10依照本發(fā)明實施例示出包含選擇的名字空間元素、經(jīng)映射的保護(hù)對象和保護(hù)組的屬性的保護(hù)組的方框圖;圖11是依照本發(fā)明實施例用于為保護(hù)保護(hù)組而配置計劃的配置例程的方框圖;圖12依照本發(fā)明實施例示出更詳細(xì)地描述創(chuàng)建保護(hù)組的保護(hù)組創(chuàng)建例程;圖13依照本發(fā)明實施例示出用于檢測包含在兩或多個保護(hù)組中的數(shù)據(jù)源的重疊的重疊檢測例程;圖14是依照本發(fā)明實施例示出用于恢復(fù)保護(hù)對象的恢復(fù)過程的流程的數(shù)據(jù)保護(hù)系統(tǒng)的流程圖;圖15是依照本發(fā)明實施例示出可包含在存儲位置的可恢復(fù)對象的更詳細(xì)的視圖的方框圖;圖16依照本發(fā)明實施例示出用于從存儲位置恢復(fù)保護(hù)對象的恢復(fù)例程;圖17-23A及24依照本發(fā)明實施例示出用于創(chuàng)建和利用自動發(fā)現(xiàn)組的流程圖;圖23B依照本發(fā)明實施例示出用于解決受保護(hù)名字空間元素的重映射的重映射解決例程;圖25依照本發(fā)明實施例示出用于最初發(fā)現(xiàn)頂層名字空間元素和可保護(hù)對象之間的映射的初始發(fā)現(xiàn)例程的流程圖;圖26依照本發(fā)明實施例示出用于發(fā)現(xiàn)名字空間和名字空間元素與位于產(chǎn)生位置的可保護(hù)對象之間映射的調(diào)度發(fā)現(xiàn)例程的流程圖;圖27是依照本發(fā)明實施例的自動發(fā)現(xiàn)組創(chuàng)建例程的流程圖;圖28和29依照本發(fā)明實施例示出自動發(fā)現(xiàn)組更新例程的流程圖;圖30依照本發(fā)明實施例示出用于將保護(hù)意圖轉(zhuǎn)換為保護(hù)一組數(shù)據(jù)的計劃的流程圖;圖31和32依照本發(fā)明實施例示出用于將保護(hù)意圖轉(zhuǎn)換成用于保護(hù)位于產(chǎn)生位置的物理對象的詳細(xì)計劃的意圖轉(zhuǎn)換例程的流程圖;圖33是依照本發(fā)明實施例用于為保護(hù)組創(chuàng)建保護(hù)計劃的保護(hù)計劃創(chuàng)建例程的流程圖;圖34是依照本發(fā)明實施例用于執(zhí)行準(zhǔn)備計劃的準(zhǔn)備計劃執(zhí)行例程的流程圖;圖35是依照本發(fā)明實施例用于確認(rèn)位于存儲位置的數(shù)據(jù)的副本的確認(rèn)例程的流程圖;圖36是依照本發(fā)明實施例用于確認(rèn)位于存儲位置的對象的副本的調(diào)度確認(rèn)例程的流程圖;圖37是依照本發(fā)明實施例示出用于存儲位置的存儲部分和/或整個存儲位置的狀態(tài)轉(zhuǎn)變的方框圖;圖38是依照本發(fā)明實施例示出用于在前次意圖轉(zhuǎn)換例程期間發(fā)生的中斷之后重新開始意圖轉(zhuǎn)換例程的重新開始例程的流程圖;圖39是依照本發(fā)明實施例示出用于生成歸檔數(shù)據(jù)的計劃的歸檔保護(hù)計劃創(chuàng)建例程;圖40是表格,依照本發(fā)明實施例示出可用于生成歸檔方案的不同世代的例子;圖41是依照本發(fā)明實施例用于為歸檔數(shù)據(jù)分配介質(zhì)的流例程;圖42是依照本發(fā)明實施例示出數(shù)據(jù)保護(hù)系統(tǒng)的方框圖;圖43-44是依照本發(fā)明實施例示出由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行的數(shù)據(jù)傳送監(jiān)視例程的流程圖;圖45依照本發(fā)明實施例示出數(shù)據(jù)保護(hù)系統(tǒng)從產(chǎn)生位置到存儲位置重新開始傳輸變化記錄的流程圖;圖46和47是依照本發(fā)明實施例示出用于確認(rèn)復(fù)制品的確認(rèn)例程的流程圖;圖48A是依照本發(fā)明實施例用于處理由產(chǎn)生位置接收的命令的命令處理例程的流程圖;圖48B是依照本發(fā)明實施例用于從產(chǎn)生位置到存儲位置傳輸變化記錄的傳輸數(shù)據(jù)例程的流程圖;圖48C是依照本發(fā)明實施例用于確認(rèn)數(shù)據(jù)的確認(rèn)例程的流程圖;圖49A是依照本發(fā)明實施例用于處理由存儲位置接收的命令的命令處理例程的流程圖;圖49B是依照本發(fā)明實施例用于在存儲位置接收記錄的接收記錄例程的流程圖;圖49C是依照本發(fā)明實施例用于將變化記錄應(yīng)用到在存儲位置的復(fù)制品上的應(yīng)用變化記錄例程的流程圖;圖50是依照本發(fā)明實施例的包含多項任務(wù)的作業(yè)的方框圖;圖51是依照本發(fā)明實施例示出任務(wù)的監(jiān)視和補(bǔ)充作業(yè)的創(chuàng)建的流程圖;圖52是依照本發(fā)明實施例示出組成作業(yè)例程的流程圖,該例程用于標(biāo)識任務(wù)失敗并且如果該任務(wù)是關(guān)鍵性的則創(chuàng)建補(bǔ)充作業(yè);圖53是依照本發(fā)明實施例示出用于診斷關(guān)聯(lián)于副本和時間版本的問題以及用于如果檢測到問題則生成關(guān)于建議的修正的報告的流程圖;圖54-56是依照本發(fā)明實施例示出描述用于診斷與數(shù)據(jù)保護(hù)系統(tǒng)中數(shù)據(jù)副本有關(guān)的潛在問題的副本診斷例程的流程圖;圖57-58是依照本發(fā)明實施例示出描述用于診斷與由數(shù)據(jù)保護(hù)系統(tǒng)生成的時間版本有關(guān)的潛在問題的時間版本診斷例程的流程圖;以及圖59是依照本發(fā)明實施例描述用于診斷與數(shù)據(jù)保護(hù)系統(tǒng)中信息的恢復(fù)有關(guān)的潛在問題的恢復(fù)診斷例程的流程圖。詳細(xì)說明圖1A是依照本發(fā)明實施例用于管理數(shù)據(jù)的保護(hù)和恢復(fù)的數(shù)據(jù)保護(hù)系統(tǒng)的方框圖。在此描述的數(shù)據(jù)保護(hù)系統(tǒng)100的實施例為用戶如系統(tǒng)管理員提供容易地管理數(shù)據(jù)的保護(hù)與恢復(fù)的能力。一般地,數(shù)據(jù)管理和保護(hù)的目標(biāo)是在產(chǎn)生位置103主動生成和修改的數(shù)據(jù)。保護(hù)該數(shù)據(jù)并將它作為數(shù)據(jù)的復(fù)制品或副本存儲在存儲位置105。存儲位置可以在遠(yuǎn)離產(chǎn)生位置的位置和/或與產(chǎn)生位置同一個位置。此外,存儲位置可包括不同存儲形式的多個位置。例如,數(shù)據(jù)的復(fù)制品可以維護(hù)在一個位置而該數(shù)據(jù)的歸檔可維護(hù)在第二個位置上。因而,存儲位置通常描述可存儲和保護(hù)數(shù)據(jù)的位置的任何組合和/或類型。如將在這里描述的,數(shù)據(jù)保護(hù)系統(tǒng)100包括數(shù)據(jù)保護(hù)器101,它與產(chǎn)生位置103和存儲位置105通信以監(jiān)控產(chǎn)生位置103和存儲位置105之間數(shù)據(jù)的保護(hù)和流動。數(shù)據(jù)保護(hù)器101,如圖1A所示,可存在于單個計算設(shè)備如服務(wù)器上,或者分布在多臺計算設(shè)備上。數(shù)據(jù)保護(hù)器101部署并與位于數(shù)據(jù)保護(hù)系統(tǒng)100內(nèi)不同計算設(shè)備上的代理通信,諸如產(chǎn)生位置103和/或存儲位置105,以便能夠進(jìn)行多設(shè)備間數(shù)據(jù)保護(hù)的分布式控制與管理。由數(shù)據(jù)保護(hù)系統(tǒng)100提供的數(shù)據(jù)保護(hù)類型的例子包括,但不限于,帶有時間版本的復(fù)制、在諸如磁帶或盤之類的可移動介質(zhì)上的傳統(tǒng)歸檔以及復(fù)制和歸檔兩者的組合。要理解,保護(hù)的任何其它形式和/或組合都可用于本發(fā)明實施例,并且復(fù)制、時間版本和歸檔都是簡單的例子。圖1B示出數(shù)據(jù)保護(hù)系統(tǒng)100的可供選擇的實施例。具體而言,數(shù)據(jù)保護(hù)器110可部分或全部駐留在產(chǎn)生位置111。在這樣一個實施例中,數(shù)據(jù)保護(hù)器11O提供在它自己與產(chǎn)生位置111之間以及在它自己與存儲位置113之間的通信。圖1C還示出依照本發(fā)明實施例用于保護(hù)和恢復(fù)數(shù)據(jù)的數(shù)據(jù)保護(hù)系統(tǒng)100的另一實施例。如圖1C所示,數(shù)據(jù)保護(hù)器120可部分或全部駐留在存儲位置123上。在這樣一個實施例中,數(shù)據(jù)保護(hù)器120提供它自己與存儲位置123之間以及它自己與產(chǎn)生位置121之間的通信。圖2是依照本發(fā)明實施例用于保護(hù)和恢復(fù)數(shù)據(jù)的數(shù)據(jù)保護(hù)系統(tǒng)200的另一方框圖。數(shù)據(jù)保護(hù)系統(tǒng)200示出多個產(chǎn)生位置,諸如產(chǎn)生位置1203、產(chǎn)生位置2205、一直到產(chǎn)生位置N207,可與數(shù)據(jù)保護(hù)器201交互以存儲源自產(chǎn)生位置的數(shù)據(jù)的復(fù)制品和/或時間版本。數(shù)據(jù)保護(hù)器2201與產(chǎn)生位置203、205、207通信并為駐留在諸如存儲位置A209、存儲位置B211和存儲位置X213等的相應(yīng)存儲位置的數(shù)據(jù)提供保護(hù)。這里所述的實施例可利用任意數(shù)量的數(shù)據(jù)產(chǎn)生位置和存儲位置及其組件。如將要理解的及示于圖1A-2,任何類型的數(shù)據(jù)保護(hù)系統(tǒng)的配置都可按照本發(fā)明實施例用于保護(hù)和恢復(fù)數(shù)據(jù)??偟膩碚f,在此所述的數(shù)據(jù)保護(hù)系統(tǒng)實施例為數(shù)據(jù)保護(hù)系統(tǒng)的用戶提供在高層指定在產(chǎn)生位置的什么數(shù)據(jù)是重要的以及用戶想要如何保護(hù)該數(shù)據(jù)的能力。具體地說,在此所述的系統(tǒng)為用戶提供邏輯地標(biāo)識在特定的產(chǎn)生位置他們想要保護(hù)什么數(shù)據(jù)和他們想要如何保護(hù)它們的能力。數(shù)據(jù)保護(hù)系統(tǒng)將該邏輯標(biāo)識轉(zhuǎn)換成一系列調(diào)度和執(zhí)行的“作業(yè)(job)”來保護(hù)數(shù)據(jù)。作業(yè),如下所述,包括保護(hù)由用戶標(biāo)識的數(shù)據(jù)所需的詳細(xì)信息。例如,一個作業(yè)可執(zhí)行復(fù)制、確認(rèn)、時間版本管理、歸檔和介質(zhì)管理等等。為了給用戶提供在邏輯層選擇數(shù)據(jù)的能力,數(shù)據(jù)保護(hù)系統(tǒng)給用戶提供以“名字空間(Namespace)”和“名字空間元素(NamespaceElement)”形式存儲在產(chǎn)生位置的數(shù)據(jù)的的邏輯表示。如在此所述的名字空間,是應(yīng)用的邏輯表示。例如,可在數(shù)據(jù)保護(hù)系統(tǒng)內(nèi)表示為名字空間的應(yīng)用包括但不限于,分布式文件系統(tǒng)(“DFS”),本地文件系統(tǒng),網(wǎng)絡(luò)應(yīng)用名字空間,諸如共享點(Sharepoint)和交換名字空間(ExchangeNamespace)。如將意識到的,示例性應(yīng)用的列表僅為了說明而不是要以任何方式來限制本發(fā)明。數(shù)據(jù)保護(hù)系統(tǒng)可使用任何類型的應(yīng)用并標(biāo)識為名字空間。如在此所述的名字空間元素,是物理對象如數(shù)據(jù)的邏輯表示,并且是組成名字空間的主要實體。例如,名字空間元素可以是但不限于,DFS鏈接,服務(wù)器,共享,卷,文件夾或交換存儲組。一般而言,交換存儲組是共享一個共同日志的數(shù)據(jù)庫集合。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,可使用名字空間元素表示任何類型的物理對象或物理對象集合。為保護(hù)數(shù)據(jù),用戶在邏輯名字空間中搜索或?qū)Ш讲⑶疫x擇一或多個名字空間元素。所選擇的名字空間元素與一個現(xiàn)有的“保護(hù)組(protectedgroup)”相關(guān)聯(lián)或者用于創(chuàng)建一個新的保護(hù)組。當(dāng)名字空間元素與一個保護(hù)組相關(guān)聯(lián)時,與該名字空間元素相關(guān)聯(lián)的物理對象(數(shù)據(jù))也變成該保護(hù)組的一部分。如在此所述的保護(hù)組是名字空間元素的邏輯組合并且與應(yīng)用了相同保護(hù)規(guī)則的保護(hù)對象相關(guān)聯(lián)。每個名字空間元素用于定位一或多個物理對象(數(shù)據(jù)),在此稱為“可保護(hù)對象(protectableobject)”,可將它們添加到保護(hù)組。一旦定位,可選擇可保護(hù)對象用于保護(hù)。當(dāng)選擇一個可保護(hù)對象用于保護(hù)時,所選擇的可保護(hù)對象變成一個是可保護(hù)對象一部分的“可保護(hù)對象”。如在此所述的可保護(hù)對象,是可保護(hù)的物理信息/數(shù)據(jù)。例如,可保護(hù)對象可以是但不限于,文件夾,文件,電子郵箱,數(shù)據(jù)庫,網(wǎng)站等等。如在此所述的保護(hù)對象(protectedobject)是已經(jīng)被標(biāo)識和選擇用于保護(hù)的可保護(hù)對象。除了創(chuàng)建保護(hù)組之外,用戶可以在高層指定他們想要何時(多么頻繁)和多長時間保護(hù)該保護(hù)組。另外,用戶可指定它們想要保留該保護(hù)組的副本和歸檔多長時間。這類高層指定可跨越所有保護(hù)活動,如復(fù)制、歸檔、介質(zhì)管理和它們的任何組合?;谟脩籼峁┑闹付?,為保護(hù)保護(hù)組的對象創(chuàng)建一個具體的計劃。為恢復(fù)數(shù)據(jù),為用戶提供在邏輯名字空間中搜索或?qū)Ш揭远ㄎ挥脩粢牖謴?fù)的數(shù)據(jù)。隨后可使用到要恢復(fù)數(shù)據(jù)的邏輯路徑來定位一或多個可恢復(fù)對象,如下所述。每個可恢復(fù)對象表示保護(hù)對象的一個版本或其一部分。圖3是依照本發(fā)明實施例的數(shù)據(jù)保護(hù)系統(tǒng)300的一個流程圖,描述位于一產(chǎn)生位置的可保護(hù)對象的初始選擇和保護(hù)。如圖3所示,數(shù)據(jù)保護(hù)系統(tǒng)300部署代理至產(chǎn)生位置305以允許發(fā)現(xiàn)位于產(chǎn)生位置305的可保護(hù)對象并且標(biāo)識相應(yīng)于那些可保護(hù)對象的名字空間和名字空間元素。為用戶交互發(fā)布那些名字空間和名字空間元素并顯示在用戶界面303上。例如,圖4依照本發(fā)明實施例例示為用戶交互和選擇在用戶界面303上發(fā)布和顯示的多個名字空間和名字空間元素的方框圖。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,圖4的說明只是示例性的,并且本發(fā)明的實施例可顯示任何其它配置。例如,顯示可包括卷但沒有共享。顯示400例示DFSROOT(DFS根)名字空間401和SERVER(服務(wù)器)名字空間403。DFSROOT(DFS根)名字空間401包括兩個名字空間元素405,407,兩者都是DFS根。在DFSROOT(DFS根)名字空間401之下標(biāo)識的名字空間元素是\\ABCD\PUBLIC405和\\EFG\PRIVATE407。另外,SERVER(服務(wù)器)名字空間403包括若干名字空間元素409,411,413,415,421,423,425。那些名字空間元素也可包括若干另外的名字空間元素。例如,SERVER(服務(wù)器)1409包括若干名字空間元素類型,諸如SHARE(共享)名字空間元素類型411。同樣,SHARE(共享)名字空間元素類型411包括SHARE(共享)1名字空間元素413和SHARE(共享)2名字空間元素415。另外,SHARE(共享)名字空間元素411,SHARE(共享)1名字空間元素413和SHARE(共享)2名字空間元素415都是可保護(hù)對象的邏輯表示。用戶可通過選擇展開或折疊方框諸如展開方框417來與名字空間和名字空間元素的顯示交互。另外,用戶可通過選擇選擇方框如選擇方框419來選擇一或多個名字空間元素用于保護(hù)。在一個替換的實施例中,除了能夠選擇名字空間元素用于保護(hù)之外,用戶還能選擇名字空間用于保護(hù)。回來參考圖3,在用戶界面303上表示名字空間和名字空間元素的顯示400時,用戶選擇用戶想要數(shù)據(jù)保護(hù)系統(tǒng)300保護(hù)哪個名字空間元素。另外,用戶可提供“保護(hù)意圖(protectionintent)”用于所選擇的名字空間元素。如在此所述的保護(hù)意圖,是如何保護(hù)所選擇的數(shù)據(jù)的高層描述。例如,用戶可指示通過每晚備份對象一次并且在一年內(nèi)維護(hù)每周的副本來保護(hù)所選擇的名字空間元素。所選擇的名字空間元素和相關(guān)聯(lián)的保護(hù)意圖從用戶界面303傳送到數(shù)據(jù)保護(hù)器301。數(shù)據(jù)保護(hù)器301使用所選擇的名字空間元素和保護(hù)意圖,創(chuàng)建由所選擇的名字空間元素標(biāo)識的可保護(hù)對象的保護(hù)組。在選擇時,可保護(hù)對象變成保護(hù)對象。保護(hù)組包括所選擇的名字空間元素,相關(guān)聯(lián)的保護(hù)對象的標(biāo)識,以及有關(guān)如何保護(hù)保護(hù)對象的具體計劃。另外,數(shù)據(jù)保護(hù)器301創(chuàng)建至少一個自動發(fā)現(xiàn)組,如下所述。在一個實施例中,數(shù)據(jù)保護(hù)器301也可創(chuàng)建已保存搜索例程,如下所述。保護(hù)組的創(chuàng)建是通過將所選擇的邏輯對象(名字空間元素)映射到位于產(chǎn)生位置的合適可保護(hù)對象來完成的。隨后添加所標(biāo)識的可保護(hù)對象作為保護(hù)組的成員并且變成保護(hù)對象??蓪⒖杀Wo(hù)對象添加到現(xiàn)有的保護(hù)組或者可形成一個新的保護(hù)組。另外,保護(hù)意圖用于創(chuàng)建保護(hù)保護(hù)組的組計劃。組計劃包括但不限于,資源計劃,準(zhǔn)備計劃,和保護(hù)計劃,下面詳細(xì)地描述每個計劃。組計劃和組內(nèi)的計劃是由一或多個作業(yè)和調(diào)度參數(shù)組成的。在資源計劃的情況下,標(biāo)識要分配資源的數(shù)量。分配的資源可包括但不限于,復(fù)制品的盤空間,歸檔的可移動介質(zhì),諸如盤或帶,復(fù)制品和可移動介質(zhì)兩者的組合,等等。調(diào)度參數(shù)標(biāo)識何時要執(zhí)行作業(yè)。在生成保護(hù)組、保護(hù)數(shù)據(jù)的計劃、自動發(fā)現(xiàn)組和已保存搜索條件之后,數(shù)據(jù)保護(hù)器301準(zhǔn)備產(chǎn)生位置305和存儲位置307用于保護(hù)。具體地說,數(shù)據(jù)保護(hù)器部署代理,它們能夠?qū)?shù)據(jù)從產(chǎn)生位置305通信和傳送到存儲位置307。一旦已經(jīng)為保護(hù)準(zhǔn)備了產(chǎn)生位置和存儲位置,保護(hù)就開始,并且將用于保護(hù)對象的數(shù)據(jù)副本從產(chǎn)生位置305傳送到存儲位置307。所傳送的數(shù)據(jù)副本,如下所述,可維護(hù)為復(fù)制品,歸檔副本,或者任何其它類型的數(shù)據(jù)保護(hù)。在為保護(hù)準(zhǔn)備存儲位置307時,如下面更詳細(xì)地討論的,數(shù)據(jù)保護(hù)器301分配必需的資源(通過資源計劃)用于按用戶要求存儲物理對象的副本。為開始保護(hù),啟動一個作業(yè)以創(chuàng)建所選擇的存儲在產(chǎn)生位置305的可保護(hù)對象的初始副本,發(fā)送副本,并且在存儲位置307存儲副本。如果副本是復(fù)制品,則通過執(zhí)行確認(rèn)作業(yè)來確認(rèn)它來保證它的準(zhǔn)確性。如果副本被歸檔到可移動介質(zhì),則初始副本是所選擇可保護(hù)對象的完整備份。在生成初始副本之后,數(shù)據(jù)保護(hù)器301創(chuàng)建作業(yè)以周期性地更新副本,或者創(chuàng)建附加的副本(歸檔也是如此),它具有已經(jīng)對位于產(chǎn)生位置305的信息作出的改變。為標(biāo)識存儲在產(chǎn)生位置305與所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對象,數(shù)據(jù)保護(hù)器301將邏輯對象(名字空間元素)映射到物理對象(可保護(hù)對象)。再次參考圖4,顯示了兩個名字空間,DFSROOT(DFS根)401和SERVER(服務(wù)器)名字空間403,各自具有多個名字空間元素。用戶可選擇一或多個名字空間元素。在一個實施例中,當(dāng)選擇一個名字空間元素時,也默認(rèn)地選擇了所有被包含的名字空間元素。使用圖4作為一個例子,如果用戶選擇SERVER(服務(wù)器)1409上的StorageGroup(存儲組)1421,則DATABASE(數(shù)據(jù)庫)A和DATABASE(數(shù)據(jù)庫)B也被自動地選擇。用戶可取消選擇一或多個名字空間元素。每個名字空間元素映射到一或多個位于產(chǎn)生位置305的可保護(hù)對象。例如,名字空間元素\\ABCD\PUBLIC405映射到多個可保護(hù)對象。參考圖5,名字空間元素\\ABCD\PUBLIC505映射到位于產(chǎn)生位置305的三個可保護(hù)對象。具體地說,名字空間元素\\ABCD\PUBLIC505映射到在server(服務(wù)器)1上的D\folder507,server(服務(wù)器)2上的D\folder509,和server(服務(wù)器)3上的F\511。每個可保護(hù)對象507、509、511位于產(chǎn)生位置305。為了使數(shù)據(jù)保護(hù)器搜索和導(dǎo)航名字空間,以及從邏輯對象諸如名字空間元素505映射到物理對象,創(chuàng)建關(guān)聯(lián)名字空間和名字空間元素的方案。方案是應(yīng)用名字空間組成的抽象表示,其中可能的名字空間包括但不限于分布式文件系統(tǒng)和交換。圖6依照本發(fā)明實施例例示一個這樣的方案的方框圖,它關(guān)聯(lián)名字空間的類型和名字空間元素的類型,表示卷方案。該方案表示為一個有向圖,其中在圖中的節(jié)點表示應(yīng)用名字空間內(nèi)的名字空間元素的類型,而鏈接表示名字空間元素之間的包含和連接關(guān)系。名字空間元素類型之間的包含關(guān)系和連接關(guān)系表示可以關(guān)聯(lián)那些類型的實例的所有可能方式。參考圖6,包含關(guān)系示為單箭頭線而連接關(guān)系示為雙箭頭線。例如,“DFSroot(DFS根)”類型的名字空間元素603可表示到“share(共享)”類型的名字空間元素609的連接617,而share(共享)609可表示到volume(卷)611的連接619,或者到folder(文件夾)615的連接。一種包含關(guān)系是名字空間元素之間簡單的父/子關(guān)系,其中父節(jié)點在邏輯上包括子節(jié)點。例如,domain(域)601包含623server(服務(wù)器)607,并包含625DFSROOT(DFS根)603。server(服務(wù)器)607包含627share(共享)609并包含629volume(卷)611。volume(卷)611包含631folder(文件夾)615并包含633mountpoint(固定點)613。folder(文件夾)615可包含其它文件夾并包含文件(未示出)。一種連接關(guān)系是源/目標(biāo)關(guān)系,其中源名字空間元素是目標(biāo)名字空間元素的邏輯同義詞。連接關(guān)系可以是一對多關(guān)系。即,單個源名字空間元素可具有多個目標(biāo)名字空間元素,在這種情況下,目標(biāo)表示可替換的位置,從這些位置檢索由源表示的基礎(chǔ)數(shù)據(jù)。例如,DFSroot(DFS根)603可映射617到多個作為目標(biāo)的share(共享)609。連接關(guān)系也可以是多對一--連接的目標(biāo)可具有其它名字空間元素中的多個邏輯名字。例如,folder(文件夾)615可以具有許多映射621到該folder(文件夾)615的share(共享)609。另外,多個邏輯名字空間元素可映射到同一可保護(hù)對象。例如,SHARE(共享)1名字空間元素513映射到server(服務(wù)器)1上的E\PRIVATE515。同樣,SHARE(共享)2名字空間元素517也可映射到server(服務(wù)器)1上的E\PRIVATE515。圖7依照本發(fā)明實施例例示一個方案的方框圖,它將邏輯名字空間元素映射到物理可保護(hù)對象。具體地說,方案700例示域ABCD701具有與DFSROOT(DFS根)public(公共)703和三個server(服務(wù)器)705的包含關(guān)系。同樣,DFSROOT(DFS根)public(公共)703具有與三個DFSlink(DFS鏈接)707(包括link(鏈接)link(鏈接)l707A、link(鏈接)2707B和link(鏈接)3707C)的包含關(guān)系。link(鏈接)l707A、link(鏈接)2707B和link(鏈接)3707C各自包括一個到share(共享)711的連接關(guān)系。具體地說,link(鏈接)1707A包括到\\server1\share的連接,link(鏈接)2707B包括到\\server2\share的連接,以及l(fā)ink(鏈接)3707C包括到\\server3\share的連接。\\server1\share、\\server2\share、\\server3\share各自是不同于DFS名字空間的名字空間中的邏輯對象。這是通過遍歷DFSlink(DFS鏈接)707和share(共享)711之間的連接719來示出。具體地說,\\server1\share、\\server2\share和\\server3\share在UNC服務(wù)器名字空間中。參考share(共享)711,為完成\\ABCD\PUBLIC的映射,作出關(guān)于每個共享要映射到什么內(nèi)容的決定。如上所述,共享可以映射到volume(卷)713和/或folder(文件夾)717。因而,繼續(xù)該例,確定邏輯對象\\serverl\share映射到server(服務(wù)器)1上的物理對象D\folder;\\server2\share映射到server(服務(wù)器)2上的D\folder;以及\\server3\share映射到server(服務(wù)器)3上的F\。server(服務(wù)器)1上的D\folder、server(服務(wù)器)2上的D\folder和server(服務(wù)器)3上的F\是由\\ABCD\PUBLIC505的邏輯對象表示的三個物理可保護(hù)對象。如圖7的例子所示,利用方案600(圖6),可以確定,從邏輯名字空間元素到存儲在由該名字空間元素表示的產(chǎn)生位置上的物理對象的映射關(guān)系。從方案600中已知的每個點,可搜索從該點鏈接到映射的下一部分是什么關(guān)系。數(shù)據(jù)保護(hù)的名字空間遍歷能力可應(yīng)用于任何類型的應(yīng)用,用于瀏覽、搜索和從邏輯名字空間和名字空間元素映射到存儲在產(chǎn)生位置的物理對象。例如,通過用戶界面,用戶可指定搜索參數(shù),包括通配符,而且數(shù)據(jù)保護(hù)系統(tǒng)可以查詢現(xiàn)有的名字空間和名字空間元素列表并提供適當(dāng)?shù)慕Y(jié)果。用戶界面將傳遞搜索結(jié)果到數(shù)據(jù)保護(hù)器,并且數(shù)據(jù)保護(hù)器將發(fā)送結(jié)果回用戶界面。數(shù)據(jù)保護(hù)器支持一般操作以在名字空間之間“搜索”、“導(dǎo)航”和“映射”,其中可以在一個方案中捕捉每個應(yīng)用名字空間的特定結(jié)構(gòu)。為擴(kuò)展數(shù)據(jù)保護(hù)器以支持新的應(yīng)用,隨后,僅需要提供一個模塊,在該名字空間上執(zhí)行基本操作以遍歷包含關(guān)系和連接,并提供方案,它描述如何將那些操作組成到較大的“搜索”、“導(dǎo)航”和“映射”操作中。本發(fā)明的實施例同樣也可用于沒有數(shù)據(jù)保護(hù)的應(yīng)用。例如,可生成存儲報告,它說明如何跨一個產(chǎn)生位置或者跨一個產(chǎn)生位置內(nèi)的一組服務(wù)器使用存儲,在這樣一個實施例中,用戶可以配置一個報告來顯示在一個DFS根之下所有大于100MB的文件。產(chǎn)生位置包括若干可保護(hù)的不同類型對象。例如,圖8依照本發(fā)明實施例例示包含可由數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)的可保護(hù)對象的產(chǎn)生位置800的方框圖。包括在產(chǎn)生位置800中的是三個服務(wù)器801、803和805。每個服務(wù)器可以是它自己的計算設(shè)備,或者表現(xiàn)為單個服務(wù)器的計算設(shè)備組。每個服務(wù)器可以在一個中心位置,或者在地理位置上是分散的。包括在服務(wù)器諸如server(服務(wù)器)-1801中是一或多個“數(shù)據(jù)源(datasource)”。如在此使用的數(shù)據(jù)源,是由數(shù)據(jù)保護(hù)器操作的應(yīng)用數(shù)據(jù)的高層抽象。數(shù)據(jù)源將它的物理數(shù)據(jù)揭示為一或多個可保護(hù)對象并且數(shù)據(jù)源本身可以是一個可保護(hù)對象。數(shù)據(jù)源包含在單個服務(wù)器內(nèi),而服務(wù)器可包含一或多個數(shù)據(jù)源。例如,服務(wù)器-1801包括兩個數(shù)據(jù)源,數(shù)據(jù)源1(DS1)807和數(shù)據(jù)源2(DS2)821。同樣,數(shù)據(jù)源1807包含六個可保護(hù)對象809、811、813、815、817和819。類似地,數(shù)據(jù)源2821包含兩個可保護(hù)對象823和825。除了包含可保護(hù)對象的數(shù)據(jù)源之外,數(shù)據(jù)源本身可以是可保護(hù)對象。而且,可保護(hù)對象可包含其它可保護(hù)對象。例如,數(shù)據(jù)源3835包含八個可保護(hù)對象827、829、831、833、837、839、841、843??杀Wo(hù)對象837包含可保護(hù)對象839,它包含可保護(hù)對象841和843。服務(wù)器-3805包含四個數(shù)據(jù)源,數(shù)據(jù)源4(DS4)845,數(shù)據(jù)源5(DS5)851,數(shù)據(jù)源6(DS6)857和數(shù)據(jù)源7(DS7)859。四個數(shù)據(jù)源845,851,857和859每一個都可以是可保護(hù)對象。包含在數(shù)據(jù)源4845內(nèi)的是兩個可保護(hù)對象847和849。數(shù)據(jù)源5851包含兩個可保護(hù)對象853和855,數(shù)據(jù)源6857不包含可保護(hù)對象,以及數(shù)據(jù)源7859包含兩個可保護(hù)對象861和863。每個可保護(hù)對象是一個特定的可保護(hù)對象類型,它允許數(shù)據(jù)保護(hù)系統(tǒng)在不同等級的粒度上揭示每個數(shù)據(jù)源中的可保護(hù)對象。例如,數(shù)據(jù)保護(hù)系統(tǒng)可將交換存儲組數(shù)據(jù)源整體地揭示為一個可保護(hù)對象,具有存儲組的保護(hù)對象類型。也可將相同存儲組數(shù)據(jù)源劃分成多個可保護(hù)對象,每個可保護(hù)對象具有數(shù)據(jù)庫的可保護(hù)對象類型。對于相同的可保護(hù)對象,甚至可存在兩或多個不同可保護(hù)對象類型。例如,數(shù)據(jù)保護(hù)系統(tǒng)可在塊層將卷揭示為一種可保護(hù)對象類型的可保護(hù)對象,并且在文件層將它揭示為另一種可保護(hù)對象類型的可保護(hù)對象。數(shù)據(jù)源的例子包括但不限于操作系統(tǒng)、系統(tǒng)卷、交換存儲組、SQL數(shù)據(jù)庫等等。用于服務(wù)器的可保護(hù)對象類型的例子包括但不限于,系統(tǒng)保護(hù)文件和操作系統(tǒng)數(shù)據(jù)存儲器,諸如注冊表和活動目錄。文件系統(tǒng)卷可保護(hù)對象類型包括但不限于目錄和文件。文件系統(tǒng)卷實體可由鏈接到目標(biāo)名字空間元素的文件共享或DFS來定位。用于交換存儲組的可保護(hù)對象類型包括但不限于數(shù)據(jù)庫和郵箱。如上所述,每個可選擇的名字空間元素映射到一或多個可保護(hù)對象,諸如可保護(hù)對象801-863(圖8)。每個可保護(hù)對象是一種可保護(hù)對象類型的,并且每個可保護(hù)對象在單個數(shù)據(jù)源內(nèi)。另外,每個數(shù)據(jù)源在一個產(chǎn)生位置的單個服務(wù)器內(nèi)。再參考一次如參考圖5-7所述的用戶選擇名字空間元素\\ABCD\PUBLIC405(圖4)并且繼續(xù)將名字空間元素映射到可保護(hù)對象的例子,將依照本發(fā)明實施例參考圖9A-9B描述將那些可保護(hù)對象和關(guān)聯(lián)映射到保護(hù)組中。從用戶的觀點,保護(hù)組的成員是由用戶已經(jīng)選擇的名字空間元素定義的并且添加到保護(hù)組,以及作為自動發(fā)現(xiàn)組(下面描述)的結(jié)果添加的可保護(hù)對象。另外,數(shù)據(jù)保護(hù)系統(tǒng)將允許用戶查看在保護(hù)組中每個名字空間元素映射到哪個保護(hù)對象以及那些保護(hù)對象每一個的狀態(tài)?;貋韰⒖记懊娴睦?,名字空間元素\\ABCD\PUBLIC405映射到三個可保護(hù)對象server(服務(wù)器)1上的D\Folder507,server(服務(wù)器)2上的D\Folder509,和server(服務(wù)器)3上的F\511。接著通過參考圖7描述的映射,并且參考圖9A,在server(服務(wù)器)1上的D\Folder507指向包含在server(服務(wù)器)1901上的數(shù)據(jù)源D\907內(nèi)的folder(文件夾)909。在server(服務(wù)器)2上的D\folder509指向包含在server(服務(wù)器)2903上的數(shù)據(jù)源D\935內(nèi)的folder(文件夾)927。最后,在server(服務(wù)器)3上的F\511指向server(服務(wù)器)3905上的數(shù)據(jù)源F\951。參考圖9B,名字空間元素\\ABCD\PUBLIC505的選擇映射到參考圖9A描述的保護(hù)對象,并且那些對象與保護(hù)組930相關(guān)聯(lián)。如上所述,包含在所選擇的保護(hù)對象中的可保護(hù)對象可自動地包括在保護(hù)組中。例如,部分地映射到server(服務(wù)器)3905上的F\951的\\ABCD\PUBLIC505包括另外的可保護(hù)對象953和955,因為它們包含在server(服務(wù)器)3905上的保護(hù)對象F\951內(nèi)。如在圖9B中所示,保護(hù)組930可包含位于不同服務(wù)器諸如server(服務(wù)器)1901、server(服務(wù)器)2903和server(服務(wù)器)3905上的保護(hù)對象。圖10依照本發(fā)明實施例例示包含所選擇的名字空間元素的保護(hù)組、被映射的保護(hù)對象和保護(hù)組的屬性的方框圖。具體地說,保護(hù)組1030包含名字空間元素\\ABCD\PUBLIC1005,每個相對于前面的例子描述的被映射的保護(hù)對象,和包含在所選擇的保護(hù)對象內(nèi)的保護(hù)對象。具體地說,保護(hù)組1030包括保護(hù)對象server(服務(wù)器)1上的D\folder1009、server(服務(wù)器)1上的D\folder1027。另外,保護(hù)組1030包括server(服務(wù)器)3上的保護(hù)對象F\1051,以及包含在保護(hù)對象server(服務(wù)器)3上的F\1051內(nèi)的兩個保護(hù)對象1053、1055。每個保護(hù)組,諸如保護(hù)組1030,包括一個組計劃1040,它可包括時間表(schedule)1041、空間分配規(guī)則1043等。時間表保護(hù)組包括作業(yè)和用于保護(hù)組的其它信息。為了操作簡單,保護(hù)組收集保護(hù)對象。在保護(hù)組中的所有保護(hù)對象共享從相同的保護(hù)意圖集合生成的相同組計劃??傊?,保護(hù)組包括一或多個保護(hù)名字空間元素。每個保護(hù)名字空間元素定位一或多個可保護(hù)對象。保護(hù)對象進(jìn)而定位在數(shù)據(jù)源上。數(shù)據(jù)源可以是至少一個保護(hù)組的成員。在保護(hù)期間,周期性地重新評估保護(hù)組映射以標(biāo)識新發(fā)現(xiàn)的可保護(hù)對象(它們應(yīng)該潛在地包括在保護(hù)組本身之中)并且檢測在到一個保護(hù)對象的邏輯路徑方面的變化。下面描述的這個周期性評估,是使用自動發(fā)現(xiàn)組完成的?,F(xiàn)在參考圖11,12,13,16,23B,25,26,27,28,29,30,31,32,33,34,35,36,38,39,41,48A,48B,48C,49A,49B,49C,52,53,54,55,56,57,58和59,描述由本發(fā)明各實施例實現(xiàn)的不同例程。相關(guān)領(lǐng)域的熟練技術(shù)人員將意識到,可在單個計算設(shè)備如服務(wù)器或者分布在許多計算設(shè)備上來實現(xiàn)這些例程。圖11,12,13,16,23B,25,26,27,28,29,30,31,32,33,34,35,36,38,39,41,48A,48B,48C,49A,49B,49C,52,53,54,55,56,57,58和59例示執(zhí)行各特定功能的塊。在替換的實施例中,可使用更多或更少的塊。在本發(fā)明的一實施例中,一個塊可單獨或組合地表示軟件程序,軟件對象,軟件功能,軟件子例程,軟件方法,軟件實例,代碼片斷,硬件操作或者用戶操作。圖11是依照本發(fā)明一實施例配置保護(hù)保護(hù)組的計劃的配置例程的流程圖。配置例程1100在塊1101開始并且在塊1103例程從與用戶界面交互的用戶獲得名字空間元素的選擇和保護(hù)意圖。如將在下面描述的,用戶可選擇多個名字空間元素用于保護(hù)。所提供的保護(hù)意圖應(yīng)用于所有選擇的元素。在塊1105中,所選擇的名字空間元素被映射到適當(dāng)?shù)目杀Wo(hù)對象。在判定塊1107,判定是否已經(jīng)選擇另外的名字空間元素要與先前選擇的名字空間元素包括在一起。如果在判定塊1107判定已經(jīng)選擇了另外的名字空間元素,則例程返回以在塊1103獲得所選擇的名字空間元素。然而,如果在判定塊1107判定沒有另外的名字空間元素,則在塊1109數(shù)據(jù)保護(hù)器為所選擇的名字空間元素生成一個保護(hù)組,它將用于保護(hù)與在塊1105被映射的相關(guān)聯(lián)的可保護(hù)對象。添加到保護(hù)組的可保護(hù)對象變成保護(hù)對象。在塊1111,基于由用戶在塊1103提供的保護(hù)意圖生成用于保護(hù)的組計劃。用于保護(hù)的組計劃可包括保護(hù)的頻率和所希望的保護(hù)類型。保護(hù)類型的例子包括,但不限于“后臺保護(hù)(backgroundprotection)”、“備份保護(hù)(backupprotection)”和歸檔保護(hù)。后臺保護(hù)指保護(hù)接近于連續(xù)的保護(hù)類型(例如,每小時、一天24小時、一周七天地更新副本)。備份保護(hù)指保護(hù)調(diào)度在特定時間發(fā)生的保護(hù)類型(例如,每晚一次)。組計劃應(yīng)用于保護(hù)組的所有保護(hù)對象。下面詳細(xì)地描述組計劃的生成并稱之為“意圖轉(zhuǎn)換(intenttranslation)”(圖31-34)。在塊1113,為保護(hù)準(zhǔn)備包括保護(hù)對象的產(chǎn)生位置和將存儲對象副本的存儲位置。例如,數(shù)據(jù)保護(hù)器生成存儲在存儲位置的數(shù)據(jù)初始副本并且確認(rèn)準(zhǔn)確性。在保護(hù)已經(jīng)進(jìn)行,如由塊1115例示的,并且已經(jīng)副本和存儲與所選擇的名字空間元素相關(guān)聯(lián)的保護(hù)對象之后,例程在塊1117結(jié)束。圖12依照本發(fā)明一實施例例示保護(hù)組創(chuàng)建例程,它更詳細(xì)地描述了在塊1109(圖11)引用的保護(hù)組的創(chuàng)建。保護(hù)組創(chuàng)建例程1200在塊1201開始,并且在塊1203接收要進(jìn)行保護(hù)的名字空間元素的選擇。另外,還接收用于所選擇名字空間元素的保護(hù)意圖。在判定塊1205,判定所接收的名字空間元素是否要添加到一個新保護(hù)組或者是否要將它們包括在一個現(xiàn)有的保護(hù)組內(nèi)。如果判定不要將名字空間元素添加到新的保護(hù)組,則在塊1207獲得要將名字空間元素包括在哪個現(xiàn)有的保護(hù)組中的選擇。在塊1209,解決與名字空間元素相關(guān)的數(shù)據(jù)源的重疊,如在下面將更詳細(xì)地描述的(圖13)。最后,在塊1211,更新現(xiàn)有的保護(hù)組以包括附加的名字空間元素和相關(guān)聯(lián)的可保護(hù)對象。另外,用戶可具有改變用于保護(hù)組的組計劃的選擇權(quán)。回來參考判定塊1205,如果判定要將所接收的名字空間元素添加到新的保護(hù)組,則在塊1213解決與那些名字空間元素相關(guān)聯(lián)的數(shù)據(jù)源的任何重疊。在塊1215,接收新保護(hù)組的名字。在一個例子中,新保護(hù)組的名字可由用戶通過用戶界面提供??晒┨鎿Q地,保護(hù)組的名字可自動地由數(shù)據(jù)保護(hù)系統(tǒng)本身生成。在塊1217,依賴于先前向數(shù)據(jù)保護(hù)系統(tǒng)提供的保護(hù)意圖,為保護(hù)組創(chuàng)建組計劃。在塊1219,創(chuàng)建保護(hù)組的例程結(jié)束。圖13依照本發(fā)明一實施例例示重疊檢測例程,相應(yīng)于塊1209和1213(圖12),用于檢測包含在兩或多個保護(hù)組中的數(shù)據(jù)源的重疊。重疊檢測例程1300在塊1301開始,并且在判定塊1303,判定與所選擇的名字空間元素相關(guān)聯(lián)的任何可保護(hù)對象包含的數(shù)據(jù)源當(dāng)前是否包含在另一個保護(hù)組(現(xiàn)有保護(hù)組)中。如果判定沒有包含與包含在現(xiàn)有保護(hù)組中所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對象的數(shù)據(jù)源,則例程在塊1313結(jié)束,并且將控制返回到適當(dāng)?shù)睦?,如保護(hù)組創(chuàng)建例程1200(圖12)。然而,如果判定包含與所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對象的數(shù)據(jù)源包含在一個現(xiàn)有的保護(hù)組中(即重疊),則在判定塊1305-1307,作出如何解決所檢測到的重疊的決定。在本發(fā)明的一個實際實施例中,重疊的解決依賴于用戶的決定。例如,如果檢測到重疊,則可給用戶提供從當(dāng)前保護(hù)組排除重疊的數(shù)據(jù)源的可保護(hù)對象(“沖突的可保護(hù)對象”)的選項(1305),或者從現(xiàn)有保護(hù)組移除包含沖突的可保護(hù)對象的數(shù)據(jù)源并將它添加到當(dāng)前的保護(hù)組(1307)。在一個替換的實施例中,可由用戶為解決重疊提供一個全局政策,用于通過重疊檢測例程1300來進(jìn)行。還有一個實施例,試圖添加一個可保護(hù)對象到將引起重疊的保護(hù)組將導(dǎo)致故障。在判定塊1305,作出關(guān)于是否要將沖突的可保護(hù)對象從目前要將它添加到的保護(hù)組(當(dāng)前的保護(hù)組)中排除的決定。如果在判定塊1305決定要將沖突的可保護(hù)對象從當(dāng)前的保護(hù)組中排除,則從當(dāng)前的保護(hù)組中移除該可保護(hù)對象,但保留在引起沖突的現(xiàn)有保護(hù)組中,并且重疊檢測例程將控制返回到啟動例程,如由塊1313例示的。如果在判定塊1305決定不要將沖突的可保護(hù)對象從當(dāng)前的保護(hù)組中排除,則例程在判定塊判定是否要將可保護(hù)對象的數(shù)據(jù)源和包含在該數(shù)據(jù)源內(nèi)的所有保護(hù)對象從現(xiàn)有的保護(hù)組中移除并且,將被移除的數(shù)據(jù)源、被移除的保護(hù)對象和沖突的可保護(hù)對象添加到當(dāng)前的保護(hù)組。如果從現(xiàn)有的保護(hù)組移除數(shù)據(jù)源和包含的保護(hù)對象并且添加到當(dāng)前的保護(hù)組,則例程在塊1313結(jié)束,將控制返回到它來自的適當(dāng)例程。如果在判定塊1307決定不要從現(xiàn)有的保護(hù)組移除沖突的可保護(hù)對象的數(shù)據(jù)源和所有包含的保護(hù)對象并且添加到當(dāng)前的保護(hù)組,則重疊保護(hù)例程1300生成一個重疊故障,如由塊1311例示的并且在塊1313結(jié)束。與用戶能夠通過選擇表示那些可保護(hù)對象的名字空間元素來保護(hù)存儲在產(chǎn)生位置上的物理對象(可保護(hù)對象)相似,用戶也可通過選擇表示要被恢復(fù)的物理對象的名字空間元素來恢復(fù)物理對象(可恢復(fù)對象)。圖14是依照本發(fā)明一實施例的數(shù)據(jù)保護(hù)系統(tǒng)的一個流程圖,例示用于恢復(fù)保護(hù)對象的恢復(fù)過程。為恢復(fù)對象,用戶選擇一或多個表示要恢復(fù)的保護(hù)對象的名字空間元素。數(shù)據(jù)保護(hù)器1401,響應(yīng)于接收名字空間元素的選擇,隨后查詢存儲位置1403以標(biāo)識與由用戶提供的所選擇的名字空間元素相關(guān)聯(lián)的可恢復(fù)對象的時間版本。在一個替換的實施例中,不必查詢存儲位置1403以標(biāo)識時間版本。例如,為從歸檔恢復(fù),數(shù)據(jù)保護(hù)器1401可通過搜索包含標(biāo)識可用的時間版本的信息的目錄或數(shù)據(jù)庫來標(biāo)識時間版本。綜合所標(biāo)識的時間版本并作為可恢復(fù)數(shù)據(jù)的時間點提供給用戶。用戶選擇一個要恢復(fù)的時間點并且提供該時間點的恢復(fù)意圖?;謴?fù)意圖的例子在下面更詳細(xì)地討論。在從用戶收到關(guān)于要恢復(fù)什么及相應(yīng)的恢復(fù)意圖時,創(chuàng)建一個恢復(fù)計劃并且由數(shù)據(jù)保護(hù)器1401執(zhí)行,以及恢復(fù)位于存儲位置1403的適當(dāng)?shù)目苫謴?fù)對象并且發(fā)送到產(chǎn)生位置1405。圖15是依照本發(fā)明一實施例例示可包含在存儲位置1403上的可恢復(fù)對象的更詳細(xì)視圖的方框圖。通常,恢復(fù)將被損壞或丟失的保護(hù)對象(或其部分)帶回到先前的時間版本。時間版本可以是離散的或接近連續(xù)的。離散的時間版本由保護(hù)對象的持續(xù)時間點完整副本生成。離散時間版本的恢復(fù)可只要求保護(hù)對象的恢復(fù)或者可在恢復(fù)之后要求附加的恢復(fù)處理。接近連續(xù)的時間版本是由與保護(hù)對象相關(guān)聯(lián)的日志的持續(xù)時間點副本生成的?;謴?fù)通過日志的前卷(rollforward)應(yīng)用進(jìn)行。在本發(fā)明的一個實施例中,前滾可包含在日志內(nèi)的任何時間點停止。如在此所述的可恢復(fù)對象,表示恢復(fù)保護(hù)對象的可能性。每個可恢復(fù)對象可以從一或多個恢復(fù)資源生成?;謴?fù)資源可定位在歸檔帶上或者在盤上的歸檔副本的復(fù)制品內(nèi)與復(fù)制品相關(guān)聯(lián)的時間版本上。現(xiàn)在參考圖15,保護(hù)對象1509可包含一或多個可恢復(fù)對象1511、1513、1515、1517、1519、1521。通常,可恢復(fù)對象可比保護(hù)對象更精細(xì)。例如,保護(hù)對象可以是文件夾,諸如在server(服務(wù)器)1上的D\folder1509。該保護(hù)對象1509可包含多個可恢復(fù)對象。例如,保護(hù)對象server(服務(wù)器)1上的D\folder1509可包含六個可恢復(fù)對象,包括file(文件)11511、file(文件)21513、file(文件)31515、file(文件)41517、file(文件)51519和file(文件)61521。另外,保護(hù)對象1509也是可恢復(fù)對象。保護(hù)對象和保護(hù)方法的最初選擇常常決定可用的可恢復(fù)對象和/或恢復(fù)要求的工作。例如,如果保護(hù)對象是包含郵箱的數(shù)據(jù)庫的交換存儲組,則在該存儲組內(nèi)的所有數(shù)據(jù)庫可隱含地被保護(hù)。完整的存儲組或者一或多個數(shù)據(jù)庫可被恢復(fù)并且因而是可恢復(fù)對象。如果保護(hù)僅由歸檔執(zhí)行(下面描述)并且沒有復(fù)制,則郵箱恢復(fù)可能是非常耗時的(代價大的)。如果保護(hù)是由復(fù)制以及歸檔執(zhí)行的,則從復(fù)制品恢復(fù)郵箱可以是非??斓?便宜的)。如果保護(hù)對象是存儲組的數(shù)據(jù)庫,則可不要整個地保護(hù)存儲組而只保護(hù)包含在所選擇的數(shù)據(jù)庫內(nèi)的郵箱。然而,如果保護(hù)對象是郵箱,則沒有相關(guān)聯(lián)的數(shù)據(jù)庫或存儲組的隱含保護(hù)。如果僅通過歸檔而不通過復(fù)制執(zhí)行保護(hù),則歸檔不可能有能力恢復(fù)除所選擇的郵箱之外的任何內(nèi)容??晒┨鎿Q地,如果已知郵箱是作為不同的保護(hù)組的一部分復(fù)制的數(shù)據(jù)庫的一部分,則郵箱恢復(fù)可從其它保護(hù)組的復(fù)制品而不是從歸檔介質(zhì)進(jìn)行。圖16是依照本發(fā)明一實施例例示從存儲位置恢復(fù)保護(hù)對象的恢復(fù)例程?;謴?fù)例程1600在塊1601開始,并且在塊1603從與顯示在用戶界面上的名字空間元素接口的用戶接收名字空間元素的選擇。用戶也可提供恢復(fù)意圖用于要恢復(fù)的數(shù)據(jù)。在塊1605,接收要恢復(fù)數(shù)據(jù)的特定時間點的選擇。在本發(fā)明的一個實施例中,用戶提供要進(jìn)行恢復(fù)的時間點。在另一個實施例中,可標(biāo)識所選擇的名字空間元素的時間版本并提供給用戶用于選擇。在塊1607,判定是否已經(jīng)選擇另外的元素用于恢復(fù)。如果判定已經(jīng)選擇了另外的元素用于恢復(fù),則例程返回至塊1603并且接收那些另外的要恢復(fù)的名字空間元素的選擇。然而,如果判定沒有另外的元素要恢復(fù),則在塊1609使用上述映射方案和接收的恢復(fù)意圖將可恢復(fù)對象映射到位于存儲位置的適當(dāng)?shù)幕謴?fù)資源。在標(biāo)識必要的恢復(fù)資源后,在塊1611創(chuàng)建恢復(fù)計劃?;謴?fù)計劃包括從適當(dāng)?shù)幕謴?fù)資源綜合可恢復(fù)對象版本中要求的時間點的過程。在塊1613,執(zhí)行計劃并且恢復(fù)所標(biāo)識的可恢復(fù)對象。在塊1615,恢復(fù)例程結(jié)束。如上面提到的,除了創(chuàng)建保護(hù)組之外,數(shù)據(jù)保護(hù)系統(tǒng)還生成自動發(fā)現(xiàn)組和已保存搜索條件。自動發(fā)現(xiàn)組和已保存搜索條件提供一種自動化方法來通知用戶對產(chǎn)生位置的改變。例如,改變可包括計算設(shè)備,如服務(wù)器、交換存儲組、數(shù)據(jù)庫、卷和共享的添加或刪除,以及在名字空間元素和可保護(hù)對象之間映射方面的改變。為用戶提供產(chǎn)生位置改變的通知使用戶能夠采取適當(dāng)?shù)膭幼鱽肀Wo(hù)需要保護(hù)的新數(shù)據(jù)并且在已經(jīng)重新定位或移除數(shù)據(jù)時調(diào)整它們的保護(hù)策略。自動發(fā)現(xiàn)組是一種機(jī)制,用于描述什么內(nèi)容應(yīng)該作為查詢而不是作為物理資源的離散集合來保護(hù)。例如,假定組織將所有文件服務(wù)器命名為\\FILESRV*,諸如\\FILESRV1、\\FILESRV2等等。該組織的用戶可以創(chuàng)建一個自動發(fā)現(xiàn)組,周期性地搜索在任何名為\\FILESRV*的服務(wù)器上的所有共享。自動發(fā)現(xiàn)組將找到所有這樣的共享并允許用戶或者選擇或者拒絕任何位于這些共享或者與這些共享相關(guān)聯(lián)的可保護(hù)對象的保護(hù)。另外,在本發(fā)明的一個實施例中,自動發(fā)現(xiàn)組可周期性地重新評估并且通知用戶任何新的共享并且給用戶機(jī)會或者批準(zhǔn)或者拒絕那些新共享的保護(hù)。而且,重新評估標(biāo)識任何已經(jīng)被移除的現(xiàn)有共享并且給用戶提供移除的通知。自動發(fā)現(xiàn)組還可由數(shù)據(jù)保護(hù)器用于跟蹤名字空間元素與可保護(hù)對象之間的映射。再次參考上面的例子,假定用戶保護(hù)路徑\\ABCD\PUBLIC。數(shù)據(jù)保護(hù)系統(tǒng)自動地生成包含名字\\ABCD\PUBLIC和到它的保護(hù)對象如server(服務(wù)器)1上的D\folder、server(服務(wù)器)2上的D\folder和server(服務(wù)器)3上的F\folder的映射的自動發(fā)現(xiàn)組。如果在將來\\ABCD\PUBLIC被改變成指向不同的文件夾,或者在同一服務(wù)器上或者在不同服務(wù)器上,則數(shù)據(jù)保護(hù)器將這種改變通知用戶并且給用戶調(diào)整保護(hù)的機(jī)會。圖17-24依照本發(fā)明一實施例例示創(chuàng)建和使用自動發(fā)現(xiàn)組的流程圖。為了說明圖17-24,假定數(shù)據(jù)保護(hù)系統(tǒng)剛好已經(jīng)安裝在需要保護(hù)的包含若干服務(wù)器的工作空間(例示為產(chǎn)生位置1703)上了。在初始化數(shù)據(jù)保護(hù)系統(tǒng)1700時,數(shù)據(jù)保護(hù)器1701查詢產(chǎn)生位置1703以標(biāo)識代表包含在產(chǎn)生位置內(nèi)的可保護(hù)對象的名字空間和名字空間元素。數(shù)據(jù)保護(hù)器1701通過用戶界面1705以用于用戶交互和選擇的名字空間及包含的名字空間元素的形式向用戶發(fā)布名字空間和名字空間元素。與用戶界面1705交互的用戶可選擇一或多個名字空間元素如\\ABCD\PUBLIC名字空間元素1707用于保護(hù)。除了選擇用于保護(hù)的名字空間元素之外,用戶提供標(biāo)識用戶想要如何保護(hù)相關(guān)聯(lián)的可保護(hù)對象的保護(hù)意圖。所選擇的名字空間元素和保護(hù)意圖的指示返回給數(shù)據(jù)保護(hù)器1701?,F(xiàn)在參考圖18,數(shù)據(jù)保護(hù)器1701將名字空間元素的選擇映射到位于產(chǎn)生位置1703的可保護(hù)對象。例如,基于名字空間元素\\ABCD\PUBLIC1707的選擇,數(shù)據(jù)保護(hù)器使用如上所述的名字空間方案將該名字空間元素映射到可保護(hù)對象。該映射標(biāo)識名字空間元素\\ABCD\PUBLIC1707映射到server(服務(wù)器)1上的可保護(hù)對象D\folder1709和在server(服務(wù)器)2上的可保護(hù)對象D\folder1711。在一個替換的實施例中,在初始發(fā)現(xiàn)名字空間元素期間,元素可在那時被映射到相應(yīng)的可保護(hù)對象。數(shù)據(jù)保護(hù)器1701創(chuàng)建包含所選擇的名字空間元素的保護(hù)組、要變成保護(hù)對象的可保護(hù)對象的標(biāo)識、自動發(fā)現(xiàn)組1713和自動發(fā)現(xiàn)組表1715。如討論的,基于用戶提供的意圖,保護(hù)組還包括組計劃,它描述要如何實際地保護(hù)保護(hù)組。自動發(fā)現(xiàn)組1713包括名字空間搜索參數(shù),諸如\\ABCD\PUBLIC\*,以及該名字空間元素到保護(hù)對象server(服務(wù)器)1上的D\folder和server(服務(wù)器)2上的D\folder的當(dāng)前映射。創(chuàng)建包含用于所選擇的名字空間元素的名字空間搜索參數(shù)的自動發(fā)現(xiàn)組1713為數(shù)據(jù)保護(hù)器提供隨后搜索對匹配名字空間搜索參數(shù)的產(chǎn)生位置的添加、刪除和重新映射的能力。將任何這樣的改變通過警報向用戶報告,因為它們可能與保護(hù)有關(guān)系??捎酶鞣N形式向用戶提供警報。例如,可通過用戶界面、電子郵件、頁面、聲音消息等提供警報。除了創(chuàng)建自動發(fā)現(xiàn)組1713之外,數(shù)據(jù)保護(hù)器1701創(chuàng)建自動發(fā)現(xiàn)組表1715,它包括當(dāng)前映射到保護(hù)對象的標(biāo)識和有關(guān)那些保護(hù)對象的信息。具體地說,信息包括映射到保護(hù)對象是否匹配包含在自動發(fā)現(xiàn)組1713中的自動發(fā)現(xiàn)組參數(shù),如在匹配列1717指示的,保護(hù)對象目前是否為待決的用戶動作,如由待決列1719指示的,被映射的保護(hù)對象目前是否在組計劃的保護(hù)之下,如由計劃(“PP”)列1721中的受保護(hù)來指示,以及被映射的對象目前是否由用戶保護(hù),如由用戶(“PU”)列1731的受保護(hù)來指示。如下所述,對象可受到用戶保護(hù)但沒有受到數(shù)據(jù)保護(hù)系統(tǒng)保護(hù)。例如,用戶可指示它們想要保護(hù)一個特定的對象,從而使該對象受到用戶保護(hù),然而,該對象直到已經(jīng)為該保護(hù)對象完成意圖轉(zhuǎn)換之后才會變成受計劃保護(hù)。依照本發(fā)明一實施例,在創(chuàng)建保護(hù)組、自動發(fā)現(xiàn)組、組計劃和自動發(fā)現(xiàn)組表、數(shù)據(jù)保護(hù)系統(tǒng)之后,數(shù)據(jù)保護(hù)系統(tǒng)為保護(hù)準(zhǔn)備產(chǎn)生位置和存儲位置。在已經(jīng)為保護(hù)準(zhǔn)備了這些位置(例如資源計劃)之后,為創(chuàng)建所選擇的可保護(hù)對象的初始副本執(zhí)行初始步驟(準(zhǔn)備計劃),并且隨后保護(hù)開始(保護(hù)計劃)。在保護(hù)了所選擇保護(hù)對象之后的某個預(yù)定的時間,數(shù)據(jù)保護(hù)系統(tǒng)運(yùn)行自動發(fā)現(xiàn)組并且重新映射產(chǎn)生位置1703。例如,自動發(fā)現(xiàn)組可調(diào)度為每晚運(yùn)行一次。在晚上或者在產(chǎn)生位置的活動少的某個時間運(yùn)行自動發(fā)現(xiàn)組,減少了放置在產(chǎn)生位置上的負(fù)載總量。返回到參考圖17-24描述的例子,為了說明的目的,運(yùn)行自動發(fā)現(xiàn)組并且自動發(fā)現(xiàn)組結(jié)果1723(圖19)標(biāo)識只有匹配自動發(fā)現(xiàn)組搜索參數(shù)\\ABCD\PUBLIC\*的可保護(hù)對象是保護(hù)對象server(服務(wù)器)2上的D\folder。數(shù)據(jù)保護(hù)器1701將自動發(fā)現(xiàn)組結(jié)果1723與自動發(fā)現(xiàn)組表1715比較。在本例中,它標(biāo)識保護(hù)對象server(服務(wù)器)1上的D\folder不再匹配自動發(fā)現(xiàn)組搜索參數(shù)。在server(服務(wù)器)1上的D\folder可因各種原因不再匹配搜索參數(shù)。例如,server(服務(wù)器)1上的D\folder可不再存在,或者server(服務(wù)器)1上的D\folder不再在\\ABCD\PUBLIC之下被映射。在比較之后,更新表1715以指示保護(hù)對象server(服務(wù)器)1上的D\folder沒有在結(jié)果中返回并且因此不再匹配自動發(fā)現(xiàn)組搜索參數(shù),如在匹配列1717中由“N”例示的。另外,為保護(hù)對象server(服務(wù)器)1上的D\folder更新自動發(fā)現(xiàn)組表1715以指示用戶交互目前對于該保護(hù)對象是待決的,在列1719中由“Y”例示。用戶交互目前是待決的,因為該保護(hù)對象不再匹配自動發(fā)現(xiàn)組參數(shù)。server(服務(wù)器)1上的D\folder保持標(biāo)記為在計劃之下保護(hù)和受到用戶保護(hù),如在PP列1721和PU列1731中由Y例示。還更新自動發(fā)現(xiàn)組表1715以指示server(服務(wù)器)2上的D\folder匹配于自動發(fā)現(xiàn)組搜索參數(shù)并且保持在計劃中和受用戶保護(hù),如分別在列1721和1731中由“Y”例示。最后,存在對于保護(hù)對象server(服務(wù)器)2上的D\folder沒有用戶動作是待決的指示,因為它確實匹配并且受到保護(hù),如在待決列1719中由“N”例示?,F(xiàn)在參考圖20,在自動發(fā)現(xiàn)組已經(jīng)運(yùn)行之后第二天上午,自動發(fā)現(xiàn)組表已經(jīng)被更新并且生成了警報,用戶訪問數(shù)據(jù)保護(hù)系統(tǒng)并且從數(shù)據(jù)保護(hù)系統(tǒng)給用戶提供了一個通知,保護(hù)對象server(服務(wù)器)1上的D\folder不再匹配自動發(fā)現(xiàn)組搜索參數(shù)。在響應(yīng)時,數(shù)據(jù)保護(hù)系統(tǒng)從用戶接收從保護(hù)組移除該保護(hù)對象的指示。數(shù)據(jù)保護(hù)器1701更新自動發(fā)現(xiàn)組,從而從保護(hù)組移除server(服務(wù)器)1上的D\folder的映射并更新自動發(fā)現(xiàn)組表1715。具體地說,將在server(服務(wù)器)1上的D\folder標(biāo)記為不再受用戶保護(hù),如由PU列1731中的“N”例示,并且標(biāo)記為不再待決,如由列1719中的“N”例示。在這點上,server(服務(wù)器)1上的D\folder保持由計劃保護(hù),因為還沒有重新運(yùn)行意圖轉(zhuǎn)換以從保護(hù)組移除server(服務(wù)器)1上的D\folder。對象維護(hù)在自動發(fā)現(xiàn)表1715并且標(biāo)記為不受用戶保護(hù),因此通過自動發(fā)現(xiàn)例程的后續(xù)執(zhí)行來標(biāo)識,它將不向用戶呈現(xiàn)為待決的批準(zhǔn),因為已經(jīng)將它從保護(hù)中排除了。既然對象不再受用戶保護(hù),因此它變成可保護(hù)對象。圖21繼續(xù)先前的例子,并且在用戶已經(jīng)指示它們不再想要保護(hù)在server(服務(wù)器)1上的D\folder之后的某個時間點執(zhí)行意圖轉(zhuǎn)換。在意圖轉(zhuǎn)換執(zhí)行之后,更新組計劃并且從保護(hù)組移除server(服務(wù)器)1上的D\folder。即使server(服務(wù)器)1上的D\folder不再受保護(hù)組保護(hù),保護(hù)組的現(xiàn)有時間版本保持存儲在存儲位置并且可用于將server(服務(wù)器)1上的D\folder恢復(fù)至不再由計劃保護(hù)的點。在意圖轉(zhuǎn)換完成后,更新自動發(fā)現(xiàn)組表1715。具體地說,server(服務(wù)器)1上的D\folder標(biāo)記為不受計劃保護(hù),如在PP列1721中由“N”例示。在意圖轉(zhuǎn)換已經(jīng)完成之后的某個時間點,自動發(fā)現(xiàn)組再次執(zhí)行,查詢產(chǎn)生位置1703并且將自動發(fā)現(xiàn)組搜索參數(shù)重新映射到位于產(chǎn)生位置1703的對象。在完成自動發(fā)現(xiàn)組搜索參數(shù)的映射之后,提供自動發(fā)現(xiàn)組結(jié)果1725并且包括一個指示,即搜索參數(shù)映射到可保護(hù)對象server(服務(wù)器)2上的D\folder和新的可保護(hù)對象server(服務(wù)器)2上的E\folder。再次,數(shù)據(jù)保護(hù)器1701將結(jié)果與自動發(fā)現(xiàn)組表1715比較。該比較指示,保護(hù)對象server(服務(wù)器)2上的D\folder再次匹配自動發(fā)現(xiàn)組搜索參數(shù),不是待決的用戶動作,并且保持受用戶和組計劃兩者的保護(hù)。另外,新可保護(hù)對象server(服務(wù)器)2上的E\folder目前未受組計劃保護(hù),如由PP列1721中“N”例示,目前未受用戶保護(hù),如由PU列1731中“N”例示,并且是目前待決的用戶動作,如由待決列1719中“Y”例示。在完成比較后,更新自動發(fā)現(xiàn)組表1715以標(biāo)識新的映射和所有對象的狀態(tài)??杀Wo(hù)對象server(服務(wù)器)2上的E\folder目前未受計劃和受用戶保護(hù),因為它是由自動發(fā)現(xiàn)組新標(biāo)識的。數(shù)據(jù)保護(hù)系統(tǒng)1701生成提供給用戶的警報,指示新的可保護(hù)對象已經(jīng)添加到與保護(hù)組中的保護(hù)對象相似的產(chǎn)生位置。生成警報,因為用戶可能對作為保護(hù)組的一部分補(bǔ)充保護(hù)新標(biāo)識的可保護(hù)對象感興趣。在圖22中,用戶已經(jīng)收到警報并且提供應(yīng)答以開始對由自動發(fā)現(xiàn)組自動標(biāo)識的新標(biāo)識的可保護(hù)對象的保護(hù)。可保護(hù)對象server(服務(wù)器)2上的E\folder也被添加到保護(hù)組并且因而變成可保護(hù)對象。同樣,數(shù)據(jù)保護(hù)器1701將一個指示添加到自動發(fā)現(xiàn)組表1715,即對象server(服務(wù)器)2上的E\folder不再是待決的用戶動作,受用戶保護(hù),但在這點上還沒有受計劃保護(hù)。圖23A繼續(xù)上面的例子,在由用戶指示將新標(biāo)識的可保護(hù)對象添加到保護(hù)組之后的某個時間,意圖轉(zhuǎn)換執(zhí)行并且server(服務(wù)器)2上的E\folder變成受計劃保護(hù)。在完成意圖轉(zhuǎn)換之后,更新自動發(fā)現(xiàn)組日志1715以指示server(服務(wù)器)2上的E\folder現(xiàn)在受計劃保護(hù),如由PP列1721中“Y”例示。在意圖轉(zhuǎn)換已經(jīng)完成之后的某個時間,數(shù)據(jù)保護(hù)器1701再次運(yùn)行自動發(fā)現(xiàn)組例程并且將自動發(fā)現(xiàn)組搜索參數(shù)\\ABCD\PUBLIC\*重新映射到位于產(chǎn)生位置1703的對象。在完成自動發(fā)現(xiàn)組例程后,數(shù)據(jù)保護(hù)器已經(jīng)標(biāo)識了server(服務(wù)器)2上的D\folder和server(服務(wù)器)3上的E\folder的映射1729。那些結(jié)果用于比較和更新自動發(fā)現(xiàn)組表1715以指示保護(hù)對象server(服務(wù)器)2上的D\folder再次匹配自動發(fā)現(xiàn)組搜索參數(shù),不是待決的用戶動作,保持受數(shù)據(jù)保護(hù)系統(tǒng)保護(hù),并且保持受用戶保護(hù)。另外,指示先前的保護(hù)對象server(服務(wù)器)2上的E\folder沒有被自動發(fā)現(xiàn)例程標(biāo)識,但保持受用戶和保護(hù)計劃保護(hù),并且因此是待決的用戶動作。最后,新的可保護(hù)對象server(服務(wù)器)3上的E\folder的添加被標(biāo)識為匹配自動發(fā)現(xiàn)組搜索參數(shù),然而,目前不受用戶或保護(hù)計劃保護(hù),因為它是被新標(biāo)識的,并且因此是待決的用戶動作。在自動發(fā)現(xiàn)表更新后,數(shù)據(jù)保護(hù)器1701生成一個警報,它包括先前的保護(hù)對象server(服務(wù)器)2上的E\folder不再匹配自動發(fā)現(xiàn)組搜索參數(shù)的標(biāo)識,以及server(服務(wù)器)3上的E\folder已經(jīng)被添加到產(chǎn)生位置并且匹配自動發(fā)現(xiàn)組搜索參數(shù)。這個警報可向用戶指示,保護(hù)對象server(服務(wù)器)2上的E\folder已經(jīng)移動到server(服務(wù)器)3上的E\folder。在沒有自動發(fā)現(xiàn)這樣一個改變的情況下,用戶可能一直在繼續(xù)保護(hù)舊對象并且沒有為新對象提供保護(hù)。圖23B依照本發(fā)明一實施例例示用于解決保護(hù)名字空間元素如在圖23A中檢測到的名字空間元素的重新映射的重映射解決例程。當(dāng)判定已經(jīng)移動了一個名字空間元素時重映射解決例程2300運(yùn)行。例如,先前被映射到server(服務(wù)器)2上的E\folder的\\ABCD\PUBLIC\LINK3可能已經(jīng)被重映射到server(服務(wù)器)3上的E\folder。重映射解決例程2300在塊2301開始。在塊2303,評估自動發(fā)現(xiàn)組,并且決定保護(hù)名字空間元素已經(jīng)從一個可保護(hù)對象重映射到另一個可保護(hù)對象。在判定塊2305-2309,作出關(guān)于如何解決重映射的決定。具體地說,在判定塊2305作出是否應(yīng)當(dāng)排他地保護(hù)新映射。如果決定新映射應(yīng)當(dāng)排他地保護(hù),則在塊2311將舊映射標(biāo)記為不受用戶保護(hù),并且將新映射標(biāo)記為受用戶保護(hù)。然而,如果決定新映射不應(yīng)該排他地保護(hù),則在判定塊2307作出關(guān)于舊映射是否應(yīng)該排他地保護(hù)的決定。如果舊映射要排他地保護(hù),則在塊2311將舊映射標(biāo)記為受用戶保護(hù),并且將新映射標(biāo)記為不保護(hù)。然而,如果在判定塊2307決定舊映射不應(yīng)該排他地保護(hù),則在判定塊2309決定兩個映射是否都應(yīng)該保護(hù)。如果在判定塊2309決定兩個映射都應(yīng)該保護(hù),則在塊2311兩個映射都標(biāo)記為受用戶保護(hù)。然而,如果決定兩個映射都不要保護(hù),則在塊2311兩個映射都標(biāo)記為不受用戶保護(hù)。在塊2313,執(zhí)行意圖轉(zhuǎn)換例程,如在此所述。在完成意圖轉(zhuǎn)換后,更新保護(hù)對象,使得對于舊保護(hù)對象和新保護(hù)對象兩者,在計劃中受保護(hù)的標(biāo)志包含與受用戶保護(hù)標(biāo)志相同的值。在塊2315,例程結(jié)束。圖24例示,如本例的先前部分一樣,給用戶提供警報,標(biāo)識通過先前運(yùn)行自動發(fā)現(xiàn)組例程檢測到的改變。用戶選擇更新自動發(fā)現(xiàn)組搜索參數(shù)的映射以包括新標(biāo)識的可保護(hù)對象server(服務(wù)器)3上的E\folder并且移除舊保護(hù)對象server(服務(wù)器)2上的E\folder的映射(塊2305,圖23B)。數(shù)據(jù)保護(hù)系統(tǒng)1701,響應(yīng)于從用戶接收更新映射的指示,更新保護(hù)組以包括新保護(hù)對象。另外,數(shù)據(jù)保護(hù)器1701更新自動發(fā)現(xiàn)組表1715以標(biāo)識server(服務(wù)器)2上的E\folder不再受用戶保護(hù),但在這點上保持受計劃保護(hù)并且指示保護(hù)對象server(服務(wù)器)3上的E\folder的新映射受用戶保護(hù)但還沒有受計劃保護(hù)。在用戶已經(jīng)指示改變之后的某個時間,執(zhí)行意圖轉(zhuǎn)換從而使server(服務(wù)器)2上的E\folder從受組計劃保護(hù)中移除并且添加server(服務(wù)器)3上的E\folder為受組計劃保護(hù)。如將意識到,可在用戶指示保護(hù)組中的改變(或者對象的添加或者對象的移除)之后的任何時間點執(zhí)行意圖轉(zhuǎn)換。例如,可在用戶已經(jīng)指示對保護(hù)組的改變之后立即執(zhí)行意圖轉(zhuǎn)換,或者在若干天之后執(zhí)行。另外,自動發(fā)現(xiàn)組例程和意圖轉(zhuǎn)換可獨立于彼此。自動發(fā)現(xiàn)組例程可在用戶指示對保護(hù)組的改變和意圖轉(zhuǎn)換執(zhí)行之間執(zhí)行多次。在這樣一個實例中,在自動發(fā)現(xiàn)組的刷新之后,將不為正在改變的對象生成警報,因為已經(jīng)為用戶提供指令,即使對組計劃的實際改變還沒有發(fā)生。圖25依照本發(fā)明一實施例例示初始發(fā)現(xiàn)例程的流程圖,它初始地發(fā)現(xiàn)在頂層名字空間元素與可保護(hù)對象之間的映射。初始發(fā)現(xiàn)例程2500在塊2501開始,并且在塊2503標(biāo)識產(chǎn)生位置的所有可易于發(fā)現(xiàn)的對象的名字空間和名字空間元素??梢子诎l(fā)現(xiàn)的對象是產(chǎn)生位置的頂層對象。例如,可容易地發(fā)現(xiàn)頂層對象如DFS根、服務(wù)器、交換服務(wù)器和STS服務(wù)器的名字空間和名字空間元素。在塊2505,所發(fā)現(xiàn)的產(chǎn)生位置的頂層名字空間和名字空間元素持久地存儲在數(shù)據(jù)保護(hù)器的存儲器(例如數(shù)據(jù)庫)中。在塊2507,初始發(fā)現(xiàn)例程2500結(jié)束。圖26依照本發(fā)明一實施例例示調(diào)度的發(fā)現(xiàn)例程的流程圖,它發(fā)現(xiàn)名字空間和名字空間元素與位于產(chǎn)生位置的可保護(hù)對象之間的映射。具體地說,調(diào)度的發(fā)現(xiàn)例程2600開始于塊2601,并且在塊2603,初始發(fā)現(xiàn)例程2500(圖25)執(zhí)行并且標(biāo)識產(chǎn)生位置的頂層名字空間元素。如上所述,所存儲的頂層名字空間元素的副本可由數(shù)據(jù)保護(hù)系統(tǒng)用于允許用戶通過產(chǎn)生位置導(dǎo)航和/或搜索產(chǎn)生位置的特定部分而不必在搜索時重新發(fā)現(xiàn)產(chǎn)生位置,從而增加搜索和導(dǎo)航時間并且移除產(chǎn)生位置的負(fù)載。在判定塊2605,判定是否存在任何要執(zhí)行的現(xiàn)存的已保存搜索條件(下面討論)。如果在判定塊2605確定存在要執(zhí)行的已保存搜索條件,則在塊2607執(zhí)行那些已保存搜索條件。然而,如果在判定塊2605確定沒有現(xiàn)有的已保存搜索條件,則在判定塊2609判定是否存在任何要更新的現(xiàn)有的自動發(fā)現(xiàn)組。如果在判定塊2609確定有要更新的現(xiàn)有自動發(fā)現(xiàn)組,則在塊2611更新那些自動發(fā)現(xiàn)組,如先前參考圖17-24的例子描述的。例程在塊2617結(jié)束。圖27是依照本發(fā)明一實施例的自動發(fā)現(xiàn)組創(chuàng)建例程的流程圖。自動發(fā)現(xiàn)組創(chuàng)建例程2700開始于塊2701,并且在塊2703,接收用戶想要保護(hù)的名字空間元素的選擇。除了接收名字空間元素的選擇之外,還接收與那些名字空間元素相關(guān)聯(lián)的可保護(hù)對象。在塊2705,解決任何與那些名字空間元素相關(guān)聯(lián)的數(shù)據(jù)源的重疊。重疊解決是在上面參考圖13討論的。在已經(jīng)解決了任何重疊之后,在塊2707,創(chuàng)建標(biāo)識所選擇的名字空間元素的自動發(fā)現(xiàn)組列表。另外,生成查詢參數(shù)并且將它包括在自動發(fā)現(xiàn)組中,用于標(biāo)識與所選擇的名字空間元素相似的其它名字空間元素。查詢參數(shù)可按照物理資源(例如,在server(服務(wù)器)1上的所有卷),在名字空間上的某個查詢(例如,在DFSROOT\products之下的所有共享)來表示,或者某個組合(例如,在名為\\FILESRV*的服務(wù)器上的所有共享)。另外,查詢參數(shù)可基于預(yù)先存在的名字空間元素的某個屬性。在每個情況下,數(shù)據(jù)保護(hù)系統(tǒng)保持跟蹤自動發(fā)現(xiàn)組的成員資格并且通知用戶對該組的改變。在塊2709,自動發(fā)現(xiàn)組和所選擇的名字空間元素列表被添加到保護(hù)組。如上所述,保護(hù)組可以是現(xiàn)有的保護(hù)組或者為所選擇的名字空間元素新創(chuàng)建的保護(hù)組。在塊2711,自動發(fā)現(xiàn)組創(chuàng)建例程結(jié)束。如上所述參考圖27創(chuàng)建的自動發(fā)現(xiàn)組,是描述潛在地應(yīng)該作為查詢而不是物理資源的離散集合保護(hù)的對象的一種方法。一旦檢測到改變,用戶可或者批準(zhǔn)或者拒絕對保護(hù)與該自動發(fā)現(xiàn)組相關(guān)聯(lián)的和/或是保護(hù)組一部分的對象的計劃的改變。例如,如果自動發(fā)現(xiàn)組包括搜索參數(shù)服務(wù)器\\FILESRV*上的所有共享并且得到一個帶有十個新共享的新服務(wù)器\\FILESRV10,則用戶具有批準(zhǔn)或者拒絕保護(hù)每個新共享的選項。如上所述,數(shù)據(jù)保護(hù)系統(tǒng)跟蹤對報告給用戶的自動發(fā)現(xiàn)組改變的應(yīng)答。例如,如果用戶拒絕對新標(biāo)識的可保護(hù)對象保護(hù),則如果該可保護(hù)對象隨后從產(chǎn)生位置移除那么隨后不會有通知發(fā)給用戶。具體地說,一旦用戶已經(jīng)指示它們不想保護(hù)一個可保護(hù)對象并且想要自動地忽略所有未來的通知,就為該可保護(hù)對象設(shè)置一個被排除標(biāo)志。在一個實施例中,一旦拒絕一個對象就不自動設(shè)置被排除標(biāo)志。另外,可跟蹤一個對象被拒絕的次數(shù)并且在預(yù)定的拒絕數(shù)(例如五)之后將該對象標(biāo)記為被排除。隨后對被排除對象的標(biāo)識將不向用戶警告。數(shù)據(jù)保護(hù)系統(tǒng)自動地為每個用戶想要保護(hù)的名字空間元素創(chuàng)建和配置自動發(fā)現(xiàn)組。例如,如果用戶保護(hù)服務(wù)器\\FILESRV1上的share(共享)1,則數(shù)據(jù)保護(hù)系統(tǒng)配置一個自動發(fā)現(xiàn)組,它包括\\FILESRV1\share1到物理資源(例如,在\\FILESRV1上卷X上的folder(文件夾)1)的映射。如果\\FILESRV1\share1消失或者從該共享到物理資源的映射被改變,則通知用戶該改變并且給用戶關(guān)于如何進(jìn)行的若干選項(圖23B)。例如,假定\\FILESRV1\share1現(xiàn)在映射到卷Y上的folder(文件夾)1。用戶具有繼續(xù)保護(hù)X\folder1、停止保護(hù)X\folder1并開始保護(hù)Y\folder1或者保護(hù)兩個對象的選項。這樣,將對正試圖保護(hù)的名字空間元素和實際上正在保護(hù)的物理對象的任何改變通知用戶。圖28和29依照本發(fā)明實施例例示自動發(fā)現(xiàn)組更新例程的流程圖。自動發(fā)現(xiàn)組更新例程2800開始于塊2801,并且在塊2803從自動發(fā)現(xiàn)組結(jié)果以及選擇一個可保護(hù)對象。在執(zhí)行自動發(fā)現(xiàn)組映射序列(標(biāo)識該自動發(fā)現(xiàn)組映射到或者先前映射到的每個可保護(hù)對象)之后,生成自動發(fā)現(xiàn)組結(jié)果。在判定塊2805,判定所選擇的可保護(hù)對象目前是否受用戶保護(hù)。如果在判定塊2805確定所選擇的可保護(hù)對象目前不受用戶保護(hù),則在判定塊2807作出關(guān)于所選擇的可保護(hù)對象目前是否在等待用戶的批準(zhǔn)的確定。如果一個可保護(hù)對象先前已經(jīng)被標(biāo)識并且通過警報向用戶報告,并且用戶還沒有標(biāo)識該對象是否應(yīng)該被添加到保護(hù)組,則它目前正在等待用戶批準(zhǔn)以被添加到保護(hù)組。如參考圖17-24討論的,可通過在自動發(fā)現(xiàn)組表中將待決列設(shè)置為“Y”來將對象標(biāo)識為等待批準(zhǔn)。如果在判定塊2807確定可保護(hù)對象不在等待批準(zhǔn),則在判定塊2809判定所選擇的可保護(hù)對象是否已經(jīng)從保護(hù)中排除。如上所述,可保護(hù)對象可按照來自用戶的標(biāo)識從保護(hù)中排除,該標(biāo)識表示它不想讓該可保護(hù)對象得到保護(hù),也不想得到對該可保護(hù)對象的改變的通知。這樣一個標(biāo)識是通過在自動發(fā)現(xiàn)組表內(nèi)將該對象標(biāo)記為由用戶排除來標(biāo)識的。如果在判定塊2809確定所選擇的可保護(hù)對象目前沒有從保護(hù)中排除,則在塊2811生成一個警報,它標(biāo)識新的可保護(hù)對象并且請求用戶批準(zhǔn)將該可保護(hù)對象添加到可保護(hù)對象和/或明確地將該可保護(hù)對象從保護(hù)組中排除的應(yīng)答。在塊2813,可保護(hù)對象被標(biāo)記為待決的用戶批準(zhǔn),不受用戶保護(hù),而且不受計劃保護(hù)。如果確定所選擇的可保護(hù)對象目前正受用戶(塊2805);等待用戶保護(hù)批準(zhǔn)(2807);或者從保護(hù)中排除(2809);則在判定塊2815判定是否存在標(biāo)識為自動發(fā)現(xiàn)組結(jié)果的其它可保護(hù)對象。如果在判定塊2815確定有其它可保護(hù)對象,則例程返回到塊2803并且繼續(xù)對每個標(biāo)識為自動發(fā)現(xiàn)組結(jié)果的其它可保護(hù)對象處理。然而,如果在判定塊2815確定沒有其它的可保護(hù)對象被標(biāo)識為自動發(fā)現(xiàn)組結(jié)果,則在塊2815(圖29)標(biāo)識自動發(fā)現(xiàn)組的現(xiàn)有保護(hù)對象。在判定塊2818,作出關(guān)于現(xiàn)有保護(hù)對象是否標(biāo)記為受用戶保護(hù)的確定。如果確定現(xiàn)有保護(hù)對象沒有標(biāo)記為受用戶保護(hù),則例程進(jìn)行到判定塊2821。然而,如果確定現(xiàn)有保護(hù)對象受用戶保護(hù),則在判定塊2819判定現(xiàn)有保護(hù)對象是否包括在由自動發(fā)現(xiàn)組執(zhí)行所生成的結(jié)果中。如果在判定塊2819確定現(xiàn)有保護(hù)對象包括在新生成的自動發(fā)現(xiàn)組結(jié)果中,則在判定塊2821作出關(guān)于是否存在自動發(fā)現(xiàn)組的另外的現(xiàn)有保護(hù)對象的確定。如果在判定塊2821確定存在自動發(fā)現(xiàn)組的另外的現(xiàn)有保護(hù)對象,則例程返回到塊2817并繼續(xù)。如果在判定塊2821確定自動發(fā)現(xiàn)組沒有另外的現(xiàn)有保護(hù)對象,則例程在塊2827結(jié)束?;貋韰⒖寂卸▔K2819,如果確定所標(biāo)識的保護(hù)對象沒有包括在新生成的自動發(fā)現(xiàn)組結(jié)果中,則在判定塊2822通過檢查待決標(biāo)志判定先前是否已經(jīng)向用戶發(fā)送了警報以通知用戶改變。如果確定先前沒有發(fā)送過警報,則通過警報向用戶報告改變,該警報標(biāo)識到受用戶保護(hù)對象的映射不再存在,如由塊2823例示。在塊2825,該保護(hù)對象被標(biāo)記為待決的從保護(hù)組中移除,不匹配自動發(fā)現(xiàn)組搜索參數(shù),但目前受用戶保護(hù)。從保護(hù)組中移除保護(hù)對象,不會從存儲位置移除該保護(hù)對象的任何實際副本。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,待決移除和待決批準(zhǔn)可被跟蹤為單一的待決狀態(tài)。如上所述,跟蹤對象是否匹配自動發(fā)現(xiàn)組搜索參數(shù)標(biāo)識出對象是否要被移除或添加。當(dāng)對象由自動發(fā)現(xiàn)例程標(biāo)識時,除了跟蹤對象是否是待決的用戶動作、是否受計劃保護(hù)、是否受用戶保護(hù)和是否匹配自動發(fā)現(xiàn)搜索參數(shù)之外,在一個對象第一次被標(biāo)識并且添加到自動發(fā)現(xiàn)組表中時,還記錄標(biāo)識它的日期和時間。另外,當(dāng)現(xiàn)存于自動發(fā)現(xiàn)組表中的一個保護(hù)對象不再被自動發(fā)現(xiàn)組例程標(biāo)識時,還記錄它消失的日期和時間。除了數(shù)據(jù)保護(hù)系統(tǒng)在響應(yīng)于用戶選擇名字空間元素時自動創(chuàng)建自動發(fā)現(xiàn)組之外,數(shù)據(jù)保護(hù)系統(tǒng)還自動創(chuàng)建已保存搜索條件。在另一個實施例中,可在安裝數(shù)據(jù)保護(hù)系統(tǒng)時生成已保存搜索條件。在又一個實施例中,已保存搜索條件也可由用戶創(chuàng)建。已保存搜索條件用于在產(chǎn)生位置的分段如服務(wù)器出現(xiàn)或消失時通知用戶。例如,利用已保存搜索條件提供由數(shù)據(jù)保護(hù)系統(tǒng)通知用戶關(guān)于新服務(wù)器、新DFS根、不再存在的服務(wù)器、不再存在的DFS根、新STS服務(wù)器、不再存在的STS服務(wù)器等的能力。與每個已保存搜索條件相關(guān)聯(lián)的是在相同已保存搜索條件的先前評估期間已經(jīng)定位的名字空間元素的列表。已保存搜索條件包括表示搜索起點的名字空間元素,以及一組描述要返回的所包含的名字空間元素的搜索準(zhǔn)則。不像自動發(fā)現(xiàn)組,已保存搜索條件在名字空間元素而不是在可保護(hù)對象上操作。例如,可創(chuàng)建已保存搜索條件以標(biāo)識屬于一個公司的市場部的所有服務(wù)器。這通常不是在一個有效的自動發(fā)現(xiàn)組中。然而,像自動發(fā)現(xiàn)組一樣,已保存搜索條件保持已保存搜索條件結(jié)果表來標(biāo)識匹配搜索參數(shù)的名字空間元素。對于匹配搜索的名字空間元素,維持其狀態(tài)。例如,為每個名字空間元素維護(hù)第一次被標(biāo)識和最后一次見到的時間信息。該信息也可用于檢測改變。一個名字空間元素第一次被已保存搜索條件標(biāo)識,標(biāo)識該標(biāo)識日期的時間標(biāo)記被持久維護(hù),并且在該名字空間元素從產(chǎn)生位置移除時,標(biāo)識最后一次見到該名字空間元素的日期和時間的時間標(biāo)記也被持久維護(hù)。在一個實際的實施例中,只要檢測到產(chǎn)生位置中的改變就提供警報給用戶。例如,對產(chǎn)生位置添加名字空間元素和/或移除名字空間元素將生成標(biāo)識產(chǎn)生位置的這一改變的警報給用戶。在一個實施例中,響應(yīng)于用戶標(biāo)識要保護(hù)一服務(wù)器上的一個共享,創(chuàng)建—個用于該服務(wù)器上所有共享的已保存搜索條件。相似地,在保護(hù)一服務(wù)器上的一個卷時,創(chuàng)建一個用于該服務(wù)器上所有卷的已保存搜索條件。基于對該服務(wù)器的改變(例如,在適當(dāng)時添加一個共享或卷),將通知用戶這一改變。自動發(fā)現(xiàn)組和已保存搜索條件的結(jié)果也用于提高數(shù)據(jù)保護(hù)器的導(dǎo)航和搜索功能的性能。自動發(fā)現(xiàn)組和已保存搜索條件可在周期性基礎(chǔ)上將它們的結(jié)果高速緩存在持久存儲中,因此在導(dǎo)航和搜索結(jié)果不頻繁改變的情況下,或者在某種程度的過時是可接受的情況下,數(shù)據(jù)保護(hù)器可使用這些高速緩存的結(jié)果來給用戶啟動的導(dǎo)航和搜索提供較快速的響應(yīng)性。由用戶提供保護(hù)意圖以描述他們想要如何保護(hù)一個保護(hù)組(例如,復(fù)制品,歸檔,兩者)和他們想要在時間上有多久能夠恢復(fù)(持續(xù)時間)。例如,用戶可能想要每晚為一個選擇的組數(shù)據(jù)生成一個復(fù)制品,存儲在可移動介質(zhì)上存儲位置處的副本,每周更新該副本一次,并且在可移動介質(zhì)上最多保留四個副本。另外,用戶可指定它們想要能夠恢復(fù)至少一個月之久的信息。在存儲位置的保護(hù)數(shù)據(jù),例如,復(fù)制品、歸檔或兩者,要求為數(shù)據(jù)的副本分配資源,以及處理本身所需要的任何資源。另外,要求許多作業(yè)以使那些資源進(jìn)入使用時所要求的狀態(tài),并且必需有正在進(jìn)行的作業(yè)來維護(hù)保護(hù)的準(zhǔn)確性。使用用于保護(hù)數(shù)據(jù)的作業(yè)將在下面更詳細(xì)地描述。手工設(shè)置資源和作業(yè)會是單調(diào)乏味的并且是易出錯的。另外,只要一組正被保護(hù)的對象改變,例如,響應(yīng)于自動發(fā)現(xiàn)組檢測到的改變,則資源和作業(yè)可能需要改變。不要求用戶手工指定具體的資源和作業(yè),而是用戶可僅通過名字空間元素的選擇來指定什么內(nèi)容要保護(hù)以及提供保護(hù)意圖。隨后使用該信息來生成組計劃,用于維護(hù)所選擇數(shù)據(jù)的保護(hù)。在一個實施例中,組計劃包括三個部分資源計劃,準(zhǔn)備計劃和保護(hù)計劃。資源計劃包括獲得允許保護(hù)所需要資源的所必需的作業(yè)的列表。準(zhǔn)備計劃包括設(shè)置所標(biāo)識數(shù)據(jù)的保護(hù)所需要的一次性作業(yè)的列表。例如,一個一次性作業(yè)是將數(shù)據(jù)從產(chǎn)生位置初始副本和傳送到存儲位置。保護(hù)計劃包括維護(hù)保護(hù)數(shù)據(jù)的準(zhǔn)確性和完整性所要求的正在進(jìn)行作業(yè)的列表。從用戶標(biāo)識的保護(hù)意圖轉(zhuǎn)換到用于保護(hù)對象的具體計劃在此稱為和描述為“意圖轉(zhuǎn)換(intenttranslation)”。在本發(fā)明的一個實際的實施例中,意圖轉(zhuǎn)換在保護(hù)組和為該保護(hù)組提供的保護(hù)意圖上操作。保護(hù)意圖表示為邏輯表示并且可陳述為目標(biāo)。目標(biāo)可標(biāo)識所希望的保護(hù)等級(粒度),如何保護(hù)數(shù)據(jù),要保護(hù)數(shù)據(jù)多久,以什么頻度保護(hù)數(shù)據(jù)等等。例如,用戶可標(biāo)識這樣的保護(hù)意圖“不要失去超過30分鐘的任何執(zhí)行文件共享;保留所有內(nèi)容一年”。來自保護(hù)意圖的動詞用作將意圖轉(zhuǎn)換成用于保護(hù)對象的具體計劃的動作。參考前面的例子,該意圖的相應(yīng)動作是“每30分鐘復(fù)制卷和文件夾”、“每周歸檔”和“以具有一年介質(zhì)保持力在存儲非使用位置”。在本發(fā)明的一個實施例中,標(biāo)識保護(hù)意圖的保護(hù)模板可由用戶選擇并且用于生成用于保護(hù)所選擇保護(hù)組的計劃。保護(hù)模板包含一或多個原型作業(yè)定義,包括適當(dāng)?shù)膭釉~和默認(rèn)的屬性。保護(hù)模板還包括默認(rèn)的原型時間表。例如,“每小時復(fù)制,在白天創(chuàng)建三個時間版本,每晚歸檔,不加密傳送,在存儲位置不加密”是默認(rèn)的原型時間表。用戶具有覆蓋和顯式改變保護(hù)模板的能力。例如,用戶可改變以前的保護(hù)模板來創(chuàng)建每小時復(fù)制,白天僅一個時間版本,每周歸檔,不加密傳送,不在存儲位置加密?!安患用軅魉汀?,如在所提到的默認(rèn)原型時間表中標(biāo)識的,標(biāo)識在將數(shù)據(jù)從產(chǎn)生位置發(fā)送到存儲位置時不需要加密數(shù)據(jù)??晒┨鎿Q地,在產(chǎn)生位置與存儲位置之間傳輸數(shù)據(jù)時可加密數(shù)據(jù)?!安辉诖鎯ξ恢眉用堋睒?biāo)識存儲在存儲位置的數(shù)據(jù),無論是復(fù)制品還是歸檔的,不必加密??晒┨鎿Q地,可加密存儲的數(shù)據(jù)。例如,被歸檔到可移動介質(zhì)如帶子的產(chǎn)生位置的副本可被加密。另外,作為復(fù)制品存儲的副本也可或者可供替換地被加密。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,任何加密技術(shù)可由本發(fā)明實施例使用,來加密用于傳輸和用于存儲的數(shù)據(jù)。圖30依照本發(fā)明實施例例示將保護(hù)意圖轉(zhuǎn)換成用于保護(hù)一組數(shù)據(jù)的計劃的流程圖。通過用戶界面3003與數(shù)據(jù)保護(hù)系統(tǒng)交互的用戶選擇要保護(hù)的名字空間元素的列表。將對要保護(hù)的名字空間元素的選擇傳送到數(shù)據(jù)保護(hù)器3001,并且在響應(yīng)時數(shù)據(jù)保護(hù)器通過用戶界面3003給用戶提供默認(rèn)的保護(hù)意圖。具體地說,數(shù)據(jù)保護(hù)器在收到所選擇的名字空間元素后,標(biāo)識與所選擇的名字空間元素相關(guān)聯(lián)的可保護(hù)對象并且標(biāo)識提供給用戶的保護(hù)意圖的默認(rèn)列表。用戶響應(yīng)于接收默認(rèn)的保護(hù)意圖,與用戶界面3003交互并且修改或選擇適當(dāng)?shù)哪J(rèn)保護(hù)意圖。數(shù)據(jù)保護(hù)器3001接收選擇或修改并且存儲這些意圖并且為對象創(chuàng)建一個保護(hù)組。這些意圖可用任何格式包括但不限于二進(jìn)制、可擴(kuò)展標(biāo)記語言(XML)或數(shù)據(jù)庫表來存儲。數(shù)據(jù)保護(hù)器3001將任何修改應(yīng)用于默認(rèn)的保護(hù)意圖并且使用修改的保護(hù)意圖來創(chuàng)建用于保護(hù)保護(hù)組的具體計劃,計劃也可用任何格式包括但不限于二進(jìn)制、XML或數(shù)據(jù)庫表來存儲。與創(chuàng)建用于保護(hù)保護(hù)組的具體計劃相似,數(shù)據(jù)保護(hù)器具有創(chuàng)建用于在給出規(guī)定恢復(fù)意圖、恢復(fù)參數(shù)和對要恢復(fù)的名字空間元素的選擇的情況下所選擇的可恢復(fù)對象的恢復(fù)計劃的能力。為創(chuàng)建恢復(fù)計劃,數(shù)據(jù)保護(hù)器確定必需的恢復(fù)資源并適當(dāng)?shù)嘏帕兴鼈兊捻樞颉A硗?,?shù)據(jù)保護(hù)器確定恢復(fù)目標(biāo),它是標(biāo)識要在何處恢復(fù)數(shù)據(jù)的物理路徑??芍付ㄈ舾刹煌幕謴?fù)意圖來控制恢復(fù)如何進(jìn)行。例如,一個覆寫意圖,控制如果當(dāng)試圖將一個文件恢復(fù)到產(chǎn)生位置時,確定該文件已經(jīng)存在于該產(chǎn)生位置,要發(fā)生什么??商峁┤舾商鎿Q計劃,包括但不限于,總是覆寫,從不覆寫,使用兩者中最近的??芍付ǖ牧硪粋€恢復(fù)意圖是應(yīng)該如何設(shè)置被恢復(fù)對象的安全性。例如,可指定被恢復(fù)對象的安全性繼承父對象的安全性(例如,被恢復(fù)到一個文件夾的文件的安全性將接收與該文件夾相同的安全性)。一個替換的模型是將被恢復(fù)對象的安全性精確地恢復(fù)到在它被備份時的安全性。意圖也可指定被恢復(fù)對象是否要在傳輸期間和/或在被存儲時被加密。圖31和32依照本發(fā)明一實施例例示意圖轉(zhuǎn)換例程的流程圖,用于將保護(hù)意圖轉(zhuǎn)換成用于保護(hù)位于產(chǎn)生位置的物理對象的具體計劃。意圖轉(zhuǎn)換例程3200開始于塊3201,并且在塊3203接收對要保護(hù)的名字空間元素的選擇和要應(yīng)用于所選擇的名字空間元素的保護(hù)意圖。如上所述,名字空間元素被映射到位于產(chǎn)生位置的可保護(hù)對象。另外,如上所述,名字空間元素的選擇和相關(guān)聯(lián)的可保護(hù)對象由數(shù)據(jù)保護(hù)系統(tǒng)編譯成要應(yīng)用保護(hù)意圖的保護(hù)組。在塊3205,該保護(hù)組標(biāo)記為“在轉(zhuǎn)換中”。將保護(hù)組標(biāo)記為“在轉(zhuǎn)換中”防止用戶對該保護(hù)組作出任何改變,直到意圖轉(zhuǎn)換成功結(jié)束或者失敗,回卷它已經(jīng)作出的任何改變。在塊3207,計算足以給所選擇的保護(hù)組提供保護(hù)所必需的資源需求。資源需求是通過確定保護(hù)組需要什么改變來標(biāo)識的。保護(hù)組可能需要的改變的例子包括但不限于,要添加到保護(hù)組的新數(shù)據(jù)源,要從保護(hù)組移除的數(shù)據(jù)源,用于通過或者添加或者移除保護(hù)對象改變的保護(hù)組的數(shù)據(jù)源,要添加或收回的資源(例如,給復(fù)制品添加或刪除盤空間,給歸檔添加或刪除可移動介質(zhì)),為保護(hù)組調(diào)整的保護(hù)目標(biāo)或時間表,或者第一次添加的新保護(hù)組。另外,必需的資源大小是通過標(biāo)識位于將被復(fù)制和存儲在存儲位置的產(chǎn)生位置的保護(hù)對象的大小以及已經(jīng)指定的特定保護(hù)方法和保護(hù)意圖來確定的。在塊3209,生成并執(zhí)行資源計劃以分配為保護(hù)組提供保護(hù)所必需的資源。資源計劃確定必需的資源并且包括獲得那些資源所必需的所有作業(yè)。例如,這類作業(yè)可包括分配盤空間,增加現(xiàn)有的存儲空間,分配磁帶介質(zhì),分配磁帶庫變換器和驅(qū)動器,從空閑介質(zhì)池請求磁帶等等。包括在資源計劃中的作業(yè)依賴于用戶所希望的保護(hù)類型。例如,對于復(fù)制,作業(yè)包括為復(fù)制品和時間版本分配盤資源,并且有可能為日志區(qū)分配資源。執(zhí)行與在塊3209生成的資源計劃相關(guān)聯(lián)的作業(yè)并且分配用于保護(hù)組的必需資源。在已經(jīng)分配了資源之后,在塊3211,數(shù)據(jù)保護(hù)系統(tǒng)創(chuàng)建一個檢查點。在另一個實施例中,資源計劃可只包括分配那些資源所必需的作業(yè)的創(chuàng)建并且實際上不包括那些作業(yè)的執(zhí)行。與資源計劃相關(guān)聯(lián)的作業(yè)的執(zhí)行可作為準(zhǔn)備計劃的一部分來調(diào)度和執(zhí)行。在這樣一個實施例中,直到意圖轉(zhuǎn)換完成才生成檢查點。因而,如果意圖轉(zhuǎn)換沒有完成,則它必須從開頭重新開始。如下面參考塊3209所述,在資源分配之后創(chuàng)建一個檢查點,提供一個已知點,如果例程沒有成功完成,則意圖轉(zhuǎn)換例程可在這點重新開始。由于有可能在資源分配作業(yè)的執(zhí)行期間要分配部分但不是全部資源(例如,在分配了一部分物理資源但還沒有分配其它資源之后系統(tǒng)崩潰),因此在本發(fā)明實施例中包括一個清除例程,以清除在意圖轉(zhuǎn)換例程的不完整運(yùn)行中沒有完全分配的資源。這個清除例程是通過將系統(tǒng)的資源分配設(shè)計為以某種方式工作來完成的。在一個實際的實施例中,在每數(shù)據(jù)源基礎(chǔ)上分配資源,并且或者為一個給定數(shù)據(jù)源分配所必需的所有資源,或者什么也不分配。如果分配部分但非全部資源并且分配作業(yè)被中斷,則創(chuàng)建刷新作業(yè)以清除任何從資源分配計劃的分配作業(yè)的上次運(yùn)行部分地分配的資源。一旦清除例程已經(jīng)清除了任何部分地分配的資源,則數(shù)據(jù)保護(hù)系統(tǒng)可以在需要時重新分配資源。對于已經(jīng)成功地分配了資源的那些新保護(hù)對象,意圖轉(zhuǎn)換可繼續(xù)?;貋韰⒖紙D31,在塊3211,在成功完成在塊3209的資源分配后,生成一個檢查點。在已經(jīng)分配了資源之后檢查點的創(chuàng)建,為數(shù)據(jù)保護(hù)系統(tǒng)提供解決如果意圖轉(zhuǎn)換例程3200在已經(jīng)分配了資源之后但在結(jié)束之前被中斷可能生成的任何問題的能力。例如,如果系統(tǒng)在意圖轉(zhuǎn)換例程結(jié)束前但在已經(jīng)添加了第一檢查點之前崩潰,如由塊3211例示,在重新起動后,數(shù)據(jù)保護(hù)系統(tǒng)標(biāo)識意圖轉(zhuǎn)換例程被中斷并且定位在資源分配之后添加的檢查點。通過標(biāo)識檢查點,可使用先前分配的資源,并且意圖轉(zhuǎn)換例程3200可以從該檢查點繼續(xù)而不必完全重新起動和重新分配資源。在意圖轉(zhuǎn)換例程被中斷之后的重新起動將參考圖38更詳細(xì)地描述。在判定塊3213,意圖轉(zhuǎn)換例程3200判定是否存在任何現(xiàn)有的作業(yè)和/或任務(wù)目前與保護(hù)組相關(guān)聯(lián)。如果在判定塊3213確定存在與保護(hù)組相關(guān)聯(lián)的現(xiàn)有作業(yè)和/或任務(wù),則在塊3215注冊那些作業(yè)和任務(wù)并且終止任何活動的作業(yè),如由塊3217例示。如果一個保護(hù)組正在被修改,用于該保護(hù)組的作業(yè)和任務(wù)可預(yù)先存在,而不是第一次創(chuàng)建。如果在判定塊3213確定沒有用于保護(hù)組的現(xiàn)有作業(yè)和/或任務(wù),或者在塊3217現(xiàn)有作業(yè)和/或任務(wù)終止后,意圖轉(zhuǎn)換例程3200,在3219,創(chuàng)建和調(diào)度一個保護(hù)計劃。如將在下面更詳細(xì)地描述的,保護(hù)計劃包括隨著時間過去維護(hù)在存儲位置的保護(hù)組的副本的準(zhǔn)確性所必需的作業(yè)的列表。另外,意圖轉(zhuǎn)換例程3200,在塊3211,創(chuàng)建和調(diào)度一個準(zhǔn)備計劃。如在下面將更詳細(xì)地描述的,準(zhǔn)備計劃包括一次性作業(yè)的列表,用于將產(chǎn)生位置和存儲位置設(shè)置在一個狀態(tài)中,使得與保護(hù)計劃相關(guān)聯(lián)的作業(yè)可被執(zhí)行并且保護(hù)組的保護(hù)準(zhǔn)確性可達(dá)到。例如,如果這是第一次保護(hù)組已經(jīng)被創(chuàng)建并且要將它存儲在一個復(fù)制品上,則將不存在與駐留在該復(fù)制品上的保護(hù)組相關(guān)聯(lián)的數(shù)據(jù)副本。因而,與準(zhǔn)備計劃相關(guān)聯(lián)的作業(yè)之一可以是保護(hù)對象的副本的創(chuàng)建和在復(fù)制品上存儲該副本?,F(xiàn)在參考圖32,在塊3225,意圖轉(zhuǎn)換例程3200創(chuàng)建上述已保存搜索條件和自動發(fā)現(xiàn)組。如上所述,那些自動發(fā)現(xiàn)組和已保存搜索條件是作為調(diào)度的發(fā)現(xiàn)例程的一部分執(zhí)行的。在已經(jīng)創(chuàng)建了用于資源計劃、準(zhǔn)備計劃、保護(hù)計劃、已保存搜索條件和自動發(fā)現(xiàn)組的作業(yè)之后,在塊3227,將指示作業(yè)的創(chuàng)建完成的第二個檢查點添加到數(shù)據(jù)保護(hù)系統(tǒng)。如上面指出并在下面更詳細(xì)討論的,這個檢查點可由數(shù)據(jù)保護(hù)系統(tǒng)用于從在意圖轉(zhuǎn)換例程3200期間發(fā)生的中斷恢復(fù)。例如,如果意圖轉(zhuǎn)換例程3200在已經(jīng)創(chuàng)建了一個檢查點之后中斷,如由塊3227例示,則在重新數(shù)據(jù)保護(hù)系統(tǒng)期間標(biāo)識意圖轉(zhuǎn)換例程3200在進(jìn)行中,并且定位指示已經(jīng)創(chuàng)建了計劃和作業(yè)的檢查點。在標(biāo)識了檢查點后,意圖轉(zhuǎn)換例程3200可從該檢查點繼續(xù)和完成。在塊3229,新保持對象和已經(jīng)從保護(hù)中移除的先前的保護(hù)對象的狀態(tài)被更新,以反映它們被包括在保護(hù)計劃中和排除在保護(hù)計劃之外。在塊3209標(biāo)記為具有資源分配錯誤的保護(hù)對象被返回到“待決狀態(tài)(pendingstate)”。在塊3231,刪除所有檢查點并且將保護(hù)組標(biāo)記為“不在轉(zhuǎn)換中”。如果已經(jīng)移除了所有保護(hù)對象,則可刪除保護(hù)組。在塊3233,意圖轉(zhuǎn)換例程3200結(jié)束。圖33是依照本發(fā)明一實施例的保護(hù)計劃創(chuàng)建例程的流程圖,用于創(chuàng)建用于保護(hù)組的保護(hù)計劃。保護(hù)計劃創(chuàng)建例程3300更詳細(xì)地描述上面參考塊3219(圖31)引用的保護(hù)計劃的創(chuàng)建和調(diào)度。保護(hù)計劃創(chuàng)建例程3300開始于3301,并且在塊3303創(chuàng)建和調(diào)度用于保護(hù)組的副本作業(yè)。副本作業(yè)是將已經(jīng)對在產(chǎn)生位置的一或多個可保護(hù)對象發(fā)生的改變復(fù)制到存儲在存儲位置的相應(yīng)的一或多個可保護(hù)對象的副本。例如,如果在白天用戶修改了位于產(chǎn)生位置的保護(hù)對象,在執(zhí)行副本作業(yè)后,那些改變被復(fù)制、傳送到存儲位置,并且更新該副本以包括那些改變。在塊3305,保護(hù)計劃創(chuàng)建例程3300創(chuàng)建和調(diào)度時間版本作業(yè)。時間版本作業(yè)是調(diào)度在存儲位置執(zhí)行數(shù)據(jù)實際版本化的作業(yè)。時間版本的創(chuàng)建是相關(guān)領(lǐng)域熟練技術(shù)人員已知的并且在此不詳細(xì)描述。在塊3307,創(chuàng)建和調(diào)度確認(rèn)例程。當(dāng)被執(zhí)行時,該作業(yè)執(zhí)行如下參考圖35詳細(xì)描述的確認(rèn)例程。在塊3309,保護(hù)計劃創(chuàng)建例程3300結(jié)束。圖34是依照本發(fā)明一實施例執(zhí)行準(zhǔn)備計劃的準(zhǔn)備計劃執(zhí)行例程的流程圖。準(zhǔn)備計劃執(zhí)行例程3400開始于3401,并且在塊3403,作出關(guān)于保護(hù)保護(hù)組是否需要其它資源的確定。如上所述,生成資源計劃,用于確定保護(hù)在存儲位置的保護(hù)組所必需的資源。在一個實施例中,那些資源可在資源計劃期間在準(zhǔn)備計劃的創(chuàng)建和執(zhí)行之前分配。如果在判定塊3403確定需要資源,則在塊3405執(zhí)行在資源計劃中為分配那些資源創(chuàng)建的作業(yè)并且分配資源。在塊3405分配資源之后,或者如果在塊3403確定保護(hù)組的保護(hù)不需要其它資源,則在塊3407,創(chuàng)建與保護(hù)組相關(guān)聯(lián)的物理對象的初始副本,傳送到存儲位置,并且存儲在先前分配的資源上。一旦在存儲位置創(chuàng)建和存儲了保護(hù)組的初始副本,用于復(fù)制,就在塊3409用位于產(chǎn)生位置的實際物理對象來確認(rèn)該副本。將在下面參考圖35討論確認(rèn)。在判定塊3411,作出關(guān)于是否有任何保護(hù)對象已經(jīng)從保護(hù)組移除的確定。如果在塊3411確定有保護(hù)對象已經(jīng)從保護(hù)組移除,則在塊3413,準(zhǔn)備計劃包括停止監(jiān)視那些對象的作業(yè)并且那些對象仍然是可保護(hù)對象。由于監(jiān)視消耗資源,因此在不再需要它時這些作業(yè)停止監(jiān)視。在塊3415,準(zhǔn)備計劃執(zhí)行例程3400結(jié)束。如上面提到的,可使用或多或少的塊用于執(zhí)行在此描述的例程。例如,當(dāng)通過介質(zhì)負(fù)載完成復(fù)制時,準(zhǔn)備計劃3400不創(chuàng)建數(shù)據(jù)的初始副本(塊3407)。同樣,當(dāng)副本用于歸檔時,準(zhǔn)備計劃3400不創(chuàng)建數(shù)據(jù)的初始副本(塊3407)。圖35是依照本發(fā)明一實施例的確認(rèn)例程的流程圖,用于確認(rèn)處于存儲位置的數(shù)據(jù)副本。確認(rèn)例程3500開始于塊3501,并且在塊3503確認(rèn)例程3500獲得位于產(chǎn)生位置的物理對象的確認(rèn)參數(shù)。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,確認(rèn)參數(shù)可以是位于產(chǎn)生位置的物理對象的校驗和??晒┨鎿Q地,確認(rèn)參數(shù)可以是在產(chǎn)生位置的物理對象的最后修改時間,或者位于產(chǎn)生位置的物理對象的大小。通常,確認(rèn)參數(shù)可以是位于產(chǎn)生位置的物理對象的任何類型的標(biāo)識。在塊3505,確認(rèn)例程3500獲得位于存儲位置的確認(rèn)參數(shù)。與在產(chǎn)生位置的對象的確認(rèn)參數(shù)相似,在存儲位置的確認(rèn)參數(shù)可以是校驗和,最后一次修改時間,文件大小等等。在塊3507,比較在塊3503獲得的在產(chǎn)生位置的保護(hù)對象的確認(rèn)參數(shù)和在塊3505獲得的對象的確認(rèn)參數(shù)以確認(rèn)位于存儲位置的對象匹配位于產(chǎn)生位置的保護(hù)對象。在判定塊3509,作出關(guān)于在塊3507比較的參數(shù)是否匹配的確定。如果在塊3509確定參數(shù)不匹配,則在塊3513確認(rèn)例程3500重新從產(chǎn)生位置副本不匹配的保護(hù)對象并代替位于存儲位置的對象以及進(jìn)行到判定塊3511。然而,如果在判定塊3509確定參數(shù)匹配,則在判定塊3511作出關(guān)于是否存在還沒有為保護(hù)組確認(rèn)的其它數(shù)據(jù)的確定。如果確定存在還沒有為保護(hù)組確認(rèn)的位于存儲位置的其它數(shù)據(jù),則確認(rèn)例程返回到塊3503并且繼續(xù)進(jìn)行??晒┨鎿Q地,如果在判定塊3511確定沒有其它數(shù)據(jù),則確認(rèn)存儲位置,并且確認(rèn)例程在3515結(jié)束,從而確認(rèn)位于存儲位置的對象匹配保護(hù)對象。除了確認(rèn)例程作為在意圖轉(zhuǎn)換期間準(zhǔn)備計劃的一部分執(zhí)行以確認(rèn)副本的準(zhǔn)確性,確認(rèn)例程可調(diào)度隨后重新確認(rèn)物理對象的保護(hù)的準(zhǔn)確性。而且,可調(diào)度和執(zhí)行確認(rèn)例程以將位于存儲位置的對象副本設(shè)置到一個確認(rèn)狀態(tài)中。如果系統(tǒng)崩潰或者如果一些其它類型的未調(diào)度的改變發(fā)生,位于存儲位置的物理對象的副本可處在無效狀態(tài)中。例如,復(fù)制品可變成無效,如果改變?nèi)罩?下面討論)因在存儲位置應(yīng)用那些改變的故障而溢出。圖36是依照本發(fā)明一實施例的調(diào)度的確認(rèn)例程的流程圖,用于確認(rèn)位于存儲位置的對象副本。調(diào)度的確認(rèn)例程3600開始于3601,并且在塊3603例程標(biāo)識位于要確認(rèn)的存儲位置的保護(hù)組的對象副本。在判定塊3605,作出關(guān)于所標(biāo)識的副本是處在有效狀態(tài)還是無效狀態(tài)中的確定。如果在判定塊3605確定所標(biāo)識的副本處在無效狀態(tài)中,則在塊3607調(diào)度的確認(rèn)例程3600執(zhí)行參考圖35描述的確認(rèn)例程3500。然而,如果在判定塊3605確定該副本處在有效狀態(tài)中,則在判定塊3609作出有關(guān)是否存在任何位于存儲位置的保護(hù)組的其它副本需要確認(rèn)它們的有效性的確定。如果在判定塊3609確定存在需要確認(rèn)其有效性的其它副本,則調(diào)度的確認(rèn)例程3600返回到塊3603并且標(biāo)識要確認(rèn)的其它副本并且繼續(xù)該過程。然而,如果在判定塊3609確定沒有位于存儲位置的其它副本要確認(rèn),則調(diào)度的確認(rèn)例程3600結(jié)束,如由塊3611例示。圖37依照本發(fā)明一實施例例示復(fù)制品的狀態(tài)轉(zhuǎn)移的方框圖。在資源分配期間分配存儲位置的一部分之前,復(fù)制品處在未分配的狀態(tài)中。在意圖轉(zhuǎn)換為保護(hù)組分配資源之后,復(fù)制品轉(zhuǎn)移到已分配狀態(tài)。內(nèi)容(保護(hù)組的副本)隨后必須傳送和存儲在存儲位置。傳送和存儲可以或者使用盤到盤初始化(由數(shù)據(jù)保護(hù)系統(tǒng)自動地)由自動化介質(zhì)負(fù)載來完成,或者手工地由管理員(例如,由手工介質(zhì)負(fù)載)來完成。如果完成盤到盤初始化,則意圖轉(zhuǎn)換自動地創(chuàng)建初始副本作業(yè)。初始副本作業(yè),在執(zhí)行后,將復(fù)制品設(shè)置在無效狀態(tài)中。如果使用介質(zhì)負(fù)載初始化副本,則用戶指示介質(zhì)負(fù)載何時結(jié)束并且在該點將復(fù)制品設(shè)置在無效狀態(tài)中。一旦復(fù)制品處在無效狀態(tài)中,則對于要運(yùn)行確認(rèn)作業(yè)必須將它放置在有效狀態(tài)中。如上討論,確認(rèn)作業(yè)證實在存儲位置的副本匹配在產(chǎn)生位置的保護(hù)對象。除了復(fù)制品處在已分配狀態(tài)3703、無效狀態(tài)3705或者有效狀態(tài)3711之外,復(fù)制品可轉(zhuǎn)移到故障狀態(tài)3713。例如,隨著時間過去,為用于一個特定保護(hù)組的復(fù)制品分配的物理介質(zhì)可能故障,從而將該復(fù)制品放置在故障狀態(tài)中。從故障狀態(tài)3713,數(shù)據(jù)保護(hù)系統(tǒng)通過與用戶交互,判定被復(fù)制的信息是否需要繼續(xù)被保護(hù)。如果保護(hù)組要繼續(xù)保護(hù),則重新分配資源,從而將復(fù)制品轉(zhuǎn)移回已分配狀態(tài)3703。如果從故障狀態(tài)3713確定與該復(fù)制品相關(guān)聯(lián)的信息不再需要保護(hù),則復(fù)制品可轉(zhuǎn)移到被毀狀態(tài)3707,并且用于保護(hù)組的復(fù)制品將不再由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行。復(fù)制品也可臨時轉(zhuǎn)移到故障狀態(tài)3713。例如,盤可能臨時斷開或不可用,因為某個硬件問題并且隨后再次變成可用。在這樣一個實例中,在盤再次變成可用后,復(fù)制品可返回到有效狀態(tài)3711或無效狀態(tài)3705。響應(yīng)于用戶指示不再想要保護(hù)保護(hù)組,到達(dá)被毀狀態(tài)3707。復(fù)制品可從任何其它狀態(tài)轉(zhuǎn)移到被毀狀態(tài)3707。例如,如果復(fù)制品處在無效狀態(tài)3705,則用戶可指示不再想要保護(hù)復(fù)制在復(fù)制品上的保護(hù)對象,從而轉(zhuǎn)移復(fù)制品到被毀狀態(tài)3707。將復(fù)制品放置在被毀狀態(tài)中,向數(shù)據(jù)保護(hù)系統(tǒng)指示用戶結(jié)束保護(hù)復(fù)制在復(fù)制品上的保護(hù)對象,并且物理介質(zhì)如硬盤可返回到空閑介質(zhì)池并且可分配給其它保護(hù)組。在本發(fā)明的一個實施例中,當(dāng)用戶指示不再想要繼續(xù)保護(hù)復(fù)制在復(fù)制品上的保護(hù)對象,則復(fù)制品可轉(zhuǎn)移到停止?fàn)顟B(tài)3709,由此復(fù)制品及其時間版本被維護(hù)一段有限時間。在已經(jīng)指示不再保護(hù)信息之后維護(hù)信息,為用戶提供恢復(fù)直到它停止保護(hù)時的信息的能力。圖38依照本發(fā)明一實施例例示重新起動例程的流程圖,用于在先前的意圖轉(zhuǎn)換例程期間發(fā)生中斷之后重新起動意圖轉(zhuǎn)換例程。重新啟動例程3800開始于塊3801,并且在判定塊3803例程判定保護(hù)組目前是否在意圖轉(zhuǎn)換中。如果在判定塊3803判定保護(hù)組在意圖轉(zhuǎn)換中,則在判定塊3805作出關(guān)于是否已經(jīng)為在意圖轉(zhuǎn)換中的保護(hù)組分配了所有資源的確定。如果在判定塊3805確定還沒有分配所有資源,則解除分配在重新起動之前分配的任何資源,如由塊3806例示。在解除分配任何先前分配的資源之后,在判定塊3807判定在意圖轉(zhuǎn)換中的保護(hù)組是否是新保護(hù)組。如果在判定塊3807確定保護(hù)組不是新保護(hù)組,則在塊3808例程使已經(jīng)添加到現(xiàn)有保護(hù)組的新對象返回到待決狀態(tài)。具體地說,新對象返回到不受用戶保護(hù)并且是待決的用戶動作。在塊3809,現(xiàn)有保護(hù)組標(biāo)記為不在轉(zhuǎn)換中并且在塊3817例程結(jié)束?,F(xiàn)有組返回到不在轉(zhuǎn)換中,并且新對象返回到待決狀態(tài),這使數(shù)據(jù)保護(hù)系統(tǒng)在嘗試的轉(zhuǎn)換之前返回到它的狀態(tài)。具體地說,新對象必須再次添加到一個現(xiàn)有保護(hù)組并且現(xiàn)有保護(hù)組的對象繼續(xù)受保護(hù),因為它們在意圖轉(zhuǎn)換例程的初始嘗試之前是受保護(hù)的?;貋韰⒖寂卸▔K3807,如果確定在意圖轉(zhuǎn)換中的保護(hù)組在發(fā)生中斷時是新保護(hù)組,則在塊3811新保護(hù)組的所有保護(hù)對象返回到待決狀態(tài)(即,不受用戶保護(hù)并且是待決的用戶動作)并且例程在塊3817結(jié)束。除了使對象返回到待決狀態(tài)之外,保護(hù)組也可被刪除,因為在組內(nèi)沒有保護(hù)對象?;貋韰⒖寂卸▔K3805,如果確定在中斷之前分配了所有資源,則在塊3813標(biāo)識由嘗試的意圖轉(zhuǎn)換例程生成的最后一個檢查點。如上討論,在意圖轉(zhuǎn)換例程中在兩不同點生成檢查點。具體地說,在已經(jīng)分配資源之后生成檢查點,并且在已經(jīng)創(chuàng)建和更新保護(hù)計劃之后和在已經(jīng)創(chuàng)建準(zhǔn)備計劃之后再次生成檢查點。一旦在塊3813已經(jīng)標(biāo)識了最后一個檢查點,則從最后一個檢查點重新起動意圖轉(zhuǎn)換例程,如由塊3815例示并且過程在塊3817結(jié)束。有若干方法可在存儲位置保護(hù)物理對象。例如,可在計算設(shè)備如服務(wù)器上維護(hù)復(fù)制品,歸檔副本可存儲在物理介質(zhì)如磁帶或其它可移動介質(zhì)等上。作為保護(hù)意圖或高層目標(biāo)(被轉(zhuǎn)換成一組計劃)的一部分提供用戶希望的保護(hù)類型,如上討論。對于在磁帶或其它可移動介質(zhì)上的數(shù)據(jù)歸檔,數(shù)據(jù)保護(hù)通過創(chuàng)建“數(shù)據(jù)集(dataset)”工作,數(shù)據(jù)集通過一或多個物理介質(zhì)塊,包含在特定時間點保護(hù)組的數(shù)據(jù)表示或者相對于時間點的改變。數(shù)據(jù)集是與一或多個保護(hù)對象相關(guān)聯(lián)的一或多個歸檔路徑的結(jié)果。另外,每個數(shù)據(jù)集可包含一或多個恢復(fù)源,因為多個恢復(fù)源可作用于一個恢復(fù),多個數(shù)據(jù)集也有必要作用于一個恢復(fù)。不像其它備份應(yīng)用,其中介質(zhì)是管理的主要對象,依照本發(fā)明實施例,代替管理介質(zhì)本身,管理數(shù)據(jù)集和數(shù)據(jù)集與介質(zhì)的關(guān)聯(lián)。歸檔設(shè)計為長時間(在周、月或年的等級上)維護(hù)數(shù)據(jù)。歸檔的介質(zhì)一般被非現(xiàn)場維護(hù)以針對影響整個產(chǎn)生位置如地震或火災(zāi)之類的災(zāi)難來保護(hù)。歸檔的介質(zhì)也可被現(xiàn)場維護(hù)用于從較小故障中恢復(fù),包括服務(wù)器或盤的丟失或用戶錯誤。另外,對于那些使用復(fù)制和歸檔兩者的實施例,歸檔的介質(zhì)可與復(fù)制品一起維護(hù)在存儲位置、在產(chǎn)生位置或者在一單獨位置。圖39依照本發(fā)明一實施例例示歸檔保護(hù)計劃創(chuàng)建例程,用于生成用于歸檔數(shù)據(jù)的計劃。歸檔保護(hù)計劃創(chuàng)建例程3900開始于塊3901,并且在塊3903例程接收數(shù)據(jù)保護(hù)種類。數(shù)據(jù)保護(hù)種類是由用戶標(biāo)識的,它關(guān)于用戶想要現(xiàn)場、非現(xiàn)場或者既現(xiàn)場又非現(xiàn)場歸檔它們的數(shù)據(jù)。除了接收數(shù)據(jù)保護(hù)種類之外,在塊3905例程接收數(shù)據(jù)保護(hù)持續(xù)時間。數(shù)據(jù)保護(hù)的持續(xù)時間是由用戶提供的高層意圖,關(guān)于他們想要能夠恢復(fù)在過去多長時間的保護(hù)信息。這些意圖可陳述為關(guān)于用戶想要能夠恢復(fù)什么的目標(biāo)。例如,提供“我想要能夠恢復(fù)直到七年的數(shù)據(jù)”的意圖將轉(zhuǎn)換成一個歸檔計劃,它將允許用戶能夠恢復(fù)七年前存在于產(chǎn)生位置的信息的數(shù)據(jù)。數(shù)據(jù)保護(hù)持續(xù)時間可以是年、月、周或日。如由塊3907例示,歸檔保護(hù)計劃創(chuàng)建例程3900還接收調(diào)度意向,諸如用戶想要在何時讓歸檔數(shù)據(jù)的動作發(fā)生。在一個替換實施例中,也可接收數(shù)據(jù)保護(hù)格式。數(shù)據(jù)保護(hù)格式包括但不限于,完全備份,差異備份和增量備份。如在此使用的完全備份是將所有保護(hù)對象復(fù)制到存儲位置的備份。在此使用的差異備份,是將自從最后一次完全備份起已經(jīng)修改的保護(hù)對象的備份復(fù)制到存儲位置。如在此使用的增量備份是只復(fù)制自某個先前備份(完全,差異或增量)起已經(jīng)修改的保護(hù)對象。如在此討論的,差異和增量備份通常稱為“部分備份”,并且其目的是標(biāo)識任一個。用戶也可指定應(yīng)該從在產(chǎn)生位置的原始數(shù)據(jù)創(chuàng)建歸檔還是應(yīng)該從在存儲位置的副本創(chuàng)建歸檔?;跀?shù)據(jù)保護(hù)種類和保護(hù)持續(xù)時間,歸檔保護(hù)計劃創(chuàng)建例程3900確定一個默認(rèn)的歸檔方案,它滿足由用戶指定的高層要求。在一個實際的實施例中,存在四個不同類型的方案用于歸檔數(shù)據(jù)。第一個方案,稱為曾祖父、祖父、父、子(GGFS),提供現(xiàn)場維護(hù)四周的每年完全備份,和非現(xiàn)場維護(hù)某個年數(shù)的副本;現(xiàn)場維護(hù)四周的每月完全備份,和非現(xiàn)場維護(hù)一年的副本;現(xiàn)場維護(hù)四周的每周完全備份,和非現(xiàn)場維護(hù)四周的副本;以及,現(xiàn)場維護(hù)兩周的每日差異備份。在一個替換的實施例中,取決于在塊3903標(biāo)識的保護(hù)種類,只維護(hù)現(xiàn)場或非現(xiàn)場副本。在另一個實施例中,基于在塊3903標(biāo)識的保護(hù)種類,現(xiàn)場副本本身可在一段時間后傳送和被非現(xiàn)場維護(hù)。另一個方案在此稱為祖父、父、子(GFS)方案。GFS方案提供現(xiàn)場維護(hù)四周的每月完全備份和非現(xiàn)場維護(hù)一年的副本;現(xiàn)場維護(hù)四周的每周完全備份和非現(xiàn)場維護(hù)四周的副本;以及現(xiàn)場維護(hù)兩周的每日差異備份。另一個歸檔方案在此稱為父、子(FS)方案。FS方案提供現(xiàn)場維護(hù)四周的每周完全備份和非現(xiàn)場維護(hù)四周的副本,以及現(xiàn)場維護(hù)兩周的每日差異備份。另一個歸檔方案在此稱為子(S)方案。S方案提供現(xiàn)場維護(hù)一周的每日完全備份和非現(xiàn)場維護(hù)一周的副本。最后,一個特別的例程也是可用的,它提供在正常的保護(hù)方案之外取得的備份。這可以是被現(xiàn)場維護(hù)或非現(xiàn)場的沒有期限的完全備份。本領(lǐng)域熟練技術(shù)人員將意識到,默認(rèn)的歸檔方案可由用戶在任何層上修改并且也可提供附加/替換的默認(rèn)歸檔方案。例如,種類(現(xiàn)場,非現(xiàn)場),持續(xù)時間(月,年)和格式(完全,差異,增量)都可修改。另外,用戶可指定對歸檔方案的調(diào)度控制。例如,用戶可指示在一周的某天開始方案,在一天的某個時間生成歸檔,方案是在公司日歷還是在每月日歷上操作,等等?;貋韰⒖紙D39,給用戶提供默認(rèn)的歸檔方案并且給用戶覆蓋所提供的方案的任何部分的能力。在判定塊3911,作出關(guān)于用戶是否已經(jīng)給確定的歸檔方案提供了任何覆蓋的確定。如果在判定塊3911確定用戶已經(jīng)提供了覆蓋,則在塊3913修改歸檔方案以包括那些覆蓋。覆蓋可提供給備份方案的任何部分并且可在范圍內(nèi)改變。例如,覆蓋可包括備份格式(完全,差異,增量),要維護(hù)的現(xiàn)場副本的數(shù)量,要維護(hù)的非現(xiàn)場副本的數(shù)量,非現(xiàn)場副本的保持時間,是否禁止S層,由備份生成的數(shù)據(jù)集是否應(yīng)該驗證和何時驗證,歸檔是否應(yīng)該在產(chǎn)生位置、存儲位置或者其它地方進(jìn)行,一周的起始日,工作日的數(shù)量,等等。由于各種原因可能希望禁止S層。例如,如果用戶已經(jīng)實現(xiàn)了歸檔和復(fù)制兩者,則用戶可確定省去每日歸檔保護(hù)(S層)和依賴復(fù)制來處理所有現(xiàn)場恢復(fù)要求。一旦在塊3909確定歸檔方案或者已經(jīng)被接受或者如在塊3913例示的被修改,則在塊3915歸檔計劃創(chuàng)建例程3900生成通過歸檔保護(hù)數(shù)據(jù)所必需的計劃。如上討論,保護(hù)數(shù)據(jù)所必需的計劃可包括資源計劃,準(zhǔn)備計劃和保護(hù)計劃。最后,在已經(jīng)如由塊3915例示地生成了計劃之后,歸檔保護(hù)計劃創(chuàng)建例程3900在塊3917結(jié)束。圖40是一張表,依照本發(fā)明實施例例示可用于生成歸檔方案的不同世代的例子。表4000標(biāo)識一個具有增量備份模式的子世代4001,它維護(hù)一個現(xiàn)場副本兩周,該副本一周五天(例如,周一至周五)發(fā)生并且不維護(hù)非現(xiàn)場副本。父世代4003維護(hù)的一個以完全備份模式保留四周的現(xiàn)場副本,和一個每周執(zhí)行一次(例如周六)的完全備份,除了在每個月有一周不執(zhí)行(例如每個月的最后一個周六)。同樣,父世代4003維護(hù)一個非現(xiàn)場副本四周。祖父世代4005具有以完全備份模式維護(hù)一個現(xiàn)場副本四周,該副本每月生成一次(例如,在每個月的最后一個周六),除了每年有一個月不執(zhí)行(例如,每年的最后一個周六)。另外,祖父世代4005維護(hù)一個非現(xiàn)場副本12個月。最后,曾祖父世代4007具有以完全備份模式維護(hù)一個保留四周的現(xiàn)場副本,該副本每年生成一次(例如,每年的最后一個周六)。另外,曾祖父世代4007維護(hù)一個非現(xiàn)場副本七年。如一個按照公司日歷(月的最后一個周六,年的最后一個周六,等)調(diào)度的替換計劃,調(diào)度可按照物理日歷完成。例如,可調(diào)度作業(yè)在月的最后一天、年的最后一天、月的第一天發(fā)生。那些天可能是或者不是周六。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,任何類型的調(diào)度和/或日程安排(calendaring)可由本發(fā)明實施例使用,并且使用公司日歷或物理日歷只是作為例子提供的。調(diào)度的另一方面是指定執(zhí)行作業(yè)的時間段的能力。調(diào)度一個用于執(zhí)行作業(yè)的時間段允許用戶能夠標(biāo)識可執(zhí)行作業(yè)的特定時間。另外,數(shù)據(jù)保護(hù)系統(tǒng)可在保護(hù)系統(tǒng)看到作業(yè)沒有按照指定的時間完成時提供事前警告??晒┨鎿Q地,當(dāng)一個作業(yè)沒有在調(diào)度的執(zhí)行時間段內(nèi)完成時,可自動終止它,并且有可能重新調(diào)度它。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,可修改諸如子4001、父4003、祖父4005和曾祖父4007這樣的世代以使用在參考圖40所述的保護(hù)計劃上的不同的變化。唯一的要求是父世代是子世代的相同集合或超集。例如,如果父世代是完全備份,則子世代可以是完全、差異或增量備份。另外,現(xiàn)場或非現(xiàn)場維護(hù)的副本數(shù)量可以是從零到用戶希望的任何數(shù)字的任何組合。生成副本的保持時間和頻率也可按用戶所希望的調(diào)整。除了創(chuàng)建長期保護(hù)數(shù)據(jù)的歸檔方案,數(shù)據(jù)保護(hù)系統(tǒng)提供介質(zhì)的正在進(jìn)行中的分配、交替、跳過(非現(xiàn)場存儲)和退役。因而,按照本發(fā)明的一個實施例,與每個保護(hù)組相關(guān)聯(lián)的是介質(zhì)池。介質(zhì)池既是介質(zhì)的容器,也是一個對象,在其上放置各種意圖以便控制介質(zhì)的分配和重復(fù)利用。如將參考圖41更詳細(xì)地描述的,存在若干類型的意圖用于控制介質(zhì)分配,諸如共處位置(co-location)意圖??梢勒毡景l(fā)明實施例使用的共處位置意圖的例子是作業(yè)配置意圖,子配置意圖,和父/子配置意圖。作業(yè)配置意圖嘗試使用相同的介質(zhì)用于在相同作業(yè)內(nèi)的任務(wù)。在一個作業(yè)具有多個任務(wù)并且來自那些任務(wù)的數(shù)據(jù)安裝在單個介質(zhì)塊上時,這減少了安裝/卸下介質(zhì)的數(shù)量。子配置意圖控制介質(zhì)如何用于GGFS、GFS、FS或S歸檔方案任一個的子作業(yè)。如果指定了子配置意圖,則一個循環(huán)(諸如周循環(huán))的第一個子作業(yè)將在一個新的介質(zhì)塊上開始,但所有后續(xù)的子作業(yè)將嘗試添加到相同的介質(zhì)塊,除非不可行或者沒有包含足夠的空間。使用父/子配置意圖將使每周的完全和后續(xù)的每日差異和增量備份存儲在相同的介質(zhì)塊上。圖41是依照本發(fā)明一實施例用于如果已經(jīng)指定作業(yè)配置意圖和子配置意圖為歸檔數(shù)據(jù)分配介質(zhì)的流程圖。如將意識到的,可為分配用于歸檔的介質(zhì)指定配置意圖的其它組合,并且參考圖41描述的例程只是一個例子。只要需要介質(zhì)時,就執(zhí)行介質(zhì)分配例程4100。介質(zhì)分配例程4100開始于塊4101,并且在判定塊4102判定是否已經(jīng)指定作業(yè)配置。如果確定作業(yè)配置還沒有指定,則介質(zhì)分配例程進(jìn)行到判定塊4111,并且如下繼續(xù)。然而,如果在判定塊4102確定已經(jīng)指定了作業(yè)配置,則在判定塊4103作出關(guān)于嘗試分配介質(zhì)的任務(wù)是否來自一個替換作業(yè)的確定。替換作業(yè)是替換一個沒有成功完成的先前作業(yè)的作業(yè)。如果在判定塊4103確定任務(wù)來自替換作業(yè),則在塊4105例程嘗試分配在原來沒有成功完成的作業(yè)中使用和分配的相同物理介質(zhì)。然而,如果在塊4103確定任務(wù)不是來自替換作業(yè),則在判定塊4107作出關(guān)于任務(wù)是否是來自一個作業(yè)的第一個任務(wù)的確定。如果確定任務(wù)不是來自一個作業(yè)的第一個任務(wù),則在塊4109介質(zhì)分配例程4100嘗試分配已經(jīng)為同一作業(yè)的先前任務(wù)分配的介質(zhì)。然而,如果在判定塊4107確定任務(wù)不是來自一個作業(yè)的第一個任務(wù),則在判定塊4111作出關(guān)于被保護(hù)的數(shù)據(jù)集是否是第一個子數(shù)據(jù)集的確定。如果確定數(shù)據(jù)集是第二或后面的子數(shù)據(jù)集,則在判定塊4118判定是否指定了FS配置意圖或S配置意圖。如果指定了FS配置意圖,則在塊4113介質(zhì)分配例程4100嘗試分配由同一循環(huán)的父數(shù)據(jù)集使用的介質(zhì)。在此所述的循環(huán),是用于歸檔集合的一段調(diào)度的時間(諸如以日或周為單位的一段時間)。然而,如果在判定塊4112確定沒有指定FS配置意圖,則例程進(jìn)行至判定塊4115,下面描述。如果在判定塊4111確定數(shù)據(jù)集不是子數(shù)據(jù)集或者不是循環(huán)的第一個子數(shù)據(jù)集,則在判定塊4114判定數(shù)據(jù)集是否是第二或后面的子數(shù)據(jù)集。如果確定數(shù)據(jù)集是第二或后面的子數(shù)據(jù)集,則在判定塊4118判定是否指定了FS配置意圖或S配置意圖。如果指定了FS配置意圖或S配置意圖,則在塊4116介質(zhì)分配例程4100嘗試分配由同一循環(huán)的上一個子數(shù)據(jù)集使用的介質(zhì)。然而,如果在判定塊4118確定既沒有指定FS配置意圖也沒有指定S配置意圖,則例程進(jìn)行至塊4115,下面描述。然而,如果在判定塊4114確定數(shù)據(jù)集不是第二或后面的數(shù)據(jù)集,則在判定塊4115作出關(guān)于來自同一世代的可重復(fù)利用介質(zhì)是否可用的確定。例如,如果一個數(shù)據(jù)集是父數(shù)據(jù)集,則作出關(guān)于其它父數(shù)據(jù)集是否被包含在可用介質(zhì)上的確定。如果在判定塊4115確定存在可用的來自在同一世代的可重復(fù)利用介質(zhì),則在塊4117介質(zhì)分配例程4100選擇最舊的可從同一世代得到的可重復(fù)利用的介質(zhì),并且嘗試分配該介質(zhì)。如果在判定塊4115確定不能從同一世代得到介質(zhì),或者如果在判定塊4127確定塊4105、4109、4113、4117所嘗試的分配沒有成功完成,則在判定塊4119作出關(guān)于在空閑池中是否存在任何介質(zhì)的判定。如果在判定塊4119確定在池中存在介質(zhì),則在塊4121介質(zhì)分配例程4100從池中獲得空閑介質(zhì)并且使用該介質(zhì)用于分配。最后,如果在判定塊4119確定在池中沒有空閑介質(zhì)用于特定保護(hù)組,則介質(zhì)分配例程4100在塊4123嘗試獲得附加的介質(zhì)。附加的介質(zhì)可通過通知用戶保護(hù)池需要附加介質(zhì)或者查詢現(xiàn)有的空閑介質(zhì)池來獲得。空閑介質(zhì)池包含不與其它保護(hù)組相關(guān)聯(lián)的介質(zhì)。如果在空閑介質(zhì)池中沒有空閑介質(zhì)可用,則通知用戶需要附加的空閑介質(zhì)添加到存儲位置并且將它分配給空閑介質(zhì)池。介質(zhì)分配例程4100在已經(jīng)分配了附加介質(zhì)之后結(jié)束,或者如果不能分配附加介質(zhì)它就失敗,如由塊4125例示。除了參考圖41描述的意圖,可使用另外的意圖來控制介質(zhì)池的活動。例如,用戶可指定最大限度意圖,它指定可在介質(zhì)池中維護(hù)的介質(zhì)塊的最大數(shù)量。使用最大限度意圖防止將介質(zhì)的不必要的添加(或者由用戶或者自動地)到池而超過最大限度。同樣,最大每日限度意圖可用于控制在24小時內(nèi)分配給一個特定池的空閑介質(zhì)項的數(shù)量。使用最大限度和最大每日限度防止從空閑池將介質(zhì)不必要或者意外地分配到一個特定的池。也可指定最低閾值意圖用于歸檔保護(hù)的介質(zhì)分配。最低閾值意圖指定在空閑介質(zhì)池中應(yīng)該可用于分配到各種介質(zhì)池的介質(zhì)塊最低數(shù)量。如果空閑介質(zhì)的數(shù)量落到低于最低數(shù)量,則通知用戶需要添加介質(zhì)到存儲位置并且分配給空閑介質(zhì)池。也可指定介質(zhì)擦除意圖,它控制任何可重復(fù)利用的介質(zhì)是否需要在重新使用或釋放到空閑介質(zhì)池用于重新分配之前要擦除。從產(chǎn)生位置復(fù)制或拷貝保護(hù)對象到存儲位置在一對安裝在各個位置的代理之前發(fā)生。這對代理的動作是由數(shù)據(jù)保護(hù)器控制的。例如,對于復(fù)制,在產(chǎn)生位置安裝克隆代理,并且在存儲位置安裝復(fù)制代理??寺〈砗蛷?fù)制代理的動作由數(shù)據(jù)保護(hù)器控制。另外,數(shù)據(jù)移動器用作代理對之間的管道。數(shù)據(jù)移動器保證在代理之間的相互認(rèn)證并且可選地執(zhí)行數(shù)據(jù)加密、解密、壓縮或解壓縮。而且,數(shù)據(jù)移動器包括節(jié)流控制器以限制由數(shù)據(jù)保護(hù)系統(tǒng)在數(shù)據(jù)傳輸期間消耗的網(wǎng)絡(luò)帶寬。圖42依照本發(fā)明一實施例例示數(shù)據(jù)保護(hù)系統(tǒng)的方框圖。數(shù)據(jù)保護(hù)系統(tǒng)4200包括一個數(shù)據(jù)保護(hù)器4201,用于管理將數(shù)據(jù)從產(chǎn)生位置4203傳送到存儲位置4205。如上面提到的,對于復(fù)制,產(chǎn)生位置4203包括一個克隆代理4207和一個數(shù)據(jù)移動器部分4209A用于控制從產(chǎn)生位置4203到存儲位置4205的數(shù)據(jù)流。同樣,存儲位置4205包括一個復(fù)制代理4211和一個數(shù)據(jù)移動器的第二部分4209B用于從產(chǎn)生位置4203獲得信息。在產(chǎn)生位置4203、存儲位置4205和數(shù)據(jù)保護(hù)器4201之間的交互用于將數(shù)據(jù)從產(chǎn)生位置4203傳送到存儲位置4205并且用于通過與數(shù)據(jù)保護(hù)器4201的通信驗證該數(shù)據(jù)傳送的有效性。數(shù)據(jù)從經(jīng)由數(shù)據(jù)移動器4209A的產(chǎn)生位置4203通過通信信道4213發(fā)送到經(jīng)由4209B的存儲位置4205。數(shù)據(jù)保護(hù)系統(tǒng)包括監(jiān)視數(shù)據(jù)從產(chǎn)生位置4203傳送到存儲位置4205的能力,并且如果這樣的通信信道故障,則具有恢復(fù)進(jìn)行被中斷的數(shù)據(jù)傳送的能力。為了能夠恢復(fù)進(jìn)行數(shù)據(jù)的傳送,與從頭開始相反,需要周期性地跟蹤和保存數(shù)據(jù)傳送的狀態(tài)。這是通過數(shù)據(jù)保護(hù)器4201監(jiān)視數(shù)據(jù)從產(chǎn)生位置4203到存儲位置4205的傳送來完成的。數(shù)據(jù)以數(shù)據(jù)塊或記錄的形式通過通信信道4213傳送。在這樣一個傳輸系統(tǒng)中,部分?jǐn)?shù)據(jù)由產(chǎn)生位置4203維護(hù),而部分?jǐn)?shù)據(jù)由存儲位置4205維護(hù)。如果通信信道故障,則數(shù)據(jù)傳送中斷并且傳輸狀態(tài)會失去同步。例如,產(chǎn)生位置4203已經(jīng)發(fā)送的記錄數(shù)可能不同于存儲位置4205成功接收的記錄數(shù)。為解決這個問題,數(shù)據(jù)保護(hù)器4201監(jiān)視和控制數(shù)據(jù)傳輸過程,通過在停止或開始數(shù)據(jù)傳送時單獨地指示產(chǎn)生位置4203和存儲位置4205。為了數(shù)據(jù)的保護(hù),位于產(chǎn)生位置4203的克隆代理4207經(jīng)由數(shù)據(jù)移動器4209傳送數(shù)據(jù)到位于存儲位置4205的復(fù)制代理4211。為了創(chuàng)建位于產(chǎn)生位置的保護(hù)對象的復(fù)制品或副本,該數(shù)據(jù)作為數(shù)據(jù)記錄通過數(shù)據(jù)信道4213發(fā)送??寺〈砗蛷?fù)制代理將數(shù)據(jù)傳送狀態(tài)作為在此稱為記錄檢查點的特殊數(shù)據(jù)塊發(fā)送給數(shù)據(jù)保護(hù)器4201。記錄檢查點是由數(shù)據(jù)保護(hù)器4201接收并存儲在數(shù)據(jù)庫中。另外,數(shù)據(jù)保護(hù)器4201發(fā)送指令/命令到克隆代理和復(fù)制代理。通常有兩種類型的數(shù)據(jù)記錄由在產(chǎn)生位置的克隆代理4207將通過數(shù)據(jù)信道4213發(fā)送。第一種類型的數(shù)據(jù)記錄表示已經(jīng)對位于產(chǎn)生位置的保護(hù)對象作出的改變。第二種類型的數(shù)據(jù)記錄包括關(guān)于保護(hù)對象數(shù)據(jù)的信息(元數(shù)據(jù))。包含元數(shù)據(jù)的記錄是由數(shù)據(jù)保護(hù)系統(tǒng)生成的。如下所述,元數(shù)據(jù)用于確認(rèn)發(fā)送和存儲在存儲位置的數(shù)據(jù)副本,并且可以是例如數(shù)據(jù)的校驗和。在從克隆代理的改變?nèi)罩?圖43-47)發(fā)送到復(fù)制代理的溢出日志(圖43-47)的時候,通過將特殊的數(shù)據(jù)標(biāo)記(記錄檢查點)插入到數(shù)據(jù)記錄流中來發(fā)送從產(chǎn)生位置4203傳送數(shù)據(jù)的狀態(tài)。在一個實際的實施例中,在由產(chǎn)生位置的數(shù)據(jù)移動器4209A發(fā)送的時候?qū)⒂涗洐z查點添加到數(shù)據(jù)流的末尾。在一個替換的實施例中,記錄檢查點可添加到改變?nèi)罩静⑶疫B同數(shù)據(jù)流作為一個數(shù)據(jù)項發(fā)送。在由存儲位置的數(shù)據(jù)移動器4209B接收數(shù)據(jù)流時,數(shù)據(jù)和任何記錄檢查點存儲在溢出日志中。當(dāng)復(fù)制代理4211在數(shù)據(jù)流中遇到這類記錄檢查點時,它將這些記錄檢查點轉(zhuǎn)送到數(shù)據(jù)保護(hù)器4201。另外,復(fù)制代理也生成它自己的記錄檢查點并且將它們轉(zhuǎn)送到數(shù)據(jù)保護(hù)器4201。包含在由克隆代理4207和復(fù)制代理4211生成的記錄檢查點中的信息由數(shù)據(jù)保護(hù)器在發(fā)送命令以開始或停止操作時使用。當(dāng)數(shù)據(jù)保護(hù)器4201接收任何記錄檢查點時,它自動地將它們存儲在數(shù)據(jù)庫中,從而使數(shù)據(jù)保護(hù)系統(tǒng)對通信故障、過程和系統(tǒng)重新起動有恢復(fù)能力。在本發(fā)明的一個實際實施例中,克隆代理4207生成兩種類型的檢查點,在此稱為“C類檢查點”和“A類檢查點”。C類檢查點表示從克隆代理4207發(fā)送到復(fù)制代理4211的數(shù)據(jù)記錄狀態(tài)。A類檢查點表示在生成元數(shù)據(jù)記錄的整個過程中的位置。復(fù)制代理4211生成一類記錄檢查點,在此稱為“B類檢查點”。C類和B類檢查點是數(shù)據(jù)檢查點。它們用于恢復(fù)進(jìn)行數(shù)據(jù)從克隆代理4207到復(fù)制代理4211的數(shù)據(jù)傳輸,并且用于恢復(fù)進(jìn)行在復(fù)制代理4211上接收的數(shù)據(jù)記錄的應(yīng)用。A類檢查點是元數(shù)據(jù)檢查點。它們用于監(jiān)視在生成元數(shù)據(jù)的克隆代理4207上長時間運(yùn)行的過程。生成A類檢查點減少在數(shù)據(jù)傳輸中斷的情況下對這樣的長時間運(yùn)行過程要重復(fù)的工作總量。更具體地,C類檢查點包含指向克隆代理4207系統(tǒng)和復(fù)制代理4211系統(tǒng)上的數(shù)據(jù)記錄中的位置的指針。C類檢查點由克隆代理4207生成并且轉(zhuǎn)送到復(fù)制代理4211。復(fù)制代理4211用在它的溢出日志中最后接收的記錄的指針更新C類檢查點。B類檢查點包含指向由在存儲位置4205的復(fù)制代理4211應(yīng)用的數(shù)據(jù)記錄的指針。當(dāng)數(shù)據(jù)保護(hù)器4201接收一個B類檢查點時,該檢查點向數(shù)據(jù)保護(hù)器4201標(biāo)識在B類檢查點已經(jīng)應(yīng)用于存儲在存儲位置的數(shù)據(jù)的復(fù)制品之前的所有數(shù)據(jù)塊。A類檢查點指示在生成元數(shù)據(jù)的同時由克隆代理4207處理的保護(hù)數(shù)據(jù)的總量。在由復(fù)制代理接收A類檢查點時,如果必要復(fù)制代理添加它自己的元數(shù)據(jù),并且將A類檢查點傳送到數(shù)據(jù)保護(hù)器。當(dāng)數(shù)據(jù)保護(hù)器接收一個A類檢查點時,意味著直到包含在該檢查點中所包含位置的元數(shù)據(jù)生成完成了。在一個實施例中,可順序地引用A類檢查點(例如,順序編號的)以使數(shù)據(jù)保護(hù)系統(tǒng)能夠判定是否丟失一個A類檢查點。如果丟失A類檢查點,則將重新起動確認(rèn),因為存在差異列表的元素丟失的可能性。如下討論,差異列表包括標(biāo)識在復(fù)制品沒有匹配的保護(hù)對象。那些對象是通過將在產(chǎn)生位置生成的元數(shù)據(jù)與在存儲位置生成的元數(shù)據(jù)比較來標(biāo)識的。除了上面提到的三個檢查點類型之外,數(shù)據(jù)保護(hù)器4201可以生成特殊的標(biāo)記權(quán)標(biāo)并且將它發(fā)送到位于產(chǎn)生位置4203的克隆代理以將它插入到數(shù)據(jù)記錄流中。這個權(quán)標(biāo)隨后由克隆代理4207通過數(shù)據(jù)信道4213發(fā)送到復(fù)制代理4211。在接收后,復(fù)制代理4211將該權(quán)標(biāo)發(fā)送回數(shù)據(jù)保護(hù)器4201。標(biāo)記權(quán)標(biāo)的目的是要在恢復(fù)進(jìn)行元數(shù)據(jù)生成之前清除來自任何數(shù)據(jù)通信傳輸?shù)乃蠥類檢查點。通過系統(tǒng)傳遞所有A類檢查點,發(fā)送已經(jīng)由克隆代理4207生成元數(shù)據(jù)并且只有在這之后恢復(fù)進(jìn)行元數(shù)據(jù)生成。這樣做的好處是它防止數(shù)據(jù)記錄傳輸日志溢出(如果元數(shù)據(jù)生成過程比克隆代理4207能夠發(fā)送的速度快得多),并且它避免多次生成相同的元數(shù)據(jù),因為數(shù)據(jù)保護(hù)器4201在接收標(biāo)記權(quán)標(biāo)之前看見所有元數(shù)據(jù)。圖43-44依照本發(fā)明一實施例由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行的數(shù)據(jù)傳送監(jiān)視例程的流程圖。如上討論,響應(yīng)于用戶或者另一個對保護(hù)數(shù)據(jù)作出的單獨改變或者在調(diào)度的作業(yè)執(zhí)行時間,啟動在產(chǎn)生位置4303與存儲位置4305之間的數(shù)據(jù)傳送。響應(yīng)于用戶對保護(hù)數(shù)據(jù)所作的改變,產(chǎn)生位置4303記錄到改變?nèi)罩?307的對保護(hù)數(shù)據(jù)的改變記錄。例如,R1,R2,R3,R4,R5和R6是由在產(chǎn)生位置4303的克隆代理記錄到改變?nèi)罩镜母鱾€改變記錄。包含在改變?nèi)罩?307中的記錄周期性地由數(shù)據(jù)移動器從改變?nèi)罩?307中拉出,一起組合成批并發(fā)送到存儲位置4305。另外,克隆代理生成一個C類檢查點,它包含指向被發(fā)送的最后記錄的改變?nèi)罩?307中的位置,并且將該C類檢查點添加到傳輸批的末尾。例如,克隆代理可從改變?nèi)罩?307拉出記錄R1,R2和R3,將這些記錄一起組合成批并且將該批發(fā)送到存儲位置4305。生成的C類檢查點4311包含指向R3在改變?nèi)罩?307中位置的指針,在本例中是改變?nèi)罩疚恢?。C類檢查點被添加到發(fā)送到存儲位置4305的批的末尾。盡管上例例示了可生成C類檢查點并由數(shù)據(jù)的每個傳輸批發(fā)送,但在一個替換的實施例中,C類檢查點可基于要發(fā)送的數(shù)據(jù)總量生成。在這樣一個實施例中,C類檢查點可只在數(shù)據(jù)總量超過一個預(yù)定的最小傳輸大小時生成。在另一個實施例中,C類檢查點的生成和傳輸可取決于自先前的C類檢查點生成和發(fā)送起的時間。而且,C類檢查點的生成和傳輸可在預(yù)定數(shù)量的數(shù)據(jù)傳輸處生成和發(fā)送。例如,C類檢查點可在每當(dāng)?shù)谖鍌€數(shù)據(jù)傳輸時生成和發(fā)送。而且,本發(fā)明實施例可使用用于生成和發(fā)送檢查點的技術(shù)的任何組合。例如,如果數(shù)據(jù)超過最低大小或者在每當(dāng)?shù)谖宕蝹鬏敃r,可生成C類檢查點。位于存儲位置4305的復(fù)制代理通過數(shù)據(jù)移動器接收發(fā)送的記錄和C類檢查點,并且在溢出日志4313中存儲發(fā)送的記錄和C類檢查點。另外,在收到C類檢查點4311后,存儲位置4305的復(fù)制代理添加指向該C類檢查點的第二個指針,它標(biāo)識該C類檢查點在溢出日志4313中的位置,在這種情況下添加到C類檢查點4311的指針是指向溢出日志位置106的指針。因而,C類檢查點4313包含指向改變?nèi)罩?307的最后傳輸位置的位置和溢出日志4313中該C類檢查點的位置兩者的指針。隨后將C類檢查點4313由復(fù)制代理轉(zhuǎn)送到數(shù)據(jù)保護(hù)器4301。數(shù)據(jù)保護(hù)器4301在數(shù)據(jù)庫中記錄該C類檢查點。在一個替換的實施例中,C類檢查點不存儲在溢出日志中并且代之以由復(fù)制代理添加一個指向C類檢查點的指針,它標(biāo)識用批發(fā)送的最后的改變記錄并且將C類檢查點轉(zhuǎn)送到數(shù)據(jù)保護(hù)器4301?,F(xiàn)在參考圖44,數(shù)據(jù)保護(hù)器4301在從存儲位置4305收到C類檢查點時將C類檢查點存儲在數(shù)據(jù)保護(hù)器的數(shù)據(jù)庫中,并且發(fā)送C類檢查點確認(rèn)到產(chǎn)生位置4303。由產(chǎn)生位置4303收到C類檢查點確認(rèn)向產(chǎn)生位置標(biāo)識在該C類檢查點之間發(fā)送的所有記錄都已經(jīng)由存儲位置4305接收并且那些發(fā)送的記錄可從改變?nèi)罩?307中清除。除了接收記錄并將那些記錄存儲在溢出日志4313中之外,位于存儲位置4305的復(fù)制代理開始將接收的記錄應(yīng)用于位于存儲位置4305的數(shù)據(jù)復(fù)制品。在一個預(yù)定點,復(fù)制代理生成一個B類檢查點,它包括一個指向溢出日志4313內(nèi)被應(yīng)用于復(fù)制數(shù)據(jù)4317的最后記錄的位置的指針。預(yù)定點可基于例如但不限于,經(jīng)處理的數(shù)據(jù)總量,自最后的B類檢查點起的時間,或者兩者的組合。例如,復(fù)制代理可從溢出日志4313位置103應(yīng)用R1,從溢出日志4313位置104應(yīng)用R2,并且在將R2應(yīng)用于復(fù)制品數(shù)據(jù)4317之后生成一個B類檢查點,它包含指向溢出日志位置104的引用。所生成的B類檢查點4319由存儲位置4305上的復(fù)制代理轉(zhuǎn)送到數(shù)據(jù)保護(hù)器4301。數(shù)據(jù)保護(hù)器4301將B類檢查點存儲在數(shù)據(jù)庫中以使記錄能夠在數(shù)據(jù)傳送被中斷的情況下使用。另外,響應(yīng)于從存儲位置4305接收B類檢查點,數(shù)據(jù)保護(hù)器4301將B類檢查點存儲在它的數(shù)據(jù)庫中并且將B類檢查點確認(rèn)發(fā)送回存儲位置4305。由存儲位置4305接收B類檢查點向存儲位置4305標(biāo)識數(shù)據(jù)保護(hù)器已經(jīng)記錄了已經(jīng)應(yīng)用于復(fù)制品數(shù)據(jù)4317的記錄的最后位置,并且那些記錄可從溢出日志4313中清除。傳送記錄并將那些記錄應(yīng)用于在存儲位置的復(fù)制品數(shù)據(jù)的過程并且檢查點的循環(huán)確認(rèn)從產(chǎn)生位置4303到存儲位置4305的記錄傳輸準(zhǔn)確性并且給數(shù)據(jù)保護(hù)器4301提供可在發(fā)生故障時用于重新起動數(shù)據(jù)傳輸。圖45依照本發(fā)明一實施例例示數(shù)據(jù)保護(hù)系統(tǒng)重新起動從產(chǎn)生位置4303到存儲位置4305的改變記錄的傳輸?shù)牧鞒虉D。為了說明的目的,假定系統(tǒng)正在從產(chǎn)生位置4303傳送到存儲位置4305并且由于某種原因傳輸被中斷并且系統(tǒng)正在恢復(fù)進(jìn)行該傳輸。為恢復(fù)進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)保護(hù)器4301參考存在在數(shù)據(jù)保護(hù)器4301的數(shù)據(jù)庫中最后記錄的C類和B類檢查點來標(biāo)識產(chǎn)生位置4303和存儲位置4305的重新起動位置。例如,參考所記錄的B類檢查點B2,數(shù)據(jù)保護(hù)器4301確定在溢出日志4313中被應(yīng)用的最后記錄的位置是位置107。因而,數(shù)據(jù)保護(hù)器4301生成一個被發(fā)送到存儲位置4305的命令,指示存儲位置4305的復(fù)制代理開始應(yīng)用從溢出日志位置108的記錄并且在溢出日志位置111之后(即,溢出日志位置112)存儲下一個接收到數(shù)據(jù)記錄。復(fù)制代理開始存儲接收記錄的位置(112)是通過參考記錄在數(shù)據(jù)保護(hù)器4301的數(shù)據(jù)庫中的最后的C類檢查點來標(biāo)識的。在本例中,數(shù)據(jù)保護(hù)器4301,參考C類檢查點C3標(biāo)識由存儲位置4305接收的最后已知的C類檢查點位于溢出日志位置111。同樣,數(shù)據(jù)保護(hù)器4301,參考最后收到的C類檢查點C3標(biāo)識產(chǎn)生位置4303發(fā)送(它知道已由存儲位置4305成功接收)的最后記錄定位在改變?nèi)罩疚恢?。因而,數(shù)據(jù)保護(hù)器4301生成一個發(fā)送給產(chǎn)生位置4303的命令,它指示位于產(chǎn)生位置4303的克隆代理從記錄10開始發(fā)送記錄到存儲位置4305??偟膩碚f,為了有效地恢復(fù)進(jìn)行數(shù)據(jù)記錄的傳輸,數(shù)據(jù)保護(hù)器4301生成和發(fā)送三個命令。生成開始發(fā)送記錄命令并且將它發(fā)送到產(chǎn)生位置4303,它標(biāo)識在改變?nèi)罩?307中的傳輸起始點。發(fā)送開始應(yīng)用記錄命令到存儲位置4305,標(biāo)識在溢出日志4313中要恢復(fù)進(jìn)行應(yīng)用的位置。還生成第三個命令,即開始存儲接收記錄命令,并發(fā)送到存儲位置4305,標(biāo)識在溢出日志4313中關(guān)于要存儲的新接收記錄的位置。參考諸如B類和C類這樣的檢查點并且生成開始應(yīng)用記錄命令、開始發(fā)送記錄命令和開始存儲接收記錄命令,使數(shù)據(jù)保護(hù)系統(tǒng)能夠重新同步它本身,通過從數(shù)據(jù)傳送內(nèi)已知的檢查點重新開始,因而不必從頭開始數(shù)據(jù)傳輸并且不丟失任何數(shù)據(jù)。除了如上所述監(jiān)視改變記錄從產(chǎn)生位置4303到存儲位置4305的傳輸之外,數(shù)據(jù)保護(hù)系統(tǒng)具有確認(rèn)位于存儲位置4305的復(fù)制品數(shù)據(jù)4317的完整性的能力。在本發(fā)明的一個實際實施例中,數(shù)據(jù)的確認(rèn)是通過從產(chǎn)生位置4303發(fā)送要與在存儲位置4305的記錄比較的確認(rèn)記錄來完成的。圖46和47依照本發(fā)明一實施例例示用于確認(rèn)復(fù)制品4317的確認(rèn)例程。為了開始確認(rèn)例程,數(shù)據(jù)保護(hù)系統(tǒng)器4301生成要發(fā)給產(chǎn)生位置4303以開始確認(rèn)的命令。響應(yīng)于接收開始確認(rèn)命令,在產(chǎn)生位置4303的克隆代理開始生成位于產(chǎn)生位置4303的每個保護(hù)對象的元數(shù)據(jù)。該元數(shù)據(jù)作為一個記錄添加到改變?nèi)罩?307并且連同改變記錄一起發(fā)送。記錄和元數(shù)據(jù)從改變?nèi)罩?307發(fā)送到存儲位置4305,如上討論。在收到改變記錄后,位于存儲位置4305的復(fù)制代理將該記錄應(yīng)用于復(fù)制品數(shù)據(jù)4317,如上討論。在應(yīng)用元數(shù)據(jù)記錄如V1后,位于存儲位置4305的復(fù)制代理計算復(fù)制品數(shù)據(jù)4317相同部分的元數(shù)據(jù)。比較兩個元數(shù)據(jù)項以確認(rèn)復(fù)制品數(shù)據(jù)該部分的有效性和完整性。如果元數(shù)據(jù)不匹配,則復(fù)制代理生成一個差異列表,它標(biāo)識在復(fù)制品4317不匹配的保護(hù)對象。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到的,使用元數(shù)據(jù)將復(fù)制品數(shù)據(jù)與保護(hù)對象比較可通過生成要比較數(shù)據(jù)的校驗和以及/或通過比較任何其它標(biāo)識標(biāo)記如數(shù)據(jù)的最后改變時間來完成。在一組元數(shù)據(jù)記錄如V1和V2已經(jīng)包括在改變?nèi)罩?307中之后的預(yù)定時間點,位于產(chǎn)生位置4303的克隆代理生成要作為記錄添加到改變?nèi)罩?307的A類檢查點。A類檢查點如A1連同改變記錄和元數(shù)據(jù)記錄一起通過數(shù)據(jù)信道發(fā)送到存儲位置4305。在由位于存儲位置4305的復(fù)制代理收到A類檢查點后,復(fù)制代理轉(zhuǎn)送A類檢查點并且已經(jīng)作為比較元數(shù)據(jù)的結(jié)果所生成的任何差異列表轉(zhuǎn)送到數(shù)據(jù)保護(hù)器4301。如在圖46中例示的,A類檢查點可維護(hù)在溢出日志中,直到它被清除??晒┨鎿Q地,在收到A類檢查點后,可連同差異列表一起轉(zhuǎn)送它并且不存儲在溢出日志中。數(shù)據(jù)保護(hù)器4301接收A類檢查點和差異列表并且將A類檢查點和差異列表記錄在數(shù)據(jù)庫中。差異列表被傳送到產(chǎn)生位置,重新復(fù)制所標(biāo)識的保護(hù)對象并且重新發(fā)送到存儲位置。響應(yīng)于接收差異列表,所標(biāo)識的保護(hù)對象重新復(fù)制和重新傳輸可發(fā)生,或者可調(diào)度在某個以后的時間點(例如,在完成復(fù)制品的確認(rèn)之后)發(fā)生。A類檢查點在其本身內(nèi)包括一個特定保護(hù)對象的標(biāo)識,一直到該對象都已經(jīng)計算了元數(shù)據(jù)。例如,如果為位于server(服務(wù)器)1的C\生成的元數(shù)據(jù)并且生成元數(shù)據(jù)的最后一個保護(hù)對象是server(服務(wù)器)1上的C\file50,則A類檢查點將包含到server(服務(wù)器)1上的C\file50的引用。該信息由數(shù)據(jù)保護(hù)器4301存儲在數(shù)據(jù)庫中,因此,在數(shù)據(jù)傳輸中斷的情況下,它將具有一個引用點,從該點重新開始確認(rèn)。圖47依照本發(fā)明一實施例例示一個流程圖,描述由數(shù)據(jù)保護(hù)系統(tǒng)生成的確認(rèn)例程的重新開始,以在特定時間點確認(rèn)被中斷了時重新開始確認(rèn)。為了本討論的目的,假定數(shù)據(jù)傳輸已經(jīng)被中斷并且現(xiàn)在要恢復(fù)進(jìn)行。當(dāng)重新進(jìn)行數(shù)據(jù)傳輸時,數(shù)據(jù)保護(hù)器4301生成和發(fā)送標(biāo)記權(quán)標(biāo),在圖47中例示為Ap。標(biāo)記權(quán)標(biāo)是由數(shù)據(jù)保護(hù)器4301生成的唯一權(quán)標(biāo),在數(shù)據(jù)確認(rèn)恢復(fù)進(jìn)行之前,它通過系統(tǒng)循環(huán)以從系統(tǒng)清除所有元數(shù)據(jù)和A類檢查點。標(biāo)記Ap從數(shù)據(jù)保護(hù)器4301發(fā)送到產(chǎn)生位置4303并且由位于產(chǎn)生位置4303的克隆代理將它包括在改變?nèi)罩?307中。在產(chǎn)生位置4303收到標(biāo)記權(quán)標(biāo)Ap,克隆代理添加標(biāo)記Ap到改變?nèi)罩?307并且隨后將標(biāo)記Ap發(fā)送到存儲位置4305。在存儲位置4305收到標(biāo)記權(quán)標(biāo)Ap后,位于存儲位置4305的復(fù)制代理將標(biāo)記權(quán)權(quán)Ap轉(zhuǎn)送回數(shù)據(jù)保護(hù)器4301。在數(shù)據(jù)保護(hù)器4301收到標(biāo)記權(quán)標(biāo)Ap后,數(shù)據(jù)保護(hù)器4301變成知道先前已經(jīng)生成的所有元數(shù)據(jù)已經(jīng)從產(chǎn)生位置4303發(fā)送到存儲位置4305。數(shù)據(jù)保護(hù)器4301,參考類A檢查點的數(shù)據(jù)庫,標(biāo)識被發(fā)送的最后一個A類檢查點,并且準(zhǔn)備一個重新命令,它包括產(chǎn)生位置要重新開始數(shù)據(jù)確認(rèn)的位置。數(shù)據(jù)保護(hù)器4301將重新確認(rèn)命令和要恢復(fù)進(jìn)行數(shù)據(jù)確認(rèn)的點的標(biāo)識發(fā)送到產(chǎn)生位置4303。例如,參考圖47,數(shù)據(jù)保護(hù)器4301從它的數(shù)據(jù)庫標(biāo)識在先前的確認(rèn)例程期間計算元數(shù)據(jù)的最后一個保護(hù)對象是在server(服務(wù)器)1上的C\file1003。因而,數(shù)據(jù)保護(hù)器4301知道已經(jīng)為一直到server(服務(wù)器)1的卷C上的file(文件)1003的所有文件生成和發(fā)送了元數(shù)據(jù),因而生成一個重新起動確認(rèn)命令以指示產(chǎn)生位置4303重新起動在server(服務(wù)器)1上C\file1003之后的元數(shù)據(jù)生成。圖48A是依照本發(fā)明一實施例命令處理例程的流程圖,用于處理由產(chǎn)生位置接收的命令。命令處理例程4800開始于4801,并且在判定塊4803作出關(guān)于所接收的命令是否是“開始傳輸”命令的確定。如上討論,命令是由數(shù)據(jù)保護(hù)器為控制部署在整個數(shù)據(jù)保護(hù)系統(tǒng)上的代理而生成的。如果在判定塊4803判定所接收的命令是“開始傳輸”命令,則在塊4805標(biāo)識一個開始傳輸點。開始傳輸點可包括在“開始傳輸”命令中。開始傳輸點標(biāo)識改變?nèi)罩緝?nèi)的一個位置,從它開始數(shù)據(jù)傳輸。另外,在塊4807標(biāo)識一個結(jié)束傳輸點。結(jié)束傳輸點可用各種方法來確定。例如,可通過找出包含在改變?nèi)罩緝?nèi)的最后記錄并將它用作結(jié)束傳輸點,通過確定數(shù)據(jù)傳輸?shù)淖畲蟪叽绮⑶覙?biāo)識日志內(nèi)達(dá)到該尺寸的點,來標(biāo)識一個結(jié)束傳輸點。在標(biāo)識開始和結(jié)束傳輸點后,在塊4809命令處理例程4800將控制傳遞給數(shù)據(jù)傳輸流程(圖48B)?;貋韰⒖寂卸▔K4803,如果確定所接收的命令不是“開始傳輸”命令,則在判定塊4811確定所接收的命令是否是“開始確認(rèn)”命令。如果在判定塊4811確定命令是“開始確認(rèn)”命令,則在塊4183在產(chǎn)生位置標(biāo)識一個關(guān)于開始確認(rèn)的位置。如用于傳輸?shù)拈_始和結(jié)束點一樣,該位置可包含在開始確認(rèn)命令內(nèi)或者單獨地獲得該位置。在標(biāo)識產(chǎn)生位置內(nèi)開始確認(rèn)的位置后,命令處理例程4800將控制傳遞給確認(rèn)例程(圖48C),如由塊4815例示。如果在判定塊4811確定所接收的命令不是“開始確認(rèn)”命令,則在判定塊4817判定所接收的命令是否是C類檢查點確認(rèn)。如果是C類檢查點確認(rèn),則包含在改變?nèi)罩局性谝呀?jīng)被確認(rèn)的C類檢查點之前發(fā)送的記錄從改變?nèi)罩局星宄?,如由塊4819例示,并且例程在塊4821結(jié)束。然而,如果在判定塊4817確定所接收的檢查點不是C類檢查點確認(rèn),則所接收的命令是標(biāo)記權(quán)標(biāo)Ap。在塊4823將標(biāo)記權(quán)標(biāo)Ap放置在改變?nèi)罩局胁⑶依淘趬K4825結(jié)束。圖48B是依照本發(fā)明一實施例傳輸數(shù)據(jù)例程的流程圖,用于將改變記錄從產(chǎn)生位置發(fā)送到存儲位置。傳輸數(shù)據(jù)例程開始于塊4831,并且在塊4833為了傳輸將從改變?nèi)罩精@得的一個改變記錄組一起組合成批。記錄的批可以是任何數(shù)量的記錄。創(chuàng)建記錄批可響應(yīng)于到達(dá)改變?nèi)罩镜淖畲蟪叽?,在一個改變發(fā)生后,在預(yù)定的時間點發(fā)生。如相關(guān)領(lǐng)域熟練技術(shù)人員將意識到,所提供的生成記錄批的定時和記錄批的尺寸只是一些例子,并且本發(fā)明實施例可使用任何定時和尺寸用于創(chuàng)建記錄批。例如,記錄批可只包括一個記錄并且可在每次對數(shù)據(jù)保護(hù)系統(tǒng)發(fā)生一個改變時創(chuàng)建。在塊4835,從產(chǎn)生位置發(fā)送記錄批。除了發(fā)送記錄批之外,還生成一個C類檢查點并且添加到記錄批的末尾,作為記錄批的一部分發(fā)送。如上討論,C類檢查點包含指向改變?nèi)罩緝?nèi)包括在記錄批中最后一個改變記錄的位置的指針。在判定塊4837,作出關(guān)于在改變?nèi)罩緝?nèi)是否還有其它記錄的確定。如果在判定塊4837確定存在其它記錄,則傳輸數(shù)據(jù)例程4830將控制返回到塊4833并且例程繼續(xù)。然而,如果在判定塊4837確定沒有更多記錄要發(fā)送,則例程結(jié)束,如由塊4839例示。圖48C是依照本發(fā)明一實施例用于確認(rèn)數(shù)據(jù)的確認(rèn)例程的流程圖。確認(rèn)例程4840開始于4841,并且在判定塊4843判定在產(chǎn)生位置是否存在需要進(jìn)行確認(rèn)的任何對象。如果在判定塊4843確定沒有其它對象要確認(rèn),則例程結(jié)束,如由塊4844例示。然而,如果確定有其它對象要確認(rèn),則在塊4845生成對象的元數(shù)據(jù)。具體地說,生成元數(shù)據(jù)的第一個對象是相應(yīng)于在命令處理例程4800(圖48A)的塊4813標(biāo)識的起始位置的對象。在生成元數(shù)據(jù)后,以元數(shù)據(jù)記錄的形式(V)將該元數(shù)據(jù)添加到改變?nèi)罩?。在判定塊4847,作出關(guān)于是否要生成一個A類檢查點并將它添加到改變?nèi)罩镜拇_定。如上討論,A類檢查點表示在生成和發(fā)送元數(shù)據(jù)記錄的整個過程中的位置并且可用于重新開始數(shù)據(jù)確認(rèn)。另外,A類檢查點可包括順序標(biāo)記,因此可判定一個被發(fā)送的A類檢查點是否沒有收到。如果在判定塊4847確定要生成一個A類檢查點,則在塊4849生成檢查點并將它作為一個記錄添加到改變?nèi)罩荆鼘⒈唤M成批并且與包含在改變?nèi)罩緝?nèi)的其它記錄一起發(fā)送。在將一個A類檢查點添加到改變?nèi)罩竞?,確認(rèn)例程4840將控制返回到判定塊4843并且例程繼續(xù)。然而,如果在判定塊4847確定不要生成A類檢查點,則確認(rèn)例程4840返回到判定塊4843并繼續(xù)。圖49A是依照本發(fā)明一實施例的命令處理例程的流程圖,用于處理由存儲位置接收的命令。命令處理例程4900開始于塊4901,并且在判定塊4903作出關(guān)于所接收的命令是否是“開始接收”命令的確定?!伴_始接收”命令是使存儲位置開始接收從產(chǎn)生位置發(fā)送的記錄的指令。在判定塊4903確定命令是“開始接受”命令,則在塊4905標(biāo)識溢出日志內(nèi)用于存儲所接收的記錄的起始點。在溢出日志內(nèi)位置的標(biāo)識可通過接收包含在“開始接受”命令內(nèi)或者作為一個單獨指令的位置來確定。在標(biāo)識了溢出日志內(nèi)關(guān)于開始存儲所接收記錄的起始位置后,命令處理例程4900將控制傳遞到接收記錄例程(圖49B),如由塊4907例示?;貋韰⒖寂卸▔K4903,如果確定所接收的命令不是“開始接收”命令,則在判定塊4909判定所接收的命令是否是“開始應(yīng)用”命令。如果所接收的命令是開始應(yīng)用命令,則在塊4911標(biāo)識溢出日志內(nèi)開始應(yīng)用記錄的起始位置。如開始接收記錄位置一樣,在溢出日志內(nèi)的標(biāo)識可通過包括在“開始應(yīng)用”命令內(nèi)或者作為單獨命令來接收或者通過其它方法標(biāo)識的位置來標(biāo)識。在標(biāo)識了溢出日志開始應(yīng)用的起始位置后,命令處理例程4900將控制傳遞給應(yīng)用改變記錄例程(圖49C)。如果在判定塊4909確定命令不是“開始應(yīng)用”命令,則命令是B類檢查點確認(rèn),并且在塊4915所有包含在溢出日志內(nèi)已經(jīng)應(yīng)用于存儲位置處的副本的記錄在發(fā)送所確認(rèn)的B類檢查點之前從日志中清除。在塊4917例程結(jié)束。圖49B是依照本發(fā)明一實施例接收記錄例程的流程圖,用于在存儲位置處接收記錄。接收記錄例程4920開始于塊4921,并且在塊4923接收下一個進(jìn)入的塊。如上討論,記錄的傳輸可使用任何傳輸介質(zhì)包括但不限于線連接或無線等來完成。在判定塊4925,判定所接收的記錄是否是C類檢查點。如果是C類檢查點,則將C類檢查點的溢出日志位置添加到C類檢查點并且將C類檢查點轉(zhuǎn)送到數(shù)據(jù)保護(hù)器,如由塊4927例示。然而,如果在判定塊4925確定記錄不是C類檢查點,則在判定塊4929判定記錄是否是標(biāo)記權(quán)標(biāo)Ap。如果記錄是標(biāo)記權(quán)標(biāo),則在塊4931將標(biāo)記權(quán)標(biāo)轉(zhuǎn)送到數(shù)據(jù)保護(hù)器。如果在判定塊4929確定記錄不是標(biāo)記權(quán)標(biāo),則在判定塊4935判定記錄是否是A類檢查點。如果在判定塊4935判定記錄是A類檢查點,則在塊4937將A類檢查點和差異列表轉(zhuǎn)送到數(shù)據(jù)保護(hù)器。如果在判定塊4935判定記錄不是A類檢查點,或者在將記錄轉(zhuǎn)送到數(shù)據(jù)保護(hù)器(塊4927,4931,4937)之后將所接收的記錄添加到溢出日志,如由塊4939例示。在判定塊4941,判定是否還有已經(jīng)接收的其它記錄。如果有其它記錄,則接收記錄例程4920返回到塊4923并且例程繼續(xù)。如果沒有其它記錄,則例程在塊4943結(jié)束。圖49C是依照本發(fā)明一實施例應(yīng)用改變記錄例程的流程圖,用于將改變記錄應(yīng)用于存儲位置的復(fù)制品。應(yīng)用記錄例程4950開始于塊4951,并且在塊4953從溢出日志獲得一個記錄。在判定塊4955判定所獲得的記錄是否包含關(guān)于保護(hù)對象的元數(shù)據(jù)。如果確定記錄包含元數(shù)據(jù),則在塊4957將元數(shù)據(jù)與存儲在復(fù)制品上的相應(yīng)對象比較。如上討論,元數(shù)據(jù)可以是任何形式的對象標(biāo)識,諸如最后的改變時間,大小,計算的校驗和等等。在判定塊4959,在比較元數(shù)據(jù)后,判定元數(shù)據(jù)是否不同。如果所比較的元數(shù)據(jù)不同,則在塊4961將比較了元數(shù)據(jù)的對象標(biāo)識添加到差異列表。在將所標(biāo)識的對象添加到差異列表(塊4961)后或者如果在判定塊4949確定元數(shù)據(jù)沒有不同,則應(yīng)用改變記錄例程4950繼續(xù)到判定塊4965并且繼續(xù)。返回到判定塊4955,如果確定記錄不是元數(shù)據(jù),則記錄是改變記錄并且將它應(yīng)用于復(fù)制品,如由塊4963例示。在判定塊4965,判定是否應(yīng)該生成一個B類檢查點。如上討論,B類檢查點的生成可基于任何形式的準(zhǔn)則來創(chuàng)建。例如,在每次應(yīng)用了一個改變記錄之后、在預(yù)定的時間段之后等等可生成一個B類檢查點。如果在判定塊4965確定應(yīng)該生成一個B類檢查點,則在判定塊4967判定差異列表是否為空。如果確定差異列表不為空,則在塊4969例程4950等待接收一個A類檢查點。如果差異列表不為空則等待A類檢查點,這保證如果系統(tǒng)重新起動,在差異列表之外沒有生成的元數(shù)據(jù)記錄丟失。在發(fā)送B類檢查點之前接收A類檢查點,這保證當(dāng)發(fā)送差異列表時不再需要所有用于生成該差異列表的元數(shù)據(jù)記錄。如果在判定塊4967確定差異列表為空,或者在塊4969收到A類檢查點后,生成并發(fā)送一個B類檢查點,如由塊4971例示?;貋韰⒖寂卸▔K4965,如果確定不要生成B類檢查點,或者在發(fā)送B類檢查點(塊4971)之后,在判定塊4973判定在溢出日志中是否存在還沒有應(yīng)用于復(fù)制品的其它記錄。如果存在其它記錄,則應(yīng)用改變記錄例程4950返回到塊4953并且繼續(xù)。然而,如果在判定塊4973確定沒有其它記錄要應(yīng)用,則例程結(jié)束,如由塊4975例示。本發(fā)明各實施例提供使用任何類型的備份技術(shù)保護(hù)產(chǎn)生位置處的數(shù)據(jù)的能力,諸如用時間版本化和/或?qū)?shù)據(jù)歸檔到可移動介質(zhì)的復(fù)制。在本發(fā)明的一個實施例中,保護(hù)產(chǎn)生位置處數(shù)據(jù)的能力是通過使用分布式控件和協(xié)調(diào)由位于數(shù)據(jù)保護(hù)系統(tǒng)不同部分的代理執(zhí)行的動作來完成的。例如,一個代理可位于產(chǎn)生位置、存儲位置和/或數(shù)據(jù)保護(hù)器位置。這些行為稱為作業(yè),一般在調(diào)度的基礎(chǔ)上運(yùn)行。因為作業(yè)經(jīng)常涉及與遠(yuǎn)程代理通信,所以它們一般是異步的并且要用很長時間來完成。作業(yè)是調(diào)度的行為單元,可以一次性也可以在周期性基礎(chǔ)上運(yùn)行。作業(yè)由一或多個任務(wù)組成。任務(wù)可以串行或并行地運(yùn)行。另外,作業(yè)在任何任務(wù)失敗時失敗,或者任務(wù)無論完成還是失敗作業(yè)都可繼續(xù)執(zhí)行所有任務(wù)。對于數(shù)據(jù)保護(hù),作業(yè)組織成為所有保護(hù)組的成員執(zhí)行給定的行為。數(shù)據(jù)保護(hù)通過組織包含用于為特定作業(yè)執(zhí)行適當(dāng)行為的任務(wù)的作業(yè)來進(jìn)行。例如,保護(hù)或恢復(fù)計劃包括一或多個作業(yè)并且調(diào)度那些作業(yè)。在本發(fā)明的一個實際實施例中,作業(yè)可認(rèn)為是四個不同類型之一保護(hù),恢復(fù),發(fā)現(xiàn)和內(nèi)務(wù)處理。保護(hù)作業(yè)執(zhí)行數(shù)據(jù)保護(hù)行為諸如復(fù)制,時間版本管理,歸檔或數(shù)據(jù)集升級。每個保護(hù)任務(wù)與一個保護(hù)組相關(guān)聯(lián)。發(fā)現(xiàn)作業(yè)執(zhí)行從復(fù)制品、數(shù)據(jù)集、歸檔或它們的組合的數(shù)據(jù)恢復(fù)。每個恢復(fù)任務(wù)與一個恢復(fù)資源相關(guān)聯(lián)。發(fā)現(xiàn)作業(yè),諸如初始發(fā)現(xiàn)例程(圖25)和調(diào)度的發(fā)現(xiàn)例程(圖26),發(fā)現(xiàn)在數(shù)據(jù)保護(hù)器外部的實體。執(zhí)行發(fā)現(xiàn),以搜索、導(dǎo)航、自動發(fā)現(xiàn)組刷新或已保存搜索條件,以及保護(hù)組成員資格判定。內(nèi)務(wù)處理作業(yè)執(zhí)行數(shù)據(jù)保護(hù)系統(tǒng)維護(hù)所必需的行為。內(nèi)務(wù)處理作業(yè)包括代理安裝版本調(diào)查、摘要跟蹤的創(chuàng)建、介質(zhì)遷移,以及數(shù)據(jù)保護(hù)系統(tǒng)數(shù)據(jù)庫垃圾收集。數(shù)據(jù)保護(hù)系統(tǒng)的每個作業(yè)是由作業(yè)管理器監(jiān)視的。作業(yè)管理器監(jiān)視整個作業(yè)進(jìn)程,從與那些作業(yè)有關(guān)的數(shù)據(jù)保護(hù)器數(shù)據(jù)庫讀取信息,并且將從那些作業(yè)接收的信息寫到它維護(hù)的數(shù)據(jù)保護(hù)器數(shù)據(jù)庫的特定部分。對于作業(yè)管理器維護(hù)的數(shù)據(jù)庫的部分,它只是數(shù)據(jù)保護(hù)系統(tǒng)中可將信息寫至數(shù)據(jù)庫的該部分的唯一的管理器。圖50是依照本發(fā)明一實施例包含多個任務(wù)的作業(yè)的方框圖。如上面提到的,作業(yè)5000包括一或多個任務(wù),諸如任務(wù)15001,任務(wù)25002,直到任何數(shù)目的任務(wù),如由任務(wù)N5003例示。作業(yè)的每個任務(wù)是由任務(wù)執(zhí)行器5005、5007執(zhí)行和管理的。任務(wù)執(zhí)行器5005在執(zhí)行任務(wù)諸如任務(wù)25002時可生成一或多個命令,由分布在整個數(shù)據(jù)保護(hù)系統(tǒng)上的不同代理執(zhí)行。例如,任務(wù)執(zhí)行器5005可為任務(wù)25002生成三個不同命令,每個命令由不同代理完成。任務(wù)25002的第一個命令可由代理A5009執(zhí)行,第二個命令由代理B5011執(zhí)行,第三個命令由代理C5013執(zhí)行。取決于任務(wù)類型和作業(yè)類型,代理5009-5013可串行或并行地執(zhí)行命令。作業(yè)屬性應(yīng)用于作業(yè)的所有任務(wù)。一個作業(yè)的特定任務(wù)也可具有特定屬性。用于保護(hù)作業(yè)的作業(yè)和任務(wù)屬性是由意圖轉(zhuǎn)換作為創(chuàng)建組計劃的作業(yè)的一部分來確定的。在本發(fā)明的一個實際的實施例中,所有作業(yè)都有下列屬性在成功/失敗時的動作,以及并行或者只是串行地執(zhí)行。另外,任何涉及數(shù)據(jù)移動的作業(yè)可具有下列屬性加密,壓縮,節(jié)流和配置意圖。作為由一個共同的引擎執(zhí)行的有限狀態(tài)機(jī)(FSM)生成每個任務(wù)執(zhí)行器5005、5007,該引擎響應(yīng)于輸入使FSM在不同狀態(tài)中轉(zhuǎn)移,持久維護(hù)狀態(tài),并且執(zhí)行重新起動邏輯。例如,任務(wù)執(zhí)行器可基于來自先前發(fā)給一代理的命令的應(yīng)答轉(zhuǎn)移。使用共同引擎使所有FSM的設(shè)計能夠遵循共同設(shè)計方法并且不同的FSM能夠共享相同的共同塊(諸如輪詢以判定一個代理是否繼續(xù)有效并且從一個代理獲得狀態(tài))。一般地,任務(wù)執(zhí)行器發(fā)命令給代理并且轉(zhuǎn)移到等待狀態(tài)之內(nèi)和之外,基于那些的成功或失敗和從那些命令提供的應(yīng)答。另外,任務(wù)執(zhí)行器5005、5007可在執(zhí)行一個任務(wù)期間特定的時間量已經(jīng)過去之后,響應(yīng)于取消請求(例如,來自用戶的取消請求,因一個作業(yè)超過分配給該作業(yè)的最大時間引起的內(nèi)部取消請求)或者響應(yīng)于基于數(shù)據(jù)庫狀態(tài)生成的內(nèi)部消息而轉(zhuǎn)移。在每次轉(zhuǎn)移,任務(wù)執(zhí)行器通過任務(wù)持久維護(hù)其進(jìn)程。持久維護(hù)的進(jìn)程點可存儲在數(shù)據(jù)保護(hù)器數(shù)據(jù)庫中。通過任務(wù)持久維護(hù)的進(jìn)程點為數(shù)據(jù)保護(hù)系統(tǒng)提供穩(wěn)健性,如果遇到意料不到的終止(諸如掉電)。在重新起動后,任務(wù)執(zhí)行器可以參考持久維護(hù)的點并且標(biāo)識適當(dāng)?shù)娜蝿?wù)狀態(tài)并且立即從該點失敗,并且執(zhí)行必要的任何清除。例如,用于復(fù)制的數(shù)據(jù)傳輸作業(yè),如上討論,任務(wù)執(zhí)行器發(fā)出命令到適當(dāng)?shù)拇碛糜趫?zhí)行作業(yè)的每個任務(wù)。包括在那些命令中的是發(fā)到克隆代理以開始改變記錄傳輸?shù)拿睢M瑯?,任?wù)執(zhí)行器發(fā)出命令到復(fù)制代理以開始接收和應(yīng)用記錄。在代理在執(zhí)行那些命令時,任務(wù)執(zhí)行器開始定時器并且轉(zhuǎn)移到等待狀態(tài)。在每個轉(zhuǎn)移(發(fā)出命令,開始等待)時,任務(wù)執(zhí)行器持久維護(hù)任務(wù)的進(jìn)程點。任務(wù)執(zhí)行器可接收的應(yīng)答可以是檢查點,超時事件,取消請求等等。在接收應(yīng)答時,任務(wù)執(zhí)行器按照應(yīng)答轉(zhuǎn)移并且持久維護(hù)任務(wù)中該點。這個過程繼續(xù),直到任務(wù)或者成功或者失敗而結(jié)束。如果超時事件發(fā)生,則任務(wù)執(zhí)行器5005也可輪詢每個代理以判定這些代理是否還繼續(xù)有效并且有可能獲得有關(guān)由該代理執(zhí)行的命令的進(jìn)程。除持久維護(hù)轉(zhuǎn)移點從而增加穩(wěn)健性,設(shè)計長時間運(yùn)行的行為使得它們可以從中間點、檢查點重新起動,因此所有工作在失敗時不會丟失。例如,再參考圖43至47,在數(shù)據(jù)傳輸和確認(rèn)期間創(chuàng)建檢查點。那些檢查點由復(fù)制管理器獲得并且存儲在數(shù)據(jù)保護(hù)數(shù)據(jù)庫中。如上參考圖43-47討論的,在從失敗重新起動后,可評估那些檢查點并且可從由檢查點標(biāo)識的點恢復(fù)進(jìn)行數(shù)據(jù)傳輸和確認(rèn)。除了運(yùn)行任務(wù)以完成,任務(wù)執(zhí)行器5005、5007,在本發(fā)明的一個實施例中,在任務(wù)完成時通知作業(yè)管理器以及任務(wù)是成功還是失敗完成的。作業(yè)管理器維護(hù)它自己的蹤跡,給出關(guān)于作業(yè)中所有任務(wù)的概要信息。例如,作業(yè)蹤跡可包含成功完成的任務(wù)數(shù)。作業(yè)管理器還將從任務(wù)執(zhí)行器接收的信息持久維護(hù)在數(shù)據(jù)保護(hù)器數(shù)據(jù)庫的任務(wù)蹤跡中。另外,任務(wù)執(zhí)行器也可維護(hù)它自己的任務(wù)蹤跡,具有與任務(wù)有關(guān)的任務(wù)執(zhí)行器特定信息。任務(wù)蹤跡可包括在任務(wù)期間遇到的任何錯誤以及與對數(shù)據(jù)保護(hù)系統(tǒng)的用戶有用的任務(wù)有關(guān)的統(tǒng)計資料。任務(wù)類型特定的跟蹤由與該特定任務(wù)相關(guān)聯(lián)的管理器接收和維護(hù)。任務(wù)類型特定的跟蹤可包括任務(wù)特定信息,諸如移動數(shù)據(jù)所用的總時間,完成任務(wù)的總時間,傳送的數(shù)據(jù)總量,等等。在重新起動數(shù)據(jù)保護(hù)系統(tǒng)后,任務(wù)蹤跡可用于標(biāo)識在失敗時導(dǎo)致的錯誤路徑。另外,任務(wù)可維護(hù)任務(wù)私有元數(shù)據(jù)。該私有元數(shù)據(jù)可用于在重新起動時清除失敗的任務(wù)并且用于在任務(wù)完成(成功或失敗)時創(chuàng)建任務(wù)蹤跡。而且,任務(wù)執(zhí)行器5005、5007也可管理與任務(wù)相關(guān)聯(lián)的元數(shù)據(jù)。在失敗的情況下,在重新起動后,作業(yè)進(jìn)行非常簡單的清除。它們沒有重新調(diào)度它們自己或者執(zhí)行復(fù)雜的恢復(fù)動作。相反,失敗作業(yè)的任務(wù)只是更新任何物理對象狀態(tài)并且失敗。失敗記錄在任務(wù)蹤跡和作業(yè)蹤跡中。對于保證迅速且自動化的恢復(fù)行為足夠重要的任務(wù),數(shù)據(jù)保護(hù)系統(tǒng)通過健康管理器可創(chuàng)建用于從任務(wù)失敗的點完成作業(yè)或者在由任務(wù)生成的最后一個檢查點完成的補(bǔ)充作業(yè)。健康管理器使用任務(wù)試驗以及在數(shù)據(jù)庫中各種對象的狀態(tài)來實現(xiàn)更復(fù)雜的恢復(fù)機(jī)制以使數(shù)據(jù)保護(hù)能夠進(jìn)行。對于認(rèn)為是關(guān)鍵性的任務(wù),諸如復(fù)制,健康管理器可監(jiān)視那些任務(wù)。在一個實施例中,健康供應(yīng)者由健康管理器實例化。關(guān)鍵任務(wù)在失敗時引起失敗事件。健康供應(yīng)者監(jiān)視那些事件并且判定是需要執(zhí)行任何恢復(fù)。如果恢復(fù)是必需的,則創(chuàng)建和調(diào)度補(bǔ)充作業(yè)以恢復(fù)一或多個失敗的任務(wù)。另外,在系統(tǒng)起動時健康管理器起動健康供應(yīng)者。每個健康供應(yīng)者作出另外和獨立的確定,即已經(jīng)在系統(tǒng)先前終止時運(yùn)行的失敗任務(wù)的恢復(fù)是否是必需的。如果恢復(fù)是必需的,則創(chuàng)建和調(diào)度補(bǔ)充作業(yè)。在失敗作業(yè)內(nèi)單個任務(wù)失敗時或者在來自失敗作業(yè)的所有未完成任務(wù)包括那些從未起動的任務(wù)時,補(bǔ)充作業(yè)可包含單個任務(wù)。圖51是依照本發(fā)明一實施例例示任務(wù)的監(jiān)視和補(bǔ)充作業(yè)的創(chuàng)建的流程圖。如上所述,在數(shù)據(jù)保護(hù)系統(tǒng)內(nèi)的每個動作是以具有若干任務(wù)的作業(yè)形式組織的。數(shù)據(jù)保護(hù)器5101可創(chuàng)建作業(yè),諸如在產(chǎn)生位置5103處的保護(hù)對象的復(fù)制,它要被傳送和存儲在存儲位置5105作為執(zhí)行一或多個任務(wù)的結(jié)果。該作業(yè)是由數(shù)據(jù)保護(hù)器5101啟動的,并且該作業(yè)的每個任務(wù)是由一或多個任務(wù)執(zhí)行器執(zhí)行的。例如,對于一個復(fù)制作業(yè),任務(wù)執(zhí)行器發(fā)出命令到若干代理,其中之一可位于產(chǎn)生位置5103,并且其中之一可位于存儲位置5105。那些任務(wù)被執(zhí)行而且目前在進(jìn)程中,并且為了本例的目的,作業(yè)被中斷并且隨后恢復(fù)。作業(yè)中斷可因系統(tǒng)故障如掉電而發(fā)生。在恢復(fù)時,數(shù)據(jù)保護(hù)器5101標(biāo)識在系統(tǒng)故障之前正在進(jìn)行的作業(yè)任務(wù)。在標(biāo)識正在進(jìn)行的作業(yè)任務(wù)后,數(shù)據(jù)保護(hù)器5101發(fā)出重新開始任務(wù)的命令。在重新開始任務(wù)后,任務(wù)執(zhí)行器使任務(wù)失敗并且為失敗的任務(wù)執(zhí)行簡單的清除。如果任務(wù)是關(guān)鍵的,通知合適的健康供應(yīng)者。補(bǔ)充作業(yè)是在先前作業(yè)停止處恢復(fù)(pickup)的作業(yè)。補(bǔ)充作業(yè)包括在先前作業(yè)中失敗的任務(wù)或者在先前作業(yè)中沒有開始的任務(wù)。例如,如果失敗的作業(yè)是復(fù)制作業(yè),健康供應(yīng)者標(biāo)識復(fù)制作業(yè)的什么任務(wù)沒有成功完成并且創(chuàng)建一個包括未完成任務(wù)和該作業(yè)的所有其它未完成任務(wù)的補(bǔ)充作業(yè)。如果響應(yīng)于接收失敗的任務(wù)生成補(bǔ)充作業(yè),則健康管理器標(biāo)識失敗的任務(wù)并且創(chuàng)建一個包含該任務(wù)的作業(yè)并且有可能要與該作業(yè)串行或并行地執(zhí)行的任何其它任務(wù)的作業(yè)。在生成補(bǔ)充作業(yè)后,健康管理器調(diào)度執(zhí)行補(bǔ)充作業(yè)。該補(bǔ)充作業(yè)隨后按調(diào)度的進(jìn)行,好象是它自己的作業(yè),并且執(zhí)行該補(bǔ)充作業(yè)的任務(wù)。另外,因為補(bǔ)充作業(yè)調(diào)度為它自己的作業(yè),所以從作業(yè)管理器的觀點來看,被視為任何其它作業(yè)并且作業(yè)管理器可不知道它是補(bǔ)充作業(yè)。圖52依照本發(fā)明一實施例例示補(bǔ)充作業(yè)例程的流程圖,用于標(biāo)識任務(wù)失敗并在該任務(wù)是關(guān)鍵性時創(chuàng)建補(bǔ)充作業(yè)。補(bǔ)充作業(yè)例程5200可由數(shù)據(jù)保護(hù)系統(tǒng)執(zhí)行,或者在本發(fā)明的一個實際實施例中,它可以由健康管理器執(zhí)行。補(bǔ)充作業(yè)例程5200開始于塊5201,并且在塊5203接收任務(wù)失敗。如上討論,如果任務(wù)被中斷,在重新起動后,任務(wù)執(zhí)行器重新起動并且使先前運(yùn)行的任務(wù)失敗,發(fā)出任務(wù)失敗通知。任務(wù)執(zhí)行器執(zhí)行該失敗任務(wù)的清除。在判定塊5205,補(bǔ)充作業(yè)例程5200判定失敗的任務(wù)是否是關(guān)鍵性的。在一個替換的實施例中,用戶可指定要將什么任務(wù)視為關(guān)鍵性的。如果在判定塊5205確定失敗的任務(wù)是關(guān)鍵性的,則在塊5207,標(biāo)識未完成的任務(wù)和任何相關(guān)聯(lián)的任務(wù)。在塊5209,補(bǔ)充作業(yè)例程5200為每個未完成任務(wù)創(chuàng)建補(bǔ)充作業(yè)并且在塊5211調(diào)度該補(bǔ)充作業(yè)?;貋韰⒖寂卸▔K5205,如果確定失敗的任務(wù)不是關(guān)鍵性的,則補(bǔ)充作業(yè)例程結(jié)束,如由塊5213例示。如果一個任務(wù)是執(zhí)行多次的例程作業(yè)的一部分,可將任務(wù)標(biāo)識為非關(guān)鍵性的。例如,如果復(fù)制作業(yè)調(diào)度為每小時執(zhí)行,則用于背景復(fù)制的復(fù)制作業(yè)可視為非關(guān)鍵性作業(yè)。因而,因為復(fù)制作業(yè)將按照調(diào)度再次進(jìn)行,所以數(shù)據(jù)保護(hù)系統(tǒng)可確定復(fù)制作業(yè)的任務(wù)不是關(guān)鍵性的。除了判定是否應(yīng)該調(diào)度補(bǔ)充作業(yè)之外,數(shù)據(jù)保護(hù)器通過作業(yè)管理器,響應(yīng)于任務(wù)失敗判定包含失敗的任務(wù)的作業(yè)是否應(yīng)該繼續(xù)或者還是失敗。如果失敗的任務(wù)是已經(jīng)確定將使作業(yè)失敗的任務(wù),則作業(yè)管理器使相關(guān)聯(lián)作業(yè)失敗。即使任務(wù)被認(rèn)為是關(guān)鍵性的(因而需要補(bǔ)充作業(yè)),則它不要求該作業(yè)失敗。同樣,非關(guān)鍵性任務(wù)的失敗可導(dǎo)致作業(yè)失敗。例如,當(dāng)作業(yè)包括從多個數(shù)據(jù)源的復(fù)制時,復(fù)制任務(wù)(關(guān)鍵任務(wù))之一的失敗不會導(dǎo)致作業(yè)的失敗。如上面提到的,數(shù)據(jù)保護(hù)系統(tǒng)包括控制數(shù)據(jù)保護(hù)系統(tǒng)的特定部分的管理器。例如,數(shù)據(jù)保護(hù)系統(tǒng)可包括但不限于復(fù)制管理器、配置管理器、健康管理器、概要管理器、作業(yè)管理器、介質(zhì)管理器、歸檔管理器等等。每個管理器維護(hù)數(shù)據(jù)保護(hù)器數(shù)據(jù)庫的特定部分。數(shù)據(jù)庫的每個部分由只可以由相應(yīng)管理器寫的表集合組成。那些表可由任何管理器和其它外部應(yīng)用來讀,但由于相應(yīng)的管理器是可以寫數(shù)據(jù)到表中的唯一管理器,所有并發(fā)控制和同步邏輯是管理器擁有的。健康管理器,除了監(jiān)視任務(wù)和作業(yè)之外,也可監(jiān)視其它管理器。健康管理器配置為相應(yīng)于任何與管理器相關(guān)聯(lián)的任務(wù)的失敗并且可以檢查相應(yīng)于管理器的狀態(tài)來確定需要什么恢復(fù)動作。另外,管理器也可包含一或多個實現(xiàn)管理器功能的任務(wù)執(zhí)行器。例如,復(fù)制管理器可包含所有與復(fù)制品相關(guān)聯(lián)的任務(wù)執(zhí)行器,包括但不限于復(fù)制任務(wù)執(zhí)行器、時間版本化任務(wù)執(zhí)行器和從時間版本恢復(fù)任務(wù)執(zhí)行器。對于數(shù)據(jù)保護(hù)系統(tǒng)的物理對象(例如,復(fù)制品,介質(zhì),盤,庫,驅(qū)動器),維護(hù)一個狀態(tài)模型。每個狀態(tài)模型描述該對象可處的狀態(tài)并且在狀態(tài)之間允許的轉(zhuǎn)移。例如,圖37依照本發(fā)明實施例例示用于復(fù)制品的狀態(tài)模型。狀態(tài)模型描述一個對象的生命周期并且指示什么行為需要執(zhí)行以使對象從一個狀態(tài)轉(zhuǎn)移到另一個狀態(tài)。例如,當(dāng)復(fù)制品處在無效狀態(tài)3705時(圖37),基于該狀態(tài),數(shù)據(jù)保護(hù)系統(tǒng)知道確認(rèn)作業(yè)應(yīng)該執(zhí)行以將復(fù)制品放置在有效狀態(tài)3711中。對象的狀態(tài)常常是健康供應(yīng)者的輸入。維護(hù)狀態(tài)模型,這維護(hù)可由健康供應(yīng)者用于恢復(fù)并且因而簡化錯誤處理的已知狀態(tài)。另外,通過監(jiān)視對象狀態(tài),給用戶提供數(shù)據(jù)保護(hù)系統(tǒng)如何處理任何錯誤條件。數(shù)據(jù)保護(hù)系統(tǒng)還監(jiān)視由數(shù)據(jù)保護(hù)系統(tǒng)的部分生成的事件并且為用戶提供有關(guān)數(shù)據(jù)保護(hù)系統(tǒng)本身的整個狀態(tài)的報告??晒┨鎿Q地,報告可提供關(guān)于數(shù)據(jù)保護(hù)系統(tǒng)內(nèi)不同物理對象的特定信息。例如,如果在產(chǎn)生位置的服務(wù)器不可用,則可生成報告錯誤將問題通知用戶并且提供建議的解決計劃。事件由數(shù)據(jù)保護(hù)系統(tǒng)檢查,并且基于該檢查,生成有關(guān)檢查事件的報告。該報告被分類成三種類別之一信息的,警告的或錯誤的??偟膩碚f,如果報告是錯誤報告,則它標(biāo)識用戶動作是必需的。如果報告是警告報告,則它標(biāo)識沒有直接的用戶動作是必需的,但如果警告沒有自動地或者由用戶解決,則可變成必需的。最后,如果報告是信息報告,則它通知用戶不要求用戶動作,并且提供有關(guān)數(shù)據(jù)保護(hù)系統(tǒng)的信息。如本領(lǐng)域熟練技術(shù)人員將意識到的,除了或者代替信息、警告和錯誤三種形式之外,可以任何形式提供報告。通過檢查由數(shù)據(jù)保護(hù)系統(tǒng)的不同部分生成的事件創(chuàng)建報告。基于那些事件,數(shù)據(jù)保護(hù)系統(tǒng)編譯有關(guān)事件和數(shù)據(jù)保護(hù)系統(tǒng)的該部分狀態(tài)的報告。因而不給用戶提供所有由數(shù)據(jù)保護(hù)系統(tǒng)生成的事件,并且代之以提供已經(jīng)被分類成信息報告、警告報告或錯誤報告中任一報告的報告。所提供的報告在必要時可包括針對由數(shù)據(jù)保護(hù)系統(tǒng)檢測到的問題的建議的解決計劃。無論任務(wù)在最后的作業(yè)上是否失敗,均可生成報告。例如,如下所示,即使最后的副本作業(yè)成功(塊5409),如果用于維護(hù)在存儲位置的副本的盤空間超過預(yù)定的閾值(塊5411),則生成數(shù)據(jù)保護(hù)系統(tǒng)分類為警告的事件并且將警告報告提供給用戶(塊5413)通知用戶它們想要分配更多的盤空間。報告類型(信息,警告,錯誤)可通過分析數(shù)據(jù)保護(hù)系統(tǒng)的特定部分來確定。例如,參考時間版本診斷例程5700(圖57),計算在預(yù)定時間段內(nèi)丟失的時間版本的數(shù)量和總的持續(xù)時間(塊5725)并且基于在那些時間段內(nèi)丟失時間版本的百分比來確定關(guān)于報告分類(警告,錯誤)的確定。另外,在有些實例中,可執(zhí)行一系列測試以確定包括在報告中建議。例如,在副本診斷例程5400中,如果確定副本不是有效的5403并且確認(rèn)作業(yè)失敗5445,則數(shù)據(jù)保護(hù)系統(tǒng)進(jìn)行以通過一系列測試(判定塊5447、5451、5455、5459)來確定什么建議的解決計劃應(yīng)該包括在為用戶生成的錯誤報告中。在恢復(fù)診斷例程5900中例示相似的例子(圖59)。具體地說,如果確定一個作業(yè)失敗5911,則數(shù)據(jù)保護(hù)系統(tǒng)通過一系列測試(判定塊5917、5921、5925、5929)確定什么建議的解決計劃應(yīng)該包括在錯誤報告中。圖53依照本發(fā)明一實施例例示一個流程圖,用于診斷與數(shù)據(jù)的副本相關(guān)聯(lián)的問題和用于如果檢測到問題則生成具有建議修正的報告。如上面提到的,報告可分類成三種狀態(tài)之一錯誤,警告和信息。診斷例程5300開始于塊5301,并且在塊5303例程執(zhí)行副本診斷例程,如參考圖54-56詳細(xì)描述的。除了執(zhí)行副本診斷例程5303之外,診斷例程5300執(zhí)行時間版本診斷例程,如參考圖55-58描述的。最后,診斷例程5300判定是否存在任何已經(jīng)由數(shù)據(jù)保護(hù)系統(tǒng)發(fā)出的其它警告。在判定塊5309,作出關(guān)于是否在副本診斷例程、時間版本診斷例程之中任何一個檢測到任何錯誤,或者是否存在由其它警告提供的任何錯誤的確定。如果在判定塊5309確定已經(jīng)檢測到錯誤,則在判定塊5311生成描述該錯誤的錯誤報告,并且給用戶提供解決所報告錯誤要采取的建議步驟。然而,如果在判定塊5309確定沒有檢測到錯誤,則在判定塊5313作出關(guān)于是否存在從副本診斷例程、時間版本診斷例程之中任何一個生成的任何警告,或者是否存在由其它警告提供的任何警告的確定。如果在判定塊5313確定檢測到警告,則在塊5315生成警告報告,描述對用戶的警告并且給用戶提供解決該警告可執(zhí)行的可能步驟。最后,如果在判定塊5313確定沒有檢測到警告,則在判定塊5317生成信息報告,通知用戶數(shù)據(jù)保護(hù)系統(tǒng)沒有問題并且正在按用戶要求保護(hù)信息。通過塊5303、5305和5307的每個例程以及隨后確定這些例程(判定塊5309、5313)的最嚴(yán)重問題,可將任何可能的問題提供為一個單一的報告。例如,如果標(biāo)識了一個錯誤,則可提供錯誤和建議的解決計劃,并且停止任何警告或信息報告,直到更嚴(yán)重的問題即錯誤解決。圖54依照本發(fā)明一實施例例示描述副本診斷例程細(xì)節(jié)的流程圖,用于診斷與在數(shù)據(jù)保護(hù)系統(tǒng)中復(fù)制數(shù)據(jù)有關(guān)的可能問題。副本診斷例程可用于任何類型的存儲,諸如復(fù)制品存儲、歸檔或復(fù)制品與歸檔兩者。如下面更詳細(xì)地描述的,副本診斷例程5400判定最后的復(fù)制任務(wù)成功還是失敗。如果最后的復(fù)制任務(wù)失敗,則基于復(fù)制模式是后臺還是備份來遵循不同路徑(塊5417)。由于一個一天運(yùn)行一次并且失敗的任務(wù)比每小時運(yùn)行的任務(wù)失敗更重要,因此基于那些失敗生成不同報告。例如,如果模式是后臺的并且任務(wù)失敗,則如果失敗數(shù)還沒有超過預(yù)定的下限,可給用戶提供信息報告。可供替換地,對于后臺模式,可不為調(diào)度經(jīng)常運(yùn)行的任務(wù)生成報告,因為該任務(wù)的后續(xù)執(zhí)行可自動地解決問題。相反,如果復(fù)制模式是備份的并且任務(wù)失敗,則給用戶或者提供警告報告或者錯誤報告。副本診斷例程5400開始于塊5401,并且在判定塊5403作出關(guān)于副本是否有效的判定。如果在判定塊5403確定副本是有效的,則在判定塊5405作出關(guān)于副本作業(yè)目前是否在運(yùn)行的確定。如果在判定塊5405確定副本作業(yè)正在運(yùn)行,則在塊5407數(shù)據(jù)保護(hù)系統(tǒng)生成一個信息報告,標(biāo)識副本的最后狀態(tài),并且給用戶提供一個副本作業(yè)目前在運(yùn)行的指示。然而,如果在判定塊5405判定副本作業(yè)目前沒有在運(yùn)行,則在判定塊5409作出關(guān)于最后的副本作業(yè)是否成功的確定。如果在判定塊5409確定最后的副本作業(yè)成功,則在判定塊5411作出關(guān)于是否從最后的副本作業(yè)生成盤利用率閾值警告的確定。響應(yīng)于數(shù)據(jù)保護(hù)系統(tǒng)生成盤利用率閾值警告,標(biāo)識目前正在存儲副本的存儲位置部分變得可用盤空間較少。例如,只要在復(fù)制品上的盤空間變得較少,或者當(dāng)執(zhí)行歸檔到盤而不是磁帶介質(zhì)時,并且或者在池中的介質(zhì)變得較少或者在空閑池中的介質(zhì)變得較少,可生成盤利用率閾值警告。這個閾值等級是預(yù)定或預(yù)設(shè)的大小值,在達(dá)到該值時生成閾值警告。如果在判定塊5411確定已經(jīng)生成了盤利用率閾值警告,則在塊5413生成一個警告報告,指示在存儲位置的盤利用率已經(jīng)超過預(yù)定的閾值并且提供可分配給副本的附加盤空間。在一個替換的實施例中,除了生成警告報告通知用戶閾值警告之外,數(shù)據(jù)保護(hù)系統(tǒng)也可通過確認(rèn)目前用于副本的盤空間狀態(tài)來檢查以查看警告是否仍是可應(yīng)用的。如果在判定塊5411確定沒有生成盤利用率閾值警告,則在塊5415給用戶提供一個信息報告,指示沒有與數(shù)據(jù)保護(hù)系統(tǒng)的這個部分相關(guān)聯(lián)的問題。再參考判定塊5409,如果確定最后的復(fù)制任務(wù)沒有成功,則在判定塊5417作出關(guān)于保護(hù)模式是否用后臺模式的確定。如在此所述,保護(hù)的后臺方案是數(shù)據(jù)保護(hù)系統(tǒng)的操作模式,其中復(fù)制接近于連續(xù)的。例如,每小時,一天24小時,一周七天??晒┨鎿Q地,復(fù)制的模式可以是備份模式。保護(hù)的備份模式是復(fù)制相對不太頻繁的操作模式。例如,歸檔和/或復(fù)制可每晚發(fā)生。如果在判定塊5417確定復(fù)制模式是后臺的,則在塊5419計算先前失敗的副本作業(yè)數(shù)量。在判定塊5421,作出關(guān)于在塊5419計算的失敗副本作業(yè)數(shù)量已經(jīng)超過預(yù)定的下限的確定。如果在判定塊5421確定先前失敗的副本作業(yè)數(shù)量還沒有超過預(yù)定的下限,則在塊5422生成一個信息報告,通知用戶數(shù)據(jù)保護(hù)系統(tǒng)目前按期望的操作。計算失敗副本作業(yè)數(shù)量并且將它與限制比較以確定是否生成報告,為數(shù)據(jù)保護(hù)系統(tǒng)提供解決問題的機(jī)會而不必通知用戶。例如,如果副本作業(yè)每小時生成并且如果丟失了一個,則如果副本作業(yè)成功完成,數(shù)據(jù)保護(hù)系統(tǒng)可在下一小時解決這個問題。然而,如果在判定塊5421確定先前失敗的副本作業(yè)的數(shù)量已經(jīng)超過預(yù)定的下限,則在判定塊5423作出關(guān)于先前失敗的副本作業(yè)數(shù)量已經(jīng)超過第二上限的確定。如果確定先前失敗的副本作業(yè)數(shù)量還沒有超過預(yù)定的上限,則在塊5424生成警告報告,通知用戶已經(jīng)失敗的副本作業(yè)數(shù)量。警告報告還通知用戶失敗的副本作業(yè)數(shù)量沒有達(dá)到預(yù)定的上限(關(guān)鍵性數(shù)量)并且目前不要求用戶的動作。如果在判定塊5417確定保護(hù)模式?jīng)]有用后臺模式,即它用備份模式,或者在在判定塊5423確定失敗的復(fù)制任務(wù)數(shù)量超過預(yù)定的上限,則副本診斷例程5400獲得最后任務(wù)失敗的原因,如由塊5425例示(圖55)。在本發(fā)明的一個實施例中,副本作業(yè)的失敗原因可從由包含在副本作業(yè)本身內(nèi)的任務(wù)生成的任務(wù)蹤跡獲得。如上所述,任務(wù)蹤跡包括關(guān)于任務(wù)本身的元數(shù)據(jù),任務(wù)在做什么,任務(wù)所完成的,或者任務(wù)為什么失敗。在判定塊5427,作出關(guān)于失敗原因是否是用戶取消先前的副本作業(yè)的確定。如果在判定塊5427確定副本作業(yè)因用戶取消該作業(yè)而失敗,則忽略副本失敗的通知。然而,如果在判定塊5427確定先前失敗的副本是因不同于用戶取消的原因,則在判定塊5431作出關(guān)于先前失敗的副本作業(yè)是否因為數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置的確定。不能聯(lián)系產(chǎn)生位置可由若干不同類型的外部事件如網(wǎng)絡(luò)中斷、電源問題或者產(chǎn)生服務(wù)器目前因維護(hù)或其它操作而關(guān)閉所導(dǎo)致。如果在判定塊5431確定失敗的最后副本作業(yè)是因為數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置,則在塊5433生成報告,向用戶標(biāo)識先前的副本作業(yè)沒有成功完成并且給用戶提供建議,讓他們檢查網(wǎng)絡(luò)和/或產(chǎn)生位置力圖確定數(shù)據(jù)保護(hù)系統(tǒng)為什么不能聯(lián)系產(chǎn)生位置。如果在判定塊5431確定先前的失敗不是因為數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置而發(fā)生的,則在判定塊5435作出關(guān)于先前的失敗是否因為數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系執(zhí)行副本的代理的確定。如果確定失敗因不能聯(lián)系進(jìn)行執(zhí)行的代理而發(fā)生,則生成警告報告通知用戶錯誤并且給用戶提供建議,檢查代理安裝和/或如果必要重新安裝代理,如由塊5437例示。然而,如果確定先前的失敗不是因為用戶取消(塊5427)、不能聯(lián)系產(chǎn)生位置(塊5431)或者不能聯(lián)系代理(塊5435),則問題是未知的并且生成錯誤報告,通知用戶數(shù)據(jù)保護(hù)系統(tǒng)不能確定失敗的原因并且給用戶提供建議,檢查網(wǎng)絡(luò)連接和副本涉及的代理?;貋韰⒖紙D54,如果在判定塊5403確定使用副本診斷例程5400執(zhí)行診斷的副本不是有效的,則在判定塊5437(圖56)作出關(guān)于正在診斷的副本是否是無效的(即,處在圖37的無效狀態(tài))確定。如果在判定塊5437確定正在診斷的副本是無效的,則在塊5439副本診斷例程通知用戶數(shù)據(jù)源的副本未初始化。在一個替換實施例中,在塊5439可給用戶提供報告,標(biāo)識正在診斷的用于特定數(shù)據(jù)源的副本未被初始化并且詢問用戶是否想要生成初始化作業(yè)。如果在判定塊5437確定副本是無效的,則在判定塊5441作出關(guān)于確認(rèn)作業(yè)目前是否在正在診斷的副本上運(yùn)行的確定。如果在判定塊5441確定確認(rèn)作業(yè)目前正在為正在診斷的特定副本運(yùn)行,則在塊5443生成警告報告,通知用戶正在診斷的副本目前正在由確認(rèn)作業(yè)確認(rèn)并且目前不需要動作。如果在判定塊5441確定確認(rèn)作業(yè)不在運(yùn)行,則在判定塊5445副本診斷例程5400判定先前的確認(rèn)作業(yè)是否運(yùn)行并且失敗。如果在判定塊5445確定確認(rèn)作業(yè)運(yùn)行并且失敗,則在判定塊5447作出關(guān)于失敗是否是由用戶取消確認(rèn)作業(yè)的結(jié)果的判定。如果在判定塊5445確定先前運(yùn)行的確認(rèn)作業(yè)沒有失敗,或者先前運(yùn)行的確認(rèn)作業(yè)失敗并且失敗是用戶取消的結(jié)果,則在塊5449生成錯誤報告通知用戶失敗并且建議用戶運(yùn)行確認(rèn)作業(yè)。可供替換地,確認(rèn)作業(yè)可自動運(yùn)行。然而,如果在判定塊5447確定失敗的先前運(yùn)行的確認(rèn)作業(yè)是由于不是因用戶取消的原因而失敗的,則在塊5449從與先前確認(rèn)作業(yè)相關(guān)聯(lián)的任務(wù)蹤跡獲得該失敗的原因。使用在塊5449獲得的該失敗的原因,副本診斷例程5400在判定塊5451判定失敗的先前運(yùn)行確認(rèn)作業(yè)是因為可用于副本的存儲位置總量滿了。如果在判定塊5451確定在存儲位置用于副本的空間滿了,則在塊5453報告錯誤通知用戶存儲位置滿并且給用戶提供建議,為副本的存儲分配更多的盤空間。分配更多的盤空間可包括為復(fù)制品添加額外的盤空間。如果在判定塊5451確定失敗不是空間不足的結(jié)果,則在塊5455作出關(guān)于失敗是否是數(shù)據(jù)保護(hù)系統(tǒng)根本不能到達(dá)存儲位置的結(jié)果的判定。如果在判定塊5455確定數(shù)據(jù)保護(hù)系統(tǒng)不能到達(dá)存儲位置以便確認(rèn)副本,則生成錯誤報告。錯誤報告通知用戶存儲位置是不可訪問的,并且建議用戶檢查數(shù)據(jù)保護(hù)系統(tǒng)與存儲位置之間的通信、與目標(biāo)卷的通信、以及存儲位置本身的完整性。如果在判定塊5455確定失敗不是存儲位置不可訪問的結(jié)果,則在判定塊5459作出關(guān)于在產(chǎn)生位置是否存在改變?nèi)罩疽绯龅呐卸?。日志溢出可因在產(chǎn)生位置的改變?nèi)罩局信抨犃颂嗟母淖兒?或在存儲位置的溢出日志變滿所致。如果生成改變?nèi)罩竞痛_認(rèn)記錄比將它們發(fā)送到存儲位置或在存儲位置處理的速度快,則這可能發(fā)生。如果在判定塊5459確定失敗是日志溢出的結(jié)果,則生成錯誤報告通知用戶日志溢出并且指示日志已經(jīng)溢出并且建議適當(dāng)?shù)刂匦抡{(diào)整日志的大小,如由塊5461所示。最后,如果副本診斷例程5400在判定塊5459確定失敗不是日志溢出的結(jié)果,則在塊5463生成錯誤報告通知用戶失敗并且建議用戶對產(chǎn)生服務(wù)器、數(shù)據(jù)保護(hù)器和存儲服務(wù)器檢查可能的通信問題或其它可能問題,并且如果失敗繼續(xù),則重新初始化數(shù)據(jù)保護(hù)系統(tǒng)。診斷保護(hù)問題的另一個實例是時間版本的診斷。在圖53中(塊5305)描述的整個診斷例程提到該時間版本診斷例程并將參考圖57作更詳細(xì)地描述。圖57依照本發(fā)明一實施例例示描述時間版本診斷例程的流程圖,用于診斷與由數(shù)據(jù)保護(hù)系統(tǒng)生成的時間版本有關(guān)的可能問題。時間版本診斷例程5700開始于5701,并且在判定塊5703作出關(guān)于創(chuàng)建時間版本的副本是否處在有效狀態(tài)中的判定。如果在判定塊5703確定生成時間版本的副本處在有效狀態(tài),則在判定塊5705作出關(guān)于該副本的最后時間版本是否成功的確定。如果在判定塊5705確定副本的最后時間版本沒有成功,則在判定塊5707從與時間版本作業(yè)的任務(wù)相關(guān)聯(lián)的任務(wù)蹤跡獲得時間版本作業(yè)的失敗原因。在判定塊5709生成錯誤報告,提供說明并且建議用戶要再次取一個時間版本。在一個替換的實施例中,除了生成一個報告提供說明,數(shù)據(jù)保護(hù)系統(tǒng)可自動調(diào)度一個時間版本作業(yè)用于取隨后的時間版本?;貋韰⒖寂卸▔K5703,如果確定要取的時間版本的副本不處在有效狀態(tài),則時間版本診斷例程5700如上所述參考圖56例示的塊繼續(xù)。如果在判定塊5705確定有效副本的最后時間版本作業(yè)成功,則在判定塊5711作出一個時間版本是否是實際要取的時間版本的判定。如果在判定塊5711確定時間版本不是實際要取的,則在判定塊5713作出關(guān)于是否存在副本作業(yè)失敗的判定。如果在判定塊5713確定存在副本作業(yè)失敗,則時間版本診斷例程5700如上所述參考圖55例示和描述的塊繼續(xù)。然而,如果在判定塊5711確定沒有時間版本要取,則在判定塊5713確定沒有副本作業(yè)失敗,這向數(shù)據(jù)保護(hù)系統(tǒng)標(biāo)識沒有關(guān)于副本的行為并且因此不需要時間版本。另外,因為副本和/或時間版本沒有問題,所以在塊5715生成信息報告,通知用戶沒有關(guān)于副本的行為并且因此沒有時間版本要取。回來參考判定塊5711,如果確定執(zhí)行了時間版本作業(yè)并且取得時間版本,則作出關(guān)于如果恢復(fù)是必需的則最舊的預(yù)期的時間版本是否可用的判定,如由判定塊5721例示(圖58)。判定最舊的預(yù)期的時間版本是否可用,這確認(rèn)了持續(xù)時間意圖是否滿足。例如,如果持續(xù)時間是要能夠恢復(fù)至少一年以上的信息,并且最舊的預(yù)期的時間版本(一年之久)可用,確認(rèn)該持續(xù)時間意圖滿足。如果在判定塊5721確定最舊的預(yù)期的時間版本不能用于恢復(fù),則生成錯誤報告通知用戶最舊的預(yù)期的時間版本不可用并且它的最可能原因是因為缺少盤空間。錯誤報告還給用戶提供建議,為時間版本分配更多的盤空間,如由塊5723例示。如果在判定塊5721確定最舊的預(yù)期的時間版本可用,則在塊5725時間版本診斷例程5700計算在預(yù)定的時間段內(nèi)丟失副本的數(shù)量,并且計算在總的保持時間內(nèi)丟失副本的總數(shù)。計算丟失時間版本的預(yù)定時間段可以是比總保持時間少的任何預(yù)定的時間長度,諸如一周、兩周、一個月等。總保持時間是由用戶在設(shè)置保護(hù)意圖中在標(biāo)識用戶想要能夠恢復(fù)保護(hù)對象的總時間長度時標(biāo)識的。計算丟失副本的數(shù)量確認(rèn)頻率意圖是否滿足。在判定塊5727作出關(guān)于是否超過在塊5725計算丟失副本的預(yù)定時間段內(nèi)時間版本丟失超過0%的判定。如果在判定塊5727確定沒有時間版本丟失,則在判定塊5729作出關(guān)于在總保持時間內(nèi)是否不超過50%的時間版本丟失的判定。如果在判定塊5729確定在總時間段內(nèi)丟失時間版本的數(shù)量小于50%,則生成信息報告通知用戶目前不存在與數(shù)據(jù)保護(hù)系統(tǒng)的時間版本部分有關(guān)的問題,如由塊5731例示。如上討論,通過不立即報告問題,數(shù)據(jù)保護(hù)系統(tǒng)有解決任何問題的機(jī)會而不需要用戶卷入。例如,如果確定在總時間段內(nèi)丟失副本的數(shù)量是10%但未來的副本作業(yè)成功完成,則這個百分比將隨著時間過去減少,不必向用戶警告。然而,如果在塊5729確定在總時間段內(nèi)超過50%的時間版本丟失,則生成警告報告,標(biāo)識目前丟失的時間版本的百分比并且建議除了繼續(xù)監(jiān)視丟失時間版本的百分比之外不需要其它動作,如由塊5733例示。如果在判定塊5727確定在預(yù)定的時間段內(nèi)有些時間版本丟失,則在判定塊5735作出關(guān)于在該預(yù)定時間段內(nèi)的時間版本丟失數(shù)是否在0%與20%之間的判定。如果在判定塊5735確定在預(yù)定時間段內(nèi)的丟失副本數(shù)在0%和20%之前,則在判定塊5737作出關(guān)于在總保持時間段內(nèi)丟失時間版本數(shù)是否小于50%的確定。如果在判定塊5737確定總保持時間段的丟失時間版本數(shù)小于50%,則在塊5739生成一警告報告,提供時間版本丟失百分比并且建議除了監(jiān)視丟失時間版本百分比之外不要求其它動作。然而,如果在塊5737確定在總保持時間段內(nèi)丟失時間版本的百分比大于50%,則在塊5741生成錯誤報告,通知用戶丟失的時間版本的百分比。另外,在塊5741生成的錯誤報告通知用戶,沒有按預(yù)期執(zhí)行保護(hù),并且建議用戶檢查所標(biāo)識的保護(hù)參數(shù)并且為產(chǎn)生位置和存儲位置的盤設(shè)置進(jìn)行檢查?;貋韰⒖寂卸▔K5735,如果確定在預(yù)定時間段內(nèi)時間版本丟失的百分比不在0%與20%之間,則在判定塊5743作出關(guān)于在總保持時間段內(nèi)丟失時間版本數(shù)量是否小于50%的確定。如果在判定塊5743確定在整個保持時間段內(nèi)丟失時間版本的總數(shù)小于50%,則在塊5745生成錯誤報告,通知用戶沒有按預(yù)期執(zhí)行保護(hù),為用戶提供在總保持時間段內(nèi)丟失時間版本的總百分比并且建議用戶檢查副本本身的完整性并且檢查保護(hù)時間表。最后,如果在判定塊5743確定在總保持時間段內(nèi)丟失時間版本的數(shù)量大于50%,則生成錯誤報告,通知用戶保護(hù)一貫很差并且建議用戶檢查保護(hù)和在產(chǎn)生位置和存儲位置兩者進(jìn)行盤設(shè)置檢查,如由塊5747例示。盡管在上述時間版本診斷例程5700的討論中使用了特定的百分比,但相關(guān)領(lǐng)域熟練技術(shù)人員將意識到,本發(fā)明實施例可使用任何預(yù)定的百分比并且在此提供的百分比只是為了說明目的。圖59是依照本發(fā)明一實施例描述恢復(fù)診斷例程的流程圖,用于診斷與在數(shù)據(jù)保護(hù)系統(tǒng)中恢復(fù)信息有關(guān)的可能問題?;謴?fù)診斷例程5900開始于塊5901,并且在判定塊5903作出關(guān)于恢復(fù)作業(yè)目前是否正在運(yùn)行的判定。如果在判定塊5903確定恢復(fù)作業(yè)目前正在運(yùn)行,則在判定塊5905恢復(fù)診斷例程5900判定是否已經(jīng)從與運(yùn)行的恢復(fù)作業(yè)相關(guān)聯(lián)的任務(wù)生成了任何警告。如果在確定塊5905判定沒有與運(yùn)行的恢復(fù)作業(yè)相關(guān)聯(lián)的任務(wù)生成的警告,則生成信息報告通知用戶數(shù)據(jù)保護(hù)系統(tǒng)沒有與恢復(fù)有關(guān)的問題存在。如果在判定塊5905確定從與目前運(yùn)行的作業(yè)相關(guān)聯(lián)的任務(wù)生成了警告,則在塊5909生成警告報告,通知用戶目前運(yùn)行的恢復(fù)作業(yè)已經(jīng)生成了一或多個警告并且通知用戶那些警告和提供解決那些警告的建議方法,如果需要任何解決計劃的話。例如,目前運(yùn)行的作業(yè)可生成一個警告,指示不能恢復(fù)一個文件因為它目前被打開了。如果在判定塊5903確定沒有恢復(fù)作業(yè)目前正在運(yùn)行,則在判定塊5911作出關(guān)于最近的恢復(fù)作業(yè)(例如,在最近的七十二個小時內(nèi)執(zhí)行的恢復(fù)作業(yè))未能完成的判定。如果在判定塊5911確定沒有最近的恢復(fù)作業(yè)未能完成,即全部成功完成或者沒有執(zhí)行恢復(fù)作業(yè),則在塊5913生成一個報告,通知用戶沒有與數(shù)據(jù)保護(hù)系統(tǒng)的恢復(fù)部分相關(guān)聯(lián)的問題。如果在判定塊5911確定最近運(yùn)行的恢復(fù)作業(yè)失敗,則在塊5915從與該作業(yè)相關(guān)聯(lián)的任務(wù)蹤跡獲得該作業(yè)失敗的原因。如上所述,用于與一個特定作業(yè)相關(guān)聯(lián)的任務(wù)的任務(wù)蹤跡包含關(guān)于任務(wù)本身的信息,如果任務(wù)失敗則包括任務(wù)為什么失敗。在判定塊5917,使用在塊5915獲得的失敗原因,作出關(guān)于恢復(fù)作業(yè)的失敗是否是數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系要恢復(fù)數(shù)據(jù)的產(chǎn)生位置的結(jié)果的判定。如果在判定塊5917角定恢復(fù)作業(yè)失敗的原因是數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置,則在塊5919生成錯誤報告,通知用戶最后的恢復(fù)作業(yè)失敗的原因并且建議用戶檢查在產(chǎn)生位置的網(wǎng)絡(luò)連接和檢查在產(chǎn)生位置上的代理以保證代理正確地操作。如上面參考副本診斷例程(圖54-56)所述,不能聯(lián)系一個位置如產(chǎn)生位置,可以是若干外部事件如網(wǎng)絡(luò)中斷、電源問題或產(chǎn)生位置因維護(hù)或其它操作而離線的結(jié)果。如果在判定塊5917確定恢復(fù)作業(yè)失敗的原因不是數(shù)據(jù)保護(hù)系統(tǒng)不能聯(lián)系產(chǎn)生位置的結(jié)果,則在判定塊5921判定恢復(fù)作業(yè)失敗的原因是否是在產(chǎn)生位置上的目標(biāo)不可用。在產(chǎn)生位置上的目標(biāo)可以是要記錄被恢復(fù)數(shù)據(jù)的產(chǎn)生位置的物理位置。如果在判定塊5921確定目標(biāo)不可用,則生成錯誤報告,如在塊5923例示,通知用戶恢復(fù)作業(yè)失敗的原因并且建議用戶對產(chǎn)生服務(wù)器上的物理位置檢查可能的問題。如果在判定塊5921確定恢復(fù)作業(yè)失敗不是在產(chǎn)生位置上的目標(biāo)不可用的結(jié)果,則在判定塊5925判定恢復(fù)作業(yè)失敗的原因是否是恢復(fù)作業(yè)的任務(wù)不能從存儲位置讀。如果確定恢復(fù)作業(yè)的任務(wù)不能從存儲位置讀,則在塊5927生成錯誤報告,通知用戶恢復(fù)作業(yè)失敗的原因并且提供一個建議,讓用戶檢查在存儲位置處的盤和/或介質(zhì)。如果在判定塊5925確定恢復(fù)作業(yè)失敗的原因不是任務(wù)不能從存儲位置讀的結(jié)果,則在判定塊5929作出關(guān)于在要恢復(fù)被恢復(fù)數(shù)據(jù)的產(chǎn)生位置目前是否滿的判定。如果在判定塊5929確定盤滿了,則在塊5931生成錯誤報告,通知用戶在恢復(fù)位置的盤沒有足夠的空間用于恢復(fù)所請求的數(shù)據(jù)并且建議用戶將數(shù)據(jù)恢復(fù)到另一個位置或者增加產(chǎn)生位置處的盤空間。最后,如果在判定塊5929確定恢復(fù)作業(yè)失敗不是在產(chǎn)生位置處的盤滿了的結(jié)果,則生成一個報告通知用戶,在先前的恢復(fù)作業(yè)中已經(jīng)發(fā)生了一個未知的錯誤,并且建議用戶重新運(yùn)行恢復(fù)作業(yè)。盡管已經(jīng)例示和描述了本發(fā)明的較佳實施例,但應(yīng)意識到,可以在不脫離本發(fā)明的精神和范圍的情況下在這些實施例中作出各種改變。權(quán)利要求1.一種創(chuàng)建用于歸檔數(shù)據(jù)備份的歸檔保護(hù)計劃的方法,包括接收歸檔數(shù)據(jù)保護(hù)種類的指示;接收歸檔數(shù)據(jù)保護(hù)持續(xù)時間的指示;響應(yīng)于接收所述歸檔數(shù)據(jù)保護(hù)種類和所述歸檔數(shù)據(jù)保護(hù)持續(xù)時間,確定一歸檔方案;以及生成表示所述歸檔方案的歸檔保護(hù)計劃。2.如權(quán)利要求1所述的方法,其特征在于,還包括接收所述歸檔保護(hù)計劃的調(diào)度意向。3.如權(quán)利要求1所述的方法,其特征在于,還包括提供所述歸檔方案;接收對所述歸檔方案的覆蓋;修改所述歸檔方案;以及其中,生成的歸檔保護(hù)計劃表示經(jīng)修改的歸檔方案。4.如權(quán)利要求1所述的方法,其特征在于,所述歸檔保護(hù)計劃包括資源計劃、準(zhǔn)備計劃和保護(hù)計劃。5.如權(quán)利要求1所述的方法,其特征在于,所標(biāo)識的歸檔數(shù)據(jù)保護(hù)種類是現(xiàn)場數(shù)據(jù)保護(hù)。6.如權(quán)利要求1所述的方法,其特征在于,所標(biāo)識的歸檔數(shù)據(jù)保護(hù)種類是非現(xiàn)場數(shù)據(jù)保護(hù)。7.如權(quán)利要求1所述的方法,其特征在于,所標(biāo)識的歸檔數(shù)據(jù)保護(hù)種類是現(xiàn)場數(shù)據(jù)保護(hù)和非現(xiàn)場數(shù)據(jù)保護(hù)。8.如權(quán)利要求1所述的方法,其特征在于,所標(biāo)識的歸檔數(shù)據(jù)保護(hù)持續(xù)時間是以年為單位的。9.如權(quán)利要求8所述的方法,其特征在于,所確定的歸檔方案包括數(shù)據(jù)的每年完全備份;數(shù)據(jù)的每月完全備份;數(shù)據(jù)的每周完全備份;以及數(shù)據(jù)的每日部分備份。10.如權(quán)利要求9所述的方法,其特征在于,所述每年完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段。11.如權(quán)利要求9所述的方法,其特征在于,所述每月完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段。12.如權(quán)利要求9所述的方法,其特征在于,所述每周完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段。13.如權(quán)利要求9所述的方法,其特征在于,所述每日部分備份被現(xiàn)場維護(hù)一預(yù)定的時間段。14.如權(quán)利要求9所述的方法,其特征在于,所述每年完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段;其中,所述每月完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段;其中,所述每周完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段;以及其中,所述每日部分備份被現(xiàn)場維護(hù)一預(yù)定的時間段。15.如權(quán)利要求9所述的方法,其特征在于,所述數(shù)據(jù)的每年備份、所述數(shù)據(jù)的每月備份、所述數(shù)據(jù)的每周備份和所述數(shù)據(jù)的每日備份都存儲在同一介質(zhì)項的至少一部分上。16.如權(quán)利要求1所述的方法,其特征在于,所標(biāo)識的歸檔數(shù)據(jù)保護(hù)持續(xù)時間是以月為單位的。17.如權(quán)利要求16所述的方法,其特征在于,所確定的歸檔方案包括數(shù)據(jù)的每月備份;數(shù)據(jù)的每周備份;以及數(shù)據(jù)的每日備份。18.如權(quán)利要求17所述的方法,其特征在于,所述每月備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段。19.如權(quán)利要求17所述的方法,其特征在于,所述每周備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段。20.如權(quán)利要求17所述的方法,其特征在于,所述每日備份被現(xiàn)場維護(hù)一預(yù)定的時間段;以及其中,所述每日備份是部分備份。21.如權(quán)利要求17所述的方法,其特征在于,所述每月備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段;其中,所述每周備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段;以及其中,所述每日備份被現(xiàn)場維護(hù)一預(yù)定的時間段。22.如權(quán)利要求1所述的方法,其特征在于,所標(biāo)識的歸檔數(shù)據(jù)保護(hù)持續(xù)時間是以周為單位的。23.如權(quán)利要求22所述的方法,其特征在于,所確定的歸檔方案包括數(shù)據(jù)的每周完全備份;以及數(shù)據(jù)的每日部分備份。24.如權(quán)利要求23所述的方法,其特征在于,所述每周完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段。25.如權(quán)利要求23所述的方法,其特征在于,所述每日部分備份被現(xiàn)場維護(hù)一預(yù)定的時間段。26.如權(quán)利要求23所述的方法,其特征在于,所述每周完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段;以及其中,所述每日部分備份被現(xiàn)場維護(hù)一預(yù)定的時間段。27.如權(quán)利要求1所述的方法,其特征在于,所標(biāo)識的歸檔數(shù)據(jù)保護(hù)持續(xù)時間是以日為單位的。28.如權(quán)利要求27所述的方法,其特征在于,所確定的歸檔方案包括數(shù)據(jù)的每日完全備份。29.如權(quán)利要求28所述的方法,其特征在于,所述每日完全備份被現(xiàn)場維護(hù)一預(yù)定的時間段,隨后被非現(xiàn)場維護(hù)一預(yù)定的時間段。30.如權(quán)利要求1所述的方法,其特征在于,所述歸檔保護(hù)計劃包括,生成一完全備份和一部分備份。31.如權(quán)利要求1所述的方法,其特征在于,所述歸檔保護(hù)計劃包括,生成一完全備份和一部分備份。32.如權(quán)利要求1所述的方法,其特征在于,還包括接收數(shù)據(jù)保護(hù)格式的指示。33.如權(quán)利要求32所述的方法,其特征在于,所述數(shù)據(jù)保護(hù)格式是增量的。34.如權(quán)利要求32所述的方法,其特征在于,所述數(shù)據(jù)保護(hù)格式是差異的。35.如權(quán)利要求32所述的方法,其特征在于,所述數(shù)據(jù)保護(hù)格式是完全的。36.一種用于管理多個介質(zhì)的機(jī)制,所述介質(zhì)用于響應(yīng)于接收存儲數(shù)據(jù)的請求而在一歸檔位置存儲數(shù)據(jù),所述機(jī)制包括一作業(yè)配置意圖,其中,對于關(guān)聯(lián)于用于存儲數(shù)據(jù)的作業(yè)的每一請求,所述作業(yè)配置意圖從多個介質(zhì)中分配同一介質(zhì)項;以及一子配置意圖,其中,對于一預(yù)定時間段的第一子作業(yè),所述子配置意圖從多個介質(zhì)中分配一新介質(zhì)項,而對于所述預(yù)定時間段期間內(nèi)隨后的子作業(yè),所述子配置意圖從多個介質(zhì)中分配所述新介質(zhì)項。37.如權(quán)利要求36所述的機(jī)制,其特征在于,所述作業(yè)配置意圖判定存儲數(shù)據(jù)的請求是否是替代請求,替代失敗的存儲介質(zhì)請求;以及響應(yīng)于判定所述請求為替代請求,分配已分配給所述失敗請求的同一介質(zhì)項。38.如權(quán)利要求36所述的機(jī)制,其特征在于,所述作業(yè)配置意圖判定存儲數(shù)據(jù)的請求是否是多個請求中的第一請求;以及響應(yīng)于判定所述請求不是第一請求,分配已分配給前一請求的同一介質(zhì)項。39.如權(quán)利要求36所述的機(jī)制,其特征在于,所述子配置意圖判定存儲數(shù)據(jù)的請求是否是存儲子數(shù)據(jù)集的數(shù)據(jù)的請求;以及響應(yīng)于判定所述存儲數(shù)據(jù)請求是存儲子數(shù)據(jù)集的數(shù)據(jù)的請求,分配已由最后的子數(shù)據(jù)集使用的同一介質(zhì)項。40.如權(quán)利要求36所述的機(jī)制,其特征在于,還包括一父子配置意圖,其中,對于子作業(yè),所述父子配置意圖分配包含父數(shù)據(jù)集的介質(zhì)項。41.如權(quán)利要求40所述的機(jī)制,其特征在于,所述機(jī)制被配置成存儲多個父數(shù)據(jù)集,且其中,所述多個父數(shù)據(jù)集的第一父數(shù)據(jù)集存儲在第一介質(zhì)項的至少一部分上,且所述多個父數(shù)據(jù)集的第二父數(shù)據(jù)集存儲在第二介質(zhì)項的至少一部分上。42.如權(quán)利要求40所述的機(jī)制,其特征在于,所述第一介質(zhì)項包含多個父數(shù)據(jù)集;以及其中,所述多個父數(shù)據(jù)集是相關(guān)的。43.如權(quán)利要求36所述的機(jī)制,其特征在于,還包括一數(shù)據(jù)集再循環(huán)意圖,它被配置成再循環(huán)可用介質(zhì)。44.如權(quán)利要求43所述的機(jī)制,其特征在于,所述數(shù)據(jù)集再循環(huán)意圖判定來自與所述存儲數(shù)據(jù)請求同一世代的介質(zhì)是否可用;以及響應(yīng)于判定來自同一世代的介質(zhì)可用,分配來自同一代的最老的可用介質(zhì)。45.如權(quán)利要求43所述的機(jī)制,其特征在于,所述數(shù)據(jù)集再循環(huán)意圖判定來自所述多個介質(zhì)的一部分的介質(zhì)是否可用;以及響應(yīng)于判定來自所述多個介質(zhì)的所述部分的介質(zhì)可用,分配所述可用的介質(zhì)。全文摘要提供了用于為存檔數(shù)據(jù)備份而創(chuàng)建歸檔保護(hù)計劃的方法。接收歸檔數(shù)據(jù)保護(hù)種類和歸檔數(shù)據(jù)保護(hù)持續(xù)時間的指示。響應(yīng)于接收歸檔數(shù)據(jù)保護(hù)種類和歸檔數(shù)據(jù)保護(hù)持續(xù)時間,確定歸檔方案,且生成表示該歸檔方案的歸檔保護(hù)計劃。文檔編號G06F17/30GK1746856SQ20051009194公開日2006年3月15日申請日期2005年8月9日優(yōu)先權(quán)日2004年9月9日發(fā)明者A·阿里,B·T·伯科威茨,C·V·英根,K·S·阿南德,S·帕伊,S·P·杜迪,S·比德,V·森,V·巴達(dá)米申請人:微軟公司