Brevet FR2908538A1 — publié le 20080516

RÉSERVES SECONDAIRES ARRIÈRE-PLAN DE L'INVENTION La présente invention concerne l'utilisation de réserves secondaires pour enregistrer des données de sauvegarde. La présente invention concerne plus particulièrement la génération d'une réserve secondaire et le transfert de données vers une réserve secondaire depuis une autre réserve de données au moyen d'un dispositif de réseau responsable de l'enregistrement de données de sauvegarde. Pour sauvegarder des données, on effectue souvent des sauvegardes de données par l'intermédiaire de ce que l'on appelle couramment une application de sauvegarde . Pour sauvegarder les données, l'application de sauvegarde envoie les données à enregistrer, soit vers un support d'enregistrement local, soit par l'intermédiaire d'une interface de réseau pour transmission à distance. La quantité de données qui sont enregistrées par l'application de sauvegarde varie en fonction du procédé mis en oeuvre par l'application de sauvegarde. Par exemple, certaines applications de sauvegarde sauvegardent toutes les données dans le répertoire, la base de données ou le fichier spécifié, tandis que d'autres applications tentent d'améliorer le rendement du processus de sauvegarde en n'enregistrant que les données qui ont été modifiées depuis la dernière sauvegarde. Un procédé couramment utilisé est le procédé de réduction de delta de position fixe, qui détermine quels segments de données de position fixe ont été modifiés depuis la dernière sauvegarde et enregistre les données représentant ces modifications. En d'autres termes, le procédé de réduction de delta de position fixe détermine quels segments de données ont été modifiés (par exemple, ajoutés, modifiés ou effacés) en comparant un segment de données dans une position fixe dans un fichier ou un train de données reçu durant une sauvegarde en cours, au segment de données qui était précédemment dans la même position fixe dans le fichier ou au train de données durant la dernière sauvegarde pour ce fichier particulier. La figure 1 est un schéma illustrant un exemple de système dans lequel on peut mettre en oeuvre une application de sauvegarde à réduction de delta. Comme représentée sur la figure 1, un client de sauvegarde 102 exécutant une composante client d'une application de sauvegarde à réduction de delta envoie des données de sauvegarde 104 2908538 vers un serveur de sauvegarde 106 exécutant une composante de serveur d'une application de sauvegarde à réduction de delta. Plus particulièrement, lorsqu'on exécute un travail de sauvegarde définissant un ensemble de fichiers à sauvegarder, une nouvelle génération de 5 données est envoyée au serveur de sauvegarde 106. En d'autres termes, à chaque fois que le même travail est exécuté, une nouvelle génération de données est envoyée au serveur de sauvegarde 106. La première génération de données pour un travail de sauvegarde comporte typiquement toutes les données pour tous les 10 fichiers ayant été sauvegardés par le travail de sauvegarde. Chacune des générations de données qui suivent peut inclure les seules données qui ont été modifiées depuis la génération précédente de données pour ce travail de sauvegarde. Lorsque le serveur de sauvegarde 106 reçoit les données de 15 sauvegarde 104, le serveur de sauvegarde 106 peut alors enregistrer les données de sauvegarde 104. Plus particulièrement, le serveur de sauvegarde 106 sauvegarde chaque génération de données qui est envoyée par le client de sauvegarde 102. De cette manière, le serveur de sauvegarde 106 ne sauvegarde que les blocs de données qui ont été 20 modifiées depuis la sauvegarde précédente. Un jeu de sécurité est un ensemble complet de données correspondant à tous les fichiers qui sont sauvegardés par un travail de sauvegarde. Il peut y avoir un jeu de sécurité pour chaque occurrence d'un travail de sauvegarde. Si par exemple, un travail a été programmé 25 pour une sauvegarde nocturne pendant cinq jours consécutifs, cinq jeux de sécurité sont enregistrés par le serveur de sauvegarde 106. On peut définir une génération de données comme un instantané dans le temps d'un jeu de données. À partir des jeux de sécurité de données qui ont été enregistrés par le serveur de sauvegarde 106, il est possible de rétablir 30 ces jeux de sécurité de données vers le client 102 par l'intermédiaire de données de rétablissement 108. Pour enregistrer chacun des jeux de sécurité de données, est possible d'enregistrer chacun des jeux de sécurité dans leur totalité. Toutefois, une grande quantité de données sont communes à tous les jeux 35 de sécurité associés à un travail de sauvegarde particulier. En conséquence, les jeux de sécurité associés à un travail de sauvegarde 2908538 3 particulier peuvent être enregistrés dans une réserve qui ne contient qu'une seule copie physique des segments de données commun. Puisqu'on peut exécuter un travail de sauvegarde unique un nombre quelconque de fois durant une période de temps prolongée, la 5 réserve de données finit par comporter des données pour un grand nombre de jeux de sécurité. Durant une longue période de temps, la taille de la réserve d'enregistrement augmente et la valeur des données de récupération les plus anciennes tend vers zéro. Considérant ce qui précède, il serait avantageux de pouvoir 10 mettre en oeuvre un mécanisme amélioré pour enregistrer des données associées à des jeux de sécurité. RÉSUMÉ DE L'INVENTION Des procédés et un dispositif pour enregistrer des données associées à des jeux de sécurité sont décrits. Ceci est réalisé en partie par 15 l'intermédiaire de la génération d'une ou plusieurs réserves secondaires d'enregistrement. De cette manière, on peut réaliser un système incluant une ou plusieurs réserves primaires d'enregistrement et une ou plusieurs réserves secondaires d'enregistrement. Selon un aspect de l'invention, un système de réserve 20 correspondant à un travail de sauvegarde particulier comporte une réserve primaire. À chaque fois que le travail de sauvegarde est exécuté, on génère une nouvelle génération de données incrémentales où chaque génération de données incrémentales ne comporte que les blocs de données qui ont changé par rapport à la sauvegarde précédente. La 25 réserve primaire comporte (par exemple, référence) une valeur de départ incluant un ou plusieurs blocs de données, la valeur de départ représentant tous les blocs de données dans tous les fichiers sauvegardés par le travail de sauvegarde lorsque le travail de sauvegarde est exécuté. La valeur de départ peut représenter par exemple les plus anciennes 30 données dans la réserve primaire ou les données les plus courantes dans la réserve primaire. De plus, la réserve primaire peut inclure une ou plusieurs générations de données incrémentales, La réserve primaire peut inclure une ou plusieurs valeurs de départ. Selon un aspect de l'invention, on peut générer une réserve 35 secondaire de données. Plus particulièrement, on peut obtenir ou identifier une réserve primaire de données, où a réserve primaire de données 2908538 4 comporte (par exemple, référence) une valeur de départ et une ou plusieurs générations supplémentaires de données. Chacune des générations supplémentaires de données dans la réserve primaire de données comporte un ou plusieurs blocs de données qui ont changé en 5 référence à un jeu de sécurité correspondant à une autre sauvegarde (par exemple, précédente ou suivante), le jeu de sécurité correspondant à la sauvegarde précédente (ou suivante) incluant (par exemple, référençant) une valeur de départ dans la réserve primaire. On génère une réserve secondaire de données et on transfère au moins une partie des données 10 dans la réserve primaire de données vers la réserve secondaire de données. La valeur de départ de la réserve secondaire de données peut représenter les données les plus courantes dans la réserve secondaire ou les données les plus anciennes dans la réserve secondaire. Selon un autre aspect de l'invention, le système de réserve peut 15 inclure plus d'une réserve secondaire. Plus particulièrement, on génère une première réserve secondaire de données et on transfère au moins une partie des données dans la réserve primaire de données vers la première réserve secondaire de données. De plus, on génère une deuxième réserve secondaire de données. On transfère au moins une partie des données 20 dans la réserve primaire de données ou au moins une partie des données dans la première réserve secondaire de données vers la deuxième réserve secondaire de données. La valeur de départ de la seconde réserve secondaire peut représenter, soit les données les plus anciennes, soit les plus courantes, dans la deuxième réserve secondaire. 25 Selon encore un autre aspect de l'invention, on obtient ou on identifie une première réserve de données, où la première réserve de données comporte une première valeur de départ et une ou plusieurs générations de données, où chacune des générations de données dans la première réserve de données comporte un ou plusieurs blocs de données 30 qui diffèrent par rapport à un jeu de sécurité correspondant à une sauvegarde précédente ou suivante, le jeu de sécurité incluant la première valeur de départ. On peut transférer au moins une partie des données dans la première réserve de données vers une deuxième réserve de données. Par exemple, on peut vérifier la différence entre une valeur de 35 départ de la première réserve de données et un jeu de sécurité de la 2908538 deuxième réserve de données et la transférer vers la deuxième réserve de données. Selon encore un autre aspect de l'invention, lorsque des données plus anciennes sont transférées d'une réserve à une autre 5 réserve, on peut transférer une valeur de départ. En conséquence, il peut être souhaitable de générer une nouvelle valeur de départ représentant les données les plus anciennes qui restent dans la réserve de données. Selon un mode de réalisation, on obtient une première valeur de départ incluant une pluralité de blocs de données. On génère ensuite une 10 deuxième valeur de départ incluant une pluralité de blocs de données en se basant sur la première valeur de départ et les données incrémentales pour une ou plusieurs générations, où les données incrémentales comportent un ou plusieurs blocs de données ayant changé en référence à un jeu de sécurité correspondant à une sauvegarde précédente, le jeu de 15 sécurité correspondant à la sauvegarde précédente incluant la première valeur de départ. La deuxième valeur de départ peut en conséquence servir de valeur de départ pour la réserve secondaire de données. Les générations pour lesquelles les données incrémentales peuvent être appropriées à la génération de la deuxième valeur de départ peuvent 20 dépendre du point auquel les données sont transférées. On peut utiliser par exemple les générations qui ont été transférées pour générer la nouvelle valeur de départ. Il est possible qu'une réserve secondaire de données puisse inclure plus d'une valeur de départ. Selon un autre mode de réalisation, lorsqu'on transfère des 25 données plus anciennes depuis une réserve primaire vers une réserve secondaire, on transfère la valeur de départ de la réserve primaire et on peut générer une nouvelle valeur de départ pour la réserve primaire. Plus particulièrement, on peut générer la nouvelle valeur de départ de la réserve primaire en se basant sur la valeur de départ primaire d'origine et 30 une ou plusieurs des générations de données dans (ou transférées depuis) la réserve primaire de données. Selon encore un autre aspect de l'invention, on utilise un lecteur de réserve pour recréer un jeu de sécurité correspondant à une génération particulière de données dans une réserve de données (par 35 exemple, une réserve secondaire). Selon un mode de réalisation, ceci est réalisé en démarrant à la génération recréée (par exemple, rétablie). Le 2908538 6 lecteur de réserve traverse ensuite les générations d'une manière à reculons jusqu'à la première génération de données, qui constitue la valeur de départ pour la réserve de données. Durant ce processus, le lecteur de réserve gère les versions les plus courantes de tous les blocs de 5 données, permettant de générer le jeu de sécurité correspondant. Ce jeu de sécurité peut être fourni à un client durant un processus de rétablissement ou à titre de variante, on peut l'utiliser en tant que nouvelle valeur de départ pour une réserve de données. Selon un mode de réalisation, on peut utiliser un lecteur de 10 réserve incrémentale pour générer la différence de données entre des jeux de sécurité correspondant à deux générations différentes de données dans le système de réserve. Plus particulièrement, le lecteur de réserve incrémentale peut identifier les blocs de données qui sont spécifiques à un premier jeu de sécurité par rapport à un deuxième jeu de sécurité (par 15 exemple, une valeur de départ). On peut utiliser par exemple un lecteur de réserve incrémentale pour extraire la différence entre le jeu de sécurité le plus courant dans la réserve secondaire et le jeu de sécurité le plus ancien dans la réserve primaire, permettant de déplacer les données différentielles depuis la réserve primaire vers la réserve secondaire. 20 Selon un autre aspect de l'invention, l'invention concerne un système pouvant être actionné pour exécuter et/ou initialiser l'un quelconque des procédés décrits. Le système comporte un ou plusieurs processeurs et une ou plusieurs mémoires. Au moins l'une des mémoires et processeurs sont adaptés à réaliser au moins l'une des opérations des 25 procédés décrits ci-dessus. Dans encore un autre mode de réalisation, l'invention concerne un produit de programme informatique pour exécuter les procédés décrits. Le produit de programme informatique comporte au moins un support tangible lisible par un ordinateur et des instructions de programme informatique associées au moins à l'un des produits lisibles 30 par ordinateur, configurées pour exécuter au moins certaines des opérations des procédés décrits ci-dessus. Ces caractéristiques et avantages de la présente invention ainsi que d'autres vont être présentés plus en détail dans la spécification de l'invention qui suit et les dessins annexés, qui illustrent à titre d'exemple 35 les principes de l'invention. 2908538 7 BRÈVE DESCRIPTION DES DESSINS La figure 1 est un schéma illustrant un exemple de système dans lequel on peut mettre en oeuvre une application de sauvegarde de réduction de delta. 5 Les figures 2 à 5 illustrent ensemble un processus d'enregistrement de générations de données pour un travail de sauvegarde dans une réserve primaire selon un mode de réalisation de l'invention. Les figures 6 à 8 illustrent ensemble un processus de 10 génération d'une réserve secondaire de données selon un mode de réalisation de l'invention. La figure 9 est un organigramme illustrant un procédé de génération d'une réserve secondaire selon un mode de réalisation de l'invention. 15 La figure 10 est un organigramme illustrant un procédé de génération de plus d'une réserve secondaire selon un mode de réalisation de l'invention. La figure 11 est un organigramme illustrant un procédé de génération ou de modification d'une réserve de données utilisant une 20 valeur de départ nouvellement générée selon un mode de réalisation de l'invention. La figure 12 est un organigramme illustrant un procédé de génération ou de modification d'une réserve primaire de données lors du transfert de données vers une réserve secondaire selon un mode de 25 réalisation de l'invention. La figure 13 est un organigramme illustrant un procédé de mise en oeuvre d'un lecteur de réserve incrémentale selon un mode de réalisation de l'invention. La figure 14 est un schéma par blocs illustrant un système 30 informatique typique à usage général convenable pour mettre en oeuvre la présente invention. DESCRIPTION DÉTAILLÉE DE MODES DE RÉALISATION SPÉCIFIQUES Il va maintenant être fait référence en détail à un mode de réalisation spécifique de l'invention. Un exemple de ce mode de réalisation 35 est illustré sur les dessins annexés. Bien que l'invention soit décrite conjointement avec ce mode de réalisation spécifique, on comprendra 2908538 8 qu'on ne souhaite pas limiter l'invention à un mode de réalisation. Au contraire, on souhaite couvrir les alternatives, modifications et équivalents tels que pouvant être inclus dans l'esprit et la portée de l'invention telle que définis par les revendications annexées. Dans la description qui suit, 5 un grand nombre de détails spécifiques sont présentés pour fournir une compréhension complète de la présente invention. La présente invention peut être mise en pratique sans certains ou la totalité de ces détails spécifiques. Dans d'autres cas, des opérations de processus bien connus n'ont pas été décrites en détail pour ne pas compliquer inutilement la 10 présente invention. Les modes de réalisation décrits permettent d'enregistrer un train de données de sauvegarde qui est reçu depuis un dispositif de réseau mettant en oeuvre un processus de réduction de données, au moyen d'un système d'enregistrement de données mettant en oeuvre une 15 ou plusieurs réserves. Le dispositif de réseau mettant en oeuvre le processus de réduction de delta fournissant le train de données de sauvegarde peut être un client, tandis que le système d'enregistrement de données peut être mis en oeuvre par un serveur. Il est toutefois important de noter que le dispositif de réseau fournissant le train de données de 20 sauvegarde et le système d'enregistrement de données peuvent être mis en oeuvre par la même entité. Selon un mode de réalisation, les réserves mises en oeuvre par le système d'enregistrement de données comportent une ou plusieurs réserves primaires et zéro réserve secondaire ou plus. La réserve primaire 25 peut appelée réserve active dans laquelle les données de sauvegarde sont initialement enregistrées. Au moins une partie des données qui sont enregistrées dans la réserve primaire peut être transférée vers une réserve secondaire, permettant d'enregistrer séparément la réserve secondaire. De cette manière, il est possible d'archiver des données plus 30 anciennes vers un autre support d'enregistrement plus économique sans duplication de données. Selon un mode de réalisation, on peut générer de façon dynamique des réserves secondaires supplémentaires comme nécessaire. La génération d'une réserve secondaire et/ou le transfert de données 35 depuis une réserve primaire vers une réserve secondaire peuvent être 2908538 9 réalisés en conformité avec une politique particulière, comme il va être décrit plus en détail ci-dessous. Selon un autre mode de réalisation, on peut associer chaque système de réserve à un travail de sauvegarde unique et/ou une source 5 unique. Dans d'autres modes de réalisation, on peut associer un système de réserve à deux travaux de sauvegarde et/ou sources ou plus, qui partagent les mêmes données. Par exemple, on peut associer une réserve primaire différente à chaque source. De plus, une réserve partagée peut représenter les données qui sont partagées entre les sources. Ainsi, pour 10 fusionner des données provenant de deux sources ou plus (par exemple, pour former une réserve commune ) il peut être souhaitable de fusionner deux valeurs de départ ou plus depuis une ou plusieurs réserves primaires et/ou une ou plusieurs réserves partagées de données (par exemple, pour former une autre valeur de départ). 15 Comme décrit ci-dessus, la réserve primaire et chaque réserve secondaire comportent des données représentatives d'un ou plusieurs jeux de sécurité . Pour enregistrer efficacement les données pour des jeux de sécurité multiples dans une réserve, les données qui sont communes (par exemple, référencées par) des jeux de sécurité multiples 20 sont enregistrées une fois sous la forme d'une valeur de départ . Plus particulièrement, une génération de données incluant toutes les données pour tous les fichiers pour le travail de sauvegarde constitue la valeur de départ. Chaque jeu de sécurité suivant est représenté par une génération correspondante de données incrémentales représentant la différence entre 25 le jeu de sécurité correspondant à une sauvegarde précédente et le jeu de sécurité courant. En d'autres termes, une génération de données comporte un ou plusieurs fichiers et un ou plusieurs blocs de données qui ont changé en référence à la sauvegarde précédente. Selon un mode de réalisation, chaque bloc de données est un 30 bloc de données de longueur fixe. La longueur d'un bloc de données de longueur fixe est une longueur spécifique prédéterminée. La longueur est fixe par rapport aux autres blocs de données lorsque chacun des blocs de données de longueur fixe comporte un nombre identique prédéterminé d'octets de données. La longueur est fixe par rapport au temps lorsque la 35 longueur d'un bloc de données reste la même dans le temps, et en conséquence, entre des sauvegardes de données multiples. n'est pas 2908538 10 nécessaire qu'un bloc de données de longueur fixe pour lequel la longueur est fixe par rapport à la position soit fixe par rapport au temps et inversement. Un grand nombre de programmes de base de données courants divisent les bases de données en blocs de données de longueur 5 fixe, où la longueur est fixe par rapport à la fois à la position et au temps. À titre de variante, les modes de réalisation décrits peuvent être mis en oeuvre avec des systèmes enregistrant les données sous la forme de blocs de données de longueur variable. Dans de tels systèmes, la longueur peut varier par rapport à la position (par exemple, par rapport 10 aux autres blocs de données) et/ou au temps (par exemple, entre les sauvegardes de données multiples). De plus, les modes de réalisation décrits peuvent également être mis en oeuvre avec des systèmes enregistrant des données sous la forme de blocs de données de longueur fixe, où la longueur est fixe uniquement par rapport à la position ou au 15 temps. Les données qui sont fournies à ou obtenues par une application de sauvegarde à réduction de delta de position fixe peuvent être obtenues à partir d'une base de données ou d'un fichier. Ainsi, lorsque des données sont transmises ou fournies à une application de 20 sauvegarde à réduction de delta de position fixe, les données peuvent être récupérées dans une base de données et en conséquence, peuvent être récupérées à partir d'un ou plusieurs fichiers. Plus particulièrement, les données peuvent être fournies durant une sauvegarde de données par l'intermédiaire d'un vidage dans lequel les fichiers de données sont 25 fournis individuellement l'un après l'autre d'une façon contiguë. Les données associées à un fichier ou à une base de données peuvent être reçues par une application de sauvegarde sous la forme d'un ou plusieurs trains de données contigus. Par exemple, l'application de sauvegarde peut appeler une interface de programmation d'application 30 (API) proposée par un moteur de base de données pour demander des données de sauvegarde. En réponse, l'API de la base de données envoie les données de sauvegarde sous la forme d'un train vers l'application demandeuse. Pour illustrer le transfert de données depuis une réserve 35 primaire vers une réserve secondaire, il est utile d'illustrer le processus d'enregistrement de données dans une réserve primaire de données. Les 2908538 11 figures 2 à 5 illustrent ensemble un processus de mémorisation de génération de données pour un travail de sauvegarde dans une réserve primaire selon un mode de réalisation de l'invention. La figure 2 est un schéma illustrant l'enregistrement de la 5 génération initiale de données pour un travail de sauvegarde sous la forme d'une valeur de départ dans une réserve primaire. Lorsqu'un travail de sauvegarde est exécuté, chaque fichier correspondant identifié dans le travail de sauvegarde est fourni comme représenté en 202, par exemple, par un client de sauvegarde (trains complets et blocs de données pour 10 chaque fichier sélectionné dans le travail de sauvegarde depuis le client de sauvegarde (sauvegarde initiale)). Plus particulièrement, chaque fichier peut être transmis dans un ou plusieurs trains de données. Dans cet exemple, le travail de sauvegarde identifie trois fichiers, le fichier A, le fichier B et le fichier C. Le fichier A 204 comporte les blocs de données Al, 15 A2, A3, A4, A5, A6. Le fichier B 206 comporte les blocs de données BI, B2, B3, B4 206. Le fichier C 208 comporte les blocs de données Cl, C2, C3. En conséquence de la sauvegarde initiale exécutée par un travail de sauvegarde, les données de sauvegarde représentent une valeur 20 de départ car elles contiennent tous les blocs de données pour tous les fichiers spécifiés par le travail de sauvegarde. Cette valeur de départ peut également être appelée jeu de sécurité 210. Ce jeu de sécurité peut alors être délivré à un système d'enregistrement de données tel qu'un serveur séparé. Un tel transfert peut être exécuté, par exemple, par l'intermédiaire 25 d'une connexion de réseau, telle qu'une connexion TCP/IP. Le système d'enregistrement de données (par exemple, le serveur de sauvegarde) enregistre alors ce jeu de sécurité sous la forme d'une valeur de départ dans une réserve comme représenté en 212, qui sera appelée réserve primaire, par exemple, réserve active (il peut y avoir dans le temps 30 des centaines de fichiers discrets sur un disque pour représenter le système de réserve ; ceci constitue une vue logique du système de réserve). Comme représenté sur la figure 3, lorsque le travail de sauvegarde est exécuté une deuxième fois, une deuxième génération de 35 données incrémentales est générée. Ces données incrémentales représentent les données qui ont changé par rapport à la valeur de départ 2908538 2 qui a été enregistrée initialement dans la réserve primaire. Les données qui ont changé peuvent inclure de nouvelles données ainsi que des données qui ont été modifiées. Ceci peut être réalisé par exemple, en explorant les blocs qui ont changé dans les fichiers sélectionnés A, B et C. 5 Dans cet exemple, le client de sauvegarde a vérifié que la deuxième génération 302 de données incrémentales comporte les blocs A3, B5, Cl et C4. Comme représenté en 304, la réserve primaire comporte la valeur de départ qui a été initialement reçue en conséquence de l'exécution initiale du travail de sauvegarde. Lorsque la deuxième génération de 10 données incrémentales est reçue, les données incrémentales sont ajoutées à la réserve primaire, comme représenté en 306. Plus particulièrement, la première génération de données (c'est-à-dire, la valeur de départ) est conservée, tandis que la deuxième génération de données est également enregistrée. Dans cet exemple, les blocs A3 et Cl ont été modifiés, tandis 15 que les blocs B5 et C4 représentent de nouvelles données. La figure 4 représente l'enregistrement d'une troisième génération de données incrémentales dans la réserve primaire. Comme représenté en 402, le client de sauvegarde explore les blocs qui ont changé dans les fichiers sélectionnés A, B et C pour générer une troisième 20 génération de données incrémentales. Plus particulièrement, les blocs qui ont changé sont ceux qui ont changé par rapport à une sauvegarde précédente (par exemple, la sauvegarde précédente). Les données qui ont changé peuvent inclure des donnéesmodifiées ou de nouvelles données. La réserve primaire existante comporte maintenant la valeur de départ et 25 la deuxième génération de données incrémentales, comme représenté en 404. Lors de l'enregistrement de la troisième génération de données incrémentales, la réserve primaire comporte la valeur de départ, la deuxième génération de données incrémentales et la troisième génération de données incrémentales, comme représenté en 406. Dans cet exemple, 30 la troisième génération de données incrémentales comporte les blocs modifiés A2, B3, C3 et B5. La figure 5 est un schéma illustrant la réserve primaire et chaque jeu de sécurité correspondant. Plus particulièrement, la réserve primaire comporte la valeur de départ initiale représentant la première 35 génération de données, ainsi que la deuxième génération de données incrémentales et la troisième génération de données incrémentales. Selon 2908538 13 un mode de réalisation, la réserve primaire comporte un indice de réserve i assurant la visibilité dans la réserve primaire pour permettre de recréer une image (c'est-à-dire, un jeu de sécurité) complète de données de sauvegarde à partir de chaque génération de données incluant les seuls 5 changements au niveau des blocs. Plus particulièrement, avec chaque sauvegarde qui suit, on peut modifier les indices utilisés pour identifier chacun des fichiers pour s'assurer que l'image complète des données de sauvegarde peut être recréée. Comme représenté dans cet exemple, à partir des indices de réserve associés à la réserve primaire, on peut 10 récupérer un premier jeu de sécurité correspondant à la première génération, comme représenté en 504. De façon similaire, on peut récupérer un deuxième jeu de sécurité correspondant à la deuxième génération, comme représenté en 506. Un troisième jeu de sécurité correspondant à la troisième génération est représenté en 508. 15 Malheureusement, le suivi des jeux de sécurité au moyen d'indices devient complexe à mesure que la taille de la réserve primaire augmente. Comme présenté ci-dessus, durant une période de temps prolongée, la taille de la réserve primaire devient importante, et la valeur des données de récupération plus ancienne tend vers zéro. Un autre 20 aspect est qu'à mesure que le temps progresse, le caractère courant entre les jeux de sécurité diminue habituellement. En conséquence, il est souhaitable de réduire la taille de la réserve primaire en transférant au moins une partie des données de la réserve primaire vers une réserve secondaire. 25 Selon un mode de réalisation, on peut générer une ou plusieurs réserves secondaires. Les figures 6 à 8 illustrent ensemble un processus de génération d'une réserve secondaire de données selon un mode de réalisation de l'invention. Comme représenté sur la figure 6, on peut générer une réserve 30 secondaire selon divers critères en réponse à une demande de réserve secondaire 602. Une telle demande peut être générée automatiquement. On peut par exemple générer une réserve secondaire lorsqu'une politique particulière est satisfaite. Comme exemple, la politique peut déterminer qu'une réserve secondaire doit être générée lorsqu'une date 35 prédéterminée a été atteinte, qu'une période de temps prédéterminé s'est écoulée depuis que la réserve primaire de données a été générée et/ou 2908538 4 lorsqu'un nombre maximum de générations de données est enregistré dans la réserve primaire de données. On peut également générer une demande de réserve secondaire en réponse à une entrée de l'utilisateur. Une réserve primaire initiale est représentée en 604, incluant 5 une valeur de départ primaire correspondant à la génération initiale de données et une deuxième génération de données incrémentales. La réserve comporte les blocs de données Al à A6, B1 à B4 et CI et C2. La seconde génération de données incrémentales comporte les blocs A3, B5, Cl et C4. 10 Dans cet exemple, la réserve primaire est divisée en se basant sur la première génération de données de sauvegarde. Selon un mode de réalisation, en traversant l'indice de réserve de la réserve primaire, les blocs de données des fichiers qui sont dans la première génération peuvent être séparés pour former la valeur de départ de la nouvelle 15 réserve secondaire. Puisque les données plus anciennes correspondant à la première génération ont été transférées vers la réserve secondaire, les données plus récentes correspondant à la deuxième génération restent dans la réserve primaire. Il en résulte une réserve primaire nouvelle ou 20 modifiée, comme représenté en 606. Comme présenté ci-dessus, la deuxième génération comporte les blocs modifiés A3 et Cl et les nouveaux blocs B5 et C4. En conséquence, les blocs plus anciens A3 et Cl sont effacés à mesure qu'ils sont copiés dans la réserve secondaire. Les blocs qui restent dans la réserve primaire comportent le jeu de sécurité 25 correspondant à la deuxième génération, qui est maintenant la génération de données la plus ancienne dans la réserve primaire, et le jeu de sécurité correspondant à la troisième génération. Selon un mode de réalisation, le jeu de sécurité correspondant à la deuxième génération sert de nouvelle valeur de départ pour la réserve 30 primaire. Plus particulièrement, on peut générer la nouvelle valeur de départ à partir de la valeur de départ précédente et d'une ou plusieurs générations de données incrémentales présentes précédemment dans la réserve primaire. Dans cet exemple, on génère la nouvelle valeur de départ en utilisant la valeur de départ précédente et la deuxième 35 génération de données incrémentales. En fusionnant la valeur de départ avec la deuxième génération de données incrémentales, une nouvelle 2908538 15 valeur de départ est générée. Comme représenté dans cet exemple, les blocs modifiés A3 et Cl remplacent les blocs A3 et Cl précédents et les nouveaux blocs B3 et C4 sont ajoutés à la valeur de départ. Un procédé de génération d'une nouvelle valeur de départ va être décrit plus en détail 5 ci-dessous en référence à la figure 13. Comme représenté dans cet exemple, la nouvelle réserve secondaire 608 comporte la première génération de données provenant de la réserve primaire. En d'autres termes, seuls les blocs d'origine provenant de la valeur de départ de la réserve primaire forment la valeur de départ 10 de la réserve secondaire (les données modifiées après la première sauvegarde ne sont pas incluses). Bien que n'étant pas représenté dans cet exemple, il est également possible de déplacer une ou plusieurs générations de données incrémentales vers la réserve secondaire. Un tel transfert d'une ou plusieurs générations de données incrémentales peut 15 être effectué en même temps que le transfert initial, ou peut être effectué à un moment ultérieur. Le transfert de données vers une réserve secondaire peut être effectué automatiquement ou il peut être initialisé par l'utilisateur. Par exemple, le transfert de données vers une réserve secondaire peut être 20 effectué lorsqu'une politique particulière est satisfaite. Comme exemple, la politique peut déterminer qu'un nombre particulier de générations sont transférées vers une réserve secondaire lorsqu'une date prédéterminée a été atteinte, qu'une période de temps prédéterminé s'est écoulée depuis que la réserve primaire de données a été générée et/ou lorsqu'un nombre 25 maximum de génération de données est enregistré dans la réserve primaire de données. Le transfert de données peut inclure le transfert d'une valeur de départ et/ou d'une ou plusieurs générations de données incrémentales. La création d'une réserve secondaire entraîne ainsi le transfert d'une valeur de départ depuis une réserve primaire ou 30 secondaire. Une réserve secondaire peut être dite réserve secondaire active . Une réserve secondaire active peut recevoir des données de sauvegarde (par exemple, depuis la réserve primaire). Selon un mode de réalisation, la réserve primaire gère un indice particulier (par exemple, un 35 pointeur) sur la génération la plus récente de données 610 représentant 2908538 16 les différences entre les données dans la réserve primaire et la génération de données la plus actuelle dans la réserve secondaire active. Il est également possible de générer plus d'une réserve secondaire. On peut par exemple générer plus particulièrement des 5 réserves secondaires multiples simultanément ou à des moments séparés. De façon similaire, on peut transférer des données vers des réserves secondaires différentes simultanément ou à des moments séparés. Chaque réserve secondaire peut être active ou non active (par exemple, en lecture seule). Selon un mode de réalisation, une réserve secondaire 10 active est gérée, tandis que les réserves secondaires restantes peuvent être non actives. Bien que les exemples ici décrits se réfèrent au transfert de données vers une réserve secondaire depuis la réserve primaire, les données peuvent également être transférées depuis une autre réserve secondaire. Il est également important de noter que les données peuvent 15 également être transférées entre des réserves primaires, ainsi que depuis des réserves secondaires vers des réserves primaires. Pour illustrer le transfert des données vers une autre deuxième réserve secondaire, le transfert d'une troisième génération de données vers la réserve primaire est décrit en référence à la figure 7. Comme 20 représenté en 702, une troisième génération de données incrémentales est reçue par le serveur de sauvegarde comme nouveau jeu de sécurité. Dans cet exemple, la troisième génération de données incrémentales comporte les blocs modifiés A2 et B1 et de nouveaux blocs B5 et C5. La réserve primaire existante 704 est alors modifiée pour inclure la troisième 25 génération de données incrémentales, comme représenté en 706. Sur la figure 8, une réserve secondaire est générée selon divers critères en réponse à une demande de réserve secondaire 802 générée automatiquement ou en réponse à une entrée utilisateur. Dans l'exemple illustré sur la figure 8, la réserve primaire 804 30 est divisée sur la base de la deuxième génération de données de sauvegarde de sorte que la première et la deuxième génération de données sont enregistrées dans une réserve secondaire. Après cette division, la réserve primaire nouvelle ou modifiée comporte les données les plus courantes, incluant la troisième génération de données, comme 35 représenté en 806. Plus particulièrement, les blocs modifiés A2 et BI remplacent les blocs plus anciens qui sont effacés et copiés dans la 2908538 17 nouvelle réserve secondaire. De plus, les nouveaux blocs B5 et C5 sont enregistrés dans la réserve primaire. Bien que les blocs qui ont été déplacés d'une réserve à une autre soient représentés comme étant physiquement déplacés pour simplifier l'explication, il n'est pas nécessaire 5 de déplacer physiquement les blocs. En remplacement, on peut modifier les indices, ce qui a pour conséquence le déplacement des blocs de données. De cette manière, on peut générer une nouvelle valeur de départ de la réserve primaire, basée sur la valeur de départ précédente de la réserve primaire et une ou plusieurs des générations incrémentales de 10 données de la réserve primaire. Ainsi, on peut générer la nouvelle valeur de départ dans la réserve secondaire en se basant sur la valeur de départ précédente de la réserve primaire et toutes les générations restantes de données qui sont transférées depuis la réserve primaire de données, incluant à la fois la première et la deuxième génération de données dans 15 cet exemple. La nouvelle valeur de départ primaire peut en conséquence représenter ce transfert de données depuis la réserve primaire. Une nouvelle valeur de départ de la réserve primaire peut également être générée en outre, sur la base de la première génération de données n'ayant pas été transférées, qui est dans cet exemple la troisième 20 génération de données. En d'autres termes, la nouvelle valeur de départ de la réserve primaire peut représenter les données les plus anciennes dans la réserve primaire. Dans d'autres modes de réalisation, il est possible qu'une valeur de départ puisse représenter les données les plus récentes dans une réserve. Cette nouvelle valeur de départ peut être 25 générée, par exemple, en recréant un jeu de sécurité correspondant à la troisième génération de données en appliquant un lecteur de réserve. Un exemple de lecteur de réserve va être décrit plus en détail ci-dessous en référence à la figure 13. La nouvelle réserve secondaire 808 comporte des données 30 provenant à la fois de la première et de la deuxième génération de données (ne comporte pas de données modifiées d'une troisième sauvegarde). En d'autres termes, la valeur de départ de la nouvelle réserve secondaire 808 peut être la valeur de départ (par exemple, la première génération de données), ayant été transférée depuis la réserve 35 primaire. 2908538 18 Selon un mode de réalisation, un indice de réserve primaire particulier peut pointer sur la génération de données représentant les différences entre la réserve primaire et une réserve secondaire active, comme représenté en 810. Ainsi, un indice de réserve primaire différent 5 peut pointer sur une génération de données dans chaque réserve secondaire active. Un tel indice ou pointeur peut se référer à la génération la plus récente de données reçues, qui est la troisième génération de données incrémentales, comme représenté en 810. La réserve primaire peut, mais ce n'est pas nécessaire, gérer une référence à des réserves 10 d'enregistrements secondaires inactives. La figure 9 est un organigramme illustrant un procédé de génération d'une réserve secondaire selon un mode de réalisation de l'invention. Comme présenté ci-dessus, une réserve primaire de données est obtenue ou identifiée en 902, où la réserve primaire de données 15 comporte une valeur de départ et une ou plusieurs générations de données. Chacune des générations de données dans la réserve primaire de données comporte un ou plusieurs blocs de données ayant changé en référence à un jeu de sécurité correspondant à une sauvegarde précédente, le jeu de sécurité correspondant à la sauvegarde précédente 20 incluant la valeur de départ de la réserve primaire. Plus particulièrement, chacun des jeux de sécurité peut inclure ou référencer la valeur de départ. De plus, un jeu de sécurité correspondant à une sauvegarde peut inclure (par exemple, référencer) une ou plusieurs des générations de données dans la réserve primaire. 25 Une réserve secondaire de données est générée en 904. Comme décrit ci-dessus, la génération d'une réserve secondaire de données peut être initialisée manuellement, ou elle peut être générée automatiquement en réponse à une politique. Au moins une partie des données dans la réserve primaire de données peut alors être transférée 30 vers la réserve secondaire de données 906. Les données qui sont transférées peuvent inclure une ou plusieurs générations de données. Lors du transfert de données vers une réserve secondaire, la réserve secondaire de données peut inclure une valeur de départ. Le contenu de la valeur de départ de la réserve secondaire dépend des 35 données qui sont transférées depuis la réserve primaire. Par exemple, la valeur de départ peut être la valeur de départ provenant de la réserve 2908538 19 primaire qui a été transférée vers la réserve secondaire. Ceci peut se produire lorsque les données les plus anciennes dans la réserve primaire sont transférées vers la réserve secondaire. À titre de variante, la valeur de départ peut être générée en se basant sur la valeur de départ de la 5 réserve primaire et une ou plusieurs des générations de données. En d'autres termes, la valeur de départ peut incorporer la valeur de départ de la réserve primaire et une ou plusieurs des générations de données de la réserve primaire et/ou des générations de données déjà présentes dans la réserve secondaire pour former un jeu de sécurité unique. Ceci peut être 10 souhaitable, par exemple, lorsque des données sont transférées depuis le milieu de la réserve primaire (par exemple, lorsque des données sont transférées vers plus d'une réserve secondaire, ou lorsque les générations de données dans la réserve primaire ne sont pas toutes déplacées vers la réserve secondaire). 15 La figure 10 est un organigramme illustrant un procédé de génération de plus d'une réserve secondaire selon un mode de réalisation de l'invention. Une première réserve secondaire de données est générée en 1002. Au moins une partie des données dans la réserve primaire est transférée vers la première réserve secondaire en 1004. À la suite du 20 transfert de données, la première réserve secondaire peut inclure une valeur de départ, qui peut être appelée première valeur de départ . De plus, la première réserve secondaire peut également inclure une ou plusieurs générations de données, où chacune des générations de données dans la première réserve secondaire de données comporte un ou 25 plusieurs blocs de données qui ont changé en référence à un jeu de sécurité correspondant à une sauvegarde précédente, où le jeu de sécurité correspondant à la sauvegarde précédente comporte la première valeur de départ. De plus, une deuxième réserve secondaire de données est 30 générée en 1006. Au moins une partie des données dans la réserve primaire ou au moins une partie des données dans la première réserve secondaire de données est transférée vers la deuxième réserve secondaire en 1008. Plus particulièrement, les données qui sont transférées peuvent inclure une valeur de départ, ainsi qu'une ou plusieurs générations. 35 Faisant suite au transfert de données, la deuxième réserve secondaire peut inclure une ou plusieurs valeurs de départ. De plus, la deuxième 2908538 20 réserve secondaire peut également inclure une ou plusieurs générations de données, où chacune des générations de données dans la deuxième réserve secondaire de données comporte un ou plusieurs blocs de données qui ont changé en référence à un jeu de sécurité correspondant à 5 une sauvegarde précédente, où le jeu de sécurité correspondant à la sauvegarde précédente comporte une valeur de départ de la réserve secondaire. Les données qui sont transférées vers la deuxième réserve secondaire peuvent être transférées depuis la réserve primaire. Ainsi, la 10 valeur de départ dans la deuxième réserve secondaire peut être la valeur de départ provenant de la réserve primaire ou peut être générée sur la base de la valeur de départ provenant de la réserve primaire et d'une ou plusieurs générations de données dans la réserve primaire et/ou d'une ou plusieurs générations de données déjà présentes dans la deuxième 15 réserve secondaire. Lorsque les données sont transférées depuis la première réserve secondaire, la valeur de départ dans la deuxième réserve secondaire peut être la valeur de départ provenant de la première réserve secondaire ou peut être générée en se basant sur la valeur de départ provenant de la première réserve secondaire et d'une ou plusieurs 20 générations de données dans la première réserve secondaire et/ou d'une ou plusieurs générations de données déjà présentes dans la deuxième réserve secondaire. Comme présenté ci-dessus, le transfert de données depuis une réserve vers une autre réserve peut avoir pour conséquence la génération 25 d'une nouvelle valeur de départ pour une réserve ou les deux. La figure 11 est un organigramme illustrant un procédé de génération ou de modification d'une réserve de données utilisant une valeur de départ nouvellement générée selon un mode de réalisation de l'invention. Une première valeur de départ incluant une pluralité de blocs de données est 30 obtenue en 1102. Une deuxième valeur de départ est ensuite générée en 1104, où la deuxième valeur de départ comporte une pluralité de blocs de données référencés ou inclus dans la première valeur de départ et des données incrémentales pour une ou plusieurs générations, où les données incrémentales comportent un ou plusieurs blocs de données qui ont 35 changé par rapport à un jeu de sécurité correspondant à une sauvegarde précédente, le jeu de sécurité correspondant à la sauvegarde précédente 2908538 2 incluant la première valeur de départ, dans lequel la réserve de données comporte la deuxième valeur de départ. De cette manière, la deuxième valeur de départ peut être mise à jour pour représenter les données récentes. La première valeur de départ peut par exemple être la valeur de 5 départ d'une réserve primaire, tandis que la deuxième valeur de départ peut être la nouvelle valeur de départ de la réserve primaire qui est mise à jour pour inclure la ou les générations la ou les plus récentes de données. Comme présenté ci-dessus, la génération d'une réserve secondaire et/ou le transfert de données vers la réserve secondaire 10 peuvent être effectués lorsqu'une politique est satisfaite. Puisque ces processus peuvent inclure la génération d'une valeur de départ, la valeur de départ peut également être générée lorsqu'une politique est satisfaite. Par exemple, une valeur de départ de la réserve secondaire peut être générée après qu'une période de temps prédéterminée s'est écoulée 15 depuis que la première valeur de départ a été générée ou lorsqu'une date prédéterminée a été atteinte. La figure 12 est un organigramme illustrant un procédé de génération ou de modification d'une réserve primaire de données lors du transfert de données vers une réserve secondaire selon un mode de 20 réalisation de l'invention. Une réserve primaire de données est obtenue ou identifiée en 1202. La réserve primaire de données comporte une valeur de départ et une ou plusieurs générations de données. Chacune des générations de données dans la réserve primaire de données comporte un ou plusieurs blocs de données qui ont changé en référence à un jeu de 25 sécurité correspondant à une sauvegarde précédente, le jeu de sécurité correspondant à la sauvegarde précédente incluant (par exemple, référençant) la valeur de départ de la réserve primaire. Une réserve secondaire de données est générée en 1204. Au moins une partie des données dans la réserve primaire de données est transférée vers la 30 réserve secondaire de données de sorte que la réserve secondaire de données comporte une valeur de départ et une ou plusieurs générations de données en 1206. Chacune des générations de données dans la réserve secondaire de données comporte un ou plusieurs blocs de données qui ont changé par rapport à un jeu de sécurité correspondant à 35 une sauvegarde précédente, le jeu de sécurité correspondant à la sauvegarde précédente incluant (par exemple, référençant) la valeur de 2908538 22 départ de la réserve secondaire. Un bloc de données a changé par rapport à un jeu de sécurité correspondant à une sauvegarde précédente lorsque le bloc de données est nouveau par rapport au jeu de sécurité correspondant à la sauvegarde précédente ou lorsque le bloc de données 5 a été modifié en référence au même bloc de données dans le jeu de sécurité correspondant à la sauvegarde précédente. Une nouvelle valeur de départ de la réserve primaire est générée en 1208, basée sur la valeur de départ précédente de la réserve primaire et sur une ou plusieurs des générations de données dans la réserve primaire de données. 10 Lorsqu'une ou plusieurs réserves secondaires ont été générées et peuplées de données, une ou plusieurs des réserves secondaires de données peuvent être archivées sur un support d'enregistrement. De plus, une partie d'une réserve secondaire peut être archivée sur un support d'enregistrement. Par exemple, la valeur de départ et une ou plusieurs 15 générations de données dans la réserve secondaire peuvent être archivées. De cette manière, les données plus anciennes peuvent être enregistrées sur un support plus économique. L'archivage peut être effectué en réponse à une entrée de l'utilisateur ou il peut être effectué automatiquement lorsqu'une politique est satisfaite. Par exemple, une 20 réserve secondaire peut être archivée lorsque la réserve secondaire comporte un nombre maximum de génération de données, lorsqu'une période de temps prédéterminée s'est écoulée depuis la génération de la réserve secondaire de données et/ou lorsqu'une date prédéterminée a été atteinte. 25 Pour une diversité de raisons, il peut être souhaitable que le serveur de sauvegarde récupère et rétablisse des données. Selon un mode de réalisation, un utilisateur peut sélectionner une génération ou un ensemble de générations dans une réserve secondaire à rétablir. Par exemple, la sélection peut identifier un ensemble de générations fonction 30 de la date enregistrée et/ou d'autres critères. Les données qui sont rétablies pour une génération particulière comportent un jeu de sécurité de données complet. Selon un mode de réalisation, pour rétablir une génération particulière de données dans une réserve secondaire, la génération 35 sélectionnée et toutes les générations de données dans la réserve secondaire ayant été reçues avant la génération des données rétablies 2908538 23 (incluant la valeur de départ) sont utilisées. Un exemple de processus de rétablissement d'une génération de données va être décrit plus en détail ci-dessous en référence à la figure 13. Selon un mode de réalisation, un lecteur de réserve peut être 5 utilisé pour rétablir des données associées à une génération/un jeu de sécurité particulier. Le lecteur de réserve utilise le fait que chaque génération de données comporte uniquement les données qui ont changé (par exemple, nouvelles ou modifiées). En conséquence, lorsque le lecteur de réserve est utilisé pour recréer un jeu de sécurité particulier associé à 10 une génération de données, il démarre au jeu de sécurité recréé et fonctionne à reculons (par exemple, jusqu'au premier jeu de sécurité dans la réserve). Si un bloc de données est référencé par plus d'un jeu de sécurité, le bloc de données le plus récent est utilisé. Selon un mode de réalisation, lorsqu'on a déjà trouvé un bloc de données dans un jeu de 15 sécurité, le lecteur de réserve arrête d'explorer les jeux de sécurité précédents pour ce bloc de données. En d'autres termes, il est inutile de localiser des versions antérieures du bloc de données car seule la version la plus récente du bloc de données est désirée. Dans la description qui suit, on suppose que la génération 20 incrémentale de données correspondant à un jeu de sécurité identifie un ou plusieurs fichiers. Chacun des fichiers comporte un ou plusieurs blocs de données, pouvant être regroupés en trains de données. Le lecteur passe en conséquence par la génération la plus récente de données correspondant au jeu de sécurité le plus récent dans la réserve, et 25 explore/passe par les générations/jeux de sécurité précédents restants dans la réserve, comme nécessaire. Durant ce processus, la version la plus courante de chaque bloc de données spécifique est gérée dans une structure de données ou fichier, pouvant être appelé différence incrémentale ou jeu desécurité rétabli . 30 Un lecteur de réserve incrémentale peut être utilisé pour générer un sous-ensemble de données représentant la différence entre deux jeux de sécurité de données différents. Ainsi, lorsque des données doivent être transférées depuis une réserve vers une autre réserve (par exemple, depuis la réserve primaire vers la réserve secondaire), on peut 35 comparer les données déjà présentes dans la réserve secondaire aux données à transférer. Par exemple, on peut comparer le jeu de sécurité de 2908538 24 données le plus récent dans la réserve secondaire à la valeur de départ de la réserve primaire qui doit être transférée vers la réserve secondaire. En utilisant un lecteur de réserve incrémentale, on peut identifier les données différentielles et ne transférer que les données différentielles vers la 5 réserve secondaire. La figure 13 est un organigramme illustrant un procédé de mise en oeuvre d'un lecteur de réserve selon un mode de réalisation de l'invention. Le processus qui suit suppose que la différence incrémentale (c'est-à-dire, le jeu de sécurité rétabli) est initialisée à l'ensemble nul. Le 10 processus commence en 1300 à la génération pour laquelle des données sont rétablies et détermine si la génération comporte plus de fichiers à traiter en 1302. S'il reste des fichiers à traiter, les informations des fichiers suivants peuvent être lues en 1304. Par exemple, les informations des fichiers peuvent identifier un ou plusieurs trains de blocs de données 15 présents dans le fichier. S'il ne reste plus de train à traiter dans le fichier en 1306, le processus se poursuit en 1302 pour tous les fichiers restants dans la génération. S'il reste des trains à traiter dans le fichier en 1306, les informations de trains suivantes peuvent être lues en 1308. Par exemple, les informations de trains peuvent identifier un ou plusieurs 20 blocs de données dans le train. S'il ne reste plus de bloc de données dans le train de données en 1310, le processus se poursuit pour tous les trains de données restants dans le fichier. S'il reste des blocs de données dans le train de données en 1310, le bloc de données suivant dans le train de données est obtenu en 1312. On peut alors déterminer si le bloc de 25 données obtenu existe déjà dans la différence incrémentale (par exemple, le jeu de sécurité rétabli) en 1314. Si le bloc de données n'existe pas déjà dans la différence incrémentale, le bloc de données est la copie (c'est-à-dire la version) la plus récente du bloc de données, et il est inclus dans la différence incrémentale en 1316. Toutefois, si la version du bloc de 30 données existe déjà dans la différence incrémentale, le bloc de données n'est pas la version la plus courante, et n'est pas inclus dans la différence incrémentale en 1318. Le processus se poursuit en 1310 pour tous les blocs de données restants dans le train de données. S'il ne reste plus de fichiers à traiter pour la génération en 35 1302, on détermine s'il reste des générations plus anciennes de données (par exemple, incluant la valeur de départ) à traiter en 1320. S'il reste des 2908538 25 générations (y compris la valeur de départ) à traiter, la génération précédente est obtenue en 1322, et le processus se poursuit pour traiter les fichiers dans la génération en 1302 comme présenté ci-dessus. S'il n'y a plus de génération à traiter en 1320, le processus se termine en 1324. 5 Lorsque le lecteur de réserve incrémentale a terminé de traiter la réserve de données, les données incrémentales (par exemple, le jeu de sécurité rétabli) peuvent être délivrées au client ou utilisées en tant que nouvelle valeur de départ pour une réserve de données existante. De cette manière, on peut générer un jeu de sécurité complet à partir des 10 générations incrémentales de données et de la valeur de départ correspondante. Les réserves primaires et secondaires associées à un travail de sauvegarde particulier peuvent être gérées en utilisant une diversité de fichiers et/ou de structures de données. On peut utiliser par exemple une 15 liste liée, des indices, et/ou des pointeurs, pour lier les diverses réserves et/ou générations. Selon un mode de réalisation, une liste d'emplacements de fichiers de réserves identifie tous les fichiers de réserve pour un travail de sauvegarde particulier. Plus particulièrement, les fichiers de réserves 20 constituent ensemble une réserve pour un travail de sauvegarde donné. De plus, un fichier d'indices de réserves de jeux de sécurité contient une liste de toutes les versions des fichiers qui ont été sauvegardés et l'emplacement de tous les éléments de chaque version de chaque fichier à l'intérieur de la réserve. 25 Les techniques de la présente invention peuvent être généralement mises en oeuvre par logiciel et/ou circuit. Dans un mode de réalisation spécifique de cette invention, la technique de la présente invention est mise en oeuvre par logiciel. Ainsi, la présente invention concerne un support lisible par une machine incluant des instructions de 30 programmes, des informations d'état (par exemple, des tables), etc., pour exécuter diverses opérations ici décrites. Des exemples de supports lisibles par une machine comportent, mais sans y être limités, des supports magnétiques tels que des disques durs, des disquettes et une bande magnétique des supports optiques tels que des disques CD-ROM ; des 35 supports magnéto-optiques tels que des disquettes optiques et des dispositifs matériels qui sont spécifiquement configurés pour enregistrer et 2908538 26 exécuter les instructions de programmes, tels que des dispositifs mémoire à lecture seule (ROM) et des mémoires à accès aléatoire (RAM). L'invention peut également être réalisée dans ou associée à un support tangible lisible par un ordinateur dans lequel une onde porteuse traverse 5 un support approprié tel que des ondes hertziennes, des lignes optiques, des lignes électriques, etc. Des exemples d'instructions de programmes comportent à la fois un code machine tel que produit par un compilateur, et des fichiers contenant un code de niveau supérieur qui peut être exécuté par un ordinateur en utilisant un interpréteur. 10 La présente invention peut être mise en oeuvre sur un système informatique convenable quelconque. La figure 14 illustre un système informatique typique à usage général 1502 convenable pour mettre en oeuvre la présente invention. Le système informatique peut prendre une quelconque forme convenable. 15 Le système informatique 1502 comporte un nombre quelconque de processeurs 1504 (appelés également unités centrales de traitement ou CPU) pouvant être couplés à des dispositifs mémoire incluant un dispositif d'enregistrement primaire 1506 (typiquement, une mémoire à lecture seule ou ROM) et un dispositif d'enregistrement primaire 1508 20 (typiquement une mémoire à accès aléatoire, ou RAM). Comme cela est bien connu dans la technique, une ROM fonctionne en transférant des données et des instructions de façon unidirectionnelle vers des CPU 1504, tandis qu'une RAM et typiquement utilisée pour transférer des données et des instructions d'une manière bidirectionnelle. Les deux dispositifs 25 d'enregistrement primaire 1506, 1508 peuvent inclure un quelconque support convenable lisible par un ordinateur. Un support d'enregistrement secondaire 1510, qui est typiquement un dispositif de mémoire de masse, peut également être couplé de façon bidirectionnelle aux CPU 1504 et il fournit une capacité 30 d'enregistrement de données supplémentaires. Le dispositif de mémoire de masse 1510 est un support lisible par un ordinateur pouvant être utilisé pour enregistrer des programmes incluant un code informatique, des données et analogue. Typiquement, le dispositif de mémoire de masse 1510 est un support d'enregistrement tel qu'un disque dur, qui est 35 généralement plus lent que les dispositifs d'enregistrement primaires 1506, 1508. À titre de variante, le dispositif de mémoires de masse 1510 2908538 27 peut être un dispositif d'enregistrement tel qu'un dispositif d'enregistrement SCSI. Selon un mode de réalisation, les réserves primaires et secondaires peuvent être enregistrées sur le support d'enregistrement secondaire 1510. 5 Les CPU 1504 peuvent être couplés à un dispositif d'entrée/sortie 1/0 1512 et de manière optionnelle à un ordinateur ou à un réseau de télécommunications, par exemple, le réseau Internet ou un réseau intranet, en utilisant une connexion de réseau comme représenté de façon générale en 1514. Avec une telle connexion 10 de réseau, on envisage que les CPU 1504 puissent recevoir des informations depuis le réseau (par exemple, des données associées à un processus de rétablissement) ou puissent délivrer en sortie des informations vers le réseau (par exemple, des données qui ont été traitées par un processus de sauvegarde de réduction de delta de 15 position fixe ou des données qui ont été modifiées avant d'être traitées par une application de sauvegarde de réduction de delta de position fixe) au cours de l'exécution des étapes du procédé décrit ci-dessus. Ainsi, les données de sauvegarde peuvent être transmises sur un réseau pour être traitées ou pour être enregistrées ou récupérées sur un dispositif 20 d'enregistrement distant. Le réseau peut être par exemple, un réseau de stockage (SAN) tel qu'un SAN de canal à fibres. En conséquence, l'invention peut être installée pour être utilisée sur un réseau tel qu'Internet, permettant ainsi la récupération et la sauvegarde de données sur des sources disparates. 25 Bien que la description se réfère au transfert de données depuis une réserve primaire vers une réserve secondaire, les données peuvent également être transférées entre et parmi des réserves secondaires ou des réserves primaires ou depuis une réserve secondaire vers une réserve primaire. De plus, chaque réserve peut inclure une ou 30 plusieurs valeurs de départ et/ou une ou plusieurs générations de données incrémentales. De plus, bien que la description se réfère au transfert de données, il est important de noter que le transfert de données peut être un transfert virtuel (par exemple, par l'intermédiaire d'une modification d'indices) plutôt qu'un transfert physique de données. 2908538 28 En conséquence, les modes de réalisation décrits doivent être considérés comme explicatifs et non restrictifs, et l'invention ne doit pas être limitée aux détails ici fournis mais elle doit être définie par les revendications qui suivent et la portée concrète de leurs équivalents. REVENDICATIONS 1. Procédé comprenant : l'obtention ou identification d'une première réserve de données, la première réserve de données incluant une première valeur de départ et une ou plusieurs générations de données, caractérisé en ce que chacune des générations de données dans la première réserve de données comporte un ou plusieurs blocs de données qui diffèrent par rapport à un jeu de sécurité correspondant à une sauvegarde précédente ou suivante, le jeu de sécurité correspondant à la sauvegarde précédente ou suivante incluant la première valeur de départ et le transfert d'au moins une partie des données dans la première réserve de données vers une seconde réserve de données. 2. Procédé selon la revendication 1, comprenant en outre : la fusion de la première valeur de départ avec une ou plusieurs valeurs de départ supplémentaires pour former une deuxième valeur de départ. 3. Procédé selon la revendication 1, comprenant en outre : la vérification de la différence entre une valeur de départ de la première réserve de données et un jeu de sécurité de la deuxième réserve 20 de données ; et le transfert de la différence vers la deuxième réserve de données. 4. Procédé selon la revendication 1, caractérisé en ce que la première réserve de données est une réserve primaire de données et la 25 deuxième réserve de données est une autre réserve primaire de données ou une réserve secondaire de données. 5. Procédé de génération d'une réserve de données, comprenant : l'obtention ou identification d'une réserve primaire de données, 30 la réserve primaire de données incluant une valeur de départ primaire et une ou plusieurs générations de données, caractérisé en ce que chacune des générations de données dans la réserve primaire de données comporte un ou plusieurs blocs de données qui ont changé en référence à un jeu de sécurité correspondant à une sauvegarde précédente, le jeu de 35 sécurité correspondant à la sauvegarde précédente incluant la valeur de départ primaire et 2908538 30 la génération d'une réserve secondaire de données ; et le transfert d'au moins une partie des données dans la réserve primaire de données vers la réserve secondaire de données. 6. Procédé selon la revendication 5, comprenant en outre : 5 le transfert d'au moins une partie des données dans la réserve secondaire de données vers la réserve primaire de données. 7. Procédé selon la revendication 5, comprenant en outre : la génération d'une nouvelle valeur de départ primaire basée sur la valeur de départ primaire et sur une ou plusieurs des générations de 10 données dans la réserve primaire de données. 8. Procédé selon la revendication 5, caractérisé en ce que le jeu de sécurité correspondant à une sauvegarde précédente comporte en outre une ou plusieurs des générations de données. 9. Procédé selon la revendication 5, caractérisé en ce que la 15 réserve primaire représente les données de sauvegarde courante et la réserve secondaire représente des données archivées. 10. Procédé selon la revendication 5, caractérisé en ce que chaque génération de données comporte un ou plusieurs blocs de données obtenus en conséquence d'une sauvegarde correspondante résultant de l'exécution d'un travail de sauvegarde. 11. Procédé selon la revendication 5, caractérisé en ce qu'au moins une action parmi la génération ou le déplacement est exécutée lorsque une politique est satisfaite. 12. Procédé selon la revendication 11, caractérisé en ce que la politique est satisfaite lors de la survenue d'au moins un événement parmi l'atteinte d'une date prédéterminée, l'écoulement d'une période de temps prédéterminé depuis que la réserve primaire de données a été générée, ou lorsqu'un nombre maximum de génération de données est enregistré dans la réserve primaire de données. 13. Procédé selon la revendication 5, caractérisé en ce que le transfert est effectué de sorte que la réserve secondaire de données comporte une première valeur de départ. 14. Procédé selon la revendication 13, caractérisé en ce que la première valeur de départ est la valeur de départ primaire. 15. Procédé selon la revendication 13, caractérisé en ce que la première valeur de départ est générée en se basant sur la valeur de 2908538 31 départ primaire et sur une ou plusieurs des générations de données provenant d'au moins une réserve parmi la réserve primaire ou la réserve secondaire. 16. Procédé selon la revendication 13, caractérisé en ce que la 5 réserve secondaire de données comporte en outre une ou plusieurs générations de données, où les générations de données dans la réserve secondaire de données comportent un ou plusieurs blocs de données ayant changé par rapport à un jeu de sécurité correspondant à une sauvegarde précédente, le jeu de sécurité correspondant à la sauvegarde 10 précédente incluant la première valeur de départ. 17, Procédé selon la revendication 16, caractérisé en ce que le jeu de sécurité correspondant à la sauvegarde précédente comporte en outre une ou plusieurs des générations de données dans la réserve secondaire de données. 15 18. Procédé selon la revendication 16, caractérisé en ce que les générations de données dans la réserve secondaire de données sont obtenues à partir de la réserve primaire de données, où le transfert comprend : le déplacement d'un ensemble de générations de données 20 depuis la réserve primaire de données vers la réserve secondaire de données. 19. Procédé selon la revendication 18, caractérisé en ce que le déplacement d'un ensemble de générations de données est effectué lorsqu'une politique est satisfaite. 25 20. Procédé selon la revendication 5, comprenant en outre : l'archivage de la réserve secondaire de données sur un support d'enregistrement. 21. Procédé selon la revendication 20, caractérisé en ce que l'archivage est effectué lorsqu'une politique est satisfaite. 30 22. Procédé selon la revendication 20, caractérisé en ce que la réserve secondaire de données comporte une première valeur de départ et une ou plusieurs générations de données, le procédé comprenant en outre : le rétablissement des données pour l'une des générations de 35 données dans la réserve secondaire en utilisant la première valeur de départ, la génération de données et les générations de données dans la 2908538 32 réserve secondaire qui ont été reçues avant la génération des données en cours de rétablissement. 23. Procédé selon la revendication 22, comprenant en outre : la réception d'une sélection de l'une des générations de 5 données dans la réserve secondaire à rétablir. 24. Procédé selon la revendication 5, caractérisé en ce que la réserve secondaire comporte des données en lecture seule. 25, Dispositif comprenant : un processeur ; et 10 une mémoire, au moins un élément parmi le processeur ou la mémoire étant adapté à : obtenir ou identifier une première réserve de données, la première réserve de données incluant une première valeur de départ et une ou plusieurs générations de données, caractérisé en ce que chacune 15 des générations de données dans la première réserve de données comporte un ou plusieurs blocs de données qui diffèrent par rapport à un jeu de sécurité correspondant à une sauvegarde précédente ou suivante, le jeu de sécurité correspondant à la sauvegarde précédente ou suivante incluant la première valeur de départ ; et 20 transférer au moins une partie des données dans la première réserve de données vers une seconde réserve de données.