Almacenamiento de datos distribuido.

Método para mantener datos en un sistema de almacenamiento de datos que comprende una pluralidad de nodos de almacenamiento de datos, utilizándose el método en un nodo de almacenamiento en el sistema de almacenamiento de datos y comprendiendo:

- monitorizar el estado

(59) de otros nodos de almacenamiento en el sistema así como operaciones (65, 67, 69) de escritura llevadas a cabo en el sistema de almacenamiento de datos, de manera que el nodo de almacenamiento tiene acceso, para una entidad de datos, a una lista de anfitriones, que incluye nodos de almacenamiento que almacenan la entidad de datos;

- detectar (51), basándose en la monitorización, condiciones en el sistema de almacenamiento de datos, que indican que un nodo de almacenamiento del sistema de almacenamiento de datos está funcionando de manera deficiente;

- determinar entidades de datos almacenadas que fueron almacenadas también por el nodo de almacenamiento que funciona de manera deficiente, sobre la base de la información existente en una pluralidad de listas de anfitriones, en donde la lista de anfitriones para cada entidad de datos comprende una lista asociada que identifica un subconjunto de nodos de almacenamiento dentro del sistema de almacenamiento de datos, que almacenan la entidad de datos; e

- iniciar un proceso (53) de duplicación para entidades de datos que fueron almacenadas por el nodo de almacenamiento que funciona deficientemente en caso de que se detecten las condiciones, en donde el proceso de duplicación incluye enviar un mensaje de multidifusión, a una pluralidad de nodos de almacenamiento, de modo que el mensaje consulta cuáles de dichos nodos de almacenamiento almacenan datos específicos.

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/EP2009/063796.

Solicitante: Compuverde AB.

Inventor/es: MELANDER,CHRISTIAN, BERNBO,STEFAN, PETERSSON,GUSTAV, PERSSON,ROGER.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION G — FISICA > COMPUTO; CALCULO; CONTEO > TRATAMIENTO DE DATOS DIGITALES ELECTRICOS (computadores... > Equipo o métodos de tratamiento de datos o de cálculo... > G06F17/30 (Recuperación de la información; Estructura de bases de datos a este efecto)

PDF original: ES-2538129_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Almacenamiento de datos distribuido Campo técnico La presente exposición se refiere a métodos para escribir y mantener datos en un sistema de almacenamiento de datos que comprende una pluralidad de nodos de almacenamiento de datos, utilizándose los métodos en un servidor y en un nodo de almacenamiento del sistema de almacenamiento de datos. La exposición se refiere además a nodos de almacenamiento o servidores con capacidad de llevar a cabo dichos métodos.

Antecedentes Se da a conocer un método de este tipo, por ejemplo, en el documento US. 2005/0246393. A1. Este método se da a conocer para un sistema que usa una pluralidad de centros de almacenamiento en ubicaciones geográficamente dispares. Se incluyen administradores de almacenamiento distribuido de objetos con el fin de mantener información referente a datos almacenados.

Uno de los problemas asociados a un sistema de este tipo es cómo lograr una escritura así como un mantenimiento de datos, que sean sencillos aunque robustos y fiables.

El documento US-7266556-B1 describe un sistema de almacenamiento en red con un sistema de archivos virtual. El sistema incluye una serie de administradores de almacenamiento distribuido y una serie de nodos de almacenamiento inteligentes. Se almacenan duplicados de archivos en dos nodos de almacenamiento, y en caso de fallo de un nodo de almacenamiento, se dirige una solicitud del archivo al otro nodo de almacenamiento en el que se guarda el archivo.

HONG TANG ET AL: "An Efficient Data Localization Protocol for Self-organizing Storage Clusters", 2003 ACM/IEEE CONFERENCE PHOENIX, AZ, USA 15 a 21 de NOV. de 2003, describe un agrupamiento para almacenamiento a gran escala. Se usa una combinación de diferentes esquemas para el posicionamiento de datos, que incluye posicionar bloques pequeños de datos sobre la base de un hashing y bloques más grandes con filtros Bloom.

Sumario de la Invención El objetivo de la invención se alcanza con las características de las reivindicaciones independientes. Otras realizaciones constituyen la materia objeto de las reivindicaciones dependientes.

Por lo tanto, un objetivo de la presente exposición es materializar una escritura o mantenimiento robustos de datos en un sistema de almacenamiento distribuido, sin utilizar servidores de mantenimiento centralizados, los cuales pueden constituir en sí mismos uno de los puntos débiles de un sistema. Este objetivo se alcanza por medio de un método del tipo mencionado en el inicio, que se materializa en un nodo de almacenamiento y comprende: monitorizar el estado de otros nodos de almacenamiento en el sistema así como operaciones de escritura llevadas a cabo en el sistema de almacenamiento de datos, detectar, basándose en la monitorización, condiciones en el sistema de almacenamiento de datos, que implican la necesidad de duplicación de datos entre los nodos en el sistema de almacenamiento de datos, e iniciar un proceso de duplicación en caso de que se detecte dicha condición. El proceso de duplicación incluye enviar un mensaje de multidifusión a una pluralidad de nodos de almacenamiento, de manera que el mensaje consulta sobre cuáles de esos nodos de almacenamiento almacenan datos específicos.

Con un método del tipo mencionado, cada nodo de almacenamiento puede participar de manera activa en el mantenimiento de datos del sistema completo. En caso de que un nodo de almacenamiento falle, sus datos pueden ser recuperados por otros nodos del sistema, pudiéndose considerar por lo tanto que dicho sistema es autoreparable.

La monitorización puede incluir la escucha de señales de latidos (heart-beat) provenientes de otros nodos de almacenamiento del sistema. Una condición que implica una necesidad de duplicación es entonces un nodo de almacenamiento que está funcionando deficientemente.

Los datos incluyen archivos y una condición que implica la necesidad de duplicaciones puede ser entonces una de entre una eliminación de archivos o una inconsistencia de archivos.

Se puede mantener una lista de duplicación, que incluye archivos que requieren duplicación, y la misma puede incluir prioridades.

El proceso de duplicación puede incluir: enviar una solicitud en forma de mensaje de multidifusión a una pluralidad de nodos de almacenamiento consultando sobre cuáles de dichos nodos de almacenamiento almacenan datos específicos, recibir respuestas de aquellos nodos de almacenamiento que contienen dichos datos específicos, determinar si dichos datos específicos están almacenados en un número suficiente de nodos de almacenamiento, y, 65 en caso negativo, seleccionar por lo menos un nodo de almacenamiento adicional y transmitir dichos datos

específicos a ese nodo de almacenamiento. Además, los datos específicos de nodos de almacenamiento que contienen versiones obsoletas de los mismos se pueden actualizar.

Adicionalmente, el proceso de duplicación puede comenzar con el nodo de almacenamiento intentado obtener 5 dominio del archivo, que se va a duplicar, entre todos los nodos de almacenamiento del sistema.

La monitorización puede incluir además monitorizar operaciones de lectura llevadas a cabo en el sistema de almacenamiento de datos.

La presente exposición se refiere además a un nodo de almacenamiento de datos, para llevar a cabo mantenimiento de datos, correspondiente al método. En este caso, el nodo de almacenamiento comprende en general medios para llevar a cabo las acciones del método.

El objetivo también se alcanza por medio de un método para escribir datos en un sistema de almacenamiento de datos del tipo mencionado en el inicio, lo cual se materializa en un servidor que ejecuta una aplicación que accede a datos en el sistema de almacenamiento de datos. El método comprende: enviar una consulta de almacenamiento de multidifusión a una pluralidad de nodos de almacenamiento, recibir una pluralidad de respuestas de un subconjunto de dichos nodos de almacenamiento, incluyendo las respuestas datos geográficos referentes a la posición geográfica de cada servidor, seleccionar por lo menos dos nodos de almacenamiento del subconjunto, basándose en dichas respuestas, y enviar datos y un identificador de datos, correspondiente a los datos, a los nodos de almacenamiento seleccionados.

Este método logra una escritura robusta de datos en el sentido que se materializa una diversidad geográfica de una manera eficiente.

La posición geográfica puede incluir latitud y longitud del nodo de almacenamiento en cuestión, y las respuestas pueden incluir además carga del sistema y/o antigüedad del sistema para el nodo de almacenamiento en cuestión.

La consulta de almacenamiento de multidifusión puede incluir un identificador de datos, que identifica los datos a 30 almacenar.

Típicamente, se pueden seleccionar por lo menos tres nodos para el almacenamiento, y se puede enviar una lista de nodos de almacenamiento, que almacenan satisfactoriamente los datos, a los nodos de almacenamiento seleccionados.

La presente exposición se refiere además a un servidor, para llevar a cabo escritura de datos, correspondiente al método. En este caso, el servidor comprende en general medios para llevar a cabo las acciones del método.

Breve descripción de los dibujos La figura 1 ilustra un sistema de almacenamiento distribuido de datos. Las figuras 2A a 2C y la figura 3 ilustran un proceso de lectura de datos. Las figuras 4A a 4C y la figura 5 ilustran un proceso de escritura de datos. La figura 6 ilustra esquemáticamente una situación en la que una serie de archivos se almacena entre una serie de nodos de almacenamiento de datos.

La figura 7 ilustra la transmisión de señales de latidos. La figura 8 es una vista general de un proceso de mantenimiento... [Seguir leyendo]

 


Reivindicaciones:

1. Método para mantener datos en un sistema de almacenamiento de datos que comprende una pluralidad de nodos de almacenamiento de datos, utilizándose el método en un nodo de almacenamiento en el sistema de almacenamiento de datos y comprendiendo:

- monitorizar el estado (59) de otros nodos de almacenamiento en el sistema así como operaciones (65, 67, 69) de escritura llevadas a cabo en el sistema de almacenamiento de datos, de manera que el nodo de almacenamiento tiene acceso, para una entidad de datos, a una lista de anfitriones, que incluye nodos de almacenamiento que almacenan la entidad de datos; -detectar (51) , basándose en la monitorización, condiciones en el sistema de almacenamiento de datos, que indican que un nodo de almacenamiento del sistema de almacenamiento de datos está funcionando de manera deficiente; -determinar entidades de datos almacenadas que fueron almacenadas también por el nodo de almacenamiento que funciona de manera deficiente, sobre la base de la información existente en una pluralidad de listas de anfitriones, en donde la lista de anfitriones para cada entidad de datos comprende una lista asociada que identifica un subconjunto de nodos de almacenamiento dentro del sistema de almacenamiento de datos, que almacenan la entidad de datos; e -iniciar un proceso (53) de duplicación para entidades de datos que fueron almacenadas por el nodo de almacenamiento que funciona deficientemente en caso de que se detecten las condiciones, en donde el proceso de duplicación incluye enviar un mensaje de multidifusión, a una pluralidad de nodos de almacenamiento, de modo que el mensaje consulta cuáles de dichos nodos de almacenamiento almacenan datos específicos.

2. Método según la reivindicación 1, en el que la monitorización incluye escuchar (59) señales de latido provenientes de otros nodos de almacenamiento en el sistema, y en donde una condición que implica necesidad de duplicación es un nodo de almacenamiento que funciona de manera deficiente.

3. Método según la reivindicación 1 ó 2, en el que los datos incluyen archivos y una condición es una de entre una eliminación de archivo o una inconsistencia de archivo.

4. Método según cualquiera de las reivindicaciones anteriores, en el que se mantiene una lista de duplicación, que incluye archivos que requieren duplicación.

5. Método según la reivindicación 4, en el que la lista de duplicación incluye prioridades.

6. Método según cualquiera de las reivindicaciones anteriores, en el que el proceso de duplicación incluye además:

- recibir respuestas de aquellos nodos de almacenamiento que contienen dichos datos específicos; -determinar si dichos datos específicos están almacenados en un número suficiente de nodos de almacenamiento; y -si no, seleccionar por lo menos un nodo de almacenamiento adicional y transmitir dichos datos específicos a ese nodo de almacenamiento.

7. Método según la reivindicación 6, que comprende además actualizar dichos datos específicos en nodos de almacenamiento que contienen versiones obsoletas de los mismos.

8. Método según la reivindicación 6 ó 7, en el que el proceso de duplicación comienza con el intento, por parte del nodo de almacenamiento, de obtener dominio del archivo a duplicar entre todos los nodos de almacenamiento del sistema.

9. Método según cualquiera de las reivindicaciones anteriores, en el que la monitorización incluye además monitorizar operaciones (63) de lectura llevadas a cabo en el sistema de almacenamiento de datos.

10. Nodo de almacenamiento de datos para mantener datos en un sistema de almacenamiento de datos que comprende una pluralidad de nodos de almacenamiento de datos, comprendiendo el nodo de almacenamiento de datos:

- medios para monitorizar el estado de otros nodos de almacenamiento en el sistema así como operaciones de escritura llevadas a cabo en el sistema de almacenamiento de datos, en donde la monitorización para una entidad de datos está basada en una lista de anfitriones, que incluye nodos de almacenamiento que almacenan la entidad de datos;

- medios para detectar, basándose en la monitorización, condiciones en el sistema de almacenamiento de datos que indican que un nodo de almacenamiento del sistema de almacenamiento de datos está funcionando de manera deficiente; -medios para determinar entidades de datos almacenadas que fueron almacenadas también por el nodo de almacenamiento que funciona de manera deficiente, sobre la base de la información existente en una pluralidad de listas de anfitriones, en donde la lista de anfitriones para cada entidad de datos comprende una lista asociada que identifica un subconjunto de nodos de almacenamiento dentro del sistema de almacenamiento de datos, que almacenan la entidad de datos; y -medios para iniciar un proceso de duplicación para entidades de datos que fueron almacenadas por el nodo de almacenamiento que funciona deficientemente en caso de que se detecten las condiciones, en donde el proceso de duplicación incluye enviar un mensaje de multidifusión, a una pluralidad de nodos de almacenamiento, de modo que el mensaje consulta cuáles de dichos nodos de almacenamiento almacenan datos específicos.

11. Método para escribir datos en un sistema de almacenamiento de datos que comprende una pluralidad de nodos de almacenamiento de datos, utilizándose el método en un servidor que ejecuta una aplicación que accede a datos en el sistema de almacenamiento de datos, y comprendiendo:

- enviar (41) una consulta de almacenamiento de multidifusión a una pluralidad de dichos nodos de almacenamiento; -recibir (43) una pluralidad de respuestas de un subconjunto de dichos nodos de almacenamiento, incluyendo las respuestas datos geográficos referentes a la posición geográfica de cada nodo de almacenamiento; -seleccionar (45) por lo menos dos nodos de almacenamiento del subconjunto, sobre la base de dichas respuestas; y -enviar (47) a los nodos de almacenamiento seleccionados datos, un identificador de datos, correspondiente a los datos, y una lista de anfitriones, que es una lista de nodos de almacenamiento que almacenan satisfactoriamente los datos.

12. Método según la reivindicación 11, en el que la posición geográfica incluye latitud y longitud del nodo de almacenamiento en cuestión.

13. Método según la reivindicación 12, en el que las respuestas incluyen además antigüedad del sistema para el nodo de almacenamiento en cuestión.

14. Método según la reivindicación 12 ó 13, en el que las respuestas incluyen además carga del sistema para el nodo de almacenamiento en cuestión.

15. Método según cualquiera de las reivindicaciones 12 a 14, en el que la consulta de almacenamiento de multidifusión incluye un identificador de datos, que identifica los datos a almacenar.

16. Método según cualquiera de las reivindicaciones 12 a 15, en el que se seleccionan por lo menos tres nodos.

17. Servidor adaptado para escribir datos en un sistema de almacenamiento de datos que comprende una pluralidad de nodos de almacenamiento de datos, comprendiendo el servidor:

- medios para enviar una consulta de almacenamiento de multidifusión a una pluralidad de dichos nodos de almacenamiento; -medios para recibir una pluralidad de respuestas de un subconjunto de dichos nodos de almacenamiento, incluyendo las respuestas datos geográficos referentes a la posición geográfica de cada nodo de almacenamiento; -medios para seleccionar por lo menos dos nodos de almacenamiento del subconjunto, sobre la base de dichas respuestas; y -medios para enviar a los nodos de almacenamiento seleccionados datos y un identificador de datos, correspondiente a los datos, y una lista de anfitriones, que es una lista de nodos de almacenamiento que almacenan satisfactoriamente los datos.