<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s110505229</article-id>
<article-id pub-id-type="publisher-id">sensors-11-05229</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Retrieval of the Extreme Values under Deadline Constraints in Wireless Sensor Networks</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Baek</surname><given-names>Seung Jun</given-names></name><xref ref-type="aff" rid="af1-sensors-11-05229"><sup>1</sup></xref><xref ref-type="corresp" rid="c1-sensors-11-05229">★</xref></contrib>
<contrib contrib-type="author">
<name><surname>Yu</surname><given-names>Xiaohan</given-names></name><xref ref-type="aff" rid="af1-sensors-11-05229"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Lee</surname><given-names>Kyogu</given-names></name><xref ref-type="aff" rid="af2-sensors-11-05229"><sup>2</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Kim</surname><given-names>Hyunhak</given-names></name><xref ref-type="aff" rid="af3-sensors-11-05229"><sup>3</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-11-05229">
<label>1</label> Department of Computer and Communications, Korea University, Anam-dong Seongbuk-gu, 130-701, Seoul, Korea; E-Mail: <email>yuxiaohan188@126.com</email></aff>
<aff id="af2-sensors-11-05229">
<label>2</label> Department of Digital Contents Convergence, Seoul National University, Seoul, Korea; E-Mail: <email>kglee@snu.ac.kr</email></aff>
<aff id="af3-sensors-11-05229">
<label>3</label> Electronics and Telecommunications Research Institute, 138 Gajeongno, Yuseong-gu, Daejeon, 305-700, Korea; E-Mail: <email>hh.kim@etri.re.kr</email></aff>
<author-notes>
<corresp id="c1-sensors-11-05229">
<label>★</label> Author to whom correspondence should be addressed; E-Mail: <email>sjbaek@korea.ac.kr</email>; Tel.: +82-2-3290-4847.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>12</day>
<month>5</month>
<year>2011</year></pub-date>
<volume>11</volume>
<fpage>5229</fpage>
<lpage>5252</lpage>
<history>
<date date-type="received">
<day>20</day>
<month>4</month>
<year>2011</year></date>
<date date-type="rev-recd">
<day>2</day>
<month>5</month>
<year>2011</year></date>
<date date-type="accepted">
<day>11</day>
<month>5</month>
<year>2011</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>We consider a problem of retrieving the extreme value among sensed data under deadline constraints in wireless sensor networks with potential applications to alarm systems. The sensed data is mapped to a score which we adopt as a unified measure of the relative urgency of the data. The objective is to retrieve the data with the maximum score. We propose fully distributed schemes for contention based medium access and data combining. The proposed medium access scheme uses a randomized back-off which is controlled based on the score of the data to be transmitted. Data combining techniques are proposed to further suppress unnecessary traffic and reduce contention. The key observation is that one should aggressively prioritize packets with high score, up to an extent that does not incur excessive contention in channel access. Designed to capture such aspect, the proposed scheme is shown to substantially decrease the latency of the retrieval.</p></abstract>
<kwd-group>
<kwd>wireless sensor networks</kwd>
<kwd>medium access control</kwd>
<kwd>distributed algorithm</kwd>
<kwd>latency</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Wireless sensor networks (WSN) are networks of battery-operated sensors which are capable of wireless communication. WSNs envision a wide range of applications in environmental and habitat monitoring, military surveillance, building and facility monitoring, and emergency medical care. An important property of WSNs is that they are application-centric, <italic>i.e.</italic>, WSNs are deployed to carry out a specific mission. Thus it is desirable that the design of WSN is adapted to specific tasks so as to optimize the performance in mission execution.</p>
<p>Commonly an objective of WSNs is to provide a <italic>summary</italic> of the sensed data generated in the network. The relevant summary is defined as certain function applied to the raw sensor data [<xref ref-type="bibr" rid="b1-sensors-11-05229">1</xref>]. Given the sensor readings <italic>x</italic><sub>1</sub>, <italic>x</italic><sub>2</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic>, the goal is to compute <italic>f</italic>(<italic>x</italic><sub>1</sub>, <italic>x</italic><sub>2</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic>). Examples of <italic>f</italic>(·) are mean, max, min, <italic>etc.</italic> When mean function is used, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi> </mml:mi>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>n</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. In this paper we study the design of WSN with an objective of <italic>extreme</italic> data retrieval. Specifically <italic>f</italic>(·) of interest is max or min, however these two objectives are identical in nature, thus without loss of generality we will focus on max. Note WSNs for such extreme data retrieval is suitable for ‘alarm’ systems [<xref ref-type="bibr" rid="b1-sensors-11-05229">1</xref>]. For example suppose <italic>f</italic>(<italic>x</italic><sub>1</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic>) = max<italic><sub>i</sub></italic><sub>=1,...,</sub><italic><sub>n</sub></italic> [<italic>x</italic><italic><sub>i</sub></italic>] where <italic>x</italic><italic><sub>i</sub></italic> are the temperature values of the monitoring region. Then the mission can be to identify the highest temperature value and its location so that an alarm is triggered if the value is above a threshold. A crucial aspect of emergency applications is to retrieve the information in a timely manner. We assume that there is a strict deadline for data retrieval, and we focus on maximizing the probability of the retrieval of the extreme data at the deadline.</p>
<p>When the data samples <italic>x</italic><sub>1</sub>, <italic>x</italic><sub>2</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic> are drawn from random variables (RV) <italic>X</italic><sub>1</sub>, <italic>X</italic><sub>2</sub>, . . ., <italic>X</italic><italic><sub>n</sub></italic> with <italic>different</italic> distributions, it is meaningless to directly compare the values <italic>x</italic><sub>1</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic> or to compute max among the data. To deal with such heterogeneity we will introduce a <italic>score</italic> system which provide a unified measures of the ‘urgency’ of a data sample. Specifically a score represents how much the associated data sample is <italic>deviated</italic> from its usual distribution. Thus the objective is in fact to retrieve the data with the maximum <italic>score</italic>, <italic>i.e.</italic>, the data sample that exhibits the highest degree of ‘abnormality’. The details are explained in Section 3.</p>
<p>We consider a network such that data is collected in a multi-hop manner through a tree topology. The sink is located at the root of the tree. The goal for the sink is to retrieve the extreme data through the tree, and the data gathering tree is assumed to be given. The data collection is initiated at an instant which is not known beforehand. Every sensor begins forwarding a data sample to the sink at the instant. Latency is defined to be the time between the initiating instant and the retrieval of the extreme value among data samples at the sink. We want the latency to meet the deadline requirement. Since the sink only needs to compute the extreme value, there can be substantial redundancy in the traffic generated by the network. If every sensor were to forward every generated reading to the sink, it would incur significant latency and energy consumption. As will be detailed later, a certain class of <italic>f</italic>(·) allow the data to be combined in the intermediate nodes along the route. For such class of <italic>f</italic>(·), max being in the class, intermediate combining of data do not alter the final <italic>f</italic>(·) computed at the sink. A collective term for the intermediate aggregation and combining techniques is <italic>in-network aggregation</italic> [<xref ref-type="bibr" rid="b2-sensors-11-05229">2</xref>–<xref ref-type="bibr" rid="b4-sensors-11-05229">4</xref>]. A survey on in-network aggregation techniques is provided in [<xref ref-type="bibr" rid="b5-sensors-11-05229">5</xref>].</p>
<p>We propose a scheme for latency reduction based on priority-based medium access and data combining. The scheme consists of the following three schemes. The first scheme focuses on the medium access aspects. In our model the sensors contend for channel access in a fully distributed manner. Multiple requests for a single time resource result in a collision. Since the network traffic needs to be aggregated to the sink in a short time, the traffic is bursty in time and space. Thus it is crucial to resolve contention in an efficient way. Intuitively it is preferable to give high priority of channel access to sensors having ‘large’ data values, since we wish the maximum data to arrive at the sink as early as possible. We propose a scheme to implicitly assign such priority by means of randomized back-off which is controlled based on how ‘large’ the data value is. We observe that there exists a trade-off between priority assignment and channel contention. If the priority assignment is highly biased towards a certain class of sensors, it may restrict resource for other classes of sensors. In situations where a number of sensors with restricted resource have to compete, a collision can occur with high probability. Conversely if we treat all the nodes equally, the number of collisions can be reduced, however there will be no gains in latency reduction from prioritizing the nodes with large data values. A contention resolution scheme capturing this aspect is proposed in Section 4.</p>
<p>The second scheme is called <italic>selective forwarding</italic>, and third scheme is to exploit <italic>overhearing</italic> other transmission. These schemes attempt to suppress unnecessary traffic by leveraging the property of the objective max function as follows. Suppose a node receives a packet to be forwarded to the next hop. If any of the previous packets this node has forwarded/received contain a data value <italic>greater</italic> than that of the current packet, the packet is of no use to the sink. Thus this forwarding request can be ignored, which reduces traffic. The overhearing technique exploits the broadcast property of wireless transmission, and the similar principle to that of selective forwarding is applied in order to further decrease traffic.</p>
<p>When the three schemes are combined, a synergistic effect in latency reduction is observed. Specifically the second and third techniques help reducing unnecessary traffic, thus lowering the level of contention and the number of collisions. Due to the aforementioned trade-off between priority assignment and collision, reduced contention enables more <italic>aggressive</italic> assignment of high priority to high data sensors by the first scheme, which further reduces the latency defined above. The main idea is elaborated in Section 4, and is supported by simulation results in Section 5.</p></sec>
<sec>
<label>2.</label>
<title>Related Work</title>
<p>Fundamental limits on computing a class of functions called <italic>divisible</italic> functions <italic>f</italic>(·) are studied in [<xref ref-type="bibr" rid="b1-sensors-11-05229">1</xref>]. The divisible functions are a class of functions that can be computed in divide-and-conquer manner without affecting the final result. Suppose there are a set of <italic>n</italic> data samples. Divide the set into two arbitrary groups of <italic>k</italic> and <italic>n – k</italic> samples. Let us denote the data of the first and second group by <italic>x</italic><sub>1</sub>, <italic>x</italic><sub>2</sub>, . . ., <italic>x</italic><italic><sub>k</sub></italic> and <italic>x</italic><italic><sub>k</sub></italic><sub>+1</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic> respectively. If <italic>f</italic>(·) is divisible, <italic>f</italic> (<italic>f</italic>(<italic>x</italic><sub>1</sub>, . . ., <italic>x</italic><italic><sub>k</sub></italic>)<italic>, f</italic>(<italic>x</italic><italic><sub>k</sub></italic><sub>+1</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic>)) = <italic>f</italic>(<italic>x</italic><sub>1</sub>, <italic>x</italic><sub>2</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic>) holds for any <italic>n</italic> and <italic>k</italic>. The divisible functions enable efficient in-network aggregation. Examples of divisible functions are sum, max and min. Moreover [<xref ref-type="bibr" rid="b1-sensors-11-05229">1</xref>] showed that when computing max or min functions, one can achieve particularly low overhead in communications which scales as at most <italic>O</italic>(log(<italic>n</italic>)). This suggests that there is much room for performance improvement in retrieving the extreme data.</p>
<p>A number of data gathering problems aiming at achieving low latency have been studied. The trade-off between energy and data gathering latency is investigated in [<xref ref-type="bibr" rid="b6-sensors-11-05229">6</xref>]. The authors study an aggregation strategy for minimizing energy dissipation exploiting the fact that longer transmission time of a packet can save energy expenditure, <italic>i.e.</italic>, a link-level trade-off studied in [<xref ref-type="bibr" rid="b7-sensors-11-05229">7</xref>]. A series of works [<xref ref-type="bibr" rid="b8-sensors-11-05229">8</xref>–<xref ref-type="bibr" rid="b10-sensors-11-05229">10</xref>] have focused on scheduling of data aggregation in order to minimize latency. In [<xref ref-type="bibr" rid="b10-sensors-11-05229">10</xref>] a scheduling algorithm of the links in aggregation tree using maximal independent set to achieve a latency bound which scales additively in network radius and maximum degree.</p>
<p>The efficiency of in-network aggregation is characterized by the following trade-off between traffic reduction and latency. A node may wait for sufficient amount of data to be aggregated before forwarding the aggregated information to the next-hop node. The longer a node waits for aggregation, the more the traffic is decreased. The decrease in traffic reduces contention for channel access, which improves the efficiency of in-network aggregation. On the other hand, such waiting time incurs extra latency in the data gathering process. Thus the question is how long nodes should wait before transmitting the aggregated information when there is a deadline constraint. The work of [<xref ref-type="bibr" rid="b11-sensors-11-05229">11</xref>] formulates such decision making as semi-Markov Decision Process. They propose an approximation algorithm for finding the optimal waiting time for aggregation in order to maximize the ‘reward’. The reward is defined as a function of the number of samples collected at the sink before deadline. Also [<xref ref-type="bibr" rid="b12-sensors-11-05229">12</xref>] proposed a framework based on dynamic programming for maximizing the number of packets reaching the sink under energy and deadline constraints. The work [<xref ref-type="bibr" rid="b13-sensors-11-05229">13</xref>] studies a similar problem of maximizing the amount of collected information using dynamic programming. They consider a contention-based MAC using CSMA/CA, and find the optimal waiting time for aggregation and the associated MAC parameters.</p>
<p>Unlike these works we do <italic>not</italic> consider optimizing such waiting times. In the proposed scheme, a node attempts transmission if there is any data to send, and does not wait for further aggregation of data. Instead we focus on distributed, priority-based channel access and techniques specific to retrieving the maximum value. However it is clear that the proposed scheme can be easily extended to schemes such that the nodes wait for the aggregation of data. Such extension should address the problem of optimizing waiting time under the proposed medium access and data combining scheme, which is a possible direction for future study. We also mention that our scheme is fully distributed and has very low overhead that is independent of the network size.</p>
<p>A number of recent works discussed distributed medium access based on priority. Much attention has been paid on designing distributed scheduling algorithms to achieve the maximum throughput of multi-hop wireless networks [<xref ref-type="bibr" rid="b14-sensors-11-05229">14</xref>–<xref ref-type="bibr" rid="b21-sensors-11-05229">21</xref>]. By assigning channel access priorities based on nodes’ load, e.g., queue length. These works have shown the existence of distributed algorithms for maximum throughput in various network models, e.g., node-exclusive interference and IEEE 802.11-like model with collisions. The details and the relevance to our work will be discussed later in Section 4.4.</p>
<p>In the following we mention additional related works which aim at the reduction of traffic in sensor networks. The works [<xref ref-type="bibr" rid="b22-sensors-11-05229">22</xref>,<xref ref-type="bibr" rid="b23-sensors-11-05229">23</xref>] have proposed the routing protocols which carry out an efficient transportation of the most excessive values of sensed data. The TiNA scheme [<xref ref-type="bibr" rid="b24-sensors-11-05229">24</xref>] is proposed to reduce power consumption by suppressing the generation of new data if its value does not differ from the previously transmitted values by more than certain threshold. A scheme to resolve the traffic congestion in sensor networks so-called funneling effect is proposed in [<xref ref-type="bibr" rid="b25-sensors-11-05229">25</xref>] which uses spatially adaptive in-network aggregation. The trade-off between the power savings and preserving the integrity of aggregated information has been investigated in [<xref ref-type="bibr" rid="b26-sensors-11-05229">26</xref>].</p></sec>
<sec>
<label>3.</label>
<title>Model</title>
<p>The topology of the network is modeled by a graph <italic>𝒢</italic> = (<italic>V</italic>, <italic>E</italic>) where <italic>V</italic> is set of node indices and <italic>E</italic> is the set of wireless links. We consider a <italic>node exclusive interference</italic> model for the wireless sensors. The primary constraint is that a node cannot simultaneously receive and transmit data. A slight modification is made to the node exclusive model in this paper. We assume that a node can <italic>overhear</italic> the data transmitted by a one-hop neighbor unless the node is either a transmitter or receiver. In the original model it is assumed that only one node can receive from a transmitter, which is mainly for the ease of modeling, however our modified version better captures the broadcast nature of wireless networks. We consider a time-slotted system. The overall time is broken into <italic>frames</italic> where each frame has a constant duration denoted by <italic>t</italic><italic><sub>f</sub></italic>. A frame is divided into two phases similar to the model used in [<xref ref-type="bibr" rid="b18-sensors-11-05229">18</xref>,<xref ref-type="bibr" rid="b20-sensors-11-05229">20</xref>]. The first phase, called <italic>contention phase</italic>, is used for contention-based channel access and contention resolution. A contention phase consists of <italic>m</italic> time slots which are called <italic>minislots</italic> of duration <italic>δ</italic>. The minislots are indexed by {1, 2, . . ., <italic>m</italic>}. The duration of the contention phase is denoted by <italic>t</italic><italic><sub>c</sub></italic>. The second phase is called <italic>data transmission phase</italic>, and is used for data transmission. The data transmission phase has a fixed duration of <italic>t</italic><italic><sub>d</sub></italic>, e.g., see <xref ref-type="fig" rid="f1-sensors-11-05229">Figure 1</xref>. Nodes are allowed to contend for channel access and transmit data only at the beginning of each frame. We will assume that fine-grained synchronization schemes, such as [<xref ref-type="bibr" rid="b27-sensors-11-05229">27</xref>], are available. Thus the nodes are assumed to be synchronized to the timeslots with negligible errors.</p>
<p>The nodes are allowed to begin transmission at only one of the minislots. If there is only one sensor that transmits the earliest in the contention phase, we say the sensor wins the frame. The winner of the frame will transmit during the frame. The transmission from the winning node is assumed to be detectable by the contending nodes. When the contending nodes senses the channel busy, they stop further attempts for contending and wait for the next frame in which they retry transmission. If more than one nodes attempt to transmit in the same minislot, a collision is declared. We assume that such collision can be sensed by contending nodes, <italic>i.e.</italic>, both collision and successful transmissions are ‘channel busy’ events. When a collision occurs, all the contending nodes cease the attempts to transmit on the current frame, and resume contention on the next frame.</p>
<p>We assume the data gathering is globally initiated, and the initiation signal is synchronized to a frame boundary. At the signaling, the measured data is assumed to be available at every node, thus all the nodes initiate transmissions simultaneously. The initiation signaling is assumed to be instantaneously done through a network-wide broadcast by certain ‘supernode’ e.g., an aircraft transmitting a strong signal that can be received by all the nodes in a sensing field. From the initiation signal a deadline <italic>d</italic>, measured in terms of the number of frames, is imposed on the network. Let us denote the number of frames it takes for the sink to retrieve the maximum data value by a RV <italic>T</italic>. Our goal is to maximize ℙ(<italic>T</italic> ≤ <italic>d</italic>). From the definition of the latency, the objective of ‘maximizing the probability of retrieval subject to deadlines’ is equivalent to ‘maximizing the cumulative distribution function (CDF) of the latency’. In Section 5, using simulations, we will demonstrate that the CDF of the latency of the proposed scheme exceeds that of the baseline scheme.</p>
<p>The set of node indices is denoted by <italic>I</italic> = {1, 2, . . ., <italic>n</italic>}. We assume the reading from sensor node <italic>i</italic> ∈ <italic>I</italic> is a continuous RV <italic>X</italic><italic><sub>i</sub></italic> which has a smooth cumulative distribution function (CDF) <italic>F</italic><sub><italic>X<sub>i</sub></italic></sub> (·) and is independent of other sensors’ data. We begin by providing a precise definition of the ‘extreme’ or ‘maximum’ data value. Note the typical motivation behind retrieving extreme data is to detect <italic>abnormality</italic> of sensor readings. The abnormality can be defined as how much a sensor’s reading deviates from its usual statistics. Specifically for a given reading <italic>x</italic><italic><sub>i</sub></italic> which is a realization of <italic>X</italic><italic><sub>i</sub></italic>, we should focus on how <italic>unlikely</italic> the event <italic>x</italic><italic><sub>i</sub></italic> is to occur with respect to its usual statistics seen by Node <italic>i</italic>. Let us denote the distribution function of <italic>X</italic><italic><sub>i</sub></italic> by <italic>F</italic><sub><italic>X<sub>i</sub></italic></sub> (<italic>x</italic><italic><sub>i</sub></italic>) = ℙ(<italic>X</italic><italic><sub>i</sub></italic> ≤ <italic>x</italic><italic><sub>i</sub></italic>). Suppose we have the readings <italic>x</italic><sub>1</sub>, . . ., <italic>x</italic><italic><sub>n</sub></italic>, we would like to find the node <italic>i</italic>* such that
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>i</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:munder>
<mml:mrow>
<mml:mtext>argmin</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>I</mml:mi></mml:mrow></mml:munder>
<mml:mi> </mml:mi>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo>𝕇</mml:mo>
<mml:mo>(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:munder>
<mml:mrow>
<mml:mtext>argmax</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>I</mml:mi></mml:mrow></mml:munder>
<mml:mi> </mml:mi>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mi> </mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:math></disp-formula>and <italic>x</italic><italic><sub>i*</sub></italic>. This approach is particularly useful if the data collected by sensors modeled by RVs with heterogeneous distributions. For example, suppose <italic>X</italic><italic><sub>i</sub></italic> is a Gaussian RV with mean <italic>μ</italic><italic><sub>i</sub></italic> and variance 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>σ</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>, or <italic>X</italic><italic><sub>i</sub></italic> ∼ <italic>N</italic> (<italic>μ</italic><italic><sub>i</sub></italic>, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>σ</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>). If <italic>μ</italic><italic><sub>i</sub></italic> and <italic>σ</italic><italic><sub>i</sub></italic> were to be identical, for a given readings <italic>x</italic><italic><sub>i</sub></italic> and <italic>x</italic><italic><sub>j</sub></italic>, we would be able to directly compare <italic>x</italic><italic><sub>i</sub></italic> and <italic>x</italic><italic><sub>j</sub></italic>. In such case the objective reduces to finding <italic>i</italic>* = argmax<italic><sub>i</sub></italic><sub>∈</sub><italic><sub>I</sub></italic> [<italic>x</italic><italic><sub>i</sub></italic>], <italic>i.e.</italic>, finding the literally maximum data. By contrast if <italic>μ</italic><italic><sub>i</sub></italic> and <italic>σ</italic><italic><sub>i</sub></italic> are heterogeneous among sensors, such direction comparison is not possible—only the comparison through <italic>F</italic><sub><italic>X<sub>i</sub></italic></sub> (<italic>x<sub>i</sub></italic>) and <italic>F</italic><sub><italic>X</italic><italic><sub>j</sub></italic></sub> (<italic>x</italic><italic><sub>j</sub></italic>) would be appropriate for our purpose. It is assumed that every node knows the CDF of its sensed data. Also the sink is aware of <italic>F</italic><sub><italic>X</italic><italic><sub>i</sub></italic></sub> (·), ∀<italic>i</italic> ∈ <italic>I</italic>. Let us define <italic>Y</italic><italic><sub>i</sub></italic> := <italic>F</italic><sub><italic>X</italic><italic><sub>i</sub></italic></sub> (<italic>X</italic><italic><sub>i</sub></italic>) and also denote a realization of the data by <italic>y</italic><italic><sub>i</sub></italic> := <italic>F</italic><sub><italic>X</italic><italic><sub>i</sub></italic></sub> (<italic>x</italic><italic><sub>i</sub></italic>). We call <italic>Y</italic><italic><sub>i</sub></italic> the <italic>score</italic> of the data of node <italic>i</italic>. By definition the score <italic>Y</italic><italic><sub>i</sub></italic> is a uniform RV on [0,1]. Since the data generated in the network is assumed to be independent across sensors, the problem is effectively retrieving max<italic><sub>i</sub></italic><sub>∈</sub><italic><sub>I</sub></italic> [<italic>Y</italic><italic><sub>i</sub></italic>], or the maximum among <italic>n</italic> i.i.d. uniform RVs. Instead of reporting the actual readings <italic>x</italic><italic><sub>i</sub></italic>, sensors generate/forward data packets containing <italic>y</italic><italic><sub>i</sub></italic> and <italic>i</italic>, the node ID. Since the sink is aware of <italic>F</italic><sub><italic>X<sub>i</sub></italic></sub> (·), it can recover <italic>x</italic><italic><sub>i</sub></italic> from <italic>y</italic><italic><sub>i</sub></italic> if it desires to do so. Thus our objective is to retrieve the data with the maximum <italic>score</italic>.</p></sec>
<sec>
<label>4.</label>
<title>Proposed Scheme</title>
<p>The proposed scheme consists of three elements: priority-based medium access, selective forwarding and overhearing.</p>
<sec>
<label>4.1.</label>
<title>Priority-Based Medium Access</title>
<p>We propose a fully distributed medium access scheme such that the node with high score is likely to access the channel earlier than those with lower score. To facilitate understanding we begin with the limiting case such that the length of minislots vanish however the contention window remains fixed. Namely we let <italic>δ</italic> = <italic>t</italic><italic><sub>c</sub></italic><italic>/m</italic> and <italic>m</italic> → ∞. Thus choosing a minislot to transmit data corresponds to selecting a real number from the continuous interval [0, <italic>t</italic><italic><sub>c</sub></italic>] which is the time instant to start transmission. In this case it is easy to find a fully distributed scheme without collision: for example Node <italic>i</italic> sets a timer for channel access at the beginning of each frame where the timeout is set to (1 – <italic>y</italic><italic><sub>i</sub></italic>)<italic>t</italic><italic><sub>c</sub></italic>. Then with probability 1 Node <italic>i</italic>* = argmax<sub><italic>i</italic>∈<italic>I</italic></sub> [<italic>y</italic><italic><sub>i</sub></italic>] will win the channel access. Thus if Node <italic>i</italic>* is <italic>k</italic> hops away from the sink, the maximum-score data reaches the sink in exactly <italic>k</italic> frames with probability 1. If we consider a balanced tree for the data gathering tree, the maximum score data is retrieved in <italic>k</italic> ∼ <italic>O</italic>(log(<italic>n</italic>)) frames.</p>
<p>In practice however, the minislot <italic>δ</italic> cannot be indefinitely small. <italic>δ</italic> should account for propagation delay and should be sufficiently long such that the transmission from a station can be detected by its neighboring nodes [<xref ref-type="bibr" rid="b28-sensors-11-05229">28</xref>]. For example in 802.11a, <italic>δ</italic> is given by 9 <italic>μs</italic>. We propose a fully distributed priority based scheme when <italic>δ</italic> is strictly positive and <italic>m</italic> is finite. The idea in the above case of continuous contention window with vanishing <italic>δ</italic> was to <italic>defer</italic> transmission based on the score. For <italic>δ</italic> &gt; 0 with finite <italic>m</italic>, however, one should not defer transmission in a deterministic manner, otherwise once multiple nodes collide at a frame they will repeat colliding in all subsequent frames, resulting in a deadlock. In the proposed scheme a node defers the <italic>participation</italic> in channel contention, by remaining idle during the first several minislots, say <italic>k</italic> &lt; <italic>m</italic> minislots. Note <italic>k</italic> is determined based on the score. Since <italic>m</italic> is fixed, this has an effect of <italic>shrinking</italic> the individual contention window to <italic>m</italic> – <italic>k</italic> for the sensor. We refer to such shrunk contention window size as the <italic>effective contention window</italic> (ECW) for the node. The sensor selects a minislot for transmission randomly and uniformly over the remaining <italic>m</italic> – <italic>k</italic> minislots.</p>
<p>Specifically the proposed scheme operates as follows. We introduce global system parameters denoted by <italic>β</italic> which is a strictly positive integer, and <italic>γ</italic> which is a strictly positive real number. Details on these parameters will be explained later. For Sensor <italic>i</italic> let us denote the data to be transmitted/forwarded by the score <italic>y</italic><italic><sub>i</sub></italic> ∈ [0, 1]. The counter <italic>c</italic> ∈ ℤ<sub>+</sub> is incremented each time collision occurs, and is reset to 0 once a transmission is successful.
<list list-type="order">
<list-item>
<p>Set the window length <italic>w</italic> as
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mi>c</mml:mi></mml:msup>
<mml:mi> </mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>⌈</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi> </mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>γ</mml:mi></mml:msup></mml:mrow>
<mml:mo>⌉</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mo>+</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>β</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>∧</mml:mo>
<mml:mi>m</mml:mi></mml:mrow></mml:math></disp-formula>where <italic>a</italic> ∧ <italic>b</italic> denotes min(<italic>a, b</italic>) and ⌈·⌉ denotes the ceiling function.</p></list-item>
<list-item>
<p>Select a minislot randomly from <italic>m</italic> – <italic>w</italic> + 1, . . ., <italic>m</italic> with the equal probability of <italic>w</italic><sup>−1</sup>.</p></list-item></list></p>
<p>The details are provided as follows. The idea is that a node delays channel contention by the number of minislots that increases with decreasing <italic>y</italic><italic><sub>i</sub></italic>. Thus the sensors with higher <italic>y</italic><italic><sub>i</sub></italic> gets higher chance of transmission, since such sensors are likely to participate in contention earlier during the contention phase. The choice of the effective window size <italic>w</italic> given by <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref> renders the size be roughly proportional to 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>γ</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>, if we ignore <italic>β</italic>. The term 2<italic><sup>c</sup></italic> accounts for binary exponential back-off (BEB), <italic>i.e.</italic>, ECW size increases exponentially with the number of successive collisions.</p>
<p>An example is illustrated in <xref ref-type="fig" rid="f2-sensors-11-05229">Figure 2</xref> assuming <italic>m</italic> = 10, <italic>γ</italic> = 1, <italic>c</italic> = 0 and <italic>ß</italic> = 1. There are three contending sensors with ID 1, 2 and 3. The scores for the sensors are given by <italic>y</italic><sub>1</sub> = 0.9, <italic>y</italic><sub>2</sub> = 0.5 and <italic>y</italic><sub>3</sub> = 0.1. From <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>, ECW size for Sensor 1 is <italic>m</italic>, thus it fully utilizes the contention phase period. Sensor 2 has the score 0.5, thus from <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>, its ECW size is given by 6. Sensor 2 picks a minislot randomly from minislot index 5, 6, . . ., 10. Thus the probability of selecting a minislot within ECW is 1/6. Sensor 3 has a low score of <italic>y</italic><sub>3</sub> = 0.1, thus gets ECW size of 2. The purpose of the parameter <italic>ß</italic> is to set a lower bound on the size of ECW. Since <italic>ß</italic> ≥ 1, the lower bound on <italic>w</italic> is at least 1.</p>
<sec>
<title>System Parameters</title>
<p>The parameter <italic>γ</italic> is called <italic>warping factor</italic>. As the name suggests scores are nonlinearly distorted by <italic>γ</italic> in determining the ECW. By controlling <italic>γ</italic> one can achieve varying degrees of <italic>aggressiveness</italic> in giving priority to nodes with high scores. To facilitate understanding the role of <italic>γ</italic>, let us consider an illustrated example in <xref ref-type="fig" rid="f3-sensors-11-05229">Figure 3</xref>. The function <italic>y</italic><italic><sup>γ</sup></italic> has been plotted for <italic>y</italic> ∈ [0, 1] with varying <italic>γ</italic>. Consider four score values <italic>y</italic><sub>1</sub>, <italic>y</italic><sub>2</sub>, <italic>z</italic><sub>1</sub> and <italic>z</italic><sub>2</sub>. The pair of high scores <italic>y</italic><sub>1</sub> and <italic>y</italic><sub>2</sub> are close to 1, and the pair of low scores <italic>z</italic><sub>1</sub> and <italic>z</italic><sub>2</sub> are close to 0.</p>
<p>Consider the case <italic>γ</italic> <italic>&gt;</italic> 1. For high score pairs <italic>y</italic><sub>1</sub> and <italic>y</italic><sub>2</sub>, a small difference between <italic>y</italic><sub>1</sub> and <italic>y</italic><sub>2</sub> will result in a large difference in the ECW size. Also consider a pair of ‘low’ scores <italic>z</italic><sub>1</sub> and <italic>z</italic><sub>2</sub>, the difference between the ECW size is small relative to the difference between <italic>z</italic><sub>1</sub> and <italic>z</italic><sub>2</sub>. Since <italic>w</italic> is monotonically decreasing function in <italic>γ</italic>, the ECW shrinks with increasing <italic>γ</italic> for any fixed score. Thus by increasing <italic>γ</italic> one increases overall chance of collision, however also increases the probability of high score sensors winning the frame.</p>
<p>The case where 0 &lt; <italic>γ</italic> &lt; 1 has the opposite effect. With decreasing <italic>γ</italic>, the sensitivity of the ECW size decreases (resp. increases) for high score (resp. low score) sensors. Furthermore decreasing <italic>γ</italic> has an effect of increasing ECW for all the sensors, thus the probability of collision will decrease. Roughly speaking, small <italic>γ</italic> implies that the sensors are roughly fair in terms of the likelihood of channel access regardless of the scores. In the limiting case where <italic>γ</italic> = 0 all the sensors gets the maximum window size of <italic>m</italic> minislots. We refer to a baseline contention scheme such that every node selects a minislot randomly and uniformly from minislot indices 1, 2, . . ., <italic>m</italic> as UNIFORM scheme. Thus when <italic>γ</italic> = 0, the proposed scheme reduces to UNIFORM scheme.</p>
<p>Thus <italic>γ</italic> quantifies the aggressiveness in prioritizing high score sensors in channel access. Larger <italic>γ</italic> corresponds to higher aggressiveness. The choice of <italic>γ</italic> will be discussed later.</p></sec>
<sec sec-type="methods">
<title>Analysis of Transmission Probability</title>
<p>The proposed medium access scheme is analyzed below. Suppose all the <italic>n</italic> users contend for channel access at certain frame. The scores are denoted by <italic>y</italic><sub>1</sub>, <italic>y</italic><sub>2</sub>, . . ., <italic>y</italic><italic><sub>n</sub></italic>. Without loss of generality we assume <italic>y</italic><sub>1</sub> ≥ <italic>y</italic><sub>2</sub> ≥ . . . ≥ <italic>y</italic><italic><sub>n</sub></italic>. For Sensor <italic>i</italic>, we would like to find out the probability that Sensor <italic>i</italic> will win the frame. We found that it is complicated to solve for the probability for nonzero <italic>δ</italic>. Instead we will consider an approximation which is a continuous time analogue to the system. We will again assume the ideal case such that <italic>m</italic> → ∞ and <italic>δ</italic> = <italic>t</italic><italic><sub>c</sub></italic><italic>/m</italic> → 0. For further simplicity we will ignore <italic>ß</italic> and assume <italic>γ</italic> = 1 and <italic>c</italic> = 0, and define <italic>t</italic><italic><sub>c</sub></italic> = 1. Under these assumptions the time instant for transmission, which is analogous to choosing a minislot in the discrete time case, is chosen uniformly over the interval [1 – <italic>y</italic><italic><sub>i</sub></italic>, 1], ∀<italic>i</italic> ∈ <italic>I</italic>. Thus the size of ECW for Sensor <italic>i</italic> is <italic>y</italic><italic><sub>i</sub></italic>.</p>
<p><bold>Proposition 1.</bold> <italic>The probability that Sensor i wins the frame is given by</italic>
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>i</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msubsup>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula><italic>where z</italic><italic><sub>j</sub></italic> := <italic>y</italic><italic><sub>j</sub></italic>/<italic>y</italic><italic><sub>i</sub></italic> <italic>for j</italic> = 1, . . ., <italic>n</italic> and <italic>z</italic><italic><sub>n</sub></italic><sub>+1</sub> := 0.</p>
<p><italic>Proof.</italic> We will assume <italic>i</italic> &gt; 1: it is easy to verify that <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> holds for the case where <italic>i</italic> = 1 using the similar arguments as below. Let us define the time variable <italic>t</italic> such that <italic>t</italic> = 0 at the instant of the beginning of the ECW of Sensor <italic>i</italic>. Consider the probability of Sensor <italic>i</italic> winning the frame during the time interval [0, <italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+1</sub>], <italic>i.e.</italic>, Sensor <italic>i</italic> wins the frame prior to the beginning of the ECW of Sensor <italic>i</italic> + 1. Since the probability that Sensor <italic>i</italic> transmits during [<italic>t</italic>, <italic>t</italic> + <italic>dt</italic>] is given by <italic>dt/y</italic><italic><sub>i</sub></italic>, and in order for this transmission to be successful on Sensors 1, . . ., <italic>i</italic> – 1 must not have transmitted until time <italic>t</italic>. Note the ECW of Sensor <italic>k</italic> for 1 ≤ <italic>k</italic> ≤ <italic>i</italic> – 1 begins at time <italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>k</sub></italic> which is a negative number. Thus Sensor <italic>k</italic> must not transmit during [<italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>k</sub></italic>, <italic>t</italic>], and the probability for this event is
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>+</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>Since the above events are mutually independent, the probability of Sensor <italic>i</italic>’s transmission is successful during [0, <italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+1</sub>] is given by
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mo>∫</mml:mo>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow>
<mml:mi> </mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>By making the change of integration variables <italic>s</italic> = <italic>t/y</italic><italic><sub>i</sub></italic>, <xref ref-type="disp-formula" rid="FD4">Equation (4)</xref> is equal to
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:msubsup>
<mml:mo>∫</mml:mo>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>i</mml:mi></mml:msubsup></mml:mrow>
<mml:mi>i</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>i</mml:mi></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>i</mml:mi></mml:msubsup>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>i</mml:mi></mml:msubsup></mml:mrow>
<mml:mi>i</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>z</italic><italic><sub>k</sub></italic>’s follow the above definition. Note the <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref> results simply from <italic>z</italic><italic><sub>i</sub></italic> = 1.</p>
<p>Let us consider the probability that Sensor <italic>i</italic>’s transmission is successful during [<italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+1</sub>, <italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+2</sub>]. This time interval corresponds to the duration between the beginning of ECW of Sensor <italic>i</italic> + 1 and <italic>i</italic> + 2. Similar to the previous case, when Sensor <italic>i</italic> transmits during [<italic>t, t</italic> + <italic>dt</italic>], Sensor <italic>k</italic> for <italic>k</italic> ∈ {1, . . ., <italic>i</italic> – 1, <italic>i</italic> + 1} must not transmit until time <italic>t</italic>. The probability of such event is
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>i</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Thus the probability of Sensor <italic>i</italic> transmission being successful during [<italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+1</sub>, <italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+2</sub>] is
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mo>∫</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>i</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mi> </mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>By making the similar change of variables <italic>s</italic> = <italic>t/y</italic><italic><sub>i</sub></italic>, (7) is given by
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:msubsup>
<mml:mo>∫</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>i</mml:mi></mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∏</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>By continuing the similar computations for the probability of successful transmission during intervals [<italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+2</sub>, <italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+3</sub>], [<italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+3</sub>, <italic>y</italic><italic><sub>i</sub></italic> – <italic>y</italic><italic><sub>i</sub></italic><sub>+4</sub>], . . ., we obtain the expression (3).</p>
<p>Let us consider a special case such that <italic>y</italic><sub>1</sub> ≥ <italic>y</italic><sub>2</sub> = <italic>y</italic><sub>3</sub> = . . . = <italic>y</italic><italic><sub>n</sub></italic>. Let us denote the probability of Sensor 1 winning the frame by <italic>p</italic><sub>1</sub>. From Proposition 1 it is given by
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>1</mml:mn>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>+</mml:mo>
<mml:mi> </mml:mi>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi></mml:msubsup></mml:mrow>
<mml:mi>n</mml:mi></mml:mfrac>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>1</mml:mn>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>n</mml:mi></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula>where <italic>z</italic><sub>2</sub> = <italic>y</italic><sub>2</sub><italic>/y</italic><sub>1</sub>. The probability of a Sensor other than Sensor 1 becoming the winner of frame is given by (1 – <italic>p</italic><sub>1</sub>)/(<italic>n</italic> – 1) = <italic>z</italic><sub>2</sub><italic>/n</italic> = <italic>y</italic><sub>2</sub>/(<italic>ny</italic><sub>1</sub>) due to the symmetry among <italic>n</italic> – 1 sensors except Sensor 1. Thus these sensors gets the probability proportional to their score <italic>y</italic><sub>2</sub>. Thus this can serve as a good approximation when <italic>n</italic> – 1 sensors have small scores which are similar to each other, and there is one sensor with a large score, thus the probability is approximately <italic>y</italic><italic><sub>i</sub></italic><italic>/</italic>(<italic>ny</italic><sub>1</sub>). Note the analysis is based on the continuous approximation, in particular the collision has been ignored. The actual probability of successful transmission and <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> will be compared in Section 5 via numerical methods.</p></sec></sec>
<sec sec-type="intro">
<label>4.2.</label>
<title>Selective Forwarding</title>
<p>The second technique is called <italic>selective forwarding</italic>. The idea is that one can suppress unnecessary data transmission by exploiting the property of max function. Suppose at <italic>j</italic>th frame a sensor received a packet which needs to be forwarded to the parent of the sensor. Assume that the sensor has kept history of the maximum score among all the received data up to (<italic>j</italic> – 1)th frame. Suppose the score contained in the packet received at <italic>j</italic>th frame is less than the maximum score over all the packets which have been received and forwarded by the sensor prior to the <italic>j</italic>th frame. Since the sink needs to retrieve only the maximum score data, this packet will be eventually discarded at the sink. Rather than wasting resource to forward data to the sink, the sensor can silently drop the packet. This is called the selective forwarding. The max operation make such technique particularly simple, since it is easy to store the history of the maximum data.</p>
<p>Let us denote the maximum among the scores which Node <italic>i</italic> has been successfully received for forwarding up to frame <italic>t</italic> ∈ ℤ<sub>+</sub> by <italic>z</italic><italic><sub>i</sub></italic>(<italic>t</italic>). We define <italic>z</italic><italic><sub>i</sub></italic>(0) = <italic>F</italic><sub><italic>X</italic><sub>i</sub></sub> (<italic>x</italic><italic><sub>i</sub></italic>). Suppose at frame <italic>s</italic> ∈ ℤ<sub>+</sub>, the node has received the data <italic>z</italic> requested for forwarding. In case where <italic>z</italic><italic><sub>i</sub></italic>(<italic>t</italic>) &gt; <italic>z</italic>, Node <italic>i</italic> will discard the data, and if <italic>z</italic><italic><sub>i</sub></italic>(<italic>t</italic>) already has been transmitted, the sensor will go idle: otherwise the sensor will proceed to transmit <italic>z</italic><italic><sub>i</sub></italic>(<italic>t</italic>). In case where <italic>z</italic><italic><sub>i</sub></italic>(<italic>t</italic>) ≤ <italic>z</italic>, Node <italic>i</italic> updates <italic>z</italic><italic><sub>i</sub></italic>(<italic>s</italic>) to <italic>z</italic>, and this data will be queued for transmission. A flowchart in <xref ref-type="fig" rid="f4-sensors-11-05229">Figure 4</xref> illustrates the above procedure of selective forwarding. Note <italic>z</italic> in the flow chart denotes the received data (score). Also note that a sensor may receive data while attempting to transmit, and the procedure shown in <xref ref-type="fig" rid="f4-sensors-11-05229">Figure 4</xref> captures such aspect combined with the selective forwarding.</p>
<p><xref ref-type="fig" rid="f5-sensors-11-05229">Figure 5</xref> illustrates an example of selective forwarding. There are four sensors with ID 1, 2, 3 and 4. The packet contains data with a format (<italic>i, y</italic><italic><sub>i</sub></italic>) where <italic>i</italic> is sensor ID and <italic>y</italic><italic><sub>i</sub></italic> is the score of the sensor. At frame <italic>k</italic>, Sensor 3 transmits the packet with data (3, 0.9) to Sensor 1. At frame <italic>k</italic> + 1, Sensor 1 forwards the data (3, 0.9) to its parent, Sensor 4. At this frame Sensor 1 updates <italic>z</italic><sub>1</sub>(<italic>k</italic>) to the forwarded data 0.9, assuming <italic>z</italic><sub>1</sub>(<italic>k</italic> – 1) &lt; 0.9. At frame <italic>k</italic> + 2, Sensor 2 transmits data (2,0.7) to Sensor 1. However the score 0.7 is less than <italic>z</italic><sub>1</sub>(<italic>k</italic>) = 0.9, Sensor 1 silently drops the packet and remains idle at frame <italic>k</italic> + 3. In this specific example only 3 packets have been transmitted using selective forwarding instead of 4 packets. Suppressing unnecessary packet transmissions will help reducing the contentions in upstream traffic to the sink, which will likely to reduce latency. This is demonstrated later in Section 5.</p></sec>
<sec>
<label>4.3.</label>
<title>Exploiting Overhearing</title>
<p>Since the wireless channel is a shared medium, every transmission is in fact a broadcast. For a node with a close by transmitter, there is a chance of overhearing the transmitted packet even though the node is not the intended receiver. Overhearing is useful since such opportunity is obtained without contention, however a sensor can suppress transmission of unnecessary data. The scheme operates as follows. Similar to selective forwarding every sensor stores the maximum score up to current frame. Let us denote the maximum among all the score received/forwarded at Sensor <italic>i</italic> up to time <italic>t</italic> ∈ ℤ<sub>+</sub> again by <italic>z</italic><italic><sub>i</sub></italic>(<italic>t</italic>). If Sensor <italic>i</italic> overhears data <italic>z</italic> that is greater than <italic>z</italic><italic><sub>i</sub></italic>(<italic>t</italic>) at frame <italic>s</italic>, the sensor can <italic>update z</italic><italic><sub>i</sub></italic>(<italic>s</italic>) to <italic>z</italic>. Note such update increases <italic>z</italic><italic><sub>i</sub></italic>(·), which increases the chance of discard unnecessary data using selective forwarding. Thus exploiting overhearing is a <italic>complementary</italic> scheme to selective forwarding.</p>
<p>Overhearing may not be always possible even though there is ongoing transmission by a neighboring sensor. The overhearing opportunity is affected by concurrent transmissions of other neighboring sensors, interference, <italic>etc.</italic> Given a set of transmitting sensors in the network, the set of nodes which can successfully overhear nearby transmission varies with the interference model used. The following is the condition under which overhearing is allowed in our node-exclusive interference model. Consider a transmitting sensor <italic>i</italic> and the set of neighboring sensors denoted by <italic>N</italic>(<italic>i</italic>). Any <italic>v</italic> ∈ <italic>N</italic>(<italic>i</italic>) can overhear <italic>i</italic>’s transmission if <italic>v</italic> is neither transmitting nor receiving at the same frame. The condition is from the limitation that in node-exclusive interference model, nodes cannot transmit and receive simultaneously. Note in other interference models such as two-hop interference model which is suitable for modeling IEEE 802.11 DCF (Distributed Coordination Function), one can find similar conditions for overhearing.</p>
<p><xref ref-type="fig" rid="f6-sensors-11-05229">Figure 6</xref> illustrates an example of overhearing. There are four sensors with ID 1,2,3 and 4. The packet contains data with a format (<italic>i</italic>, <italic>y</italic><italic><sub>i</sub></italic>) where <italic>i</italic> is sensor ID and <italic>y</italic><italic><sub>i</sub></italic> is the score. At frame <italic>k</italic>, Sensors 2 and 3 contended for transmission to Sensor 1, and Sensor 3 won frame <italic>k</italic>. Thus Sensor 3 transmitted the packet with data (3, 0.9) to Sensor 1, while Sensor 2 waits for the next frame. At frame <italic>k</italic> +1, Sensor 1 forwards the data (3, 0.9) to its parent, Sensor 4. Sensors 2 and 3 are assumed to be idle, <italic>i.e.</italic>, neither transmitting or receiving at frame <italic>k</italic> + 1, which means they are eligible for overhearing the packet containing (3, 0.9) transmitted by Sensor 1. Having overheard data that is greater than the current data to transmit, Sensor 2 updates <italic>z</italic><sub>2</sub>(<italic>k</italic> + 1) to 0.9. Since there is no need to forward (2,0.7) to Sensor 1, Sensor 2 remains idle at frame <italic>k</italic> + 2. Now suppose Sensor 2 had a child node. If Sensor 2 had been receiving data from its child sensor at frame <italic>k</italic> + 1, it would not have been able to overhear Sensor 1’s transmission, e.g., see the rightmost of <xref ref-type="fig" rid="f6-sensors-11-05229">Figure 6</xref>. In that case Sensor 2 might have transmitted at frame <italic>k</italic> + 2.</p>
<p>In general the graph describing the data gathering tree may not be the same as the node adjacency graph. Namely there can be a node adjacency graph <italic>𝒢̂</italic> such that the data gathering tree <italic>𝒢</italic> is a subgraph of <italic>𝒢̂</italic>. This implies that there may be further possible overhearing opportunity in the network other than that resulting from data gathering tree. For example, in <xref ref-type="fig" rid="f6-sensors-11-05229">Figure 6</xref>, Sensors 2 and 3 may be adjacent nodes in <italic>𝒢̂</italic>, although such relation is not specified in the forwarding graph <italic>𝒢</italic>. When the node adjacency graph is dense the network is a rich environment for overhearing. Note for dense graphs the network throughput may be severely limited by contention and interference. However overhearing compensates such limitation particularly for the applications retrieving the extreme data value, since unnecessary transmissions can be further suppressed by overhearing in denser networks, which in turn reduces subsequent contention for channel access.</p>
<p>The whole procedure which combines priority-based channel access, selective forwarding and overhearing is given in <xref ref-type="table" rid="t2-sensors-11-05229">Algorithm 1</xref>. The SelectSlot() subroutine used in <xref ref-type="table" rid="t2-sensors-11-05229">Algorithm 1</xref> is provided in <xref ref-type="table" rid="t3-sensors-11-05229">Algorithm 2</xref>.</p></sec>
<sec sec-type="discussion">
<label>4.4.</label>
<title>Discussions</title>
<p>Recently distributed scheduling algorithms for wireless networks with contention based medium access has gained much interest. A series of work [<xref ref-type="bibr" rid="b14-sensors-11-05229">14</xref>–<xref ref-type="bibr" rid="b21-sensors-11-05229">21</xref>] has been proposed on assigning channel access priorities to nodes based on the individual loads, e.g., queue lengths. Note however, these studies have been carried out under different context: the emphasis has been on achieving a fraction of the <italic>capacity region</italic> of the network using only local information, e.g., queue lengths of contending neighbors. The capacity region is defined to be the union of the set of all input rates which can be supported by the network, <italic>i.e.</italic>, input loads under which the system can be stabilized.</p>
<p>Among these studies, [<xref ref-type="bibr" rid="b17-sensors-11-05229">17</xref>] and [<xref ref-type="bibr" rid="b16-sensors-11-05229">16</xref>] use timers with exponentially distributed timeouts as a means to assign priorities in channel access. If a node has data to transmit, it first sets a timer whose timeout is exponentially distributed independently of other nodes. The node waits until the timer expires, and begins transmission unless the channel is sensed to be busy. The rates of such exponential distribution are set according to certain function of the backlog of the nodes. Thus multiple neighboring nodes independently compete with exponentially distributed timers, and the one whose timer expires first wins the channel. Thus by controlling the rate of timer expiry, the priorities of channel access are implicitly assigned to nodes based on their individual loads.</p>
<p>A similar idea has been used for policy <italic>V</italic> [<xref ref-type="bibr" rid="b18-sensors-11-05229">18</xref>] and Q-SCHED algorithm [<xref ref-type="bibr" rid="b20-sensors-11-05229">20</xref>]. They also consider a two-phase contention model in which a node picks a minislot to transmit during contention phase. Nodes wait for a random number of minislots before transmission. The distribution of waiting time is a truncated version of geometric distribution which can be regarded as a discrete analogue of (truncated) exponential distribution. However in these schemes there is nonzero probability that a node does not attempt transmission [<xref ref-type="bibr" rid="b18-sensors-11-05229">18</xref>,<xref ref-type="bibr" rid="b20-sensors-11-05229">20</xref>]. In such schemes, since the nodes do not always participate in channel contention, the probability of collision will be relatively low. However one should be more aggressive in attempting transmissions in our problem, particularly for nodes with high scores. The reason is that, in the proposed scheme, selective forwarding and overhearing are used in addition to priority based channel access. This in turn increases the probability that high score nodes will be scheduled in the subsequent frames, <italic>i.e.</italic>, the effect is disseminated throughout the network. Once a transmission of high score packet is successful, it can suppress unnecessary traffic generated from the neighboring nodes. Also the system parameters <italic>γ</italic> and <italic>ß</italic> should be set in an aggressive way. Indeed we have heuristically found that setting <italic>γ</italic> = 3 and <italic>ß</italic> = 1 leads to better performance. Note when <italic>γ</italic> &gt; 1 and as <italic>ß</italic> gets smaller, the sensors are more aggressive in transmission attempts. In summary, the synergistic effect among the components of the proposed scheme enables us to be more aggressive towards minimizing the latency.</p>
<p>Furthermore these works focus on achieving a long-term throughput that is sustainable by the network. However our problem pertains to retrieving information in a short period of time. The traffic is bursty in time and space, thus the regime of interest is quite different from such setup. Indeed we will demonstrate using simulation that those scheme may not be effective in reducing the latency of retrieving extreme statistics.</p></sec>
<sec>
<label>4.5.</label>
<title>Extensions</title>
<p>In this subsection we discuss several extensions of the proposed framework. We first consider <italic>k</italic>-maximum data retrieval problem as follows. Let us denote <italic>k</italic>-th largest data from the scores <italic>y</italic><sub>1</sub>, . . ., <italic>y</italic><italic><sub>n</sub></italic> by <italic>y</italic><sub>[</sub><italic><sub>k</sub></italic><sub>]</sub>. The <italic>k</italic>-maximum data retrieval problem is for the sink to collect <italic>y</italic><sub>[<xref ref-type="bibr" rid="b1-sensors-11-05229">1</xref>]</sub>, <italic>y</italic><sub>[<xref ref-type="bibr" rid="b2-sensors-11-05229">2</xref>]</sub>, . . ., <italic>y</italic><sub>[</sub><italic><sub>k</sub></italic><sub>]</sub>. Similar overhearing and selective forwarding can be applied with a small change. The selective forwarding can be modified such that a node forwards only the data larger than the <italic>k</italic>-th largest data that it has received/forwarded. Note every sensor needs to maintain only <italic>k</italic> sets of variables to keep track of the history of <italic>k</italic> largest data since max is a divisible function. Similar modification can be made for the overhearing technique.</p>
<p>Another extension is a scenario where the sensors generate data samples periodically. Assume the sensors generate data samples at every unit time. When the signal for data retrieval is broadcast to the network, the sensors report the most recent data samples, say the last <italic>b</italic> samples, to the sink. The time instants of data sample generations are called <italic>timestamps</italic>. Thus the data samples are periodically generated and stored over a sliding time window of the length of <italic>b</italic> timestamps where the timestamps are one unit time apart. The goal of sink is to retrieve <italic>b</italic> maximum scores, one for each timestamps. Specifically suppose the timestamps for the maximum data retrieval are denoted by <italic>t</italic><sub>1</sub>, <italic>t</italic><sub>2</sub>, . . ., <italic>t</italic><italic><sub>b</sub></italic>. Denote the score at sensor <italic>i</italic> for timestamp <italic>t</italic><italic><sub>j</sub></italic> by <italic>y</italic><italic><sub>i</sub></italic>(<italic>t</italic><italic><sub>j</sub></italic>). The objective for the sink is to collect <italic>y</italic>*(<italic>j</italic>) = max<italic><sub>i</sub></italic><sub>∈</sub><italic><sub>I</sub></italic> [<italic>y</italic><italic><sub>i</sub></italic>(<italic>t</italic><italic><sub>j</sub></italic>)] for <italic>j</italic> = 1, 2, . . ., <italic>b</italic>. The latency is measured as the time when all of <italic>b</italic> maximum scores <italic>y</italic>*(<italic>j</italic>), <italic>j</italic> = 1, 2, . . ., <italic>b</italic> are retrieved at the sink. We assume a packet can contain only one data sample, and only one packet can be transmitted per frame. The timestamp is assumed to be included in a packet. In this application the sensors can apply rules for selective forwarding and overhearing separately to packets with different timestamps. A set of packets with the same timestamp can be treated as an individual <italic>flow</italic>, thus the proposed scheme can be applied separately to each flow. However the latency is affected by the parameter <italic>b</italic>. Since initially <italic>b</italic> packets need to be transmitted by every node, when <italic>b</italic> is large the network may undergo congestion for a long period of time. We later study the impact of <italic>b</italic> on the performance using simulations.</p></sec></sec>
<sec>
<label>5.</label>
<title>Simulation</title>
<sec>
<label>5.1.</label>
<title>Latency Distribution</title>
<p>By simulation we demonstrate the efficacy of the proposed scheme. We assume a complete binary tree as the data gathering tree. The number of nodes considered have been <italic>n</italic> = 2<sup>7</sup> – 1 = 127 and <italic>n</italic> = 2<sup>9</sup> – 1 = 511. The number of minislots were varied from either <italic>m</italic> = 10 or <italic>m</italic> = 30. We compare the performance of the proposed scheme with a baseline scheme defined as follows. The baseline scheme uses UNIFORM scheme for the medium access, and uses a simple in-network aggregation of combining available data without selective forwarding or overhearing. The latency has been measured in terms of the number of frames it takes for the extreme data arrives at the sink. Recall the latency is denoted by a RV <italic>T</italic>, and for a given deadline <italic>d</italic> we would like to maximize ℙ(<italic>T = d</italic>). Thus we examine the CDF of the latency for comparison.</p>
<p><xref ref-type="fig" rid="f7-sensors-11-05229">Figure 7</xref> shows the CDF of the latency when <italic>b</italic> = 1 for <italic>n</italic> = 127 and 511, each for <italic>m</italic> = 10 (left) and 30 (right). We see that the proposed scheme clearly outperforms the baseline scheme. For example when the probability of retrieval of the maximum data is given by 0.8, the proposed scheme achieves the latency that is roughly 19%–20% (resp. 15%–17%) lower than the baseline scheme when <italic>m</italic> = 10 (resp. <italic>m</italic> = 30). The overall latency is reduced for larger <italic>m</italic> since the contention window has become wider. The relative performance of the proposed scheme is slightly better for smaller <italic>m</italic>, which suggests that as the level of contention become higher, the proposed scheme becomes more effective.</p>
<p><xref ref-type="fig" rid="f8-sensors-11-05229">Figure 8</xref> shows the CDF of the latency when <italic>b</italic> = 3 for <italic>n</italic> = 127 and 511, each for <italic>m</italic> = 10 (left) and 30 (right). The reduction in latency at the probability of retrieval of 0.8 is 32–33% (resp. 30–32%) when <italic>m</italic> = 10 (resp. <italic>m</italic> = 30). Clearly the gains have increased compared to the case where <italic>b</italic> = 1. With larger <italic>b</italic> the network undergoes higher level of contention and temporary congestion, thus the gain in latency reduction due to the proposed scheme increases under high load on the network. The mean latency has been compared in <xref ref-type="table" rid="t1-sensors-11-05229">Table 1</xref>. The relative reduction in mean latency by the proposed scheme ranges 15.1–18.0% when <italic>b</italic> = 1, and 31.1–34.3% when <italic>b</italic> = 3.</p></sec>
<sec>
<label>5.2.</label>
<title>Comparisons of Random Access Schemes</title>
<p>Note that there are many ways to assign priorities of channel access to nodes. In this subsection we compare several schemes for priority assignment based on previous work on multi-hop networks [<xref ref-type="bibr" rid="b18-sensors-11-05229">18</xref>,<xref ref-type="bibr" rid="b20-sensors-11-05229">20</xref>]. These works also adopt a two-phase time slotted model for channel access. The contention window is similarly defined as consisting of a fixed number of minislots. The key difference is the algorithms for choosing a minislot for transmission. We apply these algorithms to our problem and compare the performance with the proposed scheme. We first need the following definition. Let us denote the set of the child nodes of Sensor <italic>i</italic> by <italic>𝒞</italic>(<italic>i</italic>) and the parent node by <italic>𝒫</italic>(<italic>i</italic>) in the aggregation tree. Note the nodes in <italic>𝒞</italic>(<italic>i</italic>) and <italic>𝒫</italic>(<italic>i</italic>) are the interferers to Sensor <italic>i</italic>. Let us define
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mo>+</mml:mo>
<mml:mi> </mml:mi>
<mml:mtext>max</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>𝒫</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>∈</mml:mo>
<mml:mi>𝒞</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msub>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>Roughly speaking <italic>q</italic><italic><sub>i</sub></italic> can be viewed as a ‘normalized’ score of Sensor <italic>i</italic> with respect to its interferers.</p>
<p>The first algorithm we consider is policy <italic>V</italic> proposed in [<xref ref-type="bibr" rid="b18-sensors-11-05229">18</xref>]. In policy <italic>V</italic> a node attempt a transmission at every minislot with the following probability:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mi>m</mml:mi></mml:msqrt>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>m</mml:mi></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>The second algorithm is Q-SCHED [<xref ref-type="bibr" rid="b20-sensors-11-05229">20</xref>]. In the algorithm a discrete RV <italic>M</italic> is defined which takes a value from {1, 2, . . ., <italic>m</italic> + 1} and has the following distribution: for <italic>k</italic> = 1 . . ., <italic>m</italic>,
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo>ℙ</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>M</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mtext>exp</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>m</mml:mi></mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:mtext>exp</mml:mtext>
<mml:mi> </mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mi>m</mml:mi></mml:mfrac>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>g</italic>(<italic>m</italic>) = log(2<italic>m</italic>)/2. ℙ(<italic>M</italic> = <italic>k</italic>) is the probability that the minislot <italic>k</italic> is selected. Also 
<inline-formula>
<mml:math>
<mml:mo>ℙ</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mn>1</mml:mn>
<mml:mi> </mml:mi>
<mml:mo>−</mml:mo>
<mml:mi> </mml:mi>
<mml:msubsup>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>m</mml:mi></mml:msubsup>
<mml:mrow>
<mml:mo>ℙ</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>M</mml:mi>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is defined to be the probability that the node will not attempt transmission in the frame. Note the algorithms above are modified to fit our model: in the original definition of <italic>q</italic><italic><sub>i</sub></italic>, instead of scores, a ratio of queue lengths normalized by link capacity is used. The analysis of [<xref ref-type="bibr" rid="b18-sensors-11-05229">18</xref>,<xref ref-type="bibr" rid="b20-sensors-11-05229">20</xref>] shows that with the above algorithm, the probability of Sensor <italic>i</italic> becoming the winner is guaranteed up to an amount that is proportional to <italic>q</italic><italic><sub>i</sub></italic>. Specifically the probability is at least <italic>q</italic><italic><sub>i</sub></italic>(0.5 – <italic>f</italic> (<italic>m</italic>)) where <italic>f</italic> (<italic>m</italic>) → 0 as <italic>m</italic> → ∞. Roughly speaking, the priority of channel access is assigned to Sensor <italic>i</italic> such that the channel access is guaranteed with a probability close to 0.5<italic>q</italic><italic><sub>i</sub></italic>.</p>
<p>We compare the performances of different algorithms for channel access. <xref ref-type="fig" rid="f9-sensors-11-05229">Figure 9</xref> shows the mean latency associated with the channel access schemes. The selective forwarding and overhearing are used with varying medium access schemes. ‘Mod. <italic>V</italic>’ (resp ‘Mod. Q-SCHED’) represents the modified policy <italic>V</italic> (resp. Q-SCHED algorithm). We observe that the proposed scheme incurs the lowest mean latency both for <italic>m</italic> = 10 and 30. Somewhat surprisingly, UNIFORM scheme performs better than modified policy <italic>V</italic> and Q-SCHED. The result can be explained as follows. <xref ref-type="fig" rid="f10-sensors-11-05229">Figure 10</xref> shows the statistics on the number of collision and the amount of traffic generated at the first frame. The first frame is defined to be the frame at which the data gathering is initiated. Note the generated traffic is potentially the heaviest at the first frame. On the left of <xref ref-type="fig" rid="f10-sensors-11-05229">Figure 10</xref> is the mean number of collisions in the first frame. We see that the number of collision of the proposed scheme is higher than UNIFORM scheme, while Q-SCHED and policy <italic>V</italic> have considerably lower number of collisions. However seemingly high number of collisions for the proposed scheme is in fact relatively small compared to the number of successful transmissions in the first frame which is shown on the right of <xref ref-type="fig" rid="f10-sensors-11-05229">Figure 10</xref>. We observe that the number of successful transmissions in the first frame for policy <italic>V</italic> and Q-SCHED are lower than the proposed and UNIFORM scheme. The reason is that, under policy <italic>V</italic> and Q-SCHED algorithm, there is nonzero probability that a node is ‘idle’, <italic>i.e.</italic>, it does not participate in channel contention. While in the proposed and UNIFORM scheme, every node attempts transmission at every frame. This also accounts for the lower number of collisions for policy <italic>V</italic> and Q-SCHED algorithm. <xref ref-type="fig" rid="f11-sensors-11-05229">Figure 11</xref> shows the mean score of the successful transmitted packet in the first frame. Since the scores of sensors in the first frame are <italic>n</italic> i.i.d. uniform RVs on [0,1] by definition, we see that the mean score for UNIFORM scheme is approximately 0.5. We see that the modified policy <italic>V</italic> and Q-SCHED has a mean score that is only slightly higher than the proposed scheme, which is possible however, by reducing the number of successful transmissions in the first frame. <xref ref-type="fig" rid="f11-sensors-11-05229">Figure 11</xref> shows that the proposed scheme finds compromise on these aspects: it achieves higher mean score than UNIFORM scheme without excessively reducing the number of successful transmissions in the first frame. Although not shown here, we observed that the number of collisions subsides faster in subsequent frames for the proposed scheme, compared to other schemes. This is a synergistic effect with selective forwarding and overhearing, since successful transmissions of high-score data contribute to suppressing traffic and reducing contention by these techniques, which eventually leads to decreased latency.</p>
<p>Here we make an important observation. When one intends to further prioritize high-score sensors, it is likely to lower the number of successful transmissions. Reducing the number of successful transmissions, especially by increasing the number of ‘idling’ nodes, seems to be more harmful to latency reduction as we see that UNIFORM outperforms policy <italic>V</italic> and Q-SCHED in <xref ref-type="fig" rid="f9-sensors-11-05229">Figure 9</xref>. Thus it is crucial that one should aggressively prioritize high score nodes, however should not excessively lower the number of successful transmissions. The proposed scheme is observed to exhibit such property.</p></sec>
<sec>
<label>5.3.</label>
<title>Analytical Estimate</title>
<p>In this subsection we study the effect of a finite <italic>m</italic> on the analytical estimate <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref>. We consider a set of nodes with <italic>n</italic> = 6 having scores (0.3,0.4,0.5,0.6,0.7,0.8). We assume every node interferes with every other node. The probability of winning a frame under the proposed medium access scheme is numerically computed. On the left of <xref ref-type="fig" rid="f12-sensors-11-05229">Figure 12</xref> is a plot of the probability of winning a frame as a function of the score with varying <italic>m</italic>. For small <italic>m</italic>, there is a gap between the probability of winning and the analytical estimate. This is due to the fact that the analysis assumes <italic>m</italic> → ∞ and does not account for collisions. However the gap appears to be small for a substantially small value of <italic>m</italic>, e.g., <italic>m</italic> = 10, considering the relatively large number of contending users, <italic>i.e.</italic>, <italic>n</italic> = 6. For larger value of <italic>m</italic> the estimate becomes fairly accurate.</p>
<p>Let us consider the probability of winning a frame <italic>conditional on</italic> that no collision has occurred. Heuristically one could expect that <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> becomes a better estimate, since by definition the collisions are already accounted for when the conditional probability is computed. On the right of <xref ref-type="fig" rid="f12-sensors-11-05229">Figure 12</xref> is a plot of the probability of successful transmissions conditional on that no collision has occurred. Indeed the figure seems to support the argument: <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> is virtually identical to the actual conditional distributions for all the simulated values of <italic>m</italic>. Let us denote the probability of Sensor <italic>i</italic> winning a frame for finite <italic>m</italic> by <italic>p</italic><italic><sub>i</sub></italic>. We conclude that <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> can be used as an approximation to <italic>p</italic><italic><sub>i</sub></italic><italic>/</italic>Σ<italic>p</italic><italic><sub>i</sub></italic>. In summary the analytical estimate <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref> is a reasonably good approximation even for small <italic>m</italic>, and is an excellent approximation for the conditional distribution, <italic>i.e.</italic>, the <italic>relative</italic> probability of a successful transmission among sensors.</p></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>In the work we have proposed the schemes to reduce latency of retrieving the extreme data from sensor networks. We have proposed three techniques: priority based medium access, selective forwarding and exploiting overhearing. By combining these techniques one can effectively explore the trade-off between prioritizing high score data and moderating contention. The proposed scheme is able to suppress unnecessary traffic and reduce contention, thus can be more aggressive in assigning high priority to high score data. The simulation results demonstrate that significant gains in the reduction of latency can be achieved by the proposed scheme.</p></sec></body>
<back>
<ack>
<p>This work was supported in part by the Ministry of Knowledge Economy (MKE) of the Korea 10035570, Development of self-powered smart sensor node platform for smart and green buildings. S. Baek was supported in part by KEIT Contract No. 10035213-2010-01.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-11-05229"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Giridhar</surname><given-names>A</given-names></name><name><surname>Kumar</surname><given-names>P</given-names></name></person-group><article-title>Computing and communicating functions over sensor networks</article-title><source>IEEE J. Sel. Area. Commun</source><year>2005</year><volume>23</volume><fpage>755</fpage><lpage>764</lpage><pub-id pub-id-type="doi">10.1109/JSAC.2005.843543</pub-id></citation></ref>
<ref id="b2-sensors-11-05229"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Heidemann</surname><given-names>J</given-names></name><name><surname>Silva</surname><given-names>F</given-names></name><name><surname>Intanagonwiwat</surname><given-names>C</given-names></name><name><surname>Govindan</surname><given-names>R</given-names></name><name><surname>Estrin</surname><given-names>D</given-names></name><name><surname>Ganesan</surname><given-names>D</given-names></name></person-group><article-title>Building efficient wireless sensor networks with low-level naming</article-title><source>ACM SIGOPS Oper. Syst. Rev</source><year>2001</year><volume>35</volume><fpage>146</fpage><lpage>159</lpage><pub-id pub-id-type="doi">10.1145/502059.502049</pub-id></citation></ref>
<ref id="b3-sensors-11-05229"><label>3.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Intanagonwiwat</surname><given-names>C</given-names></name><name><surname>Govindan</surname><given-names>R</given-names></name><name><surname>Estrin</surname><given-names>D</given-names></name></person-group><article-title>Directed diffusion: A scalable and robust communication paradigm for sensor networks</article-title><conf-name>Proceedings of the 6th Annual International Conference on Mobile Computing and Networking</conf-name><conf-loc>Boston, MA, USA</conf-loc><conf-date>6–11 August 2000</conf-date><fpage>56</fpage><lpage>67</lpage></citation></ref>
<ref id="b4-sensors-11-05229"><label>4.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Krishnamachari</surname><given-names>L</given-names></name><name><surname>Estrin</surname><given-names>D</given-names></name><name><surname>Wicker</surname><given-names>S</given-names></name></person-group><article-title>The impact of data aggregation in wireless sensor networks</article-title><conf-name>Proceedings of the 22nd International Conference on IEEE Distributed Computing Systems Workshops</conf-name><conf-loc>Vienna, Austria</conf-loc><conf-date>2–5 July 2002</conf-date><fpage>575</fpage><lpage>578</lpage></citation></ref>
<ref id="b5-sensors-11-05229"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Fasolo</surname><given-names>E</given-names></name><name><surname>Rossi</surname><given-names>M</given-names></name><name><surname>Widmer</surname><given-names>J</given-names></name><name><surname>Zorzi</surname><given-names>M</given-names></name></person-group><article-title>In-network aggregation techniques for wireless sensor networks: A survey</article-title><source>IEEE Wirel. Commun</source><year>2007</year><volume>14</volume><fpage>70</fpage><lpage>87</lpage></citation></ref>
<ref id="b6-sensors-11-05229"><label>6.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Yu</surname><given-names>Y</given-names></name><name><surname>Krishnamachari</surname><given-names>B</given-names></name><name><surname>Prasanna</surname><given-names>V</given-names></name></person-group><article-title>Energy-latency tradeoffs for data gathering in wireless sensor networks</article-title><conf-name>Proceedings of the Twenty-third Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2004)</conf-name><conf-loc>Hong Kong</conf-loc><conf-date>March 2004</conf-date><volume>1</volume></citation></ref>
<ref id="b7-sensors-11-05229"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Prabhakar</surname><given-names>B</given-names></name><name><surname>Biyikoglu</surname><given-names>U</given-names></name><name><surname>El Gamal</surname><given-names>A</given-names></name></person-group><article-title>Energy-efficient transmission over a wireless link via lazy packet scheduling</article-title><conf-name>Proceedings of the Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2001)</conf-name><conf-loc>Anchorage, AK, USA</conf-loc><conf-date>April 2002</conf-date><volume>1</volume><fpage>386</fpage><lpage>394</lpage></citation></ref>
<ref id="b8-sensors-11-05229"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Annamalai</surname><given-names>V</given-names></name><name><surname>Gupta</surname><given-names>S</given-names></name><name><surname>Schwiebert</surname><given-names>L</given-names></name></person-group><article-title>On tree-based convergecasting in wireless sensor networks</article-title><conf-name>Proceedings of IEEE Wireless Communications and Networking (WCNC 2003)</conf-name><conf-loc>New Orleans, LA, USA</conf-loc><conf-date>March 2003</conf-date><volume>3</volume><fpage>1942</fpage><lpage>1947</lpage></citation></ref>
<ref id="b9-sensors-11-05229"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>X</given-names></name><name><surname>Hu</surname><given-names>X</given-names></name><name><surname>Zhu</surname><given-names>J</given-names></name></person-group><article-title>Minimum data aggregation time problem in wireless sensor networks</article-title><source>Mob. Ad-hoc Sens. Netw</source><year>2005</year><volume>3794</volume><fpage>133</fpage><lpage>142</lpage></citation></ref>
<ref id="b10-sensors-11-05229"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Huang</surname><given-names>S</given-names></name><name><surname>Wan</surname><given-names>P</given-names></name><name><surname>Vu</surname><given-names>C</given-names></name><name><surname>Li</surname><given-names>Y</given-names></name><name><surname>Yao</surname><given-names>F</given-names></name></person-group><article-title>Nearly constant approximation for data aggregation scheduling in wireless sensor networks</article-title><conf-name>Proceedings of the 26th IEEE International Conference on Computer Communications (INFOCOM 2007)</conf-name><conf-loc>Anchorage, AK, USA</conf-loc><conf-date>6–12 May 2007</conf-date><fpage>366</fpage><lpage>372</lpage></citation></ref>
<ref id="b11-sensors-11-05229"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ye</surname><given-names>Z</given-names></name><name><surname>Abouzeid</surname><given-names>A</given-names></name><name><surname>Ai</surname><given-names>J</given-names></name></person-group><article-title>Optimal policies for distributed data aggregation in wireless sensor networks</article-title><conf-name>Proceedings of the 26th IEEE International Conference on Computer Communications (INFOCOM 2007)</conf-name><conf-loc>Anchorage, AK, USA</conf-loc><conf-date>6–12 May 2007</conf-date><fpage>1676</fpage><lpage>1684</lpage></citation></ref>
<ref id="b12-sensors-11-05229"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Hariharan</surname><given-names>S</given-names></name><name><surname>Shroff</surname><given-names>N</given-names></name></person-group><article-title>Maximizing aggregated revenue in sensor networks under deadline constraints</article-title><conf-name>Proceedings of the 48th IEEE Conference on Decision and Control</conf-name><conf-loc>Shanghai, China</conf-loc><conf-date>December 2009</conf-date><fpage>4846</fpage><lpage>4851</lpage></citation></ref>
<ref id="b13-sensors-11-05229"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>J</given-names></name><name><surname>Jia</surname><given-names>X</given-names></name><name><surname>Xing</surname><given-names>G</given-names></name></person-group><article-title>Real-time data aggregation in contention-based wireless sensor networks</article-title><source>ACM Trans Sens Netw</source><year>2010</year><pub-id pub-id-type="doi">10.1145/1806895.1806897.</pub-id></citation></ref>
<ref id="b14-sensors-11-05229"><label>14.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>X</given-names></name><name><surname>Rasool</surname><given-names>S</given-names></name></person-group><article-title>Constant-time distributed scheduling policies for <italic>ad hoc</italic> wireless networks</article-title><conf-name>Proceedings of the 45th IEEE Conference on Decision and Control</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>December 2006</conf-date><fpage>1258</fpage><lpage>1263</lpage></citation></ref>
<ref id="b15-sensors-11-05229"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sanghavi</surname><given-names>S</given-names></name><name><surname>Bui</surname><given-names>L</given-names></name><name><surname>Srikant</surname><given-names>R</given-names></name></person-group><article-title>Distributed link scheduling with constant overhead</article-title><conf-name>Proceedings of the 2007 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>12–16 June 2007</conf-date><fpage>313</fpage><lpage>324</lpage></citation></ref>
<ref id="b16-sensors-11-05229"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname><given-names>L</given-names></name><name><surname>Walrand</surname><given-names>J</given-names></name></person-group><article-title>A distributed CSMA algorithm for throughput and utility maximization in wireless networks</article-title><source>IEEE/ACM Trans. Netw</source><year>2010</year><volume>18</volume><fpage>960</fpage><lpage>972</lpage><pub-id pub-id-type="doi">10.1109/TNET.2009.2035046</pub-id></citation></ref>
<ref id="b17-sensors-11-05229"><label>17.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Jiang</surname><given-names>L</given-names></name><name><surname>Walrand</surname><given-names>J</given-names></name></person-group><article-title>Approaching throughput-optimality in a distributed CSMA algorithm: Collisions and stability</article-title><conf-name>Proceedings of the 2009 MobiHoc</conf-name><conf-loc>New Orleans, LA, USA</conf-loc><conf-date>May 2009</conf-date><fpage>5</fpage><lpage>8</lpage></citation></ref>
<ref id="b18-sensors-11-05229"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Joo</surname><given-names>C</given-names></name><name><surname>Shroff</surname><given-names>N</given-names></name></person-group><article-title>Performance of random access scheduling schemes in multi-hop wireless networks</article-title><source>IEEE/ACM Trans. Netw</source><year>2009</year><volume>17</volume><fpage>1481</fpage><lpage>1493</lpage><pub-id pub-id-type="doi">10.1109/TNET.2008.2010857</pub-id></citation></ref>
<ref id="b19-sensors-11-05229"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jiang</surname><given-names>L</given-names></name><name><surname>Shah</surname><given-names>D</given-names></name><name><surname>Shin</surname><given-names>J</given-names></name><name><surname>Walrand</surname><given-names>J</given-names></name></person-group><article-title>Distributed random access algorithm: Scheduling and congestion control</article-title><source>IEEE Trans. Inform. Theory</source><year>2010</year><volume>56</volume><fpage>6182</fpage><lpage>6207</lpage><pub-id pub-id-type="doi">10.1109/TIT.2010.2081490</pub-id></citation></ref>
<ref id="b20-sensors-11-05229"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gupta</surname><given-names>A</given-names></name><name><surname>Lin</surname><given-names>X</given-names></name><name><surname>Srikant</surname><given-names>R</given-names></name></person-group><article-title>Low-complexity distributed scheduling algorithms for wireless networks</article-title><source>IEEE/ACM Trans. Netw</source><year>2009</year><volume>17</volume><fpage>1846</fpage><lpage>1859</lpage><pub-id pub-id-type="doi">10.1109/TNET.2009.2021609</pub-id></citation></ref>
<ref id="b21-sensors-11-05229"><label>21.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ni</surname><given-names>J</given-names></name><name><surname>Tan</surname><given-names>B</given-names></name><name><surname>Srikant</surname><given-names>R</given-names></name></person-group><article-title>Q-CSMA: Queue-length based CSMA/CA algorithms for achieving maximum throughput and low delay in wireless networks</article-title><conf-name>Proceedings of INFOCOM 2010</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>March 2010</conf-date><fpage>1</fpage><lpage>5</lpage></citation></ref>
<ref id="b22-sensors-11-05229"><label>22.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kandris</surname><given-names>D</given-names></name><name><surname>Tsioumas</surname><given-names>P</given-names></name><name><surname>Tzes</surname><given-names>A</given-names></name><name><surname>Nikolakopoulos</surname><given-names>G</given-names></name><name><surname>Vergados</surname><given-names>DD</given-names></name></person-group><article-title>Power conservation through energy efficient routing in wireless sensor networks</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>7320</fpage><lpage>7342</lpage><pub-id pub-id-type="doi">10.3390/s90907320</pub-id><pub-id pub-id-type="pmid">22399998</pub-id></citation></ref>
<ref id="b23-sensors-11-05229"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kandris</surname><given-names>D</given-names></name><name><surname>Tsagkaropoulos</surname><given-names>M</given-names></name><name><surname>Politis</surname><given-names>I</given-names></name><name><surname>Tzes</surname><given-names>A</given-names></name><name><surname>Kotsopoulos</surname><given-names>S</given-names></name></person-group><article-title>Energy efficient and perceived QoS aware video routing over Wireless Multimedia Sensor Networks</article-title><source>Ad Hoc Netw</source><year>2011</year><volume>9</volume><fpage>591</fpage><lpage>607</lpage><pub-id pub-id-type="doi">10.1016/j.adhoc.2010.09.001</pub-id></citation></ref>
<ref id="b24-sensors-11-05229"><label>24.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sharaf</surname><given-names>MA</given-names></name><name><surname>Beaver</surname><given-names>J</given-names></name><name><surname>Labrinidis</surname><given-names>A</given-names></name><name><surname>Chrysanthis</surname><given-names>PK</given-names></name></person-group><article-title>TiNA: A scheme for temporal coherency-aware in-network aggregation</article-title><conf-name>Proceedings of the 3rd ACM International Workshop on Data Engineering for Wireless and Mobile Access MobiDe ’03</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>September 2003</conf-date><fpage>69</fpage><lpage>76</lpage></citation></ref>
<ref id="b25-sensors-11-05229"><label>25.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Galluccio</surname><given-names>L</given-names></name><name><surname>Campbell</surname><given-names>AT</given-names></name><name><surname>Palazzo</surname><given-names>S</given-names></name></person-group><article-title>Concert: Aggregation-based congestion control for sensor networks</article-title><conf-name>Proceedings of the 3rd International Conference on Embedded Networked Sensor Systems</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>November 2005</conf-date><fpage>274</fpage><lpage>275</lpage></citation></ref>
<ref id="b26-sensors-11-05229"><label>26.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Galluccio</surname><given-names>L</given-names></name><name><surname>Palazzo</surname><given-names>S</given-names></name><name><surname>Campbell</surname><given-names>AT</given-names></name></person-group><article-title>Efficient data aggregation in wireless sensor networks: An entropy-driven analysis</article-title><conf-name>Proceedings of the 19th IEEE International Symposium on Personal, Indoor and Mobile Radio Communication PIMRC</conf-name><conf-loc>Cannes, France</conf-loc><conf-date>15–18 September 2008</conf-date><fpage>1</fpage><lpage>6</lpage></citation></ref>
<ref id="b27-sensors-11-05229"><label>27.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Elson</surname><given-names>J</given-names></name><name><surname>Girod</surname><given-names>L</given-names></name><name><surname>Estrin</surname><given-names>D</given-names></name></person-group><article-title>Fine-grained network time synchronization using reference broadcasts</article-title><conf-name>Proceedings of Symposium on Operating Systems Design and Implementation (OSDI 2002)</conf-name><conf-loc>Boston, MA, USA</conf-loc><conf-date>December 2002</conf-date><fpage>147</fpage><lpage>163</lpage></citation></ref>
<ref id="b28-sensors-11-05229"><label>28.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bianchi</surname><given-names>G</given-names></name></person-group><article-title>Performance analysis of the IEEE 802.11 distributed coordination function</article-title><source>IEEE J. Sel. Area. Commun</source><year>2000</year><volume>18</volume><fpage>535</fpage><lpage>547</lpage><pub-id pub-id-type="doi">10.1109/49.840210</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-11-05229" position="float">
<label>Figure 1.</label>
<caption>
<p>A time diagram for frame structures.</p></caption>
<graphic xlink:href="sensors-11-05229f1.gif"/></fig>
<fig id="f2-sensors-11-05229" position="float">
<label>Figure 2.</label>
<caption>
<p>Examples of contention window.</p></caption>
<graphic xlink:href="sensors-11-05229f2.gif"/></fig>
<fig id="f3-sensors-11-05229" position="float">
<label>Figure 3.</label>
<caption>
<p>A plot of <italic>y</italic><italic><sup>γ</sup></italic> for <italic>y</italic> ∈ [0, 1] with warping factors <italic>γ</italic> = 1, 2, 3, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula>, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>3</mml:mn></mml:mfrac></mml:mrow></mml:math></inline-formula> and 0.</p></caption>
<graphic xlink:href="sensors-11-05229f3.gif"/></fig>
<fig id="f4-sensors-11-05229" position="float">
<label>Figure 4.</label>
<caption>
<p>Procedure for selective forwarding. The data (score) of the received packet is denoted by <italic>z</italic>.</p></caption>
<graphic xlink:href="sensors-11-05229f4.gif"/></fig>
<fig id="f5-sensors-11-05229" position="float">
<label>Figure 5.</label>
<caption>
<p>An example of selective forwarding.</p></caption>
<graphic xlink:href="sensors-11-05229f5.gif"/></fig>
<fig id="f6-sensors-11-05229" position="float">
<label>Figure 6.</label>
<caption>
<p>An example of overhearing.</p></caption>
<graphic xlink:href="sensors-11-05229f6.gif"/></fig>
<fig id="f7-sensors-11-05229" position="float">
<label>Figure 7.</label>
<caption>
<p>Comparison of CDF of latency for <italic>m</italic> = 10 and 30 when <italic>b</italic> = 1.</p></caption>
<graphic xlink:href="sensors-11-05229f7.gif"/></fig>
<fig id="f8-sensors-11-05229" position="float">
<label>Figure 8.</label>
<caption>
<p>Comparison of CDF of latency for <italic>m</italic> = 10 and 30 when <italic>b</italic> = 3.</p></caption>
<graphic xlink:href="sensors-11-05229f8.gif"/></fig>
<fig id="f9-sensors-11-05229" position="float">
<label>Figure 9.</label>
<caption>
<p>Comparison of the mean latency for different random access schemes.</p></caption>
<graphic xlink:href="sensors-11-05229f9.gif"/></fig>
<fig id="f10-sensors-11-05229" position="float">
<label>Figure 10.</label>
<caption>
<p>Mean number of collision and successful transmissions in the first frame when <italic>m</italic> = 30 and <italic>b</italic> = 3.</p></caption>
<graphic xlink:href="sensors-11-05229f10.gif"/></fig>
<fig id="f11-sensors-11-05229" position="float">
<label>Figure 11.</label>
<caption>
<p>Mean score of successful transmissions in the first frame when <italic>m</italic> = 20 and <italic>b</italic> = 3.</p></caption>
<graphic xlink:href="sensors-11-05229f11.gif"/></fig>
<fig id="f12-sensors-11-05229" position="float">
<label>Figure 12.</label>
<caption>
<p>Probability of a successful transmission as a function of the scores.</p></caption>
<graphic xlink:href="sensors-11-05229f12.gif"/></fig>
<table-wrap id="t1-sensors-11-05229" position="float">
<label>Table 1.</label>
<caption>
<p>Comparison of mean latency.</p></caption>
<table frame="box" rules="all">
<thead>
<tr>
<th align="left" valign="top"/>
<th colspan="2" align="center" valign="middle"><italic>m</italic> = 10</th>
<th colspan="2" align="center" valign="middle"><italic>m</italic> = 30</th></tr>
<tr>
<th align="left" valign="top"/>
<th align="center" valign="middle">Baseline</th>
<th align="center" valign="middle">Proposed</th>
<th align="center" valign="middle">Baseline</th>
<th align="center" valign="middle">Proposed</th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><italic>n</italic> = 127, <italic>b</italic> = 1</td>
<td align="center" valign="top">7.41</td>
<td align="center" valign="top">6.25</td>
<td align="center" valign="top">6.92</td>
<td align="center" valign="top">5.89</td></tr>
<tr>
<td align="left" valign="top"><italic>n</italic> = 511, <italic>b</italic> = 1</td>
<td align="center" valign="top">10.57</td>
<td align="center" valign="top">8.67</td>
<td align="center" valign="top">9.70</td>
<td align="center" valign="top">8.24</td></tr>
<tr>
<td align="left" valign="top"><italic>n</italic> = 127, <italic>b</italic> = 3</td>
<td align="center" valign="top">24.32</td>
<td align="center" valign="top">16.80</td>
<td align="center" valign="top">21.24</td>
<td align="center" valign="top">14.81</td></tr>
<tr>
<td align="left" valign="top"><italic>n</italic> = 511, <italic>b</italic> = 3</td>
<td align="center" valign="top">33.20</td>
<td align="center" valign="top">21.82</td>
<td align="center" valign="top">28.84</td>
<td align="center" valign="top">19.15</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-11-05229" position="float">
<label>Algorithm 1</label>
<caption>
<p>The proposed scheme.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td align="left" valign="top"><italic>z</italic><italic><sub>i</sub></italic> ← <italic>F</italic><sub><italic>X<sub>i</sub></italic></sub> (<italic>x<sub>i</sub></italic>), FrameCount ← 1, <italic>c</italic> ← 0</td></tr>
<tr>
<td align="left" valign="top">NeedToTX←TRUE</td></tr>
<tr>
<td align="left" valign="top">TXSlot←SelectSlot() // Minislot selection</td></tr>
<tr>
<td align="left" valign="top"><bold>loop</bold> // Begin infinite loop</td></tr>
<tr>
<td align="left" valign="top">  SlotCount← 1</td></tr>
<tr>
<td align="left" valign="top">  <bold>while</bold> SlotCount≤ <italic>m</italic> <bold>do</bold> // Begin SlotCount loop</td></tr>
<tr>
<td align="left" valign="top">    <bold>if</bold> (detect that medium is busy) <bold>then</bold></td></tr>
<tr>
<td align="left" valign="top">      <bold>if</bold> (this node is the receiver) <bold>then</bold></td></tr>
<tr>
<td align="left" valign="top">    emsp;   [Receive the packet]</td></tr>
<tr>
<td align="left" valign="top">        <italic>z</italic> ← received data</td></tr>
<tr>
<td align="left" valign="top">        <bold>if</bold> <italic>z</italic> ≥ <italic>z</italic><italic><sub>i</sub></italic> <bold>then</bold> // Selective forwarding</td></tr>
<tr>
<td align="left" valign="top">          NeedToTX← TRUE</td></tr>
<tr>
<td align="left" valign="top">          <italic>z</italic><italic><sub>i</sub></italic> ← <italic>z</italic></td></tr>
<tr>
<td align="left" valign="top">          TXSlot← SelectSlot() // Minislot selection</td></tr>
<tr>
<td align="left" valign="top">        <bold>end if</bold></td></tr>
<tr>
<td align="left" valign="top">      <bold>else</bold></td></tr>
<tr>
<td align="left" valign="top">        <bold>if</bold> (overhearing is possible) <bold>then</bold> // Overhearing</td></tr>
<tr>
<td align="left" valign="top">          [Overhear the transmitted packet]</td></tr>
<tr>
<td align="left" valign="top">          <italic>z</italic> ← overheard data</td></tr>
<tr>
<td align="left" valign="top">          <bold>if</bold> <italic>z</italic> ≥ <italic>z</italic><italic><sub>i</sub></italic> <bold>then</bold></td></tr>
<tr>
<td align="left" valign="top">            NeedToTX← FALSE</td></tr>
<tr>
<td align="left" valign="top">            <italic>z</italic><italic><sub>i</sub></italic> ← <italic>z</italic></td></tr>
<tr>
<td align="left" valign="top">          <bold>end if</bold></td></tr>
<tr>
<td align="left" valign="top">        <bold>end if</bold></td></tr>
<tr>
<td align="left" valign="top">      <bold>end if</bold></td></tr>
<tr>
<td align="left" valign="top">        SlotCount← <italic>m</italic> // Exit from SlotCount loop</td></tr>
<tr>
<td align="left" valign="top">        <bold>else</bold></td></tr>
<tr>
<td align="left" valign="top">        <bold>if</bold> (NeedToTX=TRUE) &amp; (SlotCount=TXSlot) <bold>then</bold></td></tr>
<tr>
<td align="left" valign="top">          [Transmit packet with data <italic>z</italic><italic><sub>i</sub></italic>]</td></tr>
<tr>
<td align="left" valign="top">          <bold>if</bold> (Collision occurred) <bold>then</bold></td></tr>
<tr>
<td align="left" valign="top">            <italic>c</italic> ← <italic>c</italic> + 1</td></tr>
<tr>
<td align="left" valign="top">          <bold>else</bold></td></tr>
<tr>
<td align="left" valign="top">            NeedToTX← FALSE // Successful transmission</td></tr>
<tr>
<td align="left" valign="top">            <italic>c</italic> ← 0</td></tr>
<tr>
<td align="left" valign="top">          <bold>end if</bold></td></tr>
<tr>
<td align="left" valign="top">          SlotCount← <italic>m</italic> // Exit from SlotCount loop</td></tr>
<tr>
<td align="left" valign="top">        <bold>end if</bold></td></tr>
<tr>
<td align="left" valign="top">      <bold>end if</bold></td></tr>
<tr>
<td align="left" valign="top">      SlotCount←SlotCount+1</td></tr>
<tr>
<td align="left" valign="top">      [Wait until the next minislot starts]</td></tr>
<tr>
<td align="left" valign="top">    <bold>end while</bold> // End SlotCount loop</td></tr>
<tr>
<td align="left" valign="top">    FrameCount←FrameCount+1</td></tr>
<tr>
<td align="left" valign="top">    [Wait until the next frame starts]</td></tr>
<tr>
<td align="left" valign="top">  <bold>end loop</bold> // End infinite loop</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-11-05229" position="float">
<label>Algorithm 2</label>
<caption>
<p>SelectSlot() subroutine.</p></caption>
<table frame="hsides" rules="groups">
<tbody>
<tr>
<td align="left" valign="top"><italic>w</italic> ← min {⌈2<italic><sup>c</sup></italic> · <italic>m</italic> · (<italic>y</italic><italic><sub>i</sub></italic>)<sup>γ</sup> ⌉ + <italic>ß</italic>, <italic>m</italic>}</td></tr>
<tr>
<td align="left" valign="top"><bold>return</bold> (a randomly selected integer from <italic>m</italic> – <italic>w</italic> + 1, . . ., <italic>m</italic>)</td></tr></tbody></table></table-wrap></sec></back></article>
