570 likes | 746 Views
Phd Forum UBICOMM 2008 David Esteban. Video traffic optimization in mobile wireless environments using adaptive applications. Video traffic in Wireless networks. Multimedia traffic : always very concrete characteristics Streaming data Availability = Priority.
E N D
Phd ForumUBICOMM 2008 David Esteban Video traffic optimization in mobile wireless environments using adaptive applications
Video traffic in Wireless networks • Multimedia traffic : always very concrete characteristics • Streaming data Availability = Priority
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
Cross layering • Wireless networking : • Multilayer problem • Layer dependency (either directly or not)
Cross layering • Wireless networking : • Multilayer problem • Layer dependency (either directly or not) Cross-layerTechniques
Cross layering • Wireless networking : • Multilayer problem • Layer dependency (either directly or not) Cross-layerTechniques Define a general concept of communication between layers.
Cross layering • Wireless networking : • Multilayer problem • Layer dependency (either directly or not) Cross-layerTechniques Concrete Algorithm ?? Define a general concept of communication between layers.
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.
Previous work USING INTERMEDIATE HARDWARE
Mobility Optimization Costs Algorithmdefinition ExtraTraffic Using IntermediateHW ??? ??? Previous work COMPARISON TABLE
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.
Mobility Optimization Costs Algorithmdefinition ExtraTraffic Using IntermediateHW Conditions set by application ?? Previous work COMPARISON TABLE
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
Mobility Optimization Costs Algorithmdefinition ExtraTraffic Using IntermediateHW Conditions set by application Using Signaling Packets Previous work COMPARISON TABLE
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.
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/
First Step HOW THE NETWORK IS MONITORED? Bytes, Packets, Errors • No use Control packets • -Local Updated information : • /proc/net/dev/ • /proc/net/wireless/ • /proc/net/udp/ • /proc/net/tcp/
First Step HOW THE NETWORK IS MONITORED? Bytes, Packets, Errors • No use Control packets • -Local Updated information : • /proc/net/dev/ • /proc/net/wireless/ • /proc/net/udp/ • /proc/net/tcp/ IP addresses and ports
First Step HOW THE NETWORK IS MONITORED? Bytes, Packets, Errors • No use Control packets • -Local Updated information : • /proc/net/dev/ • /proc/net/wireless/ • /proc/net/udp/ • /proc/net/tcp/ IP addresses and ports Interface Status
First Step HOW THE NETWORK IS MONITORED? Bytes, Packets, Errors • No use Control packets • -Local Updated information : • /proc/net/dev/ • /proc/net/wireless/ • /proc/net/udp/ • /proc/net/tcp/ IP addresses and ports Interface Status Wireless Link & Signal
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.
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
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.
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
Second Step HOW THE APPLICATION IS INFORMED ABOUT THE NETWORK STATUS? “Quality Status” Information is gathered and organized into variables
Second Step HOW THE APPLICATION IS INFORMED ABOUT THE NETWORK STATUS? Which information ?? “Quality Status” Information is gathered and organized into variables
“Quality States” 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
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.
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;
Qlink + SNR – Ad – Eparam 10 Qstate = Formula details FORMULA DEFINITION I.e. Link Level Noise Nwid Crypt Frag SNR State 97 -28 -86 0 0 0 4.95 9(9.705)
Qlink + SNR – Ad – Eparam 10 Qstate = Formula details FORMULA DEFINITION 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” 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 is in its best condition
Layer Communication • To inform the application about the “Quality status”. • We will need specify a concrete Cross-layer 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
Forth Step HOW THE APPLICATION WORKS? Yahoo! Protocol Web Cam
Forth Step HOW THE APPLICATION WORKS? Yahoo! Protocol Web Cam Converts
Forth Step HOW THE APPLICATION WORKS? Yahoo! Protocol Web Cam Converts Send to destination
Forth Step HOW THE APPLICATION WILL RESPONSE?
Forth Step HOW THE APPLICATION WILL RESPONSE? Conversion
“Quality States” Forth Step HOW THE APPLICATION WILL RESPONSE? Conversion
“Quality States” Forth Step HOW THE APPLICATION WILL RESPONSE? Conversion
Quality States Forth Step Interaction between parts System Folders
Web Cam Original Frame Quality States Converted Frame Store & Send Forth Step Interaction between parts System Folders
Web Cam Original Frame Quality States Converted Frame Store & Send Forth Step Interaction between parts System Folders Once per “-t”