1 / 20

Network assumptions

SMAC: An Energy-efficient MAC Protocol for Wireless Networks http://www.isi.edu/~johnh/PAPERS/Ye02a.pdf. Network assumptions. Composed of many small nodes deployed in an ad hoc fashion Most communication will be between nodes as peers, rather than to a single base station

svenegas
Télécharger la présentation

Network assumptions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SMAC: An Energy-efficient MAC Protocol for Wireless Networkshttp://www.isi.edu/~johnh/PAPERS/Ye02a.pdf

  2. Network assumptions • Composed of many small nodes deployed in an ad hoc fashion • Most communication will be between nodes as peers, rather than to a single base station • Nodes must self-configure

  3. Application assumptions • Applications will have long idle periods and can tolerate some latency • Dedicated to a single application or a few collaborative applications • Involves in-network processing to reduce traffic and thereby increase the life-time • This implies that data will be processed as whole messages at a time in store-and-forward fashion • Hence packet or fragment-level interleaving from multiple sources only delays overall latency

  4. Features of S-MAC The main features of S-MAC are: • Periodic listen and sleep • Collision and Overhearing avoidance • Message passing

  5. Periodic Listen and Sleep • If no sensing event happens, nodes are idle for a long time • So it is not necessary to keep the nodes listening all the time • Each node go 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

  6. Duration of sleep and listen time can be selected based on the application scenario • We assume that the durations are set (i.e., they do not need to be determined through self-organization) • To reduce control overhead, neighboring nodes are synchronized (i.e. Listen and sleep together)

  7. Not all neighboring nodes can synchronize together • Two neighboring nodes (A and B) can have different schedules if they are required to synchronize with different node

  8. If a node A wants to transmit to node B, it just waits until B is listening • If multiple neighbors want to transmit at the same time (e.g., they want to transmit to the same node), they need to contend for the medium • Contention mechanism is the similar to IEEE802.11 CSMA/CA (i.e., using CSMA and RTS and CTS) • After they start data transmission, they do not go to periodic sleep until they finish transmission

  9. Choosing and Maintaining Schedules • Each node maintains a schedule table that stores schedules of all its known neighbors. • To establish the initial schedule (at the startup) 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 broadcast its schedule immediately. • This node is called a SYNCHRONIZER.

  10. If a node receives a schedule from a neighbor before choosing its own schedule, it just follows this neighbor’s schedule. • This node is called a FOLLOWER and it waits for a random delay and broadcasts its schedule (i.e., the time when it will sleep) • If a node receives a neighbor’s schedule after it selects its own schedule, it adopts to both schedules (i.e., it will wake up at both times of its neighbors!) and broadcasts its own schedule before going to sleep. • Why “adopt” multiple schedules? Consider another option • Nodes to use schedules to define when they listen. • If a node wants to transmit to the neighbor, it must transmit when the node is listening. • However, broadcast becomes difficult, and broadcast is very common in networks • (perhaps we need to make protocols where broadcast is not so common) • (is broadcast really so common that nodes should wake up more often) • (on the other hand, we’ll soon see that nodes must be awake when their neighbors are awake)

  11. Rules for Joining a New Node • Listen for a long time until an active node is discovered • Send INTRO packet to the active node • Active node forwards its schedule table • Treat all the nodes on table as potential neighbors and contact them later • If a synchronizer is found, then use its schedule, otherwise, use a random schedule and broadcast the schedule

  12. Maintaining Synchronization • Timer synchronization among neighbors are needed to prevent the clock drift. • Done by periodic updating using a SYNC packet. • If a large guard time is used, then the updating period can be quite long. • Synchronizer needs to periodically send SYNC to its followers. • If a follower has a neighbor that has a different schedule with it, it also needs to receive updates from that neighbor.

  13. Time of next sleep is relative to the moment that the sender finishes transmitting the SYNC packet • Receivers will adjust their timer counters immediately after they receive the SYNC packet • Listen interval is divided into two parts: one for receiving SYNC and other for receiving RTS

  14. Timing Relationship of Possible Situations

  15. Collision Avoidance • Similar to IEEE802.11 using RTS/CTS mechanism • Perform 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 • Note that is does not make sense. • You cannot sleep for the duration of a packet transmission. • Packet transmission take ~1ms, and we saw that sleeping takes 10s or 100s of ms. • Broadcast packets are sent without RTS/CTS • Unicast packets follow the sequence of RTS/CTS/DATA/ACK between the sender and receiver

  16. Overhearing Avoidance • Duration field in each transmitted packet indicates how long the remaining transmission will be. • So if a node receives a packet destined o another node, it knows how long it has to keep silent. • The node records this value in network allocation vector (NAV) and set a timer.

  17. When a node has data to send, it first looks at NAV. • If NAV is not zero, then medium is busy (virtual carrier sense). • Medium is determined as free if both virtual and physical carrier sense indicate the medium is free. • All immediate neighbors of both the sender and receiver should sleep after they hear RTS or CTS packet until the current transmission is over. • Again, this doesn’t make sense

  18. Message Passing • A message is a collection of meaningful, interrelated units of data • Transmitting a long message as a packet is disadvantageous as the re-transmission cost is high • Fragmentation into small packets will lead to high control overhead as each packet should contend using RTS/CTS

  19. Solution • Fragment message in to small packets and transmit them as a burst • Advantages • Reduces latency of the message • Reduces control overhead • Disadvantage • Node-to-node fairness is reduced, as nodes with small packets to send has to wait till the message burst is transmitted

  20. T-MAC – an enhanced S-MAC • SMAC problem: the duty cycle controls the data rate. • Idea: events happen in bursts – so stay awake after an event and sleep longer between events • Stay active, listening and sending while there is “something to do” for TA seconds • “Something to do” includes • Periodic listening scheduled event • Reception of radio transmission • Sensing collision (I.e., a loud signal that cannot be decoded (interference prone on ISM bands)) • End of transmission (of data or ACK) • A neighbors RTS/CTS exchange • A node that fails to get a CTS does not sleep, but waits and tries again. While the desired node may be asleep, it may also be overhearing another transmission. It will stay awake until TA sec after that transmission has completed. • Nodes only sleep during other transmissions if the packet is long… • This might not work… • A->B->C->D • If C wants to send to D, it might wait because it hears a CTS from B. However, d has not heard the CTS and goes to sleep. So when c transmits, d will be asleep. (Of course, if B wants to relay to c, then it can do so, but this may cause C’s buffer to fill. So C may stop sending CTSs to B. As B’s buffer fills it stops sending CTSs to A so c can transmit (back-pressure)

More Related