Data protection system and method
Abstract
Embodiments of this invention provide primary magnetic disk data storage capacity to clients while at the same time making sure that client data is replicated locally and at an offsite location to protect from all forms of data loss.

Term
Term ended
Expired 10 September 2023, 3 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
26 claims: 26 independent, 0 dependent
- 1A data protection system comprising:a fileserver (27) configured to be connected to a repository (28) for storing replica files, the fileserver (27) having: a file system (32) configured to define a share for client files a share being created on the fileserver as a directory or folder the contents of this shared directory or folder being accessible by multiple clients across a local area network;a filter driver (31) in communication with said file system (32), the filter driver (31) being configured to intercept input/output activity initiated by client requests for files of said share and to maintain a list of modified and created files in that share since a capture of a snapshot of the share at a particular prior point in time;a policy cache (34) configured to store a protection policy for said share said protection policy determining where and how to protect said share;anda mirror service (33) in communication with the filter driver (31) and the policy cache (34);said mirror service (33) being operable to prepare, to a schedule defined by a backup frequency specified in said protection policy, a snapshot of all modified and created files in said share for writing to a repository specified in said protection policy, said repository including at least one of a local repository (28, 46) and a remote repository (47). Datensicherungs-System, aufweisend: einen Dateiserver (27), der konfiguriert ist, um mit einem Magazin (28) zum Speichern von Dateikopien verbunden zu werden, wobei der Dateiserver (27) aufweist: ein Dateisystem (32), welches konfiguriert ist, um einen Teilhaberschaftsbereich für Klienten-Dateien zu festzulegen, wobei ein Teilhaberschaftsbereich auf dem Dateiserver als ein Verzeichnis oder als eine Mappe behandelt wird, wobei der Inhalt dieses gemeinsam genutzten Verzeichnisses oder dieser gemeinsam genutzten Mappe für mehrere Klienten quer über ein lokales Netzwerk zugreifbar ist;einen Filtertreiber (31) in Verbindung mit dem Dateisystem (32), wobei der Filtertreiber (31) konfiguriert ist, um Eingabe-/Ausgabe-Aktivitäten mitzuverfolgen, die durch Klienten-Anforderungen für Dateien des Teilhaberschaftsbereiches initiiert worden sind, und um eine Liste von modifizierten und erzeugten Dateien in dem Teilhaberschaftsbereich seit dem Aufnehmen eines Augenblicks-Speicherabzuges des Teilhaberschaftsbereiches zu einem bestimmten vorherigen Zeitpunkt fortzuführen;einen Cache (34) mit Verhaltensregeln, der konfiguriert ist, um eine Sammlung von Sicherungsverhaltensregeln für den Teilhaberschaftsbereich zu speichern, wobei die Sammlung von Sicherungsverhaltensregeln bestimmt, wo und wie der Teilhaberschaftsbereich zu sichern ist;undeinen Spiegelungsdienst (33) in Verbindung mit dem Filtertreiber (31) und dem Cache (34) mit Verhaltensregeln;wobei der Spiegelungsdienst (33) betreibbar ist, um gemäß einem durch eine in der Sammlung von Sicherungsverhaltensregeln festgelegte Sicherungskopie-Frequenz festgelegten Dienstplan einen Augenblicks-Speicherabzug aller in dem Teilhaberschaftsbereich modifizierten und erzeugten Dateien zum Schreiben in ein in der Sammlung von Sicherungsverhaltensregeln spezifiziertes Magazin vorzubereiten, wobei das Magazin mindestens ein lokales Magazin (28, 46) oder ein entfernt angeordnetes Magazin (47) beinhaltet. Système de protection de données comprenant: un serveur de fichiers (27) configuré pour être relié à un entrepôt (28) destiné à stocker des répliques de fichiers, le serveur de fichiers (27) comportant: un système de fichiers (32) configuré pour définir un système de partage pour des fichiers clients, un système de partage étant créé sur le serveur de fichiers sous la forme d'un répertoire ou d'un dossier, le contenu de ce répertoire ou dossier partagé étant accessible par de multiples clients à travers un réseau local;un pilote de filtre (31) en communication avec ledit système de fichiers (32), le pilote de filtre (31) étant configuré pour intercepter une activité d'entrée/sortie initiée par des demandes de clients concernant des fichiers dudit système de partage et pour gérer une liste de fichiers modifiés et créés dans ce système de partage depuis la saisie d'un instantané du système de partage à un instant antérieur particulier;une antémémoire de politique (34) configurée pour stocker une politique de protection pour ledit système de partage, ladite politique de protection déterminant où et comment protéger ledit système de partage;etun service de mise en miroir (33) en communication avec le pilote de filtre (31) et l'antémémoire de politique (34);ledit service de mise en miroir (33) étant apte à agir pour préparer, conformément à un planning défini par une fréquence de sauvegarde spécifiée dans ladite politique de protection, un instantané de tous les fichiers modifiés et créés dans ledit système de partage en vue d'une opération d'écriture dans un entrepôt spécifié dans ladite politique de protection, ledit entrepôt comprenant un entrepôt local (28, 46) et/ou un entrepôt distant (47).
- 2A data protection system according to Claim 1, further comprising:a fileserver API (37) coupled to the mirror service (33) and operative to communicate with a repository (28);anda fileserver file transfer module (40) in communication with the file system (32) and operative to transfer files from the file system (32) to at least one repository (28). Datensicherungssystem nach Anspruch 1, ferner aufweisend: eine Dateiserver-API (37), die mit dem Spiegelungsdienst (33) gekoppelt ist und betreibbar ist, um mit einem Magazin (28) zu kommunizieren;ein Dateiserver-Dateiübertragungsmodul (40), welches mit dem Dateisystem (32) in Verbindung steht und betreibbar ist, um Dateien von dem Dateisystem (32) zu mindestens einem Magazin (28) zu übertragen. Système de protection de données selon la revendication 1, comprenant également: une interface API de serveur de fichiers (37) reliée au service de mise en miroir (33) et apte à agir pour communiquer avec un entrepôt (28);etun module de transfert de fichiers de serveur de fichiers (40) en communication avec le système de fichiers (32) et apte à agir pour transférer des fichiers du système de fichiers (32) dans au moins un entrepôt (28).
- 3System nach Anspruch 1 oder 2, wobei der Spiegelungsdienst (33) konfiguriert ist, um eine neue Version einer existierenden Datei in das Magazin (28) zu schicken, in welches eine vorherige Version der Datei geschrieben worden war. Système selon la revendication 1 ou 2, dans lequel le service de mise en miroir (33) est configuré pour envoyer une nouvelle version d'un fichier existant à l'entrepôt (28) dans lequel une version antérieure du fichier a été écrite. The system of claim 1 or 2, wherein the mirror service (33) is configured to direct a new version of an existing file to the repository (28) to which a prior version of the file was written.
- 4System nach Anspruch 1 oder 2, wobei der Dateiserver (27) ferner umfasst:einen Örtlichkeits-Cache (36), der in Verbindung mit dem Spiegelungsdienst (33) steht und betreibbar ist, um anzugeben, welches Magazin (28) eine aktualisierte Version einer existierenden Datei erhalten soll;undeinen Örtlichkeits-Manager (35), der mit dem Örtlichkeits-Cache (36) gekoppelt ist und der betreibbar ist, um den Örtlichkeits-Cache (36) zu aktualisieren, wenn eine neue Datei in einen spezifischen Magazin-Knoten (47) geschrieben wird. Système selon la revendication 1 ou 2, dans lequel le serveur de fichiers (27) comprend également: une antémémoire d'emplacements (36) en communication avec le service de mise en miroir (33) et apte à agir pour indiquer l'entrepôt (28) qui doit recevoir une version actualisée d'un fichier existant;etun gestionnaire d'emplacements (35) relié à l'antémémoire d'emplacements (36) et apte à agir pour actualiser l'antémémoire d'emplacements (36) lorsqu'un nouveau fichier est écrit dans un noeud (47) spécifique de l'entrepôt. The system of claim 1 or 2, wherein the fileserver (27) further comprises: a location cache (36) in communication with the mirror service (33) and operative to indicate which repository (28) should receive an updated version of an existing file;anda location manager (35) coupled to the location cache (36) and operative to update the location cache (36) when a new file is written to a specific repository node (47).
- 5System nach Anspruch 3, ferner aufweisend:ein lokales Magazin (28;46), das mit dem Dateiserver (27) zum Empfang von Dateien aus dem Dateiserver (27) in Verbindung steht, wobei das lokale Magazin (28;46) eine Komponente (44;51) für eine Sammlung von Sicherungsverhaltensregeln beinhaltet, welche betreibbar ist, um festzustellen, ob neue Versionen bestehender Dateien komprimiert werden sollten und ob ältere Versionen von existierenden Dateien weiter aufbewahrt werden sollen. Système selon la revendication 3, comprenant également: un entrepôt local (28;46) en communication avec le serveur de fichiers (27) pour recevoir des fichiers du serveur de fichiers (27), ledit entrepôt local (28;46) contenant un organe de politique de protection (44;51) apte à agir pour déterminer si de nouvelles versions de fichiers existants doivent être compressées ou non et si des versions plus anciennes de fichiers existants doivent être conservées ou non. The system of claim 3, further comprising: a local repository (28;46) in communication with the fileserver (27) for the receipt of files from the fileserver (27), said local repository (28;46) including a protection policy component (44;51) operative to determine whether new versions of existing files should be compressed and whether older versions of existing files should be maintained.
- 6System nach Anspruch 5, ferner aufweisend:ein entfernt angeordnetes Magazin (47) in Verbindung mit dem lokalen Magazin (46) für den Empfang von Dateien aus dem lokalen Magazin (46);wobei das entfernt angeordnete Magazin (47) eine Komponente für eine Sammlung von Sicherungsverhaltensregeln beinhaltet, welche betreibbar ist, um festzustellen, ob neue Versionen bestehender Dateien komprimiert werden sollen und ob ältere Versionen bestehender Dateien weiter aufbewahrt werden sollen. Système selon la revendication 5, comprenant également: un entrepôt distant (47) en communication avec ledit entrepôt local (46) pour recevoir des fichiers dudit entrepôt local (46);ledit entrepôt distant (47) contenant un organe de politique de protection apte à agir pour déterminer si de nouvelles versions de fichiers existants doivent être compressées ou non et si des versions plus anciennes de fichiers existants doivent être conservées ou non. The system of claim 5, further comprising: a remote repository (47) in communication with said local repository (46) for the receipt of files from said local repository (46);said remote repository (47) including a protection policy component operative to determine whether new versions of existing files should be compressed and whether older versions of existing files should be maintained.
- 7System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) konfiguriert ist, um basierend auf der Sammlung von Sicherungsverhaltensregeln festzulegen:für das Speichern von Dateien verwendete Magazine (28;46;47), die Häufigkeit des Anfertigens von Datei-Sicherungskopien, wie viele Kopien innerhalb jedes Magazins aufbewahrt werden und wie Modifikationen zu Daten auf Teilhaberschaftsbereichen aufbewahrt werden. Système selon l'une quelconque des revendications précédentes, dans lequel le serveur de fichiers (27) est configuré pour définir, en fonction de ladite politique de protection, des entrepôts (28;46;47) utilisés pour stocker des fichiers, une fréquence de sauvegarde de fichiers, combien de répliques sont conservées dans chaque entrepôt et comment sont gérées des modifications apportées à des données partagées. The system of any preceding claim, wherein the fileserver (27) is configured to to define, based on said protection policy, repositories (28;46;47) used for storage of files, frequency of file backup, how many replicas are maintained within each repository, and how modifications to share data are maintained.
- 8System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) konfiguriert ist, um eine Sicherheitskopie der modifizierten Dateien in Magazine (28; 46; 47) zu schreiben, die in der Sammlung von Sicherungsverhaltensregeln auf der Basis der Sicherungskopie-Frequenz identifiziert sind; und die letzte Version einer Datei in einem Magazin zu speichern, in welchem eine vorherige Version der Datei gespeichert ist; die Differenz zwischen der letzten Version der Datei und der vorherigen Version der Datei zu bestimmen; eine umgekehrte Delta-Kompression auf die Differenz anzuwenden; und die ältere Version der Datei durch die umgekehrt Delta-komprimierte Differenz zwischen der letzten Version und der vorherigen Version der Datei zu ersetzen. Système selon l'une quelconque des revendications précédentes, dans lequel ledit serveur de fichiers (27) est configuré pour:sauvegarder lesdits fichiers modifiés dans des répertoires (28;46;47) identifiés dans ladite politique de protection en fonction de ladite fréquence de sauvegarde;stocker une dernière version d'un fichier dans un entrepôt dans lequel une version antérieure dudit fichier est stockée;déterminer une différence entre ladite dernière version dudit fichier et ladite version antérieure dudit fichier;appliquer une compression delta inverse à ladite différence;etremplacer ladite version antérieure dudit fichier par ladite différence soumise à la compression delta inverse entre ladite dernière version et ladite version antérieure dudit fichier. The system of any preceding claim, wherein said fileserver (27) is configured to backup said modified files into repositories (28;46;47) identified in said protection policy based on said backup frequency;and store a latest version of a file in a repository where a prior version of said file is stored;determine a difference between said latest version of said file and said prior version of said file;apply reverse delta compression to said difference;and replace said prior version of said file with said reverse delta compressed difference between said latest version and said prior version of said file.
- 9System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) basierend auf der Sammlung von Sicherungsverhaltensregeln konfiguriert ist, den Ort von Magazinen und eine Anzahl von Kopien der in jedem Magazin zu speichernden Dateien festzulegen. Système selon l'une quelconque des revendications précédentes, dans lequel le serveur de fichiers (27) est configuré pour déterminer, en fonction de la politique de protection, l'emplacement d'entrepôts et un nombre de répliques des fichiers à stocker dans chaque entrepôt. The system of any preceding claim, wherein the fileserver (27) is configured to determine, based on the protection policy, the location of repositories and a number of replicas of the files to be stored in each repository.
- 10System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) konfiguriert ist, um basierend auf der Sammlung von Sicherungsverhaltensregeln festzulegen, ob eine Datei aus einem Magazin zu löschen ist, nachdem die Datei aus einem Teilhaberschaftsbereich gelöscht worden ist. Système selon l'une quelconque des revendications précédentes, dans lequel le serveur de fichiers (27) est configuré pour déterminer, en fonction de la politique de protection, s'il faut ou non éliminer un fichier d'un entrepôt après que le fichier a été supprimé d'un système de partage. The system of claim any preceding claim, wherein the fileserver (27) is configured to determine, based on the protection policy, whether to purge a file from a repository after the file has been deleted from a share.
- 11System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) konfiguriert ist, um basierend auf der Sammlung von Sicherungsverhaltensregeln festzulegen, ob eine Versionsgeschichte einer Datei in dem Teilhaberschaftsbereich aufbewahrt wird. Système selon l'une quelconque des revendications précédentes, dans lequel le serveur de fichiers (27) est configuré pour déterminer, en fonction de la politique de protection, s'il faut conserver un historique des versions d'un fichier dans le système de partage. The system of any preceding claim, wherein the fileserver (27) is configured to determine, based on the protection policy, whether to keep a version history of a file in the share.
- 12System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) konfiguriert ist, um basierend auf der Sammlung von Sicherungsverhaltensregeln eine spezifizierte Sicherungskopie-Frequenz für ein Magazin festzulegen. Système selon l'une quelconque des revendications précédentes, dans lequel le serveur de fichiers (27) est configuré pour déterminer, en fonction de la politique de protection, une fréquence de sauvegarde spécifiée pour un entrepôt. The system of any preceding claim, wherein the fileserver (27) is configured to determine, based on the protection policy, a specified backup frequency for a repository.
- 13System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) konfiguriert ist, um basierend auf der Sammlung von Sicherungsverhaltensregeln für ein Datei in dem Teilhaberschaftsbereich einen spezifizierten Kompressionstyp festzulegen. Système selon l'une quelconque des revendications précédentes, dans lequel le serveur de fichiers (27) est configuré pour déterminer, en fonction de la politique de protection, un type spécifié de compression pour un fichier dans le système de partage. The system of any preceding claim, wherein the fileserver (27) is configured to determine, based on the protection policy, a specified type of compression for a file in the share.
- 14System nach irgendeinem der vorstehenden Ansprüche, wobei der Dateiserver (27) konfiguriert ist, um basierend auf der Sammlung von Sicherungsverhaltensregeln einen Caching-Level eines Magazins festzulegen. Système selon l'une quelconque des revendications précédentes, dans lequel le serveur de fichiers (27) est configuré pour déterminer, en fonction de la politique de protection, un niveau de mise en antémémoire spécifié d'un entrepôt. The system of any preceding claim, wherein the fileserver is configured to determine, based on the protection policy, a specified caching level of a repository.
- 15A method for protecting data comprising:storing a version of a file within a share on a file system (32), a share being created on the fileserver as a directory or folder the contents of this shared directory or folder being accessible by multiple clients across a local area networkcapturing, using a filter driver in communication with the file system (32), a snapshot of the share at a particular point in time in accordance with a backup frequency defined in a protection policy for that share, the filter driver being configured to intercept input/output activity initiated by client requests;maintaining a list of modified and/or created files since a last captured snapshot;examining the protection policy (34) associated with the share to determine where and how to protect files of said share;andreplicating, using a mirror service (33), the version of the file to a repository specified by the protection policy, the repository including at least one of a local repository (28;46) and a remote repository (47). Procédé de protection de données comprenant: le stockage d'une version d'un fichier dans un système de partage d'un système de fichiers (32), un système de partage étant créé sur le serveur de fichiers sous la forme d'un répertoire ou d'un dossier, le contenu de ce répertoire ou dossier partagé étant accessible par de multiples clients à travers un réseau local;la saisie, à l'aide d'un pilote de filtre en communication avec le système de fichiers (32), d'un instantané du système de partage à un instant particulier en fonction d'une fréquence de sauvegarde définie dans une politique de protection pour ce système de partage, le pilote de filtre étant configuré pour intercepter une activité d'entrée/sortie initiée par des demandes de clients;la gestion d'une liste de fichiers modifiés et/ou créés depuis un dernier instantané saisi;l'examen de la politique de protection (34) associée au système de partage afin de déterminer où et comment protéger les fichiers dudit système de partage;etla duplication, à l'aide d'un service de mise en miroir (33), de la version du fichier dans un entrepôt spécifié par la politique de protection, l'entrepôt comprenant un entrepôt local (28;46) et/ou un entrepôt distant (47). Verfahren zum Schützen von Daten, aufweisend: Speichern einer Version einer innerhalb eines Teilhaberschaftsbereiches auf einem Dateisystem (32) geschriebenen Datei, wobei ein Teilhaberschaftsbereich auf dem Dateiserver als ein Verzeichnis oder als eine Mappe behandelt wird, wobei der Inhalt dieses gemeinsam genutzten Verzeichnisses oder dieser gemeinsam genutzten Mappe für mehrere Klienten über das lokale Netzwerk zugreifbar ist;Aufnehmen eines Augenblicks-Speicherabzuges des Teilhaberschaftsbereiches unter Verwendung eines Filtertreibers in Verbindung mit dem Dateisystem (32) zu einem bestimmten Zeitpunkt in Übereinstimmung mit einer Sicherungskopie-Frequenz, die in einer Sammlung von Sicherungsverhaltensregeln für den Teilhaberschaftsbereich festgelegt ist, wobei der Filtertreiber konfiguriert ist, um Eingabe-/Ausgabe-Aktivitäten mitzuverfolgen, die auf Anforderung von Klienten initiiert worden sind;Aufrechterhalten einer Liste von modifizierten und/oder erzeugten Dateien seit einem zuletzt aufgenommenen Augenblicks-Speicherabzug;Untersuchen der Sammlung von Sicherungsverhaltensregeln (34), die mit dem Teilhaberschaftsbereich verknüpft sind, um festzulegen, wo und wie Dateien des Teilhaberschaftsbereiches zu sichern sind;undReplizieren der Version der Datei auf einem Magazin, welches in der Sammlung von Sicherungsverhaltensregeln spezifiziert ist, unter Verwendung eines Spiegelungsdienstes (33), wobei das Magazin mindestens ein lokales Magazin (28;46) oder ein entfernt angeordnetes Magazin (47) beinhaltet.
- 16Procédé selon la revendication 15, dans lequel le fichier comporte au moins une version. The method of claim 15, wherein the file has at least one version. Verfahren nach Anspruch 15, wobei die Datei mindestens eine Version aufweist.
- 17Procédé selon la revendication 16, comprenant également:l'application d'une compression delta inverse à la version du fichier lorsqu'une version consécutive du fichier est stockée dans l'entrepôt. The method of claim 16, further comprising: applying reverse delta compression to the version of the file when a successive version of the file is stored in the repository. Verfahren nach Anspruch 16, ferner aufweisend: Anwenden einer umgekehrten Delta-Kompression auf die Version der Datei, wenn eine nachfolgende Version der Datei in dem Magazin gespeichert wird.
- 18Procédé selon la revendication 17, dans lequel l'étape d'application d'une compression delta inverse comprend:la création d'une autre version du fichier, ladite autre version étant une version du fichier consécutive à ladite version du fichier mentionnée en premier;la duplication de l'autre version du fichier dans l'entrepôt local et l'entrepôt distant;le remplacement de la version dupliquée du fichier dans l'entrepôt local par une version soumise à une compression delta inverse représentant la différence entre la version du fichier mentionnée en premier et l'autre version du fichier;la transmission de la version soumise à la compression delta inverse à l'entrepôt distant (47);etdans l'entrepôt distant, le remplacement de la version du fichier mentionnée en premier par la version soumise à la compression delta inverse pour stocker l'autre version et la version soumise à la compression delta inverse. The method of claim 17 wherein the step of applying reverse delta compression comprises: creating another version of the file, said another version being a version of the file successive to said first mentioned version of the file;replicating the another version of the file in the local repository and the remote repository;replacing the replicated version of the file in the local repository with a reverse delta compressed version representing the difference between the first mentioned version of the file and the another version of the filetransmitting a reverse delta compressed version to the remote repository (47);andin the remote repository, replacing the first mentioned version of the file with the reverse delta compressed version to store the another version and the reverse delta compressed version. Verfahren nach Anspruch 17, wobei der Schritt des Anwendens einer umgekehrten Delta-Kompression aufweist: Erzeugen einer anderen Version der Datei, wobei die andere Version eine auf die zuerst erwähnte Version der Datei nachfolgende Version der Datei ist;Replizieren der anderen Version der Datei in dem lokalen Magazin und in dem entfernt angeordneten Magazin;Ersetzen der replizierten Version der Datei in dem lokalen Magazin durch eine mit umgekehrter Delta-Kompression hergestellten Version, die die Differenz zwischen der zuerst erwähnten Version der Datei und der anderen Version der Datei repräsentiert;Übertragen der mit umgekehrter Delta-Kompression erzeugten Version an das entfernt angeordnete Magazin (47);undErsetzen der zuerst erwähnten Version der Datei in dem entfernt angeordneten Magazin durch die durch umgekehrte Delta-Kompression erzeugte Version zum Speichern der anderen Version und der durch umgekehrte Delta-Kompression erzeugten Version.
- 19Procédé selon la revendication 15, dans lequel l'examen d'une politique de protection associée au système de partage pour déterminer où et comment protéger des fichiers associés au système de partage comprend:la détermination de l'emplacement des entrepôts (28;46;47) et du nombre de répliques des fichiers à stocker dans chaque entrepôt. The method of claim 15 wherein examining a protection policy associated with the share to determine where and how to protect files associated with the share comprises: determining the location of repositories (28;46;47) and the number of replicas of the files to be stored in each repository. Verfahren nach Anspruch 15, wobei das Untersuchen einer mit dem Teilhaberschaftsbereich verknüpften Sammlung von Sicherungsverhaltensregeln zum Festlegen, wo und wie mit dem Teilhaberschaftsbereich verknüpfte Dateien zu sichern sind, aufweist: Festlegen des Ortes von Magazinen (28;46;47) und der in jedem Magazin zu speichernden Anzahl von Kopien der Dateien.
- 20Procédé selon la revendication 15, dans lequel l'examen d'une politique de protection associée au système de partage pour déterminer où et comment protéger des fichiers associés au système de partage comprend:la détermination du fait qu'il faut ou non éliminer un fichier d'un entrepôt (28;46;47) après que le fichier a été supprimé d'un système de partage. The method of claim 15, wherein examining a protection policy associated with the share to determine where and how to protect files associated with the share comprises: determining whether to purge a file from a repository (28;46;47) after the file has been deleted from a share. Verfahren nach Anspruch 15, wobei das Untersuchen einer mit dem Teilhaberschaftsbereich verknüpften Sammlung von Sicherungsverhaltensregeln zum Festlegen, wo und wie mit dem Teilhaberschaftsbereich verknüpfte Dateien zu sichern sind, umfasst: Festlegen, ob eine Datei aus einem Magazin (28;46;47) zu entfernen ist, nachdem die Datei aus einem Teilhaberschaftsbereich gelöscht worden ist.
- 21Procédé selon la revendication 15, dans lequel l'examen d'une politique de protection associée au système de partage pour déterminer où et comment protéger des fichiers associés au système de partage comprend:la détermination du fait qu'il faut conserver ou non un historique des versions d'un fichier dans le système de partage. The method of claim 15, wherein examining a protection policy associated with the share to determine where and how to protect files associated with the share comprises: determining whether to keep a version history of a file in the share. Verfahren nach Anspruch 15, wobei das Untersuchen einer mit dem Teilhaberschaftsbereich verknüpften Sammlung von Sicherungsverhaltensregeln zum Festlegen, wo und wie mit dem Teilhaberschaftsbereich verknüpfte Dateien zu sichern sind, umfasst: Festlegen, ob eine Versionsgeschichte einer Datei aus dem Teilhaberschaftsbereich aufzubewahren ist.
- 22Procédé selon la revendication 15, dans lequel l'examen d'une politique de protection associée au système de partage pour déterminer où et comment protéger des fichiers associés au système de partage comprend:la détermination d'une fréquence de sauvegarde spécifiée pour un entrepôt (28;46;47). The method of claim 15, wherein examining a protection policy associated with the share to determine where and how to protect files associated with the share comprises: determining a specified backup frequency for a repository (28;46;47). Verfahren nach Anspruch 15, wobei das Untersuchen einer mit dem Teilhaberschaftsbereich verknüpften Sammlung von Sicherungsverhaltensregeln zum Festlegen, wo und wie mit dem Teilhaberschaftsbereich verknüpfte Dateien zu sichern sind, umfasst: Festlegen einer spezifizierten Sicherungskopie-Frequenz für ein Magazin (28;46;47).
- 23Procédé selon la revendication 15, dans lequel l'examen d'une politique de protection associée au système de partage pour déterminer où et comment protéger des fichiers associés au système de partage comprend:la détermination d'un type spécifié de compression pour un fichier dans ledit système de partage. The method of claim 15, wherein examining a protection policy associated with the share to determine where and how to protect files associated with the share comprises: determining a specified type of compression for a file in said share. Verfahren nach Anspruch 15, wobei das Untersuchen einer mit dem Teilhaberschaftsbereich verknüpften Sammlung von Sicherungsverhaltensregeln zum Festlegen, wo und wie mit dem Teilhaberschaftsbereich verknüpfte Dateien zu sichern sind, umfasst: Festlegen eines spezifizierten Kompressionstyps für eine Datei aus dem Teilhaberschaftsbereich.
- 24Procédé selon la revendication 15, dans lequel l'examen d'une politique de protection associée au système de partage pour déterminer où et comment protéger des fichiers associés au système de partage comprend:la détermination d'un niveau de mise en antémémoire spécifié d'un entrepôt (28;46;47). The method of claim 15, wherein examining a protection policy associated with the share to determine where and how to protect files associated with the share comprises: determining a specified caching level of a repository (28;46;47). Verfahren nach Anspruch 15, wobei das Untersuchen einer mit dem Teilhaberschaftsbereich verknüpften Sammlung von Sicherungsverhaltensregeln zum Festlegen, wo und wie mit dem Teilhaberschaftsbereich verknüpfte Dateien zu sichern sind, umfasst: Festlegen eines spezifizierten Caching-Levels eines Magazins (28;46;47).
- 25A computer program comprising computer program instructions for implementing the method of any one of claims 15 to 23 in a computer. Computerprogramm, umfassend Computerprogrammanweisungen zum Implementieren des Verfahrens nach irgendeinem der Ansprüche 15 bis 23 in einem Computer. Programme d'ordinateur comprenant des instructions de programme d'ordinateur pour mettre en oeuvre le procédé selon l'une quelconque des revendication 15 à 23 sur un ordinateur.
- 26A computer program product comprising a carrier medium carrying a computer program according to Claim 25. Computerprogrammprodukt, umfassend ein Trägermedium, welches ein Computerprogramm gemäß Anspruch 25 trägt. Progiciel d'ordinateur comprenant un support porteur d'un programme d'ordinateur selon la revendication 25.
Independent claims26
30 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
The present invention is associated with computer primary disk storage systems and the ongoing protection of data on that primary disk storage system from various forms of data loss or corruption. These forms of data loss include accidental user or application file deletion, virus attacks, hardware failure and/or the loss of a data center facility.
Primary disk storage systems must be periodically protected. While there are numerous data protection solutions available for protecting data, they suffer from the following problems: • There are many data protection schemes that are employed in combination to fully protect data. The multiplicity of these schemes (e.g. RAID, snapshots, backup, replication) creates over-replication of primary data and increases the complexity of data recovery administration. • The deployment of data storage and data protection systems today rarely extends ' beyond a single data center. This creates isolated islands of data storage, data protection and data management. This creates an environment where some data centers have a surplus of storage capacity that they cannot effectively share with other data centers that need additional storage capacity. • Traditional data protection systems rely almost exclusively on magnetic tape because of its low cost. There are significant reliability and long-term integrity issues associated with reading data that has been recorded on magnetic tape. Tape media quality is degraded each time it is used in a tape drive due to friction between the medium surface and the tape drive head. In addition, tape media that is stored in an archive facility must be maintained within tight environmental limits of temperature and humidity. These limits are likely to be exceeded as tapes are transported from a company's air-conditioned data center into archive storage trucks and then back into air conditioning of the offsite storage facility. Observe the relatively limited temperature and humidity range for magnetic tapes that are stored in an archive environment. <tables id="tabl0001" num="0001"><table frame="all"><tgroup cols="3"><colspec colnum="1" colname="col1" colwidth="34mm" /><colspec colnum="2" colname="col2" colwidth="28mm" /><colspec colnum="3" colname="col3" colwidth="32mm" /><thead><row><entry valign="top" /><entry valign="top"><b>Magnetic Tape</b></entry><entry valign="top"><b>Magnetic Disk</b></entry></row></thead><tbody><row><entry><i>Archive Temp (C)</i></entry><entry>18-28 degrees C</entry><entry>-40 to 65 degrees C</entry></row><row><entry><i>Archive Humidify (%)</i></entry><entry>40-60%</entry><entry>5-95%</entry></row></tbody></tgroup></table></tables> • Generations of tape media and tape drive technology regularly become obsolete, making long-term archiving using magnetic tape a significant challenge. A company with hundreds or thousands of magnetic tapes that were written on older generation tape drives must maintain one or more of these older tape drives to be able to access data on these older tapes. • New computer applications and types of digital data are causing a 60% year over year increase in demand for primary disk storage capacity. While magnetic disk technology has kept pace with the demand for providing cost-effective, high capacity primary storage systems, magnetic tape has not. In 1986, magnetic tape was approximately 35 times less expensive than magnetic disk, but that cost advantage has eroded from 35x to approximately 2x at the present time. It is expected that this cost erosion will continue into the future, eventually making magnetic tape a more costly alternative to magnetic disk storage. • Currently, each data storage system is made up of a collection of a dozen separate data storage, data protection and data management system and software components. Such systems experience interoperability problems among components. Each of the many components typically has its own management user interface that needs to be mastered by a storage administrator. • With the multiplicity of data protection systems and components, such as RAID, snapshots, tape backup and file and block replication, it is difficult for a storage administrator to know how best to respond in the event of actual data loss. • With today's data storage and data protection systems, one megabyte of primary storage data can generate from 10 megabytes to 50 megabytes of protected data. This over-replication of data comes from RAID redundancy drives, snapshot histories, multiple sets of weekly full backup tapes, daily incremental backup tape sets and block and file replication systems. For example, a company that retains just 3 months of weekly full backups will have replicated the data from the primary storage system about 13 times, since the data on successive weekly full backups is almost completely identical. • Most disaster recovery systems in place today employ replication between just two specific storage subsystems. They don't provide a logical abstraction of virtual storage capacity to enable any primary storage resource to be protected by any other local or remote protection resource. • There are many data replication products that are available today. Replication products, as they've been designed, replicate all changes between two systems. However an accidental deletion of a file from one of the systems in the replication set will cause the deletion to occur at the other replicated system(s). When this occurs, the data that was deleted must be recovered from backup tapes. Therefore, today's replication systems continue to rely on magnetic tape based backups for complete protection. • Snapshot-based data protection has become popular since it provides end-users with the ability to recover files that they have deleted in the recent past. But snapshot systems cannot function as a replacement for traditional tape backup. Snapshots depend on the current version of a filesystem to be operational in order to recover earlier snapshot versions of files. Therefore, today's snapshot-based systems continue to rely on magnetic tape based backups for complete protection. • Standard weekly-full / daily incremental tape backup schedules today are designed around the long search times of traditional magnetic tape. During a data restore operation, a full tape is first loaded and then a number of incremental tapes must be loaded thereafter. It takes tens of minutes to search and recover the desired data item on each tape, so the standard weekly full backup model limits the number of tapes used in recovery to one full tape and at most 5 incremental tapes. If tape media latency could be eliminated from the data recovery process by leveraging the much faster seek and rotational delays of magnetic disk technology, full backups could be performed less frequently. For instance, a full backup may be taken once a month or once a quarter with incremental backups occurring daily between these full backups. When magnetic disk is used as a backup medium, the time to access and recover multiple weeks or months of incremental backup data from disk is thousands of times faster than traditional tape. Weekend full backup runs also strain networks and administrators in getting all of the primary storage data committed to magnetic tape before the weekend ends. As the amount of primary storage data grows, the time it takes to backup all of this additional primary storage grows proportionally. • The value of certain collections of data to the survivability of a company changes over time. For example, a database may start out as a non-critical application yet grow to become mission critical as more of the business depends on it for daily operation. Conversely, a database that was once critical to daily operation of the business becomes less important as it is replaced by newer systems. With current tape-based data protection schemes, it's difficult to increase or decrease the degree of protection that is applied to specific sets of primary storage data as their value to the corporation changes over time, particularly when that data that has already been protected to hundreds or thousands of backup tapes. • While magnetic tape provides good sequential access performance for today's backup software products, its access time to random data is approximately a thousand times slower than magnetic disk. This limits the use of tape to data streaming applications like backup/archiving.
United States Patent No. <patcit id="pcit0001" dnum="US6088694A"><text>6088694</text></patcit> discloses a computing system that provides continuous availability of data files, the data files being maintained at a file management system and being linked to a database management system (DBMS) through a Datalink data type. This holds true even while any particular file is being changed with DBMS append or update operations. When a file is linked, it is designated to be available for read-only operations. A user who wants to perform updates on a file gets a "check-out" copy of the file for updating operations, such that the original file remains linked to the database system while the copy is being updated and remains available to other users. The file management system includes a "check-in" function that receives the updated file, saves the updated file under a new name different from the original, updates the Datalink, generates new metadata for the updated file, and transactionally updates the file with its new metadata. In this way, data files are continuously available to all users through appending and updating actions. Since updating Datalinks requires the file management system to initiate backup, a "delta versioning" operation, which reduces the data needed to support backup operations, permits more efficient backup of data files and enables the continuously available files to be backed up and consistent.
SUMMARY OF THE INVENTION
One preferred embodiment of the present invention provides a system as defined in Claim 1. Another embodiment of the invention provides a method as defined in Claim 15.
Embodiments of the present invention are associated with computer primary disk storage systems and the ongoing protection of data on that primary disk storage system from various forms of data loss or corruption. One embodiment of the invention provides a data protection system. The system includes a fileserver having: a filter driver; a file system in communication with the filter driver; a policy cache; and a mirror service in communication with the filter driver and with the policy cache.
In this embodiment, the filter driver intercepts input/output activity initiated by client file requests and maintains a list of modified and created files since a specified snapshot (a snapshot is the capturing of a set of data from a specified set of storage at a particular point in time). The file system stores client files. The policy cache stores protection policies associated with each share. A share is created on a fileserver as a directory or folder of storage capacity. The mirror service prepares modified and created files in a share to be written to a repository as specified in the protection policy associated with the share.
The fileserver can further include a fileserver API coupled to the mirror service and a fileserver file transfer module in communication with the file system. At least one repository communicates with the fileserver through the fileserver API. The fileserver file transfer module transfers files from the file system to at least one repository.
The fileserver can also include a location cache in communication with the mirror service and a location manager coupled to the location cache. The location cache indicates which repository should receive an updated version of an existing file and the location manager updates the location cache when the system writes a new file to a specific repository node.
In one embodiment, the system further includes a local repository and a remote repository.
The local repository can include: a local repository node API adapted for communicating with the fileserver; a local repository file transfer module in communication with the fileserver file transfer module and adapted for sending or receiving files from the fileserver file transfer module; a data mover in communication with the local repository API and operative to supervise the replication of files from the fileserver to the local repository; and a protection policy component in communication with the data mover and operative to determine whether new versions of existing files should be compressed and whether older versions of existing files should be maintained.
The remote repository can include: a remote repository node API adapted for communicating with another repository node; a remote repository file transfer module in communication with the local file transfer module and adapted for sending and receiving files; a data mover in communication with the remote repository API and operative to supervise the replication of files from the local repository to the remote repository; and a protection policy component in communication with the data mover and operative to determine whether new versions of existing files should be compressed and whether older versions of existing files should be maintained.
Another embodiment of the invention provides a method for protecting data. The method includes: storing a version of a first file within a share on a primary disk storage system; examining a protection policy associated with the share to determine where and how to protect files associated with the share; and replicating the version of the first file to repositories specified by the protection policy, the specified repositories including at least one local repository and at least one remote repository.
In one embodiment, the version of the first file is the first version. The method can further include applying reverse delta compression to successive versions of the first file as new versions are stored in the repositories. Applying reverse delta compression to successive version of the first file can include, in response to the creation of a second version of the first file: replacing the first version of the first file replicated in the local repository with a reverse delta compressed version representing the compressed difference between the first version and the second version and replicating the second version in the local repository; transmitting a difference file to the remote repository; and in the remote repository, applying the difference file to the previous version of the file to store the second version and a reverse delta compressed version representing the difference between the first version and the second version.
The method can further include examining a protection policy associated with the share to determine where and how to protect files associated with the share. Furthermore, the method can include determining the location of repositories and the number of replicas for each repository, and/or determining whether to purge a file from repositories after the file has been deleted from a share. As noted above, a share is created on a fileserver as a directory or folder of storage capacity.
BRIEF DESCRIPTION OF THE DRAWINGS
<ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001">FIG 1</figref> is a diagram of a deployment of one embodiment of the present invention across three data centers.</li><li><figref idref="f0001">FIG 2</figref> illustrates how one embodiment of a protection policy creates a relationship between a fileserver share and associated repositories such as those shown in <figref idref="f0001">FIG. 1</figref>.</li><li><figref idref="f0002">FIG 3</figref> illustrates one embodiment of the performance of data replication according to a protection policy.</li><li><figref idref="f0002">FIG 4</figref> is a diagram that shows how one embodiment of the apparatus manages versions of files.</li><li><figref idref="f0003">FIG 5</figref> shows a first step of one embodiment for managing replication of data across multiple repositories.</li><li><figref idref="f0004">FIG 6</figref> shows a second step of one embodiment for managing replication and versions across multiple repositories.</li><li><figref idref="f0005">FIG 7</figref> shows a third step of one embodiment for managing replication and versioning across multiple repositories.</li><li><figref idref="f0006">FIG 8</figref> shows a screenshot of one embodiment of a user interface for the protection policy of <figref idref="f0001">FIG. 2</figref>.</li><li><figref idref="f0007">FIG 9</figref> shows one embodiment of the apparatus and the software components that are used to protect new client data to a local repository node.</li><li><figref idref="f0008">FIG 10</figref> shows one embodiment of the apparatus that replicates data among repositories.</li></ul>
DETAILED DESCRIPTION OF THE DRAWINGS
<figref idref="f0001">FIG 1</figref> is a diagram that illustrates the present invention of an integrated primary data storage and data protection system. Fileservers <b>4</b> provide primary data storage capacity to client systems <b>5</b> via standard network file system (NFS), file transfer protocol (FTP) or common Internet file system (CIFS)protocols. The apparatus is designed to operate among two or more data centers <b>1</b> shown in <figref idref="f0001">FIG 1</figref> as Data Centers A, B, D. Two or more repositories <b>3</b> deployed across these data centers provide storage capacity and data management processing capability to deliver complete data protection for their associated fileserver primary storage systems. The apparatus leverages metropolitan area network (MAN) or wide area network (WAN) internet protocol (IP) networking <b>2</b> to allow repositories to send and receive data that must be replicated from one repository to another. By having data replicated to a local repository and at least one remote repository from the originating fileserver, these repositories act as a replacement for traditional on-site and off-site tape storage systems and tape vaulting services.
<figref idref="f0001">FIG 2</figref> illustrates the association between a fileserver <b>6</b> and the two or more repositories <b>8</b> that may be deployed across data centers. All primary data storage activity occurs between one or more clients and one or more fileservers through a NFS, FTP, or CIFS share <b>7.</b> A share is created on a fileserver as a directory or folder of storage capacity. The contents of this shared directory or folder is accessible by multiple clients across a local area network. For example, in the Microsoft Windows environment, CIFS shares appear as storage folders within LAN-connected servers under "My Network Places" of the Windows Explorer user interface. For UNIX environments, shares are accessed through mount points which define the actual fileserver and folder where data will be stored as well as a virtual folder of the local client system's filesystem. These shares allow the primary storage capacity of the fileserver to be shared and securely partitioned among multiple clients. Because this apparatus is both a primary data storage and data protection system, the administrator defines how each share of a fileserver will be protected across two or more repositories through the creation of a unique protection policy <b>9</b> for that share. In one embodiment, this protection policy defines which repositories the system will use to protect each share's data. In one embodiment it also defines how often data protection will occur, how many replicas the system will maintain within each repository, and how the system should maintain modifications to share data. On a periodic basis, each fileserver examines the protection policy for its shares and, when appropriate, the fileserver captures all recent changes to a share's files and stores and protects these files within two or more repositories.
<figref idref="f0002">FIG 3</figref> is a diagram that illustrates how a client file is stored and protected after first being created. In this example, the file is called A, and the subscript "1" denotes that is the first version of the file. This file is initially stored within a share on a fileserver's primary disk storage system by the client. To determine where and how to protect file A<sub>1</sub> the protection policy <b>11</b> that was previously defined for the fileserver share in which file A<sub>1</sub> was placed is examined. File A<sub>1</sub> is then replicated <b>12</b> to all of the protection policy's designated repositories. In this example, file A<sub>1</sub> is replicated to repository 1 and repository 8. This replication takes place on a periodic basis as defined by the backup frequency indicated in the protection policy.
<figref idref="f0002">FIG 4</figref> is a diagram that illustrates the activity that occurs according to one embodiment when an existing file is modified by a client. A<sub>1</sub> is the first version of file A and A<sub>2</sub>, A<sub>3</sub>, ... represent successive modifications to file A. When file A is modified on the client system, the fileserver retains only the latest version of the file so that all clients requesting file A receive the most updated version. All earlier versions of file A are maintained in local and remote repositories. In the example in <figref idref="f0002">Figures 3 and 4</figref>, the original file was modified 3 more times as denoted by the fileserver's retention of file version A<sub>4.</sub> In one embodiment, the subscripts the system uses to describe versioning are not visible to client applications. The file that resides on the fileserver is accessed as file A. Within each designated repository, for every file that is created and then modified, a version chain <b>14</b> is created to allow the current version and all earlier versions of a file to be retained. There are many reasons why customers might need to access the current or earlier versions of a file: <ul id="ul0002" list-style="bullet" compact="compact"><li>If the client or application accidentally deletes the latest version from the fileserver, that latest version can be restored to the fileserver using any of the replicas of the latest version that have been stored in the repositories. A deletion of a file on a fileserver does not result in a deletion of that file from its repositories since repositories are designed to mimic secure backup tapes.</li><li>A fileserver file may become corrupted by a virus or hardware failure. In this case, the latest version can be restored from any of the repositories that maintain that file's replicas and versions.</li><li>A client or application might require the content of an earlier version of a particular file. For example, a user might want to know when a particular change to a document was made or they may need to access an earlier version of a file for reference or modification.</li></ul>
<figref idref="f0003">FIG 5</figref>, <figref idref="f0004">FIG 6</figref> and <figref idref="f0005">FIG 7</figref> represent a time-sequenced set of diagrams that illustrate the activities that occur when reverse delta compression is enabled for a share through its protection policy. Reverse delta-compression takes the difference between two files and compresses this difference. It retains the latest version of the file in its uncompressed form and all earlier versions in reverse delta compressed form. The latest version of a file is maintained in an uncompressed form since it is the most likely version to be requested for a recovery operation and not having to decompress the file minimizes the time to recover data. To recreate an earlier version of a file, the reverse delta decompression algorithm starts with the latest version of the file and decompresses backward in a chain of versions until the desired file is reached. One embodiment of the present invention allows reverse delta compression to be applied to successive versions of a file as new versions are stored in repositories. <ul id="ul0003" list-style="bullet" compact="compact"><li>In <figref idref="f0003">FIG 5</figref>, a file called A has been created in a fileserver by a client. It has been stored in a local repository and, since it is the first version of a file, it is replicated to the remote repository across a MAN/WAN connection in its full, uncompressed form.</li><li>In <figref idref="f0004">FIG 6</figref>, file A is modified, and a version chain for that file created. The original A<sub>1</sub> version that was stored in the local repository is replaced by just the reverse delta compressed difference in bytes between version A<sub>2</sub> and version A<sub>1</sub>, which is represented by A<sub>1D</sub>. The fileserver just retains the latest version of the file A, A<sub>2</sub> so that clients only have access to the latest version. Also in <figref idref="f0004">FIG 6</figref>, the much smaller difference file, (A<sub>2</sub>-A<sub>1</sub>), represented by the symbol Δ, is transmitted across the metropolitan or wide area network to a remote repository.</li><li>In <figref idref="f0005">FIG 7</figref>, file version A<sub>2</sub> can be created in the remote repository 8 by applying the difference file just received, (A<sub>2</sub>-A<sub>1</sub>), to the previous version of the file in that repository, A<sub>1</sub>. <figref idref="f0005">FIG 7</figref> displays the final completed replication and versioning of file A across its designated repositories 17. Observe that the latest version is maintained in an uncompressed form and all earlier versions are stored in a reverse delta compressed form. It is worth reiterating that A<sub>1D</sub> represents the reverse delta compressed difference between version A<sub>2</sub> and version A<sub>1</sub>, while (A<sub>2</sub>-A<sub>1</sub>) represents simply the difference between version A<sub>2</sub> and version A<sub>1</sub>.</li></ul>
<figref idref="f0006">FIG 8</figref> is a screenshot of one embodiment of the present invention's protection policy. There is a unique protection policy defined by a storage administrator for each share of each fileserver. Before arriving at the protection policy screen, a storage administrator creates a share and allows it to be accessible by CIFS and/or NFS and/or FTP. Once a new share is created, the protection policy screen is displayed. Within this screen, the storage administrator can specify the following data protection parameters: <ul id="ul0004" list-style="bullet" compact="compact"><li>Protect this share <b>18</b> -this checkbox is normally checked indicating the data in this share should be protected by repositories. There are certain client applications that might choose to use a fileserver for primary storage, yet continue to protect data using third party backup or archiving products. If this checkbox is left unchecked, all other options in the protection policy user interface are disabled.</li><li>Protection Management - Backup Frequency <b>19 -</b> this option determines how often a fileserver share's data will be protected in the local and remote repositories. In one embodiment, the backup frequency intervals can be selected from a list of time intervals which include: 15 minutes, 30 minutes, 1 hour, 2 hours, 3 hours, 4 hours, 6 hours, 8 hours, 12 hours and 24 hours. All backup frequency intervals are anchored to 12:00 midnight of each fileserver's local time-zone. Setting the backup frequency to 24 hours is similar to performing traditional daily incremental backups. Setting this interval to 15 minutes allows versions of files that change often during the day to be protected on 15 minute intervals. Only files that have changed since the last backup occurred are saved in repositories.</li><li>Protection Management - Number of replicas per repository. This feature allows a storage administrator to determine how many replicas <b>20</b> of data to create within each repository <b>21</b> when a share is protected. Minimally, there must be one replica stored in a repository that is local to the share's fileserver. It's possible to maintain multiple replicas within a single repository. In this case, replicas are maintained on different repository nodes of a repository to ensure continued access to a replica in the event of a single repository node failure or network failure. The location and number of replicas can be changed over time. To increase data availability for data that is increasing in criticality, more replicas per repository and additional repositories may be specified. For data that is decreasing in importance, fewer replicas may be maintained in the repositories, which makes more storage capacity available to other shares that are also using those repositories.</li><li>Version Management - Keep Version History <b>22 -</b> this checkbox should be checked for shares whose file content is regularly being updated. When checked, the specified repositories will maintain a version chain of all changes that were identified at each backup frequency interval. For shares of data that have unchanging file content, this checkbox can be unchecked.</li><li>Version Management - Version Compression <b>23</b> - the three compression options are to not compress, to reverse delta compress or to apply simple file compression to a share's files. File compression refers to a variety of techniques known to those of skill in art for compressing a file so that it does not take up as much storage space as an uncompressed file. Delta compression typically provides the highest compression ratio for shares whose files are regularly being modified.</li><li>Version Management - Version Compaction <b>24</b> -compaction provides a means of removing versions of files based on the version's age. For example, the version compaction option for a file share may be configured to maintain only one monthly version of a file after a year, one weekly version of a file that's older than 6 months and one daily version of a file that's older than 1 month. All "extra" versions can be automatically purged from repositories, which, in turn, makes more storage capacity available for new versions of files.</li><li>Advanced Options - Purge on Delete <b>25</b> -when this option is checked, a policy component, e.g., a policy cache (shown as element 34 in <figref idref="f0007">FIG. 9</figref>) on the fileserver causes files that are deleted from a share on the fileserver to also be purged from repositories as well. More specifically, the policy component (element 34 in <figref idref="f0007">FIG. 9</figref>) on the fileserver communicates with a policy component (element 44 in <figref idref="f0007">FIG. 9</figref>) on a repository to implement this option. This option is effective with applications like third party backup, where some of the replicas and versions that are being retained by repositories are no longer needed to satisfy a that application's recovery window and may be purged from all repositories.</li><li>Advanced Options - Caching Level <b>26</b> - this allows the storage administrator to set the approximate percentage of client data that will be cached on a fileserver. Normally, this option is set to "Optimize for Read" to allow the maximum number of most-recently accessed files to be available to client applications at the highest performance levels. All least recently used data is maintained in two or more repositories. Conversely, the caching level can be set to "Optimize for Write", which reduces the amount of cached data available to clients but provides consistently high levels of available storage capacity to write-mostly applications like third party backup. In this mode, by aggressively moving data off of a fileserver into repositories, the application sees the fileserver as a storage device with virtually infinite capacity.</li></ul>
<figref idref="f0007">FIG 9</figref> and <figref idref="f0008">FIG 10</figref> illustrate modules used to protect data files created by a client using a local repository and a remote repository. <figref idref="f0007">FIG 9</figref> displays one embodiment of the apparatus and software modules of the present invention that are associated with protecting client files to a local repository. The apparatus includes a fileserver <b>27</b> and a single local repository node <b>28.</b> Clients access a fileserver via the client IP-based (Internet Protocol) network <b>29</b> and communicate with the fileserver using NFS, CIFS or FTP protocols. All fileservers and all repository nodes are interconnected by an internal IP-based (Internet Protocol) network <b>30.</b> Current client files reside on a fileserver's filesystem <b>32.</b>
The filter driver <b>31</b> intercepts all input/output activity initiated by client file requests. The fileserver software maintains a list of all modified or created files since this last snapshot occurred. Snapshot intervals can range from 15 minutes to 24 hours, based on the backup frequency <b>19</b> of the protection policy. On the schedule of the backup frequency, the mirror service <b>33</b> prepares all modified files in a share to be put into the repositories <b>21</b> (shown in <figref idref="f0006">Fig. 8</figref>) that are specified in that share's protection policy.
The protection policies are stored and replicated across multiple repositories, and they are cached and regularly updated within each fileserver in the protection policy cache <b>34.</b> For example, if a share's protection policy has its backup frequency set to one hour, on the transition to the next hour, the mirror service <b>33</b> initiates a backup of all changed files in the last hour to a local repository <b>28.</b>
For all new files, any repository node of the local repository can be used to hold a replica of a file. For files that have been modified, the mirror service directs new versions of the existing file to the same repository node as prior versions of that file.
The mirror service queries the location cache <b>36</b> to determine which repository node should receive an updated version of an existing file. This location cache is updated regularly by the location manager <b>35</b> when the fileserver writes files to specific repository nodes. Once the location manager identifies all destination repository nodes for each file of a share for the latest collection of updated or created files, the fileserver communicates to each local repository via a fileserver API <b>37</b> and a repository node API <b>38.</b>
Each repository node's data mover 39 supervises the replication of files from the fileserver to its repository node. The fileserver file transfer module 40 transfers files from the fileserver filesystem to each repository node's file transfer <b>41</b> module. Once the files are replicated to specific disk drives within a repository node, its location manager <b>42</b> updates its location cache <b>43</b> with repository node location information.
For all files that arrive at a repository node that are modified versions of existing files, the share's protection policy <b>44</b> version management settings are reviewed to determine whether new versions should be compressed and whether older versions should be maintained. The version service <b>45</b> is responsible for managing all policy-based compression and decompression, and purging versions based on the "keep only one version" option of a share's protection policy.
At this point in the description, client data is only replicated to a local repository. <figref idref="f0008">FIG 10</figref> illustrates one embodiment of modules that implement a process that protects data to one or more remote repositories to completely protect client data from site disaster. <figref idref="f0008">FIG 10</figref> displays a local repository node <b>46</b> that, from the actions described in <figref idref="f0007">FIG 9</figref>, holds the first replica of data. <figref idref="f0008">FIG 10</figref> also shows a remote repository node <b>47.</b> These are connected to each other across a metropolitan or wide-area network <b>48.</b> In one embodiment, all data that is transferred between local and remote repositories may be secured by virtual private networking (VPN) <b>49</b> encryption. The local repository node's replication service <b>50</b> is responsible for reviewing the protection policy <b>51</b> for all files that were just created as part of the recent fileserver backup. Each repository node acts as a peer of other repository nodes. Based on the protection policy each repository node manages the movement of files among all repository nodes using repository node APIs <b>52, 53,</b> data movers <b>54,</b> and file transfer modules <b>55, 56.</b> Once the data is replicated to remote repositories, the location manager <b>57</b> of each repository node updates the location cache <b>58</b> to track where files are maintained within that repository node. The version service <b>59</b> of the remote repository node manages file version compression, and compaction according to the protection policy.
Having thus described at least one illustrative embodiment of the invention, various alterations, modifications and improvements are contemplated by the invention including the following: the specific number and arrangement of fileservers and repositories can be modified; the number of repository nodes on an individual repository can be modified; and the specific presentation and components of the illustrated protection policy user interface can be modified. Such alterations, modifications and improvements are intended to be within the scope of the invention. Accordingly, the foregoing description is by way of example only and is not intended as limiting.
Contents4
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| US2002095416A1 | Cites | United States of America |
| US5813017A | Cites | United States of America |
| US5852713A | Cites | United States of America |
| US6088694A | Cites | United States of America |
| US6330572B1 | Cites | United States of America |
| US6389427B1 | Cites | United States of America |
| US6393516B2 | Cites | United States of America |
50 members in 8 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 409684P | United States of America | – | |
| 40968402 | United States of America | P | |
| 0328390 | United States of America | W | |
| 409684P | – | – | – |
| US20020409684P | – | – | – |
| US2003028390 | – | – | – |
| WO2003US28390 | – | – | – |
Members50
| Document | Office | Kind | |
|---|---|---|---|
| CA2497305A1 | Canada | A1 | |
| CA2497306A1 | Canada | A1 | |
| CA2497625A1 | Canada | A1 | |
| CA2497825A1 | Canada | A1 | |
| WO2004025404A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2004025470A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2004025498A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2004025517A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003268572A1 | Australia | A1 | |
| AU2003273312A1 | Australia | A1 | |
| AU2003278779A1 | Australia | A1 | |
| AU2003282795A1 | Australia | A1 | |
| US2004088331A1 | United States of America | A1 | |
| US2004088382A1 | United States of America | A1 | |
| US2004093361A1 | United States of America | A1 | |
| US2004093555A1 | United States of America | A1 | |
| WO2004025404A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2004025404A9 | World Intellectual Property Organization (WIPO) | A9 | |
| EP1537496A1 | European Patent Office (EPO) | A1 | |
| EP1540441A2 | European Patent Office (EPO) | A2 | |
| EP1540478A1 | European Patent Office (EPO) | A1 | |
| EP1540510A1 | European Patent Office (EPO) | A1 | |
| JP2005538467A | Japan | A | |
| JP2005538469A | Japan | A | |
| JP2005538470A | Japan | A | |
| JP2005538471A | Japan | A | |
| EP1537496A4 | European Patent Office (EPO) | A4 | |
| EP1540441A4 | European Patent Office (EPO) | A4 | |
| EP1540510A4 | European Patent Office (EPO) | A4 | |
| EP1540478A4 | European Patent Office (EPO) | A4 | |
| US7246140B2 | United States of America | B2 | |
| US7246275B2 | United States of America | B2 | |
| EP1537496B1This record | European Patent Office (EPO) | B1 | |
| EP1540441B1 | European Patent Office (EPO) | B1 | |
| AT400026T | Austria | T | |
| AT400027T | Austria | T | |
| ATE400026T1 | Austria | T1 | |
| ATE400027T1 | Austria | T1 | |
| DE60321927D1 | Germany | D1 | |
| DE60321930D1 | Germany | D1 | |
| EP1540478B1 | European Patent Office (EPO) | B1 | |
| AT429678T | Austria | T | |
| ATE429678T1 | Austria | T1 | |
| DE60327329D1 | Germany | D1 | |
| EP1540510B1 | European Patent Office (EPO) | B1 | |
| AT439636T | Austria | T | |
| ATE439636T1 | Austria | T1 | |
| US7593966B2 | United States of America | B2 | |
| DE60328796D1 | Germany | D1 | |
| US7925623B2 | United States of America | B2 |
60 legal events, as 6 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Expiry of rightR071 | R071 | DE | |
| Opt-out of the competence of the unified patent court (upc) registeredP01 | P01 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Amendment of ipc main classPREVIOUS MAIN CLASS: G06F0017300000R079 | R079 | DE | |
| Fee paymentPLFP | PLFP | FR | |
| Fee paymentPLFP | PLFP | FR | |
| Change of representativeR082 | R082 | DE | |
| Fee paymentPLFP | PLFP | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents actLapsedNLV1 | NLV1 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| Corresponds to:REF | REF | EP | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Title (correction)DATA PROTECTION SYSTEM AND METHODRTI1 | RTI1 | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Supplementary search report drawn up and despatchedA4 | A4 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1537496
- Publication, DOCDB
- 1537496
- Publication, EPODOC
- EP1537496
- Application
- 3755811
- Application, DOCDB
- 03755811
- Application, EPODOC
- EP20030755811
Titles3
- German
- DATENSCHUTZVERFAHREN UND VORRICHTUNG
- English
- DATA PROTECTION SYSTEM AND METHOD
- French
- PROCEDE ET APPAREIL POUR LA PROTECTION DE DONNEES
Classification
- CPC, 12
- G06F11/1448
- G06F11/1458
- G06F11/1461
- G06F11/1469
- G06F11/1662
- G06F11/2038
- G06F11/2048
- G06F11/2094
- G06F2201/84
- G06F11/1464
- Y10S707/99953
- Y10S707/99943
- IPC, 12
- G06F17 30
- G06F11 20
- G06F13 10
- G06F
- G06F1 00
- G06F3 06
- G06F7 00
- G06F11 00
- G06F12 00
- G06F15 16
- G06F17 00
- G11C29 00
Designated states27
- Contracting states, 27
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Romania
- Sweden
and 3 moreShow fewer
- Slovenia
- Slovakia
- Türkiye