PC and mobile
Everyone is pretty familiar with the Internet of PCs and mobiles (smartphones and tablets) and its major players and technology suppliers.
First of all, the PC and mobile OEMs like Apple, Samsung and others rely on processors from Intel and Qualcomm, and operating systems (OS) like Microsoft Windows, Apple iOS or open source Linux distributions. Those operating systems also provide a platform upon which third party developers can write all sorts of apps. Google Android is a specific platform that leverages Linux to offer its own application framework with apps written in the Java language. PCs and mobiles connect to the Internet through broadband networks like Ethernet, Wi-Fi or 4G. Apps can be downloaded to PCs and mobiles from online stores usually tight to the OS vendors: Microsoft Windows Store, Apple App Store, Google Play (Android Market). Eventually, PC and mobile users access web services and applications in the cloud from major players like Google, Amazon, Facebook, Salesforce.
The Internet of Things
The Internet of Things (IoT) is built on the same structure of technology stack, but with different technologies and players. First off all, the things developed by OEMs are embedded systems running on small processors from vendors like NXP Semiconductors, recently acquired by Qualcomm, Renesas Electronics or STMicroelectronics. ARM is the dominant processor architecture, but with different cores than for mobiles – mostly ARM Cortex-M whereas mobiles run mostly on ARM Cortex-A. Those embedded systems run on small micro-kernels called RTOS, either commercial, open source (like FreeRTOS), or in-house (DIY). Even though some high-end devices can have 4G or Wi-Fi connectivity, they usually connect to the Internet on different networks such as long-range low-power wireless area networks (LPWAN) such as Sigfox or LoRa.
MicroEJ: The OS for IoT
In a similar way to Google Android, MicroEJ provides an application platform on top of any RTOS for running apps written in the Java language. However, contrary to Android, MicroEJ can adjust to the strong constraints of IoT devices in terms of limited performance, low power, limited storage and memory footprint. The MicroEJ Store is an online store where third-party developers can publish apps for IoT devices running MicroEJ OS. PCs and mobiles that have a unique store for all devices from different OEMs. Unlike them, each IoT device or OEM should probably have its own store per device, because each device is very different from another.
It is interesting to note that data from the Internet of PCs and mobiles and from the Internet of Things is likely to be stored, processed and analyzed in the same cloud platforms at the top of the stack. However, IoT devices connect to the Internet using different protocols than PCs and mobiles: all are based on the standard Internet Protocol (IP) but PCs/mobiles mostly use HTTP while IoT devices should use new protocols like MQTT or CoAP. IoT devices also need to be remotely managed, and while gateways and mobiles may use protocols like TR-069 or OMA-DM, IoT device management should rely on lighter protocols like LWM2M.
As a consequence, new categories of IoT cloud platforms are also emerging for device-to-cloud connectivity management, remote device management, and application enablement, all linked to the common big data analytics platforms at the top of the stack.