COVID-19以来、ZOOMやMicrosoft Teamsなどでオンライン会議の機会が増えた読者も、会議中に音声が途切れるという経験をしたことは多いと思う。これはUDPを利用しているからである。なので、この点は、ZOOMと変わりがないと考えられる。
大きな違いは、このUDPの仕組みを利用したうえで、「1回あたりのデータ送信量が小さいこと」と、「ネットワーク上に配置されたハブとなるサーバの数」、「スピーカーとオーディエンス(視聴者)のネットワークを別系統にしている」という異なるネットワークの設計をおこなっていることにあると想定される。そして、驚くべきことに、この設計上発生する問題の多くをUXによって解決しているのだ。
後半ではClubhouseの興味深い実装について、なるべくわかりやすいアナロジーで解説したいと思う。
各施策のメリット・デメリット
1回あたりのデータ送信量を小さくすることで、送信開始までの遅延を減らしている
例えば、音声をデジタル通信で送る際にはコンピュータの中で下記のような作業手順を連続的に繰り返す。
1. 波形である音声を0と1のデジタルデータに変換する。
2. パケットと呼ばれるデータを配送するための仮想的な箱を用意する。
3. デジタルデータを、パケット(仮想的な箱)が満タンになるまで梱包する。
4. 配送先をパケットに記載する。
5. 様々なネットワーク経路を経て、配送先にデータが届く。
6. 届いたパケットからデータを取り出す。
7. データを再び聞き取り可能な音に復元する。
ちなみに、前述のTCPで通信する場合は、2と3のタイミングくらいに、このパケットの中にはどんなデータが入っているか? という納品書+組立書を作る作業と、6と7のタイミングで、納品書の内容を検収し、足りない場合は再送以来をすること、7のタイミングで組立書を見ながらデータを組み立てるという作業が追加される。
この際に、2でデータを入れる箱の大きさが小さければ小さいほど、発送を開始するタイミングが早くなる。なぜかというと3でデータが満タンにならないと発送が開始されないからである。これが1個目の違い「1回あたりのデータ送信量が小さいこと」である。
データを入れる箱の大きさによる発送速度の違いを表した図
ClubhouseはZOOMと比較して1回あたりの送信パケットの大きさが小さい、このためZOOMよりも早くデータを送信することが出来る。これによって1/100秒、1/1000秒単位の遅延を減らすことが出来る。