The projects mostly include my doctoral work and backup grid project for Symantec Corporation. The research was centered about designing and maintaining a communication connection technique to support high mobility and large scale environment. Communication connections need to adapt to frequent unpredictable topology changes due to the mobility, energy constraints, and limited computing power of mobile device. When a disconnection occurs, reconnection must be established quickly with little overhead.

Many routing protocols have been proposed for MANETs that follow a connection-oriented approach.  By connection-oriented, we mean that mobile nodes need to establish a connection using either route discovery or a routing table before two mobile units can communicate. In practice, the mobility of some of the nodes can be high, causing frequent reconnections.  Such overhead wastes energy and causes discontinuity in the communications.  The jitter effect is particularly undesirable for streaming applications such as voice and video.  Reducing the frequency of reconnections is a hard problem as it is an innate property of mobility beyond the control of any routing algorithm.  This fact has motivated us to avoid using any “fixed” connections at all.  In our proposed approach [5] and [6], the network area is divided into small non-overlapping grid cells. Instead of maintaining a hop-by-hop route between the source and destination node, the source selects a list of grid cells that form a “connecting” path between the source and destination.  From a different perspective, each grid cell can be viewed as a virtual router in the sense that any physical router (i.e., a mobile node) currently within the virtual router can alternate in forwarding data toward the next virtual router.  The communication path consisting of consecutive virtual routers form a virtual link.

 

Many works have pointed out that the impact of malicious and selfish users must be carefully investigated. The selfish nodes are most concerned about their energy consumption and intentionally drop packets to save power.  The purpose of malicious node is to attack network using various intrusive techniques.  In general, nodes in an ad hoc network can exhibit Byzantine behaviors.  That is, they can drop, modify, or misroute data packets.  As a result, the availability and robustness of the network are severely compromised.

                 Existing cooperation enforcement techniques cannot be adapted for some of recent advance in routing protocols.  In this project, we address the security and cooperation issues for Virtual Router approach by proposed an efficient and  on-demand 3CE (3-Counter Enforcement) scheme [2] and  to enforce collaboration. Since the Virtual Router approach addresses highly dynamic networks (i.e., vehicle-to-vehicle networks), the existing misbehaving-node detection techniques are not suitable. Our approach supports this type of routing protocol under high mobility environments. Each node maintains three counters to represent its own status (i.e., reputation).  Since nodes only determine their neighboring nodes’ counters information when a location discovery phase, no additional information is needed under a normal operation (i.e., nodes behave normally). With large number of nodes and high mobility, the proposed approach enforces the cooperation on-demand with minimum increase of delay.

Design and implement a Graduate Teaching Assistant Information System using Microsoft Access. Type a description of the project, client, or activity. Change the picture to one of your own, such as a picture of the project.

Design and implement a compiler for a subset of the C language using Microsoft Visual C Studio.   The software includes basic compiler functions such as lexical analysis, syntax analysis, syntax-directed translation, semantic analysis, intermediate code generation, code generation, and code optimization.

In the virtual router approach, performance suffers from packet drops since traffic congestion is not considered in the packet forwarding policy.  A standard solution is to leave congestion control to the MAC layer.  When serious congestion is confirmed, the source node is informed to search for another route.  This simple approach incurs delay, computation overhead, and packet losses.  These problems become more visible in traffic-intensive environments such as multimedia applications, where congestion is more probable and the negative impact of packet loss on the service quality is of more significance.  Better solutions for congestion have been proposed (e.g., CADV, CRP, DLAR, extension-AODV, and extension-DSR).  These schemes consider congestion in initial routing to avoid the aforementioned problems.   Similar techniques are not available for connectionless-oriented MANETs.  In fact, it is difficult to adapt the existing techniques since there is no hop-by-hop route in connectionless-oriented routing.  In this project, we proposed a cross-layer design, called Dynamic Route Diversion (DRD) [1], for connectionless-oriented MANETs.  DRD improves the connectionless approach by taking into consideration traffic congestion in order to minimize packet drops.   This is achieved by taking into account the workload of individual virtual routers, and dynamically reroute packets as necessary to prevent virtual router overloaded.  The simulation results indicate that DRD offers significant performance gain by achieve high successful packet delivery rate and low end-to-end delay with minimum increases in control overhead. Furthermore, we observed the workload more balanced and evenly distributed among the mobile hosts resulting in longer life spent for the network.

Virtual Router (Connectionless) Approach to MANET

Computer Compiler (class project - Computer Architectures)

Relational Database System (class project - Database Systems)

Cooperation Enforcement in a Highly Dynamic MANET

Dynamic Route Diversion in MANET

Project List

Ph.D -  All But Dissertation

Yaohua (Danny) Ho

 

Various organizations face an explosive growth of data that must be protected and backup.  This challenge is made more difficult by the movement from stand-alone server backup to backup over the local area network (LAN) and by the need to automatically manage multiple backup servers efficiently for concurrent backup jobs.  In this project, we proposed a novel software approach to backup service [3], where application servers provide their unused resource to participate in a virtual backup environment.  This software approach offers organization a scalable, robust, efficient, and economical solution to doing backups and restores across a distributed organization. The experimental results confirm that our prototype can significantly reduce the storage and communication costs, and achieve better fault tolerance and workload balance.

Backup Grid System for Syamntec® Corporation

In terms of intelligent vehicles, I have been working vehicle-to-vehicle communications.  The vehicles ability to “talk” among themselves and/or with the infrastructure has a vast potential to improve transportation efficiency. Wireless communication protocols are critical for these applications.  In this project, we adapt the Virtual Router to vehicular networks [7] in a city environment with fast moving nodes (e.g., vehicles on streets) and large obstacles (e.g., office buildings). Fast moving nodes result in frequent topology changes. Large buildings surrounded by relative narrow streets allow only a short window of communication among nodes (meaning established hop-by-hop routes do not last long). Large buildings also obstruct straight line paths between nodes (meaning selection of closest nodes or nodes on straight line geographical path would not work).  The performance of this new solution is essentially unaffected by the network environment.

Communication Protocols for Intelligent Vehicles

Design and implement software, using C/C++ on a SUN machine, to simulate a simple operating system with basic functions such as bootstrapping, deadlock handling, and process synchronization.

Operating System Simulator (class project - Operating Systems)

Implement software, in Microsoft Visual C Studio, to model neuron as point electric circuit to simulate how human brain gets input, analyzes, and responds.  This system also includes a back-propagation network to simulate how brain learns and memorizes things.

Simulation of Neuron Model (class project - Artificial Intelligent)