We work on fundamental questions regarding the design and construction of practical and dependable network systems. Our core interest is the functionality deployed inside the network infrastructure, e.g., inside Internet routers, data-center switches, or intermediate nodes in a sensor network. We aim to determine what functionality should be deployed inside vs. on top of these network elements—when should the network support sophisticated packet processing vs. being merely a pipe for packets? We also work on how this functionality should be implemented, e.g., should the network process packets on customized hardware or on general-purpose processors? In short, our research goal is to identify and build the right network layer for different communication architectures.

Research Projects