You are on page 1of 9

Zoom

System
Design
Sarat Kumar Magatapalli
Agenda
Functional & Non-Functional requirements

Intro to pre-requisite tools & protocols

Our design approach

Detail Design

Other aspects of design

Tuesday, February 2, 20XX Sample Footer Text 2


Video/Audio Conferencing System
Design
• Today, we will talk about how to design Video/Audio conferencing system ( example: Zoom , MS Teams,
Cisco Webex etc..)

Functional Requirements: Non-Functional Requirements:


• 1 to 1 Call • Super-fast
• Group Call • High Availability
• Audio/Video/Screen Share • Scalability ( considering current Zoom users and usage)
• Record Session • Data Loss OK
• Message Communication • Security
• Agility

Architecture Decisions / Principles:


Considering the NFR’s , we 1) Use API’s for communication
have decided to leverage the 2) When ever applicable use async communication
Event –Driven Microservices 3) Don't just confine to only RDBMS or only NO-SQL DB’s .
Architecture 4) Build system which can be extendible ( in future add
self-learning/analytical capabilities)

June 2022 3
Web Protocols (Pre-Requisite)
• WebSocket (or WebSockets) is a protocol for low latency bidirectional communication initiated via HTTP
Useful for sending and receiving data using text, binary arrays or blobs . Providing full-duplex
communication channels over a single TCP connection

Client Server

• WebRTC (Web Real-Time Communication) is a free, open-source project that provides web browsers
and mobile applications with real-time communication (RTC) via simple application programming
interfaces (APIs).
Main API’s of WebRTC :
Server

• GetUserMedia
Client Client • PeerConnection
• Data Channel
June 2022 4
Design Approach
• As we prefer to leverage Microservice Architecture , let’s use microservices concepts to identify the
services ( should adhere to Single responsibility Principle) and build a loosely-coupled System.

• Use Domain-Driven Methodology to identify the break into small modules. Here are various
domain/capabilities

User Management
Group Management
Messages Management
Record Management
Notification Management
Asset Management
WebSocket Handlers
WebSocket Management
Group Management Handlers

June 2022 5
Zoom User & Group Registration Flow

June 2022 6
Zoom 1:1 Chat Walkthru

June 2022 7
Zoom 1:1 Video Walk thru

June 2022 8
Thank You

Tuesday, February 2, 20XX Sample Footer Text 9

You might also like