Publicação

Generic Decentralized Membership and Communication Abstractions for Edge Systems

Ver documento

Detalhes bibliográficos
Resumo: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.
Autores principais:Barreto, Diogo Filipe Marcos
Assunto:Distributed systems Decentralized systems Decentralized applications Overlay networks Edge computing Peer-To-Peer systems
Ano:2023
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade Nova de Lisboa
Idioma:inglês
Origem:Repositório Institucional da UNL
Descrição
Resumo: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.