Papers by Philip McKinley

Evolving cooperative, energy-conserving, agent-base systems
Natural organisms are remarkably well-adapted to survive under a myriad of environmental conditio... more Natural organisms are remarkably well-adapted to survive under a myriad of environmental conditions. The robustness and adaptability of natural systems has encouraged research focused on exploiting observed natural phenomena to produce robust, biologically-inspired computational systems. For example, biomimetic routing protocols, self-organizing robotic swarms, and artificial immune systems have been successfully developed and deployed. However, these applications are constrained to observations of natural systems, and do not take into account the process by which those systems evolved. This dissertation focuses on the evolutionary process, and the effect that energy costs have on evolving agent-based systems. In this dissertation, we introduce an energy model to a digital evolution system, Avida, and illustrate its effects on evolving populations compared to populations that do not pay energy costs. We demonstrate that the inclusion of the energy model produces more predictable outcomes that are consistent with biological theory. We then apply the energy model and evolve individual and group behaviors, culminating in the evolution of energy conserving, density dependent behaviors. This dissertation serves as an introduction to the evolution of artificial, cooperative, energy-conserving, agent-based systems. As demonstrated throughout this dissertation, populations of digital organisms can evolve many complex collective behaviors, which can then be studied, potentially enhancing our understanding of the biological world and providing robust, emergent behavioral examples that can be applied to multi-agent computational systems.
Queueing Losses and Adaptive Reliable Multicast in Wireless Lans
Networks, Aug 1, 2002
... 5. S. Paul, KK Sabnani, JC Lin, and S. Bhattacharyya," Reliable Multicast Transp... more ... 5. S. Paul, KK Sabnani, JC Lin, and S. Bhattacharyya," Reliable Multicast Transport Protocol RMTP," IEEE Journal on Selected Areas in Communica ... D. Bansal, A. Chandra, and R. Shorey," An Extension of TCP Flow Con-trol Algorithm for Wireless Networks," in Proceedings of ...
Resource sharing in synchronous optical hypergraph

Path probing is essential to maintaining an efficient overlay network topology. However, the cost... more Path probing is essential to maintaining an efficient overlay network topology. However, the cost of complete probing can be as high as ¢ ¤£ ¦¥ ¨ § © , which is prohibitive in large- scale overlay networks. Recently we proposed a method that trades probing overhead for inference accuracy in sparse networks such as the Internet. The method uses physical path information to infer path quality for all of the ¥ £ ¦¥ © overlay paths, while actually probing only a subset of the paths. In this paper we propose and evaluate a distributed approach to implementing this method. We describe a minimum diameter, link-stress bounded overlay spanning tree, which is used to collect and disseminate path quality information. All nodes in the tree collaborate to infer the quality of all paths. Simulation results show this approach can achieve a high-level of inference accuracy while reducing probing overhead and balancing link stress on the spanning tree.

On the Performance & Feasibility of Multicast Core Selection Heuristics
Colloque avec actes et comité de lecture.Recent mechanisms for multicast involve selection of a \... more Colloque avec actes et comité de lecture.Recent mechanisms for multicast involve selection of a \textsl{core} router through which all communications of a multicast group are routed. The purpose of this paper is to evaluate the performance impact of certain choices in the core selection. We proposed and compare the simulated performances of simple heuristics to efficiently support dynamic multicast group, and more generally, multicast core management by allowing the core to migrate. Performance metrics include network resource usage, end-to-end delay and join time. Our aim is to provide simple heuristics that make use of the informations and facilities provided by the underlying routing protocol, \textsl{i.e.}, \textsl{link-state routing}. The results of a simulation study reveal that the proposed heuristic based on the topological center of a multicast tree obtains very good performance and uses network resources efficiently

Design and evaluation of adaptive software for mobile computing systems
Increasingly, software must adapt to a changing environment during execution. One of the key driv... more Increasingly, software must adapt to a changing environment during execution. One of the key driving forces behind the need for adaptation is the advent of the "Mobile Internet," where software on portable computing devices must adapt to several, potentially conflicting, concerns, including quality of service, security, and energy consumption. Moreover, mobile systems often comprise multiple heterogeneous applications, each of which might support different types of adaptation. Such situations motivate the need for comprehensive approaches to designing adaptive mobile systems, in which multiple software components, possibly at different system layers, collaborate to achieve overall system goals. In this dissertation, we investigate software adaptation for mobile computing. Composing a single adaptive system from existing adaptive/non-adaptive applications requires an adaptation infrastructure to orchestrate the behavior of adaptive systems and guide the collaboration among system participating applications. We propose a new concept called expressive orchestration , which refers to the techniques that enable system designers to specify the system requirements, generate infrastructure for interaction among participating applications, and codify logic for the run-time management of the system. This dissertation addresses three aspects of design and evaluation of adaptive software for mobile computing systems. First, we evaluate the tradeoffs that exist among concerns (such as energy consumption and quality of service) in mobile devices. Understanding these tradeoffs is a precursor to designing adaptive systems. This investigation, which includes experimentation on a mobile computing testbed, has produced several results that are directly applied to other aspects of this research. Second, we investigate the use of message-based communication to facilitate the integration and collaboration of adaptive/non-adaptive applications. As a proof of concept, we develop COCA (COmposing Collaborative Adaptation), an infrastructure for collaborative adaptation in composite systems. COCA provides a set of development utilities to aid system designers in specifying system configuration and adaptation logic, as well as automatically generating the corresponding code. In addition, COCA provides a set of run-time utilities to enforce the collaborative adaptation execution. The methods used in COCA are general and can be extended to other distributed computing models that require collaborative adaptation. Third, we propose ASSL (Autonomic Service Specification Language), an XML-based approach to specifying and realizing adaptation in distributed service-oriented systems. Focusing on system integration, configuration, and run-time interaction management, ASSL is an extension of COCA that provides a unified platform to describe and support interactions among different parties in the development and execution of autonomic systems. Combined, these contributions provide the research and development communities with a better understanding of the opportunities for adaptation in mobile system and the means to realize such systems from existing, non-adaptive software components.
General Formulation of Fault Covering Problems
The relationship between faulty elements and spare elements varies for different classes of recon... more The relationship between faulty elements and spare elements varies for different classes of reconfigurable chips. In general, this relationship could be very complicated. For example, several spare elements may be required to replace a single faulty element or a spare element may be used to replace several faulty elements in a covering assignment. We begin with an example of a
Symposium on Applications and the Internet, 2001
This paper describes an experimental study of a proxy service to support collaboration among mobi... more This paper describes an experimental study of a proxy service to support collaboration among mobile users. Specifically, the paper addresses the problem of reliably multicasting web resources across wireless local area networks, whose loss characteristics can be highly variable. The software architecture of the proxy service is described, followed by results of a performance study conducted on a mobile computing testbed. The main contribution of the paper is to show that an adaptive forward error correction mechanism, which adjusts the level of redundancy in response to packet loss behavior, can quickly accommodate worsening channel characteristics in order to reduce delay and increase throughput for reliable multicast channels.
Fault Covers in Heterogeneous and General Arrays
In the arrays discussed in Chapter 2 all elements were assumed to be identical and, thus, all row... more In the arrays discussed in Chapter 2 all elements were assumed to be identical and, thus, all rows were identical and all columns were identical. Therefore, a spare row could be used to replace any row of the array and a spare column could be used to replace any column of the arrays. We will subsequently refer to this as
Fault Covers in Rectangular Arrays
ABSTRACT
Performance analysis of switching strategies
Google, Inc. (search). ...
This paper describes an experimental study of a proxy service to enhance interactive multicast au... more This paper describes an experimental study of a proxy service to enhance interactive multicast audio streams when transmitted across wireless local area networks. The architecture of the proxy is presented, followed by results of a performance study conducted on a mobile computing testbed. The main contribution of the paper is to evaluate the effectiveness of forward error correcting codes on improving the quality of audio channels for collaborating mobile users.

Journal of Evolutionary Biology, Jan 25, 2017
Cooperation is abundant in nature, occurring at all levels of biological complexity. Yet cooperat... more Cooperation is abundant in nature, occurring at all levels of biological complexity. Yet cooperation is continually threatened by subversion from noncooperating cheaters. Previous studies have shown that cooperation can nevertheless be maintained when the benefits that cooperation provides to relatives outweigh the associated costs. These fitness costs and benefits are not fixed properties, but can be affected by the environment in which populations reside. Here, we describe how one environmental factor, resource abundance, decisively affects the evolution of cooperative public goods production in two independent evolving systems. In the Avida digital evolution platform, populations evolved in environments with different levels of a required resource, whereas populations of Vibrio cholerae evolved in the presence of different nutrient concentrations. In both systems, cooperators and cheaters co-existed stably in resource-rich environments, whereas cheaters dominated in resource-poor environments. These two outcomes were separated by a sharp transition that occurred at a critical level of resource. These results offer new insights into how the environment affects the evolution of cooperation and highlight the challenges that populations of cooperators face when they experience environmental change.

Packet loss rates in wireless local area networks (WLANs) are highly dynamic and location depende... more Packet loss rates in wireless local area networks (WLANs) are highly dynamic and location dependent. Therefore, multicasting of compressed video streams over such networks requires significantly different error control approaches from those used over wired networks. This paper explores three different methods employed separately and in combination, to improve the quality of video delivery on WLANs. The approaches are: leader-driven multicast (LDM), the monitoring of MAC layer unicast (re)transmissions by other receivers; application-level forward error correction (FEC) using block erasure codes; and negative feedback from selected receivers in the form of extra parity requests (EPR) in order to correct losses. The performance of these three methods is evaluated using both experimentation on a mobile computing testbed and simulation. The results indicate that, while LDM is helpful in improving the raw packet reception rate, the combination of FEC and EPR is most effective in improving the frame delivery rate.
In this paper, we introduce a new approach to deadlockfree routing in wormhole-routed networks ca... more In this paper, we introduce a new approach to deadlockfree routing in wormhole-routed networks called the message flow model. This method may be used to develop deterministic, partially-adaptive, and fully-adaptive routing algorithms for wormhole-routed networks with arbitrary topologies. We first establish the necessary and sufficient condition for deadlock-free routing, based on the analysis of the message flow on each channel. We then use the model to develop new adaptive routing algorithms for 2D meshes.

IEEE Transactions on Parallel and Distributed Systems, Sep 1, 2006
Energy optimization is important in wireless ad hoc networks, where node battery power is usually... more Energy optimization is important in wireless ad hoc networks, where node battery power is usually limited. Research results show that such a network can exploit controlled node mobility to reduce communication-related energy consumption. However, node movement itself usually consumes energy. In this paper we study the energy optimization problem that accounts for energy costs associated with both communication and physical node movement. We refer to this model as informed mobility. We first review the theoretical foundations on how to reduce total communication energy consumption, as well as increase system lifetime, by combining node movement and transmission power adaptation. Next, we describe and analyze the informed mobility optimization problem. Based on this analysis, we introduce localized algorithms and protocols for informed mobility. We propose iMobif, a flow-based informed mobility framework that collects network information for mobility decision making. We demonstrate how to use iMobif to minimize total communication energy consumption as well as to maximize system lifetime. We compare the performance of iMobif to that of systems with no mobility or only cost-unaware mobility. Simulation results show iMobif is effective in reducing energy consumption relative to such systems.
Pervasive and Mobile Computing, Dec 1, 2005

Interactive video multicast in wireless lans
A wireless local area network (WLAN) is a flexible data communication system implemented as an ex... more A wireless local area network (WLAN) is a flexible data communication system implemented as an extension to, or as an alternative for, a wired LAN within a building or campus. By using electromagnetic waves, WLANs transmit and receive data over the air, minimizing the need for wired connections. Thus, WLANs combine data connectivity with user mobility in a convenient and simple way. With rapid advances in wireless technology, mobile users can now be provided with not only voice and data connections, but also video communication services. Many emerging mobile applications involve the delivery of the video streams to mobile hosts (MHs). Some, such as video-on-demand and video-clip browsing, deliver recorded video to users. Others, such as video conferencing, require real-time delivery of live, interactive video streams. However, WLANs are less reliable than wired LANs due to the higher error rate in wireless channels. Many error control methods may be used to enhance the reliability of wireless communications, with the penalty of more bandwidth consumption and longer delay in delivery. A buffering mechanism is usually adopted if a large delay (e.g., in seconds) is acceptable. But for those applications that demand interactive video streaming over a WLAN, buffering cannot meet the real-time requirement. This research investigated how to deliver interactive video streams in 802.11 WLANs. Interactive in this study means that each video frame in the stream has a real-time deadline in which to be played back. The main focus of the research was on multicast video streaming, where multiple MHs receive the same video stream. Although unicast can be considered as a special case of multicast with only one receiver, wireless multicast is fundamentally different from unicast. In particular, error control for multicast is more difficult than for unicast in current WLANs, due to the minimal support of multicast in IEEE 802.11 MAC layer protocol. The contributions of this research can be summarized as follows: First, a packet corruption model was proposed to describe the error behavior in WLANs more accurately in simulations. Secondly, forward error correction (FEC) was studied and evaluated for its positive impact on the quality of the video streaming service in WLANs. Thirdly, to further improve the video quality, two new error control methods were proposed: extra packet request (EPR) in the application layer and leader-driven multicast (LDM) in the MAC layer. Finally, the combinations of multiple error control methods were investigated, each combination's performance was evaluated, and the run-time adaptation of error control strategies was studied in order to match the changing conditions. Both experiments and simulations were conducted. The results indicated the best ways to stream video in WLANs under different situations.
Uploads
Papers by Philip McKinley