Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
高パケットロス耐性を持つビデオストリーミングのためのHTTP/3拡張
Search
teru0x1
February 05, 2020
Technology
0
180
高パケットロス耐性を持つビデオストリーミングのためのHTTP/3拡張
teru0x1
February 05, 2020
Tweet
Share
More Decks by teru0x1
See All by teru0x1
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
480
マルチクラスタの認知負荷に立ち向かう! Ubieのプラットフォームエンジニアリング
teru0x1
4
4.5k
ブラウザの外側でWasmを使おう
teru0x1
0
380
スタブサーバ自動生成ツール 〜負荷試験をもっと楽に〜
teru0x1
0
1.9k
バッチシステムをクラウドネイティブにするために考えたこと
teru0x1
17
8.5k
クラウド環境をFargateに 移行して得た知見
teru0x1
0
1.6k
Goと定数 DMM.go #3
teru0x1
0
2.7k
はてなインターン2020成果発表
teru0x1
0
1.1k
入門QUIC
teru0x1
0
580
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
460
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
670
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
140
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
120
Red Hat OpenStack Services on OpenShift
tamemiya
0
110
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
600
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Curious Case for Waylosing
cassininazir
0
240
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
エンジニアに許された特別な時間の終わり
watany
106
230k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Evolving SEO for Evolving Search Engines
ryanjones
0
120
AI: The stuff that nobody shows you
jnunemaker
PRO
2
260
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
Transcript
ߴύέοτϩεੑΛ࣋ͭ ϏσΦετϦʔϛϯάͷͨΊͷ )551֦ு ೳιϑτΣΞݚڀࣨ ֶ࢜՝ఔ খ ً
背景 lಈըίϯςϯπͷ૿Ճ Πϯλʔωοτ௨৴ͷҎ্͕ಈըίϯςϯπ lଓͷ૿Ճ -"/ͰෳσόΠε͕ಉ࣌ʹଳҬΛফඅ αʔϏεʹରͯ͠େྔͷΫϥΠΞϯτ͕ಉ࣌ଓ lଓͷଟ༷Խ
εϚϗɺλϒϨοτͱ͍ͬͨϞόΠϧ ϞόΠϧଳҬ͕มԽ͘͢͠ύέοτϩεൺֱతߴ͍ ʢ#BMUSVOBT ʣ lෆ҆ఆͳωοτϫʔΫڥԼͰշదͳࢹௌମݧΛ 2
研究目的 lఆωοτϫʔΫڥ ଳҬมԽ͕ܹ͍͠ ύέοτϩε͕ߴ͍ lཁ݅ ಈըͷ࠶ੜఀࢭ͕͍࣌ؒ
ಈըͷ࠶ੜఀࢭස͕͍ 3 )551Λ֦ு͢Δ͜ͱʹΑΔ ϏσΦετϦʔϛϯά৴ܗଶͷఏҊ
ストリーミング配信 4 ৴αʔό Τϯίʔμ ಈըใΛอଘ ಈըϑΝΠϧ ৴αʔϏεͷγεςϜ Χϝϥ ΫϥΠΞϯτ Τϯίʔυ
ʢಈըใͷѹॖʣ
既存研究(1/3)動機 l ϏσΦͷ࠶ੜఀࢭΛ͍͗ͨ ύέοτϩεڥԼͰɺσʔλͷ࠶ૹ͕ ίετʹͳΔ ࠶ૹΛ͑Δ͜ͱͰ࠶ੜఀࢭΛ੍ ͨͩ͠ɺϏσΦͷ࠶ੜʹඞਢͷσʔλૹΔ
ඞཁ͕͋Δ ෦తʹ৴པੑͷͳ͍ํࣜͰૹ৴Λߦ͏ 5
既存研究(2/3) l 4$51ͱ4DBMBCMF 7JEFP$PEJOHʢ47$ʣͷར༻ ʢ0SUJ[ ʣ 4$51τϥϯεϙʔτϓϩτίϧͷͭ 47$ͷ#BTF
-BZFS͚ͩϩεͨ࣌͠ʹ࠶ૹ 6 ग़యɿ"TVSWFZPOCJUSBUFBEBQUBUJPOTDIFNFTGPSTUSFBNJOH NFEJBPWFS)551 "CEFMIBLFUBM $0.45 w#BTF-BZFS࠶ੜʹඞཁͳ ϨΠϠ w&OIBODFNFOU-BZFS࣭Λ Ճ͢ΔϨΠϠ
既存研究(3/3) l 26*$֦ுͷར༻ʢ1BMNFS ʣ 26*$ʹ࠶ૹΛߦΘͳ͍֦ுΛՃ ࠶ੜʹඞཁͳϐΫνϟʢϏσΦϑϨʔϜʣ͚ͩ࠶ૹ l 26*$
৽ͨͳτϥϯεϙʔτϓϩτίϧ (PPHMFʹΑͬͯߟҊɺ։ൃ ݱࡏɺඪ४Խͷ్த 5$1ͷΛ؇ 7
QUIC l ϑϨʔϜ 26*$Ͱૹ৴͢Δ σʔλͷ࠷খ୯Ґ ύέοτϩε࣌ͷ ࠶ૹ୯Ґ l
ετϦʔϜ Ծతͳ௨৴࿏ ίωΫγϣϯ্ʹ ଟॏԽ 8
HTTP/3 l 26*$্Ͱಈ͘)551 ैདྷͷ)551 )5515$1্Ͱಈ͘ l ετϦʔϜ )551ϨΠϠʹ͓͚ΔԾతͳ௨৴࿏
26*$ͷετϦʔϜʹϚοϐϯά 9
既存研究の問題点 l ͲͪΒ)551Λར༻͠ͳ͍ ϦΫΤετɺϨεϙϯεͷߏΛऔΒͳ͍ͨΊ αʔό͕֤छͷύϥϝʔλܾఆ $%/ʢΩϟογϡαʔόʣΛར༻Ͱ͖ͳ͍ 8FCαʔόͱผʹετϦʔϛϯάઐ༻αʔό
͕ඞཁ εέʔϥϏϦςΟ্ͷ͕ੜ͡Δ 10
提案手法(1/3) l طଘݚڀͱಉ༷ͷΞΠσΟΞΛ)551 Λ࣮ͬͯݱ ෦తʹ࠶ૹΛߦΘͳ͍௨৴Λར༻ͨ͠ ετϦʔϛϯά طଘख๏ͷͱͯ͠ڍ͛ͨͷղܾ͢Δ
ෆ҆ఆͳڥԼͰͷߴ͍࣭͕ظ͞ΕΔ 11
提案手法(2/3)ビデオ取得 l47$ͷϨΠϠ͝ͱʹετϦʔϜΛ͏ #BTF-BZFSඞͣ࠶ૹΛߦ͏ )551ͷ ετϦ ʔϜ &OIBODFNFOU-BZFS࠶ૹΛߦΘͳ͍ετϦʔϜ 12
提案手法(3/3)ビデオの再生 l ηάϝϯτΛσίʔμϒϧʹม ࠶ૹແ͠Ͱऔಘͨ͠ηάϝϯτσʔλͷҰ෦͕ܽଛ த్ͳϐΫνϟ͕͍ͬͯΕσίʔυෆՄೳ σʔλͱڞʹฦ͞ΕΔফࣦ͔۠ؒΒσίʔμϒϧͳ ൣғΛநग़͢Δ
13
提案手法 プロトコルへの拡張 l৴པੑͷͳ͍௨৴ Λ͢ΔͨΊɺ 26*$ɼ)551 ʹ"1*ΛՃ l൚༻ੑΛ࣋ͨͤͯ ֦ு 14
提案手法 QUICの拡張 15 "1*໊ 6OSFMJBCMF8SJUF Ҿ EBUB<>CZUF Γ CZUFT8SJUUFOJOU FFSSPS
֓ཁ EBUBΛ6/3&-*"#-&453&". 'SBNFͰૹ৴͢Δɻ "1*໊ 6OSFMJBCMF3FBE Ҿ EBUB<>CZUF Γ CZUFT3FBEJOU MPTT3BOHF<>#ZUF3BOHF FFSSPS ֓ཁ 6/3&-*"#-&453&".'SBNF Ͱड৴ͨ͠σʔλΛEBUBʹ ಡΈࠐΉɻ l৴པੑΛ࣋ͨͳ͍ ϑϨʔϜΛ৽ͨʹ ఆٛ l৴པੑͷͳ͍ ૹ৴ɺड৴Λߦ͏ "1*Λఆٛ 6OSFMJBCMF8SJUF 6OSFMJBCMF3FBE l(PͰ࣮
提案手法 HTTP/3の拡張 16 "1*໊ (FU8JUI3FMJBCJMJUZ Ҿ DMJFOU IUUQ$MJFOU VSMTUSJOH
VOSFMJBCMFCPPM Γ SFTQPOTF IUUQ3FTQPOTF FFSSPS ֓ཁ ৴པੑͷ༗ແΛࢦఆͯ͠ VSMʹ(FUϦΫΤετΛग़͢ɻ SFTQPOTF#PEZʹ ίϯςϯπͱܽଛൣғ͕ ฦ͞ΕΔɻ l৴པੑͷͳ͍ (FUϦΫΤετΛ Մೳʹ͢Δ"1*Λ ࣮ l(PͰ࣮
実験(1/2) l త ఏҊख๏Λͬͨࡍɺ ෆ҆ఆͳωοτϫʔΫ ڥʹ͓͍࣭ͯΛ อͯΔ͔Ͳ͏͔ݕূ͢Δ l ༰
ఏҊख๏ͱɺඪ४Խ్த ͷ)551 OPSNBM Ͱ ൺֱ ϏσΦ࠶ੜఀࢭʹؔ͢Δ ࢦඪΛධՁ 17
実験(2/2) l ࣮ݧ݅ ಈըϓϨΠϠʔΤϛϡϨʔλͷ"4USFBNΛվมͯ͠ར༻ ྲྀ͢ಈըඵؒ ଳҬมԽࠨԼਤʢ࠷େͰ.CQTʣ
ωοτϫʔΫߏӈԼਤɻશͯNJOJOFU7. 355NT ಈըηάϝϯτTFD ηάϝϯτऔಘΞϧΰϦζϜ#BTJDʢଳҬϕʔεʣ 47$֊ʹΤϯίʔυʢ#- &- ʣ 18 UJNF TFD CBOEXJEUI .CQT
結果(1/2) ύέοτϩεΛd·ͰมԽͤͯ͞ɺCVGSBUJP SBUFCVGΛܭଌ CVGSBUJP࠶ੜఀࢭ࣌ؒಈը࠶ੜ࣌ؒ SBUFCVG࠶ੜఀࢭճಈը࠶ੜ࣌ؒ ֤ύέοτϩεʹରͯ͠ճܭଌ
ʢ! − 1.5iqrҎԼͱ" + 1.5iqrҎ্আڈʣ Τϥʔόʔඪ४ޡࠩ 19 ੨ɿOPSNBM ᒵɿఏҊख๏ ੨ɿOPSNBM ᒵɿఏҊख๏ QBDLFUMPTTSBUF CVGSBUJP QBDLFUMPTTSBUF SBUFCVG
aSSIM (Palmer+ 2018) l ը࣭ͱ࠶ੜఀࢭ࣌ؒʢCVGSBUJPʣͷ ౷߹ࢦඪ ϐΫνϟը࣭ͷධՁࢦඪ44*.ʢTUSVDUVSBMTJNJMBSJUZʣ ετϦʔϛϯάͰը࣭͚ͩΛධՁ͢Δͷෆద
B44*.࠶ੜఀࢭதͷ44*.Λͱͯ͠ɺ࠶ੜظؒʹ ΘͨΔ44*.ͷฏۉΛͱͬͨͷ aSSIM = ∑!"# $ ! + % ! J൪ͷϐΫνϟͷ44*. ૯ϐΫνϟ ඵ͋ͨΓͷϐΫνϟ " ࠶ੜఀࢭ࣌ؒ 20
結果(2/2) ύέοτϩεΛd·ͰมԽͤͯ͞ɺB44*.Λܭଌ ଌఆճɺ֎Εআڈํ๏ɺΤϥʔόʔ͕ࣔ͢ͷઌఔͱ ಉ༷ 21 ੨ɿOPSNBM ᒵɿఏҊख๏ QBDLFUMPTTSBUF
B44*.
考察 ߴύέοτϩεڥԼʹ͓͍ͯSBUFCVGٴͼ B44*.͕྆ํվળ ྑ͍ωοτϫʔΫڥԼͰB44*.͕ΑΓ͍ w ύέοτϩε͕͍ڥԼͰͷը࣭ͷԼ͕ݪҼ w ύέοτϩεʹԠͯ͡ಈతʹOPSNBMͱͷΓସ͑Λߦ͏
22
まとめ l ݁ ෆ҆ఆͳωοτϫʔΫڥԼͰߴ͍࣭Λอͭ ৴ख๏ΛఏҊ w ࠶ੜఀࢭͷ੍ޮՌΛ֬ೝͨ͠ 26*$ɼ)551ʹ֦ுΛࢪ͢͜ͱͰ࣮ݱ
w $%/ͷར༻ͳͲʹΑΓεέʔϥϏϦςΟͷ֬อ͕Մೳ l ࠓޙͷల ਓؒͰͷఆੑతͳධՁ 23
CDNの利用 l$%/ʢDPOUFOUTEFMJWFSZOFUXPSLʣ ੈքதʹࢄஔ͞ΕͨΩϟογϡαʔόͷ͜ͱ εέʔϥϏϦςΟͷ֬อͷͨΊʹඞਢ lఏҊख๏ͱ$%/Λซ༻͢Δ߹ Ωϟογϡαʔόʹଛࣦͷͳ͍σʔλ͕͋ͬͯ΄͍͠ 24