Lightweight Agent Framework for Camera Array Applications
This paper describes a lightweight middleware agent framework (LAF) for coordinating a large array of computers with attached cameras to construct high resolution video-rate image sequences. Compared to existing camera middleware, LAF provides more than a remote sensor access API. The use of an agent framework allows reconfigurable and transparent access to cameras, as well as software agents capable of intelligent processing. It also eases maintenance by encouraging code reuse. Other features include an automatic discovery mechanism at startup, and multiple language bindings. Performance tests showed the lightweight nature of the framework while validating its correctness and scalability. Two different camera agents were implemented to provide access to a large array of distributed cameras. Correct operation of these camera agents was confirmed via several image processing agents.

title: Provenance-based validation of e-science experiments
abstract: E-science experiments typically involve many distributed services maintained by different organisations. After an experiment has been executed, it is useful for a scientist to verify that the execution was performed correctly or is compatible with some existing experimental criteria or standards, not necessarily anticipated prior to execution. Scientists may also want to review and verify experiments performed by their colleagues. There are no existing frameworks for validating such experiments in today's e-science systems. Users therefore have to rely on error checking performed by the services, or adopt other ad hoc methods. This paper introduces a platform-independent framework for validating workflow executions. The validation relies on reasoning over the documented provenance of experiment results and semantic descriptions of services advertised in a registry. This validation process ensures experiments are performed correctly, and thus results generated are meaningful. The framework is tested in a bioinformatics application that performs protein compressibility 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: Cluster Computing and Grid 2005 Works in Progress
abstract: This is the second in a two-part series () of works-in-progress articles taken from a special session, which was part of the Cluster Computing and Grid 2005 conference (http://www.cs.cf.ac.uk/ccgrid2005), held in Cardiff, UK. The session was organized by Mark Baker (University of Portsmouth, UK) and Daniel S. Katz (. For more information, you can contact the session organizers or the authors of the articles.

title: On a service-oriented approach for an engineering knowledge desktop
abstract: Increasingly, manufacturing companies are shifting their focus from selling products to providing services. As a result, when designing new products, engineers must increasingly consider the life cycle costs in addition to any design requirements. To identify possible areas of concern, designers are required to consult existing maintenance information from identical products. However, in a large engineering company, the amount of information available is significant and in wide range of formats. This paper presents a prototype knowledge desktop suitable for the design engineer. The Engineering Knowledge Desktop analyses and suggests relevant information from ontologically marked-up heterogeneous web resources. It is designed using a Service-Oriented Architecture, with an ontology to mediate between Web Services. It has been delivered to the user community for evaluation.

title: Provenance-Based Validation of E-Science Experiments
abstract: E-Science experiments typically involve many distributed services maintained by different organisations. After an experiment has been executed, it is useful for a scientist to verify that the execution was performed correctly or is compatible with some existing experimental criteria or standards. Scientists may also want to review and verify experiments performed by their colleagues. There are no exsiting frameworks for validating such experiments in today's e-Science systems. Users therefore have to rely on error checking performed by the services, or adopt other ad hoc methods. This paper introduces a platform-independent framework for validating workflow executions. The validation relies on reasoning over the documented provenance of experiment results and semantic descriptions of services advertised in a registry. This validation process ensures experiments are performed correctly, and thus results generated are meaningful. The framework is tested in a bioinformatics application that performs protein compressibility analysis.

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: SmartSiren: virus detection and alert for smartphones
abstract: Smartphones have recently become increasingly popular because they provide "all-in-one" convenience by integrating traditional mobile phones with handheld computing devices. However, the flexibility of running third-party softwares also leaves the smartphones open to malicious viruses. In fact, hundreds of smartphone viruses have emerged in the past two years, which can quickly spread through various means such as SMS/MMS, Bluetooth and traditional IP-based applications. Our own implementations of two proof-of-concept viruses on Windows Mobile have confirmed the vulnerability of this popular smartphone platform.
 In this paper, we present SmartSiren, a collaborative virusdetection and alert system for smartphones. In order to detect viruses, SmartSiren collects the communication activity information from the smartphones, and performs joint analysis to detect both single-device and system-wide abnormal behaviors. We use a proxy-based architecture to offload the processing burden from resource-constrained smartphones and simplify the collaboration among smartphones. When a potential virus is detected, the proxy quarantines the out-break by sending targeted alerts to those immediately threatened smartphones. We have demonstrated the feasibility of SmartSiren through implementations on a Dopod 577w smartphone, and evaluated its effectiveness using simulations driven by 3-week SMS traces from a national cellular carrier. Our results show that SmartSiren can effectively prevent wide-area virus outbreaks with affordable overhead.

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: End system multicast: an architectural infrastructure and topological optimization
abstract: 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: 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.