INTRODUCTION
Realtime 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
WeChat
Hike Viber
Snapchat
Line
SlackBBM QQ
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)
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.
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
Thank You
girish.r@fingent.com
girish.r@gmail.com

More Related Content

PPTX
WhatsApp architecture
PDF
1. web technology basics
DOC
Voicebasedsrs 130319103050-phpapp02
PPTX
Hak voice-browser
PPTX
SMOWSER (A VOICE BASED BROWSER)
DOCX
Voice browser
PPTX
Web technologies lesson 1
PPTX
Voice Browser
WhatsApp architecture
1. web technology basics
Voicebasedsrs 130319103050-phpapp02
Hak voice-browser
SMOWSER (A VOICE BASED BROWSER)
Voice browser
Web technologies lesson 1
Voice Browser

What's hot (16)

PPT
Web Tech
PPTX
Chat application android app ppt
PPTX
Voice browser
PPTX
Presentation 1
PPTX
voice browser
PPT
Onlinechat
PPT
Introduction to web technology
PPT
Introduction To Web Technology
PDF
Web Technology UPTU UNIT 1
PPT
Basic computers for DIU laptop project students
PPTX
Onlinechat
PPTX
Basic Internet_Baabtra.com template
PPTX
PDF
Web Technology and Standards Tutorial
PPT
Overview of TCP IP
PPTX
Online chatting system
Web Tech
Chat application android app ppt
Voice browser
Presentation 1
voice browser
Onlinechat
Introduction to web technology
Introduction To Web Technology
Web Technology UPTU UNIT 1
Basic computers for DIU laptop project students
Onlinechat
Basic Internet_Baabtra.com template
Web Technology and Standards Tutorial
Overview of TCP IP
Online chatting system
Ad

Similar to Realtime communication in mobile (20)

PDF
D1-3-Signaling
PPTX
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
PPTX
Protolcols in communication system
PDF
WebRTC
PDF
Internet Of Things is Fully Networked and Connected Devices sending analytics...
PPTX
Introduction to Internet of things Introduction to Internet of things
PDF
intro to iot.pdf
PDF
Realtime mobile&iot solutions using mqtt and message sight
PPTX
Distributed Multimedia system multimedia.pptx
PPTX
WebRTC presentation
PDF
WebRTC - Bridging Web and SIP Worlds
PDF
Building a WebRTC Communication and collaboration platform - techleash barcamp
PPTX
XMPP and SIP Presence Protocols for Messaging and Session Control.pptx
PPTX
Chapter-1.pptx
PPTX
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
PPTX
protocols.pptx
PPTX
SignalR powered real-time x-plat mobile apps!
PDF
DevCon 5 (December 2013) - WebRTC & WebSockets
PPTX
Chapter 2&3hdhjejjejhehhehehheheheheu.pptx
PPTX
WebRTC
D1-3-Signaling
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
Protolcols in communication system
WebRTC
Internet Of Things is Fully Networked and Connected Devices sending analytics...
Introduction to Internet of things Introduction to Internet of things
intro to iot.pdf
Realtime mobile&iot solutions using mqtt and message sight
Distributed Multimedia system multimedia.pptx
WebRTC presentation
WebRTC - Bridging Web and SIP Worlds
Building a WebRTC Communication and collaboration platform - techleash barcamp
XMPP and SIP Presence Protocols for Messaging and Session Control.pptx
Chapter-1.pptx
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
protocols.pptx
SignalR powered real-time x-plat mobile apps!
DevCon 5 (December 2013) - WebRTC & WebSockets
Chapter 2&3hdhjejjejhehhehehheheheheu.pptx
WebRTC
Ad

Recently uploaded (20)

PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
PDF
NewMind AI Weekly Chronicles – August ’25 Week IV
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
PDF
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PPTX
Configure Apache Mutual Authentication
PDF
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
SaaS reusability assessment using machine learning techniques
PPTX
Internet of Everything -Basic concepts details
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Convolutional neural network based encoder-decoder for efficient real-time ob...
Improvisation in detection of pomegranate leaf disease using transfer learni...
Basics of Cloud Computing - Cloud Ecosystem
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
IT-ITes Industry bjjbnkmkhkhknbmhkhmjhjkhj
NewMind AI Weekly Chronicles – August ’25 Week IV
4 layer Arch & Reference Arch of IoT.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
INTERSPEECH 2025 「Recent Advances and Future Directions in Voice Conversion」
Planning-an-Audit-A-How-To-Guide-Checklist-WP.pdf
Enhancing plagiarism detection using data pre-processing and machine learning...
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Configure Apache Mutual Authentication
Aug23rd - Mulesoft Community Workshop - Hyd, India.pdf
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
Custom Battery Pack Design Considerations for Performance and Safety
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
SaaS reusability assessment using machine learning techniques
Internet of Everything -Basic concepts details
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf

Realtime communication in mobile

  • 1. INTRODUCTION Realtime Communication in Mobile Girish Rengaswamy, Senior Manager - Mobile Solutions
  • 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. 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. Why did RTC using SMS/MMS failed? •Data Congestion • MMS is difficult to setup in the handset •Data limitation •Cost
  • 5. RTC in the Web: Early days •IRC •Yahoo Chat •ICQ •AIM •MSN Messenger •Skype
  • 6. RTC in Mobile: Now! WhatsApp FB Messenger Telegram Skype WeChat Hike Viber Snapchat Line SlackBBM QQ
  • 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. 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.
  • 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. 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. Architecture for a scalable RTC App
  • 13. Cloud Based Platform Solutions for RTC
  • 14. What’s Next? •IOT based RTC mobile apps •AI systems •Wearables •Remotely control machines/robots/drones

Editor's Notes

  • #3: Any mode of telecommunications in which all users can exchange information instantly or with negligible latency. Although the link might contain several intermediate nodes, the data goes from source to destination without having to be stored anyplace In half-duplex RTC, data can be transmitted in both directions on a single carrier but not at the same time. In full-duplex RTC, data can be transmitted in both directions simultaneously on a single carrier. RTC generally refers to peer-to-peer communications, not broadcast or multicast.
  • #4: 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
  • #5: Data Congestion during peak usage MMS is difficult to setup in the handset SMS 160 limit. Cannot send multimedia files unless converted to proprietary formats. Per Message rates set by the network providers
  • #6: All of the communication services listed here use proprietary protocols. Yahoo used their proprietary protocol They all failed to evolve into the mobile platform expect Skype
  • #8: China population 1.3 Billion India population 1.2 billion Snapchat of May 2014, the company has refused to disclose the total number of active monthly users Line app active users are mostly from Japan, Thailand ,Indonesia, Taiwan and South Korea
  • #9: Network protocol | TCP, HTTPS, WebSocket | HTTPS, TCP, UDP | TCP,HTTPS FB Messenger app used technologies it borrowed from Beluga pod which they acquired in 2011. MQTT(formerly MQ Telemetry Transport) - MQTT publish-subscribe based "light weight" messaging protocol for use on top of the TCP/IP protocol. (a low-power, low-bandwidth protocol) It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker. Facebook has used aspects of MQTT in Facebook Messenger.[12] However, it is unclear how much of MQTT is used or for what; Moreover, it is to be noted that this is a phone application, not a sensor application. Facebook recently switched its Messenger from pull based protocol to push based queueing system on top of MySQL storage backend. How to implement MQTT in android: http://stephendnicholas.com/posts/power-profiling-mqtt-on-android http://redmonk.com/jgovernor/2012/08/24/facebooks-new-native-ios-client-a-kingmaker-for-mqtt-ibm-facebook-no-shit/ http://mqtt.org/2012/09/mosquitoes-rabbits-facebook-portals-news-round-up https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920 https://core.telegram.org/mtproto Its possible to set a descriptor so that it is placed in "non-blocking" mode. When placed in non-blocking mode, you never wait for an operation to complete. This is an invaluable tool if you need to switch between many different connected sockets, and want to ensure that none of them cause the program to "lock up."
  • #10: Here you can see a supposed architecture of whatsapp. All of the server are clusters and distributed geographically
  • #11: Which differs from HTTP by allowing either side to send data to the other asynchronously. The default transport protocol is TCP while WebSockets can also be used. XMPP connections are long lived, and data is pushed instead of pulled. Matured implementation first release at 1999 and still activity developed. Using Jingle Many Open source XMPP servers are Wildfire, ejabberd, Jabberd 2, Jabberd 1.4
  • #12: Its only relationship to HTTP is that its handshake is interpreted by HTTP servers as an Upgrade request. ——————————————————————————————————————————— When you send bytes from a buffer with a normal TCP socket, the send function returns the number of bytes of the buffer that were sent. If it is a non-blocking socket or a non-blocking send then the number of bytes sent may be less than the size of the buffer. If it is a blocking socket or blocking send, then the number returned will match the size of the buffer but the call may block. With WebSockets, the data that is passed to the send method is always either sent as a whole "message" or not at all. Also, browser WebSocket implementations do not block on the send call. But there are more important differences on the receiving side of things. When the receiver does a recv (or read) on a TCP socket, there is no guarantee that the number of bytes returned correspond to a single send (or write) on the sender side. It might be the same, it may be less (or zero) and it might even be more (in which case bytes from multiple send/writes are received). With WebSockets, the receipt of a message is event driven (you generally register a message handler routine), and the data in the event is always the entire message that the other side sent. Note that you can do message based communication using TCP sockets, but you need some extra layer/encapsulation that is adding framing/message boundary data to the messages so that the original messages can be re-assembled from the pieces. In fact, WebSockets is built on normal TCP sockets and uses frame headers that contains the size of each frame and indicate which frames are part of a message. The WebSocket API re-assembles the TCP chunks of data into frames which are assembled into messages before invoking the message event handler once per message.
  • #14: PubNub - PubNub is a global Data Stream Network (DSN) and realtime infrastructure-as-a-service (IaaS). Uses WebSockets, Socket.IO, SignalR, WebRTC PubNub provides SDKs for over 70 different programming languages PubNub also provides client libraries for board platforms including Raspberry Pi, Arduino, Texas Instruments, and Microchip. 2. Pusher mainly communicates over a WebSocket connection. Contus Fly - uses the similar technology stack used by whats app. that is XMPP and ejabberd quickblox Firebase - realtime database and backend as a service.