Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
1
Abstract—In this paper, we investigate how to network smartphones for providing communications in disaster recovery. By bridging
the gaps among different kinds of wireless networks, we have designed and implemented a system called TeamPhone, which provides
smartphones the capabilities of communications in disaster recovery. Specifically, TeamPhone consists of two components: a
messaging system and a self-rescue system. The messaging system integrates cellular networking, ad-hoc networking and
opportunistic networking seamlessly, and enables communications among rescue workers. The self-rescue system groups, schedules
and positions the smartphones of trapped survivors. Such a group of smartphones can cooperatively wake up and send out emergency
messages in an energy-efficient manner with their location and position information so as to assist rescue operations. We have
implemented TeamPhone as a prototype application on the Android platform and deployed it on off-the-shelf smartphones.
Experimental results demonstrate that TeamPhone can properly fulfill communication requirements and greatly facilitate rescue
operations in disaster recovery.
1 I NTRODUCTION
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
2
cation on smartphones by manufacturers to facilitate can be used to set up the command center and provide
rescue operations in disaster scenarios. critical communications for rescue workers, such vehicle
The rest of this paper is structured as follows. We start carried towers cannot cover all disaster areas. Therefore, it is
with the motivation and challenges in Section 2, and then important to network smartphones with short range radios
present the design and implementation of TeamPhone in in disaster recovery.
Section 3 and Section 4, respectively. Then, we present ex- Due to the mobility of rescue crews and survivors,
perimental evaluations in Section 5, followed by the review network topology changes frequently; i.e., sometimes smart-
of related work in Section 6 and the conclusion in Section 7. phones may form a mobile ad-hoc network, and sometimes
they only contact each other opportunistically. Therefore,
the big challenge is how to provide communication cross-
2 M OTIVATION AND C HALLENGES
ing different types of networks including ad-hoc networks,
In this section, we first motivate the need of networking opportunistic networks, and cellular networks, considering
smartphones in disaster recovery for communications, and frequent topology changes; i.e., rescue workers can commu-
then illustrate the challenges. nicate with each other and with the command center no
matter if they are within the coverage of the mobile cellular
2.1 Motivation towers or not.
Disasters, such as earthquakes, may topple countless homes In addition, trapped survivors may be buried in debris
and kill thousands of people. Power failures and fallen cellu- and be difficult to discover. With the capability of com-
lar towers caused by disasters further leave the affected area munications between smartphones, the devices of trapped
cut off from the outside and hinder rescue operations. In survivors can automatically send out emergency messages
disaster recovery, communications are crucial for coordinat- to nearby rescue crews with better discoverability and
ing rescue operations. Moreover, if trapped survivors in the reachability. However, broadcasting emergency messages
rubble can send out emergency messages to rescue workers, can drain batteries quickly. Since rescue operations may last
rescue operations can be greatly accelerated. Therefore, in for days after disasters occur, the discovery of nearby rescue
this paper, we investigate how to provide communications crews and sending out emergency messages in an energy-
in disaster recovery. efficient manner is another challenge.
With the increasing penetration of smartphones Moreover, it is better for trapped survivors to include
equipped with short-range radios, GPS and sensors, smart- their location information into emergency messages to facil-
phones have been studied for various applications, includ- itate rescue operations. However, in disaster recovery, GPS
ing health monitoring [6], mobile sensing [7], ad-hoc com- and network providers are not available for localization.
munications [8], WiFi-based localization [9], etc. Moreover, Providing some coarse-regained location or position infor-
smartphones have evolved to be much more powerful than mation of trapped survivors, which can yet be exploited for
before in terms of computing and communications, and rescue operations, is also challenging.
users heavily rely on smartphones in their daily lives. As a
result, users always carry their smartphones or place smart-
phones where they can easily and immediately be accessed 3 T EAM P HONE
even during disasters. However, in disaster recovery such as TeamPhone is a tailored system for disaster recovery based
earthquakes, the cellular towers may be destroyed, and thus on smartphones, which provides seamless data communica-
cellular communication of smartphones is cut off. Then, we tion through several different types of networks and facili-
have to set up communication with short-range radios (e.g., tates rescue operations for trapped survivors. In this section,
WiFi) of smartphones. we describe the network scenario of disaster recovery, and
Smartphones have recently been conceptually consid- present the design of TeamPhone.
ered for disaster recovery to locate immobilized survivors
using Bluetooth in [10] and to provide multi-hop commu-
nications in [11]. However, Bluetooth has limited commu- 3.1 Network Scenario
nication range (a few meters). The design in [10] fails to Fig. 1 illustrates the network scenario for disaster recovery.
consider energy efficiency, which may quickly drain the As can be seen, mobile cellular towers only cover limited ar-
battery of the smartphone. [11] also fails to conserve en- eas and provide cellular communications for rescue workers
ergy and uses proactive routing which reacts slowly to the in these areas. A command center sits in the covered region
frequently changing network topology in disaster recovery. and command centers in different regions may be connected
It also increases the maintenance overhead in terms of via communications satellites. Survivors can also join the
network traffic and energy consumption. In contrast to these network to help data communications. Trapped survivors
existing works, we propose a much more functional and in the debris are unable to move and are waiting for rescue.
energy-efficient communication system using smartphones When rescue workers fall out of cellular coverage, they
for disaster recovery, and we address various design and can only use short-range radios (e.g., WiFi) to communicate.
implementation issues. They can communicate with each other or with the com-
mand center via individuals or combinations of ad-hoc con-
2.2 Challenges nections, opportunistic contacts, and cellular connections,
During disaster recovery, communications satellites and mo- as shown in Fig. 1. Also, trapped survivors can construct a
bile cellular towers may be deployed. However, communi- group based on ad-hoc connections and send out emergency
cations satellites are scarce. Although mobile cellular towers messages when rescue workers or survivors are within the
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
3
WiFi interface
cellular interface
network layer application layer
Rescue Worker routing routing
Messaging System
Messaging User
Survivor message message
cellular connection ad-hoc routing opportunistic routing
Interface
Trapped Survivor transmission start transmission end
TeamPhone
Data Transmission Satellite
Node Movement
D Ad hoc Connection scheduled transmission
Mobile Cellular Tower
Self-rescue System
D self-rescue grouping wake-up scheduling generate emergency
discover neighbors exchange messages
start and positioning message
C send emergency
self-rescue grouping discover wake-up
message
end
B Command Center
D A sleep
WiFi interface
B
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
4
the routing replies with the ‘gateway’ flag. Otherwise, the message will be handled as follows. The nearby messaging
source will select the gateway with the minimum hop count, node will forward a copy of the emergency message to all
encapsulate the message and send it to the gateway. When the messaging nodes that can currently be connected via
the gateway receives the message, it will decapsulate it, ad-hoc communications. Then, at each node the emergency
connect the destination and forward the message through message is stored and forwarded via opportunistic contacts
its cellular interface. by the flood routing. Whenever a node receives an emer-
gency message, it will first examine whether it can forward
3.3.2 Opportunistic Routing the emergency message to the command center directly by
In the messaging system, opportunistic routing acts as an a cellular or ad-hoc path. If not, it will continue the flood
alternative when the destination cannot be connected via routing.
cellular or ad-hoc communications. Opportunistic routing
works as an application that forwards messages between
3.4 Self-rescue System
two nodes that encounter each other. The opportunistic
routing of the messaging system adopts two simple for- The smartphones of trapped survivors are configured as
warding strategies: (i) static routing where the message part of the self-rescue system and then the self-rescue sys-
carried by a messaging node is forwarded only when it tem automatically sends out emergency messages when
encounters the destination, to save network resources such rescue workers or survivors are nearby. The battery life
as energy and bandwidth; (ii) flood routing (also known of smartphones must last as long as possible, since rescue
as epidemic routing) where messaging nodes that carry the operations may last for hours or even days. Therefore, the
message always forward it to the encountered node such self-rescue system must be energy-efficient. Since trapped
that the delay of the message can be minimized. More survivors are most likely difficult to discover, rescue crews
sophisticated routing schemes tailored for rescue operation may not infer the location of trapped survivors, even if they
are to be considered in future work. Note that TeamPhone is have received emergency messages from them. Thus, the
a system that can adopt any opportunistic routing protocol. emergency message should also provide location informa-
Unlike mobile opportunistic networks where nodes are tion to facilitate rescue operations.
isolated individually, the network in disaster recovery most
likely consists of groups of nodes (e.g., groups of rescue 3.4.1 Self-rescue Grouping and Wake-up Scheduling
workers), where nodes within the group are well connected To save energy, instead of continuously staying awake, a
via ad-hoc communications and nodes between groups can self-rescue node can wake up periodically to discover mes-
also be connected through other nodes, e.g., smartphones saging nodes. However, this will increase the possibility that
of survivors. In such a scenario, ad-hoc routing is preferred a self-rescue node is asleep when a messaging node passes
for message transmission rather than opportunistic routing. by. Since survivors in the same building may be trapped
Therefore, in the messaging system, opportunistic routing is together or nearby when the building collapses, they can
explored only when network partitions occur and thus two group together as a self-rescue group via WiFi and wake up
simple routing strategies are adopted rather than other so- in a coordinated way to save energy.
phisticated schemes based on historical contact information, The group coordination must be carefully done, since
such as [13] [14]. they may still miss passing by nodes if only one node in
the group is scheduled to wake up during some time. For
3.3.3 Routing Efforts example, as shown in Fig. 1, node D moves around the
The messaging system differentiates messages into two group of trapped survivors. If the leftmost node is sched-
categories: general messages and emergency messages (by uled to wake up and all others are sleeping, the self-rescue
using a flag in the message), on which the messaging system node will not receive the hello message since it is out of the
makes different routing efforts. Currently, the system treats communication range of node D. Therefore, the design of
messages from self-rescue nodes as emergency messages the self-rescue system should take this into consideration.
and all other messages as general messages. General mes- Note that our wake-up scheduling problem is similar to the
sages are handled considering the balance between network sensor activity scheduling problem [15] in sensor networks.
resource and delay, whereas emergency messages are delib- However, existing work focuses on achieving full coverage
erately handled to minimize the delay. Different strategies by scheduling among redundant nodes, satisfying coverage
are adopted to handle these two types of messages. ratio requirement, and maximizing coverage lifetime. Un-
General messages are handled in the order of cellular like these problems, in disaster scenarios, a self-rescue group
connections, ad-hoc communications and opportunistic con- most likely does not have redundant nodes (i.e., impossible
tacts as aforementioned. If a general message has to be to achieve full coverage by scheduling), and there is no
forwarded opportunistically, then static routing is adopted. imposed requirements of coverage ratio and lifetime. Given
Emergency messages that are initiated by trapped sur- a network randomly formed by smartphones, our goal is
vivors will be first received at nearby messaging nodes and achieve a good tradeoff between coverage and energy cost,
then forwarded to the command center for better coordina- considering the characteristics of disaster scenarios. In the
tion of rescue operations. Since trapped survivors are usu- following we present the details of our solution.
ally far from the regions covered by cellular towers, cellular Clique. Considering a group of nodes that coordinate
is usually unavailable for nearby messaging nodes to send waking up, we need to decide which nodes should be awake
out the emergency message. If the command center also can- during each time period so as to reduce energy cost while
not be connected by ad-hoc communications, the emergency maintaining good coverage. To do so, we consider cliques.
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
5
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
6
τ 3τ
l { 41 } m { 21 } i t
C j
3τ
t
i j l n i j l n i j l n
A τ A t
n m t
i { 12 , 31 , 14 } 2τ 3τ i j k k i j k i j k
{ 41 } k 3τ t B t
B
j k l 3τ t i m m i m m i m m
{ 31 , 14 } { 31 } n t C t
0 12τ 0 4τ 8τ 12τ
(a) one-hop network of i (b) wakeup schedule for each node (c) cumulative wakeup schedule for each clique
Fig. 4: Illustration of one-hop network, individual wakeup schedule and cumulative wakeup schedule of maximal cliques.
all these cliques. For example, in Fig. 4a, node i belongs erage overlaps, but with the minimal coverage. Assume self-
to cliques A, B and C and the wake-up fraction of node rescue nodes have the same WiFi range and energy cost per
i is 1/4 (since there are four nodes in clique A), 1/3 and wake-up period. As at most one node in a maximal clique
1/2 for A, B and C , respectively. To save energy, for each is scheduled to wake up, there is no coverage overlap in
node, we choose the lowest wake-up fraction of the maximal the clique, but there may be overlaps with nodes from other
cliques it belongs to, denoted as γ , as the wake-up frequency cliques. The combination of awake nodes in the self-rescue
(e.g., γi = 1/4 for node i). By doing so, the wake-up group at a time determined by our solution maximizes the
frequency for all nodes is less than or equal to the frequency coverage with its efficiency, i.e., adding one more awake
using maximal independent sets. For example, the wake-up node cannot increase the coverage without decreasing the
frequencies of nodes m and k are reduced from 34 to 12 and efficiency. The proof is straightforward. As each awake node
from 12 to 13 , respectively. is selected from an individual clique, additional node will
Furthermore, since the wake-up schedules of self-rescue contribute a larger overlap to the coverage and thus reduce
nodes in the same maximal clique are dependent, to deter- the efficiency.
mine the wake-up schedule at each node in a distributed Distributed Wake-up Scheduling. In the following, we
way, we have to decide a scheduling order. We use the sum describe how to determine the wake-up schedule in a dis-
of wake-up fractions of the maximal cliques that a node tributed way. Note that the distributed scheduling works on
belongs to as the criterion, denoted as θ, to determine the the entire network, not just the one-hop network.
scheduling order. Within a maximal clique, the node with a As discussed above, by exchanging neighboring infor-
larger θ decides first. mation, each node can construct the one-hop network and
Fig. 4b shows the wake-up schedule of each node in the find all maximal cliques, and it can further calculate θ and γ
network of Fig. 4a, assuming the wake-up schedule starts based on the maximal cliques. Then each node floods θ into
at time 0 and each wake-up time period is τ , which is a the network, and after that each node acknowledges θ of all
system parameter. The wake-up schedule of the nodes is other nodes. The node that has the maximum θ will initiate
easily determined following the scheduling order discussed the scheduling procedure; i.e., it decides a reasonable start
above and two rules: (i) the wake-up frequency for each time for the wake-up schedule, determines its own wake-up
node must be γ ; and (ii) there is no more than one wake- schedule based on γ , and then broadcasts the schedule to its
up node at any time in a clique. Fig. 4c shows the wake-up one-hop neighbors.
schedule for each clique, which is the cumulative schedule The nodes that receive the schedule and belong to a same
of nodes in each clique. We can see for cliques B and C , maximal clique, e.g. j and k in clique B in Fig. 4a, need
there are vacancies because node i is scheduled at γi = 1/4 to determine the scheduling order. Since θj > θk , node j
rather than 1/2 in clique C and node j is scheduled at γi = goes first. As node k also acknowledges θj > θk , it will not
1/4 rather than 1/3 in clique B . Since the vacancy ratio is proceed until it receives the schedule of j . For the nodes
low, i.e., 16.7% for clique B and 25% for clique C , and the from different maximal cliques, e.g. nodes j and m, their
coverage ratios are high as discussed above, the schedule schedules are independent and thus the scheduling order
vacancy only slightly affects the overall coverage; yet such does not apply to them. Since node i decides the start time
wake-up scheduling can greatly save energy. of the wake-up schedule, clock synchronization is required
Nodes may belong to more than one clique, such as for all the nodes in the self-rescue group. However, smart-
nodes i and j in Fig. 4c. When such nodes are awake, no phones usually get the local time from network providers
other nodes in its clique need to wake up to save energy. As such that self-rescue nodes are already synchronized with
an example, for the network of Figure 4a, the total number millisecond accuracy before disasters occur. Therefore, no
of scheduled wake-up periods of all the nodes is 22 (27 if additional synchronization is required since τ is at the
using maximal independent sets) for a time period 12τ as second level.
shown in Figure 4b, while if all the nodes stay awake, the In summary, when a node receives a schedule from a
total number of wake-up periods is 72. Therefore, we can see neighboring node, it first checks whether it has received the
the scheduling can save about 70% of the energy, assuming schedules from all other nodes with larger θ in the same
each node spends the same amount of energy for each wake- maximal clique of the sender. If it has, it will determine its
up period τ ; in other words, it can extend the battery life of own wake-up schedule based on the received schedules and
the self-rescue group more than three times. and broadcast the schedule to its neighbors, otherwise it will
Optimality Obviously, keeping all nodes awake can wait for other schedules. If there are more than one node in
guarantee the optimality of coverage, but drain the battery the maximal clique that have the same value of θ, the order
quickly, while keeping only one node awake can guarantee is determined based on node id. Eventually, each node has
the optimality of efficiency (coverage/energy), i.e., no cov- its wake-up schedule.
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
7
y 5 y
y 3
{ 13 } p 2
l m l { 13 , 41 } m { 12 }
l E C
y C
A A 4
n A 1
x n x n x i { 21 , 13 , 41 }
l k ′
m i i 1 1
{3, 4} 3
C B B 2 B
n A j k j k j k { 13 , 13 }
x i D D { 13 , 31 , 14 } D
B 4
j k o o o { 13 }
(a) one-hop network of i and (b) one-hop network of j (c) positioned nodes in self- Fig. 6: Example of integrated wake-
built coordinate system rescue group up scheduling and positioning in a
Fig. 5: Illustration of building the coordinate system for self-rescue group self-rescue group
3.4.2 Location and Positioning for the self-rescue system due to the energy constraint. Thus,
we design a more efficient positioning scheme to establish a
Last Known Location. When sending out emergency mes-
coordinate system for the self-rescue group. The position-
sages, it is desired to include location information of trapped
ing scheme is specifically designed on top of self-rescue
survivors to better help rescue crews to find them. However,
grouping and scheduling so as to reduce communication
since trapped survivors are buried in the debris, GPS is not
overhead.
available. In addition, cellular towers are destroyed and thus
localization by network providers [17] is also unavailable. First, when a node broadcasts beacon messages to build
Therefore, for each individual smartphone, the only location one-hop networks, it will also include the information (e.g.,
information it has is the last known location which is kept by transmit power, antenna gain, etc.) that is required to com-
the operating system (e.g., the last known location that can pute the distance at receivers. When a node broadcasts its
be retrieved from the Android system consists of location, set of one-hop neighbors, it will also enclose the distances to
timestamp, accuracy and provider). Although many apps these neighbors. Thus, a node will acknowledge the distance
on smartphones require a user’s location to be periodically of each edge in its one-hop network. For example, in Fig 4a,
updated in background, the last known location does not node i will know the distance of each edge in the network.
necessarily indicate current location. However, given a self- Then, node i chooses the maximal clique that contains the
rescue group, there are still chances that the last known maximum number of its one-hop neighbors, i.e. clique A, to
location is close to the current location for some self-rescue define a coordinate system, as illustrated in Fig. 5a, and then
nodes. While self-rescue nodes themselves cannot deter- all the nodes contained in clique A can be positioned in the
mine that based on the last known location they currently coordinate system by triangulation since all the distances
have, it is easy for rescue workers to verify the location are known (refer [18] for detail).
since they acknowledge their current location. Therefore, it For other maximal cliques in the one-hop network, if
is necessary to include all last known locations of the self- they share an edge with the maximal clique that has been
rescue group into emergency messages. positioned, then they can be also positioned in the coor-
Coordinate System. Moreover, based on the communi- dinate system, e.g., clique B in Fig. 5a, though there are
cations among self-rescue nodes, it is possible to build a two possible positions for some nodes due to symmetry.
relative coordinate system in which the positions of self- For example, based on the coordinates of nodes i and j
rescue nodes can be computed. Node positions together and the distances between i and k and between j and k ,
with last known locations can be very helpful for rescue another possible position of node k is k 0 . However, if node
crews to locate the trapped survivors quickly, e.g., the last k is located at k 0 , it should have discovered nearby nodes l
known location close to current location can be plugged and n, considering their distances in the coordinate system.
into the coordinate system to reveal the locations of other Although it is possible in rare cases that node k is at the
self-rescue nodes. In the following, we detail how to build position k 0 , node k is most likely at the position shown in
the coordinate system for a self-rescue group. the figure. Therefore, the positioning scheme is designed
Given a wireless network and the distances between di- to choose the most likely position if such cases occur. For
rectly connected nodes (one-hop neighbors), the coordinate the maximal clique that does not share an edge with the
system for the network can be built as investigated in [18]. positioned clique, the position cannot be determined, e.g.,
The distance between one-hop neighbors can be measured node m in clique C , which is called outlier.
by different methods, such as Angle of Arrival, Time of After computing the coordinate of each one-hop neigh-
Arrival and Time Difference of Arrival. However, due to the bor, node i will send the coordinate information to its
limitation of the WiFi chips in off-the-shelf smartphones, the neighbors. The information also includes the distances to
only method that can currently be exploited is the Signal outliers, though they cannot be positioned by node i in the
Strength method, but this method can be easily replaced coordinate system. However, outliers may be positioned by
whenever a more accurate method becomes available for other nodes in the self-rescue group with the help of the
off-the-shelf smartphones. The positioning method in [18] included distance information.
is designed for mobile ad hoc networks (distances between When node j receives the information, it acknowledges
nodes are required to be periodically updated and positions its position in the coordinate system built by node i and
have to be re-computed periodically) but does not address will use the information to compute the position of a node
communication overhead, which is indeed very important that is not yet positioned in its one-hop network, i.e., node
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
8
o as depicted in Fig. 5b. Finally, in the self-rescue group, Protocol 1 Self-rescue group communications protocol
only node m is not positioned as illustrated in Fig. 5c. 1: for all i ∈ V do
Although it is possible that some nodes in the self-rescue 2: broadcast hello messages
3: discover neighbors
group cannot be positioned, the positioning scheme can
4: compute distances
provide the position information of self-rescue nodes as 5: broadcast one-hop neighbors
much as possible based on their connections. 6: construct one-hop network
Self-rescue Group Communications Protocol. In the 7: find all maximal cliques and calculate θi and γi
8: flood θi and last known location into network
following, we detail how to integrate the positioning scheme 9: end for
with the distributed wake-up scheduling so as to minimize
10: if i = arg maxj∈V θj then
the communication overhead. The positioning is designed 11: determine wake-up schedule
to be initiated at the node with the maximum sum of wake- 12: computing positions of one-hop neighbors
up fractions as the scheduling does. The node determines 13: broadcast schedule and positions
14: end if
a coordinate system, computes the positions of its one-
hop neighbors and broadcasts them together with the de- 15: for all i ∈ V do
16: when received a schedule do
termined wake-up schedule to its neighbors. For all other 17: if not already scheduled && received enough schedules then
nodes in the network, when it is ready to determine its 18: if received enough schedules then
own wake-up schedule, it will also compute the positions 19: determine wake-up schedule
20: computing positions of one-hop neighbors
of its one-hop neighbors if needed (it is possible these
21: if wake-up scheduling not completed then
nodes are already positioned). If the wake-up scheduling 22: broadcast schedule and positions
is completed, which means all of its one-hop neighbors are 23: else
already scheduled, it will flood the position information it 24: flood positions
25: end if
has into the network. Otherwise, it broadcasts the schedule 26: end if
and positions, and the process continues. Finally, all nodes 27: else
acknowledge the position information of the self-rescue 28: continue to wait
group. 29: end if
30: end when
Let us use Fig. 6 as an example to illustrate how the 31: end for
wake-up scheduling and positioning work together in a self-
rescue group, where the order of the process is labeled by Note that all self-rescue nodes have to be awake during
red numbers. 1) Since the sum of wake-up fractions of node i executing this communications protocol. However, every
is the maximum, node i will initially determine its wake-up node knows when this process is complete, i.e., after it has
schedule, setup a coordinate system, compute positions for received the position information of all other self-rescue
its one-hop neighbors, and then broadcast the schedule and nodes. Then, each node goes to sleep and wakes up accord-
the position information, denoted by (i∗ , j ∗ , k ∗ , l∗ , n∗ , m), ingly based on the determined schedule.
where ∗ indicates the position of the node is known in the Self-rescue nodes have different battery levels and may
coordinate system. 2) Then, nodes m and j will proceed consume different amounts of energy. However, each node
to scheduling according to the rules discussed in Section in such a self-rescue group always consumes much less en-
3.4.1. Node j will compute the position of node o and then ergy than if it stays awake alone, while maintaining a similar
broadcast (i∗ , j ∗ , k ∗ , l∗ , n∗ , m, o∗ ). Since all nodes in the coverage. Since trapped survivors with a high battery level
maximal clique node m belongs to have scheduled wake- may or may not be willing to consume more energy than it
up, node m will flood (i∗ , j ∗ , k ∗ , l∗ , n∗ , m) into the network. has to when joining the self-rescue group, we currently do
The process continues similarly for 3), 4) and 5). Similar to not consider how to balance the battery level among self-
node m, nodes o and p will flood (i∗ , j ∗ , k ∗ , l∗ , n∗ , m, o∗ ) rescue nodes, but leave it for future work.
and (i∗ , j ∗ , k ∗ , l∗ , n∗ , m, o∗ , p∗ ), respectively, after they de-
termine the wake-up scheduling. Finally, every node has its 3.4.3 Message Overhead
wake-up scheduling and the location and position informa- Let us analyze the message overhead of the self-rescue
tion of all other nodes in the self-rescue group. The location system according to Protocol 1. Each node needs to broad-
and position information will be included in the emergency cast three messages (hello message, one-hop neighbors and
message. wake-up scheduling) and flood a message of θ. A node also
The positioning works as an add-on function of self- needs to flood a message of position information if it is the
rescue grouping and wake-up scheduling, and they are last one in the maximal cliques it belongs to determine the
implemented together as the self-rescue group communi- wake-up scheduling. Let N denote the number of self-rescue
cations protocol as detailed in Protocol 1. The procedures nodes. In the self-rescue group, there are 3N broadcast
labeled in red are exclusively exploited for positioning, messages and flood messages are at most 2N 2 − N . Note
which are involved with computing positions and flooding that nodes that need to flood the position information are
position information. However, these procedures incur very at most N − 1. Therefore, the total message overhead of the
little additional overhead. The computation overhead is low self-rescue group 2(N 2 + N ), i.e., 2(N + 1) transmissions
and positions are computed only once. Since only some per node.
nodes need to flood the position information, the commu-
nication overhead is also low. Moreover, the last known 3.4.4 Emergency Message
location is flooded together with θ and computed positions Each self-rescue node acknowledges last known locations
are broadcast with wake-up schedules. and position information of nodes in the group. This infor-
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
9
Configuration Manager
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
10
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
11
300 TABLE 2
25
250
Power when AODV with different hello message intervals
throughput (Mb/s)
20
power (mW)
200 hello interval 0.5s 1s 2s 3s 4s
15
150
10
Power (mW) 203.86 203.30 203.56 203.21 201.79
100
5
50 three-hop retransmission
0
0
WiFi off WiFi ad-hoc AODV AODV+DTN2 0 20 40 60 80 100 AODV
modes distance (m) R2
S R1 R2 D
Fig. 11: Power consump- Fig. 12: Throughput as a func- S D
one-hop retransmission
tion when the smartphone tion of distance between two di- AODV
movement + DTN2
is in different modes rectly connected smartphones R1
R1 S R1 R2 D
accomplish the following ways of message transmissions: i) Fig. 15: Movement helps Fig. 16: Replication reduces
sending by AODV (including through gateways); ii) sending data transmission transmission delay
by AODV-Gateway-Server-Gateway-AODV; iii) sending by The hello message interval of AODV in TeamPhone is
DTN2. In the following, we evaluate the messaging system set to one second based on the following considerations.
in terms of power consumption, throughput and delay, When AODV sends hello messages more frequently, such as
which are important aspects of a communication system in two hello messages per second, it will cause more network
disaster recovery. We also show how opportunistic routing traffic, especially when the network has many nodes. When
can facilitate messaging transmissions and obtain better hello messages are sent less frequently, AODV will react to
performance than with only ad-hoc routing. the change of network topology slowly and thus in turn
Power. The message system should be energy-efficient. affect the performance of AODV. For example, when the
To measure the power, the Monsoon Power Monitor is hello interval is four seconds, the reaction delay to a neighbor
used to provide constant power to the smartphone instead change is about eight seconds, since the allowed loss of hello
of using battery. Fig. 11 illustrates the power when the messages is two as in Table 1. Moreover, as observed from
smartphone is operating in different modes, where all the the experiments, the power consumption for different hello
measurements are conducted when the smartphone’s screen message intervals only vary slightly. Therefore, in Team-
is off and the power is averaged over one minute. As can Phone, the hello message interval is set to one second.
be seen, when WiFi is off, the smartphone consumes about Throughput. Since transmitted messages could be
10mW. When WiFi is on and configured in ad-hoc mode, the photo, voice, even video, we also measure the throughput of
power consumption increases significantly, to about 200mW, the messaging system as shown in Figures 12 and 13, where
because WiFi in ad-hoc mode has to be at the working stage the WiFi module of the smartphone S3 supports IEEE 802.11
to transmit and receive messages. When the messaging sys- a/b/g/n. Fig. 12 illustrates the throughput between two
tem with AODV (the hello message interval is one second) is directly connected smartphones. The maximum throughout
running on the smartphone without user-space data traffic, is over 20Mb/s, and it decreases linearly with the increase of
it incurs very little additional power. Similarly, the running the distance between two smartphones. When the transmis-
of DTN2 only consumes very little power. From Fig. 11, sion distance is 100 meters, the throughput drops to about
we can conclude that the basic power consumption of the 2Mb/s. Fig. 13 shows the throughput on a two-hop ad-hoc
messaging system (with both AODV and DTN2) is about path, constructed by AODV. As can be seen, the throughput
200 mW, which is mainly consumed by the WiFi module. of both one-hop paths is about 6Mb/s. The throughput of
For the Samsung Galaxy S3 with battery of 2100mAh and two-hop drops to 3Mb/s due to the increase of hop count.
3.8V, the estimated standby time is about 40 hours when Delay. Fig. 14 shows the round-trip delay of message
running the messaging system. passing with AODV. As expected, the delay increases with
Table 2 gives the measured average power of the smart- the hop count, and the delay for one-hop message passing
phone during one minute when AODV is configured with is low (about 20ms). For two-hop and three-hop, the de-
different hello message intervals. As can be seen, the power lay is about 40ms and 60ms, respectively. Unlike one-hop,
for different intervals varies slightly. Although intuitively where neighbors are already in the routing table, multi-hop
more frequent hello messages should incur more power, the requires routing path discovery if the destination is not in
difference is too small compared to the power when WiFi is routing table. Thus, the delay variations of two-hop and
in ad-hoc mode (as shown in Fig. 11). Therefore, the power three-hop are much higher than the median values as shown
is not the major concern when we choose the hello message Fig. 14.
interval. Benefits of Opportunistic Routing. The incorporation
round-trip delay (ms)
8 80
mance of the messaging system as demonstrated in Fig.15
6 60
and 16.
4 40
In Fig.15, node S needs to send a message to node D.
Node S first performs path discovery of AODV. However,
2
20 neither S , R1 nor R2 can contact D due to a physical obsta-
1 1 2 1 2 3 cle as shown in Fig.15. Therefore, the connection between
hop count hop count
S and D cannot be established using AODV (or any ad-
Fig. 13: Throughput in Fig. 14: Round-trip delay hoc routing) and the message transmission is failed. Such
terms of hop count of AODV on smartphones a scenario is common in disaster recovery. Nevertheless,
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
12
50 100
800
awake wake-up scheduling
% of positioned nodes
wake-up scheduling positioning
# of transmissions
40
75
600
power (mW)
30
t1 t2 50
400
20
200 25
10
0 0 0
t3 t4 t5 awake t1 t2
topology
t3 t4 t5 ✁ ✂ ✄
topology
☎ ✆ ✁ ✂ ✄
topology
☎ ✆
(a) network topologies of self- (b) total power of different (c) message overhead of dif- (d) percentage of positioned
rescue group topologies ferent topologies nodes in different topologies
Fig. 17: Power, message overhead and positioned nodes of self-rescue groups in different topologies
if opportunistic routing is deployed, the message can be are asleep (WiFi goes to sleep), they consume very little
replicated at R1 and R2 first since R1 and R2 can be reached power, similar to that when WiFi is turned off. When they
from S , and then the message can be delivered when any of are awake, the power consumption is similar to that of
them moves closer to D and establishes a connection with messaging nodes as in Fig. 11. According to the wake-up
D. Therefore, opportunistic routing can take advantage of scheduling, the worst case of energy consumption is when
node movement to accomplish message transmissions; the the sleep period of a self-rescue node is also τ (i.e., the self-
delay is mainly determined by the physical movement. rescue node only belongs to a two-node clique). In that
In Fig.16, node S is sending a message to D through case, the energy consumption is about 1076mJ for a sleep
multi-hop connection between them. However, the link period and a wake-up period (totally 10 seconds) as shown
between R2 and D is suddenly broken due to channel in Table 3.
interference, or physical obstacles. If only ad-hoc routing To measure the power consumption of the self-rescue
is used, S has to re-transmit the message to D when the link group, we use the four smartphones to form groups with
between R2 and D is back, and a new route discovery has different network topologies, as shown in Figure 17a. There
to be initiated. With opportunistic routing, the messaging are five different network topologies, denoted as t1 , t2 , t3 ,
system can handle such a scenario with better performance t4 and t5 . For each topology, we first determine the wake-
as follows. When the link between R2 and D is broken, the up schedule and then measure the total power consump-
messaging system can distribute the message to other nodes tion of the group. In Fig. 17b, awake indicates the power
(i.e., R1 and R2 ) on the path to the destination. When the consumption when all the nodes stay awake. As can be
link is valid again, the message can be directly transmitted seen in Fig 17b, our wake-up scheduling is always better
to node D by R2 instead of three-hop communications than awake, and the power consumption is less than half
from S to D. Therefore, message replication of opportunistic of awake. When the network contains a larger clique, the
routing can greatly accelerate message transmissions. Based self-rescue group consumes less power. For example, as t3
on the experiments on the testbed, for the scenario in Fig.16, contains a three-node clique while t2 contains a two-node
the round-trip delay can be decreased from about 60ms clique, the power consumption of t3 is less than that of t2 .
to 20ms, and the throughput can be increased from about Similarly, t5 (four-node clique) is less than t4 (three-node
1Mb/s to more than 6Mb/s. clique). Moreover, the power consumption of t5 is only 1/3
From these two scenarios, we can see opportunistic of awake. For smartphone S3, the standby time of the group
routing can greatly facilitate message transmissions and when running the self-rescue system is about 70 hours for
improve the performance of the messaging system. t1 and 125 hours for t5 . Therefore, we can conclude that the
self-rescue system can greatly save energy and thus increase
5.2 Self-rescue System the possibility of being discovered in rescue operations for
For the self-rescue system, we first need to determine the trapped survivors.
wake-up period τ . As self-rescue nodes wake up to discover Message Overhead and Positioning. Fig. 17c shows the
the messaging node, τ should be long enough such that they message overhead of the self-rescue system for different
can receive the hello message from the messaging node and topologies. The message overhead includes both wake-up
send out the emergency message. Since self-rescue nodes scheduling and positioning. As depicted in the figure, the
wake up alternately in a clique, τ should be short enough overhead of wake-up scheduling is the same for different
so that the self-rescue node is awake when messaging topologies since it only depends on the number of nodes in
nodes are passing by. Based on these considerations and the self-rescue group. Meanwhile the overhead of position-
the parameter settings of AODV, τ is set to 5 seconds in the ing varies on different topologies, which depends on the
experiments. number of nodes that belong to only one clique or are the
last one in the cliques it belongs to determine the wake-up
TABLE 3 scheduling, as discussed in Section 3.4.3. Fig. 17d depicts the
Power and energy consumption of the self-rescue system percentage of positioned nodes in these network topologies.
Power (mW) Energy (mJ) Time period (s) For t1 and t2 , half of nodes can be positioned; while all the
Wake-up 202.30 1011.5 5 nodes can be positioned in t4 and t5 . Therefore, we can see
Sleep 12.98 64.9 5 that more nodes can be positioned if the group contains a
larger clique.
Power and Energy. Table 3 shows the power and en- To investigate the performance of positioning in a self-
ergy consumption of the self-rescue system. When nodes rescue group, we use the four smartphones to form a
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
13
250 25
# of transmissions
200 20
AB 12 10m C′ 10m C′
BC 8.81 D′ 150 15
DC 10.15
100 10
AD 9.89
AC 15.67 10m B B′ 10m AA ′ 50 5
BD 13.97 0 A 0 B
D′′ C ′′ 0 0
2 4 6 8 10 2 4 6 8 10
(a) distance measures (b) A’s coordinate (c) B’s coordinate size of self-rescue group size of self-rescue group
Fig. 18: Positioning in a self-rescue group (a four-node (a) total message overhead (b) message overhead per node
clique), where four smartphones form a 10m×10m square. Fig. 19: Message overhead in terms of the size of self-rescue
10m×10m square (a four-node clique). The smartphones are group
placed as the black square in Fig. 18b. Each node measures and investigated how the model affected network perfor-
the distances to its neighbors using signal strength as dis- mance of ad-hoc routing protocols. Other researches take
cussed in Section 3.4.2. As there are two distance measures opportunistic networks into consideration. Martı́n-Campillo
for each node pair, e.g., the measures of nodes A and D for et al. [28] proposed a random walk gossip protocol that
AD, the smartphone will use the mean value as the distance. runs over ad-hoc networks. Asplund et al. [29] evaluated
The distance measures on the smartphones are shown in the efficiency of opportunistic routing protocols in disaster
Fig. 18a. Fig. 18b shows the coordinate built by node A scenarios. Uddin et al. [30] proposed a multicopy oppor-
using AB 0 as the x-axis and the positions of other nodes tunistic routing for disaster response networks. Fujihara
(B 0 , C 0 and D0 ). There is distortion of the positions due and Miwa [4] proposed disaster evacuation guidance using
to the measurement error. D00 could be a possible position opportunistic communications. A more detailed survey of
for D. However, as the measured distance between BD ad-hoc networks for disaster scenarios can be found [31].
(13.97m) is much larger than the distance of B 0 D00 , D00 can Although many researchers have contributed to improv-
be excluded. The edges in red are used by A to calculate the ing rescue and evacuation operations, only few consider
position of each node, and the measured distance of BD is smartphones. In the literature, [10] and [11] are the most
used to exclude D00 . Fig. 18c shows the coordinate built by related work to this paper. Suzuki et al. [10] proposed a
node B . Since the√ measure of BD is more accurate than AC design to assist the search for immobilized persons in a
(compare to 10 2m), the distortion is alleviated. Similarly, disaster area using Bluetooth of smartphones. However,
C 00 can be excluded as a possible position of C . As the node Bluetooth of smartphones only has limited communication
positions in the coordinates built by different nodes can be range (maximum 10m), and the design does not consider
different, the self-rescue group has to use one coordinate to energy efficiency and can quickly drain the battery.
position all the nodes as discussed in Section 3.4.2. Nishiyama et al. [11] assume that smartphones can be
Fig. 19 illustrates the message overhead of self-rescue charged by mobile solar cells and thus did not consider
system in terms of the size of self-rescue group. Fig. 19a energy efficiency. However, in disaster scenarios, solar cells
and 19b respectively give the total message overhead of the may not be accessible for survivors, and thus the de-
group and the message overhead per node. Since various signed system can only provide temporary communica-
topologies may have different message overhead, in the tions. Among the related works, few are implemented as
figure, we label the minimum and maximum overhead of real systems and none provides system evaluation. How-
all possible topologies for a certain size of self-rescue group. ever, TeamPhone is designed, implemented, and evaluated
As the message overhead for a given network topology based on off-the-shelf smartphones and ready to be installed
is fixed, we calculate the message overhead for each net- on smartphones to provide communications and facilitate
work topology based on the communications protocol for rescue operation in disaster scenarios.
a certain size of self-rescue group. As depicted in Fig. 19a
and 19b, the message overhead increases with the size of 7 C ONCLUSION
the group. Although larger group incurs more message In this paper, we propose TeamPhone, which is designed
overhead, the overhead at each node just increases linearly to network smartphones in disaster recovery. TeamPhone
and the self-rescue group is usually small in disaster recov- includes two components: the messaging system that pro-
ery. With a few exchanged messages, self-rescue nodes are vides data communications for rescue workers, and the
able to cooperatively and efficiently wake up and compose self-rescue system that groups the smartphones of trapped
the emergency message that includes location and position survivors together, energy-efficiently discovers nearby mes-
information of the self-rescue group. saging nodes and sends out emergency messages including
location and position information. TeamPhone is imple-
mented as a prototype application on the Android platform
6 R ELATED W ORK using the WiFi interface and cellular interface to provide
Research efforts have been made to apply communication several ways of communications. TeamPhone has been de-
technologies to disaster recovery. Many researchers focus ployed and evaluated on the off-the-shelf smartphones. The
on using ad-hoc networks. Zussman et al. [3] proposed to evaluation results demonstrate that TeamPhone can accom-
employ the network formed by smart badges to collect infor- plish various message transmissions with affordable power
mation from trapped survivors. Reina et al. [26] extensively consumption and delay, and greatly reduce the energy con-
evaluated ad-hoc routing protocols in disaster scenarios. sumption of sending out emergency messages by grouping
Aschenbruck et al. [27] modeled mobility in disaster areas and wake-up scheduling.
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TMC.2017.2695452, IEEE
Transactions on Mobile Computing
14
1536-1233 (c) 2016 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.