Location Resident Services Emmanouil Koukoumidis Princeton University Group Talk on 02/04/09 1
Services Service = Information about something useful. Several types of information(services) make sense and are most useful to people within a certain geographical region. – Nearby parking spots availability. – Traffic ahead and nearby roads. – Potholes and accidents ahead. – Cultural events taking place in the vicinity. – Localized advertisements. How to make these location specific services available? 2
How to make such Location Specific Services available? Infrastucture-based approach. – Need to deploy enough fixed nodes so as to cover all region of interest. – $$$ Grassroots approach. – Nodes collaboratively maintain the information within the region. – Pass it on to incoming nodes. – Location Resident Service: Nodes come and go but service resides within the region. 2 scenarios. mobile node w/ data mobile node w/o data R R 3
Outline Location Specific Services (LSS). Location Resident Services (LRS): Making LSS available. 1 st scenario for LRS. 2 nd scenario for LRS 4
1 st scenario for LRS / Epidemic Protocols Scenario 1: ALL nodes in the region want to have the service(information). How to ensure that all nodes will get the latest version of the service? Ensure consistency using epidemic protocols. – Idea: Nodes as they move broadcast small packets with the version of the service that they have. – Nodes with older/no data are detected and brought up to date. – Impala [Liu, PPoPP, 2003]. – Trickle [Levis, NSDI, 2004]. 5
Trickle Basic Operation Every T seconds nodes broadcast Version Advertisements. If a node A or B detects from the VA that a node C has older data it brings it up-to-date after some random back off time with a Data Update (DU) broadcast. Backoff time is random so that A and B don’t collide. version N version N-1 A C version N B 6
LRS: Endemic Protocol Systems that both Trickle and Impala are targeting are “closed”. – Trickle: nodes don’t move. – Impala: Nodes move around but the space is confined. All encountered nodes get epidemically “infected” regardless of location. For LRS the protocol need to be endemic not epidemic. – Dissemination of service occurs only within the region of interest R. – Nodes traverse the region and most probably never come back. – Service gets removed and disabled on exiting the region (nodes are immune outside the region). R 7
LRS: Optimized Epidemic Protocol Trickle – Backoff time to send Data Updates (DU) is random. – More than 1 neighbor will send Data Updates; Node C will get multiple copies. LRS – Reduces number of DUs necessary. – Nodes adjust backoff time based on the payoff that a DU broadcast can have. Broadcast payoff = number of nodes it can update. – On getting updated nodes re-broadcast a Version Advertisement (VA) so that neighbors can tell that node has already been brought up-to-date and no broadcast is necessary. VA=N VA=N-1 A C VA=N D VA=N-1 B 8
LRS: Optimized Epidemic Protocol t All nodes: send VA with polite gossip Nodes w data: Send DU while dynamicaly adjusting the backoff time. Nodes w/o data: Re-broadcast VA when updated. t mod T = 0 Idle period t mod T = 0 All nodes: send VA with polite gossip Nodes w data: Send DU while dynamicaly adjusting the backoff time. Nodes w/o data: Re-broadcast VA when updated. Idle period t mod T = 0 VA=N VA=N-k A C VA=N D VA=N-k B Assumption: Nodes clocks are synchronized 9
LRS: Optimized Epidemic Protocol t t mod T = 0 Idle period t mod T = 0 VA=N VA=N-k A C VA=N D VA=N-k B ABCD Bcast VA=N Bcast VA=N-k List={D} List={C, D} List={C} DU Backoff = 500 ms DU Backoff =∞ Bcast DU Bcast VA=N List={C} Bcast VA=N List={} List={} ; DU Backoff = ∞ DU Backoff = 1000 ms 10
LRS Performance VA=N VA=N-k A C VA=N D VA=N-k B Node ANode BTotal% more DU Best case Worst case Trickle LRS: random backoff LRS: smart backoff Table shows number of DU (Data Updates) each node sends. Experiment repeated 102 times. Packet loss rate: 3-8% 11
2 nd scenario for LRS Scenario 2: Only some nodes in the region want to have the service(information). Goal: Achieve a target number N of service carriers within the region R. A target number of service carriers is necessary for two reasons: – Coverage Probabilistically all area is covered and consumers(service requestors) can get the service/infomation as they enter the region. – Residence Service will remain within the region as nodes come and go. 12
When to spawn new carriers? – Solution 1: Periodically count the number of carriers. If less than N spawn new ones. Requires global knowledge across all region. Acquiring global knowledge in a MANET is generally expensive. – Solution 2: Estimate total number of carriers using local information and act accordingly based on that estimation. Target number of nodes N →Target node density D. Measure local density and compare with D. 13
Estimating Node Density How to estimate node density? In epidemic protocols nodes periodically broadcast the data version that they have. Leverage that to estimate node density. Approaches: – 1 st approach: At each interval a node calculates local density and acts accordingly. Too big variations. – 2 nd approach: As node moves calculates average node density: R A m j : measured node density during interval “j”. d: estimated node density. n A : number of measurements made so far. 14 m1m1 m2m2 mkmk
Aged Average Density Simple average: Fresher measurements more important → Aged average. The effect of measurements when calculating estimated density decays exponentially as a function of their age. R A 15 f: Aging factor, 0<f≤1 m1m1 m2m2 mkmk
3 rd approach: Merging nodes’ density knowledge Share node density information with other encountered nodes Nodes broadcast also: d: aged average node density. n: aged number of measurements. Calculate weighted average of all density information received from nodes. R A B Will be evaluating how well these 3 different approaches compare as to achieving the target number of nodes within the region R. 16
How to spawn a new carrier? How should carriers be selected among available nodes? – Randomly – Based on estimated residence within region R. B, C etc transmit to A their location, and velocity vector. A using that can estimate their time of residence within the area. Will evaluate savings achieved. R A B C 17
Questions? 18
Overall Summary 19
Trickle: Epidemic Protocol Every T seconds nodes broadcast Version Advertisements. Nodes are not synchronized. If a node A or B detects from the VA that a node C has older data it picks a random backoff time and then broadcasts the data to bring B up-to-date. Backoff time is random so that A and B don’t collide. version N version N-k inside region outside region A C version N B 20
Trickle: Epidemic Protocol Infrastucture-based approach. – Need to deploy enough fixed nodes so as to cover all region of interest. – $$$ Grassroots approach. – Nodes collaboratively maintain the information within the region. – Pass it on to incoming nodes. – Location Resident Service: Nodes come and go but service resides within the region. 2 scenarios. mobile node w/ data mobile node w/o data 21
LRS: Optimized Epidemic Protocol Assumption: Nodes clocks are synchronized. VA=N VA=N-k A C VA=N B t send_VA_with_polite_gossip(); back_off_time = get_optimized_back_off_time(list.size()) ; if (there_are_still_nodes_with_old_data && back_off_time_elapsed) send_DU(); } if (node_A_got_updated) { list.remove(node_A); back_off_time = get_optimized_back_off_time(list.size()) ; } If (got_updated) { wait_for_random_time(); resend_VA(); } t mod T = 0 Idle period t mod T = 0 VA=N-k 22
Trickle / Polite Gossip A node stays quiet if it has heard more than “k” same version advertisements within current interval. Repeating multiple times what has already been said is rude… A C B 23