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
3
2.9k
ブラウザの外側でWasmを使おう
teru0x1
0
280
スタブサーバ自動生成ツール 〜負荷試験をもっと楽に〜
teru0x1
0
1.5k
バッチシステムをクラウドネイティブにするために考えたこと
teru0x1
17
7.8k
クラウド環境をFargateに 移行して得た知見
teru0x1
0
1.4k
Goと定数 DMM.go #3
teru0x1
0
2.4k
はてなインターン2020成果発表
teru0x1
0
980
入門QUIC
teru0x1
0
450
【衝撃】Archlinuxをインストールした結果がヤバすぎた!
teru0x1
0
50
Other Decks in Technology
See All in Technology
分析者起点の企画を成功させた連携面の工夫
lycorptech_jp
PRO
1
260
WSUSが非推奨に!? Windowsの更新管理を改めて勉強する!
ebibibi
0
110
入社半年(合計1年)でGoogle Cloud 認定を全冠した秘訣🤫
risatube
1
230
OPENLOGI Company Profile
hr01
0
54k
【shownet.conf_】ShowNet伝送改めShowNet APN 2024
shownet
PRO
0
450
KubeVirt Networking ONIC 2024
orimanabu
4
610
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
180
SageMaker学習のツボ / The Key Points of Learning SageMaker
cmhiranofumio
0
190
Case Study: Concurrent Counting
ennael
PRO
0
120
New Relicを活用したシステム監視の強化とオブザーバビリティ向上
sugoto911
1
100
業務ヒアリングと知識の呪い
tamai_63
0
290
スクラム導入の舞台裏:QAエンジニアがスクラムマスターになるまで
bubo1201
0
240
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Bash Introduction
62gerente
608
210k
BBQ
matthewcrist
85
9.2k
Documentation Writing (for coders)
carmenintech
65
4.4k
Music & Morning Musume
bryan
46
6.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
From Idea to $5000 a Month in 5 Months
shpigford
381
46k
Typedesign – Prime Four
hannesfritz
39
2.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
A better future with KSS
kneath
237
17k
Speed Design
sergeychernyshev
22
490
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