Sorry, you need to enable JavaScript to visit this website.

Distributed Systems

Distributed Systems


This area studies systems formed from multiple cooperating computers. This includes the analysis, design, and implementation of distributed systems, distributed middleware, and computer networking protocols, including security.


Selected Research Projects

A Bloom filter for longest prefix matching
We develop a new Bloom filter called the length-aware Bloom filter for multiple pattern matching problems like longest prefix matching in IP lookup at routers.

A Crowdsourcing infrastructure for Deaf and Hard-of-Hearing Students
The goal of this project is to develop a pervasive computing infrastructure that provides enhanced support services to deaf and hard-of-hearing students using crowdsourcing.

An OpenFlow-enabled Network Intrusion Detection Using Bloom Filters
We develop a network intrusion detection system that can test packets nearly at line speed with relatively high accuracy using a Bloom filter for packet filtering. Our system is implemented on an OpenFlow-enabled switch in which control and data planes are separated, so that the system is easily extensible.

Model-driven Human Mobility Analysis and Prediction
As we continue to shift everyday computing to mobile and wearable devices, user’s location is one of the most important context information. When it is handled properly, we can construct mobility models and predictive algorithms that help us to understand our behavior and to preemptively allocate resources. In this project, we are developing models and algorithms that enable us to exploit the full potentials of our mobility data.

Opportunistic Networks and Computing
Opportunistic contacts pave the way for sharing resources among devices to deploy applications. We are investigating the feasibility of service execution in opportunistic environments.

Parallel Java 2
The Parallel Java 2 Library (PJ2) is a Java class library for writing parallel programs in 100% Java. PJ2 supports parallel programming on multicore parallel computers and on clusters of multicore nodes.

Pervasive and mobile systems
Pervasive Computing is about exploiting ubiquitous computing and communication resources in the physical environment to enhance user quality of life. In particular our focus is on creating application level services and making information available anytime, anywhere and anyhow to users. We have developed several middleware paradigms for pervasive computing - facilitating devices resources to applications, scheduling and distributing tasks in mobile systems, providing incentivizing mechanisms and masking unevenness.

Traffic route guidance using prediction
In this project, we develop a micro-level vehicle simulator to show that traffic routing instability can be mitigate by incorporating traffic prediction based on current traffic conditions and routing information. We investigate three routing algorithms: static routing, dynamic routing, and dynamic routing with prediction.