A considerable portion of the Internet of Things applications consists of home automation, smart healthcare, smart stores, and BMS. Designing and providing a proper Fog node for these environments is crucial. Fog Nano Datacenters are small devices that can provide various services for local applicants. These devices are tiny and have low energy consumption and operational cost. Taking into account their physical characteristics, it’s easy to move them in the environment and even add mobility feature to them. Many of these Nano Datacenters have the ability to support the operating system i.e. Windows, Linux, Android, IOS, Contiki and etc. This feature allows free access to the platform and more efficient customization of the services. We can list Raspberry Pi, ASUS Thinker Board, SmartWatch, Banana Pi M64, BeagleBone Black, and Smart Mobile Phones that can be used as Fog Nano Datacenters. For taking into account a device as a Fog node, it’s sufficient that each device provides process, storage, and communication services.
Internet of Things consists of different and heterogeneous devices, infrastructures, and protocols. Therefore, providing communications needs are considerable challenges. There are many devices and equipment that for different reasons such as resource constraint, device spacing, number of nodes and ideal working frequency cannot use common communication protocols such as Wi-Fi. For this purpose, we are witnessing many devices are using popular communication protocols like Zigbee, BLE, Z-wave, RF, Sigfox, LoRa and etc. These protocols have lower energy consumption, more coverage, varied frequencies, and lower cost. Aforementioned protocols are useful for local or inner communications. Here, the main challenge is that by deploying these protocols we cannot directly connect to the internet. There should be an interoperable platform to work as a communication interface among different protocols. Interoperability is an ability that makes it possible for devices to work or communicate with other devices without considerable changes or efforts on systems or applicants. We can also describe it as a broker among devices with different communication protocols.
Then we have Application layer protocols. The application layer is responsible for offering services and protocols for message exchanging in application level. These protocols affirm a reliable tie among different entities. By considering IoT devices restrictions, it is not efficient or even possible to use application layer protocols such as HTTP for all scenarios. There are some light weights applications protocols like MQTT and CoAP which have low overhead and can provide some basic control operations. Enhancing interoperability both in application and communication protocols provides better flexibility and efficiency for having multipurpose Fog Nano Datacenters. Interoperability is possible through various technologies i.e. JSON, XML, CSV, HTML, and YAML that we talk about them in detail in the relevant section.