DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

PostgreSQL: Learn about the open-source RDBMS' advanced capabilities, core components, common commands and functions, and general DBA tasks.

AI Automation Essentials. Check out the latest Refcard on all things AI automation, including model training, data security, and more.

Related

  • Data Analytics Trends To Watch in 2024
  • CRM Analytics, a Guide to Salesforce Data Integrator
  • Empower Software Development With Data Analytics: Enhance Efficiency, Quality, and User Satisfaction
  • Simplify Big Data Analytics With AirMettle

Trending

  • C4 PlantUML: Effortless Software Documentation
  • AWS Fargate: Deploy and Run Web API (.NET Core)
  • Code Complexity in Practice
  • The Impact of Biometric Authentication on User Privacy and the Role of Blockchain in Preserving Secure Data
  1. DZone
  2. Data Engineering
  3. Data
  4. Comparing 11 IoT Development Platforms

Comparing 11 IoT Development Platforms

Check out this post for an easy-to-read table comparing the various features of several popular IoT software platforms.

By 
Miyuru Dayarathna user avatar
Miyuru Dayarathna
·
Updated Jul. 12, 19 · Review
Like (36)
Save
Tweet
Share
128.7K Views

Join the DZone community and get the full member experience.

Join For Free

1. Abstract

This article presents a general survey of the current IoT software platform landscape based on a detailed analysis we conducted on IoT vendors. We first create a list of key features which are important for any IoT software platform. Next, we compare the extent to which those key features have been implemented in the current IoT software platforms. Finally, we list down the desired features of an IoT software platform based on our observations.

2. Introduction

The Internet of Things (IoT) has undergone rapid transformation since the term was first coined in 1999 by Kevin Ashton. Since the variety — and the number — of devices connected to the Internet has increased exponentially in recent years, IoT has become a mainstream technology with a significant potential for advancing the lifestyle of modern societies.

In terms of the technology and engineering aspects of IoT, there currently exists a clear separation between the hardware and software platforms, with the majority of vendors focused on the hardware. Few vendors in the industry currently offer IoT software platforms: for example, out of the top 100 IoT startups ranked by Mattermark (based on the total funding they received), only about 13 startups provide IoT software platforms [5].

The aim of this article is to make a general survey of the current IoT software platform landscape based on a detailed analysis we conducted on IoT vendors. Shortlisting the IoT vendors for this article was based purely on the criteria whether the vendors provide software solutions that allow for processing information from IoT devices/sensors. Note that while we try to be as comprehensive as possible, the article may not reflect some of the latest improvements made to the listed IoT software platforms.

3. Important Features Expected from an IoT Software Platform

Based on several recent surveys, [2][7], we’ve selected the following features as being crucial for an IoT software platform: device management, integration, security, protocols for data collection, types of analytics, and support for visualizations as example features for comparison. In the next half of this article, we give a brief introduction to these characteristics.

3.1 Device Management and Integration Support

Device management is one of the most important features expected from any IoT software platform. The IoT platform should maintain a list of devices connected to it and track their operation status; it should be able to handle configuration, firmware (or any other software) updates and provide device-level error reporting and error handling [2]. At the end of the day, users of the devices should be able to get individual device level statistics.

Support for integration is another important feature expected from an IoT software platform. The API should provide access to the important operations and data that needs to be exposed from the IoT platform. It’s common to use REST APIs to achieve this aim.

3.2 Information Security

The information security measures required to operate an IoT software platform are much higher than general software applications and services. Millions of devices being connected with an IoT platform means we need to anticipate a proportional number of vulnerabilities [3]. Generally, the network connection between the IoT devices and the IoT software platform would need to be encrypted with a strong encryption mechanism to avoid potential eavesdropping.

However, most of the low-cost, low-powered devices involved in modern IoT software platforms cannot support such advanced access control measures [3]. Therefore the IoT software platform itself needs to implement alternative measures to handle such device level issues. For example, separation of IoT traffic into private networks, strong information security at the cloud application level [3], requiring regular password updates and supporting updateable firmware by way of authentication, signed software updates [4], and so on can be followed to enhance the level of security present in an IoT software platform.

3.3 Data Collection Protocols

Another important aspect which needs attention is the types of protocols used for data communication between the components of an IoT software platform. An IoT platform may need to be scaled to millions or even billions of devices (nodes). Lightweight communication protocols should be used to enable low energy use as well as low network bandwidth functionality.

Note that while (in this article) we use protocols as a blanket term, the protocols used for data collection can be categorized under several categories - such as application, payload container, messaging, and legacy protocols [2].

3.4 Data Analytics

The data collected from the sensors connected to an IoT platform needs to be analyzed in an intelligent manner in order to obtain meaningful insights.

There are four main types of analytics which can be conducted on IoT data: real-time, batch, predictive, and interactive analytics [6]. Real-time analytics conduct online (on-the-fly) analysis of the streaming data. Example operations include window based aggregations, filtering, transformation and so on.

Batch analytics runs operations on an accumulated set of data. Thus, batch operations run at scheduled time periods and may last for several hours or days. Predictive analytics is focused on making predictions based on various statistical and machine learning techniques. Interactive analytics runs multiple exploratory analysis on both streaming and batch data. The last is real-time analytics, which weighs heavier on any IoT software platform.

4. Current IoT Software Platforms

A careful investigation into the current IoT software platform landscape reveals that each of the above-mentioned features have been implemented — to different extents. We’ve listed the relevant platforms below, with a summarized feature comparison:

IoT Software Platform

Device management?

Integration

Security

Protocols for data collection

Types of analytics

Support for visualizations?

2lemetry - IoT Analytics Platform**

Yes

Salesforce, Heroku, ThingWorx APIs

Link Encryption (SSL), Standards ( ISO 27001, SAS70 Type II audit)

MQTT, CoAP, 
STOMP,M3DA

Real-time analytics (Apache Storm)

No

Appcelerator

No

REST API

Link Encryption (SSL, IPsec, AES-256)

MQTT, HTTP

Real-time analytics (Titanium [1])

Yes (Titanium UI Dashboard)

AWS IoT platform

Yes

REST API

Link Encryption (TLS), Authentication (SigV4, X.509)

MQTT, HTTP1.1

Real-time analytics (Rules Engine, Amazon Kinesis, AWS Lambda)

Yes (AWS IoT Dashboard)

Bosch IoT Suite - MDM IoT Platform

Yes

REST API

*Unknown

MQTT, CoAP, AMQP,STOMP

*Unknown

Yes (User Interface Integrator)

Ericsson Device Connection Platform (DCP) - MDM IoT Platform

Yes

REST API

Link Encryption (SSL/TSL),Authentication (SIM based)

CoAP

*Unknown

No

EVRYTHNG - IoT Smart Products Platform

No

REST API

Link Encryption (SSL)

MQTT,CoAP,
WebSockets

Real-time analytics (Rules Engine)

Yes (EVRYTHNG IoT Dashboard)

IBM IoT Foundation Device Cloud

Yes

REST and Real-time APIs

Link Encryption ( TLS), Authentication (IBM Cloud SSO), Identity management (LDAP)

MQTT, HTTPS

Real-time analytics (IBM IoT Real-Time Insights)

Yes (Web portal)

ParStream - IoT Analytics Platform***

No

R, UDX API

*Unknown

MQTT

Real-time analytics, Batch analytics (ParStream DB)

Yes (ParStream Management Console)

PLAT.ONE - end-to-end IoT and M2M application platform

Yes

REST API

Link Encryption (SSL), Identity Management (LDAP)

MQTT, SNMP

*Unknown

Yes (Management Console for application enablement, data management, and device management)

ThingWorx - MDM IoT Platform

Yes

REST API

Standards (ISO 27001), Identity Management (LDAP)

MQTT, AMQP, XMPP, CoAP, DDS, WebSockets

Predictive analytics(ThingWorx Machine Learning), Real-time analytics (ParStream DB)

Yes (ThingWorx SQUEAL)

Xively- PaaS enterprise IoT platform

No

REST API

Link Encryption (SSL/TSL)

HTTP, HTTPS, Sockets/ Websocket, MQTT

*Unknown

Yes (Management console)

* The cells marked with Unknown indicates that the relevant information could not be found from the available documentation.

** 2lemetry has been acquired by AWS IoT

***ParStream has been acquired by Cisco

It’s clear from the IoT startups listed above that not many have fully fledged device management capabilities. This is a significant void which needs to be addressed by the IoT software platform vendors.

Furthermore, there’s relatively little support for analyzing the generated IoT data in terms of both computation and visualization. Most of them support real-time analytics - a must-have feature in any IoT framework. However, only few IoT software platforms provide support for other three types of analytics. In terms of the visual interfaces, most of them are focused on the simple patterns of a web portal. These dashboards allow for management of IoT ecosystems, but very few provide the capabilities of visual data analytics.

A few more features commonly observed across different IoT software platforms include REST API based integration, support for MQTT protocol as a means of data collection, and link encryption using SSL. While not mentioned in Table 1, only ParStream has reported 3-4 million rows/second throughput in its documentation. This indicates that most of the IoT software platforms are designed without much consideration for the system performance aspects of an IoT deployment — critical in the real world operation.

5. Features to Improve On

It’s clear that there exist several venues in which improvements are needed. In this section, we first provide a list of features for improvement. Some of these items have already been implemented by IoT software platform vendors; there are several new features that are not. Next, we provide a list of such new features which have not been addressed by any IoT software platform vendor currently.

5.1 Existing Features

Data Analytics

Most of the current IoT software platforms support real-time analytics, but batch and interactive data analytics may be just as important.

One may argue on this point saying that such types of analytics are available in other well-known data processing platforms and that it is simply a matter of configuring such software systems for the analysis scenario. However, that’s easier said than done; famous data processing systems for real-time (Storm, Samza, etc.), batch (Hadoop, Spark, etc.), predictive (Spark MLLIB, etc.), and interactive (Apache Drill and so on) cannot be applied directly as they are to IoT use cases.

Benchmarks

The IoT software platforms need to be scalable and should encompass facilities to characterize and evaluate the system performance. Well defined performance metrics need to be devised to model and measure the performance of IoT systems, taking into account network characteristics, energy consumption characteristics, system throughput, computational resource consumption, and other operational characteristics.

Edge Analytics

Measures need to be taken to reduce the huge network bandwidth consumption possible between the sensor devices and the IoT server. Use of lightweight communication protocols is one solution. The other approach is edge analytics, which can reduce the amount of raw data transmitted to the IoT server. Edge analytics could be implemented even in simple hardware embedded systems, such as an Arduino.

Other Issues

It should be noted that there are multiple other ethical, moral, and legal concerns associated with IoT software platforms which we have not covered in this article. While important, addressing such issues is out of the scope of this article.

5.2 Features to Add

Handling Out-of-Order Processing

An out-of-order event arrival is possible in any IoT application; a disorder of tuples within an event stream emitted by an IoT sensor may be caused by network latency, clock drift, and more. Order-less IoT event processing may result in a system failure. Handling the disorder consists of a trade-off between result accuracy and result latency.

There are four main techniques of disorder handling: Buffer-based, Punctuation-based, Speculation-based, and Approximation-based techniques. IoT solutions should implement one or more of these in order to handle out-of-order events.

Support for IoT Context

Context is primarily made out of the location of an individual, their stated preferences, or their past behaviors. For example, in the case of a mobile phone, we have access to rich context information because of various different types of sensors present in the current mobile phones. IoT analytics should be able to take these contextual data into consideration.

6. Conclusion

The rapid growth of the IoT paradigm needs powerful IoT software platforms which address the needs presented by the IoT use cases. In this article, we have investigated the features of the current state-of-the-art IoT software platforms. The investigation focused on aspects such as device management, integration, security, protocols for data collection, types of analytics, support for visualizations. From this study it was clear that areas such as device management, IoT data analytics, and IoT software system scalability and performance characteristics need special attention from IoT software platform community.

References

[1]    Appcelerator, Inc. (2015), Appcelerator Open Source, http://www.appcelerator.org/

[2]    Gazis, V.; Gortz, M.; Huber, M.; Leonardi, A.; Mathioudakis, K.; Wiesmaier, A.; Zeiger, F.;
         Vasilomanolakis, E. (2015), A survey of technologies for the internet of things, in Wireless
         Communications and Mobile Computing Conference (IWCMC), 2015 International , vol., no.,
         pp.1090-1095, 24-28 Aug. 2015

[3]    Jasper (2014), Achieving End-to-End Security in the Internet of Things,
          http://pages.jasper.com/White-Paper-Cellular-IoT-Security_Cellular-IoT-Security.html

[4]    LogMeIn (2015), A Guide To Designing Resilient Products for the Internet of Things,
         LogMeIn

[5]    Louis Columbus (2015), Mattermark Lists The Top 100 Internet Of Things Startups For
          2015, http://www.forbes.com/sites/louiscolumbus/2015/10/25/the-top-100-internet-of-
          things-startups-of-2015/


[6]    Perera, S. (2015), IoT Analytics: Using Big Data to Architect IoT Solutions, WSO2 White
         Paper, http://wso2.com/whitepapers/iot-analytics-using-big-data-to-architect-iot-solutions/

[7]    Progress (2015), State of IoT, https://www.progress.com/docs/default-source/default-
         document-library/progress/documents/papers/iot_surveyreport.pdf


[8]    WSO2, Inc. (2015), WSO2 Unveils Open Source WSO2 Data Analytics Server 3.0, Delivering
          Comprehensive Analysis Optimized for The Internet of Things ,
          http://wso2.com/about/news/wso2-unveils-open-source-wso2-data-analytics-server-3.0-
          delivering-comprehensive-analysis-optimized-for-iot/


[9]    WSO2, Inc. (2015), Open Platform for Internet of Things,
          http://wso2.com/landing/internet-of-things/

[10]    Wijewantha, D.(2014), Demonstration on Architecture of Internet of Things - An Analysis,
            WSO2 Library Article
, http://wso2.com/library/articles/2014/09/demonstration-on-
            architecture-of-internet-of-things-an-analysis/

IoT Software system Big data Analytics

Opinions expressed by DZone contributors are their own.

Related

  • Data Analytics Trends To Watch in 2024
  • CRM Analytics, a Guide to Salesforce Data Integrator
  • Empower Software Development With Data Analytics: Enhance Efficiency, Quality, and User Satisfaction
  • Simplify Big Data Analytics With AirMettle

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: