2013 International Conference on Computer Communication and Informatics (ICCCI -2013), Jan. 04 – 06, 2013, Coimbatore, INDIA
Survey on Routing Algorithms in Opportunistic Networks B.Poonguzharselvi
V.Vetriselvi
Department of Computer Science and Engineering Anna University, Chennai - 600025
[email protected]
Department of Computer Science and Engineering Anna University, Chennai - 600025
[email protected]
Abstract— Opportunistic network are one of the most interesting evolutions of MANETs. In opportunistic network, mobile nodes are enabled to communicate with each other even if a route connecting to them never exists. Therefore, in this network, message delivery relies on opportunistic routing where nodes use store-carryand-forward paradigm to route the messages. Routes are built dynamically, while messages are routed between the sender and the destination. Any possible node can opportunistically be used as a next hop, if it can bring the message closer to the final destination. These requirements make opportunistic network a challenging research field. In this paper we survey the existing routing algorithms in opportunistic network. The routing algorithms are classified based on their routing behaviour and comparisons among these algorithms are also presented in this paper. Keywords- Opportunistic network, routing, store-carryforward, flooding, prediction, context.
discover its nearest neighbour node and uses it to forward messages toward the destination node. Message is delivered hop by hop closer to the destination. In an opportunistic network, routes are determined at each hop when packets traverse through different hops. Each node is equipped with local knowledge of the best nodes around it and it uses this knowledge to determine the best path to transmit the message to the destination. In the absence of any such nodes, the node currently holding the message simply stores the message and waits for an opportunity. Routing in opportunistic network is composed of two factors:
I.
INTRODUCTION
Opportunistic network is a type of Delay tolerant network (DTNs), where data will be routed with tolerant delay from source to destination. This type of network is used for emergency applications. An opportunistic network (oppnet) is a network of mobile as well as fixed nodes. Opportunistic network are different from traditional network. In traditional network, nodes are deployed together and end to end path exist for data forwarding. But in opportunistic network there is no fixed path between source and destination due to mobile nodes. In opportunistic network, first seed oppnet is deployed like typical ad hoc network. Then it detects foreign devices for completing the emergency applications with tolerant delay. The detected devices are evaluated for their usability and resource availability. If it is satisfied the device is integrated into the oppnet as a helper. This helper integration process is continued until enough devices are found for completing the task. Once the integration process is completed, routing will be done with the help of helper nodes. Helper nodes are used as intermediate nodes for forwarding data from source to destination. Different nodes make collaboration to exchange data from source to destination. In this type of network, a data holding node (source node/neighbour node) finds an opportunity to forward data. The devices exchange data in a spontaneous manner whenever they come in close. When there is no direct connection between source and destination, data holding node will
978-1-4673-2907-1/13/$31.00 ©2013 IEEE
1. To find a path to destination: There is no fixed path between source and destination in the opportunistic network. Intermediate nodes are used to form paths dynamically. 2. Selection of next hop forwarder: Finding a helper node which can forward data to destination as earlier as possible. So messages may have to be buffered for a long time by intermediate nodes, and the mobility of those nodes must be exploited to bring messages closer to their destination by exchanging messages between nodes as they meet. Researchers have developed some routing algorithms for opportunistic network based on store-carry- and forward mechanism. These algorithms are shortly discussed and comparison is presented in the following section. II.
CLASSIFICATION OF ROUTING IN OPPORTUNISTIC NETWORK
The existing routing algorithms in opportunistic network are classified based on their data forwarding behaviour is shown in figure-1. A. Direct Transmission In direct transmission routing, the source node generates message and stores it in its buffer until it meets the destination directly. To achieve data forwarding in opportunistic network, Spyropoulos et al[8] have proposed single copy routing based on hop by hop fashion. A single copy of the message is forwarded from source to destination. In this transmission
2013 International Conference on Computer Communication and Informatics (ICCCI -2013), Jan. 04 – 06, 2013, Coimbatore, INDIA
source node forwards a message to destination when it directly meets that node. This scheme has an unbounded delivery delay, but has the advantage of performing only a single transmission per message.
Routing in opportunistic network
Direct Transmission
Flooding Based
Uncontrolled
Single Copy
Prediction Based
Controlled PROPHET
Epidemic
Context based
Coding Based
HiBOp Community Based
MobySpace Spray and wait Controlled Flooding
MoVe
Erasure coding (EC) Hybrid (H-EC)
Spray and focus
FIGURE 1- CLASSIFICATION OF ROUTING ALGORITHMS IN OPPORTUNISTIC NETWORK B. FLOODING BASED In flooding based routing, the source node generates multiple copies of the message and injects those into the network. This injection of replicated message is continued until destination receives the message. The flooding at source can be classified into two categories as uncontrolled and controlled. 1)
Uncontrolled
In this type of routing, replication of source data is not restricted with any limits. To reduce long delivery delay, Vahdat et al [12] have proposed epidemic routing. It utilizes the epidemic algorithm which was originally proposed for synchronizing replicated databases. The epidemic algorithm ensures that a sufficient number of random exchanges of data in the network and guarantees that all nodes will eventually receive all messages. The epidemic routing is similar to the flooding because it tries to send each message to all nodes in the network. For this reason, Epidemic Routing incurs significant demand on both bandwidth and buffer. 2) Controlled The uncontrolled approach is refined to limit the number of packets to be replicated to reduce the network contention.
To bound the overhead of delivering a message, Spyropoulos et al [10] proposed a technique called Spray and Wait to control the level of flooding. In the spray phase, there are L (Limit) number of copies that are initially spread over the network by the source node or other nodes to L distinct relays. In the wait phase, if the destination was not found during the spray phase, each node who has a copy of message will perform direct transmission. Binary spray and wait is a variation of Spray and Wait and produces a better performance. In this approach, the binary spray source node send half of the copies of the message to the new relay node, and keeps the rest to itself. The source node and relay nodes repeat this procedure until there is only one copy left. When it is only one copy left, it switches to direct transmission. Another approach proposed by Spyropoulos et al[9] is a Spay and Focus approach. When a new message gets generated at a source, and needs to be routed to a given destination, Spray and Focus first enters the “Spray phase”. In the spray phase when a new message is generated at a source node it also creates L “forwarding tokens” for this message. A forwarding token implies that the node can spawn and forward an additional copy of a given message. When a relay for a given message has only one forwarding token left for that message, it switches to the “Focus phase”. In the Focus phase a message can be forwarded to a different relay according to some forwarding criteria. Specifically, these forwarding decisions are taken based on a set of timers that record the time since two nodes last saw each other. To address the excess traffic overhead from flooding replicated data, Khaled et al [3] have proposed a Controlled Flooding scheme. This reduces the flooding cost while keeping the delivery reliable. They have the assumption that every node knows only information about itself and the messages that it carries. Each node is completely autonomous and makes its own decisions. In this scheme, the message flooding is controlled by three parameters, namely willingness probability, Time-to-Live, and Kill Time. Initially all forwarder nodes begin as ‘uninfected’ with respect to the message that needs to be delivered. The willingness level of each forwarder is then set according to the probability function. The source is now sends beacons to send a message to the destination. If the willingness of this forwarder is not zero, it acknowledges the beacon and receives the message. If the TTL value on the received message reaches zero, the message is dropped and the forwarder continues to move without being infected. If the TTL is not zero, the forwarder is infected with the message. It sets the number of times it needs to forward the message (the TTS value) according to its willingness level, and updates the message kill time. The infected forwarder tries to pass the message to other uninfected forwarder nodes, or to the destination as long as the kill time and TTS values for the message do not reach zero. Once the infected forwarder receives an acknowledgment for its beacon from an uninfected forwarder, it forwards the message and updates the TTS value. If the uninfected node
2013 International Conference on Computer Communication and Informatics (ICCCI -2013), Jan. 04 – 06, 2013, Coimbatore, INDIA
happens to be the destination node, the infected node then receives a cure acknowledgment and sets its state to cured. Once the cured forwarder receives a beacon from an infected forwarder or the source, it sends its cure acknowledgment in order to heal the infected node, and updates its cure time. Once the cure time expires, the forwarder returns to its initial uninfected state. Therefore, with the ability to resolve excess amount of traffic overhead while provides reliable data delivery, controlled flooding scheme greatly releases the network overhead. C. PREDICTION BASED The overhead carried by flooding based routing schemes can be further reduced by predicting the behaviour of the neighbour nodes for taking some forwarding decisions. Probabilistic Routing scheme [6] calculates the delivery predictability from a node to a particular destination node based on the observed contact history. It forwards a message to its neighbour node if and only if that neighbour node has a higher delivery predictability value. Lindgren et al [6] have proposed a probabilistic routing protocol, called PROPHET (Probabilistic Routing Protocol using History of Encounters and Transitivity). PROPHET estimates a probabilistic metric called delivery predictability. This metric indicates the probability of successfully delivering a message to the destination from the local node. When two nodes meet, they exchange summary vectors containing the delivery predictability vector which is based on the delivery predictability information. In theory, if two nodes are often encountered, they have high delivery predictability to each other. On the other hand, if a pair of nodes does not encounter each other in a while, they are intuitively not good forwarders of messages to each other. Hence, the delivery predictability values must age (i.e. be reduced) as the time goes. They showed in their simulation results that the communication overhead of PROPHET is lower than that of Epidemic Routing[12]. The PROPHET scheme has also been revised by Leguay et al [5] by taking the mobility pattern into account, i.e., a message is forwarded to the neighbour node if and only if the neighbour node has a mobility pattern more similar to the destination. In this algorithm the message carrying node sends bundles to nodes having mobility patterns that are successively closer to the mobility pattern of the destination. The Euclidean distance is used to measure this mobility pattern similarity. The only information that must be flooded by nodes is their mobility patterns. These mobility patterns can be spread in an epidemic fashion. This algorithm provides reduced communication cost and delivery delay. LeBrun et al [2] have proposed a method using the motion vector (MoVe) of mobile nodes to predict their future location. The MoVe scheme uses the knowledge of relative velocities of a node and its neighbouring nodes to predict the closest distance between two nodes. After the nodes future locations are calculated, messages are passed through the
nodes that are moving closer to the destination. As compared to epidemic routing, this approach has less control packet overhead and buffer usage. Prediction based approach has reduced traffic overhead in the network by selecting only the next hop node that has maximum probability of meeting the destination. Flooding and prediction approaches are combined to improve the delivery ratio and to reduce the overall delay. Jianwei et al [4] proposed Predict and spread algorithm by combining both prediction and flooding concepts to achieve reduced message delivery delay. It employs Markov chain to model the node mobility patterns using Mobile Traces and then predicts the contact probability and contact time. Then it selects 2 neighbor nodes with high prediction value and forwards message to those nodes. It Improves the Delivery ratio and reduces the delivery latency based on Simulation traces (not real traces ) . D. CONTEXT BASED Predictions failed in some cases and delivery ratio is reduced compared with flooding based approach. In order to improve delivery ratio, prediction based approach is further refined by utilizing context information. Chiara Boldrini et al[1] have proposed History based routing(HiBOp) that exploits current context information for data forwarding decisions. It has context creation and management that creates and mange’s the context of a user. During context creation Identity table (IT) for each node is created to hold the context information. This IT is used to uniquely identify the node in the network. Then it maintains a history table to record the attribute information of the nodes to exploit similarities between encountered nodes and destination. History table is updated using the repository table which is created at every signalling interval. This algorithm has three phases in forwarding data to destination. First during Emission phase, the sender creates and replicates the message to destination and forwards that to their neighbour nodes. In Forwarding phase , the nodes mobility and context information are exploited to select the best next hop forwarder using History table and Identity table. Relay nodes allow to forward data towards destination without any replication. Finally delivery phase will be reached when the relay node meets destination. This algorithm reduces the resource consumption in terms of network traffic and node’s buffer occupation. It is more reliable than Epidemic[12] and PROPHET[6]. But it has increased delivery delay and less efficient than Epidemic[12] algorithm. The replication based data forwarding schemes increases number of data copies to improve delivery ratio. It leads to increased traffic overhead and thus degrades the network performance. To avoid this problem, Jianwei Niu et al [11] have proposed community data transmission scheme. Each node has a relation vector to hold the encounter time information to find the relationship strength between two
2013 International Conference on Computer Communication and Informatics (ICCCI -2013), Jan. 04 – 06, 2013, Coimbatore, INDIA
nodes. Using this vector and Newman’s weighted network analysis algorithm, nodes in the network are divided into different communities. Newman’s weighted network analysis algorithm has two parts called inter community and intra community data transmissions. In intra community data transmission, sender and receiver are in same community and data to destination is through active relays. But in inter community data transmission the target community in which the destination node lies needs to be identified. First sender creates new data and also sets number of copies to be created. Then it finds the target community via active relays. Once the data reaches the relay in target community, the other copies of that data are dropped. This algorithm increases delivery ratio with increase in TTL. It performs better than Spray and Focus [15] algorithm and achieves data transmission with less resource consumption. But it uses Epidemic algorithm to send ACK to other nodes when the data reaches the destination. It degrades the network performance. The main disadvantage is that, this scheme can be applied only to community opportunistic network. If the number of replica in the network is sufficiently large, replication based schemes tend to achieve reduced delay latency. However, the main drawback of this type of schemes is the tremendous traffic overhead associated with flooding data replicates. As a result, when network resources (e.g., buffer space and network bandwidth) are limited, replication based schemes tend to degrade the delivery ratio. E. CODING BASED SCHEMES In coding based routing schemes, a message is transformed into another format prior to transmission. The design principle of coding based schemes is to embed additional information within the coded blocks such that the original message can be successfully reconstructed with only a certain number of the coded blocks. 1) Erasure Coding Based Routing Erasure codes operate by converting a message into a larger set of code blocks. Sufficient subset of the generated code blocks can be used to reconstruct the original message. It takes a message of size M as input and a replication factor r. The algorithm produces M × r/b equal sized code blocks of size b. In the erasure coding (EC) [13] based algorithm, first the message is encoded at the source and generates a large number of code blocks. The generated code blocks are then equally split among the first kr relays, for some constant k. The message can be decoded at the destination if 1/r of the generated code blocks are received. Since code blocks are divided equally among kr relays, the message can be decoded as soon as any k relays deliver their data if no code blocks are lost during transmissions to and from a relay. When k =1, the erasure coding approach has the same effect as the simple replication approach, which is, to use the first r relays and to each carry a copy of the original message. The main observation is that if k is large, the delay distribution converges to a constant. Therefore, with the erasure-coding based approach, one can be almost assured of a constant delay.
Coding based schemes tend to be more robust than replication based schemes when the network connectivity is very poor. However, coding based schemes are less efficient when the network is well connected, which is simply due to additional information embedded in the code blocks. In EC scheme, the number of transmitting blocks in each contact is a fixed number regardless of the length of each contact duration. As a result, EC scheme can effectively utilize each network contact when the contact duration is not much longer than the required time for sending the relayed data. If most network contact is much larger than the required time, EC scheme tends to waste the residual contact duration and thus results in ineffectiveness. TABLE 1 COMPARISON OF ROUTING ALGORITHMS Algorithm Single copy routing MoVe Algorithm MobySpace
No. of replic ations Single Single Single
Epidemic Routing Spray and Wait
Multi ple Limit ed (L)
Spray Focus
Limit ed (L)
and
HiBOp
Limit ed
Community based routing PROPHET
Limit ed (C)
Predict and spread
Mobility Model used Random Way point Randomize d Model Power-law based mobility pattern Random way point Random way point , Random walk, Real data Random way point , Real data, Communit y Based, Random Walk Communit y based mobility Random Way Point
Single
Random way point
Two
Gauss markov
Forwarding Decision Based on Node willingness Node’s motion vector Similar mobility pattern Flooding Randomness
Randomness
Context information Relationship strength Probability obtained previous meetings Maximum Prediction value holding Nodes
2013 International Conference on Computer Communication and Informatics (ICCCI -2013), Jan. 04 – 06, 2013, Coimbatore, INDIA
there is a need for research in improving data delivery ratio with reduced resource consumption.
1) Hybrid Routing To fully utilize each contact opportunity, the EC scheme is adapted with an aggressive forwarding feature called as A-EC scheme [7]. In this scheme the source sends as many coded blocks as possible during each contact. As a result, for very small delay, A-EC scheme is able to better utilize the network contact and thus expected to outperform EC scheme. Ling-Jyh Chen et al[7] have proposed hybrid routing (H-EC) for wide variety of oppnet scenarios. It combines the robustness of erasure coding based routing techniques, while preserving the performance advantages of replication techniques. In H-EC scheme, two copies of erasure coding blocks (EC) are transmitted by the sender. The first copy of EC blocks is sent using original EC scheme [13] and the second EC block is sent using A-EC algorithm during the residual contact duration after sending the first EC block. In general opportunistic network scenarios (i.e., without black-hole nodes), H-EC scheme is expected to better utilize each contact opportunity .While black-hole nodes are present in the network, H-EC scheme is expected to perform similarly to original EC scheme, which provides better forwarding. When we look at table 1, we observe that each of these algorithms has some advantages and disadvantages over the others. Therefore, the right algorithm for the routing of messages in an opportunistic network should be chosen considering the availability of resources in the network and the main goal (i.e. high delivery rate, low delivery delay) that is desired to be achieved. III.
CONCLUSION
Opportunistic network is formed by devices with short range communication interfaces. Routing in such network is a big issue in order to increase delivery ratio and to reduce overhead in the network. The existing routing algorithms in opportunistic network are discussed and compared in this paper. Routing algorithms are classified based on their routing behaviour. Most of the routing algorithms are based on random movement of mobile nodes. Flooding based approaches provides better delivery ratio but introduces network congestion. So prediction based mechanisms were proposed to route data by predicting whether the data could be delivered to destination or not. This type of algorithms has reduced network congestion but delivery ratio was affected as compared with flooding based approaches. Prediction scheme is refined by exploiting social characteristics of the network. It has some better improvements but still delivery ratio needs to be improved. Finally both prediction and flooding based approaches are combined to take advantages of those methods. This performs better than flooding and prediction based schemes. But still
REFERENCES 1. 2. 3. 4. 5. 6. 7. 8.
9.
10.
11. 12. 13.
Boldrini C, Conti M, Jacopini J, Passarella A, “HiBOp: a History Based Routing Protocol for Opportunistic Network”. In IEEE conference, 2007. Burns B, Brock O, and Levine B.N, “MoVe routing and capacity building in disruption tolerant network,” In Proceedings of IEEE INFOCOM, vol. 1, pp. 398–408, 2005. Harras K.A, Almeroth K.C, and Royer M.B, “Delay tolerant mobile network(dtmns): Controlled flooding in sparse mobile network”, In IFIP Networking, 2005. Jianwei N, Jinkai G, Qingsong C, “Predict and Spread: an Efficient Routing Algorithm”. In IEEE WCNC network conference,2011. Leguay J, Friedman T, and Conan V, “MobySpace: Mobility Pattern Space Routing for DTNs”. In ACM SIGCOMM Workshop on Delay Tolerant Network, 2005. Lindgren A, Doria A, Schelén O, “Probabilistic routing in intermittently connected network,” ACM SIGMOBILE Mobile Computing and Communications Review, vol.7, pp. 19−20, 2003. Ling-Jyh,Chen Chen-Hung,Yu Tony Sun,Yung-Chih,Chen Hao-hua Chu, “A Hybrid Routing Approach for Opportunistic Network”. In Proceedings of ACM SIGCOMM, 2006. Spyropoulos T, Psounis K, and Raghavendra C.S, “Single-copy routing in intermittently connected mobile network,” In 2004 First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Network , pp. 235 – 244, 2004. Spyropoulos T, Psounis K, “Spray and Focus: Efficient Mobility Assisted Routing for Heterogeneous and Correlated Mobility,” In Proceedings of IEEE International Conference on Pervasive Computing and Communications, pp. 79-85, 2009. Spyropoulos T, Psounis K, and Raghavendra C.S, “ Spray and wait: Efficient routing in intermittently connected mobile network”, In Proceedings of ACM IGCOMM workshop on Delay Tolerant Networking (WDTN), 2005. Niu J, Zhou X, Wang K, Ma J, “A Data Transmission Scheme for Community based Opportunistic Network”.In proceedings of IEEE, 2009. Vahdat A and Becker D, “Epidemic routing for partially connected ad hoc network”, IEEE journal on Selected Areas in Communications,2003. Wang Y, Jain S, Martonosi M, and Fall K, “ Erasure coding based routing for opportunistic network”, In ACM SIGCOMM Workshop on Delay Tolerant Network, 2005.