My research is mostly in the field of
distributed systems.
Loosely defined, this encompasses work in operating systems, runtime
systems, and distributed object and database systems.
In all cases, our approach is to identify problems, propose solutions
in the form of specific policies and mechanisms, and then empirically
evaluate them.
We are systems builders: very few projects end in analysis or
simulation.
The systems that we study often operate in fluid, dynamic
environments.
Simply put, my group tries to make systems operate better in such
circumstances.
Central to our approach is the notion of building systems that
transparently adapt applications to changing conditions.

Current work:

T.Rex is based on the premise that data sharing platforms
need to be dynamic, expressive, and user-centric.
Further, we argue that such platforms need to include access control
and the ability to enforce multiple consistency models, even in
seemingly benign environments like the home.
We are currently building a prototype of T.Rex that will run on linux boxes,
macs, and iOS devices.

Flow is a distributed object
system that adaptively replicates blob pools independently from upper
layers, which include a versioning file system (FlowFS), and
will soon include object and DB interfaces.

ChitFS is a distributed file system
based on the chit, a flexible and efficient form of capabilities.

Spore seeks to build
reliable and secure data systems on untrusted substrates. We rely only on untrusted
put/get functionality for immutable
objects. Hence, this underlying substrate could be
anything from a P2P system running on end user home machines to one
of the commercial cloud providers.