Developing Real Time Communication (RTC) Platform for IoT Using PubNub
Developing Real Time Communication (RTC) Platform for IoT Using PubNub
As Machine to Machine (M2M) becomes more important in the IoT space, Real Time Communication (RTC) will empower smart things to communicate instantaneously.
Join the DZone community and get the full member experience.Join For Free
Digi-Key Electronics’ Internet of Things (IoT) Resource Center Inspires the Future: Read More
Machine to Machine (M2M) communication, cloud and mobile centric technologies are revolutionizing the way industries are getting modernized and business applications are getting implemented. These technologies are allowing enterprise applications to get integrated with the external world. Specifically the use of wireless communication to transmit and receive data from things over the internet is enhancing productivity, lowering costs and assisting in data analytics.
Real Time Communication (RTC) is the technology that will empower these smart things to communicate with their environment almost instantly. RTC serves as a communication backbone across applications and users. Its capabilities can be harnessed for building platforms where the participants or systems need to be in continuous contact with each other.
As the need and popularity of RTC has grown, many technology platforms have emerged to implement it using different approaches. PubNub is a cloud based product that provides data stream network related services. Its offerings include publish-subscribe, real-time push, presence and analytics. This paper will provide an overview of PubNub, and explain how it is applied to provide real-time crowdsourcing solutions in retail sector.
PubNub Technology Platform
PubNub is a secure global Data Stream Network (DSN) that enables real time communication across various channels including web and mobile. It provides an easy way to build IoT based solutions and incorporate RTC into them. The cloud based provider offers various services that can be leveraged for building powerful IoT centric solutions.
Its technology platform enables instantaneous information exchange amongst the users and allows the server processes to reach clients using publish-subscribe/ push technologies. Thus it serves as a communication backbone across the applications (on web, phones, tablets, laptops, servers) and users, using cloud hosted real time data stream network services, and is capable of sending /receiving millions of messages in milliseconds.
Unlike some other real-time messaging libraries, PubNub allows clients to communicate directly with each other and server using the PubNub API.
PubNub Technology Features
PubNub provides the following features:
- Network: Its network allows developers to build scalable, reliable apps with unmatched performance and service guarantee by providing support of 14 data centers, 3 million messages per second with 0.25 second latency, and 200 million devices per month etc.
- Publish Subscribe Messaging: Publish/subscribe model enables to publish messages to channels and devices that have subscribed to channel and will receive the subscribed data. Millions of devices can be connected to each other using it.
- Presence: This feature helps to know when a user enters or leaves an application & who is online or offline by detecting machine connections. Presence service has important role to play in the programs like in chat room, game lobbies, and machine to machine communications.
- Storage and playback: Data is stored in real time and can easily be retrieved when app loads as history is maintained to retrieve messages and also playback data stream.
- Stream Controller: This feature allows to access control for large number of channels with PubNub access manager.
- Mobile Push Notifications: This feature allows sending push notifications to apps in Android and iOS even when the app is offline. With single push multiple devices can easily receive notifications. It also provides message queuing that helps in retaining messages when mobile connection times out.
- Analytics: It allows analyzing the number of devices connected and amount of data transferred.
- Access Management: It allows authorized users to access across the channels and also enables integration with different popular authentication systems like Facebook, Google etc. It supports integration with the custom built authentication systems as well.
- Security: PubNub secures data with multiple data encryption standards. Only authenticated users who have subscribed to a channel can receive the message published on a channel. Other users who have not subscribed will not have access to messages published on that channel.
PubNub vs. Other Real Time Technologies
Not all applications are the same and they have different requirements. In general, if an application expects moderate communication, and not many capabilities to be implemented, SignalR could be considered as it has no license costs. For rest of the cases PubNub should be considered as a strong contender.
While implementing PubNub, some factors to be considered are:
- The licensing cost is based on the amount of data and hence it is tracked and reported to calculate the fees.
- The performance is dependent on the internet connectivity and a poor connectivity would result in a degraded performance.
- The service requests will need to pass though the company firewall and hence should be open for them to work.
Use Cases of PubNub
Business cases where a lot of interactions are going on among people or smart things, individually or in group, are suitable cases for PubNub implementations. If the interaction travels across internet and potentially could have a large number of participants and interactions its importance can’t be understated. Some use cases are as follows:
- Real-time dashboards
- IoT applications (connected cars, equipment monitoring systems, shipping of goods etc.)
- Home automation
- Multiplayer gaming
IGATE PubNub implementations
Crowdsourcing using Real Time Communication (RTC) technology offers an opportunity for businesses to leverage the power of the crowd in innovative ways to enhance their services and solutions. IGATE has developed a crowdsourcing platform which has a web based component that allows administration, task management etc. and a mobile app that is to be used by the crowdsourcing agents. This is a domain agnostic platform which can be extended to any domain and cater to any crowdsourcing solution. Two solutions implemented using crowdsourcing platform are as follows:
Omni-channel Delivery Solution (ODS)
Omni-channel Delivery Solution (ODS) allows e-tailers to leverage crowdsourcing the delivery of online orders. Delivery of merchandise has always been a significant cost for e-tailers. By having taxi drivers, and other such crowd-sourced associates volunteer for delivering goods, faster delivery at significantly lower delivery charges is achieved. The e-tailer pays for the services of this extended workforce through discount coupons, thereby increasing the revenue potential for the e-tailer.
The solution has a web-based “Administration Portal” that allows publishing of an order to be picked up for delivery by crowdsourced associates. Once an order is places registered users, who serve as delivery agents, (i.e. the crowdsourced associates), are notified on their mobile app about the orders that are waiting to be delivered for the zones that they have signed up for. They can choose to accept the same based on factors like pickup time and delivery time, deliver the goods and get reward coupons once the delivery is accepted by customer. The solution leverages the real time broadcasting of messages capabilities over the cloud for posting the orders using publish-subscribe any order related updates. It also allows the customer to track their orders and get real-time updates using a mobile app.
Pic: 1: ODS Application Flow
Retail Merchandising Audit Solution (RMAS)
Consumer Packaged Goods (CPG) companies may want to do store audits to check how retailers stock their items and how it is displayed on shelves to ensure higher sales. RMAS allows CPG companies to crowd source their store audit tasks to volunteers who visit the retailer to do shopping. Its web based Administration Portal allows creation of tasks that can be specific to one or multiple stores. Once created, the tasks are notified to registered users (serving as crowdsourced auditors) through a mobile app. More than one agent can accept a task and once completed provide their responses. They can audit the shelf based on the placement of items, compare it against the planogram which recommends the placement on the shelf etc. The audit responses are reviewed by the admin and once approved the reward coupons are allocated to the agents who do the audits.
With multiple Real-Time Communication Platforms in the market, IGATE has developed capabilities in developing a scalable and reliable solution using PubNub to provide IOT solutions. The IGATE crowdsourcing platform can be extended to various domains to provide sourcing of tasks to multiple crowd-sourced volunteers in real-time and get the tasks executed quickly.
About the Author
Parul Narula, Technical Lead, IGATE(IGATE IS NOW A PART OF CAPEGEMINI)
Having 4 years of experience in IT Industry, Parul has worked on various Microsoft based technologies. Her core experiences include implementing web, mobile and client based solutions using C#, ASP.NET, MVC4, and WCF rest services and has expertise in working with technologies like Xamarin, StreamInsight, PubNub, and SignalR. She is a member of the Research & Innovation team in IGATE.
Radharaman Mishra, Senior Technical Architect, IGATE(IGATE IS NOW A PART OF CAPEGEMINI)
Having over 17 years of experience in the IT services industry, Raman has worked on software application architecture and design, development, architecture assessment and consulting. His expertise includes .Net, ASP.Net, and Microsoft SQL Server. He has been working with IGATE’s Fortune 500 customers on various Microsoft-specific enterprise application architectures and design. He has also published papers of technical interests in various external and internal forums. He is a Senior Technical Architect in the Technology CoE team of Research & Innovation Group at IGATE.
Opinions expressed by DZone contributors are their own.