Geographic-Region Monitoring by Drones in Adversarial Environments

We consider surveillance of a geographic region by a collaborative system of drones. The drones assist each other in identifying and managing activities of interest on the ground. We also consider an adversary who can create both genuine and fake activities on the ground. The objective of the adversary is to use fake activities to maximize the response time to genuine activities. We present two collaboration algorithms and analyze their response times, as well as the adversary’s efforts in terms of the number of fake activities required to achieve a certain response time.


INTRODUCTION AND MOTIVATION
Continuous advances in mechatronics, miniaturization of cameras and other sensing and computing devices, and communication and networking have boosted the application potential of Unmanned Aerial Vehicles (UAVs) in multiple problem domains [7].As a consequence, in recent years, UAVs have experienced extreme popularity gains both in terms of research as well as use in civilian and military applications [16].The applications span domains such as geographic region monitoring and surveying, search and rescue missions, freight transportation, and target detection [27,29,30,37].In many application scenarios, the crucial aspect is the response time, which 22:2 O. Wolfson et al. can be perceived as the time between the occurrence of a particular phenomenon at a given location (e.g., the occurrence of fire, chemical hazards, or other abnormality) and the arrival of a drone that can start the appropriate action (recognition/classification of the phenomenon or a remedy action).Specifically, a collaborative fleet of UAVs has been demonstrated to help minimize the response time in multiple domains that range from emergency response/rescues to crime detecting/tracking [1,2,14,19].

miniaturization of cameras a
d other sensing and computing devices, and communication and networking have boosted the application potential of Unmanned Aerial Vehicles (UAVs) in multiple problem domains [7].As a consequence, in recent years, UAVs have experienced extreme popularity gains both in terms of research as well as use in civilian and military applications [16].The applications span domains such as geographic region monitoring and surveying, search and rescue missions, freight transportation, and target detection [27,29,30,37].In many application scenarios, the crucial aspect is the response time, which 22:2 O. Wolfson et al. can be perceived as the time between the occurrence of a particular phenomenon at a given location (e.g., the occurrence of fire, chemical hazards, or other abnormality) and the arrival of a drone that can start the appropriate action (recognition/classification of the phenomenon or a remedy action).Specifically, a collaborative fleet of UAVs has been demonstrated to help minimize the response time in multiple domains that range from emergency response/rescues to crime detecting/tracking [1,2,14,19].

In this work, we introduce a novel model for t In this work, we introduce a novel model for the problem of region monitoring by drones.In our environment, there is a geographic region to be covered, and it is partitioned into square cells.There is a drone responsible for each cell.The responsible drone monitors the cell by hovering over it and sensing activities on the ground.For example, an activity may be the appearance of a target to be destroyed or a fire to be put out.When an activity is detected in the cell c, the responsible drone for c summons reinforcement (i.e., help) by at least one other drone, since an activity needs to be managed or neutralized in a cooperative way.For example, at least two drones are required to destroy the target or put out the fire.
e problem of region monitoring by drones.In our environment, there is a geographic region to be covered, and it is partitioned into square cells.There is a drone responsible for each cell.The responsible drone monitors the cell by hovering over it and sensing activities on the ground.For example, an activity may be the appearance of a target to be destroyed or a fire to be put out.When an activity is detected in the cell c, the responsible drone for c summons reinforcement (i.e., help) by at least one other drone, since an activity needs to be managed or neutralized in a cooperative way.For example, at least two drones are required to destroy the target or put out the fire.

Each drone can communicate wirelessly with the drone Each drone can communicate wirelessly with the drones in its neighboring cells regardless of their locations within the cells.Thus, summoning of reinforcement can occur by flooding of a reinforcement request message throughout the drone network.
in its neighboring cells regardless of their locations within the cells.Thus, summoning of reinforcement can occur by flooding of a reinforcement request message throughout the drone network.

Since every cell must be monitored at all times, a re Since every cell must be monitored at all times, a responsible drone cannot expose its cell (i.e., leave it unmonitored) to reinforce other cells.Thus, at any point in time there is another set of drones, called extras, which provide reinforcement.There are fewer extras than responsible drones (i.e., there are not enough extras to put one in every cell).However, in terms of capabilities, an extra drone is identical to a responsible drone.In other words, an extra drone and a responsible drone are indistinguishable in terms of their capabilities; thus, an extra drone can serve as a responsible drone and vice versa.The reinforcement request is satisfied when an extra arrives in the cell that issued the request and stays there for at least one time unit.The problem is to satisfy the reinforcement requests with a minimum response time.The problem is illustrated in Figure 1.This problem is not adversarial.
ponsible drone cannot expose its cell (i.e., leave it unmonitored) to reinforce other cells.Thus, at any point in time there is another set of drones, called extras, which provide reinforcement.There are fewer extras than responsible drones (i.e., there are not enough extras to put one in every cell).However, in terms of capabilities, an extra drone is identical to a responsible drone.In other words, an extra drone and a responsible drone are indistinguishable in terms of their capabilities; thus, an extra drone can serve as a responsible drone and vice versa.The reinforcement request is satisfied when an extra arrives in the cell that issued the request and stays there for at least one time unit.The problem is to satisfy the reinforcement requests with a minimum response time.The problem is illustrated in Figure 1.This problem is not adversarial.

We discuss two algorithms to satisfy the reinforcement reques We discuss two algorithms to satisfy the reinforcement requests.The first one is the familiar Shortest Path algorithm, in which the extra satisfies the reinforcement requests in the region by flying to the requesting cell along the shortest path.(The Shortest Path algorithm has been discussed extensively in the UAV literature, e.g., [8,21,23].)The second is an algorithm introduced in this article, namely Coordinated Path Hop (CPH), which is inspired by the Sliding Tiles Puzzle; it uses a "simultaneous move" technique that eliminates the time effect of the distance between the extra and the cell requesting reinforcement.More specifically, a cell is reinforced in a single time unit, regardless of the distance between it and the extra.
s.The first one is the familiar Shortest Path algorithm, in which the extra satisfies the reinforcement requests in the region by flying to the requesting cell along the shortest path.(The Shortest Path algorithm has been discussed extensively in the UAV literature, e.g., [8,21,23].)The second is an algorithm introduced in this article, namely Coordinated Path Hop (CPH), which is inspired by the Sliding Tiles Puzzle; it uses a "simultaneous move" technique that eliminates the time effect of the distance between the extra and the cell requesting reinforcement.More specifically, a cell is reinforced in a single time unit, regardless of the distance between it and the extra.

Sometimes an adversary exists.If so, the adversary generates the Sometimes an adversary exists.If so, the adversary generates the ground activities and wishes to maximize the response time to each activity.The adversary has a tool to maximize the response time in the form of fake (or decoy) activities.More specifically, the adversary generates genuine activities (for which maximizing the response time is desired), and also fake activities, which constitute a tool for lengthening the response time to the genuine activities.The reason the tool does so is that to the drones (i.e., the defenders), fake activities are indistinguishable from genuine ones.In addition, the drones manage/neutralize both fake and genuine activities in the same fashion.Overall, the adversary can, at a cost, generate fake activities that draw the extras away from the genuine activities, thus maximizing the response time to the genuine activities.
round activities and wishes to maximize the response time to each activity.The adversary has a tool to maximize the response time in the form of fake (or decoy) activities.More specifically, the adversary generates genuine activities (for which maximizing the response time is desired), and also fake activities, which constitute a tool for lengthening the response time to the genuine activities.The reason the tool does so is that to the drones (i.e., the defenders), fake activities are indistinguishable from genuine ones.In addition, the drones manage/neutralize both fake and genuine activities in the same fashion.Overall, the adversary can, at a cost, generate fake activities that draw the extras away from the genuine activities, thus maximizing the response time to the genuine activities.

Although the defense does not know which activities are fake, it knows Although the defense does not know which activities are fake, it knows that there may be an adversary introducing such activities.Consequently, its objective is to employ an algorithm that minimizes the worst-case response time (which is beneficial whether or not there is an adversary) and maximizes the number of fake activities required to achieve this worst case (applicable only to the adversarial case).In other words, our metric for evaluating an algorithm is the worst-case response time.In the adversarial case, we also consider the cost (in terms of the number of fake activities required) for an adversary to achieve the worst case.
hat there may be an adversary introducing such activities.Consequently, its objective is to employ an algorithm that minimizes the worst-case response time (which is beneficial whether or not there is an adversary) and maximizes the number of fake activities required to achieve this worst case (applicable only to the adversarial case).In other words, our metric for evaluating an algorithm is the worst-case response time.In the adversarial case, we also consider the cost (in terms of the number of fake activities required) for an adversary to achieve the worst case.

We assume first that there is a single extra and analyze the two algorithm We assume first that there is a single extra and analyze the two algorithms mentioned earlier.The worst-case response time of the Shortest Path algorithm is O (m 2 ), where m is the number of cells in the region.The number of fake activities needed by the adversary to achieve this response time is m.Furthermore, using a single fake activity, the adversary can generate a linear (in m) response time.
mentioned earlier.The worst-case response time of the Shortest Path algorithm is O (m 2 ), where m is the number of cells in the region.The number of fake activities needed by the adversary to achieve this response time is m.Furthermore, using a single fake activity, the adversary can generate a linear (in m) response time.

In contrast, CPH's worst-case response time is m − 1 (i.e., roughly a square In contrast, CPH's worst-case response time is m − 1 (i.e., roughly a square root of the worstcase response time of the Shortest Path algorithm), and the number of fake activities required to achieve this response time is also m.Using a constant number of fake events, an adversary can only produce a constant response time in CPH.
oot of the worstcase response time of the Shortest Path algorithm), and the number of fake activities required to achieve this response time is also m.Using a constant number of fake events, an adversary can only produce a constant response time in CPH.

Then, due to this established superiority of CPH, we focus on it in the remainder of the article.Spec Then, due to this established superiority of CPH, we focus on it in the remainder of the article.Specifically, we analyze the case where CPH is used in an environment that has multiple extras and shows that, in this case, the "simultaneous move" technique will not always work.Intuitively, the reason for this is that paths followed by different CPH executions may overlap in a way that creates a conflict between two executions.Specifically, depending on the locations of the extras and the requesting cells (namely callers), CPH may require more than a single time unit.Thus, we propose an efficient algorithm, Concurrent Coordinated Path Hop (CCPH), which minimizes the number of time units to execute multiple concurrent CPH executions.In other words, CCPH maximizes the number of concurrent CPH executions in a time unit.Then we point out that since the callers are prioritized according to the time unit when their request was issued, a prioritized version of CCPH is necessary, and we extend CCPH to handle prioritized callers.
fically, we analyze the case where CPH is used in an environment that has multiple extras and shows that, in this case, the "simultaneous move" technique will not always work.Intuitively, the reason for this is that paths followed by different CPH executions may overlap in a way that creates a conflict between two executions.Specifically, depending on the locations of the extras and the requesting cells (namely callers), CPH may require more than a single time unit.Thus, we propose an efficient algorithm, Concurrent Coordinated Path Hop (CCPH), which minimizes the number of time units to execute multiple concurrent CPH executions.In other words, CCPH maximizes the number of concurrent CPH executions in a time unit.Then we point out that since the callers are prioritized according to the time unit when their request was issued, a prioritized version of CCPH is necessary, and we extend CCPH to handle prioritized callers.

In summary, this article makes the following contributions: A preliminary version of this work appeared as In summary, this article makes the following contributions: A preliminary version of this work appeared as a short paper [32], introducing the CPH algorithm for the case of a single extra drone.This work substantially extends the previous work [32] by considering the settings of multiple extra drones and concurrent execution of the CPH algorithm.We also provide experimental evaluation and comparison of the algorithms.
short paper [32], introducing the CPH algorithm for the cas of a single extra drone.This work substantially extends the previous work [32] by considering the settings of multiple extra drones and concurren execution of the CPH algorithm.We also provide experimental evaluation and comparison of the algorithms.

In Section 2, we define the model.In Section 3, we introduce the Shortest Path algorithm and analyze it.In Section 4, we do the same for the CPH algorithm.Sections 3 and 4 assume a single extra in the system.Section 5 addresses multiple CPH In Section 2, we define the model.In Section 3, we introduce the Shortest Path algorithm and analyze it.In Section 4, we do the same for the CPH algorithm.Sections 3 and 4 assume a single extra in the system.Section 5 addresses multiple CPH executions.In Section 6, we describe the experimental analysis of the algorithms and the results of the analysis.In Section 7, we discuss relevant work, and in Section 8 we summarize the article.
xecutions.In Section 6, we describe the experimental analysis of the algorithms and the results of the analysis.In Section 7, we discuss relevant work, and in Section 8 we summarize the article.


MODEL

Given a geographic region, we partition it into a set S of m of square cells.The length of a square side is α.We require that the set S of cells is connected in

MODEL
Given a geographic region, we partition it into a set S of m of square cells.The length of a square side is α.We require that the set S of cells is connected in the following sense.Define a dual graph G D (S ) of a set of cells S as follows: (1) the vertices of G D (S ) represent the cells in S, and (2) an edge exists in G D (S ) between a pair of vertices if the respective cells share an entire side.We call the cells in the set S connected if its dual graph G D (S ) is connected.
the following sense.Define a dual graph G D (S ) of a set of cells S as follows: (1) the vertices of G D (S ) represent the cells in S, and (2) an edge exists in G D (S ) between a pair of vertices if the respective cells share an entire side.We call the cells in the set S connected if its dual graph G D (S ) is connected.

A set of m + n identical drones is assigned to cover the connected set S of m cells.Assume that n satisfies the follo A set of m + n identical drones is assigned to cover the connected set S of m cells.Assume that n satisfies the following inequalities: m > n > 0. Assume further that the are no obstacles, and in particular that a drone can fly over every point in every cell.The geographic region and the set of drones is called a drone system, or a system for short, and is denoted S (m + n).If n is 1, then the system is also denoted S (m) (i.e. S (m + 1)=S (m)).

ng ine
ualities: m > n > 0. Assume further that the are no obstacles, and in particular that a drone can fly over every point in every cell.The geographic region and the set of drones is called a drone system, or a system for short, and is denoted S (m + n).If n is 1, then the system is also denoted S (m) (i.e. S (m + 1)=S (m)).

At any point in time, each drone in the system is located in at most one cell.However, multiple drones may be located in the same cell.The mapping of each drone to t At any point in time, each drone in the system is located in at most one cell.However, multiple drones may be located in the same cell.The mapping of each drone to the cell in which it is located at time t is the configuration of the system at time t.
e cell in which it is located at time t is the configuration of the system at time t.


Geographic-Region Monitoring by Drones in Adversarial Environments


22:5

When a drone is in a cell, we say that the cell is covered by the drone.At any point in time, a drone covers at most one cell, specifically the cell in which it is located.

We assume that the system is "dense" in the sense that at any point in time, each cell c has at least one drone cove

22:5
When a drone is in a cell, we say that the cell is covered by the drone.At any point in time, a drone covers at most one cell, specifically the cell in which it is located.
We assume that the system is "dense" in the sense that at any point in time, each cell c has at least one drone covering c.And of all the drones covering c, one is responsible for c; the responsible drone is denoted r (c).A drone that is not responsible for any cell is an extra.
ing c.And of all the drones covering c, one is responsible for c; the responsible drone is denoted r (c).A drone that is not responsible for any cell is an extra.

If at a time t a cell does not have a responsible drone, then it is exposed.A configuratio If at a time t a cell does not have a responsible drone, then it is exposed.A configuration is legitimate if it never contains any cell that is exposed.Configuration changes occur as a result of drones moving from cell to cell, and the movements are constrained in the sense that any resulting configuration must be legitimate.
is legitimate if it never contains any cell that is exposed.Configuration changes occur as a result of drones moving from cell to cell, and the movements are constrained in he sense that any resulting configuration must be legitimate.

The transmission range of a drone is 2 √ 2α 2 .This guarantees that each drone can communicate directly with the drones within its cell and its neighboring cells.Furthermore, since the set of cells is connected, a messa The transmission range of a drone is 2 √ 2α 2 .This guarantees that each drone can communicate directly with the drones within its cell and its neighboring cells.Furthermore, since the set of cells is connected, a message can be flooded throughout the drone system.(Flooding of a message occurs by iterative broadcast to all of the neighbors, until all nodes in the network have received it.) e can be flooded throughout the drone system.(Flooding of a message occurs by iterative broadcast to all of the neighbors, until all nodes in the network have received it.)

We assume that the time to exchange a message between two drones in neighboring cells is negligible.Namely, a typical time for two-way message exchange betw We assume that the time to exchange a message between two drones in neighboring cells is negligible.Namely, a typical time for two-way message exchange between drones is 90 ms [38], and the drones can fly at between 50 and 100 mph (80-160 km/h) [3].Thus, we assume that the transmission delays of messages are zero.This means that flooding of a message throughout the drone system takes zero time.
en drones is 90 ms [38], and the drones can fly at between 50 and 100 mph (80-160 km/h) [3].Thus, we assume that the transmission delays of messages are zero.This means that flooding of a message throughout the drone system takes zero time.

Define a time unit to be the time that it takes a drone to traverse the side of a cell (distance α).Furthermore, define the time to be divided into interv Define a time unit to be the time that it takes a drone to traverse the side of a cell (distance α).Furthermore, define the time to be divided into intervals [1,2), [2,3) . .., each of which corresponds to a time unit.
ls [1,2), [2,3) . .., each of which corresponds to a time unit.

Each drone knows the id's of all nodes in the system and their cryptographic keys.Thus, utilizing the instantaneous communication network, each drone knows the current configuration and the ones planned in the future as well (as we will explain, future configurations may be planned).

The configuration of drones changes as a result of Each drone knows the id's of all nodes in the system and their cryptographic keys.Thus, utilizing the instantaneous communication network, each drone knows the current configuration and the ones planned in the future as well (as we will explain, future configurations may be planned).
The configuration of drones changes as a result of the activities happening in cells.These activities are recognized by the responsible drones of the cells.If an activity is recognized in a cell at any time during a time unit, we say that the cell becomes active at that time unit.Intuitively, a cell becomes active if an event occurs in it (e.g., a fire or a hostile target to be destroyed is detected).The cell stays active until it is deactivated by intervention of the drones; at least two drones are necessary in a cell to deactivate a cell.So during each time unit, each cell is either red (i.e., active) or white (i.e., inactive).
the activities happening in cells.These activities are recognized by the responsible drones of the cells.If an activity is recognized in a cell at any time during a time unit, we say that the cell becomes active at that t me unit.Intuitively, a cell becomes active if an event occurs in it (e.g., a fire or a hostile target to be destroyed is detected).The cell stays active until it is deactivated by intervention of the drones; at least two drones are necessary in a cell to deactivate a cell.So during eac time unit, each cell is either red (i.e., active) or white (i.e., inactive).

ctl2 Reinforcement Request Messages.Requests for assistance to deactivate a cell are communicated using reinforcement request messages flooded by the responsible drones.The format of a reinforcement request message is Control_2_Message (c, t) or ctl2(c, t) indicating that the request message is issued at the beginning of time unit t by the responsible drone r (c) that is covering a cell c, where c must satisfy the following conditions:

• c does not have an outstanding ctl2 (an outstanding request is defined in the following), and • c is active at the beginn ctl2 Reinforcement Request Messages.Requests for assistance to deactivate a cell are communicated using reinforcement request messages flooded by the responsible drones.The format of a reinforcement request message is Control_2_Message (c, t) or ctl2(c, t) indicating that the request message is issued at the beginning of time unit t by the responsible drone r (c) that is covering a cell c, where c must satisfy the following conditions: • c does not have an outstanding ctl2 (an outstanding request is defined in the following), and • c is active at the beginning of time unit t, and • r (c) is alone in c at the beginning of time unit t.
ng of time unit t, and • r (c) is alone in c at the beginning of time unit t.

The message ctl2(c, t) is a reinforcement request.Intuitively, it means that r (c) asks for reinforcement of c by the extra.The ctl2(c,t) request remains outstanding until an extra drone d arrives and stays in the cell c for a whole a time unit; then the extra d is also called the reinforcement drone, and we say that it services the outstanding ctl2 request.Ser The message ctl2(c, t) is a reinforcement request.Intuitively, it means that r (c) asks for reinforcement of c by the extra.The ctl2(c,t) request remains outstanding until an extra drone d arrives and stays in the cell c for a whole a time unit; then the extra d is also called the reinforcement drone, and we say that it services the outstanding ctl2 request.Servicing of a request deactivates the corresponding cell.
icing of a request deactivates the corresponding cell.

Intuitively, the preceding first bullet point indicates that since an outstanding reinforcement request is present, there is no point in reissuing Intuitively, the preceding first bullet point indicates that since an outstanding reinforcement request is present, there is no point in reissuing the request before the reinforcement arrived, since the system already knows that reinforcement is needed at c.The second and third bullet points indicate that indeed reinforcement is necessary.Observe that if a reinforcement drone arrives in the middle of time unit 10, then it must stay until the end of the 11 th time unit for the ctl2 message to be considered serviced, and for the cell to be deactivated.
the request before the reinforcement arrived, since the system already knows that reinforcement is needed at c.The second and third bullet points indicate that indeed reinforcement is necessary.Observe that if a reinforcement drone arrives in the middle of time unit 10, then it must stay until the end of the 11 th time unit for the ctl2 message to be considered serviced, and for the cell to be deactivated.

At the end At the end of the time unit when a cell c is deactivated, the extra in c also becomes a floater (i.e., available to satisfy new ctl2 requests).
f the time unit when a cell c is deactivated, the extra in c also becomes a floater (i.e., available to satisfy new ctl2 requests).

After the ctl2(c,t) request is issued, a floater f is allocated to (service) the request, and at the same time, the request is allocated to f .The floater f keeps the "allocated" role until the cell c is reinforced.Thus, an extra is a floater, or an allocated, or a reinforcement drone.

Observation.The number of active cells during a time unit t may be higher than the number of ctl2 messages issued during t.The reason is t After the ctl2(c,t) request is issued, a floater f is allocated to (service) the request, and at the same time, the request is allocated to f .The floater f keeps the "allocated" role until the cell c is reinforced.Thus, an extra is a floater, or an allocated, or a reinforcement drone.
Observation.The number of active cells during a time unit t may be higher than the number of ctl2 messages issued during t.The reason is that active cells persist until the cell is reinforced, and reinforcement may happen long after the issuance of the ctl2 message.
at active cells persist until the cell is reinforced, and reinforcement may happen long after the issuance of the ctl2 message.

We say that a c We say that a ctl2 message is satisfied with delay q, or has a response time q, if the extra drone arrives in the cell c by the beginning in the q th time unit after the ctl2 message was issued, but not by the beginning of the time unit q − 1; the extra becomes a floater instantaneously at the end of the q th time unit.
l2 message is satisfied with delay q, or has a response time q, if the extra drone arrives in the cell c by the beginning in the q th time unit after the ctl2 message was issued, but not by the beginning of the time unit q − 1; the extra becomes a floater instantaneously at the end of the q th time unit.

So, for example, if the ctl2 message was issued in the 10 th time unit and a reinforcement drone d arrives after the beginning and before the end of in the 11 th , then the ctl2 message was satisfied with delay 2, and the cell deactivation occurs at th So, for example, if the ctl2 message was issued in the 10 th time unit and a reinforcement drone d arrives after the beginning and before the end of in the 11 th , then the ctl2 message was satisfied with delay 2, and the cell deactivation occurs at the end of the 12 th time unit; if the reinforcement drone arrives before the end of the 10 th time unit, then the response time is 1, and the cell deactivation occurs at the end of the 11 th time unit.
end of the 12 th time unit; if the reinforcement drone arrives before the end of the 10 th time unit, then the response time is 1, and the cell deactivation occurs at the end of the 11 th time unit.

An algorithm for servicing reinforcement requests makes a decision whenever a reinforcement drone becomes a floater.The d An algorithm for servicing reinforcement requests makes a decision whenever a reinforcement drone becomes a floater.The decision is which ctl2(c,t) request to service next, and how the extra will move to the cell c.This decision is computational and occurs in zero time.
cision is which ctl2(c,t) request to service next, and how the extra will move to the cell c.This decision is computational and occurs in zero time.

Given a system S and an algorithm A, the maximum possible response time to a ctl2 message is called the response time of A on S and is denoted as rt (S, A).In adversarial environments, discussed in the following, the objective of A is to minimize its maximum response time on S. Now assume that there is Given a system S and an algorithm A, the maximum possible response time to a ctl2 message is called the response time of A on S and is denoted as rt (S, A).In adversarial environments, discussed in the following, the objective of A is to minimize its maximum response time on S. Now assume that there is an adversary that knows the S (m + n) system and the algorithm used by the system to respond to reinforcement requests. 1The adversary generates fake activations of cells, to draw the extras away from some target cell, on which the adversary wishes to perform a genuine activity.Cell activations are genuine if they are not fake.Continuing the color analogy, a cell during a time unit may be red, white, or brown (i.e., fake active).
an adversary that knows the S (m + n) system and the algorithm used by the system to respond to reinforcement requests. 1The adversary generates fake activations of cells, to draw the extras away from some target cell, on which the adversary wishes to perform a genuine act vity.Cell activations are genuine if they are not fake.Continuing the color analogy, a cell during a time unit may be red, white, or brown (i.e., fake active).

Practically, the drones can identify that the cell is active, but they are color blind and cannot distinguish between the red and brown colors-that is, they cannot distinguish whether the activity is genuine or fake.In other words, genuine and fake activities are managed identically-that is, the target is destroyed whether or not it is genuine; similarly, the fire is put out whether or not it is genuine.

Given fake activations, we do not care about the response time to ctl2 requests that are issued in response to fake activations.Formally, the response time of an algorithm Practically, the drones can identify that the cell is active, but they are color blind and cannot distinguish between the red and brown colors-that is, they cannot distinguish whether the activity is genuine or fake.In other words, genuine and fake activities are managed identically-that is, the target is destroyed whether or not it is genuine; similarly, the fire is put out whether or not it is genuine.
Given fake activations, we do not care about the response time to ctl2 requests that are issued in response to fake activations.Formally, the response time of an algorithm (defined earlier in the absence of fake activations) is the maximum response time to a ctl2 message issued by a genuinely active (i.e., red) cell.
defined earlier in the absence of fake activations) is the maximum response time to a ctl2 message issued by a genuinely active (i.e., red) cell.

The objective of any algorithm is to minimize the maximum response time, and to maximize the number of fake activations that are necessary for an adversary to increase the response time, and in particular to achieve the maximum response time.

Table 1 summarizes The objective of any algorithm is to minimize the maximum response time, and to maximize the number of fake activations that are necessary for an adversary to increase the response time, and in particular to achieve the maximum response time.
Table 1 summarizes the symbols used in the model.Maximum response time of Algorithm A on drone system S (m+n) the symbols used in the model.Maximum response time of Algorithm A on drone system S (m+n)


THE SHORTEST PATH ALGORITHM WITH A SINGLE EXTRA

In this section, we introduce the Shortest Path algorithm for servicing reinforcement requests in an S (m) system.It behaves in a straightforward manner in the sense that an extr

THE SHORTEST PATH ALGORITHM WITH A SINGLE EXTRA
In this section, we introduce the Shortest Path algorithm for servicing reinforcement requests in an S (m) system.It behaves in a straightforward manner in the sense that an extra services a request by simply flying to the cell from which the request was issued; flight is via the shortest path (i.e., along a straight line).Since the objective of any algorithm is to minimize the worst-case response time, the floater always picks the oldest request to be serviced next.And if multiple requests are oldest, it picks the closest one (also for minimizing the response time); if there are multiple requests that are oldest and closest, it picks one of these randomly.We now discuss some properties of the Shortest Path algorithm.The following theorem gives upper and lower bounds on the response times on the Shortest Path algorithm.Theorem 3.1.Given a system S (m), rt(S(m), Shortest Path) = Θ(m2 ).
services a request by simply flying to the cell from which the request was issued; flight is via the shortest path (i.e., along a straight line).Since the objective of any algorithm is to minimize the worst-case response time, the floater always picks the oldest request to be serviced next.And if multiple requests are oldest, it pick the closest one (also for minimizing t e response time); if there are mul iple requests that are oldest and closest, it picks one of these randomly.We now discuss some properties of the Shortest Path algorithm.The following theorem gives upper a d lower bounds on the response times on the Shortest Path alg

ithm.Theorem 3.1.Given a system S (m), rt(S(m),
hortest Path) = Θ(m2 ).

Proof.The following lemma gives the lower bound on the response time, and the lemma after that is the upper bound.Before stating the next lemma, we need the following definition.Let a Line Geographic Region (lgr) be a set of cells arranged in a single layer, where each cell has at most two neighbors, a right and a left one, but no up, nor down, nor diagonal neighbors.Each row in Figure 2 is an lgr.Lemma 3.2.Given a system S (m) on an lgr, rt(S, Shortest Path) = Ω(m 2 ).

Proof.We will show an activation pattern that produces a response time that is O (m 2 ); thus, the worst-case response time is Ω(m 2 ).The alternating activation pattern, defined next, produces an O (m 2 ) response time on the lgr with cells numbered 1, . . .,m from left to right.The alternating activation pattern is as follows: (m/2, 1), (m/2+1, 2), (m/2−1, 3), (m/2+2, 4), . . ., (1, m −1), (m, m).In general, assuming that m is even, in each time unit j for (m + 1) > j > 0, the alternating pattern activates a single cell as follows: cell number (m/2+j/2) if j is even and cell number (m/2−(j −1)/2) if j is odd.An example is provided in Figure 2, where each time unit is a row, and for each time unit the locations of the requests are indicated by the tokens.The priorities, and thus service order, of the requests are given by the time unit in which they were issued.In each time unit, a single request is issued, thus randomization in the Shortest Path algorithm does not play a role in this scenario.Now observe that in each time unit a single ctl2 request is generated, thus the requests are serviced in a deterministic order (i.e., the order in which the requests are generated).Observe also that for each j, the cell that generated the request at time unit j is separated from the cell that generated the request at time unit j + 1 by j − 1 cells.Thus, after servicing the request generated at time unit j, it takes the extra j time units to finish servicing the request generated at time unit j + 1.Thus, the request generated at time unit m will be serviced at time unit 1 + 2+, . . ., +(m − 1) (i.e., O (m 2 )).

The following lemma provides an upper bound on the maximum response time of the Shortest Path algorithm.Lemma 3.3.Given a system S (m), rt(S, Shortest Path) = O (m 2 ).

Proof.Consider a ctl2(c,t) request.Let Q denote the set of all outstanding ctl2 requests issued at time unit t such that t ≤ t.Each cell can have at most one outstanding request, thus there are at most m − 1 requests in the set Q.

Since the Shortest Path algorithm services requests in FIFO order, the request ctl2(c,t) will be serviced, at the latest, after all requests in Q have been serviced.Observe that since traversing each side of a cell takes one time unit, the number of time units required by the extra to service the next outstanding request, say from cell д, is at most m.T Proof.The following lemma gives the lower bound on the response time, and the lemma after that is the upper bound.Before stating the next lemma, we need the following definition.Let a Line Geographic Region (lgr) be a set of cells arranged in a single layer, where each cell has at most two neighbors, a right and a left one, but no up, nor down, nor diagonal neighbors.Each row in Figure 2 is an lgr.Lemma 3.2.Given a system S (m) on an lgr, rt(S, Shortest Path) = Ω(m 2 ).
Proof.We will show an activation pattern that produces a response time that is O (m 2 ); thus, the worst-case response time is Ω(m 2 ).The alternating activation pattern, defined next, produces an O (m 2 ) response time on the lgr with cells numbered 1, . . .,m from left to right.The alternating activation pattern is as follows: (m/2, 1), (m/2+1, 2), (m/2−1, 3), (m/2+2, 4), . . ., (1, m −1), (m, m).In general, assuming that m is even, in each time unit j for (m + 1) > j > 0, the alternating pattern activates a single cell as follows: cell number (m/2+j/2) if j is even and cell number (m/2−(j −1)/2) if j is odd.An example is provided in Figure 2, where each time unit is a row, and for each time unit the locations of the requests are indicated by the tokens.The priorities, and thus service order, of the requests are given by the time unit in which they were issued.In each time unit, a single request is issued, thus randomization in the Shortest Path algorithm does not play a role in this scenario.Now observe that in each time unit a single ctl2 request is generated, thus the requests are serviced in a deterministic order (i.e., the order in which the requests are generated).Observe also that for each j, the cell that generated the request at time unit j is separated from the cell that generated the request at time unit j + 1 by j − 1 cells.Thus, after servicing the request generated at time unit j, it takes the extra j time units to finish servicing the request generated at time unit j + 1.Thus, the request generated at time unit m will be serviced at time unit 1 + 2+, . . ., +(m − 1) (i.e., O (m 2 )).
The following lemma provides an upper bound on the maximum response time of the Shortest Path algorithm.Lemma 3.3.Given a system S (m), rt(S, Shortest Path) = O (m 2 ).
Proof.Consider a ctl2(c,t) request.Let Q denote the set of all outstanding ctl2 requests issued at time unit t such that t ≤ t.Each cell can have at most one outstanding request, thus there are at most m − 1 requests in the set Q.
Since the Shortest Path algorithm services requests in FIFO order, the request ctl2(c,t) will be serviced, at the latest, after all requests in Q have been serviced.Observe that since traversing each side of a cell takes one time unit, the number of time units required by the extra to service the next outstanding request, say from cell д, is at most m.The reason for this is as follows.The graph G D (S ) is connected, thus regardless of the current location of the extra, it can fly over the cells representing a path in G D (S ) to reach the cell д, and the maximum number of vertices in the path is obviously bounded by m.Moreover, the straight line distance from the current location of the extra to cell д may take less than m time units.Thus, the ctl2(c,t) request will be serviced after a number of time units that is bounded by m × (m − 1).This concludes the proof of Theorem 3.1.
e reason for this is as follows.The graph G D (S ) is connected, thus regardless of the current location of the extra, it can fly over the cells representing a path in G D (S ) to reach the cell д, and the maximum number of vertices in the path is obviously bounded by m.Moreover, the straight line distance from the current location of th extra to cell д may take less than m time units.Thus, the ctl2(c,t) request will be serviced after a number of time units that is bounded by m × (m − 1).This concludes the proof of Theorem 3.1.

Intuitively, the preceding theorem indicates that the Shortest Path algorithm's worst-case response time is Θ(m 2 ), where m is the number of cells in the system.

The following theorem addresses the adversary's power.It indicates that using a linear number of fake activations, the adversary can generate the worst-case response time.Theorem 3.4.By generating at most m−1 fake activations in a system S (m) using the Shortest Path algorithm, an adversary can produce a worst-case response time (i.e., rt(S, Shortest Path) = Θ(m 2 )).

Proof.Consider an lgr and the alternating activation pattern defined in the proof of Lemma 3.2.It has m − 1 fake activations Intuitively, the preceding theorem indicates that the Shortest Path algorithm's worst-case response time is Θ(m 2 ), where m is the number of cells in the system.
The following theorem addresses the adversary's power.It indicates that using a linear number of fake activations, the adversary can generate the worst-case response time.Theorem 3.4.By generating at most m−1 fake activations in a system S (m) using the Shortest Path algorithm, an adversary can produce a worst-case response time (i.e., rt(S, Shortest Path) = Θ(m 2 )).
Proof.Consider an lgr and the alternating activation pattern defined in the proof of Lemma 3.2.It has m − 1 fake activations (brown tokens), and the Shortest Path algorithm's response time to the genuine activation (red token) is Θ(m 2 ).
(brown tokens), and the Shortest Path alg rithm's response time to the genuine activation (red token) is Θ(m 2 ).

Additionally, the following theorem indicates that if the adversary has only single fake a Additionally, the following theorem indicates that if the adversary has only single fake activation, the damage (i.e., the response time) she can produce is linear in the size of the system.Theorem 3.5.Consider a system S (m) using the Shortest Path algorithm.By generating a single fake activation, an adversary can produce a response time of at least max(m-j+1, j)-1 to a ctl2 message issued from cell j.
tivation, the damage (i.e., the response time) she can produce is linear in the size of the system.Theorem 3.5.Consider a system S (m) using the Shortest Path algorithm.By generating a single fake activation, an adversary can produce a response time of at least max(m-j+1, j)-1 to a ctl2 message issued from cell j.

Proof.Consider a lgr with cells numbered 1, . . .,m.Consi Proof.Consider a lgr with cells numbered 1, . . .,m.Consider the activation of cells as placement of red (genuine) or brown (fake) tokens over the cell.Assume that the adversary has to produce a response time of max(-j+1, j)-1 to a ctl2 message issued from cell j at time t.Then the adversary proceeds as follows: er the activation of cells as placement of red (genuine) or brown (fake) tokens over the cell.Assume that the adversary has to produce a response time of max(-j+1, j)-1 to a ctl2 message issued from cell j at time t.Then the adversary procee s as follows:

(1) At time t − 1 she places the brown token on cell 1 or cell m, whichever is farther away from cell j.Call this cell the chosen endpoint.(2) At time unit t, she places the red token on cell j.Observe that the single extra will service the brown activation before the red one, since the brown one is older.Servicing of the brown activation cannot complete before the end of time unit t.Since th (1) At time t − 1 she places the brown token on cell 1 or cell m, whichever is farther away from cell j.Call this cell the chosen endpoint.(2) At time unit t, she places the red token on cell j.Observe that the single extra will service the brown activation before the red one, since the brown one is older.Servicing of the brown activation cannot complete before the end of time unit t.Since the traversal of each cell takes one time unit, the trip from the chosen endpoint to cell j takes max(m-j+1, j)-1.
traversal of each cell takes one time unit, the trip from the chosen endpoint to cell j takes max(m-j+1, j)-1.

Per Theorem 3.5, by using a single fake activation, the adversary can force a response time of m − 1 to a genuine activation on cell j = m (or on cell j = 1).

Discussion.The purpose of the analysis in Sect Per Theorem 3.5, by using a single fake activation, the adversary can force a response time of m − 1 to a genuine activation on cell j = m (or on cell j = 1).
Discussion.The purpose of the analysis in Section 3 is to enable the analytical comparison of the Shortest Path and CPH (introduced next) algorithms.Intuitively, this is due to the fact that in CPH, the response time is a single time unit, independently of the distance between the reinforcement drone and the calling cell, whereas the response time of the Shortest Path algorithm depends on this distance.Furthermore, due to this difference, the adversary can also be more efficient in the Shortest Path algorithm.
on 3 is to enable the analytical comparison of the Shortest Path and CPH (introduced next) algorithms.Intuitively, this is due to the fact that in CPH, the response time is a single time unit, independently of the distance between the reinforcement drone and the calling cell, whereas the response time of the Shortest Path algorithm depends on this distance.Furthermore, due to this difference, the adversary can also be more efficient in the Shortest Path algorithm.

Although both algorithms work for a variety Although both algorithms work for a variety of region topologies (the only requirement is that the dual graph is connected), Sections 3 and 4 show this gap between Shortest Path and CPH for an lgr.It is possible that the gap is smaller for other topologies.However, the construction of the alternating activation pattern (see Figure 2), which lies at the heart of Theorem 3.4, is applicable to arbitrary topologies.The idea is the following.Assume that the adversary has k tokens.Then at time unit k, they will place the red token at the desired cell (say a); then it will proceed inductively, placing at time unit i − 1 a brown token on the farthest unoccupied (by a token) cell from the cell occupied at time unit i.
of region topologies (the only requirement is that the dual graph is connected), Sections 3 and 4 show this gap between Shortest Path and CPH for an lgr.It is ossible that the gap is smaller for other topologies.However, the construction of the alternating activation pattern (see Figure 2), which lies at the heart of Theorem 3.4, is applicable to arbitrary topologies.The idea is the following.Assume that the adversary has k tokens.Then at time unit k, they will place the red token at the desired cell (say a); then it will proceed inductively, placing at time unit i − 1 a brown token on the farthest unoccupied (by a token) cell from the cell occupied at time unit i.

In In any case, the intuition and the given theorems suffice to conclude that CPH is at least as efficient as the Shortest Path algorithm, and thus to bypass further analysis of the Shortest Path algorithm.
ny case, the intuition and the given theorems suffice to conclude that CPH is at least as efficient as the Shortest Path algorithm, and thus to bypass further analysis of the Shortest Path algorithm.


THE CPH ALGORITHM WITH A SINGLE EXTRA

In this section, we introduce CPH, a novel algorithm for servicing reinforcement requests, and we analyze its properties and show that it is superior to the Shortest Path algorithm.

Observe that the Shortest Path algorithm does not make use of the m drones that are responsible for the cells.More specifically, assuming a single outstanding ctl2 reinforcement request, none of the m drones responsible for cells participates in satisfying the request.In this section, we introduce a

THE CPH ALGORITHM WITH A SINGLE EXTRA
In this section, we introduce CPH, a novel algorithm for servicing reinforcement requests, and we analyze its properties and show that it is superior to the Shortest Path algorithm.
Observe that the Shortest Path algorithm does not make use of the m drones that are responsible for the cells.More specifically, assuming a single outstanding ctl2 reinforcement request, none of the m drones responsible for cells participates in satisfying the request.In this section, we introduce an algorithm that uses these drones to reduce the response time of a request.
algorithm that uses these drones to reduce the response time of a request.

Assume that the extra drone, denoted d д , is in cell д, and it is allocated to respond to a ctl 2 (c,t) request.Regardless of th Assume that the extra drone, denoted d д , is in cell д, and it is allocated to respond to a ctl 2 (c,t) request.Regardless of the locations of the extra d д and the destination cell c, the time it takes to reinforce destination cell c can be reduced to a single time unit.Intuitively, this can be done by having the allocated drone (from д) fly across a single cell border rather than flying all the way to c. Furthermore, all drones in cells forming a path p from cell д to cell c traverse to the next cell in p, including the drone d − c in the cell before c; d − c traverses to c and becomes the reinforcement drone in c.This scenario is illustrated in Figure 3.If the extra in cell д is allocated to reinforce cell c, then each drone responsible for a cell along the path from д to c moves to the next cell along the path; all moves occur simultaneously.The drone responsible for the cell before c is finally providing the reinforcement.Overall, the process is similar to the Sliding Tiles Puzzle.

locations of the extra d д and the des
ination cell c, the time it takes to reinforce destination cell c can be reduced to a single time unit.Intuitively, this can be done by having the allocated drone (from д) fly across a single cell border rather than flying all the way to c. Furthermore, all drones in cells forming a path p from cell д to cell c traverse to the next cell in p, including the drone d − c in the cell before c; d − c traverses to c and becomes the reinforcement drone in c.This scenario is illustrated in Figure 3.If the extra in cell д is allocated to reinforce cell c, then each drone responsible for a cell along the path from д to c moves to the next cell along the path; all moves occur simultaneously.The drone responsible for the cell before c is finally providing the reinforcement.Overall, the process is similar to the Sliding Tiles Puzzle.

More precisely, consider a time unit t 0 at the beginning of which the set of outstanding ctl 2 messages is not empty and the extra d д is in cell д as a floater.Then the extra selects a random oldest ctl 2 request (i.e., if multiple requests are outstanding, all of which are oldest, a random one is selected).Denote the selected request ctl 2 (c,t); the extra d д becomes allocated to ctl 2 .And the extra broadcasts the identity of cells c and д throughout the network so that all drones can calculate a path p from д to c.Then, the drones along the path p move concurrently to the next cell on the path as described earlier.CPH is specified in Algorithm 1.


ALGORITHM 1:

The CPH algorithm input : A drone system S (m); time unit t 0 More precisely, consider a time unit t 0 at the beginning of which the set of outstanding ctl 2 messages is not empty and the extra d д is in cell д as a floater.Then the extra selects a random oldest ctl 2 request (i.e., if multiple requests are outstanding, all of which are oldest, a random one is selected).Denote the selected request ctl 2 (c,t); the extra d д becomes allocated to ctl 2 .And the extra broadcasts the identity of cells c and д throughout the network so that all drones can calculate a path p from д to c.Then, the drones along the path p move concurrently to the next cell on the path as described earlier.CPH is specified in Algorithm 1.

ALGORITHM 1:
The CPH algorithm input : A drone system S (m); time unit t 0 at the beginning of which the extra drone d д is a floater-the algorithm is executed during t 0 ; cell д in which d д is located at time unit t 0 ; cell c to which d д is allocated 1 Construct a simple path p = [p 1 , p 2 . . .p n ] in G D (S ), and direct it from д (= p 1 ) to c (= p n ); 2 At the end of time unit t 0 the following hops occur instantaneously: Observe that since all drones use the same algorithm, a unique path is calculated by all of the drones.The drones that are not along that unique path stop their participation in the algorithm.In addition, we note that in line 3 of Algorithm 1, concurrent hops occur.As a consequence of the model (i.e., a drone can travel the length of a cell in one time unit), the preparation for each hop (i.e., positioning of the responsible drone on the border with the next cell) can begin and complete within the time unit t 0 .
at the beginning of which the extra drone d д is a floater-the algorithm is executed during t 0 ; cell д in which d д is located at time unit t 0 ; cell c to which d д is allocated 1 Construct a simple path p = [p 1 , p 2 . . .p n ] in G D (S ), and direct it from д (= p 1 ) to c (= p n ); 2 At the end of time unit t 0 the following hops occur instantaneously: Observe that since all drones use the same algorithm, a unique path is calculated by all of the drones.The drones that are not along that unique path stop their participation in the algorithm.In addition, we note that in line 3 of Algorithm 1, concurrent hops occur.As a consequence of the model (i.e.,

drone can travel the length of
cell in one time unit), the preparation for each hop (i.e., positioning of the responsible drone on the border with the next cell) can begin and complete within the time unit t 0 .

Observe that because hops occur instantaneously at the end of a time unit, if a system uses CPH to respond to ctl2 requests, then configuration changes occur instantaneously in between time units.This means that during a whol Observe that because hops occur instantaneously at the end of a time unit, if a system uses CPH to respond to ctl2 requests, then configuration changes occur instantaneously in between time units.This means that during a whole time unit, each drone stays in a single cell (i.e., drones do not cross cell boundaries in the middle of a time unit).The execution of CPH starting at time unit t 0 is completed when the reinforcement arrives at its destination (i.e., at the time unit t 0 + 1).
aries in the middle of a time unit).The execution of CPH starting at time t the time unit t 0 + 1).

The main difference between the CPH and The main difference between the CPH and Shortest Path algorithms is in the way the reinforcement arrives to the cell c selected for service; in the Shortest Path algorithm, the extra serves as the reinforcement and it flies to c, whereas in CPH the extra and the drones along the path hop to the next cell.Furthermore, when selecting which ctl 2 (c,t) request to service, the Shortest Path algorithm considers the distance to c, whereas CPH does not do so; it picks a random request from the set of oldest ctl 2 requests.Obviously, the reason for this is that under CPH, a reinforcement can "reach" any cell in a single time unit, regardless of the distance of the extra to it.
Shortest Path algorithms is in the way the reinforcement arrives to the cell c selected for service; in the Shortest Path algorithm, the extra serves as the reinforcement and it flies to c, whereas in CPH the extra and the drones along the path hop to the next cell.Furthermore, when selecting which ctl 2 (c,t) request to service, the Shortest Path algorithm considers the distance to c, whereas CPH does not do so; it picks a random request from the set of oldest ctl 2 requests.Obviously, the reason for this is that un er CPH, a reinforcement can "reach" any cell in a single time unit, regardless of the distance of the extra to it.

The following analysis of CPH is applicable to any geographic region, not necessarily an lgr.The next theorem indicates that the maximum response time of the CPH algorithm is bounded by the number of cells in the system.Theorem 4.1.
Given a system S (m), rt (S (m), CPH ) ≤ m − 1.
Proof.Consider a request ctl2(j,t) (i.e., cell j issued a request at time t).Observe that each The following analysis of CPH is applicable to any geographic region, not necessarily an lgr.The next theorem indicates that the maximum response time of the CPH algorithm is bounded by the number of cells in the system.Theorem 4.1.
Proof.Consider a request ctl2(j,t) (i.e., cell j issued a request at time t).Observe that each execution of the CPH algorithm occurs instantaneously between time units.In addition, it takes a single time unit for the reinforcement drone to be in a cell c to satisfy the c's ctl 2 request, thus between every pair of consecutive CPH executions, a ctl 2 request is serviced.This means that even if all other cells issued their request before or concurrently with cell j, after at most m − 1 time units it will be cell j's turn to be serviced.
execution of the CPH algorithm occurs instantaneously between time units.In addition, it takes a single time unit for the reinforcement drone to be in a cell c to satisfy the c's ctl 2 request, thus between every pair of consecutive CPH executions, a ctl 2 request is serviced.This means that even if all other cells issued their request before or concurrently with cell j, after at most m − 1 time units it will be cell j's turn to be serviced.

More formally, at any time, particularly at time unit t, each cell can have at most one outstanding request.Thus, at time t, there can be at most m −1 outstanding requests.Furthermore, requests are serviced by the single extra in the More formally, at any time, particularly at time unit t, each cell can have at most one outstanding request.Thus, at time t, there can be at most m −1 outstanding requests.Furthermore, requests are serviced by the single extra in the order in which they were issued.Thus, the single extra needs to satisfy at most m − 1 requests before servicing the ctl2(j,t) request, and any request issued after time unit t will be serviced after servicing the ctl2(j,t) request.Each one of the m−1 requests can be serviced in a single time unit regardless of the distance between the cells serviced in consecutive time units.Thus, the extra will arrive to cell j to satisfy the ctl2(j,t) request at most m − 1 time units after the request was issued.
order in which they were issued.Thus, the single extra needs to satisfy at most m − 1 requests before servicing the ctl2(j,t) request, and any request issued after time unit t will be serviced after servicing the ctl2(j,t) ngle time unit regardless of the distance between the cells serviced in consecutive time units.Thus, the extra will arrive to cell j to satisfy the ctl2(j,t) request at most m − 1 time units after the request was issued.

In other words, compared to the Shortest Path algorithm, CPH cuts the worst-case response time from O (m 2 ) to m − 1.

Now we consider the adversary and show that a response time of m − 1 is achievable.Furthermore, we show that achieving it requires m − 1 fake activations.Theorem 4.2.Given a system S (m), the number of f In other words, compared to the Shortest Path algorithm, CPH cuts the worst-case response time from O (m 2 ) to m − 1.
Now we consider the adversary and show that a response time of m − 1 is achievable.Furthermore, we show that achieving it requires m − 1 fake activations.Theorem 4.2.Given a system S (m), the number of fake activations that is necessary and sufficient to produce a response time of m − 1 in the CPH algorithm is m − 1.
ke activations that is necessary and sufficient to produce a response time of m − 1 in the CPH algorithm is m − 1.

Sufficient.To have a response time of m −1 on some cell j starting at time unit t, the adversary will act as follows.At time t − 1, fake activate each cell except for the target cell j.Additionally, genuinely activate cell j at time unit t.This will guarantee that all cells except cell j will issue the ctl2 requests at time t − 1. Due to their timestamps, these requests will have priority over the ctl2 message from j issued at time instant t.Thus, the response time to the request from cell j will be m − 1.

(Necessary): Suppose that the adversary needs to ensure a response time of m − 1 to a genuine activation of some c Sufficient.To have a response time of m −1 on some cell j starting at time unit t, the adversary will act as follows.At time t − 1, fake activate each cell except for the target cell j.Additionally, genuinely activate cell j at time unit t.This will guarantee that all cells except cell j will issue the ctl2 requests at time t − 1. Due to their timestamps, these requests will have priority over the ctl2 message from j issued at time instant t.Thus, the response time to the request from cell j will be m − 1.
(Necessary): Suppose that the adversary needs to ensure a response time of m − 1 to a genuine activation of some cell j starting at time t.Suppose further that the adversary has less than m − 1 fake activations.Thus, at the beginning of time unit t − 1, at least one cell w may be inactive (assuming that w has never issued a genuine activation).Then the extra will arrive at cell j at time unit t + m − 2 at the latest (i.e., at most after servicing all cells except w and j).Thus, to ensure a response time of m − 1 on cell j at time unit t, the adversary needs to ensure that before time unit t starts, all other cells are active, and for this she needs m − 1 fake activations.Theorem 4.2 indicates that even though the worst-case response time of CPH is O (m), the adversary cannot guarantee this response time using a constant number of fake cell activations as she does in the Shortest Path algorithm (cf.Theorem 3.5); she will need a linear (in the number of cells) number of fake activations to do so.
ll j starting at time t.Suppose further that the adversary has less than m − 1 fake activations.Thus, at the beginning f time unit t − 1, at least one cell w may be inactive (assuming that w has never issued a genuine activation).Then the extra will arrive at cell j at time unit t + m − 2 at the latest (i.e., at most after servicing all cells except w and j).Thus, to ensure a response time of m − 1 on cell j at time unit t, the adversary needs to ensure that before time unit t starts, all other cells are active, and for this she needs m − 1 fake activations.Theorem 4.2 indicates that even though the worst-case response time of CPH is O (m), the adversary cannot guarantee this response time using a constant number of fake cell activations as she does in the Shortest Path algorithm ( f.Theorem 3.5); she will need a linear (in the number of cells) number of fake activations to do so.


THE CPH ALGORITHM WITH MULTIPLE EXTRAS

In the previous section, we introduced the CPH algorithm in the context of a single extra, which implies a single execution of CPH per time unit.However, observe that multiple extras may be dispatched to a geographic region.In this case, there are two options for using CPH.One is to partition the geographic region, and dedicate a single extra to each partition; in this case, each extra reinforces only the requests within its own partition.We call this the Partitioned-CPH option.

The second option is to allow every extra to respond to any request in the entire region.It can be easily seen, and we will demonstrate in Section 6 that in many cases this second option produces better response times.Intuitively, the reason is that this option allows for better workload distribution among the extras.

In this section, we investigate the second option.In this option, s

THE CPH ALGORITHM WITH MULTIPLE EXTRAS
In the previous section, we introduced the CPH algorithm in the context of a single extra, which implies a single execution of CPH per time unit.However, observe that multiple extras may be dispatched to a geographic region.In this case, there are two options for using CPH.One is to partition the geographic region, and dedicate a single extra to each partition; in this case, each extra reinforces only the requests within its own partition.We call this the Partitioned-CPH option.
The second option is to allow every extra to respond to any request in the entire region.It can be easily seen, and we will demonstrate in Section 6 that in many cases this second option produces better response times.Intuitively, the reason is that this option allows for better workload distribution among the extras.
In this section, we investigate the second option.In this option, since multiple cells may concurrently request reinforcement, in a single time unit t 0 there may be multiple allocations of extras to requester cells; in turn, this implies multiple CPH executions during t 0 (we call these concurrent CPH executions).This introduces the question of whether the efficiency of CPH, specifically its singlet time unit execution (regardless of the distance between the current location of the extra and the allocated cell), carries over to the concurrent CPH execution case.In this section, we show that this is not necessarily the case.Furthermore, we introduce an efficient algorithm that maximizes  the number of concurrent CPH executions for a given configuration of extras and reinforcementrequesting cells (also called callers).

ce multiple cells may concurrently requ
st reinforcement, in a single time unit t 0 there may be multiple allocations of extras to requester cells; in turn, this implies multiple CPH executions during t 0 (we call these concurrent CPH executions).This introduces the question of whether the efficiency of CPH, specifically its singlet time unit execution (regardless of the distance between the current location of the extra and the allocated cell), carries over to the concurrent CPH execution case.In this section, we show tha this is not necessarily the case.Furthermore, we introduce an efficient algorithm that maximizes  the number of concurrent CPH executions for a given configuration of extras and reinforcementrequesting cells (also called callers).

First, we show that some CPH executions cannot be carried out concurrently.Define a CPH p First, we show that some CPH executions cannot be carried out concurrently.Define a CPH path to be a path calculated by the CPH algorithm in step 1. Intuitively, observe that if the CPH paths p 1 and p 2 of two CPH executions that start at the same time unit t intersect at some cell c, then there may be a conflict in the way a responsible drone in c may need to behave; specifically, its behavior according to p 1 may conflict with its behavior according to p 2 .The following example demonstrates such conflict.
th to be a path calculated by the CPH algorithm in step 1. Intuitively, observe that if the CPH paths p 1 and p 2 of two CPH executions that start at the same time unit t intersect at some cell c, then there may be a conflict in the way a responsible drone in c may need to behave; specifically, its behavior according to p 1 may conflict with its behavior according to p 2 .The following example demonstrates such conflict.

Example 1.Consider the lgr of Figure 4.In the figure, the blue squares indicate the responsible drones; the two leftmost cells have two extras (yellow squares), one extra per cell, and the two rightmost cells asked for reinforcement (red tokens).Consider path p 1 , which has origin v1 and destination v4, and path p 2 , which has origin v2 and destination v5.Observe that v4 lies on both p 1 and p 2 .Furthe Example 1.Consider the lgr of Figure 4.In the figure, the blue squares indicate the responsible drones; the two leftmost cells have two extras (yellow squares), one extra per cell, and the two rightmost cells asked for reinforcement (red tokens).Consider path p 1 , which has origin v1 and destination v4, and path p 2 , which has origin v2 and destination v5.Observe that v4 lies on both p 1 and p 2 .Furthermore, v4 has a single drone d; otherwise, it would not have an outstanding reinforcement request.If d behaves as dictated by CPH on p 1 , then at the end of time unit t it remains in v4, and then v5 is not reinforced; if it behaves as dictated by CPH on p 2 , then it hops to the next cell, namely v5.In the latter case, v4 has a reinforcement drone but not a responsible drone-an illegitimate configuration; even if the reinforcement drone is reassigned the role of the responsible drone, v4 is not reinforced.Thus, we have shown that two concurrent CPH executions cannot occur along p 1 and p 2 .Furthermore, in Section 5.1, we prove that for the configuration in Figure 4, v4 and v5 cannot be reinforced concurrently, regardless of the paths they take.In other words, there do not exist two paths p1 and p2 along which two concurrent executions of CPH can occur.Furthermore, in Section 5.1, we show that the conflict that prevents two CPH executions to occur concurrently does not only arise in an lgr, but it may occur in an arbitrary region as well.Now observe that in a configuration with CPH paths that do not intersect, the two executions can occur concurrently (i.e., in the same time unit).Furthermore, even if two CPH paths intersect, as they do in Figure 5, the two CPH executions can occur concurrently.Specifically, for the configuration in Figure 5, the two CPH executions can occur concurrently as follows.The extra in v1 moves to v2, both drones in v2 move to v3, and the drone responsible for v3 moves to become the reinforcement drone in v4.
more, v4 has a single drone d; otherwise, it would not have an outstanding reinforcement request.If d behaves as dictated by CPH on p 1 , then at the end of time unit t it remains in v4, and then v5 is not reinforced; if it behaves as dictated by CPH on p 2 , then it hops to the next cell, namely v5.In the latter case, v4 has a reinforcement drone but not a responsible drone-an illegitimate configuration; even if the reinforcement drone is reassigned the role of the responsible drone, v4 is not reinforced.Thus, we have shown that two concurrent CPH executions cannot occur along p 1 and p 2 .Furthermore, in Section 5.1, we prove that for the configuration in Figure 4, v4 and v5 cannot be reinforced concurrently, regardless of the paths they take.In other words, there do not exist two paths p1 and p2 along which two concurrent executions of CPH can occur.Furthermore, in Section 5.1, we show that the conflict that prevents two CPH executions to occur concurrently does not only arise in an lgr, but it may occur in an arbitrary region as well.Now observe that in a configuration with CPH paths that do not intersect, the two executions can occur concurrently (i.e., in the same time unit).Furthermore, even if two CPH paths intersect, as they do in Figure 5, the two CPH executions can occur concurrently.Specifically, for the configuration in Figure 5, the two CPH executions can occur concurrently as follows.The extra in v1 moves to v2, both drones in v2 move to v3, and the drone responsible for v3 moves to become the reinforcement drone in v4.

In Section 5.1, we develop CCPH, an efficient algorithm to determine the maximum number of concurrent CPH executions and find their paths.The reason for doing so is the following.Assume that all reinforcement requests have the same priority.Consider a given set Z of such requests, and observe that all concurrent CPH executions can be performed in a single time unit.Therefore, if in each time unit the number of concurrent CPH executions is maximized, then the total number of time units required to complete all requests in Z is minimized.In Section 5.2, we extend CCPH to the case where the requests have priorities; specifically, when minimizing the maximum response time, an older request has priority over a younger one.


The CCPH Algorithm

In this subsection, we develop the CCPH algorithm.We start with the definition of a configuration with which the algorithm starts.A Multiple CPH Configuration (MCC) of an S (m, n) drone syst In Section 5.1, we develop CCPH, an efficient algorithm to determine the maximum number of concurrent CPH executions and find their paths.The reason for doing so is the following.Assume that all reinforcement requests have the same priority.Consider a given set Z of such requests, and observe that all concurrent CPH executions can be performed in a single time unit.Therefore, if in each time unit the number of concurrent CPH executions is maximized, then the total number of time units required to complete all requests in Z is minimized.In Section 5.2, we extend CCPH to the case where the requests have priorities; specifically, when minimizing the maximum response time, an older request has priority over a younger one.

The CCPH Algorithm
In this subsection, we develop the CCPH algorithm.We start with the definition of a configuration with which the algorithm starts.A Multiple CPH Configuration (MCC) of an S (m, n) drone system consists of the following: The MCC is denoted as m consists of the following: The MCC is denoted as
MCC (V , E, O, C, f ), where f is a function that maps each node v in O to n v .
Intuitively, the MCC represents the configuration at the beginning of one or more concurrent CPH executions; O is the set of origins of the paths, and C is the set of "caller" nodes (i.e., cells requesting reinforcement).As indicated, given an MCC, all callers may not be able to be reinforced within one time unit.Here, we devise an efficient algorithm (Theorem 5.2) called CCPH that finds the maximum number of callers that can be reinforced in a single time unit.

Given MCC (V , E, O, C, f ), consider a set P of simple paths in G from O to C (i.e., each path goes from a node in O to a distinct n Intuitively, the MCC represents the configuration at the beginning of one or more concurrent CPH executions; O is the set of origins of the paths, and C is the set of "caller" nodes (i.e., cells requesting reinforcement).As indicated, given an MCC, all callers may not be able to be reinforced within one time unit.Here, we devise an efficient algorithm (Theorem 5.2) called CCPH that finds the maximum number of callers that can be reinforced in a single time unit.
Given MCC (V , E, O, C, f ), consider a set P of simple paths in G from O to C (i.e., each path goes from a node in O to a distinct node in C) such that we have the following:

e in C) such that w
have the following:

(1) For each v ∈ O, at most n v paths in P originate from v, and (2) The destinations of the paths in P are pairwise disjoint.

Then P is called a set of CPH paths.Intuitively, a set P of CPH paths ha (1) For each v ∈ O, at most n v paths in P originate from v, and (2) The destinations of the paths in P are pairwise disjoint.
Then P is called a set of CPH paths.Intuitively, a set P of CPH paths has enough extras at the origin nodes to support concurrent execution of CPH along all paths of P.However, this does not mean that the CPH paths can represent paths of concurrent CPH executions.For instance, in Example 1, paths p 1 and p 2 constitute a set of CPH paths, but as demonstrated they cannot represent concurrent CPH executions.
Given MCC (V , E, O, C, f ) and a set P of CPH paths, assume that there is a path p ∈ P from node s to node c that goes through a node s in O such that s is different from s, and the number of paths in P originating from s is less than n s .Then the path p is called reducible.The set of paths P is called non-reducible if it does not contain any reducible path.
a set P of CPH paths, assume that there is a path p ∈ P from node s to node c that goes through a node s in O such that s is different from s, and the number of paths in P originating from s is less than n s .Then the path p is called reducible.The set of paths P is called non-reducible if it does not contain any reducible path.

Intuitively, the next proposition indicates that any reducible path p in P can be replaced by a non-reducible path, and the reason for th Intuitively, the next proposition indicates that any reducible path p in P can be replaced by a non-reducible path, and the reason for this is as follows.If p goes through s as earlier, then the whole p can be shortened by replacing p with the section of p going from s to c (Figure 6).And the reason this can be done is that there are enough extras in s so that s (rather than s) serves as the origin of p. Proof.If P is reducible, consider a path p ∈ P from s to c that goes through a node s in O such that s is different from s and the number of paths in P originating from s is less than n s .Consider P consisting of all paths in P, except the path p is replaced by its sub-path from s to c. Intuitively, this means that the reinforcement to c goes from s rather than from s. Clearly, the number of paths in P and P is the same.Furthermore, P is a set of CPH paths since the number of paths in P originating from s is at most n s .Clearly, if P is still reducible, then this procedure can be repeated until a non-reducible set of CPH paths is obtained.
s is as follows.If p goes through s as earlier, then the whole p can be shortened by replacing p with the section of p going from s to c (Figure 6).And the reason this can be d ne is that there are enough extras in s so that s (rather than s) serves as the origin of p. Proof.If P is reducible, consider path p ∈ P from s to c that goes through a node s in O such that s is different from s and the number of paths in P originating from s is less than n s .Consider P consisting of all paths in P, except the path p is replaced by its sub-path from s to c. Intuitively, this means that the reinforcement to c goes from s rather than from s. Clearly, the number of paths in P and P is the same.Furthermore, P is a set of CPH paths since the number of paths in P originating from s is at most n s .Clearly, if P is still reducible, then this procedure can be repeated until a non-reducible set of CPH paths is obtained.

Intuitively, Proposition 5.1 indicates that any set of k CPH paths can be transformed into a set of k non-reducible CPH paths.Now we define a condition, internal n Intuitively, Proposition 5.1 indicates that any set of k CPH paths can be transformed into a set of k non-reducible CPH paths.Now we define a condition, internal node disjointness, for a set of CPH paths; we will show that this condition is necessary and sufficient for CPH concurrency.Assume MCC (V , E, O, C, f ) and a set P of CPH paths.We say that P is internal node disjoint if the following condition is satisfied.If 2 paths in P share a node v, then either (1) v is the origin of both paths, or (2) v is the origin or the destination of exactly one of them.
de disjointness, for a set of CPH paths; we will show that this condition is necessary and sufficient for CPH concurrency.Assume MCC (V , E, O, C, f ) and a set P of CPH paths.We say that P is internal node disjoint if the following condition is satisfied.If 2 paths in P share a node v, then either (1) v is the origin of both paths, or (2) v is the origin or the destination of exactly one of them.

Assume MCC (V , E, O, C, f ) and a set P of CPH paths.P is CPH concurrent if the CPH executions that are represented by the paths in P can all be executed in a single time unit-that is, at the beginning of the next time unit the following two conditions are satisfied: (1) each cell that is the destination of a path in P is reinforced, and (2) the configuration is legitimate.

Given a graph, a node v in a path p is internal to p if v is neither the origin nor the destination of the path.Theorem 5.2.Assume MCC (V , E, O, C, f ) and a non-reducible set P of CPH paths.Then (A) P is internal node disjoint if and only if (B) P is CPH concurrent.

Proof.The pro Assume MCC (V , E, O, C, f ) and a set P of CPH paths.P is CPH concurrent if the CPH executions that are represented by the paths in P can all be executed in a single time unit-that is, at the beginning of the next time unit the following two conditions are satisfied: (1) each cell that is the destination of a path in P is reinforced, and (2) the configuration is legitimate.
Given a graph, a node v in a path p is internal to p if v is neither the origin nor the destination of the path.Theorem 5.2.Assume MCC (V , E, O, C, f ) and a non-reducible set P of CPH paths.Then (A) P is internal node disjoint if and only if (B) P is CPH concurrent.
Proof.The proof of the theorem follows straightforwardly from the following lemma.Now assume that they do intersect.First assume that p1 and p2 have a common origin, and this is their only intersection.Since P is a set of CPH paths, by definition, for each v ∈ O, at most n v paths in P originate from v. Intuitively, this means that the number of paths that originate in v is not higher than the number of extras in v.And since p1 and p2 have a common origin, it means that the common origin has at least two extras, one for p1 and one for p2.In other words, there are enough extras at this origin to support CPH along both paths.Thus, p1 and p2 are CPH concurrent.Now assume that p1 and p2 intersect at the origin or destination of exactly one of them, say they intersect at the origin of p1, which is an internal node of p2.Consider two CPH executions along paths p1 and p2 that occur in the same time unit t 0 .Observe that CPH does not impose any behavior on the drones responsible for the origin and destination cells of an execution.This means that at the beginning of time unit t 0 + 1, the origin and destination cells must have a responsible drone, regardless of whether or not it is the same as the drone at the beginning of the execution.If p1 and p2 intersect at node v, which is the origin of p1 and an internal node of p2, it means that the CPH execution along p2 will replace the responsible drone for v by a different one.Thus, at the beginning of time unit t 0 + 1, the destinations of p1 and p2 have been reinforced, and the resulting configuration is legitimate.Similarly, if p1 and p2 intersect at the destination of p1.
f of the theorem follows straightforwardly from the following lemma.Now assume that they do intersect.First assume that p1 and p2 have a common origin, and this is their only intersection.Since P is a set of CPH paths, by definition, for each v ∈ O, at most n v paths in P originate from v. Intuitively, this means that the number of paths that originate in v is not higher than the number of extras in v.And since p1 and p2 have a common origin, it means that the common origin has at least two extras, one for p1 and one for p2.In other words, there are enough extras at this origin to support CPH along both paths.Thus, p1 and p2 are CPH concurrent.Now assume that p1 and p2 intersect at the origin or destination of exactly one of them, say they intersect at the origin of p1, which is an internal node of p2.Consider two CPH executions along paths p1 and p2 that occur in the same time unit t 0 .Observe that CPH does not impose any behavior on the drones responsible for the origin and destination cells of an execution.This means that at the beginning of time unit t 0 + 1, the origin and destination cells must have a responsible drone, regardless of whether or not it is the same as the drone at the beginning of the execution.If p1 and p2 intersect at node v, which is the origin of p1 and an internal node of p2, it means that the CPH execution along p2 will replace the responsible drone for v by a different one.Thus, at the beginning of time unit t 0 + 1, the destinations of p1 and p2 have been reinforced, and the resulting configuration is legitimate.Similarly, if p1 and p2 intersect at the destination of p1.

(B=>A) Assume that the two paths, p1 and p2, intersect on a node v that is internal to both paths.
Lemma 5.3.1. Assume MCC (V , E, O, C, f
) and a non-reducible set P of CPH paths.Then any node w that is on a path p ∈ P, but not the origin of p, has a single drone in it, r (w ), that is not a reinforcement drone for some CPH path in P.

Proof.If w is not is O, then by MCC definition it has a single drone in it.If w is in S and it has an extra drone that is not the reinforcement drone at the beginning of a path in P, then the path p is reducible, contradicting our assumption that P is non-reducible.

According to Lemma 5.3.1, v has a single drone in it, r (v), that is not a reinforcement drone for some CPH path in P. Since v is internal to both paths, it means that except for r (v), every other drone in v, if it exists, is allocated to a path different from p1 and different from p2.
(B=>A) Assume that the two paths, p1 and p2, intersect on a node v that is internal to both paths.
) and a non-reducible set P of CPH paths.Then any node w that is on a path p ∈ P, but not the origin of p, has a single drone in it, r (w ), that is not a reinforcement drone for some CPH path in P.
Proof.If w is not is O, then by MCC definition it has a single drone in it.If w is in S and it has an extra drone that is not the reinforcement drone at the beginning of a path in P, then the path p is reducible, contradicting our assumption that P is non-reducible.
According to Lemma 5.3.1, v has a single drone in it, r (v), that is not a reinforcement drone for some CPH path in P. Since v is internal to both paths, it means that except for r (v), every other drone in v, if it exists, is allocated to a path different from p1 and different from p2.Thus, r (v) is the only drone in v that can move as dictated by CPH along both p1 and p2.Now there are two possibilities: hus, r (v) is the only drone in v that can move as dictated by CPH along both p1 and p2.Now there a (a) The node following v in p1 is not the same as the node following v in p2.Then in concurrent executions of p1 and p2, the drone r (v) needs to concurrently (i.e., in the same time unit) move to, and stay for the duration of the time unit, to two different cells; otherwise, the resulting configuration will be illegitimate.This contradicts the model dictation that at any point in time a drone is in a single cell.(b) The node w following v is the same in p1 and p2.Then, replace v by w and repeat as long as v is internal to both paths, until either of the following occur: (b.1)The node following v is different in p1 from the node following p2, which reverts to case (a) or (b.2) v is internal to only one of the two paths; but this means that v is the destination of one of the paths, say w.l.g. that v is the destination node of p1.Since the destinations of the two paths must be different (each cell reinforcement is by a single drone), v is an internal node of p2.Then if r (v) behaves according to CPH along p1, then r (v) stays in v as the responsible drone in time unit t 0 +1 (recall that CPH executes in time unit t 0 ), and the responsible drone for the preceding node becomes the reinforcement in v.But this prevents r (v) from moving to the next node as dictated by p2, which in turn implies that the destination of p2 is not reinforced in time unit t 0 +1; this contradicts CPH concurrency of P. Now, if r (v) behaves according to CPH along p2, then it hops to the next node in p2; but, since v has only a single drone in time unit t 0 +1, the reinforcement drone, v, the destination of p1, is not reinforced in time unit t 0 +1.
owing v in p1 is not the same as the node following v in p2.Then in concurrent executions of p1 and p2, the drone r (v) needs to concurrently (i.e., in the same time unit) move to, and stay for the du ation of the time unit, to two different cells; otherwise, the resulting configuration will be illegitimate.This contradicts the model dictation that at any point in time a drone is in a single cell.(b) The node w following v is the same in p1 and p2.Then, replace v by w and repeat as long as v is internal to both paths, until either of the following occur: (b.1)The node following v is different in p1 from the node following p2, which reverts to case (a) or (b.2) v is internal to only one of the two paths; but this means that v is the destination of one of the paths, say w.l.g. that v is the destination node of p1.Since the destinations of the two paths must be different ( ach cell reinforcement is by a single drone), v is an internal node of p2.Then if r (v) behaves according to CPH along p1, then r (v) stays in v as the responsible drone in time unit t 0 +1 (recall that CPH executes in time unit t 0 ), and the responsible drone for the preceding node becomes the reinforcement in v.But this prevents r (v) from moving to the next node as dictated by p2, which in turn implies that the destination of p2 is not reinforced in time unit t 0 +1; this contradicts CPH concurrency of P. Now, if r (v) behaves according to CPH along p2, then it hops to the next node in p2; but, since v has only a single drone in time unit t 0 +1, the reinforcement drone, v, the destination of p1, is not reinforced in time unit t 0 +1.

(A => B) T heor em 5.2 According to Lemma 5.3, every pair of paths in P represents executions that can occur concurrently.Thus, if there are enough extras at each origin, then they can all execute concurrently.Since P is a set of CPH paths, a distinct extra at each origin of a path can be allocated to the caller at the end of the path such that different callers are allocated different extras.

(B => A) T heor em We solve the Max-CCPH problem by adapting an existing algorithm that finds the Maximum number of Node-Disjoint Paths (MNDP).More specifically, there is an algorithm that finds the maximum number of node-disjoint paths from a given set of sinks to a given s (A => B) T heor em 5.2 According to Lemma 5.3, every pair of paths in P represents executions that can occur concurrently.Thus, if there are enough extras at each origin, then they can all execute concurrently.Since P is a set of CPH paths, a distinct extra at each origin of a path can be allocated to the caller at the end of the path such that different callers are allocated different extras.
(B => A) T heor em We solve the Max-CCPH problem by adapting an existing algorithm that finds the Maximum number of Node-Disjoint Paths (MNDP).More specifically, there is an algorithm that finds the maximum number of node-disjoint paths from a given set of sinks to a given set of origin nodes to a given set of caller nodes.The algorithm uses a reduction to the maximum network flow problem.Our MCC (V , E, O, C, f ) problem is slightly different from the MNDP problem in that multiple paths can start from the same origin (since multiple extras can start CPH in the same cell); furthermore, according to the last theorem, any pair of paths can intersect, as long as the intersection is not at a node that is internal to both paths.Thus, the adaptation of the MNDP algorithm is to find the maximum number of internal node-disjoint paths.Theorem 5.4.Given a configuration MCC (V , E, O, C, f ), the Max-CCPP problem is solvable in O (m 3 ) time.
t of origin nodes to a given set of caller nodes.The algorithm uses a reduction to the maximum network flow problem.Our MCC (V , E, O, C, f ) problem is slightly different from the MNDP problem in that multiple paths can start from th same origin (since multiple extras can start CPH in the same cell); furthermore, according to the last theorem, any pair of paths can intersect, as long as the intersection is not at a node that is internal to both paths.Thus, the adaptation of the MNDP algorithm is to find the maximum number of internal node-disjoint paths.Theorem 5.4.Given a configuration MCC (V , E, O, C, f ), the Max-CCPP pr blem is solvable in O (m 3 ) time.

Proof.For the configura Proof.For the configuration MCC (V , E, O, C, f ), we construct a corresponding flow network F (V * , A * , c) where V * is a set of nodes, A * a set of arcs between pairs of nodes in V * , and c is a capacity function from A * to the non-negative integers.The construction of V * is as follows:

on MCC (V , E, O, C, f ), we construct a corresponding flow network
F (V * , A * , c) where V * is a set of nodes, A * a set of arcs between pairs of nodes in V * , an c is a capacity function from A * to the non-negative integers.The construction of V * is as follows:

(1) Start with empty V * , and add to V * all nodes of V , where v ∈ V is denoted v * in V * .

(2) Replace each node v * of the resulting V * by two nodes, v * in and v * out .(3) Add to V * two new nodes denoted s and t. (4) Add to V * a node sv * for every v ∈ O.

(5) Add to V * a node cv * for every v ∈ C.

The construction of A * as follows:

(1) For each v ∈ O and for each neighbor n of v in G, add the arc (sv * , n * in ) to A * ; the capacity of this arc is 1.

(2) For each v ∈ C and for each neighbor n of v in G, add the arc (n * out , cv * ) to A * ; the capacity of this arc is 1.

(3) For every v ∈ O, add the arc (s, sv * ) to A * ; the capacity of this arc is n v .(4) For every v ∈ C, add the arc (c (1) Start with empty V * , and add to V * all nodes of V , where v ∈ V is denoted v * in V * .
(2) Replace each node v * of the resulting V * by two nodes, v * in and v * out .(3) Add to V * two new nodes denoted s and t. (4) Add to V * a node sv * for every v ∈ O.
(5) Add to V * a node cv * for every v ∈ C.
The construction of A * as follows: (1) For each v ∈ O and for each neighbor n of v in G, add the arc (sv * , n * in ) to A * ; the capacity of this arc is 1.
(2) For each v ∈ C and for each neighbor n of v in G, add the arc (n * out , cv * ) to A * ; the capacity of this arc is 1.
(3) For every v ∈ O, add the arc (s, sv * ) to A * ; the capacity of this arc is n v .(4) For every v ∈ C, add the arc (cv * , t) to A * ; the capacity of this arc is 1.

* , t) to A * ; the capacity of this arc is 1.

(5) For every v ∈ V , add the arc (v * in , v
(5) For every v ∈ V , add the arc (v * in , v * out ) to A * ; the capacity of the arc is 1. (6) For every (u, v) in E, add the arcs (u * out , v * in ) and (v * out , u * in ) to A * ; the capacity of each one of these arcs is infinite.(7) For every edge (u, v) in E such that u is in O and v is in C, add the arc (su * , cv * ) with capacity 1.
; the capacity of the arc is 1. (6) For every (u, v) in E, add the arcs (u * out , v * in ) and (v * out , u * in ) to A * ; the capacity of each one of these arcs is infinite.(7) For every edge (u, v) in E such that u is in O and v is in C, add the arc (su * , cv * ) with capacity 1.

For example For example, Figure 7(b) represents the flow network of the configuration in Figure 7(a).And observe that Figure 7(a) is the dual graph of the configuration in Figure 5.
Figure 7(b) represents the flow network of the configuration in Figure 7(a).And observe that F gure 7(a) is the dual graph of the configuration in Figure 5.

In addition, Figure 8 shows the flow network of the configuration in   Proof.(A=>B) Let P be the set of paths in the dual graph G that forms the CCPP sol In addition, Figure 8 shows the flow network of the configuration in   Proof.(A=>B) Let P be the set of paths in the dual graph G that forms the CCPP solution, |P | = k.We construct a flow function f that maps each arc in F to an integer flow, as follows.Initially, the flow on each arc is 0. For every arc (u, v) on a path p ∈ P that is not the first nor the last arc on the path, we set f(u * out , v * in ) = f(v * in , v * out ) = f(u * in , u * out ) = 1; since the set of arcs in P is pairwise disjoint, the capacity constraints are satisfied.If (u, v) is the first arc on the path but not the last, then add 1 to the flow on the arcs (su * , v * in ) and (s, su * ).If (u, v) is the first and the last arc on the path, then add 1 to the flow on the arcs (s, su * ), (su * , cv * ), and (cv * , t ).
tion, |P | = k.We construct a flow f nction f that maps each arc in F to an integer flow, as follows.Initially, the flow on each arc is 0. For every arc (u, v) n a path p ∈ P that is not the first nor the last arc on the path, we set f(u * out , v * in ) = f(v * in , v * out ) = f(u in , u * out ) = 1; since the set of arcs in P is pairwise disjoint, the capacity constraints are satisfied.If (u, v) is the first arc on the path but not the last, then add 1 to the flow on the arcs (su * , v * in ) and (s, su * ).If (u, v) is the first and the last arc on the path, then add 1 to the flow on the arcs (s, su * ), (su * , cv * ), and (cv * , t ).

If (u, v) is the last arc on the path but not the first, then add 1 to the flow on the arcs (u * out , cv * ) and (cv * , t ).

It is clear by construct If (u, v) is the last arc on the path but not the first, then add 1 to the flow on the arcs (u * out , cv * ) and (cv * , t ).
It is clear by construction that f (1) is a flow in F, (2) satisfies the capacity constraints, and (3) has value k.
on that f (1) is a flow in F, (2) satisfies the capacity constraints, and (3) has value k.

(B=>A) Let f be in an integer flow in F of value k.Assume w.l.g. that the flow (B=>A) Let f be in an integer flow in F of value k.Assume w.l.g. that the flow is efficient (i.e., acyclic).We construct the set of paths P as follows.Assume that the flow on an arc (s, sv * ) is d > 0. Then we construct a set P v of d paths that start at v.
s efficient (i.e., acyclic).We construct the set of paths P as follows.Assume that the flow on an arc (s, sv * ) is d > 0. Then we construct a set P v of d paths that start at v.

The construction is as follows.We follow a path in the flow network, and corresponding to it we construct a path in P.More specifically:

(1) For each neighbor n of v for which the flow on (sv * , n * in ) = 1, we make n the second node on a path p in P v ; and p continues along the nodes w for which the flow on (w * in , w * out ) is 1, until t is reached; and t must be reached since the flow is efficient and the flow conservation property holds on every node except for s and t.Before t, the node on the flow path must be some cw * ; then we add to p the final node w.And by construction, w must be in C. Thus, p is added to P v .

(2) For each arc (sv * , cu * ) for which the flow along the arc (sv * , cu * ) is 1, we The construction is as follows.We follow a path in the flow network, and corresponding to it we construct a path in P.More specifically: (1) For each neighbor n of v for which the flow on (sv * , n * in ) = 1, we make n the second node on a path p in P v ; and p continues along the nodes w for which the flow on (w * in , w * out ) is 1, until t is reached; and t must be reached since the flow is efficient and the flow conservation property holds on every node except for s and t.Before t, the node on the flow path must be some cw * ; then we add to p the final node w.And by construction, w must be in C. Thus, p is added to P v .
(2) For each arc (sv * , cu * ) for which the flow along the arc (sv * , cu * ) is 1, we add to P v the path (v, u).
add to P v the path (v, u).

This completes the construction of P v .Now we remove the flow represented by P v from F as follow This completes the construction of P v .Now we remove the flow represented by P v from F as follows: we decrease the flow on (s, sv * ) by d, and decrease the flow on all other arcs that correspond to nodes in P v by 1.The result is a flow of size k − d.And the process of constructing P v continues for the next node v for which (s, sv * ) > 0. Since flow f has value k, the sum of the flows on the arcs exiting s is k.Thus, |P | = k.
: we decrease the flow on (s, sv * ) by d, and decrease the flow on all other arcs that correspond to nodes in P v b 1.The result is a flow of size k − d.And the process of constructing P v continues for the next node v for which (s, sv * ) > 0. Since flow f has value k, the sum of the flows on the arcs exiting s is k.Thus, |P | = k.

Since the capacity on the arc (v * in , v Since the capacity on the arc (v * in , v * out ) is 1, the paths in P are internal-vertex disjoint, and since the capacity on (s, sv * ) is d v , then d ≤ d v .Thus, P satisfies conditions (1) and (2) of CCPP.This concludes the proof of Theorem 5.4.Now observe that Theorem 5.4 leads straightforwardly to the CCPH algorithm, which is as follows.Given a configuration MCC (V , E, O, C, f ), we construct a corresponding flow network F (V * , A * , c) and find the paths of the maximum flow in it.As shown, these paths have a one-toone correspondence to the paths of CPH executions that can be performed concurrently within a single time unit.Now we are in a position to follow up on Example 1 discussed in Figure 4. Intuitively, the two caller cells cannot be reinforced in a single time unit by CPH because the middle cell, v3, acts as a bottleneck and allows only one path.Figure 8 shows flow graph of the original problem, and the next step is to find the maximum flow from source s to sink t.One possible path from s to t is (s, sv2 with an edge capacity of 1.For two concurrent paths to pass through these vertices, the capacity needs to be at least 2. Hence, this edge between (v3 * in , v3 * out ) acts as a bottleneck, precluding the reinforcement of the farthest two cells during the same time unit.The diagrammatic view of this bottleneck effect is presented in Figure 9.
* out ) is 1, the paths in P are internal-vertex disjoint, and since the capacity on (s, sv * ) is d v , then d ≤ d v .Thus, P satisfies co ditions (1) and (2) of CCPP.This concludes the proof of Theorem 5.4.Now observe that Theorem 5.4 leads straightforwardly to the CCPH algorithm, which is as follows.Given a configuration MCC (V , E, O, C, f ), we construct a corresponding flow network F (V * , A * , c) and find the paths of the maximum flow in it.As shown, these paths have a one-toone correspondence to the paths of CPH executions that can be performed concurrently within a single time unit.Now we are in a position to follow up on xample 1 discussed in Figure 4. Intuitively, the two caller cells cannot be reinforced in a single time unit by CPH b cause the middle cell, v3, acts as a bottleneck and allows only one path.Figure 8 shows flow graph of the original problem, and the next step is to find the maximum flow from source s to sink t.One possible path from s to t is (s, sv2 with an edge capacity of 1.For two concurrent paths to pass through these vertices, the capacity needs to be at least 2. Hence, this edge between (v3 * in , v3 * out ) acts as a bottleneck, precluding the einforcement of the farthest two cells during the same time unit.The diagrammatic view of this bottleneck effect is presented in Figure 9.

In contrast, consider the configuration in Figure 5; the corresponding f In contrast, consider the configuration in Figure 5; the corresponding flow network is illustrated in Figure 7.We showed that in this case, two concurrent CPH paths exist.Here we point out that there is a flow of size 2 in the corresponding flow network.The flow is obtained by two paths from s to t in the network.The paths have disjoint sets of arcs, and each path has a flow of one.One in , v3 * out , cv4 * , and t) highlighted in purple in Figure 7(b).Now we demonstrate the CCPH algorithm on regions that are not lines.Specifically, consider the region consisting of a 4 × 4 grid such that at the beginning of time unit t 0 there are four callers at the upper right cells and four extras in lower left cells.The configuration is depicted in Figure 10.
ow network is illustrated in Figure 7.We showed that in this case, two concurrent CPH paths exist.Here we point out that there is a flow of size 2 in the corresponding flow network.The flow is obtained by two paths from s to t in the network.The paths have disjoint sets of arcs, and each path has a flow of one.One in , v3 * out , cv4 * , and t) highlighted in purple in Figure 7(b).Now we demonstrate the CCPH algorithm on regions that are not lines.Specifically, consider the region consisting of a 4 × 4 grid such that at the beginning of time unit t 0 there are four callers at the upper right cells and four extras in lower left cells.The configuration is depicted in Figure 10.

The corresponding flow network is illustrated in Figure 11.The edges highlighted by four colors in Figure 11 indicate four disjoint paths from s to t.Each highlighted paths will have a flow of 1, making the network have a total flow of 4. Hence, the four callers can be reinforced in a single time unit.

To demonstrate that CCPH may not have a one time unit solution in a non-lgr, consider adding an extra at v5 and a request at v12 to the configuration of Figure 10.The new configuration is shown in Figure 12.

To see that in this configuration there is no one time unit solution, consider the corresponding flow network illustrated in Figure 13 with five source vertices as (sv5 * , sv9 * , sv10 * , sv13 * and sv14 * ) and five caller vertices as (cv3 * , cv4 * , cv7 * , cv8 * , cv12 * ).

The maximum flow from s to t is 4, indicating the The corresponding flow network is illustrated in Figure 11.The edges highlighted by four colors in Figure 11 indicate four disjoint paths from s to t.Each highlighted paths will have a flow of 1, making the network have a total flow of 4. Hence, the four callers can be reinforced in a single time unit.
To demonstrate that CCPH may not have a one time unit solution in a non-lgr, consider adding an extra at v5 and a request at v12 to the configuration of Figure 10.The new configuration is shown in Figure 12.
The maximum flow from s to t is 4, indicating there are four paths with a flow of 1 each.Such paths, in different colors, are illustrated by the highlighted edges in the flow network in Figure 13.Hence, at time unit t 0 , four callers at vertices v3, v7, v8, and v12 in Figure 12 are reinforced simultaneously by the extras located at v5, v10, v14, and v9, respectively.
e are four paths with a flow of 1 each.Such paths, in different colors, are illustrated by the highlighted edges in the flow network in Figure 13.Hence, at time unit t 0 , four callers at vertices v3, v7, v8, and v12 in Figure 12 are reinforced simultaneously by the extras located at v5, v10, v14, and v9, respectively.

At the beginning of t 0 + 1, the configuration is shown in Figure 14.


The Prioritized-CCPH Algorithm

Now we make two observations about the CCPH algorithm, particularly the way it is executed in each time unit.First, observe that even if an extra e is a reinforcement drone at cell c at time  unit t 0 , e can be allocated to a different caller cell, say c , at time unit t 0 .The reason is that under CPH an allocated drone does not leave its present cell until the end of the time unit in which it is allocated.In other words, e can still reinforce c and be allocat At the beginning of t 0 + 1, the configuration is shown in Figure 14.

The Prioritized-CCPH Algorithm
Now we make two observations about the CCPH algorithm, particularly the way it is executed in each time unit.First, observe that even if an extra e is a reinforcement drone at cell c at time  unit t 0 , e can be allocated to a different caller cell, say c , at time unit t 0 .The reason is that under CPH an allocated drone does not leave its present cell until the end of the time unit in which it is allocated.In other words, e can still reinforce c and be allocated to c , both in the same time unit t 0 .Thus, indeed all extras are available to be allocated to callers during a time unit.The second observation concerns the set of callers in the CCPH definition.Observe that at the beginning of each time unit, the outstanding ctl2 requests may have different ages.Namely, there may be outstanding ctl2 requests with ages 1, 2, 3, 4, . . ., k time units.Since the objective is to minimize the worst-case response time, in each time unit the oldest requests should be prioritized over younger ones.Not doing so (i.e., if a run of CCPH in a time unit considers all cells with outstanding ctl2 requests as equal-priority callers), then CCPH may allocate an extra to a cell that has an outstanding ctl2 request of age 2, and leave a cell with an outstanding ctl2 request of age 3 without an allocated extra.This will clearly increase the maximum response time.
d to c , both in the same time unit t 0 .Thus, indeed all extras are available to be allocated to callers during a time unit.The second observation concerns the set of callers in the CCPH definition.Observe that at the beginning of each time unit, the outstanding ctl2 requests may have different ages.Name y, there may be outstanding ctl2 requests with ages 1, 2, 3, 4, . . ., k time units.Since the objective is to minimize the worst-case response time, in each time unit the oldest requests should be prioritized ver younger ones.Not doing so (i.e., if a run of CCPH in a time unit considers all cells with outstanding ctl2 requests as equal-priority callers), then CCPH may allocate an extra to a cell that has an outstanding ctl2 request of age 2, and leave a cell with an outstanding ctl2 re uest of age 3 without an allocated extra.This will clearly increase the maximum response time.
22:21
To prioritize older requests, we introduce the Prioritized-CCPH algorithm, which is as follows.Assume that at time unit t 0 the sets of cells with outstanding ctl2 requests are O 1 , O 2 , . . ., O k , where O 1 is the set of cells that have outstanding requests for the l To prioritize older requests, we introduce the Prioritized-CCPH algorithm, which is as follows.Assume that at time unit t 0 the sets of cells with outstanding ctl2 requests are O 1 , O 2 , . . ., O k , where O 1 is the set of cells that have outstanding requests for the longest time, O 2 is the set of cells that have outstanding requests for the second-longest time, and so forth.Prioritized-CCPH will first attempt to maximize the number of cells in O 1 that are allocated in the current time unit by invoking CCPH with the set of callers O 1 .If following this execution of CCPH there are extras that cannot be allocated to cells in O 1 during time unit t 0 , then these extras, with their locations, are the ones considered by Prioritized-CCPH for allocation to O 2 during time unit t 0 ; the consideration is by first removing from the dual graph G D (S ) the internal nodes of the paths of the CPH executions to O 1 , and then invoking CCPH with the remaining extras and O 2 as the set of callers.Prioritized-CCPH continues in this fashion, recursively, until all extras have been allocated or O k has been considered, whichever comes first.
ngest time, O 2 is the set of cells that have outstanding requests for

he second-longest time, and so
orth.Prioritized-CCPH will first attempt to maximize the number of cells in O 1 that are allocated in the current time unit by invoking CCPH with the set of callers O 1 .If following this execution of CCPH there are extras that cannot be allocated to cells in O 1 during time unit t 0 , then these extras, with their locations, are the ones considered by Prioritized-CCPH for allocation to O 2 during time unit t 0 ; the consideration is by first removing from the dual graph G D (S ) the internal nodes of the paths of the CPH executions to O 1 , and then invoking CCPH with the remaining extras and O 2 as the set of callers.Prioritized-CCPH continues in this fashion, recursively, until all extras have been allocated or O k has been considered, whichever comes first.

In other words, in each time unit, the ages of the outstanding ctl2 requests is considered by multiple invocations of CCPH, one invocation for each age.The first invocation considers all extras and In other words, in each time unit, the ages of the outstanding ctl2 requests is considered by multiple invocations of CCPH, one invocation for each age.The first invocation considers all extras and the set O 1 as callers.Each subsequent invocation considers the remaining (i.e., un-allocated yet in previous invocations) set of extras and the set O i of next-"oldest" requests.And this sequence of CCPH algorithm invocations continues until either all extras are allocated or O k has been considered.Furthermore, observe that since all of these invocations of CCPH are computational and efficient, they are performed instantaneously at the beginning of each time unit.
the set O 1 as callers.Each subsequent invocation considers the remaining (i.e., un-allocated yet in previous invocations) set of extras and the set O i of next-"oldest" requests.And this sequence of CCPH algorithm invocations continues until either all extras are allocated or O k has been considered.Furthermore, observe that since all of these invocations of CCPH are computational and efficient, they are performed instantaneously at the beginning of each time unit.

We conjecture that optimally solving the max-CCPH problem with a prioritized set of callers (i.e., the maximum number of extras is allocated to cells in O i , subject to the maximum number of extras allocated to cells in O i−1 ) is NP-hard.The reason that the Prioritized-CCPH algorithm does not solve this problem is the following.Observe that multiple solutions to the problem of optimal allocation of extras to O 1 may exist, all of which have the same (i.e., maximum) number of allocations; however, different solutions may result in different number of possible non-interfering allocations of extras to O 2 .And Prioritized-CCPH selects a arbitrary solution to the allocation t We conjecture that optimally solving the max-CCPH problem with a prioritized set of callers (i.e., the maximum number of extras is allocated to cells in O i , subject to the maximum number of extras allocated to cells in O i−1 ) is NP-hard.The reason that the Prioritized-CCPH algorithm does not solve this problem is the following.Observe that multiple solutions to the problem of optimal allocation of extras to O 1 may exist, all of which have the same (i.e., maximum) number of allocations; however, different solutions may result in different number of possible non-interfering allocations of extras to O 2 .And Prioritized-CCPH selects a arbitrary solution to the allocation to O 1 rather than the one that will enable optimization of the allocation to O 2 .Therefore, Prioritized-CCPH is a heuristic rather than an optimal algorithm.
O 1 rather than the one that will enable optimization of the allocation to O 2 .Therefore, Prioritized-CCPH is a heuristic rather than an optimal algorithm.

In terms of the adversary, observe that Theorem 4.2 implies that if the adversary has m − 1 fake activations and the number n of extras is a constant, then the adversary can produce a Prioritized-CCPH response time of O (m).The reason is that if the fake and genuine activations are placed as in the proof of Theorem 4.2 (sufficient), then each time unit at most n fake activations are serviced, thus all the fake activations will be serviced in at least m/n = O (m) time units.


EXPERIMENTS

In this section, we In terms of the adversary, observe that Theorem 4.2 implies that if the adversary has m − 1 fake activations and the number n of extras is a constant, then the adversary can produce a Prioritized-CCPH response time of O (m).The reason is that if the fake and genuine activations are placed as in the proof of Theorem 4.2 (sufficient), then each time unit at most n fake activations are serviced, thus all the fake activations will be serviced in at least m/n = O (m) time units.

EXPERIMENTS
In this section, we provide an experimental comparison of the Shortest Path, CPH, and Prioritized-CCPH algorithms.The CPH algorithm uses a single extra per region.To evaluate scenarios with multiple extras, the Shortest Path and CPH algorithms partition the region into equal-size partitions, with a single extra servicing each partition, and the number of partitions is equal to the number of extras.The CPH algorithm that does such partitioning is called Partitioned-CPH.It provides a way of using the plain CPH algorithm when multiple extras are present.
rovide an experimental comparison of the Shortest Path, CPH, and Prioritized-CCPH algorithms.The CPH algorithm uses a single extra per region.To evaluate scenarios with multiple extras, the Shortest Path and CPH algorithms partition the region into equal-size partitions, with a single extra servicing each partition, and the number of partitions is equal to the number of extras.The CPH algorithm that does such partitioning is called Partitioned-CPH.It provides a way of using the plain CPH algorithm when multiple extras are present.

The first subsection is dedicated to the comparison of the Partitioned-CPH algorithm with the Shortest Path algorithm.In the second subsection, we compare Partitioned-CPH and Prioritized-CCPH.


Setup.

To run the comparative evaluations, we constructed a 2D grid of size C = 64 × 64.The length of each side The first subsection is dedicated to the comparison of the Partitioned-CPH algorithm with the Shortest Path algorithm.In the second subsection, we compare Partitioned-CPH and Prioritized-CCPH.

Setup.
To run the comparative evaluations, we constructed a 2D grid of size C = 64 × 64.The length of each side of a cell c i j is one unit of distance, and it takes a drone one time unit to traverse it.For example, a unit of distance may be 1 km, and a time unit may be 1 minute.Then, the speed of the drone is 60 km/hour.
of a cell c i j is one unit of distance, and it takes a drone one time unit to traverse it.For example, a unit of distance may be 1 km, and a time unit may be 1 minute.Then, the speed of the drone is 60 km/hour.

For the Shortest Path and Partitioned-CPH algorithms, we also evaluate the response times in areas of different sizes.So we divide the 64 × 64 grid into equal-size partitions.Specifically, the grid is divided into 4, 8, 16, . . ., 256 partitions, with a single extra For the Shortest Path and Partitioned-CPH algorithms, we also evaluate the response times in areas of different sizes.So we divide the 64 × 64 grid into equal-size partitions.Specifically, the grid is divided into 4, 8, 16, . . ., 256 partitions, with a single extra in each partition.For each reported value, corresponding to a particular algorithm and number of partitions (details discussed in the following), we execute 10 runs of the algorithm; each run uses a different input dataset (also defined in the following), and we report the average of their results.

each partit
on.For each reported value, corresponding to a particular algorithm and number of partitions (details discussed in the following), we execute 10 runs of the algorithm; each run uses a different input dataset (also defined in the following), and we report the average of their results.


Input Datasets for Experiments without an Adversary.

A dataset is an input to an algorithm, representing the times and locations of the ctl2 requests.Datasets were generated through a random activity generator that returns a cell id (indicating the cell that generates the r

Input Datasets for Experiments without an Adversary.
A dataset is an input to an algorithm, representing the times and locations of the ctl2 requests.Datasets were generated through a random activity generator that returns a cell id (indicating the cell that generates the request) and a timestamp (indicating the time unit when the request was generated).Each dataset is fed as the input to two runs, one run of each of the two algorithms compared.Each dataset consists of 256 timestamps, with 20 requests per timestamp, yielding a total of 256 × 20 requests per dataset.This number of requests remains the same for each dataset and for different numbers of partitions.The number of partitions corresponds to the number of extras, and it ranges from 1 to 256.This range corresponds to the single partition of 64 × 64 cells up to 256 partitions of 4 × 4 cells each.
quest) and a timestamp (indicating the time unit when the request was generated).Each dataset is fed as the input to two runs, one run of each of the two algorithms compared.Each dataset consists

f 256 t
mestamps, with 20 requests per timestamp, yielding a total of 256 × 20 requests per dataset.This number of requests remains the same for each dataset and for different numbers of partitions.The number of partitions corresponds to the number of extras, and it ranges from 1 to 256.This range corresponds to the single par ition of 64 × 64 cells up to 256 partitions of 4 × 4 cells each.

Observe that during the first 256 time units requests are being generated, but each algorithm runs until all requests are serviced, thus depending on the number of extras, it may run for many more than 256 time units.

Input Datasets for Experiments with an Adversary.These are specific to each algorithm and will be discussed in the following subsections.


Comparison of the Shortest Path and Partitioned-CPH Algorithms

First, we compare the response times of the two algorithms in an environment that Observe that during the first 256 time units requests are being generated, but each algorithm runs until all requests are serviced, thus depending on the number of extras, it may run for many more than 256 time units.
Input Datasets for Experiments with an Adversary.These are specific to each algorithm and will be discussed in the following subsections.

Comparison of the Shortest Path and Partitioned-CPH Algorithms
First, we compare the response times of the two algorithms in an environment that does not have an adversary (and thus no fake activations).Then we compare the algorithms in adversarial environments; specifically, we compare the number of fake activations that are necessary to produce given response times.

es not have an adversary (and thus no fake activation
).Then we compare the algorithms in adversarial environments; specifically, we compare the number of fake activations that are necessary to produce given response times.


Non-Adversarial Environments.

In this set of experiments, we compare the maximum response time of the Shortest Path and Partitioned-CPH algorithms for the case in which there are no fake activities.In this subsection, when multiple extras are considered, the Shortest Path and Partitioned-CPH algorithms partition the region and assign a single extra to a partition, but in Shortest Path the extra flies to the caller cells to service the requests, and Partitioned-CPH uses CPH in each partition.

The results are shown in Figure 15.It plots the maximum response time as a function of the number of partitions (with one extra per partition); the

Non-Adversarial Environments.
In this set of experiments, we compare the maximum response time of the Shortest Path and Partitioned-CPH algorithms for the case in which there are no fake activities.In this subsection, when multiple extras are considered, the Shortest Path and Partitioned-CPH algorithms partition the region and assign a single extra to a partition, but in Shortest Path the extra flies to the caller cells to service the requests, and Partitioned-CPH uses CPH in each partition.
The results are shown in Figure 15.It plots the maximum response time as a function of the number of partitions (with one extra per partition); the larger the number of partitions, the smaller the number of cells in each partition.In the Shortest Path Algorithm, with a decrease of the size of the partition, the response time decreases quadratically (see Theorem 3.1).However, in the Partitioned-CPH algorithm, the response time remains steady independently of the number of partitions.There is a slight dip going from 1 to 16 partitions for the following reason.During each time unit, 20 requests are generated, so in the case of 16 or more partitions, there will be approximately a single request per partition; regardless of the location of the extra, the response time will be 1.However, in the case of a single partition, the Partitioned-CPH response time to the last request with timestamp 1 that is serviced will be 20, the Partitioned-CPH response time to the last request with timestamp 2 that is serviced will be 39, and so on.The most significant difference between the response times of Partitioned-CPH and Shortest Path algorithms is evident at n = 1 and n = 4 (i.e., a single partition is of size 64 × 64 cells and 4 partitions of size 32 × 32 cells each).Around n = 16 (i.e., 16 partitions of size 16 × 16 cells each), the response times of the algorithms are getting closer.The reason is that as the size of the partitions decreases, the extra using the Shortest Path algorithm also reaches the cell of an outstanding request in approximately a single time unit, regardless of the extra's origin within the partition.
arger the number of partitions, the smaller the number of cells in each partition.In the Shortest Path Algorithm, with a decrease of the size of the partition, the response time decreases quadratically (see Theorem 3.1

However, in the Partitioned-CPH algorithm, the res
onse time remains steady independently of the number of partitions.There is a slight dip

ing from 1 to 16 partitions for the following reason.During eac
time unit, 20 requests are generated, so in the case of 16 or more partitions, there will be approximately a single request per partition; regardless of the location of the extra, the response time will be 1.However, in the case of a single partition, the Partitioned-CPH response time to the last request wi

timestamp 1 that is serviced
ill be 20, the Partitioned-CPH response time to the last request with timestamp 2 that is serviced will be 39, and so on.The most significant difference between the response times of Partitioned-CPH and Shortest Path algorithms is evident at n = 1 and n = 4 (i.e., a single partition is of size 64 × 64 cells and 4 partitions of size 32 × 32 cells each).Around n = 16 (i.e., 16 partitions of size 16 × 16 cells each), the response times of the algorithms are getting c oser.The reason is that as the size of the partitions decreases, the extra using the Shortest Path algorithm also reaches the cell of an outstanding request in approximately a single time unit, regardless of the extra's origin within the partition.


Adversarial Environments.

The experiments were conducted on the same 64 × 64 cells grid.For both algorithms, the adversary has a single red token (namely genuine activity) and b brown tokens (namely fake activities).The red token is placed at time unit b on the same random cell for both algorithms.For the Partitioned-CPH algorithm, the b brown tokens are placed on random cells at timestamp b − 1.

Observe that these random placements do not mean that the adversary behaves randomly.They mean that although the adversary is strategic, it does not matter where she places these tokens.Specifically, for the red token, it means that the adversary may want to place it on an arbitrary cell, thus a random one is selected.For the brown tokens, it means that regardless of where they are placed, as long as they are placed in time unit b − 1, the damage caused by the adversary (i.e., the increase in response time to the genuine activity) is maximum.

For the Shortest Path algorithm, a single brown token is placed in each timestamp (b − 1, b − 2,......,1).The token placed at time unit i (i.e., the i'th token) goes on a random inactive cell that is farthest from the cell on which the i − 1'st token is placed (randomness is due to the fact that there may be more than one inactive cell that is farthest away).This is the extension of the alternating activation pattern (defined for an lgr

Adversarial Environments.
The experiments were conducted on the same 64 × 64 cells grid.For both algorithms, the adversary has a single red token (namely genuine activity) and b brown tokens (namely fake activities).The red token is placed at time unit b on the same random cell for both algorithms.For the Partitioned-CPH algorithm, the b brown tokens are placed on random cells at timestamp b − 1.
Observe that these random placements do not mean that the adversary behaves randomly.They mean that although the adversary is strategic, it does not matter where she places these tokens.Specifically, for the red token, it means that the adversary may want to place it on an arbitrary cell, thus a random one is selected.For the brown tokens, it means that regardless of where they are placed, as long as they are placed in time unit b − 1, the damage caused by the adversary (i.e., the increase in response time to the genuine activity) is maximum.
For the Shortest Path algorithm, a single brown token is placed in each timestamp (b − 1, b − 2,......,1).The token placed at time unit i (i.e., the i'th token) goes on a random inactive cell that is farthest from the cell on which the i − 1'st token is placed (randomness is due to the fact that there may be more than one inactive cell that is farthest away).This is the extension of the alternating activation pattern (defined for an lgr in Lemma 3.2 and illustrated in Figure 2) from an lgr to a rectangular grid.Intuitively, this placement will generate the maximum "bounce around" for the extra executing the Shortest Path algorithm.

Lemma 3.2 and illustrated
in Figure 2) from an lgr to a rectangular grid.Intuitively, this placement will generate the maximum "bounce around" for the extra executing the Shortest Path algorithm.

As in the non-adversarial case, we executed 10 runs of the algorithm, with each run using a different dataset.The following results report the averages of these runs.

The results are shown in Figure 16, in As in the non-adversarial case, we executed 10 runs of the algorithm, with each run using a different dataset.The following results report the averages of these runs.
The results are shown in Figure 16, in which the y-axis represents the worst-case response time (in logarithmic scale) and the x-axis represents the number of fake activations (in exponential scale-the power of 2) that will cause the particular worst-case response time to the single genuine cell activation.The green bars correspond to the Shortest Path algorithm and the red ones to Partitioned-CPH.As can be seen, it takes significantly fewer resources for the Shortest Path algorithm to produce the same response time.As a specific example, consider the horizontal line at y = 256.With only 4 fake activations, the adversary can produce a response time of 256 time units for the Shortest Path algorithm.However, to produce the same response time for Partitioned-CPH, the adversary will need 255 fake activations (i.e., brown tokens).In sum, from the perspective of the adversary, it is much more expensive to achieve the desired worst-case response time when the system is using the Partitioned-CPH algorithm.
which the y-axis represents the worst-case response time (in logarithmic scale) and the x-axis represents the number of fake activations (in exponential scale-the power of 2) that will cause the particular worst-case response time to the single genuine cell activation.The green bars correspond to the Shortest Path algorithm and the red ones to Partitioned-CPH.As can be seen, it takes significantly fewer resources for the Shortest Path algorithm to produce the same response time.As a specific example, consider the horizontal line at y = 256.With o ly 4 fake activations, the adversary can produce a response time of 256 time units for the Shortest Path algorithm.However, to produce the same response time for Partitioned-CPH, the adversary will need 255 fake activations (i.e., brown tokens).In sum, from the perspective of the adversary, it is much more expensive to achieve the desired worst-case response time when the system is using the Partitioned-CPH algorithm.


The Prioritized-CCPH Algorithm Evaluation by Comparison with the

Partitioned-CPH Algorithm Having established the superiority of the CPH algorithm over the Shortest Path one, in this subsection we compare two variants

The Prioritized-CCPH Algorithm Evaluation by Comparison with the
Partitioned-CPH Algorithm Having established the superiority of the CPH algorithm over the Shortest Path one, in this subsection we compare two variants of the CPH algorithm: Prioritized-CCPH and Partitioned-CPH.In Prioritized-CCPH, all extras service the whole region.In contrast, in Partitioned-CPH, the region is partitioned into equal-size partitions, with a single extra servicing each partition, and the number of partitions is equal to the number of extras.
f the CPH algorithm: Prioritized-CCPH and Partitioned-CPH.In Prioritized-CCPH, all extras service the whole region.In contrast, in Partitioned-CPH, the region is partit oned into equal-size partitions, with a single extra servicing each partition, and the number of partitions is equal to the number of extras.

In the rest of this subsection, we separately consider two settings: the absence and presence of an adversary.


Non-Adversarial

Environments.The datasets used in the absence of an adversary are discussed at the beginning of Section 6, and they are the same as the ones used in the previous subsection.

Figure 17 shows the log scale plot of the average response time.Initially, there is no significant difference between Partitioned-CPH and Prioritized-CCPH-however, this is due to the much larger response time in both cases, when the number of extras is small.More specifically, we have the following observations.First, Partitioned-CPH and Prioritized-CCPH have comparative performance initially (i.e., when the number of extras is 1 and 4), and second, Prioritized-CCPH slightly outperforms Partitioned-CPH when the number of extra reaches 16.However, as the number of ext In the rest of this subsection, we separately consider two settings: the absence and presence of an adversary.

Non-Adversarial
Environments.The datasets used in the absence of an adversary are discussed at the beginning of Section 6, and they are the same as the ones used in the previous subsection.
Figure 17 shows the log scale plot of the average response time.Initially, there is no significant difference between Partitioned-CPH and Prioritized-CCPH-however, this is due to the much larger response time in both cases, when the number of extras is small.More specifically, we have the following observations.First, Partitioned-CPH and Prioritized-CCPH have comparative performance initially (i.e., when the number of extras is 1 and 4), and second, Prioritized-CCPH slightly outperforms Partitioned-CPH when the number of extra reaches 16.However, as the number of extras increases, both algorithms improve their respective performance.Third, Partitioned-CPH and Prioritized-CCPH both show a lack of a speedup as the number of extra reaches 64 and increases to 256.The reason is that the number of requests generated per time unit is 20; in the case of Prioritized-CCPH, 64 or more extras are sufficient to service these in a single time unit, even if some conflicts among CPH executions arise during the time unit.Therefore, for 64 or more extras, its curve is flat at response time 1.However, if two or more requests fall in the same partition, the single drone servicing the partition in Partitioned-CPH will not be able to service these in a single time unit (i.e., it will fall behind in servicing the requests).Thus, the Partitioned-CPH response time becomes flat at 2 for 64 or more extras.

s increases, both algorithms improve their respective performance
Third, Partitioned-CPH and Prioritized-CCPH both show a lack of a speedup as the number of extra reaches 64 and increases to 256.The reason is that the number of requests generated per time unit is 20; in the case of Prioritized-CCPH, 64 or more extras are sufficient to service these in a single time unit, even if some conflicts among CPH executions arise during the time unit.Therefore, for 64 or more extras, its curve is flat at response time 1.However, if two o more requests fall in the same partition, the single drone servicing the partition in Partitioned-CPH will not

e able to service these in a s
ngle time unit (i.e., it will fall behind in servicing the requests).Thus, the Partitioned-CPH response time becomes flat at 2 for 64 or more extras.

Complementary to the preceding, Figure 18 plots the maximum (as opposed to average) response time of the system as a function of the number of extras for the Partitioned-CPH and Prioritized-CCPH algorithms, again in a log 10 -scale.Similarly to the case for average response time, both Partitioned-CPH and Prioritized-CCPH have rather comparable performance when the number of extra drones is 1 and 4, with the Prioritized-CCPH showing a better improvement of the performance when the number of extras exceeds 4.

In general, Figure 18 shows that, unlike the case for the average response time, the performance of Prioritized-CCPH starts outperforming Partitioned-CPH after the number of extras exceeded 16.It is converging faster toward the optimal value of a single time unit response; this happens when the number of extras is ≥ 64.Again, the reason is that 64 or more extras are sufficient to service these in a single time unit, even in the worst case, and even if some conflicts among CPH executions arise during the time unit.In contrast, for Partitioned-CPH, the maximum response time is the maximum number of requests that are outstanding in a single partition, which in turn is determined by the random activity generator (see "Input datasets for experiments without an adversary").Consequently, Partitioned-CPH gradually improves its performance as the number of extras increases.The maximum response time is 10 Complementary to the preceding, Figure 18 plots the maximum (as opposed to average) response time of the system as a function of the number of extras for the Partitioned-CPH and Prioritized-CCPH algorithms, again in a log 10 -scale.Similarly to the case for average response time, both Partitioned-CPH and Prioritized-CCPH have rather comparable performance when the number of extra drones is 1 and 4, with the Prioritized-CCPH showing a better improvement of the performance when the number of extras exceeds 4.
In general, Figure 18 shows that, unlike the case for the average response time, the performance of Prioritized-CCPH starts outperforming Partitioned-CPH after the number of extras exceeded 16.It is converging faster toward the optimal value of a single time unit response; this happens when the number of extras is ≥ 64.Again, the reason is that 64 or more extras are sufficient to service these in a single time unit, even in the worst case, and even if some conflicts among CPH executions arise during the time unit.In contrast, for Partitioned-CPH, the maximum response time is the maximum number of requests that are outstanding in a single partition, which in turn is determined by the random activity generator (see "Input datasets for experiments without an adversary").Consequently, Partitioned-CPH gradually improves its performance as the number of extras increases.The maximum response time is 10 when the number of extras is 64, and it is 5 when the number of extras is 256.As a summary observation from this group of experiments, we note that when there are no adversaries, Prioritized-CCPH performs better in minimizing the average and worst-case response times.
when the number of extras is 64, and it is 5 when the number of extras is 256.As a summary observation from this group of experiments, we note that when there are no adversaries, Prioritized-CCPH performs better in minimizing the average and worst-case response times.

To further examine the impact of the size of the datasets, we have conducted additional experiments in which we have incremented the size of the geographic region four times (128 × 128) and a requests number of 520 × 20.The pictorial representa To further examine the impact of the size of the datasets, we have conducted additional experiments in which we have incremented the size of the geographic region four times (128 × 128) and a requests number of 520 × 20.The pictorial representations of average and maximum response time results for the larger-scale settings are shown in Figures 19 and 20, respectively.These figures illustrate that increasing the size of the problem increases the gap between Partitioned-CPH and Prioritized-CCPH for both average and worst case.
ions of average and maximum response time results for the larger-scale settings are shown in Figures 19 and 20, respectively.These figures illustrate that increasing the size of the problem increases the gap between Partitioned-CPH and Prioritized-CCPH for both average and worst case.


Adversarial Environments.

In this subsection, we compare the performances of Prioritized-CCPH and Partitioned-CPH with an adversary that generates fake events (i.e., brown tokens).In contrast to the previous experimental subsections, the results here are tentative in the sense that we use a heuristic for the Prioritized-CCPH worst-case scenario rather than a configuration or a sequence of configurations that guarantee a worst-case response time.In other words, a Prioritized-CCPH strategy for the adversary is the subject of future work, and this subsection provides some insights into the proposed approach.

As before, the region is a grid of size 64 × 64 cells, and we vary the number of extras (and partitions in the case of Partitioned-CPH).We assume that the adversary knows in advance the number of extras and the algorithm used (Partitioned-CPH or Prioritized-CCPH).The adversary also

Adversarial Environments.
In this subsection, we compare the performances of Prioritized-CCPH and Partitioned-CPH with an adversary that generates fake events (i.e., brown tokens).In contrast to the previous experimental subsections, the results here are tentative in the sense that we use a heuristic for the Prioritized-CCPH worst-case scenario rather than a configuration or a sequence of configurations that guarantee a worst-case response time.In other words, a Prioritized-CCPH strategy for the adversary is the subject of future work, and this subsection provides some insights into the proposed approach.
As before, the region is a grid of size 64 × 64 cells, and we vary the number of extras (and partitions in the case of Partitioned-CPH).We assume that the adversary knows in advance the number of extras and the algorithm used (Partitioned-CPH or Prioritized-CCPH).The adversary also has a target cell where she wants to plant a genuine (red) token; to maximize the response time to the genuine token, she uses fake (i.e., brown) tokens.
has a target cell where she wants to plant a genuine (red) token; to maximize the response time to the genuine token, she uses fake (i.e., brown) tokens.

An example of the adversary's behavior on the respective setup is described next:

(1) The adversary wants to delay the response time to a genuine request, д t , positioned in cell (3,4) at a timestamp t. (2) Assume that the grid is partitioned into four partitions (p1, p2, p3, p4), 32 × 32 each for Partitioned-CPH, and there are four extras.Partitioned-CPH will process reque An example of the adversary's behavior on the respective setup is described next: (1) The adversary wants to delay the response time to a genuine request, д t , positioned in cell (3,4) at a timestamp t. (2) Assume that the grid is partitioned into four partitions (p1, p2, p3, p4), 32 × 32 each for Partitioned-CPH, and there are four extras.Partitioned-CPH will process requests in each partition with a dedicated extra; in contrast, Prioritized-CCPH will process requests in the  entire region (i.e., no partitions) with each of the four extras using the Prioritized-CCPH algorithm.

s in each partition with a
dedicated extra; in contrast, Prioritized-CCPH will process requests in the  entire region (i.e., no partitions) with each of the four extras using the Prioritized-CCPH algorithm.

(3) To delay the response time to д t , the adversary will plant fake tokens before time t.The reason is that before servicing д t both algorithms, Partitioned-CPH and Prioritized-CCPH will service all requests generated before time t.(4) Assume that the system uses Partitioned-CPH.Observe that the cell (3,4) falls in partition p1.Since only the extra of p1 services requests in p1, the adversary will use (3) To delay the response time to д t , the adversary will plant fake tokens before time t.The reason is that before servicing д t both algorithms, Partitioned-CPH and Prioritized-CCPH will service all requests generated before time t.(4) Assume that the system uses Partitioned-CPH.Observe that the cell (3,4) falls in partition p1.Since only the extra of p1 services requests in p1, the adversary will use all of her brown tokens in p1.Specifically, at timestamp t − 1, all fake tokens are planted in the partition p1.To delay the response time to д t , the adversary cannot use more tokens than the number of cells in each partition.(5) Assume that the system uses Prioritized-CCPH.Consider the brown token placements and the timings of these placements, to maximize the response time to д t .The solution to this problem is left for future work, but the heuristic employed in these experiments is inspired by Figures 12 and 13.These figures indicate that the number of conflicts among CPH executions (and consequently the number of time units required to service the requests) increases if the brown tokens are clustered in one corner of the grid, and the extras are clustered in the opposite corner.In our Prioritized-CCPH experiments, this is the pattern of configurations used by the adversary to generate the worst-case response time to д t .
ll of her brown tokens in p1.Specifically, at timestamp t − 1, all fake tokens are planted in the partition p1.To delay the response time to д t , the adversary cannot use more tokens than the number of cells in each partition.(5) Assume that the system uses Prioritized-CCPH.Consider the brown token placements and the timings of these placements, to maximize the response time to д t .The solution to this problem is left for future work but the heuristic employed in these experiments is inspired by Figures 12 and 13.
hese figures indicate that the number of conflicts among CPH executions (and consequently the number of time units required to service the requests) increases if the brown tokens are clustered in one corner of the grid, and the extras are clustered in the opposite corner.In our Prioritized-CCPH experiments, this is the pattern of configurations used by the adversary to generate the worst-case response time to д t .

Figure 21 illustrates the case where the number of partitions/extras is 256.Observe that as the number of brown tokens increases, the response times of both Partitioned-CPH and Prioritized-CCPH increase, but with the same number of brown tokens, the adversary is able to generate a higher response time when Partitioned-CPH is used; the exception is the case where the adversary has 1,024 tokens.In t Figure 21 illustrates the case where the number of partitions/extras is 256.Observe that as the number of brown tokens increases, the response times of both Partitioned-CPH and Prioritized-CCPH increase, but with the same number of brown tokens, the adversary is able to generate a higher response time when Partitioned-CPH is used; the exception is the case where the adversary has 1,024 tokens.In this case, Partitioned-CPH performs better than Prioritized-CCPH.This is due to the fact that a single extra in Partitioned-CPH has to service 16 cells (its partition)-that is, an adversary can only effectively use 16 brown tokens.In contrast, when Prioritized-CCPH is used, and the adversary has a large number of brown tokens, all of them can be used.Furthermore, due to the large number of extras, there are colliding CPH paths during each time unit.

s case, Partitioned
CPH performs better than Prioritized-CCPH.This is due to the fact that a single extra in Partitioned-CPH has to service 16 cells (its partition)-that is, an adversary can only effectively use 16 brown tokens.In contrast, when Prioritized-CCPH is used, and the adversary has a large number of brown tokens, all of them can be used.Furthermore, due to the large number of extras, there are colliding CPH paths during each time unit.

An alternative way of comparing Prioritized-CCPH and Partitioned-CPH is illustrated in Figure 22.It corresponds to a setting in which we keep fixed the number of fake requests (1,024) available to the adversary and vary the number of extras.


RELATED WORK

In recent years, UAVs have gained popularity both in terms of research as well as use in various civilian and military applications [16] such as geographic area monitoring and surveying, search and rescue, and transport and target detection [27,29,30,37].In this section, we position our results in comparison to the existing ones in the literature.For clarity and conciseness, we classify the related work into three categories, discussed in the sequel in order of their relevance to our work.


Path Planning

Multiple aspects of path planning in UAV settings have been investigated in the literature, based on different paradigms: from graph-based algorithms to evolutionary algorithms and, more recently, to machine learning and AI.Different constraints have been considered such as distance cost, response time, collision avoidance, flight dynamics, and dynamic occurrence of obstacles, as well as features of the space and the target(s), including changes of the goal destination.Specifically, the problem of path planning in multi-UAV systems is addressed in the work of Moon et al. [22] by a negotiation-based algorithm such that the UAV with lowest cost (determined by distance and UAV pr An alternative way of comparing Prioritized-CCPH and Partitioned-CPH is illustrated in Figure 22.It corresponds to a setting in which we keep fixed the number of fake requests (1,024) available to the adversary and vary the number of extras.

RELATED WORK
In recent years, UAVs have gained popularity both in terms of research as well as use in various civilian and military applications [16] such as geographic area monitoring and surveying, search and rescue, and transport and target detection [27,29,30,37].In this section, we position our results in comparison to the existing ones in the literature.For clarity and conciseness, we classify the related work into three categories, discussed in the sequel in order of their relevance to our work.

Path Planning
Multiple aspects of path planning in UAV settings have been investigated in the literature, based on different paradigms: from graph-based algorithms to evolutionary algorithms and, more recently, to machine learning and AI.Different constraints have been considered such as distance cost, response time, collision avoidance, flight dynamics, and dynamic occurrence of obstacles, as well as features of the space and the target(s), including changes of the goal destination.Specifically, the problem of path planning in multi-UAV systems is addressed in the work of Moon et al. [22] by a negotiation-based algorithm such that the UAV with lowest cost (determined by distance and UAV properties) will handle a given task.The path planning and obstacle avoidance problem addressed is based on visibility and shortest principles in Euclidean space with the A * search algorithm and the potential field based trajectory planner, respectively.As mentioned in Section 3, several variants of shortest path based algorithms [8,21,23] have been used in various path-planning application domains involving UAVs.In our work, the Shortest Path approach is used to define the basic complexity bounds on the response time and to subsequently compare it with the CPH and the subsequent variants that we developed.Genetic algorithms for path planning, especially suitable for short paths, were proposed by Sahingoz [26], and particle swarm optimization for optimal selection of paths and assigning them to UAVs were considered in other works [10,41,42].Path planning for search and rescue missions was addressed by San Juan et al. [27] using different methods, such as attraction graph, fuzzy logic, the Adaptive-Network-based Fuzzy Inference System (ANFIS), and particle swarm optimization.The work estimates the degree of potential risk on geographically decomposed cells and the probability of people to be at that cell, and calculate the way-points for drone path, for minimizing the time to access high-risk areas.AI-based techniques such as neural networks and reinforcement learning have also been used for recommending a flight/path [24,33,36].Path planning for a team of homogeneous drones for the purpose of collecting data from distributed IoT sensors, and with consideration of battery-constrained limits on flight time and obstacle avoidance, was considered in the work of Bayerlein et al. [5].The work proposes a deep reinforcement learning based approach for effective communication and collaboration among drones for the purpose of dividing the data collection tasks.
perties) will handle a given task.The path planning and obstacle avoidance problem addressed is based on visibility and shortest principles in Euclidean space with the A * search algorithm and the potential field based trajectory planner, resp

tively.As men
ioned in Section 3, several variants of shortest path based algorithms [8,21,23] have been used in various path-planning application domains involving UAVs.In our work, the Shortest Path approach is used to define the basic complexity bounds on the response time and to subsequently compare it with the CPH and the subsequent variants that we developed.Genetic algorithms for path planning, especially suitable for short paths, were proposed by Sahingoz [26], and particle swarm optimization for o

imal selection
of paths and assigning them to UAVs were considered in other works [10,41,42].Path planning for search and rescue missions was addressed by San Juan et al. [27] using different methods, such as attraction graph, fuzzy logic, the Adaptive-Network-based Fuzzy Inference System (ANFIS), and particle swarm optimization.The work estimates the degree of potential risk on geographically decomposed cells and the probability of people to be at that cell, and calculate the way-points for drone path, for minimizing the time to access high-risk areas.AI-based techniques such as neural networks and reinforcement learning have also been used for recommending a flight/path [24,33,36].Path planning for a team of homogeneous drones for the purpose of collecting data from distributed IoT sensors, and with consideration of battery-constrained limits on flight time and obstacle avoidance, was considered in the work of Bayerlein et al. [5].The work proposes a deep reinforcement learning based approach for effective communication and collaboration among drones for the purpose of dividing the data collection tasks.

In a broader sense, our work is tackling problems similar to the preceding related works-that is, deriving paths to provide efficient service to areas that need an additional drone.However, we differ in two main aspects.First, although earlier works considered the partitioning of the space of interest into a grid, we propose a model that combines two types of drones servicing a geographical unit of interest (i.e., cell): allocated and extra drones.Second, we address a novel variant in which fake events may be injected and present algorithms to service the requests.To this end, we also provide a combined analysis on the impact of adversary to the delay in request(s) processing, as well as cost for the adversary to achieve a desired delay.


Task Allocation

In different applications, the tasks to be handled by a fleet of drones may vary (e.g., target detection and recognition, response to an event, search).However, they are often associated with a (known or to be determined) geo-location.The existing research focusing on collaboratively assigning drones to a particular task is based on (1) centralized approaches (e.g., [9]), which rely on a clustering algorithm and consider target appearance and re-allocation of tasks, and (2) distributed schemes (e.g., [28]), which propose a distributed sequential auction scheme to allocate tasks among UAVs such that its neighbor agents/UAVs validate the tasks.Other works have considered the joint problem of arr In a broader sense, our work is tackling problems similar to the preceding related works-that is, deriving paths to provide efficient service to areas that need an additional drone.However, we differ in two main aspects.First, although earlier works considered the partitioning of the space of interest into a grid, we propose a model that combines two types of drones servicing a geographical unit of interest (i.e., cell): allocated and extra drones.Second, we address a novel variant in which fake events may be injected and present algorithms to service the requests.To this end, we also provide a combined analysis on the impact of adversary to the delay in request(s) processing, as well as cost for the adversary to achieve a desired delay.

Task Allocation
In different applications, the tasks to be handled by a fleet of drones may vary (e.g., target detection and recognition, response to an event, search).However, they are often associated with a (known or to be determined) geo-location.The existing research focusing on collaboratively assigning drones to a particular task is based on (1) centralized approaches (e.g., [9]), which rely on a clustering algorithm and consider target appearance and re-allocation of tasks, and (2) distributed schemes (e.g., [28]), which propose a distributed sequential auction scheme to allocate tasks among UAVs such that its neighbor agents/UAVs validate the tasks.Other works have considered the joint problem of arrival of new tasks and their collaborative assigning [35,40].A comparative study of the overall performance in terms of turnaround time for catering to multiple tasks was presented in the work of Hu et al. [15], where uncertainty is also considered.The work relies on stochastic multi-criteria acceptability analysis (SMAA) to cater to multiple-attribute decision making.Closer to our work, task allocation based on partitioning the area of interest into regular grid cells is presented by Valente [30], combining various approaches in path planning for a predefined start and event of interest position based on a wavefront planner with backtracking procedure (WPBP), Harmony Search (HS), and ant colony optimization.A similar assumption (i.e., grid-based space partitioning) is made in the work of Yang et al. [36] for cooperative search to detect events of interest.
val of new tasks and their collaborative assigning [35,40].A comparative study of the overall performance in terms of turnaround time for catering to multiple tasks was presented in the work of Hu et al. [15], where uncertainty is also considered.The work relies on stochastic multi-criteria acceptability analysis (SMAA) to cater to multiple-attribute decision making.Closer to our work, task allocation based on partitioning the area of interest into regular grid cells is presented by Valente [30], combining various approaches in path planning for a predefined start and event of interest position based on a wavefront planner with backtracking procedure (WPBP), Harmony Search (HS), and ant colony optimization.A similar assumption (i.e., grid-bas

space partition
ng) is made in the work of Yang et al. [36] for cooperative search to detect events of interest.

In comparison, we do not consider the search for the events (as a variant of surveillance problem), since we assume that the responsible drone in each cell will send a ctl 2 message whenever needed.As for collaboration and decision making, in addition to a basic single extra drone (for the Naive and CPH algorithm), our model considers assignment of multiple extras per partition for CPH and finds a disjoint path for concurrent servicing of multiple ctl 2 requests.As part of our future work, we plan to extend the model so that a particular extra can cooperate in (some of) the neighboring partitions.


Communication and Security

Enabling effective communication is fundamental in collaborative settings involving both path planning and task allocation.Estimating a path toward the most "profitable" target via the Pythagorean hodograph (PH) curve was presented in the work of Yan et al. [35], where a consensus mechanism was introduced for assigning multiple drones to a particular target, and eliminating conflict among UAVs.Quality of service in terms of communication and connectivity in path planning was addressed by Hyatt et al. [13].Specifically, a multi-hop communication across multiple UAVs from the target location to a base station was proposed, catering to the need of having multiple drones available for a particular target.Communicating the collection of information from ground sensors in a minimal amount of time was addressed by Qin et al. [25].

A joint In comparison, we do not consider the search for the events (as a variant of surveillance problem), since we assume that the responsible drone in each cell will send a ctl 2 message whenever needed.As for collaboration and decision making, in addition to a basic single extra drone (for the Naive and CPH algorithm), our model considers assignment of multiple extras per partition for CPH and finds a disjoint path for concurrent servicing of multiple ctl 2 requests.As part of our future work, we plan to extend the model so that a particular extra can cooperate in (some of) the neighboring partitions.

Communication and Security
Enabling effective communication is fundamental in collaborative settings involving both path planning and task allocation.Estimating a path toward the most "profitable" target via the Pythagorean hodograph (PH) curve was presented in the work of Yan et al. [35], where a consensus mechanism was introduced for assigning multiple drones to a particular target, and eliminating conflict among UAVs.Quality of service in terms of communication and connectivity in path planning was addressed by Hyatt et al. [13].Specifically, a multi-hop communication across multiple UAVs from the target location to a base station was proposed, catering to the need of having multiple drones available for a particular target.Communicating the collection of information from ground sensors in a minimal amount of time was addressed by Qin et al. [25].
A joint minimization of energy consumption due to communication in sensor networks and use of drones to gather ground-sensed data was addressed in the work of Wang et al. [31].To reduce the energy consumption for communication among a ground-based sensor network (for tracking) and a fleet of UAVs, an algorithm based on convex optimization was presented by Zhan et al. [39].Combining energy consumption with maneuverability was addressed by Teng et al. [29], relying on particle swarm optimization to determine a most fit trajectory for surveillance.Devising an energy-efficient cooperative multi-hop relay scheme for UAVs, formulating the optimal multi-hop transmission scheduling problem to minimize the power consumption of UAVs subject to time constraints, was presented in the work of Kim and Qiao [18], where the initial formulation was mapped into a low-complex iterative algorithm.
inimization of energy consumption due to communication in sensor networks and use of drones to gather ground-sensed data was addressed in the work of Wang et al. [31].To reduce the energy consumption for communication among a ground-based sensor network (for tracking) and a fleet of UAVs, an algorithm based on convex optimization was presented by Zhan et al. [39].Combining energy consumption with maneuverability was addressed by Teng et al. [29], relying on particle swarm optimization to determine a most fit trajectory for surveillance.Devising an energy-efficient cooperative multi-hop relay scheme f

UAVs, formulating the opti
al multi-hop transmission scheduling problem to minimize the power consumption of UAVs subject to time constraints, was presented in the work of Kim and Qiao [18], where the initial formulation was mapped into a low-complex iterative algorithm.

A broad classification of attackers (noise-rich (NR), stealthy, and random) for the purpose of systematic generation of security metrics in networked environments was presented in the work of Lippmann et al. [20].In recent years, several works have addressed different facets of securityrelated issued in UAV settings [3,34].We note that many approaches from wireless sensor network settings could be readily adopted in collaborative UAV settings [11,17,43].Moreover, consistent airborne surveillance of an area by a fleet of semi-autonomous drones [4] or border surveillance by drones/quadcopt A broad classification of attackers (noise-rich (NR), stealthy, and random) for the purpose of systematic generation of security metrics in networked environments was presented in the work of Lippmann et al. [20].In recent years, several works have addressed different facets of securityrelated issued in UAV settings [3,34].We note that many approaches from wireless sensor network settings could be readily adopted in collaborative UAV settings [11,17,43].Moreover, consistent airborne surveillance of an area by a fleet of semi-autonomous drones [4] or border surveillance by drones/quadcopters aided with wireless and sensor network has been proposed [6] for tracking of the trespasser and providing the potential response to hostage situations.
rs aided with wireless and sensor network has been proposed [6] for tracking of the trespasser and providing the potential response to hostage situations.

Although we recognize the practical relevance of these kinds of works, we note that for the purpose of our problem, they are, in a sense, orthogonal.The assumptions of our model do not incorporate the issues of energy consumption and communication.However, the important aspect that separates our work is that we focus on the impact of the adversarial generation of fake events on the quality of service in collaborative drones settings, in terms of response time.Unlike other works [17,43] where the adversary has limited resources, in this work we relieve such constraints and investigate the worst-case scenario for the quality of service in terms of response time.More specifically, although we analyze the resources needed by the adv Although we recognize the practical relevance of these kinds of works, we note that for the purpose of our problem, they are, in a sense, orthogonal.The assumptions of our model do not incorporate the issues of energy consumption and communication.However, the important aspect that separates our work is that we focus on the impact of the adversarial generation of fake events on the quality of service in collaborative drones settings, in terms of response time.Unlike other works [17,43] where the adversary has limited resources, in this work we relieve such constraints and investigate the worst-case scenario for the quality of service in terms of response time.More specifically, although we analyze the resources needed by the adversary, our adversary is not limited to a spatial location and/or to limited resources (i.e., number of fake events).
rsary, our adversary is not limited to a spatial location and/or to limited resources (i.e., number of fake events).


CONCLUDING REMARKS

In this work, we considered a dense surveillance or intervention system of a region consisting of multiple cells, where each cell c is continuously monitored by a drone responsible for c.Responsible drones may request reinforcement, and initially we considered a single extra drone that provides the reinforcement in the whole region.We addressed the problems of (1) reducing the worst-case response time to a reinforcement request and (2) maximizing the adversaries' efforts to produce these in a drone system.We considered two algorithms:

(1) Shortest Path, where the extra simply flies to the cell calling for

CONCLUDING REMARKS
In this work, we considered a dense surveillance or intervention system of a region consisting of multiple cells, where each cell c is continuously monitored by a drone responsible for c.Responsible drones may request reinforcement, and initially we considered a single extra drone that provides the reinforcement in the whole region.We addressed the problems of (1) reducing the worst-case response time to a reinforcement request and (2) maximizing the adversaries' efforts to produce these in a drone system.We considered two algorithms: (1) Shortest Path, where the extra simply flies to the cell calling for reinforcement; in this case, the reinforcement time is proportional to the distance between the location of the extra and the caller cell.response time, whereas such a response time is impossible in CPH regardless of the number of fake activations.
einforcement; in this case, the reinforcement time is proportional to the distance between the location of the extra and the caller cell.response time, whereas such a response time is impossible in CPH regardless of the number of fake activations.

Then we considered multiple extras providing reinforcement in the region.We showed that in this case, CPH executions may conflict, resulting in the inability to guarantee that multiple CPH executions can complete in a single time unit.We developed an efficient algorithm, CCPH, which maximizes the number of concurrent CPH executions.Then we pointed out that since the callers are prioritized according to the time unit when their request was issued, a prioritized version of CCPH is necessary, and we extended CCPH to handle prioritized callers.

Model Variants.Let us observe that the CCPH algorithm may impro Then we considered multiple extras providing reinforcement in the region.We showed that in this case, CPH executions may conflict, resulting in the inability to guarantee that multiple CPH executions can complete in a single time unit.We developed an efficient algorithm, CCPH, which maximizes the number of concurrent CPH executions.Then we pointed out that since the callers are prioritized according to the time unit when their request was issued, a prioritized version of CCPH is necessary, and we extended CCPH to handle prioritized callers.
Model Variants.Let us observe that the CCPH algorithm may improve performance even in scenarios where there is no adversary.Consider, for example, the surveillance scenario described in the work of Hambling [12].There, as in our case, a city is divided into cells, with a drone responsible for each cell performing a surveillance function within the cell (e.g., using video analysis, the drone verifies that the COVID-19 social distancing regulations are satisfied).Drones that run out of power are replaced by fresh ones coming from a set of drone stations (and the depleted ones return to the stations).In this case, a replacement drone may fly from a drone station to the caller cell (the Shortest Path approach), or the system may use CPH from a drone station to the caller cell to deliver a replacement drone (Figure 23 presents a surveilled city with two stations).As shown in this article, CPH is more efficient.Furthermore, since multiple responsible drones may run out of power in the same time unit, the problem solved by CCPH arises-specifically, maximizing the number of concurrent CPH executions.

performance even i
scenarios where there is no adversary.Consider, for example, the surveillance scenario described in the work of Hambling [12].There, as in our case, a city is divided into cells, with a drone responsible for each cell performing a surveillance function within the cell (e.g., using video analysis, the drone verifies that the COVID-19 social distancing regulations are satisfied).Drones that run out of power are replaced by fresh ones coming from a set of drone stations (and the depleted ones return to the stations).In this case, a replacem nt drone may fly from a drone station to the caller cell (the Shortest Path approach), or the system may use CPH from a drone station to the caller cell to deliver a replacement drone (Figure 23 presents a surveilled city with two stations).As shown in this article, CPH is more efficient.Furthermore, since multiple responsible drones may run out of power in the same time unit, the problem solved by CCPH arises-specifically, maximizing the number of concurrent CPH executions.

Observe that CCPH can indeed address the Dubai model, as it assumes that at the beginning of the algorithm an origin cell holds an arbitrary number of extra drones; in the adversarial model of this work, it is only necessary that an origin cell holds one extra drone, because at most one reinforcement drone is required by each request.However, this generalization did not complicate the algo Observe that CCPH can indeed address the Dubai model, as it assumes that at the beginning of the algorithm an origin cell holds an arbitrary number of extra drones; in the adversarial model of this work, it is only necessary that an origin cell holds one extra drone, because at most one reinforcement drone is required by each request.However, this generalization did not complicate the algorithm much, and it was made with the Dubai model in mind.
ithm much, and it was made with the Dubai model in mind.

The difference between the Dubai model and ours is that here we assumed that after performing its duty in the cell for a whole time unit, the reinforcement drone becomes a floater that is available to reinforce other requests, whereas in the Dubai model the reinforcement drone becomes the responsible drone, and the responsible drone returns to the base station and is unavailable (until recharged there).However, this difference in the models does not affect the results of Section 5.It may affect the experimental results, because in the experiments we assumed that after reinforcement the extras are located at the cells they reinforced rather than at the drone stations.

3 Fig. 1 .
31
Fig. 1.Problem illustration.The figure depicts the map of Dubai, partitioned into cells.(The city will use a network of drones to respond to crime).(a) The assignment of a responsible drone to each cell (blue square) and an extra drone (yellow square).(b) The occurrence of an activity of interest, detected by the responsible drone.In response, the responsible drones The difference between the Dubai model and ours is that here we assumed that after performing its duty in the cell for a whole time unit, the reinforcement drone becomes a floater that is available to reinforce other requests, whereas in the Dubai model the reinforcement drone becomes the responsible drone, and the responsible drone returns to the base station and is unavailable (until recharged there).However, this difference in the models does not affect the results of Section 5.It may affect the experimental results, because in the experiments we assumed that after reinforcement the extras are located at the cells they reinforced rather than at the drone stations.

3 Fig. 1 .
Fig. 1.Problem illustration.The figure depicts the map of Dubai, partitioned into cells.(The city will use a network of drones to respond to crime).(a) The assignment of a responsible drone to each cell (blue square) and an extra drone (yellow square).(b) The occurrence of an activity of interest, detected by the responsible drone.In response, the responsible drones issue a reinforcement request.(c) The arrival of the extra drone to respond to the request (and manage the activity), and the simultaneous occurrence of a second activity in a different cell.(d) The arrival of the extra drone to respond to the second activity.
issue a reinforcement request.(c) The arrival of the extra drone to respond to the request (and manage the activity), and the simultaneous occurrence of a second activity in a different cell.(d) The arrival of the extra drone to respond to the second activity.


( 1 )
1
It introduces a novel model that captures the collaboration of drones in a possibly adversarial context.(2) It introduces the CPH algorithm.(3) It analyzes CPH's response time and

( 1 )
It introduces a novel model that captures the collaboration of drones in a possibly adversarial context.(2) It introduces the CPH algorithm.(3) It analyzes CPH's response time and compares it to the response time of the existing Shortest Path algorithm.(4) It analyzes the cost (in terms of fake activities) to an adversary to achieve a given response time under both algorithms.(5) It introduces an efficient algorithm, CCPH, which minimizes conflicts among concurrent CPH executions.
ompares it to the response time of the existing Shortest Path algorithm.(4) It analyzes the cost (in terms of fake activities) to an adversary to achieve a given response time under both algorithms.(5) It introduces an efficient algorithm, CCPH, which minimizes conflicts among concurrent CPH executions.


2
2



Fig. 2 .
2
Fig. 2. lgr serviced by a single extra.


Fig. 3 .
3
Fig. 3. Illustration of the CPH algorithm.


3 each 4 allocated drone d д hops to p 2 5 7 assign
3427
responsible drone in cell p i hops to cell p i+1 , fori = 2, . . ., n − 1 At the beginning of time unit t 0 + 1: 6 assign each newly arrived drone in p i , i ∈ {2, . . .n − 1} as responsible the new

3 each 4 allocated drone d д hops to p 2 5 7 assign
responsible drone in cell p i hops to cell p i+1 , fori = 2, . . ., n − 1 At the beginning of time unit t 0 + 1: 6 assign each newly arrived drone in p i , i ∈ {2, . . .n − 1} as responsible the newly arrived drone in p n (= cell c) as reinforcement y arrived drone in p n (= cell c) as reinforcement


Fig. 4 .
4
Fig. 4. Problem description on the lgr with five cells.


Fig. 5 .
5
Fig. 5. Problem description in four lgr cells.


( 1 )
1
The dual graph G (V , E) of the drone system (2) A set O ⊂ V of origin nodes (3) A set of extras divided among the nodes of O such that n v extr

Fig. 4 .
Fig. 4. Problem description on the lgr with five cells.

( 1 )
The dual graph G (V , E) of the drone system (2) A set O ⊂ V of origin nodes (3) A set of extras divided among the nodes of O such that n v extras are at node v ∈ O and every node v ∈ O has at least one extra (4) A set C ⊂ V of caller nodes, where C ∩ O is empty.
s are at node v ∈ O and every node v ∈ O has at least one extra (4) A set C ⊂ V of caller nodes, where C ∩ O is empty.


Proposition 5 . 1 .
51
Given MCC (V , E, O, C, f ) and a set P of k CPH paths, there exists a nonreducible set P of k CPH paths.


Fig. 6 .
6
Fig. 6.If the path p is the concatenation of p and p and s has enough extras, then p can be reduced by eliminating p from it.


Lemma 5 . 3 .
53
Consider two executions of CPH along two paths p1 and p2 in P, and assume that p1 and p2 have d

Proposition 5 . 1 .
Given MCC (V , E, O, C, f ) and a set P of k CPH paths, there exists a nonreducible set P of k CPH paths.

Fig. 6 .
Fig. 6.If the path p is the concatenation of p and p and s has enough extras, then p can be reduced by eliminating p from it.

Lemma 5 . 3 .
Consider two executions of CPH along two paths p1 and p2 in P, and assume that p1 and p2 have different origins.Then (A) p1 and p2 are internal node disjoint if and only if (B) p1 and p2 are CPH concurrent.Proof.(A=>B) If p1 and p2 do not intersect, clearly the CPH executions can occur concurrently, since there is at least one extra at each one of the two origins.

5 . 2
Straightforward based on Lemma 5.3.Now we define the Maximum Concurrent CPH Paths Problem (Max-CCPP): given MCC (V , E, O, C, f ), find the maximum number of paths from O to C that are CPH concurrent.

Figure 4 .
(The dual graph of the lgr in Figure 4 consists of a path from node v1 to node v5.) Lemma 5.5.(A) The Max-CCPP problem has a solution of size k for the configuration MCC (V , E, O, C, f ) if and only if (B) there exists an integer flow of size k in the flow network F corresponding to MCC (V , E, O, C, f ).

Fig. 7 .
Fig. 7. Dual graph and flow network of a four-cell lgr.

Fig. 8 .
Fig. 8.The flow network of the system in Figure 4. Arc labels indicate capacities.

Fig. 10 .
Fig. 10.Configuration in 4 × 4 cells.path is (s, sv2 * , cv3 * , and t) highlighted in blue in Figure7(b).Another path is (s, sv1 * , v2 * in , v2 * out , v3 * in , v3 * out , cv4 * , and t) highlighted in purple in Figure7(b).Now we demonstrate the CCPH algorithm on regions that are not lines.Specifically, consider the region consisting of a 4 × 4 grid such that at the beginning of time unit t 0 there are four callers at the upper right cells and four extras in lower left cells.The configuration is depicted in Figure10.The corresponding flow network is illustrated in Figure11.The edges highlighted by four colors in Figure11indicate four disjoint paths from s to t.Each highlighted paths will have a flow of 1, making the network have a total flow of 4. Hence, the four callers can be reinforced in a single time unit.To demonstrate that CCPH may not have a one time unit solution in a non-lgr, consider adding an extra at v5 and a request at v12 to the configuration of Figure10.The new configuration is shown in Figure12.To see that in this configuration there is no one time unit solution, consider the corresponding flow network illustrated in Figure13with five source vertices as (sv5 * , sv9 * , sv10 * , sv13 * and sv14 * ) and five caller vertices as (cv3 * , cv4 * , cv7 * , cv8 * , cv12 * ).The maximum flow from s to t is 4, indicating there are four paths with a flow of 1 each.Such paths, in different colors, are illustrated by the highlighted edges in the flow network in Figure13.Hence, at time unit t 0 , four callers at vertices v3, v7, v8, and v12 in Figure12are reinforced simultaneously by the extras located at v5, v10, v14, and v9, respectively.At the beginning of t 0 + 1, the configuration is shown in Figure14.

Fig. 13 .
Fig. 13.Concurrent paths addressing four requests in first time unit.

Fig. 14 .
Fig. 14.Problem description at second time unit in 4 × 4 cells after addressing four requests.

Fig. 16 .
Fig. 16.Adversary resources as a function of the maximum response time.

Table 1 .
List of Symbols