Local Session Description
what is the local configuration?
Slide 84
Slide 84 text
Local Session Description
what is the local configuration?
Remote Session Description
Slide 85
Slide 85 text
Local Session Description
what is the local configuration?
Remote Session Description
what is the remote configuration?
Slide 86
Slide 86 text
Local Session Description
what is the local configuration?
Remote Session Description
what is the remote configuration?
Remote Transport Candidates
Slide 87
Slide 87 text
Local Session Description
what is the local configuration?
Remote Session Description
what is the remote configuration?
Remote Transport Candidates
how to connect to the remote peer?
Slide 88
Slide 88 text
No content
Slide 89
Slide 89 text
No content
Slide 90
Slide 90 text
No content
Slide 91
Slide 91 text
Low Latency
Slide 92
Slide 92 text
Low Latency
aka Fast and Furious
Slide 93
Slide 93 text
Low Latency
aka Fast and Furious
High Throughput
Slide 94
Slide 94 text
Low Latency
aka Fast and Furious
High Throughput
aka send ALL the messages
Slide 95
Slide 95 text
Low Latency
aka Fast and Furious
High Throughput
aka send ALL the messages
Unreliable send
Slide 96
Slide 96 text
Low Latency
aka Fast and Furious
High Throughput
aka send ALL the messages
Unreliable send
aka possible loss (“Call me maybe”)
Slide 97
Slide 97 text
var channel =
out.createDataChannel("chat");
channel.send({...});
Slide 98
Slide 98 text
var fn = function(event) {
var message = event.data;
...
}
in.addEventListener("datachannel", fn);
Slide 99
Slide 99 text
Practical
uses
Slide 100
Slide 100 text
No content
Slide 101
Slide 101 text
How can it be done?
app
client 1 client 2
Slide 102
Slide 102 text
How can it be done?
app
client 1 client 2
Slide 103
Slide 103 text
How can it be done?
app
client 1 client 2
P2P + DataChannel
Slide 104
Slide 104 text
No content
Slide 105
Slide 105 text
How can it be done?
app
client 3 client 4
client 1 client 2
Slide 106
Slide 106 text
How can it be done?
app
client 3 client 4
client 1 client 2
Slide 107
Slide 107 text
How can it be done?
app
client 3 client 4
client 1 client 2
Slide 108
Slide 108 text
No content
Slide 109
Slide 109 text
How can it be done?
Slide 110
Slide 110 text
app
How can it be done?
Slide 111
Slide 111 text
app
How can it be done?
Slide 112
Slide 112 text
app
40ms
How can it be done?
Slide 113
Slide 113 text
app
40ms
How can it be done?
Slide 114
Slide 114 text
app
40ms
200ms
How can it be done?
Slide 115
Slide 115 text
app
40ms
200ms
30ms
How can it be done?
Slide 116
Slide 116 text
app
40ms
200ms
30ms
How can it be done?
Slide 117
Slide 117 text
app
40ms
200ms
30ms
How can it be done?
50ms
Slide 118
Slide 118 text
How about Ruby?
Slide 119
Slide 119 text
How about Ruby?
- No WebRTC implementation
available (yet)
Slide 120
Slide 120 text
How about Ruby?
- No WebRTC implementation
available (yet)
- Native C++ API
(libjingle)
Slide 121
Slide 121 text
How about Ruby?
- No WebRTC implementation
available (yet)
- Native C++ API
(libjingle)
- Multiple signaling options
(goliath, websocket-rack, rack-stream)
Slide 122
Slide 122 text
How about Ruby?
- No WebRTC implementation
available (yet)
- Native C++ API
(libjingle)
- Multiple signaling options
(goliath, websocket-rack, rack-stream)
interested?
ping me
Slide 123
Slide 123 text
One more thing
Slide 124
Slide 124 text
No content
Slide 125
Slide 125 text
No content
Slide 126
Slide 126 text
No content
Slide 127
Slide 127 text
No content
Slide 128
Slide 128 text
Not Free
28%
Partially Free
43%
Free
30%
Woldwide Internet Freedom
http://www.freedomhouse.org/sites/default/files/inline_images/FOTN%202012%20FINAL.pdf