Patent ES-2837476-T3 (ES)
Title: Métodos y aparato para una base de datos distribuida dentro de una red
Inventor: BAIRD LEEMON C
IPC: G06F16/27
Filed: 2016-08-26
Granted: 2021-06-30
Abstract: Un método para un primer dispositivo (110) de ordenador de una pluralidad de dispositivos (110, 120, 130, 140) de ordenador que implementa una base de datos (100) distribuida sin líder a través de una red (105) acoplada operativamente a la pluralidad de dispositivos (110, 120, 130, 140) de ordenador, teniendo cada dispositivo de ordenador de una pluralidad de dispositivos (110, 120, 130, 140) de ordenador una instancia (114, 124, 134, 144) separada de la base de datos (100) distribuida, comprendiendo el método: recibir, en el primer dispositivo (110) de ordenador de la pluralidad de dispositivos de ordenador, datos asociados con una primera transacción; definir, en el primer dispositivo (110) de ordenador y en una primera vez, un primer evento que incluye (1) los datos asociados con la primera transacción, y (2) una referencia a cada evento de una primera pluralidad de eventos, en donde la referencia a cada evento de la primera pluralidad de eventos indica que el evento referenciado de la primera pluralidad de eventos se produjo antes del primer evento; recibir, en el primer dispositivo (110) de ordenador y desde un segundo dispositivo (120) de ordenador de la pluralidad de dispositivos (110, 120, 130, 140) de ordenador, un segundo evento que incluye (1) datos asociados con una segunda transacción, y (2) una referencia a cada evento de una segunda pluralidad de eventos, en donde la referencia a cada evento de la segunda pluralidad de eventos indica que el evento referenciado de la segunda pluralidad de eventos se produjo antes del segundo evento; almacenar, en el primer dispositivo (110) de ordenador, una indicación de una pluralidad de transacciones en la instancia (114) de la base de datos distribuida en el primer dispositivo (110) de ordenador, incluyendo la pluralidad de transacciones al menos la primera transacción y la segunda transacción; calcular, en el primer dispositivo (110) de ordenador y usando un algoritmo de consenso, un orden de eventos para: el primer evento, el segundo evento, la primera pluralidad de eventos y la segunda pluralidad de eventos, en donde el orden de eventos se calcula con base a un orden parcial definido por el patrón de referencias entre los eventos; seleccionar, en el primer dispositivo (110) de ordenador en una segunda vez después de la primera vez y basándose en el orden del evento, una pluralidad de valores de orden de transacción que incluyen al menos un primer valor de orden de transacción asociado con la primera transacción y un segundo valor de orden de transacción asociado con la segunda transacción; y calcular, en el primer dispositivo (110) de ordenador, una variable de estado de la base de datos con base en al menos la pluralidad de transacciones y la pluralidad de valores de orden de transacción, en donde dicho algoritmo de consenso implementa una función determinista de tal manera que cada dispositivo de (110, 120, 130, 140) ordenador de la pluralidad de dispositivos de ordenador calcula el mismo orden de eventos.