Zoom
0-day streakReview

Your progress

Level 1

0 XP100 XP to level 2
0day streak
0best streak
0topics started
0cards reviewed
    Review cards

    Progress is stored only in this browser. No account is required.

    Design Zoom: the 60-second story

    Design Zoom

    Click a link, and Pune, Dubai and Toronto share one Diwali call.

    Every packet has a deadline. One that arrives 300 ms late is as useless as one that never arrived.

    30 Tbps

    of live audio and video at peak

    About 11M people sit in meetings at peak. Assume each sends about 1 Mbps and receives 1.5. 16.5 Tbps leaves the servers, so egress dominates.

    Ten cameras. Who carries them?

    Bad: Mesh: send to everyone

    Each uploads 9 × 1.5 = 13.5 Mbps. Calls collapse around four people.

    Good: SFU: upload once

    It forwards packets without decoding, each sized to its tile.

    Fibre, Wi-Fi and a train. Who gets which video?

    Asha uploads 720p, 360p and 180p, about 2.15 Mbps. The SFU forwards each receiver the largest layer its tile and bandwidth allow.

    Wi-Fi and 4G drop packets. Re-asking a sender across an ocean takes too long.

    The trick

    The receiver NACKs the SFU, which keeps about a second of every stream. The repair crosses one short hop.

    Five in India, four in Toronto. Where does the call live?

    With one SFU in Mumbai, 36 streams cross the ocean. Cascade an SFU in each region and each stream crosses once, 9 in all.

    200

    Mbps of video per 100-person meeting, not 1,485

    Every camera to everyone, even at 180p, is 100 × 99 × 0.15 Mbps. Forward each person one 25-tile page instead, and only the three loudest voices.

    Behind a strict firewall? Walk down the ladder

    1. UDP straight to the SFU first
    2. UDP on port 3478 or 443
    3. TCP to a TURN relay on 443
    4. TLS on 443: looks like web traffic

    Remember

    Control over WebSockets, media over UDP through nearby SFUs. Upload simulcast once; forward each receiver what it can take; cascade SFUs across regions.