1 / 24

The Network Flow Language (NFL) for Active Sensor Networks (ASNs)

The Network Flow Language (NFL) for Active Sensor Networks (ASNs). Danilo Florissi , Yechiam Yemini (YY), Sushil da Silva, Hao Huang Columbia University, New York, NY 10027 http://www.cs.columbia.edu/dcc/asn {df,yy,dasilva,hhuang}@cs.columbia.edu. Toward Programmable Adaptive SNs. ASN.

roana
Download Presentation

The Network Flow Language (NFL) for Active Sensor Networks (ASNs)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Network Flow Language (NFL)for Active Sensor Networks (ASNs) Danilo Florissi, Yechiam Yemini (YY), Sushil da Silva, Hao Huang Columbia University, New York, NY 10027 http://www.cs.columbia.edu/dcc/asn {df,yy,dasilva,hhuang}@cs.columbia.edu

  2. Toward Programmable Adaptive SNs ASN User Needs + A Resource Availability SN Scenario • Key ideas • Active Networks (ANets) enable programming of network transport and processing functions • SNs need to adapt flexibly to limited resources, changing external conditions, and different foci of user interest • Goal: facilitate programmable adaptive SNs through ANet

  3. Active Networks • ANet render networks programmable • Deploy code dynamically to create new node functionality • Approaches: code delegation or packet capsules

  4. The NetScript Language • Dataflow model: • Active element = packet stream processor engine • Active elements are composed from boxes (computational channels) • Boxes encapsulate computations • Composition through interconnection • Synchronization of streams motions • Allocation of underlying resources • Simple model of inter-operability

  5. NetScript Dataflow Model • Example: IP stack • Dynamic deployment of new stack components • On-the-fly change/upgrade of functionality

  6. Marks in Web Documents • HTML: embedded marks define operations on object • XML: support programming of marks • Syntax and semantics of marks are programmable • DTD files define syntax • XSL files define semantics • Marks meaning can vary in time and among processors • XSL files can be dynamically loaded and changed

  7. NFL: Language for Marked Flows • Marked language to program processing of network flows • NFL programs flows ~ XML programs Web documents/objects • Marks replace protocol headers and can program: • Routing, flow control, admission control, resource reservation, content filtering, caching, etc. • Marks can extend or replace protocol stacks

  8. NFL Main Components • Mark syntax • FTD: Flow Tag Definition ~ DTD • Mark semantics • XFL: eXtensible Flow Language ~ XSL • NetScript: natural candidate for semantics of NFL marks • NFL is an execution environment for programming active sensor applications NFL flow NetScript boxes and links Node

  9. Mark processing by NFL • Known marks are routed to processing boxes • Unknown marks spawn processing boxes from NFL servers Server NFL flow NetScript boxes and links Node

  10. What Can You Do With Marks? • Create your own protocols • Marks replace protocol headers • Marks are naturally stacked through nesting • Combine networking and computing functions • E.g., contents-based routing • E.g., contents-based error/QoS control • Program a SN dynamically

  11. Recent Work • Design of NFL • Overall runtime architecture • Language syntax and semantics • Integration with NetScript • Start design and implementation of sample application • Efficient HTTP protocol (UXTP) • On-demand control • Target is very fast web access • Looking at other systems proposed by SenseIT researchers • Implement components in NFL • Drive the design and implementation of the language

  12. Near Future Challenges • Porting NetScript to WINS • NetScript currently works on Java VM • Heavy use of resources • Java VM for Windows CE • Port dynamic deployment of boxes • Box servers come and go • Single hop or multiple-hop • Optimize use of limited resources • Minimize memory demand on sensors • Minimize overhead of NFL runtime • NFL implementation of interesting SenseIT applications

  13. Examples of NFL Applications

  14. Example: Prioritization of Samples • Problem: samples have different levels of priorities and the network has to prioritize delivery of flows Data flows In 7 1 0 5 10 0 NetScript boxes and links Priority Sorter Priority Queue Node Data flow Out 7 5 1 10 0 0

  15. Code: Priority in NFL • Samples are marked with name and priority levels Sensor Server: <samples URI=”http://www.cs.columbia.edu/multicast1270”> <data priority=5> 12, 15, 14, 17 </data> <data priority=10> 7, 75, 882, 1 </data> <data> 6, 10, 8, 8, 9 </data> </samples>

  16. Example: Route Discovery for WINS • Problem: WINS sensors deployed in battlefield need to discover efficient routing to minimize power consumption

  17. Code: Route Discovery for WINS • Sensors broadcast their known distance to peer sensors • Small physical distance ~ less power consumption Sensor Server: <announce-name URI=”http://www.sensor16.cs.columbia.edu”> </announce-name> Sensor Client: <announce-routes> <route-entry> URI=”http://www.sensor25.cs.columbia.edu” 16 sensor17 </route-entry> <route-entry> URI=”http://www.sensor5.cs.columbia.edu” 2 sensor9 </route-entry> </announce-routes>

  18. Example: Simple Diffusion Routing (I) • Problem: WINS should route data contents, not individual packets B A B B Flow A Flow Sorter Flow B A A A A A

  19. Example: Simple Diffusion Routing (II) • Problem: handling failures to links and nodes • New NetScript boxes are loaded to handle enhanced functions B A A B B Flow A Flow Sorter Diffusion Criteria Flow B A A A A A A

  20. Code: Simple Diffusion Routing Sensor Client: <event-subscribe id=”102” event-label=”image” URI=”http://www.sensor1076.cs.columbia.edu” URI=”http://www.cs.columbia.edu/multicast1270”> </event-subscribe> Sensor Server: <samples URI=”http://www.cs.columbia.edu/multicast1270”> <data> 12, 15, 14, 17 </data> <image> <!–- image contents> </image> <data> 6, 10, 8, 8, 9 </data> </samples> Manager: <event-notification id=”765” event=”link-down” URI=”http://www.cs.columbia.edu/multicast1270”> URI=”http://www.sensor1053.cs.columbia.edu/link7” </event-notification>

  21. Example: Trading Processor/Bandwidth • Problem: flows should compress or expand to minimize use of stressed resources in each sensor Sensor Server: <flow URI=”http://www.display7.cs.columbia.edu”> <conditional-compress condition=”bandwidth < 1Mbps”> <image> <!-- image data> </image> </conditional-compress> </flow>

  22. Controlling SN With Marks • Marks can be used to configure and control • Sensor functions • End-end QoS delivery by the network and sensors • Routing strategy to maximize QoS, minimize power, etc. • Caching of previous samples (for calculation of statistics)

  23. SN Event Processing with Marks • Marks can be used to present event data & control processing • Specify the type of data (seismic, streaming audio, etc.) • The processing of marks at sensors the flow crosses may depend on local conditions (available processor, link bandwidth, etc.)

  24. Conclusions, Plans, and Schedule • ANet can bring flexibility and simplicity for SN programming • NFL marked flow processing paradigm can specify and enhance SN functionality • Plans and Tentative Schedule • 7/1999: New contract started • 8/1999: New SOW • 10/1999: Work on design and implementation of NFL • 1/2000: Projected first prototype of basic NFL • 3/2000: Port to SenseIT devices • 6/2000: Implement relevant SenseIT application(s) • Interact with SenseIT community to identify key needs • Use SenseIT applications to drive design

More Related