MX2007000075A - Metodo de mejorar el funcionamiento de servidor de replica y un sistema de servidor de replica. - Google Patents

Metodo de mejorar el funcionamiento de servidor de replica y un sistema de servidor de replica.

Info

Publication number
MX2007000075A
MX2007000075A MX2007000075A MX2007000075A MX2007000075A MX 2007000075 A MX2007000075 A MX 2007000075A MX 2007000075 A MX2007000075 A MX 2007000075A MX 2007000075 A MX2007000075 A MX 2007000075A MX 2007000075 A MX2007000075 A MX 2007000075A
Authority
MX
Mexico
Prior art keywords
replica
primary
input data
data
replication
Prior art date
Application number
MX2007000075A
Other languages
English (en)
Inventor
Thomas Green
Original Assignee
Omx Technology Ab
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 Omx Technology Ab filed Critical Omx Technology Ab
Publication of MX2007000075A publication Critical patent/MX2007000075A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Luminescent Compositions (AREA)
  • Gyroscopes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Se describe un metodo para mejorar el funcionamiento de servidor de replica en un sistema servidor de replica. El metodo comprende los pasos de: transferir dato de entrada de una replica primaria a una replica secundaria al recibir el mismo; almacenar el dato de entrada en la replica primaria; procesar el dato de entrada en la replica primaria despues de almacenar el dato de entrada, creando de esta manera dato de salida original; enviar dato de confirmacion de la replica secundaria a la replica primaria al recibir el dato de entrada; y enviar fuera el dato de salida original de la replica primaria al recibir el dato de confirmacion de la replica secundaria. El sistema servidor de replica para, entre otros, realizar el metodo tambien se incluye.

Description

MÉTODO DE MEJORAR EL FUNCIONAMIENTO DE • SERVIDOR DE REPLICA Y UN SISTEMA DE SERVIDOR DE RÉPLICA CAMPO DE LA INVENCIÓN La presenté invención se relaciona con sistemas servidores de réplica. ANTECEDENTES DE LA INVENCIÓN La operación segura de fallas de sistemas de tecnología de información es de importancia fundamental para actividades de la sociedad más moderna. Debido a esto hay muchos sistemas precautorios que se hacen para manejar situaciones de falla. Estos sistemas podrían comprender protección de información a través de sistemas de respaldo de memoria así como protección de funcionalidad de sistema completa. La última podría comprender sistemas completamente de espejo o redundantes, en donde todas las acciones se ejecutan en componentes de sistema primario y secundario (computadora, procesador, servidor, etc.). Uno de dichos sistemas a prueba de fallas se describe en la Patente de EUA 6,526,487, en donde los contenidos de memoria están sincronizados. Un sistema de computadora primario incluye una memoria y una memoria intermedia de retraso que recibe solicitudes escritas de datos para ser almacenados en la memoria. El contenido de la memoria intermedia de retraso se transfiere a un sistema de computadora de respaldo. Cuando la transferencia está completa, el sistema de computadora de respaldo acusa recibo de que el dato ha sido recibido, después de lo cual el sistema de computadora primario prosigue ejecutando la solicitud por escrito. Por la presente, los dos sistemas están sincronizados en todo momento y cualesquiera fallas que ocurren antes de que el acuse de recibo se reciba resultarán en que la solicitud por escrito no se está ejecutando. En el campo financiero, v.gr., sistemas de intercambio electrónicos por acciones, bonos, derivados, etc., se usan servidores en memoria de alta velocidad a prueba de fallas. Estos sistemas también se denominan como sistemas servidores de réplica. Similar al sistema arriba descrito, un sistema servidor de réplica comprende una réplica primaria y una réplica secundaria, ambas siendo idénticas en el mismo estado. En caso de que la réplica primaria falle, la réplica secundaria asumirá inmediatamente. Desde luego, el sistema puede contener varias réplicas secundarias para mejorar la seguridad. Durante la falla de la réplica primaria, una de las réplicas secundarias se convertirá entonces en una nueva réplica primaria, mientras que las otras permanecen como réplicas secundarias. Un problema pronunciado con sistemas servidores de réplica y otros sistemas similares es los tiempos de retraso. En un servidor de réplica la réplica primaria recibe un dato de entrada, almacena éste a una memoria intermedia (normalmente en una interfaz 1/0) , lo escribe en una memoria persistente, v.gr., un disco (inundando la memoria intermedia) , transfiere el dato de entrada a la réplica secundaria (o réplicas), espera que la réplica secundaria almacene el dato de entrada en una memoria intermedia, escribe el dato de entrada en su propia memoria persistente (disco) y reconoce el recibo del dato de entrada, después de lo cual la réplica primaria puede procesar el dato de entrada y dar salida al dato procesado (a través de la interfaz 1/0, almacenando también de esta manera el dato de salida en la memoria intermedia) . En particular escribir a un disco (o cualquier memoria persistente que se use) normalmente consume mucho tiempo para un sistema que se supone es capaz de manejar miles (o más) transacciones o eventos paralelos. Básicamente, escribir toma 5.8 m (tiempo de actividad) para una impulsión de disco normal (15,000 rpm y un tiempo de búsqueda de 3.8 ms) . También hay ciertos sistemas disponibles (tales como los sistemas RAID y SAN, así como discos RAM) que tienen funcionamiento de escritura mejorada - estos sistemas sin embargo son muy costosos. Otro problema con sistemas servidores de réplica es la capacidad, es decir, el número de eventos o transacciones que son posibles de realizar cada unidad de tiempo. En sistemas de servidor de réplica que manejas transacciones financieras (v.gr., intercambio electrónico) la actividad se hace cada nuevo dato de entrada registrado en ambas la réplica primaria y la réplica secundaria. En vista del tiempo de actividad arriba anotado de 5.8 ms para cada evento, el límite para el sistema será alrededor de 170 transacciones por segundo (TPS) . A fin de mejorar este régimen, los intercambios electrónicos de la actualidad pueden necesitar usar los sistemas costosos para mejorar funcionamiento de escritura. Estas inversiones, sin embargo, requiere alta liquidez en el intercambio (número elevado de transacciones) a fin de pagar. La réplica secundaria también procesa el dato de entrada para crear resultados de salida de duplicado o réplica. Cuando la réplica primaria y la réplica secundaria están colocadas a distancias grandes, aún diferentes continentes, la latencia de la red también es notoria. Aquí, sin embargo, el estado de los sistemas del ramo puede proporcionar tiempos de latencia regularmente bajos aún para comunicación transcontinental. Por ejemplo, es posible obtener 100 MB de banda ancha entre New York y Chicago. Esto lleva una latencia de red de 1 ms o menos, que es una gran mejora en comparación con comunicaciones por teléfono o satélite que pueden llevar tiempos de viaje redondo de 60-500 ms. Junto con el tiempo de escritura de actividad, el tiempo de retraso total de esta manera puede ser significativo. La razón de este procedimiento en sistemas financieros, desde luego, es ser tan a prueba de falla como sea posible. Pero aún así, existen otros problemas que podrían todavía ocasionar efectos vitales para operabilidad no interrumpida del sistema. La vulnerabilidad a errores sistemáticos siempre está presente y, por ejemplo, podría ser ocasionada por errores lógicos tales como división con cero. Estos errores en realidad podrían ocasionar que todas las réplicas fallen, puesto que no es sino hasta después del conocimiento que dicho error se hace evidente. Puesto que toda la información está escrita en disco (memoria persistente) antes de procesarla, sin embargo, los sistemas conocidos se pueden restaurar y reasumir su operación (después de saltar el evento que ocasiona el choque) . Dicha restauración, desde luego, lleva tiempo y entre tanto todas las actividades (en caso de un intercambio eléctrico todo manejando en la instalación financiera) se cierran. De esta manera existe la necesidad de un sistema de servidor de réplica más rápido y aún más confiable.
Especialmente un sistema que pueda operar en modo a prueba de fallas mientras que opera números grandes de transacciones paralelas. BREVE COMPENDIO DE LA INVENCIÓN De conformidad con la invención, se proporciona un método y sistema para mejorar el funcionamiento de sistema de servidor de réplica. En una modalidad del método, el dato de entrada recibido por una réplica primaria se transfiere inmediatamente a una réplica secundaria. Una vez que la réplica secundaria ha recibido el dato de entrada, reconoce esto regresando dato de confirmación. Simultáneamente la réplica primaria almacena el dato de entrada a la memoria intermedia y procesa el mismo sin retraso para crear dato de salida. Cuando se recibe el dato de confirmación, el dato de salida se envía fuera de la réplica primaria. Notablemente, con este método no hay necesidad de inundar la memoria intermedia para cada evento para mantener la seguridad del sistema completo, evitando de esta manera el tiempo de escritura que consume tiempo. El tiempo de memoria intermedia y procesamiento normalmente no aumentará el tiempo total de entrada a salida puesto que la latencia de red (transferencia de dato de entrada a la réplica secundaria y transferencia de dato de confirmación a la réplica primaria) luego es normalmente más prolongado.
En una red lenta puede ser todavía posible escribir dato al disco para cada evento dentro del tiempo de latencia de red sin afectar el tiempo total para un solo evento (entrada a salida) . Sin embargo, saltando la inundación, la capacidad se aumenta inmensamente. Un PC ordinario podría manejar alrededor de 170,000 TPS sin inundación lo que es 1,000 veces más que con inundación. La seguridad todavía se mantiene para el sistema servidor de réplica. Puesto que el dato de salida no se envía sino hasta que se recibe el reconocimiento de la réplica secundaria, no hay necesidad real de mantener un sistema completamente sincronizado de réplica primaria y réplica secundaria. En tanto que no se envíe salida del sistema, la secuencia de entrada es irrelevante. En caso de que la réplica primaria falle, la réplica secundaria proseguirá ininterrumpidamente y procesará el dato de entrada desde la memoria intermedia en tiempo debido y mismo orden que la réplica primaria y producirá el dato de salida . En otra modalidad del método, la réplica secundaria pospondrá el procesamiento del dato de entrada hasta que se recibe un siguiente dato de entrada de la réplica primaria, indicando que la réplica primaria todavía está operando. Esto impide cualesquiera fallas sistemáticas de ser transferidas a la réplica secundaria (o réplicas secundarias cuando se usa más de una) . La seguridad del sistema de esta manera es casi completamente a prueba de falla. En tanto que una réplica secundaria sea operacional, el procesamiento continuará no interrumpido. En caso de que la réplica primaria falle y se sospeche de un error sistemático, la réplica secundaria no procesará el dato de entrada correspondiente, sino que en su lugar lo marcará como una operación sospechosa y regresará una negativa de operar a la fuente (externa) del dato de entrada. Es innecesario decir, esto hace además el uso de inundación innecesario. No hay necesidad de ser capaz de restaurar el sistema de réplica completo desde el dato escrito puesto que ningunos errores sistemáticos proseguirán a la réplica secundaria. En caso de que el número de datos de entrada recibidos exceda los tiempos de procesamiento para la réplica primaria (por ejemplo, le entrada B, C y D llega y se transfieren a la réplica secundaria aún antes de que la entrada A haya sido procesada) hay un riesgo de que la réplica secundaria prosiga e inicie el proceso de le entrada A antes de que la réplica primaria haya terminado el procesamiento de la entrada A. Esta situación se puede contrarrestar o prevenir de un número de formas. Una forma sería rechazar el nuevo dato de entrada (es decir, entrada B, C, D, etc.), hasta que la entrada A haya sido procesada. La desventaja de esto es desde luego la limitación en número de transacciones que se pueden realizar. Otra forma sería esperar con el procesamiento de la entrada A en la réplica secundaria hasta 5 o cualquier otro número razonable de datos de entrada haya llegado, el número de entradas siendo seleccionado de manera que se asegure que la réplica primaria ha tenido tiempo de procesar la entrada A. Una desventaja evidente de esta forma es desde luego que la réplica secundaria debe siempre retrasarse atrás un número de operaciones, aún cuando no hay nuevo dato de entrada y la réplica primaria sea operacional. Una alternativa tercera y preferible es enviar dato de información de la réplica primaria indicando cual dato de entrada se están procesando actualmente (o cual fue el último procesado) . De esta manera, el procesamiento en la réplica secundaria se puede posponer hasta que el dato de información indica que la entrada A no ocasionó una falla en la réplica primaria. Un beneficio principal de la tercera alternativa es que la primaria puede enviar dato de información indicando su funcionalidad aún cuando ningún nuevo dato de entrada haya llegado durante un cierto período de tiempo (v.gr., 0.1 seg.). La réplica primaria y la réplica secundaria, por lo tanto, de vez en cuando, (dependiendo del número y frecuencia de dato de entrada) estarán completamente sincronizadas. Puede ser necesario limitar el número de datos de entrada que está en fila para transferencia a la réplica secundaria, puesto que las sobrecargas del sistema servidor de réplica deben evitarse. En tal caso, la réplica primaria tendrá que rechazar cualquier dato de entrada cuando el límite de fila se ha alcanzado. En una modalidad de un sistema servidor de réplica de conformidad con la invención, una réplica primaria incluye una entrada primaria, una salida primaria, un almacenamiento primario, y un procesador primario y una réplica secundaria incluye una entrada secundaria, una salida secundaria, un almacenamiento secundario y un procesador secundario, mediante lo cual la réplica primaria está configurada para transferir datos de entrada recibidos a la réplica secundaria, almacenar el dato de entrada, procesar el dato de entrada para crear dato de salida original y enviar fuera el dato de salida original a través de la salida primaria después de recibir dato de confirmación de que el dato de entrada ha sido recibido por la réplica secundaria, y la réplica secundaria estando configurada para generar el dato de confirmación después de recibir el dato de entrada. La réplica secundaria está configurada además para almacenar el dato de entrada en el almacenamiento secundario y procesar el dato de entrada en el procesador secundario para crear dato de salida de réplica. Se puede anotar aquí que en la presente solicitud se hace una clara distinción entre "almacenar" y "escribir", -en donde la primera indica enviar a memoria intermedia normal en una interfaz de I/O o almacenamiento correspondiente y la última indica inundar o transferencia de dato que consume tiempo similar a una memoria persistente. El dato almacenado en la memoria intermedia o almacenamiento se puede escribir a una memoria a intervalos de tiempo más prolongados (cuando la memoria intermedia o almacenamiento se llena) , pero esto no impedirá las mejoras totales para el sistema servidor de réplica de conformidad con la invención en comparación con sistemas servidores de réplica conocidos. Ventajosamente, la réplica secundaria está configurada además para posponer el procesamiento del dato de entrada en el procesador secundario hasta que cuando menos un siguiente dato de entrada se ha recibido. Los errores sistemáticos de esta manera se evitan. Como se mencionó arriba con relación al método, la réplica secundaria puede esperar 5 o más siguientes datos de entrada antes de procesar el dato de entrada. En la alternativa, el sistema servidor de réplica también puede posponer el procesamiento en la réplica secundaria hasta que el dato de información de la réplica primaria indica que el dato de entrada se ha procesado satisfactoriamente. En otra modalidad del sistema servidor de réplica de conformidad con la invención, el sistema servidor de réplica comprende medios de réplica primarios, medios de réplica secundarios, medios para comunicar internamente entre los medios de réplica primarios y los medios de réplica secundarios y externamente entre los medios de réplica primarios y fuentes externas, los medios para comunicar estando configurados para transferir dato de entrada recibido por los medios de réplica primarios a los medios de réplica secundarios, medios para almacenar el dato de entrada en los medios de réplica primarios, medios para procesar el dato de entrada en los medios de réplica primarios, creando de esta manera dato de salida original, medios para generar dato de confirmación en los medios de réplica secundarios después de recibir el dato de entrada y transferir el dato de confirmación a los medios de réplica primarios a través de los medios para comunicación, medios para dar salida al dato original a través de los medios para comunicación cuando el dato de salida original se ha creado y el dato de confirmación se ha recibido por los medios de réplica primarios. Los medios de réplica secundarios pueden comprender además medios para almacenar el dato de entrada en los medios de réplica secundarios y medios para procesar el dato de entrada en los medios de réplica secundarios, creando de esta manera dato de salida de réplica. En una modalidad preferida, el medio de réplica secundario comprende medios para inhibir al medio para almacenar el dato en el medio de réplica secundario y el medio para procesar el dato de entrada en el medio de réplica secundario hasta que cuando menos un siguiente dato de entrada es recibido del medio de réplica primario a través del medio para comunicación. También para esta modalidad de la invención, el medio de réplica primario puede generar dato de información indicando su estado de proceso y el procesamiento en el medio de réplica secundario se pospone hasta que el dato de información indica que el dato de entrada se ha procesado satisfactoriamente . BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es un dibujo esquemático de un sistema servidor de réplica de primera modalidad mostrado en un ambiente de operación para la invención; La Figura 2A muestra en una línea de evento esquemática un ciclo de evento para un estado del sistema servidor de réplica del ramo; La Figura 2B muestra en una línea de evento esquemática un ciclo de evento para un sistema servidor de réplica de conformidad con la invención; y La Figura 3 es un dibujo esquemático de un sistema servidor de réplica de segunda modalidad mostrado en un ambiente de operación para la invención. DESCRIPCIÓN DETALLADA DE LAS MODALIDADES PREFERIDAS La Figura 1 ilustra generalmente un sistema 100 servidor de réplica de conformidad con la invención. El sistema 100 servidor de réplica comprende una réplica 101 primaria que tiene entre otros un almacenamiento 102 primario para almacenar información y un procesador 103 primario para procesamiento de dato. El almacenamiento 102 primario es de preferencia un almacenamiento de memoria intermedia de clase conocida, pero también podría incluir una memoria de disco duro, un disco CD o DVD en que se puede escribir o cualquier otra capacidad de memoria persistente conocida para datos. A diferencia de los sistemas de réplica del ramo anterior, sin embargo, el sistema 100 servidor de réplica normalmente no se inundará después de cada evento para escribir dato en el disco (aún cuando este puede todavía incluirse - sino que reduciría la mayoría de los efectos positivos de la invención puesto que la inundación normalmente es el paso más limitante de capacidad en el proceso) . La inundación normal cuando la memoria intermedia está llena, desde luego, puede ocurrir (y lo hará) para obtener un registro de transacciones realizadas. El procesador 103 primario podría ser cualquier procesador central del estado del ramo o combinación de procesadores usados en computadoras, servidores, etc. Además, el sistema 100 servidor de réplica comprende una primera réplica 104 secundaria y una segunda réplica 107 secundaria. Básicamente, el sistema 100 servidor de réplica podría comprender cualquier número de réplicas secundarias apropiado para las aplicaciones del sistema. La primera réplica 104 secundaria incluye entre otros un primer almacenamiento 105 secundario y un primer procesador 106 secundario, y la segunda réplica 107 secundaria incluye entre otros un segundo almacenamiento 105 secundario y un segundo procesador 106 secundario, todos los cuales podrían tener el mismo tipo de componentes usados para la réplica 101 primaria. En el sentido de hardware, la réplica 101 primaria y dos réplicas 104, 107 secundarias pueden ser (y de preferencia son) idénticas. La réplica 101 primaria y las réplicas 104, 107 secundarias se comunican internamente a través de una unidad 110 de comunicación y enlace 111 de comunicación. La unidad 110 de comunicación también proporciona comunicación con fuentes 113 externas a través de una red 112 de comunicación. La red 112 de comunicación podría usar diferentes canales de comunicaciones para diferentes fuentes 113 externas, v.gr., a través de Ethernet LAN, teléfono, satélite, etc. Las fuentes 113 externas podrían comprender terminales, computadoras, intercambios electrónicos o cualquier otro dispositivo desde el que el dato que se va a procesar por el sistema 100 servidor de réplica se pueda originar. Las fuentes 113 externas también reciben dato de salida del sistema 100 servidor de réplica. En uso el dato de entrada recibido de las fuentes 113 externas se guía a la réplica 101 primaria a través de la unidad 110 de comunicación y enlace 111 de comunicación. El dato de entrada luego se envía de la réplica 101 primaria a las réplicas 104, 107 secundarias a través de la unidad 110 de comunicación y el enlace 111 de comunicación. De preferencia, el dato de entrada es enviado inmediatamente de la réplica 101 primaria al recibirlo. Similar a la red 112 de comunicación, el enlace 111 de comunicación puede comprender varias clases diferentes de componentes cableados o inalámbricos, principalmente dependiendo de la ubicación de las réplicas 104, 107 secundarias. Por ejemplo, la primera réplica 104 secundaria puede estar colocada en la cercanía de la réplica 101 primaria y usar una conexión de banda amplia, mientras que la segunda réplica 107 secundaria puede estar colocada lejos y enlazada a la réplica 101 primaria a través de satélite. Cuando las réplicas 104, 107 secundarias reciben el dato de entrada, generarán dato de confirmación (conocimiento) que han recibido el dato de entrada y envían el dato de confirmación a la réplica 101 primaria. De preferencia, el conocimiento se hace inmediatamente al recibir el dato de entrada. Entre tanto, los datos de entrada se guardan en el almacenamiento 102 primario y se procesan en el procesador 103 primario en la réplica 101 primaria. Por la presente, el dato de salida original se crea. Sin embargo, este dato de salida no se envía de la réplica 101 primaria sino hasta que recibe el dato de confirmación indicando que el dato de entrada se ha recibido por las réplicas 104, 107 secundarias. Cuando esto ocurre, el dato de salida original se envía a las fuentes 113 externas a través de la unidad 110 de comunicación. Es suficiente para la seguridad del sistema 100 servidor de réplica permitir que la réplica 101 primaria espere el primer conocimiento de una de las réplicas 104, 107 secundarias. Esto puede reducir esencialmente la latencia; cf., el ejemplo anterior con la primera réplica 104 secundaria colocada cerca y conectada a través de un enlace de comunicación de banda ancha rápido (v.gr., Ethernet LAN 100MB) y la segunda réplica 107 secundaria colocada lejos y/o conectada a través de un enlace de comunicación (satélite) . Notablemente, esto reducirá la latencia para eventos individuales o transacciones, es decir, expansión de tiempo de entrada hasta la salida, no el número de transacciones operables por unidad de tiempo. Una vez que la réplica 101 primaria ha enviado el dato de entrada, está lista para recibir nuevo dato de entrada (siguiente dato de entrada) . En línea con lo que ya se describió, una vez que el siguiente dato de entrada es recibido por la réplica 101 primaria, envía el siguiente dato de entrada a las réplicas 104, 107 secundarias y luego prosigue almacenando y procesando este siguiente dato de entrada. Esta forma de operar el sistema 100 de réplica servidor significa que las réplicas 104, 1076 secundarias no estarán normalmente sincronizadas con la réplica primaria. De hecho, la réplica 101 primaria podría estar cientos o miles de eventos adelante de las réplicas 104, 107 secundarias. Esto no ocasiona ningunos problemas con respecto a operación a prueba de falla. La réplica 101 primaria solamente envía dato de salida (original) después de recibir el dato de confirmador de cuando menos una de las réplicas 104, 107 secundarias. De esta manera, una falla en la réplica 101 primaria solamente ocasionará un ligero retraso ya que una de las réplicas 104, 107 secundarias está nombrada como una nueva réplica primaria y se pone al corriente en los eventos todavía no recibidos por la misma. El dato de entrada que las réplicas 104, 107 secundarias ha recibido a través de la réplica 101 primaria se garantiza que sean procesadas en el mismo orden por todas las réplicas (101, 104, 107) . Sin embargo, el último número de dato de entrada recibido por la réplica 101 primaria puede no tener que haber sido transferida a las réplicas 104, 107 secundarias cuando la réplica 101 primaria falla. En tal caso, las fuentes 113 externas pueden enviar nuevamente el dato de entrada a la nueva réplica primaria (una de las réplicas 104, 107 secundarias) . Puesto que hay muchas fuentes 113 externas, el orden del dato de entrada perdido por la réplica 101 primaria puede no ser recibido en el mismo orden por la nueva réplica primaria (104, 107). Esto no importa puesto que ninguna salida fue enviada por la réplica 101 primaria basado en esos datos de entrada perdidos. En ciertos casos cuando las réplicas 104, 107 secundarias reciben el siguiente dato de entrada, se puede asegurar que la réplica 101 primaria no ha cesado de operar debido a cualesquiera errores sistemáticos tales como errores lógicos. Las réplicas 104, 107 secundarias pueden proseguir mediante almacenamiento del dato de entrada en almacenamientos 105, 108 secundarios respectivos y procesar el dato de entrada en el procesador 106, 109 secundario respectivo. Sin embargo, pueden ocurrir situaciones en donde este procedimiento no es apropiado debido a que la réplica 101 primaria recibe y transfiere un número de datos de entrada, v.gr., entrada B, entrada C y entrada D antes de procesar la entrada A. En tal caso, las réplicas 104, 107 secundarias no se pueden dejar procesar la entrada A solamente debido a que reciben la entrada B, puesto que la entrada A todavía puede ocasionar un error sistemático en la réplica 101 primaria. Una forma de resolver esto sería retrasar la transferencia de la entrada B de la réplica 101 primaria hasta que la entrada A se ha procesado satisfactoriamente. Esto, sin embargo, impediría sobre el funcionamiento del sistema y no es preferible. Una alternativa más factible es esperar un número específico de datos de entrada hasta que el procesamiento ocurre en las réplicas 104, 107 secundarias. Por ejemplo, la entrada A no se procesa sino hasta que la entrada E es recibida por las réplicas 104, 107 secundarias. Seleccionando un número razonable de entradas, seleccionadas con relación a tiempo de procesamiento normal, frecuencia de datos de entrada promedio etc., la funcionalidad se puede asegurar. Una posible desventaja de esto es que puede no ser posible detectar cual entrada (v.gr., entrada B o entrada C) que ocasionó una falla específica en la réplica 101 primaria. De esta manera, varios datos de entrada deben ser rechazados a fin de asegurar la funcionalidad de la réplica secundaria que asume el papel de una nueva réplica primaria. Una solución más preferible es hacer que la réplica 101 primaria cree dato de información acerca de su estado de' procesamiento y transfiera este a las réplicas 104, 107 secundarias. Cuando se transfiere la entrad Ab, entrada C, etc., a las réplicas 104, 107 secundarias la réplica 101 primaria añade información de que, v.gr., procesa la entrada A. Una vez que la réplica 101 primaria empieza informando que procesa la entrada B, las réplicas 104, 107 secundarias pueden iniciar el procesamiento de la entrada A. No debe haber dato de entrada en fila para que la réplica 101 primaria procese, todavía puede enviar dato de información a las réplicas 104, 107 secundarias indicando que es operacional (latido) . Esto es necesario en esa situación particular permite que las réplicas 104, 107 secundarias para procesar el último dato de entrada recibido (sabiendo que no ocasionó ninguna falla en la réplica 101 primaria) . De esta manera, la réplica 101 primaria y las réplicas 104, 107 secundarias en ciertos momentos pueden estar en el mismo estado (es decir totalmente sincronizadas) . También permite al sistema 100 de réplica de servidor mantener constantemente una alerta con respecto a la capacidad de operación general. No debe haber ningún dato de información de la réplica 101 primaria durante una cierta expansión de tiempo, se supone que ha fallado y una de las réplicas 104, 107 secundarias se nombrará como una nueva réplica primaria y recibirá todos los datos de entrada de las fuentes 113 externas. También es posible incluir medidas de seguridad adicionales para asegurar que la réplica 101 primaria y las réplicas 104, 107 secundarias operan satisfactoriamente. Retrasando el conocimiento de las réplicas 104, 107 secundarias hasta que estas han procesado el dato de entrada (que hacen al recibir el siguiente dato de entrada o el dato de información apropiado) , se puede hacer una comparación del resultado obtenido (dato de salida original y réplica) por las tres réplicas 101, 104, 107. Si todas las tres han llegado al mismo resultado, todo está bien. Si una tiene un resultado que difiere de las otras dos, esa réplica se detiene (aún cuando sea la réplica 101 primaria) . En caso de que todas las tres réplicas 101, 104, 107 proporcione resultados diferentes, se supone que todas están en falla y el sistema 100 servidor de réplica completo se debe detener y controlar. Esto corresponde a un método de detección de falla conocido también conocido como tolerancia de falla bizantina. En las Figuras 2A y 2B los efectos de ahorro de tiempo de la invención se harán más evidentes. Empezando con la Figura 2A, que muestra los pasos de operación básicos, de un sistema servidor de réplica del estado del ramo. El dato de entrada llega como se indica con la línea 200 a una réplica primaria (representada por la línea 201 de evento) . El dato de entrada se almacena en disco, un procedimiento que toma un cierto tiempo de escritura de disco, representado por la designación Wl. Después de esto, el dato de entrada se transfiere a una réplica secundaria (representado por la línea 202 de evento) . Este proceso toma tiempo, dependiendo en donde está situada la secundaria y se representa como tiempo NI de latencia de red. Nuevamente, el dato de entrada se escribe al disco, acomunado un segundo tiempo de escritura de disco, W2, al tiempo total. Una vez que el dato de entrada también se escribe en la réplica secundaria, se regresa el conocimiento (confirmación) a la réplica primaria. Una segunda latencia de red, N2, se añade al tiempo total para el procedimiento. Finalmente, la réplica primaria puede procesar el dato de entrada, que requiere un tiempo Pl de proceso y salida el resultado como se indica con el número de designación 203. Se debe observar que las líneas 201, 202 de evento no son representativas como indicadores lineales de tiempo real. El tiempo de escritura Wl, W2 es normalmente más prolongado extensamente que el tiempo Pl de proceso, por ejemplo. Las Figuras 2A y 2B se pretende que ilustren los efectos y beneficios de la invención y no un programa de tiempo real de las operaciones de sistemas de réplica de servidor. Todo en uno, el tiempo Wl de escritura, latencia NI de red, tiempo W2 de escritura, latencia N2 de red y tiempo Pl de proceso totaliza un tiempo acumulado Tl=Wl+Nl+W2+N2+Pa requerido para realizar una operación (transacción) . Asimismo en la Figura 2A, un siguiente dato de entrada se indica en líneas punteadas y con el número 204 de designación. El mismo proceso se repite con el siguiente dato de entrada - todo indicado con líneas punteadas - que termina con el dato de salida como se indica con el número 205. En la Figura 2B un aspecto del ahorro de tiempo obtenido a través de la invención se hace evidente. El dato de entrada se indica en 210 y alcanza la réplica primaria (indicada por la línea 211 de evento) . El dato de entrada se transfiere inmediatamente a la réplica secundaria (indicada por la línea 212 de evento) , que toma un cierto tiempo dependiendo de la ubicación de la réplica secundaria. Aquí, se supone que la colocación es la misma que en la Figura 2A. De esta manera requiere que la latencia NI de red transfiera la información. Tan pronto como la réplica secundaria recibe el dato de entrada, el conocimiento (dato de confirmación) se envía nuevamente a la réplica primaria, ocasionando retraso de tiempo de latencia N2 de red. El dato procesado puede salir en 213, es decir, tan pronto como el dato de entrada se procesa, y la confirmación se recibe de la réplica secundaria. Como se puede ver la latencia NI, N2 de red excede en este caso el tiempo de escritura y tiempo de proceso. De esta manera, el tiempo T2 total gastado en una operación (transacción) en este caso totaliza a T2=N1+N2. Los tiempos de proceso y escritura completos para la operación se ha cortado del tiempo total. En este caso, para el evento individual en realidad no importa al tiempo T2 total si se usa o no una escritura de disco inundado. Sin embargo, no usando una escritura de disco inundado aumentará el número o eventos que se pueden procesar por unidad de tiempo. En otras palabras, el siguiente evento puede llegar mucha más temprano que si se usó una escritura de disco inundado. Asimismo en la Figura 2B, el proceso completo después del siguiente dato 214 de entrada se indica en líneas punteadas, terminando con un siguiente dato 215 de salida. Como es evidente de esto, la escritura y procesamiento del dato de entrada en la réplica secundaria no ocurre sino hasta que el siguiente dato 224 de entrada ha alcanzado la réplica secundaria. Esto indica que la primaria todavía es operativa y no ha fallado debido a un error sistemático (tal como división entre cero) . Como también se menciona en conexión con la Figura 1, la réplica primaria podría enviar dato de información respecto a su estado de procesamiento a la réplica secundaria. En tal caso, el almacenamiento y procesamiento en la réplica secundaria ocurrirá una vez que dicho dato de información indica que el dato de entrada se ha procesado satisfactoriamente. Volviendo ahora a la Figura 3, una segunda modalidad preferida de un sistema 300 servidor de réplica se describe esquemáticamente. El sistema 300 servidor de réplica comprende una réplica 301 primaria y una réplica 302 secundaria. La réplica 301 primaria incluye un módulo 303 de comunicación primario, un almacenamiento 304 primario y un procesador 305 primario. La réplica 302 secundaria asimismo incluye un módulo 306 de comunicación secundario, un almacenamiento 307 secundario y un procesador 308 secundario. Como con la primera modalidad en la Figura 1, cualquier componente conocido que permite la comunicación, almacenamiento y procesamiento se podría utilizar. Asimismo, los diferentes componentes podría ser unidades separadas o integradas en una o más unidades. Otras funcionalidades también se pueden incluir dentro de las réplicas 301, 302. El módulo 303 de comunicación primario y el módulo 306 de comunicación secundario están enlazados (por alambre o inalámbricos) para permitir la comunicación entre la réplica 301 primaria y la réplica 302 secundaria. El módulo 303 de comunicación primaria también puede comunicarse con fuentes externas (no mostradas) a través del enlace 309 de comunicación (con alambre o inalámbrico) . En caso de falla de la réplica 301 primaria, la réplica 302 secundaria se convertirá en una nueva réplica primaria. En tal caso una guía 310 capacitará a la réplica 302 secundaria para comunicarse con las fuentes externas. La función de la guía 310 también podría implementarse (hardware o software) en el módulo 303 de comunicación primario y el módulo 306 de comunicación secundario. Cuando el dato de entrada lleva de una fuente externa a través del enlace 309 de comunicación, la réplica 301 primaria transferirá el dato de entrada a la réplica 302 secundaria y6 luego proseguirá almacenando el dato de entrada en el almacenamiento 304 primario y procesará el dato de entrada en el procesador 305 primario. Una vez que se recibe el reconocimiento o dato de confirmación de la réplica 302 secundaria, el dato procesado puede salir nuevamente a las fuentes externas. Cuando un siguiente dato de entrada es recibido y transferido a la réplica 302 secundaria o cuando el dato de información de la réplica 301 primaria indican que el dato de entrada se ha procesado satisfactoriamente, la réplica secundaria puede almacenar y procesar el dato de entrada. Todas las funcionalidades descritas con relación a la Figura 1 son aplicables para esta modalidad también. También son posibles combinaciones entre las modalidades mostradas. Por ejemplo, la modalidad en la Figura 3 puede incluir más de una réplica secundaria y las réplicas en la Figura 1 pueden todas incluir medios de comunicación para la comunicación interna entre réplicas. Otras modalidades son viables con modificaciones sencillas y directas de las modalidades arriba descritas. Estas también se ven como quedando dentro del alcance de la invención, como se describe por las reivindicaciones que se acompañan.

Claims (12)

  1. REIVINDICACIONES 1.- Método para mejorar funcionamiento "de servidor de réplica en un sistema servidor de réplica que comprende una réplica primaria que está asociada con un almacenamiento primario para almacenar información y un medio de procesamiento primario, y una réplica secundaria que está asociada con un almacenamiento secundario y un medio de procesamiento secundario, que comprende los pasos de: - transferir dato de entrada de la réplica primaria a la réplica secundaria al recibir el mismo; almacenar el dato de entrada en el almacenamiento primario, procesar el dato de entrada en el medio de procesamiento primario después de almacenar el dato de entrada, creando de esta manera dato de salida original, - enviar dato de confirmación de la réplica secundaria a la réplica primaria al recibir el dato de entrada, y - enviar fuera el dato de salida original de la réplica primaria al recibir el dato de confirmación de la réplica secundaria.
  2. 2.- El método de conformidad con la reivindicación 1, en donde el dato de entrada se almacena en el almacenamiento secundario y el dato de entrada se procesa en el medio de procesamiento secundario, creando de esta manera dato de salida de réplica.
  3. 3.- El método de conformidad con la reivindicación 2, en donde el almacenamiento y procesamiento en el medio de procesamiento secundario se pospone cuando menos hasta que se recibe un siguiente dato de entrada de la réplica primaria.
  4. 4.- El método de conformidad con la reivindicación 2, en donde el dato de información relacionado con el procesamiento de dato de entrada se envía de la réplica primaria y el almacenamiento y procesamiento en el medio de procesamiento secundario se pospone hasta que el dato de información indica que el dato de entrada se ha procesado satisfactoriamente por el medio de procesamiento primario.
  5. 5.- Un sistema servidor de réplica que comprende una réplica primaria que tiene una entrada primaria, una salida primaria, un almacenamiento primario y un procesador primario asociados con el mismo que está conectado a una réplica secundaria que tiene una entrada secundaria, una salida secundaria, un almacenamiento secundario y un procesador secundario asociados con la misma, la réplica primaria estando configurada para transferir dato de entrada recibido a la réplica secundaria, almacenar el dato de entrada en el almacenamiento primario, procesar el dato de entrada en el procesador primario para crear dato de salida original y enviar fuera el dato de salida original a través de la salida primaria después de recibir dato de confirmación de la réplica secundaria de que el dato de entrada se ha recibido, y la réplica secundaria estando configurada para generar el dato de confirmación al recibir el dato de entrada en la entrada secundaria.
  6. 6.- El sistema servidor de réplica de conformidad con la reivindicación 5, en donde la réplica secundaria está configurada además para almacenar el dato de entrada en el almacenamiento secundario y procesar el dato de entrada en el procesador secundario para crear dato de salida de réplica al dato de salida original.
  7. 7.- El sistema servidor de réplica de conformidad con la reivindicación 6, en donde la réplica secundaria está configurada además para posponer almacenar el dato de entrada en el almacenamiento secundario y procesar el dato de entrada en el procesador secundario hasta que un siguiente dato de entrada se ha recibido de la réplica primaria.
  8. 8.- El sistema servidor de réplica de conformidad con la reivindicación 6, en donde la réplica primaria está configurada para generar dato de información indicando cual dato de entrada se está procesando y transferir el dato de información a la réplica secundaria y la réplica secundaria estando configurada para posponer el almacenamiento del dato de entrada en el almacenamiento secundario y procesar el dato de entrada en el procesador secundario hasta que ha recibido dato de información indicando que el dato de entrada se ha procesado satisfactoriamente por la réplica primaria.
  9. 9.- Un sistema servidor de réplica que comprende medio de réplica primario, medio de réplica secundario; medio para comunicar internamente entre el medio de réplica primario y el medio de réplica secundario y externamente entre el medio de réplica primario y fuentes externas, el medio para comunicar estando configurado para transferir dato de entrada recibido por el medio de réplica primario al medio de réplica secundario; medio para almacenar el dato de entrada en el medio de réplica primario; medio para procesar el dato de entrada en el medio de réplica primario, creando de esta manera un dato de salida original; medio para generar dato de confirmación en el medio de réplica secundario al recibir el dato de entrada y transferir el dato de confirmación al medio de réplica primario a través del medio para comunicación; y medio para dar salida al dato de salida original a través del medio para comunicar cuando el dato de salida original se ha creado y el dato de confirmación se ha recibido.
  10. 10.- El sistema servidor de réplica de conformidad con la reivindicación 9, en donde el medio de réplica secundario comprende además: medio para almacenar el dato de entrada en el medio de réplica secundario; y medio para procesar el dato de entrada en el medio de réplica secundario, creando de esta manera dato de salida de réplica.
  11. 11.- El sistema servidor de réplica de conformidad con la reivindicación 10, en donde el medio de réplica secundario comprende medios para inhibir al medio para almacenar el dato de entrada en el medio de réplica secundario y al medio para procesar el dato de entrada en el medio de réplica secundario hasta que el siguiente dato de entrada se recibe del medio de réplica primario.
  12. 12.- El sistema servidor de réplica de conformidad con la reivindicación 10, en donde el medio de réplica primario comprende además medio para generar dato de información indicando cual dato de entrada se ha procesado por el medio de réplica primario, el dato de información siendo transferible al medio de réplica secundario a través del medio para comunicar, y el medio de réplica secundario comprende medios para inhibir al medio para almacenar el dato de entrada en el medio de réplica secundario y el medio para procesar el dato de entrada en el medio de réplica secundario hasta que la réplica secundaria ha recibido el dato de información indicando que el medio para procesar el dato de entrada en el medio de réplica primario ha procesado el dato de entrada.
MX2007000075A 2004-07-23 2005-06-30 Metodo de mejorar el funcionamiento de servidor de replica y un sistema de servidor de replica. MX2007000075A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/897,436 US7321906B2 (en) 2004-07-23 2004-07-23 Method of improving replica server performance and a replica server system
PCT/EP2005/053090 WO2006008226A2 (en) 2004-07-23 2005-06-30 Method of improving replica server performance and a replica server system

Publications (1)

Publication Number Publication Date
MX2007000075A true MX2007000075A (es) 2007-03-28

Family

ID=35559426

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007000075A MX2007000075A (es) 2004-07-23 2005-06-30 Metodo de mejorar el funcionamiento de servidor de replica y un sistema de servidor de replica.

Country Status (11)

Country Link
US (1) US7321906B2 (es)
EP (1) EP1771789B1 (es)
KR (1) KR101052121B1 (es)
AT (1) ATE443890T1 (es)
AU (1) AU2005263685C1 (es)
CA (1) CA2572820A1 (es)
DE (1) DE602005016807D1 (es)
MX (1) MX2007000075A (es)
PL (1) PL1771789T3 (es)
WO (1) WO2006008226A2 (es)
ZA (1) ZA200701434B (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774492B2 (en) * 2001-07-26 2010-08-10 Citrix Systems, Inc. System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side net work connections
US7978716B2 (en) * 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7757074B2 (en) * 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8739274B2 (en) * 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
EP2264956B1 (en) * 2004-07-23 2017-06-14 Citrix Systems, Inc. Method for securing remote access to private networks
US9219579B2 (en) * 2004-07-23 2015-12-22 Citrix Systems, Inc. Systems and methods for client-side application-aware prioritization of network communications
JP2008510232A (ja) * 2004-08-13 2008-04-03 サイトリックス システムズ, インコーポレイテッド 多数のリモートアクセスサーバにわたる処理整合性を維持する方法
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8954595B2 (en) * 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8700695B2 (en) * 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8706877B2 (en) * 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
CN101147379B (zh) 2005-01-24 2011-05-25 茨特里克斯系统公司 在网络中对动态产生的对象执行缓存的系统和方法
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US20060190700A1 (en) * 2005-02-22 2006-08-24 International Business Machines Corporation Handling permanent and transient errors using a SIMD unit
US7631021B2 (en) * 2005-03-25 2009-12-08 Netapp, Inc. Apparatus and method for data replication at an intermediate node
US9043640B1 (en) * 2005-08-26 2015-05-26 Open Invention Network, LLP System and method for event-driven live migration of multi-process applications
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
US8281184B1 (en) 2010-08-06 2012-10-02 Open Invention Network Llc System and method for reliable non-blocking messaging for multi-process application replication
US8589953B1 (en) 2010-08-06 2013-11-19 Open Invention Network, Llc System and method for transparent consistent application-replication of multi-process multi-threaded applications
US8584145B1 (en) 2010-08-06 2013-11-12 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
US9141481B1 (en) 2010-08-06 2015-09-22 Open Invention Network, Llc System and method for reliable non-blocking messaging for multi-process application replication
US8301700B1 (en) 2010-08-06 2012-10-30 Open Invention Network Llc System and method for event-driven live migration of multi-process applications
US7921184B2 (en) * 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) * 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US9201745B2 (en) * 2008-01-23 2015-12-01 Omx Technology Ab Method of improving replica server performance and a replica server system
US10362131B1 (en) * 2008-06-18 2019-07-23 Amazon Technologies, Inc. Fault tolerant message delivery
US8261286B1 (en) 2008-06-18 2012-09-04 Amazon Technologies, Inc. Fast sequential message store
US9135127B1 (en) 2010-08-06 2015-09-15 Open Invention Network, Llc System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
GB2508659A (en) * 2012-12-10 2014-06-11 Ibm Backing up an in-memory database
US9798639B2 (en) * 2013-06-13 2017-10-24 Tsx Inc. Failover system and method replicating client message to backup server from primary server
US9569517B1 (en) * 2013-11-27 2017-02-14 Google Inc. Fault tolerant distributed key-value storage

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157663A (en) 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5745753A (en) 1995-01-24 1998-04-28 Tandem Computers, Inc. Remote duplicate database facility with database replication support for online DDL operations
US5757669A (en) 1995-05-31 1998-05-26 Netscape Communications Corporation Method and apparatus for workgroup information replication
GB9601584D0 (en) 1996-01-26 1996-03-27 Hewlett Packard Co Fault-tolerant processing method
US6304980B1 (en) * 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
US5941999A (en) 1997-03-31 1999-08-24 Sun Microsystems Method and system for achieving high availability in networked computer systems
US6289357B1 (en) 1998-04-24 2001-09-11 Platinum Technology Ip, Inc. Method of automatically synchronizing mirrored database objects
US6178441B1 (en) 1998-09-21 2001-01-23 International Business Machines Corporation Method and system in a computer network for the reliable and consistent ordering of client requests
US6411991B1 (en) 1998-09-25 2002-06-25 Sprint Communications Company L.P. Geographic data replication system and method for a network
US6446090B1 (en) * 1999-10-08 2002-09-03 Unisys Corporation Tracker sensing method for regulating synchronization of audit files between primary and secondary hosts
US6338126B1 (en) 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
US6658540B1 (en) 2000-03-31 2003-12-02 Hewlett-Packard Development Company, L.P. Method for transaction command ordering in a remote data replication system
US20010047412A1 (en) 2000-05-08 2001-11-29 Weinman Joseph B. Method and apparatus for maximizing distance of data mirrors
US6760861B2 (en) * 2000-09-29 2004-07-06 Zeronines Technology, Inc. System, method and apparatus for data processing and storage to provide continuous operations independent of device failure or disaster
US6782399B2 (en) 2001-06-15 2004-08-24 Hewlett-Packard Development Company, L.P. Ultra-high speed database replication with multiple audit logs
US6859865B2 (en) 2001-11-09 2005-02-22 Nortel Networks Limited System and method for removing latency effects in acknowledged data transfers
US7032131B2 (en) * 2002-03-26 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for ensuring merge completion in a storage area network
US7181581B2 (en) 2002-05-09 2007-02-20 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
US6842825B2 (en) * 2002-08-07 2005-01-11 International Business Machines Corporation Adjusting timestamps to preserve update timing information for cached data objects
US7134044B2 (en) 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
US7111004B2 (en) * 2003-06-18 2006-09-19 International Business Machines Corporation Method, system, and program for mirroring data between sites
US7240080B2 (en) * 2003-07-30 2007-07-03 International Business Machines Corporation Method and apparatus for determining using least recently used protocol if one or more computer files should be written to one or more information storage media and synchronously providing one or more computer files between first and storage devices
JP2005062928A (ja) * 2003-08-11 2005-03-10 Hitachi Ltd 複数のサイトにリモートコピーを行うシステム

Also Published As

Publication number Publication date
WO2006008226A3 (en) 2006-04-27
US7321906B2 (en) 2008-01-22
PL1771789T3 (pl) 2010-03-31
WO2006008226A2 (en) 2006-01-26
KR20070046078A (ko) 2007-05-02
KR101052121B1 (ko) 2011-07-26
EP1771789A2 (en) 2007-04-11
DE602005016807D1 (de) 2009-11-05
US20060020635A1 (en) 2006-01-26
ATE443890T1 (de) 2009-10-15
EP1771789B1 (en) 2009-09-23
AU2005263685B2 (en) 2011-08-04
AU2005263685A1 (en) 2006-01-26
ZA200701434B (en) 2008-07-30
AU2005263685C1 (en) 2012-01-12
CA2572820A1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
MX2007000075A (es) Metodo de mejorar el funcionamiento de servidor de replica y un sistema de servidor de replica.
EP2062139B1 (en) Method for improving transfer of event logs for replication of executing programs
US8850141B2 (en) System and method for mirroring data
US7793060B2 (en) System method and circuit for differential mirroring of data
US7437598B2 (en) System, method and circuit for mirroring data
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
US7444541B2 (en) Failover and failback of write cache data in dual active controllers
MXPA06005797A (es) Sistema y metodo para la recuperacion en caso de fallas.
US7882316B2 (en) Shared data mirroring apparatus, method, and system
US20050160312A1 (en) Fault-tolerant computers
CA2912941C (en) Apparatus and method for failover of device interconnect using remote memory access with segmented queue
JPH0683717A (ja) 大型耐故障不揮発性複数ポート・メモリー
US7797571B2 (en) System, method and circuit for mirroring data
US20120084260A1 (en) Log-shipping data replication with early log record fetching
US20080046644A1 (en) Method and System to Provide a Redundant Buffer Cache for Block Based Storage Servers
CN108833164B (zh) 服务器控制方法、装置、电子设备及存储介质
CN112181723A (zh) 一种金融灾备方法、装置、存储介质及电子设备
US9201745B2 (en) Method of improving replica server performance and a replica server system
JP5154843B2 (ja) クラスタシステム、計算機、および障害回復方法
JP2011253400A (ja) 分散ミラードディスクシステム、コンピュータ装置、ミラーリング方法およびそのプログラム
US10331358B1 (en) High performance and low-latency replication using storage mirroring
TWI735518B (zh) 資料庫的服務提供方法和系統
GB2510589A (en) Determining whether to replicate a complete data set, which has already been partly replicated

Legal Events

Date Code Title Description
FG Grant or registration