CPSC 689: Discrete Algorithms for Mobile and Wireless Systems - PowerPoint PPT Presentation

cpsc 689 discrete algorithms for mobile and wireless systems n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems PowerPoint Presentation
Download Presentation
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

play fullscreen
1 / 86
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems
99 Views
Download Presentation
blaze
Download Presentation

CPSC 689: Discrete Algorithms for Mobile and Wireless Systems

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch

  2. Lecture 30 • Topic: • Virtual Node Layers • Sources: • Dolev, Gilbert, Lynch, Shvartsman, Welch. Geoquorums. • Dolev, Gilbert, Lynch, Schiller, Shvartsman, Welch. Virtual Mobile Nodes. • Chockler, Gilbert. Virtual Infrastructure for collision-prone wireless networks. • Gilbert PhD thesis. Virtual Infrastructure for wireless ad hoc networks. • Brown, Gilbert, Lynch, Newport, Nolte, Spindel. The Virtual Node Layer: A programming abstraction for wireless sensor networks. • Dolev, Gilbert, Lahiani, Lynch, Nolte. Timed virtual stationary automata. • Dolev, Lahiani, Lynch, Nolte. Self-stabilizing mobile node location management and message routing. • Gilbert, Lynch, Mitra, Nolte. Self-stabilizing mobile robot formations with virtual nodes. • Nolte PhD thesis. Virtual stationary automata for mobile networks. • MIT 6.885 Fall 2008 slides Discrete Algs for Mobile Wireless Sys

  3. Overview • Platform: Mobile computers with sensors, actuators, wireless communication. • People, robots, vehicles, could use this hardware to: • Establish ad hoc networks. • Coordinate in running applications: • Collect and process data • Produce models of the environment • Plan activities, disseminate plans • Examples: • Rescue workers in disaster areas • Soldiers in battle • Robots exploring a novel location • Cars on highway • But application design for MANETs is very hard, because the networks change unpredictably. Discrete Algs for Mobile Wireless Sys

  4. Application Virtual Node Layer To simplify application design: • Virtual Node Layer, consisting of: • Virtual Nodes, • Client Nodes, and • A Local Broadcastservice. • Virtual Nodes: • Simple abstract machines. • Better behaved than physical nodes, e.g., stationary, fail less often. • Fail by stopping, recover by restarting in initial state. • Client Nodes similar to physical nodes. • Makes it easier to write applications. Discrete Algs for Mobile Wireless Sys

  5. Virtual Node Layer Discrete Algs for Mobile Wireless Sys

  6. Virtual Node layer Discrete Algs for Mobile Wireless Sys

  7. Geographical routing (Geocast) Route message to a designated geographical region Discrete Algs for Mobile Wireless Sys

  8. Data management Gather, aggregate, analyze, and distribute data. Discrete Algs for Mobile Wireless Sys

  9. Region coordination Coordinate activities of robots, people, vehicles in a region. Discrete Algs for Mobile Wireless Sys

  10. Read Write Geoquorums • Goal: Implement atomic Read/Write memory in MANETs. Discrete Algs for Mobile Wireless Sys

  11. Atomic Memory Virtual Object Layer Geoquorums • Uses a Virtual Object Layer: • Passive Virtual Objects, at fixed, normally-populated geographical locations. • Client Nodes, which can access the VOs directly. • Emulate the VO Layer over the MANET, using Replicated State Machine algorithm and a standard geographical routing algorithm. • Implement Read/Write memory over the VO layer, using a quorum-based algorithm. Discrete Algs for Mobile Wireless Sys

  12. Virtual Mobile Nodes • New kind of Virtual Node: • Active agent, not just a passive object. • Moves according to a pre-planned trajectory. • Applications: • Pick up, deliver messages. • Highway control: VMN can notify cars about hazards ahead, ambulance approach from behind. Discrete Algs for Mobile Wireless Sys

  13. High Tech Highway Traffic jam ahead. Slow down. Consider another route. An ambulance is coming. Get out of the left lane. Discrete Algs for Mobile Wireless Sys

  14. Emulating Virtual Mobile Nodes • Replicated State Machines. • Similar to emulation of Virtual Objects. • It’s all relative: is the same as: Discrete Algs for Mobile Wireless Sys

  15. Virtual Stationary Nodes • Simplest and most important special case of Virtual Mobile Nodes---no motion! • New VSN model, with more control over timing. • Leader-based implementation. • Self-stabilizing. Discrete Algs for Mobile Wireless Sys

  16. Application: Point-to-point message routing in MANETs • Geographical routing over VSN layer. • Mobile client location service. • Keeps track of locations of Client Nodes. • Each Client Node has home location VSNs, which keep track of its current VN region. • Determined by hash function from Client Node id. • Client Node sends its physical location to its home locations, using geographical routing. • Requester sends location queries to home locations, also using geographical routing. • Point-to-point message routing between Client Nodes. • Based on geographical routing and location service. Discrete Algs for Mobile Wireless Sys

  17. Application: Motion Coordination • Use VSNs to coordinate motion of Client Nodes: • VSN can gather, analyze information about its local region, exchange information with neighboring VSNs, plan motion of CNs. • CNs can use advice from nearby VSNs to determine their motion. • Examples: • Robot motion coordination • Highway control, using computers on board the cars. • Air-traffic control Discrete Algs for Mobile Wireless Sys

  18. Robot Motion Coordination • Given a curve, and a set of Client Nodes (robots) at arbitrary locations, move the Client Nodes so that they are (nearly) all on the curve, and (approximately) evenly spaced. • E.g., perimeter of hazardous waste area. Discrete Algs for Mobile Wireless Sys

  19. VN VN VN VN VN VN Virtual Node Approach • Divide region into zones, one VN per zone. • VN coordinates Client Nodes in its zone. • Directs motion of CNs in its zone: • Towards the curve. • On the curve, to even out spacing. • Communicates with neighboring VNs, sends “extra” clients to neighboring zones. CN CN Discrete Algs for Mobile Wireless Sys

  20. Virtual Traffic Light (VTL) • For an intersection without a real traffic light. • Computers in cars can emulate a VN, programmed to be a traffic light. • Any policy desired, e.g., 30 sec in each direction. • Cars just see “red” or “green”, on local displays. • VTL dies when no cars are around. • But then we don’t need a traffic light. Discrete Algs for Mobile Wireless Sys

  21. Virtual Air-Traffic Controllers (VATCs) • Aircraft in regions of airspace without ground-based controllers, e.g., the ocean. • Need algorithm for arbitrating access to regions. • Use VATCs, emulated by computers on the aircraft. • VATC behaves like human ATC, e.g.: • Keeps track of aircraft in local region. • Tells neighboring ATCs when it’s OK to hand off an aircraft. • Tells aircraft how to move within the local region. • VATCs compatible with current ATC system. Discrete Algs for Mobile Wireless Sys

  22. Virtual Node Layers in Unreliable MANETs • Nice theoretical results…but: • They all assume reliable communication. • Real MANETs have lost messages, collisions: • How to cope with message losses? • Three approaches: 1. Mask communication failures, using Contention Manager, Collision Detector services. 2. Implement VNs that have weaker semantics. 3. Self-stabilization. Discrete Algs for Mobile Wireless Sys

  23. 1. Masking Communication Failures • Contention Manager: • Gives “active/passive” advice to each node, at each round. • Eventually, advises one node per round to be “active”. • Implemented by backoff protocols. • Collision Detector: • Notifies receiver that it might have missed a message, because of a collision (). • Completeness: Situations when must be delivered. • When some message is lost, or • When half or more are lost, or • When a majority are lost, or • When all are lost. • Accuracy: Situations when may be delivered. • Accurate: When some message is lost, or • Eventually Accurate Discrete Algs for Mobile Wireless Sys

  24. Virtual Node Layers for Networks with Message Losses • Mobile network model: • Message collisions, losses • Contention manager • Collision detector • New algorithm to emulate VN layer over unreliable MANET layer. • Uses consensus-like strategy. • Application: Tracking Discrete Algs for Mobile Wireless Sys

  25. 2. Weaker Semantics • A simple reactive VN layer • Simple timing-independent state machines, which react to the arrival of a message by changing state and producing some new messages to send. • With message losses, VNs have an additional failure mode: • Can jump to some other “sensible” state---one that would result from receiving some subset of the messages that have been sent. Discrete Algs for Mobile Wireless Sys

  26. 3. Self-Stabilization • Mobile networks are subject to unpredictable failures, changes. • Try as we might to mask problems, sometimes, things will go wrong. • Self-Stabilization: No matter what state the system winds up in, it will gravitate back (quickly) to normal behavior. • A standard notion for traditional distributed algorithms: • [Dijkstra’s famous paper, 74] • [Dolev’s book, 00] Discrete Algs for Mobile Wireless Sys

  27. Self-Stabilizing Algorithms for Mobile Networks • Problems for which Lynch's group has SS solutions using VN layers: • Communication: • Geographical broadcast: Broadcast a message to everyone in the vicinity of a specified geographic location. • Point-to-point message communication: Allow clients to send messages to nodes with specified ids, wherever they are in the network. • Robot motion coordination: • Arrange robots along a known curve in the 2-dimensional plane, approximately evenly spaced. • [Tina Nolte PhD thesis, completed October, 2008] Discrete Algs for Mobile Wireless Sys

  28. Some Details • Geoquorums • [Dolev, Gilbert, Lynch, Shvartsman, Welch 03, 04] • [Gilbert PhD thesis 07] Discrete Algs for Mobile Wireless Sys

  29. GeoQuorums • Virtual Object layer definition • Client Nodes • Virtual Object automata • CNs invoke operations on Virtual Objects from anywhere in the network, receive responses. • No other communication mechanism • Emulation algorithm Discrete Algs for Mobile Wireless Sys

  30. Virtual Object Layer Definition • Client Nodes • (Untimed) I/O automata • Move arbitrarily • Fail/recover • Frequent geo-updates: • Real time • Current location • Unique identifiers • Have outputs that are invocations of operations on the VOs, inputs that are responses. • Virtual Object automata Discrete Algs for Mobile Wireless Sys

  31. Virtual Object Layer Definition • Client Nodes • Virtual Object automata • Atomic Object I/O Automata: • Internal copy of object data + input buffers for requests + output buffers for responses. • [Lynch, Distributed Algorithms, Chapter 13] • Fail/recover. • Associated with predetermined locations in space. Discrete Algs for Mobile Wireless Sys

  32. Virtual Object Layer Emulation • Physical network assumptions: • Physical mobile nodes • (Untimed) I/O automata • Move arbitrarily, fail/recover • Geo-updates: time, location. • Unique identifiers • Communication: Reliable local broadcast service, within each VO region. Discrete Algs for Mobile Wireless Sys

  33. Summary: Geoquorums • VO Layer consists of Client Nodes + Virtual Objects, where any client can access any object. • Provides relatively stable, persistent data objects, in badly-behaved mobile network. • Assumes Physical Layer, just Physical Nodes + reliable local broadcast. • Emulation uses: • Standard GeoCast algorithm. • A highly redundant replicated state machine strategy to emulate each VO. • Depends on reliability of local broadcast. Discrete Algs for Mobile Wireless Sys

  34. Some More Details • Virtual Stationary Nodes • [Gilbert PhD thesis 07] • [Dolev, Gilbert, Lynch, Schiller, Shvartsman, Welch 04] Discrete Algs for Mobile Wireless Sys

  35. Virtual Stationary Nodes • VSN Layer definition • Client Nodes • VSN automata • Local broadcast communication • Differences from VO Layer: • VSNs are active agents, not just passive objects. • Broadcast communication, not invocation/response. • Local communication only. Discrete Algs for Mobile Wireless Sys

  36. VSN Layer Definition • Client Nodes: Essentially as before • (Untimed) I/O automata • Move arbitrarily • Fail/recover • Geo-updates • Unique identifiers • VSN automata: Active agents, not passive objects • (Untimed) I/O automata • Associated with predetermined locations in space. • Fail/recover • Geo-updates (time) • Unique identifiers • Local broadcast communication service VCast: • CN to nearby CNs • VN to/from CNs in its region. • VN to neighboring VNs. Discrete Algs for Mobile Wireless Sys

  37. VSN Layer Emulation • Physical network assumptions: As before. • Physical mobile nodes • (Untimed) I/O automata • Move arbitrarily, fail/recover • Geo-updates • Unique identifiers • Communication: Reliable local broadcast service, within each VSN region. Discrete Algs for Mobile Wireless Sys

  38. Summary: VSN Layers • VSN Layer: Client Nodes + Virtual Stationary Nodes + local broadcast communication service. • Provides a relatively stable, reliable, static overlay network. • Many applications. • Physical Layer: Physical Nodes + reliable local broadcast. • Emulation uses highly redundant replicated state machine strategy to emulate each VSN. • Depends on reliability of local broadcast. Discrete Algs for Mobile Wireless Sys

  39. Some More Details • Virtual Mobile Nodes • [Gilbert PhD thesis 07] • [Dolev, Gilbert, Lynch, Schiller, Shvartsman, Welch 04] Discrete Algs for Mobile Wireless Sys

  40. Virtual Mobile Nodes • VMN Layer definition • Client Nodes • VMN automata • Local broadcast communication • Main difference from VSN Layer: • The VMNs move, according to predetermined, globally known trajectories. Discrete Algs for Mobile Wireless Sys

  41. VMN Layer Definition • Client Nodes: As for VSN Layer • VMN automata: Active agents • (Untimed) I/O automata • Associated with predetermined trajectories in space. • Fail/recover • Geo-updates • Unique identifiers • Local broadcast communication service VCast: • CN to nearby CNs • VMN to/from nearby CNs • VMN to nearby VMNs. Discrete Algs for Mobile Wireless Sys

  42. Virtual Mobile Node (VMN) • Notion of a virtual node • Can perform general computation • Moves in a controllable pattern, e.g. • Sweep the plane in a regular pattern • Pseudorandom walk • Implement on top of physical nodes that move in unpredictable/uncontrollable ways • How? A VMN is replicated at a set of physical nodes that changes as the nodes move in and out of the VMN’s path. Discrete Algs for Mobile Wireless Sys

  43. Physical Network Assumptions • Physical mobile nodes • (Untimed) I/O automata • Move arbitrarily, fail/recover • Geo-updates • Unique identifiers • Communication: • Reliable local broadcast service. Discrete Algs for Mobile Wireless Sys

  44. More on Communication • Physical mobile nodes communicate using a physical broadcast service. • Simplifying assumptions: • Every node that remains within distance Rphys of sender receives the message • Upper bound d on delivery time • Strong abstraction of wireless broadcast with a small number of retries. Discrete Algs for Mobile Wireless Sys

  45. VMN Abstraction • A VMN has some local state (its code is provided by application designer) • A VMN communicates with other entities, called clients; a client can be a physical mobile node or other VMN • Communication is through a virtual broadcast service, similar to the physical one: • radius Rvirt • Might repeat, reorder msgs even if physical bcast does not Discrete Algs for Mobile Wireless Sys

  46. Simple Idea to Simulate a VMN • Use an “agent”, a dynamic process that jumps from physical node to physical node in the direction specified by the VMN path • Generalization of, e.g., Nath & Nicolescu, where moving entity is an arbitrary process instead of a message • Drawback: not robust if current host fails or next part of VMN path is not populated by a physical node. • Our solution: Use replication. Discrete Algs for Mobile Wireless Sys

  47. Replicating a VMN • Define the mobile point to be circular region of radius Rmp that moves on the VMN path: at time t, the center of the mobile point is the position of the VMN • Every physical node that is within the mobile point’s current region replicates the state of the VMN and participates in the simulation protocol. • Each participating physical node keeps a copy of the VMN’s state. Discrete Algs for Mobile Wireless Sys

  48. Keeping Replicas Consistent • Replicas are kept consistent by exchanging messages concerning the actions to perform on the replicated state using a totally ordered (TO) broadcast service. • Use standard techniques to implement the TO-bcast: • Each msg to be TO-sent has a unique timestamp (clock time, sender id) • Timestamped msg is sent using physical bcast • After msg is received, it is not eligible to be delivered (by the TO bcast service) until > d time after it was sent • Deliver eligible msgs in timestamp order Discrete Algs for Mobile Wireless Sys

  49. Properties of TO-bcast Assume Rphys > 2*Rmp + d*vmax. Then • Msgs are TO-recv’d in the order sent, breaking ties by sender id. • If a physical node in the mobile point TO-sends a msg, then every physical node that stays in the mobile point sufficiently long receives the message (exactly once). Discrete Algs for Mobile Wireless Sys

  50. VMN Simulation • Based on Lamport’s replicated state machine technique (1978), augmented to support joins, leaves, failure, recovery • One VMN simulation process per physical node • Collection of simulation processes, physical bcast, and TO-bcast together will simulate VMN and virtual bcast • Assumption: VMN’s path is fixed and known; thus so is mobile point’s. Discrete Algs for Mobile Wireless Sys