Title: Using Virtual Markets to Program Global Behavior in Sensor Networks
1Using Virtual Markets to Program Global
Behaviorin Sensor Networks
- Prof. Matt Welsh
- Division of Engineering and Applied Sciences
- Harvard University
Review by Paskorn C. DSSG_at_UMB May 6 2005
2Market-based macroprogramming
- market-based macroprogramming (MBM), a new
paradigm for achieving globally efficient
behavior in sensor networks. - The goal of market-based macroprogramming is to
achieve an efficient allocation of network
resource to optimizee specific objectives
3Why might this be attractive?
- Markets operate in a (mostly) decentralized
fashion - Individual agents make locally greedy
(profit-making) decisions
4example
- Nodes closer to target might need to sample more
frequently - Ideally, nodes should self-schedule based on
their local state - Node should decide locally which operations to
perform and how often - Driven by interaction with environment
- Node operation should adapt to changing
conditions - e.g., If interesting event happens nearby, node
might increase sampling rate
5Basic model
- Nodes act as agents that sell goods (such as
sensor readings or routed msgs) - Each good is produced by an associated action
that produces it - Nodes attempt to maximize their profit, subject
to energy constraints - Each good has an associated price
- Network is programmed by setting prices for
each good - Each action has an associated energy cost
- e.g., Cost to sample a sensor/ Cost to transmit a
radio message
6Goods and Action
- Agent performs action to produce goods in return
for payment - Action
- Sample (S) a local sensor reading
- Send (T) send data towards to base station
- Listen (L) listen for incoming messages
- Aggregate (A) multiple sensor readings
7- Taking an action may/may not produce a good of
value to the sensor network application. - Not all actions will receive a payment
8Price
- The price on a good defines the payment that an
agent can expect to get for selling a unit of a
good. - In first step Flood prices for each good to the
network
9Utility
- Nodes continuously select the action with the
greatest utility - The utility for an action is a function of
- Price
- Advertised by base station
- Energy availability
- Taking an action must stay within energy budget
10Model Objective
- Maximize utility
- Subject to
- Energy budget gt 0
11- The utility function is the expected profit for
taking an action. - B(a) is the estimated probability of payment for
action a - An action is only profitable if it is useful
- e.g., Only get paid to transmit if another node
is listening - B(a) is learned using an exponentially weighted
moving average (EWMA) based on whether or not a
node received payment for action. - Nodes are conditionally paid for the listen and
sample actions based on whether or not a message
was heard and whether or not a sample above a
threshold was acquired, respectively the a value
for other actions is always 1 - Action selection uses
- Node usually takes action with highest expected
profit
12Constrain
- Energy (real energy --battery)
13Energy Consume
14Application Example Object Tracking
Utility functions vary depending on node's
position in network Nodes near target have high
utility for sampling Nodes along routing path
have high utilities for listening and sending
15Price Updating
- 1 User adjust the price as the market runs in
response to change in quality rate, latency of
data. - 2. Determine prices empirically based on an
observation of the networks behavior.
16Simulation model
Simulation based on TinyOS environment Target
travels in circular path Routing using GPSR to
base station
17Node 23 Observation
18Node 31
19Why nodes does sample all times
- This is because the node has enough energy to
perform these actions, and the -greedy action
selection policy dictates that it will explore
among these alternatives despite negligible
utility.
20What is the Red Line
- The energy token budget which is refilled in the
rate of r J/day continuously. - We can see that at time 350-380 the value of red
line is very high because it decreases the listen
action rate. - At time 380-450, the value is very low because it
increases the send action rate.
21Error Listen Price
Increasing the price for the listen action
degrades the trackers accuracy, since fewer
nodes are taking samples
22Energy
- Low 400J/day (refill)
- High 3000J/day (refill)
23(No Transcript)
24Future Work
- Complex price setting
- Price different in area
- Price from sequence of actions not 1 action
- Multiple demand
- Reinforcement Learning (improve Beta
mechanism)
25Related Work
- Newest paper
- Decentralized Adaptive Resource Allocation for
Sensor Networks (SORA) - Geoff Mainland, David C. Parkes, and Matt Welsh.
To appear in Proceedings of the 2nd USENIX/ACM
Symposium on Networked Systems Design and
Implementation (NSDI 2005), May 2005
26Related work Sensor Network Resource Allocation
Scheduling
- Static node scheduling
- TAG (26) (database approach, fixed sampling
periods) - Cougar(46) (database approach)
- Directed diffusion (17) (database approach,
data is cached at intermediate nodes, trying
to identify best route for two nodes, fixed
sampling periods ) - Dynamic Scheduling
- Hoods tracker (43)
- LEACH (13) (Low Energy Adaptive Clustering
Hierarchy)(Cluster based Approach, only cluster
head send the data)
27Comparative Analysis
- SORA VS
- Static Scheduling
- Dynamic Scheduling
- Hoods Tracker
28Static scheduling
- Schedule is computed based on the energy budget
- Example (if there are only two actions)
- Energy 100 J /day
- If listen action use 8 J
- If sample action use 2 J
- Thus, in 1 day, the sensor can do listen action
and sample action 100/(82) 10 times (listen
action 10 times , sample action 10 times)
29Static scheduling(TAG, directed diffusion, etc)
- Easy
- Have to know the amount of resource at first
- Sensor performs every action (sample, listen,
send, aggregate) in the same rate. - Nodes, which are far from the moving target, lost
energy the same as working nodes. - No learning algorithm
30Dynamic Scheduling
- Nodes continuously adjust their processing rate
based on their current energy budget - For example, node that has very low energy can
perform sample action more than listen action
31Hoods
- Nodes calculate the target location
- The node that detects the vehicle broadcasts its
data to its neighbors - Every node that get the sample data check if it
is center - The center node is the only node that send data
to base station
0
4
10
8
32Hood A Neighborhood Abstraction for Sensor
Networks (Berkeley)
33Tracking Accuracy
- Different between estimated and true vehicle
position at the time of estimated data is
received - delay increase error
34Tracking Accuracy
The static and dynamic schedulers are the most
accurate,since they operate periodically, while
SORA has slightly highererror due to its
probabilistic operation. Disabling aggregation in
SORA causes accuracy to suffer since more
readings are delivered to the base station.
35(No Transcript)
36Energy Efficiency
37Energy Efficiency
- sum of (useful energy) in each hop /total
energy - Nodes that in the route to send data to based
station is useful hop - In the perfect system, no waste energy
38The End
39More EWMA
- Exploration probability
- Adjust waste energy for random action
- Weight value in EWMA
- Adjust more or less quick