Towards implementing data centric storage for sensor networks

  • Slides: 20
Download presentation
Towards implementing data centric storage for sensor networks Zoltan Padrah doc. dr. Anton Biasizzo

Towards implementing data centric storage for sensor networks Zoltan Padrah doc. dr. Anton Biasizzo

Agenda • Wireless Sensor Networks • Data Centric storage – Distributed Hash Tables •

Agenda • Wireless Sensor Networks • Data Centric storage – Distributed Hash Tables • Implementation – Simulator • Performance evaluation • Conclusions

Wireless Sensor Networks Sensor node Gateway node Sensor node User Internet Control centre (web

Wireless Sensor Networks Sensor node Gateway node Sensor node User Internet Control centre (web server + data base) • Measure Centralize Offer services

Wireless Sensor Networks Sensor node Gateway node Sensor node Internet User • Centralized architecture

Wireless Sensor Networks Sensor node Gateway node Sensor node Internet User • Centralized architecture • Data is of interest Control centre (web server + data base)

Data Centric Storage Node Internet Sink User Control centre (web server + data base)

Data Centric Storage Node Internet Sink User Control centre (web server + data base) • All nodes are equal • Any node can accept queries – “What is the temperature in the garden? ”

Data Centric Storage Node Internet Sink User Control centre (web server + data base)

Data Centric Storage Node Internet Sink User Control centre (web server + data base) • All nodes are equal • Any node can accept queries – “What is the temperature in the garden? ”

Distributed Hash Table • • Mapping (location, time, …) value Stored in a network

Distributed Hash Table • • Mapping (location, time, …) value Stored in a network Hash table: values identified by hashes Node

Distributed Hash Table architecture DHT algorithm Network protocol Network

Distributed Hash Table architecture DHT algorithm Network protocol Network

Implementation steps Prototyping in network level simulator Prototyping in node level simulator Testing on

Implementation steps Prototyping in network level simulator Prototyping in node level simulator Testing on real nodes • Fast development • Easy debugging • Limited accuracy • Not so fast development • Harder to debug • More accurate • Time consuming to debug • Most accurate

Implementation steps Prototyping in network level simulator Prototyping in node level simulator Testing on

Implementation steps Prototyping in network level simulator Prototyping in node level simulator Testing on real nodes • Fast development • Easy debugging • Limited accuracy • Not so fast development • Harder to debug • More accurate • Time consuming to debug • Most accurate

Simulator

Simulator

Simulator - events • Types of events – External: instructions to the nodes •

Simulator - events • Types of events – External: instructions to the nodes • • Create a node Make a node join a DHT Instruct a node to send query … – Internal: • message passing between nodes • Any process that takes time to complete • Data structure: binary heap At: 0. 001 s Create node 1 At: 0. 002 s Create node 2 At: 0. 010 s node 1 join DHT …

Simulator - nodes • Each node has a unique address – Messages should reach

Simulator - nodes • Each node has a unique address – Messages should reach nodes – Search for a given node Address Node structure “address 1” Node 1 “address 2” Node 2 … . . • Data structure: AVL tree – Works well with nodes joining/leaving

Simulator - operation At: 0. 002 s Create node 4 Events At: 0. 001

Simulator - operation At: 0. 002 s Create node 4 Events At: 0. 001 s Create node 3 Simulator Nodes “addr 2” Node 1 At: 0. 010 s node 1 join DHT “addr 1” Node 2 “addr 3” Node 3

Performance evaluation • Randomly passing messages between nodes 10 9 8 7 Running 6

Performance evaluation • Randomly passing messages between nodes 10 9 8 7 Running 6 time 5 4 [s] 3 2 1 0 Execution time vs. number of messages (1000 nodes) 0 100000 200000 300000 400000 Number of messages transmitted 500000

Performance evaluation • Randomly adding and removing nodes 0. 7 Execution time vs. number

Performance evaluation • Randomly adding and removing nodes 0. 7 Execution time vs. number of nodes 0. 6 (10000 messages) Maximum height of the AVL tree 16 14 0. 5 12 Execution 0. 4 time 0. 3 [s] Maximum 10 height of 8 the AVL tree 6 0. 2 4 0. 1 2 0 0 0 1000 2000 3000 4000 Number of nodes 5000 0 2000 4000 Number of nodes 6000

Performance evaluation • Randomly adding and removing nodes 8 Average looping count for finding

Performance evaluation • Randomly adding and removing nodes 8 Average looping count for finding one node 7 6 5 Looping 4 count 3 2 1 0 0 1000 2000 3000 Number of nodes 4000 5000

Performance evaluation • Randomly adding and removing nodes 8 Average number of iterations to

Performance evaluation • Randomly adding and removing nodes 8 Average number of iterations to find a node vs. create/delete events 0. 5 Execution time vs. number of node 0. 45 Create/delete events (1000 nodes) 7 0. 4 6 0. 35 5 0. 3 Average number of 4 iterations in search Execution time 0. 25 [s] 0. 2 3 0. 15 2 0. 1 1 0. 05 0 0 0 10000 20000 30000 40000 Number of node create/delete events 50000 0 10000 20000 30000 40000 50000 Number of delete/create events

Conclusions • Simulator architecture proposed • Efficient data structures used • Solid bases for

Conclusions • Simulator architecture proposed • Efficient data structures used • Solid bases for further development

Thank you for your attention! Questions?

Thank you for your attention! Questions?