View
212
Download
0
Category
Preview:
Citation preview
1SPINDLE Project
© 2006 BBN Technologies
Intentional Naming and Deferred Binding in DTN
Prithwish BasuBBN Technologies
pbasu@bbn.com
DTNRG meeting, IETF 71Philadelphia, March 13, 2008
2SPINDLE Project
© 2006 BBN Technologies
Outline
• Intentional naming• Persistent deferred binding in DTN• Example: Addressing by location and role• DARPA DTN demonstration
3SPINDLE Project
© 2006 BBN Technologies
Intentional Naming
• A DTN application registers with its attributes• User node addresses an endpoint by a predicate on
some attributes = intentional destination name• Intentional name needs to get resolved to the
appropriate application(s) now or in future– Delivery to an intentionally named endpoint ~ querying a
distributed database– Name has persistent delivery semantics
• Related work– MIT’s INS, but our focus is on DTN– Berkeley’s P2 system (Declarative Routing)
4SPINDLE Project
© 2006 BBN Technologies
Examples of Use Cases
• Heterogeneous network names– DNS name, IP addr, telephone number, etc.– Source can send bundle to “Node with IPv6 address A”
• Descriptive location and role based addressing– Node(s) within 100m of bridge at (Lat,Long)– All soldiers with rank lieutenant or higher in building B
• Authorization based addressing– All personnel with Top Secret clearance
• Node-attribute based addressing– All nodes with at least 100GB of free storage– Sensor nodes reporting temperature > 45 degrees C
5SPINDLE Project
© 2006 BBN Technologies
Expressivity of Names
• How expressive should names be?– Basic: aliases– Intermediate: (a1 > v1) ((a2 < v2) (a3 == v3)) – Advanced: Body of a Horn clause in Logic Programs– Semantic Web motivation: OWL Description Logic Programs– Query models: SQL queries, PROLOG goals, SPARQL, etc.
• Delivery Semantics– Unicast: dtn:intent:uni#president(BBN)– Anycast:
dtn:intent:any#within(restaurant,FenwayPark,1km)– Multicast:
dtn:intent:all#within(restaurant,FenwayPark,1km)
6SPINDLE Project
© 2006 BBN Technologies
Name Scheme
• Adhere to the <scheme>:<ssp> syntax but define “ssp” further
• Applications register their attribute(value) information– dtn:app#attr1(val1),attr2(val3),attr3(val3)
• Bundle’s destination field has an intentional name– dtn:intent#attr1(val1),attr2(val2)– dtn:intent#attr1(val1);attr1(val2)– dtn:intent#pred1(attr1(val1),attr3(val3))– …
• Semantics: DTN endpoint(s) which can satisfy the query are potential recipients of the bundle
• The predicate query can be complex as long as it can be executed in the network at the appropriate node
7SPINDLE Project
© 2006 BBN Technologies
Name Resolution and Persistent Deferred Binding
• Complete resolution may not be possible at source– Source may not know about potential bound endpoint(s)– Source may have stale information
• Hence, perform progressive resolution– Resolve portion of the name that can be resolved with
available information in the local KB– This may not disclose the identity of ultimate endpoint(s)– But may forward the bundle toward a node that can help
make progress (so ultimate binding is deferred)– Persistent: a query can lie dormant in a node until the
predicate evaluates to true at a later time (can happen in mobile scenarios)
• In the general form, this is the semi-join problem in distributed DBs and is hard, especially in DTN– But several scenarios may be more tractable
8SPINDLE Project
© 2006 BBN Technologies
dtn:intent#within(role_id(yellow),coord(X,Y),10)
(X,Y)
r = 10
GRAIN: Gradient-based Resolution Algorithm for
Intentional NamesDisseminate GPS
location to neighbors
SGeog-route STEM stage
only coord(X,Y) is resolvedMetadata Ext Block = STEM
Predicate-scoped FLOODrole_id(yellow) is resolved
Metadata Ext Block = FLOOD
Persistent deferred deliveryto descriptively named groupsunder disruption & mobility
9SPINDLE Project
© 2006 BBN Technologies
Example: Intentional Names Based on Role and Geographic Attributes
Fort A P Hill, Virginia
sourceDestination = dtn:intent#within(role_id(rifleman),coord(long,lat),radius),policy(geogrouteallnbrs)
10SPINDLE Project
© 2006 BBN Technologies
Notional Architecture: Name Attribute Dissemination
11SPINDLE Project
© 2006 BBN Technologies
Notional Architecture: Resolution
12SPINDLE Project
© 2006 BBN Technologies
Architectural and Algorithmic Issues
• Scalability for the general case– Semi-join problem in DTNs becomes hard as #attrs grows
• Incremental Deployment– All DTN nodes may not be running LB decision plane– We need tunneling with Bundle-in-Bundle encapsulation,
because the original bundle fields such as intentional name cannot be altered
• Security concerns– DOS attack due to multi/anycast feature of names– Made worse due to persistence– Verify that the name resolution was done by a trusted
party
13SPINDLE Project
© 2006 BBN Technologies
BACKUPS
14SPINDLE Project
© 2006 BBN Technologies
Semi-Join Problem in Distributed DBs
• Consider name dtn:intent#guardian(N,X),student(X,bostonlatin)– N is the main unbound variable = canonical name attribute– Want to deliver to guardians of all students of Boston Latin
• Tables/predicates: guardian, student– Could be base facts: guardian(tom,john),
student(john,bostonlatin)– Or inference rules: guardian(X,Y) :- father(X,Y) ; mother(X,Y)
• Even if rules/ontologies are known, all base facts may not reside on the same node– … so the goal can be evaluated at a resolver only by
performing a semi-join on the tables guardian and student• This is hard to do in the general case, especially in DTN
– So we need techniques for synchronizing fact bases for increasing the probability of successful resolutions
15SPINDLE Project
© 2006 BBN Technologies
Expressive Overlap of Description Logic with Logic
Programs
Extracted from Grosof et al., WWWC 2003“Description logic programs: combining logic programs with description logic”
First OrderLogic
DescriptionLogic
Horn LogicPrograms
DescriptionLogic
Programs
LogicPrograms
[Negation asFailure]
[ProceduralAttachments]
Recommended