4 research outputs found

    Dependable eventual consistency with replicated data types

    Get PDF
    Eventually consistent replicated databases offer excellent responsiveness and fault-tolerance, but expose applications to the complexity of concurrency andfailures. Recent databases encapsulate these problems behind a stronger interface, supporting causal consistency, which protects the application from orderinganomalies, and/or Replicated Data Types (RDTs), which ensure convergent semantics of concurrent updates using object interface. However, dependable algorithms for RDT and causal consistency come at a cost in metadata size. This thesis studies the design of such algorithms with minimized metadata, and the limits of the design space. Our first contribution is a study of metadata complexity of RDTs. RDTs use metadata to provide rich semantics; many existing RDT implementations incur high overhead in storage space. We design optimized set and register RDTs with metadata overhead reduced to the number of replicas. We also demonstrate metadata lower bounds for six RDTs, thereby proving optimality of four implementations. Our second contribution is the design of SwiftCloud, a replicated causally-consistent RDT object database for client-side applications. We devise algorithms to support high numbers of client-side partial replicas backed by the cloud, in a fault-tolerant manner, with small metadata. We demonstrate how to support availability and consistency, at the expense of some slight data staleness; i.e., our approach trades freshness for scalability (small metadata, parallelism), and availability (ability to fail-over between data centers). We validate our approach with experiments involving thousands of client replicas.Les bases de données répliquées cohérentes à terme récentes encapsulent la complexité de la concurrence et des pannes par le biais d'une interface supportant la cohérence causale, protégeant l'application des problèmes d'ordre, et/ou des Types de Données Répliqués (RDTs), assurant une sémantique convergente des mises-à-jour concurrentes en utilisant une interface objet. Cependant, les algorithmes fiables pour les RDTs et la cohérence causale ont un coût en terme de taille des métadonnées. Cette thèse étudie la conception de tels algorithmes avec une taille de métadonnées minimisée et leurs limites. Notre première contribution est une étude de la complexité des métadonnées des RDTs. Les nombreuses implémentations existantes impliquent un important surcoût en espace de stockage. Nous concevons un ensemble optimisé et un registre RDTs avec un surcoût des métadonnées réduit au nombre de répliques. Nous démontrons également les bornes inférieures de la taille des métadonnées pour six RDTs, prouvant ainsi l'optimalité de quatre implémentations. Notre seconde contribution est le design de SwiftCloud, une base de données répliquée causalement cohérente d'objets RDTs pour les applications côté client. Nous concevons des algorithmes qui supportent un grand nombre de répliques partielles côté client, s'appuyant sur le cloud, tout en étant tolérant aux fautes et avec une faible taille de métadonnées. Nous démontrons comment supporter la disponibilité (y compris la capacité à basculer entre des centre de données lors d'une erreur), la cohérence et le passage à l'échelle (petite taille de métadonnées, parallélisme) au détriment d'un léger retard dans l'actualisation des données

    Comparaison des Modèles et Architectures pour un Accès Mobile Restreint et Local au Web de Données: Un état de l’art des architectures et solutions envisageables

    Get PDF
    This document presents a survey prior to a thesis project, which aims to propose solutions allowing local and restricted access to the Web of data. We have explored several relevant mechanisms proposed in the literature, dedicated to various problems and likely to constitute important points for our future contributions. Since our main objective is to offer tools dedicated to mobility situations in environments where internet access is unreliable, we were particularly interested in comparing approaches (P2P, DHT, etc.) allowing to realize a particular fog/edge computing scenario which is restricted and local mobile access to contextually relevant and shared related data. In this context, we have focused some of our research on so-called gossip protocols (or epidemic protocols) that are well suited to the dynamic nature of networks. The dynamic aspect of the peers also led us to consider the solutions that take into account the location of the peers in order to improve the quality of the services offered.In addition, we looked at solutions dealing with semantic heterogeneity in peer-to-peer environments, including ontology alignment mechanisms that allow us to fully benefit from the power of peer-to-peer systems without imposing the use of a common ontology to all peers.Data replication and caching can be an important alternative to accessing remote sources; we have devoted the last part of this document to solutions based on these mechanisms to supply a local access to data.Ce document présente un état de l'art préalable à un projet de thèse qui vise à proposer des solutions permettant un accès local et restreint au Web de données. Nous avons exploré plusieurs mécanismes pertinents proposés dans la littérature, dédiés à des problématiques différentes et pouvant constituer des points importants pour nos futures contributions. Notre objectif principal étant de proposer des outils dédiés à des situations de mobilité dans des environnements ou l’accès internet est peu fiable, nous nous sommes intéressés particulièrement à comparer des approches (P2P, DHT, etc.) permettant de réaliser un scénario de fog/edge computing particulier qui est l'accès mobile restreint et local à des données liées contextuellement pertinentes et partagées. Dans cette optique, nous avons focalisé une partie de nos recherches bibliographiques sur les protocoles dits de « gossip » (ou protocoles épidémiques) qui s’avèrent bien adaptés au caractère dynamique des réseaux. L'aspect dynamique des pairs nous a aussi amené à considérer des solutions qui prennent en compte la localisation des pairs pour améliorer la qualité des services offerts.Nous regardons de plus dans ce document, des solutions traitant de l’hétérogénéité sémantique dans des environnements pair-à-pair, notamment des mécanismes d’alignements d’ontologies qui permettent de profiter pleinement de la puissance des systèmes pair-à-pair sans imposer l’utilisation d’une ontologie commune à tous les pairs.La réplication et le cache de données pouvant constituer une alternative importante à l’accès à des sources distantes, nous avons consacré la dernière partie de ce document aux solutions reposant sur ces mécanismes et offrant ainsi un accès local aux données

    Édition collaborative décentralisée dans les navigateurs

    Get PDF
    Collaborative editors allow users to distribute the writing of a document across space and time. Thanks to their ease of use, real-time collaborative editors working in Web browsers vastly contributed to the adoption of such tools. However, current editors are centralized: a service provider's server hosts an editing session. It raises privacy and scalability issues.Recently, the enabling of browser-to-browser connection establishments opened new opportunities in favor of a decentralized Web. Decentralized real-time collaborative editors working in Web browsers must efficiently handle highly dynamic groups of different size.Contributions of this thesis are threefold:(i) To represent the document, we propose a replicated data structure for sequences using metadata the size of which scales sub-linearly compared to the number of inserted characters.(ii) To efficiently propagate the changes to all editors involved in the collaborative writing, we propose a random peer sampling protocol that supports Web browsers constraints and self-adjusts its functioning to the variations of network membership.(iii) To demonstrate the feasibility of a decentralized real-time collaborative editors running in Web browsers, we propose an editor using (i) and (ii), and we highlight its scalability.Un éditeur collaboratif permet de répartir la tâche de rédaction d'un document à travers le temps et l'espace. Par leur simplicité d'utilisation, les éditeurs collaboratifs temps réel du Web ont contribué à l'adoption massive de ces outils par le grand public. Cependant, les éditeurs actuels sont centralisés : un serveur appartenant à un fournisseur de services gère une session d'édition. En résultent des problèmes de confidentialité, de censure, de propriété, de passage à l'échelle et de tolérance aux pannes.Récemment, la possibilité d'établir des communications d'un navigateur Web à l'autre a ouvert de nouvelles opportunités en faveur d'un Web décentralisé. Un éditeur collaboratif temps réel décentralisé fonctionnant dans les navigateurs Web doit gérer efficacement des groupes de taille variable et hautement dynamiques.Cette thèse comporte trois contributions :(i) Pour représenter le document, nous proposons une structure de données répliquée dont la taille des métadonnées croît de manière sous-linéaire par rapport au nombre de caractères insérés dans le document.(ii) Pour propager efficacement les changements à tous les éditeurs participant à l'édition, nous proposons un protocole d'échantillonnage aléatoire de pairs adapté aux contraintes des navigateurs Web et s'ajustant automatiquement au logarithme de la taille de la session d'édition.(iii) Pour démontrer la faisabilité d'un éditeur collaboratif temps réel décentralisé fonctionnant dans les navigateurs Web, nous proposons un éditeur réunissant (i) et (ii), et dont les performances passent à l'échelle

    Kevoree (Model@Runtime pour le développement continu de systèmes adaptatifs distribués hétérogènes)

    Get PDF
    La complexité croissante des systèmes d'information modernes a motivé l'apparition de nouveaux paradigmes (objets, composants, services, etc), permettant de mieux appréhender et maîtriser la masse critique de leurs fonctionnalités. Ces systèmes sont construits de façon modulaire et adaptable afin de minimiser les temps d'arrêts dus aux évolutions ou à la maintenance de ceux-ci. Afin de garantir des propriétés non fonctionnelles (par ex. maintien du temps de réponse malgré un nombre croissant de requêtes), ces systèmes sont également amenés à être distribués sur différentes ressources de calcul (grilles). Outre l'apport en puissance de calcul, la distribution peut également intervenir pour distribuer une tâche sur des nœuds aux propriétés spécifiques. C'est le cas dans le cas des terminaux mobiles proches des utilisateurs ou encore des objets et capteurs connectés proches physiquement du contexte de mesure. L'adaptation d'un système et de ses ressources nécessite cependant une connaissance de son état courant afin d'adapter son architecture et sa topologie aux nouveaux besoins. Un nouvel état doit ensuite être propagé à l'ensemble des nœuds de calcul. Le maintien de la cohérence et le partage de cet état est rendu particulièrement difficile à cause des connexions sporadiques inhérentes à la distribution, pouvant amener des sous-systèmes à diverger. En réponse à ces défi scientifiques, cette thèse propose une abstraction de conception et de déploiement pour systèmes distribués dynamiquement adaptables, grâce au principe du Model@Runtime. Cette approche propose la construction d'une couche de réflexion distribuée qui permet la manipulation abstraite de systèmes répartis sur des nœuds hétérogènes. En outre, cette contribution introduit dans la modélisation des systèmes adaptables la notion de cohérence variable, permettant ainsi de capturer la divergence des nœuds de calcul dans leur propre conception. Cette couche de réflexion, désormais cohérente "à terme", permet d'envisager la construction de systèmes adaptatifs hétérogènes, regroupant des nœuds mobiles et embarqués dont la connectivité peut être intermittente. Cette contribution a été concrétisée par un projet nommé ''Kevoree'' dont la validation démontre l'applicabilité de l'approche proposée pour des cas d'usages aussi hétérogènes qu'un réseau de capteurs ou une flotte de terminaux mobiles.The growing complexity of modern IT systems has motivated the development of new paradigms (objects, components, services,...) to better cope with the critical size of their functionalities. Such systems are then built as a modular and dynamically adaptable compositions, allowing them to minimise their down-times while performing evolutions or fixes. In order to ensure non-functional properties (i.e. request latency) such systems are distributed across different computation nodes. Besides the added value in term of computational power (cloud), this distribution can also target nodes with dedicated properties such as mobile nodes and sensors (internet of things), physically close to users for interactions. Adapting a system requires knowledge about its current state in order to adapt its architecture to its evolving needs. A new state must be then disseminated to other nodes to synchronise them. Maintaining its consistency and sharing this state is a difficult task especially in case of sporadic connexions which lead to divergent state between sub-systems. To tackle these scientific problems, this thesis proposes an abstraction to design and deploy distributed adaptive systems following the Model@Runtime paradigm. From this abstraction, the proposed approach allows defining a distributed reflexive layer to manipulate heterogeneous distributed nodes. In particular, this contribution introduces variable consistencies in model definition and divergence in system conception. This reflexive layer, eventually consistent allows the construction of distributed adapted systems even on mobile nodes with intermittent connectivity. This work has been realized in an open source project named Kevoree, and validated on various distributed systems ranging from sensor networks to cloud computing.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF
    corecore