1. Introduction
Access networks are the last mile of the communication networks that connect the telecommunication central office (CO) to the residential or business users. Conventionally, access networks are implemented by optical technologies such as passive optical networks and wireless networks such as wireless mesh networks. While optical networks enable high-bandwidth and long distance communications, wireless technologies are used for flexibility and low bandwidth uses. However, the current trend of Internet usage involves rapid growth of users [
1], growing demands for bandwidth-intensive services, as well as the desire for flexibility (anytime-anywhere service). These complex set of requirements are accelerating the research on efficient and cost-effective access infrastructures where optical-wireless combinations are seen as a promising approach. The wireless-optical broadband-access network (WOBAN) is a novel hybrid access network paradigm with the combination of high-capacity optical backhaul and highly flexible wireless front-end that can provide higher bandwidth in a cost effective manner. In WOBAN architecture, optical fibers are provided as far as possible from the CO to the end users and wireless access is provided in the front end. Because of its excellent compromise, this WOBAN architecture enjoys low deployment costs because of lower fiber costs than traditional passive optical networks.
A WOBAN consists of a passive optical networks (PON) at the back end and a multi-hop wireless mesh networks at the front end. At the back end, optical line terminal (OLT) resides in the CO and feed to multiple optical network units (ONUs) through a traditional fiber network. Each ONU is connected to one or more wireless gateway(s) that provide the interface to a wireless mesh network comprising the wireless front end. Thus, if a mesh router needs to send a packet to the Internet, it has to send it to any one of the gateways, which is then forwarded through the optical part of the WOBAN. Since the bottleneck of communication performance, such as throughput and delay, is largely on the wireless mesh network component of the hybrid network, it is of interest to design mechanisms to maximize the throughput performance of anycasting between the wireless routers and any one of the available gateways in a WOBAN.
Co-channel interference is the main factor that reduces the network throughput in the wireless networks. To cope for this, the IEEE 802.11 standards provide multiple non-overlapping frequency channels to support multiple simultaneous transmissions in the same interference region. For example, IEEE 802.11b/g offers three non-overlapping 20 MHz channels, while IEEE 802.11a offers 24 non-overlapping 20 MHz channels and 12 non-overlapping 40 MHz channels. IEEE 802.11n and 802.11ac also provide multiple non-overlapping channels of different bandwidths.
Table 1 summarizes major IEEE 802.11 standards and their available non-overlapping channels. By exploiting the advantages of multiple channels and multiple radios, the system performance of mesh networks can be improved significantly compared to the single-channel wireless access networks [
2]. However, all of these benefits can only be achieved by applying a carefully designed channel assignment scheme so as to utilize these multiple channels and radios effectively. Moreover, since co-channel interference at a node is determined by the assignments of channels to the neighboring nodes as well as their traffic patterns, the solution to this problem involves channel assignment as well as routing. Our interest is to develop a
holistic solution that addresses the channel assignment and anycast-routing problems together for maximizing the throughput performance in the wireless mesh.
The central challenges for addressing this problem include (a) determining effective measures for estimating the route quality by accurately modeling the effects of interference in addition to route length in the wireless domain of the WOBAN, (b) using the quality measures in an anycast WOBAN where the mesh routers can reach to any of the gateways for accessing the Internet, and (c) addressing the computational complexity of solving the anycast routing and channel assignment problems together. As the proposed joint solution involves significant computation complexity, a key issue is to develop an approach that utilizes tools to reduce the computational burden for practical implementations. In this regard, our main contributions in this paper are as follows:
First, we develop a novel route quality metric that utilizes performance characteristics of data packet transmissions, and effectively captures the effects of intraflow and interflow interference.
Second, we propose a joint routing and channel assignment protocol (JRCA) that tries to maximize the overall quality of communication paths in the network by employing the developed route quality metric. For channel assignment, JRCA employs a combination of backtracking and genetic algorithm to reduce the convergence time. The distinctive aspect of this work is that the WOBAN architecture enables the gateways to collaborate with each other through the optical backbone for determining the optimum gateway and route selections for all active nodes in the network. This allows for a hybrid design approach, i.e., combination of centralized and distributed, which is distinct from those followed in (purely) wireless mesh networks.
Finally, we evaluate the performance of JRCA using extensive simulations. Performance evaluations show that, compared to a single channel scenario, JRCA improves the network throughput by up to three times, whereas reduces the traffic delay by ∼six times, with 12 orthogonal channels and four NICs per router.
The rest of the paper is organized as follows. In
Section 2, we provide a brief description of WOBAN architecture and the benefits of WOBAN compared to PON and wireless mesh networks. Next, we address the routing and channel selection problem in the wireless mesh network for a given set of ONUs and wireless mesh routers, and their locations. We also review prior work on related topics and unique challenges addressed in this work. In
Section 3, we describe the approach for developing a route quality metric that takes into account wireless interference and channel contention. Next, we explore the problem of joint routing and channel assignment scheme in a multi-channel, multi-gateway WOBAN architecture, which significantly reduces the co-channel interference and channel contention. This is presented in
Section 4. In
Section 5, we present extensive performance evaluations of our proposed routing protocols in comparison to others. Conclusions are presented in
Section 6.
4. Quality-Aware Routing and Channel Assignment in Multi-Channel Multi-Gateway WOBAN
With this, we now address the anycasting framework by considering a multi-gateway WOBAN where the wireless access network can connect to the fiber backbone through one of several gateways. As mentioned earlier, the multi-gateway WOBANs with anycast routing have several features (such as providing redundancy, reducing congestion, better utilization of network resources, etc.) that can be utilized for improving the quality of service of wireless connections. In addition to multiple gateways, the wireless routers are also equipped with multiple radio interfaces, which are capable of operating on multiple channels. However, this leads to a joint gateway selection and routing problem, which is computationally hard. In addition, the network parameters may vary over time, which increases the complexity of the problem. For instance, as illustrated in
Figure 3, a user
may be initially connected to
, which provides the best quality of service among a number of available gateway nodes in the absence of any other active node in its vicinity. However, if user
becomes active after
is connected, it may be necessary to switch
to
and connect
to
so that the two active routes do not interfere with each other and the overall performance is optimized. Such decisions depend on a number of parameters that affect the quality, which need to be evaluated at different locations and times, making the optimization difficult.
With this framework and assumptions, we next propose the routing protocol JRCA for multi-gateway, multi-channel WOBAN. Our approach for maximizing the quality metric through joint route and channel selection requires an effective representation of co-channel interference, which we model using the conflict graph. For multi-channel WOBAN, we define the route quality metric for route
R of length
v as follows:
Here, f is a link on the route from source to gateway, is the POS of link f, is the set of interferers. is the delay with and active neighbors at the sender and the receiver end, respectively. is the switching delay for an interface to switch from one channel to another and is a binary variable which is 1 when the interfaces of link f switch and 0 otherwise. For positive switching delay, this model prefers routes that avoid frequent switching of channels.
For channel assignment, we use a conflict graph to model wireless interference. We first form the conflict graph (discussed in
Section 4.1) and use a vertex coloring scheme (where colors represent channels) for channel assignment. From this point onwards, we use the word
channel and
color interchangeably. However, as the vertex coloring problem is an
NP-complete problem [
38], we apply the
genetic algorithm [
39] to solve it, which has been successfully applied to several problems to avoid a brute-force-search. We propose a novel mechanism to reduce the number of vertices on which we apply the genetic algorithm, to reduce the convergence time. This is achieved by planarizing the conflict graph using
vertex deletion (in
Section 4.2), applying backtracking to color the planar subgraph (in
Section 4.3) and then using the genetic algorithm on the vertices that are not part of planar subgraph and those that violate the interface constraint (in
Section 4.4). The details of the scheme are described in the following sections.
4.1. Conflict Graph and Planar Graph
We assume that the mesh routers in the WOBAN have identical transmission ranges, which is denoted as
R. The interference range is assumed to be
. Because of the broadcast nature of the wireless medium, the success of a transmission is greatly influenced by interferences from multiple sources. We represent such interference using
conflict graph [
40], which we describe using
Figure 4.
Definition 1 (Conflict graph)
. Each link in the connectivity graph is represented by a vertex in the conflict graph. The edges in between the vertices (say, and ) in the conflict graph represents that those links are within the interference range of each other in the connectivity graph.
We assume that a transmission from
to
is successful (in presence of RTS/CTS) if all the nodes located within
from either
or
refrain from transmission. For example, in
Figure 4,
is in the interference range of
, thus there is an edge between
and
in the conflict graph.
Our objective is to assign different channels to the vertices of the conflict graph (which are links in the connectivity graph) that interfere each others. The problem is identical to the vertex coloring problem [
41], which is defined as follows:
Definition 2 (Vertex coloring problem)
. Assume that is an undirected graph and is the set of available colors. Then, the vertex coloring of G is a mapping such that, for any two vertices x and y, if , then . Thus, the vertex coloring is the assignment of colors to the vertices such that no two adjacent vertices share the same color.
The following definitions (or theorems) are also relevant while coloring or assigning channels to the conflict graph.
Definition 3 (Planar graph)
. A planar graph [42] is a graph that can be embedded in a plane, i.e., a planar graph can be drawn in a plane such that their edges only intersect at their endpoints. The graphs that are not planar are called non-planar graphs.
Definition 4 (Four color theorem)
. All planar graphs are four colorable [43].
We therefore extract the planar subgraph of the conflict graph and then color it with four colors.
4.2. Generating the Planar Subgraph of the Conflict Graph
After constructing the conflict graph, we use
vertex deletion to get the planar subgraph of the conflict graph, which is described in Algorithm 1. We first check the planarity of the conflict graph
G in linear time by using the Boyer and Myrvold planarity test [
44]. If
G is non-planar, we generate its planar subgraph of
G as follows. The vertex with the highest degree is first removed from
G and placed in
genetic-colored-list (GCL). Then, the planarity condition is checked again on the remaining graph (lines 3–6 in Algorithm 1). This vertex deletion process is repeated until the remaining graph becomes planar. The vertices from the remaining graph are stored in a separate list called
four-colored-list (FCL). On the other hand, GCL consists of the vertices that are removed from
G to make it planar.
Algorithm 1 Function Vertex Deletion (Input graph G). |
1: | GCL = FCL = NULL; | |
2: | Sort ∈ G in decreasing order of vertex degree; | |
3: | while G ≠ PLANAR do | |
4: | G = G\, is of maximum degree in G; | ▹ Vertex with highest degree is removed from G |
5: | GCL = GCL ∪ ; | ▹ And placed in GCL |
6: | end while | |
7: | FCL = G; | ▹ Vertices of the planar graph G is stored in FCL |
8: | return GCL and FCL; | |
4.3. Our Proposed Algorithm for Coloring the Planar Subgraph
Let us denote the planar subgraph by
which consists of vertices in the FCL and their corresponding edges. According to the
Four Color Theorem,
can be colored with 4 colors. Thus, we first color
with four colors by using a
backtracking algorithm (line 4–line 23 in Algorithm 2).
Figure 5 shows the example of graph coloring using backtracking.
Let us denote the available four colors as RED, BLUE, GREEN and BLACK which are indexed as 1, 2, 3, 4, respectively, in Algorithm 2. The vertices in FCL are denoted as . Initially, all of the vertices can use any of the four colors. Without loss of generality, we start with vertex and color it RED. Because of this assignment, all the adjacent vertices of cannot use RED. Thus, and can only use BLUE, GREEN and BLACK. Assume that we proceed in this way and colors , , , and are colored with BLUE, RED, BLUE, GREEN and BLACK, respectively. Now, there is no color left for . Thus, we need to backtrack and then finally color , and with GREEN, black and GREEN, respectively, and then color with BLACK. This process guarantees a valid 4-coloring of .
This vertex coloring of the conflict graph is then translated to color the links in the connectivity graph. Assume that the number of channels used by a node and its number of interfaces are and I, respectively. If at any node, then the interface constraint is violated. In that case, we select links (which are vertices in the conflict graph) randomly around that node and add them to GCL (line 24). The GCL is next passed to the genetic algorithm (line 25).
The worst case complexity of backtracking grows exponentially with the number of vertices in the conflict graph. With four colors, the backtracking tree contains
=
vertices. However, the number of solutions for a vertex coloring problem is significantly large, thus we do not need to explore the entire backtracking tree to get one valid solution. As studied in [
45], a tree with
n vertices can be colored in
ways, whereas a cycle of
n vertices can be colored in
ways, where
t is the number of colors. As a conflict graph is composed of tree and cycles, searching a small fraction of the entire tree is sufficient to obtain a valid solution.
Algorithm 2 Algorithm for finding the color/channel assignment. |
1: | INPUT: Simple undirected graph G and the set of channels; | |
2: | OUTPUT: Color assignment of G; | |
3: | Vertex Deletion (G); | ▹ To obtain the planar subgraph |
4: | All_nodes_colored = false; | |
5: | = ; | |
6: | Color() = 0; | |
7: | while All_nodes_colored == false do | |
8: | while Color() < 4 do | |
9: | if All_nodes_colored == true then | |
10: | break; | |
11: | end if | |
12: | Color() = Color() + 1; | ▹ Color all vertices in G with at most 4 colors |
13: | if ValidColor(Color(), ) == true then | |
14: | if == then | |
15: | All_nodes_colored = true; | |
16: | else | |
17: | = ; | |
18: | Color() = 0; | |
19: | end if | |
20: | end if | |
21: | end while | |
22: | = ; | ▹ Backtrack if the vertex cannot be colored with 4 colors |
23: | end while | |
24: | GCL = GCL ∪ (vertices violating interface-constraint); | ▹ Vertices violating the interface-constraint are added to the GCL | |
25: | Perform Genetic-Algorithm(GCL); | |
26: | return G with vertex coloring; | |
The primary purpose of applying a backtracking strategy is to ensure that the genetic algorithm (which is computationally expensive) is performed on a lesser number of vertices. In our scheme, we only apply a genetic algorithm on the vertices in GCL, which is much lesser than the total number of vertices in the conflict graph and thus the genetic algorithm converges much faster. Notice that a graph is non-planar if it contains a subgraph that is a subdivision of the
complete bipartite graph or the
complete graph , which are shown in
Figure 6. In general, a complete bipartite graph
has
vertices and
edges, whereas a complete graph
has
n vertices and
edges. We use the following properties of vertex deletion to show its effectiveness in our proposed scheme.
Definition 5 (Vertex deletion)
. The non-planar vertex deletion or vertex deletion of a graph G is the smallest non-negative integer k such that the removal of k vertices from G produces the planar subgraph [46]. The vertex deletions of the complete bipartite graph and complete graph are known and can be expressed as follows: Thus, in case of a
graph, min
vertex deletions are required to make the remaining graph planar [
46]. For
, this corresponds to ∼50% of vertex deletions. Consequently, the length of GCL also reduces by ∼50% which results in reduced convergence time of the genetic algorithm. However, in case of a complete graph
,
. Thus, almost all the vertices will be added to the GCL, and the vertex deletion is less effective. However, in reality, the conflict graphs are hardly complete graphs. In that case, our proposed scheme will greatly reduce the convergence time of the genetic algorithm.
4.4. Our Proposed Genetic Algorithm for Channel Selection
Genetic algorithms are iterative optimization techniques influenced from the natural evolutionary process. In a genetic algorithm, the candidate solutions are embedded in chromosomes whose fitness values represent the quality of the corresponding solutions. The chromosomes are evolved from one generation to the other by using the survival of the fittest paradigm. In every generation, the offspring chromosomes are produced from the previous generation by using two genetic operators: crossover and mutation. The detailed description of the genetic algorithm is discussed as follows:
Genetic Representation: Let us assume that U is the number of vertices in GCL, and C is the number of available channels. We define a chromosome as a vector , where is the channel/color assigned to vertex i. For example, with , a chromosome 314,252 represents that the vertices are assigned channels respectively. We assume that there are M chromosomes in a mating pool. The initial mating pool is generated by assigning random channels in between 1 and C to the vertices of the GCL, such that the interface constraint is satisfied. The fitness value of the chromosomes are then calculated based on their quality metric with the assigned channels.
Selection and Reproduction Process: We use the well known
elitism based selection process, where the best
chromosomes from one generation are placed directly in the next generation. This ensures that the best chromosomes are preserved in the next generation. For the rest of the
chromosomes, (a) we choose
parent chromosomes using a
roulette wheel selection process (including the elitist ones), (b) which take part in crossover and mutation to generate
offspring chromosomes. We use two-point crossover as shown in
Figure 7a. The mutation is carried out with a very low probability (assume to be 1% for our simulations), where we generate two random numbers in between 1 and
U and interchange the colors of these vertices as shown in
Figure 7b. After the crossover/mutation, if the interface constraint is violated in the offspring chromosomes, we merge a few channels randomly to meet the constraint.
The selection and reproduction process is repeated until the algorithm converges. Upon convergence, the chromosome/solution with the highest fitness value is chosen. This process is repeated for all the candidate routes, and finally the route with highest fitness value/quality is selected along with its channel assignment.
We now calculate the reduction of the convergence time of the genetic algorithm achieved by reducing the vertices in GCL (as the genetic algorithm is applied only on GCL). As mentioned in [
47], the probability that the genetic algorithm converges at generation
t of chromosome length
l is given by
where
is the initial frequency of the allele and
M is the population size (
mating pool size). Assume a scenario where
and
. Now, to obtain 90% probability of convergence (i.e.,
), a genetic algorithm takes 522 generations to converge with 200 bit chromosomes (i.e.,
). However, reducing the chromosome length by 50% (i.e.,
) ensures the algorithm to converge after 176 generations, which is about three times faster.
4.5. Complexity of the Proposed Channel Assignment Scheme
The average case complexity of the proposed channel assignment scheme is discussed as follows:
Conflict graph formation: If there are m edges in the connectivity graph, i.e., m vertices in the conflict graph, then, for any two of the m vertices, we need to check whether they are in the interfere each other or not. Thus, the conflict graph formation takes time.
Vertex deletion: Next, we to calculate the complexity of vertex deletion. First, we need to sort
m vertices based on their degree; this sorting takes
time. After that, for
vertices, we need to check whether the deletion of that vertex makes the remaining graph planar or not. Checking of the planarity condition takes
time based on a Boyer–Myrvold planarity test [
44]. Thus, the total complexity of vertex deletion takes
=
time.
Backtracking: The next stage is backtracking; for that, we need to visit
nodes on average based on [
48] where
k is the number of colors and
n is the number of vertices in the planar subgraph. As in our case
, the backtracking takes
times on average.
Genetic algorithm: Finally, we need to calculate the average complexity of genetic algorithm. First, let us calculate the number of generations the genetic algorithm takes to converge. If the expected number of generations is then, from Equation (6), we get . In each generation, it performs crossover and mutation that takes and time, respectively, where U is the number of vertices in GCL. Thus, the average time complexity of genetic algorithm is given by .
Thus, the average complexity of channel assignment scheme is given by = .
4.6. JRCA Routing Protocol
The detailed JRCA routing protocol can be illustrated by the following set of actions. JRCA is a reactive routing protocol that tries to maximize the packet delivery ratio while reducing the end-to-end latency [
2].
Route Discovery: In JRCA, when a source router does not have a route to any destination (or gateway), it broadcasts a route request packet (RREQ) to its neighbors. The RREQ contains the following key fields:
〈RREQ ID, destination address, source address, number of active neighbors of the sender (A), accumulated POS on the current route (), accumulated delay in the current route (), timestamp〉
These quantities A, , and the timestamp are initialized at the source router: A is initialized to the number of active neighbors of the source, and are set to 1 and 0, respectively, and the timestamp is set to the time when the RREQ packet is generated. Every intermediate node updates the accumulated delay and POS based on the number of active neighbors of the previous node and its active interferers before forwarding it. The RREQ ID combined with the source address uniquely identifies a route request. This is required to ensure that the intermediate nodes rebroadcast a route request only once in order to avoid broadcast storms. If an intermediate node receives a RREQ more than once, it discards it. All intermediate nodes follow the same principle and forward the RREQ until it reaches the gateways. The timestamp is used to avoid the unnecessary flooding of RREQ packets.
Route Selection: The destinations (gateways) wait for the first RREQ packets, which is assumed to be 10 in our simulations. Then, they (a) run backtracking and genetic algorithm on all the routes carried by the RREQ packets, (b) collaborate with each other and (c) choose the routes and channels that maximizes route quality Q. The node locations and their neighborhood information are used while calculating Q. After choosing the route with highest Q, the gateway that receives the best route (carried by RREQ) forwards a route reply packet (RREP) back on the same route. The RREP packet contains the following key fields:
〈source address, destination address, assigned channels of the interfaces, timestamp〉
The intermediate nodes (a) forward the RREP back to the source in the reverse path, (b) perform channel switching if required (conveyed in the RREP packet), and (c) update their routing table entry. The source after receiving the RREP starts sending the data packets via this route.
Route Maintenance: If a routing table entry is not used for a long time, that entry is erased. This is required to make the scheme robust against the temporal variation of the wireless channels. Thus, after a long time, if a source router needs a route to the gateway, it starts a new route discovery to find a good quality route.
In JRCA, we assume a dedicated control channel on which all nodes assign a NIC. This is the
default channel which is mainly used to send RREQ and RREP packets. Other interfaces are switched between different data channels for data transmission. The overall scheme of JRCA is depicted in
Figure 8.