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) en esos datos. Cada archivo de datos se puede dividir 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 determinado tipo de aplicación, dependiendo de cuán compleja sea la aplicación. Mientras tanto, se debe garantizar la seguridad del sistema. 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 normalmente se caracteriza por recursos escalables y elásticos , como servidores físicos , aplicaciones y cualquier servicio que esté virtualizado y asignado dinámicamente. Se requiere sincronización para garantizar que todos los dispositivos estén actualizados.

Los sistemas de archivos distribuidos permiten a muchas empresas grandes, medianas y pequeñas almacenar y acceder a sus datos remotos como lo hacen con los datos locales, facilitando el uso de recursos variables.

Descripción general

Historia

Hoy en día, existen muchas implementaciones de sistemas de archivos distribuidos. Los primeros servidores de archivos fueron desarrollados por investigadores en los años 1970. El sistema de archivos en red de Sun Microsystem estuvo disponible en la década de 1980. Antes de eso, las personas que querían compartir archivos utilizaban el método Sneakernet , transportando físicamente archivos en medios de almacenamiento de un lugar a otro. Una vez que las redes informáticas comenzaron a proliferar, se hizo evidente que los sistemas de archivos existentes tenían muchas limitaciones y no eran adecuados para entornos multiusuario. Inicialmente, los usuarios utilizaban FTP para compartir archivos. [1] FTP se ejecutó por primera vez en el PDP-10 a finales 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 admitir entornos grandes y heterogéneos, compuestos por una gran cantidad de computadoras de diferentes capacidades. La computación en la nube coordina el funcionamiento de todos estos 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 múltiples operaciones. sistemas coexistan en el mismo servidor físico.

Aplicaciones

La computación en la nube proporciona 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 particularmente adecuada para admitir diferentes tipos de aplicaciones que requieren procesamiento distribuido a gran escala. Esta informática con uso intensivo de 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, liberándolos una vez finalizada una tarea, lo que requiere que los usuarios paguen sólo por los servicios necesarios, a menudo a través de un acuerdo de nivel de servicio . Los paradigmas de la computación en la nube y la computación en clústeres son cada vez más importantes para el procesamiento de datos industriales y las aplicaciones científicas como la astronomía y la física, que frecuentemente requieren la disponibilidad de una gran cantidad 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

Network File System (NFS) utiliza una arquitectura cliente-servidor , que permite compartir archivos entre varias máquinas en una red como si estuvieran ubicadas localmente, proporcionando 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 único servidor hace que el protocolo NFS sufra 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, en contraste con el modelo de carga/descarga:

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

Arquitecturas basadas en clústeres

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 división de archivos: un archivo se divide en varios fragmentos, que se "dividen" 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, entonces 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,...) sobre una gran cantidad de archivos distribuidos entre una gran cantidad de computadoras, las soluciones basadas en clústeres resultan 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) de este tipo más utilizados son el sistema de archivos de Google (GFS) y el sistema de archivos distribuido Hadoop (HDFS). Los sistemas de archivos de ambos se implementan mediante procesos a nivel de usuario que se ejecutan sobre un sistema operativo estándar ( Linux en el caso de GFS). [8]

Criterios de diseño

Objetivos

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

Balanceo 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 fragmentos de servidores 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 fragmentos de tamaño fijo (por ejemplo, 64 megabytes), el la carga de cada servidor de fragmentos es proporcional al número de fragmentos alojados por el servidor. [12] En una nube con equilibrio de carga, los recursos se pueden utilizar de manera eficiente y al mismo tiempo maximizar el rendimiento de las aplicaciones basadas en MapReduce.

Reequilibrio de carga

En un entorno de computación en la nube, las fallas son la norma [13] [14] y los servidores fragmentados pueden actualizarse, reemplazarse y agregarse al sistema. Los archivos también se pueden crear, eliminar y adjuntar dinámicamente. Esto conduce a 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 moverse 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 no pueden gestionar una gran cantidad de accesos a archivos, ya que aumenta sus cargas ya pesadas. El problema de reequilibrio de carga es NP-hard . [dieciséis]

Para lograr que una gran cantidad de servidores de fragmentos trabajen en colaboración y resolver el problema del equilibrio de carga en sistemas de archivos distribuidos, se han propuesto varios enfoques, como reasignar fragmentos de archivos para que se puedan distribuir de la manera más uniforme posible mientras reduciendo al máximo el coste del movimiento. [12]

sistema de archivos de google

Descripción

Google, una de las mayores empresas de Internet, ha creado su propio sistema de archivos distribuido, llamado Google File System (GFS), para satisfacer las crecientes demandas de las necesidades 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 pensar en problemas de paralelización y equilibrio de carga. La arquitectura GFS se basa en tener un único servidor maestro para múltiples servidores de fragmentos y múltiples 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 varios 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 global único de 64 bits 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 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 archivos a 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 el mapeo de regreso 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 solo se le contacta para obtener información de metadatos. Para todos los demás datos, el cliente debe interactuar con los servidores de fragmentos.

El maestro realiza un seguimiento de dónde se encuentra un fragmento. Sin embargo, no intenta mantener las ubicaciones de los fragmentos con precisión, sino que sólo ocasionalmente se comunica con los servidores de fragmentos para ver qué fragmentos han almacenado. [20] Esto permite la escalabilidad y ayuda a prevenir 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 sin sobrescribir los datos existentes. Una vez escritos, los archivos normalmente sólo se leen de forma secuencial en lugar de aleatoriamente, y eso hace que este DFS sea el más adecuado para escenarios en los que muchos archivos grandes se crean una vez pero se leen muchas veces. [22] [23]

Procesamiento de archivos

Cuando un cliente desea escribir/actualizar un archivo, el maestro asignará una réplica, que será la réplica principal si es 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 asegura que el servidor de fragmentos principal 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 del nuevo número de versión. Los números de versión de fragmentos permiten la detección de errores de actualización, si una réplica no se actualizó porque su servidor de fragmentos estaba inactivo. [24]

Algunas aplicaciones nuevas de Google no funcionaron 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 Apache Software Foundation , es un sistema de archivos distribuido diseñado para almacenar cantidades muy grandes de datos (terabytes o incluso petabytes). Su arquitectura es similar a GFS, es decir, una arquitectura servidor/cliente. HDFS normalmente se instala en un grupo de computadoras. El concepto de diseño de Hadoop está informado por 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 una vez y lectura de muchas, y admite archivos adjuntos y truncados en lugar de lecturas y escrituras aleatorias para simplificar los problemas de coherencia de los datos. [27]

Un clúster HDFS consta de un único NameNode y varias máquinas DataNode. El NameNode, un servidor maestro, gestiona y mantiene los metadatos de los DataNodes de almacenamiento en su RAM. Los DataNodes administran el almacenamiento adjunto a los nodos en los que se ejecutan. NameNode y DataNode son software diseñados para ejecutarse en máquinas de uso diario, que normalmente se ejecutan con un sistema operativo Linux. HDFS se puede ejecutar en cualquier máquina que admita Java y, por lo tanto, puede ejecutar un software NameNode o 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 múltiples DataNodes y cada uno puede replicarse en múltiples DataNodes para garantizar la disponibilidad. De forma predeterminada, cada bloque se replica tres veces, un proceso llamado "Replicación a nivel de bloque". [29]

NameNode gestiona 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 el mapeo de bloques a DataNodes. Los DataNodes son responsables de atender las solicitudes de lectura y escritura de los clientes del sistema de archivos, gestionar la asignación o eliminación de bloques y replicar bloques. [30]

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

El HDFS suele caracterizarse por su compatibilidad con esquemas de reequilibrio de datos. En general, gestionar el espacio libre en un DataNode es muy importante. Los datos deben moverse de un DataNode a otro, si el espacio libre no es adecuado; y en el caso de crear réplicas adicionales, los datos deben moverse 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 su escalabilidad. Otros diseños para sistemas de archivos distribuidos admiten aplicaciones de alto rendimiento que normalmente se ejecutan en paralelo. [31] Algunos ejemplos incluyen: sistema de archivos MapR (MapR-FS), Ceph-FS , sistema de archivos Fraunhofer (BeeGFS) , sistema de archivos Lustre , sistema de archivos paralelo general de IBM (GPFS) y sistema de archivos virtual paralelo .

MapR-FS es un sistema de archivos distribuido que es la base de la plataforma convergente MapR, con capacidades para almacenamiento de archivos distribuido, una base de datos NoSQL con múltiples API y un sistema de transmisión de mensajes integrado. MapR-FS está optimizado para brindar escalabilidad, rendimiento, confiabilidad y disponibilidad. Su capacidad de almacenamiento de archivos es compatible con la API del sistema de archivos distribuido Apache Hadoop (HDFS), pero con varias características de diseño que lo distinguen de HDFS. Entre las diferencias más notables está 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 existe un NameNode. [32] [33] [34] [35] [36]

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

BeeGFS es el sistema de archivos paralelo 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 ha sido diseñado e implementado para abordar el problema de los cuellos de botella que tradicionalmente se encuentran en los sistemas distribuidos. Lustre se caracteriza por su eficiencia, escalabilidad y redundancia. [40] GPFS también fue diseñado 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. 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, TCP controla el proceso y se implementa en el núcleo. Sin embargo, en caso de congestión o errores de la red, es posible que TCP no envíe los datos directamente. Mientras transfiere datos desde un búfer en el kernel 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 el buffer los datos de 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 en el nivel de la aplicación. El buffer se mantiene usando 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 BufferNode para las últimas posiciones de escritura y lectura. Si 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 del sistema de archivos distribuido

Cada vez más usuarios cuentan con múltiples 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 copias de seguridad y también para operaciones fuera de línea. 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án más adelante y fuera de línea. Una vez que las condiciones de la red sean 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]

Claves 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

Confidencialidad significa que los datos y las tareas informáticas 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 todavía 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 partes no autorizadas no accedan a los datos de los clientes.

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 la 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 celebrado con el cliente, [50] permitiendo a los usuarios elegir ellos mismos las ubicaciones de los servidores que alojarán sus datos.

Otro enfoque de la confidencialidad implica el cifrado de datos. [51] De lo contrario, existirá un grave riesgo de uso no autorizado. Existe una variedad de soluciones, como cifrar solo datos confidenciales [52] y admitir solo algunas operaciones, para 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 integridad de los datos así como integridad informática. Esta integridad significa que los datos deben almacenarse correctamente en servidores en la nube y, en caso de fallas o cálculos incorrectos, deben detectarse problemas.

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

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

Existen mecanismos de verificación que afectan la integridad de los datos. Por ejemplo:

Disponibilidad

La disponibilidad generalmente se efectúa mediante la replicación . [61] [62] [63] [64] Mientras tanto, se debe garantizar la coherencia. Sin embargo, la coherencia y la disponibilidad no se pueden lograr al mismo tiempo; cada uno tiene prioridad con algún sacrificio del otro. Es necesario lograr un equilibrio. [sesenta y cinco]

Los datos deben tener una identidad para ser accesibles. Por ejemplo, Skute [61] es un mecanismo basado en el almacenamiento de claves/valores que permite la asignación dinámica de datos de forma eficiente. Cada servidor debe identificarse mediante una etiqueta con 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 dato se identifica mediante un espacio de clave que se genera mediante una función hash criptográfica unidireccional (por ejemplo, MD5 ) y se localiza mediante el valor de la función hash de esta clave. El espacio clave se puede dividir en varias particiones y cada partición hace referencia a un dato. Para realizar la replicación, otros servidores deben replicar los nodos virtuales y hacer referencia a ellos. 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 son la confianza de los servidores y (dependiendo de factores técnicos como 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 excelente 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 datos replicados. De hecho, existe un proceso en segundo plano que busca datos ampliamente replicados y elimina copias adicionales después de codificarlos. Otro enfoque es reemplazar la replicación con 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 una 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 EE.UU. ha decidido gastar el 40% de su tasa de crecimiento anual compuesta (CAGR), que se espera que sea de 7 mil millones de dólares en 2015. [71]

Cada vez más empresas han estado utilizando 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, asegurando que sus necesidades informáticas se satisfagan sin tener que invertir. en infraestructura (modelo de pago por uso). [72]

Cada proveedor de aplicaciones tiene que pagar periódicamente el coste 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 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 computación. 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 tales recursos informáticos. La computación en la nube puede reducir las barreras de TI a la innovación. [74]

A pesar de la amplia utilización de la computación en la nube, compartir eficientemente grandes volúmenes de datos en una nube que no es de confianza sigue siendo un desafío.

Referencias

  1. ^ Microsistema solar, pag. 1
  2. ^ Kon 1996, pag. 1
  3. ^ Kobayashi y otros. 2011, pág. 1
  4. ^ Angabini y col. 2011, pág. 1
  5. ^ Di Sano y col. 2012, pág. 2
  6. ^ Andrew y Maarten 2006, pág. 492
  7. ^ Andrew y Maarten 2006, pág. 496
  8. ^ Humbetov 2012, pag. 2
  9. ^ abc Krzyzanowski 2012, pag. 2
  10. ^ Pavel Bžoch, pág. 7
  11. ^ Kai y col. 2013, pág. 23
  12. ^ ab Hsiao et al. 2013, pág. 2
  13. ^ Hsiao y col. 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 col. 2013, pág. 953
  17. ^ Di Sano y col. 2012, págs. 1-2
  18. ^ Krzyzanowski 2012, pag. 4
  19. ^ Di Sano y col. 2012, pág. 2
  20. ^ Andrew y Maarten 2006, pág. 497
  21. ^ Humbetov 2012, pag. 3
  22. ^ Humbetov 2012, pag. 5
  23. ^ Andrew y Maarten 2006, pág. 498
  24. ^ Krzyzanowski 2012, pag. 5
  25. ^ "La gran unidad de disco en el cielo: cómo los gigantes de la Web almacenan datos grandes (y nos referimos a grandes datos)". 2012-01-27.
  26. ^ Fan-Hsun y col. 2012, pág. 2
  27. ^ "Apache Hadoop 2.9.2 - Arquitectura HDFS".
  28. ^ Azzedin 2013, pag. 2
  29. ^ ab Adamov 2012, pág. 2
  30. ^ Yee y Thu Naing 2011, pág. 122
  31. ^ Soares y col. 2013, pág. 158
  32. ^ Pérez, Nicolás (2 de enero de 2016). "Cómo MapR mejora nuestra productividad y simplifica nuestro diseño". Medio . 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. "Cumbre de la memoria flash". YouTube . Samsung . Consultado el 21 de junio de 2016 .
  35. ^ Srivas, MC. "Sistema de archivos MapR". Cumbre de Hadoop 2011 . Hortonworks . Consultado el 21 de junio de 2016 .
  36. ^ Reclamación, Ted; Friedman, Ellen (enero de 2015). "Capítulo 3: Comprensión de la distribución MapR para Apache Hadoop". Hadoop del mundo real (Primera ed.). Sebastopol, CA: O'Reilly Media, Inc. págs. ISBN 978-1-4919-2395-5. Consultado el 21 de junio de 2016 .
  37. ^ Weil y col. 2006, pág. 307
  38. ^ Maltzahn y col. 2010, pág. 39
  39. ^ Jacobi y Lingemann, pag. 10
  40. ^ Schwan Philip 2003, pag. 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. ^ ab Uppoor, Flouris y Bilas 2010, p. 1
  47. ^ ab Zhifeng y Yang 2013, pág. 854
  48. ^ Zhifeng y Yang 2013, págs. 845–846
  49. ^ Yau y An 2010, pag. 353
  50. ^ Vecchiola, Pandey y Buyya 2009, pág. 14
  51. ^ Yau y An 2010, pag. 352
  52. ^ Miranda y Siani 2009
  53. ^ Naehrig y Lauter 2013
  54. ^ Zhifeng y Yang 2013, pág. 5
  55. ^ Juels y Oprea 2013, pag. 4
  56. ^ Bowers, Juels y Oprea 2009
  57. ^ Juels y S. Kaliski 2007, pág. 2
  58. ^ Ateniese et al. 2007
  59. ^ Ateniese et al. 2008, págs.5, 9
  60. ^ Erway y col. 2009, pág. 2
  61. ^ ab Bonvin, Papaioannou y Aberer 2009, pág. 206
  62. ^ Cuong y col. 2012, pág. 5
  63. ^ A., A. y P. 2011, pág. 3
  64. ^ Qian, D. y T. 2011, pág. 3
  65. ^ Vogels 2009, pag. 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 col. 2011, pág. 1
  73. ^ Bonvin, Papaioannou y Aberer 2009, pág. 3
  74. ^ Marston y col. 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 basado en P2P". Talleres de la Conferencia internacional IEEE sobre informática en clústeres de 2012 . Col. de Computación. Ciencia. & Technol., Universidad de Zhejiang, Hangzhou, China. pag. 41. doi :10.1109/ClusterW.2012.27. ISBN 978-0-7695-4844-9. S2CID  12430485.
    • Azzedin, Farag (2013). "Hacia una arquitectura HDFS escalable". 2013 Conferencia Internacional sobre Tecnologías y Sistemas de Colaboración (CTS) . Departamento de Información y Ciencias de la Computación Universidad Rey Fahd de Petróleo y Minerales. págs. 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 informáticas . Talleres de procesamiento paralelo y distribuido y foro de doctorado (IPDPSW), Simposio internacional IEEE 2011 sobre. Graduado. Sch. de sist. & Inf. Ing., 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 VI Congreso Internacional sobre Aplicación de Tecnologías de la Información y las Comunicaciones (AICT) . Departamento de Ingeniería Informática Universidad Qafqaz de Bakú, Azerbaiyán. págs. 1 a 5. doi :10.1109/ICAICT.2012.6398489. ISBN 978-1-4673-1740-5. S2CID  6113112.
    • Hsiao, Hung-Chang; Chung, Hsueh-Yi; Shen, Haiying; Chao, Yu-Chang (2013). "Reequilibrio de carga para sistemas de archivos distribuidos en la nube". 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 equilibrio de carga de retroalimentación adaptativa en HDFS". 2013 V Congreso Internacional sobre Redes Inteligentes y Sistemas Colaborativos . Laboratorio clave del estado. de Redes de Servicios Integrados, Universidad Xidian, Xi'an, China. págs. 23-29. doi :10.1109/INCoS.2013.14. ISBN 978-0-7695-4988-0. S2CID  14821266.
    • Upadhyaya, B; Azimov, F; Doán, 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 . Sch. de Autobús. IT, Kookmin Univ., Seúl. págs. 400–405. doi :10.1109/NCM.2008.164. ISBN 978-0-7695-3322-3. S2CID  18933772.
    • Soares, Tiago S.; Dantas†, MAR; de Macedo, Douglas DJ; Bauer, Michael A (2013). "Una gestión de datos en un entorno de almacenamiento en la nube privada que utiliza sistemas de archivos distribuidos de alto rendimiento". 2013 Talleres sobre tecnologías habilitadoras: infraestructura para empresas colaborativas . nf. & Departamento de Estadística (INE), Fed. Univ. de Santa Catarina (UFSC), Florianópolis, Brasil. págs. 158-163. doi :10.1109/WETICE.2013.12. ISBN 978-1-4799-0405-1. S2CID  6155753.
    • Adamov, Abzetdin (2012). "Sistema de archivos distribuido como base de la informática intensiva en datos". 2012 VI Congreso Internacional sobre Aplicación de Tecnologías de la Información y las Comunicaciones (AICT) . Computadora. Ing. Departamento, Universidad Qafqaz, Bakú, Azerbaiyán. págs. 1–3. doi :10.1109/ICAICT.2012.6398484. ISBN 978-1-4673-1740-5. S2CID  16674289.
    • Schwan Philip (2003). "Lustre: creación de un sistema de archivos para clústeres de 1000 nodos" (PDF) . Actas del Simposio de Linux de 2003 . Sistemas de archivos de clúster, Inc.: 400–407.
    • Jones, Terry; Kóniges, Alice; Yates, R. Kim (2000). "Rendimiento del sistema de archivos paralelo general de IBM" (PDF) . Simposio sobre procesamiento paralelo y distribuido, 2000. IPDPS 2000. Actas. 14° Internacional . Laboratorio Nacional Lawrence Livermore. Archivado desde el original (PDF) el 26 de febrero de 2013 . Consultado el 24 de enero de 2014 .
    • Weil, sabio A.; Brandt, Scott A.; Miller, Ethan L.; Largo, Darrell DE (2006). Ceph: un sistema de archivos distribuido escalable y de alto rendimiento (PDF) . Actas de la Séptima Conferencia sobre Diseño e Implementación de Sistemas Operativos (OSDI '06). Archivado desde el original (PDF) el 9 de marzo de 2012 . Consultado el 24 de enero de 2014 .
    • Maltzahn, Carlos; Molina-Estolano, Esteban; Khurana, Amandeep; Nelson, Alex J.; Brandt, Scott A.; Weil, sabio (2010). Ceph como alternativa escalable al sistema de archivos distribuido Hadoop (PDF) (Reporte).
    • SA, Brandt; EL, Miller; DDE, largo; Lan, Xue (2003). "Gestión eficiente de metadatos en grandes sistemas de almacenamiento distribuido". 20.ª Conferencia Goddard de IEEE/11.ª NASA sobre sistemas y tecnologías de almacenamiento masivo, 2003. (MSST 2003). Procedimientos . Sistema de almacenamiento 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 la red" (PDF) . Comunicaciones de la ACM . 43 (11): 37–45. doi :10.1145/353360.353362. S2CID  207644891.
    • Sí, Tin Tin; Jue 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 eficiente de gestión de almacenamiento de datos en un centro de datos de nube privada basado en clústeres". Conferencia Internacional IEEE 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. S2CID  224635.
    • SA, Brandt; EL, Miller; DDE, largo; 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 Sociedad Web . Centro PCN&CAD, Universidad de Beijing. de Correos y Telecomunicaciones, Beijing, China. págs. 16-20. doi :10.1109/SWS.2011.6101263. ISBN 978-1-4577-0211-2. S2CID  14791637.
    • Ghemawat, Sanjay; Gobioff, Howard; Leung, Shun-Tak (2003). "El sistema de archivos de Google". Actas del decimonoveno simposio ACM sobre principios de sistemas operativos - SOSP '03 . págs. 29–43. doi :10.1145/945445.945450. ISBN 978-1-58113-757-6. S2CID  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 Décimo Simposio Internacional sobre Sistemas, Algoritmos y Redes Generalizados . Departamento de Computación. Ciencia. & Ingeniería de Software, Univ. de Melbourne, Melbourne, VIC, Australia. págs. 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 administrador de privacidad basado en cliente para computación en la nube". Actas de la Cuarta Conferencia Internacional ICST sobre software y middleware de sistemas de comunicación - COMSWARE '09 . pag. 1. doi :10.1145/1621890.1621897. ISBN 978-1-60558-353-2. S2CID  10130310.
    • Naehrig, Michael; Lauter, Kristin (2013). "¿Puede ser práctico el cifrado homomórfico?". Actas del tercer taller de ACM sobre seguridad de la computación en la nube - CCSW '11 . págs. 113-124. CiteSeerX  10.1.1.225.8007 . doi :10.1145/2046660.2046682. ISBN 978-1-4503-1004-8. S2CID  12274859.
    • Du, Hongtao; Li, Zhanhuai (2012). "PsFS: un sistema de archivos paralelo de alto rendimiento para un sistema seguro de almacenamiento en la nube". 2012 Conferencia Internacional sobre Medición, Información y Control (MIC) . vol. 1. Computación. Col., Politécnico del Noroeste. 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; DE Long, 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 integridad y alta disponibilidad para el almacenamiento en la nube". Actas de la 16ª conferencia ACM sobre seguridad informática y de las comunicaciones . págs. 187-198. doi :10.1145/1653662.1653686. ISBN 978-1-60558-894-0. S2CID  207176701.
    • Juels, Ari; Oprea, Alina (febrero de 2013). "Nuevos enfoques de 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). "Una caché distribuida para el sistema de archivos distribuido Hadoop en servicios en la nube en tiempo real". 2012 13ª Conferencia Internacional ACM/IEEE sobre Computación Grid . Departamento de Computación. Ciencias, Universidad de Hefei. de Technol., Hefei, China. págs. 12-21. doi :10.1109/Grid.2012.17. ISBN 978-1-4673-2901-9. S2CID  10778240.
    • Una sartén; 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 Electricidad. Y Computación. Ing., Purdue Univ., 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). "Implemente un sistema de archivos distribuido en la nube confiable y seguro". 2012 Simposio Internacional sobre Sistemas Inteligentes de Procesamiento de Señales y Comunicaciones . Departamento de Computación. Ciencia. & Inf. Ing., Nat. Universidad 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 Stéfano, A; Moraña, G; Zito, D (2012). "Sistema de archivos como servicio: proporcionar vistas transitorias y consistentes de archivos a aplicaciones que cooperan en las nubes". 2012 IEEE 21º Taller internacional sobre tecnologías habilitadoras: infraestructura para empresas colaborativas . Departamento de Electricidad, Electrónica. Y Computación. Ing., Univ. de Catania, Catania, Italia. págs. 173-178. doi :10.1109/WETICE.2012.104. ISBN 978-1-4673-1888-4. S2CID  19798809.
    • Zhifeng, Xiao; Yang, Xiao (2013). "Seguridad y Privacidad en la Computación en la Nube". Encuestas y tutoriales sobre comunicaciones del IEEE . 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 12 de julio de 2013 . Consultado el 27 de diciembre de 2013 .
    • Yau, Stephen; An, Ho (2010). "Protección de la confidencialidad en sistemas de computación en la nube". Int J Software Informática : 351–365.
    • Carnegie, Bin Fan; Tantisiriroj, Wittawat; Xiao, Lin; Gibson, Garth (2009). "DiskReduce: RAID para informática escalable con uso intensivo de datos". Actas del cuarto taller anual sobre almacenamiento de datos a petaescala . págs. 6-10. doi :10.1145/1713072.1713075. ISBN 978-1-60558-883-4. S2CID  15194567.
    • Wang, Jianzong; Gong, Weijiao; P., Varman; Xie, Changsheng (2012). "Reducir los gastos generales de almacenamiento evitando pequeños cuellos de botella de escritura en el sistema RAID en la nube". 2012 13ª Conferencia Internacional ACM/IEEE sobre Computación Grid . págs. 174-183. doi :10.1109/Grid.2012.29. ISBN 978-1-4673-2901-9. S2CID  16827141.
    • Abu-Libdeh, Hussam; Casa del Príncipe, Lonnie; Cuchara meteorológica, Hakim (2010). "RACS: un caso a favor de la diversidad del almacenamiento en la nube". Actas del 1er simposio ACM sobre computación en la nube . págs. 229-240. doi :10.1145/1807128.1807165. ISBN 978-1-4503-0036-0. S2CID  1283873.
    • 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 SLA de computación en la nube". 2011 IEEE/ACM 12ª Conferencia Internacional sobre Computación Grid . 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 en 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; Quemaduras, Randal; Curtmola, Reza; Arenque, José; Kissner, Lea; Peterson, Zachary; Canción, amanecer (2007). "Posesión de datos demostrable en tiendas que no son de confianza". Actas de la 14ª conferencia 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. S2CID  8010083.
    • Ateniese, Giuseppe; Di Pietro, Roberto; V. Mancini, Luigi; Tsudik, gen (2008). "Posesión de datos demostrables, escalable y eficiente". Actas de la cuarta conferencia internacional sobre seguridad y privacidad en redes de comunicación - Secure Comm '08 . pag. 1. CiteSeerX  10.1.1.208.8270 . doi :10.1145/1460877.1460889. ISBN 978-1-60558-241-2. S2CID  207170639.
    • Erway, Chris; Küpçü, Alptekin; Tamasia, Roberto; Papamanthou, Charalampos (2009). "Posesión dinámica de datos demostrables". Actas de la 16ª conferencia 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 de archivos de gran tamaño". Actas de la 14ª conferencia ACM sobre seguridad informática y de las comunicaciones . págs. 584–597. doi :10.1145/1315245.1315317. ISBN 978-1-59593-703-2. S2CID  6032317.
    • Bonvin, Nicolás; Papaioannou, Thanasis; Aberer, Karl (2009). "Un esquema de replicación escalable, tolerante a fallas y autoorganizado para el almacenamiento en la nube". Actas del 1er simposio de ACM sobre computación en la nube - SoCC '10. págs. 205-216. doi :10.1145/1807128.1807162. ISBN 978-1-4503-0036-0. S2CID  3261817.
    • Tim, Kraska; Martín, Hentschel; Gustavo, Alonso; Donald, Kossma (2009). "Racionamiento de coherencia en la nube: pague sólo cuando sea importante". Actas del Fondo de Dotación VLDB . 2 (1): 253–264. doi :10.14778/1687627.1687657.
    • Daniel, J. Abadi (2009). Gestión de datos en la nube: limitaciones y oportunidades (Reporte). 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, quemaduras; Johns, Reza; Curtmola, José; Arenque, Burton; Lea, Kissner; Zachary, Peterson; Amanecer, canción (2007). "Posesión de datos demostrable en tiendas que no son de confianza". CCS '07 Actas de la 14ª conferencia ACM sobre seguridad informática y de las comunicaciones. págs. 598–609. doi :10.1145/1315245.1315318. ISBN 978-1-59593-703-2. S2CID  8010083.
  3. Sincronización
    • Arriba, S; Floris, MD; Bilas, A (2010). "Sincronización basada en la nube de jerarquías de sistemas de archivos distribuidos". Conferencia internacional IEEE 2010 sobre talleres y carteles de computación en clústeres (TALLERES EN CLUSTER) . Inst. de Computación. Ciencia. (ICS), encontrado. para la Res. Y tecnología. - Hellas (FORTH), Heraklion, Grecia. págs. 1–4. doi :10.1109/CLUSTERWKSP.2010.5613087. ISBN 978-1-4244-8395-2. S2CID  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; Lía, Zhi; Bandyopadhyaya, Subhajyoti; Zhanga, Juheng; Ghalsasi, Anand (2011). Computación en la nube: la perspectiva empresarial . Sistemas de apoyo a la decisión Volumen 51, Número 1. págs. 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". 2011 Conferencia Internacional sobre P2P, Paralelo, Grid, Cloud e Internet Computing . Sch. de Electr. Y Computación. Ing., Univ. de Teherán, Teherán, Irán. págs. 193-199. doi :10.1109/3PGCIC.2011.37. ISBN 978-1-4577-1448-1. S2CID  13393620.