User Tools

Site Tools


services:introduction

Introduction to Services in CNs

Following we present a brief introduction to the deployment of services in Community Networks, the motivation behind it, the main challenges and the type of services that can be provided.

Motivation and Challenges of Service Deployment in CNs

While the successful operation of the networking layer of Community Networks is proved by many of the existing networks, the existence of a large number of services and applications that run within these networks is far from being accomplished. For example, the sharing of computing resources like storage, which is now common practice in today’s Internet, hardly exists in Community Networks and most users see the functionality of these networks limited only to providing Internet access to under-provisioned areas.

A service is a mechanism to allow access to a set of related software functionalities or applications. Typically, services offered in Community Networks run on the machines that the members connect to the network. These machines are usually used exclusively by their owners, and therefore, users willing to share information and resources with the community have first to take care of the technical aspects such as the deployment of a server with the set of services to be shared. This technological barrier has been identified as one of the main reasons why, beyond that of access to the Internet, there are few other services being provided and used in Community Networks.

The slow uptake of service deployment is related to the fact that Community Networks are challenging environments, and applications running in them will have to deal with the specific characteristics of these networks, such as:

  • Hardware and software diversity: The network nodes and computers are often inexpensive off the shelf equipment with large heterogeneity in the hardware, software, and capacity.
  • Decentralized management: The network infrastructure and the computers are managed by the users. They belong to the users and are shared to build the network. There is usually no (or a rather weak) central authority that is responsible for resource provisioning.
  • Dynamics: The number of network and computing nodes may rapidly change when members join or leave the network, or when nodes overload or fail.

Using cloud technology Community Networks have the opportunity to overcome some of these difficulties and extend the collaborative network building towards the application level, that is building collaborative services, built, operated and maintained by the community, running on community-owned resources, and being these cloud-based services the ones that are of the community’s interest.

Why Services are Needed in CNs?

The main motivation behind the development of services in Community Networks is the possibility to offer resources and applications that are of value for the users and meet their particular needs and interests.

An important aspect to take into account is the possibility to have open source applications to be able to customize them according to the requirements of the community.

As an example, Guifi.net has several uses cases where the members of the community are implementing services in the network to have some additional functionalities beyond access to the Internet, such as listening to a radio station, remote management of desktop computers, server mirroring, etc. These examples reveal the need to deploy services that are shaped and owned by the community and that are relevant for it.

What Types of Services Can Be Deployed in CNs?

We encourage the deployment of cloud-based services in Community Networks. As an example of the types of cloud-based services that can be offered we have the following:

  1. Service announcement and discovery.
  2. Distributed file systems and storage.
  3. P2P media streaming.
  4. P2P file sharing.
services/introduction.txt · Last modified: 2016/12/19 10:49 by ivilata