Uni Göttingen
computer networks group     Computer Networks Group
Institute of Computer Science
Georg-August-Universität Göttingen
english deutsch
 Home / Teaching / Praktikum Advanced Networking

Praktikum Advanced Networking

Winter 2008/2009


Time: Friday, 14.00 - 16.00
Place: IfI 3.101
Workload/Credits: 4 SWS, 6 ECTS credits
Module: CS M.inf. / CS B.inf.
Instructors: Xiaoming Fu, Niklas Neumann, Florian Tegeler
Please check Stud.IP for additional information and course materials.
Course scenario: Net-Solutions, a small start-up company wants to develop an application that allows the exchange of location information between peers. Our team of computer scientists has been hired to design, implement and evaluate this application. During the course of the semester, the team will work on the realization of the given requirements independently. In weekly meetings the team will present its progress and has the opportunity for discussion with senior computer scientists.

The requirements for the application are as follows:


  • Link layer agnostic: The application is IP-based and only use functions of the IP-Layer or above directly. Functions of the lower layers if necessary need to be encapsulated or accessed via a standardized API.
  • Ad-hoc peer-detection: The application must be able to find other peers without any bootstrapping or pre-configuration.
  • Peer identification: A peer is uniquely identifiably by other peers across interfaces and sessions.
  • Multiple device support: The application needs to be able to run on different (Linux-based) platforms. The application will be tested on a number of devices such as the Neo FreeRunner, the Nokia N810 Internet Tablet running Maemo, and PCs.
  • Location updates: A peer can "track" another peer (if the peer allows it) which means that it notices a change in the location of the other peer.


  • Support for multiple interfaces: Interfaces can change during the run-time of the application and more than one interface can be active. Different peers can be visible on different interfaces.
  • Assisted peer-detection: The application should be able to detect peers that wouldn't been detected otherwise with the help of some sort of bootstrapping or pre-configuration.
  • Peer authentication: A peer requesting location information can be granted or denied this information based on a simple access control list.
  • Scalable: The application should support a big number of peers (hundreds to thousands) and scale well.


  • Google Maps support: A peer can use Google Maps to visualize the location of known peers.
  • Google Android support/Platform independent: The application can run on a multitude of mobile and non-mobile systems.
  • GPS support: The node uses realtime GPS data (if available) to update its location.