120 likes | 280 Views
Programming Ad-hoc Networks of Mobile and Resource-Constrained Devices. Yang Ni, Ulrich Kremer, Adrian Stere, Liviu Iftode Rutgers University Presented at PLDI ‘05 Presented by Troy Trimble. Summary. MANETs SpatialViews Syntax and Semantics Implementation Conclusion/Questions. MANETs.
E N D
Programming Ad-hoc Networks of Mobile and Resource-Constrained Devices Yang Ni, Ulrich Kremer, Adrian Stere, Liviu Iftode Rutgers University Presented at PLDI ‘05 Presented by Troy Trimble
Summary • MANETs • SpatialViews • Syntax and Semantics • Implementation • Conclusion/Questions
MANETs • Mobile Ad-hoc Networks • PDAs, Smart Phones, Laptops, Cars • Multiple mediums • 802.11, bluetooth, radio • Form networks around unstable links • Examples (Shameless Plug) • Sensor Networks, RescueMesh (WIISARD)
Programming for MANETs • Concern is power • MANETs usually on low power devices • What can we give up? • Quality of Result (QoR)
SpatialViews • Nodes • Defined by location in space, time and services • Virtual Network • Collection of virtual nodes • Network Iterator • Used to iterate through the nodes in the network • Can be a tool to control QoR vs. Power
Services Java Interfaces Location GPS, Cricket (MIT) Time Granularity, limit public interface LightSensor { public float read(); ... } public interface SpaceDefs { public static final Space CampusB=new Rectangle(...); ... } public class AverageLighting { public void static main(String[] args) { sumreduction float s=0; sumreduction int n=0; spatialview sv=LightSensor @ SpaceDefs.CampusB % 320; visiteach x : sv every 1.0 forever { s += x.read(); n++; } if (n>0) System.out.println(Float.toString(s/n)); } } Syntax and Semantics
Syntax and Semantics cont. • Program vars • Local – r/w in defined iter, ro in nested iters • Container – r/w in defined iter, wo in nested iters • Reduction – associated with specific operation • Service vars • Never leave node, r/w in defined iter
Implementation • Modified Java • SmartMessages • Transport • Java, KiloByte VM and CLDC library
Iteration Types • Serial • Poor failure model • Can also do flooding to help • Geographic iteration • Uses locations and greedy algorithm • Geographic Flood • Cloning based on quadtree, not network topology
Extras • Loop Flattening • Optimization for services on the same box • Security • Assumed
Conclusions • MANETs pose a benefit to society • New programming challenges are given by these environments • Recognized by academic community with conferences like International Conference for Compilers, Architecture and Synthesis for Embedded Systems • SpatialViews supplies a good interface for dealing with these new problems on MANETs