ES2582364T3 - Sistemas y métodos para realizar replicación de datos - Google Patents

Sistemas y métodos para realizar replicación de datos

Info

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
Application number
ES06848901.2T
Other languages
English (en)
Inventor
Anand Prahland
David Ngo
Vijay Agrawal
Andrei Erofeev
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Commvault Systems Inc
Original Assignee
Commvault Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commvault Systems Inc filed Critical Commvault Systems Inc
Application granted granted Critical
Publication of ES2582364T3 publication Critical patent/ES2582364T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using 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)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. 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 de
    coherencia (463, 464) indicativo de un estado recuperable de la respectiva aplicacion, incluyendo el marcador
    una 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); y
    asociar 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. 2. El metodo de la reivindicacion 1, en el que dicha reproduction comprende reproducir las operaciones de datos asociadas a unicamente una aplicacion.
  3. 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. 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:
    5
    10
    15
    20
    25
    30
    35
    primer 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); y
    asociar 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. 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. 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).
ES06848901.2T 2005-12-19 2006-12-18 Sistemas y métodos para realizar replicación de datos Active ES2582364T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 効率的なデータ複製及びガベージコレクション予測