We consider an Internet of Things (IoT) network where a set of nodes collect measurements that have to be later on analyzed by a data analytics or machine learning (ML) algorithm. For example, an algorithm for classifying, filtering or summarizing data. This class of services is one of the most important envisioned applications of the emerging IoT networks and poses many technical challenges ; especially, when IoT networks operate subject to bandwidth, processing, and energy constraints.
Unlike previous generations of sensor networks, it is expected that IoT applications collect data at an unprecedented rate and that only a fraction of these will be non-ephemeral [3, 4]. Hence, the usual approach of transferring all the data to an IoT node gateway for processing, even if possible, may consume network resources unnecessarily. A promising solution to overcome this issue is to leverage the processing capacity of the IoT nodes and execute (some of) the data analytics tasks at the edge. That is, by carrying out some of the processing in situ it is possible to reduce the amount of data that needs to be transmitted over the network. However, executing data analytics at the IoT nodes has some costs. The two most significant ones are perhaps that processing is expensive in terms of energy, and that the grade or performance of how a task is carried out depends on the algorithms that IoT nodes are able to run. For example, nodes with limited memory can only classify data with low complexity models, which makes their predictions less accurate in general.
In this paper, we introduce a resource allocation framework that allows us to design online execution and routing policies for data analytics tasks in IoT networks. That is, decide whether a data analytics task should be processed (i) locally, (ii) at the gateway, or (iii) elsewhere in the IoT network (e.g., at a neighboring IoT node) depending on the available network resources (bandwidth, processing capacity and energy). An important feature of the framework is that it also allows us to maximize a combined criterion of network lifetime111Time the network can operate without any node running out of battery. and data analytics performance. The first objective is important because we would like the network to operate for as long as possible, and the second because the network has to fulfill its purpose besides “staying alive”. We call this problem Maximum Lifetime IoT Analytics (MLIA).
The problem of maximizing the time a network can operate has been addressed before in sensor networks (see Section II). However, unlike sensor networks, IoT encompasses more sophisticated scenarios where a variety of heterogeneous devices and applications coexist , and brings data analytics processing into play. The latter adds, technically, a new dimension to the existing routing algorithms (e.g., [5, 6, 7, 8]) and raises technical challenges that cannot be addressed with previous solutions directly. In particular, to capture in-network processing we need to use a network model with “gains” (Section III-B), transform a non-convex problem into an equivalent convex one (Lemma 1), and develop a new online algorithm (Theorem 1) that can handle non-linearities in the utility as well as randomness in the actions (i.e., the routing and processing decisions that can be made in each time slot). Furthermore, the fact that nodes can only operate during a limited time span222Due to energy constraints. adds the difficulty of selecting the algorithm parameters so as to obtain the desired performance (see Section VI-B2). To this end, the main contributions of the paper are:
MLIA problem: we introduce the problem of jointly maximizing the lifetime of an IoT network and the performance of how data analytics tasks are carried out. This is an open problem arising in many IoT applications.
Problem model: we formulate the MLIA problem as a convex optimization program. The model captures aspects such as the coexistence of different types of data analytics tasks, that data analytics may be carried out by different IoT nodes, and that their computation cost may vary across nodes, among others.
Online algorithm: we propose an online algorithm that solves the underlying convex problem and has non-asymptotic convergence guarantees. The algorithm determines the joint routing and processing policy for the IoT nodes in a myopic manner by only looking at the system’s current state, i.e., it does not require statistical knowledge of the underlying random processes such as the time-varying link capacities. Also, and to the best of our knowledge, this is the first paper that presents the convergence of the dual subgradient method with time-varying sets, which is another contribution.
Performance evaluation: we perform a set of extensive experiments to (i) evaluate the performance of the proposed solution and to (ii) understand how this is affected by the network connectivity and system parameters. We also compare our algorithm to two benchmark policies, and show that our approach can increase the network lifetime by approximately compared to an algorithm that minimizes the total energy consumption.
The rest of the paper is organized as follows. Section II presents the related work. In Section III, we introduce the system model, the problem, and the arising trade-offs. In Section IV, we formulate the MLIA problem as a convex program, and in Section V, we present the online algorithm. Section VI contains the numerical experiments and discussion.
Ii Related Work
The problem of deciding how to transmit and process data to prolong the network lifetime has been studied before in Wireless Sensor Networks (WSNs). For instance, the work in  proposes load-balancing techniques to spread the energy consumption across nodes. In , the authors study the problem of designing a medium access protocol that takes into account the channel state information and the available energy. And in , it is shown that preprocessing data at the sensor nodes can help to reduce the network load and so the energy required to transmit data to the fusion center (i.e., the gateway). From a problem formulation perspective, our approach differs from previous works in the literature of WSNs and IoT because we consider both the energy spent in routing and processing the data, and the performance of the analytics. The last point is crucial in heterogenous IoT networks where the ability of nodes to run algorithms depends on their hardware.
The maximum lifetime objective has been extensively studied for routing in multi-hop sensor networks. The seminal work in 
considered a static maximum lifetime routing problem and formulated it as a linear program. This work was extended in a sequel of papers[12, 5] to different types of wireless networks, and a flow augmentation algorithm was proposed to support fixed and arbitrary generation rates. The approach in  has also been adopted by other authors (see survey ); for example,  combines network lifetime with congestion control, and  proposes an algorithm to solve the maximum lifetime problem in a distributed fashion. Finally,  proposed a static optimization solution for maximizing analytics performance in IoT networks with average power constraints, which is different than the lifetime criterion. Our work differs technically from all previous work on maximum lifetime routing in sensor networks because (i) it considers IoT sensing nodes that are heterogeneous and can perform data analytics computations in addition to routing data; (ii) it uses an objective that incorporates performance in addition to lifetime; and (iii) the proposed dynamic algorithm solves, provably, the underlying convex problem without knowledge of the arrivals or channel statistics. Regarding the algorithm, we use time-varying sets to handle the instantaneous routing and processing constraints, which is in marked contrast to stochastic Lagrange dual approaches where the stochasticity does not affect the decision variables.
Finally, we note that data analytics optimization with routing costs has been considered in the cloud context [16, 17]. However, there the costs are not related to energy expenditure, neither the resource allocation decisions affect the time the network will be able to operate. Furthermore, in IoT, we have the additional inherent difficulties of routing data over wireless networks which do not appear, of course, in the cloud.
Iii System Model and Problem Statement
Iii-a System model
We model an IoT network as a directed graph consisting of nodes and links. We use to denote the set of applications in the network. For each application , the nodes collect and send data to a gateway node—possibly over a multi-hop path. Parameter , , indicates the rate at which node collects data of application . These are exogenously given and injected into the network directly. The arrival rate matrix is given by
Each link has an average capacity of ; we collect these in matrix . Links and can have different capacities. The transmission over link induces an energy consumption for the sender node , and for the receiver node . Both are measured in . We model the wireless interference using the protocol interference model , according to which a transmission over link is successful if and only if all nodes in range with or are idle. This requirement is based on the CSMA/CA protocol adopted by IEEE 802.11 standards.333In detail, this interference model complies with the communication sequence RTS-CTS-Data-ACK, where each sender is also a receiver of the ACK packets; which is the strictest model. The set of interfering nodes can be reduced if the ACK operation is not used. The set of interfering links for each link is defined as:
where is the set that contains the neighbors of a node . Hence, when a link is active none of the links in can be used.
IoT nodes may be heterogenous in terms of hardware. We use to denote the processing capacity in of a node , and to denote the processing requirements (in ) of an application in each of the nodes. The processing in each node may reduce the volume of each flow by a factor of . For example, in an object recognition application the flow volume reduction is large since an image gets reduced to a collection of bounding boxes and tags , i.e., to few bytes. Of course, this flow reduction factor may depend on where a data analytics task is carried out since IoT nodes may run different algorithms. We collect the flow reduction and processing requirements in matrices and .
Each IoT node has an energy budget of Joules that can spend transmitting, receiving, and processing data. When a node has used its energy budget, it dies meaning that it cannot transmit or process more data. We assume that the network gateway does not have energy constraints.
Iii-B Decision variables and constraints
IoT nodes can make two types of decisions: process and forward data. Variable indicates the rate in at which application is transmitted over link . Similarly, variable indicates the rate in that node processes data of application . We collect the decision variables in matrices and . The transmission and processing rates must satisfy the link and node capacity constraints:
The interference constraints affect how the links in can be activated and consequenctly the total amount of data that can be transferred over the network; see, for instance, Lemma 1 in . These are formally given by:
where is defined in (2).
Unlike classic max-flow type models , in processing-capable networks the amount of flow that arrives at a node may not be the same as the amount of flow that departs. Now, the flow conservation constraints are given by
Equation (5) says that the data received from the other nodes in the network, plus the data received after the local processing, plus the exogenous arrivals must be equal to the traffic sent to other nodes in the network and for processing. Figure 1 shows an example of a network with five IoT nodes and a gateway.
Finally, the decisions and need to respect the energy budget of each node. These must satisfy:
and is the network life time:
Definition 1 (Network lifetime).
Time span where all the IoT nodes are alive, i.e., none of them runs out of energy.
Hence, (6) must be satisfied by all the nodes in the network. We later extend this definition to scenarios where a subset of nodes are allowed to die before the network lifetime expires.
The execution of analytics at the IoT nodes and the gateway results in different performance. The latter can be related, for instance, to the precision or confidence that an image is classified using a machine learning algorithm. Formally, we define function , to capture the network benefit of processing an application at a node. We assume is concave and non-decreasing, and that IoT nodes may have different performance for processing the same task. This performance diversity may arise due to hardware or software differences among the IoT nodes. See [19, Figure 1] for an example of how different object detection algorithms have different precisions.
Iii-D Problem statement
The IoT nodes collect data that must be processed locally, at another IoT node, or at the network gateway. Ideally, we would prefer to process all the data in the gateway since this has usually an “unlimited” energy budget and better hardware that allows it to run more sophisticated algorithms. However, that might not be always possible for several reasons. First, the amount of bandwidth available between the nodes and the gateway might not be enough to transport all the data. Second, nodes are subject to energy constraints, which in turn limit the total amount of data that can be transferred. And third, the central node may not be able to cope with the processing of all the data from all the IoT nodes.
Our goal is to design a routing and processing policy () that maximizes (i) the network lifetime and (ii) the analytics performance. The lifetime criterion is crucial because when nodes run out of battery, the network operation is disrupted e.g., nodes stop collecting information, monitoring an area, among others. On the other hand, the analytics performance metric is important because our goal is not just to keep the nodes in the network alive but also to maximize the service performance. Sometimes these two objectives may not be conflicting since processing data in the network reduces the network congestion and so the subsequent routing energy cost. However, in-network processing incurs an energy cost as well as analytics performance degradation since IoT nodes may run “lighter” algorithms that fit their hardware specifications. The overall balance depends on many parameters, such as the flow reduction due to processing, the energy cost of these tasks, and the network properties.
In sum, we would like to find a policy that maximizes a combined criterion of network lifetime and data analytics performance depending on (i) the capacity of network links; (ii) the nodes’ processing capacity; (iii) the applications data rates; (iv) the data analytics performance “quality”; and (v) the nodes’ energy budget. Next, we present the mathematical formulation of the problem and introduce an algorithm that is amenable to implementation in stochastic environments.
Iv Maximum Network Lifetime and Analytics
The IoT operation constraints determine the transmission and processing policies that are implementable, and subsequently, the set of supportable data rates. First, we define sets:
These sets are bounded polytopes (so convex sets [22, Section 2.2.4]) because they are the intersection of inequality constraints and all links and nodes have bounded capacity. Using these sets, we can define the capacity region of the IoT system.
Definition 2 (IoT network capacity region).
The IoT network capacity region is the set
where is given in (1).
We will always assume that is non-empty. We are now in position to formulate our optimization problem.
Iv-a Maximum lifetime data analytics problem
Recall that is the network lifetime. The optimization problem is given by
Parameter is used to balance how much we prioritize the network lifetime over the analytics performance metric. If , then (7) aims only to maximize the network lifetime; if , the optimization only takes into account the data analytics performance; and for any value of , it balances the two terms in the objective.
Problem (7) is non-convex because the inequality constraint (6) involves the product of variables and .444The product of two variables is generally not convex. Moreover, variables and are not independent since affect the energy consumption and so indirectly the time the network will be able to operate. Nonetheless, and as we show in the following lemma, it is possible to transform the non-convex problem (7) into an “equivalent” convex problem.
The optimization problem
is convex and “equivalent” to the non-convex problem in (7). It allows us to balance smoothly between maximum network lifetime and maximum data analytics performance.
Let be a solution to (7). By Weierstrass’ theorem [23, Proposition 2.1.1; condition 1], one can show that a solution always exists and is finite.555Note that by construction and are bounded sets. Variable belongs also to a bounded set since it is nonnegative and nodes have a finite energy. The key part of the proof relies on showing that one of the energy constraints must be tight at the optimum. We proceed to show this by contradiction. Suppose there exists a such that for all . Then, we must also have that (i.e., the objective value increases); however, this is not possible since by assumption is an optimal value. Hence, we have that at least one constraint must be tight at the optimum, i.e., . Next, rearrange terms in the last equation and rewrite the energy constraints as
where the follows because the constraint must be satisfied by all the nodes. From (9), we can see that maximizing is equivalent to minimizing the LHS of (9)—which is a convex function since is linear [22, pp. 72] and is a constant. Finally, considering that is convex, we can use scalarization with to obtain a convex problem. ∎
It is important to emphasize that problems (7) and (8) are equivalent but not the same. Namely, if , then the optimization maximizes the network life time; if , it only takes into account the analytics performance; and if it balances the two objectives smoothly. However, the solutions to problems (7) and (8) do not need to be the same for when since the network lifetime term in (7) is linear, whereas in (8), the term must be regarded as . As we will show in detail in Section VI, parameter has a huge impact on the system’s performance.
Iv-B Generalized maximum network lifetime problem
Instead of considering the lifetime of individual nodes, we can consider the lifetime of groups of nodes , . For instance, the type of data collected by a subset of nodes may be more important to the global system objective than the data collected by another subset of nodes. To consider groups of nodes in the optimization problem, we can replace the network lifetime term in the objective of problem (8) with
Parameter is used to emphasize how much we would like a subset of nodes to “remain” alive with respect to another subset. Note that the formulation in (8) is a special case where for all and . Hereafter, and to streamline exposition, we will use the formulation in (8) but our results apply to more general cases directly.
Iv-C Practical limitations
The resulting optimization problem is readily solvable by convex solvers such as SCS . However, for this, one needs to know all the system parameters, which is rarely the case in practical scenarios. For example, the average capacity of a link connecting two IoT nodes is usually not known. Furthermore, there are generally instantaneous constraints, such as the level of noise in the system or interference, which affect the decisions that the IoT nodes can make. In the next section, we present a dynamic algorithm that learns and adapts to the instantaneous network/system characteristics.
V Dynamic MLIA Algorithm
In this section, we present a dynamic algorithm that solves (8) and does not require previous knowledge on (i) the average arrival rate of the data analytics; (ii) the capacity of the network links in each time instance; and (iii) the average performance or reward obtained from carrying out data analytics at the IoT nodes.
V-a Dynamic problem formulation
We divide the time in slots of normalized duration and parameterize the variables in the static model (8) with to indicate their value in a time slot. For instance, indicates the new arrivals of application at node and time , and is the amount of commodity transmitted over link . We also need to capture the network constraints of the dynamic problem. The instantaneous link capacity constraints are
. The (binary) interference constraints are
for all where is the indicator function, i.e., if and otherwise. Hence, the binary interference constraints only allow one node to transmit in the interference range regardless of the transmission rate. We are now in position to define sets
which contain the admissible routing/processing policies that can be implemented in the system in each time slot. Note that may not be convex since (11) is not convex.
The operation of the network consists of selecting actions (or values) from the instantaneous action sets and while taking into account the properties of the underlying convex problem. We explain next how this can be achieved.
V-B Algorithm overview
The key idea for solving (8) in the dynamic setting is to relax the flow conservation constraints and formulate the Lagrange dual problem. The Lagrangian is
where is the Lagrange multiplier associated to each of the flow conservation constraints, and we define . The Lagrange dual function is defined as
and recall that it is concave [22, Section 5.2]. Hence, it can be maximized with the subgradient method applied to the Lagrange dual problem.666We use subgradient instead of gradient because the Lagrange dual function may not be differentiable. Specifically, with update:
where the term in parenthesis is a subgradient of at ,
and the step size or parameter that controls the accuracy of solution in the optimization. Recall that the solution of the primal and dual problem coincides when strong duality holds [22, Section 5.2.3]; which is the case in our problem since the constraints in (8) are linear and the network capacity or feasible set is non-empty by assumption.
V-B1 Unknown arrivals
Suppose now that and for all (the sets of actions do not change over time). We want to relax the fact that the data analytics arrival is not known a priori. For this, we need to solve the Lagrange dual problem (i.e., maximize ) with the subgradient method replacing
with the random variablein the dual update (13). This change amounts to making the subgradient of stochastic, or equivalently, to using the stochastic dual subgradient method to solve the underlying convex problem (8). For the algorithm to converge we need to make the following assumption.
is an i.i.d. process with expected value for all , , and is uniformly bounded for all .
V-B2 Time-varying sets
We can incorporate time-varying sets in our algorithm by replacing and with and in update (14). In order to solve the underlying problem (8), we need to make the following assumption, which can be regarded as if we used stochastic subgradients in update (13).
and for all and and are bounded sets. Here, the expectations are defined using (Minkowski) set addition [25, pp. 32].
V-B3 Noisy utility function
We may not have access to the utility function that measures the exact reward derived from processing analytics locally. To capture this, we define
to be an estimate of utility function. Also, let be the Lagrangian where is used instead of , and replace the Lagrangian in (14) with . Technically, minimizing instead of corresponds to computing (sub)gradients of the Lagrange dual function approximately, i.e., having -subgradient [26, pp. 625]. The convergence depends on the mild assumption that the errors are bounded.
The maximum error between and is bounded, i.e., .
V-C Algorithm & convergence
Algorithm 1 consists of three steps. The first one is to obtain the network state or set of possible actions, i.e., and . We assume these are obtained by the IoT nodes and that the information is transmitted to the network gateway where the routing decisions are made. The second step is to minimize the Lagrangian using sets and . The complexity of this step depends on the number of elements in the sets. When these are discrete and contain few elements, the minimization can be carried out by exhaustive search, and if and are convex by standard convex optimization techniques [22, 23]. The third and final step is to update the dual variables, i.e., carry out the (stochastic) subgradient update with -subgradients. Parameter is the step size that controls the accuracy/speed tradeoff of the algorithm .
We establish the convergence of the algorithm with respect to an optimal policy implemented in a random fashion. We need to make the following definitions.
Definition 3 (Average policy space).
where denotes the (Minkowski) set addition [25, pp. 32].
Definition 4 (Optimal policy).
An optimal policy is a pair that solves (8). By construction we have
where and for all .
Theorem 1 establishes an upper bound on the objective function of our policy compared to an optimal policy implemented in a “randomized” fashion—that is, the policy that we would implement if we knew in advance all the parameters in the system. Note that the bound on the optimality gap depends on and . The first term is related to the variation of the arrivals and link capacities, and the second on how good the estimate of the reward functions are. Importantly, note that the first term depends on the step size , which means that we can make it arbitrarily small. Theorem 1 establishes also that the flow conservation constraints are satisfied on expectation as , which means that we will recover, asymptotically, a policy in the network capacity region .
V-D Practical aspects
V-D1 Non-asymptotic analysis
Differently from previous stochastic network optimization analyses, e.g., [27, 28], our results do not compare the performance of the average policy. Furthermore, and unlike these previous works that give optimality bounds only asymptotically (i.e., as ), here we provide guarantees on how the policy performs on expectation per time slot. This is very important for this problem because IoT nodes have a finite energy budget that may not allow them to reach a “steady” state—this will be illustrated in the experiments in Section VI-B2.
V-D2 Distributed execution
MLIA describes a centralized algorithm where the IoT gateway collects the nodes’ parameters to solve (15). However, the only necessary central calculation is that for devising an eligible link activation schedule (based on the interference constraints). If such a schedule is already given or if the links are orthogonal (or, if any other interference control scheme is used) then each node can independently optimize its actions. Namely, each node can calculate separately the quantity , , and similarly for variables; and then each pair of 1-hop neighbors exchange the respective dual variables. This is a standard approach for enabling a decentralized implementation of such protocols, see  for a survey, and applies directly to MLIA.
Obtain network state: the network gateway collects the network connectivity information and computes sets and .
Compute action: the network gateway obtains
and broadcast the solution to the IoT nodes.
Update the dual variables: for all , , perform update (13) with instead of .
Vi Experiments and Evaluation
We evaluate the performance of our approach numerically using real hardware and application parameters. We investigate three points. First, how parameter and the network connectivity affect the network lifetime and the analytics performance in the static or offline problem (8). Second, the convergence of the dynamic algorithm to the solution of the static problem depending on . And third, how the proposed algorithm compares to two benchmark algorithms. We fix the network size in the experiments to nodes (including the gateway), but similar results are obtained with different network sizes.
Vi-a Experiments setup
In all simulations, we use random geometric graphs (RGG) to model an IoT network—this is common practice in wireless networks . Recall that in RGGs nodes are placed uniformly at random on an area of normalized units, and that their connectivity depends on the radius or distance each node covers. For simplicity, we assume that all links have an average capacity of .
The IoT nodes are Raspberry Pi(es) 3B equipped with an ARMv7 CPU, 1 RAM and a 802.11.b/g/n network card. According to our measurements, the power required to transmit and receive data is (with small variations depending on the channel quality), and for processing at full power. We assume that the energy spent to collect data and in idle mode is negligible.777That is, IoT nodes can switch to low-power consumption mode. All IoT nodes have batteries with a capacity of ;888The batteries have a small capacity to keep simulations short. An IoT node can easily be equipped with a battery that has one hundred times more energy. the gateway is connected to a constant energy source and so does not have energy constraints.
This consists of analyzing video streams of rate with the object detection algorithm YOLO . Frames have size and the outcome of the processing (a collection of bounding boxes and tags that indicate where the objects are in a frame; see the video in  for an example) can be represented with at most . Hence,
. We consider that an IoT node is a “source” node (receives a video stream) with probability. According to our measurements, the IoT nodes and gateway (a desktop with a GPU) can process a frame in and respectively. The analytics performance metric is given by the mean Average Precision (mAP ) that YOLO can detect objects correctly in a frame This is (YOLOv3-tiny) for an IoT node and (YOLOv3-608) for the gateway .
Vi-B1 Sensitivity analysis
Figure 2 shows the network lifetime (left) and data analytics performance (right) for a range of values and nodes’ radius. Recall that the radius affects the structure of the graph (e.g., number of links, shortest path to the gateway). The results are the average of 50 different networks generated as described in the previous section. Observe from the figure that independently of the radius, the network lifetime increases monotonically as . Nonetheless, the radius plays an important role: when the network connectivity is high,999Nodes are on average less than two hops away from the gateway. the best strategy is to offload all the processing to the gateway.101010That is because processing analytics at the nodes locally is more expensive than transmitting them, and the processing reward at the gateway is larger than the reward obtained as a result of processing the analytics at the nodes. Otherwise, the solution balances between local and gateway processing. Also, observe that in this specific example selecting is generally not the “best” choice. When the radius is equal to , if we change from to we can increase the network lifetime by at the expense of just in the data analytics performance (see Figure 2). Similarly, when the radius is equal to (the network is dense), by changing from to the network lifetime increases by without affecting the analytics ( change). Conclusion: the data analytics performance and network lifetime terms in the objective are very sensitive to parameter . Also, these may not necessarily conflicting: it is possible to obtain both, good analytics performance and network lifetime, by setting properly.
Vi-B2 Performance of the dynamic algorithm
We now investigate how Algorithm 1 solves the static problem for a network with radius equal to . Parameter is fixed to . The video frames arrive in the IoT nodes following a Poisson process. To capture the errors on the prediction function, we add noise of . We run Algorithm 1 with and show the results in Figure 3. The results are the average of 50 samples. On the left, we have the normalized optimality gap111111The optimality gap divided by . per iteration, and on the right, the system’s congestion or sum of all the Lagrange multipliers . The gray area indicates the lifetime of the system computed in the static problem.
Observe that the plots have different lengths (i.e., different network lifetimes) and convergence behavior. Specifically, with , the transient phase is short,121212Time required to converge to a ball or steady value around the optimum. the optimality gap is large, and the network lifetime shorter than in the static problem. With , the transient phase is slightly longer, but we obtain instead a much smaller optimality gap, and the network lifetime matches nearly the one of the static problem. Finally, with , the transient phase is so long that the optimality gap is always negative (i.e., better than the static optimum) and the network lifetime longer than in the static problem. However, note that this is possible because congestion keeps building up in the system, i.e., data analytics get accumulated in the nodes without being processed neither transmitted. Conclusion: parameter controls not only the optimality gap but also the duration of the transient phase. Selecting too small may result in generating congestion and not routing/processing data analytics.
Vi-B3 Comparison with other algorithms
Given that this paper introduces a new problem, there are no other algorithms with which to compare. Hence, we use two intuitive alternatives: (i) a max-flow type algorithm  that makes routing/processing decisions based only on the network congestion (i.e., the Lagrange multipliers); and (ii) an algorithm that balances analytics performance and energy consumption (instead of network lifetime). Specifically, the first term in the objective in problem (7) is replaced with .131313We assume that averages and are known in the min-energy algorithm. Also, to compare the algorithms fairly, we fix the reward for processing analytics to mAP and evaluate their performance in terms of network lifetime gain (we do this by selecting and accordingly). Figure 4 shows the average data analytics reward for 50 different realizations (time-varying arrivals and link capacities). Parameter is selected equal to . Observe that with the proposed algorithm, we obtain longer lifetime than with the algorithm that minimizes only the total energy consumption (min-energy), and a gain compared to the algorithm that only considers the network congestion (max-flow). Conclusion: minimizing the total energy consumption does not necessarily maximize the network lifetime. Algorithms that do not take into account the energy constraints can degrade the lifetime of the network significantly.
We have studied a crucial new problem in emerging IoT networks: how to allocate bandwidth and computation resources to data analytics tasks while considering the time the network can operate. The algorithm proposed can (i) balance between maximizing the network lifetime and the grade in which analytics are carried out; and (ii) operate without knowledge of the traffic arrivals or channel statistics. Our simulations seeded by real IoT device energy measurements, show that the network connectivity plays a crucial role in network lifetime maximization, that the algorithm can obtain both maximum network lifetime and maximum data analytics performance in addition to maximizing the joint objective, and that the algorithm increases the network lifetime by approximately 50% compared to an algorithm that minimizes the total energy consumption in the network.
N. J. Kaminski, I. Macaluso, E. D. Pascale, A. Nag, J. Brady, M. Y. Kelly, K. E. Nolan, W. Guibène, and L. Doyle, “A neural-network-based realization of in-network computation for the Internet of Things,” inIEEE ICC, 2017.
-  O. Vermesan and J. Bacquet, “Cognitive hyperconnected digital transformation internet of things intelligence evolution,” Series in Communications, 2017.
-  “Forecast and methodology,” White paper, Cisco Global Cloud, 2015.
-  “WorldWide IoT 2016 Predictions,” IDC FutureScape, 2016.
-  J.-H. Chang and L. Tassiulas, “Maximum lifetime routing in wireless sensor networks,” IEEE/ACM ToN, vol. 12, no. 4, pp. 609–619, 2004.
-  ——, “Routing for maximum system lifetime in wireless ad-hoc networks,” in Allerton Conference, 1999.
-  R. Madan and S. Lall, “Distributed algorithms for maximum lifetime routing in wireless sensor networks,” IEEE Transactions on Wireless Communications, vol. 5, no. 8, pp. 2185–2193, Aug 2006.
-  Y. Xue, Y. Cui, and K. Nahrstedt, “A utility-based distributed maximum lifetime routing algorithm for wireless networks,” in Quality of Service in Heterogeneous Wired/Wireless Networks, 2005.
-  H. Zhang and H. Shen, “Balancing energy consumption to maximize network lifetime in data-gathering sensor networks,” IEEE Trans. on Parallel and Distributed Systems, vol. 20, no. 10, pp. 1526–1539, 2009.
-  Y. Chen and Q. Zhao, “On the lifetime of wireless sensor networks,” IEEE Communications Letters, vol. 9, no. 11, pp. 976–978, Nov 2005.
-  B. Chen, L. Tong, and P. K. Varshney, “Channel-aware distributed detection in wireless sensor networks,” IEEE Signal Processing Magazine, vol. 23, no. 4, pp. 16–26, July 2006.
-  J.-H. Chang and L. Tassiulas, “Fast approximate algorithms for maximum lifetime routing in wireless ad-hoc networks,” in International Conference on Research in Networking, 2000, pp. 702–713.
-  R. M. Curry and J. C. Smith, “A survey of optimization algorithms for wireless sensor network lifetime maximization,” Computers & Industrial Engineering, vol. 101, pp. 145–166, 2016.
-  J. Zhu, S. Chen, B. Bensaou, and K. L. Hung, “Tradeoff between lifetime and rate allocation in wireless sensor networks: A cross layer approach,” in IEEE INFOCOM, 2007.
-  A. Galanopoulos, G. Iosifidis, and T. Salonidis, “Optimizing data analytics in energy constrained iot networks,” in WiOpt, 2018.
-  H. Feng, J. Llorca, A. M. Tulino, and A. F. Molisch, “Dynamic network service optimization in distributed cloud networks,” in ICC, 2016.
-  H. Feng, J. Llorca, A. M. Tulino, D. Raz, and A. F. Molisch, “Approximation algorithms for the nfv service distribution problem,” in IEEE INFOCOM, 2017.
-  P. Gupta and P. R. Kumar, “The capacity of wireless networks,” IEEE Transactions on Information Theory, vol. 46, no. 2, pp. 388–404, 2000.
-  J. Redmon and A. Farhadi, “Yolov3: An incremental improvement,” arXiv:1804.02767, 2018.
-  M. Kodialam and T. Nandagopal, “Characterizing the capacity region in multi-radio multi-channel wireless mesh networks,” Mobicom, 2005.
-  G. B. Dantzig, Linear Programming and Extensions. Princeton University Press, 1963.
-  S. Boyd and L. Vandenberghe, Convex Optimization. Cambridge University Press, 2004.
-  D. P. Bertsekas, A. Nedić, and A. E. Ozdaglar, Convex analysis and optimization. Athena Scientific, 2003.
-  B. O’Donoghue, E. Chu, N. Parikh, and S. Boyd, “SCS: Splitting conic solver, version 2.0.2,” https://github.com/cvxgrp/scs, 2017.
-  L. Georgiadis, M. J. Neely, and L. Tassiulas, Resource Allocation and Cross-Layer Control in Wireless Networks. Foundatations and Trends in Optimization, 2006.
-  D. P. Bertsekas, Nonlinear Programming: Second Edition. Athena Scientific, 1999.
-  A. Eryilmaz and R. Srikant, “Fair resource allocation in wireless networks using queue-length-based scheduling and congestion control,” IEEE/ACM ToN, vol. 15, no. 6, pp. 1333–1344, 2007.
-  M. J. Neely, “Stability and Capacity Regions or Discrete Time Queueing Networks,” ArXiv e-prints, Mar. 2010.
-  M. Haenggi and et al., “Stochastic geometry and random graphs for the analysis and design of wireless networks,” IEEE JSAC, vol. 27, no. 7, pp. 1029–1046, September 2009.
-  [Online]. Available: https://pjreddie.com/darknet/yolo/
-  [Online]. Available: "http://cocodataset.org/#detection-eval"
To streamline exposition and due to space constraints, we assume in the analysis there is only one commodity. The extension to multiple commodities is nonetheless straightforward. Now, we write the Lagrangian as where is the objective function in (8) and with , . That is, is the flow conservation constraint of node and a collection of flow conservation constraints. Note we do not use bold notation and that
is the inner product of vectorsand .
Viii-B Proof of Theorem 1
We have the dual (sub)gradient update where and are obtained by minimizing the Lagrangian for a fixed . We start by showing an upper bound on the objective function.
Lemma 2 (Objective upper bound).
Since and are selected from and to minimize the Lagrangian, we can write . Rearranging terms, summing from , dividing by , and using the fact that by assumption for all yields the stated result. ∎
Next, we bound the first two terms in the RHS of (16).
The first term in the RHS of (16) is upper bounded by where .
Let . From the standard dual subgradient update, we have that Parameter is bounded since , , are bounded for all . Next, rearrange terms, apply the expansion recursively for to obtain . Drop the third term in the RHS of the last equation since it is nonnpositive, let and , and divide across by to obtain the stated bound. ∎
The second term in the RHS of (16) is equal to zero on expectation.
Take expectations with respect to random variable , , , and write where (a) follows from the linearity of the expectation, and (b) since (i.e., at the optimum the problem must be feasible). Note that this is always case since random variables , , do not depend on for all . ∎
We are now in position to prove claim (i). Take expectations in the bound obtain in Lemma 2. The first term can be upper bounded by Lemma 3 and the second with Lemma 4. By letting for all the stated result follows.
Lemma 5 (Feasibility).
converges to a feasible point asymptotically as .
Recall . Rearrange terms and apply the iteration recursively to obtain Dividing by and using the fact that we have which implies that as if is bounded. The latter will be the case, on expectation, when is a nonnegative process (nodes do not pre-serve/process data) and the flow conservation constraints are not tight: there exists a and such that holds. ∎