10. PubNub Real-time Network
14 Data Centers
Global Replication
3 Million Messages / Second
200 Million Devices / Month
< 1/4 Second Latency
1000s of Apps
Reliability
Performance
Service
Guarantee
PubNub
Friday, November 22, 13
Massive
Broadcast
11. The Definitive Leader in Real-Time
Powering 1000s of apps and streaming 3M messages a second to 200M devices a month
• Real-Time Collaboration
• 2nd Screen Sync
• Machine-to Machine Signaling
• Live Dashboards
• Multi-Player Games
• Real-Time Financial Streams
• Group Chat Rooms
• Real-Time Location Tracking
• Call Triggering
• Thousands more....
PubNub
Friday, November 22, 13
15. Case Study: Rebtel
What is it?
World’s Second Largest VoIP Company
What does PubNub power?
All signaling to soft phones (iOS / Android)
Powers the new RebTel SDK (competitive with Twilio)
Value to Rebtel:
•
Time-to-Market: with PubNub, all focus on end user experience
•
Cost: dramatically reduced vs self-hosting 4-region, redundant set of data
centers
• Latency: fastest “time-to-ring” worldwide (each 500ms = lost revenue)
PubNub
Friday, November 22, 13
16. Case Study: Coca-Cola
Digital campaigns moving from banner ads to real-time experiences
• American Music Awards -- Red-carpet website allowing friends to chat
and annotate live video in real-time
• 2013 Superbowl -- Live voting and experience synchronization using
PubNub during the Cokechase.com campaign.
Value to Coke:
• Engagement -- Real-time campaigns drive dramatically longer consumer/
brand interaction than banners and other static digital campaigns
• Reliability -- in 2012 suffered 9-hour downtime due to spike load
• Scale -- Coke can’t rely on agencies or internal hosting for real-time expertise
PubNub
Friday, November 22, 13
17. Case Study: Tophatter
What is it?
Real-Time Auction site (eBay meets HSN)
What does PubNub power?
All user and bid interaction
Value to TopHatter:
• Redundancy: Multi-region needs redundancy for always-on
reliability. Other services dropped for 5-minute spans with no
explanation.
• Operational Efficiency: No need to host / maintain complex
real-time systems internally, using PubNub for cost of 0.5 headcount.
PubNub
Friday, November 22, 13
18. The Two Challenges of Real-Time
Development
Device Support
Network Protocols
Real-time Features
25% of the pain
Deployment
25. On application launch PubNub Negotiates an Always-ON TLS Socket with Client.
Customer Mobile and Web Clients
iOS
iOS
iOS
Subscribe Message
Channel “a” Stream
Customer Data Center
PubNub
Node
Node
Node
Node
Publish Message
Channel “a”
TLS/HTTPS Tunnel w/ AES256
Friday, November 22, 13
Node
Node
Node
iOS
iOS
iOS
iOS
PubNub
SSL
PubNub
SSL
PubNub Network
Message Publish
AES Encrypted Message Body
Node
Web
Android
PubNub
GeoIP lookup sends UDP Datagram List of IPs
Connects client to closest Data Center.
Open TLS/HTTPS Socket
GeoDNS
Open TLS/HTTPS Socket
GeoDNS Routes Mobile and Laptop Clients
to the nearest PubNub Network Data Center.
Open TLS/HTTPS Socket
PubNub Network
Message Envelope
PubNub
Data Center
1
PubNub
Data Center
2
PubNub
Data Center
3
PubNub
Data Center
... n
26. PubNub’s Real-Time Services
PubNub (Unicast)
PubNub (Multicast)
Data
Streams
Presence
Analytics
Storage/
Playback
Security
PubNub
Friday, November 22, 13
Mobile
Routing/
Filtering
28. TCP Socket State in Disagreement
=
Guaranteed 1 Second Lag
PubNub
Friday, November 22, 13
29. Existing connection:
client via reverse
proxy 1.2.3.4:50000
server 5.6.7.8:443
---ACK--
--ACK---
PubNub
Friday, November 22, 13
30. Client disconnects and the
proxy closes its connection to the server:
proxy 1.2.3.4:50000
server 5.6.7.8:443
---FIN--
--ACK---
PubNub
Friday, November 22, 13
31. The server does not process the socket close internally
while there is pending conn. The proxy eventually
times out and removes the half-closed connection.
proxy 1.2.3.4:50000
closed
server 5.6.7.8:443
half-closed
PubNub
Friday, November 22, 13
32. The proxy wishes to establish another connection to the
server and happens to pick the same ephemeral port.
This happens more frequently at high connection rates.
The
server transmits a probe ACK with the last known
sequence
number to verify the existing connection.
proxy 1.2.3.4:50000
server 5.6.7.8:443
---SYN--
--ACK---
PubNub
Friday, November 22, 13
33. The proxy receives the probe ACK and answers with a
RST.
The old connection is now closed on both sides.
proxy 1.2.3.4:50000
server 5.6.7.8:443
---RST--
PubNub
Friday, November 22, 13
34. After a 1 second timeout, the proxy retransmits the SYN
for
the new connection, which is now accepted by the server
side.
proxy 1.2.3.4:50000
server 5.6.7.8:443
---SYN--
-SYNACK---ACK--
PubNub
Friday, November 22, 13