Realtime communication in mobile


Published on

Realtime communication in Mobile

Published in: Technology
  • Be the first to comment

Realtime communication in mobile

  1. 1. INTRODUCTION Realtime Communication in Mobile Girish Rengaswamy, Senior Manager - Mobile Solutions
  2. 2. What is real-time communications (RTC) ? •Instant exchange of information. •Direct path between the source and the destination. •Half-duplex or full-duplex modes.
  3. 3. 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
  4. 4. Why did RTC using SMS/MMS failed? •Data Congestion • MMS is difficult to setup in the handset •Data limitation •Cost
  5. 5. RTC in the Web: Early days •IRC •Yahoo Chat •ICQ •AIM •MSN Messenger •Skype
  6. 6. RTC in Mobile: Now! WhatsApp FB Messenger Telegram Skype WeChat Hike Viber Snapchat Line SlackBBM QQ
  7. 7. RTC Mobile apps usage 0 100 200 300 400 500 600 700 800 900 1000 1100 Whatsapp FB Messenger QQ WeChat Skype Line Viber Telegram Hike Messenger Active User (Millions)
  8. 8. Technologies used by RTC Mobile apps WhatsApp FB Messenger Telegram Slack Protocol XMPP MQTT MTProto WebSocket Server/Broker ejabberd/YAWS IBM MessageSight/mos quitto* 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.
  9. 9. Understanding WhatsApp architecture
  10. 10. 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
  11. 11. 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
  12. 12. Architecture for a scalable RTC App
  13. 13. Cloud Based Platform Solutions for RTC
  14. 14. What’s Next? •IOT based RTC mobile apps •AI systems •Wearables •Remotely control machines/robots/drones
  15. 15. Thank You