1. Introduction
Problems and advances in underwater robotics have been in the focus of specialists’ attention in recent decades [
1,
2]. These issues are also widely discussed in the modern scientific and technical literature. Significant interest in this field is explained by the fact that nowadays autonomous underwater underwater vehicles (AUVs) are used for a multitude of applications, among which are geological exploration, prospecting, and oceanographic and other kinds of works and research that are often conducted in extreme conditions. To reduce the time, such works are often carried out by a group of vehicles based on a certain multi-agent concept, which implies information exchange between the agents to coordinate joint actions. In this case, AUVs are considered as a network, in which the vehicles exchange information using underwater sonar communication [
3,
4,
5,
6,
7]. The implementation of such communication is rather problematic in view of a low speed of sound propagation in water, the frequency dependence of the attenuation coefficient of a hydroacoustic signal, multipath propagation, and signal detection under conditions of a priori uncertainty in the noise–signal environment. As a consequence, these problems lead to a significant limitation of both the rate (kilobits per second) and radius of information exchange between the AUVs. As a result, in the general case, instead of reaching the destination node directly, a message passes via a chain of relay nodes. In addition, due to the AUV mobility, the message delivery route may change following the changes in the AUV network topology. These restrictions significantly increase the requirements for organizing information exchanges. Therefore, it necessary to optimize the routes and sequences of the messages to be transmitted.
This article addresses one of the theoretical aspects of the practical developments in AUV networking carried out at the Concern CSRI Elektropribor, JSC, namely, the organization of information exchanges in an AUV network. Ways of optimizing the sequence of message transmissions, i.e., scheduling information exchanges, are proposed and discussed. The problem statement is given in
Section 1. The proposed scheduling algorithms are considered in
Section 2 and
Section 3.
2. Problem Statement
For scheduling algorithms development, we will assume that the considered network has the following properties:
The network is an undirected and connected graph;
The network is stationary [
8];
The nodes are identic and use the same operating algorithm;
Every node has information about all another nodes location;
The routing algorithm uses routing tables that are assumed to be known [
9];
The nodes emit messages periodically.
The property of stationarity provides a constant value of the intensity of the flow of information exchanges in the network. The coordinates of all network nodes are contained in routing tables, which update in the process of information interaction between network nodes. We assume that during the information exchange the devices do not move significantly, so the messages are transmitted along the planned routes and always reach the addressees. The sequence of messages transmitted by nodes includes messages generated by the node itself, as well as messages relayed from other nodes.
Generally, the order of messages transmitted by a node affects on the effectiveness of message delivery. In what follows, the criterion of efficiency is represented either by the total delivery time
of all messages from the sequence being transmitted, or the average delivery time
for messages. In this case, the delivery time
of a message at the
k-th position in the queue of the node involved is taken to mean the sum of the waiting time
in the queue of the transmitting node and the message transmission time
(from the moment the message transmission starts to the end of its reception) between the transmitting and destination nodes:
In a general case, the message does not reach the destination node directly, but through a chain of relay nodes; therefore, the message transmission route is multi-hop. Then, the message delivery time is calculated by the formula:
where
is the number of route steps for the message at the
k-th position in the queue, and
i is the number of the route step.
This expression can be represented in the following form:
While planning a multi-hop route, it is impossible to estimate in advance the size of the message queue at each of the relay nodes. Therefore, it is assumed that the waiting time in the queue at each relay node will have a maximum or minimum value. This article considers algorithms under conditions when each relay node considers the waiting time in the queue to be maximum, then instead of the message delivery time
, the upper bound on the delivery time
is estimated:
where
is the maximum of the queue length and
E is maximum message duration.
To solve the problem of optimizing information exchanges in the network of underwater vehicles in terms of reducing the message time delivery, we use the known scheduling algorithms [
10,
11,
12,
13,
14] and develop new ones, which are presented below.
3. Scheduling Unordered Messages
In the simplest case, messages to be transmitted are not pre-ordered. The scheduling algorithm for such messages uses an upper bound on the total delivery time of all messages as an optimality criterion. The expression for it is given below:
Then, we can prove the optimality of the following scheduling algorithms.
Algorithm 1 can be described by the following expression:
Algorithm 1 Scheduling unordered messages |
- 1:
. - 2:
Determine a message of minimum duration on the set of messages, which are not placed in the queue already. - 3:
Place the message determined at step 2 in the queue at the i-th position. - 4:
Exclude the message determined at step 2 from the set of unplaced ones, . If , then finish; otherwise, go to step 2.
|
If some priorities need to be set on a sequence of messages, the optimality criterion may be the upper bound for the total weighted message delivery time
:
where
is the weight of a message at the
k-th position in the queue.
Then, the optimal Algorithm 2 has the following form.
Algorithm 2 Scheduling unordered prioritised messages |
- 1:
Determine for each message the ratio of duration to weight. - 2:
. - 3:
Determine the message with the minimum duration-to-weight ratio on the set of unscheduled messages. - 4:
Place the message determined at step 3 in the queue at the i-th position. - 5:
Exclude the message determined at step 3 from the set of unplaced ones, . If , then finish; otherwise, go to step 3.
|
This algorithm can be described by the following expression:
4. Scheduling Partially Ordered Messages
Consider the situation when the messages to be transmitted are divided into p disjoint groups with a strict order of messages inside them. The size of group is . In this case, interruptions in a groups are prohibited, so the task of message scheduling is reduced to the scheduling groups of pre-ordered messages.
The optimal scheduling algorithm for these conditions with a
criterion is presented below (Algorithm 3).
Algorithm 3 Scheduling partially ordered messages with a criterion (interruptions in a groups are prohibited) |
- 1:
Calculate for each i-th group of messages the total duration :
- 2:
i := 1. - 3:
Determine the group with the minimum duration on the set of unscheduled message groups. - 4:
Place the group determined at step 3 in the queue at the i-th position. - 5:
Exclude the group determined at step 3 from the set of unplaced ones, . If , then finish; otherwise, go to step 3.
|
This algorithm can be described by the following expression:
If some priorities need to be set on a sequence of message groups, and if
is the upper bound on the delivery time for the group at the
k-th position, the optimality criterion should be minimized:
where
is the upper bound for the message group delivery time.
Algorithm 3 is transformed as follows (Algorithm 4).
Algorithm 4 Scheduling prioritised message groups with a criterion (interruptions in a groups are prohibited) |
- 1:
Calculate for each i-th group of messages the total duration , and determine for each group the ratio of duration to weight. - 2:
i := 1. - 3:
Determine the group with the minimum duration-to-weight ratio on the set of unscheduled groups. - 4:
Place the group determined at step 3 in the queue at the i-th position. - 5:
Exclude the group determined at step 3 from the set of unplaced ones, . If , then finish; otherwise, go to step 3.
|
This algorithm can be described by the following expression:
Obviously, all the results described above are also valid if the optimality criterion is represented by an upper bound of message-averaged delivery time
(Algorithms 1 and 2) or the upper bound of message group-averaged delivery time
(Algorithm 3), as well as (
2) rather than the upper bound of the total delivery time.
In some cases, it is required to use the upper bound of the message-averaged delivery time
as an optimization criterion. Then, the following optimal Algorithm 5 is true.
Algorithm 5 Scheduling partially ordered messages with a criterion (interruptions in a groups are prohibited) |
- 1:
Calculate for each i-th group of messages the total duration , and determine for each group the ratio of duration to group size . - 2:
i := 1. - 3:
Determine the group with the minimum duration-to-weight ratio on the set of unscheduled groups. - 4:
Place the group determined at step 3 in the queue at the i-th position. - 5:
Exclude the group determined at step 3 from the set of unplaced ones, . If , then finish; otherwise, go to step 3.
|
This algorithm can be described by the following expression:
Consider the situation where interrupts of message groups are allowed. For such a case, Algorithm 6 is valid.
Algorithm 6 Scheduling partially ordered messages with a criterion (interruptions in a groups are allowed) |
- 1:
The conditional upper bound of the average delivery time is calculated for each message j in the i-th group (the upper bound of the average delivery time, provided that the subgroup of messages preceding the (j + 1)-th message in the i-th group is at the beginning of the queue being scheduled):
- 2:
is calculated for each i-th group: - 3:
Group is chosen on the condition that , so that the first messages are at the beginning of the queue. - 4:
The values of are calculated without the messages that are already placed in a queue. - 5:
Steps 3 and 4 are repeated until all the messages are scheduled.
|
Example 1. Let us form queues for groups of messages . Upper bounds for message delivery times are shown in Table 1. While interrupts are prohibited, in accordance to Algorithm 5, we will compute for each group:
.
The optimal queue: .
While interrupts are allowed, we will use Algorithm 6.
We order messages in the queue in eight steps, which are shown in
Table 2.
The optimal queue: .