1 / 23

Self-Routing in Pervasive Computing Environments using Smart Messages

Self-Routing in Pervasive Computing Environments using Smart Messages. Cristian Borcea , Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University), and Liviu Iftode (University of Maryland). Networks of Embedded Systems. Linux Car. Linux Camera. Linux Cell Phone. Linux Watch.

ryder
Download Presentation

Self-Routing in Pervasive Computing Environments using Smart Messages

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. Self-Routing in Pervasive Computing Environments using Smart Messages Cristian Borcea, Chalermek Intanagonwiwat, Akhilesh Saxena (Rutgers University), and Liviu Iftode (University of Maryland)

  2. Networks of Embedded Systems Linux Car Linux Camera Linux Cell Phone Linux Watch • Functionally heterogeneous nodes • Very large scale • Ad hoc topologies • Dynamic network configurations • Limited a priori knowledge about network resources

  3. Programmability Challenge • Traditional message passing distributed computing does not work for networks of embedded systems • unknown and volatile network configurations • end-to-end data transfer may hardly complete (i.e., “all or nothing” semantics is not appropriate) • fixed address naming and routing (e.g., IP) are too rigid • Our Solution: Cooperative Computing using Smart Messages • More flexible naming and routing are needed • applications interested in content/services, not individual nodes • different applications have different routing requirements

  4. Outline • Motivation • Smart Messages Overview • Self-Routing Mechanism • content-based migration • application scenarios • Evaluation • SM prototype • simulations • Related Work • Conclusions & Future Work

  5. Smart Messages at a Glance • Distributed computing using execution migration • Applications composed of one or multiple Smart Messages • Smart Message (SM): • composed of code, data, and execution state • executes on nodes of interest named by properties • Cooperative Nodes: • execution environment (Virtual Machine) • content-based memory (Tag Space) • Self-Routing • routing performed at application-level • applications can change routing during execution

  6. mobile data application routing Application Example need 2 taxis Taxi Taxi n=0 n=0 n=0 n=1 n=1 n=2 n=0 while (n<2) migrate(Taxi); if (readTag(Available)) writeTag(Available, false); writeTag(Location, myLocation); n++;

  7. Node Architecture Execution is non-preemptive, but time bounded Admission prevents excessive use of resources sm1 SM arrival Virtual Machine Admission Manager SM migration sm2 …… • Two types of tags: • application tags • I/O Tags • Tags used by SMs for: • naming • storage • synchronization • I/O access SM Ready Queue tag1 tag2 …… Tag Space

  8. Smart Messages Migration migrate(Taxi) Taxi Taxi 1 2 3 4 sys_migrate(2) sys_migrate(3) sys_migrate(4) • Two level migration: • migrate() • embeds routing algorithm • migrates application to next node of interest • names nodes in terms of arbitrary conditions • on tag names and tag values • sys_migrate() • one hop migration • used to implement migrate

  9. Migration Example 1 2 i Network Taxi RouteToTaxi = 2 RouteToTaxi = ? RouteToTaxi = j migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout); } migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout); } migrate(Taxi){ while(!readTag(Taxi)) if (readTag(RouteToTaxi)) sys_migrate(readTag(RouteToTaxi)); else create_SM(DiscoverySM, Taxi); createTag(RouteToTaxi, lifetime, null); block_SM(RouteToTaxi, timeout); }

  10. Self-Routing • Smart Messages carry the routing and execute it at each node • Smart Messages control their routing • select routing algorithm (migrate primitive) • from multiple library implementations • implement a new one • change routing algorithm during execution • in response to adverse network conditions • according to application’s requirements

  11. Dynamic Change of Routing (1) while (n<3) try{ migrate(tag, timeout1); }catch(TimeoutException e){ migrate(tag, timeout2); } Dense network Low mobility Proactive routing Sparse network High mobility On-demand routing

  12. Dynamic Change of Routing (2) migrate(circle); while (n<3) migrate(tag); space-bound on-demand routing to reach the nodes of interest geographical routing to reach circle

  13. Smart Messages Routing Algorithms • Goal: Evaluate the potential of SMs to implement different content-based routing algorithms • on-demand content-based routing (similar to AODV [Perkins ’99]) • greedy geographical routing (similar to GPSR [Karp ’00]) • proactive routing using Bloom filters (similar to Probabilistic Routing [Rhea ’02]) • rendez-vous routing (combining on-demand and proactive routing) • e.g., geographic dissemination + limited flooding • advantage: improves the response time for applications while avoiding global dissemination and large scale flooding

  14. Evaluation Strategies • Implementation • SM prototype over Sun Java KVM on HP iPAQs • small scale network (8 nodes) • evaluated the effects of code caching • Simulation • SM simulator • large scale network (256 nodes) • evaluated the effects of best routing selection and dynamic change of routing

  15. Prototype Implementation • Modified version of Sun Java KVM • HP iPAQs running Linux • 802.11 for communication user node node of interest intermediate node Routing algorithm Code not cached (ms) Code cached (ms) Geographic 415.6 126.6 On-demand 506.6 314.7 Completion Time

  16. Simulation • Event-driven simulator extended with support for SM execution • Setup: • 256 nodes uniformly distributed over a 1000m by 1000m square • transmission range = 100m • bandwidth = 2Mbs • each node has an average of 6 neighbors (min = 2, max = 11) • Metrics: • completion time: user-observed response time for an application • total number of bytes sent: total amount of traffic generated by an application • also indicates the energy and bandwidth consumed by an application

  17. Simple On-Demand Routing vs. Conditional On-Demand Routing • nodes of interest contain a certain tag, • and the tag’s data must satisfy a given condition • 5 nodes (distributed uniformly) have the given tag • vary the number nodes of interest from 1 to 4 starting node node of interest other node

  18. On-demand Routing vs. Geographical + On-demand Routing • 5 nodes of interest distributed over the red region • radius = 500m • application has knowledge about the desired region • vary the radius from 500m to 1500m starting node node of interest other node

  19. On-Demand Routing vs. Geographical + On-Demand Routing Cont’d • 3 nodes of interest located in the corners • have to be visited in clockwise order • application has knowledge about these nodes’ regions • vary the radius from 100m to 700m starting node node of interest other node

  20. Related Work • Mobile agents • e.g., D’Agents[Gray ‘97], Ajanta[Karnik ‘98] • Active networks • e.g., ANTS[Wetheral ‘99], SNAP[Moore ’01] • Mobile ad hoc networking • e.g., DSR[Johnson ‘96], AODV[Perkins ‘99], GPSR[Karp ‘00] • Content-based naming and routing • e.g., INS[Adjie-Winoto ‘00], CBR[Gritter ‘01] • Pervasive computing models • e.g., one.world[Grimm ‘01] • Sensor networks • e.g., Diffusion[Intanagonwiwat ‘00], TinyOS[Hill ‘00]

  21. Conclusions • Self-Routing provides high flexibility for SM applications • choose the routing • implement their own routing • change the routing dynamically • Self-Routing has performance benefits • improved response time for applications • significant energy and bandwidth savings in the network

  22. Future Work • Spatial Programming with Smart Messages • programming model for networks of embedded systems • network resources accessed transparently using {space, tag} spatial references • a node referenced by {space, tag} is reached through a combination of geographical and content-based routing • Design and implement real world applications using Smart Messages and self-routing

  23. Thank you! http://discolab.rutgers.edu/sm

More Related