My research interests include distributed computing, object-oriented distributed programming, fault-tolerance, peer-to-peer and gossip protocols. My main goal is to develop protocols and systems that survive: to failures, to dynamism, to adversarial environments. During my Ph.D. years, and slightly after, my interest was on reliable group communication systems; in these days, I’m exploring the potentiality of gossip protocols in large-scale, dynamic distributed systems.
When you have a hammer, everything looks like a nail. I have a ”gossip” hammer: every problem looks solvable through a gossip protocol. Clearly this is not true, but it is interesting to see how many problems can be solved with the same algorithmic scheme. So far:
- entropy-reduction protocols for the computation of a large set of aggregate functions, including maximum and minimum, average, sum, product, geometric mean, variance, ranking, etc [73, 75, 69, 48, 36]
- size estimation 
- load balancing 
- protocols for organizing and managing structured topologies like super-peer based networks [72, 64, 55]
- generic topology management protocols 
- protocols for bootstrapping DHT topologies like Chord from scratch [68, 62]
- slicing protocol to obtain a ”slice” of nodes satisfying a given condition 
- scheduling in P2P video streaming 
- firefly-inspired heartbeat synchronization 
Online social networks (OSN) have attracted millions of users. This enormous success is not without problems; the centralized architectures of OSNs, storing the users’ personal data, provides ample opportunity to privacy violation. These problems have raised the demand for open, decentralized alternatives. We tackle the research question: is it possible to build a decentralized OSN over a social overlay, i.e., an overlay network whose links among nodes mirror the social network relationships among the nodes’ owners? Giuliano Mega, Gian Pietro Picco and myself started a preliminary study to understand whether one fundamental piece of OSN (dissemination of profile updates) can be implemented in a decentralized way . The first results are encouraging.
The real world is full of graphs. There are graphs hidden in the friendship relationships between people, in economic transactions, between strangers encountering each other in the streets, in the way gossip spreads through the people, and so on. Few years ago we know they were there, but we were not able to analyze them because the lack of data. Nowadays, however, most of the human activities are mediated by some electronic device, so large datasets describing these graphs have started to become available.
Analyzing these datasets could be difficult. Sometimes they are too large, sometimes they are distributed by nature. I’ve recently started studying distributed approaches to such analysis, together with Francesco De Pellegrini and Daniele Miorandi. We studied the problem of the distributed computation of k-core decomposition .
Peer-to-peer (P2P) and cloud computing, two of the Internet trends of the last decade, hold similar promises: the (virtually) infinite availability of computing and storage resources. But there are important differences: the cloud provides highly-available resources, but at a cost; P2P resources are for free, but their availability is affected by churn. Together with Luca Abeni, we are investing a novel novel approach for the construction of dependable applications, using the cloud to provide highly-available and durable services, while exploiting “free” P2P resources when available. The novelty of our idea stems from the clever combination of the gossip paradigm with a storage cloud, that allows to keep the monetary cost of the cloud always under control, in the presence of just one peer or with a million of them. These ideas have been presented in Kyoto during P2P’11 . Further results will be published in IWSOS’12 .
Scientists working in the area of distributed function optimization have to deal with a huge variety of optimization techniques and algorithms. Most of the existing research in this domain make use of tightly-coupled systems that either have strict synchronization requirements or completely rely on a central server, which coordinates the work of clients and acts as a state repository. The possibility of performing such optimization tasks in a P2P decentralized network of solvers has been investigated and explored, obtaining quite promising results. Marco Biazzini, a former Ph.D. student of mine, designed and developed GOOF, a ‘GOssiping Optimization Framework’ that aims to bridge the gap between the issues related to the design and deployment of large-scale P2P systems and the need to easily deploy and execute optimization tasks in such a distributed environment.
I’ve recently started at looking at the security implications of large-scale, decentralized, open distributed systems. This effort is part of an Italian-funded project called Autonomic Security. So far, we have dealt with the following subjects: