The "Spontaneous Virtual Networks" (SpoVNet) project is proud to release the first complete open source implementation of the SpoVNet architecture for spontaneous and flexible creation of overlay-based services and applications. Details on the architecture and the SpoVNet project can be found in the publications list . SpoVNet is funded by the National Foundation of the State Baden-Württemberg, Germany (Baden-Württemberg Stiftung gGmbH). The SpoVNet software provides a convenient toolbox for the development of overlay-based services and applications across heterogeneous networks. It comprises base software, three examples for overlay-based services, and a game application for demonstration purposes. Specifically, this initial software release (from the first funding period aka SpoVNet 1.0) includes

  • the award-winning SpoVNet base "ariba"
    (KuVS Software Award 2011, successfully demonstrated at ACM SIGCOMM 2009 and IEEE INFOCOM 2010),
  • the SpoVNet multicast service "MCPO" (also part of the demonstrations),
  • the SpoVNet event notification service "EONSON",
  • the SpoVNet event correlation service "Cordies",
  • the SpoVNet-based multiplayer game "PlanetPI4".

Quickstart instructions for a demo-installation of the complete SpoVNet 1.0 framework on Ubuntu 12.04 can be found here . The SpoVNet 2.0 release from the second funding period can be found here .

Omnibus File Transfer, a SpoVNet-based file transfer client can be downloaded here .

SpoVNet Open Source Portal

The SpoVNet Open Source Portal hosts all SpoVNet downloads, as well as documentation, installation instructions, forums and a ticketing system for each component.


Complete SpoVNet Installation Package

Install Script
Ubuntu 12.04

To install the SpoVNet software, a global install script can be used ( It loads all needed components and compiles them in a local folder (./spovnet). Some packages need to be installed in advance, though. They can be installed with the following command:

sudo apt-get install build-essential libtool autoconf automake \
libgmp3-dev libboost-thread1.46-dev libboost-system1.46-dev \
libboost-regex1.46-dev libssl-dev libbluetooth-dev libavahi-client-dev \
libirrlicht1.7a libirrlicht-dev 

After installing these packages, untar the archive you downloaded and execute the install script (no superuser rights required):


Choose the install folder and proceed. The installation can take up to 30 minutes, because a lot of libraries have to be downloaded from third-party-developers. If problems or errors occur you can check the file ./spovnet/install.log. After successful installation, the game PlanetPI4 can be started as follows:

cd ./spovnet/build/bin

After starting the application a window pops up that needs some input in order to start the game. Choose a player name and leave the SpoVNet name as it is ('planetpi'). In the next step, an ariba endpoint has to be specified. This is a TCP port needed for communication (further info can be found here ). You can choose a port ba specifying


Replace 'xxxx' with your port of choice. Furthermore, the SpoVNet instance needs information how to look up other members. You need to fill in the 'ARIBA bootstrap hints', here. More infos can be found here . If you want to start a new instance of the game, leave the field blank. Otherwise, add the info in the form


Replace the IP address ('xxx.yyy.zzz.www') and port ('uuuu') with the info from an already joined device. If you encounter problems with connecting, try a different TCP port for every device. After all informatrion have been provided, you can run the game either as bot or as manual player.

Ship control
W: Forward, S: Backward, Left arrow: Turn left, Right arrow: Turn right
A: Strafe left, D: Strafe right
Space: Fire, Escape: Leave game

Virtual Machine Development Environment

You can download a virtual machine in Virtual Box format that contains all SpoVNet components installed in a development environment here . The password for the user spovnet is spovnet2011

SpoVNet Software Components

Component Description
Ariba is an overlay-based middleware that implements the underlay abstraction layer of the Spontaneous Virtual Networks (SpoVNet) architecture. It aims to ease the development of flexible, adaptive, and spontaneous overlay-based services and applications on top of heterogeneous and mobile networks. To this end, Ariba provides generic mechanisms for establishing and maintaining communication links across heterogeneous underlay networks using an identifier based addressing scheme. Building upon these mechanisms, applications can spontaneously establish an invariant virtual network substrate and use it for subsequent communication.
Go to SpoVNet Open Source Portal
Go to Ariba Project Page
MCPO realizes a group communication service for applications (and potentially also other services) wishing to send data to more than one receiver with a single transmission. MCPO resides between application and ariba, optionally using the CLIO module for gathering Cross-layer information, if available.
Go to SpoVNet Open Source Portal
Go to Project Page
EONSON is the event notification service intended to be used in the SpoVNet architecture. It provides the semantics of a content based publish/subscribe system. EONSON does not rely on any broker network and allows subscribers to coordinate among themselves on a peer-to-peer basis to construct publish/subscribe overlay topology according to the similarity relationships among their subscriptions.
Go to SpoVNet Open Source Portal
Cordies (CORrelation in DIstributed Event Systems) is a distributed event correlation detection system. It consists of an arbitrary number of identical components which are distributed in a SpoVNet instance. Each component can detect multiple complex events by assessing the intercorrelation of event messages.
Go to SpoVNet Open Source Portal
Planet PI4 is a simple multiplayer space shooter game, developed to demonstrate and evaluate the functionality of different SpoVNet components. The multicast group communication service (MCPO) is used to communicate all game related activities. Computer-controlled players (bots) can be added, automatically generating traffic by attacking any other players next to them. Both the notification and correlation service (EONSON/Cordies) are exemplarily used to publish and correlate all players' positions, visualized by highlighting the player's space ship when close to another player.
Go to SpoVNet Open Source Portal
The HelloSpoVNet application is intended to be a "Hello World"-like example program that helps to develop applications that run on top of the SpoVNet architecture. It implements a simple chat application by using the group communication service MCPO. The application includes a minimal GUI that is implemented in the GIMP toolkit GTK+ using the gtkmm C++ interface.
Go to SpoVNet Open Source Portal
UNISONO implements the cross-layer information service of the Spontaneous Virtual Networks (SpoVNet) architecture. Its main goal is to simplify access to information required by applications, e.g. for the organization and optimization of overlay networks. At the same time, this reduces the load of both, nodes and network, normally introduced by duplicate measurements. Currently, UNISONO supports active measurements for node and network properties and remote information requests. Its modular architecture allows the simple implementation and addition of measurement modules (M&Ms).
Go to SpoVNet Open Source Portal
Go to Project Page

Document Actions