SlideShare a Scribd company logo
1 of 48
DEPT. OF INFO. & COMM., GIST
Adaptive Video Streaming over
Wireless LAN with ns-2
Ph.D Candidate Hayoung Yoon
hyyoon@nm.gist.ac.kr
Networked Media Laboratory
Dept. of Information & Communications
Gwangju Institute of Science & Technology
NS-2 단기강좌 (2010. 11)
DEPT. OF INFO. & COMM., GIST
Agenda
Network Video Streaming Overview
NS-2 Video Streaming Simulation Fra
mework
Case Study: Cross-layered Optimizati
on
March 4, 2020, Page 2
DEPT. OF INFO. & COMM., GIST
Network Video Streaming Overview
March 4, 2020, Page 3
DEPT. OF INFO. & COMM., GIST
Mesh routers
Emerging Video Streaming Services over
Wireless/Mobile Networks
WLAN
access
point
< WLAN-based
A/V Home Network >
< Indoor Building
with mobile WLAN nodes>
Video
Servers
Over-provisioned
Wired Network
Media
Gateway
< Wireless Mesh Network
(WMN) Backbone>
access
point
End-to-End Quality of Video Applications, such as
Live/stored Video Broadcasting and Video on Demand,
over WLAN/WMN needs to be considered
DEPT. OF INFO. & COMM., GIST
Challenges in Wireless Media Delivery
Scarce and limited bandwidth compared to wired environment
Time-varying delay (and jitter) that depends on channel contention
and others
Fluctuating and bursty packet loss due to the fading/shadowing of
wireless channel and channel contention
Different QoS requirements for different types of media
Need unequal error control and priority-based scheduling schemes for
different types of media
Mobile variations including the handoff (transient loss and
disruption)
Complexity limitations due to power consumption of wireless
terminals
Low performance with traditional transport-layer protocols
Heterogeneity: Need to design an efficient transcoding with proxy
caching mechanism
Along with Security related issues
DEPT. OF INFO. & COMM., GIST
Media Delivery–Adaptation & Support
(Wireless)
Error Control
Media
Synchroni-
zation
Universal
Media
Access
(Proxy/Trans)
Congestion
(Rate, Flow)
Control
Dynamic
Network
Adaptation
Framework
Robust and
Scalable
Layered
Media
Representation
(Compressed
and
Prioritized) Network
Mobility
Support
Effective
Transport &
Protocol
Support
Network
Multicast
Support
Network QoS
Support
Other M/W
Support
(security
and others)
Monitoring
Adaptation
DEPT. OF INFO. & COMM., GIST
Wired/Wireless
Networks
Layered Video Encoding Receiver/
User
Network
Adaptation
Network Adaptation &
Prioritized Packetization
Video
Pre-
process-
ing
R-D
Analysis
Layered
en-
coding
Target
Minimum
Buffer Size
(Receiver
Constraint)
Target
Minimum
Bandwidth
(Network
Constraint)
Frame
Complexity
(Quality
Constraint)
Constant
Quality
Rate
Control
(Source
Rate/Error
Resilience)
(only if
applicable)
Prioritized
Packeti-
zation
Layered
RPI
Network
Monitoring
&
Feedback
Handling Application Feedback
Estimated
Available
Bandwidth,
Loss/Delay
Network Feedback
R-D /
Corruption
Model
Network Feedback (end-to-end)
Network
Adaptation
(Network
Filtering)
Media Delivery – Network Adaptation
Network
Adaptation
(Network
Rate/Loss/
Delay)
Network
Adaptation
(Receiver /
User
Adaptation)
Corrup-
tion
Analysis
DEPT. OF INFO. & COMM., GIST
Media Coding & Prioritized Packetization:
Possible Options
Transport
packet
with layered
priority,
timestamp, …
Parsing
Transport-
aware
packetizatio
n
I
0
I
0
I0 P1
P1
P1 B2
B2
packs
I0
I0
P
1
B
2
P
1
P1
B
2
Video packets
audio
Ring
buffer
Audio packets
audio
control
Control packets
I
0
Target
APP
( IM 1 )
MP-4 file
Parser
Object
Scheduler
Controller
NetworkInterface
DAI
NetworkInterface
Priority
Manager
DMIF Service
Manager
Data stream
Control Message
Server Part
Client Part
 Frame-based Prioritization
 Picture Coding Type : I, P, B
 Object-based Prioritization
 MPEG-4 Object
Elementary Stream(ES) based
Prioritization
Description Stream, Audio Stream,
Video Stream, …
 Layered RPI (Relative Priority Index)
for scalable (or layered) media stream
o RLI (Relative Loss-priority Index): from loss
propagation effect
o RDI (Relative delay-priority index):
application’s delay context
 Can be simplified and generalized for general
applications (e.g., prioritization for
immersive media data with A/V/G/Haptics)
DEPT. OF INFO. & COMM., GIST
Network-adaptive Layered Media
Streaming
Cellular Network
Internet
Domain A
Domain B
Domain C
Streaming Media Server
Wireless LAN
Mobile PC Mobile PC
Gateway
Base Layer (Layer 0)
Enhancement Layer 1 (Layer 1)
Enhancement Layer 2 (Layer 2)
Priority:
P(B) > P(E1) > P(E2) > … > P(EN)
DEPT. OF INFO. & COMM., GIST
Network-Adaptive Video Streaming over
WMN - Framework (2007-)
Internet
video
streams
Access pointMesh routers
< WMN Backbone> < WLAN>
Video Server
WMN gateway
Video
receiver
Real-time
parsing &
prioritized
packetization
Intermediate node QoS control
playout
Playout
buffering
Gateway architecture Video receiver architectureIntermediate node architecture
Packet
dropping
for rate
adaptation
Wireless
channel
monitoring
Packet
discarding
Network
monitoring
(multiple flow)
Cross-layer design
 Extension of the Network-Adaptive Streaming Framework in WLAN into Hop-
by-Hop Framework in WMNs  In each intermediate node, video adaptation
and monitoring functionalities are added
This part is approximately
implemented in present version
DEPT. OF INFO. & COMM., GIST
Network-Adaptive Video Streaming over
WMN – Intermediate node
 Intermediate Node Agent Implementation
 User Space: Video Adaptation module
 Kernel Space
 Maintaining per-flow state table
 Loss rate monitoring of video flow
 Interaction with User Space by using
IOCTL
Per-flow State Management
flow
identity
tx_succe
tx_try
flow
identity
tx_succe
tx_try
KernelSpaceUserSpace
MACinterfacequeue
IEEE 802.11
(madwifi-ng)
Observe
“tx_try”
demuxer
Intermedia Hop-drop agent IOCTL
IOCTL
Queryloss-rate
loss_rate=
1-tx_succ/tx_try
Observe
“tx_succ”
demuxer
traffictraffic
Noticeloss-rate
Video adaptation module
S RN1 Np
Intermediate
node agent
IEEE 802.11a-based
MAC & PHY
Static routing
Transport layer (UDP)
Intermediate
node agent
IEEE 802.11a-based
MAC & PHY
Static routing
Transport layer (UDP)
RTP packet
buffer
RTP packet
buffer
 Video adaptation functionality by agent
 RTP packet buffering
 Priority-based packet dropping
 Interaction with MAC & PHY
Interaction
[ Intermediate Node Agent Implementation Architecture ]
DEPT. OF INFO. & COMM., GIST
Experimental Results: WMN Testbed
 Deployed in GIST DIC 2nd floor
 1 Gateway (N1), 6 Intermediate nodes (N2~N7)
 IEEE 802.11a-based
 Single Interface
 Single video streaming service on single path
 N1 -> N2 -> N3 -> N4 -> N5 -> N6 -> video
receiver using static routing
 Background traffic (intra/inter-flow)
N1 (gateway)
N2
KOREN
N3
N4
N5
N6
N7
video receiver
video traffic
background traffic
Time(s)
0 50 100 150 200 250
Bitrate
0.0
5.0e+5
1.0e+6
1.5e+6
2.0e+6
2.5e+6
[ Background traffic characteristic: 2Mbps Pareto ]
DEPT. OF INFO. & COMM., GIST
 Temporal scalability of experimental video stream
 Clip length: 2 minutes
 GOP: IBBPBB, 30fps, 4Mbps
 4 Temporal layers (l1, l2, l3, l4)
 Rate profile of each temporal layer
 l1: 1.52Mbps, l2: 0.86Mbps, l3: 0.8Mbps, l4: 0.8Mbps
 Frame rate profile of each temporal layer
 l1: 5fps, l2: 5fps, l3: 10fps, l4: 10fps
I0 B1 B2 P3 B5 B6 Original GOP
I0
B1
B2
P3
B5
B6
l1: Base layer
l2
l3
l4
Enhancement
layers
< Temporal layering of experimental video stream>
Experimental Video & Competitive
Schemes
 Competitive Schemes
 NO_ADAPT: No adaptive streaming
 E2E_ADAPT: Network-adaptive streaming with end-to-end monitoring (See Appendix A.3)
 HOP_ADAPT: Proposed scheme
* Adaptation algorithm used in HOP_ADAPT is exactly same as the algorithm used in E2E_ADAPT for
fair performance comparison
DEPT. OF INFO. & COMM., GIST
Experimental Results
 Experimental Condition: N4 -> N3 background flow of 2Mbps Pareto Traffic
[ Video throughput measured at each node ]
NO_ADAPT E2E_ADAPT HOP_ADAPT
[ Received packet ratio for every video frame ] [ Accumulated Variance of Playout Discontinuity ]
DEPT. OF INFO. & COMM., GIST
NS-2 Video Streaming Simulation
Framework
March 4, 2020, Page 15
DEPT. OF INFO. & COMM., GIST
Emulator
Network Video Streaming
March 4, 2020, Page 16
Reduced transfer bitrate by compression
MPEG or H.26X
Transferred bit-stream may suffer loss, delay, or
jitter in the network
Not all frames are reconstructed successfully
1 2 N
Original video frames
Network
Video
Encoder
Video
Decoder
Video
bit-stream
1 2 N
Reconstructed
video frames
Video
bit-stream
……
…
DEPT. OF INFO. & COMM., GIST
Video Trace-based Simulation
Framework
Generate bit-stream
Map bits to a packet (packetization)
Map received packets and generate received bit-stream
Evaluate the quality of received video frames with respect to the originals
March 4, 2020, Page 17
Network
Simulator
Video Trace
Generator
Video Stream
Reconstructor
0 1 N…
Original video frames
Video
Encoder
Error-resilient
Video Decoder
Received video frames
0 1 N…
Video
bit-stream
DEPT. OF INFO. & COMM., GIST
B2B1
Video Trace Generation - Example
March 4, 2020, Page 18
Panasonic HD CAM Frame rate: 30 Frames/sec
Data rate: 19.2Mbits/sec (CBR I:B:P=8:8:4 Mbits )
GOP structure: IBBPBB (380 Pkts/GOP)
I B2B1P
200 msec
0 1 151 152 228…
I-frame: 152 pkts
189…
B-frame: 38 pkts
Packet Size: 1350 bytes
303…
P-frame: 76 pkts
… …
…
Encoded
Video Frames
(Bit-stream)
Generated
Packet sequence
(video trace)
379 …
GOP: group of pictures
DEPT. OF INFO. & COMM., GIST
Reconstruction of Received Frames
Convert sequence ID of packets to the encoded frames information
March 4, 2020, Page 19
PPGPacketFrame
PPG
Packet
GOP
IDLOC
ID
ID
mod




PPG: pkts/GOP
For each reception of GOP, reconstruct the IBBPBB frames
regarding the dependency of those frames
B2B1I B2B1P I
GOP0 GOP1
How is the priority relationship
among I,B, and P frames?
DEPT. OF INFO. & COMM., GIST
Performance Evaluation Methods (1)
March 4, 2020, Page 20
Quality
measure of
reconstructed
video
Objective Subjective
Per-frame-based
computation
Discontinuity
computation
Surveying QoE
Hybrid
approach
QoE: Quality of Experience
—Taxonomy—
DEPT. OF INFO. & COMM., GIST
Performance Evaluation Methods (2)
PSNR (peak-to-peak signal to noise
ratio) or PER (packet loss rate)
Measure
March 4, 2020, Page 21
– Per-frame-based computation –
Transferred Received
Frame ID
PSNR
Algo. 1
Algo. 2
PCI (Playout continuity index) Measure
– Discontinuity computation –
Transferred
Playout
PCI
Algo. 1 Algo. 2
time
time
…
…
Ex)
Ex)
Discontinuity
DEPT. OF INFO. & COMM., GIST
Performance Evaluation Methods (3)
March 4, 2020, Page 22
– Hybrid-approach –
time
Received Frames
time
Received Frames – Corrupted Frames
Discontinuity for
corrupted frames
Discontinuity for
corrupted frames
Discontinuity for
transmission delay
Pause TimemePlayout ti
Pause Time
PCI

1
Expressed over (0,1)
The higher the better quality
0.95 is normally regarded to target
performance
DEPT. OF INFO. & COMM., GIST
What will be followed…
Case studies
Video-rate adaptation with cross-layer channel monitoring
Contents in general
Duplication and modification of existing NS-2 modules
Relay information between two objects by “Packet Stamping”
Link two objects using the ::command method
Share information using static data structure/object (for global sync.)
Contents in specific
Video trace-based simulation
Runtime measurement of IEEE 802.11 WLAN traffic statistics
Evaluation of simulation output
March 4, 2020, Page 23
DEPT. OF INFO. & COMM., GIST
Case Study: Cross-layered
Optimization
March 4, 2020, Page 24
DEPT. OF INFO. & COMM., GIST
Network-Adaptive HD Video Streaming over WLAN: Priority-based
Video Rate Control with Cross-Layered Monitoring
March 4, 2020, Page 25
IEEE 802.11a WLAN
Real-time Parsing
& Prioritized
Packetization (RTP)
Network Adaptation Manager
Priority-based
frame dropping /
Layer-based Rate
Adaptation
RTP packets RTP packets
MAC layer loss rate,
MAC layer buffer overflow rate,
PHY transmission rate
PHY
MAC
19.2Mbps
HD video stream
CLO-based Channel
Monitoring
Streaming Server Architecture
HDD
Stored or Live HD
MPEG-2 TS
TS packets
End-to-end feedback packet
(RTP packet loss rate, average jitter)
drop stage
Video
Player
RTP
monitoring &
Feedback
Priority of RTP packets
Streaming Server with MADWiFi-ng
Mobile Streaming Client
Streaming Client Architecture
SHPARK@CL07
DEPT. OF INFO. & COMM., GIST
How Does it Work?
An amount of received video stream is NOT changing whether with
or without rate-adaptation
BUT, received contents is different if rate-adaptation works
Random loss Vs. priority-based rate-control
Drop less-important data at the sender side!
Enhance perceptual quality of received video stream!
March 4, 2020, Page 26
Streaming without rate-adaptation
Available channel resource (does God kno
Streaming with rate-adaptati
time
resource
DEPT. OF INFO. & COMM., GIST
NS-2 Implementation Block Diagram
March 4, 2020, Page 27
MAC
Streaming
Receiver
Streaming
Sender
IFQ
PHY
Channel
Monitoring
MAC
IFQ
PHY
Wireless Channel
Available
Channel
Time
Available
Channel
Time
Measurement
tools/tfragen_mp.cc
tools/trafgen_mp.h
tools/video_traffic.cc
agt/udp.cc
agt/udp.h
mac/mac-802_11a.cc
mac/mac-802_11a.h
mac/ch_mon_oop.cc
mac/ch_mon_oop.h
DEPT. OF INFO. & COMM., GIST
Vanilla ver. NS-2 Implementation Review
PHY/MAC
Single PHY rate (1Mbps by default)
Received packets are dropped only for the collision
Routing
AODV, TORA, or DSR in the “Vanilla” version of NS2
IEEE 802.11 Infrastructure mode (no routing required)
We adopted “NORT” (NO RouTing) from
http://www.winlab.rutgers.edu/~zhibinwu/html/ns_fading_error.html
Application
No application can dynamically adjust the priority of packets (in
IP header)
March 4, 2020, Page 28
DEPT. OF INFO. & COMM., GIST
IEEE 802.11a Implementation Choices?(1
)
From the scratch?
From the design to the new module implementation to the existin
g NS-2 structure
Frame headers, timers, backoff handling, and protocol specific rout
ines
Hard to evaluate how the new module is working correctly?
Time consuming
Keep the original IEEE 802.11 module in NS-2
Modification of existing IEEE 802.11 module?
Adding new data-rate support (6, 9, 12, 18, 24, 36, 48, and 54 M
bsp) and different IFS (inter-frame spacing) while keep all the oth
er routines
Easy and fast!
Loss of the original IEEE 802.11 module in NS-2March 4, 2020, Page 29
DEPT. OF INFO. & COMM., GIST
IEEE 802.11a Implementation Choices?(2
)
Is there any way to keep original IEEE 802.11 while we
modify the existing codes?
Duplication and modification of existing IEEE 802.11 module
March 4, 2020, Page 30
Ex) 802.11  802.11a
1. cd ns-2.29/mac/
2. sed ‘s/Mac802_11/Mac802_11a/g’ mac-802_11.cc > tmp.cc
3. sed ‘s/Mac802_11/Mac802_11a/g’ mac-802_11.h > tmp.h
4. sed ‘s/PHY_MIB/PHY11A_MIB/g’ tmp.cc > tmp-1.cc
5. sed ‘s/PHY_MIB/PHY11A_MIB/g’ tmp.h > tmp-1.h
6. sed ‘s/MAC_MIB/MAC11A_MIB/g’ tmp-1.cc > tmp-2.cc
7. sed ‘s/MAC_MIB/MAC11A_MIB/g’ tmp-1.h > tmp-2.h
8. sed ‘s/mac802_11/mac802_11a/g’ tmp-2.cc > mac-802_11a.cc
9. sed ‘s/mac802_11/mac802_11a/g’ tmp-2.h > mac-802_11a.h
# change all the class name “Mac802_11” to “Mac802_11a” in the
original file mac-802_11.cc and write to the new file mac-802_11a.cc
# mac-timer.cc (h) also need to be changed accordingly
DEPT. OF INFO. & COMM., GIST
IEEE 802.11a Implementation Choices?(3
)
March 4, 2020, Page 31
Ex) 802.11  802.11a
1. cd ns-2.29/
2. vim Makefile.in
3. edit: OBJ_CC=… mac/ll.o mac/mac-802_11.o mac/mac-802_11a.o …
1. cd ns-2.29/tcl/lib
2. vim ns-default.tcl
3. edit: duplicate all Mac/802_11 parameters and rename them to Mac/802_11a as
below:
# modify Makefile.in to compile 802.11a module
# ns-default.tcl
Mac/802_11 set CWMin_ 31
…
Mac/802_11 set LongRetryLimit_ 4 ;# retransmissions
Mac/802_11a set CWMin_ 31
…
DEPT. OF INFO. & COMM., GIST
IEEE 802.11a Implementation Choices?(4
)
March 4, 2020, Page 32
Ex) 802.11  802.11a
1. cd ns-2.29/tcl/lan
2. vim ns-mac.tcl
3. add new is-class function for Mac/802_11a
# ns-mac.tcl
…
if [TclObject is-class Mac/802_11] {
Mac/802_11 set delay_ 64us
…
Mac/802_11 set rtxRetryLimit_ 1
}
if [TclObject is-class Mac/802_11a] {
Mac/802_11a set delay_ 64us
…
Mac/802_11a set rtxRetryLimit_ 1
}
4. cd ns-2.29/
5. make clean; ./configure; make
# Compile NS-2 with new 802_11a
module
6. cd ns-2.29/tcl/ex/
7. run simple-wireless.tcl with 802_11
and 802_11a and compare the output
trace files
# simple-wireless.tcl
…
set val(mac) Mac/802_11
# simple-wireless.tcl
…
set val(mac) Mac/802_11a
 With Mac/802_11
 With Mac/802_11a
DEPT. OF INFO. & COMM., GIST
IEEE 802.11a PHY Implementation (1)
Transfer packet at higher data-rate is simply done
Assign transmission time to the HDR_CMN.txtime_
But, how can we deliver transmitted data-rate information to the receiv
er?
Let’s put that information to the NS-2 Packet structure (discuss later)
March 4, 2020, Page 33
Line # function: sendData (Packet *p) in mac-802_11
a.cc
1176 hdr_cmn* ch = HDR_CMN(p);
… …
1204 current_mode = rate_to_mode(LA->get_rate());
… …
1209
ch->txtime() = txtime(ch->size(),
PHY11a_dataRate_[current_mode]);
– Packet transmission at different rate –
802.11a MAC
::PHY11a_dataRate_[1]
.
.
.
::PHY11a_dataRate_[8]
6Mbps
54Mbps
DEPT. OF INFO. & COMM., GIST
IEEE 802.11a PHY Implementation (2)
Put a “stamp” to each Packet sent to
carry data-rate and SINR information
The “stamp” must be copied when th
e original packet is copied!
“Stamping” is very useful to deliver t
he information at one node to the oth
ers
Avoid to use a global storage (static)
March 4, 2020, Page 34
Line
#
class: Packet (Packet *p) in packet.h
346 class Packet : public Event {
… …
407 ChannelStamp chinfo_;
… …
622 inline Packet* Packet::copy() const{
623 Packet* p = alloc();
… …
630 p->chinfo_.init(&chinfo_);
632 …}
– Relay data-rate and SINR information –
ChannelStamp Data-rate
SINR
Packet
DEPT. OF INFO. & COMM., GIST March 4, 2020, Page 35
IEEE 802.11a PHY Implementation (3)
See “mac/per_table_11a.h”
to find PER (packet error
rate) for the specific SINR
and length of received
packets [Qiao@TOMC02]
Decision of packet drop is
done at MAC (mac/mac-
802_11a.cc)
Line # function: recv_timer() in mac-802_11a.cc
1578 double snr = pktRx_->chinfo_.getSigdB();
1579 int mod = pktRx_->chinfo_.getModulationMode();
1580 int Psize = ch->size();
1581 double per_ = per.get_per(Psize, mod, snr);
1582 bool result = per.decision(per_);
… …
1588 if(result == false) {
… …
1609 discard(pktRx_, "SNR");
1612 … }
– Packet drop control –
0 5 10 15 20 25 30
0
5
10
15
20
25
30
35
Effectivegoodput(Mbps)
Effective Goodput (MSDU=1500 Bytes)
Eav
/No
(dB)
Mode8
Mode7
Mode4
Mode6
Mode5
Mode3
Mode2
Mode1
DEPT. OF INFO. & COMM., GIST
Other Components in 802.11a MAC
Gilbert-Eliot channel model
Auto-rate Fallback
Measurement of MAC traffic statisti
cs
RX/TX success
RX/TX failure
Channel time monitoring module
March 4, 2020, Page 36
GE_model
802.11a MAC
ARF
Measurement
Link_layer_
Monitor_time
mac/ch_model_oop.cc
mac/ch_model_oop.h
mac/link_adaptation_oop.cc
mac/link_adaptation_oop.h
mac/ch_mon_oop.cc
mac/ch_mon_oop.h
mac/ch_mon_oop.cc
mac/ch_mon_oop.h
.
.
.
Only AP has
DEPT. OF INFO. & COMM., GIST
Measurement Routine (1)
AP periodically
measures traffic
statistics within WLAN
March 4, 2020, Page 37
AP
STA STA
STA STA
802.11a MAC
.
.
.
::sendACK
::recvACK
::recv_timer
::RetransmitDATA
Detect TX success
Detect TX failure
DEPT. OF INFO. & COMM., GIST March 4, 2020, Page 38
Measurement Routine (2)
Line # function: sendACK() in mac-802_11a.cc
1146 if(AP) {
1147 double rate = get_mod_rate(pktRx_);
1148 int rate_mode = rate_to_mode(rate);
1149 hdr_cmn* ch_rx = HDR_CMN(pktRx_);
1150 int plen = ch_rx->size() + phymib_.getPLCPhdrLen();
1151 measurement_[rate_mode]->success(1, plen);
1152 }
– TX success measurement –
Line # function: recvACK() in mac-802_11a.cc
1888 if(AP) {
1889 struct hdr_cmn *ch_tx = HDR_CMN(pktTx_);
1890 measurement_[current_mode]->success(1, ch_tx->size());
1891 }
Measurement
::success
::retransmit_data
.
.
.
DEPT. OF INFO. & COMM., GIST March 4, 2020, Page 39
Measurement Routine (3)
Line
#
function: recv_timer() in mac-802_11a.cc
1497 if(rx_state_ == MAC_COLL) {
… …
1508
measurement_[rate_mode]->retransmission_data(1,ch->size())
;
… …
1520 if( ch->error() ) {
… …
1530
measurement_[rate_mode]->retransmission_data(1,ch->size())
;
– TX failure measurement –
Line
#
function: RetransmitData() in mac-802_11a.cc
1300 if(AP) {
1301
measurement_[rate_mode]->retransmission_data(1,ch->size())
;
… …
Measurement
::success
::retransmit_data
.
.
.
DEPT. OF INFO. & COMM., GIST
Available Resource Computation
Periodically calculate the available
wireless channel resource
Available = Period – Utilized – Overhead
Initialize measurement information
March 4, 2020, Page 40
Line
#
function: est_timeout () in mac-802_11a.
cc
1497 if(AP){
… est_timer.resched(1.0);
1508 llmt.update_capacity(measurement_, 1.0);
… for(int i=0;i < MAX_N_PHY_RATE; i++)
1520 measurement_[i]->init();
… …
1540 upper_layer[i]->do_adaptation();
Link_layer_
Monitor_time
::updata_capacity()
::get_available()
::get_used()
::get_overhead()
SHPARK@CL07
Hayoung@CL07
goto-adaptation
DEPT. OF INFO. & COMM., GIST
Streaming Server Implementation (1)
Packet priority assignment
Recall frame decoding dependency
I > P > B1 = B2
Video trace (ds_level.txt)
Packet sequence & priority trace for a
GOP
Streaming server (video_traffic.c
c) initialize prio[seq] array using
ds_level.txtMarch 4, 2020, Page 41
0:4
1:4
…
151:4
152:1
153:1
…
189:1
190:2
191:2
…
227:2
228:3
229:3
…
303:3
304:1
305:1
…
341:1
342:2
343:2
…
379:2
ds_level.txt
I
B
B
P
B
B
Streaming server
video_traffic.cc trafgen_mp.cc trafgen_mp.h
cbr_traffic.cc trafgen.cc trafgen.h
DEPT. OF INFO. & COMM., GIST
Streaming Server Implementation (2)
March 4, 2020, Page 42
TX timer expire
send(seq, prio[seq])
prio[seq] > drop
get_next_interval
reschedule TX timer
No
Yes
B2B1I B2B1P I
B2I B2P I
I P I
I I
drop=0
drop=1
drop=2
drop=3
Adaptation routine should decide “drop” dynamically
DEPT. OF INFO. & COMM., GIST
Application-MAC Linkage (1)
March 4, 2020, Page 43
– TCL script –
Line
#
video_ex6.tcl
130 set BS(0) [$ns node 1.0.0]
… …
138 [$BS(0) set mac_(0)] setAP
… …
181 set app($i) [new Application/Traffic/VIDEO]
… …
190 $app($i) add-mac [$BS(0) set mac_(0)]
… …
192 [$BS(0) set mac_(0)] add-upperlayer-object $app($i)
DEPT. OF INFO. & COMM., GIST
Application-MAC Linkage (2)
March 4, 2020, Page 44
Line # function: command() in mac-802_11a.cc
397 int Mac802_11a::command(int argc, const char*const* argv){
398 if (argc == 3) {
399 if( strcmp(argv[1], "add-upperlayer-object") == 0) {
400 TrafficGenerator_mp *temp = (TrafficGenerator_mp*) TclObject::lookup(argv[2]);
401 upper_layer[temp->dest_mac_id] = temp;
... …
– C++ implementation –
Line # function: command() in trafgen_mp.cc
66 int TrafficGenerator_mp::command(int argc, const char*const* argv){
67 if (argc == 3) {
68 if( strcmp(argv[1], "add-mac") == 0) {
69 mac = (MAC_CLASS*) TclObject::lookup(argv[2]);
70 return TCL_OK;
... …
DEPT. OF INFO. & COMM., GIST
Run Simulation
Run
ns video_ex6.tcl [seed] [sim_time
]
Option
with dynamic adaptation
$app($i) dynamic-adaptation 1
without dynamic adaptation
$app($i) dynamic-adaptation 0
Output
frame_recovery_time.tr
March 4, 2020, Page 45
AP
STASTA STA
paretopareto
video
I frame: 0 recovered at 2.092667
P frame: 3 recovered at 2.177218
B frame: 1 recovered at 2.177218
B frame: 2 recovered at 2.177218
I frame: 6 recovered at 2.282833
…
frame_recovery_time.tr
- Topology -
DEPT. OF INFO. & COMM., GIST
Performance Evaluation (1)
Measure
Inter-frame-distance
Time difference between consecutive recovered frame
Average-distance
Average of Inter-frame-distance
Smoothness
RMS (Inter-frame-distance, Average-distacne)
March 4, 2020, Page 46
0 543 8 1110
time
RMS: root-mean-square
Inter-frame-
distance[3]
… Inter-frame-
distance[5]
Inter-frame-
distance[8]
Inter-frame-
distance[10]
Inter-frame-
distance[11]
DEPT. OF INFO. & COMM., GIST
Performance Evaluation (2)
The larger the smoothne
ss,
the lower the QoS!March 4, 2020, Page 47
#AWK code Run: ./cal_smooth.awk frame-recovery-tim
e.tr
#!/usr/bin/awk -f
BEGIN{
}
{
recovery[$3+1] = 1
recovery_T[$3+1] = $6
last_frame=$3+1
}
END{
for (i=2;i<last_frame+1;i++) {
if (recovery[i]==1) {
inter_recovery_time[i]=
recovery_T[i] - recovery_T[i-lost_fr
ame_len-1]
loss_frame_len=0
acc=acc+inter_recovery_time[i]
cnt++
} else {
loss_fram_len++
}
}
average_distance = acc/cnt
acc=0;cnt=0
for (i=2;i<last_frame+1;i++) {
if(recovery[i]==1) {
acc=acc + 
((average_distance – inter_recovery_time[i]
)^2.0)^0.5
cnt++
}
}
printf(“smoothness: %f Avg. dist.: %fn”, 
acc/cnt, average_distance);
}
DEPT. OF INFO. & COMM., GIST
Thank you!
Send Inquiry to
hyyoon@nm.gist.ac.kr
Visit our homepage to download NS-2 source codes
http://nm.gist.ac.kr/twiki/bin/view/Main/HayoungYoon
Gwangju Institute of
Science & Technology

More Related Content

What's hot

Video Compression, Part 2-Section 1, Video Coding Concepts
Video Compression, Part 2-Section 1, Video Coding Concepts Video Compression, Part 2-Section 1, Video Coding Concepts
Video Compression, Part 2-Section 1, Video Coding Concepts Dr. Mohieddin Moradi
 
Applied technology
Applied technologyApplied technology
Applied technologyErica Fressa
 
Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding StandardVideoguy
 
VVC tutorial at VCIP 2020 together with Benjamin Bross
VVC tutorial at VCIP 2020 together with Benjamin BrossVVC tutorial at VCIP 2020 together with Benjamin Bross
VVC tutorial at VCIP 2020 together with Benjamin BrossMathias Wien
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.pptVideoguy
 
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN, OPPORTUNITIES & CHALLENGES
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN,   OPPORTUNITIES & CHALLENGESVIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN,   OPPORTUNITIES & CHALLENGES
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN, OPPORTUNITIES & CHALLENGESDr. Mohieddin Moradi
 
VVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin BrossVVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin BrossMathias Wien
 
DIC_video_coding_standards_07
DIC_video_coding_standards_07DIC_video_coding_standards_07
DIC_video_coding_standards_07aniruddh Tyagi
 
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...Mathias Wien
 
presentation
presentationpresentation
presentationVideoguy
 

What's hot (20)

IPTV Codec & Packeting
IPTV Codec & PacketingIPTV Codec & Packeting
IPTV Codec & Packeting
 
H263.ppt
H263.pptH263.ppt
H263.ppt
 
Video Compression, Part 2-Section 1, Video Coding Concepts
Video Compression, Part 2-Section 1, Video Coding Concepts Video Compression, Part 2-Section 1, Video Coding Concepts
Video Compression, Part 2-Section 1, Video Coding Concepts
 
H261
H261H261
H261
 
Applied technology
Applied technologyApplied technology
Applied technology
 
SDI to IP 2110 Transition Part 1
SDI to IP 2110 Transition Part 1SDI to IP 2110 Transition Part 1
SDI to IP 2110 Transition Part 1
 
Video Coding Standard
Video Coding StandardVideo Coding Standard
Video Coding Standard
 
Matrix setu ata vs linksys spa3102
Matrix  setu ata vs linksys spa3102Matrix  setu ata vs linksys spa3102
Matrix setu ata vs linksys spa3102
 
Ip live production
Ip live productionIp live production
Ip live production
 
VVC tutorial at VCIP 2020 together with Benjamin Bross
VVC tutorial at VCIP 2020 together with Benjamin BrossVVC tutorial at VCIP 2020 together with Benjamin Bross
VVC tutorial at VCIP 2020 together with Benjamin Bross
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.ppt
 
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN, OPPORTUNITIES & CHALLENGES
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN,   OPPORTUNITIES & CHALLENGESVIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN,   OPPORTUNITIES & CHALLENGES
VIDEO QUALITY ENHANCEMENT IN BROADCAST CHAIN, OPPORTUNITIES & CHALLENGES
 
H.263 Video Codec
H.263 Video CodecH.263 Video Codec
H.263 Video Codec
 
VVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin BrossVVC tutorial at ICIP 2020 together with Benjamin Bross
VVC tutorial at ICIP 2020 together with Benjamin Bross
 
Video coding standards ppt
Video coding standards pptVideo coding standards ppt
Video coding standards ppt
 
DIC_video_coding_standards_07
DIC_video_coding_standards_07DIC_video_coding_standards_07
DIC_video_coding_standards_07
 
MPEG4 vs H.264
MPEG4 vs H.264MPEG4 vs H.264
MPEG4 vs H.264
 
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
ICME 2016 - High Efficiency Video Coding - Coding Tools and Specification: HE...
 
presentation
presentationpresentation
presentation
 
20 Years of Streaming in 20 Minutes
20 Years of Streaming in 20 Minutes20 Years of Streaming in 20 Minutes
20 Years of Streaming in 20 Minutes
 

Similar to Adaptive Video Streaming over Wireless LAN

Performance evaluation of mpeg 4 video transmission over ip-networks
Performance evaluation of mpeg 4 video transmission over ip-networksPerformance evaluation of mpeg 4 video transmission over ip-networks
Performance evaluation of mpeg 4 video transmission over ip-networksAlexander Decker
 
11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...
11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...
11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...Alexander Decker
 
JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009Hal J. Reisiger
 
Video Streaming Compression for Wireless Multimedia Sensor Networks
Video Streaming Compression for Wireless Multimedia Sensor NetworksVideo Streaming Compression for Wireless Multimedia Sensor Networks
Video Streaming Compression for Wireless Multimedia Sensor NetworksIOSR Journals
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresVideoguy
 
Enensys - An Architecture for the Delivery of DVB Services Over IP Networks
Enensys - An Architecture for the Delivery of DVB Services Over IP NetworksEnensys - An Architecture for the Delivery of DVB Services Over IP Networks
Enensys - An Architecture for the Delivery of DVB Services Over IP NetworksSematron UK Ltd
 
High Definition On MPEG In Internet Protocol (Wbm Comments)
High Definition On MPEG In Internet Protocol (Wbm Comments)High Definition On MPEG In Internet Protocol (Wbm Comments)
High Definition On MPEG In Internet Protocol (Wbm Comments)Kelly Daniels
 
09a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_209a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_2Pptblog Pptblogcom
 
Digital Media Production - Future Internet
Digital Media Production - Future InternetDigital Media Production - Future Internet
Digital Media Production - Future InternetMaarten Verwaest
 
Audio/Video Streaming over 802.11
Audio/Video Streaming over 802.11Audio/Video Streaming over 802.11
Audio/Video Streaming over 802.11Videoguy
 
Sinnreich Henry Johnston Alan Pt 2
Sinnreich Henry Johnston Alan   Pt 2Sinnreich Henry Johnston Alan   Pt 2
Sinnreich Henry Johnston Alan Pt 2Carl Ford
 
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...PROIDEA
 

Similar to Adaptive Video Streaming over Wireless LAN (20)

Performance evaluation of mpeg 4 video transmission over ip-networks
Performance evaluation of mpeg 4 video transmission over ip-networksPerformance evaluation of mpeg 4 video transmission over ip-networks
Performance evaluation of mpeg 4 video transmission over ip-networks
 
11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...
11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...
11.performance evaluation of mpeg 0004www.iiste.org call for-paper video tran...
 
JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009
 
Video Streaming Compression for Wireless Multimedia Sensor Networks
Video Streaming Compression for Wireless Multimedia Sensor NetworksVideo Streaming Compression for Wireless Multimedia Sensor Networks
Video Streaming Compression for Wireless Multimedia Sensor Networks
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_Pres
 
Ppt1140802001
Ppt1140802001Ppt1140802001
Ppt1140802001
 
Week14
Week14Week14
Week14
 
Week14
Week14Week14
Week14
 
Enensys - An Architecture for the Delivery of DVB Services Over IP Networks
Enensys - An Architecture for the Delivery of DVB Services Over IP NetworksEnensys - An Architecture for the Delivery of DVB Services Over IP Networks
Enensys - An Architecture for the Delivery of DVB Services Over IP Networks
 
High Definition On MPEG In Internet Protocol (Wbm Comments)
High Definition On MPEG In Internet Protocol (Wbm Comments)High Definition On MPEG In Internet Protocol (Wbm Comments)
High Definition On MPEG In Internet Protocol (Wbm Comments)
 
09a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_209a video compstream_intro_trd_23-nov-2005v0_2
09a video compstream_intro_trd_23-nov-2005v0_2
 
Performance Evaluation of Iptv over Wimax Networks Under Different Terrain En...
Performance Evaluation of Iptv over Wimax Networks Under Different Terrain En...Performance Evaluation of Iptv over Wimax Networks Under Different Terrain En...
Performance Evaluation of Iptv over Wimax Networks Under Different Terrain En...
 
Internet Video
Internet VideoInternet Video
Internet Video
 
Barcelona keynote web
Barcelona keynote webBarcelona keynote web
Barcelona keynote web
 
Digital Media Production - Future Internet
Digital Media Production - Future InternetDigital Media Production - Future Internet
Digital Media Production - Future Internet
 
videomon
videomonvideomon
videomon
 
Audio/Video Streaming over 802.11
Audio/Video Streaming over 802.11Audio/Video Streaming over 802.11
Audio/Video Streaming over 802.11
 
Sinnreich Henry Johnston Alan Pt 2
Sinnreich Henry Johnston Alan   Pt 2Sinnreich Henry Johnston Alan   Pt 2
Sinnreich Henry Johnston Alan Pt 2
 
Introduction to PROFINET - Derek Lane of Wago
Introduction to PROFINET -  Derek Lane of WagoIntroduction to PROFINET -  Derek Lane of Wago
Introduction to PROFINET - Derek Lane of Wago
 
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
PLNOG15: VidMon - monitoring video signal quality in Service Provider IP netw...
 

More from Hayoung Yoon

[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence Evaluations
[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence Evaluations[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence Evaluations
[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence EvaluationsHayoung Yoon
 
[Dec./2017] My Personal/Professional Journey after Graduate Univ.
[Dec./2017] My Personal/Professional Journey after Graduate Univ.[Dec./2017] My Personal/Professional Journey after Graduate Univ.
[Dec./2017] My Personal/Professional Journey after Graduate Univ.Hayoung Yoon
 
[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...
[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...
[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...Hayoung Yoon
 
[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance Measurement
[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance Measurement[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance Measurement
[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance MeasurementHayoung Yoon
 
[Mar./2014] WiFi : Filling the Big Pipe
[Mar./2014] WiFi : Filling the Big Pipe[Mar./2014] WiFi : Filling the Big Pipe
[Mar./2014] WiFi : Filling the Big PipeHayoung Yoon
 
[Oct./2012] WiFi : More Than Internet Connectivity
[Oct./2012] WiFi : More Than Internet Connectivity[Oct./2012] WiFi : More Than Internet Connectivity
[Oct./2012] WiFi : More Than Internet ConnectivityHayoung Yoon
 

More from Hayoung Yoon (6)

[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence Evaluations
[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence Evaluations[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence Evaluations
[May/2017] Bluetooth 5.0 Overview & Wi-Fi/BT Coexistence Evaluations
 
[Dec./2017] My Personal/Professional Journey after Graduate Univ.
[Dec./2017] My Personal/Professional Journey after Graduate Univ.[Dec./2017] My Personal/Professional Journey after Graduate Univ.
[Dec./2017] My Personal/Professional Journey after Graduate Univ.
 
[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...
[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...
[July/2015] Android Wi-Fi Direct/Display Overview and Performance Measurement...
 
[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance Measurement
[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance Measurement[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance Measurement
[Nov./2014] Android Wi-Fi Direct/Display Overview and Performance Measurement
 
[Mar./2014] WiFi : Filling the Big Pipe
[Mar./2014] WiFi : Filling the Big Pipe[Mar./2014] WiFi : Filling the Big Pipe
[Mar./2014] WiFi : Filling the Big Pipe
 
[Oct./2012] WiFi : More Than Internet Connectivity
[Oct./2012] WiFi : More Than Internet Connectivity[Oct./2012] WiFi : More Than Internet Connectivity
[Oct./2012] WiFi : More Than Internet Connectivity
 

Recently uploaded

DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsAlirezaBagherian3
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodManicka Mamallan Andavar
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONjhunlian
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 

Recently uploaded (20)

DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
Industrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal CompressorsIndustrial Applications of Centrifugal Compressors
Industrial Applications of Centrifugal Compressors
 
Levelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument methodLevelling - Rise and fall - Height of instrument method
Levelling - Rise and fall - Height of instrument method
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTIONTHE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
THE SENDAI FRAMEWORK FOR DISASTER RISK REDUCTION
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 

Adaptive Video Streaming over Wireless LAN

  • 1. DEPT. OF INFO. & COMM., GIST Adaptive Video Streaming over Wireless LAN with ns-2 Ph.D Candidate Hayoung Yoon hyyoon@nm.gist.ac.kr Networked Media Laboratory Dept. of Information & Communications Gwangju Institute of Science & Technology NS-2 단기강좌 (2010. 11)
  • 2. DEPT. OF INFO. & COMM., GIST Agenda Network Video Streaming Overview NS-2 Video Streaming Simulation Fra mework Case Study: Cross-layered Optimizati on March 4, 2020, Page 2
  • 3. DEPT. OF INFO. & COMM., GIST Network Video Streaming Overview March 4, 2020, Page 3
  • 4. DEPT. OF INFO. & COMM., GIST Mesh routers Emerging Video Streaming Services over Wireless/Mobile Networks WLAN access point < WLAN-based A/V Home Network > < Indoor Building with mobile WLAN nodes> Video Servers Over-provisioned Wired Network Media Gateway < Wireless Mesh Network (WMN) Backbone> access point End-to-End Quality of Video Applications, such as Live/stored Video Broadcasting and Video on Demand, over WLAN/WMN needs to be considered
  • 5. DEPT. OF INFO. & COMM., GIST Challenges in Wireless Media Delivery Scarce and limited bandwidth compared to wired environment Time-varying delay (and jitter) that depends on channel contention and others Fluctuating and bursty packet loss due to the fading/shadowing of wireless channel and channel contention Different QoS requirements for different types of media Need unequal error control and priority-based scheduling schemes for different types of media Mobile variations including the handoff (transient loss and disruption) Complexity limitations due to power consumption of wireless terminals Low performance with traditional transport-layer protocols Heterogeneity: Need to design an efficient transcoding with proxy caching mechanism Along with Security related issues
  • 6. DEPT. OF INFO. & COMM., GIST Media Delivery–Adaptation & Support (Wireless) Error Control Media Synchroni- zation Universal Media Access (Proxy/Trans) Congestion (Rate, Flow) Control Dynamic Network Adaptation Framework Robust and Scalable Layered Media Representation (Compressed and Prioritized) Network Mobility Support Effective Transport & Protocol Support Network Multicast Support Network QoS Support Other M/W Support (security and others) Monitoring Adaptation
  • 7. DEPT. OF INFO. & COMM., GIST Wired/Wireless Networks Layered Video Encoding Receiver/ User Network Adaptation Network Adaptation & Prioritized Packetization Video Pre- process- ing R-D Analysis Layered en- coding Target Minimum Buffer Size (Receiver Constraint) Target Minimum Bandwidth (Network Constraint) Frame Complexity (Quality Constraint) Constant Quality Rate Control (Source Rate/Error Resilience) (only if applicable) Prioritized Packeti- zation Layered RPI Network Monitoring & Feedback Handling Application Feedback Estimated Available Bandwidth, Loss/Delay Network Feedback R-D / Corruption Model Network Feedback (end-to-end) Network Adaptation (Network Filtering) Media Delivery – Network Adaptation Network Adaptation (Network Rate/Loss/ Delay) Network Adaptation (Receiver / User Adaptation) Corrup- tion Analysis
  • 8. DEPT. OF INFO. & COMM., GIST Media Coding & Prioritized Packetization: Possible Options Transport packet with layered priority, timestamp, … Parsing Transport- aware packetizatio n I 0 I 0 I0 P1 P1 P1 B2 B2 packs I0 I0 P 1 B 2 P 1 P1 B 2 Video packets audio Ring buffer Audio packets audio control Control packets I 0 Target APP ( IM 1 ) MP-4 file Parser Object Scheduler Controller NetworkInterface DAI NetworkInterface Priority Manager DMIF Service Manager Data stream Control Message Server Part Client Part  Frame-based Prioritization  Picture Coding Type : I, P, B  Object-based Prioritization  MPEG-4 Object Elementary Stream(ES) based Prioritization Description Stream, Audio Stream, Video Stream, …  Layered RPI (Relative Priority Index) for scalable (or layered) media stream o RLI (Relative Loss-priority Index): from loss propagation effect o RDI (Relative delay-priority index): application’s delay context  Can be simplified and generalized for general applications (e.g., prioritization for immersive media data with A/V/G/Haptics)
  • 9. DEPT. OF INFO. & COMM., GIST Network-adaptive Layered Media Streaming Cellular Network Internet Domain A Domain B Domain C Streaming Media Server Wireless LAN Mobile PC Mobile PC Gateway Base Layer (Layer 0) Enhancement Layer 1 (Layer 1) Enhancement Layer 2 (Layer 2) Priority: P(B) > P(E1) > P(E2) > … > P(EN)
  • 10. DEPT. OF INFO. & COMM., GIST Network-Adaptive Video Streaming over WMN - Framework (2007-) Internet video streams Access pointMesh routers < WMN Backbone> < WLAN> Video Server WMN gateway Video receiver Real-time parsing & prioritized packetization Intermediate node QoS control playout Playout buffering Gateway architecture Video receiver architectureIntermediate node architecture Packet dropping for rate adaptation Wireless channel monitoring Packet discarding Network monitoring (multiple flow) Cross-layer design  Extension of the Network-Adaptive Streaming Framework in WLAN into Hop- by-Hop Framework in WMNs  In each intermediate node, video adaptation and monitoring functionalities are added This part is approximately implemented in present version
  • 11. DEPT. OF INFO. & COMM., GIST Network-Adaptive Video Streaming over WMN – Intermediate node  Intermediate Node Agent Implementation  User Space: Video Adaptation module  Kernel Space  Maintaining per-flow state table  Loss rate monitoring of video flow  Interaction with User Space by using IOCTL Per-flow State Management flow identity tx_succe tx_try flow identity tx_succe tx_try KernelSpaceUserSpace MACinterfacequeue IEEE 802.11 (madwifi-ng) Observe “tx_try” demuxer Intermedia Hop-drop agent IOCTL IOCTL Queryloss-rate loss_rate= 1-tx_succ/tx_try Observe “tx_succ” demuxer traffictraffic Noticeloss-rate Video adaptation module S RN1 Np Intermediate node agent IEEE 802.11a-based MAC & PHY Static routing Transport layer (UDP) Intermediate node agent IEEE 802.11a-based MAC & PHY Static routing Transport layer (UDP) RTP packet buffer RTP packet buffer  Video adaptation functionality by agent  RTP packet buffering  Priority-based packet dropping  Interaction with MAC & PHY Interaction [ Intermediate Node Agent Implementation Architecture ]
  • 12. DEPT. OF INFO. & COMM., GIST Experimental Results: WMN Testbed  Deployed in GIST DIC 2nd floor  1 Gateway (N1), 6 Intermediate nodes (N2~N7)  IEEE 802.11a-based  Single Interface  Single video streaming service on single path  N1 -> N2 -> N3 -> N4 -> N5 -> N6 -> video receiver using static routing  Background traffic (intra/inter-flow) N1 (gateway) N2 KOREN N3 N4 N5 N6 N7 video receiver video traffic background traffic Time(s) 0 50 100 150 200 250 Bitrate 0.0 5.0e+5 1.0e+6 1.5e+6 2.0e+6 2.5e+6 [ Background traffic characteristic: 2Mbps Pareto ]
  • 13. DEPT. OF INFO. & COMM., GIST  Temporal scalability of experimental video stream  Clip length: 2 minutes  GOP: IBBPBB, 30fps, 4Mbps  4 Temporal layers (l1, l2, l3, l4)  Rate profile of each temporal layer  l1: 1.52Mbps, l2: 0.86Mbps, l3: 0.8Mbps, l4: 0.8Mbps  Frame rate profile of each temporal layer  l1: 5fps, l2: 5fps, l3: 10fps, l4: 10fps I0 B1 B2 P3 B5 B6 Original GOP I0 B1 B2 P3 B5 B6 l1: Base layer l2 l3 l4 Enhancement layers < Temporal layering of experimental video stream> Experimental Video & Competitive Schemes  Competitive Schemes  NO_ADAPT: No adaptive streaming  E2E_ADAPT: Network-adaptive streaming with end-to-end monitoring (See Appendix A.3)  HOP_ADAPT: Proposed scheme * Adaptation algorithm used in HOP_ADAPT is exactly same as the algorithm used in E2E_ADAPT for fair performance comparison
  • 14. DEPT. OF INFO. & COMM., GIST Experimental Results  Experimental Condition: N4 -> N3 background flow of 2Mbps Pareto Traffic [ Video throughput measured at each node ] NO_ADAPT E2E_ADAPT HOP_ADAPT [ Received packet ratio for every video frame ] [ Accumulated Variance of Playout Discontinuity ]
  • 15. DEPT. OF INFO. & COMM., GIST NS-2 Video Streaming Simulation Framework March 4, 2020, Page 15
  • 16. DEPT. OF INFO. & COMM., GIST Emulator Network Video Streaming March 4, 2020, Page 16 Reduced transfer bitrate by compression MPEG or H.26X Transferred bit-stream may suffer loss, delay, or jitter in the network Not all frames are reconstructed successfully 1 2 N Original video frames Network Video Encoder Video Decoder Video bit-stream 1 2 N Reconstructed video frames Video bit-stream …… …
  • 17. DEPT. OF INFO. & COMM., GIST Video Trace-based Simulation Framework Generate bit-stream Map bits to a packet (packetization) Map received packets and generate received bit-stream Evaluate the quality of received video frames with respect to the originals March 4, 2020, Page 17 Network Simulator Video Trace Generator Video Stream Reconstructor 0 1 N… Original video frames Video Encoder Error-resilient Video Decoder Received video frames 0 1 N… Video bit-stream
  • 18. DEPT. OF INFO. & COMM., GIST B2B1 Video Trace Generation - Example March 4, 2020, Page 18 Panasonic HD CAM Frame rate: 30 Frames/sec Data rate: 19.2Mbits/sec (CBR I:B:P=8:8:4 Mbits ) GOP structure: IBBPBB (380 Pkts/GOP) I B2B1P 200 msec 0 1 151 152 228… I-frame: 152 pkts 189… B-frame: 38 pkts Packet Size: 1350 bytes 303… P-frame: 76 pkts … … … Encoded Video Frames (Bit-stream) Generated Packet sequence (video trace) 379 … GOP: group of pictures
  • 19. DEPT. OF INFO. & COMM., GIST Reconstruction of Received Frames Convert sequence ID of packets to the encoded frames information March 4, 2020, Page 19 PPGPacketFrame PPG Packet GOP IDLOC ID ID mod     PPG: pkts/GOP For each reception of GOP, reconstruct the IBBPBB frames regarding the dependency of those frames B2B1I B2B1P I GOP0 GOP1 How is the priority relationship among I,B, and P frames?
  • 20. DEPT. OF INFO. & COMM., GIST Performance Evaluation Methods (1) March 4, 2020, Page 20 Quality measure of reconstructed video Objective Subjective Per-frame-based computation Discontinuity computation Surveying QoE Hybrid approach QoE: Quality of Experience —Taxonomy—
  • 21. DEPT. OF INFO. & COMM., GIST Performance Evaluation Methods (2) PSNR (peak-to-peak signal to noise ratio) or PER (packet loss rate) Measure March 4, 2020, Page 21 – Per-frame-based computation – Transferred Received Frame ID PSNR Algo. 1 Algo. 2 PCI (Playout continuity index) Measure – Discontinuity computation – Transferred Playout PCI Algo. 1 Algo. 2 time time … … Ex) Ex) Discontinuity
  • 22. DEPT. OF INFO. & COMM., GIST Performance Evaluation Methods (3) March 4, 2020, Page 22 – Hybrid-approach – time Received Frames time Received Frames – Corrupted Frames Discontinuity for corrupted frames Discontinuity for corrupted frames Discontinuity for transmission delay Pause TimemePlayout ti Pause Time PCI  1 Expressed over (0,1) The higher the better quality 0.95 is normally regarded to target performance
  • 23. DEPT. OF INFO. & COMM., GIST What will be followed… Case studies Video-rate adaptation with cross-layer channel monitoring Contents in general Duplication and modification of existing NS-2 modules Relay information between two objects by “Packet Stamping” Link two objects using the ::command method Share information using static data structure/object (for global sync.) Contents in specific Video trace-based simulation Runtime measurement of IEEE 802.11 WLAN traffic statistics Evaluation of simulation output March 4, 2020, Page 23
  • 24. DEPT. OF INFO. & COMM., GIST Case Study: Cross-layered Optimization March 4, 2020, Page 24
  • 25. DEPT. OF INFO. & COMM., GIST Network-Adaptive HD Video Streaming over WLAN: Priority-based Video Rate Control with Cross-Layered Monitoring March 4, 2020, Page 25 IEEE 802.11a WLAN Real-time Parsing & Prioritized Packetization (RTP) Network Adaptation Manager Priority-based frame dropping / Layer-based Rate Adaptation RTP packets RTP packets MAC layer loss rate, MAC layer buffer overflow rate, PHY transmission rate PHY MAC 19.2Mbps HD video stream CLO-based Channel Monitoring Streaming Server Architecture HDD Stored or Live HD MPEG-2 TS TS packets End-to-end feedback packet (RTP packet loss rate, average jitter) drop stage Video Player RTP monitoring & Feedback Priority of RTP packets Streaming Server with MADWiFi-ng Mobile Streaming Client Streaming Client Architecture SHPARK@CL07
  • 26. DEPT. OF INFO. & COMM., GIST How Does it Work? An amount of received video stream is NOT changing whether with or without rate-adaptation BUT, received contents is different if rate-adaptation works Random loss Vs. priority-based rate-control Drop less-important data at the sender side! Enhance perceptual quality of received video stream! March 4, 2020, Page 26 Streaming without rate-adaptation Available channel resource (does God kno Streaming with rate-adaptati time resource
  • 27. DEPT. OF INFO. & COMM., GIST NS-2 Implementation Block Diagram March 4, 2020, Page 27 MAC Streaming Receiver Streaming Sender IFQ PHY Channel Monitoring MAC IFQ PHY Wireless Channel Available Channel Time Available Channel Time Measurement tools/tfragen_mp.cc tools/trafgen_mp.h tools/video_traffic.cc agt/udp.cc agt/udp.h mac/mac-802_11a.cc mac/mac-802_11a.h mac/ch_mon_oop.cc mac/ch_mon_oop.h
  • 28. DEPT. OF INFO. & COMM., GIST Vanilla ver. NS-2 Implementation Review PHY/MAC Single PHY rate (1Mbps by default) Received packets are dropped only for the collision Routing AODV, TORA, or DSR in the “Vanilla” version of NS2 IEEE 802.11 Infrastructure mode (no routing required) We adopted “NORT” (NO RouTing) from http://www.winlab.rutgers.edu/~zhibinwu/html/ns_fading_error.html Application No application can dynamically adjust the priority of packets (in IP header) March 4, 2020, Page 28
  • 29. DEPT. OF INFO. & COMM., GIST IEEE 802.11a Implementation Choices?(1 ) From the scratch? From the design to the new module implementation to the existin g NS-2 structure Frame headers, timers, backoff handling, and protocol specific rout ines Hard to evaluate how the new module is working correctly? Time consuming Keep the original IEEE 802.11 module in NS-2 Modification of existing IEEE 802.11 module? Adding new data-rate support (6, 9, 12, 18, 24, 36, 48, and 54 M bsp) and different IFS (inter-frame spacing) while keep all the oth er routines Easy and fast! Loss of the original IEEE 802.11 module in NS-2March 4, 2020, Page 29
  • 30. DEPT. OF INFO. & COMM., GIST IEEE 802.11a Implementation Choices?(2 ) Is there any way to keep original IEEE 802.11 while we modify the existing codes? Duplication and modification of existing IEEE 802.11 module March 4, 2020, Page 30 Ex) 802.11  802.11a 1. cd ns-2.29/mac/ 2. sed ‘s/Mac802_11/Mac802_11a/g’ mac-802_11.cc > tmp.cc 3. sed ‘s/Mac802_11/Mac802_11a/g’ mac-802_11.h > tmp.h 4. sed ‘s/PHY_MIB/PHY11A_MIB/g’ tmp.cc > tmp-1.cc 5. sed ‘s/PHY_MIB/PHY11A_MIB/g’ tmp.h > tmp-1.h 6. sed ‘s/MAC_MIB/MAC11A_MIB/g’ tmp-1.cc > tmp-2.cc 7. sed ‘s/MAC_MIB/MAC11A_MIB/g’ tmp-1.h > tmp-2.h 8. sed ‘s/mac802_11/mac802_11a/g’ tmp-2.cc > mac-802_11a.cc 9. sed ‘s/mac802_11/mac802_11a/g’ tmp-2.h > mac-802_11a.h # change all the class name “Mac802_11” to “Mac802_11a” in the original file mac-802_11.cc and write to the new file mac-802_11a.cc # mac-timer.cc (h) also need to be changed accordingly
  • 31. DEPT. OF INFO. & COMM., GIST IEEE 802.11a Implementation Choices?(3 ) March 4, 2020, Page 31 Ex) 802.11  802.11a 1. cd ns-2.29/ 2. vim Makefile.in 3. edit: OBJ_CC=… mac/ll.o mac/mac-802_11.o mac/mac-802_11a.o … 1. cd ns-2.29/tcl/lib 2. vim ns-default.tcl 3. edit: duplicate all Mac/802_11 parameters and rename them to Mac/802_11a as below: # modify Makefile.in to compile 802.11a module # ns-default.tcl Mac/802_11 set CWMin_ 31 … Mac/802_11 set LongRetryLimit_ 4 ;# retransmissions Mac/802_11a set CWMin_ 31 …
  • 32. DEPT. OF INFO. & COMM., GIST IEEE 802.11a Implementation Choices?(4 ) March 4, 2020, Page 32 Ex) 802.11  802.11a 1. cd ns-2.29/tcl/lan 2. vim ns-mac.tcl 3. add new is-class function for Mac/802_11a # ns-mac.tcl … if [TclObject is-class Mac/802_11] { Mac/802_11 set delay_ 64us … Mac/802_11 set rtxRetryLimit_ 1 } if [TclObject is-class Mac/802_11a] { Mac/802_11a set delay_ 64us … Mac/802_11a set rtxRetryLimit_ 1 } 4. cd ns-2.29/ 5. make clean; ./configure; make # Compile NS-2 with new 802_11a module 6. cd ns-2.29/tcl/ex/ 7. run simple-wireless.tcl with 802_11 and 802_11a and compare the output trace files # simple-wireless.tcl … set val(mac) Mac/802_11 # simple-wireless.tcl … set val(mac) Mac/802_11a  With Mac/802_11  With Mac/802_11a
  • 33. DEPT. OF INFO. & COMM., GIST IEEE 802.11a PHY Implementation (1) Transfer packet at higher data-rate is simply done Assign transmission time to the HDR_CMN.txtime_ But, how can we deliver transmitted data-rate information to the receiv er? Let’s put that information to the NS-2 Packet structure (discuss later) March 4, 2020, Page 33 Line # function: sendData (Packet *p) in mac-802_11 a.cc 1176 hdr_cmn* ch = HDR_CMN(p); … … 1204 current_mode = rate_to_mode(LA->get_rate()); … … 1209 ch->txtime() = txtime(ch->size(), PHY11a_dataRate_[current_mode]); – Packet transmission at different rate – 802.11a MAC ::PHY11a_dataRate_[1] . . . ::PHY11a_dataRate_[8] 6Mbps 54Mbps
  • 34. DEPT. OF INFO. & COMM., GIST IEEE 802.11a PHY Implementation (2) Put a “stamp” to each Packet sent to carry data-rate and SINR information The “stamp” must be copied when th e original packet is copied! “Stamping” is very useful to deliver t he information at one node to the oth ers Avoid to use a global storage (static) March 4, 2020, Page 34 Line # class: Packet (Packet *p) in packet.h 346 class Packet : public Event { … … 407 ChannelStamp chinfo_; … … 622 inline Packet* Packet::copy() const{ 623 Packet* p = alloc(); … … 630 p->chinfo_.init(&chinfo_); 632 …} – Relay data-rate and SINR information – ChannelStamp Data-rate SINR Packet
  • 35. DEPT. OF INFO. & COMM., GIST March 4, 2020, Page 35 IEEE 802.11a PHY Implementation (3) See “mac/per_table_11a.h” to find PER (packet error rate) for the specific SINR and length of received packets [Qiao@TOMC02] Decision of packet drop is done at MAC (mac/mac- 802_11a.cc) Line # function: recv_timer() in mac-802_11a.cc 1578 double snr = pktRx_->chinfo_.getSigdB(); 1579 int mod = pktRx_->chinfo_.getModulationMode(); 1580 int Psize = ch->size(); 1581 double per_ = per.get_per(Psize, mod, snr); 1582 bool result = per.decision(per_); … … 1588 if(result == false) { … … 1609 discard(pktRx_, "SNR"); 1612 … } – Packet drop control – 0 5 10 15 20 25 30 0 5 10 15 20 25 30 35 Effectivegoodput(Mbps) Effective Goodput (MSDU=1500 Bytes) Eav /No (dB) Mode8 Mode7 Mode4 Mode6 Mode5 Mode3 Mode2 Mode1
  • 36. DEPT. OF INFO. & COMM., GIST Other Components in 802.11a MAC Gilbert-Eliot channel model Auto-rate Fallback Measurement of MAC traffic statisti cs RX/TX success RX/TX failure Channel time monitoring module March 4, 2020, Page 36 GE_model 802.11a MAC ARF Measurement Link_layer_ Monitor_time mac/ch_model_oop.cc mac/ch_model_oop.h mac/link_adaptation_oop.cc mac/link_adaptation_oop.h mac/ch_mon_oop.cc mac/ch_mon_oop.h mac/ch_mon_oop.cc mac/ch_mon_oop.h . . . Only AP has
  • 37. DEPT. OF INFO. & COMM., GIST Measurement Routine (1) AP periodically measures traffic statistics within WLAN March 4, 2020, Page 37 AP STA STA STA STA 802.11a MAC . . . ::sendACK ::recvACK ::recv_timer ::RetransmitDATA Detect TX success Detect TX failure
  • 38. DEPT. OF INFO. & COMM., GIST March 4, 2020, Page 38 Measurement Routine (2) Line # function: sendACK() in mac-802_11a.cc 1146 if(AP) { 1147 double rate = get_mod_rate(pktRx_); 1148 int rate_mode = rate_to_mode(rate); 1149 hdr_cmn* ch_rx = HDR_CMN(pktRx_); 1150 int plen = ch_rx->size() + phymib_.getPLCPhdrLen(); 1151 measurement_[rate_mode]->success(1, plen); 1152 } – TX success measurement – Line # function: recvACK() in mac-802_11a.cc 1888 if(AP) { 1889 struct hdr_cmn *ch_tx = HDR_CMN(pktTx_); 1890 measurement_[current_mode]->success(1, ch_tx->size()); 1891 } Measurement ::success ::retransmit_data . . .
  • 39. DEPT. OF INFO. & COMM., GIST March 4, 2020, Page 39 Measurement Routine (3) Line # function: recv_timer() in mac-802_11a.cc 1497 if(rx_state_ == MAC_COLL) { … … 1508 measurement_[rate_mode]->retransmission_data(1,ch->size()) ; … … 1520 if( ch->error() ) { … … 1530 measurement_[rate_mode]->retransmission_data(1,ch->size()) ; – TX failure measurement – Line # function: RetransmitData() in mac-802_11a.cc 1300 if(AP) { 1301 measurement_[rate_mode]->retransmission_data(1,ch->size()) ; … … Measurement ::success ::retransmit_data . . .
  • 40. DEPT. OF INFO. & COMM., GIST Available Resource Computation Periodically calculate the available wireless channel resource Available = Period – Utilized – Overhead Initialize measurement information March 4, 2020, Page 40 Line # function: est_timeout () in mac-802_11a. cc 1497 if(AP){ … est_timer.resched(1.0); 1508 llmt.update_capacity(measurement_, 1.0); … for(int i=0;i < MAX_N_PHY_RATE; i++) 1520 measurement_[i]->init(); … … 1540 upper_layer[i]->do_adaptation(); Link_layer_ Monitor_time ::updata_capacity() ::get_available() ::get_used() ::get_overhead() SHPARK@CL07 Hayoung@CL07 goto-adaptation
  • 41. DEPT. OF INFO. & COMM., GIST Streaming Server Implementation (1) Packet priority assignment Recall frame decoding dependency I > P > B1 = B2 Video trace (ds_level.txt) Packet sequence & priority trace for a GOP Streaming server (video_traffic.c c) initialize prio[seq] array using ds_level.txtMarch 4, 2020, Page 41 0:4 1:4 … 151:4 152:1 153:1 … 189:1 190:2 191:2 … 227:2 228:3 229:3 … 303:3 304:1 305:1 … 341:1 342:2 343:2 … 379:2 ds_level.txt I B B P B B Streaming server video_traffic.cc trafgen_mp.cc trafgen_mp.h cbr_traffic.cc trafgen.cc trafgen.h
  • 42. DEPT. OF INFO. & COMM., GIST Streaming Server Implementation (2) March 4, 2020, Page 42 TX timer expire send(seq, prio[seq]) prio[seq] > drop get_next_interval reschedule TX timer No Yes B2B1I B2B1P I B2I B2P I I P I I I drop=0 drop=1 drop=2 drop=3 Adaptation routine should decide “drop” dynamically
  • 43. DEPT. OF INFO. & COMM., GIST Application-MAC Linkage (1) March 4, 2020, Page 43 – TCL script – Line # video_ex6.tcl 130 set BS(0) [$ns node 1.0.0] … … 138 [$BS(0) set mac_(0)] setAP … … 181 set app($i) [new Application/Traffic/VIDEO] … … 190 $app($i) add-mac [$BS(0) set mac_(0)] … … 192 [$BS(0) set mac_(0)] add-upperlayer-object $app($i)
  • 44. DEPT. OF INFO. & COMM., GIST Application-MAC Linkage (2) March 4, 2020, Page 44 Line # function: command() in mac-802_11a.cc 397 int Mac802_11a::command(int argc, const char*const* argv){ 398 if (argc == 3) { 399 if( strcmp(argv[1], "add-upperlayer-object") == 0) { 400 TrafficGenerator_mp *temp = (TrafficGenerator_mp*) TclObject::lookup(argv[2]); 401 upper_layer[temp->dest_mac_id] = temp; ... … – C++ implementation – Line # function: command() in trafgen_mp.cc 66 int TrafficGenerator_mp::command(int argc, const char*const* argv){ 67 if (argc == 3) { 68 if( strcmp(argv[1], "add-mac") == 0) { 69 mac = (MAC_CLASS*) TclObject::lookup(argv[2]); 70 return TCL_OK; ... …
  • 45. DEPT. OF INFO. & COMM., GIST Run Simulation Run ns video_ex6.tcl [seed] [sim_time ] Option with dynamic adaptation $app($i) dynamic-adaptation 1 without dynamic adaptation $app($i) dynamic-adaptation 0 Output frame_recovery_time.tr March 4, 2020, Page 45 AP STASTA STA paretopareto video I frame: 0 recovered at 2.092667 P frame: 3 recovered at 2.177218 B frame: 1 recovered at 2.177218 B frame: 2 recovered at 2.177218 I frame: 6 recovered at 2.282833 … frame_recovery_time.tr - Topology -
  • 46. DEPT. OF INFO. & COMM., GIST Performance Evaluation (1) Measure Inter-frame-distance Time difference between consecutive recovered frame Average-distance Average of Inter-frame-distance Smoothness RMS (Inter-frame-distance, Average-distacne) March 4, 2020, Page 46 0 543 8 1110 time RMS: root-mean-square Inter-frame- distance[3] … Inter-frame- distance[5] Inter-frame- distance[8] Inter-frame- distance[10] Inter-frame- distance[11]
  • 47. DEPT. OF INFO. & COMM., GIST Performance Evaluation (2) The larger the smoothne ss, the lower the QoS!March 4, 2020, Page 47 #AWK code Run: ./cal_smooth.awk frame-recovery-tim e.tr #!/usr/bin/awk -f BEGIN{ } { recovery[$3+1] = 1 recovery_T[$3+1] = $6 last_frame=$3+1 } END{ for (i=2;i<last_frame+1;i++) { if (recovery[i]==1) { inter_recovery_time[i]= recovery_T[i] - recovery_T[i-lost_fr ame_len-1] loss_frame_len=0 acc=acc+inter_recovery_time[i] cnt++ } else { loss_fram_len++ } } average_distance = acc/cnt acc=0;cnt=0 for (i=2;i<last_frame+1;i++) { if(recovery[i]==1) { acc=acc + ((average_distance – inter_recovery_time[i] )^2.0)^0.5 cnt++ } } printf(“smoothness: %f Avg. dist.: %fn”, acc/cnt, average_distance); }
  • 48. DEPT. OF INFO. & COMM., GIST Thank you! Send Inquiry to hyyoon@nm.gist.ac.kr Visit our homepage to download NS-2 source codes http://nm.gist.ac.kr/twiki/bin/view/Main/HayoungYoon Gwangju Institute of Science & Technology