End system multicast: an architectural infrastructure and topological optimization
Although IP multicast has been proposed and investigated for years, there are major problems inherent in the IP multicasting technique, e.g. difficulty to scale up the system, difficulty in allocating a globally unique multicast address, complexity in supporting higher level features such as reliable data transfer and congestion/flow control, more importantly, difficulty to deploy on the current Internet infrastructure due to necessity to change many core routers. Recently, end-system multicast (ESM) has been proposed as an alternative solution so that multicasting services can be quickly deployed. In this paper, we consider the'architectural' and 'optimization' issues on designing an ESM-tree. Specifically, we present a distributed algorithm on how to create and maintain an ESM-tree. We propose a distributed algorithm to perform tree optimization (TO) so that an ESM-tree can dynamically adapt to the changing network condition (e.g. drop in transfer bandwidth) so that the nodes within an ESM-tree can receive data more efficiently. The distributed algorithm has the important theoretical properties that at all times, a tree topology can be maintained and any node joining, leaving, as well as any TO operation will not 'partition' the underlying ESM-tree. Therefore, our work can be used to provide an efficient architectural infrastructure for ESM services. We have implemented a prototype ESM system and carried out experiments to illustrate the effectiveness and the performance gains of our ESM optimization protocol.

title: Characterizing flows in large wireless data networks
abstract: Several studies have recently been performed on wireless university campus networks, corporate and public networks. Yet little is known about the flow-level characterization in such networks. In this paper, we statistically characterize both static flows and roaming flows in a large campus wireless network using a recently-collected trace. For static flows, we take a two-tier approach to characterizing the flow arrivals, which results a Weibull regression model. We further discover that the static flow arrivals in spatial proximity show strong similarity. As for roaming flows, they can also be well characterized statistically.We explain the results by user behaviors and application demands, and further cross-validate the modeling results by three other traces. Finally, we use two examples to illustrate how to apply our models for performance evaluation in the wireless context.

title: An architectural infrastructure and topological optimization for end system multicast
abstract: Although IP-multicast has been proposed and investigated for the some time, there are major problems inherent in the IP-multicasting technique, for example, scalability problems, difficulty to allocate a globally unique multicast address, complexity to support higher level features such as reliable data transfer congestion/flow control and security, and more importantly, deployment problem due to architectural changes to core routers. Recently, end-system multicast (ESM) has been proposed as an alternative solution so that multicasting services can be quickly deployed. In this paper we consider the "architectural" and "optimization " issues on designing an ESM-tree. Specifically, we present a distributed algorithm on how to create and maintain an ESM-tree. We also propose a distributed algorithm to perform a tree optimization (TO) so that an ESM-tree can dynamically adapt to the changing network condition (e.g., drop in transfer bandwidth) so that nodes can receive the multicast data more efficiently. The propose distributed algorithm has the theoretical properties that at all times, a tree-topology can be maintained and that any node joining, leaving, as well as any tree optimization operation will not "partition" an ESM-tree. Therefore, our work can be used to provide an efficient architectural infrastructure for ESM services. We have implemented a prototype ESM system and carried out experiments to illustrate the effectiveness and performance of our ESM optimization protocol.

title: A study of the short message service of a nationwide cellular network
abstract: In recent years, cellular networks have experienced an astronomical increase in the use of Short Message Service (SMS), making it a popular communication means for inter-personal as well as content provider-to-person usage. Yet little is known about the traffic and message user behavior in real SMS systems. In this paper, we present a measurement study of SMS based on traces collected from a nationwide cellular carrier during a three-week period. We characterize message traffic at both the message level and the conversation thread level. We also examine the "store-and-forward" mechanism of SMS and present initial measurements on how messages are actually delivered.

title: A Distributed Approach to Musical Composition
abstract: Current techniques for automated composition use a single algorithm, focusing on one aspect of musical generation. In our system we make use of several algorithms, distributed using an agent oriented middleware, with each specialising on a separate aspect of composition. This paper describes the architecture and algorithms behind this system, with a focus on the agent framework used for implementation. We show early results which encourage a future application of this framework in automated music composition and analysis.

title: Design patterns for games
abstract: Designing a two-person game involves identifying the game model to compute the best moves, the user interface (the "view") to play the game, and the controller to coordinate the model and the view. A crucial task is to represent the algorithms used in their highest abstract forms. This can prove to be a difficult and subtle endeavor. It is made easier however by the use of good object-oriented (OO) design principles to help maintain a high level abstract viewpoint during the design process. The state pattern is used to represent the game board and is coupled with the visitor pattern to provide state-dependent, variant behaviors. The min-max algorithm and its variants are implemented as the strategy pattern, which allows flexible and extensible computational capability. Careful analysis is performed to properly abstract the interactions between the model and the view. The command design pattern is used to provide callback services between the model and the view. Leading students through this design process enables them to learn algorithms and architectures that easily scale to full-sized applications.

title: Real-Time Adaptive Hand Motion Recognition Using a Sparse Bayesian Classifier
abstract: An approach to increase adaptability of a recognition system, which can recognise 10 elementary gestures and be extended to sign language recognition, is proposed. In this work, recognition is done by firstly extracting a motion gradient orientation image from a raw video input and then classifying a feature vector generated from this image to one of the 10 gestures by a sparse Bayesian classifier. The classifier is designed in a way that it supports online incremental learning and it can be thus re-trained to increase its adaptability to an input captured under a new condition. Experiments show that the accuracy of the classifier can be boosted from less than 40% to over 80% by re-training it using 5 newly captured samples from each gesture class. Apart from having a better adaptability, the system can work reliably in real-time and give a probabilistic output that is useful in complex motion analysis.

title: Knowledge Management for a Large Service-Oriented Corporation
abstract: The design and maintenance of complex engineering systems such as a jet engine generates a significant amount of documentation. Increasingly, aerospace manufacturers are shifting their focus from selling products to providing services. As a result, when designing new products, engineers must increasingly consider the engine's complete life-cycle as part of the design process. To identify possible areas of concern, engineers must obtain knowledge gained from the entire life of similar engines. However, because of the size and distributed nature of the company's operation, engineers often do not have access to front-line maintenance data. In addition, the large number of documents accrued makes it impossible for them to be examined thoroughly. This paper presents a prototype knowledge-based document repository for such an application. It searches and analyzes distributed document resources, and provides engineers with a summary view of the underlying knowledge. The aim is to allow engineers to incorporate maintenance issues into the initial design. Unlike existing document repositories and digital libraries, our approach is knowledge-based, where users browse summary reports instead of following suggested links. To test the validity of our proposed architecture, we have developed and deployed a working prototype.

title: Marine biology simulation
abstract: The Marine Biology Simulation is designed as a final project in an objects-first CS2 course. It provides an entertaining setting that serves as compelling example of the powers of object-oriented design and programming.