Système de fichiers distribué pour le cloud - Distributed file system for cloud
Un système de fichiers distribué pour le cloud est un système de fichiers qui permet à de nombreux clients d'avoir accès aux données et prend en charge les opérations (créer, supprimer, modifier, lire, écrire) sur ces données. Chaque fichier de données peut être partitionné en plusieurs parties appelées morceaux . Chaque morceau peut être stocké sur différentes machines distantes, facilitant l'exécution parallèle d'applications. En règle générale, les données sont stockées dans des fichiers d'une arborescence hiérarchique , où les nœuds représentent des répertoires. Il existe plusieurs manières de partager des fichiers dans une architecture distribuée : chaque solution doit être adaptée à un certain type d'application, selon la complexité de l'application. En attendant, la sécurité du système doit être assurée. Confidentialité , disponibilité et intégrité sont les clés principales d'un système sécurisé.
Les utilisateurs peuvent partager des ressources informatiques via Internet grâce au cloud computing qui se caractérise généralement par des ressources évolutives et élastiques , telles que des serveurs physiques , des applications et tous les services virtualisés et alloués dynamiquement. La synchronisation est nécessaire pour s'assurer que tous les appareils sont à jour.
Les systèmes de fichiers distribués permettent à de nombreuses grandes, moyennes et petites entreprises de stocker et d'accéder à leurs données distantes comme elles le font aux données locales, ce qui facilite l'utilisation de ressources variables.
Aperçu
Histoire
Aujourd'hui, il existe de nombreuses implémentations de systèmes de fichiers distribués. Les premiers serveurs de fichiers ont été développés par des chercheurs dans les années 1970. Le système de fichiers réseau de Sun Microsystem est devenu disponible dans les années 1980. Avant cela, les personnes qui voulaient partager des fichiers utilisaient la méthode sneakernet , transportant physiquement des fichiers sur des supports de stockage d'un endroit à l'autre. Une fois que les réseaux informatiques ont commencé à proliférer, il est devenu évident que les systèmes de fichiers existants avaient de nombreuses limitations et n'étaient pas adaptés aux environnements multi-utilisateurs. Les utilisateurs utilisaient initialement FTP pour partager des fichiers. FTP a d'abord fonctionné sur le PDP-10 à la fin de 1973. Même avec FTP, les fichiers devaient être copiés de l'ordinateur source sur un serveur, puis du serveur sur l'ordinateur de destination. Les utilisateurs devaient connaître les adresses physiques de tous les ordinateurs impliqués dans le partage de fichiers.
Techniques d'accompagnement
Les centres de données modernes doivent prendre en charge de vastes environnements hétérogènes, composés d'un grand nombre d'ordinateurs de capacités variables. Le cloud computing coordonne le fonctionnement de tous ces systèmes, avec des techniques telles que la mise en réseau des centres de données (DCN), le framework MapReduce , qui prend en charge les applications informatiques gourmandes en données dans des systèmes parallèles et distribués, et des techniques de virtualisation qui fournissent une allocation dynamique des ressources, permettant plusieurs opérations systèmes de coexister sur le même serveur physique.
Applications
Le cloud computing fournit un calcul à grande échelle grâce à sa capacité à fournir à l'utilisateur les ressources CPU et de stockage nécessaires en toute transparence. Cela rend le cloud computing particulièrement adapté pour prendre en charge différents types d'applications nécessitant un traitement distribué à grande échelle. Cette informatique gourmande en données a besoin d'un système de fichiers hautes performances capable de partager des données entre des machines virtuelles (VM).
Le cloud computing alloue dynamiquement les ressources nécessaires, les libérant une fois la tâche terminée, obligeant les utilisateurs à ne payer que pour les services nécessaires, souvent via un accord de niveau de service . Les paradigmes du cloud computing et du cluster computing deviennent de plus en plus importants pour le traitement des données industrielles et les applications scientifiques telles que l' astronomie et la physique, qui nécessitent souvent la disponibilité d'un grand nombre d'ordinateurs pour effectuer des expériences.
Architectures
La plupart des systèmes de fichiers distribués reposent sur l'architecture client-serveur, mais d'autres solutions décentralisées existent également.
Architecture client-serveur
Le système de fichiers réseau (NFS) utilise une architecture client-serveur , qui permet de partager des fichiers entre plusieurs machines sur un réseau comme si elles étaient situées localement, offrant une vue standardisée. Le protocole NFS permet aux processus clients hétérogènes, s'exécutant probablement sur différentes machines et sous différents systèmes d'exploitation, d'accéder à des fichiers sur un serveur distant, en ignorant l'emplacement réel des fichiers. En s'appuyant sur un seul serveur, le protocole NFS souffre d'une disponibilité potentiellement faible et d'une évolutivité médiocre. L'utilisation de plusieurs serveurs ne résout pas le problème de disponibilité puisque chaque serveur fonctionne indépendamment. Le modèle de NFS est un service de fichiers distant. Ce modèle est également appelé modèle d'accès à distance, ce qui contraste avec le modèle de téléchargement :
- Modèle d'accès à distance : Fournit de la transparence, le client a accès à un fichier. Il envoie des requêtes au fichier distant (tant que le fichier reste sur le serveur).
- Modèle de chargement/téléchargement : le client ne peut accéder au fichier que localement. Cela signifie que le client doit télécharger le fichier, apporter des modifications et le télécharger à nouveau, pour être utilisé par les clients des autres.
Le système de fichiers utilisé par NFS est presque le même que celui utilisé par les systèmes Unix . Les fichiers sont organisés hiérarchiquement dans un graphe de nommage dans lequel les répertoires et les fichiers sont représentés par des nœuds.
Architectures basées sur des clusters
Une architecture basée sur des clusters résout certains des problèmes des architectures client-serveur, améliorant l'exécution des applications en parallèle. La technique utilisée ici est le file-striping : un fichier est divisé en plusieurs morceaux, qui sont "striés" sur plusieurs serveurs de stockage. Le but est de permettre l'accès à différentes parties d'un fichier en parallèle. Si l'application ne bénéficie pas de cette technique, il serait alors plus pratique de stocker différents fichiers sur différents serveurs. Cependant, lorsqu'il s'agit d'organiser un système de fichiers distribué pour les grands centres de données, tels qu'Amazon et Google, qui offrent des services aux clients Web permettant des opérations multiples (lecture, mise à jour, suppression,...) sur un grand nombre de fichiers répartis entre un grand nombre d'ordinateurs, alors les solutions basées sur des clusters deviennent plus avantageuses. Notez que le fait d'avoir un grand nombre d'ordinateurs peut signifier davantage de pannes matérielles. Deux des systèmes de fichiers distribués (DFS) les plus utilisés de ce type sont le système de fichiers Google (GFS) et le système de fichiers distribué Hadoop (HDFS). Les systèmes de fichiers des deux sont implémentés par des processus de niveau utilisateur exécutés sur un système d'exploitation standard ( Linux dans le cas de GFS).
Principes de conception
Buts
Le système de fichiers Google (GFS) et le système de fichiers distribué Hadoop (HDFS) sont spécialement conçus pour gérer le traitement par lots sur des ensembles de données très volumineux. Pour cela, les hypothèses suivantes doivent être prises en compte :
- Haute disponibilité : le cluster peut contenir des milliers de serveurs de fichiers et certains d'entre eux peuvent être arrêtés à tout moment
- Un serveur appartient à un rack, une salle, un data center, un pays, et un continent, afin d'identifier précisément sa situation géographique
- La taille d'un fichier peut varier de plusieurs gigaoctets à plusieurs téraoctets. Le système de fichiers doit être capable de prendre en charge un grand nombre de fichiers
- La nécessité de prendre en charge les opérations d'ajout et de permettre au contenu du fichier d'être visible même pendant l'écriture d'un fichier
- La communication est fiable entre les machines en fonctionnement : TCP/IP est utilisé avec une abstraction de communication RPC d'appel de procédure distante . TCP permet au client de savoir presque immédiatement quand il y a un problème et un besoin d'établir une nouvelle connexion.
L'équilibrage de charge
L'équilibrage de charge est essentiel pour un fonctionnement efficace dans les environnements distribués. Cela signifie répartir le travail entre les différents serveurs, de manière équitable, afin d'effectuer plus de travail dans le même laps de temps et de servir les clients plus rapidement. Dans un système contenant N chunkservers dans un cloud (N étant 1000, 10000 ou plus), où un certain nombre de fichiers sont stockés, chaque fichier est divisé en plusieurs parties ou morceaux de taille fixe (par exemple, 64 mégaoctets), le la charge de chaque chunkserver étant proportionnelle au nombre de chunks hébergés par le serveur. Dans un cloud à charge équilibrée, les ressources peuvent être utilisées efficacement tout en maximisant les performances des applications basées sur MapReduce.
Rééquilibrage de charge
Dans un environnement informatique en nuage, l'échec est la norme et les serveurs de blocs peuvent être mis à niveau, remplacés et ajoutés au système. Les fichiers peuvent également être créés, supprimés et ajoutés dynamiquement. Cela entraîne un déséquilibre de charge dans un système de fichiers distribué, ce qui signifie que les morceaux de fichiers ne sont pas répartis équitablement entre les serveurs.
Les systèmes de fichiers distribués dans les clouds tels que GFS et HDFS reposent sur des serveurs ou nœuds centraux ou maîtres (Master pour GFS et NameNode pour HDFS) pour gérer les métadonnées et l'équilibrage de charge. Le maître rééquilibre les réplicas périodiquement : les données doivent être déplacées d'un DataNode/chunkserver à un autre si l'espace libre sur le premier serveur tombe en dessous d'un certain seuil. Cependant, cette approche centralisée peut devenir un goulot d'étranglement pour ces serveurs maîtres, s'ils deviennent incapables de gérer un grand nombre d'accès aux fichiers, car cela augmente leurs charges déjà lourdes. Le problème de rééquilibrage de charge est NP-difficile .
Afin de faire travailler en collaboration un grand nombre de serveurs de morceaux et de résoudre le problème de l'équilibrage de charge dans les systèmes de fichiers distribués, plusieurs approches ont été proposées, telles que la réallocation de morceaux de fichiers afin que les morceaux puissent être distribués aussi uniformément que possible tout en réduisant le mouvement coûte le plus cher possible.
Système de fichiers Google
La description
Google, l'une des plus grandes sociétés Internet, a créé son propre système de fichiers distribué, nommé Google File System (GFS), pour répondre aux demandes croissantes des besoins de traitement des données de Google, et il est utilisé pour tous les services cloud. GFS est un système de fichiers distribué évolutif pour les applications gourmandes en données. Il fournit un stockage de données hautes performances tolérant aux pannes et un grand nombre de clients y accèdent simultanément.
GFS utilise MapReduce , qui permet aux utilisateurs de créer des programmes et de les exécuter sur plusieurs machines sans penser aux problèmes de parallélisation et d'équilibrage de charge. L'architecture GFS est basée sur un seul serveur maître pour plusieurs serveurs de blocs et plusieurs clients.
Le serveur maître fonctionnant dans un nœud dédié est chargé de coordonner les ressources de stockage et de gérer les métadonnées des fichiers (l'équivalent, par exemple, des inodes dans les systèmes de fichiers classiques). Chaque fichier est divisé en plusieurs morceaux de 64 mégaoctets. Chaque morceau est stocké dans un serveur de morceaux. Un morceau est identifié par un descripteur de morceau, qui est un numéro de 64 bits globalement unique qui est attribué par le maître lorsque le morceau est créé pour la première fois.
Le maître conserve toutes les métadonnées des fichiers, y compris les noms de fichiers, les répertoires et le mappage des fichiers à la liste des morceaux qui contiennent les données de chaque fichier. Les métadonnées sont conservées dans la mémoire principale du serveur maître, ainsi que le mappage des fichiers en morceaux. Les mises à jour de ces données sont consignées dans un journal des opérations sur le disque. Ce journal des opérations est répliqué sur les machines distantes. Lorsque le journal devient trop volumineux, un point de contrôle est effectué et les données de la mémoire principale sont stockées dans une structure arborescente B pour faciliter le mappage dans la mémoire principale.
Tolérance aux pannes
Pour faciliter la tolérance aux pannes , chaque morceau est répliqué sur plusieurs serveurs de morceaux (trois par défaut). Un chunk est disponible sur au moins un serveur de chunk. L'avantage de ce schéma est la simplicité. Le maître est responsable de l'allocation des serveurs de morceaux pour chaque morceau et n'est contacté que pour les informations sur les métadonnées. Pour toutes les autres données, le client doit interagir avec les serveurs de blocs.
Le maître garde une trace de l'emplacement d'un morceau. Cependant, il n'essaie pas de maintenir les emplacements des morceaux avec précision, mais contacte occasionnellement les serveurs de morceaux pour voir quels morceaux ils ont stockés. Cela permet une évolutivité et aide à éviter les goulots d'étranglement dus à une charge de travail accrue.
Dans GFS, la plupart des fichiers sont modifiés en ajoutant de nouvelles données et en n'écrasant pas les données existantes. Une fois écrits, les fichiers ne sont généralement lus que de manière séquentielle plutôt qu'aléatoire, ce qui fait de ce DFS le plus adapté aux scénarios dans lesquels de nombreux fichiers volumineux sont créés une fois mais lus plusieurs fois.
Traitement des fichiers
Lorsqu'un client souhaite écrire/mettre à jour un fichier, le maître affectera une réplique, qui sera la réplique principale s'il s'agit de la première modification. Le processus d'écriture est composé de deux étapes :
- Envoi : Tout d'abord, et de loin le plus important, le client contacte le maître pour savoir quels serveurs de morceaux contiennent les données. Le client reçoit une liste de répliques identifiant les serveurs de fragments primaires et secondaires. Le client contacte ensuite le serveur de fragments de réplique le plus proche et lui envoie les données. Ce serveur enverra les données au suivant le plus proche, qui les transmet ensuite à une autre réplique, et ainsi de suite. Les données sont ensuite propagées et mises en cache en mémoire mais pas encore écrites dans un fichier.
- Écriture : lorsque toutes les répliques ont reçu les données, le client envoie une demande d'écriture au serveur de fragments primaire, identifiant les données qui ont été envoyées lors de la phase d'envoi. Le serveur principal attribuera ensuite un numéro de séquence aux opérations d'écriture qu'il a reçues, appliquera les écritures au fichier dans l'ordre des numéros de série et transmettra les demandes d'écriture dans cet ordre aux serveurs secondaires. Pendant ce temps, le maître est tenu à l'écart.
Par conséquent, on peut différencier deux types de flux : le flux de données et le flux de contrôle. Le flux de données est associé à la phase d'envoi et le flux de contrôle est associé à la phase d'écriture. Cela garantit que le serveur de blocs primaire prend le contrôle de l'ordre d'écriture. Notez que lorsque le maître affecte l'opération d'écriture à une réplique, il incrémente le numéro de version du bloc et informe toutes les répliques contenant ce bloc du nouveau numéro de version. Les numéros de version de bloc permettent la détection d'erreurs de mise à jour, si une réplique n'a pas été mise à jour parce que son serveur de blocs était en panne.
Certaines nouvelles applications Google ne fonctionnaient pas bien avec la taille de bloc de 64 mégaoctets. Pour résoudre ce problème, GFS a commencé, en 2004, à mettre en œuvre l' approche Bigtable .
Système de fichiers distribué Hadoop
HDFS , développé par Apache Software Foundation , est un système de fichiers distribué conçu pour contenir de très grandes quantités de données (téraoctets voire pétaoctets). Son architecture est similaire à GFS, c'est-à-dire une architecture maître/esclave. Le HDFS est normalement installé sur un cluster d'ordinateurs. Le concept de conception d'Hadoop est informé par Google, avec Google File System, Google MapReduce et Bigtable , mis en œuvre respectivement par Hadoop Distributed File System (HDFS), Hadoop MapReduce et Hadoop Base (HBase). Comme GFS, HDFS est adapté aux scénarios avec accès aux fichiers en écriture unique et en lecture multiple, et prend en charge les ajouts et les troncatures de fichiers au lieu des lectures et écritures aléatoires pour simplifier les problèmes de cohérence des données.
Un cluster HDFS se compose d'un seul NameNode et de plusieurs machines DataNode. Le NameNode, un serveur maître, gère et maintient les métadonnées des DataNodes de stockage dans sa RAM. Les DataNodes gèrent le stockage attaché aux nœuds sur lesquels ils s'exécutent. NameNode et DataNode sont des logiciels conçus pour fonctionner sur des machines à usage quotidien, qui fonctionnent généralement sous un système d'exploitation Linux. HDFS peut être exécuté sur n'importe quelle machine prenant en charge Java et peut donc exécuter un NameNode ou le logiciel Datanode.
Sur un cluster HDFS, un fichier est divisé en un ou plusieurs blocs de taille égale, à l'exception de la possibilité que le dernier bloc soit plus petit. Chaque bloc est stocké sur plusieurs DataNodes, et chacun peut être répliqué sur plusieurs DataNodes pour garantir la disponibilité. Par défaut, chaque bloc est répliqué trois fois, un processus appelé "Block Level Replication".
Le NameNode gère les opérations d'espace de noms du système de fichiers telles que l'ouverture, la fermeture et le renommage des fichiers et des répertoires, et régule l'accès aux fichiers. Il détermine également le mappage des blocs vers les DataNodes. Les DataNodes sont responsables du traitement des demandes de lecture et d'écriture des clients du système de fichiers, de la gestion de l'allocation ou de la suppression des blocs et de la réplication des blocs.
Lorsqu'un client souhaite lire ou écrire des données, il contacte le NameNode et le NameNode vérifie où les données doivent être lues ou écrites. Après cela, le client a l'emplacement du DataNode et peut lui envoyer des demandes de lecture ou d'écriture.
Le HDFS se caractérise généralement par sa compatibilité avec les schémas de rééquilibrage des données. En général, la gestion de l'espace libre sur un DataNode est très importante. Les données doivent être déplacées d'un DataNode à un autre, si l'espace libre n'est pas suffisant ; et dans le cas de la création de répliques supplémentaires, les données doivent être déplacées pour assurer l'équilibre du système.
Autres exemples
Les systèmes de fichiers distribués peuvent être optimisés à différentes fins. Certains, tels que ceux conçus pour les services Internet, y compris GFS, sont optimisés pour l'évolutivité. D'autres conceptions de systèmes de fichiers distribués prennent en charge les applications exigeantes en performances, généralement exécutées en parallèle. Voici quelques exemples : MapR File System (MapR-FS), Ceph-FS , Fraunhofer File System (BeeGFS) , Lustre File System , IBM General Parallel File System (GPFS) et Parallel Virtual File System .
MapR-FS est un système de fichiers distribué qui constitue la base de la plate-forme convergente MapR, avec des capacités de stockage de fichiers distribués, une base de données NoSQL avec plusieurs API et un système de streaming de messages intégré. MapR-FS est optimisé pour l'évolutivité, les performances, la fiabilité et la disponibilité. Sa capacité de stockage de fichiers est compatible avec l'API Apache Hadoop Distributed File System (HDFS) mais avec plusieurs caractéristiques de conception qui le distinguent de HDFS. Parmi les différences les plus notables, MapR-FS est un système de fichiers entièrement en lecture/écriture avec des métadonnées pour les fichiers et les répertoires répartis dans l'espace de noms, il n'y a donc pas de NameNode.
Ceph-FS est un système de fichiers distribué qui offre d'excellentes performances et fiabilité. Il répond aux défis de traiter des fichiers et des répertoires volumineux, de coordonner l'activité de milliers de disques, de fournir un accès parallèle aux métadonnées à grande échelle, de manipuler des charges de travail scientifiques et générales, d'authentifier et de chiffrer à grande échelle et d'augmenter ou décroissant dynamiquement en raison de la mise hors service fréquente des appareils, des pannes d'appareils et des extensions de cluster.
BeeGFS est le système de fichiers parallèles hautes performances du Fraunhofer Competence Center for High Performance Computing. L'architecture de métadonnées distribuées de BeeGFS a été conçue pour fournir l'évolutivité et la flexibilité nécessaires pour exécuter HPC et des applications similaires avec des demandes d'E/S élevées.
Lustre File System a été conçu et mis en œuvre pour traiter le problème des goulots d'étranglement que l'on trouve traditionnellement dans les systèmes distribués. Luster se caractérise par son efficacité, son évolutivité et sa redondance. GPFS a également été conçu dans le but de supprimer ces goulots d'étranglement.
la communication
Les hautes performances des systèmes de fichiers distribués nécessitent une communication efficace entre les nœuds de calcul et un accès rapide aux systèmes de stockage. Les opérations telles que l'ouverture, la fermeture, la lecture, l'écriture, l'envoi et la réception doivent être rapides pour garantir ces performances. Par exemple, chaque demande de lecture ou d'écriture accède au stockage sur disque, ce qui introduit des latences de recherche, de rotation et de réseau.
Les opérations de communication de données (envoi/réception) transfèrent les données du tampon d'application vers le noyau de la machine, TCP contrôlant le processus et étant implémenté dans le noyau. Cependant, en cas de congestion du réseau ou d'erreurs, TCP peut ne pas envoyer les données directement. Lors du transfert des données d'un tampon du noyau vers l'application, la machine ne lit pas le flux d'octets de la machine distante. En fait, TCP est responsable de la mise en mémoire tampon des données pour l'application.
Le choix de la taille du tampon, pour la lecture et l'écriture de fichiers, ou pour l'envoi et la réception de fichiers, se fait au niveau de l'application. Le tampon est maintenu à l'aide d'une liste chaînée circulaire . Il se compose d'un ensemble de BufferNodes. Chaque BufferNode a un DataField. Le DataField contient les données et un pointeur appelé NextBufferNode qui pointe vers le prochain BufferNode. Pour trouver la position actuelle, deux pointeurs sont utilisés : CurrentBufferNode et EndBufferNode, qui représentent la position dans le BufferNode pour les dernières positions d'écriture et de lecture. Si le BufferNode n'a pas d'espace libre, il enverra un signal d'attente au client pour attendre qu'il y ait de l'espace disponible.
Synchronisation basée sur le cloud du système de fichiers distribué
De plus en plus d'utilisateurs disposent de plusieurs appareils avec une connectivité ad hoc. Les ensembles de données répliqués sur ces appareils doivent être synchronisés entre un nombre arbitraire de serveurs. Ceci est utile pour les sauvegardes et également pour le fonctionnement hors ligne. En effet, lorsque les conditions du réseau utilisateur ne sont pas bonnes, alors le dispositif utilisateur répliquera sélectivement une partie des données qui seront modifiées ultérieurement et hors ligne. Une fois que les conditions du réseau deviennent bonnes, l'appareil est synchronisé. Deux approches existent pour résoudre le problème de la synchronisation distribuée : la synchronisation peer-to-peer contrôlée par l'utilisateur et la synchronisation maître-réplique cloud.
- peer-to-peer contrôlé par l'utilisateur : un logiciel tel que rsync doit être installé sur tous les ordinateurs des utilisateurs qui contiennent leurs données. Les fichiers sont synchronisés par une synchronisation peer-to-peer où les utilisateurs doivent spécifier les adresses réseau et les paramètres de synchronisation, et est donc un processus manuel.
- synchronisation maître-réplique cloud : largement utilisée par les services cloud, dans laquelle une réplique maître est maintenue dans le cloud, et toutes les mises à jour et opérations de synchronisation se font sur cette copie maître, offrant un haut niveau de disponibilité et de fiabilité en cas de panne.
Clés de sécurité
Dans le cloud computing, les concepts de sécurité les plus importants sont la confidentialité , l' intégrité et la disponibilité (" CIA "). La confidentialité devient indispensable pour éviter que des données privées ne soient divulguées. L'intégrité garantit que les données ne sont pas corrompues.
Confidentialité
La confidentialité signifie que les données et les tâches de calcul sont confidentielles : ni le fournisseur de cloud ni les autres clients ne peuvent accéder aux données du client. De nombreuses recherches ont été faites sur la confidentialité, car c'est l'un des points cruciaux qui pose encore des défis pour le cloud computing. Le manque de confiance dans les fournisseurs de cloud est également un problème connexe. L'infrastructure du cloud doit garantir que les données des clients ne seront pas consultées par des parties non autorisées.
L'environnement devient précaire si le fournisseur de services peut effectuer toutes les opérations suivantes :
- localiser les données du consommateur dans le cloud
- accéder et récupérer les données du consommateur
- comprendre le sens des données (types de données, fonctionnalités et interfaces de l'application et format des données).
L'emplacement géographique des données aide à déterminer la confidentialité et la confidentialité. La localisation des clients doit être prise en compte. Par exemple, les clients en Europe ne seront pas intéressés par l'utilisation de centres de données situés aux États-Unis, car cela affecte la garantie de la confidentialité des données. Afin de résoudre ce problème, certains fournisseurs de cloud computing ont inclus l'emplacement géographique de l'hôte comme paramètre de l'accord de niveau de service conclu avec le client, permettant aux utilisateurs de choisir eux-mêmes l'emplacement des serveurs qui hébergeront leurs données.
Une autre approche de la confidentialité implique le cryptage des données. Sinon, il y aura un risque sérieux d'utilisation non autorisée. Il existe une variété de solutions, telles que le chiffrement uniquement des données sensibles et la prise en charge de certaines opérations uniquement, afin de simplifier les calculs. De plus, des techniques et des outils cryptographiques comme FHE , sont utilisés pour préserver la confidentialité dans le cloud.
Intégrité
L'intégrité dans le cloud computing implique l'intégrité des données ainsi que l'intégrité informatique . Une telle intégrité signifie que les données doivent être stockées correctement sur des serveurs cloud et, en cas de panne ou de calcul incorrect, que les problèmes doivent être détectés.
L'intégrité des données peut être affectée par des événements malveillants ou des erreurs d'administration (par exemple lors de la sauvegarde et de la restauration, de la migration des données ou de la modification des adhésions aux systèmes P2P ).
L'intégrité est facile à atteindre à l'aide de la cryptographie (généralement via un code d'authentification de message , ou MAC, sur des blocs de données).
Il existe des mécanismes de vérification qui affectent l'intégrité des données. Par exemple:
- HAIL (High-Availability and Integrity Layer) est un système cryptographique distribué qui permet à un ensemble de serveurs de prouver à un client qu'un fichier stocké est intact et récupérable.
- Les Hach POR (preuves de récupérabilité pour les fichiers volumineux) sont basés sur un système cryptographique symétrique, où il n'y a qu'une seule clé de vérification qui doit être stockée dans un fichier pour améliorer son intégrité. Cette méthode sert à crypter un fichier F puis à générer une chaîne aléatoire nommée « sentinelle » qui doit être ajoutée à la fin du fichier crypté. Le serveur ne peut pas localiser la sentinelle, ce qui est impossible à différencier des autres blocs, donc un petit changement indiquerait si le fichier a été modifié ou non.
- La vérification PDP (provable data possession) est une classe de méthodes efficaces et pratiques qui offrent un moyen efficace de vérifier l'intégrité des données sur des serveurs non fiables :
- PDP : Avant de stocker les données sur un serveur, le client doit stocker, localement, certaines méta-données. Ultérieurement, et sans télécharger de données, le client peut demander au serveur de vérifier que les données n'ont pas été falsifiées. Cette approche est utilisée pour les données statiques.
- PDP évolutif : cette approche repose sur une clé symétrique, qui est plus efficace que le chiffrement à clé publique. Il prend en charge certaines opérations dynamiques (modification, suppression et ajout) mais il ne peut pas être utilisé pour la vérification publique.
- PDP dynamique : cette approche étend le modèle PDP pour prendre en charge plusieurs opérations de mise à jour telles que l'ajout, l'insertion, la modification et la suppression, ce qui est bien adapté aux calculs intensifs.
Disponibilité
La disponibilité est généralement effectuée par réplication . En attendant, la cohérence doit être garantie. Cependant, la cohérence et la disponibilité ne peuvent pas être atteintes en même temps ; chacun est prioritaire au prix d'un sacrifice de l'autre. Un équilibre doit être trouvé.
Les données doivent avoir une identité pour être accessibles. Par exemple, Skute est un mécanisme basé sur le stockage clé/valeur qui permet une allocation dynamique des données de manière efficace. Chaque serveur doit être identifié par une étiquette sous la forme continent-pays-datacenter-room-rack-server. Le serveur peut référencer plusieurs nœuds virtuels, chaque nœud ayant une sélection de données (ou plusieurs partitions de plusieurs données). Chaque donnée est identifiée par un espace de clé qui est généré par une fonction de hachage cryptographique à sens unique (par exemple MD5 ) et est localisé par la valeur de la fonction de hachage de cette clé. L'espace de clé peut être partitionné en plusieurs partitions, chaque partition faisant référence à une donnée. Pour effectuer la réplication, les nœuds virtuels doivent être répliqués et référencés par d'autres serveurs. Pour maximiser la durabilité et la disponibilité des données, les répliques doivent être placées sur des serveurs différents et chaque serveur doit se trouver dans un emplacement géographique différent, car la disponibilité des données augmente avec la diversité géographique. Le processus de réplication comprend une évaluation de la disponibilité de l'espace, qui doit être supérieure à un certain seuil minimum sur chaque serveur de blocs. Sinon, les données sont répliquées sur un autre serveur de blocs. Chaque partition, i, a une valeur de disponibilité représentée par la formule suivante :
où sont les serveurs hébergeant les répliques, et sont la confiance des serveurs et (en s'appuyant sur des facteurs techniques tels que les composants matériels et non techniques comme la situation économique et politique d'un pays) et la diversité est la distance géographique entre et .
La réplication est une excellente solution pour assurer la disponibilité des données, mais elle coûte trop cher en termes d'espace mémoire. DiskReduce est une version modifiée de HDFS qui est basée sur la technologie RAID (RAID-5 et RAID-6) et permet l'encodage asynchrone des données répliquées. En effet, il existe un processus d'arrière-plan qui recherche les données largement répliquées et supprime les copies supplémentaires après les avoir encodées. Une autre approche consiste à remplacer la réplication par un codage d'effacement. De plus, pour garantir la disponibilité des données, il existe de nombreuses approches permettant la récupération des données. En effet, les données doivent être codées, et si elles sont perdues, elles peuvent être récupérées à partir de fragments qui ont été construits lors de la phase de codage. D'autres approches qui appliquent différents mécanismes pour garantir la disponibilité sont : le code Reed-Solomon de Microsoft Azure et RaidNode pour HDFS. De plus, Google travaille toujours sur une nouvelle approche basée sur un mécanisme de codage par effacement.
Il n'y a pas d'implémentation RAID pour le stockage en nuage.
Aspects économiques
L'économie du cloud computing se développe rapidement. Le gouvernement américain a décidé de dépenser 40 % de son taux de croissance annuel composé (TCAC), qui devrait être de 7 milliards de dollars d'ici 2015.
De plus en plus d'entreprises utilisent le cloud computing pour gérer la quantité massive de données et pallier le manque de capacité de stockage, et parce qu'il leur permet d'utiliser ces ressources en tant que service, garantissant que leurs besoins informatiques seront satisfaits sans avoir à investir en infrastructure (modèle Pay-as-you-go).
Chaque fournisseur d'applications doit payer périodiquement le coût de chaque serveur sur lequel des répliques de données sont stockées. Le coût d'un serveur est déterminé par la qualité du matériel, les capacités de stockage et ses frais généraux de traitement des requêtes et de communication. Le cloud computing permet aux fournisseurs d'adapter leurs services en fonction des demandes des clients.
Le modèle de paiement à l'utilisation a également allégé le fardeau des entreprises en démarrage qui souhaitent bénéficier d'une activité à forte intensité de calcul. Le cloud computing offre également une opportunité à de nombreux pays du tiers-monde qui n'auraient pas de telles ressources informatiques autrement. Le cloud computing peut réduire les barrières informatiques à l'innovation.
Malgré la large utilisation du cloud computing, le partage efficace de gros volumes de données dans un cloud non fiable reste un défi.
Les références
Bibliographie
- Andrew, S. Tanenbaum; Maarten, Van Steen (2006). Principes et paradigmes des systèmes distribués (PDF) .
-
Fabio Kon (1996). "Systèmes de fichiers distribués, l'état de l'art et le concept de thèse de doctorat". CiteSeerX 10.1.1.42.4609 . Citer le journal nécessite
|journal=
( aide ) - Pavel Bžoch. "Systèmes de fichiers distribués Passé, présent et futur Un système de fichiers distribué pour 2006 (1996)" (PDF) .
- Microsystème solaire. "Systèmes de fichiers distribués - un aperçu" (PDF) .
- Jacobi, Tim-Daniel; Lingemann, janvier "Évaluation des systèmes de fichiers distribués" (PDF) .
- Architecture, structure et conception :
- Zhang, Qi-fei ; Pan, Xue-zeng ; Shen, Yan ; Li, Wen-juan (2012). "Une nouvelle architecture évolutive du système de stockage en nuage pour les petits fichiers basée sur le P2P". 2012 Conférence internationale de l'IEEE sur les ateliers de calcul en grappes . Coll. de l'informatique. Sci. & Technol., Zhejiang Univ., Hangzhou, Chine. p. 41. doi : 10.1109/ClusterW.2012.27 . ISBN 978-0-7695-4844-9. S2CID 12430485 .
- Azzedin, Farag (2013). « Vers une architecture HDFS évolutive ». 2013 Conférence internationale sur les technologies et systèmes de collaboration (CTS) . Département de l'information et de l'informatique Université King Fahd du pétrole et des minéraux. p. 155-161. doi : 10.1109/CTS.2013.6567222 . ISBN 978-1-4673-6404-1. S2CID 45293053 .
- Krzyzanowski, Paul (2012). "Systèmes de fichiers distribués" (PDF) .
- Kobayashi, K; Mikami, S; Kimura, H; Tatebe, O (2011). Le système de fichiers Gfarm sur les clouds de calcul . Ateliers de traitement parallèle et distribué et Forum de doctorat (IPDPSW), Symposium international IEEE 2011 sur . Diplômé. Sch. de Syst. & Inf. Ing., Univ. de Tsukuba, Tsukuba, Japon. doi : 10.1109/IPDPS.2011.255 .
- Humbetov, Chamil (2012). « Informatique à forte intensité de données avec map-reduce et hadoop ». 2012 6ème Conférence Internationale sur l'Application des Technologies de l'Information et de la Communication (AICT) . Département de génie informatique Université Qafqaz Bakou, Azerbaïdjan. p. 1–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). Université nationale Cheng Kung, Tainan. « Rééquilibrage de la charge pour les systèmes de fichiers distribués dans les nuages ». Systèmes parallèles et distribués, transactions IEEE sur . 24 (5) : 951–962. doi : 10.1109/TPDS.2012.196 . S2CID 11271386 .
- Kai, Fan ; Dayang, Zhang ; Hui, Li ; Yintang, Yang (2013). « Un algorithme d'équilibrage de charge de rétroaction adaptative dans HDFS ». 2013 5e Conférence internationale sur les réseaux intelligents et les systèmes collaboratifs . Laboratoire de clé d'État. des réseaux de services intégrés, Xidian Univ., Xi'an, Chine. p. 23-29. doi : 10.1109/INCoS.2013.14 . ISBN 978-0-7695-4988-0. S2CID 14821266 .
- Upadhyaya, B; Azimov, F; Doan, TT ; Choi, Eunmi ; Kim, Sangbum ; Kim, Pilsung (2008). "Système de fichiers distribué : Expériences d'efficacité pour l'accès aux données et la communication". 2008 Quatrième conférence internationale sur l'informatique en réseau et la gestion avancée de l'information . Sch. de Bus. Informatique, Kookmin Univ., Séoul. p. 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). « Une gestion des données dans un environnement de stockage en nuage privé utilisant des systèmes de fichiers distribués haute performance ». 2013 Ateliers sur les technologies habilitantes : infrastructure pour les entreprises collaboratives . nf. & Statistiques (INE), Fed. Univ. de Santa Catarina (UFSC), Florianopolis, Brésil. p. 158-163. doi : 10.1109/WETICE.2013.12 . ISBN 978-1-4799-0405-1. S2CID 6155753 .
- Adamov, Abzetdin (2012). "Système de fichiers distribués comme base de l'informatique gourmande en données". 2012 6ème Conférence Internationale sur l'Application des Technologies de l'Information et de la Communication (AICT) . Calcul. Ing. Dept., Qafqaz Univ., Bakou, Azerbaïdjan. p. 1–3. doi : 10.1109/ICAICT.2012.6398484 . ISBN 978-1-4673-1740-5. S2CID 16674289 .
- Schwan Philippe (2003). Cluster File Systems, Inc. « Lustre : Construire un système de fichiers pour les clusters à 1 000 nœuds » (PDF) . Actes du Symposium Linux 2003 : 400-407.
- Jones, Terry ; Koniges, Alice ; Yates, R. Kim (2000). Laboratoire national Lawrence Livermore. "Performance du système de fichiers parallèle général IBM" (PDF) . Symposium sur le traitement parallèle et distribué, 2000. IPDPS 2000. Actes. 14e Internationale .
-
Weil, Sage A.; Brandt, Scott A.; Miller, Ethan L.; Long, Darrell DE (2006). « Ceph : Un système de fichiers distribué évolutif et hautes performances » (PDF) . Université de Californie, Santa Cruz. Citer le journal nécessite
|journal=
( aide ) -
Maltzahn, Carlos; Molina-Estolano, Esteban; Khurana, Amandeep ; Nelson, Alex J.; Brandt, Scott A.; Weil, Sage (2010). "Ceph comme alternative évolutive au système de fichiers distribué Hadoop" (PDF) . Citer le journal nécessite
|journal=
( aide ) - SA, Brandt; EL, Miller; DDE, longue ; Lan, Xue (2003). "Gestion efficace des métadonnées dans les grands systèmes de stockage distribués". 20e IEEE/11e Conférence Goddard de la NASA sur les systèmes et technologies de stockage de masse, 2003. (MSST 2003). Actes . Système de stockage Rés. Center, California Univ., Santa Cruz, Californie, États-Unis. p. 290-298. CiteSeerX 10.1.1.13.2537 . doi : 10.1109/MASS.20031194865 . ISBN 978-0-7695-1914-2. S2CID 5548463 .
- Garth A., Gibson; Rodney, MVan Meter (novembre 2000). "Architecture de stockage en réseau" (PDF) . Communications de l'ACM . 43 (11) : 37-45. doi : 10.1145/353360.353362 . S2CID 207644891 .
- Oui, Tin Tin ; Thu Naing, Thinn (2011). "Architecture de système de stockage basée sur un cluster PC pour le stockage en nuage". arXiv : 1112.2025 [ cs.DC ].
- Cho Cho, Khaing ; Thinn Thu, Naing (2011). « Le système de gestion de stockage de données efficace sur un centre de données cloud privé basé sur des clusters ». 2011 Conférence internationale IEEE sur les systèmes d'informatique en nuage et d'intelligence . p. 235-239. doi : 10.1109/CCIS.2011.6045066 . ISBN 978-1-61284-203-5. S2CID 224635 .
- SA, Brandt; EL, Miller; DDE, longue ; Lan, Xue (2011). "Une architecture de stockage de fichiers orientée service de qualité opérateur pour le cloud computing". 2011 3ème Symposium sur la Web Society . Centre PCN&CAD, Université de Pékin. of Posts & Telecommun., Pékin, Chine. p. 16–20. doi : 10.1109/SWS.2011.6101263 . ISBN 978-1-4577-0211-2. S2CID 14791637 .
- Ghemawat, Sanjay ; Gobioff, Howard ; Leung, Shun-Tak (2003). "Le système de fichiers Google" . Actes du dix-neuvième symposium de l'ACM sur les principes des systèmes d'exploitation – SOSP '03 . p. 29-43. doi : 10.1145/945445.945450 . ISBN 978-1-58113-757-6. S2CID 221261373 .
- Sécurité
- Vecchiola, C; Pandey, S; Buyya, R (2009). « Informatique en nuage haute performance : une vue des applications scientifiques ». 2009 10e Symposium international sur les systèmes, algorithmes et réseaux omniprésents . Département d'informatique. Sci. & Software Eng., Univ. de Melbourne, Melbourne, VIC, Australie. p. 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 gestionnaire de confidentialité basé sur le client pour le cloud computing ». Actes de la quatrième conférence internationale des STIC sur les logiciels et middleware des systèmes de communication – COMSWARE '09 . p. 1. doi : 10.1145/1621890.1621897 . ISBN 978-1-60558-353-2. S2CID 10130310 .
- Naehrig, Michael ; Lauter, Kristin (2013). « Le chiffrement homomorphe peut-il être pratique ? » Actes du 3e atelier ACM sur la sécurité du Cloud computing atelier – CCSW '11 . p. 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 système de fichiers parallèles à haut débit pour un système de stockage cloud sécurisé". 2012 Conférence internationale sur la mesure, l'information et le contrôle (MIC) . 1 . Calcul. Coll., Northwestern Polytech. Univ., Xi'An, Chine. p. 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). Centre de recherche sur les systèmes de stockage Université de Californie, Santa Cruz. "Gestion efficace des métadonnées dans les grands systèmes de stockage distribués" (PDF) . 11e Conférence Goddard de la NASA sur les systèmes et technologies de stockage de masse, San Diego, CA .
- Lori M. Kaufman (2009). "La sécurité des données dans le monde du cloud computing". Sécurité et confidentialité, IEEE . 7 (4) : 161-64. doi : 10.1109/MSP.2009.87 . S2CID 16233643 .
- Bowers, Kévin ; Juels, Ari ; Oprea, Alina (2009). HAIL : une couche de haute disponibilité et d'intégrité pour le stockage dans le cloud . Actes de la 16e conférence ACM sur la sécurité informatique et des communications . p. 187-198. doi : 10.1145/1653662.1653686 . ISBN 978-1-60558-894-0. S2CID 207176701 .
- Juels, Ari ; Oprea, Alina (février 2013). "Nouvelles approches de la sécurité et de la disponibilité des données cloud". Communications de l'ACM . 56 (2) : 64-73. doi : 10.1145/2408776.2408793 . S2CID 17596621 .
- Zhang, Jing ; Wu, Gongqing ; Hu, Xuegang ; Wu, Xindong (2012). "Un cache distribué pour le système de fichiers distribué Hadoop dans les services cloud en temps réel". 2012 13e conférence internationale ACM/IEEE sur l'informatique en grille . Département d'informatique. Sci., Hefei Univ. of Technol., Hefei, Chine. p. 12–21. doi : 10.1109/Grid.2012.17 . ISBN 978-1-4673-2901-9. S2CID 10778240 .
- Une casserole; JP, Walters ; VS, Pai ; D.-ID, Kang ; SP, Crago (2012). « Intégrer des systèmes de fichiers haute performance dans un environnement de cloud computing ». 2012 SC Companion : calcul haute performance, stockage en réseau et analyse . Département d'électr. & Informatique. Eng., Purdue Univ., West Lafayette, IN, USA. p. 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). "Mettre en place un système de fichiers distribués cloud fiable et sécurisé". 2012 Symposium international sur le traitement du signal intelligent et les systèmes de communication . Département d'informatique. Sci. & Inf. Ing., Nat. Université centrale, Taoyuan, Taïwan. p. 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). "Système de fichiers en tant que service : fournir des vues transitoires et cohérentes des fichiers aux applications coopérantes dans les nuages". 2012 21e atelier international de l'IEEE sur les technologies habilitantes : infrastructure pour les entreprises collaboratives . Dept. of Electr., Electron. & Informatique. Ing., Univ. de Catane, Catane, Italie. p. 173-178. doi : 10.1109/WETICE.2012.104 . ISBN 978-1-4673-1888-4. S2CID 19798809 .
- Zhifeng, Xiao; Yang, Xiao (2013). "Sécurité et confidentialité dans le cloud computing". Enquêtes et didacticiels sur les communications IEEE . 15 (2) : 843-859. CiteSeerX 10.1.1.707.3980 . doi : 10.1109/SURV.2012.060912.00182 . S2CID 206583820 .
- John B, Horrigan (2008). « Utilisation des applications et des services de cloud computing » (PDF) .
- Yau, Etienne ; An, Ho (2010). "Protection de la confidentialité dans les systèmes de cloud computing" . Int J Software Informatics : 351–365.
- Carnegie, Bin Fan ; Tantisiriroj, Wittawat; Xiao, Lin ; Gibson, Garth (2009). " Réduire le disque ". DiskReduce : RAID pour l'informatique évolutive gourmande en données . p. 6-10. doi : 10.1145/1713072.1713075 . ISBN 978-1-60558-883-4. S2CID 15194567 .
- Wang, Jianzong ; Gong, Weijiao; P., Varman ; Xie, Changsheng (2012). "Réduction des frais généraux de stockage avec un petit goulot d'étranglement en écriture évitant dans le système Cloud RAID". 2012 13e conférence internationale ACM/IEEE sur l'informatique en grille . p. 174-183. doi : 10.1109/Grid.2012.29 . ISBN 978-1-4673-2901-9. S2CID 16827141 .
- Abu-Libdeh, Hussam; Princehouse, Lonnie ; Cuillère-à-temps, Hakim (2010). RACS : un cas pour la diversité du stockage dans le cloud . SoCC '10 Actes du 1er Symposium ACM sur le Cloud Computing . p. 229-240. doi : 10.1145/1807128.1807165 . ISBN 978-1-4503-0036-0. S2CID 1283873 .
- Vogels, Werner (2009). "Finalement cohérent" . Communications de l'ACM . 52 (1) : 40-44. doi : 10.1145/1435417.1435432 .
- Cuong, Pham; Cao, Phuong ; Kalbarczyk, Z; Iyer, RK (2012). "Vers un cloud haute disponibilité : Techniques et enjeux". Ateliers de la Conférence internationale IEEE/IFIP sur les systèmes et réseaux fiables (DSN 2012) . pages 1–6. doi : 10.1109/DSNW.2012.6264687 . ISBN 978-1-4673-2266-9. S2CID 9920903 .
- A., Undheim; A., Chilwan ; P., Heegaard (2011). "Disponibilité différenciée dans les SLA de Cloud Computing". 2011 IEEE/ACM 12e conférence internationale sur l'informatique en grille . p. 129-136. doi : 10.1109/Grid.2011.25 . ISBN 978-1-4577-1904-2. S2CID 15047580 .
- Qian, Haiyang ; D., Medhi ; T., Trivedi (2011). « Un modèle hiérarchique pour évaluer la qualité d'expérience des services en ligne hébergés par le cloud computing ». Communications de l'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 ; Hareng, Joseph ; Kissner, Léa ; Peterson, Zacharie; Chanson, Aube (2007). « Possession de données prouvable dans des magasins non fiables ». Actes de la 14e conférence ACM sur la sécurité informatique et des communications – CCS '07 . p. 598-609. doi : 10.1145/1315245.1315318 . ISBN 978-1-59593-703-2. S2CID 8010083 .
- Ateniese, Giuseppe; Di Pietro, Roberto; V. Mancini, Luigi ; Tsudik, Gène (2008). « Possession de données prouvable évolutive et efficace ». Actes de la 4e conférence internationale sur la sécurité et la confidentialité dans les réseaux de communication – Secure Comm '08 . p. 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; Tamassia, Roberto; Papamanthou, Charalampos (2009). "La possession de données prouvable dynamique". Actes de la 16e conférence ACM sur la sécurité informatique et des communications – CCS '09 . p. 213-222. doi : 10.1145/1653662.1653688 . ISBN 978-1-60558-894-0. S2CID 52856440 .
- Juels, Ari ; S. Kaliski, Burton (2007). Pors : preuves de récupérabilité pour les fichiers volumineux . Actes de la 14e Conférence de l'ACM sur l'informatique et les communications . p. 584-597. doi : 10.1145/1315245.1315317 . ISBN 978-1-59593-703-2. S2CID 6032317 .
- Bonvin, Nicolas ; Papaioannou, Thanasis ; Aberer, Karl (2009). "Un schéma de réplication auto-organisé, tolérant aux pannes et évolutif pour le stockage en nuage". Actes du 1er symposium ACM sur le Cloud computing – SoCC '10 . p. 205-216. doi : 10.1145/1807128.1807162 . ISBN 978-1-4503-0036-0. S2CID 3261817 .
- Tim, Kraska; Martin, Hentschel; Gustavo, Alonso; Donald, Kossma (2009). « Rationnement de la cohérence dans le cloud : ne payez que lorsque cela compte ». Actes de la Fondation VLDB . 2 (1) : 253-264. doi : 10.14778/1687627.1687657 .
-
Daniel, J. Abadi (2009). « Gestion des données dans le cloud : limites et opportunités ». CiteSeerX 10.1.1.178.200 . Citer le journal nécessite
|journal=
( aide ) - Ari, Juels ; S., Burton ; Jr, Kaliski (2007). « Pors : preuves de récupérabilité pour les fichiers volumineux ». Communications de l'ACM . 56 (2) : 584-597. doi : 10.1145/1315245.1315317 . S2CID 6032317 .
- Ari, Aténiese ; Randal, Burns; Johns, Reza; Curtmola, Joseph ; Hareng, Burton; Léa, Kissner ; Zachary, Peterson ; Aube, Chanson (2007). « Possession de données prouvable dans des magasins non fiables ». CCS '07 Actes de la 14e conférence ACM sur la sécurité informatique et des communications . p. 598-609. doi : 10.1145/1315245.1315318 . ISBN 978-1-59593-703-2. S2CID 8010083 .
- Synchronisation
- En haut, S ; Flouris, MD; Bilas, A (2010). "Synchronisation basée sur le cloud des hiérarchies de systèmes de fichiers distribués". 2010 Conférence internationale de l'IEEE sur les ateliers et les affiches sur l'informatique en grappes (CLUSTER WORKSHOPS) . Inst. de l'informatique. Sci. (ICS), Trouvé. pour Rés. & Technol. - Hellas (FORTH), Héraklion, Grèce. p. 1–4. doi : 10.1109/CLUSTERWKSP.2010.5613087 . ISBN 978-1-4244-8395-2. S2CID 14577793 .
- Aspects économiques
- Lori M., Kaufman (2009). "La sécurité des données dans le monde du cloud computing". Sécurité et confidentialité, IEEE . 7 (4) : 161-64. doi : 10.1109/MSP.2009.87 . S2CID 16233643 .
- Marston, Sean; Lia, Zhi ; Bandyopadhyaya, Subhajyoti; Zhanga, Juheng; Ghalsasi, Anand (2011). L'informatique en nuage — Le point de vue de l'entreprise . Systèmes d'aide à la décision Volume 51, Numéro 1. pp. 176-189. doi : 10.1016/j.dss.2010.12.006 .
- Angabini, A; Yazdani, N; Mundt, T; Hassani, F (2011). « Adaptation du cloud computing pour les applications d'analyse de données scientifiques ; une étude empirique ». 2011 Conférence internationale sur l'informatique P2P, parallèle, grille, cloud et Internet . Sch. d'électr. & Informatique. Ing., Univ. de Téhéran, Téhéran, Iran. p. 193-199. doi : 10.1109/3PGCIC.2011.37 . ISBN 978-1-4577-1448-1. S2CID 13393620 .