TWI403890B - 用於在一資料保護系統上建立一用來產生強固且易於管理之資料保護應用程式之結構模組的方法、系統以及設備 - Google Patents

用於在一資料保護系統上建立一用來產生強固且易於管理之資料保護應用程式之結構模組的方法、系統以及設備 Download PDF

Info

Publication number
TWI403890B
TWI403890B TW094126619A TW94126619A TWI403890B TW I403890 B TWI403890 B TW I403890B TW 094126619 A TW094126619 A TW 094126619A TW 94126619 A TW94126619 A TW 94126619A TW I403890 B TWI403890 B TW I403890B
Authority
TW
Taiwan
Prior art keywords
work
job
data
protected
data protection
Prior art date
Application number
TW094126619A
Other languages
English (en)
Other versions
TW200609826A (en
Inventor
Brian T Berkowitz
Ingen Catharine Van
Giedrius Zizys
Vinay Badami
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200609826A publication Critical patent/TW200609826A/zh
Application granted granted Critical
Publication of TWI403890B publication Critical patent/TWI403890B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

用於在一資料保護系統上建立一用來產生強固且易於管理之資料保護應用程式之結構模組的方法、系統以及設備
本發明一般係有關於資料保護與資料保護系統,尤其有關用於控制資料之保護與復原的系統、方法、及設備。
一般而言,大型電腦系統通常含有若干計算裝置及大量資料。在此類系統中,常常新增及移除計算裝置。同樣地,常常透過新增共用、交換儲存群組(Exchange storage groups)、資料庫、磁碟區以及其他對儲存於計算裝置中之資料的變更,來變更既有的計算裝置。對於利用此類電腦系統的組織,一般需要保護儲存於系統中的資料,通常係藉由建立資料的備份。
然而,負責保護系統的個人通常不會收到系統有所新增及/或變更的通知,因此,並不知道有需要保護的新資源。例如,如果將像伺服器的新計算裝置新增至系統中,而負責保護系統的個人未收到此新增的通知,則新計算裝置上的資料與新的計算裝置將維持未受保護。
允許個人在邏輯層而非實體層的系統內操作的系統將加重此問題。當個人在邏輯層操作時,通常在實體層決定保護。在此類環境中,問題發生於當邏輯層操作需要變更備份程序時。例如,如果邏輯路徑\\history\public\tools指向伺服器記錄1上的共用,並決定移動\\history\public\tools以指向伺服器記錄2上不同的共用,如果未將此變更通知負責保護的個人,則舊共用將繼續受到保護,而新共用維持未受保護。
在單一邏輯路徑代表一組實體替代選項時將進一步加重此問題,該等實體替代選項含有根本資料的同步化複製。例如,\\history\docs可指向記錄1與記錄2二者上相同的共用;相同的根本資料夾中只有一項應受系統保護。
通常因負責保護的個人必須手動識別資源與要保護的資料且必須手動設定保護而無法保護大型系統上的資料。隨著系統變更,除非這些個人知道發生變更,否則資料與資源將持續未受保護。此外,為了歸檔資料備份於實體媒體,個人必須手動決定要使用哪個媒體進行保護及何時/如何輪換媒體。對於大型系統,手動識別變更、設定保護、及維護歸檔很複雜且變更很困難。此種保護的手動識別、設定、及修改通常造成需要保護之資料與資源的遺漏並造成保護本身的問題。
在問題真的發生時,在保護系統本身未提供任何資訊的情況下,個人通常必須能夠巨細靡遺地決定問題所在,並具有如何解決問題的知識。
因此,亟需要一種系統、方法、及設備以進行以下項目:自動保護電腦系統、識別系統發生變更時、在發生保護問題時指導使用者、及允許個人藉由在邏輯命名空間中運作來建立保護。
本發明提供一種資料保護應用程式。資料保護應用程式包括提供資料保護的作業。該作業含有複數個設定可執行此作業的工作。其中還包括用於管理該複數個工作中每一個之進度的工作執行程式。
根據本發明的一態樣,其提供一種在資料保護系統中提供資料保護重新啟動的方法。該方法包括:接收作業之失效工作的工作失效通知、識別作業中完成的工作、及識別作業中未完成的工作。基於識別的未完成工作,建立包括識別之未完成工作的彌補作業。然後執行彌補作業以重新啟動資料保護。
根據本發明的另一態樣,其提供一種具有保護資訊之電腦可執行組件的電腦可讀取媒體。其中包括資料保護程式,其經實施可建立用來執行保護可保護物件的作業。其中還包括健康管理程式,其經設定可建立取代失效工作的彌補作業,其中決定該失效工作至關重要。
根據本發明更另一態樣,其提供一種用於維護資料保護系統之強固的機制,其在資料保護系統中具有:含有資料的生產位置、儲存位置、及通信網路,其中儲存位置經由通信網路取得資料並建立生產位置所含資料的副本。其中還包括:資料保護程式,其在資料保護系統內實施以維護資料保護系統強固;及工作執行程式,其經設定可監控資料保護系統正在執行作業的部分,並回應作業失效而執行復原。
第1A圖係根據本發明的一項具體實施例,而描述管理資料之保護與復原之資料保護系統的方塊圖。此處說明之資料保護系統100的具體實施例提供使用者(如系統管理員)容易管理資料之保護與復原的能力。普遍來說,於生產位置103主動生產及修改的資料需要資料管理與保護。該資料於儲存位置105受到保護並經儲存為資料的副本或複製。儲存位置可以是生產位置的遠端位置及/或如生產位置的相同位置。此外,儲存位置可包括多個用於不同儲存形式的位置。例如,可在一個位置維護資料副本,然後在第二位置維護該資料的歸檔。因此,儲存位置一般說明任何組合及/或類型之用於儲存及保護資料的位置。
如此處將說明的,資料保護系統100包括資料保護程式101,其和生產位置103與儲存位置105進行通信以監控生產位置103與儲存位置105間之資料的保護與流程。資料保護程式101,如第1A圖所示,可存在於單一的計算裝置(如伺服器)上或分散於多個計算裝置之上。資料保護程式101部署位在資料保護系統100內不同計算裝置(如生產位置103及/或儲存位置105)上的代理程式並和其進行通信,以在多個裝置間分散控制及管理資料保護。資料保護系統100所提供之資料保護類型的範例包括但不限於:時間版本的複製、如磁帶或磁碟之可抽取式媒體的傳統歸檔、及複製與歸檔二者的組合。吾人應明白,可配合本發明的具體實施例利用任何其他形式及/或組合的保護,且應瞭解到,複製、時間版本、及歸檔僅為範例。
第1B圖顯示資料保護系統100的例示性具體實施例。尤其,資料保護程式110可部分或整個地常駐於生產 位置111。在此種具體實施例中,資料保護程式110在其本身與生產位置111間及在其本身與儲存位置113間提供通信。
第1C圖根據本發明的一項具體實施例,顯示用於保護及復原資料之資料保護系統100的又另一項具體實施例。如第1C圖所示,資料保護程式120可部分或整個地常駐於儲存位置123。在此種具體實施例中,資料保護程式120在其本身與儲存位置123間及在其本身與生產位置121間提供通信。
第2圖係根據本發明的一項具體實施例,說明保護及復原資料之資料保護系統200的另一個方塊圖。資料保護系統200顯示多個生產位置,如生產位置1 203、生產位置2 205、至生產位置N 207,可和資料保護程式201進行互動以儲存源自於生產位置之資料的副本及/或時間版本。資料保護程式201和生產位置203、205、207進行通信,並在個別的儲存位置上,如儲存位置A 209、儲存位置B 211、及儲存位置X 213,提供常駐於這些生產位置上之資料的保護。可配合此處說明的具體實施例利用任何數量及組合的資料生產位置及儲存位置。
如所明白的,並如第1A-2圖所示,根據本發明的各項具體實施例,其為描述保護及復原資料,且可利用任何設定類型的資料保護系統。
總之,此處說明之資料保護系統的具體實施例提供資料保護系統的使用者以下能力:在高階指定生產位置的何 項資料重要及使用者要如何保護該資料。尤其,此處說明的系統提供使用者以下能力:在邏輯上識別其要保護特定生產位置上的何項資料及其要如何保護。資料保護系統將該邏輯識別轉換成經排程及執行要保護資料的一系列「作業」。如以下所述,作業包括保護使用者識別之資料所需的詳細資訊。例如,作業可執行複製、驗證、時間版本管理、歸檔、及媒體管理等等。
為提供使用者在邏輯層選擇資料的能力,資料保護系統提供使用者以「命名空間」與「命名空間元素」的形式儲存於生產位置之資料的邏輯表示法。如此處所述,命名空間是應用程式的邏輯表示法。例如,在資料保護系統內可代表為命名空間的應用程式包括但不限於:分散式檔案系統(「DFS」)、本機檔案系統、Web應用程式命名空間(如SharePoint)、及Exchange命名空間。如所明白的,該示範性應用程式的清單只是為了解說,絕非用來限制。任何類型的應用程式可搭配資料保護系統使用並識別為命名空間。
如此處所述,命名空間元素是實體物件(如資料)的邏輯表示法,並是組成命名空間的主要實體。例如,命名空間元素可以是(但不限於):DFS連結、伺服器、共用、磁碟區、資料夾、或Exchange儲存群組。一般說來,Exchange儲存群組是共用通用記錄之資料庫的集合。如熟習本技術者所明白,命名空間元素可用來代表任何類型的實體物件或實體物件的集合。
為保護資料,使用者在邏輯命名空間中搜尋或瀏覽,然後選擇命名空間元素中的一或多個。選定的命名空間元素係和既有的「受保護群組」相關聯,或係用來建立新的受保護群組。當命名空間元素和受保護群組相關聯時,和該命名空間元素相關聯的實體物件(資料)也會變成受保護群組的部分。如此處所述,受保護群組是命名空間元素及套用相同保護規則之相關聯的受保護物件的邏輯分組。
各命名空間元素可用來找出一或多個可新增至受保護群組的實體物件(資料),此處稱為「可保護物件」。一旦找出後,即可選擇要保護的可保護物件。在選擇要保護的可保護物件時,選定的可保護物件將變成屬於受保護群組之部分的「受保護物件」。如此處所述,可保護物件是受到保護的實體資訊/資料。例如,可保護物件可以是(但不限於):資料夾、檔案、電子信箱、資料庫、網站等。如此處所用,受保護物件是已經識別及選定要保護的可保護物件。
除了建立受保護群組,使用者還可在高階指定其如何、何時(多麼頻繁)要受保護群組能夠受到保護及要其持續多久。此外,使用者可指定其要保留之受保護群組的複製與歸檔要持續多久。此種高階指定可橫跨所有的保護活動,如:複製、歸檔、媒體管理、及其任何組合。基於使用者提供的指定,可建立保護受保護群組之物件的詳細計劃。
為復原資料,將提供使用者在邏輯命名空間中搜尋或瀏覽的能力,以找出使用者要復原的資料。然後,要復原之資料的邏輯路徑可用來找出一或多個可復原物件,其說明如下。各可復原物件代表受保護物件的版本或其中部分。
第3圖根據本發明的一項具體實施例,為資料保護系統300的流程圖,其中說明位在生產位置之可保護物件的初始選擇與保護。如第3圖所示,資料保護系統300部署代理程式於生產位置305,以便發現位在生產位置305的可保護物件,及識別對應於這些可保護物件的命名空間與命名空間元素。這些命名空間與命名空間元素係發佈以用於讓使用者進行互動,並經顯示在使用者介面303上。
例如,第4圖根據本發明的一項具體實施例,說明發佈及顯示於使用者介面303上以進行使用者互動與選擇之複數個命名空間與命名空間元素的方塊圖。如熟習本技術者所明白,第4圖的解說僅為示範性,及任何其他設定可和本發明的具體實施例一起顯示。例如,此顯示可包括磁碟區而無共用。
顯示400說明DFS根目錄命名空間401與伺服器命名空間403。DFS根目錄命名空間401包括兩個命名空間元素405、407,此二者均為DFS根目錄。於DFS根目錄命名空間401下識別的命名空間元素為\\ABCD\PUBLIC 405與\\EFG\PRIVATE 407。此外,伺服器命名空間403包括若干命名空間元素409、411、413、415、421、423、425。這些命名空間元素亦可包括若干附加的命名空間元素。例如,伺服器1409包括若干命名空間元素類型,如共用命名空間元素類型411。同樣地,共用命名空間元素類型411包括共用1命名空間元素413與共用2命名空間元素415。此外,共用命名空間元素411、共用1命名空間元素413、及共用2命名空間元素415均為可保護物件的邏輯表示法。
使用者可藉由選擇展開或摺疊方塊(如展開方塊417),而和命名空間與命名空間元素的顯示400進行互動。此外,使用者可藉由選擇某個選擇方塊(如選擇方塊419),以選擇要保護之命名空間元素中的一或多個。在一項例示性具體實施例中,除了能夠選擇要保護的命名空間元素,使用者還能夠選擇要保護的命名空間。
往回參考第3圖,在顯示400顯示使用者介面303上的命名空間與命名空間元素後,使用者選擇其要資料保護系統300保護的命名空間元素。此外,使用者可提供選定命名空間元素的「保護含義」。如此處所述,保護含義是要如何保護選定資料的高階描述。例如,使用者可以指示要藉由每晚備份一次物件的複製及保留每週複製持續一年的時間,來保護選定的命名空間元素。選定的命名空間元素、及相關聯的保護含義可從使用者介面303傳送至資料保護程式301。
使用選定命名空間元素與保護含義的資料保護程式301可建立選定命名空間元素所識別之可保護物件的受保護群組。在選擇後,可保護物件變成受保護物件。受保護群組包括:選定的命名空間元素、相關聯之受保護物件的識別、及要如何保護受保護物件的詳細計劃。此外,資料保護程式301建立至少一個自動發現群組,其說明如下。在一項具體實施例中,資料保護程式301亦可建立儲存的搜尋常式,其說明如下。
將選定的邏輯物件(命名空間元素)對應至位在生產位置之相應的可保護物件,即可建立受保護群組。然後,將識別的可保護物件新增為受保護群組的成員及變成受保護物件。可保護物件可新增至既有的受保護群組或可形成新的受保護群組。此外,保護含義可用來建立保護受保護群組的群組計劃。群組計劃包括但不限於:資源計劃、準備計劃、及保護計劃,其中每一個詳細說明如下。群組計劃及群組內的計劃由一或多個作業與排程參數組成。至於資源計劃,將識別要分配的資源數量。分配的資源可包括但不限於:用於副本的磁碟空間、用於歸檔的可抽取式媒體(如磁碟或磁帶)、副本與可抽取式媒體二者的組合等。排程參數識別執行作業的時間。
在產生受保護群組、保護資料的計劃、自動發現群組、及儲存的搜尋後,資料保護程式301準備生產位置305與儲存位置307以進行保護。尤其,資料保護程式將部署能夠在生產位置305與儲存位置307之間進行資料之通信與傳送的代理程式。在準備生產位置與儲存位置以進行保護後,將開始保護並將受保護物件之資料的複製從生產位置305傳送至儲存位置307。如以下所述,可維護傳送的資料複製作為副本、歸檔複製、或任何其他類型的資料保護。
在準備用於保護的儲存位置307時(其詳細說明如下),資料保護程式301分配必要的資源(經由資源計劃),以視使用者要求而儲存實體物件的複製。為開始保護,將啟動作業以:建立儲存於生產位置305之選定可保護物件的初始複製、傳輸複製、及在儲存位置307儲存複製。如果該複製為副本,則對其進行驗證以透過執行驗證作業來確保其精確性。如果要將複製歸檔至可抽取式媒體,則初始複製是選定可保護物件的完整備份。在產生初始複製後,資料保護程式301建立定期更新複製的作業,或建立具有位在生產位置305之資訊之變更的附加複製(如歸檔的情況)。
要識別儲存於和選定命名空間元素相關聯之生產位置305的可保護物件,資料保護程式301將邏輯物件(命名空間元素)對應至實體物件(可保護物件)。再次參考第4圖,顯示兩個命名空間DFS根目錄401與伺服器命名空間403各具有複數個命名空間元素。使用者可選擇命名空間元素中的一或多個。在一項具體實施例中,在選定命名空間元素後,預設亦選擇所有所含命名空間元素。使用第4圖作為範例,如果使用者選擇伺服器1 409上的儲存群組1 421,則將亦自動選擇資料庫A 423與資料庫B 425。使用者可取消選擇命名空間元素中的一或多個。
各命名空間元素對應至位在生產位置305的一或多個可保護物件。例如,命名空間元素\\ABCD\PUBLIC 405對應至多個可保護物件。參考第5圖,命名空間元素\\ABCD\PUBLIC 505對應至位在生產位置305的三個可保護物件。尤其,命名空間元素\\ABCD\PUBLIC 505對應至D:\folder on serverl 507、D:\folder on server2 509、及F:\on server3 511。可保護物件507、509、511中之每一者係位在生產位置305內。
為了讓資料保護程式能夠搜尋及瀏覽命名空間,以及能夠將邏輯物件(如命名空間元素505)對應至實體物件,將建立關聯命名空間與命名空間元素的架構。此架構為應用程式命名空間之構成的抽象表示法,其中可能的命名空間包括但不限於:分散式檔案系統與Exchange。
第6圖根據本發明的一項具體實施例,顯示關聯命名空間類型與命名空間元素類型之代表磁碟區架構之一個此類架構的方塊圖。此架構經表示為有向圖,其中圖中節點代表應用程式命名空間內命名空間元素的類型,及連結代表命名空間元素間的內含項目與接合關係。命名空間元素類型間的內含項目關係與接合關係代表所有能夠關聯這些類型的例項的可能方式。參考第6圖,將內含項目關係顯示為單箭頭指向線,及將接合關係顯示雙箭頭指向線。例如,類型「DFS根目錄」603的命名空間元素可代表和類型「共用」609之命名空間元素的接合617,及共用609可代表和磁碟區611的接合619,或和資料夾615的接合。
內含項目關係是命名空間元素間直接的親代/子系關係,其中親代在邏輯上包含子系。例如,網域601在623含有伺服器607,及在625含有DFS根目錄603。伺服器607在627含有共用609,及在629含有磁碟區611。磁碟區611在631含有資料夾615,及在633含有掛接點613。資料夾615可含有其他資料夾及含有檔案(未顯示)。
接合關係是一種來源/目標關係,其中來源命名空間元素是目標命名空間元素的邏輯同義字,也就是說來源與目標路徑代表兩個不同命名空間中相同的根本物件。接合關係可以是一對多關係。也就是說,單一的來源命名空間元素可具有多個目標命名空間元素,其中目標代表從中擷取來源所代表之根本資料的替代位置。例如,DFS根目錄603在617對應至作為目標的多個共用609。接合關係也可以是多對一,接合的目標在其他命名空間中可具有多個邏輯名稱。例如,資料夾615在621可具有許多對應至該資料夾615的共用609。
此外,多個邏輯命名空間元素可對應至相同的可保護物件。例如,共用1命名空間元素513對應至E:\PRIVATE on serverl 515。同樣地,共用2命名空間元素517亦可對應至E:\PRIVATE on serverl 515。
第7圖根據本發明的一項具體實施例,顯示將邏輯命名空間元素對應至實體可保護物件之架構的方塊圖。尤其,架構700顯示網域ABCD 701和DFS根目錄-公用703與三個伺服器705具有內含項目關係。同樣地,DFS根目錄-公用703和包括連結1707A、連結2 707B、及連結3 707C的三個DFS連結707具有內含項目關係。連結1 707A、連結2 707B、及連結3 707C各包括至共用711的接合關係。尤其,連結1 707A包括至\\server1\share的接合,連結2 707B包括至\\server2\share的接合,及連結3707C包括至\\server3\share的接合。\\server1\share、\\server2\share、\\server3\share為不同於DFS命名空間之命名空間的各邏輯物件。這藉由DFS連結707與共用711間之接合719的橫越來顯示。尤其,\\server1\share、\\server2\share、及\\server3\share係在UNC伺服器命名空間中。參考共用711,為完成\\ABCD\PUBLIC的對應,必須決定共用中每一個對應至哪一個。如上述,共用可對應至磁碟區713及/或資料夾717。因此,繼續此範例,決定邏輯物件\\server1\share對應至D:\folder on server1的實體物件;\\server2\share對應至D:\folder on server2;及\\server3\share對應至F:\on server3。D:\folder on server1、D:\folder on server2、及F:\on server3為\\ABCD\PUBLIC 505的邏輯物件所代表的三個實體可保護物件。
如第7圖的範例所示,利用架構600(第6圖),即可從邏輯命名空間元素決定儲存於該命名空間元素所代表之生產位置之實體物件的對應關係。從架構600中的各點,從連結至對應的下一個部分的該點可以知道所要搜尋的關係。
資料保護程式的命名空間橫越能力可套用於任何類型的應用程式,以在邏輯命名空間與命名空間元素和儲存於生產位置之實體物件間進行瀏覽、搜尋、及對應。例如,經由使用者介面,使用者可以指定包括萬用字元的搜尋參數,及資料保護系統可查詢命名空間與命名空間元素的既有清單,然後提供相應的結果。使用者介面會將搜尋要求傳遞至資料保護程式,及資料保護程式會將結果傳回至使用者介面。資料保護程式支援命名空間之間之「搜尋」、「瀏覽」、及「對應」的一般操作,其中可在架構中擷取各應用程式命名空間的特定結構。要延伸資料保護程式以支援新的應用程式,則只要提供在該命名空間上執行基本操作的模組,以橫越內含項目關係與接合及說明如何將這些操作組成較大之「搜尋」、「瀏覽」、「對應」操作的架構。
本發明具體實施例亦可用於非資料保護的應用。例如,可產生顯示如何在生產位置上或生產位置內的一組伺服器上使用儲存的儲存報告。在此種具體實施例中,使用者可以設定顯示DFS根目錄下所有大於100MB的檔案的報告。
生產位置包括若干不同類型之可保護的物件。例如,第8圖根據本發明的一項具體實施例,顯示含有受資料保護系統保護之可保護物件之生產位置800的方塊圖。生產位置800包括三個伺服器:801、803、及805。各伺服器可以是其本身的計算裝置,或是顯示成單一伺服器之計算裝置的群組。各伺服器可處於中央位置或在地理位置上分散。
包括在伺服器(如伺服器-1801)中的是一或多個「資料來源」。如此處所用,資料來源是資料保護程式所操作之應用程式資料的抽象高階。資料來源顯現其實體資料為一或多個可保護物件,及資料來源本身可以是可保護物件。資料來源係含在單一伺服器內,及伺服器可含有一或多個資料來源。例如,伺服器-1 801包括兩個資料來源:資料來源1(DS1)807與資料來源2(DS2)821。
同樣地,資料來源1 807含有六個可保護物件:809、811、813、815、817、及819。同樣地,資料來源2 821含有兩個可保護物件:823與825。除了資料來源含有可保護物件,資料來源本身可以是可保護物件。此外,可保護物件可含有其他可保護物件。例如,資料來源3 835含有八個可保護物件:827、829、831、833、837、839、841、843。可保護物件837含有可保護物件839,且可保護物件839含有可保護物件841與843。
伺服器-3 805含有四個資料來源:資料來源4(DS4)845、資料來源5(DS5)851、資料來源6(DS6)857、及資料來源7(DS7)859。四個資料來源845、851、857、及859中每一個可以是可保護物件。含在資料來源4 845內的是兩個可保護物件847與849。資料來源5 851含有兩個可保護物件853與855,資料來源6 857沒有任何可保護物件,及資料來源7 859含有兩個可保護物件861與863。
各可保護物件屬於特定的可保護物件類型,其允許資料保護系統顯現不同層級規模之各資料來源中的可保護物件。例如,資料保護系統可將Exchange儲存群組資料來源整體顯現為儲存群組之受保護物件類型的可保護物件。亦可將相同的儲存群組資料來源分成多個可保護物件,各可保護物件具有可保護物件類型的資料庫。相同的可保護物件甚至還可以有二或多個不同的可保護物件類型。例如,資料保護系統可將區塊級的磁碟區顯現為一個可保護物件類型的可保護物件,及將檔案級的磁碟區顯現為另一個可保護物件類型的可保護物件。
資料來源的範例包括但不限於:作業系統、系統磁碟區、Exchange儲存群組、SQL資料庫等。伺服器之可保護物件類型的範例包括但不限於:系統保護檔案及作業系統資料存放,如登錄與使用中目錄。檔案系統磁碟區可保護物件類型包括但不限於:目錄與檔案。利用檔案共用或DFS連結的目標命名空間元素,即可找出檔案系統磁碟區實體。Exchange儲存群組的可保護物件類型包括但不限於:資料庫與信箱。
如上述,各可選擇的命名空間元素對應至一或多個可保護物件,如可保護物件801-863(第8圖)。各可保護物件屬於可保護物件類型且各可保護物件位在單一資料來源內。此外,各資料來源位在生產位置的單一伺服器。
再一次參考以下範例:使用者選擇命名空間元素\\ABCD\PUBLIC 405(第4圖)及繼續該命名空間元素和可保護物件的對應,如參考第5圖與第7圖所述,根據本發明的一項具體實施例,將參考第9A圖至第9B圖說明這些可保護物件的對應及和受保護群組的關聯。
從使用者的觀點來看,受保護群組的成員係由以下命名空間來定義:使用者選定並新增至受保護群組的命名空間元素,以及因自動發現群組而新增的可保護物件(說明如下)。此外,資料保護系統將允許使用者查看受保護群組中的各命名空間元素對應至哪個受保護物件及這些受保護物件中每一個的狀態。
返回參考先前範例,命名空間元素\\ABCD\PUBLIC 405對應至三個不同的可保護物件:D:\folder on server1 507、D:\folder on server2 509、及F:\on server3 511。在參考第7圖所述的對應後,參考第9A圖,D:\folder on server1 507參照於含在資料來源「伺服器1 901之D:\907」內的資料夾909。D:\folderon server2 509參照於含在資料來源「伺服器2 903之D:\935」上的資料夾927。最後,F:\on server3 511參照於資料來源「伺服器3 905上的F:\951」。參考第9B圖,命名空間元素\\ABCD\PUBLIC 505的選擇對應至參考第9A圖所述的受保護物件,這些物件係和受保護群組930相關聯。如上述,可將含在選定受保護物件中的可保護物件自動包括在受保護群組中。例如,\\ABCD\PUBLIC 505局部對應至「伺服器3 905之F:\951」上的選擇可包括附加的可保護物件953與955,因其係包含在受保護物件「伺服器3 905之F:\951」內。如第9B圖所示,受保護群組930可含有位在不同伺服器(如伺服器1 901、伺服器2 903、伺服器3 905)上的受保護物件。
第10圖根據本發明的一項具體實施例,顯示含有選定命名空間元素、已對應之受保護物件、及受保護群組特性之受保護群組的方塊圖。尤其,受保護群組1030含有:命名空間元素\\ABCD\PUBLIC 1005、參考先前範例所述之已對應、受保護物件中每一個、及含在選定受保護物件內的受保護物件。尤其,受保護群組1030包括:D:\folder on server1 1009、D:\folder on server2 1027的受保護物件。此外,受保護群組1030包括:受保護物件F:\on server3 1051、及含在受保護物件F:\on server3 1051的兩個受保護物件1053、1055。
各個受保護群組,如受保護群組1030,包括:包括排程1041、空間分配規則1043等的群組計劃1040。群組計劃包括保護群組的作業及其他資訊。受保護群組為了操作上的簡單而集合受保護物件。受保護群組中的所有受保護物件共用從相同的保護含義集合所產生的相同群組計劃。
簡言之,受保護群組包括一或多個受保護的命名空間元素。各個受保護的命名空間元素可找出一或多個可保護物件。相對地,可保護物件位在資料來源上。資料來源可以是最多一個受保護群組的成員。在保護期間,將定期重新評估受保護群組對應,以識別可能應包括在受保護群組本身之新發現的可保護物件,及以偵測受保護物件之邏輯路徑的變更。此定期評估,其說明如下,係使用自動發現群組來完成。
現在參考第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圖,說明本發明具體實施例所實施的不同常式。熟習本技術者應明白,可在如伺服器的單一計算裝置上或分散成若干的計算裝置上實施這些常式。第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圖顯示執行特定功能的方塊。在例示性具體實施例中,可以使用更多或更少方塊。在本發明的一項具體實施例中,方塊可代表:單一或組合的軟體程式、軟體物件、軟體功能、軟體次常式、軟體方法、軟體例項、程式碼片段、硬體操作、或使用者操作。
第11圖根據本發明的一項具體實施例,為設定保護受保護群組之計劃之設定常式的流程圖。設定常式1100始於方塊1101,及在方塊1103,常式從連接使用者介面的使用者獲得命名空間元素與保護含義的選擇。如下文所述,使用者可以選擇多個要保護的命名空間元素。所提供的保護含義可套用於所有選定的元素。在方塊1105,將選定的命名空間元素對應至相應的可保護物件。
在決定方塊1107,決定是否已經選擇要和先前選定的命名空間元素一起包括的附加命名空間元素。如果在決定方塊1107決定已經選定附加的命名空間元素,則常式返回方塊1103的取得選定命名空間元素。然而,如果在決定方塊1107決定沒有附加的命名空間元素,則在方塊1109,資料保護程式產生用於保護相關聯之可保護物件(已在方塊1105對應)之選定命名空間元素的受保護群組。新增至受保護群組的可保護物件變成受保護物件。
在方塊1111,基於使用者在方塊1103所提供的保護含義,產生保護的群組計劃。保護的群組計劃可包括所需的保護次數與保護類型。保護類型的範例包括但不限於:「背景保護」、「備份保護」、及歸檔保護。背景保護是指保護幾乎連續(如,每小時、一天24小時一週七天更新複製)的保護類型。備份保護是指排程發生於特定時間情況的保護(如,一晚一次,每晚一次)的保護類型。群組計劃可套用於受保護群組的所有受保護物件。以下將詳細說明群組計劃的產生並將其稱為「含義轉譯」(第31-34圖)。
在方塊1113,準備含有受保護物件的生產位置及儲存物件複製的儲存位置以進行保護。例如,資料保護程式產生儲存於儲存位置且為求精確性而驗證之資料的初始複製。如方塊1115所示,在進行保護後,且在複製及儲存和選定命名空間元素相關聯的受保護物件後,常式結束於方塊1117。
第12圖根據本發明的一項具體實施例,顯示詳細說明方塊1109(第11圖)所提受保護群組之建立的受保護群組建立常式。受保護群組建立常式1200始於方塊1201,及在方塊1203,接收要執行保護之命名空間元素的選擇。此外,還接收選定命名空間元素的保護含義。在決定方塊1205,決定是否要將接收之命名空間元素新增至新的受保護群組或決定是否要將其包括在既有的受保護群組內。如果決定不將命名空間元素新增至新的受保護群組,則在方塊1207,取得要包括命名空間元素之既有受保護群組的選擇。
在方塊1209,解決和命名空間元素相關聯之資料來源的重疊,其詳細說明如下(第13圖)。最後,在方塊1211,更新既有的受保護群組,以包括附加的命名空間元素與相關聯的可保護物件。此外,使用者具有變更受保護群組之群組計劃的選項。
往回參考決定方塊1205,如果決定要將接收的命名空間元素新增至新的受保護群組,則在方塊1213,解決和這些命名空間元素相關聯之資料來源的任何重疊。在方塊1215,接收新的受保護群組的名稱。在一個範例中,可由使用者透過使用者介面來提供新的受保護群組的名稱。或者,可由資料保護系統本身自動產生受保護群組的名稱。在方塊1217,根據先前提供至資料保護系統的保護含義,建立受保護群組的群組計劃。在方塊1219,建立受保護群組的常式完成。
第13圖根據本發明的一項具體實施例,顯示偵測二或多個受保護群組中所含資料來源重疊的重疊偵測常式,其對應於方塊1209與1213(第12圖)。重疊偵測常式1300始於方塊1301,及在決定方塊1303,決定所含有和選定命名空間元素相關聯之任何可保護物件的資料來源目前是否包含在另一個受保護群組(既有的受保護群組)內。如果決定沒有任何資料來源含有和既有受保護群組所含選定命名空間元素相關聯的可保護物件,則常式結束於方塊1313,然後將控制交還適當的常式,如受保護群組建立常式1200(第12圖)。
然而,如果決定含有和選定命名空間元素相關聯之可保護物件的資料來源係含在既有的受保護群組(即,重疊),則在決定方塊1305-1307,決定如何解決偵測的重疊。在本發明之實際的具體實施例中,解決重疊係根據使用者的決定。例如,如果偵測到重疊,可提供使用者以下選項:從目前的受保護群組排除重疊之資料來源的可保護物件(「衝突的可保護物件」)(1305),或從既有的受保護群組移除含有造成重疊之衝突之可保護物件的資料來源,再將其新增至目前的受保護群組(1307)。在一項例示性具體實施例中,可由使用者提供用於解決重疊的全域原則,以順利通過重疊偵測常式1300。在又另一項具體實施例中,將可保護物件新增至造成重疊之受保護群組的嘗試將導致失效。
在決定方塊1305,決定是否要從目前將衝突的可保護物件新增至其中的受保護群組(目前的受保護群組)中將其排除。如果在決定方塊1305決定要從目前的受保護群組排除衝突的可保護物件,則從目前的受保護群組移除該可保護物件,但將其留在造成衝突的既有受保護群組中,然後重疊偵測常式將控制還給初始常式,如方塊1313所示。
如果在決定方塊1305決定不要從目前的受保護群組排除衝突的可保護物件,則常式在決定方塊1307決定是否要從既有的受保護群組移除可保護物件的資料來源與含在該資料來源內的所有受保護物件,及將移除的資料來源、移除的受保護物件、及衝突的可保護物件新增至目前的受保護群組。如果從既有的受保護群組移除資料來源與所含有的受保護物件並將其新增至目前的受保護群組,則常式在方塊1313完成,並將控制還給其所來自的適當常式。
如果在決定方塊1307決定要從既有的受保護群組移除衝突之可保護物件的資料來源及所有所含受保護物件,並將其新增至目前的受保護群組,則重疊保護常式1300產生重疊失效,如方塊1311所示,然後完成於方塊1313。
和使用者能夠藉由選擇代表這些可保護物件的命名空間元素來保護儲存於生產位置之實體物件(可保護物件)一樣,使用者也可以藉由選擇代表要復原之實體物件的命名空間元素來復原實體物件(可復原物件)。第14圖根據本發明的一項具體實施例,為顯示復原受保護物件之復原程序流程之資料保護系統的流程圖。為復原物件,使用者可選擇一或多個代表要復原之受保護物件的命名空間元素。資料保護程式1401為回應接收命名空間元素的選擇而查詢儲存位置1403,以識別和使用者提供之選定命名空間元素相關聯之可復原物件的時間版本。在一項例示性具體實施例中,可能不必查詢儲存位置1403以識別時間版本。例如,為了從歸檔復原,資料保護程式1401可藉由搜尋含有識別可用時間版本之資訊的目錄或資料庫來識別時間版本。識別的時間版本經合成後將提供給使用者,作為還原資料之時間點的表示法。
使用者選擇復原的時間點,並提供該時間點的復原含 義。復原含義的範例詳細說明如下。在從使用者收到要復原的項目與對應的復原含義後,由資料保護程式1401建立復原計劃及執行,然後復原位在儲存位置1403之相應的可復原物件,並將其傳輸至生產位置1405。
第15圖根據本發明的一項具體實施例,為顯示儲存位置1403所含可復原物件之詳細圖式的方塊圖。一般而言,復原將損壞或遺失的受保護物件(或其中部分)放回先前的時間版本。時間版本製作可以是離散或幾乎連續。保留受保護物件的及時點(point-in-time)完整複製將造成離散的時間版本。復原離散的時間版本可能只需要還原受保護物件或在還原後需要附加的復原處理。保留和受保護物件相關聯之日誌的及時點複製將造成幾乎連續的時間版本。藉由向前復原套用日誌,即可發生復原。在本發明的一項具體實施例中,向前復原可停止於日誌內所含的任何時間點。
如此處所述,可復原物件代表復原受保護物件的可能性。各可復原物件可從一或多個復原來源產生。復原來源位在和副本內、歸檔磁帶上、或磁碟上的歸檔複製之副本相關聯的時間版本。
現在參考第15圖,受保護物件1509可含有一或多個可復原物件1511、1513、1515、1517、1519、1521。一般而言,可復原物件的層級劃分比受保護物件更精細。例如,受保護物件可以是資料夾,如D:\folder on server1 1509。受保護物件1509可含有多個可復原物件。例如,受保護物件D:\folder on server1 1509含有六個可復原物件,包括檔案1 1511、檔案2 1513、檔案3 1515、檔案4 1517、檔案5 1519、及檔案6 1521。此外,受保護物件1509也是可復原物件。
受保護物件與保護方法的原本選擇通常決定可用的可復原物件及/或復原所需的工作。例如,如果受保護物件是含有包含信箱之資料庫的Exchange儲存群組,則該儲存群組內的所有資料庫隱含地受到保護。完整儲存群組或資料庫中的一或多個可加以復原,因此成為可復原物件。如果只藉由歸檔(說明如下)而無任何複製來執行保護,則信箱復原可能非常耗時(昂貴)。如果藉由複製及歸檔來執行保護,則來自副本的信箱復原實質上較快(較便宜)。
如果受保護物件是儲存群組的資料庫,則儲存群組未完全受到保護,但含在選定資料庫內的信箱卻受到保護。然而,如果受保護物件是信箱,並不代表也會保護相關聯的資料庫或儲存群組。如果只藉由歸檔而沒有任何複製來執行保護,則歸檔不可能還原選定信箱以外的東西。或者,如果已知信箱為經複製成不同受保護群組之部分之資料庫的部分,則可從其他受保護群組的副本而非歸檔媒體來復原信箱。
第16圖根據本發明的一項具體實施例,顯示從儲存位置復原受保護物件的復原常式。復原常式1600始於方塊1601,及在方塊1603,自和顯示於使用者介面之命名空間元素達接的使用者接收要復原之命名空間元素的選擇。使用者亦可提供要復原之資料的復原含義。在方塊1605,接收要復原之資料之特定及時點版本的選擇。在本發明的一項具體實施例中,使用者提供發生復原的及時點。在另一項具體實施例中,可識別選定命名空間元素的時間版本,再將其提供給使用者進行選擇。
在方塊1607,決定是否選定要復原的附加元素。如果決定已經選定要復原的附加元素,則常式返回方塊1603並接收這些要復原之附加命名空間元素的選擇。然而,如果決定其中沒有任何要復原的附加元素,則在方塊1609,利用上述對應架構及接收的復原含義,將可復原物件對應至位在儲存位置之相應的復原來源。
在識別必要的復原來源後,在方塊1611建立復原計劃。復原計劃包括自相應的復原來源合成可復原物件之所需及時點版本的程序。在方塊1613,執行計劃及復原識別的可復原物件。在方塊1615,復原常式結束。
如上述,除了建立受保護群組,資料保護系統亦產生自動發現群組與儲存的搜尋。自動發現群組與儲存的搜尋提供通知使用者生產位置之變更的自動方式。例如,變更可包括新增或刪除計算裝置(如伺服器、Exchange儲存群組、資料庫、磁碟區、及共用),以及命名空間元素與可保護物件間之對應的變更。提供使用者生產位置變更的通知讓使用者能夠採取適當的行動以保護需要受到保護的新資料,然後在重新安置或移除資料時調整其保護策略。
自動發現群組是用於說明何者應受保護為查詢而非保護為實體資源之離散集合的機制。例如,假設組織將所有伺服器命名為\\FILESRV ,如\\FILESRV1、\\FILESRV2等。該組織的使用者可以建立定期搜尋任何名稱為\\FILESRV 之伺服器上所有共用的自動發現群組。自動發現群組將尋找所有此類共用並允許使用者選擇或拒絕保護任何找到的可保護物件或和這些共用相關聯的可保護物件。此外,在本發明的一項具體實施例中,可定期重新評估自動發現群組,並通知使用者任何新的共用,及提供使用者同意或拒絕保護這些新的共用的機會。此外,重新評估可識別任何已經移除的既有共用,然後通知使用者有關此移除。
資料保護程式亦可使用自動發現群組來追蹤命名空間元素與可保護物件間的對應。再次參考上述範例,假設使用者保護路徑\\ABCD\PUBLIC。資料保護系統將自動產生:含有名稱\\ABCD\PUBLIC的自動發現群組,及和其受保護物件(如D:\folder on server1、D:\folder on server2、及F:\folder on server3)的對應。如果未來要變更\\ABCD\PUBLIC以參照相同伺服器或不同伺服器上的不同資料夾,則資料保護程式將通知使用者此變更並提供調整保護的機會。
第17至第24圖根據本發明的一項具體實施例,顯示建立及利用自動發現群組的流程圖。為了解說第17-24圖,將假設已經在含有若干需要保護之伺服器(顯示為生產位置1703)的工作場所安裝資料保護系統。
在初始化資料保護系統1700後,資料保護程式1701查詢生產位置1703以識別代表包含在生產位置內之可保護物件的命名空間與命名空間元素。資料保護程式1701經由使用者介面1705,以命名空間與所含命名空間元素的階層圖形式,發佈命名空間與命名空間元素給使用者,讓使用者進行互動與選擇。
和使用者介面1705互動的使用者可選擇一或多個要保護的命名空間元素,如\\ABCD\PUBLIC命名空間元素1707。除了選擇要保護的命名空間元素,使用者還提供識別使用者要如何保護相關聯之可保護物件的保護含義。選定命名空間元素與保護含義的指示將會返回資料保護程式1701。
現在參考第18圖,資料保護程式1701將命名空間元素的選擇對應至位在生產位置1703的可保護物件。例如,在選擇命名空間元素\\ABCD\PUBLIC 1707後,資料保護程式利用命名空間元素,將該命名空間元素對應至可保護物件,如上所述。該對應識別命名空間元素\\ABCD\PUBLIC 1707對應至可保護物件D:\folder on server1 1709與可保護物件D:\folder on server2 1711。在一項例示性具體實施例中,在初始發現命名空間元素中,元素係對應至當時對應的可保護物件。
資料保護程式1701建立的受保護群組含有:選定的命名空間元素、變成受保護物件之可保護物件的識別、自動發現群組1713、及自動發現群組表格1715。如所述,基於使用者提供的含義,受保護群組還包括說明實際要如何保護受保護群組的群組計劃。自動發現群組1713包括:命名空間搜尋參數,如\\ABCD\PUBLIC\ ;及該命名空間元素和受保護物件D:\folder on server1與D:\folder on server2的目前對應。建立含有選定命名空間元素之命名空間搜尋參數的自動發現群組1713提供資料保護程式以下能力:其後搜尋符合命名空間搜尋參數之生產位置的新增、刪除、及重新對應。任何此類變更係經由警示報告給使用者,因其和保護有關。可以各種形式的警示提供給使用者。例如,可經由使用者介面、電子郵件、傳呼、語音訊息等來提供警示。
除了建立自動發現群組1713,資料保護程式1701還可建立自動發現群組表格1715,其包括受保護物件之目前對應與有關這些受保護物件之資訊的識別。尤其,此資訊包括:受保護物件的對應是否如符合資料行1717所示,符合自動發現群組1713所含自動發現群組參數;受保護物件目前是否如等候資料行1719所示,等候使用者動作;已對應受保護物件目前是否如計劃保護(「PP」)資料行1721所示,受到群組計劃的保護;及已對應受保護物件目前是否如使用者保護(「PU」)資料行1731所示,受到使用者保護。如下文所述,物件可為使用者所保護但卻未受到資料保護系統的保護。例如,使用者可以指示其要保護特定物件,藉此讓該物件受到使用者的保護,然而,除非該受保護物件的含義轉譯完成,否則此物件無法變成受到計劃的保護。
在建立受保護群組、自動發現群組、群組計劃、及自動發現群組表格後,本發明所有具體實施例的資料保護系統即可準備要保護的生產位置與儲存位置。在準備要保護的位置(如,資源計劃)後,執行建立選定可保護物件之初始複製的初始步驟(準備計劃),然後保護開始(保護計劃)。
在選定的受保護物件受保護後的某預定時間,資料保護系統執行自動發現群組並重新對應生產位置1703。例如,可排程每晚執行一次的自動發現群組。在晚間或生產位置活動低的某個時間執行自動發現群組可減少置於生產位置的負載量。
回到參考第17圖至第24圖所述範例,為了解說,已執行自動發現群組,及自動發現群組結果1723(第19圖)識別符合\\ABCD\PUBLIC\ 之自動發現群組搜尋參數的唯一可保護物件是D:\folder on server2的可保護物件。資料保護程式1701比較自動發現群組結果1723和自動發現群組表格1715。在此範例中,其識別D:\folder on server1的受保護物件不再符合自動發現群組搜尋參數。D:\folder on server1因各種理由而不再符合搜尋參數。例如,D:\folder on server1可能已不存在,或D:\folder onserver1不再對應於\\ABCD\PUBLIC之下。
在比較後,更新表格1715以指示D:\folder on server1的受保護物件未在結果中傳回,因此,不再符合自動發現群組搜尋參數,如符合資料行1717中的「N」所示。此外,更新D:\folder on server1之受保護物件的自動發現群組表格1715,以指示該受保護物件的使用者互動目前等候中,如資料行1719中的「Y」所示。使用者互動目前因受保護物件不再符合自動發現群組參數而等候中。D:\folder on server1維持標記為受計劃保護及受使用者保護,如PP資料行1721及PU資料行1731的Y所示。
還有,亦更新自動發現群組表格1715以指示D:\folder on server2符合自動發現群組搜尋參數並維持受計劃及受使用者保護,分別如資料行1721與1731中的「Y」所示。最後,指示受保護物件D:\folder on server2的使用者動作因其符合及其受保護而不在等候中,如等候資料行1719中的「N」所示。
現在參考第20圖,在執行自動發現群組後的第二天早上,已更新自動發現群組表格並產生警示,使用者存取資料保護系統後,將收到資料保護系統通知D:\folder on server1的受保護物件不再符合自動發現群組搜尋參數。
為回應,資料保護系統接收使用者指示以從受保護群組移除受保護物件。資料保護程式1701更新自動發現群組,藉此從受保護群組移除D:\folder on server1的對應並更新自動發現群組表格1715。尤其,將D:\folder on server1標記為不再受使用者保護,如PU資料行1731中的「N」所示,並將其標記為不再等候,如資料行1719中的「N」所示。此時,D:\folder on server1維持受計劃保護,因尚未重新執行含義轉譯以從受保護群組移除D:\folder on server1。
將物件維護於自動發現表格1715中並標記為未受使用者保護,因此如果其經自動發現常式的後續執行所識別,並不會將其呈現給使用者為等候中的核准,因其已從保護中排除。既然此物件不再受到使用者的保護,該物件變成可保護物件。
第21圖繼續先前範例,並且在使用者指示不想再保護D:\folder on server1後的某個時間點,執行含義轉譯。在執行含義轉譯後,更新群組計劃並從受保護群組移除D:\folder on server1。即使D:\folder on server1不再受到受保護群組的保護,但仍將受保護群組的既有時間版本儲存在儲存位置,且其可利用來復原D:\folder on server1直到其不再受計劃保護。在完成含義轉譯後,更新自動發現群組表格1715。尤其,將D:\folder on server1標記為不受計劃保護,如PP資料行1721中的「N」所示。
在含義轉譯完成後的某個時間點,自動發現群組再次執行,查詢生產位置1703,並將自動發現群組搜尋參數重新對應至位在生產位置1703的物件。在完成自動發現群組搜尋參數的對應後,提供自動發現群組結果1725,且其包括以下指示:搜尋參數對應至D:\folder on server2的受保護物件與E:\folder on server2 1727之新的受保護物件。同樣地,資料保護程式1701比較結果和自動發現群組表格1715。該比較指示D:\folder on server2的受保護物件再次符合自動發現群組搜尋參數、並未等候使用者動作、及維持受到使用者與群組計劃二者的保護。此外,E:\folder on server2之新的可保護物件符合自動發現群組搜尋參數;目前未受群組計劃的保護,如PP資料行1721中的「N」所示;目前未受使用者保護,如PU資料行1731中的「N」所示、及目前等候使用者動作,如等候資料行1719中的「Y」所示。在完成比較後,更新自動發現群組表格1715以識別新的對應與所有物件的狀態。
E:\folder on server2的可保護物件目前未受到計劃或使用者的保護,因其新近才為自動發現群組所識別。資料保護系統1701產生提供給使用者的警示,以指示已將新的可保護物件新增至和受保護群組中受保護物件一樣的生產位置。因使用者有意額外保護此新近識別的可保護物件以作為受保護群組的部分而產生警示。
在第22圖,使用者已接收警示並提供回應以開始保護新近識別的可保護物件(為自動發現群組所自動識別)。E:\folder on server2的可保護物件亦被新增至受保護群組,因而變成受保護物件。同樣地,資料保護程式1701將以下指示新增至自動發現群組表格1715:E:\folder on server2之物件不再等候使用者動作,其已受使用者保護,但此時不受計劃保護。
第23A圖繼續上述範例,在使用者指示要將新近識別的可保護物件新增至受保護群組後的某個時間,含義轉譯執行且E:\folder on server2變成為計劃所保護。在完成含義轉譯後,更新自動發現群組日誌1715以指示E:\folder on server2現為計劃所保護,如PP資料行1721中的「Y」所示。
在完成含義轉譯後的某個時間,資料保護程式1701再次執行自動發現群組常式及將\\ABCD\PUBLIC\ 的自動發現群組搜尋參數重新對應至位在生產位置1703的物件。在完成自動發現群組常式後,資料保護程式已經識別與D:\folder on server2與E:\folder on server3 1729的對應。這些結果可用來比較及更新自動發現群組表格1715以指示D:\folder on server2的受保護物件再次符合自動發現群組搜尋參數、不等候使用者動作、維持受到資料保護系統的保護、及維持受到使用者的保護。此外,其中還指示E:\folder on server2之先前的受保護物件未受自動發現常式識別,但仍受到使用者與保護計劃的保護,因此正等候使用者動作。最後,將E:\folder on server3之新的可保護物件的新增識別為符合自動發現群組搜尋參數,然而,其目前未受使用者或保護計劃的保護,因其新近才被識別,因此正等候使用者動作。在更新自動發現表格後,資料保護程式1701產生包括以下項目之識別的警示:E:\folder on server2之先前的受保護物件不再符合自動發現群組搜尋參數,及E:\folder on server3已被新增至生產位置並符合自動發現群組搜尋參數。此警示指示使用者受保護物件E:\folder on server2可能已被移至E:\folder on server3。若未自動發現此種變更,使用者可能繼續保護舊的物件而未對新的物件提供保護。
第23B圖根據本發明的一項具體實施例,顯示解決如第23A圖所偵測之受保護命名空間元素之重新對應的重新對應解決常式。重新對應解決常式2300執行於決定命名空間元素可能已被移動時。例如,先前已對應至E:\folder on server2的\\ABCD\PUBLIC\LINK3可能已被重新對應至E:\folder on server3。
重新對應解決常式2300始於方塊2301。在方塊2303,評估自動發現群組,及決定受保護的命名空間元素已從一個可保護物件被重新對應至另一個可保護物件。在決定方塊2305-2309決定如何解決重新對應。
尤其,在決定方塊2305,決定是否應該只保護新的對應。如果決定應該只保護新的對應,則在方塊2311,將對應標記為未受使用者保護,及將新的對應標記為受使用者保護。然而,如果決定不應只保護新的對應,則在決定方塊2307決定是否應該只保護舊的對應。如果應該只保護舊的對應,則在方塊2311,將舊的對應標記為受使用者保護,及將新的對應標記為未受保護。然而,如果在決定方塊2307決定不應該只保護舊的對應,則在決定方塊2309決定是否應該保護兩種對應。
如果在決定方塊2309決定應該保護兩種對應,則在方塊2311,將兩種對應均標記為受使用者保護。然而,如果決定兩種對應都不予以保護,則在方塊2311,將兩種對應標記為未受使用者保護。
在方塊2313,執行含義轉譯常式,如此處所述。在完成含義轉譯後,更新受保護物件使計劃旗標中保護的項目含有使用者旗標對於舊的與新的受保護物件之保護項目的相同值。在方塊2315,此常式結束。
第24圖如同此範例的先前部分,顯示提供使用者識別先前執行之自動發現群組常式所偵測變更的警示。使用者選擇更新自動發現群組搜尋參數的對應,以包括E:\folder on server3之新近識別的可保護物件及移除E:\folder on server2之較舊受保護物件的對應(方塊2305,第23B圖)。資料保護系統1701回應接收使用者之更新對應的指示而更新受保護群組,以包括新的受保護物件。此外,資料保護程式1701更新自動發現群組表格1715以識別E:\folder on server2不再受使用者保護,但此時仍受計劃保護,並指示E:\folder on server3之受保護物件的新對應受到使用者的保護但尚未受到計劃的保護。
在使用者指示這些變更後的某個時間,執行含義轉譯以移除E:\folder on server2而不受群組計劃保護及將E:\folder on server3新增成為群組計劃所保護。如所明白的,可在使用者指示受保護群組之變更(新增物件或移除所有物件)後的任何時間點執行含義轉譯。例如,可在使用者指示受保護群組之變更後立即執行含義轉譯或在數天後執行含義轉譯。此外,自動發現群組常式與含義轉譯可彼此獨立。自動發現群組常式可在使用者指示受保護群組之變更及含義轉譯執行之間執行多次。在此例中,在重新整理自動發現群組後,對於變更中的物件並不會產生警示,因即使群組計劃實際尚未發生變更,但使用者已提供指令。
第25圖根據本發明的一項具體實施例,顯示初始發現頂部層級命名空間元素與可保護物件間之對應之初始發現常式的流程圖。初始發現常式2500始於方塊2501,及在方塊2503,識別生產位置之所有可容易發現物件的命名空間與命名空間元素。可容易發現物件為生產位置的頂部層級物件。例如,很容易發現如DFS根目錄、伺服器、Exchange伺服器、及STS伺服器之頂部層級物件的命名空間與命名空間元素。在方塊2505,將生產位置之所發現的頂部層級命名空間與命名空間元素保留在資料保護程式的記憶體中(如,資料庫)。在方塊2507,完成初始發現常式2500。
第26圖根據本發明的一項具體實施例,顯示發現命名空間與命名空間元素和位在生產位置之可保護物件間之對應之排程的發現常式的流程圖。尤其,排程的發現常式2600始於方塊2601,及在方塊2603,初始發現常式2500(第25圖)執行並識別生產位置的頂部層級命名空間元素。如上述,資料保護系統可利用頂部層級命名空間元素的儲存複製,以允許使用者在生產位置中瀏覽及/或搜尋生產位置的特定部分,而不必在搜尋時重新發現生產位置,因而增加搜尋與瀏覽時間及去除生產位置的負載。
在決定方塊2605,決定是否有要執行的任何儲存搜尋(說明如下)。如果在決定方塊2605決定有要執行的儲存搜尋,則在方塊2607執行這些儲存搜尋。然而,如果在決定方塊2605決定沒有任何儲存搜尋,則在決定方塊2609決定是否有任何要更新的自動發現群組。如果在決定方塊2609決定有要更新的自動發現群組,則在方塊2611更新這些自動發現群組,如先前參考第17-24圖的範例所述。常式完成於方塊2617。
第27圖根據本發明的一項具體實施例,為自動發現群組建立常式的流程圖。自動發現群組建立常式2700始於方塊2701,及在方塊2703,接收使用者要保護之命名空間元素的選擇。除了接收命名空間元素的選擇,亦接收和這些命名空間元素相關聯的可保護物件。在方塊2705,解決和這些命名空間元素相關聯之資料來源的任何重疊。重疊解決如參考第13圖所述。
在解決任何重疊後,在方塊2707,建立識別選定命名空間元素的自動發現群組清單。此外,產生查詢參數並將其包括在用來識別其他和選定命名空間元素一樣之命名空間元素的自動發現群組中。查詢參數可表示如下:實體資源(如,伺服器1的所有磁碟區)、命名空間上的若干查詢(如,DFS根目錄\products底下的所有共用)、或某個組合(如,名稱為\\FILESRV 的伺服器上的所有共用)。此外,查詢參數可基於既有命名空間元素的某個特性。
在各個情況中,資料保護系統記錄自動發現群組的成員並通知使用者該群組的變更。在方塊2709,將自動發現群組與選定命名空間元素的清單新增至受保護群組。如上述,受保護群組可以是選定命名空間元素的既有受保護群組或新近建立的受保護群組。在方塊2711,結束自動發現群組建立常式。
如上文參考第27圖所述建立的自動發現群組是一種描述潛在應受保護為查詢而非為實體資源之離散集合之物件的方式。在偵測變更後,使用者可同意或拒絕保護和自動發現群組相關聯及/或屬於受保護群組之部分之物件之計劃的變更。例如,如果自動發現群組包括伺服器\\FILESRV 上所有共用的搜尋參數,及新的伺服器\\FILESRV10有十個新的共用,則使用者具有同意或拒絕保護新的共用中每一個的選項。
如上述,資料保護系統追蹤報告給使用者之自動發現群組變更的回應。例如,如果使用者拒絕保護新近識別的可保護物件,之後如果從生產位置移除可保護物件,將不會傳送通知給使用者。尤其,在使用者指示不想要保護該物件並要自動略過所有未來通知後,即設定可保護物件的排除旗標。在一項具體實施例中,拒絕物件一次並不會自動設定排除旗標。此外,可追蹤物件被拒絕的次數,及在預定的拒絕數量(如,五次)後,將物件標記為已排除。不會對使用者警示已排除物件的後續識別。
資料保護系統自動建立及設定使用者要保護之各命名空間元素的自動發現群組。例如,如果使用者保護伺服器\FILESRV1上的共用1,則資料保護系統設定含有\\FILESRV1\share1和實體資源之對應的自動發現群組(如,\\FILESRV1上磁碟區X:的資料夾1)。如果\\FILESRV1\share1消失或從共用至實體資源的對應已經變更,則通知使用者此變更並提供使用者若干如何進行的選項(第23B圖)。例如,假設\\FILESRV1\share1現在對應至磁碟區Y上的資料夾1。使用者具有選項如下:繼續保護X:\folder1、停止保護X:\folder1及開始保護Y:\folder1、或保護兩個物件。依此方式,通知使用者要保護之命名空間元素及實際受保護中之實體物件的任何變更。
第28圖與第29圖根據本發明的一項具體實施例,顯示自動發現群組更新常式的流程圖。自動發現群組更新常式2800始於方塊2801,及在方塊2803,從自動發現群組結果選擇可保護物件。在執行識別自動發現群組之命名空間元素對應或先前對應之可保護物件中每一個之自動發現群組對應序列後,產生自動發現群組結果。在決定方塊2805,決定選定的可保護物件目前是否受使用者保護。
如果在決定方塊2805決定選定的可保護物件目前未受使用者保護,則在決定方塊2807決定選定的可保護物件目前是否正在等待使用者核准。如果先前已經識別並經由警示報告給使用者,且使用者未識別該物件是否應該新增至受保護群組,則可保護物件目前可能正在等待使用者的核准以新增至受保護群組。如參考第17-24圖所述,可將自動發現群組表格的等候資料行設定為「Y」,以識別物件為等待核准中。如果在決定方塊2807決定可保護物件未在等待核准中,則在決定方塊2809決定選定的可保護物件是否已從保護中排除。如上述,藉由使用者的識別,可從保護中排除可保護物件,該使用者不希望可保護物件受保護,也不希望被通知可保護物件的變更。將自動發現群組 表格內的該物件標記為被使用者排除,即可識別此種識別。
如果在決定方塊2809決定選定的可保護物件目前未從保護中排除,則在方塊2811,產生識別新的可保護物件的警示,及要求使用者同意將可保護物件新增至受保護群組及/或從受保護群組明確排除可保護物件的回應。在方塊2813,將可保護物件標記為等候使用者核准、未受使用者保護、及未受計劃保護。
如果決定選定的可保護物件是:目前受使用者保護(方塊2805);等待使用者的保護核准(2807);或從保護中排除(2809);則在決定方塊2815決定是否有被識別為自動發現群組結果之附加的可保護物件。如果在決定方塊2815決定有附加的可保護物件,則常式返回方塊2803並繼續被識別為自動發現群組結果之各附加可保護物件的程序。然而,如果在決定方塊2815決定沒有任何被識別為自動發現群組結果之附加的可保護物件,則在方塊2817(第29圖),識別自動發現群組的既有受保護物件。
在決定方塊2818,決定既有的受保護物件是否被標記為受使用者保護。如果決定既有的受保護物件未被標記為受使用者保護,則常式繼續進行至決定方塊2821。然而,如果決定既有的受保護物件受使用者保護,則在決定方塊2819決定既有的受保護物件是否包括在因執行自動發現群組所產生的結果中。如果在決定方塊2819決定既有的受保護物件是包括在新近產生的自動發現群組結果中,則在決定方塊2821決定自動發現群組中是否有附加的既有受保護物件。如果在決定方塊2821決定自動發現群組有附加的既有受保護物件,則常式返回方塊2817再繼續。如果在決定方塊2821決定自動發現群組沒有附加的既有受保護物件,則常式結束於方塊2827。
往回參考決定方塊2819,如果決定識別的既有受保護物件並未包括在新近產生的自動發現群組結果中,則在決定方塊2822,藉由檢查等候旗標,決定先前是否已傳送通知使用者此變更的警示給使用者。如果決定先前並未傳送警示,則經由警示將此變更報告給使用者,以識別受使用者保護之物件的對應已不存在,如方塊2823所示。在方塊2825,將該受保護物件標記為等候從受保護群組移除中、不符合自動發現群組搜尋參數、但目前受使用者保護。從受保護群組中移除受保護物件無法從儲存位置移除該受保護物件的任何實際複製。如熟習本技術者所明白,可追蹤等候移除與等候核准為單一的等候狀態。如上述,追蹤物件是否符合自動發現群組搜尋參數可識別是否要移除或新增物件。
如同物件為自動發現常式所識別,除了追蹤物件是否等候使用者動作、受計劃保護、受使用者保護、及符合自動發現搜尋參數,在剛開始識別物件並將其新增至自動發現群組表格時,也會記錄所識別的日期與時間。此外,當存在於自動發現群組表格中的受保護物件不再為自動發現群組常式所識別時,也會記錄其消失的日期與時間。
除了資料保護系統自動建立自動發現群組以回應使用者選擇命名空間元素,資料保護系統也會自動建立儲存的搜尋。在另一項具體實施例中,在安裝資料保護系統後,可產生儲存的搜尋。在又另一項具體實施例中,亦可由使用者建立儲存的搜尋。
儲存的搜尋係用來通知使用者如伺服器之生產位置的區段何時出現或消失。例如,利用儲存的搜尋提供資料保護系統以下能力:通知使用者新的伺服器、新的DFS根目錄、已不存在的伺服器、已不存在的DFS根目錄、新的STS伺服器、已不存在的STS伺服器等。和各儲存之搜尋相關聯的是先前評估相同的儲存搜尋時所找出之命名空間元素的清單。儲存的搜尋包括代表搜尋起點的命名空間元素及一組描述所含之要傳回之命名空間元素的搜尋標準。不像自動發現群組,儲存的搜尋在命名空間元素上操作,而非在可保護物件上。例如,可建立識別所有屬於公司行銷部之伺服器的儲存搜尋。這一般不是有效的自動發現群組。然而,和自動發現群組一樣,儲存的搜尋可維護識別符合搜尋參數之命名空間元素的儲存搜尋結果表格。
對於符合搜尋的命名空間元素,其狀態受到維護。例如,維護各命名空間元素之最先識別及最後顯示的時間資訊。該資訊亦可用來偵測變更。儲存的搜尋第一次識別命名空間元素時,將保留識別該識別日期的時間戳記,然後在從生產位置移除命名空間元素時,也會保留識別最後顯示命名空間元素之資料與時間的時間戳記。在一項實際的具體實施例中,只要偵測到生產位置變更,便提供警示給使用者。例如,生產位置的新增命名空間元素及/或移除命名空間元素將對使用者產生識別該變更的警示。在一項具體實施例中,為回應識別要保護的是該伺服器上共用的使用者而建立伺服器上所有共用的儲存搜尋。同樣地,當該伺服器上的磁碟區受到保護時,將對伺服器上所有的磁碟區建立儲存的搜尋。在變更伺服器(如視需要,新增共用或磁碟區)後,將通知使用者此變更。
自動發現群組與儲存搜尋的結果亦可用來提高資料保護程式瀏覽及搜尋功能的效能。自動發現群組與儲存的搜尋可定期將其結果儲存於持續的儲存裝置,因此在瀏覽與搜尋結果不常變更時,或是有些過時為可接受時,資料保護程式可利用這些儲存的結果提供更快的回應給使用者啟動的瀏覽與搜尋。
使用者提供保護含義以描述其要如何保護受保護群組(如,副本、歸檔、二者皆是)及要往回復原多久的時間(持續期間)。例如,使用者可能想要有每晚為該資料所產生之資料之選定群組的副本、想要有儲存於儲存位置之可抽取式媒體上的複製、想要每週更新複製一次、及在可抽取式媒體上最多保存四個複製。此外,使用者可指定其要能夠復原至少一個月的資訊。
在儲存位置保護資料作為如副本、歸檔、或二者皆是,將需要對資料的複製分配資源,以及分配程序本身所需的任何資源。此外,需要若干作業以使這些資源進入使用的所需狀態,且需要持續進行作業以維護保護的精確性。以下將詳細說明保護資料之作業的使用。手動設定資源與作業既繁複又容易出錯。此外,在如回應自動發現群組所偵測的變更而變更一組受保護物件時,便必須變更資源與作業。並不需要使用者手動指定詳細的資源與作業,使用者只要指定何者要為命名空間元素的選擇所保護並提供保護含義。然後,使用該資訊產生維護選定資料之保護的群組計劃。在一項具體實施例中,群組計劃包括三個構成要素:資源計劃、準備計劃、及保護計劃。
資源計劃包括取得啟用保護所需資源的必要作業清單。準備計劃包括設定識別資料之保護所需的一次作業清單。例如,一次作業可以是資料之從生產位置至儲存位置的初始複製及傳送。保護計劃包括維護受保護資料之精確性與完整性所需之持續進行作業的清單。
使用者識別之保護含義至保護物件之詳細計劃的轉譯在此稱為並解說為「含義轉譯」。在本發明之實際的具體實施例中,含義轉譯在受保護群組及為該受保護群組所提供的保護含義上操作。保護含義係表示為邏輯表示法並可敘述為目標。目標可識別所需保護的層級(規模)、如何保護資料、要保護資料多久、保護資料的頻率等。例如,使用者可識別「don't lose more than 30 minutes of any executive file share;retain all content for a year(請勿損失超過30分鐘的任何執行檔案共用;保留所有內容一年)」的保護含義。保護含義的動詞用作將含義轉譯為保護物件之詳細計劃的動作。參考先前範例,該含義的對應動作為「每30分鐘複製磁碟區與資料夾」、「每週歸檔」、及「站外儲存一年媒體保留」。
在本發明的一項具體實施例中,可由使用者選擇識別保護含義的保護範本,並將其用來產生保護選定受保護群組的計劃。保護範本含有一或多個原型作業定義,其中包括相應的動作與預設特性。保護範本還包括預設原型排程。例如,「hourly replication,three temporal versions created during the day,archive nightly,no encryption for transfer,no encryption at storage locations(每小時複製,白天建立三個時間版本,每晚歸檔,傳送不需加密,儲存位置不需加密)」係為預設原型排程。使用者有覆寫及明確變更保護範本的能力。例如,使用者可變更先前保護範本以每小時建立複製、白天只有一個時間版本、每週歸檔、傳送不需加密、儲存位置不需加密。在所提預設原型排程識別的「No encryption for transfer(傳送不需加密)」可識別資料在從生產位置傳輸至儲存位置時不必進行加密。或者,在生產位置與儲存位置之間傳輸時,也可以加密資料。 「No encryption at storage locations(儲存位置不需加密)」可識別儲存於儲存位置的資料,無論是副本或歸檔,都不用進行加密。或者,也可以加密儲存的資料。例如,可加密生產位置之要歸檔於可抽取式媒體(如磁帶)的複製。此外,也可以加密儲存為副本的複製。如熟習本技術者所明白,可配合本發明的具體實施例利用任何加密技術,以加密要傳輸及要儲存的資料。
第30圖根據本發明的一項具體實施例,顯示將保護含義轉譯成保護一組資料之計劃的流程圖。經由使用者介面3003和資料保護系統連接的使用者選擇要保護之命名空間元素的清單。要保護之命名空間元素的選擇會被傳送至資料保護程式3001,及為回應,資料保護程式經由使用者介面3003將保護含義預設提供給使用者。尤其,資料保護程式在接收選定的命名空間元素後,將識別和選定命名空間元素相關聯的可保護物件及識別要提供給使用者之保護含義的預設清單。
使用者為回應接收保護含義預設而和使用者介面3003互動,並修改或選擇相應的預設。資料保護程式3001接收此選擇或修改,然後儲存此含義並建立這些物件的受保護群組。可以任何格式儲存含義,包括但不限於:二進制、可延伸標記語言(XML)、或資料庫表格。資料保護程式3001將任何修改套用於保護含義預設,並使用修改的保護含義建立保護以任何形式(包括但不限於:二進制、XML、或資料庫表格)儲存之受保護群組的詳細計劃。
和建立保護受保護群組的詳細計劃一樣,資料保護程式具有為含有指定復原含義、復原參數之選定可復原物件及要復原的命名空間元素選擇建立復原計劃的能力。要建立復原計劃,資料保護程式決定必要的復原來源並相應地對其進行排序。此外,資料保護程式決定識別還原資料之實體路徑的復原目標。
可指定若干不同的復原含義以控制如何進行復原。例如,如果在試著復原檔案至生產位置時,決定此檔案已存在於生產位置,則覆寫含義可控制所發生的情況。可提供若干替代方案,包括但不限於:永遠覆寫、永遠不覆寫、使用兩個中最新近的。可指定的另一復原含義是應如何設定還原物件的安全性。例如,可指定還原物件的安全性繼承親代物件的安全性(如,還原至資料夾之檔案的安全性將接收和資料夾的相同安全性)。另一模組是還原復原物件的安全性為其在備份時的安全性。含義亦可指定是否要在傳輸中及/或儲存時加密復原物件。
第31圖與第32圖根據本發明的一項具體實施例,顯示將保護含義轉譯成保護位在生產位置之實體物件之詳細計劃之含義轉譯常式的流程圖。含義轉譯常式3200始於方塊3201,及在方塊3203,接收要保護之命名空間元素的選擇與要套用於選定命名空間元素的保護含義。如上所述,命名空間元素已對應至位在生產位置的可保護物件。此外,如上所述,由資料保護系統將命名空間元素的選擇與相關聯的可保護物件編譯成套用保護含義的受保護群組。在方塊3205,將該受保護群組標記為「轉譯中」。將受保護群組標記為「轉譯中」可防止使用者在含義轉譯成功完成或失效之前,對受保護群組進行任何變更,以向後復原已進行的任何變更。
在方塊3207,計算對選定受保護群組充分提供保護所需的資源需求。決定受保護群組所需的變更,即可識別資源需求。受保護群組所需的變更範例包括但不限於:將新 的資料來源新增至受保護群組、從受保護群組移除資料來源、以新增或移除受保護物件來變更受保護群組的資料來源、新增或收回資源(如,新增或刪除副本的磁碟空間、新增或刪除歸檔的可抽取式媒體)、為受保護群組調整保護目標或排程、或第一次新增新的受保護群組。此外,識別位在生產位置之要複製及儲存於儲存位置之受保護物件及已經指定之特定保護方法與保護含義的大小,即可決定必要資源的大小。
在方塊3209,產生及執行資源計劃以分配提供受保護群組之保護所需的資源。資源計劃決定所需的資源並包括取得這些資源所需的任何作業。例如,此類作業包括:分配磁碟空間、增加既有的儲存空間、分配磁帶媒體、分配磁帶媒體程式庫換器與磁碟機、要求可用媒體集區的磁帶等。包括於資源計劃中的作業根據使用者所需的保護類型而定。例如,對於複製,作業包括:分配副本與時間版本的磁碟資源、及可能分配日誌區的資源。執行和在方塊3209產生之資源計劃相關聯的作業,並分配受保護群組的必要資源。
在分配資源後,在方塊3211,由資料保護系統建立檢查點。在一項替代的具體實施例中,資源計劃只包括建立分配這些資源所需的作業,實際並不包括執行這些作業。和資源計劃相關聯之作業的執行可作為準備計劃的部分來排程及執行。在此種具體實施例中,在完成含義轉譯之前,將不會產生檢查點。因此,如果含義轉譯未完成,則必須 從開頭重新啟動。如以下參考方塊3209所述,在分配資源後建立檢查點,將提供含義轉譯常式在常式未成功完成時重新啟動的已知點。
由於可在資源分配作業執行中分配部分而非全部的資源(如,系統在分配實體資源之部分而非其他部分後當機),本發明的一項具體實施例中包括清除常式,可清除在未完成執行含義轉譯常式時未完整分配的資源。此清除常式係藉由設計要以特定方式進行的系統資源分配來完成。在一項實際的具體實施例中,按照每個資料來源分配資源,並分配經指定資料來源所需的所有資源,或完全未分配經指定資料來源所需的資源。如果分配部分而非全部的資源且分配作業被中斷,則建立重新整理作業以從先前執行之資源分配計劃的分配作業清除任何部分分配的資源。在清除常式清除任何部分分配的資源後,資料保護系統即可視需要重新分配的資源。含義轉譯可為這些已成功分配資源的新的受保護物件繼續進行。
往回參考第31圖,在方塊3209成功完成資源分配後,在方塊3211,產生檢查點。在分配資源後建立檢查點,將提供資料保護系統以下能力:解決含義轉譯常式3200在分配資源後但在完成前中斷時所產生的任何問題。例如,如果系統在完成含義轉譯常式前但在新增第一檢查點後當機,如方塊3211所示,在重新啟動後,資料保護系統識別含義轉譯常式已被中斷並找出分配資源後新增的檢查點。藉由識別檢查點,可使用先前分配的資源,及含義轉譯常 式3200可從該檢查點繼續,而不用完全重新啟動及重新分配資源。將參考第38圖詳細說明在含義轉譯常式中斷後的重新啟動。
在決定方塊3213,含義轉譯常式3200決定是否有任何既有的作業及/或工作目前和受保護群組相關聯。如果在決定方塊3213決定有和受保護群組相關聯的既有作業及/或工作,則在方塊3215,將這些作業與工作解除登錄,並終止任何使用中作業,如方塊3217所示。如果該受保護群組正在被修改,而非正在被第一次建立,則先前可能已存在用於受保護群組的作業與工作。
如果在決定方塊3213決定受保護群組沒有任何既有的作業及/或工作,或在方塊3217終止既有的作業及/或工作後,含義轉譯常式3200在方塊3219建立及排程保護計劃。如以下詳細說明,保護計劃包括隨著時間在儲存位置維護受保護群組之複製精確性的作業清單。此外,含義轉譯常式3200在方塊3221建立及排程準備計劃。如以下詳細說明,準備計劃包括一次作業的清單,其可用來將生產位置與儲存位置置於可執行和保護計劃相關聯之作業及實現受保護群組之保護精確性的狀態中。例如,如果這是第一次建立受保護群組且要將其儲存於副本,則將沒有和常駐於副本之受保護群組相關聯的資料複製。因此,和準備計劃相關聯的作業之一可以是建立受保護物件的複製及儲存該副本的複製。
現在參考第32圖,在方塊3225,含義轉譯常式3200建立上述的儲存搜尋與自動發現群組。如上述,將這些自動發現群組與儲存的搜尋執行作為排程的發現常式的部分。
在建立資源計劃、準備計劃、保護計劃、儲存的搜尋及自動發現群組的作業後,在方塊3227,將指示作業建立完成的第二檢查點新增至資料保護系統。如上述且詳細說明如下,資料保護系統可使用此檢查點從含義轉譯常式3200期間發生的中斷中復原。例如,如果含義轉譯常式3200在建立檢查點後中斷,則如方塊3227所示,資料保護系統在重新啟動中識別含義轉譯常式3200在進行中,並找出指示已經建立計劃與作業的檢查點。在識別檢查點後,可從該檢查點繼續及完成含義轉譯常式3200。
在方塊3229,更新新近受保護物件與從保護中移除之先前受保護物件的狀態,以反應其已加入保護計劃及從中排除。將在方塊3229被標記為有資源分配錯誤的受保護物件轉為「等候狀態」。在方塊3231,刪除所有檢查點並將受保護群組標記為「不在轉譯中」。如果已經移除所有受保護物件,則刪除受保護群組。在方塊3233,含義轉譯3200完成。
第33圖根據本發明的一項具體實施例,為建立受保護群組之保護計劃之保護計劃建立常式的流程圖。保護計劃建立常式3300詳細說明上述參考方塊3219(第31圖)所述之保護計劃的建立與排程。保護計劃建立常式3300始於方塊3301,及在方塊3303,建立及排程受保護群組的複製作業。複製作業係為作業如下:將發生於生產位置之一或多個可保護物件的變更複製至儲存於儲存位置之對應的一或多個可保護物件的複製。例如,如果使用者在白天修改位在生產位置的受保護物件,則在執行複製作業後,將這些變更複製、傳送至儲存位置,並更新複製以包括這些變更。
在方塊3305,保護計劃建立常式3300建立及排程時間版本作業。時間版本作業是排程以在儲存位置執行資料之實際版本製作的作業。熟習本技術者已知時間版本的建立,此處將略過其詳細說明。
在方塊3307,建立及排程驗證常式。執行後,作業執行驗證常式,如以下參考第35圖詳細說明。在方塊3309,完成保護計劃建立常式3300。
第34圖根據本發明的一項具體實施例,為執行準備計劃之準備計劃執行常式的流程圖。準備計劃執行常式3400始於方塊3401,及在方塊3403決定保護受保護群組是否需要附加的資源。如上所述,產生決定保護儲存位置之受保護群組所需資源的資源計劃。在一項具體實施例中,可在建立及執行準備計劃之前的資源計劃中分配這些資源。
如果在決定方塊3403決定需要資源,則在方塊3405,執行在分配這些資源之資源計劃中建立的作業並分配資源。
在方塊3405分配資源後,或如果在方塊3403決定受保護群組的保護不需要附加的資源,則在方塊3407,建立和受保護群組相關聯之實體物件的所有初始複製、將其傳送至儲存位置、及將其儲存在先前分配的資源上。在建立受保護群組的初始複製並將其儲存於儲存位置以進行複製後,在方塊3409,以位在生產位置的實際實體物件驗證該複製。以下將參考第35圖來說明驗證。
在決定方塊3411決定是否已從受保護群組移除任何受保護物件。如果在方塊3411決定受保護物件已從受保護群組中移除,則在方塊3413,準備計劃包括停止監控這些物件的作業,且這些物件維持為可保護物件。由於監控消耗資源,作業將在不需要監控時停止監控。在方塊3415,準備計劃執行常式3400完成。
如上述,可使用更多或更少方塊以執行此處說明的常式。例如,在經由媒體負載完成複製時,準備計劃3400並不建立資料的初始複製(方塊3407)。同樣地,當複製用於歸檔時,準備計劃3400並不建立資料的初始複製(方塊3407)。
第35圖根據本發明的一項具體實施例,為驗證位在儲存位置之資料複製之驗證常式的流程圖。驗證常式3500始於方塊3501,及在方塊3503,驗證常式3500取得位在生產位置之實體物件的驗證參數。如熟習本技術者所明白,驗證參數是位在生產位置之實體物件的總和檢查碼。或者,驗證參數是生產位罝之實體物件的最後變更時間,或位在生產位置之實體物件的大小。一般而言,驗證參數可以是位在生產位置之實體物件之任何類型的識別。
在方塊3505,驗證常式3500取得位在儲存位置之物件的驗證參數。和生產位置之物件的驗證參數一樣,儲存位置之物件的驗證參數可以是總和檢查碼、最後變更時間、檔案大小等。
在方塊3507,比較在方塊3503取得之生產位置之受保護物件的驗證參數和在方塊3505取得之儲存位置之物件的驗證參數,以確認位在儲存位置的物件符合位在生產位置的受保護物件。在決定方塊3509,決定在方塊3507比較的參數是否相符。如果在方塊3509決定參數並不相符,則在方塊3513,驗證常式3500重新複製生產位置之不符合的受保護物件,並取代位在儲存位置的物件,然後繼續進行至決定方塊3511。
然而,如果在決定方塊3509決定參數相符,則在決定方塊3511決定是否有受保護群組尚未驗證的附加資料。如果決定有受保護群組尚未驗證之位在儲存位置的附加資料,則驗證常式返回方塊3503並繼續此程序。或者,如果在決定方塊3511決定沒有附加的資料,則儲存位置已經驗證,及驗證常式完成於方塊3515,藉此確認位在儲存位置的物件符合受保護物件。
除了驗證常式在含義轉譯中執行準備計劃的部分以確認複製的精確性,還可排程驗證常式以在其後重新確認實體物件之保護的精確性。此外,可排程及執行驗證常式以將位在儲存位置之物件的複製置於有效狀態。如果系統當機或如果發生某個其他類型的未排程變更,則位在儲存位置之實體物件的複製將在無效狀態。例如,如果變更日誌(說明如下)因無法在儲存位置套用這些變更而溢位,則副本將變成無效。
第36圖根據本發明的一項具體實施例,為驗證位在儲存位置之物件複製之排程的驗證常式的流程圖。排程的驗證常式3600始於方塊3601,及在方塊3603,此常式識別位在要驗證之儲存位置之受保護群組的物件複製。在決定方塊3605,決定識別的複製是否在有效狀態或無效狀態。如果在決定方塊3605決定識別的複製處於無效狀態,則在方塊3607,排程的驗證常式3600執行參考第35圖所述的驗證常式3500。
然而,如果在決定方塊3605決定複製處於有效狀態,則在決定方塊3609決定位在儲存位置之受保護群組的任何附加複製是否需要使其有效性受到確認。如果在決定方塊3609決定附加的複製需要使其有效性受到確認,則排程的驗證常式3600返回方塊3603並識別要驗證的附加複製,然後繼續進行該程序。然而,如果在決定方塊3609決定沒有任何位在儲存位置之要驗證的附加複製,則排程的驗證常式3600完成,如方塊3611所示。
第37圖根據本發明的一項具體實施例,顯示副本之狀態轉變的方塊圖。在資源分配中分配儲存位置的部分之前,副本處於未分配的狀態。在含義轉譯分配受保護群組的資源後,副本轉變成已分配狀態。然後必須傳送其內容(受保護群組的複製),並將其傳送及儲存在儲存位置。傳送與儲存可藉由使用磁碟至磁碟初始化(由資料保護系統 自動進行)、藉由自動媒體載入或藉由管理員手動(例如,藉由手動媒體載入)來完成。如果完成磁碟至磁碟初始化,則含義轉譯程式自動建立初始複製作業。初始複製作業在執行後,將副本置於無效狀態。如果使用媒體載入初始化複製,則使用者指示何時完成媒體載入,並在當時將副本置於無效狀態。
在副本處於無效狀態後,必須執行驗證作業以將其置於有效狀態。如上述,驗證作業可確定儲存位置的複製符合生產位置的受保護物件。
除了處於已分配狀態3703、無效狀態3705、或有效狀態3711的副本,副本還可轉變為遺失狀態3713。例如,隨著時間經過,為特定受保護群組之副本分配的實體媒體可能失效,而使副本置於遺失狀態。從遺失狀態3713,資料保護系統利用和使用者的互動,決定複製的資訊是否需要繼續受到保護。如果受保護群組要有繼續的保護,則重新分配資源,藉此將副本轉變回到已分配狀態3703。如果從遺失狀態3713決定和該副本相關聯的資訊不再需要受到保護,則副本可轉變至已損毀狀態3707,及資料保護系統將不再執行受保護群組的複製。
亦可暫時將副本轉變為遺失狀態3713。例如,磁碟可能因為一些硬體問題而暫時中斷或無法使用,但之後再次變成可用。在此例中,在磁碟再次變成可用後,副本可返回有效狀態3711或無效狀態3705。
為回應使用者指示不想再保護受保護群組而到達已損 毀狀態3707。副本可從任何其他狀態轉變為已損毀狀態3707。例如,如果副本處於無效狀態3705,則使用者可指示不想再保護複製於副本上的受保護物件,因而將此副本轉變為已損毀狀態3707。將副本置於已損毀狀態可對資料保護系統指示使用者結束保護複製於副本的受保護物件,及實體媒體(如硬碟)可被傳回可用媒體集區並被分配至其他的受保護群組。
在本發明的一項具體實施例中,當使用者指示不想再繼續保護複製於副本的受保護物件時,副本將轉變為已停止狀態3709,藉此在有限的時間內維護副本及其時間版本。在指示資訊不再受到保護後維護資訊,可提供使用者復原該資訊直到停止保護時的能力。
第38圖根據本發明的一項具體實施例,顯示在發生於先前含義轉譯常式中之中斷後重新啟動含義轉譯常式之重新啟動常式的流程圖。重新啟動常式3800始於方塊3801,及在決定方塊3803,此常式決定受保護群組目前是否在含義轉譯中。如果在決定方塊3803決定受保護群組在含義轉譯中,則在決定方塊3805決定在含義轉譯中是否已經分配受保護群組的所有資源。如果在決定方塊3805決定所有資源尚未分配,則取消分配在重新啟動前分配的任何資源,如方塊3806所示。在取消分配任何先前分配的資源後,在決定方塊3807決定含義轉譯中的受保護群組是否是新的受保護群組。如果在決定方塊3807決定受保護群組不是新的受保護群組,則在方塊3808,此常式將已新增至既有受保護群組的新物件轉為等候狀態。尤其,將新物件轉為未受使用者保護並等候使用者動作。
在方塊3809,將既有的受保護群組標記為不在轉譯中,然後在方塊3817,此常式完成。將既有的群組轉為不在轉譯中,並將新物件轉為等候狀態,可將資料保護系統轉為其在嘗試之轉譯前的狀態。尤其,必須將新物件再次新增至既有的受保護群組,及既有之受保護群組的物件繼續像其在含義轉譯常式之初始嘗試前受到保護一樣受到保護。
往回參考決定方塊3807,如果決定在發生中斷時在含義轉譯中的受保護群組是新的受保護群組,則在方塊3811,將新的受保護群組的所有受保護物件轉為等候狀態(即,未受使用者保護並等候使用者動作),及此常式完成於方塊3817。除了將物件轉為等候狀態,亦可刪除受保護群組,因群組內沒有任何受保護物件。
往回參考決定方塊3805,如果決定所有資源在中斷前已經分配,則在方塊3813,識別由嘗試之含義轉譯常式所產生的最後檢查點。如上述,檢查點係產生於含義轉譯常式中的兩個不同點。尤其,檢查點係產生於分配資源後,然後又在建立或更新保護計劃後及建立準備計劃後。在方塊3813識別最後檢查點後,從識別的最後檢查點重新啟動含義轉譯常式,如方塊3815所示,然後程序完成於方塊3817。
有若干方式可保護儲存位置的實體物件。例如,可在如伺服器的計算裝置上維護副本,可將歸檔複製儲存於如磁帶或其他可抽取式媒體等的實體媒體上。可提供使用者所需的保護類型作為保護含義的部分,或作為由含義轉譯程式轉譯成一組計劃的高階目標,如上所述。對於歸檔資料於磁帶或其他可抽取式媒體上,資料保護藉由以下方式來運作:經由媒體的一或多個實體部分的「資料集」,在特定及時點建立含有受保護群組之資料或其中對及時點之變更的表示法。資料集是和一或多個受保護物件相關聯之一或多個歸檔路徑的結果。此外,各資料集含有一或多個復原來源,因多個復原來源可促成復原,多個資料集亦為促成復原所需。
不像媒體為管理之主物件的其他備份應用程式,根據本發明的一項具體實施例,管理資料集與資料集和媒體的關聯,而非管理媒體本身。
歸檔係設計用來長時間(按週、月、年的順序)保存資料。歸檔的媒體通常保存於站外,以保護免於影響整個生產位置的災難,如地震或火災。亦可將歸檔的媒體保存在工作站,以便從較小的運行中斷復原,包括損失伺服器或磁碟或使用者錯誤。此外,對於利用複製與歸檔二者的這些具體實施例,可將歸檔的媒體保存在副本的儲存位置、生產位置、或分開的位置。
第39圖根據本發明的一項具體實施例,顯示產生歸檔資料之計劃的歸檔保護計劃建立常式。歸檔保護計劃建立常式3900始於方塊3901,及在方塊3903,此常式接收資料保護種類。由使用者識別資料保護種類以要在工作站、站外、或在工作站與站外二者歸檔其資料與否。除了接收資料保護種類,在方塊3905,此常式接收資料保護持續期間。資料保護的持續期間為使用者提供之要能夠復原多久前的受保護資訊的高階含義。可將這些含義敘述為使用者要能夠復原的目標。
例如,提供「I want to be able to recover data for up to seven years(我要能夠復原資料多達七年)」的含義將轉譯成允許使用者能夠復原七年前存在於生產位置之資訊資料的歸檔計劃。資料保護持續期間可以是數年、數月、數週、或數日。如方塊3907所示,歸檔保護計劃建立常式3900亦接收排程含義,如使用者何時要使歸檔資料的動作發生。在一項例示性具體實施例中,亦可接收資料保護格式。資料保護格式包括但不限於:完整備份、差異備份、及增量備份。如此處所用,完整備份是將所有受保護物件複製於儲存位置的備份。如此處所用,差異備份是將自上次完整備份後修改的受保護物件複製於儲存位置的備份。如此處所用,增量備份是只複製自某個先前備份(完整、差異、或增量)的時間後修改之受保護物件的備份。如此處所述,差異備份與增量備份一般又稱為「局部備份」,因而該詞可用來識別二者之一。使用者亦可指定是否應從生產位置的原始資料建立歸檔或應從儲存位置的複製建立歸檔。
基於資料保護種類與保護持續期間,歸檔保護計劃建立常式3900決定滿足使用者指定之高階需求的預設歸檔方案。在一項實際的具體實施例中,有四種不同類型的方案可用來歸檔資料。第一方案,又稱為曾祖父、祖父、父親、兒子(GGFS),提供:在工作站維護四週的每年完整備份及站外維護數年的複製;在工作站維護四週的每月完整備份及站外維護一年的複製;在工作站維護四週的每週完整備份及站外維護四週的複製;及在工作站維護兩週的每日差異備份。在一項例示性具體實施例中,根據在方塊3903識別的保護種類而定,只維護工作站或站外複製。在另一項具體實施例中,基於在方塊3903識別的保護種類,可在一段時間後,在站外傳送及維護工作站複製本身。另一方案在此又稱為祖父、父親、兒子(GFS)方案。GFS方案提供:在工作站維護四週的每月完整備份及站外維護一年的複製;在工作站維護四週的每週完整備份及站外維護四週的複製;及在工作站維護兩週的每日差異備份。
另一歸檔方案在此又稱為親代、子系(FS)方案。FS方案提供:在工作站維護四週的每週完整備份及站外維護四週的複製;及在工作站維護兩週的每日差異備份。另一歸檔方案在此又稱為子系(S)方案。S方案提供:在工作站維護一週的每日完整備份及站外維護一週的複製。最後,提供取自正常保護方案外之備份的臨機常式亦可供使用。這可以是在工作站或站外保存之沒有過期日的完整備份。
熟習本技術者應明白,使用者可修改任何層級的預設歸檔方案,並可提出附加的/替代的預設歸檔方案。例如,可修改種類(在工作站、站外)、持續期間(月、年)、及格式(完整、差異、增量)。此外,使用者可指定歸檔方案的排程控制。例如,使用者可指示開始方案之星期的日數、產生歸檔之日的時間、方案是否要按照公司行事曆、每月行事曆等來操作。
往回參考第39圖,提供使用者預設的歸檔方案,並提供使用者覆寫所提供方案之任何部分的能力。在決定方塊3911,決定使用者是否已對決定的歸檔方案提供任何覆寫。如果在決定方塊3911決定使用者已提供覆寫,則在方塊3913,修改歸檔方案以包括這些覆寫。可對備份方案的任何部分提供覆寫,並可改變覆寫的範圍。例如,覆寫包括:備份格式(完整、差異、增量)、要在工作站維護之複製的數量,要在站外維護之複製的數量、站外複製的保留期間、是否停用S層級、是否應該及何時確認藉由備份生產的資料集、是否應該在生產位置、儲存位置或他處進行歸檔、星期的起始日、運作的日數等。可因各種理由而需要停用S層級。例如,如果使用者已經實施歸檔與複製二者,則使用者可決定省去每日歸檔保護(S層級),並依靠複製處理所有的工作站復原需求。
如方塊3913所示,在已接受或修改在方塊3909決定的歸檔方案後,在方塊3915,歸檔計劃建立常式3900產生保護歸檔資料所需的計劃。如上述,保護資料所需的計劃包括:資源計劃、準備計劃、及保護計劃。最後,在如方塊3915所示產生計劃後,歸檔保護計劃建立常式3900完成於方塊3917。
第40圖根據本發明的一項具體實施例,為顯示用於產生歸檔方案之不同世代之範例的表格。表格4000識別具有增量備份模式的子世代4001,該世代維護一工作站複製兩週,一週維護五天(如,星期一至星期五),且不維護站外複製。父世代4003維護一工作站複製的完整備份模式,其係保留四週並每週執行一次完整備份(如,星期六),但每個月有一週不用執行(如,每個月的最後一個星期六)。同樣地,父世代4003維護一站外複製四週。祖父世代4005具有完整備份模式,其維護每個月產生一次(如,每個月的最後一個星期六)之一工作站複製四週,但每年有一個月不用執行(如,一年的最後一個星期六)。此外,祖父世代4005維護一站外複製12個月。最後,曾祖父世代4007具有完整備份模式,其維護被保留四週且每年產生一次(如,一年的最後一個星期六)的一工作站複製。此外,曾祖父世代4007維護一站外複製七年。
作為根據公司行事曆之排程(一個月的最後一個星期六、一年的最後一個星期六等)的替代方案,可根據實體行事曆來完成排程。例如,可排程作業使其發生於一個月的最後一天、一年的最後一天、一個月的第一天等。這些日期可以是星期六也可以不是星期六。如熟習本技術者所明白,可配合本發明的具體實施例利用任何類型的排程及/或行事曆排定,及利用公司行事曆或實體行事曆僅是提供作為範例。排程的另一方面是指定執行作業之期間的能力。排程執行作業的期間允許使用者識別可執行作業之特定時間的能力。此外,在保護系統發現作業未在指定時間完成時,資料保護系統將提供事先警告。或者,當作業未在執行時間的排程期間中完成時,其將自動終止,且可能重新排程。
如熟習本技術者所明白,可修改如子世代4001、父世代4003、祖父世代4005、及曾祖父世代4007等世代,以利用參考第40圖所述之保護計劃上的不同變化。唯一的需求是親代是子系的等集合或超集合。例如,如果父世代為完整備份,則子世代可以是完整、差異、或增量備份。此外,在工作站或站外維護之複製的數量可以是介於零與使用者所需任何數目的任何組合。亦可視使用者需要來調整對複製所進行的保留時間與頻率。
除了建立長期資料保護的歸檔方案,資料保護系統還提供持續進行的分配、輪換運作、保存(站外儲存)、及收回媒體。因此,根據本發明的一項具體實施例,和各受保護群組相關聯的是媒體集區。媒體集區是媒體也是放置各種含義以控制媒體分配與回收利用之物件的容器。如參考第41圖的詳細說明,有若干類型的含義用來控制媒體分配,如共同位置含義。可根據本發明的一項具體實施例使用之共同位置含義的範例如下:作業共同位置含義、子系共同位置含義、及父/子共同位置含義。作業共同位置含義嘗試使用相同作業內之工作的相同媒體。在作業有多個工作及這些工作的資料裝在媒體的單一部分時,這可減少裝載/卸載媒體的數量。子系共同位置含義控制GGFS、GFS、FS或S歸檔方案的子作業如何使用媒體。如果指定子系共同位置含義,則一個週期(如一週的週期)的第一子作業將始於媒體新的部分,但除非媒體無法使用或沒有足夠的空間,否則所有後續子作業將嘗試附加至媒體的相同部分。使用父/子共同位置含義將使每週完整與後續每日差異備份與增量備份儲存於媒體的相同部分。
第41圖根據本發明的一項具體實施例,為在已經指定作業共同位置含義與子系共同位置含義中每一個時分配歸檔資料之媒體的流程常式。如所明白的,可指定共同位置含義的其他組合,以分配歸檔的媒體,及參考第41圖所述的常式僅是範例。只要需要媒體,即可執行媒體分配常式4100。媒體分配常式4100始於方塊4101,及在決定方塊4102決定是否已指定作業共同位置。如果決定尚未指定作業共同位置,則媒體分配常式繼續進行至決定方塊4111,並繼續如下文說明。然而,如果在決定方塊4102決定已經指定作業共同位置,則在決定方塊4103決定嘗試分配媒體的工作是否來自於取代作業。取代作業是取代未成功完成之先前作業的作業。如果在決定方塊4103決定工作是來自於取代作業,則在方塊4105,常式將嘗試分配在未成功完成之原始作業中使用及分配的相同實體媒體。
然而,如果在方塊4103決定工作不是來自於取代作業,則在決定方塊4107決定工作是否為作業的第一工作。如果決定工作不是作業的第一工作,則在方塊4109,媒體分配常式4100嘗試分配已為相同作業之先前工作分配的媒體。
然而,如果在決定方塊4107決定工作是作業的第一工作,則在決定方塊4111決定受保護的資料集是否是第一子資料集。如果在方塊4111決定受保護的資料集是第一子資料集,則在決定方塊4112決定是否指定FS共同位置含義。如果指定FS共同位置含義,則在方塊4113,媒體分配常式4100嘗試分配相同週期之父資料集使用的媒體。如此處所述,週期係為歸檔設定之排程的時間長度(如天數或週數)。然而,如果在決定方塊4112決定未指定FS共同位置含義,則常式繼續進行至決定方塊4115,其說明如下。
如果在決定方塊4111決定資料集不是子資料集或不是週期的第一子系,則在決定方塊4114決定資料集是否是第二子資料集或更後面的子資料集。如果決定資料集是第二子資料集或更後面的子資料集,則在決定方塊4118決定是否指定FS共同位置含義或S共同位置含義。如果指定FS共同位置含義或S共同位置含義,則在方塊4116,媒體分配常式4100嘗試分配相同週期之最後子資料集使用的媒體。然而,如果在決定方塊4118決定未指定FS共同位置含義或S共同位置含義,則常式繼續進行至方塊4115,其說明如下。
然而,如果在決定方塊4114決定資料集不是第二子資料集或更後面的子資料集,則在決定方塊4115決定相同世代之可回收利用的媒體是否可用。例如,如果資料集是父資料集,則決定可用媒體上是否含有其他父資料集。如果在決定方塊4115決定相同世代有可用之可回收利用的媒體,則在方塊4117,媒體分配常式4100選擇相同世代之可用之最舊的可回收利用的媒體,並嘗試分配該媒體。
如果在決定方塊4115決定相同世代沒有任何可用媒體,或如果在決定方塊4127決定方塊4105、4109、4113、4117的嘗試分配之一無法成功完成,則在決定方塊4119決定可用集區中是否有任何媒體。如果在決定方塊4119決定集區內有媒體,則在方塊4121,媒體分配常式4100取得集區的可用媒體,並使用該媒體進行分配。
最後,如果在決定方塊4119決定特定受保護群組在集區內沒有可用媒體,則媒體分配常式4100在方塊4123嘗試取得附加的媒體。通知使用者受保護集區需要使用附加的媒體或查詢既有的可用媒體集區,即可取得附加的媒體。可用媒體集區含有和另一受保護群組沒有關聯的媒體。如果可用媒體集區中沒有可用媒體可供使用,則通知使用者需要將附加的可用媒體新增至儲存位置並將其指派給可用媒體集區。在分配附加的媒體後,媒體分配常式4100完成,或如果無法分配附加的媒體,則此常式失效,如方塊4125所示。
除了參考第41圖所述的含義,還可利用附加的含義來控制媒體集區的活動。例如,最大值含義指定媒體集區中可維護之媒體部分的最大數量,其可由使用者來指定。利用最大值含義可防止不必要的媒體新增(由使用者進行或自動進行)至集區超出最大值。同樣地,可使用每日最大值含義來控制在24小時期間指派給特定集區之可用媒體的數量。利用最大值與每日最大值可防止從可用集區不必要或意外的指派媒體至特定集區。
亦可為歸檔保護的媒體分配指定最小臨限值含義。最小臨限值含義指定可用媒體集區中應可用以分配至各種媒體集區之最小數量的媒體部分。如果可用媒體的數量在最小量以下,則通知使用者需要將附加的媒體新增至儲存位置並將其指派給可用媒體集區。亦可指定媒體清除含義以控制在重新使用可回收利用的媒體或將其釋放至可用媒體集區以進行重新分配之前,是否需要清除任何可回收利用的媒體。
將受保護物件從生產位置複製或複製至儲存位置係發生在安裝於各位置的一對代理程式之間。此對代理程式的動作係由資料保護程式加以控制。例如,對於複製,在生產位置安裝複製代理程式,及在儲存位置安裝複製代理程式。複製代理程式與複製代理程式的動作均由資料保護程式加以控制。此外,資料移動程式可當作此對代理程式之間的橋樑。資料移動程式確保代理程式間的互相驗證,並視情況執行資料加密、解密、壓縮、或解壓縮。此外,資料移動程式包括節流流程控制,以限制資料保護系統在資料傳輸期間消耗的網路頻寬。
第42圖根據本發明的一項具體實施例,顯示資料保護系統的方塊圖。資料保護系統4200包括資料保護程式4201,用來管理將資料(受保護物件)從生產位置4203傳送至儲存位置4205。如上述,對於複製,生產位置4203包括複製代理程式4207與資料移動程式部分4209A,以控制生產位置4203與儲存位置4205間的資料流程。同樣地,儲存位置4205包括複製代理程式4211與資料移動程式的第二部分4209B,以從生產位置4203取得資訊。生產位置4203、儲存位置4205、及資料保護程式4201間的互動可用來將資料從生產位置4203傳送至儲存位置4205,及確認藉由和資料保護程式4201通信所傳送之該資料的有效性。
資料係經由資料移動程式4209A,從生產位置4203傳輸通過通信通道4213,再經由資料移動程式4209B而到達儲存位置4205。資料保護系統包括監控將資料從生產位置4203傳送至儲存位置4205的能力,及如果此通信通道失效,則具有繼續已中斷之資料傳輸的能力。為了能夠繼續傳送資料,而不必重新開始,需要定期追蹤及儲存資料傳輸的狀態。這可藉由監控將資料從生產位置4203傳送至儲存位置4205的資料保護程式4201來完成。
資料係在通信通道4213上以資料塊或記錄的形式傳送。在此種傳輸系統中,由生產位置4203保存部分資料,及由儲存位置4205保存部分資料。如果通信通道失效,資料傳輸遭到中斷,傳輸狀態將失去同步化。例如,生產位置4203已傳輸的記錄數量和儲存位置4205所成功接收的記錄數量不同。要解決此問題,資料保護程式4201藉由個別地指示生產位置4203與儲存位置4205何時停止或開始資料傳輸,來監控及控制資料傳輸程序。
為了保護資料,位在生產位置4203的複製代理程式4207經由資料移動程式4209,將資料傳送至位在儲存位置4205的複製代理程式4211。傳輸該資料作為通信通道4213上的資料記錄,以建立位在生產位置之受保護物件的副本或複製。複製代理程式與複製代理程式將資料傳輸狀態作為特殊資料塊(此處又稱為記錄檢查點)傳達至資料保護程式4201。資料保護程式4201接收記錄檢查點並將其儲存在資料庫中。此外,資料保護程式4201將指令/命令傳達至複製代理程式與複製代理程式。
生產位置之複製代理程式4207在通信通道4213上傳輸的資料記錄一般有兩個類型。第一類型的資料記錄代表對位在生產位置之受保護物件所進行的變更。第二類型的資料記錄包括關於受保護物件資料的資訊(中繼資料)。含有中繼資料的記錄係由資料保護系統所產生。如以下所述,中繼資料係用來驗證傳輸並儲存於儲存位置之資料的複製,且其可以是如資料的總和檢查碼。
在從複製代理程式(第43-47圖)的變更日誌將特殊的資料標記(記錄檢查點)傳輸至複製代理程式(第43-47圖)的溢出日誌時,將特殊的資料標記插入資料記錄流,即可從複製代理程式4207傳達生產位置4203之資料傳輸的狀態。在一項實際的具體實施例中,在由生產位置的資料移動程式4209A傳輸記錄檢查點時,將記錄檢查點加到資料流的末端。在一項例示性具體實施例中,可將記錄檢查點新增至變更日誌並將其和資料流一起傳輸作為資料項目。在儲存位置之資料移動程式4209B接收資料流後,將資料與任何記錄檢查點儲存於溢出日誌。
當複製代理程式4211遇到資料流中的此種記錄檢查點時,會將這些記錄檢查點轉送給資料保護程式4201。此外,複製代理程式產生其自已的記錄檢查點,然後將其也轉送給資料保護程式4201。複製代理程式4207與複製代理程式4211二者所產生之記錄檢查點中所含的資訊將由資料保護程式在傳送開始或停止操作的命令時使用。
當資料保護程式4201接收記錄檢查點中任何一個時,將其自動儲存於資料庫中,藉此保持資料保護系統對通信失效、程序、及系統重新啟動的彈性。
在本發明之實際的具體實施例中,複製代理程式4207產生兩個類型的檢查點,此處稱為「C類檢查點」與「A類檢查點」。C類檢查點代表從複製代理程式4207將資料記錄傳送至複製代理程式4211的狀態。A類檢查點代表產生中繼資料記錄之總程序內的位置。
複製代理程式4211產生一個類型的記錄檢查點,此處稱為「B類檢查點」。B類檢查點識別複製代理程式4211所接收及套用的資料記錄。
C類與B類檢查點為資料檢查點。這些資料檢查點可用來繼續將資料從複製代理程式4207傅輸至複製代理程式4211,及繼續在複製代理程式4211上套用所接收的資料記錄。A類檢查點為中繼資料檢查點。這些資料檢查點可用來監控產生中繼資料之複製代理程式4207上長時間執行的程序。產生A類檢查點可在資料傳輸中斷時減少為此長時間執行之程序重複的工作量。
詳言之,C類檢查點在複製代理程式4207系統與複製代理程式4211系統上含有資料記錄流之位置的指標。複製代理程式4207產生C類檢查點並將其轉送給複製代理程式4211。複製代理程式4211使用在其溢出日誌中最後接收記錄的指標來更新C類檢查點。
B類檢查點含有最後由複製代理程式4211在儲存位置4205套用之資料記錄的指標。當資料保護程式4201接收B類檢查點時,將對資料保護程式4201識別已將B類檢查點前的所有資料塊套用於儲存於儲存位置之資料的副本。
A類檢查點指示由複製代理程式4207產生中繼資料時所處理的受保護資料量。在複製代理程式接收A類檢查點後,複製代理程式視需要新增其自己的中繼資料,並將A類檢查點轉送至資料保護程式。當資料保護程式接收A類檢查點時,這表示中繼資料產生已完成至檢查點所含的位置。在一項具體實施例中,可連續參照(如,連續編號)A類檢查點,以使資料保護系統能夠決定A類檢查點是否遺失。如果遺失A類檢查點,將重新啟動驗證,因可能遺失差異清單的元素。如下文所述,差異清單包括識別在副本沒有符合之受保護物件的資訊。比較生產位置產生的中繼資料和儲存位置產生的中繼資料,即可識別這些物件。
除了上述三個檢查點類型,資料保護程式4201可產生特殊的標記符記,並將其傳送至位在將插入於資料記錄流之生產位置4203的複製代理程式。然後複製代理程式4207經由通信通道4213,將此符記傳輸至複製代理程式4211。在接收後,複製代理程式4211將符記傳輸回到資料保護程式4201。標記符記的用途是在繼續中繼資料產生之前,從任何資料通信傳輸清除所有A類檢查點。將所有A類檢查點傳遞通過系統,即可傳輸已由複製代理程式4207產生的中繼資料,且只在此時繼續中繼資料產生。其好處在於其可防止資料記錄傳輸日誌溢出(如果中繼資料產生程序比複製代理程式4207能夠傳送的速度快上許多),且其可避免產生相同的中繼資料多次,因資料保護程式4201在接收標記符記之前查看所有的中繼資料。
第43-44圖根據本發明的一項具體實施例,顯示監控資料保護系統所執行之常式之資料傳輸的流程圖。如上述,為回應使用者或另一個人在排程的作業執行時間對受保護資料進行變更,而啟動生產位置4303與儲存位置4305間的資料傳輸。為回應使用者對受保護資料所進行的變更,生產位置4303在變更日誌4307中記錄受保護資料之變更的記錄。例如,R1 、R2 、R3 、R4 、R5 、及R6 為生產位置4303之複製代理程式記錄於變更日誌4307的各變更記錄。資料移動程式將定期從變更日誌4307提取變更日誌4307中所含的記錄,將其一起建立批次並傳輸至儲存位置4305。此外,複製代理程式產生的C類檢查點含有最後傳輸之記錄的變更日誌4307之位置的指標,並將C類檢查點附加至傳輸批次的末端。例如,複製代理程式可從變更日誌4307提取記錄R1 、R2 、及R3 ,將這些記錄一起建立批次並將此批次傳輸至生產位置4305。產生的C類檢查點4311含有R3 之變更日誌4307之位置的指標,此例中為變更日誌位置4。將C類檢查點加到被傳輸至生產位置4305之批次的末端。
雖然上述範例顯示可產生C類檢查點並將其和資料的每個傳輸批次一起傳輸,但在一項例示性具體實施例中,可基於傳輸的資料量產生C類檢查點。在此種具體實施例中,只有在資料量超過預定最小傳輸入小時才產生C類檢查點。在又另一項具體實施例中,C類檢查點的產生及傳輸取決於自產生及傳輸先前C類檢查點後的時間。此外,可按預定的數量的資料傳輸來產生及傳輸C類檢查點的產生與傳輸。例如,每第五個資料傳輸即可產生及傳輸C類檢查點。此外,可配合本發明的具體實施例利用任何產生及傳輸檢查點的技術組合。例如,C類檢查點可產生於資料超過最小大小或每第五個傳輸時。
位在儲存位置4305的複製代理程式經由資料移動程式接收傳輸的記錄與C類檢查點,然後將傳輸的記錄與C類檢查點儲存於溢出日誌4313。此外,在接收C類檢查點4311後,儲存位置4305的複製代理程式將第二指標新增至識別C類檢查點之溢出日誌4313之位置的C類檢查點,在此例中,新增至C類檢查點4311的指標是溢出日誌位置106的指標。因此,C類檢查點4315含有以下二者的指標:變更日誌4307之最後傳輸位置的位置與溢出日誌4313之C類檢查點的位置。然後由複製代理程式將C類檢查點4315轉送至資料保護程式4301。資料保護程式4301將C類檢查點記錄於資料庫。在一項例示性具體實施例中,並不將C類檢查點儲存於溢出日誌,而是複製代理程式將指標新增至識別以批次傳輸之最後變更記錄的C類檢查點,然後將C類檢查點轉送至資料保護程式4301。
現在參考第44圖,資料保護程式4301在從儲存位置4305接收C類檢查點後,將C類檢查點儲存於資料保護程式的資料庫,並將C類檢查點確認傳輸至生產位置4303。由生產位置4303接收C類檢查點確認可對生產位置識別所有記錄在儲存位置4305接收C類檢查點之前已經傳輸,因此這些已傳輸的記錄可從變更日誌4307中清除。
除了接收記錄並將這些記錄儲存於溢出日誌4313,位在儲存位置4305的複製代理程式開始將接收的記錄套用於位在儲存位置4305之資料的副本。在預定的點,複製代理程式產生的B類檢查點包括套用於複製資料4317之最後記錄之溢出日誌4313內之位置的指標。預定點可基於但不限於如:處理的資料量、自上一個B類檢查點後的時間、或這兩個的組合。例如,複製代理程式可套用溢出日誌4313位置103的R1 、溢出日誌4313位置104的R2 ,且在將R2 套用於副本資料4317後,產生含有溢出日誌位置104之參照的B類檢查點。產生的B類檢查點4319由儲存位置4305上的複製代理程式轉送至資料保護程式4301。資料保護程式4301將B類檢查點儲存於資料庫,以允許在發生資料傳輸中斷時使用記錄。
此外,為回應從儲存位置4305接收B類檢查點,資料保護程式4301將B類檢查點儲存於其資料庫,並將B類檢查點確認傳輸回到儲存位置4305。由儲存位置4305接收B類檢查點確認可對儲存位置4305識別資料保護程式已經記錄套用於副本資料4317之記錄的最後位置,且這些記錄可從溢出日誌4313中清除。
傳送記錄及將這些記錄套用於儲存位置之副本資料和檢查點之循環的程序,確認將記錄從生產位置4303傳輸至儲存位置4305的精確性,且提供資料保護程式4301因失效而可用來重新啟動資料傳輸的資訊。
第45圖根據本發明的一項具體實施例,顯示重新啟動從生產位置4303將變更記錄傳輸至儲存位置4305之資料保護系統的流程圖。為了解說,其中假設系統將資料從生產位置4303傳送至儲存位置4305,及傳輸因某個理由中斷且系統正在繼續該傳輸。
要繼續傳輸資料,資料保護程式4301參照於資料保護程式4301之資料庫所儲存的最後記錄之C類與B類檢查點,以識別生產位置4303與儲存位置4305的重新啟動位置。例如,參照B2 之記錄的B類檢查點,資料保護程式4301決定套用最後記錄之溢出日誌4313的位置是位置107。因此,資料保護程式4301產生要傳輸至儲存位置4305的命令,以指示儲存位置4305的複製代理程式開始套用溢出日誌位置108的記錄及儲存在溢出日誌位置111之後的下一個已接收資料記錄(即,溢出日誌位置112)。參照記錄於資料保護程式4301之資料庫的最後C類檢查點,即可識別複製代理程式開始儲存已接收記錄(112)的位置。在此範例中,參照C3 之C類檢查點的資料保護程式4301識別儲存位置4305所接收的最後已知C類檢查點係位在溢出日誌位置111。
同樣地,參照C3 之最後接收之C類檢查點的資料保護程式4301識別已知由儲存位置4305成功接收之生產位置4303所傳輸的最後記錄係位在變更日誌位置9。因此,資料保護程式4301產生要傳輸至生產位置4303的命令,以指示位在生產位置4303的複製代理程式從記錄10開始,開始傳送記錄至儲存位置4305。
總之,要有效繼續傳輸資料記錄,資料保護程式4301可產生及傳送三個命令。將產生開始傳送記錄命令並將其傳輸至生產位置4303,以識別變更日誌4307中的傳輸開始點。將開始套用記錄命令傳送至儲存位置4305,以識別溢出日誌4313內繼續套用的位置。還會產生第三命令(開始儲存接收記錄命令),並將其傳送至儲存位置4305,以識別溢出日誌4313內儲存新近接收之記錄的位置。
參照如B類與C類的檢查點並產生開始套用記錄命令、開始傳送記錄命令、及開始儲存接收記錄命令,將允許資料保護系統從資料傳輸內的已知檢查點重新啟動而使其本身重新同步,且不用從開頭開始傳輸資料,也不會遺失任何資料。
除了監控將變更記錄從生產位置4303傳輸至儲存位置4305,如上所述,資料保護系統具有驗證位在儲存位置4305之副本資料4317之完整性的能力。在本發明之實際的具體實施例中,從生產位置4303傳輸和儲存位置4305之記錄比較的驗證記錄,即可完成資料驗證。
第46與47圖根據本發明的一項具體實施例,顯示驗證副本4317之驗證常式的流程圖。要開始驗證常式,資料保護程式4301產生發給生產位置4303的命令,以開始驗證。為回應接收開始驗證命令,生產位置4303的複製代理程式開始為位在生產位置4303的各受保護物件產生中繼資料。將中繼資料新增至變更日誌4307作為記錄並和變更記錄一起傳輸。如上述,將記錄與中繼資料從變更日誌4307傳輸至儲存位置4305。在接收變更記錄後,位在儲存位置4305的複製代理程式將記錄套用於副本資料4317,如上所述。在套用中繼資料記錄如(V1 )後,位在儲存位置4305的複製代理程式計算副本資料4317之相同部分的中繼資料。比較兩個中繼資料的項目以確認副本資料之該部分的有效性與完整性。如果中繼資料不符合,則複製代理程式產生差異清單,以識別在副本4317沒有符合的受保護物件。
如熟習本技術者所明白,藉由產生要比較之資料的總和檢查碼及/或藉由比較資料的任何其他識別指標,如最後變更時間,即可完成利用中繼資料來比較副本資料和受保護資料。
在已將一組中繼資料記錄(如V1 與V2 )包括於變更日誌4307後的預定及時點,位在生產位置4303的複製代理程式產生新增至變更日誌4307作為記錄的A類檢查點。A類檢查點,如A1 ,係和變更記錄與中繼資料記錄一起經由通信通道傳輸至儲存位置4305。
在儲存位置4305的複製代理程式接收A類檢查點後,複製代理程式將A類檢查點與因比較中繼資料所產生的任何差異清單轉送至資料保護程式4301。如第46圖所示,可在清除A類檢查點之前,在溢出日誌中維護A類檢查點。或者,在接收A類檢查點後,可將其和差異清單一起轉送而不儲存於溢出日誌中。
資料保護程式4301接收A類檢查點與差異清單,並將A類檢查點與差異清單記錄於資料庫中。差異清單被轉送至生產位置,及重新複製所識別的受保護物件並將其重新傳輸至儲存位置。重新複製及重新傳輸所識別的受保護物件可因回應接收差異清單而發生,或可被排程在某個稍後的時間點發生(如,完成副本驗證後)。
A類檢查點本身包括已計算中繼資料之特定受保護物件的識別。例如,如果產生位在C:\at server1之受保護物件的中繼資料及產生中繼資料的最後受保護物件是C:\file50 on server1,則A類檢查點將含有C:\file50 on server1的參照。該資訊由資料保護程式4301儲存於資料庫中,因此如果資料傳輸中斷,將有可從中重新啟動驗證的參照點。
第47圖根據本發明的一項具體實施例,顯示的流程圖說明重新啟動資料保護系統所產生之在特定及時點中斷驗證時重新啟動驗證的驗證常式。為了此說明,將先假設資料傳輸已經中斷,然後現在要再繼續。在繼續資料傳輸時,資料保護程式4301產生並傳送標記符記,如第47圖的AP 所示。標記符記是資料保護程式4301產生的唯一符記,其係循環通過系統以在資料驗證繼續前,從系統中清除所有的中繼資料與A類檢查點。
位在生產位置4303的複製代理程式將標記AP 從資料保護程式4301傳輸至生產位置4303,並將其包括在變更日誌4307中。在生產位置4303接收標記符記AP 後,複製代理程式將標記AP 新增至變更日誌4307,其後再將標記AP 傳輸至儲存位置4305。在儲存位置4305接收標記符記AP 後,位在儲存位置4305的複製代理程式將標記符記AP 轉送回到資料保護程式4301。
在資料保護程式4301接收標記符記AP 後,資料保護程式4301即知道先前產生之系統的所有中繼資料已從生產位置4303傳輸至儲存位置4305。參照A類檢查點之資料庫的資料保護程式4301識別已經傳輸的最後A類檢查點,並準備包括要重新啟動資料驗證之生產位置之位置的重新啟動命令。資料保護程式4301將重新啟動驗證命令與繼續資料驗證點的識別傳輸至生產位置4303。
例如,參考第47圖,資料保護程式4301從其資料庫識別在先前驗證常式期間計算其中繼資料的最後受保護物件是C:\file1003 on server1。因此,資料保護程式4301知道已經產生及傳輸至server1之磁碟區C:的file1003的所有檔案的中繼資料,因此產生重新啟動驗證命令,以指示生產位置4303重新啟動產生C:\file1003 on server 1後的中繼資料。
第48A圖根據本發明的一項具體實施例,為處理生產位置所接收之命令之命令處理常式的流程圖。命令處理常式4800始於方塊4801,及在決定方塊4803決定接收的命令是否是「開始傳輸」命令。如上述,由資料保護程式產生命令,以控制資料保護系統中部署的代理程式。如果在決定方塊4803決定接收的命令是「開始傳輸」命令,則在方塊4805識別開始傳輸點。可將開始傳輸點包括在「開始傳輸」命令中。開始傳輸點識別變更日誌內開始資料傳輸的位置。
此外,在方塊4807,識別結束傳輸點。可以各種方式決定結束傳輸點。例如,藉由尋找含在變更日誌內的最後記錄並將其用作結束傳輸點,藉由決定資料傳輸的最大大小並識別日誌內達到該大小的點等等,即可識別結束傳輸點。在識別開始與結束傳輸點後,在方塊4809,命令處理常式4800將控制交給資料傳輸流程(第48B圖)。
往回參考決定方塊4803,如果決定接收的命令並非「開始傳輸」命令,則在決定方塊4811決定接收的命令是否是「開始驗證」命令。如果在決定方塊4811決定命令是「開始驗證」命令,則在方塊4813識別生產位置內開始驗證的位置。至於傳輸的開始與結束點,位置可能含在開始驗證命令內或可另外取得。在識別生產位置內開始驗證的位置後,命令處理常式4800將控制交給驗證常式(第48C圖),如方塊4815所示。
如果在決定方塊4811決定接收的命令並非「開始驗證」命令,則在決定方塊4817決定接收的命令是否是C檢查點確認。如果是C檢查點確認,則從變更日誌中清除變更日誌中所含在確認C檢查點之前傳輸的記錄,如方塊4819所示,然後此常式完成於方塊4821。然而,如果在決定方塊4817決定接收的檢查點不是C檢查點確認,則接收的命令將是標記符記AP 。在方塊4823,將標記符記AP 置於變更日誌中,然後此常式完成於方塊4825。
第48B圖根據本發明的一項具體實施例,為從生產位置將變更記錄傳輸至儲存位置之傳輸資料常式的流程圖。傳輸資料常式4830始於方塊4831,及在方塊4833,將取自變更日誌的變更記錄群組一起建立批次以進行傳輸。記錄的批次可以是任何數量的記錄。建立記錄批次可因回應變更發生後在預定時間點達到變更日誌的最大大小而發生。如熟習本技術者所明白,產生記錄批次的時序與所提供之記錄批次的大小只是範例,及可配合本發明的具體實施例利用建立記錄批次的任何時序與大小。例如,記錄批次可只包括一個記錄,並可在每次發生資料保護系統變更時就建立記錄批次。
在方塊4835,傳輸生產位置的記錄批次。除了傳輸記錄批次,還產生C類檢查點並將其加到記錄批次的末端,且作為記錄批次的部分來傳輸。如上述,C類檢查點含有變更日誌內記錄批次之最後變更記錄之位置的指標。在決定方塊4837,決定變更日誌內是否有附加的記錄。如果在決定方塊4837決定有新增記錄,則傳輸資料常式4830返回方塊4833的控制及此常式繼續。然而,如果在決定方塊4837決定沒有要傳輸的更多記錄,則常式完成,如方塊4839所示。
第48C圖根據本發明的一項具體實施例,為驗證資料之驗證常式的流程圖。驗證常式4840始於方塊4841,及在決定方塊4843決定生產位置內是否有需要發生驗證的任何物件。如果在決定方塊4843決定沒有要驗證的附加物件,則此常式結束,如方塊4844所示。然而,如果決定有要驗證的附加物件,則在方塊4845,產生物件的中繼資料。尤其,產生中繼資料的第一物件是對應於在命令處理常式4800之方塊4813(第48A圖)識別之開始位置的物件。在產生中繼資料後,以中繼資料記錄的形式(V)將該中繼資料新增至變更日誌。
在決定方塊4847決定是否要產生A類檢查點並將其新增至變更日誌。如上述,A類檢查點代表產生及傳輸中繼資料記錄之整個程序內的位置,並可用來重新啟動資料驗證。此外,A類檢查點包括連續標記,因此可決定是否未接收傳輸的A類檢查點之一。如果在決定方塊4847決定要產生A類檢查點,則在方塊4849產生檢查點並將其新增至變更日誌作為記錄,以進行批次建立並和其他含在變更日誌內的記錄一起傳輸。在將A類檢查點新增至變更日誌後,驗證常式4840返回決定方塊4843的控制,然後此常式繼續。然而,如果在決定方塊4847決定沒有要產生的A類檢查點,則驗證常式4840返回決定方塊4843後再繼續。
第49A圖根據本發明的一項具體實施例,為處理儲存位置所接收之命令之命令處理常式的流程圖。命令處理常式4900始於方塊4901,及在決定方塊4903決定接收的命令是否是「開始接收」命令。「開始接收」命令是儲存位置開始接收傳輸自生產位置之記錄的指令。如果在決定方塊4903決定命令是「開始接收」命令,則在方塊4905,識別溢出日誌內儲存接收記錄的起點。藉由接收含在「開始接收」命令內的位置或作為分開的指令,即可決定溢出日誌內的位置識別。在識別溢出日誌內開始儲存接收記錄的位置後,命令處理常式4900將控制交給接收記錄常式(第49B圖),如方塊4907所示。
往回參考決定方塊4903,如果決定接收的命令並非「開始接收」命令,則在決定方塊4909決定接收的命令是否是「開始套用」命令。如果接收的命令是開始套用命令,則在方塊4911,識別溢出日誌中開始套用記錄的開始位置。至於開始接收記錄位置,溢出日誌內的識別可藉由接收作為分開命令、和「開始套用」命令一起包括的位置來識別,或以其他方式來識別。在溢出日誌內識別開始套用的位置後,命令處理常式4900將控制交給套用變更記錄常式(第49C圖)。
如果在決定方塊4909決定命令並非「開始套用」命令,則命令為B類檢查點確認,及在方塊4915,從日誌中清除含在溢出日誌內在傳輸確認的B類檢查點之前已套用於儲存位置之複製的所有記錄。在方塊4917,完成常式。
第49B圖根據本發明的一項具體實施例,為接收儲存位置之記錄之接收記錄常式的流程圖。接收記錄常式4920始於方塊4921,及在方塊4923,接收下一個傳入的記錄。如上述,可使用任何類型的傳輸媒體來完成記錄傳輸,其包括但不限於:有線、無線等。在決定方塊4925決定接收的記錄是否是C類檢查點。如果是C類檢查點,則將C類檢查點的溢出日誌位置新增至C類檢查點,並將C類檢查點轉送至資料保護程式,如方塊4927所示。然而,如果在決定方塊4925決定記錄不是C類檢查點,則在決定方塊4929決定記錄是否是標記符記AP 。如果記錄是標記符記,在方塊4931,將標記符記轉送至資料保護程式。
如果在決定方塊4929決定記錄不是標記符記,則在決定方塊4935決定記錄是否是A類檢查點。如果在決定方塊4935決定記錄是A類檢查點,則在方塊4937,將A類檢查點與差異清單轉送至資料保護程式。如果在決定方塊4935決定記錄不是A類檢查點,或在將記錄轉送至資料保護程式(方塊4927、4931、4937)後,將接收記錄新增至溢出日誌,如方塊4939所示。在決定方塊4941決定是否有已接收的附加記錄。如果有附加記錄,則接收記錄常式4920返回方塊4923,然後此常式繼續。如果沒有任何附加的記錄,則常式完成於方塊4943。
第49C圖根據本發明的一項具體實施例,為將變更記錄套用於儲存位置之副本之套用變更記錄常式的流程圖。套用記錄常式4950始於方塊4951,及在方塊4953,從溢出日誌取得記錄。在決定方塊4955決定取得的記錄是否含有關於受保護物件的中繼資料。如果決定記錄含有中繼資料,則在方塊4957,比較中繼資料和儲存於副本之對應的物件。如上述,中繼資料可以是任何形式的物件識別,如最後變更時間、大小、計算的總和檢查碼等。在決定方塊4959,在比較中繼資料後,決定中繼資料是否不同。如果比較的中繼資料不同,則在方塊4961,將比較中繼資料的物件識別新增至差異清單。在將識別的物件新增至差異清單(方塊4961)後或如果在決定方塊4949決定中繼資料並無不同,套用變更記錄常式4950繼續進行至決定方塊4965,然後繼續。回到決定方塊4955,如果決定記錄不是中繼資料,則記錄是變更記錄,並將其套用於副本,如方塊4963所示。
在決定方塊4965決定是否應該產生B類檢查點。如上述,可基於任何形式的標準來建立B類檢查點的產生。例如,可在每次套用變更記錄後、或在預定的一段時間之後等產生B類檢查點。如果在決定方塊4965決定應該產生B類檢查點,則在決定方塊4967決定差異清單是否空白。如果決定差異清單並非空白,則在方塊4969,常式4950等待接收A類檢查點。如果差異清單並非空白則等待A類檢查點可確保在系統重新啟動時,產生新增至差異清單的中繼資料記錄不會遺失。在傳輸B類檢查點之前接收A類檢查點可確保在傳送差異清單時,不再需要用來產生該差異清單的所有中繼資料記錄。如果在決定方塊4967決定差異清單空白,或在方塊4969接收A類檢查點後,產生及傳輸B類檢查點,如方塊4971所示。
往回參考決定方塊4965,如果決定不應該產生B類檢查點,或在傳輸B類檢查點(方塊4971)後,在決定方塊4973決定溢出日誌中是否有尚未套用於副本的附加記錄。如果有附加記錄,則套用變更記錄常式4950返回方塊4953然後繼續。然而,如果在決定方塊4973決定沒有要套用的附加記錄,則常式完成,如方塊4975所示。
本發明的具體實施例提供使用任何類型的備份技術(如時間版本製作的複製及/或歸檔資料複製於可抽取式媒體)保護生產位置之資料的能力。在本發明的一項具體實施例中,藉由使用分散控制及協調位在資料保護系統不同部分之代理程式執行的動作,來實現保護生產位置之資料的能力。例如,代理程式可能位在生產位置、儲存位置、及/或資料保護程式位置。通常按排程執行這些稱為作業的活動。由於作業通常有關和遠端代理程式進行通信,因此這些作業通常不是同步,完成的時間也比較久。作業是可執 行一次或定期執行之活動的排程單元。作業由一或多個工作組成。可連續或平行執行工作。此外,作業將失效於工作中任何一項失效時,或作業可繼續執行所有工作直到工作完成或失效。
為了資料保護,將組織作業以對受保護群組的所有成員執行特定活動。透過組織含有執行特定作業之相應活動之工作的作業,即可產生資料保護。例如,保護或復原計劃包括一或多個用於這些作業的作業與排程。在本發明之實際的具體實施例中,將作業視為以下四個不同類型之一:保護、復原、發現、及內部管理。保護作業執行資料保護活動,如複製、時間版本管理、歸檔、或資料集預先配置。各保護工作和受保護群組相關聯。復原作業執行從副本、資料集、歸檔或其組合的資料復原。各復原工作和復原來源相關聯。發現作業,如初始發現常式(第25圖)與排程發現常式(第26圖),可發現資料保護程式外的實體。發現係執行用於搜尋、瀏覽、自動發現群組重新整理或儲存的搜尋、及受保護群組成員決定。內部管理作業執行資料保護系統維護所需的活動。內部管理作業包括:代理程式安裝的版本調查、建立摘要軌跡、媒體遷移、及資料保護系統資料庫廢棄項目收集。
資料保護系統的各作業由作業管理程式進行監控。作業管理程式監控作業的總進度、讀取有關這些作業之資料保護程式資料庫的資訊、及將接收自這些作業的資訊寫入其維護之資料保護程式資料庫的特定部分。對於作業管理程式維護之資料庫的部分,其為資料保護系統可將資訊寫入資料庫該部分的唯一管理程式。
第50圖根據本發明的一項具體實施例,為含有複數個工作之作業的方塊圖。如上述,作業5000包括一或多個工作如:工作1 5001、工作2 5002、直到任何數量的工作,如工作N 5003所示。作業的各工作由工作執行程式5005、5007加以執行及管理。工作執行程式5005在執行如工作2 5002的工作時可產生一或多個由分散於資料保護系統中的不同代理程式所執行的命令。例如,工作執行程式5005可對工作2 5002產生三個不同的命令,其中每一個由不同的代理程式來完成。由代理程式A 5009執行工作2 5002的第一命令,由代理程式B 5011執行第二命令、及由代理程式C 5013執行第三命令。根據工作類型與作業類型而定,代理程式5009-5013可連續或平行執行這些命令。
作業特性適用於作業的所有工作。作業的特定工作也可具有特定特性。保護作業的作業與工作特性由含義轉譯程式決定作為建立群組計劃之作業的部分。在本發明之實際的具體實施例中,所有作業具有下列特性:成功/失效的動作,及平行執行或僅連續執行。此外,任何有關資料移動的作業可具有下列特性:加密、壓縮、節流、及共同位置含義。
可產生各工作執行程式5005、5007作為由共同引擎執行的有限狀態機(FSM),該引擎透過不同的狀態轉變FSM以回應輸入、保留狀態、及執行重新啟動邏輯。例如,工作執行程式可基於先前對代理程式發出命令的回應而轉變。利用共同引擎允許所有FSM的設計依照共同的設計方法,並允許不同的FSM共用相同的公用塊(如輪詢以決定代理程式是否運作及從代理程式取得狀態)。
通常,工作執行程式發出命令給代理程式,並基於這些命令的成功或失效及對這些命令所提供的回應,轉進或轉出等待狀態。此外,工作執行程式5005、5007可在執行工作期間過了特定的時間長度後轉變,以回應取消要求(如,使用者的取消要求、因作業超過該作業所分配的最長時間的取消要求等),或以回應基於資料庫狀態所產生的內部訊息。在各轉變時,工作執行程式保留其在工作中的進度。可將保留的進度點儲存於資料保護程式資料庫中。工作中的保留進度點提供資料保護系統在發生意外終止(如電源中斷)時的強固性。重新啟動後,工作執行程式可參照保留點並識別相應工作的狀態,及從該點立即失效,然後執行任何需要的清除。
例如,對於複製的資料傳輸作業,如上述,工作執行程式發出命令給相應的代理程式,以執行作業的各工作。包括在這些命令中的是發給複製代理程式之開始傳輸變更記錄的命令。同樣地,工作執行程式發出開始接收及套用記錄的命令給複製代理程式。在代理程式執行這些命令時,工作執行程式開始計時器並轉變為等待狀態。在各轉變(發出命令、開始等待)時,工作執行程式保留工作進度點。可能為工作執行程式所接收的回應可以是檢查點、逾時事件、取消要求等。在接收回應後,工作執行程式根據回應轉變並保留工作的該點。此程序繼續直到工作成功完成或失效。
如果發生逾時事件,工作執行程式5005亦可輪詢各代理程式,以決定代理程式是否仍然運作,並可能取得有關該代理程式執行之命令進度的更新。除了保留轉變點以增加強固性,還設計長時間執行的活動,使其可從中間點、檢查點重新啟動,讓所有的運作不致因失效而損失。例如,往回參考第43至47圖,在資料傳輸與驗證期間建立檢查點。這些檢查點可由複製管理程式取得並儲存於資料保護資料庫中。如參考第43-47圖所述,在從失效中重新啟動後,可存取這些檢查點,及資料傳輸與驗證可從檢查點識別的點繼續。
在本發明的一項具體實施例中,除了執行完成工作,工作執行程式5005、5007還可在工作完成且無論工作成功完成或失效時,通知作業管理程式。作業管理程式維護其自己的軌跡,以提供作業中所有工作的摘要資訊。例如,作業軌跡含有成功完成的工作數量。作業管理程式亦保留接收自資料保護程式資料庫中工作軌跡之工作執行程式的資訊。此外,工作執行程式亦可以有關該工作的工作執行程式特定資訊維護其自己的工作軌跡。工作軌跡包括工作中所遭遇的任何錯誤及有關使用者可用於資料保護系統之工作的統計資料。工作類型特定軌跡由和該特定工作相關聯的管理程式接收及維護。工作類型特定軌跡包括工作特定資訊如:移動資料花費的總時間、完成工作的總時間、傳輸的總資料量等。在重新啟動資料保護系統後,可利用工作軌跡來識別導致失效的錯誤路徑。此外,工作可維護工作專用中繼資料。該專用中繼資料可用於重新啟動以清除失效工作及在工作完成(成功或失效)時建立工作軌跡。此外,工作執行程式5005、5007亦可管理和工作相關聯的中繼資料。
如果失效,在重新啟動後,作業可執行簡單的清除。這些作業不會對其本身重新排程或執行複雜的復原動作。相反地,失效之作業的工作只是更新任何實體物件狀態然後失效。失效將記錄於工作軌跡與作業軌跡中。對於夠重要而值得迅速與自動化復原活動的工作,資料保護系統可經由健康管理程式建立彌補作業,以用來從工作失效的點,或在工作產生的最後檢查點圓滿完成作業。健康管理程式利用工作軌跡及資料庫中各種物件的狀態來實施更複雜的復原機制,以使資料保護繼續進行。
對於被視為至關重要的工作,如複製,健康管理程式可監控這些工作。在所有的具體實施例中,以健康管理程式舉例說明健康提供程式。至關重要的工作在失效後產生失效事件。健康提供程式監控這些事件及決定是否需要執行任何復原。如果需要復原,則建立及排程彌補作業以復原一或多個失效的工作。此外,在系統啟動時,健康管理程式開始健康提供程式。各健康提供程式做出其他且獨立的決定,決定是否需要復原在系統先前終止的時間執行的失效工作。如果需要復原,則建立及排程彌補作業。彌補作業含有單一工作失效時在失效作業內的單一工作,或包括從未開始的這些工作之失效作業的所有未完成工作。
第51圖根據本發明的一項具體實施例,為顯示監控工作及建立彌補作業的流程圖。如上所述,以具有若干工作之作業的形式組織資料保護系統內的各動作。資料保護程式5101可因執行一或多個工作而建立一作業,如生產位置5103之要傳送及儲存於儲存位置5105之受保護物件的複製。該作業由資料保護程式5101啟動,且作業的各工作由一或多個工作執行程式來執行。例如,對於複製作業,工作執行程式發出命令給若干代理程式,其中之一位在生產位置5103,及其中之一位在儲存位置5105。這些工作已經執行且目前進行中,但為此範例之故,中斷作業後再將其復原。作業中斷可因系統失效而發生,如電源中斷。在復原後,資料保護程式5101識別作業的工作在系統失效之前正在進行中。在識別作業的工作正在進行中後,資料保護程式5101發出重新啟動工作的命令。在重新啟動工作後,工作執行程式使工作失效,並執行簡單的失效工作清除。如果工作至關重要,則會通知相應的健康提供程式。
彌補作業是從先前作業停止處開始的作業。彌補作業包括先前作業失效或先前作業未開始的工作。例如,如果失效的作業是複製作業,則健康提供程式識別複製作業未成功完成的工作,然後建立包括未完成工作及該作業所有其他未完成工作的彌補作業。如果回應接收失效工作而產生彌補作業,則健康管理程式識別失效的工作,並建立含有該工作及任何其他可能要和該作業執行連續或平行之工作的作業。在產生彌補作業後,健康管理程式排程要執行的彌補作業。該彌補作業然後如同其為其自己的作業般繼續進行排程,並執行該彌補作業的工作。此外,因將彌補作業排程為其自己的作業,從將作業管理程式視為任何其他作業的觀點來看,作業管理程式可能不知其為彌補作業。
第52圖根據本發明的一項具體實施例,顯示識別工作失效及在工作至關重要時建立彌補作業之彌補作業常式的流程圖。彌補作業常式5200可由資料保護系統執行,或者,在本發明之實際的具體實施例中,其可由健康管理程式執行。
彌補作業常式5200始於方塊5201,及在方塊5203,接收工作失效。如上述,如果工作中斷,在重新啟動後,工作執行程式重新啟動及使先前執行中工作失效,以發出工作失效通知。工作執行程式執行失效工作的清除。
在決定方塊5205,彌補作業常式5200決定失效的工作是否至關重要。在一項例示性具體實施例中,使用者可指定要視為至關重要的工作。如果在決定方塊5205決定失效的工作至關重要,則在方塊5207,識別未完成工作與任何相關聯的工作。在方塊5209,彌補作業常式5200為未完成工作中每一個建立彌補作業,及在方塊5211,排程彌補作業。
往回參考決定方塊5205,如果決定失效的工作並非至關重要,則彌補作業常式完成,如方塊5213所示。如果工作為執行多次之常式作業的部分,可將其識別為不重要。例如,如果排程複製作業為每小時執行,可將背景複製的複製作業視為不重要的作業。因此,由於複製作業將如所排程再次繼續進行,資料保護系統可決定複製作業的工作並非至關重要。
除了決定是否應該排程彌補作業,資料保護程式為回應工作失效,經由作業管理程式決定含有失效工作的作業是否應該繼續或也使其失效。如果失效的工作是已經決定使作業失效的工作,則作業管理程式將使相關聯的作業失效。即使工作被視為至關重要(因而需要彌補作業),但並不需要作業失效。同樣地,非至關重要工作的失效可能導致作業失效。例如,當作業包括多個資料來源的複製時,複製工作之一(至關重要的工作)的失效不會導致作業失效。
如上述,資料保護系統包括控制資料保護系統特定部分的管理程式。例如,資料保護系統包括但不限於:複製管理程式、設定管理程式、健康管理程式、摘要管理程式、作業管理程式、媒體管理程式、歸檔管理程式等。各管理程式維護資料保護程式資料庫的特定部分。資料庫的各部分由一組只能由對應的管理程式寫入的表格組成。這些表格可由任何管理程式及其他外部應用程式讀取,但由於對應的管理程式是能夠將資料寫入表格的管理程式,所有並行控制與同步化邏輯均屬於管理程式。健康管理程式,除了監控工作與作業,還可監控其他管理程式。健康管理程式係設定可回應和管理程式相關聯之工作的任何失效,並能檢查對應於管理程式之資料庫的狀態,以決定需要的復原動作。
此外,管理程式亦可含有一或多個實施管理程式之功能的工作執行程式。例如,複製管理程式含有所有和副本相關聯的工作執行程式,其中包括但不限於:複製工作執行程式、時間版本製作工作執行程式、及從時間版本工作執行程式的復原。
對於資料保護系統的實體物件(如,副本、媒體、磁碟、媒體櫃、磁碟機),將維護狀態模型。各狀態模型說明物件的可能狀態及狀態間的可允許轉變。例如,第37圖根據本發明的一項具體實施例,顯示副本的狀態模型。狀態模型說明物件的週期及指示使物件從一個狀態轉變至另一狀態所需執行的活動。例如,當副本在無效狀態3705(第37圖)中,基於該狀態,資料保護系統知道應該執行驗證作業以將副本置於有效狀態3711中。物件的狀態通常是健康提供程式的輸入項。
維護狀態模型可維護健康提供程式用於復原的已知狀態,因此,可簡化錯誤處理。此外,藉由監控物件的狀態,可對使用者顯示資料保護系統如何處理任何錯誤狀況。
資料保護系統還監控資料保護系統之部分產生的事件,並對使用者提供有關資料保護系統本身整體狀態的報告。或者,報告提供關於資料保護系統內不同實體物件的特定資訊。例如,如果生產位置的伺服器無法使用,則產生通知使用者問題並提供建議之解決方案的錯誤報告。
事件由資料保護系統檢視,且基於該檢視,產生有關檢視事件的報告。可將該報告分成三個類別之一:資訊、警告、或錯誤。總之,如果報告是錯誤報告,其將識別需要使用者動作。如果報告是警告報告,其將識別並不立即需要使用者動作,但如果警告未解決將變成需要使用者動作,無論自動進行或由使用者進行。最後,如果報告是資訊報告,其將通知使用者不需要使用者的任何動作,並提供有關資料保護系統的資訊。如熟習本技術者所明白,除了資訊、警告、及錯誤,可以任何形式提出報告。
藉由檢視資料保護系統不同部分產生的事件,即建立可報告。基於這些事件,資料保護系統編譯有關事件與資料保護系統該部分之狀態的報告。因此,並不提供使用者所有由資料保護系統產生的事件,而是提供已分成資訊報告、警告報告、或錯誤報告的報告。提供的報告視需要包括對資料保護系統所偵測問題之建議的解決方案。無論工作是否在最後作業上失效,都會產生報告。例如,如下文所示,即使最後複製作業成功(方塊5409),如果用於維護儲存位置之複製的磁碟空間超過預定臨限值(方塊5411),則將產生資料保護系統分類為警告的事件,並將警告報告提供給使用者(方塊5413),以通知使用者可能需要分配更多的磁碟空間。
報告類型(資訊、警告、錯誤)可藉由分析資料保護系統的特定部分來決定。例如,參考時間版本診斷常式5700(第57圖),計算在預定時間週期之遺失時間版本的數量與總保留期間(方塊5725),及基於遺失時間版本與這些時間週期的百分比,決定報告分類(警告、錯誤)的決定。
此外,在一些例子中,可執行一系列測試以決定要包括於報告中的建議。例如,在複製診斷常式5400,如果在5403決定複製並非有效,及在5445驗證作業失效,則資料保護系統繼續進行以經由一系列測試(決定方塊5447、5451、5455、5459)決定在產生給使用者的錯誤報告中應該包括的建議解決方案。類似範例如復原診斷常式5900(第59圖)所示。尤其,如果在5911決定作業失效,則資料保護系統經由一系列測試(決定方塊5917、5921、5925、5929)決定在錯誤報告中應該包括的建議解決方案。
第53圖根據本發明的一項具體實施例,顯示診斷和資料複製相關聯之問題及在偵測問題時產生建議校正之報告的流程圖。如上述,可將報告分成以下三個狀態之一:錯誤、警告、及資訊。
診斷常式5300始於方塊5301,及在方塊5303,常式執行複製診斷常式,如參考第54-56圖詳細所述。除了在5303執行複製診斷常式,診斷常式5300執行時間版本診斷常式,如參考第55-58圖所述。最後,診斷常式5300決定是否有任何其他由資料保護系統發出的警告。
在決定方塊5309決定是否有複製診斷常式、時間版本診斷常式中任何一項所偵測、或由其他警告所提供的任何 錯誤。如果在決定方塊5309決定已經偵測錯誤,則在決定方塊5311產生錯誤報告,以說明錯誤並提供使用者要採取之解決報告錯誤的建議步驟。然而,如果在決定方塊5309決定未偵測任何錯誤,則在決定方塊5313決定是否有複製診斷常式、時間版本診斷常式中任何一項所產生或由其他警告所提供的任何警告。如果在決定方塊5313決定偵測到警告,則在方塊5315產生警告報告,以對使用者說明警告並提供使用者可執行之解決警告的可能步驟。最後,如果在決定方塊5313決定未偵測任何警告,則在決定方塊5317產生資訊報告,以通知使用者資料保護系統沒有問題且其如使用者要求保護資訊。
藉由繼續進行通過方塊5303、5305、及5307之常式中每一個,然後決定這些常式(決定方塊5309、5313)中最嚴重的問題,將任何潛在問題提供為單一報告。例如,如果識別錯誤,則提出錯誤與建議的解決方案,並保留任何警告或資訊報告直到解決比較嚴重的問題、錯誤。
第54圖根據本發明的一項具體實施例,顯示說明複製診斷常式診斷資料保護系統之資料複製之潛在問題細節的流程圖。任何類型的儲存均可利用複製診斷常式,如副本儲存、歸檔、或副本與歸檔二者。如以下詳細說明,複製診斷常式5400決定最後複製工作是否成功或失效。如果最後複製工作失效,則基於背景或備份的複製模式而依照不同的路徑(方塊5417)。由於一天執行一次且失效的工作比每小時執行的失效工作更重要,因此將基於這些失效產生不同的報告。例如,如果模式是背景且工作失效,則提供使用者失效數量是否未超過預定下限的資訊報告。或者,對於背景模式,對於排程要經常執行的工作將不產生報告,因該工作的後續執行將自動解決問題。相反地,如果複製模式是備份且工作失效,則對使用者提供警告報告或錯誤報告。
複製診斷常式5400始於方塊5401,及在決定方塊5403決定複製是否有效。如果在決定方塊5403決定複製有效,則在決定方塊5405決定複製作業目前是否正在執行。如果在決定方塊5405決定複製作業正在執行,則在方塊5407,資料保護系統產生資訊報告以識別複製的最後狀態並提供使用者複製作業目前正在執行的指示。
然而,如果在決定方塊5405決定複製作業目前不在執行,則在決定方塊5409決定最後複製作業是否成功。如果在決定方塊5409決定最後複製作業已經成功,則在決定方塊5411決定最後複製作業是否產生磁碟使用臨限值警告。為回應資料保護系統識別儲存位置目前正在儲存複製之部分的可用磁碟空間逐漸減少而產生磁碟使用臨限值警告。例如,在對磁碟而非磁帶媒體執行歸檔時,只要副本的磁碟空間逐漸減少,及集區中的媒體逐漸減少或可用集區中的媒體逐漸減少,便會產生磁碟使用臨限值警告。此臨限值等級是預定及預設之達到產生臨限值警告的大小值。
如果在決定方塊5411決定已經產生磁碟使用臨限值警告,則在方塊5413產生警告報告,以指示儲存位置的磁碟使用已經超過預定的臨限值並提供為複製分配附加磁碟空間的建議。在一項例示性具體實施例中,除了產生警告報告以通知使用者臨限值警告,資料保護系統亦可藉由確認複製目前的磁碟空間狀態來查看警告是否仍然適用。
如果在決定方塊5411決定未產生磁碟使用臨限值警告,則在方塊5415,提供使用者資訊報告,以指示沒有和資料保護系統此部分相關聯的問題。
往回參考決定方塊5409,如果決定最後複製作業不成功,則在決定方塊5417決定保護模式是否是背景模式。如此處所述,保護的背景模式是複製幾乎連續之資料保護系統的操作模式。例如,每小時、一天24小時、一週七天。或者,複製模式可以是備份模式。保護的備份模式是複製相對較不頻繁的操作模式。例如,歸檔及/或複製可每晚發生。
如果在決定方塊5417決定複製的模式為背景,則在方塊5419計算先前失效之複製作業的數量。在決定方塊5421決定在方塊5419計算之失效複製作業的數量是否超過預定下限。如果在決定方塊5421決定先前失效複製作業的數量未超過預定的下限,則在方塊5422產生資訊報告,以通知使用者資料保護系統目前運作如預期。計算失效複製作業的數量並和極限值比較,以決定是否要產生報告,可提供資料保護系統解決問題而不用通知使用者的機會。例如,如果複製作業係為每小時產生且一個如果遺失,則在複製作業完成成功時,資料保護系統在下一個小時可解決此問題。
然而,如果在決定方塊5421決定先前失效複製作業的數量已經超過預定的下限,則在決定方塊5423決定先前失效複製作業的數量是否超過第二上限。如果決定先前失效複製作業的數量未超過預定的上限,則在方塊5424產生警告報告,以通知使用者失效之複製作業的數量。該警告報告亦通知使用者失效複製作業的數量未達到預定的較高(至關重要)數量,且目前不需要使用者的任何動作。
如果在決定方塊5417決定保護模式不是背景模式,即,其為備份模式,或在決定方塊5423決定失效複製作業的數量超過預定的上限,則複製診斷常式5400取得最後工作失效的理由,如方塊5425所示(第55圖)。在本發明的一項具體實施例中,可從含在複製作業本身內之工作所產生的工作軌跡複製作業取得失效的理由。如上所述,工作軌跡包括關於以下項目的中繼資料:工作本身、工作正在進行的事項、工作所完成的事項、或為何工作失效。
在決定方塊5427決定失效的理由是否是使用者取消先前的複製作業。如果在決定方塊5427決定複製作業因使用者取消該作業而失效,則略過複製失效的通知。然而,如果在決定方塊5427決定先前複製失效的理由並非因使用者取消,則在決定方塊5431決定先前複製作業失效是否因資料保護系統無法聯繫生產位置。無法聯繫生產位置可能起因於若干不同類型的外部事件,如網路中斷、電源問題、或生產伺服器目前因進行維護或其他操作而關機。
如果在決定方塊5431決定最後複製作業因資料保護系統無法聯繫生產位置而失效,則在方塊5433對使用者產生報告以識別先前複製作業未成功完成,並對使用者提供檢查網路及/或生產位置的建議,以決定資料保護系統為何無法聯繫生產位置。
如果在決定方塊5431決定先前失效並非因資料保護系統無法聯繫生產位置而發生,則在決定方塊5435決定先前失效是否因資料保護系統無法聯繫執行複製的代理程式而發生。如果決定失效因無法聯繫執行複製的代理程式而發生,則產生警告報告,以通知使用者此錯誤,並提供使用者以下建議:檢查代理程式,及可能重新啟動常式,及/或檢查代理程式安裝,及/或視需要重新安裝代理程式,如方塊5437所示。
然而,如果決定先前失效並非因為使用者取消(方塊5427)、無法聯繫生產位置(方塊5431)或無法聯繫代理程式(方塊5435),則問題不明並產生錯誤報告,以通知使用者資料保護系統無法決定失效的原因,並提供使用者檢查網路連線與複製所涉及之代理程式的建議。
往回參考第54圖,如果在決定方塊5403決定正在使用複製診斷常式5400執行診斷的複製無效,則在決定方塊5437(第56圖)決定正在診斷的複製是否無效(即,其在第37圖的無效狀態3705)。如果在決定方塊5437決定診斷中的複製無效,則在方塊5439,複製診斷常式通知使用者資料來源的複製尚未初始化。在一項例示性具體實施例中,在方塊5439,提供使用者識別特定資料來源之診斷中複製尚未初始化的報告,並詢問使用者是否要產生初始化作業。
如果在決定方塊5437決定複製無效,則在決定方塊5441決定驗證作業目前是否正在診斷的複製上執行。如果在決定方塊5441決定目前正在執行診斷中特定複製的驗證作業,則在方塊5443產生警告報告,以通知使用者診斷中的複製目前正由驗證作業驗證中,且目前並不需要任何動作。
如果在決定方塊5441決定未在執行驗證作業,則在決定方塊5445,複製診斷常式5400決定先前驗證作業是否已經執行及失效。如果在決定方塊5445決定驗證作業已經執行及失效,則在決定方塊5447決定失效是否因使用者取消驗證作業。如果在決定方塊5445決定先前執行的驗證作業未失效,或先前執行的驗證作業已經失效及因使用者取消而失效,則在方塊5449產生錯誤報告,以通知使用者此失效並建議使用者執行驗證作業。或者,可自動執行驗證作業。
然而,如果在決定方塊5447決定先前執行的驗證作業失效,失效理由並非因使用者取消,則在方塊5449,從和先前驗證作業相關聯的工作軌跡取得該失效的理由。利用在方塊5449取得的失效理由,複製診斷常式5400在決定方塊5451決定先前執行之失效的驗證作業是否因複製可用的儲存位置容量已滿而失效。如果在決定方塊5451決定儲存位置之複製的空間已滿,則在方塊5453報告錯誤,以通知使用者儲存位置已滿,並提供使用者分配更多磁碟空間以儲存複製的建議。分配更多磁碟空間包括為副本新增附加的磁碟空間。
如果在決定方塊5451決定失效並非因為空間不足,則在方塊5455決定失效是否因資料保護系統完全無法到達儲存位置。如果在決定方塊5455決定資料保護系統無法到達儲存位置以驗證複製,則產生錯誤報告。錯誤報告將通知使用者儲存位置無法存取,並建議使用者檢查資料保護系統與儲存位置間的通信、目標磁碟區的通信、及儲存位置本身的完整性。
如果在決定方塊5455決定失效並非因儲存位置無法存取,則在決定方塊5459決定生產位置是否有變更日誌溢位。日誌溢位可能起因於生產位置的變更日誌中太多佇列的變更及/或儲存位置的溢出日誌已滿。如果產生變更記錄與驗證記錄的速度比將其傳輸至儲存位置或在儲存位置處理的速度快,便會發生日誌溢位。如果在決定方塊5459決定因日誌溢位而失效,則產生錯誤報告,以通知使用者日誌溢位並指示日誌已溢位及建議適當地重新調整日誌的大小,如方塊5461所示。
最後,如果複製診斷常式5400在決定方塊5459決定失效並非因為日誌溢位,則在方塊5463產生錯誤報告,以通知使用者此失效及建議使用者針對潛在的通信問題或其他潛在問題檢查生產伺服器、資料保護程式、及儲存伺服器,以及如果失效繼續,則重新初始化資料保護系統。
診斷保護問題的另一範例是診斷時間版本。已參考第53圖(方塊5305)說明的整體診斷常式提及時間版本診斷常式並參考第57圖進行詳細說明。
第57圖根據本發明的一項具體實施例,顯示說明診斷資料保護系統所產生之時間版本潛在問題之時間版本診斷常式的流程圖。時間版本診斷常式5700始於方塊5701,及在決定方塊5703決定在為其建立時間版本的複製是否處於有效狀態。如果在決定方塊5703決定在為其產生時間版本的複製處於有效狀態,則在決定方塊5705決定該複製的最後時間版本作業是否成功。如果在決定方塊5705決定複製的最後時間版本作業不成功,則在決定方塊5707,從和時間版本作業之工作相關聯的工作軌跡取得時間版本作業的失效理由。
在決定方塊5709,產生錯誤報告以提供解說並建議使用者再次取用時間版本。在一項例示性具體實施例中,除了產生提供解說的報告,資料保護系統還自動排程時間版本作業,以取得後續的時間版本。
往回參考決定方塊5703,如果決定要為其取用時間版本的複製不在有效狀態,則時間版本診斷常式5700繼續,如上文參考第56圖所示方塊所述。
如果在決定方塊5705決定有效複製的最後時間版本作業成功,則在決定方塊5711決定是否實際取用時間版本。如果在決定方塊5711決定實際未取用時間版本,則在 決定方塊5713決定複製作業是否失效。如果在決定方塊5713決定複製作業失效,則時間版本診斷常式5700繼續,如上文參考第55圖所示方塊所述。
然而,如果在決定方塊5711決定未取用任何時間版本,且在決定方塊5713決定沒有任何複製作業失效,這可對資料保護系統識別沒有任何複製活動,因此,不需要任何時間版本。此外,由於沒有複製及/或時間版本的問題,因此在方塊5715產生資訊報告,以通知使用者沒有任何複製活動,因此,未取用任何時間版本。
往回參考決定方塊5711,如果決定已經執行時間版本作業及取用時間版本,則決定萬一需要復原,最舊的指定時間版本是否可用,如決定方塊5721(第58圖)所示。決定最舊的指定時間版本是否可用將確認是否滿足持續期間含義。例如,如果持續期間是能夠復原至少一年的資訊,及最舊的指定時間版本(已經一年)可供使用,則確認滿足持續期間含義。如果在決定方塊5721決定最舊的指定時間版本無法用於復原,則產生錯誤報告,以通知使用者最舊的指定時間版本無法使用及其最有可能的原因是因為缺少磁碟空間。錯誤報告還對使用者提供為時間版本分配更多磁碟空間的建議,如方塊5723所示。
如果在決定方塊5721決定最舊的指定時間版本可供使用,則在方塊5725,時間版本診斷常式5700計算在預定時間長度的遺失複製數量,及計算總保留期間遺失複製的總數量。計算遺失時間版本的預定時間長度可以是任何 小於總保留期間的預定時間長度,如一週、兩週、一個月等。使用者在識別使用者想要能夠復原受保護物件的總時間長度時,在設定保護含義中將識別總保留期間。計算遺失複製的數量將確認是否滿足頻率含義。
在決定方塊5727決定在方塊5725計算之遺失複製的預定時間長度是否遺失多於0%的時間版本。如果在決定方塊5727決定未遺失任何時間版本,則在決定方塊5729決定在總保留期間是否遺失小於50%的時間版本。如果在決定方塊5729決定在總時間長度遺失時間版本的數量小於50%,則產生資訊報告,以通知使用者資料保護系統的時間版本部分目前沒有問題,如方塊5731所示。如上述,未立即報告問題,讓資料保護系統有機會解決任何問題而不用使用者介入。例如,如果決定總時間長度遺失複製的數量是10%但未來複製作業成功完成,則此百分比將在時間上降低,因此不用警示使用者。
然而,如果在方塊5729決定在總時間長度遺失多於50%的時間版本,則產生警告報告,以識別目前遺失之時間版本的百分比,及建議除了繼續監控遺失時間版本的百分比,不需要任何動作,如方塊5733所示。
如果在決定方塊5727決定在預定時間長度遺失一些時間版本,則在決定方塊5735決定該預定時間長度遺失時間版本的數量是否介於0%與20%。如果在決定方塊5735決定在預定時間長度遺失複製的數量介於0%與20%,則在決定方塊5737決定在總保留期間遺失時間版本的數量是 否小於50%。如果在決定方塊5737決定總保留期間之遺失時間版本的數量小於50%,則在方塊5739產生警告報告,以提供遺失時間版本的百分比,及建議除了監控遺失時間版本的百分比,不需要任何動作。
然而,如果在方塊5737決定在總保留期間遺失時間版本的百分比大於50%,則在方塊5741產生錯誤報告,以通知使用者遺失之時間版本的百分比。此外,在方塊5741產生的錯誤報告將通知使用者保護未如預期執行,並建議使用者檢查生產位置與儲存位置所識別的保護參數及磁碟設定。
往回參考決定方塊5735,如果決定在預定時間長度遺失時間版本的百分比並非介於0%與20%,則在決定方塊5743決定在總保留期間遺失時間版本的數量是否小於50%。如果在決定方塊5743決定在整個保留期間遺失時間版本的總數量小於50%,則在方塊5745產生錯誤報告,以通知使用者保護未如預期執行,提供使用者在總保留期間遺失時間版本的總百分比,並建議使用者檢查複製本身的完整性及檢查保護排程。最後,如果在決定方塊5743決定在總保留期間遺失時間版本的數量大於50%,則產生錯誤報告,以通知使用者保護一直持續不佳,並建議使用者檢查生產位置與儲存位置的保護與磁碟設定,如方塊5747所示。
雖然時間版本診斷常式5700的上述說明利用特定百分比,但熟習本技術者應明白,可配合本發明的具體實施例利用任何預定的百分比,此處提供的百分比只是用來解說。
第59圖根據本發明的一項具體實施例,為說明診斷資料保護系統中資訊復原之潛在問題之復原診斷常式的流程圖。復原診斷常式5900始於方塊5901,及在決定方塊5903決定復原作業目前是否正在執行。如果在決定方塊5903決定復原作業目前執行中,則在決定方塊5905,復原診斷常式5900決定和執行中復原作業相關聯的工作是否產生任何警告。如果在決定方塊5905決定和執行中復原作業相關聯的工作未產生任何警告,則產生資訊報告,以通知使用者資料保護系統不存在任何復原相關問題。如果在決定方塊5905決定和目前執行中作業相關聯的工作已產生警告,則在方塊5909產生警告報告,以通知使用者目前執行中復原作業已產生一或多個警告,並通知使用者這些警告,及如果需要任何解決方案,提供解決這些警告的建議方法。例如,目前執行中作業可產生警告,以指示其無法還原檔案,因該檔案目前已開啟。
如果在決定方塊5903決定目前並未在執行任何復原作業,則在決定方塊5911決定最近的復原作業(如,最近七十二個小時內執行的復原作業)是否無法完成。如果在決定方塊5911決定沒有無法完成的最近復原作業,即,全部成功完成,或沒有任何執行的復原作業,則在方塊5913產生報告,以通知使用者沒有和資料保護系統之復原部分相關聯的問題。
如果在決定方塊5911決定最近執行的復原作業已經失效,則在方塊5915,從和該作業相關聯的工作軌跡取得該作業失效的理由。如上所述,和特定作業相關聯之工作的工作軌跡含有關於工作本身的資訊,其中包括如果工作已經失效,為何工作失效。
在決定方塊5917,利用在方塊5915取得的失效理由,決定復原作業是否因資料保護系統無法聯繫要復原資料的生產位置而失效。如果在決定方塊5917決定復原作業失效的理由是資料保護系統無法聯繫生產位置,則在方塊5919產生錯誤報告,以通知使用者最後復原作業失效的理由,及建議使用者檢查生產位置的網路連線並檢查生產位置的代理程式,以確保代理程式運作正常。如上文參考複製診斷常式(第54-56圖)所述,無法聯繫如生產位置的位置可能是因為若干外部事件,如網路中斷、電源問題、或生產位置為進行維護或其他操作而離線。
如果在決定方塊5917決定復原作業失效的理由不是因為資料保護系統無法聯繫生產位置,則在決定方塊5921決定復原作業失效的理由是否因為生產位置的目標無法使用。生產位置的目標可以是要記錄復原資料之生產位置的實體部分。如果在決定方塊5921決定目標無法使用,則產生錯誤報告,如塊5923所示,以通知使用者復原作業失效的理由,及建議使用者檢查生產伺服器之實體位置的潛在問題。
如果在決定方塊5921決定復原作業失效不是因為生產位置的目標無法使用,則在決定方塊5925決定復原作業失效的理由是否是復原作業的工作無法從儲存位置讀取資料。如果決定復原作業的工作無法從儲存位置讀取資料,則在方塊5927產生錯誤報告,以通知使用者復原作案失效的理由,及提供使用者檢查儲存位置之磁碟及/或媒體的建議。
如果在決定方塊5925決定復原作業失效的理由不是因為工作無法從儲存位置讀取,則在決定方塊5929決定要使復原資料復原之生產位置的磁碟目前是否已滿。如果在決定方塊5929決定磁碟已滿,則在方塊5931產生錯誤報告,以通知使用者復原位置的磁碟沒有足夠的空間用來復原所要求的資料,及建議使用者將資料復原至其他位置或增加生產位置的磁碟空間。
最後,如果在決定方塊5929決定復原作業失效的理由不是因為生產位置的磁碟已滿,則產生報告以通知使用者先前復原作業發生未知的錯誤,及建議使用者重新執行復原作業。
雖然已經顯示及說明本發明的較佳具體實施例,但應明白,在不悖離本發明的精神與範疇下,其中可進行各種變更。
100‧‧‧資料保護系統
121‧‧‧生產位置
101‧‧‧資料保護程式
123‧‧‧儲存位置
103‧‧‧生產位置
200‧‧‧資料保護系統
105‧‧‧儲存位置
201‧‧‧資料保護程式
110‧‧‧資料保護程式
203‧‧‧生產位置1
111‧‧‧生產位置
205‧‧‧生產位置2
113‧‧‧儲存位置
207‧‧‧生產位置N
120‧‧‧資料保護程式
209‧‧‧儲存位置A
211‧‧‧儲存位置B
425‧‧‧資料庫B
213‧‧‧儲存位置X
505‧‧‧命名空間元素
300‧‧‧資料保護系統
507‧‧‧可保護物件
301‧‧‧資料保護程式
509‧‧‧可保護物件
303‧‧‧使用者介面
511‧‧‧可保護物件
305‧‧‧生產位置
513‧‧‧共用1
307‧‧‧儲存位置
515‧‧‧伺服器1上的E:\PRIVATE
400‧‧‧顯示
401‧‧‧DFS根目錄命名空間
517‧‧‧共用2
600‧‧‧架構
403‧‧‧伺服器命名空間
601‧‧‧網域
405‧‧‧命名空間元素
603‧‧‧DFS根目錄
407‧‧‧命名空間元素
605‧‧‧DFS連結
409‧‧‧命名空間元素
607‧‧‧伺服器
411‧‧‧命名空間元素
609‧‧‧共用
413‧‧‧命名空間元素
611‧‧‧磁碟區
415‧‧‧命名空間元素
613‧‧‧掛接點
417‧‧‧方塊
615‧‧‧資料夾
419‧‧‧選擇方塊
617‧‧‧接合
421‧‧‧命名空間元素
619‧‧‧接合
421‧‧‧儲存群組1
621‧‧‧對應
423‧‧‧命名空間元素
623‧‧‧含有
423‧‧‧資料庫A
625‧‧‧含有
425‧‧‧命名空間元素
627‧‧‧含有
629‧‧‧含有
815‧‧‧可保護物件
631‧‧‧含有
817‧‧‧可保護物件
633‧‧‧含有
819‧‧‧可保護物件
700‧‧‧架構
821‧‧‧資料來源2
701‧‧‧網域ABCD
823‧‧‧可保護物件
703‧‧‧DFS根目錄-公用
825‧‧‧可保護物件
705‧‧‧伺服器
827‧‧‧可保護物件
707‧‧‧DFS連結
829‧‧‧可保護物件
707A‧‧‧連結1
831‧‧‧可保護物件
707B‧‧‧連結2
833‧‧‧可保護物件
707C‧‧‧連結3
835‧‧‧資料來源3
711‧‧‧共用
837‧‧‧可保護物件
713‧‧‧磁碟區
839‧‧‧可保護物件
715‧‧‧掛接點
841‧‧‧可保護物件
717‧‧‧資料夾
843‧‧‧可保護物件
719‧‧‧接合
845‧‧‧資料來源4
800‧‧‧生產位置
847‧‧‧可保護物件
801‧‧‧伺服器-1
849‧‧‧可保護物件
803‧‧‧伺服器-2
851‧‧‧資料來源5
805‧‧‧伺服器-3
853‧‧‧可保護物件
807‧‧‧資料來源1
855‧‧‧可保護物件
809‧‧‧可保護物件
857‧‧‧資料來源6
811‧‧‧可保護物件
859‧‧‧資料來源7
813‧‧‧可保護物件
861‧‧‧可保護物件
863‧‧‧可保護物件
1401‧‧‧資料保護程式
901‧‧‧伺服器1
1403‧‧‧儲存位置
903‧‧‧伺服器2
1405‧‧‧生產位置
905‧‧‧伺服器3
1509‧‧‧受保護物件
909‧‧‧資料夾
1511‧‧‧可復原物件
927‧‧‧資料夾
1513‧‧‧可復原物件
930‧‧‧受保護群組
1515‧‧‧可復原物件
951‧‧‧F:\
1517‧‧‧可復原物件
953‧‧‧可保護物件
1519‧‧‧可復原物件
955‧‧‧可保護物件
1521‧‧‧可復原物件
1005‧‧‧命名空間元素
1600‧‧‧復原常式
1009‧‧‧受保護群組
1700‧‧‧資料保護系統
1027‧‧‧受保護群組
1701‧‧‧資料保護程式
1030‧‧‧受保護群組
1703‧‧‧生產位置
1040‧‧‧群組計劃
1705‧‧‧使用者介面
1041‧‧‧排程
1707‧‧‧命名空間元素
1043‧‧‧空間分配規則
1709‧‧‧可保護物件
1051‧‧‧受保護群組
1711‧‧‧可保護物件
1053‧‧‧受保護物件
1713‧‧‧自動發現群組
1055‧‧‧受保護物件
1715‧‧‧自動發現群組表格
1100‧‧‧設定常式
1717‧‧‧符合資料行
1200‧‧‧受保護群組建立常式
1719‧‧‧等候資料行
1721‧‧‧計劃保護資料行
1300‧‧‧重疊偵測常式
1723‧‧‧自動發現群組結果
1725‧‧‧自動發現群組結果
3707‧‧‧已損毀狀態
1727‧‧‧E:\folder on server2
3709‧‧‧已停止狀態
3711‧‧‧有效狀態
1729‧‧‧E:\folder on server3
3713‧‧‧遺失狀態
3800‧‧‧重新啟動常式
1731‧‧‧使用者保護資料行
3900‧‧‧歸檔保護計劃建立常式
2300‧‧‧重新對應解決常式
2500‧‧‧初始發現常式
4000‧‧‧表格
2600‧‧‧排程的發現常式
4001‧‧‧子世代
2700‧‧‧自動發現群組建立常式
4003‧‧‧父世代
4005‧‧‧祖父世代
2800‧‧‧自動發現群組更新常式
4007‧‧‧曾祖父世代
4100‧‧‧媒體分配常式
3001‧‧‧資料保護程式
4200‧‧‧資料保護系統
3003‧‧‧使用者介面
4201‧‧‧資料保護程式
3200‧‧‧含義轉譯常式
4203‧‧‧生產位置
3300‧‧‧保護計劃建立常式
4205‧‧‧儲存位置
3400‧‧‧準備計劃執行常式
4207‧‧‧複製代理程式
4840‧‧‧驗證常式
4209A‧‧‧資料移動程式部分
3500‧‧‧驗證常式
4209B‧‧‧資料移動程式的第二部分
3600‧‧‧排程的驗證常式
3701‧‧‧未分配狀態
4211‧‧‧複製代理程式
3703‧‧‧已分配狀態
4213‧‧‧通信通道
3705‧‧‧無效狀態
4301‧‧‧資料保護程式
4303‧‧‧生產位置
5002‧‧‧工作2
4305‧‧‧儲存位置
5003‧‧‧工作N
4307‧‧‧變更日誌
5005‧‧‧工作執行程式
4309‧‧‧受保護資料
5007‧‧‧工作執行程式
4311‧‧‧C類檢查點
5009‧‧‧代理程式A
4315‧‧‧C類檢查點
5011‧‧‧代理程式B
4313‧‧‧溢出日誌
5013‧‧‧代理程式C
4317‧‧‧複製資料
5101‧‧‧資料保護程式
4319‧‧‧B類檢查點
5103‧‧‧生產位置
4800‧‧‧命令處理常式
5105‧‧‧儲存位置
4830‧‧‧傳輸資料常式
5200‧‧‧彌補作業常式
4900‧‧‧命令處理常式
5300‧‧‧診斷常式
4920‧‧‧接收記錄常式
5400‧‧‧複製診斷常式
4950‧‧‧套用記錄常式
5700‧‧‧時間版本診斷常式
5000‧‧‧作業
5900‧‧‧復原診斷常式
5001‧‧‧工作1
參考下列詳細說明並結合附圖,即可更加瞭解上述本發明的方面及許多隨附優點,其中:第1A-2圖根據本發明的一項具體實施例,為管理資料之保護與復原之資料保護系統的方塊圖;第3圖根據本發明的一項具體實施例,為資料保護系統的流程圖,其中說明位在生產位置之可保護物件的初始選擇與保護物件;第4圖根據本發明的一項具體實施例,顯示發佈及顯示於使用者介面上以進行使用者互動與選擇之複數個命名空間與命名空間元素的方塊圖;第5圖根據本發明的一項具體實施例,顯示命名空間元素與可保護物件間的對應;第6圖根據本發明的一項具體實施例,顯示關聯命名空間類型與命名空間元素類型之架構的方塊圖;第7圖根據本發明的一項具體實施例,顯示將邏輯命名空間元素對應至實體可保護物件之架構的方塊圖;第8圖根據本發明的一項具體實施例,顯示含有受資料保護系統保護之可保護物件之生產位置的方塊圖;第9A圖至第9B圖根據本發明的一項具體實施例,為生產位置之可保護物件及將可保護物件分組成受保護群組的方塊圖;第10圖根據本發明的一項具體實施例,顯示含有選定命名空間元素、已對應之受保護物件、及受保護群組特性之受保護群組的方塊圖;第11圖根據本發明的一項具體實施例,為設定保護受保護群組之計劃之設定常式的流程圖;第12圖根據本發明的一項具體實施例,顯示詳細說明受保護群組之建立的受保護群組建立常式;第13圖根據本發明的一項具體實施例,顯示偵測二或多個受保護群組中所含資料來源重疊的重疊偵測常式;第14圖根據本發明的一項具體實施例,為顯示復原受保護物件之復原程序流程之資料保護系統的流程圖;第15圖根據本發明的一項具體實施例,為顯示儲存位置所含可復原物件之詳細圖式的方塊圖;第16圖根據本發明的一項具體實施例,顯示從儲存位置復原受保護物件的復原常式;第17圖至第23A和24圖根據本發明的一項具體實施例,顯示建立及利用自動發現群組的流程圖;第23B圖根據本發明的一項具體實施例,顯示解決受保護之命名空間元素之重新對應的重新對應解決常式;第25圖根據本發明的一項具體實施例,顯示初始發現頂部層級命名空間元素與可保護物件間之對應之初始發現常式的流程圖;第26圖根據本發明的一項具體實施例,顯示發現命名空間與命名空間元素和位在生產位置之可保護物件間之對應之排程的發現常式的流程圖;第27圖根據本發明的一項具體實施例,為自動發現群組建立常式的流程圖;第28圖與第29圖根據本發明的一項具體實施例,顯示自動發現群組更新常式的流程圖;第30圖根據本發明的一項具體實施例,顯示將保護含義轉譯成保護一組資料之計劃的流程圖;第31圖與第32圖根據本發明的一項具體實施例,顯示將保護含義轉譯成保護位在生產位置之實體物件之詳細計劃之含義轉譯常式的流程圖;第33圖根據本發明的一項具體實施例,為建立受保護群組之保護計劃之保護計劃建立常式的流程圖;第34圖根據本發明的一項具體實施例,為執行準備計劃之準備計劃執行常式的流程圖;第35圖根據本發明的一項具體實施例,為驗證位在儲存位置之資料複製之驗證常式的流程圖;第36圖根據本發明的一項具體實施例,為驗證位在儲存位置之物件複製之排程的驗證常式的流程圖;第37圖根據本發明的一項具體實施例,顯示儲存位置之儲存部分及/或整個儲存位置之狀態轉變的方塊圖;第38圖根據本發明的一項具體實施例,顯示在發生於先前含義轉譯常式中之中斷後重新啟動含義轉譯常式之重新啟動常式的流程圖;第39圖根據本發明的一項具體實施例,顯示產生歸檔資料之計劃的歸檔保護計劃建立常式;第40圖根據本發明的一項具體實施例,為顯示用於產生歸檔方案之不同世代之範例的表格;第41圖根據本發明的一項具體實施例,為分配歸檔資料之媒體的流程常式;第42圖根據本發明的一項具體實施例,顯示資料保護系統的方塊圖;第43-44圖根據本發明的一項具體實施例,顯示監控資料保護系統所執行之常式之資料傳輸的流程圖;第45圖根據本發明的一項具體實施例,顯示重新啟動從生產位置將變更記錄傳輸至儲存位置之資料保護系統的流程圖;第46與47圖根據本發明的一項具體實施例,顯示驗證副本之驗證常式的流程圖;第48A圖根據本發明的一項具體實施例,為處理生產位置所接收之命令之命令處理常式的流程圖;第48B圖根據本發明的一項具體實施例,為從生產位置將變更記錄傳輸至儲存位置之傳輸資料常式的流程圖;第48C圖根據本發明的一項具體實施例,為驗證資料之驗證常式的流程圖;第49A圖根據本發明的一項具體實施例,為處理儲存位置所接收之命令之命令處理常式的流程圖;第49B圖根據本發明的一項具體實施例,為接收儲存位置之記錄之接收記錄常式的流程圖;第49C圖根據本發明的一項具體實施例,為將變更記錄套用於儲存位置之副本之套用變更記錄常式的流程圖;第50圖根據本發明的一項具體實施例,為含有複數個工作之作業的方塊圖;第51圖根據本發明的一項具體實施例,為顯示監控工作及建立彌補作業的流程圖;第52圖根據本發明的一項具體實施例,顯示識別工作失效及在工作至關重要時建立彌補作業之彌補作業常式的流程圖;第53圖根據本發明的一項具體實施例,顯示診斷和複製與時間版本相關聯之問題及在偵測問題時產生建議校正之報告的流程圖;第54-56圖根據本發明的一項具體實施例,顯示說明診斷資料保護系統之資料複製潛在問題之複製診斷常式細節的流程圖;第57-58圖根據本發明的一項具體實施例,顯示說明診斷資料保護系統所產生之時間版本潛在問題之時間版本診斷常式的流程圖;及第59圖根據本發明的一項具體實施例,為說明診斷資料保護系統中資訊復原之潛在問題之復原診斷常式的流程圖。
4200...資料保護系統
4201...資料保護程式
4203...生產位置
4205...儲存位置
4207...複製代理程式
4209A...資料移動程式部分
4209B...資料移動程式的第二部分
4211...複製代理程式
4213...通信通道

Claims (51)

  1. 一種用於保護資料的方法,該方法包含以下步驟:初始化一操作,以經由複數個工作(task)保護資料,該等複數個工作經設定以執行一資料保護作業(job);管理該等複數個工作中之至少一者的進度,該管理包括以下步驟:識別該資料保護作業之至少一被中斷工作;辨認來自該資料保護作業之至少一被中斷工作是否至關重要;當辨認出至少一至關重要的被中斷工作時,建立一彌補作業;使該彌補作業中具有經辨認的至關重要的被中斷工作;以及不理會並非至關重要的被中斷工作,使得該等並非至關重要的被中斷工作不是該彌補作業之部分。
  2. 如申請專利範圍第1項所述方法,更包含以下步驟:藉由執行該等複數個工作中之每一者,以執行一作業的一動作(action)。
  3. 如申請專利範圍第1項所述之方法,更包含以下步驟:平行執行該等複數個工作中之至少兩者。
  4. 如申請專利範圍第1項所述之方法,更包含以下步驟:連續執行該等複數個工作中之至少兩者。
  5. 如申請專利範圍第1項所述之方法,更包含以下步驟:藉由複數個代理程式(agent)來執行該等複數個工作中之至少一者;以及在不同的位置操作該等複數個代理程式中之至少兩者。
  6. 如申請專利範圍第1項所述之方法,更包含以下步驟:即便該等複數個工作中之至少一者可能失效(fail),仍然完成一作業。
  7. 如申請專利範圍第1項所述之方法,如果該等複數個工作中之一者失效,則一作業失效。
  8. 如申請專利範圍第1項所述之方法,每一工作實施一用於保護該資料之動作(verb)。
  9. 如申請專利範圍第8項所述之方法,該動作係來自以下的一組動作,該組動作包含:複製、驗證、歸檔、複製一資料集、復原、製作時間版本、分配資源、初始化、取消分配資源、及收回媒體。
  10. 如申請專利範圍第1項所述之方法,更包含以下步驟:利用至少一代理程式來執行一工作。
  11. 如申請專利範圍第1項所述之方法,更包含以下步驟:將每一工作實施為:由一組狀態與轉變所組成的一有限狀態機。
  12. 如申請專利範圍第11項所述之方法,更包含以下步驟:在狀態間轉變以回應輸入。
  13. 如申請專利範圍第11項所述之方法,更包含以下步驟:自一共同引擎建構一工作執行程式。
  14. 如申請專利範圍第13項所述之方法,更包含以下步驟:將該共同引擎用於複數個有限狀態機。
  15. 如申請專利範圍第11項所述之方法,更包含以下步驟:執行該有限狀態機以及指示該有限狀態機的轉變。
  16. 如申請專利範圍第1項所述之方法,更包含以下步驟:設定一工作執行程式,以執行該複數個工作中之每一者。
  17. 如申請專利範圍第16項所述之方法,該工作執行程式 輪詢正在執行的一工作,以決定工作的該進度。
  18. 如申請專利範圍第1項所述之方法,更包含以下步驟:從一作業的一失效工作接收一工作失效通知;識別該作業已完成的工作;識別該作業未完成的工作;以及建立並執行一彌補作業,該彌補作業包括:該經識別之未完成的工作。
  19. 如申請專利範圍第18項所述之方法,更包含以下步驟:決定該失效工作是否至關重要;在一彌補作業內包括至關重要之工作;以及在一彌補作業內不包括並非至關重要之工作。
  20. 如申請專利範圍第18項所述之方法,更包含以下步驟:識別在進行中的一工作;重新啟動該經識別的工作;以及將一工作失效通知識別為:該重新啟動之工作的一失效通知。
  21. 如申請專利範圍第18項所述之方法,更包含以下步驟:將該工作失效包括在一事件通知中。
  22. 如申請專利範圍第18項所述之方法,該工作失效係起 因於一系統當機。
  23. 如申請專利範圍第18項所述之方法,更包含以下步驟:識別該作業已完成之工作,包括以下步驟:分析一作業之每一工作的一工作軌跡。
  24. 如申請專利範圍第18項所述之方法,更包含以下步驟:識別該作業未完成之工作,包括以下步驟:分析一作業之每一工作的一工作軌跡。
  25. 如申請專利範圍第19項所述之方法,由一自動演算法之或是由一使用者所指定,以決定一工作是否至關重要。
  26. 如申請專利範圍第19項所述之方法,經由標準(criteria)以決定一工作是否至關重要,該標準可包括:一工作重複的頻率。
  27. 一種內儲程式之電腦可讀取儲存媒體,當該程式被載入一電腦並由該電腦所執行時,執行以下步驟:藉由一資料保護程式,建立要被執行以保護可保護物件的作業;及若判定一失效工作為至關重要,則藉由一健康管理程式,建立取代該失效工作的一彌補作業。
  28. 如申請專利範圍第27項所述之電腦可讀取儲存媒體,更包含:藉由一複製代理程式,維護要保護之該資訊的一副本。
  29. 如申請專利範圍第27項所述之電腦可讀取儲存媒體,更包含:藉由一歸檔代理程式,維護要保護之該資訊的一歸檔複製。
  30. 如申請專利範圍第27項所述之電腦可讀取儲存媒體,更包含:藉由該健康管理程式,監控由該資料保護程式建立的作業。
  31. 如申請專利範圍第27項所述之電腦可讀取儲存媒體,更包含:藉由該資料保護程式,接收一事件的通知。
  32. 如申請專利範圍第31項所述之電腦可讀取儲存媒體,更包含:回應要保護之該資訊之一狀態變更,產生一事件。
  33. 如申請專利範圍第27項所述之電腦可讀取儲存媒體,更包含:藉由複數個管理程式,維護一資料保護程式資料庫的一部分,其中每一管理程式經設定用於一資料保護系統的一特定部分。
  34. 如申請專利範圍第33項所述之電腦可讀取儲存媒體,其中對於該資料保護程式資料庫的每一部分,只有維護該資料保護程式資料庫之該部分的該管理程式可修改該資料保護程式資料庫的該部分。
  35. 一種資料保護系統,該資料保護系統具有:含有資料的一生產位置、一儲存位置及一通信網路,其中該儲存位置經由該通信網路取得一複製的資料並儲存該複製的資料,該資料保護系統包含:一資料保護程式,該資料保護程式係實施於該資料保護系統內,以控制該生產位置與該儲存位置;及一健康管理程式,該健康管理程式經設定以監控該資料保護系統正在執行一作業的一部分,以及為回應被決定為至關重要之該作業的一失效,建立一彌補作業。
  36. 一種用於保護資料的方法,該方法包含以下步驟:初始化複數個工作,該等工作經設定以執行一備份資料的作業; 決定該等複數個工作中之至少一者是否被中斷;識別一被中斷工作是否至關重要;當該被中斷工作被識別識別為至關重要時,將被識別為至關重要的該被中斷工作歸類至一彌補作業;當該被中斷工作被識別為並非至關重要時,不理會該被中斷工作,使得該並非至關重要的被中斷工作不會變成該彌補作業之部分;當該被中斷工作被識別識別為至關重要時,建立該彌補作業,以取代至少一經識別之被中斷的至關重要工作;以及執行該彌補作業,該被執行之彌補作業係經由複數個工作所執行,該等複數個工作經設定以執行該彌補作業。
  37. 如申請專利範圍第36項所述之方法,更包含以下步驟之至少一者:由一自動演算法識別一工作是否至關重要,由一使用者所指定識別一工作是否至關重要;或者經由標準以識別一工作是否至關重要,該標準可包括:一工作重複的頻率。
  38. 一種用於保護資料的系統,該系統包含:用於初始化一操作之構件,以經由複數個工作(task)保護資料,該等複數個工作經設定以執行一資 料保護作業(job);用於管理該等複數個工作中之至少一者的進度之構件,該管理包括以下步驟:識別該資料保護作業之至少一被中斷工作;用於辨認來自該資料保護作業之至少一被中斷工作是否至關重要之構件;當辨認出至少一至關重要的被中斷工作時,用於建立一彌補作業之構件;用於使該彌補作業中具有經辨認的至關重要的被中斷工作之構件;以及用於不理會並非至關重要的被中斷工作之構件,使得該等並非至關重要的被中斷工作不是該彌補作業之部分,其中上述該等構件之至少一者存在於至少一計算裝置上。
  39. 如申請專利範圍第38項所述之系統,更包含以下之至少一者:用於藉由執行該等複數個工作中之每一者,以執行一作業的一動作之構件;用於平行執行該等複數個工作中之至少兩者之構件;用於連續執行該等複數個工作中之至少兩者之構件; 用於藉由複數個代理程式來執行該等複數個工作中之至少一者,並用於在不同的位置操作該等複數個代理程式中之至少兩者之構件;或者用於在即便該等複數個工作中之至少一者可能失效的情況下,仍然完成一作業之構件。
  40. 如申請專利範圍第38項所述之系統,其中如果該等複數個工作中之一者失效,則一作業失效。
  41. 如申請專利範圍第38項所述之系統,其中每一工作實施一用於保護該資料之動作(verb),該動作係來自以下的一組動作,該組動作包含:複製、驗證、歸檔、複製一資料集、復原、實施時間版本之製作、分配資源、初始化、取消分配資源以及收回媒體。
  42. 如申請專利範圍第38項所述之系統,更包含用於利用至少一代理程式來執行一工作之構件。
  43. 如申請專利範圍第38項所述之系統,更包含:用於將每一工作實施為:有限狀態機之構件,該有限狀態機由一組狀態與轉變所組成;以及用於在狀態間轉變以回應輸入之構件。
  44. 如申請專利範圍第43項所述之系統,更包含:用於自一有限狀態機建構一工作執行程式之構件;將一共同引擎用於複數個有限狀態機;以及用於執行該有限狀態機以及用於指示該有限狀態機的轉變之構件。
  45. 如申請專利範圍第38項所述之系統,更包含:用於設定一工作執行程式之構件,以執行該複數個工作中之每一者,該工作執行程式輪詢正在執行的一工作,以決定工作的該進度。
  46. 如申請專利範圍第38項所述之系統,更包含:用於從一作業的一失效工作接收一工作失效通知之構件;用於識別該作業已完成的工作之構件;用於識別該作業未完成的工作之構件;用於建立並執行一彌補作業之構件,該彌補作業包括:該經識別之未完成的工作;用於決定該失效工作是否至關重要之構件;用於在一彌補作業內包括至關重要之工作之構件;以及用於在一彌補作業內排除並非至關重要之工作之構件。
  47. 如申請專利範圍第38項所述之系統,更包含:用於從一作業的一失效工作接收一工作失效通知之構件;用於識別該作業已完成的工作之構件;用於識別該作業未完成的工作之構件;用於建立並執行一彌補作業之構件,該彌補作業包括:該經識別之未完成的工作;用於識別在進行中的一工作之構件;用於重新啟動該經識別的工作之構件;以及用於將一工作失效通知識別為:該重新啟動之工作的一失效通知之構件。
  48. 如申請專利範圍第38項所述之系統,更包含:用於從一作業的一失效工作接收一工作失效通知之構件;用於識別該作業已完成的工作之構件;用於識別該作業未完成的工作之構件;用於建立並執行一彌補作業之構件,該彌補作業包括:該經識別之未完成的工作;以及用於將該工作失效係包括在一事件通知中之構件。
  49. 如申請專利範圍第48項所述之系統,其中該工作失效係起因於一系統當機。
  50. 如申請專利範圍第38項所述之系統,更包含:用於從一作業的一失效工作接收一工作失效通知之構件;用於識別該作業已完成的工作之構件;用於識別該作業未完成的工作之構件;用於建立並執行一彌補作業之構件,該彌補作業包括:該經識別之未完成的工作;以及用於識別該作業已完成之工作之構件,該識別包括:分析一作業之每一工作的一工作軌跡。
  51. 如申請專利範圍第38項所述之系統,更包含:用於從一作業的一失效工作接收一工作失效通知之構件;用於識別該作業已完成的工作之構件;用於識別該作業未完成的工作之構件;用於建立並執行一彌補作業之構件,該彌補作業包括:該經識別之未完成的工作;以及識別該作業未完成之工作之構件,該識別包括:分析一作業之每一工作的一工作軌跡。
TW094126619A 2004-09-09 2005-08-04 用於在一資料保護系統上建立一用來產生強固且易於管理之資料保護應用程式之結構模組的方法、系統以及設備 TWI403890B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/937,218 US7487395B2 (en) 2004-09-09 2004-09-09 Method, system, and apparatus for creating an architectural model for generating robust and easy to manage data protection applications in a data protection system

Publications (2)

Publication Number Publication Date
TW200609826A TW200609826A (en) 2006-03-16
TWI403890B true TWI403890B (zh) 2013-08-01

Family

ID=35613819

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094126619A TWI403890B (zh) 2004-09-09 2005-08-04 用於在一資料保護系統上建立一用來產生強固且易於管理之資料保護應用程式之結構模組的方法、系統以及設備

Country Status (13)

Country Link
US (1) US7487395B2 (zh)
EP (2) EP1635259A3 (zh)
JP (1) JP4807988B2 (zh)
KR (1) KR101150025B1 (zh)
CN (1) CN100576134C (zh)
AU (1) AU2005203576B2 (zh)
BR (1) BRPI0503722A (zh)
CA (1) CA2515330C (zh)
MX (1) MXPA05009273A (zh)
MY (1) MY147620A (zh)
RU (1) RU2391697C2 (zh)
TW (1) TWI403890B (zh)
ZA (1) ZA200506335B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145601B2 (en) 2004-09-09 2012-03-27 Microsoft Corporation Method, system, and apparatus for providing resilient data transfer in a data protection system
US7502961B2 (en) * 2004-09-09 2009-03-10 Microsoft Corporation Method, system, and apparatus for providing alert synthesis in a data protection system
US7567974B2 (en) 2004-09-09 2009-07-28 Microsoft Corporation Method, system, and apparatus for configuring a data protection system
US8090987B2 (en) * 2005-12-05 2012-01-03 Lg Electronics Inc. Imaging apparatus having automatic backup function and method for controlling the same
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
US9037698B1 (en) 2006-03-14 2015-05-19 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US8601112B1 (en) * 2006-03-14 2013-12-03 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
JP4761538B2 (ja) * 2006-03-31 2011-08-31 キヤノン株式会社 デバイス管理システム、情報処理装置及びその制御方法、プログラム
US7836440B2 (en) * 2006-04-27 2010-11-16 Oracle America, Inc. Dependency-based grouping to establish class identity
JP2008009485A (ja) * 2006-06-27 2008-01-17 Fujitsu Ltd 仮想ストレージ制御装置及び仮想ストレージ制御プログラム
US10210340B2 (en) 2007-07-05 2019-02-19 Blackberry Limited File sharing with a hostile system
US9176825B2 (en) * 2008-12-31 2015-11-03 Symantec Corporation Granular application data lifecycle sourcing from a single backup
JP4886831B2 (ja) * 2009-10-15 2012-02-29 株式会社東芝 コンテンツ記録装置、再生装置、編集装置およびその方法
US8464229B2 (en) * 2009-12-29 2013-06-11 Microgen Aptitude Limited Creation of form-based software application in a graphical user interface (GUI) environment
RU2467389C1 (ru) * 2011-06-07 2012-11-20 Антон Андреевич Краснопевцев Способ защиты программно-информационного обеспечения от несанкционированного использования
US8726080B2 (en) * 2011-08-15 2014-05-13 International Business Machines Corporation Merging multiple contexts to manage consistency snapshot errors
RU2469388C1 (ru) * 2011-09-19 2012-12-10 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" - Госкорпорация "Росатом" Способ обращения к данным, хранимым в параллельной файловой системе, с иерархической организацией памяти
JP5735702B2 (ja) * 2012-03-16 2015-06-17 株式会社日立製作所 情報処理システム及び情報処理システムの制御方法
US9270793B2 (en) 2012-06-19 2016-02-23 Microsoft Technology Licensing, Llc Enhanced data protection for message volumes
US10203904B1 (en) * 2013-09-24 2019-02-12 EMC IP Holding Company LLC Configuration of replication
JP6369162B2 (ja) * 2014-06-25 2018-08-08 富士通株式会社 監視装置、情報処理システム及び監視方法
US9870295B2 (en) * 2014-07-18 2018-01-16 General Electric Company Automation of workflow creation and failure recovery
US9939792B2 (en) * 2014-12-30 2018-04-10 Futurewei Technologies, Inc. Systems and methods to adaptively select execution modes
US10558538B2 (en) 2017-11-22 2020-02-11 Netapp, Inc. Erasure coding repair availability
US9626245B2 (en) 2015-02-20 2017-04-18 Netapp, Inc. Policy based hierarchical data protection
US11423343B2 (en) * 2015-03-25 2022-08-23 Kyndryl, Inc. Dynamic construction of cloud services
US9575804B2 (en) 2015-03-27 2017-02-21 Commvault Systems, Inc. Job management and resource allocation
US10725872B2 (en) 2015-12-14 2020-07-28 Hitachi Vantara Llc Restore points based on milestone versions
RU2647648C1 (ru) * 2017-04-13 2018-03-16 Общество с ограниченной ответственностью "Научно-технический центр РЕЛЭКС" (ООО "НТЦ РЕЛЭКС") Способ организации хранения исторических дельт записей
US10983950B2 (en) * 2017-11-10 2021-04-20 Palantir Technologies Inc. Approaches for managing data retention lifecycle
US10798102B2 (en) * 2017-11-14 2020-10-06 International Business Machines Corporation Protecting data at an object level
CN108985088A (zh) * 2018-07-25 2018-12-11 江阴嘉恒软件技术有限公司 一种控制计算机数据访问的方法
CN110750806A (zh) * 2019-07-16 2020-02-04 黑龙江省科学院自动化研究所 一种基于tp-mfsa抑制发布的高维位置轨迹数据隐私保护发布系统及方法
US11334408B2 (en) 2020-01-08 2022-05-17 Bank Of America Corporation Big data distributed processing and secure data transferring with fault handling
US11314874B2 (en) 2020-01-08 2022-04-26 Bank Of America Corporation Big data distributed processing and secure data transferring with resource allocation and rebate
US11363029B2 (en) 2020-01-08 2022-06-14 Bank Of America Corporation Big data distributed processing and secure data transferring with hyper fencing
US11379603B2 (en) 2020-01-08 2022-07-05 Bank Of America Corporation Big data distributed processing and secure data transferring with fallback control
US11321430B2 (en) 2020-01-08 2022-05-03 Bank Of America Corporation Big data distributed processing and secure data transferring with obfuscation
US11249988B2 (en) 2020-05-20 2022-02-15 Snowflake Inc. Account-level namespaces for database platforms
US11501010B2 (en) * 2020-05-20 2022-11-15 Snowflake Inc. Application-provisioning framework for database platforms
US11593354B2 (en) 2020-05-20 2023-02-28 Snowflake Inc. Namespace-based system-user access of database platforms

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845614A (en) * 1986-08-12 1989-07-04 Hitachi, Ltd. Microprocessor for retrying data transfer
US5274813A (en) * 1990-09-28 1993-12-28 Kabushiki Kaisha Toshiba Operation system having a migration function which moves saved data associated with an interrupted process to a different save area
US5596710A (en) * 1994-10-25 1997-01-21 Hewlett-Packard Company Method for managing roll forward and roll back logs of a transaction object
US6126328A (en) * 1997-02-28 2000-10-03 Oracle Corporation Controlled execution of partitioned code
US20020103982A1 (en) * 2001-01-31 2002-08-01 Ballard Curtis C. Redundant backup device
US20020120886A1 (en) * 2001-02-27 2002-08-29 Sun Microsystems, Inc. Method, system, and program for monitoring system components
US20030167332A1 (en) * 2002-03-01 2003-09-04 Sun Microsystems, Inc. Object mutation determination for incremental state saves
US6625755B1 (en) * 1998-11-12 2003-09-23 Hitachi Software Engineering Co., Ltd. Storage apparatus and control method thereof
US20030221187A1 (en) * 2002-05-23 2003-11-27 International Business Machines Corporation Database breakpoint apparatus and method
TW200401187A (en) * 2002-07-12 2004-01-16 Nec Corp Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US20040059805A1 (en) * 2002-09-23 2004-03-25 Darpan Dinker System and method for reforming a distributed data system cluster after temporary node failures or restarts
US6721907B2 (en) * 2002-06-12 2004-04-13 Zambeel, Inc. System and method for monitoring the state and operability of components in distributed computing systems
US6772178B2 (en) * 2001-07-27 2004-08-03 Sun Microsystems, Inc. Method and apparatus for managing remote data replication in a distributed computer system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61279959A (ja) * 1985-06-05 1986-12-10 Nec Corp 主記憶退避出力方式
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
JPH07146809A (ja) * 1993-11-22 1995-06-06 Hitachi Ltd 情報処理装置
JPH08314783A (ja) * 1995-05-17 1996-11-29 Hitachi Ltd データ保全方式
JPH09160818A (ja) * 1995-12-06 1997-06-20 Kokusai Electric Co Ltd ファイルの自動バックアップ方法
JPH11134235A (ja) * 1997-10-31 1999-05-21 Hitachi Ltd 外部記憶装置故障時の回復支援方法
US6182238B1 (en) * 1998-05-14 2001-01-30 Intel Corporation Fault tolerant task dispatching
JP2001350660A (ja) * 2000-06-06 2001-12-21 Toshiba Corp プログラム実行管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP4056794B2 (ja) * 2002-05-28 2008-03-05 株式会社日立製作所 ストレージシステムの制御方法及びストレージシステム
US7178065B2 (en) * 2003-04-02 2007-02-13 Sun Microsystems, Inc. System and method for measuring performance with distributed agents
US7174479B2 (en) * 2003-09-10 2007-02-06 Microsoft Corporation Method and system for rollback-free failure recovery of multi-step procedures
US7917910B2 (en) * 2004-03-26 2011-03-29 Intel Corporation Techniques to manage critical region interrupts
US7096392B2 (en) * 2004-05-07 2006-08-22 Asempra Technologies, Inc. Method and system for automated, no downtime, real-time, continuous data protection

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845614A (en) * 1986-08-12 1989-07-04 Hitachi, Ltd. Microprocessor for retrying data transfer
US5274813A (en) * 1990-09-28 1993-12-28 Kabushiki Kaisha Toshiba Operation system having a migration function which moves saved data associated with an interrupted process to a different save area
US5596710A (en) * 1994-10-25 1997-01-21 Hewlett-Packard Company Method for managing roll forward and roll back logs of a transaction object
US6126328A (en) * 1997-02-28 2000-10-03 Oracle Corporation Controlled execution of partitioned code
US6625755B1 (en) * 1998-11-12 2003-09-23 Hitachi Software Engineering Co., Ltd. Storage apparatus and control method thereof
US20020103982A1 (en) * 2001-01-31 2002-08-01 Ballard Curtis C. Redundant backup device
US20020120886A1 (en) * 2001-02-27 2002-08-29 Sun Microsystems, Inc. Method, system, and program for monitoring system components
US6772178B2 (en) * 2001-07-27 2004-08-03 Sun Microsystems, Inc. Method and apparatus for managing remote data replication in a distributed computer system
US20030167332A1 (en) * 2002-03-01 2003-09-04 Sun Microsystems, Inc. Object mutation determination for incremental state saves
US20030221187A1 (en) * 2002-05-23 2003-11-27 International Business Machines Corporation Database breakpoint apparatus and method
US6721907B2 (en) * 2002-06-12 2004-04-13 Zambeel, Inc. System and method for monitoring the state and operability of components in distributed computing systems
TW200401187A (en) * 2002-07-12 2004-01-16 Nec Corp Fault-tolerant computer system, re-synchronization method thereof and re-synchronization program thereof
US20040059805A1 (en) * 2002-09-23 2004-03-25 Darpan Dinker System and method for reforming a distributed data system cluster after temporary node failures or restarts

Also Published As

Publication number Publication date
BRPI0503722A (pt) 2006-04-18
CN100576134C (zh) 2009-12-30
JP2006079626A (ja) 2006-03-23
EP1635259A2 (en) 2006-03-15
EP1635259A3 (en) 2012-04-18
AU2005203576A1 (en) 2006-03-23
CA2515330C (en) 2014-05-13
MY147620A (en) 2012-12-31
US7487395B2 (en) 2009-02-03
RU2391697C2 (ru) 2010-06-10
ZA200506335B (en) 2007-04-25
EP3026561A2 (en) 2016-06-01
TW200609826A (en) 2006-03-16
KR101150025B1 (ko) 2012-06-01
KR20060050607A (ko) 2006-05-19
MXPA05009273A (es) 2006-03-13
JP4807988B2 (ja) 2011-11-02
CN1760789A (zh) 2006-04-19
CA2515330A1 (en) 2006-03-09
RU2005128122A (ru) 2007-03-20
EP3026561A3 (en) 2016-07-13
AU2005203576B2 (en) 2010-08-05
US20060053334A1 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
TWI403890B (zh) 用於在一資料保護系統上建立一用來產生強固且易於管理之資料保護應用程式之結構模組的方法、系統以及設備
EP1635244B1 (en) Method and system for creating an archive routine for protecting data in a data protection system
US8606760B2 (en) Configuring a data protection system
US9141482B2 (en) Method, system, and apparatus for providing alert synthesis in a data protection system
US7631194B2 (en) Method, system, and apparatus for creating saved searches and auto discovery groups for a data protection system
US9372906B2 (en) Method, system, and apparatus for providing resilient data transfer in a data protection system
US7865470B2 (en) Method, system, and apparatus for translating logical information representative of physical data in a data protection system

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees