CHAPTER 3 The LANC Protocol
3.3 Location-assisted routing with network coding
3.3.5 Termination
A transfer ends when two nodes are out of radio range or all outgoing blocks transmitted.
After the transfer, the node which received coded blocks would update the rank map, or try to recover the original message by decoding.
3.3.5.1 Update Rank Map
After receiving a coded block, a node will execute Gaussian elimination procedure to verify if the incoming coded blocks is innovate to the coded blocks in buffer. If the result of checking is true, the incoming coded block will be put into buffer and increase the rank counter by one in rank map according to the message identifier.
3.3.5.2 Decoding
After the rank map updating, if the encoding matrix of message is full rank, in other words, the number of independent encoding vector equals the size of each single encoding vector, the Gaussian elimination will be operated on it to get the inverse of encoding matrix. The original message will be recovered by encoding the inverse of encoding matrix and coded block.
3.3.5.3 Update Purge Table
In DTNs, some nodes would continuously send the messages that have already delivered to destination because these nodes don’t know the messages reached their final recipient.
To ease the kinds of redundant transmissions and buffer occupancy, once the destination recovers the original message successfully by decoding operation, the purge table will be updated by adding the message identifier and the time it decoded. The purge table will be propagated by beacons over the network. After received the beacons, a node will compare
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
25
the message identifiers contained in purge table with messages identifier of coded blocks currently stored in its buffer. If it finds out the same identifier, it will purge the buffer by discarding the coded blocks with the same message identifier immediately because it is not necessary to send the coded blocks of this message anymore.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
26
CHAPTER 4 Simulation and Results
This section we will discuss the simulation. We evaluate the performance of LANC through simulation by using the Opportunistic Network Environment simulator [21].
4.1 Performance Evaluation
The main object of a DTN routing protocol is to maximize the message delivery ratio and to minimize the delay latency. We evaluated our protocol in vehicles environment. We evaluate the performance of LANC using three metrics:
Message delivery ratio
Average delay latency
Transmission overhead: The transmission overhead is defined as
We compare LANC with another two routing protocols: Epidemic Routing and PROPHET Routing. The Epidemic Routing is a greedy approach that duplicates copies of message to every contact node. The PROPHET Routing uses history of encounter and transitivity to select a better relay node. We modified these two protocols such that they have the ability to perform random linear network coding.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
27
4.2 Simulation Setup
Our evaluations are based on The ONE (Opportunistic Network Environment simulator), a simulator written in java. We developed a set of extensions to the simulator to enable nodes could overhear neighbors’ transmissions and to implement a random linear network coding module.
We use a map-based model of a small part of the city of Helsinki for the simulation.
The size of this map is 4500m * 3400m. The nodes in the map can only drive on roads.
The speed of nodes is from 20 to 80 km/h. Once a node reaches its destination, it will randomly choose a new random map location as its new destination and finds the way to destination using the shortest available path. Figure 12 is a snap shot of simulation.
Figure 12: a snap shot of simulation
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
28
The simulation times are 43200 seconds. For the fairness, the warm up time is 1000 seconds. The nodes only could move but not allow transmitting any message until the warm up time counts down to zero. Each destination of flow has a stationary location selected randomly before starting the simulation. Every node has only one single network interface.
The data rate is 1 Mbps and the transmission range is 100m. For each flow, there are 100 messages to transmit. Each message is divided into 16 blocks. The size of a message is 256KB, so the size of each block is 16KB. The buffer size of every node is set to half of total flow, but the source and destination have additional buffer space to store message that are transmitting to destination or receiving from source respectively. The TTL is 3 hours, and pure duration is 6 hours. Below are the parameters we described above.
Figure 13: The parameters of simulation
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
29
4.3 Simulation Results
We evaluated our approaches in three different scenarios: single flow, two flows and multiple flows. Although our protocol has a little higher data transmission delay than other protocols, but the delivery ratio is almost the same as Epidemic routing with NC in multiple flows scenario. It shows that with overhead ratio, LANC outperforms with other approaches.
4.3.1 Single Flow
In single flow case, we want to know the impact of three factors in our estimation algorithm.
The number of nodes is set 40 to 80. In LANC, the default value of α, β, γ is 0.33 and default threshold is 0.4. The value of α, β, γ will be set to 1 in different simulation round.
The result shows in figure 14 to figure 16. It’s very obvious that if the estimation uses only one factor to make relay node selection; the performance will all be lower than Epidemic routing with NC and PROPHET routing with NC. But if we use these three factors to estimate the probability at the same time, it will get a better performance.
Figure 14: Delivery ratio of single flow
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
30
From figure 14, the future trajectory information of a node is the most significant factor for increasing delivery ratio. The reason is that even if the relay node couldn't reach the destination eventually, the other nodes around destination could take over the responsibility of delivering message to final recipient. Therefore, a message should be transferred to the node has the minimal distance between its future trajectory and the destination of message.
Figure 15: Average delay of single flow
We could get the same conclusion as figure 14 from figure 15. If a message is closer to destination, the less time it needs to reach destination. On the contrary, if the message is taken away from its destination, it has to do more effort to get back to destination, and it’s very time-consuming. And if the estimation function only considers the velocity of contact node, it may make an inappropriate selection. The contact node has the higher speed does not guarantee it will reach the destination sooner or has higher delivery ratio. Because its’
moving direction might be away from destination.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
31 Figure 16: Overhead ratio of single flow
From figure 16, we can get another conclusion that the overhead ratio could be decreased by estimating the moving direction of the contact node. In figure 16, Epidemic routing with NC has the largest overhead ratio since the protocol has no ability to estimate the delivery power of a contact node. The LANC with γ 1 has the second large overhead ratio. Because there are lots of nodes in the network, and the velocity difference between two nodes may be very large results a poor estimation.
4.3.2 Two Flows
In two flows scenario, we want to understand the effect of scheduling. We will compare our scheduling with the ordinary FIFO scheduling and Random scheduling. The estimation function of PROPHET routing with NC is based on historical records of encounter. Since the Epidemic routing with NC simply forward message to every contact node, we assign the value to 1 as the result after estimation.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
32 Figure 17: Delivery ratio of two flows
From figure 17, it’s clear that the schedule approach we propose could increase the delivery ratio. This is because the schedule scheme considers the rank map and the probability to the destination. If a message is full rank, then it should give the transmission opportunity to the next message which is not full rank. Therefore, the delivery ratio is almost twice compared with ordinary FIFO scheme.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
33 Figure 18: Average delay of two flows
In figure 18, the difference of delay latency between our schedule and ordinary FIFO is about 200 to 250 seconds. According to the same reason, our schedule scheme will balance the responsibility of delivering message by estimating the probability to destination. Therefore, it would select proper relay candidates to take the responsibility to delivery coded blocks. In FIFO scheme, it schedule coded blocks to send by the time which blocks arrived. Hence, some message may suffer starvation.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
34
Figure 19: Overhead ratio of two flows
From figure 19, it’s obvious that our schedule scheme could large save bandwidth consumptions. Before sending coded blocks to contact node, our approach will estimate the delivery probability of the contact node. Hence, the result of overhead ratio is better than ordinary FIFO scheme. Moreover, the accuracy of estimation is higher in LANC, so the overhead ratio is much smaller than other approaches.
4.3.3 Multiple flows
The final case is multiple flows. We adjust the number of flows from 6 to 10. Figure 21 shows that the performance of each protocol drops down with the load of flow increase.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
35 Figure 20: Delivery ratio of varying flow
Once there are more flows in the network, congestion might occur at some bottleneck relay node. Our protocol uses purge table to inform other node to purge its buffer, this operation not only frees memory storage but also reduces the chance the congestion occurs. Moreover, LANC uses rank map to schedule the priority of coded blocks. If a message is already full rank, LANC will bypass the opportunity to next message.
At the same time, LANC views the results of estimation function as the probability a node would future move toward the destination, LANC could schedule coded blocks according the probability to decide deliver it to another or not, so the responsibility for delivering message could be shared by a set of nodes. If a relay node would never reach the destination in the future, it won’t be a problem hence the node doesn’t have all the coded blocks.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
36 Figure 21: Average delay of varying of flow
The average delay increases with the trend of flow load. The LANC has a little higher delay time than Epidemic routing with NC. The difference is about 1200 seconds. For non-real time demand such as sending emails or uploading photos, it’s considered acceptable. And Epidemic routing tries every possible contact opportunities, the network bandwidth it wasted must be very large. In other words, our protocol is more efficient because the bandwidth consumed by LANC is less.
As for PROPHET routing with NC, the estimation it made is based on historical encounter record, so it has a poor result. The method PROPHET routing used might be suitable for a small closed area like a concert or a lounge bar. Because LANC uses the future possible trajectory of node to predict the delivery probability, LANC could make more precise estimation in large scale outdoor environment.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
37 Figure 22: Overhead ratio of varying flow
The overhead ratio of our approach is much smaller than Epidemic routing with NC and PROPHET routing with NC. The LANC will select “better” relay candidates to deliver coded block, hence our protocol require less transmissions. Although it will keep the coded blocked in buffer for a while, the purge mechanism will ease the situation.
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
38
CHAPTER 5
Conclusion and Future Work
Conclusion
In this thesis, we proposed LANC which estimates the probability to the destination and schedules message to transmit when contact opportunity occurs. Moreover, in LANC, we exploit network coded data transmissions in DTNs; making messages transmission between mobile nodes more robust to random data delays and losses. In simulation, we could see that with different scenarios, LANC could achieve good performance, especially in bandwidth consumption.
Future Work
In this thesis, we assumed nodes in network have part of information about network and the destination of each flow is stationary. In future works, we try to verify it. The estimation factor we used is the path of node, path’s moving direction and its velocity. For future work, we will estimate the probability with more network conditions, such as contact duration.
Moreover, we want to perform our work in real scenarios on mobile handheld device.
Finally, we would try to apply our work to other more complicated DTN scenarios.
‧
[1] Jian Shen, Sangman Moh, and Ilyong Chung, “Routing Protocols in Delay Tolerant
Networks: A Comparative Survey” in International Technical Conference on Circuits/Systems, Computers and Communications (ITC-CSCC’ 08), July 2008
[2] R. Ahlswede, N. Cai, S.-Y. R. Li, and R.W. Yeung, “Network information flow,” IEEE Trans. on Information Theory, vol. 46, no. 4, July 2000.
[3] T. Ho, R. Koetter, M. Medard, D. R. Karger, and M.Effros. “The benefits of coding over routing in a randomized setting”International Symposium on Information Theory (ISIT), page 442, July 2003
[4] P. A. Chou, Y. Wu, and K. Jain. Practical network coding. In Proc. Allerton, Oct. 2003.
[5] R. H. Frenkiel, B. R. Badrinath, J. Borres, and R. D. Yates, “The infostations challenge:
balancing cost and ubiquity in delivering wireless data,” IEEE Personal Communications, vol.
7, no. 2, pp. 66–71, 2000
[6] D. Nain, N. Petigara, and H. Balakrishnan,“Integrated routing and storage for messaging applications in mobile ad hoc networks,” Mobile Networks and Applications (MONET), vol.
9, pp. 595–604, December 2004.
[7] T. Spyropoulos, K. Psounis, and C. S. Raghavendra,“Spray and wait: an efficient routing scheme for intermittently connected mobile networks,” in Proceedings of the ACM
SIGCOMM Workshop on Delay-Tolerant Networking (WDTN’05), pp. 252–259, August 2005.
[8] A. Demers, D. Greene, C. Houser, W. Irish, J. Larson, S. Shenker, H. Sturgis, D. Swinehart, and D. Terry,“Epidemic algorithms for replicated database maintenance,” SIGOPS
Operating Systems Review, vol. 22, pp. 8–32, January 1988.
[9] A. Vahdat and D. Becker, “Epidemic routing for partially-connected ad hoc networks,”
Tech. Rep. CS-2000-06, Duke University, July 2000.
[10] J. Lebrun, C.-N. Chuah, D. Ghosal, and M. Zhang,“Knowledge-based opportunistic forwarding in vehicular wireless ad hoc networks,” in Proceedings of
‧
IEEE Vehicular Technology Conference (VTC), vol. 4, pp. 2289–2293, May 2005.
[11] P. Juang, H. Oki, Y. Wang, M. Martonosi, L. S. Peh, and D. Rubenstein, “Energy-efficient computing for wildlife tracking: design tradeoff’s and early experiences with zebranet,” in Proceedings of ASPLOS-X, pp. 96–107, October 2002.
[12] A. Lindgren, A. Doria, and O. Schel´en, “Probabilistic routing in intermittently connected networks,” Lecture Notes in Computer Science, vol. 3126, pp. 239–254, January 2004.
[13] S. Jain, K. Fall, and R. Patra, “Routing in a delay tolerant network,” in Proceedings of ACM SIGCOMM, vol. 34, pp. 145–158, ACM Press, October 2004.
[14] C. Gkantsidis and P. Rodriguez. Network coding for large scale content distribution. In Infocom, Miami,FL, Mar. 2005.
[15] C. Gkantsidis, J. Miller and P. Rodrques. Comprehensive view of a live network coding P2P system
[16] S. Katti, H. Rahul, D. Katabi, W. Hu M. M´edard, and J. Crowcroft. XORs in the Air:
Practical Wireless Network Coding. In SIGCOMM, 2006.
[17] U. Lee, J.-S. Park, J. Yeh, G. Pau, and M. Gerla. “CodeTorrent: Content Distribution using Network Coding in VANETs. “ in MobiShare’06, Los Angeles, CA, Sept. 2006.
[18] S. Ahmed and S. S. Kanhere, “VANETCODE: Network coding to enhance cooperative downloading in vehicular ad-hoc networks,” in Proc. ACM Int. Conf. on Commun. And Mobile Comput., 2006, pp. 527–532.
[19] J. Widmer and J.-Y. LeBoudec. “Network coding for efficient communication in extreme networks. “ in WDTN, Aug. 2005.
[20] X. Zhang, G. Neglia, J. Kurose, D. Towsley. “On the Benefits of Random Linear Coding for Unicast Applications in Disruption Tolerant Networks. “ in Second Workshop on Network Coding, Theory, and Applications. 2006
[21] A. Keränen, J. Ott, and T. Kärkkäinen, "The ONE Simulator for DTN Protocol Evaluation," in SIMUTools'09: 2nd International Conference on Simulation Tools and Techniques, Rome, March 2-6, 2009.