Maximizing Broadcast Throughput Under Ultra-Low-Power Constraints
Wireless object tracking applications are gaining popularity and will soon utilize emerging ultra-low-power device-to-device communication. However, severe energy constraints require much more careful accounting of energy usage than what prior art provides. In particular, the available energy, the differing power consumption levels for listening, receiving, and transmitting, as well as the limited control bandwidth must all be considered. Therefore, we formulate the problem of maximizing the throughput among a set of heterogeneous broadcasting nodes with differing power consumption levels, each subject to a strict ultra-low-power budget. We obtain the oracle throughput (i.e., maximum throughput achieved by an oracle) and use Lagrangian methods to design EconCast – a simple asynchronous distributed protocol in which nodes transition between sleep, listen, and transmit states, and dynamically change the transition rates. EconCast can operate in groupput or anyput modes to respectively maximize two alternative throughput measures. We show that EconCast approaches the oracle throughput. The performance is also evaluated numerically and via extensive simulations and it is shown that EconCast outperforms prior art by x – x under realistic assumptions. Moreover, we evaluate EconCast’s latency performance and consider design tradeoffs when operating in groupput and anyput modes. Finally, we implement EconCast using the TI eZ430-RF2500-SEH energy harvesting nodes and experimentally show that in realistic environments it obtains – of the achievable throughput.
Ahr \DeclareSIUnit\Kbps Kbps \DeclareSIUnit\Mbps Mbps \DeclareSIUnit\dBm dBm
Internet-of-Things, energy harvesting, ultra-low-power, wireless communication
Object tracking and monitoring applications are gaining popularity within the realm of Internet-of-Things . One enabler of such applications is the growing class of ultra-low-power wireless nodes. An example is active tags that can be attached to physical objects, harvest energy from ambient sources, and communicate tag-to-tag toward gateways [3, 4]. Relying on node-to-node communications will require less infrastructure than traditional (RFID/reader-based) implementations. Therefore, as discussed in [3, 4, 5, 6], it is envisioned that such ultra-low-power nodes will facilitate tracking applications in healthcare, smart building, assisted living, manufacturing, supply chain management, and intelligent transportation.
A fundamental challenge in networks of ultra-low-power nodes is to schedule the nodes’ sleep, listen/receive, and transmit events without coordination, such that they communicate effectively while adhering to their strict power budgets. For example, energy harvesting tags need to rely on the power that can be harvested from sources such as indoor-light or kinetic energy, which provide [7, 8] (for more details see the review in  and references therein). These power budgets are much lower than the power consumption levels of current low-power wireless technologies such as Bluetooth Low Energy (BLE)  and ZigBee/802.15.4  (usually at the order of ). On the other hand, BLE and ZigBee are designed to support data rates (up to a few ) that are higher than required by the applications our work envisages supporting (less than a few ).
In this paper, we formulate the problem of maximizing broadcast throughput among energy-constrained nodes. We design, analyze, and evaluate EconCast: Energy-constrained BroadCast. EconCast is an asynchronous distributed protocol in which nodes transition between sleep, listen/receive, and transmit states, while maintaining a power budget. The nodes and network we focus on have the following characteristics:
Broadcast: A transmission can be heard by all listening nodes in range.
Severe power constraints: The power budget is so limited that each node needs to spend most of its time in sleep state and the supported data rates can be of a few . Traditional approaches that spend energy in order to improve coordination (e.g., accurate clocks, slotting, synchronization) or form some sort of structure (e.g., routing tables and clusters) are too expensive given limited energy and bandwidth.
Unacquainted: Nodes do not require pre-existing knowledge of their environment (e.g., properties of neighboring nodes). This can result from the restricted power budget or from unanticipated environment changes due to altered energy sources and/or node mobility.
Heterogeneous: The power budgets and the power consumption levels can differ among the nodes.
Efficiently operating such structureless and ultra-low-power networks requires nodes to make their sleep, listen, or transmit decisions in a distributed manner. Therefore, we consider the fundamental problem of maximizing the rate at which the messages can be delivered (the actual content of the transmitted messages depends on the application). Namely, we focus on maximizing the broadcast throughput and consider two alternative definitions:
Groupput – the total rate of successful bit transmissions to all the receivers over time. Groupput directly applies to tracking applications in which nodes utilize a neighbor discovery protocol to identify neighbors which are within wireless communication range [12, 13, 14]. In such applications, broadcasting information to all other nodes in the network is important, allowing the nodes to transfer data more efficiently under the available power budgets. Groupput can also be applied to data flooding applications where the data needs to be collected at all the nodes in a network.
Anyput – the total rate of successful bit transmissions to at least one receiver over time. It applies to delay-tolerant environments that utilize gossip-style methods to disseminate information. In traditional gossip communication, a node selects a communication partner in a deterministic or randomized manner. Then, it determines the content of the message to be sent based on a naive store-and-forward, compressive sensing [15, 16], or decentralized coding . As another example, in delay-tolerant applications, data transmission may get disrupted or lost due to the limits of wireless radio range, sparsity of mobile nodes, or limited energy resources, a node may wish to send its data to any available receiver.
First, we derive oracle groupput and anyput (i.e., maximum throughput achieved by an oracle) and provide methods to efficiently compute their values. Then, we use Lagrangian methods and a Q-CSMA (Queue-based Carrier Sense Multiple Access) approach to design EconCast. EconCast can operate in groupput or anyput modes to respectively maximize the two alternative throughput measures. Nodes running EconCast dynamically adapt their transition rates between sleep, listen, and transmit states based on (i) the energy available at the node and (ii) the number (or existence) of other active listeners. To support the latter, a listening node emits a low-cost informationless “ping” which can be picked up by other listening nodes, allowing them to estimate the number (or existence) of active listeners. We briefly discuss how this method helps increasing the throughput and the implementation aspects. We analyze the performance of EconCast and prove that, in theory, it converges to the oracle throughput.
We evaluate the throughput performance of EconCast numerically and via extensive simulations under a wide range of power budgets and listen/transmit consumption levels, and for various heterogeneous and homogeneous networks. Specifically, numerical results show that EconCast outperforms prior art (Panda , Birthday , and Searchlight ) by a factor of x – x under realistic assumptions. In addition, we consider the performance of EconCast in terms of burstiness and latency. We also consider the design tradeoffs of EconCast when oprating in groupput and anyput modes.
We implement EconCast using the TI eZ430-RF2500-SEH energy harvesting nodes and experimentally show that in practice it obtains – of the achievable throughput. Moreover, we compare the experimental throughput to analytical throughput of Panda  (where the analytical throughput is usually better than the experimental performance) and show that, for example, EconCast outperforms Panda by x – x.
We note that EconCast is not designed based on specific assumption, regarding the topology and that nodes do not need to know the properties of other nodes. Yet, in this paper, we mainly focus on a clique topology (i.e., all nodes are within the communication range of each other), since it lends itself to analysis. We briefly extend the analytical results to non-clique topologies and also evaluate the performance of EconCast in such networks.
To summarize, the main contributions of this paper are: (i) a distributed asynchronous protocol for a heterogeneous collection of energy-constrained wireless nodes, that can obtain throughput that approaches the maximum possible, (ii) efficient methods to compute the oracle throughput, and (iii) extensive performance evaluation of the protocol.
The rest of the paper is organized as follows. We discuss related work in Section 2 and formulate the problem in Section 3. In Section 4, we present methods to efficiently compute the oracle throughput. We present EconCast in Section 5 and the proof of the main theoretical result in Section 6. In Section 7, we evaluate EconCast numerically and via simulations. We then discuss the experimental implementation and evaluation of EconCast in Section 8. We conclude in Section 9.
2 Related Work
There is vast amount of related literature on sensor networking and neighbor discovery that tries to limit energy consumption. Most of the protocols do not explicitly account for different listen and transmit power consumption levels of the nodes, or do not account for different power budgets [20, 21, 13, 22, 23, 19, 24, 12, 18, 25]. They mostly use a duty cycle during which nodes sleep to conserve energy and when nodes are simultaneously awake, a pre-determined listen-transmit sequence with an unalterable power consumption level is used. However, for ultra-low-power nodes constrained by severe power budgets, the appropriate amount of time a node sleeps should explicitly depend on the relative listen and transmit power consumption levels. These prior approaches achieve throughput levels which are much below optimal (and hence much below what EconCast can achieve). Additionally, these protocols often require some explicit coordination (e.g., slotting [12, 18] or exchange of parameters [19, 14]), which are not suitable for emerging ultra-low-power nodes.
From the theoretical point of view, our approach is inspired by the prior work on network utility maximization (e.g., ), and queue-based CSMA literature (e.g., [27, 28, 29, 30, 31]). However, the problem considered in this paper is not a simple extension of the prior work for two reasons. First, in the past work on CSMA and network utility maximization, nodes or links make decisions based on the relative sizes of queues. Often, a queue is a backlog of data to send or the available energy. Prior work that considers the latter (e.g., ) uses the energy only for transmission, while listening is “free”, which is a very different paradigm than the one considered in this paper. Second, in our setting, the queue “backlogs” energy but there is no clear mapping as previously assumed from energy to successful transmission. A node’s listen or transmit events will relieve the backlog, but do not increase utility (throughput) unless other nodes are appropriately configured (i.e., transmitting when no listening nodes exist or listening when no transmitting nodes exist does not increase the throughput). This coordination of state among nodes to utilize their energy makes the considered problem more challenging.
Finally, we note that our approach should be amenable to emerging physical layer technology such as backscatter .
3 Model and Problem Formulation
|,||Set of nodes, number of nodes|
|,||Node ’s listen power consumption (),|
|,||Node ’s transmit power consumption (),|
|,||Node ’s power budget (),|
|Energy storage level of node ()|
|,||Network state, the set of collision-free states|
|,||Fraction of time node listens,|
|,||Fraction of time node transmits,|
|,||Indicator if existing some nodes listening, its estimated value|
|,||Number of nodes listening, its estimated value|
|Indicator if there is exactly one node transmitting|
|,||Fraction of time the network is in ,|
|Throughput of state|
|,||Throughput and oracle throughput|
|,||Groupput and oracle groupput|
|,||Anyput and oracle anyput|
|,||Lagrange multiplier of node ,|
We consider a network of energy-constrained nodes whose objective is to distributedly maximize the broadcast throughput among them. The set of nodes is denoted by . Table 1 summarizes the notations.
3.1 Basic Node Model
A node can be in one of three states: sleep (), listen/receive
Power budget: Each node has a power budget of . This budget can be the rate at which energy is harvested by an energy harvesting node or a limit on the energy spending rate such that the node can maintain a certain lifetime. In practice, the power budget may vary with time [7, 8] and the distributed protocol should be able to adapt. For simplicity, we assume that the power budget is constant with respect to time. However, the analysis can be easily extended to the case with time-varying power budget with the same constant mean. Each node also has an energy storage (e.g., a battery or a capacitor) whose level at time is denoted by .
Severe Power Constraints: Intermittently connected energy-constrained nodes cannot rely on complicated synchronization or structured routing approaches.
Unacquainted: Low bandwidth implies that each node must operate with very limited (i.e., no) knowledge regarding its neighbors, and hence, does not know or use the information of the other nodes .
3.2 Architecture Assumptions
We assume that there is only one frequency channel and a single transmission rate is used by all nodes in the transmit state. Similar to CSMA, nodes perform carrier sensing prior to attempting transmission to check the availability of the medium. Energy-constrained nodes can only be awake for very short periods, and therefore, the likelihood of overlapping transmissions is negligible. We also assume that a node in the listen state can send out low-cost, informationless “pings” which can be picked up by other listening nodes, allowing them to estimate the number (or existence) of active listeners. We explain in Section 5 how this property will help us develop a distributed protocol and in Section 8, we provide practical means by which such estimates can be obtained.
3.3 Model Simplifications
At any time , the network state can be described as a vector , where represents the state of node . While the distributed protocol EconCast (described in Section 5) can operate in general scenarios, for analytical tractability, we make the following assumptions:
The network is a clique.
Nodes can perform perfect carrier sensing in which the propagation delay is assumed to be zero.
These assumptions are suitable in the envisioned applications where the distances between nodes are small. Under these assumptions, the network states can be restricted to the set of collision-free states, denoted by (i.e., states in which there is at most one node in transmit state). This reduces the size of the state space from to .
Let indicate whether there exists some nodes listening in state and let be the number of listeners in state . We use as an indicator which is equal to if there is exactly one transmitter in state and is otherwise. Based on these indicator functions, two measures of broadcast throughput, groupput and anyput, and the throughput of a given network state are defined below.
Definition 1 (Groupput)
The groupput, denoted by , is the aggregate throughput of the transmissions received by all the receivers, where each transmitted bit is counted once per receiver to which it is delivered, i.e.,
Definition 2 (Anyput)
The anyput, denoted by , is the aggregate throughput of the transmissions that are received by at least one receiver, i.e.,
Definition 3 (Network State Throughput)
The throughput associated with a given network state , denoted by , is defined as
Note that without energy constraints, the oracle (maximum) groupput is and is achieved when some node always transmits and the remaining nodes always listen and receive the transmission. Similarly, the oracle (maximum) anyput without energy constraints is and is achieved when some node always transmits and some other node always listens and receives the transmission.
3.4 Problem Formulation
Define as the fraction of time the network spends in a given state , i.e.,
where is the indicator function which is , if the network is with state at time , and is otherwise. Correspondingly, denote .
Below, we define the energy-constrained throughput maximization problem (P1) where the fractions of time each node spends in sleep, listen, and transmit states are assigned while the node maintains the power budget. Define variables as the fraction of time node spends in listen and transmit states, respectively. The fraction of time it spends in sleep state is simply . In view of (1) – (4), (P1) is given by
where and are the sets of states in which and , respectively. Each node is constrained by a power budget, as described in (8), and (8) represents the fact that at any time, the network operates in one of the collision-free states .
Based on the solution to (P1), the maximum throughput is achievable by an oracle that can schedule nodes’ sleep, listen, and transmit periods, in a centralized manner. Therefore, we define the maximum value obtained by solving (P1) as the oracle throughput, denoted by . Respectively, we define the oracle groupput and oracle anyput as and .
To evaluate EconCast, it is essential to compare its performance to the oracle throughput. However, (P1) is a Linear Program (LP) over an exponentially large number of variables (i.e., is exponential in ) and is computationally expensive to solve. In Section 4, we show how to convert (P1) to another optimization problem with only a linear number of variables. Note that the solution to (P1) only provides the optimal fraction of time each node should spend in sleep, listen, and transmit states, but does not indicate how the nodes can make their individual sleep, listen, and transmit decisions locally. Therefore, in Section 5, we focus on the design of EconCast that makes these decisions based on (P1).
4 Oracle Throughput
In this section, we present an equivalent LP formulation for (P1) in a clique network which only has a linear number of variables. We also derive both an upper and a lower bound for the oracle groupput in non-clique topologies which will be used later for evaluating the performance of EconCast in non-clique topologies.
Recall that and are the fraction of time node spends in listen and transmit states, respectively. We can rewrite the constraints in (P1) as follows
Specifically, (9) is the usual power constraint on each node , and (10) is due to the fact that a node can only operate in one state at any time. We remark that energy-constrained nodes can only be awake for very small fractions of time (i.e., ), and therefore (10) may be redundant. Finally, collision-free operation in a clique network where at most one transmitter can be present at any time imposes (11), which bounds the sum of the transmit fractions by .
4.1 Oracle Groupput in a Clique
To maximize the groupput (1), it suffices that any node only listens when there is another transmitter, since listening when no one transmits wastes energy. Namely, the fraction of time node listens cannot exceed the aggregate fraction of time all other nodes transmit, i.e.,
Since a node only listens when there exists exactly one transmitter, every listen counts as a reception, and the groupput of a node (i.e., the throughput it receives from all other nodes) is simply the fraction of time it spends in listen state, . Therefore, the groupput in a clique network simplifies to . The oracle groupput, denoted by , can be obtained by solving the following maximization problem
(P2) is an LP consisting of variables and constraints (i.e., solving for and given inputs of , , , and ). On a conventional laptop running Matlab, this computation for thousands of nodes takes seconds. Moreover, we show that the oracle groupput obtained by solving (P2) is indeed achievable by an oracle which can schedule nodes’ listen and transmit periods. This result is summarized in the following lemma.
The (rational-valued) solution to (P2) can be feasibly scheduled by an oracle in a fixed-size slotted environment via a periodic schedule, (perhaps) after a one-time energy accumulation interval.
The proof can be found in Appendix A.
4.2 Oracle Anyput in a Clique
The oracle anyput is obtained based on the observation that a transmission only occurs when there is at least one listener. Define variables as the fraction of time node receives a transmission from node , for the following constraints
The oracle anyput, denoted by , can be obtained by solving the following maximization problem
First, (14) ensures that when node transmits, there is always at least one other node than can receive this transmission. Then, (15) makes sure that in the optimal schedule, the fraction of time node listens is large enough to cover all the transmissions it receives. Therefore, (P3) maximizes the anyput by ensuring that every transmission is received by at least one node.
In homogeneous networks, the closed-form solution to (P3) is given by
4.3 Oracle Groupput in Non-cliques
The problem formulations (P1) – (P3) so far have assumed a clique network. Obtaining the exact maximum groupput for non-cliques (denoted by ) is difficult. This is because a node may receive simultaneous transmissions from two nodes which are not within communication range of each other. As explained before, listen and transmit events are rare within energy-constrained nodes. Therefore, the likelihood of simultaneous transmissions is small and it is expected to have minimal impact on the throughput.
We present both an upper bound and a lower bound on the maximum groupput in non-clique topologies. In the scenarios where and are the same, the exact maximum groupput can be obtained. The lower bound is obtained by solving (P2) but replace constraint (12) by
where is the set of neighboring nodes of node . This ensures that the fraction of time node listens cannot exceed the sum of its neighboring nodes’ fractions of transmissions. The upper bound is obtained by solving (P2) in which the constraint (11) is removed. This allows overlapping transmissions which can possibly happen in non-cliques. Numerical results show that with certain topologies, holds, resulting in the exact maximum groupput . In Section 7.5, we compute and evaluate the performance of EconCast in non-clique topologies.
5 Distributed Protocol
In this section, we describe EconCast from the perspective of a single node that transitions between sleep, listen, and transmit states, under a power budget. Since we focus on a single node , in parts of this section, we drop the subscript of previously defined variables for notational compactness.
5.1 A Simple Heterogeneous Example
To better understand the challenges faced in designing EconCast, consider a simple example of nodes, all having identical listen and transmit power consumption , but different power budgets , as indicated in Table 2. Table 2 also shows the percentage of time each node spends in listen and transmit states such that the groupput is maximized by solving (P1). It also shows the percentage of time each node spends in transmit state when awake (i.e., ).
If, instead, all nodes have the same power budget of , the percentage of time each node spends in transmit state when awake is (with , ). Note that in the above example, the power budget of node remains unchanged but changes in other nodes’ power budgets shift the percentage of time it should transmit when awake from to . This clearly shows that the partitioning of a node’s power budget among listen and transmit states is highly dependent on other nodes’ properties. However, we will show that if a node does not know the properties of its neighbors, an optimal configuration can be obtained without explicitly solving (P1).
5.2 Protocol Description
To clearly present EconCast, we start from a theoretical framework and slowly build on it to address practicalities. As mentioned in Section 3, a node can be in one of three states: sleep (), listen (), and transmit (). As depicted in Fig. 1, it must pass through listen state to transition between sleep and transmit states. The time duration a node spends in state before transitioning to state is exponentially distributed with rate . These transition rates can be adjusted over time. We remark that sending packets with exponentially distributed length (i.e., a node transitions from transmit state to listen state with a rate ) is impractical. However, it can be shown that this is equivalent to continuously transmitting back-to-back unit-length packets with probability if , which is indeed the case in EconCast.
To maximize the groupput or anyput, EconCast can operate in groupput mode or anyput mode, respectively. The throughput as a function of (see (5)) is controlled by appropriately adjusting the transition rates between different states of each node. EconCast determines in a distributed manner how these adjustments are performed over time. Roughly speaking, each node adjusts its transition rates based on limited information that can be obtained in practice, including
Its power consumption levels in listen and transmit states, and , and energy storage level .
A sensing of transmit activity of other nodes over the channel (CSMA-like carrier sensing).
A count of other active listeners (in groupput mode), , or an indicator of whether there are any active listeners (in anyput mode), . In practice, and may not be accurate, and we denote and as their estimated values.
Note that in EconCast, unlike in previous work such as Panda , each node does not need to know the number of nodes in the network, , and the power budgets and consumption levels of other nodes. Furthermore, a node does not need to know its power budget explicitly (e.g., in the case of energy harvesting ), although this knowledge can be incorporated, if available.
Under EconCast, a node sets as an increasing function of the available stored energy, , to more aggressively exit sleep state. Furthermore, it sets as an increasing function of the number of listeners, , to enter transmit state more frequently when more nodes are listening. We will describe how these functions are chosen in Section 5.5.
5.3 Estimating Active Listeners: Pings
We now discuss the estimation of or . Recall from Section 3 that nodes can send out periodic pings that any other listener can receive. The pings need not carry any explicit information and are potentially significantly cheaper and shorter than control packet transmissions (e.g., an ACK). Therefore, they consume less power and take much less time than a minimal data transmission.
Consider the case in which all nodes are required to send pings at a pre-determined rate and the power consumption is accounted for in the listening power consumption . In such a case, a fellow listener detecting such pings (e.g., using a simple energy detector) can use the count of such pings in a given period of time, or the inter-arrival times of pings, to estimate the number of active listeners . Estimating is even easier by detecting the existence of any ping. In general, the estimates do not need to be accurate for EconCast to function, although poor estimates are expected to reduce throughput.
5.4 Two Variants of EconCast
We now address the incorporation of the estimates and into EconCast. We present two versions of EconCast which only differ when a node is in transmit state:
EconCast-C (the capture version): a node may “capture” the channel and transmit for an exponential amount of time (i.e., several back-to-back packets). When each packet transmission is completed, the transmitter listens for pings for a fixed-length pinging interval. Each successful recipient of the transmission initiate one ping at time chosen uniformly at random on this interval. The transmitter then estimates or based on the count of pings received and adjusts (as described in Section 5.5). In Section 8.3, we discuss the experimental implementation of this process.
EconCast-NC (the non-capture version): a node always releases the channel after one packet transmission. Each node continuously pings and receives pings from other nodes when listening, estimates or , and adjusts (as described in Section 5.5).
EconCast-C is significantly easier to implement since the estimates are only needed for the transmitter right after each packet transmission. The probability that the same transmitter will continue transmitting depends on the estimates or . Therefore, our implementation and experimental evaluations in Section 8 focus on EconCast-C.
5.5 Setting Transition Rates
Consider a node running EconCast. Time is broken into intervals of length . The -th interval is from time to time and we let . EconCast takes input of two internal variables:
is a multiplier which is updated at the beginning of each time interval. Let denote the energy storage level at the end of the -th time interval. Let denote and is updated as follows
in which is a step size and . We use square brackets here to imply that the multiplier remains constant for .
is the carrier sensing indicator of a node, which is when the node does not sense any ongoing transmission, and is otherwise. Carrier sensing forces a node to “stick” to its current state. When receiving an ongoing transmission, a node in listen state will not exit the listen state until it finishes receiving the full transmission, and a node in sleep state will not leave the sleep state (i.e., it enters the listen state but immediately leaves when it senses the ongoing transmission).
The transition rates are described as follows (the superscripts and denote EconCast-C and EconCast-NC), in which the two throughput modes only differ in (for the capture version) or in (for the non-capture version). For groupput maximization, at any time in the -th interval,
Let and select parameters and properly (e.g., and ). Under perfect knowledge of or , the average throughput of EconCast ( or ) converges to the oracle throughput ( or ) given by (P1).
5.6 Stability and Choice of , , and
EconCast is adaptive and, as expected, it must deal with the tradeoff of “adapting quickly but poorly” to “adapting optimally but slowly”. This adaptation manifests itself into the parameters , , and . When is decreased, the throughput increases, as we will describe in Section 6. However, the burstiness also increases with respect to decreased . The burstiness is a characteristic of communication involving multiple packets that are successfully received in bursts. In Section 7, we describe how the burstiness can be analyzed and measured.
Under a given value of , each node continuously adjusts the rates based on its multiplier according to (17), which is a function of the ratio . Small ratios make smaller changes of over time, and lead to longer convergence time to the “right” multiplier values. In contrast, larger ratios make oscillate more wildly near the optimal value, such that the performance of EconCast is further from the optimal. Although the guaranteed convergence requires careful choices of the parameters (as stated in Theorem 1), in practice, we can choose and for some small constant and large constant .
6 Proof of Theorem 1
The proof of Theorem 1 is based on a Markov Chain Monte Carlo (MCMC) approach [28, 30] from statistical physics and consists of three parts: (i) we compute the steady state distribution of the network Markov chain under EconCast with fixed Lagrange multiplier vector , (ii) we present an alternative concave optimization problem whose optimal value approaches that of (P1) as and show that the steady state distribution of EconCast is indeed the optimal solution to this alternative optimization problem when the Lagrange multipliers are chosen optimally, and (iii) we show that under EconCast, nodes update their Lagrange multipliers locally according to a “noisy” gradient descent which converge to the optimal Lagrange multipliers with proper choices of step sizes and interval lengths as given in Theorem 1.
Part (i): Steady State Distribution
The following lemma describes the network state distribution generated by EconCast when freezes.
With fixed , the network Markov chain, resulted from overall interactions among the nodes according to the transition rates (18), has the steady state distribution
where is a normalizing constant so that .
The proof can be found in Appendix C.
Part (ii): An Alternative Optimization
We then present an optimization problem (P4) as follows
where is the positive constant used in EconCast (the counterpart in statistical physics is the temperature in systems of interacting particles). Note that (P4) is a concave maximization problem and as , the optimal value of (P4) approaches that of (P1). To solve (P4), consider the Lagrangian formulated by moving the power constraint (8) into the objective (20) with a Lagrange multiplier for each node , i.e.,
In view of (8) and (8), it can be shown that with fixed , the optimal that maximizes is exactly given by (19). Therefore, if EconCast knows the optimal Lagrange multiple vector , it can start with and the steady state distribution generated by EconCast will converge to the optimal solution to (P4).
In order to find , consider the dual function over (here is an -dimensional zero vector and denotes component-wise inequality). Interestingly, it can be shown that the partial derivative of with respect to is simply given by
which is the difference between the power budget and the average power consumption of node . Therefore, the dual can be minimized by using a gradient descent algorithm with inputs of step size , , , and , which generates a state probability . This algorithm is described in Algorithm 1 along with the following equations
Hence, with the right choice of step size (e.g., ), converges to the optimal solution to (P4).
To arrive at a distributed solution, instead of computing the quantities and directly according to (24) (which is centralized with high complexity), EconCast approximates the difference between the power budget and the average power consumption (22) by observing the dynamics of the energy storage level of each node. Specifically, each node can update its Lagrange multiplier based on the difference between its energy storage levels at the end and the start of an interval of length , divided by , as described by (17). Therefore, is updated according to a “noisy” gradient descent. However, it follows from stochastic approximation (with Markov modulated noise) that by choosing step sizes and interval lengths as given in Theorem 1, these noisy updates will converge to as (see e.g., Theorem 1 of ). As mentioned in Section 5.6, the choice of parameters , , and will affect the tradeoff between convergence time and the performance of EconCast.
Part (iii): Convergence Analysis
7 Numerical Results
In this section, we evaluate the throughput and latency performance of EconCast when operating in groupput and anyput modes. We use the following notation: (i) () is the oracle groupput (anyput) obtained by solving (P1) or, equivalently, (P2), (ii) () is the achievable groupput (anyput) of EconCast with a given value of obtained by solving (P4), and (iii) () is the groupput (anyput) of EconCast obtained via simulations with a given value of . For brevity, we ignore the subscripts of when describing results that are general for both groupput and anyput.
We consider clique networks
In the simulations, each node has a constant power input at the rate of its power budget, and adjusts the transition rates based on the dynamics of its energy storage level. Since nodes perform carrier sensing when waking up, there are no simultaneous transmissions and collisions. We also assume that the packet length is and that nodes have accurate estimate of the number of listeners or the existence of any active listeners, i.e., or .
The simulation results show that perfectly matches for . For , does not converge to within reasonable time due to the bursty nature of EconCast, as will be described in Section 7.4. Therefore, we evaluate the throughput performance of EconCast by comparing to with varying in both heterogeneous and homogeneous networks. Specifically, homogeneous networks consist of nodes with the same power budget and consumption levels, i.e., . The simulation results also confirm that nodes running EconCast consume power on average at the rate of their power budgets.
7.2 Heterogeneous Networks – Throughput
One strength of EconCast is its ability to deal with heterogeneous networks. Fig. 2 shows the groupput and anyput achieved by EconCast normalized to the corresponding oracle groupput and anyput (i.e., ), for heterogeneous networks with and . Intuitively, higher values of indicate better performance of EconCast.
Along the -axis, the network heterogeneity, denoted by , is varied from to at discrete points. The relationship between the network heterogeneity and the values of is as follows: (i) for each node , and are independently selected from a uniform distribution on the interval , (ii) for each node , a variable is first sampled from the interval uniformly at random, and then is set to be . Therefore, the energy budget varies from to . As a result, for any , and have mean values of , and has median of but its mean increases as increases. Note that a homogeneous network is represented by .
The -axis indicates for each value of , the mean and the confidence interval of the ratios averaged over heterogeneous network samples. Specifically, in each network sample, each node samples according to the processes described above. Figs. 2LABEL:sub@fig:sim-hetnet-gput and 2LABEL:sub@fig:sim-hetnet-aput show that the network heterogeneity with respect to both the nodes’ power budgets and consumption levels increases as increases. Fig. 2 also shows that the throughput ratio increases as decreases, and approaches as . Furthermore, with increased heterogeneity of the network, the throughput ratio has little dependency on the network heterogeneity but heavy dependency on . In general, the groupput and anyput ratios are similar except for homogeneous networks (). In such networks, the anyput ratio is slightly higher than the groupput ratio. This is due to the fact that nodes have the same values of , , and . Therefore, determining the existence of any active listeners, , is easier than determining the number of active listeners, .
7.3 Homogeneous Networks – Throughput and Comparison to Related Work
We now evaluate the throughput of EconCast in homogeneous networks with , , , and . We also compare the groupput achieved by EconCast to three protocols in related work: Panda , Birthday , and Searchlight , which operate under stricter assumptions than EconCast. In particular:
The deterministic protocol Searchlight is designed for minimizing the worst case pairwise discovery latency, which does not directly address multi-party communication across a shared medium. However, the discovery latency is closely related to the throughput, since the inverse of the average latency is the throughput. Hence, maximizing throughput is equivalent to minimizing the average discovery latency. We derive an upper bound on the throughput of Searchlight by multiplying the pairwise throughput by . This is assuming that all other nodes will be receiving when one node transmits. However, in practice the throughput is likely to be lower unless all the nodes are synchronized and coordinated.
Figs. 3LABEL:sub@fig:sim-ratio-gput and 3LABEL:sub@fig:sim-ratio-aput present, respectively, the groupput and anyput achieved by EconCast normalized to the oracle groupput and anyput, as a function of the power consumption ratio , with , , and . Fig. 3LABEL:sub@fig:sim-ratio-gput also presents the throughput achieved by Panda, Birthday, and Searchlight
Fig. 3 shows that for a given value of , approaches with decreasing , as expected (see Section 5). Moreover, for each value of , the throughput ratio increases as the power consumption ratio is closer to . This is realistic for current commercial low-power radios that have symmetric power consumption levels in listen and transmit states. This is due to the fact that (i) with small values, nodes enter transmit state infrequently, since listening is expensive and they must pass the listen state to enter the transmit state, and (ii) with large values, nodes spend energy transmitting even when there are no other nodes listening (e.g., ). In particular, anyput degrades with large values, since anyput depends on the existence of any active listeners when some node is transmitting. Therefore, when listening is expensive, the fact that multiple nodes listen simultaneously does not improve anyput. We believe that any distributed protocol will suffer from such performance degradation since, unlike Panda, Birthday, and Searchlight, nodes in a fully distributed setting do not have any information about the properties of other nodes in the network.
7.4 Burstiness and Latency
The results until now suggest allowing . While reducing improves throughput, it considerably increases the burstiness of communication, as mentioned in Section 5. The burstiness is measured by the average burst length, which is defined as the average number of packets that are successfully received in a burst (i.e., the average number of packets a node successfully receives before exiting listen state). The analytical computation of the average burst length can be found in Appendix E. In general, increased burstiness means that the long term throughput can be achieved with given power budgets but the variance of the throughput is more significant during short term intervals.
Figs. 4LABEL:sub@fig:sim-burstiness-gput and 4LABEL:sub@fig:sim-burstiness-aput show the average burst length of EconCast (in log scale) when operating in groupput and anyput modes, respectively, in homogeneous networks with , , , and varying . Values are obtained using the analytical results (34)–(35) derived in Appendix E (curves) and contrasted with simulations at specific values of (markers). Aside from showing that the simulation results and the analytical results are well matched, Fig. 4 also demonstrates that reducing dramatically increases burstiness. For example, with and , a node running EconCast in groupput mode has an average burst length of , and this value is increased to with . This explains why does not converge within reasonable time with (see Section 7.1). Comparing Fig. 4LABEL:sub@fig:sim-burstiness-gput with Fig. 4LABEL:sub@fig:sim-burstiness-aput, it can be seen that the groupput average burst length increases more rapidly than the anyput average burst length as decreases. Moreover, Fig. 4LABEL:sub@fig:sim-burstiness-aput shows that the anyput average burst length is independent of , which corresponds to the analysis in Appendix E. The reason is that the burst length of EconCast in anyput mode only depends on , which always equals to , if the transmission is successful. We remark that reducing the burstiness is a subject of future work.
A second metric we consider is the communication latency, which is defined as the time interval between consecutive bursts received by a node from some other node where the interval includes at least one sleep period. We focus on this metric because nodes receiving longer bursts consume more energy, and therefore, need to sleep for longer periods of time.
Figs. 5LABEL:sub@fig:sim-latency-gput and 5LABEL:sub@fig:sim-latency-aput present the CDF latency of EconCast when operating in groupput and anyput modes obtained via simulations, and indicate both the average and the percentile latency values. The homogeneous networks considered are with , , , and . Fig. 5LABEL:sub@fig:sim-latency-gput also shows the pairwise worst case latency of Searchlight computed from  under the same power budget and consumption levels.
Fig. 5 shows that the latency increases as decreases, since nodes receiving more packets in a short time period (i.e., increased burstiness) have higher variation in their energy storage levels, and need to sleep longer to restore energy. Fig. 5 also shows that a larger value of results in lower latency, since every node is more likely to receive when more nodes exist in the network. Comparing Fig. 5LABEL:sub@fig:sim-latency-gput with Fig. 5LABEL:sub@fig:sim-latency-aput, it is observed that EconCast operating in anyput mode has slightly lower average latency than in groupput mode. However, with a smaller value (i.e., ), the percentile latency of EconCast when operating in anyput mode is significantly lower than that in groupput mode. This results from the fact that the average burst length of EconCast in anyput mode depends on the existence of any listening nodes, whose value is always less than or equal to the number of listening nodes considered in groupput mode.
For all parameters considered, the percentile groupput latency is within seconds, outperforming the Searchlight pairwise worst case latency bound of seconds. Note that although EconCast has a non-zero probability of having any latency, its latency is below the worst case latency of Searchlight in most cases (over ).
7.5 Groupput Evaluation in Non-clique Topologies
We now compute the oracle groupput for non-clique topologies (derived in Section 4.3) and evaluate the groupput achieved by EconCast in such scenarios via simulations. Since simultaneous transmissions can happen in non-clique topologies, none of the transmissions will be counted as throughput in the simulations.
We use grid topologies with varying number of nodes, , in which each node has at most neighbors. For example, represents a grid. Fig. 6 presents the oracle groupput, , for grid topologies, and the throughput achieved by EconCast in groupput mode obtained via simulations with with varying and . Note that for all the grid topologies considered, the upper and lower bounds of (see Section 4.3) are the same, providing the exact oracle groupput.
Fig. 6 shows that EconCast achieves of the oracle groupput, , with . Although increasing leads to lower groupput, it can be observed that as increases, the groupput approaches of with . Despite the fact that the groupput cannot be obtained for , achieving of is remarkable given the fact that EconCast operates in a distributed manner.
8 Experimental Evaluation
To experimentally evaluate the performance of EconCast-C,
8.1 Experimental Setup
The TI eZ430-RF2500-SEH node is equipped with: (i) an ultra-low-power MSP430 microcontroller and a CC2500 wireless transceiver operating at at , (ii) a solar energy harvester (SEH-01) that converts ambient light into electrical energy, and (iii) a capacitor to power up the transceiver board. Despite its drawbacks which will be discussed below, it can be used for evaluation by extending the length of the shortest allowable data transmission.
We consider power budgets of . From our measurements, a node spends in the listen state and in the transmit state.
Each node is programmed with its , , and as the input of EconCast-C. The nodes’ main drawbacks include (i) inaccurate readings of the energy storage level (i.e., the voltage of the on-board capacitor) which are sensitive to the environment, and (ii) the fact that the capacitor cannot support multiple packet transmissions. Due to these drawbacks, we implement (via software) a virtual battery at each node. The virtual battery emulates the node’s energy storage level based on its sleep, listen, and transmit activities, and is used for updating the Lagrange multiplier according to (17). We show in the following section that in practice, a node running EconCast-C using this virtual battery is indeed consuming power at a rate close to its power budget.
8.2 Energy Consumption Measurements
To accurately measure the power consumption of the nodes, we disable the on-board solar cell, and attach a large pre-charged capacitor () that stores energy in advance. The energy consumed is computed by
where and are the measured power voltage values of the capacitor at and . The empirical average power consumption, , is then computed by
Note that even with such a big capacitor, a node with a power budget of () has a lifetime of only () minutes with and , which represent its stable working voltage range.
To measure the power consumption of the nodes, we charge the capacitor to and log the readings of after minutes using a multimeter. The empirical average power consumption is computed from (25) and (26) for and is averaged using runs. Because and do not account for some additional energy usage,
Observing the empirical power consumption of the nodes, we compute the achievable throughput by solving (P4) using both the actual power consumption, , and the target power budget, , denoted by and , respectively. In Section 8.4, we compare the experimental throughput to both and .
Having verified the power consumption of the nodes, we replace the capacitor with AAA batteries,
8.3 Practical Pinging
To enable practical pinging in EconCast-C, a short, fixed-length pinging interval is introduced after each packet transmission. During this interval, the transmitter listens for pings and recipients of the previous packet send a short ping at a random time uniformly distributed within the interval. The transmitter then estimates the number of listeners, , by counting the pings it receives, and adjusts the transition rate, , according to (18e).
Ideally, each ping should be much shorter than both the pinging interval and the packet length in order to reduce the collisions between pings, as well as for the transmitter to successfully receive it. Therefore, we use pings of length , which is the shortest packet that can be sent by a node. Based on this, we empirically set the pinging interval to and each data packet to .
8.4 Performance Evaluation
We consider homogeneous networks with , , , and nodes are located in proximity. One additional listening node (a or node) is also present but only as an observer and is connected to a PC via a USB port. Each data packet contains the node ID and information about the number of packets it has received from each other node. The observer node reports all received packets to the PC for storage and post processing. Each experiment is conducted for up to hours. The experimental throughput is computed by dividing the duration of successful transmissions by the experiment duration.
Throughput evaluation: Fig. 7 presents the ratio of the experimentally obtained throughput, , normalized to the achievable throughput and (see Section 8.2). Separate charts represent the results for differing number of nodes, , and power budget, . Points marked “Ideal” show the experimental throughput normalized to the achievable throughput computed by solving (P4) with the target power budget (i.e., ). Points marked “Relaxed” show the experimental throughput normalized to the achievable throughput computed by solving (P4) with the actual power consumption (i.e., ). As expected, is higher than , resulting in a lower throughput ratio.
Fig. 7 shows that despite the practical limitations (e.g., packet collisions and inaccurate clocks) faced when running EconCast-C on real hardware, the ratio is between ( is between ) for all settings considered. Moreover, Table 3 shows the improvement of EconCast-C over the throughput of Panda computed according to , denoted by , under the same power consumption levels and budget, with . It can be seen that with power budget of , the experimental throughput of EconCast-C outperforms the analytically computed throughput of Panda by x – x.
We remark that getting a higher experimental throughput ratio is limited by the following reasons. First, there is an pinging interval (see Section 8.3) after each packet transmission which effectively reduces the number of bits delivered. Second, collisions of pings or failed decodings of pings result in inaccurate estimates of the number of listeners. Third, the low-power clock used by a node during its sleep state drifts and additionally can be affected by its environment.
Power consumption: In Section 8.2, we show that the power consumption of the virtual battery is valid for evaluating the actual power consumption of the node. Fig. 7 also presents the mean, minimum, and maximum power consumption of the virtual battery normalized to the target power budget . Specifically, a value of means that a node consumes power on average at the rate of its power budget throughout the experiment, and a higher value means that a node consumes power at the rate which is higher than its power budget.
The results show that nodes running EconCast-C consume power at rates which are within and of the target power budget with