PRoPHET Update DTN Research Group @ IETF 78 27 March 2010

PRoPHET Update
DTN Research Group @ IETF 78
27 March 2010
Elwyn Davies
[email protected]
Avri Doria
Samo Grasič
Anders Lindgren
[email protected]
[email protected]
[email protected]
Progress with PRoPHET
New Version
http://tools.ietf.org/html/draft-irtf-dtnrg-prophet-06

PRoPHET in use in N4C testbeds

Slovenia (continuous use for almost 2 years)

Arctic Sweden (Summer testing)

Simulation work by Samo and Elwyn

Draft update includes

Addressimg IRSG review comments

Improvements resulting from recent experiments

Additional capabilities to fix long standing issue
30 July 2010
PRoPHET Update - IRTF 78
2
Experiments in Progress - 1

Slovenia

Gradually extending network of unattended
environmental sensors (meteo and radiation)

Data mules

Active nodes in cars

Symbiotic (Parasitic) nodes – just a USB memory stick

Using PRoPHET routing

Analysis of results has found problem with transitive
update algorithm
30 July 2010
PRoPHET Update - IRTF 78
3
Experiments in Progress - 2

Arctic Sweden

See reports – previous DTNRG slides!

GSM to edge of area, Helicopter mules

Two systems running in parallel



'Village Router' hot spot system - static routing/DTN2
See http://village.n4c.eu - need to set HTTP proxy for
best effect! Email and web caching proxy system
PRoPHET routing nomadic system
See http://dtn.n4c.eu for more info, NSIM, web cam, logs,
etc
Two months testing during reindeer marking/ hiking
season in Padjelanta
30 July 2010
PRoPHET Update - IRTF 78
4
Refresher: Key Equations


Notation: P(A,B): Delivery Predictability in Node
A for delivering a bundle to Node B.
Eqn 1: On A encountering B


Eqn 2: If A hasn't encountered D for a while:


P_(A,B) = P_(A,B)_old + ( 1 - P_(A,B)_old ) *
P_encounter
P_(A,D) = P_(A,D)_old * gamma^K
Eqn 3: Does A meeting B mean that A is a
better bet for delivering to C? Transitivity...

P_(A,C) = P_(A,C)_old +
30 July 2010
PRoPHET Update - IRTF 78
( 1 - P_(A,C)_old
) * P_(A,B) * P_(B,C) * beta
5
Simulation Work - 1

Samo working to reproduce and validate results
from RAPID paper comparison





PRoPHET came out very poorly in this work
Slow progress due to various problems

Competing demands of test bed deployment

Acquisition of simulation code used by RAPID team
Found RAPID PRoPHET implementation didn't
match specification
Recently got comparative results using ONE sim
#1 conclusion: match proto to scenario

Otherwise random routing will work better!
30 July 2010
PRoPHET Update - IRTF 78
6
Simulation Work 2

Elwyn has been working on visualizing the
evolution of delivery predictability



Using these to check how DPs evolve and
ensure that they reflect the expected future
encounters.


Simple Excel Spreadsheet simulator
Python program + Excel display using mobility files
generated by Anders original prpogram.
Evaluated proposed alternative evolution equations
Selected replacements now in field trials
30 July 2010
PRoPHET Update - IRTF 78
7
Main Problems Identified



Inappropriate evolution of delivery predictabilities
(DPs)

Repeated encounters of '3rd party' nodes leads to
jammed bundles .

Parking Lot Problem – When is an encounter not a
(new) encounter?
Totally random encounters => noise in DPs
Deriving a relationship between the various
PRoPHET parameters

Need guidelines for setting parameters appropriately
30 July 2010
PRoPHET Update - IRTF 78
8
Bundles Jammed in


rd
3
Parties
Scenario (at least 4 nodes: A - D):

Node B meets Node A & (separately) C occasionally.

Nodes C and D meet each other repeatedly between
meetings of Nodes B.and C
DP for Node A increases steadily in Nodes C & D
until bigger than DP for Node A in Node B

Result: Bundles for A not transferred from C/D to B;
hence jam in C and are never delivered.

Identified in long term Slovenian experiment

Fix: Improved transitivity update algorithm
30 July 2010
PRoPHET Update - IRTF 78
9
Parking Lot Problem


Scenario:

Multiple Wi-FI nodes milling around in a small area

Multiple 'encounters' e.g. due to Wi-Fi reconnections.
Can result in

DP update 'loops' – changes propagated round loop

One actual encounter being treated as several

Identified from theoretical considerations

Fix: Allow nodes to suppress DP updates
30 July 2010
PRoPHET Update - IRTF 78
10
Noise in DPs from Random
Encounters

Scenarios in which a node encounters lots of
nodes that it will never meet again


Can lead to random routing outperforming
PRoPHET (and other algorithms) if there is little
pattern to encounters


Typical of some simulation scenarios
Make sure you are using PRoPHET in an
appropriate scenario!
Fix: Set P_(A,B) to a lower value on 1st meeting

Could avoid applying transitivity on first encounter
30 July 2010
PRoPHET Update - IRTF 78
11
Too Many Degrees of Freedom?



PRoPHET has a lot of (apparently) independent
parameters.
There wasn't a good story on how to choose a
consistent set of parameters.
Fix: Describe how they each relate to the
'characteristic time period' of the PRoPHET
zone.

and this also relates to the approptiate bundle
lifetime and custody timer settings
30 July 2010
PRoPHET Update - IRTF 78
12
Improvements: Equation 1

Reduce the effect of random, one-off
encounters

On first encounter set DP to a lower value

Suggest 0.25 rather than the 0.75 in old version


Do the same if the DP has decayed below a
threshold because last encounter was a long time
ago.
Use existing equation 1 on subsequent
encounters when P_(A,B) not below threshold
30 July 2010
PRoPHET Update - IRTF 78
13
Improvements: Equation 1


Avoid DP actually reaching 1 ('Almost Sure') on
repeated encounters
New equation:


P_(A,B) = P_(A,B)_old +
( 1 - delta - P_(A,B)_old ) * P_encounter
Delta is a small value that stops the value
getting right to 1.0
30 July 2010
PRoPHET Update - IRTF 78
14
Improvements: Equation 3


Avoid DP increasing inappropriately due to
repeated encounters between 3rd parties that
haven't actually met suitable intermediaries.
The improved equation is intended to converge
the DPs for C in A and B after repeated
encounters BUT only to the highest value that
either of them started with


P_(A,C) =
MAX( P_(A,C)_old, P_(A,B) * P_(A,C) * beta )
Beta is a 'slowing factor' – reduces convergence
rate
30 July 2010
PRoPHET Update - IRTF 78
15
Characteristic Time Period




Concept: A ProPHET zone has a characteristic
time period (CTP) that is determined by the
expected time intervals between encounters
Bundle expiry times should be set so that
bundles will be around sufficiently long to be
delievered but not hang around for too long
DP decay should reduce a DP to essentially
zero after 3 to 5 multiples of CTP
An encounter should at least undo the expected
decay between encounters
Treat closely spaced encounters as one

30 July 2010
PRoPHET Update - IRTF 78
16
Improvements: Suppress DP Recalc


Added a flag into the Hello TLV that requests
suppression of DP recalculation phase.
Has to be agreed by both parties in an
encounter


Otherwise recalculation is done on both sides
Nodes can choose to suppress recalculation if
they have met very recently and they don't have
new information to convey

Very recently means (say) 5% of CTP
30 July 2010
PRoPHET Update - IRTF 78
17
Progress towards RFC

RG Last Call completed


Currently in IRSG Review process


Various clarifications (especially thanks to Kevin)
Somer additional clarifications added in latest
version (-06)
Some significant improvements since review

May need to repeat last call/review
30 July 2010
PRoPHET Update - IRTF 78
18
New Protocol Version

The protocol has been taken to version 2 as the
changes to the equations and Hello TLV are not
fully interoperable.
30 July 2010
PRoPHET Update - IRTF 78
19
Next Steps

Pass the improvements to IRSG reviewer

Check performance of improvements in the field

Do we need another Last Call?

There have been significant updates
30 July 2010
PRoPHET Update - IRTF 78
20
Thank You
30 July 2010
PRoPHET Update - IRTF 78
21
DTN2 Functional Spec

Product of N4C work – Elwyn and Avri Doria


Nearly 200 pages!!
Currently accessible at
http://www.n4c.eu/Download/n4c-wp2-023-dtn-infrastructure-fs-12.pdf

Contains:




Spec of API
A complete specification of the TCL command
interface
Detailed operation of the core specification
Missing – Sessions and External Router/CL
30 July 2010
PRoPHET Update - IRTF 78
22