Transcript Slide 1
Centre for Wireless Communications Wireless Ad Hoc & Sensor Networks Nordic Radio Symposium 2004 August 16 – 18, 2004 University of Oulu, Finland Presenter: Carlos Pomalaza-Ráez [email protected] http://www.ee.oulu.fi/~carlos/NRS_04_Tutorial.ppt Outline Mobile Ad Hoc Networks (MANETs) Main features Very brief discussion of graph theory, shortest path algorithms, and routing algorithms Wireless Sensor Networks Main features Energy model WSN protocols Final Words Mobile Ad Hoc Networks (MANET) A loose collection of mobile nodes that are capable of communicating with each other without the aid of any established infrastructure or centralized administration Main Features Dynamic topology Each node acts as an independent router Because of the wireless mode of communication: Bandwidth-constrained and variable capacity links Limited transmitter range Energy-constrained Limited physical security MAC and network protocols are of a distributed nature Complex routing protocols with large transmission overheads and large processing loads on each node Dynamic Topology Node mobility has a great effect on the designing of routing protocols Node mobility creates a dynamic topology, i.e., changes in the connectivity between the nodes Mobility in Ad Hoc Networks Dynamic Routing Route Maintenance Graph Theory Application to MANETS Networks can be represented by weighted graphs The nodes are the vertices The communication links are the edges Edge weights can be used to represent metrics, e.g. cost associated with the communication links 1 5 8 Vertices 4 10 Edges 2 Weights Routing protocols often use shortest path algorithms Shortest Path Algorithms Assume non-negative edge weights Given a weighted graph and a node s, a shortest path tree T rooted at s is a tree such that, for any other node v, the path between s and v in T is a shortest path between the nodes 2 2 3 5 1 2 6 2 6 3 1 2 2 4 Graph 4 Shortest Path Spanning Tree rooted at vertex 1 Examples of the algorithms that compute these shortest path trees are Dijkstra and Bellman-Ford algorithms Distributed Asynchronous Shortest Path Algorithms Each node computes the path with the shortest weight to every network node There is no centralized computation Control messaging is required to distribute the computation Asynchronous means here that there is no requirement of inter-node synchronization for the computation performed at each node for the exchange of messages between nodes Routing Protocols Desired Properties Distributed Consider both uni- and bi-directional links Energy efficient Secure Performance Metrics Data throughput Delay Overhead costs Power consumption Proactive vs. Reactive Proactive routing maintains routes to every other node in the network Reactive routing maintains routes to only those nodes which are needed Regular routing updates impose large overheads Cost of finding routes is expensive since flooding is involved Suitable for high traffic networks Good for low/medium traffic networks AODV – Path Finding neighbors re-broadcast the packet until it reaches the intended destination source broadcasts a route request packet S A B C reply packet follows the reverse path of the route request packet recorded in broadcast packet H D RREP G D node discards packets that have been seen E F node discards packets that have been seen Traditional Routing Protocols Source Consider several routes Find the best Then use it as much as possible Problems Energy depletion in certain nodes Not suitable for Wireless Sensor Networks Destination Wireless Sensor Networks What is a sensor? A device that produces a measurable response to a change in a physical or chemical condition, e.g. temperature, ground composition Sensor Networks A large grouping of low-cost, low-power, multifunctional, and small-sized sensor nodes They benefit from advances in 3 technologies: • digital circuitry • wireless communication • silicon micro-machining Wireless Sensor Networks (WSNs) New technologies have reduced the cost, size, and power of micro-sensors and wireless interfaces Circulatory Net Environmental Monitoring Sensing Networking Computation Structural Some Applications of WSNs Battlefield Detection, classification and tracking Examples: AWAIRS (UCLA & Rockwell Science Center) Habitat Monitoring Micro-climate and wildlife monitoring Examples: ZebraNet (Princeton) Seabird monitoring in Maine’s Great Duck Island (Berkeley & Intel) Some Applications of WSNs Structural, seismic Bridges, highways, buildings Examples: Coronado Bridge San Diego (UCSD), Factory Building (UCLA) Smart roads Traffic monitoring, accident detection, recovery assistance Examples: ATON project (UCSD) highway camera Contaminants detection Examples: Multipurpose Sensor Program (Boise State University) microphone WSN Communications Architecture Sensing node Sensor nodes can be data originators and data routers Internet Sink Manager Node Sensor nodes Sensor field Examples of Sensor Nodes Sensor Node Evolution Mote Type Date WeC Rene Rene2 Dot Mica Sep-99 Oct-00 Jun-01 Aug-01 Feb-02 Microcontroller (4MHz) Type Prog. mem. (KB) RAM (KB) AT90LS8535 ATMega163 ATMega103/128 8 16 128 0.5 1 4 Communication Radio Rate (Kbps) Modulation Type RFM TR1000 10 10/40 OOK OOK/ASK Typical Features of WSNs A very large number of nodes Asymmetric flow of information Communications are triggered by queries or events At each node there is a limited amount of energy Almost static topology Low cost, size, and weight per node Prone to failures Broadcast communications instead of point-to-point Nodes do not have a global ID such as an IP number Limited security Design Considerations Fault tolerance – The failure of nodes should not severely degrade the overall performance of the network Scalability – The mechanism employed should be able to adapt to a wide range of network sizes (number of nodes) Cost – The cost of a single node should be kept very low Power consumption – Should be kept to a minimum to extend the useful life of network Hardware and software constraints – Sensors, location finding system, antenna, power amplifier, modulation, coding, CPU, RAM, operating system Topology maintenance – In particular to cope with the expected high rate of node failure Deployment – Pre-deployment mechanisms and plans for node replacement and/or maintenance Environment – At home, in space, in the wild, on the roads, etc. Transmission media – ISM bands, infrared, etc. Sensor Network Traditional Protocol Stack Data Link Physical Task Management Network Mobility Management Transport Power Management Application Power Management – How the sensor uses its power, e.g. turns off its circuitry after receiving a message Topology Management – Detects and registers changes in the positions of the nodes Task Management – Balances and schedules the sensing tasks given to a specific region Physical Layer Frequency selection ISM bands have often been proposed Carrier frequency generation and signal detection Aim for simplicity, low power consumption, and low cost per unit Modulation Binary modulation schemes are simpler to implement and thus deemed to be more energy-efficient for WSN applications Low transmission power and simple transceiver circuitry make Ultra Wideband (UWB) an attractive candidate Application Transport Network Data Link Physical Physical Layer Energy consumption minimization is of paramount importance when designing the physical layer for WSN in addition to the usual factors such as scattering, shadowing, reflection, diffraction, multipath, and fading Energy Limitations Each sensor node has limited energy supply Nodes may not be rechargeable Energy consumption in Sensing Data processing Communication (most energy intensive) Power (mW) 20 15 10 5 0 Sensing CPU TX RX IDLE SLEEP Power consumption of a typical node’s subsystems CWC WIRO (WIreless Research Object ) CPU Board 2 Euro coin & RF Board WIRO Box RF Board Tx Rx Sleep CPLD 3mA/3.3V 9.9mW 3mA/3.3V 9.9mW 0.01mA/3.3V 0.033mW RF-Transceiver 10mA/3.3V 33mW 5.8mA/3.3V 19mW 0.7μA/3.3V 0.0023mW Other Circuitry 0.5mA/5V 2.5mW 0.5mA/5V 2.5mW 0.5mA/5V 2.5mW RF Board Total Power Consumption Power (mW) 50 40 45.5 30 20 10 0 Tx 31.5 Rx Sleep 2.5 Node Energy Model A typical node has a sensor system, A/D conversion circuitry, DSP and a radio transceiver. The sensor system is very application dependent. The communication components consume most of the energy. A simple model for a wireless link is: Energy Model The energy consumed when sending a packet of m bits over a one hop wireless link can be expressed as: Transmitter E L ( m , d ) E T ( m , d ) PT T st E encode Receiver E R ( m ) PR T st E decode where, ET = energy used by the transmitter circuitry and power amplifier ER = energy used by the receiver circuitry PT = power consumption of the transmitter circuitry PR = power consumption of the receiver circuitry Tst = startup time of the transceiver Eencode = energy used to encode Edecode = energy used to decode Energy Model Assuming a linear relationship for the energy spent per bit at the transmitter and receiver circuitry ET and ER can be written as, E T ( m , d ) m e TC e TA d E R ( m ) me RC where eTC, eTA, and eRC are hardware dependent parameters and α is the path loss exponent whose value varies from 2 (for free space) to 4 (for multipath channel models). The effect of the transceiver startup time, Tst, will greatly depend on the type of MAC protocol used. To minimize power consumption it is desirable to have the transceiver in a sleep mode as much as possible. However, constantly turning the transceiver on and off to bring it to readiness for transmission or reception also consumes energy. Energy Model An explicit expression for eTA can be derived as(†), e TA S 4 ( NF Rx )( N 0 )( BW ) N r ( G ant )( am p )( R bit ) Where, (S/N)r = minimum required signal-to-noise ratio at the receiver’s demodulator for an acceptable Eb/N0 NFRx = receiver noise figure N0 = thermal noise floor in a 1 Hertz bandwidth (Watts/Hz) BW = channel noise bandwidth λ = wavelength in meters α = path loss exponent Gant = antenna gain ηamp = transmitter power efficiency Rbit = raw bit rate in bits per second (†) P. Chen, B. O’Dea, E. Callaway, “Energy Efficient System Design with Optimum Transmission Range for Wireless Ad Hoc Networks,” IEEE International Conference on Comm. (ICC 2002), Vol. 2, pp. 945-952, 28 April -2 May 2002, pp. 945-952. Energy Model The expression for eTA can be used for those cases where a particular hardware configuration is being considered. The dependence of eTA on (S/N)r can be made more explicit if the previous equation is written as: e TA S N r ( NF Rx wh ere 4 )( N 0 )( BW ) ( G ant )( am p )( R bit ) This expression shows explicitly the relationship between eTA and (S/N)r. The probability of bit error p depends on Eb/N0 which in turns depends on (S/N)r. Eb/N0 is independent of the data rate. In order to relate Eb/N0 to (S/N)r, the data rate and the system bandwidth must be taken into account, i.e., Energy Model S N r E b N 0 R B T b R B T where Eb = energy required per bit of information R = system data rate BT = system bandwidth γb = signal-to-noise ratio per bit, i.e., (Eb/N0) Typical Bandwidths for Various Digital Modulation Methods Modulation Method Typical Bandwidth (Null-To-Null) QPSK, DQPSK 1.0 x Bit Rate MSK 1.5 x Bit Rate BPSK, DBPSK, OFSK 2.0 x Bit Rate Energy Model Power Scenarios Two possible power scenarios are: Variable transmission power. In this case the radio dynamically adjusts its transmission power so that (S/N)r is fixed to guarantee a certain level of Eb/N0 at the receiver. The transmission energy per bit is given by: e TA d S d N r Since (S/N)r is fixed at the receiver this also means that the probability p of bit error is fixed at the same value for each link. Energy Model Fixed transmission power. In this case the radio uses a fixed power for all transmissions. This case is considered because several commercial radio interfaces have a very limited capability for dynamic power adjustments. In this case eTA d is fixed to a certain value (ETA) at the transmitter and the (S/N)r at the receiver will then be: E TA S d N r Since for most practical deployments d is different for each link, then (S/N)r will also be different for each link. This translates to a different probability of bit error for each wireless hop. Energy Consumption - Multihop Network Consider the following linear sensor array To highlight the energy consumption due only to the actual communication process; the energy spent in encoding, decoding, as well as on the transceiver startup is not considered in the analysis that follows Energy Consumption - Multihop Networks The initial assumption is that there is one data packet being relayed from the node farthest from the sink node towards the sink. The total energy consumed by the linear array to relay a packet of m bits from node n to the sink is: E linear n m e TC e RC e TA ( d i ) e TC e TA ( d 1 ) i2 It then can be shown that Elinear is minimum when all the distances di’s are made equal to D/n, i.e. all the distances are equal. Energy Consumption - Multihop Networks It can also be shown that the optimal number of hops is, n opt D D or d d char char where 1 d char e TC e RC e ( 1) TA dchar depends only on the path loss exponent α and on the transceiver hardware dependent parameters. Replacing the value of dchar in the expression for Elinear opt E linear n opt ( e TC e RC ) m e RC 1 Energy Consumption - Multihop Networks A more realistic assumption for the linear sensor array is that there is a uniform probability along the array for the occurrence of events(†). In this case, on the average, each sensor will detect the same number of events and the information collected needs to be relayed towards the sink. Without loss of generality one can then assume that each node senses one event. This means that sensor i will have to relay (n-i) packets from the upstream sensors plus the transmission of its own packet. The average energy per bit consumption by the linear array is then e n E linear bit ne RC TC e RC e TA ( d i ) n 1 i i 1 ne RC ( e TC e RC ) n ( n 1) 2 n e TA (n 1 i)(d i ) i 1 (†)Z. Shelby, C.A. Pomalaza-Ráez, and J. Haapola, “Energy Optimization in Multihop Wireless Embedded and Sensor Networks,” to be presented at the 15th IEEE International Symposium on Personal, Indoor, and Mobile Radio Communications, September 5-8, 2004, Barcelona, Spain. Energy Consumption - Multihop Networks n Minimizing E linear bit with constraint minimizing the following expression D n 1 i ( d ) n L e TA i i 1 d i is equivalent to i 1 n i 1 di D where λ is a LaGrange’s multiplier. Taking the partial derivatives of L with respect to di and equating it to 0 gives L d i e TA ( n 1 i )( d i ) 1 1 d i e ( n 1 i ) TA 1 0 Energy Consumption - Multihop Networks n The value of λ can be obtained using the condition d i D i 1 Thus for α=2 the values for di are di D n i 1 1 i n 1 i For n=10 the next figure shows an equally spaced sensor array and a linear array where the distances are computed using the equation above (α=2) Energy Consumption - Multihop Networks The sensors farther away consume most of their energy by transmitting over longer distances whereas sensors closer to the sink consume a large portion of their energy by relaying packets from the upstream sensors towards the sink. The total energy per bit spent by a linear array with equally spaced sensors is equidistan t bit E linear n ( n 1) 2 e 2 TC e RC e TA D n ne RC The total energy per bit spent by a linear array with optimum separation and α=2 is E optimum linear bit n ( n 1) 2 e TC e RC e TA D n 2 1 i i 1 ne RC Energy Consumption - Multihop Networks For eTC= eTR= 50 nJ/bit, eTA= 100 pJ/bit/m2, and α = 2, the total energy consumption per bit for D= 1000 m, as a function of the number of sensors is shown below. Equally spaced Optimum spaced 0.12 Energy (m J) 0.10 0.08 0.06 0.04 0.02 0.00 0 5 10 15 20 Sensor Array Size (n ) 25 30 Energy Consumption - Multihop Networks The energy per bit consumed at node i for the linear arrays discussed can be computed using the following equation. It is assumed that each node relays packets from the upstream nodes towards the sink node via the closest downstream neighbor. For simplicity’s sake only one transmission is used, e.g. no ARQ type mechanism E linear ( i ) [( n 1 i )( e TC e TA d i ) ( n i ) e RC ] Energy consumption at each node (n=20, D=1000 m) Equally Spaced Optimum Spaced 8.0 Total Energy=72.5 u J Energy (u J) 6.0 4.0 2.0 Total Energy = 47.8 u J 0.0 0 5 10 15 Distance (hops) from the sink 20 Data Link Layer Responsible for the multiplexing of the data stream, data frame detection, medium access and error control. Ensures reliable point-to-point and point-to-multipoint connections in a communication network Application Transport Network Data Link Physical Medium Access Control (MAC) Lets multiple radios share the same communication media MAC protocols for sensor networks must have built-in power conservation mechanisms and strategies for the proper management of node mobility or failure Code Time Wireless MAC Protocols Wireless MAC protocols Distributed MAC protocols Random access Centralized MAC protocols Random access Guaranteed access Hybrid access Since it is desirable to turn off the radio as much as possible in order to conserve energy some type of TDMA mechanism is often suggested for WSN applications Power Saving Mechanisms The amount of time and power needed to wake-up (start-up) a radio is not negligible and thus just turning off the radio whenever it is not being used is not necessarily efficient The values shown in the figure below clearly indicate that when the startup energy consumption is taken into account the energy per bit requirements can be significantly higher for the transmission of short packets than for longer ones TR 1000 (115kbps) 60 Ebit ( pJ ) 50 40 30 20 10 0 10 100 1000 Packet Size (bits) 10000 Error Control Error control is an important issue in any radio link Forward Error Correction (FEC) Automatic Repeat Request (ARQ) With FEC one pays an a priori battery power consumption overhead and packet delay by computing the FEC code and transmitting the extra code bits. With ARQ one gambles that the packet will get through and if it does not one has to pay battery energy and delay due to the retransmission process. Whether FEC or ARQ or a hybrid error control system is energy efficient will depend on the channel conditions and the network requirements such as throughput and delay. Error Control – Multihop WSN FEC For link i assume that the probability of bit error is pi. Assume a packet length of m bits. Then call plink(i) the probability of receiving a packet with uncorrectable errors. Conventional use of FEC is that a packet is accepted and delivered to the next stage which in this case is to forward it to the next node downstream. The probability of the packet arriving at the sink node with no errors is then: n Pc 1 i 1 p link ( i ) Error Control – Multihop WSN Assume the case where all the di’s are the same, i.e. di = D/n. Since variable transmission power mode is also being assumed the probability of bit error for each link is fixed and Pc is Pc (1 p link ) n The value of plink will depend on the received signal-to-noise ratio as well as on the modulation method used. For a noncoherent (envelope or square-law) detector with binary orthogonal FSK signals in a Rayleigh slow fading channel the probability of bit error is p FSK Where b is 1 2b the average signal-to-noise ratio. Error Control – Multihop WSN Consider a linear code (m, k, d ) is being used. For FSK-modulation with non-coherent detection and assuming ideal interleaving the probability of a code word being in error is bounded by M PM i2 2 wi 1 w i 2 d m in b where wi is the weight of the ith code word and M=2k Error Control – Multihop WSN A simpler bound for PM is: PM ( M 1)[ 4 p FSK (1 p FSK )] d min For the multihop scenario being discussed here plink = PM and the probability of packet error can be written as: Pe 1 Pc 1 (1 p link ) n 1 (1 PM ) k 1 {1 ( 2 1)[ 4 p FSK (1 p FSK )] n d min } n The probability of successful transmission of a single code word is Psuccess (1 Pe ) Error Control – Multihop WSN Radio parameters used to obtain the results shown in the next slides Parameter Value NFRx 10dB N0 -173.8 dBm/Hz or 4.17 * 10-21 J Rbit 115.2 Kbits 0.3 m Gant -10dB or 0.1 amp 0.2 3 BW For FSK-modulation, it is assumed to be the same as Rbit eRC 50nJ/bit eTC 50nJ/bit Error Control – Multihop WSN The expected energy consumption per information bit is defined as: E linear i bit E linear k Psuccess Parameters for the studied codes are shown in the table below, t is the error correction capability. Code m k dmin Code rate t Hamming 7 4 3 0.57 1 Golay 23 12 7 0.52 3 Shortened Hamming 6 3 3 0.5 1 Extended Golay 24 12 8 0.5 3 Error Control – Multihop WSN Error Control – Multihop WSN D = 1000 m Error Control – Multihop WSN D = 1000 m Error Control – Multihop WSN D = 1000 m Cooperative Communications in Wireless Sensor Networks Diversity techniques have been proposed and developed to minimize the errors in reception when the channel attenuation is large In frequency diversity the same information is transmitted on L carriers, where the separation between successive carriers equals or exceeds the coherence bandwidth of the channel In time diversity the same information is transmitted in L different time slots, where the separation between successive time slots equals or exceeds the coherence time of the channel In space, or multi-antenna diversity the antennas are sufficiently far apart that the multipath components of the signal have different propagation delays so they fade independently Unlike conventional space diversity techniques that rely on antenna arrays at the transmitter or receiver terminal the cooperative communications discussed here assume that each node has its own information to transmit and has one antenna. The terminals cooperate, i.e. share their antennas and other resources, to create a “virtual array” Cooperative Communications T1 and T2 transmit to terminals T3 and T4 T1 and T2 can listen to each other’s transmission and jointly communicate their information For sensor networks the objective is to attain an improved performance, e.g. decreased BER and/or decreased energy consumption In cooperative mode each user transmits its own bits as well as some information bits from its partners T1 T3 T2 T4 Coded Cooperation(†) Works by sending different portions of each user’s code word via independent fading paths. Each terminal tries to transmit incremental redundancy for its partner. If that is not possible the terminal transmits incremental redundancy for itself. It is important that this mechanism works through code design and not through actual communication between the cooperating terminals. Diversity provided by the coded bits T1 T3 Percent of cooperatio n N2 T2 N1 N 2 (†) M. Janani, A. Hedayat, T. E. Hunter, and A. Nosratinia, “Coded Cooperation in Wireless Communications: Space-Time Transmission and Iterative Decoding,” IEEE Trans. Signal Processing, vol. 52, pp. 362-371, February 2004. Coded Cooperation In this proposed method K bits of source bits (including CRC) are encoded with an FEC code with an overall code rate R = K / N The users divide their transmissions into two time segments. In the first segment each user transmits N1 bits (rate R1 = K / N1) Each user also receives and decodes the partner’s transmission. If this reception is successful the user computes and transmits N2 additional parity bits for the partner’s data, N1 + N2 = N. These additional parity bits are such that they can be combined with the first frame code word to produce a more powerful R code word If the user does not successfully decode the partner, N2 additional parity bits for the user’s own data are transmitted N1 bits User 1 User 1 bits N2 bits User 2 bits Rx User 2 bits N1 bits User 2 Rx User 1 bits Idle or sleep User 2 bits Idle or sleep User 1 bits User 2 bits Rx User 1 bits Idle or sleep N2 bits User 1 bits time U1 time slot U2 time slot U1 time slot MAC Protocols for WSNs WSN protocols have to allow for a closer collaboration or awareness among the layers of the protocol stack, in particular the first three layers MAC protocols should have the radio transceivers in a sleeping mode as much as possible in order to save energy Application Transport Network Data Link Physical WSN routing algorithms designed with the concepts of data centric and data aggregation create special requirements on the underlying MAC protocols These observations can be extended to the design of other layers as well since WSNs call for new networking paradigms Example of a MAC Protocol for WSN Sensor-MAC (S-MAC)(†) – Is an energy-aware protocol that illustrates design considerations that MAC protocols for WSNs Data Link should address. Assumptions made in the design of S-MAC are: Most communications will be between neighboring sensor nodes rather than between a node and a base station There are many nodes that are deployed in a casual, e.g. not precise, manner and as such the nodes must be able to self-configure The sensor nodes are dedicated to a particular application and thus pernode fairness (channel access) is not as important as the application level performance Since the network is dedicated to a particular application the application data processing can be distributed through the network. This implies that data will be processed as whole messages at a time in store-and-forward fashion allowing for the application of data aggregation techniques which can reduce the traffic The application can tolerate latency and has long idle periods (†) W. Ye, J. Heidemann and D. Estrin, “An Energy-Efficient MAC Protocol for Wireless Sensor Networks,” In Proceedings of the 21st International Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2002), New York, NY, USA, June, 2002, pp. 1-10. Sensor-MAC (S-MAC) The main features of S-MAC are: Periodic listen and sleep Collision and overhearing avoidance Message passing The basic scheme for each node is: Each node goes into periodic sleep mode during which it switches the radio off and sets a timer to awake later When the timer expires it wakes up and listens to see if any other node wants to talk to it The duration of the sleep and awake cycles are application dependent and they are set the same for all nodes Requires a periodic synchronization among nodes to take care of any type of clock drift Sensor-MAC (S-MAC) Unlike conventional TDMA schemes S-MAC tolerates a much looser synchronization among neighboring nodes Requires a periodic synchronization among nodes to take care of any type of clock drift Nodes are free to choose their own listen/sleep schedules but to reduce control overhead the protocol prefers that neighboring nodes are synchronized Because of the multihop scenario not all neighbors can be synchronized, e.g. Nodes A and B are neighbors but they are synchronized to their “other” neighbors, C and D respectively. Nodes broadcast their schedules from time to time to ensure that neighboring nodes can talk to each other even if they have different schedules Sensor-MAC (S-MAC) Choosing and Maintaining Schedules Each node maintains a schedule table that stores schedules of all its known neighbors To establish the initial schedule the following steps are followed: A node first listens for a certain amount of time If it does not hear a schedule from another node, it randomly chooses a schedule and broadcasts its schedule immediately This node is called a Synchronizer If a node receives a schedule from a neighbor before choosing its own schedule, it just follows this neighbor’s schedule, i.e. becomes a Follower and it waits for a random delay and broadcasts its schedule If a node receives a neighbor’s schedule after it selects its own schedule, it adopts both schedules and broadcasts its own schedule before going to sleep It is expected that very rarely a node adopts multiple schedules since every node tries to follow existing schedules before choosing an independent one Sensor-MAC (S-MAC) Maintaining Synchronization Timer synchronization among neighbors is needed to prevent clock drift. The updating period can be relatively long (tens of seconds) Done by periodically sending a SYNC packet that only includes the address of the sender and the time of its next sleeping period Time of next sleep is relative to the moment that the sender finishes transmitting the SYNC packet A node will go to sleep when the timer fires Receivers will adjust their timer counters immediately after they receive the SYNC packet A node periodically broadcasts a SYNC packet to its neighbors even if it has no followers Sensor-MAC (S-MAC) Maintaining Synchronization (cont.) Listen interval is divided into two parts: one for receiving SYNC packets and the other for receiving RTS (Request To Send) Sensor-MAC (S-MAC) Collision and Overhearing Avoidance Similar to IEEE 802.11, i.e. uses RTS/CTS mechanism to address the hidden terminal problem Performs carrier sense before initiating a transmission If a node fails to get the medium, it goes to sleep and wakes up when the receiver is free and listening again Duration field in each transmitted packet indicates how long the remaining transmission will be, so if a node receives a packet destined for another node, it knows how long it has to keep silent The node records this value in the network allocation vector (NAV) and sets a timer for it When a node has data to send, it first looks at NAV. If this value is not zero, then the medium is busy (virtual carrier sense) The medium is determined as free if both the virtual and physical carrier sense indicate the medium is free All immediate neighbors of both the sender and receiver should sleep after they hear the RTS or CTS packet until the current transmission is over Sensor-MAC (S-MAC) Message Passing A message is a collection of meaningful, interrelated units of data Transmitting a long message as a packet is disadvantageous as the retransmission cost is high if the packet is corrupted Fragmentation into small packets will lead to high control overhead as each packet should contend using RTS/CTS S-MAC fragments message into small packets and transmits them as a burst Only one RTS packet and one CTS packets are used Every time a data fragment is transmitted the sender waits for an ACK from the receiver. If it does not arrive the fragment is retransmitted and the reservation is extended for the duration of the fragment Advantages: Reduces latency of the message Reduces control overhead Disadvantage: Node-to-node fairness is reduced, as nodes with small packets to send will have to wait until the message burst is transmitted Sensor-MAC (S-MAC) Implementation Testbed Rene motes, developed at UCB Atmel AT90LS8535 microcontroller with TinyOS Uses the TR 1000 from RFM which provides a transmission rate of 19.2 Kbps (OOK). Three working modes: receiving (4.5mA), transmitting (12mA, peak), and sleeping (5μA) Two type of packets. Fixed size data packets with a 6-byte header, a 30byte payload, and a 2-byte CRC. Control packets (RTS, CTS, ACK) with a 6-byte header and a 2-byte CRC MAC protocols implemented Simplified IEEE 802.11 DCF Message passing with overhearing avoidance (no sleep and listen periods). The radio goes to sleep when its neighbors are in transmission The complete S-MAC. Listen period is 300 ms and sleep time can take different values, e.g. 300 ms, 500 ms, 1 s, etc. The duration of the carrier sensing is random within the contention window. The microcontroller does not go to sleep. Sensor-MAC (S-MAC) Topology Two-hop network with two sources and two sinks Sources periodically generate a sensing message which is divided into fragments Traffic load is changed by varying the inter-arrival period of the messages Sensor-MAC (S-MAC) Sensor-MAC (S-MAC) Sensor-MAC (S-MAC) Sensor-MAC (S-MAC) Conclusion The S-MAC protocol has good energy conserving properties when compared with the IEEE 802.11 standard Comments Need of a mathematical analysis Need to study the effect of different topologies Fragmenting long packets into smaller ones is not energy efficient. The argument about more chances of the packet being corrupted is not correct unless other options such as the use of error control coding have also been explored Several features behind the S-MAC protocol are still “captured” in the traditional way to do business at the Link Layer level, e.g. use of RTS/CTS/ACK, etc. The protocol does not address the fact that in most sensor net applications neighboring nodes are activated almost at the same time by the event to be sensed and as such they will attempt to communicate at approximately the same time. There is also a high degree of correlation between the data they want to communicate Network Layer Basic issues : Power efficiency Data centric – The nature of the data determines the traffic flow Data aggregation – To manage the potential implosion of traffic because of the data centric routing Rather than conventional node addresses, use attribute-based addressing, e.g. “region where humidity is below 5%” Locationing systems, i.e. ability of the nodes to establish position information Internetworking with external networks via gateway or proxy nodes Application Transport Network Data Link Physical Data Aggregation Data coming from multiple sensor nodes are aggregated when they reach a common routing or relaying node on their way to the sink, if they have about the same attributes of the phenomenon being sensed In this view the routing mechanism in a sensor network can be considered as a form of reverse multicast tree Phenomenon being sensed Data Centrality In data-centric routing, an “interest ” dissemination is performed in order to assign the sensing tasks to the sensor nodes. This dissemination can take different forms such as: The sink or controlling nodes broadcast the nature of the interest, e.g. “four legged animals of at least 50 Kg in weight” Four-legged animal of at least 50 Kg Sink Flow of the request Data Centrality Sensor nodes broadcast an advertisement of available sensed data and wait for a request from the interested sinks Flow of the advertisement Sink Routing Phenomenon being sensed Data aggregation takes place here Sink Multihop routing is common due to limited transmission range Some routing issues in WSNs Low node mobility Power aware Irregular topology MAC aware Limited buffer space Routing Problem – How to efficiently route: Data from the sensors to the sink and, Queries and control packets from the sink to the sensor nodes Routing In addition to the concepts of data aggregation and data centrality, it is important to identify the nature of the WSN traffic, which will depend on the application. Assuming a uniform density of nodes, the number of transmissions can be used as a metric for energy consumption. Since receiving a packet consumes almost as much energy as transmitting a packet it is also important that the MAC protocol limits the number of listening neighbors in order to conserve energy. Routing If N is the number of nodes, Q the number of queries, and E the number of events, and some type of flooding mechanism is being used then: If the number of events is much higher than the number of queries it is better to use some type of query flooding since the number of transmissions is proportional to N*Q which is much less than N*E If the number of events is low compared with the number of queries it is better to use some type of event flooding since now N*E is much less than N*Q In both cases it is assumed that the “return path” (for the events or the queries) is built during the flooding process Other underlying routing mechanisms are recommended if the number of events and queries are of the same order Proposed Routing Techniques SPIN – Sensor Protocols for Information via Negotiation(†) Attempts to correct the major deficiencies of classical flooding, in particular the indiscriminate flow of packets with the related energy waste SPIN messages ADV- advertise data REQ- request specific data DATA- requested data ADV A B REQ A Resource management Nodes decide their capability of participation in data transmissions B DATA A B (†) W. Heinzelman, J. Kulik, and H. Balakrishnan, “Adaptive Protocols for Information Dissemination in Wireless Sensor Networks,” Proc. 5th ACM/IEEE Mobicom Conference (MobiCom '99), Seattle, WA, August, 1999. SPIN A mechanism developed for the case where the number of queries is higher than the number of events. Use information descriptors or meta-data for negotiation prior to transmission of the data Each node has its own energy resource manager which is used to adjust its transmission activity The family of SPIN protocols are: SPIN-PP – For point-to-point communication SPIN-EC – Similar to SPIN-PP but with energy conservation heuristics added to it SPIN-BC – Designed for broadcast networks. Nodes set random timers after receiving ADV and before sending REQ to wait for someone else to send the REQ SPIN-RL – Similar to SPIN-BC but with added reliability. Each node keeps track of whether it receives requested data within the time limit, if not, data is re-requested SPIN-BC It Sensor sends broadcasts meta-data data toitself neighbors A Neighbor node senses sends something a REQ listing “interesting” of the data The Neighbors process aggregate repeats data across andall broadcast the network it would likemeta-data to acquire (advertise) ADV REQ DATA SPIN-BC Advertise meta-data Advertise Send data Send data I am tired Send I need to sleep … data Advertise meta-data Advertise Send data Request Nodes dodata need to Requestnot data participate in the process Request data SPIN Pros Energy – More efficient than flooding Latency – Converges quickly Scalability – Local interactions only Robust – Immune to node failures Cons Nodes always participating It does not propose the type of MAC layer needed to support an efficient implementation of this protocol. The simulation analysis uses a modified 802.11 MAC protocol Directed Diffusion(†) A mechanism developed for the case where it is expected that the number of events is higher than the number of queries Is data-centric in nature The sink propagates its queries or “interests” in the form of attributevalue pairs The interests are injected by the sink and disseminated throughout the network. During this process, “gradients” are set at each sensor that receives an interest pointing towards the sensor from which the interest was received This process can create, at each node, multiple gradients towards the sink. To avoid excessive traffic along multiple paths a “reinforcement” mechanism is used at each node after receiving data, e.g. reinforce: Neighbor from whom new events are received Neighbor who is consistently performing better than others Neighbor from whom most events received There is also a mechanism of “negative reinforcement” to degrade the importance of a particular path (†) C. Intanagonwiwat, R. Govindan, and D. Estrin, “Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks,” Proc. ACM Mobicom, Boston, MA, August 2000, pp. 1-12. Directed Diffusion Gradient represents both direction towards data matching Uses application-aware communication primitives This Consumer Nodes The process choice diffuse of sets of data path the up initiates interest gradients is made interest towards locally in the inproducers at network data every with node tovia certain draw afor Every route has a probability ofcost being chosen Probability 1/energy Collect energy metrics along the way and status of demand with desired expressed terms of namedupdate data rate sequence events matching every ofin attributes local packet the interactions interest Four-legged animal Source Sink Directed Diffusion Reinforcement andtolerance negative to reinforcement used Has built-in nodes moving to converge to range efficient out of ordistribution dying Source Sink Directed Diffusion Pros Energy – Much less traffic than flooding. For a network of size N the total cost of transmissions and receptions is O ( n whereas for flooding the order is O (nN ) Latency – Transmits data along the best path Scalability – Local interactions only Robust – Retransmissions of interests N) Cons The set up phase of the gradients is expensive It does not propose the type of MAC layer needed to support an efficient implementation of this protocol. The simulation analysis uses a modified 802.11 MAC protocol Other Proposed Routing Techniques Data Funneling(†) – Attempts to minimize the amount of communication from the sensors to the information consumer node (sink). It facilitates data aggregation and tries to concentrate the packet flow into a single stream from the group of sensors to the sink. Setup phase: Controller divides the sensing area into regions Controller performs a directional flood towards each region When the packet reaches the region the first receiving node becomes a border node and modifies the packet (adds fields) for route cost estimations within the region The border node flood the region with modified packet Sensor nodes in the region use cost information to schedule which border nodes to use (†) D. Petrovic, R. C. Shah, K. Ramchandran, and J. Rabaey, “Data Funneling: Routing with Aggregation and Compression for Wireless Sensor Networks,” SNPA 2003, pp. 1-7. Data Funneling Data Communication Phase: When a sensor has data it uses the schedule to choose the border node that is to be used It then waits for time inversely proportional to the number of hops from the border Along the way to the border node, the data packets join together until they reach the border node The border node collects all packets and then sends one packet with all the data back to the controller Routing - Summary In recent years a very large number of routing algorithms for WSNs have been proposed and analyzed Most of the analysis has been carried out using simulation experiments The majority of the proposed routing algorithms are not supported by a proper MAC protocol MAC protocols should also be more in tune with important features of the WSN paradigm, e.g. asymmetric flow, no need to have to use individual node addresses or links, have the radio in sleep mode as much as possible, etc. An aspect that still needs more research is the impact of error control coding on the consumption of energy Transport Layer TCP variants developed for traditional wireless networks are not suitable for WSNs where the notion of end-to-end reliability has to be reinterpreted in lieu of: Application Multiple senders, the sensors, and one destination (the sink), which creates a reverse multicast type of data flow Data Link Transport Network Physical For the same event there is a high level of redundancy or correlation in the data collected by the sensors and thus there is no need for endto-end reliability between individual sensors and the sink, but instead between the event and the sink On the other hand there is need of end-to-end reliability between the sink and individual nodes for situations such as retasking or reprogramming The protocols developed should be energy aware and simple enough to be implemented for the low-end type of hardware and software of many WSN applications Proposed Transport Layer Techniques Pump Slowly, Fetch Quickly (PSFQ)(†) – Designed to distribute data from a source node by pacing the injection of packets into the network at relatively low speed (pump slowly) which allows nodes that experience data loss to aggressively recover missing data from their neighbors (fetch quickly). Goals of this protocol are: Ensure that all data segments are delivered to the intended destinations with minimum special requirements on the nature of the lower layers Minimize number of transmissions to recover lost information Operate correctly even in situations where the quality of the wireless links are very poor Provide loose delay bounds for data delivery to all intended receivers PFSQ has been designed to guarantee sensor-to-sensor delivery and to provide end-to-end reliability for control management distribution from the control node (sink) to the sensors. It does not address congestion control (†) C-Y Wan, A. T. Campbell, and L. Krishnamurthy, “PSFQ: A Reliable Transport Protocol For Wireless Sensor Networks,” First ACM International Workshop on Wireless Sensor Networks and Applications (WSNA 2002), Atlanta, GA, September 28, 2002, pp. 1-11. PSFQ A transport protocol for WSNs that attempts to pace the data from a source node at a relatively low speed to allow intermediate nodes to fetch missing data segments from their neighbors, e.g. hop-by-hop recovery instead of traditional transport layer end-to-end recovery mechanisms PSFQ Three basic operations: pump, fetch, and report Pump Node broadcasts a packet to its neighbors every Tmin until all the data fragments have been sent out Neighbors who receive the packet check against their local cache discarding any duplicates If it is just a new message the packet is buffered and the Time-To-Live (TTL) field in the header is decreased by 1 If TTL is not zero and there is no gap in the sequence number the packet then is scheduled for transmission within a random time Ttx, where Tmin Ttx Tmax The random delay before forwarding the message allows a downstream node to recover missing segments before the next segment arrives from an upstream node It also allows reducing the number of redundant broadcasts of the same packet by neighbors PFSQ Fetch A node goes into fetch mode when a sequence number gap is detected In fetch mode a node aggressively sends out NACK messages to its immediate neighbors to request missing segments Since it is very likely that consecutive packets are lost because of fading conditions, a “window” is used to specify the range of missing packets A node that receives a NACK message checks the loss window field against its cache. If found the packet is scheduled for transmission at a random time in (0, Tr) Neighbors cancel a retransmission when a reply for the same segment is overheard NACK messages are not propagated to avoid message implosion There is also a “proactive fetch” mode to take care of situations such as when the last segment of a message is lost. In this case the node sends a NACK for the remaining segments when they have not been received after a time period Tpro PFSQ Report Used to provide feedback data of delivery status to source nodes To minimize the number of messages, the protocol is designed so that a report message travels back from a target node to the source nodes. Intermediate nodes can also piggyback their report messages in an aggregated manner Simulation and experimental evaluation When compared to a previously proposed similar protocol (Scalable Reliable Multicast) the simulation results show that the PFSQ protocol has a better performance in terms of error tolerance, communications overhead, and delivery latency The experimental results were obtained by using the TinyOS platform on RENE motes. The performance results were much poorer than the simulation results. The discrepancy is attributed to the simulation experiment being unable to accurately model the wireless channel and the computational demands on the sensor node processor Proposed Transport Layer Techniques Event-to-Sink Reliable Transport (ESRT) (†) – Designed to achieve reliable event detection (at the sink node) with a protocol that is energy aware and has congestion control mechanisms. Salient features are: Self-configuration – even in the case of a dynamic topology Energy awareness – sensor nodes are notified to decrease their frequency of reporting if the reliability level at the sink node is above the minimum Congestion control – takes advantage of the high level of correlation between the data flows corresponding to the same event Collective identification – sink only interested in the collective information from a group of sensors, not in their individual reports (†) Y. Sankarasubramaniam, O. B. Akan, and I. F. Akyildiz, “ESRT: Event-to-Sink Reliable Transport in Wireless Sensor Networks” Proceedings of ACM MobiHoc`03, Annapolis, Maryland, USA, June 2003, pp. 177-188. ESRT In a typical sensor network application the sink node is only interested in the collective information of the sensor nodes within the region of an event and not in any individual sensor data Traditional end-to-end reliability requirements do not then apply here What is needed is a measure of the accuracy of the information received at the sink, i.e. and event-to-sink reliability ESRT The basic assumption is that the sink does all the reliability evaluation using parameters that are application dependent One such parameter is the decision time interval τ At the end of the decision interval the sink derives a reliability indicator ri based on the reports received from the sensor nodes ri is the number of packets received in the decision interval If R is the number of packets required for reliable event detection then ri > R is needed for reliable event detection There is no need to identify individual sensor nodes but instead there is the need to have an event ID The reporting rate, f, of a sensor node is the number of packets sent out per unit time by that node The ESRT protocol aims to dynamically adjust the reporting rate to achieve the required detection reliability R at the sink ESRT r versus f based on simulation results n = number of source nodes for f > fmax the reliability drops because of network congestion ESRT – Protocol Overview The algorithms mainly run on the sink Sensor nodes: Listen to sink broadcasts and update their reporting rates accordingly Have a simple congestion detection mechanism and report to the sink The sink: Computes a normalized reliability measure ηi = ri /R Updates f based on ηi and if f > fmax or < fmax in order to achieve the desired reliability Performs congestion decisions based on feedback reports from the source nodes Congestion detection: Uses local buffer level monitoring in sensor nodes When a routing buffer overflows the node informs the sink by setting the congestion notification bit in the header packets traveling downstream ESRT – Network States Optimal Operating Region (Congestion, High reliability) (No congestion, High reliability) (Congestion, Low reliability) (No congestion, Low reliability) ESRT – Frequency Update State (NC, LR) f update f i 1 (NC, HR) f i 1 (C, HR) fi fi i (C, LR) f i 1 f i OOR Multiplicatively increase f to achieve required reliability as soon as possible i fi 1 1 2 i f i 1 Action ( i k ) f i 1 f i Decrease f conservatively, reduce energy consumption and not lose reliability Aggressively decrease f to relieve congestion as soon as possible Exponential decrease. k is the number of successive decision intervals spent in state (C, LR) Unchanged ESRT – Summary and Conclusions Uses a new paradigm for transport layer reliability Sensor networks are more interested in event-to-sink reliability than on individual end-to-end reliability The congestion control mechanism results in energy savings Analytical performance evaluation and simulation results show that the system converges to the state OOR regardless of the initial state This self-configuration property of the protocol is very valuable for random and dynamic topologies Issues still to be addressed are: Extension to handle concurrent multiple events Development of a bi-directional reliable protocol that includes the sink-to-sensor transport Application Layer There has not been as much development for this layer Application as for the other layers. A promising area is the use of Transport distributed source coding In WSNs an event will usually cause several sensors Network Data Link to generate highly correlated measurements It is of interest to explore how this correlation can be exploited to compress the information being sent to the controller or sink node Physical Distributed Source Coding Example Assume that the measurements X and Y are correlated Y is available at the decoder on the sink node but not at the node where X is encoded How can X be encoded in a compressed manner knowing that Y is available at the decoder? X Y N N is a random variable that represents the correlation between X and Y. If N is Gaussian, one can get the same performance by knowing only the statistics of N at the encoder as when Y is known at the encoder Distributed Source Coding Consider an 8-level scalar quantizer and the correlated variables X and Y Partition the set of 8 quantization levels into 2 cosets (even and odd levels) If Y is available at the decoder only the index of the coset containing X, the red coset, is needed to be transmitted (1 bit) Knowing Y, the decoder finds the closest quantization level in the red coset and estimates that X takes on the value r4 Coding of Correlated Information X Y X Y Encoder 1 Xˆ , Yˆ Joint Decoder Encoder 2 The encoders collaborate and a rate of H(X,Y) is sufficient Encoder 1 Xˆ , Yˆ Joint Decoder Encoder 2 The encoders do not collaborate. The Slepian-Wolf theorem says that a rate H(X,Y) is also sufficient provided decoding of X and Y is done jointly. It puts more burden on the decoding side (†) D. Slepian and J. Wolf, “Noiseless Coding of Correlated Information Sources,” IEEE Trans. Information Theory, vol. 19, pp. 471-480, July 1973. Some Final Words New Paradigm – WSNs do not have many of the features of the conventional networks for which the OSI protocol layer stack model has proven to be successful. Therefore it is quite possible that a different mix of layers might prove to be more efficient for many WSN applications Avoid Conflicting Behavior – For example a routing protocol that favors smaller hops to save transmission energy consumption does require a proper MAC protocol to coordinate the transmissions along the data flow to minimize contention and keep the transceivers off as much as possible Remove Unnecessary Layers – Some applications do not require all layers WSNs provide a rich source of problems in communication protocols, sensor tasking and control, sensor fusion, distributed data bases, and algorithmic design