ES2566947T3 - Localización de servicio de recuperación para un servicio - Google Patents

Localización de servicio de recuperación para un servicio Download PDF

Info

Publication number
ES2566947T3
ES2566947T3 ES12796251.2T ES12796251T ES2566947T3 ES 2566947 T3 ES2566947 T3 ES 2566947T3 ES 12796251 T ES12796251 T ES 12796251T ES 2566947 T3 ES2566947 T3 ES 2566947T3
Authority
ES
Spain
Prior art keywords
service
location
primary
secondary location
network
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
ES12796251.2T
Other languages
English (en)
Inventor
Viktoriya Taranov
Alexander Hopmann
Antonio Marcos DA SILVA, Jr.
Nikita VORONKOV
Kai Yiu LUK
Ramanathan Somasundaram
Artsiom KOKHAN
Siddharth Rajendra SHAH
Daniel BLOOD
Bhavesh DOSHI
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2566947T3 publication Critical patent/ES2566947T3/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
    • G06F16/273Asynchronous replication or reconciliation
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2038Error 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 processing functionality is redundant with a single idle spare processing component
    • 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/2097Error 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
    • 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/1448Management of the data involved in backup or backup restore
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2048Error 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 processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un procedimiento para establecer y mantener una localización de servicio de recuperación para un servicio, que comprende: sincronizar una localización primaria de un servicio (210) con una localización secundaria del servicio (220), mientras la localización primaria del servicio está recibiendo activamente peticiones de los usuarios, en el que la localización secundaria del servicio está configurada sustancialmente igual que la localización primaria del servicio y está actualizada cuando la localización primaria es actualizada; detectar (360) un fallo de red de la localización primaria del servicio; y establecer (370) la localización secundaria del servicio como la localización primaria en respuesta a detectar el fallo de red; en el que la sincronización de la localización primaria del servicio con la localización secundaria del servicio comprende: crear (310) en la localización primaria copias de seguridad completas de bases de datos y registros de transacciones; replicar (320) las copias de seguridad completas y los registros de transacciones en la localización secundaria; y reproducir (340) los registros de transacción a medida que son recibidos en la localización secundaria del servicio; que se caracteriza porque el procedimiento comprende, además, actualizar un contador de lectura cuando la copia de seguridad se lee con el fin de ser reproducida / restaurada en la localización secundaria y almacenar un nombre de una base de datos de la que se hizo la copia de seguridad / registro.

Description

5
10
15
20
25
30
35
40
45
50
descripcion
Localizacion de servicio de recuperacion para un servicio Antecedentes
Los servicios basados en la Web incluyen archivos que se encuentran en los servidores web Junto con los datos que estan almacenados en bases de datos. Por ejemplo, hay un gran numero de servidores para maneJar el trafico que es dirigido al servicio. En algunos casos, un servicio puede fallar catastroficamente, haciendo que se pierda el traba- Jo. Las operaciones de transicion a un nuevo servicio pueden ser un proceso caro y lento.
Por el documento US 2009/0240744 Al se conoce el proceso de la replicacion de bases de datos a traves de gru- pos, con el fin de lograr la consistencia de las bases de datos en tiempo real y / o casi real entre los grupos.
El documento US 2007/0162516 Al desvela una replicacion asmcrona de registros de transacciones de una base de datos de origen a una base de datos de destino utilizando notificaciones de cambio de archivo para una fuente del directorio de registro generada por un sistema operativo de la maquina informatica de fuente y que son recibidas por una maquina informatica de destino.
Sumario
La invencion proporciona un procedimiento para establecer y mantener una localizacion de servicio de recuperacion para un servicio de acuerdo con la reivindicacion 1, un medio de almacenamiento legible por ordenador de acuerdo con la reivindicacion 6 y el sistema de acuerdo con la reivindicacion 7. Realizaciones preferidas se enumeran en las reivindicaciones dependientes. En consecuencia, una localizacion secundaria de una red actua como una red de recuperacion para la localizacion primaria del servicio. La localizacion secundaria se mantiene en un estado en ca- liente que esta configurado para reemplazar la localizacion primaria en el caso de que se produzca una conmutacion por fallo. Durante la operacion normal, la localizacion primaria sirve activamente la carga de usuarios y realiza copias de seguridad que incluyen copias de seguridad completas, copias de seguridad incrementales y registros de transacciones que se replican automaticamente a la localizacion secundaria. La informacion es almacenada (por ejemplo, el tiempo, el recuento de intentos) que se puede utilizar para ayudar a determinar cuando las copias de seguridad fueron restauradas correctamente en la localizacion secundaria. Las copias de seguridad se restauran y los registros de transacciones se reproducen en la localizacion secundaria para reflejar los cambios (de contenido y administrativos) que se realizan en la localizacion primaria. Despues de la conmutacion por fallo a la localizacion secundaria, la localizacion secundaria se convierte en la localizacion primaria y comienza a dar servicio de forma activa a la carga de usuarios.
Breve descripcion de los dibujos
La figura 1 ilustra un sistema de gestion de nube que incluye una red de recuperacion en una localizacion secundaria para un servicio;
la figura 2 muestra un sistema que incluye una red de recuperacion en una localizacion secundaria para un servicio;
la figura 3 ilustra un proceso para el mantenimiento y la conmutacion por fallo a una localizacion secundaria de un servicio; y
la figura 4 muestra una arquitectura de ordenador ilustrativa.
Descripcion detallada
Haciendo referenda a continuacion a los dibujos en los que los numeros similares representan elementos similares, se describiran diversas realizaciones.
En general, los modulos de programa incluyen rutinas, programas, componentes, estructuras de datos, y otros tipos de estructuras que realizan trabajos particulares o implementan tipos de datos particulares abstractos. otras configu- raciones de sistemas informaticos tambien pueden ser utilizadas, incluyendo dispositivos de mano, sistemas multi- procesadores, electronica de consumidor basada en microprocesadores o programables, miniordenadores, ordena- dores centrales, y similares. Los entornos informaticos distribuidos tambien se pueden usar en los que los trabajos son realizadas por dispositivos de procesamiento remotos que estan enlazados por medio de una red de comunica- ciones. En un entorno informatico distribuido, los modulos de programa pueden estar localizados tanto en dispositivos de almacenamiento de memoria locales como remotos.
La figura 1 ilustra un sistema de gestion de nube que incluye una red de recuperacion en una localizacion secundaria para un servicio. El termino "servicio" como se usa en la presente memoria descriptiva se puede referir, desde a un servicio simple que utiliza un unico dispositivo informatico para dar servicio a uno o mas usuarios, a un servicio
5
10
15
20
25
30
35
40
45
50
55
muy complejo basado en nube que utiliza miles de dispositivos informaticos que se extienden por todo el mundo. El sistema 100 ilustra un gestor de nube 105 que esta conectado a y gestiona diferentes redes potencialmente distri- buidas en todo el mundo. Cada una de las redes esta configurada para proporcionar servicios de contenido para uno o mas clientes (por ejemplo, clientes, inquilinos). Las redes pueden estar alojadas dentro de un servicio en nube y / o en un centro de datos en las instalaciones. Como se ilustra, cada Red Primaria (Red 1, Red 2) incluyen un servicio de recuperacion en una localizacion secundaria (Red Secundaria 1, Red Secundaria 2). El gestor de nube 105 se utiliza en la implementacion, configuracion y gestion de las redes. El gestor de nube esta configurado para recibir peticiones a traves de una interfaz de programacion de aplicacion (API) de servicios web asmcronos idempotentes 150 que puede tolerar fallos de red intermitentes.
Como se ilustra, el gestor de nube 105 comprende un gestor de trabajo 110, un gestor de maquina 115, un gestor espedfico de aplicacion 120, secuencias de comandos 130, gestor de recuperacion 26 y un repositorio central, tal como un o unos almacenes de datos 140 (por ejemplo, bases de datos). La funcionalidad que no esta incluida dentro de uno de los gestores ilustrados puede residir en alguna otra localizacion del gestor de nube. De acuerdo con una realizacion, el gestor de aplicaciones 120 es un gestor de clientes de SharePoint que comprende la logica espedfica de SharePoint.
En general, el gestor de nube 105 ayuda en la implementacion y administracion de las redes para un servicio en lmea, tal como un servicio en lmea de gestion de contenidos. El sistema gestor de nube es un servicio de coordina- cion central que recibe peticiones para realizar operaciones relacionadas con la configuracion, actualizacion y realizacion de trabajos en redes que se utilizan en la prestacion del servicio en lmea. Por ejemplo, el gestor de nube puede ser llamado para gestionar los activos dentro de una o mas de las redes (por ejemplo, Servidores, Parques, Propiedades de Usuario, y otras similares). La gestion de los activos puede comprender el despliegue de maquinas, la actualizacion de maquinas, la eliminando de maquinas, la realizacion de cambios de configuracion en servidores, Maquinas Virtuales (vM), el establecimiento y mantenimiento de redes de recuperacion, asf como la realizacion de otras tareas relacionadas con la gestion. El gestor de nube esta configurado para proporcionar un servicio a las redes conectadas, incluso durante las actualizaciones del gestor de nube. El gestor de nube esta configurado para recibir peticiones a traves de una interfaz de programacion de aplicaciones(API) idempotente y asmcrona que no puede depender de una red fiable.
Como se ilustra, la Red 1 y la Red 2 son redes vivas que estan prestando servicios de forma activa a los usuarios. La Red Secundaria 1 y la Red Secundaria 2 son redes secundarias que reflejan el contenido y la configuracion de las redes vivas correspondientes. Las redes secundarias no estan dando servicio de forma activa a los usuarios mientras que la Red Primaria esta activa.
De acuerdo con una realizacion, las redes secundarias se mantienen "en caliente" de tal manera que la carga de usuarios de las redes primarias puede ser conmutada rapidamente a las redes secundarias en caso de una desco- nexion / desastre / conmutacion por fallo.
Las redes primarias estan configuradas para realizar copias de seguridad (completas, incrementales), incluyendo copias de seguridad de registros de transacciones de SQL que se toman rutinariamente y con frecuencia. De acuerdo con una realizacion, las copias de seguridad completas se realizan semanalmente, las copias de seguridad incrementales se realizan todos los dfas y los registros de transacciones se actualizan cada cinco minutos (se pueden usar otros tiempos). Las copias de seguridad de las redes primarias (por ejemplo, las Redes 1 y 2) se replican a las redes secundarias (por ejemplo, Redes Secundarias 1 y 2) despues de su creacion (por ejemplo, Replicacion de Sistemas de Registros Distribuidos (DFSR). De acuerdo con una realizacion, las redes secundarias reproducen los registros de transacciones, cuando son recibidos de la Red Primaria correspondiente. Las operaciones administrati- vas que se producen en la Red Primaria viva se reproducen de forma automatica en la Red Secundaria en caliente correspondiente de tal manera que la Red Primaria y la Red Secundaria permanecen sincronizadas de una manera oportuna.
El gestor de trabajo 110 gestiona la ejecucion de los trabajos y permite la programacion y el reprocesamiento de trabajos en ejecucion mas largos. El gestor de trabajo 110 inicia los trabajos almacenados en la cola de trabajos 112 y mantiene un seguimiento de los trabajos en ejecucion. Cuando ha transcurrido un tiempo predeterminado, el gestor de trabajo 110 puede cancelar automaticamente la tarea y realizar algunos procesos adicionales relacionadas con la tarea. De acuerdo con una realizacion, los trabajo en la cola de trabajos 112 son ejecutados por el gestor de trabajo 110 mediante la invocacion de una o mas secuencias de comandos 130. Por ejemplo, un lenguaje de secuencias de comandos como PowerShell® de Microsoft puede ser usado para programar los trabajos que son ejecutados por el gestor de trabajo 110. Cada secuencia de comandos se puede ejecutar como un nuevo proceso. Durante la ejecucion de cada secuencia de comandos, puesto que un nuevo proceso puede tener unos costos operativos de CPU bastante altos, este sistema es escalable y ayuda a asegurar un ambiente limpio para cada ejecucion de la secuencia de comandos ademas de una limpieza total completa cuando se completa la secuencia de comandos.
Cuando los trabajos han de ser sometidos a una localizacion secundaria (por ejemplo, en respuesta a una conmuta- cion por fallo a la localizacion secundaria, un cambio de configuracion a una red primaria que se va a reflejar en la
5
10
15
20
25
30
35
40
45
50
55
red secundaria), el gestor de trabajo 110 puede ser utilizado para determinar Ios trabajo que han de ser sometidos. Por ejemplo, el gestor de trabajo 110 puede determinar Ios trabajos que se someten para ser realizados en una localizacion primaria de un servicio y someter Ios trabajos correspondientes a la localizacion secundaria.
El gestor de maquina 115 esta configurado para gestionar las maquinas ffsicas en las redes (por ejemplo, Red 1, Red 2, Red Secundaria 1, Red Secundaria 2). En general, el gestor de maquina 115 entiende las Redes, Maquinas Ffsicas, Maquinas Virtuales (VM), Imagenes de VM (VHD), y similares. El gestor de maquina no tiene una fuerte union a Ios servicios espedficos que se ejecutan dentro de las redes, pero mantiene un registro de Ios diversos componentes en las redes en terminos de "roles". Por ejemplo, al gestor de maquina 115 se le podffa solicitar a traves de la API 150 para implementar una maquina virtual de tipo" Foo" con la version 12. 34. 56. 78 en la Red 2. En respuesta a una solicitud al gestor de nube 105, el gestor de maquina 115 localiza una Maquina F^sica adecuada que se encuentra en la Red 2 y configura la VM de acuerdo con la imagen VM asociada con el RoI de la VM. La maquina ffsica esta configurada con un VHD de tipo Foo con la version 12. 34. 56. 78 que se almacena en un al- macen de datos, tal como el almacen de datos 140. Un cambio correspondiente se realiza en la Red Secundaria 2. Las imagenes utilizadas dentro de la red tambien pueden ser almacenadas en otros lugares, tales como una parte de datos locales para una o mas de las redes. Las secuencias de comandos pueden ser ejecutadas para realizar la instalacion del vHd en la maquina ffsica, asf como para realizar cualquier configuracion posterior a la implementa- cion. El gestor de maquina 1l5 mantiene un registro de la configuracion de las maquinas de cada red. Por ejemplo, el gestor de maquina 115 puede realizar un seguimiento del rol de una maquina virtual (tipo de VM), el estado de la VM (Aprovisionamiento, Ejecucion, Parada, Fallo), la version y si la VM existe en un parque determinada (Io que implica sus redes).
La base de datos de configuracion 116 contiene un mapa de cada una de las redes. Por ejemplo, la base de datos de configuracion 116 puede incluir informacion relacionada con cada una de Ios parques, bases de datos, coleccio- nes de sitios, y similares de una red. La base de datos de configuracion 116 puede incluir una fila para cada parque de maquinas ffsicas, VM, y similares para cada red. De acuerdo con una realizacion, cada VHD, parque, y Vm dentro de una red tiene una cadena de version asociada.
Las secuencias de comandos 130 esta configuradas para almacenar secuencias de comandos que se ejecutan para llevar a cabo el trabajo tanto a nivel local para el gestor de nube 105 como de forma remota en una o mas de las redes. Una o mas de las secuencias de comandos 130 tambien se puede almacenar en otros lugares. Por ejemplo, las secuencias de comandos para llevar ser ejecutadas en una red (por ejemplo, Red 1, Red 2) pueden ser almacenadas de forma local a esa red. Las secuencias de comandos se pueden utilizar para muchos propositos diferentes. Por ejemplo, las secuencias de comandos se pueden utilizar para realizar las configuraciones de maquinas en una o mas de las redes, el cambio de configuracion de maquinas configuradas previamente, anadir una nueva VM, anadir una nueva base de datos, mover datos de una maquina a otra, mover clientes, cambiar esquemas, y otros similares. De acuerdo con una realizacion, las secuencias de comandos son secuencias de comandos PowerShell® de Microsoft. Otras implementaciones de programacion pueden ser utilizadas. Por ejemplo, un lenguaje de programacion compilado y / o enlazado tempranamente se puede usar para implementar la funcionalidad. La secuencia de comandos, sin embargo, es un lenguaje bastante conciso para expresar muchos de Ios trabajos que se van a realizar. La programacion del equivalente en un lenguaje de programacion, tal como C #, a menudo requiere implementaciones mucho mas prolijas. Las secuencias de comandos tambien estan enlazadas tarde, Io que significa que multiples versiones de codigo bases subyacentes pueden orientarse sin tener que vincularse constantemente a diferentes DLL de interfaz. El uso de secuencias de comandos de PowerShell permite que un proceso sea iniciado a nivel local por el gestor de nube 105 que a su vez puede iniciar un proceso en una maquina remota (es decir, una maquina ffsica en una de las redes conectadas). Otras tecnicas tambien se pueden utilizar para iniciar un proceso en una maquina remota, tal como Secure Shell (SSH) y otros similares. Cuando una secuencia de comandos se ejecuta en una localizacion primaria (por ejemplo, Red 1), la secuencia de comandos tambien se puede ejecutar en la localizacion secundaria (por ejemplo, Red Secundaria 2) de tal manera que las localizaciones primarias y secundarias estan configuradas en una misma manera.
La informacion espedfica de la aplicacion que el gestor de nube 105 esta gestionando es realizada por el gestor de aplicaciones 120. De acuerdo con una realizacion, la informacion espedfica de la aplicacion se refiere a Microsoft SharePoint®. De esta manera, el gestor de aplicaciones 120 esta configurado para conocer Ios Clientes de Share- Point, Colecciones de Sitios y otros similares.
Cada red puede estar configurada como una red dedicada para un cliente y / o como una red de multiples clientes que da servicio a mas de un cliente. Las redes pueden incluir un numero cambiante de maquinas ffsicas / virtuales con su configuraciones que tambien cambian despues del despliegue. De acuerdo con una realizacion, la localizacion primaria y la localizacion secundaria de un servicio estan configuradas de la misma manera.
En general, una red puede seguir creciendo siempre que Ios Ifmites de red (por ejemplo, equilibrador de carga y conmutadores de red) no sean superados. Por ejemplo, una red puede comenzar con diez servidores y despues expandirse a cien o mas servidores. Cuando la Red Primaria cambia, la Red Secundaria correspondiente cambia automaticamente para reflejar Ios cambios realizados en la Red Primaria. Las maquinas ffsicas dentro de una red
5
10
15
20
25
30
35
40
45
50
55
pueden ser asignadas a una clase o tipo. Por ejemplo, algunas de las maquinas pueden ser maquinas informaticas (utilizadas para los extremos frontales de la web y servidores de aplicaciones) y otras maquinas pueden ser maquinas de almacenamiento a las que se proporciona mas capacidad de almacenamiento que las maquinas informaticas. De acuerdo con una realizacion, el gestor de nube 105 configura las maquinas dentro de una red con multiples ver- siones de los archivos de imagen. De acuerdo con una realizacion, los parques por lo general tienen una misma version de los archivos de imagen.
De acuerdo con una realizacion, los Ifmites de software son gestionados por el sistema gestor de nube 100 dentro de la red mediante la virtualizacion de las maquinas y gestionando los "Parques" que actuan independientemente dentro de la red. Cada red puede incluir uno o mas parques (por ejemplo, vease la Red 1). De acuerdo con una realizacion, una red se considera un unico grupo de maquinas con equilibrio de carga de red que exponen una o mas VIP (IP virtual) al mundo exterior y pueden conmutar ese trafico a cualquiera de las maquinas en la red. Las maquinas en la red por lo general estan acopladas ajustadamente y tienen latencias mmimas (es decir, latencia de ping < 1 ms).
Los parques son la agrupacion basica de las maquinas que se usan para coordinar aplicaciones que necesitan rela- ciones ajustadamente unidas. Por ejemplo, los parques de contenido pueden estar desplegados en cada una de las redes de una aplicacion de gestion de contenidos, tales como Microsoft SharePoint. En general, el conjunto de maquinas en cada uno de los parques proporciona servicios web y funciones de servidor de aplicaciones juntos. Por lo general, las maquinas dentro del parque ejecutan la misma version de una aplicacion (por ejemplo, SharePoint) y comparten una base de datos de configuracion comun para servir a los clientes y colecciones de sitios espedficos.
Los parques pueden contener conjuntos heterogeneos de maquinas virtuales. El gestor de nube 105 mantiene un "objetivo de parque" dentro del almacen de datos 140, que es un numero objetivo de las maquinas de cada funcion de cada parque. Algunas funciones incluyen Extremos Delantero de Contenido, Administracion Central de Contenido, Servicio de Temporizador de Contenido, Administracion Central Federada, Servidor de Aplicaciones Federadas, etc. Por ejemplo, los parques de contenido son el parque basico de SharePoint que maneja las peticiones entrantes de los clientes. Los parques de Servicios Federados contienen los servicios de SharePoint que pueden operar parques transversales tales como la busqueda y el almacen de perfiles. Los parques se pueden utilizar para alojar sitios de internet publicos de gran capacidad. Algunos parques pueden contener un grupo de servidores de Directorio Activo y un Centinela de Aprovisionamiento. El gestor de nube 105 despliega y / o clausura automaticamente maquinas virtuales en las redes para ayudar en el cumplimiento del objetivo definido. Estos objetivos de parques pueden ser configurados de forma automatica y / o manualmente. Por ejemplo, los objetivos de parque pueden cambiar para responder a cambios en las necesidades de actividad y de capacidad. Parque de Red - hay un parque de red por cada Red que contiene todos los roles de la VM que se escalan facilmente como un recurso para toda la Red.
Los Servicios Web de Gestor de Nube API 150 estan disenados para trabajar en el contexto de un servicio global escalable masivamente. Los API asumen que cualquier solicitud de red puede fallar y / o colgarse en transito. Las llamadas al gestor de nube 105 estan configuradas para ser idempotentes. En otras palabras, la misma llamada se puede hacer al gestor de nube 105 varias veces (siempre que los parametros sean identicos) sin cambiar el resulta- do.
El gestor de nube 105 mantiene un registro para realizar un seguimiento de las solicitudes actuales de un servicio. Por ejemplo, el gestor de nube 105 actualiza los registros en una base de datos local y si es necesario programa que un "trabajo" realice una actividad mas prolongada mas tarde.
El gestor de nube 105 mantiene un registro de Imagenes (tales como Imagenes de Disco Virtual) que son las planti- llas utilizadas para desplegar nuevas maquinas en una red. Las referencias a Imagen se pueden almacenar en una base de datos, tal como la base de datos 140, y / o en alguna otra localizacion. Las imagenes se pueden almacenar en uno o mas almacenes de datos compartidos que son locales a la red o a las redes en las que se desplegara la imagen. De acuerdo con una realizacion, cada Imagen incluye un tipo de rol de maquina virtual (VM) que especifica el tipo de VM que puede implementar, el numero de procesadores que se debe utilizar, la cantidad de memoria RAM que se le asignara, un ID de red utilizado para encontrar un punto de instalacion cercano (de manera que no se copie repetidamente sobre los enlaces de centros de datos cruzados) y una ruta compartida que el codigo de des- pliegue puede utilizar para acceder al VHD.
En general, las maquinas en las redes que estan gestionadas por el sistema de nube 100 no se actualizan en la forma tradicional mediante la descarga de los datos y la incorporacion de los datos en el software existente en la maquina. En lugar de ello, las maquinas se actualizan mediante la sustitucion de un VHD con un VHD actualizado. Por ejemplo, cuando una nueva version del software es necesitada por un parque, se implementa un nuevo parque que tiene la nueva version instalada. Cuando se implementa el nuevo parque, los clientes son movidos desde el antiguo parque al nuevo parque. De esta manera, el tiempo de inactividad debido a una actualizacion se reduce al mmimo y cada maquina en el parque tiene una misma version que han sido probada. Cuando una maquina virtual necesita ser actualizada, la VM en la maquina puede ser eliminada y reemplazada con la VM que esta configurada para ejecutar el servicio deseado.
5
10
15
20
25
30
35
40
45
50
55
Aunque las actualizaciones al software existente no son optimas, algunos servidores dentro de las redes utilizan el procedlmlento de actualizacion tradicional de una actualizacion in situ. Por ejemplo, los Controladores de Dominio de Directorio Activo son actualizados mediante la actualizacion del software actual en el servidor sin reemplazar por completo una imagen en la maquina. El gestor de nube tambien se puede actualizar in situ en algunos casos.
De acuerdo con una realizacion, el gestor de nube incluye un sistema de registro que esta configurado para registrar una entrada de registro para cada llamada de servicio web. Se puede implementar un sistema de registro que incluye pocas / muchas caractensticas como se desee.
La tabla de mapeo 114 comprende un mapeo de los parametros (por ejemplo, identificadores y / o secretos) que estan asociados con la red primaria a la red secundaria . Por ejemplo, hay mapeos entre bases de datos, parques y redes que estan asociados con una localizacion primaria para un servicio (por ejemplo, la Red Primaria 1 y 2) a las bases de datos, parques y redes correspondientes, que estan asociadas con una localizacion secundaria para un servicio ( por ejemplo, la Red Secundaria 1 y 2).
El gestor de recuperacion 26 esta configurado para ayudar en el mantenimiento de una localizacion secundaria de una red que actua como una red de recuperacion de la localizacion primaria del servicio. La localizacion secundaria se mantiene en un estado en caliente que esta configurado para reemplazar la localizacion primaria en el caso de una conmutacion por fallo. Durante la operacion normal, la localizacion primaria proporciona servicios activamente a la carga de usuarios y realiza copias de seguridad que incluyen copias de seguridad completas, copias de seguridad incrementales y los registros de transacciones que se proporcionan automaticamente a la localizacion secundaria. Los nombres de archivo de las copias de seguridad y los registros de transacciones incluyen informacion que puede utilizarse para ayudar a determinar cuando las copias de seguridad de han restaurado correctamente en la localizacion secundaria. Las copias de seguridad se restauran y los registros de transaccion se reproducen en la localizacion secundaria para reflejar los cambios (de contenido y administrativos) que se realizan en la localizacion primaria. Despues de la conmutacion por fallo a la localizacion secundaria, la localizacion secundaria se convierte en la localizacion primaria y comienza a dar servicio de forma activa a la carga de usuarios.
La figura 2 muestra un sistema que incluye una red de recuperacion en una localizacion secundaria para un servicio. Como se ilustra, el sistema 200 incluye un servicio primario 210, un servicio secundario 220, el gestor de nube 230 y un o unos dispositivos informaticos 240.
Los dispositivos informaticos usados pueden ser cualquier tipo de dispositivo informatico que esta configurado para realizar las operaciones relacionadas con el uso del dispositivo informatico. Por ejemplo, algunos de los dispositivos informaticos pueden ser: dispositivos informaticos moviles (por ejemplo, telefonos celulares, tabletas, telefonos inte- ligentes, ordenadores portatiles, y similares); algunos pueden ser dispositivos informaticos de escritorio y otros dispositivos informaticos pueden configurarse como servidores. Algunos dispositivos informaticos pueden disponerse para proporcionar un servicio en lmea basado en nube (por ejemplo, el servicio 210 y el servicio 220), algunos pueden estar dispuestos como partes de datos que proporcionan servicios de almacenamiento de datos, algunos pueden estar dispuestos en redes locales, algunos pueden estar dispuestos en redes accesibles a traves de Internet, y otros similares.
Los dispositivos informaticos estan acoplados a traves de la red 18. La red 18 puede ser muchos tipos diferentes de redes. Por ejemplo, la red 18 puede ser una red IP, una red de soporte para las comunicaciones celulares, y otras similares. En general, la red l8 se utiliza para transmitir datos entre dispositivos informaticos, tales como el servicio 210, el servicio 220, el gestor de nube 230 y el o Ios dispositivos informaticos 240.
El o Ios dispositivos informaticos 240 incluyen la aplicacion 242, el navegador de Web 244 y la interfaz de usuario 246. Como se ilustra, el dispositivo informatico 240 es utilizado por un usuario para interactuar con un servicio en lmea, tal como el servicio 210. De acuerdo con una realizacion, el servicio 210 y 220 es un servicio de multiples clientes. En general, Ios multiples clientes se refiere al aislamiento de Ios datos (a veces incluyendo copias de seguridad), el uso y la administracion entre Ios clientes. En otras palabras, Ios datos de un cliente (cliente 1) no son acce- sible por otro cliente (cliente 2) a pesar de que Ios datos de cada uno de Ios clientes pueden ser almacenados dentro de una misma base de datos dentro del mismo almacen de datos.
La interfaz de usuario (Ul) 246 se utiliza para interactuar con varias aplicaciones que pueden ser locales / no locales a un dispositivo informatico 240. Una o mas interfaces de usuario de uno o mas tipos se pueden utilizar para interactuar con el contenido. Por ejemplo, la Ul 246 puede incluir el uso de un menu de contexto, un menu dentro de una barra de menu, un elemento de menu seleccionado de una interfaz de usuario de cinta, un menu grafico, y otros similares. En general, la Ul 246 esta configurada de tal manera que un usuario puede interactuar facilmente con la funcionalidad de una aplicacion. Por ejemplo, un usuario puede seleccionar simplemente una opcion dentro de la Ul 246 para solicitar una accion del servicio.
Como se ilustra, Ios almacenes de datos de contenido 212 y 212' incluyen Ios datos del cliente, incluyendo Ios datos de copias de seguridad y de registros correspondientes, para diferentes clientes. El almacen de datos de aplicacion 210 incluye datos de la aplicacion, incluyendo Ios datos de copia de seguridad correspondientes y Ios registros para
6
5
10
15
20
25
30
35
40
45
50
55
60
diferentes aplicaciones que estan asociadas con el servicio. Un almacen de datos puede almacenar todo / parte de Ios datos del cliente / aplicacion. Por ejemplo, algunos clientes / aplicaciones pueden utilizar mas de un almacen de datos, mientras que otros clientes / aplicaciones comparten el almacen de datos con muchos otros clientes / aplicaciones. Aunque Ios datos de copia de seguridad correspondientes para un cliente / aplicacion se ilustran dentro del mismo almacen de datos, Ios datos de copias de seguridad se pueden almacenar en otros lugares. Por ejemplo, un almacen de datos se puede utilizar para almacenar datos de clientes y uno o mas otros almacenes de datos se puede utilizar para almacenar Ios datos de copia de seguridad correspondientes. Del mismo modo, las copias de seguridad y Ios registros de una o mas aplicaciones pueden ser almacenados en diferentes almacenes de datos. En general, Ios datos de la memoria de datos 212 ' y el almacen de datos 210' es una replicacion de Ios datos en el almacen de datos 212 y en el almacenan datos 210.
Los cambios realizados en Ios datos que estan asociados con el primer servicio 210 (es decir, Ios datos relativos a Ios cambios administrativos y Ios datos de cliente) se replican en el servicio secundario 220. De acuerdo con una realizacion, copias de seguridad completas (por ejemplo, semanalmente), copias de seguridad incrementales (por ejemplo, cada hora, diariamente) y Ios registros de transacciones se utilizan en el mantenimiento de Ios cambios realizados. De acuerdo con una realizacion, Ios cambios realizados en el servicio primario se copian en el servicio secundario de tal manera que el servicio secundario permanece sustancialmente sincronizado con el servicio primario (por ejemplo, en cinco, diez minutos). Periodicamente, Ios datos que se copian en el servicio secundario se verifi- can para garantizar que Ios datos se hayan replicado correctamente. Diferentes procedimientos pueden ser utiliza- dos para realizar la verificacion (por ejemplo, sumas de control, funciones de hash, y similares). El almacen de datos 236 incluye datos relativos a la operacion y / o configuracion del servicio (por ejemplo, el servicio 210, el servicio 220). Por ejemplo, el almacen de datos 236 puede comprender una cola de trabajos, tabla de mapeo y / o base de datos de configuracion.
De acuerdo con una realizacion, la DFSR se utiliza para copiar automaticamente el contenido del servicio primario 210 al servicio 220. La DFSR utiliza Compresion Diferencial Remota (RDC). En general, la RDC detecta inserciones, eliminaciones y reorganizaciones de datos en Ios archivos, Io que permite que la DFSR replique Ios deltas (cambios) cuando se actualizan Ios archivos. El servicio DFSR utiliza la RPC para la comunicacion entre servidores. Se replica el alcance de una carpeta definida por la ruta de la carpeta replicada. El conjunto de ordenadores que participan en la replicacion es definido por una topolog^a configurada de conexiones y se denomina grupo de replicacion. Las multiples carpetas replicadas pueden ser incluidas en un grupo de replicacion, con membresfas que habilitan o des- habilitan selectivamente las carpetas replicadas espedficas. El servicio DFSR utiliza Windows Management Instrumentation (WMI) para configurar Ios parametros a nivel de servidor, mientras que Ios parametros globales y ciertos parametros espedficos de carpetas replicadas se configuran usando el Directorio Activo. La DFSR tambien utiliza WMI para exponer la monitorizacion de informacion con respecto a objetos espedficos, tales como carpetas y conexiones replicadas. De acuerdo con una realizacion, la DFSR esta configurada para tener un area de escenificacion dimensionada para manejar una gran cantidad de datos y para mover Ios datos en una direccion de sentido unico desde el servicio primario 210 al servicio secundario 220. Los recursos compartidos de archivos en la localizacion primaria y en la localizacion secundaria pueden tener diferentes nombres.
De acuerdo con una realizacion, la replicacion del Directorio Activo (AD) se utiliza para sincronizar Ios datos de Ser- vicios de Directorio entre el servicio primario 210 y el servicio secundario 220. Otros procedimientos de replicacion de archivos se pueden utilizar en lugar de DFSR y AD.
El servicio 210 esta configurado como una localizacion primaria para un servicio en lmea que esta configurado para proporcionar servicios relacionados con la visualizacion de una interaccion con datos de multiples clientes. El servicio 210 proporciona una infraestructura compartida para multiples clientes. De acuerdo con una realizacion, el servicio 210 es un servicio SHAREPOINT ONLINE de MICROSOFT. Diferentes clientes pueden alojar sus colecciones de aplicaciones / lugares Web usando el servicio 210. Un cliente tambien puede utilizar un dedicado por sf mismo o en combinacion con Ios servicios proporcionados por el servicio 210. El servicio 220 esta configurado como una localizacion secundaria para un servicio que es sustancialmente una replicacion del servicio 210.
El gestor de recuperacion 26 esta configurado para ayudar en las operaciones de establecimiento, mantenimiento y transicion a la localizacion secundaria. Por ejemplo, el gestor de recuperacion 26 se puede utilizar en la gestion de la sincronizacion entre el servicio primario 210 y el servicio secundario 220. El gestor de recuperacion 26 almacena la informacion para ayudar a asegurar que Ios registros y las copias de seguridad son transferidos y reproducidos correctamente. Por ejemplo, la informacion puede incluir el tiempo (por ejemplo, el tiempo UTC) en el que el registro / copia de seguridad se realizaron de manera que Ios registros y las copias de seguridad pueden ser ordenados y dispuestos de acuerdo con el tiempo. La informacion tambien puede incluir otra informacion, tal como el nombre de la base de datos en la que la copia de seguridad / registro se hizo y un recuento de intentos. El recuento de intentos es un valor que se camba cuando la copia de seguridad / registro se lee con el fin de que se reproduzca / se restau- re. Por ejemplo, cuando se accede a un registro para que se reproduzca, el gestor de recuperacion 26 incrementa el valor del recuento de intentos. Cuando el recuento de intentos supera un valor predeterminado (por ejemplo, 2, 3, 4 intentos), el gestor de recuperacion 26 puede desencadenar una alerta y tratar de resolver el problema con el registro / copia de seguridad. Un Ifmite de tiempo tambien puede ser utilizado para ayudar a asegurar que Ios registros se
5
10
15
20
25
30
35
40
45
50
55
reproducer! de una manera oportuna. Por ejemplo, cuando un registro es mas antiguo que una cierta cantidad de tiempo (por ejemplo, 5, 10, 15 minutos), el gestor de recuperacion 26 puede desencadenar una alerta e intentar abordar el problema con el registro / copia de seguridad. Esta informacion se puede almacenar en diferentes luga- res. Por ejemplo, la informacion puede ser almacenada en una carpeta de copia de seguridad y / o en alguna otra localizacion que sea accesible por el gestor de reproduccion 26. De acuerdo con una realizacion, los nombres de archivo de los registros pueden incluir alguna / toda la informacion para ayudar a asegurar que los registros y las copias de seguridad se transfieren y se reproducer correctamente. Por ejemplo, un nombre de archivo puede tener la forma de "base de datos _ ano _ mes _ d^a _ hora _ minutos _ segundos _ tregistro _ recuento de intentos"
Una vez que una alerta es levantada por el gestor de recuperacion 26, la alerta tambien es levantada en cualesquie- ra reintentos sucesivos. La alerta indica la cantidad de tiempo desde la ultima restauracion con exito. El nivel de la alerta puede cambiar (es decir, a un nivel cntico desde un nivel de fallo) despues de que haya transcurrido un tiempo determinado (por ejemplo, 30 minutos).
Despues de una alerta, se puede llevar a cabo una comprobacion (manualmente / automaticamente) para ver si existe el registro / copia de seguridad en la localizacion primaria y no esta siendo copiado en la localizacion secundaria. Cuando no existe el registro / copia de seguridad se puede volver a recreada y / u otra copia de seguridad puede ser creada.
De acuerdo con una realizacion, la alerta incluye la cadena de mensaje siguiente: Fuente del Suceso: Reproduccion de Registro DR; Identificador de Suceso: Para la base de datos [< dbnombre >] hay un registro de transacciones que falta entre [< marca de tiempo UTC >] y el registro de transacciones [< ruta completa al archivo >] . Han pasado [< N >] minutos desde la ultima restauracion con exito. El error SQL proporcionado mientras se restaura es: < Error Numero SQL < mensaje de error SQL >.
El gestor de recuperacion 26 tambien esta configurado para detectar cuando un registro de transacciones no se recibe durante un penodo de tiempo (por ejemplo, en los ultimos 15 minutos). En este caso, el gestor de recuperacion 26 puede comprobar los trabajos de copia de seguridad en la localizacion primaria y determinar: estan deteni- das las copias de seguridad ? (por ejemplo, un procedimiento de mantenimiento tal como movimiento de la base de datos y actualizacion de la base de datos puede producir una pausa en el proceso de copia de seguridad). Una comprobacion tambien se puede realizar (manualmente / automaticamente) para ver si existe el registro / copia de seguridad en la localizacion primaria y no esta siendo copiado en la localizacion secundaria.
De acuerdo con una realizacion, cuando un registro / copia de seguridad no se recibe durante un penodo de tiempo, la alerta incluye la siguiente cadena de mensaje: Origen del suceso: DR Respuesta de Registro; Identificador de Suceso: Para la base de datos [< dbnombre >] no se han producido nuevos registros de transacciones en los ultimos [< N >] minutos.
Cuando la localizacion secundaria falla en la restauracion de uno de los registros debido a corrupcion, una alerta es levantada por el gestor de recuperacion 26. Para manejar el caso potencialmente comun de los registros que estan escritos parcialmente debido a una conmutacion por fallo en medio de la generacion de la copia de seguridad, el trabajo de repeticion intenta restaurar el "siguiente" registro a tiempo. Si el "siguiente" registro es restaurado con exito, el gestor de recuperacion 26 ignora el fallo. De acuerdo con una realizacion, el registro se vuelve a intentar 3 veces, o 15 minutos, antes de que el gestor de recuperacion 26 levante la alerta. Una vez que la alerta es levantada continuara levantandola en los reintentos sucesivos. La alerta indica la cantidad de tiempo desde la ultima restauracion con exito. Cuando un registro no se restaura, el gestor de recuperacion 26 realiza una copia de seguridad completa de la base de datos en la localizacion primaria, borra la base de datos correspondiente en la localizacion secundaria y en el sitio y recrea la base de datos correspondiente a la localizacion secundaria mediante la obtencion de una copia de los datos en la localizacion secundaria desde la localizacion primaria. De acuerdo con otra realizacion, el trabajo de reproduccion se puede pausar y el mas reciente conjunto de copias de seguridad y los registros restauran el intento de moverse mas alia del orificio en la cadena. De acuerdo con una realizacion, la alerta en esta situacion comprende la siguiente cadena de mensaje: Origen del suceso: DR Reproduccion de Registro; Identificador de Suceso: Se han producido errores de la base de datos [< dbnombre >] mientras se realizaba la restauracion del registro de transacciones [< ruta completa al archivo > ]. Han pasado [< N >] minutos desde la ultima restauracion correcta. El error de SQL proporcionado mientras se realizaba la restauracion es: < Numero de error SQL > < mensaje de error SQL >.
Haciendo referenda a continuacion a la figura 3, se describira un proceso para el mantenimiento y la conmutacion por fallo a una localizacion secundaria de un servicio.
Cuando se lee la explicacion de las rutinas que se presentan en la presente memoria descriptiva, se debe apreciar que las operaciones logicas de diversas realizaciones se implementan (1) como una secuencia de actos o modulos de programa de ordenador implementados que se ejecutan en un sistema informatico y / o (2) como circuitos logicos o modulos de circuitos de maquina interconectados dentro del sistema informatico. La implementacion es una cues- tion de eleccion dependiendo de los requisites de operacion del sistema informatico que implementa la invencion.
5
10
15
20
25
30
35
40
45
50
55
Por consiguiente, a las operaciones logicas ilustradas y que componen las reallzaclones que se descrlben en la presente memoria descriptiva se hace referenda diversamente como operaciones, dispositivos estructurales, actos o modulos. Estas operaciones, dispositivos estructurales, actos y modulos pueden ser implementados en software, en firmware, en logica digital de proposito especial, y cualquier combinacion de los mismos.
Despues de una operacion de inicio, el proceso 300 continua a la operacion 310, en la que las copias de seguridad y los registros de transacciones son creados en la localizacion primaria. De acuerdo con una realizacion, las copias de seguridad incluyen copias de seguridad completas realizadas semanalmente, copias de seguridad incrementales que se realizan a diario y las transacciones de registros SQL cada cinco minutos (se pueden usar otros tiempos). Algunas copias de seguridad se pueden configurar para no incluir copias de seguridad y / o registros incrementales. Por ejemplo, una aplicacion / servicio proporcionada por el servicio (por ejemplo, busqueda) puede incluir un menor numero de copias de seguridad y / o copias de seguridad / registros realizados en diferentes momentos. La informa- cion relativa a las copias de seguridad / registros es almacenada para ayudar en los registros y copias de seguridad que estan siendo transferidos y reproducidos correctamente. Por ejemplo, la informacion puede incluir el tiempo (por ejemplo, el tiempo UTC) en la que el registro / copia de seguridad se realizo de manera que los registros y las copias de seguridad pueden ser ordenados y dispuestos de acuerdo con su tiempo. La informacion tambien puede incluir otra informacion, tal como el nombre de la base de datos en el que se hizo la copia de seguridad / registro a partir de un recuento de intentos. El recuento de intentos es un valor que se cambia cuando la copia de seguridad / registro se lee con el fin de que sea reproducido / restaurado. El recuento de intentos se actualiza cuando se accede al registro que se va a reproducir.
Moviendose a la operacion 320, las copias de seguridad y los registros se replican en la localizacion secundaria para el servicio. De acuerdo con una realizacion, las copias de seguridad y los registros se replican automaticamente en cuanto terminan de usar DFSR y algoritmos basados en AD.
Circulando a la operacion 330, el contenido replicado a la localizacion secundaria es validado. Diferentes procedi- mientos pueden ser usados para validar que el contenido se ha replicado correctamente en la localizacion secundaria. Por ejemplo, hashes, hashes + propiedad de los archivos se pueden utilizar para determinar si el contenido se ha copiado correctamente en la localizacion secundaria. Cuando el contenido no es validado, el contenido puede ser recreado / recopiado en la localizacion secundaria.
Haciendo la transicion a la operacion 340, las copias de seguridad se restauran en la localizacion secundaria y los registros se reproducen en la localizacion secundaria. De acuerdo con una realizacion, los registros se reproducen tan pronto como son replicados en la localizacion secundaria de tal manera que la localizacion secundaria permane- ce sincronizada con la localizacion primaria.
Moviendose a la operacion 350, las operaciones de restauracion / reproduccion son monitorizadas para ayudar a asegurar que el contenido y las acciones se realizan correctamente en la localizacion secundaria. Un mecanismo de alerta avisa a un usuario y / o realiza automaticamente las operaciones para hacer frente a un problema que se produzca cuando se restauran / reproducen las copias de seguridad / registros. Por ejemplo, el mecanismo de alerta esta configurado para crear una alerta cuando: un registro / copia de seguridad no se ha recibido de acuerdo con un programa predeterminado; una copia de seguridad / registro esta corrompido; existe una acumulacion de copias de seguridad / registros; y otros similares.
Circulando a la operacion 360, se detecta una conmutacion por fallo. La conmutacion por fallo se puede detectar en respuesta a un evento planificado / no planificado. Por ejemplo, la conmutacion por fallo puede ser causada por un fallo catastrofico en una red primaria o puede ser causada por una determinacion para dejar de utilizar una red primaria. El evento de conmutacion por fallo puede ser iniciado manualmente / automaticamente. Por ejemplo, un usuario autorizado puede desencadenar la conmutacion por fallo de la red primaria a la red secundaria o la conmutacion por fallo puede ser activada automaticamente en base a la deteccion de una o mas condiciones (por ejemplo, fallo de una o mas maquinas).
Circulando a la operacion 370, la localizacion secundaria se establece como la localizacion primaria despues de la conmutacion por fallo. De acuerdo con una realizacion, la localizacion secundaria recibe las peticiones dirigidas a la localizacion primaria despues de que la localizacion secundaria este sincronizada con la localizacion primaria. Cuando la localizacion secundaria se convierte en la localizacion primaria, la replicacion se establece en la localizacion secundaria y otra red de recuperacion puede ser establecida para la nueva localizacion primaria.
El proceso se mueve entonces a una operacion de terminacion y retorna para procesar otras acciones.
Haciendo referenda ahora a la figura 4, se describira una arquitectura ilustrativa de ordenador para un ordenador 400 utilizado en las diversas realizaciones. La arquitectura de ordenador que se muestra en la figura 4 se puede configurar como un servidor, un ordenador de sobremesa o movil e incluye una unidad central de proceso 5 ("CpU"), una memoria de sistema 7, que incluye una memoria de acceso aleatorio ("RAM") 9 y una memoria de solo lectura ("ROM") 11, y un bus de sistema 12 que acopla la memoria a la unidad central de proceso ("CPU") 5.
5
10
15
20
25
30
35
40
Un sistema de entrada / salida basico que contiene las rutinas basicas que ayudan a transferir informacion entre elementos dentro del ordenador, tales como durante el arranque, es almacenado en la ROM 11. El ordenador 400 incluye ademas un dispositivo de almacenamiento masivo 14 para el almacenamiento de un sistema operativo 16, Ios programas de aplicacion 10, almacen de datos 24, los archivos, y un programa de nube 25 relativo a la ejecucion y la interaccion con el sistema de nube 100.
El dispositivo de almacenamiento masivo 14 esta conectado a la CPU 5 a traves de un controlador de almacenamiento masivo (no mostrado) conectado al bus 12. El dispositivo de almacenamiento masivo 14 y sus medios aso- ciados legibles por ordenador proporcionan un almacenamiento no volatil para el ordenador 400. Aunque la descrip- cion de medios legibles por ordenador contenidos en la presente memoria descriptiva se refiere a un dispositivo de almacenamiento masivo, tal como un disco duro o unidad de CD - ROM, Ios medios legibles por ordenador pueden ser cualquier medio disponible que pueda ser accedido por el ordenador 100.
A modo de ejemplo, y no de limitacion, Ios medios legibles por ordenador pueden comprender medios de almacenamiento informatico y medios de comunicacion. Los medios de almacenamiento informatico incluyen medios volatiles y no volatiles, medios extrafbles y no extrafbles implementados en cualquier procedimiento o tecnologfa para el almacenamiento de informacion tal como instrucciones legibles por ordenador, estructuras de datos, modulos de programa u otros datos. Los medios de almacenamiento en ordenador incluyen, pero no se limitan a, RAM, ROM, Memoria de solo Lectura Programable y Borrable ( "EPROM"), Memoria de solo Lectura Programable y Borrable Electricamente ( "EEPROM"), memoria flash u otra tecnolog^a de memoria de estado solido, CD-ROM , discos versa- tiles digitales ("DVD"), u otro almacenamiento optico, casetes magneticas, cinta magnetica, almacenamiento en disco magnetico u otros dispositivos de almacenamiento magnetico, o cualquier otro medio que pueda utilizarse para almacenar la informacion deseada y que puede ser accedido por el ordenador 400.
De acuerdo con diversas realizaciones, el ordenador 400 puede operar en un entorno de red usando conexiones logicas a equipos remotos a traves de una red 18, tal como Internet. El ordenador 400 se puede conectar a la red 18 a traves de una unidad de interfaz de red 20 conectada al bus 12. La conexion de red puede ser inalambrica y / o por cable. La unidad de interfaz de red 20 se puede utilizar tambien para conectarse a otros tipos de redes y sistemas de ordenadores remotos. El ordenador 400 tambien puede incluir un controlador de entrada / salida 22 para la recep- cion y procesamiento de entradas desde un numero de otros dispositivos, incluyendo un teclado, raton, lapiz optico o electronico (no mostrados en la figura 4). Del mismo modo, un controlador de entrada / salida 22 puede proporcionar una salida a una pantalla de visualizacion 28, una impresora, u otro tipo de dispositivo de salida.
Como se ha mencionado brevemente mas arriba, un numero de modulos de programa y archivos de datos se pueden almacenar en el dispositivo de almacenamiento masivo 14 y en la memoria RAM 9 del ordenador 400, incluyendo un sistema operativo 16 adecuado para controlar la operacion de un ordenador en red, tal como Ios sistemas operativos WINDOWS® de Microsoft® Corporation de Redmond, Washington. El dispositivo de almacenamiento masivo 14 y la memoria RAM 9 tambien pueden almacenar uno o mas modulos de programa. En particular, el dispositivo de almacenamiento masivo 14 y la RAM 9 pueden almacenar uno o mas programas de aplicacion, tal como el programa de nube 25, que realizan trabajos relacionados con el sistema de nube.
La memoria descriptiva anterior, ejemplos y datos proporcionan una descripcion completa de la fabricacion y uso de la composicion de la invencion. Puesto que muchas realizaciones de la invencion se pueden hacer sin apartarse del alcance de la invencion, la invencion reside en las reivindicaciones anexas en la presente memoria descriptiva y dadas a continuacion.

Claims (9)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    reivindicaciones
    1. Un procedimiento para establecer y mantener una localizacion de servicio de recuperacion para un servicio, que comprende:
    sincronizar una localizacion primaria de un servicio (210) con una localizacion secundaria del servicio (220), mientras la localizacion primaria del servicio esta recibiendo activamente peticiones de los usuarios, en el que la localizacion secundaria del servicio esta configurada sustancialmente igual que la localizacion primaria del servicio y esta actualizada cuando la localizacion primaria es actualizada;
    detectar (360) un fallo de red de la localizacion primaria del servicio; y
    establecer (370) la localizacion secundaria del servicio como la localizacion primaria en respuesta a detectar el fallo de red;
    en el que la sincronizacion de la localizacion primaria del servicio con la localizacion secundaria del servicio comprende:
    crear (310) en la localizacion primaria copias de seguridad completas de bases de datos y registros de transacciones;
    replicar (320) las copias de seguridad completas y los registros de transacciones en la localizacion secundaria; y
    reproducir (340) Ios registros de transaccion a medida que son recibidos en la localizacion secundaria del servicio;
    que se caracteriza porque
    el procedimiento comprende, ademas, actualizar un contador de lectura cuando la copia de seguridad se lee con el fin de ser reproducida / restaurada en la localizacion secundaria y almacenar un nombre de una base de datos de la que se hizo la copia de seguridad / registro.
  2. 2. El procedimiento de la reivindicacion 1, en el que la sincronizacion de la localizacion primaria del servicio con la localizacion secundaria del servicio comprende, ademas, la creacion de copias de seguridad incrementales que son creadas entre las copias de seguridad completas.
  3. 3. El procedimiento de la reivindicacion 1, en el que la sincronizacion de la localizacion primaria del servicio con la localizacion secundaria del servicio comprende al menos uno de entre: mantener datos de clientes por separado de Ios datos de aplicacion para el servicio y almacenar el tiempo de la copia de seguridad para la copia de seguridad en un formato clasificable; y usar la Replicacion de Sistema de Archivos Distribuidos (DFSR) para mover datos en una unica direccion desde la localizacion primaria a la localizacion secundaria que incluye diferentes nombres de recursos compartidos en la localizacion primaria y en la localizacion secundaria.
  4. 4. El procedimiento de la reivindicacion 1, que comprende, ademas, el establecimiento de la replicacion de localizacion secundaria del servicio despues de conmutar las solicitudes de la localizacion primaria a la localizacion secundaria.
  5. 5. El procedimiento de la reivindicacion 1, que comprende, ademas, la verificacion de la integridad de la sincronizacion en la localizacion secundaria.
  6. 6. Un medio de almacenamiento legible por ordenador que tiene instrucciones ejecutables por ordenador para establecer y mantener un servicio de recuperacion de localizacion para un servicio de acuerdo con un procedimiento de una de las reivindicaciones anteriores, cuando se ejecuta en un ordenador.
  7. 7. Un sistema para establecer y mantener una localizacion de servicio de recuperacion para un servicio, que comprende:
    un procesador y un medio legible por ordenador;
    un entorno operativo almacenado en el medio legible por ordenador y que se ejecuta en el procesador; y
    un gestor de nube operativo para realizar Ios pasos de un procedimiento de acuerdo con una de las reivindicaciones 1 a 5.
  8. 8. El sistema de la reivindicacion 7, en el que la sincronizacion de la localizacion primaria del servicio con la localizacion secundaria del servicio comprende almacenar el tiempo de la copia de seguridad en un formato que se puede ordenar.
  9. 9. El sistema de la reivindicacion 7, en el que la sincronizacion de la localizacion prlmarla del servlclo con la localizacion secundaria del servicio comprende el uso de Replicacion de Sistema de Archivos Distribuidos (DFSR) para mover datos en una sola direccion desde la localizacion primaria a la localizacion secundaria que incluye diferentes nombres compartidos en la localizacion primaria y en la localizacion secundaria.
ES12796251.2T 2011-06-06 2012-06-02 Localización de servicio de recuperación para un servicio Active ES2566947T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/154,299 US8938638B2 (en) 2011-06-06 2011-06-06 Recovery service location for a service
US201113154299 2011-06-06
PCT/US2012/040624 WO2012170310A2 (en) 2011-06-06 2012-06-02 Recovery service location for a service

Publications (1)

Publication Number Publication Date
ES2566947T3 true ES2566947T3 (es) 2016-04-18

Family

ID=47262639

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12796251.2T Active ES2566947T3 (es) 2011-06-06 2012-06-02 Localización de servicio de recuperación para un servicio

Country Status (7)

Country Link
US (1) US8938638B2 (es)
EP (1) EP2718816B1 (es)
CN (1) CN103608781A (es)
AR (1) AR086225A1 (es)
ES (1) ES2566947T3 (es)
TW (1) TWI561099B (es)
WO (1) WO2012170310A2 (es)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
JP5948933B2 (ja) * 2012-02-17 2016-07-06 日本電気株式会社 ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム
US10346369B2 (en) * 2012-10-11 2019-07-09 Delphix Corp. Retrieving point-in-time copies of a source database for creating virtual databases
US9424056B1 (en) * 2013-06-28 2016-08-23 Emc Corporation Cross site recovery of a VM
CN105900073B (zh) 2013-08-29 2020-04-10 慧与发展有限责任合伙企业 用于维护事务日志的系统、计算机可读介质和方法
US9158633B2 (en) * 2013-12-24 2015-10-13 International Business Machines Corporation File corruption recovery in concurrent data protection
US9846618B2 (en) 2013-12-27 2017-12-19 Oracle International Corporation System and method for supporting flow control in a distributed data grid
JP6273916B2 (ja) * 2014-03-10 2018-02-07 富士通株式会社 冗長処理方法、冗長処理システム及び情報処理装置
US10348837B2 (en) 2014-12-16 2019-07-09 Citrix Systems, Inc. Methods and systems for connecting devices to applications and desktops that are receiving maintenance
US10320892B2 (en) 2015-01-02 2019-06-11 Microsoft Technology Licensing, Llc Rolling capacity upgrade control
US20160210306A1 (en) 2015-01-15 2016-07-21 Commvault Systems, Inc. Managing structured data in a data storage system
US10108687B2 (en) 2015-01-21 2018-10-23 Commvault Systems, Inc. Database protection using block-level mapping
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
US10165040B2 (en) 2015-06-05 2018-12-25 Apple Inc. Small disk support for large cloud-based storage systems
CN107426265A (zh) * 2016-03-11 2017-12-01 阿里巴巴集团控股有限公司 数据一致性同步的方法及设备
CN106227621B (zh) * 2016-07-25 2019-03-01 北京飞杰信息技术有限公司 基于逻辑卷管理精简卷的数据备份方法及系统
US10387275B2 (en) * 2016-07-26 2019-08-20 Hewlett Packard Enterprise Development Lp Resume host access based on transaction logs
US10917469B2 (en) * 2017-03-22 2021-02-09 Western Digital Technologies, Inc. Read performance enhancement by enabling read from secondary in highly available cluster setup
US11226876B2 (en) * 2018-06-21 2022-01-18 Sap Se Non-blocking backup in a log replay node for tertiary initialization
US10884845B2 (en) 2018-11-08 2021-01-05 International Business Machines Corporation Increasing processing capacity of processor cores during initial program load processing
US10884818B2 (en) 2018-11-08 2021-01-05 International Business Machines Corporation Increasing processing capacity of virtual machines
US10944581B2 (en) 2018-11-08 2021-03-09 International Business Machines Corporation Increasing processing capacity of processor cores during initial program load processing
US11068351B2 (en) * 2018-11-19 2021-07-20 International Business Machines Corporation Data consistency when switching from primary to backup data storage
US11269732B2 (en) * 2019-03-12 2022-03-08 Commvault Systems, Inc. Managing structured data in a data storage system
US11327767B2 (en) * 2019-04-05 2022-05-10 International Business Machines Corporation Increasing resources for partition to compensate for input/output (I/O) recovery event
US11216446B2 (en) * 2019-08-29 2022-01-04 Snowflake Inc. Identifying software regressions based on query retry attempts in a database environment
CN114003439B (zh) * 2021-12-30 2022-05-24 深圳市科力锐科技有限公司 数据备份方法、装置、设备及存储介质
US11757960B1 (en) * 2022-02-23 2023-09-12 Iheartmedia Management Services, Inc. Disaster recovery in media broadcast system
US20240020207A1 (en) * 2022-07-12 2024-01-18 Dell Products L.P. Intelligent destination target selection for remote backups with awareness of temporary backup target for data restores

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US6629110B2 (en) * 2000-01-10 2003-09-30 Connected Corporation Administration of a differential backup system in a client-server environment
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US7512673B2 (en) * 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
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
US7065041B2 (en) 2001-12-14 2006-06-20 Siemens Communications, Inc. Method for resilient call setup through ATM networks for Softswitch applications
US20040153709A1 (en) * 2002-07-03 2004-08-05 Burton-Krahn Noel Morgen Method and apparatus for providing transparent fault tolerance within an application server environment
US6947940B2 (en) * 2002-07-30 2005-09-20 International Business Machines Corporation Uniform name space referrals with location independence
CA2497825A1 (en) 2002-09-10 2004-03-25 Exagrid Systems, Inc. Method and apparatus for server share migration and server recovery using hierarchical storage management
WO2004053696A1 (ja) * 2002-12-11 2004-06-24 Fujitsu Limited バックアップシステム,バックアップ制御装置,バックアップデータ管理方法,バックアップ制御プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
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
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US7490103B2 (en) 2004-02-04 2009-02-10 Netapp, Inc. Method and system for backing up data
US7185026B2 (en) * 2004-04-15 2007-02-27 International Business Machines Corporation Method for synchronizing read/unread data during LOTUS NOTES database migration
US7363365B2 (en) * 2004-07-13 2008-04-22 Teneros Inc. Autonomous service backup and migration
AU2005272779B2 (en) * 2004-08-13 2010-06-10 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US20060129562A1 (en) 2004-10-04 2006-06-15 Chandrasekhar Pulamarasetti System and method for management of recovery point objectives of business continuity/disaster recovery IT solutions
US7483929B2 (en) * 2005-02-08 2009-01-27 Pro Softnet Corporation Systems and methods for storing, backing up and recovering computer data files
CA2559137C (en) * 2005-09-12 2020-08-25 Acuity Brands, Inc. Owner/operator control of a light management system using networked intelligent luminaire managers
US20070162516A1 (en) * 2005-12-30 2007-07-12 Microsoft Corporation Computing asynchronous transaction log replication progress based on file change notifications
US9268659B2 (en) * 2006-01-05 2016-02-23 Emc Corporation Detecting failover in a database mirroring environment
US7734951B1 (en) * 2006-03-20 2010-06-08 Netapp, Inc. System and method for data protection management in a logical namespace of a storage system environment
US7613742B2 (en) * 2006-05-02 2009-11-03 Mypoints.Com Inc. System and method for providing three-way failover for a transactional database
US7877628B2 (en) * 2006-06-08 2011-01-25 International Business Machines Corporation Mirroring data between primary and secondary sites
US8225129B2 (en) 2007-04-10 2012-07-17 International Business Machines Corporation Methods and apparatus for effective on-line backup selection for failure recovery in distributed stream processing systems
US7861111B2 (en) 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
US7830784B2 (en) 2007-06-29 2010-11-09 Verizon Patent And Licensing Inc. Intelligent network restoration
US8375440B2 (en) * 2007-10-15 2013-02-12 Microsoft Corporation Secure bait and switch resume
CN101183979B (zh) * 2007-11-27 2010-08-18 上海华为技术有限公司 一种配置备份的方法和装置
US8700574B2 (en) * 2008-03-21 2014-04-15 Omnitracs, Llc Pourover journaling
US8103842B2 (en) 2008-11-17 2012-01-24 Hitachi, Ltd Data backup system and method for virtual infrastructure
US20100228819A1 (en) 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US8612439B2 (en) 2009-06-30 2013-12-17 Commvault Systems, Inc. Performing data storage operations in a cloud storage environment, including searching, encryption and indexing
US9141489B2 (en) * 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8145945B2 (en) * 2010-01-04 2012-03-27 Avaya Inc. Packet mirroring between primary and secondary virtualized software images for improved system failover performance

Also Published As

Publication number Publication date
TWI561099B (en) 2016-12-01
WO2012170310A3 (en) 2013-04-25
US8938638B2 (en) 2015-01-20
WO2012170310A2 (en) 2012-12-13
AR086225A1 (es) 2013-11-27
EP2718816B1 (en) 2016-03-09
EP2718816A4 (en) 2015-04-22
TW201306632A (zh) 2013-02-01
EP2718816A2 (en) 2014-04-16
US20120311376A1 (en) 2012-12-06
CN103608781A (zh) 2014-02-26

Similar Documents

Publication Publication Date Title
ES2566947T3 (es) Localización de servicio de recuperación para un servicio
US11720456B2 (en) Automatic configuration of a recovery service
US11966307B2 (en) Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event
JP6050342B2 (ja) リカバリーサイトにおけるレプリカされた仮想ストレージの管理
US11709743B2 (en) Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US9442813B2 (en) Replaying jobs at a secondary location of a service
US9992155B2 (en) DNS alias synchronization in replication topology
US20240168673A1 (en) Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity
US7702947B2 (en) System and method for enabling site failover in an application server environment
US8266474B2 (en) Fast cluster failure detection
US11934670B2 (en) Performing various operations at the granularity of a consistency group within a cross-site storage solution
CN103930879A (zh) 投影存储网关
WO2014076838A1 (ja) 仮想マシン同期システム
JP2015506112A (ja) 一時的障害中における第2場所へのリクエストのリダイレクト
US20200341861A1 (en) Method, device, and computer-readable storage medium for managing storage system
Robinson et al. Using Amazon web services for disaster recovery
JP2005182251A (ja) バックアップシステム及び方法並びにプログラム
Ward NoSQL database in the cloud: MongoDB on AWS
Chakraborty et al. Disaster Recovery: Background
Robinson et al. Archive d
Bottomley Clusters and high availability