# Enhancing the Reliability of Cellular Internet of Things through Agreement
## 2 Related Work
### The Agreement Problem  
In order to provide a reliable CIoT environment, a mechanism that allows a given set of PUs to reach agreement on common values is needed. The mechanism for reaching agreement has been named as agreement problem by [PERSON] et al. [23]. In a distributed computing environment, because some PUs may fail, in order for the distributed computing to be executed correctly, a number of independent  
Figure 3: The _Access-tier_ of MECIoT.  
Figure 2: The structure of MECIoT.  
PUs are required to reach an agreement. That is, the purpose of reaching an agreement is to make the normal PUs achieve a common value.  
The _agreement_ problem was formally defined by [PERSON] and [PERSON] [24] in 1911. Solving the agreement problem defined by [PERSON] and [PERSON] is to find a protocol that can reach an agreement and use the minimum number of data exchanges to obtain the maximum number of allowable failure capabilities. Most past researches proposed various protocols to solve the agreement problem underlying various network structures and applications. All of them could not be replaced with each other because the network topology and elements of the network are different. In other words, the network structure of MECIoT is more complicated than before, the protocol of reaching agreement underlying MECIoT should be restarted. The definition of agreement issues in MECIoT is to make the normal PUs in MECIoT reach an agreement. In order to achieve the purpose of the agreement problem, each PU chooses an initial value as the start, and communicates with each other through data exchanges. If the following two conditions are met, then the PUs can reach an agreement [24]:  
**Agreement**_A common value is agreed by all normal PUs._  
**Validity**_The agreed value \(v_{i}\) is agreed by all normal PUs when the initial value of normal PUs is \(v_{i}\)._  
In an MECIoT, it is composed of many PUs (including CIoT PUs, MEC Pus, and Cloud PUs), and some PUs may not always operate normally. If the PU can follow the protocol specification during the execution of the agreement protocol, it means that the PU is normal. Otherwise, the PU is considered to be faulty. When a PU fails, the behavior of the failed PU is unpredictable and arbitrary. Therefore, the data sent by the faulty PU can be random or arbitrary. In this research, the agreement problem of failed PUs in MECIoT will be solved.  
However, in the MECIoT, the characteristics of the connected topology are very important. Therefore, to solve the agreement problem on the MECIoT, the following assumptions are made in this research:  
1. Each PU in MECIoT, including CIoT PU, MEC PU, and Cloud PU, can be uniquely identified.
2. According to the research of [PERSON] and [PERSON] [11], in a distributed computing system with \(n\) PUs (\(n\geq 4\)), at most one-third of the PUs can fail, but the system will not be interrupted.
3. The sending PU of the data can always be identified by the receiving PU.  
According to the assumptions of this research, the proposed protocol CIoTAP can use the minimum number of data exchanges and can tolerate the maximum number of allowable failure PUs, so that each normal PU can still reach an agreement under MECIoT.