SlideShare a Scribd company logo
WebRTC infrastructures in the large
(with experiences from real deployments)
Luis Lopez
lulop@kurento.org
IIT RTC Conference
& Expo
October 2015
Speaker
• Coordinator of Kurento.org
– FOSS project
– WebRTC Media Server
– WebRTC Media APIs
– WebRTC Cloud Infrastructure
• Software developer
• Software trainer
• Software learner
• FOSS enthusiast
http://www.kurento.org
2
http://www.kurento.org
http://twitter/@kurentoms
https://www.youtube.com/channel/UCFtGhWYqahVlzMgGNtEmKug
WebRTC infrastructures
http://www.kurento.org
3
Peer-to-Peer WebRTC Application (without media infrastructure)
WebRTC video stream
WebRTC Application based on media infrastructure
media infrastructure
Function of WebRTC infrastructures
http://www.kurento.org
4
Processing
VP8 H.264
Group Communications
Archiving
WebRTC infrastructures in the large
http://www.kurento.org
5
From the hundreds to the millions: the scalability problem
WebRTC Cloud
http://www.kurento.org
6
WebRTC cloud models
http://www.kurento.org
High flexibility
Complex
development
Lowhourly
costs
Low flexibility
Simple
development
Highhourly
costs
IaaS
PaaS
APIaaS
SaaS
No WebRTC-specific
players here
Computing
Resources
WebRTC cloud architectures
http://www.kurento.org
8
Virtual infrastructure
WebRTC Platform
WebRTC API
WebRTC Application
IaaS
PaaS
APIaaS
SaaS
No new
science
here
The science for
the scalability
problem is here
WebRTC Vs traditional WWW
Platforms: the three tiers
http://www.kurento.org
9
Application Server Container
Service Layer
Application 1 Application N…
WebRTC
Media Server
DD.BB.
Server
Signaling
Vertical scalability on monolithic
WebRTC platforms
http://www.kurento.org
10
Application Server Instance
Media Server Instance
Application 1 Application N…
Qualityofservice
Number of WebRTC legs
Typical scalability curve
for SFU media servers
~500 to 1000 in
commodity hardware
The bottleneck is here
Horizontal scalability of WebRTC
Media Servers
http://www.kurento.org
11
Application
Server
Application
Server
Application
Server
Media
Server
Media
Server
Media
Server
Media
Server
Media Resource Broker
…
…
RFC6917
Load Balancer
Media Resource Broker
• Functions
– MS registration
• MS instances register on the MRB
– MS brokering
• Query model
– AS instances query the MRB for locating a MS instance
– MRB is explicit for the AS
• In-line model
– MRB routes signaling (control requests)
– MRB is transparent for the AS
• MRB does not hold state about MS instances
– MS instances are independent
– MS instances are equivalent
– We say it’s stateless
http://www.kurento.org
12
Stateless MRB use cases
• Independent MS
– B2B calls
– WebRTC GW
– Room servers
– Media recording
– Etc.
http://www.kurento.org
13
Stateless - MRB
Application
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Call Call
• Amazon Web Services EC2
– Most popular public cloud
• OpenStack
– Popular public clouds (e.g. RackSpace)
– Popular for private clouds
• Deployment
– Cloud deployment templates
• CloudFormation (Amazon)
• Heat (OpenStack)
Deploying in public and private clouds
http://www.kurento.org
14
Templates
– Declarative language for
• Declaration of resources
and relationships
– Images, Computing Nodes,
Networks, Volumes, Load
Balancers, Autoscaling
groups, etc.
• Deployment
– Instantiation of resources
• Runtime
– Provisioning
– Autoscaling
http://www.kurento.org
15
Deploying in public clouds
http://www.kurento.org
16
AWS AMI / OpenStack Glance
Media Server
Image
Application
Server Image
Broker
Image
Stack definition template
AWS EC2 / OpenStack Nova
CloudFormation / HeatChef + Packer
Autoscaling
Rules
Launch
configurations
Autoscaling
Group
Autoscaling
Group
Elastic Load
Balancer
Application
Server
Instance
Application
Server
Instance
Broker
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Source code
http://www.kurento.org
17
Experiences deploying large WebRTC
infrastructures in public clouds
• Lessons learnt: fault-resilience is hard
– AS & MRB layers
• Are stateless => use distributed cache systems
– MS layer
• Is stateful => lots of problems
http://www.kurento.org
18
Application
Server
Application
Server
Media
Server
Media
Server
Media
Server
Media
Server
Media Resource Broker
…
…
Computing Node
Lessons learnt: avoid single points of
failure
http://www.kurento.org
19
MS
MRB
Computing Node
MS
Computing Node
… MS
Elastic Load Balancer
Computing Node
MS
Computing Node
…
MRB MRB
distributed cache
The wrong way
(single point of failure)
The right way
(fault-tolerant MRB)
Lessons learnt: fault-recovery at the MS
layer
• Fault-tolerance on the MS layer
– Stateful problem
• MS instances hold specific
resources that cannot be
“serialized” to a distributed
cache:
– Specific Sockets
• Machine failure => session failure
– Our proposed solution
• Re construct the session
– Detect failure
– Notify failure
– Reconnect
http://www.kurento.org
20
MRB
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Call Call
Application
Server
Instance
Failure
detection
Failure
notification
Session
reconnection
Autoscaling
http://www.kurento.org
21
Lessons learnt: lack of optimal scale-out
events and metrics
• Lessons learnt: firing scale-out events
– which metric?
– Bottleneck depends on applications: network, CPU, memory, etc.
– our recommendation: define a synthetic metric (i.e. scaling points)
and be conservative
http://www.kurento.org
22
Qualityofservice
Number of WebRTC legs
Typical scalability curve
for SFU media servers
50%
40%
Lessons learnt: scaling-in is harder
than scaling-out
• The options (none-good)
– Expose # sessions as a metric
• Depends on cloud capabilities
• AS needs to be made cloud
aware
– Session migration
• AS needs to be made cloud
aware
• Renegotiations
– Retain period
• Sub-optimal utilization
• The simplest
http://www.kurento.org
23
MRB
Application
Server
Instance
MS1 MS2 MS3 MS4
Which one would
you remove?
Limits of the (stateless) MRB
http://www.kurento.org
24
Media stream
OnetoMANY
Stateful MRB
http://www.kurento.org
25
Stateful MRB
Application
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Media
Server
Instance
Why?
http://www.kurento.org
26
Stateful because …
• MRB
– Must be aware of media topology
• Stateful information about MS relationships
– Request routing depends on topology
• Where to place a new viewer?
– Request routing depends on internal state
• CPU load
• QoS
• Memory
• Etc.
http://www.kurento.org
27
Experiences with stateful MRB in AWS
EC2 & OpenStack
• Lessons learned: beware of WebRTC internals
– Differentiated quality
• SVC is the solution
– but its not ready
• Plain SFU forwarding models are not an option.
– RTCP feedback of viewers with bad connectivity destroy QoE
• Simulcast may be an option
– Suppress feedback of viewers with really bad connectivity
• Layered transcoding works nicely
– But its expensive
– Churn and the generation of key-frames
• Periodic key-frame generation is an option
– In VP8 expect significant increase in BW consumption
• Layered transcoding works nicely
– But its again expensive
http://www.kurento.org
28
Experiences with stateful MRB in AWS
EC2 & OpenStack
• Lessons learned: the cloud is evil
– Placement of incoming WebRTC legs
• New science required here
– Ideas?
• Our solutions
– Count number of WebRTC legs (points mechanisms9
– Ad-hoc, hard and error prone
– Fault-resilience
• New science required here
– Ideas?
• Our solution
– Re-construct internal parts of the tree, but never leaves.
– Requires client renegotiation
– Ad-hoc, hard and error prone
http://www.kurento.org
29
http://www.kurento.org
30
Thanks
http://www.kurento.org
31
Luis Lopez
lulop@kurento.org

More Related Content

What's hot

Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Luis Lopez
 
kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1
Luis Lopez
 
WebRTC business models beyond calls
WebRTC business models beyond callsWebRTC business models beyond calls
WebRTC business models beyond calls
Luis Lopez
 
Developing applications with Kurento
Developing applications with KurentoDeveloping applications with Kurento
Developing applications with Kurento
Luis Lopez
 
Nubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoNubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - Kurento
Ivan Gracia
 
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
Luis Lopez
 
Kurento - FI-WARE Bootcamp
Kurento - FI-WARE BootcampKurento - FI-WARE Bootcamp
Kurento - FI-WARE Bootcamp
Ivan Gracia
 
Kurento FIWARE
Kurento FIWAREKurento FIWARE
Kurento FIWARE
Ivan Gracia
 
Advanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingAdvanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream Processing
FIWARE
 
Nubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platformNubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platform
Ivan Gracia
 
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
Boni García
 
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
Boni García
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
Lorenzo Miniero
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
Victor Pascual Ávila
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco Strategy
Jose de Castro
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)
Chad Hart
 
Reactive Web Applications
Reactive Web ApplicationsReactive Web Applications
Reactive Web Applications
Rossen Stoyanchev
 
Intro to Reactive Programming
Intro to Reactive ProgrammingIntro to Reactive Programming
Intro to Reactive Programming
Stéphane Maldini
 
State of Securing Restful APIs s12gx2015
State of Securing Restful APIs s12gx2015State of Securing Restful APIs s12gx2015
State of Securing Restful APIs s12gx2015
robwinch
 
Resource Handling in Spring MVC 4.1
Resource Handling in Spring MVC 4.1Resource Handling in Spring MVC 4.1
Resource Handling in Spring MVC 4.1
Rossen Stoyanchev
 

What's hot (20)

Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
 
kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1
 
WebRTC business models beyond calls
WebRTC business models beyond callsWebRTC business models beyond calls
WebRTC business models beyond calls
 
Developing applications with Kurento
Developing applications with KurentoDeveloping applications with Kurento
Developing applications with Kurento
 
Nubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - KurentoNubomedia IETF96 hackthon - Kurento
Nubomedia IETF96 hackthon - Kurento
 
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
elasticRTC -- how to have your own WebRTC cloud scaling to be billions in min...
 
Kurento - FI-WARE Bootcamp
Kurento - FI-WARE BootcampKurento - FI-WARE Bootcamp
Kurento - FI-WARE Bootcamp
 
Kurento FIWARE
Kurento FIWAREKurento FIWARE
Kurento FIWARE
 
Advanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream ProcessingAdvanced Kurento Real Time Media Stream Processing
Advanced Kurento Real Time Media Stream Processing
 
Nubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platformNubomedia IETF96 hackathon - The platform
Nubomedia IETF96 hackathon - The platform
 
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
NUBOMEDIA: an Elastic PaaS Enabling the Convergence of Real-Time and Big Data...
 
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
WebRTC/Kurento/NUBOMEDIA Hackathon at IETF’96
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)WebRTC standards update (Jul 2014)
WebRTC standards update (Jul 2014)
 
WebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco StrategyWebRTC - On Standards, Identity and Telco Strategy
WebRTC - On Standards, Identity and Telco Strategy
 
WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)WebRTC Check-in (from WebRTC Boston 6)
WebRTC Check-in (from WebRTC Boston 6)
 
Reactive Web Applications
Reactive Web ApplicationsReactive Web Applications
Reactive Web Applications
 
Intro to Reactive Programming
Intro to Reactive ProgrammingIntro to Reactive Programming
Intro to Reactive Programming
 
State of Securing Restful APIs s12gx2015
State of Securing Restful APIs s12gx2015State of Securing Restful APIs s12gx2015
State of Securing Restful APIs s12gx2015
 
Resource Handling in Spring MVC 4.1
Resource Handling in Spring MVC 4.1Resource Handling in Spring MVC 4.1
Resource Handling in Spring MVC 4.1
 

Viewers also liked

Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Luis Lopez
 
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
Luis Lopez
 
Beyond the MCU
Beyond the MCUBeyond the MCU
Beyond the MCU
Dialogic Inc.
 
WebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: MediaWebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: Media
Dialogic Inc.
 
Amazon Ec2 Application Design
Amazon Ec2 Application DesignAmazon Ec2 Application Design
Amazon Ec2 Application Design
guestd0b61e
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
vline
 
Server-side WebRTC Infrastructure
Server-side WebRTC InfrastructureServer-side WebRTC Infrastructure
Server-side WebRTC Infrastructure
Dialogic Inc.
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
Tsahi Levent-levi
 
Amazon ECS
Amazon ECSAmazon ECS
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Amazon Web Services
 

Viewers also liked (10)

Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...
 
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
NUBOMEDIA: an elastic Platform as a Service (PaaS) cloud for interactive soci...
 
Beyond the MCU
Beyond the MCUBeyond the MCU
Beyond the MCU
 
WebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: MediaWebRTC Infrastructure the Hard Parts: Media
WebRTC Infrastructure the Hard Parts: Media
 
Amazon Ec2 Application Design
Amazon Ec2 Application DesignAmazon Ec2 Application Design
Amazon Ec2 Application Design
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
 
Server-side WebRTC Infrastructure
Server-side WebRTC InfrastructureServer-side WebRTC Infrastructure
Server-side WebRTC Infrastructure
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
Automating Management of Amazon EC2 Instances with Auto Scaling - March 2017 ...
 

Similar to WebRTC infrastructures in the large (with experiences on real cloud deployments)

Architecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezArchitecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto Gonzalez
Alberto González Trastoy
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
Steve Wong
 
Introduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryIntroduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud Foundry
Manuel Silveyra
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
Alan Quayle
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
pfremm
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon Web Services Korea
 
Microservices in the Enterprise
Microservices in the Enterprise Microservices in the Enterprise
Microservices in the Enterprise
Jesus Rodriguez
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytesPhil Pursglove
 
Clould Computing and its application in Libraries
Clould Computing and its application in LibrariesClould Computing and its application in Libraries
Clould Computing and its application in LibrariesAmit Shaw
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
Daniel Krook
 
Introduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackIntroduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStack
Abderrahmane TEKFI
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
Atlassian
 
AperiStorageResourceManager
AperiStorageResourceManagerAperiStorageResourceManager
AperiStorageResourceManagerRobert Wipfel
 
Forecast 2014: TOSCA Proof of Concept
Forecast 2014: TOSCA Proof of ConceptForecast 2014: TOSCA Proof of Concept
Forecast 2014: TOSCA Proof of Concept
Open Data Center Alliance
 
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Lucas Jellema
 
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem OverviewTOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
OpenTOSCA
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
Marc Dutoo
 
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OW2
 
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware
 

Similar to WebRTC infrastructures in the large (with experiences on real cloud deployments) (20)

Architecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto GonzalezArchitecting Low Latency Applications Alberto Gonzalez
Architecting Low Latency Applications Alberto Gonzalez
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Introduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryIntroduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud Foundry
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
 
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
 
Microservices in the Enterprise
Microservices in the Enterprise Microservices in the Enterprise
Microservices in the Enterprise
 
The Need For Speed - NEBytes
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytes
 
Clould Computing and its application in Libraries
Clould Computing and its application in LibrariesClould Computing and its application in Libraries
Clould Computing and its application in Libraries
 
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
The Containers Ecosystem, the OpenStack Magnum Project, the Open Container In...
 
Introduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStackIntroduction to Orchestration and DevOps with OpenStack
Introduction to Orchestration and DevOps with OpenStack
 
Getting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick StinematesGetting Started with Docker - Nick Stinemates
Getting Started with Docker - Nick Stinemates
 
AperiStorageResourceManager
AperiStorageResourceManagerAperiStorageResourceManager
AperiStorageResourceManager
 
Forecast 2014: TOSCA Proof of Concept
Forecast 2014: TOSCA Proof of ConceptForecast 2014: TOSCA Proof of Concept
Forecast 2014: TOSCA Proof of Concept
 
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
Event Bus as Backbone for Decoupled Microservice Choreography (Oracle Code, A...
 
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem OverviewTOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
 
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
OCCIware: Extensible and Standard-based XaaS Platform To Manage Everything in...
 
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
OCCIware, an extensible, standard-based XaaS consumer platform to manage ever...
 
Defense
DefenseDefense
Defense
 

Recently uploaded

History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
VivekSinghShekhawat2
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 

Recently uploaded (20)

History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 

WebRTC infrastructures in the large (with experiences on real cloud deployments)

  • 1. WebRTC infrastructures in the large (with experiences from real deployments) Luis Lopez lulop@kurento.org IIT RTC Conference & Expo October 2015
  • 2. Speaker • Coordinator of Kurento.org – FOSS project – WebRTC Media Server – WebRTC Media APIs – WebRTC Cloud Infrastructure • Software developer • Software trainer • Software learner • FOSS enthusiast http://www.kurento.org 2 http://www.kurento.org http://twitter/@kurentoms https://www.youtube.com/channel/UCFtGhWYqahVlzMgGNtEmKug
  • 3. WebRTC infrastructures http://www.kurento.org 3 Peer-to-Peer WebRTC Application (without media infrastructure) WebRTC video stream WebRTC Application based on media infrastructure media infrastructure
  • 4. Function of WebRTC infrastructures http://www.kurento.org 4 Processing VP8 H.264 Group Communications Archiving
  • 5. WebRTC infrastructures in the large http://www.kurento.org 5 From the hundreds to the millions: the scalability problem WebRTC Cloud
  • 7. WebRTC cloud models http://www.kurento.org High flexibility Complex development Lowhourly costs Low flexibility Simple development Highhourly costs IaaS PaaS APIaaS SaaS No WebRTC-specific players here Computing Resources
  • 8. WebRTC cloud architectures http://www.kurento.org 8 Virtual infrastructure WebRTC Platform WebRTC API WebRTC Application IaaS PaaS APIaaS SaaS No new science here The science for the scalability problem is here
  • 9. WebRTC Vs traditional WWW Platforms: the three tiers http://www.kurento.org 9 Application Server Container Service Layer Application 1 Application N… WebRTC Media Server DD.BB. Server Signaling
  • 10. Vertical scalability on monolithic WebRTC platforms http://www.kurento.org 10 Application Server Instance Media Server Instance Application 1 Application N… Qualityofservice Number of WebRTC legs Typical scalability curve for SFU media servers ~500 to 1000 in commodity hardware The bottleneck is here
  • 11. Horizontal scalability of WebRTC Media Servers http://www.kurento.org 11 Application Server Application Server Application Server Media Server Media Server Media Server Media Server Media Resource Broker … … RFC6917 Load Balancer
  • 12. Media Resource Broker • Functions – MS registration • MS instances register on the MRB – MS brokering • Query model – AS instances query the MRB for locating a MS instance – MRB is explicit for the AS • In-line model – MRB routes signaling (control requests) – MRB is transparent for the AS • MRB does not hold state about MS instances – MS instances are independent – MS instances are equivalent – We say it’s stateless http://www.kurento.org 12
  • 13. Stateless MRB use cases • Independent MS – B2B calls – WebRTC GW – Room servers – Media recording – Etc. http://www.kurento.org 13 Stateless - MRB Application Server Instance Media Server Instance Media Server Instance Media Server Instance Media Server Instance Call Call
  • 14. • Amazon Web Services EC2 – Most popular public cloud • OpenStack – Popular public clouds (e.g. RackSpace) – Popular for private clouds • Deployment – Cloud deployment templates • CloudFormation (Amazon) • Heat (OpenStack) Deploying in public and private clouds http://www.kurento.org 14
  • 15. Templates – Declarative language for • Declaration of resources and relationships – Images, Computing Nodes, Networks, Volumes, Load Balancers, Autoscaling groups, etc. • Deployment – Instantiation of resources • Runtime – Provisioning – Autoscaling http://www.kurento.org 15
  • 16. Deploying in public clouds http://www.kurento.org 16 AWS AMI / OpenStack Glance Media Server Image Application Server Image Broker Image Stack definition template AWS EC2 / OpenStack Nova CloudFormation / HeatChef + Packer Autoscaling Rules Launch configurations Autoscaling Group Autoscaling Group Elastic Load Balancer Application Server Instance Application Server Instance Broker Instance Media Server Instance Media Server Instance Media Server Instance Source code
  • 18. Experiences deploying large WebRTC infrastructures in public clouds • Lessons learnt: fault-resilience is hard – AS & MRB layers • Are stateless => use distributed cache systems – MS layer • Is stateful => lots of problems http://www.kurento.org 18 Application Server Application Server Media Server Media Server Media Server Media Server Media Resource Broker … …
  • 19. Computing Node Lessons learnt: avoid single points of failure http://www.kurento.org 19 MS MRB Computing Node MS Computing Node … MS Elastic Load Balancer Computing Node MS Computing Node … MRB MRB distributed cache The wrong way (single point of failure) The right way (fault-tolerant MRB)
  • 20. Lessons learnt: fault-recovery at the MS layer • Fault-tolerance on the MS layer – Stateful problem • MS instances hold specific resources that cannot be “serialized” to a distributed cache: – Specific Sockets • Machine failure => session failure – Our proposed solution • Re construct the session – Detect failure – Notify failure – Reconnect http://www.kurento.org 20 MRB Media Server Instance Media Server Instance Media Server Instance Media Server Instance Call Call Application Server Instance Failure detection Failure notification Session reconnection
  • 22. Lessons learnt: lack of optimal scale-out events and metrics • Lessons learnt: firing scale-out events – which metric? – Bottleneck depends on applications: network, CPU, memory, etc. – our recommendation: define a synthetic metric (i.e. scaling points) and be conservative http://www.kurento.org 22 Qualityofservice Number of WebRTC legs Typical scalability curve for SFU media servers 50% 40%
  • 23. Lessons learnt: scaling-in is harder than scaling-out • The options (none-good) – Expose # sessions as a metric • Depends on cloud capabilities • AS needs to be made cloud aware – Session migration • AS needs to be made cloud aware • Renegotiations – Retain period • Sub-optimal utilization • The simplest http://www.kurento.org 23 MRB Application Server Instance MS1 MS2 MS3 MS4 Which one would you remove?
  • 24. Limits of the (stateless) MRB http://www.kurento.org 24 Media stream OnetoMANY
  • 27. Stateful because … • MRB – Must be aware of media topology • Stateful information about MS relationships – Request routing depends on topology • Where to place a new viewer? – Request routing depends on internal state • CPU load • QoS • Memory • Etc. http://www.kurento.org 27
  • 28. Experiences with stateful MRB in AWS EC2 & OpenStack • Lessons learned: beware of WebRTC internals – Differentiated quality • SVC is the solution – but its not ready • Plain SFU forwarding models are not an option. – RTCP feedback of viewers with bad connectivity destroy QoE • Simulcast may be an option – Suppress feedback of viewers with really bad connectivity • Layered transcoding works nicely – But its expensive – Churn and the generation of key-frames • Periodic key-frame generation is an option – In VP8 expect significant increase in BW consumption • Layered transcoding works nicely – But its again expensive http://www.kurento.org 28
  • 29. Experiences with stateful MRB in AWS EC2 & OpenStack • Lessons learned: the cloud is evil – Placement of incoming WebRTC legs • New science required here – Ideas? • Our solutions – Count number of WebRTC legs (points mechanisms9 – Ad-hoc, hard and error prone – Fault-resilience • New science required here – Ideas? • Our solution – Re-construct internal parts of the tree, but never leaves. – Requires client renegotiation – Ad-hoc, hard and error prone http://www.kurento.org 29