Nova Patents
MX2012012198A

Distributed data storage.

Abstract

The present invention relates to a distributed data storage system comprising a plurality of storage nodes. Using unicast and multicast transmission, a server application may write data in the storage system. When writing data, at least two storage nodes are selected based in part on a randomized function, which ensures that data is sufficiently spread to provide efficient and reliable replication of data in case a storage node malfunctions.

MX2012012198A, drawing sheet 1
Sheet 1 of 10

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Granted
  4. Today

9 claims: 7 independent, 2 dependent

  1. 1
    Claims Reivindicaciones 1. Un método para la escritura de datos en un sistema de almacenamiento de datos que comprende una pluralidad de nodos de memorización de datos, utilizándose dicho método en un servidor que ejecuta una aplicación que accede a datos en el sistema de almacenamiento de datos y que comprende:one. A method for writing data to a data storage system comprising a plurality of data storage nodes, said method being used on a server running an application that accesses data on the data storage system and comprising: el envío (41) de una consulta de memorización de multidifusión a una pluralidad de dichos nodos de memorización;sending (41) a multicast store query to a plurality of said store nodes;- la recepción (43) de una pluralidad de respuestas desde un subconjunto de dichos nodos de memorización, incluyendo dichas respuestas información del nodo de memorización que se relaciona, respectivamente, con cada nodo de memorización;- receiving (43) a plurality of responses from a subset of said storage nodes, said responses including information from the storage node that relates, respectively, to each storage node;- la selección (45) de al menos dos nodos de memorización en el subconjunto, en función de dicha respuesta, en donde la selección comprende: - the selection (45) of at least two storage nodes in the subset, depending on said response, where the selection comprises: - la determinación, basada en un algoritmo, para cada nodo de memorización en el subconjunto, de un factor de probabilidad que es función de su información del nodo de memorización y - the determination, based on an algorithm, for each storage node in the subset, of a probability factor that is a function of its information of the storage node and - la selección aleatoria de dichos al menos dos nodos de memorización, en donde la probabilidad de que se seleccione un nodo de memorización depende de su factor de probabilidad y - the random selection of said at least two storage nodes, where the probability that a storage node is selected depends on its probability factor and - el envío (47) de datos y de un identif icador de datos, correspondiente a los datos, a los nodos de memorización seleccionados. - sending (47) data and a data identifier, corresponding to the data, to the selected storage nodes. Geographical position includes the latitude and longitude of the memory node in question. posición geográfica incluye la latitud y la longitud del nodo de memorización en cuestión.
  2. 4
    6. A method according to any of the preceding claims, wherein the information of the storage node includes the system load for the storage node in question. 6. Un método según cualquiera de las reivindicaciones precedentes, en donde la información del nodo de memorización incluye la carga del sistema para el nodo de memorización en cuestión.
  3. 5
    7. A method according to any of the preceding claims, wherein the multicast memorization operational query includes a data identifier, which identifies the data to be memorized. 7. Un método según cualquiera de las reivindicaciones precedentes, en donde la consulta operativa de memorización de multidifusión incluye un identificador de datos, que identifica los datos que se van a memorizar.
  4. 6
    8. A method according to any of the preceding claims, wherein at least three nodes are selected. 8. Un método según cualquiera de las reivindicaciones precedentes, en donde al menos se seleccionan tres nodos.
  5. 7
    9. A method according to any of the preceding claims, wherein a list of storage nodes that successfully store the data is sent to the selected storage nodes. 9. Un método según cualquiera de las reivindicaciones precedentes, en donde se envía una lista de nodos de memorización que memorizan satisfactoriamente los datos a los nodos de memorización seleccionados.
  6. 8
    10. A method according to any of the preceding claims, wherein said random selection is performed for a fraction of the nodes in the subset, whose fraction includes storage nodes with the highest probability factors. 10. Un método según cualquiera de las reivindicaciones precedentes, en donde dicha selección aleatoria se realiza para una fracción de los nodos en el subconjunto, cuya fracción incluye nodos de memorización con los más altos factores de probabilidad.
  7. 9
    11. Un servidor adaptado para la escritura de datos en un sistema de memorización de datos que comprende una pluralidad de nodos de memorización de datos, comprendiendo dicho servidor:eleven. A server adapted for writing data to a data storage system comprising a plurality of data storage nodes, said server comprising: means for sending a multicast memorization operational query to a plurality of said memorization nodes;medios para enviar una consulta operativa de memorización de multidifusión a una pluralidad de dichos nodos de memorización;means for receiving a plurality of responses from a subset of said storage nodes, said responses including information from the storage node, respectively, in relation to each storage node;medios para la recepción de una pluralidad de respuestas desde un subconjunto de dichos nodos de memorización, incluyendo dichas respuestas información del nodo de memorización, respectivamente, en relación con cada nodo de memorización;means for selecting at least two memorization nodes in the subset, based on said responses, where the selection includes: medios para seleccionar al menos dos nodos de memorización en el subconjunto, en función de dichas respuestas, en donde la selección incluye: - la determinación, basada en un algoritmo, para cada nodo de memorización en el subconjunto, de un factor de probabilidad que es función de su información del nodo de memorización y - the determination, based on an algorithm, for each storage node in the subset, of a probability factor that is a function of its information of the storage node and - la selección aleatoria de dichos al menos dos nodos de memorización, en donde la probabilidad de que se seleccione un nodo de memorización depende de su factor de probabilidad y - the random selection of said at least two storage nodes, where the probability that a storage node is selected depends on its probability factor and - means for sending data and a data identifier, corresponding to the data, to the selected storage node. - medios para el envío de datos y de un identificador de datos, correspondiente a los datos, al nodo de memorización seleccionado.