Bootstrap Service: current approaches

Peer-to-peer networks are a very attractive paradigm to obtain full decentralization. However most current p2p networks are not truly decentralized due to the problem of joining the p2p network, the so-called bootstrapping. In this mini-project we want to study the current approaches to address the bootstrapping problem and which are the current open issues on this topic. The final results should be a critical state of the art.

References:
    - M Jelasity, A Montresor, O Babaoglu "The Bootsptrapping Service"
    - M. Conrad, H. Hof "A Generic, Self-organizing, and Distributed Bootstrap Service for Peer-to-Peer Networks" in Self-Organizing Systems, Lecture note in Computer Science, 2007

Contact: Silvia Bonomi


SPLAY Experiment

SPLAY is a system that simplifies the prototyping and development of large-scale distributed applications and overlay networks. Unlike many existing tools, SPLAY covers the complete chain of distributed system design, development and testing chain: from coding and local testing to deployment, runtime control and monitoring. This mini-project is mainly experimental and we would like to understand how SPLAY works and which are its main features with respect to the development of distributed protocols.

References:
    - SPLAY web page: http://www.splay-project.org/

Contact: Silvia Bonomi


Security in peer-to-peer systems

P2P technology gained popularity in the last few years as a mechanism to share resource among users, without requiring centralized point. However, applications based on such decentralized architecture cannot apply a variety of security means and tools developed for the client-server system. Such a high risks involved in P2P systems draw attentions on various security issues. To goal of this work is to analyze the main threats to a P2P system and the possible method for protection.

References:
    - A Survey of Peer-to-Peer Security Issues, Dan S. Wallach
    - Security Issues in Peer-to-Peer Systems, Jung-Tae Kim, Hae-Kyeong, Park, Eui-Hyun Paik

Contact: Marco Platania


Security middleware for mobile applications

References:
    - Security Middleware for Mobile Applications, De Win et al.
    - A Flexible Security Architecture to Support Third-party Applications on Mobile Devices, L. Desmet, W. Joosen, F. Massacci, K. Naliuka, P. Philippaerts, F. Piessens, D. Vanoverberghe

Contact: Marco Platania


Middleware support for context-aware applications

With computing devices becoming more mobile and pervasive, a stronger interaction between an application and its challenging environment opens new horizons in terms of application functionalities. Location based applications, such as GPS navigation systems, are good example of how information provided to an application on its sorroundings offers new kinds of functionalities. The goal of this work is to classify middleware solutions for context-aware applications in mobile and ad hoc settings.

References:
    - A survey on context-aware middleware, K. Kjaer
    - A survey on context-aware systems, M. Baldauf, S. Dustdar, F. Rosenberg

Contact: Marco Platania


Enterprise service bus (ESB)

An ESB is a middleware that includes all the capabilities of both Service Oriented Architecture (SOA) and Event Driven Architecture (EDA) approaches as it supports synchronous as well as asynchronous interactions among one or many stakeholders. It acts as an intermediate layer to enable the communication and integration among large-scale and heterogeneous application processes. This mini-project should investigate existing ESB technologies with the aim of producing a critical state of the art (e.g., it can be important to highlight the main advantages and limitations introduced by ESB in realizing the SOA and EDA convergence).

References:
    - JBoss, "JBoss ESB", http://www.jboss.org/community/docs/DOC-10326
    - Apache Software Foundation, "ServiceMix", http://servicemix.apache.org/home.html

Contact: Giorgia Lodi


Trust in publish/subscribe systems

An important emerging aspect of publish/subscribe systems is security and trust. In particular, when dealing with trust, most of the systems face issues of granting access to system only to authorized participants. The scope of this mini-project is to face the problem from a different point of view: we want to obtain a critical state of the art on research works that focus on enforcing mutual trust between publishers and subscribers in terms of granting the authenticity and validity of data in the system.

References:
    - L. Fiege et al., "Security Aspects in Publish/Subscribe Systems", In Third Intl. Workshop on Distributed Event-based Systems, 2004.

Contact: Giorgia Lodi


Cloud computing technologies

Cloud Computing is defined as a pool of virtualized computer resources. Based on this virtualization the Cloud Computing paradigm allows workloads to be deployed and scaled-out quickly through the rapid provisioning of virtual machines or physical machines. In this mini-project we want to critically review existing Cloud Computing technologies.

References:
    - R. Buyya, C.Yeo, S. Venugopal, "Market-oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities", in High Performance Computing and Communications (HPCC-08), 2008.

Contact: Giorgia Lodi


The Map-Reduce Framework

Map-Reduce is a software framework introduced by Google to support distributed computing on large data sets on clusters of computers. The framework is inspired by map and reduce functions commonly used in functional programming. Goal of this mini-project is to understand the possibilities and limits of this framework and to provide toy-examples to show its potentials.

References:
    - J. Dean and S. Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters", OSDI 2004

Contact: Leonardo Querzoni


Google App-Engine

Google App Engine is a platform for building and hosting web applications on Google's infrastructure. Based on cloud computing technology, Google App Engine uses multiple servers to run an application and store data, and automatically adjusts the number of servers to handle requests reliably. Goal of this mini-project is to understand the technologies involved in the App Engine and provide toy-examples to show its potentials.

References:
    - Google App Engine Home Page

Contact: Leonardo Querzoni


The Chubby Lock Service for Loosely-Coupled Distributed Systems

Chubby is a lock service for loosely-coupled distributed systems. It is designed for coarse-grained locking and also provides a limited but reliable distributed file system. Key parts of Google's infrastructure, including Google File System, BigTable, and MapReduce, use Chubby to synchronize accesses to shared resources. Though Chubby was designed as a lock service, it is now heavily used inside Google as a name server, supplanting DNS.

References:
    - M. Burrows "The Chubby Lock Service for Loosely-Coupled Distributed Systems", OSDI 2006

Contact: Leonardo Querzoni


The Apache Hadoop framework

Apache Hadoop is a free Java software framework that supports data intensive distributed applications. It enables applications to work with thousands of nodes and petabytes of data. Hadoop was inspired by Google's MapReduce and Google File System (GFS) papers. Goal of this mini-project is to understand the technologies involved in Hadoop and provide toy-examples to show its potentials.

References:
    - Hadoop website

Contact: Leonardo Querzoni


Big Table, the Google File System and Amazon's Dynamo

BigTable is a compressed, high performance, and proprietary database system built on Google File System (GFS), Chubby Lock Service, and a few other Google programs. Dynamo is internal technology developed at Amazon to address the need for an incrementally scalable, highly-available key-value storage system. The technology is designed to give its users the ability to trade-off cost, consistency, durability and performance, while maintaining high-availability. Goal of this mini-project is to identify commonalities and differences among these different technologies for large scale data storage and retrieval.

References:
    - "Bigtable: A Distributed Storage System for Structured Data";Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber, OSDI 2006
    - "The Google File System"; Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung; SOSP 2003
    - Giuseppe De Candia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swami Sivasubramanian, Peter Vosshall and Werner Vogels, "Dynamo: Amazon's Highly Available Key-Value Store", SOSP 2007

Contact: Leonardo Querzoni


BFT: the story so far

A lot of progress have been done in the last years in the area of Byzantine Fault Tolerance. Goal of thi mini-project is to summarize the current state of the art in this area detailing current solutions, their performance, and unsolved issues that are subject of current/future research.

References:
    - "BFT: The TIme is Now" L. Alvisi, A. Clement, M. Marchetti, E. Wong, and M. Dahlin. LADIS 2008

Contact: Leonardo Querzoni


Sampling peers in dynamic environments

Current reasearch works in the area of Uniform Peer Sampling state some properties about the uniformity of the sample stream output of their roposed solutions only fr stable environments. Goal of this mini-project is to identify possible solutions to model the behaviour of existing PSSs in dynamic environments.

References:
    - (Please refer to the coresponding seminar slides)

Contact: Leonardo Querzoni


Securing publish/subscribe communications

The publish/subscribe communication paradigm is todays gaining more and more importance thanks to its ability to completely decouples interactions, thus supporting applications running in strongly dynamic environments. Enforcing security with this paradigm revealed to be a difficult task as security technologies usually add coupling to the interaction. Goal of this mini-project is to provide a complete state of the art on this topic.

References:
    - L. Fiege et al., "Security Aspects in Publish/Subscribe Systems", In Third Intl. Workshop on Distributed Event-based Systems, 2004.
    - Chenxi Wang, Antonio Carzaniga, David Evans, Alexander L. Wolf, "Security Issues and Requirements for Internet-Scale Publish-Subscribe Systems", HICSS 2002

Contact: Leonardo Querzoni


Population Protocols

Population protocols are used as a theoretical model for a collection of mobile agents that interact with one another when they are close together to carry out a computation. The movement pattern of these agents is unpredicctable, but the computation must eventually converge to a correct output in any schedule that results from that movement. The goal of this work is to survey results that describe what can be computed in the field of mobile networks by using the population protocol model.

References:
    - Even Small Birds are Unique: Population Protocols with Identifiers, R. Guerraui, E. Ruppert
    - When Birds Die: Making Population Protocols Fault-Tolerant, R. Guerraui, E. Ruppert, C. Delporte-Gallet, H. Fauconnier

Contact: Marco Platania


Gossip-based dissemination in manet

Gossip-based protocols have emerged as a viable approach to disseminate information reliably and efficiently in large scale systems. While most gossip protocols have been deployed in wired networks, their robustness (especially in the face of dynamic topologies) is appealing for MANETs. However, applying gossip protocols for wired networks in MANETs has several drawbacks, due to the diversity between these two environments. The aim of this work is to analyze the main drawbacks in applying gossip protocols for wired networks in MANETs and the possible solutions.

References:
    - Gossiping in Distributed Systems, A. M. Kermarrec, M. van Steen
    - Gossiping on MANETs: the Beauty and the Beast, R. Friedman, D. Gavidia, L. Rodrigues, A. C. Viana, S. Voulgaris

Contact: Marco Platania


Atomic snapshot object

Obtaining an instantaneous global picture of a system, from partial observations made over a period of time as the system state evolves, is a fundamental problem in distributed and concurrent computing. Snapshot objects try to address such issue by providing a shared memory partitioned into words written (updated) by individual processes, or instantaneously read (scanned) in its entirety.The aim of this work is to survey on current snapshot implementation in distributed systems by providing a critical analysis of the considered algorithms.

References:
    - Y. Afek, H. Attiya, D. Dolev, E. Gafni, M. Merritt and N. Shavit "Atomic snapshots of shared memory"

Contact: Silvia Bonomi


Shared objects and their power

An important issue in fault-tolerant asynchronous computing is the respective power of an object type with respect to another object type. This question has received a lot of attention, mainly in the context of the consensus problem where a major advance has been the introduction of the consensus number notion that allows ranking the synchronization power of base object types (atomic registers, queues, test&set objects, compare&swap objects, etc.) with respect to the consensus problem. The aim of this work is to survey on shared object implementation in distributed systems by providing a critical analysis of the considered algorithms.

References:
    - E. Gafni, M. Raynal, C. Travers, "Test & Set, Adaptive Renaming and Set Agreement: a Guided Visit to Asynchronous Computability"

Contact: Silvia Bonomi


Semantic overlay networks

Searching and retrieving content in very large network is a complex task. Semantic Overlay Networks (SONs) help this reaserch by providing logical clusterizzation of processes that maintain content depending on some specific criteria. Several approaches have been proposed to build and maintain semantic overlay networks and the aim of this work is to survey on such techniques.

References:
    - A. Crespo, H. Garcia-Molina "Semantic Overlay Networks for p2p Systems"
    - P. Fraigniaud, P. Gauron, M. Latapy "Combining the use of clustering and scale-free nature of exchanges into a simple and efficient P2P system"

Contact: Silvia Bonomi