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
120
高パケットロス耐性を持つビデオストリーミングのためのHTTP/3拡張
teru0x1
February 05, 2020
Tweet
Share
More Decks by teru0x1
See All by teru0x1
マルチクラスタの認知負荷に立ち向かう! Ubieのプラットフォームエンジニアリング
teru0x1
3
630
ブラウザの外側でWasmを使おう
teru0x1
0
250
スタブサーバ自動生成ツール 〜負荷試験をもっと楽に〜
teru0x1
0
1.4k
バッチシステムをクラウドネイティブにするために考えたこと
teru0x1
17
7.6k
クラウド環境をFargateに 移行して得た知見
teru0x1
0
1.4k
Goと定数 DMM.go #3
teru0x1
0
2.4k
はてなインターン2020成果発表
teru0x1
0
950
逆求人フェスティバル
teru0x1
0
62
入門QUIC
teru0x1
0
430
Other Decks in Technology
See All in Technology
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
630
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
Azure AI ことはじめ
tsubakimoto_s
0
130
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
Datadog Cloud SIEMを使ってAWS環境の脅威を可視化した話/lifeistech-datadog-cloud-siem
gidajun
0
480
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
270
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
470
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
「我々はどこに向かっているのか」を問い続けるための仕組みづくり / Establishing a System for Continuous Inquiry about where we are
daitasu
0
170
技術負債による事業の失敗はなぜ起こるのか / Why do business failures due to technical debt occur?
i35_267
0
190
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
Leading Effective Engineering Teams 2024
addyosmani
3
300
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Documentation Writing (for coders)
carmenintech
63
4.2k
A designer walks into a library…
pauljervisheath
201
24k
4 Signs Your Business is Dying
shpigford
178
21k
Agile that works and the tools we love
rasmusluckow
325
20k
The World Runs on Bad Software
bkeepers
PRO
63
11k
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