My research interests include distributed information systems, in particular publish/subscribe systems, databases, and operating systems. My thesis research focuses on extending traditional publish/subscribe systems in several dimensions. The abstract of my thesis is as follows:

   
   A publish/subscribe system filters and routes events from their 
   sources to multiple recipients according to each individual user's 
   interests. As a communication paradigm, publish/subscribe has unique 
   and powerful features such as anonymity, asynchrony, multicast, and 
   adaptability. As such, it has been a target of both scientific 
   research and commercial implementation in the past. However, 
   traditional publish/subscribe systems suffer from several limitations, 
   which we identify and address in this thesis. 
   
   After a brief taxonomy of current publish/subscribe technologies, we 
   present three types of enhancements. First, we extend system 
   architectures to include replication and partitioning. Replication 
   increases system robustness, but introduces consistency issues which 
   have to be dealt with. Workload partitioning allows the system to 
   handle complicated monitoring tasks, and to scale to high volume of 
   input data. We propose a method of partitioning that is universally 
   applicable and facilitates load balancing. Second, we introduce a 
   systematic way to allocate and maintain state information in 
   publish/subscribe servers, in order to efficiently handle a large 
   class of stateful subscriptions. Specifically, we extend the 
   subscription language with parameters, which are refreshed 
   automatically by the servers. Finally, we extend the 
   publish/subscribe scheme to mobile operating environments. We look at 
   the challenge of mobile users connecting and disconnecting frequently 
   from the core system. We also modify existing publish/subscribe 
   protocols to adapt to the ad-hoc mobile environment, whose unique 
   characteristics demand a fresh look at even the fundamental premises 
   of current systems. 
 

Prior to joining the database group, I did research on operating systems with Professor Mendel Rosenblum. I worked on writing firmware and system software for the Stanford FLASH multiprocessor prototype. I also worked on the Cellular Disco virtual machine monitor.

Click here to view my publications list.