Minimum-hot-spot query trees for wireless sensor networks We propose a distributed algorithm to construct a balanced communication tree that serves in gathering data from the network nodes to a sink. Our algorithm constructs a near-optimally balanced communication tree with minimum overhead. The balancing of the node degrees results in the minimization of packet collisions during query execution, that would otherwise require numerous retransmissions and reduce the lifetime of the network. We compare our simple distributed algorithm against previous work and a centralized solution and show that for most network layouts it outperforms competition and achieves tree balance very close to the centralized algorithm. It also has the smallest energy overhead possible to construct the tree, increasing the lifetime of the network even more. Wireless sensor networks (WSNs) are a multi-purpose tool for a wide range of tasks. Nodes do not need physical connection in order to communicate with each other; they use radio transceivers. Also, they do not need to be attached to any static energy source; they have batteries on board. The price to pay is the energy needed for communication and on-board batteries have limited energy supplies. Further, the wireless channel in WSNs is unreliable with many dropped packets. Collisions between data packets is the main cause of dropped packets, when multiple sensor nodes attempt to access a shared wireless channel. Every dropped packet needs to be retransmitted adding to the energy consumption.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Due to the limited energy source, WSN applications have to be founded on the premise of energy-conscious algorithms. A decisive variable for prolonging the longevity of a WSN is to minimize the utilization of the wireless communication medium. It is well established that communicating over the radio in a WSN is the most energy demanding factor among all other functions, such as storage and processing [29, 17, 18, 30, 27] .. In data acquisition systems, data from every node needs to be collected at a sink node. An example is shown in Figure 1 (b). Existing approaches mainly use a Query Routing Tree (denoted as T ), which provides each sensor with a path over which query answers can be transmitted to the querying node. Energy-efficient query routing trees are needed in a plethora of systems such as Peoplecentric Sensing [3, 19] , structural monitoring [13] , urban monitoring [19] and environmental monitoring [24, 22, 31] among others.. For example the Voltree environmental monitoring sensor networks [24] (Figure 1 ) use a bioenergy harvester that converts living plant metabolic energy to electricity providing small but steady amounts of energy to a sensor device. Such applications deploy Query Routing Tree structures as a primitive mechanism for percolating query results to nodes that query the network. As another example imagine cyclists that journey through the main streets of a city. Each cyclist is equipped with a mobile device (e.g., Android, I-Phone or Maemo), that has the ability to interact with its integrated sensors. The measurements retrieved from these sensors can be used to quantify various aspects of the cyclic performance (e.g., current/average speed, heart rate, burned calories) as well as the environmental conditions (e.g., CO2 level, car density). A Query Routing Tree will provide a necessary overlay structure for collect-ing and aggregating data (e.g., identify routes with low CO2 levels in the city). For ease of exposition, in this paper we only focus on static sensor networks as opposed to mobile sensor networks. Query routing trees are usually constructed in an ad-hoc manner and therefore there is no guarantee that the query workload will be distributed equally among all sensors. Various data acquisition frameworks (e.g., [17, 18, 27, 9, 16, 32, 15] ) have been proposed to optimize query execution. Some by minimizing the data sent or the time that the transceiver is operating, and some by distributing the higher workload of the nodes around the sink node. All the previous techniques are orthogonal to our solution.. We reduce energy consumption by minimizing collisions during query execution. We balance the number of incoming streams for internal nodes of a query routing tree. In Figure 2 we show a naive first-heard-from query routing tree, which is the most common form of acquisitional query tree used. Nodes with many incoming streams are primary candidates for network hot-spots, where packet collisions cause numerous retransmissions. The more the retransmissions the greater the energy overhead for executing a query. The optimal tree can be seen in Figure 3 .. It is shown that executing a query over a node with 10 children will lead to a 48% loss rate of data packets, while executing the same query over a node with 30 children will lead to a 56% loss rate [1] . These figures translate into an approximately three-fold increase in energy demand due to inevitable re-transmissions of data packets. Consequently, unbalanced query routing trees can severely degrade the network health and efficiency.. In this paper we introduce a distributed algorithm, coined Minimum HotSpot Query Routing Tree (MHS), for constructing an efficient query routing tree in wireless sensor networks that minimizes collisions during query execution. MHS deploys a distributed tree balancing process, where the node degree is balanced for each tree depth. In particular, MHS is based on letting nodes select parents sequentially while "snooping" the wireless channel and counting the degree of their candidate parent nodes. When the time comes to select a parent, the node simply selects the parent with the minimum degree.. The MHS algorithm provides balanced query routing trees with the following desirable properties: i) they decrease collisions during data transmission, ii) they decrease query response time, and iii) they increase system lifetime and coverage. In addition, the cost for running MHS is the lowest possible. MHS performs very close to the optimal, especially in networks that resemble real world sensor network layouts. We validate these claims in our experimental evaluation section. In order to assess the efficiency of MHS, we compare it against the ETC [1] algorithm and against a centralized optimization algorithm COPT for balancing the query routing tree.. Our contributions can be summarized as follows:. • We define balance in a query routing tree taking into account the communication restrictions in a network. This allows us to decompose the tree construction problem into a set of simpler subproblems (Balanced Assignment Problem).. • We propose a novel distributed algorithm (MHS) to approximate the balanced query routing tree construction solution.. • We prove MHS poses lower bound communication overhead.. • We show through simulations that MHS improves the balance of the resulting query routing tree significantly over the previously proposed algorithm and for real world networks even performs as good as the centralized algorithm.. We discuss related work in Section 2, present the system model and define the balanced query routing tree problem (Section 3). In Section 4 we analyze the problem, decompose it into simple subproblems and present our centralized algorithm. The description of our distributed algorithm follows in Section 5, the experimental evaluation in Section 6 and a short summary Section 7. We present a novel distributed algorithm (MHS) that constructs a query routing tree that minimizes collisions during query execution. It was shown in previous work that minimizing collisions during query execution saves significant amount of energy [1] . In the same paper it is shown that balancing the node degrees of a query routing tree significantly reduces collisions during query execution.. We address the inefficiencies of the previously proposed algorithm and propose a simpler, purely distributed, parameter-free, cheaper and more efficient algorithm. Our resulting query trees are optimally balanced, guarantee minimum collisions and minimum latency for query execution and allow for opportunistic innetwork processing. MHS poses the minimum possible communication overhead to the network and is parameter-free as opposed to previously proposed algorithms. Our proposed algorithm can be used for acquiring data from the nodes of any distributed systems where the main objective is to minimize the communication cost. In this section we present some popular techniques for minimizing energy consumption in wireless sensor networks, starting from the Physical layer and moving up to the Application layer according to the ISO/OSI communication stack [14] .. Various Medium Access Control (MAC) layer algorithms exist for minimizing collisions and wireless channel usage (e.g. [20, 21, 28] ). However, none of these approaches considers the underlying topology of the sensor network, inter-sensor relationships and highlevel query semantics. The MAC layer algorithms are orthogonal to our problem, where we try to construct a query routing tree that inherently has small chances of collisions in the first place.. Network layer mechanisms exist to discover optimal routing paths for energy efficient delivery of messages through intermediate hosts (e.g. [8, 25, 9] ). Existing approaches make use of an a-priori established query routing tree. Our work constructs a balanced tree specific for a given query and is also able to exploit opportunistic in-network processing on the nodes.. Transport layer works like [12, 23] , propose techniques to either minimize the on-time of the radio by synchronizing neighboring nodes for transmission and reception, or avoid dropped packets and collisions by using small probe messages and snooping. These proposals are orthogonal and can coexist with our algorithms.. In the Application layer various data acquisition frameworks (e.g. [17, 18, 27, 15] ) that aim at minimizing the data sent or the operating time of the transceiver. Works focusing solely on optimizing the query routing tree structure are either centralized approximations [7] or assume that every sensor has the potential transmission power to reach the sink node directly. Algorithms proposed in [9, 16, 32] alternate the leader node that will gather all the data and finally forward the query answer to the base-station in order to avoid the hot-spots around the base-station.. A distributed algorithm to create a query routing tree without the assumption that every node can transmit directly to the sink, has been proposed in [26] . Their algorithm balances the data load to be transmitted from one tree level to the next. The goal is to balance the data received and relayed by each node in the network. The energy savings by this work are mostly theoretical since they do not deal with collisions occurring from many nodes trying to communicate with the same parent. As shown by Andreou et al. [1] , the energy loss due to hot-spots in the tree can not be neglected.. Andreou et al. [1] is the only work minimizing collisions by balancing the query routing tree, to the best of our knowledge. They aim at solving the same problem with the same assumptions. Their ACM MobiDE'10 -9th International ACM Workshop on Data Engineering for Wireless and Mobile Access algorithm, called ETC, constructs an initial temporal unbalanced tree and then lets nodes communicate back and forth in order to reorganize and balance the tree. ETC adds significant communication overhead in order to balance the tree. A bigger downfall for ETC is that it is based on the global branching factor of the tree, which in many network topologies results in a badly balanced tree.. We propose a distributed algorithm (MHS) that constructs a query routing tree with minimum hot-spots (balanced tree). This translates in a reduced number of packet collisions during query execution. MHS has significantly reduced overhead for constructing a tree and the resulting tree deviates far less from the optimally balanced tree when compared to ETC as is shown in our experiments. We run all the experiments on an Intel Core2 Duo 2.5Ghz processor with 3GB RAM running Ubuntu Linux. To simulate a WSN and to implement our algorithms we used the SensorSim wireless sensor network simulation framework together with the compositional discrete event simulator J-Sim [11] .. We use three layouts: grid, grid with diagonal and random. For the random layout we randomly place n nodes in a 1000x1000 area, set their communication range to 2 * 1000/ √ n, and make sure the network is connected, resulting in a sparse connected graphs. This emulates a real world WSN application where nodes are usually placed randomly and obstacles, failures and transmission range variations prevent any predefined structured layout. We present the performance of each algorithm in Section 6.3, and then the overhead that is needed to construct this tree, i.e. the energy consumed in 6.4. Note that the x-axis of every figure represents the square root of the number of nodes in the network. For x = 9 the network size is n = 81 and for x = 27 n = 729.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


MCMC sampling for joint estimation of phase distortions and transmitted symbols in OFDM systems In this paper, we address the challenging problem of the OFDM reception in the presence of phase distortions. Phase noise and carrier frequency offset seriously degrade the performances of OFDM systems by destroying orthogonality of the subcarriers. Based on a Markov Chain Monte Carlo sampling mechanization, our approach consists in jointly estimating the phase noise, the frequency offset and the transmitted symbols. The proposed algorithm is implemented in the time domain in order to benefit from the redundancy information induced by the cyclic prefix and from the time correlation of the OFDM signal owing to the presence of virtual and/or pilot subcarriers. The algorithm's efficiency is enhanced by incorporating the Rao-Blackwellization technique as well as various sampling improvement strategies.Simulation results, provided in terms of bit error rate (BER) and mean square error (MSE), clearly illustrate the efficiency and the robustness of the proposed estimator. Multicarrier modulation has been selected as the transmission scheme for the majority of communication systems such as the "Digital Subscriber lines" (DSL), the "Digital Audio Broadcast" (DAB), the IEEE 802.11 "Wireless Local Area Network" (WLAN), or the IEEE 802.16 "Wireless Metropolitan Area Network" (WMAN). Unfortunatly, such techniques are very sensitive to phase noise (PHN) and carrier frequency offset (CFO) caused by oscillators' impairments. These phase distortions destroy the subcarriers' orthogonality and lead after the Fourier Transform to rotation of every subcarriers, known as common phase error (CPE), and to inter-carrier interferences (ICI).. Many approaches have been proposed to estimate and eliminate phase noise effects in OFDM systems over frequency selective channels. Theses techniques can be divided into frequency domain [1] - [7] and time domain approaches [8] - [11] . For both of them, two different strategies based either on pilot or non-pilot aided algorithms have been employed. The latters are a challenging task since they have the advantage of being bandwidth more efficient as it does not require the transmission of pilots symbols.. The frequency domain approaches in [5] , [6] consist in correcting both CPE and ICI, induced by phase noise only, in the received signal obtained after the Fourier transform using pilot subcarriers. In a first step, CPE estimation is carried out with either a Kalman filter or a minimum mean square error pilot aided algorithm. Secondly, a decision feedback algorithm, using the demodulated symbols obtained after the CPE correction, is performed to obtain ICI estimate. However, noise-induced symbol decision errors may propagate through the feedback loop, leading to unreliable transmissions with error bursts. In [7] , unlike the previous algorithms, the proposed scheme does not require the presence of pilot subcarriers.. A decision-directed scheme is used at the initialization step in order to make a tentative decision on a prespecified set of subcarriers without any phase distortion correction. To have reliable tentative decision for the CPE estimation, slow phase noise variations and a residual CFO are considered.. In the time-domain approaches [9] , [10] , an approximate probabilistic inference technique associated with the minimization of variational free energy is proposed to jointly estimate phase noise and transmitted symbols without any pilot subcarriers. However, in order to derive the algorithm, the phase distortions term is linearized by the assumption of small phase noise rate (i.e. e jθ(t) ≈ 1 + jθ(t)). Moreover, like in [7] , a tentative symbol decision without any phase correction is made at initialization step and thus leads to a severe performance degradation when phase distortions are significant, especially in the presence of CFO (which is not considered in [9] , [10] ). Finally, a nonpilot-aided Sequential Monte Carlo method has been recently proposed in [11] to address this problem.. In this paper, we propose a novel time domain approach for the joint estimation of the phase noise, CFO and transmitted symbols. The time-domain processing allows us to benefit from the redundancy information induced by the cyclic prefix and from the time correlation of the OFDM signal owing to the presence of virtual and/or pilot subcarriers. To solve this problem, the proposed algorithm is based on the Markov Chain Monte Carlo (MCMC) methodology, which have played a significant role in statistics, econometrics, physics and computing science over the last two decades [12] . Given the high-dimensional system, the algorithm's efficiency is enhanced by using the Rao-Blackwellization technique as well as powerful proposal distributions that faster drives new candidate samples towards high probability regions.. The paper is organized as follows. Section II is devoted to the problem formulation by introducing the OFDM system and the phase distortions. The proposed inference algorithm is detailed in Section III.. Numerical results are shown in Section IV. Through different scenarios, our approach is compared to algorithms proposed in [5] , [6] , [11] and to a perfect CPE correction scheme.. In this paper, N , N cp and T denote respectively the number of subcarriers, the cyclic prefix length and the OFDM symbol duration excluding the cyclic prefix. Let N (x; µ, Σ) and N c (x; µ, Σ) represent respectively the real and circularly symmetric complex Gaussian random vectors with mean µ and covariance matrix Σ. I n , 0 n×m and diag(x) are respectively the n × n identity matrix and the n × m matrix of zeros and a diagonal matrix with the vector x on its diagonal. Finally, lower case bold letters are used for column vectors and capital bold letters for matrices; (.) * ,(.) T and (.) H denote respectively conjugate, transpose, and Hermitian transpose. In this paper, we address the difficult problem of the OFDM reception that suffers from the presence of phase noise and carrier frequency offset. To solve this problem, we propose a novel time domain approach which has the great advantage of taking into account the redundancy information induced by Blackwellization technique as well as optimized proposal distributions.. Numerical simulations show that even with significant PHN rates, the JSPCE-MCMC achieves good performances both in terms of the phase distortion estimation and BER. In particular, it was found that, for a small PHN rate, the JSPCE-MCMC is more efficient in term of BER than a frequency MMSE equalizer in multicarrier system without phase distortions. Moreover, the proposed JSPCE-MCMC enables to cope with a channel delay spread longer than one of the cyclic prefix. Thus, the JSPCE-MCMC algorithm offers a significant performance gain in comparison to existing methods and can be efficiently used with the channel estimator proposed in [20] for the design of a complete multicarrier receiver in wireline and wireless communication systems. where Υ n = diag(diag(e jgǫ )(H n A(κ κ κ n + u n ) + ν ν ν n )). From this equation and given the current Markov chain state, p(r n |θ θ θ n , ǫ m , u n = u m n ) is given by : p(r n |θ θ θ n , ǫ m , u n = u . The vector u m n is obtained using Eq. (21) and the current Markov chain state {ǫ m , θ θ θ m }. By using the block notation with the subscript i as described in Section III-C and since Υ m n is diagonal, the following model can be considered to build the proposal distribution for θ θ θ n,i : p(θ θ θ n,i |θ θ θ . The conditional prior distribution is defined in (29). From this prior and likelihood information, we propose to use, as our proposal distribution for θ θ θ n,i , the approximation of the posterior distribution obtained using the linearization of exp(jθ θ θ n,i ). As a consequence, we obtain : In order to show the validity of our approach, extensive simulations have been performed. In a first part, the case of PHN without CFO is considered in order to study the joint PHN and OFDM signal estimation. Then in the last part, the performances of the JSPCE-MCMC are assessed when both CFO and PHN are present in OFDM systems. In these two different cases, JSPCE-MCMC is studied in terms Propose ǫ * ∼ q(ǫ|ǫ m−1 )

O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O B I I O O O O O B I O O O O O O O O O B I I I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O


An integrated pseudo-associativity and relaxed-order approach to hardware transactional memory Our experimental study and analysis reveal that the bottlenecks of existing hardware transactional memory systems are largely rooted in the extra data movements in version management and in the inefficient scheduling of conflicting transactions in conflict management, particularly in the presence of high-contention and coarse-grained applications. In order to address this problem, we propose an integrated Pseudo-Associativity and Relaxed-Order approach to hardware Transactional Memory, called PARO-TM. It exploits the extra pseudo-associative space in the data cache to hold the new value of each transactional modification, and maintains the mappings between the old and new versions via an implicit pseudo-associative hash algorithm (i.e., by inverting the specific bit of the SET index). PARO-TM can branch out the speculative version from the old version upon each transactional modification on demand without a dedicated hardware component to hold the uncommitted data. This means that it is able to automatically access the proper version upon the transaction's commit or abort. Moreover, PARO-TM augments multi-version support in a chained directory to schedule conflicting transactions in a relaxed-order manner to further reduce their overheads. We compare PARO-TM with the state-of-the-art LogTM-SE, TCC, DynTM, and SUV-TM systems and find that PARO-TM consistently outperforms these four representative HTMs. This performance advantage of PARO-TM is far more pronounced under the high-contention and coarse-grained applications in the STAMP benchmark suite, for which PARO-TM is motivated and designed. With the emerging and strong trend of many-core computing systems, scaling the software performance at the pace of the New Moore's Law becomes an open and urgent problem, which means that software programmers must carefully design multithreaded programs competing for the shared data in a shared-memory environment. As a result, providing a simple interface of parallel programming to ease the burden on programmers becomes critically important and has attracted a great deal of attention from both the industry and academia. Transactional Memory (TM) has emerged as one of the most promising solutions that can deliver a significant parallel performance boost comparable to that based on the traditional hand-crafted fine-grained locks [Herlihy and Moss 1993] ; [Hammond et al. 2004] ; [Moore et al. 2006] ; [Rossbach et al. 2010] . Recently, several leading IT companies, such as Azul [Click 2009 ], Sun Microsystems [Chaudhry 2008 ], IBM [Haring 2011], and Intel [2012] , have planted TM in their processor chips, which represents a huge boost to TM in its real-world applicability. In particular, the recent Intel announcement [Intel 2012 ] to integrate transactional synchronization extensions in its Haswell processor and propose the transactional language constructs for C++ standard specification [Adl-Tabatabai et al. 2011 ] may have the potential of ushering in a new era of transactional memory.. TMs essentially wrap their computations as transactions that are executed atomically and in isolation, which enhances the programming abstraction. Any memory modifications during a transaction cannot be accepted until the transaction commits. When two or more memory accesses are issued to the same data, of which at least one access comes from a transaction and one of them is a write operation, a transactional conflict occurs. TM systems must detect and resolve this conflict to guarantee the consistency of the shared data. Meanwhile, TMs also must manage the old and new versions of the shared data upon each transactional write operation for abort and commit, respectively. As a result, two important design issues, conflict management and version management, must be carefully considered to obtain a cost-effective design [Harris et al. 2010] .. Specifically, conflict management has two main tasks, to detect transactional conflicts during the execution time and to provide a schedule to avoid inconsistency caused by transactional conflicts. Current implementations of conflict management are usually decoupled from version management schemes, suffer from various characteristics of applications, and do not exploit the potentials of the interplay between conflict management and version management.. Version management also has two main tasks that organize transactional modifications alongside the old values until the end of a transaction and merge two versions upon each transactional modification with a consistent memory. Current implementations of version management either require a dedicated buffer/cache to hold the uncommitted data or organize different logs in different levels of the memory hierarchy. While the latter approach suffers from the serial accesses to the shared data and leads to an extended transaction time that can hurt thread-level parallelism, the former relies on a costly extra hardware component considering that it is exclusively used for transactional applications.. Along with conflict and version managements, TM systems incur static and dynamic overheads. The static overhead results from taking a checkpoint at the beginning of a transaction, detecting the transactional conflicts at runtime, maintaining an undo or redo log to hold the uncommitted modifications, and merging or discarding the transactional computation on commit or abort. The dynamic overhead, on the other hand, stems from stalling the conflicted transactions and wasted work spent on the aborted transactions. Recent studies show that the interplay between the static In this article, we propose an integrated pseudo-associativity and relaxed-order approach to hardware transactional memory, called PARO-TM, which provides a new framework to couple conflict management with version management to simultaneously reduce the data movement overheads and exploit the potential parallelism among conflicting transactions by means of a pseudo-associative cache and chained directory.. We evaluate PARO-TM by comparing it with LogTM-SE, TCC, DynTM, and SUV-TM. Through extensive execution-driven experiments under the STAMP benchmark suite that represents a wide spectrum of coarse-grained and high-contention applications, PARO-TM is shown to achieve average performance gains of 34.6%, 34.5% 8.3%, 23.6% across the 7 selected applications in the STAMP benchmark suite over LogT-SE, TCC, DynTM, and SUV-TM, respectively. Its performance margins over these competing HTMs are widened to 65.4%, 61.7%, 26.2%, and 49.9%, respectively, under the 3 high-contention and coarse-grained applications in the STAMP benchmark suite that represent the likely future workloads on the TM systems. The area and power overheads of PARO-TM are estimated to be 1.1% and 0.53% of Sun's Rock processor. In pursuit of full exploitation of thread-level parallelism, programmers try to overlap as many transactions as possible, resulting in high-contention and coarse-grained applications. In light of HTM's static and dynamic overheads discussed in Section 1, the interplay between these two kinds of overheads will become more significant under these high-contention and coarse-grained applications. There is a rich body of research on minimizing these overheads. For example, while TCC, UTM, VTM, LogTM, PTM, XTM, RTM, Scalable-TCC, ObjectTM, FasTM, Reconfigurable-TM, SEL-TM and SUV-TM [Hammond et al. 2004] ; [Ananian et al. 2005] ; [Rajwar et al. 2005] ; [Moore et al. 2006] ; [Chuang et al. 2006] ; [Chung et al. 2006b ]; [Shriraman et al. 2007] ; [Chafi et al. 2007] ; [Khan et al. 2008] ; [Lupon et al. 2008 ] [Lupon et al. 2009 ]; [Armejach et al. 2011] ; [Zhao et al. 2012] ; [Yan et al. 2012 ] focus on reducing static overheads on version management, OneTM, DATM, SBCRHTM, ProactiveTM, EasyTM, DynTM, SON-TM, BFGTS-TM, 42:6 Z. Yan et al. and ZEBRA [Blundell et al. 2007] ; [Ramadan et al. 2008] ; [Titos et al. 2009 ]; [Blake et al. 2009 ]; [Tomic et al. 2009 ]; [Lupon et al. 2010] ; [Aydonat and Abdelrahman 2010] ; [Blake et al. 2011] ; propose different TM architectures to alleviate the dynamic overheads incurred by transactional conflicts. However, most of these methods decouple conflict management from version management and do not exploit opportunities availed by the interplay between conflict management and version management.. We believe that it is important to reduce both dynamic and static overheads to fully exploit performance benefits. In general, the reduction of dynamic overheads is correlated to that of static overheads. Our preliminary analysis on transactional applications reveals that each accessed variable owns an exclusive window during the execution, which induces a conflict with another access to the same variable if either access performs a store operation. This exclusive window includes two important time components involving data movements, namely, the time spent on maintaining transactional versions and the time spent on either restoring the old versions on abort or merging the new versions to memory on commit. Thus, under the high-contention and coarse-grained applications, more concurrent accesses lead to a lengthened exclusive window for each shared data due to data movements and cause unnecessary conflicts, which in turn increase the dynamic conflicts and result in more stalled or aborted transactions. Our integrated pseudo-associativity and relaxed-order approach to HTM is an attempt to effectively couple version and conflict managements to reduce data movements in each transaction and exploit the potentials in conflicted transactions.. From the preceding analysis, we conclude that: (1) existing HTMs face a serious scalability challenge especially under the high-contention and coarse-grained applications; (2) reducing data movements in version management not only reduces its static overheads but also reduces the chance for transactions to conflict; and (3) to further reduce the dynamic overheads, a less strict concurrency control algorithm is required to allow more transactions to run concurrently. Since Herlihy [Herlihy and Moss 1993] introduced the notion of TM as an alternative to traditional synchronization techniques, TM has attracted a great deal of attention in the computer architecture, compiler, programming languages, and operating systems research communities, resulting in the design and implementation of various TM systems. These systems, including hardware TMs, software TMs, and hybrid TMs, aim to ease the difficulty of parallel programming while promoting performance of multithreaded applications in the many-core era [Harris et al. 2010] ; [Guerraoui and Kapalka 2010] . While TM's advantages over the traditional lock mechanism on managing the race blocks have been studied and demonstrated by a large body of research [Rajwar and Goodman 2002] ; [Hammond et al. 2004] ; [Moore et al. 2006] , its scalability faces an increasing challenge brought on by the emerging high-contention and coarse-grained applications [Ansari et al. 2008] ; [Minh et al. 2008] ; [Kestor et al. 2009 ]. For example, the geometric mean speedup of the STAMP benchmark suite on a state-of-the-art HTM is roughly 3.6 when executed in a 16-core configuration [Blake et al. 2009 ]. It may be partly due to the fact that the STAMP benchmark suite is designed for future TM applications that spend most time on high-contention and coarse-grained transactions without handcrafted optimizations on their irregular parallel structures. It indicates that there is an ample room for improvement if the TM technology is to be considered a viable support for parallel programming in the future. Recently, general-purpose microprocessor vendors such as IBM and Intel have integrated limited transactional memory support in their products. In order for the HTM technology to become widely accepted in the many-core era, we must find effective ways to optimize TM's architecture.

O O O O O O O B I I O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A framework for fast community extraction of large-scale networks Most of the faster community extraction algorithms are based on the Clauset, Newman and Moore (CNM), which is employed for networks with sizes up to 500,000 nodes. The modification proposed by Danon, Diaz and Arenas (DDA) obtains better modularity among CNM and its variations, but there is no improvement in speed as its authors expressed. In this paper, we identify some inefficiencies in the data structure employed by former algorithms. We propose a new framework for the algorithm and a modification of the DDA to make it applicable to large-scale networks. For instance, the community extraction of a network with 1 million nodes and 5 million edges was performed in about 14 minutes in contrast to former CNM that required 45 hours (192 times the former CNM, obtaining better modularity). The scalability of our improvements is shown by applying it to networks with sizes up to 10 million nodes, obtaining the best modularity and execution time compared to the former algorithms. The Internet provides services, such as the on-line socialrelated services namely SNS, allowing interaction in huge networks. One big challenge is developing efficient techniques for identification of highly cohesive subgroups, called communities, for large-scale networks. Clauset, Newman and Moore (CNM) proposed a fast algorithm with O(n log 2 n) [1] that could be applied to networks with sizes of less than 500 thousand nodes. Then, Danon, Diaz and Arenas (DDA) [2] made a modification to the CNM to improve the modularity while retaining its speed. Wakita and Tsurumi (WT) [3] proposed some heuristics to improve the speed of CNM, but with compromises in modularity in their fastest heuristics. All these algorithms are used for undirected networks.. Undirected networks allow representation in symmetric matrices. There are two implementation frameworks, one * both authors contributed equally to this work for CNM and another for WT. Both of them basically use a sparse matrix that stores both symmetric values ∆Qij and ∆Qji, and keep them consistent at all times, which impact the performance in both frameworks. For instance, any update in a pair (i, j) takes O(1) but the update of its symmetric pair (j, i) takes O(log n) because it requires searching column j in row i.. In this paper, we propose a new implementation framework to avoid unnecessary operations to the minimum and a modification of the DDA to fit our framework, obtaining improvements in speed and modularity compared to the former algorithms. We presented a new implementation and a modification of the DDA to speed it up in our framework, obtaining an improvement of 192 times faster than the original CNM. Large-scale networks up to 10 million nodes and 50 million edges were employed, showing that our modifications provide better modularity and require less time compared to CNM and its modifications. As a result, our improvements make it applicable to large-scale networks.

O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I


Behavior-oriented

data

resource

management

in

medical

sensing

systems

Wearable

sensing

systems

have

recently

enabled

a

variety

of

medical

monitoring

and

diagnostic

applications

in

wireless

health.

The

need

for

multiple

sensors

and

constant

monitoring

leads

these

systems

to

be

power

hungry

and

expensive

with

short

operating

lifetimes.

We

introduce

a

novel

methodology

that

takes

advantage

of

contextual

and

semantic

properties

in

human

behavior

to

enable

efficient

design

and

optimization

of

such

systems

from

the

data

and

information

point

of

view.

This,

in

turn,

directly

influences

the

wireless

communication

and

local

processing

power

consumption.

We

exploit

intrinsic

space

and

temporal

correlations

between

sensor

data

while

considering

both

user

and

system

contextual

behavior.

Our

goal

is

to

select

a

small

subset

of

sensors

that

accurately

capture

and/or

predict

all

possible

signals

of

a

fully

instrumented

wearable

sensing

system.

Our

approach

leverages

novel

modeling,

partitioning,

and

behavioral

optimization,

which

consists

of

signal

characterization,

segmentation

and

time

shifting,

mutual

signal

prediction,

and

a

simultaneous

minimization

composed

of

subset

sensor

selection

and

opportunistic

sampling.

We

demonstrate

the

effectiveness

of

the

technique

on

an

insole

instrumented

with

pressure

sensors

placed

in

each

shoe,

which

cover

the

bottom

of

the

entire

foot,

resulting

in

energy

reduction

of

to

for

error

rates

of

to

Embedded

networked

systems

and

wide

area

cellular

wireless

systems

are

becoming

ubiquitous

in

applications

ranging

from

environmental

monitoring

to

urban

sensing..

This

article

is

the

extended

version

of

the

paper

titled

"Energy

Optimization

in

Wireless

Medical

Systems

Using

Physiological

Behavior"

published

in

Proceedings

of

Wireless

Health

Authors'

addresses:

H.

Noshadi

and

F.

Dabiri,

Computer

Science

Department,

University

of

California

at

Los

Angeles

and

Google

Inc.;

S.

Meguerdichian,

M.

Potkonjak,

and

M.

Sarrafzadeh,

Computer

Science

Department,

University

of

California

at

Los

Angeles.

Corresponding

author's

(H.

Noshadi);

email:

hyduke@cs.ucla.edu.

Permission

to

make

digital

or

hard

copies

of

part

or

all

of

this

work

for

personal

or

classroom

use

is

granted

without

fee

provided

that

copies

are

not

made

or

distributed

for

profit

or

commercial

advantage

and

that

copies

show

this

notice

on

the

first

page

or

initial

screen

of

a

display

along

with

the

full

citation.

Copyrights

for

components

of

this

work

owned

by

others

than

ACM

must

be

honored.

Abstracting

with

credit

is

permitted.

To

copy

otherwise,

to

republish,

to

post

on

servers,

to

redistribute

to

lists,

or

to

use

any

component

of

this

work

in

other

works

requires

prior

specific

permission

and/or

a

fee.

Permissions

may

be

requested

from

Publications

Dept.,

ACM,

Inc.,

Penn

Plaza,

Suite

New

York,

NY

USA,

fax

or

permissions@acm.org.

c

ACM

DOI:

using

signal

time-shifting,

the

prediction

of

signals

in

each

phase

is

much

more

accurate

after

segmentation

because

data

in

one

segment

will

otherwise

often

act

as

noise

for

data

in

another.

In

this

article,

we

explored

data

volume

management

and

its

corresponding

implications

on

energy

consumption

and

system

lifetime

in

embedded

and

wearable

sensing

systems

through

the

introduction

of

multiple

stages

of

signal

analysis

and

optimization

algorithms.

The

high-level

contribution

of

this

article,

is

to

study

signal

patterns

and

utilize

them

to

develop

novel

prediction

algorithms

at

different

levels

of

information

flow

in

such

systems.

These

methods

aim

to

make

expensive

wearable

sensing

systems

more

feasible

for

everyday

use

by

minimizing

sampling

sources

while

enabling

reconstruction

of

the

data

from

all

sensors.

One

goal

was

to

use

a

subset

of

sensors

to

accurately

generate

the

data

from

all

sensors.

In

other

words,

the

design

flow

adapts

to

the

context

of

the

sensing

environment

and

leads

to

an

efficient

data

management

configuration.

This

goal

was

achieved

by

introducing

two

novel

methods

for

signal

shifting

which

enables

better

prediction

of

sensor

data,

followed

by

data

segmentation

to

further

enable

piecewise

predictions.

On

top

of

this

prediction

strategy,

the

notion

of

opportunistic

sampling

was

introduced

in

which

even

smaller

subsets

of

sensors

are

selected

that

can

predict

when

to

sample

the

rest

of

target

sensors.

To

solve

the

preceding

problems,

we

also

developed

an

efficient

approximation

algorithm

called

combinatorial

iterative

component

assembly

(CICA)

to

select

best

predictors

for

each

scenario.

In

order

to

show

the

effectiveness

of

the

proposed

methodologies,

we

applied

the

presented

methods

on

an

embedded

wearable

sensing

system

equipped

with

pressure

sensors.

Experimental

results

show

that

the

proposed

techniques

can

yield

to

energy

reduction

while

maximum

sampling

error

rate

ranges

from

only

to

In

this

section,

we

briefly

overview

the

most

directly

related

work

in

low-power

medical

sensing

system

design,

energy

optimization

in

body

sensor

networks,

sensor

reading

prediction,

adaptive

opportunistic

sampling,

and

signal

segmentation

that

is

related

to

each

step

of

our

work..

Wearable

platforms

and

applications.

The

convergence

of

sensing,

communication,

computation,

and

storage

technologies

created

the

notion,

testbeds,

theory,

and

conceptual

foundation

for

sensing

networks.

Growing

interest

in

designing

body

sensor

networks

(BSNs),

sensor-based

medical

devices,

and

wearable

embedded

sensor

systems

attracted

an

intensive

and

fast-growing

research

and

industrial

interest

[Jacobsen

et

al.

Lo

and

Yang

Pantelopoulos

and

Bourbakis

A

range

of

wearable

platforms

have

been

developed

for

general

signal

and

physiological

parameter

collection

[Jafari

et

al.

Lorincz

et

al.

Wood

as

well

as

measuring

body

movement

and

activity

[DeVaul

et

al.

Otto

et

al.

Choudhury

et

al.

Jafari

et

al.

Some

platforms

have

been

designed

with

focus

on

a

fixed

set

of

activities

(such

as

movement

classification)

[Ganti

et

al.

while

others

are

more

general

purpose

and

are

designed

for

clinical

applications

that

require

high

fidelity

data

[Lorincz

et

al.

Some

wearable

systems

have

been

proposed

for

monitoring

the

athletic

performance

in

a

variety

of

sports,

such

as

skiing,

baseball,

martial

arts,

tennis,

and

golf.

These

systems

are

mainly

designed

for

short-term

use

during

training

sessions.

Michahelles

and

Schiele

proposed

a

system

to

assist

and

guide

professional

skiers;

Ahmadi

et

al.

analyze

the

hand's

swing

during

tennis

serves;

Ghasemzadeh

et

al.

measure

wrist

rotation

for

golf

swings;

Aylward

and

Paradiso

measure

pitches

during

baseball;

and

Kwon

and

Gross

address

for

martial

arts

training.

A

number

of

projects

have

been

focused

on

application-specific

medical

monitoring.

use

a

smart

cane,

instrumented

with

accelerometers

and

gyro,

as

an

assistive

device

for

geriatric

patients.

Erickson

et

al.

used

RFID

sensor

networks

and

accelerometers

to

measure

foot

pronation.

Another

set

of

projects

have

used

a

shoe

integrated

wireless

sensing

system

for

medical

monitoring.

Bamberg

et

al.

embedded

pressure

sensors

inside

the

shoe

and

mounted

accelerometers

and

gyro

at

the

back

of

the

shoe

to

perform

gait

measurement.

A

gait

phase

detection

sensor

embedded

inside

the

insole

is

introduced

in

Popovic

et

al.

Dabiri

et

al.

used

an

instrumented

insole

inside

the

shoe

as

an

assistive

device

for

neuropathy.

Oshima

et

al.

placed

accelerometers

and

pressure

sensors

inside

the

shoe

to

measure

walkability.

The

main

differentiator

between

our

work

and

these

special

purpose

systems

is

that

we

take

the

data

collected

from

the

sensing

environment

into

consideration

while

designing

the

system.

Our

end

design

is

influenced

by

users'

physiological

behavior

and

takes

advantage

of

its

intrinsic

properties

to

produce

a

power-efficient

system.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O


Reuse, repurposing and learning design - Lessons from the DART project Reuse, repurposing and learning design -lessons from the DART project. Computers and education, 50 (2). pp. 601-612. The DART project is addressing a range of questions regarding the use of learning activities in teaching, including issues of reuse and repurposing. Customisable learning activities such as those we have described can empower a teacher to do the repurposing themselves, and the provision of authoring tools minimises the need for support from IT professionals and learning technologists. The flexibility of such activities also allows the teacher to modify the learning design of the activity to better fit their own context. We believe that such an approach is more likely to lead to successful reuse than the aggregation of fixed learning objects.. The DART approach keeps the teacher at the centre of the repurposing process, since successful reuse or repurposing requires clearly articulating a pedagogical intent and allying it with the appropriate choice of resources. This will inevitably place demands on the teacher's time, but results in the potential to develop more engaging learning experiences for students.. Based on our findings, we argue that if learning objects developers were to create repurposable learning activities rather than fixed learning objects, their creations would have both a greater potential for reuse and have a greater pedagogical impact. Teachers, rather than searching for an elusive cocktail of reusable learning objects that will serve their needs could then focus their efforts on reworking the activities to draw on the research relevant to their teaching in ways that address their specific pedagogical objectives.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


On stability of linear and weakly nonlinear switched systems with time delay Please cite this article as: M.S. Alwan, X. Liu, On stability of linear and weakly nonlinear switched systems with time delay, Mathematical and Computer Modelling (2008), doi:10.1016/j.mcm.2007 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.A C C E P T E D M A N U S C R I P T ACCEPTED MANUSCRIPTON STABILITY OF LINEAR AND WEAKLY NONLINEAR SWITCHED SYSTEMS WITH TIME DELAYDepartment of Applied Mathematics, University of Waterloo Waterloo, Ontario, Canada N2L 3G1, Email:xzliu@uwaterloo.ca.Abstract-This paper studies time-delayed switched systems that include both stable and unstable modes. By using multiple Lyapunov functions technique and a dwell time approach, several criteria on exponential stability for both linear and nonlinear systems are established. It is shown that by suitably controlling the switching between the stable and unstable modes exponential stabilization of the switched system can be achieved. Some examples and numerical simulations are provided to illustrate our results. By a switched system, we mean a hybrid system that consists of a finite number of continuous-time dynamical systems and a switching law that organizes the switching between these systems. Here, the switching from one mode to another one is not known a priori, but it is determined by some environmental factors which usually are not a part of the mathematical model under consideration. For some examples of such systems, interested readers may refer to [17] , [21] . The importance of studying such systems is two fold. Firstly, a large class of real life or engineering systems are inherently multi-model in the sense that their behavior is represented by several dynamical models; secondly, some systems may be stabilized by several feedback controllers (known as switching control), rather than one controller. In fact, there has been increasing interest in designing an appropriate switching rule in order to stabilize the system [3] , [9] , [10] , [16] , [19] , [23] .. Ordinary differential equations (ODEs) have long played important roles in modeling many physical processes and they will continue to serve as a fundamental tool in future investigations. But sometimes ODEs may be inadequate in modeling systems whose future state depend not only on the present state but also on the past. In those cases, ODEs give only an approximation of some real systems. More realistic models should include some of the historical values of the state that leads us to delay differential equations (DDEs). The early motivations for studying DDEs came from their applications in population dynamics when Volterra investigated the predatorprey model, and in Minorsky's study of ship stabilization and automatic steering. These studies indicate the importance of considering delay in the feedback mechanism [15] . Another motivation for studying time-delayed systems is that the presence of delay may cause undesirable performance. As we know, in ordinary systems, oscillation phenomena might be seen in some systems with at least two state variables and chaotic behavior is noticed in some systems with at least three state variables, but in some cases these unsuitable behaviors occur in one order delay systems; moreover, small delay may destroy stability of some systems, but large delay may stabilize others. As a result, there are many studies of systems with time delay. A number of monographes have been devoted to the subject of DDEs. These works include books by Bellman and Cooke [2] and Krasovkii and Brenner [12] , texts by Halanay [7] , Hale and Lunel [8] , Driver [4] , El'sgoll'ts and Norkin [5] and Bellen and Zennaro [1] . Some other books dedicated to the applications of DDEs are MacDonald [14] , Gopalsamy [6] , and Kuang [13] . The study of delay differential equations is currently very heavy due to the growing progress achieved in the understanding of the dynamics of many important time delayed systems.. Switched systems and time delay are important issues encountered in many fields. The area of switched delay systems is still in its infancy. Nevertheless, there has been reasonable progress in this field. Stability of switched delay systems has been receiving an increasing attention (see [11] , [18] , [20] , [22] ). In this paper, we investigate stability property of switched delay systems consisting of unstable and stable modes. Delay-version comparison lemmas for a single equation and system are developed to help us find the growth rate for the unstable modes. The first lemma is in fact an analog to a Lemma in [7] , while the second one is analogous to Lemma 2.3 in [14] . By using multiple Lyapunov functions, a general criteria on exponential stability of these systems is established. Here, our stability results for linear and a special class of nonlinear systems is characterized by the locations of the eigenvalues. The organization of this paper is as follows; in Section 2, we describe switched delay systems and introduce some notation and definitions that will be used in the rest of this paper. In Section 3, we shall state our main results. Numerical examples are also presented to verify our theoretical results. We finally conclude this work in Section 4. Having developed delay-version comparison lemmas that help us calculate the growth rates of unstable delay systems, we successfully established exponential stability of switched time delay systems that consist of unstable and stable modes. In fact, we have shown that under a class of switching signal where the total activation time of the stable modes is larger than that of the unstable modes, exponential stability of the entire switched system is ensured by using dwell time approach. The stability result was achieved by applying multiple Lyapunov function technique to the linear and a special class of nonlinear subsystems.

O O O O O O O B I O B I O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Modeling and comparison of candidate selection algorithms in opportunistic routing Opportunistic Routing (OR) has been investigated in recent years as a way to increase the performance of multihop wireless networks by exploiting its broadcast nature. In contrast to traditional routing, where traffic is sent along pre-determined paths, in OR an ordered set of candidates is selected for each next-hop. Upon each transmission, the candidates coordinate such that the most priority one receiving the packet actually forwards it. Most of the research in OR has been addressed to investigate candidate selection algorithms. In this paper we propose a discrete time Markov chain to assess the improvement that may be achieved using opportunistic routing. We use our model to compare a selected group of candidate selection algorithms that have been proposed in the literature. Our main conclusion is that optimality is obtained at a high computational cost, with a performance gain very similar to that of much simpler but non optimal algorithms. Therefore, we conclude that fast and simple OR candidate selection algorithms may be preferable in dynamic networks, where the candidates sets are likely to be updated frequently. During the last years multi-hop wireless networks (MWN) have become very popular, receiving an increasing amount of attention by the research community. Compared to wired networks, routing in MWN is specially challenging because of two fundamental differences. The first one is the heterogeneous characteristics of the wireless links: due to the strong dependency of radio transmission impediments between the nodes with their distance and the environmental elements influencing the radio waves propagation. As a consequence, packet delivery probabilities may be significantly different for every link of a MWN network. The second one is the broadcast nature of wireless transmissions: unlike wired networks, where links are typically point to point, when a node transmits a packet in a wireless network, this can potentially be received by its neighbors.. Routing protocols in MWN have traditionally coped with heterogeneous characteristics of the wireless links using distributed protocols that at each node choose for every destination the best link. Doing this way, in the routing table of every node participating in the routing between a source and a destination, there is the link to a neighbor (referred to as next-hop), over which packets addressed to the destination will be forwarded. Note that once all nexthops have been chosen, all packets between a source and destination follow the same path. This motivates the name of uni-path routing for such type of protocols. Opportunistic Routing (OR), also referred to as diversity forwarding [1] , cooperative forwarding [2] or any-path routing [3] , has been proposed to increase the performance of MWNs by taking advantage of its broadcast nature. In OR, in contrast to traditional routing, instead of preselecting a single specific node to be the next-hop as a forwarder for a packet, an ordered set of nodes (referred to as candidates) are selected as the potential next-hop forwarders. Thus, the source can use multiple potential paths to deliver the packets to the destination. More specifically, when the current node transmits a packet, all the candidates that successfully receive it will coordinate with each other to determine which one would actually forward it, while the others will simply discard the packet.. The following example illustrates how OR works, and its potential to improve the network performance. Consider the network topology of figure 1. Node 1 is the source and node 3 is the destination. Assume that packet transmissions in each link are Bernoulli with the delivery probabilities from node i to node j, q ij , indicated in the figure. Table (a) in figure 1 shows the entries that would be added to the routing tables of nodes 1 and 2 to reach node 3 by a traditional uni-path routing protocol (e.g. using shortest path first minimizing the expected number of transmissions). Table ( b) of figure 1 shows the entries with the candidates that would be added using OR. Note that in the candidate list of node 1, node 3 has more priority than node 2. Note also that node 2 has only one candidate (the destination). Therefore, upon being the next forwarder, node 2 would behave as in traditional uni-path routing. We now compute the expected number of transmissions from node 1 to the destination for uni-path routing (E uni 1 ) and OR (E OR 1 ). Clearly, E uni 1 = 1/q 12 + 1/q 23 ≈ 2.86. On the other hand, using OR we can write:. , where p i is the probability of node i being the next forwarder (or the destination), and E i is the expected number of transmissions from node i to the destination (note that E 3 = 0 and E 1 = E OR 1 ). Grouping terms we have E 1 = (1 + p 2 × E 2 )/(p 2 + p 3 ) = (1 + (1 − q 13 ) q 12 × 1/q 23 )/((1 − q 13 ) q 12 + q 13 ). Substituting we get E OR 1 ≈ 2.15. By comparing with E uni 1 , we obtain that using OR in this simple example could reduce the expected number of transmissions about 25 %.. One of the important issues of OR is candidate selection and relay priority assignment. All nodes in the network must run an algorithm for selecting and sorting the set of neighboring nodes (candidates) that can better help in the forwarding process to a given destination. We shall refer to this algorithm as candidate selection. Numerous routing protocols building on the idea of OR have been proposed [4, 5, 6, 7, 8] . Apart from other implementation aspects, these solutions specify how to select and prioritize the candidates. The aim of candidate selection algorithms is to minimize the expected number of transmissions from the source to the destination.. Another key issue in OR is the candidate coordination, i.e. the mechanism used by the candidates to discover which is the highest priority candidate that has received, and thus, must forward the packet.. With perfect coordination among candidates, the larger is the number of candidates the lower is the expected number of transmissions from the source to the destination. However, increasing the number of candidates increases also the coordination overhead. Therefore, in practice, the maximum number of candidates that can be used is limited. This fact has often been neglected in candidate selection algorithms proposed in the literature, i.e., the algorithms have been designed to select all candidates, without limit, that can reduce the expected number of transmissions.. In this paper we present two main contributions: first we propose a Discrete Time Markov chain (DTMC) that can be used to evaluate OR mechanisms in terms of the number of transmissions needed to reach the destination. Using our model we have obtained a formula, which is straightforward from the DTMC, to calculate the expected number of transmissions from source to the destination under opportunistic routing approach. Unlike previous studies, from the proposed model closed-form expressions not only for the mean but also for higher moments and the full probability distribution are easily derived. For each node, the ordered list of candidates and the delivery probability to each of them are inputs to our model. Hence, our model does not require any specific assumptions about the network topology nor the mechanism for selection and prioritization of candidates.. In the second contribution we apply our model to compare four candidate selection algorithms that have been proposed in the literature. They range from sub-optimal, but simple, to optimal, but with a high computational cost. We assume a shadowing propagation model and use our proposed model to study the expected number of transmissions and variance of the number of transmissions for the different candidate selection algorithms in a variety of scenarios. We propose modifications to the candidate selection algorithms under study in order to limit the maximum number of candidates per node. We address the questions: is there a substantial difference in performance between the simple and the optimal algorithms? What is their computational cost? So, under which conditions it is worth using an optimal algorithm?. The remainder of this paper is organized as follows. Section 2 surveys the related work. The proposed DTMC model is described in Section 3. The description of the four candidate selection algorithms under study is done in Section 4. Section 5 introduces the propagation model that we have used in our numerical experiments. The numerical results are presented and discussed in Section 6 and concluding remarks are given in Section 7. In this paper we have proposed a discrete time Markov chain to analyze the performance gain that may be achieved by using opportunistic routing. In our model the nodes are the states of the chain, and the state transitions model how the packet progresses through the network. The only ingredients needed to build the transition probability matrix are the candidates of each node, and the delivery probabilities to reach them. As a consequence, the proposed model can be applied independently of the candidate selection algorithm that is employed. The model leads to a discrete phase-type representation for the distribution of the number of transmissions that are needed to reach the destination node. An important advantage of the phase-type representation is that there exist simple and closed-form expressions for its distribution and moments.. We have applied our model to compare four relevant algorithms that have been proposed in the literature for the candidate selection in OR: extremely Opportunistic Routing (ExOR); Opportunistic Any-Path Forwarding (OAPF); Least-Cost Opportunistic Routing (LCOR); and Minimum Transmission Selection (MTS). They range from the simplicity of ExOR, the intermediate computational complexity of OAPF, to the optimal but high computational cost of LCOR and MTS. We have modified the algorithms such that the maximum number of candidates can be limited.. We have used our model to obtain numerical results for a shadowing propagation model and different candidate selection algorithms. We have compared different scenarios in terms of the expected number of transmissions needed to send a packet from source to the destination, variance of expected number of transmissions and the probability of the number of transmissions needed to reach the destination. We also computed the execution time to construct the candidates sets.. Our results show that using any OR algorithm outperforms the traditional uni-path routing. Furthermore, if the maximum number of candidates is not limited, all of the algorithms have almost the same expected number of transmissions. Such assumption is not realistic since the algorithms may choose a large number of candidates, which will introduce large signaling overhead and duplicate transmissions. When the maximum number of candidates is limited, our results show that the expected number of transmissions required by ExOR is larger than the other OR algorithms. This is because of the coarse selection of the candidates sets of ExOR. However, the performance obtained with OAPF has always been very close to the optimal algorithms. We have also observed that the variance of the number of transmissions may be reduced very much using opportunistic routing. This result is specially important in networks requiring QoS.. Regarding the execution times, that fact that EXOR is based on ETX makes this algorithm much faster than the others. For the optimum algorithms, we have obtained that MTS outperforms LCOR. However, both algorithms require extremely large times to compute the candidates sets in a dense network (on the order of hours in a modern PC). On the other hand, OAPF is able to run the candidate selection with execution time orders of magnitude lower than the optimum algorithms (on the order of minutes). Therefore, we conclude that a fast and simple OR candidate selection algorithm (as OAPF) may be preferable in dynamic networks, where the candidates sets are likely to be updated frequently. Biswas and Morris proposed ExOR [9, 4] , one of the firsts and most referenced OR protocols. The selection of candidates is based on the Expected Transmission Count (ETX) metric. ETX is the average number of transmissions required to reliably send a packet across a link or a uni-path route, including retransmissions [10] . The candidates are assigned a priority order according to their position for forwarding packets to the destination.. In opportunistic routing, however, it is necessary to consider the fact that there are some candidates which can receive the packet, thus, a packet may travel along any of the potential paths. So using the ETX to compute the expected number of transmissions does not give an accurate metric for OR.. In [11] , Zhong et al. proposed a new metric -expected any-path transmission (EAX)-that generalizes ETX to an OR framework and proposed a candidate selection and prioritization scheme based on the new metric. They analyzed the efficacy of OR by using this metric and did a comparison using the link-level measurement trace of MIT Roofnet [12] .In [7, 3] a distributed algorithm for computing minimum cost opportunistic routes, which is a generalization of the well-known Bellman-Ford algorithm, is presented. The authors also alert about the risk of using too many relay candidates. In [13] Li et al. introduced a new metric -Successful Transmission Rate (STR)-for choosing the forwarder list. They considered multi-links contribution instead of one best link information used in [11, 14] . They proposed a fair OR (FORLC) protocol that used STR as a metric to select the forwarder list. In [8] the key problem of how to optimally select the forwarder list is addressed, and an optimal algorithm that minimizes the expected total number of transmissions is developed.. One of the important issues of opportunistic routing is the coordination between candidates in order to prevent duplicate retransmissions. Different coordination schemes have been proposed which normally rely on establishing some priority order and exchanging state information between candidates. In some of them like [9] , an acknowledgment based scheme as the one used in traditional 802.11 is employed. This scheme requires each candidate who has received the data packet to broadcast an ACK in different time slots according to its priority. Each ACK contains the ID of the highest-priority successful recipient known to the ACK's sender. All the candidates listen to all ACKs before deciding whether to forward the data packet. In [15] , for the coordination, explicit control packets are exchanged immediately before or after a data transmission. A RTS/CTS scheme is used to select the best next-hop forwarder between the potential ones which respond in a priority order.. In contrast to the aforementioned mechanism for coordination in conventional opportunistic routing, network coding may provide an elegant method for candidate coordination [16, 17, 18] . Each candidate can create and broadcast coded packets. MORE [17] is a MAC independent protocol that uses both the idea of OR and network coding. It avoids duplicate transmissions by randomly mixing packets before forwarding. The sender creates a linear combinations of packets and broadcasts the resulting packet after adding a MORE header containing the candidates set. Each receiving node discards the packet if it is not linearly independent from the the other packets received before, or if its ID does not appear in the candidate list. Otherwise, it linearly combines the received coded packets and rebroadcasts the new packet.. However, using network coding with OR may lead to a high number of potential forwarders sending coded packets, and thus, resulting in redundant transmissions. There exists a trade-off between transmitting a sufficient number of coded packets to guarantee that the destination has enough coded packets to reconstruct the native packets, and avoiding to inject in the network unnecessary packets [16] . In general, design of efficient coding-aware OR protocols needs to consider topology, traffic pattern and reduction of extra overhead [19] .. There are some papers which propose analytical models to study the performance of OR. Baccelli et al. [20] used simulations to show that OR protocols significantly improve the performance of multihop wireless networks compared to the shortest path routing algorithms, and elaborated a mathematical framework to prove some of the observations obtained by the simulations. In [21] an analytical approach for studying OR in wireless multi-hop networks have been proposed. They used lognormal shadowing and Rayleigh fading models for packet reception. In their model they assume that the nodes are uniformly distributed over the plane. The authors did not consider any specific candidate selection algorithm, but simply compute the expected progress of the packet transmissions based on the probability of any node in the progressing region successfully receives the packet. The authors of [22] proposed an utility-based model for opportunistic routing and claimed that for the optimal solution it is necessary to search all loop-free routes from the source to the destination. They proposed both optimal and heuristic solutions for selecting the candidates according to their utility function. In [23] an algebraic approach is applied to study the interaction of OR routing algorithms and routing metrics. Zubow et al. in [24] claimed that shadow fading losses for spatially close candidates are not independent from each other, unlike commonly assumed. They presented measurements obtained from an indoor testbed and concluded that correlations can not be neglected if nodes are separated by less than 2 m. In [25] we proposed a Markov model to assess the improvement that may be achieved using opportunistic routing. This model is the basis of the analytic approach described in Section 3. At the same time, Li and Zhang published an analytical framework to estimate the transmission costs of packet forwarding in wireless networks [26] . Both approaches are similar in their formulation, although differ in the way the model is solved: our model leads to a discrete phase-type distribution, while in [26] transmission costs are computed using spectral graph theory. Finally, in [27] we have derived the equations that yield the distances of the candidates in opportunistic routing (OR) such that the per transmission progress towards the destination is maximized. There, we have proposed a lower bound to the expected number of transmissions needed to send a packet using OR.

O O O O B I I O B I B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Refunctionalization at Work We present the left inverse of Reynolds's defunctionalization and we show its relevance to programming and to programming languages. We present two methods to put a program that is almost in defunctionalized form into one that is actually in defunctionalized form, and we illustrate them with a recognizer for Dyck words and with Dijkstra's shunting-yard algorithm. This article is a continuation of Danvy and Nielsen's earlier article "Defunctionalization at Work" [25] , that outlined the extent to which Reynolds's defunctionalization [41] is pervasive in writing and transforming programs, and in specifying and implementing programming languages. Our goal here is to show that the left inverse of defunctionalization, i.e., refunctionalization, is also relevant to programming and to programming languages. We first review defunctionalization and its left inverse, refunctionalization (Section 2). We then present two techniques for restating programs from being almost in defunctionalized form to being in defunctionalized form: disentangling and merging apply functions (Section 3), and we illustrate these techniques with two examples: recognizing Dyck words (Section 4) and Dijkstra's shunting-yard algorithm (Section 5). After reviewing other applications (Section 6), we conclude (Section 7). We have outlined the extent to which the left inverse of Reynolds's defunctionalization is relevant to transforming programs and to implementing programming languages. Elsewhere, we have illustrated its relevance to programming [10, 22, 25] and to specifying programming languages [2-4, 7, 9, 18, 24] .. In some sense, our work on defunctionalization and refunctionalization provides a concrete illustration for the paragraph that follows the definition of the quicksort algorithm, in Section 2. Dijkstra's shunting-yard algorithm and Landin's SECD machine were directly written for programming languages of 'old provenience.' In Section 5 and in our earlier work [18, 24] , we have shown how each is the defunctionalized and CPS-transformed counterpart of a recursive program in direct style. Incidentally, the same can be said of the quicksort algorithm in Wirth's book: CPS-transforming and defunctionalizing the recursive definition that precedes the paragraph above in the book yields the iterative definition that immediately follows in the book. So the 'certain amount of additional bookkeeping operations' mentioned above can be mechanized using the CPS transformation and defunctionalization. The same could be said for their respective correctness proofs: instead of developing them separately [30, 50] , these proofs could be considered in the light of defunctionalization and refunctionalization [25, Section 5]-a future work.

B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O