420 likes | 616 Views
DGRAM: A Delay Guaranteed Routing and MAC Protocol for Wireless Sensor Networks. Chilukuri Shanti & Anirudha Sahoo. Presented by: Navjeet Sandhu. What is MAC protocol?. Medium Access Control. It controls a nodes access to communication medium in a multiple access network.
E N D
DGRAM: A Delay Guaranteed Routing and MAC Protocol for Wireless Sensor Networks • Chilukuri Shanti & Anirudha Sahoo Presented by: Navjeet Sandhu
What is MAC protocol? • Medium Access Control. • It controls a nodes access to communication medium in a multiple access network. • Broadly classified into: • Contention based – prone to collision when two nodes transmit at the same time. Therefore needs mechanism like CSMA/CA. Example – ALOHA. • Contention free – ensures collision free transmission. Example – TDMA (Time Division Multiple Access), CDMA (Code Division MA), FDMA (Frequency Division MA).
Overview - DGRAM • TDMA based energy efficient integrated MAC and routing protocol for delay sensitive wireless sensor network applications. • The protocol is designed to provide deterministic delay guarantee in an energy efficient manner. • The design is based on time slot reuse to reduce the latency of a node to access the medium at the same time ensuring that the medium access is contention-free.
Overview - DGRAM • The transmission and the reception time slots are carefully computed in such a way that the sensor nodes wake up on time to receive and forward the data towards the sink and sleep at all the other times to conserve energy. • Unlike traditional TDMA MAC protocols there is no centralized time slot allocation mechanism and therefore does not need slot allocation messages to be passed by base station which results in energy wastage.
Overview - DGRAM • DGRAM uses a time slot allocation mechanism that does not need exchange of control messages which makes the deployment self configuring. • Each node runs a short beacon exchange phase to learn about the topology of the network by gathering node location information. • The routing mechanism is built into the MAC, using coordinated sleep and wake-up cycles. Therefore it does not need a separate routing protocol to run on top of the MAC.
Assumptions • Circular sensing area with the sink at the center of the area. • The sink is wired and not power constrained. • The sensor nodes are uniformly distributed all around the sink. • The nodes and the sink are stationary. • Each node knows its location relative to the sink. The position of a node is represented in rectangular coordinates with the sink as the origin.
Assumptions • Each node is programmed with the total number of nodes in the network. • The clocks of sensor nodes are synchronized by using out-of-band time synchronization (separate or dedicated band different from the data band). • The transmission and interference ranges of the nodes are generally not exactly circular. Hence, the maximum interference radius and the minimum transmission radius are considered when the transmission and reception cycles are calculated.
Structure of sensing area • The sensing area is organized into tiers, based on the radial distance of different nodes from the sink. • Each tier is divided into blocks based on the angular distance of nodes (measured in clockwise direction) from the sink with respect to the geographical North axis passing through the sink. • The tier closest to the sink is the first tier and is identified as C₁ and the farthest is identified by CH (where H is the number of tiers).
Structure of sensing area • Based on the position of the node and the sink, the radial distance of the node from the sink is calculated by each node. • Based on this distance and α (ratio of radial width of a tier to the transmission radius of a node (α ≤ 1)), each node calculates the tier Ci to which it belongs. • If the radial distance is between (i-1)αR and iαR (i > 0), the node determines itself to be in the ith tier Ci.
Structure of sensing area • Data from any node in this tier flow radially inward and hop from outer tier to inner tier and reach the sink. • All the innermost tiers that can reach the sink directly (in single hop) are merged into a single tier C₁.
Structure of sensing area • Each tier is further divided into blocks which helps is slot reuse within the tier, which in turn, enables concurrent transmission of data within a tier. • A block is an angular area covered by the interference range of a node in a given tier. • A tier is divided into blocks in such a manner that the number of blocks are even as well as non-interfering.
Nodes in the alternate blocks (A and B) can transmit in the same slots without interfering with each other.
Time Slot Assignment • A node in DGRAM can be in one of the two states: active or sleeping. • A node is in active state in its allotted transmission slot if it has pending data to send. • A node switches itself into the active state at the beginning of each of its receive slots. If it senses a preamble, it remains in active state to listen for the rest of the slot duration to receive data from its previous tier. Otherwise, it goes back to sleeping state. • At all other time, the node stays in sleeping state.
Time Slot Assignment • Slot assignment in DGRAM happens in three levels of hierarchy. • At the highest level, the time frame is called the superframe. • The superframe is divided into subframes, which are assigned to different tiers. • Each subframe is split into two halves called subsubframe. One half is used by all odd-numbered blocks whereas the other is used by all even-numbered blocks in the tier. • Each subsubframe is divided into slots that are assigned to individual nodes within the block.
Time Slot Assignment • The subframes are reused across the tiers such that the transmissions do not interfere. • Nodes in two different tiers can transmit at the same time when they are at least 2I apart. Where I is the interference range of a node.
Time slot assignment at different levels of hierarchy for eight tiers.
When to transmit the data? • To know when to transmit, the node needs to know the following: • The organization of superframe. • Its tier and block. • Its index in its tier and block. Assigned as follows: • In the ascending order of their radial distance from the sink. • If the radial distance is same then in the ascending order of their angular distance from the geographical North axis passing through the sink.
When to transmit the data? • A node needs to know the number of nodes in each tier and block of the network in order to get the structure of the superframe. • To obtain this information, a node needs to have location information of every other node in the network. • Each node in the network goes through a short beacon exchange phase after deployment to collect location information of all other nodes in the network.
Beacon Exchange Phase • Each node finds out the location of every other node in the network by broadcasting periodic beacons. • Every node maintains a table Ψ, which contains the location information of every other node. This table is populated during this phase. • An entry in Ψ is a two-tuple of {location, seqno}. seqno field is used to determine freshness of a received beacon with respect to a beacon received earlier. • Initially, each node knows its location and the total number of nodes in the network, M, and the table is empty.
Beacon Exchange Phase • A beacon message contains four fields: {location, seqno, flag, TTL} and is broadcast using CSMA protocol. • flag field is set to 1 (by the originator) if Ψ has (M - 1) entries, which means that the originator node has received location information of all other nodes in the network; otherwise, it is set to 0. • The TTL field is set to MAX TTL by the originator.
Time Slot Assignment • Once the Beacon Exchange Phase is over, each node can determine: • The number of nodes in each tier and block in the entire network based on individual node's position information. • Its index within its tier and block. • Using these values, it can calculate the number of slots per node in each tier as follows: ai, ai+1 – slots per node in ith and (i+1)th tier. pi, pi+1 – number of nodes in ith and (i+1)th tier.
Time Slot Assignment • Using all this information, i.e. number of nodes in each tier and block and number of slots per node, every node can calculate the size of each subframe and hence the size of superframe. • The knowledge of every nodes position, superframe size and structure is key to identifying the sleep and wake-up cycles by every node.
Transmission Cycle of a Node • DGRAM follows a TDMA schedule, so each node transmits only during its assigned slots in a superframe.
Receive Cycle of a Node • A node in tier Ci receives data from its previous tier Ci+1. • This node should receive from a maximum of (ai-1) slots, where ai is the number of transmission slots per node in tier Ci. 1 slot is for sending its own data. • Every node in the tier Ci runs an algorithm to compute the receivers for all the nodes in tier Ci+1. • There is no exchange of control messages. The algorithm is such that all the nodes converge to the same result.
Receive Cycle of a Node • The algorithm processes an ordered list of sender nodes, in descending order of their radial distance from the sink, and in case of a tie, by the descending order of their angular distance from the geographical North (measured in clockwise direction). • The algorithm performs the following steps: • For every sending node (in i+1 th tier) { • Identify all the receiving nodes (in i th tier) that are within its transmission range. Add these receiving nodes in a list L. • Sort the list L in descending order (described above). • Process the sorted list L as per step 5.
Receive Cycle of a Node • If there are enough slots available in the node A to accept all the messages from the sending node B then A is the receiving node for the sender B. • } • The above algorithm will help identify the receiving time slots for each node in tier Ci as each node now knows its designated sender as well as the superframe structure. So it can identify the transmission time slots of its designated sender.
Calculation of Worst-Case Delay • The worst-case delay occurs when an event occurs in the outermost tier and when a node in that tier which senses the event just misses its assigned transmission slot. • The worst-case delay is given by where, T – Number of slots in a superframe. H – Total number of tiers in the sensing area. N – Number of subframes in a superframe.
Energy consumption • The energy consumption could be because of transmitting events to the next hop, receiving events from the previous hop, and while being idle. Energy consumed for sensing is not considered. • Lets consider a node Nijk, which belongs to tier Ci, block Bij, and has an index k in its tier and block.
Energy consumption • The minimum energy spent by node Nijk is given by • The first term on the right-hand side of the above equation is the energy spent in checking for preamble in the dijk receive slots. • The second term represents the idle energy spent in time other than the transmission and receive slots. • The third term accounts for the idle energy spent during the transmission and reception slots.
Energy consumption • The maximum energy is spent by node Nijk in a TDMA frame when it receives in all its dijk slots and transmits in all its ai slots. • So the maximum energy spent by node Nijk is given by
Energy consumption • The energy spent by node Nijk in a superframe is given by • The first three terms together give the total energy spent in the dijk receive slots. • The next two terms denote the energy spent in the ai transmission slots. • The last term represents the energy spent in the idle period of the superframe.
Simulation Results • Simulated DGRAM, FlexiTP, and a basic TDMA MAC using ns2 for different radii of the sensing area and for different event rates. • DGRAM is shown to be a much better choice in terms of delay, packets meeting their deadlines, and energy consumption. Physical Parameters Used in Simulation
Effect of event rate on the average delay (network radius = 150 m)
Number of packets missing deadline as event rate changes (network radius = 150 m)
Total energy consumption versus event rate (network radius = 150 m)
Lifetime of the most constrained node versus event rate (network radius = 150 m)
Conclusion • DGRAM is shown to be a much better choice in terms of delay, packets meeting their deadlines, and energy consumption. • DGRAM can be used for hard real-time applications such as bio-hazard detection, radioactive emission control, etc. • DGRAM can guarantee delay bound and zero packet loss as long as inter-event time is greater than or equal to the superframe size.