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

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

About

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.

News

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

Teaching

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

Quanto

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.

Students

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

Graduate Students

Alumni

Selected Publications   All Publications

Professional Activities

Conference Organization

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

Technical Program Committee

2014
HotMobile 2014, Eurosys'14 Ext. Review Committee
2013
NSDI'13 PC, TRIOS, SOCC'13
2012
OSDI'12 Ext. Review Committee, Middleware'12, HotDep'12, MAD'12, IGCC'12, DSN'12
2011
NSDI'11, DSN'11, CoNEXT'11, HotPower'11, HotCloud'11, NetDB'11
2010
...

Personal

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!