SlideShare a Scribd company logo
Experimental Evaluation of
Dynamic Switching between One-
on-One and Group Video Calling
George Politis | github.com/gpolitis | @jitsinews
tiny.cc/p2p4121-presentation
1
Jitsi Meet Overview
• Jitsi Meet (Open Source) Stack

• meet.jit.si cloud

• meet.jit.si metrics
!2
Jitsi Meet Stack
Jitsi Meet for the Web
(WebRTC JS APIs)
Jitsi Meet for Mobile
(React Native WebRTC)
JiCoFo
(Signaling Server)
Jitsi Videobridge
(Media Server/SFU)
Client Side
Server Side
XMPP (Prosody) UDP/DTLS/SRTP
3
Jitsi Meet
• Multiple Layouts

• Video Quality slider

• Speaker stats

• Desktop sharing

• Integrated Chat

• callstats.io integration

• Transcriptions

• Recording to Dropbox

• Telephony support
(web & mobile app)
4
Jitsi Videobridge
• Implements Google
Congestion Control

• Adaptive Simulcast/SVC

• Adaptive Last-N

• XMPP API

• REST API

• callstats.io integration
media server/SFU
5
Signaling
components
SFU 1 SFU 2
SFU N
HA Proxy
Cluster
…
…
Shard N
AWS Region Z
AWS Region X
AWS Region Y
Shard 1
TURN
meet.jit.si Cloud
• Horizontal scaling through
Sharding

• Geo-distributed HA Proxy
cluster routes participants
to shards

• AWS Regions: North
Virginia, Oregon, Ireland,
Australia

• Beefy dedicated C4.xlarge
for SFU & TURN servers
6
meet.jit.si Metrics
• 91,408 conferences

• Average conference duration 38 min

• Average participant count 3.37

• 3.47M conferencing minutes

• 7.25M participant minutes

• Average RTT: 296ms

• Average Upload: 1110 kbps

• Average Download: 563 kbps
!7
P2P4121
(aka peer-to-peer for one-to-one)
• Congestion control

• Group call vs one-on-one call mode

• Other implementations

• Jitsi meet implementation
!8
Google Congestion Control
• Network congestion directly
impacts Quality of Service (QoS)

• Google Congestion Control cues:

• Packet delay variation

• Packet loss

• Standard RTCP & REMB or
Transport Wide Congestion
Control Header and RTCP
feedback

• Implemented in the browser/
mobile and in the SFU
Media
Target bitrate
2.5Mbps
Packet arrival times
Packet loss
Sender
Receiver
9
One-on-one vs Group mode
Media
Target bitrate
2.5Mbps
Packet arrival times
Packet loss
Sender
Receiver
Sender A
Receiver
SFU
simulcast
3.2Mbps
Simulcast filtering
Last-N filtering
Sender B Sender C
simulcast
3.2Mbps
2.5Mbps
10
Other implementations
✅ Google Hangouts (Feb 2016) 

✅ Jitsi Meet (July 2017)

✅ Slack Video (June 2018)

❓Facebook Video

❓Skype

❓Apple FaceTime
!11
P2P4121 Operation
• Participants enter in group-
call mode.

• The group-call mode
connection is maintained at
all times.

• If #participants == 2 for
more than X seconds, enter
one-on-one call mode

• If #participants > 2, fall
back to group-call mode
SFU
Participant A Participant B
Group mode
connection
Group mode
connection
One-to-one mode
connection
!12
Results
• Compare measurements from two periods: pre-P2P4121
and post-P2P4121

• Client side: WebRTC Statistics API => Splunk

• Server side: DataDog monitoring

• Infrastructure resource use: transferred data, SFU IO stats

• Quality of Service: RTT, call establishment time,
download/upload throughput
!13
Conferencing-time
• Pre-P2P4121

• 23470 conferences

• 689273 minutes

• Post-P2P4121

• 23320 conferences (-0.5%)

• 696311 minutes (+1%)
6-way or more
2.6%
5-way
2.0%
4-way
5.4%
3-way
12.2%
One-on-one
77.8%
14
Transferred data
Change -49%
Terrabytes
Downstream Upstream Combined
6.3
2.7
3.6
13.1
6
7.1
Change -52%Change -55%
15
SFU IO
Percent
CPU
3.2%
4.7%
Megabytes
Memory
2,420
3,740
Change -35% Change -32%
Numberofprocesses Load
0.15
0.28
Change -46%
16
Roundtrip-time
!17
Average Round-trip time
end-to-end RTT for
server-relayed calls
RTT for direct
connect calls
% change
N. Virginia (US) 157 ms 122 ms 22.3% shorter
Ireland (EU) 132 ms 92 ms 30.3% shorter
16% shorter 24.6% shorter
!18
Upload bitrate
!19
Download bitrate
!20
Average down/up bitrate
Download
/Upload TURN-relayed Direct connect SFU-relayed
Ireland (EU)
1307 Kbps

/1281 Kbps

1217 Kbps

/1207 Kbps

819 Kbps

/1349 Kbps

(60% efficiency)
N. Virginia (US)
1108 Kbps

/1045 Kbps

1209 Kbps

/1169 Kbps
655 Kbps 

/1245 Kbps

(52% efficiency)

!21
Conclusion
• 52% reduced bandwidth

• 35%-40% infrastructure pressure (memory/CPU/load)

• 20%-30% shorter RTT (depending on the region)

• TURN throughput ~= direct connect throughput

• Group call features reduce one-on-one call throughput
efficiency: 52%-60%
!22
Thank you!
GEORGE POLITIS | GITHUB.COM/GPOLITIS | @JITSINEWS
!23

More Related Content

What's hot

44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
44CON
 
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 AustinEmpower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
Phil Estes
 
Solving the Hidden Costs of Kubernetes with Observability
Solving the Hidden Costs of Kubernetes with ObservabilitySolving the Hidden Costs of Kubernetes with Observability
Solving the Hidden Costs of Kubernetes with Observability
DevOps.com
 
OpenStack Nova Liberty Update
OpenStack Nova Liberty UpdateOpenStack Nova Liberty Update
OpenStack Nova Liberty Update
John Garbutt
 
Network Intent Composition in OpenDaylight
Network Intent Composition in OpenDaylightNetwork Intent Composition in OpenDaylight
Network Intent Composition in OpenDaylight
OpenDaylight
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
thkoch
 
Intro to the CNCF Research User Group
Intro to the CNCF Research User GroupIntro to the CNCF Research User Group
Intro to the CNCF Research User Group
Bob Killen
 
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
Ambassador Labs
 
Advanced Git: Functionality and Features
Advanced Git: Functionality and FeaturesAdvanced Git: Functionality and Features
Advanced Git: Functionality and Features
Brent Laster
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big Data
Stefano Galarraga
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
Noam Kfir
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
The Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps ToolkitThe Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps Toolkit
Weaveworks
 
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynIntegrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Sascha Scholz
 
NGINX_conf_2016_talk
NGINX_conf_2016_talkNGINX_conf_2016_talk
NGINX_conf_2016_talk
kunalvjti
 
Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOps
Weaveworks
 
Profiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech TalkProfiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech Talk
Red Hat Developers
 

What's hot (17)

44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
44CON 2014 - Binary Protocol Analysis with CANAPE, James Forshaw
 
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 AustinEmpower Your Docker Containers with Watson - DockerCon 2017 Austin
Empower Your Docker Containers with Watson - DockerCon 2017 Austin
 
Solving the Hidden Costs of Kubernetes with Observability
Solving the Hidden Costs of Kubernetes with ObservabilitySolving the Hidden Costs of Kubernetes with Observability
Solving the Hidden Costs of Kubernetes with Observability
 
OpenStack Nova Liberty Update
OpenStack Nova Liberty UpdateOpenStack Nova Liberty Update
OpenStack Nova Liberty Update
 
Network Intent Composition in OpenDaylight
Network Intent Composition in OpenDaylightNetwork Intent Composition in OpenDaylight
Network Intent Composition in OpenDaylight
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
 
Intro to the CNCF Research User Group
Intro to the CNCF Research User GroupIntro to the CNCF Research User Group
Intro to the CNCF Research User Group
 
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...
 
Advanced Git: Functionality and Features
Advanced Git: Functionality and FeaturesAdvanced Git: Functionality and Features
Advanced Git: Functionality and Features
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big Data
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 
The Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps ToolkitThe Power of GitOps with Flux & GitOps Toolkit
The Power of GitOps with Flux & GitOps Toolkit
 
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with MylynIntegrating Git, Gerrit and Jenkins/Hudson with Mylyn
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
 
NGINX_conf_2016_talk
NGINX_conf_2016_talkNGINX_conf_2016_talk
NGINX_conf_2016_talk
 
Continuous Security for GitOps
Continuous Security for GitOpsContinuous Security for GitOps
Continuous Security for GitOps
 
Profiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech TalkProfiling Java inside containers with ContainerJFR | DevNation Tech Talk
Profiling Java inside containers with ContainerJFR | DevNation Tech Talk
 

Similar to Experimental evaluation of dynamic switching between one on-one and group video calling

TADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettTADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan Burnett
Alan Quayle
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan Burnett
Mojo Lingo
 
Prashant Resume
Prashant ResumePrashant Resume
Prashant Resume
Prashant Desai
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
Chip Childers
 
CPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use CasesCPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use Cases
Stephan Haller
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
Fernando Lopez Aguilar
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
Amir Zmora
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
nagachika t
 
Web rtc 入門
Web rtc 入門Web rtc 入門
Web rtc 入門
crsgypin Chiu
 
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP ServletsMobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
telestax
 
WebRTC eduCONF
WebRTC eduCONFWebRTC eduCONF
WebRTC eduCONF
Mihály Mészáros
 
OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
Jody Garnett
 
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Alpen-Adria-Universität
 
Griffon for the Enterprise
Griffon for the EnterpriseGriffon for the Enterprise
Griffon for the Enterprise
James Williams
 
Mainframe Virtual User Group Summer 2013
Mainframe Virtual User Group Summer 2013Mainframe Virtual User Group Summer 2013
Mainframe Virtual User Group Summer 2013
Serena Software
 
Flink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paasFlink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paas
Monal Daxini
 
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
Jitendra Bafna
 
Real-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classesReal-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classes
a2tt
 
Puppet / DevOps - EDGE Lviv
Puppet / DevOps - EDGE LvivPuppet / DevOps - EDGE Lviv
Puppet / DevOps - EDGE Lviv
zenyk
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
Perfecto by Perforce
 

Similar to Experimental evaluation of dynamic switching between one on-one and group video calling (20)

TADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan BurnettTADS Developer Summit WebRTC Dan Burnett
TADS Developer Summit WebRTC Dan Burnett
 
WebRTC Overview by Dan Burnett
WebRTC Overview by Dan BurnettWebRTC Overview by Dan Burnett
WebRTC Overview by Dan Burnett
 
Prashant Resume
Prashant ResumePrashant Resume
Prashant Resume
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
 
CPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use CasesCPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use Cases
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
 
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDKBigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
BigQuery case study in Groovenauts & Dive into the DataflowJavaSDK
 
Web rtc 入門
Web rtc 入門Web rtc 入門
Web rtc 入門
 
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP ServletsMobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
Mobicents Summit 2012 - Jean Deruelle - Mobicents SIP Servlets
 
WebRTC eduCONF
WebRTC eduCONFWebRTC eduCONF
WebRTC eduCONF
 
OSGeo Live Lightening Overview
OSGeo Live Lightening OverviewOSGeo Live Lightening Overview
OSGeo Live Lightening Overview
 
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
Network-Assisted Delivery of Adaptive Video Streaming Services through CDN, S...
 
Griffon for the Enterprise
Griffon for the EnterpriseGriffon for the Enterprise
Griffon for the Enterprise
 
Mainframe Virtual User Group Summer 2013
Mainframe Virtual User Group Summer 2013Mainframe Virtual User Group Summer 2013
Mainframe Virtual User Group Summer 2013
 
Flink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paasFlink forward-2017-netflix keystones-paas
Flink forward-2017-netflix keystones-paas
 
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
MuleSoft Surat Meetup#52 - Flex Gateway (Port Based Routing V/S Path Based Ro...
 
Real-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classesReal-time Code Sharing Service for one-to-many coding classes
Real-time Code Sharing Service for one-to-many coding classes
 
Puppet / DevOps - EDGE Lviv
Puppet / DevOps - EDGE LvivPuppet / DevOps - EDGE Lviv
Puppet / DevOps - EDGE Lviv
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
 

Recently uploaded

Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 

Recently uploaded (20)

Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 

Experimental evaluation of dynamic switching between one on-one and group video calling

  • 1. Experimental Evaluation of Dynamic Switching between One- on-One and Group Video Calling George Politis | github.com/gpolitis | @jitsinews tiny.cc/p2p4121-presentation 1
  • 2. Jitsi Meet Overview • Jitsi Meet (Open Source) Stack • meet.jit.si cloud • meet.jit.si metrics !2
  • 3. Jitsi Meet Stack Jitsi Meet for the Web (WebRTC JS APIs) Jitsi Meet for Mobile (React Native WebRTC) JiCoFo (Signaling Server) Jitsi Videobridge (Media Server/SFU) Client Side Server Side XMPP (Prosody) UDP/DTLS/SRTP 3
  • 4. Jitsi Meet • Multiple Layouts • Video Quality slider • Speaker stats • Desktop sharing • Integrated Chat • callstats.io integration • Transcriptions • Recording to Dropbox • Telephony support (web & mobile app) 4
  • 5. Jitsi Videobridge • Implements Google Congestion Control • Adaptive Simulcast/SVC • Adaptive Last-N • XMPP API • REST API • callstats.io integration media server/SFU 5
  • 6. Signaling components SFU 1 SFU 2 SFU N HA Proxy Cluster … … Shard N AWS Region Z AWS Region X AWS Region Y Shard 1 TURN meet.jit.si Cloud • Horizontal scaling through Sharding • Geo-distributed HA Proxy cluster routes participants to shards • AWS Regions: North Virginia, Oregon, Ireland, Australia • Beefy dedicated C4.xlarge for SFU & TURN servers 6
  • 7. meet.jit.si Metrics • 91,408 conferences • Average conference duration 38 min • Average participant count 3.37 • 3.47M conferencing minutes • 7.25M participant minutes • Average RTT: 296ms • Average Upload: 1110 kbps • Average Download: 563 kbps !7
  • 8. P2P4121 (aka peer-to-peer for one-to-one) • Congestion control • Group call vs one-on-one call mode • Other implementations • Jitsi meet implementation !8
  • 9. Google Congestion Control • Network congestion directly impacts Quality of Service (QoS) • Google Congestion Control cues: • Packet delay variation • Packet loss • Standard RTCP & REMB or Transport Wide Congestion Control Header and RTCP feedback • Implemented in the browser/ mobile and in the SFU Media Target bitrate 2.5Mbps Packet arrival times Packet loss Sender Receiver 9
  • 10. One-on-one vs Group mode Media Target bitrate 2.5Mbps Packet arrival times Packet loss Sender Receiver Sender A Receiver SFU simulcast 3.2Mbps Simulcast filtering Last-N filtering Sender B Sender C simulcast 3.2Mbps 2.5Mbps 10
  • 11. Other implementations ✅ Google Hangouts (Feb 2016) ✅ Jitsi Meet (July 2017) ✅ Slack Video (June 2018) ❓Facebook Video ❓Skype ❓Apple FaceTime !11
  • 12. P2P4121 Operation • Participants enter in group- call mode. • The group-call mode connection is maintained at all times. • If #participants == 2 for more than X seconds, enter one-on-one call mode • If #participants > 2, fall back to group-call mode SFU Participant A Participant B Group mode connection Group mode connection One-to-one mode connection !12
  • 13. Results • Compare measurements from two periods: pre-P2P4121 and post-P2P4121 • Client side: WebRTC Statistics API => Splunk • Server side: DataDog monitoring • Infrastructure resource use: transferred data, SFU IO stats • Quality of Service: RTT, call establishment time, download/upload throughput !13
  • 14. Conferencing-time • Pre-P2P4121 • 23470 conferences • 689273 minutes • Post-P2P4121 • 23320 conferences (-0.5%) • 696311 minutes (+1%) 6-way or more 2.6% 5-way 2.0% 4-way 5.4% 3-way 12.2% One-on-one 77.8% 14
  • 15. Transferred data Change -49% Terrabytes Downstream Upstream Combined 6.3 2.7 3.6 13.1 6 7.1 Change -52%Change -55% 15
  • 16. SFU IO Percent CPU 3.2% 4.7% Megabytes Memory 2,420 3,740 Change -35% Change -32% Numberofprocesses Load 0.15 0.28 Change -46% 16
  • 18. Average Round-trip time end-to-end RTT for server-relayed calls RTT for direct connect calls % change N. Virginia (US) 157 ms 122 ms 22.3% shorter Ireland (EU) 132 ms 92 ms 30.3% shorter 16% shorter 24.6% shorter !18
  • 21. Average down/up bitrate Download /Upload TURN-relayed Direct connect SFU-relayed Ireland (EU) 1307 Kbps /1281 Kbps 1217 Kbps /1207 Kbps 819 Kbps /1349 Kbps (60% efficiency) N. Virginia (US) 1108 Kbps /1045 Kbps 1209 Kbps /1169 Kbps 655 Kbps /1245 Kbps (52% efficiency) !21
  • 22. Conclusion • 52% reduced bandwidth • 35%-40% infrastructure pressure (memory/CPU/load) • 20%-30% shorter RTT (depending on the region) • TURN throughput ~= direct connect throughput • Group call features reduce one-on-one call throughput efficiency: 52%-60% !22
  • 23. Thank you! GEORGE POLITIS | GITHUB.COM/GPOLITIS | @JITSINEWS !23