My research inte­rests inclu­de distri­bu­ted com­pu­ting, object-orien­ted distri­bu­ted pro­gram­ming, fault-tole­ran­ce, peer-to-peer and gos­sip pro­to­cols. My main goal is to deve­lop pro­to­cols and systems that sur­vi­ve: to fai­lu­res, to dyna­mi­sm, to adver­sa­rial envi­ron­men­ts. During my Ph.D. years, and slightly after, my inte­re­st was on relia­ble group com­mu­ni­ca­tion systems; in the­se days, I’m explo­ring the poten­tia­li­ty of gos­sip pro­to­cols in lar­ge-sca­le, dyna­mic distri­bu­ted systems.


When you have a ham­mer, eve­ry­thing looks like a nail. I have a ”gos­sip” ham­mer: eve­ry pro­blem looks sol­va­ble throu­gh a gos­sip pro­to­col. Clearly this is not true, but it is inte­re­sting to see how many pro­blems can be sol­ved with the same algo­ri­th­mic sche­me. So far:

  • entro­py-reduc­tion pro­to­cols for the com­pu­ta­tion of a lar­ge set of aggre­ga­te func­tions, inclu­ding maxi­mum and mini­mum, ave­ra­ge, sum, pro­duct, geo­me­tric mean, varian­ce, ran­king, etc [7375694836]
  • size esti­ma­tion [40]
  • load balan­cing [74]
  • pro­to­cols for orga­ni­zing and mana­ging struc­tu­red topo­lo­gies like super-peer based net­works [726455]
  • gene­ric topo­lo­gy mana­ge­ment pro­to­cols [46]
  • pro­to­cols for boo­tstrap­ping DHT topo­lo­gies like Chord from scratch [68,  62]
  • sli­cing pro­to­col to obtain a ”sli­ce” of nodes sati­sfy­ing a given con­di­tion [54]
  • sche­du­ling in P2P video strea­ming [37]
  • fire­fly-inspi­red heart­beat syn­chro­ni­za­tion [59]

A sum­ma­ry of the poten­tia­li­ty of this approach can be found in [49]; inter­di­sci­pli­na­ry aspec­ts of gos­sip are discus­sed in [56].

 Decentralized Online Social Networks

Online social net­works (OSN) have attrac­ted mil­lions of users. This enor­mous suc­cess is not without pro­blems; the cen­tra­li­zed archi­tec­tu­res of OSNs, sto­ring the users’ per­so­nal data, pro­vi­des ample oppor­tu­ni­ty to pri­va­cy vio­la­tion. These pro­blems have rai­sed the demand for open, decen­tra­li­zed alter­na­ti­ves. We tac­kle the research que­stion: is it pos­si­ble to build a decen­tra­li­zed OSN over a social over­lay, i.e., an over­lay net­work who­se links among nodes mir­ror the social net­work rela­tion­ships among the nodes’ owners? Giuliano Mega, Gian Pietro Picco and myself star­ted a pre­li­mi­na­ry stu­dy to under­stand whe­ther one fun­da­men­tal pie­ce of OSN (dis­se­mi­na­tion of pro­fi­le upda­tes) can be imple­men­ted in a decen­tra­li­zed way [28]. The fir­st resul­ts are encou­ra­ging.

Distributed Analysis of Large-Scale Graphs

The real world is full of gra­phs. There are gra­phs hid­den in the friend­ship rela­tion­ships bet­ween peo­ple, in eco­no­mic tran­sac­tions, bet­ween stran­gers encoun­te­ring each other in the stree­ts, in the way gos­sip spreads throu­gh the peo­ple, and so on. Few years ago we know they were the­re, but we were not able to ana­ly­ze them becau­se the lack of data. Nowadays, howe­ver, most of the human acti­vi­ties are media­ted by some elec­tro­nic devi­ce, so lar­ge data­se­ts descri­bing the­se gra­phs have star­ted to beco­me avai­la­ble.

Analyzing the­se data­se­ts could be dif­fi­cult. Sometimes they are too lar­ge, some­ti­mes they are distri­bu­ted by natu­re. I’ve recen­tly star­ted stu­dy­ing distri­bu­ted approa­ches to such ana­ly­sis, toge­ther with Francesco De Pellegrini and Daniele Miorandi. We stu­died the pro­blem of the distri­bu­ted com­pu­ta­tion of k-core decom­po­si­tion [29].

The clash of the buzzword titans: P2P vs Cloud

Peer-to-peer (P2P) and cloud com­pu­ting, two of the Internet trends of the last deca­de, hold simi­lar pro­mi­ses: the (vir­tual­ly) infi­ni­te avai­la­bi­li­ty of com­pu­ting and sto­ra­ge resour­ces. But the­re are impor­tant dif­fe­ren­ces: the cloud pro­vi­des highly-avai­la­ble resour­ces, but at a cost; P2P resour­ces are for free, but their avai­la­bi­li­ty is affec­ted by churn. Together with Luca Abeni, we are inve­sting a novel novel approach for the con­struc­tion of depen­da­ble appli­ca­tions, using the cloud to pro­vi­de highly-avai­la­ble and dura­ble ser­vi­ces, whi­le exploi­ting “free” P2P resour­ces when avai­la­ble. The novel­ty of our idea stems from the cle­ver com­bi­na­tion of the gos­sip para­digm with a sto­ra­ge cloud, that allo­ws to keep the mone­ta­ry cost of the cloud always under con­trol, in the pre­sen­ce of just one peer or with a mil­lion of them. These ideas have been pre­sen­ted in Kyoto during P2P’11 [27]. Further resul­ts will be publi­shed in IWSOS’12 [26].

Distributed optimization

Scientists wor­king in the area of distri­bu­ted func­tion opti­mi­za­tion have to deal with a huge varie­ty of opti­mi­za­tion tech­ni­ques and algo­ri­thms. Most of the exi­sting research in this domain make use of tightly-cou­pled systems that either have strict syn­chro­ni­za­tion requi­re­men­ts or com­ple­te­ly rely on a cen­tral ser­ver, which coor­di­na­tes the work of clien­ts and acts as a sta­te repo­si­to­ry. The pos­si­bi­li­ty of per­for­ming such opti­mi­za­tion tasks in a P2P decen­tra­li­zed net­work of sol­vers has been inve­sti­ga­ted and explo­red, obtai­ning qui­te pro­mi­sing resul­ts. Marco Biazzini, a for­mer Ph.D. stu­dent of mine, desi­gned and deve­lo­ped GOOF, a ‘GOssiping Optimization Framework’ that aims to brid­ge the gap bet­ween the issues rela­ted to the desi­gn and deploy­ment of lar­ge-sca­le P2P systems and the need to easi­ly deploy and exe­cu­te opti­mi­za­tion tasks in such a distri­bu­ted envi­ron­ment.

Four papers have been publi­shed on this sub­ject [53414533].

Autonomic security

I’ve recen­tly star­ted at loo­king at the secu­ri­ty impli­ca­tions of lar­ge-sca­le, decen­tra­li­zed, open distri­bu­ted systems. This effort is part of an Italian-fun­ded pro­ject cal­led Autonomic Security. So far, we have dealt with the fol­lo­wing sub­jec­ts:

  • Secure peer sam­pling [4235].
  • Security in video strea­ming ser­vi­ces [30]
  • Botnet mode­li­za­tion [34]