329, CIT Building. Office hours by appointment.
Box 1910, Brown University
115 Waterman St

Providence, RI 02912
401-863-6533 (voice) 401-863-7657 (fax)
DBLPGoogle ScholarMSFT Academic Search


I am an assistant professor at Brown University's Computer Science Department.

My work revolves around distributed systems, networking, and operating systems. Broadly, I am interested in understanding the behavior of systems with many components for enabling new functionality, and making sure they work as they should. In particular, I'm interested in how to build, operate, and diagnose large scale Internet systems; and in networking and power management in embedded distributed systems such as sensor networks.


Our paper "Growth Analysis of a Large ISP" was accepted at IMC!
Highly successful internship season for students! Andrew is going to the SDN group at Google (with Amin Vahdat), Jeff is going to IBM Research in Austin (with Collin Dixon), Jonathan is going to MSR Redmond (with Peter Bodik)!
We are going to Sigcomm 2013 to present our paper on Participatory Networking! Congrats to Andrew Ferguson, Arjun Guha, Chen Liang, and Shriram Krishnamurthi!
Chen Liang accepted as a PhD student at Duke University! Congrats, Chen!
Teaching Advanced Networking as a special topics class, focusing on Datacenter Networking and SDNs.
Our paper "Application Modes" accepted for publication at HotMobile 2013!
Big welcome to Jeff Rasley (new PhD student), Jonathan Mace (new advisee), and Matheus Caldas (visiting PhD student from UFMG, Brazil)!
Teaching CS168, Computer Networks this spring.
Spending the summer at MSR Redmond, with Victor Balh's group
Our paper PARMA: A Parallel Randomized Algorithm for Approximate Association Rule Mining in MapReduce accepted at CIKM 2012!
Program Committee Member for NSDI'13!
Our paper Hierarchical Policies for Software Defined Networks accepted for publication at the HotSDN 2012 workshop, co-held with Sigcomm 2012!
Nathan's paper C-MR: Continuously Executing MapReduce Workflows on Multi-Core Processors accepted for publication at the MAPREDUCE 2012 workshop!
Andrew presented Jockey: Guaranteed Job Latency in Data Parallel Clusters at Eurosys 2012. Work with Srikanth Kandula and Peter Bodík from Microsoft Research.
Our paper Participatory Networking accepted for publication at HotICE'12, co-held with NSDI'12.
External Review Committee Mdtber for OSDI 2012!
Google funds research on distributed tracing!
Teaching CSCI2950-U in Fall 2011, focusing on Large-scale data intensive computing
I will be co-chairing HotClouds'12 with Dave Maltz, from MSR!
Solomon Award from Brown University to work on energy managdtent in Wireless Sensor Networks!
NSF funds research on security in Cloud Computing.
Program committee for NSDI'11!
Intel funds research on 'Whole-platform Energy Usage of Software Activities'
Andrew's poster on block placdtent in Hadoop accepted at the USENIX ATC
Teaching CSCI1680 'Computer Networks' in Spring 2011
Teaching CSCI2950-U 'Special Topics on Networking and Distributed Systdts' in Fall 2010
Experiences with X-Trace paper presented on INM/WREN 2010


Spring 2013
CSCI2950-U Advanced Networking: SDNs and Datacenter Networking
Fall 2012
CSCI1680 Computer Networks
Spring 2011
CSCI1680 Computer Networks
Fall 2011
CSCI2950-U Large-Scale Data-Intensive Computing
Spring 2011
CSCI1680 Computer Networks
Fall 2010
CSCI2950-U Special Topics on Networking and Distributed Systems
Fall 2009
CSCI2950-U Special Topics on Networking and Distributed Systems

Research Projects

Participatory Networking

The PANE project aims to allow end-user applications to help in the configuration of a network. PANE is both a paradigm and a prototype SDN controller that solves the problem of privilege delegation and conflict resolution when unprivileged users are given read and write access to network services, configuration, and state. Read more...

Mobile Device Energy

We are interested in improving the battery life of mobile devices. Today's mobile devices' need for energy far surpasses their battery capacity to allow for unrestricted use and long battery life. Users must prioritize their usage to avoid running out of battery. However, for a user to do this efficiently is almost impossible: it requires knowledge of the energy and power characteristics of the applications and of the hardware components of the particular phone. This leads to a poor experience and to frustration. We propose an OS abstraction, Application Modes, that allow applications and the OS to collaborate in exposing to the user only what she cares about and understands: the tradeoff between battery lifetime and functionality. Read our HotMobile paper for an introduction to our approach.

Tracing Distributed Systems

Distributed systems are growing ever more complex, spanning many layers of abstraction, machines, and administrative domains, and integrating code written, deployed, and operated by different people. In these scenarios it becomes increasingly difficult to understand how a system behaves, and, especially, how and why it fails. Causal tracing is a technique that captures the causality of events across all of these components, layers, and machines, and eases the task of understanding complex distributed systems. There are a multitude of causal tracing systems and frameworks, including many research and industry projects. Examples include our own X-Trace project [GitHub], as well as systems such as Google's Dapper, Twitter's Zipkin, and Cloudera's HTrace.

We are interested in how to extract information from both complex individual traces and across traces, to identify root causes of problems, detect unexpected anomalies, and make tracing more efficient, by biasing trace sampling and detail capture to maximize trace information on a fixed performance budget.

Older Projects


Fine-grained tracking of energy usage in wireless sensor networks, Quanto determines which applications used how much energy on each hardware component, even for applications that span multiple network nodes.

Collection Tree Protocol

Robust all-to-few routing in wireless sensor networks, CTP is de-facto routing protocol for TinyOS 2.x, and formed the basis for IETF's RPL (Routing over Low Power and lossy networks) - RFC 6550.

Beacon Vector Routing

BVR is an anchor-based pseudo-geographical any-to-any routing protocol for wireless sensor networks.


I am really very fortunate to work with an amazing set of students!

Graduate Students


Selected Publications   All Publications

Professional Activities

Conference Organization

Doctoral Symposium, IC2E 2014
Program Co-Chair: HotCloud'12

Technical Program Committee

HotMobile 2014, Eurosys'14 Ext. Review Committee
OSDI'12 Ext. Review Committee, Middleware'12, HotDep'12, MAD'12, IGCC'12, DSN'12
NSDI'11, DSN'11, CoNEXT'11, HotPower'11, HotCloud'11, NetDB'11


You can find some of my photography at 500px. I almost never tweet as @rodrigo_fonseca. You can also find me on Google+.

My wife Paula runs an amazing party design business, Festiva Party Design, check it out!