Message Forwarding in People-centric Delay Tolerant Networks

Shabbir Ahmed

A thesis submitted in fulfillment of the requirements for the degree of Doctor of Philosophy

School of Computer Science and Engineering

May 2010

Copyright c 2010, Shabbir Ahmed Originality Statement

’I hereby declare that this submission is my own work and to the best of my knowledge it contains no materials previously published or written by another person, or substantial proportions of mate- rial which have been accepted for the award of any other degree or diploma at UNSW or any other educational institution, except where due acknowledgement is made in the thesis. Any contribution made to the research by others, with whom I have worked at UNSW or elsewhere, is explicitly acknowledged in the thesis. I also declare that the intellectual content of this thesis is the product of my own work, except to the extent that assistance from others in the project’s de- sign and conception or in style, presentation and linguistic expression is acknowledged.’

Signed: Dated: Copyright Statement

’I hereby grant the University of New South Wales or its agents the right to archive and to make available my thesis or dissertation in whole or part in the University libraries in all forms of media, now or here after known, subject to the provisions of the Copyright Act 1968. I retain all proprietary rights, such as patent rights. I also retain the right to use in future works (such as articles or books) all or part of this thesis or dissertation. I also authorise University Microfilms to use the 350 word abstract of my thesis in Dissertation Abstracts International. I have either used no substantial portions of copyright material in my thesis or I have obtained permission to use copyright material; where permission has not been granted I have applied/will apply for a partial restriction of the digital copy of my thesis or dissertation.’

Signed: Dated: Authenticity Statement

’I certify that the Library deposit digital copy is a direct equivalent of the final officially approved version of my thesis. No emendation of content has occurred and if there are any minor variations in format- ting, they are the result of the conversion to digital format.’

Signed: Dated: Acknowledgments

I would like to take this opportunity, to thank all the people, who have supported and inspired me during my doctoral research. I especially want to thank my supervisor, Dr. Salil S. Kanhere, for his constant guidance, feedback and patience during my research and study at the University of New South Wales. He has supported me in many ways during my hard times. In addition, he was always accessi- ble and willing to help his students with their research. Without his persistent support, I could not have managed to complete my thesis. A special thanks goes to Dr. Sanjay Jha and Dr. Chun Tung Chou for their cordial support during my research tenure. I would also like to thank Dr. Mahbub Hassan his valuable feedback during my annual progress reviews. Also, many thanks to Dr. Nadeem Ahmed for his encouragements to complete this thesis. All my friends at the Network Research Laboratory made it an en- joyable place to work. In particular, I would like to thank Baseem, Jerry and Xin for their friendship and help in the past four years. Many thanks to my friend Prashant for his intellectual discussions and support. I apologize that I could not mention all of my friends here individually. Thanks to all my family members, who inspired me to research and sacrifice my company for a greater cause. Thanks. Author’s Publications

• Shabbir Ahmed and Salil S. Kanhere. VANETCODE: Network Coding to Enhance Cooperative Downloading in Vehicular Ad- hoc Networks. In Proceedings of International Com- munications and Mobile Computing Conference, IWCMC 2006, ACM press, Vancouver, Canada, pp. 527-532, July 2006. • Shabbir Ahmed and Salil S. Kanhere. SKVR: Scalable Knowl- edge based Routing Architecture for Public Transport Networks. In Proceedings of the 3rd ACM International Workshop on Vehic- ular Ad-hoc Networks, VANET 2006, short paper, ACM press, Los Angeles, California, USA, pp. 92-93, September 2006. • Shabbir Ahmed and Salil S. Kanhere. Cluster-based Forwarding in Delay Tolerant Public Transport Networks. In 1st IEEE Workshop on User Mobility and Vehicular Networks, IEEE LCN ON-MOVE 2007, IEEE, Dublin, Ireland, pp. 625-634, August 2007. • Shabbir Ahmed and Salil S. Kanhere. HUBCODE: Message Forwarding using Hub-based Network Coding in Delay Tolerant Networks. In The 12th ACM International Conference on Mod- eling, Analysis and Simulation of Wireless and Mobile Systems, MSWiM 2009, ACM press, Tenerife, Canary Island, pp. 288-296, October 2009. • Shabbir Ahmed and Salil S. Kanhere. A Bayesian Routing Framework for Delay Tolerant Networks. In IEEE Wireless Communications and Networking Conference 2010, IEEE, Syd- ney, Australia, pp. 1-6, April 2010. • Shabbir Ahmed and Salil S. Kanhere. Message Dissemination in Vehicular Networks. Book Chapter, Accepted for publication in Delay Tolerant Networks: Protocols and Applications, May 2010. • Shabbir Ahmed and Salil S. Kanhere. HUBCODE: Hub-based Forwarding Using Network Coding in Delay Tolerant Networks. Submitted to Wiley InterScience Journal of Wireless Communi- cations and Mobile Computing 2010. • Shabbir Ahmed and Salil S. Kanhere. Characterization of a Delay Tolerant Network. The 35th IEEE Conference on Local Computer Networks, IEEE LCN 2010. Abstract

This thesis concentrates on the message forwarding issues of real- world people-centric Delay Tolerant Networks (DTN), such as Pocket Switched Networks (PSN) and Vehicular Ad-hoc Networks (VANET), which are omnipresent, and hence pertinent to examine. These people- centric DTN often exhibit discernible network properties, which can be leveraged to develop efficient message forwarding schemes. In this thesis, we analyse the mobility traces of a large-scale public transport network. This type of network is an illustrative example of people- centric DTN. Our extensive analysis of its spatio-temporal communi- cation graph identifies a power-law behaviour and periodicity in the mobility patterns. It also reveals the existence of hubs (a group of highly connected nodes) in these networks. Based on our observa- tions of these networks, we propose three classes of functional mes- sage forwarding schemes for people-centric DTN. In particular, we propose a network coding based forwarding strategy, called the Hub- Code, which seeks to exploit the hubs as message relays in an efficient manner. We formulate a mathematical model for estimating the mes- sage delivery delay and present a closed-form expression for the same. The large-scale simulation results show that under pragmatic assump- tions, which account for short contact durations between nodes, our schemes outperform comparable strategies by more than 20%. Next, by utilizing the clustering property of people-centric networks, we propose a cluster-based forwarding scheme and a generic cluster for- mation method based on encounter frequencies between nodes, which uses the dynamic programming paradigm to reduce the complexity by an order, compared to traditional graph-theoretic approach. Our cluster-based forwarding approach outperforms the Spray and Wait scheme by about 12% in terms of delivery ratio. Finally, when the history of mobility patterns about the underlying network is avail- able, we propose a statistical forwarding scheme which leverages this information in predicting the next best forwarder. In particular, we have proposed a Bayesian classifier based DTN message forwarding framework, that adopts a systematic approach for computing the for- warding metrics by utilizing the network parameters (e.g. spatial and temporal information at the time of message forwarding), which cap- ture the periodic behaviour of DTN nodes. Simulation results show that even a naive instantiation of our Bayesian forwarding framework outperforms comparable gradient-based schemes by 25%, in terms of delivery ratio. It is worth mentioning that our proposed forwarding schemes, which are based on the key characteristics of a real-world public transport network, are generic enough to be applicable for a wide range of people-centric DTN. This is due to the fact that the other real-world people centric DTN (e.g. pocket switched network) also share similar properties (e.g. existence of hubs) with the aforementioned network. Contents

Nomenclature xviii

1 Introduction 1 1.1 DelayTolerantNetworks ...... 1 1.2 People-centricDTN...... 5 1.3 Challenges in Message Forwarding ...... 7 1.3.1 Store-Carry-and-Forward Paradigm ...... 10 1.4 RelatedWorkandtheResearchGap ...... 11 1.4.1 Problems of Multi-copy Schemes ...... 14 1.5 OurContribution ...... 18 1.6 ThesisOrganization...... 23

2 Literature Review 24 2.1 Characterization of People-centric DTN ...... 24 2.1.1 Human Mobility Based Traces ...... 25 2.1.2 WiFi Access Point Based traces ...... 26 2.1.3 VehicleBasedTraces ...... 29 2.2 MessageForwardinginDTN...... 31 2.2.1 Knowledge-less Forwarding ...... 32 2.2.1.1 DirectContact ...... 32 2.2.1.2 Two-hopRelay ...... 33 2.2.1.3 Tree-basedFlooding ...... 33 2.2.1.4 Epidemic ...... 34 2.2.1.5 NetworkCoding ...... 35 2.2.2 Knowledge-based Forwarding ...... 37

ix CONTENTS

2.2.2.1 GradientForwarding ...... 39 2.2.2.2 Cluster-based Forwarding ...... 42 2.3 Summary ...... 43

3 Characterization of People-centric DTN 45 3.1 MobilityTraceDetails ...... 47 3.1.1 Post-processing of the Mobility Trace ...... 47 3.1.2 Physical Properties of the Network ...... 48 3.2 Power-lawproperties ...... 52 3.2.1 Inter-contactDurations...... 53 3.2.2 ContactDurations ...... 55 3.2.3 NodeDegreeDistribution ...... 56 3.3 Clustering ...... 58 3.3.1 Clustering Coefficient ...... 58 3.4 Periodicity...... 62 3.5 Summary ...... 64

4 Forwarding using Hub-based Network Coding 66 4.1 HubCode ...... 68 4.1.1 HubCodeV1...... 69 4.1.1.1 Source...... 69 4.1.1.2 Hubs...... 69 4.1.1.3 Destination ...... 72 4.1.2 HubCodeV2...... 73 4.1.2.1 Source...... 74 4.1.2.2 Hubs...... 75 4.1.2.3 Destination ...... 75 4.2 MathematicalAnalysis ...... 76 4.2.1 Stochastic Forwarding Model ...... 77 4.2.2 Factors that Influence the Message Forwarding Rate . . . . 80 4.2.3 Message Delivery Delay in Hub-only Scheme ...... 82 4.2.4 Message Delivery Delay in HubCode ...... 83 4.2.5 ModelValidation ...... 85 4.3 Simulation based Evaluations ...... 90

x CONTENTS

4.3.1 Mobilitytracedetails...... 90 4.3.2 SimulationSettings ...... 91 4.3.3 Delivery Ratio and Delivery Cost ...... 93 4.3.4 EffectofNodeFailure ...... 94 4.3.5 Effectofthenumberofhubs...... 97 4.3.6 EffectofMessageSize ...... 98 4.3.7 Effectoftrafficload...... 100 4.4 Summary ...... 101

5 Cluster-based Forwarding 102 5.1 ProblemFormulation ...... 104 5.1.1 ModellingtheProblem ...... 104 5.1.2 HierarchicalApproach ...... 104 5.1.3 Solving Mutually Exclusive Partitioning Problem . . . . . 105 5.1.4 Calculation of Distance Function ...... 105 5.1.5 Scalability Issues ...... 106 5.1.6 Solution using Dynamic Programming Method ...... 106 5.1.7 Example...... 107 5.1.7.1 Step 1: Pair-wise Grouping at Leaf Nodes . . . . 108 5.1.7.2 Step 2: Build Distance ...... 108 5.1.7.3 Step3:Looping ...... 108 5.1.8 ForwardingDecision ...... 113 5.2 Evaluations ...... 113 5.2.1 ComparisonMetrics ...... 114 5.2.2 Methodology and Simulation Parameters ...... 114 5.3 Result ...... 115 5.3.1 DeliveryRatio...... 115 5.3.2 DeliveryCost ...... 115 5.3.3 HopDistribution ...... 116 5.3.4 DelayDistribution ...... 117 5.3.5 Effectofvaryinggroupnumbers ...... 119 5.4 Summary ...... 121

xi CONTENTS

6 Statistical Forwarding 122 6.1 Bayesian Forwarding Framework ...... 123 6.1.1 Phase One: Classification ...... 124 6.1.2 PhaseTwo:Forwarding ...... 126 6.1.3 Example...... 127 6.2 Evaluations ...... 131 6.2.1 DetailsofMobilityTraces ...... 131 6.2.2 Methodology and Simulation Parameters ...... 132 6.2.3 Gathering Packet Traversal History ...... 132 6.2.4 DeliveryRatioResults ...... 133 6.2.5 DeliveryCostResults...... 133 6.2.6 DelayDistributionResults ...... 134 6.3 Summary ...... 136

7 Conclusions 137

A Message Delivery Delay 141 A.1 Expectedinter-contactduration ...... 141 A.2 Expression for Coupon Collector’s problem ...... 141 A.3 Expected Message delivery delay in Hub-only forwarding scheme . 142 A.4 Expected Message delivery delay in HubCode ...... 144

References 157

xii List of Figures

1.1 World penetration rates (2009-09-30) [1]...... 3 1.2 DTN example [2]...... 3 1.3 What makes DTN different from traditional ad hoc networks . .. 4 1.4 Forwarding problem of AODV in face of network disruption . .. 9 1.5 Store-carry-and-forwardprinciple ...... 10 1.6 Comparison of forwarding protocols based on knowledge and repli- cation ...... 13 1.7 Problem of redundant transmissions ...... 16 1.8 Reliance of knowledge and replication of our forwarding schemes . 22

2.1 Taxonomy of DTN forwarding schemes ...... 32 2.2 Benefits of network coding [3]...... 36 2.3 Knowledge vs. delivery ratio [4]...... 39

3.1 No. of buses and routes covered over a 24 hour period ...... 49 3.2 Spatial vehicle movement pattern (12am-6am) ...... 49 3.3 Spatial vehicle movement pattern 6am-9am ...... 50 3.4 Spatial vehicle movement pattern 9am-3pm ...... 50 3.5 Spatial vehicle movement pattern (3pm-8pm) ...... 51 3.6 Snap-shot of bus densities at different instances ...... 52 3.7 PMF of Inter-contact Duration of Shadowing Model ...... 54 3.8 CCDFofinter-contactduration ...... 55 3.9 CCDFofcontactdurations(2001-11-19) ...... 56 3.10 degree distribution (24Hrs period) ...... 57 3.11 Coveragebythehubs(24Hrsperiod) ...... 58

xiii LIST OF FIGURES

3.12 Avg. clustering coefficients (24Hrs period) ...... 60 3.13 Local clustering coefficients (sorted) at 10am ...... 60 3.14 Neighbours of bus 901 over 24Hrs period (2001-10-31) ...... 62 3.15 Neighbours of bus 5037 over 24Hrs period (2001-10-31) ...... 63 3.16 Aggregated encounter durations for two consecutive weekdays (shad- owingmodel) ...... 64

4.1 Example illustrating the operation of HubCodeV1 ...... 72 4.2 Example illustrating the operation of HubCodeV2 ...... 76 4.3 Statediagramofgenericroutingmodel ...... 78 4.4 State diagram of Hub-only forwarding scheme ...... 82 4.5 State diagram of HubCode forwarding scheme ...... 84 4.6 Model validation: (10 message sources) ...... 87 4.7 Model validation: (20 messages sources) ...... 87 4.8 Biased expected value of power-law distribution ...... 88 4.9 Deliveryratio ...... 94 4.10Deliverycost ...... 95 4.11 The effect of random node failure on message delivery ...... 96 4.12 The effect of random hub failure on message delivery (HubCode V2) 96 4.13 Delivery ratio as a function of the percentage of hubs ...... 98 4.14 Delivery ratio as a function of message size ...... 99 4.15 Delivery ratioasafunctionoftrafficload ...... 100

5.1 Examplenetworkgraphmodel...... 107 5.2 Groupingattheleaflevel ...... 108 5.3 Groups B3 and B4 are merged together and form group C1 . . . 109 5.4 Groups C1 and B5 are merged together and form group E1 . . . 110 5.5 Groups B1 and B2 are merged together and form group F 1 . . . 111 5.6 Finaldendrogram...... 112 5.7 Comparison of delivery ratios of various DTN routing protocols . 116 5.8 Comparison of delivery costs of various DTN routing protocols . . 117 5.9 Hop-count distribution of delivered messages ...... 118 5.10 Cumulative delay distribution ...... 118 5.11 Delivery cost over time with 8, 16, and 32 groups ...... 120

xiv LIST OF FIGURES

5.12 Delivery ratio over time with 8, 16, and 32 groups ...... 120

6.1 Major components of the proposed forwarding framework . . ... 128 6.2 Illustrative example of our forwarding framework ...... 130 6.3 Comparisonofdeliveryratio ...... 134 6.4 Comparisonofdeliverycost ...... 135 6.5 Cumulative delay distributions ...... 136

xv List of Tables

2.1 Statistics of Different Mobility Traces [5]...... 28

3.1 Simulation Parameters for Propagation Models ...... 48

4.1 Notations ...... 79 4.2 PropertiesofMobilityTraces ...... 91 4.3 PropertiesofMobilityTraces ...... 91

5.1 Distance Matrix D for hB1,B2,...,B6i ...... 108 5.2 Updated Distance Matrix D that includes C1 ...... 109 5.3 Updated Distance Matrix D that includes E1 ...... 110 5.4 Updated Distance Matrix D that includes F 1 ...... 110 5.5 SimulationParameters ...... 115

xvi Nomenclature

Notations

Fq Finite Field of Size q bits

C(t) Average Clustering Coefficient of Entire Network at Time t ai Coefficient of Message i

Ci(t) Local Clustering Coefficient of Node i at Time t

E(X) Expected Inter-contact Duration

E[THC ] Expected Message Delivery Delay of HubCode Scheme

E[THO] Expected Message Delivery Delay of Hub-only (w/o coding) Scheme f Probability that a Hub Meets Another Hub idxi ID of Native Message i

M Number of Messages Destined to a Common Address

N Number of Hubs p Probability that a Message is Useful to the Peer

R Average Rate of Contact Opportunities

A Ri Average Msg. Fwd. Rate to Destination from a Hub or Source when i Copies of the Msg. are in Network

xvii LIST OF TABLES

F Ri Average Msg. Fwd. Rate to Another Hub when i Copies of Msg. are in Network

Acronyms

AODV Ad-hoc On-Demand Distance Vector Routing

CCDF Complementary Cumulative Distribution Function

DSDV Destination-Sequenced Distance-Vector Routing

DSR Dynamic Source Routing

DTN Delay Tolerant Networks

K-S Kolmogorov Smirnov

OLSR Optimized Link State Routing

PMF Probability Mass Function

PSN Pocket Switched Networks

PTN Public Transport Networks

VANET Vehicular Ad-hoc Networks

xviii Chapter 1

Introduction

1.1 Delay Tolerant Networks

With the explosive advancement of mobile communication devices in recent years, today it is possible to connect to millions of communication entities (e.g. desk- tops, handhelds, vehicles and sensors) all around the world. However, as suc- cessful as these networks have been, universal connectivity may not always be possible. Recent statistics (Fig. 1.1) illustrating worldwide Internet penetration [1] show that about 75% of the world population do not have Internet connectivity. The current technology either fails to ensure universal heterogeneous connectivity or is cost prohibitive. For example, a satellite around Mars cannot make use of standard Internet protocols in order to communicate with an entity on Earth due to the high latency involved; that is, the propagation delay between the Earth and Mars, which is bounded by the light-trip time, varies between about 4 to 20 minutes [6, 7]. Also, digital connectivity in rural areas may not be cost effective due to the high cost of building the communication infrastructure. Even with the availability of a cellular infrastructure, a Delay Tolerant Network (DTN) can be readily formed between people in urban environments using short range commu- nication devices (such as ), which can serve as an alternate channel for transporting data. This may be an attractive option for noncritical data trans- mission since there are no costs involved (i.e. Bluetooth connectivity is free). Further, the DTN can serve as a backup when the infrastructure goes down. Also, the traditional communication abstraction, which assumes that there will

1 1.1 Delay Tolerant Networks be a contemporaneous end-to-end path between the source and destination during message traversal, is often violated due to mobility, power saving, or unreliable nature of the networks. For example, if a wireless communication device is out of reach with the , the current communication abstraction fails to utilize it. Also, in underwater networks, the characteristics of physical communication media impose practical limitations on the propagation of signal. Hence, signal (i.e. ultrasonic, audible etc.) is used in underwater com- munication. However, the communication range and latency of longwave radio signal render traditional communication protocols unsuitable in these networks. Delay tolerant networking is an attempt to extend the reach of the network by enabling communication between harsh networks (Fig. 1.2). Typically, these types of challenged networks are termed ’DTN’ [8] wherein the contacts between the communicating devices are intermittent. The acronym DTN can mean several similar things [9]: Delay Tolerant Networks (as in outer space, as the network needs to cope with everything being slow), Disruption Tolerant Networks (as in deep sea communications, where the links are intermittent) or Disaster Tolerant Networks (as in a Tsunami affected area, where many networks go down at once). The Fig. 1.3 illustrates the fundamental difference between the traditional ad-hoc networks and DTN. It is assumed that nodes are connected in traditional ad-hoc networks, whereas, DTN are characterized by the partitioning of the nodes or sub-networks (Fig. 1.3). To deal with the episodic connectivity, DTN employ forwarding strategies which rely on the inherent mobility of the participating nodes that store, carry and incrementally forward the message to other nodes. DTN are particularly attractive for use in areas where there is no commu- nication infrastructure due to harsh environments (for example, battlefields and forests) or economic conditions (such as rural, remote areas in developing coun- tries). In developing regions, the applications range from educational to govern- mental services in rural areas. For example, the DakNet [10] project uses the DTN approach to provide an asynchronous digital connectivity (non-real-time data) in rural areas. It takes advantage of the existing communication and trans- port infrastructure in order to distribute digital connectivity to remote villages, which lack digital communication infrastructure. Instead of trying to relay data over a long distance using a high-powered , which can be expensive

2 1.1 Delay Tolerant Networks

North America 74.2 Oceania 60.4 Europe 52 Latin America 30.5 Middle East 28.3 Asia 19.419.4 Africa 66.8.8 World Average 25.6

0 10 20 30 40 50 60 70 80 90 100

Pentration Rate (%)

Figure 1.1: World Internet penetration rates (2009-09-30) [1]

Mars

Satellite

Aircraft

Sensor Network

PSTN Battle Field

Figure 1.2: DTN example [2]

3 1.1 Delay Tolerant Networks

B B C

C A A

Unpartitioned, multihop network DTN

Figure 1.3: What makes DTN different from traditional ad hoc networks and prone to interfere, the DakNet transmits data over short point-to-point links between kiosks and a portable storage device which is installed on and powered by a bus, a motorcycle or even a bicycle with a small generator. DTN has a wide range of applications in the realm of Wireless Sensor Networks (WSN) . The WSN consists of spatially distributed autonomous sensors which cooperatively moni- tor physical conditions, such as temperature, pressure, vibrations, motion, and pollutants. Events, such as power-saving mechanisms and node failures, are com- mon in these networks, which cause the network connectivity to become sporadic. DTN can be used to gather data from a variety of WSN, ranging from roadside sensors [11, 12] to wildlife trackers [13] to sensors in ocean [14]. For example, CarTel [12] is a mobile sensor computing system designed to collect, process, deliver, and visualize data from sensors located on mobile units. A CarTel node is a mobile embedded computer in a vehicle, coupled to an array of sensors. Each node gathers and processes sensor readings locally before delivering them to a central portal, where the data is stored in a database for further analysis and vi- sualization. One example of the use of a CarTel node is the monitoring of traffic delays on roadways in a distributed manner. CarTel nodes, equipped with GPS devices, can opportunistically obtain information about observed traffic delays such as car’s movements and use this information in traffic monitoring and route planning applications. These types of mobile sensor networks have the potential to cover a much larger geographical region with a smaller number of sensors by leveraging the movement of vehicular nodes. By collecting data from chemical

4 1.2 People-centric DTN and pollution sensors, it is possible to monitor environmental pollution. By col- lecting data from vibration sensors attached to vehicles in DTN way, researchers have been able to monitor the condition of civil infrastructures [15]. Data mul- ing and geo-imaging are some of the other applications provided by CarTel. In scientific experiments, for example, in ZebraNet [13], researchers attach wireless sensors capable of logging physical coordinates of zebras’ positions, in order to en- rich their understanding of wildlife behaviour. The sensors utilise the cooperative DTN forwarding mechanism to send data to a centralized repository. In efforts to provide a standardized architecture for algorithm and application development in DTN, the DTN Research Group (DTNRG) [16] was formed as a part of the Internet Research Task Force (IRTF). The standardization process defines a common abstraction (RFC 4838 and RFC 5050) to software running on disrupted networks by overlaying a new protocol layer, known as the bundle layer. As the name suggests, this layer bundles up application data and control information in order to avoid expensive multiple round-trip exchanges before the application data can be transferred. The bundle layer is also responsible for handling naming conventions of different networks or regions and maintaining security.

1.2 People-centric DTN

Of particular interest, are the people-centric DTN, which are formed by people in urban environments. Pocket Switched Networks [17] and Vehicle-based DTN [12, 18] are two well-known examples of people-centric DTN. In Pocket Switched Networks, personal communication devices (such as a PDA or laptop etc.) carried by humans self-organise to form an intermittently connected network, thus en- abling a new class of social networking applications (e.g. PeopleNet [19]). Unlike traditional networks, which become congested as more people join the network, a fundamental theoretical result [20] shows that the capacity of a pocket switched network increases with the number of participants because of the movement of people constantly builds new links. One obvious application of this kind of net- work is Peer-to-Peer (P2P) file sharing, which can side-step commercial services. Besides their use in urban areas, pocket-switched networks have been successfully

5 1.2 People-centric DTN deployed to provide digital connectivity to the farmers living in remote areas in the Arctic Circle where there is no cell phone infrastructure [21]. The farm- ers roam around the vast, icy wastelands on sledges, carried by their reindeer. They use a form of pocket-switched network, wherein each carries a laptop on his sledge. When a reindeer farmer wants to send a message, his laptop stores the request until he passes within the range of another sledge. In this fashion, the message eventually takes a hop to a computer that passes within the range of a network access point that is connected to the Internet. This process takes a while but is still much faster than waiting for the farmer to be within Internet contact directly. The other important category of people-centric networks is the vehicle-based networks. In a vehicle-based DTN, WiFi routers are mounted on vehicles, which enable those to communicate with each other. Many automobile manufacturers, such as Mercedes, BMW already provide Internet connectivity in their auto- mobiles and many others (e.g. Ford) announced that their cars would soon be equipped with communication devices to act like mobile hotspots. We have al- ready mentioned several practical applications utilizing vehicular networks, such as digital connectivity in rural areas [10] and data collection from sensor net- works [12]. Among others, safety related applications, such as road condition monitoring [15], and urban traffic monitoring [22] that use cooperative vehicular nodes can significantly increase the safety of passengers. In comfort related ap- plications, as in [23], researchers propose a virtual market place concept where a combination of mobile and stationary users can carry out buy/sell transactions using a vehicular network. Also, parking in urban areas is often a painful and time consuming experience, particularly during peak hours and popular events. Researchers [24] have explored the use of wireless parking meters operating in conjunction with mobile devices in automobiles. The researchers have also shown many variants on the parking paradigm, such as spot reservation, pricing models, and automatic ticketing. One of the most intriguing characteristics of people-centric DTN, where people govern their movement patterns, is that they often exhibit some form of regular patterns. The concept of studying the properties of an observable phenomenon is fundamental to science. For example, in order to build an efficient traffic lighting

6 1.3 Challenges in Message Forwarding system, one must observe traffic patterns of that area. Similarly, the frequency of public transportation service is set by consulting the movement patterns of people. A study of the mobility patterns of people-centric DTN is beneficial since it leads us to design efficient protocols. In fact, the focus of this thesis is to utilize the observable patterns of people-centric DTN in order to develop efficient message forwarding protocols. Below we discuss some of the salient properties of people-centric DTN studied in this thesis:

• Periodicity: most real-world people-centric DTN exhibit repetition in their mobility patterns. For example, public transport networks follow peri- odic schedules. Most individuals have fairly repetitive movement patterns, for example, driving to and from work at approximately the same time ev- ery day. Leisure or shopping time and habits of most people are also bound by repetitive patterns.

• Clustering Properties: clustering is a common property of many people- centric DTN [25, 26]. For example, in vehicular networks, vehicles usually move in groups in urban areas. Also, people tend to concentrate on land- marks, i.e. in libraries, classrooms, bus stoppages etc.

• Power-law Properties: Many empirical studies have found [5, 27] various power-law properties in contact patterns of many real-world people-centric networks (e.g. pocket-switched networks). Also, analysis of the temporal connectivity graph of such networks reveal the existence of hubs, a fraction of nodes which have a high-degree distribution than most of the other nodes.

In this thesis, we leverage these discernible phenomena to design efficient message forwarding protocols for people-centric DTN.

1.3 Challenges in Message Forwarding

Message forwarding is a fundamental communication primitive that needs to be addressed before the network can be used. Message forwarding is challenging in Mobile Ad-hoc Networks (MANET) because each node needs to continuously or dynamically maintain the routing table in order to forward traffic because of the

7 1.3 Challenges in Message Forwarding free movement of the nodes. Note that, MANET is a self-configuring network of mobile devices connected by wireless links. Each node in MANET can act like a router and does not rely on the existence of infrastructure [28]. Since DTN share similarities with MANET, it is tempting to utilize MANET forwarding schemes in DTN. MANET forwarding schemes can be broadly classified as proactive or reactive. Proactive protocols (e.g. DSDV [29], OLSR [30] etc.) build and update the routing table continuously by maximizing the link metrics even when no routing request is made. On the other hand, reactive protocols (e.g. AODV [31], DSR [32] etc.) build the routing table dynamically on demand. However, DTN imposes several challenges in message forwarding which are typically not found in traditional MANET. Many stems from the need to cope with intermittent connectivity. In this section, we discuss the challenges in message forwarding in DTN due to its unique properties.

Network Partitions: in DTN, end-to-end disconnection is a norm than the exception. Disconnections could arise from any predictable movement (such as satellite or planet movement in inter-planetary networks) or opportunistic mo- tion (such as pocket-switched [17] networks) or from a hiatus (such as during sleep times of sensor nodes) or even from node failures. It is necessary for DTN message forwarding schemes to understand that lack of reachability might be a result of a normal situation and not a consequence of a network operation fault. However, it is a fundamental assumption of most MANET forwarding schemes that a path must exist between the source and destination before the actual data can be sent. In DTN, this assumption is seldom justifiable as there may never be a contemporaneous end-to-end connection between the source and the destina- tion. Network partitioning is baneful for reactive protocols. Fig. 1.4 illustrates a scenario when reactive protocols like AODV fail to forward a message. In this scenario, node A has a message to send to node C. Being a reactive protocol, the AODV first needs to find a route to the destination of the message. Therefore, a route request (RREQ) message is sent by node A to its neighbours (node B, in this case). However, B is out of communication range of C and, hence can- not find a route to C. As a consequence, B replies with a route error message (RERR) to A, indicating that there is no route to destination is present. At

8 1.3 Challenges in Message Forwarding

A has a C msg for C B

A A sends a route request (RREQ) msg EQ RR

B C B replies with route RR error (RERR) since no RE A route present for destination

Figure 1.4: Forwarding problem of AODV in face of network disruption this stage, node A stops trying to deliver the message and discards it. Similar problem persists in proactive forwarding protocols that need to find routes be- forehand. Moreover, proactive forwarding protocols suffer from long latency and rapid topology changes, which are common in DTN. We elaborate the problems of proactive forwarding protocols in the next paragraph.

High Latency, Long Queuing Delay: the extreme network conditions affect the transmission, propagation, and queuing delays. The queuing time in DTN may be extremely large (e.g. from several hours to a few days) as compared to that of traditional Internet (e.g. few seconds), due to network partitions and harsh environments. The long delay incurred in DTN renders proactive forwarding protocols perform inefficiently because the short-lived paths, discovered by the protocols, often become stale and thus messages may follow incorrect routing paths. Also in some DTN, where the topology changes rapidly (e.g. in vehicular networks), the proactive forwarding schemes need to exchange control packets continuously in order to update the routing table, causing an enormous overhead.

Widely Varied Capabilities of DTN Devices: since DTN are meant to extend connectivity between a wide range of devices, a secondary problem arises:

9 1.3 Challenges in Message Forwarding the forwarding schemes need to be aware of this heterogeneity when dealing with devices with limited resources. The capabilities of DTN nodes vary widely. In some networks, nodes are equipped with high storage and virtually unlimited power source (e.g. vehicular networks) whereas in some networks, nodes are characterized by their restricted power, storage or processing capabilities (e.g. sensor networks). This renders some storage or power efficient message forwarding schemes [33, 34] meaningless in different scenarios.

A sends the B stores msg to B B the msg C

At t1 A

B B C

B carries the At t2 A msg

B C

At t3 A B forwards the msg to C when C is radio range

Figure 1.5: Store-carry-and-forward principle

1.3.1 Store-Carry-and-Forward Paradigm

In order to cope with network disruption, DTN forwarding schemes employ the concept of the store-carry-and-forward [18, 35] paradigm instead of the tradi- tional store-and-forward approach. DTN rely on the inherent mobility of the

10 1.4 Related Work and the Research Gap participating nodes to store-carry-and-forward the messages for delivery to the destination. Fig. 1.5 illustrates the principle of the store-carry-and-forward mech- anism in a simple network of three nodes. Node A has a message to send to C.

At time t1, A sent the message to B when B was within its communication range.

At t2, B stored the message and began to carry it, since there was no path to

C. At t3, B approached within the communication range of C and was able to deliver the messages to the destination. Based on this store-carry-and-forward principle, researchers have proposed many different message forwarding schemes [18, 25, 35, 36, 37, 38, 39] which seek to utilize some prior information (such as contact schedules, encounter frequencies of nodes, last encountered nodes, and nodes which forward most of the traffic) about the underlying networks. In the next section, we briefly discuss the research trends that address the message dissemination problem in DTN and identify the open issues.

1.4 Related Work and the Research Gap

Since message forwarding in DTN is challenging due to its extreme network con- ditions (such as its intermittent connectivity and high latency), a plethora of message forwarding schemes for DTN have been proposed [18, 25, 35, 36, 37, 38, 39, 40, 41, 42, 43] to address these issues. Naturally the question arises: Is there any need for yet another message forwarding scheme, given that there exist so many forwarding schemes in this research arena? This section seeks to answer this question by identifying the open issues in the existing body of work. There are many characteristics of existing message forwarding schemes for DTN, which can be used for classification purposes, such as use of prior informa- tion (for example, contact schedules, contact frequencies, and last encountered nodes) [18, 25, 38, 39], amount of message replication [40, 41, 42], use of net- work coding [43, 44], and utilization of mobility patterns [18, 38, 39]. Here, we use the two most common properties, the amount of message replication and the use of knowledge of the underlying network properties to categorize the message forwarding schemes for DTN [35, 36]. Replication describes how a forwarding strategy relies on multiple copies of each message. For example, the Epidemic [40] protocol floods the entire network by making a copy of the message for each

11 1.4 Related Work and the Research Gap encountered node. However, making a copy of the message for all nodes in the network causes extreme network overhead. An obvious way to reduce network overhead is to restrict this flooding. For example, the Spray and Wait [41] is a re- stricted flooding protocol which imposes limits on the number of copies each node can make. The other property, the use of knowledge about network properties, describes how information about the underlying network is utilized to make a for- warding decision. Forwarding protocols in this category usually identify available prior information (such as number of encounters of nodes [18] and nodes which forward most traffic [25]) for a particular network and utilize those in message forwarding. The knowledge about mobility patterns is also important, especially in people-centric networks, since these networks exhibit regular patterns which can aid message forwarding. In RFC 4838 [45] Cerf et al. classify the knowl- edge about mobility patterns, based on predictability, as: scheduled, predicted and opportunistic. Inter-planetary networks exhibit highly scheduled movement patterns, whereas the DTN in battle fields or in disaster areas is characterized by their random mobility patterns. The mobility patterns of people-centric DTN usually share the properties of both scheduled and random movement in that their movement patterns are neither entirely random nor highly precise. For ex- ample, though public transport networks are meant to follow specific schedules, the schedules are not precise due to unforeseen reasons (e.g. traffic jam and accidents). Based on the utilization of these two key properties (such as message replica- tion and use of prior information), we try to classify various categories of forward- ing protocols in a 2-dimentional plane (Fig. 1.6), similar to the approach in [35]. The x-axis represents the amount of message replication and the y-axis represents the utilization level of prior information about the underlying network. For ex- ample, at one extreme, the forwarding protocol (e.g. Direct protocol) hands over the message to the destination via direct contact, causing the propagation of a single copy of the message across the network. Whereas, on the other extreme, protocols (e.g. Epidemic protocol) flood the entire network with a copy for each node. Epidemic variants, such as the Spray and Wait, is a restricted flooding scheme. The similarity among these schemes is that they do not utilize any infor- mation (such as contact schedule and frequencies) about the underlying network

12 1.4 Related Work and the Research Gap

Knowledge

Complete Shortest Scheduled Knowledge path-based

Predicted

Gradient Variants Partial e.g. prophet, maxprop etc. Knowledge

Implicit Coding- Epidemic Variants based e.g. epidemic, spray and wait,

No Direct Two-hops Tree-based Epidemic Knowledge Opportunistic

Single Copy Copy per Node Replication

Figure 1.6: Comparison of forwarding protocols based on knowledge and replica- tion in order to aid message forwarding. Most network coding based schemes [43, 44] do not utilize any prior information about the underlying network and dissem- inate encoded messages throughout the entire network, similar to flooding type protocols. Hence, in this respect, these protocols are close cousins of Epidemic variants. The gradient variants (such as Maxprop and Prophet) select the next hop by calculating some utility metrics from the information (e.g. Maxprop uses encounter frequencies) about the underlying network. This class of forwarding protocols tends to utilize available information (e.g. encounter frequencies among nodes) in order to reduce message replication. When the contact schedule of the network is highly precise (e.g. in inter-planetary or satellite networks), shortest path based protocols [39] are used. Since nodes are aware of the precise contact schedule, this class of protocols does not require propagating multiple copies of the message in order to achieve a high delivery ratio. Single-copy forwarding approaches are generally less wasteful of network re- sources than multi-copy schemes because only a single copy of the message exists in the network at any given time. Furthermore, this also eliminates the need for

13 1.4 Related Work and the Research Gap the destination to provide feedback in order to purge outstanding copies in the network because the destination can readily purge the message. This is in con- trast with multi-copy schemes where intermediate nodes tend to keep copies of the message indefinitely. In multi-copy schemes, without any feedback from the destination, it is not possible for the intermediate nodes to determine whether a copy of the message has been reached the destination. As a result, nodes continue to carry copies of the message in multi-copy schemes and eventually a buffer overflow occurs. However, single copy schemes often suffer from perfor- mance degradation when nodes fail to determine the next best forwarder. Since there is only a single copy of the message in the network, forwarding it to an inferior forwarder (due to inadequate forwarding metrics) can seriously hamper the delivery performance. Therefore, single-copy schemes require comparatively more prior information (such as encounter frequencies and schedule) to estimate the next best forwarder than multi-copy schemes in order to yield satisfactory delivery rates. Moreover, with the few exceptions (such as inter-planetary net- works), the detailed knowledge about contact schedules may not be available for most of the networks (such as random opportunistic networks in the battle field) for selecting the best forwarder. On the other hand, multi-copy replication-based protocols (such as epidemic variants) allow for a greater message delivery rate because multiple copies exist in the network: any of which may follow a different path to reach the destination. Therefore, multi-copy schemes tend to perform better in the face of partial information (or lack of information) about the un- derlying network. However, multi-copy schemes primarily suffer from overhead caused by the propagation of multiple copies of same the messages across the net- work. The research trend in multi-copy forwarding is to reduce this overhead by utilizing available information (such as contact frequencies and schedule) about the underlying network. Multi-copy schemes are discussed in more detail in the next subsection.

1.4.1 Problems of Multi-copy Schemes

Though multi-copy schemes offer substantially better message delivery ratios than forwarding-based protocols, they also suffer from several issues in real-world DTN.

14 1.4 Related Work and the Research Gap

The primary problem of multi-copy forwarding schemes is that they are waste- ful with network resources. As the redundant copies of the message increase, the resource wastage (including the , storage and energy) dominates. This problem becomes more severe when network resources, such as the energy and storage capabilities of sensor networks or short contact durations in vehicu- lar networks, are constrained. For example, contact durations are usually short (< 30 seconds) in vehicular networks [46] due to the high speed of vehicular nodes; thereby imposing practical limits on the amount of data transferred at each contact opportunity. Even the delivery ratio of the Epidemic [40] protocol (which theoretically achieves the highest delivery ratio by flooding the network) declines significantly in such constrained networks. This is because network re- sources quickly become exhausted due to redundant transmissions and eventually hinders legitimate transmissions. Fig. 1.7 illustrates the bane of redundant trans- missions using a simplified scenario. There are four nodes (e.g. S, A, B, D) in the example network and node A has a message to send to node D. The contact schedules of nodes S and A with their corresponding neighbours are also shown in Fig. 1.7. At time t1, S sends the message to A (Fig. 1.7-a), which is com- pleted at t3. At t3 (Fig. 1.7-b), B is in contact with S, so S sends a copy of the message to B, which takes t5 to complete. As can be seen from the contact schedule of node A, it comes in contact with D at time t4 (t4 < t5). However, A cannot transmit the message to D during the period t5 − t4 due to the redundant transmission by S. At t5 (Fig. 1.7-c), when A grabs the opportunity to send the message to D, the remaining contact duration between A and D has already become inadequate to transmit the message to the destination. This simple ex- ample suggests that redundant message transmissions do not necessarily increase delivery ratio but can have a negative effect on the performance of the message forwarding scheme. It can be concluded that some redundancy is beneficial for message forwarding but too much is detrimental. Therefore, there should be a tradeoff between redundancy and resource wastage [47]. Researchers seek to reduce network resource wastage in several dimensions. Controlled flooding is one way to reduce resource consumption in flooding based (multi-copy) schemes. For example, Spyropoulos et al. have proposed tree-based multi-copy schemes [41, 42], which set a maximum limit on the number of copies

15 1.4 Related Work and the Research Gap

A D A D S S A D S

B B Transmission fails due to B inadequate At t , At t3, 1 contact duration S sends a msg to A S sends a redundant which completes at t3 copy to B which completes at t5 Nodes Contact duration (e.g. B with S)

Indicates channel busy period (i.e. msg B B B transmission time)

A A A

Time Time Time t t t t1 t2 t3 t3 t4 t5 5 6 7 Contact schedule of S Contact schedule of S Contact schedule of S

Nodes Redundant transmission Wasted contact reduces the transmission period Transmission opportunity of A-D fails because remaining D D D contact duration with D is not enough to S S S transfer msg.

Time Time Time t1 t2 t3 t3 t4 t5 t5 t6 t7 Contact schedule of A Contact schedule of A Contact schedule of A

(a) (b) (c)

Figure 1.7: Problem of redundant transmissions

16 1.4 Related Work and the Research Gap each forwarder can make. In order to reduce storage wastage, Small et al. propose the concept of antipackets [48] to delete obsolete messages. The antipacket is generated by destination and disseminated among the neighbours when it receives a copy of the message, so that the nodes which receive the antipacket can purge their buffer. The use of network coding or erasure coding is another way to reduce unnecessary message transmissions. Ahlswede et al. [49] have proved that network coding can achieve maximum information flow in a network. In the context of DTN, Zhang et al. [43] and Widmer et al. [44] have utilized the Random Linear Coding (RLC) which disseminates the encoded messages throughout the network. However, rather than transmitting the native messages, a node combines these messages to form an encoded message and forwards this encoded message to its neighbours. These schemes achieve a similar delivery ratio like the Epidemic protocol, but at a much lower cost. However, the schemes mentioned above use very little prior information about the characteristics of the underlying network. As mentioned earlier, many real-world DTN (e.g. people-centric DTN) exhibit discernible patterns in their mobility traces, which can be leveraged to further im- prove message forwarding performance. Therefore, many works [18, 25, 37, 38, 50] attempt to utilize prior information about the underlying network in making a forwarding decision. A particularly effective forwarding principle that is often em- ployed when some prior information about the characteristics of the underlying network is available is known as gradient forwarding [35]. In gradient forward- ing schemes, the message tends to follow a gradient of increasing utility function values towards the destination. A weight (based on some utility function) is as- sociated with each node reflecting its suitability to deliver the message to a given destination. A node forwards the message to another contact, provided the latter has a greater weight, which implies that it has a greater chance of delivering the message to the destination. The utility function serves as the routing metric and is based on a variety of parameters, which depend on the a-priori information about the network characteristics, such as last encounter [50] with the destina- tion, encounter frequencies of nodes [18] and nodes which delivered most messages [25]. However, most of the forwarding schemes in this category, suffer from one or more of the following problems. First of all, the schemes, which need to store the

17 1.5 Our Contribution forwarding metrics for all nodes, are clearly not scalable [18, 37, 39]. For example, in MaxProp [18], each node needs to maintain a vector of O(n) entries (n is the number of nodes in the network) to keep encounter information. Every time two nodes meet, they exchange their encounter vectors to each other. The exchange of these vectors is nontrivial in that they consume considerable bandwidth. This situation only becomes worse in larger networks (as the size of the vectors grow with the number of nodes in the network). Secondly, many schemes [18, 37, 50] often use basic prior probabilities (such as unconditional probabilities based on a single entity) to calculate delivery predictabilities. For example, Prophet [37] uses only encounter frequencies to calculate delivery predictabilities. However, if the scheme would have somehow integrated the information about the places of encounters (such as the probability of encounters which is conditioned on loca- tions), then it would have estimated the delivery predictabilities more accurately than the former method, since the encounter frequencies are most likely to vary with locations in a real-world scenario.

1.5 Our Contribution

Considering the issues mentioned in the previous section, we have presented three classes of message forwarding schemes for real-world people-centric DTN, which exploit the key properties (such as the existence of hubs, clustering behaviour, and periodic mobility patterns) of the underlying network in order to aid message forwarding. The research contribution can be summarized as follows.

A. Since the study of observable phenomenon is fundamental to any research, firstly, we have analysed the mobility traces of a large-scale public transport networks (PTN), which is an illustrative example of people-centric DTN. Unlike many previous studies on the characterization of movement patterns, which either use synthetic mobility traces or use traces from small networks (< 50 nodes), this work is based on a very large-scale (∼ 1200 nodes cover- ing about 5100 square kilometer area) real-world public transport network of Seattle, Washington [51]. Although, the Jetcheva et al. have used these

18 1.5 Our Contribution traces in [51], the authors have not analysed the contact and inter-contact patterns of the nodes, which act as major role players on the performance of message forwarding in DTN. Our analysis goes one step further from pre- vious studies [46, 51, 52] in that it characterizes contact and inter-contact patterns and reveals latent patterns of the real-world large-scale vehicle- based DTN. Moreover, this is one of the first studies which examines the mobility traces of a very large real-world PTN and conducts a thorough analysis on its spatio-temporal communication graph considering the ef- fects of different radio propagation models (such as the Two-ray Ground Reflection and the Shadowing model). Our rigorous statistical analysis on the mobility traces reveals several key properties of these networks. These are:

i) Power-law: distribution of contact and inter-contact durations re- semble that of a power-law. This implies that most contact dura- tions between nodes are short-lived (90% of the contacts have less than 2 minutes of lifetime) with only a few exceptions of long con- tact durations. Similarly, though most inter-contact durations (such as time between two contacts) are short in nature, there are few inter- contact instances that are up to 2.5 hours in duration. In observing this behaviour, we modelled the inter-contact durations using Pareto (a power-law model) distribution. ii) Hubs: few nodes (termed as hubs) have very high connectivity than most of the other nodes. This trend also follows that of a power-law distribution. We have found that even 10% of the highly connected nodes are enough to cover about 85% of the network. This suggests the importance of the highly connected nodes as message relays [53]. iii) Clusters: nodes tend to form clusters. We have found that although the average clustering coefficients vary in different radio propagation models, they follow similar time varying trends. Also, few nodes ex- hibit high local clustering coefficients (∼ 1) than the rest of the nodes, corroborating the existence of a few highly connected hubs. We have utilized the information from these in our cluster-based forwarding

19 1.5 Our Contribution

scheme [26], where redundant transmissions have been reduced by con- fining those within the cluster of the destination node. This scheme has been elaborated in Chapter 5. iv) Periodicity: nodes follow predictable regular mobility patterns. This is an important property of people-centric DTN. People inherently follow schedules. For example, going to and from work places at the same time every day, resting periods during the day - all rotate around a schedule. Our study shows that although the schedule is not precise, this information can be utilized in statistical forwarding schemes [54].

These findings not only aid us in designing efficient message forwarding schemes for people-centric DTN but also help in devising realistic mobility models for these networks. Our findings about the key properties of public transport networks are in accord with the studies of other types of people- centric networks (such as Pocket Switched Networks). This suggests that designed protocols, considering these key properties, are generic enough to be applicable for a wide variety of people-centric networks (such as vehicular networks and pocket switched networks), since all of these aforementioned networks exhibit similar key characteristics.

B. By utilizing the above mentioned power-law properties of the underlying network, we have proposed the HubCode [53], which is a hub-based message forwarding scheme for people-centric DTN. By relying on hubs as message relays, our scheme reduces redundant message transmissions without penal- izing the delivery ratio. The delivery ratio is not affected because the hubs collectively form a virtual data conduit which reaches most of the nodes. In order to utilize bandwidth efficiently, our approach utilizes linear network coding for exchanging messages among hubs. Recall that most network coding based forwarding schemes for DTN [43, 44] disseminate the encoded messages to the entire network. On the contrary, in HubCode, we have confined the dissemination of encoded messages among the hubs without penalizing the delivery ratio, since the hubs collectively cover most of the network. Message forwarding is performed in two phases: i) source hands over the messages to the hubs, and ii) hubs in turn encode and disseminate

20 1.5 Our Contribution

the messages inside the data conduit, which reaches most of the nodes of the network. Upon receiving sufficient number of encoded messages, the receiver can decode the original messages by solving a set of linear equa- tions. Two versions of HubCode are presented, with each scheme exhibiting contrasting behaviour in terms of the computational costs and forwarding overheads. Simulation results suggest that under pragmatic assumptions (i.e. short contact durations), our schemes achieve 20% higher delivery ra- tio and less than half of the delivery costs of other comparable strategies. We have also presented a mathematical model and a closed-form expression for estimating the message delivery delay.

C. Recall that some people-centric DTN (such as vehicular networks) often form time varying rich clusters. With this observation, we have proposed a cluster-based forwarding scheme [26] when the information about clustering of nodes is known. Though the clustering of nodes can aid forwarding decisions in these networks, the clustering process is extremely costly in a large network. We have proposed a novel technique to reduce the complexity of forming clusters by an order of magnitude using dynamic programming methods. We have also demonstrated how encounter frequencies of public transport networks can be fed into this clustering algorithm in order to build clusters of nodes. Finally, our large-scale extensive simulation study on real bus traces shows the efficacy of our approach. Our cluster-based forwarding approach outperforms the Spray and Wait scheme by about 12% in terms of delivery ratio, incurring similar delivery cost.

D. Message forwarding in many real-world people-centric DTN can benefit from the fact that these networks (for example, public transport networks) often exhibit repetitive patterns in their mobility traces. This phenomenon has been utilized in our Bayesian forwarding approach [54] for finding the suitable forwarder when the node movement history is available (i.e. this information is often recorded in public transport networks). In particular, we present a Bayesian classifier based DTN routing framework that adopts a methodical approach for computing the forwarding metrics by utilizing the network parameters (for example, spatial and temporal information at

21 1.5 Our Contribution

Knowledge

Complete Shortest Scheduled Knowledge path-based

Predicted Bayesian

Gradient Variants Partial e.g. prophet, maxprop etc. Knowledge Cluster- based Implicit HubCode Coding- Epidemic Variants based e.g. epidemic, spray and wait,

No Direct Two-hops Tree-based Epidemic Knowledge Opportunistic

Single Copy Copy per Node Replication

Figure 1.8: Reliance of knowledge and replication of our forwarding schemes

the time of message forwarding) that captures the periodic behaviour of people-centric networks. To the best of our knowledge, this is one of the first studies that adopts the Bayesian inference in the context of DTN mes- sage forwarding. Our simulation results demonstrate that even a simplistic single-copy forwarding scheme which is based on our Bayesian approach outperforms existing gradient-based single copy schemes by 25%, in terms of delivery ratio.

E. It should be mentioned that our simulation methodology incorporates the fact that most contact durations between nodes are usually short in nature, and transmission times are not instantaneous. These are often over-looked in many existing literature.

For the sake of completeness, in Fig. 1.8, we have plotted the approximate positions of our proposed forwarding schemes according to their dependence on the knowledge and message replication.

22 1.6 Thesis Organization

1.6 Thesis Organization

The rest of the thesis is organized as follows: Chapter 2 reviews the relevant literature from the characterization of DTN movement patterns to message dissemination schemes. The existing body of work is broadly categorized and compared with the techniques presented in this thesis. Chapter 3 is dedicated to the characterization of real-world DTN movement patterns. In particular, we have used the mobility traces of city buses in Seattle, Washington, which is composed of around 1200 vehicles covering a 5100 square kilometer area. The traces were collected over a three-week period in October- November 2001. We assume that every vehicle was equipped with a radio com- munication device. This public transport network is an example of a large-scale real-world people-centric DTN. A thorough analysis on its spatio-temporal com- munication graph reveals the existence of hubs, clustering of nodes and repetitive patterns in people-centric DTN. We have also modelled the contact and inter- contact durations using a power-law distribution (i.e. Pareto). Based on our findings about the key characteristics of people-centric DTN, we present different classes of message forwarding schemes for people-centric DTN. In chapter 4, we propose HubCode, a message forwarding scheme using a hub- based network coding, which leverages on the fact that a few nodes have a very high-degree distribution than most of the other nodes. Collectively these highly connected nodes form a data conduit which covers most of the other nodes in the network. We have also presented a mathematical model and closed formed expressions for message delivery delay. In Chapter 5, we propose a cluster-based message forwarding scheme, which leverage on the clustering properties of a people-centric DTN. We have also shown how the dynamic programming paradigm can be employed to reduce cluster- forming complexity. Chapter 6 presents a Bayesian message forwarding framework, which utilizes the repetitive patterns of people-centric DTN to calculate the routing metric to choose next best hop. We have then drawn our conclusion in Chapter 7 with a summary of the research findings and a note on the open issues.

23 Chapter 2

Literature Review

Given the vast body of related researches in the domain of message forwarding in DTN, we broadly classify the literature into two major parts: a) characterization and b) message forwarding. Since the study of observable phenomena is funda- mental to any research, we begin our discussion by highlighting prior work which have attempted to characterize people-centric DTN by analysing empirically col- lected movement traces (Section 2.1). We further classify this area of research into three sub-categories based on the types of the underlying networks. In par- ticular, Section 2.1 highlights the studies on wireless association patterns with access points (in infrastructure-based networks), the characteristics of human mo- bility (using bluetooth-based short communication devices in infrastructure-less networks) and the characteristics of vehicular networks from empirically collected mobility traces. These studies are of high importance because these provide us the insights to develop efficient communication protocols. In the second part of this chapter (Section 2.2), we categorize existing message forwarding schemes for DTN and highlight how these schemes differ in utilizing information about the underlying network and how they differ with our forwarding schemes presented in this thesis.

2.1 Characterization of People-centric DTN

In recent years, several researchers [5, 17, 46, 55, 56] have analysed the proper- ties of people-centric DTN using empirically collected traces. These traces can

24 2.1 Characterization of People-centric DTN be broadly categorized into: a) human mobility traces, b) wireless access point association traces, and c) vehicle mobility traces. We discuss research works in each category in the next few paragraphs.

2.1.1 Human Mobility Based Traces

There have been several attempts [17, 56, 57] at collecting and characterizing human mobility data using small mobile devices such as iMotes and PDAs. Su et al. [57] have collected traces of pair-wise connections by providing PDAs (Palm Tungsten T devices with short range Bluetooth ) to a group of students. They have conducted two separate user studies. Each study involved approxi- mately 20 students from two separate classes in two different departments (e.g Computer Science and Electrical and Computer Engineering) at the University of Toronto. The first user study involved only graduate students, which lasted for two and half weeks. In addition, the authors hid three devices in several fixed locations to simulate an always available stationary user. The second user study involved only undergraduate students, which lasted for eight weeks. Each PDA recorded the contact data as the form: htimestamp, nodeid, nodeidi. The data showed that even though the people-centric network is sparse, it has good con- nectivity, and multi-hop forwarding can be used to reduce delivery latency rather than waiting for the nodes to have direct contact. The authors also share their experience in collecting mobility traces and in solving some challenges regarding power management. The authors in [17] introduce the notion of Pocket Switched Networks that makes use of both human mobility and wireless connectivity among other devices in order to disseminate messages. The authors have gathered human mobility data in a conference setting (IEEE INFOCOM conference in Miami in March 2005) by providing Bluetooth enabled devices (e.g. Intel iMote) to 54 partici- pants. The iMotes were configured to perform a Bluetooth base-band layer ’in- quiry’ in order to discover the MAC addresses of other Bluetooth nodes in range and the results are written to on-board flash RAM of iMotes. Their work shows that the time between node contacts exhibits power-law distribution. They have also suggested that forwarding algorithms can benefit from the different contact

25 2.1 Characterization of People-centric DTN patterns at different times of the day. In [58], based on the findings from [17], the researchers have found that the current mobility models (such as random way-point, uniformly distributed locations) do not exhibit characteristics that are found from real life mobility pattern. They have also suggested the patterns found from real traces can be utilized in knowledge-based opportunistic forward- ing algorithms.

2.1.2 WiFi Access Point Based traces

Due to the ubiquitous presence of 802.11b wireless access points (AP), many researchers [5, 27, 55, 56] have studied the characteristics of user and AP interac- tion from traces generated by APs. Such studies provide a clear understanding of wireless LAN users association with access points. It is assumed that two nodes can communicate with each other if they are associated with the same access point contemporaneously. Henderson et al. [56] have analysed an extensive network trace from a 802.11 WLAN (in Dartmouth College), which includes 566 access points and over 7000 users during 17 weeks period (Fall and Winter terms of 2003-2004). There were 476 Cisco 802.11b access points installed back in 2001 to cover most of the cam- pus. Since then, APs have been added to cover more areas and new construc- tions. The authors have also conducted studies on AP traces during the initial deployment of WLAN in their campus back in 2001. They have collected the traces from syslogs, records, SNMP polling and tcpdump packet sniff- ing. The primary purpose of their analysis on that trace was to measure the geographic mobility as well as network mobility. By re-initiating the study after the WLAN has matured, the authors have found dramatic increases in usage, and changes in the applications and devices on the network. Initial usage was dominated by HTTP traffic, whereas the new usage shows a significant increase in peer-to-peer, streaming multimedia and voice over IP (VoIP) traffic. The au- thors have also defined a new metric for mobility, called the session diameter, which is the maximum Euclidean distance between two APs visited during the session. Intuitively, the session diameter indicates the size of the area in which the user travelled during that session. The AP is considered to be the home of

26 2.1 Characterization of People-centric DTN the users who spent 50% of of their total time within 50m of the session diameter of that AP. Using this metric, the authors have shown that embedded devices have different mobility characteristics than laptops and roam around more access points. However, overall, users are surprisingly non-mobile, with 50% remaining close to home about 98% of the time. Papadopouli et al. [27] have conducted a study of wireless users and their as- sociation patterns on a campus network (University of North Carolina at Chapel Hill) covered by 802.11 wireless infrastructures (mostly by CISCO Aironet 350). The authors have collected syslog events from most (232) of the campus-wide ac- cess points during 2003-02-10 to 2003-04-27. An AP generates log messages from IEEE802.11 MAC level events, which indicate when a user associates, authenti- cates, de-authenticates, or disassociates with the AP. During the measurement period, they have recorded 8,158,341 syslog events from 222 access points for 7,694 clients (e.g. laptops, PDAs etc.). In addition to AP’s unique IP address, the authors have also maintained the information (e.g. coordinates, type etc.) about the building where the AP was located. They characterize wireless access patterns based on mobility, session, and visit duration. They have shown that as the session mobility increases, the visit duration tends to decrease stochastically. They have used biPareto distribution to model session duration between users and APs. Hsu and Helmy [5] have studied wireless LAN traces from five different sources and focused on the encounter patterns between users. They have also collected wireless traces from their own institution (University of Southern California (USC)), which is one of the most extensive data sets so far. Their traces (USC) include data from more than 1300 APs and covers over 12,000 distinct users. The four other traces are from MIT [55], Dartmouth [56], UCSD [59], and Cambridge [17]. They have chosen the different traces in order to represent different environ- ments, user populations, location granularity, and trace collection methods. For example, time granularity of events is one second for Dartmouth traces as they were collected from syslog. USC trace also has time granularity of one second. For USCD, MIT, and Cambridge traces, time granularity was limited by the polling method which was used to collect traces. For the USCD trace, the time granu- larity was 20 seconds, and for MIT trace, it was 5 minutes. The time granularity

27 2.1 Characterization of People-centric DTN

Table 2.1: Statistics of Different Mobility Traces [5] Trace Unique Unique Unique Trace Type Source users APs buildings duration MIT[55] 1366 173 3 2002-07-20 to WiFi 2002-08-17 Dartmouth[56] 10296 623 188 2001-04 to WiFi 2004-06 UCSD[59] 275 518 N/A 2002-09-22 to Bluetooth 2002-12-08 USC[5] 4548 79 73 2005-12-03 to WiFi ports 2005-04-20 Cambridge[17] 41 N/A N/A 2005-03-07 to Bluetooth 2005-03-10 of Cambridge trace (discussed in Section 2.1) was 120 seconds. Also, in order to make the results comparable between traces, the authors have only analysed selected one month-chunks from the larger traces (e.g. Dartmouth and USC). A comparative statistics of the traces are given in Table 2.1 [5]. The authors have modelled the encounter patterns using biPareto distribution. Their empirical re- sults show that typical wireless LAN users encounter with only a small portion of the entire network (on average between 1.88% to 6.70%). In spite of low per- centages of encounters, they have shown that these few encounters are sufficient to build encounter relationship (ER) networks because it resembles the Small World Network model. Using simulation study, the authors have also shown the potential for message forwarding without relying on infrastructures. Their anal- ysis on encounter patterns raises two intriguing points: 1) the message delivery ratio and delay are not affected significantly even if the shortest path is not cho- sen, and 2) it would be difficult to prevent dissemination of malicious messages (i.e. computer worms or viruses) from propagating through encounters. Both of the observations are due to the richness in contact patterns which enable ample opportunities for message dissemination.

28 2.1 Characterization of People-centric DTN

2.1.3 Vehicle Based Traces

Due to lack of availability of real-world vehicle-based traces in the public domain, most studies [52, 60, 61, 62, 63, 64] on vehicular networks resort to synthetic traces. The authors in [63] use a commercial microscopic traffic simulator VISSIM to simulate traffic movement. Their road setup is a closed (i.e. without entry and exit) three lane highway of 26 Km in total. The other behaviours including acceleration/deceleration, lane-changing, car-following have been simulated using common models found in literature on transportation. The key finding of the setup is that 90% of all unicast paths have a lifetime of less than 50 seconds. Blum et al. [62] simulate road geometry, which corresponds to 9.2 miles of highway with 10 exits and 10 ramps by using a commercial microscopic simulator CORSIM. Their results indicate that network layers need to be used efficiently due to limited available bandwidth and rapidly changing topology. Most of the links are short-lived (about 1 minutes in average) even for the vehicles travelling on the same direction with a long transmission range (i.e. 500ft). Their study also shows that sending even a relatively small message over 3 to 4 hops is likely to suffer a route error. The work presented in [64] studies how traffic density can affect the delay experienced in VANET by comparing the simulation results of different routing algorithms using different highway directions (unidirectional vs. bi-directional) and varying number of lanes (1-5 lanes). In traditional MANET routing protocols (e.g. AODV, DSR etc.), message is dropped when no next hop exists whereas in opportunistic routing (i.e. store-carry-forward paradigm in DTN) messages buffered at the intermediate nodes when the next hop is unavailable. The results show that opportunistic routing decrease the message delivery latency. Another important result is that three or more lanes decrease the delay, which implies that freedom of movement is essential to prevent vehicle clustering due to a few slow moving vehicles. There are several attempts to explain the topological characteristics of VANET by adopting graph theoretic approaches. Conceicao et al. [60] present a prelim- inary characterization of the connectivity of VANET graph model in an urban environment. They have shown the temporal evolution of average node degree

29 2.1 Characterization of People-centric DTN by transforming the vehicular network into a transitive closure graph. However, the authors study only the average node degree for a small time interval without delving into rigorous analysis of the networking shape of vehicular mobility. In a comprehensive analysis [61], Fiore et al. study the node degree distribution, link duration, clustering properties of VANET graphs under various mobility models. Their study tries to explain why different models lead to dissimilar network pro- tocol performance by focusing on the topological properties of different mobility models. Pallis et al. [52] have supplemented the above mentioned study [61] by seeking the answers of questions like: how its communication graph looks like over time and space, how robust it is, what are the link duration statistics in VANET when vehicles move in urban areas. It should be reiterated that all of the above mentioned studies have been performed on synthetic traces. There are only few studies which use real-world vehicular mobility traces. Seada et al. [65] set up a real-world experiment con- sisting of 10 vehicles which loop around a 5-mile segment of a freeway. They have focused on the connectivity issues of VANET, but ignored its topological aspects. The Umass DieselNet [18, 46] is a slightly larger DTN testbed, which now com- prises of 40 buses, spanning over 150 square miles in Amherst (Massachusetts). This bus network operates daily from the UMass Amherst campus and covers the surrounding county. Each bus carries a custom package of off-the-shelf compo- nents (e.g. HaCom Open Brick computer - P6 compatible 577Mhz CPU, 256MB RAM). An 802.11b AP is attached to each bus in order to provide DHCP access to passengers and passers-by. A second USB-based 802.11b interface continuously scans for DHCP offers from other buses. Each bus was also equipped with GPS. The buses periodically broadcast on a single channel at 100ms interval. At each contact opportunities between a pair of buses, they try to transfer as much amount of data as possible using TCP. The timestamp, contact duration, and amount of data transfer are logged on on-board storage devices (40GB hard drive). Since the actual data transfer was affected by many factors, such as bandwidth, movement, density, interference etc., this gives more realistic view of contact opportunities than mere contact durations. Using the Umass DieselNet traces, Zhang et al. [46] have shown that although all-bus-pairs aggregated inter- contact times show no discernible pattern, the inter-contact times aggregated

30 2.2 Message Forwarding in DTN at a route level exhibit periodic behaviour. They have proposed a generative route-level model that captures the above mentioned behaviour. Using the same testbed, Burgess et al. [18] proposed a forwarding scheme which utilizes contact frequencies of buses in order to calculate forwarding metric. However, the only publicly available large-scale simulation study using real vehicular mobility traces can be found from the study by Jetcheva et al. [51]. The mobility traces have been collected from city buses in Seattle, Washington, which is composed of around 1200 vehicles covering a 5100 square kilometre area. The traces were collected over a three-week period in Oct-Nov 2001. One of their key findings is that the maximum path length is 48 hops if access points are not considered. However, the authors have not analysed the contact and inter-contact patterns of the nodes, which are the key role players in DTN. In Chapter 3, we have analysed this large vehicular network, and our findings about power-law properties in the inter-contact durations are consistent with the studies presented in other people-centric networks [5, 27].

2.2 Message Forwarding in DTN

As mentioned in the previous chapter that message forwarding is a fundamental problem that must be solved before a network can be used, and it is even more challenging in DTN due to intermittent connectivity. As a result, there have been extensive research on this issue in DTN which dates back even before the term delay tolerant networks was coined. The terms intermittently-connected, disruption tolerant, sparse, and disconnected are used synonymously to describe such networks which lack contemporaneous end-to-end connections. Surveys of message forwarding schemes for intermittently-connected networks can be found in [35, 66, 67]. As mentioned in Chapter 1, we broadly classify the forwarding schemes for DTN based on their use of the properties: message replication and use of information. The first property implies how the scheme uses multiple copies of a message, and the second property indicates how information about the underlying network is used in order to ameliorate forwarding decision. The information about mobility patterns can be further classified as: scheduled, predicted, and opportunistic, as mentioned in RFC4838 by Cerf et al. [45]. Fig. 2.1 presents our

31 2.2 Message Forwarding in DTN

DTN Message Forwarding

Knowledge-less Knowledge-based

Single Copy Deterministic Stochastic Multi-copy (Direct Contact) Mobility Pattern Mobility Pattern

Two-hop Relay Tree-based Flooding Predicted Opportunistic

- Epidemic Variants - Gradient Variants - Coding-based - Cluster-based

Figure 2.1: Taxonomy of DTN forwarding schemes approach to classify DTN message forwarding schemes. In this section, we show how prior research fit into the classification scheme. It should be noted that like any other classification methods, there are always some cases that do not cleanly fit in either group but rather share the characteristics of both.

2.2.1 Knowledge-less Forwarding

Forwarding schemes, which belong to this family, assume that there is little knowl- edge available (if any) about the underlying network. In order to disseminate a message without knowledge, in one extreme, the source directly delivers the mes- sage to the destination, whereas in other extreme, the message is flooded to all nodes in the network. Many early works in the area of DTN routing fall into the latter category. Though the basic protocols do not require any knowledge about the network, more advanced schemes do utilize some available knowledge to improve performance.

2.2.1.1 Direct Contact

In this scheme [35, 67], the source waits until it comes in direct contact with the destination. Although this strategy is marked by its simplicity, extremely low resource consumption and lack of dependence on knowledge about the underlying

32 2.2 Message Forwarding in DTN network, it only works if the source contacts the destination [67]. Freinkel et al. uses this technique in the Infostation architecture [68] for increasing throughput and decreasing cost. However, this strategy is not suitable for large networks with hundreds or thousands of nodes. In fact, Grossglauser et al. [20] have showed that the capacity of this strategy approaches zero as the number of nodes increases.

2.2.1.2 Two-hop Relay

The source copies the message to first m nodes it meets and these m + 1 nodes, which have a copy of the message, wait until any of which meets the destination [35, 67]. Since, there are now m + 1 copies of the message in the network, the probability of delivering the message to the destination is higher than that of direct contact method. Also, the resource consumption can be controlled by adjusting the number of initial copies m. The value of the initial number of copies m can be increased to improve the probability of delivering the message, incurring increased cost (in terms of message replication). However, it should be noted that this scheme fails to delivery the message (as in Direct contact method), when the m + 1 never reach the destination. Grossglauser et al. [20] have shown that in ideal conditions, this approach can be used to increase the capacity of ad hoc networks. Shah et al. have studied this approach in Data Mules [69] project, which involves in collecting data from sensor networks.

2.2.1.3 Tree-based Flooding

This scheme augments the two-hop relay protocol by permitting the relay nodes in the two-hop relay scheme to replicate and forward messages. The generic technique is known as tree-based flooding because the source forms the root of the tree whose children are the set of relay nodes. There are many variations of this protocol, which vary in the exact procedure used for replicating messages. Small et al. [48] have studied a version of this protocol which imposes limits on the depth and breadth of the tree, thereby limiting resource consumption. In their approach, each node can make a maximum of m number of copies and the message can travel at most n hops away from the source. Therefore, the total number of

33 2.2 Message Forwarding in DTN

n i copies is limited to i=0 m [35, 67]. Spyropoulos et al. [41] have proposed an alternative form, knownP as Spray and Wait, in which a node distributes half of its copies to relay nodes and keeps the rest for direct delivery. The authors have shown that this scheme attains optimality when the inter-contact probabilities between nodes are independent and identically distributed.

2.2.1.4 Epidemic

Vahdat and Becker [40] proposed the Epidemic forwarding scheme for DTN. In Epidemic protocol, when two nodes meet they exchange their summary vectors, which contain the list of messages that a node is carrying. Using this summary vector, a node can forward the messages which its peer do not have. This scheme represents the other extreme end of the replication-based protocols because it tries to send a message over all available paths. Since it explores all available paths to send the message to the destination, message delivery is guaranteed (if there is a path to destination at all). Moreover, since the message is forwarded along with all available paths, one copy of the message reaches the destination using the least cost path (in terms of delivery latency). Therefore, researchers often compare their forwarding protocols against Epidemic protocol because it provides an upper bound on delivery ratio and lower bound on delivery latency. Though it is extremely robust against node failures, this scheme consumes the highest network resources. In fact, Susant et al. [47] suggests that too much redundancy does not necessarily increase the delivery ratio. Many research papers [18, 37, 41, 48, 70, 71, 72, 73] have studied the ways to reduce resource consumption of Epidemic protocol. For example, as discussed in the previous section, the Spray and Wait [41] protocol limits the number of copies by distributing half of the copies to relay nodes and keeping the rest for direct delivery. Extensive research [74, 75, 76, 77, 78] have been carried out to develop math- ematical models for epidemic-based forwarding protocols. For example, Zhang et al. [77] have modelled the system dynamics of forwarding a single packet us- ing Ordinary Differential Equations (ODE). Lin et al. [79] have extended this to account for a batch of packets for both replication and network coding based forwarding.

34 2.2 Message Forwarding in DTN

Propagation of stale messages throughout the network, after the message has been delivered, is an eminent problem of Epidemic protocol. immune [40] and vaccine [74] are two ways to purge these stale messages by propagating a small acknowledgement message to all nodes. In immune, a corresponding small packet (termed as anti-packet) is stored in the node as soon as the message is delivered to the destination, in order to prevent itself from forwarding the same message again. A more aggressive scheme to purge stale messages is the vaccine, wherein the node also forwards these anti-packets to its peers. Small et al. [48] have shown that the more aggressive the propagation of the acknowledgement message is, the less storage each node requires. Obviously, more aggressive acknowledgement propagation mechanism increases message overhead [72].

2.2.1.5 Network Coding

With network coding, a node may recombine several input messages into one or several output messages. The benefits of this approach are: a) potential through- put improvements and resilience to data loss [3]. Fig. 2.2 shows a simple scenario [3] where nodes A and node B try to exchange messages via the intermediate node S. When network coding is not used, it takes 4 transmissions to complete the operation. Node A first transmits its message a to the intermediate node S. Next B transmits its message b to S. Now S needs two more transmissions to send the two message a and b to B and A respectively. However, if network coding is employed, then S could have forwarded an XOR-ed version of a and b (i.e. a ⊕ b) to both nodes A and B using a single transmission. The nodes can now decode the original message by performing XOR operation on the received encoded message with the message that they already have. For example, A can retrieve b from a ⊕ b by XOR-ing it with a. Although, the fundamental concept of network coding was presented by Yeung et al. [80], Ahlswede et al. [49] first coined the term network coding and showed that it can achieve maximum information flow in a network, in the context of multicasting. In recent years, researchers have demonstrated that network coding can improve the throughput in wireless networks for unicast [81, 82, 83, 84] as well as broadcast transmissions [85]. Lun et al. [83] and Li et al. [84] present

35 2.2 Message Forwarding in DTN

a a A S B Step 1 A S B

b b A S B Step 2 A S B

a"b a"b A b S B Step 3 A S B

a A S B Step 4

a) Without Coding b) With Network Coding

Figure 2.2: Benefits of network coding [3] theoretical results on the application of network coding for unicast transmissions. The work presented by Katti et al. [81] and Dong et al. [82] focus on practical issues. They demonstrate that network coding can benefit from leveraging the broadcast advantage in wireless networks. Katti et al. [81] also present empirical results from testbed deployments and proclaim that their proposed method can increase the throughput several folds. However, their methods are suited for densely connected networks such as mesh networks, where the nodes can overhear their neighbours’ transmissions. Consequently, these schemes are not effective for intermittently connected networks such as DTN.

36 2.2 Message Forwarding in DTN

A few papers [43, 44, 79, 86] have studied the use of network coding in DTN. Zhang et al. [43] and Widmer et al. [44] have studied the benefits of using Ran- dom Linear Coding (RLC) for unicast transmissions in DTN. RLC uses straight- forward flooding to distribute the messages in the network. However, rather than transmitting the native messages, a node combines these messages to form an encoded message and forwards this encoded message to its neighbours. The coef- ficients used in the encoding process are also transmitted along with the message. The messages are only decoded at the destination, when it receives sufficient num- ber of encoded messages (n linearly independent encoded messages are required to decode n messages). As mentioned in Chapter 1, the major problem of the afore- mentioned schemes is that they still disseminate the encoded message throughout the network, similar to flooding type protocols. There are no provisions for in- corporating prior information about the underlying network in order to reduce unnecessary message transmissions. As a result, the delivery cost (in terms of re- dundant message transmissions) still remains high. One of our proposed scheme, HubCode (see Chapter 4) also employs network coding for forwarding messages. However, there are two key differences. First, instead of flooding the messages in the network, we leverage the power-law properties of the network and only choose a small fraction of the nodes, which have high connectivity (i.e. hubs), as the relay nodes. Second, only the hubs are responsible for coding of the mes- sages. With these measures, we have reduced unnecessary message transmissions without penalizing delivery ratio.

2.2.2 Knowledge-based Forwarding

The strategies in this family use information in order to find suitable custodians at the proper time. Depending on the level of available knowl- edge, a forwarding scheme seeks to restrict the number of copies of message in the network. One of the most important characteristics of a DTN is its contact schedule, since it determines the message delivery latency. Based on the contact schedule, the mobility patterns can be broadly categorized as: deterministic or stochastic.

37 2.2 Message Forwarding in DTN

Deterministic mobility pattern is observed in inter-planetary networks [87]. The movements of the stellar bodies are highly deterministic. Merugu et al. [39] have proposed a modified Dijkstra algorithm for computing the shortest path in intermittently connected networks in scenarios where nodes follow deterministic paths. Assuming a precise schedule, Jain et al. [4] have presented a variety of forwarding protocols, which utilize different amount of information. They have represented DTN as a directed multi-graph, in which more than one edge may exist between a pair of nodes. Time dependent capacities have been assigned to the edges of the graph (i.e. capacity is zero at times when the link is unavailable). The authors have modified Dijkstra’s shortest path algorithm to accommodate time varying edge costs in order to determine the shortest path from source to destination. The first forwarding protocol MED (Minimum Expected Delay) re- quires the least amount of information. It assigns the cost of an edge as the sum of the average waiting time, propagation delay, and transmission time. For the same source-destination pair, MED uses the same path for all messages. MED mini- mizes the average waiting time but fails to exploit superior edges which become available after the route has been computed. Next, the protocol ED (Earliest Delivery) incorporates precise knowledge about propagation (as in MED) and transmission delay to calculate edge cost. However, paths computed by ED do not take into account queuing delays. If an edge is purported to be available, the algorithm uses it. However, the edge may disappear before the message can be sent. Therefore, route computed by this method may become far from opti- mal. The next protocol is EDLQ (Earliest Local Queuing), which requires the information of the buffer occupancy at each node in addition. Finally, the EDAQ (Earliest Delivery with All Queues) requires additional information about traf- fic demands for all nodes in order to calculate exact queuing delay. The Fig. 2.3 shows the tradeoff between conceptual forwarding performance versus utiliza- tion of prior information of the forwarding protocols [4]. The x-axis represents the amount of utilization of a-priori information about the underlying network, whereas the y-axis depicts the performance of the forwarding protocols. The fig- ure shows that the protocols which use more information have higher delivery ratio and lower latency.

38 2.2 Message Forwarding in DTN

lexity omp her C LP , Hig ance rform er Pe EDAQ High EDLQ Contacts + ED Contacts Contacts Queuing MED + + + Performance Queuing Queuing Traffic FC Contacts Contacts (local) (global) None Summary Use of Knowldege

Figure 2.3: Knowledge vs. delivery ratio [4]

The vast majority of DTN, however, do not exhibit perfect scheduled mo- bility patterns. Their mobility patterns can be described as stochastic, which range from predicted to random mobility. In extreme cases, such as in people- centric networks at battle fields (e.g. network of armoured vehicles), the mobility patterns can be completely random. However, the mobility patterns of most real-world people-centric DTN, such as Pocket Switched Networks [17] or vehic- ular networks, are neither perfectly scheduled nor entirely random. For example, although public transport networks [51] follow some schedule, it is not precise. Various factors, such as traffic jam and accidents affect the accuracy of the sched- ule. The mobility patterns of these networks can be rather classified as predicted (Fig. 2.1). In the next few paragraphs, we discuss various forwarding schemes for people-centric DTN, which make use of some information about the underlying network.

2.2.2.1 Gradient Forwarding

Gradient forwarding strategy [35] is often employed when some knowledge about the underlying network is available, wherein the message tends to follow a gradient of increasing utility function values towards the destination. The basic idea is to transfer the message to the contact that has a better chance of delivering the message to the destination (which is often quantified using a delivery metric) than the incumbent. A weight (based on some utility function) is associated with each node reflecting its suitability to deliver the message to a given destination.

39 2.2 Message Forwarding in DTN

A node forwards the message to another contact provided the latter has a greater weight, which implies that it has a greater chance of delivering the message to the destination. The utility function serves as the routing metric and is based on a variety of parameters which depend on the a-priori information about the network characteristics, such as last encounter [50] with the destination, encounter frequencies of nodes [18, 37], etc. The forwarding schemes proposed in [50] and [38] maintain age-of-last-encounter timers and choose a forwarding node that has most recently encountered the des- tination. Lindgren et al. introduced PROPHET [37], a probabilistic routing strategy wherein each node maintains a utility function, which is an exponential weighted moving average of prior contact probabilities for every other node. In particular, an adaptive algorithm is used to determine the delivery predictabili- ties in each node. The node M stores delivery predictabilities P (M,D) for each known destination D. In the absence of delivery predictability of a destination, the corresponding entry is marked as zero. The delivery predictabilities used by each node are recalculated at each opportunistic encounter according to the fol- lowing rules [88]: a) upon the encounter of another node E, the predictability for

E is calculated as: P (M,E)new = P (M,E)old + (1 − P (M,E)old) × Lencounter, where Lencounter is an initialization constant; b) the predictabilities for all other K destinations are computed as: P (M,D)new = P (M,D)old × γ where γ is the aging constant and K is a counter, which keeps track of the elapsed time units since the last aging; and c) predictabilities are exchanged between peers and the transitive property of predictability is used to update the predictability of destinations D. The protocol has been incorporated into the reference implemen- tation maintained by the IRTF DTN Research Group and has been successfully deployed in a real-world DTN [21]. In MaxProp [18], Burgess et al. use incremental averaging of node encounters to calculate the delivery predictability. In order to estimate the delivery pre- dictabilities, each node maintains a vector of size n − 1 (where n is the number of 1 nodes in the network) [88]. Each element of the vector is initially set to |−n| 1 . In- tuitively, it means that the node is equally likely to meet any other node. Upon meeting another node, the corresponding element of the vector is incremented by 1, and then the entire vector is normalized such that the sum of all entries

40 2.2 Message Forwarding in DTN becomes 1. Two encountered nodes first exchange their estimated node-meeting likelihood vectors. Using these n vectors, a node can compute the shortest path where path weights indicate the probability that the link does not occur. The total path cost is computed by summing up these path weights. The costs are computed for all possible paths to the desired destination and the least cost path is chosen for that destination. In addition, each node maintains a destination- based sorted queue, ordered by the estimated likelihood of a future transitive path towards the destination [88]. The messages are then transmitted and dropped in that order in order to utilize the buffers efficiently. The authors use the UMass DieselNet (discussed earlier in this Chapter) testbed to demonstrate the efficacy of their protocol. Their evaluations show that MaxProp performs better than even protocols that have access to an oracle that knows the schedule of meeting between peers. However, most of the above mentioned stochastic forwarding protocols use prior probabilities (i.e. the probability of an event regardless of other events) in making a forwarding decision. For example, PROPHET [37], MaxProp [18] uses unconditional encounter-based prior probabilities to calculate the shortest path. On the contrary, our proposed decision model (see Chapter 6) is based on posterior probabilities, i.e., the probability of an event when relevant other attributes are taken into account. Consequently, this enables our scheme to make a more informed decision on choosing suitable forwarders and thus improves the routing performance in terms of delivery ratio. As highlighted previously, empirical analysis of the mobility patterns of sev- eral people-centric DTN have revealed that the degree distribution of the network graph follows a power-law. In recent years, researchers [25, 89] seek to exploit the existence of the power-law behaviour of network in message forwarding. For example, in BubbleRap [25], nodes are formed into communities and also ranked according to their centrality. It combines the knowledge of community structure with the knowledge of node centrality to make forwarding decisions. The authors made two assumptions in their protocol design: a) each node belongs to at least one community and b) each node has a global ranking across the whole system and also a local ranking within its local community. Both global and commu- nity rankings are used to find suitable forwarders by using a gradient forwarding

41 2.2 Message Forwarding in DTN approach. Forwarding is carried out as follows: when a node has a message to forward, it first bubbles the message up the hierarchical ranking tree using the global ranking, until it reaches a node which is in the same community as the destination node. At this stage, message is bubbled up through the local ranking tree until the destination is reached or the message expires. The authors have compared its performance with PROPHET and an oblivious flooding-based for- warding scheme in order to substantiate its efficacy. Similar ideas are proposed in [89], where each node is assigned a quality metric based on its popularity. A gradient forwarding method is then employed. These works closely relate to one of our work, HubCode (see Chapter 4), as we also make use of the popular nodes (called hubs) as relay nodes. However, unlike those schemes, which employ gra- dient forwarding, in HubCode, messages are disseminated amongst the hubs to form a virtual data conduit using network coding in order to efficiently use the scarce contact opportunities.

2.2.2.2 Cluster-based Forwarding

Clustering or grouping of similar objects is essentially the partitioning of a data set into subsets so that each subset shares some common features. Many people- centric DTN exhibit rich clustering properties at different times of the day [52]. For example, vehicles in urban areas tend to move in clusters. Also, people often gather in public places, such as market places, bus stoppages etc. In the field of DTN routing, clustering or classifying nodes can minimizes the number of unnecessary transmissions in a network and thus increases net- work performance. Using real experimental human mobility data, Hui et al. [90] have shown that just by classifying the users according to their affiliation, a large improvement in forwarding performance can be achieved. In order to make informed forwarding decision, the authors use additional knowledge about com- munities where each node belongs. Classifying nodes according to some shared features gives us an opportunity to utilize knowledge (about nodes and networks) methodically in routing algorithms. For example, in public transport networks, buses which meet frequently (high encounter frequencies) can be grouped to- gether. One problem with the group formation method discussed in [90] is that

42 2.3 Summary it is fixed and based on the affiliation of the humans carrying portable commu- nication devices, which may not be suitable for large networks. For example, in a large vehicular network, the concept of institutional affiliation of vehicles is impractical. Moreover, if all the vehicles belong to a single institution (e.g. in case of public transport networks), the scheme would simply degenerate into a flooding type protocol. Besides, the labelling of the nodes in a large network frequently is cost prohibitive and time consuming. In Chapter 5, we present an efficient clustering technique in order to cope with a large number of nodes of a delay tolerant transport network. Ability to form overlapping clusters, vari- able cluster size and number are some of the features of our cluster formation algorithm.

2.3 Summary

In this literature survey, we have discussed current research on the characteriza- tion of people-centric networks as well as message forwarding schemes in these networks. The characterization of traces reveals that people-centric networks follow some predictable patterns which can be leveraged to improve message for- warding schemes. The information gleaned from the characterization process can aid message forwarding. In order to depict current research trends in mes- sage forwarding in DTN, we present a taxonomy of DTN message forwarding schemes based on their utilization of information about mobility patterns. We have discussed how some of these schemes utilize prior information about the underlying networks to calculate delivery metrics and how they contrast with our proposed schemes. For example, the gradient forwarding approach (where a message follows a gradient of increasing delivery metric towards the destination) is often used when some information about the characteristics of the network is available. We have identified the weakness of the delivery metrics calculated by some of the schemes (e.g. PROPHET, MaxProp), which uses prior probabilities. The scalability issues of some schemes have also been discussed. Moreover, it has been observed that the characteristics of short contact durations and scarce bandwidth in many people-centric networks are often ignored in the evaluation

43 2.3 Summary of many forwarding schemes. Consequently, the performance of the message for- warding protocols is affected directly.

44 Chapter 3

Characterization of People-centric DTN

It is important to know the underlying network characteristics in order to develop efficient forwarding techniques. In fact, the study of observable phenomena is fundamental to any research. This chapter mainly focuses on the characterization of a large-scale vehicular network. In Chapter 2, we have discussed several studies [5, 17, 46] which analysed the properties of people-centric DTN from empirically collected traces. Whilst there are several real-world traces available that capture contacts among people, the same cannot be said for vehicles. Recall that a vehicular network is an illustrative example of people-centric DTN. Most studies [46, 52, 61, 65] on vehicular networks either use the mobility traces of a small network (i.e. ∼ 40 nodes) [46, 65] or use synthetic traces [52, 61]. The work in this chapter is one of the first studies that examines a large-scale real-world metropolitan public transport network (∼ 1200 buses) and conducts a thorough analysis of its spatio-temporal communication graph in order to reveal its latent characteristics. In particular, our contributions in this chapter are as follows:

• Our analysis suggests that although public transport networks form a highly partitioned connectivity graph, there exist some key locations where nodes tend to form clusters. Moreover, this phenomenon is time invariant. This observation is useful in identifying suitable locations for placing stationary

45 gateways that temporarily buffer messages and thus improve the probability of delivering packets to the destination.

• With the aid of different radio propagation models (i.e. two-ray ground reflection and shadowing model), we have shown that the distribution of contact and inter-contact durations and the degree distribution of nodes exhibit power-law behaviour. This knowledge is beneficial in developing realistic mobility models.

• The traces reveal the tendency of the buses to form clusters. We have found that although the average clustering coefficient varies for different radio propagation models, on the whole, they follow similar time varying trends. We also discover that, a few selected nodes have high local clustering coefficients (∼ 1) whereas the rest of the nodes have very low clustering coefficients (∼ 0), suggesting the existence of few highly connected hubs. This information can be leveraged for informed forwarding decisions [25, 53].

• We have demonstrated the existence of repetitive patterns in the mobility traces. Our study shows that besides the periodic patterns at the time scale of 24 hours, many nodes exhibit repetitive mobility patterns which have periods of 2-3 hours. Even though the schedule is not precise, this information can still be utilized in statistical forwarding schemes [54].

Our findings are similar to those studies in other types of people-centric net- works [5, 17]. The common key characteristics can be utilized to develop efficient message forwarding schemes suitable for most people-centric networks. In fact, we have proposed practical message forwarding schemes for people-centric networks by utilizing the key findings in Chapters 4, 5, and 6, The rest of this chapter is organized as follows: Section 3.1 discusses the phys- ical properties of the mobility traces of the large-scale public transport network that we have used in this Chapter. We study the distribution of the node contact and inter-contact durations and node degree in Section 3.2. The clustering be- haviour of the nodes is quantified in Section 3.3. Section 3.4 studies the inherent periodicity in the movement patterns of the nodes. Finally, Section 3.5 concludes this chapter.

46 3.1 Mobility Trace Details

3.1 Mobility Trace Details

As mentioned in Chapter 2, the mobility traces from Seattle buses [51] are the only large-scale vehicular traces available in the public domain. The traces can be readily used to simulate a bus-based DTN, similar to DieselNet [46]. We have used the Seattle trace to study the visible and latent structure of a large-scale bus-based DTN. As in [46], we assume that each bus is equipped with a 802.11b radio.

3.1.1 Post-processing of the Mobility Trace

The traces were post-processed to generate fine-grained location information. In the traces, each bus sends an update approximately every 30 seconds, which is still significantly coarse-grained to serve our purpose. When we used the traces as-is, we found that several inter-bus contacts were excluded. Further, all recorded inter-bus contact durations were represented at a granularity of 30 seconds. This led to severe over-estimation of these contact durations, especially given that these durations are fairly short in reality. Hence, we post-process the traces to generate fine-grained location information. We feed the traces into ns-2 and extrapolate the location of the buses every 5 seconds, assuming that a bus moves at a constant speed along a straight line between two consecutive logged entries. Even though, the resulting trace is not an entirely accurate representation of the bus movements, we believe that our assumptions are a reasonable approximation, especially in urban areas. A Note on Radio Propagation Models: note that, the properties of interest (e.g. inter-contact durations, etc.) are directly dependent on the communication range of the nodes. However, the traces collected only capture the node mobil- ity since the buses were not actually fitted with wireless communication devices. Thus, we need to estimate the communication range by using a radio propaga- tion model at the physical layer. In this Chapter, we investigate the impact of two radio propagation models: a) the Two-ray Ground Reflection model and b) the Shadowing model. The two-ray ground model is an amendment of the Free Space radio propagation model, which simply represents communication range as a circle around the transmitter. If the receiver is within the circle then it receives

47 3.1 Mobility Trace Details

Table 3.1: Simulation Parameters for Radio Propagation Models Term Definition Tx & Rx heights 1.5m Tx & Rx antenna gains gain Transmit power 23dBm (typical values) Received power threshold -50dBm (typical values) Correct reception rate 95% System loss 1.0dBm Specific to Shadowing Model Path loss exponent 2.0 (empirical value for free space) Shadowing deviation 4.0 (empirical value for outdoor) all the messages, otherwise drops all the messages. The two-ray ground reflec- tion propagation model considers both the direct and a ground reflected path and is considered to be more accurate model at longer distances than the free space model. The shadowing model is more realistic than the two-ray ground or free space model because it incorporates the channel fading effects in order to more accurately model the radio range. The channel fading effect in shadowing model is represented by a Gaussian random variable. By varying the parame- ters of Gaussian distribution, one can adapt the shadowing model for different environment, such as open space, obstructed by in-building conditions etc. The parameters of these models used in our simulations are listed in Table 3.1.

3.1.2 Physical Properties of the Network

The physical characteristics of the Seattle bus traces are shown in Fig. 3.1-3.6. We observe that the number of buses follow a perfectly repeatable daily pattern over all weekdays. This is expected since the timetables for public-transport vehicles are identical for each weekday. Fig. 3.1 shows the average bus density

48 3.1 Mobility Trace Details

1200 Number of Buses per Hour Number of Routes Covered 1000

800

600

400

200 Number of Active Buses and Routes

0 0 5 10 15 20 Time (24Hrs Period) Figure 3.1: No. of buses and routes covered over a 24 hour period

Vehicle Traffic Pattern Number of Vehicle 400 350 300 250 200 150 100 50 600 500 400 200 300 x200m 300 200 x200m 400 100

Figure 3.2: Spatial vehicle movement pattern (12am-6am)

49 3.1 Mobility Trace Details

Vehicle Densities Number of Vehicle 400 350 300 250 200 150 100 50 600 500 400 200 300 x200m 300 200 x200m 400 100

Figure 3.3: Spatial vehicle movement pattern 6am-9am

Vehicle Densities Number of Vehicle 400 350 300 250 200 150 100 50 600 500 400 200 300 x200m 300 200 x200m 400 100

Figure 3.4: Spatial vehicle movement pattern 9am-3pm

50 3.1 Mobility Trace Details

Vehicle Densities Number of Vehicles 400 350 300 250 200 150 100 50 600 500 400 200 300 x200m 300 200 x200m 400 100

Figure 3.5: Spatial vehicle movement pattern (3pm-8pm) and routes covered over a 24 hour period. As seen, one can broadly identify 4 regions (i.e. time-slots) of interest: a) from midnight to 6am, b) 6am to 9am, c) 9am to 3pm, and d) 3pm to 8pm. There are no buses plying from 8 pm to midnight, which is strange but we are unable to confirm the reason behind it. The time slots 6am-9am and 3pm-8pm exhibit peak operation behaviour with a large number of buses and routes being operational. The time slot 9am-3pm indicates off-peak behaviour while the midnight-6am duration can be labelled as super off-peak with the lowest number of buses being active. We observe exactly similar behaviour over all the weekdays. In our evaluations we have excluded the weekend traces. Fig. 3.2-3.5 shows the spatial vehicle movement patterns during different pe- riods of day (2001-10-31). The entire area (58km × 88km) is divided into smaller grids of 200m × 200m each. For each grid, the number of vehicles that pass through it are recorded during the above mentioned measurement period and plotted on the z-axis. Though the total number of vehicles, which pass through each grid during different measurement periods are different, the overall vehicle traffic patterns are strikingly similar and location specific. Fig. 3.6 shows the snapshots of bus densities at different instances by plotting the coordinates of

51 3.2 Power-law properties

80000 80000

70000 70000

60000 60000

50000 50000

40000 40000

y (meter) 30000 y (meter) 30000

20000 20000

10000 10000

0 0 0 8000 16000 24000 32000 40000 0 8000 16000 24000 32000 40000 x (meter) x (meter)

(a) Bus densities at 6:25am (b) Bus densities at 7:00am

80000 80000

70000 70000

60000 60000

50000 50000

40000 40000

y (meter) 30000 y (meter) 30000

20000 20000

10000 10000

0 0 0 8000 16000 24000 32000 40000 0 8000 16000 24000 32000 40000 x (meter) x (meter)

(c) Bus densities at 9:00am (d) Bus densities at 11:00am

Figure 3.6: Snap-shot of bus densities at different instances the active buses at that time instance. Some locations are marked (with circles) where vehicle densities are high and time independent. These patterns reveal that at certain locations, the network forms dense clusters, while at other locations the network topology is generally sparse. This study is beneficial for the deployment of stationary gateways, which can enhance the forwarding performance.

3.2 Power-law properties

As discussed in Chapter 2, many prior studies on DTN traces (e.g. traces from pocket-switched networks, traces from AP logs, etc.) reveal power-law properties (biPareto in particular) in these networks. Their findings prompt us to investigate whether the same holds true for the vehicular DTN traces. The CCDF of biPareto is given in Eq. 3.1 [91].

x −α x + ck α−β 1 − F (x) = , x ≥ k (3.1) k k + c    

52 3.2 Power-law properties where> k 0 acts as a scaling parameter. The CCDF initially decays as a power law till the exponent α > 0. Then, near the break point ck the decay exponent gradually changes to β > 0. The Pareto distribution is a special case of the above when α = β. In this section, we primarily focus our analysis on the following three proper- ties: a) contact duration, b) inter-contact duration, and c) degree distribution of nodes, since these are the important factors which can impact message forwarding in DTN.

3.2.1 Inter-contact Durations

Two nodes are said to be in contact with each other as long as the nodes can communicate with each other. The entire duration since the establishment of contact until the subsequent loss of communication is defined as the contact duration. The time between consecutive contacts between the same pair of nodes is defined as the inter-contact duration. Note that, the ability of two nodes to communicate and subsequently the contact and inter-contact durations are dependent on the underlying radio propagation model. Fig. 3.7 shows the PMF of inter-contact durations of the buses of a weekday (2001-10-31) considering shadowing radio propagation model. The results from the two-ray ground model are also similar, hence are omitted from discussion. It shows that for a considerable percentage of pairs, the disconnection period of two nodes can be greater than 2.5 hours. We observe similar distributions for the other weekdays (hence not shown in this Chapter). The long tail of the PMF suggests that inter-contact durations exhibit power- law properties. Based on this observation, we have tested whether the PMF resembles a Pareto distribution (recall that biPareto is a generalized version of Pareto distribution). The PMF of Pareto distribution is given in Eq. 3.2. αxα f(x; α, x ) = m for x ≥ x (3.2) m xα+1 m where, α is the shape parameter (i.e. tail index) and xm is the scale parameter of the power-law distribution. Fig. 3.7 also shows close-fit Pareto curve with

53 3.2 Power-law properties

0.09 Pareto <0.27,0.28,D=0.07> PMF of Inter-contact Duration 0.08

0.07

0.06

0.05

0.04 Pr(X=x)

0.03

0.02

0.01

0 20 40 60 80 100 120 140 Inter-contact Durations (min) Figure 3.7: PMF of Inter-contact Duration of Shadowing Model

its parameters hα, xmi and the D (∼ 0.07) statistics. The D statistics from the Kolmogorov-Smirnov (K-S) [92] fit test confirms the goodness of fit. The CCDF of inter-contact durations for different radio propagation models during one of the weekdays (2001-10-31) are plotted in Fig. 3.8. The results from other weekdays show similar trends. One can readily observe that, the CCDF has two approximately linear regions with a smooth transition between them. This is a typical characteristic of biPareto distribution (Eq. 3.1). With this observation we try to fit the CCDF with biPareto distribution. The parameters of the biPareto distribution of close fit with observed CCDF of inter-contact duration (for two- ray ground reflection model) are listed on the plots in the order hα, β, c, k, Di. The D (∼ 0.09) statistics corroborates the goodness of fit. Since the CCDFs for the two propagation models are similar, the biPareto approximation for the two-ray ground model also applies to the shadowing model. These findings can be utilized to develop more realistic mobility models for public transport networks. Further, the mobility models can be agnostic of the underlying radio propagation model. In this thesis, we have adopted this inter-

54 3.2 Power-law properties

1

Linear Region Pr(X>x) 0.1 Linear Region Shadowing Model Two-ray Ground Model biPareto <0.34,-1985,-86278,2.98,D=0.09> 1 10 100 Inter-contact Durations (min)

Figure 3.8: CCDF of inter-contact duration contact model in developing the message delay model of our hub-based forwarding protocols (details in Chapter 4).

3.2.2 Contact Durations

It is important to know the statistics of contact durations because it determines the maximum amount of data that can be transferred at each contact, thereby affecting the performance of message delivery schemes. Fig. 3.9 shows the CCDF of contact durations for the two radio models under consideration for one week- day (2001-11-19). We have obtained similar results from other weekdays. Note that, the results with both radio models are identical. It is also evident from Fig. 3.9 that about 90% of the contacts are less than 200 seconds long. This is expected since vehicles often move at high speeds. This fact is often ignored in the evaluation of DTN forwarding schemes. We have found a surprisingly large number of papers in literature which assume that two encountering nodes can transfer all intended data to each other during the contact opportunity. As is

55 3.2 Power-law properties

1

0.1

0.01 Pr(X>x)

0.001 200 sec.

Shadowing Model Two-ray Ground Model 0.0001 10 100 1000 Contact Durations (sec.)

Figure 3.9: CCDF of contact durations (2001-11-19) evident from our data, this is hardly true in the real world. Motivated by the biPareto model of inter-contact durations, we have tried to fit the CCDF of contact durations with biPareto. However, we are unable to find a good fit biPareto curve. Thus we conclude that although biPareto distribution can be used to model the CCDF of inter-contact durations, the same is not true for modelling the CCDF of contact durations.

3.2.3 Node Degree Distribution

A node’s maximum degree represents the maximum number of unique neighbours it encounters during the time interval of interest. Fig. 3.10 shows the nodes’ maximum degree distribution (sorted in descending order) over a 24 hour period (2001-11-19) considering two-ray ground radio propagation model. Since the buses follow similar daily schedules, the results are consistent across all weekdays. The results with the shadowing radio propagation model are almost identical, and hence omitted from this discussion. Fig. 3.10 shows that few nodes have significantly higher degree than most of the other nodes. These highly connected

56 3.2 Power-law properties

0.5 BiPareto <0.21,0.41,9.98,0.06,D=0.087> 0.45 Nodes' Degree Distribution

0.4

0.35

0.3

0.25

0.2

0.15

0.1 Degree of a Node (normalized) 0.05

0 0 200 400 600 800 1000 1200 Nodes (Sorted According to their Degree)

Figure 3.10: Node degree distribution (24Hrs period) nodes are termed as hubs. We are able to fit the sorted nodes’ degree distribution with a power-law distribution (i.e. biPareto distribution). The parameters of the close-fit Pareto distribution (in the order hα, β, c, k, Di) and the corresponding D (∼ 0.08) statistics from K-S fit test are also included, which corroborates the goodness of fit. Fig. 3.11 indicates the number of nodes which can be reached collectively by the highly connected nodes. It can be seen from the figure that only 10% of the nodes cumulatively cover more than 85% of the entire nodes in the network. This power-law behaviour of the nodes’ degree distribution conveys a very important message. It indicates that if only hubs serve as the forwarding relays, then there is a high probability that most messages will be delivered to the destinations. This implies that it may be possible to achieve a packet delivery ratio that is very close to what would be achieved by flooding, but with significantly lower overheads (in terms of redundant messages). We have utilized this property of in our hub-based forwarding schemes in Chapter 4.

57 3.3 Clustering

100

90

80

70

60

50

40

30 % of Nodes Covered 20

10 10% nodes

0 0 20 40 60 80 100 Nodes Sorted According to Degree Dist. (%)

Figure 3.11: Coverage by the hubs (24Hrs period)

3.3 Clustering

Many empirical studies [93, 94] have shown that in most real-world networks, par- ticularly in the context of people-centric networks, nodes tend to create tightly connected groups. This is often referred to as clustering. Forwarding protocols can benefit from clustering properties of the network. For example, multi-copy forwarding schemes can reduce redundant copies of the message if both the des- tination and the current forwarder belong to the same cluster. In Chapter 5, we have presented a cluster-based forwarding approach which seeks to reduce redun- dant message transmissions in large networks. In the following, we quantitatively measure the clustering property of the bus network by means of clustering coef- ficients.

3.3.1 Clustering Coefficient

The local clustering coefficient is an indicator of how well connected the neigh- bours of a node are. A clustering coefficient of 1 indicates a fully connected

58 3.3 Clustering neighbourhood, whereas a value of 0 implies that nodes in the neighbourhood are completely disconnected. In order to calculate the clustering coefficient, we need to model the vehicular network as a time varying graph G = hV (t),E(t)i, which consists of a set of vertices V (t) (i.e. nodes) and a set of edges E(t) between them at time t. An edge eij(t) connects the vertices i and j if they can communicate at time t. The neighbourhood Ni(t) for a vertex vi(t) is the immediately connected neighbours, Ni(t) = vj : eij(t) ∈ E(t) ∧ eji(t) ∈ E(t) at time t. The clustering coefficient Ci(t) of a node i at time t is defined as [61]:

2|ejk(t)| Ci(t) = : vj, vk ∈ Ni(t), ejk(t) ∈ E(t) (3.3) |Ni(t)|(|Ni(t)| − 1) Intuitively, it is defined as the number of connections in the neighbourhood of the node to the number of connections if the neighbourhood is fully connected. The clustering coefficient for the entire network is given as the average of the local clustering coefficients of all n vertices:

n 1 =C(t) C (t) (3.4) n i i=1 X

Fig. 3.12 shows the average clustering coefficients C during a 24-hour period (2001-10-31) for both radio propagation models under consideration. Similar to Fig. 3.1, the number of active buses during each hour are also plotted for convenience. A cursory glance at Fig. 3.12 reveals that the clustering coefficient is larger with two-ray ground model than the shadowing model during peak periods. However, the reverse is true during off-peak hours. In order to explain this we need to understand how the radio models behave. The two-ray ground model resembles an ideal loss-less radio model (i.e. free space model) up to a critical distance from the transmitter, beyond which, its effective range declines more rapidly than the shadowing model. During off-peak periods, when the average node density is low, the average distance between neighbours is usually greater than the critical distance. Hence, the average communication range of two-ray ground model becomes less than that of shadowing model. Therefore, the C of shadowing model becomes higher than that of two-ray ground model during off-peak periods, because C depends on the number of inter-connected neighbours, which in turn

59 3.3 Clustering

1 1200 Two-Ray Ground Model Shadowing Model Active buses per Hour 0.8 900

0.6

600

0.4 # of Active Buses 300 0.2 Average Clustering Coefficient

0 0 0 5 10 15 20 Time (24Hrs Period)

Figure 3.12: Avg. clustering coefficients (24Hrs period)

1 Two-ray Ground Model Shadowing Model

0.8

0.6

0.4

Local Clustering Coefficient 0.2

0 10 100 1000 Nodes Sorted According to CC

Figure 3.13: Local clustering coefficients (sorted) at 10am

60 3.3 Clustering depends on the effective communication range. A similar explanation applies for the peak period. Though the clustering coefficients are distinct for different propagation mod- els, the general trend remains strikingly similar for both models (Fig. 3.12). However, if we compare the trend with the number of active buses during each hour, we find that the average clustering coefficient drops sharply during the two peak periods when the numbers of buses on the road are maximum. Also, the average clustering coefficients become high during the super off-peak period. At first glance, this result might appear counter-intuitive. As the number of buses increases, the bus density increases and hence one would expect the clustering coefficients to increase. A closer look into the mobility trace reveals that the cause of the apparent anomaly is due to the fact that during peak hours, many buses are deployed to cover distant areas where the network is sparse. Hence, the local clustering coefficients of these buses are usually very small because they are deployed to cover sparse areas where neighbours are not well connected to each other. As a consequence, the average clustering coefficient (Eq. 3.4) drops sig- nificantly during the aforementioned periods. The high C during super off-peak period can also be explained in a similar manner. Further, the high value (∼ 0.5) of C during other periods does not necessarily imply that the entire network is highly connected during those hours. In order to explain this, we need to investigate the local clustering behaviour. Fig. 3.13 shows the local clustering coefficients of the nodes at 10am, for different propagation models and sorted according to their local clustering coefficients. Fig. 3.13 reveals that only few nodes have very high (∼ 1) values of local clustering coefficients whereas the rest of the nodes have extremely low values (∼ 0). This trend is prevalent in both radio propagation models (Fig. 3.13). The fact that most of the nodes have very low local clustering coefficients implies that most forwarding protocols proposed for mobile ad-hoc networks will not work effectively in this network. This is because these protocols assume a contemporaneous end-to-end path between source and destination. The likelihood of such paths existing is very low in the network under consideration (and vehicular DTN in general) due to the low local clustering coefficients of most of the nodes. On the other hand, the few highly connected nodes corroborate the existence of hubs. Recall that, we

61 3.4 Periodicity

10000

9000

8000

7000

6000

5000

Bus Ids 4000

3000

2000

1000

0 8 10 12 14 16 18 20 Time (24Hrs period)

Figure 3.14: Neighbours of bus 901 over 24Hrs period (2001-10-31) arrived at a similar conclusion in Section 3.2. The high values of local clustering coefficients also imply that these hubs have close ties among themselves.

3.4 Periodicity

Most real-world people-centric networks exhibit some kind of periodicity in their mobility patterns. This is because, humans are creatures of habit and thus in- herently follow repetitive patterns. For example, individuals travel to their work places at approximately the same time every weekday. Also, in public trans- port networks, vehicles follow predefined schedules (though not accurately). As an illustrative example, we plot the neighbours encountered by bus id 901 and 5037 over a 24 hour period (2001-10-31) in Fig. 3.14 and Fig. 3.15. The y-axis represents the bus ids of the neighbours. The graphs very clearly illustrate the repetitive and periodic nature of the encounters. For example, bus 901 encounters bus 5001 approximately every 2 hours. In order to observe the encounter patterns collectively for the entire network,

62 3.4 Periodicity

10000

9000

8000

7000

6000

5000 Bus Ids 4000

3000

2000

1000

0 8 10 12 14 16 18 20 Time (24Hrs period)

Figure 3.15: Neighbours of bus 5037 over 24Hrs period (2001-10-31) we plot the time series (Fig. 3.16) of aggregated (all pairs) encounter durations for two consecutive days (2001-11-19 and 2001-11-20) for shadowing radio model. The results using two-ray ground model are identical, hence omitted from Fig. 3.16. The x-axis represents the contact instances and the y-axis plots their contact duration. The similarities among the curves corroborate the existence of daily patterns in public transport networks. Note that the dip in the time series of 2001-11-20 between 3:23-3:30pm, marked with a circle in Fig. 3.16), is due to unavailability of data (possible hardware failure). The knowledge of repetitive patterns in the node mobility can be utilized to enhance message forwarding schemes. In fact, in Chapter 6, we have presented an efficient Bayesian classifier based forwarding framework, which utilizes node mobility history (e.g. spatial and temporal information at the time of packet forwarding) to predict the suitable relay node.

63 3.5 Summary

3500 3500

3000 3000

2500 2500

2000 2000

1500 1500

1000 1000 Contact Duration (sec.) Contact Duration (sec.)

500 500

0 0 0 10000 20000 30000 40000 50000 60000 70000 80000 0 10000 20000 30000 40000 50000 60000 70000 80000 Time (sec.) Time (sec.)

(a) 2001-11-19 (b) 2001-11-20

Figure 3.16: Aggregated encounter durations for two consecutive weekdays (shad- owing model)

3.5 Summary

In this Chapter, our statistical analysis on a large-scale vehicular network con- firms several key properties which exist in many other people-centric networks (e.g. pocket-switched networks). First of all, we demonstrate that the inter- contact distribution follows power-law properties. Secondly, we show (Section 3.2) that the degree distribution of nodes and cluster analysis reveals the exis- tence of few highly connected nodes, i.e. hubs and the tendency of the nodes to congregate in clusters. In Section 3.2, we have demonstrated that only a fraction (∼ 10%) of hubs can collectively cover most (∼ 85%) of the network. Besides, the hubs are highly inter-connected. These important findings enable us to devise the efficient forwarding scheme, HubCode (discussed in Chapter 4), which uti- lizes hubs as message relays. We have also utilized the clustering property of the network in our cluster-based forwarding scheme (discussed in Chapter 5) in order to reduce unnecessary message transmissions. Thirdly, we have found that the inter-contact durations can be realistically modelled as a power-law distribution (i.e. biPareto). We have utilized this model in developing the delay model of our HubCode forwarding scheme (Chapter 4). Finally, in Section 3.4, we have shown that many nodes exhibit repetitive patterns, which have periods of 2-3 hours, in addition to the periodic patterns at the time scale of 24 hours. In Chapter 6,

64 3.5 Summary we have shown how the periodicity of the nodes can be methodically utilized in building efficient forwarding protocols. Note that, the aforementioned observa- tions are independent of underlying radio propagation model. These findings are of considerable importance not only in devising realistic mobility models but also in informed protocol design. To summarize, the analysis performed in this Chapter builds the foundation of our forwarding schemes presented in the later part of this thesis.

65 Chapter 4

Forwarding using Hub-based Network Coding

As discussed in Section 3.2 of Chapter 3, the analysis of the temporal connectivity graphs of people-centric networks reveals the existence of hubs, nodes which have a high-degree distribution than the rest (Fig. 3.10). We have also demonstrated (Chapter 3, Section 3.2) that only a fraction (∼ 10%) of hubs can collectively cover most (∼ 85%) of the network (Fig. 3.11). The result from local clustering coefficients (Fig. 3.13) also corroborates this claim. In this Chapter, we propose a novel forwarding strategy, HubCode, which exploits the top 10% of the hubs (ranked according to their degree) as message relays. Here, the hubs collectively form a virtual data conduit which reaches most of the nodes in the network. Messages are then forwarded within the data conduit (i.e. only among hubs) using random linear network coding, wherein multiple messages addressed to the same destination are combined to form a single encoded message. Also, in reality, contact durations between nodes in people-centric DTN are often only few seconds long [17] and nodes can often only exchange limited amount of data, and in effect act as bottlenecks in the forwarding process. The theory of network coding [49] has been employed in order to efficiently utilize the short contact durations between nodes. Since randomly selected coefficients are used in the coding process, each encoded message is useful to the destination, thus reducing the propagation of redundant messages. Further, the use of the hubs as relays, ensures that most messages are delivered to the destinations.

66 Two versions of HubCode are presented, with each scheme exhibiting con- trasting behaviour in terms of the computational costs and routing overheads. In the basic version of HubCode, the hubs exchange the coefficient matrices of the encoded messages prior to data exchange in order to select the messages for forwarding. The resulting overhead, which is O(n2) for n messages, can be fairly significant. As a result, during short contact durations, the hubs may not get a chance to forward coded messages, since most of the contact opportunity is used for exchanging coefficients. To reduce this overhead, we propose an alternate approach, wherein, the hubs do not exchange the entire coefficient matrices, but rather only exchange a list of the native messages. The resulting overhead is just O(n). However, the hubs now need to decode the messages (i.e. solve linear equations), which is computationally expensive. On the contrary, in the basic ver- sion, only the destination decodes the messages, thus simplifying the processing at the hubs. These two versions address the important trade-off between routing overhead and computational complexity. We evaluate the performance of our proposed schemes and compare them with other forwarding protocols using traces collected from a large-scale (> 1000 nodes) real-world bus-based DTN [51]. Under realistic assumptions, which ac- count for the limited data exchange possible during short encounters, our schemes achieve 20% higher delivery ratio than comparable strategies. In addition, our schemes achieve about 50% savings in delivery cost. Empirical evaluations also suggest that our schemes are more resilient against random node failure com- pared to other protocols. Besides, comprehensive analysis have been carried out in order to examine the effect of traffic loads, varying message lengths and hub sizes on delivery performance of HubCode. We have also formulated a mathematical model to estimate the message de- livery delay. Closed-form expressions are presented for our proposed schemes, which serve as an upper bound in estimating message delivery delay. Simulation results corroborate our analytical formulation especially when there are sufficient numbers of hubs that act as message relays. The rest of the Chapter is organized as follows: Section 4.1 presents the details of the HubCode schemes. The mathematical model to estimate message delivery delay is described in Section 4.2. In Section 4.3, we present the results from our

67 4.1 HubCode simulations and finally, Section 4.4 the Chapter. A preliminary version of this work has been presented in [53].

4.1 HubCode

As highlighted in the Chapter 3, empirical analysis of the mobility patterns of several people-centric DTN [17, 46, 95] have revealed that the degree distribution of the network graph follows a power-law. This implies the existence of a small percentage of hubs which are individually connected to a large number of nodes as compared to other nodes. Further, collectively, the hubs are connected with most of the other nodes in the network (i.e. they achieve nearly 100% coverage). Motivated by these properties, we propose a novel forwarding strategy called HubCode, which uses the hubs as message relays. The hubs are identified by analysing historical movement patterns of the nodes (e.g. in this Chapter, we have identified the hubs based on their node degrees). Since, most people-centric networks exhibit significant repeatability (e.g., most people have the same daily routine, buses follow the same schedule), this classification of nodes is reasonably time-invariant. Also, if the network characteristics change, the new set of hubs can be readily identified by repeating the analysis. All traffic in the network is forwarded to the hubs. Since, each hub concen- trates significant traffic, we propose the use of network coding at the hubs to encode multiple messages (addressed to the same destination) into a single en- coded message. A hub forwards an encoded message to a neighbouring hub if this message is linearly independent with the encoded messages carried by the neigh- bour. The use of network coding results in significant savings in bandwidth, since a single encoded message is forwarded in place of multiple native messages. Fur- ther, since the hubs collectively have contact opportunities with all other nodes, most of the messages can be delivered to the destination. We first present the basic version of our scheme, HubCodeV1, which makes use of the traditional approach to network coding [43]. We argue that this scheme requires the hubs to exchange significant auxiliary information. Next, we present an alternate approach, HubCodeV2, which requires the intermediate hubs to de- code the coded messages (in addition to the normal encoding operations). As

68 4.1 HubCode a result, the hubs only need to exchange message IDs, which reduces the auxil- iary data overhead. However, since the hubs decode messages, the computational complexity increases.

4.1.1 HubCodeV1

In our schemes, message forwarding is a simple three step process: 1) Source nodes forward messages to a hub, 2) a hub encodes multiple messages headed to the same destination and disseminates the encoded messages among other hubs and 3) a hub delivers the encoded message to the destination. To simplify the explanation, we classify nodes into 3 groups: (1) source, (2) destination, and (3) hubs, and provide a detailed description of the tasks undertaken by each category of node. Note that, a source or destination can also be hub, but for simplicity, we assume the groups are mutually exclusive.

4.1.1.1 Source

When a source encounters a hub, it creates a copy of the message and forwards the copy to the hub. Recall, that the hub nodes are appropriately labelled by analysing past behaviour of the network. If the source carries a single native message, it is forwarded as-is. However, if more than one message are destined to the same address, then the source combines them into a single encoded message using linear network coding (Eq. 4.1), and forwards the encoded message to the hub. The coding technique is described below.

4.1.1.2 Hubs

When two hubs encounter each other, they first exchange certain auxiliary in- formation, that is used to decide if the hubs should forward messages to each other (these details are explained later). If a hub needs to forward messages to another hub, it encodes all messages with a common destination using random linear coding and forwards the single encoded message. This results in significant savings in the bandwidth. Assume that a hub currently has k messages, X1, X2,

69 4.1 HubCode

··· , Xk with a common destination. Then the hub creates a linear combination

[43, 96] of these k messages to form a single encoded message Fl, using Eq. 4.1,

k

Fl = aiXi, aiǫFq (4.1) i=1 X where a1, a2, ··· , ak, represent the coefficients, which are randomly selected from 16 a finite field [97 ], Fq where q = 2 . All the additions and multiplications are performed over the finite field Fq, so that the encoded message has the same size as the native message. The coefficients ai and the message IDs (idxi) of all the native messages are appended to the encoded message prior to transmission. This is because, the receiving hub may perform further encoding. Since, the coefficient vectors are chosen from a large random space, there is a high probability that they are linearly independent. As a result, two coded messages that are created from the same native messages, are still useful to the destination (decoding is explained later). Note that, hubs do not decode the messages. The encoding and forwarding process described above continue at all intermediate hubs. If a hub holds multiple encoded messages, then these can be further combined into a single message. For example, assume that a hub has received two encoded messages F1 and F2, which have been created as follows,

F1 = a11X1 + a12X2 + a13X3 (4.2)

F2 = a21X1 + a22X2 + a23X4 (4.3)

Then the hub can combine these two messages to create a single encoded message,

F3, such that, F3 = a1F1 + a2F2 where a1 and a2 are two randomly selected coefficients. The above discussion has focused on the coding process. We now explain the decision making process involved before a hub encodes messages. Each hub maintains a coefficient matrix for all the encoded messages that it currently holds. There is one such matrix for each destination. The columns of the matrix corre- spond to the message IDs and there is one row for each encoded message. When two hubs encounter each other, they first exchange the coefficient matrices. These

70 4.1 HubCode are generally included in the , which are periodically exchanged by nodes. We explain the decision process for a single destination. These steps are repeated for each destination. When a hub receives its neighbour’s matrix, it has to decide if transmitting a linear combination of all its messages, will be useful to the neigh- bour. The hub can determine this by checking if this encoded message is linearly independent to the encoded messages carried by the neighbour. Consider the following example. Let, F1 be the encoded message created by this hub which is composed of two native messages X1, X2 and respective coefficients set A1,

< a1, a2 > (i.e. F1 = a1X1 + a2X3). Also assume that the hub receives coefficient matrix A2 from its neighbour. A1 and A2 are shown below:

idx1 idx2 idx1 idx3 A1 = , A2 = a3 a4 a1 a2 a5 a6

Since the coefficient matrix is accompanied by the message IDs (i.e., idx ) of i the corresponding columns of the matrix, the receiving hub can determine which column is associated with which message. The receiving hub then inserts the coefficient set A1 in the corresponding columns of A2. In this particular case,

A2 does not contain any coefficient for the native message X3 (i.e. there is no column in A2 for the message ID of X3). Therefore, a new column for message X3 is created. The coefficients for the message X3 in A2 will be zero. Similarly the coefficient of the message X2 in A1 will also be zero. The modified A2 is shown below: idx1 idx2 idx3 a3 a4 0 A2 = a5 a6 0

a1 0 a2

If the coefficient sets (i.e. rows of the matrix A2) are linearly independent then it is assumed that the newly encoded message (F1) by the hub is useful to its neighbour. Though this requires the hubs to exchange significant information, they can make more informed decisions about forwarding encoded messages and hence, avoid the transmissions of redundant messages. Eventually, when a hub meets the destination, it forwards an encoded message composed of all messages addressed to that destination.

71 4.1 HubCode

Source R sends an Pkt X2 to A Node A meets B and sends an Node Q meets B and sends Pkt X3 enc. Pkt F1 to B to B F1=a1X1+a2X2 R Beacon (coeff- Cv = idx1 idx2 idx3 {X2} matrix) sent by A Beacon (coeff- a1 a2 0 matrix) sent by B 0 0 1 A idx1 idx2 R S 1 0 X1 X2 C {X2} R 0 1 X1 X2 {X1} {X2} A X1 X2 B S C A D S Q {X1} C {X3} B idx1 idx2 {X1} a1 a2 B F1 X3 F1 {X3} Q Beacon (coeff- Source S sends an Pkt X1 to A matrix) sent by B {X3} Q

(a) At t1 (b) At t2 (c) At t3

Node B meets C and sends an enc. Node C meets D and sends F2 to D. Pkt F2 to C Since it C contains only one pkt – no F2 = a3F1 + a4X3 need to encode = a3a1X1 + a3a2X2 + a4X3 Cv =

Cv = F2: [idx1:a3a1, idx2:a3a2, idx3: a4] R D {X2} {X2} R X1 X2 X1 X2 A F2 A S S C C Beacon (coeff- {X1} matrix) sent by C {X1} F2 F1 X3 B idx1 idx2 idx3 B a3a1 a3a2 a4 F1 X3 {X3} Q {X3} Q

(d) At t4 (e) At t5

Node A meets D and sends an enc. Node B meets D and sends an enc. Pkt F3 to D Pkt F4 to D F3 = a5X1 + a6X2 F4 = a7F1 + a8X3 Cv = = a7a1X1 + a7a2X2 + a8X3

F2: [idx1:a3a1, idx2:a3a2, idx3: a4] Cv = F3: [idx1: a5, idx2:a6 If D gets 3 encoded pkts. which are R D R linearly independent, then D can {X2} {X2} decode original pkts. X1, X2, X3 X1 X2 A X1 X2 A S S F2: [idx1:a3a1, idx2:a3a2, idx3: a4] F2 C F2 C F3: [idx1: a5, idx2:a6] {X1} {X1} F4: [idx1:a7a1, idx2:a7a2, idx3: a8] B B F1 X3 F1 X3 D {X3} Q {X3} Q

(f) At t6 (g) At t7

Figure 4.1: Example illustrating the operation of HubCodeV1

4.1.1.3 Destination

When the hub encounters a destination, it forwards an encoded message to it. Similar to the hubs, the destination also maintains a coefficient matrix. The columns represent the native message ids and each row corresponds to an encoded message. Recall, that each encoded message is a linear combination of the native

72 4.1 HubCode messages. Consequently, to decode n messages, the destination should receive m linearly independent combinations of these messages, such that m ≥ n. Note that, since the coefficients are randomly chosen from a large finite space, there is a high probability that all encoded messages are linearly independent. Hence, n encoded messages are sufficient for decoding (i.e., m = n). The n linear equations can be solved using matrix inversion. For example, if the destination receives the following linearly independent encoded messages, F1, F2, and F3: F1 = a11X1 + a12X2 + a13X3,F2 = a21X1 + a22X2 + a23X3,F3 = a31X1 + a32X2 + a33X3, Then the set of linear equations can be written in matrix form f = Ax.

a11 a12 a13 X1 F1 A = a21 a22 a23 , x = X2 , f = F2       a31 a32 a33 X3 F3       The native messages can be retrieved by matrix inversion:

x = A−1f (4.4)

Fig. 4.1 presents an illustrative example of HubCodeV1. There are three hubs, A, B, and C. Q, R, S, and D are regular nodes. Let us assume that R, S and Q are source nodes which wish to transmit messages X2, X1, and X3, respectively to a common destination D. The arrows in the figure indicate that the two nodes can communicate with each other. For example, at t1 both R and S are in the communication range of A. The direction of the arrow indicates the flow of data messages. Cv is the coefficient vector that is appended to the encoded message. It takes the form hidxi : aii, where idxi represents the message ID and ai denotes the coefficient. The figure is self-explanatory and shows the sequence of operations that are involved in delivering the messages to the destination, D.

4.1.2 HubCodeV2

The main drawback of HubCodeV1 is that the hubs need to exchange their co- efficient matrices in order to make the forwarding decision. The overhead of this exchange is O(n2) for n messages. This overhead is particularly of concern when the contact durations with other hubs are short-lived. This is because, in such

73 4.1 HubCode instances the exchange of auxiliary information may dominate the entire contact opportunity. Empirical measurements have shown that in real-world DTN [17], contact durations can often be quite short. To solve this problem, we present an alternate approach which seeks to reduce this overhead without penalizing message delivery. In V1, a hub uses the coefficient matrices received from a neighbour to deter- mine if forwarding an encoded message is beneficial to this neighbour. However, if a hub can decode the coded messages to recover the native messages, then it can simply send a list of native message IDs to its neighbours instead of the coefficient matrix. As a result the neighbouring hub can make the same decision. Sending a list of message IDs reduces the auxiliary data overhead to O(n) for n messages, as compared to O(n2) with V1. However, this gain comes at the expense of extra computation. Since the hubs now decode messages, the computational complex- ity increase to O(n2) (solving n linear equations has a complexity of O(n2)). On the other hand, in V1, the hubs only encode messages, which incurs a complexity of O(n). Most personal communication devices (such as smart phones, PDAs) and in-vehicle routers have sufficient processing capabilities and battery power to perform the decoding operations. Hence, this scheme can be readily deployed in most people-centric DTN. However, V2 is not suitable for resource-constrained devices such as sensor nodes. The two versions address an important trade-off between computational complexity and routing overhead. As in V1, we classify nodes in three different groups: (1) Source, (2) Hubs, and (3) Destination, and explain the operations performed by each type of node.

4.1.2.1 Source

As in V1, the source creates a copy of the native message (without encoding) and forwards it to a hub. However, unlike V1, in this scheme, the hubs may posses native messages (since they decode messages). As a result, a source forwards the native message to a hub only if the latter does not have this message. The source can determine this by examining the auxiliary information (i.e., message IDs) transmitted by the hub in the beacons.

74 4.1 HubCode

4.1.2.2 Hubs

When a hub receives an encoded message for a destination, it examines the other encoded messages in its queue heading to the same destination. If sufficient encoded messages are present, then the hub decodes these messages (decoding was explained in V1) and stores the native messages. In the event, that sufficient messages have not been received, the encoded messages are stored as-is. When two hubs encounter each other, they exchange the message IDs of the native messages that they carry. If a hub contains an encoded message, which has not been decoded yet, then the coefficients of this message are not included in the auxiliary information. In other words, only the information of the native messages is exchanged. When a hub receives the native message list of its neighbouring hub, it compares this list against the native messages waiting in its queue and also against the messages, which are used to compose the encoded messages (if any). If the hub finds at least one message (either native or a part of the encoded message) that is not in its neighbour’s list, then the hub encodes the missing messages along with any other messages (native or encoded) for that destination and forwards the combinations to that neighbour. When the hub meets the destination and if it only has encoded messages for that destination (i.e., no native messages) then it sends an encoded combination of these messages. If the hub has one or more native messages in its queue then it simply forwards them to the destination without coding.

4.1.2.3 Destination

The decoding operation at the destination is exactly similar as in HubCodeV1. Hence, we do not provide details here. The only difference is that, unlike V1, the destination may receive native messages in addition to coded messages. Fig.4.2 highlights the basic operation of HubCodeV2. We have used the same scenario as in the example for HubCodeV1.

75 4.2 Mathematical Analysis

Node R meets A and sends a Pkt Node A meets B and sends an enc. Node A sends an enc. Pkt F2 to B Pkt F1 to B X2 to A F2=a3X1+a4X2 F1=a1X1+a2X2 Cv = R Cv = Beacon sent by A {X2} R B still do not have an native pkt. idx1 idx2 A {X2} So beacon sent by B is null S X1 X2 R X1 X2 C A {X1} {X2} S C X1 X2 B D A {X1} S B C Q {X3} {X1} {X3} Q F1 B Beacon sent by B Node S meets A and sends a Pkt B do not have an native pkt. So {X3} Q F1 F2 X1 to A beacon sent by B is null Beacon sent by B

(a) At t1 (b) At t2 (c)

Node B decodes the enc. Pkts Node Q meets B and sends an. Pkt Node B received an beacon X3 to B from node A F2=a3X1+a4X2 B sends an enc. Pkt F3 to A F1=a1X1+a2X2 Beacon sent by B F3 = a5X1 + a6X2 + a7X3 Now beacon sent by B At T3 idx1 idx2 idx3 Cv = contains R R Beacon sent by A {X2} idx1 idx2 X1 X2 {X2} X1 X2 R A {X2} S A X1 X2 F3 C S C A {X1} S C B {X1} B X1 X2 X3 {X1} idx1 idx2 X1 X2 X3 B {X3} Q X1 X2 Beacon sent by B {X3} Q {X3} Q

(d) (e) At t3 (f)

Node B meets node C Node C meets destination D. Node A decodes X3 Node B sends enc. Pkt F4 to C Sends enc. Pkt F4 to C

F3 = a5X1 + a6X2 + a7X3 F4 = a8X1 + a9X2 + a10X3 X1 Beacon sent by A Cv = X2 idx1 idx2 idx3 R Beacon sent by C R R Beacon sent by C {X2} {X2} X1 X2 X3 F4: [a8 a9 a10] X1 X2 X3 {X2} X1 X2 X3 A A D A S C S C S C {X1} {X1} F4 {X1} F4 B X1 X2 X3 B B X1 X2 X3 X1 X2 X3 At T5 {X3} Q {X3} Q {X3} Q

(g) (h) At t4 (i) At t5

Node A meets destination D Node B meets destination D A sends X1 to D. B sends X2 to D

idx1 R X1 X2 X3 R X1 X2 X3 Beacon sent by D {X2} {X2} A D F4: [idx1:a8, idx2:a9, idx3:a10] A S F3 C X1 S X2 F3 C F4: [idx1:a8, idx2:a9, idx3:a10] {X1} B X1 D {X1} X1 X2 X3 B {X3} Q X1 X2 X3 {X3} Q Node D can decode X1,X2,X3

(j) At t6 (k) At t7

Figure 4.2: Example illustrating the operation of HubCodeV2 4.2 Mathematical Analysis

In this section, we present a mathematical model to estimate the message delivery delay in our hub-based forwarding schemes. In particular, we derive closed from

76 4.2 Mathematical Analysis expressions for message delivery delay in hub-based forwarding schemes when: a) hubs utilize network coding to disseminate a message among themselves (e.g. HubCode V1, V2), and b) hubs do not perform network coding and merely send copies of the message to other hubs (we refer to this as Hub-only scheme). We include the latter scheme in our analysis to quantify the improvements achieved by using network coding. We use the widely used network model introduced in [76] as the starting point for our analysis. In this model, the characteristics of ad hoc networks are captured through two parameters of the network: a) the number of nodes in the network and b) the intensity of identical and independent Poisson processes, which model the meeting instances between any pair of nodes. Though, originally the network model was proposed for ad hoc networks, it fits well in the context of DTN. This is because of the fact that the meeting instances of the nodes (or inter-meeting durations) determine the message forwarding rate in DTN. In order to determine the message delivery delay, we need to estimate the average message forwarding rate. In addition to the inter-meeting durations, the message forwarding rate also depends on various forwarding properties, such as nature of the forwarding protocol, importance of the messages, etc. In the follow- ing sections, we start our discussion by introducing the generic routing model. Following this, we begin our mathematical analysis by introducing the factors which affect the message forwarding rate. Once we model the message forwarding rate, we can formulate the expected message delivery delay in a straightforward manner.

4.2.1 Stochastic Forwarding Model

We assume a network which consist of one source, one destination and N −1 relay nodes (i.e. hubs). We also assume that non-hub nodes will not affect forwarding mechanism since message forwarding is performed only by the hubs. Two nodes may only communicate when they are within communication range. The duration when two nodes are connected is referred to as the meeting time and the time that elapses between two consecutive meeting times of a given pair of nodes is called the inter-meeting time. For simplicity, the transmission time is assumed

77 4.2 Mathematical Analysis

F F F F R 1 R 2 R 3 R i 1 2 3 i N

A A A A A R 1 R 2 R 3 R i R N

A

Figure 4.3: State diagram of generic routing model to be instantaneous. This is a valid assumption if the size of the message is very small. Obviously, if we had a realistic message traffic model available, then we could have taken a more pragmatic approach in modelling the transmission time. However, modelling message traffic is nontrivial because of its dependence on the network characteristics and network protocol behaviour. We have also ignored the effect of processing delays. Fig. 4.3 shows the state diagram of the generic routing model. The system is in state i ∈ 1, 2,...,N when there are i copies of the message in the network. It F is in state A when the message has been delivered to the destination. Let, Ri (i ∈ 1, 2,...,N − 1) be the average message forwarding rate to another hub and A Ri (i ∈ 1, 2,...,N) be the average message forwarding rate to the destination when there are i copies of the message in the network. As can be seen from Fig. 4.3, the mean time for a message to go from state 1 to sate A (i.e. from 1 source to destination) directly (i.e. without the forwarding via hub) is A . If the R1 message takes one hop to reach the destination, then the mean delay becomes 1 1 F + A R1 R2 Similarly, if the message takes two hops to reach the destination, then the mean delay becomes: 1 1 1 + + RF RF RA  1 2  3 Generalizing, the mean time for a message to go from state 1 to state A in k-th

78 4.2 Mathematical Analysis

Table 4.1: Notations Term Definition

E[THO] Expected message delivery delay of Hub-only (w/o coding) scheme

E[THC ] Expected message delivery delay of HubCode scheme R Average rate of contact opportunities F Ri Average msg. fwd. rate to another hub when i copies of msg. are in network A Ri Average msg. fwd. rate to destination from a hub or source when i copies of the msg. are in network α Power-law tail index

xmin Min. inter-contact duration p Probability of msgs. relevance to the peer f Probability that a hub meets another hub N Number of hubs M Number of msgs. destined to common address

(...,Nk ∈ 1, 2, 3, − 1) hop is given by:

k 1 1 + (4.5) RF RA i=1 i k+1 X   In other words, the above expression provides the mean message delivery delay when the message takes k relays to reach the destination. Using this simple reasoning, we develop our message delay model for both HubCode and Hub-only forwarding schemes in next sections. As mentioned earlier the message forwarding rate depends not only on the inter-meeting durations between nodes but also on other factors, such as forward- ing principle, number of copies in the network, etc. Next, we discuss the major F A factors which affect the message forwarding rates (Ri and Ri ) and quantify the impact of these factors on the forwarding rate.

79 4.2 Mathematical Analysis

4.2.2 Factors that Influence the Message Forwarding Rate

• Contact Rate Between Nodes: Since nodes can only forward messages during contact periods, the contact rate between nodes directly influences the message forwarding rate. Inter-meeting durations determine the contact rate. In a study on the association patterns of wireless access points [5], the authors found that the inter-meeting durations between nodes of a large network can be modelled using generalized Pareto distributions. Our study with VANET trace also shows similar findings. For example, in Fig. 4.8, we have plotted the PMF of inter-contact durations of the Seattle trace during the 3pm-8pm period and a close-fit pareto distribution in order to show the goodness of fit. If the inter-meeting durations between a pair of nodes are random variables (X) with a power-law distribution (e.g. Pareto distribution), then the ex- pected inter-meeting duration E(X) (details can be found in Appendix) is: αx E(X) = min (4.6) α − 1

where xmin is the minimum value of X and α is a positive parameter often termed as the tail index of the power-law distribution. The value of α and

xmin can be obtained empirically by using the method of maximum likeli- hood [98]. In fact, the value of α (i.e. the tail index) can be approximated graphically by plotting the data sample on a log-log plot and taking the slope of close-fit straight line of the data points. The average contact rate R is inversely proportional to the average inter- contact duration E(X). Therefore, R is: α − 1 R = (4.7) αxmin

• Number of Copies of Messages: At the beginning, when the number of copies of a message is low, the message forwarding rate increases exponen- tially. This exponential growth can be explained intuitively by considering the fact that at the beginning, the source copies the message to another

80 4.2 Mathematical Analysis

node, then these two nodes can copy the message to another two nodes, thus, making the total copies equal to four. Now, these four nodes can copy the message to another four nodes, thus, making the total copies to eight, and so on. However, this rate declines as the copies saturates the network. We elaborate this effect of the number of copies (of a message) in forwarding rate in the next section.

• Forwarding Mechanism: The mechanism of any particular routing pro- tocol may change the message forwarding rate. For example, in our routing protocol (e.g. non-coding Hub-only version), a node forwards a message to only a fraction of the total nodes (i.e. highly connected nodes) and thereby reduces the message forwarding rate by a factor f. Intuitively, f is the probability that the next encountered neighbour is a hub.

• Relevance of the Messages: The message forwarding rate also depends on the relevance of the message to other nodes (i.e. a redundant message is not relevant to a node). Let, p be the probability that a message is im- portant to the forwarded node. For network coding based schemes, p ≈ 1, since almost all messages are important (i.e. linearly independent) due to the application of random linear encoding scheme. In particular, it has been shown [96] that for network coding based schemes, p = 1 − 1/d where d is the coefficients space. Intuitively, the linear independence among the messages depends on the size of the random coefficients. The larger the coefficients, the greater the probability that the messages are linearly inde- pendent. Since the finite field size d is often chosen as 216, p approaches to 1. On the other hand, when network coding is not employed, analogous j−1 to the Coupon Collector’s Problem [99 ], p becomes 1 − M , where M is the total number of unique messages destined to the same address and j-th (j <= M) message has been received successfully.

1 for HubCode p = j−1 (1 − M for Hub-only (w/o coding) (4.8)

81 4.2 Mathematical Analysis

1(N-1)Rf 2(N-2)Rf 3(N-3)Rf i(N-i)Rf 1 2 3 i N

Rp 2Rp 3Rp iRp NRp

A

Figure 4.4: State diagram of Hub-only forwarding scheme

In the following two sections, we accommodate the above mentioned factors F A in the average message forwarding rates (Ri and Ri ) and estimate the message delivery delay for both HubOnly and HubCode schemes.

4.2.3 Message Delivery Delay in Hub-only Scheme

In this sub-section, we develop the message delay model of Hub-only forwarding scheme. A brief definition of the notations used here can be found in Table 4.1. Fig. 4.4 shows the state diagram of the Hub-only (w/o coding) forwarding scheme. Recall that in Hub-only forwarding scheme, the source forwards the message to hubs and hubs disseminate it among themselves in Epidemic manner. Eventually one of the copies reaches the destination. F The message forwarding rate Ri at each state i is a function of the number of copies i of the message in the network. We term the nodes as infected which are carrying the copies of the message. When there are i (1 < i ≤ N) copies of the same message in the network, then each infected node either sends a new copy to F the N −i hubs which do not have a copy yet at a rate of Ri = i(N −i)Rf, or meets A the destination at a rate of Ri = iRp. The rationale behind the introduction of the factors p and f are discussed in the previous subsection. Therefore, the mean time for the j-th (j ∈ 1, 2, 3,...,M) message to go from state 1 to state A (i.e. from source to destination) in k-th (k ∈ 1, 2, 3,...,N − 1)

82 4.2 Mathematical Analysis step (Fig. 4.4) is: k 1 1 + iR(N − i)f ( k + 1)Rp i=1 X   Since, in real-world people-centric DTN, most contact durations are very short [46, 63], it can be assumed that only one message can be transferred at each contact opportunity. Therefore, the mean time for all M messages to go from state 1 to state A in k-th step is given by:

k M αx αx M min + min i(α − 1)(N − i)f j−1 i=1 j=1 ( k + 1)(α − 1) 1 − M X X  [after replacing the values of R and p (from Eq. 4.7,4.2.2)].

Therefore, the expected message delivery delay E[THO] for all M messages to reach state A from state 1 is:

N 1 k 1 − αx E[T ] = M min HO N − 1 i(α − 1)(N − i)f k=1 " i=1 # NX1 M X 1 − αx + min (4.9) N − 1 j−1 k=1 j=1 ( k + 1)(α − 1) 1 − M X X  A closed formed expression (Eq. 4.10) of the expected message delivery delay is obtained from Eq. 4.9 by employing calculus approximation methods (discussed in Appendix).

Mαx N E[T ] = min (N − 2)ln(N − 1) + fNln (M) ln HO Nf(N − 1)(α − 1) 2    

4.2.4 Message Delivery Delay in HubCode

In this sub-section, we sketch the message delay model of our HubCode forward- ing schemes. Recall that the HubCodeV1 and HubCodeV2 only differ in how they broadcast auxiliary data in beacons. For example, HubCodeV1 exchanges coefficient matrix whereas HubCodeV2 exchanges native message ids in beacons. In HubCodeV2, in order to meet the purpose of exchanging the auxiliary data

83 4.2 Mathematical Analysis

1NRf 2NRf 3NRf iNRf 1 2 3 i N

R 2R 3R iR NR

A

Figure 4.5: State diagram of HubCode forwarding scheme

(i.e. message ids), the hubs try to decode the messages. However, the basic prin- ciple of forwarding messages to hubs which in turn disseminate messages amongst other hubs using network coding, is the same for both schemes. Since our model does not incorporate the beaconing mechanism, the same forwarding model is ap- plicable to both HubCodeV1 and HubCodeV2. We use the generic term HubCode to refer to both HubCodeV1 and HubCodeV2. Fig. 4.5 shows the state diagram of the HubCode forwarding scheme. Note that in HubCode, the source forwards the message to hubs and hubs encode and disseminate the encoded message among themselves. The destination receives multiple encoded messages from different hubs. Unlike the Hub-only (non-coding) scheme, practically all the encoded messages are important to the destination due to the application of linear encoding method. The destination decodes the original messages by solving the set of linear equations (i.e. encoded messages together with coefficient vector). When there are i (1 < i ≤ N) copies of the same message in the network, then unlike Hub-only (non-coding) forwarding scheme, each of those nodes either sends a newly encoded message to the N hubs (since all messages are important to all F A hubs) at a rate of Ri = iNRf, or meets the destination at a rate of Ri = iRp or iR (since p ≈ 1 in case of HubCode (Eq. 4.2.2)). Now, the mean time for a message to go from state 1 to state A in k-th (k ∈ 1, 2, 3,...,N − 1) step (Fig. 4.5) is:

k 1 1 + iRNf ( k + 1)R i=1 X  

84 4.2 Mathematical Analysis

Therefore, the mean time for all M messages to go from state 1 to state A in k-th step is (assuming that only one message can be transferred at each contact opportunity): k αx Mαx M min + min )i(Nfα − 1 ( k + 1)(α − 1) i=1 X   after replacing the value of R (from Eq. 4.7).

Therefore, the expected message delivery delay E[THC ] for all M messages to reach state A from state 1 is:

N 1 k 1 − αx E[T ] = M min HC N − 1 )i(Nfα − 1 k=1 " i=1 # NX1 X 1 − Mαx + min (4.10) N − 1 ( k + 1)(α − 1) k=1 X A closed formed expression (Eq. 4.11) of the expected message delivery delay is obtained from Eq. 4.10 by using calculus approximation methods (discussed in Appendix).

Mαx N E[T ] = min (N − 1)ln(N − 1) + fNln − N + 2 HC Nf(N − 1)(α − 1) 2    

4.2.5 Model Validation

In order to validate our theoretical model, we compare it with the simulation results. The details of the mobility trace and other simulation parameters have been discussed thoroughly in Section 4.3. In the first set of our simulations, 10 randomly selected sources (from a pool of 1065 nodes) sent 10 messages each to a single common destination (randomly selected). That is, a total of 100 messages are heading towards a single common destination. The message payload is 1000 bytes. The source nodes generate mes- sages between the period 3000 to 4000 seconds after the start of the simulation. The average delivery delay is measured for only the messages which reach the destination. The messages which are not received during the 5 hour lifetime of the simulation period are ignored. We have found that approximately 63% of

85 4.2 Mathematical Analysis the messages reach the destination in average. The number of hubs are varied from 5 to 150 in the following steps: h5, 25, 50, 75, 100, 125, 150i. The simulation is repeated 20 times for each instance. We measure the message delivery delay and plot the average value in Fig. 4.6. We also plot the 95% confidence inter- vals. We compare the simulations results to the message delay derived in Eq.

4.11 and Eq. 4.10. The parameters, hα, xmin, fi in Eq. 4.11 and Eq. 4.10 are derived empirically from the mobility traces as, h1.01, 30, 0.8i respectively. To observe the impact of increasing the traffic, we increase the number of messages sent by each random source from 10 to 20 and repeat the above simulations. The corresponding results are plotted in Fig. 4.7. The theoretical curve of Hub-only scheme (w/o coding) is also plotted in order to compare its delivery delay with that of HubCode. Recall that in the Hub-only scheme, unlike HubCode, the hubs do not encode multiple messages into a single message. One can observe from Fig. 4.6 and 4.7 that there is significant disparity be- tween the simulation and analytical results when the number of hub nodes are small (< 50). However, as the number of hub nodes increases (> 50), the two results converge. Further, both results exhibit the same general trend, in that the delivery delay decreases as the number of hubs increase. In the following, we discuss possible causes of the disparity between the the- oretical model and the simulation results when the number of hubs are small (< 50).

• Theoretical Limitation: First of all, the approximate closed form mathemat- ical models impose some theoretical limits on possible values of hubs. For example, a cursory look at the closed form equations Eq. 4.11 and Eq. 4.10 reveals that the equations are undefined when N < 3 (i.e. hubs < 3). This explains the peculiar shape of the theoretical model at low values of N.

• Biased Expectation of Inter-contact Rates: The accuracy of the expected inter-contact rate directly affects the message delivery delay in Eq. 4.11 and Eq. 4.10. In an empirical study, we have found that the inter-contact durations follows a power-law distribution and model it with a simple Pareto distribution. However, due to the nature of power-law distribution (i.e. most inter-contact durations are short-lived, but there exist few very long

86 4.2 Mathematical Analysis

35000 Simulation (HubCode) Analytical (HubCode) 30000 Analytical (w/o coding)

25000 Analytical Hub-only (w/o coding) 20000 Analytical HubCode 15000 Delay (sec.)

10000 Simulation HubCode

5000

0 20 40 60 80 100 120 140 # of Hub Nodes

Figure 4.6: Model validation: (10 message sources)

90000 Simulation (HubCode) 80000 Analytical (HubCode) Analytical (w/o coding) 70000

60000 Analytical Hub-only (w/o coding) 50000

40000 Analytical HubCode

Delay (sec.) 30000 Simulation HubCode 20000

10000

0 20 40 60 80 100 120 140 # of Hub Nodes

Figure 4.7: Model validation: (20 messages sources)

87 4.2 Mathematical Analysis

0.1 Pareto Distribution PMF of Inter-contact Duration (3pm-8pm)

0.08

0.06

P(X=x) 0.04

0.02 P(X=x) ~ 0.008 Avg. of Pareto dist. (~11)

0 20 40 60 80 100 120 140 Inter-contact Durations (min) Figure 4.8: Biased expected value of power-law distribution

inter-contact durations), the expected inter-contact duration exhibits bias towards fewer very long inter-contact durations. For example, Fig. 4.8 plots a theoretical Pareto curve that fits the empirical inter-contact distribution of the mobility trace (from 3pm-8pm slot) that we have used in our simulation. The expected value of the theoretical Pareto distribution is found to be ≈ 11 minutes. However, from the Fig. 4.8, it can be seen that the probability of occurrence of this expected value is only ≈ 0.008. Hence, the expected value of inter-contact durations does not accurately represent the rate of contact opportunities. In other words, it contributes towards a more pessimistic message delay.

• Multiple Transfer per Contact Opportunity: Recall that in our model, we assumed that only a single message can be transferred at a contact op- portunity. Though most of the contact durations are very small (e.g. < 10 seconds), few contact durations are indeed large enough to transfer multiple messages (this is the typical behaviour of power-law based distributions).

88 4.2 Mathematical Analysis

As a direct consequence of the fact, the theoretical model tends to predict larger message delivery delay than the results obtained from simulation set- tings; especially when the number of messages destined to common address is increased (Fig. 4.7).

• Problem of Averaging with Fewer Terms: Our model exhibits instability when the number of hubs (acting as message relays) is very small (between 1 - 6). If we delve into the message delay model in Eq. 4.5, Eq. 4.10 and Eq. 4.9, we find that averaging with fewer terms (i.e. when number of hubs is very small) is responsible for the instability. We explain this by considering the generalized delay model in Eq. 4.5, which is restated below for convenience:

Mean delay for arriving at state A in k steps = 1 1 1 1 + + . .. + + RA RA RA RF   1 2 k−1   k   1st part 2nd part

In the above equation,| the first part{z represents} the| cumulative{z } forwarding delay among hubs and the second part represents the delay when a relay delivers the message to the destination. The values of the trailing terms in the first part rapidly decrease as the value of k (i.e. hubs) increases due to A the rapid growth rate of Ri . As a consequence, the average value calculated (in Eq. 4.10 and Eq. 4.9) with fewer terms becomes significantly larger than that of more terms since first few terms carry most weight than the rest of 1 1 the terms. For example, the average of A + A is greater than that of R1 R2 1 1 1 A + A + A . This explains the initialh large discrepancyi between the R1 R2 R3 theoreticalh andi simulation results at fewer number of hubs.

As mentioned earlier that the theoretical curve of Hub-only scheme (w/o coding) is included in order to compare its delivery delay with that of HubCode. In both Hub-only and HubCode schemes, the theoretical models provide us with upper bounds on the delivery delay.

89 4.3 Simulation based Evaluations

4.3 Simulation based Evaluations

In this section, we present simulation-based evaluations that compare the perfor- mance of the proposed HubCode schemes with other DTN forwarding schemes. We use mobility traces of a large-scale vehicular DTN network. In all our sim- ulations, we take a pragmatic approach, wherein, the data exchanged by two adjacent nodes is proportional to the contact duration. Further, we also account for the auxiliary information exchanged by the nodes. In the first set of exper- iments, we compare the performance of our forwarding schemes against others schemes in terms of message delivery ratio and delivery cost. We also evaluate the robustness of our schemes against random node failure. In the second set of simulations, we investigate the impact of various parameters on the forward- ing performance. In particular, we study the impact of varying the % of nodes classified as hubs, the message size and the traffic load.

4.3.1 Mobility trace details

In recent years, several researchers have conducted empirical measurements to study the behaviour of people-centric DTNs. In these experiments, communicat- ing devices (bluetooth, zigbee, etc) are either handed to a volunteer group [17] or are mounted on moving vehicles [18, 100]. The devices record all opportunistic contacts with other devices in the participant set and also with external devices. The external contacts are often excluded in the analysis, since complete infor- mation about their encounters is not available. Due to practical limitations of conducting empirical experiments, the node population in all the traces is quite small (see Table 4.2 and Table 4.3). Further, it has been observed that few hubs are connected to all other nodes (i.e. have full degree distribution). This is an artifact of the small population in the traces and is not representative of real- world networks. As a result, we have found that the schemes, which exploit the power-law properties such as BubbleRap, achieve close to optimal performance (results are excluded for brevity). Hence, employing network coding at the hubs offers little advantage. Therefore, in our evaluations, we use mobility traces from a significantly larger network, which captures the movement of public transport buses from the King

90 4.3 Simulation based Evaluations

Table 4.2: Properties of Mobility Traces Data Set Intel[101] Cambridge Comp Lab[101] Period 05-01-06 to 05-01-11 05-01-25 to 05-01-31 Device iMote iMote Network Bluetooth Bluetooth Nodes 9 12 Coverage Top 2 covered 9 Top 2 covered 12

Table 4.3: Properties of Mobility Traces Data Set INFOCOM’05[17] Seattle Buses[51] Period 05-03-07 to 05-03-10 01-10-30 to 01-11-26 Device iMote None Network Bluetooth WiFi (simulated) Nodes 41 1163 Coverage Top 4 covered 41 Top 100 covered 865

County Metro bus system in Seattle [51]. The details of the traces are elaborated in Chapter 3. The trace shows the power-law behaviour in nodes’ degree distri- bution. However, unlike the other traces, no single hub connects to most of the other nodes (the maximum degree of a hub is 0.15). This is representative of a large real-world people-centric DTN.

4.3.2 Simulation Settings

We use a custom discrete event simulator. We assume that each node broadcasts a beacon every 5 seconds, for neighbour discovery. The beacons also contain additional information as required by the routing scheme (e.g., HubCode). Since, we wish to study the performance of the routing schemes in isolation, the 802.11 MAC is not implemented. In each simulation, we inject 1000 messages to 100 destinations (both source and destination are randomly selected from the pool of 1065 nodes). We assume that the message inter-arrival duration at the source is exponentially distributed, with the average inter-arrival duration set to 30 seconds. The message payload is 1000 bytes. The source nodes generate messages

91 4.3 Simulation based Evaluations between the period 3000 to 4000 seconds after the start of the simulation. This is because several nodes are inactive in the initial period. Each simulation lasts for 5 hours (18000 seconds). We choose the 3pm-8pm period from two successive weekdays, 31 Oct 2001 (Wed) and 1 Nov 2001 (Thu). We simulate each trace 20 times for statistical significance. The results presented are averaged over the 20 runs. The 95th percentile confidence intervals are all within 10% of the average. To evaluate the performance, we use the following metrics: (i) delivery ratio, which is the ratio of the messages delivered to the messages created and (ii) delivery cost, which is measured as the total number of messages transmitted, normalized by the total number of unique messages created. Note that, the delivery cost does not include the auxiliary messages exchanged by the nodes in the beacons. We compare the performance of the HubCode schemes (we use the term Hub- Code to refer both HubCodeV1 and HubCodeV2) with several other DTN for- warding schemes. Epidemic (i.e. flooding) [40] is included since it achieves the highest delivery ratio when the network is not congested. We choose Spray and Wait [41], as a representative restrictive multiple-copy forwarding scheme. In this scheme, the source initially makes n copies of a message and forwards half of those to a neighbour it meets. This node in turn repeats this strategy, i.e. it forwards half of the messages to the next encountered node and retains the other half. This process repeats until a node is left with one copy, which is only for- warded to the destination. In our simulation, we choose initial number of copies n to 8, which is a fair compromise between the delivery ratio and the cost [41]. RLC [43] and BubbleRap [25] are included since they are closely related to our work. We use the same methods as described in [25] to rank the nodes. To implement HubCode, it is necessary to identify the hub nodes in the net- work. For this, we analyse the traces from an entire weekday and rank the nodes according to the number of unique nodes they have encountered. We find that the ranking is similar for all the weekdays, because the buses follow repeatable patterns. Most people-centric networks are known to exhibit such repeatable be- haviour. The top 10% of nodes (i.e., 116 buses) are classified as the hubs since the top 10% of the highly connected nodes cumulatively covers around 85% of

92 4.3 Simulation based Evaluations the network (Fig. 3.11). Please refer to Section 3.2.3 of Chapter 3 for a detailed discussion about it. Contact durations are finite and short-lived in real-world scenario. For exam- ple, analysing the bus traces we found that several contact durations are smaller than 30 sec. Similar behaviour is observed in other real-world networks [17, 100]. Hence, we assume that the amount of data exchanged is proportional to the length of the contact duration. For simplicity, we assume the following linear relationship. The amount of data, D, exchanged during a contact duration of Tc seconds is given by,

D = (Tc − Ta) × 4Mbps (4.11)

Empirical experiments have shown that in 802.11b, the typical goodput (account- ing for overheads) at the highest data rate of 11Mbps is around 4Mbps [102]. Ta refers to the association time, which includes typical time to associate with an access point. For simplicity, we assume a fixed value of 10 seconds for Ta. We also account for the time required to exchange the beacon messages (note that, the size of the beacons vary depending on the forwarding scheme employed).

4.3.3 Delivery Ratio and Delivery Cost

Figs. 4.9 and 4.10 plot the delivery ratio and delivery cost, respectively for all the forwarding schemes. The delivery ratio for HubCodeV2 is approximately 72%, which outperforms all other schemes by about 15% − 20%. On the contrary, the delivery ratio for HubCodeV1 is about 60%. Recall that, in HubCodeV2, the hubs do not exchange the complete coefficient matrices as in HubCodeV1. Rather, they only exchange native message ids. Hence, in HubCodeV1, particularly when the contact opportunities are short, significant time is utilized in exchanging the coefficient matrices, thus leading to several wasted opportunities for transferring data. Fig. 4.10 shows that V1 still outperforms V2 slightly (by 20%) in terms of the delivery cost, as a consequence of the extra information exchanged in the beacons. Also, observe that the HubCode schemes are far superior in comparison with all other schemes (e.g., Epidemic incurs 300% excess costs as compared to V1). This is because our schemes restrict the message forwarding within the hubs and encode multiple messages together.

93 4.3 Simulation based Evaluations

0.8 Epidemic BubbleRap 0.7 HubCode_V1 HubCode_V2 0.6 Spray & Wait RLC 0.5

0.4

0.3 Delivery Ratio 0.2

0.1

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Time Figure 4.9: Delivery ratio

The delivery ratio of Epidemic is about 60%, which is less than that of Hub- CodeV1. This is because a node may not be able to transfer all the messages it carries to other nodes during an encounter. When contact durations are bounded, Epidemic, essentially resembles a restricted flooding scheme such as Spray and Wait, as evident from their similar delivery ratio. The delivery cost of Epidemic is still significantly high as compared to other schemes. Spray and Wait, re- duces the cost by about 15% due to the cap on the number of copies exchanged between nodes. Despite employing network coding, the performance of RLC is poor in comparison with HubCode. This is because, in RLC, encoded messages are flooded in the entire network. Hence, the overhead of unnecessary message replications and dominating auxiliary data exchange exhaust scarce bandwidth.

4.3.4 Effect of Node Failure

In people-centric networks, node failures are a reality. A node failure may occur due to software/hardware failures or energy depletion. Further, a node may also

94 4.3 Simulation based Evaluations

700 Epidemic Bubble 600 HubCode_V1 HubCode_V2 Spray & Wait 500 RLC

400

300

200

100

0 2000 4000 6000 8000 10000 12000 14000 16000 18000 Cost (Ratio of Transmitted to Orig. msgs.) Time Figure 4.10: Delivery cost cease to participate in message forwarding activity. In this section, we investigate the impact of node failures on the forwarding schemes under consideration. A randomly chosen fraction of nodes is made inactive over the entire duration of the simulation. We observe the impact of varying the percentage of inactive nodes on the delivery ratio. This allows us to investigate the robustness of our scheme to node failures. As before, the simulation is repeated 20 times and the average delivery ratio is plotted. Note that, we consider two different cases. In the first instance (Fig. 4.12), we assume that the inactive nodes are chosen from the entire set of nodes. In the second case, we only pick hubs as the inactive nodes (Fig. 4.11). As can be seen from the graph (Fig. 4.11), that even a 20% failed hub nodes has only a minor effect on the delivery ratio (a 7% decline). Recall that the hubs are usually well connected (i.e. have high out degrees) and that HubCode disseminates messages among hubs which collectively form a data conduit. The high inter-connectivity among the hubs provides redundant paths to disseminate messages among themselves. Therefore, the failure of a few hubs hardly affects

95 4.3 Simulation based Evaluations

1 HubCode V2 HubCode V1 Epidemic 0.8 Spray & Wait Bubble RLC

0.6

0.4 Delivery Ratio

0.2

0 0 10 20 30 40 50 % of Failed Nodes Figure 4.11: The effect of random node failure on message delivery

1 Hubs All Nodes

0.8

0.6

0.4 Delivery Ratio

0.2

0 0 10 20 30 40 50 % of Failed Nodes

Figure 4.12: The effect of random hub failure on message delivery (HubCode V2)

96 4.3 Simulation based Evaluations the connectivity among themselves. As a result, our schemes are robust to the failure of a few hubs. Fig. 4.11 also shows that other schemes such as Epidemic and RLC are also not significantly affected by node failures. This is because in both of these schemes, messages are copied to all encountered nodes. Therefore, failure of some random nodes does not impact the message delivery ratio. If the number of failed nodes is drawn from the entire node population (i.e. not merely from the group of hubs), the probability that the failed nodes con- tains hubs decreases. Since, HubCode only uses hubs (a fraction of total nodes) as delivery messengers, failure of non-hub nodes does not affect its delivery per- formance. Fig. 4.12 shows the effect of random hub failure on the delivery ratio of HubCodeV2. The same trend is also observed in HubCodeV1 (not shown in Figure).

4.3.5 Effect of the number of hubs

Recall that, HubCode uses the hubs as the message relays. In the previous ex- periments, we assumed that the top 10% of the nodes, ranked according to the degree distribution, are classified as the hubs. A natural question arises: what is the impact of increasing the number of hubs on the performance? In this set of experiments, we seek to answer this question. We consider the same parameters as in Section 4.3.3. Fig. 4.13 illustrates the impact of increasing the percentage of nodes that constitute the hubs on the delivery ratio. The delivery ratio for both schemes initially increases as we increase the number of hubs. This is expected since, the number of nodes that the hubs can collectively contact increases. As a result, the number of messages that can reach the destinations increase. How- ever, after a certain knee point (around 20% − 30%), the delivery ratio begins to decrease. This is because an increase in the number of hubs, reduces the number of messages carried by each hub. As a result, the opportunities for coding of mul- tiple messages decrease. Also, the increased overhead caused by the increasing number of hubs is also a key factor which reduces the delivery rate. Since the overhead of HubCodeV2 is less than that of HubCodeV1, the knee point in Hub- CodeV2 is slightly higher than that of HubCodeV1 (30% as compared to 20% in

97 4.3 Simulation based Evaluations

1 HubCode_V1 HubCode_V2

0.9

0.8

0.7 Delivery Ratio

0.6

0.5 10 20 30 40 50 60 70 80 90 100 % of Top Ranked Nodes as HUBs Figure 4.13: Delivery ratio as a function of the percentage of hubs HubCodeV1). Note that, when 100% of the nodes are regarded as the hubs, Hub- Code degenerates into RLC. The result concerning delivery costs is not shown in this Chapter since the findings are obvious: the costs continue to increase with increasing number of hubs. These results suggest that only a small percentage of the nodes (20% − 30%), which are highly connected, should be designated as hubs.

4.3.6 Effect of Message Size

In this section, we investigate the impact of the size of the message blocks on the delivery ratio. When the message block size is small, the auxiliary headers make up for a significant percentage of the message size, which reduces the forwarding efficiency. On the other hand, if the message block is too large, a node may fail to forward it if the contact duration between the nodes is small. In this experiment, we seek to find the optimum block size when transferring a long file. We assume that each file is 100KB long and there are 1000 such files to send. The number of destinations is 100, which are selected randomly from our pool

98 4.3 Simulation based Evaluations

1 HubCode V1 HubCode V2

0.8

0.6

0.4 Delivery Ratio

0.2

0 0 500 1000 1500 2000 2500 3000 Message Size (bytes) Figure 4.14: Delivery ratio as a function of message size of 1065 nodes. We vary the message block size from 1 to 3000 (in 500 bytes step) and observe the delivery ratio. Other parameters remain the same as in previous simulations. The experiment is repeated 20 times and average value of the delivery ratio is plotted (Fig. 4.14). In HubCode versions, the coding opportunities increase when block size is small because the probability of the number of blocks headed towards common destinations increases. However, this effect is diminished by the negative impact of the increased amount of overhead caused by larger coefficient vectors and headers. As a result, the HubCode versions show very poor performance when block size < 50 bytes. The delivery ratio begins to increase when the message block size is beyond 50 bytes. However, after reaching a cutoff point (∼ 500 in this case), the delivery ratio declines in response to further increase in the message block size. This is because, as the message size becomes larger, the contact opportunities required for successful message transfer becomes scarce (i.e. small contact opportunities may fail to transfer large blocks) and negatively affects the delivery ratio.

99 4.3 Simulation based Evaluations

1

0.8

0.6

0.4 Delivery Ratio 0.2 HubCode V2 HubCode V1 0 0 500 1000 1500 2000 2500 3000 Traffic Load (# of msgs.)

Figure 4.15: Delivery ratio as a function of traffic load

4.3.7 Effect of traffic load

In this experiment, we gradually increase traffic load in order to observe its effect on the delivery performance of the routing protocols. As before, 100 destinations are randomly selected from the pool of 1065 nodes. We vary the number of injected messages from 500 to 3000 (incremented in blocks of 500). Messages are injected in the network 3000 seconds after the simulation begins at random intervals (using exponential random variable with λ = 30). The whole experiment is repeated 20 times and the average values are plotted (Fig. 4.15). Since the number of destination remains the same (i.e. 100) in all cases, the increased traffic load implies that more messages are directed to common destina- tions. The delivery ratio initially increases steadily as traffic load is increased up to a knee point (1500 messages in this scenario) and then declines slowly when the traffic load is increased further. This is because, as the traffic load is increased, the probability that more messages have common destination increases, and so do the coding opportunities among the hubs. An increase in coding opportunity

100 4.4 Summary implies more efficient utilization of BW and hence increases the delivery ratio. However, if the traffic load is increased further beyond the knee point, the auxil- iary data overhead (due to increased size of coefficients) dominates and exhausts scarce bandwidth resources (recall that most contact durations are very small). As a result, the delivery ratio begins to decrease when the traffic load is increased beyond the threshold.

4.4 Summary

In this Chapter, we have proposed a novel forwarding strategy called HubCode for people-centric DTN that exhibit power-law behaviour. HubCode uses the highly connected nodes as message relays. Further, messages are forwarded amongst the hubs using linear network coding. We presented two alternate implementa- tions of HubCode to address the important trade-off between routing overhead and computational complexity. Our simulation-based evaluations of a large-scale vehicular DTN demonstrated the efficacy of our schemes. In particular, under pragmatic assumptions, our schemes were shown to achieve 20% higher delivery ratio and less than half of the delivery costs of comparable strategies. We have derived closed-form expressions for message delivery delay of our pro- posed scheme and validated our model by comparing with simulation results. We show that our mathematical model serves as a lower-bound for the message de- livery delay incurred under normal operational conditions. A preliminary version of this work has been presented in [53].

101 Chapter 5

Cluster-based Forwarding

Our results in Chapter 3 (Section 3.1, 3.3) reveal that most people-centric net- works tend to form clusters of nodes. In particular, our statistical analysis on real-world vehicular mobility traces indicates that vehicles tend to form rich sets of clusters at different times of day (Fig. 3.5, 3.6). The results from clustering analysis (Chapter 3, Section 3.3) corroborate this phenomenon, which show that the average clustering coefficients during most the period of the day (Fig. 3.12) remain quite high (∼ 0.5). In this Chapter, we present one approach to improve message forwarding performance by confining redundant transmissions within the cluster of the destination node. Though the information about clustering of nodes can aid aid message forwarding, the traditional graph theoretic approach to form clusters is nontrivial and computationally intensive. Here, we introduce a generic efficient clustering method by the application of dynamic programming, which reduces the complexity of forming clusters by an order of magnitude, compared to traditional graph theoretic approach. We also demonstrate how encounter fre- quencies of public transport networks can be fed to that clustering algorithm in order to build clusters of nodes. The forwarding process then uses the cluster labels to find an effective next hop node, which belongs to the destination class. Clustering can be done based on various shared properties of the nodes. In a bus network, some of the potential shared features of the nodes (buses) that be used in the classification purpose are:

a) Buses which meet each other frequently (i.e. a high encounter frequency).

102 Additional knowledge as contact duration and intermeeting duration can be used to guess the link quality between two neighbours.

b) Buses which travel along the same physical routes.

c) Buses which move frequently in high density areas (hotspots such as ) where potential data transfer can occur.

Here, we use the encounter frequencies (i.e. the number of contact oppor- tunities) of buses to find similarities among them. The rationale is that buses which meet each other more frequently (i.e. higher encounter frequency) are probably suitable forwarders for each other. Based on the encounter frequencies among the buses, an abstract cluster can be formed. A node in this cluster has better delivery predictability than nodes in other clusters when the destination node also belongs to this cluster. Our cluster formation algorithm is tunable, enabling variable size and number of clusters and has the ability produce over- lapping clusters (i.e. a single bus may belong to multiple clusters). We evaluate the effectiveness of our clustering technique and the gains achieved in improving message forwarding using empirical bus traces from a real-world public transport system. To summarize, we make the following contributions in this Chapter:

• As a first step to forming clusters based on encounter frequencies, we for- mulate a generic graph model of the DTN. Graph theoretic algorithms to find network covers can readily be applied to build clusters from our generic graph model.

• Next, we propose a novel technique to reduce the complexity of forming clusters by an order of magnitude using dynamic programming methods.

• And finally, we demonstrate the cluster formation techniques and the re- sulting improvements in message forwarding using real-world bus mobility traces.

The rest of the Chapter is organized as follows: In Section 5.1, we present our grouping algorithm and problem mapping. Section 5.2 briefly discusses our eval- uation methodology. Experimental results are provided in Section 5.2. Finally,

103 5.1 Problem Formulation

Section 5.4 summarizes the Chapter. A version of this work has been presented in [26].

5.1 Problem Formulation

Before we discuss the details of the clustering algorithm, we briefly discuss our network model.

5.1.1 Modelling the Problem

Let us assume that we want to classify the buses based on their meeting frequen- cies. Let G = hV,E,W i be a weighted undirected graph with vertex set V , edge set E, and weight set W . A straight forward way to map ad-hoc bus network into a static graph is to consider buses as vertex set V , direct reachability with other nodes as E and the number of encounters (or meetings) as W . Let the objective function be f, which indicates the similarity between two clusters. In our problem (where W is the set of encounter frequencies), the objective function is max{M1,M2,...Mk} where Mi is the maximum weight of an edge whose end- points are vertices in cluster Ci. Intuitively, we put two nodes in a group if they have maximum similarity between them (indicated by the encounter frequency between them). Unfortunately, using graph theoretic approach (e.g. finding net- work cover) to build clusters in public transport networks is practically infeasible because of the large number of buses and the exponential nature of the complex- ity of the algorithms. Later in this section we have shown how to use dynamic programming approach to tackle the scalability problem in finding clusters. We use the term objective function and distance function synonymously throughout the Chapter.

5.1.2 Hierarchical Approach

Let us begin by depicting the generic bottom-up hierarchical clustering algorithm defined by S. C. Johnson in 1967 [103]. We have chosen this greedy clustering algorithm as the basis to classify buses in public transport networks because it

104 5.1 Problem Formulation is straightforward to control the cluster size and cluster number, which is needed in our bus classification problem.

Algorithm 1 Generic Hierarchical Clustering Algorithm Start by assigning each item to a cluster repeat Merge best pair of clusters Compute the distance between new cluster and each of the old clusters until all items are clustered

Initially, each leaf node of the tree is considered a cluster consisting of a single node. At each stage of the algorithm, two best nodes (based on distance function) are merged to form a new cluster. Merging and the updating of the distance matrix define the behaviour of the algorithm. We can control the number of clusters by restricting the iteration of the algorithm. However, the main problem of hierarchical approach for cluster formation is its mutually exclusiveness in other words, the clusters formed in this way are overlapping. In our problem of classifying buses, a bus can be a member of two or more clusters; so we need to modify the generic hierarchical approach to suit our purpose.

5.1.3 Solving Mutually Exclusive Partitioning Problem

Instead of forming a single-node cluster at a leaf, we form a two-node cluster there. Each node is paired with its neighbours to form a two-node cluster at the leaf level. Let, V = hv1, v2, . . . , vni be the set of nodes (buses) in our network and

Bi (where Bi ∈ V ) be the set of neighbours of ai. Then, ∀j : j ∈ h1 ... |Bi|i, we make groups consisting of ∀i hvi,Biji at the leaf level. So at leaf, a node that has a large number of neighbours appears in many leaf nodes. In this way, a node has the opportunity to appear in other clusters as well.

5.1.4 Calculation of Distance Function

An important component of a clustering algorithm is measuring the distance or similarity between data points (nodes in our case). One of the most common distance measures is Euclidean distance. However, Euclidean distance does not

105 5.1 Problem Formulation make any sense to indicate the closeness between two clusters because encounter frequencies rather than nodes coordinates have been used to calculate similarity between two nodes in our network. In our case, coordinate space does not reflect real locations. We use the encounter frequency between two buses during a period as a distance measure. Let, D be the adjacency matrix, which is initially popu- lated from W (set of weights of edges of the graph). For each vi → vj : i =6 j,Dij contains the weight of the edges Wij (which is in this case the encounter frequen- cies). Whenever two clusters M and N merge, the distance DMN between the newly formed cluster and the rest of the clusters are calculated from the following relation: |M| |N| 1 D = D (5.1) MN | M| ×|N| ij i=1,i=j j=1,j=i X6 X6 Intuitively, this is the average of many-to-many relationship between the members of the group hMNi and the other groups.

5.1.5 Scalability Issues

From Eq. 5.1, we can see that it takes O(n2) operations to compute the distance value between a pair of clusters and it takes O(n3) operations to complete an iteration of the hierarchical algorithm (since the distance value must be computed between the newly merged node and all the other nodes). Therefore, the complete execution of the algorithm will require O(n4) operations. Clearly, for a network with a large number of nodes, Eq. 5.1 is overwhelming and practically infeasible. In the next subsection, we show how the complexity of the hierarchical clustering algorithm can be reduced by an order by using dynamic programming method.

5.1.6 Solution using Dynamic Programming Method

Fortunately the hierarchical partitioning problem exhibits the properties of over- lapping sub-problems and optimal substructure, which make it suitable to be tack- led by dynamic programming method. Dynamic programming makes use of mem- oization to avoid re-computing of optimal solutions to the sub-problems it has already solved.

106 5.1 Problem Formulation

a2 4 5 2 a4 a5

a1 8 Adjacency matrix (A) 7 a1 a2 a3 a4 a5 a1 - 5 3 0 0 3 a2 5 - 8 4 0 a3 3 8 - 7 0 a3 a4 0 4 7 - 2 a5 0 0 0 2 -

Figure 5.1: Example network graph model

Therefore, if we save the solutions of the sub-problems and reuse it to solve bigger problems, then the computation complexity can be reduced significantly. We merge two groups at a time. Let P and Q be two groups to be merged to pro- duce group R. The distance between R and any other group X : hX =6 P,X =6 Qi will be: 1 D = (D + D ) (5.2) RX 2 P X QX

Since the distance DPX between P → X and the distance DQX between Q → X have already been calculated previously, we can directly use their value in Eq. 5.2 to calculate the distance between R → X and save the result for future use. In this way, we can calculate distance values with a complexity of O(n) instead of O(n2) as in Eq. 5.1. The following example illustrates the operation of our clustering algorithm.

5.1.7 Example

Fig. 5.1 shows an example graph model of five buses ha1, a2, . . . , a5i. The weights of the edges represent the encounter frequencies, which can be calculated from the previous statistics of bus movement pattern, and the adjacency matrix Aij is built.

107 5.1 Problem Formulation

a1 a1 a2 a2 a3 a4 a2 a3 a3 a4 a4 a5

B1 B2 B3 B4 B5 B6

Figure 5.2: Grouping at the leaf level

Table 5.1: Distance Matrix D for hB1,B2,...,B6i B1 B2 B3 B4 B5 B6 B1 - 5.33 5.33 3 3.75 1 B2 5.33 - 5.33 5 3.33 1.75 B3 5.33 5.33 - 6.33 6.33 2.75 B4 3 5 6.33 - 6.33 2 B5 3.75 3.33 6.33 6.33 - 3 B6 1 1.75 2.75 2 3 -

5.1.7.1 Step 1: Pair-wise Grouping at Leaf Nodes

Let, the new pair-wise groups among neighbours be hB1,B2,...,B6i (Fig. 5.2).

5.1.7.2 Step 2: Build Distance Matrix

Build distance matrix D for hB1,B2,...,B6i (Table 5.2). For example, distance between B1 and B5 is (using Eq. 5.1): 1 DB1,B5 = 4 {A (a1, a3) + A (a1, a4) + A (a2, a3) + A (a2, a4)} And the distance between B1 and B2 is: 1 DB1,B2 = 3 {A (a1, a3) + A (a2, a1) + A (a2, a3)} This ends the initialization part of our algorithm.

5.1.7.3 Step 3: Looping

Find the max {Dij} and merge Bi and Bj. In this case, either hB3,B4i or hB3,B5i can be merged because they both have maximum distance value (it is

108 5.1 Problem Formulation

B3 B4

C1

a1 a1 a2 a2 a3 a4 a2 a3 a3 a4 a4 a5

B1 B2 B3 B4 B5 B6

Figure 5.3: Groups B3 and B4 are merged together and form group C1

Table 5.2: Updated Distance Matrix D that includes C1 B1 B2 B5 B6 C1 B1 - 5.33 3.75 1 4.16 B2 5.33 - 3.33 1.75 5.16 B5 3.75 3.33 - 3 6.33 B6 1 1.75 3 - 2.37 C1 4.16 5.16 6.33 2.37 -

6 .33 in this case). Let us merge hB3,B4i and label the new group as C1 (Fig. 5.3).The new distance matrix D that includes C1 is shown in Table 5.3.

Now the max {Dij} is 6.33 and it is for hB5,C1i. So merge hB5,C1i and label the new group as E1 (Fig. 5.4). Re-calculating the distance matrix D that includes E1, is shown in Table 5.3.

Now the max {Dij} is for B1 and B2. So we merge hB1,B2i and give the new group to a new label F 1 (Fig. 5.5). The updated distance matrix D is shown in Table 5.4. From the distance matrix D, it can be clearly seen that the next best pairs to be merged are hE1,F 1i. In this way, the process can be continued. The final dendrogram is shown in Fig. 5.6.

109 5.1 Problem Formulation

C1 B5

E1

B3 B4

C1

a1 a1 a2 a2 a3 a4 a2 a3 a3 a4 a4 a5

B1 B2 B3 B4 B5 B6

Figure 5.4: Groups C1 and B5 are merged together and form group E1

Table 5.3: Updated Distance Matrix D that includes E1 B1 B2 B6 E1 B1 - 5.33 1 3.95 B2 5.33 - 1.75 4.24 B6 1 1.75 - 2.68 E1 3.95 4.24 2.68 -

Table 5.4: Updated Distance Matrix D that includes F 1 B6 E1 F1 B6 - 2.68 1.37 E1 2.68 - 4.09 F1 1.37 4.09 -

110 5.1 Problem Formulation

C1 B5

E1

B1 B3 B2 B4

F1 C1

a1 a1 a2 a2 a3 a4 a2 a3 a3 a4 a4 a5

B1 B2 B3 B4 B5 B6

Figure 5.5: Groups B1 and B2 are merged together and form group F 1

111 5.1 Problem Formulation

a1 a2 a3 a4 a5 H1

a1 a2 a3 a4 G1

a2 a3 a4 E1

a1 a2 a2 a3 F1 a3 a4 C1

a1 a1 a2 a2 a3 a4 a2 a3 a3 a4 a4 a5

Figure 5.6: Final dendrogram

112 5.2 Evaluations

By controlling the iteration of the algorithm, we can control group size and group number. At any stage, the root nodes of the disjoint trees indicate the formed groups.

5.1.8 Forwarding Decision

Once we build group ids for each node, we can use these group ids to aid for- warding decision in several ways. A naive forwarding approach is that a message is forwarded to a neighbour only if that neighbour belongs to the destination nodes group. Packet forwarding is done in epidemic fashion once the destination belongs to the same group of the forwarder.

5.2 Evaluations

We use NS-2 [104] as our simulation tool. In order to deal with huge data effi- ciently, we have used PostgreSQL [105] as a backend database server. We have compared our forwarding by grouping approach with Epidemic [40 ], Wait [35], and Spray and Wait [106] forwarding methods. Epidemic and Wait are two ex- treme cases of message forwarding protocols. In epidemic routing, a forwarder forwards a message to all unique neighbours it encounters whereas in Wait, a forwarder waits until it meets with the destination. Epidemic routing exhibits the best case delivery ratio with minimum delay whereas Wait shows minimum possible cost to deliver a message. In a variation of Spray and Wait (which is a multi-copy forwarding scheme), when a node makes a copy, it keeps half of its cur- rent copies for itself and instructs the next hop to distribute the rest [35]. When a forwarder receives a message with only single copy instruction, it degenerates into Wait protocol. Contrast to various other studies, we use real bus movement traces of a large (spanning an area of 58km x 88km) public transport network [51]. The details of these real bus movement traces have been discussed in Chapter 3.

113 5.2 Evaluations

5.2.1 Comparison Metrics

The most important metric for a delay tolerant routing protocol is the delivery ratio, which is the ratio of the messages delivered to the messages created. Though a large message delay is common in delay tolerant networks, it is always desirable to receive a message as early as possible. Delay and delivery cost are two other important metrics which we have used in comparing various delay tolerant routing protocols. Since these routing protocols are multi-copy schemes, the receiver may receive the same message more than once. While calculating delay of a received message, we have considered the received message which arrived first. For hop- count calculation, we use the received message which has the lowest hop-count. The message that arrives first at the destination and the message that takes lowest hop to reach the destination may not be the same message. A hop-count metric is also an indication of the delivery cost of a routing protocol. We measure the delivery cost by counting the total number of messages trans- mitted and normalize it by dividing it by the total number of unique message created. If hMt1, Mt2, . . . , Mtni be the set of messages forwarded by the nodes during a period and hMc1, Mc2, . . . , Mcmi be the set of message created by the nodes, then the delivery cost dc is defined as (5.3):

n Mti =1 d = i (5.3) c Pm Mcj j=1 P 5.2.2 Methodology and Simulation Parameters

We choose the bus traces of one of the peak working periods (from 6am-9am) (Fig. 1) for our simulation. We use 50 random source-destination pairs and start sending messages at 1000 + trand (0 < trand < 3600) after the simulation starts in order to ensure that all the buses in our trace file become active by this time. The whole simulation runs for 10800 seconds. We run the whole simulation five times with different sets of source-destination pairs in order to get statistical significant result. We allocate sufficient number of message buffers to each node in order to

114 5.3 Result

Table 5.5: Simulation Parameters Parameter Value Beacon Interval 5sec Radio Range 250m Area Covered 58000m ×88000m # of Buses 284 # of Groups 16 # of Source/Dest. pairs 50 MAC protocol 802.11 Antenna Type Omni-directional Radio Propagation Model Two-Ray Ground prevent message losses due to the message queue overflow. The other simulation parameters can be found in Table 5.5. As the simulation time passes, we calculate delivery ratio and delivery cost. The plot of these indicates the growth rate of these metrics.

5.3 Result

5.3.1 Delivery Ratio

Epidemic routing exhibits the upper bound on delivery ratio and delivery delay (Fig. 5.7. The delivery ratio of our cluster-based forwarding approach (CBF) comes next. The Spray and Wait also performs well because of the dense nature of our network. Please note that growth rate of delivery ratios during the warm up period (0-4600 seconds) may not reflect actual ratios because the messages are generated throughout this period.

5.3.2 Delivery Cost

The Epidemic routing protocols achieves its higher delivery ratio with a very high cost (the cost is calculated using Eq. 5.3). The delivery cost is about 30 times less in our cluster-based forwarding method. The cost of Spray and Wait is slightly

115 5.3 Result

Delivery Ratio over Time 1 Epidemic Grouping Direct SprayWait

0.8 Grouping

Epidemic

0.6

SprayWait

0.4 Delivery Ratio

0.2 Wait

0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 Time elaplsed (seconds) Figure 5.7: Comparison of delivery ratios of various DTN routing protocols higher than that of our forwarding technique. The Spray and Wait achieves considerably low cost in delivery because it reduces a messages TTL exponentially at each hop and thus reduces a message’s lifetime in a network. In order to highlight our forwarding by grouping mechanism and to be fair in comparing with multi-copy routing protocols, we have not reduced messages lifetime by modifying TTL field at each hop. The graphs (Fig. 5.8) clearly shows that even the nave forwarding by grouping (without TTL modification) performs better than the Spray and Wait. It is expected that adding TTL modification similar to Spray and Wait will reduce the cost of our forwarding mechanism even further.

5.3.3 Hop Distribution

The hop distribution gives us an idea about how a particular routing protocol chooses a neighbour. It also indicates approximate cost of a routing protocol since more hops means more cost. As it can be seen from Fig. 5.9, both our forwarding approach and Spray and Wait deliver most of the messages (if delivered) within

116 5.3 Result

Delivery Cost over Time

Epidemic Epidemic Grouping 100 Direct SprayWait

10

1 Delivery cost

Wait 0.1

0.01 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 Time elaplsed (seconds) Figure 5.8: Comparison of delivery costs of various DTN routing protocols four hops whereas the Epidemic routing protocol uses as many as seventeen hops to deliver some messages. These gives us an indication of the relative cost and resource overhead of the routing protocols. The Epidemic routing protocol has the highest cost and overhead compared to other routing approaches.

5.3.4 Delay Distribution

A low hop count does not necessarily mean lower delay or vice versa. In order to get an idea of message delivery delay, we plot the cumulative delay distribution of the routing protocols (Fig. 5.10). Epidemic routing achieves the minimum possible message delivery delay (re- ceives 50% of the messages during first 4000 seconds) whereas the Direct delivery approach shows the worst case delivery delay (receives only 12% messages during the first 4000 seconds). The message delivery delay of our forwarding by grouping approach comes after the Epidemic routing. It is evident from the above mentioned graphs that the delivery ratio of our

117 5.3 Result

Packet Hop-Distribution 0.35 Epidemic Grouping SprayWait 0.3 Grouping

0.25

0.2 SprayWait

Prob(X) 0.15

Epidemic 0.1

0.05

0 2 4 6 8 10 12 14 16 18 Number of Hops Figure 5.9: Hop-count distribution of delivered messages

Cumulative Delay Distribution 1 Epidemic Grouping Epidemic 0.9 SprayWait Direct

0.8 Grouping 0.7

0.6 SprayWait

0.5 Pr(X

0.3 Wait 0.2

0.1

0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Delay (seconds) Figure 5.10: Cumulative delay distribution

118 5.3 Result forwarding method (CBF) approaches about 85% of the best case costing 30 times less than that of Epidemic routing. In terms of delivery ratio and delay, CBF performs next to Epidemic routing.

5.3.5 Effect of varying group numbers

Using our algorithm to form groups, we can control the number of groups that can be formed. It is intuitive that the number of groups in a network influences the message delivery cost and rate. At one extreme, when all the nodes become mem- bers of a single group, our forwarding rule behaves similar to epidemic routing. Whereas at the other extreme, each node becomes a member of a separate group, our forwarding rule degenerates into direct delivery (wait) routing scheme. Thus, by tuning the group numbers, we can achieve higher delivery ratio (as in epidemic routing) with lower cost (as in direct delivery method). Fig. 5.11 shows the ef- fect of varying group numbers (8, 16, and 32) in delivery cost. The delivery cost increases as the group number decreases and it should approach that of epidemic forwarding, if group number becomes one. However, as time elapses, the delivery cost becomes similar in all three cases. This is because as time passes, more and more nodes forward messages and hence increase cost (since there is no control over the number of messages forwarding as in Spray and Wait mechanism). Fig. 5.12 shows the delivery ratio of the messages with settings of 8, 16, and 32 groups. From the figure, we can see that the delivery ratio does not have a linear relationship with group numbers. Among the three cases, the delivery ratio is lowest in case of 8 groups. If we increase the group numbers to 16, the delivery ratio also increases. In our bottom-up clustering method, members of the groups suffer from loose bonding among themselves as the group number is approaching unity. Besides, as the group number is reducing to unity, the groups are becoming skewed (i.e. some groups have very large number of members and some have few). These two effects denigrated grouping concepts and are the primary causes for a decrease in delivery ratio in case of 8 groups. This also explains the increased delivery ratio in the case of 16 groups. However, if we increase the group numbers even further (to 32 groups), then the delivery ratio decreases. This apparent anomaly is due to the fact that as the number of groups

119 5.3 Result

Effect of Group Numbers 9 8 Groups 16 Groups 32 Groups 8

7

6

5

Delivery Cost 4

3

2

1 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 Time elapsed (seconds) Figure 5.11: Delivery cost over time with 8, 16, and 32 groups

Effect of Group Numbers 0.8 8 Groups 16 Groups 32 Groups 0.7

0.6

0.5

0.4

Delivery Ratio 0.3

0.2

0.1

0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 Time elapsed (seconds) Figure 5.12: Delivery ratio over time with 8, 16, and 32 groups

120 5.4 Summary increases, the forwarding protocol begins to degenerate into the wait protocol (i.e. direct delivery). As a result, the delivery ratio suffers (recall from Chapter 2 that the delivery ratio of wait protocol is markedly poor). Hence, there exists an optimal value of group number to achieve maximum delivery ratio without incurring much cost. We intend to delve into this matter in our future work.

5.4 Summary

In this Chapter, we have demonstrated how clustering of nodes in a DTN can enhance the message forwarding performance. By the application of dynamic programming method, we have presented an efficient generic hierarchical grouping algorithm which is capable of grouping a large number of nodes using the node encounter frequencies as a parameter for grouping. With rigorous experiments using real-world bus traces we have demonstrated the efficacy of our approach. Grouping using other metrics, such as encounter duration, inter-meeting duration, etc. and the study of the effect of group numbers and group size could be a topic for future research. A version of this work has been presented in [26].

121 Chapter 6

Statistical Forwarding

We have demonstrated in Chapter 3 (Section 3.4) that the mobility patterns of most people-centric DTN exhibit some level of time periodicity. For example, public transport buses follow fixed schedules and routes; also individuals often follow repetitive patterns, for example - driving to and from work at the same time every weekday. In particular, we have shown (Chapter 3, Section 3.4) that public transport networks exhibit repetitive patterns which have periods of 2-3 hours, in addition to the periodic patterns at the time scale of 24 hours. Given that the mobility of most real-world DTN exhibit periodicity to some extent, statistical approaches are particularly suitable for the classification of nodes as preferred forwarders. In this Chapter, we propose a Bayesian classifier [107] based DTN forwarding framework that adopts a methodical approach for computing the forwarding metrics by utilizing the network parameters (e.g. spatial and temporal information at the time of message forwarding) that capture the periodic behaviour of DTN nodes. The simplicity and accuracy of Bayesian classifier make it an attractive candidate for the classification of suitable forwarders. In our approach the computation of these class membership probabilities relies on the availability of historical statistics about relevant network parameters (e.g. node mobility traces, node encounter statistics, etc.). After computing class membership probabilities, our forwarding framework employs class-based gradient forwarding similar to those in [25, 26]. The use of posterior probabilities in computing class membership enables us to accommodate more information as compared to prior probabilities. For example,

122 6.1 Bayesian Forwarding Framework in vehicular DTN, message forwarding behaviour varies in different periods of a day due to heterogeneous traffic patterns throughout the day. Also landmarks like bus-stops are excellent places for message forwarding since there is a high likelihood of finding a suitable forwarder in those areas. The effect of these additional attributes (e.g. time, location) can be factored in methodically by using posterior probabilities. In particular, we have presented the followings in this Chapter:

• We introduce an extensible message forwarding decision framework based on Bayesian classification, which seamlessly integrates knowledge about net- work characteristics and node mobility patterns in order to make better forwarding decision.

• We present a simple instantiation of our framework, referred to as Bayesian, which uses two simple classes based on prior message delivery statistics. The forwarding metrics employed are posterior delivery probabilities conditioned on two attributes, location and time.

• We demonstrate the efficacy of our approach through simulation-based eval- uations using mobility traces of a real-world public transport network. The simple Bayesian scheme achieves a 25% improvement in the message de- livery ratio as compared to that of MaxProp [18], an effective message forwarding protocol that employs prior probabilities.

The rest of the Chapter is organized as follows. Section 6.1 presents our proposed Bayesian classifier based forwarding framework. A detailed example illustrating the use of this framework is also provided. Section 6.2 presents the simulation-based evaluation of our scheme and compares it with other forwarding strategies. Finally, Section 6.3 summarizes the Chapter. A version of this work has been presented in [54].

6.1 Bayesian Forwarding Framework

Our forwarding framework consists of two phases: 1) classification and 2) message forwarding. The goal of the first phase is to create an abstract grouping of nodes

123 6.1 Bayesian Forwarding Framework based on certain prior information about the network. Gradient forwarding is employed in the second phase, wherein a node tries to forward the message to a neighbour which has higher affinity with the destination, in anticipation that the message gradually moves towards destination. The affinity of a node with the destination is computed as a posterior probability using Bayesian inference and is based on the history of past message forwarding behaviour which is conditioned on network specific factors such as node location, time etc. The intuition being that a suitable forwarder which was encountered at the same time of day and location in the past is likely to be a good candidate in the future. Bayesian inference allows us to model the imprecise node mobility and outcomes of interest (e.g. forwarding success or failure) by combining common-sense knowledge and observational evidence. Its ability to express all forms of uncertainty in terms of probability makes it an attractive tool to quantify a node’s probability (i.e. affinity) to meet destination. The two phases of our forwarding framework are elaborated in the next sec- tion, followed by an instantiation of the framework. It should be noted that depending on the network attributes (e.g. node location, forwarding time, etc.), several forwarding instantiations are possible based on this framework.

6.1.1 Phase One: Classification

Generally speaking, a Bayesian classifier takes the attributes of an unknown sample and tries to predict its class membership probability based on the his- tory of previously known samples. Let us assume, a forwarding node P has hN1,N2,...,Nmi neighbours, which belong to one of the classes hC1,C2,...,Cni, where m ≫ n. In practice, a node may belong to more than one classes but its class membership probabilities would usually be different. Now, assume that node P has a message to send to destination D. Node P and node D are mem- bers of classes CP and CD, respectively. If node P encounters another node that has a higher affinity towards the destination class CD, then P should pass on the message to this node. Let, the attributes (which have direct or indirect effect on the message de- livery) of a node be represented by an attribute vector, X = hx1, x2, . . . , xni.

124 6.1 Bayesian Forwarding Framework

Current time, physical location, contact probability and contact duration with destination are some examples of attributes, which affect message delivery prob- ability. It is up to the network administrator (or system developer) to determine appropriate classes and attributes for a particular network. Now, referring back to our example, a node can calculate its affiliation prob- ability with other classes (Ci) conditioned on the attributes X (i.e. posterior probability) as: P (Ci|X). Intuitively, a larger value of the posterior probability would imply better affiliation to that class. The posterior probability P (Ci|X) is based on more information than prior probability P (Ci) because it factors in the effect of the attributes on the class memberships, and is hence able to identify better forwarding candidates. Using Bayes theorem, the posterior probability can be calculated from prior probability as:

P (Ci|X) = P (X|Ci)P (Ci)/P (X) (6.1)

The denominator of Eq. 6.1 , P (X) does not depend on Ci and is only used for normalization. Clearly, P (Ci|X) will be maximum when P (X|Ci)P (Ci) is maximum. To quantify the affiliation of a node to a class, we define a metric called the Affiliation Index, which is computed using Eq. 6.2.

Affiliation Index = P (X|Ci)P (Ci) (6.2)

P (X|Ci) and P (Ci) can be calculated based on the available historical informa- tion.

The term P (X|Ci)P (Ci) is equivalent to the joint probability model of P (Ci ∩

X). However, an expansion of P (X|Ci)P (Ci) becomes unmanageable for dimen- sion of X = hx1, x2, . . . , xni. If we can assume that every attribute xi is condi- tionally independent on every other attribute xj (i =6 j) then we can come up with Eq. 6.3. n

P (X|Ci) = P (xk|Ci) (6.3) k=1 Y Despite the naive assumption of conditional independence among the attributes, the naive Bayesian classifier exhibits remarkable accuracy in the classification

125 6.1 Bayesian Forwarding Framework process [108]. Now, the affiliation index can be computed from Eq. 6.2 and 6.3 as:

Affiliation Index = P (Ci) P (xk|Ci) (6.4) k Y∀ The conditional probability P (xk|Ci) can be estimated from the history data set. Assume that the historical data contains si samples that belong to class Ci.

Assume that from this sample set, there are sik samples for which the value of sik an attribute is equal to xk. In this case, P (xk|Ci) = si . If it is known that certain attributes follow well-known probability distributions (e.g. exponential, gaussian, etc.), then we can directly use that distribution in place of P (xk|Ci).

It should be noted that if any of the P (xk|Ci) in Eq. 6.4 becomes zero, then the corresponding affiliation index will also be zero, nullifying the effect of other attributes. In order to circumvent this problem, we assume a low value (e.g. 0.01) for P (xk|Ci) whenever its value becomes zero.

6.1.2 Phase Two: Forwarding

The second phase of our framework uses the affiliation indices (computed in the first phase) to forward the message towards the destination in gradient manner. When a node encounters one or more neighbours, it needs to make a decision on which node is a suitable forwarder. The node can readily compute its own affiliation index with the destination using Eq. 6.4. However, it also needs to know the affiliation indices of its neighbours with the destination. The node can calculate the class affiliation probabilities for all other neighbours provided that the node knows the attributes of its neighbours. However, calculating the poste- rior class affiliation probabilities is computationally nontrivial. This is especially true if there is a large number of neighbours (i.e. dense topology) and/or if there are a large numbers of classes and attributes to be considered for calculating the posterior probabilities. For example, in vehicular DTN, some regions (e.g. bus stops, road crossings etc.) have dense vehicle distributions and hence the number of neighbours are usually much large in these areas. It should also be noted that these computations need to be performed on the per-message basis. In order to reduce the computation overhead, a simple query-response protocol is used, which is described below:

126 6.1 Bayesian Forwarding Framework

1 The node broadcasts a request hD,Ii to its neighbours, indicating that it needs to send a message to destination D. It also includes its own class affiliation index I (delivery predictability) with the destination D in this message.

2 A neighbour on overhearing this request, calculates its own class affiliation index with the destination and replies back with a message only if its class affiliation index is greater than that of the .

3 Upon receiving responses from the neighbours, the forwarder can select the neighbour which has the maximum affinity towards the destination. In the event that there is no response, it continues to carry the message.

Fig 6.1 illustrates the major components of our forwarding framework and their interactions. In the next sub-section, with the help of an illustrative example, we discuss a simplified single-copy version of our scheme. A multi-copy version can also be implemented in a straight forward manner.

6.1.3 Example

We present a simplified example to illustrate the operation of our forwarding protocol. We consider the context of a vehicle-based DTN. It is assumed that the past delivery statistics are already known. In public transportation networks, where nodes are equipped with huge storage, computing power, and sensors, this information together with nodes’ coordinate can be logged as the nodes deliver messages to destinations. We assume a very basic classification scheme consisting of only two classes: delivered, which includes nodes which acted as relays in successfully delivering messages to the destination, and not-delivered, which indicates nodes that failed to deliver messages. For simplicity, we have chosen two attributes hx1, x2i, which are:

• x1 = Region Code hR1,R2,...,Rmi, identifying the location where the node was situated at the time of message forwarding. We assume that the entire

127 6.1 Bayesian Forwarding Framework

Features from received/ Update discarded packets Gives decision about next best hop

Class

Data Affiliation base Bayesian Index Classifier Feature Vector P(C i)P(X|Ci)

Compares Class Calculates Class Affiliation Probability Affiliation Probabilities and predicts next best hop based on max{P(Cn)P(X|Cn)}

Class Affiliation Indices received from neighbors

Figure 6.1: Major components of the proposed forwarding framework

128 6.1 Bayesian Forwarding Framework

physical domain of the network is divided into m smaller rectangular grids of equal size, each with a distinct identifier. The motivation for using location as an attribute is because in most DTN, the message delivery probability depends on the physical location of the nodes. For example, in vehicular DTN, the probability of finding a suitable forwarder is higher in the vicinity of landmarks like bus-stops and parking lots, than on isolated suburban roads.

• x2 = Time Slot hT1,T2,...,Tni, indicating the time slot when the message was forwarded. This metric has been chosen because message delivery also depends on different time periods of a day. In vehicle-based DTN, different traffic patterns are prevalent in different periods of a day and hence the message forwarding behaviour also varies with time. The granularity of the time slot as well as region code can be increased or decreased depending on the availability of historical data. In general, choosing finer grained time slots will result in a more precise affiliation index but requires larger historical records.

In the rest of this section, we explain the operations of our proposed scheme in the context of a vehicular DTN. A sample topology of a vehicular DTN and past message forwarding statistics are shown in Fig. 6.2. The vehicles represent nodes and the links represent the connectivity among the neighbour nodes. Each node maintains a history of past messages that have been forwarded. The history can be gathered via propagation of the acknowledgements (details in Section 6.2.3). Each tuple of the history database contains: (a) destination address of the message, (b) region code where the node was situated at the time of message forwarding, (c) time slot when the message was forwarded, and (d) the class of the message, i.e., whether the message was successfully delivered to the destination or not). We use a simple YES and NO to indicate class memberships. For example, the first entry of the history data maintained by node A, hD,R1,T2, YESi, indicates that while node

A was in region R1, it had forwarded a message (with destination D) at time slot

T2 and the message eventually reached the destination.

129 6.1 Bayesian Forwarding Framework

History database maintained by Node B

Region Time Slot Class For destination D from B, Destination P(Ci=yes) = 1/2, P(Ci=no) = 1/2 X1 X2 Ci P(xR2|Cyes) = 1/2 D R2 T3 No P(xT1|Cyes) = 1/2, D R2 T1 Yes A R1 T1 Yes History database maintained by Node D C R2 T2 No I = 0.125 Region Time Slot Class A R2 T1 Yes Destination X1 X2 Ci B A R2 T1 Yes B R3 T1 No Node A has a packet to send at time C R1 T3 Yes slot T1 while it was in region R2 C R2 T1 No

1. Node A calculates its affiliation index C R2 T1 Yes REQ and sends a request packet to its neighbors I = 0.00005 Yes = Delivered 2. Neighbors reply back with their own No = Not-delivered REQ affiliation indices A History database maintained by Node A 3. Upon receiving replies, node A decides next hop Region Time Slot Class Destination D X1 X2 Ci D R1 T2 Yes B R2 T3 Yes C History database maintained by Node C D R1 T1 No Region Time Slot Class Destination C R2 T2 Yes I = 0.1437 X1 X2 Ci C R1 T1 Yes B R1 T1 Yes For destination D from C, For destination D from A, D R2 T1 Yes P(Ci=yes) = 2/3, P(Ci=no) = 1/3 P(Ci=yes) = 1/2, P(Ci=no) = 1/2 P(xR2|Cyes) = 2/3 D R3 T3 No P(xR2|Cyes) = 0.01 (no data) P(xT1|Cyes) = 1/3, P(xT1|Cyes) = 0.01 (no data), C R1 T1 Yes D R2 T2 Yes

Figure 6.2: Illustrative example of our forwarding framework

Let us assume that node A has a message to send to node D; A is in the region R2 and the current time slot is T1. Node A calculates its affiliation index for D using Eq. 6.2, which is elaborated below. The prior class probability

(for class Cdelivered) is: P (Cdelivered) = 0.5 (since there are two entries in the training dataset of node A for destination D, from which one tuple belongs to 1 the class labelled yes or delivered; hence the probability is: 2 or 0.5). Now, in order to calculate P (X|Ci) where x1 = R2, x2 = T1, we need to calculate:

P (x1|Cdelivered), P (x2|Cdelivered). From the history data of A (Fig. 6.2), we find,

P (x1|Cdelivered) = 0.01 and P (x2|Cdelivered) = 0.01. Recall that null values need to be replaced by a small representative value (0.01 in this example). Now the node can calculate the affiliation index, I, using, Eq. 6.2 as,

I = P (Cdelivered) ∀i P (xi|Cdelivered) I = P (Cdelivered)PQ(x1|Cdelivered)P (x2|Cdelivered) or, I = 0.5 × 0.01 × 0.01 = 0.00005 Node A broadcasts a request message containing destination node and its de- livery index hD,Ii to its neighbours. Upon receiving the request, the neighbours

130 6.2 Evaluations

B and C also calculate their own affiliation index, which are 0.125 and 0.1437 respectively. Since these are greater than that of node A, both nodes transmit their respective indices to A. Node A then chooses C as the next hop. This process continues until the message reaches the destination or is discarded (due to expired TTL value).

6.2 Evaluations

To demonstrate the efficacy of our approach, we have carried out a simulation- based evaluation in the context of a vehicular DTN. We consider a metropolitan public transport bus network [51] and assume that each bus is equipped with a wireless radio, thus simulating a large-scale DTN. We choose to use a public transport network because of the inherent repetitive nature of the nodes move- ments. We use the simple example discussed in Section 6.1 (with two classes delivered and undelivered and two attributes: region code and time slot) as an instantiation of our framework. This is referred to as Bayesian in the rest of the simulations. We compare this scheme with three other forwarding strategies: (i) Epidemic [40], (ii) single copy version of MaxProp [18] and (iii) Wait (or direct delivery) [35]. Epidemic and Wait exhibit greatly contrasting properties. Epidemic forwarding is known to achieve the best case delivery ratio with minimum delay since it relies on flooding. On the contrary, Wait requires the minimum possible cost to deliver a message since the message is directly forwarded to the destination without the need for relays. In this study, we assume that there are sufficient buffers at each node, since we wish to exclusively focus on the performance of the forwarding strategies. The simulations have been conducted using a custom built simulator and PostgreSQL has been used as the back-end database server for storing and processing the history data set at each node.

6.2.1 Details of Mobility Traces

We have used the mobility traces of buses in the King County Metro bus system in Seattle, USA [51] to simulate a DTN network. The details of the trace have

131 6.2 Evaluations been discussed in Chapter 3. Our Bayesian protocol requires information about the location (region code) and time (time slot). For this purpose, we assume that the entire region under consideration is divided into 1km × 1km square grid blocks. In general, selection of smaller grid size results in a more precise affiliation index but increases the amount of historical data that need to be maintained to calculate statistically significant posterior probabilities. For similar reasons, the granularity of the time slots is chosen as 10 minutes (600 seconds).

6.2.2 Methodology and Simulation Parameters

Though we have mobility traces for the entire 24 hour duration of weekdays, we focus on a 9 hour period from 6am - 3pm to ensure that the simulations are tractable. This period is sufficient to capture the periodicity of the bus mobility, since a typical trip along a bus route takes 2 - 2.5 hours. For the same reasons, we have concentrated on a 58 km × 88 km region, which includes the central business district of the city. Further, we only consider the 35 buses whose routes are for the most part contained within the region of interest. We use 50 random source-destination pairs (from the combination of 35 × 35 unique source-destination pairs) where each source is a CBR node which transmits a new message of size 1000 bytes every 100 seconds. The source nodes begin to transmit messages at time 1000 + trand (0 < trand < 4600) after the simulation starts in order to ensure that all the buses in our trace file become active by this time. The whole simulation runs for 32400 seconds (i.e. 9 hours). The entire simulation is repeated 20 times with different sets of source-destination pairs and the results presented are averaged over these runs.

6.2.3 Gathering Packet Traversal History

Recall that our forwarding framework requires prior statistics about certain net- work parameters, which can serve as the input to the Bayesian classifier. In par- ticular, the example Bayesian protocol requires past message delivery statistics and information about the region code and time slot when these messages were forwarded. In order to emulate the requisite history, we simulated 500 sample

132 6.2 Evaluations runs of the simulation with exactly the same parameters as discussed in Section 6.2. The only difference is that we used a 9 hour period (6am - 3pm) for the weekday prior to that used for the actual evaluations. Though we have not updated the history in our simulation (since lack of updated history only affects long-lasting simulations), it can be easily done in real-world scenario. In our instantiation, the nodes need to know if the for- warded messages eventually reach the destination or not. Nodes, which deliver the messages to the destination, can readily log these message traversal history. Or, some form of acknowledgement messages can be used to let the forwarders to update their records. In fact, in many multi-copy DTN forwarding protocols, acknowledgement messages (e.g. vaccine [74]) are sent back to the sender so that the sender and intermediate nodes can purge the message from their queues. These acknowledgements can be used to update the history.

6.2.4 Delivery Ratio Results

The most important metric in DTN forwarding is the delivery ratio, which is the ratio of the messages delivered to the messages created. As seen from Fig. 6.3, the delivery ratio achieved by Epidemic forwarding is near perfect, which is expected. Wait performs the poorest since it relies on direct delivery. Bayesian outperforms MaxProp by 25%. The reason behind that is, MaxProp suffers from inferior quality encounter probabilities (due to its prior probability calculation method which does not depend on other network parameters) and hence often makes non-optimal forwarding decisions. It should be noted that MaxProp performs path lookup up to n hops away to find the best route to the destination. This method of searching all possible paths is clearly not scalable in large networks. On the contrary, our framework computes the posterior probabilities in a distributed manner and hence can scale easily.

6.2.5 Delivery Cost Results

We measure the delivery cost by counting the total number of messages trans- mitted and normalizing it by the total number of unique message created. The Epidemic forwarding protocol achieves its higher delivery ratio with a very high

133 6.2 Evaluations

1 Epidemic

0.8

Bayesian 0.6 MaxProp 0.4 Wait Delivery Ratio Epidemic 0.2 Bayesian MaxProp Wait 0 0 10000 20000 30000 Time elaplsed (seconds)

Figure 6.3: Comparison of delivery ratio cost. Fig. 6.4 shows the semi-log plot of delivery cost vs. time. The delivery cost is about 30 times less in our method compared to that of Epidemic forwarding. The delivery costs of MaxProp and our proposed method are similar, though MaxProp exhibits marginal better performance. This is because they both are single copy schemes and the delivery costs have been calculated from the deliv- ered messages only, neglecting the fact that the schemes have different delivery ratios. So the single-copy forwarding methods which have low delivery ratios have low delivery costs in general. Besides, we have not considered the added cost of exchanging the summary vectors, which is an integral part of MaxProp. The need for exchanging summary vectors also limits MaxProp’s deployment in large networks.

6.2.6 Delay Distribution Results

Though a large message delay is common in delay tolerant networks, it is always desirable to receive a message as early as possible. In order to get an idea of

134 6.2 Evaluations

100 Epidemic

10 Bayesian

1 MaxProp

Delivery cost Wait 0.1 Epidemic Bayesian MaxProp Wait 0.01 0 10000 20000 30000 Time elaplsed (seconds)

Figure 6.4: Comparison of delivery cost message delivery delay, we plot the cumulative delay distribution of the forward- ing protocols in Fig. 6.5. Epidemic forwarding achieves the minimum possible message delivery delay (receives 50% of the messages during first ≈3000 seconds) whereas the direct delivery approach (Wait) shows the worst case delivery de- lay (receives only 20% messages during the first 3000 seconds). Bayesian and MaxProp again exhibit similar properties with Bayesian having a slight edge. It can be concluded from the results above that the delivery ratio of even a simple implementation (which uses two simplistic classes and just two attributes) of our framework (which is a single-copy method) is about 60% of the best case (i.e. multi-copy Epidemic), while incurring an overhead that is 30 times less than that of the base case. The delivery ratio is significantly better than that of MaxProp. Also, it is intuitive that the use of better attributes further improves the performance of forwarding protocol.

135 6.3 Summary

1 0.9 Epidemic 0.8 0.7 Bayesian 0.6 0.5 MaxProp 0.4

Prob(X

Figure 6.5: Cumulative delay distributions

6.3 Summary

In this Chapter, we present a Bayesian classifier based forwarding framework, which simplifies the integration of various forwarding attributes and utilizes the repetitive nature of people-centric DTN in making better forwarding decisions. Preliminary simulation study with traces from a real-world delay tolerant pub- lic transport network demonstrates considerable performance gain (about 25% improvement in terms of message delivery ratio) than existing gradient-based forwarding schemes. A version of this work has been presented in [54].

136 Chapter 7

Conclusions

According to recent statistics, about 75% of the world population does not have Internet connectivity. This is primarily due to the concept of current commu- nication abstraction, which assume a contemporaneous end-to-end path between the source and destination. This assumption is often violated due to mobility, power-saving, or the unreliable nature of networks. Substantial cost in infras- tructure deployment is another common reason for the partitioning of networks. For example, many rural areas are devoid of digital connectivity due to the high cost of building communication infrastructures. Delay tolerant networking is an attempt to interconnect harsh networks together when current technology ei- ther fails or cannot do this in a cost-effective manner. Typically, these harsh or challenged networks are termed as DTN, which are characterized by intermit- tent connectivity. An omnipresent and hence, pertinent category of DTN is the people-centric DTN, where people govern the movement patterns. Vehicular net- works and pocket-switched networks are two notable example of people-centric DTN. This thesis concentrates on the message forwarding issues of people-centric DTN, since message forwarding is a fundamental problem that must be resolved before these networks can be made usable. Network partitions, high latency, and uncertain error probability make the message forwarding challenging and render most traditional MANET forwarding schemes unusable in these networks. In order to deal with the episodic connectivity, DTN employ forwarding strategies which rely on the store-carry-and-forward paradigm instead of the traditional store-and-forward model. It is intuitive that proper use of information about

137 the underlying network can benefit the forwarding schemes. Therefore, the open questions include asking what is the discernible information about the underlying network and how can we leverage this information to aid the message forwarding schemes? We sougth to answer these questions by analysing the spatio-temporal communication graph of the real-world people-centric DTN, and based on this, we have proposed three classes of efficient forwarding schemes. We began by statistically analysing the characteristics of the traces of a large- scale real-world public transport network, which is an important class of people- centric DTN. We have identified several key properties, such as

i) The distribution of inter-contact durations between nodes resembles that of a Pareto (i.e. power-law);

ii) The existence of hubs which have an exceedingly high degree distribution than most of the other nodes;

iii) The clustering tendency; and

iv) Predictable mobility patterns of the nodes.

These findings not only play a crucial role in building realistic mobility models but also can aid message forwarding schemes in people-centric networks. In this thesis, we have utilized these key properties in order to develop the three classes of practical forwarding schemes. Our study reveals that only 10% of the hubs can collectively cover 85% of the network. Utilizing this observation, we have proposed the HubCode, which is a network coding based forwarding scheme that delegates the message forwarding task to a group of hubs. This group of hubs forms a virtual data conduit, which reaches most of the nodes. In this way, the HubCode manages to restrict redun- dant message transmissions without penalizing the delivery ratio. Moreover, the application of linear network coding inside the hubs further reduces redundant transmissions. Under practical conditions (i.e. short contact durations), the Hub- Code outperforms comparable strategies by 20% in terms of delivery ratio while also maintaining lower delivery cost. Next, we have presented a mathematical

138 model to estimate the message delivery delay in HubCode. This model incorpo- rates the realistic power-law model of inter-contact durations between nodes that we have found in our empirical studies. We have also presented a closed-form expression for the message delivery delay. Next, we have presented a cluster-based forwarding scheme, which utilizes the clustering tendency of the nodes in people-centric networks. We have shown a generic method to form clusters when the information of the contact frequencies between nodes is known. By employing the dynamic programming paradigm, we have reduced the cost to form clusters by an order. After forming clusters, we show an efficient cluster-based gradient forwarding scheme, which reduces the delivery cost without affecting the delivery ratio. Simulations using large-scale real-world mobility traces confirm the efficacy of our approach. When more information about the underlying network is available, for ex- ample, when the history of the node mobility is available (it is often recorded in public transport networks), we present a statistical forwarding scheme, which exploits the periodic behaviour of the network. Recall that people-centric net- works, where people govern their mobility patterns, often exhibit periodicity. Our study with real-world traces of public transport networks also conforms to it. By a novel application of Bayesian classifiers, we have proposed a statistical for- warding scheme which computes delivery metrics by using temporal and spatial information from the packet forwarding history. In this scheme, we have shown a methodical approach to integrate knowledge about the network characteristics in computing delivery metrics of forwarders. Large-scale simulation results show that even a simplistic single-copy instantiation of our Bayesian forwarding frame- work outperforms the existing gradient schemes by 25%, in terms of delivery ratio. To the best of our knowledge, this work is one of first studies which incorporates the Bayesian inference in the context of DTN message forwarding.

Future Work: some open issues with our proposed forwarding schemes ob- viously need further investigations. We admit that the mathematical model to estimate the delivery delay is not perfect, since it fails to produce satisfactory results when the number of hubs are less (< 30%). Incorporating realistic net- work traffic models (which are missing from our analysis) and eliminating some

139 simplistic assumptions (such as ignoring message transmission time) could ame- liorate the accuracy of the model. More rigorous mathematical analysis from different angles is required. For example, the fluid models or the Ordinary Dif- ferential Equations (ODE) can provide a different view of the system dynamics of the HubCode. Next, recall that in our cluster-based forwarding scheme, we utilized encounter frequencies to form clusters of nodes. However, it is worth investigating the correlation among other shared properties (such as nodes which travel along the same physical route and nodes which visits dense areas more often), which can be potentially used for classification purposes. Finally, in our statistical forwarding scheme, an important question remains unanswered: How can we methodically select classes and attributes for a particular network? The astute reader may have already recognized that in our current approach, we have chosen the classes and attributes intuitively. A methodical approach to select classes and attributes would be a useful extension to our scheme. Implementing our proposed forwarding schemes on real devices would be another possible av- enue for future work, which would enable us to evaluate the performance of the protocols in real-world settings. Although, we understand that some information about the underlying net- work may not be available for each kind of people-centric DTN (for example, the networks of armoured vehicles in battle fields lack the periodic property), it would be intriguing if we could integrate the above mentioned schemes together and examine its performance. It is intuitive that a combination of these proto- cols, which can leverage the network properties dynamically, can further enhance the performance of message forwarding in terms of delivery ratio and cost. In short, despite these shortcomings, this thesis provides practical message forwarding approaches for people-centric DTN which are characterized by their discernible mobility patterns.

140 Appendix A

Message Delivery Delay

A.1 Expected inter-contact duration

The probability density function of Pareto distribution is : αxα f(x; α, x ) = m for x ≥ x m xα+1 m Therefore, the expected inter-contact duration E(X) is: ∞ α αxm E(X) = x α+1 dx xm x Z ∞ α −α = αxm x dx Zxm x−α+1 ∞ = αxα · m 1−α + xm −α+1 α xm = 0 − αxm · 1−α + αx = m α − 1

A.2 Expression for Coupon Collector’s problem

Here we show how coupon collector’s problem affect the Hub-only (w/o coding) scheme. Let, M be the number of messages destined to common address. Also, let Ti be the time to collect i − th message after (i − 1) messages have been collected.

141 A.3 Expected Message delivery delay in Hub-only forwarding scheme

In Hub-only forwarding scheme, when hubs replicate messages in epidemic manner, probability p1 that the 1-st message is a new one is: M p1 = = 1 M probability p2 that the 2-nd message is a new one is: M − 1 p2 = M

Similarly, the probability pj that the j-th message is a new one is:

M − (j − 1) p = j M j − 1 = 1 − M A.3 Expected Message delivery delay in Hub- only forwarding scheme

The expression (Eq. 4.9) for Hub-only (w/o coding) forwarding scheme is restated below for convenience:

N 1 k 1 − αx E[T ] = M min HO N − 1 (i(αN − i) − 1)f k=1 " i=1 # NX1 M X 1 − αx + min N − 1 j−1 k=1 j=1 ( α − 1)(k + 1) 1 − M X X Let, 

E[THO] = A + B (A.1) where, N 1 k 1 − αx A = M min (A.2) N − 1 (i(αN − i) − 1)f k=1 " i=1 # X X and, N 1 M 1 − αx B = min (A.3) N − 1 j−1 k=1 j=1 ( α − 1)(k + 1) 1 − M X X 

142 A.3 Expected Message delivery delay in Hub-only forwarding scheme

Using calculus approximations, we can re-write Eq. A.2 as: M N−1 k αx A = min dy dk ()Nf − 1 (yα(N − y) − 1) Z1 Z1   Mαx N−1 k 1 = min dy dk ( N − 1)(α − 1)f y(N − y) Z1 Z1  

Re-writing the above equation: Mαx N−1 k 1 1 A = min + dy dk N(N − 1)(α − 1)f y N − y Z1 Z1   Mαx N−1 k = min ln(y) − ln(N − y) dk N(N − 1)(α − 1)f Z1  1 Mαx N−1 = min ln(k) − ln(N − k) + ln(N − 1) dk N(N − 1)(α − 1)f Z1   Mαx N−1 = min ln(k) − ln(N − k) dk N(N − 1)(α − 1)f Z1   Mαx + min (N − 2)ln(N − 1) N(N − 1)(α − 1)f

Using the relation: ln(x) dx = x ln(x) − x, 1 Mαx R N− A = min k ln(k) − k + (N − k) ln(N − k) − (N − k) N(N − 1)(α − 1)f  1 Mαx + min (N − 2)ln(N − 1) N(N − 1)(α − 1)f 1 Mαx N− = min k ln(k) + (N − 1) ln(N − k) − N N(N − 1)(α − 1)f  1 Mαx + min (N − 2)ln(N − 1) N(N − 1)(α − 1)f Mαx = min (N − 1) ln(N − 1) − N − (N − 1) ln(N − 1) + N N(N − 1)(α − 1)f   Mαx + min (N − 2)ln(N − 1) N(N − 1)(α − 1)f Mαx = min (N − 2)ln(N − 1) N(N − 1)(α − 1)f

143 A.4 Expected Message delivery delay in HubCode

Using calculus approximations, Eq. A.3 can be written as:

N−1 M αxmin dy dk B = y−1 ( N − 1)(α − 1) 1 1 ( k + 1) 1 − Z Z M αx N−1 M M dy = min  dk ( N − 1)(α − 1) 1k + 1M − y + Z1 Z1 Mαx N−1 1 M = min − ln(M − y + 1) dk ( N − 1)(α − 1) 1k + Z1  1 Mαx N−1 1 = min ln(M) dk ( N − 1)(α − 1) 1k + Z1   M ln(M)αx N−1 dk = min ( N − 1)(α − 1) 1 1k + Z 1 M ln(M)αx N− = min ln(k + 1) ( N − 1)(α − 1)  1 M ln(M)αx N = min ln ( N − 1)(α − 1) 2  

Replacing the values of A and B in Eq. A.1, we get the expected delivery delay

E[THO] for Hub-only (w/o coding) forwarding scheme:

Mαx N E[T ] = min (N − 2)ln(N − 1) + Nf ln(M) ln HO Nf(N − 1)(α − 1) 2    

A.4 Expected Message delivery delay in Hub- Code

The expression (Eq. 4.10) for expected message delivery delay in HubCode is:

N 1 k N 1 1 − αx 1 − Mαx E[T ] = M min + min HC N − 1 )iNf (α − 1 N − 1 ( α − 1)(k + 1) k=1 " i=1 # k=1 X X X

144 A.4 Expected Message delivery delay in HubCode

Using similar calculus approximations, we can write:

N−1 k N−1 M αxmin M αxmin E[THC ] = dy dk + dy N − 1 1 1 )yNf (α − 1 N − 1 1 ( α − 1)(y + 1) Z Z Z 1 M N−1 αx k Mαx N− = min ln(y) dk + min ln(y + 1) N − 1 )Nf(α − 1 ( N − 1)(α − 1) Z1  1  1 M N−1 αx Mαx = min ln(k) dk + min [ln(N) − ln(2)] N − 1 )Nf(α − 1 ( N − 1)(α − 1) Z1 Mαx N−1 Mαx N = min ln(k) dk + min ln N(α − 1)(N − 1)f ( N − 1)(α − 1) 2 Z1   Using the relation: ln(x) dx = x ln(x) − x,

1 MαxR N− Mαx N E[T ] = min kln(k) − k + min ln HC N(α − 1)(N − 1)f ( N − 1)(α − 1) 2  1   Mαx = min [(N − 1)ln(N − 1) − N + 2] N(α − 1)(N − 1)f Mαx N + min ln ( N − 1)(α − 1) 2   Mαx N = min (N − 1)ln(N − 1) + Nfln − N + 2 Nf(N − 1)(α − 1) 2    

145 References

[1] Internet World Statistics, http://www.internetworldststs/stats.html, September 30 2009.

[2] Forrest Warthman. Delay-Tolerant Networks (DTNs): A Tutorial, [Avail- able Online] http://www.ipnsig.org/reports/DTN Tutorial11.pdf, March 2003.

[3] Christina Fragouli, Jean-Yves Le Boudec, and Jorg Widmer. Network Cod- ing: An Instant Primer. In ACM SIGCOMM COmputer Communication Review, volume 36(1), pages 63–68, January 2006.

[4] Sushant Jain, Kevin Fall, and Rabin Patra. Routing in a Delay Tolerant Network. In Proceedings of ACM SIGCOMM, pages 145–158, August 2004.

[5] Wei Jen Hsu and Ahmed Helmy. On Nodal Encounter Patterns in Wire- less LAN Traces. In The 2nd IEEE International Workshop on Wireless Network Measurement (WiNMee), pages 1–10, April 2006.

[6] Robert C. Durst, Patrick D. Feighery, and Keith L. Scott. Why Not Use the Standard Internet Suit for ?, [Available Online] http://www.ipnsig.org/reports/TCP IP.pdf.

[7] [Available Online] http://www.n4c.eu/DTNenSFarrell.htm.

[8] Kevin Fall. A Delay-Tolerant Network Architecture for Challenged Inter- nets. In Intel Research Technical Report, IRB-TR-03-003, February 2003.

[9] [Available Online] http://cs4fn.org/internet/dolphinnetworks.php.

146 REFERENCES

[10] A. Pentland, R. Fletcher, and A. Hasson. Daknet: Rethinking connectivity in developing nations. In IEEE Computer, volume 37(1), pages 78–83, January 2004.

[11] Rahul C. Shah, Sumit Roy, Susant Jain, and Waylon Brunette. Data MULEs: Modeling a Three-tier Architecture for Sparse Sensor Networks. In IEEE SNPA Workshop, pages 30–41, May 2003.

[12] Bret Hull, Vladimir Bychkovsky, Yang Zhang, Kevin Chen, Michel Goraczko, Allen Miu, Eugene Shih, Hari Balakrishnan, and Samuel Mad- den. CarTel: A Distributed Mobile Sensor Computing Platform. In Pro- ceedings of ACM SenSys, pages 125–138, October 2006.

[13] Philo Juang, Hidekazu Oki, Yong Wang, Margaret Martonosi, Li Shiuan Peh, and Daniel Rubenstein. Energy-Effcient Computing for Wildlife Track- ing: Design Tradeoffs and Early Experiences with ZebraNet. In Proceedings of ASPLOS, volume 36(5), pages 96–107, October 2002.

[14] Tara Small and Z. J. Hass. The Shared Wireless Infostation Model: A New Ad Hoc Networking Paradigm (or Where There is a Whale, There is a Way). In Proceedings of ACM MobiHoc, pages 233–244, June 2003.

[15] Jakob Eriksson, Lewis Girod, Bred Hull, Ryan Newton, Samuel Madden, and Hari Balakrishnan. The Pothole Patrol: Using a Mobile Sensor Net- work for Road Surface Monitoring. In Proceeding of the 6th international conference on Mobile systems, applications, and services, pages 29–39, June 2008.

[16] DTN Research Group, [Homepage] http://www.dtnrg.org.

[17] Pan Hui, Augustin Chaintreau, James Scott, Richard Gass, Christope Diot, and Jon Crowcroft. Pocket Switched Networks and Human Mobility in Conference Environments. In SIGCOMM, pages 244–251, August 2005.

[18] John Burgess, Brian Gallagher, David Jensen, and Brian Neil Levine. MAX- PROP: Routing for Vehicle-based Disruption Tolerant Networks. In IEEE INFOCOM, pages 1–11, Barcelona, Spain, April 2006.

147 REFERENCES

[19] M. Notani, V. Srinivasan, and P. Nuggenhalli. PeopleNet: Engineering a Wireless Virtual Social Network. In Proceedings of ACM MobiCom, pages 243–257, August 2005.

[20] M. Grossglauser and D. N. C. Tse. Mobility Increases the Capacity of Ad Hoc Wireless Networks. In IEEE/ACM Transactions on Networking, volume 10(4), pages 477–486, August 2002.

[21] Anders Lindgren and Avri Doria. Experiences from Deploying a Real-Life DTN System. In The 4th IEEE Consumer Communications and Networking Conference (CCNC’07) , pages 217–221, January 2007.

[22] Xu Li, Wei Shu, Minglu Li, Hong-Yu Huang, Pei-En Luo, and Min-You Wu. Performance Evaluation of Vehicle-Based Mobile Sensor Networks for Traf- fic Monitoring. IEEE Transaction on Vehicular Technology, 58(4):1647– 1653, 2009.

[23] Uichin Lee, Joon-Sang Park, Eyal Amir, and Mario Gerla. FleaNet: A Virtual Market Place on Vehicular Networks. In Proceedings of 3rd Annual International Conference on Mobile and Ubiquitous systems: Networking and services, pages 1–8, July 2006.

[24] P. Basu and T. D. C. Little. Networked parking spaces: architecture and ap- plications. In Proceedings of the Vehicular Technology Conference, VTC’02, volume 2, pages 1153–1157, 2002.

[25] Pan Hui, Jon Crowcroft, and Eiko Yoneki. BUBBLE Rap: Social-based Forwarding in Delay Tolerant Networks. In Proceedings of the 9th ACM in- ternational symposium on Mobile ad hoc networking and computing, (Mo- biHoc’08), pages 241–250, May 2008.

[26] Shabbir Ahmed and Salil S. Kanhere. Cluster-based Forwarding in Delay Tolerant Public Transport Networks. In 1st IEEE Workshop on User Mo- bility and Vehicular Networks, IEEE LCN ON-MOVE 2007, pages 625–634, August 2007.

148 REFERENCES

[27] Maria Papadopouli, Haipeng Shen, and Manolis Spanakis. Characterizing the Duration and Association Patterns of Wireless Access in a Campus. In 11th European Wireless Conference - Next Generation Wireless and Mobile Communications and Services, Nicosia, Cyprus, April 2005.

[28] Mobile Ad Hoc Network, http://en.wikipedia.org/wiki/MANET.

[29] Charles E. Perkins and Parvin Bhagwat. Highly Dynamic Destination- Sequenced Distance-Vector Routing (DSDV) for Mobile Computers. In ACM SIGCOMM Computer Communication Review, volume 24(4), pages 234–244, October 1994.

[30] T. Clausen and P. Jacquet. Optimized Link State Routing Protocol (OLSR). In RFC 3626, October 2003.

[31] Charles E. Parkins and S. Das. Ad Hoc On-Demand Distance Vector (AODV) Routing. In RFC 3561, July 2004.

[32] D. Johnson, Y. Hu, and D. Maltz. The Dynamic Source Routing Protocols (DSR) for Mobile Ad Hoc Networks for IPv4. In RFC 4728, February 2007.

[33] H. Hassanein and Jing Luo. Reliable Energy Aware Routing in Wireless Sensor Networks. In Proceedings of 2nd IEEE Workshop on Dependability and Security in Sensor Networks and Systems, DSSNS’06, pages 54–64, April 2006.

[34] Longbi Lin, Ness B. Shroff, and R. Srikant. Energy-aware Routing in Sensor Networks: A Large System Approach. In Ad Hoc Networks, volume 5(6), pages 818–831, August 2007.

[35] Evan P. C. Jones and Paul A. S. Ward. Practical Routing in Delay-Tolerant Networks. In Proceedings of ACM SIGCOMM, pages 237–243, August 2005.

[36] Aruna Balasubramanian, Brian Levine, and Arun Venkataramani. DTN Routing as a Resource Allocation Problem. In SIGCOMM Computer Com- munications Review, volume 37(4), pages 373–384, October 2007.

149 REFERENCES

[37] Andres Lindgren, Avri Doria, and Olov Schelen. Probabilistic Routing in Intermittently Connected Networks. In Proceedings of ACM MobiHoc, pages 19–20, June 2003.

[38] Matthias Grossglauser and Martin Vetterli. Locating Nodes with EASE: Last Encounter Routing in Ad Hoc Networks through Mobility Diffusion. In The Proceedings of IEEE INFOCOM, volume 3, pages 1954–1964, San Francisco, USA, March 2003.

[39] Shashidhar Merugu, Mostafa Ammar, and Ellen Zegura. Routing in Space and Time in Networks with Predictable Mobility. Technical report, Georgia Institute of Technology Technical report, GIT-CC-04-07, 2004.

[40] A. Vahdat and D. Becker. Epidemic Routing for Partially Connected Ad Hoc Networks. In Technical Report CS-200006, Duke University, 2000.

[41] Thrasyvoulos Spyropoulos, Konstantinos Psounis, and Cauligi S. Raghaven- dra. Spray and Wait: An Efficient Routing Scheme for Intermittently Connected Mobile Networks. In Proceedings of ACM SIGCOMM, pages 252–259, August 2005.

[42] Thrasyvoulos Spyropoulos, Konstantinos Psounis, and Cauligi S. Raghaven- dra. Spray and Focus: Efficient Mobility-Assisted Routing for Heteroge- neous and Correlated Mobility. In Proceedings of the Fifth IEEE Inter- national Conference on Pervasive Computing and Communications Work- shops (PerCom’07), pages 79–85, March 2007.

[43] Xiaolan Zhang, Giovanni Neglia, Jim Kursoe, and Don Towsley. On the Benefits of Random Linear Coding for Unicast Applications in Disruption Tolerant Networks. In 4th International Symposium on Modeling and Opti- mization in Mobile, Ad Hoc and Wireless Networks, pages 1–7, April 2006.

[44] Jorg Widmer and Jean-Yves Le Boudec. Network Coding for Efficient Communication in Extreme Networks. In Proceedings of ACM SIGCOMM workshop on delay tolerant networking and related topics (WDTN), pages 284–291, August 2005.

150 REFERENCES

[45] V. Cerf, S. Burleigh, A. Hooke, L. Torgerson, R. Durst, K. Scott, K. Fall, and H. Weiss. Delay-tolerant Networking Architecture. In RFC 4838, April 2007.

[46] Xiaolan Zhang, Jim Kursoe, Brian Levine, Don Towsley, and Honggang Zhang. Study of a Bus-Based Disruption Tolerant Network: Mobility Mod- eling and Impact on Routing. In Mobicom, pages 195–206, September 2007.

[47] Sushant Jain, Michael Demmer, Rabin Patra, and Kevin Fall. Using Redun- dancy to Cope with Failures in a Delay Tolerant Network. In SIGCOMM Computer Communication Review, volume 35(4), pages 109–120, New York, NY, USA, August 2005. ACM.

[48] Tara Small and Z. Hass. Performance Tradeoffs in delay tolerant wire- less networks. In ACM SIGCOMM Workshop on Delay Tolerant Networks (WDTN), pages 260–267, August 2005.

[49] Rudolf Ahlswede, Ning Cai, Shuo yen Robert Li, and Raymond W. Yeung. Network Information Flow. In IEEE Transaction on Information Theory, volume 46, pages 1204–1216, July 2000.

[50] Henri Dubois-Ferriere, Matthias Grossglauser, and Marin Vetterli. Age Matters: Efficient Route Discovery in Mobile Ad Hoc Networks Using En- counter Ages. In Proceedings of ACM MobiHoc, pages 257–266, June 2003.

[51] Jorjeta G. Jetcheva, Yih Chun Hu, Santashil Pal Chaudhuri, Amit Kumar Saha, and David B. Johnson. Design and Evaluation of a Metropolitan Area Multitier Wireless Ad Hoc Network Architecture. In Proceedings of fifth IEEE workshop on Mobile Computing Systems and Applications, pages 32–43, October 2003.

[52] George Pallis, Dimitrios Katsarosand, Marios D. Dikaiakos, Nocholas Loul- loudes, and Leandros Tassiulas. On the Structure and Evolution of Vehicu- lar Networks. In IEEE/ACM International Symposium on Modelling, Anal- ysis and Simulation of Computer and Systems, MAS- COTS 2009, pages 1–10, September 2009.

151 REFERENCES

[53] Shabbir Ahmed and Salil S. Kanhere. HUBCODE: Message Forwarding using Hub-based Network Coding in Delay Tolerant Networks. In The 12th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, MSWiM 2009, pages 288–296, October 2009.

[54] Shabbir Ahmed and Salil S. Kanhere. A Bayesian Routing Framework for Delay Tolerant Networks. In IEEE Wireless Communications and Network- ing Conference 2010, pages 1–6, April 2010.

[55] M. Balazinsky and P. Castro. Characterizing Mobility and Network Usage in a Corporate Wireless Local-Area Networks. In Proceedings of MobiSys, New York, pages 303–316, May 2003.

[56] T. Henderson, D. Kotz, and I. Abyzov. The Changing Usage of a Mature Campus-wide Wireless Networks. In Proceedings of ACM MobiCom, pages 187–201, September 2004.

[57] Jing Su, Ashvin Goel, and Eyal de Lara. An Empirical Evaluation of the Student-Net Delay Tolerant Network. In Proceedings of ACM MOBIQUI- TOUS, pages 1–10, July 2006.

[58] Augustin Chaintreau, Pan Hui, Jon Crowcroft, Christope Diot, Richard Gass, and James Scott. Impact of Human Mobility on the Design of Op- portunistic Forwarding Algorithms. In Proceedings of IEEE INFOCOM, pages 1–13, Barcelona, Spain, April 2006.

[59] Marvin McNett and Geoffrey M. Voelker. Access and mobility of wireless PDA users. In ACM SIGMOBILE Mobile Computing and Communications Review, volume 9(2), pages 40–55, April 2005.

[60] H Conceicao, M. Ferreira, and J. Barros. On The Urban Connectivity of Vehicular Sensor Networks. In Proceedings of DCOSS, LNCS, volume 5067, pages 112–125, June 2008.

[61] Marco Fiore and J. Harri. The Networking Shape of Vehicular Mobility. In Proceedings of ACM MobiHoc, pages 261–272, May 2008.

152 REFERENCES

[62] J. Blum, A. Eskandarian, and L. Hoffman. Performance Characteristics of Inter vehicle ad hoc networks. In The IEEE 6th International Conference on Intelligent Transportation Systems, pages 114–119, October 2003.

[63] S.Y. Wang. Predicting the Lifetime of Repairable Unicast Routing Paths in Vehicle-formed Mobile Ad Hoc Networks on Highways. In 15th IEEE International Symposium on Personal, Indoor and Commu- nications, pages 2815–2819, September 2004.

[64] Zong Da Chen, H.T. Kung, and Dario Vlah. Ad Hoc Relay Wireless Net- works Over Moving Vehicles on Highways. In Proceedings of the 2nd ACM international symposium on Mobile ad hoc networking and computing, pages 247–250, October 2001.

[65] K. Seada. Insights From a Freeway Car-to-Car Real-World Experiment. In Proceedings of WiNTECH, pages 49–55, September 2008.

[66] Zhensheng Zhang. Routing in Intermittently Connected Mobile Ad Hoc Networks and Delay Tolerant Networks: Overview and Challenges. In IEEE Communications Surveys, volume 8(1), pages 24–37, January 2006.

[67] Evan P. C. Jones. Master Thesis: Practical Routing in Delay-Tolerant Networks. In Electrical and Computer Engineering, University of Waterloo, 2006.

[68] Richard H. Frenkiel, B. R. Badrinath, Joan Borras, Joan Borr As, and Roy D. Yates. The Infostations Challenge: Balancing Cost and Ubiquity in Delivering Wireless Data. In IEEE Personal Communications, volume 7(2), pages 66–71, March 2000.

[69] R. C. Shah, S. Roy, S. Jain, and W. Brunette. Data Mules: Modeling a Three-tier Architecture for Sparse Sensor Networks. In Proceedings of Sensor Network Protocols and Applications, pages 30–41, May 2003.

[70] D. Marqasigan and P. Rommel. MV Routing and Capacity Building in Dis- ruption Tolerant Networks. In Proceedings of IEEE INFOCOM, volume 1, pages 398–408, March 2005.

153 REFERENCES

[71] K. Tan, Q. Zhang, and W. Zhu. Shortest Path Routing in Partially Con- nected Ad Hoc Networks. In Proceedings of Global Conference (GLOBECOM), volume 2, pages 1038–1043, December 2003.

[72] Khaled A. Harras and Kevin C. Almeroth. Transport Layer Issues in Delay Tolerant Mobile Networks. In Proceedings of IFIP-TC6 Networking, volume 3976, pages 463–475, May 2006.

[73] K. A. Harras, K. C. Almeroth, and E. M. Belding-Royer. Delay Tolerant Mobile Networks (DTMNs): Controlled Flooding Schemes in Sparse Mobile Networks. In Proceedings of IFIP-TC6 Networking, pages 1180–1192, May 2005.

[74] Zygmunt J. Hass and Tara Small. A New Networking Model for Biological Applications of Ad Hoc Sensor Networks. In IEEE/ACM Transactions on Networking, volume 14(1), pages 27–40, February 2006.

[75] Tara Small and Z. J. Hass. Quality of Service and Capacity in Con- strained Intermittent-Connectivity Networks. In IEEE Transactions on Mobile Compuitng, volume 6(7), pages 803–814, July 2007.

[76] Robin Groenevelt, Philippe Nain, and Ger Koole. Message Delay in Mobile Ad Hoc Networks. In Proceeings of PERFORMANCE, volume 62(1-4), pages 210–228, October 2005.

[77] Xiaolan Zhang, Giovanni Neglia, Jim Kursoe, and Don Towsley. Perfor- mance Modeling of Epidemic Routing. In Computer Networks: The Inter- national Journal of Computer and Telecommunications Networking, pages 2867–2891, July 2007.

[78] T. Spyropoulos, K Psounis, and C. Raghavendra. Efficient Routing in Intermittently Connected Networks: the Multi-copy Case. In IEEE/ACM Transactions on Networking, pages 77–90, February 2008.

[79] Yunfeng Lin, Baochun Li, and Ben Liang. Stochastic Analysis of Network Coding in Epidemic Routing. In IEEE Journal on Selected Areas in Com- munication, volume 26(5), pages 794–808, 2008.

154 REFERENCES

[80] Raymond Wai-Ho Yeung and Zhen Zhang. Distributed Source Coding for Satellite Communications. In IEEE Transactions on Information Theory, pages 1111–1120, 1999.

[81] Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Muriel Medard, and Jon Crowcroft. XORs in The Air: Practical Wireless Network Coding. In Proceedings of ACM SIGCOMM, pages 243–254, June 2006.

[82] Qunfeng Dong, Jianming Wu, Wenjun Hu, and Jon Crowcroft. Practical Network Coding in Wireless Networks. In Proceedings of ACM MobiCom, pages 306–309, September 2007.

[83] D. S. Lun, M. Medard, and R. Koetter. Network Coding for Efficient Wireless Unicast. In International Zurich Seminar on Communications, pages 74–77, February 2006.

[84] Zongpeng Li and Baochun Li. Network Coding: the Case of Multiple Uni- cast Sessions. In in Proceedings of the 42nd Allerton Annual Conference on Communication, Control, and Computing, September 2004.

[85] Yufang Xi and E. M. Yeh. Distributed Algorithms for Minimum Cost Mul- ticast with Network Coding in Wireless Networks. In IEEE/ACM Trans- action on Networking, volume 18(2), pages 379–392, April 2010.

[86] Ling-Jyh Chen, Chen-Hung Yu, Tony Sun, Yung-Chih Chen, and Hao hua Chu. A Hybrid Routing Approach for Opportunistic Networks. In Pro- ceedings of ACM SIGCOMM workshop on Challenged Networks, CHANTS, pages 213–220, September 2006.

[87] S. Burleigh, A. Hooke, L. Torgerson, Kevin Fall, , K. Scott, and H. Weiss. Delay-tolerant Networking: An Approach to Interplanetary In- ternet. In IEEE Communications Magazine, volume 41(6), pages 128–136, June 2003.

[88] Routing in Delay-Tolerant Networking, http://en.wikipedia.org/wiki/Routing in delay-tolerant networking.

155 REFERENCES

[89] Jason Lebrun and Chen N. Chuah. Delegation Forwarding. In Proceedings of MobiHoc, pages 251–260, May 2008.

[90] Pan Hui and Jon Crowcroft. How Small Labels create Big Improvements. In Proceedings of International Workshop on Intermittently Connected Mobile Ad hoc Networks, Poster Session, pages 65–70, March 2007.

[91] Carl J. Nuzman, Iraj Saniee, Wim Sweldens, and Alan Weiss. A Com- pound Model for TCP Connection Arrivals. In ITC Specialist Seminar on IP Traffic Measurement, Modeling, and Management, pages 319–337, Monterey, California, September 2000.

[92] Gregory W. Corder and Dale I. Foreman. Nonparametric Statistics for Non-Statisticians: A Step-by-Step Approach. Wiley, 2009.

[93] Albert-Laszlo Barabasi. Linked: How Everything is Connected to Every- thing else and What it Means. Plume, 2003.

[94] Duncan J. Watts. Six Degrees: The Science of a Connected Age (Open Market Edition). W. W. Norton and Company, 2004.

[95] Ling Jyh Chen, Yung Chih Chen, Tony Sun, Paruvelli Sreedevi, Kuan Ta Chen, Chen Hung Yu, and Hao Hua Chu. Finding Self-similarity in Op- portunistic People Networks. In INFOCOM, pages 2286–2290, May 2007.

[96] Supratim Deb, Muriel Medard, and C. Choute. Algebraic Gossip: A Net- work Coding Approach to Optimal Multiple Rumor Mongering. In IEEE transaction on information theory, volume 52(60), pages 2486–2607, June 2006.

[97] Lidl Rudolf and Niederreiter Harald. Finite Fields (2nd ed.). Cambridge University Press, 1997.

[98] Lucien Le Cam and Grace Lo Yang. Asymptotics in Statistics: Some Basic Concepts, 2nd Edition. Springer, July 2000.

156 REFERENCES

[99] Los Thimonier Philippe Flajolet, Danile Gardy. Birthday Paradox, Coupon Collectors, Caching Algorithms and Self-organizing Search. In Discrete Applied Mathematics, volume 39, pages 207–229, 1992.

[100] Vijay Erramilli, Mark Crovella, Augustin Chaintreau, and Christophe Diot. Feasibility Study of Bluetooth-based Content Distribution Stations on Pub- lic Transit Systems. In MobiShare’06: Proceedings of the 1st international workshop on decentralized resource sharing in mobile computing and net- working, pages 63–65, September 2006.

[101] James Scott, Richard Gass, Jon Crowcroft, Pan Hui, Christophe Diot, and Augustin Chaintreau. CRAWDAD data set cambridge/haggle (v. 2006-09-15). Downloaded from http://crawdad.cs.dartmouth.edu/cambridge/haggle, September 2006.

[102] Jangeun Jun, Pushkin Peddabachagari, and Mihail L Sichitiu. Theoretical Maximum Throughput of IEEE 802.11 and its Application. In Network Computing and Applications, pages 249–256, April 2003.

[103] S. C. Johnson. Hierarchical Clustering Schemes. In Psychometrika, vol- ume 2, pages 241–254, 1967.

[104] Network Simulator, [Homepage] http://www.isi.edu/nsnam/ns.

[105] PostgreSQL, [Homepage] http://www.postgresql.org.

[106] F. Tchakountio and R. Ramanathan. Tracking Highly Mobile Endpoints. In ACM Workshop on Wireless Mobile Mulitmedia, (WoWMoM’01), pages 83–94, July 2001.

[107] Jiawei Han and Micheline Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann Publishers, 2001.

[108] Irina Rish. An empirical study of the naive Bayes classifier. In IJCAI 2001 Workshop on Empirical Methods in Artificial Intelligence, Also appeared as IBM Technical Report RC22230, August 2001.

157