## 5 Technical Architecture of the Framework
### Framework Module Design  
As discussed in the section above, each framework module is distinct in terms of either underlying infrastructure, software, or deployment mechanisms.  
1. IBBA IoT This module hosts an IoT system comprising one or more sensors (ex. proximity sensors, NIR spectrometer modules, etc.) and low-powered ARM-based single-board computers (SBCs) such as Raspberry Pi Zero, Pi 4, or Arduino. The SBCs are typically  
Figure 5: Use case 1: monitor food safety at a dairy farm using IoT sensors and edge processing.  
Linux-based and capable of running custom software that drives the connected sensors and gathers and processes the generated data. The custom software is usually in the form of one or more microservices collaborating with the outside world either on Wi-Fi or mobile networks. These IoT systems are remote at multiple locations. Deploying or maintaining the custom software on them is cumbersome using conventional methods. However, each IoT system can be configured as a node of a Kubernetes, e.g., the K3S cluster, not only to automate the deployment process but to simplify the maintenance by leveraging Kubernetes auto-healing features when a node running the deployed microservice reboots because of any reason. 2. IBBA Mobile This module is designed to provide robust mechanisms that can disseminate information (such as product recall) as it is created (push notifications) or on demand, meaning what the end consumer wants. At times, whoever wants to report any concerns should have the ability to do so using their own mobiles. The IBBA Mobile module serves multiple purposes which include capabilities to consume push notifications, receive information, or both. Typically, native mobile apps (Android/iOS) are deployed through platform-specific app repositories or web/hybrid apps. 3. IBBA Edge The core of the proposed framework is the IBBA Edge module, hosted on an on-premises server or, at times, on the IoT module itself. While the primary function of the IoT module is to collect and stream the data, the functionality deployed on the edge module processes the data in near-real time, applying the ML/DL models that enable it to make on-the-spot decisions. The IBBA Edge module comprises a set of microservices with the capability to process the incoming data from one or many IoT systems, interact with the blockchain, and communicate/upload the data to big data systems hosted on a cloud provider. A Kubernetes cluster manages the deployment of such microservices deployed on its nodes. 4. dIBBA Backbone The primary function of IBBA Backbone is to collect and collate the \"4V\" (as mentioned in previous sections) data that are being generated at various edge nodes and provide a platform to host both huge volumes of data and AI/ML processing. The IBBA Backbone module consists of a bunch of cloud services which include a Hadoop file system, virtual machines, storage, network interfaces, load balancers, webservers, etc. It is also home to the portal that frontends the data to the end consumers. IBBA Backbone also supports integration with third-party apps and services through the APIs. 5. IBBA API/Portal This module provides a mechanism for external users or services to access or push the information from and to the backbone. The functionality that provides responses to specific requests is implemented in the form of APIs (Application Program Interfaces) and opened to external users or services through cloud provider-specific API services.