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
140
高パケットロス耐性を持つビデオストリーミングのためのHTTP/3拡張
teru0x1
February 05, 2020
Tweet
Share
More Decks by teru0x1
See All by teru0x1
マルチクラスタの認知負荷に立ち向かう! Ubieのプラットフォームエンジニアリング
teru0x1
4
3.3k
ブラウザの外側でWasmを使おう
teru0x1
0
290
スタブサーバ自動生成ツール 〜負荷試験をもっと楽に〜
teru0x1
0
1.6k
バッチシステムをクラウドネイティブにするために考えたこと
teru0x1
17
8k
クラウド環境をFargateに 移行して得た知見
teru0x1
0
1.4k
Goと定数 DMM.go #3
teru0x1
0
2.5k
はてなインターン2020成果発表
teru0x1
0
1k
入門QUIC
teru0x1
0
470
【衝撃】Archlinuxをインストールした結果がヤバすぎた!
teru0x1
0
61
Other Decks in Technology
See All in Technology
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
300
MLOps の現場から
asei
6
650
C++26 エラー性動作
faithandbrave
2
750
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
Qiita埋め込み用スライド
naoki_0531
0
5.1k
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
2
110
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
Featured
See All Featured
The Language of Interfaces
destraynor
154
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Bash Introduction
62gerente
608
210k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
How to Ace a Technical Interview
jacobian
276
23k
How STYLIGHT went responsive
nonsquared
95
5.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Being A Developer After 40
akosma
87
590k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
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