Optimization of video traffic in wireless environments

Download Report

Transcript Optimization of video traffic in wireless environments

Video traffic optimization in
mobile wireless environments
using adaptive applications
Phd Forum
UBICOMM 2008
David Esteban
1
Video traffic in Wireless
networks
• Multimedia traffic : always very concrete
characteristics
• Streaming data
Availability = Priority
2
Video traffic in Wireless
networks
• Wireless and mobile
nature :
– Optimization = Adaptation
– Upper layers MUST know
the current status of the
network.
– Vertical communication
between layers
3
Cross layering
• Wireless networking :
– Multilayer problem
– Layer dependency (either directly or not)
4
Cross layering
• Wireless networking :
– Multilayer problem
– Layer dependency (either directly or not)
Cross-layer
Techniques
5
Cross layering
• Wireless networking :
– Multilayer problem
– Layer dependency (either directly or not)
Cross-layer
Techniques
Define a general
concept of
communication
between layers.
6
Cross layering
• Wireless networking :
– Multilayer problem
– Layer dependency (either directly or not)
Concrete
Algorithm ??
Cross-layer
Techniques
Define a general
concept of
communication
between layers.
7
Scenario definition
• AP based video
conference environment:
– One of the most common
applications.
– Indispensable tool to
different scenarios.
– Several kinds mobile
wireless users is
continuously increasing.
8
Previous work
USING INTERMEDIATE HARDWARE
9
Previous work
COMPARISON TABLE
Mobility
Optimization
Costs
Algorithm
definition
Extra
Traffic
Using Intermediate
HW
???
???
10
Previous work
CONDITIONS SET BY THE APPLICATION
• In this case, there is a
software system which is
checking the network status.
•The application will register
status conditions on that
system.
•when the system recognize
a registered condition has
been met, it will notify the
application.
•The application will change
its behavior consequently.
11
Previous work
COMPARISON TABLE
Mobility
Optimization
Costs
Algorithm
definition
Extra
Traffic
Using Intermediate
HW
Conditions
set by application
??
12
Previous work
USING SIGNALING PACKETS
Some other previous research proposed the use of signaling packets
as reporters of the QoS in the network and then send the information
to the application.
Weak points :
- Inject more packets into the network could be harmful in critical
situations
- There is no cross-layer algorithm specified to send the information from
the lower levels to the application
13
Previous work
COMPARISON TABLE
Mobility
Optimization
Costs
Algorithm
definition
Extra
Traffic
Using Intermediate
HW
Conditions
set by application
Using Signaling
Packets
14
Current work
• Many approaches but weak points.
• Proposed project :
– Check the status of the network :
• As know the environment conditions is key point in this
project.
– Inform to the video application :
• Because the higher layers MUST know this information.
– Adapt of behavior
• In order to optimize the traffic injected into the network
depending of the environment.
– Avoid weak points
• So, we will be able to improve the given solutions.
15
Current Work
Linux operating system
Gnome Desktop 2.20.1 in an
Ubuntu distribution.
Video App = Kopete v.0.12.7
(Using KDE 3.5.8)
First Step
HOW THE NETWORK IS MONITORED?
-No use Control packets
-Local Updated information :
-/proc/net/dev/
-/proc/net/wireless/
-/proc/net/udp/
-/proc/net/tcp/
17
First Step
HOW THE NETWORK IS MONITORED?
-No use Control packets
Bytes, Packets, Errors
-Local Updated information :
-/proc/net/dev/
-/proc/net/wireless/
-/proc/net/udp/
-/proc/net/tcp/
18
First Step
HOW THE NETWORK IS MONITORED?
-No use Control packets
Bytes, Packets, Errors
IP addresses and ports
-Local Updated information :
-/proc/net/dev/
-/proc/net/wireless/
-/proc/net/udp/
-/proc/net/tcp/
19
First Step
HOW THE NETWORK IS MONITORED?
-No use Control packets
-Local Updated information :
Bytes, Packets, Errors
IP addresses and ports
Interface Status
-/proc/net/dev/
-/proc/net/wireless/
-/proc/net/udp/
-/proc/net/tcp/
20
First Step
HOW THE NETWORK IS MONITORED?
-No use Control packets
-Local Updated information :
Bytes, Packets, Errors
IP addresses and ports
Interface Status
Wireless Link & Signal
-/proc/net/dev/
-/proc/net/wireless/
-/proc/net/udp/
-/proc/net/tcp/
21
First Step
HOW THE NETWORK IS MONITORED?
Obtain this information in an
organized way:
- C library “Liblink” .
- Look at the mentioned
sources.
- Convert into independent
variables.
- Easy format to operate with.
22
First Step
HOW THE NETWORK IS MONITORED?
This library is invoked by a command called “linkd”
SYNTAX :
linkd – t [miliseconds] [OPTIONS]
OPTIONS :
-v
Verbose Mode
-i iface
Set the polling interface
-s sock_id
Set the socket ID
-f output_file Set the log file
LINKD
23
First Step
HOW THE NETWORK IS MONITORED?
-Use command :
-Invoke library will be summoned
-Get the required information in
-intervals equal to the specified polling time
-from the chosen interface.
-If verbose flag
-Store information in log file or
-Show it in the standard output.
24
Next step
Deal with this
“organized” raw
information
Next step
Deal with this
“organized” raw
information
Make the application
change its behaviour
on the fly
Next step
Deal with this
“organized” raw
information
Make the application
change its behaviour
on the fly
Optimization = Adaptation
Second Step
HOW THE APPLICATION IS INFORMED ABOUT
THE NETWORK STATUS?
Information is gathered and
organized into variables
28
Second Step
HOW THE APPLICATION IS INFORMED ABOUT
THE NETWORK STATUS?
Information is gathered and
organized into variables
“Quality Status”
29
Second Step
HOW THE APPLICATION IS INFORMED ABOUT
THE NETWORK STATUS?
Which information ??
Information is gathered and
organized into variables
“Quality Status”
30
Second Step
HOW THE APPLICATION IS INFORMED ABOUT
THE NETWORK STATUS?
Which information ??
Priority = wireless parameters.
-/proc/net/wireless/
Information is gathered and
organized into variables
“Quality States”
31
Second Step
HOW THE APPLICATION IS INFORMED ABOUT
THE NETWORK STATUS?
The information obtained from that source would be :
-Quality-link : Link quality info (how good the reception is)
-Quality-level : Signal strength at receiver (dBm)
-Quality-noise: Silence level (no packet) at the receiver (dBm)
-Discarded-nwid : Number of discarded packets due to invalid
network id.
-Discarded-crypt : Number of packets unable to decrypt.
-Discarded-frag : Number of fragmented packets
So a combination of these parameters will be use to define the
“quality state” that will be the reference for the application.
32
Formula details
PREVIOUS PARAMETERS
SNR (Signal-Noise relation):
10 * Log10 (Quality-level / Quality-noise)
-
Bad values : between 0 and 1
Good values : higher than 5
Adjust parameter
Use to give a significative value to the SNR
Ad = 5
Error relation :
Given a interval t of time :
Eparam == 0;
If (nwid(t))>(nwid(t-1)) Eparam == Eparam+5;
If (crypt(t))>(crypt(t-1)) Eparam == Eparam+5;
If (frag (t))>(frag(t-1)) Eparam == Eparam+5;
Formula details
FORMULA DEFINITION
Qlink + SNR – Ad – Eparam
10
Qstate =
I.e.
Link
Level
Noise
Nwid
Crypt
Frag
SNR
97
-28
-86
0
0
0
4.95
State
9(9.705)
Formula details
FORMULA DEFINITION
Qlink + SNR – Ad – Eparam
10
Qstate =
I.e.
Link
Level
Noise
Nwid
Crypt
Frag
SNR
State
97
-28
-86
0
0
0
4.95
9(9.705)
47
-70
-89
0
10
0
1.08
3(3.808)
Quality States
• Applying the formula we will obtain a number
from 0 to 9.
• The state only depends of the network
conditions at that moment.
• That number is the number of the
“quality state”.
• 0 means the lowest quality state.
• 9 represents that the environment
“Quality States”
is in its best condition
Layer Communication
• To inform the application about the
“Quality status”.
• We will need specify a concrete Crosslayer algorithm
• So it will be a kind of intra-layer message
passing system
Third Step
COMMUNICATION BETWEEN LAYERS
• Sent the state to the application
• Use primitives for inter-layer messaging
• Primitives = Small units of information
• Types of primitives.
Layer N
Response
Indication
Layer N - m
Third Step
COMMUNICATION BETWEEN LAYERS
• Structure of a primitive :
– Five fields :
• Protocol layer ID (which layer)
• Protocol ID (which protocol entity)
• Primitive class ID (which kind)
• Parameters ( information sent )
• Portability of the primitives : Any information
exchange method between layers can be
used with this primitives.
Forth Step
HOW THE APPLICATION WORKS?
Yahoo! Protocol
Web Cam
40
Forth Step
HOW THE APPLICATION WORKS?
Yahoo! Protocol
Web Cam
41
Forth Step
HOW THE APPLICATION WORKS?
Yahoo! Protocol
Web Cam
Converts
42
Forth Step
HOW THE APPLICATION WORKS?
Yahoo! Protocol
Converts
Web Cam
Send to destination
43
Forth Step
HOW THE APPLICATION WILL RESPONSE?
44
Forth Step
HOW THE APPLICATION WILL RESPONSE?
Conversion
45
Forth Step
HOW THE APPLICATION WILL RESPONSE?
Conversion
“Quality
States”
46
Forth Step
HOW THE APPLICATION WILL RESPONSE?
Conversion
“Quality
States”
47
Forth Step
Interaction between parts
System
Folders
Quality
States
48
Forth Step
Interaction between parts
System
Folders
Original
Frame
Web Cam
Quality
States
Converted
Frame
Store &
Send
49
Forth Step
Interaction between parts
System
Folders
Original
Frame
Web Cam
Once per “-t”
Quality
States
Converted
Frame
Store &
Send
50
Forth Step
Interaction between parts
System
Folders
Original
Frame
Web Cam
Once per “-t”
Once per frame
Quality
States
Converted
Frame
Store &
Send
51
Forth Step
Interaction between parts
System
Folders
Original
Frame
Web Cam
Once per “-t”
Once per frame
Quality
States
Converted
Frame
Store &
Send
52
Evaluation
53
Preliminary Results
To check if the adaptation
works we made real
experiments establishing
a
video
conference
between a desktop and a
laptop and checked the
availability
of
the
communication in different
states for both adaptive
and non adaptive models.
Preliminary Results
To check the system was
working better thanks to
the adaptation we made
real
experiments
establishing
a
video
conference between a
desktop and a laptop and
checked the percentage
of packet loss in different
states for both adaptive
and non adaptive models.
Preliminary Results
[ Simulation ]
Future work
• How to get better results in the
optimization (maybe adding or changing
some sources, changing the formula, etc.).
• Test the adaptation of the information sent
from the multi-conference server to the
mobile nodes
• Implement the cross-layer algorithm
details for the intra-layers messaging
system from Application layer to Link layer.