ABSTRACTIONS FOR WIRELESS NETWORKS Nancy Lynch WRAWN 2016
ABSTRACTIONS FOR WIRELESS NETWORKS Nancy Lynch WRAWN 2016 July, 2016 Chicago, Illinois
1. Introduction • Wireless networks are now everywhere. • We need good algorithms to solve problems in wireless networks: • Solve basic communication problems: Local and global broadcast, point-to-point communication • Provide auxiliary services: Spanning trees and overlay networks, consensus • Implement applications: Data management, coordination, control • But wireless networks are hard to program: • Unknown set of participants, • Nodes may join, leave, fail, recover • Mobility • Local broadcast communication, geographical constraints • Collisions, contention
It’s not as easy as it might seem…
We need abstraction layers! • This talk: Two abstraction layers we have studied: • Virtual Node layers • High level • Provide mobile nodes, stationary Virtual Nodes, reliable local broadcast communication. • Assumes platform with mobile nodes, reliable communication. • Abstract MAC (Reliable Local Broadcast) layers • Lower level • Provide mobile nodes, reliable local broadcast communication. • Assumes mobile nodes, unreliable communication (message collisions, losses).
2. Virtual Node Layers Matthew Brown, Shlomi Dolev, Seth Gilbert, Nancy Griffeth, Limor Lahiani, Nancy Lynch, Sayan Mitra, Calvin Newport, Tina Nolte, Elad Schiller, Alex Shvartsman, Mike Spindel, Jennifer Welch, Jiang Wu
Virtual Node Layers • Assumes a platform with: • An unknown set of mobile Physical Nodes (PNs) • PNs may join, leave, fail, recover • Local broadcast communication • Reliable communication---no collisions or contention. Application Virtual Node Layer • Provides an abstraction layer for writing algorithms and applications, consisting of: • Virtual Nodes (VNs), simple, reliable state machines at fixed geographical locations, • Mobile Client Nodes (CNs), analogous to physical nodes, and • A Local Broadcast service for CNs and VNs.
Virtual Node Layer
Using a VN Layer: Communication • Gathering and distributing data • Point-to-point message routing between Client Nodes [Nolte Ph. D thesis 09] • Uses three sub-algorithms: • Geographical message routing (Geocast) • Client Node location service • Point-to-point message routing between Client Nodes. • Based on Geocast routing + location service. • Self-stabilizes: First Geocast, then location service, then routing.
Using a VN Layer: Data Management • Geoquorums [Dolev, Gilbert, Lynch, Shvartsman, Welch 03] • Implements atomic read/write memory in a mobile network. • Store copies of each data object at a collection of VNs. • Access an object using an [Attiya, Bar-Noy, Dolev]-style algorithm, running on the VNs. • Simple 2 -phase implementations of operations, using quorums of VNs. • Simple recovery protocol for VNs.
Using a VN Layer: Coordination • VNs can coordinate nearby Client Nodes. • Robot motion coordination • Transportation: • Virtual Traffic Lights (VTLs) • Virtual Air-Traffic Controllers (VATCs)
Virtual Traffic Lights (VTLs) • [Brown, Gilbert, Lynch, Newport, Nolte Spindel 07] • Virtual Traffic Light, for an intersection without an actual traffic light. • Computers in cars can emulate a VN, which is programmed to act like a traffic light. • Any policy, e. g. , 30 seconds in each direction. • Car sees just red or green light on local display. • VTL dies when no cars are around; OK because then we don’t need a traffic light.
Virtual Air-Traffic Controllers (VATCs) • [Brown, MEng thesis 07] • Aircraft in regions of airspace without ground-based controllers, e. g. , over the ocean. • Need algorithm for arbitrating access to regions. • Computers on the aircraft can emulate VNs in the regions, programmed to behave like human ATCs. • VATC dies when no aircraft are in the region; OK because then we don’t need an ATC.
Robot Coordination • [Gilbert, Lynch, Mitra, Nolte 09] • Given a curve in a planar area, robots at arbitrary locations, move the robots so they are evenly spaced on the curve. • Divide the area into regions, one VN per region. • Robots emulate the VNs. • VN in a region coordinates robots in its region: • Directs robots to space themselves evenly on the curve. • Communicates with neighboring VNs, sends extra robots to neighboring regions. • Self-stabilizing
Emulating a VN layer • [Nolte Ph. D 09] • Each Client Node is emulated by a Application Virtual Node Layer corresponding Physical Node. • Each Virtual Node is emulated by the Physical Nodes near its location, using a Lamport-style Replicated State Machine approach: • Each PN keeps a copy of the VN state. • PNs perform the same actions, in the same order, on their copies. • Maintains consistency of the emulation. • Self-stabilizing • Emulation + application is also self-stabilizing: first VN Layer emulation stabilizes, then the application.
Remaining work on VN layers • Find other applications for VN layers in building applications for wireless networks. Practical ones? • Dealing with message collisions and losses: • Our VN emulation algorithms generally assume reliable network platforms. • What about less reliable networks? • [Gilbert, Ph. D thesis] designed a VN layer emulation over a less reliable theoretical radio network model. • [Wu, Ph. D thesis] developed a VN layer simulation over NS-2, used it to implement AODV wireless network communication. • Difficult, delicate work…which motivates another abstraction:
3. Abstract MAC Layers Alejandro Cornejo, Mohsen Ghaffari, Bernhard Haeupler, Magnus Halldorsson, Stephan Holzer, Erez Kantor, Majid Khabbazian, Darek Kowalski, Fabian Kuhn, Nancy Lynch, Muriel Medard, Calvin Newport, Ali Parandeh-Gheibi, Mira Radeva, Srikanth Sastry, Sarah Viqar, Jennifer Welch bcast rcv ack bcast Abstract MAC Layer rcv ack
Abstract MAC Layers • Assumes a platform with: • An unknown set of possibly mobile Physical Nodes • Nodes may join, leave, fail, recover • Local broadcast communication • Unreliable communication---message collisions, losses. • Provides a Reliable Local Broadcast service, masking collisions and losses, encapsulating contention management. • Delivers messages to all neighbors, ack to sender after all neighbors have received its latest message. • Ack bound rcv • Progress bound, on the bcast ack bcast time to receive some message when at least Abstract MAC Layer one neighbor is sending. rcv ack
Why two time bounds? •
Radio Network Model •
Decay algorithm •
Global single-message broadcast using Decay •
Global broadcast using an Abstract MAC layer •
Varieties of Abstract MAC layers • bcast rcv ack bcast Abstract MAC Layer rcv ack
General Goal: Use Abstract MAC layers to decompose wireless network algorithms • Design algorithms to solve higher-level problems over Abstract MAC layers. • Design algorithms to implement Abstract MAC layers over collisionprone networks. • Combine to get algorithms to solve higher-level problems over collisionprone network models. High-level Algorithm Abstract MAC Layer Implementation Physical Network • Masks collisions within the abstraction layer. • Designers of higher-level algorithms don’t need to worry about contention management.
Solving problems over Abs. MAC layers •
Other problems over Abs. MAC Layers • Static, mainly theoretical problems: • Leader election [Sastry, Radeva, Lynch 12] • Computing MISs? Connected dominating sets? Other graph structures? • Consensus [Newport 15] • Computing functions of nodes’ inputs? • Dynamic, possibly more practical problems: • Neighbor Discovery in mobile networks [Cornejo, L, Viqar, Welch 10] • Computing and maintaining graph structures in mobile networks? • Computing functions of nodes’ inputs in mobile networks? rcv • Robot coordination? bcast ack • Implementing Virtual bcast rcv ack Node Layers? Abstract MAC Layer
Implementing Abs. MAC layers • For Radio Networks: Decay-style probabilistic transmission algorithms • [Khabbazian, Kowalski, Kuhn, Lynch 10] • [Ghaffari, Haeupler, Lynch, Newport 12] • [Lynch, Newport PODC 15] • For platforms that support network coding: • Analog Network Coding (ANC) [Khabbazian, Kuhn, Lynch, Medard, Parandeh-Gheibi 10] • Bounded-Contention Coding [Censor-Hillel, Haeupler, Lynch, Medard 12] • For SINR platforms: • [Halldorsson, Holzer, Lynch PODC 15]
Combining algorithms • Combine algorithms over an Abstract MAC layer with algorithms High-level Algorithm that implement the layer. • In this way, get efficient algorithms Abstract MAC Layer for many problems over radio Implementation networks, coding networks, SINR networks. Physical Network • Prove bounds on costs of combined algorithms as corollaries of bounds for the high-level and low-level algorithms. • Compositional probabilistic analysis, can be tricky.
Remaining work on Abstract MAC layers • Develop new versions of Abs. MAC layers: • Probabilistic and worst-case, with and without uncertainty. • Synchronous and asynchronous. • Allowing duplicate deliveries. • Design many simple, efficient algorithms over the layers. • Design simple, efficient algorithms to implement the layers, over various wireless platform models. • Fit the pieces together carefully. bcast rcv ack bcast Abstract MAC Layer rcv ack High-level Algorithm Abstract MAC Layer Implementation Physical Network
4. Discussion • Remaining work on VN Layers: • More applications, for communication, data-management, and control. • More implementations, over different lower-level platforms. • Remaining work on Abs. MAC layers: • New layer variants. • More applications. • More implementations over different wireless network platforms. • Q: How do these two abstractions fit together? Can we implement an efficient VN layer over an Abs. MAC layer?
Discussion High-level Algorithm • VN Layer Implementation Abstract MAC Layer Implementation Physical Network
Discussion • So assume that we can implement an efficient VN layer over an Abs. MAC layer. • Q: Then what higher-level algorithms and applications can we build in this way? With what costs? • Abstraction layers such as Abs. MAC layers and VN layers form key parts of a general theory of algorithms for wireless networks, spanning from physical models to applications. High-level Algorithm VN Layer Implementation Abstract MAC Layer Implementation Physical Network • Q: What other abstraction layers might be useful parts of such a theory?
Thank you!
- Slides: 34