[en] Community networks (CNs) have gained momentum in the last few years in response to the growing demand for network connectivity in rural and urban areas. These networks, owned and managed by volunteers, offer various services to their members. While Internet access is the most popular service offered to their members, the provision of services of local interest within the network is enabled by the emerging technology of CN micro-clouds. By putting services closer to users, CN micro-clouds pursue not only an improved service performance, but also a low entry barrier for the deployment of alternatives to mainstream Internet services within the CN. Unfortunately, the provisioning of the services is not so simple. Due to the large and irregular topology, high software and hardware diversity and different service requirements in CNs, a "careful" placement of micro-cloud services over the network is required. First, in order to understand the micro-cloud service requirements for a successful operation in CNs, we perform deployment, feasibility analysis and in-depth performance assessment of popular CN micro-cloud services such as distributed storage, live video-streaming and service discovery. We characterize and define workload upper bounds for successful operations of such services and perform cross-layer analysis and optimizations to improve the service performance. This deployment experience supports the feasibility of CN micro-clouds and our measurements contribute to understand the performance of services and applications in this challenging environment. Then, in order to improve the performance of the services on the network level over which a service host provides a service to client nodes, it is necessary to adapt the logical network topology to both external (e.g., wireless connectivity, node availability) and internal (e.g., service copies, service demand) factors. To achieve this, we propose to leverage state information about the network to inform service placement decisions, and to do so through an i) exploratory algorithm PASP (Policy-aware Service Placement) that minimizes the service overlay diameter, while fulfilling service specific criteria and ii) through a fast and low-complexity service placement heuristic BASP (Bandwidth and Availability-aware Service Placement), which maximizes bandwidth between nodes and improves user QoS. Our results show that PASP and BASP consistently outperform the existing in-place strategies in the Guifi.net CN, with respect to bandwidth, availability and latency when used with real CN micro-cloud services. Since this improvement translates in the QoE (Quality of Experience) perceived by the user, our results are relevant for contributing to higher QoE, a crucial parameter for using services from volunteer-based systems.

[pt] As redes comunitárias (Community Networks - CNs) têm ganho popularidade nos últimos anos em resposta à crescente procura por conectividade de rede em áreas rurais e urbanas. Estas redes, propriedade de e geridas por voluntários, oferecem diversos serviços aos seus membros. Apesar do acesso à Internet ser o serviço mais popular, a provisão de serviços de interesse local dentro da própria rede é habilitada pela tecnologia emergente de micro-clouds em CNs. Ao colocar os serviços mais perto dos seus utilizadores, as micro-clouds não procuram apenas melhorar o desempenho dos serviços, mas também uma redução da barreira no que toca à implantação de outros serviços convencionais de Internet dentro da CN. Infelizmente, o provisionamento de serviços não é simples. Devido à grande e irregular topologia, à grande diversidade tanto de software como de hardware, bem como à diversidade de requisitos em CNs, é necessária uma colocação "cuidada" de serviços em micro-clouds na rede. Primeiro, de forma a compreender os requisitos dos serviços em micro-clouds para que funcionem corretamente em CNs, analisamos a viabilidade, implementamos e avaliamos o desempenho de alguns serviços populares em micro-clouds tais como armazenamento distribuído, streaming de vídeo em direto, e serviços de descoberta de recursos e de outros serviços. Caracterizamos e definimos limites de carga para que as operações de tais serviços seja bem sucedida, e analisamos e optimizamos em várias camadas de forma a melhorar o desempenho do serviço. Esta experiência de implementação suporta a viabilidade das micro-clouds comunitárias, e as nossas experiências contribuem para o discernimento do desempenho de serviços e aplicações neste ambiente desafiante. Depois, de forma a melhorar o desempenho dos serviços ao nível da rede sobre o qual um fornecedor disponibiliza um serviço a clientes, é necessário adaptar a topologia lógica da rede a factores tanto externos (e.g. conectividade sem fios, disponibilidade de nós) como internos (e.g. réplicas de serviço, procura). Para isso, propomos basear as decisões de colocação de serviços em informação sobre o estado da rede, e fazê-lo através de i) um algorítmo exploratório PASP (Policy-aware Service Placement) que minimiza o diâmetro do overlay do serviço, cumprindo critérios específicos do serviço e ii) uma heurística de colocação de serviços rápida e de reduzida complexidade BASP (Bandwidth and Availability-aware Service Placement), a qual maximiza a largura de banda entre os nós e melhora a qualidade de serviço (QoS) dos utilizadores. Os nossos resultados mostram que o PASP e a BASP superam consistentemente as estratégias já em uso na rede comunitária Guifi.net, em relação à largura de banda, disponibilidade e latência quando usadas com serviços micro-cloud reais. Como esta melhoria traduz-se numa melhoria da qualidade de experiência (QoE) para o utilizador, os nossos resultados são relevantes para contribuir para uma melhoria da QoE, um parâmetro crucial para utilizar serviços baseados em recursos fornecidos por voluntários