[go: up one dir, main page]

MXPA04008004A - Metodo y aparato para comprometer dos fases en la distribucion de datos a un grupo de trabajo de la red mundial. - Google Patents

Metodo y aparato para comprometer dos fases en la distribucion de datos a un grupo de trabajo de la red mundial.

Info

Publication number
MXPA04008004A
MXPA04008004A MXPA04008004A MXPA04008004A MXPA04008004A MX PA04008004 A MXPA04008004 A MX PA04008004A MX PA04008004 A MXPA04008004 A MX PA04008004A MX PA04008004 A MXPA04008004 A MX PA04008004A MX PA04008004 A MXPA04008004 A MX PA04008004A
Authority
MX
Mexico
Prior art keywords
working group
network
global network
members
act
Prior art date
Application number
MXPA04008004A
Other languages
English (en)
Inventor
Nguyen Phil
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of MXPA04008004A publication Critical patent/MXPA04008004A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2041Error 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 more than one idle spare processing component
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Hardware Redundancy (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Se describen varios metodos y aparatos para sincronizar datos entre miembros de un grupo de trabajo en la red mundial. El grupo de trabajo en la red mundial puede incluir un miembro principal y al menos un miembro de apoyo. Los miembros del grupo de trabajo en la red mundial pueden incluir modulos para determinar si estan disponibles datos nuevos para el grupo de trabajo de red mundial (602); colocar el grupo de trabajo en la red en un estado preparado si estan disponibles datos nuevos (604); colocar el grupo de trabajo de una red mundial en un estado comprometido si los miembros del grupo de trabajo en la red mundial reciben exitosamente los datos nuevos; y colocar el grupo de trabajo de una red mundial no reciben exitosamente los datos nuevos (606).

Description

METODO Y APARATO PARA COMPROMETER DOS FASES EN LA DISTRIBUCION DE DATOS A UN GRUPO DE TRABAJO EN LA RED MUNDIAL ANTECEDENTES DE LA INVENCION Campo de la Invención Esta descripción de relaciona con la comunicación de datos, y en particular, con un sistema de sincronización de datos en un grupo de trabajo de la red mundial novedoso y mejorado.
Antecedentes de la Invención Los grupos de trabajo de la red mundial están integrados a sitios en la red mundial de alto volumen debido a que incrementan la disponibilidad de sitios en la red distribuyendo tareas de procesamiento entre varios "miembros" del grupo de trabajo de la red. La Figura 1 es un diagrama esquemático de un grupo de trabajo de la red de la técnica anterior 100 que incluye 1... n miembros. Cada miembro es configurado para funcionar como un servidor de red como es sabido en la técnica y puede incluir el procesador 102 y una base de datos 104 para el almacenamiento y recuperación de datos. Un desafío en la implementación de un grupo de trabajo en la red es asegurar que los archivos de datos sean sincronizados entre todos los miembros del grupo de trabajo de la red. Típicamente, son presentados datos nuevos simultáneamente a todos los miembros del grupo de trabajo de la red 100 a través de una compuerta 106. Para que el sitio de la red funciones efectivamente, los datos que son presentados al grupo de trabajo de la red deben ser almacenados dentro de los miembros individuales, de modo que la integridad de los datos sea mantenida de miembro a miembro. Por ejemplo, si los nuevos datos presentados al grupo de trabajo de la red representan un nuevo cliente a ser almacenado en la base de datos de clientes, todos los miembros del grupo de trabajo de la red deben almacenar los datos del nuevo cliente antes de que ocurra una nueva transacción. Si algún miembro del grupo de trabajo de la red no almacena- los nuevos datos, la integridad de cualesquier transacciones futuras puede verse comprometida. La técnica anterior ha reconocido la importancia de la sincronización de datos y ha hecho intento por asegurar la integridad de los datos distribuidos. Por ejemplo, los grupos de trabajo de la red de la técnica anterior pueden emplear un retraso de tiempo para permitir que todos los miembros del grupo de trabajo de la red capturen y almacenen los nuevos datos. Sin embargo, este método tiene ciertas desventajas. Ese retraso de tiempo necesariamente imponente una limitación sobre la disponibilidad de los miembros individuales del grupo de trabajo de la red, y de este modo la disponibilidad del sitio en la red albergado como un todo. Además, durante el retraso de tiempo, todos los datos son almacenados en algunos miembros del grupo de trabajo de la red, mientras los otros miembros los están capturando. De este modo, el grupo de trabajo de la red no está sincronizado durante el periodo de tiempo. Si al menos uno de los miembros no sincroniza los nuevos datos, el grupo de trabajo de la red puede necesitar retroceder, del proceso mediante el cual los datos son restablecidos en los miembros a un estado previo conocido. Hacer retroceder un grupo de trabajo de la red es un procedimiento indeseable que es tedioso y potencialmente propenso a errores.
SUMARIO DE LA INVENCION Se describen métodos y aparatos para sincronizar datos entre miembros de un grupo de trabajo de la red. En una modalidad, un método incluye determinar si están disponibles datos nuevos al grupo de trabajo de la red; colocar el grupo de trabajo de la red en un estado preparado si están disponibles datos nuevos; colocar el grupo de trabajo de la red en un estado comprometido si r: los miembros del grupo de trabajo de la red reciben exitosamente los grupos nuevos, y colocar el grupo de trabajo de la red en un estado de aborto si cualquiera de los miembros del grupo de trabajo de la red no reciben 5 exitosamente los datos nuevos. En un aspecto más, se describe un método para sincronizar datos entre miembros de un grupo de trabajo de la red, incluyendo instrucciones a los miembros del grupo de trabajo de la red para recibir datos nuevos; 10 determinar si cualquier de los miembros del grupo de trabajo de la red no recibió los datos nuevos; dar instrucciones a los miembros del grupo de trabajo de la red para almacenar grupos nuevos si todos los miembros del grupo de trabajo de la red recibieron los datos 15 nuevos; y dar instrucciones a los miembros del grupo de trabajo de la red para regresar a un conjunto previo de datos si cualquiera de los miembros del grupo de trabajo de la red no recibió los datos nuevos. También se describe un grupo de trabajo de la 20 red sincronizado. En un aspecto, el grupo de trabajo de la red puede incluir un miembro primario del grupo de trabajo de la red configurado para recibir datos de un servidor que descargue aplicaciones; y al menos un miembro de refuerzo del grupo de trabajo de la red 25 también configurado para recibir datos de un servidor que baje aplicaciones. El miembro primario puede ser configurado para determinar si están disponibles datos nuevos al grupo de trabajo de la red; colocar el grupo de trabajo de la red en un estado preparado si están disponibles nuevos datos; colocar el grupo de trabajo de la red en un estado comprometido si los miembros del grupo de trabajo de la red reciben exitosamente los datos nuevos; y colocar el grupo de trabajo de la red en un estado de abortos si cualquiera de los miembros del grupo de trabajo de la red no reciben exitosamente los datos nuevos .
BREVE DESCRIPCION DE LAS FIGURAS Las características, objetos, y ventajas de la presente invención se volverán más evidentes tras la descripción detallada expuesta a continuación cuando se tome en conjunto con los dibujos en los cuales caracteres de referencia similares identifican lo correspondiente a su través y donde: La Figura 1 es un diagrama esquemático del grupo de trabajo de la red mundial de la técnica anterior ; La Figura 2 es un diagrama esquemático de un aspecto de trabajo de la red mundial configurado de acuerdo con las enseñanzas de esta descripción ; La Figura 3 es un diagrama esquemático de un aspecto de un miembro primario configurado de acuerdo con las enseñanzas de esta descripción; La Figura 4 es un diagrama esquemático de un aspecto de un miembro de refuerzo configurado de acuerdo con las enseñanzas de esta descripción; La Figura 5 es un diagrama esquemático de un aspecto de un miembro de almacenamiento configurado de acuerdo con las enseñanzas de esta descripción; La Figura 6 es un diagrama de flujo de un aspecto de una sincronización del grupo de trabajo de la red mundial de acuerdo con las enseñanzas de esta descripción; La Figura 7 es un diagrama de estado de un aspecto de una sincronización del grupo de trabajo de la red mundial de acuerdo con las enseñanzas de esta descripción; y La Figura 8 es un diagrama esquemático de un aspecto de un grupo de trabajo de la red mundial que presenta soporte contra fallas de acuerdo con las enseñanzas de esta descripción.
DESCRIPCION DETALLADA DE LA INVENCION Los expertos en la técnica comprenderán que la siguiente descripción de la presente invención es ilustrativa únicamente y de ninguna manera limitante.
Otras modalidades de la invención se sugerirán por si mismas a aquellos expertos que tengan los beneficios de esta descripción. Se contempló que la presente invención pueda ser realizada en varias estructuras de datos legibles en computadora sin máquinas. Además, se contempló que las estructuras de datos que incorporan la presente invención sean transmitidas a través de medios legibles en computadoras y máquinas y, a través de sistemas de comunicación mediante el uso de los protocolos estándar conocidos en la técnica. La invención se relaciona además con medios legibles por una máquina los cuales están almacenadas modalidades de la presente invención. Se contempló que cualquier medio adecuado para almacenar instrucciones relacionadas con la presente invención está dentro del alcance de la presente invención. A manera de ejemplo, esos medios pueden tomar la forma de medios magnético, ópticos o semiconductores. La presente invención puede ser descrita a través del uso de diagramas de flujo. Con frecuencia, se mostrará un solo caso de una modalidad de la presente invención. Como es apreciado por aquellos expertos en la técnica, sin embargo, los protocolos, procesos y procedimientos descritos aquí pueden ser repetidos continuamente o tan frecuentemente como sea necesario para satisfacer las necesidades descritas aquí. En consecuencia, la representación de la presente invención a través del uso de diagramas de flujo no deberá ser usada para limitar el alcance de la presente invención. Deben ser descritas aquí modalidades ejemplares de los aparatos y métodos descritos. La palabra "ejemplar" se usa exclusivamente aquí bajo el significado de "servir como un ejemplo, caso, o ilustración" . Cualquier modalidad descrita como una "modalidad ejemplar" no debe constituir una modalidad necesariamente preferida o ventajosa sobre otras modalidades descritas aquí .
Estructura ejemplar La Figura 2 es un diagrama esquemático de un grupo de trabajo de la red mundial 200 configurado de acuerdo con las enseñanzas de esta descripción. El grupo de trabajo de la red 200 puede incluir un miembro primario 202 y al menos un miembro de refuerzo 204, cada uno configurado como será descrito con mayor detalle más adelante. El grupo de trabajo de la red también puede incluir al menos un miembro de almacenamiento 206. Se contempló que los diferentes miembros del grupo de trabajo de la red pueden incluir componentes físicos y programas y sistemas de programación conocidos en la técnica para hacer funcionar un sistema operativo como Windows® de Microsoft, UNIX, LINUX, o cualquier otro sistema operativo deseado, no están configurados preferiblemente para ejecutar aplicaciones escritas en el lenguaje Java. Una máquina miembro puede comprender una computadora autónoma, una máquina multi-CPU o un servidor montado en un soporte alojado junto con otros servidores en un soporte. Los miembros del grupo de trabajo de la red 200 también pueden ser configurados para administrar una base de datos como Oracle usando componentes físicos y programas y sistemas de programación como es sabido en la técnica. En una modalidad ejemplar, los miembros del grupo de trabajo de la red 200 pueden ser configurados para almacenar y recuperar datos recibidos en el formato de Lenguaje Marcador Extendido (XML) . Los miembros del grupo de trabajo de la red 200 son configurados preferiblemente para recibir datos de un Servidor de Distribución 300. El DS 300 puede ser configurado para funcionar como una compuerta de transacción entre el grupo de trabajo de la red 200 y la red interna de la empresa que albergue el grupo de trabajo de la red. Para proporcionar la capacidad de transacción segura, el grupo de trabajo de la red 200 y el DS 300 pueden comunicarse a través de una pared de fuego 302 usando los protocolos seguros conocidos en la técnica, como SS1 sobre VPN. Cada miembro del grupo de trabajo de la red 200 será ahora descrito con mayor detalle.
Miembro Primario En el grupo de trabajo de la red 200 de la presente descripción, se contempló que existirá un miembro primario 202 que es responsable de la sincronización de los diferentes miembros del grupo de trabajo de la red. Puesto que cada miembro del grupo de trabajo en el grupo de trabajo de la red representará el estado de datos, el miembro primario 202 funciona como un administrador de distribución y asegura que todos los miembros del grupo de trabajo de la red tengan el conjunto de datos. En una modalidad ejemplar, el miembro primario 202 asegura que también los miembros tengan los mismos archivos de paquete X L y aplicación en cualquier momento dado. La Figura 3 muestra un diagrama de bloques funcional de un miembro primario 202 configurado de acuerdo con las enseñanzas de esta descripción. El miembro primario 202 incluye un módulo administrador de sincronización primaria (SyncMgr) 302 para controlar la programación y sincronización de todos los datos, como archivos de XML y paquete, en cada miembro del grupo de trabajo de la red. El módulo SyncMgr 302 puede ser programado como una aplicación Java. El módulo SyncMgr puede funcionar en cada una de las máquinas del grupo de trabajo de la red usando máquinas virtuales Java separadas para mayor conflabilidad . El SyncMgr primario 302 también puede ser acoplado de manera operativa a otros miembros del grupo de trabajo de la red 200 para proporcionar un control de sincronización primaria como será descrito con mayor detalle más adelante. El administrador primario 202 también puede incluir un módulo de Cliente para Descargar Aplicaciones (AdaClt) 304 para descargar datos del DS 300 de la FIGURA 2. El módulo AdaClt 304 preferiblemente se comunica con el DS 300 a través de la pared de fuego 302 vía HTTPS para recibir datos, como archivos de XML y paquetes. El módulo AdaClt 304 puede ser programado como una aplicación Java. El administrador primario 202 también puede incluir un servidor de Cliente de Distribución (DistClt) 306 para interconectarse con el módulo AdaClt 304. El servidor DistClt 306 puede ser usado por los miembros de trabajo de la red para activar el AdaClt 304 para iniciar el proceso de descarga y descargar datos a una base de datos 308. El servidor DistClt 306 puede comprende un motor de servidor Java configurado para comenzar a un tiempo de arranque. La Figura 4 muestra un diagrama de bloques funcional de un miembro de refuerzo o apoyo 204 configurado de acuerdo con las enseñanzas de esta descripción. El miembro de refuerzo o apoyo 204 también incluye un módulo SyncMgr 402 como se describió anteriormente. Sin embargo, el SyncMgr de refuerzo o apoyo 402 está acoplado de manera operativa preferiblemente a otros miembros del grupo de trabajo de la red 200 para proporcionar control de sincronización de apoyo como será descrito con mayor detalle más adelante. El miembro de refuerzo o apoyo 204 también puede incluir un módulo AdaClt 304 y un servidor DistClt 306 como se describió anteriormente para recibir datos del DS 300. El módulo de refuerzo o apoyo 204 también incluye una base de datos 308 para el almacenamiento y recuperación de los datos recibidos del DS 300, y está configurado preferiblemente para almacenar datos recibidos del DS 300 bajo el control del miembro primario 202. La Figura 5 muestra un diagrama de bloques funcional de un miembro de almacenamiento 206 configurado de acuerdo con las enseñanzas de esta descripción. El miembro de almacenamiento 206 está configurado preferiblemente para almacenar los datos recibidos del DS 300 bajo el control del miembro primario 202. El miembro de almacenamiento 206 puede incluir un módulo AdaClt 304, un servidor DistClt 306, y una base de datos 308 como se describió anteriormente. Ahora se describirán varios aspectos de la operación de un grupo de trabajo de la red vial de esta descripción.
Operación El módulo SyncMgr está configurado para implementar un algoritmo de compromiso de dos fases para asegurar que los miembros del grupo de trabajo de la red mundial reciban datos nuevos del centro de distribución al mismo tiempo. La Figura 6 es un diagrama de flujo de un aspecto de la sincronización de datos de acuerdo con las enseñanzas de esta descripción. El proceso de la Figura 6 comienza en el acto 600, donde los miembros del grupo de trabajo de la red mundial son instruidos para obtener datos nuevos. En un aspecto de esta descripción, este acto puede ser efectuado por un miembro primario que dé instrucciones a los otros miembros del grupo de trabajo de la red para obtener datos de un servidor de distribución . El proceso continúa en la interrogante 602, donde se determina si algunos miembros del grupo de trabajo de la red fallaron en su intento de recibir datos nuevos. Si uno de los miembros del grupo de trabajo de la red no recibió los datos nuevos, los miembros del grupo de trabajo de la red pueden ser instruidos para almacenar los datos nuevos en el acto 604. Sin embargo, si algunos de los miembros del grupo de trabajo de la red no recibieron apropiadamente los datos nuevos, todos los miembros del grupo de trabajo de la red pueden ser instruidos para regresar al conjunto previo de datos 606. De este modo, si cualquier miembro de la red es incapaz de recibir apropiadamente los datos nuevos, todos los miembros del grupo de trabajo de la red pueden regresar nuevamente al conjunto de datos existente . En consecuencia, el proceso de la FIGURA. 6 asegura que cualquiera de todos los miembros del grupo de trabajo de la red reciba los datos nuevos, o si algunos de los miembros del grupo de trabajo de la red no reciben los datos nuevos, ninguno de los miembros del grupo de trabajo de la red usa los datos nuevos. De este modo, el proceso de la FIGURA 6 puede eliminar cualesquier inconsistencias de datos entre los miembros del grupo de trabajo de la red. La FIGURA 7 es un diagrama de estado de un aspecto más de la sincronización de datos de acuerdo con la presente descripción. El proceso de la FIGURA 7 comienza cuando el grupo de trabajo de la red es colocado en un estado preparado. En un aspecto, el miembro primario como se describió anteriormente puede funcionar como un administrador de distribución solicitando a cada miembro del grupo de trabajo de la red descargar o recibir datos de un centro de distribución. Se contempló que la administración de distribución puede verificar periódicamente por datos nuevos. Cuando estén disponibles datos nuevos, el administrador de distribución puede entonces colocar el grupo de trabajo- de la red en un estado preparado. Durante el estado preparado, se contempló que cada miembro del grupo de trabajo de la red puede almacenar los datos recién recibidos en un depósito temporal, como un archivo de la base de datos nuevo. Mientras esté aún en el estado preparado, cada miembro del grupo de trabajo de la red puede notificar al administrador de distribución del estado de almacenamiento de los datos nuevos, es decir si su proceso de recepción respectivo fue exitoso o no. Se contempló que la administración de distribución puede esperar un tiempo predeterminado para que todos los miembros del grupo de trabajo de la red respondan durante el estado preparado. Si todos los miembros del grupo de trabajo de la red responden con una indicación de que los datos nuevos han sido almacenados exitosamente, el grupo de trabajo de la red puede entonces moverse a un estado comprometido. En el estado comprometido, el administrador de distribución puede solicitar a los miembros del grupo de trabajo de la red convertir esos datos nuevos en datos permanentes. Esto puede ser logrado sobre el administrador de distribución solicitando que los datos recién almacenados en un depósito temporal sean convertidos en datos actuales. Si cualquiera de los miembros del grupo de trabajo de la red indican que los datos nuevos no fueron almacenados exitosamente, el grupo de trabajo de la red puede ser colocado en un estado de aborto. En el estado de aborto, el administrador de distribución puede implementar una acción de retroceso en la cual el estado preparado es abortado y los datos temporales no son convertidos en datos actuales. Adicionalmente , si cualquiera de los miembros del grupo de trabajo de la red no responde en un periodo de tiempo predeterminado, el administrador de distribución puede determinar que el estado preparado ha expirado, y colocar el grupo de trabajo de la red en el estado de aborto. El grupo de trabajo de la red de la presente descripción también puede proporcionar soporte contra fallos en el caso de que el miembro primario falle. La FIGURA 8 es un diagrama de bloques de un grupo de trabajo de la red 800 configurado para proporcionar el soporte contra fallos de acuerdo con las enseñanzas de esta descripción. La FIGURA 8 incluye un miembro primario 202 y uno o más miembros de refuerzo o apoyo 204, cada uno configurado sustancialmente como se mostró y describió anteriormente. La FIGURA 8 muestra además que el SyncMgrs de los miembros primarios de refuerzo o apoyo puede ser acoplado de manera operativa para proporcionar soporte contra fallas. Como se describió anteriormente, únicamente existe un Sync gr primario 202 en el grupo de trabajo de la red, pero pueden existir uno o más SyncMgr de apoyo o refuerzo 204. La identidad del SyncMgr primario puede ser predeterminada a través de métodos como cableado o preprogramación, asegurando por lo tanto que el miembro del grupo de trabajo de la red primario exista al inicio. Uno de los miembros de refuerzo o apoyo 204 puede ser configurado para supervisar el miembro primario 202. En una modalidad ejemplar, el módulo SyncMgr del miembro de apoyo 204 puede verificar periódicamente para asegurar que el administrador primario 202 esté disponible. Si el miembro de refuerzo o apoyo 204 determina que el miembro primario 202 no está disponible, el administrador de refuerzo o apoyo 204 puede concluir que el administrador primario 202 ha fallado. En una modalidad ejemplar, un administrador de apoyo o refuerzo puede efectuar un número predeterminado de intentos no exitosos consecutivos antes de concluir que el administrador primario ha fallado. En el caso de la falla del miembro primario, un administrador de apoyo puede asumir el control del grupo de trabajo de la red comenzando con el miembro primario. La FIGURA 8 muestra que en el caso donde exista una pluralidad de miembros de apoyo, los miembros de apoyo pueden ser configurados para supervisarse entre sí en una cadena de N miembros, donde N es el número de miembros de apoyo presentes en el grupo de trabajo en la red. En el caso de fallas múltiples, el siguiente miembro de apoyo en línea asumirá el papel del miembro primario. De este modo, el grupo de trabajo de la red de la presente descripción proporciona N+l niveles de redundancia, incluyendo el administrador primario inicial.
En una modalidad ejemplar, . el orden de los nombres de anfitrión registrados en un archivo de configuración pueden determinar cual SyncMgr de apoyo asumirá el trabajo primario. Adicionalmente, varia información específica del sitio puede estar contenida en archivos de configuración para ser usada por los módulos del grupo de trabajo de la red descrito. La descripción anterior de varias modalidades, las cuales incluyen a las modalidades preferidas, se proporcionó para permitir a cualquier experto en la técnica hacer o usar la modalidad de la presente descripción. Las diferentes modificaciones a esas modalidades serán fácilmente evidentes a aquéllos expertos en la técnica, y los principios genéricos definidos aquí pueden ser aplicados a otras modalidades sin el uso de una facultad inventiva.. De este modo, la presente descripción no pretende limitarse a las modalidades mostradas aquí sino de acuerdo al más amplio alcance consistente con los principios y características novedosas descritas aquí .

Claims (57)

  1. NOVEDAD DE LA INVENCION Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes:
  2. REIVINDICACIONES 1. Un método para sincronizar datos entre miembros de un grupo de trabajo de la red mundial, caracterizado porque comprende: determinar si están disponibles datos nuevos para el grupo de trabajo de la red mundial; colocar el grupo de trabajo de la red mundial en un estado preparado si están disponibles datos nuevos ; colocar el grupo el trabajo de la red mundial en un estado comprometido si todos los miembros del grupo de trabajo de la red mundial reciben exitosamente los datos nuevos ; y colocar el grupo de trabajo de la red mundial en un estado de aborto si cualquiera de los miembros en el grupo de trabajo de la red mundial no reciben exitosamente los datos nuevos. 2. El método de conformidad con la reivindicación 1, caracterizado porque el acto de determinar si están disponibles datos nuevos para el grupo de trabajo de la red mundial es efectuado periódicamente.
  3. 3. El método de conformidad con la reivindicación 1, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado preparado incluye además el acto de colocar, por medio de los miembros del grupo de trabajo de la red mundial, los datos nuevos en un depósito temporal .
  4. 4. El método de conformidad con la reivindicación 1, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado preparado incluye además el acto de notificar, por medios de los miembros del grupo de trabajo de la red mundial, un administrador de distribución en el estado de almacenamiento de los datos nuevos.
  5. 5. El método de conformidad con la reivindicación 4, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado preparado incluye además el acto de esperar, por el administrador de distribución, un tiempo predeterminado para recibir la notificación de estados de almacenamiento.
  6. 6. El método de conformidad con la reivindicación 3, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado comprometido incluye además el acto de convertir los datos almacenados temporalmente en datos grupales de la red.
  7. 7. El método de conformidad con la reivindicación 1, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado de aborto incluye además el acto de implementar una acción de retroceso.
  8. 8. El método de conformidad con la reivindicación 1, caracterizado porque incluye además el acto de proporcionar, por medio de los miembros del grupo de trabajo de la red soporte contra fallas para un miembro primario.
  9. 9. El método de conformidad con la reivindicación 8, caracterizado porque incluye además el acto de verificar periódicamente, por medio de los miembros del grupo de trabajo de la red mundial, la disponibilidad del miembro primario.
  10. 10. El método de conformidad con la reivindicación 9, caracterizado porque incluye además el acto de asumir el control, por medio de los miembros del grupo de trabajo de la red mundial predeterminado del grupo de trabajo de la red mundial si el miembro primario no está disponible.
  11. 11. El método de conformidad con la reivindicación 9, caracterizado porque el miembro de grupo de trabajo de la red mundial predeterminado verifica la disponibilidad del miembro primario de un número predeterminado de veces antes de asumir el control .
  12. 12. El método de conformidad con la reivindicación 10, caracterizado porque los miembros del grupo de trabajo de la red mundial asumen el trabajo de control en un orden predeterminado.
  13. 13. Un método para sincronizar datos entre miembros de un grupo de trabajo de la red mundial, caracterizado porque comprende: proporcionar un miembro primario y al menos un miembro de apoyo; dar instrucciones a los miembros del grupo de trabajo de la red mundial para recibir datos nuevos; determinar si cualquiera de los miembros del grupo de trabajo de la red mundial no recibieron los datos nuevos; dar instrucciones a los miembros del grupo de trabajo de la red mundial para almacenar los datos si todos los miembros del grupo de trabajo de la red mundial recibieron los datos nuevos; y dar instrucciones a los miembros del grupo de trabajo de la red mundial para regresar un conjunto previo de datos si cualquiera de los miembros del grupo de trabajo de la red mundial recibieron los datos nuevos.
  14. 14. El método de conformidad con la reivindicación 13, caracterizado porque el acto de dar instrucciones a los miembros del grupo de trabajo de la red mundial para recibir datos nuevos incluye además el acto de colocar los datos nuevos en un deposito temporal .
  15. 15. El método de conformidad con la reivindicación 13, caracterizado porque el acto de dar instrucciones a los miembros del grupo de trabajo de la red mundial para recibir datos nuevos incluye además el acto de notificar, por medio de al menos un miembro de apoyo, al miembro primero del estado de almacenamiento de los datos nuevos .
  16. 16. El método de conformidad con la reivindicación 15, caracterizado porque el acto de dar instrucciones a los miembros del grupo de trabajo de la red mundial para recibir datos nuevos incluye además el acto de esperar, un miembro primario, un tiempo predeterminado para recibir las notificaciones de estado de almacenamiento.
  17. 17. El método de conformidad con la reivindicación 14, caracterizado porque el acto de dar instrucciones a los miembros del grupo de trabajo de la red mundial para almacenar los datos nuevos incluye además el acto de convertir los datos depositados temporalmente en datos actuales del grupo de trabajo de la red mundial.
  18. 18. El método de conformidad con la reivindicación 13, caracterizado porque incluye además el acto de proporcionar, por medio de al menos un miembro de apoyo, soporte y contrafalla para un miembro primario.
  19. 19. El método de conformidad con la reivindicación 18, caracterizado porque incluye además el acto de verificar periódicamente, por medio de al menos un miembro de apoyo, la disponibilidad del miembro primario .
  20. 20. El método de conformidad con la reivindicación 9, caracterizado porque incluye además el acto de asumir el control, por un miembro de apoyo predeterminado, control del grupo de trabajo de la red mundial si el miembro primario no está disponible.
  21. 21. El método de conformidad con la reivindicación 9, caracterizado porque el miembro de apoyo predeterminado verifica la disponibilidad del miembro primario un número predeterminado de veces antes de asumir el control .
  22. 22. El método de conformidad con la reivindicación 10, caracterizado porque al menos uno de los miembros de apoyo asume el control en un orden predeterminado .
  23. 23. Un grupo de trabajo de la red mundial sincronizado, caracterizado porque comprende: un miembro primario de un grupo de trabajo de la red mundial configurado para recibir datos de un servidor de distribución, al menos un miembro de apoyo configurado para recibir datos de un servidor de distribución; y donde el miembro primario está configurado para: determinar si están disponibles datos nuevos al grupo de trabajo de la red mundial; colocar el grupo de trabajo de la red mundial en un estado preparado si están disponibles datos nuevos; colocar el grupo de trabajo de la red mundial en un estado comprometido si los miembros del grupo de trabajo de la red mundial reciben exitosamente los datos nuevos ; y colocar el grupo de trabajo de la red mundial en un estado de aborto si cualquiera de los miembros del grupo de trabajo de la red mundial no reciben exitosamente los datos nuevos.
  24. 24. El grupo de trabajo de la red mundial de conformidad con la reivindicación 23, caracterizado porque el miembro primario está configurado además para determinar si están disponibles datos nuevos al grupo de trabajo de la red el cual se efectúa periódicamente.
  25. 25. El grupo de trabajo de la red mundial de conformidad con la reivindicación 23, caracterizado porque los miembros del grupo de trabajo de la red mundial están configurados además para almacenar los datos nuevos en un deposito temporal .
  26. 26. El grupo de trabajo de la red mundial de conformidad con la reivindicación 23, caracterizado porque al menos un miembro de apoyo está configurado además para notificar al miembro primario el estado de almacenamiento de los datos nuevos .
  27. 27. El grupo de trabajo de la red mundial de conformidad con la reivindicación 26, caracterizado porque el miembro primario está configurado además para esperar un tiempo predeterminado para recibir las notificaciones del estado de almacenamiento.
  28. 28. El grupo de trabajo de la red mundial de conformidad con la reivindicación 23, caracterizado porque el grupo de trabajo de la red mundial está configurado además para implementar una acción de retroceso en el caso del estado de aborto.
  29. 29. El grupo de trabajo de la red mundial de conformidad con la reivindicación 23, caracterizado porque el grupo de trabajo de la red mundial está configurado además para proporcionar soporte contra fallas por el miembro primario.
  30. 30. El grupo de trabajo de la red mundial de conformidad con la reivindicación 29, caracterizado porque el grupo de trabajo de la red mundial está configurado además para verificar periódicamente la disponibilidad del miembro primario.
  31. 31. El grupo de trabajo de la red mundial de conformidad con la reivindicación 30, caracterizado porque el grupo de trabajo de la red mundial está configurado además para asumir el conteo, por medio de un miembro del grupo de trabajo de la red mundial predeterminado, del grupo de trabajo de la red mundial si el miembro primario no está disponible.
  32. 32. El grupo de trabajo de la red mundial de conformidad con la reivindicación 31, caracterizado porque el miembro del grupo de trabajo de la red mundial predeterminado está configurado además para verificar la disponibilidad del miembro primario un número predeterminado de veces antes de asumir el control .
  33. 33. El grupo de trabajo de la red mundial de conformidad con la reivindicación 31, caracterizado porque los miembros del grupo de trabajo de la red mundial están configurados además para asumir el control en un orden predeterminado.
  34. 34. Un sistema para sincronizar datos entre miembros de un grupo de trabajo de la red mundial, caracterizado porque comprende: medios para determinar si están disponibles datos nuevos para el grupo de trabajo de la red mundial; medios para colocar el grupo de trabajo de la red mundial en un estado preparado si están disponibles datos nuevos ; medios para colocar el grupo el trabajo de la red mundial es un estado comprometido si todos los miembros del grupo de trabajo de la red mundial reciben exitosamente los datos nuevos; y medios para colocar el grupo de trabajo de la red mundial en un estado de aborto si cualquiera de los miembros en el grupo de trabajo de la red mundial no reciben exitosamente los datos nuevos.
  35. 35. El sistema de conformidad con la reivindicación 34, caracterizado porque incluye medios para además determinar si están disponibles datos nuevos para el grupo de trabajo de la red mundial efectuado periódicamente .
  36. 36. El sistema de conformidad con la reivindicación 34, caracterizado porque incluye medios para además colocar el grupo de trabajo de la red mundial en un estado preparado que incluye además el acto de colocar, por medio de los miembros del grupo de trabajo de la red mundial, los datos nuevos en un depósito temporal .
  37. 37. El sistema de conformidad con la reivindicación 34, caracterizado porque incluye medios para además notificar por medio de los miembros del grupo de trabajo de la red mundial, un administrador de distribución en el estado de almacenamiento de los datos nuevos .
  38. 38. El sistema de conformidad con la reivindicación 37, caracterizado porque incluye medios además para esperar, por el administrador de distribución, un tiempo predeterminado para recibir la notificación de estados de almacenamiento.
  39. 39. El sistema de conformidad con la reivindicación 36, caracterizado porque incluye medios además para convertir los datos almacenados temporalmente en datos grupales de la red.
  40. 40. El sistema de conformidad con la reivindicación 34, caracterizado porque incluye medios además para implementar una acción de retroceso.
  41. 41. El sistema de conformidad con la reivindicación 34, caracterizado porque incluye además medios para el acto de proporcionar, por medio de los miembros del grupo de trabajo de la red soporte contra fallas para un miembro primario.
  42. 42. El sistema de conformidad con la reivindicación 41, caracterizado porque incluye además el acto de verificar periódicamente, por medio de los miembros del grupo de trabajo de la red mundial, la disponibilidad del miembro primario.
  43. 43. El sistema de conformidad con la reivindicación 42, caracterizado porque incluye medios para asumir el control por un miembro predeterminado del grupo de trabajo de la red mundial, del grupo de trabajo de la red mundial si el miembro primario no está disponible .
  44. 44. El sistema de conformidad con la reivindicación 43, caracterizado porque incluye además medios para verificar la disponibilidad del miembro primario un número predeterminado de veces antes de asumir el control.
  45. 45. El sistema de conformidad con la reivindicación 43, caracterizado porque los miembros del grupo de trabajo de la red mundial asumen el trabajo de control en un orden predeterminado.
  46. 46. Un dispositivo para almacenar programas legibles por una máquina, que incorpora, de manera tangible, un programa de instrucciones ejecutables por la máquina para efectuar el método de sincronización de datos entre miembros de un grupo de trabajo de la red mundial, el método se caracteriza porque comprende: determinar si están disponibles datos nuevos para el grupo de trabajo de la red mundial; colocar el grupo de trabajo de la red mundial en un estado preparado si están disponibles datos nuevos; colocar el grupo el trabajo de la red mundial un estado comprometido si todos los miembros del grupo de trabajo de la red mundial reciben exitosamente los datos nuevos ; y colocar el grupo de trabajo de la red mundial en un estado de aborto si cualquiera de los miembros en el grupo de trabajo de la red mundial no reciben exitosamente los datos nuevos.
  47. 47. El dispositivo para almacenar programas de conformidad con la reivindicación 46, caracterizado porque el acto de determinar si están disponibles datos nuevos para el grupo de trabajo de la red mundial es efectuado periódicamente.
  48. 48. El dispositivo para almacenar programas de conformidad con la reivindicación 46, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado preparado incluye además el acto de colocar, por medio de los miembros del grupo de trabajo de la red mundial, los datos nuevos en un depósito temporal .
  49. 49. El dispositivo para almacenar programas de conformidad con la reivindicación 46, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado preparado incluye además el acto de notificar, por medios de los miembros del grupo de trabajo de la red mundial, un administrador de distribución en el estado de almacenamiento de los datos nuevos .
  50. 50. El dispositivo para almacenar programas de conformidad con la reivindicación 49, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado preparado incluye además el acto de esperar, por el administrador de distribución, un tiempo predeterminado para recibir la notificación de estados de almacenamiento .
  51. 51. El dispositivo para almacenar programas de conformidad con la reivindicación 48, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado comprometido incluye además el acto de convertir los datos almacenados temporalmente en datos grupales de la red mundial.
  52. 52. El dispositivo para almacenar programas de conformidad con la reivindicación 46, caracterizado porque el acto de colocar el grupo de trabajo de la red mundial en un estado de aborto incluye además el acto de implementar una acción de retroceso.
  53. 53. El dispositivo para almacenar programas de conformidad con la reivindicación 46, caracterizado porque incluye además el acto de proporcionar, por medio de los miembros del grupo de trabajo de la red mundial, soporte contra fallas para un miembro primario.
  54. 54. El dispositivo para almacenar programas de conformidad con la reivindicación 53, caracterizado porque incluye además el acto de verificar periódicamente, por medio de los miembros del grupo de trabajo de la red mundial, la disponibilidad del miembro primario .
  55. 55. El dispositivo para almacenar programas de conformidad con la reivindicación 54, caracterizado porque incluye además el acto de asumir el control, por medio de los miembros del grupo de trabajo de la red mundial predeterminado del grupo de trabajo de la red mundial si el miembro primario no está disponible.
  56. 56. El dispositivo para almacenar programas de conformidad con la reivindicación 54, caracterizado porque el miembro de grupo de trabajo de la red mundial predeterminado verifica la disponibilidad del miembro primario un número predeterminado de veces antes de asumir el control.
  57. 57. El dispositivo para almacenar programas de conformidad con la reivindicación 56, caracterizado porque los miembros del grupo de trabajo de la red mundial asumen el control en un orden predeterminado.
MXPA04008004A 2002-02-19 2003-02-19 Metodo y aparato para comprometer dos fases en la distribucion de datos a un grupo de trabajo de la red mundial. MXPA04008004A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/079,772 US7127512B2 (en) 2002-02-19 2002-02-19 Method and apparatus for two-phase commit in data distribution to a web farm
PCT/US2003/005363 WO2003071295A1 (en) 2002-02-19 2003-02-19 Method and apparatus for two-phase commit in data distribution to a web farm

Publications (1)

Publication Number Publication Date
MXPA04008004A true MXPA04008004A (es) 2004-11-26

Family

ID=27733092

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04008004A MXPA04008004A (es) 2002-02-19 2003-02-19 Metodo y aparato para comprometer dos fases en la distribucion de datos a un grupo de trabajo de la red mundial.

Country Status (16)

Country Link
US (1) US7127512B2 (es)
EP (1) EP1485723A4 (es)
JP (2) JP5015410B2 (es)
KR (1) KR100863472B1 (es)
CN (1) CN100565501C (es)
AR (1) AR038565A1 (es)
AU (2) AU2003213212C1 (es)
BR (1) BR0307761A (es)
CA (1) CA2476629A1 (es)
IL (1) IL163554A0 (es)
MX (1) MXPA04008004A (es)
NZ (1) NZ534721A (es)
PE (1) PE20031000A1 (es)
RU (1) RU2314547C2 (es)
TW (1) TWI291635B (es)
WO (1) WO2003071295A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631057B2 (en) * 2006-04-21 2009-12-08 Bea Systems, Inc. Two-phase deployment framework
US8225192B2 (en) * 2006-10-31 2012-07-17 Microsoft Corporation Extensible cache-safe links to files in a web page
US8122089B2 (en) * 2007-06-29 2012-02-21 Microsoft Corporation High availability transport
US8078957B2 (en) * 2008-05-02 2011-12-13 Microsoft Corporation Document synchronization over stateless protocols
US10809938B2 (en) 2018-03-06 2020-10-20 International Business Machines Corporation Synchronized safe data commit scans in multiple data storage systems
US10740007B2 (en) 2018-03-06 2020-08-11 International Business Machines Corporation Synchronized primary-secondary role swaps with synchronized safe data commit scans
RU2681336C1 (ru) * 2018-07-03 2019-03-06 Общество с ограниченной ответственностью "ФЕЙСМЭН ТЕКНОЛОДЖИ" Система контроля параметров работы и условий эксплуатации фермы для майнинга криптотокенов
US10585730B1 (en) 2018-09-26 2020-03-10 International Business Machines Corporation Enqueue-related processing based on timing out of an attempted enqueue

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0500913B1 (en) * 1990-09-19 1998-01-21 Koninklijke Philips Electronics N.V. System comprising a record carrier and a reading device
JPH06119227A (ja) * 1992-10-06 1994-04-28 Oki Electric Ind Co Ltd 分散データベース制御システム
US5696895A (en) 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
WO1997004389A1 (en) * 1995-07-20 1997-02-06 Novell, Inc. Transaction synchronization in a disconnectable computer and network
US6012150A (en) 1997-03-27 2000-01-04 International Business Machines Corporation Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system
US6188695B1 (en) * 1997-12-18 2001-02-13 Ericsson Inc. System and method for multi-node data synchronization
US6137862A (en) * 1998-03-16 2000-10-24 Mci Communications Corporation Failover mechanism for computer/telephony integration monitoring server
US6266781B1 (en) * 1998-07-20 2001-07-24 Academia Sinica Method and apparatus for providing failure detection and recovery with predetermined replication style for distributed applications in a network
US6243715B1 (en) * 1998-11-09 2001-06-05 Lucent Technologies Inc. Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated
US6269080B1 (en) * 1999-04-13 2001-07-31 Glenayre Electronics, Inc. Method of multicast file distribution and synchronization
US7058974B1 (en) * 2000-06-21 2006-06-06 Netrake Corporation Method and apparatus for preventing denial of service attacks
US6785678B2 (en) * 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function

Also Published As

Publication number Publication date
RU2004127948A (ru) 2005-04-10
AU2003213212A1 (en) 2003-09-09
US7127512B2 (en) 2006-10-24
EP1485723A1 (en) 2004-12-15
EP1485723A4 (en) 2007-12-26
JP4801196B2 (ja) 2011-10-26
BR0307761A (pt) 2006-04-04
KR100863472B1 (ko) 2008-10-16
CN100565501C (zh) 2009-12-02
JP2006507551A (ja) 2006-03-02
NZ534721A (en) 2006-06-30
KR20040096590A (ko) 2004-11-16
CN1646930A (zh) 2005-07-27
IL163554A0 (en) 2005-12-18
AR038565A1 (es) 2005-01-19
JP5015410B2 (ja) 2012-08-29
AU2003213212B2 (en) 2008-04-24
PE20031000A1 (es) 2003-11-29
AU2003213212C1 (en) 2009-01-08
CA2476629A1 (en) 2003-08-28
WO2003071295A1 (en) 2003-08-28
US20030158955A1 (en) 2003-08-21
TWI291635B (en) 2007-12-21
JP2010108510A (ja) 2010-05-13
RU2314547C2 (ru) 2008-01-10
TW200400445A (en) 2004-01-01
AU2008203272A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
TWI724678B (zh) 共識系統停機時間恢復
TWI729609B (zh) 共識系統停機時間恢復
JP4801196B2 (ja) ウェブファームへのデータ配布における二相コミットのための方法および装置
US7346682B2 (en) System for creating and distributing prioritized list of computer nodes selected as participants in a distribution job
CN102868731B (zh) 软件在线升级及加速下载的方法和装置
US8719386B2 (en) System and method for providing configuration synchronicity
US20050198359A1 (en) Method and apparatus for election of group leaders in a distributed network
WO2002052381A2 (en) System and method for intelligently distributing content over a communications network
CN106339278A (zh) 一种网络文件系统的数据备份及恢复方法
EP1577776B1 (en) Method and apparatus for data synchronization in a distributed data base system
US11228486B2 (en) Methods for managing storage virtual machine configuration changes in a distributed storage system and devices thereof
US20030145103A1 (en) Method and system for providing exactly-once semantics for web-based transaction processing
CN111147272A (zh) 一种单服务器及多服务器运营平台升级方法
EP4050850A1 (en) Service upgrading method, device and system
CN108521342B (zh) 一种集群的管理方法及装置
US20100031079A1 (en) Restoration of a remotely located server
CN117331576A (zh) 应用预下载方法、装置、计算机、存储介质
Kolano High performance reliable file transfers using automatic many-to-many parallelization
WO2016000137A1 (zh) 一种多站点自动更新方法、客户端和系统
JP7148570B2 (ja) アプリケーションサーバを並列起動するためのシステムおよび方法
CN100531062C (zh) 一种广域协同工作系统部署方法
KR102428587B1 (ko) 마이크로 서비스 아키텍처 기반의 트랜잭션 가용성과 성능 보장 처리 장치 및 방법
JP2003330904A (ja) 名前サービス多重化方法、名前サービス多重化システム及び名前サービス管理用プログラム
HK1078341A (en) Method and apparatus for two-phase commit in data distribution to a web farm
CN117955973A (zh) 面向局域网环境的动态多源文件分发方法、系统及介质

Legal Events

Date Code Title Description
FG Grant or registration