#+title: Community-Lab: Exploring the Future Internet on Community Networks

* Introduction
Hello, I'm (Speaker) from (organization), I work at the CONFINE project and
I'm going to talk you about Community-Lab, a community networking testbed for
the future Internet. *##*

** Community networks
- For those of you who are new to the term, CNs are infrastructure deployed by
  organized groups of people for the self-provision of broadband networking
  that works and grows according to their own interests.
- Like some Free software projects, they are based on open participation, open
  and transparent management, and distributed ownership.  This goes way beyond
  *##* private-owned networks and Internet access, and even *##* state-owned
  networks with private ISPs. *##* In a community network everyone owns their
  piece of the network and are free to access other's services through it. *##*
- The previous characteristics translate into open, free (as in freedom) and
  neutral networks, values in consonance with the Free software movement.
  Some CNs even have mutual agreement texts similar to Free software liceses.
- Atypical as it may seem, the EU in its Digital Agenda regards CNs as
  fundamental for the universalization of broadband networking. *##*

** The CONFINE project
- Under the umbrella of the Digital Agenda, CONFINE is a EU-financed project
  with several partners: CNs, research institutions and supporting NGOs.
- Its mission is to support the sustainable growth of CNs by providing the
  means to conduct experimentally driven research.
- It also supports other projects advancing or extending CNs via financed Open
  Calls (which are now closed).
- Last but not least, CONFINE provides a testbed and the associated tools and
  knowledge for researchers to experiment on real CNs. *##*

** Community-Lab
- Community-Lab is that testbed: an environment built with real hardware
  taking part in actual community networks to allow realistic experimental
  research on network technologies and services.
- Mostly like PlanetLab, it is global scale, with experiments sharing
  resources on a best effort basis, and having as few hardwired management
  mechanisms as possible.
- However, it supports the peculiarities of CNs: their distributed ownership,
  the fairness between their users, and their diversity but also
  their instability.
- It's important to note that all Community-Lab's software and documentation
  is “free as in freedom” so you can use them to setup your own CONFINE
  testbed. *##*

** Community-Lab as community infrastructure

- Besides supporting experimentation, CONFINE helps physically extend CNs with
  new Community-Lab nodes.
- These nodes can also host services like web servers, video broadcast
  stations, etc. for the community.
- In a more sophisticated approach, nodes can also be used to implement cloud
  infrastructure provided and managed by the community for the community.
  This is the mission of the Clommunity project. *##*

* Architecture and technologies
** Testbed architecture
- Community-Lab consists of a set of nodes (managed by CN members) that follow
  the configuration in a set of servers (managed by testbed operators).
- All components in the testbed become reachable via a dedicated management
  network implemented as an IPv6 overlay.
- Researchers define experiments (so called slices) in a server.
- Nodes use a REST API to get those definitions from servers and run several
  of them simultaneously as VMs (so called slivers).
- Slivers can access the CN via NAT, natively at the network layer, or in an
  isolated VLAN for routing experiments. *##*

** Technologies
- Nodes are connected via Ethernet to normal community devices.
- Nodes are moderately powerful computers running OpenWrt with a control
  daemon written in Lua.  Slivers are implemented as Linux containers.  We are
  working on safe node upgrade using kexec.
- The GUI and REST API in servers are implemented as Django applications.
- The IPv6 overlay used for the management network is a tinc mesh VPN.
- We use Git, Redmine, Jenkins and our Virtual CONFINE Tesbed (VCT) package
  for development and testing. *##*

* Collaborations
- CONFINE actively collaborates to the development of several Free software
  projects: the OpenWrt router distro, the BMX6 and OLSR mesh routing
  protocols, the DLEP protocol for collecting link characteristics, the NodeDB
  for describing CN nodes, the lower-level Wibed testbed, and the quick mesh
  project distro.
- CONFINE also collaborates in events like the Wireless Battle Mesh and the
  International Summit for Community Wireless Netwroks. *##*

* Future
- In the near future we plan to work further on the testing, stabilization and
  documentation of the testbed to make it more maintainable and usable for the
  long term.
- We will also start work on federating CONFINE testbeds between themselves
  and with PlanetLab-like testbeds using the Slice-based
  Federation Architecture.
- We will be gradually opening the Community-Lab testbed to all kinds of
  external users in the networking and academic communities. *##*

* Participate!
- So this was a very schematic summary about community networks, the CONFINE
  project and its Community-Lab testbed.
- For more information you can visit these links or meet us in person in the
  CONFINE stand in the K building.

(Questions? Thanks!)

# Local Variables:
# mode: org
# End:
