Transforming VLC into an SA-Aware Application

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Private and Confidential ThinkControl & ProLiant Essentials Rapid Deployment Pack.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
F2032 Fundamental of OS Chapter 1 Introduction to Operating System Part 4.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Picture Users Making Art Chat An interactive communication tool.
Installing software on personal computer
FileSecure Implementation Training Patch Management Version 1.1.
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
Blending RTSP and SIP signaling for IPTV and VoD services in the IMS Presented by Robert Marston Department of Electrical Engineering University of Cape.
Oracle10g RAC Service Architecture Overview of Real Application Cluster Ready Services, Nodeapps, and User Defined Services.
An Introduction to Software Architecture
An Introduction to IBM Systems Director
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
Learningcomputer.com SQL Server 2008 Configuration Manager.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Motif 2.0 Summary Motif is built on the strength on Macromedia and Double Click. The heart of Motif is the Motif Ad Kit – let you create preview and publish.
FailSafe SGI’s High Availability Solution Mayank Vasa MTS, Linux FailSafe Gatekeeper
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Module 5: Implementing Printing. Overview Introduction to Printing in the Windows Server 2003 Family Installing and Sharing Printers Managing Access to.
Testing as a Driver for Development Change Wall Street Systems Graham Thomas.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
Objective What is RFT ? How does it work Architecture of RFT RFT and OGSA Issues Demo Questions.
Chapter – 8 Software Tools.
CCNA1 v3 Module 1 v3 CCNA 1 Module 1 JEOPARDY K. Martin.
Virtual Machine Movement and Hyper-V Replica
1 Murthy Esakonu June 3rd, 2009 Shenzhen China OpenSAF Developer Days 2009 Writing First OpenSAF Application Session OpenSAF.
OpenSAF Technical Overview Mario Angelic Technical Co-Chair OpenSAF Project June 4 th, 2009.
Ingvar Bergström Senior Designer Developer Days June 2009 SMF in OpenSAF.
Hans Feldt Senior Software Engineer, Ericsson AB Developer Days June 2009 IMM in OpenSAF, status and future.
1 Nagendra Kumar Senior Software Engineer, Emerson Network Power, Embedded Computing. Date: June 4 th, 2009 Moving AMF.
Lecture 15 Attribute Driven Design Again Topics ATAM – team expertise and experience needed Chapter 24 Next Time: June 22, 2016 CSCE 742 Software Architecture.
SQL Database Management
Architecture Review 10/11/2004
Lecture 12 Attribute Driven Design Again
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
Web Engineering CS-4513 Prepared By: Junaid Hassan Lecturer at UOS M.B.Din Campus
Douglas Potter IBI Minneapolis User Group November 2008
Introduction to OpenSAF
Chapter 2: Configure a Network Operating System
Automatic Generation of AMF Compliant Configuration
Design Components are Code Components
NTF in OpenSAF, status and future
Integrating HA Legacy Products into OpenSAF based system
Self Healing and Dynamic Construction Framework:
GWE Core Grid Wizard Enterprise (
SI-SI Dependency Nagendra Kumar Senior Software Engineer,
Maximum Availability Architecture Enterprise Technology Centre.
Software Design and Architecture
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
IEEE Std 1074: Standard for Software Lifecycle
EIN 6133 Enterprise Engineering
CHAPTER 3 Architectures for Distributed Systems
Klara Nahrstedt Spring 2014
#01 Client/Server Computing
Chapter 2: Configure a Network Operating System
Computer Simulation of Networks
Networking for Home and Small Businesses – Chapter 2
RM3G: Next Generation Recovery Manager
Chapter 2: Scaling VLANs
Training Module Introduction to the TB9100/P25 CG/P25 TAG Customer Service Software (CSS) Describes Release 3.95 for Trunked TB9100 and P25 TAG Release.
An Introduction to Software Architecture
Design Components are Code Components
Networking for Home and Small Businesses – Chapter 2
MAINTAINING SERVER AVAILIBILITY
Overview Multimedia: The Role of WINS in the Network Infrastructure
Abstractions for Fault Tolerance
Grid Computing Software Interface
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
#01 Client/Server Computing
Presentation transcript:

Transforming VLC into an SA-Aware Application Telecommunications Software Engineering Lab Concordia University Presenters: Anik Mishra and Ali Kanso

Overview Objective of the Work VLC Design of a SAF Compliant VLC Introduction Workflow Design of a SAF Compliant VLC Choosing components Levels of Integration Sample system configuration Evaluation of the Work

Objective of the Work Go through the steps of modifying a regular application for High Availability and Service Continuity using SAF standards Have a running application for testing and analyzing configuration and upgrade campaign generation Document methodology/lessons learned Contrast results achieved with effort required

Introduction to VLC Started as an academic project in 1996 at the École Centrale Paris Intended to consist of a client and server to stream videos across a campus network Server portion later integrated with client Now managed by the VideoLAN non-profit organization

VLC Workflow RTSP server Control module «create» Internet «create» VLM (as needed) File IO, demux, RTP send

Choosing Components Multiple criteria for choosing components: Unit of failure detection and/or recovery One aspect of components is failure detection and recovery Components must be able to be started separately Unit of service At what granularity is the service request? VLC: highly threaded design Each RTP stream in its own thread However, threads are not separable Therefore Two possible configurations

Choosing Components VLC as a Container component: Broadcast: streams as a contained component Each CSI represents one stream VoD: RTSP servers as contained components (?) Each RTSP server is its own CSI? Each different media stream is its own CSI? Container components not supported by OpenSAF at design time VLC as single component Unit of failure: only one process

VLC Component: Arguments VLC needs to be configured Objective: simplest configuration possible One argument: VLC Configuration File Non-proxied non-SA aware SA-aware specified as a command line argument specified as CSI Attribute

Levels of Integration Higher availability & complexity VLC Non-SA Aware Non-proxied VLC SA Aware VLC (no service continuity) VLC with checkpointed positions VLC

Target Configuration Two components IP address VLC Comp category: Non-proxied non-sa-aware: no state SA Aware Dependency: none Depends on IP address component

Configuration Application SG Node 1 SU 1 Node 2 SU 2 IP-Comp IP-Comp VLC-Comp VLC-Comp SI IP-CSI Video-CSI

Redundancy Model Redundancy model should be based on component capabilities and desired availability In our case: Non-proxied Non-SaAware: non-preinstantiable SaAware: 1_active_or_1_standby Chosen redundancy models: Non-proxied Non-SaAware : NoRed SaAware: 2N

Evaluation: Non-Preinstantiable SAF Managed Component Client experience after administrative action Broadcast: video restarts after client resynchronisation timeout (~10 seconds for VLC GUI) VoD: Client required to re-request video stream Benefits: Managed by SAF Administrative functions (like locking) Benefits w/IP component Broadcast: None VoD: Server immediately available at same IP after management operation

Non-Preinstantiable SAF Managed Component: Implementation Problems: VLC failures not detected by OpenSAF (no monitoring) Passive monitoring needed Difficulty: Low Effort: “3” lifecycle commands IMM XML: VLC component: ~295 “lines” IP components: +110 “lines” No changes to VLC needed

Non-Preinstantiable SAF Managed Component: VLC CLC CLI Instantiate: cvlc --daemon --pidfile /var/run/vlc/vlc.pid Terminate kill "$(< /var/run/vlc/vlc.pid)“ Cleanup kill -9 "$(< /var/run/vlc/vlc.pid)“ rm /var/run/vlc/vlc.pid

Non-Preinstantiable SAF Managed Component: IP CLC CLI Instantiate: ip addr add $ip dev $dev arping -U -c 1 –I $dev $ip Terminate/Cleanup ip addr del $ip dev $dev

Evaluation: SA Aware Client Experience: Added Benefits: Same as Non-Preinstantiable However, VLC crashes are noticed (and corrected) without passive monitoring Added Benefits: Program crashes detected by SAF; extra healthchecks possible Configuration through CSI Arguments Faster recovery after failure (executable already pre-instantiated)

SA Aware: Implementation Difficulty: Medium (VLC architecture knowledge needed) Changes to VLC needed: Additional control module Effort: Control module: ~400 lines + 30 lines build system Only “2” lifecycle commands IMM XML: Roughly the same

SA Aware: Control Module Implements VLC’s control module interface Also implements AMF’s callback interface saAmfCSISetCallback saAmfCSIRemoveCallback saAmfComponentTerminateCallback CSI Set can receive 4 states STANDBY ACTIVE QUIESCED QUIESCING

Evaluation: Checkpointing Broadcast Streams Client Experience After Failure: Video resumes at roughly the same position after a brief pause Added Benefits: Better user experience Difficulty: High, edits to main VLC code needed

Checkpointing: Implementation Changes to VLC needed: Edits to VL Manager: Move over current configuration Restart streams at a specific offset Edits to RTP stream_out to bind specific source IP/port Effort: Control module: +~390 LoC VLM and RTP changes: ~150 LoC

VLC modified workflow Control module (OpenSAF) Internet Playlist VLM Video status Video status File IO, demux, RTP send

Non-proxied Non-SaAware VLC Summary Integration level Effort Added benefit Shortcoming Non-proxied Non-SaAware VLC Lowest No changes to VLC SAF managed Redundant server is available after failure (After a failure) User experiences service outage User has to request the video again (VoD) SaAware VLC Higher New VLC control module Crashes automatically detected by AMF Faster recovery No service continuity (the video starts over after failure) With Checkpointing Highest Additional changes to control module Synchronization through checkpoint service Better user experience (after a failure the video resumes at roughly the same position after a brief pause) −

Work done in context of MAGIC MAGIC: Modeling and Automatic Generation of Information and upgrade Campaigns for Service Availability A collaboration between Ericsson and Concordia Funded by NSERC and Ericsson

Discussion?