stringtranslate.com

Sistema de archivos distribuido para la nube

Un sistema de archivos distribuido para la nube es un sistema de archivos que permite que muchos clientes tengan acceso a los datos y admite operaciones (crear, eliminar, modificar, leer, escribir) sobre esos datos. Cada archivo de datos puede estar particionado en varias partes llamadas fragmentos . Cada fragmento puede almacenarse en diferentes máquinas remotas, lo que facilita la ejecución paralela de aplicaciones. Normalmente, los datos se almacenan en archivos en un árbol jerárquico , donde los nodos representan directorios. Hay varias formas de compartir archivos en una arquitectura distribuida: cada solución debe ser adecuada para un cierto tipo de aplicación, dependiendo de lo compleja que sea la aplicación. Mientras tanto, la seguridad del sistema debe estar asegurada. La confidencialidad , la disponibilidad y la integridad son las claves principales para un sistema seguro.

Los usuarios pueden compartir recursos informáticos a través de Internet gracias a la computación en la nube , que se caracteriza por contar con recursos escalables y elásticos , como servidores físicos , aplicaciones y cualquier servicio que se virtualice y se asigne de forma dinámica. La sincronización es necesaria para garantizar que todos los dispositivos estén actualizados.

Los sistemas de archivos distribuidos permiten que muchas empresas grandes, medianas y pequeñas almacenen y accedan a sus datos remotos como lo hacen con sus datos locales, lo que facilita el uso de recursos variables.

Descripción general

Historia

En la actualidad, existen muchas implementaciones de sistemas de archivos distribuidos. Los primeros servidores de archivos fueron desarrollados por investigadores en la década de 1970. El sistema de archivos en red de Sun Microsystems estuvo disponible en la década de 1980. Antes de eso, las personas que querían compartir archivos usaban el método sneakernet , que consistía en transportar físicamente los archivos en medios de almacenamiento de un lugar a otro. Una vez que las redes de computadoras comenzaron a proliferar, se hizo evidente que los sistemas de archivos existentes tenían muchas limitaciones y no eran adecuados para entornos multiusuario. Los usuarios inicialmente usaban FTP para compartir archivos. [1] FTP se ejecutó por primera vez en el PDP-10 a fines de 1973. Incluso con FTP, los archivos debían copiarse desde la computadora de origen a un servidor y luego desde el servidor a la computadora de destino. Los usuarios debían conocer las direcciones físicas de todas las computadoras involucradas en el intercambio de archivos. [2]

Técnicas de apoyo

Los centros de datos modernos deben dar soporte a entornos grandes y heterogéneos, compuestos por un gran número de ordenadores de distintas capacidades. La computación en la nube coordina el funcionamiento de todos esos sistemas con técnicas como la red de centros de datos (DCN), el marco MapReduce , que admite aplicaciones informáticas con uso intensivo de datos en sistemas paralelos y distribuidos, y técnicas de virtualización que proporcionan una asignación dinámica de recursos, lo que permite que varios sistemas operativos coexistan en el mismo servidor físico.

Aplicaciones

La computación en la nube permite realizar operaciones de computación a gran escala gracias a su capacidad de proporcionar al usuario los recursos de CPU y almacenamiento necesarios con total transparencia. Esto hace que la computación en la nube sea especialmente adecuada para soportar distintos tipos de aplicaciones que requieren un procesamiento distribuido a gran escala. Esta computación intensiva en datos necesita un sistema de archivos de alto rendimiento que pueda compartir datos entre máquinas virtuales (VM). [3]

La computación en la nube asigna dinámicamente los recursos necesarios y los libera una vez finalizada una tarea, lo que obliga a los usuarios a pagar solo por los servicios necesarios, a menudo a través de un acuerdo de nivel de servicio . Los paradigmas de computación en la nube y computación en clústeres están adquiriendo cada vez mayor importancia para el procesamiento de datos industriales y las aplicaciones científicas, como la astronomía y la física, que con frecuencia requieren la disponibilidad de grandes cantidades de computadoras para llevar a cabo experimentos. [4]

Arquitecturas

La mayoría de los sistemas de archivos distribuidos se basan en la arquitectura cliente-servidor, pero también existen otras soluciones descentralizadas.

Arquitectura cliente-servidor

El sistema de archivos de red (NFS) utiliza una arquitectura cliente-servidor , que permite compartir archivos entre varias máquinas en una red como si estuvieran ubicados localmente, lo que proporciona una vista estandarizada. El protocolo NFS permite que procesos de clientes heterogéneos, probablemente ejecutándose en diferentes máquinas y bajo diferentes sistemas operativos, accedan a archivos en un servidor distante, ignorando la ubicación real de los archivos. Depender de un solo servidor hace que el protocolo NFS sufra de una disponibilidad potencialmente baja y una escalabilidad deficiente. El uso de varios servidores no resuelve el problema de disponibilidad, ya que cada servidor funciona de forma independiente. [5] El modelo de NFS es un servicio de archivos remoto. Este modelo también se denomina modelo de acceso remoto, que contrasta con el modelo de carga/descarga:

El sistema de archivos que utiliza NFS es casi el mismo que el que utilizan los sistemas Unix . Los archivos están organizados jerárquicamente en un gráfico de nombres en el que los directorios y los archivos están representados por nodos.

Arquitecturas basadas en clusters

Una arquitectura basada en clústeres mejora algunos de los problemas de las arquitecturas cliente-servidor, mejorando la ejecución de aplicaciones en paralelo. La técnica utilizada aquí es la fragmentación de archivos: un archivo se divide en varios fragmentos, que se "distribuyen" en varios servidores de almacenamiento. El objetivo es permitir el acceso a diferentes partes de un archivo en paralelo. Si la aplicación no se beneficia de esta técnica, sería más conveniente almacenar diferentes archivos en diferentes servidores. Sin embargo, cuando se trata de organizar un sistema de archivos distribuido para grandes centros de datos, como Amazon y Google, que ofrecen servicios a clientes web que permiten múltiples operaciones (lectura, actualización, eliminación, ...) a una gran cantidad de archivos distribuidos entre una gran cantidad de computadoras, las soluciones basadas en clústeres se vuelven más beneficiosas. Tenga en cuenta que tener una gran cantidad de computadoras puede significar más fallas de hardware. [7] Dos de los sistemas de archivos distribuidos (DFS) más utilizados de este tipo son el Sistema de archivos de Google (GFS) y el Sistema de archivos distribuidos de Hadoop (HDFS). Los sistemas de archivos de ambos son implementados por procesos de nivel de usuario que se ejecutan sobre un sistema operativo estándar ( Linux en el caso de GFS). [8]

Principios de diseño

Objetivos

Google File System (GFS) y Hadoop Distributed File System (HDFS) están diseñados específicamente para gestionar el procesamiento por lotes de conjuntos de datos muy grandes. Para ello, se deben tener en cuenta las siguientes hipótesis: [9]

Equilibrio de carga

El equilibrio de carga es esencial para un funcionamiento eficiente en entornos distribuidos. Significa distribuir el trabajo entre diferentes servidores, [11] de manera justa, para poder realizar más trabajo en la misma cantidad de tiempo y atender a los clientes más rápido. En un sistema que contiene N chunkservers en una nube (N es 1000, 10000 o más), donde se almacena una cierta cantidad de archivos, cada archivo se divide en varias partes o chunks de tamaño fijo (por ejemplo, 64 megabytes), y la carga de cada chunkserver es proporcional a la cantidad de chunks alojados por el servidor. [12] En una nube con equilibrio de carga, los recursos se pueden usar de manera eficiente mientras se maximiza el rendimiento de las aplicaciones basadas en MapReduce.

Reequilibrio de carga

En un entorno de computación en la nube, los fallos son la norma [13] [14] y los servidores de fragmentos pueden actualizarse, reemplazarse y agregarse al sistema. Los archivos también pueden crearse, eliminarse y agregarse dinámicamente. Esto genera un desequilibrio de carga en un sistema de archivos distribuido, lo que significa que los fragmentos de archivos no se distribuyen equitativamente entre los servidores.

Los sistemas de archivos distribuidos en nubes como GFS y HDFS dependen de servidores o nodos centrales o maestros (Master para GFS y NameNode para HDFS) para administrar los metadatos y el equilibrio de carga. El maestro reequilibra las réplicas periódicamente: los datos deben trasladarse de un DataNode/ChunkServer a otro si el espacio libre en el primer servidor cae por debajo de un cierto umbral. [15] Sin embargo, este enfoque centralizado puede convertirse en un cuello de botella para esos servidores maestros, si se vuelven incapaces de administrar una gran cantidad de accesos a archivos, ya que aumenta sus cargas ya pesadas. El problema del reequilibrio de carga es NP-hard . [16]

Para lograr que una gran cantidad de servidores de fragmentos trabajen en colaboración y para resolver el problema del equilibrio de carga en sistemas de archivos distribuidos, se han propuesto varios enfoques, como la reasignación de fragmentos de archivos para que estos se puedan distribuir de la manera más uniforme posible y, al mismo tiempo, reducir el costo de movimiento tanto como sea posible. [12]

Sistema de archivos de Google

Descripción

Google, una de las mayores empresas de Internet, ha creado su propio sistema de archivos distribuido, denominado Google File System (GFS), para satisfacer las crecientes demandas de procesamiento de datos de Google, y se utiliza para todos los servicios en la nube. GFS es un sistema de archivos distribuido escalable para aplicaciones con uso intensivo de datos. Proporciona almacenamiento de datos de alto rendimiento y tolerante a fallos para un gran número de clientes que acceden a él simultáneamente.

GFS utiliza MapReduce , que permite a los usuarios crear programas y ejecutarlos en varias máquinas sin tener que preocuparse por la paralelización y el equilibrio de carga. La arquitectura de GFS se basa en tener un único servidor maestro para varios servidores de bloques y varios clientes. [17]

El servidor maestro que se ejecuta en un nodo dedicado es responsable de coordinar los recursos de almacenamiento y administrar los metadatos de los archivos (el equivalente, por ejemplo, a los inodos en los sistemas de archivos clásicos). [9] Cada archivo se divide en múltiples fragmentos de 64 megabytes. Cada fragmento se almacena en un servidor de fragmentos. Un fragmento se identifica mediante un identificador de fragmento, que es un número de 64 bits único a nivel global que asigna el maestro cuando se crea el fragmento por primera vez.

El maestro mantiene todos los metadatos de los archivos, incluidos los nombres de los archivos, los directorios y la asignación de los archivos a la lista de fragmentos que contienen los datos de cada archivo. Los metadatos se guardan en la memoria principal del servidor maestro, junto con la asignación de los archivos a los fragmentos. Las actualizaciones de estos datos se registran en un registro de operaciones en el disco. Este registro de operaciones se replica en máquinas remotas. Cuando el registro se vuelve demasiado grande, se crea un punto de control y los datos de la memoria principal se almacenan en una estructura de árbol B para facilitar la asignación de nuevo a la memoria principal. [18]

Tolerancia a fallos

Para facilitar la tolerancia a fallos , cada fragmento se replica en varios servidores de fragmentos (por defecto, tres). [19] Un fragmento está disponible en al menos un servidor de fragmentos. La ventaja de este esquema es la simplicidad. El maestro es responsable de asignar los servidores de fragmentos para cada fragmento y se contacta con él solo para obtener información de metadatos. Para todos los demás datos, el cliente tiene que interactuar con los servidores de fragmentos.

El maestro lleva un registro de la ubicación de un fragmento. Sin embargo, no intenta mantener la ubicación exacta de los fragmentos, sino que solo se comunica ocasionalmente con los servidores de fragmentos para ver qué fragmentos tienen almacenados. [20] Esto permite la escalabilidad y ayuda a evitar cuellos de botella debido al aumento de la carga de trabajo. [21]

En GFS, la mayoría de los archivos se modifican agregando datos nuevos y no sobrescribiendo los existentes. Una vez escritos, los archivos generalmente solo se leen secuencialmente en lugar de hacerlo de manera aleatoria, y eso hace que este DFS sea el más adecuado para escenarios en los que se crean muchos archivos grandes una vez pero se leen muchas veces. [22] [23]

Procesamiento de archivos

Cuando un cliente desea escribir en un archivo o actualizarlo, el maestro le asignará una réplica, que será la réplica principal si se trata de la primera modificación. El proceso de escritura se compone de dos pasos: [9]

En consecuencia, podemos diferenciar dos tipos de flujos: el flujo de datos y el flujo de control. El flujo de datos está asociado a la fase de envío y el flujo de control está asociado a la fase de escritura. Esto garantiza que el servidor de fragmentos primario tome el control del orden de escritura. Tenga en cuenta que cuando el maestro asigna la operación de escritura a una réplica, incrementa el número de versión del fragmento e informa a todas las réplicas que contienen ese fragmento sobre el nuevo número de versión. Los números de versión de los fragmentos permiten detectar errores de actualización, si una réplica no se actualizó porque su servidor de fragmentos estaba inactivo. [24]

Algunas de las nuevas aplicaciones de Google no funcionaban bien con el tamaño de fragmento de 64 megabytes. Para resolver ese problema, GFS comenzó, en 2004, a implementar el enfoque Bigtable . [25]

Sistema de archivos distribuido Hadoop

HDFS , desarrollado por la Apache Software Foundation , es un sistema de archivos distribuido diseñado para almacenar grandes cantidades de datos (terabytes o incluso petabytes). Su arquitectura es similar a GFS, es decir, una arquitectura de servidor/cliente. El HDFS normalmente se instala en un clúster de computadoras. El concepto de diseño de Hadoop está basado en el de Google, con Google File System, Google MapReduce y Bigtable , implementados por Hadoop Distributed File System (HDFS), Hadoop MapReduce y Hadoop Base (HBase) respectivamente. [26] Al igual que GFS, HDFS es adecuado para escenarios con acceso a archivos de escritura única y lectura múltiple, y admite anexiones y truncamientos de archivos en lugar de lecturas y escrituras aleatorias para simplificar los problemas de coherencia de datos. [27]

Un clúster HDFS consta de un solo NameNode y varias máquinas DataNode. El NameNode, un servidor maestro, administra y mantiene los metadatos de los DataNodes de almacenamiento en su RAM. Los DataNodes administran el almacenamiento conectado a los nodos en los que se ejecutan. NameNode y DataNode son software diseñados para ejecutarse en máquinas de uso diario, que generalmente funcionan con un sistema operativo Linux. HDFS se puede ejecutar en cualquier máquina que admita Java y, por lo tanto, puede ejecutar un NameNode o el software Datanode. [28]

En un clúster HDFS, un archivo se divide en uno o más bloques del mismo tamaño, excepto por la posibilidad de que el último bloque sea más pequeño. Cada bloque se almacena en varios DataNodes y cada uno puede replicarse en varios DataNodes para garantizar la disponibilidad. De forma predeterminada, cada bloque se replica tres veces, un proceso denominado "replicación a nivel de bloque". [29]

El NameNode administra las operaciones del espacio de nombres del sistema de archivos, como abrir, cerrar y cambiar el nombre de archivos y directorios, y regula el acceso a los archivos. También determina la asignación de bloques a los DataNodes. Los DataNodes son responsables de atender las solicitudes de lectura y escritura de los clientes del sistema de archivos, administrar la asignación o eliminación de bloques y replicar bloques. [30]

Cuando un cliente desea leer o escribir datos, se pone en contacto con el NameNode y este verifica desde dónde se deben leer o escribir los datos. Después de eso, el cliente conoce la ubicación del DataNode y puede enviarle solicitudes de lectura o escritura.

El HDFS se caracteriza por su compatibilidad con esquemas de reequilibrio de datos. En general, la gestión del espacio libre en un DataNode es muy importante. Los datos deben trasladarse de un DataNode a otro si el espacio libre no es suficiente; y en el caso de crear réplicas adicionales, los datos deben trasladarse para asegurar el equilibrio del sistema. [29]

Otros ejemplos

Los sistemas de archivos distribuidos se pueden optimizar para diferentes propósitos. Algunos, como los diseñados para servicios de Internet, incluido GFS, están optimizados para la escalabilidad. Otros diseños para sistemas de archivos distribuidos admiten aplicaciones de alto rendimiento que generalmente se ejecutan en paralelo. [31] Algunos ejemplos incluyen: MapR File System (MapR-FS), Ceph-FS , Fraunhofer File System (BeeGFS) , Lustre File System , IBM General Parallel File System (GPFS) y Parallel Virtual File System .

MapR-FS es un sistema de archivos distribuido que es la base de la Plataforma Convergente MapR, con capacidades para el almacenamiento distribuido de archivos, una base de datos NoSQL con múltiples API y un sistema de transmisión de mensajes integrado. MapR-FS está optimizado para la escalabilidad, el rendimiento, la confiabilidad y la disponibilidad. Su capacidad de almacenamiento de archivos es compatible con la API del Sistema de Archivos Distribuidos Apache Hadoop (HDFS) pero con varias características de diseño que lo distinguen de HDFS. Entre las diferencias más notables se encuentra que MapR-FS es un sistema de archivos totalmente de lectura/escritura con metadatos para archivos y directorios distribuidos en el espacio de nombres, por lo que no hay NameNode. [32] [33] [34] [35] [36]

Ceph-FS es un sistema de archivos distribuido que ofrece un excelente rendimiento y confiabilidad. [37] Responde a los desafíos de manejar archivos y directorios enormes, coordinar la actividad de miles de discos, brindar acceso paralelo a metadatos a gran escala, manipular cargas de trabajo científicas y de propósito general, autenticar y cifrar a gran escala y aumentar o disminuir dinámicamente debido al desmantelamiento frecuente de dispositivos, fallas de dispositivos y expansiones de clústeres. [38]

BeeGFS es el sistema de archivos paralelos de alto rendimiento del Centro de Competencia Fraunhofer para Computación de Alto Rendimiento. La arquitectura de metadatos distribuidos de BeeGFS ha sido diseñada para proporcionar la escalabilidad y flexibilidad necesarias para ejecutar HPC y aplicaciones similares con altas demandas de E/S. [39]

Lustre File System se diseñó e implementó para solucionar el problema de los cuellos de botella que se encuentran tradicionalmente en los sistemas distribuidos. Lustre se caracteriza por su eficiencia, escalabilidad y redundancia. [40] GPFS también se diseñó con el objetivo de eliminar dichos cuellos de botella. [41]

Comunicación

El alto rendimiento de los sistemas de archivos distribuidos requiere una comunicación eficiente entre los nodos informáticos y un acceso rápido a los sistemas de almacenamiento. Las operaciones como abrir, cerrar, leer, escribir, enviar y recibir deben ser rápidas para garantizar ese rendimiento. Por ejemplo, cada solicitud de lectura o escritura accede al almacenamiento en disco, lo que introduce latencias de búsqueda, rotación y red. [42]

Las operaciones de comunicación de datos (envío/recepción) transfieren datos desde el búfer de la aplicación al núcleo de la máquina, y TCP controla el proceso y se implementa en el núcleo. Sin embargo, en caso de congestión o errores de la red, TCP puede no enviar los datos directamente. Mientras transfiere datos desde un búfer en el núcleo a la aplicación, la máquina no lee el flujo de bytes de la máquina remota. De hecho, TCP es responsable de almacenar en búfer los datos para la aplicación. [43]

La elección del tamaño del búfer para la lectura y escritura de archivos o para el envío y recepción de archivos se realiza a nivel de aplicación. El búfer se mantiene mediante una lista enlazada circular . [44] Consiste en un conjunto de BufferNodes. Cada BufferNode tiene un DataField. El DataField contiene los datos y un puntero llamado NextBufferNode que apunta al siguiente BufferNode. Para encontrar la posición actual, se utilizan dos punteros : CurrentBufferNode y EndBufferNode, que representan la posición en el BufferNode para las últimas posiciones de escritura y lectura. Si el BufferNode no tiene espacio libre, enviará una señal de espera al cliente para que espere hasta que haya espacio disponible. [45]

Sincronización basada en la nube de sistemas de archivos distribuidos

Cada vez más usuarios tienen varios dispositivos con conectividad ad hoc. Los conjuntos de datos replicados en estos dispositivos deben sincronizarse entre una cantidad arbitraria de servidores. Esto es útil para realizar copias de seguridad y también para el funcionamiento sin conexión. De hecho, cuando las condiciones de la red del usuario no son buenas, el dispositivo del usuario replicará selectivamente una parte de los datos que se modificará más tarde y sin conexión. Una vez que las condiciones de la red se vuelven buenas, el dispositivo se sincroniza. [46] Existen dos enfoques para abordar el problema de la sincronización distribuida: la sincronización entre pares controlada por el usuario y la sincronización maestro-réplica en la nube. [46]

Llaves de seguridad

En la computación en la nube, los conceptos de seguridad más importantes son la confidencialidad, la integridad y la disponibilidad (" CIA "). La confidencialidad se vuelve indispensable para evitar que se divulguen datos privados. La integridad garantiza que los datos no se corrompan. [47]

Confidencialidad

La confidencialidad significa que los datos y las tareas de computación son confidenciales: ni el proveedor de la nube ni otros clientes pueden acceder a los datos del cliente. Se han realizado muchas investigaciones sobre la confidencialidad, porque es uno de los puntos cruciales que aún presenta desafíos para la computación en la nube. La falta de confianza en los proveedores de la nube también es un problema relacionado. [48] La infraestructura de la nube debe garantizar que los datos de los clientes no sean accedidos por terceros no autorizados.

El entorno se vuelve inseguro si el proveedor de servicios puede hacer todo lo siguiente: [49]

La ubicación geográfica de los datos ayuda a determinar la privacidad y confidencialidad. Se debe tener en cuenta la ubicación de los clientes. Por ejemplo, los clientes en Europa no estarán interesados ​​en utilizar centros de datos ubicados en Estados Unidos, porque eso afecta la garantía de confidencialidad de los datos. Para abordar ese problema, algunos proveedores de computación en la nube han incluido la ubicación geográfica del host como un parámetro del acuerdo de nivel de servicio realizado con el cliente, [50] lo que permite a los usuarios elegir por sí mismos las ubicaciones de los servidores que alojarán sus datos.

Otro enfoque para la confidencialidad implica el cifrado de datos. [51] De lo contrario, habrá un riesgo grave de uso no autorizado. Existe una variedad de soluciones, como cifrar solo datos confidenciales, [52] y admitir solo algunas operaciones, con el fin de simplificar el cálculo. [53] Además, se utilizan técnicas y herramientas criptográficas como FHE para preservar la privacidad en la nube. [47]

Integridad

La integridad en la computación en la nube implica la integridad de los datos y la integridad de la computación. Dicha integridad significa que los datos deben almacenarse correctamente en los servidores en la nube y que, en caso de fallas o computación incorrecta, deben detectarse los problemas.

La integridad de los datos puede verse afectada por eventos maliciosos o por errores administrativos (por ejemplo, durante la copia de seguridad y la restauración, la migración de datos o el cambio de membresías en sistemas P2P ). [54]

La integridad es fácil de lograr utilizando criptografía (normalmente a través de códigos de autenticación de mensajes , o MAC, en bloques de datos). [55]

Existen mecanismos de control que afectan la integridad de los datos. Por ejemplo:

Disponibilidad

La disponibilidad se logra generalmente mediante replicación . [61] [62] [63] [64] Mientras tanto, se debe garantizar la consistencia. Sin embargo, la consistencia y la disponibilidad no se pueden lograr al mismo tiempo; cada una se prioriza con cierto sacrificio de la otra. Se debe lograr un equilibrio. [65]

Los datos deben tener una identidad para ser accesibles. Por ejemplo, Skute [61] es un mecanismo basado en el almacenamiento de clave/valor que permite la asignación dinámica de datos de una manera eficiente. Cada servidor debe estar identificado por una etiqueta en el formato continente-país-centro de datos-sala-rack-servidor. El servidor puede hacer referencia a múltiples nodos virtuales, y cada nodo tiene una selección de datos (o múltiples particiones de múltiples datos). Cada pieza de datos se identifica por un espacio de clave que se genera mediante una función hash criptográfica unidireccional (por ejemplo, MD5 ) y se localiza por el valor de la función hash de esta clave. El espacio de clave se puede dividir en múltiples particiones y cada partición hace referencia a una pieza de datos. Para realizar la replicación, los nodos virtuales deben ser replicados y referenciados por otros servidores. Para maximizar la durabilidad y la disponibilidad de los datos, las réplicas deben ubicarse en diferentes servidores y cada servidor debe estar en una ubicación geográfica diferente, porque la disponibilidad de los datos aumenta con la diversidad geográfica. El proceso de replicación incluye una evaluación de la disponibilidad de espacio, que debe estar por encima de un cierto umbral mínimo en cada servidor de fragmentos. De lo contrario, los datos se replican en otro servidor de fragmentos. Cada partición, i, tiene un valor de disponibilidad representado por la siguiente fórmula:

¿Dónde están los servidores que alojan las réplicas, y la confianza de los servidores y (dependiendo de factores técnicos como los componentes de hardware y no técnicos como la situación económica y política de un país) y la diversidad es la distancia geográfica entre y . [66]

La replicación es una gran solución para garantizar la disponibilidad de los datos, pero cuesta demasiado en términos de espacio de memoria. [67] DiskReduce [67] es una versión modificada de HDFS que se basa en la tecnología RAID (RAID-5 y RAID-6) y permite la codificación asincrónica de los datos replicados. De hecho, existe un proceso en segundo plano que busca datos ampliamente replicados y elimina las copias adicionales después de codificarlos. Otro enfoque es reemplazar la replicación con la codificación de borrado. [68] Además, para garantizar la disponibilidad de los datos, existen muchos enfoques que permiten la recuperación de datos. De hecho, los datos deben codificarse y, si se pierden, se pueden recuperar a partir de fragmentos que se construyeron durante la fase de codificación. [69] Algunos otros enfoques que aplican diferentes mecanismos para garantizar la disponibilidad son: el código Reed-Solomon de Microsoft Azure y RaidNode para HDFS. Además, Google sigue trabajando en un nuevo enfoque basado en un mecanismo de codificación de borrado. [70]

No existe implementación RAID para el almacenamiento en la nube. [68]

Aspectos económicos

La economía de la computación en la nube está creciendo rápidamente. El gobierno de Estados Unidos ha decidido destinar el 40% de su tasa de crecimiento anual compuesta (CAGR), que se espera que alcance los 7 mil millones de dólares en 2015. [71]

Cada vez más empresas utilizan la computación en la nube para gestionar la enorme cantidad de datos y superar la falta de capacidad de almacenamiento, y porque les permite utilizar dichos recursos como un servicio, garantizando que sus necesidades informáticas se cubrirán sin tener que invertir en infraestructura (modelo de pago por uso). [72]

Cada proveedor de aplicaciones debe pagar periódicamente el costo de cada servidor donde se almacenan réplicas de datos. El costo de un servidor está determinado por la calidad del hardware, las capacidades de almacenamiento y su carga de trabajo de procesamiento de consultas y comunicación. [73] La computación en la nube permite a los proveedores escalar sus servicios según las demandas de los clientes.

El modelo de pago por uso también ha aliviado la carga de las empresas emergentes que desean beneficiarse de negocios con uso intensivo de recursos informáticos. La computación en la nube también ofrece una oportunidad a muchos países del tercer mundo que de otro modo no tendrían esos recursos informáticos. La computación en la nube puede reducir las barreras de TI a la innovación. [74]

A pesar del amplio uso de la computación en la nube, compartir eficientemente grandes volúmenes de datos en una nube no confiable sigue siendo un desafío.

Referencias

  1. ^ Microsistema solar, pág. 1
  2. ^ Kon 1996, pág. 1
  3. ^ Kobayashi y otros, 2011, pág. 1
  4. ^ Angabini y otros, 2011, pág. 1
  5. ^ Di Sano y otros, 2012, pág. 2
  6. ^ Andrew y Maarten 2006, pág. 492
  7. ^ Andrew y Maarten 2006, pág. 496
  8. ^ Humbetov 2012, pág. 2
  9. ^ abc Krzyzanowski 2012, pág. 2
  10. ^ Pavel Bžoch, pág. 7
  11. ^ Kai y otros, 2013, pág. 23
  12. ^ ab Hsiao y otros, 2013, pág. 2
  13. ^ Hsiao y otros, 2013, pág. 952
  14. ^ Ghemawat, Gobioff y Leung 2003, pág. 1
  15. ^ Ghemawat, Gobioff y Leung 2003, pág. 8
  16. ^ Hsiao y otros, 2013, pág. 953
  17. ^ Di Sano y col. 2012, págs. 1-2
  18. ^ Krzyzanowski 2012, pág. 4
  19. ^ Di Sano y otros, 2012, pág. 2
  20. ^ Andrew y Maarten 2006, pág. 497
  21. ^ Humbetov 2012, pág. 3
  22. ^ Humbetov 2012, pág. 5
  23. ^ Andrew y Maarten 2006, pág. 498
  24. ^ Krzyzanowski 2012, pág. 5
  25. ^ "La gran unidad de disco en el cielo: cómo los gigantes de la Web almacenan grandes cantidades de datos (y queremos decir grandes cantidades)". 27 de enero de 2012.
  26. ^ Fan-Hsun y otros, 2012, pág. 2
  27. ^ "Apache Hadoop 2.9.2 – Arquitectura HDFS".
  28. ^ Azzedin 2013, pág. 2
  29. ^Ab Adamov 2012, pág. 2
  30. ^ Yee y Thu Naing 2011, pág. 122
  31. ^ Soares y otros, 2013, pág. 158
  32. ^ Pérez, Nicolás (2016-01-02). "Cómo MapR mejora nuestra productividad y simplifica nuestro diseño". Medium . Consultado el 21 de junio de 2016 .
  33. ^ Woodie, Alex (8 de marzo de 2016). "De Hadoop a Zeta: dentro de la conversión de convergencia de MapR". Datanami . Tabor Communications Inc . Consultado el 21 de junio de 2016 .
  34. ^ Brennan, Bob. "Flash Memory Summit". youtube . Samsung . Consultado el 21 de junio de 2016 .
  35. ^ Srivas, MC. "Sistema de archivos MapR". Cumbre Hadoop 2011. Hortonworks . Consultado el 21 de junio de 2016 .
  36. ^ Dunning, Ted; Friedman, Ellen (enero de 2015). "Capítulo 3: Comprensión de la distribución de MapR para Apache Hadoop". Real World Hadoop (primera edición). Sebastopol, CA: O'Reilly Media, Inc., págs. 23-28. ISBN 978-1-4919-2395-5. Recuperado el 21 de junio de 2016 .
  37. ^ Weil y otros, 2006, pág. 307
  38. ^ Maltzahn y otros, 2010, pág. 39
  39. ^ Jacobi y Lingemann, pág. 10
  40. ^ Schwan Philip 2003, pág. 401
  41. ^ Jones, Koniges y Yates 2000, pág. 1
  42. ^ Upadhyaya y col. 2008, pág. 400
  43. ^ Upadhyaya y col. 2008, pág. 403
  44. ^ Upadhyaya y col. 2008, pág. 401
  45. ^ Upadhyaya y col. 2008, pág. 402
  46. ^ de Uppoor, Flouris y Bilas 2010, pág. 1
  47. ^ ab Zhifeng y Yang 2013, pág. 854
  48. ^ Zhifeng y Yang 2013, págs. 845–846
  49. ^ Yau y An 2010, pág. 353
  50. ^ Vecchiola, Pandey y Buyya 2009, pág. 14
  51. ^ Yau y An 2010, pág. 352
  52. ^ Miranda y Siani 2009
  53. ^ Naehrig y Lauter 2013
  54. ^ Zhifeng y Yang 2013, pág. 5
  55. ^ Juels & Oprea 2013, pág. 4
  56. ^ Bowers, Juels y Oprea 2009
  57. ^ Juels y S. Kaliski 2007, pág. 2
  58. ^ Ateniese y otros, 2007
  59. ^ Ateniese et al. 2008, págs.5, 9
  60. ^ Erway y otros, 2009, pág. 2
  61. ^ ab Bonvin, Papaioannou y Aberer 2009, pág. 206
  62. ^ Cuong y otros, 2012, pág. 5
  63. ^ A., A. & P. ​​2011, pág. 3
  64. ^ Qian, D. y T. 2011, pág. 3
  65. ^ Vogels 2009, pág. 2
  66. ^ Bonvin, Papaioannou y Aberer 2009, pág. 208
  67. ^ ab Carnegie y col. 2009, pág. 1
  68. ^ ab Wang y otros, 2012, pág. 1
  69. ^ Abu-Libdeh, Princehouse y Weatherspoon 2010, pág. 2
  70. ^ Wang y otros, 2012, pág. 9
  71. ^ Lori M. Kaufman 2009, pág. 2
  72. ^ Angabini y otros, 2011, pág. 1
  73. ^ Bonvin, Papaioannou y Aberer 2009, pág. 3
  74. ^ Marston y otros, 2011, pág. 3

Bibliografía

  1. Arquitectura, estructura y diseño:
    • Zhang, Qi-fei; Pan, Xue-zeng; Shen, Yan; Li, Wen-juan (2012). "Una nueva arquitectura escalable de sistema de almacenamiento en la nube para archivos pequeños basada en P2P". Talleres de la Conferencia Internacional IEEE sobre Computación en Clúster de 2012. Coll. of Comput. Sci. & Technol., Zhejiang Univ., Hangzhou, China. p. 41. doi :10.1109/ClusterW.2012.27. ISBN 978-0-7695-4844-9.S2CID12430485  .​
    • Azzedin, Farag (2013). "Hacia una arquitectura HDFS escalable". Conferencia internacional sobre tecnologías y sistemas de colaboración (CTS) de 2013. Departamento de informática y ciencias de la información, Universidad Rey Fahd de Petróleo y Minerales. pp. 155–161. doi :10.1109/CTS.2013.6567222. ISBN 978-1-4673-6404-1.S2CID 45293053  .
    • Krzyzanowski, Paul (2012). «Sistemas de archivos distribuidos» (PDF) . Archivado desde el original (PDF) el 27 de diciembre de 2013. Consultado el 27 de diciembre de 2013 .
    • Kobayashi, K; Mikami, S; Kimura, H; Tatebe, O (2011). El sistema de archivos Gfarm en nubes de cómputo . Talleres y foro de doctorado sobre procesamiento paralelo y distribuido (IPDPSW), Simposio internacional IEEE 2011 sobre posgrado en ingeniería de sistemas e ingeniería, Univ. de Tsukuba, Tsukuba, Japón. doi :10.1109/IPDPS.2011.255.
    • Humbetov, Shamil (2012). "Computación intensiva en datos con map-reduce y hadoop". 2012 6th International Conference on Application of Information and Communication Technologies (AICT) . Departamento de Ingeniería Informática, Universidad Qafqaz, Bakú, Azerbaiyán. págs. 1–5. doi :10.1109/ICAICT.2012.6398489. ISBN 978-1-4673-1740-5.S2CID6113112  .​
    • Hsiao, Hung-Chang; Chung, Hsueh-Yi; Shen, Haiying; Chao, Yu-Chang (2013). "Reequilibrio de carga para sistemas de archivos distribuidos en nubes". Sistemas paralelos y distribuidos, Transacciones IEEE en . 24 (5). Universidad Nacional Cheng Kung, Tainan: 951–962. doi :10.1109/TPDS.2012.196. S2CID  11271386.
    • Kai, Fan; Dayang, Zhang; Hui, Li; Yintang, Yang (2013). "Un algoritmo de balanceo de carga con retroalimentación adaptativa en HDFS". 2013 5.ª Conferencia internacional sobre redes inteligentes y sistemas colaborativos . State Key Lab. of Integrated Service Networks, Universidad de Xidian, Xi'an, China. págs. 23–29. doi :10.1109/INCoS.2013.14. ISBN 978-0-7695-4988-0.S2CID14821266  .​
    • Upadhyaya, B; Azimov, F; Doan, TT; Choi, Eunmi; Kim, Sangbum; Kim, Pilsung (2008). "Sistema de archivos distribuidos: experimentos de eficiencia para el acceso y la comunicación de datos". 2008 Cuarta Conferencia Internacional sobre Computación en Red y Gestión Avanzada de la Información . Facultad de Ingeniería de la Universidad de Kookmin, Seúl. págs. 400–405. doi :10.1109/NCM.2008.164. ISBN . 978-0-7695-3322-3. Número de identificación del sujeto  18933772.
    • Soares, Tiago S.; Dantas†, MAR; de Macedo, Douglas DJ; Bauer, Michael A (2013). "Gestión de datos en un entorno de almacenamiento en la nube privada que utiliza sistemas de archivos distribuidos de alto rendimiento". Talleres de 2013 sobre tecnologías facilitadoras: infraestructura para empresas colaborativas . nf. & Departamento de Estadística (INE), Fed. Univ. de Santa Catarina (UFSC), Florianópolis, Brasil. pp. 158–163. doi :10.1109/WETICE.2013.12. ISBN 978-1-4799-0405-1.S2CID6155753  .​
    • Adamov, Abzetdin (2012). "Sistema de archivos distribuido como base de la computación intensiva en datos". 2012 6th International Conference on Application of Information and Communication Technologies (AICT) . Comput. Eng. Dept., Qafqaz Univ., Baku, Azerbaijan. pp. 1–3. doi :10.1109/ICAICT.2012.6398484. ISBN 978-1-4673-1740-5. Número de identificación del sujeto  16674289.
    • Schwan Philip (2003). "Lustre: Building a File System for 1,000-node Clusters" (PDF) . Actas del Simposio sobre Linux de 2003. Cluster File Systems, Inc.: 400–407.
    • Jones, Terry; Koniges, Alice; Yates, R. Kim (2000). "Rendimiento del sistema de archivos paralelos generales de IBM" (PDF) . Simposio de procesamiento paralelo y distribuido, 2000. IPDPS 2000. Actas. 14.° Congreso Internacional . Laboratorio Nacional Lawrence Livermore. Archivado desde el original (PDF) el 26 de febrero de 2013. Consultado el 24 de enero de 2014 .
    • Weil, Sage A.; Brandt, Scott A.; Miller, Ethan L.; Long, Darrell DE (2006). Ceph: A Scalable, High-Performance Distributed File System (PDF) . Actas de la 7.ª Conferencia sobre diseño e implementación de sistemas operativos (OSDI '06). Archivado desde el original (PDF) el 2012-03-09 . Consultado el 2014-01-24 .
    • Maltzahn, Carlos; Molina-Estolano, Esteban; Khurana, Amandeep; Nelson, Alex J.; Brandt, Scott A.; Weil, Sage (2010). Ceph como una alternativa escalable al sistema de archivos distribuido Hadoop (PDF) (Informe).
    • SA, Brandt; EL, Miller; DDE, Long; Lan, Xue (2003). "Gestión eficiente de metadatos en grandes sistemas de almacenamiento distribuido". 20.ª Conferencia IEEE/11.ª NASA Goddard sobre sistemas y tecnologías de almacenamiento masivo, 2003. (MSST 2003). Actas . Storage Syst. Res. Center, Universidad de California, Santa Cruz, CA, EE. UU., págs. 290–298. CiteSeerX  10.1.1.13.2537 . doi :10.1109/MASS.2003.1194865. ISBN . 978-0-7695-1914-2.S2CID 5548463  .
    • Garth A., Gibson; Rodney, MVan Meter (noviembre de 2000). "Arquitectura de almacenamiento conectado a red" (PDF) . Comunicaciones de la ACM . 43 (11): 37–45. doi :10.1145/353360.353362. S2CID  207644891.
    • Yee, Tin Tin; Thu Naing, Thinn (2011). "Arquitectura de sistema de almacenamiento basado en clúster de PC para almacenamiento en la nube". arXiv : 1112.2025 [cs.DC].
    • Cho Cho, Khaing; Thinn Thu, Naing (2011). "El sistema de gestión de almacenamiento de datos eficiente en un centro de datos de nube privada basado en clúster". Conferencia internacional IEEE de 2011 sobre computación en la nube y sistemas de inteligencia . págs. 235–239. doi :10.1109/CCIS.2011.6045066. ISBN 978-1-61284-203-5.S2CID224635  .​
    • SA, Brandt; EL, Miller; DDE, Long; Lan, Xue (2011). "Una arquitectura de almacenamiento de archivos orientada a servicios de nivel de operador para computación en la nube". 2011 3er Simposio sobre la Sociedad Web . Centro PCN&CAD, Universidad de Correos y Telecomunicaciones de Pekín, Pekín, China. pp. 16–20. doi :10.1109/SWS.2011.6101263. ISBN 978-1-4577-0211-2. Número de identificación del sujeto  14791637.
    • Ghemawat, Sanjay; Gobioff, Howard; Leung, Shun-Tak (2003). "El sistema de archivos de Google". Actas del decimonoveno simposio de la ACM sobre principios de sistemas operativos – SOSP '03 . págs. 29–43. doi :10.1145/945445.945450. ISBN 978-1-58113-757-6. Número de identificación del sujeto  221261373.
  2. Seguridad
    • Vecchiola, C; Pandey, S; Buyya, R (2009). "Computación en la nube de alto rendimiento: una visión de las aplicaciones científicas". 2009 10.º Simposio internacional sobre sistemas generalizados, algoritmos y redes . Departamento de Ciencias de la Computación e Ingeniería de Software, Universidad de Melbourne, Melbourne, VIC, Australia. pp. 4–16. arXiv : 0910.1979 . doi :10.1109/I-SPAN.2009.150. ISBN . 978-1-4244-5403-7.S2CID 1810240  .
    • Miranda, Mowbray; Siani, Pearson (2009). "Un gestor de privacidad basado en cliente para la computación en la nube". Actas de la Cuarta Conferencia Internacional ICST sobre software y middleware de sistemas de comunicación – COMSWARE '09 . p. 1. doi :10.1145/1621890.1621897. ISBN 978-1-60558-353-2.S2CID10130310  .​
    • Naehrig, Michael; Lauter, Kristin (2013). "¿Puede ser práctico el cifrado homomórfico?". Actas del tercer taller de la ACM sobre seguridad en la computación en la nube – CCSW '11 . pp. 113–124. CiteSeerX  10.1.1.225.8007 . doi :10.1145/2046660.2046682. ISBN . 978-1-4503-1004-8. Número de identificación del sujeto  12274859.
    • Du, Hongtao; Li, Zhanhuai (2012). "PsFS: Un sistema de archivos paralelo de alto rendimiento para un sistema de almacenamiento seguro en la nube". Conferencia internacional sobre medición, información y control (MIC) de 2012. Vol. 1. Comput. Coll., Northwestern Polytech. Univ., Xi'An, China. págs. 327–331. doi :10.1109/MIC.2012.6273264. ISBN 978-1-4577-1604-1.S2CID 40685246  .
    • A. Brandt, Scott; L. Miller, Ethan; DELong, Darrell; Xue, Lan (2003). "Gestión eficiente de metadatos en grandes sistemas de almacenamiento distribuido" (PDF) . 11.ª Conferencia Goddard de la NASA sobre sistemas y tecnologías de almacenamiento masivo, San Diego, CA. Centro de investigación de sistemas de almacenamiento, Universidad de California, Santa Cruz. Archivado desde el original (PDF) el 22 de agosto de 2013. Consultado el 27 de diciembre de 2013 .
    • Lori M. Kaufman (2009). "Seguridad de datos en el mundo de la computación en la nube". Seguridad y privacidad, IEEE . 7 (4): 161–64. doi :10.1109/MSP.2009.87. S2CID  16233643.
    • Bowers, Kevin; Juels, Ari; Oprea, Alina (2009). "HAIL: Una capa de alta disponibilidad e integridad para el almacenamiento en la nube". Actas de la 16.ª conferencia de la ACM sobre seguridad informática y de las comunicaciones . pp. 187–198. doi :10.1145/1653662.1653686. ISBN 978-1-60558-894-0. Número de identificación del sujeto  207176701.
    • Juels, Ari; Oprea, Alina (febrero de 2013). "Nuevos enfoques para la seguridad y disponibilidad de datos en la nube". Comunicaciones de la ACM . 56 (2): 64–73. doi :10.1145/2408776.2408793. S2CID  17596621.
    • Zhang, Jing; Wu, Gongqing; Hu, Xuegang; Wu, Xindong (2012). "Un caché distribuido para el sistema de archivos distribuidos Hadoop en servicios de nube en tiempo real". 2012 ACM/IEEE 13th International Conference on Grid Computing . Departamento de Ciencias de la Computación, Universidad de Tecnología de Hefei, Hefei, China. págs. 12–21. doi :10.1109/Grid.2012.17. ISBN 978-1-4673-2901-9. Número de identificación del sujeto  10778240.
    • A., Pan; JP, Walters; VS, Pai; D.-ID, Kang; SP, Crago (2012). "Integración de sistemas de archivos de alto rendimiento en un entorno de computación en la nube". 2012 SC Companion: Computación de alto rendimiento, almacenamiento en red y análisis . Departamento de Ingeniería Eléctrica y Computación, Universidad de Purdue, West Lafayette, IN, EE. UU., págs. 753–759. doi :10.1109/SC.Companion.2012.103. ISBN. 978-0-7695-4956-9.S2CID 5554936  .
    • Fan-Hsun, Tseng; Chi-Yuan, Chen; Li-Der, Chou; Han-Chieh, Chao (2012). "Implementar un sistema de archivos distribuido en la nube confiable y seguro". Simposio internacional de 2012 sobre procesamiento inteligente de señales y sistemas de comunicaciones . Departamento de Ciencias Informáticas e Ingeniería Informática, Universidad Nacional Central, Taoyuan, Taiwán. págs. 227–232. doi :10.1109/ISPACS.2012.6473485. ISBN . 978-1-4673-5082-2.S2CID 18260943  .
    • Di Sano, M; Di Stefano, A; Morana, G; Zito, D (2012). "File System As-a-Service: Proporcionar vistas transitorias y consistentes de archivos a aplicaciones que cooperan en la nube". 2012 IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises . Departamento de Electricidad, Electrónica y Computación, Univ. de Catania, Catania, Italia. págs. 173–178. doi :10.1109/WETICE.2012.104. ISBN 978-1-4673-1888-4. Número de identificación del sujeto  19798809.
    • Zhifeng, Xiao; Yang, Xiao (2013). "Seguridad y privacidad en la computación en la nube". IEEE Communications Surveys and Tutorials . 15 (2): 843–859. CiteSeerX  10.1.1.707.3980 . doi :10.1109/SURV.2012.060912.00182. S2CID  206583820.
    • John B, Horrigan (2008). "Uso de aplicaciones y servicios de computación en la nube" (PDF) . Archivado desde el original (PDF) el 2013-07-12 . Consultado el 2013-12-27 .
    • Yau, Stephen; An, Ho (2010). "Protección de la confidencialidad en sistemas de computación en la nube". Int J Software Informatics : 351–365.
    • Carnegie, Bin Fan; Tantisiriroj, Wittawat; Xiao, Lin; Gibson, Garth (2009). "DiskReduce: RAID para computación escalable con uso intensivo de datos". Actas del 4.º taller anual sobre almacenamiento de datos a petaescala . págs. 6-10. doi :10.1145/1713072.1713075. ISBN 978-1-60558-883-4.S2CID15194567  .​
    • Wang, Jianzong; Gong, Weijiao; P., Varman; Xie, Changsheng (2012). "Reducción de la sobrecarga de almacenamiento con la prevención de cuellos de botella de escritura pequeños en el sistema RAID en la nube". 2012 ACM/IEEE 13th International Conference on Grid Computing . págs. 174–183. doi :10.1109/Grid.2012.29. ISBN 978-1-4673-2901-9.S2CID16827141  .​
    • Abu-Libdeh, Hussam; Princehouse, Lonnie; Weatherspoon, Hakim (2010). "RACS: un caso de diversidad en el almacenamiento en la nube". Actas del 1.er simposio de la ACM sobre computación en la nube . pp. 229–240. doi :10.1145/1807128.1807165. ISBN 978-1-4503-0036-0.S2CID1283873  .​
    • Vogels, Werner (2009). "Eventualmente consistente". Comunicaciones de la ACM . 52 (1): 40–44. doi : 10.1145/1435417.1435432 .
    • Cuong, Pham; Cao, Phuong; Kalbarczyk, Z; Iyer, RK (2012). "Hacia una nube de alta disponibilidad: técnicas y desafíos". Talleres de la Conferencia Internacional IEEE/IFIP sobre Sistemas y Redes Confiables (DSN 2012) . págs. 1–6. doi :10.1109/DSNW.2012.6264687. ISBN 978-1-4673-2266-9.S2CID 9920903  .
    • A., Undheim; A., Chilwan; P., Heegaard (2011). "Disponibilidad diferenciada en acuerdos de nivel de servicio de computación en la nube". 2011 IEEE/ACM 12th International Conference on Grid Computing . págs. 129–136. doi :10.1109/Grid.2011.25. ISBN 978-1-4577-1904-2.S2CID 15047580  .
    • Qian, Haiyang; D., Medhi; T., Trivedi (2011). "Un modelo jerárquico para evaluar la calidad de la experiencia de los servicios en línea alojados por la computación en la nube". Comunicaciones de la ACM . 52 (1): 105–112. CiteSeerX  10.1.1.190.5148 . doi :10.1109/INM.2011.5990680. S2CID  15912111.
    • Ateniese, Giuseppe; Burns, Randal; Curtmola, Reza; Herring, Joseph; Kissner, Lea; Peterson, Zachary; Song, Dawn (2007). "Posesión de datos demostrable en almacenes no confiables". Actas de la 14.ª conferencia de la ACM sobre seguridad informática y de las comunicaciones – CCS '07. págs. 598–609. doi :10.1145/1315245.1315318. ISBN 978-1-59593-703-2.S2CID8010083  .​
    • Ateniese, Giuseppe; Di Pietro, Roberto; V. Mancini, Luigi; Tsudik, Gene (2008). "Posesión de datos escalable y eficientemente demostrable". Actas de la 4.ª conferencia internacional sobre seguridad y privacidad en redes de comunicación – Secure Comm '08 . pág. 1. CiteSeerX  10.1.1.208.8270 . doi :10.1145/1460877.1460889. ISBN 978-1-60558-241-2. Número de identificación del sujeto  207170639.
    • Erway, Chris; Küpçü, Alptekin; Tamassia, Roberto; Papamanthou, Charalampos (2009). "Posesión de datos demostrable dinámica". Actas de la 16.ª conferencia de la ACM sobre seguridad informática y de las comunicaciones – CCS '09 . págs. 213–222. doi :10.1145/1653662.1653688. ISBN 978-1-60558-894-0.S2CID 52856440  .
    • Juels, Ari; S. Kaliski, Burton (2007). "Pors: Pruebas de recuperabilidad para archivos grandes". Actas de la 14.ª conferencia de la ACM sobre seguridad informática y de las comunicaciones . pp. 584–597. doi :10.1145/1315245.1315317. ISBN 978-1-59593-703-2.S2CID6032317  .​
    • Bonvin, Nicolas; Papaioannou, Thanasis; Aberer, Karl (2009). "Un esquema de replicación escalable, tolerante a fallos y autoorganizado para el almacenamiento en la nube". Actas del 1.er simposio de la ACM sobre computación en la nube – SoCC '10. págs. 205–216. doi :10.1145/1807128.1807162. ISBN 978-1-4503-0036-0. Número de identificación del sujeto  3261817.
    • Tim, Kraska; Martin, Hentschel; Gustavo, Alonso; Donald, Kossma (2009). "Racionamiento de la consistencia en la nube: pagar solo cuando importa". Actas del Fondo VLDB . 2 (1): 253–264. doi :10.14778/1687627.1687657.
    • Daniel, J. Abadi (2009). Gestión de datos en la nube: limitaciones y oportunidades (informe). CiteSeerX  10.1.1.178.200 .
    • Ari, Juels; S., Burton; Jr, Kaliski (2007). "Pors: pruebas de recuperabilidad de archivos de gran tamaño". Comunicaciones de la ACM . 56 (2): 584–597. doi :10.1145/1315245.1315317. S2CID  6032317.
    • Ari, Ateniese; Randal, Burns; Johns, Reza; Curtmola, Joseph; Herring, Burton; Lea, Kissner; Zachary, Peterson; Dawn, Song (2007). "Posesión de datos demostrable en almacenes no confiables". CCS '07 Actas de la 14.ª conferencia de la ACM sobre seguridad informática y de las comunicaciones. págs. 598–609. doi :10.1145/1315245.1315318. ISBN 978-1-59593-703-2.S2CID8010083  .​
  3. Sincronización
    • Uppoor, S; Flouris, MD; Bilas, A (2010). "Sincronización basada en la nube de jerarquías de sistemas de archivos distribuidos". Talleres y pósteres de la Conferencia Internacional IEEE sobre Computación en Cluster de 2010 (TALLERES DE CLUSTER) . Instituto de Ciencias de la Computación (ICS), Fundación para la Investigación y la Tecnología - Hellas (FORTH), Heraklion, Grecia. págs. 1–4. doi :10.1109/CLUSTERWKSP.2010.5613087. ISBN . 978-1-4244-8395-2. Número de identificación del sujeto  14577793.
  4. Aspectos económicos
    • Lori M., Kaufman (2009). "Seguridad de datos en el mundo de la computación en la nube". Seguridad y privacidad, IEEE . 7 (4): 161–64. doi :10.1109/MSP.2009.87. S2CID  16233643.
    • Marston, Sean; Lia, Zhi; Bandyopadhyaya, Subhajyoti; Zhanga, Juheng; Ghalsasi, Anand (2011). Computación en la nube: la perspectiva empresarial . Decision Support Systems, volumen 51, número 1, págs. 176-189. doi :10.1016/j.dss.2010.12.006.
    • Angabini, A; Yazdani, N; Mundt, T; Hassani, F (2011). "Idoneidad de la computación en la nube para aplicaciones de análisis de datos científicos; un estudio empírico". Conferencia internacional de 2011 sobre computación P2P, paralela, en red, en la nube e Internet . Facultad de Ingeniería Eléctrica y Computación, Universidad de Teherán, Teherán, Irán. págs. 193–199. doi :10.1109/3PGCIC.2011.37. ISBN . 978-1-4577-1448-1. Número de identificación del sujeto  13393620.