MX2012012198A - Almacenamiento de datos distribuidos. - Google Patents
Almacenamiento de datos distribuidos.Info
- Publication number
- MX2012012198A MX2012012198A MX2012012198A MX2012012198A MX2012012198A MX 2012012198 A MX2012012198 A MX 2012012198A MX 2012012198 A MX2012012198 A MX 2012012198A MX 2012012198 A MX2012012198 A MX 2012012198A MX 2012012198 A MX2012012198 A MX 2012012198A
- Authority
- MX
- Mexico
- Prior art keywords
- storage
- data
- nodes
- storage node
- storage nodes
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1845—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast broadcast or multicast in a specific location, e.g. geocast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
La presente invención se refiere a un sistema de almacenamiento de datos distribuido que comprende una pluralidad de nodos de memorización. Utilizando la transmisión de unidifusión y de multidifusión, una aplicación de servidor puede realizar la escritura de datos en el sistema de memorización. Cuando se realiza la escritura de datos, al menos dos nodos de memorización se seleccionan en función, en parte, de una función aleatorizada, que garantiza que los datos estén suficientemente dispersos para proporcionar una replicación eficiente y fiable de datos en caso de funcionamiento anómalo del nodo de memorización.
Description
ALMACENAMIENTO DE DATOS DISTRIBUIDOS
Campo técnico
La presente invención se refiere a 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, cuyo método se utiliza en un servidor en el sistema de almacenamiento de datos. La patente se refiere, además, a un servidor capaz de realizar el método.
Antecedentes
Dicho método se da a conocer, a modo de ejemplo, en la patente de Estados Unidos 2005/0246393, Al. Este método se da a conocer para un sistema que utiliza una pluralidad de centros de memorización en zonas geográficas dispares. Los gestores de almacenamiento de objetos distribuido están incluidos para mantener la información respecto a los datos memorizados .
Un problema asociado con dicho sistema es cómo realizar una escritura simple, y no obstante, sólida y fiable, asi como el mantenimiento de los datos.
Sumario de la invención
Un objeto de la presente invención es, por lo tanto, realizar una escritura segura de datos en un sistema de almacenamiento distribuido.
El objetivo de la invención se consigue también por medio de un método para la escritura de datos en un sistema de almacenamiento de datos de la clase inicialmente mencionada, que se realiza en un servidor que ejecuta una aplicación que accede a datos en el sistema de almacenamiento de datos. El método comprende: el envío de una interrogación de memorización de multidifusión a una pluralidad de nodos de memorización, la recepción de una pluralidad de respuestas desde un subconjunto de dichos nodos de memorización, incluyendo dichas respuestas la información de nodos de memorización, respectivamente, en relación con cada nodo de memorización y la selección de al menos dos nodos de memorización en el subconjunto, en función de dichas respuestas. 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 de nodo de memorización y la selección, de forma ¦ 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. El método implica, además, el envío de datos y un identificador de datos, correspondientes a los datos, a los nodos de memorización seleccionados.
Este método realiza una escritura segura de datos, puesto que aún cuando se seleccionen nodos de memorización dependiendo de su aptitud temporal, la información se seguirá dispersando, en una cierta medida, a través del sistema incluso durante un intervalo de tiempo corto. Esto significa que el mantenimiento del sistema de memorización será menos exigente, puesto que la correlación de qué nodos de memorización soportan la misma información se puede reducir en alguna medida. Esto significa que un proceso de replicación, que puede realizarse cuando un nodo de memorización tenga una anomalía operativa, pueda realizarse el proceso mediante un mayor número de otros nodos de memorización y en consecuencia, con mucha mayor rapidez. Además, se reduce el riesgo de sobrecargar los nodos de memorización con alto nivel durante las operaciones de escritura intensivas, puesto que más nodos de memorización se utilizan para la escritura y menos están en el modo inactivo.
La información del nodo de memorización puede incluir datos geográficos en relación con la posición geográfica de cada nodo de memorización, tal como su latitud, longitud y altitud. Esto permite al servidor dispersar la información desde el punto de vista geográfico, dentro de un recinto, de un edificio, de un país o a escala mundial.
Es posible permitir que se realice la selección aleatoria de los nodos de memorización a partir de los nodos de memorización en el subconjunto que satisfagan un criterio primario basado en la separación geográfica, puesto que se trata de una importante característica para la redundancia.
La información del nodo de memorización puede incluir la antigüedad del sistema y/o la carga del sistema para el nodo de memorización en cuestión.
La interrogación de memorización de multidifusión puede incluir un identificador de datos, que identifica los datos que se van a memorizar.
Al menos se pueden seleccionar tres nodos y una lista de nodos de memorización, que memorizan satisfactoriamente los datos, puede enviarse a los nodos de memorización seleccionados .
La selección aleatoria de los nodos de memorización puede realizarse para una fracción de los nodos en el subconjunto, que incluye nodos de memorización con los más altos factores de probabilidad. De este modo, los nodos de memorización menos adecuados quedan excluidos, proporcionando una selección de nodos de memorización más fiables al mismo tiempo que se mantiene la distribución aleatoria de la información objeto de escritura.
La presente invención se refiere, además, a un servidor para realizar la escritura de datos, correspondiente al método. El servidor, en tal caso, suele comprender medios para realizar las acciones del método.
Breve descripción de los dibujos
La Figura 1 ilustra un sistema de almacenamiento de datos distribuido.
Las Figuras 2A-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, de forma esquemática, una situación en donde varios ficheros se memorizan entre varios nodos de memorización de datos.
La Figura 7 ilustra la transmisión de señales de pulsos de supervisión.
La Figura 8 es una descripción general de un proceso de mantenimiento de datos.
Descripción detallada
La presente invención se refiere a un sistema de almacenamiento de datos distribuido que comprende una pluralidad de nodos de memorización. La estructura del sistema y el contexto en el que se utiliza se representa en la Figura 1.
Un ordenador de usuario 1 accede, a través de Internet 3, a una aplicación 5 que se ejecuta en un servidor 7. El contexto del usuario, según aqui se ilustra es, por lo tanto, una configuración de cliente-servidor regular, que es bien conocida por si misma. Sin embargo, conviene señalar que el sistema de almacenamiento de datos dado a conocer por la invención puede ser de utilidad también en otras configuraciones .
En el caso ilustrado, dos aplicaciones 5, 9 se ejecutan en el servidor 7. Por supuesto, sin embargo, este número de aplicaciones puede ser diferente. Cada aplicación tiene una API (Interfaz de Programación de Aplicación) 11 que proporciona una interfaz en relación con el sistema de almacenamiento de datos distribuido 13 y soporta demandas, normalmente demandas de escritura y de lectura, de las aplicaciones que se ejecutan en el servidor. Desde el punto de vista de una aplicación, la información de lectura o de escritura desde/al sistema de almacenamiento de datos 13 no necesita parecer diferente de la utilización de cualquier otro tipo de solución de memorización, a modo de ejemplo, un servidor de fichero o simplemente una unidad de disco duro.
Cada API 11 se comunica con los nodos de memorización 15 en el sistema de almacenamiento de datos 13 y los nodos de memorización se comunican entre si. Estas comunicaciones están basadas en TCP (Protocolo de Control de Transmisión) y UDP (Protocolo de Datagramas de Usuario) . Estos conceptos son bien conocidos para los expertos en esta materia y no se explicarán con mayor detalle.
Conviene señalar que diferentes interfaces API 11, en el mismo servidor 7 pueden acceder a diferentes conjuntos de nodos de memorización 15. Conviene señalar, además, que puede existir más de un servidor 7 que acceda a cada nodo de memorización 15. Esta circunstancia operativa, sin embargo, no afecta en mayor medida a la forma en la que operan los nodos de memorización, según se describirá más adelante.
Los componentes del sistema de almacenamiento de datos distribuido son los nodos de memorización 15 y las interfaces APIs 11, en el servidor 7 que accede a los nodos de memorización 15. Por lo tanto, la presente invención se refiere a métodos realizados en el servidor 7 y en los nodos de memorización 15. Dichos métodos estarán principalmente realizados como puesta en práctica de software que se ejecutan en el servidor y los nodos de memorización, respectivamente, y se determinan, juntos, para la operación y las propiedades del sistema de almacenamiento de datos distribuido global.
El nodo de memorización 15 suele poder realizarse mediante un servidor de ficheros que está provisto de varios bloques funcionales. El nodo de memorización puede comprender, de este modo, un medio de memorización 17, que suele incluir varias unidades de disco duro, opcionalmente configuradas como un sistema RAID (Conjunto Redundante de Discos Independientes). Otros tipos de medios de memorización son, sin embargo, también posibles.
El nodo de memorización 15 puede incluir, además, un directorio 19, que comprende listas de relaciones de entidad de datos/nodos de memorización como una lista de concentradores, según se describirá más adelante.
Además, de la lista de concentradores, cada nodo de memorización contiene, además, una lista de nodos que incluye las direcciones de IP de todos los nodos de memorización en su conjunto o grupo de nodos de memorización. El número de nodos de memorización en un grupo puede variar desde unos pocos a centenares de nodos de memorización. La lista de nodos puede tener, además, un número de versión.
Además, el nodo de memorización 15 puede incluir un bloque de replicación 21 y un bloque de monitor de agrupamiento operativo 23. El bloque de replicación 21 incluye una interfaz API de nodo de memorización 25 y está configurado para ejecutar funciones para identificar la necesidad y realizar un proceso de replicación, según se describirá con detalle más adelante. La interfaz API del nodo de memorización 25 del bloque de replicación 21 puede contener un código que, en gran medida, corresponde al código de la interfaz API del nodo de memorización 11 del servidor 7, puesto que el proceso de replicación comprende acciones que corresponden, en gran medida, a las acciones realizadas por el servidor 7 durante las operaciones de lectura y de escritura que se describen a continuación. A modo de ejemplo, la operación de escritura realizada durante la replicación corresponde, en gran medida, a la operación de escritura realizada por el servidor 7. El bloque de monitor de agrupamiento operativo 23 está configurado para realizar la supervisión de otros nodos de memorización en el sistema de almacenamiento de datos 13, según se describirá con más detalle a continuación.
Los nodos de memorización 15 del sistema de almacenamiento de datos distribuido puede considerarse que existen en el mismo nivel jerárquico. No existe necesidad de designar cualquier nodo de memorización maestro que sea responsable de mantener un directorio de entidades de datos memorizadas y de la supervisión de la coherencia de los datos, etc. En cambio, todos los nodos de memorización 15 se pueden considerar iguales y pueden, a veces, realizar las operaciones de gestión de datos frente a otros nodos de memorización en el sistema. Esta igualdad garantiza que el sistema sea operativamente seguro. En caso de anomalía operativa del nodo de memorización, otros nodos en el sistema cubrirán el nodo de funcionamiento anómalo y garantizarán una memorización de datos fiable.
La operación del sistema se describirá en el orden siguiente: lectura de datos, escritura de datos y mantenimiento de datos. Aún cuando estos métodos funcionan muy bien juntos, conviene señalar que pueden también, en principio, realizarse con independencia entre sí. Es decir, a modo de ejemplo, el método de lectura de datos puede proporcionar propiedades excelentes aún cuando no se utilice el método de escritura de datos de la presente invención y viceversa .
El método de lectura se describe, a continuación, con referencia a las Figuras 2A-2C y 3, siendo esta última un diagrama de flujo que ilustra el método.
La lectura, asi como otras funciones en el sistema, utilizan la comunicación de multidifusión para comunicarse simultáneamente con una pluralidad de nodos de memorización. Mediante una multidifusión o multidifusión IP se entiende, en este caso, una comunicación punto a multipunto que se realiza enviando un mensaje a una dirección de IP que está reservada para aplicaciones de multidifusión .
A modo de ejemplo, un mensaje, normalmente una demanda, se envía a dicha dirección de IP (p.e., 244.0.0.1) y varios servidores receptores están registrados como abonados a esa dirección de IP. Cada uno de los servidores receptores tiene su propia dirección de IP. Cuando un conmutador, en la red, recibe el mensaje dirigido a 244.0.0.1, el conmutador reenvía el mensaje a las direcciones de IP de cada servidor registrado como un abonado.
En principio, solamente un servidor puede registrarse como un abonado para una dirección de multidifusión, en cuyo caso se consigue una comunicación punto a punto. Sin embargo, dentro del contexto de esta invención, dicha comunicación es, no obstante, considerada una comunicación de multidifusión puesto que se utiliza un sistema de multidifusión .
La comunicación de unidifusión se utiliza también haciendo referencia a una comunicación con un receptor único.
Con referencia a la Figura 2A y la Figura 3, el método para la recuperación de datos desde un sistema de almacenamiento de datos comprende el envió 31 de una interrogación de multidifusión a una pluralidad de nodos de memorización 15. En el caso ilustrado, existen cinco nodos de memorización que tienen cada uno una dirección de dirección IP (Protocolo de Internet) 192.168.1.1, 192.168.1.2, etc. El número de nodos de memorización es, por supuesto, solamente a modo de ejemplo. La interrogación contiene, un identificador de datos "2B9B4A97-76E5-499E-A21A6D7932DD7927", que puede ser, a modo de ejemplo, un Identificador Universalmente Único, UUID, que es bien conocido por si mismo.
Los nodos de memorización exploran por si mismos los datos correspondientes al identificador . Si se encuentran dichos datos, un nodo de memorización envía una respuesta, que se recibe 33 por el servidor 7, véase Figura 2B. Según se ilustra, la respuesta puede contener opcionalmente información adicional además de una indicación de que el nodo de memorización tiene una copia de los datos pertinentes. Más concretamente, la respuesta puede contener información a partir del directorio de nodos de memorización sobre otros nodos de memorización que contienen los datos, información con respecto a qué versión de los datos está contenida en el nodo de memorización e información respecto a qué carga está expuesto el nodo de memorización en la situación actual.
En función de dichas respuestas, el servidor selecciona 35 uno o más nodos de memorización a partir de los datos que han de recuperarse y envia 37 una demanda de unidifusión de datos a esos nodos de memorización, véase Figura 2C.
En respuesta a la demanda de datos, el nodo/nodos de memorización envían los datos pertinentes mediante unidifusión al servidor que recibe 39 los datos. En el caso ilustrado, solamente se selecciona un nodo de memorización. Aunque esto es suficiente, es posible seleccionar más de un nodo de memorización con el fin de recibir dos conjuntos de datos que hacen posible una comprobación de la coherencia. Si falla la transferencia de datos, el servidor puede seleccionar otro nodo de memorización para realizar la recuperación.
La selección de nodos de memorización puede basarse en un algoritmo que tiene en cuenta varios factores con el fin de conseguir un rendimiento adecuado del sistema global. En condiciones normales, el nodo de memorización que tiene la más reciente versión de datos y la más baja carga se seleccionará aunque otros conceptos sean completamente admisibles .
De forma opcional, la operación puede concluirse por el servidor enviando una lista a todos los nodos de memorización implicados, indicando qué nodos contienen los datos y con qué versión. Sobre la base de esta información, los nodos de memorización pueden, por si mismos, mantener los datos adecuadamente mediante el proceso de replicación a describirse .
Las Figuras 4A-4C y la Figura 5 ilustran un proceso de escritura de datos para el sistema de almacenamiento de datos distribuido .
Con referencia a la Figura 4A y la Figura 5, el método comprende un servidor que envía 41 una interrogación de memorización de multidifusión a una pluralidad de nodos de memorización. La interrogación de memorización comprende un identificador de datos y consiste básicamente en una interrogación sobre si los nodos de memorización receptores pueden memorizar este fichero. De forma opcional, los nodos de memorización pueden comprobar sus directorios internos si tienen ya un fichero con este nombre y pueden notificar al servidor 7 en el supuesto improbable de que éste sea el caso, de modo que el servidor pueda renombrar el fichero correspondiente .
En cualquier caso, al menos un subconjunto de los nodos de memorización proporcionará respuesta mediante transmisión de unidifusión al servidor 7. En condiciones normales, los nodos de memorización que tengan un espacio de disco libre mínimo predeterminado darán respuesta a esta consulta operativa. El servidor 7 recibe 43 las respuestas que comprenden la información de nodos de memorización en relación con las propiedades de cada nodo de memorización, tales como datos geográficos relacionados con la situación geográfica de cada servidor. A modo de ejemplo, según se indica en la Figura 4B, dichos datos geográficos pueden incluir la latitud, la longitud y la altitud de cada servidor. Otros tipos de datos geográficos pueden, sin embargo, ser también admisibles, tales como un código postal ZIP, una cadena de localización (esto es, edificio, recinto, fila de bastidor, columna de bastidor) o datos similares.
Como alternativa, o en adición a los datos geográficos, puede proporcionarse información adicional relacionada con las propiedades de los nodos de memorización, que sirve como una entrada a un proceso de selección del nodo de memorización. En el ejemplo ilustrado, la magnitud de espacio libre en cada nodo de memorización se proporciona junto con una indicación de la antigüedad del sistema del nodo de memorización y una indicación de la carga que experimenta actualmente el nodo de memorización.
En función de las respuestas recibidas, el servidor selecciona 45 al menos dos, en una forma de realización típica tres, nodos de memorización en el subconjunto para memorizar los datos. La selección de nodos de memorización se realiza por medio de un algoritmo que tiene en cuenta datos diferentes. La selección puede realizarse con el fin de conseguir alguna clase de diversidad geográfica. Al menos podría evitarse, en una forma de realización preferida, que solamente servidores de ficheros en el mismo bastidor se seleccionen como nodos de memorización. En condiciones normales, se puede conseguir una gran diversidad geográfica, incluso seleccionando nodos de memorización en diferentes continentes. Además de la diversidad geográfica, otros parámetros pueden incluirse en el algoritmo de selección. Resulta ventajoso tener una característica aleatorizada en el proceso de selección según se describirá a continuación.
En condiciones normales, la selección puede iniciarse seleccionando varios nodos de memorización que estén suficientemente separados desde el punto de vista geográfico. Esta operación puede realizarse en varias maneras. A modo de ejemplo, puede existir un algoritmo que identifique varios grupos de nodos de memorización o los nodos de memorización pueden tener números de grupos, de modo que un solo nodo de memorización en cada grupo se pueda captar con facilidad.
La selección puede incluir, entonces, calcular, sobre la base de la información de nodos de memorización de cada nodo (antigüedad del sistema, carga del sistema, etc.), un factor de probabilidad que corresponda a una puntuación de aptitud de los nodos de memorización. Un sistema de poca antigüedad, a modo de ejemplo, que es menos probable que tenga una anomalía operativa, obtiene una más alta puntuación. El factor de probabilidad puede calcularse, de este modo, como un producto escalar de dos vectores, en donde un vector contiene los parámetros de información de los nodos de memorización (o cuando sea aplicable, sus inversos) y el otro contiene los parámetros de ponderación correspondientes.
La selección comprende, entonces, seleccionar aleatoriamente nodos de memorización, en donde la probabilidad de que se seleccione un nodo de memorización especifico depende de su factor de probabilidad. En condiciones normales, si un primer servidor tiene un factor de probabilidad dos veces más alto que un segundo servidor, el primer servidor tiene una doble más alta probabilidad para ser seleccionado.
Es posible eliminar un porcentaje de los nodos de memorización con los más bajos factores de probabilidad antes de realizar la selección aleatoria, de modo que esta selección se realice 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. Esto es particularmente de utilidad si existen numerosos nodos de memorización disponibles que puedan asumir el cálculo del algoritmo de selección consumidor de tiempo.
Por supuesto, el proceso de selección se puede realizar en una forma diferente. A modo de ejemplo, es posible calcular primero el factor de probabilidad para todos los nodos de memorización en el subconjunto que responde y realizar la selección aleatorizada . Cuando esta operación se realiza, puede comprobarse que la diversidad geográfica resultante es suficiente y, si no es suficiente, repetir la selección con uno de los dos más próximos nodos de memorización seleccionados, excluidos del subconjunto. La realización de una primera selección basada en la diversidad geográfica, a modo de ejemplo, la captación de un nodo de memorización en cada grupo para la selección posterior en función de los otros parámetros, es de especial utilidad, de nuevo, en casos en donde existan numerosos nodos de memorización disponibles. En esos casos, se seguirá realizando una selección adecuada sin necesidad de realizar cálculos con parámetros de todos los nodos de memorización disponibles .
Cuando se han seleccionado los nodos de memorización, los datos a memorizar y un identificador de datos correspondiente se envían a cada nodo seleccionado, normalmente utilizando una transmisión de unidifusión.
De forma opcional, la operación puede concluirse por cada nodo de memorización, que haya realizado satisfactoriamente la operación de escritura, con el envío de una confirmación al servidor. El servidor envía, entonces, una lista a todos los nodos de memorización implicados en la que se indique qué nodos han realizado satisfactoriamente la escritura de los datos y qué nodos no lo han hecho adecuadamente. En función de esta información, los nodos de memorización podrán mantener, por si mismos, los datos adecuadamente mediante el proceso de replicación que se describe a continuación. A modo de ejemplo, si falla la escritura de un nodo de memorización, existe una necesidad de replicación del fichero a uno o más nodos de memorización con el fin de conseguir el número deseado de nodos de memorización para ese fichero.
El método de escritura de datos permite, por si mismo, una API en un servidor 7 para memorizar datos en una manera muy segura, cuando pueda proporcionarse una excelente diversidad geográfica.
Además de las operaciones de escritura y de lectura, la API en el servidor 7 puede realizar operaciones que supriman ficheros y actualicen ficheros. Estos procesos se describirán en relación con el proceso de mantenimiento de datos más adelante en esta descripción.
El objetivo del proceso de mantenimiento de datos es cerciorarse de que un número razonable de nodos de memorización, sin funcionamiento anómalo, memoricen cada uno la más reciente versión de cada fichero. Además, pueden proporcionar la función de que ningún fichero suprimido sea memorizado en cualquier nodo de memorización. El mantenimiento se realiza por los nodos de memorización por sí mismos. Por lo tanto, no existe necesidad de un "maestro" dedicado que asuma la responsabilidad del mantenimiento de la memorización de datos. Esto garantiza una mejor flabilidad puesto que el "maestro" seria, de no ser asi, un punto débil en el sistema.
La Figura 6 ilustra, de forma esquemática, una situación en donde varios ficheros se memorizan entre varios nodos de memorización de datos. En el caso ilustrado, doce nodos, que tienen direcciones de IP consecutivamente numeradas desde 192.168.1.1 a 192.168.1.12, se muestran para fines de ilustración. Por supuesto, sin embargo, . los números de direcciones de IP no necesitan estar en el mismo nivel en absoluto. Los nodos se colocan en un orden circular solamente para simplificar la descripción, esto es, los nodos no necesitan tener ningún orden particular. Cada nodo memoriza uno o dos ficheros identificados, para fines de simplicidad, por las letras A-F.
Con referencia a la Figura 8, el método para el mantenimiento de datos comprende la detección 51 de las condiciones en el sistema de almacenamiento de datos que implican la necesidad de replicación de datos entre los nodos en el sistema de almacenamiento de datos y un proceso de replicación 53. El resultado del proceso de detección 51 es una lista 55 de ficheros para los cuales se ha identificado una necesidad de replicación. La lista puede incluir, además, datos respecto a la prioridad de las diferentes necesidades de replicación. Sobre la base de esta lista, se realiza el proceso de replicación 53.
La solidez operativa del almacenamiento distribuido radica en que un número razonable de copias de cada fichero, en versiones correctas, se memorizan en el sistema. En el caso ilustrado, se memorizan tres copias de cada fichero. Sin embargo, si fallara, a modo de ejemplo, el nodo de memorización con la dirección 192.168.1.5, no se alcanzará el número deseado de copias memorizadas para los ficheros "B" y "C".
Una circunstancia operativa que da lugar a una necesidad de replicación es, por lo tanto, el funcionamiento anómalo de un nodo de memorización en el sistema.
Cada nodo de memorización en el sistema puede supervisar el estado operativo de otros nodos de memorización en el sistema. Lo anterior puede realizarse permitiendo a cada nodo de memorización emitir una asi denominada señal de pulsos de supervisión, a intervalos periódicos, según se ilustra en la Figura 7. En el caso ilustrado, el nodo de memorización con la dirección 192.168.1.7 emite una señal de multidifusión 57 a los otros nodos de memorización en el sistema, indicando que se está trabajando de forma correcta. Esta señal puede recibirse por todos los demás nodos de memorización en funcionamiento en el sistema que realizan la supervisión de señal de pulsos de supervisión 59 (véase Figura 8) o uno de sus subconjuntos . En el caso del nodo de memorización con dirección 192.168.1.5, sin embargo, este nodo está en funcionamiento anómalo y no emite ninguna señal de pulsos de supervisión. Por lo tanto, los otros nodos de memorización observarán que no se ha emitido ninguna señal de pulsos de supervisión por este nodo en un periodo de tiempo largo, lo que indica que el nodo de memorización en cuestión está inactivo .
La señal de pulsos de supervisión puede, además de la dirección del nodo de memorización, incluir su número de versión de la lista de nodos. Otro nodo de memorización, que escucha la señal de pulsos de supervisión y averigua que el nodo de memorización transmisor tiene una lista de nodos de memorización posterior, podrá, entonces, demandar que el nodo de memorización transmisor efectúe la transferencia de su lista de nodos. Esto significa que la adición y eliminación de nodos de memorización se puede obtener simplemente añadiendo o suprimiendo un nodo de memorización y enviando una nueva versión de la lista de nodos a un nodo de memorización único. Esta lista de nodos se difundirá, entonces, a todos los demás nodos de memorización en el sistema .
De nuevo haciendo referencia a la Figura 8, cada nodo de memorización busca 61 su directorio interno para los ficheros que se memoricen por el nodo de memorización en funcionamiento anómalo. Los nodos de memorización que memoricen, por si mismos, ficheros "B" y "C" encontrarán el nodo de memorización en funcionamiento anómalo y por lo tanto, pueden añadir el fichero correspondiente en sus listas 55.
El proceso de detección podrá también, sin embargo, revelar otras condiciones que implican la necesidad de replicación de un fichero. Normalmente, dichas condiciones pueden ser incoherentes, esto es, que uno o más nodos de memorización tengan una versión obsoleta del fichero. Una operación de supresión implica también un proceso de replicación puesto que este proceso puede realizar la supresión física real del fichero. La operación de supresión del servidor solamente necesita, entonces, cerciorarse de que los nodos de memorización establecen un indicador de supresión para el fichero en cuestión. Cada nodo puede, por lo tanto, supervisar las operaciones de lectura y de escritura realizadas en el sistema de memorización de datos. La información proporcionada por el servidor 7 a la conclusión de las operaciones de lectura y de escritura, respectivamente, pueden indicar que un solo nodo de memorización contiene una versión obsoleta de un fichero (en el caso de una operación de lectura) o que un nodo de memorización no realizó satisfactoriamente una operación de escritura. En ambos casos, existe una necesidad de mantener datos mediante replicacion, de modo que los objetos globales del proceso de mantenimiento se cumplan.
Además de las operaciones de lectura y de escritura básicas 63, 65, al menos dos procesos adicionales pueden proporcionar indicaciones de que existe una necesidad de replicacion, esto es, los procesos de supresión 67 y de actualización 69 de los que se proporcionará a continuación una breve explicación.
El proceso de supresión se inicia por el servidor 7 (véase Figura 1) . De modo similar al proceso de lectura, el servidor envía una interrogación de consulta mediante multidifusión a todos los nodos de memorización, con el fin de averiguar qué nodos de memorización tienen datos con un identificador de datos específico. Los nodos de memorización realizan, por sí mismos, una exploración de los datos con el identificador pertinente y responden mediante una transmisión de unidifusión si tienen los datos en cuestión. La respuesta puede incluir una lista, desde el directorio de nodos de memorización, de otros nodos de memorización que contienen los datos. El servidor 7 envía luego una demanda de unidifusión a los nodos de memorización que se consideran para memorizar el fichero, en el sentido de que se suprime el fichero. Cada nodo de memorización establece un indicador en relación con el fichero y que indica que debe suprimirse. A continuación, el fichero se añade a la lista de replicacion y se envía una confirmación al servidor. El proceso de replicacion suprime físicamente, entonces, el fichero según se describirá a continuación.
El proceso de actualización tiene una función de búsqueda, similar a la del proceso de supresión y una función de escritura, similar a la realizada en el proceso de escritura. El servidor envía una interrogación de consulta mediante multidifusión a todos los nodos de memorización, con el fin de averiguar qué nodos de memorización tienen datos con un identificador de datos específico. Los nodos de memorización exploran, por sí mismos, los datos con el identificador pertinente y responden mediante una transmisión de unidifusión si tienen los datos en cuestión. La respuesta puede incluir una lista, desde el directorio de nodos de memorización, de otros nodos de memorización que contienen los datos. El servidor 7 envía, entonces, una demanda de unidifusión, que comunica a los nodos de memorización la necesidad de actualizar los datos. Por supuesto, la demanda contiene los datos actualizados. Los nodos de memorización, que actualizan los datos, envían una confirmación al servidor, que responde enviando una transmisión de unidifusión que contiene una lista con los nodos de memorización que actualizaron, de forma satisfactoria los datos y los nodos de memorización que no lo hicieron. De nuevo, esta lista se puede utilizar por el proceso de mantenimiento .
De nuevo haciendo referencia a la Figura 8, las operaciones de lectura 63, la escritura 65, supresión 67 y actualización 69 pueden indicar todas ellas que existe una necesidad de replicación. Lo mismo se aplica a la supervisión de señales de pulsos 59. El proceso de detección global 51 genera, de este modo, datos con respecto a qué ficheros necesitan su replicación. A modo de ejemplo, una operación de lectura o de actualización puede revelar que un nodo de memorización especifico contiene una versión obsoleta de un fichero. Un proceso de supresión puede establecer un indicador de supresión para un fichero especifico. La supervisión por señales de pulsos de supervisión puede revelar que varios ficheros, memorizados en un nodo de memorización, con funcionamiento anómalo, necesitan replicarse para un nuevo nodo de memorización.
Cada uno de los nodos de memorización supervisa la necesidad de replicación para todos los ficheros y memoriza y mantiene una lista de replicación 55. La lista de replicación 55 contiene, por lo tanto, varios ficheros que necesitan su replicación. Los ficheros pueden estar ordenados en correspondencia con la prioridad para cada replicación. En condiciones normales, pueden existir tres niveles de prioridad diferentes. El más alto nivel se reserva para los ficheros que el nodo de memorización mantiene con la última copia online. Dicho fichero necesita una replicación rápida para otros nodos de memorización, de modo que se pueda conseguir un nivel razonable de redundancia. Un nivel medio de prioridad puede referirse a los ficheros en donde las versiones sean incoherentes entre los nodos de memorización. Un más bajo nivel de prioridad puede referirse a ficheros que se memoricen en un nodo de memorización que tenga un funcionamiento anómalo.
El nodo de memorización se relaciona con los ficheros en la lista de replicación 55 en función de su nivel de prioridad. El proceso de replicación se describe a continuación para un nodo de memorización que se denomina aquí el nodo de memorización en funcionamiento, aunque todos los nodos de memorización pueden operar de esta manera.
La parte de replicación 53 del proceso de mantenimiento comienza con el intento del nodo de memorización en funcionamiento 71 de convertirse en el nodo maestro para el fichero que intenta su replicación. Los nodos de memorización en funcionamiento envían una demanda de unidifusión para convertirse en nodo maestro para otros nodos de memorización que sea conocido que memorizan el fichero en cuestión. El directorio 19 (véase Figura 1) proporciona una lista de concentradores que comprende información respecto a qué nodos de memorización solicitar. En el supuesto, a modo de ejemplo, en caso de una demanda en colisión, de que uno de los nodos de memorización no responda de modo afirmativo, el fichero se desplazará de nuevo a la lista presente y se realiza un intento, en cambio, con el fichero siguiente en la lista. De no ser asi, el nodo de memorización en funcionamiento se considera como el maestro de este fichero y los demás nodos de memorización establecen un indicador de que el nodo de memorización en funcionamiento es el nodo maestro para el fichero en cuestión.
La siguiente etapa es encontrar 73 todas las copias del fichero en cuestión en el sistema de almacenamiento distribuido. Esta operación se puede realizar por el nodo de memorización en funcionamiento que envía una consulta de multidifusión a todos los nodos de memorización, preguntando cuáles de ellos tienen el fichero. Los nodos de memorización, que tengan el fichero, presentan respuestas a la consulta, que contiene la versión del fichero que mantiene así como sus listas de concentradores, esto es, se mantiene la lista de nodos de memorización que contienen el fichero pertinente en el directorio de cada nodo de memorización. Estas listas de concentradores son objeto luego de fusión 75 mediante el nodo de memorización en funcionamiento, de modo que se forme una lista de concentradores maestra en correspondencia con la unión de todas las listas de concentradores recuperadas. Si se encuentran nodos de memorización adicionales, que no fueron interrogados cuando el nodo de memorización en funcionamiento intentó convertirse en nodo maestro, dicha etapa se puede repetir ahora para los nodos de memorización adicionales. La lista de concentradores de nodos maestros contiene información respecto a qué versiones del fichero mantienen los diferentes nodos de memorización e ilustran el estado operativo del fichero dentro del sistema de almacenamiento completo.
Si el nodo de memorización en funcionamiento no tiene la más reciente versión del fichero en cuestión, este fichero se recupera luego 77 desde uno de los nodos de memorización que tienen la más reciente versión.
El nodo de memorización en funcionamiento decide luego 79 si necesita cambiarse la lista de concentradores, normalmente si deben añadirse nodos de memorización adicionales. Si es asi, el nodo de memorización en funcionamiento, puede realizar un proceso muy similar al proceso de escritura que se realiza por el servidor y según se describe en relación con las Figuras 4A-4C y 5. El resultado de este proceso es que se escribe el fichero en un nuevo nodo de memorización.
En caso de incoherencias de versiones, el nodo de memorización en funcionamiento puede autorizar 81 copias del fichero que se memorizan en otros nodos de memorización, de modo que todos los ficheros memorizados tengan la versión correcta .
Las copias superfluas del fichero memorizado se pueden suprimir 83. Si el proceso de replicación se inicia mediante una operación de supresión, el proceso puede pasar directamente a esta etapa. A continuación, tan pronto como todos los nodos de memorización hayan aceptado la supresión del fichero, el nodo de memorización en funcionamiento simplemente demanda, utilizando la unidifusión, todos los nodos de memorización para suprimir físicamente el fichero en cuestión. Los nodos de memorización confirman que el fichero está suprimido.
Además del estado operativo, esto es, la lista de concentradores maestra de ficheros se actualiza. Es posible, entonces, de forma opcional, repetir las etapas 73-83 para cerciorarse de que ya no existe la necesidad de replicación. Esta repetición debe dar lugar a una lista de concentradores maestra coherente que no necesita actualizarse en la etapa 85.
Más adelante, se concluye el proceso de replicación para ese fichero y el nodo de memorización en funcionamiento puede liberar 87 el estado operativo como maestro del fichero enviando un mensaje correspondiente a todos los demás nodos de memorización en la lista de concentradores.
Este sistema, en donde cada nodo de memorización asume la responsabilidad de mantener la totalidad de los ficheros que memoriza a través de todo el conjunto de nodos de memorización, proporciona un sistema de autoreparación (en caso de un funcionamiento anómalo del nodo de memorización) y de autodepuración (en caso de incoherencias de ficheros o ficheros a suprimir) con excelente fiabilidad. Es fácilmente escalable y puede memorizar ficheros para un gran número de diferentes aplicaciones simultáneamente.
La invención no está restringida a los ejemplos específicos dados a conocer y se puede variar y modificar en diferentes formas dentro del alcance de protección de las reivindicaciones adjuntas.
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.
Claims (11)
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: el envió (41) de una consulta de memorización de multidifusión a una pluralidad de dichos nodos de memorización; - 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; - 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: - 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 - 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 - el envió (47) de datos y de un identificador de datos, correspondiente a los datos, a los nodos de memorización seleccionados .
2. Un método según la reivindicación 1, en donde la información del nodo de memorización incluye datos geográficos en relación con la posición geográfica de cada nodo de memorización.
3. Un método según la reivindicación 2, en donde la posición geográfica incluye la latitud y la longitud del nodo de memorización en cuestión.
4. Un método según la reivindicación 2 o 3, en donde la selección aleatoria de nodos de memorización se realiza para nodos de memorización en el subconjunto gue cumplan un criterio primario basado en una separación geográfica.
5. Un método según la reivindicación 1, en donde la información del nodo de memorización incluye la antigüedad del sistema para el nodo de memorización en cuestión.
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 .
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.
8. Un método según cualquiera de las reivindicaciones precedentes, en donde al menos se seleccionan tres nodos.
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.
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.
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: medios para enviar una consulta operativa de memorización de multidifusión a una pluralidad de dichos nodos de memorización; 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; 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 - 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 - medios para el envió de datos y de un identificador de datos, correspondiente a los datos, al nodo de memorización seleccionado .
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10160910.5A EP2387200B1 (en) | 2010-04-23 | 2010-04-23 | Distributed data storage |
PCT/EP2011/056317 WO2011131717A1 (en) | 2010-04-23 | 2011-04-20 | Distributed data storage |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2012012198A true MX2012012198A (es) | 2013-03-12 |
Family
ID=42342003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2012012198A MX2012012198A (es) | 2010-04-23 | 2011-04-20 | Almacenamiento de datos distribuidos. |
Country Status (13)
Country | Link |
---|---|
US (3) | US8850019B2 (es) |
EP (2) | EP2387200B1 (es) |
JP (1) | JP5612195B2 (es) |
KR (1) | KR101905198B1 (es) |
CN (1) | CN102939740B (es) |
AU (1) | AU2011244345B2 (es) |
BR (1) | BR112012027012A2 (es) |
CA (1) | CA2797053C (es) |
EA (1) | EA026842B1 (es) |
IL (1) | IL222630A (es) |
MX (1) | MX2012012198A (es) |
WO (1) | WO2011131717A1 (es) |
ZA (1) | ZA201208755B (es) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
EP2387200B1 (en) | 2010-04-23 | 2014-02-12 | Compuverde AB | Distributed data storage |
US9137331B2 (en) * | 2011-07-15 | 2015-09-15 | Metalogix International Gmbh | Adaptive replication |
US9385875B2 (en) | 2013-01-23 | 2016-07-05 | Nexenta Systems, Inc. | Scalable transport with cluster-consensus rendezvous |
US9626378B2 (en) | 2011-09-02 | 2017-04-18 | Compuverde Ab | Method for handling requests in a storage system and a storage node for a storage system |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US8650365B2 (en) | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US8997124B2 (en) | 2011-09-02 | 2015-03-31 | Compuverde Ab | Method for updating data in a distributed data storage system |
CN103019614B (zh) | 2011-09-23 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 分布式存储系统管理装置及方法 |
US8856549B2 (en) * | 2011-11-28 | 2014-10-07 | Cleversafe, Inc. | Deleting encoded data slices in a dispersed storage network |
US10558592B2 (en) | 2011-11-28 | 2020-02-11 | Pure Storage, Inc. | Priority level adaptation in a dispersed storage network |
US11474958B1 (en) | 2011-11-28 | 2022-10-18 | Pure Storage, Inc. | Generating and queuing system messages with priorities in a storage network |
CN102546782B (zh) * | 2011-12-28 | 2015-04-29 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
CN102646127A (zh) * | 2012-02-29 | 2012-08-22 | 浪潮(北京)电子信息产业有限公司 | 分布式文件系统副本选择方法和装置 |
CN102638567B (zh) * | 2012-03-02 | 2015-05-20 | 深圳市朗科科技股份有限公司 | 多应用云存储平台和云存储终端 |
US20180336097A1 (en) * | 2012-06-25 | 2018-11-22 | International Business Machines Corporation | Namespace affinity and failover for processing units in a dispersed storage network |
CN103514212B (zh) * | 2012-06-27 | 2016-04-27 | 腾讯科技(深圳)有限公司 | 数据写入方法及系统 |
US10547693B2 (en) * | 2012-09-07 | 2020-01-28 | Avigilon Corporation | Security device capability discovery and device selection |
CN103064635B (zh) * | 2012-12-19 | 2016-08-24 | 华为技术有限公司 | 分布式存储方法和分布式存储装置 |
CN103902568B (zh) * | 2012-12-27 | 2017-05-31 | 中国银联股份有限公司 | 一种基于数据划分的多节点数据库同步方法和多节点数据库系统 |
US9479587B2 (en) | 2013-01-23 | 2016-10-25 | Nexenta Systems, Inc. | Scalable object storage using multicast transport |
CN103207897B (zh) * | 2013-03-15 | 2016-08-17 | 北京京东世纪贸易有限公司 | 一种分布式存储查询系统及其运行方法和运行装置 |
CN104636327A (zh) * | 2013-11-06 | 2015-05-20 | 上海语镜汽车信息技术有限公司 | 一种基于增量计算的分布式流式数据系统 |
US20150169609A1 (en) * | 2013-12-06 | 2015-06-18 | Zaius, Inc. | System and method for load balancing in a data storage system |
US20160191508A1 (en) * | 2014-12-31 | 2016-06-30 | Nexenta Systems, Inc. | Methods and Systems for Block Sharding of Objects Stored in Distributed Storage System |
US10523241B2 (en) * | 2015-05-29 | 2019-12-31 | Pure Storage, Inc. | Object fan out write operation |
US10601683B1 (en) * | 2016-12-19 | 2020-03-24 | Amazon Technologies, Inc. | Availability of a distributed application using diversity scores |
US10209901B2 (en) * | 2017-01-04 | 2019-02-19 | Walmart Apollo, Llc | Systems and methods for distributive data storage |
JP6990055B2 (ja) | 2017-07-12 | 2022-01-12 | 株式会社日立製作所 | 分散コンピューティングシステムにおけるデータをリカバリする方法およびシステム |
CN108429813B (zh) * | 2018-03-22 | 2021-04-06 | 深圳市网心科技有限公司 | 云存储服务的容灾方法、系统及终端 |
RU2697961C1 (ru) * | 2018-03-30 | 2019-08-21 | Акционерное общество "Лаборатория Касперского" | Система и способ оценки деградации устройства хранения данных и обеспечения сохранности наиболее важных данных |
CN108681485A (zh) * | 2018-04-27 | 2018-10-19 | 佛山市日日圣科技有限公司 | 一种接收信息的处理方法及处理装置 |
CN110162270B (zh) * | 2019-04-29 | 2020-08-25 | 平安国际智慧城市科技股份有限公司 | 基于分布式存储系统的数据存储方法、存储节点及介质 |
CN110515916B (zh) * | 2019-07-26 | 2022-12-23 | 济南浪潮数据技术有限公司 | 一种主从分布式文件处理方法、主节点、从节点及系统 |
CN110865987A (zh) * | 2019-11-18 | 2020-03-06 | 杭州安恒信息技术股份有限公司 | 一种文件同步方法、装置、设备及介质 |
US20210294702A1 (en) * | 2021-06-04 | 2021-09-23 | Intel Corporation | High-availability memory replication in one or more network devices |
Family Cites Families (219)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3707707A (en) | 1970-11-12 | 1972-12-26 | Cipher Data Prod | Digital cassette magnetic tape recorder and reproducer |
JP3139884B2 (ja) | 1993-06-14 | 2001-03-05 | 株式会社東芝 | 多重要素処理システム |
US5713017A (en) | 1995-06-07 | 1998-01-27 | International Business Machines Corporation | Dual counter consistency control for fault tolerant network file servers |
JPH103421A (ja) | 1995-11-20 | 1998-01-06 | Matsushita Electric Ind Co Ltd | 仮想ファイル管理システム |
US5787247A (en) | 1996-07-12 | 1998-07-28 | Microsoft Corporation | Replica administration without data loss in a store and forward replication enterprise |
US5924094A (en) | 1996-11-01 | 1999-07-13 | Current Network Technologies Corporation | Independent distributed database system |
US6021118A (en) | 1997-02-10 | 2000-02-01 | Lucent Techologies Inc. | Synchronization methods for distributed processing systems having replicated data |
US6003065A (en) | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
US6259701B1 (en) | 1997-09-11 | 2001-07-10 | At&T Corp. | Method and system for a unicast endpoint client to access a multicast internet protocol (IP) session |
US6055543A (en) | 1997-11-21 | 2000-04-25 | Verano | File wrapper containing cataloging information for content searching across multiple platforms |
CA2318908C (en) | 1998-01-23 | 2007-04-03 | Filepool N.V. | Content addressable information encapsulation, representation, and transfer |
JPH11249874A (ja) | 1998-02-27 | 1999-09-17 | Toshiba Corp | コンピュータシステム、同システムにおける同期処理方法および記録媒体 |
US6510162B1 (en) | 1998-05-27 | 2003-01-21 | 3Com Corporation | System and method for managing channel usage in a data over cable system |
JP4146983B2 (ja) | 1999-02-26 | 2008-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム |
WO2000052889A1 (en) | 1999-03-05 | 2000-09-08 | Allayer Technologies Corporation | Packet switching fabric having a segmented ring with token based resource control protocol and output queuing control |
US7774469B2 (en) | 1999-03-26 | 2010-08-10 | Massa Michael T | Consistent cluster operational data in a server cluster using a quorum of replicas |
US6389432B1 (en) | 1999-04-05 | 2002-05-14 | Auspex Systems, Inc. | Intelligent virtual volume access |
JP2000322292A (ja) * | 1999-05-10 | 2000-11-24 | Nec Corp | クラスタ型データサーバシステム及びデータ格納方法 |
US6952741B1 (en) | 1999-06-30 | 2005-10-04 | Computer Sciences Corporation | System and method for synchronizing copies of data in a computer system |
US7634453B1 (en) | 1999-08-13 | 2009-12-15 | Storage Technology Corporation | Distributed file data location |
US6976165B1 (en) | 1999-09-07 | 2005-12-13 | Emc Corporation | System and method for secure storage, transfer and retrieval of content addressable information |
US7934251B2 (en) | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US6499090B1 (en) | 1999-12-28 | 2002-12-24 | Intel Corporation | Prioritized bus request scheduling mechanism for processing devices |
US6546388B1 (en) | 2000-01-14 | 2003-04-08 | International Business Machines Corporation | Metadata search results ranking system |
US6542972B2 (en) | 2000-01-31 | 2003-04-01 | Commvault Systems, Inc. | Logical view and access to physical storage in modular data and storage management system |
US6928467B2 (en) | 2000-02-02 | 2005-08-09 | Inno Path Software, Inc. | Apparatus and methods for providing data synchronization by facilitating data synchronization system design |
US7506034B2 (en) | 2000-03-03 | 2009-03-17 | Intel Corporation | Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user |
US6952737B1 (en) | 2000-03-03 | 2005-10-04 | Intel Corporation | Method and apparatus for accessing remote storage in a distributed storage cluster architecture |
US6470420B1 (en) | 2000-03-31 | 2002-10-22 | Western Digital Ventures, Inc. | Method for designating one of a plurality of addressable storage devices to process a data transfer request |
WO2001082678A2 (en) | 2000-05-02 | 2001-11-08 | Sun Microsystems, Inc. | Cluster membership monitor |
US6826564B2 (en) | 2000-07-10 | 2004-11-30 | Fastforward Networks | Scalable and programmable query distribution and collection in a network of queryable devices |
US6732237B1 (en) | 2000-08-29 | 2004-05-04 | Oracle International Corporation | Multi-tier caching system |
US20040236798A1 (en) | 2001-09-11 | 2004-11-25 | Sudhir Srinivasan | Migration of control in a distributed segmented file system |
US7406484B1 (en) | 2000-09-12 | 2008-07-29 | Tbrix, Inc. | Storage allocation in a distributed segmented file system |
US6782389B1 (en) | 2000-09-12 | 2004-08-24 | Ibrix, Inc. | Distributing files across multiple, permissibly heterogeneous, storage devices |
US6970939B2 (en) | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
EP1364510B1 (en) | 2000-10-26 | 2007-12-12 | Prismedia Networks, Inc. | Method and system for managing distributed content and related metadata |
SE520129C2 (sv) | 2000-10-27 | 2003-05-27 | Terraplay Systems Ab | Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer |
US6985956B2 (en) | 2000-11-02 | 2006-01-10 | Sun Microsystems, Inc. | Switching system |
AU2002232411A1 (en) | 2000-11-28 | 2002-06-11 | Gregory L. Gingerich | A method and system for software and hardware multiplicity |
US7165096B2 (en) | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
WO2002052097A1 (de) | 2000-12-27 | 2002-07-04 | BSH Bosch und Siemens Hausgeräte GmbH | Verfahren und vorrichtung zum glätten von kleidungsstücken |
US7266556B1 (en) * | 2000-12-29 | 2007-09-04 | Intel Corporation | Failover architecture for a distributed storage system |
US6768871B2 (en) | 2001-01-30 | 2004-07-27 | The Regents Of The University Of California | Optical layer multicasting using a multicast switch to effect survivability and security |
US6865603B2 (en) | 2001-01-31 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Correcting for network address changes |
US7069295B2 (en) | 2001-02-14 | 2006-06-27 | The Escher Group, Ltd. | Peer-to-peer enterprise storage |
US20020156912A1 (en) | 2001-02-15 | 2002-10-24 | Hurst John T. | Programming content distribution |
US7062490B2 (en) | 2001-03-26 | 2006-06-13 | Microsoft Corporation | Serverless distributed file system |
US6839815B2 (en) | 2001-05-07 | 2005-01-04 | Hitachi, Ltd. | System and method for storage on demand service in a global SAN environment |
US6918013B2 (en) | 2001-07-16 | 2005-07-12 | Bea Systems, Inc. | System and method for flushing bean cache |
US7039622B2 (en) | 2001-09-12 | 2006-05-02 | Sas Institute Inc. | Computer-implemented knowledge repository interface system and method |
US7054867B2 (en) | 2001-09-18 | 2006-05-30 | Skyris Networks, Inc. | Systems, methods and programming for routing and indexing globally addressable objects and associated business models |
GB2381427A (en) | 2001-10-27 | 2003-04-30 | Hewlett Packard Co | Spanning tree in peer to peer networks |
US7975016B2 (en) | 2001-10-29 | 2011-07-05 | Oracle America, Inc. | Method to manage high availability equipments |
US7054910B1 (en) | 2001-12-20 | 2006-05-30 | Emc Corporation | Data replication facility for distributed computing environments |
US6917941B2 (en) | 2001-12-28 | 2005-07-12 | Channel Intelligence, Inc. | Method and apparatus for creation and maintenance of database structure |
JP4202026B2 (ja) | 2002-01-31 | 2008-12-24 | 株式会社アンソナ | ストレージシステムおよびストレージ装置 |
US7243103B2 (en) | 2002-02-14 | 2007-07-10 | The Escher Group, Ltd. | Peer to peer enterprise storage system with lexical recovery sub-system |
JP4198920B2 (ja) | 2002-02-26 | 2008-12-17 | エイディシーテクノロジー株式会社 | バックアップシステム、バックアップ用プログラムおよびバックアップ方法 |
US7020665B2 (en) * | 2002-03-07 | 2006-03-28 | Microsoft Corporation | File availability in distributed file storage systems |
JP2003271316A (ja) | 2002-03-14 | 2003-09-26 | Hitachi Ltd | ストレージシステム、その動作プログラム及びその運用方法、情報処理端末及びその動作プログラム、データ管理システム |
US7257645B2 (en) | 2002-05-01 | 2007-08-14 | Bea Systems, Inc. | System and method for storing large messages |
US7305585B2 (en) | 2002-05-23 | 2007-12-04 | Exludus Technologies Inc. | Asynchronous and autonomous data replication |
US7574488B2 (en) | 2002-05-31 | 2009-08-11 | Hitachi, Ltd. | Method and apparatus for peer-to-peer file sharing |
US6732171B2 (en) | 2002-05-31 | 2004-05-04 | Lefthand Networks, Inc. | Distributed network storage system with virtualization |
US20030233455A1 (en) | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
US7631313B2 (en) | 2002-06-17 | 2009-12-08 | David Mayhew | System and method for transferring data |
US8060598B1 (en) | 2002-07-01 | 2011-11-15 | Sprint Communications Company L.P. | Computer network multicasting traffic monitoring and compensation |
JP4240930B2 (ja) | 2002-07-15 | 2009-03-18 | 株式会社日立製作所 | 複数ネットワークストレージの仮送想一元化方法及び装置 |
DE10237875A1 (de) | 2002-08-19 | 2004-03-04 | Siemens Ag | Vorrichtung, insbesondere Automatisierungsgerät, mit in Datei gespeicherter Dateiverzeichnisstruktur |
AU2003273312A1 (en) | 2002-09-10 | 2004-04-30 | Exagrid Systems, Inc. | Method and apparatus for integrating primary data storage with local remote data protection |
US7206836B2 (en) | 2002-09-23 | 2007-04-17 | Sun Microsystems, Inc. | System and method for reforming a distributed data system cluster after temporary node failures or restarts |
US7146499B2 (en) | 2002-09-30 | 2006-12-05 | International Business Machines Corporation | Security system for replicated storage devices on computer networks |
US7774466B2 (en) | 2002-10-17 | 2010-08-10 | Intel Corporation | Methods and apparatus for load balancing storage nodes in a distributed storage area network system |
CA2500166A1 (en) | 2002-10-29 | 2004-05-13 | British Telecommunications Public Limited Company | Method and apparatus for network management |
US7945669B2 (en) * | 2002-10-30 | 2011-05-17 | Emc Corporation | Method and apparatus for provisioning storage resources |
US7328243B2 (en) | 2002-10-31 | 2008-02-05 | Sun Microsystems, Inc. | Collaborative content coherence using mobile agents in peer-to-peer networks |
US7565419B1 (en) | 2002-11-22 | 2009-07-21 | Symantec Operating Corporation | Conflict resolution in a peer to peer network |
US20040139167A1 (en) | 2002-12-06 | 2004-07-15 | Andiamo Systems Inc., A Delaware Corporation | Apparatus and method for a scalable network attach storage system |
US7624158B2 (en) | 2003-01-14 | 2009-11-24 | Eycast Inc. | Method and apparatus for transmission and storage of digital medical data |
US7320009B1 (en) | 2003-03-28 | 2008-01-15 | Novell, Inc. | Methods and systems for file replication utilizing differences between versions of files |
US7328256B2 (en) | 2003-06-02 | 2008-02-05 | Apple Inc. | Method and apparatus for distributing computer files across a network to multiple clients |
US20040260775A1 (en) | 2003-06-20 | 2004-12-23 | Xerox Corporation | System and method for sending messages |
US7694086B1 (en) | 2003-06-30 | 2010-04-06 | Symantec Operating Corporation | Method and system for incremental backup of data volumes |
US7523217B2 (en) | 2003-07-15 | 2009-04-21 | Hewlett-Packard Development Company, L.P. | System and method having improved efficiency and reliability for distributing a file among a plurality of recipients |
EP1649387B1 (en) * | 2003-07-16 | 2010-11-10 | Joltid Ltd. | Distributed database system |
US20050015461A1 (en) | 2003-07-17 | 2005-01-20 | Bruno Richard | Distributed file system |
JP2005044003A (ja) | 2003-07-23 | 2005-02-17 | Fujitsu Ltd | 認証装置、方法、及びプログラム |
US6983429B2 (en) | 2003-09-30 | 2006-01-03 | Bull Hn Information Systems Inc. | Formal proof methods for analyzing circuit loading problems under operating conditions |
US7340510B1 (en) | 2003-11-18 | 2008-03-04 | Cisco Technology, Inc. | Content delivery network (CDN) replication status reporter |
US7039661B1 (en) | 2003-12-29 | 2006-05-02 | Veritas Operating Corporation | Coordinated dirty block tracking |
US7822711B1 (en) | 2003-12-31 | 2010-10-26 | Symantec Operating Corporation | Conflict resolution for a distributed file sharing system |
US7383463B2 (en) | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
US7385978B1 (en) | 2004-02-19 | 2008-06-10 | Cisco Technology, Inc. | Method and apparatus for reliable multicast distribution |
US9160571B2 (en) | 2004-03-11 | 2015-10-13 | Hewlett-Packard Development Company, L.P. | Requesting a service from a multicast network |
JP4448719B2 (ja) | 2004-03-19 | 2010-04-14 | 株式会社日立製作所 | ストレージシステム |
US7503052B2 (en) | 2004-04-14 | 2009-03-10 | Microsoft Corporation | Asynchronous database API |
US20060023969A1 (en) | 2004-04-30 | 2006-02-02 | Lara Eyal D | Collaboration and multimedia authoring |
CA2566984A1 (en) * | 2004-05-18 | 2005-12-01 | British Telecommunications Public Limited Company | Peer-to-peer networks |
US7433898B1 (en) | 2004-06-01 | 2008-10-07 | Sanbolic, Inc. | Methods and apparatus for shared storage journaling |
US7634566B2 (en) | 2004-06-03 | 2009-12-15 | Cisco Technology, Inc. | Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality |
US7873650B1 (en) | 2004-06-11 | 2011-01-18 | Seisint, Inc. | System and method for distributing data in a parallel processing system |
US20050278552A1 (en) | 2004-06-14 | 2005-12-15 | Vincent Delisle | Secure virtual account |
US20060031230A1 (en) | 2004-07-21 | 2006-02-09 | Kumar Sinha M | Data storage systems |
US20060047776A1 (en) | 2004-08-31 | 2006-03-02 | Chieng Stephen S | Automated failover in a cluster of geographically dispersed server nodes using data replication over a long distance communication link |
US20060080574A1 (en) * | 2004-10-08 | 2006-04-13 | Yasushi Saito | Redundant data storage reconfiguration |
JP4222295B2 (ja) | 2004-11-19 | 2009-02-12 | パナソニック株式会社 | ビデオサーバおよびこれを用いた映像配信システム |
US7631023B1 (en) | 2004-11-24 | 2009-12-08 | Symantec Operating Corporation | Performance-adjusted data allocation in a multi-device file system |
JP4451293B2 (ja) | 2004-12-10 | 2010-04-14 | 株式会社日立製作所 | 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法 |
US7320088B1 (en) | 2004-12-28 | 2008-01-15 | Veritas Operating Corporation | System and method to automate replication in a clustered environment |
JP4843976B2 (ja) | 2005-03-25 | 2011-12-21 | 日本電気株式会社 | レプリケーションシステムと方法 |
US7454426B2 (en) | 2005-04-12 | 2008-11-18 | International Business Machines Corporation | Referential integrity across a distributed directory |
US7631016B2 (en) | 2005-05-04 | 2009-12-08 | Oracle International Corporation | Providing the latest version of a data item from an N-replica set |
WO2006124911A2 (en) | 2005-05-18 | 2006-11-23 | Ibrix, Inc. | Balanced computer architecture |
EP1889160A2 (en) | 2005-06-09 | 2008-02-20 | Whirlpool Corporation | Software architecture system and method for communication with, and management of, at least one component within a household appliance |
US7523146B2 (en) | 2005-06-21 | 2009-04-21 | Apple Inc. | Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment |
US8401997B1 (en) | 2005-06-30 | 2013-03-19 | Symantec Operating Corporation | System and method for replication using consistency interval markers in a distributed storage environment |
US7631045B2 (en) | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
US7571168B2 (en) | 2005-07-25 | 2009-08-04 | Parascale, Inc. | Asynchronous file replication and migration in a storage network |
US9305011B2 (en) | 2005-07-27 | 2016-04-05 | Hitachi Data Systems Corporation | Method for improving mean time to data loss (MTDL) in a fixed content distributed data storage |
US20070028291A1 (en) | 2005-07-29 | 2007-02-01 | Bit 9, Inc. | Parametric content control in a network security system |
US7568069B2 (en) | 2005-07-29 | 2009-07-28 | Lsi Corporation | Method for creating a large-scale storage array system out of multiple mid-range storage arrays |
JP4747733B2 (ja) | 2005-08-22 | 2011-08-17 | ブラザー工業株式会社 | ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム |
US20070055703A1 (en) | 2005-09-07 | 2007-03-08 | Eyal Zimran | Namespace server using referral protocols |
US9996413B2 (en) | 2007-10-09 | 2018-06-12 | International Business Machines Corporation | Ensuring data integrity on a dispersed storage grid |
US7558859B2 (en) * | 2005-10-17 | 2009-07-07 | Microsoft Corporation | Peer-to-peer auction based data distribution |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
EP1949215A1 (en) | 2005-11-04 | 2008-07-30 | Thomson Licensing | Method and apparatus for managing media storage devices |
WO2007123577A1 (en) | 2005-11-23 | 2007-11-01 | Envisionit Llc | Message broadcasting admission control system and method |
EP1798934A1 (en) * | 2005-12-13 | 2007-06-20 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for organizing nodes in a network |
US7716180B2 (en) | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
US8589574B1 (en) | 2005-12-29 | 2013-11-19 | Amazon Technologies, Inc. | Dynamic application instance discovery and state management within a distributed system |
US7546484B2 (en) | 2006-02-08 | 2009-06-09 | Microsoft Corporation | Managing backup solutions with light-weight storage nodes |
US7623474B2 (en) | 2006-02-14 | 2009-11-24 | Cisco Technology, Inc. | Techniques for distributing information using multicast subsets |
US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US7778183B2 (en) * | 2006-03-31 | 2010-08-17 | International Business Machines Corporation | Data replica selector |
US7480817B2 (en) * | 2006-03-31 | 2009-01-20 | International Business Machines Corporation | Method for replicating data based on probability of concurrent failure |
US20070288638A1 (en) * | 2006-04-03 | 2007-12-13 | British Columbia, University Of | Methods and distributed systems for data location and delivery |
US8364891B2 (en) | 2006-04-04 | 2013-01-29 | Permabit Technology Corporation | Storage assignment technique for scalable and fault tolerant storage system |
US20080126357A1 (en) * | 2006-05-04 | 2008-05-29 | Wambo, Inc. | Distributed file storage and transmission system |
US8255420B2 (en) | 2006-05-23 | 2012-08-28 | Noryan Holding Corporation | Distributed storage |
JP5584910B2 (ja) | 2006-05-23 | 2014-09-10 | ノーリャン・ホールディング・コーポレイション | 分散ストレージ |
US8117155B2 (en) | 2006-06-30 | 2012-02-14 | Microsoft Corporation | Collection-based object replication |
US7546486B2 (en) | 2006-08-28 | 2009-06-09 | Bycast Inc. | Scalable distributed object management in a distributed fixed content storage system |
US20080077635A1 (en) * | 2006-09-22 | 2008-03-27 | Digital Bazaar, Inc. | Highly Available Clustered Storage Network |
US7840992B1 (en) | 2006-09-28 | 2010-11-23 | Emc Corporation | System and method for environmentally aware data protection |
US7680048B2 (en) | 2006-10-06 | 2010-03-16 | International Business Machiens Corporation | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamically adjusting local routing strategies |
US8176265B2 (en) | 2006-10-30 | 2012-05-08 | Nvidia Corporation | Shared single-access memory with management of multiple parallel requests |
US8094585B2 (en) | 2006-10-31 | 2012-01-10 | International Business Machines Corporation | Membership management of network nodes |
US8555335B2 (en) | 2006-11-01 | 2013-10-08 | Microsoft Corporation | Securing distributed application information delivery |
US8190561B1 (en) | 2006-12-06 | 2012-05-29 | At&T Mobility Ii Llc | LDAP replication priority queuing mechanism |
US7590672B2 (en) | 2006-12-11 | 2009-09-15 | Bycast Inc. | Identification of fixed content objects in a distributed fixed content storage system |
GB2445986A (en) | 2007-01-17 | 2008-07-30 | Connect Spot Ltd | Database Update Systems for Wireless communications Systems |
WO2008102195A1 (en) | 2007-02-22 | 2008-08-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Consistent and fault tolerant distributed hash table (dht) overlay network |
US8635691B2 (en) | 2007-03-02 | 2014-01-21 | 403 Labs, Llc | Sensitive data scanner |
US7584294B2 (en) | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
JP2008234445A (ja) | 2007-03-22 | 2008-10-02 | Brother Ind Ltd | コンテンツ分散保存システム、複製データ取得方法、ノード装置、及びノード処理プログラム |
US8150800B2 (en) | 2007-03-28 | 2012-04-03 | Netapp, Inc. | Advanced clock synchronization technique |
JP2008250773A (ja) | 2007-03-30 | 2008-10-16 | Brother Ind Ltd | 情報配信システム、管理装置用プログラム及び情報処理装置用プログラム |
JP4696089B2 (ja) | 2007-03-30 | 2011-06-08 | 三菱電機インフォメーションシステムズ株式会社 | 分散ストレージシステム |
TWI483584B (zh) | 2007-06-04 | 2015-05-01 | Graco Minnesota Inc | 分配式監視及控制流體處理系統 |
US7676704B2 (en) | 2007-06-29 | 2010-03-09 | Symantec Corporation | Resource management for scalable file system recovery |
WO2009032710A2 (en) | 2007-08-29 | 2009-03-12 | Nirvanix, Inc. | Filing system and method for data files stored in a distributed communications network |
US8156117B2 (en) | 2007-09-03 | 2012-04-10 | Obschestvo S Ogranichennoi Otvetstvennostiyu “Meralabs” | Method and system for storing, searching and retrieving information based on semistructured and de-centralized data sets |
US8533256B2 (en) | 2007-10-09 | 2013-09-10 | Cleversafe, Inc. | Object interface to a dispersed data storage network |
US8185614B2 (en) | 2007-10-09 | 2012-05-22 | Cleversafe, Inc. | Systems, methods, and apparatus for identifying accessible dispersed digital storage vaults utilizing a centralized registry |
US7913030B2 (en) | 2007-12-28 | 2011-03-22 | Sandisk Il Ltd. | Storage device with transaction logging capability |
US7979662B2 (en) | 2007-12-28 | 2011-07-12 | Sandisk Il Ltd. | Storage device with transaction indexing capability |
US7899850B2 (en) | 2008-02-22 | 2011-03-01 | Bycast, Inc. | Relational objects for the optimized management of fixed-content storage systems |
US20090228669A1 (en) | 2008-03-10 | 2009-09-10 | Microsoft Corporation | Storage Device Optimization Using File Characteristics |
US20090249222A1 (en) | 2008-03-25 | 2009-10-01 | Square Products Corporation | System and method for simultaneous media presentation |
US8577957B2 (en) | 2008-04-01 | 2013-11-05 | Litl Llc | System and method for streamlining user interaction with electronic content |
JP2009259007A (ja) * | 2008-04-17 | 2009-11-05 | Nippon Telegr & Teleph Corp <Ntt> | 分散格納方法、分散格納システム及び分散格納装置 |
WO2009134772A2 (en) | 2008-04-29 | 2009-11-05 | Maxiscale, Inc | Peer-to-peer redundant file server system and methods |
US8458128B2 (en) | 2008-08-26 | 2013-06-04 | Microsoft Corporation | Minimal extensions required for multi-master offline and collaboration for devices and web services |
US8255430B2 (en) | 2008-08-26 | 2012-08-28 | Caringo, Inc. | Shared namespace for storage clusters |
WO2010037117A1 (en) | 2008-09-29 | 2010-04-01 | Nirvanix, Inc. | Client application program interface for network-attached storage system |
JP5557840B2 (ja) * | 2008-10-03 | 2014-07-23 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 分散データベースの監視メカニズム |
EP2350854B1 (en) | 2008-10-17 | 2018-12-05 | Ericsson AB | Method and apparatus for efficient http data streaming |
US8347386B2 (en) | 2008-10-21 | 2013-01-01 | Lookout, Inc. | System and method for server-coupled malware prevention |
US9781148B2 (en) | 2008-10-21 | 2017-10-03 | Lookout, Inc. | Methods and systems for sharing risk responses between collections of mobile communications devices |
US8443062B2 (en) | 2008-10-23 | 2013-05-14 | Microsoft Corporation | Quorum based transactionally consistent membership management in distributed storage systems |
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
US8898236B2 (en) | 2008-10-31 | 2014-11-25 | Netapp, Inc. | Automated conversion of versioned data collections |
US8561052B2 (en) | 2008-12-08 | 2013-10-15 | Harris Corporation | Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method |
EP2377294B1 (en) | 2008-12-18 | 2017-05-17 | Scality, SA | Multipurpose storage system based upon a distributed hashing mechanism with transactional support and failover capability |
US20100185693A1 (en) | 2009-01-20 | 2010-07-22 | Murty Venkataesh V | Methods and apparatus for creating an audit trail |
US8832023B2 (en) | 2009-01-30 | 2014-09-09 | Apple Inc. | System for managing distributed assets and metadata |
US8533151B2 (en) | 2009-05-26 | 2013-09-10 | Microsoft Corporation | Generating a local copy of a virtualized application package from a local installation |
US8165122B2 (en) | 2009-05-26 | 2012-04-24 | Alcatel Lucent | System and method for converting unicast client requests into multicast client requests |
US20130254314A1 (en) | 2009-06-09 | 2013-09-26 | Edmond K. Chow | Digital content delivery |
US10108492B2 (en) | 2009-07-30 | 2018-10-23 | International Business Machines Corporation | Rebuilding data stored in a dispersed storage network |
US20110047413A1 (en) | 2009-08-20 | 2011-02-24 | Mcgill Robert E | Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer |
US8745170B2 (en) | 2009-08-27 | 2014-06-03 | Apple Inc. | Dynamic file streaming |
US8554993B2 (en) * | 2009-09-21 | 2013-10-08 | Translattice, Inc. | Distributed content storage and retrieval |
WO2011036707A1 (en) * | 2009-09-24 | 2011-03-31 | Hitachi, Ltd. | Computer system for controlling backups using wide area network |
US8620879B2 (en) | 2009-10-13 | 2013-12-31 | Google Inc. | Cloud based file storage service |
CN101710339B (zh) | 2009-11-20 | 2012-02-01 | 中国科学院计算技术研究所 | 控制机群文件系统中数据存储方法和系统及创建文件方法 |
US8190578B2 (en) | 2009-12-17 | 2012-05-29 | International Business Machines Corporation | Migration of versioned data between configuration management systems |
US8578205B2 (en) | 2010-03-15 | 2013-11-05 | Cleversafe, Inc. | Requesting cloud data storage |
CN102985911B (zh) | 2010-03-16 | 2016-07-06 | 科派恩股份有限公司 | 高度可伸缩和分布式重复数据删除 |
US20110238909A1 (en) | 2010-03-29 | 2011-09-29 | Pankaj Kumar | Multicasting Write Requests To Multiple Storage Controllers |
EP2387200B1 (en) | 2010-04-23 | 2014-02-12 | Compuverde AB | Distributed data storage |
US9357328B1 (en) | 2010-06-15 | 2016-05-31 | Thales Avionics, Inc. | Systems and methods for distributing content using attributes |
CN102947879B (zh) | 2010-06-22 | 2015-11-25 | 索尼电脑娱乐公司 | 信息处理装置 |
CN101909058B (zh) | 2010-07-30 | 2013-01-16 | 天维讯达无线电设备检测(北京)有限责任公司 | 一种适合可信连接架构的平台鉴别策略管理方法及系统 |
GB2486393B (en) | 2010-09-08 | 2016-12-28 | Saffron Digital Ltd | Delivering a file from a content provider to a client |
US9253199B2 (en) | 2010-09-09 | 2016-02-02 | Red Hat, Inc. | Verifying authenticity of a sender of an electronic message sent to a recipient using message salt |
US8660986B2 (en) | 2010-10-27 | 2014-02-25 | Microsoft Corporation | Preserving user intent in merging ordered objects |
CN103202045B (zh) | 2010-11-05 | 2016-06-01 | 交互数字专利控股公司 | 设备检验、遇险指示和补救 |
US8949828B2 (en) | 2011-01-11 | 2015-02-03 | International Business Machines Corporation | Single point, scalable data synchronization for management of a virtual input/output server cluster |
US9020996B2 (en) | 2011-06-24 | 2015-04-28 | Stephen P. LORD | Synthetic view |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US9225780B2 (en) | 2012-02-24 | 2015-12-29 | Xyratex Technology Limited | Data integrity in a networked storage system |
US20130268632A1 (en) | 2012-04-05 | 2013-10-10 | Canon Kabushiki Kaisha | Server assisted authenticated device |
US9256765B2 (en) | 2012-06-29 | 2016-02-09 | Kip Sign P1 Lp | System and method for identifying software changes |
US9344521B2 (en) * | 2012-12-13 | 2016-05-17 | Red Hat, Inc. | Pluggable infrastructure for cloud provider selection |
US9367448B1 (en) | 2013-06-04 | 2016-06-14 | Emc Corporation | Method and system for determining data integrity for garbage collection of data storage systems |
US20150288659A1 (en) | 2014-04-03 | 2015-10-08 | Bitdefender IPR Management Ltd. | Systems and Methods for Mutual Integrity Attestation Between A Network Endpoint And A Network Appliance |
-
2010
- 2010-04-23 EP EP10160910.5A patent/EP2387200B1/en active Active
- 2010-04-23 EP EP13198265.4A patent/EP2712149B1/en active Active
-
2011
- 2011-04-20 CA CA2797053A patent/CA2797053C/en not_active Expired - Fee Related
- 2011-04-20 EA EA201291023A patent/EA026842B1/ru not_active IP Right Cessation
- 2011-04-20 WO PCT/EP2011/056317 patent/WO2011131717A1/en active Application Filing
- 2011-04-20 JP JP2013505473A patent/JP5612195B2/ja not_active Expired - Fee Related
- 2011-04-20 BR BR112012027012A patent/BR112012027012A2/pt not_active Application Discontinuation
- 2011-04-20 CN CN201180028670.9A patent/CN102939740B/zh active Active
- 2011-04-20 MX MX2012012198A patent/MX2012012198A/es active IP Right Grant
- 2011-04-20 AU AU2011244345A patent/AU2011244345B2/en active Active
- 2011-04-20 KR KR1020127030479A patent/KR101905198B1/ko active IP Right Grant
- 2011-06-30 US US13/174,350 patent/US8850019B2/en not_active Expired - Fee Related
-
2012
- 2012-10-23 IL IL222630A patent/IL222630A/en active IP Right Grant
- 2012-11-21 ZA ZA2012/08755A patent/ZA201208755B/en unknown
-
2014
- 2014-09-12 US US14/485,502 patent/US9503524B2/en not_active Expired - Fee Related
-
2016
- 2016-10-26 US US15/334,551 patent/US9948716B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
IL222630A (en) | 2017-05-29 |
US20140379845A1 (en) | 2014-12-25 |
US8850019B2 (en) | 2014-09-30 |
EP2712149A3 (en) | 2014-05-14 |
JP2013525895A (ja) | 2013-06-20 |
JP5612195B2 (ja) | 2014-10-22 |
ZA201208755B (en) | 2014-01-29 |
US9503524B2 (en) | 2016-11-22 |
US9948716B2 (en) | 2018-04-17 |
CA2797053C (en) | 2016-05-31 |
AU2011244345A1 (en) | 2012-11-08 |
CA2797053A1 (en) | 2011-10-27 |
EP2712149A2 (en) | 2014-03-26 |
AU2011244345B2 (en) | 2015-01-15 |
KR101905198B1 (ko) | 2018-10-05 |
EP2712149B1 (en) | 2019-10-30 |
EP2387200B1 (en) | 2014-02-12 |
BR112012027012A2 (pt) | 2016-09-13 |
IL222630A0 (en) | 2012-12-31 |
EP2387200A1 (en) | 2011-11-16 |
US20120084383A1 (en) | 2012-04-05 |
EA201291023A1 (ru) | 2013-05-30 |
US20170048321A1 (en) | 2017-02-16 |
CN102939740A (zh) | 2013-02-20 |
CN102939740B (zh) | 2016-08-03 |
EA026842B1 (ru) | 2017-05-31 |
KR20130115983A (ko) | 2013-10-22 |
WO2011131717A1 (en) | 2011-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2012012198A (es) | Almacenamiento de datos distribuidos. | |
US11468088B2 (en) | Selection of storage nodes for storage of data | |
US9021053B2 (en) | Method and device for writing data to a data storage system comprising a plurality of data storage nodes | |
US8843710B2 (en) | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
HC | Change of company name or juridical status |
Owner name: HENKEL IRELAND LIMITED |
|
FG | Grant or registration |