CHAPTER 1 Introduction
1.4 Organization
and the contact information applied to our algorithm can be acquired by the built-in communication modules (when two nodes are inside the transmission range of each other).
The function of GPS will expected to be closed, because it causes more power consumption.
Besides, among the messages, different kinds of messages may have different priorities, and because of the specific characteristics in the DTNs, node’s buffer and the contact time between nodes are two of the most important factors that affect the delivery performances [2]. Therefore, how to allocate these resources to different kinds of messages would also be important.
1.3 Our Goal
Our goal is to have users who have a regular moving pattern in a region as what we mentioned in section 1.2 enable to deliver messages to other users with a more efficient routing protocol while making a differential delivery performance with different message priorities.
Therefore, we would like to design a message routing protocol which (1) works without the aid of GPS, (2) takes the advantages of flooding-based and forwarding-based protocols, (3) considers the message priorities during the process of message transmission and (4) allocates the resources more properly. Note that the resources here, we mainly focus on the buffer and the transmission sequence of messages.
1.4 Organization
The rest of this thesis is organized as follows. Chapter 2 introduces related works about common routing protocols and key schemes of our design concepts in DTNs. Chapter 3 describes our proposed design in detail. Chapter 4 presents simulation results of performance evaluation. Eventually, we summarize our work and discuss some directions for future work in Chapter 5.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
6
CHAPTER 2
Related Work
In this chapter, we will introduce the research of routing protocols that are commonly referred in DTNs and priority-related schemes.
In the beginning, we will introduce the main concepts of the two categories of flooding-based and forwarding-based routing protocols that we have mentioned in Chapter 1, enumerate a number of representative routing protocols, and make a brief summary of these protocols.
Next, we will describe the key concepts that we referred to in this thesis in detail, and list a couple of related research.
‧
2.1 Flooding-based Routing Protocol
The basic concept in this category of routing protocols is to increase the replication ratio of message in the network and to enhance the message delivery ratio. A node will replicate the messages to the contact nodes unconditionally. Protocols belong to this category are easier to implement because of they do not require any other information about the network, but the delivery overhead may potentially heavily depends on the degree of message replication.
2.1.1 Direct Delivery Routing Protocol
In this routing protocol, a message will be transmitted only when the source node contacts its destination node. This way of designing is to keep a lower buffer requirement because the node will only directly transmit a message to its destination, instead of by other relay nodes.
However, there may be the longest message transmission delay from the source to the destination. This approach has mainly worked on communication between mobile nodes and fixed gateways [3].
2.1.2 Epidemic Routing Protocol
Contrary to the direct delivery routing protocol, node using Epidemic [5] routing protocol will maintain a summary vector [6] to record the ID of messages which are currently stored in the node buffer. Whenever two nodes contact each other, they will first exchange their summary vector, then transmit the messages that their IDs do not exist in the vector. In brief, Epidemic will try to send messages to all nodes to enhance the delivery ratio even if these nodes are not the destined one for a message.
Theoretically, Epidemic would not only have the highest delivery ratio and the lowest delivery delay, but also the highest overhead ratio when the buffer is unlimited.
‧
2.1.3 Spray and Wait Routing Protocol
A trade-off mechanism between Direct Delivery and Epidemic routing protocol, the copies of a message will be restricted to a constant number, also called L copies, which means that a message will have at most L copies during the whole delivery process in the network [7]. By this approach, Spray and Wait can overcome the defect of heavy delivery overhead that happens in Epidemic, and acquire a better delivery performance than Direct Delivery due to the copies of a message increase slightly.
2.2 Forwarding-based Routing Protocol
This category of routing protocols takes additional information into consideration such as network topology and node’s location to determine which node reaches the forwarding criterion that could differ from different protocols to relay the message. Theoretically, routing messages in these protocols could have a better performance, because the more information a protocol gets, the more accurate decision it could make for delivering the messages. In order to get more information, protocols need to monitor the network topology almost all the time.
On the other hand, some protocols may need the aid of GPS to calculate the information which is needed. However, the use of GPS may be a heavy burden on battery.
2.2.1 Gradient Routing Protocol
Every node in this routing protocol will be assigned a weighted value to judge the suitability of a node for delivering the message to a given destination. A node transmits a message to another node only when that one has a higher weighted value for the message to its destination, and message delivered along the gradient of improving weighted value would be guided to its destination. PROPHET [8], a routing protocol proposed by Lindgren et al.,
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
9
uses history of encounters and transitivity to evaluate the probabilities (weighted value) of contact among nodes. The higher contact frequency of a pair of nodes, the higher contact probability they would have.
2.2.2 Location-based Routing Protocol
This routing protocol makes message forwarding decision by taking advantage of GPS (Global Positioning System) to acquire position-related information. Also, before transmitting messages, it will evaluate if the probability (weighted value) of the contact node is higher. The shortest distance [10] or minimum hop counts from the source to the destination is often used as the forwarding criterion. Location-based routing protocol will have a better performance on delivery ratio and delivery overhead compared with Epidemic routing protocol, which is proven by Lebrun et al [9].
2.3 Main Schemes for Our Design Concepts
In this section, we will introduce three schemes that provide us some directions to design our algorithm.
2.3.1 A Message Priority Routing Protocol for Delay Tolerant Networks (DTN) in Disaster Areas [17]
This research proposed a modification version of Spray and Wait [7] protocol and applied it to a disaster area. The main idea of this research is to deliver the message more efficient by modifying the “wait step” in Spray and Wait. It would have the messages that achieve a certain criterion a further chance to be forwarded to another node to enhance the message delivery ratio.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
10
In this protocol, every node has a Node Meeting Table (NMT) to record the latest encounter time (LET) when contacting other nodes. Messages will be assigned a priority from High, Middle and Low, depending on a given threshold, as shown in Figure 2.
Figure 2: Selection of message priority [17].
The Threshold in Figure 2 is determined experimentally, and the threshold is proportional to the buffer size. The LET is calculated by using the current time to minus the NMT value of contact node corresponding to the message destination of the requesting node.
The idea of LET in this scheme is derived from the FRESH algorithm [16].
Originally, the FRESH algorithm is used to find a routing path from a source node to a destination node in mobile ad hoc networks as shown in Figure 3. A source node will find the node which has the shortest time after it last encounter the destination node, and repeat this action node by node until find the destination node. The FRESH algorithm could make a directional trace toward the destination (the darker gray surface). It decreases the overhead in an omni-directional route discovering (the light gray surface) approach.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
11
In [17], the authors use the same concept called LET in DTNs to represent the degree of distance from the source to the destination. In order to increase the message delivery ratio, the message with a shorter LET will have a further chance to be forwarded to another node when the message’s destination can not be found in the message spray phase.
Figure 3: Area covered by route discovery floods [16].
However, applying the concept of the FRESH algorithm to DTNs might cause a problem which is shown in Figure 4. As we can see in Figure 4, node(A) contacts node(D) at time T1, node(B) contacts node(D) at time T2, and node(A) contacts node(B) at time T3. From the view point of time, T2 has a more recent contact time than T1 to T3. But, from the view point of distance, when node(A) and node(B) contacts at T3, we can view them as the same place, the two distances, node(A) to node(D) and node(B) to node(D), are almost the same. Therefore,
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
12
carrying a message to node(D) by node(A) or node(B) would make no difference in DTNs if we only consider the most recent contact time with the destination.
Figure 4: Time-Distance problem of carry-and-forward method in DTNs
2.3.2 Utility-based Distributed Routing in Intermittently Connected Networks [14]
The term utility could also be called weighted value because it is usually used to evaluate the node’s probability for delivering a message to its destination. In PROPHET [8], the utility (weighted value) is the history of contact frequency and transitivity.
This research is a kind of Spray and Wait [7] as well. But a modification in the “Wait step”, is called forwarding phase. The community mobility model [23] which simulates human’s behavior in a social network is applied to this research. Based on the community mobility pattern, this research proposed a new utility model called contact time utility to evaluate the meeting probability in the forwarding phase. The probability here is calculated from the total contact time with other nodes in a period of time shown in formula (1).
𝑃𝑃(𝑖𝑖,𝑗𝑗) = 𝑇𝑇𝑇𝑇(𝑖𝑖,𝑗𝑗)
(𝑖𝑖) (1) [14]
Where P(i,j) represents the probability of node (i) meets node(j), T(i,j) represents the total time of node(i) meets node(j) in a time period T(i) which represents node (i) leaving its home community in two consecutive times.
The contact duration utility is proven [15] that it could be more accurate than the contact frequency utility to evaluate the delivery probability between a pair of nodes in DTNs,
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
13
especially in high mobility environments.
The authors also divide messages into different priorities that are decided by the application. The concerning of discriminating messages is that messages may have different urgencies, and the message delivery sequence should consider the kinds of urgencies because the transmission time at every contact may be very short.
The buffer in DTNs is also a precious resource, therefore, the authors proposed a buffer management mechanism. It has message that with a higher utility would have a higher chance to keep in the buffer to enhance the delivery performance.
2.3.3 IMPLEMENTING MESSAGE PRIORITY POLICIES OVER AN 802.11 BASED MOBILE AD HOC NETWORK [11]
Standard IEEE 802.11 does not provide differential services for different kinds of data, it takes all of the data packets as the same priority. But, different opportunities (priorities) may need to be given to data packets to access media in some situations like military environments in which the emergency such as combat message [12] should have a higher priority than others to acquire the transmission right. Therefore, this research proposed an implementation that modifies the standard IEEE 802.11 protocol to provide the differential services for the messages. The three mechanisms that proposed in this scheme are shown in Figure 5, Figure 6 and Figure 7.
Figure 5: Priority queuing approach [11]
Figure 6: Prioritized waiting time mechanism [11]
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
14
Figure 7: Prioritized backoff time distribution mechanism [11]
In Figure 5, different queues are used to buffer different kinds of messages, and First In First Out (FIFO) method is applied to both queues. In Figure 6, messages in different queues will have different DIFSs, which means different waiting time before trying to send messages. The mechanism shown in Figure 7 gives message with a higher priority to have a higher opportunity to get a shorter contention window.
From this research, we could get an idea of how to decide the message delivery sequence meanwhile avoiding the condition of starving for the message with a lower priority.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
15
CHAPTER 3
Spray and Forwarding scheme with Message Scheduling
In this chapter, we will propose a routing protocol on improving some of the problems that we mentioned in the former chapters.
Our scheme could be divided into three parts, (1) Popularity Spray Phase, (2) Utility-based Forwarding Phase, and (3) Message Forwarding with Priority Scheduling Phase.
In the following, we will describe each of the three phases in detail, including how to improve some of the problems that exist in current protocols, and a message scheduling mechanism that we design to achieve a differential performance for messages with different priorities.
3.1 Popularity Spray Phase
Routing message in DTNs basically relies on the opportunistic contacts between nodes, so the message diversity that indicates how a message spreads in nodes would have an important factor to affect the delivery performance. If every message only exists in one node, the chance of the node contacts the message’s destination would be very small and may cause a longer time to successfully deliver. On the other hand, if every message which is carried by too many nodes in the same time, the overhead ratio would be very heavy. Even if with a kind of utility to determine the forwarding decision, the utility is just a referable probability.
It is not absolute in accordance with the future behavior after all. Another situation is that if
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
16
all of the contact nodes in a period of time have a lower utility, the message will not be further forwarded in that time. In other words, the message may still be carried by a single node for a certain time in a simply forwarding-based approach. Therefore, we argue that a certain number of message copies for a newly created message (we called N copies, which is also applied in [7,14-15, 20]) should initially be replicated to other nodes, even if in a utility-based forwarding approach, in order to enhance the delivery performance.
Above-mentioned are the reasons why we make a number of replicated messages to other nodes unconditionally. Once we determine to use the replication strategy, there are two commonly approaches proposed to spray the N copies to N distinct nodes shown in Figure 8.
Figure 8: Message replication process
‧
In Figure 8(a), it shows a simplest way of spraying message which has all the N copies been sprayed to N distinct nodes only by the source node [7]. In Figure 8(b), it shows a better choice called Binary Spraying [7] that is proven to be a minimum spraying delay if the nodes move with IID. In Binary Spraying, every node (source nodes or relay nodes) can participate in the spraying process by using a binary approach with which the sender will keep
�Remains of 𝑁𝑁
2 � copies, and the receiver will keep �Remains of 𝑁𝑁
2 � copies till the N remains only one in the nodes. As we can see, Binary Spraying could have a less spraying delay than Source Spraying in the process of spraying N message copies to N distinct nodes.
Furthermore, the delay time in the spraying process also affects the following delivery performance that is proven by [14].
Binary Spraying would be an optimal spraying algorithm if the node mobility is IID, and some research [14-15, 20] use the Binary Spraying in Community-based mobility model, which is proposed to simulate moving trace of realistic human daily life. However, nodes in Community-based model will predefine several different kinds of moving preferences. In other words, nodes will have different probabilities to move to somewhere. This phenomenon of node moving pattern may not be IID characteristic anymore. Therefore, simply applying the Binary Spraying to the Community-based model (non-random moving pattern) may not have an expected effect. We argue that the original Binary Spraying should be adjusted to apply to a specific moving pattern such as Community-based model. Hence, we propose a Popularity Spray approach to be a more suitable message spraying method for a non-random mobility model.
When nodes are moving with a specific mobility pattern, they would have their own predefined attributes. Therefore, the Popularity Spray will redistribute the N copies of a message that held by the sender and the receiver according to their total counts of contact node
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
18
in last period of time. The spraying formula could be modified to �(Remains of 𝑁𝑁)∗ CCi
CCi+ CCj � copies for the sender and �(Remains of 𝑁𝑁) ∗ CCj
CCi+ CCj � copies for the receiver, where CCi and CCj represent the contact counts of nodei (sender) and nodej (receiver) in last period of time, respectively.
The core concept in Popularity Spray is to let a node which was more popular in the past keep more message copies to spray. By way of this approach, it could spray these message copies faster than the node which is less popular at the same time in a regular mobility pattern, just as what we proposed in section 1.2. In this phase, we focus on making the message spraying process faster. The less delay time in message spraying process, the better performance (Latency) could be achieved. Hence, we would not take the node’s utility into consideration for choosing relay node in this phase.
Figure 9: Popularity Spray
‧
We illustrate this idea in Figure 9, as we can see, based on a predictable inference, if we give a popular node more message copies than an unpopular node to spray, the message copies will be sprayed more fast. Based on our mobility scenario, we also further examine the message spraying effect compared with Binary Spraying. In the simulation time of 12 hours, we can get almost 8% enhancement ratio of message spraying as shown in Figure 10.
Figure 10: Enhancement ratio of message spraying by Popularity Spray
3.2 Utility-based Forwarding Phase
If a message could not be delivered to its destination during the spraying process, the message will be switched to utility-based forwarding phase, which means each of the N nodes that have the message copy would stop replicating the message to other nodes unconditionally, but a directional way to guide to its destination. The designing philosophy in this part is to let the messages which are not successfully delivered have the chances to be further forwarded to the nodes which have a higher delivery utility (weighted value) to the messages’ destinations.
Through the utility guidance instead of blind flooding messages to other nodes, we can decrease the delivery overhead while increasing the throughput of message delivery.
Therefore, how to design a proper utility function in this phase is our main work.
Based on our knowledge, there are four utility functions including contact frequency, contact
0
‧
duration, encounter aging and location, which have been commonly used in many studies [8, 10, 14-18, 20], guide the message to be forwarded to its destination or to drop it. Because the GPS is not considered to be used for an auxiliary tool in our scenario, the location and moving speed related information are unknown, they will not to be included in our approach.
Because the utility of contact duration has been proved to have a higher accuracy than the utility of contact frequency by Ze Li et al. [15], we will design a more efficient message forwarding approach based on this utility concept. In the following, we will illustrate the message forwarding process.
In our system, each node will hold a Node State Table (NST). The NST records the nodes’ utility value and some other node state information. An example of NST is shown in Table 1.
Table 1: An example of Node State Table
In Table 1, the NST records each node that node B has contacted. The corresponding Delivery Utility means the ratio of how possible the node could be contacted by node B.
The Elapsed Time (ET) means the time elapsed since the last time the node contacted. The Contact Counts (CC) means the number of node B contacted in last period of time. The
The Elapsed Time (ET) means the time elapsed since the last time the node contacted. The Contact Counts (CC) means the number of node B contacted in last period of time. The