Project/Paper: UARA in edge routers: An effective approach to user fairness and traffic shaping

Date Completed: June 2009


The ever-increasing share of the peer-to-peer (P2P) traffic flowing in the Internet has unleashed new challenges to the quality of service provisioning. Striving to accommodate the rise of P2P traffic or to curb its growth has led to many schemes being proposed: P2P caches, P2P filters, ALTO mechanisms and re-ECN. In this paper, we propose a scheme named "UARA:User/Application-aware RED-based AQM" which has a better perspective on the problem: UARA is proposed to be implemented at the edge routers providing real-time near-end-user traffic shaping and congestion avoidance. UARA closes the loopholes exploited by the P2P traffic by bringing under control the P2P users who open and use numerous simultaneous connections. In congestion times, UARA monitors the flows of each user and caps the bandwidth used by "power users" which leads to the fair usage of network resources. While doing so, UARA also prioritizes the real-time traffic of each user, further enhancing the average user quality of experience (QoE). UARA hence centralizes three important functionalities at the edge routers: (1) congestion avoidance; (2) providing user fairness; (3) prioritizing real-time traffic. The simulation results indicate that average user QoE is significantly improved in congestion times with UARA at the edge routers.

Download paper:

doi: 10.1002/dac.1262 (preprint)

Main Keywords:

bandwidth usage fairness; flow rate fairness; peer-to-peer traffic; traffic optimization; traffic shaping; active queue management

Related Keywords:

re-ECN, ConEx, P2P filters, P2P caches, ALTO, P4P, Ono, BitTorrent, BitTorrent DNA, ISP Oracles, IDIPS, TCP Congestion Control, TCP-friendliness, Explicit Congestion Notification, ECN, Random Early Detection, RED, RED with Preferential Dropping, RED-PD, Random Exponential Marking, REM

UARA's Resources (NS-2 simulation)

NAM screenshot

Scenario configuration: main tcl file
The above file uses these:
common configurations
finish function
Depending on the active traffic types, these scripts are executed:
FTP , HTTP , Video , VoIP , P2P
For RED-PD: helper , monitoring
For UARA: helper-uara , monitoring-uara

Added hash classifier: .h , .cc

The simulation produces numerous trace files. These parsers have been written in Python to process the trace files and feed them to GnuPlot using a Python wrapper:
plotHTTPpage , plotHTTPrequest , plotHTTPrequestBar , plotQueueSizeByte , plotQueueSizeByteRED , plotQueueSizePacket , plotThroughputFTP , plotThroughputP2PSent , plotThroughputVideo , plotVoipFrameDelay , plotVoipMOS