Keywords

1 Introduction

In all of human history, Information Technology (IT) has brought a tremendous change in our lives especially the introduction WMNs in places such as offices, campuses, government institutions, military bases, etc. Consequently, WMNs have become increasingly popular in recent years. This is primarily because of their availability of resources and services. Currently, there are three types of WMN topologies which are known as infrastructure\backbone, client and hybrid. WMNs consist of Mesh Routers (MRs), Mesh Clients (MCs), and Mesh Gateways (MGs). In most cases, each MR has limited mobility which eventually forms a multi-hop wireless mesh backbone between MCs and MGs [1]. The responsibility of MRs is to interconnect other nodes in the network. On the other hand, MGs provide access to the internet and/or other networks. The research in [2] stated the attractive qualities of WMNs as low-cost deployment, robustness and its inheritance of useful characteristics from both the ad-hoc networking paradigm and traditional wired infrastructure paradigm.

However, the work in [3] analysed and discussed service discovery as a challenge in WMNs. Service discovery refers to the process whereby devices whether mobile or stationary are able to discover appropriate services as requested by users without any intervention [4]. It consists of three components, known as services, service registries, and clients. The work in [5] defined a service as any tangible or intangible facility a device provides to other devices that can be useful. Furthermore, there are two types of services, known as software and hardware services. On the other hand, service registries are entities to store information about available services. Clients represent both service receivers and service providers. They provide services to other clients or discover services from other clients.

Currently, there are three types of service discovery approaches for flooding information to the network. These are known as directory-based, non-directory based, and hybrid approaches. The most suitable one for WMNs is the directory-based approach. However, recent approaches perform broadcasting or multicasting for flooding messages in the network which leads to network overhead [3]. On the other hand, users continue to join WMNs, which has led to a competition of available services and resources. This further leads to clogging [4]. In this paper therefore, we present a Priority-based Service Discovery Model (PSDM) that optimizes the performance of WMNs and eradicates the various gaps available in the existing models. We have incorporated Particle Swarm Optimization (PSO) and Ant Colony Optimization (ACO) algorithms. PSO algorithm is used to define and prioritize services supported by the network. On the other hand, ACO is used to choose the shortest path whenever each transmitter has to be searched to identify if it possesses the requested service. We have demonstrated that our model provides the throughput of 80%, service availability of 96% in some instances, and an average delay of 1.8 ms.

The remainder of this paper is organized as follows: In Sect. 2, related is presented. In Sect. 3, we provide an overview of PSO and ACO algorithms. In Sect. 4, we present the system design and architecture. In Sect. 5, we present system implementation. In Sect. 6, we present simulation results and discussions. Finally, we present conclusion and future in Sect. 7.

2 Related Work

Over the past few years a lot of work has been presented in the field of service discovery in computer networks. However, most of the models were designed for home or enterprise environments [3, 6,7,8]. Additionally, other models were developed for Mobile ad-hoc Networks (MANETs) wherein the focus is energy consumption and message dissemination. Consequently, these models do not scale well in WMNs [6, 7]. This is because in MANETs flooding techniques are applied as there are no dedicated servers [6]. This leads to network overhead. Additionally, flooding of query messages consumes a lot of bandwidth, computation and battery resources [9].

A service discovery model that assured certain levels of QoS was presented in [3]. In the model, a combination of Fisheye State Routing (FSR) and Optimized Link State Routing (OLSR) were used to minimize flooding and broadcasting of packets. Also, the model used Normalized Link Failure Frequency (NLFF) metric to randomly select backbone nodes as service directories based on the networks’ stability constraints. This reduced network load and power consumption; reasonable mean time delay, great average hit ratio. However, factors such as service response and availability were not considered.

An Ant Colony based-multi constraints QoS aware service selection (QSS) model was developed in [10]. In the model, services were discovered based on a defined metric developed to guide ants regarding the shortest path between the source and destination. The metric guides the ants to choose a cost effective path in the presence of constraints such as delay, jitter, and service availability. The model increased service availability and reduced end-to-end delay as compared to other models.

A FLEXIble Mesh Service Discovery (FLEXI-MSD) model was developed in [6]. The model used OLSR and Domain Name System Service Discovery (DNS-SD). OLSR helped in finding routes. DNS-SD provided an opportunity to discover a list of named instances of the requested service by using standard DNS-messages. The model realized that an adaptive (hybrid) service discovery mechanism which switches between ad-hoc and supernode-based backbone system outperforms a static operation mode system. This was because WMNs vary in network stability, device capabilities and different mobility patterns.

Unfortunately, various existing models were more concerned about energy consumption and message dissemination. Additionally, these models applied flooding and broadcasting approach which led to network overhead. Furthermore, in these models, services were not given different priorities in order to improve QoS. On the other hand, there was no maximum number of receivers to be given access to services. These challenges led to poor QoS.

3 Overview of ACO and PSO Algorithms

As discussed in [11], PSO algorithm was proposed for the optimization of continuous nonlinear functions. PSO defines three behaviours of flocks in swarm: cohesion – sticking together, separation – do not come too close and alignment – follow the general heading of the flock. The implementation of PSO algorithm was based on two paradigms that are known as one globally oriented (GBEST) and one locally oriented (LBEST). The PSO algorithm can also be used to solve same kinds of problems as Genetic Algorithms (GAs). However, it has memory which GAs do not have [11].

On the other hand, ACO algorithm was proposed as a multi-agent approach to difficult combinatorial optimization problems such as the traveling salesman problem (TSP) and the quadratic assignment problem (QAP) [12]. The ACO algorithm is based on the cooperative behaviour of real time ant colonies, which are able to find the shortest path from their nest to a food source.

The benefits of PSO is that it is based on intelligence and it can be applied into both scientific research and engineering use [13]. On the other hand, ACO provides positive feedback accounts for rapid discovery of good solutions [13].

4 System Design and Architecture

In general, WMNs can be mathematically modelled by a directed graph which can be represented by \( G = (V, E) \) wherein \( V = (v_{1} ,v_{2} , \ldots ,v_{n} ) \) represents the number of mesh nodes (both routers and gateways) in the network. Whereas, \( E = (e_{1} ,e_{2} , \ldots ,e_{n} ) \) represents the number of both wired and wireless links for communication within and outside the network i.e., internet. MGs are used for the internet or outside communications. As a result, amongst the V nodes, J would represent the MGs. Therefore \( \left| V \right| - J \) would be regarded as ordinary MRs. This is because MRs could also provide routing capability for gateway/bridge functions.

As illustrated in Fig. 1, each MR relays data traffic across the network (between MCs and to the internet via MGs in a single hop or multi-hop manner. MCs may be any end-user i.e., desktop computers, laptops, PDAs, mobile phones, etc., sharing services in the network. In this work, MCs are representing both service requesters and providers. Therefore, it is very crucial that service requesters get access to available services without any obstruction. As a result, service requesters expect the network to have n services available thus \( s = (s_{1} ,s_{2} , \ldots , s_{n} ) \) whereby s represents each service and \( s_{n} \in s\, {\text{and}} \,n = 1,2,3, \ldots , \infty \). Additionally, different services have varied workflow procedures, which can be represented by \( s_{n} > s_{n - 1} > s_{n - 2} > \ldots > s_{1} \) during service discovery in the network.

Fig. 1.
figure 1

WMNs system architecture.

Based on Fig. 1, the proposed architecture has been set up through pooling together various components such as Layer 3 switch, secured MG, server, and wireless MRs. The network consists of 3 MRs interconnecting the clients to the network. These 3 MRs are connected to the Layer 3 switch, which represents the transmitter and works at a distribution layer of the network. The transmitter provides centralized network management and configurations. Also, it interconnects MRs, server, and internet. Its’ responsibility is to provide the communication between service transmitters and receivers. The advantage is that it incorporates routing and bridging simultaneously. Also, it has multiple Ethernet interfaces, easier to configure, able to handle large amount of traffic, and less expensive as compared to other routers. Furthermore, it supports advanced QoS features which include prioritization, classification, policing, marking, queuing, and scheduling of packets. Hence, it is responsible for the prioritization of services according to their varied workflow procedures. We also included a secured MG, which is statistically configured with an Internet Protocol (IP) address. The MG connects to remote sites and\or other networks. Also, we have a server that has been configured with a static IP address, which is used as a Domain Name System (DNS) address. The server hosts files, databases, configurations and security. Additionally, the server stores information about available services. Moreover, we have statistically configured the MRs with unique IP address. Lastly, MCs have been configured with dynamic IP addresses using Dynamic Host Configuration Protocol (DHCP).

5 System Implementation

The goal of the proposed PSDM is to reduce clogging as it leads to link congestions, data collisions, interferences, etc. The proposed PSDM is based on two theories, known as, PSO proposed in [11] and ACO proposed in [12].

We initially determine and define numbers of Transmitters, \( {\text{T}}_{\text{x}} \) and Receivers,\( {\text{R}}_{\text{x}} \) in the wireless network as given by Eq. (1).

$$ {\text{R}}_{\text{x}} \ge {\text{T}}_{\text{x}} . $$
(1)

We then define and prioritize service receivers, r, and transmitters, t, in the network using PSO algorithm as given by Eq. (2).

$$ \begin{aligned} {\text{X}}_{\text{r}}^{\text{l}} \le {\text{X}}_{\text{r}} \le {\text{X}}_{\text{r}}^{\text{u}} \quad \forall {\text{r}} .\hfill \\ {\text{X}}_{\text{t}}^{\text{l}} \le {\text{X}}_{\text{t}} \le {\text{X}}_{\text{t}}^{\text{u}} \quad \forall {\text{t}} .\hfill \\ \end{aligned} $$
(2)

Where: X represent the priority given to each service transmitter and receiver. But L and U represent the least and highest priority for each service transmitters and receivers.

Therefore, each receiver must be a member of a given transmitter; this is represented by Eq. (3):

$$ {\text{r}}_{\text{n}} \in {\text{t}} . $$
(3)

We then define and prioritize services supported by the network using PSO algorithm as given by Eq. (4).

$$ {\text{X}}_{\text{s}}^{\text{l}} \le {\text{X}}_{\text{s}} \le {\text{X}}_{\text{s}}^{\text{u}} \quad \forall {\text{s}} . $$
(4)

Where: X represents the priority given to each service. But L and U represent the least and highest priority for each service.

Each transmitter and receiver must be able to receive or send a service request or acknowledgement. This is represented by:

$$ {\text{s}}_{\text{n}} \exists {\text{t }}\& {\text{s}}_{\text{n}} \exists {\text{r}} . $$
(5)

Thereafter, we make sure that during service requesting by receivers, a single receiver cannot request for more services than what is within the network.

Also, we make sure that a shortest path is chosen when each transmitter has to be searched to identify if it possess the requested service. ACO algorithm is used in aiding this, in which:

$$ {\text{P}}_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }}^{{\left( {\text{r}} \right)}} = \left\{ {\begin{array}{*{20}l} {\frac{{\uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }}^{ \propto } }}{{\mathop \sum \nolimits_{{{\text{t}}_{\text{n}} \in {\text{N}}_{{{\text{t}}_{1} }}^{{({\text{r}})}} }}\uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }}^{ \propto } }}} \hfill & {{\text{if}}\, {\text{t}}_{\text{n}} \in {\text{N}}_{{{\text{t}}_{1} }}^{{({\text{r}})}} } \hfill \\ 0 \hfill & {{\text{if}}\, {\text{t}}_{\text{n}} {\nexists }{\text{N}}_{{{\text{t}}_{1} }}^{{({\text{r}})}} } \hfill \\ \end{array} } \right.. $$
(6)

Any receiver/requester, r, located at transmitter t 1 , uses pheromone trail \( \uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }}^{ \propto } \). to compute the probability, P, of choosing t n as the next transmitter. While \( \propto \) denotes the degree of importance of the pheromones and \( {\text{N}}_{{{\text{t}}_{1} }}^{{({\text{r}})}} \) indicates the set of neighbourhood transmitters of receiver when located at transmitter \( {\text{t}}_{1} \). The neighbourhood of transmitter \( {\text{t}}_{1} \) contains all the transmitters directly connected to transmitter \( {\text{t}}_{1} \) except the predecessor transmitter. This limits the receiver from returning to the same transmitter visited immediately before transmitter \( {\text{t}}_{1} \). A given receiver travels from one transmitter to the next in search of services.

Before returning to the home transmitter, the nth receiver deposits \( {\Delta \tau }^{\text{r}} \) of pheromone on arcs it has visited. The pheromone value \( \uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }} \) on the arc (t1, tn) traversed is updated as follows:

$$ \uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }} \leftarrow \tau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }} + \Delta\uptau^{{({\text{r}})}} . $$
(7)

Therefore, because of the increase in the pheromone, the probability of this arc being selected by the forthcoming receivers in the network increases.

Whenever a receiver moves to the next transmitter in search of services, the pheromone evaporates from all the arcs according to the relation:

$$ \uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }} \leftarrow \left( {1 - {\text{p}}} \right)\uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }} ; \forall ({\text{t}}_{1} ,{\text{t}}_{\text{n}} ) \in {\text{A}} . $$
(8)

Where: \( {\text{p}} \in (0,1) \) is a parameter and A denotes the segments/arcs travelled by receiver, r in its path from home to destination. A decrease in pheromone intensity favours the exploration of different paths during the search process. This in return favours elimination of poor choices made in the path selection. Iteration, therefore, is a complete cycle involving receiver’s movement, pheromone evaporation and pheromone deposit.

After all the receivers have returned to the home transmitter, the pheromone information is updated using the relation:

$$ \uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }} = \left( {1 - {\text{p}}} \right)\uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }} + \mathop \sum \limits_{{{\text{r}} = 1}}^{\text{N}} \Delta\uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }}^{{({\text{r}})}} . $$
(9)

Where: \( {\text{p}} \in (0,1) \) represents the evaporation rate (pheromone decay factor) and \( \Delta\uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }}^{{({\text{r}})}} \) is the amount of pheromone deposited on arc \( {\text{t}}_{1} {\text{t}}_{\text{n}} \) by the best receiver.

The major goal of pheromone update is to increase the pheromone value associated with good or promising paths. The pheromone deposited on arc \( {\text{t}}_{1} {\text{t}}_{\text{n}} \) by the best receiver is:

$$ \Delta\uptau_{{{\text{t}}_{1} {\text{t}}_{\text{n}} }}^{{({\text{r}})}} = \frac{\text{Q}}{{{\text{L}}_{\text{r}} }}. $$
(10)

Where: Q represents a constant and L r is the length of the path travelled by the receiver.

However, for every service request, a maximum of 5 receivers are allowed to request services simultaneously and then leaves the media for the next receivers.

figure a

The above iterations are repeated until all the receivers in the network get their requests submitted to the available services.

Finally, a maximum of ten services, in priority order, can be requested at any particular time by the receivers. This aids in reducing link congestions, data collisions, and interferences, which increases service discovery throughput, service availability, and reduces service discovery delay.

6 Performance Analysis

We performed the simulations in NS-2, using a developed model of IEEE 802_11b/g. We had 30 mobile nodes (service receivers) randomly placed in a network and numbered 13–43. Also, we had 3 \( {\text{T}}_{\text{x}} \) (s) labelled Transmitter and each with 600 m coverage area. Furthermore, we also had 10 services labelled with service names such as Voice-on-Demand, etc. These services were randomly placed nearby each \( {\text{T}}_{\text{x}} \). We ran the simulations for 100 s. The simulation parameters are given in Table 1.

Table 1. Simulation parameters.

We evaluated the proposed PSDM against QSS and FLEXI-MSD models. The two models were chosen mainly because QSS support the shortest path communication between sources and destinations. On the other hand, FLEXI-MSD supports DNS-SD, which offers an opportunity to discover a list of named instances of the requested service by using standard DNS-messages. However, both QSS and FLEXI-MSD models did not have a definite number of receivers to be given access to services, which leads to clogging. Additionally, both QSS and FLEXI-MSD models did not give different priorities to different services in order to guarantee a certain level of performance to data flows during service discovery. Furthermore, FLEXI-MSD did not support the shortest path communication between two nodes which resulted to service discovery delays.

The performance metrics considered include:

  1. (1)

    Throughput – the amount of requests that can be transmitted in a given time.

  2. (2)

    Service availability – the availability of services during service discovery.

  3. (3)

    Delay – measurement of the delay it takes a request to reach its destination.

Throughput

Looking at Fig. 2, we realized an improved throughput in PSDM as compared to QSS and FLEXI-MSD models. This is because PSDM permits a maximum number of receivers to requests services simultaneously and then leaves the media for the next receivers. Additionally, PSDM permits a maximum number of services, in priority order, to be requested at a time which reduces link congestions, data collisions, interferences, etc. This resulted to an improved average throughput.

Fig. 2.
figure 2

Average throughput.

Service Availability

On the other hand, we realized that PSDM outperforms QSS and FLEXI-MSD models. However, as shown in Fig. 3, we observed service availability rate dropping in some instances. The is primarily because PSDM applied a queuing mechanism whereby a maximum number of receivers are given access to request available services simultaneously and then leaves the media for the next receivers. This was meant for reducing factors such as link congestion, which affects QoS.

Fig. 3.
figure 3

Average service availability.

Service Discovery Delay

Looking at Fig. 4, PSDM reduced service discovery delay as compared to QSS and FLEXI-MSD models. Therefore, the proposed model outperforms both QSS and FLEXI_MSD models. This is because PSDM permits a maximum number of receivers to requests services simultaneously and then leaves the media for the next receivers. This is meant for collision reduction in order to minimize delay.

Fig. 4.
figure 4

Average delay.

7 Conclusion and Future Work

In this paper, we presented the design and implementation of the proposed PSDM that optimizes the performance of service discovery in WMNs. This model relies on PSO and ACO in order to reduce link congestions, data collisions, interferences, etc. We have used PSO algorithm in order to define and prioritize services in the network. This was done to provide different priorities to services in order to guarantee a certain level of performance to data flow during service discovery. On the other hand, we have used ACO algorithm in order to choose the shortest path when each transmitter has to be searched to identify if it possess the requested service. The results demonstrated that the proposed PSDM improved throughput, service availability, also reduced average delay than QSS and FLEXI-MSD. This further led to an improved QoS.

The possible future direction of this work will be considering Accelerated Particle Swarm Optimization (APSO) algorithm for the prioritization of services. Additionally, we will also focus on security issues during service discovery in WMNs. Finally, we recommend these finding for enterprise telecommunication and networking industries.