SlideShare a Scribd company logo
1 of 34
Download to read offline
Copyright © NTT Communications Corporation. All right reserved.
OKINAWA OPEN DAYS 2015
「ユースケース研究事例:オンラインゲーム」
〜次の時代のオンラインゲームに求められるクラウド・ネットワーク技術〜
究極のゲーム⽤通信プロトコルを探せ!
NTTコミュニケーションズ株式会社 技術開発部
Webコアテクニカルユニットリーダ/担当課⻑
⼤津⾕ 亮祐
2015年12⽉
Copyright © NTT Communications Corporation. All right reserved.
⾃⼰紹介 / ⼤津⾕ 亮祐(おおつや りょうすけ)
2
n 仕事
HTML5(Web技術)チームのリーダ
WebRTCプラットフォーム
“SkyWay” プロダクトマネージャ
n コミュニティ
WebRTCをテーマにした
カンファレンス
“WebRTC Conference Japan” 幹事
n プライベート
神奈川県 葉⼭町 在住
趣味は海と畑
Copyright © NTT Communications Corporation. All right reserved.
WebRTCとは
3
Web RTC
Web RT C
Web Real Time Communication
IPネットワークで リアルタイムな (意思疎通 | 通信)
をするためのオープン標準
Copyright © NTT Communications Corporation. All right reserved.
リアルタイムコミュニケーションの歴史
最初のリアルタイム・コミュニケーションは電話
1876年以来、電話会社が独占
4 www.flickr.com/photos/mattb_tv/2550476978
Copyright © NTT Communications Corporation. All right reserved.
2000年前後に、NapsterやSkypeがインターネット上
でリアルタイム・コミュニケーションを実現
5 www.flickr.com/photos/132889348@N07/18410514419
Copyright © NTT Communications Corporation. All right reserved.
2011年にWebRTCの最初の草案が発表
すべてのソフトウェアエンジニアが
リアルタイム・コミュニケーションを扱える時代が到来
“リアルタイム・コミュニケーションの⺠主化”
6 www.flickr.com/photos/tjflex/57210112
Copyright © NTT Communications Corporation. All right reserved.
エンジニア向けの説明
1. ⾳声、映像、データのリアルタイム通信のオープン標準
• 従来のサービス(LINE、Skype等)は独⾃技術でできていた。
WebRTCはオープン標準技術。ライセンス使⽤料が不要。
• 中⾝は4つ。IETF(①~③)とW3C(④)で標準化。
①暗号化、到達・順序保証、流量・輻輳制御を実現する
プロトコル
②ネットワーク機器(NAT等)を越えてP2P通信する⼿順
③⾳声と映像の形式(コーデック)
④JavaScriptから利⽤するブラウザAPI
2. ブラウザとネイティブアプリの両⽅で利⽤できる
• WebRTC対応ブラウザにURLを⼊⼒するだけで、WebRTCを利⽤した
サービスを利⽤できる。
• オープンソースのC++のコードを利⽤しコンパイルすれば、ネイティ
ブアプリにWebRTC機能を組み込むこともできる。
7
P2Pについて
は後述
Copyright © NTT Communications Corporation. All right reserved.
マーケティング的な説明
1. コミュニケーションアプリを容易に開発
• Facebook Messenger, ChatWork等のビデオ通話に採⽤
2. アプリ内/サイト内で完結する⼀貫性のあるユーザ体験
• アプリやサイトにコミュニケーション機能を組み込みめる。
従来は、別デバイスや別アプリ(電話、Skype等)が必要だった。
3. サポートコストの削減、低ITリテラシ層の利⽤
• ブラウザで利⽤する場合、インストールが不要。
アプリで利⽤する場合、別アプリの併⽤が不要。
4. 家電、IoT分野の⼀部で活⽤できる
• 映像や⾳声を扱う場合のプロトコルとして利⽤できる。
既にWebRTCを利⽤した家電も登場(右の写真)。
5. 電話との連携
• WebRTC⇔IP電話変換サーバを使えば、ブラウザで電話の
発着信が可能に。
Chromecast
Withings Home
Copyright © NTT Communications Corporation. All right reserved.
P2Pとは
n P2P(Peer to Peer)とは、端末同⼠がサーバを経由せず、
直接通信すること。
n サーバ負荷が⼩さいのでスケーラビリティが⾼い、
サーバのコストが安い、遅延が少ない、などのメリットがある。
9
P2P通信 サーバ⇔クライアント通信
Copyright © NTT Communications Corporation. All right reserved.
NAT越え問題
n IPv4アドレスが枯渇、多くの端末はNATの下にある
n NATが外からのパケットをブロックする
n P2P通信を実現するためには、何らかの⼯夫が必要
10
外からのパケット
をNATがブロック
Copyright © NTT Communications Corporation. All right reserved.
UPnPによるNAT越え
n UPnPやNAT-PMPに対応しているNATの場合、端末からポート
の変換ルールを指⽰して、外からのアクセスを許可できる。
n しかし、ISPや携帯キャリアに導⼊されているNAT
(CGN = Carrier Grade NAT, LSD = Large Scale NAT) は、
UPnPやNAT-PMPに対応していない。
11
あらかじめNATに
⽳を空けておく
Copyright © NTT Communications Corporation. All right reserved.
ICEによるNAT越え
n WebRTCではICE (内部技術…STUN、TURN、UDPホールパンチング)
という技術を使ってNATを越える
n UDPホールパンチングは、UDPの「ステートレス」という
特徴に着⽬して、NATをいわば「騙す」⼿法
n 実装が⼤変!
12
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの開発者コミュニティ
13
n IETF … プロトコル、NAT越え、コーデックの標準化
W3C … JavaScriptから利⽤するブラウザAPIの標準化
n WebRTC Conference Japan (2016/2/16~17)
ビジネスと技術の両⽅を対象にしたカンファレンス&展⽰会
n WebRTC Meetup シリーズ
技術者向けの勉強会
Copyright © NTT Communications Corporation. All right reserved.
ULLOGプロジェクトとは
超低レイテンシなゲーム専⽤のプロトコルを開発し、
その特徴を活かした魅⼒的なゲームを開発を促進する
14
ULLOG
Ultra Low Latency Online Game
Copyright © NTT Communications Corporation. All right reserved.
⽴ち上げのきっかけ
n 沖縄オープンラボを通じて、NTT Comとモノビットが出会う
n NTT Com
• WebRTCの開発フレームワーク “SkyWay” を提供中
• ゲームはWebRTCの有望なユースケースだが、
ゲーム開発者における認知が低く、採⽤も進んでいない
n モノビット
• ゲーム専⽤通信エンジンを提供中
• 現状はサーバ⇔クライアント型だが、P2P型にも興味がある
15
Copyright © NTT Communications Corporation. All right reserved.
ロードマップ
n まずは、WebRTCとその他のプロトコルの⽐較実験
n WebRTCを使うかどうかも含めた開発⽅針を策定し、
プロトタイプ開発に進む
16
ゲーム⽤通信
プロトコル実験
プロトタイプ
開発
商⽤開発
開発⽅針の策定
(今ココ)
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験の概要
スマートフォン2台の間で通信に要する時間を測定
17
Copyright © NTT Communications Corporation. All right reserved.
プロトコル 4通り
18
P2P サーバ経由
①WebRTC ②UDP
③TCP
④WebSocket
Copyright © NTT Communications Corporation. All right reserved.
地域 2通り
19
①沖縄
②東京
Copyright © NTT Communications Corporation. All right reserved.
場所 3通り
20
①オフィス街 ②住宅街 ③電⾞で移動中
Copyright © NTT Communications Corporation. All right reserved.
端末 2通り
21
①iPhone ②Androidスマホ
Copyright © NTT Communications Corporation. All right reserved.
アプリ 2通り
22
①ブラウザ ②測定⽤アプリ
Copyright © NTT Communications Corporation. All right reserved.
回線 4通り
23
①光
+Wi-Fi
②ドコモ
LTE
③au
LTE
④ソフトバンク
LTE
Copyright © NTT Communications Corporation. All right reserved.
時間帯 4通り
24
②平⽇ 夜間
①平⽇ ⽇中
④休⽇ 夜間
③休⽇ ⽇中
Copyright © NTT Communications Corporation. All right reserved.
リレーサーバ 1通り
25
①AWS 東京リージョン
Copyright © NTT Communications Corporation. All right reserved.
送信データ 1通り
26
①1/64秒(16ミリ秒)間隔で64bytesを送信
Copyright © NTT Communications Corporation. All right reserved.
謝辞
実験へのご協⼒ありがとうございました。
n ブリブサー ⽐嘉様、喜納様
n NEC 藤岡様
n NTTコミュニケーションズ ⾼橋、加藤、⼭村
27
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと①
n WebRTCはすべての場合においてUDPとTCPより⾼速!!
28
場所 回線 WebRTC
(P2P)
UDP
(S⇔C)
TCP
(S⇔C)
東京⇔東京 LTE 同キャリア 50 70 110
LTE 異キャリア 60 62 100
光+Wi-Fi 10 13 13
東京⇔沖縄 LTE 同キャリア 65 100 140
沖縄⇔沖縄 LTE 同キャリア 68 92 171
LTE 異キャリア 78 90 150
光+Wi-Fi 19 62 106
(Androidの場合、単位ms)
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと①
n 正直に⾔って意外…
n WebRTCはUDPより相当重いプロトコル
(UDPの上に、DTLSという暗号化レイヤーと、SCTPというプロ
トコルが乗っており、オーバーヘッドがある)
n 歴史あるWeb系プロトコルと⽐べると、
プロトコルスタックが枯れておらず、
パフォーマンスがでないのでは?
n と思っていた
29
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと②
n 同じキャリア間は特にWebRTCが速い
30
92
68
0 50 100
UDP
WebRTC
70
50
0 50 100
UDP
WebRTC
沖縄⇔沖縄、LTE 同キャリア
(Androidの場合、単位ms)
東京⇔東京、LTE 同キャリア
40%⾼速 35%⾼速
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと②
n WebRTCは、インターネットに出ず、キャリア網の中で
つながったと考えられる
n ただし沖縄⇔沖縄の場合でも、沖縄内ではなく、
東京までは⾏ってそう
31
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと③
n 同じWi-Fiアクセスポイント配下は特にWebRTCが速い
32
13
10
0 50 100
UDP
WebRTC
62
19
0 50 100
UDP
WebRTC
沖縄⇔沖縄、光+Wi-Fi東京⇔東京、光+Wi-Fi
(Androidの場合、単位ms)
3.3倍⾼速
(僅差)
Copyright © NTT Communications Corporation. All right reserved.
ゲーム⽤通信プロトコル実験でわかったこと③
n UDPは東京⇔沖縄を往復、
WebRTCは家の中で繋がる
33
東京⇔沖縄を
往復
34Copyright © NTT Communications Corporation. All right reserved.
さて、WebRTCはゲーム向け
通信プロトコルに使えるのでしょうか?

More Related Content

What's hot

What's hot (20)

ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
 
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会
新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会
新しくなったモノビットエンジンを使って10万人規模のサーバを構築するノウハウを公開!2017年10月27日モノビットエンジン勉強会
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
 
SFUの話
SFUの話SFUの話
SFUの話
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
 
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料Azure PlayFab トレーニング資料
Azure PlayFab トレーニング資料
 
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
個人からトリプル A タイトルのゲーム開発者まで。Azure PlayFab で LiveOps しよう
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 

Similar to 究極のゲーム用通信プロトコルを探せ!

【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
Yuichi MAKI
 

Similar to 究極のゲーム用通信プロトコルを探せ! (20)

WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
02172016 web rtc_conf_komasshu
02172016 web rtc_conf_komasshu02172016 web rtc_conf_komasshu
02172016 web rtc_conf_komasshu
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTC
 
WebRTC の紹介
WebRTC の紹介WebRTC の紹介
WebRTC の紹介
 
Web rtcの使い方
Web rtcの使い方Web rtcの使い方
Web rtcの使い方
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
iPhoneでなんちゃってWebRTC
iPhoneでなんちゃってWebRTCiPhoneでなんちゃってWebRTC
iPhoneでなんちゃってWebRTC
 
SkyWay HandsOn
SkyWay HandsOnSkyWay HandsOn
SkyWay HandsOn
 
【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
 
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
 
WebRTCが拓く 新たなWebビジネスの世界
WebRTCが拓く新たなWebビジネスの世界WebRTCが拓く新たなWebビジネスの世界
WebRTCが拓く 新たなWebビジネスの世界
 
エフサミ2014 web rtcの傾向と対策
エフサミ2014 web rtcの傾向と対策エフサミ2014 web rtcの傾向と対策
エフサミ2014 web rtcの傾向と対策
 
WebRTCハンズオン
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオン
 
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会
 
Web RTCにより拓かれるコミュニケーションサービスの形 「新たなバリュー創造へ。ntt comのチャレンジ」webアプリケーション エバンジェリスト ...
Web RTCにより拓かれるコミュニケーションサービスの形 「新たなバリュー創造へ。ntt comのチャレンジ」webアプリケーション エバンジェリスト ...Web RTCにより拓かれるコミュニケーションサービスの形 「新たなバリュー創造へ。ntt comのチャレンジ」webアプリケーション エバンジェリスト ...
Web RTCにより拓かれるコミュニケーションサービスの形 「新たなバリュー創造へ。ntt comのチャレンジ」webアプリケーション エバンジェリスト ...
 

More from Ryosuke Otsuya

リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~
リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~
リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~
Ryosuke Otsuya
 
HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞
Ryosuke Otsuya
 

More from Ryosuke Otsuya (11)

リアルタイム議事録&翻訳付きのビデオ会議を作ろう ~WebRTCの最新動向~ SkyWay Media Pipeline Factory
リアルタイム議事録&翻訳付きのビデオ会議を作ろう ~WebRTCの最新動向~ SkyWay Media Pipeline Factoryリアルタイム議事録&翻訳付きのビデオ会議を作ろう ~WebRTCの最新動向~ SkyWay Media Pipeline Factory
リアルタイム議事録&翻訳付きのビデオ会議を作ろう ~WebRTCの最新動向~ SkyWay Media Pipeline Factory
 
WebRTCのビデオ通話でユーザ体験を変える ~WebRTCの最新事例集~
WebRTCのビデオ通話でユーザ体験を変える ~WebRTCの最新事例集~WebRTCのビデオ通話でユーザ体験を変える ~WebRTCの最新事例集~
WebRTCのビデオ通話でユーザ体験を変える ~WebRTCの最新事例集~
 
超音波でフルメッシュボイスチャットを可視化してみた
超音波でフルメッシュボイスチャットを可視化してみた超音波でフルメッシュボイスチャットを可視化してみた
超音波でフルメッシュボイスチャットを可視化してみた
 
reCAPTCHAとSkyWayのAPI認証で手軽に利用できて不正利用に強いアプリを作ろう
reCAPTCHAとSkyWayのAPI認証で手軽に利用できて不正利用に強いアプリを作ろうreCAPTCHAとSkyWayのAPI認証で手軽に利用できて不正利用に強いアプリを作ろう
reCAPTCHAとSkyWayのAPI認証で手軽に利用できて不正利用に強いアプリを作ろう
 
リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~
リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~
リアルタイムコミュニケーションでイノベーティブなサービスを作ろう ~WebRTCの最新イノベーション事例~
 
Communication×Hack 事前スライド 〜WebRTCで次世代のコミュニケーションをHackする〜
Communication×Hack 事前スライド 〜WebRTCで次世代のコミュニケーションをHackする〜Communication×Hack 事前スライド 〜WebRTCで次世代のコミュニケーションをHackする〜
Communication×Hack 事前スライド 〜WebRTCで次世代のコミュニケーションをHackする〜
 
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しようWebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
 
大企業Hacks!
大企業Hacks!大企業Hacks!
大企業Hacks!
 
WebRTCエキスパート座談会
WebRTCエキスパート座談会WebRTCエキスパート座談会
WebRTCエキスパート座談会
 
日本で初開催!WebRTC Conference Japanに無料で入場する方法
日本で初開催!WebRTC Conference Japanに無料で入場する方法日本で初開催!WebRTC Conference Japanに無料で入場する方法
日本で初開催!WebRTC Conference Japanに無料で入場する方法
 
HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞
 

Recently uploaded

Recently uploaded (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

究極のゲーム用通信プロトコルを探せ!

  • 1. Copyright © NTT Communications Corporation. All right reserved. OKINAWA OPEN DAYS 2015 「ユースケース研究事例:オンラインゲーム」 〜次の時代のオンラインゲームに求められるクラウド・ネットワーク技術〜 究極のゲーム⽤通信プロトコルを探せ! NTTコミュニケーションズ株式会社 技術開発部 Webコアテクニカルユニットリーダ/担当課⻑ ⼤津⾕ 亮祐 2015年12⽉
  • 2. Copyright © NTT Communications Corporation. All right reserved. ⾃⼰紹介 / ⼤津⾕ 亮祐(おおつや りょうすけ) 2 n 仕事 HTML5(Web技術)チームのリーダ WebRTCプラットフォーム “SkyWay” プロダクトマネージャ n コミュニティ WebRTCをテーマにした カンファレンス “WebRTC Conference Japan” 幹事 n プライベート 神奈川県 葉⼭町 在住 趣味は海と畑
  • 3. Copyright © NTT Communications Corporation. All right reserved. WebRTCとは 3 Web RTC Web RT C Web Real Time Communication IPネットワークで リアルタイムな (意思疎通 | 通信) をするためのオープン標準
  • 4. Copyright © NTT Communications Corporation. All right reserved. リアルタイムコミュニケーションの歴史 最初のリアルタイム・コミュニケーションは電話 1876年以来、電話会社が独占 4 www.flickr.com/photos/mattb_tv/2550476978
  • 5. Copyright © NTT Communications Corporation. All right reserved. 2000年前後に、NapsterやSkypeがインターネット上 でリアルタイム・コミュニケーションを実現 5 www.flickr.com/photos/132889348@N07/18410514419
  • 6. Copyright © NTT Communications Corporation. All right reserved. 2011年にWebRTCの最初の草案が発表 すべてのソフトウェアエンジニアが リアルタイム・コミュニケーションを扱える時代が到来 “リアルタイム・コミュニケーションの⺠主化” 6 www.flickr.com/photos/tjflex/57210112
  • 7. Copyright © NTT Communications Corporation. All right reserved. エンジニア向けの説明 1. ⾳声、映像、データのリアルタイム通信のオープン標準 • 従来のサービス(LINE、Skype等)は独⾃技術でできていた。 WebRTCはオープン標準技術。ライセンス使⽤料が不要。 • 中⾝は4つ。IETF(①~③)とW3C(④)で標準化。 ①暗号化、到達・順序保証、流量・輻輳制御を実現する プロトコル ②ネットワーク機器(NAT等)を越えてP2P通信する⼿順 ③⾳声と映像の形式(コーデック) ④JavaScriptから利⽤するブラウザAPI 2. ブラウザとネイティブアプリの両⽅で利⽤できる • WebRTC対応ブラウザにURLを⼊⼒するだけで、WebRTCを利⽤した サービスを利⽤できる。 • オープンソースのC++のコードを利⽤しコンパイルすれば、ネイティ ブアプリにWebRTC機能を組み込むこともできる。 7 P2Pについて は後述
  • 8. Copyright © NTT Communications Corporation. All right reserved. マーケティング的な説明 1. コミュニケーションアプリを容易に開発 • Facebook Messenger, ChatWork等のビデオ通話に採⽤ 2. アプリ内/サイト内で完結する⼀貫性のあるユーザ体験 • アプリやサイトにコミュニケーション機能を組み込みめる。 従来は、別デバイスや別アプリ(電話、Skype等)が必要だった。 3. サポートコストの削減、低ITリテラシ層の利⽤ • ブラウザで利⽤する場合、インストールが不要。 アプリで利⽤する場合、別アプリの併⽤が不要。 4. 家電、IoT分野の⼀部で活⽤できる • 映像や⾳声を扱う場合のプロトコルとして利⽤できる。 既にWebRTCを利⽤した家電も登場(右の写真)。 5. 電話との連携 • WebRTC⇔IP電話変換サーバを使えば、ブラウザで電話の 発着信が可能に。 Chromecast Withings Home
  • 9. Copyright © NTT Communications Corporation. All right reserved. P2Pとは n P2P(Peer to Peer)とは、端末同⼠がサーバを経由せず、 直接通信すること。 n サーバ負荷が⼩さいのでスケーラビリティが⾼い、 サーバのコストが安い、遅延が少ない、などのメリットがある。 9 P2P通信 サーバ⇔クライアント通信
  • 10. Copyright © NTT Communications Corporation. All right reserved. NAT越え問題 n IPv4アドレスが枯渇、多くの端末はNATの下にある n NATが外からのパケットをブロックする n P2P通信を実現するためには、何らかの⼯夫が必要 10 外からのパケット をNATがブロック
  • 11. Copyright © NTT Communications Corporation. All right reserved. UPnPによるNAT越え n UPnPやNAT-PMPに対応しているNATの場合、端末からポート の変換ルールを指⽰して、外からのアクセスを許可できる。 n しかし、ISPや携帯キャリアに導⼊されているNAT (CGN = Carrier Grade NAT, LSD = Large Scale NAT) は、 UPnPやNAT-PMPに対応していない。 11 あらかじめNATに ⽳を空けておく
  • 12. Copyright © NTT Communications Corporation. All right reserved. ICEによるNAT越え n WebRTCではICE (内部技術…STUN、TURN、UDPホールパンチング) という技術を使ってNATを越える n UDPホールパンチングは、UDPの「ステートレス」という 特徴に着⽬して、NATをいわば「騙す」⼿法 n 実装が⼤変! 12
  • 13. Copyright © NTT Communications Corporation. All right reserved. WebRTCの開発者コミュニティ 13 n IETF … プロトコル、NAT越え、コーデックの標準化 W3C … JavaScriptから利⽤するブラウザAPIの標準化 n WebRTC Conference Japan (2016/2/16~17) ビジネスと技術の両⽅を対象にしたカンファレンス&展⽰会 n WebRTC Meetup シリーズ 技術者向けの勉強会
  • 14. Copyright © NTT Communications Corporation. All right reserved. ULLOGプロジェクトとは 超低レイテンシなゲーム専⽤のプロトコルを開発し、 その特徴を活かした魅⼒的なゲームを開発を促進する 14 ULLOG Ultra Low Latency Online Game
  • 15. Copyright © NTT Communications Corporation. All right reserved. ⽴ち上げのきっかけ n 沖縄オープンラボを通じて、NTT Comとモノビットが出会う n NTT Com • WebRTCの開発フレームワーク “SkyWay” を提供中 • ゲームはWebRTCの有望なユースケースだが、 ゲーム開発者における認知が低く、採⽤も進んでいない n モノビット • ゲーム専⽤通信エンジンを提供中 • 現状はサーバ⇔クライアント型だが、P2P型にも興味がある 15
  • 16. Copyright © NTT Communications Corporation. All right reserved. ロードマップ n まずは、WebRTCとその他のプロトコルの⽐較実験 n WebRTCを使うかどうかも含めた開発⽅針を策定し、 プロトタイプ開発に進む 16 ゲーム⽤通信 プロトコル実験 プロトタイプ 開発 商⽤開発 開発⽅針の策定 (今ココ)
  • 17. Copyright © NTT Communications Corporation. All right reserved. ゲーム⽤通信プロトコル実験の概要 スマートフォン2台の間で通信に要する時間を測定 17
  • 18. Copyright © NTT Communications Corporation. All right reserved. プロトコル 4通り 18 P2P サーバ経由 ①WebRTC ②UDP ③TCP ④WebSocket
  • 19. Copyright © NTT Communications Corporation. All right reserved. 地域 2通り 19 ①沖縄 ②東京
  • 20. Copyright © NTT Communications Corporation. All right reserved. 場所 3通り 20 ①オフィス街 ②住宅街 ③電⾞で移動中
  • 21. Copyright © NTT Communications Corporation. All right reserved. 端末 2通り 21 ①iPhone ②Androidスマホ
  • 22. Copyright © NTT Communications Corporation. All right reserved. アプリ 2通り 22 ①ブラウザ ②測定⽤アプリ
  • 23. Copyright © NTT Communications Corporation. All right reserved. 回線 4通り 23 ①光 +Wi-Fi ②ドコモ LTE ③au LTE ④ソフトバンク LTE
  • 24. Copyright © NTT Communications Corporation. All right reserved. 時間帯 4通り 24 ②平⽇ 夜間 ①平⽇ ⽇中 ④休⽇ 夜間 ③休⽇ ⽇中
  • 25. Copyright © NTT Communications Corporation. All right reserved. リレーサーバ 1通り 25 ①AWS 東京リージョン
  • 26. Copyright © NTT Communications Corporation. All right reserved. 送信データ 1通り 26 ①1/64秒(16ミリ秒)間隔で64bytesを送信
  • 27. Copyright © NTT Communications Corporation. All right reserved. 謝辞 実験へのご協⼒ありがとうございました。 n ブリブサー ⽐嘉様、喜納様 n NEC 藤岡様 n NTTコミュニケーションズ ⾼橋、加藤、⼭村 27
  • 28. Copyright © NTT Communications Corporation. All right reserved. ゲーム⽤通信プロトコル実験でわかったこと① n WebRTCはすべての場合においてUDPとTCPより⾼速!! 28 場所 回線 WebRTC (P2P) UDP (S⇔C) TCP (S⇔C) 東京⇔東京 LTE 同キャリア 50 70 110 LTE 異キャリア 60 62 100 光+Wi-Fi 10 13 13 東京⇔沖縄 LTE 同キャリア 65 100 140 沖縄⇔沖縄 LTE 同キャリア 68 92 171 LTE 異キャリア 78 90 150 光+Wi-Fi 19 62 106 (Androidの場合、単位ms)
  • 29. Copyright © NTT Communications Corporation. All right reserved. ゲーム⽤通信プロトコル実験でわかったこと① n 正直に⾔って意外… n WebRTCはUDPより相当重いプロトコル (UDPの上に、DTLSという暗号化レイヤーと、SCTPというプロ トコルが乗っており、オーバーヘッドがある) n 歴史あるWeb系プロトコルと⽐べると、 プロトコルスタックが枯れておらず、 パフォーマンスがでないのでは? n と思っていた 29
  • 30. Copyright © NTT Communications Corporation. All right reserved. ゲーム⽤通信プロトコル実験でわかったこと② n 同じキャリア間は特にWebRTCが速い 30 92 68 0 50 100 UDP WebRTC 70 50 0 50 100 UDP WebRTC 沖縄⇔沖縄、LTE 同キャリア (Androidの場合、単位ms) 東京⇔東京、LTE 同キャリア 40%⾼速 35%⾼速
  • 31. Copyright © NTT Communications Corporation. All right reserved. ゲーム⽤通信プロトコル実験でわかったこと② n WebRTCは、インターネットに出ず、キャリア網の中で つながったと考えられる n ただし沖縄⇔沖縄の場合でも、沖縄内ではなく、 東京までは⾏ってそう 31
  • 32. Copyright © NTT Communications Corporation. All right reserved. ゲーム⽤通信プロトコル実験でわかったこと③ n 同じWi-Fiアクセスポイント配下は特にWebRTCが速い 32 13 10 0 50 100 UDP WebRTC 62 19 0 50 100 UDP WebRTC 沖縄⇔沖縄、光+Wi-Fi東京⇔東京、光+Wi-Fi (Androidの場合、単位ms) 3.3倍⾼速 (僅差)
  • 33. Copyright © NTT Communications Corporation. All right reserved. ゲーム⽤通信プロトコル実験でわかったこと③ n UDPは東京⇔沖縄を往復、 WebRTCは家の中で繋がる 33 東京⇔沖縄を 往復
  • 34. 34Copyright © NTT Communications Corporation. All right reserved. さて、WebRTCはゲーム向け 通信プロトコルに使えるのでしょうか?