ES2658993T3 - Sistemas y métodos para almacenamiento distribuido - Google Patents
Sistemas y métodos para almacenamiento distribuido Download PDFInfo
- Publication number
- ES2658993T3 ES2658993T3 ES13787573.8T ES13787573T ES2658993T3 ES 2658993 T3 ES2658993 T3 ES 2658993T3 ES 13787573 T ES13787573 T ES 13787573T ES 2658993 T3 ES2658993 T3 ES 2658993T3
- Authority
- ES
- Spain
- Prior art keywords
- portions
- computing devices
- file
- electronic file
- storage layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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
-
- 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
-
- 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/23—Updating
- G06F16/235—Update request formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Un método para almacenamiento distribuido que usa una pluralidad de dispositivos informáticos (121) acoplados de manera comunicativa mediante una red, que comprende: - almacenar un archivo electrónico (150) en una capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121); - transmitir asíncronamente el archivo electrónico (150) almacenado en la capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121), en porciones, mediante la red a otros de entre la pluralidad de dispositivos informáticos (121) tal que el archivo electrónico (150) se almacene a través de los otros dispositivos informáticos (121) en una capa (120) de almacenamiento distribuido; - transmitir asíncronamente el archivo electrónico (150) almacenado en la capa (120) de almacenamiento distribuido mediante la red a una capa (130) de almacenamiento en la nube de manera que el archivo electrónico (150) se refleje en la capa (130) de almacenamiento en la nube; - almacenar en la capa (110) de almacenamiento local de cada uno de la pluralidad de dispositivos informáticos (121), para cada archivo electrónico (150) almacenado en la capa (120) de almacenamiento distribuido, metadatos que tienen punteros a ubicaciones de las porciones de los archivos electrónicos (150) almacenados en la capa (110) de almacenamiento local y la capa (120) de almacenamiento distribuido; en el que la transmisión asincrónica del archivo electrónico (150) almacenado en la capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121) incluye: - dividir el archivo electrónico (150) en porciones de tamaño fijo o variable; - diseminar las porciones en los dispositivos de almacenamiento de los otros dispositivos informáticos (121) mediante la red; - actualizar los metadatos para incluir punteros a las ubicaciones de las porciones diseminadas; y - transmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes; y - almacenar y recuperar una versión editada del archivo electrónico (150), en el que el almacenamiento incluye, en uno de la pluralidad de dispositivos informáticos (121): - comparar la versión editada con el archivo electrónico (150) para generar un archivo de diferencias, conteniendo, el archivo de diferencias, las diferencias entre la versión editada y el archivo electrónico (150); - dividir el archivo de diferencias en porciones de tamaño fijo o variable; - diseminar las porciones del archivo de diferencias en los dispositivos de almacenamiento de los otros dispositivos informáticos (121) mediante la red; - actualizar los metadatos para incluir punteros a las ubicaciones de las porciones diseminadas del archivo de diferencias; - transmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes, y en el que recuperar la versión editada en uno de entre la pluralidad de dispositivos informáticos (121), comprende: - determinar ubicaciones de porciones del archivo electrónico (150) y porciones del archivo de diferencias de los metadatos; - recuperar las porciones del archivo electrónico (150) y el archivo de diferencias desde dichas ubicaciones, mediante la red; y - ensamblar la versión editada en base a las porciones recuperadas del archivo electrónico (150) y el archivo de diferencias en la capa (110) de almacenamiento local.
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCIÓN
Sistemas y métodos para almacenamiento distribuido Antecedentes
La materia divulgada se refiere a técnicas para almacenamiento distribuido, que incluyen una capa de almacenamiento local, una capa de almacenamiento distribuido y una capa de almacenamiento en la nube.
Ciertas soluciones convencionales de almacenamiento seguro de datos pueden ser difíciles de usar y difíciles de mantener. El equipo físico informático (hardware) y el personal de informática (IT) pueden ser caros y fallar regularmente, y tales fallos pueden dar como resultado una pérdida de datos. En relación con ciertas soluciones de almacenamiento de datos, puede ser difícil o imposible acceder a los datos de forma remota.
Los productos de almacenamiento de datos convencionales se pueden clasificar en "Almacenamiento local". "Servidores de almacenamiento de red", "Servicios de almacenamiento basados en la Web" y "Sistemas de almacenamiento distribuido". Cada categoría puede tener ventajas y desventajas relativas con respecto a proporcionar almacenamiento fiable, escalable, seguro y tolerante a fallos para entornos de oficina desde pequeños a medianos. Las unidades de disco duro locales en los ordenadores de escritorio son un lugar común para almacenar un archivo. El almacenamiento local puede proporcionar tiempos de lectura/escritura de alto rendimiento y una sensación de seguridad tangible, pero si un disco falla, se destruye o los datos se sobrescriben accidental o maliciosamente, los datos dejan de existir. Lo que es más, cuando los discos duros se llenan, los usuarios pueden intentar gestionar manualmente el espacio de almacenamiento, borrar archivos o intentar transferirlos a otra máquina, un proceso que requiere a la vez tiempo y experiencia. Compartir archivos manualmente con colegas puede crear múltiples versiones incoherentes y los archivos de correo electrónico pueden ser inseguros.
Los servidores de almacenamiento en red se pueden usar para proporcionar espacio de almacenamiento compartido para los usuarios de una organización. Los servidores de almacenamiento en red disponibles comercialmente abarcan desde enfoques de "caja en el armario" de bajo a medio alcance (denominados 'Almacenamiento conectado a la red' o NAS) hasta redes de área de almacenamiento (SAN) de canal de fibra de alta gama repletas de servidores blade y redundantes matrices de disco (por ejemplo, RAID). Los servidores de almacenamiento en red pueden proporcionar almacenamiento de alta capacidad para que los usuarios lo compartan, pero, a pesar de ello, pueden sufrir una serie de problemas bien conocidos de almacenamiento centralizado: los servidores se pueden romper, alterar, piratear y robar; pueden ser destruidos en un incendio o devastados por café; los usuarios pueden incluso sobrescribir o borrar archivos por accidente, y todos los datos se guardan de la misma manera que en el disco duro de un escritorio.
Aunque se conocen ciertas técnicas para mejorar estos problemas, que incluyen replicar datos en una ubicación remota, utilizar matrices de discos redundantes, y cifrado, tales técnicas pueden todavía incluir diversos inconvenientes, que incluyen ubicaciones aumentadas a partir de las cuales puede producirse un acceso no autorizado, un aumento del gasto y la complicación, y velocidad y conveniencia reducidas. Además, aunque los servidores de almacenamiento en red proporcionan intercambio de archivos y almacenamiento de alta capacidad, pueden ser caros de mantener y administrar.
Los servicios de almacenamiento de datos basados en la Web proporcionan medios económicos de realizar copias de seguridad y almacenar datos a través de Internet. Servicios como Amazon S3, Apple iDisk, EMC Mozy y Pro SoftNet iDrive son ejemplos de tales servicios. Algunos usuarios pueden, sin embargo, desconfiar de enviar rutinariamente su información confidencial a través de Internet, por ejemplo, debido a que perciben una protección más débil contra la búsqueda digital y la incautación de datos almacenados con un tercero. Si bien el almacenamiento basado en la Web generalmente puede servir como un servicio de copia de respaldo confiable, puede requerir una conexión a Internet constante y rápida, y puede ser demasiado lento para ser considerado una alternativa realista para el acceso y almacenamiento de archivos día a día.
Las técnicas de almacenamiento distribuido pueden incluir el almacenamiento de un archivo múltiples veces en múltiples máquinas, que distribuirán la carga y el riesgo del almacenamiento de datos: cuantas más copias de un archivo existan, menos probable es que se pierdan. Sin embargo, el que existan más copias significa que existan más lugares desde donde robar, por lo que se pueden requerir sistemas de cifrado para datos o entornos sensibles. Lo que es más, ciertos sistemas de almacenamiento distribuido existentes pueden proporcionar bajos niveles de fiabilidad y rendimiento.
De acuerdo con esto, existe la necesidad de técnicas mejoradas para el almacenamiento distribuido. Esta necesidad se aborda mediante la invención tal como se define en detalle en las reivindicaciones independientes adjuntas 1,7 y 13. El documento US 2006/230076 A1 da a conocer un sistema lógico de archivos que distribuye copias de archivos a través de diversos recursos de almacenamiento físico diferentes. El sistema de archivos distribuido usa la redundancia inteligente de datos para permitir una cantidad virtualmente infinita de almacenamiento siempre que los recursos adicionales de almacenamiento estén disponibles para el sistema de archivos distribuido.
5
10
15
20
25
30
35
40
45
50
55
60
65
El documento US 2010/332454 A1 divulga sistemas y métodos para realizar operaciones de almacenamiento de datos dentro de un entorno de nube. Los sistemas admiten una variedad de clientes y sitios de almacenamiento en la nube que pueden conectar con al sistema en un entorno de nube que requiere la transferencia de datos a través de redes de área amplia, como Internet. También se describen métodos para realizar deduplicación en contenedor para reducir la tensión en el espacio de nombres de un sistema, efectuar ahorros en los costes, etc.
El documento WO 2010/088437 A divulga un método de replicación de datos en múltiples nubes que incluye proporcionar un clúster de replicación de datos que comprende al menos un primer nodo anfitrión y al menos una primera nube de almacenamiento en línea. El primer anfitrión comprende un servidor, una aplicación de conjunto de nube y un caché local. El caché local comprende una memoria intermedia y un primer volumen de almacenamiento que comprende datos almacenados en caché en uno o más bloques de memoria intermedia de la memoria intermedia de caché local. Los metadatos que comprenden al menos un identificador único se asignan a cada uno de los uno o más bloques de memoria intermedia. El uno o más bloques de memoria intermedia se transmiten al primer almacenamiento en la nube en línea.
El documento US 2010082672 A1 divulga sistemas y métodos para gestionar datos de instancias únicas. Para cada operación de almacenamiento, se crea una carpeta de fragmentos en un dispositivo de almacenamiento. La carpeta de fragmentos contiene tres archivos: 1) un archivo que contiene objetos de datos que se han instanciado en una sola instancia; 2) un archivo que contiene objetos de datos que no han sido elegibles para instancias únicas; y 3) un archivo de metadatos usado para rastrear la ubicación de los objetos de datos dentro de los otros archivos. Una segunda operación de almacenamiento contiene referencias a objetos de datos en la carpeta de fragmentos creada por la primera operación de almacenamiento.
El documento US 2011107103 A1 divulga sistemas y métodos para almacenamiento distribuido seguro. Los datos de origen de un ordenador de origen se pueden descomponer en subunidades de almacenamiento de datos, cada una de las cuales se cifra mediante un sistema de gestión de nube u otra lógica o control. El conjunto de subunidades cifradas de almacenamiento de datos se puede registrar en una tabla u otro registro y difundirse a anfitriones de almacenamiento remotos.
Sumario
La materia divulgada se refiere a técnicas para el almacenamiento distribuido, que incluyen una capa de almacenamiento local, una capa de almacenamiento distribuido y una capa de almacenamiento en la nube. Además, la materia divulgada se relaciona con técnicas de almacenamiento distribuido con copia transparente de respaldo y seguridad de los datos con acceso mundial e historial de versiones totalmente auditable.
En un aspecto de la materia divulgada, un método para almacenamiento distribuido que usa una pluralidad de dispositivos informáticos acoplados de forma comunicativa a través de una red incluye almacenar un archivo electrónico en una capa de almacenamiento local de uno de los dispositivos informáticos. El archivo electrónico puede transmitirse de forma asíncrona, en porciones, a través de la red, a otros de la pluralidad de dispositivos informáticos de manera que el archivo electrónico se almacene a través de los otros dispositivos informáticos en la capa de almacenamiento distribuido. El archivo electrónico se puede transmitir de manera asíncrona a través de la red a una capa de almacenamiento en la nube de manera que el archivo electrónico se refleje en la capa de almacenamiento en la nube. Los metadatos para cada archivo electrónico se pueden almacenar en la capa de almacenamiento local de cada dispositivo informático. Los metadatos pueden incluir punteros a ubicaciones de las porciones de los archivos electrónicos almacenados en la capa de almacenamiento local y la capa de almacenamiento distribuido. Los archivos electrónicos almacenados en la capa de almacenamiento distribuido se pueden mostrar como si estuvieran almacenados en una sola unidad lógica.
De acuerdo con las realizaciones ejemplares, la transmisión asincrónica del archivo electrónico almacenado en la capa de almacenamiento local con un dispositivo informático puede incluir la división del archivo electrónico en porciones de tamaño fijo o variable, con la diseminación de las porciones en los dispositivos de almacenamiento de los otros dispositivos informáticos mediante la red, actualizando los metadatos para incluir punteros a las ubicaciones de porciones diseminadas, y transmitiendo los metadatos a los otros dispositivos informáticos mediante un protocolo de chismes. Las porciones diseminadas se pueden replicar en uno o más dispositivos informáticos a través de diseminación adicional.
El método puede incluir adicionalmente recuperar el archivo electrónico mediante uno de los dispositivos informáticos. El dispositivo informático puede determinar la ubicación de las porciones del archivo electrónico a partir de los metadatos almacenados localmente. Las porciones se pueden recuperar desde las ubicaciones mediante la red, y las porciones recuperadas se pueden ensamblar y almacenar en la capa de almacenamiento local del dispositivo informático. De acuerdo con una realización ejemplar, los metadatos también pueden incluir una o más de información de versión, información de acceso, información de permiso e información de ruta de unidad lógica para los archivos electrónicos almacenados en el sistema distribuido. En ciertas realizaciones, el archivo electrónico puede estar cifrado.
5
10
15
20
25
30
35
40
45
50
55
60
65
De acuerdo con otro aspecto de la materia divulgada, un sistema para almacenamiento distribuido puede incluir una capa de almacenamiento local para cada uno de una pluralidad de dispositivos informáticos y una capa de almacenamiento distribuido. Los dispositivos informáticos se pueden acoplar comunicativamente con una red, y cada uno puede tener asociado uno o más procesadores y uno o más dispositivos de almacenamiento, adaptados para realizar las técnicas descritas en el presente documento. En una realización ejemplar, los dispositivos informáticos pueden incluir uno o más ordenadores de escritorio, ordenadores portátiles o dispositivos informáticos de mano. La red puede ser una red de área local cableada o inalámbrica, intranet o internet.
En otro aspecto de la materia divulgada, las técnicas divulgadas en el presente documento se pueden materializar como un medio no transitorio legible por ordenador que almacena código ejecutable, el cual, cuando se ejecuta, puede provocar que uno o más procesadores realicen las funciones descritas en el presente documento. Alternativamente, todos o porciones de los métodos divulgados en el presente documento se pueden materializar en una circuitería cableada, sola o en conexión con código ejecutable.
Debe entenderse que tanto la descripción general anterior como la siguiente descripción detallada son ejemplares y están destinadas a proporcionar una explicación adicional de la materia divulgada reivindicada.
Los dibujos que se acompañan, que se incorporan y constituyen parte de esta memoria descriptiva, se incluyen para ilustrar y proporcionar una mayor comprensión de la materia divulgada. Junto con la descripción, los dibujos sirven para explicar los principios de la materia divulgada.
Breve descripción de los dibujos
La figura 1A es un diagrama de flujo de un método para almacenamiento distribuido de acuerdo con una realización ejemplar de la materia divulgada.
La figura 1B es un diagrama esquemático de un sistema para almacenamiento distribuido de acuerdo con una realización ejemplar de la materia divulgada.
La figura 2A es un diagrama esquemático de capas de almacenamiento de acuerdo con una realización ejemplar de la materia divulgada.
La figura 2B es un diagrama que ilustra la jerarquía de estratificación de almacenamiento de acuerdo con una realización a modo de ejemplo de la materia divulgada.
La figura 3 es un diagrama esquemático que ilustra el acceso remoto a un sistema de almacenamiento distribuido de acuerdo con una realización ejemplar de la materia divulgada.
La figura 4 es un diagrama de un archivo de metadatos de acuerdo con una realización ejemplar de la materia divulgada.
La figura 5A es un diagrama de porciones diseminadas de archivos electrónicos de acuerdo con una realización ejemplar de la materia divulgada.
La figura 5B es un diagrama que ilustra porciones diseminadas de un archivo electrónico editado de acuerdo con una realización ejemplar de la materia divulgada.
La figura 5C es un diagrama que ilustra porciones diseminadas de un archivo electrónico editado de acuerdo con otra realización ejemplar de la materia divulgada.
La figura 6C representa la visualización de una única unidad lógica de red de acuerdo con una realización ejemplar de la materia divulgada.
A lo largo de los dibujos, los mismos caracteres y números de referencia, a menos que se declare lo contrario o lo indique el contexto, se usan para indicar características, elementos, componentes o porciones similares de las realizaciones ilustradas. Lo que es más, aunque la materia divulgada se describirá ahora en detalle con referencia a las figuras, se hace así en conexión con las realizaciones ilustrativas, que están destinadas a ser no limitantes.
Descripción detallada
Un sistema de almacenamiento ejemplar de acuerdo con la materia divulgada puede incluir tres "capas" de almacenamiento. Las tres capas de almacenamiento pueden incluir una capa de almacenamiento local para cada dispositivo informático conectado al sistema, una capa de almacenamiento distribuido a través de los dispositivos informáticos y una capa de almacenamiento en la nube. El sistema de almacenamiento puede agrupar la capacidad no usada en el dispositivo informático y puede admitir el versionar, el acceso remoto y la copia de respaldo a largo
5
10
15
20
25
30
35
40
45
50
55
60
65
plazo.
Las realizaciones a modo de ejemplo de la materia divulgada se describen a continuación, con referencia a las figuras 1-6, con fines de ilustración, y no de limitación. Con fines de claridad, el método y el sistema se describen de manera concurrente y en conjunto, donde los números de referencia para el método se harán con paréntesis (), y la referencia al sistema se hará sin paréntesis.
Con referencia a la figura 1A y a la figura 1B, y de acuerdo con una realización ejemplar de la materia divulgada, las técnicas para el almacenamiento distribuido pueden incluir el uso de una pluralidad de dispositivos informáticos (por ejemplo, 111, 121a y 121b [colectivamente, 121]) acoplados comunicativamente mediante una red. Los dispositivos informáticos 121 pueden ser, por ejemplo, uno o más ordenadores de escritorio, ordenadores portátiles, dispositivos informáticos portátiles o cualquier otro dispositivo informático adecuado. La red puede ser una red de área local cableada o inalámbrica, intranet o internet. Por ejemplo, los dispositivos informáticos 121 pueden ser una serie de máquinas en un entorno de oficina, que incluyen, sin limitación, escuelas, hospitales u otros entornos que serán fácilmente evidentes para el experto en la técnica, conectados a una red de área local. Cada dispositivo informático puede tener uno o más procesadores y uno o más dispositivos de almacenamiento, tales como una o más unidades de disco duro locales, y puede tener equipo lógico informático (software), que incluye, por ejemplo, un sistema operativo (por ejemplo, Microsoft Windows, Mac OS, Linux, etc.) y aplicaciones de software que lo acompañan.
Los usuarios de los dispositivos informáticos 121 pueden guardar y recuperar archivos de acuerdo con las técnicas descritas en el presente documento. Por ejemplo, cuando un usuario que hace funcionar el dispositivo informático 111 desea guardar un archivo electrónico 150, el archivo electrónico 150 se puede almacenar (101) primero en una capa 110 de almacenamiento local de uno de los dispositivos informáticos 111. La capa 110 de almacenamiento local puede ser, por ejemplo, una porción del uno o más dispositivos 112 de almacenamiento, tal como un disco duro local, asociado con el dispositivo informático 111. El almacenamiento local puede permitir un acceso de lectura/escritura rápido y eficiente al archivo por parte del usuario que lo guarda.
Como se indicó anteriormente, el simple almacenamiento de un archivo en el almacenamiento local 112 puede incluir una serie de inconvenientes. Por consiguiente, el archivo electrónico 150 puede ser transmitido (102) asíncronamente, en porciones (por ejemplo, 151a, 151b, 151c y 151d [colectivamente, 151]), a través de la red, a otros de entre la pluralidad de dispositivos informáticos (por ejemplo, 121a y 121b) de tal manera que el archivo electrónico 150 se almacene a través de los otros dispositivos informáticos 121 en una capa 120 de almacenamiento distribuido. La capa 120 de almacenamiento distribuido (que también se puede denominar, por ejemplo, capa de almacenamiento intermedia) puede incluir almacenamiento distribuido a través de una pluralidad de máquinas conectadas mediante una red de área amplia, red de área local o similar. Cada máquina se puede configurar para el almacenamiento distribuido en otras máquinas. Por ejemplo, el software puede instalarse en cada máquina que, cuando se ejecute, permita que la máquina interactúe con las otras máquinas, de modo que un archivo particular se puede almacenar en una pluralidad de máquinas en una red de área local.
El archivo electrónico 150 puede transmitirse (103) asíncronamente de manera adicional a través de la red a una capa 130 de almacenamiento en la nube, de manera que el archivo electrónico 150 se refleja en la capa 130 de almacenamiento en la nube. Tal transmisión puede incluir, en primer lugar, cifrar los datos correspondientes al archivo 150 antes de la transmisión. Los metadatos, como se describe con más detalle a continuación, para cada archivo electrónico, pueden almacenarse en la capa 110 de almacenamiento local de cada dispositivo informático 121. Los metadatos pueden incluir punteros a ubicaciones de las porciones de los archivos electrónicos almacenados en la capa de almacenamiento local y en la capa de almacenamiento distribuido.
De acuerdo con las realizaciones ejemplares, la transmisión de manera asíncrona del archivo electrónico 150 almacenado en la capa 110 de almacenamiento local desde un dispositivo informático 111 a la capa 120 de almacenamiento distribuido puede incluir la división del archivo electrónico 150 en porciones 151 y el almacenamiento de las porciones 151 a través de los otros dispositivos informáticos 121. Las porciones 151 pueden ser porciones fijas o de tamaño variable. Por ejemplo, crear las porciones 151, que se pueden denominar "fragmentación", puede incluir romper los datos del archivo electrónico 150 en fragmentos de tamaño fijo (por ejemplo, y sin limitación, entre 4 Kb y 8 Kb de tamaño). Alternativamente, el archivo electrónico 150 se puede fragmentar en fragmentos de tamaño variable usando, por ejemplo, una técnica de ventana deslizante. En general, para fines ilustrativos y no limitativos, la técnica de ventana deslizante puede incluir fragmentos "en movimiento" hacia arriba o hacia abajo de un archivo hasta cierto punto dentro de una "ventana deslizante" predefinida en un intento de encontrar un fragmento común. Tal deslizamiento puede crear huecos que pueden llenarse con fragmentos nuevos. El experto en la técnica apreciará que también se puede usar una variedad de otras variaciones y técnicas adecuadas para dividir el archivo electrónico 150 en porciones 151, y que la materia divulgada no está destinada a limitarse a las realizaciones ejemplares descritas en el presente documento.
Las porciones 151 se pueden aplicar a los dispositivos de almacenamiento (por ejemplo, 122a y 122b [colectivamente, 122]) de los otros dispositivos informáticos 121 a través de la red. Por ejemplo, cada fragmento puede ser diseminado (por ejemplo, con el algoritmo SHA-1 o similar), produciendo un valor (a menudo denominado clave) que puede identificar la posición de un fragmento en un espacio de claves. Es decir, por ejemplo, y como se
5
10
15
20
25
30
35
40
45
50
55
60
65
describe con más detalle a continuación, para recuperar un archivo (es decir, para recuperar al menos un fragmento), el valor de diseminación puede identificar dónde se puede encontrar el fragmento. Además, si un fragmento tiene un valor idéntico a otro fragmento, su valor de diseminación será el mismo y, de este modo, no es necesario duplicar datos idénticos. Las porciones 151 diseminadas se pueden transmitir entonces, mediante la red, a otros dispositivos informáticos 121. Por ejemplo, las porciones 151a y 151d pueden transmitirse al dispositivo informático 121a y almacenarse en uno o más dispositivos 122a de almacenamiento asociados con el dispositivo informático 121a. Las porciones 151b y 151c pueden transmitirse al dispositivo informático 121 y almacenarse en uno o más dispositivos 122b de almacenamientos asociados con el dispositivo 121b de almacenamiento.
Los metadatos almacenados en cada dispositivo informático (por ejemplo, 111, 121a y 121b) se pueden actualizar entonces para incluir punteros a las ubicaciones 151 de las porciones diseminadas. Por ejemplo, el dispositivo informático 111 puede diseminar las porciones 151 y actualizar los metadatos almacenados localmente, y puede transmitir los metadatos a los otros dispositivos informáticos mediante la red, usando, por ejemplo, un protocolo de chismes. De acuerdo con ciertas realizaciones de la materia divulgada, las porciones 151 diseminadas se pueden replicar en uno o más dispositivos informáticos diferentes a través de una diseminación adicional para crear redundancias.
En una realización ejemplar y no limitativa, la diseminación de las porciones 151 en los dispositivos (por ejemplo, 122a y 122b [colectivamente, 122]) de almacenamiento de los otros dispositivos informáticos 121 mediante la red puede llevarse a cabo usando una implantación de tabla de diseminación distribuida como acorde (chord). Para fines ilustrativos, y no limitativos, cada dispositivo informático (por ejemplo, 121) puede ser un nodo de chord, donde cada nodo de chord es responsable de una porción de un espacio de claves. Cuando el archivo electrónico 150 se almacena en la capa 120 de almacenamiento distribuido, se divide en porciones ("bloques" o "bloques") 151 y cada uno de estos fragmentos se somete a diseminación, produciendo un valor que identifica la posición de cada fragmento en el espacio de claves, y por lo tanto, cada instancia de dispositivo informático en la que se almacenará cada fragmento. Es decir, por ejemplo, para recuperar datos, un dispositivo informático sólo necesita conocer el valor de diseminación de un archivo (o fragmento), que identifica dónde se pueden encontrar los datos. Dichas técnicas pueden obviar la coordinación central o la heurística de colocación de datos.
Como se indicó anteriormente, el archivo electrónico 150 puede adicionalmente transmitirse de manera asíncrona por la red a una capa 130 de almacenamiento en la nube de manera que el archivo electrónico 150 se refleja en la capa 130 de almacenamiento en la nube. De acuerdo con una realización ejemplar, con referencia a las figuras 2A y 2B, la capa 130 de almacenamiento en la nube puede incluir el conjunto de datos completo almacenado en el sistema. La capa 130 de almacenamiento en la nube puede servir como una redundancia para la capa local 110 y la capa distribuida 120, y adicionalmente o alternativamente como un repositorio de datos que excede la capacidad de las capas locales 110 y la capa distribuida 120. Por ejemplo, como se ilustra en la figura 2A, donde el sistema incluye porciones A-I de archivo, la capa 110 de almacenamiento local de un dispositivo informático puede almacenar, por ejemplo, porciones A, D y F de archivo, la capa 120 de almacenamiento distribuido puede almacenar porciones A, B, C, D, G y F de archivo, y la capa de almacenamiento en la nube puede almacenar todas las porciones de archivos A-I.
En una realización ejemplar, los datos pueden escribirse en la capa 130 de almacenamiento en la nube de una manera similar a las técnicas descritas en el presente documento para transmitir de forma asíncrona un archivo electrónico desde una capa de almacenamiento local a la capa de almacenamiento distribuido. Es decir, un archivo se puede dividir en una serie de porciones o "fragmentos" que pueden transmitirse a la capa 130 de almacenamiento en la nube. La capa 130 de almacenamiento en la nube puede incluir cualquier servicio de almacenamiento adecuado, que puede incluir uno o más dispositivos de almacenamiento, procesadores, y/o software operable para almacenar y proporcionar acceso a datos electrónicos a través de una red como Internet. Por ejemplo, la capa 130 de almacenamiento en la nube puede incluir servicios de almacenamiento Web disponibles comercialmente tales como Amazon S3, Apple iDisk, EMC Mozy y Pro SoftNet iDrive. El experto en la técnica apreciará que se puede usar una variedad de otros servicios adecuados de almacenamiento en la nube, y la materia divulgada no pretende limitarse a los ejemplos descritos en el presente documento. Por ejemplo, la capa 130 de almacenamiento en la nube no necesita estar disponible comercialmente, pero puede incluir en cambio un sistema de almacenamiento en la nube patentado.
De acuerdo con una realización ejemplar, la capa 130 de almacenamiento en la nube puede incluir archivos de una pluralidad de capas de almacenamiento distribuido, como se ilustra en la figura 2B. Por ejemplo, una empresa puede hacer funcionar una red de área local en dos ubicaciones, donde los ordenadores de cada red ejecutan el sistema descrito aquí. Aunque cada red puede tener capas (220a y 220b) de almacenamiento distribuido individuales, ambas capas se pueden incluir en la capa 130 de almacenamiento en la nube. Por ejemplo, la red de área local correspondiente a la capa 220a de almacenamiento distribuido puede incluir dos dispositivos informáticos 210a y 210b, que pueden almacenar archivos electrónicos en capas de almacenamiento local correspondientes o en la capa de almacenamiento distribuido 210a. Así mismo, la red de área local correspondiente a la capa 220b de almacenamiento distribuido puede incluir dos dispositivos informáticos 210c y 210d, que pueden almacenar archivos electrónicos en las correspondientes capas de almacenamiento local o en la capa 220b de almacenamiento distribuido. Los archivos electrónicos pueden escribirse en la capa 130 de almacenamiento en la nube desde los
5
10
15
20
25
30
35
40
45
50
55
60
65
dispositivos informáticos (por ejemplo, 210a, 210b, 210c o 210d) en los que se creó o editó un archivo, o alternativamente las porciones de archivo se pueden escribir desde las capas 220a o 220b de almacenamiento distribuido.
En una realización ejemplar, el volumen de la capa 110 de almacenamiento local puede estar limitado. Por ejemplo, el sistema se puede configurar de manera que una máquina determinada dedique 1 GB de datos al sistema. En algunas realizaciones, la capa 110 de almacenamiento local puede actuar como un caché. Por ejemplo, un archivo puede ser reasignado desde el almacenamiento local después de un lapso de tiempo predeterminado. Adicional o alternativamente, los archivos se pueden retirar del almacenamiento local 110 de acuerdo con un modelo heurístico. La capa 120 de almacenamiento distribuido también puede actuar como un caché para la capa 130 de almacenamiento en la nube. Por ejemplo, y como se indicó anteriormente, un archivo electrónico se puede enviar de forma asíncrona al almacenamiento distribuido local 110, donde los datos pueden almacenarse usando, por ejemplo, chord para determinar la colocación. Los datos enviados al almacenamiento distribuido de la capa 110 se pueden replicar, de modo que permanecen disponibles a pesar del fallo de n-1 máquinas que contienen los datos, donde los datos se replican n veces. La operación para almacenar en la capa 120 de almacenamiento distribuido se puede ejecutar de forma asíncrona, por lo que el usuario o la aplicación que almacena los datos del archivo no necesitan esperar a que se complete la operación de almacenamiento distribuido. En algunos casos, la capacidad de la capa 120 de almacenamiento distribuido puede ser menor que la cantidad total de datos en el sistema de almacenamiento, en cuyo caso la capa 120 de almacenamiento distribuido puede actuar como caché para la capa 130 de almacenamiento en la nube. La capa 130 de almacenamiento en la nube puede almacenar todo el conjunto de datos que está almacenado en el sistema de almacenamiento. Las actualizaciones se pueden escribir en el almacenamiento en la nube de forma asincrónica, y en ciertas realizaciones también se pueden poner en cola antes de enviarse. La puesta en cola puede permitir que el sistema suba una serie de actualizaciones cortas como una sola unidad, en lugar de enviar repetidamente nuevas actualizaciones a medida que surgen.
La capa 130 de almacenamiento en la nube puede proporcionar adicionalmente acceso remoto al sistema, por ejemplo a través de Internet desde una ubicación alejada de una red de área local en la que está instalado el sistema. Por ejemplo, con referencia a la figura 3, un dispositivo informático remoto 310 puede acceder a un archivo electrónico almacenado en la capa 130 de almacenamiento en la nube. El dispositivo informático remoto 310 puede acceder de este modo a archivos reflejados desde la capa 120 de almacenamiento distribuido mediante la capa 130 de almacenamiento en la nube.
Según se materializa en el presente documento, la capa 110 de almacenamiento local de cada dispositivo informático en una capa 120 de almacenamiento distribuido puede almacenar metadatos relacionados con los archivos electrónicos almacenados en la capa 120 de almacenamiento distribuido y la capa 110 de almacenamiento local. De acuerdo con una realización ejemplar, y con referencia a la figura 4, los metadatos pueden incluir, para cada archivo electrónico almacenado (por ejemplo, para el archivo 150), información 420 de versión, información de acceso, información de permiso e información 410 de ruta de accionamiento lógico.
Con fines ilustrativos, y no limitativos, la figura 4 muestra los metadatos de un archivo, llamados "test.txt" que tienen tres versiones: V0 430, V1 440 y V2, 450. Como se ilustra mediante la figura 4, la información 410 de ruta de unidad lógica puede incluir una cadena representativa de cómo el archivo 150 se representará a un usuario. Por ejemplo, el nombre y la ruta del archivo 150 se pueden representar como "C:\test.txt". Los archivos, incluido el archivo 150, se pueden representar como almacenados no obstante en una única unidad lógica, como se muestra en la figura 6 con fines ilustrativos y no limitativos. Es decir, que cada dispositivo informático se puede configurar para representar archivos almacenados en la capa de almacenamiento distribuido como si estuvieran almacenados en una única unidad lógica 600.
La versión V0 430 y la versión V1 440 se pueden almacenar como archivos completos, y la versión V2 450 se puede almacenar como un diferencial para comparar con la versión anterior, V1 440, como se describe con más detalle a continuación. Es decir, la versión V0 430 puede incluir información de acceso que incluye punteros 431 a la ubicación de las porciones diseminadas de la versión V0 del archivo 150. Asimismo, la versión V1 440 puede incluir información de acceso que incluye punteros 441 a la ubicación de las porciones diseminadas de la versión V1 del archivo 150. Para recuperar la versión V0 430 o la versión V1 440, estos punteros se pueden resolver y un dispositivo informático puede solicitar las porciones necesarias para crear una copia local de la versión del archivo. La versión V2 450 puede incluir información de acceso que incluya un puntero 451 a la versión anterior V1 440 y un puntero 452 a un archivo de diferencias 453. Para recuperar la versión V2 450, estos punteros pueden resolverse y un dispositivo informático puede solicitar las porciones de V1 441 y el archivo de diferencias 453 para crear una copia local de la versión V2 450 del archivo 150.
Cuando se almacenan localmente, los metadatos correspondientes al archivo 150 almacenados localmente pueden incluir un puntero a la ubicación del archivo en el almacenamiento local. Por ejemplo, recuperar el archivo electrónico 150 en uno de entre la pluralidad de dispositivos informáticos puede incluir determinar las ubicaciones (por ejemplo, usando punteros 431, 441, o 451 y 452) de porciones del archivo electrónico 150 a partir de los metadatos. Las porciones se pueden recuperar luego de esas ubicaciones, mediante la red, y ser ensambladas y almacenadas en la capa de almacenamiento local del dispositivo informático. Los metadatos en el dispositivo
5
10
15
20
25
30
35
40
45
50
55
60
65
informático se pueden actualizar después para incluir punteros a las porciones almacenadas localmente en lugar de las porciones almacenadas en la capa de almacenamiento distribuido.
Con fines ilustrativos, y no limitativos, las figuras 5A, 5B y 5C ilustran porciones (fragmentos) de archivos diseminados a modo de ejemplo en conexión con los metadatos almacenados de acuerdo con la materia divulgada. La figura 5A muestra un ejemplo en el que tres porciones 510 se almacenan en la capa de almacenamiento distribuido del sistema descrito en el presente documento. Las tres porciones incluyen porciones que corresponden a dos archivos, el archivo X 530 y el archivo Y 540. Cada porción puede ser diseminada 520 como se describe en el presente documento para generar diseminaciones correspondientes a las porciones (C, M y O) de archivo. El archivo X 530 se puede solicitar emitiendo una llamada de búsqueda para las porciones C y M. El archivo Y 540 puede incluir cierta superposición con el archivo X 530 y, de este modo, se puede solicitar emitiendo una llamada de búsqueda para las porciones O y M. Como el archivo X 530 y el archivo Y 540 comparten porciones M, el bloque M no necesita almacenarse dos veces.
Como se indicó anteriormente en el presente documento, las ediciones o actualizaciones de un archivo pueden almacenarse creando un archivo de diferencias, que permite que la nueva versión del archivo se calcule a partir de la versión anterior, o almacenando una versión completamente nueva del archivo. La figura 5B muestra una edición ejemplar del archivo X 530 creando una nueva versión del archivo. En este escenario ejemplar, cinco porciones 511 pueden ser almacenadas en la capa de almacenamiento distribuido y diseminadas (B, C, G, M, O) 521 de acuerdo con las técnicas descritas en el presente documento. Estas porciones 511 pueden incluir porciones correspondientes a dos archivos, archivo X y archivo Y 541, donde el archivo X tiene dos versiones 531 a y 531 b. La versión V1 531 b y la versión V2 531a del archivo X se pueden solicitar emitiendo una llamada de búsqueda para las porciones C y M y las porciones B y M, respectivamente. Es decir que, por ejemplo, la versión V2 531a del archivo X puede incluir una edición correspondiente sólo a una de las porciones de archivo de la versión V1 531b (por ejemplo, la porción C de la versión V1 531b). De la misma manera, el archivo Y 541 puede incluir cierta superposición con el archivo X, de modo que ambos archivos incluyen porciones M.
La figura 5C muestra una edición ejemplar del archivo X 530 creando un archivo de diferencias basado en la versión anterior. En tal escenario, la diferencia se puede calcular y almacenar en una o más porciones nuevas. Seis porciones 512 pueden ser almacenadas en la capa de almacenamiento distribuido y diseminadas (A, B, C, G, M, O) 522 como se describe en el presente documento. El archivo X puede incluir dos versiones 532a y 532b. La versión V1 532b del archivo X se puede solicitar emitiendo una llamada de búsqueda para las porciones C y M como se describió anteriormente. Sin embargo, una edición en el archivo X para crear la versión V2 532a puede incluir el almacenamiento de la porción A, que puede ser representativa de los cambios relativos a la versión V1 532b. Es decir que, por ejemplo, la versión V2 531a del archivo X puede solicitarse emitiendo una llamada de búsqueda para las porciones de la versión V1 531b, además de emitir una llamada de búsqueda para la porción A. El dispositivo informático solicitante puede entonces realizar una operación en los bloques solicitados para ensamblar la versión V2 531a en la capa de almacenamiento local. De acuerdo con la materia divulgada, las ediciones de un archivo se pueden almacenar utilizando ya sea una nueva versión o un archivo de diferencias, en base a la magnitud de los cambios hechos en el archivo. Además, cuando se han realizado una gran cantidad de diferencias, las diferencias se pueden combinar en una única versión para mejorar la velocidad de las operaciones de búsqueda.
En una realización ejemplar, el volumen de la capa de almacenamiento local puede ser limitado. Por ejemplo, el sistema se puede configurar de tal modo que una máquina determinada dedique 1 GB de datos al sistema. En algunas realizaciones, la capa de almacenamiento local puede actuar como un caché. Por ejemplo, un archivo puede ser reasignado desde el almacenamiento local después de un lapso de tiempo predeterminado. De manera adicional o alternativa, los archivos se pueden eliminar del almacenamiento local de acuerdo con una heurística. Con fines ilustrativos, y no limitativos, si una máquina tiene una gran capacidad, puede controlar una porción más grande del espacio de claves que un nodo con poca capacidad. Por ejemplo, a un dispositivo informático con gran capacidad se le pueden asignar varios nodos lógicos, otorgándole una mayor porción del espacio de claves. Sin embargo, tal configuración puede implicar la diseminación de porciones de archivo en diferentes nodos lógicos en la misma máquina física. En consecuencia, la asignación de un nodo a una parte del espacio de claves puede realizarse de tal manera que los nodos lógicos en la misma máquina ocupen porciones consecutivas del espacio de claves.
En ciertas circunstancias, las técnicas descritas en el presente documento pueden conducir a actualizaciones o ediciones contradictorias (por ejemplo, actualización simultánea o creación del mismo archivo, renombrar de manera concurrente el mismo archivo, o el borrado de un archivo justo cuando se actualiza una copia). En tales escenarios, y de acuerdo con la materia divulgada, una actualización "ganadora" se puede propagar a otros dispositivos informáticos en base a la marca de tiempo de la actualización, o, si las marcas de tiempo de las actualizaciones competidoras son las mismas, en base a una identificación del dispositivo informático. La actualización "perdedora" se puede conservar en un nuevo archivo añadido al sistema, que puede recibir un nombre basado en el archivo original. Se puede crear un archivo de conflicto para actualizaciones en conflicto, y los metadatos almacenados en cada dispositivo informático se pueden actualizar para hacer referencia al nuevo archivo con la actualización "perdida".
5
10
15
20
25
30
35
40
45
Durante la inicialización, cada dispositivo informático puede unirse al sistema usando un servicio de descubrimiento. Por ejemplo, un dispositivo informático puede anunciar su presencia en la red tras la inicialización. Cada dispositivo informático también puede ejecutar un hilo de descubrimiento que pueda monitorizar la red para que los nuevos dispositivos informáticos se activen.
Las técnicas descritas en el presente documento pueden proporcionar un sistema de almacenamiento que combina los puntos fuertes y mitiga los puntos débiles de las soluciones de almacenamiento de datos existentes, incluyendo un sistema de almacenamiento con la velocidad de escritura del almacenamiento local y el espacio de almacenamiento compartido de los servidores de almacenamiento en red. Una capa de almacenamiento distribuido puede agrupar la capacidad no utilizada en las máquinas de oficina existentes -capacidad que, de otro modo, se desperdiciaría- y puede distribuir tanto la carga como el riesgo de almacenamiento de datos entre ellas. Se puede usar una capa segura de almacenamiento en la nube para crear versiones, acceso remoto y copias de respaldo a largo plazo. Las técnicas divulgadas en el presente documento pueden proporcionar historiales completos de versiones de archivos con fines de auditoría y cumplimiento sin la necesidad de personal de informática, mantenimiento y nuevos equipos físicos informáticos.
Lo que es más, las técnicas descritas en el presente documento pueden proporcionar escalabilidad y extensibilidad en las diferentes políticas que se pueden disponer para diferentes requisitos de organización. Por ejemplo, la política para un bufete de abogados puede dictar el uso de memoria transitoria para el caché de archivos, borrando cualquier copia local en el momento en que se desenchufa la máquina. También se pueden especificar múltiples instalaciones de respaldo basadas en internet en múltiples jurisdicciones internacionales, para las que sólo se almacenen porciones de la copia total de respaldo -cada una inutilizable por sí sola- reduciendo de este modo la amenaza de actos de búsqueda y captura digital de manera similar a ECPA.
Como se describió anteriormente en conexión con ciertas realizaciones, ciertos componentes, por ejemplo, la capa 110 de almacenamiento local, la capa 120 de almacenamiento distribuido y la capa 130 de almacenamiento en la nube, pueden incluir un ordenador u ordenadores, procesador, red, dispositivo móvil, clúster u otro equipo físico informático (hardware) para realizar diversas funciones. Lo que es más, ciertos elementos de la materia divulgada se pueden materializar en un código legible por ordenador que se puede almacenar en un medio legible por ordenador y que, cuando se ejecuta, hace que un procesador realice ciertas funciones. En estas realizaciones, el ordenador juega un papel importante, al permitir el sistema y el método para el almacenamiento distribuido a través de una red, por ejemplo, una red de área local y/o Internet. Por ejemplo, la presencia del ordenador, el procesador, la memoria, el almacenamiento y el hardware de red proporcionan la agrupación de la capacidad no utilizada en los dispositivos informáticos y pueden proporcionar soporte para versionar, acceso remoto y copia de respaldo a largo plazo.
Adicionalmente, como se describió anteriormente en conexión con ciertas realizaciones, ciertos componentes pueden comunicarse con ciertos otros componentes, por ejemplo mediante una red, por ejemplo, Internet. En la medida en que no se haya establecido expresamente con anterioridad, la materia divulgada está destinada a abarcar ambos lados de cada transacción, incluida la transmisión y la recepción. Un experto en la técnica entenderá fácilmente que, con respecto a las características descritas anteriormente, si un componente transmite, envía o, de otro modo, se pone a disposición de otro componente, el otro componente recibirá o adquirirá, haya sido ya establecido expresamente o no.
La materia actualmente divulgada no se ha de limitar en alcance por las realizaciones específicas del presente documento. De hecho, diversas modificaciones de la materia divulgada, además de las descritas en el presente documento, serán evidentes para el experto en la técnica a partir de la descripción anterior y las figuras que la acompañan. Tales modificaciones están destinadas a caer dentro del alcance de las reivindicaciones adjuntas.
Claims (18)
- 5101520253035404550556065REIVINDICACIONES1. Un método para almacenamiento distribuido que usa una pluralidad de dispositivos informáticos (121) acoplados de manera comunicativa mediante una red, que comprende:• almacenar un archivo electrónico (150) en una capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121);• transmitir asíncronamente el archivo electrónico (150) almacenado en la capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121), en porciones, mediante la red a otros de entre la pluralidad de dispositivos informáticos (121) tal que el archivo electrónico (150) se almacene a través de los otros dispositivos informáticos (121) en una capa (120) de almacenamiento distribuido;• transmitir asíncronamente el archivo electrónico (150) almacenado en la capa (120) de almacenamiento distribuido mediante la red a una capa (130) de almacenamiento en la nube de manera que el archivo electrónico (150) se refleje en la capa (130) de almacenamiento en la nube;• almacenar en la capa (110) de almacenamiento local de cada uno de la pluralidad de dispositivos informáticos (121), para cada archivo electrónico (150) almacenado en la capa (120) de almacenamiento distribuido, metadatos que tienen punteros a ubicaciones de las porciones de los archivos electrónicos (150) almacenados en la capa (110) de almacenamiento local y la capa (120) de almacenamiento distribuido;en el que la transmisión asincrónica del archivo electrónico (150) almacenado en la capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121) incluye:- dividir el archivo electrónico (150) en porciones de tamaño fijo o variable;- diseminar las porciones en los dispositivos de almacenamiento de los otros dispositivos informáticos (121) mediante la red;- actualizar los metadatos para incluir punteros a las ubicaciones de las porciones diseminadas; y- transmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes; y• almacenar y recuperar una versión editada del archivo electrónico (150),en el que el almacenamiento incluye, en uno de la pluralidad de dispositivos informáticos (121):- comparar la versión editada con el archivo electrónico (150) para generar un archivo de diferencias, conteniendo, el archivo de diferencias, las diferencias entre la versión editada y el archivo electrónico (150);- dividir el archivo de diferencias en porciones de tamaño fijo o variable;- diseminar las porciones del archivo de diferencias en los dispositivos de almacenamiento de los otros dispositivos informáticos (121) mediante la red;- actualizar los metadatos para incluir punteros a las ubicaciones de las porciones diseminadas del archivo de diferencias;- transmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes, yen el que recuperar la versión editada en uno de entre la pluralidad de dispositivos informáticos (121), comprende:- determinar ubicaciones de porciones del archivo electrónico (150) y porciones del archivo de diferencias de los metadatos;- recuperar las porciones del archivo electrónico (150) y el archivo de diferencias desde dichas ubicaciones, mediante la red; y- ensamblar la versión editada en base a las porciones recuperadas del archivo electrónico (150) y el archivo de diferencias en la capa (110) de almacenamiento local.
- 2. El método de la reivindicación 1, que comprende adicionalmente representar, con un dispositivo de visualización5101520253035404550556065acoplado con uno de los dispositivos informáticos (121), los archivos electrónicos (150) almacenados en la capa (120) de almacenamiento distribuido, como si estuvieran almacenados en una única unidad lógica.
- 3. El método de la reivindicación 1, en el que la pluralidad de dispositivos informáticos (121) incluye uno o más de entre un ordenador de escritorio, un ordenador portátil o un dispositivo informático de mano; o en el que la red incluye una o más de una red de área local cableada, una red de área local inalámbrica, una intranet o Internet.
- 4. El método de la reivindicación 1, que comprende adicionalmente replicar las porciones diseminadas en uno o más dispositivos informáticos (121) a través de una diseminación adicional.
- 5. El método de la reivindicación 1, que comprende adicionalmente:i) acceder de manera remota al archivo electrónico (150), en el que acceder de manera remota incluye, en un dispositivo informático remoto, recuperar el archivo electrónico (150) desde la capa (130) de almacenamiento en la nube; oii) cifrar el archivo electrónico (150).
- 6. El método de la reivindicación 1, en el que los metadatos incluyen adicionalmente una o más de entre información de versión, información de acceso, información de permiso, e información de ruta de unidad lógica sobre el archivo electrónico (150).
- 7. Un medio no transitorio legible por ordenador, que contiene instrucciones ejecutables por ordenador que cuando se ejecutan hacen que uno o más dispositivos informáticos realicen un método para almacenamiento distribuido utilizando una pluralidad de dispositivos informáticos (121) acoplados comunicativamente a través de una red, que comprende:• almacenar un archivo electrónico (150) en una capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121);• transmitir asíncronamente el archivo electrónico (150) almacenado en la capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121), en porciones, mediante la red, a otros de entre la pluralidad de dispositivos informáticos (121) tal que el archivo (150) se almacene a través de los otros dispositivos informáticos (121) en una capa (120) de almacenamiento distribuido;• transmitir asíncronamente el archivo electrónico (150) almacenado en la capa (120) de almacenamiento distribuido mediante la red a una capa (130) de almacenamiento en la nube tal que el archivo electrónico (150) se refleje en la capa (130) de almacenamiento en la nube;• almacenar en la capa (110) de almacenamiento local de cada uno de entre la pluralidad de dispositivos informáticos (121), para cada archivo electrónico (150) almacenado en la capa (120) de almacenamiento distribuido, metadatos que tienen punteros a ubicaciones de las porciones de los archivos electrónicos (150) almacenados en la capa (110) de almacenamiento local y la capa (120) de almacenamiento distribuido;en el que la transmisión asincrónica del archivo electrónico (150) almacenado en la capa (110) de almacenamiento local de uno de entre la pluralidad de dispositivos informáticos (121) incluye:dividir el archivo electrónico (150) en porciones de tamaño fijo o variable;diseminar las porciones en los dispositivos de almacenamiento de los otros dispositivos informáticos (121) mediante la red;actualizar los metadatos para incluir punteros a las ubicaciones de las porciones diseminadas; ytransmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes; y• almacenar y recuperar una versión editada del archivo electrónico (150),en el que el almacenamiento incluye, en uno de entre la pluralidad de dispositivos informáticos (121):- comparar la versión editada con el archivo electrónico (150) para generar un archivo de diferencias, conteniendo, el archivo de diferencias, las diferencias entre la versión editada y el archivo electrónico (150);- dividir el archivo de diferencias en porciones de tamaño fijo o variable;5101520253035404550556065- diseminar las porciones del archivo de diferencias en los dispositivos de almacenamiento de los otros dispositivos informáticos (121) mediante la red;- actualizar los metadatos para incluir punteros a las ubicaciones de las porciones de diseminación del archivo de diferencias;- transmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes, yen el que la recuperación de la versión editada en uno de entre la pluralidad de dispositivos informáticos (121), comprende:- determinar ubicaciones de porciones del archivo electrónico (150) y porciones del archivo de diferencias de los metadatos;- recuperar las porciones del archivo electrónico (150) y el archivo de diferencias desde dichas ubicaciones, mediante la red; y- ensamblar la versión editada en base a las porciones recuperadas del archivo electrónico (150) y el archivo de diferencias en la capa (110) de almacenamiento local.
- 8. El medio no transitorio legible por ordenador de la reivindicación 7, que comprende adicionalmente visualizar, con un dispositivo de visualización acoplado con uno de los dispositivos informáticos (121), los archivos electrónicos (150) almacenados en la capa (120) de almacenamiento distribuido como si estuvieran almacenados en una sola unidad lógica.
- 9. El medio no transitorio legible por ordenador de la reivindicación 7, en el que la pluralidad de dispositivos informáticos (121) incluye uno o más de entre un ordenador de escritorio, un ordenador portátil o un dispositivo informático de mano; oen el que la red incluye una o más de entre una red de área local cableada, una red de área local inalámbrica, una intranet o Internet.
- 10. El medio no transitorio legible por ordenador de la reivindicación 7, que comprende adicionalmente replicar las porciones diseminadas en uno o más dispositivos informáticos (121) a través de una diseminación adicional.
- 11. El medio no transitorio legible por ordenador de la reivindicación 7, que comprende adicionalmente:i) el acceso remoto al archivo electrónico (150), en el que el acceso remoto incluye, en un dispositivo informático remoto, recuperar el archivo electrónico (150) desde la capa (130) de almacenamiento en la nube; oii) cifrar el archivo electrónico (150).
- 12. El medio no transitorio legible por ordenador de la reivindicación 7, en el que los metadatos incluyen adicionalmente una o más de entre información de versión, información de acceso, información de permiso e información de ruta de unidad lógica sobre el archivo electrónico (150).
- 13. Un sistema para almacenamiento distribuido, que comprende:una pluralidad de dispositivos informáticos (121) acoplados comunicativamente con una red, teniendo cada dispositivo informático asociado uno o más procesadores y uno o más dispositivos de almacenamiento;una capa (120) de almacenamiento distribuido que incluye una porción del uno o más dispositivos de almacenamiento de cada uno de la pluralidad de dispositivos informáticos (121);una capa (110) de almacenamiento local definida en el uno o más dispositivos de almacenamiento de cada dispositivo informático que tiene almacenados metadatos que tienen punteros a ubicaciones de las porciones de archivos electrónicos (150) almacenados en la capa (110) de almacenamiento local y la capa de almacenamiento distribuida ( 120);en el que uno o más procesadores de cada dispositivo informático están configurados para comunicarse, mediante la red, con otros de entre uno o más dispositivos informáticos (121), de manera que porciones de un archivo electrónico (150) almacenadas en la capa (110) de almacenamiento local de un primer dispositivo informático se almacenen de manera asíncrona en los otros dispositivos informáticos (121) en la capa (120) de almacenamiento5101520253035404550556065distribuido; yen el que uno o más procesadores de cada dispositivo informático están configurados para comunicarse, mediante la red, con una capa (130) de almacenamiento en la nube tal que el archivo electrónico (150) almacenado en la capa (120) de almacenamiento distribuido se refleje de manera asincrónica en la capa en la nube;en el que el uno o más procesadores del primer dispositivo informático están configurados adicionalmente para dividir el archivo electrónico (150) en porciones de tamaño fijo o variable, diseminar las porciones en los dispositivos de almacenamiento de los otros dispositivos informáticos (121), mediante la red, actualizar los metadatos para incluir punteros a las ubicaciones de las porciones diseminadas, y transmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes tal que las porciones del archivo electrónico (150) se almacenen asíncronamente en los otros dispositivos informáticos (121) en la capa (120) de almacenamiento distribuido, yen el que uno o más procesadores del primer dispositivo informático están configurados adicionalmente para almacenar una versión editada del archivo electrónico (150), en el que dicho almacenamiento incluye:- comparar la versión editada con el archivo electrónico (150) para generar un archivo de diferencias, conteniendo el archivo de diferencias las diferencias entre la versión editada y el archivo electrónico (150);- dividir el archivo de diferencias en porciones de tamaño fijo o variable;- diseminar las porciones del archivo de diferencias en los dispositivos de almacenamiento de los otros dispositivos informáticos (121) mediante la red;- actualizar los metadatos para incluir punteros a las ubicaciones de las porciones de diseminación del archivo de diferencias;- transmitir, mediante la red, los metadatos a los otros dispositivos informáticos (121) usando un protocolo de chismes; yen el que el uno o más procesadores de un segundo dispositivo informático están configurados para recuperar la versión editada del archivo electrónico (150), en el que dicha recuperación de la versión editada comprende:- determinar ubicaciones de porciones del archivo electrónico (150) y porciones del archivo de diferencias a partir de los metadatos;- recuperar las porciones del archivo electrónico (150) y el archivo de diferencias desde dichas ubicaciones, mediante la red; y- ensamblar la versión editada en base a las porciones recuperadas del archivo electrónico (150) y el archivo de diferencias en la capa (110) de almacenamiento local.
- 14. El sistema de la reivindicación 13, en el que uno o más procesadores de cada dispositivo informático están configurados para representar, con un dispositivo de visualización acoplado con uno de los dispositivos informáticos (121), los archivos electrónicos (150) almacenados en la capa (120) de almacenamiento distribuido como si estuvieran almacenados en una única unidad lógica.
- 15. El sistema de la reivindicación 13, en el que la pluralidad de dispositivos informáticos (121) incluye uno o más de entre un ordenador de escritorio, un ordenador portátil o un dispositivo informático portátil; oen el que la red incluye una o más de entre una red de área local cableada, una red de área local inalámbrica, una intranet o Internet.
- 16. El sistema de la reivindicación 13, en el que el uno o más procesadores de cada uno de la pluralidad de dispositivos informáticos (121) están configurados adicionalmente para replicar las porciones diseminadas en uno o más dispositivos informáticos (121) a través de una diseminación adicional.
- 17. El sistema de la reivindicación 13, que comprende adicionalmente un dispositivo informático remoto que tiene uno o más procesadores configurados para acceder de manera remota al archivo electrónico (150) recuperando el archivo electrónico (150) a partir de la capa (130) de almacenamiento en la nube.
- 18. El sistema de la reivindicación 13, en el que los metadatos incluyen adicionalmente una o más de entre información de versión, información de acceso, información de permiso, e información de ruta de unidad lógica sobre el archivo electrónico (150); o en el que el uno o más procesadores de cada uno de la pluralidad de dispositivosinformáticos (121) está configurado adicionalmente para cifrar el archivo electrónico (150).
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261645508P | 2012-05-10 | 2012-05-10 | |
US201261645505P | 2012-05-10 | 2012-05-10 | |
US201261645505P | 2012-05-10 | ||
US201261645508P | 2012-05-10 | ||
PCT/US2013/040299 WO2013169997A2 (en) | 2012-05-10 | 2013-05-09 | Systems and methods for distributed storage |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2658993T3 true ES2658993T3 (es) | 2018-03-13 |
Family
ID=49549456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES13787573.8T Active ES2658993T3 (es) | 2012-05-10 | 2013-05-09 | Sistemas y métodos para almacenamiento distribuido |
Country Status (11)
Country | Link |
---|---|
US (2) | US9542466B2 (es) |
EP (2) | EP3258369B1 (es) |
JP (2) | JP6151353B2 (es) |
CN (1) | CN104885076B (es) |
BR (1) | BR112014027966A2 (es) |
CA (1) | CA2873289A1 (es) |
ES (1) | ES2658993T3 (es) |
IL (1) | IL235587A0 (es) |
IN (1) | IN2014DN10026A (es) |
PL (1) | PL2847694T3 (es) |
WO (1) | WO2013169997A2 (es) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542466B2 (en) * | 2012-05-10 | 2017-01-10 | Aetherstore Inc. | Systems and methods for distributed storage |
US9870374B2 (en) * | 2012-08-31 | 2018-01-16 | Microsoft Technology Licensing, Llc | Replicating data across data centers |
US20140195516A1 (en) * | 2013-01-09 | 2014-07-10 | Dropbox, Inc. | Systems and methods for presenting content items in a collections view |
US9159149B2 (en) * | 2013-03-14 | 2015-10-13 | Interntional Business Machines Corporation | Visualizing data transfers in distributed file system |
US9311326B2 (en) * | 2013-04-12 | 2016-04-12 | Alterante, Inc. | Virtual file system for automated data replication and review |
CN106576078B (zh) * | 2014-08-26 | 2020-06-23 | Ctera网络有限责任公司 | 用于在云存储系统中路由数据流的方法和系统 |
US10594681B2 (en) | 2014-10-30 | 2020-03-17 | Lenovo (Singapore) Pte. Ltd. | Aggregate service with user interface |
JP6571202B2 (ja) * | 2015-05-27 | 2019-09-04 | グーグル エルエルシー | モバイルデバイス上の自動的なクラウドベースの全データバックアップおよびリストアのためのシステムおよび方法 |
US10887371B2 (en) | 2015-09-14 | 2021-01-05 | Google Llc | Systems and methods for content storage and retrieval |
CN105608193B (zh) * | 2015-12-23 | 2019-03-26 | 深信服科技股份有限公司 | 分布式文件系统的数据管理方法和装置 |
CN109976667B (zh) * | 2016-01-26 | 2021-09-14 | 华为技术有限公司 | 一种镜像管理方法、装置及系统 |
JP7352289B2 (ja) * | 2016-02-22 | 2023-09-28 | 株式会社croco | ネットワーク通信システム |
JP6854997B2 (ja) * | 2016-02-22 | 2021-04-07 | 株式会社croco | ネットワーク通信システム |
CN107340971B (zh) * | 2016-04-28 | 2019-05-07 | 优刻得科技股份有限公司 | 一种数据存储与恢复架构与方法 |
CN107423301B (zh) * | 2016-05-24 | 2021-02-23 | 华为技术有限公司 | 一种数据处理的方法、相关设备及存储系统 |
CN105915542A (zh) * | 2016-06-08 | 2016-08-31 | 惠众商务顾问(北京)有限公司 | 基于随机指令分布式云认证系统、装置及方法 |
EP3436949A4 (en) * | 2016-07-29 | 2020-03-25 | Hewlett-Packard Development Company, L.P. | DATA RECOVERY WITH AUTHENTICITY |
US10209901B2 (en) * | 2017-01-04 | 2019-02-19 | Walmart Apollo, Llc | Systems and methods for distributive data storage |
US11210270B2 (en) * | 2017-03-09 | 2021-12-28 | Microsoft Technology Licensing, Llc | Mapping storage across storage providers |
CN108667884B (zh) * | 2017-04-01 | 2021-01-05 | 华为技术有限公司 | 镜像分发方法、镜像获取方法及装置 |
US11635908B2 (en) * | 2017-06-22 | 2023-04-25 | Adobe Inc. | Managing digital assets stored as components and packaged files |
US10970302B2 (en) | 2017-06-22 | 2021-04-06 | Adobe Inc. | Component-based synchronization of digital assets |
US10831719B2 (en) * | 2017-08-29 | 2020-11-10 | Western Digital Technologies, Inc. | File consistency in shared storage using partial-edit files |
CN108182244B (zh) * | 2017-12-28 | 2019-04-05 | 清华大学 | 一种基于多层次列式存储结构的时序数据存储方法 |
US10705752B2 (en) * | 2018-02-12 | 2020-07-07 | International Business Machines Corporation | Efficient data migration in hierarchical storage management system |
US11308194B2 (en) * | 2018-10-31 | 2022-04-19 | Seagate Technology Llc | Monitoring device components using distributed ledger |
WO2020247499A1 (en) | 2019-06-03 | 2020-12-10 | Cerebri AI Inc. | Machine learning pipeline optimization |
US11789617B2 (en) * | 2021-06-29 | 2023-10-17 | Acronis International Gmbh | Integration of hashgraph and erasure coding for data integrity |
KR102673726B1 (ko) * | 2023-07-28 | 2024-06-10 | 주식회사 워크스타일 | 분산 저장 자동 버전 관리 시스템 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765171A (en) * | 1995-12-29 | 1998-06-09 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
US6098078A (en) * | 1995-12-29 | 2000-08-01 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
US6697846B1 (en) | 1998-03-20 | 2004-02-24 | Dataplow, Inc. | Shared file system |
US20020138362A1 (en) | 2001-03-21 | 2002-09-26 | Kitze Christopher Allin | Digital file marketplace |
US7016901B2 (en) | 2001-07-31 | 2006-03-21 | Ideal Scanners & Systems, Inc. | System and method for distributed database management of graphic information in electronic form |
US20040122917A1 (en) | 2002-12-18 | 2004-06-24 | Menon Jaishankar Moothedath | Distributed storage system for data-sharing among client computers running defferent operating system types |
US20060230039A1 (en) * | 2005-01-25 | 2006-10-12 | Markmonitor, Inc. | Online identity tracking |
US20060212925A1 (en) * | 2005-03-02 | 2006-09-21 | Markmonitor, Inc. | Implementing trust policies |
US20060218160A1 (en) * | 2005-03-24 | 2006-09-28 | Computer Associates Think, Inc. | Change control management of XML documents |
US8010498B2 (en) | 2005-04-08 | 2011-08-30 | Microsoft Corporation | Virtually infinite reliable storage across multiple storage devices and storage services |
JP2007073004A (ja) * | 2005-09-09 | 2007-03-22 | Canon Inc | データ保全情報装置、分散ストレージシステム及びその方法 |
US8782047B2 (en) * | 2009-10-30 | 2014-07-15 | Hitachi Data Systems Corporation | Fixed content storage within a partitioned content platform using namespaces |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US8341229B2 (en) * | 2008-11-25 | 2012-12-25 | Red Hat, Inc. | IMAP fetch diff |
US8762642B2 (en) * | 2009-01-30 | 2014-06-24 | Twinstrata Inc | System and method for secure and reliable multi-cloud data replication |
US8805953B2 (en) * | 2009-04-03 | 2014-08-12 | Microsoft Corporation | Differential file and system restores from peers and the cloud |
US20100318759A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Distributed rdc chunk store |
US20100333116A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US8375223B2 (en) * | 2009-10-30 | 2013-02-12 | Red Hat, Inc. | Systems and methods for secure distributed storage |
US9021046B2 (en) * | 2010-01-15 | 2015-04-28 | Joyent, Inc | Provisioning server resources in a cloud resource |
US8429651B2 (en) * | 2010-01-20 | 2013-04-23 | International Business Machines Corporation | Enablement and acceleration of live and near-live migration of virtual machines and their associated storage across networks |
US8799221B2 (en) * | 2010-04-23 | 2014-08-05 | John Canessa | Shared archives in interconnected content-addressable storage systems |
US8799414B2 (en) * | 2010-05-03 | 2014-08-05 | Panzura, Inc. | Archiving data for a distributed filesystem |
WO2011153386A1 (en) * | 2010-06-02 | 2011-12-08 | Mccrory Dave D | Cloud resource proxy with attribute mirroring |
CN103493024B (zh) * | 2010-08-25 | 2018-07-10 | 英特尔公司 | 用于高速缓存分层的方法和系统 |
CN101980192B (zh) * | 2010-10-15 | 2014-03-12 | 中兴通讯股份有限公司南京分公司 | 一种基于对象的集群文件系统管理方法及集群文件系统 |
JP5822452B2 (ja) * | 2010-10-22 | 2015-11-24 | 株式会社インテック | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
US9357331B2 (en) * | 2011-04-08 | 2016-05-31 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems and apparatuses for a secure mobile cloud framework for mobile computing and communication |
US9262498B2 (en) * | 2011-05-27 | 2016-02-16 | Red Hat, Inc. | Generating optimized host placement of data payload in cloud-based storage network |
US9542466B2 (en) * | 2012-05-10 | 2017-01-10 | Aetherstore Inc. | Systems and methods for distributed storage |
-
2013
- 2013-03-15 US US13/840,017 patent/US9542466B2/en active Active
- 2013-05-09 EP EP17184019.2A patent/EP3258369B1/en active Active
- 2013-05-09 CN CN201380031080.0A patent/CN104885076B/zh not_active Expired - Fee Related
- 2013-05-09 CA CA2873289A patent/CA2873289A1/en not_active Abandoned
- 2013-05-09 EP EP13787573.8A patent/EP2847694B1/en not_active Not-in-force
- 2013-05-09 WO PCT/US2013/040299 patent/WO2013169997A2/en active Application Filing
- 2013-05-09 JP JP2015511689A patent/JP6151353B2/ja not_active Expired - Fee Related
- 2013-05-09 ES ES13787573.8T patent/ES2658993T3/es active Active
- 2013-05-09 PL PL13787573T patent/PL2847694T3/pl unknown
- 2013-05-09 BR BR112014027966A patent/BR112014027966A2/pt not_active Application Discontinuation
-
2014
- 2014-11-09 IL IL235587A patent/IL235587A0/en not_active IP Right Cessation
- 2014-11-26 IN IN10026DEN2014 patent/IN2014DN10026A/en unknown
-
2016
- 2016-11-28 US US15/361,754 patent/US20170075971A1/en not_active Abandoned
-
2017
- 2017-05-24 JP JP2017102549A patent/JP2017168135A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN104885076B (zh) | 2018-06-05 |
IN2014DN10026A (es) | 2015-08-14 |
IL235587A0 (en) | 2015-01-29 |
EP3258369A1 (en) | 2017-12-20 |
WO2013169997A9 (en) | 2013-12-05 |
WO2013169997A2 (en) | 2013-11-14 |
CA2873289A1 (en) | 2013-11-14 |
EP3258369B1 (en) | 2019-08-14 |
WO2013169997A3 (en) | 2015-05-28 |
CN104885076A (zh) | 2015-09-02 |
JP6151353B2 (ja) | 2017-06-21 |
EP2847694A2 (en) | 2015-03-18 |
PL2847694T3 (pl) | 2018-06-29 |
EP2847694B1 (en) | 2017-11-08 |
JP2015523625A (ja) | 2015-08-13 |
US20170075971A1 (en) | 2017-03-16 |
EP2847694A4 (en) | 2016-08-03 |
US9542466B2 (en) | 2017-01-10 |
BR112014027966A2 (pt) | 2017-07-18 |
JP2017168135A (ja) | 2017-09-21 |
US20130304706A1 (en) | 2013-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2658993T3 (es) | Sistemas y métodos para almacenamiento distribuido | |
AU2020200461B2 (en) | Storage and retrieval of crytographically-split data blocks to/from multiple storage devices | |
US11086730B2 (en) | Snapshot management | |
ES2827974T3 (es) | Sistema de almacenamiento masivo jerárquico basado en servidor | |
US8386798B2 (en) | Block-level data storage using an outstanding write list | |
ES2582364T3 (es) | Sistemas y métodos para realizar replicación de datos | |
US10007807B2 (en) | Simultaneous state-based cryptographic splitting in a secure storage appliance | |
US20100125730A1 (en) | Block-level data storage security system | |
EP2359296B1 (en) | Simultaneous state-based cryptographic splitting in a secure storage appliance | |
US9384149B2 (en) | Block-level data storage security system | |
US20100162004A1 (en) | Storage of cryptographically-split data blocks at geographically-separated locations | |
US20100162003A1 (en) | Retrieval of cryptographically-split data blocks from fastest-responding storage devices | |
US20100153740A1 (en) | Data recovery using error strip identifiers | |
US20140108796A1 (en) | Storage of cryptographically-split data blocks at geographically-separated locations | |
US20100169662A1 (en) | Simultaneous state-based cryptographic splitting in a secure storage appliance | |
AU2020205273A1 (en) | Data recovery using error strip identifiers | |
CN110413370A (zh) | 用于实现依赖原始设备映射盘的虚拟机的数据备份的方法和系统 |