The recent Internet of Things (IoT) Developers Conference highlighted a range of issues from security to a range of hardware and software platforms being used to address IoT. Everyone had their own perspective and were typically highlighting their approach to IoT solutions but this just highlights that variety of applications being developed.
VDC Highlights IoT Trends
One presentation I found very insightful was by Chris Rommel, Executive Vice President at VDC Research Group. As you might guess, the change over the last three years with respect to the importance of IoT product development has increased significantly and will continue to do so.
The challenge for developers is the complexity of IoT applications and the need to utilize more third party software and services because rolling-your-own does not work in this new landscape. Choosing components is one area that is hugely underestimated (Fig. 1).
Developers are having to deal with protocols that may be new to them such MQTT, AMQP and DDS (see “Understanding The Protocols Behind The Internet Of Things”). There is also a rapid shift to the use of commercial and open source operating systems as well as movement away from C to programming languages like C++, Java and C# (Fig. 2).
VDC Research's polling indicates that security and standards are top issues for IoT developers (Fig. 3). Not surprisingly, security was a topic that had a lot of coverage at the developers conference.
IoT security issues are numerous and complex (see “Can The Internet Of Things Be Secure?”). It is no easy task and it is an issue that needs to start at the basic chip design where features like secure boot and secure key management are a requirement. Unfortunately simply securing an IoT device or gateway and providing them with secure links are not the only issues. Who owns the data and who can see or use data coming from an IoT device are also issues developers need to address.
Geoff Brown from Machine To Machine Intelligence Corporation (M2Mi) presented a session on advanced cyber security and privacy issues for enterprise class platforms. Some of the challenges he brings up include the use of low performance edge devices that may not have the cycles available to implement proper security protocols, the need for dynamic security policies and the very large number of low cost devices that are part of the mix. One aspect that M2Mi's product offering addresses is the NIST Cybersecurity Framework. This government-based framework was initially released this year.
Echelon's presentation targeted the industrial IoT space where they have a range of products from chips and modules to cloud services including power line communication technology. One of the aspects that was highlighted is that IoT is not just client/server-style cloud communication but a mix that also includes peer-to-peer unicast and multicast communcation that must be secured.
Multiple Software Platforms
Chuck Byers talked Cisco's view of peer-to-peer IoT they call “fog computing” compared to the current cloud computing trend. Fog computing envisions more intelligence in a local network, not just the simple sensor and control nodes many see in IoT land. The idea still includes “smart objects” or IoT end devices but adds control and computational gateways to the mix (Fig. 4). Of course, security is part of the solution.
Fog computing tries to address some of the challenges like security and privacy, network bandwidth constraints, and latency requirements. The latter is reduced since there are fewer hops within a local network. It may also be possible to provide better control over sensitive data within a localized environment.
What is interesting to watch is where frameworks and IoT support is starting from. For example, Imagination Technologies, who licenses the MIPS/Aptiv architecture (see “MIPS Aptiv Family Brings Consolidation And Raises Performance Bar”), has a solution called FlowCloud. As with most IoT frameworks, there is an SDK that addresses devices and the cloud-based services to which they will be tied. There are a number of module and system vendors, like Echelon, that have taken this route but FlowCloud highlights a trend towards support to a processor architecture.
Take ARM's Sensinode technology that was also discussed. This technology was part of the Sensinode acquisition. It is a Java-based technology that use Constrained Application Protocols (CoAP) among other technologies. A NanoService platform (Fig. 5) runs Java applications that use standard protocols to communicate between clients and services.
NanoService clients can be very lightweight. They run the Open Mobile Alliance (OMA) Lightweight M2M Client support stack. NanoStacks can utilize industry standards like ZigBee, and Bluetooth.
Java Rises Again
Actually Java has been at the center of many IoT and M2M platforms from the start. The movement to 32-bit microcontrollers for clients make it an interesting choice because it provides portability. The Open Service Gateway Initiative (OSGi) is at the center of many of the Java-based solutions (see “Open Services Initiative: OSGi Links Devices And Clients”). This includes platforms like Eurotech's Everyware that runs on edge nodes like Eurotech's Helios (see “Hands-On Eval Of Eurotech's Helios Edge Controller”).
Oracle's Java virtual machine (JVM) is at the heart of many deployments and Oracle was highlighting this at the conference as well. Oracle is collaborating with just about everyone in this space. For example, Freescale's i.MX6 Dual-based IoT Gateway (Fig. 6) runs Oracle's JVM, Oracle's Java Embedded Suite (JES), OSGi and even support ARM's Sensinode NanoServices (Fig. 7). The IoT Gateway was first presented at this year's Freescale Technology Forum (see “IoT Gateways And Triple Core Micros At FTF 2014”).
And Other Interesting IoT Things
There was a lot more at the conference but I wanted to mention two other presentations that stood out.
The first was Alan Messer's Bringing UPnP to the Cloud and IoT. UPnP has helped configure home networks and is found in smartphones and other devices. The UPnP Forum wants to bring this functionaly to even more devices. It wants to extend the XMPP protocol to the cloud courtesy of UPnP+ Cloud (Fig. 8). It essentially pushes UPnP through the WAN.
The other presentation was by Andreas Kollegger Neo Technology on the Graph of Things (GoT). Andreas is the Product Designer for Neo4j that is a graph database.
Graphs are useful for a range of IoT information from connectivity to location to permission and security. A text-based description (Fig. 9) can be used to define relationships.
Cypher is the query language for Neo4j. It is analogous to SQL for relational databases. This is a sample query:
MATCH (h:Human)-[:USES]->(:Machine)-[r:RUNS]->(os:OperatingSystem), (h)-[:USES]->(:Machine)<-[:MAKES]-(c:Company) WHERE os.name = "Android" AND r.version >= 4.1 AND c.name = "Fitbit" RETURN h, c
The system can be used to analyze large amounts of data generated by a sensor network or to address a dynamically changing environment. It is being using to support social networks, manage networks and to track geolocation.
Finally I will wrap up with the Eclipse Foundation's call for an open IoT ecosystem framework (Fig. 10). It has some major players involved with the work. Eurotech has proposed Project Kura. Project Kura provides a Java/OSGi-based container for M2M applications. It essentially puts much of Eurotech’s Everyware technology into open source. It encompasses the client as well as cloud services and web administration.
Next year’s conference should be even more interesting.