Google’s GCM Cloud Connection Server (CCS)
Google, a prodigy of today’s mobile technologies, has announced improvements to its cloud messaging system in the Google I/O-2013 Keynotes session. Any third party server can now carry out bi-directional and asynchronous communications with android devices through the services provided by Google’s Cloud Connection Server (CCS). CCS uses XMPP protocol over a TCP connection for communications.
2. About Neev
Web
Mobile
Magento eCommerce
SaaS Applications
Video Streaming Portals
Rich Internet Apps
Custom Development
iPhone
Android
Windows Phone 7
HTML5 Apps
Cloud
AWS Consulting Partner
Rackspace
Joyent
Heroku
Google App Engine
Key Company Highlights
250+ team with experience in
managing offshore,
distributed development.
Neev Technologies
established in Jan ’05
VC Funding in 2009 By Basil
Partners
User Interface Design and User Experience Design
Part of Publicis Groupe
Member of NASSCOM.
Performance Consulting Practices
Quality Assurance & Testing
Outsourced Product Development
Development Centers in
Bangalore and Pune.
Offices at Bangalore, USA,
Delhi, Pune, Singapore and
Stockholm.
3. Google’s Cloud Connection Server : A Brief Intro
• Connection Server based on XMPP(Extensible Messaging and Presence
Protocol)
• Allows third party app servers to communicate with Android devices
• Uses a persistent TCP connection for communication
• Communication is asynchronous and bi-directional
• This XMPP mechanism for sending messages can be used alongside
traditional HTTP
4. More Info on XMPP
• Founded and used by Jabber for instant messaging
• Is an XML based communication protocol
• XMPP is open source, which means any developer can customize its
extensions to suit software requirements.
• IM Services such as Google Talk and the chat feature in Facebook use XMPP
in the back-end though not a native implementation
• Initially, Transmission Control Protocol (TCP) which is native to XMPP was
used for communications. Later, XMPP was developed to perform data
transfers via HTTP for web clients and via web-sockets for real-time
messaging.
• The native design of the XMPP server component has an in-built entity called
‘transports’ or ‘gateways’ that aids the communication of messages between
XMPP and non-XMPP systems.
5. How XMPP uses HTTP for communication
XMPP uses HTTP in two ways :
1. Polling
•
Where data transfer is done through HTTP POST and GET methodologies
•
Is now deprecated
2. Binding
•
used for data PUSH methodologies
•
Implemented over Bidirectional-streams Over Synchronous HTTP (BOSH)
•
This push model of notification is more efficient than polling, where many of the
polls return no new data
6. How CCS has improved on GCM
• CCS uses the XMPP protocol over a long-lasting TCP connection for communications
• Now, CCS performs both device-to-cloud and cloud-to-device communications (through
XMPP) over the same connection (TCP) and thereby helps developers achieve a better
device power management in their apps than GCM
• CCS requires a Transport Layer Security (TLS) connection and Simple Authentication and
Security Layer (SASL)-based authentication.
• CCS incorporates JSON-based payload messages into the XMPP-supported XML structure
and uses it for communications. CCS could send up to 1000 such messages
asynchronously before it receives any acknowledgement from the device.
7/8/13