## 2 Internet of Things for Healthcare
### IoT Open-Source Platforms and Operating Systems
It aims to provide scalability with OTA updates, metrics, and error reporting. It is supported by the ARM, Intel x86, and MIPS-based hardware but also provide secure services [52]. * **Contiki:** An open-source operating system for the IoT that provides standard IPv6, IPv4, glowpan, RPL, and CoAP protocols. This OS provides a network simulation environment for agile IoT development [53]. * **Netbeast:** An open-source IoT platform that aims to connect IoT devices and to provide agile development for IoT solutions. It is supported by 30 different types of smart home devices and 10 brands, such as Philips Hue, Belkin Wenmo, Google Chromecast, Parrot, etc. [54]. * **Kaa:** A multi-purpose middleware platform that delivers tools for software development for IoT with enhanced features that decrease related cost, risks, and time-to-market. It is an agnostic hardware solution that supports an SDK for a diversity of programming languages, such as C, C++, and JAVA [55]. * **ThingsBoard:** An open-source IoT platform for data collection, processing, visualization, and device management. This platform supports device connectivity using standard IoT protocols, such as MQTT, CoAP, and HTTP. Moreover, ThingsBoard support data processing rule chains and alarms configuration based on events, attribute updates, device inactivity, and user actions [56]. The achievements of platforms and frameworks are related to different requirements, such as [57]:  
1. Providing security and privacy APIs with easy configuration and management in order to be adopted by third-party systems. 2. Providing interoperability and extendable protocols to be adopted by third-party systems. 3. Providing efficient size bandwidth, energy consumptions, and low processing requirements. 4. Providing easy management and governance of heterogeneous networks of devices and applications. Comparison of the IoT Platform Architectures  
An IoT platform is a software designed and developed for specific application domains. It can support several domains, such as device management support, security, data collection, integration, analytics, visualization, and storage. On the one hand, an IoT platform can provide enhanced features to decrease the development time of IoT applications as it can provide scalability and heterogeneous device compatibility. One the other hand, an IoT platform can connect IoT devices to user applications and provide interaction management between the hardware and application layers. Regarding the extensive number of IoT platform and operating systems available in the literature is not possible to discuss all related IoT platforms and operating systems. The IoT platforms and operating systems researched in this study were selected according to the criteria used by the authors of [58] and [59]. Therefore, 15 IoT platforms and operating systems were chosen and analyzed in this paper. In this section, the authors compare the presented open-source IoT platforms and operating systems. Table 1 presents the comparison results referring to device management support, security, data collection, integration, analytics, visualization, and storage features. After the review of the presented platforms, the authors conclude that the majority of IoT platforms support device management. Considering not only the increase of IoT device numbers but also the need to store the atomic attributes of each device, the device management feature is extremely important for IoT architectures. These attributes could be the serial number, mac address, location, and device firmware version. Is important to note that these attributes can include complex, structured objects, such as a list of connected peripherals and their properties. In addiction, is also important to create groups of IoT devices that are in a specific location and communicate with other devices of the same group. Another important feature related to device management is the authorization mechanism to allow or disable access remotely.