Title: Congestion Control and Fairness for ManytoOne Routing in Sensor Networks
1Congestion Control and Fairnessfor Many-to-One
Routingin Sensor Networks
- Oct. 27, 2005
- Howon Lee
- Communication and Information Systems Lab.
- SenSys04
2Outline
- Introduction
- Motivation
- Congestion control
- Fairness
- Simulation Implementation Results
- Conclusions
3Introduction
- Sensor motes send data to the BS
- Many-to-One
- Intermediate motes relay messages from far away
motes to the BS - Routing of messages form a tree rooted at the
BS
BS
4Motivation
- Distributed system no global knowledge
- Motes near the base has to transmit more packets
than far away motes bottleneck - Packets generated by far away motes may be
dropped (unfairness) - Loss of packet due to buffer overflow and
collision (congestion)
5Congestion Control
- Design Network Stack Model
Congestion
Application
Transport
Network
Data-Link
Routing
Physical
MAC
6Congestion Control
- Types of Congestion
- Type A - Simultaneous transmission interference
packet loss reduction in throughput - Type B - Data generation rate is faster than the
transmission rate - Buffer overflow -
-
7Congestion Control
- The idea
- Type A congestion can be reduced by phase
shifting (ex. Jittering) - Type B congestion can be reduced by buffer
monitoring -
-
8Congestion Control
- The idea
- The two different rates we need
- data generation rate rate at which data is
passed from application - transmission rate rate at which packets, both
locally produced and from downstream motes, are
transmitted upstream - transmission rate of parent mote should ideally
be greater than or equal to data generation rate
of all motes downstream
9Congestion Control
Application
Transport
Transmission rate
Network
Data Generation rate
Data-Link
Physical
10Congestion Control
Transmission rate of parent should be gt
5pkts/sec
Each mote generates data at the rate 1pkt/sec
11Congestion Control
- The Algorithm
- Repeatedly run at each mote (localized algorithm)
- determines local maximum transmission rate
- divide transmission rate by total number of
children motes to give data generation rate - disseminate min(own_rate, parent_rate) downstream
-
Queue overflow adjustment incorporated
12Congestion Control
- The Algorithm
- Adjustment
-
- Let the data generation rate for a child
determined by the current node is denoted by rc - Let r denote data generation rate for the current
when the queues are overflowing or about to
overflow - disseminate min(parent_rate, r, rc) downstream
-
Current nodes data gen rate sent by its parent
13Congestion Control
Transmission rate 50 pkts/sec
Each childs data generation rate should be lt
10pkts/sec
14Congestion Control
- Lets look into the methods for
- determining effective transmission rate
- determining number of downstream motes
- disseminating data generation rate downstream
- adjusting data generation rate if buffers are
overflowing
15Congestion Control
- Calculating effective Transmission Rate
ack pkt
data pkt
data pkt
no ack, timeout
data pkt
no ack, timeout
Total time taken
16Congestion Control
- Counting number of Downstream Motes
- each mote sums childrens count, adds 1 (for
itself), then transmits count to parent (data
aggregation)
5
2
1
1
1
17Congestion Control
- Disseminating data generation rate
- downstream
- via control packets
- piggy-backed on data packets
18Congestion Control
- Adjusting data generation rate if buffers are
- overflowing
19Congestion Control
Taking mean data gen. rate
- The Solution Explained
- The packet generation rate assignment is fair
- Why?
- Type B congestion is minimized
- How?
- Type A congestion is reduced
- How?
Queue overflow check
20Congestion Control
A
Rate updates takes time to propagate, causing
phase shift
D
B
C
E
E
21Fairness
- Requirement
- The base station should receive the same number
of packets from each mote - The idea
- Transmit number of packets from each subtree with
equal probability - ? Probabilistic Selection (PS)
- Within each period of time, transmit number of
packets from each subtree equal to size of that
subtree - ? Epoch-Based Proportional Selection (EPS)
22Fairness
- Mechanisms
- Per-child packet queues
- Maintenance of per-child tree size
- Obtained as before
- FIFO Queues
- small in size, independent of subtree size
23Fairness
- Algorithm
- Probabilistic Selection
-
24Fairness
- Algorithm
- Epoch based proportional selection
- We define an epoch to have units of packets and
is an integer multiple of the total number of
nodes in this subtree and a positive integer n. - With each epoch we transmit from each queue
exactly n times the number of nodes serviced by
that queue. - Queues are FIFO
- No work conservation is implemented
25Fairness
In one time period transmit 2 from A, 1 from B, 1
from C and 1 from this parent node
C
A
1
B
2
1
26Fairness
- In node A, packets from B are received according
to Bs epoch - No order is imposed on childs transmission
- Within each epoch one packet per child
27Fairness
- Algorithm
- Selecting the next packet to transmit
-
- In node A, packets from B are received according
to Bs epoch - No order is imposed on childs transmission
28Fairness
- Algorithm
- Effect of non-work conservation
- Congestion in any branch of the network will
cause rates to decrease throughout all other
parts of the network -
29Fairness
- Algorithm
- Necessity of ARQ
- Implementing EPS without ARQ
- Suppose link between parent A and a child Q is
very lossy - A may miss time intervals to transmit as it waits
for Q to send data - Entire performance deteriorates due to one single
link ! - Best solution is to implement hop-by-hop ARQ
-
30Results
- Simulation
- Packet level simulation
- Bit rate, control packet size, data packet size
- No interference from motes more than one hop away
- Uses MACA as MAC protocol
- Round-robin servicing of queues to show effect
of loss of packets further away from the BS
31Results
- The (Congestion Control EPS) graph
- is a constant at 5000 packets
- The (Congestion Control PS) graph fluctuates
slightly around 5000 packets (probabilistic)
32Results
- Implementation on mica2dot motes
- MACA with transport layer ACKs
- 10 motes deployed indoors, within 15 feet of one
another - motes arbitrarily construct routing tree
- compare with round-robin servicing of queues
33Results
- BS receives more packets from nodes close by, in
round-robin.
34Conclusion
- Simple and scalable (? implementation)
- We showed that by measuring the effective
available bandwidth and obtaining the size of the
sub-trees, we can divide that bandwidth equally
amongst all downstream nodes. - ? Congestion control
- Using, Probabilistic Selection or Epoch-based
Proportional Selection with ARQ, we can enable
equal numbers of packets from all nodes to reach
the base station. - ? Fairness
- Since we solve congestion control and fairness in
the transport layer, our solution is independent
of the routing in the network layer, as well as
the MAC protocol in the data-link layer
35Thank you
Questions?