**2.1 Reference management**

The references related to our research area are collected and filtered, 104 references have been retained based on the following four criteria: (1) High priority was given to recent studies, which means that most of the selected papers were published between 2017 and 2021, and some of them are in press. (2) The timeliness and novelty of the study in the intelligent farming field is another criterion that has been given more priority. (3) The significance to the field and the potential impact on the course of future work in the area of smart farming, were also criteria that have been taken into account while selecting the examined papers. (4) Since the potential of our survey is the evaluation of the applications and benefits of Blockchain technology for the farming industry, we have given more importance to the studies that have explored Blockchain technology within farming environments. A variety of questions that are addressed in this survey can be summarized as follows—(Q1) what type of ICT systems and frameworks are used in the implementation of IF solutions? The answer to this question gives a general study of relevant technologies and protocols adopted in IoT systems as well as fog/edge computing platforms. These technologies represent the basis of many implementations in many fields including intelligent farming, (Q2) is there an IoT model structure that can be adopted to build IF solutions? To answer this question, a five-layer model for intelligent farming is presented, (Q3) how Blockchain technology can be used in the IF domain, and what impact might this have on IF practices improvement? The answer to this question leads us to introduce the


#### **Table 1.**

*Comparison between this survey and other previous surveys.*

most recent novelty of Blockchain usage in the IF domain, as well as the challenges and the needed researches to enrich this debate.

#### **2.2 Comparison with other smart agriculture state-of-the-arts and reviews**

Starting from the examined papers, we have identified several state-of-the-arts, surveys, and reviews, each type of those papers discussed the use of ICT in intelligent farming based on specific ICT disciplines. Some previous surveys focused on the hardware used to implement IF applications, and others covered the integration of IoT with fog/edge technologies to optimize some metrics. Some points are common between our work and others, such as the description of the hardware and protocols adopted in IF systems, and the implementations of IF applications in cloud/fog computing environments. In this work we studied the Blockchain discipline related to the farming domain, this point has not been obviously covered by the other surveys. **Table 1** summarizes the comparison between this survey and the other previous works.

### **3. A general review of IoT-based systems' requirements**

In most cases, precision agriculture data are communicated wirelessly between sensors, or between IoT devices and the core using several kinds of communication protocols, these protocols define the rules and the different formats of the communicated data. The secret behind the success of IoT systems is the development of communication protocols [18, 19], such as RFID (Radio Frequency Identification), NFC (Near Field Communication), IEEE 802.11 Wi-Fi, IEEE 802.16 Wi-Max (Worldwide Interoperability for Microwave Access), IEEE 802.15.4 LR-WPAN (Low-Rate Wireless Personal Area Networks), 4G and 5G cellular networks, IEEE 802.15.1 Bluetooth, ZigBee, ANT/ANT+ networks, DASH7, Enocea...).

Unlike the fog computing paradigm, the traditional cloud computing approach is characterized by centralization, high latency, and more network failures. These characteristics among others make cloud computing unsuitable for IoT applications where time and mobility are crucial factors. In the IoT context, fog computing is a new computing approach that helps to distribute the load of processing and make it so close to the sensing layer. One of the solutions that were proposed to accelerate the processing and compensate for the resource limitation of IoT devices is computation offloading. This concept allows devices to fully/partially offload their computation tasks to resource-rich cloud infrastructures [20]. But this solution bypasses only the cloud computing limitations and does not propose a real solution to resolve them. A group of researchers [21] discussed the usefulness of another concept called computation onloading. This concept is based on bringing cloud services to the edge of the network to satisfy the requirements of IoT devices in terms of bandwidth and latency.

Many contributions are proposed to improve the shared characteristics between cloud and fog computing, notably the generated latency between requesting the task execution and receiving the response, the energy consumed during the task processing, the resource management strategy that defines the provided quality of service, the security issue directly linked to the privacy of generated data, the mobility support to ensure the best quality of service to the end devices, the interoperability between smart things, the scalability related to the exponential increase of the number of IoT devices, and finally the bandwidth needed to transmit data from the network of smart objects to the processing center.

#### *Digital Agriculture and Intelligent Farming Business Using Information and Communication… DOI: http://dx.doi.org/10.5772/intechopen.102400*

The latency generated by the cloud is significantly important, this is an issue for new IoT mobile applications that need real-time responses to their requests. To enhance this characteristic through the fog/edge computing model, Yang et al. [22] developed an offline heuristic algorithm, SearchAdjust, to minimize the average latency for Multiuser Computation Partition Problem (MCPP). In the same context, Yousefpour et al. [23] developed and evaluated a policy to reduce the service delay for IoT devices based on offloading and sharing load approach. In another work, Molina et al. [24] proposed a strategy of uplink/downlink, and edge computational resources allocation in a multiuser scenario to achieve latency and energy efficiency in task processing. Ren et al. [25] investigated the collaboration between cloud computing and edge computing, where the tasks of mobile devices can be partially processed at the edge node and the cloud server. A joint communication and computation resource allocation problem is formulated to minimize the weighted-sum latency of all mobile devices.

Regarding the energy consumption issue, most of the processing tasks are carried out in the cloud computing data centers that increase the quantity of energy needed for query transmission and execution. This consumption is minimized in the fog/ edge computing model because the majority of computing tasks are distributed over several end devices or offloaded to the edge mini data centers. In this context, Xiang et al. [26] proposed a policy to efficiently optimize energy in LTE (Evolution Long Term)/Wi-Fi link selection and transmission scheduling, as well as developed an approximate dynamic programming algorithm to reduce energy consumption in the MCC (Mobile Cloud Computing). Ge et al. [27] proposed a game-theoretic strategy to reduce the overall energy dissipation of both mobile devices and cloud servers considering the offloading technique in the MCC system. Chen et al. [28] adopted a game-theoretic approach to propose a multi-user offloading solution for mobileedge cloud computing, their proposed solution aims to achieve energy efficiency in a multi-channel wireless interference environment.

In the classical cloud computing approach, the efficiency of resources management is less compared to the fog/edge computing approach, this is due to the existence of more sophisticated algorithms that proved their efficiency in resources allocation. In this window, Mostafa et al. [29] proposed an automated fog selection and allocation scheme of task requests by IoT devices. In another work, Jana et al. [30] proposed a QoS (Quality of Service)—aware resource management technique for the efficient management of resources. Souza et al. [31] developed a scheme that combines fog computing and cloud resource allocation. Aazam et al. [32] proposed a user characteristic-based resource management for fog, which performs efficient and fair management of resources for IoT deployments. Delegating data protection to the cloud layer without implementing mechanisms to protect data at the end device level is an inefficient strategy. The best way is to ensure end-to-end data protection, the fog/edge computing model is mainly concerned by this issue compared to the cloud computing approach that focuses on data protection at the cloud level. Das Manik [33] proposed a security protocol for IoT applications based on Elliptic Curve Cryptography (ECC). Hernández-Ramos et al. [34] proposed a new mechanism of lightweight authentication and authorization to be embedded in a smart object based on DCapBAC (Distributed Capability-Based Access Control). Zhang et al. [35] suggested using Ciphertext-policy attribute-based encryption (CP-ABE), which is a recognized cryptographic technique to ensure data confidentiality and provide firm access control.

The majority of IoT devices used in smart cities or smart environments are geographically distributed, mobility of IoT devices and applications should, therefore, be supported by the adopted computing approach. As a result, many works are proposed to enhance the mobility of end devices in the fog/edge model since this characteristic is less present in the traditional cloud computing model. For this purpose, Chaisiri et al. [36] proposed a mobility-aware offloading priority design, it aims to precisely anticipate users' mobility profiles and channels. In the same context, Prasad et al. [37] proposed an approach for mobility management along with traffic control to offer better users' QoE (Quality of Experience) with latency-tolerant tasks. Ning et al. [38] constructed a three-layer VFC (Vehicle Fog Computing) model to enable distributed traffic management and minimize the response time of citywide events collected and reported by vehicles.

Interoperability is another important difference between the fog/edge computing model and the cloud computing approach regarding provided smart services. The interoperability requires that all interfaces of cloud-based or fog/edge-based systems are wholly understood. Despite that cloud computing offers more interoperability for some distributed applications, it is difficult to cover smart things applications due to the big heterogeneity of manufacturers and systems. Contrary to cloud computing, fog/edge computing is more open to the end devices and tends to ameliorate the interoperability issue in an IoT system. Starting from this requirement, Jayaraman et al. [39] proposed an OpenIoT platform used for the digital agriculture use case (Phenonet), the OpenIoT enables semantic interoperability. Desai et al. [40] proposed a semantic web permit architecture to afford interoperability among smart things. Ullah et al. [41] proposed a semantic interoperability model for big-data in IoT (SIMB-IoT) to deliver semantic interoperability among heterogeneous IoT devices in the health care domain.

In the traditional cloud computing model, the number of smart supported devices and applications increases at a slow rate oppositely to what happens in fog/edge computing systems. Scalability is an essential feature that defines how resources provisioning is performed and what components can be scaled, notably the storage capacity, the number of fog/edge nodes, the connectivity solutions, and the internal hardware or software of fog/edge nodes. Tseng and Lin [42] designed a mechanism to dynamically scale in/out the serving instances of the middle nodes to make the whole IoT/ M2M (Machine to Machine) platform more scalable using an industrial IoT (IIoT) scenario. Vilalta et al. [43] proposed a new fog computing infrastructure named TelcoFog that can be installed at the edge of the mobile network of the telecom operator to provide several services, such as NFV (Network Function Virtualization) and MEC for IoT applications, the benefits of the proposed infrastructure are dynamic deployment, scalability, and low latency. Gupta et al. [44] proposed a highly distributed service-oriented middleware called SDFog (Software-Defined Fog) based on cloud and fog capabilities as well as SDN (Software-Defined Networking) and NFV to satisfy the required high level of scalability and QoS.

The bandwidth needed to transmit the data collected is closely tied to the generated latency, the biggest amount of data requires more bandwidth to be transmitted to the cloud data centers, which means more latency in the transmission process. Optimizing the bandwidth in a fog/edge environment directly minimizes the delay resulting from the transmission process because the processing resources are located close to the end devices. In this context, Ito et al. [45] proposed a bandwidth allocation scheme based on collectible information. Gia et al. [46] introduced the processing of ECG (electrocardiogram) features using fog nodes, their results disclosed that fog helps to achieve more efficiency in bandwidth and low latency in the data processing. Bhardwaj et al. [21] argued the utility of "onloading" cloud services to the edge of the network to address the bandwidth and latency challenges of IoT networks.

*Digital Agriculture and Intelligent Farming Business Using Information and Communication… DOI: http://dx.doi.org/10.5772/intechopen.102400*
