ES2375455T3 - Procedimiento y sistema para la replicación de datos configurable en el tiempo y espec�?fica a la función de manipulación de datos. - Google Patents
Procedimiento y sistema para la replicación de datos configurable en el tiempo y espec�?fica a la función de manipulación de datos. Download PDFInfo
- Publication number
- ES2375455T3 ES2375455T3 ES08019846T ES08019846T ES2375455T3 ES 2375455 T3 ES2375455 T3 ES 2375455T3 ES 08019846 T ES08019846 T ES 08019846T ES 08019846 T ES08019846 T ES 08019846T ES 2375455 T3 ES2375455 T3 ES 2375455T3
- Authority
- ES
- Spain
- Prior art keywords
- replication
- functions
- data
- data manipulation
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Un sistema (10) para la replicación específica de funciones de funciones de manipulación de datos realizada sobre archivos u objetos almacenados en un sistema fuente (20, 65) y de los que se tiene que hacer copia de seguridad sobre al menos un sistema (30, 75) de almacenamiento de destino, el sistema de replicación comprende: - un módulo (40) de gestión de la replicación para gestionar la replicación de funciones (12) de manipulación de datos desde un sistema (20, 65) de almacenamiento fuente a un sistema (30, 75) de almacenamiento de destino que incluye la replicación de funciones (12) de manipulación de datos entre el sistema (20, 65) de almacenamiento fuente y al menos un sistema (30, 75) de almacenamiento de destino, que comprende opcionalmente una base de datos (42) de monitorización de la replicación, el sistema (10) se caracteriza porque la gestión de la replicación incluye la replicación de funciones (12) de manipulación de datos con un retardo (14) de tiempo configurable para cada función de manipulación de datos a replicar.
Description
Procedimiento y sistema para la replicación de datos configurable en el tiempo y especifica a la función de manipulación de datos
Referencias cruzadas con las solicitudes relacionadas
La presente solicitud reivindica prioridad para la solicitud de publicación de patente de EE.UU. núm. 11/939.633, depositada el 14 de noviembre de 2007, la solicitud de patente de EE.UU. núm. 12/140.296, depositada el 17 de junio de 2008, ambas del mismo título, la solicitud de patente europea núm. 07023056.0, depositada el 28 de noviembre de 2007 y la solicitud de patente europea núm. 08009002,0, depositada el 15 de mayo de 2008.
Campo de la invención
La presente invención se refiere generalmente a sistemas de almacenamiento que son capaces de almacenar objetos
o archivos digitales. Más específicamente, la presente invención se refiere a sistemas y procedimientos de replicación de datos.
Antecedentes de la invención
Algunos sistemas de almacenamiento proporcionan la posibilidad de replicación de datos para el objeto de recuperación de errores lógicos como de tolerancia a los desastres, lo que requiere respectivamente una disponibilidad alta y una integridad relativamente alta. Los sistemas de almacenamiento permiten el acceso a bloques, objetos o archivos y suministran un medio para replicar los datos desde un sistema fuente de almacenamiento de datos a un sistema de respaldo de almacenamiento de datos. El procedimiento y el sistema para la replicación específica para funciones configurable en el tiempo de funciones de manipulación de datos se refieren a sistemas de almacenamiento que permiten el acceso a objetos y archivos solamente.
Las matrices de almacenamiento basadas en objetos permiten que las aplicaciones integren un conjunto de comandos, típicamente denominado interfaz de programación de aplicaciones (API). La API permite la creación de nuevos objetos así como la modificación de objetos existentes. Para matrices de almacenamiento que estén también provistas de funcionalidad de una sola escritura y múltiples lecturas (WORM), no es posible modificar los objetos ya almacenados. La eliminación de objetos es posible y en caso de matrices de almacenamiento WORM, se evita la eliminación antes de que haya expirado un tiempo de retención específico.
Las matrices de almacenamiento orientadas a archivos suministran a los usuarios o a las aplicaciones la posibilidad de acceder al sistema usando compartición de archivos. Estos sistemas de almacenamiento suministran acceso a la capacidad instalada utilizando protocolos de compartición de archivos estándar tales como NFS (Sistema de archivos en red) o CIFS (Sistema común de archivos de Internet) estos protocolos también pueden tener extensiones propietarias para implementar una funcionalidad especial tal como los sistemas de archivos WORM o las comparticiones WORM.
La matriz de almacenamiento también puede ser un servicio estándar que ejecuta el sistema operativo disponible de uno de los muchos proveedores de sistemas operativos. El servidor podría proporcionar acceso a la capacidad disponible usando comparticiones de archivos similares a una matriz de almacenamiento orientada a archivos.
El conjunto de funciones de manipulación de datos para matrices de almacenamiento orientadas a objetos o a archivos contiene funciones tales como escritura, eliminación, actualización, desactivación de escritura hasta la fecha de expiración o desactivación de eliminación antes de la fecha de expiración. La implementación exacta depende sin embargo de la matriz de almacenamiento. Cada función individual en una matriz de almacenamiento se describe en la documentación específica de la matriz. Si la matriz de almacenamiento suministra funciones especiales que no estén estandarizadas en los protocolos tales como NFS y CIFS, el vendedor de la matriz suministra una descripción detallada de la integración necesaria con la matriz de almacenamiento.
Las matrices de almacenamiento orientadas a objetos o a archivos existentes suministran ya formas de replicar datos entre dos o más matrices de almacenamiento. La replicación puede implementarse sobre la matriz de almacenamiento
o sobre un sistema dedicado que realiza la replicación de los datos.
Los sistemas existentes también permiten replicar cambios en el sistema diana. La replicación puede incluir o excluir funciones específicas. Si se replica una función, generalmente se replica tan pronto como sea posible.
Los cambios hechos en sistemas de objetos o archivos son efectuados por los usuarios o las aplicaciones que hacen estos cambios. Los usuarios típicamente acceden a los sistemas orientados a archivos y realizan las operaciones normales como escrituras, lecturas, actualizaciones o eliminaciones de archivos. Las aplicaciones pueden acceder a
matrices de almacenamiento orientadas tanto a objetos como a archivos. A medida que se programan las aplicaciones, pueden implementar reglas para hacer que los datos sean de solo lectura hasta una cierta fecha de expiración. La capacidad de generar nuevas versiones de documentos y otras funcionalidades avanzadas existen en diferentes soluciones disponibles en el mercado. Entre estas funcionalidades de matrices de almacenamiento avanzadas de la técnica anterior están aplicaciones que utilizan también la funcionalidad WORM sobre matrices de almacenamiento.
Las funcionalidades de replicación de datos de los sistemas de replicación actuales se basan en retardos preestablecidos y no configurables. Consecuentemente, la eliminación de datos, que de otra forma se denominan archivos no borrados, objetos o aplicaciones, evita la recuperación de dichos datos.
El documento US 6.260.125 de McDowell divulga un sistema asíncrono de duplicación de discos para su uso dentro de un sistema informático de red, en el que una cola de escritura funciona para retardar el tiempo de recepción de las solicitudes de escritura en los volúmenes de almacenamiento, con vistas a aumentar el rendimiento de replicación de los datos. Las colas de escritura incluyen varios buffers de escritura, en los que las solicitudes de escritura pasan a través de la cola de escritura en una secuencia primero en entrar, primero en salir (FIFO); y así la transmisión de las solicitudes de escritura puede estar sujeta a un retardo de tiempo bien en una cantidad de tiempo predeterminada o cuando se llena el almacenamiento o buffer de escritura. McDowell también presenta un archivo de registro configurado para recibir las solicitudes de escritura retardadas, para la reconstrucción y los puntos de revisión del espejo basándose en el registro de los volúmenes duplicados. La replicación de los datos por el sistema de McDowell se limita a actualizar y escribir y no suministra la replicación de datos dependientes de funciones ni proporciona la replicación configurable de funciones de manipulación de datos tales como la eliminación o la inhabilitación de escritura.
La solicitud de patente nº WO 99/507/747 de Arnon divulga un procedimiento y un aparato para actualizar asincrónicamente un espejo de datos de un dispositivo fuente cuyo propósito es evitar la sobre-escritura de datos de un almacenamiento fuente que no hayan sido asignados a un sistema de almacenamiento diana. El procedimiento y el aparato de Arnon se refiere a la necesidad de integridad de los datos pero no permite que un usuario configure las operaciones de replicación basándose en funciones o basándose en el tiempo, y solamente evita la sobre-escritura de datos en un almacenamiento fuente en la situación en la que los datos no hayan sido replicados sobre un almacenamiento diana.
La replicación de datos controlada por el usuario de la técnica anterior permite que los usuarios controlen si se produce la replicación, pero no cuando se produce. Un sistema diseñado por Denehy y colaboradores (Bridging the Information Gap in Storage Protocol Stacks, Denehy y colaboradores, Proceedings of the general track, 2002, Conferencia técnica anual de USENIX, USENIX Association, Berkeley CA, EE.UU), permite que un usuario priorice las acciones de replicación de datos sobre archivos específicos basándose en designaciones de archivos tales como “no replicados”, “inmediatamente replicado” o “perezosamente replicados”. Sin embargo, dicha configuración solamente soluciona las necesidades del rendimiento del sistema para sistemas de almacenamiento de datos a corto plazo y no soluciona la necesidad de la integridad del sistema y la recuperación de accidentes.
La solicitud de patente WO 02/25445 de Kamel, presenta un procedimiento y un sistema para la gestión electrónica del ciclo de vida de los archivos. Las aplicaciones similares se denominan también aplicaciones de gestión jerárquica del almacenamiento (HSM). La gestión del ciclo de vida de los archivos y el software HSM mueven los archivos basándose en reglas entre los diferentes sistemas de almacenamiento. El sistema también podría crear múltiples copias sobre diferentes sistemas de almacenamiento si las reglas o políticas definidas definen adecuadamente el ciclo de vida de un archivo.
Dada la interrelación actual de los datos almacenados sobre redes, lo que se necesita, por lo tanto, es una forma de asegurar que los datos eliminados en dispositivos que no tengan copias de seguridad puedan recuperarse tan pronto como lo desee el usuario para conservar la capacidad de restaurar datos incluyendo las referencias a los datos eliminados de dichos dispositivos a partir de las copias de seguridad.
Lo que se necesita es un sistema de replicación controlado por el usuario para la replicación específica para funciones de funciones de manipulación de datos que permita que los usuarios controlen cómo y cuándo se produce la replicación de funciones de manipulación de datos.
Lo que se necesita es un sistema o un procedimiento que permita sincronizar o configurar el marco temporal dentro del cual es posible una restauración de datos a partir de un sistema de almacenamiento diana y que haga posible la replicación de funciones de manipulación de datos efectuadas sobre matrices de almacenamiento basadas en objetos
o en archivos.
Además, lo que se necesita es un sistema que solucione más completamente la necesidad de alta disponibilidad, integridad y recuperación de accidentes del sistema.
Resumen de la invención
El sistema y el procedimiento de la invención suministran una replicación específica para funciones para funciones de manipulación de datos de datos digitales, tales como archivos u objetos, con un retardo de tiempo configurable para cada función a replicar. El sistema incluye un sistema de almacenamiento fuente a partir del cual se va a replicar una función de manipulación de datos, un sistema o sistemas de almacenamiento de destino en los que se replica la función replicada sobre los datos digitales y un módulo de gestión de replicación para gestionar el retardo de replicación específico para la función y la replicación de funciones entre el sistema de almacenamiento fuente y el sistema de almacenamiento de destino.
El módulo de gestión de la replicación de la invención suministra funcionalidades que permiten: (1) la configuración de un retardo después del cual se realizará una función de manipulación de datos sobre el sistema de almacenamiento de destino cuando los datos almacenados en el sistema de almacenamiento fuente, modificados o creados por la función, se replican sobre los datos correspondientes en el sistema de almacenamiento de destino; (2) la replicación de la función de manipulación de datos realizada sobre los datos almacenados en el sistema de almacenamiento fuente con el retardo configurado en el sistema de almacenamiento de destino y (3) la consulta de los cambios específicos para la función de los datos del sistema de almacenamiento fuente en un marco de tiempo dado.
Es un objeto de la invención suministrar un sistema y un procedimiento que satisfaga la necesidad comercial de combinar tanto la replicación de datos para una alta disponibilidad y tolerancia a los desastres como la capacidad de recuperación de los datos en el caso de errores lógicos.
Es un objeto de la presente invención suministrar un sistema y un procedimiento para la replicación específica para funciones de funciones de manipulación de datos de datos digitales que sea adaptable a una amplia gama de arquitecturas de sistemas de almacenamiento, incluyendo matrices de almacenamiento basadas en objetos que tengan una interfaz de programación de aplicaciones, matrices de almacenamiento basadas en archivos y servidores informáticos estándar.
Es un objeto adicional de la invención suministrar un sistema y un procedimiento para la replicación específica para funciones de funciones de manipulación de datos sobre datos digitales que puedan implementarse con abstracción del hardware y software de virtualización.
Es aún un objeto adicional de la invención suministrar un sistema y un procedimiento para la replicación específica para funciones de funciones de manipulación de datos sobre datos digitales que sea fácilmente escalable a varios e incluso a un gran número de sistemas de almacenamiento de destino.
Es un objeto de la presente invención suministrar un sistema y un procedimiento que replique la función de manipulación de datos en sí misma y no los cambios de los datos.
De forma ventajosa, el sistema y el procedimiento resuelven la necesidad comercial de combinar la replicación de los datos tanto para una alta disponibilidad y tolerancia a los desastres como el suministro de capacidad de recuperación de datos en el caso de errores lógicos.
Como otra ventaja, la combinación de la replicación de objetos o archivos para tolerancia a desastres con la capacidad de configurar el retardo de la replicación para cada función que pueda realizarse sobre los objetos o archivos almacenados, suministra tanto tolerancia a los desastres como la capacidad de recuperación de errores lógicos.
Como otra ventaja, el procedimiento efectúa la replicación de funciones de manipulación de datos dependiendo de la función que se realizó sobre los datos así como del retardo de la replicación configurable en el tiempo, en lo que se refiere a que la replicación de nuevos objetos o archivos puede realizarse tan rápidamente como sea posible pero la replicación de otra función como eliminaciones de objetos o archivos puede retardarse en una cantidad de tiempo configurable, suministrando así una solución tanto como para la tolerancia a los desastres como para la recuperación de errores lógicos. Esto permite que el cliente se asegure de que los datos en las matrices de almacenamiento que no estén respaldados sean recuperables durante el mismo tiempo que sea posible una restauración o recuperación de las referencias a estos objetos o archivos. Dicho sistema garantiza así que todos los objetos y archivos estén disponibles para su recuperación en tanto las referencias a esos datos puedan ser restauradas a partir de las copias de seguridad.
Como otra ventaja, el sistema y procedimiento de la invención retarda la eliminación de datos de la matriz de almacenamiento fuente durante un período N hasta que los datos sean también eliminados de la matriz de almacenamiento diana, permitiendo así la restauración de una base de datos de aplicación usando el procedimiento de recuperación estándar así como el suministro de la posibilidad de acceder a los datos previamente borrados en la matriz de almacenamiento secundario sin tener que hacer una copia de seguridad completa de todos los datos que se hayan escritos en la matriz de almacenamiento fuente. Una vez que el procedimiento de recuperación estándar ya no es capaz de restaurar y recuperar las referencias a los datos, el archivo u objeto referenciado también puede borrarse 4 5
en la matriz de almacenamiento diana.
Breve descripción de los dibujos
La figura 1 es un diagrama esquemático de un sistema de almacenamiento basado en bloques de la técnica anterior donde el módulo de gestión de la replicación se sitúa en la matriz de almacenamiento fuente.
La figura 2 es un diagrama esquemático de una matriz de almacenamiento basada en objetos o archivos de la técnica anterior donde el módulo de gestión de la replicación se implementa en un sistema separado.
Las figuras 3A y 3B son diagramas esquemáticos que muestran los elementos del sistema para la replicación específica para las funciones de funciones de manipulación de datos sobre datos digitales con un retardo de tiempo configurable, donde el módulo de gestión de la replicación se sitúa sobre el sistema de almacenamiento fuente.
La figura 4 es diagrama esquemático que muestra los elementos del sistema para la replicación específica para funciones de funciones de manipulación de datos con un retardo de tiempo configurable donde el módulo de gestión de la replicación se sitúa entre la aplicación o el usuario y el sistema de almacenamiento fuente y de destino, suministrando así acceso a los sistemas de almacenamiento.
La figura 5 es diagrama esquemático que muestra los elementos del sistema para la replicación específica para funciones de funciones de manipulación de datos sobre datos digitales con un retardo de tiempo configurable, que tiene varios sistemas de almacenamiento de destino.
La figura 6 es diagrama esquemático que muestra los elementos del sistema para la replicación específica para funciones de funciones de manipulación de datos sobre datos digitales con un retardo de tiempo configurable, que tiene varios sistemas de almacenamiento fuente.
La figura 7 es un diagrama de flujo que muestra los principales pasos necesarios para implementar un sistema de replicación de funciones específico para funciones y el procedimiento de la presente invención.
La figura 8 es un diagrama de flujo que muestra los pasos del proceso de acumulación de información de la invención para sistemas de almacenamiento propietarios de una primera clase de matrices de almacenamiento, no permitiendo dicha clase la consulta a la matriz de los cambios que se efectuaron en los objetos o archivos que están almacenados en la matriz.
La figura 9 es un diagrama de flujo que muestra los pasos para implementar el proceso de monitorización de las replicaciones de la invención para sistemas de almacenamiento propietarios de una primera clase de matrices de almacenamiento para las cuales la tarea de monitorización de la replicación requiere la creación de una base de datos de monitorización de la replicación.
La figura 10 es un diagrama de flujo que muestra los pasos para implementar el proceso de monitorización de las replicaciones de la invención para una segunda clase de matrices de almacenamiento, no requiriendo dicha clase la creación de la base de datos de monitorización de la replicación.
La figura 11 es un diagrama de flujo que describe los pasos necesarios para mantener un conjunto consistente de objetos o archivos sobre la matriz de almacenamiento diana.
La figura 12 es un diagrama de flujo que muestra los pasos para implementar la replicación retardada específica para funciones de funciones de manipulación de datos para una primera clase de matrices de almacenamiento basándose en la base de datos de monitorización de la replicación.
La figura 13 es un diagrama de flujo que muestra los pasos para implementar la replicación retardada específica para funciones de funciones de manipulación de datos para una segunda clase de matrices de almacenamiento que no requieren la base de datos de monitorización de la replicación.
La figura 14 es una representación esquemática de la tabla de configuración de la invención.
La figura 15 es una representación esquemática de la tabla de cambios fuente de la invención.
La figura 16 es una representación esquemática de la tabla de replicaciones pendientes de la invención.
La figura 17 es una representación esquemática de la tabla de auditoría de las replicaciones de la invención.
La figura 18 muestra ejemplos de requisitos de diferentes clientes y cómo se implementan en una tabla de configuración.
Descripción detallada de las realizaciones preferidas
Ahora con referencia a la figura 1, un sistema 60 de almacenamiento fuente basado en bloques de la técnica anterior suministra a un servidor 80 acceso a una cierta capacidad de disco. El sistema operativo instalado sobre el servidor 80 posee el conocimiento de dónde y qué objeto o archivo cae dentro de su capacidad de disco. Esta información, por ejemplo, puede almacenarse en tablas de asignación de archivos o I-nodos. Una aplicación o un usuario 90 que accede a un archivo sobre dicho servidor 80 emitiría por lo tanto cualquier llamada basada en funciones como escritura, actualización y eliminación a ese servidor 80 quien a su vez sabe dónde se sitúa el archivo sobre el sistema 60 de almacenamiento basado en bloques. Cualquier función implementada por una aplicación o un usuario 90 dará como resultado una actualización o lectura de un bloque sobre la capacidad de disco disponible para el servidor 80. La aplicación de escrituras o actualización de un bloque sobre la matriz 60 de almacenamiento fuente se plasma en el sistema 60 de almacenamiento fuente.
Ahora con referencia a la figura 2, las matrices 65 y 75 de almacenamiento basadas en objetos o archivos, suministran respectivamente la funcionalidad del servidor 80 anteriormente mencionado directamente desde dentro de la matriz 60 y 65 de almacenamiento fuente. El acceso de una aplicación o de un usuario 90 a un archivo expide las funciones directamente hacia la matriz de almacenamiento. Para propósitos de abstracción, un servidor 80 que suministra accesos basados en archivos para la capacidad de disco disponible sobre una matriz 65 de almacenamiento fuente, está también contenido en las matrices de almacenamiento basadas en archivos ya que el acceso al servidor o a la matriz de almacenamiento no puede ser diferenciado por la aplicación o el usuario. Para la aplicación o el usuario, ambos suministran la misma funcionalidad de acceso a nivel de archivos usando protocolos de acceso a archivos tales como CIFS o NFS. La replicación desde el matriz 65 de almacenamiento fuente basada en archivos u objetos en la correspondiente matriz 76 de almacenamiento diana, se plasma en el sistema 65 de almacenamiento fuente.
Ahora con referencia a las figuras 3A a 6, un sistema 10 para la replicación específica para funciones de funciones 12 de manipulación de de datos sobre datos digitales, tales como objetos o archivos, permite un retardo 14 de tiempo configurable para que cada función sea replicada. El sistema 10 incluye un sistema 20 de almacenamiento fuente a partir del cual se replican las funciones de manipulación de datos ejecutadas, al menos un sistema 30 de almacenamiento de destino en el cual se replican las funciones de manipulación de datos ejecutadas, un módulo 40 de gestión de la replicación para gestionar el retardo de la replicación específica para las funciones y la replicación de las funciones que manipulan los datos entre los sistemas de almacenamiento fuente y al menos un sistema de almacenamiento de destino, comprendiendo opcionalmente una base de datos 42 de monitorización de la replicación.
El sistema 10 suministra replicación para la menos una función de manipulación de datos estándar de un grupo de funciones que incluyen: escritura, eliminación, actualización, modificación, desactivación de escritura, desactivación de escritura hasta la fecha de expiración, desactivación de eliminación y desactivación de eliminación hasta la fecha de expiración.
El módulo 40 de gestión de la replicación suministra varias características nuevas. Una característica permite la configuración de un retardo después del cual una función de manipulación de datos específica ejecutada sobre los datos almacenados en el sistema de almacenamiento fuente se replica sobre los datos correspondientes en el sistema de almacenamiento de destino. Otra característica permite la replicación de la función de manipulación de datos sobre los datos almacenados en el sistema de almacenamiento fuente con el retardo configurado en el sistema de almacenamiento de destino. Otra característica adicional permite la consulta de los cambios específicos para las funciones en los datos del sistema de almacenamiento fuente en un marco de tiempo dado.
Como para el sistema 20 de almacenamiento fuente para replicar las funciones de manipulación de datos sobre datos digitales, al menos un sistema 30 de almacenamiento de destino está basado en una de las siguientes arquitecturas: matrices de almacenamiento basadas en objetos que comprenden una interfaz de programación de aplicaciones, matrices de almacenamiento basadas en archivos o un servidor informático, que comprende una memoria 36, una CPU 38 y un sistema operativo 39.
El sistema 10 puede suministrar directamente acceso a los sistemas de almacenamiento basándose en cualquiera de las siguientes arquitecturas: sistemas de almacenamiento basados en objetos que tienen una interfaz 34 de programación de aplicaciones, matrices de almacenamiento basadas en archivos y un servidor informático 80, que incluye una memoria 36, una CPU 38 y un sistema operativo 39 según se muestra en la figura 5.
El sistema 10 es adaptable a varias configuraciones de sistemas diferentes. Ahora con referencia a la figura 3A, se muestra una configuración en la que el módulo 40 de gestión de la replicación se sitúa sobre un sistema 20 almacenamiento fuente. La información relativa a las funciones ejecutadas por aplicaciones o usuarios 90 sobre objetos o archivos almacenados es recogida por el módulo de gestión de la replicación del sistema 20 del almacenamiento fuente y se utiliza para replicar cada función de manipulación de datos con un retardo configurable en el sistema 30 de almacenamiento de destino. La información acumulada puede almacenarse opcionalmente para
futuras referencias en la base de datos 42 de monitorización de la replicación.
Con referencia de nuevo a la figura 4 se muestra una configuración en la que el módulo 40 de gestión de la replicación se sitúa entre la aplicación o el usuario 90 o los sistemas 20 y 30 de almacenamiento fuente y de destino.
Ahora con referencia a la figura 5, se muestra una configuración con varios sistemas 30 de almacenamiento de destino, siendo uno un sistema 32 de almacenamiento de destino secundario. El módulo 40 de gestión de la replicación reúne la información para la replicación específica para funciones de funciones de manipulación de datos del sistema 20 de almacenamiento fuente y las replica en múltiples sistemas 30 de almacenamiento de destino. Un sistema 30 de almacenamiento de destino puede ser utilizado por un segundo módulo 40 de gestión de la replicación como sistema de almacenamiento fuente para replicar en un sistema 32 de almacenamiento de destino secundario.
Ahora con referencia a la figura 6, se muestra una configuración con varios sistemas 20 de almacenamiento fuente. Un sistema 40 de gestión de la replicación reúne la información de múltiples sistemas 20 de almacenamiento fuente. Todas las funciones de manipulación de datos ejecutadas sobre los múltiples sistemas 20 de almacenamiento fuente son replicadas en un sistema 30 de almacenamiento de destino común.
El sistemas 20 de almacenamiento fuente o el sistema 30 de almacenamiento de destino son matrices de almacenamiento basadas en archivos, que incluyen un servidor 80 que hace posible el acceso basado en archivos a la capacidad de almacenamiento disponible de la matriz de almacenamiento.
El procedimiento 100 para implementar una replicación específica para funciones de los datos que utiliza el sistema 10, según se muestra en la figura 7, comprende tres funciones paralelas a realizar de forma continua en paralelo o basándose en un programa: acumulación de la información 120, monitorización de las replicaciones en espera 140 y replicación retardada de los datos específicos para las funciones 160.
La figura 8 muestra la acumulación de la información 120 necesaria para la replicación de funciones de manipulación de datos que se han ejecutado sobre los datos almacenados en un sistema de almacenamiento fuente y replicados en un sistema de almacenamiento diana. Esto se consigue mediante:
- -
- la ejecución de un proceso 122 de acumulación de información que usa software de acumulación de información.
- -
- la construcción de una base de datos 123 de configuración de replicaciones que incluye información sobre las funciones de manipulación de datos a replicar, los sistemas de almacenamiento fuente y diana, y
- -
- el lanzamiento del proceso 140 de monitorización de replicaciones en espera.
La ejecución de un proceso 122 de acumulación de información incluye los subpasos de:
- -
- insertar información de la base de datos 123 de configuración de replicaciones para la replicación retardada específica para funciones de las funciones de manipulación de datos de la tabla 22 de configuración de la base de datos de monitorización de replicaciones, directamente a partir del software de acumulación de información,
en el que la información que inserta el software de acumulación de información dentro de la base de datos es:
- -
- la definición de la matriz 124 de almacenamiento fuente,
- -
- la definición o definiciones de la matriz o matrices 125 de almacenamiento diana,
- -
- la función 126 de manipulación de datos a replicar,
- -
- la prioridad 127 de la función especificada,
- -
- el retardo 128 después del cual la función especificada se replica y
- -
- opcionalmente la definición de un modificador 129 para una replicación más granular específica para funciones.
La prioridad y el retardo están correlacionados entre sí para asegurar la consistencia del entorno diana. Un orden típico de prioridad asumiría que los nuevos objetos creados con una función de escritura son de la prioridad más alta, los cambios realizados con una función de actualización son de una prioridad de nivel medio y las funciones de eliminación tienen la prioridad más baja. Las consecuencias son que al retardo de prioridad más alta debe asignarse el retardo más corto y la prioridad mínima al más largo. La prioridad y los tiempos 14 de retardo correspondientes son necesarios para asegurar la consistencia de los archivos u objetos diana.
La consistencia entre las matrices de almacenamiento fuente y diana con respecto a la replicación de funciones de manipulación de datos se define a nivel de función de manipulación de datos y las reglas de integridad se definen por criterios comerciales basados en los objetivos a conseguir. Hay muchos requisitos diferentes que pueden satisfacerse con la presente invención. Si los principales requisitos son la alta disponibilidad y la recuperación de desastres, todas las funciones de manipulación de datos (por ejemplo, crear / escribir, actualizar y eliminar) se asociarían con una alta prioridad y un corto retardo. Si el principal objetivo es la recuperabilidad la prioridad de las funciones de creación de datos sería alta. Los cambios en los datos podrían ser de prioridad media y el retardo y las funciones de eliminación de datos más importantes se replicarían con la prioridad más baja y el retardo más largo. El retardo se configuraría para que fuera tan largo como lo requiriese el período de recuperabilidad.
Pueden existir razones de adaptación a los requisitos que necesiten cambios en las prioridades para una replicación de funciones de manipulación de datos. Si un empleado que deja la empresa solicita a su empleador que elimine sus datos personales de acuerdo con la ley local, la presente invención es capaz de manejarlo. En dicha situación, el subconjunto de datos está configurado para replicar funciones de eliminación para este empleado con la prioridad más alta y entonces se eliminan los datos personales. Esto eliminaría todas las funciones de escritura o actualización en espera de replicación. En este caso, el requisito comercial es cumplir con la regulación y no asegurar la recuperabilidad
o una alta disponibilidad.
Para hacer que la presente invención sea adecuada a los requisitos comerciales que cambian de día en día, se ha dado preferencia a la implementación de un parámetro de prioridad que permite la validación del retardo para corresponderse con la prioridad de la función. Por supuesto, son posibles otras implementaciones y si a una persona experta se le da esta solicitud y se le pide que use sus enseñanzas derivará otras implementaciones.
Con referencia a la figura 18, la tabla 26 presenta, a modo de ejemplo, diferentes requisitos del cliente y su implementación en las tablas de configuración.
Para los sistemas de almacenamiento que suministren información de los autores de los cambios, datos relativos a las aplicaciones o usuarios que los originaron, puede usarse un módulo de gestión de la replicación para especificar adicionalmente la granularidad sobre la cual debe actuar la replicación de datos específica para funciones. Por ejemplo, el módulo podría permitir la replicación de funciones eliminadas de una aplicación conforme a SEC tan rápidamente como sea posible para asegurar que se elimina el contenido una vez que las reglas SEC lo permitan y retrasar la replicación de la función de eliminación de una aplicación de archivos que no caiga bajo los requisitos reguladores. Este comportamiento se especifica usando la entrada del modificador 129 en la tabla de configuración.
Para matrices de almacenamiento basadas en archivos, una diferenciación basada en una parte de la ruta UNC puede suministrar una funcionalidad similar. Las funciones de aplicación ejecutadas accediendo a \\server1\share1 compartido pueden replicarse de forma diferente a las funciones ejecutadas por usuarios que accedan a \\server1\share2 o \\server2\share1.
El proceso 140 de monitorización de las replicaciones en espera es un proceso de monitorización para las replicaciones en espera que busca las replicaciones pendientes y las pasa al proceso que hace la replicación real de funciones. La monitorización de las replicaciones en espera requiere periódicamente que el sistema fuente las cambie y las inserte dentro de la base de datos de lo que ha ocurrido en la fuente (tabla de cambios fuente). En variaciones más simples, esto solo crea una lista de objetos si la matriz fuente permite consultas basándose en marcos de tiempo y funciones ejecutadas.
Para una matriz 20 de almacenamiento fuente que no permita el envío de información basada en eventos de funciones ejecutadas, debe especificarse el intervalo en el cual tiene lugar la monitorización de las replicaciones en espera. Las entradas dentro del sistema 10 y el procedimiento 100 de la invención que implementa la replicación específica para funciones de funciones 12 de manipulación de datos se recoge en una interfaz gráfica 19 de usuario y se almacena en la tabla 22 de entradas de configuración de la base de datos de monitorización de la replicación. Cuando se replican funciones de manipulación de datos entre sistemas de almacenamiento que no requieran una base de datos de monitorización de replicaciones, la información de configuración requerida puede suministrarse en un archivo de configuración. Este archivo puede crearse usando una interfaz gráfica de usuario o editando el archivo de configuración
con un editor de textos.
La posibilidad de especificar más de un sistema 30 de almacenamiento de destino también permite que las funciones de replicación tengan un retardo diferente para cada sistema diana.
Para implementar la replicación específica para funciones incluyendo un retardo 14 de tiempo configurable, el proceso de monitorización de replicaciones en espera debe suministrar un medio para monitorizar las replicaciones en espera y para determinar el retardo 14 o la hora exacta 16 para replicar la función de manipulación de datos. La hora 16 de replicación para replicar un cambio funcional puede almacenarse en la base de datos 42 de monitorización de
replicaciones y será usada por el proceso 140 de monitorización de replicaciones en espera y por el proceso 160 de replicación retardada de datos específica para funciones.
El seguimiento de qué función se ejecutó sobre una matriz de almacenamiento depende de la funcionalidad que suministre la matriz de almacenamiento específica. La funcionalidad de la matriz de almacenamiento también define la granularidad que puede suministrarse al usuario de la aplicación.
La existencia de la base de datos 42 de monitorización de replicaciones con la totalidad de la información requerida almacenada permite cambiar el retardo con el cual debe ejecutarse la replicación de una función de manipulación de datos. La hora de replicación en la tabla 18 de replicaciones pendientes puede cambiarse para funciones de manipulación de datos que no se hayan replicado todavía. El proceso 140 de monitorización de replicaciones en espera tiene en cuenta la hora de replicación modificada para iniciar la replicación retardada específica para funciones de las funciones 160 de manipulación de datos. Dependiendo del entorno, se puede aumentar o disminuir el retardo basándose en las necesidades reales del cliente. Basándose en la información que puede requerirse de los sistemas de almacenamiento, el retardo también podría configurarse independientemente para cada aplicación, sistema de archivos o subconjunto de objetos.
La implementación del sistema y del método para la replicación específica para funciones de funciones de manipulación de datos requiere diferentes versiones de software. La replicación específica para funciones entre servidores estándar que ejecutan sistemas operativos estándar no puede implementarse de la misma forma que la replicación entre sistemas de almacenamiento basados en API propietarias. A continuación se proporcionan detalles adicionales de las diferentes funciones que necesitan estar presentes dependiendo de la matriz de almacenamiento.
La base de datos 42 de monitorización de replicaciones debe configurarse para cada sistema de almacenamiento fuente, en particular con respecto a la identificación de la información que tenemos que acumular y seguir la pista de forma que se posibilite la replicación correcta y consistente de la función de manipulación de la presente invención que se va a utilizar. Por ejemplo: un sistema de almacenamiento basado en objetos no requiere la misma información que un sistema de almacenamiento basado en archivos para la replicación de las funciones de manipulación de datos.
La información requerida se condensa dentro de al menos una cantidad de datos necesarios para implementar una replicación específica para funciones y retardada en el tiempo de funciones de manipulación de datos.
Para reducir la complejidad de los entornos de almacenamiento de hoy en día, en el mercado se ha adoptado la virtualización de las infraestructuras. El software de virtualización de almacenamiento abstrae los sistemas de almacenamiento físicos en entidades lógicas. La virtualización es una buena forma de enmascarar las migraciones pendientes o los sistemas que están siendo sustituidos con otros nuevos. El software de virtualización sabe así qué función se está ejecutando sobre qué archivo u objeto. El procedimiento de la presente invención, en particular, sus características de replicación, puede implementarse en una capa de virtualización que suministre acceso directo a los sistemas de almacenamiento fuente y diana. El sistema de la presente invención puede suministrar acceso directamente a los sistemas de almacenamiento fuente y diana según se muestra en la figura 4.
La forma en la que puede recuperarse la información específica para funciones de una matriz de almacenamiento depende de la funcionalidad que se implementa sobre la matriz de almacenamiento. También depende de otros aspectos de la funcionalidad tales como la capacidad para instalar y ejecutar un proceso sobre la matriz de almacenamiento.
Hoy en día, las matrices de almacenamiento orientadas a archivos u objetos se construyen basándose en dos aproximaciones diferentes.
En una primera aproximación, el almacenamiento orientado a archivos puede implementarse usando hardware que suministre acceso a nivel de archivos basándose en sistemas operativos estándar. Estos sistemas operativos, tal como UNIX, Linux o Windows, permiten la instalación de software adicional que puede utilizarse para facilitar la implementación de la presente invención.
En una segunda aproximación, las matrices de almacenamiento orientadas a objetos y a archivos pueden implementarse usando sistemas operativos propietarios tales como Data “ONTAP”, “DART” o “CENTRASTAR”. Para permitir una flexibilidad máxima en el cambio del retardo de tiempo para la replicación específica para funciones de funciones de manipulación de datos, la totalidad de las funciones de manipulación de datos ejecutadas se reúnen tan pronto como sea posible. Esto significa que la eliminación de un contenido se graba una vez que es descubierto por el proceso de monitorización de replicaciones en espera. Esto asegura que el aumento o la disminución de los retardos configurados repliquen todas las funciones de manipulación de datos pendientes incluso cuando se efectúen cambios en el retardo de replicación. Esto permite actualizar la base de datos de monitorización de replicaciones con una nueva hora de replicación para todas las replicaciones específicas para funciones de funciones de manipulación de datos no
completadas todavía.
Almacenamiento basado en sistemas operativos estándar
El almacenamiento basado en sistemas operativos estándar permite la instalación y creación de software y servicios adicionales sobre el servidor que suministra servicios de almacenamiento en la red. El proceso 140 de monitorización de replicaciones en espera se ejecuta como tal proceso en el servidor de almacenamiento de la matriz de almacenamiento. Los cambios en los sistemas de archivos pueden bien interceptarse o bien borrarse y la información requerida para la replicación retardada específica para funciones de funciones de manipulación de datos puede insertarse en la tabla de cambios fuente de la base de datos directamente desde el proceso de monitorización de replicaciones en espera.
El sistema completo y una implementación del procedimiento de la presente invención puede ejecutarse sobre un servidor de almacenamiento o una matriz de almacenamiento basados en un sistema operativo estándar.
Sistemas de almacenamiento propietarios
La implementación del proceso de monitorización de replicaciones en espera para sistemas de almacenamiento propietarios debe suministrar al menos la información específica para funciones para el proceso 160 para la replicación específica para funciones de funciones de manipulación de datos. Hay dos aproximaciones generales que necesitan diferenciarse dependiendo de la clase de matriz de almacenamiento.
Una primera clase de matrices de almacenamiento no permite consultar a la matriz acerca de los cambios que se efectuaron en los objetos o archivos que están almacenados en la matriz. En esa situación, el proceso 140 de monitorización de replicaciones en espera del sistema que implementa la replicación retardada de datos específica para funciones se describe en la figura 9. Con referencia a la figura 11, se describe el proceso para mantener la consistencia de la replicación de las funciones de manipulación de datos. La figura 12 describe la replicación funciones de manipulación de datos.
En una segunda clase de matrices de almacenamiento, la tarea del proceso 140 de monitorización de replicaciones en espera no requiere la creación de una base de datos adicional. El proceso de monitorización de las replicaciones en espera tal como se describe en la figura 10 consulta continuamente o de una forma programada las matrices de almacenamiento para encontrar los cambios hechos en objetos o archivos basados en la función a replicar y la información adicional tal como cuándo o quién ejecutó la función. La figura 13 muestra la replicación retardada específica para funciones de funciones de manipulación de datos para la segunda clase de matrices de almacenamiento.
Un buen ejemplo en la categoría de los sistemas de almacenamiento basados en objetos con esta funcionalidad de consulta es “EMC CENTERA”, descrito en la URL http emc.com/products/family/emec-centera-family.htm, cuyo contenido incluye otros enlaces. La API de consulta permite el listado de contendidos basados en un marco de tiempo de la consulta a la que se dirige. La consulta por defecto suministraría una lista de objetos que pueden usarse para saber cuándo se escribió en el objeto y quién lo creó. Con la misma funcionalidad de consulta, el proceso 122 de acumulación de información puede determinar qué objetos se borraron para replicar la función de eliminación con el retardo configurado. Los sistemas de almacenamiento propietario disponibles hoy en día ya suministran funcionalidad de replicación basada en software independiente o software instalado sobre las matrices de almacenamiento. La implementación de una replicación retardada específica para funciones sobre los sistemas de almacenamiento no se ha implementado hasta el momento.
Ahora con referencia a la figura 9, el proceso 140 de monitorización de replicaciones en espera para la primera clase de matrices de almacenamiento que requiere una base de datos de monitorización de replicaciones se construye en dos pasos:
- -
- (1) ejecutar el proceso de monitorización de replicaciones en espera continuamente o de forma programada; y
- -
- (2) usar la información acumulada en el paso 150, el proceso de mantenimiento de replicaciones pendientes, para asegurar la consistencia del proceso de replicación.
El proceso 140 de monitorización de replicaciones en espera está constituido por los siguientes subpasos que construyen la tabla de cambios fuente de la base de datos de monitorización de replicaciones:
- -
- insertar la información específica para las funciones requerida para replicar las funciones 143 de manipulación de datos;
- -
- añadir la información fuente 144 para la función a replicar, constituida por el sistema de almacenamiento
fuente así como la referencia para el archivo u objeto sobre el cual se ejecutó la función;
- -
- insertar la función 145 que se ejecutó sobre el archivo u objeto fuente referenciado.
- -
- especificar lo siguiente:
- •
- fecha y hora 146 en que se ejecutó la función; y opcionalmente,
- •
- el modificador 147 que ejecutó la función y si se requiere,
- •
- la imagen 148 anterior y posterior requerida para ejecutar la función con el retardo configurado sobre el sistema de almacenamiento diana.
Ahora con referencia a la figura 10, se suministra un proceso 140 de monitorización de replicaciones en espera para la segunda clase de matrices de almacenamiento que no requiere una base de datos de monitorización de las replicaciones. La monitorización de replicaciones se implementa en dos pasos:
- -
- (1) listar los archivos u objetos que dependen de la función a replicar con el retardo configurado 149 y
- -
- (2) pasar esta información a la replicación retardada específica para funciones de las funciones 160 de manipulación de datos.
Con referencia a la figura 11 el proceso 150 de mantenimiento de replicaciones pendientes asegura el mantenimiento de un conjunto consistente de archivos u objetos sobre la matriz de almacenamiento diana. El mantenimiento de la base de datos de monitorización de replicaciones requiere dos pasos:
- -
- (1) el proceso 152 de mantenimiento de replicaciones pendientes implementado con varios subpasos detallados más adelante, y
- -
- (2) una vez asegurada la consistencia de las funciones a replicar, lanzar la replicación retardada específica para funciones de las funciones 160 de manipulación de datos para la clase de matrices de almacenamiento que requieren la base de datos de monitorización de replicaciones.
El propio proceso 150 de mantenimiento consiste en los pasos:
- -
- (1) usar el proceso 153 de monitorización de las replicaciones pendientes, comprobando la tabla de cambios fuente para las funciones recientemente llegadas para su replicación,
- -
- (2) insertar las funciones a replicar no completadas en la tabla 154 de replicaciones pendientes con la información requerida para realizar el cambio;
- -
- (3) determinar si la nueva función necesita ser replicada 155, dependiendo de la fuente, a medida que se decide la referencia y la prioridad de la función si la función se replica;
- -
- (4) si la función se replica, insertar dentro de la tabla 56 de replicaciones pendientes junto con la diana, referencia, función y hora de replicación para la función de manipulación de datos a replicar;
- -
- (5) la confirmación de la consistencia de las funciones de manipulación de datos no completadas se efectúa en el paso 157, en el que, si la nueva función tiene una prioridad mayor y un retardo menor que otras funciones en espera en la tabla de replicaciones pendientes para la misma fuente y referencia, esto se consigue moviendo las replicaciones ya en espera de la tabla de replicaciones pendientes y manteniendo solamente la nueva función con mayor prioridad;
- -
- (6) para todas las funciones, actualizar la tabla 158 de cambios fuente con la información de que la correspondiente función ha completado su paso de mantenimiento;
- -
- (7) ahora habiendo asegurado un conjunto consistente de replicaciones pendientes, invocar la replicación retardada específica para funciones de las funciones 160 de manipulación de datos.
Con referencia ahora a la figura 12, en la que la replicación retardada específica para funciones de funciones 160 de manipulación de datos para la primera clase de matrices de almacenamiento, el proceso 162 retardado de replicación específica para funciones está constituido por varios pasos, que incluyen:
- -
- (1) realizar la replicación retardada usando el proceso 164 de replicación de funciones de manipulación de datos;
- -
- (2) consultar todas las funciones en espera de replicación desde la última invocación del proceso a partir de la tabla 165 de replicaciones pendientes con una hora de replicación anterior de la hora actual;
- -
- (3) ejecutar la función de manipulación de datos sobre los archivos u objetos 166 de las matrices de almacenamiento fuente; y
- -
- (4) completar la replicación funcional actualizada en la tabla 167 de replicaciones pendientes de la base de datos de monitorización de replicaciones, insertando opcionalmente la finalización de la replicación de la función de manipulación de datos en la tabla 168 de auditoría de replicaciones para propósitos de auditoría.
Ahora con referencia a la figura 13, la replicación retardada específica para funciones de funciones de manipulación de datos que se realiza para matrices de almacenamiento con funcionalidad de consulta no requiere el mantenimiento de una base de datos de monitorización de replicaciones. El proceso 170 de replicación retardada específica para funciones invoca el proceso 171 de replicación de funciones de manipulación de datos continuamente o basándose en un programa. La lista de objetos o archivos está disponible a partir del proceso 149 de monitorización de replicaciones que se basa en la función a replicar con el retardo configurado. En el paso 172, la función se ejecuta sobre los objetos
o archivos de la matriz de almacenamiento diana.
La replicación específica para funciones configurable en el tiempo de funciones de manipulación de datos para la primera clase de matrices de almacenamiento requiere una base de datos de monitorización de replicaciones que suministra toda la información necesaria para implementar una replicación retardada específica para funciones de forma consistente.
La información mínima que debe estar disponible para implementar la replicación funcional específica para funciones de funciones de manipulación de datos se encuentra en la descripción detallada de las cuatro tablas que se muestran a continuación.
Tabla 22 de configuración (figura 14)
D Fuente: el sistema de almacenamiento fuente basado en objetos o archivos sobre el cual se realizó la función.
D Dianas: derivadas de la configuración introducen los sistemas de almacenamiento diana para cada sistema diana fuente.
D Función: función a replicar.
D Prioridad: prioridad de la función específica.
D Retardo: retardo para la función específica.
D Modificador: suministra la posibilidad de añadir un mayor grado de granularidad para la replicación de funciones de manipulación de datos.
Ejemplos de diferentes requisitos comerciales y su implementación en una tabla de configuración se listan en la tabla 26 de la figura 18.
Tabla 24 de cambios fuente (figura 15)
D Fuente: sistema de almacenamiento fuente basado en objetos o archivos sobre los que se ejecutó la función.
D Referencia: referencia de objeto o archivo (UNC) sobre la cual se ejecutó la función.
D Función: función que se ejecutó.
D Tiempo: fecha y hora en que se ejecutó la función sobre el objeto o archivo.
D Modificador: información adicional como aplicación, usuario, parte de la ruta UNC para suministrar una replicación de datos más granular.
D Completado: una vez que un cambio funcional ha sido tratado por el proceso de mantenimiento de las replicaciones pendientes, la finalización se almacena en la tabla de cambios fuente. Un marcador simple sí/no para reconstrucciones rápidas de la tabla de replicaciones pendientes.
D Imagen anterior / posterior: toda la información necesaria para la replicación del cambio funcional sobre el objeto o archivo si fuera necesario para la clase de matriz de almacenamiento.
Nuevas entradas en la tabla de cambios fuente podrían disparar una función que inserta la o las correspondientes entradas en la tabla de replicaciones pendientes. Este proceso 150 de mantenimiento de replicaciones pendientes puede también ejecutarse continuamente o basándose en un programa para actualizar la tabla de replicaciones pendientes.
Tabla 18 de replicaciones pendientes (figura 16)
La tabla de replicaciones se basa en la tabla de configuración y en las inserciones dentro de la tabla de cambios fuente. Los cambios en la configuración pueden requerir la reconstrucción de la tabla de replicaciones introduciendo entradas en la tabla de cambios fuente que no estuvieran aún completadas.
D Diana: sistema diana cuya replicación necesita replicarse.
D Referencia: referencia a objeto o archivo (UNC) en el que se replicará la función.
D Función: función a replicar.
D Tiempo de replicación: fecha y hora a la cual la función necesita replicarse.
D Finalización: fecha y hora en la que se ha realizado la replicación.
Una actualización con una finalización podría disparar una función que crea una inserción con la información requerida en la tabla de auditoría de replicaciones.
Tabla de auditoría de replicaciones (figura 17)
La tabla de auditoría suministra un medio para saber qué replicaciones se han realizado ya.
D Fuente: sistema de almacenamiento fuente basado en objetos o archivos en el que se ejecutó la función.
D Referencia: referencia a un objeto o archivo (UNC) en el cual se ejecutó la función.
D Función: función que se ejecutó.
D Tiempo: fecha y hora en la que ejecutó la función sobre el objeto o archivo.
D Modificador: información adicional como aplicación, usuario, parte de la ruta UNC para suministrar una replicación de datos más granular.
D Diana: sistema diana en el que la replicación necesita replicarse.
D Tiempo de replicación: fecha y hora en la que la función necesita replicarse.
D Finalización: fecha y hora en la que se realizó la replicación.
La replicación retardada específica para funciones de funciones 160 de manipulación de datos, para retardar una eliminación de datos del sistema de almacenamiento fuente hasta que los datos se borren también del sistema de almacenamiento de destino, se consigue configurando la función de eliminación con la prioridad más baja y el retardo más largo usados para la replicación específica para funciones de funciones de manipulación de datos.
Generalmente, la replicación retardada específica para funciones de funciones de manipulación de datos puede ejecutarse continuamente o basándose en un programa. En la forma programada la replicación se inicia a intervalos regulares en momentos específicos. Cada vez que expira el intervalo, el proceso de monitorización de replicaciones en espera actualiza la tabla de cambios fuente con las funciones de manipulación de datos no replicadas, el proceso de mantenimiento de replicaciones pendientes se ejecuta si la replicación tiene lugar entre matrices de almacenamiento que requieran la base de datos de monitorización de replicaciones y la replicación retardada especifica para funciones de funciones de manipulación de datos se ejecuta para funciones cuyo retardo ha expirado.
La replicación retardada específica para funciones de funciones de manipulación de datos necesita seguir las mismas directrices que se describen en las secciones de acumulación de información y de monitorización de replicaciones en espera. La replicación necesita implementarse para sistemas operativos estándar basados en matrices de almacenamiento de forma diferente que para sistemas de almacenamiento propietarios y depende de la funcionalidad soportada de las matrices de almacenamiento. En un ejemplo de una matriz de almacenamiento basada en un sistema operativo que suministre compartición de archivos, la replicación específica para funciones podría en el caso de una escritura sobre \\Server1\Share1\File.1.doc crear un nuevo archivo sobre la matriz de almacenamiento diana bajo \\Server2\Share5\File1.doc. En el caso de una matriz de almacenamiento propietario como EMC Centera, la replicación
específica para funciones podría leer el objeto FGLS03eJ90S2 de la matriz de almacenamiento fuente que se encuentra en la dirección IP 192.168.2.1 y crear el mismo objeto FGLS03eJ90S2 sobre la matriz de almacenamiento fuente en la dirección IP 156.172.50.33. En el caso de la replicación basada en un sistema operativo, la replicación comprende operaciones estándar del sistema de archivos y en el caso de EMC Centera la replicación específica para funciones necesita integrar la API requerida para acceder a la matriz de almacenamiento fuente y diana.
Ventajosamente, el procedimiento efectúa la replicación de funciones de manipulación de datos dependiendo de la función que se realizó sobre los datos así como efectúa el retardo de la replicación configurable en el tiempo, suministrando así una solución tanto para tolerancia a desastres como para la recuperación de errores lógicos. Esto permite que el cliente se asegure de que los datos sobre las matrices de almacenamiento sean recuperables durante el mismo momento en que es posible una restauración y recuperación de las referencias de producción de los objetos o archivos. Dicho sistema garantiza así que todos los objetos o archivos estén disponibles en tanto que las referencias a esos datos puedan ser restauradas a partir de las copias de seguridad.
Como otra ventaja, el sistema y el procedimiento de la invención pueden extender las replicaciones específicas para funciones existentes sin retardo configurable replicando algunas funciones de manipulación de datos con un retardo específico. Por ejemplo, la replicación entre una matriz de almacenamiento fuente y de destino continuaría la replicación de funciones de escritura pero la replicación de funciones de eliminación de la matriz de almacenamiento fuente se retardaría usando la presente invención durante un período N hasta que los datos se borren también de la matriz de almacenamiento diana, permitiendo así la restauración de una base de datos de aplicación usando un procedimiento de recuperación estándar y así suministraría la posibilidad de acceder a los datos previamente borrados sobre la matriz de almacenamiento secundaria sin tener una copia de seguridad completa de todos los datos que se hayan escrito en la matriz de almacenamiento fuente. Una vez que el procedimiento de recuperación estándar ya no es tampoco capaz de recuperar los datos, el archivo u objeto referenciado puede también eliminarse de la matriz de almacenamiento diana mediante la replicación retardada específica para funciones de la función de manipulación de datos.
Las patentes y artículos anteriormente mencionados se incorporan en la presente memoria por referencia, a menos que se especifique en contra, a menos que los mismos no sean inconsistentes con esta invención.
Otras características y modos de ejecución de la invención se describen en las reivindicaciones adjuntas.
Además, la invención debe considerarse que comprende todas las combinaciones posibles de cada una de las características descritas en la presente memoria técnica, reivindicaciones adjuntas y/o figuras que pueden considerarse nuevas, innovadoras e industrialmente aplicables.
Son posibles múltiples variaciones y modificaciones en las realizaciones de la invención aquí descritas. Aunque aquí se han mostrado y descrito ciertas realizaciones ilustrativas de la invención, se contempla una amplia gama de modificaciones, cambios y sustituciones en la anterior divulgación. Aunque la anterior descripción contiene mucha información concreta, ésta no debe entenderse como limitativa del ámbito de la invención, sino por el contrario como ejemplificación de una u otra realización preferida. En algunos ejemplos, algunas características de la presente invención pueden emplearse sin el uso correspondiente de las otras características. Consecuentemente, es apropiado que la anterior descripción se interprete ampliamente a modo de ilustración y ejemplo solamente. El alcance de la invención está solamente limitado por las reivindicaciones que en definitiva se contemplan en esta solicitud.
Claims (10)
- REIVINDICACIONES1.- Un sistema (10) para la replicación específica de funciones de funciones de manipulación de datos realizada sobre archivos u objetos almacenados en un sistema fuente (20, 65) y de los que se tiene que hacer copia de seguridad sobre al menos un sistema (30, 75) de almacenamiento de destino, el sistema de replicación comprende:
- -
- un módulo (40) de gestión de la replicación para gestionar la replicación de funciones (12) de manipulación de datos desde un sistema (20, 65) de almacenamiento fuente a un sistema (30, 75) de almacenamiento de destino que incluye la replicación de funciones (12) de manipulación de datos entre el sistema (20, 65) de almacenamiento fuente y al menos un sistema (30, 75) de almacenamiento de destino, que comprende opcionalmente una base de datos (42) de monitorización de la replicación, el sistema (10) se caracteriza porque la gestión de la replicación incluye la replicación de funciones (12) de manipulación de datos con un retardo (14) de tiempo configurable para cada función de manipulación de datos a replicar.
- 2.- El sistema (10) de replicación de la reivindicación 1, en el que el sistema de replicación está adaptado para replicar funciones (12) de manipulación de datos después de recibir una función de comando seleccionada entre un grupo de funciones que consiste en escritura, eliminación, actualización, modificación, desactivación de escritura, desactivación de escritura hasta la fecha de expiración y desactivación de eliminación hasta la fecha de expiración.
- 3.- El sistema (10) de replicación de una de las reivindicaciones 1 o 2, en el que el módulo (40) de gestión de la replicación proporciona funcionalidad que permite:
- -
- la configuración de un retardo (14) después del cual una función específica (12) de manipulación de datos ejecutada sobre los datos almacenados en el sistema (20, 65) de almacenamiento fuente se replica sobre los datos correspondientes en el sistema (30, 75) de almacenamiento de destino,
- -
- la replicación de la función (12) de manipulación de datos ejecutada sobre los datos en el sistema (20, 65) de almacenamiento fuente con el retardo configurado (14) en el sistema (30, 75) de almacenamiento de destino y
- -
- la consulta de los cambios específicos para las funciones sobre los datos del sistema (20, 65) de almacenamiento fuente en un marco de tiempo dado.
4- El sistema (10) de replicación de una de las reivindicaciones 1 a 3, en el que el sistema de almacenamiento (20, 65, 30, 75) se basa en una de un grupo de arquitecturas que consiste en:- -
- matrices (60) de almacenamiento basadas en objetos que comprenden una interfaz (34) de programación de aplicaciones,
- -
- matrices (60) de almacenamiento basadas en archivos y
- -
- un servidor informático (80), que comprende una memoria (36), una CPU (38) y un sistema operativo (39).
- 5.- El sistema (10) de replicación de una de las reivindicaciones 1 a 4, en el que las instrucciones del módulo (40) de gestión de las replicaciones se almacenan bien sobre el sistema (20, 65) de almacenamiento fuente o bien sobre el sistema (30, 75) de almacenamiento de destino.
- 6.- El sistema (10) de replicación de una de las reivindicaciones 1 a 5, en el que el módulo (40) de gestión de las replicaciones está configurado para proporcionar acceso a los sistemas (20, 65, 30, 75) de almacenamiento basados en una de un grupo de arquitecturas que consiste en:
- -
- sistemas (60) de almacenamiento basados en objetos que comprenden una interfaz de programación de aplicaciones,
- -
- matrices (60) de almacenamiento basados en archivos y
- -
- un servidor informático (80), que comprende una memoria (36), una CPU (38) y un sistema operativo (39).
- 7.- Un procedimiento informatizado (100) codificado en un medio (36) legible por ordenador, gestionando el procedimiento (100) la replicación de funciones de manipulación de datos entre un sistema (20, 65) de almacenamiento fuente y al menos un sistema (30, 75) de almacenamiento de destino, comprendiendo el procedimiento instrucciones para:
- -
- (a) la configuración de un retardo (14) después del cual una función específica (12) de manipulación de datos ejecutada sobre los datos almacenado en la matriz (20, 35) de almacenamiento fuente se replicarán sobre los
datos almacenados en la matriz o matrices (30, 75) de almacenamiento de destino;- -
- (b) la acumulación de información (120) sobre las funciones (12) de manipulación de datos que se ejecutaron sobre los datos almacenados en un sistema (20, 65) de almacenamiento fuente que opcionalmente incluye el paso de construir una base de datos (42) de monitorización de las replicaciones que incluye información sobre las funciones (12) de manipulación de datos que fueron ejecutadas sobre los datos almacenados en un sistema (20, 65) de almacenamiento fuente;
- -
- (c) la consulta de la base de datos (42) de monitorización de las replicaciones sobre la hora (16) de replicación para las funciones (12’) de manipulación de datos pendientes de ser replicadas ejecutando un proceso (140) de monitorización de las replicaciones en espera y
- -
- (d) la replicación de la función (12) de manipulación de datos ejecutada sobre el sistema (20, 65) de almacenamiento fuente en el sistema o sistemas (30, 75) de almacenamiento de destino.
- 8.- El procedimiento (100) de la reivindicación 7, en el que el proceso (140) de monitorización de la replicación comprende la configuración de una consulta sobre la replicación específica para funciones de las funciones (12’) de manipulación de datos basándose en cada función, que utiliza un tabla (22) de entrada accesible para el usuario (90) por medio de una interfaz (19) de usuario, que comprende los pasos de:
- (1)
- definir un sistema (20, 65) de almacenamiento fuente y al menos un sistema (30, 75) de almacenamiento de destino,
- (2)
- listar las funciones (12) de manipulación de datos a replicar entre el sistema de almacenamiento fuente y de destino,
- (3)
- especificar un retardo (14) específico para las funciones para cada función (12) de manipulación de datos y la relación de la fuente con el sistema (30, 75) de almacenamiento de destino,
- (4)
- especificar la frecuencia (26) a la cual se requiere la base de datos (42) de monitorización de las replicaciones para las replicaciones pendientes de las funciones (12’) de manipulación de datos a ser enviadas al proceso (160) de replicación de funciones,
- (5)
- retardar la replicación específica para funciones de las funciones (12) de manipulación de datos, incluyendo los subpasos de configurar el retardo (14) de tiempo usado para la replicación específica para funciones de las funciones de manipulación de datos y especificar un retardo (14) de replicación de funciones, retardando así la ejecución de una función hasta que se cumplan unas condiciones predeterminadas.
- 9.- El procedimiento (100) de una de las reivindicaciones 7 u 8, en el que el sistema (20, 65) de almacenamiento fuente es una matriz (65) de almacenamiento que comprende un sistema operativo (39) que proporciona acceso a los datos a nivel de archivos, del cual puede obtenerse la información sobre las funciones (12) de manipulación de datos que se ejecutaron sobre los datos y que almacena software de acumulación de información auto-instalable codificado con instrucciones para ejecutar un proceso (122) de acumulación de información que permite su instalación y ejecución sobre un ordenador cliente.
- 10.- El procedimiento (100) de una de las reivindicaciones 7 a 9, en el que el paso (122) de acumular información comprende los subpasos de:
- -
- Insertar información para la replicación retardada específica para funciones de funciones (12) de manipulación de datos en una tabla (24) de cambios fuente de una base de datos (42) de monitorización de replicaciones, directamente desde el software de acumulación de información.
- 11.- El procedimiento (100) de la reivindicación 10, en el que además la información a insertar dentro de la base de datos (42) por el software de acumulación de información incluye:
- -
- una referencia (144) al archivo en forma de ruta UNC hacia el archivo,
- -
- la función (12) de manipulación de datos que se ejecutó sobre el archivo,
- -
- la fecha y la hora en la que se ejecutó la función y
- opcionalmente, el modificador (129) que ejecuta la función y- -
- una imagen (148) anterior y posterior del objeto o archivo modificado por la función.
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US140296 | 1980-04-14 | ||
| US11/939,633 US7921268B2 (en) | 2007-07-12 | 2007-11-14 | Method and system for function-specific time-configurable replication of data |
| US939633 | 2007-11-14 | ||
| EP07023056 | 2007-11-27 | ||
| EP07023056 | 2007-11-28 | ||
| EP08009002 | 2008-05-15 | ||
| EP08009002 | 2008-05-15 | ||
| US12/140,296 US20090019443A1 (en) | 2007-07-12 | 2008-06-17 | Method and system for function-specific time-configurable replication of data manipulating functions |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2375455T3 true ES2375455T3 (es) | 2012-03-01 |
Family
ID=40254436
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES08019846T Active ES2375455T3 (es) | 2007-11-14 | 2008-11-13 | Procedimiento y sistema para la replicación de datos configurable en el tiempo y espec�?fica a la función de manipulación de datos. |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP2060973B1 (es) |
| AT (1) | ATE524775T1 (es) |
| DK (1) | DK2060973T3 (es) |
| ES (1) | ES2375455T3 (es) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9182922B2 (en) | 2013-09-11 | 2015-11-10 | GlobalFoundries, Inc. | Dynamically adjusting write pacing by calculating a pacing level and then delaying writes for a first channel command word (CCW) based on pacing level |
| US9697034B2 (en) * | 2015-08-07 | 2017-07-04 | Futurewei Technologies, Inc. | Offloading probabilistic computations in data analytics applications |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6157991A (en) | 1998-04-01 | 2000-12-05 | Emc Corporation | Method and apparatus for asynchronously updating a mirror of a source device |
| US7392234B2 (en) | 1999-05-18 | 2008-06-24 | Kom, Inc. | Method and system for electronic file lifecycle management |
| US6260125B1 (en) | 1998-12-09 | 2001-07-10 | Ncr Corporation | Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications |
-
2008
- 2008-11-13 ES ES08019846T patent/ES2375455T3/es active Active
- 2008-11-13 DK DK08019846.8T patent/DK2060973T3/da active
- 2008-11-13 AT AT08019846T patent/ATE524775T1/de not_active IP Right Cessation
- 2008-11-13 EP EP08019846A patent/EP2060973B1/en not_active Not-in-force
Also Published As
| Publication number | Publication date |
|---|---|
| ATE524775T1 (de) | 2011-09-15 |
| EP2060973A1 (en) | 2009-05-20 |
| EP2060973B1 (en) | 2011-09-14 |
| DK2060973T3 (da) | 2012-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7921268B2 (en) | Method and system for function-specific time-configurable replication of data | |
| US11467931B2 (en) | Method and system for function-specific time-configurable replication of data manipulating functions | |
| US10956601B2 (en) | Fully managed account level blob data encryption in a distributed storage environment | |
| EP2962218B1 (en) | Decoupled content and metadata in a distributed object storage ecosystem | |
| US9898514B2 (en) | System and method for aggregating query results in a fault-tolerant database management system | |
| US8117244B2 (en) | Non-disruptive file migration | |
| US10387449B2 (en) | Metadata favored replication in active topologies | |
| US8762344B2 (en) | Method for managing information processing system and data management computer system | |
| US10831380B2 (en) | System and method of collision management in a namespace of a storage system | |
| US10659225B2 (en) | Encrypting existing live unencrypted data using age-based garbage collection | |
| US20190007206A1 (en) | Encrypting object index in a distributed storage environment | |
| US9575975B2 (en) | Cluster-wide unique ID for object access control lists | |
| US20090019443A1 (en) | Method and system for function-specific time-configurable replication of data manipulating functions | |
| JP2009289252A (ja) | 階層ストレージシステムでのリモート複製 | |
| ES2375455T3 (es) | Procedimiento y sistema para la replicación de datos configurable en el tiempo y espec�?fica a la función de manipulación de datos. | |
| US20250370957A1 (en) | Efficient creation of bucket-level snapshots and efficient snapshot protection determination | |
| Devi et al. | Architecture for Hadoop Distributed File Systems |