Comparing 11 IoT Development Platforms

[2]Gazis, V.; Gortz, M.; Huber, M.; Leonardi, A.; Mathioudakis, K.; Wiesmaier, A.; Zeiger, F.;

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].

[5]Louis Columbus (2015),Mattermark Lists The Top 100 Internet Of Things Startups For

parent.title parent.header.title

[6]Perera, S. (2015),IoT Analytics: Using Big Data to Architect IoT Solutions, WSO2 White

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

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.

Vasilomanolakis, E. (2015),A survey of technologies for the internet of things, in Wireless

Real-time analytics, Batch analytics (ParStream DB)

Communications and Mobile Computing Conference (IWCMC), 2015 International , vol., no.,

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

parent.isLocked ? Enable : Disable comments

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…,wordCount:2396,deleted:false,likeStatus:liked:false,score:29,canLike:false,zonetop:,articleTags:[iot development,iot app development,iot protocols,edge analytics,data analytics],header:id:1173080,title:Comparing 11 IoT Development Platforms,imageUrl://dz2cdn4.dzone.com/storage/article-thumb/1122607-thumb.jpg,link:/articles/iot-software-platform-comparison,imageLink://dz2cdn4.dzone.com/storage/article-thumb/1122607-thumb.jpg,titleEll:Comparing 11 IoT Development Platforms,type:article,url:/articles/iot-software-platform-comparison,isLocked:false,draft:false,articleContent:,source:,modDate:00,views:79553,isLimited:false,tldr:An easy-to-read table comparing the various features of several popular IoT software platforms.,originalSource:,articleType:opinion]; WMODEL_DATA.perms = canDecidePick:false,canPublish:false; WMODEL_DATA.partners = 8:[]; WMODEL_DATA.authenticated = false; WMODEL_DATA.daysOldBody = Technology moves quickly and this type was published time. Some or all of its contents may be outdated.; WMODEL_DATA.firstArticleContent = null; WMODEL_DATA.isPreview = false; WMODEL_DATA.OPTIONS = ; TH.installWidgetController(article.content, articleContent5, WMODEL_DATA, typeof controller == function ? controller : null, [name: partners, data: true,name: DEFAULT, data: true], oUhbblYOaqbcblYOaqbcC, null); )(); (function() function controller($scope, $service, $location, SideBarService, $timeout) if ($scope.edition) $scope.date = moment($scope.editionDate).utc().format(MMM DD, YYYY); SideBarService.ctx.pageSize = $scope.pageSize; SideBarService.ctx.isPreview = $scope.isPreview; SideBarService.ctx.mode = $scope.mode; SideBarService.fn.loader = $service; var $window = $(window); function checkWidth() var windowsize = $window.width(); $scope.width = windowsize; // Execute on load checkWidth() // Bind event listener $(window).resize(checkWidth); if ($scope.edition) SideBarService.ctx.edition = $scope.edition; SideBarService.fn.scrollCheck = function() $scope.$emit(thIfScrollCheck); ; var currentFilter; $scope.$on($locationChangeSuccess, function() if (!$location.search().filter) $scope.filter = latest; else $scope.filter = $location.search().filter; if ($scope.filter == latest) $location.search(filter, null); if (currentFilter == $scope.filter) return; currentFilter = $scope.filter; SideBarService.ctx.filter = $scope.filter; ); $scope.display = SideBarService.getList(); $scope.$watchCollection(function() return SideBarService.getList(); , function (n) $scope.display = n; ); $scope.isActive = SideBarService.isActive; $scope.isExcluded = SideBarService.isExcluded; $scope.loadMore = SideBarService.load; $scope.loading = function() return SideBarService.ctx.loading; ; TH.on(TapBarStatusChange, function(expanded) if (expanded) SideBarService.unblock(); ) var WMODEL_DATA = ; WMODEL_DATA.edition = null; WMODEL_DATA.editionName = ; WMODEL_DATA.pageSize = 20; WMODEL_DATA.isPreview = false; WMODEL_DATA.editionDate = null; WMODEL_DATA.OPTIONS = ; WMODEL_DATA.mode = null; TH.installWidgetController(sidebar.content.list, sidebarContentList8, WMODEL_DATA, typeof controller == function ? controller : null, [name: DEFAULT, data: true], oUhbkSMaaqbcdvVkcC, null); )(); (function() function controller($scope) var $window = $(window); function checkWidth() var windowsize = $window.width(); var $element = $(div.sidebar.sidebarTapBar); $scope.width = windowsize; if(windowsize

** 2lemetry has been acquired by AWS IoT

; e.id = parsely-root; e.style.display = none; b.appendChild(e); )(document); (function(s, p, d) var h=d.location.protocol, i=p+-+s, e=d.getElementById(i), r=d.getElementById(p+-root), ; if (e) return; e = d.createElement(s); e.id = i; e.async = true; e.src= h+//+u+/p.js; r.appendChild(e); )(script, parsely, document);

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

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

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.

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

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.

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.

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].

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.

Its 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.

pp.1090-1095, 24-28 Aug. 2015doi: 10.1109/IWCMC.2015.7289234

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 take these contextual data into consideration.

1 && !articles[0].partner.isSponsoringArticle dc-slot=ads.sb2.slot(articles[0], 0) tags=ads.sb2.tags(articles[0], 0) size=ads.sb2.size(articles[0], 0)

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.

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

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.

***ParStream has been acquired by Cisco

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.

Comprehensive Analysis Optimized for The Internet of Things ,

parent.isLimited ? Remove comment limits : Enable moderated comments

Based on several recent surveys, [2][7], weve 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.

by parent.authors[0].realName parent.author

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 the Table 1, only ParStream has reported a 3-4 million

The data collected from the sensors connected to an IoT platform needs to be analysed 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.

Ericsson Device Connection Platform (DCP) – MDM IoT Platform

= partners.length !toUse) toUse = 0; if(partners) article.showLogo = (partners.length

MQTT, AMQP, XMPP, CoAP, DDS, WebSockets

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.

[9]WSO2, Inc. (2015),Open Platform for Internet of Things,

Join the DZone community and get the full member experience.

EVRYTHNG – IoT Smart Products Platform

Note that the content of this article is up-to-date as of 23rd December, 2015. The article will not be updated to reflect any changes made to the IoT software platforms since then. If you need any clarifications or need to make any changes to the articles content please get in touch with the author via miyurud at wso2 dot com.

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, thats 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.

Link Encryption (SSL), Identity Management (LDAP)

ParStream – IoT Analytics Platform***

1024 && edition) class=content-right-images ntent

Comparing 11 IoT Development Platforms

Xively- PaaS enterprise IoT platform

Standards (ISO 27001), Identity Management (LDAP)

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.

document-library/progress/documents/papers/iot_surveyreport.pdf

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

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. Its common to use REST APIs to achieve this aim.

Opinions expressed by DZone contributors are their own.

An easy-to-read table comparing the various features of several popular IoT software platforms.

Comparing 11 IoT Development Platforms

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

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

Furthermore, theres 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.

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.

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.

Link Encryption (SSL, IPsec, AES-256)

[1]Appcelerator, Inc. (2015),Appcelerator Open Source,

delivering-comprehensive-analysis-optimized-for-iot/

architecture-of-internet-of-things-an-analysis/

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

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

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.

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.

Its 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.

[10]Wijewantha, D.(2014),Demonstration on Architecture of Internet of Things – An Analysis,

[8]WSO2, Inc. (2015),WSO2 Unveils Open Source WSO2 Data Analytics Server 3.0, Delivering

[3]Jasper (2014),Achieving End-to-End Security in the Internet of Things,

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

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

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.

The rapid growth of the IoT paradigm needs powerful IoT software platforms which addresses 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.

Comparing 11 IoT Development Platforms

parent.articleDate date:MMM. dd, yyyy parent.linkDate date:MMM. dd, yyyy

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.

HTTP, HTTPS, Sockets/ Websocket, MQTT

Leave a Reply