Upload
mercy-holmes
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
An adaptive framework of multiple schemes for
event and query distribution in wireless
sensor networks
Vincent Tam, Keng-Teck Ma, and King-Shan Lui
IEEE Consumer Communications and Networking Conference (CCNC’07)
Outline Introduction Adaptive framework using multiple
schemes Simulation Conclusion
Approaches of getting information Push-based approach
Floods to all nodes No query
Pull-based approach Stores locally Floods the network with a query
Data-centric storage (DCS) Depends on the type information
Computed using a globally hash function
An important issue of DCS Where to keep event information
Keeping information in the center Increase the workload of the nodes
Varying query/event ratio Affect the performance of various data
dissemination schemes An adaptive framework
Flexibly switch from one scheme to another Based on the results evaluated by cost
The cost analysis of local storage
The total message cost for Local Storage (LS):
nDnQ q
n: the number of nodes
Q: the number of queries
Dq:the number of events for queries
Dtotal: the total number of events
The message overheads of flooding
to n nodesThe average message cost to answer all the
queries
The cost analysis of data-centric storage
The total message cost for Data-Centric Storage (DCS):
nDnDnQ qtotal
n: the number of nodes
Q: the number of queries
Dq:the number of events for queries
Dtotal: the total number of events
The average message cost for routing the queries to hashed
nodes
The average message cost associated with the storage of events
being detected
The average message cost to answer all the
queries
Cost AnalysisnQnDnQ total
)1/(1/ nDQ total
implying
)1/(1/ nDQ total
GHT outperforms the LS with a small overall message
overheads
LS excelled the GHT with a small overall message
overheads
In many real-world applications of wireless sensor networks, such of (query : event) can be dynamically
changing over time
Adaptive framework using multiple schemes Initially, framework starts with LS
Relatively few events detected in the beginning
When event is detected Stores in detecting node
When a query is generated Route to home node
(50, 89)
SinkGetGet(“(“lionlion”, data) ”, data) (( 5050,8,899)=Hash(“)=Hash(“lionlion
”)”)
Adaptive framework using multiple schemes Upon a query is received
Compute the cost of LS and GHT LS is higher than GHT
From LS to GHT GHT is higher than LS
From GHT to LS
Any node with the locally stored event Reply to the home node
Home node update the count for events being detected
Relay the event back to query node
)1/(1/ nDQ total
Switching from LS to GHT
Sensor nodeSensor node
home nodehome node
LocationLocation
Mapping Mapping location for lionlocation for lion
Firstly setting the GHT flag in the next arriving query as still under the
LS mode
SinkGetGet(“(“lionlion”, data) ”, data) (( 5050,8,899)=Hash(“)=Hash(“lionlion
”)”)
Each node reset itself to the GHT mode
After switching from LS to GHT
Sensor nodeSensor node
home nodehome node
LocationLocation
Mapping Mapping location for lionlocation for lion
Put(“Put(“lionlion”, data) ”, data) (( 5050,8,899)=Hash(“)=Hash(“lionlion”)”)
Sink
GetGet(“(“lionlion”) ”) (( 5050,8,899)=Hash(“)=Hash(“lionlion””
))
)1/(1/ nDQ total
Switching from GHT to LS
Sensor nodeSensor node
home nodehome node
LocationLocation
Mapping Mapping location for lionlocation for lion
Firstly switch itself to LS mode after answering
the query
Put(“Put(“lionlion”, data) ”, data) (( 5050,8,899)=Hash(“)=Hash(“lionlion”)”)
Set LS flag embedded in the ACK packets for all the future events being
detected
)1/(1/ nDQ total
Switching from GHT to LS
Sensor nodeSensor node
home nodehome node
LocationLocation
Mapping Mapping location for lionlocation for lion
SinkGetGet(“(“lionlion”, data) ”, data) (( 5050,8,899)=Hash(“)=Hash(“lionlion
”)”)
Each node reset itself to the LS mode
After switching from GHT to LS
Sensor nodeSensor node
home nodehome node
LocationLocation
Mapping Mapping location for lionlocation for lion
Put(“Put(“lionlion”, data) ”, data) (( 5050,8,899)=Hash(“)=Hash(“lionlion”)”)
Sink
GetGet(“(“lionlion”) ”) (( 5050,8,899)=Hash(“)=Hash(“lionlion””
))
A list of the recently events and queries Each home node maintain a list of the recently
received events and queries Compute the number of events or queries
Each entry is time-stamped A sliding window filter out those expired events or
queries
Sliding window size (time)
Past data Future data
Simulation
Simulation
Simulation
Simulation
Conclusion The query-to event ration
Can be changing over time
An adaptive frame work Flexibly switch from one scheme to another Based on the message cost
To minimize the overall message overheads