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

CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
 

What's hot (20)

KubernetesでRedisを使うときの選択肢
KubernetesでRedisを使うときの選択肢KubernetesでRedisを使うときの選択肢
KubernetesでRedisを使うときの選択肢
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
WebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample updateWebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample update
 
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
AbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステムAbemaTVの動画配信を支えるサーバーサイドシステム
AbemaTVの動画配信を支えるサーバーサイドシステム
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 

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 (12)

リアルタイム議事録&翻訳付きのビデオ会議を作ろう ~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機器にリアルタイム・コミュニケーションを追加しよう
 
究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”
 
大企業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賞
 

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

  • 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はゲーム向け 通信プロトコルに使えるのでしょうか?