ES2582364T3 - Sistemas y métodos para realizar replicación de datos - Google Patents
Sistemas y métodos para realizar replicación de datosInfo
- Publication number
- ES2582364T3 ES2582364T3 ES06848901.2T ES06848901T ES2582364T3 ES 2582364 T3 ES2582364 T3 ES 2582364T3 ES 06848901 T ES06848901 T ES 06848901T ES 2582364 T3 ES2582364 T3 ES 2582364T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- replication
- application
- source
- operations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2071—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
- G06F11/2074—Asynchronous techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Abstract
Un método para realizar operaciones de gestión de datos en una red informática (106), comprendiendo el método: monitorizar operaciones de datos asociadas a primeras y segundas aplicaciones (108) que se ejecutan en un sistema de origen (102), siendo las operaciones de datos operativas para escribir datos en un primer dispositivo de almacenamiento (112) del sistema de origen; rellenar un primer fichero de registro de origen (460) almacenado en el sistema de origen con un primer conjunto de entradas de datos (463) indicativas de un primer conjunto de las operaciones de datos relacionadas con la primera aplicación y rellenar un segundo fichero de registro de origen (462) almacenado en el sistema de origen con un segundo conjunto de entradas de datos (464) indicativas de un segundo conjunto de operaciones de datos relacionadas con la segunda aplicación; insertar en cada uno del primer y del segundo ficheros de registro de origen un respectivo marcador de punto de coherencia (463, 464) indicativo de un estado recuperable de la respectiva aplicación, incluyendo el marcador una indicación de tiempo que identifica un tiempo del estado recuperable de la respectiva aplicación; copiar las entradas de datos y el marcador desde el primer y el segundo ficheros de registro de origen (460, 462) a los correspondientes primer y segundo ficheros de registro de replicación (466, 468) en un sistema de destino (104); instanciar un primer hilo (358A) en el sistema de destino y, usando el primer hilo, reproducir en un primer volumen de replicación (116A) en el sistema de destino el primer conjunto de operaciones de datos basándose en dichas entradas de datos en el primer fichero de registro de replicación (466) para replicar datos en el primer volumen de replicación; instanciar un segundo hilo (358B) en el sistema de destino y, usando el segundo hilo, reproducir en un segundo volumen de almacenamiento (116B) en el sistema de destino el segundo conjunto de operaciones de datos basándose en dichas entradas de datos en el segundo fichero de registro de replicación (468) para replicar datos en el segundo volumen de replicación; explorar el primer y el segundo ficheros de registro de replicación hasta encontrar los respectivos marcadores de puntos de coherencia (463, 464), y tras encontrar el respectivo marcador de punto de coherencia, generar una primera instantánea de los datos replicados que se replicaron en el primer volumen de replicación (116A), en donde dicha generación de la primera instantánea se realiza en un punto identificado mediante dicho respectivo marcador, en donde la primera instantánea es una imagen de punto en el tiempo creada desde el primer volumen de replicación, y generar una segunda instantánea de los datos replicados que se replicaron en el segundo volumen de replicación (116B), en donde dicha generación de la segunda instantánea se realiza en el punto identificado mediante dicho respectivo marcador, en donde la segunda instantánea es una imagen de punto en el tiempo creada desde el segundo volumen de replicación; almacenar la primera y la segunda instantáneas sin interrumpir o suspender las operaciones de datos en el primer dispositivo de almacenamiento (112); y asociar la primera y la segunda instantáneas a la información de indicación de tiempo que identifica el tiempo del estado recuperable de la primera y de la segunda aplicaciones (108) de manera que la instantánea parece haberse generado directamente desde los datos en el primer dispositivo de almacenamiento (112) en el tiempo del estado recuperable de la primera y de la segunda aplicaciones.
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Sistemas y metodos para realizar replicacion de datos Antecedentes de la invencion Campo de la invencion
La presente divulgacion se refiere a realizar operaciones de copia y/o gestion de datos en una red informatica y, en particular, a sistemas y metodos para realizar replicacion de datos en un sistema de gestion de almacenamiento.
Descripcion de la tecnica relacionada
Los ordenadores se han hecho una parte integral de las operaciones de los negocios de manera que muchos bancos, companias de seguros, firmas de la bolsa, proveedores de servicios financieros y otros diversos negocios se basan en redes informaticas para almacenar, manipular, y visualizar informacion que se somete constantemente a cambios. En ocasiones, el exito o fallo de una transaccion importante puede hacer que la disponibilidad de informacion sea tanto precisa como actual. Por consiguiente, los negocios de todo el mundo reconocen el valor comercial de sus datos y buscan maneras fiables y rentables para proteger la informacion almacenada en sus redes informaticas.
Muchos enfoques para proteger datos implican crear una copia de los datos, tal como respaldar y/o replicar datos en uno o mas dispositivos de almacenamiento. Cuando se crea una copia de tales datos, se consideran en general ciertos factores. En primer lugar, una copia de datos no deberia contener ficheros que esten corruptos o terminados inapropiadamente. En segundo lugar, una copia de datos deberia ser suficientemente actual para evitar la antiguedad de los datos evitando demasiado tiempo entre el copiado de manera que los datos copiados sean aun utiles si fueran necesarios. Para ciertas aplicaciones, tales como redes que almacenan transacciones financieras, las copias de una semana de antiguedad pueden ser inutiles, y puede ser necesario copiado mucho mas frecuente.
En un intento para adaptar tales requisitos de almacenamiento, ciertos sistemas a traves de todos los ficheros en una red informatica, o a traves de un conjunto seleccionado de ficheros criticos, y comprobar la informacion de tiempo de cada fichero. Si se han escrito datos al fichero desde la ultima vez que el sistema comprobo el estado del fichero, entonces se envia una copia del fichero a un sistema de almacenamiento. Un problema con tales sistemas es que normalmente no funcionan para datos mantenidos en ficheros muy grandes. Por ejemplo, suponiendo que pudiera hacerse una copia de la base de datos muy grande, el tiempo necesario para realizar copias de una base de datos grande de este tipo puede presentar la repeticion de datos nada practica. Hacer numerosas copias de una gran base de datos no solo toma una tremenda cantidad de tiempo, sino tambien requiere una cantidad tremenda de espacio de almacenamiento.
Otro enfoque que se ha intentado para superar algunas de estas limitaciones es un proceso en el cual se captura y graba una secuencia de tiempo de datos. Por ejemplo, muchos sistemas incorporan espejado de discos o duplicado. En espejado de discos o duplicado, los cambios realizados a un sistema de almacenamiento masivo primario se envian a otro respaldo o sistemas de almacenamiento masivo secundarios. En otras palabras, cuando se escribe un bloque de datos en el sistema de almacenamiento masivo primario, el mismo bloque de datos se escribe en un sistema de almacenamiento masivo secundario separado. Copiando cada operation de escritura a un segundo sistema de almacenamiento masivo, dos sistemas de almacenamiento masivo pueden mantenerse sincronizados de modo que son virtualmente identicos aproximadamente al mismo tiempo. Puesto que se esta copiando un volumen de disco entero, sin embargo, el espejado tambien requiere una cantidad tremenda de espacio de almacenamiento y utiliza una gran cantidad de recursos de procesamiento.
Adicionalmente, cada uno de los procesos anteriormente descritos para copiar o respaldar datos puede tener un impacto significativo en el origen o sistema primario. Por ejemplo, los recursos de procesamiento del sistema de origen pueden gastarse en copiar datos a un sistema de destino en lugar de usarse para procesar solicitudes de aplicacion.
Gray et. al. en "Transaction Processing: Concepts y Techniques" [1994, Morgan Kaufmann Publishers, Estados Unidos, paginas 646-655] describen tecnologia de replicacion a nivel de sistema que incluye sistemas primarios y de respaldo en comunicacion con un cliente para proporcionar recuperation frente a desastres. Todos los datos, aplicaciones y sesiones se duplican entre el sistema primario y de respaldo de modo que cuando un sistema falla el otro puede continuar. En algunos ejemplos se generan grabaciones de registro en el sistema primario para sincronizar el estado del sistema de respaldo con el sistema primario. La replicacion basada en registro se analiza tambien en: documento US 2005/0114406; documento wO 99/14692; documento WO 02/095632; "Database replication techniques: a three parameter classification" Weismann M, Proc. IEEE Reliable Distributed Systems 2000, pag. 206-215, documento XP010523961, Estados Unidos; The Oracle8 Replication Manual, Part N.° A58245-01, capitulos 1-2" diciembre de 1997, documento XP002290509; "Design considerations in replicated database systems for disaster protection" COMPCON 1988, paginas 428-430, documento XP000757900; y documento US 5.991.771.
5
10
15
20
25
30
35
40
45
50
55
60
65
Sumario de la invencion
En vista de lo anterior, existe una necesidad de sistemas y metodos mejorados para el copiado y/o replicacion de datos en sistemas informaticos. En particular, existe una necesidad de sistemas y metodos que reduzcan el impacto (por ejemplo, carga de procesamiento) en un sistema de origen, o primario, cuando se realiza una o mas operaciones de gestion y/o almacenamiento de datos, tales como, por ejemplo, datos especificos de aplicacion.
De acuerdo con la presente invencion se proporciona un metodo para realizar operacion de gestion de datos en una red informatica como se define en la reivindicacion 1, y un sistema como se define en la reivindicacion 4. En ciertas realizaciones de la invencion, se desvelan sistemas y metodos para realizar sustancialmente replicacion continua de datos especificos de aplicacion en un entorno de red informatica. En ciertas realizaciones, los sistemas y metodos pueden realizar adicionalmente una o mas operaciones de gestion de datos en los datos replicados para evitar sobrecargar el sistema de origen. Por ejemplo, puede realizarse una o mas operaciones de almacenamiento en datos replicados que representan un estado recuperable, o "estado bueno conocido" de una aplicacion particular que se ejecuta en el sistema de origen.
Por ejemplo, en ciertas realizaciones, las copias de replicacion buenas conocidas pueden verse como copias de datos de volumen de production. Esta caracteristica permite a un componente de gestion en el sistema informatico directamente acceder, copiar, restaurar, respaldar o manipular de otra manera las copias de replicacion de datos de produccion como si los datos fueran los datos de produccion del sistema de origen, mejorando de esta manera diversas caracteristicas de rendimiento de sistema tales como tiempo de acceso, reduciendo requisitos de memoria y reduciendo el impacto en aplicaciones de origen, o de cliente.
En ciertas realizaciones, las copias de replicacion de los datos de produccion incluyen information de tiempo (tal como una o mas indicaciones de tiempo) que indican el tiempo de sistema cliente cuando los datos de produccion se modificaron y/o cuando la aplicacion objeto estaba en un estado bueno conocido. Tales indicaciones de tiempo se asocian a continuation a los datos de replicacion y/o copias de los datos replicados, permitiendo de esta manera la sincronizacion de referencias de tiempo entre los datos de produccion y las copias de los datos replicados.
Por consiguiente, ciertas realizaciones de la invencion pueden reconocer puntos en datos de aplicacion que representan un estado bueno conocido de la aplicacion. Esta informacion se usa a continuacion mediante el sistema de replicacion para replicar inteligentemente secciones de datos de aplicacion que representan un estado recuperable en lugar del copiado rutinario de ciertos bloques de datos basandose en capacidad de hardware y/o criterios que no estan relacionados con la capacidad de recuperation de la aplicacion. Por lo tanto, en ciertas realizaciones, un beneficio de los sistemas y metodos proporcionados en el presente documento es la capacidad para replicar datos en una base especifica de aplicacion en lugar de simplemente copiar ciertos bloques fisicos de informacion basandose en un tamano de memoria intermedia, tipo de fichero o copiar otros grupos descoordinados de datos.
En ciertas realizaciones, se desvela un metodo para realizar operaciones de gestion de datos en una red informatica. El metodo comprende monitorizar: operaciones asociadas a una aplicacion que son operativas para escribir datos en un primer dispositivo de almacenamiento; insertar en un fichero de registro un marcador que comprende informacion de tiempo que identifica un tiempo de un estado bueno conocido de la aplicacion; copiar los datos en un segundo dispositivo de almacenamiento basandose al menos en parte en las operaciones; generar una instantanea de los datos copiados en un tiempo despues de que los datos se hayan copiado al segundo dispositivo de almacenamiento; y asociar la instantanea de los datos copiados a la informacion de tiempo que identifica el tiempo del estado bueno conocido de la aplicacion.
En ciertas realizaciones adicionales, el metodo anteriormente descrito comprende adicionalmente realizar un respaldo u otra operacion de almacenamiento en la instantanea y asociar la copia resultante de la instantanea a la informacion de tiempo que identifica el tiempo del estado bueno conocido de la aplicacion.
En ciertas realizaciones, se desvela un sistema para realizar operaciones de gestion de datos en un entorno de red informatica. El sistema comprende al menos una aplicacion informatica configurada para ejecutarse en un ordenador de origen y un primer dispositivo de almacenamiento acoplado al ordenador de origen para recibir operaciones de escritura de datos desde la al menos una aplicacion informatica. El sistema comprende adicionalmente un segundo dispositivo de almacenamiento y al menos un modulo configurado para monitorizar las operaciones de escritura de datos y para generar entradas de registro basandose en las operaciones de escritura de datos, teniendo al menos una de las entradas de registro una indication de tiempo indicativa de un tiempo de un estado bueno conocido de la al menos una aplicacion informatica. El sistema comprende tambien un modulo de replicacion acoplado al segundo dispositivo de almacenamiento, en el que el modulo de replicacion esta configurado para: procesar, basandose en las entradas de registro, las operaciones de escritura de datos para replicar datos en una primera localization en el segundo dispositivo de almacenamiento; realizar una operacion de almacenamiento en los datos replicados en la primera localizacion en el segundo dispositivo de almacenamiento para copiar datos en una segunda localizacion diferente de la primera localizacion, y asociar de manera logica los datos copiados en la segunda localizacion a la misma indicacion de tiempo indicativa del tiempo del estado bueno conocido de la al menos una aplicacion
5
10
15
20
25
30
35
40
45
50
55
60
65
informatica.
En ciertas realizaciones, se desvela un metodo para realizar operaciones de gestion de datos en una red informatica. El metodo comprende monitorizar operaciones de datos asociados a una aplicacion, las operaciones de datos operativas para escribir datos en un primer dispositivo de almacenamiento y rellenar un primer fichero de registro con entradas de datos indicativas de las operaciones de datos. El metodo comprende tambien: insertar en el primer fichero de registro un marcador indicativo de un estado bueno conocido de la aplicacion, incluyendo el marcador una information de tiempo que identifica un tiempo del estado bueno conocido de la aplicacion; reproducir en un segundo dispositivo de almacenamiento las operaciones de datos basandose en las entradas de datos para replicar datos en una primera localization en el segundo dispositivo de almacenamiento; realizar una operation de almacenamiento en los datos replicados para copiar los datos replicados desde la primera localizacion a una segunda localizacion; y asociar la copia de los datos replicados en la segunda localizacion a la informacion de tiempo que identifica el tiempo del estado bueno conocido de la aplicacion.
En ciertas realizaciones, se desvela un sistema para copiar datos en una red informatica. El sistema comprende: medios para monitorizar operaciones de datos generadas mediante una unica aplicacion informatica que son operativas para escribir datos en un primer dispositivo de almacenamiento; medios para almacenar entradas de datos indicativas de las operaciones de datos; medios para insertar en los medios de almacenamiento un marcador indicativo de un estado bueno conocido de la aplicacion informatica, incluyendo el marcador una indication de tiempo asociada a un tiempo de sistema de origen del estado bueno conocido de la aplicacion informatica; medios para procesar, basandose en las entradas de datos, en un segundo dispositivo de almacenamiento las operaciones de datos para replicar datos en una primera localizacion en el segundo dispositivo de almacenamiento; medios para realizar una operacion de almacenamiento en los datos replicados en el segundo dispositivo de almacenamiento para copiar los datos replicados en una segunda localizacion; y medios para asociar la copia de los datos replicados a la indicacion de tiempo asociada al tiempo de sistema de origen del estado bueno conocido de la aplicacion informatica.
En ciertas realizaciones, se desvela un metodo para monitorizar una aplicacion informatica para realizar replication de datos en una red informatica. El metodo comprende: detectar operaciones de datos enviadas desde una aplicacion informatica a un sistema de ficheros en un ordenador de origen, las operaciones de datos operativas para escribir datos en un primer dispositivo de almacenamiento; rellenar un primer fichero de registro con entradas de datos indicativas de las operaciones de datos; detectar un estado bueno conocido de la aplicacion informatica; inactivar, en el estado bueno conocido de la aplicacion informatica, el envio de las operaciones de datos al sistema de ficheros; e insertar en el primer fichero de registro un marcador que incluye informacion de tiempo que identifica un tiempo del estado bueno conocido de la aplicacion informatica.
En ciertas realizaciones adicionales, la inactivation del metodo anteriormente descrito se realiza a intervalos periodicos. Por ejemplo, el metodo puede incluir adicionalmente recibir entrada de usuario para seleccionar los intervalos periodicos y/o los intervalos periodicos pueden seleccionarse automaticamente. Por ejemplo, una frecuencia de los intervalos periodicos puede basarse al menos en parte en: un tipo de datos asociados a la aplicacion informatica, una tasa de fallo media de al menos un ordenador en la red informatica, una carga de al menos un ordenador en la red informatica, una disponibilidad de al menos un ordenador en la red informatica, combinaciones de los mismos o similares.
En ciertas realizaciones, se desvela un sistema para generar datos de aplicacion para uso en un entorno de replicacion de datos. El sistema comprende un modulo de monitor configurado para monitorizar operaciones de escritura de datos de una aplicacion informatica y para generar primeras entradas de registro basandose en las operaciones de escritura de datos, estando configurado adicionalmente el modulo de monitor para inactivar o almacenar en memoria intermedia operaciones de escritura de datos adicionales en un estado bueno conocido de la aplicacion informatica y para generar una segunda entrada de registro que tiene una indicacion de tiempo indicativa de un tiempo del estado bueno conocido de la aplicacion informatica. El sistema comprende tambien al menos un fichero de registro en comunicacion con el modulo de monitor y configurado para almacenar la primera y segunda entradas de registro.
En ciertas realizaciones, se desvela un sistema para generar datos de aplicacion para uso en un entorno de replicacion de datos. El sistema comprende: medios para detectar operaciones de datos enviadas desde una aplicacion informatica a un sistema de ficheros, las operaciones de datos operativas para modificar datos almacenados en un primer dispositivo de almacenamiento; medios para almacenar entradas de datos indicativas de las operaciones de datos; medios para inactivar, en un estado bueno conocido de la aplicacion informatica, el envio de operaciones de datos adicionales al sistema de ficheros; y medios para registrar una indicacion de tiempo que identifica un tiempo del estado bueno conocido de la aplicacion informatica.
En ciertas realizaciones, se desvela un metodo para copiar datos generados en un sistema de origen en una red informatica. El metodo comprende: procesar, con una o mas rutinas, al menos un fichero de registro que tiene una pluralidad de entradas de registro indicativas de operaciones generadas mediante una aplicacion informatica que se ejecuta en un sistema de origen, dirigiendose las operaciones a datos en un dispositivo de almacenamiento de
5
10
15
20
25
30
35
40
45
50
55
60
65
origen; reproducir, con la una o mas rutinas, las operaciones en un dispositivo de almacenamiento de destino para replicar datos espedficos de la aplicacion en el dispositivo de almacenamiento de destino; suspender la reproduccion cuando la una o mas rutinas encuentran un marcador de punto de coherencia en el al menos un fichero de registro, siendo indicativo el marcador de punto de coherencia de un estado bueno conocido de la aplicacion informatica; y realizar una operacion de almacenamiento en los datos replicados cuando los datos replicados representan el estado bueno conocido de la aplicacion informatica.
En ciertas realizaciones, se desvela un sistema de destino para realizar replicacion de datos en una red informatica. El sistema de destino comprende al menos un fichero de registro de replicacion y un modulo de replicacion. El al menos un fichero de registro de replicacion comprende adicionalmente: (i) una pluralidad de entradas de registro indicativas de operaciones de datos generadas mediante una aplicacion informatica para ejecucion en un dispositivo de almacenamiento de origen y (ii) al menos un marcador de punto de coherencia indicativo de un estado bueno conocido de la aplicacion informatica. El modulo de replicacion esta configurado para replicar datos en un dispositivo de almacenamiento de destino y comprende adicionalmente un agente de replicacion y al menos un proceso configurado para cruzar la pluralidad de entradas de registro en el al menos un fichero de registro de replicacion y para copiar las entradas de registro para ejecutar las operaciones de datos en el dispositivo de almacenamiento de destino, estando configurado adicionalmente el al menos un hilo para notificar al agente de replicacion cuando encuentra el al menos un marcador de punto de coherencia.
En ciertas realizaciones, se desvela un sistema para replicar datos generados en un dispositivo de origen en una red informatica. El sistema comprende: medios para almacenar una pluralidad de entradas de registro indicativas de operaciones de modificacion generadas mediante una aplicacion informatica que se ejecuta en un sistema de origen, estando dirigidas las operaciones de modificacion a datos en un dispositivo de almacenamiento de origen; medios para cruzar los medios de almacenamiento y para reproducir las operaciones de modificacion para replicar datos especificos de aplicacion en un dispositivo de almacenamiento de destino; medios para suspender la replicacion cuando los medios de cruzamiento y replicacion encuentran un marcador de punto de coherencia en los medios para almacenar, siendo indicativo el marcador de punto de coherencia de un estado bueno conocido de la aplicacion informatica; y medios para realizar una operacion de almacenamiento en los datos replicados cuando los datos replicados representan el estado bueno conocido de la aplicacion informatica.
En ciertas realizaciones, se desvela un metodo para manejar datos a copiarse en una red informatica. El metodo comprende: monitorizar operaciones asociadas a una unica aplicacion que se ejecuta en un sistema de origen; identificar desde las operaciones una pluralidad de operaciones de modificacion de datos operativas para escribir datos en un primer dispositivo de almacenamiento; almacenar en memoria intermedia una copia de cada una de la pluralidad de operaciones de modificacion de datos; reenviar las copias de la pluralidad de operaciones de modificacion de datos a un sistema de destino a copiarse en un segundo dispositivo de almacenamiento sin escribir en primer lugar las copias de la pluralidad de operaciones de modificacion de datos en el primer dispositivo de almacenamiento; y reenviar la pluralidad de operaciones de modificacion de datos a un sistema de ficheros asociado al primer dispositivo de almacenamiento.
Se desvela un sistema para seleccionar datos de aplicacion a copiarse en una red informatica. El sistema comprende una memoria intermedia, al menos una aplicacion informatica configurada para generar operaciones asociadas a datos en un primer dispositivo de almacenamiento, y un modulo de filtro dispuesto entre la al menos una aplicacion informatica y el primer dispositivo de almacenamiento, el modulo de filtro configurado para identificar desde las operaciones una pluralidad de operaciones de modificacion de datos. El sistema comprende adicionalmente un componente redirector de red en comunicacion con el modulo de filtro y configurado para almacenar temporalmente una copia de las operaciones de modificacion de datos en la memoria intermedia mientras permite que las operaciones de modificacion de datos pasen a traves del primer dispositivo de almacenamiento, estando configurado adicionalmente el componente redirector de red para transmitir las copias de la pluralidad de operaciones de modificacion de datos en un sistema de destino, a copiarse en un segundo dispositivo de almacenamiento, sin escribir en primer lugar las copias de la pluralidad de operaciones de modificacion de datos en el primer dispositivo de almacenamiento.
Se desvela un sistema para obtener datos para replicacion en un dispositivo de almacenamiento en red. El sistema comprende medios para generar operaciones asociadas a datos en un primer dispositivo de almacenamiento y medios para identificar desde las operaciones una pluralidad de operaciones de modificacion de datos, estando dispuestos los medios para identificar entre los medios para generar y el primer dispositivo de almacenamiento. El sistema comprende adicionalmente medios para almacenar temporalmente una copia de las operaciones de modificacion de datos mientras permite que las operaciones de modificacion de datos pasen a traves del primer dispositivo de almacenamiento, estando configurados adicionalmente los medios para almacenar para transmitir las copias de la pluralidad de operaciones de modificacion de datos en un sistema de destino, a replicarse en un segundo dispositivo de almacenamiento, sin escribir las copias de la pluralidad de operaciones de modificacion de datos en el primer dispositivo de almacenamiento.
Se desvela un metodo para realizar traduccion de nombre de ruta en un sistema de replicacion de datos. El metodo comprende: recibir una entrada de registro, a replicarse en un sistema de destino, que identifica una operacion de
5
10
15
20
25
30
35
40
45
50
55
60
65
gestion de datos y un inodo asociado a una localizacion de sistema de origen que corresponde a la operacion de gestion de datos, siendo el inodo uno de una pluralidad de inodos en el sistema de origen; acceder a una base de datos que comprende datos de ruta que asocian cada uno de la pluralidad de inodos a un nombre corto y un inodo padre; construir a partir de los datos de ruta un nombre de ruta absoluta en el sistema de destino que corresponde al inodo de la entrada de registro; y reenviar la entrada de registro y el nombre de ruta absoluta al sistema de destino.
Se desvela un sistema para realizar traduccion de nombre de ruta durante replicacion de datos en una red informatica. El sistema comprende una base de datos, al menos una entrada de registro y un proceso de base de datos. En ciertas realizaciones, la base de datos comprende datos de ruta que asocian cada uno de una pluralidad de inodos en un sistema de origen a un nombre corto y un inodo padre. La al menos una entrada de registro identifica una operacion de gestion de datos y al menos un inodo correspondiente de la pluralidad de inodos. El proceso de la base de datos esta configurado para recibir la al menos una entrada de registro y para acceder a la base de datos para traducir el al menos un inodo correspondiente a un nombre de ruta que identifica una localizacion en un sistema de destino que corresponde a la operacion de gestion de datos.
Se desvela un sistema para realizar la traduccion desde un inodo a un nombre de ruta en una red de almacenamiento de datos. El sistema comprende: medios para almacenar datos de ruta que asocia cada uno de una pluralidad de inodos en un sistema de origen a un nombre corto y un inodo padre; medios para identificar operaciones de gestion de datos y al menos uno de la pluralidad de inodos que corresponde a cada operacion de gestion de datos; y medios para acceder a los medios de almacenamiento para traducir el al menos un inodo a un nombre de ruta que identifica una localizacion en un sistema de destino que corresponde a cada operacion de gestion de datos.
Se desvela un metodo para transmitir datos desde un ordenador de origen a un ordenador de destino en un sistema de replicacion de datos. El metodo comprende: monitorizar solicitudes de sistema de ficheros de una aplicacion en un ordenador de origen; identificar, desde las solicitudes de sistema de ficheros, operaciones de gestion de datos dirigidas a datos en un primer dispositivo de almacenamiento; y almacenar en una memoria intermedia una pluralidad de entradas de registro que representan las operaciones de gestion de datos. El metodo comprende adicionalmente: procesar secuencialmente cada una de la pluralidad de entradas de registro; transmitir cada entrada de registro procesada en un ordenador de destino; reproducir cada entrada de registro procesada para replicar los datos en el primer dispositivo de almacenamiento en un segundo dispositivo de almacenamiento; y cuando dicho procesamiento secuencialmente cae por debajo de una tasa predeterminada, realizar intercambio de disco de entradas de registro mas recientemente recibidas desde la memoria intermedia a una memoria.
Se desvela un sistema para transmitir datos a replicarse en una red informatica. El sistema comprende una cola, una memoria intermedia y un modulo de monitor configurado para monitorizar solicitudes de sistema de ficheros generadas mediante una aplicacion informatica, estando configurado adicionalmente el modulo de monitor para rellenar la cola con entradas de registro indicativas de solicitudes de sistema de ficheros que comprenden operaciones de gestion de datos a ejecutarse en un primer dispositivo de almacenamiento. El sistema comprende adicionalmente un primer hilo configurado para transferir las entradas de registro desde la cola a la memoria intermedia y un segundo hilo configurado para recuperar las entradas de registro desde la memoria intermedia, procesar las entradas de registro, y reenviar las entradas de registro procesadas a un sistema de destino para reproducir las entradas de registro para replicar datos en un segundo dispositivo de almacenamiento. En ciertas realizaciones, el modulo de monitor esta configurado adicionalmente para acelerar la aplicacion informatica cuando una tasa a la que el segundo hilo procesa las entradas de registro esta por debajo de una tasa predeterminada.
Se desvela un sistema para transmitir datos a replicarse en un entorno de red. El sistema comprende: medios para monitorizar solicitudes de sistema de ficheros de una aplicacion en un ordenador de origen y para identificar, desde las solicitudes de sistema de ficheros, operaciones de gestion de datos dirigidas a datos en un primer dispositivo de almacenamiento; medios para almacenar una pluralidad de entradas de registro que representan las operaciones de gestion de datos; medios para procesar secuencialmente cada una de la pluralidad de entradas de registro; medios para transmitir cada entrada de registro procesada a un ordenador de destino; medios para reproducir cada entrada de registro procesada para replicar los datos en el primer dispositivo de almacenamiento en un segundo dispositivo de almacenamiento; y medios para realizar intercambio de disco de las entradas de registro mas recientemente recibidas desde los medios de almacenamiento a una memoria cuando dicho procesamiento secuencialmente cae por debajo de una tasa predeterminada.
Se desvela un sistema para facilitar la sincronizacion de datos que sigue a un fallo de red en un entorno de replicacion de datos. El sistema comprende: una pluralidad de entradas de registro que representan operaciones de gestion de datos generadas mediante una aplicacion para datos en un primer dispositivo de almacenamiento, incluyendo cada una de la pluralidad de entradas de registro un identificador unico; una memoria cache configurada para almacenar una porcion de la pluralidad de entradas de registro de manera que cuando un tamano de la porcion de entradas de registro supera un umbral de almacenamiento de la memoria cache, la memoria cache borra una o mas de las entradas de registro menos recientemente recibidas hasta que el tamano sea menor que el umbral de almacenamiento; al menos un ordenador de destino configurado para procesar la pluralidad de entradas de registro para replicar datos en un segundo dispositivo de almacenamiento, estando configurado adicionalmente el al menos
5
10
15
20
25
30
35
40
45
50
55
60
65
un ordenador de destino para registrar el identificador unico de una entrada de registro procesada mas recientemente; y al menos una rutina de replicacion configurada para recuperar secuencialmente cada una de la pluralidad de entradas de registro desde la memoria cache y para reenviar cada entrada de registro para el al menos un ordenador de destino sin esperar un acuse de recibo desde el al menos un ordenador de destino.
Se desvela un metodo para realizar replicacion de datos en una red informatica. El metodo comprende: almacenar entradas de registro en una memoria primero en entrar primero en salir, en el que cada una de las entradas de registro incluye una identificacion unica y representa una operacion de gestion de datos generada mediante una aplicacion para datos en un primer dispositivo de almacenamiento; mantener en la memoria primero en entrar primero en salir un historial de las entradas de registro almacenadas en la misma de manera que la cantidad de almacenamiento ocupada por el historial de las entradas de registro es menor que un umbral de almacenamiento; transmitir una copia de cada entrada de registro desde la memoria primero en entrar primero en salir para el al menos un ordenador de destino; reproducir las copias de las entradas de registro recibidas mediante el al menos un ordenador de destino para replicar las operaciones de gestion de datos en datos en un segundo dispositivo de almacenamiento; y almacenar en el al menos un ordenador de destino la identificacion unica de la entrada de registro mas recientemente reproducida.
Se desvela un sistema para facilitar la sincronizacion de datos que sigue a un fallo de red en un entorno de replicacion de datos. El sistema comprende: medios para representar operaciones de gestion de datos generadas mediante una aplicacion para datos en un primer dispositivo de almacenamiento, incluyendo cada uno de los medios para representar un identificador unico; medios para almacenar una porcion de los medios para representar de manera que cuando un tamano de la porcion de los medios para representar alcanza un umbral de almacenamiento de los medios para almacenar, los medios para almacenar borran uno o mas de los medios para representar mas antiguos hasta que el tamano sea menor que el umbral de almacenamiento; medios para procesar los medios para representar para replicar datos en un segundo dispositivo de almacenamiento, estando configurados adicionalmente los medios para procesar para registrar el identificador unico de unos medios para representar procesados mas recientemente; y medios para recuperar secuencialmente entradas de registro desde los medios para almacenar, estando configurados adicionalmente los medios para recuperar para reenviar cada medio para representar a los medios para procesar sin esperar un acuse de recibo desde los medios para procesar.
Se desvela un sistema para identificar y replicar datos de aplicacion de software representativos de un estado bueno conocido. El sistema comprende un agente de datos asociado a una aplicacion de software que identifica datos a replicarse indicativos del estado bueno conocido, en el que los datos representativos del estado bueno conocido se indican mediante un punto de coherencia, o marcador, en los datos. El sistema incluye adicionalmente un modulo de replicacion que copia los datos representativos del estado bueno conocido en un dispositivo de almacenamiento basandose en el punto de coherencia.
Se proporcionan un sistema y metodo para crear puntos de coherencia en un volumen de replicacion, en el cual el volumen de replicacion puede crearse mediante procesos de replicacion especificos de la aplicacion. En otras palabras, el usuario puede establecer una politica de almacenamiento que identifica operaciones de almacenamiento que pueden realizarse usando diferentes tipos de copias de replicacion. En algunos casos, puede no ser ventajoso replicar un volumen entero. Por ejemplo, los datos visibles pueden ser los unicos datos que se repliquen (por ejemplo, datos de SQL). Por lo tanto, una politica de almacenamiento especifico de la aplicacion asociada a replicacion puede crearse en combinacion con el registro diario (por ejemplo, todos los registros de sistema de ficheros) que registran operaciones para los fines de generar replicacion especifica de la aplicacion.
Para fines de resumir la divulgacion, se han descrito en el presente documento ciertos aspectos, ventajas y caracteristicas novedosas de las invenciones. Se ha de entender que no necesariamente todas tales ventajas pueden conseguirse de acuerdo con cualquier realizacion particular de la invencion. Por lo tanto, la invencion puede realizarse o llevarse a cabo de una manera que consiga u optimice una ventaja o grupos de ventajas como se conocen en el presente documento sin conseguir necesariamente otras ventajas como puede conocerse o sugerirse en el presente documento.
Breve descripcion de los dibujos
La Figura 1 ilustra un diagrama de bloques de un sistema de replicacion de acuerdo con ciertas realizaciones de la invencion.
La Figura 2A ilustra un diagrama de bloques de una realizacion ejemplar de un sistema de origen del sistema de replicacion de la Figura 1.
La Figura 2B ilustra un diagrama de bloques de otra realizacion de un sistema de origen usable con el sistema de replicacion de la Figura 1 y que tiene un modulo de redirector de red.
La Figura 3 ilustra un diagrama de bloques de una realizacion ejemplar de un sistema de destino del sistema de replicacion de la Figura 1.
La Figura 4 ilustra un diagrama de bloques de detalles adicionales de una realizacion ejemplar del sistema de replicacion de la Figura 1.
5
10
15
20
25
30
35
40
45
50
55
60
65
La Figura 5 ilustra diversos campos de una realizacion ejemplar de una entrada de registro usable mediante los sistemas de replicacion de las Figuras 1 y 4.
La Figura 6 ilustra un diagrama de bloques de una realizacion ejemplar del sistema de replicacion de la Figura 1 que tiene un modulo de gestor de almacenamiento.
La Figura 7 ilustra un diagrama de flujo de un proceso de instalacion ejemplar usable mediante el sistema de replicacion de la Figura 4.
La Figura 8 ilustra un diagrama de flujo de una realizacion ejemplar de un proceso de replicacion usable mediante el sistema de replicacion de la Figura 4.
La Figura 9 ilustra un diagrama de bloques de otra realizacion de un sistema de replicacion que tiene multiples modulos de replicacion y dispositivos de almacenamiento de destino.
La Figura 10 ilustra un diagrama de bloques de una configuracion de cache de desplazamiento ejemplar usable con realizaciones de un sistema de replicacion.
La Figura 11 ilustra un diagrama de bloques de un sistema de traduccion de nombre de ruta ejemplar usable con realizaciones de un sistema de replicacion.
La Figura 12 ilustra una base de datos de traduccion de nombre de ruta ejemplar usable con el sistema de traduccion de nombre de ruta de la Figura 11.
La Figura 13 ilustra un diagrama de flujo de un proceso de traduccion de nombre de ruta ejemplar ejecutable mediante el sistema de traduccion de nombre de ruta de la Figura 12.
Las Figuras 14A y 14B ilustran diagramas de bloques de porciones de interfaz de usuario ejemplares usables con realizaciones de un sistema de replicacion.
Descripcion detallada de las realizaciones preferidas
Como se observara a partir de la divulgacion del presente documento, se proporcionan ciertas realizaciones de sistemas y metodos para replicacion de datos inteligente. En particular, las realizaciones de la invencion incluyen la replicacion de datos especificos de aplicacion desde un sistema de origen a un sistema de destino. Por ejemplo, uno o mas modulos que se ejecutan en el sistema de origen pueden monitorizar operaciones de gestion de datos (tales como operaciones de modificacion de datos) de una aplicacion especifica y generar entradas de registro indicativas de las operaciones. Las entradas de registro pueden a continuation copiarse en y procesarse, o reproducirse, mediante un sistema de destino para replicar datos en uno o mas volumenes de replicacion, siendo los datos replicados una copia de los datos de aplicacion almacenados en un dispositivo de almacenamiento de origen.
En ciertas realizaciones, los sistemas y metodos de replicacion desvelados en el presente documento estan configurados adicionalmente para identificar un estado de la aplicacion bueno o recuperable conocido. Por ejemplo, los sistemas y metodos de replicacion pueden determinar puntos apropiados dentro de ciertos datos de aplicacion en los que se recopila cierta information para restaurar fiablemente la aplicacion como de un punto en el tiempo particular. En ciertos estados buenos conocidos, el sistema de replicacion inactiva la aplicacion y/o genera un marcador de punto de coherencia que tiene informacion de tiempo, tal como, por ejemplo, una indication de tiempo, que indica el tiempo de sistema de origen del estado bueno conocido de la aplicacion.
Cuando se replican los datos, el sistema de destino utiliza los marcadores de puntos de coherencia para identificar cuando los datos replicados representan el estado bueno conocido de la aplicacion. El sistema de destino puede realizar adicionalmente una o mas operaciones de gestion de datos, tales como, por ejemplo, operaciones de almacenamiento (por ejemplo, instantanea, respaldo), operaciones de busqueda, clasificacion de datos, combinaciones de las mismas o similares en los datos replicados en ciertos puntos de coherencia. Realizar operaciones de gestion de datos en los datos replicados permite el procesamiento de copias de datos de aplicacion sin impactar significativamente en los recursos del sistema de origen. Adicionalmente, cuando se copian los datos replicados en puntos de coherencia, los datos copiados representan presumiblemente un estado bueno conocido de la aplicacion.
Usando la informacion de tiempo de una o mas entradas de punto de coherencia, el sistema de destino puede asociar adicionalmente de manera logica los datos copiados (por ejemplo, una instantanea de los datos replicados) al tiempo de sistema de origen del estado bueno conocido de la aplicacion. Es decir, incluso aunque la copia de los datos replicados tenga lugar en algun punto despues de la replicacion de los datos de production (sistema de origen), los datos copiados estan asociados al (anterior) tiempo de sistema de origen de la entrada de punto de coherencia (por ejemplo, el tiempo de sistema de origen del estado bueno conocido de la aplicacion). Como resultado, la copia de los datos replicados, que esta asociada de manera logica al tiempo de sistema de origen del estado bueno conocido de la aplicacion, parece como si la copia se realizara directamente en los datos de produccion (sistema de origen). En ciertas realizaciones, este metodo permite ventajosamente procesamiento adicional de los datos copiados (por ejemplo, procesamiento de instantaneas de los datos replicados) sin tocar datos del sistema de origen.
Las caracteristicas de los sistemas y metodos se describiran ahora con referencia a los dibujos anteriormente resumidos. A lo largo de todos los dibujos, se vuelven a usar numeros de referencia para indicar la correspondencia entre los elementos referenciados. Los dibujos, descripciones asociadas e implementation especifica se proporcionan para ilustrar las realizaciones de la invencion y no para limitar el alcance de la divulgacion.
5
10
15
20
25
30
35
40
45
50
55
60
65
La Figura 1 ilustra un diagrama de bloques de un sistema de replicacion 100 de acuerdo con ciertas realizaciones de la invencion. Como se muestra, el sistema de replicacion 100 comprende un sistema de origen 102 que puede comunicar con un sistema de destino 104 enviando y/o recibiendo datos a traves de una red 106. Por ejemplo, en ciertas realizaciones, el sistema de destino 104 recibe y/o almacena una copia replicada de al menos una porcion de datos, tales como datos especificos de aplicacion, asociados al sistema de origen 102.
La red ilustrada 106 comprende ventajosamente cualquier medio para comunicar datos entre dos o mas sistemas o componentes. En ciertas realizaciones, la red 106 comprende una red informatica. Por ejemplo, la red 106 puede comprender una red publica tal como internet, red privada virtual (VPN), red basada en anillo con paso de testigo o TCP/IP, red de area extensa (WAN), red de area local (LAN), una red de intranet, un enlace punto a punto, una red inalambrica, red celular, sistema de transmision de datos inalambrico, sistema de cable de dos sentidos, red de quiosco interactiva, red por satelite, red de banda ancha, red de banda base, combinaciones de las mismas o similares. En las realizaciones en las que el sistema de origen 102 y el sistema de destino 104 son parte del mismo dispositivo informatico, la red 106 puede representar un conector de comunicaciones u otra ruta o mecanismo de transferencia de datos interno adecuados.
Como se muestra, el sistema de origen 102 comprende una o mas aplicaciones 108 que residen en y/o que se ejecutan mediante un dispositivo informatico. Por ejemplo, las aplicaciones 108 pueden comprender aplicaciones de software que interactuan con un usuario para procesar datos y pueden incluir, por ejemplo, aplicaciones de base de datos (por ejemplo, aplicaciones de SQL), procesadores de textos, hojas de calculo, aplicaciones financieras, aplicaciones de gestion, aplicaciones de comercio electronico, exploradores, combinaciones de los mismos y similares. Por ejemplo, en ciertas realizaciones, las aplicaciones 108 pueden comprender una o mas de las siguientes: MICROSOFT EXCHANGE, MICROSOFT SHAREPOINT, MICROSOFT SQL SERVER, ORACLE, MICROSOFT WORD y LOTUS NOTES.
El sistema de origen 102 comprende adicionalmente uno o mas procesadores, tal como controladores de filtro 110, que interactuan con datos (por ejemplo, datos de produccion) asociados a las aplicaciones 108. Por ejemplo, el controlador de filtro 110 puede comprender un controlador de filtro de sistema de ficheros, un controlador de sistema operativo, un programa de filtrado, un programa de trampa de datos, una aplicacion, un modulo de la aplicacion 108, una interfaz de programacion de aplicacion ("API"), u otro modulo o proceso de software similar que, entre otras cosas, monitoriza y/o intercepta solicitudes de aplicacion particulares dirigidas a un sistema de ficheros, otro controlador de filtro de sistema de ficheros, un almacenamiento conectado de red ("NAS"), una red de area de almacenamiento ("SAN"), almacenamiento masivo y/u otra memoria o datos en bruto. En las mismas realizaciones, el controlador de filtro 110 puede residir en la pila E/S de la aplicacion 108 y puede interceptar, analizar y/o copiar ciertos datos que viajan desde la aplicacion 108 a un sistema de ficheros.
En ciertas realizaciones, el controlador de filtro 110 puede interceptar operaciones de modification de datos que incluyen, cambios, actualizaciones y nueva information (por ejemplo, escrituras de datos) con respecto a la aplicacion o aplicaciones 108 de interes. Por ejemplo, el controlador de filtro 110 puede localizar, monitorizar y/o procesar uno o mas de lo siguiente con respecto a una aplicacion particular 108, tipo de aplicacion o grupo de aplicaciones: operaciones de gestion de datos (por ejemplo, operaciones de escritura de datos, modificaciones de atributos de ficheros), registros o registros diarios (por ejemplo, registro diario de cambio de NTFS), ficheros de configuration, ajustes de fichero, ficheros de control, otros ficheros usados mediante la aplicacion 108, combinaciones de los mismos o similares. En ciertas realizaciones, tales datos pueden recopilarse tambien desde ficheros a traves de multiples sistemas de almacenamiento en el sistema de origen 102. Adicionalmente, el controlador de filtro 110 puede estar configurado para monitorizar cambios a ficheros particulares, tales como ficheros identificados como que estan asociados a datos de las aplicaciones 108.
En ciertas realizaciones, pueden desplegarse multiples controladores de filtro 110 en un sistema informatico, estando especializado cada controlador de filtro a datos de una aplicacion particular 108. En tales realizaciones, no toda la informacion asociada al sistema cliente 102 puede capturarse mediante los controladores de filtro 110 y, por lo tanto, el impacto en el rendimiento del sistema puede reducirse. En otras realizaciones, el controlador de filtro 110 puede ser adecuado para uso con multiples tipos de aplicacion y/o puede ser adaptable o configurable para uso con multiples aplicaciones 108. Por ejemplo, una o mas instancias de programas de filtrado personalizados o de forma particular pueden instanciarse basandose en detalles especificos de la aplicacion u otras necesidades o preferencias.
El sistema de origen ilustrado 102 comprende adicionalmente un dispositivo de almacenamiento de origen 112. El dispositivo de almacenamiento de origen 112 puede incluir cualquier tipo de medio que pueda almacenar datos. Por ejemplo, el dispositivo de almacenamiento de origen 112 puede comprender almacenamiento magnetico (tal como un disco o una unidad de cinta) u otro tipo de almacenamiento masivo. En ciertas realizaciones, el dispositivo de almacenamiento de origen 112 puede ser interno y/o externo (por ejemplo, remoto a) al dispositivo o dispositivos informaticos que tienen las aplicaciones 108 y los controladores de filtro 110.
Como se ilustra adicionalmente en la Figura 1, el sistema de destino 104 comprende un modulo de replicacion 114 y un dispositivo de almacenamiento de destino 116. En ciertas realizaciones, el modulo de replicacion 114 esta
5
10
15
20
25
30
35
40
45
50
55
60
65
configurado para monitorizar y/o gestionar el copiado de datos desde el sistema de origen 102 al sistema de destino 104, tal como datos recuperados mediante los controladores de filtro 110. En otras realizaciones mas, el modulo de replicacion 114 es un servidor "tonto" o terminal que recibe y ejecuta instrucciones desde el sistema de origen 102.
El dispositivo de almacenamiento de destino 116 puede incluir cualquier tipo de medio que pueda almacenar datos, tales como datos de replicacion enviados desde el sistema de origen 102. Por ejemplo, el dispositivo de almacenamiento de destino 116 puede comprender almacenamiento magnetico (tal como un disco o una unidad de cinta) u otro tipo de almacenamiento masivo. En ciertas realizaciones, el dispositivo de almacenamiento de destino 116 puede ser interno y/o externo al dispositivo o dispositivos informaticos que tienen el modulo de replicacion 114.
En ciertas realizaciones, el dispositivo de almacenamiento de origen 112 y/o el dispositivo de almacenamiento de destino 116 pueden implementarse como uno o mas "volumenes" de almacenamiento que incluyen discos de almacenamiento fisicos que definen una disposition logica global que espacio de almacenamiento. Por ejemplo, los discos en un volumen particular pueden organizarse como uno o mas grupos de conjuntos redundantes de discos independientes (o de bajo coste) (RAID). En ciertas realizaciones, cualquiera o ambos de los dispositivos de almacenamiento 112, 116 pueden incluir multiples dispositivos de almacenamiento del mismo o diferente medio.
La Figura 2A ilustra un diagrama de bloques de una realization ejemplar del sistema de origen 102 de la Figura 1. En particular, el sistema de origen 102 comprende un ordenador cliente 230 en el que reside y/o se ejecuta la aplicacion o aplicaciones 108 y el controlador o controladores de filtro 110. En ciertas realizaciones, el ordenador cliente 230 comprende cualquier dispositivo informatico que pueda procesar datos e incluye, por ejemplo, un ordenador servidor, una estacion de trabajo, un ordenador personal, un telefono celular, un dispositivo informatico portatil, un dispositivo informatico de mano, un asistente digital personal (PDA) o similares.
El ordenador cliente ilustrado 230 comprende adicionalmente un sistema de ficheros 234 para organizar ficheros y directorios accesibles mediante el ordenador cliente 230. El sistema de ficheros 234 comprende una estructura de datos usable para rastrear una coleccion de ficheros y/o directorios almacenados en el dispositivo de almacenamiento de origen 112. El sistema de ficheros 234 puede incluir, por ejemplo, un sistema de ficheros local, un sistema de ficheros de red, un servidor de ficheros, un programa de gestion o similares, o puede incluir multiples sistemas de ficheros accesibles mediante un sistema operativo. Por ejemplo, en las realizaciones en las que el dispositivo de almacenamiento 112 esta asociado a multiples volumenes, cada volumen puede estar asociado a su propio sistema de ficheros 234, o un unico sistema de ficheros 234 puede extenderse a traves de los multiples volumenes.
El sistema de ficheros 234 comprende un sistema de ficheros "escribir en el lugar", un ejemplo del cual es el sistema "fichero rapido". En un sistema de ficheros escribir en el lugar, las localizaciones de las estructuras de datos, tales como bloques de datos, y otra information descriptiva en el disco estan normalmente fijadas. Ciertas estructuras de datos se usan para almacenar informacion (por ejemplo, metadatos) acerca de un fichero, mientras que los bloques de datos son estructuras usadas para almacenar los datos reales para el fichero. La informacion contenida en ciertas estructuras de datos puede incluir, por ejemplo, propiedad del fichero, permiso de acceso para el fichero, tamano del fichero, tipo de fichero, referencias a localizaciones en disco de los bloques de datos para el fichero, combinaciones de los mismos o similares. Las referencias a las localizaciones de los datos de fichero pueden proporcionarse mediante punteros, que pueden hacer referencia adicionalmente a bloques indirectos que, a su vez, hacen referencia a los bloques de datos, dependiendo de la cantidad de datos en el fichero. En ciertas realizaciones, se realizan cambios "en el lugar" de acuerdo con el sistema de ficheros de escritura en el lugar. Si una actualization a un fichero amplia la cantidad de datos para el fichero, se asigna un bloque de datos adicional y se actualizan los ficheros de gestion apropiados para hacer referencia a ese bloque de datos.
El ordenador cliente ilustrado 230 comprende tambien uno o mas agentes de datos 236. El agente de datos 236 comprende un modulo responsable de realizar tareas de datos y/o almacenamiento relacionadas con el ordenador cliente 230. Por ejemplo, el agente de datos 236 puede gestionar y/o coordinar la compilation de y/o transferencia de datos de replicacion desde el sistema de origen 102. El agente de datos 236 puede proporcionar archivo, migration y/o recuperation de los datos del ordenador cliente.
El ordenador cliente 230 comprende una pluralidad de agentes de datos 236, cada uno de los cuales realiza operaciones de gestion de datos relacionadas con datos asociados a cada aplicacion 108. El agente de datos 236 puede tener conocimiento de los diversos ficheros, carpetas, ficheros de registro y/o recursos de sistema que se ven impactados por una aplicacion particular 108. Por ejemplo, el agente de datos 236 puede programarse para detectar solicitudes de gestion de datos mediante una aplicacion particular 108 y determinar que ficheros, carpetas y/o recursos de sistema estan asociados a las solicitudes de gestion de datos.
Diferentes agentes de datos individuales 236 pueden designarse para manejar datos de MICROSOFT EXCHANGE, datos de LOTUS NOTES, datos de sistema de ficheros de MICROSOFT WINDOWS 2000, datos de OBJETOS DE DIRECTORIO ACTIVO DE MICROSOFT, y otros tipos de datos. Uno o mas agentes de datos 236 pueden configurarse para respaldar, migrar y/o recuperar datos especificos de aplicacion.
5
10
15
20
25
30
35
40
45
50
55
60
65
Por ejemplo, el sistema de origen 102 comprende un servidor MICROSOFT EXCHANGE 2000, el sistema de origen 102 puede usar multiples agentes de datos 236 para realizar operaciones de almacenamiento (por ejemplo, operaciones de respaldo, migracion, replicacion o restauracion). Por ejemplo, un agente de datos de buzon de correo de MICROSOFT EXCHANGE 2000 puede usarse para replicar datos de buzon de correo de EXCHANGE 2000; un agente de datos de base de datos MICROSOFT EXCHANGE 2000 puede usarse para replicar datos de base de datos EXCHANGE 2000; un agente de datos de carpeta publica MICROSOFT EXCHANGE 2000 puede usarse para replicar datos de carpeta publica EXCHANGE 2000; y un agente de datos de sistema de ficheros MICROSOFT WINDOWS 2000 puede usarse para replicar datos de sistema de ficheros.
Multiples agentes de datos 236 pueden tratarse como agentes de datos separados incluso aunque residan en el mismo ordenador cliente 230. Los agentes de datos separados pueden combinarse para formar un agente de datos virtual para realizar operaciones de almacenamiento relacionadas con una aplicacion especifica. Por lo tanto, los cuatro agentes de datos separados del ejemplo anterior pueden combinarse como un agente de datos virtual adecuado para realizar operaciones de almacenamiento relacionadas con datos de MICROSOFT EXCHANGE 2000.
El agente de datos 236 esta configurado para realizar operaciones de gestion de datos de acuerdo con una o mas "politicas de almacenamiento" u otras preferencias. Una politica de almacenamiento puede incluir una estructura de datos u otra informacion que tiene un conjunto de preferencias y otros criterios de almacenamiento para realizar una operacion de almacenamiento. Las preferencias y criterios de almacenamiento pueden incluir, pero sin limitation, informacion con respecto a localizaciones de almacenamiento, relaciones entre componentes de sistema, trayectorias de red, politicas de retention, caracteristicas de datos, requisitos de compresion o encriptacion, componentes de sistema preferidos, combinaciones de los mismos o similares.
Uno o mas agentes de datos 236 estan configurados para realizar un proceso de "semilla" inicial de un proceso de replicacion. Por ejemplo, antes de (o concurrentemente con) la replicacion de datos usando uno o mas controladores de filtro 110, el agente de datos 236 puede realizar una exploration del sistema de origen 102 (por ejemplo, el dispositivo de almacenamiento de origen 112). Por ejemplo, el agente de datos 236 puede evaluar las carpetas y/o estructura de directorio del sistema de origen 102 para determinar que carpetas se usan mediante una aplicacion particular 108. El agente de datos 236 puede identificar tambien, disponer y poner en cola datos necesarios de la aplicacion 108 para proporcionar una plataforma apropiada para replicacion Por ejemplo, el agente de datos 236 puede rellenar registro o registros de origen 244 con datos de aplicacion que ya se han escrito en la base de datos de almacenamiento de origen 112.
Cuando el agente de datos 236 se instala inicialmente o se activa en ordenador cliente 230, el agente de datos 236 puede evaluar la aplicacion 108. Por ejemplo, el agente de datos 108 puede determinar la estructura organizacional de la aplicacion, que puede incluir, por ejemplo, informacion de carpeta, de directorio y fichero. La informacion recopilada mediante el agente de datos 236 puede ser suficiente para definir un "conjunto" completo de informacion a replicarse de manera que se identifican datos de linea de base adecuados que representan el estado operacional actual de la aplicacion 108. En algunos casos, este proceso inicial puede requerir la examination e identification de datos relacionados con operaciones de aplicacion que tienen lugar antes de la instalacion del agente de datos 236. El agente de datos 236 puede configurarse tambien para identificar informacion de configuration general y operacional con respecto a la aplicacion 108. El agente de datos 236 puede configurarse para acceder y/o monitorizar ficheros, carpetas, directorios, registros, preferencias particulares y/u otras estructuras de datos similares para informacion a replicar. Toda o una portion de la informacion recopilada mediante el agente de datos 236 puede copiarse a traves del sistema de destino 104 como parte del proceso de semilla inicial o initialization. Despues de que el proceso de semilla esta completo, puede tener lugar la replicacion de datos en una base sustancialmente continua basandose en transferencias de datos que tienen lugar entre la aplicacion o aplicaciones 108 y el dispositivo de almacenamiento de origen 112. El proceso de semilla puede tener lugar sustancialmente de manera concurrente con la ejecucion de la aplicacion o aplicaciones 108. Por ejemplo, las operaciones de datos desde la aplicacion o aplicaciones 108 pueden almacenarse temporalmente en una cola o almacenarse en memoria intermedia hasta que el proceso de semilla, o una porcion del mismo, esta completo.
El agente de datos 236 puede configurarse para evaluar una aplicacion 108, y basandose en ciertos parametros de gestion de sistema y/u otras consideraciones asociadas a la aplicacion 108 (por ejemplo, tamano de datos, frecuencia de la replicacion, preferencias de sistema o de usuario, etc.), el agente de datos 236 puede "mapear" o correlacionar los datos de aplicacion a una o mas localizaciones en el dispositivo de almacenamiento de destino 116. El agente de datos 236 puede comunicar con otros componentes de sistema cuando hace decisiones de correlation. Por ejemplo, el agente de datos 236 puede comunicar con el agente de replicacion 356 y/o un componente de gestor de almacenamiento opcional cuando decide como mapear datos de aplicacion particulares.
Por ejemplo, el agente de datos 236 puede mapear una cierta localization 108 a una localization en el dispositivo de almacenamiento de destino 116, o puede analizar o separar datos de aplicacion para almacenamiento a traves de multiples volumenes del dispositivo de almacenamiento de destino 116 dependiendo de las preferencias u objetivos de gestion de sistema. El analisis de los datos a traves de multiples volumenes puede tener lugar basandose en tipo de aplicacion (ciertas aplicaciones se dispersan a traves de multiples volumenes, tipo de datos, consideraciones temporales (por ejemplo, datos para un periodo de tiempo especificado se almacenan en un volumen particular),
5
10
15
20
25
30
35
40
45
50
55
60
65
consideraciones de tamano (por ejemplo, datos hasta un cierto tamano se almacenan en un volumen), importancia relativa de datos, conservation de espacio de memoria, combinaciones de los mismos o similares. Cualquier criterio de analisis adecuado puede usarse si se desea para facilitar revocation, almacenamiento o gestion de datos de aplicacion.
Como se muestra en la Figura 2A, el ordenador cliente 230 comunica a traves del sistema de ficheros 234 con el dispositivo de almacenamiento de origen 112, que incluye adicionalmente una base de datos 240 y registros de base de datos 242. En otras realizaciones mas, el ordenador cliente puede comunicar con el NAS o similares. En ciertas realizaciones, los datos que hacen referencia al dispositivo de almacenamiento de origen 112 pueden escribirse en primer lugar en un fichero en los registros de base de datos 242 y enviarse posteriormente a la base de datos 240 de acuerdo con tecnicas de gestion de datos para mejorar el rendimiento de operation de almacenamiento. Ademas, aunque se representa unicamente una base de datos 240 y un registro de base de datos 242 en la Figura 2A, se entendera que el dispositivo de almacenamiento de origen 112 puede comprender bases de datos adicionales 240, registros de base de datos 242 y/u otras estructuras de directorios y almacenamiento de ficheros para cumplir las necesidades de almacenamiento del ordenador cliente 230.
Como se ilustra en la Figura 2A, el controlador de filtro 110 esta localizado ventajosamente entre la aplicacion 108 y el sistema de ficheros 234. Por ejemplo, el controlador de filtro 110 puede desplegarse en la pila como una memoria de intermedia de E/S y/o procesarse en la ruta de datos entre la aplicacion 108 y el sistema de ficheros 234. En tales realizaciones, el controlador de filtro 110 puede interceptar, espiar, supervisar, atrapar, procesar o estar al corriente de otra manera de algunas o todas las operaciones (por ejemplo, operaciones de modification de datos, operaciones de modificacion de ficheros, operaciones de lectura y similares) desde la aplicacion 108 a su localization o localizaciones asociadas en el dispositivo de almacenamiento de origen 112.
Por ejemplo, en ciertas realizaciones, el controlador de filtro 110 puede comunicar con un agente de datos asociado 236 para determinar donde se almacenaran los datos para una aplicacion particular 108 (por ejemplo, carpetas particulares en el sistema de ficheros 234). En ciertas realizaciones, el controlador de filtro 110 y/o el agente de datos 236 pueden monitorizar tambien y/o analizar operaciones de gestion de datos para determinar si se ven afectados nuevas carpetas o adicionales por los datos de volumen de production de la aplicacion particular 108. El agente de datos 236 puede monitorizar operaciones de gestion de datos y/u otros datos para otros fines, tales como, por ejemplo, para satisfacer una consulta o comando mediante un componente gestor de almacenamiento o similares.
Como se representa adicionalmente en la Figura 2A, uno o mas de los controladores de filtro 110 y agente o agentes de datos asociados 236 pueden agruparse juntos como un unico modulo, tal como el modulo controlador 237. El agente o agentes de datos 236 pueden estar separados del modulo controlador 237.
Como se ha analizado anteriormente, en ciertas realizaciones, el controlador de filtro 110 esta configurado preferentemente para monitorizar y/o filtrar operaciones de gestion de datos asociadas a una aplicacion particular 108. El controlador de filtro 110 puede configurarse adicionalmente, de acuerdo con criterios predefinidos, para provocar que se escriban datos particulares en uno o mas registros de origen 244 para replication posterior. Por ejemplo, el controlador de filtro 110 puede configurarse para interceptar, depurar, analizar y/o atrapar operaciones de gestion de datos y rellenar los registros de origen 244 con cambios asociados entre ellos.
En ciertas realizaciones, el controlador de filtro 110 puede examinar la operacion de gestion de datos en progreso, determinar si el tipo de operacion es una de interes para fines de replicacion, y/o copiar o seleccionar todos los datos al registro de origen 244. Por ejemplo, como se ha analizado anteriormente, el controlador de filtro 110 puede determinar si la operacion de gestion de datos se refiere a datos en uno o mas ficheros determinados como relevantes para replicacion (por ejemplo, ficheros que pueden almacenar datos para una aplicacion particular). En otras realizaciones, el controlador de filtro 110 puede generar entradas de registro para todas las operaciones de gestion de datos.
El controlador de filtro 110 puede procesar y/o cruzar adicionalmente los datos y copiar, generar o examinar otra information relevante, tal como un numero de entrada de registro, information de tiempo (por ejemplo, indication de tiempo), tipo de aplicacion, tamano de datos y campo de inicio, combinaciones de los mismos o similares, que pueden ser utiles en el proceso de replicacion. En otras realizaciones, el controlador de filtro 110 puede monitorizar ficheros en el dispositivo de almacenamiento de origen 112 para modificaciones de datos relacionadas con la aplicacion objeto 108. Por ejemplo, como se ha analizado anteriormente, el controlador de filtro 110 puede monitorizar un grupo seleccionado de ficheros, que se han asociado a la aplicacion 108, o carpetas para detectar cambios a datos almacenados en las mismas. En ciertas realizaciones, el controlador de filtro 110 u otro componente de sistema pueden detectar cuando se realiza una operacion de escritura de datos de la aplicacion a un fichero o carpeta no en el grupo seleccionado. El controlador de filtro 110 u otro componente de sistema puede a continuation determinar desde las propiedades de la modificacion de escritura de datos si la carpeta u objeto fichero deberia anadirse al grupo seleccionado (para monitorizacion posterior).
5
10
15
20
25
30
35
40
45
50
55
60
65
En ciertas realizaciones, el controlador de filtro 110 se despliega (por ejemplo, mediante el agente de datos 236) en el ordenador cliente 230 antes del comienzo del proceso de replication. En las realizaciones en las que el controlador de filtro 110 se despliega despues de que empiece la replicacion, los datos de aplicacion pertinentes ya almacenados en el dispositivo de almacenamiento de origen 112 pueden copiarse a los registros de origen 244 antes del proceso de replicacion (por ejemplo, durante el proceso de "semilla" inicial anteriormente descrito).
El controlador de filtro 110 puede activarse y/o desactivarse mediante el agente de datos 236. Por ejemplo, activar el controlador de filtro 110 puede permitirle rellenar un registro de origen asociado 244 a entradas de registro desde datos de aplicacion pasados desde la aplicacion 108 al dispositivo de almacenamiento de origen 112. Cuando el controlador de filtro 110 esta desactivado, los datos pueden pasar directamente a traves del dispositivo de almacenamiento de origen 112 sin copiarse a los registros de origen 244.
El registro de origen 244 comprende cualquier tipo de memoria que pueda almacenar uno o mas registros diarios o entradas de registro. En ciertas realizaciones, el registro de origen 244 comprende una memoria cache. El registro de origen 244 puede residir en el sistema de origen 102, tal como, por ejemplo, en el dispositivo de almacenamiento de origen 112, o al menos una portion del registro de origen 244 puede estar externa al sistema de origen 102.
El agente de datos 236 monitoriza la capacidad de almacenamiento de los registros de origen 244. Por ejemplo, cuando uno o mas de los registros de origen 244 alcanzan un umbral de memoria particular, el agente de datos 236 puede abrir un conector y comunicar al sistema de destino 104 que una copia del registro de origen 244 esta lista para transmitirse. El agente de datos 236 puede configurarse para copiar el registro de origen 244 al sistema de destino 104 a intervalos periodicos o de acuerdo con otros criterios predefinidos.
Aunque se ha descrito anteriormente el sistema de origen 102 con referencia a realizaciones particulares, otras realizaciones de la invention pueden incluir mas o menos componentes que aquellos representados en la Figura 2A. Por ejemplo, la Figura 2B ilustra un diagrama de bloques de un sistema de origen 102' de acuerdo con ciertas realizaciones de la invencion. Como se muestra, el sistema de origen 102' comprende el ordenador cliente 230, la aplicacion 108, el controlador de filtro 110, el sistema de ficheros 234, el registro de origen 244, y el dispositivo de almacenamiento de origen 112 (que incluye la base de datos 240 y el registro de base de datos 242).
El sistema de origen ilustrado 102' comprende adicionalmente un modulo redirector de red 246 localizado entre el controlador de filtro 110 y el sistema de ficheros 234. El modulo redirector de red 246 puede mejorar ventajosamente el rendimiento del sistema de replicacion de datos. En particular, el modulo redirector de red 246 permite que se envie una operation de gestion de datos a un sistema de destino (por ejemplo, sistema de destino 104 de la Figura 1) antes de y/o sustancialmente de manera concurrente con la operacion de gestion de datos que se reenvia al dispositivo de almacenamiento de origen 112.
Por ejemplo, con referencia a la Figura 2B, cuando la aplicacion 108 emite una operacion de escritura de datos, el controlador de filtro 110 identifica si la operacion de escritura de datos es o no una de interes, tal como de acuerdo con criterios particulares establecidos mediante el agente de datos 236 y/o un modulo de gestor de almacenamiento. Si es asi, el controlador de filtro 110 notifica al modulo redirector de red 246.
El modulo redirector de red ilustrada 246 esta configurado para almacenar en memoria intermedia una copia de la operacion de escritura de datos en una memoria 248. Por ejemplo, la memoria 248 comprende una cola, tal como una cola primero en entrar primero en salir, para recibir copias de las operaciones de escritura de datos. La memoria 248 comprende ventajosamente una memoria cache, tal como una Memoria de Acceso Aleatorio (RAM). La memoria 248 comprende un fichero de memoria mapeada que se comparte con el controlador de filtro 110 de manera que el controlador de filtro 110 proporciona una copia de la operacion de escritura de datos directamente a la memoria 248.
El modulo redirector de red 246 comprende un controlador, tal como un controlador de sistema de ficheros o un controlador de sistema operativo, que envia datos a un destino particular, tal como un dispositivo remoto (por ejemplo, un sistema de destino, un registro, o similares). Por ejemplo, el modulo redirector de red 246 puede operar enteramente en un modo de nucleo y puede situarse por encima de la capa de transporte de un protocolo de TCP/IP. Una configuration de este tipo permite al modulo redirector de red 246 interactuar directamente con el controlador de filtro 110 sin la necesidad de conmutadores de contexto de modo de usuario a nucleo y modo de nucleo a usuario
El modulo redirector de red 246 esta configurado adicionalmente para acceder a la memoria 248 y transmitir la copia de la operacion de escritura de datos a uno o mas sistemas de destino a traves de una red (por ejemplo, espejado de red). Por ejemplo, el sistema de destino particular puede incluir un componente de red homologo que recibe la operacion de escritura de datos desde el modulo redirector de red 246 y reenvia la operacion de escritura de datos replicados a un segundo dispositivo de almacenamiento (por ejemplo, el dispositivo de almacenamiento de destino 116 de la Figura 1). Durante este tiempo, la otra copia de la operacion de escritura de datos desde la aplicacion 108 se reenvia al dispositivo de almacenamiento de origen 112 para ejecucion.
5
10
15
20
25
30
35
40
45
50
55
60
65
El modulo redirector de red 246 mejora el rendimiento del sistema de origen 102 puesto que las operaciones de gestion de datos pueden pasar rapidamente a traves del sistema de ficheros 234. Es dedr, el modulo redirector de red 246 puede almacenar en cache rapidamente una copia de la operacion de gestion de datos en lugar de escribir una copia de la operacion en disco (por ejemplo, en el registro de origen 244) antes de renviar la operacion al dispositivo de almacenamiento de origen 1l2.
El sistema de origen 102 comunica con el sistema de destino asociado para verificar que los dos sistemas estan sincronizados. Por ejemplo, el sistema de origen 102 puede recibir desde el sistema de destino una identificacion (por ejemplo, numero de serie unico) de la operacion de escritura de datos que se esta replicando actualmente mediante el sistema de destino. El sistema de origen 102 puede a continuacion comparar la identificacion recibida con la operacion de escritura de datos que se reenvie al dispositivo de almacenamiento de origen 112.
La Figura 3 ilustra un diagrama de bloques de una realizacion ejemplar del sistema de destino 104 de la Figura 1. En particular, el sistema de destino 104 comprende el modulo de replication 114, que comunica con uno o mas registros de replicacion 352 y el dispositivo de almacenamiento de destino 116. En ciertas realizaciones, el modulo de replicacion 114 comprende cualquier dispositivo informatico que pueda procesar datos e incluye, por ejemplo, un ordenador servidor, una estacion de trabajo, un ordenador personal o similar.
En ciertas realizaciones, los registros de replicacion 352 contienen una copia de los datos almacenados en los registros de origen de un sistema cliente, tal como los registros de origen 244 de la Figura 2A. Los registros de replicacion 352 comprenden cualquier tipo de memoria que pueda almacenar datos incluyendo, por ejemplo, memoria cache. En ciertas realizaciones, los registros de replicacion 352 pueden residir en el sistema de destino 104, tal como, por ejemplo, en el dispositivo de almacenamiento de destino 116, o al menos una portion de los registros de replicacion 352 pueden estar externos al sistema de destino 104. En ciertas realizaciones, una vez que se han rellenado los registros de replicacion 352 con los datos desde los registros de origen 244, los datos en los registros de origen 244 estan disponibles para borrarse y/o sobreescribirse para conservar espacio de memoria.
El modulo de replicacion 114 del sistema de destino 104 comprende adicionalmente un agente de replicacion 356 y uno o mas procesos, tal como los hilos 358. En ciertas realizaciones, el agente de replicacion 356 comprende uno o mas modulos de software que coordinan la transferencia de datos desde los registros de replicacion 352 al dispositivo de almacenamiento de destino 116.
Por ejemplo, en ciertas realizaciones, el agente de replicacion 356 instancia un numero apropiado de hilos, procesos o rutinas, 358 para copiar datos desde los registros de replicacion 352 al dispositivo de almacenamiento de destino 116. En ciertas realizaciones, el numero de hilos 358 es basandose en uno o mas de los siguientes factores: el numero de ficheros de registro enviados desde los registros de origen 244 a los registros de replicacion 352, information recibida desde el agente o agentes de datos 236, information generada mediante el controlador o controladores de filtro 110, y el tipo o tipos de datos de aplicacion que se estan rastreando.
En ciertas realizaciones, el agente de replicacion 356 incluye adicionalmente informacion de mapeo o de correlation que determina cuando y donde se copian los datos desde los registros de replicacion 352 mediante los hilos 358. En ciertas realizaciones, tal informacion de mapeo puede ser basandose en parametros definidos por el sistema o por el usuario y/o puede generarse automaticamente, tal como basandose en el estado del dispositivo de almacenamiento de destino 116.
El uno o mas hilos 358 (o procesos) dirigen el movimiento de datos desde registros de replicacion 352 a la localization apropiada en el dispositivo de almacenamiento de destino 116. En operacion, en ciertas realizaciones, los hilos 358 procesan ventajosamente (o cruzan) los registros de replicacion 352 para tipos de datos particulares y a continuacion copian los datos a ciertas localizaciones en uno o mas volumenes de replicacion basandose en rutas de datos identificadas mediante el agente de replicacion 356 y/o asociadas a cada hilo 358. Por ejemplo, el hilo o hilos 358 pueden procesar secuencialmente cada entrada en el registro de replicacion 352 y escribir los datos asociados en el dispositivo de almacenamiento de destino 116.
En ciertas realizaciones, un hilo 358 puede escribir en uno o mas volumenes del dispositivo de almacenamiento de destino 116 y/o multiples hilos 358 pueden escribir en un unico volumen en paralelo. Adicionalmente, un hilo 358 puede acceder a uno o mas registros de replicacion 352, y/o multiples hilos 358 pueden acceder al mismo registro de replicacion 352.
En ciertas realizaciones, cada hilo 358 se le asigna un par de ruta pregrabada, que incluye (i) una ruta de origen que identifica la localizacion en el dispositivo de almacenamiento de origen 112 asociada a una operacion de gestion de datos (por ejemplo, c:\Folder\) y (ii) una ruta de destino que identifica la localizacion en el dispositivo de almacenamiento de destino 116 para recibir los datos replicados (por ejemplo, D:\folder\) desde el hilo 358.
La Figura 4 ilustra detalles adicionales de un sistema de replicacion 400 de acuerdo con ciertas realizaciones de la invention. Como se ilustra, el sistema de replicacion 400 comprende el sistema de origen 102 en comunicacion con el sistema de destino 104, porciones de las cuales se describen en mas detalle con respecto a Figuras 1-3.
5
10
15
20
25
30
35
40
45
50
55
60
65
Como se ha detallado anteriormente, en ciertas realizaciones, el controlador de filtro 110 rellena preferentemente de manera sustancialmente continua datos relacionados con una o mas de las aplicaciones 108 a los registros de origen 244. Como se muestra en la Figura 4, los registros de origen 244 comprenden adicionalmente un primer fichero de registro 460 y un segundo fichero de registro 462. En ciertas realizaciones, el controlador de filtro 110 escribe secuencialmente entradas de registro en los registros de origen 244, y cuando se alcanza una cierta capacidad del primer registro de fichero 460, el controlador de filtro 110 empieza a rellenar el segundo fichero de registro 462 con entradas de registro.
En otras realizaciones mas, los datos relacionados con cada aplicacion 108 de interes pueden escribirse en un fichero de registro particular establecido para esa aplicacion. Por ejemplo, con referencia a la Figura 4, el primer registro de fichero 460 puede referirse a una primera aplicacion de interes, mientras el segundo fichero de registro 462 puede referirse a una segunda aplicacion de interes.
En ciertas realizaciones, cada uno de los ficheros de registro de los registros de origen 244 puede establecerse mediante el agente o agentes de datos 236 y/o el controlador o controladores de filtro 110 como parte de un proceso de despliegue inicial o inicializacion. Ademas, pueden escribirse datos en los registros de origen 244 segun se determina por preferencias almacenadas en o accedidas por el ordenador cliente 230 en una base de datos de preferencias 465.
Por ejemplo, como se muestra adicionalmente en la Figura 4, el primer y segundo fichero de registros 460, 462 pueden comprender una serie de entradas, teniendo cada una un identificador que indica el orden de secuencia y/o tipo de entrada que se esta realizando. Por ejemplo, el identificador de entrada ilustrado ("L1") puede indicar que la entrada particular representa una primera entrada de base de datos en un orden particular de operacion. El identificador de entrada ilustrado ("L2") puede indicar una segunda entrada de base de datos en un orden particular de operacion, y asi sucesivamente. El identificador de entrada ilustrado ("D1") puede indicar que la entrada particular representa una primera entrada de compromiso de base de datos en un orden particular de operacion. Por lo tanto, en el ejemplo anteriormente descrito, las entradas de registro identificadas por L1 y L2 pueden corresponder a modificaciones asociadas a una transaccion de base de datos particular, y la entrada de registro identificada por D1 puede corresponder a un comando de compromiso para la transaccion particular.
En ciertas realizaciones, las entradas de registro se rellenan en los ficheros de registro 460, 462, secuencialmente de manera que el orden relativo de las entradas de registro corresponde en general al orden en el que se realizaron las operaciones de gestion de datos asociadas mediante la aplicacion 108. En otras realizaciones, las entradas de registro pueden rellenarse en los ficheros de registro 460, 462, de una manera no secuencial.
En ciertas realizaciones, las entradas de registro de controlador de filtro pueden ser copias o porciones de algunas o todas las operaciones de datos emitidas desde la aplicacion 108 al dispositivo de almacenamiento de origen 112. En otras realizaciones mas, el controlador de filtro 110 y/o agente de datos 236 pueden construir entradas de registro basandose solamente en informacion disponible en el flujo de datos entre la aplicacion 108 y el dispositivo de almacenamiento de origen 112. En otras realizaciones mas, las entradas de registro pueden incluir otra informacion de sistema, tal como informacion de indicacion de tiempo. En otras realizaciones mas, las entradas de registro pueden enriquecerse con otra informacion de sistema o de aplicacion util disponible en el ordenador cliente 230 o en el sistema cliente 102. Por ejemplo, las entradas de registro pueden incluir metadatos y/o informacion de clasificacion de datos que se ha obtenido desde datos de aplicacion.
Se entendera que, aunque unicamente se muestren dos ficheros de registro en la Figura 4, pueden usarse mas o menos ficheros de registro con realizaciones de la invencion. Por ejemplo, multiples aplicaciones 108 pueden monitorizarse mediante los controladores de filtro 110 y, por lo tanto, pueden anadirse registros de fichero adicionales segun sea necesario o se desee. Ademas, aunque en algunas realizaciones, cada aplicacion 108 y cada fichero de registro en los registros de origen 244 puede tener su propio controlador de filtro asociado 110, en otras realizaciones, puede desplegarse y configurarse un unico controlador de filtro 110 para uso con multiples aplicaciones 108 de manera que hayan ficheros de registro separados para cada aplicacion monitorizada 108.
Adicionalmente, se entendera que no es necesario que se establezcan diferentes ficheros de registro para cada aplicacion 108. En su lugar, en ciertas realizaciones, puede usarse uno o mas ficheros de registro "globales", con datos para cada aplicacion 108 que esta colocada en el fichero de registro global y marcada como que pertenece a una aplicacion particular 108. Con esta disposition, el sistema de replication 400 puede diferenciarse entre datos asociados a diferentes aplicaciones 108 basandose en datos en uno o mas campos de las entradas de registro, como se analiza en mas detalle a continuation con respecto a la Figura 5.
Con referencia continuada a la Figura 4, en ciertas realizaciones de la invencion, el agente de datos 236 y/o controlador de filtro 110 pueden configurare ventajosamente para pausar, o inactivar, la aplicacion 108 durante la replicacion de datos. Por ejemplo, el agente de datos 236 puede provocar que la aplicacion 108 suspenda temporalmente operaciones de gestion de datos al dispositivo de almacenamiento de origen 112 una vez que la aplicacion 108 alcanza un estado "bueno", "estable" o "recuperable" conocido. En ciertas realizaciones, un estado de este tipo puede definirse como cuando se completan operaciones informaticas particulares de la aplicacion 108 a un
5
10
15
20
25
30
35
40
45
50
55
60
65
punto de manera que puede tener lugar operacion adicional, recuperacion y/o reversion de la aplicacion 108, basandose en los datos registrados, sin la perdida de informacion critica u operaciones informaticas necesarias para operacion de la aplicacion 108. Este punto de integridad referencial se denomina generalmente en el presente documento como un estado bueno conocido de la aplicacion 108.
En ciertas realizaciones, el agente de datos 236 ordena la inactivacion de la aplicacion 108 a traves de una interfaz de programacion de aplicacion (API). Por ejemplo, el agente de datos 236 puede enviar un comando (por ejemplo, FLR-SNAP. FOO) a la aplicacion 108 que provoca que la aplicacion 108 se inactive. Cuando la aplicacion 108 se ha colocado a si misma en un estado bueno conocido, la aplicacion 108 puede enviar un acuse de recibo al agente de datos 236.
En ciertas realizaciones, una vez que las operaciones de gestion de datos se suspenden, se vacian las memorias intermedias de E/S en la ruta de datos de la aplicacion (y/o se vacian las escrituras en las colas), y se rellenan los registros de origen 244. Por ejemplo, algunas o todas las operaciones de gestion de datos pendientes (por ejemplo, como del tiempo de suspension de la aplicacion) pueden permitirse para completar y/o filtrar la ruta de datos. El controlador de filtro 110 y/o el agente de datos 236 a continuacion insertan un marcador logico o etiqueta en el fichero de registro de origen que indica que se ha alcanzado un "punto de coherencia" o "punto de recuperacion de coherencia". En algunas realizaciones, el punto de coherencia indica el tiempo en el que la aplicacion 108 esta en un estado bueno conocido. Por ejemplo, en ciertas realizaciones, el agente de datos 236 ordena al controlador de filtro 110 insertar una entrada de punto de coherencia en los registros de origen 244.
La Figura 4 ilustra entradas de punto de coherencia como entradas de registro 463 y 464 en, respectivamente, el primer y segundo ficheros de registro 460, 462. Como se muestra, las entradas de punto de coherencia se representan mediante "CRP" en los registros de origen 244. En ciertas realizaciones, una vez que se identifica e inserta el punto de coherencia en el registro de origen 244, el agente de datos 236 puede ordenar que la aplicacion 108 se "reinicie" para reanudar las operaciones de gestion de datos normales desde la aplicacion 108 al dispositivo de almacenamiento de origen 112. En ciertas realizaciones, las entradas de registro se escriben secuencialmente en los registros de origen 244 hasta cada punto de coherencia.
A pesar de lo anterior, se entendera que, en ciertas realizaciones, aunque se inactive la aplicacion 108, no necesita realmente pausar o suspender la operacion durante el periodo inactivo. En su lugar, la aplicacion 108 puede continuar operando sustancialmente de manera normal pero puede poner en cola internamente, o almacenar en memoria intermedia de otra manera, operaciones de gestion de datos pretendidas para el dispositivo de almacenamiento de origen 112. Despues del periodo de inactividad, las operaciones de modification almacenadas en memoria intermedia puede permitirse que se completen (es decir, enviarse al dispositivo de almacenamiento de origen 112).
En ciertas realizaciones de la invention, la aplicacion 108 se inactiva periodicamente (y un punto de coherencia correspondiente colocado en el registro de origen 244) basandose en criterios particulares. Por ejemplo, la inactividad de la aplicacion 108 puede ser basandose en una o mas preferencias definidas por el sistema o por el usuario (por ejemplo, cada cinco minutos). La inactivacion periodica de la aplicacion 108 puede ser basandose en la frecuencia deseada de replication de realization, respaldo u otras operaciones de modificacion de datos en los datos objeto. Por ejemplo, las aplicaciones 108 que tratan con informacion de datos sensibles pueden necesitar inactivacion mas frecuente (y creation de puntos de coherencia) que otros tipos de aplicaciones.
En otras realizaciones mas, las politicas para la frecuencia de entradas de punto de coherencia pueden generarse automaticamente. Por ejemplo, el agente de datos 236 puede configurarse para inactivar la aplicacion 108 basandose en el estado (por ejemplo, capacidad) de los registros de origen 244, los registros de replicacion 352 y/o el dispositivo de almacenamiento de destino 116. En otras realizaciones mas, la inactivacion de la aplicacion 108 puede realizarse basandose en un procedimiento de informe automatico. Por ejemplo, un modulo del sistema de replicacion 400 puede configurarse para recopilar, recibir y/o analizar informacion asociada a una tasa de fallo y/o salud de servidores aplicables. Se proporcionan detalles adicionales de tal monitorizacion de estado en la Solicitud de Patente de Estados Unidos N.° 11/120.619, presentada el 2 de mayo de 2005, publicada ahora como US 20060053261 A1, que se incorpora por la presente en el presente documento por referencia en su totalidad. Por ejemplo, puede seleccionarse la frecuencia de puntos de coherencia para ajustar o mitigar riesgos detectados en una red de almacenamiento. En ciertas realizaciones, uno o mas componentes de gestion del sistema de replicacion 400 pueden identificar una caracteristica relacionada con el almacenamiento y pueden modificar la frecuencia de puntos de coherencia si la caracteristica relacionada con el almacenamiento satisface uno o mas criterios de riesgo particulares. Por ejemplo, pueden indicarse criterios de riesgo mediante politicas de almacenamiento, definiciones de almacenamiento, un acuerdo de nivel de servicio ("SLA") u otra informacion localizada en una base de datos de componente de gestion u otro componente del sistema de replicacion 400. En ciertas realizaciones adicionales la frecuencia de puntos de coherencia puede basarse al menos en parte en un nivel de protection de datos o disponibilidad de datos en el sistema de replicacion 400.
En ciertas realizaciones, una o mas entradas de registro en los registros de origen 244 estan preferentemente asociadas a informacion de tiempo, tal como, por ejemplo, asignadas a una indication de tiempo indicativa del
5
10
15
20
25
30
35
40
45
50
55
60
65
tiempo de sistema cliente con el que estan asociadas las entradas de registro particulares. Por ejemplo, la informacion de tiempo puede indicar el tiempo en el que: la entrada de registro se escribe en el registro de origen 244, la operation de gestion de datos se genera mediante la aplicacion 108, la operation de modification de datos se compromete en el disco o similares. En ciertas realizaciones, no todas las entradas de registro estan asignadas a una indication de tiempo. En su lugar tipos de datos particulares, tales como por ejemplo, marcadores de punto de coherencia y/o de entradas de compromiso de base de datos, se asignan a indicaciones de tiempo.
En ciertas realizaciones de la invention, el agente de datos 236 coordina con el agente de replication 356 para copiar ficheros de registro desde los registros de origen 244 a los registros de replicacion 352. Tal copiado puede iniciarse basandose en cualquier factor adecuado, tal como, por ejemplo, intervalos de copiado preestablecidos, umbrales de capacidad alcanzados en los registros de origen 244, tiempo transcurrido desde la ultima operacion de copia, solicitudes del agente de replicacion 356 para una operacion de copia, y/o basandose en parametros especificos o requisitos asociados a una aplicacion particular 108. Por ejemplo, ciertas aplicaciones de datos sensibles pueden copiarse mas frecuentemente que otras aplicaciones para reducir la cantidad de potencial perdida de datos debido a un fallo que tuviera lugar entre operaciones de copia.
Como se ilustra adicionalmente en la Figura 4, los registros de replicacion 352 incluyen un primer fichero de registro 466 y un segundo fichero de registro 468. En ciertas realizaciones, cada uno de estos ficheros de registro 466, 468 corresponde, respectivamente, al primer registro de fichero 460 y al segundo fichero de registro 462 de los registros de origen 244. Por ejemplo, los datos pueden transferirse entre el registro o registros de replicacion 352 y el registro o registros de origen 244 de manera que se conserva el orden en el que se almacenaron los datos en el registro o registros de origen 244. Ademas, los ficheros de registro pueden recrearse en el registro o registros de replicacion 352 para reflejar la organization de los registros de origen 244. Por ejemplo, el primer registro de fichero 460 y el segundo fichero de registro 462 en los registros de origen 244 pueden transferirse y recrearse mediante el agente de replicacion 356 y/o el agente de datos 236. En otras realizaciones, sin embargo, pueden transferirse y almacenarse datos en un orden diferente sin conservar las correlaciones de sistema de origen y/o pueden reorganizarse en o durante la transferencia en o tras la llegada en los volumenes de replicacion 116A, 116B.
En otras realizaciones mas, los datos transferidos pueden retener la estructura de datos usada en los registros de origen 244 y/o pueden cambiarse, modificarse o reorganizarse para reflejar, ajustar o interoperar de otra manera con, los detalles particulares de gestion del modulo de replicacion 114. Por ejemplo, ciertos indicadores referenciales asociados a los datos pueden modificarse o adaptarse para cumplir requisitos del agente de replicacion 356. Sin embargo, en realizaciones preferidas, se mantiene la integridad referencial de los datos entre el sistema de origen 102 y el sistema de destino 104.
El sistema de destino ilustrado 104 comprende adicionalmente una base de datos de preferencias opcionales 470 en comunicacion con el agente de replicacion 356. La base de datos de preferencias 470 incluye politicas de almacenamiento u otras preferencias usables mediante el agente de replicacion 356 al gestionar datos. Por ejemplo, las preferencias almacenadas pueden indicar la frecuencia deseada a la que los hilos 358 deberian copiar los datos desde los registros de destino 352 en los volumenes de replicacion 116A, 116B. La base de datos de preferencias 470 puede almacenar tambien informacion de ruta para detallar a que localization o localizaciones en el volumen o volumenes de replicacion 116A, 116B deberian copiarse los datos en el registro o registros de replicacion 352. La base de datos de preferencias 470 puede incluir politicas de almacenamiento que dictan criterios particulares para realizar una o mas operaciones de gestion de datos en los datos replicados.
Con referencia continuada a la Figura 4, el modulo de replicacion 114 comprende adicionalmente uno o mas procesadores, tal como un conjunto de replicacion o un modulo de procesamiento de registro 469 con un primer hilo 358A y un segundo hilo 358B. En ciertas realizaciones, como se ha analizado anteriormente, los hilos 358A, 358B se instancian mediante el agente de replicacion 356 para transferir datos desde el primer y segundo registros de replicacion 466, 468 en el primer volumen de replicacion 116A y/o en el segundo volumen de replicacion 116B.
En ciertas realizaciones, los hilos 358A, 358B procesan, exploran y/o cruzan los registros de replicacion 352 y exploran en las mismas entradas de registro para identificar los datos o ficheros de interes para el hilo particular. En ciertas realizaciones, los hilos 358A, 358B exploran las entradas de registro de una manera secuencial (por ejemplo, en el orden en el que las entradas de registro se escribieron en el fichero de registro). Cuando el hilo encuentra una entrada de registro de interes, el hilo copia la entrada de registro particular desde los registros de replicacion 352 a los volumenes de replicacion 116A, 11 6b. Por ejemplo, las entradas de registro pueden copiarse de acuerdo con una ruta establecida basandose en la correlation o informacion de emparejamiento proporcionada mediante el agente de datos 236 al agente de replicacion 356.
En ciertas realizaciones, los hilos 358A, 358B utilizan indicaciones de tiempo u otra informacion temporal que posibilita el procesamiento y/o reproduction de operaciones de modificacion. Por ejemplo, basandose en la informacion de indicacion de tiempo, los hilos 358A, 358B pueden reorganizar los datos de replicacion de manera que los datos se almacenan en el uno o mas volumenes de replicacion en el orden apropiado (por ejemplo, el orden en el que se pretendian escribir los datos en el dispositivo de almacenamiento de origen 112). En tales realizaciones, los datos replicados pueden recuperarse posteriormente, revocarse o accederse de otra manera o
5
10
15
20
25
30
35
40
45
50
55
60
65
procesarse y pueden usarse para restaurar de manera precisa el estado de la aplicacion 108 como si existiera en un punto en el tiempo dado. En otras realizaciones mas, otras operaciones de gestion de datos (por ejemplo, busqueda, clasificacion de datos) pueden realizarse en los datos replicados.
En ciertas realizaciones, los hilos instanciados 358A, 358B pueden operar en paralelo o secuencialmente para explorar uno o mas registros de replicacion 352 para que las entradas de registro copien una cierta aplicacion 108. Cada hilo, que puede ser responsable de replicar ciertos datos de la aplicacion 108, puede continuar explorando el registro de replicacion 352 hasta que encuentre un punto de coherencia. Cuando tiene lugar esto, el hilo puede a continuacion notificar al agente de replicacion 356 que se ha alcanzado un punto de coherencia y/o pausar la operacion. Cuando todos los hilos activos para una aplicacion especifica 108 notifican al agente de replicacion 356 que se ha alcanzado un punto de coherencia, el agente de replicacion 356 puede identificar los datos en ese punto en el tiempo como que representan un estado bueno conocido de la aplicacion 108. En ciertas realizaciones, en este punto, el agente de replicacion 356 puede suspender operaciones de copia adicionales mediante los hilos 358A, 358B mientras que los datos replicados representan un estado bueno conocido de la aplicacion 108. En otras realizaciones mas, el agente de replicacion 356 puede monitorizar la operacion de los hilos 358A, 358B sin esperar una notificacion desde los hilos.
En general, los sistemas develados pueden manejar ficheros que pueden ser necesarios para restaurar un tipo de aplicacion (por ejemplo, MICROSOFT EXCHANGE) si tuviera lugar un fallo de datos. Esta recopilacion de informacion para los diversos ficheros (por ejemplo, ficheros de control, ficheros de configuracion o similares) puede conservar la integridad referencial de uno o mas tipos de aplicacion predefinidos que operan en el sistema de operacion de almacenamiento.
El sistema de replicacion 400 de la Figura 4 proporciona varias ventajas para realizar copiado u otras operaciones de almacenamiento a los datos. Por ejemplo, en ciertas realizaciones, el sistema de replicacion 400 puede realizar operaciones de almacenamiento en los datos replicados (por ejemplo, datos almacenados en los volumenes de replicacion 116A, 116B).
Es decir, crear copias de replicacion permite al sistema de replicacion 400 acceder a copias de datos de volumen de produccion sin el uso significativo de los recursos del sistema cliente 102 y/o interrumpir o suspender operaciones de datos en el dispositivo de almacenamiento de origen 112, reduciendo de esta manera el impacto de las operaciones de gestion de datos en aplicaciones cliente. Ademas, la informacion de punto de coherencia (estado bueno conocido) junto con la informacion de indicacion de tiempo puede usarse ventajosamente al realizar operaciones de almacenamiento para asociar de manera logica una indicacion de tiempo de los datos copiados al tiempo original de la entrada de punto de coherencia (por ejemplo, el tiempo en el que estaba la aplicacion 108 en un estado bueno conocido). Por lo tanto, incluso aunque se realice la operacion de almacenamiento en los datos replicados en un punto en el tiempo mas tarde (por ejemplo, en relacion con el tiempo de sistema cliente del estado bueno conocido de la aplicacion), los datos copiados resultantes de la operacion de almacenamiento se asocian al tiempo de punto de coherencia original (por ejemplo, el tiempo de sistema cliente del estado bueno conocido de la aplicacion) Adicionalmente, esta asociacion logica del tiempo de sistema cliente del estado bueno conocido de la aplicacion puede repetirse para copias posteriores de los datos (por ejemplo, un respaldo de la instantanea de los datos replicados).
En ciertas realizaciones, se envian instrucciones para las operaciones de almacenamiento desde el agente de datos 236 en el sistema de origen 102. Por ejemplo, las instrucciones pueden incluirse en las entradas de fichero de registro copiadas desde el sistema de origen 102. En otras realizaciones mas, las operaciones de almacenamiento se coordinan mediante el agente de replicacion 356 (por ejemplo, de acuerdo con politicas de almacenamiento almacenadas en la base de datos de preferencias 470) en combinacion con, o independientemente de, el agente de datos 236. En otras realizaciones mas, las politicas para las operaciones de almacenamiento pueden almacenarse en otro componente de gestion de sistema (por ejemplo, un modulo de gestor de almacenamiento).
Se describiran ahora ejemplos de ciertas operaciones de almacenamiento realizables en los datos replicados en el dispositivo de almacenamiento de destino 116. Por ejemplo, una operacion de almacenamiento puede incluir una copia basica de datos desde una primera localizacion a una segunda localizacion.
Otra forma de una operacion de almacenamiento que puede realizarse en los datos replicados es una operacion de respaldo. Una operacion de respaldo incluye generalmente copiar datos en un formato de respaldo a diferencia de un formato de aplicacion nativo. Por ejemplo, una copia de respaldo puede almacenarse en un formato de respaldo que facilita la compresion y almacenamiento a largo plazo mas eficaz. Las copias de respaldo tienen generalmente periodos de retencion relativamente largos y pueden almacenarse en medios con tiempos de recuperacion mas lentos que otros tipos de copias secundarias y medios. En algunos casos, las copias de respaldo pueden almacenarse en una localizacion fuera del sitio.
Otra forma de una operacion de almacenamiento que pueden realizarse en los datos replicados es una operacion de instantanea. En general, una instantanea registra el estado de un dispositivo de almacenamiento, sistema de ficheros, o volumen en un cierto punto en el tiempo. Es decir, la instantanea puede usarse para proporcionar una
5
10
15
20
25
30
35
40
45
50
55
60
65
imagen de punto en el tiempo de un volumen de almacenamiento en vivo. En ciertas realizaciones, la instantanea puede usarse para respaldar datos y/o, en el caso de fallo, para restaurar el dispositivo de almacenamiento o volumen a un estado bueno conocido anterior.
Las instantaneas pueden implementarse mediante varios metodos diferentes. Por ejemplo, en un metodo de "copia en escritura", se crea una instantanea de un volumen de almacenamiento usando un espacio designado, o volumen de instantanea, para la instantanea particular. Durante la creacion inicial de la instantanea, en lugar de copiar los datos fisicos, la information se registra acerca de la localization de los datos originales en el volumen de almacenamiento (por ejemplo, una copia logica de los datos). Por ejemplo, pueden almacenarse los metadatos con respecto a los datos originales y/o pueden usarse punteros para identificar la localizacion de los datos originales. En ciertas realizaciones, esta instantanea inicial puede realizarse cuando se inactiva el volumen de almacenamiento o en un estado "congelado".
Las instantaneas sucesivas a continuation rastrean los cambios en el volumen de almacenamiento a medida que se modifican los datos originales. Antes de que modifiquen los datos originales, los datos originales se copian a una localizacion en el almacenamiento de instantanea designado. Por lo tanto, cuando se realiza una solicitud de lectura para un bloque de datos sin modificar en el volumen de instantanea, la solicitud se redirige a la copia original de los datos. Sin embargo, si se realiza una solicitud de lectura para un bloque de datos que se ha modificado, la solicitud se redirige a datos en el almacenamiento de instantanea especificado. En las realizaciones en las que se crean y mantienen multiples instantaneas concurrentemente, cada instantanea puede designarse o asignarse a un espacio de almacenamiento o volumen de instantanea diferente.
En otras realizaciones mas, pueden usarse otros tipos de tecnologia de instantanea, tales como, por ejemplo, escritura directa, espejo de division, copia en escritura, con copia en segundo plano, copias de protection de datos continuas, combinaciones de las mismas o similares. Por ejemplo, en ciertas realizaciones, una instantanea puede no crear realmente otra copia fisica de todos los datos asociados a una aplicacion, sino que puede crear simplemente punteros que pueden mapear ficheros y directorios a bloques especificos.
En ciertas realizaciones, una instantanea de los datos de replication se realiza preferentemente en un punto de coherencia. La instantanea que representa un conjunto de datos de aplicacion recuperables hasta el punto en el tiempo asociado al punto de coherencia (por ejemplo, el tiempo en el que la aplicacion inactivada suspendio las operaciones de modification de datos normales). Por lo tanto, una copia de instantanea creada desde los datos de replicacion en un punto de coherencia puede ser tambien coherente con los datos almacenados en el volumen primario o dispositivo de almacenamiento de origen 112 en el tiempo en el que se genero el punto de coherencia.
En ciertas realizaciones, se toma una instantanea para cada volumen en el que se estan replicando datos. Por ejemplo, con referencia a la Figura 4, el primer hilo 358A esta escribiendo en el primer volumen de replicacion 116A, y el segundo hilo 358B esta escribiendo en el segundo volumen de replicacion 116B. En tales realizaciones, cuando el primer y segundo hilos 358A, 358B llegan a una entrada de registro de punto de coherencia, se toma una instantanea de los datos replicados en cada volumen de replicacion 116A, 116B.
En ciertas realizaciones preferidas, cuando se realiza la instantanea en un punto de coherencia particular, el tiempo de la instantanea se asocia ventajosamente de manera logica al tiempo en el que se genero el punto de coherencia en el sistema cliente 102 (por ejemplo, el tiempo de sistema cliente del estado bueno conocido de la aplicacion 108). Por ejemplo, la indication de tiempo del punto de coherencia puede usarse para asignar logicamente un "tiempo" a la instantanea de los datos replicados. En un proceso de este tipo, la instantanea de los datos replicados a continuacion parece como si la instantanea se tomara directamente de los datos en el sistema de origen 102 en el tiempo del punto de coherencia. Un proceso de este tipo permite que se vean los datos de instantanea como una copia directa de los datos de volumen de production para una aplicacion particular (por ejemplo, el dispositivo de almacenamiento de origen 112) en un cierto punto en el tiempo (por ejemplo, el tiempo de un estado bueno conocido de una aplicacion).
Por ejemplo, considerense datos de volumen de produccion (por ejemplo, datos de sistema de origen) que representan un estado bueno conocido de la aplicacion 108 como de las 3:00 P.M. Para identificar el estado bueno conocido de la aplicacion, se anade un marcador de punto de coherencia que tiene una indicacion de tiempo de las 3:00 PM a un fichero de registro apropiado. A las 3:05 P.M., los datos de volumen de produccion junto con el punto de coherencia se replican en un dispositivo de almacenamiento de destino 116. Por lo tanto, en este punto en el tiempo, el dispositivo de almacenamiento de destino 116 es una copia exacta de los datos de volumen de produccion de la aplicacion 108 como de las 3:00 P.M.
Una copia instantanea de los datos replicados en el dispositivo de almacenamiento de destino se realiza a continuacion a las 3:10 P.M. Durante o despues de realizar la operation de instantanea, la instantanea se asocia a continuacion de manera logica a la indicacion de tiempo 3:00 identificada mediante el punto de coherencia. Como resultado, la instantanea tendra los mismos o sustancialmente los mismos datos que si la instantanea se tomara directamente desde los datos de sistema de origen en el estado bueno conocido de la aplicacion pertinente. Ademas, a traves de asociar logicamente la indicacion de tiempo de las 3:00 P.M. a los datos de instantanea, la
5
10
15
20
25
30
35
40
45
50
55
60
65
instantanea parece haberse tomado directamente desde los datos de sistema de origen, incluso aunque la instantanea se tomara diez minutos mas tarde. Sin embargo, puesto que los datos de sistema de origen no se usan realmente para realizar la operacion de instantanea, los recursos del sistema de origen no se ven impactados y pueden liberarse para el cliente u otro uso.
En ciertas realizaciones, las asociaciones logicas de tiempo con respecto a la instantanea pueden almacenarse conjuntamente con la instantanea y/o en una base de datos separada. Por ejemplo, las asociaciones de tiempo logicas pueden almacenarse en un indice en uno o mas volumenes de replicacion, en el modulo de replicacion 114 (por ejemplo, el agente de replicacion 356), en la base de datos de preferencias 470, en un indice de base de datos de gestor de almacenamiento, mediante el agente de datos 236, combinaciones de los mismos o similares. En ciertas realizaciones, almacenarse conjuntamente con los datos de tiempo "actualizados" puede ser tambien la localizacion real de la instantanea en los volumenes de replicacion 116A, 116B u otro dispositivo o dispositivos de almacenamiento.
Como se ha analizado anteriormente, la frecuencia de puntos de coherencia puede variar y puede depender de uno o mas factores de sistema o parametros seleccionables por el usuario. Por ejemplo, las politicas de almacenamiento almacenadas en una o mas bases de datos del sistema de replicacion 400 (por ejemplo, la base de datos de preferencias 470) pueden dictar la frecuencia a la que se inserten los puntos de coherencia (por ejemplo, la frecuencia de inactivar la aplicacion) y/o la frecuencia a la que se realizan las instantaneas. En ciertas realizaciones, puede realizarse una instantanea en cada punto de coherencia. En otras realizaciones mas, puede realizarse una instantanea en algun otro intervalo de puntos de coherencia (por ejemplo, cada cinco puntos de coherencia).
Una vez que se realiza la instantanea, pueden enviarse uno o mas mensajes a componente o componentes de sistema que contienen informacion relacionada con el tiempo en el que se tomo la instantanea, la indication de tiempo del punto de coherencia, la localizacion de la instantanea, la localizacion de la copia de replicacion, el tiempo aplicable de la copia, combinaciones de los mismos o similares. Por ejemplo, un mensaje de finalization de este tipo puede enviarse inicialmente al agente de replicacion 356, que puede opcionalmente notificar adicionalmente al agente de datos 236 u otros componentes de gestion de sistema con la informacion anteriormente descrita.
Aunque se han desvelado ciertas realizaciones de operaciones de almacenamiento como que son usables con el sistema de replicacion 400 de la Figura 4, puede realizarse tambien una amplia diversidad de otras operaciones de almacenamiento en los datos de replicacion y/o en conjunto con informacion de punto de coherencia. Por ejemplo, pueden realizarse otras copias de los datos replicados, tales como, pero sin limitation, creation, almacenamiento, recuperation, migration, borrado, copias auxiliares, copias incrementales, copias diferenciales, copias de Gestion de Almacenamiento Jerarquico ("HSM"), copias de archivo, copias de Gestion de Ciclo de Vida de Informacion ("ILM"), otros tipos de copias y versiones de datos electronicos o similares.
Por ejemplo, una copia de HSM es generalmente una copia de los datos de copia primarios, pero normalmente incluye unicamente un subconjunto de los datos de copia primarios que cumplen un cierto criterio y se almacena normalmente en un formato distinto del formato de aplicacion nativo. Por ejemplo, una copia de HSM puede incluir unicamente aquellos datos desde la copia primaria que son mayores que un umbral de tamano dado o que son mas antiguos que un umbral de periodo dado y pueden almacenarse en un formato de respaldo. A menudo, los datos de HSM (por ejemplo, mensajes de correo electronico) se eliminan de la copia primaria, y se almacena un resguardo en la copia primaria para indicar su nueva localizacion. Cuando un usuario solicita acceso a los datos de HSM que se han eliminado o migrado, los sistemas usan el resguardo para localizar los datos y a menudo realizar recuperacion de los datos que parecen transparentes incluso aunque los datos de HSM puedan almacenarse en una localizacion diferente de los datos de copia primarios restantes.
En otras realizaciones mas, el sistema de replicacion 400 puede usar los datos de replicacion para crear una version de repetition de los datos en el dispositivo de almacenamiento de origen 112 del sistema cliente 102. En tales realizaciones, si hubiera un fallo y/o sobrecarga del dispositivo de almacenamiento de origen 112, el sistema 102 puede volver a apuntar a la version repetida.
En otras realizaciones mas, pueden realizarse diferentes tipos de operaciones de gestion de datos en los datos de replicacion dependiendo de una o mas politicas de planificacion. Por ejemplo, una operacion de almacenamiento de instantanea puede planificarse para que se realice en las entradas de puntos de coherencia cada cinco minutos, mientras que puede realizarse un respaldo diferencial en los datos de replicacion cada hora. Adicionalmente, puede planificarse que se realice un respaldo completo una vez al dia. Tales politicas de planificacion pueden determinarse ventajosamente para satisfacer las necesidades del usuario mientras se reduce el impacto en los recursos de sistema.
En ciertas realizaciones, despues de que se realizan las operaciones de almacenamiento apropiadas en los datos replicados, puede enviarse un mensaje a otros componentes de gestion de sistema (por ejemplo, un gestor de instantanea y/o gestor de almacenamiento opcional) que indica que el proceso de replicacion esta completo hasta la indicacion de tiempo asociada al punto de coherencia. En este punto, el agente de replicacion 356 puede ordenar que se reanuden las operaciones de copia asociadas a los hilos 358A, 358B.
5
10
15
20
25
30
35
40
45
50
55
60
65
La Figura 5 ilustra una realizacion ejemplar de una estructura de datos de una entrada de registro 500 usable con los sistemas de replicacion descritos en el presente documento. En ciertas realizaciones, la entrada de registro 500 comprende informacion con respecto a modificaciones a datos y/o ficheros en el dispositivo de almacenamiento de origen 112 y puede incluir, por ejemplo, informacion con respecto a: que fichero se modifico en el tiempo de la modification, el tipo de la modification, los datos relativos, una identification unica, combinaciones de los mismos o similares. Para fines ejemplares, los diversos campos de la entrada de registro 500 se describiran con respecto a una operation de escritura de datos en el sistema de replicacion 400 de la Figura 4.
En ciertas realizaciones, la entrada de registro 500 se genera inicialmente mediante el controlador de filtro 110 y se almacena en el registro de origen 244. Por ejemplo, la entrada de registro 500 puede comprender una palabra de datos que tiene una pluralidad de campos. Como se ilustra, la entrada de registro 500 comprende un campo de numero de entrada de registro 502, un campo de ruta 504, un campo de indication de tiempo 506, un campo de tipo de aplicacion 508, un campo de tipo de escritura 510, un campo de tamano 512, un campo de suma de comprobacion 514, un campo de desplazamiento 516 y un campo de cabida util 522.
El campo de numero de entrada de registro 502 puede incluir informacion con respecto al numero de entrada asignado a la entrada de registro 500 para fines de gestion de sistema de manera que puedan rastrearse entradas y reordenarse con relation entre si si fuera necesario. Por ejemplo, como se ha mencionado anteriormente, las entradas de registro pueden disponerse de una manera temporalmente secuencial basandose en la operacion de escritura de aplicacion a la que esta asociada la entrada de registro particular 500. En ciertas realizaciones, los numeros entrada de registro u otra informacion puede reciclarse con el tiempo una vez que se hayan usado todos los numeros en un intervalo particular. En otras realizaciones mas, el campo de numero de entrada de registro 502 puede configurarse para almacenar otros tipos de datos de identificacion para etiquetar la entrada de registro 500.
El campo de ruta 504 puede incluir informacion con respecto a la ruta de fichero en el dispositivo de almacenamiento de origen 112 con el que se asocio la operacion de escritura de datos. Por ejemplo, una ruta de "C:\DIR\USER\" puede indicar que la entrada de registro corresponde a una operacion que escribe datos en una carpeta o fichero en el dispositivo de almacenamiento de origen que tiene el nombre de ruta designado. En ciertas realizaciones, el campo de ruta 504 puede incluir un nombre de ruta absoluta de fichero. En otras realizaciones, el campo de ruta 504 puede incluir un nombre de ruta abreviado y/o un inodo (por ejemplo, para sistemas basados en UNIX).
Ademas, el campo de ruta 504 puede incluir informacion con relacion al destino de volumen de replicacion de la entrada de registro, y por lo tanto puede ser util al establecer o confirmar la informacion de correlation o de emparejamiento usada mediante el hilo o los hilos 358A, 358B. Por ejemplo, en ciertas realizaciones, la ruta de fichero de un fichero de registro particular puede pregrabarse en uno o mas volumen o volumenes de replicacion particulares.
El campo de indicacion de tiempo 506 puede incluir informacion con respecto al tiempo cuando tuvo lugar la escritura de datos objeto. En ciertas realizaciones, la indicacion de tiempo esta asociada ventajosamente al tiempo del ordenador cliente 230 en el que se esta ejecutando la aplicacion 108. Por ejemplo, el controlador de filtro 110 puede acceder al tiempo de sistema de origen cuando se genera la entrada de registro 500. En otras realizaciones, la indicacion de tiempo puede proporcionarse mediante el controlador de filtro 110 y/o puede ser relativa al tiempo del sistema de replicacion.
El campo de tipo de aplicacion 508 puede incluir informacion que identifica el tipo de aplicacion a la que esta asociada la entrada de registro 500 (por ejemplo, datos de MICROSOFT OUTLOOK, datos de MICROSOFT SHAREPOINT, datos de ORACLE, datos de SQL, datos de MICROSOFT WORD, datos de MICROSOFT INTERNET EXPLORER o similares).
El campo de tipo de escritura 510 puede incluir informacion con respecto a la categoria de datos de escritura implicados con la entrada de registro 500. Por ejemplo, el tipo de escritura puede identificar si la entrada de registro 500 esta asociada a una modificacion de base de datos, una escritura de registro, un comando de compromiso de base de datos, un punto de coherencia o similares. En ciertas realizaciones, la informacion en el campo de tipo de escritura 510 se usa para implementar paralelismo entre multiples hilos cuando se realiza replicacion de datos. Por ejemplo, un primer hilo (por ejemplo, el hilo 358A) puede manejar comandos de escritura de registro, y un segundo hilo (por ejemplo, el hilo 358B) puede manejar comandos de base de datos de compromiso. En ciertas realizaciones, los datos almacenados en el campo de tipo de escritura 510 pueden usarse para priorizar el procesamiento de diversas entradas de registro (por ejemplo, procesamiento mediante los hilos 358).
El campo de tamano 512 puede incluir informacion con respecto al tamano (por ejemplo, el numero de bytes) de los datos que se estan modificando mediante la operacion de escritura de datos. En otras realizaciones mas, el campo de tamano 512 puede contener informacion con respecto al tamano de segmentos adicionales u otros en la entrada de registro 500, tal como, por ejemplo, el tamano del campo de cabida util 522.
El campo de suma de comprobacion 514 puede incluir informacion relacionada con la comprobacion de errores para asegurar, por ejemplo, que la entrada de registro 500, cuando se crea y se transmite posteriormente, contiene el
5
10
15
20
25
30
35
40
45
50
55
60
65
numero esperado de bits y no se ha corrompido o cambiado inadmisiblemente de otra manera. Por ejemplo, el campo de suma de comprobacion 514 puede almacenar datos que representan la suma aritmetica de algunos o todos los campos en la entrada de registro 500.
El campo de desplazamiento 516 puede incluir informacion relacionada con la localization en un fichero o portion de datos que tiene lugar la escritura de datos. Por ejemplo, si la operation de escritura de datos objeto esta asociada a la modification del vigesimo al trigesimo bytes de un fichero o pieza de datos de cincuenta bytes de largo, el campo de desplazamiento 516 puede almacenar un valor de veinte. En tales realizaciones, la informacion en el campo de desplazamiento 516 puede usarse conjuntamente con la informacion en el campo de tamano 512 para identificar toda la porcion de un fichero que se esta modificando. Por ejemplo, en el ejemplo anterior el campo de tamano 512 puede almacenar un valor de once para indicar la longitud de la section modificada (es decir, del vigesimo al trigesimo bytes).
El campo de cabida util 522 puede incluir informacion relacionada con los datos que se escriben desde la aplicacion 108 al dispositivo de almacenamiento de origen 112. Esta informacion representa en general los datos de aplicacion capturados mediante el controlador de filtro 110 para replication y puede incluir informacion adicional para la operacion o reconstitution en curso de la aplicacion 108.
Se entendera que la entrada de registro de controlador de filtro ilustrativo 500 mostrada en la Figura 5 simplemente representa una posible realization de una entrada de registro adecuada para uso con realizaciones de la invention y que pueden usarse otras realizaciones si se desea. Por ejemplo, en otras realizaciones, la entrada de registro 500 puede comprender mas o menos campos para adaptar los requisitos de la replicacion particular o sistema de operacion de almacenamiento implicado y/o para conseguir ciertos objetivos de datos o de gestion, tal como conservar memoria, aumentar velocidad de procesamiento y aumentar la cantidad de informacion en cada entrada de registro. Por ejemplo, en ciertas realizaciones en las que la determination de ruta para un fichero de registro particular o entrada de registro es dinamica, la entrada de registro 500 puede no incluir el campo de ruta 504. En otras realizaciones, la entrada de registro 500 puede incluir un campo de prioridad que puede usarse para priorizar replicacion y/u operaciones de gestion de datos de datos asociados a la entrada de registro 500.
En otras realizaciones, la entrada de registro 500 puede referirse a un cambio de atributo de fichero en lugar de a una operacion de escritura de datos. En tales realizaciones, el campo de tipo de escritura 510 puede identificar la entrada de registro 500 como que esta asociada a un cambio de atributo de fichero. Adicionalmente, la entrada de registro 500 puede almacenar informacion con respecto al nuevo atributo de fichero pero no requeriria que se almacenaran valores de desplazamiento o de tamano en el campo de tamano 512 y/o en el campo de desplazamiento 516.
La Figura 6 ilustra otra realizacion de un sistema de replicacion 600 similar al sistema de replicacion 400 de la Figura 4. Como se muestra, el sistema de replicacion 600 incluye adicionalmente un gestor de almacenamiento 680 que comunica con el sistema de origen 102 y el sistema de replicacion 104. En ciertas realizaciones, el gestor de almacenamiento 680 es un modulo de software o aplicacion que esta configurada para dirigir la realizacion de una o mas operaciones de almacenamiento y, en particular, la replicacion de datos desde el sistema de origen 102 al sistema de replicacion 104. En realizaciones adicionales, el gestor de almacenamiento 680 puede realizar una o mas de las operaciones o funciones anteriormente descritas con respecto al agente de datos 236 y/o al agente de replicacion 356. Por ejemplo, el gestor de almacenamiento 680 puede dirigir y/o coordinar la realizacion de una o mas operaciones de almacenamiento en los datos replicados (por ejemplo, instantaneas de los datos replicados).
En ciertas realizaciones, el gestor de almacenamiento 680 mantiene un indice 682, tal como una cache, para almacenar informacion relacionada con: relaciones logicas y asociaciones entre componentes del sistema de replicacion 600, preferencias de usuario, tareas de gestion, y/u otros datos utiles. Por ejemplo, el gestor de almacenamiento 680 puede usar su indice 682 para rastrear la localizacion e indicaciones de tiempo de una o mas instantaneas de los datos replicados. En ciertas realizaciones, el gestor de almacenamiento 680 puede rastrear asociaciones logicas entre uno o mas agentes de medios (no mostrado) y/o dispositivos de almacenamiento.
El gestor de almacenamiento 680 puede usar tambien su indice 682 para rastrear el estado de operaciones de gestion de datos a realizar, patrones de almacenamiento asociados a los componentes del sistema tal como uso de medios, crecimiento de almacenamiento, ancho de banda de red, niveles de conformidad con el Acuerdo de Nivel de Servicio ("SLA"), niveles de protection de datos, informacion de politica de almacenamiento, criterios de almacenamiento asociados a preferencias de usuario, criterios de retention, preferencias de operacion de almacenamiento y otra informacion relacionada con el almacenamiento. El indice 682 puede residir normalmente en el disco duro y/u otra base de datos del gestor de almacenamiento.
Como se muestra en la Figura 6, el gestor de almacenamiento 680 comunica adicionalmente con una base de datos 684. En ciertas realizaciones, la base de datos del gestor de almacenamiento 684 comprende una memoria para almacenar informacion de gestion de sistema relacionada con la replicacion de datos. Por ejemplo, la base de datos 684 puede configurarse para almacenar politicas de almacenamiento y/o restauracion, preferencias de usuario, el estado o localizacion de componentes de sistema o datos, combinaciones de los mismos y similares. En otras
5
10
15
20
25
30
35
40
45
50
55
60
65
realizaciones mas, la base de datos 684 puede configurarse para almacenar informacion anteriormente descrita con respecto al mdice 682. En otras realizaciones mas, al menos una porcion del indice 682 puede almacenarse en la base de datos 684.
En otras realizaciones, el gestor de almacenamiento 680 puede alertar al usuario o sistema cuando un recurso particular del sistema de replication 600 no esta disponible o esta congestionado o cuando los componentes no estan disponibles debido a fallo de hardware, problemas de software u otras razones. En ciertas realizaciones, el gestor de almacenamiento 680 puede utilizar datos del sistema de replicacion 600 para sugerir soluciones a tales problemas cuando tienen lugar o incluso antes de que tengan lugar. Por ejemplo, el gestor de almacenamiento 680 puede alertar al usuario de que un dispositivo de almacenamiento en el sistema de replicacion 600 estaba completo o congestionado de otra manera, y a continuation sugerir, basandose en informacion de trabajo y de almacenamiento de datos contenida en su cache de indice, un dispositivo de almacenamiento alternativo. En mas realizaciones adicionales, el gestor de almacenamiento 680 u otro componente de sistema pueden tomar acciones para remediar el problema en cuestion. Por ejemplo, el gestor de almacenamiento 680 puede realizar equilibrio de carga, correction de errores o similares, basandose en informacion recibida con respecto al sistema de replicacion 600.
En ciertas realizaciones, el gestor de almacenamiento 680 puede incluir otros componentes y/o modulos, Por ejemplo, el gestor de almacenamiento 680 puede incluir un modulo de agente de trabajo (no mostrado) que monitoriza el estado de las operaciones de almacenamiento que se han realizado, que se estan realizando, o que se han planificado para realizarse en el sistema de replicacion 600.
Ademas, el gestor de almacenamiento 680 puede incluir un modulo de agente de interfaz (no mostrado). En ciertas realizaciones, el modulo de agente de interfaz puede proporcionar logica de presentation, tal como una interfaz de usuario grafica ("GUI"), una interfaz de programacion de aplicacion ("API"), u otra interfaz mediante la que los usuarios y procesos de sistema pueden recuperar informacion acerca del estado de las operaciones de almacenamiento y emitir instrucciones al sistema de replicacion 600 con respecto a la realization de las operaciones de almacenamiento. Por ejemplo, un usuario puede modificar la planificacion de un numero de copias de instantanea pendientes u otros tipos de copias. Como otro ejemplo, un usuario puede usar la GUI para ver el estado de todas las operaciones de almacenamiento actualmente pendientes en el sistema de replicacion 600 o el estado de componentes particulares en el sistema de replicacion 600.
Los detalles adicionales de los modulos de gestor de almacenamientos utiles con realizaciones de los sistemas de replicacion descritos en el presente documento se describen en la Solicitud de Patente de Estados Unidos N.° 09/354.063, presentada el 15 de julio de 1999, que se incorpora por la presente en el presente documento por referencia en su totalidad.
La Figura 7 ilustra un diagrama de flujo simplificado de un proceso de initialization 700. En particular, el proceso de initialization 700 se refiere a ciertos procesos preliminares y actos para configurar un sistema para realizar replicacion de datos, como se desvela en el presente documento. Para fines ejemplares, el proceso de inicializacion 700 se describira en lo sucesivo con referencia a los componentes del sistema de replicacion 400 de la Figura 4.
El proceso de inicializacion 700 comienza con el Bloque 705, en el que uno o mas agente o agentes de datos 236 se instalan en el ordenador cliente 230. El agente de datos 236 puede instalarse remotamente de otras porciones del sistema de replicacion 400 basandose en una necesidad particular o para ajustarse a ciertas directivas o politicas de almacenamiento residentes. El agente de datos 236 puede instalarse localmente mediante un usuario de sistema segun se desee. Por ejemplo, la instalacion del agente de datos 236 puede incluir el despliegue e instalacion de ficheros de codigo de objeto y software de soporte.
El agente de datos 236 puede instalarse para cada aplicacion 108 de interes, o uno o mas agentes de datos 236 pueden instalarse para un numero mayor de aplicaciones 108. Adicionalmente, una guia de instalacion tal como un asistente u otro programa puede recomendar el numero apropiado y tipo de agentes de datos 236 para instalar (que puede realizarse sustancialmente de manera automatica basandose en informacion de aplicacion y configuration de sistema).
En el Bloque 710, los agentes de datos instalados 236 pueden realizar ciertas rutinas de auto-descubrimiento para determinar informacion de sistema y de aplicacion basica. Las rutinas de auto-descubrimiento pueden considerarse parte del proceso de instalacion. Por ejemplo, el agente de datos 236 puede empezar el proceso de auto- descubrimiento explorando y evaluando la carpeta y estructura de directorios del ordenador cliente 230 para determinar que carpetas se usan mediante una aplicacion particular 108. Tal informacion permite al agente de datos 236 identificar y localizar ficheros u otra informacion necesaria para replicar el estado de operation actual de la aplicacion 108 de interes.
El proceso de exploration y evaluation puede implicar explorar multiples volumenes fisicos y/o logicos asociados al dispositivo de almacenamiento de origen 112 y/o en una red dada o empresa para localizar los datos e informacion de configuracion de sistema necesarios para la replicacion de datos.
5
10
15
20
25
30
35
40
45
50
55
60
65
Despues de que se han descubierto y examinado los recursos apropiados, el agente de datos 236 puede identificar, disponer, coordinar y/o poner en cola los datos necesarios en las diversas localizaciones o instancias de la aplicacion 108 para establecer una plataforma para replicacion de datos apropiada (Bloque 715). Este proceso puede ser un precursor para realizar la operacion de semilla inicial anteriormente descrita.
A continuation, en el Bloque 720, el agente de datos 236 comunica con el agente de replicacion 356. Por ejemplo, el agente de datos 236 puede transmitir al agente de replicacion 356 information con respecto a la replicacion de datos. El agente de datos 236 puede solicitar tambien la informacion desde el agente de replicacion 356 y/u otros componentes de gestion de red para cualquier informacion que pueda llevarse en, o estar relacionada con, la correlation o mapeo de rutas de almacenamiento de red para datos de replicacion. Por ejemplo, el agente de datos 236 puede consultar la base de datos de preferencias 470 del sistema de destino 104, la base de datos de preferencias 465 del sistema de origen 102 y/o un componente de gestor de almacenamiento, para informacion de correlacion o de emparejamiento. Basandose en esta informacion, pueden identificarse rutas de datos para uso mediante hilos 358 cuando se copian datos desde los registros de replicacion 352 a los volumenes de replicacion 116A, 116B. Una o mas rutas de datos pueden codificarse o determinarse dinamicamente, tal como, por ejemplo, basandose en una o mas politicas y/o preferencias de almacenamiento.
En el Bloque 730, el proceso de initialization 700 incluye instalar e inicializar los controladores de filtro 110. Tal instalacion y/o inicializacion esta basada al menos en parte en informacion obtenida mediante el agente de datos 236 durante el proceso de descubrimiento (Bloque 710). Por ejemplo, uno o mas controladores de filtro 110 pueden instalarse mediante el agente de datos 236 en la ruta de E/S de la aplicacion o aplicaciones 108.
La Figura 8 ilustra un diagrama de flujo simplificado de un proceso de replicacion 800 de acuerdo con ciertas realizaciones de la invention. En particular, el proceso de replicacion 800 implica el copiado de datos desde un sistema de origen a un sistema de destino. Adicionalmente, en ciertas realizaciones, el proceso de replicacion 800 esta configurado para realizarse despues de la finalization del proceso de inicializacion 700 de la Figura 7. Para fines ejemplares, el proceso de replicacion 800 se describira en lo sucesivo con referencia a los componentes del sistema de replicacion 400 de la Figura 4.
El proceso de replicacion 800 comienza con el Bloque 805, en el que el controlador de filtro 110 rellena el registro o registros de origen 244 con datos asociados a la aplicacion 108, tales como datos identificados mediante el agente de datos 236. Como se ha analizado en mas detalle anteriormente, tales datos pueden referirse a operaciones de modification de fichero o de datos que se pasan desde la aplicacion 108 al dispositivo de almacenamiento de origen 112. En ciertas realizaciones, el controlador de filtro 110 rellena los registros de origen 244 de una manera temporalmente secuencial de manera que las operaciones y datos se registran en orden de tiempo descendente (o ascendente) (por ejemplo, primera operacion en la parte superior y la ultima operacion en la parte inferior).
En ciertas realizaciones, los datos se rellenan en los registros de origen 244 en un formato similar a la estructura de la entrada de registro 500 de la Figura 5. En otras realizaciones, los datos pueden rellenarse en otros formatos adecuados para satisfacer los requisitos del sistema de replicacion particular. Por ejemplo, el formato de fichero de registro puede comprender una estructura de dos o de multiples columnas, en la que la informacion en una primera columna puede indicar el tipo de operacion de datos realizada, y la position de entrada de registro en el fichero de registro indica el orden de la operacion con relation a las otras operaciones en el fichero de registro. La informacion en una segunda columna puede indicar los datos de cabida util asociados a la operacion de datos indicada mediante la primera columna.
Despues de o concurrentemente con el Bloque 805, el agente de datos 236 u otro componente de sistema pausa o inactiva la aplicacion 108 (Bloque 810). Como se ha analizado anteriormente, tal inactivation provoca que la aplicacion 108 suspenda temporalmente las operaciones de modificacion de datos al dispositivo de almacenamiento de origen 112 una vez que la aplicacion 108 alcanza un estado bueno conocido.
Una vez que se suspenden las nuevas operaciones de modificacion y el registro de origen asociado 244 se rellena basandose en las operaciones de modificacion hasta el estado bueno conocido, el agente de datos 236 u otro componente de sistema de replicacion inserta un marcador o etiqueta logico en el registro de origen 244 (Bloque 815). Este "punto de coherencia" indica que el estado de los datos es de manera que la aplicacion 108 puede recuperarse o que se asegura operacion estable adicional desde ese punto en adelante. Una vez que se identifica y establece el punto de coherencia, el agente de datos 236 puede reiniciar la aplicacion 108 de manera que se reanudan las operaciones de modificacion de datos desde la aplicacion 108 al dispositivo de almacenamiento de origen 112.
Como se hace referencia mediante el Bloque 820, el agente de datos 236 u otro componente de sistema coordina la transferencia de los datos en los registros de origen 244. En ciertas realizaciones, el agente de datos 236 coordina con el agente de replicacion 356 para copiar datos desde los registros de origen 244 al registro o registros de replicacion 352. Por ejemplo, el agente de replicacion 356 y/o agente de datos 236 pueden abrir una ruta de red o un conector de comunicacion entre el registro o registros de origen 244 y el registro o registros de replicacion 352. Las entradas de registro del registro o registros de origen 244 pueden a continuacion transferirse como se ha descrito
5
10
15
20
25
30
35
40
45
50
55
60
65
anteriormente para rellenar el registro o registros de replicacion 352. En ciertas realizaciones, a medida que se rellena el registro de replicacion 352, el agente de replicacion 356 puede obtener tambien informacion de configuracion desde el agente de datos 236 u otro componente de gestion de sistema tal como, por ejemplo, un gestor de almacenamiento. Tal informacion de configuracion puede identificar aspectos del conjunto de informacion que se estan transfiriendo asi como identificar informacion de emparejamiento que correlaciona ciertos tipos de datos de replicacion con ciertos volumenes de replicacion u otros destinos de almacenamiento.
En el Bloque 825, el proceso de replicacion 800 incluye instanciar uno o mas hilos 358 para empezar la transferencia de datos desde el registro o registros de replicacion 352 a ciertos volumenes de replicacion 116A, 116B. En ciertas realizaciones, el agente de replicacion 356 esta configurado para instanciar uno o mas de los hilos 358A, 358B. En ciertas realizaciones, los hilos 358 se instancian y/o particularizan basandose en informacion de emparejamiento o de correlacion recibida desde un componente de gestion y/o basandose en cierta informacion de configuracion de sistema (por ejemplo, volumenes de replicacion disponibles), informacion de ruta de datos, el tipo de informacion en el conjunto de datos transferidos, combinaciones de los mismos y similares. Por ejemplo, el agente de replicacion 356 puede instanciar uno o mas hilos 358 que correlacionan ciertos tipos de datos con ciertos volumenes de datos y puede especificar rutas de datos primarias y alternativas.
Una vez instanciado, los hilos 358 procesan y/o cruzan el registro o registros de replicacion 352 hasta que se encuentra un punto de coherencia (Bloque 830). En ciertas realizaciones, cuando se alcanza un punto de coherencia, el hilo 358 detiene la exploracion del registro de replicacion 352 y notifica al agente de replicacion 356 que el hilo 358 ha alcanzado el punto de coherencia (Bloque 835).
En ciertas realizaciones, una vez que todos los hilos activos 358 asociados al cruce de los registros de replicacion 352 han notificado al agente de replicacion 356 que se ha alcanzado un punto de coherencia, el proceso de replicacion 800 se mueve al Bloque 840. En este punto, los datos replicados almacenados en los volumenes de replicacion 116A, 116B preferentemente representan un estado bueno conocido de la aplicacion 108.
En el Bloque 840, el agente de replicacion 356 suspende la operacion adicional mediante los hilos 358. Por ejemplo, el agente de replicacion 356 puede suspender escrituras de datos a los volumenes de destino 116A, 116B. En este punto, el proceso de replicacion 800 continua con el Bloque 845, en el que una o mas operaciones de almacenamiento (por ejemplo, instantaneas) pueden realizarse en los datos replicados, que se han descrito en mas detalle anteriormente.
La Figura 9 representa un diagrama de bloques de otra realizacion de un sistema de replicacion 900, que tiene multiples modulos de replicacion. En ciertas realizaciones el sistema de replicacion 900 proporciona ventajosamente opciones de equilibrio de carga entre los modulos de replicacion y/o el procesamiento paralelo de los datos de replicacion.
Como se muestra, el sistema de replicacion 900 comprende el sistema de origen 102 que comunica a traves de la red 106 con una pluralidad de modulos de replicacion 114a, 114b y 114c. Por simplicidad, los diversos subcomponentes del sistema de origen 102 y los modulos de replicacion 114a-114c no se describiran en detalle, y se entendera que tales subcomponentes, y funciones de los mismos, pueden ser similares a aquellos descritos con respecto a Figuras 1-4.
En ciertas realizaciones, cada uno de los modulos de replicacion 114a-114c esta configurado para recibir una porcion de datos de replicacion desde el sistema de origen 102. Por ejemplo, uno o mas agentes de datos del sistema de origen 102 puede comunicar con agentes de replicacion de los modulos de replicacion 114a-114c para coordinar la transferencia de datos desde los registros de origen a registros de replicacion. En ciertas realizaciones, un agente de datos puede comunicar con uno o mas modulos de replicacion, o multiples agentes de datos pueden comunicar con el mismo modulo de replicacion.
Por ejemplo, en ciertas realizaciones, cada modulo de replicacion puede configurarse para recibir un tipo particular de datos de aplicacion desde el sistema de origen 102. Como un ejemplo, el modulo de replicacion 114a puede configurarse para recibir datos de replicacion relacionados con MICROSOFT EXCHANGE, mientras que los modulos de replicacion 114b, 114c estan configurados para recibir datos de replicacion relacionados con, respectivamente, datos de SHAREPOINT y SQL. En otras realizaciones mas, cada modulo de replicacion puede manejar diferentes tipos de datos desde la misma aplicacion.
En otras realizaciones, los datos de replicacion pueden enviarse a cada uno de los modulos de replicacion 114a- 114c basandose al menos en parte en la carga de trabajo de los modulos de replicacion 114a-114c. En tales realizaciones, el sistema de replicacion 900 puede comprender adicionalmente un gestor de almacenamiento u otro componente de sistema (no mostrado) que puede monitorizar el estado de cada uno de los modulos de replicacion 114a-114c. En otras realizaciones mas, los modulos de replicacion 114a-114c pueden comunicar un informe de estado al agente o agentes de datos del sistema de origen 102. Cuando uno de los modulos de replicacion 114a- 114c tiene una carga desequilibrada en comparacion con los otros modulos de replicacion, los datos de replicacion desde el sistema de origen 102 pueden volverse a encaminar o dirigirse a uno o mas de los otros modulos de
5
10
15
20
25
30
35
40
45
50
55
60
65
replicacion.
Se entendera tambien que, en ciertas realizaciones, los modulos de replicacion 114a-114c pueden comunicar tambien entre s^ directamente o a traves de la red 106. Por ejemplo, los modulos de replicacion 114a-114c pueden compartir entre si information con respecto a: politicas de almacenamiento, information de localization de almacenamiento, cargas de procesamiento, capacidades de almacenamiento, combinaciones de los mismos o similares.
Como se representa adicionalmente en la Figura 9, cada uno de los modulos de replicacion 114a-114c esta asociado a un dispositivo de almacenamiento de destino, la funcionalidad y estructura del cual se ha descrito en mas detalle anteriormente. En ciertas realizaciones, cada uno de los dispositivos de almacenamiento de destino 116a- 116c es un dispositivo separado. Por ejemplo, uno o mas de los dispositivos de almacenamiento de destino 114a- 114c puede localizarse remotamente con respecto a los otros dispositivos de almacenamiento de destino. En otras realizaciones mas, uno o mas de los dispositivos de almacenamiento de destino 114a-114c puede residir en el mismo medio fisico, tal como volumenes separados en el mismo medio fisico.
En ciertas realizaciones, el sistema de replicacion 900 comprende adicionalmente un segundo nivel que tiene uno o mas dispositivos de almacenamiento de destino 116d que se usan para almacenar datos de copia generados desde operaciones de almacenamiento realizadas en los datos de replicacion almacenados en los dispositivos de almacenamiento de destino 116a-116c. Por ejemplo, como se muestra, en comunicacion con los dispositivos de almacenamiento de destino 116a-116c es un agente de medios 902. En ciertas realizaciones, el agente de medios 902 comprende un modulo (software y/o hardware) que realiza, copia o mueve de otra manera datos entre los dispositivos de almacenamiento de destino 116a-116c y el dispositivo de almacenamiento de destino 116d. El agente de medios 902 puede comunicar en general con los dispositivos de almacenamiento de destino 116a-116d mediante un bus local, tal como un adaptador SCSI. En otras realizaciones, los dispositivos de almacenamiento de destino 116a-116d pueden estar acoplados de manera comunicativa al agente de medios 902 mediante una SAN y/o un NAS.
En ciertas realizaciones, el agente de medios 902 puede mantener una cache de indice que almacena datos generados mediante el sistema de replicacion 900 durante operaciones de almacenamiento. Tales datos pueden incluir, por ejemplo, informacion con respecto a la localizacion de los datos almacenados en los dispositivos de almacenamiento de destino 116a-116d, informacion con respecto al contenido de los datos almacenados, tal como nombres de fichero, tamanos, fechas de creation, formatos, tipos de aplicacion, y otros criterios relacionados con ficheros, informacion con respecto al sistema cliente 102 y/o los modulos de replicacion 114a-114c.
En ciertas realizaciones, el agente de medios 902 y/o un gestor de almacenamiento pueden almacenar informacion con respecto a una o mas politicas de almacenamiento, criterios de almacenamiento o preferencias de almacenamiento asociadas a los datos replicados almacenados. Por ejemplo, en ciertas realizaciones, el agente de medios 902 esta configurado para obtener instantaneas parciales de datos desde multiples dispositivos de almacenamiento de destino 116a-116c y unir las instantaneas parciales en una unica instantanea de datos para almacenar en el dispositivo de almacenamiento de destino 116d.
Por ejemplo, en ciertas realizaciones, el agente de medios 902 puede obtener instantaneas parciales que estan asociadas de manera logica a la misma indication de tiempo. Es decir, las instantaneas parciales de datos de replicacion que se generan con respecto al mismo punto de coherencia pueden reenviarse al agente de medios 902 y construirse en una unica instantanea de los datos. Puesto que la indicacion de tiempo asociada de manera logica a las instantaneas unidas se refiere a un estado bueno conocido de la aplicacion en el momento que se genera un punto de coherencia en el sistema cliente, no importa el tiempo o tiempos en el que realmente se tomaron y/o unieron las instantaneas parciales de los datos replicados. Por lo tanto, el agente de medios 902 puede unir instantaneas que se tomaron en diferentes tiempos pero que se refieren al mismo estado bueno conocido de la aplicacion.
Adicionalmente, en ciertas realizaciones, el agente de medios 902 u otro componente de sistema puede asociar de manera logica la instantanea recien unida a la indicacion de tiempo del punto de coherencia relevante. Por lo tanto, multiples operaciones de almacenamiento pueden realizarse de manera repetitiva en los datos de replicacion sin perder integridad referencial con los datos de volumen de production almacenados en el sistema cliente.
Mientras se realizan copias de datos, las redes informaticas se enfrentan en ocasiones con errores de red y/o reinicios. Por ejemplo, una conexion de red puede perderse entre dos sitios y/o los datos transmitidos pueden corromperse. En vista de lo anterior, seria ventajoso tener un sistema de replicacion que incluyera adicionalmente un proceso para verificar que se reciben las entradas de registro y/o se procesan o reproducen apropiadamente una vez en la maquina o maquinas de destino.
La Figura 10 ilustra una realization de una configuration de cache de desplazamiento 1000 que proporciona el rastreo del ultimo registro aplicado satisfactoriamente en la maquina o maquinas de destino, conservando registros no transferidos aun incluso a traves de reinicios, y/o cambiando de vuelta a un modo de sincronizacion inicial si
5
10
15
20
25
30
35
40
45
50
55
60
65
hubiera pasado demasiado tiempo durante un fallo de red. Por ejemplo, la configuracion de cache de desplazamiento 1000 realiza almacenamiento en cache de entradas de registro en la capa de aplicacion una vez que se han recibido las entradas de registro desde un controlador de filtro.
La configuracion de la cache de desplazamiento 1000 mantiene una cache de desplazamiento 1002 de entradas de registro en un sistema de origen y realiza rastreo del ultimo numero de secuencia aplicado satisfactoriamente en cada uno de los destinos. En general, la cache de desplazamiento 1002 almacena entradas de registro generadas mediante el sistema de origen, entradas de registro que se recuperan posteriormente mediante uno o mas hilos (o procesos) de replicacion. En un entorno basado en UNIX, las entradas de registro en la cache de desplazamiento 1002 se han asignado preferentemente a un nombre de ruta de fichero de destino (tal como a traves de traduccion de nombre de ruta), que se describe en mas detalle a continuacion con respecto a las Figuras 11-13.
La cache de desplazamiento 1002 comprende una cache de disco permanente cuyo almacenamiento no se ve afectado por reinicios de sistema o similares. La cache de desplazamiento 1002 esta configurada para mantener su espacio de almacenamiento realizando una manera primero en entrar primero en salir. En particular, cuando se anaden nuevas entradas de registro a la cache de desplazamiento 1002, se borran las entradas de registro mas antiguas. Tales ejemplos reducen ventajosamente la fragmentacion y la necesidad de limpiezas de disco de la cache de desplazamiento 1002.
El tamano de la cache de desplazamiento 1002 es seleccionable por un usuario. Por ejemplo, el usuario puede introducir a traves de una interfaz de usuario la cantidad de memoria en un disco a asignar para la cache de desplazamiento 1002. El tamano de la cache de desplazamiento 1002 esta fijo y/o predeterminado. Por ejemplo, la cache de desplazamiento 1002 mantiene un historial de entrada de registro de entre aproximadamente cinco gigabytes y aproximadamente veinte gigabytes. La cache de desplazamiento 1002 tiene un tamano menor o un tamano mayor para cumplir las necesidades del sistema de replicacion particular (por ejemplo, dependiendo del tamano de las entradas de registro individuales).
Como se representa en la Figura 10, la cache de desplazamiento 1002 comunica adicionalmente con una pluralidad de hilos de replicacion: un primer hilo de replicacion 1010, un segundo hilo de replicacion 1012, un tercer hilo de replicacion 1014 y un cuarto hilo de replicacion 1016. Cada uno de los hilos de replicacion 1010, 1012, 1014, 1016 comunica a traves de una red 1020 con uno o mas sistemas de destino. Por ejemplo, el primer hilo de replicacion 1010 puede comunicar con un primer sistema de destino 1030, el segundo hilo de replicacion 1012 puede comunicar con un segundo sistema de destino 1032, el tercer hilo de replicacion 1014 puede comunicar con un tercer sistema de destino 1034, y el cuarto hilo de replicacion 1016 puede comunicar con un cuarto sistema de destino 1060. Multiples hilos de replicacion pueden comunicar con un unico sistema de destino, y/o un unico hilo de replicacion puede comunicar con multiples sistemas de destino.
Los hilos de replicacion 1010, 1012, 1014, 1016 obtienen entradas de registro desde la cache de desplazamiento 1002 y reenvian las entradas al sistema o sistemas de destino apropiados para replicacion de datos. Puesto que se almacena preferentemente un historial de las entradas de registro en la cache de desplazamiento 1002, los hilos de replicacion 1010, 1012, 1014, 1016 no necesitan almacenar copias de las entradas de registro transmitidas, incluso si el sistema de destino particular resultara estar fuera de linea. Los hilos de replicacion 1010, 1012, 1014, 1016 monitorizan que entradas de registro se han reproducido satisfactoriamente en el sistema o sistemas de destino.
Por ejemplo, cada una de las entradas de registro comprende una identificacion unica, tal como, por ejemplo, un numero de secuencia. Cuando se reproduce una entrada de registro particular en un sistema de destino, el sistema de destino objeto registra el numero de secuencia de la entrada de registro mas recientemente almacenada. Cuando uno de los hilos de replicacion establece, o vuelve a establecer, una conexion de red con uno de los sistemas de destino 1030, 1032, 1034, 1036 (por ejemplo, despues de un error o reinicio de red), el hilo de replicacion solicita desde el sistema de destino el numero de secuencia de la entrada de registro mas recientemente (y satisfactoriamente) reproducida. El hilo de replicacion a continuacion usa el numero de secuencia para recuperar la siguiente entrada de registro desde la cache de desplazamiento 1002, y el proceso de replicacion se reanuda desde donde el proceso se suspendio o aborto anteriormente. En circunstancias cuando ha pasado demasiado tiempo desde el fallo de red, y la cache de desplazamiento 1002 ha borrado las entradas de registro en cuestion (por ejemplo, "renovadas"), entonces el sistema de replicacion puede replegarse en un espejo inicial para reanudar la operacion normal.
El sistema o sistemas de destino envian el numero de secuencia de la entrada de registro mas recientemente reproducida al hilo de destino particular que transmitio la entrada de registro. El sistema de replicacion puede almacenar el numero de secuencia de la entrada de registro mas recientemente reproducida. El sistema de replicacion puede notificar a todos los hilos de replicacion 1010, 1012, 1014, 1016 y/u otros sistemas de destino que se ha reproducido satisfactoriamente una entrada de registro particular.
Puesto que la cache de desplazamiento 1002 proporciona un historial sustancial de todos los cambios registrados, el sistema de replicacion puede recuperarse de errores de red o de reinicios de maquina de destino sin tener que resincronizar todo el sistema. Es decir, el hilo o hilos de replicacion pueden encontrar la entrada de registro
5
10
15
20
25
30
35
40
45
50
55
60
65
apropiada (por ejemplo, la entrada de registro que sigue la ultima entrada de registro reproducida satisfactoriamente) en la cache de desplazamiento 1002 y reanudar el trafico de replicacion en el sistema de destino.
La configuration de cache de desplazamiento 1000 de la Figura 10 puede proporcionar varias ventajas. Por ejemplo, los sistemas de replicacion 1030, 1032, 1034, 1036 no necesitan enviar acuses de recibo al hilo o hilos de replicacion de que se ha recibido una entrada de registro particular mediante el sistema o sistemas de replicacion. Los hilos de replicacion 1010, 1012, 1014, 1016 estan configurados para enviar o transmitir entradas de registro a los sistemas de destino sin esperar una respuesta, dando como resultado por lo tanto una transmision de datos mas rapida. Adicionalmente, los componentes del sistema de origen no necesitan almacenar information con respecto a que entradas de registro se han reproducido.
Aunque la configuracion de la cache de desplazamiento 1000 de la Figura 10 ilustra una pluralidad de hilos de replicacion 1010, 1012, 1014, 1016 y sistemas de destino 1030, 1032, 1034, 1036, la configuracion de la cache de desplazamiento 1000 puede comprender mas o menos hilos de replicacion y/o sistemas de destino. Adicionalmente, la configuracion de la cache de desplazamiento 100 puede comprender mas hilos de replicacion que sistemas de destino o mas sistemas de destino que hilos de replicacion.
Como se ha analizado anteriormente, una de las ventajas de los sistemas de replicacion de datos desveladas en el presente documento es que tales sistemas pueden traducir informacion interceptada mediante un controlador de filtro en un primer (origen) sistema en informacion que es adecuada para reproduction (por ejemplo, replicacion) en un segundo sistema (destino). Sin embargo, la identification de ficheros o directorios en el sistema de origen puede no ser adecuada para uso con la estructura de directorios del sistema de destino.
Por ejemplo, en sistemas basados en UNIX, tales como SOLARIS y LINUX, las operaciones de sistema de ficheros se identifican generalmente como operaciones en "inodos" (o "vnodos") de manera que los ficheros se hacen referencia mediante un unico numero de inodo y/o mediante una combination de uno mas numeros de inodo de directorio y un nombre corto. Tales sistemas a menudo utilizan algoritmos de traduction de nombre de ruta para implementar una vista jerarquica a nivel de usuario del sistema de ficheros.
Tal uso de inodos y nombres cortos, sin embargo, no es propicio para reproducir operaciones de modification de datos en un segundo sistema, tal como tiene lugar en los sistemas de replicacion de datos desvelados en el presente documento. Es decir, una ruta que tiene uno o mas inodos y/o nombres cortos no proporciona un sistema de destino con la informacion apropiada para realizar la operation de modificacion de datos replicados.
Ciertos sistemas operativos (por ejemplo, SOLARIS 10, LINUX 2.6) realizan traduccion de nombre de ruta en el nucleo de sistema operativo cruzando generalmente hacia atras una cache de busqueda de nombre de directorio (DNLC). Usar tales sistemas de traduccion en el entorno de replicacion de datos, sin embargo, puede producir problemas de concurrencia si no se realizan ciertos procesos de bloqueo. Por ejemplo, para asegurar que otros hilos o procesos no renombren uno de los componentes de una ruta absoluta de fichero entre el tiempo que el hilo calcula la ruta absoluta y el tiempo que se emite una entrada de registro relevante, el DNLC necesitaria bloquearse frente a actualizaciones desde otros hilos durante ese periodo de tiempo. Teniendo este bloqueo central en el DNLC, sin embargo, puede imponer penalizaciones de rendimiento graves en todo el sistema operativo.
La Figura 11 ilustra un diagrama de bloques de un sistema de traduccion de nombre de ruta 1100 que esta configurado para realizar mas eficazmente la traduccion de nombre de ruta en un sistema de replicacion de datos. Por ejemplo, el sistema de traduccion 1100 esta configurado ventajosamente para convertir numeros de inodo (tales como aquellos usados dentro del controlador de nucleo y/o manejadores de sistema de ficheros virtuales asociados) de un sistema de origen en nombres de ruta de fichero absoluta a usarse en uno o mas sistemas de replicacion. Toda o una portion de la traduccion de nombre de ruta se implementa ventajosamente en el espacio de aplicacion externo al espacio de nucleo (por ejemplo, en el "terreno del usuario"), reduciendo de esta manera cargas potenciales en el sistema de origen.
Como se muestra, el sistema de traduccion de nombre de ruta 1100 comprende un controlador de filtro 1110. El controlador de filtro 1110 esta configurado para monitorizar operaciones de gestion de datos, tales como operaciones de escritura de datos u operaciones de modificacion de atributos, asociadas a una aplicacion informatica que se ejecuta en un ordenador de origen. Por ejemplo, tales operaciones pueden comprender cambios a datos en una memoria de nivel de production. Ejemplos de controladores de filtro usables con el sistema de traduccion de nombre de ruta 1100 se describen en mas detalle en el presente documento.
El controlador de filtro 1110 esta configurado adicionalmente para rellenar una cola 1112 con entradas de registro, o entradas de registro diario "en bruto", relacionadas con operaciones de modificacion de datos detectadas desde la aplicacion. Las entradas de registro generadas mediante el controlador de filtro 1110 estan cada una asociadas a un inodo que identifica a que directorio y/o fichero en el dispositivo de almacenamiento de origen se dirigio la modificacion de datos asociada. La cola 1112 esta configurada para almacenar las entradas de registro hasta que se procesen mediante un hilo (o proceso) controlador 1114. La cola 1112 esta implementada en memoria volatil en el sistema de origen.
5
10
15
20
25
30
35
40
45
50
55
60
65
La cola 1112 reenvia las entradas de registro al hilo controlador 1114. El hilo controlador 1114 interroga la cola 1112 por entradas de registro reden generadas mediante el filtro 1110. El hilo controlador 1114 almacena posteriormente las entradas de registro en una memoria intermedia 1116. La memoria intermedia 1116 puede etiquetarse una memoria intermedia "en bruto" en que esta configurada para almacenar entradas de registro "en bruto", que se generaron mediante el controlador de filtro 1110 y/o que no tienen aun un nombre de ruta absoluta de fichero.
La memoria intermedia 1116 es una cola basada en memoria para almacenar las entradas de registro hasta que se procesen mediante un hilo (o proceso) de base de datos 1118. La memoria intermedia 1116 facilita ventajosamente y/o facilita la descarga de registros en bruto de memoria de controlador cara a memoria de aplicacion de intercambio. Por ejemplo, la memoria intermedia 1116 puede comprender una memoria intermedia de nivel de aplicacion de un tamano entre aproximadamente 40 megabytes y aproximadamente 60 megabytes. La memoria intermedia 1116 esta implementada ventajosamente como una memoria intermedia de primero en entrar primero en salir.
El hilo de la base de datos 1118 ventajosamente puede realizar traduccion de inodo a nombre de ruta para cada una de las entradas de registro en la memoria intermedia 1116. Despues de realizar la traduccion, el hilo de la base de datos 1118 puede enviar la entrada de registro (con el nombre de ruta absoluta de fichero de la entrada de inodo) a un destino deseado, tal como un sistema de replicacion, para procesamiento adicional. El hilo de la base de datos 1118 envia la entrada de registro a una cache, tal como la cache de desplazamiento 1002 de la Figura 10, en el sistema de origen antes de que se envie la entrada de registro a un sistema de replicacion.
El hilo de la base de datos 1118 esta configurado para acceder a una base de datos de nombre de ruta 1120 para posibilitar que el hilo 1118 realice traduccion de nombre de ruta. La base de datos de nombre de ruta 1120 almacena ventajosamente informacion que asocia uno o mas inodos o nombres cortos a un nombre de ruta absoluta de fichero. La base de datos de nombre de ruta 1120 puede comprender otros medios o datos para realizar traduccion de nombre de ruta, incluyendo, pero sin limitacion, una tabla plana, codigo personalizado, combinaciones de los mismos o similares.
El hilo de la base de datos 1118 esta configurado para procesar secuencialmente y realizar traduccion de nombre de ruta para cada una de las entradas de registro y/o realizar actualizaciones de base de datos. Puesto que las entradas se procesan en el mismo orden como se registran mediante el sistema de almacenamiento de origen, se conserva la coherencia de los nombres de fichero de almacenamiento en la base de datos de nombre de ruta 1120 cada vez que llega un nuevo registro. Un sistema de ficheros particular esta asociado a unicamente un unico hilo de base de datos 1118. El uso de un unico hilo para realizar traduccion de nombre de ruta tambien facilita la sincronizacion entre la base de datos de nombre de ruta 1120 y el sistema de origen (por ejemplo, sistema de ficheros de origen). Puesto que todas las busquedas de la base de datos y cambios a la base de datos de nombre de ruta se estan realizando mediante o a traves del hilo de la base de datos 1118 de una manera en serie, se evitan las modificaciones indeseadas a nombres de ruta antes de acceder la base de datos de nombre de ruta 1120.
El acceso la base de datos de nombre de ruta 1120 introduce retardo en el sistema de traduccion 1100. Por ejemplo, en ciertos puntos en el proceso de replicacion, el controlador de filtro 1110 puede generar entradas de registro a un paso mas rapido que las traducciones de nombre de ruta que se realiza mediante el hilo de la base de datos 1118. Por ejemplo, busquedas de disco de alta actividad en la base de datos 1120 para cada entrada de registro pueden requerir mas tiempo que la generacion de las entradas de registro mediante el controlador de filtro 1110.
La memoria intermedia 1116 puede ventajosamente adaptarse a si misma a la velocidad del hilo de la base de datos 1118. Por ejemplo, cuando las busquedas mediante el hilo de la base de datos 1118 son relativamente rapidas, la memoria intermedia 1116 no introduce retardo significativo en el flujo de datos (por ejemplo, relativamente sin degradation de rendimiento debido a la memoria intermedia 1116). Por lo tanto, la memoria intermedia 1116 puede dimensionarse ventajosamente para que sea relativamente transparente al flujo de datos (por ejemplo, tiene una pequena huella). Sin embargo, cuando las busquedas de la base de datos empiezan a ralentizarse, la memoria intermedia 1116 puede almacenar multiples entradas de registro hasta que el hilo de la base de datos 1118 pueda ponerse al dia.
Las busquedas de la base de datos mediante el hilo de la base de datos 1118 pueden hacerse demasiado intensivas en tiempo de modo que se alcance la maxima capacidad de almacenamiento de la memoria intermedia 1116. La memoria intermedia 1116 esta configurada para proporcionar funcionalidad de intercambio de disco para evitar sobrecarga de la memoria intermedia 1116, que puede dar como resultado problemas de memoria y/o abortar la replicacion. Por ejemplo, como se muestra en la Figura 11, la memoria intermedia 1116 puede almacenar entradas de registro en exceso en una carpeta en la memoria 1122. La memoria 1122 puede comprender un disco y/o puede localizarse en el dispositivo de almacenamiento de la maquina de origen.
Al realizar el intercambio, la memoria intermedia 1116 reenvia las entradas de registro mas recientes a la memoria 1122. A medida que el hilo de la base de datos 1118 recupera y procesa las entradas de registro menos recientes en la memoria intermedia 1116, la memoria intermedia 1116 recupera las entradas de registro almacenadas en la
5
10
15
20
25
30
35
40
45
50
55
60
65
memoria 1122.
El intercambio de disco, como se ha analizado anteriormente, puede introducir tambien retardo o degradacion de rendimiento en el sistema de traduccion 1100. Por lo tanto, el sistema de traduccion 1100 esta configurado para monitorizar el estado de la cola 1112 y/o la memoria intermedia 1116 para determinar si la acumulacion de entradas de registro no procesadas supera un umbral particular. Por ejemplo, tal monitorizacion de la cola 1112 puede realizarse mediante el controlador de filtro 1110 y/u otro componente de gestion externo al sistema de traduccion 1100. El controlador de filtro 1110 utiliza un contador para rastrear el numero de entradas de registro almacenadas en la cola 1112.
Si la acumulacion de las entradas de registro no procesadas se hace demasiado alta, el sistema de traduccion 1100 esta configurado para acelerar la aplicacion y/u otras aplicaciones que se ejecutan en el sistema. Por ejemplo, el controlador de filtro 1110 puede monitorizar la memoria requerida mediante las entradas de registro almacenadas, y cuando la memoria supera un umbral dado, tiene lugar la aceleracion de la aplicacion. Por ejemplo, puede establecerse un umbral entre aproximadamente 30 megabytes y aproximadamente 60 megabytes de manera que la aceleracion de la aplicacion tiene lugar cuando se supera el umbral.
La aceleracion de la aplicacion incluye que el controlador de filtro 1110 introduzca retardos en la ruta de entrada/salida de la aplicacion, tal como manteniendo operaciones de modificacion de datos en lugar de dejandolas pasar a traves del sistema de ficheros. Por ejemplo, el controlador de filtro 1110 puede almacenar en cache las operaciones de modificacion de datos hasta que el hilo de la base de datos 1118 haya procesado las entradas de registro en exceso. El controlador de filtro 1110 puede emitir un comando para suspender la aplicacion de usuario (por ejemplo, durante un periodo de unos pocos milisegundos), tal como, por ejemplo, una operacion particular de la aplicacion.
El controlador que acelera la aplicacion es independiente de los procesos de intercambio de disco de la memoria intermedia 1116. Puede existir comunicacion entre componentes del sistema de traduccion 1100 de manera que se usa el controlador que acelera el proceso en conjunto con el intercambio de disco.
Aunque el sistema de traduccion 1100 se ha descrito con referencia a ejemplos particulares, otros ejemplos del sistema de traduccion 1100 pueden asumir otras configuraciones y/o funciones. Por ejemplo, el sistema de traduccion 1100 puede funcionar sin la cola 1112 y/o el hilo controlador 1114. La memoria intermedia 1116 puede implementarse en el controlador de filtro 1110 para reducir ventajosamente el numero de copias realizadas de las entradas de registro. Una configuracion de este tipo, sin embargo, puede utilizar memoria adicional del nucleo del sistema operativo.
La Figura 12 ilustra una base de datos de nombre de ruta 1120 del sistema de traduccion 1100 de la Figura 11. En particular, la base de datos de nombre de ruta 1120 puede accederse ventajosamente mediante el hilo de la base de datos 1118 cuando se determina un nombre de ruta absoluta de fichero para una o mas entradas de registro.
La base de datos de nombre de ruta ilustrada 1120 esta configurada para traduccion de inodo a nombre de ruta, tal como para un sistema basado en UNIX. En particular, la base de datos de nombre de ruta 1120 incluye tres columnas: una columna de inodo de directorio (o inodo padre) 1222, una columna de nombre corto 1224 y una columna de inodo de entrada 1226.
Cada inodo en un sistema basado en UNIX se registra como una entrada en la base de datos de nombre de ruta 1120. Por ejemplo, la Figura 12 ilustra un sistema que tiene cuatro inodos, teniendo cada uno una unica entrada en la columna de inodo de entrada 1226 y teniendo un valor de "1" a "4." La columna de nombre corto correspondiente 1224 identifica el nombre corto del fichero o carpeta asociado al inodo particular. Por ejemplo, el inodo de entrada "4" identifica una carpeta o fichero con el nombre corto de "usuario", mientras que el inodo de entrada "1" identifica un directorio raiz. La columna de inodo de directorio 1222, o columna de inodo padre, identifica el inodo del directorio padre al inodo de entrada particular. Por ejemplo, el inodo de entrada "3," que tiene un nombre corto de "fichero" es un hijo de la carpeta con un inodo de "2".
Como puede observarse a partir la base de datos de nombre de ruta ilustrada 1120, cuando el hilo de la base de datos 1118 recibe una entrada de registro con un inodo particular, el hilo de la base de datos 1118 puede acceder a la base de datos de nombre de ruta 1120 y construir un nombre de ruta absoluta de fichero usando la informacion almacenada en la misma.
La Figura 13 ilustra un proceso de traduccion de nombre de ruta simplificado 1300, tal como puede realizarse mediante el hilo de la base de datos 1118 de la Figura 11 en conjunto con la base de datos de nombre de ruta 1120 de la Figura 12. Por ejemplo, el proceso de traduccion de nombre de ruta 1300 puede usarse para traducir un inodo a un nombre de ruta, tal como un nombre de ruta absoluta de fichero usado por un sistema de destino al replicar datos.
Como se muestra, el proceso de traduccion 1300 comienza en el Bloque 1305, en el que el hilo de la base de datos
5
10
15
20
25
30
35
40
45
50
55
60
65
1118 recibe una entrada de registro a procesar. Por ejemplo, con referencia a la Figura 11, el hilo de la base de datos 1118 puede recuperar la entrada de registro desde una memoria intermedia 1116. La entrada de registro representa preferentemente una operacion de modificacion de datos asociada a una aplicacion particular en el sistema de origen.
En el Bloque 1310, el hilo de la base de datos 1118 identifica el inodo asociado a la operacion particular representada mediante la entrada de registro. Por ejemplo, el inodo puede representar un fichero o carpeta a los que se han de escribir datos. El inodo en la entrada de registro puede identificar un nombre de fichero a modificar u otros datos u operacion de modificacion de fichero.
En el Bloque 1315, el hilo de la base de datos 1118 accede a la base de datos de nombre de ruta 1120 para obtener informacion para traducir el inodo a un nombre de ruta absoluta de fichero. En particular, el hilo de la base de datos 1118 busca la columna de inodo de entrada 1226 para una entrada que corresponde al valor del inodo de la entrada de registro. Una vez que se encuentra la entrada de inodo correspondiente, el hilo de la base de datos 1118 determina (y almacena) el nombre corto asociado desde la columna de nombre corto 1224 (Bloque 1320).
El proceso de traduccion a continuacion continua con el Bloque 1325. Si el inodo objeto no corresponde al directorio raiz ("/"), el hilo de la base de datos 1118 identifica desde el inodo de directorio 1222 el inodo del directorio padre (Bloque 1330). El hilo de la base de datos 1118 a continuacion busca la columna de inodo de entrada 1226 para el inodo de directorio padre (Bloque 1335) y anade el nombre corto asociado al inodo de directorio padre al nombre de ruta absoluta de fichero (Bloque 1340).
El proceso de traduccion 1300 a continuacion vuelve al Bloque 1325 para repetir las busquedas y construccion del nombre de ruta absoluta de fichero hasta que el hilo de la base de datos 1118 alcanza el directorio raiz. Una vez que el hilo de la base de datos 1118 encuentra el directorio raiz, el hilo de la base de datos 1118 almacena el nombre de ruta de fichero completamente traducido con la entrada de registro asociada (Bloque 1345), y el proceso de traduccion 1300 termina.
Para fines ejemplares, el proceso de traduccion 1300 se describira ahora con referencia a un comando de escritura de datos "vop-write (4, DATA)" y los valores ilustrados en la base de datos de nombre de ruta de la Figura 12. Para empezar el proceso de traduccion, el hilo de la base de datos 1118 recibe la entrada de registro que representa el comando "vop-write (4, DATA)" (Bloque 1305) que corresponde a escribir "DATOS" en el inodo "4" en el sistema de origen (Bloque 1310).
El hilo de la base de datos 1118 a continuacion accede a la base de datos de nombre de ruta 1120 y busca la columna de inodo de entrada 1226 para un valor de "4" (Bloque 1315). Tras encontrar "4" en la columna de inodo de entrada 1226, el hilo de la base de datos 1118 determina desde la columna de nombre corto 1224 que el nombre corto que corresponde al inodo "4" es "usuario" (Bloque 1320).
Puesto que el inodo "4" no corresponde al directorio raiz (Bloque 1325), el hilo de la base de datos 1118 identifica desde la columna de inodo de directorio 1222 que el inodo de directorio padre del inodo "4" es el inodo "2" (Bloque 1330). El hilo de la base de datos 1118 a continuacion vuelve a buscar la columna de entrada de inodo 1226 para el valor de inodo de "2" (Bloque 1335), determina que el nombre corto para el inodo "2" es "dir," y anade "dir" al nombre de ruta de fichero (Bloque 1340).
Puesto que el inodo "2" no corresponde al directorio raiz (Bloque 1325), el hilo de la base de datos 1118 identifica desde la columna de inodo de directorio 1222 que el inodo de directorio padre del inodo "2" es el inodo "1" (Bloque 1330). El hilo de la base de datos 1118 a continuacion busca la columna de entrada de inodo 1226 para el valor de inodo de "1" (Bloque 1335) y determina que el inodo "1" corresponde al directorio raiz ("/") (Bloque 1340).
Ahora que el hilo de la base de datos 1118 ha encontrado el directorio raiz (Bloque 1325), el hilo de la base de datos 1118 almacena el nombre de ruta de fichero traducido (es decir, "/dir/usuario") con el entrada de registro objeto, y el proceso de traduccion 1300 termina.
Se entendera que el proceso de traduccion 1300 puede diferenciarse para adecuarse a las necesidades del sistema o sistemas particulares implicados. Por ejemplo, el proceso de traduccion 1300 puede usarse para traducir inodos particulares en nombres de ruta de fichero mas cortos que un nombre de ruta absoluta de fichero, tal como por ejemplo un nombre de ruta relativa.
La base de datos de tres columnas 1120 proporciona ventajas significativas sobre una tabla de dos columnas plana (por ejemplo, con una columna de inodo y una columna de nombre de ruta absoluta de fichero). Por ejemplo, la estructura de base de datos de tres columnas de la base de datos de nombre de ruta 1120 puede usar menos memoria que la tabla de dos columnas y/o facilitar operaciones de renombramiento de carpeta. Como un ejemplo, cuando se modifica un nombre de un fichero, la estructura de base de datos de tres columnas permite una busqueda y modificacion sencilla (por ejemplo, modificar la entrada de columna de nombre corto 1224 asociada a la entrada de columna de inodo de entrada 1226 del inodo objeto), mientras que la tabla de dos columnas requeriria multiples
5
10
15
20
25
30
35
40
45
50
55
60
65
busquedas y modificaciones que corresponden a cada entrada que tiene un nombre de ruta absoluta de fichero que incluye la carpeta a renombrar.
Como se ha analizado anteriormente, la base de datos de nombre de ruta 1120 se mantiene en el terreno del usuario (por ejemplo, un espacio de aplicacion externo al espacio del nucleo). La base de datos de nombre de ruta 1120 puede gestionarse y/o accederse ventajosamente mediante codigo del terreno del usuario sin impactar en los recursos del nucleo de sistema operativo u otras aplicaciones.
La base de datos de nombre de ruta 1120 puede rellenarse inicialmente durante un periodo de inicializacion. Por ejemplo, puede tomarse una instantanea para producir una imagen estatica del sistema de ficheros del sistema de origen. La base de datos de nombre de ruta 1120 puede a continuacion rellenarse basandose en la instantanea. A medida que se realizan cambios posteriores a nombres de fichero del sistema de origen, se realizan cambios correspondientes en la base de datos de nombre de ruta 1120 para mantener sincronizacion.
La base de datos de nombre de ruta 1120 puede ser especifica a los ficheros y/o carpetas de una o mas aplicaciones particulares. Por ejemplo, la base de datos de nombre de ruta 1120 puede incluir inodos, nombres cortos e informacion relacionada unicamente para aquellos inodos afectados por una unica aplicacion (por ejemplo, MICROSOFT EXCHANGE). Pueden usarse multiples bases de datos de nombre de ruta 1120.
Como se ha analizado anteriormente, los ejemplos permiten a uno o mas usuarios personalizar los procesos de replicacion realizados mediante uno o mas sistemas de replicacion descritos en el presente documento. Las Figuras 14A y 14B ilustran diagramas de bloques de porciones de interfaz de usuario de un sistema de replicacion.
En particular, la Figura 14A ilustra una porcion de interfaz de usuario 1400 que tiene una interfaz 1402 asociada a un ordenador cliente 1410. La interfaz 1402 comprende una interfaz de usuario grafica. Por ejemplo, la interfaz de usuario grafica puede comprender una o mas ventanas, listas desplegables, cuadros de texto, combinaciones de los mismos o similares, visualizados en un monitor de ordenador.
El ordenador cliente 1410 incluye adicionalmente un controlador de filtro 1412 que comunica con una pluralidad de registros de origen 1420, 1422, 1424, 1426. Cada uno de los registros de origen 1420, 1422, 1424, 1426 corresponde a una aplicacion particular 1408.
La interfaz 1402 proporciona al usuario con una opcion para especificar una o mas politicas que se aplican a cada una de las aplicaciones 1408. Por ejemplo, el usuario puede determinar cual de las aplicaciones 1408 se ha de monitorizar y/o con que frecuencia se han de copiar los datos asociados a una aplicacion particular. La interfaz 1402 puede permitir a un usuario asociar aplicaciones particulares a registros de origen particulares. Por ejemplo, el usuario puede especificar que todos los ficheros de datos relacionados con una aplicacion relacionada con SQL se filtren y registren en el registro de origen 1420. El usuario puede especificar tambien que todos los ficheros de datos relacionados con una aplicacion de MICROSOFT EXCHANGE se filtren y registren en el registro de origen 1422.
El usuario, a traves de la interfaz 1420, puede designar diferentes tipos de operaciones de gestion de datos (por ejemplo, operaciones de almacenamiento) para realizarse en los datos de aplicacion mediante el controlador de filtro 1412. Las operaciones de almacenamiento pueden incluir, por ejemplo, crear copias de instantaneas, datos de respaldo especificos de la aplicacion, datos de respaldo relacionados con el sistema y/u otras operaciones de copia asociadas a datos en un sistema de operation de almacenamiento.
Las preferencias de filtro pueden exponerse en una plantilla o politica de almacenamiento por defecto. Por ejemplo, en la porcion de interfaz de usuario 1450 ilustrada en la Figura 14B, puede usarse un unico registro de origen 1420 para registrar ficheros asociados a diferentes aplicaciones especificadas por el usuario. Por ejemplo, en el registro de origen 1420, las entradas de registro pueden comprender uno o mas campos de identificador de aplicacion, tales como por ejemplo, el campo de tipo de aplicacion 508 (vease la Figura 5), para distinguir entre entradas registradas asociadas a diferentes aplicaciones seleccionables por el usuario.
La interfaz 1402 esta incluida en un sistema de origen, tal como con el ordenador cliente 1410. La interfaz 1402 puede ser parte de un componente de gestion de sistema, tal como el gestor de almacenamiento 680 de la Figura 6.
En ciertas realizaciones de la invention, pueden usarse sistemas y metodos de replicacion de datos en un sistema de gestion de almacenamiento modular, realizaciones de los cuales se describen en mas detalle en la Solicitud de Patente de Estados Unidos N.° 7.035.880, expedida el 5 de abril de 2006. Por ejemplo, el sistema de replicacion de datos puede ser parte de una celula de operacion de almacenamiento que incluye combinaciones de componentes de hardware y software dirigidos a realizar operaciones de almacenamiento en datos electronicos. Las celulas de operacion de almacenamiento ejemplares usables con realizaciones de la invencion incluyen Com-mCells como se incorporan en el sistema de gestion de almacenamiento QNet y el sistema de gestion de almacenamiento QiNetix por CommVault Systems, Inc. (Oceanport, Nueva Jersey), y como se describe adicionalmente en la Solicitud de Patente de Estados Unidos N.° 10/877.831, presentada el 25 de junio de 2004, publicada ahora como la Publication de Solicitud de Patente de Estados Unidos N.° 2005-0033800 A1.
5
10
15
20
25
30
35
40
45
Los sistemas y modulos descritos en el presente documento pueden comprender software, firmware, hardware, o cualquier combinacion o combinaciones de software, firmware, o hardware adecuados para los fines descritos en el presente documento. El software y otros modulos pueden residir en servidores, estaciones de trabajo, ordenadores personales, tabletas informaticas, PDA y otros dispositivos adecuados para los fines descritos en el presente documento. El software y otros modulos pueden ser accesibles mediante memoria local, mediante una red, mediante un explorador, o mediante otros medios adecuados para los fines descritos en el presente documento. Las estructuras de datos descritas en el presente documento pueden comprender ficheros informaticos, variables, series de programacion, estructuras de programacion o cualquier esquema o metodo de almacenamiento de informacion electronica, o cualquier combinacion de los mismos, adecuados para los fines descritos en el presente documento. Los elementos de interfaz de usuario descritos en el presente documento pueden comprender elementos de interfaces de usuario graficas, interfaces de linea de comando, y otras interfaces adecuadas para los fines descritos en el presente documento.
Las realizaciones de la invention se han descrito tambien anteriormente con referencia a ilustraciones de diagramas de flujo y/o diagramas de bloque de metodos, aparatos (sistemas) y productos de programa informatico. Se entendera que cada bloque de las ilustraciones de diagrama de flujo y/o diagramas de bloque y combinaciones de bloques en las ilustraciones de diagrama de flujo y/o diagramas de bloque, pueden implementarse mediante instrucciones de programa informatico. Estas instrucciones de programa informatico pueden proporcionarse a un procesador de un ordenador de fin general, ordenador de fin especial, u otro aparato de procesamiento de datos programable para producir una maquina, de manera que las instrucciones, que ejecutan mediante el procesador del ordenador u otro aparato de procesamiento de datos programable, crean medios para implementar los actos especificados en el diagrama de flujo y/o bloque o bloques del diagrama de bloques.
Estas instrucciones de programa informatico pueden almacenarse tambien en una memoria legible por ordenador que puede dirigir un ordenador u otro aparato de procesamiento de datos programable para operar de una manera particular, de manera que las instrucciones almacenadas en la memoria legible por ordenador producen un articulo de fabrication que incluye medios de instruction que implementan los actos especificados en el diagrama de flujo y/o bloque o bloques del diagrama de bloques. Las instrucciones de programa informatico pueden cargarse tambien en un ordenador u otro aparato de procesamiento de datos programable para provocar que se realicen una serie de operaciones en el ordenador u otro aparato programable para producir un proceso implementado por ordenador de manera que las instrucciones que se ejecutan en el ordenador u otro aparato programable proporcionan etapas para implementar los actos especificados en el diagrama de flujo y/o bloque o bloques de diagrama de bloques.
Ademas, los metodos y funciones descritos en el presente documento no estan limitados a ninguna secuencia particular, y los actos o bloques relacionados con los mismos pueden realizarse en otras secuencias que sean apropiadas. Por ejemplo, los actos descritos pueden realizarse en un orden distinto al especificamente desvelado, o multiples actos o bloques pueden combinarse en un unico acto o bloque.
Aunque se han descrito ciertas realizaciones de las invenciones, estas realizaciones se han presentado a modo de ejemplo unicamente, y no se pretenden para limitar el alcance de la invencion. De hecho, los metodos y sistemas novedosos descritos en el presente documento pueden realizarse en otras diversas formas; adicionalmente, diversas omisiones, sustituciones y cambios en la forma de los metodos y sistemas descritos en el presente documento pueden realizarse sin alejarse del alcance de la divulgation. Las reivindicaciones adjuntas y sus equivalentes se pretenden para cubrir tales formas o modificaciones como caerian dentro del alcance de la divulgacion.
Claims (6)
- 5101520253035404550556065REIVINDICACIONES1. Un metodo para realizar operaciones de gestion de datos en una red informatica (106), comprendiendo el metodo:monitorizar operaciones de datos asociadas a primeras y segundas aplicaciones (108) que se ejecutan en un sistema de origen (102), siendo las operaciones de datos operativas para escribir datos en un primer dispositivo de almacenamiento (112) del sistema de origen;rellenar un primer fichero de registro de origen (460) almacenado en el sistema de origen con un primer conjunto de entradas de datos (463) indicativas de un primer conjunto de las operaciones de datos relacionadas con la primera aplicacion y rellenar un segundo fichero de registro de origen (462) almacenado en el sistema de origen con un segundo conjunto de entradas de datos (464) indicativas de un segundo conjunto de operaciones de datos relacionadas con la segunda aplicacion;insertar en cada uno del primer y del segundo ficheros de registro de origen un respectivo marcador de punto decoherencia (463, 464) indicativo de un estado recuperable de la respectiva aplicacion, incluyendo el marcadoruna indicacion de tiempo que identifica un tiempo del estado recuperable de la respectiva aplicacion;copiar las entradas de datos y el marcador desde el primer y el segundo ficheros de registro de origen (460, 462)a los correspondientes primer y segundo ficheros de registro de replicacion (466, 468) en un sistema de destino(104);instanciar un primer hilo (358A) en el sistema de destino y, usando el primer hilo, reproducir en un primer volumen de replicacion (116A) en el sistema de destino el primer conjunto de operaciones de datos basandose en dichas entradas de datos en el primer fichero de registro de replicacion (466) para replicar datos en el primer volumen de replicacion;instanciar un segundo hilo (358B) en el sistema de destino y, usando el segundo hilo, reproducir en un segundo volumen de almacenamiento (116B) en el sistema de destino el segundo conjunto de operaciones de datos basandose en dichas entradas de datos en el segundo fichero de registro de replicacion (468) para replicar datos en el segundo volumen de replicacion;explorar el primer y el segundo ficheros de registro de replicacion hasta encontrar los respectivos marcadores de puntos de coherencia (463, 464), y tras encontrar el respectivo marcador de punto de coherencia, generar una primera instantanea de los datos replicados que se replicaron en el primer volumen de replicacion (116A), en donde dicha generation de la primera instantanea se realiza en un punto identificado mediante dicho respectivo marcador, en donde la primera instantanea es una imagen de punto en el tiempo creada desde el primer volumen de replicacion, y generar una segunda instantanea de los datos replicados que se replicaron en el segundo volumen de replicacion (116B), en donde dicha generacion de la segunda instantanea se realiza en el punto identificado mediante dicho respectivo marcador, en donde la segunda instantanea es una imagen de punto en el tiempo creada desde el segundo volumen de replicacion;almacenar la primera y la segunda instantaneas sin interrumpir o suspender las operaciones de datos en el primer dispositivo de almacenamiento (112); yasociar la primera y la segunda instantaneas a la information de indicacion de tiempo que identifica el tiempo del estado recuperable de la primera y de la segunda aplicaciones (108) de manera que la instantanea parece haberse generado directamente desde los datos en el primer dispositivo de almacenamiento (112) en el tiempo del estado recuperable de la primera y de la segunda aplicaciones.
- 2. El metodo de la reivindicacion 1, en el que dicha reproduction comprende reproducir las operaciones de datos asociadas a unicamente una aplicacion.
- 3. El metodo de la reivindicacion 1, que comprende adicionalmente inactivar la aplicacion (108) en el tiempo del estado recuperable de la respectiva aplicacion.
- 4. Un sistema para realizar operaciones de gestion de datos en un entorno de red informatica, comprendiendo el sistema:primera y segunda aplicaciones informaticas (108) configuradas para ejecutarse en un ordenador de origen (230) de un sistema de origen (102);un primer dispositivo de almacenamiento (112) del sistema de origen acoplado al ordenador de origen (230) para recibir operaciones de escritura de datos desde la primera y la segunda aplicaciones informaticas (108); al menos un modulo de controlador de filtro (110) configurado para monitorizar las operaciones de escritura de datos, para generar entradas de registro en un primer fichero de registro de origen (460) almacenado en el sistema de origen (102) indicativo de un primer conjunto de operaciones de escritura de datos relacionadas con la primera aplicacion, para generar entradas de registro en un segundo fichero de registro de origen (462) almacenado en el sistema de origen (102) indicativo de un segundo conjunto de operaciones de escritura de datos relacionadas con la segunda aplicacion, en donde al menos una de las entradas de registro (463) en el primer fichero de registro de origen y al menos una de las entradas (464) en el segundo fichero de registro de origen es un respectivo marcador de punto de coherencia indicativo de un estado recuperable de la respectiva aplicacion (108), incluyendo el marcador una indicacion de tiempo que identifica un tiempo del estado recuperable de la respectiva aplicacion informatica (108); y un sistema de destino (104) que comprende:5101520253035primer y segundo volumenes de replication (116A, 116B); un modulo de replicacion (114) configurado para:copiar las entradas de datos y los marcadores de puntos de coherencia desde el primer y el segundo ficheros de registro de origen (460, 462) a los correspondientes primer y segundo ficheros de registro de replicacion (466, 468) en el sistema de destino;instanciar un primer hilo (358A) en el sistema de destino y, usando el primer hilo, reproducir el primer conjunto de operaciones de datos basandose en dichas entradas de datos en el primer fichero de registro de replicacion (466) para replicar datos en el primer volumen de replicacion (116A);instanciar un segundo hilo (358B) en el sistema de destino y, usando el segundo hilo, reproducir el segundo conjunto de operaciones de datos basandose en dichas entradas de datos en el segundo fichero de registro de replicacion (468) para replicar datos en el segundo volumen de almacenamiento (116B);explorar el primer y el segundo ficheros de registro de replicacion (466, 468) hasta encontrar los respectivos marcadores de puntos de coherencia (463, 464);tras encontrar el respectivo marcador de punto de coherencia, generar una primera instantanea de los datos replicados que se replicaron en el primer volumen de replicacion (116A), estando la primera instantanea en un punto identificado mediante dicho respectivo marcador de punto de coherencia (463), en donde la primera instantanea es una imagen de punto en el tiempo creada desde el primer volumen de replicacion, y generar una segunda instantanea de los datos replicados que se replicaron en el segundo volumen de replicacion (116B), estando la segunda instantanea en el punto identificado mediante dicho respectivo marcador de punto de coherencia (464), en donde la segunda instantanea es una imagen de punto en el tiempo creada desde el segundo volumen de replicacion;almacenar la primera y la segunda instantaneas sin interrumpir o suspender las operaciones de datos en el primer dispositivo de almacenamiento (112); yasociar la primera y la segunda instantaneas a la information de indication de tiempo que identifica el tiempo del estado recuperable de la primera y de la segunda aplicaciones (108), de manera que la instantanea parece haberse generado directamente desde los datos en el primer dispositivo de almacenamiento (112) en el tiempo del estado recuperable de la primera y la segunda aplicaciones.
- 5. El sistema de la reivindicacion 4, en el que el controlador de filtro (110) esta entre la al menos una aplicacion informatica (108) y el primer dispositivo de almacenamiento (112).
- 6. El sistema de la reivindicacion 4, en el que el modulo de replicacion (114) esta configurado para suspender dicha reproduction cuando se encuentra el marcador de punto de coherencia (463, 464).
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75220405P | 2005-12-19 | 2005-12-19 | |
US752204P | 2005-12-19 | ||
US83385106P | 2006-07-27 | 2006-07-27 | |
US833851P | 2006-07-27 | ||
PCT/US2006/048273 WO2007075587A2 (en) | 2005-12-19 | 2006-12-18 | Systems and methods for performing data replication |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2582364T3 true ES2582364T3 (es) | 2016-09-12 |
Family
ID=37986878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06848901.2T Active ES2582364T3 (es) | 2005-12-19 | 2006-12-18 | Sistemas y métodos para realizar replicación de datos |
Country Status (6)
Country | Link |
---|---|
US (5) | US7870355B2 (es) |
EP (1) | EP1974296B8 (es) |
AU (1) | AU2006331932B2 (es) |
CA (1) | CA2632935C (es) |
ES (1) | ES2582364T3 (es) |
WO (1) | WO2007075587A2 (es) |
Families Citing this family (453)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8234477B2 (en) | 1998-07-31 | 2012-07-31 | Kom Networks, Inc. | Method and system for providing restricted access to a storage medium |
US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
US7035880B1 (en) * | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
US7389311B1 (en) | 1999-07-15 | 2008-06-17 | Commvault Systems, Inc. | Modular backup and retrieval system |
US7395282B1 (en) | 1999-07-15 | 2008-07-01 | Commvault Systems, Inc. | Hierarchical backup and retrieval system |
US6658436B2 (en) | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
US7155481B2 (en) | 2000-01-31 | 2006-12-26 | Commvault Systems, Inc. | Email attachment management in a computer system |
US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
US7454569B2 (en) | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
US7529782B2 (en) | 2003-11-13 | 2009-05-05 | Commvault Systems, Inc. | System and method for performing a snapshot and for restoring data |
WO2005050381A2 (en) | 2003-11-13 | 2005-06-02 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
US8775823B2 (en) | 2006-12-29 | 2014-07-08 | Commvault Systems, Inc. | System and method for encrypting secondary copies of data |
US7827141B2 (en) * | 2005-03-10 | 2010-11-02 | Oracle International Corporation | Dynamically sizing buffers to optimal size in network layers when supporting data transfers related to database applications |
US7707453B2 (en) * | 2005-04-20 | 2010-04-27 | Axxana (Israel) Ltd. | Remote data mirroring system |
US9195397B2 (en) | 2005-04-20 | 2015-11-24 | Axxana (Israel) Ltd. | Disaster-proof data recovery |
US7870355B2 (en) | 2005-12-19 | 2011-01-11 | Commvault Systems, Inc. | Log based data replication system with disk swapping below a predetermined rate |
US7962709B2 (en) | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
US8572330B2 (en) | 2005-12-19 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for granular resource management in a storage network |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US7636743B2 (en) * | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
US7651593B2 (en) * | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US20070198422A1 (en) * | 2005-12-19 | 2007-08-23 | Anand Prahlad | System and method for providing a flexible licensing system for digital content |
US8655850B2 (en) | 2005-12-19 | 2014-02-18 | Commvault Systems, Inc. | Systems and methods for resynchronizing information |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
US7617253B2 (en) * | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Destination systems and methods for performing data replication |
US8843783B2 (en) * | 2006-03-31 | 2014-09-23 | Emc Corporation | Failover to backup site in connection with triangular asynchronous replication |
US20070244996A1 (en) * | 2006-04-14 | 2007-10-18 | Sonasoft Corp., A California Corporation | Web enabled exchange server standby solution using mailbox level replication |
US7765190B1 (en) * | 2006-05-02 | 2010-07-27 | Emc Corporation | Pseudosnapshot creation and implementation using continuous data protection |
US7603395B1 (en) * | 2006-05-02 | 2009-10-13 | Emc Corporation | Using pseudosnapshots for continuous data protection systems to surface a copy of data |
US7971091B1 (en) | 2006-05-02 | 2011-06-28 | Emc Corporation | Network configuration backup and restore operations using continuous data protection |
US7509358B1 (en) * | 2006-05-02 | 2009-03-24 | Emc Corporation | Performing replication operations on continuous data protection systems using pseudosnapshots |
US7689597B1 (en) * | 2006-05-02 | 2010-03-30 | Emc Corporation | Mirrored storage architecture using continuous data protection techniques |
US7647360B2 (en) * | 2006-06-19 | 2010-01-12 | Hitachi, Ltd. | System and method for managing a consistency among volumes in a continuous data protection environment |
US8099484B2 (en) * | 2006-06-27 | 2012-01-17 | Computer Associates Think, Inc. | Using mobile agents to perform operations of an information life-cycle management system |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US7634507B2 (en) * | 2006-08-30 | 2009-12-15 | Inmage Systems, Inc. | Ensuring data persistence and consistency in enterprise storage backup systems |
US8121977B2 (en) * | 2006-08-30 | 2012-02-21 | Iwmage Systems, Inc. | Ensuring data persistence and consistency in enterprise storage backup systems |
US20080065706A1 (en) * | 2006-09-12 | 2008-03-13 | Fisher-Rosemount Systems, Inc. | Process Data Storage For Process Plant Diagnostics Development |
US8370442B2 (en) | 2008-08-29 | 2013-02-05 | Commvault Systems, Inc. | Method and system for leveraging identified changes to a mail server |
WO2008070688A1 (en) | 2006-12-04 | 2008-06-12 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US8677091B2 (en) | 2006-12-18 | 2014-03-18 | Commvault Systems, Inc. | Writing data and storage system specific metadata to network attached storage device |
US7882061B1 (en) * | 2006-12-21 | 2011-02-01 | Emc Corporation | Multi-thread replication across a network |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US8312323B2 (en) | 2006-12-22 | 2012-11-13 | Commvault Systems, Inc. | Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved |
US8719809B2 (en) | 2006-12-22 | 2014-05-06 | Commvault Systems, Inc. | Point in time rollback and un-installation of software |
US20080215639A1 (en) * | 2007-01-04 | 2008-09-04 | Imusicdrive, Llc | Data Synchronization |
US8290808B2 (en) | 2007-03-09 | 2012-10-16 | Commvault Systems, Inc. | System and method for automating customer-validated statement of work for a data storage environment |
US8069141B2 (en) * | 2007-03-12 | 2011-11-29 | Microsoft Corporation | Interfaces for high availability systems and log shipping |
JP4479743B2 (ja) * | 2007-04-24 | 2010-06-09 | 株式会社デンソー | ロールバック方法及び情報処理装置 |
US7809910B2 (en) * | 2007-07-05 | 2010-10-05 | Novell, Inc. | Backup archive management |
US20090031100A1 (en) * | 2007-07-23 | 2009-01-29 | David Hansen | Memory reallocation in a computing environment |
US8055864B2 (en) | 2007-08-06 | 2011-11-08 | International Business Machines Corporation | Efficient hierarchical storage management of a file system with snapshots |
US7991972B2 (en) * | 2007-12-06 | 2011-08-02 | International Business Machines Corporation | Determining whether to use a full volume or repository for a logical copy backup space |
US7904466B1 (en) * | 2007-12-21 | 2011-03-08 | Netapp, Inc. | Presenting differences in a file system |
US8108356B2 (en) * | 2007-12-24 | 2012-01-31 | Korea Advanced Institute Of Science And Technology | Method for recovering data in a storage system |
US8041740B1 (en) * | 2008-03-04 | 2011-10-18 | Amdocs Software Systems Limited | Database system, method, and computer program product for recording entity state and type information for use during subsequent processing of data |
WO2009138121A1 (en) * | 2008-05-14 | 2009-11-19 | Real Enterprise Solutions Development B.V. | System and method of tracking and communicating computing states |
US8769048B2 (en) | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US9098495B2 (en) * | 2008-06-24 | 2015-08-04 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8484162B2 (en) | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US8219524B2 (en) * | 2008-06-24 | 2012-07-10 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8335776B2 (en) * | 2008-07-02 | 2012-12-18 | Commvault Systems, Inc. | Distributed indexing system for data storage |
US8166263B2 (en) | 2008-07-03 | 2012-04-24 | Commvault Systems, Inc. | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices |
US7979735B2 (en) | 2008-08-15 | 2011-07-12 | International Business Machines Corporation | Data storage with snapshot-to-snapshot recovery |
JP5366480B2 (ja) * | 2008-08-27 | 2013-12-11 | 株式会社日立製作所 | 計算機システム及びそのバックアップ方法 |
US8307177B2 (en) | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
US7882286B1 (en) * | 2008-09-26 | 2011-02-01 | EMC (Benelux)B.V., S.A.R.L. | Synchronizing volumes for replication |
AU2009296695B2 (en) | 2008-09-26 | 2013-08-01 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US8250033B1 (en) * | 2008-09-29 | 2012-08-21 | Emc Corporation | Replication of a data set using differential snapshots |
US8291261B2 (en) * | 2008-11-05 | 2012-10-16 | Vulcan Technologies Llc | Lightweight application-level runtime state save-and-restore utility |
WO2010065271A2 (en) * | 2008-11-25 | 2010-06-10 | Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Systems and methods for providing continuous file protection at block level |
US8412677B2 (en) | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8943183B2 (en) | 2008-12-10 | 2015-01-27 | Commvault Systems, Inc. | Decoupled installation of data management systems |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US9064043B2 (en) * | 2008-12-19 | 2015-06-23 | Ncr Corporation | Fault replay system and method |
US8286030B1 (en) | 2009-02-09 | 2012-10-09 | American Megatrends, Inc. | Information lifecycle management assisted asynchronous replication |
US8443166B2 (en) * | 2009-03-06 | 2013-05-14 | Vmware, Inc. | Method for tracking changes in virtual disks |
US8401996B2 (en) | 2009-03-30 | 2013-03-19 | Commvault Systems, Inc. | Storing a variable number of instances of data objects |
US8589798B2 (en) * | 2009-03-31 | 2013-11-19 | Commvault Systems, Inc. | Information management systems and methods for heterogeneous data sources |
US8209307B2 (en) | 2009-03-31 | 2012-06-26 | Commvault Systems, Inc. | Systems and methods for data migration in a clustered file system |
US8171345B2 (en) * | 2009-04-15 | 2012-05-01 | Vmware, Inc. | Disablement of an exception generating operation of a client system |
CN101551736B (zh) * | 2009-05-20 | 2010-11-03 | 杭州华三通信技术有限公司 | 基于地址指针链表的缓存管理装置和方法 |
US8578120B2 (en) | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
US8832684B2 (en) * | 2009-06-18 | 2014-09-09 | The Johns Hopkins University | Methods for improving atomicity of runtime inspections |
US8930306B1 (en) | 2009-07-08 | 2015-01-06 | Commvault Systems, Inc. | Synchronized data deduplication |
US20120124311A1 (en) * | 2009-08-04 | 2012-05-17 | Axxana (Israel) Ltd. | Data Gap Management in a Remote Data Mirroring System |
US8225146B2 (en) * | 2009-09-01 | 2012-07-17 | Lsi Corporation | Method for implementing continuous data protection utilizing allocate-on-write snapshots |
JP5170055B2 (ja) * | 2009-10-09 | 2013-03-27 | 富士通株式会社 | 処理方法,ストレージシステム,情報処理装置およびプログラム |
US8433865B2 (en) * | 2009-12-11 | 2013-04-30 | Microsoft Corporation | Consistency without ordering dependency |
US10210162B1 (en) * | 2010-03-29 | 2019-02-19 | Carbonite, Inc. | Log file management |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8819042B2 (en) | 2010-04-23 | 2014-08-26 | Bank Of America Corporation | Enhanced data comparison tool |
US8589347B2 (en) | 2010-05-28 | 2013-11-19 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8572719B2 (en) | 2010-05-28 | 2013-10-29 | Commvault Systems, Inc. | Firewall proxy systems and methods in a backup environment |
US8504526B2 (en) | 2010-06-04 | 2013-08-06 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations |
US11449394B2 (en) | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
US8793440B2 (en) | 2010-06-17 | 2014-07-29 | Microsoft Corporation | Error detection for files |
US8504869B2 (en) | 2010-07-16 | 2013-08-06 | Commvault Systems, Inc. | Kernel swapping systems and methods for recovering a network device |
US8495420B2 (en) | 2010-07-16 | 2013-07-23 | Commvault Systems, Inc. | Registry key federation systems and methods |
US8578109B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Systems and methods for retaining and using data block signatures in data protection operations |
US8935492B2 (en) | 2010-09-30 | 2015-01-13 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
US8577851B2 (en) | 2010-09-30 | 2013-11-05 | Commvault Systems, Inc. | Content aligned block-based deduplication |
US8954664B1 (en) * | 2010-10-01 | 2015-02-10 | Western Digital Technologies, Inc. | Writing metadata files on a disk |
US8756361B1 (en) | 2010-10-01 | 2014-06-17 | Western Digital Technologies, Inc. | Disk drive modifying metadata cached in a circular buffer when a write operation is aborted |
US8533523B2 (en) * | 2010-10-27 | 2013-09-10 | International Business Machines Corporation | Data recovery in a cross domain environment |
US9311374B2 (en) * | 2010-11-30 | 2016-04-12 | Red Hat, Inc. | Replicating data objects within a storage network based on resource attributes |
US10108500B2 (en) * | 2010-11-30 | 2018-10-23 | Red Hat, Inc. | Replicating a group of data objects within a storage network |
US8983902B2 (en) * | 2010-12-10 | 2015-03-17 | Sap Se | Transparent caching of configuration data |
US9020900B2 (en) | 2010-12-14 | 2015-04-28 | Commvault Systems, Inc. | Distributed deduplicated storage system |
US20120150818A1 (en) | 2010-12-14 | 2012-06-14 | Commvault Systems, Inc. | Client-side repository in a networked deduplicated storage system |
US8725692B1 (en) * | 2010-12-16 | 2014-05-13 | Emc Corporation | Replication of xcopy command |
US9021198B1 (en) | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
CN102637174A (zh) * | 2011-02-11 | 2012-08-15 | 鸿富锦精密工业(深圳)有限公司 | 镜像文件管理系统及镜像文件管理方法 |
WO2012140701A1 (en) * | 2011-04-15 | 2012-10-18 | Hitachi, Ltd. | File sharing system and file sharing method |
US9323466B2 (en) | 2011-04-27 | 2016-04-26 | Commvault Systems, Inc. | System and method for client policy assignment in a data storage system |
US9235482B2 (en) | 2011-04-29 | 2016-01-12 | International Business Machines Corporation | Consistent data retrieval in a multi-site computing infrastructure |
US8612390B2 (en) * | 2011-05-02 | 2013-12-17 | Microsoft Corporation | Lightweight caching of transaction log for sequential access |
US8930330B1 (en) | 2011-06-27 | 2015-01-06 | Amazon Technologies, Inc. | Validation of log formats |
US8756382B1 (en) | 2011-06-30 | 2014-06-17 | Western Digital Technologies, Inc. | Method for file based shingled data storage utilizing multiple media types |
US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
RU2469388C1 (ru) * | 2011-09-19 | 2012-12-10 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" - Госкорпорация "Росатом" | Способ обращения к данным, хранимым в параллельной файловой системе, с иерархической организацией памяти |
EP2728484A4 (en) * | 2011-10-28 | 2015-06-03 | Hitachi Ltd | STORAGE SYSTEM AND METHOD FOR MANAGING OBJECTS |
US8990159B2 (en) * | 2011-11-01 | 2015-03-24 | Mongodb, Inc. | Systems and methods for durable database operations in a memory-mapped environment |
US9058120B2 (en) * | 2011-11-09 | 2015-06-16 | International Business Machines Corporation | Setting optimal space allocation policy for creating dependent snapshots to enhance application write performance and reduce resource usage |
US8543544B2 (en) * | 2012-01-06 | 2013-09-24 | Apple Inc. | Checkpoint based progressive backup |
US8903774B2 (en) | 2012-01-28 | 2014-12-02 | Microsoft Corporation | Techniques for leveraging replication to provide rolling point in time backup with simplified restoration through distributed transactional re-creation |
US20130227352A1 (en) | 2012-02-24 | 2013-08-29 | Commvault Systems, Inc. | Log monitoring |
US8805940B2 (en) * | 2012-02-28 | 2014-08-12 | Microsoft Corporation | Enhanced replication for message services |
US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9471578B2 (en) | 2012-03-07 | 2016-10-18 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
CN102629268B (zh) * | 2012-03-09 | 2014-12-17 | 华为技术有限公司 | 数据同步方法、系统及数据访问装置 |
US8725821B1 (en) * | 2012-03-14 | 2014-05-13 | Comindware Ltd. | System and method for project and process management by synchronizing custom objects between ms outlook and external server |
US9565246B1 (en) * | 2012-03-14 | 2017-02-07 | Comindware Ltd. | System and method for project and process management by synchronizing custom objects between an application and external server |
US20130253977A1 (en) | 2012-03-23 | 2013-09-26 | Commvault Systems, Inc. | Automation of data storage activities |
US9020890B2 (en) | 2012-03-30 | 2015-04-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9286327B2 (en) | 2012-03-30 | 2016-03-15 | Commvault Systems, Inc. | Data storage recovery automation |
US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
US9774676B2 (en) | 2012-05-21 | 2017-09-26 | Google Inc. | Storing and moving data in a distributed storage system |
US9087006B2 (en) * | 2012-05-29 | 2015-07-21 | Infinidat Ltd. | Destaging cached data in multiple recurrences in a storage system |
US9189167B2 (en) | 2012-05-31 | 2015-11-17 | Commvault Systems, Inc. | Shared library in a data storage system |
WO2013184712A2 (en) | 2012-06-04 | 2013-12-12 | Google Inc. | Systems and methods of increasing database access concurrency using granular timestamps |
US9449006B2 (en) | 2012-06-04 | 2016-09-20 | Google Inc. | Method and system for deleting obsolete files from a file system |
US9659038B2 (en) * | 2012-06-04 | 2017-05-23 | Google Inc. | Efficient snapshot read of a database in a distributed storage system |
US9298576B2 (en) | 2012-06-04 | 2016-03-29 | Google Inc. | Collecting processor usage statistics |
US9195611B2 (en) | 2012-06-04 | 2015-11-24 | Google Inc. | Efficiently updating and deleting data in a data storage system |
US9230000B1 (en) | 2012-06-04 | 2016-01-05 | Google Inc. | Pipelining Paxos state machines |
US8977672B2 (en) | 2012-06-08 | 2015-03-10 | Commvault Systems, Inc. | Intelligent scheduling for remote computers |
US9189170B2 (en) | 2012-06-12 | 2015-11-17 | Commvault Systems, Inc. | External storage manager for a data storage cell |
US9218375B2 (en) | 2012-06-13 | 2015-12-22 | Commvault Systems, Inc. | Dedicated client-side signature generator in a networked storage system |
US20130339569A1 (en) * | 2012-06-14 | 2013-12-19 | Infinidat Ltd. | Storage System and Method for Operating Thereof |
US20140025796A1 (en) | 2012-07-19 | 2014-01-23 | Commvault Systems, Inc. | Automated grouping of computing devices in a networked data storage system |
US9275086B2 (en) | 2012-07-20 | 2016-03-01 | Commvault Systems, Inc. | Systems and methods for database archiving |
US8935568B2 (en) * | 2012-07-27 | 2015-01-13 | Dell Products, Lp | System and method of replicating virtual machines for live migration between data centers |
US9483201B2 (en) | 2012-07-31 | 2016-11-01 | Commvault Systems, Inc. | Administering a shared, on-line pool of data storage resources for performing data storage operations |
US9026498B2 (en) | 2012-08-13 | 2015-05-05 | Commvault Systems, Inc. | Lightweight mounting of a secondary copy of file system data |
US8938481B2 (en) | 2012-08-13 | 2015-01-20 | Commvault Systems, Inc. | Generic file level restore from a block-level secondary copy |
US8856484B2 (en) * | 2012-08-14 | 2014-10-07 | Infinidat Ltd. | Mass storage system and methods of controlling resources thereof |
CN103780638B (zh) * | 2012-10-18 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 数据同步方法及系统 |
US9256622B2 (en) | 2012-12-21 | 2016-02-09 | Commvault Systems, Inc. | Systems and methods to confirm replication data accuracy for data backup in data storage systems |
US9747169B2 (en) | 2012-12-21 | 2017-08-29 | Commvault Systems, Inc. | Reporting using data obtained during backup of primary storage |
US9286086B2 (en) | 2012-12-21 | 2016-03-15 | Commvault Systems, Inc. | Archiving virtual machines in a data storage system |
US9390109B2 (en) | 2012-12-21 | 2016-07-12 | Commvault Systems, Inc. | Systems and methods to detect deleted files |
US9740702B2 (en) | 2012-12-21 | 2017-08-22 | Commvault Systems, Inc. | Systems and methods to identify unprotected virtual machines |
US9633022B2 (en) * | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US9703584B2 (en) | 2013-01-08 | 2017-07-11 | Commvault Systems, Inc. | Virtual server agent load balancing |
US9760444B2 (en) | 2013-01-11 | 2017-09-12 | Commvault Systems, Inc. | Sharing of secondary storage data |
US9633033B2 (en) | 2013-01-11 | 2017-04-25 | Commvault Systems, Inc. | High availability distributed deduplicated storage system |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US9720787B2 (en) | 2013-01-11 | 2017-08-01 | Commvault Systems, Inc. | Table level database restore in a data storage system |
US20140201162A1 (en) | 2013-01-11 | 2014-07-17 | Commvault Systems, Inc. | Systems and methods to restore selected files from block-level backup for virtual machines |
US9804930B2 (en) | 2013-01-11 | 2017-10-31 | Commvault Systems, Inc. | Partial file restore in a data storage system |
US9262435B2 (en) | 2013-01-11 | 2016-02-16 | Commvault Systems, Inc. | Location-based data synchronization management |
US9633035B2 (en) | 2013-01-13 | 2017-04-25 | Reduxio Systems Ltd. | Storage system and methods for time continuum data retrieval |
US9286110B2 (en) | 2013-01-14 | 2016-03-15 | Commvault Systems, Inc. | Seamless virtual machine recall in a data storage system |
US9483489B2 (en) | 2013-01-14 | 2016-11-01 | Commvault Systems, Inc. | Partial sharing of secondary storage files in a data storage system |
US9015123B1 (en) | 2013-01-16 | 2015-04-21 | Netapp, Inc. | Methods and systems for identifying changed data in an expandable storage volume |
US9367702B2 (en) | 2013-03-12 | 2016-06-14 | Commvault Systems, Inc. | Automatic file encryption |
US10180951B2 (en) | 2013-03-15 | 2019-01-15 | Amazon Technologies, Inc. | Place snapshots |
US9672237B2 (en) | 2013-03-15 | 2017-06-06 | Amazon Technologies, Inc. | System-wide checkpoint avoidance for distributed database systems |
US11030055B2 (en) | 2013-03-15 | 2021-06-08 | Amazon Technologies, Inc. | Fast crash recovery for distributed database systems |
US9501501B2 (en) | 2013-03-15 | 2016-11-22 | Amazon Technologies, Inc. | Log record management |
US9514007B2 (en) | 2013-03-15 | 2016-12-06 | Amazon Technologies, Inc. | Database system with database engine and separate distributed storage service |
JP5983484B2 (ja) * | 2013-03-21 | 2016-08-31 | 富士通株式会社 | 情報処理システム、情報処理装置を制御する制御プログラム及び情報処理システムの制御方法 |
US9952902B1 (en) * | 2013-04-10 | 2018-04-24 | Amazon Technologies, Inc. | Determining a set of application resources |
JP6106499B2 (ja) * | 2013-04-11 | 2017-03-29 | 株式会社日立製作所 | データ反映方法 |
US9405635B2 (en) | 2013-04-16 | 2016-08-02 | Commvault Systems, Inc. | Multi-source restore in an information management system |
US10747746B2 (en) | 2013-04-30 | 2020-08-18 | Amazon Technologies, Inc. | Efficient read replicas |
US9483361B2 (en) | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Information management cell with failover management capability |
US9317213B1 (en) | 2013-05-10 | 2016-04-19 | Amazon Technologies, Inc. | Efficient storage of variably-sized data objects in a data store |
US9760596B2 (en) | 2013-05-13 | 2017-09-12 | Amazon Technologies, Inc. | Transaction ordering |
US9208032B1 (en) | 2013-05-15 | 2015-12-08 | Amazon Technologies, Inc. | Managing contingency capacity of pooled resources in multiple availability zones |
US10303564B1 (en) | 2013-05-23 | 2019-05-28 | Amazon Technologies, Inc. | Reduced transaction I/O for log-structured storage systems |
US9305056B1 (en) | 2013-05-24 | 2016-04-05 | Amazon Technologies, Inc. | Results cache invalidation |
US9047189B1 (en) | 2013-05-28 | 2015-06-02 | Amazon Technologies, Inc. | Self-describing data blocks of a minimum atomic write size for a data store |
US9483558B2 (en) | 2013-05-29 | 2016-11-01 | Commvault Systems, Inc. | Assessing user performance in a community of users of data storage resources |
US9928285B1 (en) * | 2013-06-25 | 2018-03-27 | EMC IP Holding Company LLC | Optimized cloning for backup to disk |
CN103649901A (zh) | 2013-07-26 | 2014-03-19 | 华为技术有限公司 | 数据发送方法、数据接收方法和存储设备 |
US10860529B2 (en) * | 2014-08-11 | 2020-12-08 | Netapp Inc. | System and method for planning and configuring a file system migration |
US20160041996A1 (en) | 2014-08-11 | 2016-02-11 | Netapp, Inc. | System and method for developing and implementing a migration plan for migrating a file system |
US20150074536A1 (en) | 2013-09-12 | 2015-03-12 | Commvault Systems, Inc. | File manager integration with virtualization in an information management system, including user control and storage management of virtual machines |
US10216949B1 (en) | 2013-09-20 | 2019-02-26 | Amazon Technologies, Inc. | Dynamic quorum membership changes |
US9507843B1 (en) | 2013-09-20 | 2016-11-29 | Amazon Technologies, Inc. | Efficient replication of distributed storage changes for read-only nodes of a distributed database |
US9519664B1 (en) | 2013-09-20 | 2016-12-13 | Amazon Technologies, Inc. | Index structure navigation using page versions for read-only nodes |
US9460008B1 (en) | 2013-09-20 | 2016-10-04 | Amazon Technologies, Inc. | Efficient garbage collection for a log-structured data store |
US9280591B1 (en) | 2013-09-20 | 2016-03-08 | Amazon Technologies, Inc. | Efficient replication of system transactions for read-only nodes of a distributed database |
US9699017B1 (en) | 2013-09-25 | 2017-07-04 | Amazon Technologies, Inc. | Dynamic utilization of bandwidth for a quorum-based distributed storage system |
US9552242B1 (en) | 2013-09-25 | 2017-01-24 | Amazon Technologies, Inc. | Log-structured distributed storage using a single log sequence number space |
US10223184B1 (en) | 2013-09-25 | 2019-03-05 | Amazon Technologies, Inc. | Individual write quorums for a log-structured distributed storage system |
US10769028B2 (en) | 2013-10-16 | 2020-09-08 | Axxana (Israel) Ltd. | Zero-transaction-loss recovery for database systems |
CN104572689B (zh) * | 2013-10-17 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置及系统 |
US9590886B2 (en) | 2013-11-01 | 2017-03-07 | Commvault Systems, Inc. | Systems and methods for differential health checking of an information management system |
US10387399B1 (en) | 2013-11-01 | 2019-08-20 | Amazon Technologies, Inc. | Efficient database journaling using non-volatile system memory |
US9760480B1 (en) | 2013-11-01 | 2017-09-12 | Amazon Technologies, Inc. | Enhanced logging using non-volatile system memory |
US9880933B1 (en) | 2013-11-20 | 2018-01-30 | Amazon Technologies, Inc. | Distributed in-memory buffer cache system using buffer cache nodes |
CN103559319B (zh) * | 2013-11-21 | 2017-07-07 | 华为技术有限公司 | 分布式集群文件系统的缓存同步方法和设备 |
US9223843B1 (en) | 2013-12-02 | 2015-12-29 | Amazon Technologies, Inc. | Optimized log storage for asynchronous log updates |
US9632874B2 (en) | 2014-01-24 | 2017-04-25 | Commvault Systems, Inc. | Database application backup in single snapshot for multiple applications |
US9639426B2 (en) | 2014-01-24 | 2017-05-02 | Commvault Systems, Inc. | Single snapshot for multiple applications |
US9753812B2 (en) | 2014-01-24 | 2017-09-05 | Commvault Systems, Inc. | Generating mapping information for single snapshot for multiple applications |
US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
US10324897B2 (en) | 2014-01-27 | 2019-06-18 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
US9798596B2 (en) | 2014-02-27 | 2017-10-24 | Commvault Systems, Inc. | Automatic alert escalation for an information management system |
US9633026B2 (en) | 2014-03-13 | 2017-04-25 | Commvault Systems, Inc. | Systems and methods for protecting email data |
US10380072B2 (en) | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US9633056B2 (en) | 2014-03-17 | 2017-04-25 | Commvault Systems, Inc. | Maintaining a deduplication database |
US20150269032A1 (en) * | 2014-03-18 | 2015-09-24 | Netapp, Inc. | Backing up data to cloud data storage while maintaining storage efficiency |
US9811427B2 (en) | 2014-04-02 | 2017-11-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
US10303663B1 (en) | 2014-06-12 | 2019-05-28 | Amazon Technologies, Inc. | Remote durable logging for journaling file systems |
US10949401B2 (en) * | 2014-06-25 | 2021-03-16 | Vmware, Inc. | Data replication in site recovery environment |
US20160004605A1 (en) | 2014-07-01 | 2016-01-07 | Commvault Systems, Inc. | Lightweight data reconstruction based on backup data |
US20160019317A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
US20160019117A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Creating customized bootable image for client computing device from backup copy |
US20160019224A1 (en) | 2014-07-18 | 2016-01-21 | Commvault Systems, Inc. | File system content archiving based on third-party application archiving rules and metadata |
US10031917B2 (en) | 2014-07-29 | 2018-07-24 | Commvault Systems, Inc. | Efficient volume-level replication of data via snapshots in an information management system |
US9641388B2 (en) | 2014-07-29 | 2017-05-02 | Commvault Systems, Inc. | Customized deployment in information management systems |
JP6365085B2 (ja) * | 2014-08-04 | 2018-08-01 | 富士通株式会社 | データ移行方法及びデータ移行装置 |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US10360110B2 (en) | 2014-08-06 | 2019-07-23 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US10140303B1 (en) | 2014-08-22 | 2018-11-27 | Nexgen Storage, Inc. | Application aware snapshots |
US10042716B2 (en) | 2014-09-03 | 2018-08-07 | Commvault Systems, Inc. | Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent |
US9774672B2 (en) | 2014-09-03 | 2017-09-26 | Commvault Systems, Inc. | Consolidated processing of storage-array commands by a snapshot-control media agent |
CN105472647A (zh) * | 2014-09-04 | 2016-04-06 | 中兴通讯股份有限公司 | 物联网的设备故障排除服务方法、装置及系统 |
US9405928B2 (en) | 2014-09-17 | 2016-08-02 | Commvault Systems, Inc. | Deriving encryption rules based on file content |
US9417968B2 (en) | 2014-09-22 | 2016-08-16 | Commvault Systems, Inc. | Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations |
US9436555B2 (en) | 2014-09-22 | 2016-09-06 | Commvault Systems, Inc. | Efficient live-mount of a backed up virtual machine in a storage management system |
US9710465B2 (en) | 2014-09-22 | 2017-07-18 | Commvault Systems, Inc. | Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations |
US9619173B1 (en) * | 2014-09-23 | 2017-04-11 | EMC IP Holding Company LLC | Updating synchronization progress |
US9609058B2 (en) | 2014-10-13 | 2017-03-28 | Commvault Systems, Inc. | Storage management operations based on executable files served on demand to storage management components |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
US9575673B2 (en) | 2014-10-29 | 2017-02-21 | Commvault Systems, Inc. | Accessing a file system using tiered deduplication |
US10776209B2 (en) | 2014-11-10 | 2020-09-15 | Commvault Systems, Inc. | Cross-platform virtual machine backup and replication |
US9848046B2 (en) | 2014-11-13 | 2017-12-19 | Commvault Systems, Inc. | Archiving applications in information management systems |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
US9912625B2 (en) | 2014-11-18 | 2018-03-06 | Commvault Systems, Inc. | Storage and management of mail attachments |
US9983936B2 (en) | 2014-11-20 | 2018-05-29 | Commvault Systems, Inc. | Virtual machine change block tracking |
WO2016081942A2 (en) * | 2014-11-21 | 2016-05-26 | Security First Corp. | Gateway for cloud-based secure storage |
US20160162364A1 (en) | 2014-12-03 | 2016-06-09 | Commvault Systems, Inc. | Secondary storage pruning |
US9632713B2 (en) | 2014-12-03 | 2017-04-25 | Commvault Systems, Inc. | Secondary storage editor |
US9645891B2 (en) | 2014-12-04 | 2017-05-09 | Commvault Systems, Inc. | Opportunistic execution of secondary copy operations |
US9753816B2 (en) | 2014-12-05 | 2017-09-05 | Commvault Systems, Inc. | Synchronization based on filtered browsing |
US9524328B2 (en) | 2014-12-28 | 2016-12-20 | Strato Scale Ltd. | Recovery synchronization in a distributed storage system |
EP3238071A4 (en) * | 2014-12-28 | 2018-05-30 | Strato Scale Ltd. | Recovery synchronization in a distributed storage system |
US20160210306A1 (en) | 2015-01-15 | 2016-07-21 | Commvault Systems, Inc. | Managing structured data in a data storage system |
US20160210044A1 (en) | 2015-01-15 | 2016-07-21 | Commvault Systems, Inc. | Intelligent hybrid drive caching |
US9952934B2 (en) | 2015-01-20 | 2018-04-24 | Commvault Systems, Inc. | Synchronizing selected portions of data in a storage management system |
US9588849B2 (en) | 2015-01-20 | 2017-03-07 | Commvault Systems, Inc. | Synchronizing selected portions of data in a storage management system |
US10108687B2 (en) | 2015-01-21 | 2018-10-23 | Commvault Systems, Inc. | Database protection using block-level mapping |
US9665585B2 (en) | 2015-01-23 | 2017-05-30 | International Business Machines Corporation | Preserving high value entries in an event log |
US9990224B2 (en) * | 2015-02-23 | 2018-06-05 | International Business Machines Corporation | Relaxing transaction serializability with statement-based data replication |
US9684596B2 (en) | 2015-02-25 | 2017-06-20 | Microsoft Technology Licensing, Llc | Application cache replication to secondary application(s) |
US10303666B2 (en) * | 2015-03-09 | 2019-05-28 | International Business Machines Corporation | File transfer system using file backup times |
US9575804B2 (en) | 2015-03-27 | 2017-02-21 | Commvault Systems, Inc. | Job management and resource allocation |
US9986060B2 (en) * | 2015-03-30 | 2018-05-29 | General Electric Company | Persistent caching of map imagery and data |
US9928144B2 (en) | 2015-03-30 | 2018-03-27 | Commvault Systems, Inc. | Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage |
US9852147B2 (en) | 2015-04-01 | 2017-12-26 | Dropbox, Inc. | Selective synchronization and distributed content item block caching for multi-premises hosting of digital content items |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US10963430B2 (en) | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US10339106B2 (en) | 2015-04-09 | 2019-07-02 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US9934265B2 (en) | 2015-04-09 | 2018-04-03 | Commvault Systems, Inc. | Management of log data |
US9710253B2 (en) | 2015-04-16 | 2017-07-18 | Commvault Systems, Inc. | Managing a software-patch submission queue |
US9904598B2 (en) | 2015-04-21 | 2018-02-27 | Commvault Systems, Inc. | Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology |
US9639286B2 (en) | 2015-05-14 | 2017-05-02 | Commvault Systems, Inc. | Restore of secondary data using thread pooling |
CN104820625B (zh) * | 2015-05-19 | 2017-12-26 | 重庆大学 | 一种面向信息管理系统的数据记录、备份及恢复方法 |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
US20160350391A1 (en) | 2015-05-26 | 2016-12-01 | Commvault Systems, Inc. | Replication using deduplicated secondary copy data |
US10379958B2 (en) | 2015-06-03 | 2019-08-13 | Axxana (Israel) Ltd. | Fast archiving for database systems |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US10192065B2 (en) | 2015-08-31 | 2019-01-29 | Commvault Systems, Inc. | Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system |
US10990586B2 (en) | 2015-09-16 | 2021-04-27 | Richard Banister | System and method for revising record keys to coordinate record key changes within at least two databases |
US10838827B2 (en) | 2015-09-16 | 2020-11-17 | Richard Banister | System and method for time parameter based database restoration |
WO2017048723A1 (en) | 2015-09-18 | 2017-03-23 | Commvault Systems, Inc. | Data storage management operations in a secondary storage subsystem using image recognition and image-based criteria |
CN106559406B (zh) * | 2015-09-30 | 2019-09-17 | 东软集团股份有限公司 | 物理网络安全设备及其控制方法和装置 |
US10459801B2 (en) | 2015-09-30 | 2019-10-29 | Commvault Systems, Inc. | Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities using indexing in a data storage management system |
US9479567B1 (en) | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
EP3163789B1 (en) * | 2015-10-29 | 2021-08-18 | Airbus Defence and Space GmbH | Forward-secure crash-resilient logging device |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US10353994B2 (en) | 2015-11-03 | 2019-07-16 | Commvault Systems, Inc. | Summarization of email on a client computing device based on content contribution to an email thread using classification and word frequency considerations |
US10423584B2 (en) * | 2015-11-23 | 2019-09-24 | Netapp Inc. | Synchronous replication for file access protocol storage |
CN105512207B (zh) * | 2015-11-27 | 2019-04-09 | 上海携程商务有限公司 | 争抢式的数据复制方法 |
US10228962B2 (en) | 2015-12-09 | 2019-03-12 | Commvault Systems, Inc. | Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery |
US10387266B2 (en) | 2015-12-23 | 2019-08-20 | Commvault Systems, Inc. | Application-level live synchronization across computing platforms including synchronizing co-resident applications to disparate standby destinations and selectively synchronizing some applications and not others |
US10061663B2 (en) | 2015-12-30 | 2018-08-28 | Commvault Systems, Inc. | Rebuilding deduplication data in a distributed deduplication data storage system |
US9537952B1 (en) | 2016-01-29 | 2017-01-03 | Dropbox, Inc. | Apparent cloud access for hosted content items |
US10684924B2 (en) | 2016-02-18 | 2020-06-16 | Commvault Systems, Inc. | Data restoration operations based on network path information |
US10303557B2 (en) | 2016-03-09 | 2019-05-28 | Commvault Systems, Inc. | Data transfer to a distributed storage environment |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US10565067B2 (en) | 2016-03-09 | 2020-02-18 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine backup from cloud operations |
US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
CN105843704B (zh) * | 2016-03-15 | 2018-10-19 | 上海爱数信息技术股份有限公司 | 一种结合分布式块存储的快照功能的数据保护方法及系统 |
KR101758558B1 (ko) * | 2016-03-29 | 2017-07-26 | 엘에스산전 주식회사 | 에너지 관리 서버 및 그를 갖는 에너지 관리 시스템 |
US10846024B2 (en) | 2016-05-16 | 2020-11-24 | Commvault Systems, Inc. | Global de-duplication of virtual disks in a storage platform |
US10795577B2 (en) | 2016-05-16 | 2020-10-06 | Commvault Systems, Inc. | De-duplication of client-side data cache for virtual disks |
US10248174B2 (en) | 2016-05-24 | 2019-04-02 | Hedvig, Inc. | Persistent reservations for virtual disk using multiple targets |
US10664447B2 (en) | 2016-07-12 | 2020-05-26 | Commvault Systems, Inc. | Dynamic management of expandable cache storage for multiple network shares configured in a file server |
US10769015B2 (en) * | 2016-07-19 | 2020-09-08 | International Business Machines Corporation | Throttling access requests at different layers of a DSN memory |
US10031809B2 (en) * | 2016-07-20 | 2018-07-24 | International Business Machines Corporation | Efficient method for rebuilding a set of encoded data slices |
US10127112B2 (en) * | 2016-07-20 | 2018-11-13 | International Business Machines Corporation | Assigning prioritized rebuild resources optimally |
US10459796B2 (en) * | 2016-07-20 | 2019-10-29 | International Business Machines Corporation | Prioritizing rebuilding based on a longevity estimate of the rebuilt slice |
US10262002B2 (en) | 2016-08-11 | 2019-04-16 | International Business Machines Corporation | Consistent execution of partial queries in hybrid DBMS |
US9971645B2 (en) | 2016-08-23 | 2018-05-15 | Seagate Technology Llc | Auto-recovery of media cache master table data |
US10474548B2 (en) | 2016-09-30 | 2019-11-12 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines |
US10162528B2 (en) | 2016-10-25 | 2018-12-25 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
US10210048B2 (en) | 2016-10-25 | 2019-02-19 | Commvault Systems, Inc. | Selective snapshot and backup copy operations for individual virtual machines in a shared storage |
US10152251B2 (en) | 2016-10-25 | 2018-12-11 | Commvault Systems, Inc. | Targeted backup of virtual machine |
US11106632B2 (en) | 2016-11-16 | 2021-08-31 | Commvault Systems, Inc. | Dynamically configuring a proxy server using containerization for concurrent and/or overlapping backup, restore, and/or test operations |
US10678758B2 (en) | 2016-11-21 | 2020-06-09 | Commvault Systems, Inc. | Cross-platform virtual machine data and memory backup and replication |
US10824672B2 (en) * | 2016-12-20 | 2020-11-03 | Sap Se | Field mapping for data replication system |
US10719531B2 (en) * | 2016-12-20 | 2020-07-21 | Sap Se | System configuration for data replication system |
US10430437B2 (en) | 2017-02-08 | 2019-10-01 | Bank Of America Corporation | Automated archival partitioning and synchronization on heterogeneous data systems |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
US10592326B2 (en) | 2017-03-08 | 2020-03-17 | Axxana (Israel) Ltd. | Method and apparatus for data loss assessment |
US20180276022A1 (en) | 2017-03-24 | 2018-09-27 | Commvault Systems, Inc. | Consistent virtual machine replication |
US10613939B2 (en) | 2017-03-28 | 2020-04-07 | Commvault Systems, Inc. | Backup index generation process |
US10387073B2 (en) | 2017-03-29 | 2019-08-20 | Commvault Systems, Inc. | External dynamic virtual machine synchronization |
US10599527B2 (en) | 2017-03-29 | 2020-03-24 | Commvault Systems, Inc. | Information management cell health monitoring system |
US10949398B2 (en) | 2017-03-29 | 2021-03-16 | Commvault Systems, Inc. | Synchronization operations for network-accessible folders |
US10223272B2 (en) | 2017-04-25 | 2019-03-05 | Seagate Technology Llc | Latency sensitive metadata object persistence operation for storage device |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US11086834B2 (en) | 2017-09-14 | 2021-08-10 | Commvault Systems, Inc. | Distributed framework for data proximity-based task splitting in a content indexing system |
US11036592B2 (en) | 2017-09-14 | 2021-06-15 | Commvault Systems, Inc. | Distributed content indexing architecture with separately stored file previews |
US11263088B2 (en) | 2017-09-14 | 2022-03-01 | Commvault Systems, Inc. | Distributed architecture for tracking content indexing |
US10846266B2 (en) | 2017-09-14 | 2020-11-24 | Commvault Systems, Inc. | Distributed architecture for content indexing emails |
US10846180B2 (en) | 2017-09-14 | 2020-11-24 | Commvault Systems, Inc. | Distributed framework for task splitting and task assignments in a content indexing system |
US11914571B1 (en) | 2017-11-22 | 2024-02-27 | Amazon Technologies, Inc. | Optimistic concurrency for a multi-writer database |
US10635546B2 (en) | 2017-12-07 | 2020-04-28 | Commvault Systems, Inc. | Synthesizing a restore image from one or more secondary copies to facilitate data restore operations to a file server |
US10740300B1 (en) | 2017-12-07 | 2020-08-11 | Commvault Systems, Inc. | Synchronization of metadata in a distributed storage system |
US10742735B2 (en) | 2017-12-12 | 2020-08-11 | Commvault Systems, Inc. | Enhanced network attached storage (NAS) services interfacing to cloud storage |
US10740022B2 (en) | 2018-02-14 | 2020-08-11 | Commvault Systems, Inc. | Block-level live browsing and private writable backup copies using an ISCSI server |
US10592145B2 (en) | 2018-02-14 | 2020-03-17 | Commvault Systems, Inc. | Machine learning-based data object storage |
US10848468B1 (en) | 2018-03-05 | 2020-11-24 | Commvault Systems, Inc. | In-flight data encryption/decryption for a distributed storage platform |
US10877928B2 (en) | 2018-03-07 | 2020-12-29 | Commvault Systems, Inc. | Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations |
US10761942B2 (en) | 2018-03-12 | 2020-09-01 | Commvault Systems, Inc. | Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent |
US10628267B2 (en) | 2018-05-02 | 2020-04-21 | Commvault Systems, Inc. | Client managed data backup process within an enterprise information management system |
US11321183B2 (en) | 2018-05-02 | 2022-05-03 | Commvault Systems, Inc. | Multi-tiered backup indexing |
US10673943B2 (en) | 2018-05-02 | 2020-06-02 | Commvault Systems, Inc. | Network storage backup using distributed media agents |
US11249863B2 (en) | 2018-05-02 | 2022-02-15 | Commvault Systems, Inc. | Backup-based media agent configuration |
US10893103B2 (en) | 2018-07-25 | 2021-01-12 | Commvault Systems, Inc. | Distributed and scalable storage management using a storage-microservices server |
US10891304B2 (en) | 2018-07-25 | 2021-01-12 | Commvault Systems, Inc. | Distributed and scalable client-based storage management |
CN109241180B (zh) * | 2018-08-01 | 2021-06-04 | 福建天泉教育科技有限公司 | 一种基于日志的数据同步的方法及装置 |
CN109413497B (zh) * | 2018-09-12 | 2021-04-13 | 海信视像科技股份有限公司 | 一种智能电视机及其系统启动方法 |
US11016696B2 (en) | 2018-09-14 | 2021-05-25 | Commvault Systems, Inc. | Redundant distributed data storage system |
US11010258B2 (en) | 2018-11-27 | 2021-05-18 | Commvault Systems, Inc. | Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication |
US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
US10860443B2 (en) | 2018-12-10 | 2020-12-08 | Commvault Systems, Inc. | Evaluation and reporting of recovery readiness in a data storage management system |
US11698727B2 (en) | 2018-12-14 | 2023-07-11 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
US11012508B2 (en) | 2018-12-14 | 2021-05-18 | Commvault Systems, Inc. | Region-based distributed information management system |
USD886143S1 (en) | 2018-12-14 | 2020-06-02 | Nutanix, Inc. | Display screen or portion thereof with a user interface for database time-machine |
US10817157B2 (en) | 2018-12-20 | 2020-10-27 | Nutanix, Inc. | User interface for database management services |
US11010336B2 (en) | 2018-12-27 | 2021-05-18 | Nutanix, Inc. | System and method for provisioning databases in a hyperconverged infrastructure system |
US11816066B2 (en) | 2018-12-27 | 2023-11-14 | Nutanix, Inc. | System and method for protecting databases in a hyperconverged infrastructure system |
US11347707B2 (en) | 2019-01-22 | 2022-05-31 | Commvault Systems, Inc. | File indexing for virtual machine backups based on using live browse features |
US10872069B2 (en) | 2019-01-22 | 2020-12-22 | Commvault Systems, Inc. | File indexing for virtual machine backups in a data storage management system |
US10996974B2 (en) | 2019-01-30 | 2021-05-04 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data |
US10768971B2 (en) | 2019-01-30 | 2020-09-08 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US11455318B2 (en) * | 2019-02-19 | 2022-09-27 | Microsoft Technology Licensing, Llc | Data replication using probabilistic replication filters |
US11126365B2 (en) | 2019-03-11 | 2021-09-21 | Commvault Systems, Inc. | Skipping data backed up in prior backup operations |
US11269732B2 (en) | 2019-03-12 | 2022-03-08 | Commvault Systems, Inc. | Managing structured data in a data storage system |
US11321184B2 (en) | 2019-03-26 | 2022-05-03 | Commvault Systems, Inc. | Streamlined secondary copy operations for data stored on shared file storage |
US11579681B2 (en) | 2019-04-08 | 2023-02-14 | Commvault Systems, Inc. | Power management of components within a storage management system |
US20200327017A1 (en) | 2019-04-10 | 2020-10-15 | Commvault Systems, Inc. | Restore using deduplicated secondary copy data |
US11100064B2 (en) | 2019-04-30 | 2021-08-24 | Commvault Systems, Inc. | Automated log-based remediation of an information management system |
US11442623B2 (en) | 2019-05-02 | 2022-09-13 | Commvault Systems, Inc. | Faster browse of secondary copies of block-level data volumes |
US11463264B2 (en) | 2019-05-08 | 2022-10-04 | Commvault Systems, Inc. | Use of data block signatures for monitoring in an information management system |
US11308034B2 (en) | 2019-06-27 | 2022-04-19 | Commvault Systems, Inc. | Continuously run log backup with minimal configuration and resource usage from the source machine |
US20210037112A1 (en) | 2019-07-29 | 2021-02-04 | Commvault Systems, Inc. | Data storage system with rapid restore capability |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
US11263173B2 (en) | 2019-07-30 | 2022-03-01 | Commvault Systems, Inc. | Transaction log index generation in an enterprise backup system |
US11513922B2 (en) | 2019-08-14 | 2022-11-29 | Commvault Systems, Inc. | Systems and methods for change block tracking for backing up changed data |
US11669400B2 (en) | 2019-08-28 | 2023-06-06 | Commvault Systems, Inc. | Lightweight metadata handling for file indexing and live browse of backup copies |
US11593228B2 (en) | 2019-08-28 | 2023-02-28 | Commvault Systems, Inc. | Live browse cache enhacements for live browsing block-level backup copies of virtual machines and/or file systems |
US11237935B2 (en) | 2019-09-11 | 2022-02-01 | Commvault Systems, Inc. | Anomaly detection in data protection operations |
US11218450B2 (en) | 2019-09-11 | 2022-01-04 | Commvault Systems, Inc. | Data protection component scaling in a cloud-based data storage system |
US11256673B2 (en) | 2019-09-11 | 2022-02-22 | Commvault Systems, Inc. | Anomaly detection in deduplication pruning operations |
US20210133150A1 (en) | 2019-11-04 | 2021-05-06 | Commvault Systems, Inc. | Efficient implementation of multiple deduplication databases in a heterogeneous data storage system |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
US11442896B2 (en) | 2019-12-04 | 2022-09-13 | Commvault Systems, Inc. | Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources |
US11237924B2 (en) | 2019-12-11 | 2022-02-01 | Commvault Systems, Inc. | Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system |
US20210191629A1 (en) * | 2019-12-23 | 2021-06-24 | Commvault Systems, Inc. | Expandable data storage management system |
US11223535B2 (en) | 2019-12-31 | 2022-01-11 | Commvault Systems, Inc. | Smart network topology systems and methods |
US11467753B2 (en) | 2020-02-14 | 2022-10-11 | Commvault Systems, Inc. | On-demand restore of virtual machine data |
US11334442B2 (en) | 2020-03-10 | 2022-05-17 | Commvault Systems, Inc. | Management database long-term archiving to a recovery manager |
US11005935B1 (en) | 2020-03-10 | 2021-05-11 | Commvault Systems, Inc. | Using multiple streams with network data management protocol to improve performance and granularity of backup and restore operations from/to a file server |
US11442768B2 (en) | 2020-03-12 | 2022-09-13 | Commvault Systems, Inc. | Cross-hypervisor live recovery of virtual machines |
US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
US11341163B1 (en) | 2020-03-30 | 2022-05-24 | Amazon Technologies, Inc. | Multi-level replication filtering for a distributed database |
US11625370B2 (en) * | 2020-04-07 | 2023-04-11 | Vmware, Inc. | Techniques for reducing data log recovery time and metadata write amplification |
US11467746B2 (en) | 2020-04-07 | 2022-10-11 | Vmware, Inc. | Issuing efficient writes to erasure coded objects in a distributed storage system via adaptive logging |
US11194769B2 (en) | 2020-04-27 | 2021-12-07 | Richard Banister | System and method for re-synchronizing a portion of or an entire source database and a target database |
US11748143B2 (en) | 2020-05-15 | 2023-09-05 | Commvault Systems, Inc. | Live mount of virtual machines in a public cloud computing environment |
US11687424B2 (en) | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
US11327663B2 (en) | 2020-06-09 | 2022-05-10 | Commvault Systems, Inc. | Ensuring the integrity of data storage volumes used in block-level live synchronization operations in a data storage management system |
US11537959B2 (en) | 2020-06-16 | 2022-12-27 | Commvault Systems, Inc. | Dynamic computing progress tracker |
US11327746B2 (en) | 2020-06-24 | 2022-05-10 | Microsoft Technology Licensing, Llc | Reduced processing loads via selective validation specifications |
US11487468B2 (en) | 2020-07-17 | 2022-11-01 | Commvault Systems, Inc. | Healing failed erasure-coded write attempts in a distributed data storage system configured with fewer storage nodes than data plus parity fragments |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11494417B2 (en) | 2020-08-07 | 2022-11-08 | Commvault Systems, Inc. | Automated email classification in an information management system |
US11604705B2 (en) | 2020-08-14 | 2023-03-14 | Nutanix, Inc. | System and method for cloning as SQL server AG databases in a hyperconverged system |
US11500566B2 (en) | 2020-08-25 | 2022-11-15 | Commvault Systems, Inc. | Cloud-based distributed data storage system using block-level deduplication based on backup frequencies of incoming backup copies |
US11108861B1 (en) | 2020-08-26 | 2021-08-31 | Commvault Systems, Inc. | System for managing multiple information management cells |
US11907167B2 (en) | 2020-08-28 | 2024-02-20 | Nutanix, Inc. | Multi-cluster database management services |
US11570243B2 (en) | 2020-09-22 | 2023-01-31 | Commvault Systems, Inc. | Decommissioning, re-commissioning, and commissioning new metadata nodes in a working distributed data storage system |
US11789830B2 (en) | 2020-09-22 | 2023-10-17 | Commvault Systems, Inc. | Anti-entropy-based metadata recovery in a strongly consistent distributed data storage system |
US11847048B2 (en) | 2020-09-24 | 2023-12-19 | Advanced Micro Devices, Inc. | Method and apparatus for providing persistence to remote non-volatile memory |
US11640340B2 (en) | 2020-10-20 | 2023-05-02 | Nutanix, Inc. | System and method for backing up highly available source databases in a hyperconverged system |
US11656951B2 (en) | 2020-10-28 | 2023-05-23 | Commvault Systems, Inc. | Data loss vulnerability detection |
US11474753B2 (en) | 2020-10-30 | 2022-10-18 | Commvault Systems, Inc. | Systems and methods for backing up to a virtual tape library |
US11604806B2 (en) | 2020-12-28 | 2023-03-14 | Nutanix, Inc. | System and method for highly available database service |
US11323513B1 (en) | 2021-01-22 | 2022-05-03 | Commvault Systems, Inc. | Geo-location-based data replication |
US11500623B2 (en) | 2021-01-22 | 2022-11-15 | Microsoft Technology Licensing, Llc | Reverting merges across branches |
US11537310B2 (en) * | 2021-02-05 | 2022-12-27 | Microsoft Technology Licensing, Llc | Threading of replication based on data type |
US11645175B2 (en) | 2021-02-12 | 2023-05-09 | Commvault Systems, Inc. | Automatic failover of a storage manager |
CN113132458A (zh) * | 2021-03-08 | 2021-07-16 | 北京思特奇信息技术股份有限公司 | 一种基于流量复制的异常处理方法和系统 |
US11574050B2 (en) | 2021-03-12 | 2023-02-07 | Commvault Systems, Inc. | Media agent hardening against ransomware attacks |
US11892918B2 (en) | 2021-03-22 | 2024-02-06 | Nutanix, Inc. | System and method for availability group database patching |
US11474719B1 (en) | 2021-05-13 | 2022-10-18 | Vmware, Inc. | Combining the metadata and data address spaces of a distributed storage object via a composite object configuration tree |
CN117063160A (zh) * | 2021-05-27 | 2023-11-14 | 华为技术有限公司 | 用于共享内存访问的内存控制器和用于内存控制器之中的方法 |
US11561978B2 (en) | 2021-06-29 | 2023-01-24 | Commvault Systems, Inc. | Intelligent cache management for mounted snapshots based on a behavior model |
US11816356B2 (en) | 2021-07-06 | 2023-11-14 | Pure Storage, Inc. | Container orchestrator-aware storage system |
US11934893B2 (en) | 2021-07-06 | 2024-03-19 | Pure Storage, Inc. | Storage system that drives an orchestrator based on events in the storage system |
US11954513B2 (en) | 2021-07-29 | 2024-04-09 | Commvault Systems, Inc. | Scalable recovery and/or migration to cloud- based custom-made virtual machines without using failed machines' credentials |
US11615147B2 (en) | 2021-08-23 | 2023-03-28 | Commvault Systems, Inc. | Mobile storage manager control application for managing a storage manager of an information management system |
US11803368B2 (en) | 2021-10-01 | 2023-10-31 | Nutanix, Inc. | Network learning to control delivery of updates |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
WO2023158440A1 (en) * | 2022-02-18 | 2023-08-24 | Hewlett-Packard Development Company, L.P. | Data migrations |
CN117149905A (zh) * | 2023-08-16 | 2023-12-01 | 上海沄熹科技有限公司 | 一种时序数据复制方法及装置 |
Family Cites Families (544)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4296465A (en) | 1977-11-03 | 1981-10-20 | Honeywell Information Systems Inc. | Data mover |
US4686620A (en) | 1984-07-26 | 1987-08-11 | American Telephone And Telegraph Company, At&T Bell Laboratories | Database backup method |
GB8622010D0 (en) | 1986-09-12 | 1986-10-22 | Hewlett Packard Ltd | File backup facility |
US5193154A (en) * | 1987-07-10 | 1993-03-09 | Hitachi, Ltd. | Buffered peripheral system and method for backing up and retrieving data to and from backup memory device |
US5005122A (en) | 1987-09-08 | 1991-04-02 | Digital Equipment Corporation | Arrangement with cooperating management server node and network service node |
JPH0743676B2 (ja) | 1988-03-11 | 1995-05-15 | 株式会社日立製作所 | バツクアツプデータダンプ制御方法及び装置 |
US5455926A (en) | 1988-04-05 | 1995-10-03 | Data/Ware Development, Inc. | Virtual addressing of optical storage media as magnetic tape equivalents |
US4995035A (en) | 1988-10-31 | 1991-02-19 | International Business Machines Corporation | Centralized management in a computer network |
JPH07122868B2 (ja) | 1988-11-29 | 1995-12-25 | 日本電気株式会社 | 情報処理装置 |
US5093912A (en) | 1989-06-26 | 1992-03-03 | International Business Machines Corporation | Dynamic resource pool expansion and contraction in multiprocessing environments |
ATE158424T1 (de) * | 1989-06-30 | 1997-10-15 | Digital Equipment Corp | Verfahren und anordnung zur steuerung von schattenspeichern |
ATE145998T1 (de) | 1989-06-30 | 1996-12-15 | Digital Equipment Corp | Verfahren und anordnung zur steuerung von schattenspeichern |
US5133065A (en) | 1989-07-27 | 1992-07-21 | Personal Computer Peripherals Corporation | Backup computer program for networks |
US5321816A (en) | 1989-10-10 | 1994-06-14 | Unisys Corporation | Local-remote apparatus with specialized image storage modules |
US5504873A (en) | 1989-11-01 | 1996-04-02 | E-Systems, Inc. | Mass data storage and retrieval system |
US5276860A (en) | 1989-12-19 | 1994-01-04 | Epoch Systems, Inc. | Digital data processor with improved backup storage |
US5276867A (en) | 1989-12-19 | 1994-01-04 | Epoch Systems, Inc. | Digital data storage system with improved data migration |
DE69124817T2 (de) | 1990-04-17 | 1997-09-25 | Sharp Kk | Verfahren und Gerät zur Aufzeichnung von Daten |
GB2246218B (en) | 1990-07-18 | 1994-02-09 | Stc Plc | Distributed data processing systems |
US5239647A (en) | 1990-09-07 | 1993-08-24 | International Business Machines Corporation | Data storage hierarchy with shared storage level |
US5544347A (en) | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5212772A (en) | 1991-02-11 | 1993-05-18 | Gigatrend Incorporated | System for storing data in backup tape device |
US5317731A (en) | 1991-02-25 | 1994-05-31 | International Business Machines Corporation | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor |
US5287500A (en) | 1991-06-03 | 1994-02-15 | Digital Equipment Corporation | System for allocating storage spaces based upon required and optional service attributes having assigned piorities |
US5369757A (en) | 1991-06-18 | 1994-11-29 | Digital Equipment Corporation | Recovery logging in the presence of snapshot files by ordering of buffer pool flushing |
US5333315A (en) | 1991-06-27 | 1994-07-26 | Digital Equipment Corporation | System of device independent file directories using a tag between the directories and file descriptors that migrate with the files |
US5347653A (en) * | 1991-06-28 | 1994-09-13 | Digital Equipment Corporation | System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes |
US5231668A (en) | 1991-07-26 | 1993-07-27 | The United States Of America, As Represented By The Secretary Of Commerce | Digital signature algorithm |
WO1993003549A1 (en) | 1991-07-31 | 1993-02-18 | Euphonix, Inc. | Automated audio mixer |
US5410700A (en) * | 1991-09-04 | 1995-04-25 | International Business Machines Corporation | Computer system which supports asynchronous commitment of data |
EP0531599B1 (en) | 1991-09-13 | 1998-07-22 | International Business Machines Corporation | Configurable gigabit/s switch adapter |
US5668986A (en) | 1991-10-02 | 1997-09-16 | International Business Machines Corporation | Method and apparatus for handling data storage requests in a distributed data base environment |
EP0541281B1 (en) | 1991-11-04 | 1998-04-29 | Commvault Systems, Inc. | Incremental-computer-file backup using signatures |
CA2285096C (en) | 1991-11-12 | 2000-05-09 | Ibm Canada Limited-Ibm Canada Limitee | Logical mapping of data objects using data spaces |
JPH05189281A (ja) | 1992-01-10 | 1993-07-30 | Hitachi Ltd | 記憶装置のファイル割当て方式 |
US5555404A (en) | 1992-03-17 | 1996-09-10 | Telenor As | Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas |
US5241670A (en) | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for automated backup copy ordering in a time zero backup copy session |
US5241668A (en) * | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for automated termination and resumption in a time zero backup copy process |
US5263154A (en) | 1992-04-20 | 1993-11-16 | International Business Machines Corporation | Method and system for incremental time zero backup copying of data |
US5265159A (en) | 1992-06-23 | 1993-11-23 | Hughes Aircraft Company | Secure file erasure |
US5842033A (en) | 1992-06-30 | 1998-11-24 | Discovision Associates | Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system |
US5403639A (en) | 1992-09-02 | 1995-04-04 | Storage Technology Corporation | File server having snapshot application data groups |
ATE153149T1 (de) * | 1993-01-21 | 1997-05-15 | Apple Computer | Vorrichtung und verfahren zur datensicherung von speichereinheiten in einem rechnernetzwerk |
WO1994018634A1 (en) | 1993-02-01 | 1994-08-18 | Lsc, Inc. | Archiving file system for data servers in a distributed network environment |
US5719786A (en) | 1993-02-03 | 1998-02-17 | Novell, Inc. | Digital media data stream network management system |
JP3265697B2 (ja) | 1993-03-17 | 2002-03-11 | 富士ゼロックス株式会社 | 画像処理装置 |
CA2121852A1 (en) | 1993-04-29 | 1994-10-30 | Larry T. Jost | Disk meshing and flexible storage mapping with enhanced flexible caching |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
US5689706A (en) * | 1993-06-18 | 1997-11-18 | Lucent Technologies Inc. | Distributed systems with replicated files |
JPH0721135A (ja) | 1993-07-02 | 1995-01-24 | Fujitsu Ltd | 二重化監視機能を持つデータ処理システム |
US5642496A (en) | 1993-09-23 | 1997-06-24 | Kanfi; Arnon | Method of making a backup copy of a memory over a plurality of copying sessions |
US5544345A (en) | 1993-11-08 | 1996-08-06 | International Business Machines Corporation | Coherence controls for store-multiple shared data coordinated by cache directory entries in a shared electronic storage |
JPH09509768A (ja) | 1993-11-09 | 1997-09-30 | シーゲート テクノロジー,インコーポレイテッド | コンピュータ・ネットワーク用のデータのバックアップ及び復元システム |
US5495607A (en) | 1993-11-15 | 1996-02-27 | Conner Peripherals, Inc. | Network management system having virtual catalog overview of files distributively stored across network domain |
US5491810A (en) | 1994-03-01 | 1996-02-13 | International Business Machines Corporation | Method and system for automated data storage system space allocation utilizing prioritized data set parameters |
US5642498A (en) * | 1994-04-12 | 1997-06-24 | Sony Corporation | System for simultaneous display of multiple video windows on a display device |
US5673381A (en) | 1994-05-27 | 1997-09-30 | Cheyenne Software International Sales Corp. | System and parallel streaming and data stripping to back-up a network |
US5638509A (en) * | 1994-06-10 | 1997-06-10 | Exabyte Corporation | Data storage and protection system |
US5487072A (en) * | 1994-06-30 | 1996-01-23 | Bell Communications Research Inc. | Error monitoring algorithm for broadband signaling |
CN1099464A (zh) * | 1994-07-02 | 1995-03-01 | 谢兴云 | 差动式常闭制动器 |
US5598546A (en) | 1994-08-31 | 1997-01-28 | Exponential Technology, Inc. | Dual-architecture super-scalar pipeline |
US5802281A (en) | 1994-09-07 | 1998-09-01 | Rsi Systems, Inc. | Peripheral audio/video communication system that interfaces with a host computer and determines format of coded audio/video signals |
US5574906A (en) * | 1994-10-24 | 1996-11-12 | International Business Machines Corporation | System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing |
US6272465B1 (en) | 1994-11-02 | 2001-08-07 | Legerity, Inc. | Monolithic PC audio circuit |
US5826046A (en) | 1994-12-30 | 1998-10-20 | International Business Machines Corporation | Method and apparatus for polling and selecting any paired device in any drawer |
US5745753A (en) * | 1995-01-24 | 1998-04-28 | Tandem Computers, Inc. | Remote duplicate database facility with database replication support for online DDL operations |
US5604862A (en) | 1995-03-14 | 1997-02-18 | Network Integrity, Inc. | Continuously-snapshotted protection of computer files |
US5682513A (en) | 1995-03-31 | 1997-10-28 | International Business Machines Corporation | Cache queue entry linking for DASD record updates |
US5615392A (en) * | 1995-05-05 | 1997-03-25 | Apple Computer, Inc. | Method and apparatus for consolidated buffer handling for computer device input/output |
US5559957A (en) | 1995-05-31 | 1996-09-24 | Lucent Technologies Inc. | File system for a data storage device having a power fail recovery mechanism for write/replace operations |
US6049889A (en) * | 1995-06-07 | 2000-04-11 | Digital Equipment Corporation | High performance recoverable communication method and apparatus for write-only networks |
JPH0916463A (ja) | 1995-06-30 | 1997-01-17 | Hitachi Ltd | メモリ領域の動的割り付け管理システム |
US5699361A (en) | 1995-07-18 | 1997-12-16 | Industrial Technology Research Institute | Multimedia channel formulation mechanism |
WO1997004389A1 (en) * | 1995-07-20 | 1997-02-06 | Novell, Inc. | Transaction synchronization in a disconnectable computer and network |
US5813009A (en) * | 1995-07-28 | 1998-09-22 | Univirtual Corp. | Computer based records management system method |
US5860104A (en) | 1995-08-31 | 1999-01-12 | Advanced Micro Devices, Inc. | Data cache which speculatively updates a predicted data cache storage location with store data and subsequently corrects mispredicted updates |
US5619644A (en) | 1995-09-18 | 1997-04-08 | International Business Machines Corporation | Software directed microcode state save for distributed storage controller |
US5907672A (en) | 1995-10-04 | 1999-05-25 | Stac, Inc. | System for backing up computer disk volumes with error remapping of flawed memory addresses |
JP3856855B2 (ja) | 1995-10-06 | 2006-12-13 | 三菱電機株式会社 | 差分バックアップ方式 |
US5819020A (en) | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US5970255A (en) | 1995-10-16 | 1999-10-19 | Altera Corporation | System for coupling programmable logic device to external circuitry which selects a logic standard and uses buffers to modify output and input signals accordingly |
US5778395A (en) | 1995-10-23 | 1998-07-07 | Stac, Inc. | System for backing up files from disk volumes on multiple nodes of a computer network |
US5737747A (en) * | 1995-10-27 | 1998-04-07 | Emc Corporation | Prefetching to service multiple video streams from an integrated cached disk array |
US5829046A (en) | 1995-10-27 | 1998-10-27 | Emc Corporation | On-line tape backup using an integrated cached disk array |
US6067525A (en) | 1995-10-30 | 2000-05-23 | Clear With Computers | Integrated computerized sales force automation system |
US5987478A (en) | 1995-10-31 | 1999-11-16 | Intel Corporation | Virtual small block file manager for flash memory array |
US6122668A (en) | 1995-11-02 | 2000-09-19 | Starlight Networks | Synchronization of audio and video signals in a live multicast in a LAN |
US5805920A (en) | 1995-11-13 | 1998-09-08 | Tandem Computers Incorporated | Direct bulk data transfers |
US5729743A (en) | 1995-11-17 | 1998-03-17 | Deltatech Research, Inc. | Computer apparatus and method for merging system deltas |
US5933104A (en) | 1995-11-22 | 1999-08-03 | Microsoft Corporation | Method and system for compression and decompression using variable-sized offset and length fields |
US5675511A (en) | 1995-12-21 | 1997-10-07 | Intel Corporation | Apparatus and method for event tagging for multiple audio, video, and data streams |
US5761677A (en) | 1996-01-03 | 1998-06-02 | Sun Microsystems, Inc. | Computer system method and apparatus providing for various versions of a file without requiring data copy or log operations |
US5765173A (en) | 1996-01-11 | 1998-06-09 | Connected Corporation | High performance backup via selective file saving which can perform incremental backups and exclude files and uses a changed block signature list |
US5970233A (en) | 1996-05-03 | 1999-10-19 | Intel Corporation | Multiple codecs for video encoding format compatibility |
US5995091A (en) | 1996-05-10 | 1999-11-30 | Learn2.Com, Inc. | System and method for streaming multimedia data |
KR970076238A (ko) * | 1996-05-23 | 1997-12-12 | 포만 제프리 엘 | 클라이언트 데이타 화일의 다수의 복사본을 생성하고 관리하는 서버, 방법 및 그 프로그램 제품 |
US6044444A (en) * | 1996-05-28 | 2000-03-28 | Emc Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
US5819299A (en) | 1996-06-06 | 1998-10-06 | Electric Communities | Process for distributed garbage collection |
US5720743A (en) * | 1996-06-07 | 1998-02-24 | Bischof; John C. | Thermally insulating surgical probe |
US5812398A (en) | 1996-06-10 | 1998-09-22 | Sun Microsystems, Inc. | Method and system for escrowed backup of hotelled world wide web sites |
US6279078B1 (en) * | 1996-06-28 | 2001-08-21 | Compaq Computer Corporation | Apparatus and method for synchronizing a cache mode in a dual controller, dual cache memory system operating in a plurality of cache modes |
US6886035B2 (en) | 1996-08-02 | 2005-04-26 | Hewlett-Packard Development Company, L.P. | Dynamic load balancing of a network of client and server computer |
US5761734A (en) | 1996-08-13 | 1998-06-02 | International Business Machines Corporation | Token-based serialisation of instructions in a multiprocessor system |
US5933601A (en) | 1996-09-30 | 1999-08-03 | Ncr Corporation | Method for systems management of object-based computer networks |
US5790114A (en) | 1996-10-04 | 1998-08-04 | Microtouch Systems, Inc. | Electronic whiteboard with multi-functional user interface |
US5758359A (en) * | 1996-10-24 | 1998-05-26 | Digital Equipment Corporation | Method and apparatus for performing retroactive backups in a computer system |
US5907621A (en) | 1996-11-15 | 1999-05-25 | International Business Machines Corporation | System and method for session management |
US6487644B1 (en) | 1996-11-22 | 2002-11-26 | Veritas Operating Corporation | System and method for multiplexed data back-up to a storage tape and restore operations using client identification tags |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US5926836A (en) | 1996-12-03 | 1999-07-20 | Emc Corporation | Computer and associated method for restoring data backed up on archive media |
US5875478A (en) | 1996-12-03 | 1999-02-23 | Emc Corporation | Computer backup using a file system, network, disk, tape and remote archiving repository media system |
US5878408A (en) | 1996-12-06 | 1999-03-02 | International Business Machines Corporation | Data management system and process |
US6131095A (en) | 1996-12-11 | 2000-10-10 | Hewlett-Packard Company | Method of accessing a target entity over a communications network |
US6009274A (en) | 1996-12-13 | 1999-12-28 | 3Com Corporation | Method and apparatus for automatically updating software components on end systems over a network |
US6202135B1 (en) * | 1996-12-23 | 2001-03-13 | Emc Corporation | System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility |
WO1998033113A1 (en) | 1997-01-23 | 1998-07-30 | Overland Data, Inc. | Virtual media library |
US5875481A (en) | 1997-01-30 | 1999-02-23 | International Business Machines Corporation | Dynamic reconfiguration of data storage devices to balance recycle throughput |
US6963923B1 (en) | 1997-02-10 | 2005-11-08 | International Business Machines Corporation | Method for file transfer restarts using standard internet protocol |
US6049892C1 (en) | 1997-02-24 | 2002-06-04 | Ethos Software Corp | Process and apparatus for downloading data from a server computer to a client computer |
US6658526B2 (en) | 1997-03-12 | 2003-12-02 | Storage Technology Corporation | Network attached virtual data storage subsystem |
US6012090A (en) | 1997-03-14 | 2000-01-04 | At&T Corp. | Client-side parallel requests for network services using group name association |
US6952705B2 (en) | 1997-03-25 | 2005-10-04 | Mci, Inc. | Method, system and program product that utilize a hierarchical conceptual framework to model an environment containing a collection of items |
US6003089A (en) | 1997-03-31 | 1999-12-14 | Siemens Information And Communication Networks, Inc. | Method for constructing adaptive packet lengths in a congested network |
US6094684A (en) | 1997-04-02 | 2000-07-25 | Alpha Microsystems, Inc. | Method and apparatus for data communication |
US5924102A (en) * | 1997-05-07 | 1999-07-13 | International Business Machines Corporation | System and method for managing critical files |
US6094416A (en) | 1997-05-09 | 2000-07-25 | I/O Control Corporation | Multi-tier architecture for control network |
BR9809274A (pt) | 1997-05-09 | 2000-07-04 | Alcatel Usa Sourcing Lp | Sistema de comunicação com sincronização de banco de dados rápida |
US6158044A (en) | 1997-05-21 | 2000-12-05 | Epropose, Inc. | Proposal based architecture system |
US6112239A (en) | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US5887134A (en) | 1997-06-30 | 1999-03-23 | Sun Microsystems | System and method for preserving message order while employing both programmed I/O and DMA operations |
US5958005A (en) | 1997-07-17 | 1999-09-28 | Bell Atlantic Network Services, Inc. | Electronic mail security |
US6366988B1 (en) | 1997-07-18 | 2002-04-02 | Storactive, Inc. | Systems and methods for electronic data storage management |
US6137864A (en) | 1997-07-25 | 2000-10-24 | Lucent Technologies Inc. | Specifiable delete times for voice messaging |
US5877766A (en) | 1997-08-15 | 1999-03-02 | International Business Machines Corporation | Multi-node user interface component and method thereof for use in accessing a plurality of linked records |
EP0899662A1 (en) | 1997-08-29 | 1999-03-03 | Hewlett-Packard Company | Backup and restore system for a computer network |
DE69802294T2 (de) | 1997-08-29 | 2002-05-16 | Hewlett Packard Co | Systemen zur datensicherung und -rückgewinnung |
US6467035B2 (en) | 1997-09-08 | 2002-10-15 | Agere Systems Guardian Corp. | System and method for performing table look-ups using a multiple data fetch architecture |
US6067541A (en) | 1997-09-17 | 2000-05-23 | Microsoft Corporation | Monitoring document changes in a file system of documents with the document change information stored in a persistent log |
US5950205A (en) | 1997-09-25 | 1999-09-07 | Cisco Technology, Inc. | Data transmission over the internet using a cache memory file system |
JP3901806B2 (ja) | 1997-09-25 | 2007-04-04 | 富士通株式会社 | 情報管理システム及び二次サーバ |
US6275953B1 (en) | 1997-09-26 | 2001-08-14 | Emc Corporation | Recovery from failure of a data processor in a network server |
JP4128641B2 (ja) | 1997-10-13 | 2008-07-30 | 株式会社東芝 | データ退避方法 |
US6421653B1 (en) * | 1997-10-14 | 2002-07-16 | Blackbird Holdings, Inc. | Systems, methods and computer program products for electronic trading of financial instruments |
US6052735A (en) | 1997-10-24 | 2000-04-18 | Microsoft Corporation | Electronic mail object synchronization between a desktop computer and mobile device |
US6021415A (en) * | 1997-10-29 | 2000-02-01 | International Business Machines Corporation | Storage management system with file aggregation and space reclamation within aggregated files |
US7581077B2 (en) | 1997-10-30 | 2009-08-25 | Commvault Systems, Inc. | Method and system for transferring data in a storage operation |
US7209972B1 (en) | 1997-10-30 | 2007-04-24 | Commvault Systems, Inc. | High speed data transfer mechanism |
US6418478B1 (en) | 1997-10-30 | 2002-07-09 | Commvault Systems, Inc. | Pipelined high speed data transfer mechanism |
JP4363676B2 (ja) | 1997-10-31 | 2009-11-11 | 株式会社東芝 | コンピュータシステム |
US6260068B1 (en) | 1998-06-10 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for migrating resources in a multi-processor computer system |
US6061692A (en) | 1997-11-04 | 2000-05-09 | Microsoft Corporation | System and method for administering a meta database as an integral component of an information server |
JPH11143754A (ja) | 1997-11-05 | 1999-05-28 | Hitachi Ltd | バージョン情報・構成情報表示方法および装置およびバージョン情報・構成情報表示プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3665460B2 (ja) | 1997-12-05 | 2005-06-29 | 富士通株式会社 | 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体 |
US6304880B1 (en) | 1997-12-12 | 2001-10-16 | International Business Machines Corporation | Automated reclamation scheduling override in a virtual tape server |
US6088697A (en) | 1997-12-18 | 2000-07-11 | International Business Machines Corporation | Dynamic change management in an extended remote copy operation |
US6131190A (en) | 1997-12-18 | 2000-10-10 | Sidwell; Leland P. | System for modifying JCL parameters to optimize data storage allocations |
US6023710A (en) | 1997-12-23 | 2000-02-08 | Microsoft Corporation | System and method for long-term administration of archival storage |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6076148A (en) | 1997-12-26 | 2000-06-13 | Emc Corporation | Mass storage subsystem and backup arrangement for digital data processing system which permits information to be backed up while host computer(s) continue(s) operating in connection with information stored on mass storage subsystem |
US6262749B1 (en) | 1997-12-31 | 2001-07-17 | Acuson Corporation | Ultrasonic system and method for data transfer, storage and/or processing |
US6154787A (en) | 1998-01-21 | 2000-11-28 | Unisys Corporation | Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed |
US6131148A (en) | 1998-01-26 | 2000-10-10 | International Business Machines Corporation | Snapshot copy of a secondary volume of a PPRC pair |
US6260069B1 (en) | 1998-02-10 | 2001-07-10 | International Business Machines Corporation | Direct data retrieval in a distributed computing system |
US6105129A (en) | 1998-02-18 | 2000-08-15 | Advanced Micro Devices, Inc. | Converting register data from a first format type to a second format type if a second type instruction consumes data produced by a first type instruction |
US6374363B1 (en) | 1998-02-24 | 2002-04-16 | Adaptec, Inc. | Method for generating a footprint image file for an intelligent backup and restoring system |
DE69816415T2 (de) * | 1998-03-02 | 2004-04-15 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Datensicherungssystem |
US6026414A (en) | 1998-03-05 | 2000-02-15 | International Business Machines Corporation | System including a proxy client to backup files in a distributed computing environment |
US6292783B1 (en) | 1998-03-06 | 2001-09-18 | Plexar & Associates | Phone-assisted clinical document information computer system for use in home healthcare, post-acute clinical care, hospice and home infusion applications |
US6631477B1 (en) | 1998-03-13 | 2003-10-07 | Emc Corporation | Host system for mass storage business continuance volumes |
US6185534B1 (en) * | 1998-03-23 | 2001-02-06 | Microsoft Corporation | Modeling emotion and personality in a computer user interface |
US6161111A (en) | 1998-03-31 | 2000-12-12 | Emc Corporation | System and method for performing file-handling operations in a digital data processing system using an operating system-independent file map |
US6175829B1 (en) | 1998-04-22 | 2001-01-16 | Nec Usa, Inc. | Method and apparatus for facilitating query reformulation |
US6167402A (en) | 1998-04-27 | 2000-12-26 | Sun Microsystems, Inc. | High performance message store |
US6163856A (en) | 1998-05-29 | 2000-12-19 | Sun Microsystems, Inc. | Method and apparatus for file system disaster recovery |
US6154852A (en) | 1998-06-10 | 2000-11-28 | International Business Machines Corporation | Method and apparatus for data backup and recovery |
US6438595B1 (en) | 1998-06-24 | 2002-08-20 | Emc Corporation | Load balancing using directory services in a data processing system |
US6665687B1 (en) | 1998-06-26 | 2003-12-16 | Alexander James Burke | Composite user interface and search system for internet and multimedia applications |
US6421711B1 (en) | 1998-06-29 | 2002-07-16 | Emc Corporation | Virtual ports for data transferring of a data storage system |
US6216202B1 (en) | 1998-06-30 | 2001-04-10 | Emc Corporation | Method and apparatus for managing virtual storage devices in a storage system |
US6366986B1 (en) | 1998-06-30 | 2002-04-02 | Emc Corporation | Method and apparatus for differential backup in a computer storage system |
US6542909B1 (en) | 1998-06-30 | 2003-04-01 | Emc Corporation | System for determining mapping of logical objects in a computer system |
US6230282B1 (en) * | 1998-07-03 | 2001-05-08 | Hewlett-Packard Company | Checkpoint computer system utilizing a FIFO buffer to re-synchronize the memory systems on the detection of an error |
US6094605A (en) | 1998-07-06 | 2000-07-25 | Storage Technology Corporation | Virtual automated cartridge system |
CA2243906C (en) * | 1998-07-23 | 2007-11-13 | National Steel Car Limited | Railcar brake structure |
US6269431B1 (en) | 1998-08-13 | 2001-07-31 | Emc Corporation | Virtual storage and block level direct access of secondary storage for recovery of backup data |
US6353878B1 (en) | 1998-08-13 | 2002-03-05 | Emc Corporation | Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem |
GB2341249A (en) | 1998-08-17 | 2000-03-08 | Connected Place Limited | A method of generating a difference file defining differences between an updated file and a base file |
US6446077B2 (en) | 1998-09-21 | 2002-09-03 | Microsoft Corporation | Inherited information propagator for objects |
US6304914B1 (en) | 1998-09-22 | 2001-10-16 | Microsoft Corporation | Method and apparatus for pre-compression packaging |
JP3004008B1 (ja) | 1998-10-20 | 2000-01-31 | 三菱電機株式会社 | 更新履歴管理装置及び更新履歴管理方法 |
US6195695B1 (en) | 1998-10-27 | 2001-02-27 | International Business Machines Corporation | Data processing system and method for recovering from system crashes |
US6516314B1 (en) | 1998-11-17 | 2003-02-04 | Telefonaktiebolaget L M Ericsson (Publ) | Optimization of change log handling |
US6516327B1 (en) | 1998-12-24 | 2003-02-04 | International Business Machines Corporation | System and method for synchronizing data in multiple databases |
US6487561B1 (en) | 1998-12-31 | 2002-11-26 | Emc Corporation | Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size |
US6397308B1 (en) | 1998-12-31 | 2002-05-28 | Emc Corporation | Apparatus and method for differential backup and restoration of data in a computer storage system |
US7107395B1 (en) | 1998-12-31 | 2006-09-12 | Emc Corporation | Apparatus and methods for operating a computer storage system |
US6212512B1 (en) | 1999-01-06 | 2001-04-03 | Hewlett-Packard Company | Integration of a database into file management software for protecting, tracking and retrieving data |
US6324581B1 (en) | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US6350199B1 (en) | 1999-03-16 | 2002-02-26 | International Game Technology | Interactive gaming machine and method with customized game screen presentation |
US6681230B1 (en) | 1999-03-25 | 2004-01-20 | Lucent Technologies Inc. | Real-time event processing system with service authoring environment |
JP3763992B2 (ja) | 1999-03-30 | 2006-04-05 | 富士通株式会社 | データ処理装置及び記録媒体 |
US6389432B1 (en) | 1999-04-05 | 2002-05-14 | Auspex Systems, Inc. | Intelligent virtual volume access |
US6516348B1 (en) | 1999-05-21 | 2003-02-04 | Macfarlane Druce Ian Craig Rattray | Collecting and predicting capacity information for composite network resource formed by combining ports of an access server and/or links of wide arear network |
JP3726559B2 (ja) | 1999-06-01 | 2005-12-14 | 株式会社日立製作所 | ダイレクトバックアップ方法および記憶装置システム |
US6564271B2 (en) * | 1999-06-09 | 2003-05-13 | Qlogic Corporation | Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter |
US6519679B2 (en) | 1999-06-11 | 2003-02-11 | Dell Usa, L.P. | Policy based storage configuration |
US6539462B1 (en) | 1999-07-12 | 2003-03-25 | Hitachi Data Systems Corporation | Remote data copy using a prospective suspend command |
US7035880B1 (en) | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
US7395282B1 (en) | 1999-07-15 | 2008-07-01 | Commvault Systems, Inc. | Hierarchical backup and retrieval system |
US6538669B1 (en) | 1999-07-15 | 2003-03-25 | Dell Products L.P. | Graphical user interface for configuration of a storage system |
US7389311B1 (en) | 1999-07-15 | 2008-06-17 | Commvault Systems, Inc. | Modular backup and retrieval system |
US6490666B1 (en) | 1999-08-20 | 2002-12-03 | Microsoft Corporation | Buffering data in a hierarchical data storage environment |
US6343324B1 (en) | 1999-09-13 | 2002-01-29 | International Business Machines Corporation | Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices |
CA2385683A1 (en) | 1999-09-13 | 2001-04-05 | Healinx | A message and program system supporting communication |
FR2799023B1 (fr) | 1999-09-24 | 2003-04-18 | France Telecom | Procede de classification thematique de documents, module de classification thematique et moteur de recherche incorporant un tel module |
US6363464B1 (en) * | 1999-10-08 | 2002-03-26 | Lucent Technologies Inc. | Redundant processor controlled system |
TW454120B (en) | 1999-11-11 | 2001-09-11 | Miralink Corp | Flexible remote data mirroring |
US6684191B1 (en) | 1999-11-22 | 2004-01-27 | International Business Machines Corporation | System and method for assessing a procurement and accounts payable system |
US6434681B1 (en) | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
EP1238335A1 (en) | 1999-12-07 | 2002-09-11 | Data Foundation, Inc. | Scalable storage architecture |
US6460055B1 (en) | 1999-12-16 | 2002-10-01 | Livevault Corporation | Systems and methods for backing up data files |
US6401178B1 (en) | 1999-12-23 | 2002-06-04 | Emc Corporatiion | Data processing method and apparatus for enabling independent access to replicated data |
US20020038348A1 (en) | 2000-01-14 | 2002-03-28 | Malone Michael K. | Distributed globally accessible information network |
US6564228B1 (en) * | 2000-01-14 | 2003-05-13 | Sun Microsystems, Inc. | Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network |
US6721767B2 (en) | 2000-01-31 | 2004-04-13 | Commvault Systems, Inc. | Application specific rollback in a computer system |
US6760723B2 (en) | 2000-01-31 | 2004-07-06 | Commvault Systems Inc. | Storage management across multiple time zones |
US6542972B2 (en) | 2000-01-31 | 2003-04-01 | Commvault Systems, Inc. | Logical view and access to physical storage in modular data and storage management system |
US6658436B2 (en) | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
US7065538B2 (en) * | 2000-02-11 | 2006-06-20 | Quest Software, Inc. | System and method for reconciling transactions between a replication system and a recovered database |
US6647473B1 (en) | 2000-02-16 | 2003-11-11 | Microsoft Corporation | Kernel-based crash-consistency coordinator |
US6473775B1 (en) | 2000-02-16 | 2002-10-29 | Microsoft Corporation | System and method for growing differential file on a base volume of a snapshot |
US6651075B1 (en) | 2000-02-16 | 2003-11-18 | Microsoft Corporation | Support for multiple temporal snapshots of same volume |
US6615223B1 (en) | 2000-02-29 | 2003-09-02 | Oracle International Corporation | Method and system for data replication |
US20020120741A1 (en) | 2000-03-03 | 2002-08-29 | Webb Theodore S. | Systems and methods for using distributed interconnects in information management enviroments |
US6487645B1 (en) * | 2000-03-06 | 2002-11-26 | International Business Machines Corporation | Data storage subsystem with fairness-driven update blocking |
US6629189B1 (en) | 2000-03-09 | 2003-09-30 | Emc Corporation | Method and apparatus for managing target devices in a multi-path computer system |
US20010032172A1 (en) | 2000-03-17 | 2001-10-18 | Surveyplanet, Inc. | System and method for requesting proposals and awarding contracts for provision of services |
US6728733B2 (en) | 2000-03-29 | 2004-04-27 | Komatsu Wall System Development Co., Ltd. | System, method, and program product for administrating document file in computerized network system |
US7111189B1 (en) * | 2000-03-30 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Method for transaction log failover merging during asynchronous operations in a data storage network |
US6792472B1 (en) | 2000-03-31 | 2004-09-14 | International Business Machines Corporation | System, method and computer readable medium for intelligent raid controllers operating as data routers |
US20020023051A1 (en) | 2000-03-31 | 2002-02-21 | Kunzle Adrian E. | System and method for recommending financial products to a customer based on customer needs and preferences |
US20020049778A1 (en) | 2000-03-31 | 2002-04-25 | Bell Peter W. | System and method of information outsourcing |
US7668798B2 (en) | 2000-04-04 | 2010-02-23 | Red Hat, Inc. | System and method for accessing data in disparate information sources |
JP2001356945A (ja) * | 2000-04-12 | 2001-12-26 | Anetsukusu Syst Kk | データバックアップ・リカバリー方式 |
AU2001293359A1 (en) | 2000-04-14 | 2001-10-30 | Mathias Client Management Software Company | Method and system for interfacing clients with relationship management (rm) accounts and for permissioning marketing |
US6571310B1 (en) | 2000-04-20 | 2003-05-27 | International Business Machines Corporation | Method and apparatus for managing a heterogeneous data storage system |
US6356801B1 (en) | 2000-05-19 | 2002-03-12 | International Business Machines Corporation | High availability work queuing in an automated data storage library |
EP1158409B1 (en) | 2000-05-25 | 2008-05-28 | Hitachi, Ltd. | Storage system making possible data synchronisation confirmation at time of asynchronous remote copy |
US6691209B1 (en) | 2000-05-26 | 2004-02-10 | Emc Corporation | Topological data categorization and formatting for a mass storage system |
US6564229B1 (en) * | 2000-06-08 | 2003-05-13 | International Business Machines Corporation | System and method for pausing and resuming move/copy operations |
US7404005B1 (en) | 2000-06-09 | 2008-07-22 | International Business Machines Corporation | Method, system, and program for selecting one of multiple paths to communicate with a device |
US6665815B1 (en) | 2000-06-22 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Physical incremental backup using snapshots |
US6330642B1 (en) | 2000-06-29 | 2001-12-11 | Bull Hn Informatin Systems Inc. | Three interconnected raid disk controller data processing system architecture |
EP1174795A1 (en) | 2000-07-19 | 2002-01-23 | Hewlett-Packard Company, A Delaware Corporation | Multiplexing computing apparatus |
WO2002013065A1 (en) | 2000-08-03 | 2002-02-14 | Epstein Bruce A | Information collaboration and reliability assessment |
US6925476B1 (en) | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US7082441B1 (en) | 2000-08-17 | 2006-07-25 | Emc Corporation | Method and storage and manipulation of storage system metrics |
US6886020B1 (en) | 2000-08-17 | 2005-04-26 | Emc Corporation | Method and apparatus for storage system metrics management and archive |
US6751635B1 (en) * | 2000-08-18 | 2004-06-15 | Network Appliance, Inc. | File deletion and truncation using a zombie file space |
GB2366014B (en) | 2000-08-19 | 2004-10-13 | Ibm | Free space collection in information storage systems |
US7278142B2 (en) | 2000-08-24 | 2007-10-02 | Veritas Operating Corporation | Dynamic computing environment using remotely allocable resources |
US7269641B2 (en) | 2000-08-30 | 2007-09-11 | Sun Microsystems, Inc. | Remote reconfiguration system |
US6732125B1 (en) | 2000-09-08 | 2004-05-04 | Storage Technology Corporation | Self archiving log structured volume with intrinsic data protection |
NO313399B1 (no) | 2000-09-14 | 2002-09-23 | Fast Search & Transfer Asa | Fremgangsmate til soking og analyse av informasjon i datanettverk |
US6611849B1 (en) | 2000-09-29 | 2003-08-26 | Palm Source, Inc. | System for synchronizing databases on multiple devices utilizing a home base |
EP1193616A1 (en) | 2000-09-29 | 2002-04-03 | Sony France S.A. | Fixed-length sequence generation of items out of a database using descriptors |
JP2002108662A (ja) | 2000-10-02 | 2002-04-12 | Fujitsu Ltd | 情報管理方法 |
US6691245B1 (en) * | 2000-10-10 | 2004-02-10 | Lsi Logic Corporation | Data storage with host-initiated synchronization and fail-over of remote mirror |
US6973553B1 (en) | 2000-10-20 | 2005-12-06 | International Business Machines Corporation | Method and apparatus for using extended disk sector formatting to assist in backup and hierarchical storage management |
US20020091712A1 (en) | 2000-10-28 | 2002-07-11 | Martin Andrew Richard | Data-base caching system and method of operation |
US7106691B1 (en) | 2000-11-01 | 2006-09-12 | At&T Corp. | Method for tracking source and destination internet protocol data |
US6985956B2 (en) | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
US7313614B2 (en) | 2000-11-02 | 2007-12-25 | Sun Microsystems, Inc. | Switching system |
US7068597B1 (en) | 2000-11-27 | 2006-06-27 | 3Com Corporation | System and method for automatic load balancing in a data-over-cable network |
US7225219B2 (en) | 2000-11-29 | 2007-05-29 | Broadspider Networks, Inc. | Distributed caching architecture for computer networks |
US6871271B2 (en) | 2000-12-21 | 2005-03-22 | Emc Corporation | Incrementally restoring a mass storage device to a prior state |
US6647396B2 (en) | 2000-12-28 | 2003-11-11 | Trilogy Development Group, Inc. | Classification based content management system |
US6799258B1 (en) | 2001-01-10 | 2004-09-28 | Datacore Software Corporation | Methods and apparatus for point-in-time volumes |
US6978265B2 (en) | 2001-01-16 | 2005-12-20 | Lakeside Software, Inc. | System and method for managing information for a plurality of computer systems in a distributed network |
US6823477B1 (en) | 2001-01-23 | 2004-11-23 | Adaptec, Inc. | Method and apparatus for a segregated interface for parameter configuration in a multi-path failover system |
US20020124137A1 (en) | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
US7231391B2 (en) | 2001-02-06 | 2007-06-12 | Quest Software, Inc. | Loosely coupled database clusters with client connection fail-over |
US7734715B2 (en) | 2001-03-01 | 2010-06-08 | Ricoh Company, Ltd. | System, computer program product and method for managing documents |
US7194454B2 (en) | 2001-03-12 | 2007-03-20 | Lucent Technologies | Method for organizing records of database search activity by topical relevance |
US6836779B2 (en) | 2001-03-13 | 2004-12-28 | Christian D. Poulin | Network transaction method |
US6728736B2 (en) | 2001-03-14 | 2004-04-27 | Storage Technology Corporation | System and method for synchronizing a data copy using an accumulation remote copy trio |
US7177866B2 (en) | 2001-03-16 | 2007-02-13 | Gravic, Inc. | Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only |
JP3693958B2 (ja) | 2001-04-05 | 2005-09-14 | 松下電器産業株式会社 | 分散型文書検索方法及び装置、並びに分散型文書検索プログラム及びそのプログラムを記録した記録媒体 |
US20030189927A1 (en) | 2001-04-27 | 2003-10-09 | Foster Michael S. | Method and system for multiframe buffering in a routing device |
US6883108B2 (en) | 2001-05-07 | 2005-04-19 | Sun Microsystems, Inc. | Fault-tolerant routing scheme for a multi-path interconnection fabric in a storage network |
CA2347647A1 (en) | 2001-05-15 | 2002-11-15 | Ibm Canada Limited-Ibm Canada Limitee | Storing and restoring snapshots of a computer process |
US7111023B2 (en) | 2001-05-24 | 2006-09-19 | Oracle International Corporation | Synchronous change data capture in a relational database |
US6763351B1 (en) | 2001-06-18 | 2004-07-13 | Siebel Systems, Inc. | Method, apparatus, and system for attaching search results |
US7343410B2 (en) | 2001-06-28 | 2008-03-11 | Finisar Corporation | Automated creation of application data paths in storage area networks |
GB0116686D0 (en) | 2001-07-07 | 2001-08-29 | Hewlett Packard Co | Data backup |
US7062761B2 (en) | 2001-07-10 | 2006-06-13 | Micron Technology, Inc. | Dynamic arrays and overlays with bounds policies |
US7564970B2 (en) | 2004-08-12 | 2009-07-21 | Cmla, Llc | Exponential data transform to enhance security |
US20030018657A1 (en) | 2001-07-18 | 2003-01-23 | Imation Corp. | Backup of data on a network |
US6948038B2 (en) | 2001-07-24 | 2005-09-20 | Microsoft Corporation | System and method for backing up and restoring data |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US6662198B2 (en) | 2001-08-30 | 2003-12-09 | Zoteca Inc. | Method and system for asynchronous transmission, backup, distribution of data and file sharing |
JP4161557B2 (ja) | 2001-09-03 | 2008-10-08 | 株式会社日立製作所 | パケット転送方法及びその装置 |
US20030061491A1 (en) | 2001-09-21 | 2003-03-27 | Sun Microsystems, Inc. | System and method for the allocation of network storage |
US7024517B1 (en) | 2001-09-27 | 2006-04-04 | Emc Corporation | System and method for configuring data storage in accordance with workload requirements |
US7346623B2 (en) * | 2001-09-28 | 2008-03-18 | Commvault Systems, Inc. | System and method for generating and managing quick recovery volumes |
US20030079018A1 (en) | 2001-09-28 | 2003-04-24 | Lolayekar Santosh C. | Load balancing in a storage network |
US7107298B2 (en) | 2001-09-28 | 2006-09-12 | Commvault Systems, Inc. | System and method for archiving objects in an information store |
US6925512B2 (en) * | 2001-10-15 | 2005-08-02 | Intel Corporation | Communication between two embedded processors |
US20030097296A1 (en) | 2001-11-20 | 2003-05-22 | Putt David A. | Service transaction management system and process |
JP2005510794A (ja) | 2001-11-23 | 2005-04-21 | コムヴォールト・システムズ・インコーポレーテッド | 選択的データ複製システムおよび方法 |
US7596586B2 (en) | 2003-04-03 | 2009-09-29 | Commvault Systems, Inc. | System and method for extended media retention |
US7296125B2 (en) | 2001-11-29 | 2007-11-13 | Emc Corporation | Preserving a snapshot of selected data of a mass storage system |
EP1324216A1 (en) | 2001-12-28 | 2003-07-02 | Deutsche Thomson-Brandt Gmbh | Machine for classification of metadata |
US6898688B2 (en) | 2001-12-28 | 2005-05-24 | Storage Technology Corporation | Data management appliance |
US6938180B1 (en) | 2001-12-31 | 2005-08-30 | Emc Corporation | Logical restores of physically backed up data |
US7139932B2 (en) | 2002-01-03 | 2006-11-21 | Hitachi, Ltd. | Data synchronization of multiple remote storage after remote copy suspension |
US6948089B2 (en) | 2002-01-10 | 2005-09-20 | Hitachi, Ltd. | Apparatus and method for multiple generation remote backup and fast restore |
US20030220929A1 (en) | 2002-01-22 | 2003-11-27 | Columbia Data Products, Inc. | Managing finite data storage utilizing preservation weights |
US7237075B2 (en) | 2002-01-22 | 2007-06-26 | Columbia Data Products, Inc. | Persistent snapshot methods |
FR2835139B1 (fr) * | 2002-01-22 | 2004-06-11 | Innovi Technologies Ltd | Procede de transmission de signaux voix/donnees entre un appareil de base et un appareil secondaire ou intermediaire |
US6748504B2 (en) * | 2002-02-15 | 2004-06-08 | International Business Machines Corporation | Deferred copy-on-write of a snapshot |
US7343365B2 (en) | 2002-02-20 | 2008-03-11 | Microsoft Corporation | Computer system architecture for automatic context associations |
JP2003248611A (ja) | 2002-02-26 | 2003-09-05 | Hitachi Ltd | 記憶管理統合システム、および、その記憶管理制御方法 |
US7072304B2 (en) | 2002-02-27 | 2006-07-04 | Nortel Networks Limited | Network path selection based on bandwidth |
US7373364B1 (en) | 2002-03-05 | 2008-05-13 | Network Appliance, Inc. | System and method for creating a point-in-time restoration of a database file |
US6941393B2 (en) * | 2002-03-05 | 2005-09-06 | Agilent Technologies, Inc. | Pushback FIFO |
US6880051B2 (en) | 2002-03-14 | 2005-04-12 | International Business Machines Corporation | Method, system, and program for maintaining backup copies of files in a backup storage device |
US20030177149A1 (en) | 2002-03-18 | 2003-09-18 | Coombs David Lawrence | System and method for data backup |
US7475098B2 (en) | 2002-03-19 | 2009-01-06 | Network Appliance, Inc. | System and method for managing a plurality of snapshots |
US7467167B2 (en) | 2002-03-19 | 2008-12-16 | Network Appliance, Inc. | System and method for coalescing a plurality of snapshots |
US7007046B2 (en) | 2002-03-19 | 2006-02-28 | Network Appliance, Inc. | Format for transmission file system information between a source and a destination |
JP4215542B2 (ja) | 2002-03-19 | 2009-01-28 | ネットワーク アプライアンス, インコーポレイテッド | 2つのスナップショット間の変化を判定して宛先スナップショットに送信するシステム及び方法 |
US7051050B2 (en) | 2002-03-19 | 2006-05-23 | Netwrok Appliance, Inc. | System and method for restoring a single file from a snapshot |
US7225204B2 (en) | 2002-03-19 | 2007-05-29 | Network Appliance, Inc. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US6993539B2 (en) | 2002-03-19 | 2006-01-31 | Network Appliance, Inc. | System and method for determining changes in two snapshots and for transmitting changes to destination snapshot |
US7032131B2 (en) * | 2002-03-26 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | System and method for ensuring merge completion in a storage area network |
JP4196579B2 (ja) | 2002-04-10 | 2008-12-17 | 株式会社日立製作所 | ストレージ運用管理方法およびシステム |
US6983351B2 (en) | 2002-04-11 | 2006-01-03 | International Business Machines Corporation | System and method to guarantee overwrite of expired data in a virtual tape server |
US7532340B2 (en) | 2002-04-19 | 2009-05-12 | Toshiba Tec Kabushiki Kaisha | Document management system rule-based automation |
US6981177B2 (en) | 2002-04-19 | 2005-12-27 | Computer Associates Think, Inc. | Method and system for disaster recovery |
US7546364B2 (en) | 2002-05-16 | 2009-06-09 | Emc Corporation | Replication of remote copy data for internet protocol (IP) transmission |
US7269612B2 (en) | 2002-05-31 | 2007-09-11 | International Business Machines Corporation | Method, system, and program for a policy based storage manager |
US6871163B2 (en) | 2002-05-31 | 2005-03-22 | Sap Aktiengesellschaft | Behavior-based adaptation of computer systems |
US6944796B2 (en) * | 2002-06-27 | 2005-09-13 | Intel Corporation | Method and system to implement a system event log for system manageability |
US7085959B2 (en) * | 2002-07-03 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Method and apparatus for recovery from loss of lock step |
TWI256556B (en) | 2002-07-08 | 2006-06-11 | Via Tech Inc | Distributed concurrent version management system and method |
US7844577B2 (en) | 2002-07-15 | 2010-11-30 | Symantec Corporation | System and method for maintaining a backup storage system for a computer system |
US7085787B2 (en) | 2002-07-19 | 2006-08-01 | International Business Machines Corporation | Capturing data changes utilizing data-space tracking |
US6952758B2 (en) | 2002-07-31 | 2005-10-04 | International Business Machines Corporation | Method and system for providing consistent data modification information to clients in a storage system |
US7058850B2 (en) * | 2002-07-31 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Method and system for preventing data loss within disk-array pairs supporting mirrored logical units |
US6792518B2 (en) | 2002-08-06 | 2004-09-14 | Emc Corporation | Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies |
US20040039679A1 (en) | 2002-08-14 | 2004-02-26 | Norton David W. | Generation and acceptance of tailored offers |
US20040107199A1 (en) | 2002-08-22 | 2004-06-03 | Mdt Inc. | Computer application backup method and system |
US7103731B2 (en) | 2002-08-29 | 2006-09-05 | International Business Machines Corporation | Method, system, and program for moving data among storage units |
US7810067B2 (en) | 2002-08-30 | 2010-10-05 | Sap Aktiengesellschaft | Development processes representation and management |
AU2003270482A1 (en) | 2002-09-09 | 2004-03-29 | Commvault Systems, Inc. | Dynamic storage device pooling in a computer system |
ATE429678T1 (de) | 2002-09-10 | 2009-05-15 | Exagrid Systems Inc | Primär- und ferndatensicherung mit knoten- failover |
US7234115B1 (en) | 2002-09-26 | 2007-06-19 | Home Director, Inc. | Home entertainment system and method |
US7640342B1 (en) | 2002-09-27 | 2009-12-29 | Emc Corporation | System and method for determining configuration of one or more data storage systems |
US6938135B1 (en) | 2002-10-04 | 2005-08-30 | Veritas Operating Corporation | Incremental backup of a data volume |
CA2508089A1 (en) | 2002-10-07 | 2004-04-22 | Commvault Systems, Inc. | System and method for managing stored data |
US7707184B1 (en) | 2002-10-09 | 2010-04-27 | Netapp, Inc. | System and method for snapshot full backup and hard recovery of a database |
US7307948B2 (en) | 2002-10-21 | 2007-12-11 | Emulex Design & Manufacturing Corporation | System with multiple path fail over, fail back and load balancing |
US7401064B1 (en) | 2002-11-07 | 2008-07-15 | Data Advantage Group, Inc. | Method and apparatus for obtaining metadata from multiple information sources within an organization in real time |
US8121978B2 (en) | 2002-11-15 | 2012-02-21 | Sybase, Inc. | Database system providing improved methods for data replication |
GB2411030B (en) | 2002-11-20 | 2006-03-22 | Filesx Ltd | Fast backup storage and fast recovery of data (FBSRD) |
US7269172B2 (en) * | 2003-01-07 | 2007-09-11 | Sun Microsystems, Inc. | Method and device for managing transmit buffers |
KR101168423B1 (ko) | 2003-02-05 | 2012-07-25 | 가부시키가이샤 자나비 인포메틱스 | 내비게이션 장치의 경로 탐색 방법 및 교통 정보 표시 방법 |
US7177886B2 (en) | 2003-02-07 | 2007-02-13 | International Business Machines Corporation | Apparatus and method for coordinating logical data replication with highly available data replication |
US7827283B2 (en) | 2003-02-19 | 2010-11-02 | International Business Machines Corporation | System for managing and controlling storage access requirements |
US20040193953A1 (en) | 2003-02-21 | 2004-09-30 | Sun Microsystems, Inc. | Method, system, and program for maintaining application program configuration settings |
US7231544B2 (en) | 2003-02-27 | 2007-06-12 | Hewlett-Packard Development Company, L.P. | Restoring data from point-in-time representations of the data |
US7111021B1 (en) | 2003-03-21 | 2006-09-19 | Network Appliance, Inc. | System and method for efficient space accounting in a file system with snapshots |
US7383264B2 (en) | 2003-03-27 | 2008-06-03 | Hitachi, Ltd. | Data control method for duplicating data between computer systems |
WO2004090788A2 (en) | 2003-04-03 | 2004-10-21 | Commvault Systems, Inc. | System and method for dynamically performing storage operations in a computer network |
US7158985B1 (en) | 2003-04-09 | 2007-01-02 | Cisco Technology, Inc. | Method and apparatus for efficient propagation of large datasets under failure conditions |
US6839724B2 (en) | 2003-04-17 | 2005-01-04 | Oracle International Corporation | Metamodel-based metadata change management |
US7155465B2 (en) | 2003-04-18 | 2006-12-26 | Lee Howard F | Method and apparatus for automatically archiving a file system |
US20040215724A1 (en) | 2003-04-28 | 2004-10-28 | Microsoft Corporation | Email service error recovery |
US7673000B2 (en) | 2003-04-28 | 2010-03-02 | Microsoft Corporation | Email service |
JP2004334574A (ja) | 2003-05-08 | 2004-11-25 | Hitachi Ltd | ストレージの運用管理プログラム、運用管理方法及び管理計算機 |
US7941331B2 (en) | 2003-05-12 | 2011-05-10 | I2 Technologies Us, Inc. | Determining order lead time for a supply chain using a probability distribution of order lead time |
US7240219B2 (en) | 2003-05-25 | 2007-07-03 | Sandisk Il Ltd. | Method and system for maintaining backup of portable storage devices |
JP2004354752A (ja) | 2003-05-29 | 2004-12-16 | Sumitomo Electric Ind Ltd | 一心双方向光モジュールのジョイントフォルダ |
WO2004109556A1 (en) | 2003-05-30 | 2004-12-16 | Arkivio, Inc. | Operating on migrated files without recalling data |
US20040249883A1 (en) | 2003-06-09 | 2004-12-09 | Venkataraman Srinivasan | System and method of website data transfer handshake |
US20040254919A1 (en) | 2003-06-13 | 2004-12-16 | Microsoft Corporation | Log parser |
US7467168B2 (en) | 2003-06-18 | 2008-12-16 | International Business Machines Corporation | Method for mirroring data at storage locations |
US20040260678A1 (en) | 2003-06-18 | 2004-12-23 | Microsoft Corporation | State based configuration failure detection using checkpoint comparison |
JP2005011429A (ja) | 2003-06-19 | 2005-01-13 | Hitachi Ltd | ファイル管理方法および記録装置、再生装置、記録媒体 |
US7454569B2 (en) | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
WO2005001646A2 (en) | 2003-06-25 | 2005-01-06 | Arkivio, Inc. | Techniques for performing policy automated operations |
US7567991B2 (en) | 2003-06-25 | 2009-07-28 | Emc Corporation | Replication of snapshot using a file system copy differential |
US7275177B2 (en) | 2003-06-25 | 2007-09-25 | Emc Corporation | Data recovery with internet protocol replication with or without full resync |
US8095511B2 (en) | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
US7617369B1 (en) | 2003-06-30 | 2009-11-10 | Symantec Operating Corporation | Fast failover with multiple secondary nodes |
US7694086B1 (en) | 2003-06-30 | 2010-04-06 | Symantec Operating Corporation | Method and system for incremental backup of data volumes |
JP4421230B2 (ja) | 2003-08-12 | 2010-02-24 | 株式会社日立製作所 | 性能情報分析方法 |
US7702670B1 (en) | 2003-08-29 | 2010-04-20 | Emc Corporation | System and method for tracking changes associated with incremental copying |
US7330859B2 (en) | 2003-09-10 | 2008-02-12 | International Business Machines Corporation | Database backup system using data and user-defined routines replicators for maintaining a copy of database on a secondary server |
US6912482B2 (en) | 2003-09-11 | 2005-06-28 | Veritas Operating Corporation | Data storage analysis mechanism |
US7188292B2 (en) * | 2003-09-26 | 2007-03-06 | Nortel Networks Limited | Data mirroring system |
US20050071391A1 (en) | 2003-09-29 | 2005-03-31 | International Business Machines Corporation | High availability data replication set up using external backup and restore |
US7200620B2 (en) | 2003-09-29 | 2007-04-03 | International Business Machines Corporation | High availability data replication of smart large objects |
US7225208B2 (en) | 2003-09-30 | 2007-05-29 | Iron Mountain Incorporated | Systems and methods for backing up data files |
JP4492084B2 (ja) | 2003-10-07 | 2010-06-30 | 株式会社日立製作所 | ストレージパス制御方法 |
US7496690B2 (en) | 2003-10-09 | 2009-02-24 | Intel Corporation | Method, system, and program for managing memory for data transmission through a network |
US7194487B1 (en) | 2003-10-16 | 2007-03-20 | Veritas Operating Corporation | System and method for recording the order of a change caused by restoring a primary volume during ongoing replication of the primary volume |
JP4267420B2 (ja) | 2003-10-20 | 2009-05-27 | 株式会社日立製作所 | ストレージ装置及びバックアップ取得方法 |
JP4066932B2 (ja) | 2003-11-10 | 2008-03-26 | 株式会社日立製作所 | 予測に基づいた計算機リソース配分方法 |
US7613748B2 (en) | 2003-11-13 | 2009-11-03 | Commvault Systems, Inc. | Stored data reverification management system and method |
US7529782B2 (en) | 2003-11-13 | 2009-05-05 | Commvault Systems, Inc. | System and method for performing a snapshot and for restoring data |
US7315923B2 (en) | 2003-11-13 | 2008-01-01 | Commvault Systems, Inc. | System and method for combining data streams in pipelined storage operations in a storage network |
WO2005050381A2 (en) | 2003-11-13 | 2005-06-02 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
US7440982B2 (en) * | 2003-11-13 | 2008-10-21 | Commvault Systems, Inc. | System and method for stored data archive verification |
US7412583B2 (en) | 2003-11-14 | 2008-08-12 | International Business Machines Corporation | Virtual incremental storage method |
US7284153B2 (en) | 2003-11-17 | 2007-10-16 | International Business Machines Corporation | Apparatus, method, and system for logging diagnostic information |
US7225210B2 (en) | 2003-11-20 | 2007-05-29 | Overland Storage, Inc. | Block level data snapshot system and method |
US7272606B2 (en) * | 2003-11-26 | 2007-09-18 | Veritas Operating Corporation | System and method for detecting and storing file content access information within a file system |
EP1687745A2 (en) | 2003-11-26 | 2006-08-09 | Veritas Operating Corporation | System and method for generating extensible file system metadata and file system content processing |
US7228456B2 (en) * | 2003-12-01 | 2007-06-05 | Emc Corporation | Data recovery for virtual ordered writes for multiple storage devices |
US7155633B2 (en) | 2003-12-08 | 2006-12-26 | Solid Data Systems, Inc. | Exchange server method and system |
US7519726B2 (en) | 2003-12-12 | 2009-04-14 | International Business Machines Corporation | Methods, apparatus and computer programs for enhanced access to resources within a network |
JP5166735B2 (ja) | 2003-12-19 | 2013-03-21 | ネットアップ,インコーポレイテッド | 非常に短い更新インターバルで同期データ複製が可能なシステム及び方法 |
US20050138306A1 (en) | 2003-12-19 | 2005-06-23 | Panchbudhe Ankur P. | Performance of operations on selected data in a storage area |
US7039661B1 (en) | 2003-12-29 | 2006-05-02 | Veritas Operating Corporation | Coordinated dirty block tracking |
US7469262B2 (en) | 2003-12-29 | 2008-12-23 | Oracle International Corporation | Customizable metadata merging framework |
US7103740B1 (en) | 2003-12-31 | 2006-09-05 | Veritas Operating Corporation | Backup mechanism for a multi-class file system |
US7293133B1 (en) | 2003-12-31 | 2007-11-06 | Veritas Operating Corporation | Performing operations without requiring split mirrors in a multi-class file system |
JP2005217815A (ja) | 2004-01-30 | 2005-08-11 | Hitachi Ltd | パス制御方法 |
JP4477370B2 (ja) | 2004-01-30 | 2010-06-09 | 株式会社日立製作所 | データ処理システム |
US8006056B2 (en) | 2004-01-30 | 2011-08-23 | Hewlett-Packard Development Company, L.P. | Storage system including capability to move a virtual storage device group without moving data |
US7627617B2 (en) | 2004-02-11 | 2009-12-01 | Storage Technology Corporation | Clustered hierarchical file services |
JP2005235058A (ja) | 2004-02-23 | 2005-09-02 | Hitachi Ltd | スナップショット取得方法、スナップショット取得装置及びスナップショット取得機能を備えたコンピュータシステム |
US7533181B2 (en) | 2004-02-26 | 2009-05-12 | International Business Machines Corporation | Apparatus, system, and method for data access management |
JP4454342B2 (ja) | 2004-03-02 | 2010-04-21 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
US7318134B1 (en) | 2004-03-16 | 2008-01-08 | Emc Corporation | Continuous data backup using distributed journaling |
US20050228875A1 (en) | 2004-04-13 | 2005-10-13 | Arnold Monitzer | System for estimating processing requirements |
JP4476683B2 (ja) | 2004-04-28 | 2010-06-09 | 株式会社日立製作所 | データ処理システム |
US7340652B2 (en) | 2004-04-30 | 2008-03-04 | International Business Machines Corporation | Invalidation of storage control unit cache metadata |
CA2564967C (en) | 2004-04-30 | 2014-09-30 | Commvault Systems, Inc. | Hierarchical systems and methods for providing a unified view of storage information |
US7617321B2 (en) | 2004-05-07 | 2009-11-10 | International Business Machines Corporation | File system architecture requiring no direct access to user data from a metadata manager |
JP4335090B2 (ja) | 2004-05-14 | 2009-09-30 | シャープ株式会社 | 移動端末装置 |
US8055745B2 (en) | 2004-06-01 | 2011-11-08 | Inmage Systems, Inc. | Methods and apparatus for accessing data from a primary data storage system for secondary storage |
US7383462B2 (en) | 2004-07-02 | 2008-06-03 | Hitachi, Ltd. | Method and apparatus for encrypted remote copy for secure data backup and restoration |
WO2006014504A2 (en) | 2004-07-07 | 2006-02-09 | Sciencelogic, Llc | Self configuring network management system |
US7529898B2 (en) | 2004-07-09 | 2009-05-05 | International Business Machines Corporation | Method for backing up and restoring data |
US7131027B2 (en) | 2004-07-09 | 2006-10-31 | Hitachi, Ltd. | Method and apparatus for disk array based I/O routing and multi-layered external storage linkage |
US20060020616A1 (en) * | 2004-07-22 | 2006-01-26 | Geoffrey Hardy | Indexing operational logs in a distributed processing system |
US7467267B1 (en) * | 2004-07-23 | 2008-12-16 | Sprint Communications Company L.P. | Method and system for backing up or restoring data in remote devices over a communications network |
US7661135B2 (en) | 2004-08-10 | 2010-02-09 | International Business Machines Corporation | Apparatus, system, and method for gathering trace data indicative of resource activity |
US7457980B2 (en) | 2004-08-13 | 2008-11-25 | Ken Qing Yang | Data replication method over a limited bandwidth network by mirroring parities |
JP4545529B2 (ja) | 2004-08-27 | 2010-09-15 | 株式会社日立製作所 | スナップショットの作成方法及びプログラム並びにストレージシステム |
US7257689B1 (en) | 2004-10-15 | 2007-08-14 | Veritas Operating Corporation | System and method for loosely coupled temporal storage management |
JP4507249B2 (ja) * | 2004-10-19 | 2010-07-21 | 株式会社日立製作所 | 記憶デバイスの更新を制御するシステム及び方法 |
US8060650B2 (en) | 2004-10-27 | 2011-11-15 | Hewlett-Packard Development Company, L.P. | Diagnosing a path in a storage network |
GB2447361B (en) | 2004-11-05 | 2009-05-20 | Commvault Systems Inc | Method and system of pooling storage devices |
US7536291B1 (en) | 2004-11-08 | 2009-05-19 | Commvault Systems, Inc. | System and method to support simulated storage operations |
JP4349301B2 (ja) | 2004-11-12 | 2009-10-21 | 日本電気株式会社 | ストレージ管理システムと方法並びにプログラム |
US7529745B2 (en) | 2004-11-19 | 2009-05-05 | International Business Machines Corporation | Method of verifying metadata of a migrated file |
KR100611578B1 (ko) | 2004-11-23 | 2006-08-10 | 한국전자통신연구원 | 차등화 서비스 제공을 위한 자원 할당 장치 및 그 방법 |
JP2006163843A (ja) | 2004-12-07 | 2006-06-22 | Ricoh Co Ltd | 部品管理方法及び部品管理プログラム |
US20060136685A1 (en) * | 2004-12-17 | 2006-06-22 | Sanrad Ltd. | Method and system to maintain data consistency over an internet small computer system interface (iSCSI) network |
JP2006178811A (ja) | 2004-12-24 | 2006-07-06 | Hitachi Ltd | ストレージシステム及びストレージシステムのパス制御方法 |
US7415488B1 (en) * | 2004-12-31 | 2008-08-19 | Symantec Operating Corporation | System and method for redundant storage consistency recovery |
US7363444B2 (en) | 2005-01-10 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | Method for taking snapshots of data |
US7512601B2 (en) | 2005-01-18 | 2009-03-31 | Microsoft Corporation | Systems and methods that enable search engines to present relevant snippets |
JP2006209636A (ja) | 2005-01-31 | 2006-08-10 | Hitachi Ltd | スナップショット維持方法 |
US8271436B2 (en) | 2005-02-07 | 2012-09-18 | Mimosa Systems, Inc. | Retro-fitting synthetic full copies of data |
US7809691B1 (en) | 2005-02-22 | 2010-10-05 | Symantec Operating Corporation | System and method of applying incremental changes prior to initialization of a point-in-time copy |
US8005795B2 (en) | 2005-03-04 | 2011-08-23 | Emc Corporation | Techniques for recording file operations and consistency points for producing a consistent copy |
JP4671720B2 (ja) | 2005-03-11 | 2011-04-20 | 株式会社日立製作所 | ストレージシステム及びデータ移動方法 |
US7489639B2 (en) | 2005-03-23 | 2009-02-10 | International Business Machines Corporation | Root-cause analysis of network performance problems |
JP2006285448A (ja) * | 2005-03-31 | 2006-10-19 | Oki Electric Ind Co Ltd | 冗長システム |
US7461230B1 (en) | 2005-03-31 | 2008-12-02 | Symantec Operating Corporation | Maintaining spatial locality of write operations |
US7765186B1 (en) | 2005-04-13 | 2010-07-27 | Progress Software Corporation | Update-anywhere replication of distributed systems |
US7590668B2 (en) * | 2005-04-15 | 2009-09-15 | Microsoft Corporation | Pausable backups of file system items |
JP2006302015A (ja) | 2005-04-21 | 2006-11-02 | Hitachi Ltd | ストレージシステム及びデータ管理方法 |
US7672979B1 (en) | 2005-04-22 | 2010-03-02 | Symantec Operating Corporation | Backup and restore techniques using inconsistent state indicators |
US7689467B1 (en) | 2005-06-09 | 2010-03-30 | At&T Intellectual Property Ii, Lp | Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation |
US7496589B1 (en) | 2005-07-09 | 2009-02-24 | Google Inc. | Highly compressed randomly accessed storage of large tables with arbitrary columns |
US7716171B2 (en) | 2005-08-18 | 2010-05-11 | Emc Corporation | Snapshot indexing |
US20070043956A1 (en) | 2005-08-19 | 2007-02-22 | Microsoft Corporation | System and methods that facilitate third party code test development |
JP4738941B2 (ja) | 2005-08-25 | 2011-08-03 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの管理方法 |
CN101258725B (zh) | 2005-09-08 | 2011-04-13 | 国际商业机器公司 | 存储区域网络中的负载分布 |
US7617541B2 (en) | 2005-09-09 | 2009-11-10 | Netapp, Inc. | Method and/or system to authorize access to stored data |
JP4688617B2 (ja) | 2005-09-16 | 2011-05-25 | 株式会社日立製作所 | 記憶制御システム及び方法 |
JP4668763B2 (ja) | 2005-10-20 | 2011-04-13 | 株式会社日立製作所 | ストレージ装置のリストア方法及びストレージ装置 |
US7840285B2 (en) * | 2005-10-28 | 2010-11-23 | Invensys Systems, Inc. | Sequence of events recorder facility for an industrial process control environment |
EP1952283A4 (en) | 2005-10-28 | 2010-01-06 | Goldengate Software Inc | DEVICE AND METHOD FOR GENERATING A REAL-TIME DATABASE DUPLICATE |
US8595633B2 (en) | 2005-10-31 | 2013-11-26 | Yahoo! Inc. | Method and system for displaying contextual rotating advertisements |
US7689736B2 (en) | 2005-11-07 | 2010-03-30 | Dot Hill Systems Corporation | Method and apparatus for a storage controller to dynamically determine the usage of onboard I/O ports |
US7529748B2 (en) | 2005-11-15 | 2009-05-05 | Ji-Rong Wen | Information classification paradigm |
US20070113006A1 (en) | 2005-11-16 | 2007-05-17 | Elliott John C | Apparatus and method to configure one or more storage arrays |
US7631151B2 (en) | 2005-11-28 | 2009-12-08 | Commvault Systems, Inc. | Systems and methods for classifying and transferring information in a storage network |
WO2007062258A2 (en) | 2005-11-28 | 2007-05-31 | Storagedna, Inc. | Distributed file system with file fragmentation |
US7668879B2 (en) | 2005-11-30 | 2010-02-23 | Oracle International Corporation | Database system configured for automatic failover with no data loss |
US7627584B2 (en) | 2005-11-30 | 2009-12-01 | Oracle International Corporation | Database system configured for automatic failover with no data loss |
US8291101B1 (en) * | 2005-12-08 | 2012-10-16 | Juniper Networks, Inc. | Synchronization of mutually shared data stored on network devices |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US8655850B2 (en) | 2005-12-19 | 2014-02-18 | Commvault Systems, Inc. | Systems and methods for resynchronizing information |
US7870355B2 (en) | 2005-12-19 | 2011-01-11 | Commvault Systems, Inc. | Log based data replication system with disk swapping below a predetermined rate |
US7962709B2 (en) * | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
US7617253B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Destination systems and methods for performing data replication |
US7636743B2 (en) | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
US7543125B2 (en) | 2005-12-19 | 2009-06-02 | Commvault Systems, Inc. | System and method for performing time-flexible calendric storage operations |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
US7651593B2 (en) * | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7500150B2 (en) | 2005-12-30 | 2009-03-03 | Microsoft Corporation | Determining the level of availability of a computing resource |
US8170985B2 (en) | 2006-01-31 | 2012-05-01 | Emc Corporation | Primary stub file retention and secondary retention coordination in a hierarchical storage system |
US7441092B2 (en) | 2006-04-20 | 2008-10-21 | Microsoft Corporation | Multi-client cluster-based backup and restore |
US7613750B2 (en) | 2006-05-29 | 2009-11-03 | Microsoft Corporation | Creating frequent application-consistent backups efficiently |
KR100877063B1 (ko) | 2006-05-29 | 2009-01-07 | 삼성전자주식회사 | 데이터를 관리하는 장치 및 방법 |
US8190571B2 (en) | 2006-06-07 | 2012-05-29 | Microsoft Corporation | Managing data with backup server indexing |
US7904681B1 (en) | 2006-06-30 | 2011-03-08 | Emc Corporation | Methods and systems for migrating data with minimal disruption |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
US8495102B2 (en) | 2006-09-01 | 2013-07-23 | International Business Machines Corporation | Method, system, and program product for organizing a database |
US7606842B2 (en) | 2006-09-27 | 2009-10-20 | Hewlett-Packard Development Company, L.P. | Method of merging a clone file system with an original file system |
KR100791325B1 (ko) | 2006-10-27 | 2008-01-03 | 삼성전자주식회사 | 비휘발성 메모리를 관리하는 장치 및 방법 |
US20080103916A1 (en) | 2006-10-31 | 2008-05-01 | Jon Carlo Camarador | Apparatuses, methods, and systems for capital management product enrollment |
US7669029B1 (en) | 2006-11-15 | 2010-02-23 | Network Appliance, Inc. | Load balancing a data storage system |
WO2008070688A1 (en) | 2006-12-04 | 2008-06-12 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US20080147878A1 (en) | 2006-12-15 | 2008-06-19 | Rajiv Kottomtharayil | System and methods for granular resource management in a storage network |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
JP4900811B2 (ja) | 2007-03-30 | 2012-03-21 | 株式会社日立製作所 | 記憶システムおよび記憶制御方法 |
US8239351B2 (en) | 2007-06-07 | 2012-08-07 | Apple Inc. | Methods and systems for managing permissions data |
US20090150462A1 (en) | 2007-12-07 | 2009-06-11 | Brocade Communications Systems, Inc. | Data migration operations in a distributed file system |
US7930476B1 (en) | 2007-12-28 | 2011-04-19 | Emc Corporation | Application aware storage resource provisioning |
US8752093B2 (en) | 2008-01-21 | 2014-06-10 | At&T Intellectual Property I, L.P. | System and method of providing recommendations related to a service system |
US8170990B2 (en) | 2008-05-30 | 2012-05-01 | Hitachi, Ltd. | Integrated remote replication in hierarchical storage systems |
US9098495B2 (en) | 2008-06-24 | 2015-08-04 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8219524B2 (en) | 2008-06-24 | 2012-07-10 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8166263B2 (en) | 2008-07-03 | 2012-04-24 | Commvault Systems, Inc. | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
US8700871B2 (en) | 2010-04-22 | 2014-04-15 | Hitachi, Ltd. | Migrating snapshot data according to calculated de-duplication efficiency |
US8589347B2 (en) | 2010-05-28 | 2013-11-19 | Commvault Systems, Inc. | Systems and methods for performing data replication |
-
2006
- 2006-12-18 US US11/640,825 patent/US7870355B2/en not_active Expired - Fee Related
- 2006-12-18 AU AU2006331932A patent/AU2006331932B2/en not_active Ceased
- 2006-12-18 CA CA2632935A patent/CA2632935C/en active Active
- 2006-12-18 ES ES06848901.2T patent/ES2582364T3/es active Active
- 2006-12-18 WO PCT/US2006/048273 patent/WO2007075587A2/en active Application Filing
- 2006-12-18 EP EP06848901.2A patent/EP1974296B8/en not_active Not-in-force
- 2006-12-18 US US11/640,831 patent/US7661028B2/en not_active Expired - Fee Related
-
2009
- 2009-12-18 US US12/642,491 patent/US8271830B2/en active Active
-
2012
- 2012-09-12 US US13/612,003 patent/US8656218B2/en active Active
-
2013
- 2013-12-23 US US14/138,666 patent/US9208210B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
AU2006331932A2 (en) | 2008-09-25 |
WO2007075587A2 (en) | 2007-07-05 |
EP1974296B8 (en) | 2016-09-21 |
AU2006331932B2 (en) | 2012-09-06 |
US8271830B2 (en) | 2012-09-18 |
US20140181029A1 (en) | 2014-06-26 |
CA2632935C (en) | 2014-02-04 |
EP1974296A1 (en) | 2008-10-01 |
US20070226438A1 (en) | 2007-09-27 |
US9208210B2 (en) | 2015-12-08 |
US20070183224A1 (en) | 2007-08-09 |
US20100100529A1 (en) | 2010-04-22 |
CA2632935A1 (en) | 2007-07-05 |
US8656218B2 (en) | 2014-02-18 |
US7870355B2 (en) | 2011-01-11 |
AU2006331932A1 (en) | 2007-07-05 |
EP1974296B1 (en) | 2016-05-18 |
US20130006926A1 (en) | 2013-01-03 |
US7661028B2 (en) | 2010-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2582364T3 (es) | Sistemas y métodos para realizar replicación de datos | |
US9971657B2 (en) | Systems and methods for performing data replication | |
US7962709B2 (en) | Network redirector systems and methods for performing data replication | |
US7636743B2 (en) | Pathname translation in a data replication system | |
US7617253B2 (en) | Destination systems and methods for performing data replication | |
US7617262B2 (en) | Systems and methods for monitoring application data in a data replication system | |
US9003374B2 (en) | Systems and methods for continuous data replication | |
AU2009324800C1 (en) | Method and system for managing replicated database data | |
JP5404637B2 (ja) | 継続的データ保護を提供するための方法、システム及びコンピュータ・プログラム | |
JP2016524220A (ja) | 効率的なデータ複製及びガベージコレクション予測 |