## 3 Methods
### Network Model  
In this sub-section, we present a basic network model for formalizing the operations of Scheduling-PROPHET.  
Nodes:We assumed that each node has a unique nonzero identifier \(i\), which is bound to a public identity. Furthermore, the buffer space for carrying messages originating from others is limited, but the buffer space for itself is unlimited. For IoT applications, this restriction on buffer space or storage is quite important. As long as one node encounters any other node, they can get a transfer opportunity. All node movement is random so that they cannot estimate when they will get the next opportunity. Utilizing delivery predictability is the main idea of our routing protocol. It will be calculated, if two nodes encounter each other in the communication range. In addition, each node keeps a table locally, which contains its identification, predictability, received messages, and traffic load, etc. Each node will update their traffic load every 30 s. Just as shown in Figure 1, when two nodes encounter each other, they will exchange the predictability \(P\) in their tables and then update the predictability in the network according to Equations (1) and (2).  
Transfer:The transfer opportunity is assumed to be limited in both duration and bandwidth, due to the node mobility. Nodes are willing to discover and transmit messages to each other in the communication range. However, the number of messages that can be transferred is restricted. In our protocol, the selection of transmission depends on the complete delivery predictability (\(S(i,i+1,\ldots,D)\)), the hops (\(h(i,i+1,\ldots,D)\)) and the traffic load (\(tl_{i}\)). As shown in Figure 1, messages will be transmitted to the destination nodes firstly without doubt. To other nodes (except the destination), we will compare the available paths and select a better one. Scheduling-PROPHET selects the path with the highest delivery predictability to transmit messages. If there are two or more paths ranked with the highest delivery predictability, Scheduling-PROPHET will choose the path with the minimum number of hops. In real-life applications, if there are still two or more paths ranked with the highest delivery predictability and minimum number of hops, Scheduling-PROPHET has to take the traffic load into consideration. We will compare the traffic load of the next hops, and preferentially choose the next hop with the minimum traffic load.  
Figure 1: A sequence chart for the major procedure of Scheduling-Probabilistic Routing Protocol using History of Encounters and Transitivity (PROPHET).  
StorageEach node is required to manage its own limited buffer space, by assigning priority to messages and deleting messages according to the protocol. In addition, each node will update its traffic load and keep this information in a table. Scheduling-PROPHET will choose the next hop with less traffic load. In this way, it will increase the delivery rate of the whole network, and messages will get more opportunity to be delivered. We assume that each node must receive messages in an application layer and remove it from the buffer. Each node destines to carry all messages and forward the copies of messages to other nodes until the message is notified of delivery by acknowledgment (ACK).  
We assume that messages will be deleted only in the following three cases, except for some unpredictable events like dropping during the transmission:  
Case 1: After the messages have been transmitted to the destination and all senders get ACK form network, nodes are able to remove the message from their buffer spaces.  
Case 2: Time is up for messages to stay in the buffer space. The TTL of messages is set to 300 s (about 5 h) in our simulation.  
Case 3: When the buffer space is full, messages with the lowest priority will be deleted.