EnviroStore: A Cooperative Storage System for Disconnected

EnviroStore: A Cooperative
Storage System for Disconnected
Operation in Sensor Networks
Liqian Luo, Chengdu Huang, Tarek Abdelzaher
John Stankovic
INFOCOM 2007
1
Outline





Introduction
Design
Implementation
Evaluation
Conclusion
2
Introduction (1/3)

Data Collection




A sensor network is connected to the base
station that collects the data.
near-real-time information is desirable
object tracking, event notification…etc
Some applications do not require real-time
information



environmental monitoring
temperature, light variation
Disconnected Network Model
3
Introduction (2/3)

Disconnected Network Model



But, not preclude contact with a base station.



No need to maintain a base station in the field.
No need to connect every node as well as the base station.
opportunistic data upload
via data mules
Primary Concern



to maximize effective storage capacity
to minimize data loss
flash memory overflow and power consumption
4
Introduction (3/3)

EnviroStore




a cooperative storage system
employ data redistribution scheme
also consider the rate of energy consumption
can delay the onset of data loss with large input
data imbalance
Communicationcentric
path routing, data aggregation, …etc
Storagecentric
maximize effective storage capacity
5
Design
System Model
partitioned network island
disruption-tolerant!
Share data across partitioned
networks through mobile mules.
Sensory data must be buffered until an upload opportunity arises.
6
Design
In-network Data Redistribution

Data Redistribution



to balance storage utilization…
Offloading data from nodes that are highly
loaded to nodes that are not.
Perfectly balanced system is not energyefficient.



excessive and unnecessary data dissemination
Not to start offloading data too early!
lazy-offload scheme
7
Design
In-network Data Redistribution

Lazy-offload Scheme




to postpone data balancing until the latest possible time
allow certain imbalance between neighboring nodes
use local information only
Node i decides to offload data when…

Ri  RTH and Ri - Ri  Rimbalance
Ri : remaining storage size RTH : threshold value
R i : average remaining storage of the neighbor
Rimbalance : level of local imbalance
8
Design
In-network Data Redistribution


When
Who
How Much
to offload data
to offload data
to offload
Node i should select the destination node from
underloaded neighbors.




whose remaining storage size is above R i
should prevent data ping-pong
choosing under loaded neighbor with probability
(proportional to its remaining storage)
amount of data to be transferred…
9
Design
In-network Data Redistribution

Node i selects node j as the redistribution
destination.

Not to reverse the direction of imbalance.
R j - RΔ - Dij  R j
RΔ : node advertisement threshold
D ij : amount of data transferred

further avoid data ping-pong Ri  Dij  Ri

So, the amount of data to be transferred:
Dij  min R j -R j -RΔ , Ri -Ri 
10
Design
In-network Data Redistribution

Our algorithm keep track of...



remaining free storage
remaining node energy
Node i could invoke or accept data
redistribution when…
remaining
energy of node i
initial energy
of node i
Ω i Ri

Ei S i
remaining storage
of node i
initial storage of
node i
11
Design
Cross-partition Data Redistribution
partitioned network island
Upload or Download?
mule advertisement message
(high frequency)
A
R
B
Upload or Download?
mobile data mules
Rm
calculate αR  (1-α ) Rm
node advertisement message
(low frequency)
R : average remaining storage
R m : available storage on the mule
12
Design
Cross-partition Data Redistribution
State transition of a sensor node in cross-partition
data redistribution.
Upload data to the mules.
Download data from the mules.
frequency difference
between nodes and mules!
use back-off timers
proportional to current occupancy ratios
13
Implementation
System architecture for sensor nodes
Provide
reliable
unicast
for anodes
to should
transfer
log items.
Start
transfer
towards
selected
destination.
Determine
whether
the current
node
offload
Senddata
advertisement
Reading
and Writing messages
log items. and maintain neighbor table.
data to the neighbor or the mule.
14
Implementation
Local Storage Structure

Circular Buffer

containing continuous log items
 Random Access is not required.
 Not need for any complex space management
 Prolong flash lifetime by balancing write access.
15
Implementation
User Interface

EnviroStore supports two types of log files.

Log-array Files



simultaneously written by different nodes
attributes of an environmental event that is independently
monitored by multiple nodes
Log-sequence Files



one writer at a time
Multiple nodes should coordinate with each other.
useful for tracking moving objects
16
Implementation
User Interface
Example: Different Types of Log Files
to obtain the temporal and spatial
distribution of the temperature in Room 303
Hand off leadership from node to node!
to track the position of a vehicle
17
Evaluation

EnviroStore is implemented in nesC on TinyOS.


Deployment Configuration



Use TOSSIM to experimentally evaluate the performance.
Field: 80  80 ft 2
36 nodes (6x6 Grid)
Data Mules



The movement of mules follow a constraint random walk
model.
Speed: 5 ft/s
π
π
Turning Angle: random between
and
6
6
18
Evaluation

Pentium4 1.7 GHz machine with 1G RAM.

Storage Capacity



Sensor Nodes: 16 KB
Data mules: 64 KB
Parameter Settings



RTH : 0.95*S
Rimbalance: 0.05*S
R : 0.01*S
to accelerate heavy-weight simulation…
19
Evaluation
I. Single Disconnected Sensor Network
Scenario 1: Single Disconnected Sensor Network
Node 4
non-zero input rate
Deployment Configuration
20
Evaluation
I. Single Disconnected Sensor Network
Data storing rate at different time
Drop below the input rate!
data loss caused by insufficient local storage
256 sec
Without EnviroStore
21
Evaluation
I. Single Disconnected Sensor Network
Data storing rate at different time
drop gradually…
Drop below the input rate!
1900 sec
With EnviroStore
22
Evaluation
I. Single Disconnected Sensor Network
To investigate the effects of RTH on the energy consumption
Number of data messages sent per second
significant energy due to lazy offload!
180 sec 540 sec
1200 sec
23
Evaluation
I. Single Disconnected Sensor Network

We explore a more general scenario.



Data rates are uniformly distributed among nodes.
The input rates are random samples from an exponential
distribution.
Mean = 16 B/s
Example:
input rates at different nodes
24
Evaluation
I. Single Disconnected Sensor Network
Data storing rate at different time
500 sec 800 sec
60% improvement!
25
Evaluation
II. Partitioned Sensor Network with Mules
Scenario 2: Partitioned Sensor Network with Data Mules
64 B/s
0 B/s
0 B/s
32 B/s
Deployment Configuration
26
Evaluation
II. Partitioned Sensor Network with Mules
Data storing rate at different time
96 B/s
256 sec
1900 sec
512 sec
2400 sec 2800 sec
Delay data loss by a factor of more than 10.
27
Evaluation
II. Partitioned Sensor Network with Mules
Distribution of total stored data after 3600 sec
64 B/s 0 B/s
0 B/s 32 B/s
64 B/s 0 B/s
0 B/s 32 B/s
overloaded
underloaded
Without mules
Without one mule
28
more balanced storage occupancy!
Evaluation
II. Partitioned Sensor Network with Mules
Number of data messages per second
36
drop
1900 sec 2400 sec
29
Evaluation
II. Partitioned Sensor Network with Mules
Scenario 2: Add base station and extra nodes
Extra Nodes
Base Station
Deployment Configuration
30
Evaluation
II. Partitioned Sensor Network with Mules
Data storing rate of the base station over time
Ensure the connectivity between sensor
nodes and the base station.
0
31
Evaluation
II. Partitioned Sensor Network with Mules
Total stored data of the base station over time
Disconnect the network partitions from the
base station and add some data mules.
32
More mules can increase the rate of uploading data to the base station.
Conclusion

EnviroStore





cooperative storage system
maximize network storage capacity
in-network and cross-partition data redistribution
opportunistic data offload
Plan to further extend the work.



controllable data mules
data replacement policies
Evaluation on real hardware platforms.
33