IETF 126 moq WG 全3セッションまとめ(スライド・録画文字起こしより)

Summarized by @unasuke with Claude on 2026-08-07 12:26:30 UTC

IETF 126 Media over QUIC (moq) WG 議論まとめ

対象:2026年7月20日(月)/23日(木)/24日(金)の全3セッション(ウィーン)
情報源:各セッションのスライドおよび録画の文字起こし

全体像

今回の中心テーマは「moq-transport をどう終わらせるか」。エディタの Alan Frindell(Meta)は、IETF 125 以降に 72 PR がマージ(週平均 3.6、差分は +1843/−707 行)され機能面は前進したものの、未解決 issue が3月の 96 件から 109 件へ逆に増えたことを示し、「このペース(1サイクル +13 件)では永遠に終わらない」と警告した。

原因として挙げられたのは、LOC・MSF/CMSF・secure-objects・CAT4MoQ・Privacy Pass などの採択済みドラフトや SSTS・Top-N・Tempo などの拡張に注意が分散していること、および PR レビューと GitHub 上の非同期対応が遅いこと。ウィーンは4年前に最初の MoQ BOF が開かれた「MoQ 発祥の地」であり、「もう4年かけるのはやめよう」という訴えで締めくくられた。


セッション1(7/20)— コアドラフトとセキュリティ/認可

MOQT の主な変更点(draft-18 / -19)

LOC(Mo Zanaty)

-03/-04 を発行。AAC など初期化データが必要なコーデック向けに audio config プロパティ(0x0F)を追加(WebCodecs の AudioDecoderConfig に対応)。プロパティのコードポイント衝突が4回目となり、ドラフトごとに開始番号を分ける運用の合意へ。未解決の主要論点は video フレーム duration プロパティの要否。Colin Perkins から「RTP で後から追加した項目群を先に洗い出し、パラメータ空間を確保しておくべき」との助言。

Secure Objects(Cullen Jennings)

Auth デザインチーム中間報告(Mike English / Cloudflare)

10月の interim までに、①Privacy Pass 向けチャレンジ機構、②集約されたサブスクリプションの認可、③リレー間認可、の3点で解を出す予定。

中心的な緊張点は「ファンアウト効率と、オリジンパブリッシャによる個別サブスクライバ認証の両立」。提示された3案:

  1. エッジリレーへの委譲
  2. 一部サブスクライバを統計的にサンプリングして上流検証
  3. パブリッシャのポリシーをリレーに渡して判断させる

Ted Hardie は 1・3 系がサブスクライバ基盤の規模や属性をリレーに露出させるプライバシー上の代償を伴うと警告。Ian Swett や Chris Lemmons からは「HTTP CDN がすでに解いている問題では」「基本はベアラトークンで足り、必要なのはむしろトークンバインディング」との指摘も。AUTH_CHALLENGE / AUTH_RESPONSE メッセージの追加自体は方向性として支持され、DPoP の nonce チャレンジと形が一致している点が評価された。

MOQT issues(前半)


セッション2(7/23)— SSTS、ロケーションフィルタ、細かな設計論点

SSTS(Sender-Side Track Switching、Will Law / Akamai、PR #1638)

DTS から改称。最大の変更はアルゴリズムのプラガブル化で、switching set assignment パラメータの必須フィールドは switching set ID とアルゴリズム識別子のみに。SSTS_ALGORITHMS セットアップオプションでサーバが対応アルゴリズムを列挙(空リスト=非対応も可)。基準実装として「アルゴリズム0」を定義。DDoS 対策のセッション単位上限は「セッションを増やせば簡単に迂回される」ため削除され、リレーの自衛に委ねる方針に。

Location Filter(Mo Zanaty、PR #1809)

フィルタタイプの enum を廃し、start/end ロケーションの有無だけで表現する方式へ統一。start group のみ指定なら相対、start group + start object なら絶対、length=0 でフィルタ削除。機能追加ではなく「綴り方」の統一で、subscribe / fetch / fill fetch の3系統に散らばっていた表現を一本化。マージ合意に至った。

その他の issue

論点 結論・方向性
SUBSCRIPTION_STATE_UPDATE パブリッシャ側の一方的な状態変更を応答不要で通知。..._NOTIFY へ改名、通知内容の限定と制御メッセージ storm 回避の明記が action item
PUBLISH のパラメータ サブスクリプション関連パラメータを一通り載せる方向(auth token など載せてはいけないものは明示)。適用可能箇所を示す表を作る issue が既存
トラックエイリアスの再利用 別トラックへの再利用は禁止せず status quo 維持+注意書き追加
サブスクリプション単位フロー制御(#869) Victor Vasiliev は反対(優先度で足りる)。ストリーム数枯渇は優先度で防げない点は認められ、拡張ドラフト行きが読み筋
PUBLISH_OK での状態更新 直後の REQUEST_UPDATE に寄せて状態機械を単純化(異論なし)
どのトークンがエラー原因か Auth デザインチーム送り
URL クエリ文字列の構造化 key=value 形式の規範化を提案。Mike Bishop は技術的に問題なしと評価。議論が噛み合わず持ち越し
バージョンと拡張の関係 「新バージョンは既存拡張の可否を列挙しなければならない」という MUST は非現実的として緩和へ

Live Agent 向けフィードバック要件(Yanmei / Alibaba)

Omni モデルとのビデオ通話アプリで MoQ と WebRTC を A/B 比較し、0-RTT によるセッション確立の速さ、マルチストリーム優先度による QoS、TTFT の改善を報告(10万コネクション規模)。リレー構成向けに「ラストマイル用(L1 リレーが消費)」と「オリジン用(L1 が転送、集約可)」の2種のフィードバックを提案。


セッション3(7/24)— 相互接続性と応用ドラフト

Interop レポート(Mike English)

自動 interop runner の結果に加え、Wiki でアドホックな相互接続報告も収集開始。draft-18 の相互接続性は draft-16 ほど堅くないというのが共通認識で、次回 Seattle interop を 18 のままにするか 20 に進めるかは、9月初旬に virtual interop day を挟んで判断する案が出た。

Jordi(Meta)から2案:①破壊的変更の機会を使って「同じことをする複数のやり方」を廃止し1つに絞る、②interop レベルの定義(レベル1=subscribe/live のみ、レベル2=+fetch…)。いずれも支持を集めた。

MSF / CMSF(Will Law)

Tempo(Suhas Nandakumar、draft-nandakumar-moq-tempo)

視聴者間の同期再生。オブジェクトごとに capture timestamp・playout delay・hop time の3プロパティを載せ、リレーが hop time を更新。サブスクライバのフィードバックを sync server が集約してオリジンの遅延を調整。

会場からは「百万規模では中央のフィードバック集約は非現実的、各プレイヤーがステートレスに近い形で自律調整すべき」(Will Law、Ali、Jordi)という批判が集中。再生速度の微調整による局所補正、Top-N フィルタでフィードバックを統計的に間引く案が示された。

Mocha(Cullen Jennings、draft-ietf-moq-mocha-*)

チャットとビデオ会議を SFU やアプリサーバを一切使わずリレーのみで実現するデモ。

要件を具体化するための素材として提示され、「別の綴り方でベースドラフトを簡素化できるなら変更に前向き」との姿勢が示された。

Top Tracks Filter(Top-N、Mo Zanaty、PR #1518)

会議のアクティブスピーカー、監視カメラ、対戦ゲーム、フィード、オークションなどのファンイン用途。MAX_TOP_TRACKS セットアップオプション(N を8ビット=最大 255 に縮小)と、プロパティ型と N を指定するフィルタパラメータのみのシンプルな設計(spec text +135 行)。実装は moqtail / quicr-laps / cloudflare-moq-rs / openmoq-moqx の4つ。

「これが無いとリレー網の各段で枝刈りできず、結局アプリサーバを置くことになり MoQ を使う意味がなくなる」というのが推進側の主張。


通底したプロセス上の対立

今回最も緊張が高かったのは技術ではなくプロセスだった。

初日の agenda bash で Cullen Jennings が、Top-N を別ドラフトにするというチェアの判断について「7対7の分裂は合意ではない。合意なしを『自分のやりたい方をやる』と読み替えるのは妥当でない」として正式に異議を表明。チェアは「作業を進めること自体には強いコンセンサスがあり、MOQT 本体に取り込むことには rough consensus すら無かった」ため chair's decision として別ドラフト化を求めた、と回答した。

同じ構図は木曜の SSTS でも再現し、Ian Swett が「エディタが単独で merge/reject の判断を負わされたくない」と述べたことから、大きな機能については ML でのコンセンサスコールを行うという運用が確認された。Colin Perkins からは「アルゴリズム0だけを別ドラフトに切り出し、拡張点を含む枠組みは本体に残す」という第三案も提示。Top-N・SSTS ともに、PR を整理したうえでメーリングリストでコンセンサスコールにかける形で決着した。


今後の予定


余談

Meetecho による「MoQ セッションを MoQ で配信する」実験が3セッションを通じて実施された(https://moq.conf.meetecho.com/ietf126-moq/)。チェアの「MoQ で MoQ が見られるなら、もう完成ということで出荷していいのでは?」という冗談が繰り返し登場した。