DISI

Proposte di Prove Triennali e Tesi Specialistica
Gennaio 2009


Quanto segue si riferisce a 2 tesi per la Laurea specialistica da svolgesi presso il DISI e altre 2 proposte da svolgersi presso MOTRONICA (www.motronica.it) una societa' di Genova che si occupa di automazione e controllo macchine soprattutto per ambiti portuali.

Sul primo problema e' possibile ritagliare una Prova Triennale.

 

(1) Implementation of a set of functionalities for the management of an overlay network.

Introduction and problems

Voronoi diagrams are gaining attention in several P2P applications managing a wide number of distributed and mobile entities, such as resource discovery in auction-like networks or realization of networked virtual environments for distributed MMOGRP.   Some proposals have been made to organize P2P using Voronoi tassellation (see VON network), however the maintenance protocol is often heavy.  Clustering techniques can be used to decrease the overlay maintenance cost.

A solution

HyVonNe (Hybrid Voronoi Network) is a clusered architecture, where the space is partitioned in Voronoi regions, each one including a limited number of nodes managed by a Region Leader, that are created and deleted depending on the spatial density of the nodes.  The resulting two-layers structure (node space and Voronoi regions) is scalable and extendable, allows to reduce the propagation of the entity position updates in the network and to maintain the load balancing among regions.

Proposal

In order to evaluate HyVonNe behaviour, it is necessary to consider some form of simulation or emulation of such network.  To this aim we considered HyperCast, an API library to implement communication over a P2P network organized over a Delaunay triangulation (the dual of a Voronoi diagram).   The proposal is then to study HyperCast and to define an extention that allow to manage HyVonNe components.

The basic operation to be defined and implemented will be the  insertion, lookup (that is routing over hyvVonNe), and deletion of a node  and of a Leader (Voronoi Vertex).  Particular attention must be devoted to the concurrent aspects of such functionalities.

Further reading:

• Information on HyVonNe available at www.disi.unige.it/person/GianuzziV/2008-IJGUC.pdf and www.disi.unige.it/person/GianuzziV/HyVonNeCisis2008.pdf

• Information on the HyperCast software is available from www.cs.virginia.edu/hypercast.

Required Skills

HyperCast is written in Java, so a good knowledge of such a programming language is required. 
The tests of the added features must be performed using Virtual Machines, VmWare or User Mode Linux.

 


(2) Evaluation of RTP/RTCP protocols scalability and
behaviour under a many-to-many traffic model

 Introduction

The internet Real-time Transport Protocol (RTP) is a standard internet protocol for real time traffic delivery, such as audio or video. It is usually deployed on top of User Datagram Protocol (UDP) and used in conjunction with Real-time Transport Control Protocol (RTCP), which is used to monitor transmission statistics and overall quality.

RTP is a protocol born to support audio/video multicast conference over the internet. Today, it has been extensively used in unicast applications and is suitable for every application more sensitive to jitter and delay than packet loss, such as media streaming; it is the technical foundation at the heart of VoIP applications.

The problem

Standard RTP usage involves a very limited number of media streams,maybe involving a very large number of partecipants.

If a telco company wants to build a core communication network aimedat providing audio services based only on IP technology, the hosts of this network will have to cope with a potentially high number of different audio streams. For example, a base station in a cellular radio network will have an open connection for every mobile partecipanting in a call; another example could be a media gateway providing access to other private networks or the PSTN that must manage all calls to the outside.

What happens when a single host must open and maintain several RTPstreams, in the order of tens or hundreds? The RTP protocol is quite complex, specially on the receive side, performing operations such as synchronization and jitter calculations, error correction, etcetera. In particular, it should be interesting to understand how the synchronization methods scale and perform when a single host maintains several different open streams.

Proposal

The work could be organized in three distinct phases:

  1. A study of the state of the art regarding RTP:   

RTP is a complex protocol. First, a careful study of the standard should be carried out. Then, one or more open source implementations should be chosen, based on how much complete they are, and their   specific features should be understood, along with eventual differences from the standard.

  1. Construction of a testbed and data collection:

This phase involves the creation of an hardware and software   environment that recreates the situation described before, where  every host performs several RTP connections. This testbed must be used to collect proper data about RTP performance and scalability with this communication pattern, to understand if it could pose unexpected problems.

  1. Eventual problems, possibile solutions:

This phase should detail what parts of the RTP standard in this context are useless or counter-productive, define proposals to achieve better performance, and solutions to eventual problems risen in previous phases. If time remains, an RTP implementation could be modified to experiment some of the proposed modifications.

 

Sistemi Operativi Embedded: analisi della latenza di risposta su Linux RT

I sistemi embedded utilizzati in ambiente Automotive hanno requisiti molto stretti rispetto alla gestione delle latenze e dei tempi di riposta. In particolare le interfacce uomo macchina richiedono un feedback continuo all'utente per poter garantire che le informazioni siano sempre aggiornate e consistenti con la situazione in cui l'impianto sta lavorando.

Sui sistemi embedded piu'¹ moderni viene usato un sistema operativo completo e le sorgenti di latenza da tenere sotto controllo sono svariate, sia all'interno del kernel, sia nelle applicazioni utente.

Filoni di ricerca

- Strumenti di analisi prestazioni hard e soft real time
- Sistemi di profiling driver nel kernel Linux
- Sistemi di profiling spazio utente, applicativi grafici e librarie

Esercitazioni in laboratorio

- Ricompilazione kernel Linux con patch real time e analisi delle prestazioni tramite piccoli programmi scritti in C
- Utilizzo dei sistemi di profiling OProfile e SystemTap disponibili negliultimi kernel Linux con varie applicazioni grafiche
- Analisi delle prestazioni di un driver Ethernet

Obiettivo della tesi

L'obiettivo della tesi consiste nel trovare metodologie di sviluppo, sia a livello di linguaggi, che di algoritmi, che di paradigmi di programmazione, per migliorare la risposta in latenza (soft e hard real time) di un sistema embedded basato su architettura x86, ARM o altro.

Metodologia

La tesi si svolgera' presso la sede di Genova di Motronica, dove il candidato avra' accesso agli strumenti di sviluppo necessari.
Dopo essersi familiarizzato con il sistema embedded U-Vision, il candidato dovra' innanzitutto fare una valutazione delle prestazioni del sistema e delle sorgenti di latenza piu' importanti.
In seguito dovra' , in base a questo esempio concreto, sviluppare dei metodi di sviluppo volti a migliorare la risposta di tali punti critici. Dovra' infine applicare i metodi trovati per verificare quantitativamente le migliorie apportate.

Sara' possibile verificare praticamente ogni stadio di sviluppo della tesi sia in laboratorio, grazie ad un simulatore, sia sul campo, presso alcuni porti dove sono presenti sistemi di movimentazione di Reggiane Cranes and Plants.



Studio e realizzazione di un sistema  di localizzazione wireless per un parco di veicoli.

L'esatta localizzazione di un veicolo e' un problema fondamentale nei sistemi in mobilità . 
La ricerca ha prodotto negli anni molte soluzioni a questo problema, proponendo svariati sistemi di localizzazione.
Le diverse tecniche sfruttano differenti tipi di sensore: telecamere, ultrasuoni, sensori acustici, sensori magnetici (bussole), odometri, piattaforme inerziali, GPS ecc..
Anche i dispositivi di comunicazione wireless, di cui spesso sono dotati i veicoli, possono essere usati per la localizzazione;
in particolare e' spesso possibile conoscere la potenza del segnale radio ricevuto mediante la quale si puo' ricavare una stima della distanza dalla sorgente del segnale. Quindi, usando piu' sorgenti poste in posizioni note, tramite tecniche di multilaterazione e' possibile stimare la posizione del veicolo ricevente.

Questa soluzione ha il vantaggio di non richiedere sensori aggiuntivi per la localizzazione ma, sfrutta solamente l'hardware gia' presente per la comunicazione tra i veicoli.


Filoni di ricerca

- Sistemi di localizzazione non basati sul mondo GPS.
- Algoritmi di localizzazione basati sulla base dei tempi o sulla potenza del segnale o ibridi (es. Finger print, NNSS- Nearest Neighbors in Signal Space...).

Esercitazioni in laboratorio

- Utilizzo di particolari software di simulazione (RPS: Radiowave Propagation Simulator),
che permettono di costruire delle mappe di potenza di un ambiente, a partire dal suo layout, dalla posizione degli Access Point e degli ostacoli (es. radioplan,ns-2,...). 
L'esercitazione e di creare una mappa di potenza dei segnali da un mappa di termial container fornita da noi.
- Utilizzo e studio (performance) di algoritmi di localizzazione (es. NNSS) su una mappa creata con un RPS. 


Obiettivo della tesi

L'obiettivo della tesi e' quello di studiare o implementare un sistema di localizzazione per un parco di veicoli. 
Ciascun veicolo deve essere dotato di un dispositivo di comunicazione wireless che fornisce la potenza del segnale ricevuto.
I veicoli, partendo da posizioni note, devono autolocalizzarsi tramite lo scambio di informazioni e il rilevamento della potenza dei segnali radio ricevuti.

Metodologia

Il cadidato dovra' innanzitutto analizzare i seguenti stati dell'arte:
-Stato dell'arte dei sistemi di localizzazione non basati sul mondo GPS (es. skyhook(*)...)
-Stato dell'arte e implementazioni dei algoritmi di localizzazione (NNSS,..).

Successivamente il candidato deve studiare o sviluppare un algoritmo che permetta ad un parco macchine di autolocalizzarsi sfruttando la comunicazione wireless.
Inizialmente l'algoritmo viene simulato su PC, tramite programmi per la simulazione di reti di comunicazione mobili (es. ns-2) , RPS oppure realizzando un apposito simulatore in un linguaggio a scelta (C, C++, Java, Matlab ecc.).
Alla conclusione della tesi saranno effettuati dei tests nel mondo reale presso un porto dove sono presenti delle macchine della Reggiane Cranes and Plants.

(*)
http://www.skyhookwireless.com/howitworks/coverage.php
http://www.skyhookwireless.com/developers/sdk.php