The main goal of the randomized greedy algorithm RG-SBRA is to schedule and coordinate the tearing down and setting up of links during the reconfiguration process in order to transition from the initial topology (
) to the final topology (
) by deciding: (i) how long to maintain each initial link, (ii) how soon to establish each final link, and (iii) whether and when to establish intermediate temporary links. This involves coordinating the rotation of all associated interfaces to ensure feasibility of the link and antenna rotation schedule. RG-SBRA sequentially selects links to maintain/establish during the reconfiguration from a sorted list of candidate links according to a randomized greedy function. Candidate links are ranked according to different attributes and associated weights. The set of attributes defined for all possible links
between interfaces is outlined in
Table 2 and described below.
4.1.1. Link Attributes
:
This attribute represents the earliest time slot in which link could be established. If the link is part of the initial topology ( = 1) it can be active from the first time slot. Otherwise, is calculated from the minimal angular distance (whether clockwise or counterclockwise) between the initial position of each interface (, ) to their required positions in the considered link (, ). These values are calculated in multiples of to give the number of time slots required to rotate each interface accordingly. Since the link can only be established after both interfaces are aligned, the larger of the two rotation times determines the attribute value. If one or both interfaces of the potential link are part of intermediate links which have already been selected by the algorithm, then this attribute must consider the time the interfaces will be “occupied” by the intermediate link(s) and the number of time slots required to rotate from their position in the intermediate link to their final position. Since it is desirable to select links with faster set-up times, the attribute values are calculated as negative, and then normalized to range [0,1] such that links which take the longest to be established have a value of 0 and links which can be set up immediately have a value of 1.
:
This attribute calculates the maximum number of time slots link could be active, if it is established. It is desirable to establish links which can be active for a longer period of time, particularly if they are transitional intermediate links for temporarily forwarding user traffic when existing links are torn down and are rotating towards their final positions. If the link is part of the final topology, or neither interface is part of a final topology link, then is simply calculated as the total number of time slots (T) subtracted by the link establishment time (from ). However, if one or both of the interfaces belong to other links in the final topology, the link can only be active until these interfaces have to start rotating towards their final positions. Thus, is calculated as the total number of time slots (T) subtracted by the link establishment time (from ) and the time required to rotate the interface(s) from their angular position(s) in to their final position(s) in the target topology. The values are then normalized to range [0,1].
:
This attribute is equal to indicating whether the link is part of the initial topology. Maintaining some initial links active for longer is desirable to avoid abrupt packet loss as those links can still serve traffic while other interfaces are rotating to establish intermediate or final topology links.
:
This attribute is is equal to indicating whether the link is part of the final topology. Establishing final links as soon as possible is desirable since these links ultimately lead to zero packet loss.
:
This attribute reflects link utilization in the initial topology and is meant to avoid simultaneously tearing down heavily loaded initial links. To calculate this attribute, the Packet Loss LP (see
Section 4.1.3) is solved for the initial topology (
) and only a single time slot to determine the data rates on each link in time slot 1 (
). If the link is part of the initial topology (
),
is calculated as the data rate on the link in the first time slot (
) divided by the maximum achievable data rate (
). It is considered desirable to maintain the most heavily loaded links from the initial topology as long as possible to avoid causing abrupt high packet loss during the reconfiguration. Conversely, if one or both interfaces of link
are associated with other links in the initial topology, the attribute is calculated the negative sum of the link utilization on the respective links. The motivation is that establishing a link which would tear down one or two heavily loaded links is not considered desirable. All values are then normalized to range [0,1].
:
This attribute reflects the link utilization in the final topology. The motivation for this attribute is that it is considered desirable to establish the most heavily loaded links from the final topology as soon as possible. To calculate this attribute, the Packet Loss LP (see
Section 4.1.3) is solved for the final topology (
) and a single time slot to determine the data rates on each link (
) in time slot
T. If the link is part of the final topology (
), then
is calculated as the data rate on the link in time slot
T (
) divided by the maximum achievable data rate (
) giving a value in [0,1]. Links which are not part of the final topology have a value of 0 for this attribute.
:
This attribute describes the number of interfaces of link which are free in the initial topology, where is 0 if neither interface is free, 0.5 if one interface is free, and 1 i both interfaces are free. If both interfaces are free in the initial topology, establishing a link between the involved nodes does not imply tearing down other links and is, thus, more desirable. Note, if the link itself is part of the initial topology, this attribute still takes on a value of 0 even though no links are torn down. Favoring links which are part of the initial topology is already reflected in attribute (and indirectly with attributes and ).
4.1.2. RG-SBRA Pseudocode
The pseudocode of RG-SBRA pseudo-code is given in Algorithm 1 and detailed below. RG-SBRA first sets the values of all output variables to 0 (line 2) and creates a list of all possible links between interfaces based on LOS feasibility (
) and time constraints (lines 4–5). The list includes all links from the initial and final topologies and all feasible potential temporary links. Temporary link
is only included if it is feasible (
= 1) and has sufficient time to be established and maintained for at least 1 time slot (
). Also, if a link exists in the initial and/or final topology between nodes
n and
, but uses a different pair of interfaces,
is not included in the list. Note, links are considered symmetric, that is,
and
represent the same link. Each link is assigned a score based on its attributes (
) and associated weights (
) (line 6).
Algorithm 1: The Pseudo Code of RG-SBRA |
|
While the list of possible links is not empty, the algorithm selects a link randomly among the top scored links (line 10). Note, parameter can be set to 1 for a pure greedy approach, or >1 for a randomized greedy approach. Link is then established as soon as possible and maintained active for as long as possible which defines the values for , as well as associated rotation values , , and for . (line 11). The selected link can be either (i) an initial topology link, (ii) a final topology link, or (iii) an intermediate link. If the link is an initial topology link, it is active in time slot 1 and remains active either for the entire reconfiguration period, if its interfaces are not involved in any links in the target topology, or until the latest time slot before at least one of its interfaces must start rotating towards its final position. If the link is a final topology link, the link is established as soon as both interfaces can be aligned and it remains active for the rest of the reconfiguration time period. If the link is an intermediate link, the link is established as soon as both interfaces can be aligned and remains active until at least one of its interfaces has to start rotating towards its final position.
Link is then removed from the set of possible links, along with the initial and intermediate links which contain interfaces or as they can no longer be selected (line 12). Attributes and of final links containing interfaces or are updated and their scores are recalculated (line 13). The process is then repeated for as long as there are possible links available. Once the evolution of wireless topologies () is determined as outlined above (all links are defined over all time slots), the associated data rates and packet loss in each time slot is calculated optimally using the Packet Loss LP described in the next subsection (line 15). The final solution of RG-SBRA is returned in terms of the set of active wireless links, the rotation movements of all interfaces over time, data rates and total packet loss.
4.1.3. Packet Loss LP
To determine the data rates and packet loss for a given evolution of wireless links (
) and a set of traffic demands (
), we solve an LP adapted from the flow conservation constraints of the MILP formulations given in [
14,
25]. The input parameters are
,
,
,
,
,
,
, as well as the topologies
for all time slots
, which were found in the randomized greedy phase of RG-SBRA. The decision variables are
,
,
(See
Table 1 for full description).
The constraint in (
2) ensures that ingress rates are non-negative, and that in (
3) ensures that the total ingress rate can not exceed the total demand of all the nodes in N. Constraint (
4) ensures that the link rate is non-negative and does not exceed the maximum achievable data rate. Constraints (
5) and (
6) are the flow conservation constraints at non-gateway and gateway nodes, respectively. At non-gateway nodes, incoming traffic arrives on active links in each time slot, part of which serves the traffic demand of the node while the rest transits the node as outgoing traffic on active links. The difference between the incoming and outgoing traffic rates on the links is that which serves the traffic demand of the node (
). If this difference is equal to the traffic demand, then the demand can be served in entirety. However, if this difference is less than the traffic demand at the node, only part of the demand can be met while the rest represents the loss rate at the node (
). This is described by flow conservation Constraint (
5) which indicates that for non-gateway nodes, the total input traffic rate and packet loss rate must be equal to the total output rate and traffic demand of the node. For gateway nodes
, the incoming traffic rate also includes the rate at which traffic is injected from the core into the into the backhaul network at the node (
) as given in constraint (
6). Finally, constraint (
7) ensures that the loss rate of each node during each time slot is non-negative and does not exceed its total traffic demand.
4.1.4. Example
We illustrate the calculation of link attributes and the possible link list in RG-SBRA on a small example given in
Figure 3. Note, in this example there are 2 gateway nodes and only 2 non-gateway nodes for simplicity. In a realistic scenario, the ratio of non-gateway to gateway nodes would be significantly higher and multihop backhaul paths would be formed. We assume a large granularity of
for easier calculation and illustration of interface positions (the initial angular positions of all interfaces are shown) and assume
reconfiguration time slots. Furthermore, all node pairs can establish a link, except node pair
, that is,
. The date rates hypothetically solved by the Packet Loss LP (
) and maximal achievable data rates (
) on each link in the initial and final topology are also shown in parentheses.
Table 3 gives the attributes for all possible links and shows the link score assuming all weights are equal
. For example, let us consider link
. To establish the link, interface
is already in position, but interface
would have to rotate 2 positions counterclockwise, and could thus be established at the earliest in time slot
. After calculating all the values for all links as negative and normalizing them to interval [0,1], the value for
. To see how long the link could be active,
, we must consider that interface
is part of a final topology link
, and would need 2 time slots to rotate from its position in link
to its final position in link
. Thus,
, giving a value of 0 after normalization (i.e., it is one of the links which can be active for the shortest number of time slots). Attributes
and
are equal to zero as the link is neither an initial nor final topology link. Attribute
is calculated as the negative link utilization of link
which is
(0.23 after normalization). Attribute
, as it is not a final topology link and
since only interface
is free in the initial topology.
Figure 4 illustrates the evolution of the possible link list and link selection in the RG-SBRA algorithm for different values of
. In the pure greedy approach (
) shown in
Figure 4a, the highest scored link is chosen in each step. In the first step, initial link
is chosen, and it is established as active in all time slots. Thus, other links using interfaces
or
are removed from the list. In the second step, initial link
is chosen and can also be established for all time slots as its interfaces are not used in the final topology. In the third step, intermediate link
is selected and established in time slot
(it requires 1 time slot to align) and can be active until the end of the reconfiguration period. Lastly, final link
is chosen and starts rotating immediately to its position. As it needs 4 time slots to rotate interface
into position, it can be active starting from time slot
. We can see that the algorithm creates a smooth transition by maintaining initial links and establishing an intermediate link early on in the reconfiguration period to serve traffic while final link
is aligning.
In the randomized greedy example with
shown in
Figure 4b, the algorithm randomly chooses one of the 3 top scored links in each step, for example links
,
,
and
. In this scenario, intermediate link
is established, instead of
. Since interface
is part of a final link, this intermediate link can only be active from time slot
when it can be established, until time slot
as interface
needs one time slot to rotate to its final position in link
. Note, the score of final link
must be updated after step 3 as it cannot be activated until the final time slot
.