CompSci 230: Winter 2011
Distributed Systems

List of Projects

A. Projects on Dissemination Systems

A1. Distributed Configuration Manager for P2P Dissemination System (2~3 students)

The goal of this project is to implement a DHT-based configuration manager for performing application layer multicasting over a set of distributed nodes. In a P2P system, nodes can join/leave dynamically, and the manager of the system will handle node's join/leave/update asynchronously. The manager implemented in Java will execute on multiple machines that communicate using the PASTRY API to store/retrieve data. Requirements: Client/Server programming, data structure programming, TCP/UDP socket programming techniques.

Project champions: Kyungbaek Kim (kyungbaekkim AT gmail DOT com)

A2. Simulator of GeoAware Multicasting System (2~4 students)

The goal of this project is to develop simulators for testing GeoAware Multicasting System whose goal is to guarantee that a node can disseminate a message to all nodes in a certain target region. The project will compare two types of systems: Proxy based system and Pure P2P system. Each system has its own base protocol to handle nodes join/leave, establish routing tables, split/merge zone and etc. Java or C++ is preferred. Proxy based system needs 1-2 students. Pure P2P system needs 1-2 students.

Project champions: Kyungbaek Kim (kyungbaekkim AT gmail DOT com)

A3. Testing Application Layer Multicast with Oversim (2~3 students)

The goal of this project is to test a bunch of application layer multicasting protocols with the Oversim simulator. There are protocols already implemented in the Oversim package, and we can use them for general testing. We will need to implement a protocol, PRM (Probabilistic Resilient Multicast) and compare it with other ones.

Project champions: Kyungbaek Kim (kyungbaekkim AT gmail DOT com)

A4. Simulator for understanding message propagation on social network (1~2 students)

The goal of this project is developing a simulator for testing message propagation over social networks that have multiple communication channels, e.g., phone, email, SMS, OSN and etc. The simulator will explore the performance of various kinds of message propagation (unicast, multicast, and broadcast) over social network channels with different characteristics. Java or C++ is preferred.

Project champions: Kyungbaek Kim (kyungbaekkim AT gmail DOT com)

B. Projects on Distributed Simulation

B1. Interoperable Distributed Simulation

Modeling and simulation is required in many areas of science and engineering, for example, for predicting the behavior of new systems being designed or for analyzing natural phenomena. These simulation systems often require collaborative effort from researchers with different domain knowledge and expertise, possibly at different locations. There are several benefits to distributed simulations:
  1. Reduced execution time - subdividing a large simulation computation into many subcomputations, and executing these subcomputations concurrently can reduce execution time.
  2. Geographical distribution - executing the simulation program on a set of geographically distributed computers enables one to create virtual worlds with multiple participants that are physically located at different sites.
  3. Fault tolerance - if one computer goes down, it may be possible for other computers to pick up the work of the failing machine, allowing the simulation computation to proceed despite the failure.
The goal of this project is to design and implement a distributed simulation. First, we study the evolution of distributed simulation tools and standards (e.g. DIS, ALSP and HLA). Then we take a small and simplified example (simulation model) and try to identify all basic issues for distributed simulation through a detailed case study implementation and development.

Project champions: Leila Jalali (jalalil AT uci DOT edu)

B2. Applicability of HLA for Distributed Simulation

The High Level Architecture (HLA) specification is a standard architecture initiated by the U.S. Department of Defense to support the interoperability among the distributed simulators. In this project we aim to develop a case study to build a distributed simulation using pre-existing simulation models integrated through HLA.While generally within the defence domain we can see a big drive in interoperability of simulation models and common application of HLA, we are not aware of much effort in other domains. It seems that HLA is still rarely applied as it stands now. In this project we want to investigate to find out the reasons behind this phenomenon. In the first part of the project we study HLA, its properties, and the existence of successful projects on integration through HLA. In the second part we build a distributed simulation using HLA and identify the problems and difficulties with HLA.

Project champions: Leila Jalali (jalalil AT uci DOT edu)

C. Projects on Mobile Systems

C1. Centralized or Decentralized? (2~3 students)

In this project, we will implement an application for transmitting data across mobile devices equipped with multiple access networks. Data in this system can be a short message (say 10 bytes). Nowadays, Android phones are equipped with 2 network interfaces: 3G network and IEEE 802.11 network. While 3G base station can communicate with all devices in its coverage, its data rate is low and its resources are valuable. IEEE 802.11 network has a much lower transmission range, but its data rate is very high (IEEE 802.11g supports up to 54 Mbps data rate) and its resources are not usually used. In our proposed system, we want to use IEEE 802.11 as much as possible and save 3G network's resources. Thus, two devices will communicate with each other using the 802.11 network in IEEE 802.11 transmission range (decentralized mode), rather than using 3G network (centralized mode). In our application, mobile nodes will notify their presence by periodically broadcasting beacons. Knowledge of Java and Android must be required.

Project champions: Ngoc Do (nmdo AT uci DOT edu)

C2. Video streaming over wireless networks (2~3 students)

H.264/SVC is a new video coding standard which supports efficiently video streaming over wireless networks in which bandwidth usually fluctuates. In this project, we will implement an application that streams video from a server (probably a laptop) to Android phones using H.264/SVC over WiFi networks. Knowledge of Java, socket programming and Android is required.

Project champions: Ngoc Do (nmdo AT uci DOT edu)

C3. Data distribution over hybrid cellular and ad hoc networks (2~3 students)

Pure cellular networks usually provide low throughput due to their low data rate. To improve throughput, people design a new kind of network: hybrid cellular and ad hoc network in which base station transmits data to some mobile devices which then forward the receiving data to their neighboring nodes. This kind of network even supports data distribution from a mobile device to another device through multi-hop path. In this project, you will implement a previous work, "ICAM: Integrated Cellular and Ad Hoc Multicast", for distributing data over hybrid cellular and ad hoc networks on a packet level simulator - Qualnet. To simplify our work, we need to implement only one of two algorithms proposed in the paper: Greedy algorithm or Near Optimal algorithm. Then you will run some experiments to see how much throughput is improved by hybrid networks compared to pure cellular networks?

Project champions: Ngoc Do (nmdo AT uci DOT edu)

C4. Cloud Based Framework for Rich Mobile Application (1~2 students)

In this project we are trying to use nearby data centers or public cloud to speed up your smart phone applications. We have considered two-tier model for cloud. The first one is the public and backbone clouds and the other one is private cloud and data centers. We proposed a middleware solution which optimally could breakdown the application workflow between cloud and smart phones. An example of an application using this middleware: we have considered an intensive image processing application. As part of this project, we will develop a service called Image Processing Web Service. By using some open source image processing libraries, we will make it available on the web as the web service. The main image processing functionality is to process the text image (using some available open source OCR), Image Format Conversion. The main responsibility of the student is to implement the component-based image processing web service and perform some experiments on it using nearby clouds or public clouds such as Amazon.

Project champions: Reza Rahimi (mohamadreza.rahimi AT gmail DOT com)

D. Projects on Energy harvesting Wireless Sensor Networks

Energy harvesting systems are able to harvest energy from the surrounding environment. One example is harvesting energy from the sun. In this project, we consider a network of sensor nodes, each powered by a solar cell. Sensor nodes collect data and send to a base station at some frequency/rate. A challenge is that solar energy varies greatly, both in term of location and time. The goal of these two projects is to understand the impact and exploit temporal and spatial availability of harvested solar energy on data transmission applications. The first step is to simulate this solar harvesting network in a network simulator assuming a simple application sensing and sending data at a fixed rate. You then measure performance by metrics such as actual data transmission rate, package loss… under different solar profiles (sunny day, rainy day, solar-exposed location, shadow location…).

D1. Project 1 (2-3 students)

In this project, we want to tackle challenges of harvesting energy systems from application/middleware perspective. The middleware will adapt and choose a suitable data transmission rate for each sensor rather than a fixed rate to exploit temporal and spatial availability of harvested energy. This paper is one example, "Steady and Fair Rate Allocation for Rechargeable Sensors in Perpetual Sensor Networks" by Kai-Wei Fan, Zizhan Zheng, Prasun Sinha. Implement your middleware in a network simulator, measure its performance and compare with the simple approach in the previous step.

Project champions: Nga Dang (ngad AT uci DOT edu)

D2. Project 2 (2-4 students)

In this project, we want to tackle the challenges of harvesting energy systems from MAC-layer perspective. A harvest-aware routing protocol should change and adapt routing paths/network topology according to available harvested energy at different nodes at different time. One example is "Analysis, Comparison, and Optimization of Routing Protocols for Energy Harvesting Wireless Sensor Networks" by David Hasenfratz, Andreas Meier, Clemens Moser, Jian-Jia Chen, and Lothar Thiele. Implement your protocol in a network simulator, measure its performance and compare with other proposed harvest-aware routing protocols from your literature survey and/or with other conventional routing protocols which are not harvest-aware.

Project champions: Nga Dang (ngad AT uci DOT edu)

E. Projects on Clustering Schemes in Multinetwork

A multinetwork environment consists wired network, wireless LAN, wireless sensor network, wireless mesh network, and wireless ad hoc network, etc. Nodes in multinetwork environment include mobile devices, sensors (fixed or mobile), wireless network components (access point, routers, mesh routers, and etc.). Devices communicate using specific wireless protocols such as 802.11, ad hoc protocol, mesh protocol and broadcast protocol. Much of the existing researches address organization and topology management in single wired or wireless network. An efficient framework for organizing nodes in multinetwork environment is needed. Our focus here is on dealing multiple wireless network than coexist in a given space to exchange data among nodes in a timely, reliable and efficient manner. We adopt clustering as the basic organization method in that frame work. In a clustering scheme the mobile nodes in an ad hoc network are divided into different virtual groups based on their geographic proximity. Under a cluster structure, mobile nodes may be assigned a different status or function, such as cluster head, cluster gateway, or cluster member. A cluster head normally serves as a local coordinator for its cluster, performing intra-cluster transmission arrangement, data forwarding, and so on. A cluster gateway is a non-cluster head node with inter-cluster links, so it can access neighboring clusters and forward information between clusters. A cluster member is usually called an ordinary node, which is a non-cluster head node without any inter-cluster links. Cluster scheme has several advantages: First, a cluster structure facilitates the spatial reuse of resources to increase the system capacity. The second benefit is the generation and spreading of routing information can be restricted in this set of nodes. Last, local changes need not be seen and updated by the entire network, and information processed and stored by each mobile node is greatly reduced. Clustering mechanisms can be designed to optimize various aspects of communication, i.e. reduced latency, messaging overhead, and/or energy consumption. The following projects focus on building clustering schemes that optimize latency and energy.

E1. Latency aware clustering (3-4 students)

Latency aware implies the clustering scheme will consider end to end latency as the most important performance goal. In this project, we will choose two latency aware clustering algorithms from highly-cited papers. Then we will comprise those polices with base line and analyze the results. NS2 will be used as the simulator platform.

Project champions: Zhijing Qin (zhijing.qin AT gmail DOT com)

E2. Energy efficient clustering (3-4 students)

Energy efficient implies reducing energy consumption without decreasing the transmission success rate. In this project, we will choose two energy efficient clustering algorithms from highly-cited papers. Then we will comprise those polices with base line and analyze the results. NS2 will be used as the simulator platform.

Project champions: Zhijing Qin (zhijing.qin AT gmail DOT com)