Presentation is loading. Please wait.

Presentation is loading. Please wait.

Transforming VLC into an SA-Aware Application

Similar presentations


Presentation on theme: "Transforming VLC into an SA-Aware Application"— Presentation transcript:

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

2 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

3 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

4 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

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

6 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

7 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

8 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

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

10 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

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

12 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

13 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

14 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

15 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

16 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

17 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)

18 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

19 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

20 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

21 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

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

23 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)

24 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

25 Discussion?


Download ppt "Transforming VLC into an SA-Aware Application"

Similar presentations


Ads by Google