802.11: Quality of Service

802.11: Quality-of-Service
Reference: “Quality-of-service in ad hoc carrier sense multiple access
wireless networks”; Sobrinho, J.L.; Krishnakumar, A.S.;
IEEE Journal on Selected Areas in Communications,
Volume: 17 Issue: 8, Aug. 1999; Page(s): 1353 –1368
(802.11QoS-1.pdf)
Introduction
• Packet collisions are intrinsic to CSMA
• Hidden nodes
– Two transmitting nodes outside the sensing range
of each other may interfere at a common receiver
• Many flavors of CSMA
– Nodes that participate in a collision schedule the
retransmission of their packets to a random time in
the future, in the hope of avoiding another collision
– This strategy does not provide QoS guarantees for
real-time traffic support
2
Related Works
• MACA Protocol  CSMA/CA
– Multiple Access Collision Avoidance
– RTS minipacket + CTS minipacket
– In the environments without hidden nodes,
MACA may improve the throughput of the
network over that attained with CSMA because
collisions involve only short RTS minipackets
rather than normal data packets as in CSMA
– MACA also alleviates the hidden nodes
problem because the CTS sent by the
destination also serves to inhibit the nodes in
the neighborhood
3
Related Works (cont)
• FAMA protocol
– Floor Acquisition Multiple Access
– Includes several variants of MACA, one of
which is immune to hidden nodes
– Have not been designed for QoS
 Control minipackets are subject to collisions
 Retransmissions are randomly scheduled
4
Related Works (cont)
• GAMA protocol
– Group Allocation Multiple Access
– Attempt to provide QoS guarantees to real-time
traffic in a distributed wireless environment
– In GAMA, there is a contention period where nodes
use an RTS-CTS dialog to explicitly reserve
bandwidth in the ensuing contention-free period
– A packet transmitted in the contention-free period
may maintain the reservation for the next cycle
– The scheme is developed for wireless networks
where all nodes can sense and receive the
communications from their peers
5
Related Works (cont)
• MACA/PR
– MACA/packet reservation protocol
– Similar to GAMA, but an acknowledge follows
every packet sent in contention-free periods to
inform the nodes in the neighborhood of the
receiver whether or not another packet is expected
in the next contention-free cycle
• Summary for these QoS protocols
– These schemes deviate from pure carrier sensing
methods in that every node has to construct
channel state information based on reservation
requests carried in packets sent into the channel
6
Black-Burst (BB) Contention
• Features
– 1. Distributed and is based only on carrier
sensing. It gives priority access to real-time
traffic and ensure collision-free transmission
of real-time packets
– 2. When operated in an Ad Hoc wireless LAN, it
further guarantees bounded real-time delays
– 3. Can be overlaid on current CSMA
implementation, with only minor modifications
required to the real-time transceivers:
 The random retransmission scheme is turned off,
and in substitution, the possibility of sending BB’s is
provided
7
Carrier Sense Wireless Network
• Characteristics
– 1. The range at which a node can sense carrier
from a given transmitter is different and
typically larger than the range at which
receivers are willing to accept a packet from
that same transmitter
– 2. Carrier from a transmitter can usually be
sensed at a range beyond the range in which
the transmitter may cause interference
8
Carrier Sense Wireless Network (cont)
• Three different types of links
– 1. Communication link
 Node i has a communication link with node j, if and only
if in the course of time, it has packets to send to node j
– 2. Interfering link
 Node i has a interfering link with node j, if and only if
any packet transmission with destination j that overlaps
in time at j with a transmission from i is lost.
 The lost packets are said to have collided with the
transmission from i.
– 3. Sensing link
 Node i has a sensing link with node j, if and only if a
transmission by node i prevents node j from starting a
new transmission, i.e. node i inhibits node j.
9
Carrier Sense Wireless Network (cont)
– GC = (N, LC): communication graph
– GI = (N, LI): interference graph
– GS = (N, LS): sensing graph
– If node i has a communication link with node j,
then i and j also have an interfering link
between them
– An interfering link is also a sensing link, but
not conversely. LI LS: GI is a spanning subgraph of GS
– Any node has an interfering and sensing link
with itself
 Since whenever a node transmits, it cannot
simultaneously receive or start another transmission
10
Carrier Sense Wireless Network (cont)
• Path delay
– Associated with each sensing link to account
for the propagation delay separating nodes,
the turn-around time of the wireless
transceivers, and the sensing delay
– Denoted by tij
– tij > 0, and tik + tkj > tij , for ik, kj, ij LS
– Let t = max (tij)
11
Carrier Sense Wireless Network (cont)
• NI(i)
– The nodes that are neighbors of i (i included)
in the interfering graph
• NS(i)
– The nodes that are neighbors of i (i included)
in the sensing graph
• Hidden nodes from i  j = NI(j) (N – NS(i))
• In a wireless network without hidden
nodes
– We have NI (j)  NS(i) for every i j LC
12
Carrier Sense Wireless Network (cont)
13
Carrier Sense Wireless Network (cont)
• Wireless LAN
– GI = GS, all nodes can sense each other’s
transmissions
• 802.11 three interframe spacing
– tshort, tmed, tlong
– tmed >= 2t + tshort, tlong >= 2t + tmed
• A node learns of the success or failure of its
transmission through a positive ACK scheme
– The recipient of a correctly received packet
sends back an acknowledgement minipacket
within an interval of length tshort
14
BB Contention: Basic idea
• Basic idea
– 1. Real-time nodes contend for access to the channel
after a medium interframe spacing of length tmed,
rather than after the long interframe spacing of length
tlong, used by data node.
 Thus, real-time nodes as a group have priority over data
nodes
– 2. Instead of sending their packets when the channel
becomes idle for tmed, real-time nodes first sort their
access rights by jamming the channel with pulses of
energy, denominated BB’s
 The length of a BB transmitted by a real-time node is an
increasing function of the contention delay experienced by the
node, measured from the instant when an attempt to access
the channel has been scheduled until the transmission of its
BB
15
BB Contention: Basic idea (cont)
– Length of black slot: tbslot
 Not smaller than the max. round-trip path delay 2t
– Idea: we would like the BB’s sent by distinct
real-time nodes when the channel becomes
idle for tmed to differ by at least one black slot
 the node with longest BB’s wins the access
right to the channel
– 3. Following each BB transmission, a node
senses the channel for an observation interval
of length tobs to determine without ambiguity
whether its BB was the longest of the
contending BB’s
16
BB Contention: Basic idea (cont)
– 4. The winning node will transmit its real-time
packet successfully and schedule the next
transmission attempt
– 5. The nodes that lost the BB contention wait
for the channel to once again become idle or
tmed, at which time they send new longer BB’s
– In summary
 Once the first real-time packet of a session is
successfully transmitted, the mechanism ensures
that succeeding real-time packets are also
transmitted without collision
 Real-time node appear to access a dynamic TDM
transmission structure without explicit slot
assignment or slot synchronization
17
BB Contention
• Assumption
– Every real-time packet transmission lasts at
least a certain time tpkt , tpkt >= 2t
– At the beginning of a session, a real-time node
uses conventional CSMA/CA rules, possibly
with a more expedited retx algorithm, to convey
its first pkt until it is successful
– Real-time nodes only schedule their next
transmission attempts– to a time tsch in the
future– when they start a packet transmission
– tsch is the same for all nodes
18
BB Contention (cont)
• The length b of the BB sent by the node
– Is a direct function of the contention delay it
incurred, dcont
–
– Where tbslot is the length of a black slot
– tunit is the unit of time used to convert
contention delays into an integral # of black
slots
19
BB Contention (cont)
– Correct operation of the scheme requires that
tunit <= tpkt
– After exhausting its BB transmission, the node
waits for an observation interval tobs, the length
of which has to satisfy tobs <= tbslot and tobs <
tmed
– To see if any other node transmitted a longer
BB, implying that it would have been waiting
longer for access to the channel
– If the channel is perceived idle after tobs, then
the node (successfully) transmits its packet
– If the channel is busy during the observation
interval, the node waits again for the channel
to be idle for tmed and repeats the algorithm
20
BB Contention (cont)
• Explanation
– The start of packet transmission from different
nodes are shifted in time by at least tpkt
 Since it is only when a node initiates the
transmission of a packet that it schedules its next
transmission attempt to a time tsch in the future, the
contention delays of different nodes will likewise
differ by at least tpkt
– Taking tunit <= tpkt, the BB’s of different nodes
differ by at least one black slot, and thus every
BB contention period produces a unique
winner
 The winner is the node that has been waiting the
longest for access to the channel
21
BB Contention (cont)
– The observation interval tobs cannot last longer
than the black slot time, tobs <= tbslot, so that a
node always recognizes when its BB is shorter
than that of another contending node
– tobs also has to be shorter than tmed (tobs < tmed)
to prevent real-time nodes from sending BB’s
by the time that a real-time packet
transmission is expected.
– Overall, the BB contention scheme gives
priority to real-time traffic, enforces a roundrobin discipline among real-time nodes, and
results in bounded access delays to real-time
packets
22
BB Contention (cont)
23
BB Contention (cont)
• Extension: different BW requirements
– 1. Packets of different sizes
– 2. Different scheduling intervals (two phases)
 As long as the set of values allowed for the
scheduling interval tsch is finite and small
 Real-time nodes first sort their access rights based
on contention delays as before (1st phase)
 However, it is now possible for two nodes with
different scheduling intervals to compute BB’s with
the same number of black slots
 Hence, real-time node contends again with a new BB
(2nd phase), the length of which univocally identifies
the scheduling interval being used by the node
24
Correctness of BB Contention
• Proposition 1
– Any real-time packet that contends with BB’s does not collide
with either data packets or real-time packets that start a
session
• Proposition 2
– Real-time packets that contend with BB’s do not collide with
one another or with BB’s
• Proposition 3
– A real-time node that sees the channel idle for tmed after a
medium busy condition will access the channel to transmit a
BB and will prevent neighboring data nodes from transmitting
a packet
• Proposition 4
– A real-time node that sees the channel idle for tmed after a
medium busy condition will access the channel to transmit a
BB and will exclude from contention any neighboring real-time
nodes that have a smaller number of black slots in their BB’s
25
BB Contention (cont)
26
Chaining
• Idea
– The number of real-time nodes contending for
access to the channel can be reduced by grouping
real-time packet transmissions into chains
– A chain is a sequence of real-time packets where
each packet invites the next for transmission
• To supporting chains
– Each real-time packet is endowed with two new
fields:
 A send node ID (SID): contains the identity of the
node transmitting the packet
 A next node ID (NID): contains the identity of the
node invited to transmit next
27
Chaining (cont)
• Setting of SID and NID
– The SID field is set to NIL (empty field) in the first
and last packets of a session
– A real-time node relies on the round-robin
discipline enforced by BB contention to choose a
temporary ID to be used during a session
– After sending the 1st packet of a session, a realtime node observes the channel during the
ensuing round to determine the identity of all other
active sessions
– Therefore, by the time it transmits its 2nd packet, it
is able to choose a unique identifier for itself which
it keeps for the duration of the session
– The NID field is NIL at every packet that is at the
tail of a chain
28
Chaining (cont)
• Invitation
– A node has to respond within an interval of
length tshort to an invitation from another realtime node in order to ensure that the real-time
packets comprising a chain are transmitted in
sequence without being disturbed by either
BB’s or data packet transmission
– The dynamics of chain creation and
segregation are achieved through a distributed
algorithm running at each node
• Two basic operations on chains
– splitting & concatenation
29
Chaining (cont)
• Splitting
– Occurs when a node ends a session and
leaves the chain to which it belongs, possibly
dividing it into two new chains
– It may also occur when a packet is corrupted,
e.g. due to link outage
– Since real-time nodes are always prepared to
contend with BB’s at every scheduled access
attempt, even when they are part of a chain, an
abrupt break in a chain does not deprive them
of their access rights to the channel
 It only reduces the efficiency with which the channel
is used.
30
Chaining (cont)
• Concatenation
– Occurs when two distinct chains are merged
into a longer one for the purposes of efficiency
– It is up to the tail node of a chain to decide
whether or not to pull toward itself the next
chain the comes onto the channel
 The tail node monitors the channel during a round
 It first identifies the candidate node to be invited in
the next round by looking for the first packet with an
SID field not NIL
 At the end of the round, when the tail node finally
transmits another real-time packet, the tail node
invites the candidate node immediately after sending
its real-time packet
31
BB Contention (cont)
32
Simulation Parameters
33
Simulation Results
34
Simulation Results (cont)
35
Simulation Results (cont)
36
Simulation Results (cont)
Total
CSMA/CA
37
Simulation Results (cont)
BB Contend
38
Simulation Results (cont)
Table IV
Max. packet delay and percentage of real-time packets that exceed
that delay under CSMA/CA, for a total load of 0.544
39
Simulation Results (cont)
40
Simulation Results (cont)
• Discussion from Figures 9 & 10 & 11
– 1. For BB contention, we confirm that the
maximum real-time delay is typically small,
even at network loads as high as 0.672 (Fig. 10)
– 2. Under CSMA/CA, the average data packet
delay increases as we trade data load for realtime load (Fig. 11)
 With BB’s, the average data packet delay does not
increase as much as with CSMA/CA (Fig. 11)
 As we trade data for real-time load, a larger volume
of traffic gets priority over data, but the new traffic is
efficiently served through BB contention
41
Simulation Results (cont)
Chaining provides a
moderate improvement
in data delay
performance (but not
significant)
42