- Research Article
- Open Access
A Sociability-Based Routing Scheme for Delay-Tolerant Networks
EURASIP Journal on Wireless Communications and Networking volume 2011, Article number: 251408 (2010)
The problem of choosing the best forwarders in Delay-Tolerant Networks (DTNs) is crucial for minimizing the delay in packet delivery and for keeping the amount of generated traffic under control. In this paper, we introduce sociable routing, a novel routing strategy that selects a subset of optimal forwarders among all the nodes and relies on them for an efficient delivery. The key idea is that of assigning to each network node a time-varying scalar parameter which captures its social behavior in terms of frequency and types of encounters. This sociability concept is widely discussed and mathematically formalized. Simulation results of a DTN of vehicles in urban environment, driven by real mobility traces, and employing sociable routing, is presented. Encouraging results show that sociable routing, compared to other known protocols, achieves a good compromise in terms of delay performance and amount of generated traffic.
This paper introduces sociable routing, a novel routing scheme for Delay-Tolerant Networks (DTNs)  and proposes its evaluation and assessment with respect to other existing protocols. The key idea of sociable routing is to solve the routing problem in DTNs  by assigning to each network node a time-varying scalar parameter, called sociability indicator, depending on its social behavior, that has to do with the frequency and type of node's encounters. Then, each node forwards its data packets only to the most sociable nodes. Thus, the chances of reaching the intended endpoint are maximized and the amount of transmissions kept under control.
After giving a detailed formalization of the sociability concept, we simulate packet transmissions in a DTN in an urban context. In particular, we propose a case study where nodes are vehicles moving according to real traffic traces . Encouraging results show that sociable routing achieves a good compromise in terms of delay performance and amount of generated traffic. Along with result discussion, we also mention some issues that are still open and discuss possible improvements.
The main contribution of this paper is the formalization of a sociability concept and a guideline to its exploitation for efficient forwarding in DTNs. Additionally, a framework for its evaluation and comparison with other schemes is also presented.
In a typical DTN, nodes are mobile and of the same type, they have wireless communication as well as buffering capabilities. However, they can communicate and exchange data only if they are within a certain distance, commonly called transmission range. In a standard scenario, the transmission range is small compared to network size. For this reason, the network is most of the time partitioned and source-to-destination paths do not exist. Nonetheless, the appearance of new links when old ones break due to mobility, together with a store-and-forward paradigm, can still make packet delivery possible.
In the DTN jargon, data packets are referred to as bundles , since it is often assumed that an overlay layer, called bundle layer, is present above the existing protocol stack for supporting interoperability.
The problem of routing in DTNs has recently deserved a growing attention [2, 4–7]. When no information on nodes schedule is available, epidemic routing, which basically implies flooding, seems to be the only possible approach . However, this reveals practically unfeasible because of the generated traffic which grows exponentially. The opposite approach consists of a perfect scheduling of transmissions, which requires deterministic knowledge of nodes behavior, as in the interplanetary paradigm . In most of the cases, either partial information on nodes contacts and mobility patterns is available, or they possess some intelligence allowing them to learn such information and adapt their routing criteria consequently. When nodes are position-aware and can learn and share their mobility patterns, a solution is found in MobySpace routing , which uses the fact that nodes with similar patterns are likely to meet up. Other approaches consider the problem from a social perspective as, for example, in , where the authors introduce SimBet Routing, a strategy that exploits the notion of centrality. In , a general framework for context-aware adaptive routing in DTNs, called CAR, is proposed. CAR makes use of Kalman filter-based prediction techniques and utility theory in order to select the best carrier for a message. In , Hui et al. introduce BUBBLE rap, a forwarding algorithm based on social information and suitable for Pocket Switched Networks (PSNs). The authors ground their work on the concept of community, assuming each individual is doubly ranked based on its popularity in both the whole community and its local community. The ranking is based on the notion of centrality. Such an approach surely catches and exploits cooperation binds in people networks but is not easily applicable, for example, to vehicular networks, where communities are not so clearly definable.
Alternative scenarios envision the presence of additional nodes whose mobility can be controlled in order to maximize the amount of deliveries. In , data ferries are extra nodes whose paths are optimized based on a delay constraint. In , cars act as data mules and employ a carry-and-forward paradigm to transfer data packets to a portal. Finally, in , opportunistic data delivery is studied when both traditional routing and data mules techniques are jointly used.
Sociable routing can also be thought of as a protocol inspired by the concept of network opportunism , where resources offered by different nodes/networks are jointly exploited according to the needs of a specific application task: in such a vision, the sociability degree of a node is an information offered to the community.
The rest of the paper is structured as follows. In Section 2, the sociability concept and the core of sociable routing are introduced and discussed in detail. The model for the computation of sociability indicators is reported in Section 3. Then, in Section 4, the simulator is described, the performance metrics and results are shown and discussed. Finally, Section 5 reports concluding remarks and ideas for future work.
2. Sociability Concept
Our basic idea is that nodes having a high degree of sociability (i.e., frequently encounter many different nodes) are good candidate forwarders. Applying this simple rule to a delay-tolerant network is quite straightforward. As first step, one needs to observe nodes behavior and learn their habits. Then, a synthetic scalar parameter will be assigned to each node depending on its social behavior. Finally, routing from a source to a destination node is performed by forwarding bundles to a restricted set of relays which show a high degree of sociability and, thus, are very likely to get in touch with all possible endpoints.
One relevant assumption that we need is the periodicity of behaviors, meaning that it is possible to make predictions on the social conduct of a node based on what has been observed before. Roughly speaking, we expect those nodes that showed very high sociability over a time period of a certain length to behave accordingly in the future for a period of at least the same length. This is a reasonable hypothesis in population networks , and we believe it still is in all scenarios where the mobility of nodes is governed by human behavior, as in vehicular networks, pedestrian networks, and so forth.
In this section, we illustrate the notion of sociability in more detail. In particular we give a mathematical characterization of it, showing how such information can be exploited by the nodes for enhancing routing performance and how it can be obtained.
The way in which the social features are modeled should be very simple, on the one hand, in order for the nodes to produce and exchange such information in an inexpensive manner. On the other hand, the challenge stands in capturing as much as possible of the exploitable information in a single parameter, that we will call sociability indicator.
One way sociability could be quantified is by looking at the intercontact information of each node [18, 19]. In particular, the intercontact time analysis reveals how frequently a node meets with one another. As an example, an indication on the average intercontact time of a node with any other could give a rough idea of its social behavior. However, in the latter case, one can appear very sociable by having frequent meetings with a very restricted set of neighbors. Unfortunately, this does not make it a good candidate forwarder.
Moreover, an important aspect to be captured in analogy with human relationships, is that one person who only meets a single friend, the latter being very sociable, can itself be considered sociable. Turning to an information network perspective, a node being isolated most of the time with very sporadic links to a single neighbor, may appear very unsociable. Nonetheless, if the neighbor is very sociable and can reach many destinations, then the former node may also have chances to send its bundles to many destinations through a 2-hop path. As a consequence, the presence of sociable neighbors is an important addendum that should be incorporated into the sociability indicator of one node.
Intuitively, it is a natural assumption that mobility patterns of nodes are related to their social behavior. In fact, if a node visits a great number of different locations in a short time, it is likely to meet many others. Although this is true to some extent, there are plenty of scenarios where the concentration of users is not constant in space (e.g., the union of a city center with its suburbs). Hence, the mere covering large distances does not necessarily result in high forwarding opportunities. For this reason, in order to maintain the overall idea detached to any specific environment, we chose not to include any direct information regarding mobility patterns in the sociability indicator. An important advantage of this approach is that no information on nodes position is ever required (see Section 2.2).
In , the authors state that two people having similar mobility patterns (in terms of frequency of visits to specific locations) are more likely to meet each other, thus to be able to communicate. Then, they recognize that the main limitation of the previous statement is that even though two people visit the same locations, they do not necessarily do it synchronously. Thus, two such nodes may never be in the range of each other. This is not a rare event, especially at urban scale. Consider, for example, a public transportation fleet (e.g., buses). Two buses running on the same route have the exact same mobility patterns. However, if one follows the other few kilometers behind, they never reach each other. More generally, there are places like, for example, a big mall, that many people periodically visit at different time. This results in some similarity of their patterns which does not necessarily reflect meeting opportunities.
It is worth mentioning that sociability indicators are not based on the notion of communities (as in ), that is, groups of individuals that "stay in touch" for prolonged time due to shared habits, behaviors, believes, and so forth. The reason of this is that our approach is more vehicular traffic oriented and thus try to cope with a highly dynamical environment. This results in the fact that (i) we do not aim at identifying such groups of people; (ii) we do not keep track of contact duration, since it is not equally relevant in all types of networks (e.g., in vehicular networks contacts are all rather short in the majority of cases).
Finally, we emphasize that the sociability indicator only highlights what are the best forwarders in a given time period, in the sense of those having the highest degree of sociability. As a consequence, this information is not related to a specific destination to be reached but it is instead absolute. This descends from avoiding a sociability characterization based on mobility patterns and is consistent with the intent of minimizing the exchange of data. This also implies that no prior knowledge of the destination (e.g., its position, sociability indicator, etc.) is requested at the source.
A hybrid concept considering a mixture of sociability and mobility information could be evaluated in future studies. In Sections 3.1 and 3.2 we report a formal definition of the sociability indicator for the cases where only directed contacts enhance sociability, and also multihop contacts are considered, respectively.
Since we do not use information on positions, nodes are not requested to adopt any positioning technique, nor do they have to learn their mobility patterns as in . The two main issues arising with the use of sociable routing are (i) how a node learns its own social behavior and (ii) how it communicates its social behavior to other nodes.
Note that the two issue are strictly connected, as a node needs to know the social behavior of its neighbors in order to derive its own. For this reason, a distributed strategy where nodes, upon encounters, update their own sociability parameter through the exchange of a minimum amount of data, could be the optimum. For example, the sociability updates could be appended to data bundles in order not to overwhelm the network with signaling information. Although this is not addressed here, since our aim is primarily that of presenting and validating the general idea at the base of sociable routing, we give a rough indication of the cost of acquiring sociability indicators.
Consider a network of nodes at an initial state where no one knows its sociability indicator. This number is computed on the basis of the frequency and amount of encounters of a node. Thus, we can assume the th node receives identity information from every encountered node. We will then estimate the scaling law for such transmissions. Let us denote as the number of encounters of the th node, . On average, an arbitrary node has encounters (i.e., transmissions/receptions) over a certain time period. From network perspective, the average number of exchanges is . Now, is a function of several parameters. In particular, , where is the observation period, the average speed of nodes and the density of nodes, seems a reasonable assumption. Moreover, is in turn proportional to . This yields the conclusion that .
In a successive step, when each node has computed a first estimation of sociability indicator, the exchange continues in such a way that the th node receives from the neighbors not just their identities but also their sociability indicators, which are used for refining the estimation of its own. However, this has no effect on the above mentioned scaling law.
Hence, in the following we assume that nodes have knowledge of their social behavior referred to a specific time window. In particular, the analysis carried out in Section 3 is based on a centric perspective for the sake of mathematical treatment, without loss of generality, due to the feasibility of a distributed strategy at reasonable cost, as roughly discussed above.
As previously mentioned, the basic idea is to select a set of sociable nodes that can potentially reach any endpoint. This set should be kept small enough to avoid useless transmissions. To this end, the following strategy can be adopted. A node takes its routing decision at a given time by (i) evaluating the sociability indicators of the current neighbors; (ii) comparing them to its own and (iii) choosing as forwarders a maximum of nodes that have greater sociability than its. This simple scheme allows to limit the number of bundle transmissions at each encounter by setting a maximum, . Moreover, a node does not transmit any bundle if it does not meet any more sociable node. As a further implication, when a bundle is generated by a node with low sociability degree, a large number of transmissions are permitted, since the source will certainly meet more sociable nodes. In fact the network copes with lack of encounters by generating multiple replicas of the original bundle. This happens because the algorithm pushes unsociable nodes, although they meet others sporadically, to transmit to almost everyone they meet. On the contrary, if the bundle is generated by the most sociable node, there will not be any transmission until the source is itself in the range of the destination, since it is also the best possible forwarder. This seeming imbalance is explainable as follows. Because an unsociable source is likely to remain isolated for a long time, it makes sense for the network to put a greater effort to route its message along by generating replicas. In the opposite case, when a source is highly sociable, only few transmissions are required because mobility will do the rest.
In a formal tone, by using a notation similar to that of , let be the set of all nodes and their number. The sociability indicator of a node at time is . We also define a Boolean indicator, , which is true if node already possesses the bundle, and false otherwise. Assume also that at time node has a number of active direct links to some neighbors. Let us denote as the neighborhood of . The routing decision of consists of either keeping the bundle or selecting up to next forwarders belonging to , provided they do not already possess the bundle. With respect to a destination node, , this can be performed by using a decision algorithm to be applied to the set and , and yields the set, , , of next forwarders. The pseudocode is given in Algorithm 1.
Algorithm 1: Routing decision algorithm.
() if then
() while do
() if not then
() end if
() end while
() end if
3. Evaluation of Sociability Indicators
In order to evaluate the routing strategy based on the sociability concept, we first propose a simple model where the sociability indicator of each node is computed by looking at its direct encounters, meaning that it only considers single-hop neighbors. Then, we extend the latter definition to the case where the sociability degree of one node depends not only on its direct encounters but also on the encounters of its neighbors in an iterative fashion. Finally, we introduce a set of real mobility traces that we used to test our definitions.
3.1. First Hop-Based Sociability
As a first assumption, we consider the duration of any encounter to be constant, for simplicity, and equal to 1 second. Although duration is a relevant fact in that it is related to the amount of data than can be exchanged, the aim here is just to focus on the number and frequency of encounters, whereas a more advance concept of sociability incorporating data rates is left to future studies. A definition of sociability of node limited to its direct encounters can be given as follows. Let be a time window of finite length and be the meeting indicator function defined as
Then, the sociability indicator of node at time is
Such a definition quantifies the social behavior of a node by counting its encounters with all the other nodes in the network over a period . In order to assess whether this can be considered a valid estimate of the future behavior, the implications of the choice of will be discussed.
As a first observation, should be large enough to collect a sufficient statistic of encounters and let the indicator be significant. However, this time strongly depends on the characteristics of the network (e.g., topology, sparsity, etc.) as well as on those of mobility (e.g., velocity, correlatedness of movements, etc). For example, with reference to a vehicular network at urban scale, one user is likely to accomplish some daily tasks such as going to work in the morning, going out for lunch and go home again in the evening. In this case, a daily periodicity is clearly noticeable  and it is reasonable to assume that the information on social behavior of a user collected for a period day is exploitable for the following day.
On the other hand, if is so large as to allow users to change habits, the outcome parameters will no longer have a meaning. This could be the case, for instance, of a network of pedestrians carrying a mobile device in a campus [20, 21]. A student user that is observed for several semesters, is likely to modify its paths and encounters history when a new semester begins and it takes new courses.
In conclusion, should somehow reflect the periodicity of human behavior and capture its coherence. However, since human interactions feature self-similarities at different scales , what periodicity scale it is more convenient to seek is a context dependent issue.
From (2), it is easy to see that . In particular, when the node meets every other node at each time instant. Recent studies  showed that human contacts are governed by power-law behavior. In rough words, this means that a node that reaches all the others in a given period of time, will probably encounter few of them very frequently and have very rare opportunities of exchanging data with the rest. For this reason, we emphasize the importance of evaluating not only the percentage of other nodes one gets in contact with, but also how many times. This is indeed the role of the integral in (2).
3.2. th Hop-Based Sociability
As noted in Section 2.1, the sociability degree of one user should intuitively benefit from having highly sociable neighbors. With this in mind, we now aim at extending the previous definition. Let be the sociability indicator of node at time , computed over a time range , accounting for an -hop dependence. For simplicity, we omit the dependence upon , that is, . Then, we have as in (2)
where and the dependence on has been suppressed for conciseness. An immediate extension for incorporating into one node's sociability indicator the sociability of first hop neighbors, is obtained as
with being a weight parameter to be conveniently defined. Starting from the redefinition (3), represents the number of direct contacts between nodes and over . In order to include indirect contacts as well, we need to define , which counts the number of contacts between and through a third relay node. In (4) we compute the 2-hop sociability indicator by considering either direct or 2-hop connections, depending on which modality of the two gives greater contact opportunities. To explain (5), refer to the scenario of Figure 1. A node may connect to a node by exploiting a 2 hop link involving node . In particular, may send its bundle to as soon as the link is active. keeps it in a buffer and sends it to when the link becomes active. Due to the dynamic nature of the network, the links and are intermittent and thus may exists or not at a given time instant depending on the mobility patterns of the nodes. Assume that, in the interval , the two links appear 4 times each in the order shown in the bottom part of Figure 1.
Observe that at the beginning, link appears right before link . This makes it possible for node to send bundles to node through , and should indeed be regarded as a contact opportunity. Conversely, when appears before (as it happens later on), no transmisson is possible from to . By simple observation, it is straightforward to realize that one contact opportunity arises whenever there is an ordered sequence on the timeline (for a thorough analysis of intermittent links problems in DTNs, refer to , where the issue is addressed from the theoretical perspective of time-varying graphs.) In our example this happens twice, although links and appear 4 times each. Note also that link appears 3 times before the last apparition of . Even though can buffer all the bundles received by in the 3 transmissions, it then has only one opportunity to send them to and thus the temporal sequence of links gives rise to a single contact opportunity from to . As a natural consequence, we can state that, given a sequence of apparitions of links and , where they appear and times, respectively, the number of contact opportunities from to can never exceed . This explains the presence of the min function in (5).
Although we know that the number of contact opportunities of with through is in the range , we cannot give an exact estimate of such number, because it depends on the sequence of apparition of the two links, which we do not keep track of in our model. However, it is possible to obtain an approximated average expression for it by means of simple statistical considerations.
Consider the network . Assume the links and , which are activated and times, respectively, appear uniformly at random on . Define the random variable as
where , for all , and . By noting the equivalence of the events
with denoting the complementary event, we have the CDF
and the expectation
A sufficient (but not necessary) condition for outage of the 2-hop link connecting to through over a period , is when all the instances of the link appear before the expected first appearance of the link. This outage probability, , is obtained as
where . Finally, substituting (9) into (10) yields
Hence, is an upper bound to the probability that the 2-hop link connecting to is available at least once over the period . This suggests that the weight in (5) should acquire the same meaning. For this reason we let and (5) becomes
It is worth noting that the expression could be interpreted as an approximation to the number of contact opportunities between and through . In order to test its tightness, we simulated a three nodes network where the two links and appear uniformly at random on . Results are reported in Figure 2, where the expected number of contact opportunities is plotted as a function of for different values of . It can be observed that the analytical expression may be regarded as an upper bound, which is tighter for smaller values of and . As a consequence, this model may be employed as long as (i) the period is taken such that a small number of encounters between and , and , is recorded and (ii) the encounters do not deviate too much from a uniform distribution.
While the first assumption can be arbitrarily noninfluential by adjusting , the second assumption can only be verified by examining real traffic traces. However, more sophisticated models may be formulated when some a priori information on the traffic is available and contact statistics is inferred accordingly.
The extension of (4) to hop is simply
3.3. Mobility Traces Used and Sociability Plots
Recent measurement campaigns have been conducted in the context of ambient mobile networks, with particular emphasis on vehicular networks at urban scale and pedestrian networks in a building scenario. Some of them (e.g., ), required the help of voluntary attendees of a conference who carried mobile devices during several days period for recording spontaneous contacts among users. At urban level, although the difficulty of finding volunteers between private users, analogous experiments could be performed on vehicles belonging to a specific entity, such us public transportation fleets. Such precious data, especially that of contacts among users, reveals very important for studying the social behavior of nodes and providing insight for potential delay-tolerant applications.
A variety of measurements have been made recently available on the Internet [3, 26] in the form of traffic traces or contact patterns. When a historical database of contacts is available, it is possible to study the social behavior. This, however, cannot be done in conjunction with mobility consideration, since the information on mobility patterns is not directly present. In some studies (see, e.g., ), the log information of Wi-fi users who connect to a set of access points (APs) is examined. APs may be regarded as locations and consequently the mobility patterns of the users (consisting of a sequence of visits to the locations) can be indirectly inferred. By following this rationale, it is also natural to assume that two users that are connected to the same AP at a given time, they are in contact with each other.
We believe it is not possible to assess to which extent the latter assumptions hold. For this reason, we seek traces where the exact position of users is sampled, at least randomly in time. Then, from a complete mobility information, contacts history can be easily extracted.
In this paper we base our analysis on the traffic traces from the taxicabs of the city of San Francisco, CA , consisting of approximately 500 units. Such data report the GPS coordinates of each vehicle collected over 30 days in the San Francisco Bay Area. Each taxi is equipped with a GPS receiver and sends a location-update (timestamp, identifier, geo-coordinates) to a central server. The location-updates are quite fine-grained—the average time interval between two consecutive location updates is less than 10 seconds, allowing us to accurately interpolate node positions between location-updates. In the heatmap of Figure 3, a spatial plot is reported where the intensity of color is proportional to the time spent by the totality of taxicabs in each location.
With respect to this data, we report in Figure 4, as examples, the sociability indicators , , , for the different vehicles (i.e., ) (Figures 4(a) and 4(c)) and the Complementary Cumulative Distribution Function (CCDF) of , , , (Figures 4(b) and 4(d)). All the plots refer to a seconds observation time. In particular, plot pairs Figures 4(a), 4(b), 4(c), and 4(d) are taken over two subsequent time windows, randomly sampled over the whole trace.
As one can see, the sociability indicators are on average smaller in plot Figure 4(c) compared to Figure 4(a): this means that in the second observation period, a smaller number of contacts has been recorded. For the 1 hop case, very few nodes have a significant indicator, while the others have almost zero indicators. This reflects in plots Figures 4(b) and 4(d), where one can observe that less than 5% of nodes have indicators greater than . When a multihop sociability definition is considered, the indicators on average increase. This means that most of the nodes having rare contacts, happen indeed to be in contact with highly sociable nodes.
However, although this effect is remarkable when moving from single hop to two hops sociability, it is not significant when the number of hops considered is greater than 3. This is coherent with the fact that multihop connections, although exponentially more numerous when is greater, are less likely to be successful since links must appear in the correct temporal order. Finally, it bears highlighting that nodes which are completely isolated, do remain so no matter how many hops we allow. For this reason, it appears in plots Figures 4(b) and 4(d) that the probability of having a sociability indicator greater than zero, never approaches one.
4. Simulation Results
In the present section we introduce the simulator that allows us to test the forwarding scheme proposed and to compare it to other existing protocols. Then, before showing the numerical results, a brief overview of performance metrics and a short description of our benchmarking schemes, are given.
We have designed an autonomous network simulator for testing the routing scheme. It takes as input a mobility trace like the one presented in Section 3.3 and generates mobile nodes accordingly. The time is discretized and resolution is 1 second. Each node has an infinite buffer for storing the exchanged bundles. In a realistic setup, a routing protocol should be evaluated by accounting for limited buffering capabilities. Nonetheless, although we do not address it here, we assess the validity of protocols by also counting the amount of extra bundles generated, as a rough measure of resources consumption at network level.
In addition, we make very simple assumptions at physical and MAC layers, namely, nodes are in contact when their distance is less than the transmission range, ; channels are interference-free; and transmissions are instantaneous. Furthermore, although a node is not aware of its absolute geographical position, it has a complete knowledge of its logical connectivity, (i.e., what other nodes are within its transmission range), and it is always willing to cooperate with others.
A simulation run starts when two nodes are randomly selected as source and destination of a bundle, respectively, and terminates when the bundle is either successfully received by the recipient or discarded for exceeding a timeout threshold.
4.2. Input Mobility and Parameters
As input mobility, we consider the taxi cab traces introduced in Section 3.3. It must be noted that taxi cab's movements are not particularly predictable as can be those of a private citizen or even a public transportation vehicle (e.g., a bus). In fact, apart from the most frequent routes (e.g., airport to train station), each time a passenger is collected, a destination which potentially differs from the previous one has to be reached. For this reason, if we can appreciate any benefit from the sociable routing scheme in this scenario, we expect even better performance when using, for example, Seattle city bus traces  as input mobility.
We put two constraints in order to speed up the simulations. First, source and destination nodes are randomly picked among those that are located, at the generation instant, in a km square centered in downtown San Francisco. This indeed decreases the average delivering time by avoiding too far away source-destination pairs. Secondly, nodes that have not been moving for more than 1 hour cannot be source candidates. This avoids extra delays due to when a bundle is generated by a cab that is not in service, and thus has greater chances to remain isolated for long.
The number of nodes, all included, is then 535 and the traces are two weeks long. Every simulation is composed of 1000 runs (i.e., 1000 bundles are either successfully received or dropped due to excess delay) and is started at a random time on the first day of traced period. We set a timeout of 1 day and a transmission range meters. This value is in accordance, for example, with the standard IEEE 802.11p , which is meant to be employed in vehicular networks. Finally, in case of multiple contemporaneous encounters, one node is allowed to forward the bundle to only neighbor.
4.3. Performance Metrics and Benchmarks
For each received bundle, several measures are performed. First, the delay, that is, the elapsed time from generation to delivery, is recorded. Delay, which is usually imposed by an application, is a meaningful parameter for discriminating forwarding schemes. Similarly, a cost parameter, intended as how much of network resources a routing scheme consumes, will also be considered. In our case, we define as cost of a routing scheme the average number of network nodes that receive the bundle, apart from the intended destination. Although simplistic, this serves as an indication of how much extra traffic is generated in the network (recall that we neglect signaling traffic by assuming that nodes have perfect knowledge of the logical connectivity), how intensively the buffers are employed, and it is also related to the amount of overhead introduced at lower layers.
Generally, as it will be observed, delay is inversely proportional to cost, whereas good protocols are expected to achieve low delay at a low-cost.
We also consider the path length, defined as the number of hops from source to destination, as well as the keeping time, defined as the average time a node keeps the bundle before forwarding it to the next hop. The latter two are complementary, since the product path length keeping time, approximately equals the delay. On equal delays, a long path length (equivalently, a short keeping time) may indicate a waste of resources and thus result in a high cost.
The performance of our routing scheme, sociable routing, is compared against that of other known protocols.
(i) Epidemic routing
This naive strategy  belongs to a category of routing protocols achieving very low delay at very high cost. It is indeed the optimum for what concern the delay performance. Practically speaking, every time a node is in contact with any other node it sends the bundle. It is easy to realize that the number of bundles present in the network grows exponentially in time. This diffusion enhances the probability that one of the bundles reaches the destination but, most of the time, its cost is unbearable for real networks. We use epidemic routing for a lower bound delay performance.
(ii) MobySpace routing
This scheme, introduced in , considers the mobility patterns of the nodes and assigns to each node a descriptor vector containing the frequencies of visits to each location. The basic idea is that nodes having similar patterns are likely to meet. Hence, a node forwards bundles to nodes whose patterns are more and more similar to that of the destination (which should be known at the source). No notion of sociability is employed but only topological considerations. MobySpace routing achieves low-cost but has a poor delay performance.
(iii) Random routing
This protocol is created ad hoc for comparison with sociable routing. Basically, it has the same functionalities as sociable routing (i.e., it employs Algorithm 1) but is fed with "fake" sociability indicators, meaning that they are not related to the actual social behavior of the nodes but they are just random numbers. By so doing, we expect Random routing to achieve a cost similar to that of sociable routing and a delay performance to be compared with the latter.
When simulating sociable routing, the time interval between two refreshes of the sociability indicators must be set. This should be calibrated based on the nature of mobility traces. We assume no a priori information is available about the social behavior of the nodes. We then take second as initial guess. We also choose to evaluate only the first and second hop based sociability schemes, since we do not expect significant changes for a number of hops , as observed in Section 3.3.
In Figure 5, we report the cumulative distribution of delivered bundles over time, for the 1st and 2nd hop sociable routing, as well as for the benchmarking protocols. By observing a time window of approximately 1 day, it clearly appears how epidemic delivers a much larger amount of bundles compared to other solutions. However, as previously noted, this scheme is practically unfeasible.
Conversely, MobySpace is the one delivering the smallest amount of bundles. The reason seems to be the presence of large deviations from the mean delay, occurring when a node does not find a suitable relay and keeps the bundle for long. A deeper consideration is that the basic assumption of the protocol, according to which two nodes having similar patterns are likely to meet, is not easily applicable to the case of taxi, where all nodes tend to visit a small set of locations (e.g., airport, main square, etc.) with approximately the same frequencies. 1-hop sociable routing seems to be delivering the largest amount of bundles at a fairly constant rate. Random Routing, instead, which employs the same scheme as 1-hop Sociable but with "fake'' sociability indicators, shows a more irregular trend. The reason is that when bundles are sent to not very sociable nodes, they are likely to be stuck, since they do not meet other nodes, and consequently cause extra delays. 2-hop Sociable has a slightly poorer performance than 1-hop Sociable, at least in terms of number of deliveries. Finally, all the protocols could deliver 100% of packets before timeout except MobySpace, which dropped 1.8% of bundles.
In Table 1 we introduce, besides the cost, other metrics among those discussed in Section 4.3. Average values, taken over 1000 simulation runs, together with the 95% confidence interval, obtained through the Student's distribution, are reported. This table reveals the opposite trend of cost with respect to delay. In fact, the delay performance of epidemic, for example, is payed off by a large waste of resources (2.5 times more than 1-hop Sociable). By looking at path lengths, it can be seen how low-cost strategies lead to short paths from source to destination. As an extreme case, simulation of MobySpace reveals that most of successful deliveries employed no more than hops. Finally, by noting that the order of magnitude of delays is second, we can now state that the choice second for the refreshing time was a reasonable one. In fact, the situations where many refreshes occur while the same bundle is in the network are intuitively non-optimal.
As one can see, the performance of 2-hop Sociable is poorer than Random in terms of delay and better than 1-hop Sociable in terms of cost. This deserves further considerations. A greater insight is gained by looking at Figure 4 once again. Consider, for example, Figure 4(a): in the scenario we have selected, by only accounting for 1-hop sociability on a seconds period, we observe a situation where very few nodes have sociability indicators remarkably greater than zero, while the rest is very close to zero or zero (Figure 4(b) suggests in fact a power law distribution). In rough words, there are few suitable forwarders and many unsociable nodes. This imply the following. A node (statistically a poorly sociable one) generates a bundle. Then, it transmits it to its slightly more sociable neighbors. This part of the process is slow, since encounters are sporadic for the origin node but, at the same time, transmissions are likely to occur upon every encounter. At some point the most sociable forwarder is reached. Now the process rapidly converges to delivery, thanks to the identification of the most suitable forwarder. We may equivalently say that there is a little bit of flooding at the very beginning of the process until the key forwarder is met. Then what it takes is just waiting for it to meet the destination node. Note that the latter resembles the Spray and Wait approach proposed in , with the difference that the spray phase intelligently stops when the right forwarder is met.
Consider now the 2nd plot of Figure 4(a). 2-hop based sociability indicators still show few best forwarders. However many other nodes have non-negligible indicators. In particular, a large subset has sociability around . Now imagine a bundle is originated by one such node. According to the algorithm, the latter will automatically exclude from the list of potential next-hop relays all its peers (i.e., those having equal or smaller indicator—a great percentage). The key implication is that there is no initial flooding. Instead, the origin node tends to wait to meet one of the 2 or 3 strong forwarders before initiating a transmission. Thus, while in the 1-hop case all nodes are almost equally likely to potentially receive the bundle, this different definition of sociability indicators automatically excludes a subset of them. This does not necessarily result in worse performance. In fact, although we observe a greater delivery delay with respect to 1-hop sociability (see Table 1), we considerably reduce the cost, which makes it better scalable.
In conclusion, 1-hop and 2-hop sociability are two very different routing strategies with pros and cons, among which the network designer should choose the preferred one based on the requirements (i.e., whether to minimize cost or delay).
For a visually more effective positioning of the examined protocols on a delay versus cost plane, we refer to Figure 6. By focusing on the left part of the plot, where the "affordable" schemes are positioned, it appears that 1-hop Sociable represents a good compromise.
5. Conclusions and Future Work
The contribution of this paper has been the proposal of a novel routing scheme for DTNs. sociable routing chooses the set of best forwarders among those having high sociability indicators, the latter being time-varying scalar parameters. Sociability indicators relate to the social characteristics of network nodes, by capturing the frequency and type of their encounters. The routing strategy has been widely discussed and evaluated by simulation on a DTN of vehicles in urban environment. Results and comparison with other existing protocols showed that sociability based routing can achieve a good compromise in terms of delay performance and cost.
Several open issues throughout the paper have been mentioned and deserve attention in future works. First, the study of distributed algorithms for computing sociability metrics is currently being addressed. Finally, an additional simulation campaign using other mobility traces (possibly with different social characteristics) could reveal the robustness of Social Routing against diverse scenarios and prove the generality of the key ideas.
Fall K: A delay-tolerant network architecture for challenged internets. In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM '03), August 2003, Karlsruhe, Germany. ACM; 27-34.
Jain S, Fall K, Patra R: Routing in a delay tolerant network. In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM '04), August-September 2004. ACM; 145-157.
Piorkowski M, Sarafijanovic-Djukic N, Grossglauser M: CRAWDAD data set epfl/mobility (v. 2009-02-24). February 2009.
Burgess J, Gallagher B, Jensen D, Levine BN: MaxProp: routing for vehicle-based disruption-tolerant networks. Proceedings of the 25th IEEE International Conference on Computer Communications (INFOCOM '06), April 2006 1-11.
Daly EM, Haahr M: Social network analysis for routing in disconnected delay-tolerant MANETs. In Proceedings of the 8th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc '07), September 2007. ACM; 32-40.
Balasubramanian A, Levine B, Venkataramani A: DTN routing as a resource allocation problem. In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM '07), August 2007, Kyoto, Japan. ACM; 373-384.
Jones EPC, Li L, Ward PAS: Practical routing in delay-tolerant networks. In Proceedings of the ACM SIGCOMM Workshop on Delay-Tolerant Networking (WDTN '05), August 2005. ACM; 237-243.
Vahdat A, Becker D: Epidemic routing for partially-connected ad hoc networks. Duke University; April 2000.
Burleigh S, Hooke A, Torgerson L, Fall K, Cerf V, Durst B, Scott K, Weiss H: Delay-tolerant networking: an approach to interplanetary internet. IEEE Communications Magazine 2003, 41(6):128-136. 10.1109/MCOM.2003.1204759
Leguay J, Friedman T, Conan V: Evaluating mobility pattern space routing for DTNs. Proceedings of the 25th IEEE International Conference on Computer Communications (INFOCOM '06), April 2006, Barcelona, Spain 1-10.
Musolesi M, Mascolo C: Car: context-aware adaptive routing for delay-tolerant mobile networks. IEEE Transactions on Mobile Computing 2009, 8(2):246-260.
Hui P, Crowcroft J, Yoneki E: BUBBLE rap: social-based forwarding in delay tolerant networks. In Proceedings of the 9th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc '08), May 2008. ACM; 241-250.
Zhao W, Ammar M, Zegura E: Controlling the mobility of multiple data transport ferries in a delay-tolerant network. Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM '05), March 2005 2: 1407-1418.
Hull B, Bychkovsky V, Zhang Y, Chen K, Goraczko M, Miu A, Shih E, Balakrishnan H, Madden S: CarTel: a distributed mobile sensor computing system. In Proceedings of the 4th International Conference on Embedded Networked Sensor Systems (SenSys '06), November 2006. ACM; 125-138.
Abuelela M, Olariu S, Stojrnenović I: OPERA: opportunistic packet relaying in disconnected vehicular ad hoc networks. Proceedings of the 5th IEEE International Conference on Mobile Ad-Hoc and Sensor Systems (MASS '08), October 2008 285-294.
Fabbri F, Verdone R: Sociability based routing for environmental opportunistic networks. Radio Communication Series: Recent Advances and Future Trends in Wireless Communication 2010, 1(1):98-103.
Kumar R, Liben-Nowell D, Tomkins A: Navigating low-dimensional and hierarchical population networks. In Proceedings of the 14th Annual European Symposium on Algorithms (ESA '06), 2006, Lecture Notes in Computer Science. Volume 4168. Springer; 480-491.
Karagiannis T, Le Boudec J-Y, Vojnovic M: Power law and exponential decay of inter contact times between mobile devices. In Proceedings of the 13th Annual ACM International Conference on Mobile Computing and Networking (MobiCom '07), September 2007. ACM; 183-194.
Conan V, Leguay J, Friedman T: Characterizing pairwise inter-contact patterns in delay tolerant networks. In Proceedings of the 1st international conference on Autonomic Computing and Communication Systems (Autonomics '07), 2007. Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering; 1-9.
Henderson T, Kotz D, Abyzov L: The changing usage of a mature campus-wide wireless network. In Proceedings of the 10th Annual International Conference on Mobile Computing and Networking (MobiCom '04), October 2004. ACM; 187-201.
McNett M, Voelker GM: Access and mobility of wireless PDA users. ACM SIGMOBILE Mobile Computing and Communications Review 2005, 9(2):40-55. 10.1145/1072989.1072995
Guimerà R, Danon L, Díaz-Guilera A, Giralt F, Arenas A: Self-similar community structure in a network of human interactions. Physical Review E 2003, 68(6):-4.
Chaintreau A, Hui P, Crowcroft J, Diot C, Gass R, Scott J: Impact of human mobility on opportunistic forwarding algorithms. IEEE Transactions on Mobile Computing 2007, 6(6):606-620.
Tang J, Musolesi M, Mascolo C, Latora V: Temporal distance metrics for social network analysis. In Proceedings of the 2nd ACM Workshop on Online Social Networks (WOSN '09), 2009. ACM; 31-36.
Hui P, Chaintreau A, Scott J, Gass R, Crowcroft J, Diot C: Pocket switched networks and human mobility in conference environments. In Proceedings of the ACM SIGCOMM Workshop on Delay-Tolerant Networking (WDTN '05), August 2005. ACM; 244-251.
Jetcheva JG, Hu Y-C, PalChaudhuri S, Saha AK, Johnson DB: CRAWDAD data set rice/adhoccity (v. 2003-09-11). September 2003.
Stibor L, Zang Y, Reumerman H-J: Neighborhood evaluation of vehicular ad-hoc network using IEEE 802.11p. Proceedings of European Wireless Conference, 2007
Spyropoulos T, Psounis K, Raghavendra CS: 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), August 2005. ACM; 252-259.
This work was supported by the European Commission in the framework of the FP7 Network of Excellence in Wireless COMmunications NEWCOM++ (Contract no. 216715).