Logo do repositório
 
A carregar...
Miniatura
Publicação

Generic Decentralized Membership and Communication Abstractions for Edge Systems

Utilize este identificador para referenciar este registo.
Nome:Descrição:Tamanho:Formato: 
Barreto_2023.pdf1.94 MBAdobe PDF Ver/Abrir

Resumo(s)

Nowadays, many systems rely on decentralized architectures as a way to provide services to many users that require high availability, fault tolerance, and scalability. Avoiding a centralized component, which is often the source of bottlenecks and a single point of failure, makes these systems more autonomous and robust. Additionally, not relying on proprietary infrastructures also brings privacy-related benefits. Systems that require some form of coordination between different components in order to perform a particular task, for instance in the context of edge computing, usually benefit from relying on decentralized architectures. Examples of these systems include swarms of satellites, IoT appliances, industrial machines, clusters of computers processing large amounts of data, among others. Decentralized architectures need to provide two fundamental functionalities: the management of peers participating in the system, commonly called membership management, and mechanisms to support communication between peers in order to send and receive information. Many solutions providing these functionalities were already developed in the context of peer-to-peer systems, specially when considering the development of protocols based on overlay networks. While, on one hand, the existence of several decentralized protocols, some of which providing similar services, allows for applications to choose the most suitable one for their operation. On the other hand, should the need for a change of protocol providing a given service arise, applications may have to be extensively rewritten due to the differences between interfaces. This also makes it difficult to reuse solutions based on the same decentralized services across different applications. This work studies existing decentralized protocols with a focus on their operation, exposed interfaces, and provided services. Then, leveraging on the lessons learned from the performed study, we propose generic abstractions for interacting with decentralized protocols based on the implemented services. Moreover, our architecture provides mechanisms to simplify the management of protocols that can be leveraged by applications based on decentralized protocols to take advantage of an edge computing approach. In this document, we also present the implementation, based on our architecture, of a set of applications and existing protocols.
Hoje em dia, vários sistemas baseiam-se na utilização de arquiteturas descentralizadas para fornecer serviços com garantias de alta fiabilidade, disponibilidade e escalabilidade. Evitar a utilização de um componente centralizado permite evitar pontos de estrangulamento bem como a existência de um único ponto de falha, tornando estes sistemas mais autónomos e robustos. Adicionalmente, não depender de infraestruturas proprietárias traz também benefícios relacionados com a privacidade. Uma das aplicações mais comuns para este tipo de arquiteturas são sistemas que necessitam de alguma forma de coordenação entre os diferentes atores que os compõem para realizar uma determinada tarefa, por exemplo, no contexto da computação na edge. Estas tarefas podem tratar-se de coordenação entre grupos de satélites, dispositivos IoT, máquinas industriais ou computadores responsáveis pelo processamento abundante de dados, entre outros. De uma forma geral, sistemas baseados em arquiteturas descentralizadas necessitam de fornecer duas funcionalidades fundamentais: mecanismos de gestão dos nós que participam no sistema, conhecidos como gestão de filiação (membership management), e mecanismos de comunicação entre esses mesmos nós. Diversas soluções já existem, em particular no domínio dos sistemas entre-pares (peer-to-peer), onde protocolos baseados em redes sobrepostas (overlay networks) são habitualmente utilizados. Assim, apesar da existência de múltiplos protocolos, capazes de fornecer serviços similares, permitir às aplicações escolher o mais adequado à sua operação, a substituição de um protocolo por outro pode levar a que uma aplicação tenha de ser significativamente modificada. A reutilização de código entre aplicações baseadas na utilização dos mesmos serviços também se torna difícil devido às diferentes interfaces expostas pelos protocolos. Neste trabalho diversos protocolos descentralizados foram estudados, considerando a sua operação, interfaces expostas e serviços disponibilizados, de forma a propor um conjunto de abstrações genéricas para interagir com os mesmos baseadas nos serviços fornecidos. A arquitetura apresentada permite também uma gestão simplificada dos diversos protocolos utilizados por aplicações, baseadas em computação na edge, para obter os serviços necessários. Neste documento, apresentamos ainda a implementação, baseada na nossa solução, de um conjunto de aplicações e protocolos já existentes.

Descrição

Palavras-chave

Distributed systems Decentralized systems Decentralized applications Overlay networks Edge computing Peer-To-Peer systems

Contexto Educativo

Citação

Projetos de investigação

Unidades organizacionais

Fascículo

Editora

Licença CC