Combinatorial Auction-Based Task Allocation inMulti-Application Wireless Sensor Networks
Neda Edalat1, Wendong Xiao2, Nirmalya Roy2, Sajal K. Das3 and Mehul Motani11Department of Electrical and Computer Engineering, National University of Singapore
Email: {neda,motani}@nus.edu.sg2Institute for Infocomm Research, Singapore
Email: {wxiao,nroy}@i2r.a-star.edu.sg3Department of Computer Science and Engineering, University of Texas at Arlington
Email: [email protected]
Abstract— Wireless sensor networks (WSNs) are usually assigned tasksfor a single application. Recently, the concept of shared sensor networks,which support multiple concurrent applications, has emerged, reducing thedeployment and administrative costs, and increasing the usability and effi-ciency of the network. Supporting task allocation for multiple concurrentapplications in sensor networks (such as target tracking, event detection,etc.) requires sharing applications’ tasks (such as sensing, computation,etc.) and available network resources. In this paper, we model the dis-tributed task allocation problem for multiple concurrent applications usinga reverse combinatorial auction, in which the bidders (sensor nodes) bidthe cost value (in terms available resources) for accomplishing the subsetof the applications’ tasks. The main objective is to maximize the networklifetime by sharing tasks and network resources among applications, whileenhancing the overall application QoS (e.g., deadline). We also propose aheuristic two-phase winner determination protocol to solve the combina-torial reverse auction problem. Simulation results show that the proposedscheme offers efficiency and network scalability.
Keywords: Wireless Sensor Networks (WSNs), task sharing,
multiple applications, combinatorial auction, Quality of Service
(QoS).
I. INTRODUCTION
Wireless sensor networks (WSNs) have been leveraged from
application-specific platforms to integrated infrastructure shared
by multiple applications. Shared sensor networks offer distinc-
tive benefits in terms of the efficiency of the network and de-
ployment cost since they permit dynamic resource sharing and
allocation among multiple applications. For instance, a build-
ing automation system may employ an integrated WSN to sup-
port multiple applications including temperature monitoring, se-
curity alarms, light control, and structural health monitoring.
Compared to a WSN dedicated to a single application, a shared
WSN can significantly reduce the system cost by allowing mul-
tiple applications to share tasks and resources in the network.
Enabling multiple applications to execute concurrently in sen-
sor networks requires allocating the network’s resources to the
applications’ potentially competing tasks to enhance the overall
Quality of Service (QoS) under resource constraints.
One of the major challenges in wireless sensor network is
to allow multiple concurrent applications to run with varying
QoS requirements. One option is to allow those applications
to execute independently without sharing any task or network
resources, but that would undermine the effective usage of net-
work resources. An alternate approach is to allow applications
to share their tasks and resources jointly and if needed to de-
grade the QoS of an application to maximize the number of con-
current applications [1].
There is a recent interest in shared sensor networks system as
explored in [2] and [3]. The Utility-based Multi-application Al-
location and Deployment Environment (UMADE) has been pro-
posed in [2]. UMADE allocates sensing data to applications so
as to maximize the system utility subject to sensor node memory
constraints in a shared sensor system. Similarly, Tavakoli et al.
has developed a method to detect when common data and com-
mon stream processing are requested by multiple applications,
including cases where only some of the data is shared or only
intermediate processing steps are common [3]. Ma et al. [4]
proposed a market oriented approach for bandwidth allocation
in shared sensor networks.
The above mentioned works are application specific and they
have only concentrated on sharing the sensing tasks instead of
other tasks in the application’s task graph such as processing,
communicating, etc. Moreover, they did not consider the QoS
parameter while sharing and assigning the tasks among concur-
rent applications. Furthermore, they did not deal with the lim-
ited resources such as sensor node’s battery and CPU while as-
signing the multi-application’s tasks to the sensor nodes. Sev-
eral other utility-based approaches such as resource allocation in
sensor networks, SORA [5] also studied employing a reinforce-
ment learning and economic model for energy optimization in
sensor networks. However, SORA is designed for a single ap-
plication WSNs.
The auction theory has been proved to be a very powerful tool
to deal with distributed problems in networking, communica-
tions and resource management, due to their perceived fairness
and allocation efficiency [8]-[10]. Huang et al. [8] proposed two
auction schemes, SNR auction and power auction to determine
relay selection and relay power allocation in cooperative com-
munications. Fu et al. [9] used the auction theory in a stochastic
game for repeated resource allocation. In [10], combinatorial
reverse auction was used to formulate the scheduling problem
in multi-rate wireless systems. In their framework, the users
compete against each other to sell a set of slots to the base sta-
tion. All of the aforementioned schemes are for single applica-
tion task allocation and not for multiple concurrent applications.
We have addressed the real-time distributed task allocation
problem for single-application WSNs and formulated it as an
2011 Ninth IEEE/IFIP International Conference on Embedded and Ubiquitous Computing
978-0-7695-4552-3/11 $26.00 © 2011 IEEE
DOI 10.1109/EUC.2011.22
174
2011 Ninth IEEE/IFIP International Conference on Embedded and Ubiquitous Computing
978-0-7695-4552-3/11 $26.00 © 2011 IEEE
DOI 10.1109/EUC.2011.22
174
2011 IFIP Ninth International Conference on Embedded and Ubiquitous Computing
978-0-7695-4552-3/11 $26.00 © 2011 IEEE
DOI 10.1109/EUC.2011.22
174
reverse auction game [6] and [7]. In this work, we proposed
the task allocation scheme for concurrent multiple applicationsin wireless sensor network. Each applications (such as target
tracking, environmental monitoring, event detection, etc.) may
consist of several tasks (such as sensing, processing, communi-
cation, etc.). Our main objective for this allocation scheme is
to maximize the network’s lifetime by sharing different applica-
tions’ tasks while enhancing the overall Quality of Service (ap-
plications’ deadline). The task allocation for concurrent multi-
application WSN is modeled based on the combinatorial reverse
auction in which the bidders (sensor nodes) bid the cost value for
subset of the applications’ tasks. The cost value is the function
of available resources (energy and CPU) for each bidder and
also the required resources (energy and CPU) to achieve QoS
requirements for the applications sharing the task. This cost for-
mulation is designed to create the incentive for the bidder with
high available resources (energy and CPU) to share more ap-
plications’ task. The proper design of the cost formulation to
obtain the main objectives is one of the contribution of this pa-
per. The bidder with the minimum cost value of the bundle that
covers all the applications’ tasks will be the winner of our com-
binatorial reverse auction. Thus we propose a heuristic-based
winner determination protocol for combinatorial reverse auction
which operates into two phases. In the first phase, the local de-
cision making is developed to eliminate the subsets of bidders
with lower probability of winning. In the second phase, the sub-
optimal subsets are selected by an ordering heuristic.
The contributions of this paper are summarized as follows:
• We develop the combinatorial auction model to formulate the
dynamic task allocation for the shared distributed system in the
present of multiple concurrent applications.
• We design an adaptive bidding scheme that satisfies the fol-
lowing two objectives:
i) maximize the overall network lifetime (energy balancing);
ii) guarantee the required QoS for each application’s task.
• We also develop a two-phase distributed winner determination
protocol based on the combinatorial auction model. In the first
phase, with the aid of local decision making, the number of bid-
der’s bundles with lower probability of winning are eliminated.
This will result in significantly lower overhead for combinatorial
auction message exchange. In the second phase, the global sub-
optimal solution has been selected from the restricted choices
by our proposed ordering heuristic algorithm.
• We conduct the simulation experiments to evaluate the perfor-
mance of schemes in terms of the efficiency and scalability by
increasing the number of concurrent applications and network
size. The energy balancing among the network and the over-
all energy consumption are compared with the well-known task
allocation scheme.
The reminder of this paper is organized as follows. The sys-
tem overview and problem formulation are introduced in Sec-
tion II. The proposed combinatorial auction-based task alloca-
tion is presented in Section III. The Winner Determination Pro-
tocol (WDP) for combinatorial auction is explained in Section
IV. Section V shows simulation results and performance evalu-
ation while Section VI concludes the paper.
Fig. 1. An Example Scenario
II. SYSTEM OVERVIEW AND PROBLEM DESCRIPTION
In this section we describe the key design considerations and
the problem formulation for the multi-application task allocation
problem.
A. Shared Sensor Networks
Shared sensing infrastructures allow multiple applications to
share deployed sensors. A typical shared sensor network con-
sists of resource-constrained sensor nodes with heterogeneous
network and a base station with more abundance of resources.
The basic premise behind this resource sharing scheme is to
identify common tasks across different applications. These
shared tasks’ output can be used across multiple applications
instead of each application executing the task independently.
Here, we present a simple example to show the task alloca-
tion in the presence of multiple concurrent applications. We
will also show how the tasks (sensing, processing, etc.) can be
shared among different applications and how the QoS and net-
work lifetime (energy balancing) can be traded-off among the
applications that share the task. Consider an example of het-
erogeneous sensor network that has three nodes configured as
shown in Figure 1. The sensor nodes are equipped with temper-
ature sensors and have varying available resources in terms of
energy (battery) and CPU. In terms of initial energy, nodes are
sorted from the highest to lowest as node 3, node 1 and node 2and in terms of CPU speed, node 1, node 2 and node 3. In terms
of communication capabilities, only node 2 is directly connected
to a server with a high bandwidth link and all the three nodes are
connected via wireless communications as shown in Figure 1.
Consider two different applications of the smart building to be
implemented in this shared network. The first one is the se-
curity alarm and another one is the temperature and humidity
monitoring. The first application’s tasks sequence are: sensing
(comparably with high sampling rate), processing (comparably
fast computational requirement), and communication (commu-
nicate the output of processing to the server). This round needs
to be done in each iteration. For the second application which is
the temperature and humidity monitoring, the tasks sequences
are sensing (comparably with the low sampling rate), storage
and less frequently communicating to the server. For theses two
applications, the sensing task (first task) can be shared but ob-
viously in order to achieve the required sampling rate (Quality
of Service), the task needs to be done with higher sampling rate
and the same sensing data can be used for second application.
So, for this task our best choice is sensor 3 with higher amount
175175175
of available energy. For the second task of application one (high
speed processing) the sensor 3 is not useful anymore because it
has low CPU speed and cannot achieve the required QoS. So,
in this case the task is allocated to the sensor node 1 with the
highest processor although is has comparably lower amount of
energy. For task 3 of either of the applications (communication
task), since there is no direct link from node 1 and 3 to the server
so the data needs to be communicated via node 2. So, in this ex-
ample we allocate multiple concurrent applications’ task to the
sensor node with appropriate resources.
B. Applications, Tasks and QoS
Tasks are units of execution that make up an application. The
application for wireless sensor networks can be target tracking,
event detection etc. A single application may perform a variety
of tasks such as sensing, computation, storage and communica-
tion.
Wireless sensor networks are primarily constrained by the
limited battery lifetime and most of the applications in WSNs
are delay-sensitive. If appropriate measures are not taken in
managing the energy consumption, the time that an application
running over the network achieving its desired quality of ser-
vice, or reliability, can be shortened to much less than its po-
tential. In general, the Quality of Service metric of the WSNs’
tasks (such as sensing, storage, processing etc.) can be data sam-
pling rate, data compression ratio, data timeliness etc. In this
work, we derive task-level and network-level quality metrics,
such as timeliness and network lifetime. The timeliness in the
task-level metrics depends on required CPU cycle and lifetime
is the network-level metrics which relies on the overall sensor
nodes’ battery level (energy).
C. Task Allocation Objective
The task allocation problem for concurrent multiple appli-
cation is how to allocate the multiple concurrent tasks from
different applications to the shared sensor network in order to
achieve the allocation objectives. The critical concern in multi-
application task allocation is to maximize the task/resource shar-
ing and to enhance the overall applications’ QoS considering the
resource constraints. Let N = {1, 2, ..., n} denote the sensor
nodes and M = {1, 2, ...,m} denote the applications that are
sharing the task T . We formulate the task allocation problem
for concurrent applications as follows:
minimize∑j∈N
∑S⊆M
(CSj × aSj − δSj × aSj) (1)
⎧⎨⎩
∑i�S
∑j∈N aSj ≥ 1, ∀i ∈M∑
S⊆M aSj ≤ 1, ∀j ∈ N
aSj ∈ {0, 1}, ∀S ⊆M, ∀j ∈ N
(2)
where,
δSj =∑i∈S
Cij −maxi∈S{Cij} ∀j ∈ N (3)
aSj ={
1, If sensor node j ∈ N shares application’s task set S.0, Otherwise.
(4)
where S is the all possible subset of applications sharing the task
and CSj is the cost value for accomplishing the shared task of
applications’ subsets S by sensor j. δ is the profit attained with
sharing in comparison to the case that each applications task has
been separately assigned. The cost value (CSj) has been de-
signed to satisfy the task allocation objectives and formulated
as a function of application’s task QoS (timeliness) and ava-iable/required resources (explained in detail in section III-C).
The first constraint ensures that the overlapping sets of items are
never assigned, whereas the second one ensures that no sensor
node receives more than one subset. These constraints are called
the Set-Covering, Set-Packing and Set-Partitioning constraintswhich defined as follows:
Definition 1: M is the packing of S if Si
⋂Sj = ∅ for all
i, j ∈ M , i �= j; M is said to be a covering of S if⋃
j∈M Sj =S; M is the partition of S if it is both a covering and a packing
of S.
In other words, the conditions ensure that the allocation needs
to cover all the applications tasks; and the task from one appli-
cation cannot be assigned more than once; and lastly only one
set of applications can be assigned to each sensor node. For ex-
ample, let us assume the task T is shared among applications
M = {1, 2, 3}. One possible solution for this allocation can be
task subsets {1, 3} allocated to the sensor node i and task {2}allocated to the sensor node j. Hence, the common task from
application 1 and 3 are shared and the same task for applica-
tion 2 is not shared. Moreover, these two subsets are assigned
to two different sensor nodes, i and j (i �= j). Next, we explain
how we model the task allocation problem for multiple concur-
rent applications with auction theory and formulate the winnerdetermination problem.
III. COMBINATORIAL AUCTION-BASED TASK ALLOCATION
FOR MULTI-APPLICATION WSNS
Enabling multiple applications to perform concurrently in
sensor networks needs allocating the network’s resources to the
applications’ tasks to enhance the overall application deadline.
We use the combinatorial reverse auction to model the task al-
location and task sharing in multi-application WSNs; where the
winners will be the bidders with minimum bid values for sub-
set of application’s tasks. In this section, we first discuss the
preliminaries of the auction theory. It follows by market-based
architecture for concurrent task allocation for multiple applica-
tions. In this section, the adaptive bidding mechanism is also
presented.
A. Preliminaries of Auction Theory
A forward auction is the process of buying and selling goods
by offering them up for bid, accepting bids and then selling the
item to the highest bidder [8]. The forward auctions involve
a single seller and multiple buyers where the buyers compete
among themselves in order to procure the goods of their choices
However, in reverse auctions, the role of the buyers and the seller
are reversed. A buyer places a request to purchase a particular
item and multiple sellers bid to sell the requested item. The win-
ner of a reverse auction is the seller who offers the lowest price.
Sometimes, the bidders are interested in bidding for multiple
items at the same time. In such a combinatorial bid, the bidder
176176176
Fig. 2. Market based architecture for multiple task allocation.
offers a price for the collection of goods according to the choice
of the bidder rather than by placing a bid on each individual
items separately. This results in combinatorial auction, where
the auctioneer selects a set of combinatorial bids that provide
the maximum return in revenue without assigning any item to
more than one bidder. In our scenario, we use the combinatorial
reverse auction to model the task sharing in multi application
WSNs; where the winners will be the bidders with minimum
bid values for subset of application’s tasks.
In this paper, the concurrent task allocation in multi-
application WSNs is modeled based on the combinatorial auc-
tion in which the bidders (sensor nodes) bid the cost value for
subset of the applications tasks. The bidders that can cover all
the tasks with minimum bid subset value will be the winners. In
this case, to create the incentive for the sensor node (with suffi-
cient resources) to share the applications’ tasks, the bid bundle
for sharing the applications’ tasks is less than the summation of
bidding for each individual applications.
B. Market-based Architecture
The architecture of our combinatorial reverse auction-based
task allocation for multiple concurrent applications is shown in
Figure 2. Each components of this architecture are explained as
follows:
B.1 Application Manager (AM)
Each application consists of several tasks with its own QoS
requirements. Once Application Manager receives several con-
current applications, it follows the following steps:
• QoS-aware Resource Decomposition: Each application’s task
has its own QoS requirements. Applications with high QoS
requirements need greater resources to execute in comparison
to low seeking QoS applications. The AM specifies applica-
tion requirements in a QoS spectrum. Resource availability dic-
tates what QoS is achievable in practice. For an application iwe define a relation between resource request Ri and QoSi as
Ri ⇒ QoSi. This means that for certain combinations of dif-
ferent resources R the application can achieve the specified QoS
point.
• Task Sharing among Applications: The AM determines the
tasks that can be shared among different applications. The tasks
can only be shared if and only if the task and its inputs are identi-
cal amongst different application. Each identical task may have
different QoS due to its application requirements. Based on the
number of shared task and required QoS, the AM sets the bud-
get value for accomplishing those tasks in our marketing auction
model (presented in Section IV).
B.2 Auctioneer
The auctioneer distributes the task message:
< M(T ), {R}, {Budget} >to all the senor nodes (which are the bidders or resource sellers),
when the tasks and their corresponding budgets are received
from the AM. Here, M(T ) is the set of applications that shared
the task T , {R} is the set of required resources for each applica-
tion’s task based on the QoS-aware resource decomposition and
{Budget} is the set of budget value, set by AM for accomplish-
ing the task for different applications. We assume the auctioneer
is the gateway with high computational power that can run the
winner determination protocol (WDP) for combinatorial reverse
auction.
B.3 Bidder
In our scenario the sensor nodes are the bidders or resource
sellers. When a task message has been received from the auc-
tioneer, the bidder calculates the bid for the tasks from all possi-
ble applications’ set S as < S, bS > which has been explained
next.
C. Bid Formulation
The main concern in our combinatorial auction model is how
to formulate the bid value to express our main allocation ob-
jective. The bidder bids for all possible combinations of appli-
cations sharing a task. The bidding language used is OR bidin the form of {< S1, bidS1 > or < S2, bidS2 > ...or <SN , bidSN
>}, where S indicates subset of application shar-
ing task Tj . Our bid formulation is parameterized by following
variables:
Required CPU cycle (RCPU ): It refers to the expected CPU
cycle required for accomplishing the task with requested QoS.
This parameter is calculated in the QoS-aware resource decom-
position.
Available CPU (ACPU ): It is the sensor node’s CPU clock fre-
quency.
Computational Cost (CompCost): The energy consumption
of executing RCPU clock cycles with CPU clock frequency
ACPU is given as:
CompCost(RCPU , ACPU ) = NCV 2dd + Vdd(I0e
VddnVT )(
RCPU
ACPU), (5)
f K(Vdd − c), (6)
where VT is the thermal voltage and C, Io, n, K and c are pro-
cessor dependent parameters [12].
177177177
Remaining energy (E): It refers to the remaining energy of the
sensor node. We assume that each sensor node is aware of its
own remaining energy level.
Ideal gap (TIG): Once the set of applications sharing the task
with different QoS are determined, the tasks are required to be
done only once with best QoS (lower timeliness). However, the
output of this task needs to be communicated to different ap-
plications at different time based on their own QoS (timeliness)
requirement. Ideal gap refers to the time differences between
the best and the worst applications’ QoS requirement for the
common tasks. In other words, it is a gap between the time that
sensor node accomplishes the common task and the time that
sensor node communicates the task’s output for its successors
of the application with higher (worst) timeliness. The rational-
ity behind using this parameter in our bid formulation is that
if the ideal gap is very large, the incentive for sharing the task
would rather decrease. Hence, it shows that sharing the task is
not always the appropriate alternative.
The bid formulation for allocating the common task T of sub-
set of applications S where S ⊆M to the bidder j is represented
as follows:
bidSj = (CompCostj
Ej)× exp(TIG(S)) (7)
where this bid value bidSj is the cost value CSj in Eqn. (1). This
bid formulation creates the incentive for the bidder with higher
available resources (energy and CPU) to share the applications’
task by setting the lower price (higher priority) for bundle of
tasks than the summation of each individual bids in the bundle.
In order to achieve the energy balancing objective (maximizing
lifetime), the bidder with less remaining energy has comparably
higher bid value and less chance of winning.
IV. WINNER DETERMINATION PROTOCOL
The solution to the winner determination provides the desired
schedule vector for allocating the best set of sensor nodes for
multiple applications’ tasks. It has been shown in [11] that the
combinatorial reverse auction problem as shown in Eqn.( 1) ap-
proximates solutions that can be developed in spite of the fact
that the problem is NP-complete. Hence, we develop a heuris-
tic algorithm to solve the combinatorial problem. Our proposed
heuristic algorithm works in the following two phases:
A. Phase 1: Restriction phase via budget value
In the proposed scheme, each bidder bids for accomplishing
the tasks for multiple applications. In other words, the bidder
bids for all possible subsets of applications’ task. Hence, with
growing number of applications and tasks, the number of bids’
bundle will exponentially increase. On the other hands, com-
municating all of these bids value to the centralized decision
maker (auctioneer) essentially incurs the extensive communica-
tion cost. Hence, in this phase, we propose a local decision mak-
ing strategy by each bidder to restrict the number of bids. This
will also diminish the complexity of global decision making of
combinatorial problem by restricting the available choices.
In this phase, the budget value is the reserve valuation (RV )
set by the Application Manager (AM) and communicated to the
bidders. The RV is the AM’s willingness to pay for the applica-
tion’s task in the combinatorial reverse auction. Upon receiving
the tasks message which contains the budget values for applica-
tions’ tasks, each bidder calculates its bids for all bundles. Then,
they are compared with the budget value and based on the sim-
ple threshold policy, the bids that have the following condition
are eliminated from the bid bundles of that bidder.
bidS >∑S⊆M
RVS (8)
where S is all possible subsets of applications sharing the tasks.
As a result of the elimination phase, the bid bundles with more
number of applications or the ones which are computationally
expensive are eliminated from the bidder’s with lower available
resources (energy and CPU).
The issue which then arises is how to set the budget for each
application’s task. The AM adjusts the budget based on the
greedy update from the market price (MP ) which is the aver-
age of the winning bundles of bids from the previous winners in
κ prior rounds (MPt = Average(bidt, bidt−1, ..., bidt−κ+1)),where in each round, the winning bid value is the summation of
winning bundles of bids over number of applications sharing the
task. The budget is then adjusted at each time based on previous
iterations as follows:
RVt+1 = MPt × (1 + gt) (9)
where gt, called the safeguard factor, is the invariable positive
design parameter that can guarantee the budget is higher than
the market price.
The budget value allocated to each applications task depends
on the required QoS and for application m is formulated as fol-
low:
RVm = RV × (1 +QoSm∑Nj=1 QoSj
) (10)
where N is the number of applications sharing the task. The ini-
tial budget is set to a large random value so that a large number
of bids will be selected; the budget value (RV ) then adaptively
changes based on the feedback on the bid values of the winners.
B. Phase 2: Ordering heuristic
The local decision making applied on the previous phase can
fairly restrict the number of bidder’s bundles. In phase two, the
global decision making will be performed on the auctioneer who
is equipped with powerful computational resources. The output
of this phase will be the solution for Eqn. (1). Ordering heuris-
tic [13] is utilized to select the most promising bid from current
sets of bids that results in allocating the applications’ tasks to
the proper resources.
The proposed algorithm is articulated in Algorithm 1. The
input of this heuristic algorithm is the set of bids’ bundle
(bid1, bid2, ..., bidm) received during one round of auction, the
output is optimized allocation scheme Ωbest which is the solu-
tion to the problem defined in Eqn. (1). The algorithm is initial-
ized by setting the best allocation set as the empty set. In the
ordering part, the bids are sorted in the increasing order based
on the priority factor defined as follows:
178178178
Priority(bids) =bidsw(s)
(11)
where s ⊆ M is the subset of applications sharing the task and
w(s) is the weight factor which refers to the number of applica-
tions in subset s.
Once the bids are sorted based on the priority factor, the
searching heuristic algorithm initiates with the first bid subsets
(let us say bid1) from the ordering list. Then, the algorithm
seeks for all alternatives of the subsets such that their aggrega-
tion with applications in bid1 can cover the entire applications
(so-called compliment subsets bid′1). From those sets, the al-
gorithm selects the set with minimum bid value an named is as
bid′1. Afterwards, the summation of bid value bid1 and bid′1 is
set as the best bid value. The sensor nodes that bid the bid1 and
bid′1 value are called SNbid1 and SNbid′1. For the next round
of searching, all the previous stages are reiterated for bid2 and
then the the summation of bid value bid2 and bid′2 is compared
with the best bid value of previous iteration. The lower one is
set as the best bid value. This searching process continues till
it finds the minimum best bid value which results in the best
combination sets (Ωbest) for a specific allocation.
B.1 An example for the ordering heuristic:
In order to better understand the process of ordering heuris-
tic, a simple example has been given. Consider the task that
is shared among 5 applications, M = {1, 2, 3, 4, 5}. Our goal
is to find the appropriate sensor nodes SN to allocate applica-
tions, tasks to them. First, the algorithm sorts all the bidder’s
bids based on the priority factor in Eqn. 11. Let us say that the
first bid in the list is bid1 by sensor node SNbid1 , that bids for
subset of applications’ task S1 = {1, 3, 4}. The compliment
set of S1 (which is called S′1) turns out to be {2, 5}, {2}, {5}.Then, again, the searching algorithm based on the priority fac-
tor selects the best set. If the best set is S′1 = {2, 5}, selected
by best sensor node SNbid′1
then the searching process for this
round would be over; since, it can cover all the applications in
M = {1, 2, 3, 4, 5}. If still not all applications task are covered
(let us say S′1 = {2}) by the best selected sensor node SNbid′1,
is selected then the algorithm repeats the searching process to
find the best SN with minimum bid value for {5}.V. SIMULATION RESULTS
In this section, the performance of the proposed task alloca-
tion sharing algorithm and the winner determination protocol
are evaluated based on simulations. We have developed a dis-
crete event-driven simulator and implemented our task alloca-
tion algorithm.
A. Simulation Setup
In our simulation set up, the number of applications that are
concurrently performing, varied from 2 to 8. Three types of
tasks (T1, T2, T3) are used in these applications. At each time
instant, the tasks are randomly arriving for each applications.
The value of QoS (timeliness) are randomly assigned to the
each applications’ task. The simulation environment consists
of 25 wireless sensor nodes uniformly distributed in the way
that all the nodes are in the one-hop communication range of
each other. Each of the sensor nodes are equipped with strong
ARM SA− 1100 microprocessor with the CPU frequency ran-
domly selected between 100MHz and 300MHz and available
energy from 1.5 to 2.8 Joule. The other parameters for com-
putational and communication energy consumption are Eelec =50nJ/b, εamp = 10pJ/b/m2, VT = 26mV , C = 0.67nF ,
I0 = 1.196mA, n = 21.26, K = 239.28MHz/V and c = 0.5.
The network also has two base stations (gateway) as an applica-
tion manager and auctioneer with infinite resources (energy and
CPU).
B. Performance of Adaptive Bidding Scheme
The performance of adaptive bidding scheme has been evalu-
ated in terms of the QoS, the number of application sharing the
tasks and available CPU cycle frequency. Figure 2 demonstrates
the promising behavior of bid value through the bid formulation.
In Figure 3(a), the bid value increases exponentially by idealgap which is basically the time differences between the best and
worst QoS requirements for applications sharing the task. The
rationality behind this behavior is to decrease the chance of shar-
ing if the ideal gap is so high (sharing is not always the good
alternative). Figure 3(b) shows the bid value by increasing the
number of applications sharing the task, assumed the other pa-
rameter are invariable. The number of applications sharing the
task is mainly effects on communication cost; since, the shared
task is done only once but its output is required to communicate
for different applications. Figure 3(c) shows the bid value de-
creases by increasing available CPU resources. This will raise
the chance of winning for the bidder with more resources.
179179179
(a)Bid value over QoS (b)Bid value by increasing the number of applica-tions
(c)Bid value over available CPU
Fig. 3. Performance of bid formulation.
C. Performance of task sharing
We also evaluate the performance of task and resource sharing
during the multiple application task allocation. Once the tasks
are shared among several applications, the task is required to be
done only once but the output should be communicated based
on the number of applications. Figure 4 shows the significant
differences in terms of energy consumption in case of sharing
and non sharing the tasks.
The performance of our scheme in terms of energy balancing
has also been evaluated. In order to show the deviation from
the mean of the remaining energy of all the 25 sensor nodes, the
variance of data has been used. The variance formulation for
the available energy is calculated as V ar = 1n
∑ni=1(Ei − E)2
,where n is number of sensor nodes, E is the remaining energy
level of sensor nodes and E is the mean which is calculated as
E = 1n
∑ni=1 Ei. The higher variance value corresponds to the
unbalanced available energy level among the sensor nodes. Fig-
ure 5 shows the performance of our allocation scheme in terms
of energy balancing and compares it with the static energy bal-
anced scheme (Energy Balanced Critical Node Path Three EB-
CNPT) [14]. In the EB-CNPT algorithm, given the initial avail-
able energy levels at each node and the number of tasks for an
application, the clusters of tasks have been formed. Before the
task execution phase, each cluster of tasks are assigned to the
sensor node as a whole, instead of allocating each individual
task at each epoch by considering the resource and energy level
availability of each sensor node at that epoch. However, in our
scheme the energy availability is considered in each epoch of the
task allocation and our online scheme achieves more balanced
result after the task allocation in terms of energy balancing.
D. Performance of winner determination protocol
The scalability of the heuristic algorithm for winner deter-
mination protocol has been evaluated with different number of
nodes and applications. Figure 6 illustrates how the execution
time of the heuristic allocation algorithm on a Pentium IV PC
varies with the numbers of nodes and applications. Each data
point in the figure is averaged over 20 runs. The figure indi-
cates that the heuristic algorithm can scale effectively to larger
network sizes and number of applications.
Figure 7 shows the performance of using the elimination
phase via budget phase, in terms of energy consumption due
to the communication cost. The energy consumptions of trans-
mitting and receiving l-bit data over a distance d are defined as
Fig. 4. The performance of task sharing in terms of energy consumption.
Fig. 5. The performance of our scheme in terms of energy balancing.
Etx(l, d) and Erx(l), respectively:
Etx(l, d) = Eelec.l + εamp.d2, (12)
Erx(l) = Eelec.l, (13)
where Eelec and εamp are hardware parameter [12]. The com-
munication cost for all the subset of application S sharing the
180180180
Fig. 6. Execution time under varying network size and number of applications.
Fig. 7. The effect of using elimination phase via budget on energy consumption.
task is as follows:
CommCost =∑S⊆M
(Etx(S) + Erx(S)) (14)
As can be seen from Figure 7, the energy consumption increases
exponentially, due to the increased number of applications. It
is because the bid bundle for subset of applications increases
exponentially as the number of applications increase, eventu-
ally increasing the communication cost which is the function of
data exponentially. However, by utilizing the elimination phase,
some of bid subsets that have the bid value higher than the bud-
get are eliminated and thus reduce the amount of communication
cost.
VI. CONCLUSION
In this work, the concurrent task allocation in multi-
application WSNs has been modeled based on the combinato-
rial reverse auction in which the bidders (sensor nodes) bid the
cost value for subset of the applications’ tasks. The bidders with
minimum bid subset value have been selected as the winners.
The key novelty of our scheme is that it is designed to deal with
the concurrent task allocations, considering the Quality of Ser-
vice (QoS) metric as well as resource constraints. The main
objective of this scheme is to maximize the network life-time
by sharing the tasks and resources among applications and net-
work while enhancing the overall application’s QoS (applica-
tion deadline). An adaptive bidding scheme is also proposed
that continuously takes into account the sensor nodes’ resources
availability such as energy level and CPU as well as applica-
tion QoS to satisfy all above objectives. The proposed winner
determination protocol for combinatorial reverse auction oper-
ates in the two phases. During the first phase, based on the
local decision making, the numbers of subset of bids are elim-
inated via budget value. The sub-optimal subset would then be
selected in the second phase by ordering heuristic. The simu-
lation results show the performance of bid formulation in terms
of desired QoS and the available CPU. Moreover, the scalabil-
ity of winner determination protocol in terms of execution time
has been shown. Also, the performance of our adaptive task al-
location and task sharing in terms of energy consumption and
energy balancing are compared with the similar static task allo-
cation scheme. As part of our future work, we plan to apply this
scheme for a real-time applications for WSNs such as multiple
target tracking or event detection.
REFERENCES
[1] N. Roy, V. Rajamani and C. Julien, “Supporting Multi-Fidelity-Aware Concurrent Ap-plications in Dynamic Sensor Networks,” Proc. of IQ2S, in conjunction with PerCom,2010.
[2] Y. Xu, A. Saifullah, Y.Chen, L. Chenyang, S. Bhattacharya, “Near Optimal Multi-Application Allocation in Shared Sensor Networks ”, MobiHoc’10, Sept. 2010.
[3] A. Tavakoli, A. Kansal, S. Nath, “On-line sensing task optimization for shared sen-sors”, Proc. of the 9th ACM/IEEE International Conference on Information Processingin Sensor Networks, IPSN ’10, p 47-57, 2010.
[4] Q. Ma, D. C. Parkes, and M. Welsh, “A utility-based approach to bandwidth allocationand link scheduling in wireless networks,” in ATSN, 2007.
[5] G. Mainland, D. C. Parkes, and M. Welsh, “Decentralized, adaptive resource allocationfor sensor networks”, Proceedings of NSDI, 2005.
[6] N. Edalat, W. Xiao, C.K. Tham, E. Keikha, L. L. Ong, “ A price-based adaptive taskallocation for wireless sensor network ”, IEEE 6th International Conference on MobileAdhoc and Sensor Systems, MASS ’09, 2009.
[7] N. Edalat, W. Xiao, C.K. Tham, E. Keikha, “Distributed winner determination pro-tocol for reverse auction-based task allocation in pervasive computing ”, PERCOMWorkshops, 2010.
[8] J. Huang, R. A. Berry and M. L. Honig, “Auction-based spectrum sharing,” MobileNetworks and Applications, vol. 11, no. 3, pages 405-18, June 2006.
[9] F. Fu and U. C. Kozat, “Wireless Network Virtualization as A Sequential AuctionGame,” Proc. of IEEE INFOCOM 2010, 29th International IEEE Conference on Com-puter Communications, 2010.
[10] S. Pal, S. R. Kundu, M. Chatterjee, and S. K. Das, “Combinatorial reverse auction-based scheduling in multi-rate wireless systems,” IEEE Transactions on Computers,vol. 56, no. 10, pages 1329-1341, Oct. 2007.
[11] T. Sandholm, S. Suri, A. Gilpin, and D. Levine, “Winner Determination in Combina-torial Auction Generalizations”, Proc. AAMAS ’02, pp. 69-76, July 2002.
[12] A. Wang and A. Chandrakasan, “Energy-efficient DSPs for wireless sensor net-works”, IEEE Signal Processing Magazine, pp. 68-78, July 2002.
[13] R. Gonen, D. Lehmann, “Optimal solutions for multi-unit combinatorial auctions:branch and bound heuristics”, ACM Conference in Electronic Commerce, pp:13-20,2000.
[14] Y. Tian, Y. Gu, E. Ekici and F. Ozguner, “Dynamic critical-path task mapping andscheduling for collaborative in-network processing in multi-hop wireless sensor net-works”, Proc. of ICPP, 2006.
181181181