- MainFlux
Mainflux is an innovative, scalable, reliable, open and patent-free IoT based cloud platform which is developed in Go programming language. It supports connections through various network protocols such as HTTP, WebSocket, MQTT et cetera forming a seamless linkage between them (“Mainflux — Full-stack Open-Source, Patent-free IoT Platform and Consulting services”, 2020). It is intended to be used as an IoT middleware on the top of which advanced and complicated IoT solutions can be developed. Therefore, it enables southbound APIs to link systems and northbound APIs to link applications, as is often the case with these interfacing systems, then it enables routing of messages between them (Mijić & Varga, 2018). Because of its lightweight and performant nature, Mainflux utilizes NATS as its messaging framework. Its subject can be viewed as the physical representation of Mainflux channels, where subject names are constructed using channel identifiers. Together, the entire bottom-to-top framework (device, Mainflux platform, and application) forms what is known as a “vertical solution,” quite relevant to the specified use case.
Constructed as a series of Docker-containerized micro-services and coordinated with Kubernetes, the Mainflux IoT framework serves as the software framework and middleware that provides services including data integration, management, core analytics, user interface et cetera (Benayache et al., 2019). Additionally, the platform is concentrated around three main entities as in figure 1 shown below, including user, things and channel. It can also be used as a middleware, implying that it uses a collection of servers (SW server) that provides multiple functionalities as well as services which are typically required to build IoT applications.
Figure 1: MainFlux architecture; Source: (“Mainflux — Full-stack Open-Source, Patent-free IoT Platform and Consulting services”, 2020)
“User” depicts the person/user that is actually operating the system. It is expressed by e-mail and passkeys used as network access credentials for generating access tokens. When logged into the program, users can manage the resources including channels and things in CRUD fashion and by linking them, access control policies can be determined (“Scalable Architecture for the Internet of Things”, 2020). The second entity i.e. “thing” represents Mainflux-connected devices or applications using the platform to exchange messages with other things. Whereas, “channel” stands for a communication medium that functions as a message topic and all the items related to it can utilise it. Typically, no such restrict ion is put on the content being exchanged through these channels. However, messages need to be formatted using SenML to be post-processed and normalised.
- EdgeX Foundry
EdgeX Foundry, being a vendor-neutral and open source framework, hosts a common platform for “IoT edge computing” by the Linux Foundation. An interoperability framework lies at the centre of this framework hosting a complete hardware and operating system-agnostic software platform to create an ecosystem of “plug-and-play” components that unify the marketplace and speed up the delivery of IoT solutions (Bruns & Humphreys, 2010). The goal is to simplify and standardize the edge computing architecture which is applied for industrial IoT perspectives. For this purpose, a heterogeneous combination of devices, actuators, sensors and several other IoT based objects are used to generate data that needs to be computed and analysed (Liang et al., 2019).
It is a significant enabler for developers to work easily on an open and interoperable IoT solution built with established networking standards and their own proprietary inventions (“Home – EdgeX Foundry”, 2020). Moreover, it is distinctive in its cross-sector support, scope, reputation, innovation, vendor neutrality and open source licensing model. In other words, EdgeX is the primary facilitator of digital transformation across vertical sectors for different IoT use cases and organisations. Therefore, business values are added by increasing time for innovative data-based services creating additional revenue streams. This also enables customers to leverage new technologies (AI and ML at the edges) and adding values from different blended solutions. Through offering tools to quickly build IoT edge solutions based on EdgeX, it lets companies respond easily to changing business requirements (“About – EdgeX Foundry”, 2020).
EdgeX enables all the concerned organizations to collaborate with their own proprietary technologies on IoT applications that are developed using established connectivity standards. Furthermore, a two-part novel approach is employed for replication management, e.g. to assess which parts of the database will be reused at each edge location (Saxena & Salem, 2015). The first aspect of the EdgeX method involves the static analysis of the data access and accuracy criteria for the program. The aim of this evaluation is to decide which sections of the database can be replicated safely at the edge, i.e. can also be replicated without breaching requirements for consistency. The architecture is structured into different layers as shown in figure 2. Each layer comprises multiple micro services and the modular architecture help users to easily scale, upgrade and distribute the logic into various systems, thereby enhancing its maintenance.
Figure 2: EdgeX Foundry architecture; Source: (“About – EdgeX Foundry”, 2020).
- ParaDrop
ParaDrop is an edge computing software platform that allows users and developers to quickly start up new services on demand. It has enabled developers to exploit the last bastions of permanent computing resources: the gateway (e.g. Wi-Fi Access Points, or set-top box). Using this software, completely integrated with hardware devices, developers can create virtually isolated LXC-based compute containers (called chutes) to provide its end-users with an unprecedented computational presence (“Paradrop – An Edge Computing Platform Built with Wi-Fi Routers”, 2020). The architecture facilitates multi-tenancy thru virtualization. Moreover, dynamic deployment can also be achieved through developer API and tight control of resources through a controlled policy design. Reduced latency and enhancing privacy are the two major objectives of ParaDrop (Willis, Dasgupta & Banerjee, 2014). Therefore, with the elimination of the need for data connectivity between end-users and cloud, ParaDrop plays a major role in enhancing efficiency and data privacy experiences for end-users, as well as reduced network congestion and energy footprints for ISPs.
It consists of three key components: a flexible hosting substratum in Wi-Fi APs that facilitates multi-tenancy, a cloud-based backend that orchestrates these computations across many ParaDrop APs, and finally an API which enables third-party developers to deploy and maintain their computing functionalities across various ParaDrop APs (Hong, Tsai & Hsu, 2016). Moreover, it operates using the same language and technologies that are used currently by developers in cloud computing environment. However, irrespective of the programming language, it can adapt some part of it to operate on Paradrop. Under the hood, this framework uses Docker containers to assure application code functions the same manner with no such intervention from other applications
ParaDrop is replacing today’s Wi-Fi routers with a smart platform that can handle the fast-paced, sophisticated, and evolving IoT environment. With Paradrop, new software can be mounted on the router to address complicated issues in such a way that can never be done by today’s single-purpose wireless routers (Liu, Willis & Banerjee, 2016). Based on this approach, developers can turn IoT systems more reliable by holding the data that would usually use to go to remote cloud servers within the home network. Architecture of ParaDrop as shown in Figure 3 has three main components. “AWAMP message router” links backend and gateways. The gateway facilitates a virtual environment for enabling services. Whereas, back-end retain details about the gateway and user. This also offers a server (ChuteStore) to store files that can be installed on the gateways for the services.
Figure 3: ParaDrop architecture; Source:
- Lelylan
Lelylan is an open and simple API for developing a “Connected Home” where developers can concentrate on hardware and design processes, while creating new web apps, mobile applications and many more devices (“Lelylan. Open Source Internet of Things”, 2020). As per Benayache et al., (2019) any query transmitted to the “Lelylan API” is directed to physical devices responsible for enforcing the requested changes and sending a message back to the Lelylan once such changes are made. Its functionalities are based upon three resources namely devices, physicals and types as shown in figure 3.
Here, device is the tool that virtually reflects upon everything users interact with in daily life. It may involve dealing with lighting, appliances, sensors, refrigeration and heating systems, rolling shutters, windows, ventilation, video monitoring and many more. With this, users can simulate, track, and manage all of those devices with some specific URI. If devices are the virtual depiction, “Physicals” are the actual objects with which users communicate. Therefore physical devices should be able to access internet and enforce the “Physical API” to facilitate communication between Lelylan and the real world. A “Type” defines the structure of the system. Lelylan identifies the most widely used types.
Figure 4: Lelylan architecture; Source:
“Lelylan” breaks up the complexity involved with “Internet of Things”, describing tiny, autonomous micro-services. In this way, it enables the user to add, remove and modify functionalities without altering the entire platform (Joneja, 2016). Thus, makes sophisticated architectures like big Data or machine learning to be implemented easily. It can also be installed on any public and private cloud/data-centre or even on any virtualized hybrid environment. However, sometimes hardware may be accessed easily whereas; affording a software solution might be difficult at times. This is where Lelylan plays a bigger role in establishing affordable as well as efficient systems.
Lelylan is founded on MQTT “MQ Telemetry Transport” protocol, and provides an easy API that is used for programming devices (Li et al., 2018). Its front end is also completely editable, and the APIs for user interface is readily available for Node.js, Curl, Python, Ruby and angular js. Since there is already a simple and standard user interface, users do not have to be a programmer to use Lelylan. Moreover, the “ready to use” interface is built on Angular JS, CSS3 and HTML5 which enables the user to use Lelylan on any device without installing any additional application. For those unfamiliar with the fundamentals of software development, Lelylan is a “completely integrated universal user interface” enabling users to access and control devices even without knowing a single programming.
- ThingsBoard
ThingsBoard is another open-source “IoT platform” for collection, storage, visualization and management of data. It allows connectivity of devices with industry standard “IoT protocols” such as MQTT, HTTP and CoAP and facilitates both types of deployments i.e. on-site and cloud (Cadavid et al., 2018). It combines scalability, fault tolerance and consistency to prevent data loss. ThingsBoard as a platform receives data from sensors via Message Queue Telemetry Transport (MQTT) protocols, Kafka message queue, and “cluster computing Spark Streaming settings”. For this purpose, it serves as a portal and the obtained values are stored as telemetry data. Apart from this, ThingsBoard also involves a role engine for the purpose of conducting primary analysis of incoming messages, and it can also be combined for complex data processing with “Kafka” and “Apache Spark” (De Paolis, De Luca & Paiano, 2018).
It lets the user to register, control and track different devices. It also offers an API for SW applications to send instructions to devices and vice-versa. Moreover, the “ThingsBoard” supports multiple databases including HSQLDB, Cassandra et cetera. This makes it able to offer custom dashboards to its users to track the data with several configurable widgets in real time which makes it capable of processing multiple telemetry data at the same time and independently of other devices (Aghenta & Iqbal, 2020). By adding filters in the Telemetry forwarding rules, data processing can be limited to the subsets of received data.
Apart from offering its user the potential to develop dynamic dashboards optimized for data visualization in real time, personalized with over 30 widgets, it also enable system alerts that can be used to send warnings to devices whenever problematic conditions are encountered in the pre-processing or processing phase of the data.
Figure 5: ThingsBoard architecture; Source: (“ThingsBoard Architecture”, 2020)
ThingsBoard as shown in figure 5 is designed in such a way that the work load can be distributed without any single point of failure, through multiple nodes. Each node is equivalent and is capable to handle both device- and server-side requests (“ThingsBoard Architecture”, 2020). Whereas, “Rule Engine” allows system messages to be processed and configurable application modules called Plugins to be enabled.
- SiteWhere
It is an open forum for the monitoring and control of IoT devices and the data stored in these devices. Licensed under “CPAL 1.0”, it can be implemented as an on-site solution with greater flexibility and scalability removing the per-device per-data price by SaaS providers (Guth et al., 2016). It can even be deployed in a publicly accessible “bare metal cloud environment”. Running various IoT programs within a single server environment, it comes with an advanced multi-tenant architecture. It combines inter-connected devices with validated applications and services to meet enhanced business needs (da Cruz et al., 2018).
It is enabled with muti-tenance support from “v1.2.0” where tenant engines are kept isolated and has its own channels for data storage and processing. Furthermore, MongoDB is used as the default data storage, with tenant-xxxx labelling for each of the tenant (Ismail, Hamza & Kotb, 2018). Devices can interact with each other over MQTT using either of the JSON or “Google Protocol Buffer” format and the platform services are provided with REST APIs. To further cluster location-aware systems, each tenant system is put in a database, defined as a site. It allows control of all the site-level as well as device-level activities. At first, default tenant engines are built on bootstrap by using Construction site. Devices can also be held as logical units which can cooperate with device requirements in accordance to the standard hardware features (Da Cruz et al., 2018). Altogether, it facilitates a complete management solution to help users in avoiding SaaS operators from per unit charges. For making connections between devices, it employs MQTT, STOMP, and several other protocols and other devices can also be integrated via self-registration or REST.
Figure 6: SiteWhere architecture; Source: (“SiteWhere Documentation | System Architecture”, 2020)
X
SiteWhere, as shown in figure 6 is designed from bottom to top approach to leverage the advantages of latest technology to effectively scale up to the loads required in major IoT projects. Core architecture is based on v1.7.0 Spring Boot and comes with an embedded Tomcat server in its latest upgraded model. Though, “Web Application Archive” (WAR) file can still be created from sources. Instead of monolithic architecture, SiteWhere uses micro-services to adopt a completely distributed model to enable component level scaling so that the framework can be customized as per customer use cases (“SiteWhere Documentation | System Architecture”, 2020). This designed approach having clearly specified APIs therefore, allows easy integration of new technologies with the evolution of IoT ecosystem.
- Texas System
Tactical, Experimentation, Architecture, Support (Texas) is an innovative experimental tool that utilises a wide range of sensors available from mobile devices including camera; Global Positioning System (GPS) et cetera (Ngu et al., 2016). Initially it was largely used for recording and monitoring the essential performances by facilitating brute-force tracking facilities.It has two key components which includes the user interface as well as behind-the-scenes technology background technology (Li et al., 2019). TEXAS enables multiple ‘gray’ asset locations to be viewed as tracks on the “digital map user interface”, and thus, leverages SOA technologies including the LASAGNE middleware platform designed by DST Group as a response to the increasing security needs for tactically-directed SOA systems.
Using LASAGNE provides the device a large degree of fluidity and adaptability, creating an almost perfect atmosphere for designing prototypes for testing in a Defence exercise; effectively reducing the risks associated with complex experiments with high value Defence properties. Moreover, all the data logged by TEXAS applications are stored in JSON format. These recordings are time-stamped details of log schema were facilitating the experimental analysis.
References
About – EdgeX Foundry. (2020). Retrieved 22 April 2020, from https://www.edgexfoundry.org/about/
Aghenta, L. O., & Iqbal, M. T. (2020). Design and implementation of a low-cost, open source IoT-based SCADA system using ESP32 with OLED, ThingsBoard and MQTT protocol. AIMS Electronics and Electrical Engineering, 4(1), 57.
Benayache, A., Bilami, A., Barkat, S., Lorenz, P., & Taleb, H. (2019). MsM: A microservice middleware for smart WSN-based IoT application. Journal of Network and Computer Applications, 144, 138-154.
Benayache, A., Bilami, A., Barkat, S., Lorenz, P., & Taleb, H. (2019). MsM: A microservice middleware for smart WSN-based IoT application. Journal of Network and Computer Applications, 144, 138-154.
Bruns, A., & Humphreys, S. (2010). Research Adventures in Web 2.0: Encouraging Collaborative local content creation through edgex. Media International Australia, 136(1), 42-59.
Cadavid, H., Garzón, W., Pérez, A., López, G., Mendivelso, C., & Ramírez, C. (2018, September). Towards a smart farming platform: from IoT-based crop sensing to data analytics. In Colombian Conference on Computing (pp. 237-251). Springer, Cham.
Da Cruz, M. A., Marcondes, G. A., Rodrigues, J. J., Lorenz, P., & Pinheiro, P. R. (2018, December). Performance Evaluation of IoT Middleware through Multicriteria Decision-Making. In 2018 IEEE Global Communications Conference (GLOBECOM) (pp. 1-5). IEEE.
da Cruz, M. A., Rodrigues, J. J., Sangaiah, A. K., Al-Muhtadi, J., & Korotaev, V. (2018). Performance evaluation of IoT middleware. Journal of Network and Computer Applications, 109, 53-65.
De Paolis, L. T., De Luca, V., & Paiano, R. (2018, June). Sensor data collection and analytics with thingsboard and spark streaming. In 2018 IEEE Workshop on Environmental, Energy, and Structural Monitoring Systems (EESMS) (pp. 1-6). IEEE.
Guth, J., Breitenbücher, U., Falkenthal, M., Leymann, F., & Reinfurt, L. (2016, November). Comparison of IoT platform architectures: A field study based on a reference architecture. In 2016 Cloudification of the Internet of Things (CIoT) (pp. 1-6). IEEE.
Home – EdgeX Foundry. (2020). Retrieved 22 April 2020, from https://www.edgexfoundry.org/
Hong, H. J., Tsai, P. H., & Hsu, C. H. (2016, October). Dynamic module deployment in a fog computing platform. In 2016 18th Asia-Pacific Network Operations and Management Symposium (APNOMS) (pp. 1-6). IEEE.
Ismail, A. A., Hamza, H. S., & Kotb, A. M. (2018, December). Performance evaluation of open source iot platforms. In 2018 IEEE Global Conference on Internet of Things (GCIoT) (pp. 1-5). IEEE.
Joneja, M. (2016). Microservices as a design choice for IoT. In Proc. Conf. (pp. 1-3).
Lelylan. Open Source Internet of Things. (2020). Retrieved 22 April 2020, from http://www.lelylan.com/
Li, B., Dong, Q., Downen, R. S., Tran, N., Jackson, J. H., Pillai, D., … & Li, Z. (2019). A wearable IoT aldehyde sensor for pediatric asthma research and management. Sensors and Actuators B: Chemical, 287, 584-594.
Li, W. J., Yen, C., Lin, Y. S., Tung, S. C., & Huang, S. (2018, February). JustIoT Internet of Things based on the Firebase real-time database. In 2018 IEEE International Conference on Smart Manufacturing, Industrial & Logistics Engineering (SMILE) (pp. 43-47). IEEE.
Liang, J., Liu, F., Li, S., & Cai, Z. (2019, July). A Comparative Research on Open Source Edge Computing Systems. In International Conference on Artificial Intelligence and Security (pp. 157-170). Springer, Cham.
Liu, P., Willis, D., & Banerjee, S. (2016, October). Paradrop: Enabling lightweight multi-tenancy at the network’s extreme edge. In 2016 IEEE/ACM Symposium on Edge Computing (SEC) (pp. 1-13). IEEE.
Mainflux — Full-stack Open-Source, Patent-free IoT Platform and Consulting services. (2020). Retrieved 21 April 2020, from https://www.mainflux.com/
Mijić, D., & Varga, E. (2018, August). Unified IoT Platform Architecture Platforms as Major IoT Building Blocks. In 2018 International Conference on Computing and Network Communications (CoCoNet) (pp. 6-13). IEEE.
Ngu, A. H., Gutierrez, M., Metsis, V., Nepal, S., & Sheng, Q. Z. (2016). IoT middleware: A survey on issues and enabling technologies. IEEE Internet of Things Journal, 4(1), 1-20.
Paradrop – An Edge Computing Platform Built with WiFi Routers. (2020). Retrieved 22 April 2020, from https://paradrop.org/
Saxena, H., & Salem, K. (2015, June). Edgex: Edge replication for web applications. In 2015 IEEE 8th International Conference on Cloud Computing (pp. 1041-1044). IEEE.
Scalable Architecture for the Internet of Things. (2020). Retrieved 21 April 2020, from https://www.oreilly.com/library/view/scalable-architecture-for/9781492024132/ch04.html
SiteWhere Documentation | System Architecture. (2020). Retrieved 23 April 2020, from https://sitewhere1.sitewhere.io/architecture.html
ThingsBoard Architecture. (2020). Retrieved 23 April 2020, from https://thingsboard.io/docs/reference/architecture/
Willis, D., Dasgupta, A., & Banerjee, S. (2014, September). ParaDrop: a multi-tenant platform to dynamically install third party services on wireless gateways. In Proceedings of the 9th ACM workshop on Mobility in the evolving internet architecture (pp. 43-48).
The post Mainflux is an innovative, scalable, reliable, open appeared first on My Assignment Online.