SmoothFlow: Optimizing Live-Streaming in Enterprise Networks Using OpenFlow / (Record no. 8786)

MARC details
000 -LEADER
fixed length control field 13422nam a22002537a 4500
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 210111b2014 a|||f mb|| 00| 0 eng d
040 ## - CATALOGING SOURCE
Original cataloging agency EG-CaNU
Transcribing agency EG-CaNU
041 0# - Language Code
Language code of text eng
Language code of abstract eng
082 ## - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 627
100 0# - MAIN ENTRY--PERSONAL NAME
Personal name Waleed Fakher Hussein Soliman Reda
245 1# - TITLE STATEMENT
Title SmoothFlow: Optimizing Live-Streaming in Enterprise Networks Using OpenFlow /
Statement of responsibility, etc. Waleed Fakher Hussein Soliman Reda
260 ## - PUBLICATION, DISTRIBUTION, ETC.
Date of publication, distribution, etc. 2014
300 ## - PHYSICAL DESCRIPTION
Extent 108 p.
Other physical details ill.
Dimensions 21 cm.
500 ## - GENERAL NOTE
Materials specified Supervisor: Sameh Elansary
502 ## - Dissertation Note
Dissertation type Thesis (M.A.)—Nile University, Egypt, 2014 .
504 ## - Bibliography
Bibliography "Includes bibliographical references"
505 0# - Contents
Formatted contents note Contents:<br/>1 Introduction 1<br/>1.1 Goals & Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br/>1.2 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br/>2 Background 4<br/>2.1 Live video-streaming and Enterprise Networks . . . . . . . . . . . . . . . . 4<br/>2.2 Live-video streaming improvements and optimizations . . . . . . . . . . . 5<br/>2.2.1 Infrastructure-layer optimizations . . . . . . . . . . . . . . . . . . . 5<br/>2.2.1.1 IP Multicasting . . . . . . . . . . . . . . . . . . . . . . . 5<br/>2.2.1.2 Content-Delivery Networks (CDNs) . . . . . . . . . . . . 7<br/>2.2.2 Application-layer optimizations . . . . . . . . . . . . . . . . . . . . 7<br/>2.2.2.1 Application-level Multicasting (P2P) . . . . . . . . . . . 7<br/>Streaming Overlays . . . . . . . . . . . . . . . . . . . . . . . 8<br/>1) Tree-based overlay: . . . . . . . . . . . . . . . . . . . 8<br/>2.1 Single tree: . . . . . . . . . . . . . . . . . . . . . . . 8<br/>2.2 Multiple trees: . . . . . . . . . . . . . . . . . . . . . 8<br/>2) Mesh-based overlay: . . . . . . . . . . . . . . . . . . 8<br/>3) Hybrid overlay: . . . . . . . . . . . . . . . . . . . . . 8<br/>Data dissemination . . . . . . . . . . . . . . . . . . . . . . . 9<br/>1) Push-based: . . . . . . . . . . . . . . . . . . . . . . . 9<br/>2) Pull-based: . . .<br/>3) Pull-Push Hybrid: . . . . . . . . . . . . . . . . . . . 9<br/>2.2.3 Hybrid optimizations . . . . . . . . . . . . . . . . . . . . . . . . . . 10<br/>2.2.3.1 Hybrid Multicasting . . . . . . . . . . . . . . . . . . . . . 10<br/>2.2.3.2 Peer-assisted Content-Delivery Networks . . . . . . . . . 10<br/>2.2.3.3 Software-Dened Network (SDN) optimizations . . . . . 11<br/>2.2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11<br/>2.3 Streaming Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br/>2.3.1 Protocol comparison . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br/>2.3.1.1 Non-HTTP protocols . . . . . . . . . . . . . . . . . . . . 12<br/>2.3.1.2 Adaptive HTTP protocols . . . . . . . . . . . . . . . . . 13<br/>2.3.1.3 Microsoft Smooth Streaming Protocol . . . . . . . . . . . 15<br/>2.4 Software-Dened Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br/>2.5 OpenFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br/>2.5.1 Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br/>2.5.2 OpenFlow Architecture . . . . . . . . . . . . . . . . . . . . . . . . 18<br/>2.5.3 OpenFlow Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br/>2.5.4 Switch Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br/>2.5.5 Flow Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20<br/>2.5.5.1 Matchers . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br/>2.5.5.2 Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br/>2.5.5.3 Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br/>Forwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br/>Header Modication . . . . . . . . . . . . . . . . . . . . . . 22<br/>Encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br/>Dropping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br/>2.5.6 Pipeline Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br/>2.5.7 Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br/>3 Review of Literature 24<br/>3.1 Live-streaming SDN-based Optimizations . . . . . . . . . . . . . . . . . . 24<br/>3.1.1 OpenSession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br/>3.1.2 Rent-a-Super Peer (RASP) . . . . . . . . . . . . . . . . . . . . . . 25<br/>3.2 Live-streaming SDN-based QoS frameworks . . . . . . . . . . . . . . . . . 25<br/>3.2.1 OpenQoS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br/>3.2.2 OpenFlow-assisted QoE fairness framework (QFF) . . . . . . . . . 26<br/>3.3 Goal relevancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br/>4 System Design 28<br/>4.1 Assumptions and Requirements . . . . . . . . . . . . . . . . . . . . . . . . 28<br/>4.1.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br/>4.1.1.1 OpenFlow pervasiveness . . . . . . . . . . . . . . . . . . . 28<br/>4.1.1.2 HTTP Live-Streaming . . . . . . . . . . . . . . . . . . . . 29<br/>4.1.1.3 OpenFlow Switch . . . . . . . . . . . . . . . . . . . . . . 29<br/>4.1.1.4 Content Distributer . . . . . . . . . . . . . . . . . . . . . 29<br/>4.1.1.5 Client Operating System . . . . . . . . . . . . . . . . . . 29<br/>4.1.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br/>4.1.3 Client-side Application Requirements . . . . . . . . . . . . . . . . 30<br/>4.1.3.1 Controller Requirements . . . . . . . . . . . . . . . . . . 30<br/>4.1.3.2 Connection Requirements . . . . . . . . . . . . . . . . . . 30<br/>4.1.3.3 Savings Requirements . . . . . . . . . . . . . . . . . . . . 30<br/>4.2 Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br/>4.3 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br/>4.3.1 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br/>4.3.1.1 Cross-layer communication . . . . . . . . . . . . . . . . . 33<br/>4.3.2 OpenFlow Network Architecture . . . . . . . . . . . . . . . . . . . 33<br/>4.4 Smooth Streaming Client . . . . . . . . . . . . . . . . . . . . . . . . . . . 34<br/>4.4.1 ToS Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br/>4.5 Stream Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br/>4.5.1 Leader Election . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br/>4.5.2 Savings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br/>4.5.2.1 Leader Software-Dened Multicasting (SDM) . . . . . . . 37<br/>4.5.2.2 Redirect-to-Peer (R2P) . . . . . . . . . . . . . . . . . . . 38<br/>4.5.2.3 Flow Rule Management . . . . . . . . . . . . . . . . . . . 40<br/>4.5.3 Operation Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br/>4.5.3.1 Scenario 1 (Peer is joining stream as a follower) . . . . . 42<br/>4.5.3.2 Scenario 2 (Peer is joining stream as a leader) . . . . . . 46<br/>4.5.3.3 Scenario 3 (Leader disconnections) . . . . . . . . . . . . . 47<br/>4.5.4 Summary of processes . . . . . . . . . . . . . . . . . . . . . . . . . 50<br/>4.6 Dynamic Application-aware Routing . . . . . . . . . . . . . . . . . . . . . 52<br/>4.6.1 Protocol specics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br/>4.6.1.1 Network Monitoring . . . . . . . . . . . . . . . . . . . . . 52<br/>4.6.1.2 Route calculation . . . . . . . . . . . . . . . . . . . . . . 53<br/>4.6.2 Contention Resolution . . . . . . . . . . . . . . . . . . . . . . . . . 55<br/>4.6.2.1 Flow Prioritization . . . . . . . . . . . . . . . . . . . . . . 56<br/>4.6.3 Rerouting Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . 58<br/>4.6.3.1 Flow insertions and deletions . . . . . . . . . . . . . . . . 59<br/>5 Implementation 62<br/>5.1 Client-side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br/>5.1.1 Proxy components . . . . . . . . . . . . . . . . . . . . . . . . . . . 62<br/>5.1.1.1 Socket types . . . . . . . . . . . . . . . . . . . . . . . . . 64<br/>5.2 Controller-side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65<br/>5.2.1 Opensource software controller survey . . . . . . . . . . . . . . . . 65<br/>5.2.2 Beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br/>5.2.2.1 Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br/>5.2.2.2 OSGi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br/>5.2.2.3 Observer pattern . . . . . . . . . . . . . . . . . . . . . . . 68<br/>5.2.2.4 Write modes . . . . . . . . . . . . . . . . . . . . . . . . . 68<br/>Immediate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br/>I/O looping . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br/>5.2.3 Controller Application . . . . . . . . . . . . . . . . . . . . . . . . . 70<br/>5.2.3.1 Beacon Bundle Library . . . . . . . . . . . . . . . . . . . 70<br/>5.2.3.2 SmoothFlow bundles . . . . . . . . . . . . . . . . . . . . 71<br/>Stream Sharing: . . . . . . . . . . . . . . . . . . . . . . . . . 71<br/>SD Multicast: . . . . . . . . . . . . . . . . . . . . . . . . . . 71<br/>Network Monitor: . . . . . . . . . . . . . . . . . . . . . . . . 72<br/>Application-Aware Routing Engine: . . . . . . . . . . . . . 72<br/>Routing: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br/>Topology: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72<br/>SmoothFlow Web: . . . . . . . . . . . . . . . . . . . . . . . 73<br/>5.2.3.3 Packet processing pipeline . . . . . . . . . . . . . . . . . 73<br/>6 Evaluation 75<br/>6.1 Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75<br/>6.1.1 Mininet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br/>6.1.2 Emulated Smooth Streaming Player . . . . . . . . . . . . . . . . . 76<br/>6.1.3 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76<br/>6.1.4 Stream setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br/>6.1.5 Evaluation Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 77<br/>6.1.5.1 Playback Continuity . . . . . . . . . . . . . . . . . . . . . 78<br/>6.1.5.2 Savings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br/>6.1.5.3 Instability (bitrate shifts) . . . . . . . . . . . . . . . . . . 78<br/>6.1.5.4 Bitrate Distribution . . . . . . . . . . . . . . . . . . . . . 78<br/>6.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br/>6.2.1 Scenario 1 (Ideal) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br/>6.2.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br/>6.2.1.2 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79<br/>6.2.2 Scenario 2 (Source-limited) . . . . . . . . . . . . . . . . . . . . . . 81<br/>6.2.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . 81<br/>6.2.2.2 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br/>6.2.3 Scenario 3 (Bandwidth-starved) . . . . . . . . . . . . . . . . . . . . 83<br/>6.2.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br/>6.2.3.2 Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br/>6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87<br/>7 Limitations and Future Work 88<br/>7.1 TCP sessions and Raw sockets . . . . . . . . . . . . . . . . . . . . . . . . 88<br/>7.2 ToS bit size limitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89<br/>7.3 Match Rule header extensions and TCP . . . . . . . . . . . . . . . . . . . 89<br/>7.4 SmoothFlow and Bitrate adaptation . . . . . . . . . . . . . . . . . . . . . 90<br/>7.5 Controller and Switch scalability tests . . . . . . . . . . . . . . . . . . . . 90
520 3# - Abstract
Abstract Abstract:<br/>Video-streaming has seen massive growth on the internet, and its popularity is at an<br/>all-time high. With these growth-rates, comes a need for making infrastructural accommodations<br/>to handle the associated trac growth. This is especially true in live<br/>video-streaming, as trac needs to be handled in a way that keeps latencies minimized.<br/>Enterprises have often used Content-Delivery Networks (CDNs) to boost their network<br/>streaming capabilities, as well as Peer-to-Peer live-streaming systems. However, these<br/>solutions often came with their list of associated issues. The former requires signicant<br/>capital investment which acts as a deterrent to companies with lesser nancial capabilities.<br/>The latter is sub-optimal at best since it's orchestrated by the end-to-end systems<br/>without help from the underlying network.<br/>In this thesis, our aim is to nd a middle-ground solution that requires minor nancial<br/>investment while allowing the network itself to support live-streaming applications<br/>running on the upper layers. This approach aims to use a new networking paradigm<br/>- Software-Dened Networks (SDNs). Software-Dened Networks provides us with the<br/><br/>exibility of modifying trac <br/>ow logic on-the-spot. As such, their involvement provides<br/>the means of embedding higher-layer application data in the network, and allowing the<br/>underlying network devices (switches, routers, hubs, etc.) to handle these trac <br/>ows<br/>in a way that's advantageous for the entire network. The methods that are utilized<br/>involve having the switches orchestrate streaming sharing and load-balancing between<br/>the various end-users in the system. Our work results in the construction of a system<br/>that we named "SmoothFlow".
546 ## - Language Note
Language Note Text in English, abstracts in English.
650 #4 - Subject
Subject Software Engineering
655 #7 - Index Term-Genre/Form
Source of term NULIB
focus term Dissertation, Academic
690 ## - Subject
School Software Engineering
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Source of classification or shelving scheme Dewey Decimal Classification
Koha item type Thesis
650 #4 - Subject
-- 211
655 #7 - Index Term-Genre/Form
-- 187
690 ## - Subject
-- 211
Holdings
Withdrawn status Lost status Source of classification or shelving scheme Damaged status Not for loan Home library Current library Date acquired Total Checkouts Full call number Date last seen Price effective from Koha item type
    Dewey Decimal Classification   Not For Loan Main library Main library 01/11/2021   627/ W.R.S 2014 01/11/2021 01/11/2021 Thesis