15
INTRODUCTION Realtime Communication in Mobile Girish Rengaswamy, Senior Manager - Mobile Solutions

Realtime communication in mobile

Embed Size (px)

Citation preview

Page 1: Realtime communication in mobile

INTRODUCTIONRealtime Communication in Mobile

Girish Rengaswamy, Senior Manager - Mobile Solutions

Page 2: Realtime communication in mobile

What is real-time communications (RTC) ?•Instant exchange of information.

•Direct path between the source and the destination.

•Half-duplex or full-duplex modes.

Page 3: Realtime communication in mobile

Real-time communications can include:

• Telephony in the conventional sense

• Mobile and cellular telephone

• Two-way or multi-way amateur radio

• IRC or other chatting modes

• Live videoconference and teleconference communications

• SMS/MMS/IM

Page 4: Realtime communication in mobile

Why did RTC using SMS/MMS failed?•Data Congestion

• MMS is difficult to setup in the handset

•Data limitation

•Cost

Page 5: Realtime communication in mobile

RTC in the Web: Early days•IRC•Yahoo Chat•ICQ•AIM•MSN Messenger•Skype

Page 6: Realtime communication in mobile

RTC in Mobile: Now!

WhatsApp FB Messenger

Telegram

Skype

WeChat

Hike Viber

Snapchat

Line

SlackBBM QQ

Page 7: Realtime communication in mobile

RTC Mobile apps usageWhatsapp

FB Messenger

QQ

WeChat

Skype

Line

Viber

Telegram

Hike Messenger

0 100 200 300 400 500 600 700 800 900 1000 1100

Active User (Millions)

Page 8: Realtime communication in mobile

Technologies used by RTC Mobile apps WhatsApp FB Messenger Telegram Slack

Protocol XMPP MQTT MTProto WebSocket

Server/Broker ejabberd/YAWSIBM

MessageSight/mosquitto*

Unknown Java messaging service/Apache

Server Side Programming Language Erlang/PHP* Java* Unknown Java/PHP

Online Database Mnesia/MySQL* Unknown Unknown MySQL

Offline DB SQLite SQLite SQLite SQLite

* The information presented here has been collected from third party sources as many of apps mentioned here are not open about their architecture.

Page 9: Realtime communication in mobile

Understanding WhatsApp architecture

Page 10: Realtime communication in mobile

XMPP (eXtensible Messaging and Presence Protocol)•XMPP is a client-server application protocol.•Uses TCP while WebSockets can also be used.•Push instead of pull.•Matured implimentaton.•Serverless Messaging (P2P) for Video, Audio and File transfer•Open source servers: Wildfire, ejabberd, Jabberd 2, Jabberd 1.4•Supports wide variety of datastore like: MySQL, Postgresql, Oracle, sqlite, Berkeley DB, file

Page 11: Realtime communication in mobile

WebSocket Protocol•WebSocket is a protocol providing full-duplex communication channels over a single TCP connection.

•Works seamlessly over web, mobile and standalone application.•Works over a firewall•Client implementation in all most all the languages•Can be implemented in mobile apps using the following library

• iOS : SocketRocket•Java-WebSocket

Page 12: Realtime communication in mobile

Architecture for a scalable RTC App

Page 13: Realtime communication in mobile

Cloud Based Platform Solutions for RTC

Page 14: Realtime communication in mobile

What’s Next?•IOT based RTC mobile apps

•AI systems

•Wearables

•Remotely control machines/robots/drones