Realtime communication in mobile
-
Upload
girishfingent -
Category
Technology
-
view
832 -
download
0
Transcript of Realtime communication in mobile
INTRODUCTIONRealtime Communication in Mobile
Girish Rengaswamy, Senior Manager - Mobile Solutions
What is real-time communications (RTC) ?•Instant exchange of information.
•Direct path between the source and the destination.
•Half-duplex or full-duplex modes.
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
Why did RTC using SMS/MMS failed?•Data Congestion
• MMS is difficult to setup in the handset
•Data limitation
•Cost
RTC in the Web: Early days•IRC•Yahoo Chat•ICQ•AIM•MSN Messenger•Skype
RTC in Mobile: Now!
WhatsApp FB Messenger
Telegram
Skype
Hike Viber
Snapchat
Line
SlackBBM QQ
RTC Mobile apps usageWhatsapp
FB Messenger
Skype
Line
Viber
Telegram
Hike Messenger
0 100 200 300 400 500 600 700 800 900 1000 1100
Active User (Millions)
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.
Understanding WhatsApp architecture
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
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
Architecture for a scalable RTC App
Cloud Based Platform Solutions for RTC
What’s Next?•IOT based RTC mobile apps
•AI systems
•Wearables
•Remotely control machines/robots/drones