0
Adopting Ideas from Interplanetary Networking for Sensor Network Applications Andrew Parker, UCLA Scott Burleigh, JPL Rich...
Interplanetary Network Vision <ul><li>Picture of sensor networks in space </li></ul>* V. Cerf, InterPlanetary Internet, 2004
Why We Care
Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </...
Mexico Deployment <ul><li>People:  Paul Davis, Deborah Estrin, Richard Guy, Martin Lukac, John Wallace, Monica Kohler, Ram...
Data Story <ul><li>Every bit is important. Can’t lose data. </li></ul><ul><li>24 bits / sample, 100 samples / sec, 3 chann...
A Better Way: Networking the Array <ul><li>Goal: Multihop data from the edge into Mexico City </li></ul><ul><li>Mexico dep...
Braided String <ul><li>Introduces some path redundancy </li></ul><ul><li>802.11b </li></ul><ul><ul><li>200 mw radio (SMC P...
Routing is Hard to Do Right <ul><li>Possible approach:  Static Routes  - topology is linear and nodes are immobile </li></...
Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </...
Interplanetary Networking: Motes in Space <ul><li>Huge transmission delays </li></ul><ul><ul><li>Several seconds to the Mo...
Mars Communication http://www.astrosurf.com/lombry/qsl-mars-communication3.htm
Mars Connectivity
Oops!
Properties of Interplanetary Networking <ul><li>End to end paths unreliable </li></ul><ul><li>Interactive / chatty protoco...
Delay Tolerant Network Architecture <ul><li>Messaging service (Like Email)  </li></ul><ul><ul><li>Insulates applications f...
Delay Tolerant Networking <ul><li>Bundles are Basic Unit of Transport </li></ul><ul><ul><li>Written as files onto persiste...
Delay Tolerant, Not Run-Over-by-a-Bus Tolerant <ul><li>Bad things can still happen with Custody Transfer </li></ul><ul><li...
Bundle Agents and Clients <ul><li>Client nodes register with Bundle Agents to send and receive Bundles on their behalf </l...
Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </...
DTN vs. Email DTN? Email? What’s the difference? Professor Culler
DTN vs. Email Cool Professor Culler Biggist Difference:  DTN Overlay DTN is able to make progress towards the destination,...
Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </...
Mexico Deployment: Routing <ul><li>DTN has the “Tuple” address: (Interdomain, Intradomain) </li></ul><ul><ul><li>Doesn’t r...
Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect...
Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect...
Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect...
Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect...
Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect...
Mexico Deployment: Handling Data <ul><li>DTN suggests exchanging Bundles (Files) </li></ul><ul><li>Divide data into one-ho...
Node Software Architecture Bundle Bundle Bundle Outbox Duiker Bundle  Forwarder Bundle Receiver Routing Data Bundle Sender...
Managing Space <ul><li>Nodes are equipped with 2 - 4 GB of storage: 40 - 80 days of data </li></ul><ul><li>A Bundle is del...
Transmission Priority <ul><li>Transmission priority affects performance </li></ul><ul><ul><li>Want to avoid starvation </l...
What about Off the Shelf DTN? <ul><li>There is an official Bundle specification </li></ul><ul><li>There are 1 1/2 referenc...
A Modular DTN Software Architecture <ul><li>Like Click </li></ul><ul><li>Modular software IP router </li></ul><ul><li>Easy...
Click’s Elegance <ul><li>Click modules consume and produce the  same  data structure </li></ul><ul><ul><li>IP packets </li...
Click and DTN - High Level <ul><li>IP packets </li></ul><ul><li>IP specifications </li></ul><ul><li>Lots of existing IP ro...
Introducing this Approach to Sensor Networks <ul><li>EmStar </li></ul><ul><ul><li>Component based framework for sensor net...
Relationships Between EmStar Modules Unclear <ul><ul><li>How to bring Click’s readability and ease-of-use to EmStar? </li>...
Bolt: Architecture Description Language for EmStar <ul><li>Makes  relationships  between  modules  of an EmStar applicatio...
<ul><li>udp0  = udp() ; </li></ul><ul><li>ls0  = linkstatsd(); </li></ul><ul><li>nd  = neighbord(); </li></ul><ul><li>mdif...
BUT WAIT, THERE’S MORE!…
Click Modules vs. EmStar Modules <ul><li>Click modules are C++  classes </li></ul><ul><li>EmStar modules are separate  pro...
Bolt: Compiler-like Analysis and Optimization for EmStar <ul><li>It Slices! It Dices! </li></ul><ul><li>It does  static an...
Implementing DTN Using Bolt <ul><li>DTN looks like any other set of EmStar modules </li></ul><ul><li>What exactly are the ...
Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </...
References <ul><li>DTN: http:// www.dtnrg.org </li></ul><ul><li>IPN: http://www.ipnsig.org </li></ul><ul><li>Click: http:/...
DTN’s Explicitness <ul><li>Would like lower layers to accommodate policies of upper layers automatically </li></ul><ul><li...
DTN Visibility & Accountability <ul><li>Messages (REPORTS) may be generated for a number of reasons </li></ul><ul><li>Cust...
Upcoming SlideShare
Loading in...5
×

Dtn Cens Seminar

495

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
495
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Transcript of "Dtn Cens Seminar"

    1. 1. Adopting Ideas from Interplanetary Networking for Sensor Network Applications Andrew Parker, UCLA Scott Burleigh, JPL Richard Guy, UCLA Deborah Estrin, UCLA
    2. 2. Interplanetary Network Vision <ul><li>Picture of sensor networks in space </li></ul>* V. Cerf, InterPlanetary Internet, 2004
    3. 3. Why We Care
    4. 4. Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </li></ul><ul><li>Delay Tolerant Networking (DTN): Architecture </li></ul><ul><li>DTN vs. Email </li></ul><ul><li>Mexico Deployment: DTN Approach </li></ul><ul><li>Modular DTN Architecture for Sensor Networks </li></ul>
    5. 5. Mexico Deployment <ul><li>People: Paul Davis, Deborah Estrin, Richard Guy, Martin Lukac, John Wallace, Monica Kohler, Ramesh Govindan, Igor Stubailo, Allen Husker, Katie Mika, John Propst, Sam Irvine, Jeremy Elson, et al. </li></ul><ul><li>Seismic array of 50 nodes </li></ul><ul><li>5 km apart </li></ul><ul><li>Spanning 250 km </li></ul><ul><li>Through jungle, mountain, and urban environments </li></ul><ul><li>Targeting end of Q1 2005 </li></ul>
    6. 6. Data Story <ul><li>Every bit is important. Can’t lose data. </li></ul><ul><li>24 bits / sample, 100 samples / sec, 3 channels = 900 bytes/sec, 3.24 MB/hour, 1.2-1.8 MB/s compressed, per Node </li></ul><ul><li>1 GB Flash will hold 20 days of compressed data </li></ul><ul><li>Conventional methods of retrieval </li></ul><ul><ul><li>Satellite uplink (expensive) </li></ul></ul><ul><ul><li>Data mule (graduate student) </li></ul></ul><ul><li>Is there a better way? </li></ul>CENS Data Communications Controller Guralp Seismometer Q330 24 bit Digitizer Stargate
    7. 7. A Better Way: Networking the Array <ul><li>Goal: Multihop data from the edge into Mexico City </li></ul><ul><li>Mexico deployment is different from typical sensor network applications </li></ul><ul><ul><li>Every bit of data is important </li></ul></ul><ul><ul><li>Radio connectivity is directional </li></ul></ul><ul><ul><ul><li>Due to distance, power, and regulations, we’re using directional antennas </li></ul></ul></ul><ul><ul><li>Routing is over a linear topology </li></ul></ul><ul><ul><li>Radio communication is not the greatest power consumer </li></ul></ul>
    8. 8. Braided String <ul><li>Introduces some path redundancy </li></ul><ul><li>802.11b </li></ul><ul><ul><li>200 mw radio (SMC PCMCIA card) </li></ul></ul><ul><li>Yagi antenna </li></ul><ul><ul><li>20 dbi </li></ul></ul><ul><ul><li>30 degree spread </li></ul></ul><ul><ul><li>Tested with 2-way splitter </li></ul></ul><ul><ul><li>5 - 10 km in LA area </li></ul></ul><ul><ul><li>4 Mb/s - 150 kb/s </li></ul></ul><ul><li>Parabolic antenna </li></ul><ul><ul><li>24 dbi </li></ul></ul><ul><ul><li>5 - 10 degree spread </li></ul></ul><ul><ul><li>4 way splitter </li></ul></ul><ul><ul><li>Tested to ~ 25 km </li></ul></ul><ul><ul><li>Closer to 1 Mb/s </li></ul></ul>
    9. 9. Routing is Hard to Do Right <ul><li>Possible approach: Static Routes - topology is linear and nodes are immobile </li></ul><ul><li>Problem: Still as brittle as a single string -- can’t back track around breaks </li></ul><ul><li>Possible approach: Use AODV, DSR, Roofnet , etc. </li></ul><ul><li>Problem: Flapping links will make establishing end-to-end routes nearly impossible </li></ul><ul><li>What to do, what to do…? </li></ul>
    10. 10. Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </li></ul><ul><li>Delay Tolerant Networking (DTN): Architecture </li></ul><ul><li>DTN vs. Email </li></ul><ul><li>Mexico Deployment: DTN Approach </li></ul><ul><li>Modular DTN Architecture for Sensor Networks </li></ul>
    11. 11. Interplanetary Networking: Motes in Space <ul><li>Huge transmission delays </li></ul><ul><ul><li>Several seconds to the Moon </li></ul></ul><ul><ul><li>5 - 20 minutes to Mars </li></ul></ul><ul><ul><li>1 hour to Jupiter </li></ul></ul><ul><ul><li>7 hours to Pluto </li></ul></ul><ul><li>Lossy links </li></ul><ul><li>Long disconnects </li></ul><ul><ul><li>Sometimes predictable </li></ul></ul>
    12. 12. Mars Communication http://www.astrosurf.com/lombry/qsl-mars-communication3.htm
    13. 13. Mars Connectivity
    14. 14. Oops!
    15. 15. Properties of Interplanetary Networking <ul><li>End to end paths unreliable </li></ul><ul><li>Interactive / chatty protocols break </li></ul><ul><li>Need to communicate across varying network technologies, including non-IP networks </li></ul><ul><li>Links are lossy and high delay </li></ul><ul><ul><li>Very high round trip times, </li></ul></ul><ul><ul><li>Even for single hop </li></ul></ul><ul><li>Links are often disrupted </li></ul><ul><ul><li>Node mobility </li></ul></ul><ul><ul><li>Node powered down </li></ul></ul><ul><li>Asymmetric links </li></ul><ul><li>Asymmetric node capabilities </li></ul>
    16. 16. Delay Tolerant Network Architecture <ul><li>Messaging service (Like Email) </li></ul><ul><ul><li>Insulates applications from network behavior </li></ul></ul><ul><ul><li>Asynchronous, deferred transmission </li></ul></ul><ul><ul><li>Non-interactive end-to-end </li></ul></ul>You’veGot DTN!
    17. 17. Delay Tolerant Networking <ul><li>Bundles are Basic Unit of Transport </li></ul><ul><ul><li>Written as files onto persistent store </li></ul></ul><ul><ul><li>Resilient across server / node restarts </li></ul></ul><ul><li>Custody Transfer of Bundles </li></ul><ul><ul><li>Represents a QOS agreement: custodian tries real hard to transfer custody and not delete until this has happened </li></ul></ul><ul><ul><li>Conceptually moves the “end” of an end to end transaction </li></ul></ul><ul><ul><li>Custody is asserted, rather than given. </li></ul></ul><ul><li>Overlay routing of Bundles among Custodians </li></ul><ul><ul><li>Custodians may be separated by intermediate nodes. </li></ul></ul>
    18. 18. Delay Tolerant, Not Run-Over-by-a-Bus Tolerant <ul><li>Bad things can still happen with Custody Transfer </li></ul><ul><li>Brings up the question of trust. When should a node trust another more than it itself? </li></ul><ul><li>Risk vs. Resource trade-off </li></ul>VS
    19. 19. Bundle Agents and Clients <ul><li>Client nodes register with Bundle Agents to send and receive Bundles on their behalf </li></ul><ul><ul><li>Email analogy: Pop or IMAP client connecting to a server </li></ul></ul><ul><ul><li>Based on the destination name, delivery is made to the corresponding Bundle Agent. </li></ul></ul><ul><ul><li>At this point it’s considered to be done. Again, similar to Email. </li></ul></ul><ul><li>Naming scheme allows for late binding and separation of names from nodes </li></ul><ul><ul><li>Determination of which node(s) receive the message may be deferred </li></ul></ul><ul><li>Connects different domains via gateways </li></ul><ul><ul><li>Late binding names allow different domains to communicate (through gateways). </li></ul></ul><ul><ul><li>Connects loosely coupled “Internets” </li></ul></ul><ul><ul><li>Official DTN specification uses Tuples: </li></ul></ul><ul><ul><ul><li>(Interdomain Label, Opaque Intradomain Label) </li></ul></ul></ul>
    20. 20. Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </li></ul><ul><li>Delay Tolerant Networking (DTN): Architecture </li></ul><ul><li>DTN vs. Email </li></ul><ul><li>Mexico Deployment: DTN Approach </li></ul><ul><li>Modular DTN Architecture for Sensor Networks </li></ul>
    21. 21. DTN vs. Email DTN? Email? What’s the difference? Professor Culler
    22. 22. DTN vs. Email Cool Professor Culler Biggist Difference: DTN Overlay DTN is able to make progress towards the destination, even when no contemporaneous route exists
    23. 23. Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </li></ul><ul><li>Delay Tolerant Networking (DTN): Architecture </li></ul><ul><li>DTN vs. Email </li></ul><ul><li>Mexico Deployment: DTN Approach </li></ul><ul><li>Modular DTN Architecture for Sensor Networks </li></ul>
    24. 24. Mexico Deployment: Routing <ul><li>DTN has the “Tuple” address: (Interdomain, Intradomain) </li></ul><ul><ul><li>Doesn’t really apply to Mexico </li></ul></ul><ul><ul><li>Single domain </li></ul></ul><ul><li>Hybrid Routing Approach </li></ul><ul><ul><li>You know where you want to get to, but not how </li></ul></ul><ul><ul><li>Overlay static on top of mesh routing </li></ul></ul><ul><ul><ul><li>Using Roofnet </li></ul></ul></ul><ul><ul><ul><ul><li>link-quality aware </li></ul></ul></ul></ul><ul><ul><ul><ul><li>minmizes number of transmissions </li></ul></ul></ul></ul><ul><ul><li>Use mesh routing to tell you the next hop towards the furthest reachable downstream candidate </li></ul></ul>
    25. 25. Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect </li></ul>
    26. 26. Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect </li></ul>
    27. 27. Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect </li></ul>
    28. 28. Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect </li></ul>
    29. 29. Hybrid Examples <ul><li>Normal case </li></ul><ul><li>Simple break </li></ul><ul><li>Partition </li></ul><ul><li>Reconnect </li></ul>
    30. 30. Mexico Deployment: Handling Data <ul><li>DTN suggests exchanging Bundles (Files) </li></ul><ul><li>Divide data into one-hour segments </li></ul><ul><li>Augment with meta-data </li></ul><ul><ul><li>To, From, Data, Size, etc. </li></ul></ul><ul><li>1.2 - 1.8 MB compressed </li></ul><ul><li>Store as files on disk (even on intermediate hops) </li></ul><ul><li>Easy to recover from server and node restarts </li></ul><ul><li>Human manageable </li></ul>
    31. 31. Node Software Architecture Bundle Bundle Bundle Outbox Duiker Bundle Forwarder Bundle Receiver Routing Data Bundle Sender Seismic Data (Q330) Upstream Nodes Downstream Node Bundle Bundle Bundle Inbox Data File Data File Data File Drafts CENS NODE
    32. 32. Managing Space <ul><li>Nodes are equipped with 2 - 4 GB of storage: 40 - 80 days of data </li></ul><ul><li>A Bundle is deleted when ACK is received from sink for locally generated data </li></ul><ul><ul><li>ACK is just another bundle </li></ul></ul><ul><ul><li>Application-level ACK </li></ul></ul><ul><li>When space gets low </li></ul><ul><ul><li>Node refuses to accept transient data (“route around me”). Better than accept and drop. </li></ul></ul><ul><ul><li>Delete transient data when space gets low </li></ul></ul><ul><li>No intermediate custody transfer </li></ul><ul><li>This policy delays the deletion of original data the longest </li></ul>
    33. 33. Transmission Priority <ul><li>Transmission priority affects performance </li></ul><ul><ul><li>Want to avoid starvation </li></ul></ul><ul><li>Priority can be based on: </li></ul><ul><ul><li>Age </li></ul></ul><ul><ul><li>Transient vs. Local </li></ul></ul><ul><ul><li>Number of hops traversed </li></ul></ul><ul><ul><li>Number of times sent </li></ul></ul><ul><ul><li>Some other measure of how hard it was to get this far </li></ul></ul>
    34. 34. What about Off the Shelf DTN? <ul><li>There is an official Bundle specification </li></ul><ul><li>There are 1 1/2 reference implementations of the Bundle specification </li></ul><ul><li>Why not use it? </li></ul><ul><li>Because… </li></ul><ul><ul><li>Only reason why Mars worked, and only way Mexico will work, is because scenario specific information was used. You MUST do this. </li></ul></ul><ul><ul><li>It’s impossible to do a good job in all scenarios </li></ul></ul><ul><ul><li>The more generic you try to be, the more it looks like flooding . </li></ul></ul><ul><ul><li>The more options and switches you support, the more brittle and complex it becomes </li></ul></ul><ul><ul><ul><li>See Sendmail configuration file </li></ul></ul></ul><ul><li>How do we remain flexible and customizable, yet stay SIMPLE? </li></ul>
    35. 35. A Modular DTN Software Architecture <ul><li>Like Click </li></ul><ul><li>Modular software IP router </li></ul><ul><li>Easy to plug modules together </li></ul><ul><li>Easy to create new modules </li></ul><ul><li>Results in an optimized router </li></ul>// Declare three elements… src :: FromDevice(eth0); ctr :: Counter; sink :: Discard; // .. Connect them together src -> ctr; ctr -> sink;
    36. 36. Click’s Elegance <ul><li>Click modules consume and produce the same data structure </li></ul><ul><ul><li>IP packets </li></ul></ul><ul><li>Same is nice and simple. Easy to compose modules if they input/output the same thing </li></ul><ul><li>IP is nice too (as opposed to something obscure or too generic) </li></ul><ul><ul><li>Strong foundation in specifications </li></ul></ul><ul><ul><li>Many compliant implementations as examples </li></ul></ul><ul><ul><li>People are already familiar with certain features and behaviors of IP routers </li></ul></ul>
    37. 37. Click and DTN - High Level <ul><li>IP packets </li></ul><ul><li>IP specifications </li></ul><ul><li>Lots of existing IP routers </li></ul><ul><li>Lots of specific IP features/behavior to choose from </li></ul><ul><li>Bundles </li></ul><ul><li>Bundle specifications </li></ul><ul><ul><li>Experimental and evolving </li></ul></ul><ul><li>Very few Bundle servers </li></ul><ul><li>Lots of Bundle features and behavior to choose from </li></ul><ul><ul><li>In this area, Bundles have a richer set of potential behavior than IP </li></ul></ul>Click DTN
    38. 38. Introducing this Approach to Sensor Networks <ul><li>EmStar </li></ul><ul><ul><li>Component based framework for sensor network applications (on Linux) </li></ul></ul><ul><ul><li>Lots of services and applications already existing </li></ul></ul><ul><ul><li>Simulation / Emulation / Deployed Modes </li></ul></ul><ul><ul><li>Heterogeneous applications (Stargates / Motes) </li></ul></ul><ul><ul><li>Debugging, monitoring, and visualization </li></ul></ul><ul><ul><li>Growing user-base </li></ul></ul><ul><ul><ul><li>UCLA, USC, MIT, Umass Amherst, Ohio State, etc. </li></ul></ul></ul><ul><ul><ul><li>Intel Research, Xerox PARC, Microsoft Research </li></ul></ul></ul>Emulation Array Node 001 … Emulation Mode HostMote Protocol Transceiver Mote Transceiver Mote Transceiver Mote Transceiver Mote MN MN MN MN Node 002 Node 003 Node N Simulation Framework with real RF channels Visualization Tools Client Server kfusd.o /dev/fusd /dev/servicename Kernel User Robust multi-process, microkernel architecture
    39. 39. Relationships Between EmStar Modules Unclear <ul><ul><li>How to bring Click’s readability and ease-of-use to EmStar? </li></ul></ul>include link/link.run &link_udp(udp0); &link_linkstats(udp0,ls0,show=&quot;leds:core&quot;); &link_neighbors(ls0,show=&quot;hide&quot;); process mdiff { type = once; noclean; cmd = &quot;devel/microdiff/mdiff --uses ls0&quot;; waitfor = ls0; } process mdiff_test { waitfor = mdiff; type = once; noclean; cmd = &quot;devel/microdiff/mdiff_test&quot;; } process mdiff_filter { waitfor = mdiff; type = once; noclean; cmd = &quot;devel/microdiff/mdiff_filter&quot;; } Example EmRun Configuration File
    40. 40. Bolt: Architecture Description Language for EmStar <ul><li>Makes relationships between modules of an EmStar application explicit </li></ul><ul><li>Began as a class project with Eddie Kohler and Todd Millstein last spring </li></ul><ul><li>Implemented in CIL and Ocaml </li></ul>
    41. 41. <ul><li>udp0 = udp() ; </li></ul><ul><li>ls0 = linkstatsd(); </li></ul><ul><li>nd = neighbord(); </li></ul><ul><li>mdiff = Mdiff(); </li></ul><ul><li>mdiff_simple_app [packet_dev] <-> [app_packet_opts] mdiff ; </li></ul><ul><li>mdiff_simple_filter [packet_dev] <-> [filter_packet_opts] mdiff ; </li></ul><ul><li>mdiff [lu_opts] <----------------------> [lp_opts] ls0 [lu_opts] <-> [opts] udp0 ; </li></ul><ul><li>mdiff [sc_opts] <- [s_opts] nd [ls_opts] <-- [s_opts] ls0 ; </li></ul><ul><li>nd [lu_opts] <-> [lp_opts] ls0 ; </li></ul>Bolt Config.: White Board to Emacs Buffer Instantiating components Data Flow Connecting component devices
    42. 42. BUT WAIT, THERE’S MORE!…
    43. 43. Click Modules vs. EmStar Modules <ul><li>Click modules are C++ classes </li></ul><ul><li>EmStar modules are separate processes </li></ul><ul><li>Click modules communicate via function calls </li></ul><ul><li>EmStar modules communicate by passing bits or text via device files </li></ul><ul><li>Since Click modules are compiled, they benefit from basic compiler checks and optimizations. Click itself does higher level checks and optimizations </li></ul><ul><li>Wouldn’t it be nice if EmStar modules enjoyed similar benefits? </li></ul>
    44. 44. Bolt: Compiler-like Analysis and Optimization for EmStar <ul><li>It Slices! It Dices! </li></ul><ul><li>It does static analysis and optimizations not otherwise possible across EmStar modules </li></ul><ul><li>No user changes or annotation required of EmStar code </li></ul><ul><ul><li>Though it could help </li></ul></ul><ul><li>Bolt statically infers type-safety violations between two functions in different processes (EmStar modules) </li></ul><ul><ul><li>Despite type-obscuring function calls and heavy use of function pointers </li></ul></ul><ul><li>Bolt uses subgraph isomorphism to identify and swap out combinations of modules with more efficient combinations that perform the same function </li></ul><ul><li>Analysis not completely sound nor complete, but hard given the circumstances </li></ul>
    45. 45. Implementing DTN Using Bolt <ul><li>DTN looks like any other set of EmStar modules </li></ul><ul><li>What exactly are the EmStar modules that make up the DTN suite? </li></ul><ul><ul><li>Click has benefited from the existence of numerous IP router implementations </li></ul></ul><ul><ul><li>DTN must build up experience from real deployments (Mexico and others) </li></ul></ul><ul><ul><li>Identify and extract reusable DTN related components, for example: </li></ul></ul><ul><ul><ul><li>Managing a large number of concurrent file transfers between a pair of nodes </li></ul></ul></ul><ul><ul><ul><li>Despite large delay and disconnections </li></ul></ul></ul><ul><ul><ul><li>Recover across restarts </li></ul></ul></ul><ul><ul><ul><li>LTP (S. Burleigh) & File Mover (A. Parker) </li></ul></ul></ul><ul><ul><li>Goal is not necessarily to be able to build a complete DTN solution for your particular situation </li></ul></ul><ul><ul><li>Rather, to reuse the ones that make sense, and build from there </li></ul></ul>
    46. 46. Outline <ul><li>Mexico Seismic Array Deployment: Set Up </li></ul><ul><li>Interplanetary Networking: Set Up & Relevance </li></ul><ul><li>Delay Tolerant Networking (DTN): Architecture </li></ul><ul><li>DTN vs. Email </li></ul><ul><li>Mexico Deployment: DTN Approach </li></ul><ul><li>Modular DTN Architecture for Sensor Networks </li></ul>
    47. 47. References <ul><li>DTN: http:// www.dtnrg.org </li></ul><ul><li>IPN: http://www.ipnsig.org </li></ul><ul><li>Click: http:// www.pdos.lcs.mit.edu/click </li></ul><ul><li>EmStar: http://cvs.cens.ucla.edu/emstar </li></ul><ul><li>Bolt: http://lecs.cs.ucla.edu/~adparker/Bolt </li></ul>
    48. 48. DTN’s Explicitness <ul><li>Would like lower layers to accommodate policies of upper layers automatically </li></ul><ul><li>Instead, current approach (in general) is to increasingly expose upper layers to the details of what is happening below. </li></ul>
    49. 49. DTN Visibility & Accountability <ul><li>Messages (REPORTS) may be generated for a number of reasons </li></ul><ul><li>Custody assertion </li></ul><ul><li>Bundle refusal </li></ul><ul><li>Bundle fragmentation, etc. </li></ul><ul><li>These Reports may be sent to a node other than the original sender </li></ul><ul><li>Reports for which events and where to send them are explicitly indicated in the Bundle </li></ul>
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×