Our heuristic mechanism has two main components: the heuristic cluster formation algorithm and the energy state decision algorithm. The clustering algorithm creates the AP clusters based on their neighborhood in order to guarantee the network coverage area to the clients. The energy state decision algorithm provides the energy state of all APs for a specific time slot and date based on the machine learning occupancy predictions and clusters. In the following sections, we detail the heuristic cluster formation algorithm and the energy state decision algorithm and its challenges.
3.4.1. Heuristic Cluster Formation: cSCIFI and cSCIFI+
Jardsoh et al. [
2] proposed a clustering algorithm called green clustering. The idea behind the green clustering algorithm is to create clusters of
APs that are in proximity of each other. Several
APs in a large wireless network have overlapping coverage areas in order to cope with higher user demand. Those
APs are in a spatially neighboring condition that allows one of them to provide coverage to the users of all
APs in its vicinity. Therefore it is possible to create clusters of neighboring
APs where any user within the cluster coverage is able to connect to the network as long as at least one
AP in the cluster is turned on. We propose two heuristic cluster formation algorithms, cSCIFI (cluster SCIFI) and cSCIFI+ (cluster SCIFI+). Those clustering algorithms are based on the green clustering algorithm of Jardsoh et al. [
2]. However, we introduced some basic changes to improve the cSCIFI and cSCIFI+ clustering formation process.
Our clustering algorithms need two input features to work: the neighborhood list and the
AP statistics. To create a neighborhood list, we need to define the vicinity criteria. Only
APs that are considered neighbors can belong to the same cluster. Jardsoh et al. [
2,
6] have used the spatial distance between
APs and the median number of beacon messages and the median signal strength of the beacons as vicinity criteria. In our cSCIFI and cSCIFI+ algorithms, we are going to use the
APs’ signal quality scan to define our vicinity criterion. The SCIFI network periodically runs a signal quality scan that informs the different signal quality values received from the other
APs that a certain
AP has scanned. The signal quality is a measurement that goes from 0 to 100 and takes into consideration the Received Signal Strength Indication (RSSI) and other network parameters. We considered
APs with a measured signal quality above 50 to be neighbors. Therefore, the neighbors of an
AP are: (i) the
APs on the same side of the building and floor; (ii) the
APs that are in rooms directly above and below (e.g., neighbors to the
AP in room 303 are the
APs in rooms 403 and 203). With the established vicinity criteria, we can determine which
APs are neighbors and create a neighborhood set list for each
AP.
We describe our cluster formation algorithms as follows. Consider as the neighborhood set of , C as our cluster set, and as the cluster formed starting from . In our cSCIFI clustering algorithm, we first start by selecting with the biggest neighborhood set, forming a new cluster and adding to its newly formed cluster . When is added to its cluster , the cSCIFI algorithm also removes from all other AP neighborhood sets and update their number of neighbors. Then, the algorithm steps through all the APs in neighborhood set and adds that has the biggest neighborhood set, as long as every new added to is in the neighborhood set of all other APs already included in . We call this the neighboring condition. As long as has APs on its neighborhood set that satisfy the neighboring condition, those APs are added to cluster and removed from the other AP neighborhood sets.
When there are no more APs in the neighborhood set or there are no more APs that satisfy the neighboring condition, the algorithm moves to the next AP with the biggest neighbor set and continues the cluster formation until there are no more APs left and the cluster set C is finished.
Algorithm 1 shows the cSCIFI cluster function code, where we can see that every
AP will only be in one cluster and that every
AP is on the vicinity of all other
APs inside its cluster. The neighboring condition (line 5) allows any user in the cluster coverage area to connect to any of the powered-on
APs, since they are all each other’s neighbors.
Algorithm 1 cSCIFI |
1: function Create_Cluster_cSCIFI (Cluster_Head, Cluster_head_list_of_neighbors): |
2: Cluster_auxiliary_list = [Cluster_Head] |
3: sort APs in Cluster_head_list_of_neighbors according with the number of |
neighbors in their neighborhood list |
4: for AP in Cluster_head_list_of_neighbors: |
5: if AP in neighborhood list of all Cluster_auxiliary_list elements: |
6: add AP to Cluster_auxiliary_list |
7: remove AP from neighborhood list of all APs |
8: return Cluster_auxiliary_list |
cSCIFI+ is simpler and more aggressive than cSCIFI. The cSCIFI+ clustering algorithm works like the cSCIFI, but now the APs added to a certain cluster do not need to cope with the neighboring condition. In cSCIFI+, all neighbors in the neighborhood AP set are added to cluster .
cSCIFI+ guarantees that the size of cluster set
C will be the smallest possible. However, users from a switched-off
AP in the cluster can only connect to
that initiated that cluster. Considering the clusters formed with cSCIFI, users from any
AP can connect to other
APs in that cluster, which might balance the load between the switched-on
APs. Algorithm 2 shows the cSCIFI+ cluster function code, where we can see that only the
AP that initiated the cluster formation can assure connection to all users from switched-off
APs, which may sometimes cause congestion.
Algorithm 2 cSCIFI+ |
1: function Create_Cluster_cSCIFI+ (Cluster_Head, Cluster_head_list_of_neighbors): |
2: Cluster_auxiliary_list = [Cluster_Head] |
3: for AP in Cluster_head_list_of_neighbors: |
4: add AP to Cluster_auxiliary_list |
5: remove AP from neighborhood list of all APs |
6: return Cluster_auxiliary_list |
The cSCIFI and cSCIFI+ greedy algorithms alone cannot guarantee that the best cluster set is formed in cases where there is a tie between APs. A solution would be creating all cluster possibilities, choosing each one of the tied APs as the first choice. After creating all possible sets C, we would select the one that has the minimum number of clusters. Those multiple cluster sets creation can cause a exponential growth in the execution time. Trying to minimize those problems, we simplified the cSCIFI and cSCIFI+ selection in cases of ties. The cSCIFI and cSCIFI+ will only create multiple cluster sets when there are ties between APs that will be selected to initiate a cluster formation. This selection criteria will guarantee that only different clusters initiation will be taken into relevance and not all possible cluster internal formations, which will minimize the possible solution set.
In the cSCIFI algorithm, we also added another selection criterion for cases where there are ties between APs to be added to cluster where an has already initiated it. In those cases, with the highest number of neighbors in the neighborhood set is selected. APs with the same number of neighbors in their sets can generate different clusters, since some of their neighbors might not be in neighborhood set . Therefore, in cases of ties, it is the best option to select that has the biggest number of matching neighbors to the APs in the neighborhood set . This change in the internal cluster formation process guarantees that the next APs to be added will be the ones that will contribute to a bigger cluster size.
Those characteristics cited previously minimizes the execution time and guarantee that a possible cluster set
C will be selected independent of their appearances on the cluster neighborhood list. This is an important advantage to our clustering algorithms when compared to the green clustering algorithm proposed by Jardosh et al. [
2], since we do not need to worry about the
AP order of appearance in the neighborhood list construction process.
The last characteristic of our clustering algorithms is the cluster head election. The cluster head is the AP that will be always switched on and will be responsible for guaranteeing the cluster coverage area. In cSCIFI+, the cluster head will always be the one that initiated the cluster formation. This AP is the only AP that can be the cluster head, since this is the only AP that has a guaranteed neighboring condition to all other APs in the cluster. On the other hand, the election of the clusters head in the cSCIFI algorithm can be more sophisticated since all APs in the clusters obey the neighboring condition. In clusters formed with cSCIFI, the cluster head will change throughout the day using the statistics of the APs. In those clusters, the average association of each AP is calculated for the night (0 a.m.–7 a.m.), morning (7 a.m.–1 p.m.) and afternoon/evening (1 p.m.–11 p.m. 59′) periods. The AP with the highest night average association will be selected to be the cluster head for the night period and so on.
3.4.2. Energy State Decision Algorithm
The energy state decision algorithm is responsible for providing the energy scheduling of all APs for a date. It runs once a day and uses the traffic demand estimated by the hybrid machine learning model (the user association number in our SCIFI network scenario) to calculate the cluster demand for specific moments of a day and then decide which APs in a cluster can be switched off. The energy state decision algorithm is the last step on the eSCIFI energy saving mechanism, and it is responsible for actively deciding which APs will be switched on or off and to provide the energy scheduling to the SCIFI controller. The SCIFI controller, based on this energy scheduling, will then control the AP wireless interface switching on and off for the specified periods.
Our energy state decision algorithm uses the RoD policy proposed in the work of Dalmasso et al. [
8]. However, our energy state decision algorithm works using machine learning occupancy estimations instead of real traffic data and therefore presents some modification in the RoD policy design. This RoD policy has two main components: the time window and the double threshold criteria. The time window defines how long it will take before the algorithm reconfigures the
AP’s energy state. The time window size
informs on which frequency the network will be reconfigured and also the demand estimation resolution. A small time window will allow the energy state decision algorithm to perceive short bursts in the traffic demand variations. On the other hand, a large time window will only perceive the average traffic where instant or momentarily bursts in the traffic demand will fade. At first, a smaller time window size seems always the best choice, however a smaller time window size means more rounds of energy state decisions will have to be made by the algorithm and that the controller will have to reconfigure the network more frequently. Related work [
3,
8,
12,
14,
24] state that small time window sizes are not necessary. In fact, depending on the network traffic profile, those changes in the traffic demand can take hours to happen. Therefore, the selection of the time window size is a parameter that needs to be decided based on the network scenario. In
Section 4.1, we will deeply discuss the selection of the time window size.
The main concept behind our energy saving strategy is moving the traffic demand from switched off
APs to the cluster head
AP or other switched on
APs in the cluster that can handle them. In the work of Damalso et al. [
8], the
APs in a cluster can be switched off based on the actual traffic demand (real time traffic data) at the beginning of each time window. However, the eSCIFI mechanism uses machine learning models to estimate demand. Therefore, in our energy decision algorithm, the decisions made for each time window will take into consideration the demand estimated for its whole duration and not just the demand at the beginning of the time window.
All APs in the network have the same maximum user threshold for a time window. This maximum user threshold defines how much traffic (or how much associations in our case) the APs can handle for the duration of the time window. The cluster head of every cluster will always be switched on guaranteeing a traffic capacity of for the cluster. In our energy state decision algorithm, the double threshold criteria defines which APs in a cluster can be switched off based on the traffic demand estimated by the machine learning hybrid model for the assessed time window. However, this energy state decision algorithm varies depending whether cSCIFI or cSCIFI+ algorithms are used.
In the cSCIFI algorithm, all
APs in a cluster are neighbors between themselves. Therefore, in the cSCIFI case, the double threshold criteria defines that
APs with estimated traffic demand below a minimum threshold
for the whole time window are switched off as long as the available traffic capacity provided by all
APs that are switched on can handle their estimated traffic. Considering
as the traffic demand of
for a time window,
d as the number of switched on
APs,
o as the number of switched off
APs,
as the traffic demand of all
d switched on
APs and
as the traffic demand of all
o switched off
APs, we can define how our energy state decision algorithm decides if an
will be switched off based on the double threshold criteria if the cSCIFI algorithm is used. Equation (2) shows the double threshold criteria, where the first criterion defines if the traffic demand is too low for the
to be switched on and the second criterion defines if the cluster switched-on
APs can handle the
traffic. If there are more
d switched-on
APs in the cluster, the cluster maximum traffic capacity
increases to
because cSCIFI guarantees that all
APs inside a cluster can provide connection to any mobile station trying to connect to any
AP in the cluster.
On the other hand, in cSCIFI+, all
APs in a cluster are neighbors only of the cluster head. Therefore,
APs with estimated traffic demand below a minimum threshold
for the whole time window are switched off as long as the available traffic capacity provided by the cluster head can handle their estimated traffic. Equation (3) shows the double threshold criteria if cSCIFI+ is used, where the first criterion defines if the traffic demand is too low for
to be switched on and the second criterion defines if the cluster head can handle the
traffic. In cSCIFI+, the cluster maximum traffic capacity
is fixed to
because cSCIFI+ guarantees that only the cluster head can provide connection to any mobile station trying to connect to any
AP in the cluster, except the
AP itself.
eSCIFI has several parameters that must be configured and that may depend on the network usage profile, such as the selection of the time window size and
value. In the next section, we evaluate how the different components in the eSCIFI architecture affect the mechanism energy saving capacity and the network coverage to its users. We also compare eSCIFI to other related work about energy saving mechanisms that are applicable in our evaluation scenario.