Presentation is loading. Please wait.

Presentation is loading. Please wait.

7/9/2007 AIIT Summer Course - D# 1 Wireless Embedded Systems and Networking Foundations of IP-based Ubiquitous Sensor Networks Self-Organized Multihop.

Similar presentations


Presentation on theme: "7/9/2007 AIIT Summer Course - D# 1 Wireless Embedded Systems and Networking Foundations of IP-based Ubiquitous Sensor Networks Self-Organized Multihop."— Presentation transcript:

1 7/9/2007 AIIT Summer Course - D# 1 Wireless Embedded Systems and Networking Foundations of IP-based Ubiquitous Sensor Networks Self-Organized Multihop Routing David E. Culler University of California, Berkeley Arch Rock Corp. July 9, 2007

2 7/9/2007AIIT Summer Course - D#2 WSN Communication Requirements Local neighbor communication (1 to few) Dissemination (1 to many) Data Collection and Aggregation (many to 1) Point-to-point Transfers (1 to 1) Reliably over lossy links At low power –Idle listening, management, monitoring Adapting to changing conditions With very light memory footprint

3 7/9/2007AIIT Summer Course - D#3 Classical View of Routing Connectivity between nodes defines the network graph. –Topology formation A Routing algorithm determines the sub-graph that is used for communication between nodes. –Route formation, path selection Packets are forwarded from source to destination over the routing subgraph –At each node in the path, determine the recipient of the next hop The selection at each hop is made based on the information at hand –Sender address, current address, destination address, information in the packet, information on the node. –Table-driven, source based, algorithmic, … –Who knows the route? Do you determine it as you go?

4 7/9/2007AIIT Summer Course - D#4 Basic Approaches Link state –Nodes shout (send) and listen (receive) to determine neighbor connectivity. –Each floods this information throughout (Link State Advertisement) so every node has a map (Link state data base) of the network. –Any node can determine the path or the next hop. –management protocol deals with changes in connectivity –Classic Example: OSPF Distance vector –Nodes maintain routing information about “distance” and “direction” to destinations –Choose next hop by comparing the cost of routing through neighbors »Cost(dest D, neighbor b) = linkCost(b) + pathCost(b,D) –Management propagates routing information »Sequence numbers, etc. –Classic Example: RIP

5 7/9/2007AIIT Summer Course - D#5 What’s different in WSN? There is no a priori network graph –It is discovered by sending packets and seeing who receives them. –The link relationship is not binary. »pairs of nodes communicate with some probability that is determined by many of factors. –It is not static. The embedding of the “network” in space is important. –Need to get information to travel between particular physical places. –But the “communication range” is not a simple function of distance. addressing & naming –Flat EUID? Hierarchical IP? Topologically meaningful? Spatially meaningful?

6 7/9/2007AIIT Summer Course - D#6 Topology Formation Much of the “paper protocols” define connectivity graph with unit disk model –Link(A,B) iff dist(A,B) ≤ R OK for rough calculations, but not for protocol design –Nearby nodes may not be able to communicate. –Far away nodes may be able to communicate. –Nodes that communicated in the past may not be able to communicate in the future. –Nodes may have intermittent communication depending on external factors. Connectivity is determined by communication –If B receives packet reasonably reliably from A, then A  B –If A receives packet reasonably reliably from B, then A  B –And if both are true, A  B R

7 7/9/2007AIIT Summer Course - D#7 Wireless Routing Protocols Many wireless protocols in the IP context have been development in the IETF MANET (Mobile Ad Hoc Networking) working group in the context of 802.11 links carrying traditional TCP/IP point-to- point traffic. –AODV – ad hoc on-demand distance vector –OLSR – Optimized link state Routing –DSDV - Destination Sequenced Distance Vector –DSR – Dynamic Source Routing –TDRPF - Topology Dissemination Based on Reverse-Path Forwarding Assume a fairly “classic” view of connectivity –Naïve radio

8 7/9/2007AIIT Summer Course - D#8 Neighbor Communication 0 1 1

9 7/9/2007AIIT Summer Course - D#9 Fundamental Primitive Transmit to whatever receivers happen to hear it This is the fundamental primitive that is buried underneath complex protocols like Bluetooth, but not made available. It is what make it possible to build higher level protocols on the link, especially IP. To determine connectivity, –Local broadcast –Respond –on-going protocol to estimate quality of the link »Packet reliability (sequence numbers, acks) Note 802.15.4 acks only from a specific destination »RSSI, LQI, …

10 7/9/2007AIIT Summer Course - D#10 Simple Address-Free Flooding Protocol Root broadcasts a “new” message to local neighborhood Each node performs a simple rule if (“new” incoming msg) then take local action retransmit modified msg No underlying routing structure required –The connectivity over physical space determines it.

11 7/9/2007AIIT Summer Course - D#11 Route-Free “Flood” 0 1 1

12 7/9/2007AIIT Summer Course - D#12 Flooding Route free dissemination is extremely useful in its own right –Issue commands –Network-wide discovery –Join, … It is also the network primitive that most “ad hoc” protocols used to determine a route –Flood from source till destination is reached. –Each node records the source of the flood packet »This is the parent in the “routing tree” –Reverse the links to form the path back

13 7/9/2007AIIT Summer Course - D#13 Data Collection 0 1 1 2 2 2 2 2

14 7/9/2007AIIT Summer Course - D#14 Multihop Routing Upon each transmission, one of the recipients retransmits –determined by source, by receiver, by … –on the ‘edge of the cell’

15 7/9/2007AIIT Summer Course - D#15 The Problems Flood causes tremendous contention –Many good links missed because of collistions –Huge amount of noise Many links are not symmetric

16 7/9/2007AIIT Summer Course - D#16 Flood Dynamics Experimental Setup –13x13 grid of nodes –separation 2ft –flat open surface –Identical length antennas, pointing vertically upwards. –Fresh batteries on all nodes –Identical orientation of all nodes –The region was clean of external noise sources. Range of signal strength settings Log many runs Ganesan, Krishnamachari, Woo, Culler, Estrin and Wicker, Complex Behavior at Scale: An Experimental Study of Low-Power Wireless Sensor Networks, UCLA Computer Science Technical Report UCLA/CSD-TR 02-0013Complex Behavior at Scale: An Experimental Study of Low-Power Wireless Sensor Networks

17 7/9/2007AIIT Summer Course - D#17 Final Tree

18 7/9/2007AIIT Summer Course - D#18 Factors Long asymmetric links are common –Many children Nodes out of range may have overlapping cells –hidden terminal effect Collisions => these nodes hear neither ‘parent’ –become stragglers As the tree propagates –folds back on itself –rebounds from the edge –picking up these stragglers. Redundancy –Geometric overlap => <41% additional area Ni, S.Y., Tseng, Y.C., Chen, Y.S., Sheu, J.P.: The broadcast storm problem in a mobile ad hoc network. MobiCom'99The broadcast storm problem in a mobile ad hoc network

19 7/9/2007AIIT Summer Course - D#19 Robust Tree Building & Dissemination Grow the tree slowly Avoid Contention at every transmission Avoid Redundant Transmissions Adapt to huge range of density Make sure it eventually gets to everyone –Even if they are not listening –Or arrive late With very simple mechanism

20 7/9/2007AIIT Summer Course - D#20 Selective Retransmission Schemes Probabilistic Retransmission –Fixed prob. –What would be the right choice? Counter –When hear msg, start random delay –If hear C msgs during wait, don’t retransmit Distance –If nearest node from which msg is heard is less than some threshold, don’t retransmit Location –If portion of cell not covered by transmitting neighbors is less than some threshold, don’t retransmit Cluster-based –Partition graph into cluster heads, gateways, and members –Members don’t transmit

21 7/9/2007AIIT Summer Course - D#21 Adaptive BCAST rate Upon first msg –Start random delay –If new msg arrives during delay »Filter message (eg., discard if signal strength below threshold) »If passes filter, Utilize message »Start new delay Upon expiration of delay –Complete local processing »E.g., pick lowest depth node with strongest signal as parent –Retransmit Delay is proportion to cell density –Wait till ngbrs go quiet before transmit –=> Approx uniform transmissions per unit area, regardless of node density Exploit long links when appropriate

22 7/9/2007AIIT Summer Course - D#22 Trickle – better than flood Want the communication rate per unit area to be constant, regardless of the density of nodes –Lots of nodes, transmit infrequently –Few node, transmit more frequently Nodes listen before transmitting Estimate density based on how many nodes you hear from –Arrival during timer wait extends timer If new value is disseminated by others, no need for you to transmit it. Increase delay over time so ambient rate approaches zero. Shorten delay when new epoch appears.

23 7/9/2007AIIT Summer Course - D#23 Collection Common use: monitoring –Collection of nodes take periodic samples –Stream data towards a root node Builds and maintains trees Root announces interest –depth = 0 Nodes listen When hear ‘neighbor’ with smaller depth –start transmitting data to “best” lower neighbor –set own depth to one greater (and include with data) Data transmission continuously reinforces & adjusts routes Aggregation within nodes or within the tree

24 7/9/2007AIIT Summer Course - D#24 Building Neighborhoods & Routes Node transmits to some unknown set Candidate nbrs are sources of incoming packets Estimate of inbound link reliability Occasionally announce inbound link states –Provides reverse link estimate to outbound neighbors –Basis for cost-based routing Cost-based Parent Selection –depth(me) = MIN nbr(me) depth(i) –loss(me) = MIN nbr(me) loss(i)*est(me,i) –trans(me) = MIN nbr(me) trans(i)+etrans(me,i) What about nbrs that don’t fit in the table? –FIFO, LRU, Frequency Taming the Challenges of Reliable Multihop Routing in Sensor Networks, Alec Woo and David Culler, SenSys. 2003.

25 7/9/2007AIIT Summer Course - D#25 Pragmatics Maintain at least two (preferably three) candidate parents –Link level retransmission and rerouting –Use acks to determine quality of the link –Throw in a new candidate from time to time. Do not record list of children –Insufficient memory to build the table. Route update message on a trickle schedule

26 7/9/2007AIIT Summer Course - D#26 Question For such distance-vector dags, what pattern of node movement is most difficult?

27 7/9/2007AIIT Summer Course - D#27 Epidemic NW protocols Goal: scalable, robust communication algorithms that adapt to changing conditions with little state or protocol Basic operation: –From time to time (based on local state and what you’ve heard) transmit a packet of information to whomever hears the message –From time to time, hear a packet which causes an update to local state –Continuous process to ensure full reliability Adapt to density, coverage, interference, loss, schedule, …

28 7/9/2007AIIT Summer Course - D#28 Robust OTA Programming Every byte must (eventually) be correctly received by all nodes! Reliable Pipelined Epidemic Distribution of series of pages –Constrained storage hierarchy »Packet (32 bytes) << RAM (4K) << program (128K) < external flash (512K) –Lossy links, Critical Contention –Density-aware –Robust to asymmetric links –Dynamic adjustment of advertisements –Minimize set of concurrent data broadcasts –Spatial multiplexing Page Advertise, Request/Fix, Xfer –Density-aware suppression and snoop on each Packet CRC + Page CRC 159 Byte memory footprint flash … Maintain Request Transmit

29 7/9/2007AIIT Summer Course - D#29 OTA Programming Learn about the environment after deployment –sensing range, network characteristics, etc.

30 7/9/2007AIIT Summer Course - D#30 OTA Programming Learn about the environment after deployment –sensing range, network characteristics, etc.

31 7/9/2007AIIT Summer Course - D#31 OTA Programming Learn about the environment after deployment –sensing data, network characteristics, etc. Embedded nature of sensor networks Network scales reaching thousands of nodes A necessity in debugging and testing cycle

32 7/9/2007AIIT Summer Course - D#32 What is Deluge? A reliable data dissemination protocol for program images over a multihop network. Combined with a bootloader (TOSBoot)  Network Programming 01010 10101 01010 10110 10101 10101 01010 10101 Program

33 7/9/2007AIIT Summer Course - D#33 Data Representation Program divided into pages, each consisting of N packets. 101 110 010 000 101 111 000 011 Program Packets 1234N Reduced RAM requirements Allows for spatial multiplexing

34 7/9/2007AIIT Summer Course - D#34 How Does Deluge Work? (Glossing over many details) Nodes periodically advertise –Suppress similar advertisements Version 2 here. I only have version 1.

35 7/9/2007AIIT Summer Course - D#35 How Does Deluge Work? (Glossing over many details) Neighboring nodes request data –Suppress similar requests Send me page 1!

36 7/9/2007AIIT Summer Course - D#36 How Does Deluge Work? (Glossing over many details) Requested data is broadcast Packet 12 of page 1!

37 7/9/2007AIIT Summer Course - D#37 How Does Deluge Work? (Glossing over many details) Dropped packets are NACKed Repeat packet 4 of page 1! Repeat packet 32 of page 1!

38 7/9/2007AIIT Summer Course - D#38 How Does Deluge Work? (Glossing over many details) Dropped packets are sent again Packet 4 of page 1!

39 7/9/2007AIIT Summer Course - D#39 How Does Deluge Work? (Glossing over many details) Advertise for propagation to next hop Version 2 here. I only have version 1.

40 7/9/2007AIIT Summer Course - D#40 Spatial Multiplexing Propagate in “waves” Exploit limited radio range for concurrent broadcasts. Reduced completion time o(d + S obj ) vs. o(d * S obj ) Page 0Page 1

41 7/9/2007AIIT Summer Course - D#41 Epidemic Propagation Epidemic propagation from one source

42 7/9/2007AIIT Summer Course - D#42 Epidemic Propagation Epidemic propagation from one source or many

43 7/9/2007AIIT Summer Course - D#43 Deluge Features Epidemic propagation from one source or many –Continuous propagation effort by all nodes –Turn on/off radios at will –Reach nodes with intermittent connectivity  Will find a path if it exists Aggressive message suppression –Scales with density –Ultra low quiescent traffic

44 7/9/2007AIIT Summer Course - D#44 Deluge Features Management –Multiple program images –Image metadata –User confirmation on expensive operations »Minimize operator error Robustness –Redundant CRCs –Golden Image with write protect –Load Golden Image »Watchdog trigger »Golden gesture TOSBoot –TOSBoot as isolated code –Verify CRCs –Verify system voltage 01010 10101 01010 10110 10101 10101 01010 10101 ProgAProgBProgC Program Name Compile Time UserID Hostname Platform CRASH! CRC 01010 10101 01010 10110 10101 10101 01010 10101

45 7/9/2007AIIT Summer Course - D#45 Deluge - Lessons Learned Advantages –Ease of reprogramming 100’s-1000’s of nodes –Does not erase node IDs –Golden Image is immensely useful –Quickly switch between images –More reliable than uisp or msp430-bsl –Deluge over 802.15.4 more efficient that 802.11! Disadvantages –Ease of reprogramming 100’s-1000’s of nodes

46 7/9/2007AIIT Summer Course - D#46 Integrated, Density-Aware Dissemination and Collection Drip – packet dissemination layer GW Trickle neighborhood suppression lowers bandwidth requirements Trickle exponential retransmission creates epidemic reliability Provides “transport-layer” interface Drain – packet collection layer GW 802.15.4 LQI for link estimation Gateway initiates the tree-build Fast, minimal RAM, evolvable Reliability from link-layer ACKs and exponential retry with long window PC 802.11


Download ppt "7/9/2007 AIIT Summer Course - D# 1 Wireless Embedded Systems and Networking Foundations of IP-based Ubiquitous Sensor Networks Self-Organized Multihop."

Similar presentations


Ads by Google